[发明专利]数据实时同步方法及系统有效
申请号: | 201310551890.0 | 申请日: | 2013-11-08 |
公开(公告)号: | CN103561102B | 公开(公告)日: | 2017-03-22 |
发明(设计)人: | 陈飞;朱超;王超 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 工业和信息化部电子专利中心11010 | 代理人: | 田俊峰 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 实时 同步 方法 系统 | ||
技术领域
本发明涉及数据备份技术领域,具体涉及一种数据实时同步方法及系统。
背景技术
为增加数据的可靠性,通常做法是进行数据备份,备份一份或多份,这样即使其中一份数据丢失,也不影响整个数据的完整性。如果数据是动态不断增长的,为了保证数据的高可靠性,就需要进行实时备份,保证最新的数据也能得到实时备份。
现有的备份流程如图1所示,假如有A,B两台服务器,如果需要将A机器的c文件实时备份到B机器上去,一种做法是将A作为服务器Server,B为客户端Client。具体流程是:
B机器上同步进程启动后与A连接,然后以一定时间间隔不停的向A发起同步数据请求,Polling(轮询)的时间一般为1秒,方式是:
B上的Client进程启动后,根据当前文件同步到的最新位置,向Server端发送fetch(同步)请求。在每次请求中都带上文件名,以及同步到的位置等参数。例如类似fetch(c,100),表示同步c文件,偏移量100之后的数据;然后将从Server端的返回(如果有)写入文件。
A服务进程启动后,监听Client的连接,不停的接收fetch请求。在每次收到fetch请求后,根据fetch中的参数,查看相应文件是否有新数据产生;如果有,则将新的数据(data)返回给client;如果没有新数据,则返回空。例如收到fetch(c,100),则打开文件c,fseek(c,100),然后read新数据,并将数据返回给Client。
现有技术一的缺点如下:
1、浪费不必要的网络带宽:
为了保持数据备份的实时性,B需要不停的向A发起请求,当A没有新数据产生时,也一直发送同步请求,这样就会浪费不必要的带宽传输。
2、不必要的CPU(Central Processing Unit,中央处理器)消耗:
由于B需要不停的发起同步请求,A也要响应这些请求,尤其是在A没有新数据产生时,这样A、B之间的交互就会造成CPU资源的很大浪费。
3、影响数据同时的实时性:
B是每隔一定时间发起同步请求,由于请求不宜太密集,一般设置为1s间隔;这样数据可能会有1s的时延。如果当A坏掉后,可能会导致1s的数据丢失。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据实时同步系统和相应的数据实时同步方法。
依据本发明的一个方面,提供了一种数据实时同步方法,用于将第一终端上的数据实时同步到第二终端,该方法包括:
第一终端监控到待同步文件发生数据变化时,所述第一终端将预设大小的数据、以及这些数据所在文件的位置发送给第二终端;
所述第二终端根据这些数据所在文件的位置,存储这些数据;
重复上述数据同步操作,直至全部数据同步完成。
可选地,其中,当所述第二终端存储数据之后,还包括:
所述第二终端将下次同步的起始位置发送给第一终端;
从下次同步的起始位置对应的数据起,所述第一终端将预设大小的数据、以及这些数据所在文件的位置发送给第二终端。
可选地,当所述第一终端与所述第二终端首次进行数据同步时,所述第一终端从待同步文件的起始位置起,将预设大小的数据、以及这些数据所在文件的位置发送给第二终端。
可选地,当所述第一终端与所述第二终端之间的数据同步终止后又重新进行数据同步时,所述第一终端从待同步文件的起始位置起,将预设大小的数据、以及这些数据所在文件的位置发送给第二终端;
所述第二终端收到所述第一终端发送的数据后,判断该数据是否完成数据同步,如果是,则不保存该数据,将下一个需要完成数据同步的数据对应的位置发送给第一终端;如果否,则保存该数据,并将下一个需要完成数据同步的数据对应的位置发送给第一终端;
所述第一终端根据所述第二终端返回的位置信息,与所述第二终端进行数据同步操作,直至全部数据同步完成。
可选地,所述第一终端收到所述第二终端返回的位置信息后,判断该位置信息是否超出了所述待同步文件的最后一个位置,如果是,则监测所述待同步文件,直至其数据发生变化,如果否,则继续进行数据同步。
根据本发明的另一方面,提供了一种数据实时同步系统,用于将第一终端上的数据实时同步到第二终端,该系统包括:
第一终端,监控到待同步文件发生数据变化时,将预设大小的数据、以及这些数据所在文件的位置发送给第二终端;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310551890.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置