发明内容
本发明实施例提供异构系统之间的数据同步和共享方法以及数据交换引擎。
一种异构系统之间的数据同步和共享方法,包括:数据交换引擎建立源异构系统的数据库中公有数据与目标异构系统的数据库中所述公有数据之间的第一映射关系;
接收所述源异构系统通过所述数据交换引擎的接口发送的指示所述源异构系统的数据库中第一公有数据发生改变的第一通知消息,所述第一通知消息携带所述源异构系统的数据库中发生改变后的第一公有数据的第一数据信息;
按照所述第一数据信息根据所述第一映射关系改变所述目标异构系统的数据库中第一公有数据。
一种数据交换引擎,包括:建立第一映射单元,用于建立源异构系统的数据库中公有数据与目标异构系统的数据库中所述公有数据之间的第一映射关系;
接收第一通知消息单元,用于接收所述源异构系统通过所述数据交换引擎的接口发送的指示所述源异构系统的数据库中第一公有数据发生改变的第一通知消息,所述第一通知消息携带所述源异构系统的数据库中发生改变后的第一公有数据的第一数据信息;
第一数据同步单元,用于按照所述第一数据信息根据所述第一映射关系改变所述目标异构系统的数据库中第一公有数据。
本实施例中,数据交换引擎可以建立源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的第一映射关系,并能够接收源异构系统发送的通知源异构系统的数据库中第一公有数据发生改变的第一通知消息,按照第一通知消息中携待的源异构系统的数据库中发生改变后的第一公有数据的第一数据信息,根据第一数据信息改变目标异构系统的数据库中第一公有数据,从而能够在异构系统之间实现实时的数据同步,以满足对实时性要求非常高的工作场景,并且实现实时的数据同步只需要在源异构系统中调用数据交换引擎的接口,而不需要人工的其它干预,故用户使用非常方便、简单。
具体实施方式
本发明实施例提供一种异构系统之间的数据同步方法,本发明实施例还提供相应的数据交换引擎。以下分别进行详细说明。
首先介绍本发明实施例提供的异构系统之间的数据同步方法,具体请参见图1,本实施例的执行主体是数据交换引擎,异构系统之间的数据同步方法的流程包括:
101、建立源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的第一映射关系;
通常一个企业都使用多套异构系统,为了能够在异构系统之间实现数据同步和共享,数据交换引擎可以建立源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的第一映射关系。
建立第一映射关系具体可以是建立源异构系统中数据库中第一公有数据所属表和目标异构系统中数据库中第一公有数据所属表之间的对应关系和分别位于前述的两个表中的第一公有数据的字段的对应关系。
需要说明的是,公有数据在不同异构系统中的名称可能不尽相同,但是属性是一致的。
还需要说明的,第一映射关系指的是源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的映射关系,并不代表对映射关系在顺序上的标识。
102、获取指示源异构系统的数据库中第一公有数据发生改变的第一通知消息;
在多套异构系统中,当源异构系统的数据库中第一公有数据发生改变后,数据交换引擎可以获取源异构系统发送的第一通知消息,该第一通知消息用于指示源异构系统的数据库中第一公有数据发生改变,并且第一通知消息携带源异构系统的数据库中发生改变后的第一公有数据的第一数据信息。
数据交换引擎可以提供接口,该接口可由源异构系统调用,源异构系统可以在自身数据库中公有数据发生改变时调用该接口,使得数据交换引擎获取到通知消息。
需要说明的是,第一公有数据指的是源异构系统的数据库中发生改变的任一公有数据,不代表对公有数据进行顺序上的标识。第一通知消息指的是用于指示源异构系统的数据库中第一公有数据发生改变的通知消息,不代表对通知消息进行顺序上的标识,第一数据信息指的是源异构系统的数据库中发生改变后的第一公有数据的数据信息,不代表对数据信息进行顺序上的标识。
103、改变目标异构系统的数据库中第一公有数据。
数据交换引擎可以根据步骤102中获取的第一数据消息以及步骤101中建立的第一映射关系改变源异构系统的数据库中第一公有数据,从而实现异构系统之间的数据同步。
本实施例中,数据交换引擎可以建立源异构系统的数据库中公有数据与目标异构系统的数据库中同一公有数据之间的第一映射关系,并能够接收源异构系统发送的通知源异构系统的数据库中第一公有数据发生改变的第一通知消息,按照第一通知消息中携待的源异构系统的数据库中发生改变后的第一公有数据的第一数据信息,根据第一数据信息改变目标异构系统的数据库中第一公有数据,从而能够在异构系统之间实现实时的数据同步,以满足对实时性要求非常高的工作场景,并且实现实时的数据同步只需要在源异构系统中调用数据交换引擎的接口,而不需要人工的其它干预,故用户使用非常方便、简单。
在步骤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、磁盘或光盘等。
以上对本发明实施例所提供的异构系统之间的数据同步方法以及数据交换引擎进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。