CN100531055C - 数据同步系统及其方法 - Google Patents
数据同步系统及其方法 Download PDFInfo
- Publication number
- CN100531055C CN100531055C CNB2006100720968A CN200610072096A CN100531055C CN 100531055 C CN100531055 C CN 100531055C CN B2006100720968 A CNB2006100720968 A CN B2006100720968A CN 200610072096 A CN200610072096 A CN 200610072096A CN 100531055 C CN100531055 C CN 100531055C
- Authority
- CN
- China
- Prior art keywords
- data
- rule
- mapping
- target application
- source
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Abstract
本发明公开一种数据同步系统及其方法,该方法包括步骤:A、依据采集规则从源应用采集数据,所述采集规则包括目标应用订阅的源应用以及需采集的数据信息;B、按照映射转换规则完成源应用与目标应用之间数据的转换;C、将采集的数据发送到目标应用或者直接插入目标应用中。本发明数据同步方法可以实现“按需同步”,同时大大降低了同步的数据量,减轻网络负荷,保证网络顺畅稳定。本发明适用于企业内/外数据系统、电信网络等领域的数据同步。
Description
技术领域
本发明涉及一种数据同步系统及其方法,特别是涉及一种基于订阅关系进行数据同步的数据同步系统及其方法。
背景技术
信息时代中,需要大量采集、传输与管理信息,因而对现有的信息应用技术提出很高要求。其中,信息的同步与共享显得尤为重要,需要一种高效的系统与方法来实现。
数据同步技术已经广泛应用到各行各业中,比如通信、网络等。例如在电信网管系统中,电信网系统越来越复杂。当网元设备接入电信网管系统的时候,网管系统需要保留网元的全部或部分配置信息,这一般是通过MMI(Man-Machine Language,人机语言)命令从网元上查询得来的。当用户通过本地操作维护终端修改设备的配置信息时,网管系统应能及时得到通知,然后再刷新自身的配置信息以和设备侧保持的实时数据一致。
在现有技术电信系统中,往往采用定时同步的方法,即网管在某个指定的时间点(比如指定每天一次)发出向设备的数据配置查询命令,通过查询结果刷新自身的配置数据。这个方法两个缺点,一是无法做到实时同步,网元上的配置修改往往过一段时间才能反映到网管上;二是不论有无修改都会查询一次,而且可能会把所有配置数据都查一遍,数据流量比较大。
另外一种方法则利用关系数据库来综合管理和调度数据采集和同步。关系数据库由若干个关系表以及其他的数据库对象组成,每个关系表包括若干条记录。在关系数据库的实际应用中,大量存在“修改现有数据集,然后对修改后的数据集进行处理”的情形,例如在CDMA基站系统基站设备的日常维护中,通过修改操作维护商用数据库,然后,由客户端设备控制同步服务器端获取操作维护商用数据库中的数据经套接字同步到基站设备中的实时数据库,从而达到修改基站设备运行数据,使得两者中的数据完全一致。显然,在应用中数据处理的效率非常关键,
而使数据处理过程所操作的数据集尽可能小,则是提高数据处理的效率的有效途径之一。但目前针对修改后的数据集,通常以下两种方法进行数据处理:
一、把关系数据库中所有关系表中的所有数据作为处理对象。和电信系统中的定时同步的方法一样,这种方式实现简单,但是考虑到通常改动的数据都不大,显然每次改动一小部分数据都将处理所有数据的方式效率较低。
二、把发生改动的关系表中的全部数据作为处理对象。这种方式需要一种机制,如在关系表上建立触发器,记录数据修改过程中哪些关系表被改动。与第一种方式相比,这种方式实现相对复杂,但是,由于只需处理被改动的关系表中的所有数据,所以,数据处理的效率相对较高,但通常也包括不必处理的冗余数据。
目前有对应第二种数据处理方法的改进方法,该方法包括步骤:先记录数据修改过程中所有的修改内容;再获取数据最小变动集;最后,清除处理过程中所建立的关系表。根据该专利申请文件的描述,采用该技术可明显提高数据同步传送效率和节省基站设备中CPU接受变动的配置数据时间。
但是,上述数据同步方法都存在共同的缺陷:
一、同步数据量过大。对于定时同步,是不分对象而全部同步;对于利用关系数据库来同步,虽然可以采用上述获取数据最小变动集方法,但判断是否同步的基础还是数据的变动,但实际上并非所有变动的数据都需要同步。因而不能确保同步数据量最小化。
二、不能保证数据的实时到达。定时同步显然很难实现数据的实时同步,如果要实现实时同步,同步操作必须每时每刻进行,这样大的数据传输量是很难实现并且很不经济的。对于利用关系数据库来同步的方式,上述现有技术都没有给出保证数据实时同步的技术手段。
三、无法保证事务的完整性。无论是定时同步还是利用关系数据库来同步,数据的获取都可能是没有规律和不按顺序进行的,比如对一件事件操作所产生的数据进行同步中,该事件包括按时间顺序排列的多个步骤,每个步骤都是后面步骤的触发条件,则对应这些步骤的信息同步到目标应用时,目标应用得到的这些步骤信息数据应当与在同步数据源的步骤信息数据顺序一致,否则同步到目标应用的这些步骤信息很可能已经打乱顺序,无法再次执行。
四、不能实现数据的过滤与筛选。在上述的现有技术中,被同步的数据都是无选择性的,要么全部都同步,要么是变更时被同步。因而可能出现该同步的没有同步,不该同步的数据反而被同步了,效率低并且数据传输量也大。
五、不能实时通知对变化数据感兴趣的其他系统。上述现有技术的数据都只能被同步到固定的目标应用,因而一旦目标应用改变则很难满足数据同步的要求。
六、在一些需要点对点数据同步的系统中,不同品牌不同结构数据库间是通常难以直接交换数据。不只是数据库间内部协议不同,其数据结构也相差太大。
发明内容
本发明要解决的技术问题是提供一种降低同步数据量并提高数据同步效率的数据同步方法。
本发明要解决的技术问题是又提供一种降低同步数据量并提高数据同步效率的数据同步系统。
为解决上述第一技术问题,本发明的目的是通过以下技术方案实现的:提供一种数据同步方法,包括步骤:A、依据采集规则从源应用将需采集的数据以事务为单位采集到缓存中,在所述以事务为单位采集的过程中在每一行采集记录中的操作步骤信息加上事务标识和操作顺序号字段,所述采集规则包括目标应用订阅的源应用以及需采集的数据信息;C、将采集的数据发送到目标应用或者直接插入目标应用中。
在步骤A和C之间还包括步骤:B、按照映射转换规则完成源应用与目标应用之间数据的转换。
所述步骤A包括步骤:a1、源应用数据发生变更触发采集事件,依据采集规则从源应用采集数据。
所述步骤A还包括步骤:a2、将数据写入缓存;a3、发出到缓存中取数据的通知;a4、读取数据,然后发出处理完成的通知,同时等待下一个触发事件。
所述子步骤a1包括子步骤:1)源应用数据发生变更触发采集事件,发送UDP报文告知变更。
所述步骤B包括步骤:b1、从映射转换规则中取得订阅者信息;b2、依据订阅者信息和采集规则找到对应映射转换规则,并根据映射转换规则对采集得到的数据进行映射和转换,将源应用数据转换成目标应用识别的数据。
所述子步骤b1包括子步骤:1)使用一个确定的端口侦听的通知消息;2)取得通知消息后从消息中取得采集规则信息;3)从该采集规则信息中取得所有订阅者信息;所述子步骤b2包括子步骤:4-1)依据订阅者和采集规则找到该采集规则对应的映射转换规则;4-2)依据映射转换规则转换数据;4-3)将映射和转换处理之后的数据依事务操作顺序打包;5)重复步骤4,按下一个订阅者的映射转换规则处理并发送,直到所有的订阅者都处理完毕;6)返回等待下一个通知消息的到来。
所述步骤C是依据路由分发规则将采集的数据发送到指定目标应用或者直接插入指定目标应用中。
所述步骤C包括步骤:c1、接收经过映射转换的数据;c2、从数据路由规则中释取路由字段;c3、依据路由计算规则计算数据的目标应用;c4、将数据写入目标应用给定的缓存,等待目标应用获取或者直接插入目标应用中。
所述路由规则的创建方法是:取得数据采集规则输出的数据格式;从输出的内容中取得计算路由的字段;准备目标应用路由表;创建路由规则;将路由规则发布到分发模块。
在步骤A至C进行的同时还包括对上述A~C步骤进行监控的步骤。
所述映射转换规则的创建方法是:明确目标应用的写入接口以及所有的接口参数的顺序和类型;明确采集输出的数据格式;创建接口参数到采集的数据单元之间的对应关系以及需要进行的转换处理;创建订阅关系;发布创建好的映射关系到映射转换中心。
所述采集规则的创建方法是:明确订阅者的需求;向采集器获取源应用的元数据;选定业务对象的元数据项作为订阅项;定义业务对象的元数据项作为采集的内容;发布采集规则。
所述采集规则的创建方法还包括步骤:定义采集过滤条件。
为解决上述第二技术问题,本发明的目的是通过以下技术方案实现的:提供一种数据同步系统,包括采集器,依据采集规则从源应用将需采集的数据以事务为单位采集到缓存中,在所述以事务为单位采集的过程中在每一行采集记录中的操作步骤信息加上事务标识和操作顺序号字段,所述采集规则包括目标应用订阅的源应用以及需采集的数据信息;分发模块,将采集的数据发送到目标应用或者直接插入目标应用中。
所述数据同步系统还包括带采集配置界面的采集控制器,用以设计采集规则并控制采集器。
所述采集器是嵌入源应用数据库表中的触发器,其依事务为单位采集数据到缓存后,等待转换中心模块获取。
所述数据同步系统还包括映射转换模块,其按照映射转换规则完成源应用与目标应用之间数据的转换,将源应用数据转换成目标应用识别的数据。
所述映射转换模块包括用以设计映射转换规则的映射转换设计器和映射转换中心,当数据进行映射转换后,所述映射转换中心将所述数据依事务操作顺序打包。
所述映射转换模块包括一个侦听来自采集器的通知消息的端口。
所述分发模块包括用以创建路由分发规则的数据路由管理中心和依据路由分发规则将采集的数据发送到指定目标应用或者直接插入指定目标数据库中的分发器。
所述数据同步系统还包括对系统错误进行监控的监控模块。
以上第一技术方案可以看出,由于本发明通过设定具体的数据采集规则,明确目标应用对源应用的订阅关系以及需要采集的数据种类,将数据采集的范围缩小到单个源应用,以及缩小到源应用的具体数据对象。在采集规则下的源应用数据变动即触发数据同步的操作,实现“按需同步”;同时由于只采集需要的数据,不是源应用的每个数据变更都导致采集和同步过程,因此大大降低了同步的数据量,减轻网络负荷,保证网络顺畅稳定。
本发明采用映射转换模块,在源应用和目标应用之间建立映射和转换关系,较好地解决源应用和目标应用之间由于数据格式或系统不同造成数据不能共享的问题。
以上第二技术方案可以看出,由于本发明设计采集器以及分发模块来进行数据同步,并设计包括目标应用订阅的源应用以及需采集的数据信息的采集规则来进行数据采集与同步,在采集规则下的源应用数据变动即触发数据同步的操作,实现“按需同步”;同时由于只采集需要的数据,不是源应用的每个数据变更都导致采集和同步过程,因此大大降低了同步的数据量,减轻网络负荷,保证网络顺畅稳定。
对数据以事务为单位进行采集的技术保证了事务性数据在同步后的完整性。
附图说明
图1是本发明数据同步系统的原理框图;
图2是本发明数据同步方法中创建数据采集规则的流程图;
图3是本发明数据同步方法中创建映射与转换规则的流程图;
图4是本发明数据同步方法中源应用和目标应用数据映射转换关系的示意图;
图5本发明数据同步方法中创建路由规则的流程图;
图6是本发明数据同步方法的总体流程图;
图7是本发明数据同步方法中的数据采集处理流程图;
图8是本发明数据同步方法中的数据映射转换处理流程图;
图9是本发明数据同步方法中的路由分发处理流程图。
具体实施方式
本发明数据同步系统及其方法的基本原理是:一、通过设定具体的数据采集规则,明确目标应用对源应用的订阅关系以及需要采集的数据种类,将数据采集的范围缩小到单个源应用,或者缩小到源应用的具体数据对象。在采集规则下的源应用数据变动即触发数据同步的操作,实现“按需同步”;二、采集动作触发与采集动作结束之后通过消息通知映射转换中心,确立了数据同步的即时通知机制,保证同步实时性;三、以事务为单位,按顺序对采集得到的数据进行打包传输,同时在目标应用中对打包数据进行解压缩得到同样顺序的数据,保证了数据同步的完整性;四、可以对订阅关系进行灵活调整,以加入对数据感兴趣的目标应用,使得数据同步的范围根据实际需要进行扩大或缩小;采用映射转换模块,在源应用和目标应用之间建立映射和转换关系,较好地解决源应用和目标应用之间由于数据格式或系统不同造成数据不能共享的问题。
以下结合实施方式和附图,对本发明进行详细描述。
参阅图1,本发明数据同步系统包括数据采集模块10、映射转换模块20、分发模块30以及监控模块40。所述采集模块10包括带采集配置界面11的采集控制器12和多个配置在各自源应用处的数据采集器13。所述映射转换模块20包括带设计操作界面21的映射转换设计器22和映射转换中心23。所述分发模块30包括带路由管理界面31的数据路由管理中心32和分发器33。所述监控模块40是带监控界面41的监控中心42。
所述采集控制器12集体管理数据采集器13,配合采集配置界面11配置各个数据采集器13的数据采集规则,并将这些采集规则发布到指定的数据采集器13中。采集器13则依据采集规则从源应用采集数据,所述采集规则包括目标应用50订阅的源应用以及需采集的数据信息,具体包含以下内容:
1)要采集的数据内容:需要采集哪些源应用的哪些内容;
2)触发条件:源应用中的哪些数据内容发生变化时需要进行采集;
3)过滤条件:如果一些内容满足或者不满足条件时,这些内容被忽略。
采集规则需要先定义好,或者在需要的时候进行修改。采集配置界面11配合采集控制器12设计采集规则,采集规则的定义/修改方法参见图2,包括如下流程:
1)明确订阅者的需求,就是目标应用50需要哪些源应用(数据库)和哪些数据,什么时候需要;
2)采集控制界通过源应用中的采集器13获取每个源应用的元数据101,所述元数据是需采集的数据对象的描述数据;
以下步骤3)~5)是定义/修改采集规则102:
3)选定源应用中需采集的数据的元数据项(属性)作为订阅项103,当这些数据项发生变化时,会触发采集器13采集这类变化的数据;
4)定义/修改源应用中需采集的数据的元数据项作为采集的内容104,也就是这些数据项会被数据采集器13采集并发送;
5)定义/修改采集过滤条件105,可以定义带有某些特定条件的数据不被采集或者只采集具有这些特性的数据;例如:银行有个客户对象,带有级别属性和积分属性,当级别高于“银卡”用户时或者积分>10000时,该客户数据为满足条件的客户,变化时就采集这些满足条件的记录,其余记录将被忽略;
6)定义/修改通知映射转换中心23的方式106;
7)发布采集规则107,供所有的采集器13使用。
其中步骤5)在不需要过滤数据的时候可以省略。步骤3)~5)的顺序是可以互相置换的。
所述采集器13是建立在源应用数据库表中的触发器。如上述采集规则的创建/修改方法步骤6)中所述,采集器13接收来自采集配置界面11的采集规则,根据采集规则从源应用采集数据,并将采集得到的数据写入缓存。同时在被源应用的数据变动触发时通知数据采集控制器12,使数据同步得以实时展开。
所述采集器13依据采集规则采集数据到缓存后,缓存中的数据以事务为单位,按事务顺序打包,等待转换中心模块获取。
映射转换模块20的作用是按照映射转换规则完成源应用与目标应用50之间数据的转换。具体是映射转换模块20从映射转换规则中取得订阅关系,根据订阅关系对采集得到的数据进行映射和转换,将源应用数据转换成目标应用50识别的数据。
所述映射转换模块20的设计操作界面21通过映射转换设计器22设计需要的映射转换规则,并将设计好的映射转换规则发布到映射转换中心23。
所述映射转换模块20包括一个侦听来自采集器13的通知消息的端口。
参阅图3,所述映射转换规则的创建方法是:
1)从采集规则元数中取得采集规则元数据201;
2)从采集规则元数据中取得目标应用50的写入接口以及所有的接口参数的顺序和类型202;
3)从采集规则元数据中取得采集输出的数据格式;
4)创建目标应用50的接口参数到采集得到的源应用数据单元之间的对应关系以及需要进行的转换处理203;如图4所示,由于源应用和目标应用50数据结构可能不同,如果不同则需要在同步中将源应用中采集得到的数据T转换成目标应用50可以识别的数据格式T’。
5)创建订阅关系204,建立目标应用50与采集规则之间的联系,为依据采集规则采集到的数据指明去向,即为映射转换规则指派下述的路由计算规则。
6)发布创建好的映射关系205,供映射转换中心23使用。
所述分发模块30用以将采集的数据发送到目标应用50或者直接插入目标应用中,其包括用以创建路由分发规则的数据路由管理中心32,以及依据路由分发规则将采集的数据发送到指定目标应用50或者直接插入指定目标数据库中的分发器33。
参阅图5,所述路由规则的创建方法是:
1)从采集规则中取得数据输出的格式301;
2)从输出的内容中取得计算路由的字段302;
3)准备目标应用50路由表303,为每一个目标应用50给出一个唯一的路由标识;
4)创建路由计算规则,即创建:路由计算规则计算处理的值与目标应用50标识的对应关系;创建的步骤包括:
4-1)定义所有目标应用50;
4-2)定义目标应用50管辖对象的取值范围;
4-3)定义数据对象的路由字段;
5)创建路由规则304,即创建:采集到的数据经过计算规则计算而得出路由的规则;当数据到达时,映射转换中心23拾取数据中的路由字段,确认路由字段的取值在哪个目标应用50的管辖范围之内,从而确定该数据应该发送到哪个目标应用50;
6)将路由规则发布到分发器33,供分发器33进行路由分发时使用305。
所述监控模块40对系统错误进行监控。如发现映射转换不能进行、或者路由规则丢失等情况即发出警报,通知管理员及时排查错误。
参阅图6,本发明数据同步方法采用上述的数据同步系统,包括步骤:
A、采集器13依据采集规则从源应用采集数据401,所述采集规则包括目标应用50订阅的源应用以及需采集的数据信息,参阅图7,步骤A包括如下子步骤:
a1、等待采集事件触发数据采集501;
a2、采集触发事件对应的采集器13检测到源应用数据发生变更,选用采集规则采集指定的数据对象502,具体包括如下子步骤:
1)采集触发事件对应的采集器13检测到源应用数据发生变更,发送UDP报文到映射转换模块20,通知映射转换模块20准备数据转换;
2)采集控制器12准备好后通知采集器13将需采集的数据以事务为单位采集到缓存中,等待映射转换中心模块20获取。符合过滤条件的数据变更则被忽略。
其中以事务为单位采集是指:在每一行采集记录中的操作步骤信息加上事务标识和操作顺序号字段,作为保证事务数据完整性的依据。
a3、采集器13采集到数据之后将数据写入缓存503,等待映射转换中心模块20获取,这里的缓存是一个数据表,需要同步的数据按顺序存放在此,同时缓存会在同步完成后将内容清空;
a4、采集器13通知映射转换模块20到缓存中取数据504;
a5、读取数据,然后向映射转换中心23发出处理完成的通知,同时等待下一个触发事件。
B、映射转换模块20按照映射转换规则完成源应用与目标应用50之间数据的转换402,参阅图8,包括以下子步骤:
b1、等待采集器的通知消息601;
b2、映射转换模块20从映射转换规则中取得订阅关系,具体包括如下子步骤:
1)映射转换模块20一直在一个确定的端口侦听来自采集器13的通知消息;
2)映射转换模块20在取得a2步骤中的通知消息后从消息中取得采集规则信息602;
3)从该采集规则信息中取得所有订阅者信息603,即目标应用50的信息;
b3、映射转换模块20根据订阅者和采集规则找到映射转换规则604;
b4、对采集得到的数据进行映射和转换605,将源应用数据转换成目标应用50识别的数据,具体包括如下子步骤:
对于每个具体的订阅者;
4-1)根据订阅者和采集规则找到该采集规则对应的映射转换规则,每个订阅者即目标应用50的数据格式和源应用的数据格式可能不一致,如果不一致则需要把源应用的数据格式映射并转换成目标应用50的数据格式;
4-2)依据映射转换规则转换数据;
4-3)将映射和转换处理之后的数据依事务操作顺序打包,也即按照这些数据在源应用时的原操作顺序排序,然后打包,所述事务标识和操作顺序号此时被附加在数据报文头部;数据打包后再转发给分发器33;
5)重复步骤4-1至4-3,按下一个订阅者的映射转换规则处理并发送到分发器33,直到所有的订阅者都处理完毕606;
6)返回等待下一个通知消息的到来。
C、分发模块30将采集的数据发送到目标应用50或者直接插入目标应用中403。
此步骤中,分发模块30是依据路由分发规则将采集的数据发送到指定目标应用50或者直接插入指定目标数据库中,参阅图9,具体包括以下子步骤:
c1、等待映射中心23数据701;
c2、分发模块30接收经过映射转换模块20转换的数据;
c3、从数据路由规则中释取路由字段702;
c4、依据路由计算规则计算数据的目标应用50703;
c5、依据目标应用ID找到目标应用并发出通知704,将数据写入目标应用50给定的缓存,等待目标应用50获取或者直接插入目标应用中;
c6、由目标应用50完成数据消费后返回705,目标应用50先对接收的数据报文解析,得到依事务操作顺序排序的完整的同步数据。另外,对于条件许可数据库类型的目标应用,可以直接将同步数据插入该目标应用。
此外,在步骤A至C进行的同时还包括对上述步骤进行监控的步骤。
从以上描述可以看出,本发明通过设计一套简单有效的系统以及方法,以解决现有技术中数据同步效率低、不能保证实时性、无法保证同步事务数据的完整性以及不能把数据同步到感兴趣的目标应用的技术问题。本发明为解决现有技术而产生的技术效果分析如下:
一、通过设定具体的数据采集规则,明确目标应用对源应用的订阅关系以及需要采集的数据种类,将数据采集的范围缩小到单个源应用,以及缩小到源应用的具体数据对象。在采集规则下的源应用数据变动即触发数据同步的操作,实现“按需同步”;同时由于只采集需要的数据,不是源应用的每个数据变更都导致采集和同步过程,因此大大降低了同步的数据量,减轻网络负荷,保证网络顺畅稳定;
二、采用采集数据过滤机制,即在采集规则里设定过滤条件,如果一些内容满足或者不满足条件时,这些内容被忽略,即可以设定满足一定条件下实行过滤,也可以设定不满足一定条件下实行过滤;这样,进一步降低了同步操作复杂度,降低了同步的数据量;
三、本发明在采集动作触发与采集动作结束之后通过消息通知映射转换中心,确立了数据同步的即时通知机制,保证同步实时性;
四、本发明以事务为单位对数据进行采集,在映射转换中心则按事务操作顺序对采集得到的数据进行打包,同时在目标应用中对打包数据进行解析得到同样顺序的数据,保证了数据同步的完整性;
五、依照本发明,可以对订阅关系进行修改,以加入对数据感兴趣的目标应用,数据同步的范围可以根据实际需要进行扩大或缩小,使得同步与信息共享的灵活性与可扩展性大大提升;
六、本发明采用映射转换模块,在源应用和目标应用之间建立映射和转换关系,较好地解决源应用和目标应用之间由于数据格式或系统不同造成数据不能共享的问题。
七、本发明设计采集配置界面、设计操作界面与路由管理界面,分别提供采集规则、映射转换规则以及路由规则的配置功能,使得开发工作量与复杂度大大降低;
八、本发明数据同步系统适用范围广,技术限制少,因而能够很容易应用于企业中甚至企业间的新老目标应用,从而尽量地保护企业现有的投资。
如前所述,对于老的源应用,本发明举例采用在相关的数据库表上创建触发器的方式感知数据的变化。但在本发明范围内,可以有更多感知数据变化的方式,比如对于应用了数据服务平台的源应用,可以采用变更通知机制来代替触发器。
本发明适用于企业内/外数据系统、电信网络等领域的数据同步。
以上对本发明所提供的一种数据同步系统及其方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (22)
1.一种数据同步方法,其特征在于,包括步骤:
A、依据采集规则从源应用将需采集的数据以事务为单位采集到缓存中,在所述以事务为单位采集的过程中在每一行采集记录中的操作步骤信息加上事务标识和操作顺序号字段,所述采集规则包括目标应用订阅的源应用信息以及需采集的数据信息;
C、将采集的数据发送到目标应用或者直接插入目标应用中。
2.根据权利要求1所述的数据同步方法,其特征在于:在步骤A和C之间还包括步骤:
B、按照映射转换规则完成源应用与目标应用之间数据的转换。
3.根据权利要求2所述的数据同步方法,其特征在于:所述步骤A包括步骤:
a1、源应用数据发生变更触发采集事件,依据采集规则从源应用采集数据。
4.根据权利要求3所述的数据同步方法,其特征在于:所述步骤A还包括步骤:
a2、将数据写入缓存;
a3、发出到缓存中取数据的通知;
a4、读取数据,然后发出处理完成的通知,同时等待下一个触发事件。
5.根据权利要求4所述的数据同步方法,其特征在于:所述步骤a1包括子步骤:
1)源应用数据发生变更触发采集事件,发送报文告知变更。
6.根据权利要求2所述的数据同步方法,其特征在于:所述步骤B包括步骤:
b1、从映射转换规则中取得订阅者信息;
b2、依据订阅者信息和采集规则找到对应映射转换规则,并根据映射转换规则对采集得到的数据进行映射和转换,将源应用数据转换成目标应用识别的数据。
7.根据权利要求6所述的数据同步方法,其特征在于:
所述子步骤b1包括子步骤:
1)使用一个确定的端口侦听通知消息;
2)取得通知消息后从消息中取得采集规则信息;
3)从该采集规则信息中取得所有订阅者信息;
所述子步骤b2包括子步骤:
4-1)依据订阅者和采集规则找到该采集规则对应的映射转换规则;
4-2)依据映射转换规则转换数据;
4-3)将映射和转换处理之后的数据依事务操作顺序打包;
5)重复步骤4-1至4-3,按下一个订阅者的映射转换规则处理并发送,直到所有的订阅者都处理完毕;
6)返回等待下一个通知消息的到来。
8.根据权利要求1或2所述的数据同步方法,其特征在于:所述步骤C是依据路由分发规则将采集的数据发送到指定目标应用或者直接插入指定目标应用中。
9.根据权利要求8所述的数据同步方法,其特征在于:所述步骤C包括步骤:
c1、接收经过映射转换的数据;
c2、从数据路由规则中提取路由字段;
c3、依据路由计算规则计算数据的目标应用;
c4、将数据写入目标应用给定的缓存。
10.根据权利要求9所述的数据同步方法,其特征在于:所述路由规则的创建方法是:取得数据采集规则输出的数据格式;从输出的内容中取得计算路由的字段;准备目标应用路由表;创建路由规则;将路由规则发布到分发模块。
11.根据权利要求2所述的数据同步方法,其特征在于:在步骤A至C进行的同时还包括对上述A~C步骤进行监控的步骤。
12.根据权利要求2所述的数据同步方法,其特征在于:所述映射转换规则的创建方法是:明确目标应用的写入接口以及所有的接口参数的顺序和类型;明确采集输出的数据格式;创建接口参数到采集的数据单元之间的对应关系以及需要进行的转换处理;创建订阅关系;发布创建好的映射关系到映射转换中心。
13.根据权利要求1所述的数据同步方法,其特征在于:所述采集规则的创建方法是:明确订阅者的需求;向采集器获取源应用的元数据;选定业务对象的元数据项作为订阅项;定义业务对象的元数据项作为采集的内容;发布采集规则。
14.根据权利要求13所述的数据同步方法,其特征在于:还包括步骤:定义采集过滤条件。
15.一种数据同步系统,包括:
采集器,从源应用采集数据;
分发模块,将采集的数据发送到目标应用或者直接插入目标应用中;
其特征在于:所述采集器依据采集规则将需采集的数据以事务为单位采集到缓存中,在所述以事务为单位采集的过程中在每一行采集记录中的操作步骤信息加上事务标识和操作顺序号字段,所述采集规则包括目标应用订阅的源应用信息以及需采集的数据信息。
16.根据权利要求15所述的数据同步系统,其特征在于:包括带采集配置界面的采集控制器,用以设计采集规则并控制采集器。
17.根据权利要求15或16所述的数据同步系统,其特征在于:所述采集器是嵌入源应用数据库表中的触发器,其依事务为单位采集数据到缓存后,等待转换中心模块获取。
18.根据权利要求15所述的数据同步系统,其特征在于:还包括映射转换模块,其按照映射转换规则完成源应用与目标应用之间数据的转换,将源应用数据转换成目标应用识别的数据。
19.根据权利要求18所述的数据同步系统,其特征在于:所述映射转换模块包括用以设计映射转换规则的映射转换设计器和映射转换中心,当数据进行映射转换后,所述映射转换中心将所述数据依事务操作顺序打包。
20.根据权利要求18所述的数据同步系统,其特征在于:所述映射转换模块包括一个侦听来自采集器的通知消息的端口。
21.根据权利要求15所述的数据同步系统,其特征在于:所述分发模块包括用以创建路由分发规则的数据路由管理中心和依据路由分发规则将采集的数据发送到指定目标应用或者直接插入指定目标数据库中的分发器。
22.根据权利要求15所述的数据同步系统,其特征在于:还包括对系统错误进行监控的监控模块。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100720968A CN100531055C (zh) | 2006-04-10 | 2006-04-10 | 数据同步系统及其方法 |
PCT/CN2007/000995 WO2007115477A1 (fr) | 2006-04-10 | 2007-03-28 | Procédé et système de synchronisation de données |
US12/249,549 US7899935B2 (en) | 2006-04-10 | 2008-10-10 | Method and system for data synchronization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100720968A CN100531055C (zh) | 2006-04-10 | 2006-04-10 | 数据同步系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101047549A CN101047549A (zh) | 2007-10-03 |
CN100531055C true CN100531055C (zh) | 2009-08-19 |
Family
ID=38580701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100720968A Active CN100531055C (zh) | 2006-04-10 | 2006-04-10 | 数据同步系统及其方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7899935B2 (zh) |
CN (1) | CN100531055C (zh) |
WO (1) | WO2007115477A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639585A (zh) * | 2013-11-13 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 一种实时数据传输系统及其数据同步方法 |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8312131B2 (en) * | 2002-12-31 | 2012-11-13 | Motorola Mobility Llc | Method and apparatus for linking multimedia content rendered via multiple devices |
US7926099B1 (en) * | 2005-07-15 | 2011-04-12 | Novell, Inc. | Computer-implemented method and system for security event transport using a message bus |
US9715675B2 (en) | 2006-08-10 | 2017-07-25 | Oracle International Corporation | Event-driven customizable automated workflows for incident remediation |
US7984452B2 (en) | 2006-11-10 | 2011-07-19 | Cptn Holdings Llc | Event source management using a metadata-driven framework |
US8185488B2 (en) * | 2008-04-17 | 2012-05-22 | Emc Corporation | System and method for correlating events in a pluggable correlation architecture |
US10057285B2 (en) * | 2009-01-30 | 2018-08-21 | Oracle International Corporation | System and method for auditing governance, risk, and compliance using a pluggable correlation architecture |
CN102045238B (zh) * | 2009-10-09 | 2012-11-14 | 中兴通讯股份有限公司 | 缓存维护方法及系统 |
US20120102397A1 (en) * | 2010-04-21 | 2012-04-26 | Randall Arms | Safety methods for non-programmatic integration systems |
US9336377B2 (en) | 2010-04-21 | 2016-05-10 | Lexmark International Technology Sarl | Synchronized sign-on methods for non-programmatic integration systems |
US9081632B2 (en) | 2010-04-21 | 2015-07-14 | Lexmark International Technology Sa | Collaboration methods for non-programmatic integration systems |
CN102446197B (zh) | 2010-09-30 | 2015-11-25 | 国际商业机器公司 | 一种数据转换方法和数据转换器 |
US20120117271A1 (en) * | 2010-11-05 | 2012-05-10 | Sony Corporation | Synchronization of Data in a Distributed Computing Environment |
CN103152189B (zh) * | 2011-12-06 | 2016-06-15 | 中国科学院声学研究所 | 一种基于业务关联的数据采集方法及系统 |
CN102521781B (zh) * | 2011-12-15 | 2014-08-27 | 绍兴电力局 | 一种基于独立监控服务的跨安全区的设备统一监控方法及其监控系统 |
CN102594889B (zh) * | 2012-02-17 | 2014-07-16 | 广东电网公司电力科学研究院 | 一种基于数据召测的数据同步与分析系统 |
CN102868760B (zh) * | 2012-09-28 | 2015-04-22 | 南京奇幻通信科技有限公司 | 支持多协议多类型的实时数据同步的系统和方法 |
CN102982415A (zh) * | 2012-11-22 | 2013-03-20 | 用友软件股份有限公司 | 任务处理系统和任务处理方法 |
CN103488695A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | 数据同步装置和数据同步方法 |
CN104579731B (zh) * | 2013-10-18 | 2019-05-31 | 中兴通讯股份有限公司 | 电信网管性能数据的处理方法、装置及其系统 |
CN103617585A (zh) * | 2013-11-06 | 2014-03-05 | 梧州学院 | 一种基于共享数据平台的数据处理方法 |
US10402744B2 (en) | 2013-11-18 | 2019-09-03 | International Busniess Machines Corporation | Automatically self-learning bidirectional synchronization of a source system and a target system |
US9367597B2 (en) | 2013-11-18 | 2016-06-14 | International Business Machines Corporation | Automatically managing mapping and transform rules when synchronizing systems |
CN103617274B (zh) * | 2013-12-05 | 2017-04-26 | 用友网络科技股份有限公司 | 一种同步方法和系统 |
CN103942324A (zh) * | 2014-04-29 | 2014-07-23 | 北京中科启信软件技术有限公司 | 数据实时同步系统及方法 |
CN104050920B (zh) * | 2014-06-20 | 2016-05-11 | 西安诺瓦电子科技有限公司 | Led显示屏控制系统和异步控制卡 |
CN104361043B (zh) * | 2014-10-29 | 2019-06-07 | 中国建设银行股份有限公司 | 数据库切换方法及数据库切换系统 |
CN104699771B (zh) * | 2015-03-02 | 2019-09-20 | 北京京东尚科信息技术有限公司 | 数据同步方法和集群节点 |
CN105069694A (zh) * | 2015-07-28 | 2015-11-18 | 湖南大麓管道工程有限公司 | 一种地下管线数据同步方法及装置 |
CN106484541B (zh) * | 2015-09-02 | 2019-11-15 | 中国航空工业第六一八研究所 | 一种基于脚本控制的异地数据自动传输同步方法 |
CN105589924A (zh) * | 2015-11-23 | 2016-05-18 | 江苏瑞中数据股份有限公司 | 一种数据库事务粒度同步方法 |
CN106897294A (zh) * | 2015-12-18 | 2017-06-27 | 鼎捷软件股份有限公司 | 数据同步系统与数据同步方法 |
CN105554135B (zh) * | 2015-12-23 | 2019-03-05 | 北京奇虎科技有限公司 | 数据节点间同步元信息的方法及装置 |
CN105868169B (zh) * | 2016-04-06 | 2019-04-30 | 西安电子科技大学 | 一种数据采集装置、数据采集方法和系统 |
CN105871660B (zh) * | 2016-06-06 | 2019-07-30 | 北京京东尚科信息技术有限公司 | 一种质量检测方法及设备 |
CN107798000A (zh) * | 2016-08-29 | 2018-03-13 | 上海宝信软件股份有限公司 | 基于实时数据库的数据迁移压缩同步中间件 |
CN110019873B (zh) * | 2017-12-25 | 2021-08-27 | 深圳市优必选科技有限公司 | 人脸数据处理方法、装置及设备 |
CN109962967A (zh) * | 2018-01-04 | 2019-07-02 | 证通股份有限公司 | 基于增量订阅的数据同步方法 |
CN108875012A (zh) * | 2018-06-19 | 2018-11-23 | 南京国电南自电网自动化有限公司 | 一种物理隔离条件下实时数据同步的过滤方法 |
CN109033188A (zh) * | 2018-06-27 | 2018-12-18 | 新华三大数据技术有限公司 | 一种元数据采集方法、装置、服务器和计算机可读介质 |
CN109271444A (zh) * | 2018-08-10 | 2019-01-25 | 武汉达梦数据库有限公司 | 一种基于触发器的表级双向同步实现方法和系统 |
CN109165200B (zh) * | 2018-08-10 | 2022-04-01 | 北京奇虎科技有限公司 | 数据同步方法、装置、计算设备及计算机存储介质 |
WO2020133214A1 (zh) * | 2018-12-28 | 2020-07-02 | 深圳市大疆创新科技有限公司 | 观测数据转换方法、设备、可移动平台及存储介质 |
CN110099132B (zh) * | 2019-05-21 | 2022-05-17 | 逍牛网络科技(上海)有限公司 | 一种数据同步方法、装置、系统、设备和存储介质 |
CN112015804A (zh) * | 2019-05-28 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置、设备及存储介质 |
CN110377568A (zh) * | 2019-07-26 | 2019-10-25 | 北京明略软件系统有限公司 | 一种元数据采集方法及装置 |
CN110489472B (zh) * | 2019-07-29 | 2021-08-24 | 北京恒赢智航科技有限公司 | 一种数据交换方法及使用该交换方法的机组管理系统 |
CN110618880B (zh) * | 2019-09-19 | 2022-05-27 | 中国银行股份有限公司 | 一种跨系统数据传递系统和方法 |
CN111641679B (zh) * | 2020-04-30 | 2023-06-20 | 未来穿戴技术有限公司 | 可穿戴按摩仪的数据传输方法及电子设备 |
CN112163032B (zh) * | 2020-10-20 | 2023-04-18 | 成都中科大旗软件股份有限公司 | 一种大数据服务自动编排方法及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292803B1 (en) * | 1997-11-18 | 2001-09-18 | Honeywell International Inc. | Object state change and history management mechanism |
US6795868B1 (en) * | 2000-08-31 | 2004-09-21 | Data Junction Corp. | System and method for event-driven data transformation |
US7150015B2 (en) * | 2000-09-01 | 2006-12-12 | Pace Charles P | Method and system for deploying an asset over a multi-tiered network |
US7017162B2 (en) * | 2001-07-10 | 2006-03-21 | Microsoft Corporation | Application program interface for network software platform |
US7546602B2 (en) * | 2001-07-10 | 2009-06-09 | Microsoft Corporation | Application program interface for network software platform |
US7117504B2 (en) * | 2001-07-10 | 2006-10-03 | Microsoft Corporation | Application program interface that enables communication for a network software platform |
US20030217096A1 (en) | 2001-12-14 | 2003-11-20 | Mckelvie Samuel J. | Agent based application using data synchronization |
CN1277372C (zh) * | 2002-12-15 | 2006-09-27 | 华为技术有限公司 | 一种网元内部实时数据的同步方法 |
US7467190B2 (en) | 2003-10-06 | 2008-12-16 | Hitachi, Ltd. | Method and apparatus for alert distribution and archive sharing |
CN100382030C (zh) * | 2003-12-12 | 2008-04-16 | 中兴通讯股份有限公司 | 一种基于MS SQL Server的同步复制配置方法 |
-
2006
- 2006-04-10 CN CNB2006100720968A patent/CN100531055C/zh active Active
-
2007
- 2007-03-28 WO PCT/CN2007/000995 patent/WO2007115477A1/zh active Application Filing
-
2008
- 2008-10-10 US US12/249,549 patent/US7899935B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639585A (zh) * | 2013-11-13 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 一种实时数据传输系统及其数据同步方法 |
CN104639585B (zh) * | 2013-11-13 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 一种实时数据传输系统及其数据同步方法 |
Also Published As
Publication number | Publication date |
---|---|
US7899935B2 (en) | 2011-03-01 |
US20090271653A1 (en) | 2009-10-29 |
WO2007115477A1 (fr) | 2007-10-18 |
CN101047549A (zh) | 2007-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100531055C (zh) | 数据同步系统及其方法 | |
CN106960037B (zh) | 一种跨内外网的分布式索引资源整合与共享方法 | |
CN102938731B (zh) | 一种基于代理缓存适配模型的交换集成装置及方法 | |
CN100547583C (zh) | 数据库的自动和动态提供的方法 | |
CN105930446B (zh) | 一种基于Hadoop分布式技术的电信客户标签生成方法 | |
CN106339509A (zh) | 一种基于大数据技术的电网运营数据共享系统 | |
CN104104738A (zh) | 一种基于ftp的数据交换系统 | |
CN103605698A (zh) | 一种用于分布异构数据资源整合的云数据库系统 | |
CN107590182A (zh) | 一种分布式日志收集方法 | |
CN206249316U (zh) | 一种基于云端的医院数据中心平台系统 | |
CN106599711A (zh) | 一种数据库访问控制方法,及装置 | |
CN105518641B (zh) | 点对点数据复制方法、设备和系统以及主节点切换方法、设备和系统 | |
CN111400326A (zh) | 一种智慧城市数据管理系统及其方法 | |
CN107786355A (zh) | 一种智慧城市信息共享的方法和装置 | |
CN110110006A (zh) | 数据管理方法及相关产品 | |
CN105930417B (zh) | 一种基于云计算的大数据etl交互式处理平台 | |
CN104618433A (zh) | 一种基于eca规则的服务组合方法 | |
CN106375480A (zh) | 一种基于分布式系统的电能数据实时采集系统及方法 | |
CN105354250A (zh) | 一种面向云存储的数据存储方法及装置 | |
CN104333573A (zh) | 一种大并发量请求的处理方法及处理系统 | |
CN109241384A (zh) | 一种科研信息的可视化方法及装置 | |
CN102508886A (zh) | 一种基于xml的空间数据增量同步更新方法 | |
CN107656951A (zh) | 一种同步异构数据库系统中实时数据的方法 | |
CN101834765A (zh) | 一种远程文件传输的系统及方法 | |
CN100396002C (zh) | 一种利用关联查询进行鉴权的系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |