数据同步方法、系统和装置制造方法及图纸

技术编号:24574043 阅读:28 留言:0更新日期:2020-06-21 00:07
本公开的实施例公开了数据同步方法、系统和装置。该方法的一具体实施方式包括:响应于接收到客户端发送的数据同步请求,解析同步请求以获取同步请求指示的待同步数据,向全局时钟服务器发送时间戳请求,响应于接收到全局时钟服务器返回的全局时间戳,向第一服务端发送第一存储请求,响应于接收到第一服务端返回的与第一存储请求相对应的存储成功消息,向第一服务端发送数据请求,接收第一服务端返回的数据请求对应的目标同步数据,并向第二服务端发送第二存储请求,响应于接收到第二服务端返回的数据同步结果,并向客户端转发。该实施方式提高了数据同步的准确性,提升了数据同步效率。

Data synchronization methods, systems and devices

【技术实现步骤摘要】
数据同步方法、系统和装置
本公开的实施例涉及计算机
,具体涉及数据处理
,尤其涉及数据同步方法、系统和装置。
技术介绍
分布式存储系统Hbase结合数据搜索分析引擎Elasticsearch(简称ES)是一种常用的海量数据存储及实时搜索方案,由于数据需要分别存储至分布式存储系统Hbase和数据搜索分析引擎ES,如何使数据同步至分布式存储系统Hbase和数据搜索分析引擎ES成为需要解决问题。目前将数据同步至分布式存储系统Hbase和数据搜索分析引擎ES的方案包括:一种是先将数据存储至分布式存储系统Hbase,然后按照数据存储入Hbase的顺序再将数据从分布式存储系统Hbase写入数据搜索分析引擎ES;另一种是利用消息队列将消息队列中的数据依次存储至分布式存储系统Hbase和数据搜索分析引擎ES,还有一种是利用分布式存储系统Hbase的协处理器实现分布式存储系统ES与分布式存储系统Hbase数据同步。
技术实现思路
本公开的实施例提出了数据同步方法、系统和装置。第一方面,本公开的实施例提供了一种数据同步方法,该方法包括:响应于接收到客户端发送的数据同步请求,解析同步请求以获取同步请求指示的待同步数据;向全局时钟服务器发送时间戳请求;响应于接收到全局时钟服务器返回的全局时间戳,向第一服务端发送第一存储请求,其中,第一存储请求包括全局时间戳和待同步数据,全局时间戳为指示当前时间和序列号的一组数字;响应于接收到第一服务端返回的与第一存储请求相对应的存储成功消息,向第一服务端发送数据请求;接收第一服务端返回的数据请求对应的目标同步数据,并向第二服务端发送第二存储请求,其中,第二存储请求包括全局时间戳和目标同步数据;响应于接收到第二服务端返回的数据同步结果,并向客户端转发。在一些实施例中,在接收第一服务端返回的数据请求对应的目标同步数据,并向第二服务端发送第二存储请求之后,方法还包括:响应于接收到第二服务端返回的与第二存储请求对应的存储失败消息,将目标同步数据和全局时间戳存储于数据恢复表;基于数据恢复表,执行数据恢复操作。在一些实施例中,目标同步数据为第一服务端数据库中与数据标识对应的全量数据,其中,数据标识为第一服务端数据库中待同步数据对应的一行记录的唯一标识。第二方面,本公开的实施例提供了一种数据同步方法,该方法包括:接收同步处理服务器发送的存储请求,解析存储请求以获取目标同步数据和全局时间戳,其中,全局时间戳为指示当前时间和序列号的一组单调递增的数字;基于全局时间戳,更新目标同步数据对应的数据并更新数据ID对应数据的版本号,并向同步处理服务器返回数据同步结果,其中,数据ID为本地数据库中与目标同步数据相对应的数据的唯一标识。在一些实施例中,基于全局时间戳,更新目标同步数据对应的数据并更新目标同步数据对应的数据的版本号,并向同步处理服务器返回数据同步结果,包括:判断全局时间戳是否大于数据ID对应数据的版本号;若全局时间戳大于数据ID对应数据的版本号,更新目标同步数据对应的数据并更新数据ID对应数据的版本号;响应于更新目标同步数据对应的数据成功,向同步处理服务器返回数据同步结果。在一些实施例中,在判断全局时间戳是否大于数据ID对应数据的版本号之后,方法还包括:若全局时间戳不大于数据ID对应数据的版本号,向同步处理服务器返回数据同步结果。在一些实施例中,在若全局时间戳大于数据ID对应数据的版本号,更新目标同步数据对应的数据并更新数据ID对应数据的版本号之后,方法还包括:响应于更新目标同步数据对应的数据未成功,向同步处理服务器发送存储失败消息。第三方面,本公开的实施例提供了一种数据同步系统,包括:同步处理服务器,其中,同步处理服务器用于执行上述第一方面的数据同步方法。在一些实施例中,系统还包括第二服务端;第二服务端用于执行上述第二方面的数据同步方法。在一些实施例中,系统还包括第一服务端和全局时钟服务器;第一服务端,用于接收同步处理服务器发送的第一存储请求,解析第一存储请求以获取待同步数据和全局时间戳,基于全局时间戳,更新待同步数据对应的数据和更新数据标识对应数据的时间戳,其中,数据标识为库中待同步数据对应的一行记录的唯一标识,响应于更新待同步数据对应的数据成功,向同步处理服务器发送与第一存储请求相对应的存储成功消息,接收同步处理服务器发送的数据请求,获取库中数据请求对应的目标同步数据,并发送目标同步数据至同步处理服务器。全局时钟服务器,用于接收同步处理服务器发送的时间戳请求,获取当前时间戳对应的全局时间戳,并发送全局时间戳至同步处理服务器。在一些实施例中,第一服务端还用于判断全局时间戳是否大于库中数据标识对应数据的时间戳,若全局时间戳大于库中标识对应数据的时间戳,更新待同步数据对应的数据和更新数据标识对应数据的时间戳。在一些实施例中,第一服务端还用于判断库中是否存在数据标识,若库中不存在数据标识,添加待同步数据对应的数据和添加数据标识对应数据的时间戳。第四方面,本公开的实施例提供了一种数据同步装置,该装置包括:解析单元,被配置成响应于接收到客户端发送的数据同步请求,解析同步请求以获取同步请求指示的待同步数据;时间戳请求单元,被配置成向全局时钟服务器发送时间戳请求;第一存储请求单元,被配置成响应于接收到全局时钟服务器返回的全局时间戳,向第一服务端发送第一存储请求,其中,第一存储请求包括全局时间戳和待同步数据,全局时间戳为指示当前时间和序列号的一组数字;数据请求单元,被配置成响应于接收到第一服务端返回的与第一存储请求相对应的存储成功消息,向第一服务端发送数据请求;第二存储请求单元,被配置成接收第一服务端返回的数据请求对应的目标同步数据,并向第二服务端发送第二存储请求,其中,第二存储请求包括全局时间戳和目标同步数据;转发单元,被配置成响应于接收到第二服务端返回的数据同步结果,并向客户端转发。在一些实施例中,装置还包括:存储单元,被配置成响应于接收到第二服务端返回的与第二存储请求对应的存储失败消息,将目标同步数据和全局时间戳存储于数据恢复表;恢复单元,被配置成基于数据恢复表,执行数据恢复操作。在一些实施例中,目标同步数据为第一服务端数据库中与数据标识对应的全量数据,其中,数据标识为第一服务端数据库中待同步数据对应的一行记录的唯一标识。第五方面,本公开的实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。第六方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。本公开的实施例提供的数据同步方法、系统和装置采用响应于接收到客户端发送的数据同步请求,解析同步请求以获取同步请求指示的待同步数据,向全局时钟服务器发送时间戳请求,响应于接收到全局时钟服务器返回的全局时间戳,向第一服务端发本文档来自技高网...

