CN114327563A - 数据同步方法及装置、系统、存储介质、计算机系统 - Google Patents
数据同步方法及装置、系统、存储介质、计算机系统 Download PDFInfo
- Publication number
- CN114327563A CN114327563A CN202111667321.3A CN202111667321A CN114327563A CN 114327563 A CN114327563 A CN 114327563A CN 202111667321 A CN202111667321 A CN 202111667321A CN 114327563 A CN114327563 A CN 114327563A
- Authority
- CN
- China
- Prior art keywords
- data
- equipment
- identifier
- difference
- synchronization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000001360 synchronised effect Effects 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及计算机技术领域,具体涉及数据同步方法、数据同步装置、数据同步系统、存储介质,以及计算机系统。所述方法包括:获取第二设备的网络状态,在所述第二设备恢复网络连接时,获取第二设备的第二数据标识;在所述第二设备的第二数据标识与第一设备的第一数据标识不同时,根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据;向所述第二设备推送差异数据,以使第二设备与第一设备的数据同步。本公开可以有效的解决断网后数据中心无法保持数据同步的问题。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种数据同步方法、一种数据同步装置、一种数据同步系统、一种存储介质,以及一种计算机系统。
背景技术
随着计算机技术的快速发展,互联网网络数据量也随之增长。为了满足在不同的地域进行数据的存储和交互,一般使用多数据中心的方式来维持产品的运行。然而,不同的数据中心可能存在网络无法联通的情况,从而导致各数据中心之间无法保持数据的同步。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种数据同步方法、数据同步装置、存储介质及计算机系统,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的断网后数据中心无法保持数据同步的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供了一种数据同步方法,应用于第一设备,所述方法包括:
获取第二设备的网络状态,在所述第二设备恢复网络连接时,获取第二设备的第二数据标识;
在所述第二设备的第二数据标识与第一设备的第一数据标识不同时,根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据;
向所述第二设备推送差异数据,以使第二设备与第一设备的数据同步。
在本公开的一种示例性实施例中,所述方法包括:
监测所述第二设备的网络连接状态,在确定所述第二设备当前断开网络连接时建立第二设备数据同步检查任务,以使得在确定所述第二设备恢复网络连接时,执行所述第二设备数据同步检查任务以获取所述第二设备的第二数据标识。
在本公开的一种示例性实施例中,所述差异数据包括:至少一个迭代版本的更新数据。
在本公开的一种示例性实施例中,在所述差异数据包括多个迭代版本的更新数据时,所述根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据包括:
确定所述第二设备的当前数据、所述多个迭代版本的更新数据之间是否存在数据依赖;
若不存在数据依赖,则根据最新迭代版本的更新数据确定所述差异数据的数据内容;或者
若存在数据依赖,则将所述多个迭代版本的更新数据确定为所述差异数据的数据内容。
在本公开的一种示例性实施例中,在将所述多个迭代版本的更新数据确定为所述差异数据的数据内容时,所述向所述第二设备推送差异数据,包括:
将各迭代版本的更新数据按更新数据依次推送至所述第二设备。
在本公开的一种示例性实施例中,
所述方法还包括:
接收所述第二设备反馈的第二更新数据标识,以根据所述第二更新数据标识确定所述第二设备的数据同步结果。
根据本公开的第一方面,提供了一种数据同步方法,应用于第二设备,所述方法包括:
获取当前的网络状态,在恢复网络连接时向第一设备发送第二数据标识,以用于所述第一设备根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据;
接收所述第一设备推送的差异数据,以完成第二设备与所述第一设备之间的数据同步。
在本公开的一种示例性实施例中,在所述差异数据包括多个迭代版本的更新数据时,所述方法还包括:
基于各迭代版本的更新数据按更新数据依次进行更新同步。
在本公开的一种示例性实施例中,所述方法还包括:
在完成所述差异数据的数据同步后,向所述第一设备发送第二更新数据标识,以用于所述第一设备确定所述第二设备的数据同步结果。
根据本公开的第三方面,提供一种数据同步装置,应用于第一设备,所述装置包括:
第二数据标识获取模块,用于获取第二设备的网络状态,在所述第二设备恢复网络连接时,获取第二设备的第二数据标识;
差异数据计算模块,用于在所述第二设备的第二数据标识与第一设备的第一数据标识不同时,根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据;
同步更新模块,用于向所述第二设备推送差异数据,以使第二设备与第一设备的数据同步。
根据本公开的第四方面,提供一种数据同步装置,应用于第二设备,所述装置包括:
第二数据标识发送模块,用于获取当前的网络状态,在恢复网络连接时向第一设备发送第二数据标识,以用于所述第一设备根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据;
同步数据接收模块,用于接收所述第一设备推送的差异数据,以完成第二设备与所述第一设备之间的数据同步。
根据本公开的第五方面,提供一种数据同步系统,所述系统包括:
第一设备,部署于公有云,用于通过网关设备向私有云获取第二设备的网络状态,以及在第二设备由断网状态恢复网络连接时,向第二设备推送第二设备与第一设备之间的差异数据;
第二设备,部署于私有云,用于通过网关设备接收所述第一设备推送的差异数据,以完成第二设备与所述第一设备之间的数据同步;
网关设备,用于向私有云采集第二设备的网络连接状态并反馈至第一设备,以及向第二设备推送所述差异数据。
根据本公开的第六方面,提供一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述第一方面的数据同步方法。
根据本公开的第七方面,提供一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述第二方面的数据同步方法。
根据本公开的第八方面,提供一种计算机系统,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述的数据同步方法。
本公开的一种实施例所提供的数据同步方法中,通过监控第二设备的网络状态,并在第二设备恢复网络连接时,获取第二设备的第二数据标识,并利用第二数据标识与第一设备的第一数据标识进行对比;在对比后确定存在两设备之间数据标识不同,存在数据差异时,计算差异数据,并将差异数据推送至第二设备,从而实现第二设备保持与第一设备之间的自动数据同步。通过在第二设备网络连通后自动进行差异比对,计算差异数据,并将差异数据向第二设备同步,从而实现断网后同步数据中心的自动数据同步机制,减少人工介入排查。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施例中一种应用于第一设备的数据同步方法的示意图;
图2示意性示出本公开示例性实施例中一种数据同步方法的示意图;
图3示意性示出本公开示例性实施例中一种系统架构的示意图;
图4示意性示出本公开示例性实施例中一种应用于第二设备的数据同步方法的示意图;
图5示意性示出本公开示例性实施例中一种数据同步方法的示意图;
图6示意性示出本公开示例性实施例中一种应用于第一设备的数据同步装置的示意图;
图7示意性示出本公开示例性实施例中一种应用于第二设备的数据同步装置的示意图;
图8示意性示出本公开示例性实施例中一种数据同步系统的示意图;
图9示意性示出本公开示例性实施例中一种计算机系统的组成示意图;
图10示意性示出本公开示例性实施例中一种存储介质的组成示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在相关技术中,为了满足产品运行的需求,需要设置多个数据中心,各数据中心需要保持数据的同步。然而,一些分布较远的,或者存在特殊网络需求的数据中心可能并不在同一网络可联通的范围内,这就需要通过vpn或者其他方式接入网络,与其他的数据中心之间进行交互。然而,这些数据中心可能存在偶尔断网,或者经常断网的情况。这就导致的了各数据中心之间数据不同步。且由于断网时间长短的不同,各断网的数据中心的状态需要大量的人工介入排查,甚至可能需要重新制作数据中心。
为了解决现有技术中存在的技术问题,本示例实施方式中首先提供了一种数据同步方法,可以应用于对多数据中心之间的数据同步。参考图1中所示,上述的数据同步方法可以包括以下步骤:
步骤S11,获取第二设备的网络状态,在所述第二设备恢复网络连接时,获取第二设备的第二数据标识;
步骤S12,在所述第二设备的第二数据标识与第一设备的第一数据标识不同时,根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据;
步骤S13,向所述第二设备推送差异数据,以使第二设备与第一设备的数据同步。
本示例实施方式所提供的数据同步方法中,通过监控第二设备的网络状态,并在第二设备恢复网络连接时,获取第二设备的第二数据标识,并利用第二数据标识与第一设备的第一数据标识进行对比;在对比后确定存在两设备之间数据标识不同,存在数据差异时,计算差异数据,并将差异数据推送至第二设备,从而实现第二设备保持与第一设备之间的自动数据同步。通过在第二设备网络连通后自动进行差异比对,计算差异数据,并将差异数据向第二设备同步,从而实现断网后同步数据中心的自动数据同步机制,减少人工介入排查。
下面,将结合附图及实施例对本示例实施方式中的数据同步方法的各个步骤进行更详细的说明。
本示例实施方式中,参考图3所示的系统架构,可以应用于上述的数据同步方法。参考图2所示,该系统架构可以包括第一服务器301、第二服务器304、网络302、网关设备303。其中,第一服务器301可以是数据服务器或者云端服务,可以部署在总部,作为总部数据中心;第二服务器304可以采用数据服务器后者业务服务器,可以部署在医院、业务中心等场所,作为子数据中心。网络302可以用于在服务器之间提供通信链路的介质。网络302可以包括各种连接类型,例如有线通信链路、无线通信链路等等。网关设备303可以是接入网关,用于管理、传输各服务器之间的信令、数据,以及进行权限校验。应该理解,图2中的网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。例如,第一服务器301可以是由多个服务器组成的服务器集群。
在步骤S11中,获取第二设备的网络状态,在所述第二设备恢复网络连接时,获取第二设备的第二数据标识。
本示例实施方式中,第一设备可以是上述图3中所示的第一服务器,即总部数据中心;例如,可以是公有云服务器。第二设备可以是上述图3中所示的第二服务器,即部署在其他地区或场所的子数据中心;例如,可以是私有云服务器。一般来说,公有云可以是指通过公共Internet提供的计算服务。私有云是指通过Internet或专用内部网络仅面向特选用户(而非一般公众)提供的计算服务。在一些示例性实施例中,上述的第一设备、第二设备也可以是部署在由私有云、公有云结合创建的混合云中。
对于第一设备来说,可以创建对各第二设备的网络状态监控任务。例如,可以通过网关设备303来执行该网络状态监控任务,采集各第二设备的网络连接状态。
或者,在一些示例性实施方式中,也可以是第一设备向第二设备推送待同步数据,而未收到第二设备的反馈信息时,确定第二设备当前处于网络中断的状态。
本示例实施方式中,上述的步骤S11还可以包括:监测所述第二设备的网络连接状态,在确定所述第二设备当前断开网络连接时建立第二设备数据同步检查任务,以使得在确定所述第二设备恢复网络连接时,执行所述第二设备数据同步检查任务以获取所述第二设备的第二数据标识。
具体来说,在识别到一第二设备当前处于网络中断的状态,即第一设备与第二设备之间无法进行数据传输和信令交互时,在第一设备端,便可以建立针对该当前处于断网状态的第二设备的第二设备数据同步检查任务。当识别到第二设备恢复网络连接时,第一设备便可以向第二设备下发数据标识获取指令,令第二设备向第一设备提交当前的数据标识。第二设备在接收到该数据标识获取指令时,即表示当前网络已连通,向第一设备反馈当前的第二数据标识。其中,该数据标识可以用于描述第二设备当前的软件版本、数据更新版本,以及当前的数据更新时间、数据对象、配置信息等信息;或者,用于标识数据。举例来说,在识别第二设备的网络连接状态时,第一设备可以通过网关设备向第二设备发送心跳信号,若网关设备接收到第二设备反馈的响应数据包,则可以确定当前第二设备网络连通;或者,若在一定时间内未收到第二设备反馈的响应数据,则确定当前第二设备处于网络中断状态。或者,也可以是预先配置第二设备按周期向网关设备的指定API端口发送一固定格式的网络状态信息;若网关设备未收到该网络状态信息,则可以判断当前第二设备处于网络中断状态。
在步骤S12中,在所述第二设备的第二数据标识与第一设备的第一数据标识不同时,根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据。
本示例实施方式中,第一设备在接收到第二设备反馈的第二数据标识后,便可以将第二数据标识与第一设备本地的第一数据标识进行比对。若第二数据标识与第一数据标识相同,则表明子数据中心与总部数据中心当前数据同步,不存在数据差异;或者,若第二数据标识与第一数据标识不同,则表明当前子数据中心与总部数据中心之间存在数据差异,子数据中心缺失部分数据;可以是由于之前的数据同步未完成,或者第二设备数据丢失等原因导致。第一设备在识别第二设备当前与第一设备本地之间存在差异,数据不同步时,便可以利用第一数据标识、第二数据标识作为参考,计算差异数据。
本示例实施方式中,差异数据包括:至少一个迭代版本的更新数据。举例而言,第一设备本地的数据内容,与第二设备本地的数据内容,可以是仅相差一个更新版本;例如,在第一子数据中心的断网期间,总部数据中心下发了一次数据同步,但由于该第一子数据中心断网,没能完成本次数据同步。
或者,也可以是第一设备本地的数据内容,与第二设备本地的数据内容之间相差了多个迭代更新版本。例如,第一子数据中心断网,且断网时间较长;在该断网期间,总部数据中心向子数据中心至少执行了两次数据同步过程,即第一子数据中心在断网期间错过了多个连续的数据迭代版本。
具体而言,上述的方法还可以包括:在所述差异数据包括多个迭代版本的更新数据时,确定所述第二设备的当前数据、所述多个迭代版本的更新数据之间是否存在数据依赖;
若不存在数据依赖,则根据最新迭代版本的更新数据确定所述差异数据的数据内容;或者
若存在数据依赖,则将所述多个迭代版本的更新数据确定为所述差异数据的数据内容。
其中,上述的数据依赖可以是指,当版本n向版本n+2更新时,需必须使用版本n+1的部分或全部数据内容,需要由版本n先更新至版本n+1,再由版本n+1更新至版本n+2,则存在数据依赖;或者,若不需使用版本n+1,即版本n可以直接更新版本n+2,则不存在数据依赖。
通过对多个迭代版本的更新数据之间是否存在数据依赖关系进行判断和识别,可以准确的计算差异数据。进而避免向第二设备下发的差异数据存在缺失而导致的第二设备数据同步失败或数据不完整。
在步骤S13中,向所述第二设备推送差异数据,以使第二设备与第一设备的数据同步。
本示例实施方式中,在差异数据中仅包含一个迭代版本的更新数据;或者,差异数据中存在多个迭代版本的更新数据,但各版本的更新数据之间并不存在数据依赖关系时,第一设备可以直接将最新版本的更新数据作为差异数据,通过网关设备推送至第二设备。或者,若差异数据中存在多个迭代版本的更新数据,且各版本的更新数据之间存在数据依赖关系时,则将连续的多个迭代版本作为连续多个差异数据,依次推送至第二设备。或者,可以将连续的多个迭代版本作为一个差异数据整体,一并发送至第二设备,使第二设备依次完成各版本的更新,实现第二设备与第一设备之间的数据同步。
基于上述内容,在本公开的一些示例性实施方式中,参考图2所示,上述方法还可以包括:
步骤S14,接收所述第二设备反馈的第二更新数据标识,以根据所述第二更新数据标识确定所述第二设备的数据同步结果。
本示例实施方式中,第一设备可以通过网关设备接收第二设备反馈的第二更细数据标识。具体的,当第二设备完成一次数据同步时,便可以通过网关设备向第一设备反馈当前的数据更新标识。数据更新标识可以用于描述第二设备本次数据同步后的数据版本。
第一设备在接收到第二设备的第二更新数据标识后,可将其与第一设备本地的第一数据标识进行再次比对,若相同,则证实第二设备当前与第一设备同步完成;若不同,则证实第二设备当前与第一设备同步未完成,则可以重新发起上述的差异数据计算过程,并重新向第二设备发起数据同步。
在一些示例性实施方式中,在差异数据中包括连续的多个迭代版本数据时,第二设备可以在完成一次迭代版本数据时便生成一个数据更新标识;在完成全部版本的数据同步时,将连续多个数据同步结果对应的多个第二更新数据标识一并发送至第一设备。若第二设备仅完成部分迭代版本的数据同步,通过该第二更新数据标识,第一设备可以准确的获知第二设备的数据同步进度。便于准确的发起再一次的数据同步任务。
或者,第二设备也可以仅将最后一个数据更新标识作为第二更新数据标识发送至第一设备。
在一些示例性实施方式中,在第一设备或者网关设备可以配置有一私有云任务列表,该任务列表中可以包括日常的同步任务,以及因第二设备断网而创建的同步任务;该表中可以包括全部各私有云中第二设备的上一次数据同步结果,第二数据标识,当前的数据同步任务等信息。在到达一个同步周期的时间节点时,便可以遍历该任务列表,分别为各第二设备创建对应的数据同步任务。以及,获取各数据同步任务的数据同步任务结果;例如,通过各第二设备反馈的第二更新数据标识获取数据同步任务结果。若获取失败,或者,第二设备未完成全部的数据同步,则可以将其记入私有云任务列表的失败队列。失败队列中可以包括第二设备ID、私有云ID、任务ID、任务日期、数据标识等信息。该私有云任务列表可以存储在网关设备中;或者,存储在第一设备本地,即公有云中。
在为断网后的第二设备计算差异数据时,在利用数据标识计算时,还可以根据失败任务的日期和当前日志的差值进行计算,确定失败点,并重新进行数据同步。
或者,在一些示例性实施方式中,对于各第二设备来说,由于不同的第二设备之间可能使用不同的数据网络,可以基于地理位置、使用网络建立不同第二设备之间的关联关系。并可以将该设备关联关系存储在第一设备和/或网关设备。
第一设备在计算差异数据后,还可以基于该设备关联关系寻找与当前第二设备关联的其他第二设备。若该其他第二设备存在差异数据时,便可以指示由该其他第二设备向该当前第二设备推送差异数据。从而减轻网关设备、第一设备的数据处理压力;并提升第二设备的数据同步效率、速度。
在本示例性实施方式中,参考图4所示,提供一种数据同步方法,可以应用于第二设备。该第二设备可以是例如图3中所示的部署于私有云的数据服务器、业务服务器或者软件服务器。具体而言,上述的数据同步方法可以包括:
步骤S21,获取当前的网络状态,在恢复网络连接时向第一设备发送第二数据标识,以用于所述第一设备根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据;
步骤S21,接收所述第一设备推送的差异数据,以完成第二设备与所述第一设备之间的数据同步。
本示例实施方式中,参考图5所示,上述的数据同步方法还可以包括:
步骤S23,在完成所述差异数据的数据同步后,向所述第一设备发送第二更新数据标识,以用于所述第一设备确定所述第二设备的数据同步结果。
在一些示例性实施方式中,对于第二设备来说,也可以是在断开网络连接后,恢复网络连接时,响应第一设备下发的数据标识获取指令,通过网关设备向第一设备反馈第二数据标识。
或者,第二设备在断网后,可以在本地创建数据检测任务,抓取本地的第二数据标识。可以是在断网并恢复网络连接时,主动向第一设备发送第二数据标识。
第二设备在完成数据同步后,便可以基于当前已完成的数据同步内容,生成第二更新数据标识,并发送至网关设备,有网关设备发送至第一设备。
本公开示例性实施方式中提供的数据同步方法,通过对第二设备的网络状态进行监控,在第二设备断网时,可以及时的获取第二设备的数据同步状态,确定差异数据,并基于差异数据向第二设备进行数据同步。实现对断网后的数据同步机制。避免了断网后的大量人工排查的工作。
进一步的,参考图6所示,本示例的实施方式中还提供一种数据同步装置60,应用于第一设备,包括:第二数据标识获取模块601、差异数据计算模块602、同步更新模块603。其中,
所述第二数据标识获取模块601可以用于获取第二设备的网络状态,在所述第二设备恢复网络连接时,获取第二设备的第二数据标识。
所示差异数据计算模块602可以用于在所述第二设备的第二数据标识与第一设备的第一数据标识不同时,根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据。
所示同步更新模块603可以用于向所述第二设备推送差异数据,以使第二设备与第一设备的数据同步。
进一步的,参考图7所示,本示例的实施方式中还提供一种数据同步装置60,应用于第二设备,包括:第二数据标识发送模块701、同步数据接收模块702。其中,
所示第二数据标识发送模块701可以用于获取当前的网络状态,在恢复网络连接时向第一设备发送第二数据标识,以用于所述第一设备根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据。
所示同步数据接收模块702可以用于接收所述第一设备推送的差异数据,以完成第二设备与所述第一设备之间的数据同步。
进一步的,参考图8所示,对应于上述的数据同步方法,本示例的实施方式中还提供一种数据同步系统,所述系统包括:第一设备8011、第二设备8021、网关设备803。其中,
所述第一设备8011,部署于公有云801,可以用于通过网关设备向私有云获取第二设备的网络状态,以及在第二设备由断网状态恢复网络连接时,向第二设备推送第二设备与第一设备之间的差异数据。
所述第二设备8021,部署于私有云802,可以用于通过网关设备接收所述第一设备推送的差异数据,以完成第二设备与所述第一设备之间的数据同步;
所述网关设备803,用于向私有云采集第二设备的网络连接状态并反馈至第一设备,以及向第二设备推送所述差异数据。
本示例实施方式中,对于网关设备来说,可以对应多个私有云,作为子数据中心的第二设备可以部署在私有云;作为总部数据中心的第一设备可以部署在公有云。网关设备可以为各私有云配置对应有多个允许访问的API(Application Programming Interface,应用程序接口)。同时接收各私有云的数据访问请求,并转发至公有云。举例来说,该网关设备可以作为接入网关搭建于公有云;或者,接入网关以插件形式运行在各私有云。
此外,网关设备可以向各私有云分配访问令牌。第二设备与第一设备之间的交互信息,可以由网关设备对其身份信息、API、访问令牌进行验证,并仅在身份信息、API、访问令牌验证成功后,再进行转发。此外,还可以对各API的流行进行统计和管控,预先对各API的上行流量和下行流量自定义警戒阈值。如果当前流量超过设定的阈值,生成流量警戒提示信息,反馈至第一设备、第二设备。网关设备还可以对第一设备、第二设备的API调用过程生成日志数据,记录服务请求的完整内容。举例来说,日志字段可以包括:时间、来源、目标、请求长度、返回长度、消耗时间等。
上述的数据同步装置、数据同步系统中各模块的具体细节已经在对应的数据同步方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的计算机系统。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图9来描述根据本发明的这种实施方式的计算机系统400。图9显示的计算机系统400仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统400以通用计算设备的形式表现。计算机系统400的组件可以包括但不限于:上述至少一个处理单元410、上述至少一个存储单元420、连接不同系统组件(包括存储单元420和处理单元410)的总线430。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元410执行,使得所述处理单元410执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元410可以执行如图1或图3中所示的步骤。
存储单元420可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)4201和/或高速缓存存储单元4202,还可以进一步包括只读存储单元(ROM)4203。
存储单元420还可以包括具有一组(至少一个)程序模块4205的程序/实用工具4204,这样的程序模块4205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线430可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
计算机系统400也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该计算机系统400交互的设备通信,和/或与使得该计算机系统400能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口450进行。并且,计算机系统400还可以通过网络适配器460与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器460通过总线430与计算机系统400的其它模块通信。处理单元410通过总线430连接显示单元440。应当明白,尽管图中未示出,可以结合计算机系统400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图10所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品100,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (14)
1.一种数据同步方法,其特征在于,应用于第一设备,所述方法包括:
获取第二设备的网络状态,在所述第二设备恢复网络连接时,获取第二设备的第二数据标识;
在所述第二设备的第二数据标识与第一设备的第一数据标识不同时,根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据;
向所述第二设备推送差异数据,以使第二设备与第一设备的数据同步。
2.根据权利要求1所述的数据同步方法,其特征在于,所述方法包括:
监测所述第二设备的网络连接状态,在确定所述第二设备当前断开网络连接时建立第二设备数据同步检查任务,以使得在确定所述第二设备恢复网络连接时,执行所述第二设备数据同步检查任务以获取所述第二设备的第二数据标识。
3.根据权利要求1所述的数据同步方法,其特征在于,所述差异数据包括:至少一个迭代版本的更新数据。
4.根据权利要求1或3所述的数据同步方法,其特征在于,在所述差异数据包括多个迭代版本的更新数据时,所述根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据包括:
确定所述第二设备的当前数据、所述多个迭代版本的更新数据之间是否存在数据依赖;
若不存在数据依赖,则根据最新迭代版本的更新数据确定所述差异数据的数据内容;或者
若存在数据依赖,则将所述多个迭代版本的更新数据确定为所述差异数据的数据内容。
5.根据权利要求4所述的数据同步方法,其特征在于,在将所述多个迭代版本的更新数据确定为所述差异数据的数据内容时,所述向所述第二设备推送差异数据,包括:
将各迭代版本的更新数据按更新数据依次推送至所述第二设备。
6.根据权利要求1所述的数据同步方法,其特征在于,所述方法还包括:
接收所述第二设备反馈的第二更新数据标识,以根据所述第二更新数据标识确定所述第二设备的数据同步结果。
7.一种数据同步方法,其特征在于,应用于第二设备,所述方法包括:
获取当前的网络状态,在恢复网络连接时向第一设备发送第二数据标识,以用于所述第一设备根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据;
接收所述第一设备推送的差异数据,以完成第二设备与所述第一设备之间的数据同步。
8.根据权利要求7所述的数据同步方法,其特征在于,在所述差异数据包括多个迭代版本的更新数据时,所述方法还包括:
基于各迭代版本的更新数据按更新数据依次进行更新同步。
9.根据权利要求7所述的数据同步方法,其特征在于,所述方法还包括:
在完成所述差异数据的数据同步后,向所述第一设备发送第二更新数据标识,以用于所述第一设备确定所述第二设备的数据同步结果。
10.一种数据同步装置,其特征在于,应用于第一设备,所述装置包括:
第二数据标识获取模块,用于获取第二设备的网络状态,在所述第二设备恢复网络连接时,获取第二设备的第二数据标识;
差异数据计算模块,用于在所述第二设备的第二数据标识与第一设备的第一数据标识不同时,根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据;
同步更新模块,用于向所述第二设备推送差异数据,以使第二设备与第一设备的数据同步。
11.一种数据同步装置,其特征在于,应用于第二设备,所述装置包括:
第二数据标识发送模块,用于获取当前的网络状态,在恢复网络连接时向第一设备发送第二数据标识,以用于所述第一设备根据所述第一设备的第一数据标识、第二设备的第二数据标识确定差异数据;
同步数据接收模块,用于接收所述第一设备推送的差异数据,以完成第二设备与所述第一设备之间的数据同步。
12.一种数据同步系统,其特征在于,所述系统包括:
第一设备,部署于公有云,用于通过网关设备向私有云获取第二设备的网络状态,以及在第二设备由断网状态恢复网络连接时,向第二设备推送第二设备与第一设备之间的差异数据;
第二设备,部署于私有云,用于通过网关设备接收所述第一设备推送的差异数据,以完成第二设备与所述第一设备之间的数据同步;
网关设备,用于向私有云采集第二设备的网络连接状态并反馈至第一设备,以及向第二设备推送所述差异数据。
13.一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1至6,或者权利要求7-9中任一项所述的数据同步方法。
14.一种计算机系统,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至6,或者权利要求7-9中任一项所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111667321.3A CN114327563A (zh) | 2021-12-31 | 2021-12-31 | 数据同步方法及装置、系统、存储介质、计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111667321.3A CN114327563A (zh) | 2021-12-31 | 2021-12-31 | 数据同步方法及装置、系统、存储介质、计算机系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114327563A true CN114327563A (zh) | 2022-04-12 |
Family
ID=81021921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111667321.3A Pending CN114327563A (zh) | 2021-12-31 | 2021-12-31 | 数据同步方法及装置、系统、存储介质、计算机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327563A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225697A (zh) * | 2022-06-16 | 2022-10-21 | 阿里云计算有限公司 | 状态同步方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104272649A (zh) * | 2011-11-04 | 2015-01-07 | 达索系统加拿大软件股份有限公司 | 用于通过网络进行数据同步的系统和方法 |
CN105302895A (zh) * | 2015-10-21 | 2016-02-03 | 浪潮通用软件有限公司 | 一种数据缓存同步方法、服务器和客户端 |
CN105743948A (zh) * | 2014-12-11 | 2016-07-06 | 中兴通讯股份有限公司 | 一种网络版本升级的方法及装置 |
CN110032388A (zh) * | 2019-04-04 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种增量文件的构建、发布、下载方法及装置 |
CN110377311A (zh) * | 2019-07-19 | 2019-10-25 | 上海擎感智能科技有限公司 | 基于软件依赖关系的ota终端升级方法、系统、介质及ota终端 |
CN111147560A (zh) * | 2019-12-18 | 2020-05-12 | 河北远东通信系统工程有限公司 | 基于http协议高速度、高稳定以及断点续传的数据同步方法 |
CN113630465A (zh) * | 2021-08-10 | 2021-11-09 | 北京百度网讯科技有限公司 | 消息处理方法、装置、设备以及存储介质 |
-
2021
- 2021-12-31 CN CN202111667321.3A patent/CN114327563A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104272649A (zh) * | 2011-11-04 | 2015-01-07 | 达索系统加拿大软件股份有限公司 | 用于通过网络进行数据同步的系统和方法 |
CN105743948A (zh) * | 2014-12-11 | 2016-07-06 | 中兴通讯股份有限公司 | 一种网络版本升级的方法及装置 |
CN105302895A (zh) * | 2015-10-21 | 2016-02-03 | 浪潮通用软件有限公司 | 一种数据缓存同步方法、服务器和客户端 |
CN110032388A (zh) * | 2019-04-04 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种增量文件的构建、发布、下载方法及装置 |
CN110377311A (zh) * | 2019-07-19 | 2019-10-25 | 上海擎感智能科技有限公司 | 基于软件依赖关系的ota终端升级方法、系统、介质及ota终端 |
CN111147560A (zh) * | 2019-12-18 | 2020-05-12 | 河北远东通信系统工程有限公司 | 基于http协议高速度、高稳定以及断点续传的数据同步方法 |
CN113630465A (zh) * | 2021-08-10 | 2021-11-09 | 北京百度网讯科技有限公司 | 消息处理方法、装置、设备以及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225697A (zh) * | 2022-06-16 | 2022-10-21 | 阿里云计算有限公司 | 状态同步方法、装置、设备及存储介质 |
CN115225697B (zh) * | 2022-06-16 | 2024-04-09 | 阿里云计算有限公司 | 状态同步方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795503A (zh) | 分布式存储系统的多集群数据同步方法及相关装置 | |
CN104092718A (zh) | 分布式系统及分布式系统中配置信息的更新方法 | |
US20160241441A1 (en) | Method and apparatus for changing configurations | |
CN111309550A (zh) | 应用程序的数据采集方法、系统、设备和存储介质 | |
CN111818145B (zh) | 一种文件传输方法、装置、系统、设备及存储介质 | |
CN111338834B (zh) | 数据存储方法和装置 | |
CN109299124B (zh) | 用于更新模型的方法和装置 | |
CN110737655B (zh) | 用于上报数据的方法和装置 | |
CN109165261A (zh) | 数据同步方法、装置、服务器及计算机存储介质 | |
CN111767296A (zh) | 用于同步数据的方法、装置、电子设备及可读存储介质 | |
US20130339307A1 (en) | Managing system image backup | |
CN114327563A (zh) | 数据同步方法及装置、系统、存储介质、计算机系统 | |
CN112860504A (zh) | 监控方法及装置、计算机存储介质、电子设备 | |
CN114064438A (zh) | 数据库故障处理方法和装置 | |
CN106682141B (zh) | 一种基于业务操作日志的数据同步方法 | |
US8055991B2 (en) | Error detection and recovery using an asynchronous transaction journal | |
CN111162938A (zh) | 数据处理系统及方法 | |
CN112825525A (zh) | 用于处理事务的方法和装置 | |
US11386043B2 (en) | Method, device, and computer program product for managing snapshot in application environment | |
CN112685486B (zh) | 数据库集群的数据管理方法、装置、电子设备及存储介质 | |
CN114637599A (zh) | 云资源管理方法、装置、电子设备及可读存储介质 | |
CN113760469A (zh) | 分布式计算的方法和装置 | |
CN113760862A (zh) | 一种增量数据断点续传方法、装置、设备及存储介质 | |
CN111258964A (zh) | 日志处理方法及装置、存储介质、电子设备 | |
CN109639686B (zh) | 分布式网页过滤方法、装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |