一种多数据中心之间数据同步方法、系统及计算机可读存储介质技术方案

技术编号:19822363 阅读:668 留言:0更新日期:2018-12-19 14:54
本申请披露了一种用于数据中心间的数据同步的方法、系统及计算机可读存储介质,所述方法包括第一数据中心获取至少一个待同步数据;其中,每个待同步数据对应一个数据序号,所述数据序号反映其对应的待同步数据被所述第一数据中心获取的时间顺序;所述第一数据中心将所述待同步数据写入其至少一个存储设备;所述第一数据中心基于所述数据序号反映的所述时间顺序以及待同步数据在第二数据中心上的接收状态将待同步数据发送到第二数据中心进行同步。

【技术实现步骤摘要】
一种多数据中心之间数据同步方法、系统及计算机可读存储介质
本申请涉及数据存储领域,具体涉及一种数据在多数据中心之间在线即时同步的系统和方法。
技术介绍
随着互联网技术的发展,O2O服务,如在线出租车服务和递送服务,在人们的日常生活中扮演着越来越重要的作角色。而在人们使用O2O服务时,会产生大量的数据(例如,订单数据),如何进行有效存储和利用是当前的热点问题。O2O服务平台通常会将这些数据存储于数据库服务中,并且为了保证数据库服务的高可用性,通常使用“异地多活”技术,构建跨机房的数据库服务,即数据存储在多个不同网络环境的机房。当一个机房的数据因任何原因不可用时,可迅速将访问切换到另一个机房的数据库上,降低服务中断的时间。“异地多活”技术中关键的技术点之一在于如何进行数据在线实时同步。现有的数据在线实时同步方案通常依赖于一个第三方中间设备,如:MQ类的消息中间件。用户写入数据到数据库之后,数据库服务依赖MQ类的消息中间件,在后台实现多机房同步。但是这种数据同步方法,其同步数据的可靠性严重依赖MQ类消息中间件,如果在该MQ类消息中间件数据丢失,将无法保证数据的可靠同步。因此,如何能保证数据同步的可靠性,不依赖第三方中间件的数据同步成为多数据库之间数据同步领域需要解决的一个问题。
技术实现思路
本申请的一个方面涉及一种用于多数据中心之间数据同步的方法。所述方法包括第一数据中心获取至少一个待同步数据;其中,每个待同步数据对应一个数据序号,所述数据序号反映其对应的待同步数据被所述第一数据中心获取的时间顺序;所述第一数据中心将所述待同步数据写入其至少一个存储设备;所述第一数据中心基于所述数据序号反映的所述时间顺序以及待同步数据在第二数据中心处的接收状态将待同步数据发送到第二数据中心进行同步。在一些实施例中,所述第一数据中心基于所述数据序号反映的所述时间顺序将待同步数据发送到第二数据中心进行同步进一步包括:所述第一数据中心按照所述数据序号反映的所述时间顺序将待同步数据依次序发送到第二数据中心进行同步。在一些实施例中,所述第一数据中心维护至少一个发送队列;所述发送队列至少用于记录至少一个已发送的待同步数据的数据序号;所述第一数据中心基于所述发送队列将待同步数据发送到第二数据中心进行同步。在一些实施例中,所述第一数据中心在将某待同步数据发送给第二数据中心后,将该待同步数据对应的数据序号记录到发送队列中。在一些实施例中,所述第一数据中心维护至少一个发送队列进一步包括以下步骤:第一数据中心判断是否接收到第二数据中心反馈的与所述发送队列中某数据序号对应的待同步数据的到达信息,若是,将该数据序号从发送队列中删除;若否,保留所述发送队列中该数据序号,以及保留所述发送队列中反映的所述时间顺序在该数据序号之后的数据序号。在一些实施例中,所述第一数据中心基于所述发送队列将待同步数据发送到第二数据中心进行同步还包括:第一数据中心判断某数据序号在所述发送队列中的保留时间是否超时,若是则重新向第二数据中心发送该数据序号对应的待同步数据以及所述发送队列中反映的所述时间顺序在该数据序号之后的数据序号对应的待同步数据。在一些实施例中,所述发送队列存储于第一数据中心的至少一个存储设备中。本申请的又一方面涉及一种多数据中心之间数据同步的系统。所述系统包括:获取模块,写入模块及发送模块,其中:所述获取模块用于获取至少一个待同步数据;其中,每个待同步数据对应一个数据序号,所述数据序号反映其对应的待同步数据被所述第一数据中心获取的时间顺序;所述写入模块用于将所述待同步数据写入第一数据中心的至少一个存储设备;所述发送模块用于基于所述数据序号反映的所述时间顺序以及待同步数据在第二数据中心处的接收状态将待同步数据发送到第二数据中心进行同步。本申请的又一个方面涉及一种计算机可读存储介质,所述存储介质用于存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机运行所述的用于多数据中心之间数据同步方法。本申请的又一个方面涉及一种用于多数据中心之间的数据同步装置,所述装置包括至少一个处理器以及至少一个存储介质;所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现所述的用于多服务器之间数据同步的方法。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构和操作。图1为根据本申请的一些实施例所示的一个示例性汇合位置推荐系统的示意图;图2为根据本申请的一些实施例所示的一个示例性的可以实施处理引擎的计算装置的示例性硬件和/或软件组件的示意图;图3为根据本申请的一些实施例所示的一个示例性移动设备的硬件和/或软件组件的示意图;图4为根据本申请的一些实施例所示的一个示例性处理引擎的框图;图5为示出了根据本申请的一些实施例所示的一个示例性处理模块的框图;图6为根据本申请的一些实施例所示的在服务之间进行数据同步的一个示例性流程图;以及图7为根据本申请的一些实施例所示的保证数据按序到达的一个示例性流程图。具体实施方式在下面的详细描述中,为了提供对相关申请的透彻理解,通过实施例阐述了实施例的具体细节。然而,对于本领域技术人员来说显而易见的是,本申请可以在没有这些具体细节的情况下被实现。在其他情况下,为了避免不必要地模糊本申请的各方面,已经以较高级别(没有细节)描述了众所周知的方法、程序、系统、部件和/或电路。对本申请的实施例的各种修改对于本领域技术人员将是显而易见的,并且在不脱离本申请的精神和范围的情况下,本申请定义的一般原理可以应用于其他实施例和应用场景中。因此,本申请不限于所示的实施例,而是符合与权利要求一致的最广范围。本申请使用的术语仅用于描述特定示例性实施例的目的,而不是限制性的。如本申请所使用的,除非上下文明确提示例外情形,单数形态的“一”,“一个”和“该”也可以包括复数。应当进一步理解的是,在本说明书中使用的术语“包括”和/或“包含”时,指存在所述特征、整形常量、步骤、操作、元素和/或组件,但不排除存在或添加一个或多个其他特征、整形常量、步骤、操作、元件、组件和/或其组合。应当理解的是,本申请使用的术语“系统”、“引擎”、“单元”、“模块”和/或“区块”是一种以升序的形式来区分不同组件、元件、部件、部件或组件的级别方法。然而,如果其他表达方式达到相同的目的,则这些术语可能被其他表达方式所取代。通常,如本申请所使用的“模块”、“单元”或“区块”是指以硬件或固件或软件指令的集合体现的逻辑。本申请描述的模块、单元或区块可以在软件和/或硬件上被执行,并且可以被存储在任何类型的非暂时性计算机可读介质或其他存储设备中。在一些实施例中,软件模块、单元、区块可以被编译并连接到可执行程序中。应当理解的是,软件模块可以从其他模块、单元、区块或其自身调用和/或可以响应于检测到的事件或中断而被调用。配置用于在计算设备上执行的软件模块/单元/区块(例如,如图1所示的处理引擎112)可以被提供在计算机可读本文档来自技高网...

