异构系统之间的数据同步方法、数据交换引擎的制作方法

文档序号:6428671阅读:100来源:国知局
专利名称:异构系统之间的数据同步方法、数据交换引擎的制作方法
技术领域
本发明涉及数据处理技术领域,具体涉及异构系统之间的数据同步方法以及数据交换引擎。
背景技术
异构系统指的是具备前台应用程序和独立后台数据库的计算机软件,目前绝大多数企业都使用多套异构系统,来解决企业内各种信息化需求,这些异构系统可以运行于相同计算机内,也可以运行于不同计算机内,在各个异构系统的数据库中存在与其他异构系统的数据库中属性相同的数据,在本文中,将这些数据称之为公有数据,当公有数据的数值在所属异构系统的数据库(即源异构系统的数据库)中改变(例如添加、删除、修改)后,可以将其反应(例如添加、删除、修改)在其他异构系统(即目标异构系统的数据库)中,以保证源异构系统的数据库和目标系统的数据库中的公有数据的数值是同步的。 目前,异构系统之间在实现数据同步的过程中,在时间处理上有以下几种方法I、设置一个计数器,比如10秒钟、I分钟,以计时器为周期来实现数据同步;2、设置一个定时器,到了设置的时间,即执行数据同步;3、人工参与,即在异构系统中设置一个按钮,用鼠标点击该按钮即执行数据同步。在对现有技术的研究和实践过程中,本发明的发明人发现,异构系统之间不能实现实时的数据同步。

发明内容
本发明实施例提供异构系统之间的数据同步和共享方法以及数据交换引擎。一种异构系统之间的数据同步和共享方法,包括数据交换引擎建立源异构系统的数据库中公有数据与目标异构系统的数据库中所述公有数据之间的第一映射关系;接收所述源异构系统通过所述数据交换引擎的接口发送的指示所述源异构系统的数据库中第一公有数据发生改变的第一通知消息,所述第一通知消息携带所述源异构系统的数据库中发生改变后的第一公有数据的第一数据信息;按照所述第一数据信息根据所述第一映射关系改变所述目标异构系统的数据库中第一公有数据。一种数据交换引擎,包括建立第一映射单元,用于建立源异构系统的数据库中公有数据与目标异构系统的数据库中所述公有数据之间的第一映射关系;接收第一通知消息单元,用于接收所述源异构系统通过所述数据交换引擎的接口发送的指示所述源异构系统的数据库中第一公有数据发生改变的第一通知消息,所述第一通知消息携带所述源异构系统的数据库中发生改变后的第一公有数据的第一数据信息;第一数据同步单元,用于按照所述第一数据信息根据所述第一映射关系改变所述目标异构系统的数据库中第一公有数据。本实施例中,数据交换引擎可以建立源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的第一映射关系,并能够接收源异构系统发送的通知源异构系统的数据库中第一公有数据发生改变的第一通知消息,按照第一通知消息中携待的源异构系统的数据库中发生改变后的第一公有数据的第一数据信息,根据第一数据信息改变目标异构系统的数据库中第一公有数据,从而能够在异构系统之间实现实时的数据同步,以满足对实时性要求非常高的工作场景,并且实现实时的数据同步只需要在源异构系统中调用数据交换引擎的接口,而不需要人工的其它干预,故用户使用非常方便、简单。


