当前位置: 首页 > 专利查询>刘海峰专利>正文

一种基于版本矢量的数据备份方法及客户端技术

技术编号:8685723 阅读:192 留言:0更新日期:2013-05-09 05:17
本发明专利技术提供了一种基于版本矢量的数据备份方法及客户端,包括:客户端在将文件备份至服务器时,为每个文件生成一个版本标签Vi,服务器端保存客户端每次备份文件对应的版本标签;客户端根据服务器端返回的相同文件名的起始版本标签Vs和最新版本标签Ve,确定本地数据是否已经在服务器端保存,对已经在服务器端保存的数据进行数据删除,仅向服务器发送重复数据的指针。通过本发明专利技术基于版本的重复数据删除方法仅需传输已备份数据块的版本矢量,此种方式效率更高,节省了网络带宽并减少了备份时间。

【技术实现步骤摘要】

本专利技术涉及云计算和云存储系统中数据同步、数据备份的方法,属于计算机信息存储
,广泛适用于在线存储、云存储服务、数据备份、数据归档、数据复制、异地容灾、存储管理等系统。
技术介绍
在当今信息化时代,随着电子商务应用的加速,数据已经成为人们最重要的财富。人们在日常生活和工作中使用计算机产生的各种数据,却时刻面临着病毒感染、硬件故障、软件错误、设备丢失等难以预测的意外,以及黑客攻击、误操作等人为因素的威胁。数据安全已经成为信息时代的一大隐患,而数据备份自然也就成为一种重要预防手段。在数据备份领域,数据总是在变化过程中产生无数的版本,备份系统必须真实记录数据的变更历史。如果对文件系统中每个文件的每次修改都生成一个“快照”,这不仅占用了大量的存储空间,而且随着数据量的增加,备份时间越来越长,备份效率也明显降低。对异地备份、在线备份或云备份而言,由于受到带宽、存储空间和通信链路时延等因素局限性的制约,此种数据备份方式显然行不通。云备份或者在线备份是一种新型的云存储服务,就是将本地数据复制到远程数据中心,此种类型的数据备份方式通常按照所使用的存储空间和数据流量计费。与传统的本地备份相比,云备份是以用户为中心,更加强调用户体验。备份过程中不能影响用户的操作,应尽量缩短备份时间,优化网络传输效 率。为了确保备份数据的安全可靠,防止意外和人为误操作,云备份系统必须为所有需要备份的数据存储尽可能多的版本。即,此种数据备份方式需要保留备份数据的变更历史,这将造成云存储空间的巨大浪费,无形中增加了云存储的运营成本。现有备份系统大都采用增量备份的方式,即仅将上次备份后发生了变更的数据复制到备份数据中心。增量备份要求本地和远程节点保留各自存储数据的元数据。有些备份系统只是简单地使用文件的修改时间作为元数据,通过比较上次备份的时间和文件的修改时间,只备份那些新修改的文件。显然这样的备份系统不仅容易产生人为的差错,而且无法甄别文件内的重复数据。为了弥补上述简单备份系统的不足,有些备份系统采用较为复杂的算法分析本地和远程节点文件内容并甄别文件内的重复数据,即重复数据删除技术简称去重或删冗技术。按照重复数据粒度,重复数据删除技术可分为文件级重复数据删除和数据块级重复数据删除。在数据备份领域,通常采用后者。现有采用重复数据删除技术的备份系统通常在每次数据备份过程中相互交换待传输数据的数据块的哈希值,如果存储端已有哈希值对应的数据块,则无需传输该数据块,以尽可能地减少待传输的数据块的数量。然而此种类型备份系统中的备份过程之间相互独立,即每次备份过程都不会从之前的备份过程中获得相关信息,因此每次备份过程都需要对相同的文件进行重复切分和哈希计算,严重耗费本地资源。
技术实现思路
鉴于现有技术中存在的问题,本专利技术的目的是提出一种基于版本矢量的数据备份方法和客户端。本专利技术提供了一种基于版本矢量的数据备份方法,其特征在于:客户端在将文件备份至服务器时,为每个文件生成一个版本标签Vi,服务器端保存客户端每次备份文件对应的版本标签;客户端根据服务器端返回的相同文件名的起始版本标签Vs和最新版本标签Ve,确定本地数据是否已经在服务器端保存,对已经在服务器端保存的数据进行数据删除,仅向服务器发送重复数据的指针。优选的,其中所述步骤具体包括:客户端启动数据备份进程,监控同步目录中文件的变化;客户端向服务器端发送服务器端状态数据请求,服务器端返回一个起始版本标签Vs和最新版本标签Ve ;客户端遍历同步目录中的所有文件和子目录,为每个文件生成文件版本标签Vi,并在快照表中加入对应的记录,包括版本标签Vi和文件名;客户端计算每个文件的哈希值,并向哈希表中新增记录,包括哈希值和对应文件的版本标签Vi ;如果哈希表中存在同样的哈希值,将所有具有同样哈希值的文件版本标签Vi与Vs及Ve比较,如果该文件版本标签介于Vs和Ve之间,则仅将该文件所对应的指针发送到服务器端。优选的,上述方法还包括步骤:若判断版本标签为Vi的文件在哈希表中不存在相同的哈希值或者版本标签Vi不介于Vs和Ve之间,则客户端将文件划分为数据块,并计算出每个数据块的哈希值,向数据块表中新增记录,包括数据块哈希值和对应的文件版本标签;如果本地数据块表中已有同样的数据块哈希值,且该数据块对应的版本标签Vi介于Vs和Ve之间,则将该数据块标记为重复数据块,仅将该数据块对应的指针发送到服务器端。优选的,其中检测重复数据的步骤和备份数据传输的步骤同步进行。本专利技术还提供了一种可实现基于版本矢量的数据备份的客户端,其特征在于包括:用于在将文件备份至服务器时,为每个文件生成一个版本标签Vi的模块,其中服务器端保存客户端每次备份文件对应的版本标签;用于根据服务器端返回的相同文件名的起始版本标签Vs和最新版本标签Ve,确定本地数据是否已经在服务器端保存,对已经在服务器端保存的数据进行数据删除,仅向服务器发送重复数据的指针的模块。优选的,其中所述客户端具体包括:用于启动数据备份进程,监控同步目录中文件的变化的模块;用于向服务器端发送服务器端状态数据请求,且接收服务器端返回的一个起始版本标签Vs和最新版本标签Ve的模块;用于遍历同步目录中的所有文件和子目录,为每个文件生成文件版本标签Vi,并在快照表中加入对应的记录,包括版本标签Vi和文件名的模块;用于计算每个文件的哈希值,并向哈希表中新增记录,包括哈希值和对应文件的版本标签Vi的模块;用于如果哈希表中存在同样的哈希值,将所有具有同样哈希值的文件版本标签Vi与Vs及Ve比较,如果该文件版本标签介于Vs和Ve之间,则仅将该文件所对应的指针发送到服务器端的模块。优选的,上述客户端还包括:用于若判断版本标签为Vi的文件在哈希表中不存在相同的哈希值或者版本标签Vi不介于Vs和Ve之间,则将文件划分为数据块,并计算出每个数据块的哈希值,向数据块表中新增记录,包括数据块哈希值和对应的文件版本标签的模块;用于如果本地数据块表中已有同样的数据块哈希值,且该数据块对应的版本标签Vi介于Vs和Ve之间,则将该数据块标记为重复数据块,仅将该数据块对应的指针发送到服务器端的模块。优选的,其中检测重复数据的步骤和备份数据传输的步骤同步进行。本专利技术在数据备份过程中采用了独创的基于版本的重复数据删除方法。该方法使用版本矢量作为元数据,本地和远程节点共享交换版本矢量,本地节点只需要上次备份数据的版本信息就能准确判断哪些发生了变更的数据需要传输。基于哈希算法的重复数据删除方法需要传输所有数据块的哈希表,与之相比,基于版本的重复数据删除方法仅需传输已备份数据块的版本矢量,此种方式效率更高,节省了网络带宽并减少了备份时间。附图说明图1例示了本专利技术基于版本矢量的数据备份方法的示意图。图2例示了本专利技术基于版本矢量的数据还原方法的示意图。图3例示了本专利技术基于版本矢量的数据备份方法的流程图。图4例示了本专利技术基于版本矢量的数据索引方法的流程图。图5例示了本专利技术基于版本矢量的数据还原方法的流程图。具体实施例方式为使本专利技术的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。云同步备份系统采用C/S体系结构,运行在本地节点的进程称为客户端,运行在远程节点的进程称为服务器端。云同步本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/201310033069.html" title="一种基于版本矢量的数据备份方法及客户端原文来自X技术">基于版本矢量的数据备份方法及客户端</a>

【技术保护点】
一种基于版本矢量的数据备份方法,其特征在于:客户端在将文件备份至服务器时,为每个文件生成一个版本标签Vi,服务器端保存客户端每次备份文件对应的版本标签;客户端根据服务器端返回的相同文件名的起始版本标签Vs和最新版本标签Ve,确定本地数据是否已经在服务器端保存,对已经在服务器端保存的数据进行数据删除,仅向服务器发送重复数据的指针。

【技术特征摘要】
1.一种基于版本矢量的数据备份方法,其特征在于: 客户端在将文件备份至服务器时,为每个文件生成一个版本标签Vi,服务器端保存客户端每次备份文件对应的版本标签; 客户端根据服务器端返回的相同文件名的起始版本标签Vs和最新版本标签Ve,确定本地数据是否已经在服务器端保存,对已经在服务器端保存的数据进行数据删除,仅向服务器发送重复数据的指针。2.根据权利要求1所述的基于版本矢量的数据备份方法,其中所述步骤具体包括: 客户端启动数据备份进程,监控同步目录中文件的变化; 客户端向服务器端发送服务器端状态数据请求,服务器端返回一个起始版本标签Vs和最新版本标签Ve ; 客户端遍历同步目录中的所有文件和子目录,为每个文件生成文件版本标签Vi,并在快照表中加入对应的记录,包括版本标签Vi和文件名; 客户端 计算每个文件的哈希值,并向哈希表中新增记录,包括哈希值和对应文件的版本标签Vi ; 如果哈希表中存在同样的哈希值,将所有具有同样哈希值的文件版本标签Vi与Vs及Ve比较,如果该文件版本标签介于Vs和Ve之间,则仅将该文件所对应的指针发送到服务器端。3.根据权利要求2所述的基于版本矢量的数据备份方法,其特征在于还包括步骤: 若判断版本标签为Vi的文件在哈希表中不存在相同的哈希值或者版本标签Vi不介于Vs和Ve之间,则客户端将文件划分为数据块,并计算出每个数据块的哈希值,向数据块表中新增记录,包括数据块哈希值和对应的文件版本标签; 如果本地数据块表中已有同样的数据块哈希值,且该数据块对应的版本标签Vi介于Vs和Ve之间,则将该数据块标记为重复数据块,仅将该数据块对应的指针发送到服务器端。4.根据权利要求1-3任一所述的基于版本矢量的数据备份方法,其中检测重复数据的步骤和备份数据传输的步骤同步进行。5.一种可实现基于版本矢量的数据备份的客户端,...

【专利技术属性】
技术研发人员:刘海峰
申请(专利权)人:刘海峰
类型:发明
国别省市:

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

1