[发明专利]一种基于版本矢量的数据备份方法及客户端有效
申请号: | 201310033069.X | 申请日: | 2013-01-28 |
公开(公告)号: | CN103095843B | 公开(公告)日: | 2018-01-30 |
发明(设计)人: | 刘海峰 | 申请(专利权)人: | 刘海峰 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F11/14 |
代理公司: | 北京庆峰财智知识产权代理事务所(普通合伙)11417 | 代理人: | 刘元霞 |
地址: | 510630 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 版本 矢量 数据 备份 方法 客户端 | ||
技术领域
本发明涉及云计算和云存储系统中数据同步、数据备份的方法,属于计算机信息存储技术领域,广泛适用于在线存储、云存储服务、数据备份、数据归档、数据复制、异地容灾、存储管理等系统。
背景技术
在当今信息化时代,随着电子商务应用的加速,数据已经成为人们最重要的财富。人们在日常生活和工作中使用计算机产生的各种数据,却时刻面临着病毒感染、硬件故障、软件错误、设备丢失等难以预测的意外,以及黑客攻击、误操作等人为因素的威胁。数据安全已经成为信息时代的一大隐患,而数据备份自然也就成为一种重要预防手段。
在数据备份领域,数据总是在变化过程中产生无数的版本,备份系统必须真实记录数据的变更历史。如果对文件系统中每个文件的每次修改都生成一个“快照”,这不仅占用了大量的存储空间,而且随着数据量的增加,备份时间越来越长,备份效率也明显降低。对异地备份、在线备份或云备份而言,由于受到带宽、存储空间和通信链路时延等因素局限性的制约,此种数据备份方式显然行不通。
云备份或者在线备份是一种新型的云存储服务,就是将本地数据复制到远程数据中心,此种类型的数据备份方式通常按照所使用的存储空间和数据流量计费。与传统的本地备份相比,云备份是以用户为中心,更加强调用户体验。备份过程中不能影响用户的操作,应尽量缩短备份时间,优化网络传输效率。为了确保备份数据的安全可靠,防止意外和人为误操作,云备份系统必须为所有需要备份的数据存储尽可能多的版本。即,此种数据备份方式需要保留备份数据的变更历史,这将造成云存储空间的巨大浪费,无形中增加了云存储的运营成本。
现有备份系统大都采用增量备份的方式,即仅将上次备份后发生了变更的数据复制到备份数据中心。增量备份要求本地和远程节点保留各自存储数据的元数据。有些备份系统只是简单地使用文件的修改时间作为元数据,通过比较上次备份的时间和文件的修改时间,只备份那些新修改的文件。显然这样的备份系统不仅容易产生人为的差错,而且无法甄别文件内的重复数据。为了弥补上述简单备份系统的不足,有些备份系统采用较为复杂的算法分析本地和远程节点文件内容并甄别文件内的重复数据,即重复数据删除技术简称去重或删冗技术。按照重复数据粒度,重复数据删除技术可分为文件级重复数据删除和数据块级重复数据删除。在数据备份领域,通常采用后者。
现有采用重复数据删除技术的备份系统通常在每次数据备份过程中相互交换待传输数据的数据块的哈希值,如果存储端已有哈希值对应的数据块,则无需传输该数据块,以尽可能地减少待传输的数据块的数量。然而此种类型备份系统中的备份过程之间相互独立,即每次备份过程都不会从之前的备份过程中获得相关信息,因此每次备份过程都需要对相同的文件进行重复切分和哈希计算,严重耗费本地资源。
发明内容
鉴于现有技术中存在的问题,本发明的目的是提出一种基于版本矢量的数据备份方法和客户端。
本发明提供了一种基于版本矢量的数据备份方法,其特征在于:
客户端在将文件备份至服务器时,为每个文件生成一个版本标签Vi,服务器端保存客户端每次备份文件对应的版本标签;
客户端根据服务器端返回的相同文件名的起始版本标签Vs和最新版本标签Ve,确定本地数据是否已经在服务器端保存,对已经在服务器端保存的数据进行数据删除,仅向服务器发送重复数据的指针。
优选的,其中所述步骤具体包括:
客户端启动数据备份进程,监控同步目录中文件的变化;
客户端向服务器端发送服务器端状态数据请求,服务器端返回一个起始版本标签Vs和最新版本标签Ve;
客户端遍历同步目录中的所有文件和子目录,为每个文件生成文件版本标签Vi,并在快照表中加入对应的记录,包括版本标签Vi和文件名;
客户端计算每个文件的哈希值,并向哈希表中新增记录,包括哈希值和对应文件的版本标签Vi;
如果哈希表中存在同样的哈希值,将所有具有同样哈希值的文件版本标签Vi与Vs及Ve比较,如果该文件版本标签介于Vs和Ve之间,则仅将该文件所对应的指针发送到服务器端。
优选的,上述方法还包括步骤:
若判断版本标签为Vi的文件在哈希表中不存在相同的哈希值或者版本标签Vi不介于Vs和Ve之间,则客户端将文件划分为数据块,并计算出每个数据块的哈希值,向数据块表中新增记录,包括数据块哈希值和对应的文件版本标签;
如果本地数据块表中已有同样的数据块哈希值,且该数据块对应的版本标签Vi介于Vs和Ve之间,则将该数据块标记为重复数据块,仅将该数据块对应的指针发送到服务器端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于刘海峰,未经刘海峰许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310033069.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种早餐营养粥及其制备方法
- 下一篇:一种复合材料保温板及其制备方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置