[go: up one dir, main page]

CN102262674A - 一种分布式内存数据库的数据同步方法及系统 - Google Patents

一种分布式内存数据库的数据同步方法及系统 Download PDF

Info

Publication number
CN102262674A
CN102262674A CN2011102296266A CN201110229626A CN102262674A CN 102262674 A CN102262674 A CN 102262674A CN 2011102296266 A CN2011102296266 A CN 2011102296266A CN 201110229626 A CN201110229626 A CN 201110229626A CN 102262674 A CN102262674 A CN 102262674A
Authority
CN
China
Prior art keywords
database
data
application program
title
change
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
Application number
CN2011102296266A
Other languages
English (en)
Inventor
林秋利
程国向
张健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
Datang Mobile Communications Equipment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CN2011102296266A priority Critical patent/CN102262674A/zh
Publication of CN102262674A publication Critical patent/CN102262674A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式内存数据库的数据同步方法及系统,用以避免分布式内存数据库的数据库代理上的数据冗余,减轻分布式内存数据库的数据库服务器和数据库代理的负担。本发明提供的一种分布式内存数据库的数据同步方法包括:数据库代理通过应用程序的注册,确定应用程序的名称,并向数据库服务器发送同步请求,以获取该应用程序的数据,其中所述同步请求中包括应用程序的名称;数据库代理获取数据库服务器发送的与应用程序的名称相对应的数据记录。

Description