【技术保护点】
1.一种数据同步方法,所述方法包括:/n响应于接收到客户端发送的数据同步请求,解析所述同步请求以获取所述同步请求指示的待同步数据;/n向全局时钟服务器发送时间戳请求;/n响应于接收到所述全局时钟服务器返回的全局时间戳,向第一服务端发送第一存储请求,其中,所述第一存储请求包括所述全局时间戳和所述待同步数据,所述全局时间戳为指示当前时间和序列号的一组数字;/n响应于接收到所述第一服务端返回的与所述第一存储请求相对应的存储成功消息,向所述第一服务端发送数据请求;/n接收所述第一服务端返回的所述数据请求对应的目标同步数据,并向第二服务端发送第二存储请求,其中,所述第二存储请求包括所述全局时间戳和所述目标同步数据;/n响应于接收到所述第二服务端返回的所述数据同步结果,并向所述客户端转发。/n

【技术特征摘要】
1.一种数据同步方法,所述方法包括:
响应于接收到客户端发送的数据同步请求,解析所述同步请求以获取所述同步请求指示的待同步数据;
向全局时钟服务器发送时间戳请求;
响应于接收到所述全局时钟服务器返回的全局时间戳,向第一服务端发送第一存储请求,其中,所述第一存储请求包括所述全局时间戳和所述待同步数据,所述全局时间戳为指示当前时间和序列号的一组数字;
响应于接收到所述第一服务端返回的与所述第一存储请求相对应的存储成功消息,向所述第一服务端发送数据请求;
接收所述第一服务端返回的所述数据请求对应的目标同步数据,并向第二服务端发送第二存储请求,其中,所述第二存储请求包括所述全局时间戳和所述目标同步数据;
响应于接收到所述第二服务端返回的所述数据同步结果,并向所述客户端转发。


