CN107085570B - 数据处理方法、应用服务器和路由器 - Google Patents
数据处理方法、应用服务器和路由器 Download PDFInfo
- Publication number
- CN107085570B CN107085570B CN201610084423.5A CN201610084423A CN107085570B CN 107085570 B CN107085570 B CN 107085570B CN 201610084423 A CN201610084423 A CN 201610084423A CN 107085570 B CN107085570 B CN 107085570B
- Authority
- CN
- China
- Prior art keywords
- application server
- data
- data table
- business object
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种数据处理方法、应用服务器和路由器。本发明的数据处理方法可包括:应用服务器接收业务对象创建请求消息;业务对象创建请求消息包括业务对象的类型;应用服务器根据业务对象的类型确定业务对象对应的逻辑分区编码;应用服务器生成业务对象的至少一个数据表;其中,每个数据表的主键包括业务对象对应的逻辑分区编码,业务对象对应的逻辑分区编码与数据库对应。本发明实施例可提高数据处理的效率,提高数据处理可实现的业务功能的性能。
Description
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种数据处理方法、应用服务器和路由器。
背景技术
随着互联网应用的广泛普及,越来越大的数据存储量和访问量,使得数据库中存储的数据量越来越大,数据库的访问压力越来越大,即数据访问请求量越来越大。海量的数据访问请求,使得数据库所在的计算机的负载较高,这给包括该数据库所在计算机的业务系统的稳定性和扩展性造成很大的问题。
对于一个业务应用的数据库可以位于一个计算机上,可以通过将该一个业务应用的数据库通过水平分库,划分为该一个业务应用的多个数据库,该多个数据库可分别位于不同的计算机上,从而降低单个计算机的负载,降低单个计算机由于超负载宕机带来的损伤。对于该一个业务应用的数据处理,可以是由应用服务器将数据访问请求发送至路由器中,由该路由器确定该数据访问请求路由对应的数据库,并将该数据访问请求发送至该数据访问请求对应的数据库所在的计算机的处理器,由该处理器根据该数据访问请求进行处理。该应用服务器可以是根据该数据访问请求中包括的分库字段,将该数据访问请求路由至该分库字段对应的数据库上。也就是说,该数据处理方法中,无论是数据访问请求还是数据表中都必须具有分库字段,该应用服务器才可进行路由。为简化该数据处理方法,可将数据表的主键作为分库字段。若对一个业务应用的业务对象进行数据处理,则可根据该业务对象的数据表的主键确定对应的数据库,继而进行数据处理。
然而,一个业务对象可具有多个数据表,不同数据表的主键不同,不同的分库字段可对应不同的数据库,若将数据表的主键作为分库字段,可使得一个业务对象的不同数据表对应的数据库不同。若对一个业务对象进行数据处理,可能存在多个数据库的跨库处理,使得数据处理的效率较低,从而降低数据处理所实现的业务功能的性能。
发明内容
本发明实施例提供一种数据处理方法、应用服务器和路由器,以提高数据处理的效率,提高业务功能的性能。
本发明实施例提供一种数据处理方法,包括:
应用服务器接收业务对象创建请求消息;业务对象创建请求消息包括业务对象的类型;
应用服务器根据业务对象的类型确定业务对象对应的逻辑分区编码;
应用服务器生成业务对象的至少一个数据表;其中,每个数据表的主键包括业务对象对应的逻辑分区编码,业务对象对应的逻辑分区编码与数据库对应。
本发明实施例提供的该数据处理方法中,由于每个数据表的主键均包括该业务对象对应的逻辑分区编码,该业务对象对应的逻辑分区编码可与数据库对应,因而,该业务对象的所有数据表可对应同一个数据库,对该业务对象进行数据处理的过程中,不会存在多个数据库的跨库处理,提高数据处理的效率,提高数据处理可实现的业务功能的性能。
并且,该每个数据表的主键均包括该业务对象对应的逻辑分区编码,该业务对象对应的逻辑分区编码可与数据库对应,因而对该业务对象的数据表所记录的数据进行访问时,无需在数据访问请求消息以及数据库的数据表中添加额外的分库字段,可简化业务功能的实现过程,从而简化业务功能的开发和维护,降低业务功能的开发和维护成本。
可选的,应用服务器根据业务对象的类型确定业务对象对应的逻辑编码,包括:
应用服务器根据业务对象的类型以及预设的业务对象类型与分库字段的对应关系,确定业务对象对应的分库字段;
应用服务器根据业务对象对应的分库字段确定业务对象对应的逻辑分区编码。
可选的,应用服务器生成业务对象的至少一个数据表,包括:
应用服务器生成数据表的序列值,序列值用于唯一的标识一个数据表中的一条记录;
应用服务器将序列值与业务对象对应的逻辑分区编码进行组合;
应用服务器创建以序列值与业务对象对应的逻辑分区编码的组合为主键的所述数据表。
可选的,至少一个数据表包括业务对象的主表和关系子表;该方法还可包括:
应用服务器在生成关系子表的过程中,在关系子表的外键中加入业务对象对应的逻辑分区编码。
可选的,加入逻辑分区编码的外键为关系子表中用于指向关系子表的父表的外键。
本发明实施例还提供一种数据处理方法,包括:
路由器接收应用服务器发送的数据访问请求消息;数据访问请求消息以业务对象的数据表中的主键为访问条件;主键包括业务对象对应的逻辑分区编码和用于唯一的标识数据表中的记录的序列值;
路由器从主键中拆分出逻辑分区编码,根据逻辑分区编码确定数据表所在的数据库;
路由器将数据访问请求消息发送至数据表所在的数据库,对序列值所标识的记录进行访问。
本发明实施例提供的该数据处理方法中,无需在数据访问请求消息以及数据库的数据表中添加额外的分库字段,可简化业务功能的实现过程,从而简化业务功能的开发和维护,降低业务功能的开发和维护成本。
可选的,路由器根据逻辑分区编码确定数据表所在的数据库,可以包括:
路由器根据逻辑分区编码,和,预设的逻辑分区编码与数据库的对应关系,确定数据表所在的数据库。
可选的,数据访问请求消息还包括访问类型;访问类型包括数据查询、数据修改和/或数据删除。
可选的,数据访问请求消息为结构化查询语言SQL语句的访问请求消息。
本发明实施例还提供一种应用服务器,包括:
接收模块,用于接收业务对象创建请求消息;业务对象创建请求消息包括业务对象的类型;
确定模块,用于根据业务对象的类型确定业务对象对应的逻辑分区编码;
生成模块,用于生成业务对象的至少一个数据表;其中,每个数据表的主键包括:业务对象对应的逻辑分区编码,业务对象对应的逻辑分区编码与数据库对应。
可选的,确定模块,还用于根据业务对象的类型以及预设的业务对象类型与分库字段的对应关系,确定业务对象对应的分库字段;根据业务对象对应的分库字段确定业务对象对应的逻辑分区编码。
可选的,生成模块,还用于生成数据表的序列值,序列值用于唯一的标识一个数据表中的一条记录;将序列值与业务对象对应的逻辑分区编码进行组合;创建以序列值与业务对象对应的逻辑分区编码的组合为主键的所述数据表。
可选的,至少一个数据表包括所述业务对象的主表和关系子表;
生成模块,还用于在生成关系子表的过程中,在关系子表的外键中加入业务对象对应的逻辑分区编码。
本发明实施例还提供一种路由器,包括:
接收模块,用于接收应用服务器发送的数据访问请求消息;数据访问请求消息以业务对象的数据表中的主键为访问条件;主键包括业务对象对应的逻辑分区编码和用于唯一的标识数据表中的记录的序列值;
确定模块,用于从主键中拆分出逻辑分区编码,根据逻辑分区编码确定数据表所在的数据库;
发送模块,用于将数据访问请求消息发送至数据表所在的数据库,对序列值所标识的记录进行访问。
可选的,确定模块,还用于根据逻辑分区编码,和,预设的逻辑分区编码与数据库的对应关系,确定数据表所在的数据库。
本发明实施例还提供一种应用服务器,包括处理器、存储器、通信接口和总线;其中,处理器与存储器、通信接口通过总线连接;
存储器用于存储指令;
处理器用于执行指令,当处理器执行存储器存储的指令时,使得处理器执行上述应用服务器执行的任一数据处理方法。
本发明实施例还提供一种路由器,包括:处理器、存储器、通信接口和总线;其中,处理器与存储器、通信接口通过总线连接;
存储器用于存储指令;
处理器用于执行指令,当处理器执行存储器存储的指令时,使得处理器执行上述路由器所执行的任一数据处理方法。
本发明实施例提供一种数据处理方法、应用服务器和路由器,应用服务器可根据接收到的业务对象创建请求消息中的该业务对象的类型确定该业务对象对应的逻辑分区编码,并生成该业务对象的至少一个数据表的主键,其中,该每个数据表的主键可包括该业务对象对应的逻辑分区编码,该业务对象对应的逻辑分区编码与数据库对应。本发明实施例的数据处理方法中,由于业务对象的每个数据表的主键均包括该业务对象对应的逻辑分区编码,该业务对象对应的逻辑分区编码可与数据库对应,因而,该业务对象的所有数据表可对应同一个数据库,对该业务对象进行数据处理的过程中,不会存在多个数据库的跨库处理,提高数据处理的效率,提高数据处理可实现的业务功能的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明各实施例所适用的网络系统的架构图;
图2为本发明实施例一提供的一种数据处理方法的流程图;
图3为本发明实施例二中业务对象的数据表的示意图;
图4为本发明实施例二提供的另一种数据处理方法的流程图;
图5为本发明实施例三提供的一种应用服务器的结构示意图;
图6为本发明实施例四提供的一种路由器的结构示意图;
图7为本发明实施例五提供的一种应用服务器的结构示意图;
图8为本发明实施例六提供的一种路由器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明各实施例提供的数据处理方法适用于对业务系统中的业务应用的数据进行处理。该业务应用的数据可以为该业务应用的业务对象的数据表中的数据,该业务对象的数据表可位于数据库中。一个业务应用可包括至少一个业务对象,每个业务对象可包括至少一个数据表。图1为本发明各实施例所适用的网络系统的架构图。如图1所示,本发明各实施例适用的网络系统中可包括应用服务器101、路由器102和存储设备103。每个存储设备103包括至少一个数据库。该存储设备103可以是计算机设备。该应用服务器101中可包括对象关系映射(Object/Relation Mapping,简称ORM)中间件,用以实现对象与关系数据的映射。其中,该对象和该关系数据为业务实体的不同表现形式,该业务实体在内存中的表现为对象,该业务实体在数据库中表现为关系数据。该路由器102可以与应用服务器101分别位于独立的物理设备中。该路由器102与该应用服务器101可作为一个物理设备中的两个独立的处理模块。该路由器102可以为为分库路由处理层中的设备。其中,该路由器102可以为与该应用服务器101连接。该路由器102还可与该至少一个存储设备103连接。
图2为本发明实施例一提供的一种数据处理方法的流程图。该方法可由如上所述的图1中的应用服务器101执行。如图2所示,该方法可包括:
S201、应用服务器接收业务对象创建请求消息;该业务对象创建请求消息包括:业务对象的类型。
具体地,该业务对象创建请求消息可以为一个业务应用的一个业务对象对应的创建请求消息。该业务对象可以为与该业务应用的一个业务功能对应的业务对象。该业务对象创建请求消息中还可包括:该业务对象的属性信息。举例来说,该业务对象的类型例如可以为学生,该业务对象的属性信息例如可以为成绩、班级、学号等信息。
S202、该应用服务器根据该业务对象的类型确定该业务对象对应的逻辑分区编码。
具体地,不同类型的业务对象,业务对象的类型不同,则不同类型的业务对象对应的逻辑分区编码也不同。
其中,逻辑分区编码可以按预先定义的分库字段进行划分。举例来说,分库字段可以为一级分库字段,该预设的分库字段与逻辑分区编码的对应关系例如可以为如下表1所示:
表1
分库字段(起始值) | 分库字段(截止值) | 逻辑分区编码 |
0201 | 0202 | 1101 |
0201 | 0202 | 1102 |
0203 | 0204 | 1103 |
若该业务对象对应的分库字段为0201-0202,则该业务对象对应的逻辑分区编码可以为1101;若该业务对象对应的分库字段为0203-0204,则该业务对象对应的逻辑分区编码可以为1103。
该业务对象对应的分库字段可以为二级分库字段,该预设的分库字段与逻辑分区编码的对应关系例如可以为如下表2所示:
表2
若该业务对象对应的分库字段1为0201-0202,分库字段为0000-5555,则该业务对象对应的逻辑分区编码可以为1101;若该业务对象对应的分库字段1为0201-0202,分库字段为6666-9999,则该业务对象对应的逻辑分区编码可以为1102;若该业务对象对应的分库字段1为0203-0204,分库字段为0000-9999,则该业务对象对应的逻辑分区编码可以为1103。
需要说明的是,该业务对象对应的分库字段还可以为其他多级分库字段,在此不再赘述。
另外,不同类型的业务对象具有不同的分库字段。其中,业务对象的类型与分库字段的对应关系可以分库字段元数据文件中定义。
在如上所述实施例的S202中,应用服务器根据该业务对象的类型确定该业务对象对应的逻辑分区编码,可包括:应用服务器可以根据业务对象的类型以及分库字段元数据文件中定义的业务对象类型与分库字段的对应关系,确定该业务对象对应的分库字段。该应用服务器根据该业务对象对应的分库字段确定该业务对象对应的逻辑分区编码。
S203、该应用服务器生成该业务对象的至少一个数据表;其中,每个数据表的主键包括:该业务对象对应的逻辑分区编码;该业务对象对应的逻辑分区编码与数据库对应。
具体地,若该业务对象的数据表的个数为1,则该一个数据表可以为该业务对象的主表。若该业务对象的数据表的个数为多个,则该多个数据表包括:该业务对象的一个主表,该业务对象的至少一个关系子表。
具体的,S203中该应用服务器生成该业务对象的数据表的过程,可以包括:
该应用服务器生成数据表的序列值,该序列值用于唯一的标识一个数据表中的一条记录;
该应用服务器将该序列值与该业务对象对应的逻辑分区编码进行组合;
该应用服务器创建以该序列值与该业务对象对应的逻辑分区编码的组合为主键的数据表。
具体地,该应用服务器例如可以根据序列器生成每个数据表的序列值。因此,不同数据表的的序列值可不同。该应用服务器例如可以是采用预设顺序,对该序列值和该业务对象对应的逻辑分区编码进行组合。该预设顺序例如可以为该业务对象对应的逻辑分区编码在前,该序列值在后的排列方式。需要说明的是,该预设顺序还可为其他方式,在此不再赘述。
图3为本发明实施例二中业务对象的数据表的示意图。举例来说,如图3所示,该业务对象的数据表可包括:5个数据表。该5个数据表包括:主表、关系子表1、关系子表2、以及关系子表21。其中,主表为关系子表1和关系子表2的父表,关系子表2为关系子表21的父表。
若该业务对象对应的逻辑分区编码为1101,主表的序列值为1000000000000001,则该应用服务器可将1101和1000000000000001进行组合,创建以10011000000000000001为主键的主表;若关系子表1的序列码为1000000000000789,则该应用服务器可将1101和1000000000000789进行组合,创建以10011000000000000789为主键的关系子表1;若关系子表2的序列码为1000000000000790,则该应用服务器可将1101和1000000000000790进行组合,创建以10011000000000000790为主键的关系子表2;若关系子表21的序列码为10000000000008744,则该应用服务器可将1101和10000000000008744进行组合,创建以100110000000000008744为主键的关系子表21。
可选的,该至少一个数据表包括该业务对象的主表和关系子表;该方法还可包括:
该应用服务器在生成该关系子表的过程中,在该关系子表的外键中加入该业务对象对应的逻辑分区编码。
加入该逻辑分区编码的该外键为该关系子表中用于指向该关系子表的父表的外键。
举例来说,该图3中,主表为关系子表1和关系子表2的父表,关系子表2为关系子表21的父表。那么该应用服务器在生成该关系子表1的过程中,还在关系子表1的外键中加入该业务对象对应的逻辑分区编码,关系子表1中用于指向关系子表1的父表的外键可以为10011000000000000001;该应用服务器在生成该关系子表2的过程中,还在关系子表2的外键中加入该业务对象对应的逻辑分区编码,关系子表2中用于指向关系子表2的父表的外键可以为10011000000000000001;该应用服务器在生成该关系子表21的过程中,还在关系子表21的外键中加入该业务对象对应的逻辑分区编码,关系子表21中用于指向关系子表21的父表的外键可以为10011000000000000790。
该业务对象的每个数据表的主键包括该业务对象的逻辑分区编码,也就是说,该业务对象的所有数据表的主键均包括该业务对象的逻辑分区编码,该业务对象的不同数据表的主键具有相同的该业务对象对应的逻辑分区编码。由于该业务对象对应的逻辑分区编码与数据库对应,该业务对象对应的逻辑分区编码所对应的该数据库可以为该业务对象对应的物理数据库。该业务对象对应的物理数据库例如可以为对该业务对象对应的业务应用的数据库进行水平分库后,得到的水平切分数据库,即划分得到的该业务对象的位于一个存储设备上的数据库。
本发明实施例一提供的数据处理方法,应用服务器可根据接收到的业务对象创建请求消息中的该业务对象的类型确定该业务对象对应的逻辑分区编码,并生成业务对象的至少一个数据表,其中,每个数据表的主键可包括该业务对象对应的逻辑分区编码,该业务对象对应的逻辑分区编码与数据库对应。本发明实施例的数据处理方法中,由于业务对象的每个数据表的主键均包括该业务对象对应的逻辑分区编码,该业务对象对应的逻辑分区编码可与数据库对应,因而,该业务对象的所有数据表可对应同一个数据库,对该业务对象进行数据处理的过程中,不会存在多个数据库的跨库处理,提高数据处理的效率,提高数据处理可实现的业务功能的性能。
可选的,本发明实施例二还提供一种数据处理方法。图4为本发明实施例二提供的另一种数据处理方法的流程图。如图4所示,该方法在上述任一实施例所述的方法的基础上,还可包括:
S401、该应用服务器接收数据访问请求消息;该数据访问请求消息以该业务对象的数据表中的主键为访问条件,该主键包括该业务对象对应的逻辑分区编码和用于唯一的标识该数据表中的记录的序列值。
具体的,该数据访问请求消息可以路由器对应的处理代码表示。若该路由器对应的处理代码为分库路由代码,则该数据访问请求消息可以为该分库路由代码对应的访问请求消息,如结构化查询语言(Structured Query Language,简称SQL)语句对应的访问请求消息。
S402、该应用服务器将该数据访问请求消息发送至路由器。
S403、该路由器从该主键中拆分出该逻辑分区编码,根据该逻辑分区编码确定该数据表所在的数据库。
具体地,该路由器可以根据预设的路由规则,和该逻辑分区编码,对该数据访问请求消息进行路由,即确定该数据表所在的数据库。举例来说,该预设的路由规则可通过路由表表示。该预设的路由规则中可包括:至少一个逻辑分区编码与数据库的对应关系。
可选的,如上所述的S403中该路由器根据该逻辑分区编码确定该数据表所在的数据库可以包括:
该路由器根据该逻辑分区编码,和,预设的逻辑分区编码与数据库的对应关系,确定该数据表所在的数据库。
具体地,该逻辑分区编码与数据库的对应关系可通过路由表表示,该路由表中可包括至少一个逻辑分区编码与数据库的对应关系。该路由表可以为如下表3所示。
表3
分库字段(起始值) | 分库字段(截止值) | 逻辑分区编码 | 数据库 |
0201 | 0202 | 1101 | P1 |
0201 | 0202 | 1102 | P2 |
0203 | 0204 | 1103 | P3 |
其中,该路由表中业务对象对应的数据库可通过数据库所在的物理分区标识表示。若该逻辑分区编码为1101,则路由器可确定该数据表所在的数据库为物理分区P1上的数据库;若该逻辑分区编码为1102,则该路由器可确定该数据表所在的数据库为物理分区P2上的数据库;若该逻辑分区编码为1103,则该路由器可确定该数据表所在的数据库为物理分区P3上的数据库。
可选的,该数据访问请求消息还可包括:访问类型;该访问类型包括:数据查询、数据修改和/或数据删除。
可选的,该数据访问请求消息可以为SQL语句对应的访问请求消息。
S404、该路由器将该数据访问请求消息发送至该数据表所在的数据库,对该序列值所标识的记录进行访问。
本发明实施例二提供的数据处理方法,应用服务器还将接收到的数据访问请求消息发送至路由器,从而使得该路由器可从该数据访问请求消息中业务对象的数据表的主键中拆分出逻辑分区编码,继而根据该逻辑分区编码确定该数据表所在的数据库,并将该数据访问请求消息发送至该数据表所在的数据库以该数据表中的序列值所标识的记录进行访问,实现该业务对象对应的业务功能。本发明实施例提供的方法中,由于无需在数据访问请求消息以及数据库的数据表中添加额外的分库字段,可简化业务功能的实现过程,从而简化业务功能的开发和维护,降低业务功能的开发和维护成本。
本发明实施三提供一种应用服务器。图5为本发明实施例三提供的一种应用服务器的结构示意图。如图5所示,该应用服务器500可包括:接收模块501、确定模块502及生成模块503。
接收模块501,用于接收业务对象创建请求消息;该业务对象创建请求消息包括业务对象的类型。
确定模块502,用于根据该业务对象的类型确定该业务对象对应的逻辑分区编码。
生成模块503,用于生成该业务对象的至少一个数据表;其中,每个数据表的主键包括该业务对象对应的逻辑分区编码,该业务对象对应的逻辑分区编码与数据库对应。
可选的,确定模块502,还用于根据该业务对象的类型以及预设的业务对象类型与分库字段的对应关系,确定该业务对象对应的分库字段;根据该业务对象对应的分库字段确定该业务对象对应的逻辑分区编码。
可选的,生成模块503,还用于生成每个数据表的序列值,该序列值用于唯一的标识该每个数据表中的一条记录;将该序列值与该业务对象对应的逻辑分区编码进行组合;创建以该序列值与该业务对象对应的逻辑分区编码的组合为主键的该每个数据表。
可选的,该至少一个数据表包括该业务对象的主表和关系子表;
生成模块503,还用于在生成该关系子表的过程中,在该关系子表的外键中加入该业务对象对应的逻辑分区编码。
本发明实施例三提供的应用服务器,可用于执行上述实施例中任一应用服务器所执行的数据处理方法,有益效果与上述实施例类似,在此不再赘述。
本发明实施例四还提供一种路由器。图6为本发明实施例四提供的一种路由器的结构示意图。如图6所示,路由器600可包括接收模块601、确定模块602和发送模块603。
接收模块601,用于接收应用服务器发送的数据访问请求消息;该数据访问请求消息以业务对象的数据表中的主键为访问条件;该主键包括:该业务对象对应的逻辑分区编码和用于唯一的标识该数据表中的记录的序列值;
确定模块602,用于从该主键中拆分出该逻辑分区编码,根据该逻辑分区编码确定该数据表所在的数据库;
发送模块603,用于将该数据访问请求消息发送至该数据表所在的数据库,对该序列值所标识的记录进行访问。
可选的,确定模块602,还用于根据逻辑分区编码,和,预设的逻辑分区编码与数据库的对应关系,确定该数据表所在的数据库。
本发明实施例四提供的路由器,可用于执行上述实施例中任一路由器所执行的数据处理方法,有益效果与上述实施例类似,在此不再赘述。
本发明实施例五还提供一种应用服务器。图7为本发明实施例五提供的一种应用服务器的结构示意图。如图7所示,应用服务器700可包括:处理器701、存储器702、通信接口703和总线704。其中,处理器701与存储器702、通信接口703通过总线704连接。
其中,处理器701,可以为中央处理器(Central Processing Unit,简称CPU)。处理器701还可以为其他通用处理器、数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器702,可以包括易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,简称RAM);存储器702也可以包括非易失性存储器(Non-volatilememory),例如只读存储器(Read-Only Memory,简称ROM),快闪存储器(Flash Memory),硬盘(Hard Disk Drive,简称HDD)或固态硬盘(Solid-State Drive,简称SSD);存储器702还可以包括上述种类的存储器的组合。
通信接口703,可以为接口电路,用于收发信息,通信接口703接收外部设备发送的信息后,给处理器701处理;另外,通信接口703可以通过有线通信或无线通信与网络和其他设备通信。
存储器702用于存储指令;处理器701用于执行指令,当处理器701执行存储器702存储的指令时,使得处理器701执行上述应用服务器执行的数据处理方法。
本发明实施例五提供的应用服务器,可用于执行上述实施例中任一应用服务器所执行的数据处理方法,有益效果与上述实施例类似,在此不再赘述。
本发明实施例六还提供一种路由器。图8为本发明实施例六提供的一种路由器的结构示意图。如图8所示,该路由器800可包括处理器801、存储器802、通信接口803和总线804。其中,处理器801与存储器802、通信接口803通过总线804连接。
其中,处理器801,可以为CPU。处理器801还可以为其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器802,可以包括RAM;存储器802也可以包括非易失性存储器,例如ROM,快闪存储器,HDD)或SSD;存储器802还可以包括上述种类的存储器的组合。通信接口803,可以为接口电路,用于收发信息,通信接口803接收外部设备发送的信息后,给处理器801处理;另外,通信接口803可以通过有线通信或无线通信与网络和其他设备通信。
存储器802用于存储指令;处理器801用于执行指令,当处理器801执行存储器802存储的指令时,使得处理器801执行上述路由器执行的数据处理方法。
本发明实施例四提供的路由器,可用于执行上述实施例中任一路由器所执行的数据处理方法,有益效果与上述实施例类似,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
应用服务器接收业务对象创建请求消息;所述业务对象创建请求消息包括:业务对象的类型;
所述应用服务器根据所述业务对象的类型确定所述业务对象对应的逻辑分区编码;
所述应用服务器生成所述业务对象的至少一个数据表;其中,每个数据表的主键包括:所述业务对象对应的逻辑分区编码,所述业务对象对应的逻辑分区编码与数据库对应;
所述应用服务器生成所述业务对象的至少一个数据表,包括:
所述应用服务器生成所述数据表的序列值,所述序列值用于唯一的标识一个数据表中的一条记录;
所述应用服务器将所述序列值与所述业务对象对应的逻辑分区编码进行组合;
所述应用服务器创建以所述序列值与所述业务对象对应的逻辑分区编码的组合为主键的所述数据表。
2.根据权利要求1所述的方法,其特征在于,所述应用服务器根据所述业务对象的类型确定所述业务对象对应的逻辑编码,包括:
所述应用服务器根据所述业务对象的类型以及预设的业务对象类型与分库字段的对应关系,确定所述业务对象对应的分库字段;
所述应用服务器根据所述业务对象对应的分库字段确定所述业务对象对应的逻辑分区编码。
3.根据权利要求1所述的方法,其特征在于,所述至少一个数据表包括所述业务对象的主表和关系子表;所述方法还包括:
所述应用服务器在生成所述关系子表的过程中,在所述关系子表的外键中加入所述业务对象对应的逻辑分区编码。
4.根据权利要求3所述的方法,其特征在于,加入所述逻辑分区编码的所述外键为所述关系子表中用于指向所述关系子表的父表的外键。
5.一种数据处理方法,其特征在于,包括:
路由器接收应用服务器发送的数据访问请求消息;所述数据访问请求消息以业务对象的数据表中的主键为访问条件;所述主键包括:所述业务对象对应的逻辑分区编码和用于唯一的标识所述数据表中的记录的序列值;
所述路由器从所述主键中拆分出所述逻辑分区编码,根据所述逻辑分区编码确定所述数据表所在的数据库;
所述路由器将所述数据访问请求消息发送至所述数据表所在的数据库,对所述序列值所标识的记录进行访问。
6.根据权利要求5所述的方法,其特征在于,所述路由器根据所述逻辑分区编码确定所述数据表所在的数据库,包括:
所述路由器根据逻辑分区编码和预设的逻辑分区编码与数据库的对应关系,确定所述数据表所在的数据库。
7.根据权利要求5或6所述的方法,其特征在于,所述数据访问请求消息还包括:访问类型;所述访问类型包括:数据查询、数据修改和/或数据删除。
8.根据权利要求5或6所述的方法,其特征在于,所述数据访问请求消息为结构化查询语言SQL语句的访问请求消息。
9.一种应用服务器,其特征在于,包括:
接收模块,用于接收业务对象创建请求消息;所述业务对象创建请求消息包括:业务对象的类型;
确定模块,用于根据所述业务对象的类型确定所述业务对象对应的逻辑分区编码;
生成模块,用于生成所述业务对象的至少一个数据表;其中,每个数据表的主键包括:所述业务对象对应的逻辑分区编码,所述业务对象对应的逻辑分区编码与数据库对应;
所述生成模块,还用于生成所述数据表的序列值,所述序列值用于唯一的标识一个数据表中的一条记录;将所述序列值与所述业务对象对应的逻辑分区编码进行组合;创建以所述序列值与所述业务对象对应的逻辑分区编码的组合为主键的所述数据表。
10.根据权利要求9所述的应用服务器,其特征在于,
所述确定模块,还用于根据所述业务对象的类型以及预设的业务对象类型与分库字段的对应关系,确定所述业务对象对应的分库字段;根据所述业务对象对应的分库字段确定所述业务对象对应的逻辑分区编码。
11.根据权利要求10所述的应用服务器,其特征在于,所述至少一个数据表包括所述业务对象的主表和关系子表;
所述生成模块,还用于在生成所述关系子表的过程中,在所述关系子表的外键中加入所述业务对象对应的逻辑分区编码。
12.一种路由器,其特征在于,包括:
接收模块,用于接收应用服务器发送的数据访问请求消息;所述数据访问请求消息以业务对象的数据表中的主键为访问条件;所述主键包括:所述业务对象对应的逻辑分区编码和用于唯一的标识所述数据表中的记录的序列值;
确定模块,用于从所述主键中拆分出所述逻辑分区编码,根据所述逻辑分区编码确定所述数据表所在的数据库;
发送模块,用于将所述数据访问请求消息发送至所述数据表所在的数据库,对所述序列值所标识的记录进行访问。
13.根据权利要求12所述的路由器,其特征在于,
所述确定模块,还用于根据逻辑分区编码和预设的逻辑分区编码与数据库的对应关系,确定所述数据表所在的数据库。
14.一种应用服务器,其特征在于,包括:处理器、存储器、通信接口和总线;其中,所述处理器与所述存储器、所述通信接口通过所述总线连接;
所述存储器用于存储指令;
所述处理器用于执行指令,当所述处理器执行所述存储器存储的指令时,使得所述处理器执行上述权利要求1-4中任一项所述的数据处理方法。
15.一种路由器,其特征在于,包括:处理器、存储器、通信接口和总线;其中,所述处理器与所述存储器、所述通信接口通过所述总线连接;
所述存储器用于存储指令;
所述处理器用于执行指令,当所述处理器执行所述存储器存储的指令时,使得所述处理器执行上述权利要求5-8中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610084423.5A CN107085570B (zh) | 2016-02-14 | 2016-02-14 | 数据处理方法、应用服务器和路由器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610084423.5A CN107085570B (zh) | 2016-02-14 | 2016-02-14 | 数据处理方法、应用服务器和路由器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107085570A CN107085570A (zh) | 2017-08-22 |
CN107085570B true CN107085570B (zh) | 2020-08-14 |
Family
ID=59614060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610084423.5A Active CN107085570B (zh) | 2016-02-14 | 2016-02-14 | 数据处理方法、应用服务器和路由器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107085570B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009883A (zh) * | 2017-11-30 | 2018-05-08 | 泰康保险集团股份有限公司 | 用于订单处理的方法及装置 |
CN107862090A (zh) * | 2017-12-04 | 2018-03-30 | 中企动力科技股份有限公司 | 数据库的水平扩展方法及装置 |
CN109684093B (zh) * | 2018-12-24 | 2021-03-09 | 成都四方伟业软件股份有限公司 | 数据处理方法及系统 |
CN110196854A (zh) * | 2019-06-11 | 2019-09-03 | 中国科学院寒区旱区环境与工程研究所 | 数据处理方法及装置 |
CN110955664A (zh) * | 2019-12-03 | 2020-04-03 | 中国建设银行股份有限公司 | 分库分表消息路由方法及装置 |
CN111061738A (zh) * | 2019-12-16 | 2020-04-24 | 中国建设银行股份有限公司 | 数据表预分组方法、装置、设备及存储介质 |
CN111199386A (zh) * | 2019-12-27 | 2020-05-26 | 天阳宏业科技股份有限公司 | 一种工作流引擎及其实现方法 |
CN111400110B (zh) * | 2020-03-11 | 2023-12-19 | 中国建设银行股份有限公司 | 数据库访问管理系统 |
CN111506654B (zh) * | 2020-04-17 | 2023-05-05 | 北京思特奇信息技术股份有限公司 | 用于数据路由的数据分区方法 |
CN113111138A (zh) * | 2021-05-10 | 2021-07-13 | 网易传媒科技(北京)有限公司 | 数据处理方法、装置、计算设备以及介质 |
CN113886276B (zh) * | 2021-12-06 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 业务创建方法、装置、服务器及存储介质 |
CN114490674B (zh) * | 2022-04-18 | 2022-07-05 | 北京奥星贝斯科技有限公司 | 分区表建立、针对分区表的数据写入、读取方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2780834B1 (en) * | 2011-11-14 | 2020-07-08 | Google LLC | Processing changes to distributed replicated databases |
CN103473321A (zh) * | 2013-09-12 | 2013-12-25 | 华为技术有限公司 | 数据库管理方法与系统 |
CN103995879B (zh) * | 2014-05-27 | 2017-12-15 | 华为技术有限公司 | 基于olap系统的数据查询方法、装置及系统 |
-
2016
- 2016-02-14 CN CN201610084423.5A patent/CN107085570B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107085570A (zh) | 2017-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107085570B (zh) | 数据处理方法、应用服务器和路由器 | |
US10628449B2 (en) | Method and apparatus for processing database data in distributed database system | |
CN107818115B (zh) | 一种处理数据表的方法及装置 | |
CN107784044B (zh) | 表数据查询方法及装置 | |
US10698912B2 (en) | Method for processing a database query | |
CN104794123A (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
CN107704202B (zh) | 一种数据快速读写的方法和装置 | |
CN105488050A (zh) | 一种数据库多索引方法、装置及系统 | |
US20230267116A1 (en) | Translation of tenant identifiers | |
CN106415534B (zh) | 一种分布式数据库中关联表分区的方法和设备 | |
WO2022083436A1 (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN115658680A (zh) | 数据存储方法、数据查询方法和相关装置 | |
AU2019350694B2 (en) | Identification of records for post-cloning tenant identifier translation | |
CN112148728A (zh) | 用于信息处理的方法、设备和计算机程序产品 | |
US10885157B2 (en) | Determining a database signature | |
CN114637759B (zh) | 数据查询方法、电子设备、存储介质 | |
CN114048219A (zh) | 图数据库更新方法及装置 | |
CN110297842B (zh) | 一种数据比对方法、装置、终端和存储介质 | |
CN111309704B (zh) | 数据库操作方法和数据库操作系统 | |
CN117931796A (zh) | 用于分布式存储的数据处理方法、装置、设备及介质 | |
Ghosh et al. | NoSQL Database: An Advanced Way to Store, Analyze and Extract Results From Big Data | |
CN118503244A (zh) | 一种基于分散数据表的工程编码动态建模数据处理方法 | |
CN117743337A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN115757470A (zh) | 元数据访问方法、装置、电子设备及存储介质 | |
CN118296010A (zh) | 表结构变更方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |