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

技术编号:9671471 阅读:133 留言:0更新日期:2014-02-14 18:44
本申请公开了一种主备数据同步方法、装置和系统,该方法包括:主写点保存每一备份点的更新数据信息的版本标识;设置一个滑动窗口,预设滑动窗口阈值;根据所述预设滑动窗口阈值确定允许主写点同时同步到各备份点的最大更新数据信息组数;当执行所述主写点同步更新数据信息到任一备份点时,判断正在同步的更新数据信息组数是否小于所述最大更新数据信息组数,如果是,则根据所述任一备份点的版本标识读取对应的更新数据信息并同步到所述任一备份点。本发明专利技术能够提高数据同步的实时性,减小带宽浪费。

【技术实现步骤摘要】
一种主备数据同步方法、装置和系统
本申请涉及互联网
,特别涉及一种主备数据同步方法、装置和系统。
技术介绍
随着全球互联网业务的不断发展,用户原创内容(User Created Content,UGC)业务正在日渐崛起,引起了业界的广泛关注。UGC是一种用户使用互联网的方式,即由原来的以下载为主变成下载和上传并重。社区网络、视频分享和博客等都是UGC的主要应用形式。为了安全运营,在进行UGC系统设计时会引入容灾方案,要求至少有两份可用的完整数据拷贝,其中一个数据拷贝是主写点,所有的写操作都只更新主写点的数据,然后由主写点将更新的数据实时同步到其它数据拷贝,从而保证每一个数据拷贝都能独立的提供实时访问服务。参见图1,图1是现有技术UGC数据同步过程示意图,包括两份数据拷贝:数据拷贝1、数据拷贝2。其中,数据拷贝I是主写点,在主写点中记录有主本地序号(Locaiseq)和数据拷贝2对应的对端序号(PeerSeq),主LocalSeq用来记录主写点中本地号段的数据状态序号,PeerSeq是主写点用来记录数据拷贝2中的本地号段的数据状态序号,如果还存在其它数据拷贝,例如数据拷贝3,则主写点中还需要记录数据拷贝3对应的PeerSeq。另外,在数据拷贝2中,记录有从LocalSeq,用来记录本地号段的数据状态序号。如图1所示,当在主写点成功完成一个写更新操作(包括增加、删除、修改)后,会记录该序号为主LocalSeq的更新数据信息,并将主LocalSeq加I。当主写点检测到主LocalSeq大于PeerSeq时,会主动发起同步操作,假设当前主写点的PeerSeq等于η,则主写点会把序号为n+1的更新数据信息携带在同步报文中发送给数据拷贝2,并等待接收数据拷贝2返回的回应报文,如果在设定时间内没有收到数据拷贝2返回的回应报文,则重新发送携带对应于序号为n+1的更新数据信息的同步报文给数据拷贝2 ;如果在设定时间内收到数据拷贝2返回的回应报文,则根据回应报文中携带的序号更新主写点的PeerSeq。此后,如果主LocalSeq仍然大于PeerSeq,则主写点会继续执行下一个序号的更新数据信息的同步操作。从图1可以看出,现有技术的UGC数据同步过程采用一问一答的方式,同时只能同步一份更新数据信息,严重影响数据实时性。另外,一问一答方式使得整个同步系统的最大同步速率受到网络带宽的影响,无法突破上限;而且还可能因为没有及时收到回应报文而导致的对同一份数据的重复发送,从而增加无效数据;而无效数据的增加会导致带宽成本增加,浪费网络带宽。
技术实现思路
有鉴于此,本专利技术的目的在于提供基于滑动窗口的数据同步方法,该方法能够提高数据同步的实时性,减小带宽浪费。为了达到上述目的,本专利技术提供的技术方案为:一种主备数据同步方法,该方法包括:主写点保存每一备份点的更新数据信息的版本标识;设置一个滑动窗口,预设滑动窗口阈值;根据所述预设滑动窗口阈值确定允许主写点同时同步到各备份点的最大更新数据信息组数;当执行所述主写点同步更新数据信息到任一备份点时,判断正在同步的更新数据信息组数是否小于所述最大更新数据信息组数,如果是,则根据所述任一备份点的版本标识读取对应的更新数据信息并同步到所述任一备份点。一种主写点,该主写点包括:存储单元、设置单元、同步单元;所述存储单元,用于保存每一备份点的更新数据信息的版本标识;所述设置单元,用于设置一个滑动窗口,预设滑动窗口阈值;所述同步单元,用于根据所述预设滑动窗口阈值确定允许主写点同时同步到各备份点的最大更新数据信息组数;用于执行同步更新数据信息到任一备份点时,判断正在同步的更新数据信息组数是否小于所述最大更新数据信息组数,如果是,则根据所述任一备份点的版本标识读取对应的更新数据信息并同步到所述任一备份点。—种主备数据同步系统,该系统包括:一个主写点和一个或多个备份点;所述主写点,用于保存每一备份点的更新数据信息的版本标识;用于设置一个滑动窗口,预设滑动窗口阈值;根据所述预设滑动窗口阈值确定允许主写点同时同步到各备份点的最大更新数据信息组数;用于执行同步更新数据信息到任一备份点时,判断正在同步的更新数据信息组数是否小于所述最大更新数据信息组数,如果是,则根据所述任一备份点的版本标识读取对应的更新数据信息并同步到所述任一备份点;所述备份点,用于接收主写点同步来的更新数据信息。由上面的技术方案可知,本专利技术中,预先设定滑动窗口长度M ;当主写点将更新的数据同步到备份点(除主写点外的任一数据拷贝)的过程中,主写点中最大允许同时存在M组更新数据信息没有相应的回应报文,而备份点则只需依次接收主写点的同步来的更新数据信息并进行数据处理。由于主写点可以连续同步多组更新数据信息到备份点,而不必每同步一个更新数据信息都等待回应,因此可以提高数据同步的实时性,另外,也可以避免因没有及时收到回应而导致主写点对同一份数据的重复发送,因而也能够减少无效数据和带宽浪费。【附图说明】图1是现有技术UGC数据同步过程示意图;图2是本专利技术实施例主备数据同步方法的流程示意图;图3是本专利技术实施例提供的主写点的结构示意图;图4是本专利技术实施例主备数据同步系统的架构示意图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本专利技术的技术方案进行详细说明。本专利技术的主要思想是:允许主写点同时同步多组更新数据信息到其它数据拷贝,利用滑动窗口控制主写点执行同步更新数据信息到其它数据拷贝。为了便于描述,本申请文件中,也将除主写点以外的每个数据拷贝称为备份点。参见图2,图2是本专利技术实施例主备数据同步方法的流程示意图,主要包括以下步骤:步骤201、主写点保存每一备份点的更新数据信息的版本标识。可以将主写点中记录的每一备份点的从Local作为该备份点的更新数据信息的版本标识。步骤202、设置一个滑动窗口,预设滑动窗口阈值。本实施例中,预设滑动窗口阈值表示滑动窗口可以容纳的更新数据信息组数。步骤203、根据所述预设滑动窗口阈值确定允许主写点同时同步到各备份点的最大更新数据信息组数。允许主写点同时同步到各备份点的最大更新数据信息组数由预设滑动窗口阈值确定,等于预设滑动窗口阈值。步骤204、当执行所述主写点同步更新数据信息到任一备份点时,判断正在同步的更新数据信息组数是否小于所述最大更新数据信息组数,如果是,则根据所述任一备份点的版本标识读取对应的更新数据信息并同步到所述任一备份点。这里,主写点在同步更新数据信息到某一备份点的过程中,需要判断该备份点对应的正在同步的更新数据信息组数是否超过允许同时同步到该备份点的最大更新数据信息组数,如果未超过,则说明正在同步的更新数据信息组数还未达到最大,因此可以继续读取更新数据信息并同步到该备份点,否则,说明该备份点对应的正在同步的更新数据信息组数已达到最大,暂时不允许再读取和同步更新数据信息到该备份点,需要等待接收该备份点对正在同步的更新数据信息的同步成功确认或同步失败确认。在初始时,备份点对应的正在同步的更新数据信息组数为0,假设N为预设的每组更新数据信息可以包含的最大更新数据信息数,则主写点可以根据该备份点对应的版本标识读取一组更新数据信息(包括N个更新数据信息,更本文档来自技高网
...
一种主备数据同步方法、装置和系统

【技术保护点】
一种主备数据同步方法,其特征在于,该方法包括:主写点保存每一备份点的更新数据信息的版本标识;设置一个滑动窗口,预设滑动窗口阈值;根据所述预设滑动窗口阈值确定允许主写点同时同步到各备份点的最大更新数据信息组数;当执行所述主写点同步更新数据信息到任一备份点时,判断正在同步的更新数据信息组数是否小于所述最大更新数据信息组数,如果是,则根据所述任一备份点的版本标识读取对应的更新数据信息并同步到所述任一备份点。

【技术特征摘要】
1.一种主备数据同步方法,其特征在于,该方法包括: 主写点保存每一备份点的更新数据信息的版本标识; 设置一个滑动窗口,预设滑动窗口阈值; 根据所述预设滑动窗口阈值确定允许主写点同时同步到各备份点的最大更新数据信息组数; 当执行所述主写点同步更新数据信息到任一备份点时,判断正在同步的更新数据信息组数是否小于所述最大更新数据信息组数,如果是,则根据所述任一备份点的版本标识读取对应的更新数据信息并同步到所述任一备份点。2.根据权利要求1所述的主备数据同步方法,其特征在于, 所述根据所述任一备份点的版本标识读取对应的更新数据信息并同步到所述任一备份点的方法为:判断剩余未同步到所述任一备份点的更新数据信息是否超过N个,如果是,则从剩余未同步的更新数据信息中读取N个更新数据信息并同步到所述任一备份点,并将正在同步的更新数据信息组数增加1,否则,读取剩余未同步的所有更新数据信息并同步到所述任一备份点,并将正在同步的更新数据信息组数增加I ;其中,N为预设的每组更新数据信息包含的最大更新数据信息数。3.根据权利要求2所述的主备数据同步方法,其特征在于,该方法进一步包括: 当正在同步的更新数据信息中最早同步到所述任一备份点的一组更新数据信息同步成功时,将正在同步的更新数据信息组数减小I ; 当正在同步的更新数据信息中最早同步到所述任一备份点的一组更新数据信息同步失败时,将正在同步的更新数据信息组数设置为O,并从同步失败的更新数据信息开始重新同步更新数据信息到所述任一备份点。4.根据权利要求3所述的主备数据同步方法,其特征在于, 判断正在同步的更新数据信息中最早同步到所述任一备份点的一组更新数据信息是否同步成功的方法为:接收到所述任一备份点在接收到主写点同步的该组更新数据信息并检测确定该组更新数据信息正常后返回的同步成功确认报文,则确定该组更新数据信息同步成功; 判断正在同步的更新数据信息中最早同步到所述任一备份点的一组更新数据信息是否同步失败的方法为:接收到所述任一备份点在接收到主写点同步的该组更新数据信息并检测确定该组更新数据信息异常后返回的同步失败确认报文,则确定该组更新数据信息同步失败。5.根据权利要求4所述的主备数据同步方法,其特征在于, 所述任一备份点在接收到主写点同步的一组更新数据信息后,检测确定该组更新数据信息是否正常的方法为:如果该组更新数据信息的序号连续且最小序号与所述任一备份点中记录的最近更新序号相同,则确定该组更新数据信息正常,并根据该组更新数据信息包含的更新数据信息数更新记录的最近更新序号,否则,确定该组更新数据信息异常;其中,所述最近更新序号为将所述任一备份点最近更新到的更新数据信息的序号加I得到的和。6.一种主写点,其特征在于,该主写点包括:存储单元、设置单元、同步单元; 所述存储单元,用于保存每一备份点的更新数据信息的版本标识; 所述设置单元,用于设置一个滑动窗口,预设滑动窗口阈值;所述同步单元,用于根据所述预设滑动窗口阈值确定允许主写点同时同步到各备份点的最大更新数据信息组数;...

【专利技术属性】
技术研发人员:江兴才田明黄利华
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1