数据同步方法、装置,设备以及计算机可读存储介质制造方法及图纸

技术编号:36565567 阅读:16 留言:0更新日期:2023-02-04 17:21
公开了一种数据同步方法,用于第一数据服务端,第一数据服务端包括在数据系统中,数据系统还包括消息平台和包括第二数据库的第二数据服务端,该方法包括步骤:从消息平台接收针对第二数据服务端中的第二数据库发生了数据更新的实时更新通知消息,实时更新通知消息指示数据更新对应的实体类型和实体ID;基于实体类型和实体ID,向第二数据服务端发起对第二数据库中的相应数据的请求;以及基于所接收的数据响应,对第一数据服务端中的第一数据库中的相应数据进行更新。还公开了相应的装置、设备和计算机可读存储介质等。备和计算机可读存储介质等。备和计算机可读存储介质等。

【技术实现步骤摘要】
数据同步方法、装置,设备以及计算机可读存储介质


[0001]本公开涉及数据同步领域,特别涉及数据同步方法、装置,设备以及计算机可读存储介质。

技术介绍

[0002]随着移动互联网的快速发展,信息呈现爆炸式增长,数据作为信息社会的核心资源,越发体现其不可估量的价值。在很多领域,例如金融领域,对数据的安全性、完整性、有效性有着非常高的要求。这也促使业界产生许多譬如热备份、冷备份、异地灾难备份等多种备份方案。这些备份方案的一个核心问题就是数据同步。数据同步通常有实时性要求,越实时的数据,越能保证数据的安全,完整、有效。
[0003]此外,为了充分发挥数据的价值,同一份数据,往往会在不同场景、不同系统发挥作用。上游系统的数据的更新,可能需要实时同步到下游系统的数据。而不同系统的数据存储介质、数据组织结构可能不尽相同。上游系统的数据难以适配所有下游系统的数据,这就需要下游系统根据自身业务特点来进行实时数据同步。
[0004]现有的数据库管理系统中,例如MySQL特有的基于Binlog同步方法,只能进行相同数据库类型、相同种类的存储介质、相同结构的数据的实时同步,例如MySQL主、从库之间的实时同步,但是对于异构数据结构并不适用。另外,如果利用Binlog向多个数据库同步,会产生大量数据传输需求,导致较高的资源需求。

技术实现思路