【技术保护点】
1.一种用于多数据中心之间数据同步的方法,其特征在于,包括:第一数据中心获取至少一个待同步数据;其中,每个待同步数据对应一个数据序号,所述数据序号反映其对应的待同步数据被所述第一数据中心获取的时间顺序;所述第一数据中心将所述待同步数据写入其至少一个存储设备;所述第一数据中心基于所述数据序号反映的所述时间顺序以及待同步数据在第二数据中心处的接收状态将待同步数据发送到第二数据中心进行同步。

【技术特征摘要】
1.一种用于多数据中心之间数据同步的方法,其特征在于,包括:第一数据中心获取至少一个待同步数据;其中,每个待同步数据对应一个数据序号,所述数据序号反映其对应的待同步数据被所述第一数据中心获取的时间顺序;所述第一数据中心将所述待同步数据写入其至少一个存储设备;所述第一数据中心基于所述数据序号反映的所述时间顺序以及待同步数据在第二数据中心处的接收状态将待同步数据发送到第二数据中心进行同步。2.根据权利要求1所述的方法,其特征在于,所述第一数据中心基于所述数据序号反映的所述时间顺序将待同步数据发送到第二数据中心进行同步进一步包括:所述第一数据中心按照所述数据序号反映的所述时间顺序将待同步数据依次序发送到第二数据中心进行同步。3.根据权利要求1所述的方法,其特征在于,还包括,所述第一数据中心维护至少一个发送队列;所述发送队列至少用于记录至少一个已发送的待同步数据的数据序号;所述第一数据中心基于所述发送队列将待同步数据发送到第二数据中心进行同步。4.根据权利要求3所述的方法,其特征在于,所述第一数据中心维护至少一个发送队列进一步包括以下步骤:第一数据中心在将某待同步数据发送给第二数据中心后,将该待同步数据对应的数据序号记录到发送队列中。5.根据权利要求3所述的方法,其特征在于,所述第一数据中心维护至少一个发送队列进一步包括以下步骤:第一数据中心判断是否接收到第二数据中心反馈的与所述发送队列中所反映的时间顺序最早的数据序号对应的待同步数据的到达信息,若是,将该数据序号从发送队列中删除;若否,保留所述发送队列中该数据序号,以及保留所述发送队列中反映的所述时间顺序在该数据序号之后的数据序号。6.根据权利要求3所述的方法,其特征在于,所述第一数据中心基于所述发送队列将待同步数据发送到第二数据中心进行同步还包括:第一数据中心判断某数据序号在所述发送队列中的保留时间是否超时,若是则重新向第二数据中心发送该数据序号对应的待同步数据以及所述发送队列中反映的所述时间顺序在该数据序号之后的数据序号对应的待同步数据。7.根据权利要求3所述的方法,其特征在于,所述发送队列存储于第一数据中心的至少一个存储设备中。8.一种用于多数据中心之间数据同步的系统,其特征在于,位于第一数据中心中,包括:获取模块,写入模块及发送模块,所述获取模块用于获取至...

【专利技术属性】
技术研发人员:余汶龙
申请(专利权)人:北京嘀嘀无限科技发展有限公司
类型:发明
国别省市:北京,11

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

1