2.根据权利要求1所述的数据同步方法,其中,在所述接收所述第一服务端返回的所述数据请求对应的目标同步数据,并向第二服务端发送第二存储请求之后,所述方法还包括:
响应于接收到所述第二服务端返回的与所述第二存储请求对应的存储失败消息,将所述目标同步数据和所述全局时间戳存储于数据恢复表;
基于所述数据恢复表,执行所述数据恢复操作。


3.根据权利要求1所述的数据同步方法,其中,所述目标同步数据为所述第一服务端数据库中与所述数据标识对应的全量数据,其中,所述数据标识为所述第一服务端数据库中所述待同步数据对应的一行记录的唯一标识。


4.一种数据同步方法,所述方法包括:
接收同步处理服务器发送的存储请求,解析所述存储请求以获取目标同步数据和全局时间戳,其中,所述全局时间戳为指示当前时间和序列号的一组单调递增的数字;
基于所述全局时间戳,更新所述目标同步数据对应的数据并更新数据ID对应数据的版本号,并向所述同步处理服务器返回所述数据同步结果,其中,所述数据ID为本地数据库中与所述目标同步数据相对应的数据的唯一标识。


5.根据权利要求4所述的数据同步方法,其中,所述基于所述全局时间戳,更新所述目标同步数据对应的数据并更新所述目标同步数据对应的数据的版本号,并向所述同步处理服务器返回所述数据同步结果,包括:
判断所述全局时间戳是否大于数据ID对应数据的版本号;
若所述全局时间戳大于数据ID对应数据的版本号,更新所述目标同步数据对应的数据并更新数据ID对应数据的版本号;
响应于更新所述目标同步数据对应的数据成功,向所述同步处理服务器返回所述数据同步结果。


6.根据权利要求5所述的数据同步方法,其中,在所述判断所述全局时间戳是否大于数据ID对应数据的版本号之后,所述方法还包括:
若所述全局时间戳不大于数据ID对应数据的版本号,向所述同步处理服务器返回所述数据同步结果。


7.根据权利要求5所述的数据同步方法,其中,在所述若所述全局时间戳大于数据ID对应数据的版本号,更新所述目标同步数据对应的数据并更新数据ID对应数据的版本号之后,所述方法还包括:
响应于更新所述目标同步数据对应的数据未成功,向所述同步处理服务器发送所述存储失败消息。


8.一种数据同步系统,包括:同步处理服务器,其中,
所述同步处理服务器用于执行如权利要求1-3任意一项的数据同步方法。


9.根据权利要求8所述的数据同步系统,其中,所述系统还包括第二服务端;
所述第二服务端用于执行如权利要求...

【专利技术属性】
技术研发人员:银彪高晓然徐力权
申请(专利权)人:京东数字科技控股有限公司
类型:发明
国别省市:北京;11

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

1