[0005]有鉴于此,本公开提供了数据同步的方法、装置、设备以及计算机可读存储介质,可以缓解、减轻或甚至消除至少上述问题。
[0006]根据本公开的第一方面,提供一种数据同步方法,用于第一数据服务端,第一数据服务端包括在数据系统中,数据系统还包括消息平台和包括第二数据库的第二数据服务端,该方法包括步骤:从消息平台接收针对第二数据服务端中的第二数据库发生了数据更新的实时更新通知消息,实时更新通知消息指示数据更新对应的实体类型和实体ID;确定数据更新对应的实体类型和实体ID是否可用;当确定数据更新对应的实体类型和实体ID可用,执行以下步骤:基于实时更新通知消息中的实体类型和实体ID,向第二数据服务端发起对第二数据库中的相应数据的请求;响应于请求,从第二数据服务端接收对应于请求的数据响应;基于所接收的数据响应,确定是否对第一数据服务端中的第一数据库中的相应数据进行更新;当确定要对第一数据服务端中的第一数据库中的相应数据进行更新,则基于所接收的数据响应,对第一数据服务端中的第一数据库中的相应数据进行更新。
[0007]根据本公开的第二方面,提供一种数据同步方法,用于消息平台,消息平台包括在数据系统中,数据系统还包括具有第一数据库的第一数据服务端和具有第二数据库的第二数据服务端,该方法包括步骤:接收针对第二数据服务端中的第二数据库发生了数据更新的实时更新汇报消息,实时更新通知消息指示数据更新对应的实体类型和实体ID;以及向第一数据服务端发送数据更新的实时更新通知消息,实时更新通知消息指示数据更新对应的实体类型和实体ID。
[0008]根据本公开的第三方面,提供一种数据同步方法,用于数据系统,数据系统包括消息平台、具有第一数据库的第一数据服务端和具有第二数据库的第二数据服务端,该方法包括:在第二数据服务端处:当第二数据服务端中的第二数据库发生了数据更新,立即向消息平台发送实时更新汇报消息,实时更新汇报消息指示:数据更新对应的实体ID和实体类型;在消息平台处:接收实时更新汇报消息;以及向第一数据服务端发送数据更新的实时更新通知消息,实时更新通知消息指示数据更新对应的实体类型和实体ID;在第一数据服务端处:从消息平台接收实时更新通知消息;确定数据更新对应的实体类型和实体ID是否可用;当确定数据更新对应的实体类型和实体ID可用:基于实时更新通知消息中的实体类型和实体ID,向第二数据服务端发起对第二数据库中的相应数据的请求;响应于请求,从第二数据服务端接收对应于请求的数据响应;基于所接收的数据响应,确定是否对第一数据服务端中的第一数据库中的相应数据进行更新;当确定要对第一数据服务端中的第一数据库中的相应数据进行更新,则基于所接收的数据响应,对第一数据服务端中的第一数据库中的相应数据进行更新。
[0009]根据本公开的第四方面,提供一种数据同步装置,用于具有第一数据库的第一数据服务端,第一数据服务端包括在数据系统中,数据系统还包括消息平台和具有第二数据库的第二数据服务端,该数据同步装置包括:通知消息接收模块,配置来从消息平台接收针对第二数据服务端中的第二数据库发生了数据更新的实时更新通知消息,实时更新通知消息指示数据更新对应的实体类型和实体ID;可用性确定模块,配置来确定数据更新对应的实体类型和实体ID是否可用;更新操作模块,配置来当确定数据更新对应的实体类型和实体ID可用时执行以下操作:基于实时更新通知消息中的实体类型和实体ID,向第二数据服务端发起对第二数据库中的相应数据的请求;
响应于请求,从第二数据服务端接收对应于请求的数据响应;基于所接收的数据响应,确定是否对第一数据服务端中的第一数据库中的相应数据进行更新;当确定要对第一数据服务端中的第一数据库中的相应数据进行更新,则基于所接收的数据响应,对第一数据服务端中的第一数据库中的相应数据进行更新。
[0010]根据本公开的第五方面,提供一种数据同步装置,用于消息平台,消息平台包括在数据系统中,数据系统还包括具有第一数据库的第一数据服务端和具有第二数据库的第二数据服务端,该数据同步装置包括:汇报消息接收模块,配置来接收针对第二数据服务端中的第二数据库发生了数据更新的实时更新汇报消息,实时更新通知消息指示数据更新对应的实体类型和实体ID;以及通知消息发送模块,配置来向第一数据服务端发送针对数据更新的实时更新通知消息,实时更新通知消息指示数据更新对应的实体类型和实体ID。
[0011]根据本公开的第六方面,提供一种数据同步装置,用于数据系统,数据系统包括消息平台、具有第一数据库的第一数据服务端和具有第二数据库的第二数据服务端,该数据同步装置包括第一装置、第二装置和第三装置:第二装置用于第二数据服务端,包括:汇报消息发送模块,配置来当第二数据服务端中的第二数据库发生了数据更新,立即向消息平台发送实时更新汇报消息,实时更新汇报消息指示:数据更新对应的实体ID和实体类型;第三装置用于消息平台,包括:汇报消息接收模块,配置来接收实时更新汇报消息;以及通知消息发送模块,配置来向第一数据服务端发送数据更新的实时更新通知消息,实时更新通知消息指示数据更新对应的实体类型和实体ID;第一装置用于第一数据服务端,包括:通知消息接收模块,配置来从消息平台接收实时更新通知消息;可用性确定模块,配置来确定数据更新对应的实体类型和实体ID是否可用;更新操作模块,配置来当确定数据更新对应的实体类型和实体ID可用时执行以下操作:基于实时更新通知消息中的实体类型和实体ID,向第二数据服务端发起对第二数据库中的相应数据的请求;响应于请求,从第二数据服务端接收对应于请求的数据响应;基于所接收的数据响应,确定是否对第一数据服务端中的第一数据库中的相应数据进行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步方法,用于第一数据服务端,其特征在于,所述第一数据服务端包括在数据系统中,所述数据系统还包括消息平台和包括第二数据库的第二数据服务端,所述方法包括步骤:从所述消息平台接收针对所述第二数据服务端中的第二数据库发生了数据更新的实时更新通知消息,所述实时更新通知消息指示所述数据更新对应的实体类型和实体ID;确定所述数据更新对应的实体类型和实体ID是否可用;当确定所述数据更新对应的实体类型和实体ID可用,执行以下步骤:基于所述实时更新通知消息中的所述实体类型和实体ID,向所述第二数据服务端发起对所述第二数据库中的相应数据的请求;响应于所述请求,从所述第二数据服务端接收对应于所述请求的数据响应;基于所接收的数据响应,确定是否对所述第一数据服务端中的第一数据库中的相应数据进行更新;以及当确定要对所述第一数据服务端中的第一数据库中的相应数据进行更新,则基于所接收的数据响应,对所述第一数据服务端中的第一数据库中的相应数据进行更新。2.如权利要求1所述的方法,其特征在于,所述实时更新通知消息还指示更新时间,所述更新时间表明所述第二数据库发生所述数据更新的时间。3.如权利要求1所述的方法,其特征在于,通过判断所述数据更新的有效性,来确定是否对所述第一数据服务端中的第一数据库中的相应数据进行更新。4.如权利要求2所述的方法,其特征在于,所述基于所述实时更新通知消息中的所述实体类型和实体ID,向所述第二数据服务端发起对所述第二数据库中的相应数据的请求,进一步包括:向所述第二数据服务端发送查询请求,以根据所述实时更新通知消息中的所述实体类型和实体ID来至少获取所述第二数据库中的更新数据及记录的其最后一次更新时间;所述基于所接收的数据响应,通过判断其有效性而确定是否对所述第一数据服务端中的第一数据库中的相应数据进行更新,进一步包括:比较所述实时更新通知消息指示的更新时间和所述第二数据库中记录的所述更新数据的最后一次更新时间;以及当所述实时更新通知消息指示的所述更新时间早于所述第二数据库中记录的所述更新数据的最后一次更新时间,则确定所述实时更新通知消息对应的更新已过期,并确定不对所述第一数据服务端中的第一数据库中的相应数据进行更新。5.如权利要求2或4所述的方法,其特征在于,所述基于所接收的数据响应,确定是否对所述第一数据服务端中的第一数据库中的相应数据进行更新,进一步包括:确定所述第一数据库中记录的所述相应数据的最后一次更新时间;比较所述实时更新通知消息指示的更新时间和所述第一数据库中记录的的相应数据的最后一次更新时间;以及当所述实时更新通知消息指示的所述更新时间早于所述第一数据库中记录的的相应数据的最后一次更新时间,则确定所述实时更新通知消息对应的更新已过期,并确定不对所述第一数据服务端中的第一数据库中的相应数据进行更新。6.如权利要求1所述的方法,其特征在于,所述基于所接收的数据响应,确定是否对所
述第一数据服务端中的第一数据库中的相应数据进行更新,进一步包括:当所接收的数据指示所请求的数据不存在,则确定不对所述第一数据服务端中的第一数据库中的相应数据进行更新。7. 如权利要求1所述的方法,其特征在于,所述实时更新通知消息是加密的,所述确定所述数据更新对应的实体类型和实体ID是否可用,进一步包括:在收到所述实时更新通知消息之后,对所述实时更新通知消息进行解密;以及当解密失败,则确定所述数据更新对应的实体类型和实体ID不可用。8. 如权利要求1所述的方法,其特征在于,所述确定所述数据更新对应的实体类型和实体ID是否可用,进一步包括:在收到所述实时更新通知消息之后,校验所述实时更新通知消息的数据格式是否是预定义格式;以及当确定所述实时更新通知消息的数据格式不符合预定义格式,则确定所述数据更新对应的实体类型和实体ID不可用。9.如权利要求1所述的方法,其特征在于,所述实时更新通知消息中还指示事件类型,所述事件类型包括插入、修改和删除,所述基于所接收的数据响应,对所述第一数据服务端中的第一数据库中的相应数据进行更新,进一步包括以下一个或多个:基于所述实时更新通知消息中的事件类型,确定如何对所述第一数据库中的相应数据进行更新,其中:当所述事件类型是插入时,从所述数据响应中获取与所述第一数据库相关的数据项对所述第一数据库进行插入;当所述事件类型是修改时,确定所修改的数据是否与所述第一数据库相关,并且在确定相关之后再对所述第一数据库的相应数据进行修改;当所述事件类型是删除时,确定所删除的数据是否与所述第一数据库相关,并且在确定相关之后再对所述第一数据库中的相应数据进行删除或者标记。10.如权利要求1所述的方法,其特征在于,所述第一数据服务端和所述第二数据服务端是同一数据服务端,或者,所述第一数据服务端和第二数据服务端是不同数据服务端。11.如权利要求1所述的方法,其特征在于,所述第一数据库中的数据和所述第二数据库中的数据存储在不同种类的存储介质中,或者所述第一数据库和所述第二数据库是不同种类的数据库。12.如权利要求1所述的方法,其特征在于,进一步包括:向所述消息平台订阅所述实时更新通知消息。13.如权利要求1所述的方法,其特征在于,进一步包括:在对所述第一数据服务端中的第一数据库中的相应数据进行更新之后,立即向所述消息平台发送实时更新汇报消息,所述实时更新汇报消息指示:所述第一数据库中的相应数据对应的实体ID和实体类型,以及所述第一数据库中的相应数据更新的时间。14. 一种数据同步方法,用于消息平台,其特征在于,所述消息平台包括在数据系统中,所述数据系统还包括具有第一数据库的第一数据服务端和具有第二数据库的第二数据服务端,所述方法包括步骤:接收针对所述第二数据服务端中的第二数据库发...

【专利技术属性】
技术研发人员:周正杰李泽龙
申请(专利权)人:中国国际金融股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1