CN102831223A - 一种分布式数据库的管理方法和系统 - Google Patents
一种分布式数据库的管理方法和系统 Download PDFInfo
- Publication number
- CN102831223A CN102831223A CN2012103036665A CN201210303666A CN102831223A CN 102831223 A CN102831223 A CN 102831223A CN 2012103036665 A CN2012103036665 A CN 2012103036665A CN 201210303666 A CN201210303666 A CN 201210303666A CN 102831223 A CN102831223 A CN 102831223A
- Authority
- CN
- China
- Prior art keywords
- node
- database
- data
- destination
- source node
- 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.)
- Pending
Links
Images
Abstract
本申请提供了一种分布式数据库的管理方法和系统,以解决数据库的管理过程复杂,访问效率低下的问题。其中,所述方法包括:将第一数据库的访问接口和第二数据库的访问接口封装为统一接口;为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库;在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点;依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步。本申请简化了数据库的管理,提高了访问效率。
Description
技术领域
本申请涉及数据库技术领域,特别是涉及一种分布式数据库的管理方法和系统。
背景技术
在通信系统中,由于需要对大量的数据进行处理,因此对数据库访问的实时性和访问效率要求比较高。目前的数据库从数据库存储方式分为内存数据库和磁盘数据库。其中,内存数据库用于将数据库的所有数据和索引存储在内存中,数据库的访问和操作基于内存进行。磁盘数据库用于将数据库的所有数据和索引存储在文件中,数据库访问和操作基于文件进行。
为了提高访问的实时性和访问效率,在通信系统中通常会采用内存数据库。但是由于存储在内存数据库中的数据在系统掉电后会丢失,因此对于其中一些重要的数据还需要永久存储,例如,在通信中需要对配置信息或者重要的计费信息等进行存盘,此时就要求数据库同时具备内存数据库和磁盘数据库的特点。
针对上述情况,目前常用的一种方法是在访问内存数据库时将需要永久存储的数据写入磁盘文件,系统启动时再将数据从磁盘文件加载到内存中。但是该方法需要针对内存数据库设计对应的磁盘文件格式,设计过程复杂,并且磁盘的操作性能不高,从而导致数据库的管理过程复杂,数据库的访问效率低下。
发明内容
本申请所要解决的技术问题是提供一种分布式数据库的管理方法和系统,以解决数据库的管理过程复杂,访问效率低下的问题。
为了解决上述问题,本申请公开了一种分布式数据库的管理方法,包括:
将第一数据库的访问接口和第二数据库的访问接口封装为统一接口;
为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库;
在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点;
依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步。
优选的,所述第一数据库为内存数据库,所述第二数据库为物理数据库。
优选的,所述依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步的步骤包括:
通过查找源节点的节点注册信息来确定与源节点同步的目标节点;
完成所述源节点的数据库向目标节点的数据库的数据同步。
优选的,每个节点具有发送链表和接收链表,其中,发送链表用于存储该节点要发送的同步数据块,接收链表用于存储该节点接收的同步数据块;
所述完成所述源节点的数据库向目标节点的数据库的数据同步的步骤包括:
源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步。
优选的,所述源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步的步骤包括:
源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上;
源节点上的同步任务每隔预设时间段检测所述发送链表上是否包括同步数据块,若是,则获取所述同步数据块,并将同步数据块发送至目标节点;
所述目标节点在接收到所述同步数据块后,该目标节点上的消息收发线程将所述同步数据块存储在该目标节点的接收链表上;
所述目标节点上的同步任务每隔预设时间段检测所述接收链表上是否包括同步数据块,若是,则获取所述同步数据块;
所述目标节点依据所述同步数据块更新该节点的数据库,完成所述源节点的数据库向目标节点的数据库的数据同步。
优选的,在源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上之前,还包括:
通过查找目标节点的节点注册信息来确定向该目标节点同步的源节点;
目标节点发送数据同步请求至所述源节点。
优选的,所述方法还包括:
将所述目标节点作为源节点,通过查找该节点的节点注册信息确定与该节点同步的其他目标节点;
完成该节点的数据库与所述其他目标节点的数据库之间的数据同步。
优选的,在为节点创建数据库之后,还包括:
针对每个数据库创建多个数据表,并为每个数据表分配一个数据表名;
为每个数据表分配一个句柄,所述句柄和所述数据表名的下标一一对应;
查找与所述句柄相对应的数据表名,访问所述数据表名对应的数组中登记的数据表的结构信息。
优选的,所述方法还包括:
每个应用对应一个应用标识,针对每个应用标识注册与其相匹配的数据表;
当节点上的数据表中的数据更新之后,查找与所述数据表相匹配的应用标识;
该节点通过所述统一接口将所述数据更新通知给所述相匹配的应用标识对应的应用。
另一方面,本申请还公开了一种分布式数据库的管理系统,所述管理系统应用于分布式节点,所述管理系统包括:
封装模块,用于将第一数据库的访问接口和第二数据库的访问接口封装为统一接口;
其中,每个分布式节点包括第一创建模块、登记模块和同步模块,
第一创建模块,用于为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库;
登记模块,用于在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点;
源节点上的同步模块和目标节点上的同步模块用于依据所述数据同步信息完成第一节点的数据库与第二节点的数据库之间的数据同步。
优选的,每个节点上的同步模块包括:
第一查找单元,用于当所述节点为源节点时,通过查找该源节点的节点注册信息来确定与源节点同步的目标节点;
源节点上的同步模块和目标节点上的同步模块用于完成源节点的数据库向目标节点的数据库的数据同步。
优选的,每个节点具有发送链表和接收链表,其中,发送链表用于存储该节点要发送的同步数据块,接收链表用于存储该节点接收的同步数据块;
所述源节点上的同步模块和目标节点上的同步模块还用于通过源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步。
优选的,每个节点上的同步模块还包括:
第一存储单元,用于当所述节点为源节点时,通过该源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上;
第一获取单元,用于当所述节点为源节点时,通过该源节点上的同步任务每隔预设时间段检测所述发送链表上是否包括同步数据块,若是,则获取所述同步数据块,并将同步数据块发送至目标节点;
第二存储单元,用于当所述节点为目标节点时,在接收到所述同步数据块后,通过该目标节点上的消息收发线程将所述同步数据块存储在该目标节点的接收链表上;
第二获取单元,用于当所述节点为目标节点时,通过该目标节点上的同步任务每隔预设时间段检测所述接收链表上是否包括同步数据块,若是,则获取所述同步数据块;
更新单元,用于当所述节点为目标节点时,依据所述同步数据块更新该节点的数据库,完成所述源节点的数据库向目标节点的数据库之间的数据同步。
优选的,每个节点上的同步模块还包括:
第二查找单元,用于当所述节点为目标节点时,在第一存储单元通过源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上之前,通过查找该目标节点的节点注册信息来确定向该目标节点同步的源节点;
发送单元,用于当所述节点为目标节点时,发送数据同步请求至所述源节点。
优选的,所述第一查找单元还用于当将所述目标节点作为源节点时,通过查找该节点的节点注册信息确定与该节点同步的其他目标节点;
所述该节点上的同步模块和所述其他节点上的同步模块用于完成该节点的数据库与所述其他目标节点的数据库之间的数据同步。
优选的,所述每个分布式节点还包括:
第二创建模块,用于在为节点创建数据库之后,针对每个数据库创建多个数据表,并为每个数据表分配一个数据表名;
分配模块,用于为每个数据表分配一个句柄,所述句柄和所述数据表名一一对应;
访问模块,用于查找与所述句柄相对应的数据表名,访问所述数据表名对应的数据表的结构信息。
优选的,每个应用对应一个应用标识,所述每个分布式节点还包括:
注册模块,用于针对每个应用标识注册与其相匹配的数据表;
第二查找模块,用于当节点上的数据表中的数据更新之后,查找与所述数据表相匹配的应用标识;
通知模块,用于该节点通过所述统一接口将所述数据更新通知给所述相匹配的应用标识对应的应用。
与现有技术相比,本申请包括以下优点:
首先,本申请通过将第一数据库的访问接口和第二数据库的访问接口封装为统一接口,从而通过所述统一接口即可访问第一数据库或者第二数据库,或者同时访问第一数据库和第二数据库。因此在为节点创建数据库时,可以为不同的节点创建不同的数据库,其可以为第一数据库,或者第二数据库,或者第一数据库和第二数据库。并且,本申请通过在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点,当某一节点的数据库需要将其数据同步到其他节点时,即可根据节点注册信息完成节点之间的数据库同步,实现了不同节点的数据库的一致性同步。因此,本申请针对于内存数据库和磁盘数据库来说,可以更加简便地实现两者之间的数据同步,避免了设计复杂的磁盘文件格式,简化了数据库的管理。
其次,本申请将不同数据库的访问接口封装为统一接口,应用通过所述统一接口即可访问不同的数据库,有利于应用移植不同的数据库,提高了数据库的可移植性。
再次,本申请针对每个应用注册与其相匹配的数据表,当数据表中的数据更新之后,即可通过所述统一接口实时将数据更新通知给与数据表相匹配的应用,提高了数据库管理的实时性。
附图说明
图1是本申请实施例一所述一种分布式数据库的管理方法的流程图;
图2是本申请实施例二所述一种分布式数据库的管理方法的流程图;
图3是本申请实施例所述内存库和物理库整合的结构示意图;
图4是本申请实施例所述各个节点的数据库的分布和数据同步示意图;
图5是本申请实施例三所述一种分布式数据库的管理方法的流程图;
图6是本申请实施例四所述一种分布式数据库的管理系统的结构框图;
图7是本申请实施例五所述一种分布式数据库的管理系统的结构框图;
图8是本申请实施例六所述一种分布式数据库的管理系统的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请通过将不同数据库的访问接口封装为统一接口,通过所述统一接口即可访问不同形式的数据库,可以访问一个数据库或多个数据库,提高了访问效率。对于各个节点也可更加灵活地为其创建不同形式的数据库,当一个节点的数据库有数据更新时,可以将其同步到其他相关联节点的数据库中,实现了不同节点不同形式数据库之间的数据同步,简化了数据库的管理过程。
参照图1,示出了本申请实施例一所述的一种分布式数据库的管理方法的流程图,所述方法包括:
步骤S101,将第一数据库的访问接口和第二数据库的访问接口封装为统一接口。
本申请实施例中数据库的接口分为两个层次的封装,第一层封装即分别将第一数据库的kernel(内核)和第二数据库的kernel(内核)封装为各自的访问接口,第二层封装即为将第一数据库的访问接口和第二数据库的访问接口封装为统一接口。
其中,对于第一层封装在数据库的开发过程中即可完成,本申请对其不再进行详细论述。
第二层封装所得到的统一接口是针对应用提供的,应用可以直接通过所述统一接口访问不同的数据库,具体的,可以访问第一数据库或者第二数据库,或者访问第一数据库和第二数据库。
步骤S102,为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库。
对于每个节点,首先为其创建数据库,由于通过所述统一接口可以访问第一数据库或者第二数据库,或者访问第一数据库和第二数据库,因此,为节点创建的数据库可以为第一数据库,或者第二数据库,或者第一数据库和第二数据库。各个节点可以通过所述统一接口调用各自对应的数据库。
步骤S103,在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点。
在为节点创建数据库之后,某些节点的数据库之间是需要同步的。因此本申请实施例首先需要注册数据库待同步的节点,注册之后即表示这些节点的数据库之间是需要数据同步的。如果其中一个节点的数据库有数据更新,则要把所述数据更新同步至注册的其他节点的数据库中;或者其中一个节点需要和注册的其他节点数据同步,则需要将注册的其他节点的数据库中的数据同步至该节点的数据库中。
在注册数据库待同步的节点的过程中,这些数据库待同步的节点可以是由某个应用指定的,即如果该应用需要用到某些节点,则注册这些节点为数据库待同步的节点。
另外,所述数据库待同步的节点也可以不由应用指定,如果某两个节点的数据库之间是有关联的,但是应用只是用到了其中一个节点,那么也应该将这两个节点注册为数据库待同步的节点,即只要两个节点的数据库之间有关联,则可将其注册为数据库待同步的节点。
具体的,为节点创建数据库之后,某些节点的数据库之间可能存在关联(例如,两个数据库中可能包括相同的数据表,或者数据表中包括相同的数据),如果某一个节点的数据库中的数据有更新,则需要将数据更新同步至与其相关联的节点中的数据库,从而实现具有关联关系的节点之间的数据库的数据同步更新。
例如,两个节点的数据库中包括相同的数据表(如均为数据表1),当其中一个节点的数据库中的数据表1有数据更新时,则需要将所述数据更新同步至另一个节点的数据库中的数据表1,以使两个数据表1中的数据保持同步。
在本申请实施例中,每个节点中都含有自己的节点注册信息,所述节点注册信息可以采用下述表一的形式表示:
表一
通过上述表一可以看出,在每个节点的节点注册信息中包括了源ip、目的ip,表名、注册选项、发送序号、变更类型、记录长度和变更记录等信息。通过其中的目的ip即可确定当该节点为源节点时,需要将该节点中的数据同步到的目标节点;通过其中的源ip即可确定当该节点为目标节点时,需要向该目标节点同步的源节点。
在本实施例中,对于每个节点来说,其都存在一个ip,所述ip用于标识该节点,从而便于与其他节点同步。当然,本申请并不限于采用ip的方式标识节点,本领域技术人员还可以采用其他方式标识某一节点,本申请对此并不加以限制。
对于表一中的其它字段的含义(例如表名字段,用于定义同步的表名)参照表中的成员字段说明即可,本实施例在此不在详细论述。
当然,本实施例还可以采用其他的形式注册数据库待同步的节点,本申请对此并不加以限制。
步骤S104,依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步。
依据所述节点注册信息,源节点和目标节点分别执行相应的操作,完成源节点的数据库与目标节点的数据库之间的数据同步。对于具体的处理过程,将在下面的实施例中详细介绍,本实施例在此不再详细论述。
本申请实施例通过将第一数据库的访问接口和第二数据库的访问接口封装为统一接口,从而通过所述统一接口即可访问第一数据库或者第二数据库,或者同时访问第一数据库和第二数据库。因此在为节点创建数据库时,可以为不同的节点创建不同的数据库,其可以为第一数据库,或者第二数据库,或者第一数据库和第二数据库。并且,本申请通过在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点,当某一节点的数据库需要将其数据同步到其他节点时,即可根据节点注册信息完成节点之间的数据库同步,实现了不同节点的数据库的一致性同步。因此,本申请针对于内存数据库和磁盘数据库来说,可以更加简便地实现两者之间的数据同步,避免了设计复杂的磁盘文件格式,简化了数据库的管理。
其次,本申请实施例将不同数据库的访问接口封装为统一接口,应用通过所述统一接口即可访问不同的数据库,有利于应用移植不同的数据库,提高了数据库的可移植性。
参照图2,示出了本申请实施例二所述的一种分布式数据库的管理方法的流程图,所述方法包括:
步骤S201,将第一数据库的访问接口和第二数据库的访问接口封装为统一接口。
在本申请实施例中,所述第一数据库和第二数据库为不同类型的数据库,本申请主要是针对内存数据库和物理数据库(磁盘数据库)进行介绍,因此,在本实施例中可以设置所述第一数据库为内存数据库,所述第二数据库为物理数据库。
步骤S202,为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问第一数据库和第二数据库。
步骤S203,在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点。
对于上述步骤S201-步骤S203的具体过程与上述实施例一的描述基本相似,相关之处参照上述实施例即可,本实施例在此不再详细论述。
步骤S204,依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步。
上述步骤S203在每个节点的节点注册信息中登记了数据库待同步的源节点和目标节点,当该节点需要和其他节点同步时,首先需要查找该节点的节点注册信息,通过所述节点注册信息来确定与该节点同步的节点。
因此,该步骤S204包括以下步骤:
步骤S2041,通过查找源节点的节点注册信息来确定与源节点同步的目标节点;
步骤S2042,完成所述源节点的数据库向目标节点的数据库的数据同步。
本申请实施例中,每个节点都具有发送链表、接收链表、同步任务和消息收发线程。其中,所述发送链表用于存储该节点要发送的同步数据块;接收链表用于存储该节点接收的同步数据块;同步任务用于每隔预设时间段检测发送链表或接收链表上是否包括同步数据块,若是,则获取所述同步数据块;消息收发线程用于发送或接收数据同步请求,并将同步数据块存储到发送链表和接收链表中。
因此,在该步骤S2042中,源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步,具体过程为:
步骤1,源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上。
当源节点需要将本节点的数据库中的数据同步到目标节点的数据库中时,源节点上的消息收发线程首先将同步数据块存储在发送链表上,然后等待该节点的同步任务从发送链表上获取同步数据块。
步骤2,所述源节点上的同步任务每隔预设时间段检测所述发送链表上是否包括同步数据块,若是,则获取所述同步数据块,并将同步数据块发送至目标节点。
其中,对于所述预设时间段,本领域技术人员根据实际情况进行设定即可,本申请对具体的数值并不加以限制。
步骤3,所述目标节点在接收到所述同步数据块后,该目标节点上的消息收发线程将所述同步数据块存储在该目标节点的接收链表上。
目标节点在接收到同步数据块之后,该节点上的消息收发线程首先将所述同步数据块存储在接收链表上,然后等待本节点的同步任务从接收链表上获取同步数据块。
步骤4,所述目标节点上的同步任务每隔预设时间段检测所述接收链表上是否包括同步数据块,若是,则获取所述同步数据块。
步骤5,所述目标节点依据所述同步数据块更新该节点的数据库,完成所述源节点的数据库向目标节点的数据库的数据同步。
对于更新过程,可以是将所述同步数据块添加到所述目标节点的数据库中(例如所述目标节点原有的数据库中不存在所述同步数据块),或者是用所述同步数据块替换所述目标节点的数据库中的某些数据块(例如所述目标节点原有的数据库中存在与所述同步数据块相关的数据块,只是所述同步数据块中增加了新的数据),具体的过程根据不同情况进行相应处理即可,本申请对此不再详细论述。
需要说明的是,上述所述的目标节点可以为多个,即在所述源节点的节点注册信息中,登记了多个目标节点,对于源节点的数据库向任意一个目标节点的数据库的数据同步的过程,均采用上述方式处理即可。
优选的,在本申请实施例中,当源节点的数据库向目标节点的数据库的数据同步之后,所述目标节点还可以将所述同步数据块同步到其他节点中,则所述方法还包括:
步骤6,将所述目标节点作为源节点,通过查找该节点的节点注册信息确定与该节点同步的其他目标节点。
当该目标节点需要将所述同步数据块同步到其他节点中时,该目标节点即作为源节点,然后通过查找该节点的节点注册信息确定与该节点同步的其他目标节点。
步骤7,完成该节点的数据库与所述其他目标节点的数据库之间的数据同步。
对于具体的同步过程与上述步骤1-步骤5基本相似,本实施例在此不再详细论述。
根据对上述实施例一中对于步骤S103的描述,可以得知在执行两个节点的数据库之间的数据同步时,可能存在两种情况:一种是其中一个节点的数据库中的数据有更新,需要将更新后的数据库中的数据同步至另一个节点的数据库中;另一种是其中一个节点主动请求和另一个节点的数据库的数据同步。
上述对于源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步的具体过程的描述,是针对源节点的数据库有更新时,需要将更新后的数据库中的数据同步至该节点的节点注册信息中登记的目标节点的数据库中。
下面,针对第二种情况(即目标节点请求和源节点的数据同步)中,源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步的具体过程进行描述,包括以下步骤:
步骤a1,通过查找目标节点的节点注册信息来确定向该目标节点同步的源节点。
当某一节点需要请求和其他节点同步时,该节点作为目标节点,首先需要查找该目标节点的节点注册信息,从而确定向该目标节点同步的源节点。
对于具体的查找节点注册信息的过程,可以参照上述实施例一的相关描述,例如,通过节点注册信息中的原ip即可确定向该目标节点同步的源节点,本申请对此不再详细论述。
步骤a2,目标节点发送数据同步请求至所述源节点。
当确定了向该目标节点同步的源节点之后,该目标节点将发送数据同步请求至所述源节点,具体的,可以通过该目标节点上的消息收发线程发送数据同步请求至所述源节点。
步骤a3,源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上。
源节点接收到目标节点发送的数据同步请求之后,源节点上的消息收发线程首先将同步数据块存储在发送链表上,然后等待该节点的同步任务从发送链表上获取同步数据块。
步骤a4,所述源节点上的同步任务每隔预设时间段检测所述发送链表上是否包括同步数据块,若是,则获取所述同步数据块,并将同步数据块发送至目标节点。
步骤a5,所述目标节点在接收到所述同步数据块后,该目标节点上的消息收发线程将所述同步数据块存储在该目标节点的接收链表上。
步骤a6,所述目标节点上的同步任务每隔预设时间段检测所述接收链表上是否包括同步数据块,若是,则获取所述同步数据块。
步骤a7,所述目标节点依据所述同步数据块更新该节点的数据库,完成所述源节点的数据库向目标节点的数据库的数据同步。
下面,以第一数据库为内存库(即内存数据库),第二数据库为物理库(即磁盘数据库)为例,针对不同的情况进行描述。
如图3所示,是本申请实施例所述内存库和物理库整合的结构示意图。
从图中可以看出,首先,对于内存库和物理库,分别将内存库的kernel和物理库的kernel封装为其各自的访问接口,其中,对于物理库,主要是封装为增加、删除、修改、查找等基本访问接口。
其次,将内存库的kernel和物理库的kernel整合成双库(即内存库和物理库)的kernel,并将内存库的访问接口和物理库的访问接口封装为统一接口。
在应用侧,应用子系统通过数据库统一接口访问内存库或者物理库,或者访问内存库和物理库,通过数据库管理模块实现内存库,或者物理库,或者内存库和物理库之间的切换。
具体的,在数据库管理模块中可以通过不同的宏开关编译决定访问的不同数据库形态,应用根据需要连接至不同的数据库。对于具体的切换过程,本领域技术人员根据具体情况处理即可,本实施例在此不再详细论述。
另外,对于物理库而言,可以通过配置文件来配置该物理库的名称,具体包括用户名和密码。当然,也可以不进行配置,如果不配置,则采用默认的名称。因此,如果为节点创建的是物理库,则物理库在启动的时候判断是否有配置文件,如果有,则采用配置的名称创建数据库,如果没有,则采用默认的名称创建数据库。
参照图4,示出了本申请实施例所述各个节点的数据库的分布和数据同步示意图。
在图4中包括3个节点,对于每一个节点的执行过程即为一个进程,其中,进程1所对应的节点为全局节点,进程2所对应的节点为第一外围节点,进程3所对应的节点为第二外围节点。
为第一外围节点创建的数据库为通过统一接口访问的内存库(即上述的第一数据库),为第二外围节点创建的数据库为通过统一接口访问的物理库(即上述的第二数据库),为全局节点创建的数据库为通过统一接口访问的内存库和物理库。其中,对于为全局节点和第二外围节点创建的数据库中,通过配置文件配置其中的物理库的名称分别为物理库1和物理库2。
下面分别对不同节点之间的数据同步进行介绍。
第一种情况:
第一外围节点和第二外围节点分别和全局节点同步。
A1,第一外围节点上的消息收发线程和第二外围节点上的消息收发线程分别发送数据同步请求至全局节点。
该过程分别通过第一外围节点上的数据库管理模块和第二外围节点上的数据库管理模块执行。
A2,全局节点在接收到所述数据同步请求之后,通过数据库管理模块调用统一接口分别访问为全局节点创建的内存库和物理库1,然后将内存库中的数据组织成同步数据块。
A3,全局节点分别将同步数据块通过数据库管理模块发送至第一外围节点和第二外围节点。
A4,第一外围节点在接收到同步数据块之后,通过数据库管理模块将所述同步数据块更新到为该节点创建的内存库中;第二外围节点在接收到同步数据块之后,通过数据库管理模块将所述同步数据块更新到为该节点创建的物理库中。
当为第一外围节点创建的内存库有数据更新时,需要将数据同步至全局节点,同步更新为全局节点创建的内存库。对于是否同步更新为全局节点创建的物理库1,则要根据数据的类型决定。例如,如果更新的是动态信息,则不需要更新所述物理库1(第二种情况);如果更新的是配置信息,则还需要进一步更新所述物理库1(第三种情况)。
下面分别对这两种情况进行描述:
第二种情况:
第一外围节点的数据库有数据更新时,将数据同步至全局节点,在该种情况下只更新为全局节点创建的内存库。
B1,第一外围节点通过数据库管理模块访问内存库,将其中的数据组织成同步数据块。
B2,第一外围节点所述同步数据块通过数据库管理模块发送至全局节点。
B4,全局节点在接收到同步数据块之后,通过数据库管理模块调用统一接口,将所述同步数据块更新到为该节点创建的内存库中。
第三种情况:
第一外围节点的数据库有数据更新时,将数据同步至全局节点,在该种情况下更新为全局节点创建的内存库和物理库1,全局节点再将数据同步至第二外围节点。
C1,第一外围节点通过数据库管理模块访问内存库,将其中的数据组织成同步数据块。
C2,第一外围节点将同步数据块通过数据库管理模块发送至全局节点。
C3,全局节点在接收到同步数据块之后,通过数据库管理模块调用统一接口,分别将所述同步数据块更新到为该节点创建的内存库和物理库1中。
C4,全局节点将所述同步数据块通过数据库管理模块发送至第二外围节点。
C5,第二外围节点在接收到同步数据块之后,通过数据库管理模块将所述同步数据块更新到为该节点创建的物理库2中。
对于具体的同步数据块的发送和接收过程,参照上述实施例的相关描述即可,本申请在此不再详细论述。
参照图5,示出了本申请实施例三所述的一种分布式数据库的管理方法的流程图,所述方法包括:
步骤S501,将第一数据库的访问接口和第二数据库的访问接口封装为统一接口。
步骤S502,为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问第一数据库和第二数据库。
步骤S503,针对每个数据库创建多个数据表,并为每个数据表分配一个数据表名。
步骤S504,为每个数据表分配一个句柄,所述句柄和所述数据表名一一对应。
步骤S505,查找与所述句柄相对应的数据表名,访问所述数据表名对应的数据表的结构信息。
上述步骤S503-步骤S505描述的是为数据库创建数据表的过程,不论是哪种数据库形态,都需要创建数据表,如表二所示:
表二
通过上述表二可以看出,每个表都对应一个表句柄,并且还定义了同步ip,通过该同步ip可对应到某一具体的进程(例如,一个进程对应一个ip,则通过所述ip即可对应到该进程)。另外,本实施例中还为每个表分配了一个表名,所述表名与表句柄一一对应,因此,通过表句柄即可查找到对应的表名。
对于表二中的其它字段(例如注册选项字段)的含义参照表中的表字段说明即可,本实施例在此不在详细论述。
在本申请实施例中,针对每个数据库创建数据表后,为每个数据表分配一个数据表名,并为每个数据表分配一个句柄,所述句柄和所述数据表名一一对应。因此,当后续在查找数据表时,通过查找与所述句柄相对应的数据表名,即可查找到数据表名对应的数据表的结构信息。
通过上述步骤,使得数据表的查找过程更加简便,进一步简化了数据库的管理过程。
步骤S506,在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点。
步骤S507,依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步。
步骤S508,每个应用对应一个应用标识,针对每个应用标识注册与其相匹配的数据表。
步骤S509,当节点上的数据表中的数据更新之后,查找与所述数据表相匹配的应用标识。
步骤S5010,该节点通过所述统一接口将所述数据更新通知给所述相匹配的应用标识对应的应用。
在本申请实施例中,通过下述表三的形式完成将数据更新通知给应用的过程。
表三
通过上述表三可以看出,其中包括了表句柄字段、关注该表变化的应用标识字段以及注册选项字段。通过表句柄字段可以查找到与所述表句柄相对应的数据表名,从而确定数据表;通过关注该表变化的应用标识字段可以查找到当该数据表的数据更新之后,需要将所述数据更新通知给那些应用。
对于表三中的其它字段的含义(例如注册选项字段)参照表中的表字段说明即可,本实施例在此不在详细论述。
上述步骤S508-步骤S5010描述的是将数据库中数据表的数据更新通知给相关应用的过程。首先针对每个应用标识注册与其相匹配的数据表,当后续数据表中的数据更新之后,查找与所述数据表相匹配的应用标识,然后通过所述统一接口将所述数据更新通知给所述相匹配的应用标识对应的应用。因此,不管是通过统一接口访问的第一数据库,还是通过所述统一接口访问的第二数据库,还是通过所述统一接口访问的第一数据库和第二数据库,只要数据库中的数据表有数据更新,即可把数据更新通知给相关的应用。
本实施例相对于上述实施例的改进之处在于,针对每个应用注册与其相匹配的数据表,当节点上的数据表中的数据更新之后,该节点即可通过所述统一接口实时将数据更新通知给与数据表相匹配的应用,提高了数据库管理的实时性。
参照图6,示出了本申请实施例四所述一种分布式数据库的管理系统的结构框图,所述管理系统应用于分布式节点,所述管理系统包括:
封装模块601,用于将第一数据库的访问接口和第二数据库的访问接口封装为统一接口;
其中,每个分布式节点包括第一创建模块602、登记模块603和同步模块604。
第一创建模块602,用于为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库;
登记模块603,用于在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点;
源节点上的同步模块604和目标节点上的同步模块604用于依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步。
本申请实施例通过将第一数据库的访问接口和第二数据库的访问接口封装为统一接口,从而通过所述统一接口即可访问第一数据库或者第二数据库,或者同时访问第一数据库和第二数据库。因此在为节点创建数据库时,可以为不同的节点创建不同的数据库,其可以为第一数据库,或者第二数据库,或者第一数据库和第二数据库。并且,本申请通过在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点,当某一节点的数据库需要将其数据同步到其他节点时,即可根据节点注册信息完成节点之间的数据库同步,实现了不同节点的数据库的一致性同步。因此,本申请针对于内存数据库和磁盘数据库来说,可以更加简便地实现两者之间的数据同步,避免了设计复杂的磁盘文件格式,简化了数据库的管理。
其次,本申请实施例将不同数据库的访问接口封装为统一接口,应用通过所述统一接口即可访问不同的数据库,有利于应用移植不同的数据库,提高了数据库的可移植性。
参照图7,示出了本申请实施例五所述一种分布式数据库的管理系统的结构框图,所述管理系统应用于分布式节点,所述管理系统包括:
封装模块701,用于将第一数据库的访问接口和第二数据库的访问接口封装为统一接口;
其中,每个分布式节点包括第一创建模块702、登记模块703和同步模块704。
第一创建模块702,用于为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库;
登记模块703,用于在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点;
源节点上的同步模块704和目标节点上的同步模块704用于依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步;
每个节点上的同步模块704包括:
第一查找单元7041,用于当所述节点为源节点时,通过查找该源节点的节点注册信息来确定与源节点同步的目标节点;
源节点上的同步模块704和目标节点上的同步模块704用于完成源节点的数据库向目标节点的数据库的数据同步。
其中,每个节点具有发送链表和接收链表,其中,发送链表用于存储该节点要发送的同步数据块,接收链表用于存储该节点接收的同步数据块;
所述源节点上的同步模块704和目标节点上的同步模块704还用于通过源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步。
具体的,每个节点上的同步模块704还包括:
第一存储单元,用于当所述节点为源节点时,通过该源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上;
第一获取单元,用于当所述节点为源节点时,通过该源节点上的同步任务每隔预设时间段检测所述发送链表上是否包括同步数据块,若是,则获取所述同步数据块,并将同步数据块发送至目标节点;
第二存储单元,用于当所述节点为目标节点时,在接收到所述同步数据块后,通过该目标节点上的消息收发线程将所述同步数据块存储在该目标节点的接收链表上;
第二获取单元,用于当所述节点为目标节点时,通过该目标节点上的同步任务每隔预设时间段检测所述接收链表上是否包括同步数据块,若是,则获取所述同步数据块;
更新单元,用于当所述节点为目标节点时,依据所述同步数据块更新该节点的数据库,完成所述源节点的数据库向目标节点的数据库之间的数据同步。
在每个节点上的同步模块704还包括:
第二查找单元,用于当所述节点为目标节点时,在第一存储单元通过源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上之前,通过查找该目标节点的节点注册信息来确定向该目标节点同步的源节点;
发送单元,用于当所述节点为目标节点时,发送数据同步请求至所述源节点。
优选的,所述第一查找单元7041还用于当将所述目标节点作为源节点时,通过查找该节点的节点注册信息确定与该节点同步的其他目标节点;
所述该节点上的同步模块和所述其他节点上的同步模块用于完成该节点的数据库与所述其他目标节点的数据库之间的数据同步。
该实施例具体描述了如何通过每个节点中的同步模块完成源节点和目标节点之间的数据同步,对于其中各个单元的功能进行了简单介绍,由于其与方法实施例的描述基本相似,相关支出参照上述方法实施例即可。
参照图8,示出了本申请实施例六所述一种分布式数据库的管理系统的结构框图,所述管理系统应用于分布式节点,所述管理系统包括:
封装模块801,用于将第一数据库的访问接口和第二数据库的访问接口封装为统一接口;
其中,每个分布式节点包括第一创建模块802、登记模块803、同步模块804、第二创建模块805、分配模块806、访问模块807、注册模块808、第二查找模块809和通知模块810。
第一创建模块802,用于为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库;
登记模块803,用于在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点;
源节点上的同步模块804和目标节点上的同步模块804用于依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步;
第二创建模块805,用于在为节点创建数据库之后,针对每个数据库创建多个数据表,并为每个数据表分配一个数据表名;
分配模块806,用于为每个数据表分配一个句柄,所述句柄和所述数据表名一一对应;
访问模块807,用于查找与所述句柄相对应的数据表名,访问所述数据表名对应的数据表的结构信息;
在本实施例中,每个应用对应一个应用标识,所述系统还包括:
注册模块808,用于针对每个应用标识注册与其相匹配的数据表;
第二查找模块809,用于当节点上的数据表中的数据更新之后,查找与所述数据表相匹配的应用标识;
通知模块810,用于该节点通过所述统一接口将所述数据更新通知给所述相匹配的应用标识对应的应用。
本实施例相对于上述实施例的改进之处在于,针对每个应用标识注册与其相匹配的数据表,当节点上的数据表中的数据更新之后,该节点即可通过所述统一接口实时将数据更新通知给与数据表相匹配的应用标识对应的应用,提高了数据库管理的实时性。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种分布式数据库的管理方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (17)
1.一种分布式数据库的管理方法,其特征在于,包括:
将第一数据库的访问接口和第二数据库的访问接口封装为统一接口;
为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库;
在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点;
依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步。
2.根据权利要求1所述的方法,其特征在于,所述第一数据库为内存数据库,所述第二数据库为物理数据库。
3.根据权利要求1所述的方法,其特征在于,所述依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步的步骤包括:
通过查找源节点的节点注册信息来确定与源节点同步的目标节点;
完成所述源节点的数据库向目标节点的数据库的数据同步。
4.根据权利要求3所述的方法,其特征在于,
每个节点具有发送链表和接收链表,其中,发送链表用于存储该节点要发送的同步数据块,接收链表用于存储该节点接收的同步数据块;
所述完成所述源节点的数据库向目标节点的数据库的数据同步的步骤包括:
源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步。
5.根据权利要求4所述的方法,其特征在于,所述源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步的步骤包括:
源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上;
源节点上的同步任务每隔预设时间段检测所述发送链表上是否包括同步数据块,若是,则获取所述同步数据块,并将同步数据块发送至目标节点;
所述目标节点在接收到所述同步数据块后,该目标节点上的消息收发线程将所述同步数据块存储在该目标节点的接收链表上;
所述目标节点上的同步任务每隔预设时间段检测所述接收链表上是否包括同步数据块,若是,则获取所述同步数据块;
所述目标节点依据所述同步数据块更新该节点的数据库,完成所述源节点的数据库向目标节点的数据库的数据同步。
6.根据权利要求5所述的方法,其特征在于,在源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上之前,还包括:
通过查找目标节点的节点注册信息来确定向该目标节点同步的源节点;
目标节点发送数据同步请求至所述源节点。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将所述目标节点作为源节点,通过查找该节点的节点注册信息确定与该节点同步的其他目标节点;
完成该节点的数据库与所述其他目标节点的数据库之间的数据同步。
8.根据权利要求1所述的方法,其特征在于,在为节点创建数据库之后,还包括:
针对每个数据库创建多个数据表,并为每个数据表分配一个数据表名;
为每个数据表分配一个句柄,所述句柄和所述数据表名一一对应;
查找与所述句柄相对应的数据表名,访问所述数据表名对应的数据表的结构信息。
9.根据权利要求8所述的方法,其特征在于,还包括:
每个应用对应一个应用标识,针对每个应用标识注册与其相匹配的数据表;
当节点上的数据表中的数据更新之后,查找与所述数据表相匹配的应用标识;
该节点通过所述统一接口将所述数据更新通知给所述相匹配的应用标识对应的应用。
10.一种分布式数据库的管理系统,其特征在于,所述管理系统应用于分布式节点,所述管理系统包括:
封装模块,用于将第一数据库的访问接口和第二数据库的访问接口封装为统一接口;
其中,每个分布式节点包括第一创建模块、登记模块和同步模块,
第一创建模块,用于为节点创建数据库,所述为节点创建的数据库为通过所述统一接口访问的第一数据库,或者为通过所述统一接口访问的第二数据库,或者为通过所述统一接口访问的第一数据库和第二数据库;
登记模块,用于在每个节点的节点注册信息中登记数据库待同步的源节点和目标节点;
源节点上的同步模块和目标节点上的同步模块用于依据所述节点注册信息完成源节点的数据库与目标节点的数据库之间的数据同步。
11.根据权利要求10所述的系统,其特征在于,
每个节点上的同步模块包括:
第一查找单元,用于当所述节点为源节点时,通过查找该源节点的节点注册信息来确定与源节点同步的目标节点;
源节点上的同步模块和目标节点上的同步模块用于完成源节点的数据库向目标节点的数据库的数据同步。
12.根据权利要求11所述的系统,其特征在于,
每个节点具有发送链表和接收链表,其中,发送链表用于存储该节点要发送的同步数据块,接收链表用于存储该节点接收的同步数据块;
所述源节点上的同步模块和目标节点上的同步模块还用于通过源节点依据自己的发送链表、目标节点依据自己的接收链表,完成源节点的数据库向目标节点的数据库的数据同步。
13.根据权利要求12所述的系统,其特征在于,
每个节点上的同步模块还包括:
第一存储单元,用于当所述节点为源节点时,通过该源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上;
第一获取单元,用于当所述节点为源节点时,通过该源节点上的同步任务每隔预设时间段检测所述发送链表上是否包括同步数据块,若是,则获取所述同步数据块,并将同步数据块发送至目标节点;
第二存储单元,用于当所述节点为目标节点时,在接收到所述同步数据块后,通过该目标节点上的消息收发线程将所述同步数据块存储在该目标节点的接收链表上;
第二获取单元,用于当所述节点为目标节点时,通过该目标节点上的同步任务每隔预设时间段检测所述接收链表上是否包括同步数据块,若是,则获取所述同步数据块;
更新单元,用于当所述节点为目标节点时,依据所述同步数据块更新该节点的数据库,完成所述源节点的数据库向目标节点的数据库之间的数据同步。
14.根据权利要求13所述的系统,其特征在于,每个节点上的同步模块还包括:
第二查找单元,用于当所述节点为目标节点时,在第一存储单元通过源节点上的消息收发线程将同步数据块存储在该源节点的发送链表上之前,通过查找该目标节点的节点注册信息来确定向该目标节点同步的源节点;
发送单元,用于当所述节点为目标节点时,发送数据同步请求至所述源节点。
15.根据权利要求14所述的系统,其特征在于,
所述第一查找单元还用于当将所述目标节点作为源节点时,通过查找该节点的节点注册信息确定与该节点同步的其他目标节点;
所述该节点上的同步模块和所述其他节点上的同步模块用于完成该节点的数据库与所述其他目标节点的数据库之间的数据同步。
16.根据权利要求10所述的系统,其特征在于,所述每个分布式节点还包括:
第二创建模块,用于在为节点创建数据库之后,针对每个数据库创建多个数据表,并为每个数据表分配一个数据表名;
分配模块,用于为每个数据表分配一个句柄,所述句柄和所述数据表名一一对应;
访问模块,用于查找与所述句柄相对应的数据表名,访问所述数据表名对应的数据表的结构信息。
17.根据权利要求16所述的系统,其特征在于,每个应用对应一个应用标识,所述每个分布式节点还包括:
注册模块,用于针对每个应用标识注册与其相匹配的数据表;
第二查找模块,用于当节点上的数据表中的数据更新之后,查找与所述数据表相匹配的应用标识;
通知模块,用于该节点通过所述统一接口将所述数据更新通知给所述相匹配的应用标识对应的应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103036665A CN102831223A (zh) | 2012-08-23 | 2012-08-23 | 一种分布式数据库的管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103036665A CN102831223A (zh) | 2012-08-23 | 2012-08-23 | 一种分布式数据库的管理方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102831223A true CN102831223A (zh) | 2012-12-19 |
Family
ID=47334358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012103036665A Pending CN102831223A (zh) | 2012-08-23 | 2012-08-23 | 一种分布式数据库的管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102831223A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093529A (zh) * | 2013-01-10 | 2013-05-08 | 高新现代智能系统股份有限公司 | 动态刷新数据的方法 |
CN103631924A (zh) * | 2013-12-03 | 2014-03-12 | Tcl集团股份有限公司 | 一种分布式数据库平台的应用方法和系统 |
CN104023056A (zh) * | 2014-05-30 | 2014-09-03 | 华为技术有限公司 | 更新数据的方法和相关设备 |
CN104408054A (zh) * | 2014-10-29 | 2015-03-11 | 深圳市金证科技股份有限公司 | 一种数据库管理系统 |
CN107515880A (zh) * | 2016-06-17 | 2017-12-26 | 宏碁股份有限公司 | 数据分散处理系统与方法 |
CN107528903A (zh) * | 2017-08-30 | 2017-12-29 | 郑州云海信息技术有限公司 | 一种基于ctdb的集群qos信息存储方法及装置 |
CN110119406A (zh) * | 2019-04-09 | 2019-08-13 | 口碑(上海)信息技术有限公司 | 实时任务记录的核对方法及装置 |
CN110222109A (zh) * | 2019-05-29 | 2019-09-10 | 邓子航 | 基于分布式账本技术的节点拼接系统、方法及区块链节点 |
WO2019196760A1 (en) * | 2018-04-10 | 2019-10-17 | Huawei Technologies Co., Ltd. | Point-to-point database synchronization over a transport protocol |
CN111061724A (zh) * | 2019-11-08 | 2020-04-24 | 珠海许继芝电网自动化有限公司 | 用于配电自动化系统的高速实时数据库管理方法和装置 |
CN111309805A (zh) * | 2019-12-13 | 2020-06-19 | 华为技术有限公司 | 数据库的数据读写方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739460A (zh) * | 2009-12-16 | 2010-06-16 | 中国科学院对地观测与数字地球科学中心 | 基于网格的空间数据源统一化服务系统和方法 |
CN102088489A (zh) * | 2010-12-31 | 2011-06-08 | 北京理工大学 | 一种分布式数据同步系统及方法 |
CN102314375A (zh) * | 2011-03-18 | 2012-01-11 | 北京神州数码思特奇信息技术股份有限公司 | 一种异构数据库存储统一接口和数据库访问方法 |
-
2012
- 2012-08-23 CN CN2012103036665A patent/CN102831223A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739460A (zh) * | 2009-12-16 | 2010-06-16 | 中国科学院对地观测与数字地球科学中心 | 基于网格的空间数据源统一化服务系统和方法 |
CN102088489A (zh) * | 2010-12-31 | 2011-06-08 | 北京理工大学 | 一种分布式数据同步系统及方法 |
CN102314375A (zh) * | 2011-03-18 | 2012-01-11 | 北京神州数码思特奇信息技术股份有限公司 | 一种异构数据库存储统一接口和数据库访问方法 |
Non-Patent Citations (1)
Title |
---|
沈敏: "基于XML的分布式异构数据库数据同步系统的研究", 《计算机工程与应用》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093529A (zh) * | 2013-01-10 | 2013-05-08 | 高新现代智能系统股份有限公司 | 动态刷新数据的方法 |
CN103631924A (zh) * | 2013-12-03 | 2014-03-12 | Tcl集团股份有限公司 | 一种分布式数据库平台的应用方法和系统 |
CN103631924B (zh) * | 2013-12-03 | 2018-08-31 | Tcl集团股份有限公司 | 一种分布式数据库平台的应用方法和系统 |
CN104023056B (zh) * | 2014-05-30 | 2017-11-24 | 华为技术有限公司 | 更新数据的方法和相关设备 |
CN104023056A (zh) * | 2014-05-30 | 2014-09-03 | 华为技术有限公司 | 更新数据的方法和相关设备 |
CN104408054B (zh) * | 2014-10-29 | 2017-10-31 | 深圳市金证科技股份有限公司 | 一种数据库管理系统 |
CN104408054A (zh) * | 2014-10-29 | 2015-03-11 | 深圳市金证科技股份有限公司 | 一种数据库管理系统 |
CN107515880B (zh) * | 2016-06-17 | 2020-12-22 | 宏碁股份有限公司 | 数据分散处理系统与方法 |
CN107515880A (zh) * | 2016-06-17 | 2017-12-26 | 宏碁股份有限公司 | 数据分散处理系统与方法 |
CN107528903A (zh) * | 2017-08-30 | 2017-12-29 | 郑州云海信息技术有限公司 | 一种基于ctdb的集群qos信息存储方法及装置 |
WO2019196760A1 (en) * | 2018-04-10 | 2019-10-17 | Huawei Technologies Co., Ltd. | Point-to-point database synchronization over a transport protocol |
US11805193B2 (en) | 2018-04-10 | 2023-10-31 | Huawei Technologies Co., Ltd. | Point-to-point database synchronization over a transport protocol |
CN110119406A (zh) * | 2019-04-09 | 2019-08-13 | 口碑(上海)信息技术有限公司 | 实时任务记录的核对方法及装置 |
CN110222109A (zh) * | 2019-05-29 | 2019-09-10 | 邓子航 | 基于分布式账本技术的节点拼接系统、方法及区块链节点 |
CN111061724A (zh) * | 2019-11-08 | 2020-04-24 | 珠海许继芝电网自动化有限公司 | 用于配电自动化系统的高速实时数据库管理方法和装置 |
CN111061724B (zh) * | 2019-11-08 | 2023-11-14 | 珠海许继芝电网自动化有限公司 | 用于配电自动化系统的高速实时数据库管理方法和装置 |
CN111309805B (zh) * | 2019-12-13 | 2023-10-20 | 华为技术有限公司 | 数据库的数据读写方法及装置 |
CN111309805A (zh) * | 2019-12-13 | 2020-06-19 | 华为技术有限公司 | 数据库的数据读写方法及装置 |
US11868333B2 (en) | 2019-12-13 | 2024-01-09 | Huawei Technologies Co., Ltd. | Data read/write method and apparatus for database |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102831223A (zh) | 一种分布式数据库的管理方法和系统 | |
CN101876983B (zh) | 数据库分区方法与系统 | |
KR101687124B1 (ko) | 위치 기반 서비스를 위한 데이터세트 구조를 생성하는 방법 및 모바일 디바이스에 위치 기반 서비스를 제공하기 위한 방법 및 시스템 | |
CN102799628A (zh) | 在key-value数据库中进行数据分区的方法和装置 | |
US8346812B2 (en) | Indexing in a resource description framework environment | |
KR102338208B1 (ko) | 데이터를 처리하기 위한 방법, 장치 및 시스템 | |
CN102053982A (zh) | 一种数据库信息管理方法和设备 | |
CN102567495A (zh) | 一种海量信息存储系统及实现方法 | |
CN103020078A (zh) | 分布式实时数据库数据层次索引方法 | |
CN102955843A (zh) | 一种键值数据库的多键查找实现方法 | |
EP2808804A1 (en) | Database controller, method, and program for handling range queries | |
CN103823846A (zh) | 一种基于图论的大数据存储及查询方法 | |
CN106156319A (zh) | 可伸缩的分布式的资源描述框架数据存储方法及装置 | |
CN103377269A (zh) | 传感器数据定位方法和装置 | |
CN105357247A (zh) | 基于分层云对等网络的多维属性云资源区间查找方法 | |
CN111553670A (zh) | 一种交易处理方法、装置及计算机可读存储介质 | |
CN101963978B (zh) | 一种分布式数据库的管理方法、装置及系统 | |
CN104519138A (zh) | 一种基于分布式ftp的数据传输方法及系统 | |
CN105912641A (zh) | 一种本地应用程序的图标更新方法及装置 | |
CN105159925A (zh) | 一种数据库集群数据分配方法及系统 | |
US9292559B2 (en) | Data distribution/retrieval using multi-dimensional index | |
CN104536784B (zh) | 实时系统更新方法及装置 | |
CN102780780B (zh) | 云计算模式下的数据处理方法、设备和系统 | |
CN102214214B (zh) | 数据关系的处理方法、装置及移动通讯终端 | |
US8392549B2 (en) | Apparatus and method for registering node and searching for floating internet protocol address using distributed network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121219 |