一种分布式内存数据库的数据同步方法及系统
技术领域
本发明涉及通信技术领域,尤其涉及一种分布式内存数据库的数据同步方法及系统。
背景技术
在通信行业中对于数据库的实时性要求比较高,所以产生了内存数据库,而且目前的大多数系统都是多任务多进程的,对数据库的并发访问是频繁发生的,这就要求数据库能够很好的支持并发访问,这样分布式数据库就成为一种必然,而在分布式模式下,内存库数据如何无冗余分布和如何并发同步且不影响实时性的要求就成为关键问题,目前虽有一些成熟的内存数据库,例如自研数据库等,但对这些问题的处理上仍有一定的局限性。
对于分布式内存数据库,一般都采用服务器/代理的工作模式,服务器一般分布在主控节点上,而代理分布在外围节点上,服务器上管理数据库的全集,代理上仅分布数据库的子集;整个内存数据库都需要有文件备份,服务器首先从文件加载数据到内存中,代理根据分布原则从服务器上请求自己的数据子集;内存的组织一般为集中的分段组织,各表的记录组织在连续的一块内存中,索引组织在一块连续的内存中;数据库在运行的过程中随着系统的变化需要对表进行操作,变更的内容需要及时同步到各节点上,另外服务器负责将需要存盘的数据写盘。
对于代理上数据的分布,有以表为划分原则进行分布处理,也有以单板为划分原则进行的分布处理,还有的是整个数据库的复制,这些方法都有可能使数据的分布存在冗余,即代理上存在不需要的数据,而在冗余数据存在的情况下,也增加了主控节点和外围节点进行数据同步的负担。
对于数据的同步,目前大多数内存数据库对实时同步的做法是同步整条记录,但是这样同步存在问题,即时序的问题,不同的代理需要不同的数据对象,而在对多个代理进行数据同步时,有可能出现多个代理需要的不同数据对象相互覆盖的现象,虽然也可以通过并发操作串行化的方法避免覆盖,但是流程控制过于复杂,在具有全局节点、外围节点、主备等复杂的系统中不能考虑到所有的异常,且多个并发操作的串行化也会使同步的实时性不好。
发明内容
本发明实施例提供了一种分布式内存数据库的数据同步方法及系统,用以避免分布式内存数据库的数据库代理上的数据冗余,减轻分布式内存数据库的数据库服务器和数据库代理的负担。
本发明实施例提供的一种分布式内存数据库的数据同步方法包括:
数据库代理通过应用程序的注册,确定应用程序的名称,并向数据库服务器发送同步请求,以获取该应用程序的数据,其中所述同步请求中包括应用程序的名称;
数据库代理获取数据库服务器发送的与应用程序的名称相对应的数据记录。
本发明实施例提供的一种分布式内存数据库的数据同步方法包括:
数据库服务器接收数据库代理发送的同步请求,并从中获取应用程序的名称;
数据库服务器根据应用程序的名称,查找与应用程序的名称相对应的数据记录,并将查找到的与应用程序的名称相对应的数据记录发送给所述数据库代理。
本发明实施例提供的一种分布式内存数据库的数据同步系统包括:
同步请求单元,用于通过应用程序的注册,确定应用程序的名称,并向数据库服务器发送同步请求,以获取该应用程序的数据,其中所述同步请求中包括应用程序的名称;
获取同步数据单元,用于获取数据库服务器发送的与应用程序的名称相对应的数据记录。
本发明实施例提供的一种分布式内存数据库的数据同步系统包括:
同步请求接收单元,用于接收数据库代理发送的同步请求,并从中获取应用程序的名称;
同步数据发送单元,用于根据应用程序的名称,查找与应用程序的名称相对应的数据记录,并将查找到的与应用程序的名称相对应的数据记录发送给所述数据库代理。
本发明实施例,数据库代理通过应用程序的注册,确定应用程序的名称,并向数据库服务器发送同步请求,以获取该应用程序的数据,其中所述同步请求中包括应用程序的名称;数据库代理获取数据库服务器发送的与应用程序的名称相对应的数据记录,从而避免了分布式内存数据库的数据库代理上的数据冗余,减轻了分布式内存数据库的数据库服务器和数据库代理的负担。
本发明实施例,数据库服务器接收数据库代理发送的同步请求,并从中获取应用程序的名称;数据库服务器根据应用程序的名称,查找与应用程序的名称相对应的数据记录,并将查找到的与应用程序的名称相对应的数据记录发送给数据库代理,从而避免了分布式内存数据库的数据库代理上的数据冗余,减轻了分布式内存数据库的数据库服务器和数据库代理的负担。
附图说明
图1为本发明实施例提供的代理侧的一种分布式内存数据库的数据同步方法的流程示意图;
图2为本发明实施例提供的服务器侧的一种分布式内存数据库的数据同步方法的流程示意图;
图3为本发明实施例提供的数据分布原则示意图;
图4为本发明实施例提供的内存组织示意图;
图5为本发明实施例提供的字段同步格式示意图;
图6为本发明实施例提供的分布式内存数据库的系统结构示意图;
图7为本发明实施例提供的一种分布式内存数据库的数据同步系统的结构示意图;
图8为本发明实施例提供的一种分布式内存数据库的数据同步系统的结构示意图。
具体实施方式
本发明实施例提供了一种分布式内存数据库的数据同步方法及系统,用以避免分布式内存数据库的数据库代理上的数据冗余,减轻分布式内存数据库的数据库服务器和数据库代理的负担。
基于现有技术中存在的问题,本发明实施例提供了一种较好的无冗余分布原则和按字段同步的方法,满足了通信行业对内存数据库的要求,可以很好地解决现有技术中存在的问题,本发明实施例中的数据库代理(简称代理)和数据库服务器(简称服务器)组成的系统,可以命名为基于SAF规范的分布式内存管理系统,SAF规范是一种提供高可用性服务的规范,该规范提出了一种SAF架构,在该架构下针对每个服务都提出了相应的规范,本发明实施例提供的技术方案是基于SAF规范中的信息模型服务规范提出的。
如果数据能够按照应用的要求进行同步,那么每个节点上分布的数据就能够满足应用对数据库的要求,这样减少了数据的同步过程;并且在数据变更后,数据库主控节点知道数据应该同步到哪个外围节点上,这就需要有一个分布原则来确定如何进行数据分布。
首先介绍一下本发明实施例涉及的一些概念:
静态数据:只有网管通过服务器能够进行增加、删除、修改的数据,应用程序可以进行查询。
运行数据:只有代理上的应用程序能够增加、删除、修改的数据,网管可以进行查询。
静态数据和运行数据,可以保存在xml文件或者数据库中,这两种数据可以不分开存放,只需为字段约定一个属性以表示该字段是静态字段还是动态字段。
配置变更:对静态数据的一次操作,例如增加记录、删除记录、修改记录。
配置变更集:一个事务过程中的所有配置变更,这些配置变更要么全部生效,要么全部不生效。
运行变更:对运行数据的一次操作,例如增加记录、删除记录、修改记录。
数据对象(简称对象):现实中一条记录表示一个实体,或是物理实体,或是逻辑实体,不管是物理实体还是逻辑实体都可看作一个对象。
类:一条记录表示一个对象,描述记录的表称为类。
多个对象构成一个表。
本发明实施例,通过在表中增加应用程序的信息,让数据库服务器知道哪些对象属于哪个应用程序;通过应用程序向数据库代理注册,让代理知道本代理上需要请求哪个应用程序的数据;通过代理向服务器的请求,让服务器知道应用程序的分布情况;服务器从而在代理请求和数据变更的情况下,会智能的将数据对象同步到所属应用程序的代理上;另外,由于数据修改时是按字段进行同步的,因此避免了静态数据变更和运行数据变更的相互干扰,使系统不需要考虑静态数据变更和运行数据变更的并发处理和控制,简化了系统实现,同时降低了出错的概率。
下面结合附图对本发明实施例提供的技术方案进行说明。
在代理侧,参见图1,本发明实施例提供的一种分布式内存数据库的数据同步方法,包括:
S101、数据库代理通过应用程序的注册,确定应用程序的名称,并向数据库服务器发送同步请求,以获取该应用程序的数据,其中所述同步请求中包括应用程序的名称;
S102、数据库代理获取数据库服务器发送的与应用程序的名称相对应的数据记录。
较佳地,该方法还包括配置变更同步:
数据库代理接收数据库服务器发送的需要变更的数据对象;
数据库代理通过应用进程对所述数据对象进行校验;
当校验成功时,数据库代理利用所述数据对象更新本地数据库。
较佳地,该方法还包括运行变更同步:
数据库代理通过应用进程更新本地数据库,并将变更的字段按照预先与数据库服务器协商确定的格式组包并发送给数据库服务器。
较佳地,所述数据库代理存储的数据记录,包括该记录与另一记录的关联关系的字段。
在服务器侧,参见图2,本发明实施例提供的一种分布式内存数据库的数据同步方法,包括步骤:
S201、数据库服务器接收数据库代理发送的同步请求,并从中获取应用程序的名称;
S202、数据库服务器根据应用程序的名称,查找与应用程序的名称相对应的数据记录,并将查找到的与应用程序的名称相对应的数据记录发送给数据库代理。
较佳地,该方法还包括配置变更同步:
数据库服务器通过事务过程获取配置变更集,其中包括需要变更的数据对象;
数据库服务器根据数据库代理的注册信息,向数据库代理发送需要变更的的数据对象;
数据库服务器根据数据库代理对所述数据对象的校验结果,利用所述数据对象更新本地数据库,或者放弃所述事务过程。
较佳地,该方法还包括运行变更同步:
数据库服务器接收数据库代理发送的数据包,并按照预先与数据库代理协商确定的格式,解析所述数据包,获取变更的字段,并利用变更的字段更新本地数据库。
较佳地,所述数据库服务器存储的数据记录,包括该记录与另一记录的关联关系的字段。
下面给出本发明实施例提供的技术方案的详细说明。
无冗余分布原则:将数据按照实现者(即应用程序)进行划分,在每张表中增加实现者字段,每个实现者对应一个应用者(即应用程序)名字,该名字可能指一个实际的应用实体,也可能是多个应用实体的抽象实体(当多个应用使用同一张表中同一个对象时),应用程序在初始化的时候需要向数据库代理注册自己的名字,代理通过该名字向数据库服务器发送同步请求,服务器遍历所有表中的所有记录,将包含请求的应用名的所有记录同步到数据库代理,同步结束后代理通过回调函数通知应用程序(即应用组件)获取数据,即应用组件调用该系统的接口,在接口中根据记录中的实现者的名字为应用组件返回记录,同时服务器需要将代理的注册信息(其中包括代理所在的应用程序的源IP和端口号、应用程序的名字、相关的回调函数)登记下来,以便在配置变更的时候确定变更需要同步到哪些代理。其中,同一应用名可以对应多个表中的多个记录。
通过该原则,每个代理上初始分布的数据都为应用程序自己的数据,因为应用程序初始化时向代理注册,代理向服务器请求该应用程序的记录,服务器通过比较记录中的实现者名字和应用程序的名字与代理同步,代理同步到记录后,调用应用程序的回调函数,应用程序在回调函数中获取数据,回调函数返回后,应用程序就获取到自己的初始化数据。这样应用程序可以在初始化阶段一次性要到自己需要的所有数据,没有冗余数据存在,以后对数据库的访问都在本地完成即可;当数据发生变更,通过服务器上记录的注册信息,将变更内容同步到相应的外围节点上,即将变更内容同步到代理上,代理进而调用应用程序的回调函数,应用程序在回调函数中通过调用代理提供的接口来获取数据,接口根据应用程序的注册信息仅返回应用程序自己的数据。
其中,外围节点可以是一个单板,也可以是一个进程。
在该原则下的分布式同步过程如图3所示,该图3中每个英文缩写代表的是一个应用组件(即应用程序)的名字,例如NTF、SMF、PLM和CLM。数据所指向的内容表示应用组件的对象。
内存组织:
由于现实中的对象都是具有父子关系的,即各对象之间具有关联关系,对表中每条记录的组织不再按照记录的顺序组织方式,而是根据对象的父子关系组织成为对象树,这样避免了具有关联关系的表通过冗余字段进行关联,仅需要在表中增加父对象字段即可表示表的关联,这样组织的好处是可以很方便的访问对象的父对象,也可以很方便的访问一个对象的所有子对象,从而对于具有父子关系的对象集合进行操作非常方便。
对象的内存组织参见图4,对象在内存中组织时,自动按照父子关系进行组织,父子关系可以直接从树中找到,每个圆圈表示一个对象,每个对象包括多个对象信息,每一对象信息包括多个属性信息。
对于配置变更,也将配置变更对象组织为与图4所示树相类似的树型结构,应用程序访问对象时,从树根开始分层遍历对象(简称分层遍历),也可以按照树的深度遍历各个子树(简称深度遍历),具体地:配置变更对象根据对象的父子关系组织为变更树,代理提供下一个(next)接口用于遍历该树,该接口中提供一个入参来判断是分层遍历还是深度遍历,配置变更首先由服务器将变更对象同步到相关的代理上,代理将变更对象组织成配置变更树,代理调用应用程序的回调函数来获取数据,回调函数调用next接口来获取属于自己的变更对象。
分层遍历:根是第0层,从根开始将每层中属于该应用程序的对象通过next接口返回,本层遍历完毕,然后遍历下一层的对象,每遍历到一个对象,通过next接口返回,不属于该应用程序的,直接遍历下一个对象。
深度遍历:从根开始遍历,直到叶子节点,直到所有的父对象及他们的子对象都遍历完毕,每遍历到一个对象,通过next接口返回,不属于该应用程序的,直接遍历下一个对象。
通过上述不同的访问方法来获取配置变更集中相关的对象,每个对象的属性用指针数组来指向,每个指针指向一个属性,这样组织的好处是对象的属性可以独立的进行更新,各个属性的更新互不干扰。即更新对象的属性时,将对象的属性组织在一个结构体数组中,每个结构体代表一个属性更新信息,包括属性名、属性类型、属性的新值等,可以更新一个或者多个属性值,不变的属性不受影响。
配置变更同步:当网管进行配置变更时,需要通过事务过程将配置变更集发送给服务器端,服务器端将配置变更集缓存在临时缓冲区中,并根据代理的注册信息将配置变更同步到相关的代理上,即根据记录中的实现者同步到相应的应用进程中,代理将同步到的变更对象根据对象的父子关系组织成临时的配置变更树,并不直接应用于本地数据库,待同步结束后,代理通过回调函数通知应用进程对数据进行校验(具体采用应用程序自己定义的数据校验规则,比如字段范围校验等),如果数据都校验通过后,服务器端和所有相关的代理将配置变更集或子集应用于本地数据库中,如果数据校验失败,服务器上放弃本次事务过程,各代理上释放临时的配置变更树,这样做的好处是,不需要在修改数据时对整个数据库进行备份,这样大大节省数据库的内存占用。
其中,所述事务过程,即数据配置的一次原子过程,网管将配置变更数据对象发给网元上的网管适配,网元适配解析配置变更数据对象,并将通知服务器,服务器分析组织配置数据,并同步到各个相关代理上,服务器最终将同步结果通知网管的整个过程。
其中,所述根据代理的注册信息将配置变更同步到相关的代理上,包括:
步骤一:服务器上设置有代理的注册信息(包括应用程序名称),而对象(即一条记录)中设置有实现者名字(即应用程序名名称)。
步骤二:服务器上对配置对象按照实现者名称进行组织挂链。
步骤三:服务器上针对每个实现者进行同步,针对每个实现者,将该实现者相关的对象组包发送到代理上,直到所有的实现者都同步结束。
运行变更同步:当应用进程进行运行变更时,应用程序调用代理上的API接口直接更新数据库,由于运行变更可能需要通知网管,所以运行变更的内容需要同步到服务器端,代理将变更的字段按照确定的格式通知到服务器上,具体包括:将更新的属性按照结构体数组组织起来,发消息到服务器上,服务器上解析消息更新服务器本身的内存数据库。服务器上根据运行变更内容更新本地的数据库,各代理如果需要知道相互对运行数据的更新,通过通知服务中介进行通知,通过该中介的发布和订阅达到通知运行数据的更新的目的。
在配置变更同步和运行变更同步中,为了不使配置变更和运行变更相冲突,两者都是针对记录的变更字段进行同步,避免了整条记录同步时由于两者时序的问题而导致互相覆盖的问题,按照字段同步最重要的是同步格式,发送方和接收方必须按照相同的格式组织和解析变更数据。
代理和服务器预先对字段同步格式进行约定,如图5所示同步格式,其中对象名是能够唯一标识一个对象的字段,对象名字在整个数据库中全局唯一。源地址,即代理的IP地址和端口号。图5所示是对对象信息的组织格式,发送方按照这个格式组包,接收方按照这个格式解析包,每包的大小不超过64k,且一包中都是完整的记录。
参见图6,本发明实施例提供的分布式内存数据库的系统包括:
服务器和代理包括有两者的交互处理模块,这些功能模块的功能都是由多个组件协作完成的;
数据访问API即kernel接口,提供数据库本身对本地数据的访问和操作;
应用程序访问API,向应用程序提供对数据库的访问和操作,这些接口提供目前数据的所有基本方法,包括增加、删除、修改和根据各种过滤条件的查询。
除了以上模块之外,服务器上需要完成初始数据从文件到内存的加载以及内存数据变更后的写盘,以及服务器主备的维护工作,以增强系统的稳定性,并便于系统重启后的数据恢复。
图6中所示数据库代理上的和服务器交互处理单元,参见图7,具体可以包括:
同步请求单元11,用于通过应用程序的注册,确定应用程序的名称,并向数据库服务器发送同步请求,以获取该应用程序的数据,其中所述同步请求中包括应用程序的名称;
获取同步数据单元12,用于获取数据库服务器发送的与应用程序的名称相对应的数据记录。
较佳地,该系统还包括:
配置变更同步单元13,用于接收数据库服务器发送的需要变更的数据对象;通过应用进程对所述数据对象进行校验;当校验成功时,利用所述数据对象更新本地数据库。
较佳地,该系统还包括:
运行变更同步单元14,用于通过应用进程更新本地数据库,并将变更的字段按照预先与数据库服务器协商确定的格式组包并发送给数据库服务器。
较佳地,所述系统存储的数据记录,包括该记录与另一记录的关联关系的字段。
图6中所示数据库服务器上的代理请求处理单元,参见图8,具体可以包括:
同步请求接收单元21,用于接收数据库代理发送的同步请求,并从中获取应用程序的名称;
同步数据发送单元22,用于根据应用程序的名称,查找与应用程序的名称相对应的数据记录,并将查找到的与应用程序的名称相对应的数据记录发送给数据库代理。
较佳地,该系统还包括:
配置变更同步单元23,用于通过事务过程获取配置变更集,其中包括需要变更的数据对象;根据数据库代理的注册信息,向数据库代理发送需要变更的的数据对象;根据数据库代理对所述数据对象的校验结果,利用所述数据对象更新本地数据库,或者放弃所述事务过程。
较佳地,该系统还包括:
运行变更同步单元24,用于接收数据库代理发送的数据包,并按照预先与数据库代理协商确定的格式,解析所述数据包,获取变更的字段,并利用变更的字段更新本地数据库。
较佳地,所述系统存储的数据记录,包括该记录与另一记录的关联关系的字段。
综上所述,本发明实施例提供的技术方案,包括无冗余分布原则、按字段同步原则以及数据的内存组织等,避免了同步过程中的并发冲突问题,简化了分布式内存数据库的同步过程,使得分布式内存数据库真正具备实时性;同时无冗余的数据分布使得各节点上的数据库内存占用减少,为通信系统中的单板上有限的内存赢得了宝贵的内存资源,也避免了冗余数据的同步引起的系统CPU开销,提高了分布式内存数据库的稳定性和可维护性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种分布式内存数据库的数据同步方法,其特征在于,该方法包括:
数据库代理通过应用程序的注册,确定应用程序的名称,并向数据库服务器发送同步请求,以获取该应用程序的数据,其中所述同步请求中包括应用程序的名称;
数据库代理获取数据库服务器发送的与应用程序的名称相对应的数据记录。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
数据库代理接收数据库服务器发送的需要变更的数据对象;
数据库代理通过应用进程对所述数据对象进行校验;
当校验成功时,数据库代理利用所述数据对象更新本地数据库。
3.根据权利要求1所述的方法,其特征在于,该方法还包括:
数据库代理通过应用进程更新本地数据库,并将变更的字段按照预先与数据库服务器协商确定的格式组包并发送给数据库服务器。
4.根据权利要求1、2或3所述的方法,其特征在于,所述数据库代理存储的数据记录,包括该记录与另一记录的关联关系的字段。
5.一种分布式内存数据库的数据同步方法,其特征在于,该方法包括:
数据库服务器接收数据库代理发送的同步请求,并从中获取应用程序的名称;
数据库服务器根据应用程序的名称,查找与应用程序的名称相对应的数据记录,并将查找到的与应用程序的名称相对应的数据记录发送给所述数据库代理。
6.根据权利要求5所述的方法,其特征在于,该方法还包括:
数据库服务器通过事务过程获取配置变更集,其中包括需要变更的数据对象;
数据库服务器根据数据库代理的注册信息,向数据库代理发送需要变更的的数据对象;
数据库服务器根据数据库代理对所述数据对象的校验结果,利用所述数据对象更新本地数据库,或者放弃所述事务过程。
7.根据权利要求5所述的方法,其特征在于,该方法还包括:
数据库服务器接收数据库代理发送的数据包,并按照预先与数据库代理协商确定的格式,解析所述数据包,获取变更的字段,并利用变更的字段更新本地数据库。
8.根据权利要求5、6或7所述的方法,其特征在于,所述数据库服务器存储的数据记录,包括该记录与另一记录的关联关系的字段。
9.一种分布式内存数据库的数据同步系统,其特征在于,该系统包括:
同步请求单元,用于通过应用程序的注册,确定应用程序的名称,并向数据库服务器发送同步请求,以获取该应用程序的数据,其中所述同步请求中包括应用程序的名称;
获取同步数据单元,用于获取数据库服务器发送的与应用程序的名称相对应的数据记录。
10.根据权利要求9所述的系统,其特征在于,该系统还包括:
配置变更同步单元,用于接收数据库服务器发送的需要变更的数据对象;通过应用进程对所述数据对象进行校验;当校验成功时,利用所述数据对象更新本地数据库。
11.根据权利要求9所述的系统,其特征在于,该系统还包括:
运行变更同步单元,用于通过应用进程更新本地数据库,并将变更的字段按照预先与数据库服务器协商确定的格式组包并发送给数据库服务器。
12.根据权利要求9、10或11所述的系统,其特征在于,所述系统存储的数据记录,包括该记录与另一记录的关联关系的字段。
13.一种分布式内存数据库的数据同步系统,其特征在于,该系统包括:
同步请求接收单元,用于接收数据库代理发送的同步请求,并从中获取应用程序的名称;
同步数据发送单元,用于根据应用程序的名称,查找与应用程序的名称相对应的数据记录,并将查找到的与应用程序的名称相对应的数据记录发送给所述数据库代理。
14.根据权利要求13所述的系统,其特征在于,该系统还包括:
配置变更同步单元,用于通过事务过程获取配置变更集,其中包括需要变更的数据对象;根据数据库代理的注册信息,向数据库代理发送需要变更的的数据对象;根据数据库代理对所述数据对象的校验结果,利用所述数据对象更新本地数据库,或者放弃所述事务过程。
15.根据权利要求13所述的系统,其特征在于,该系统还包括:
运行变更同步单元,用于接收数据库代理发送的数据包,并按照预先与数据库代理协商确定的格式,解析所述数据包,获取变更的字段,并利用变更的字段更新本地数据库。
16.根据权利要求13、14或15所述的系统,其特征在于,所述系统存储的数据记录,包括该记录与另一记录的关联关系的字段。
CN2011102296266A 2011-08-11 2011-08-11 一种分布式内存数据库的数据同步方法及系统 Pending CN102262674A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011102296266A CN102262674A (zh) 2011-08-11 2011-08-11 一种分布式内存数据库的数据同步方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011102296266A CN102262674A (zh) 2011-08-11 2011-08-11 一种分布式内存数据库的数据同步方法及系统

