[发明专利]一种主备数据同步方法、装置和系统在审
申请号: | 201210276993.6 | 申请日: | 2012-08-06 |
公开(公告)号: | CN103581262A | 公开(公告)日: | 2014-02-12 |
发明(设计)人: | 江兴才;田明;黄利华 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 谢安昆;宋志强 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 同步 方法 装置 系统 | ||
技术领域
本申请涉及互联网技术领域,特别涉及一种主备数据同步方法、装置和系统。
背景技术
随着全球互联网业务的不断发展,用户原创内容(User Created Content,UGC)业务正在日渐崛起,引起了业界的广泛关注。UGC是一种用户使用互联网的方式,即由原来的以下载为主变成下载和上传并重。社区网络、视频分享和博客等都是UGC的主要应用形式。
为了安全运营,在进行UGC系统设计时会引入容灾方案,要求至少有两份可用的完整数据拷贝,其中一个数据拷贝是主写点,所有的写操作都只更新主写点的数据,然后由主写点将更新的数据实时同步到其它数据拷贝,从而保证每一个数据拷贝都能独立的提供实时访问服务。
参见图1,图1是现有技术UGC数据同步过程示意图,包括两份数据拷贝:数据拷贝1、数据拷贝2。其中,数据拷贝1是主写点,在主写点中记录有主本地序号(LocalSeq)和数据拷贝2对应的对端序号(PeerSeq),主LocalSeq用来记录主写点中本地号段的数据状态序号,PeerSeq是主写点用来记录数据拷贝2中的本地号段的数据状态序号,如果还存在其它数据拷贝,例如数据拷贝3,则主写点中还需要记录数据拷贝3对应的PeerSeq。另外,在数据拷贝2中,记录有从LocalSeq,用来记录本地号段的数据状态序号。
如图1所示,当在主写点成功完成一个写更新操作(包括增加、删除、修改)后,会记录该序号为主LocalSeq的更新数据信息,并将主LocalSeq加1。当主写点检测到主LocalSeq大于PeerSeq时,会主动发起同步操作,假设当前主写点的PeerSeq等于n,则主写点会把序号为n+1的更新数据信息携带在同步报文中发送给数据拷贝2,并等待接收数据拷贝2返回的回应报文,如果在设定时间内没有收到数据拷贝2返回的回应报文,则重新发送携带对应于序号为n+1的更新数据信息的同步报文给数据拷贝2;如果在设定时间内收到数据拷贝2返回的回应报文,则根据回应报文中携带的序号更新主写点的PeerSeq。此后,如果主LocalSeq仍然大于PeerSeq,则主写点会继续执行下一个序号的更新数据信息的同步操作。
从图1可以看出,现有技术的UGC数据同步过程采用一问一答的方式,同时只能同步一份更新数据信息,严重影响数据实时性。另外,一问一答方式使得整个同步系统的最大同步速率受到网络带宽的影响,无法突破上限;而且还可能因为没有及时收到回应报文而导致的对同一份数据的重复发送,从而增加无效数据;而无效数据的增加会导致带宽成本增加,浪费网络带宽。
发明内容
有鉴于此,本发明的目的在于提供基于滑动窗口的数据同步方法,该方法能够提高数据同步的实时性,减小带宽浪费。
为了达到上述目的,本发明提供的技术方案为:
一种主备数据同步方法,该方法包括:
主写点保存每一备份点的更新数据信息的版本标识;
设置一个滑动窗口,预设滑动窗口阈值;
根据所述预设滑动窗口阈值确定允许主写点同时同步到各备份点的最大更新数据信息组数;
当执行所述主写点同步更新数据信息到任一备份点时,判断正在同步的更新数据信息组数是否小于所述最大更新数据信息组数,如果是,则根据所述任一备份点的版本标识读取对应的更新数据信息并同步到所述任一备份点。
一种主写点,该主写点包括:存储单元、设置单元、同步单元;
所述存储单元,用于保存每一备份点的更新数据信息的版本标识;
所述设置单元,用于设置一个滑动窗口,预设滑动窗口阈值;
所述同步单元,用于根据所述预设滑动窗口阈值确定允许主写点同时同步到各备份点的最大更新数据信息组数;用于执行同步更新数据信息到任一备份点时,判断正在同步的更新数据信息组数是否小于所述最大更新数据信息组数,如果是,则根据所述任一备份点的版本标识读取对应的更新数据信息并同步到所述任一备份点。
一种主备数据同步系统,该系统包括:一个主写点和一个或多个备份点;
所述主写点,用于保存每一备份点的更新数据信息的版本标识;用于设置一个滑动窗口,预设滑动窗口阈值;根据所述预设滑动窗口阈值确定允许主写点同时同步到各备份点的最大更新数据信息组数;用于执行同步更新数据信息到任一备份点时,判断正在同步的更新数据信息组数是否小于所述最大更新数据信息组数,如果是,则根据所述任一备份点的版本标识读取对应的更新数据信息并同步到所述任一备份点;
所述备份点,用于接收主写点同步来的更新数据信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210276993.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种空气能热泵热水系统
- 下一篇:一种用于燃气热水器的冷凝换热器
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置