图I是本发明实施例中异构系统之间的数据同步和共享方法的一个实施例的流程不意图;图2是本发明实施例中数据交换引擎的一个实施例的逻辑结构示意图。
具体实施例方式本发明实施例提供一种异构系统之间的数据同步方法,本发明实施例还提供相应·的数据交换引擎。以下分别进行详细说明。首先介绍本发明实施例提供的异构系统之间的数据同步方法,具体请参见图1,本实施例的执行主体是数据交换引擎,异构系统之间的数据同步方法的流程包括101、建立源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的第一映射关系;通常一个企业都使用多套异构系统,为了能够在异构系统之间实现数据同步和共享,数据交换引擎可以建立源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的第一映射关系。建立第一映射关系具体可以是建立源异构系统中数据库中第一公有数据所属表和目标异构系统中数据库中第一公有数据所属表之间的对应关系和分别位于前述的两个表中的第一公有数据的字段的对应关系。需要说明的是,公有数据在不同异构系统中的名称可能不尽相同,但是属性是一致的。还需要说明的,第一映射关系指的是源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的映射关系,并不代表对映射关系在顺序上的标识。102、获取指示源异构系统的数据库中第一公有数据发生改变的第一通知消息;在多套异构系统中,当源异构系统的数据库中第一公有数据发生改变后,数据交换引擎可以获取源异构系统发送的第一通知消息,该第一通知消息用于指示源异构系统的数据库中第一公有数据发生改变,并且第一通知消息携带源异构系统的数据库中发生改变后的第一公有数据的第一数据信息。数据交换引擎可以提供接口,该接口可由源异构系统调用,源异构系统可以在自身数据库中公有数据发生改变时调用该接口,使得数据交换引擎获取到通知消息。需要说明的是,第一公有数据指的是源异构系统的数据库中发生改变的任一公有数据,不代表对公有数据进行顺序上的标识。第一通知消息指的是用于指示源异构系统的数据库中第一公有数据发生改变的通知消息,不代表对通知消息进行顺序上的标识,第一数据信息指的是源异构系统的数据库中发生改变后的第一公有数据的数据信息,不代表对数据信息进行顺序上的标识。103、改变目标异构系统的数据库中第一公有数据。数据交换引擎可以根据步骤102中获取的第一数据消息以及步骤101中建立的第一映射关系改变源异构系统的数据库中第一公有数据,从而实现异构系统之间的数据同
止/J/ O本实施例中,数据交换引擎可以建立源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的第一映射关系,并能够接收源异构系统发送的通知源异构系统的数据库中第一公有数据发生改变的第一通知消息,按照第一通知消息中携待的源异构系统的数据库中发生改变后的第一公有数据的第一数据信息,根据第一数据信息改变目标异构系统的数据库中第一公有数据,从而能够在异构系统之间实现实时的数据同 步,以满足对实时性要求非常高的工作场景,并且实现实时的数据同步只需要在源异构系统中调用数据交换引擎的接口,而不需要人工的其它干预,故用户使用非常方便、简单。在步骤102中,数据交换引擎可以获取通知源异构系统的数据库中第一公有数据发生改变的第一通知消息,并且该第一通知消息携带源异构系统的数据库中发生改变后的第一公有数据的第一数据信息,具体的,第一数据信息可以包括源异构系统的数据库中发生改变后的第一公有数据的数值和源异构系统的数据库中第一公有数据的改变类型,一般而言,源异构系统的数据库中第一公有数据的改变类型可以有如下几种添加数据,删除数据,修改数据。具体的,如果改变类型为修改数据,那么第一数据信息中所包括的源异构系统的数据库中发生改变后的第一公有数据的数值则为改变后的数值;如果改变类型为添加数据,那么第一数据信息中所包括的源异构系统的数据库中发生改变后的第一公有数据的数值则为添加的数值,如果改变类型为删除数据,那么第一数据信息中所包括的源异构系统的数据库中发生改变后的第一公有数据的数值则为需要删除的数值,并且由于第一通知消息中携带的源异构系统的数据库中第一公有数据的改变类型是事件信息,可以用0、1、2来分别对应表示添加数据,删除数据和修改数据。以修改数据为例,数据交换引擎建立源异构系统的数据库中公有数据与目标异构系统的数据库中该公有数据之间的第一映射关系(如步骤101),在源异构系统中,用户通过前台应用程序对数据库中的第一公有数据进行修改,例如,第一公有数据的属性是进货量,改变前的第一公有数据的数值是100,用户将第一公有数据修改为数值200,通过源异构系统调用数据交换引擎中的接口,数据交换引擎接收到源异构系统发送的指示源异构系统的数据库中第一公有数据发生改变的第一通知消息(如步骤102),且第一通知消息携带发生改变后的第一公有数据的数值“200”和第一异构系统的数据库中第一公有数据的改变类型“2”,数据交换引擎按照第一通知消息携带发生改变后的第一公有数据的数值“200”和源异构系统的数据库中第一公有数据的改变类型“2”,根据第一映射关系改变目标异构系统的数据库中第一公有数据(步骤103)。当源异构系统的数据库中某个公有数据改变时,数据交换引擎除了使得目标异构系统的数据库中同一公有数据进行相同改变之外,还可以使得目标异构系统的数据库中与该公有数据对应的关联数据做相应的改变。关联数据指的是该数据是需要由公有数据经过处理得到,具体为
建立源异构系统的数据库中公有数据与目标异构系统的数据库中与公有数据对应的关联数据之间的第二映射关系;接收源异构系统通过数据交换引擎的接口发送的指示源异构系统的数据库中第二公有数据发生改变的第二通知消息,第二通知消息携带源异构系统的数据库中发生改变后的第二公有数据的第二数据信息;按照第二数据信息根据第二映射关系改变目标异构系统的数据库中与第二公有数据对应的关联数据。具体的,第二数据信息可以包括源异构系统的数据库中发生改变后的第二公有数据的数值和源异构系统的数据库中第二公有数据的改变类型,详细描述可参见前述第一数据信息。需要说明的是,第二公有数据指的是源异构系统的数据库中发生改变的任一公有数据,不代表对公有数据进行顺序上的标识,第二映射关系指的是源异构系统的数据库中公有数据与目标异构系统的数据库中与公有数据对应的关联数据之间的映射关系,不代表对映射关系进行顺序上的标识,第二通知消息指的是指示源异构系统的数据库中第二公有数据发生改变的通知消息,不代表对通知消息进行顺序上的标识,第二数据信息指的是源异构系统的数据库中发生改变后的第二公有数据的数据信息,不代表对数据信息进行顺序上的标识。请参阅图2,本发明实施例还提供一种数据交换引擎20,本实施例中的数据交换引擎20可应用于上述实施例,执行上述实施例中数据交换引擎所执行的操作,本实施例中数据交换引擎20包括建立第一映射单元201,用于建立源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的第一映射关系;接收第一通知消息单元202,用于接收源异构系统通过数据交换引擎的接口发送的指示源异构系统的数据库中第一公有数据发生改变的第一通知消息,第一通知消息携带源异构系统的数据库中发生改变后的第一公有数据的第一数据信息;
第一数据同步单元203,用于按照第一数据信息根据第一映射关系改变目标异构系统的数据库中第一公有数据。可选的,第一数据信息包括源异构系统的数据库中发生改变后的第一公有数据的数值和源异构系统的数据库中第一公有数据的改变类型,在此应用场景下,第一数据同步单元203具体用于按照源异构系统的数据库中发生改变后的第一公有数据的数值和源异构系统的数据库中第一公有数据的改变类型,根据第一映射关系改变目标异构系统的数据库中第一公有数据。可选的,数据交换引擎20还包括建立第二映射关系单元204,用于建立源异构系统的数据库中公有数据与目标异构系统的数据库中与同一公有数据对应的关联数据之间的第二映射关系;接收第二通知消息单元205,用于接收源异构系统通过数据交换引擎的接口发送的指示源异构系统的数据库中第二公有数据发生改变的第二通知消息,第二通知消息携带源异构系统的数据库中发生改变后的第二公有数据的第二数据信息;第二数据同步单元206,用于按照第二数据信息根据第二映射关系改变目标异构系统的数据库中与第二公有数据对应的关联数据。在本实施例中,数据交换引擎可以建立源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的第一映射关系,并能够接收源异构系统发送的通知源异构系统的数据库中第一公有数据发生改变的第一通知消息,按照第一通知消息中携待的源异构系统的数据库中发生改变后的第一公有数据的第一数据信息,根据第一数据信息改变目标异构系统的数据库中第一公有数据,数据交换引擎还可以根据公有数据的改变对应的改变关联数据,从而能够在异构系统之间实现实时的数据同步,以满足对实时性要求非常高的工作场景,并且实现实时的数据同步只需要在源异构系统中调用数据交换引擎的接口,而不需要人工的其它干预,故用户使用非常方便、简单。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括ROM、RAM、磁盘或光盘等。以上对本发明实施例所提供的异构系统之间的数据同步方法以及数据交换引擎进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说 明书内容不应理解为对本发明的限制。
权利要求
1.一种异构系统之间的数据同步方法,其特征在于,包括 数据交换引擎建立源异构系统的数据库中公有数据与目标异构系统的数据库中所述公有数据之间的第一映射关系; 接收所述源异构系统通过所述数据交换引擎的接口发送的指示所述源异构系统的数据库中第一公有数据发生改变的第一通知消息,所述第一通知消息携带所述源异构系统的数据库中发生改变后的第一公有数据的第一数据信息; 按照所述第一数据信息根据所述第一映射关系改变所述目标异构系统的数据库中第一公有数据。
2.根据权利要求I所述的方法,其特征在于, 所述第一数据信息包括所述源异构系统的数据库中发生改变后的第一公有数据的数值和所述源异构系统的数据库中第一公有数据的改变类型, 按照所述第一数据信息根据所述第一映射关系改变所述目标异构系统的数据库中第一公有数据,具体为 按照所述源异构系统的数据库中发生改变后的第一公有数据的数值和所述源异构系统的数据库中第一公有数据的改变类型,根据所述第一映射关系改变目标异构系统的数据库中第一公有数据。
3.根据权利要求I或2所述的方法,其特征在于,还包括 建立所述源异构系统的数据库中所述公有数据与所述目标异构系统的数据库中与所述公有数据对应的关联数据之间的第二映射关系; 接收所述源异构系统通过所述数据交换引擎的接口发送的指示所述源异构系统的数据库中第二公有数据发生改变的第二通知消息,所述第二通知消息携带所述源异构系统的数据库中发生改变后的第二公有数据的第二数据信息; 按照所述第二数据信息根据所述第二映射关系改变所述目标异构系统的数据库中与第二公有数据对应的关联数据。
4.一种数据交换引擎,其特征在于,包括 建立第一映射单元,用于建立源异构系统的数据库中公有数据与目标异构系统的数据库中所述公有数据之间的第一映射关系; 接收第一通知消息单元,用于接收所述源异构系统通过所述数据交换引擎的接口发送的指示所述源异构系统的数据库中第一公有数据发生改变的第一通知消息,所述第一通知消息携带所述源异构系统的数据库中发生改变后的第一公有数据的第一数据信息; 第一数据同步单元,用于按照所述第一数据信息根据所述第一映射关系改变所述目标异构系统的数据库中第一公有数据。
5.根据权利要求4所述的数据交换引擎,其特征在于, 所述第一数据信息包括所述源异构系统的数据库中发生改变后的第一公有数据的数值和所述源异构系统的数据库中第一公有数据的改变类型, 所述第一数据同步单元具体用于按照所述源异构系统的数据库中发生改变后的第一公有数据的数值和所述源异构系统的数据库中第一公有数据的改变类型,根据所述第一映射关系改变目标异构系统的数据库中第一公有数据。
6.根据权利要求4或5所述的数据交换引擎,其特征在于,还包括建立第二映射关系单元,用于建立所述源异构系统的数据库中所述公有数据与所述目标异构系统的数据库中与所述公有数据对应的关联数据之间的第二映射关系; 接收第二通知消息单元,用于接收所述源异构系统通过所述数据交换引擎的接口发送的指示所述源异构系统的数据库中第二公有数据发生改变的第二通知消息,所述第二通知消息携带所述源异构系统的数据库中发生改变后的第二公有数据的第二数据信息; 第二数据同步单元,用于按照所述第二数据信息根据所述第二映射关系改变所述目标异构系统的数据库中与第二公有数据对应的关联数据。
全文摘要
本发明公开了异构系统之间的数据同步方法,本发明还提供相应的数据交换引擎。数据交换引擎可以建立源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的第一映射关系,并能够接收源异构系统发送的通知源异构系统的数据库中第一公有数据发生改变的第一通知消息,按照第一通知消息中携待的源异构系统的数据库中发生改变后的第一公有数据的第一数据信息,根据第一数据信息改变目标异构系统的数据库中第一公有数据,从而能够在异构系统之间实现实时的数据同步,以满足对实时性要求非常高的工作场景。
文档编号G06F17/30GK102880619SQ20111019929
公开日2013年1月16日 申请日期2011年7月15日 优先权日2011年7月15日
发明者朱年生 申请人:深圳市金蝶友商电子商务服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1