Publications (1)

Publication Number Publication Date
CN102262674A true CN102262674A (zh) 2011-11-30

Family

ID=45009302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102296266A Pending CN102262674A (zh) 2011-08-11 2011-08-11 一种分布式内存数据库的数据同步方法及系统

Country Status (1)

Country Link
CN (1) CN102262674A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102542007A (zh) * 2011-12-13 2012-07-04 中国电子科技集团公司第十五研究所 关系型数据库之间的同步方法及系统
CN103186624A (zh) * 2011-12-31 2013-07-03 北京亿阳信通科技有限公司 一种数据同步方法和数据同步装置
CN103793533A (zh) * 2014-02-27 2014-05-14 大唐移动通信设备有限公司 一种分布式数据同步方法和设备
CN103902617A (zh) * 2012-12-28 2014-07-02 华为技术有限公司 分布式数据库同步方法和系统
CN106599061A (zh) * 2016-11-16 2017-04-26 成都九洲电子信息系统股份有限公司 基于SQLite的嵌入式数据库同步方法
CN106649632A (zh) * 2016-12-07 2017-05-10 北京众享比特科技有限公司 数据同步方法及系统
CN107656981A (zh) * 2017-09-08 2018-02-02 中国科学院计算机网络信息中心 一种基于标识技术的数据共享和管理方法及系统
CN108255938A (zh) * 2017-12-07 2018-07-06 中国航空工业集团公司西安航空计算技术研究所 一种机载嵌入式内存数据库映像生成和加载方法
CN110471746A (zh) * 2019-08-22 2019-11-19 中国工商银行股份有限公司 一种分布式事务回调方法、装置及系统
CN111552487A (zh) * 2019-02-11 2020-08-18 福建省天奕网络科技有限公司 H5跨引擎客户端本地数据代理方法、存储介质
CN112131231A (zh) * 2020-08-27 2020-12-25 中信银行股份有限公司 一种分布式数据库编目管理方法、系统、电子设备和可读存储介质
CN113076329A (zh) * 2020-01-03 2021-07-06 上海亲平信息科技股份有限公司 一种内存数据库
CN113297246A (zh) * 2020-06-16 2021-08-24 阿里巴巴集团控股有限公司 一种数据的处理方法、计算设备及存储介质
CN114924806A (zh) * 2022-04-07 2022-08-19 南京慧尔视软件科技有限公司 一种配置信息的动态同步方法、装置、设备及介质
CN114936244A (zh) * 2022-04-24 2022-08-23 浙江数新网络有限公司 一种基于响应式线程池的数据库代理实现方法
CN115544046A (zh) * 2022-11-25 2022-12-30 成都交大光芒科技股份有限公司 一种对象数据的分层更新方法、装置、设备和存储介质
CN116560864A (zh) * 2023-07-06 2023-08-08 苏州浪潮智能科技有限公司 一种分布式锁的实现方法、装置、系统、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212557B1 (en) * 1990-01-29 2001-04-03 Compaq Computer Corporation Method and apparatus for synchronizing upgrades in distributed network data processing systems
CN1647071A (zh) * 2001-10-24 2005-07-27 Bea系统公司 数据同步
CN101582920A (zh) * 2009-06-09 2009-11-18 中兴通讯股份有限公司 一种分布式文件系统中校验和同步数据块的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212557B1 (en) * 1990-01-29 2001-04-03 Compaq Computer Corporation Method and apparatus for synchronizing upgrades in distributed network data processing systems
CN1647071A (zh) * 2001-10-24 2005-07-27 Bea系统公司 数据同步
CN101582920A (zh) * 2009-06-09 2009-11-18 中兴通讯股份有限公司 一种分布式文件系统中校验和同步数据块的方法及装置

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102542007A (zh) * 2011-12-13 2012-07-04 中国电子科技集团公司第十五研究所 关系型数据库之间的同步方法及系统
CN103186624B (zh) * 2011-12-31 2017-10-20 亿阳信通股份有限公司 一种数据同步方法和数据同步装置
CN103186624A (zh) * 2011-12-31 2013-07-03 北京亿阳信通科技有限公司 一种数据同步方法和数据同步装置
CN103902617A (zh) * 2012-12-28 2014-07-02 华为技术有限公司 分布式数据库同步方法和系统
CN103902617B (zh) * 2012-12-28 2017-06-09 华为技术有限公司 分布式数据库同步方法和系统
CN103793533A (zh) * 2014-02-27 2014-05-14 大唐移动通信设备有限公司 一种分布式数据同步方法和设备
CN103793533B (zh) * 2014-02-27 2017-12-08 大唐移动通信设备有限公司 一种分布式数据同步方法和设备
CN106599061B (zh) * 2016-11-16 2020-06-30 成都九洲电子信息系统股份有限公司 基于SQLite的嵌入式数据库同步方法
CN106599061A (zh) * 2016-11-16 2017-04-26 成都九洲电子信息系统股份有限公司 基于SQLite的嵌入式数据库同步方法
CN106649632A (zh) * 2016-12-07 2017-05-10 北京众享比特科技有限公司 数据同步方法及系统
CN107656981A (zh) * 2017-09-08 2018-02-02 中国科学院计算机网络信息中心 一种基于标识技术的数据共享和管理方法及系统
CN108255938A (zh) * 2017-12-07 2018-07-06 中国航空工业集团公司西安航空计算技术研究所 一种机载嵌入式内存数据库映像生成和加载方法
CN111552487A (zh) * 2019-02-11 2020-08-18 福建省天奕网络科技有限公司 H5跨引擎客户端本地数据代理方法、存储介质
CN111552487B (zh) * 2019-02-11 2022-07-05 福建省天奕网络科技有限公司 H5跨引擎客户端本地数据代理方法、存储介质
CN110471746B (zh) * 2019-08-22 2022-04-19 中国工商银行股份有限公司 一种分布式事务回调方法、装置及系统
CN110471746A (zh) * 2019-08-22 2019-11-19 中国工商银行股份有限公司 一种分布式事务回调方法、装置及系统
CN113076329A (zh) * 2020-01-03 2021-07-06 上海亲平信息科技股份有限公司 一种内存数据库
CN113297246A (zh) * 2020-06-16 2021-08-24 阿里巴巴集团控股有限公司 一种数据的处理方法、计算设备及存储介质
CN112131231A (zh) * 2020-08-27 2020-12-25 中信银行股份有限公司 一种分布式数据库编目管理方法、系统、电子设备和可读存储介质
CN114924806A (zh) * 2022-04-07 2022-08-19 南京慧尔视软件科技有限公司 一种配置信息的动态同步方法、装置、设备及介质
CN114924806B (zh) * 2022-04-07 2024-03-26 南京慧尔视软件科技有限公司 一种配置信息的动态同步方法、装置、设备及介质
CN114936244A (zh) * 2022-04-24 2022-08-23 浙江数新网络有限公司 一种基于响应式线程池的数据库代理实现方法
CN114936244B (zh) * 2022-04-24 2025-07-25 浙江数新网络有限公司 一种基于响应式线程池的数据库代理实现方法
CN115544046A (zh) * 2022-11-25 2022-12-30 成都交大光芒科技股份有限公司 一种对象数据的分层更新方法、装置、设备和存储介质
CN116560864A (zh) * 2023-07-06 2023-08-08 苏州浪潮智能科技有限公司 一种分布式锁的实现方法、装置、系统、设备及存储介质
CN116560864B (zh) * 2023-07-06 2023-11-03 苏州浪潮智能科技有限公司 一种分布式锁的实现方法、装置、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
CN102262674A (zh) 一种分布式内存数据库的数据同步方法及系统
CN104885054B (zh) 大规模并行处理数据库中执行事务的系统和方法
CN112162846B (zh) 事务处理方法、设备及计算机可读存储介质
Levandoski et al. Deuteronomy: Transaction support for cloud data
US9286368B2 (en) Linking framework for information technology management
US8489640B2 (en) Field extensibility using generic boxed components
KR101863398B1 (ko) 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법
US6466965B1 (en) Centralized affinity maintenance in a workload managed client/server data processing system
CN103345502B (zh) 分布式数据库的事务处理方法和系统
CN101042767A (zh) web服务数据库群集体系结构及其方法
CN104517181B (zh) 一种核电站企业内容管理系统及方法
US8527995B2 (en) Synchronization system for entities maintained by multiple applications
CN1829974B (zh) 借助于非失败节点的并行恢复
KR20200092095A (ko) 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법
US20090100082A1 (en) Replication and mapping mechanism for recreating memory durations
CN1271812C (zh) 无线设备同步系统及方法
CN112104504B (zh) 一种大规模资源访问的事务管理框架、设计方法及云平台
US10331627B2 (en) Method and system for unified technological stack management for relational databases
US8694559B2 (en) Using database content for multiple business data systems connected to one database
EP3061011B1 (en) Method for optimizing index, master database node and subscriber database node
CN118916431B (zh) 一种GoldenDB数据库的数据采集方法、系统、设备及介质
US12265945B1 (en) Inventory management with automatic alignment of balances across multiple orthogonal categorization schemes
CN116226274A (zh) 元数据同步方法、分布式数据库系统和存储介质
US12259891B2 (en) Hybrid database implementations
WO2025010725A1 (en) Hybrid database implementations

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: 20111130