CN103118104A - 一种基于版本矢量的数据还原方法及服务器 - Google Patents

一种基于版本矢量的数据还原方法及服务器 Download PDF

Info

Publication number
CN103118104A
CN103118104A CN2013100330844A CN201310033084A CN103118104A CN 103118104 A CN103118104 A CN 103118104A CN 2013100330844 A CN2013100330844 A CN 2013100330844A CN 201310033084 A CN201310033084 A CN 201310033084A CN 103118104 A CN103118104 A CN 103118104A
Authority
CN
China
Prior art keywords
data
client
reduction
version
cryptographic hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013100330844A
Other languages
English (en)
Other versions
CN103118104B (zh
Inventor
刘海峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201310033084.4A priority Critical patent/CN103118104B/zh
Publication of CN103118104A publication Critical patent/CN103118104A/zh
Application granted granted Critical
Publication of CN103118104B publication Critical patent/CN103118104B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种基于版本矢量的数据还原方法及服务器,其包括:客户端和服务器端均保存有每个已备份及已还原文件的版本标签;客户端在请求数据还原时,服务器端根据客户端提供的版本标签确定请求数据是否已经在客户端保存,对已经在客户端保存的数据进行数据删除,仅向客户端发送重复数据的指针。通过本发明基于版本的重复数据删除方法仅需传输已还原数据块的版本矢量,此种方式效率更高,节省了网络带宽并减少了还原时间。

Description

一种基于版本矢量的数据还原方法及服务器
技术领域
本发明涉及云计算和云存储系统中数据同步、数据备份的方法,属于计算机信息存储技术领域,广泛适用于在线存储、云存储服务、数据备份、数据归档、数据复制、异地容灾、存储管理等系统。
背景技术
在当今信息化时代,随着电子商务应用的加速,数据已经成为人们最重要的财富。人们在日常生活和工作中使用计算机产生的各种数据,却时刻面临着病毒感染、硬件故障、软件错误、设备丢失等难以预测的意外,以及黑客攻击、误操作等人为因素的威胁。数据安全已经成为信息时代的一大隐患,而数据备份自然也就成为一种重要预防手段。
在数据备份领域,数据总是在变化过程中产生无数的版本,备份系统必须真实记录数据的变更历史。如果对文件系统中每个文件的每次修改都生成一个“快照”,这不仅占用了大量的存储空间,而且随着数据量的增加,备份时间越来越长,备份效率也明显降低。对异地备份、在线备份或云备份而言,由于受到带宽、存储空间和通信链路时延等因素局限性的制约,此种数据备份方式显然行不通。
云备份或者在线备份是一种新型的云存储服务,就是将本地数据复制到远程数据中心,此种类型的数据备份方式通常按照所使用的存储空间和数据流量计费。与传统的本地备份相比,云备份是以用户为中心,更加强调用户体验。备份过程中不能影响用户的操作,应尽量缩短备份时间,优化网络传输效率。为了确保备份数据的安全可靠,防止意外和人为误操作,云备份系统必须为所有需要备份的数据存储尽可能多的版本。即,此种数据备份方式需要保留备份数据的变更历史,这将造成云存储空间的巨大浪费,无形中增加了云存储的运营成本。
现有备份系统大都采用增量备份的方式,即仅将上次备份后发生了变更的数据复制到备份数据中心。增量备份要求本地和远程节点保留各自存储数据的元数据。有些备份系统只是简单地使用文件的修改时间作为元数据,通过比较上次备份的时间和文件的修改时间,只备份那些新修改的文件。显然这样的备份系统不仅容易产生人为的差错,而且无法甄别文件内的重复数据。为了弥补上述简单备份系统的不足,有些备份系统采用较为复杂的算法分析本地和远程节点文件内容并甄别文件内的重复数据,即重复数据删除技术简称去重或删冗技术。按照重复数据粒度,重复数据删除技术可分为文件级重复数据删除和数据块级重复数据删除。在数据备份领域,通常采用后者。
现有采用重复数据删除技术的备份系统通常在每次数据备份过程中相互交换待传输数据的数据块的哈希值,如果存储端已有哈希值对应的数据块,则无需传输该数据块,以尽可能地减少待传输的数据块的数量。然而此种类型备份系统中的备份过程之间相互独立,即每次备份过程都不会从之前的备份过程中获得相关信息,因此每次备份过程都需要对相同的文件进行重复切分和哈希计算,严重耗费本地资源。
发明内容
鉴于现有技术中存在的问题,本发明的目的是提出一种基于版本矢量的数据还原方法和服务器。
本发明提供了一种基于版本矢量的数据还原方法,其特征在于:
客户端和服务器端均保存有每个已备份及已还原文件的版本标签;
客户端在请求数据还原时,服务器端根据客户端提供的版本标签确定请求数据是否已经在客户端保存,对已经在客户端保存的数据进行数据删除,仅向客户端发送重复数据的指针。
优选的,所述步骤具体包括:
客户端通过本地快照表获得所需还原的数据的版本标签,并向服务器端发送包含所述版本标签的数据还原请求;
服务器端接收到客户端还原数据版本的请求后,将哈希表、索引表载入内存,并创建还原哈希表和还原索引表;
对每个待还原的数据版本,首先读取元数据库中对应版本的哈希值,并在还原哈希表中检索对应的哈希值,如果该哈希值已经存在于还原哈希表中,则仅发送数据指针到客户端。
优选的,所述方法进一步包括步骤:
如果还原哈希表中没有对应的该哈希值记录,则新增一条记录,包括哈希值和版本标签;
服务器端将待还原文件划分为数据块,并计算出每个数据块的哈希值,同时读取已还原的数据版本的元数据,将该版本文件的数据块加入到还原索引表中,记录数据块哈希值和偏移量;
如果还原索引表中已有该数据块指针相应的记录,则仅将数据块指针发送到客户端。
优选的,其中如果是执行第一次数据还原或者客户端本地快照表损坏,则服务器端将其保存的快照表发送到客户端。
本发明还提供了一种可实现基于版本矢量的数据还原的服务器,其特征在于包括:
用于保存每个已备份及已还原文件的版本标签的模块,其中客户端也保存有每个已备份及已还原文件的版本标签;
用于客户端在请求数据还原时,根据客户端提供的版本标签确定请求数据是否已经在客户端保存,对已经在客户端保存的数据进行数据删除,仅向客户端发送重复数据的指针的模块。
优选的,所述服务器具体包括:
用于接收客户端发送的包含版本标签的数据还原请求的模块,其中客户端通过本地快照表获得所需还原的数据的版本标签;
用于在接收到客户端还原数据版本的请求后,将哈希表、索引表载入内存,并创建还原哈希表和还原索引表的模块;
用于对每个待还原的数据版本,首先读取元数据库中对应版本的哈希值,并在还原哈希表中检索对应的哈希值,如果该哈希值已经存在于还原哈希表中,则仅发送数据指针到客户端的模块。
优选的,所述服务器进一步包括:
用于如果还原哈希表中没有对应的该哈希值记录,则新增一条记录,包括哈希值和版本标签的模块;
用于将待还原文件划分为数据块,并计算出每个数据块的哈希值,同时读取已还原的数据版本的元数据,将该版本文件的数据块加入到还原索引表中,记录数据块哈希值和偏移量的模块;
用于如果还原索引表中已有该数据块指针相应的记录,则仅将数据块指针发送到客户端的模块。
优选的,其中如果是执行第一次数据还原或者客户端本地快照表损坏,则服务器端将其保存的快照表发送到客户端。
本发明在数据还原过程中采用了独创的基于版本的重复数据删除方法。该方法使用版本矢量作为元数据,本地和远程节点共享交换版本矢量,本地节点只需要上次还原数据的版本信息就能准确判断哪些发生了变更的数据需要传输。基于哈希算法的重复数据删除方法需要传输所有数据块的哈希表,与之相比,基于版本的重复数据删除方法仅需传输已还原数据块的版本矢量,此种方式效率更高,节省了网络带宽并减少了备份时间。
附图说明
图1例示了本发明基于版本矢量的数据备份方法的示意图。
图2例示了本发明基于版本矢量的数据还原方法的示意图。
图3例示了本发明基于版本矢量的数据备份方法的流程图。
图4例示了本发明基于版本矢量的数据索引方法的流程图。
图5例示了本发明基于版本矢量的数据还原方法的流程图。
具体实施方式
为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
云同步备份系统采用C/S体系结构,运行在本地节点的进程称为客户端,运行在远程节点的进程称为服务器端。云同步备份系统需要实现如下操作,即:将客户端的数据同步复制到服务器端,将服务器端的备份数据还原到客户端。所有操作均是由客户端发起,服务器端只是被动地接受客户端的请求。由客户端向服务器端的备份过程采用“推”的方式,而由服务器端向客户端的还原过程则采用“拉”的方式。
云同步备份系统基于客户端和服务器端之间共享交换的版本矢量,实现了重复数据删除。客户端在备份过程只完成重复数据删除的少量计算任务。为了尽可能地缩短备份时间,云同步备份系统还可以优选的采用管道机制,在甄别重复数据的同时进行数据同步复制。
云同步备份系统主要实现三个功能:
(1)数据备份:这是云同步备份系统最常用的功能,将客户端数据同步备份到服务器端,服务器端仅保留唯一的数据块;
(2)数据索引:仅在服务器端完成数据索引操作,在备份过程中为存储的数据建立索引,实现数据块哈希值和存储位置之间的映射;
(3)数据还原:将服务器端存储的备份数据还原至客户端,服务器端利用数据索引检索对应的数据块,实现数据还原操作。
图1例示了本发明基于版本矢量的数据备份方法的示意图。
如图1所示,数据备份由客户端发起,将同步目录中的数据同步备份到服务器端。假设客户端同步目录中只有两个文件,文件名分别为mydoc1和mydoc2。当备份过程启动后,首先读取同步目录中的所有文件,并为每个文件生成一个版本标签。然后将每个文件划分成多个数据块,并为每个数据块生成相应的哈希值。在本次备份过程中,如果存在有数据块与上次备份过程中已传输的数据块具有相同的哈希值,则将该数据块标记为重复数据块并以哈希值替代,然后与其他数据块一起发送至服务器端。当服务器端接收到客户端发送来的数据流后,分别将数据块和哈希值保存在文件系统和元数据库中。
数据索引操作由服务器端实现,建立数据文件和元数据之间的映射关系,并生成索引表。索引表的数据结构包括哈希值、版本号、偏移量、数据块大小和指针/数据标识。图1所述的数据备份过程中对应的索引表如下表所示。
哈希值 版本号 偏移量 数据块大小 指针/数据标识
(abcd) 1 4 4 1
(qazw) 1 8 4 1
(efgh) 1 12 4 1
(abcd) 1 16 4 0
(wsxe) 2 4 4 1
(qazw) 2 8 4 0
(efgh) 2 12 4 0
数据备份过程主要由客户端发起并实现,服务器端仅少量参与,而数据索引过程中的操作主要由服务器端实现,因此数据索引过程独立于数据备份过程。如此可以减轻数据备份过程中的任务负担,缩短备份时间。另外,数据索引过程仍采用增量变化的思想,即仅需要对上次数据索引后变化的数据文件和元数据建立索引,缩短了每次索引的时间,提高了数据索引的效率。
图2例示了本发明基于版本矢量的数据还原方法的示意图。
如图2所示,数据还原过程同样由客户端发起,但数据还原流程和数据备份流程刚好相反。客户端首先向服务器端发起对备份数据进行还原的请求,服务器端响应请求,将所需版本的数据块和指针发送给客户端,由客户端完成文件组合。
图3例示了本发明基于版本矢量的数据备份方法的流程图。
如图3所示,每次客户端将数据备份到服务器端时都创建一个类似“快照”的备份数据集合,服务器端以版本数据文件和元数据方式将“快照”保存到存储设备中。服务器端可以通过保存的版本数据文件和元数据快速重组“快照”。在数据备份过程中,为了提高备份效率,缩短备份时间,备份进程没有建立重组“快照”所需的索引表,而是交给独立的数据索引进程完成。数据备份过程中所涉及到的具体操作步骤包括初始化、读数据、生成数据块和哈希值、去重、数据传输、存储数据等。
(1)初始化
服务器端进程常驻内存并一直运行,等待客户端的任何请求。客户端启动数据备份进程,监控同步目录中文件的变化。首先客户端向服务器端发送服务器端状态数据请求,服务器端返回一个起始版本Vs和最新版本Ve,这两个版本代表服务器端的最新状态信息。接着客户端读取本地数据,包括哈希表、快照表和数据块表等本地状态信息,完成初始化任务。
(2)读数据
读数据操作遍历同步目录中的所有文件和子目录,并对每个文件进行处理。首先按顺序生成文件版本标签,并在快照表中加入对应的记录,包括版本和文件名,用于数据还原。接着计算每个文件的哈希值,并向哈希表中新增记录,包括哈希值和对应文件的版本。如果哈希表中存在同样的哈希值,将所有具有同样哈希值的文件版本Vi与Vs及Ve比较。如果该文件版本介于Vs和Ve之间,即Vs<Vi≤Ve,说明该文件已经在服务器端存在,因此只需要将该文件所对应的指针发送到服务器端。另外,可将文件重复数据甄别操作和文件传输操作同时进行,如此能检测到读取的当前文件是否和正在备份的文件相同,实现文件级的重复数据删除,可大大提高重复数据删除的效率。而对那些非重复的文件将交给下个步骤处理,即“生成数据块”。
(3)生成数据块
生成数据块操作按照数据内容采用滑动窗口算法将文件划分为可变长度的数据块,并计算出每个数据块的哈希值,向数据块表中新增记录,包括数据块哈希值和对应的文件版本。然后通过下一个步骤实现数据块级的重复数据删除。
(4)甄别重复数据块
重复数据块甄别器使用本地的数据块表并结合Vs和Ve版本来识别重复数据块。本地的数据块表中记录有所有已传输的数据块的相关信息。对于上一个步骤中生成的新数据块的哈希值,如果本地数据块表中已有同样的哈希值,说明该数据块已经至少备份过一次。考虑到服务器端也有可能删除对应数据块的文件,采用上述文件级的重复数据甄别办法,如果该文件仍然存在于服务器端,则将该数据块标记为重复数据块,仅需要将该数据块对应的指针发送到服务器端。
(5)传输数据
将经过重复数据删除后的数据块打包、压缩和加密后以数据流的方式传输到服务器。在上述读数据以及生成数据块的同时,数据传输操作同步进行,如此可进一步缩短备份时间。数据包由版本标记和数据块标识(数据块或数据块指针)组成。版本标记包括版本、文件哈希值和文件名,数据块标识1代表数据块,0表示数据块指针。其中,数据块包括数据块大小和数据块内容,而数据块指针仅包含数据块的哈希值。由于数据块指针所包含的数据量远远小于数据块,因此,该数据传输方式可明显提高网络带宽的使用效率。
(6)保存数据
客户端启动数据备份过程后,服务器端进行初始化,并将快照表载入内存。服务器端的快照表与客户端的快照表在结构上完全一样,包含版本和文件名。服务器端接收到数据包后进行解包、解压和解密操作,还原原始数据包的格式。然后按照数据块标识区分数据块和数据块指针,将数据块写入备份目录,且所有相同版本的数据块都写入同一个文件;将数据块指针写入内置的元数据库,元数据结构包括文件哈希值、数据块哈希值和偏移量。同时向服务器端的快照表新增版本记录,包括版本和文件名。
当服务器端通知客户端已经接收完成最后一个数据块后,客户端将保存所有数据表,包括快照表、哈希表和数据块表,然后结束备份过程。
图4例示了本发明基于版本矢量的数据索引方法的流程图。
如图4所示,数据索引采用独立于备份进程的模式,可以减少备份过程对服务器端资源的消耗,缩短备份时间,提升备份系统的整体性能。数据索引进程仍采用增量方式,首先读取当前备份过程生成的数据,建立数据块哈希值和数据块位置之间的映射关系,用于数据还原操作。数据索引过程所涉及到的操作主要包括初始化、读数据、生成数据块和内容索引、生成元数据索引和写数据等。
(1)初始化
服务器端具有一个最新版本Ve,结合按照上次数据索引的版本Vi,可确定本次索引的版本范围为[Vi,Ve],并将哈希表和索引表载入内存完成初始化任务。
(2)读数据
首先从元数据库中读取内有索引的所有版本文件,然后将与文件相关的信息加入到哈希表中,完成文件哈希索引。哈希表数据结构包括文件哈希值、版本以及文件指针标识,文件指针标识1表示是文件指针,0表示是数据块指针。完成文件哈希索引后,读取数据文件内容交给下一步生成数据块和内容索引处理。
(3)生成数据块和内容索引
为了节省存储空间,数据文件由数据块串接而成,中间没有分隔符和其他数据。数据索引必须将备份过程传来的数据文件以及从元数据库中读取的数据文件进行重新分块,并为所划分的数据块计算相应的哈希值,然后将数据块哈希值、版本、偏移量和数据块标识加入到索引表中。如果所有数据块标识均为1,则表示为数据块而非数据块指针。如此,可完成数据文件的索引任务。
(4)生成元数据索引
完成数据文件索引后,可对备份过程传来的重复数据指针进行元数据索引。读取元数据库中相应的数据块指针记录,并将数据块指针中的哈希值、版本、偏移量和数据块标识加入到索引表中,所有数据块标识均为0,则表示为数据块指针。
图5例示了本发明基于版本矢量的数据还原方法的流程图。
如图5所示,数据还原操作是由客户端发起的,用于向服务器端请求还原之前备份的数据。客户端没有保存任何数据块,而服务器端保存了数据还原所需的所有信息,包括数据文件、元数据和索引表等。数据还原过程所涉及到的操作主要包括初始化和读数据、生成数据块和去重以及数据传输和文件重组等。
数据还原操作引入了两个临时数据表:还原哈希表和还原索引表。其中还原哈希表的数据结构和服务器端哈希表的数据结构一致,还原索引表的数据结构和服务器端索引表结构一致。还原哈希表中已存在的哈希值表示相应的版本文件已经发送到客户端,而还原索引表中已存在的哈希值则表示相应的数据块已经发送到客户端。
(1)初始化和读数据
客户端首先通过本地快照表获得所需还原的数据的版本。如果是执行第一次数据还原或者本地快照表损坏,服务器端会将其保存的快照表发送到客户端。当服务器端接收到客户端还原数据版本的请求后,将哈希表、索引表载入内存,并创建还原哈希表和还原索引表。对每个待还原的数据版本,首先读取元数据库中对应版本的哈希值,并在还原哈希表中检索对应的哈希值。如果该哈希值已经存在于还原哈希表中,则表明该数据版本已经发送到客户端,本次仅需要发送数据指针到客户端即可。如果还原哈希表中没有对应的该哈希值记录,则新增一条记录,包括哈希值和版本。同时对应版本的数据文件交给下一个步骤生成数据块处理。
(2)生成数据块和去重
与数据备份过程和数据索引过程中的数据块生成操作一样,数据还原过程中的生成数据块操作也是将数据文件划分为可变长度的数据块,并计算哈希值。同时读取已还原的数据版本的元数据,将该版本文件的数据块加入到还原索引表中,记录数据块哈希值和偏移量。
在处理数据块指针时,先检索还原索引表。如果还原索引表中没有相应的数据块指针记录,表明客户端没有该数据块指针对应的数据块内容,则可以从索引表中查询该数据块指针所对应的数据块的位置信息,读取数据块的内容并交给下一个步骤数据传输发送。同时在还原索引表中加入一条新的记录,包括数据块哈希值、版本、偏移量和数据块大小。如果还原索引表中已有该数据块指针相应的记录,则表明客户端已经接收了该数据块指针所对应的数据块内容,如此仅需要将数据块指针发送到客户端。与数据备份过程中的操作原理类似,数据还原操作使用还原索引表,实现了数据还原过程中的数据去重,避免了相同数据的重复传输,优化了网络带宽的利用率。
(3)数据传输和文件重组
数据传输将服务器端的数据包发送到客户端。与数据备份过程中的操作一样,服务器端首先将经过重复数据删除后的数据块进行打包、压缩以及加密,然后以数据流的方式传输到客户端。同样,数据传输操作也可以与读数据以及生成数据块操作同步进行,缩短客户端进行文件重组的等待时间。客户端接收到数据包后进行解包、解压和解密操作,还原原始数据包的格式。然后再对接收到的数据包进行文件重组,将相同版本的数据块和以数据块指针替代的数据块内容写入同一个文件。当客户端将所有版本数据处理完成,并将数据写入客户端用户指定的还原目录后结束数据还原操作。
以上主要通过方法步骤的形式介绍了本发明的优选实施例,本领域技术人员应当理解,本发明可以硬件、软件及硬件软件结合等方式实现,基于本说明书公开的内容可显而易见地获知这些实现方式。
当全部以计算机程序的方式实现本发明时,本发明中的客户端和服务器均可通过使用功能模块执行对应步骤的方式实现,这里不再对各功能模块一一赘述。
本领域的普通技术人员应该意识到,在本发明的范围内和精神指导下,各种改进、添加和替换都是可能的,例如调整接口调用顺序、改变消息格式和内容、使用不同的编程语言(如C、C++、Java等)实现等。这些都在本发明的权利要求所限定的保护范围内。

Claims (8)

1.一种基于版本矢量的数据还原方法,其特征在于:
客户端和服务器端均保存有每个已备份及已还原文件的版本标签;
客户端在请求数据还原时,服务器端根据客户端提供的版本标签确定请求数据是否已经在客户端保存,对已经在客户端保存的数据进行数据删除,仅向客户端发送重复数据的指针。
2.根据权利要求1所述的基于版本矢量的数据还原方法,其特征在于所述步骤具体包括:
客户端通过本地快照表获得所需还原的数据的版本标签,并向服务器端发送包含所述版本标签的数据还原请求;
服务器端接收到客户端还原数据版本的请求后,将哈希表、索引表载入内存,并创建还原哈希表和还原索引表;
对每个待还原的数据版本,首先读取元数据库中对应版本的哈希值,并在还原哈希表中检索对应的哈希值,如果该哈希值已经存在于还原哈希表中,则仅发送数据指针到客户端。
3.根据权利要求2所述的基于版本矢量的数据还原方法,其特征在于进一步包括步骤:
如果还原哈希表中没有对应的该哈希值记录,则新增一条记录,包括哈希值和版本标签;
服务器端将待还原文件划分为数据块,并计算出每个数据块的哈希值,同时读取已还原的数据版本的元数据,将该版本文件的数据块加入到还原索引表中,记录数据块哈希值和偏移量;
如果还原索引表中已有该数据块指针相应的记录,则仅将数据块指针发送到客户端。
4.根据权利要求1-3任一所述的基于版本矢量的数据还原方法,其中如果是执行第一次数据还原或者客户端本地快照表损坏,则服务器端将其保存的快照表发送到客户端。
5.一种可实现基于版本矢量的数据还原的服务器,其特征在于包括:
用于保存每个已备份及已还原文件的版本标签的模块,其中客户端也保存有每个已备份及已还原文件的版本标签;
用于客户端在请求数据还原时,根据客户端提供的版本标签确定请求数据是否已经在客户端保存,对已经在客户端保存的数据进行数据删除,仅向客户端发送重复数据的指针的模块。
6.根据权利要求5所述的可实现基于版本矢量的数据还原的服务器,其特征在于所述服务器具体包括:
用于接收客户端发送的包含版本标签的数据还原请求的模块,其中客户端通过本地快照表获得所需还原的数据的版本标签;
用于在接收到客户端还原数据版本的请求后,将哈希表、索引表载入内存,并创建还原哈希表和还原索引表的模块;
用于对每个待还原的数据版本,首先读取元数据库中对应版本的哈希值,并在还原哈希表中检索对应的哈希值,如果该哈希值已经存在于还原哈希表中,则仅发送数据指针到客户端的模块。
7.根据权利要求6所述的可实现基于版本矢量的数据还原的服务器,其特征在于进一步包括:
用于如果还原哈希表中没有对应的该哈希值记录,则新增一条记录,包括哈希值和版本标签的模块;
用于将待还原文件划分为数据块,并计算出每个数据块的哈希值,同时读取已还原的数据版本的元数据,将该版本文件的数据块加入到还原索引表中,记录数据块哈希值和偏移量的模块;
用于如果还原索引表中已有该数据块指针相应的记录,则仅将数据块指针发送到客户端的模块。
8.根据权利要求5-7任一所述的可实现基于版本矢量的数据还原的服务器,其中如果是执行第一次数据还原或者客户端本地快照表损坏,则服务器端将其保存的快照表发送到客户端。
CN201310033084.4A 2013-01-28 2013-01-28 一种基于版本矢量的数据还原方法及服务器 Expired - Fee Related CN103118104B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310033084.4A CN103118104B (zh) 2013-01-28 2013-01-28 一种基于版本矢量的数据还原方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310033084.4A CN103118104B (zh) 2013-01-28 2013-01-28 一种基于版本矢量的数据还原方法及服务器

Publications (2)

Publication Number Publication Date
CN103118104A true CN103118104A (zh) 2013-05-22
CN103118104B CN103118104B (zh) 2017-12-26

Family

ID=48416374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310033084.4A Expired - Fee Related CN103118104B (zh) 2013-01-28 2013-01-28 一种基于版本矢量的数据还原方法及服务器

Country Status (1)

Country Link
CN (1) CN103118104B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103618765A (zh) * 2013-11-11 2014-03-05 华为技术有限公司 一种远程复制方法、装置、备份端设备及系统
CN103714123A (zh) * 2013-12-06 2014-04-09 西安工程大学 企业云存储分块对象重复数据删除和重组版本控制方法
CN105656981A (zh) * 2014-12-03 2016-06-08 仁宝电脑工业股份有限公司 数据传输方法及系统
US9646043B1 (en) 2015-11-25 2017-05-09 International Business Machines Corporation Combining data matches from multiple sources in a deduplication storage system
US9678977B1 (en) 2015-11-25 2017-06-13 International Business Machines Corporation Similarity based deduplication of snapshots data
US9703642B2 (en) 2015-11-25 2017-07-11 International Business Machines Corporation Processing of tracked blocks in similarity based deduplication of snapshots data
US9703643B2 (en) 2015-11-25 2017-07-11 International Business Machines Corporation Calculation of representative values for similarity units in deduplication of snapshots data
US9984123B2 (en) 2015-11-25 2018-05-29 International Business Machines Corporation Reducing resource consumption of a similarity index in data deduplication
US10031937B2 (en) 2015-11-25 2018-07-24 International Business Machines Corporation Similarity based data deduplication of initial snapshots of data sets
CN108958983A (zh) * 2018-08-06 2018-12-07 深圳市科力锐科技有限公司 基于数据差异的还原方法、装置、存储介质及用户设备
CN112131221A (zh) * 2020-09-18 2020-12-25 山东云海国创云计算装备产业创新中心有限公司 一种跟踪数据处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130230A1 (en) * 2005-12-02 2007-06-07 Naineni Malahal R Backup and restore of file system objects of unknown type
CN101216791A (zh) * 2008-01-04 2008-07-09 华中科技大学 基于指纹的文件备份方法
CN102184218A (zh) * 2011-05-05 2011-09-14 华中科技大学 一种基于因果关系的重复数据删除方法
CN102882923A (zh) * 2012-07-25 2013-01-16 北京亿赛通科技发展有限责任公司 移动终端安全存储系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130230A1 (en) * 2005-12-02 2007-06-07 Naineni Malahal R Backup and restore of file system objects of unknown type
CN101216791A (zh) * 2008-01-04 2008-07-09 华中科技大学 基于指纹的文件备份方法
CN102184218A (zh) * 2011-05-05 2011-09-14 华中科技大学 一种基于因果关系的重复数据删除方法
CN102882923A (zh) * 2012-07-25 2013-01-16 北京亿赛通科技发展有限责任公司 移动终端安全存储系统及方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103618765A (zh) * 2013-11-11 2014-03-05 华为技术有限公司 一种远程复制方法、装置、备份端设备及系统
CN103618765B (zh) * 2013-11-11 2017-02-01 华为技术有限公司 一种远程复制方法、装置、备份端设备及系统
CN103714123A (zh) * 2013-12-06 2014-04-09 西安工程大学 企业云存储分块对象重复数据删除和重组版本控制方法
CN105656981A (zh) * 2014-12-03 2016-06-08 仁宝电脑工业股份有限公司 数据传输方法及系统
US9703642B2 (en) 2015-11-25 2017-07-11 International Business Machines Corporation Processing of tracked blocks in similarity based deduplication of snapshots data
US9678977B1 (en) 2015-11-25 2017-06-13 International Business Machines Corporation Similarity based deduplication of snapshots data
US9646043B1 (en) 2015-11-25 2017-05-09 International Business Machines Corporation Combining data matches from multiple sources in a deduplication storage system
US9703643B2 (en) 2015-11-25 2017-07-11 International Business Machines Corporation Calculation of representative values for similarity units in deduplication of snapshots data
US9984123B2 (en) 2015-11-25 2018-05-29 International Business Machines Corporation Reducing resource consumption of a similarity index in data deduplication
US10031937B2 (en) 2015-11-25 2018-07-24 International Business Machines Corporation Similarity based data deduplication of initial snapshots of data sets
US10657103B2 (en) 2015-11-25 2020-05-19 International Business Machines Corporation Combining data matches from multiple sources in a deduplication storage system
US11030198B2 (en) 2015-11-25 2021-06-08 International Business Machines Corporation Reducing resource consumption of a similarity index in data deduplication
CN108958983A (zh) * 2018-08-06 2018-12-07 深圳市科力锐科技有限公司 基于数据差异的还原方法、装置、存储介质及用户设备
CN112131221A (zh) * 2020-09-18 2020-12-25 山东云海国创云计算装备产业创新中心有限公司 一种跟踪数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN103118104B (zh) 2017-12-26

Similar Documents

Publication Publication Date Title
CN103095843A (zh) 一种基于版本矢量的数据备份方法及客户端
CN103118104A (zh) 一种基于版本矢量的数据还原方法及服务器
CN103116615A (zh) 一种基于版本矢量的数据索引方法及服务器
CN111183420B (zh) 日志结构存储系统
US9251160B1 (en) Data transfer between dissimilar deduplication systems
US8452932B2 (en) System and method for efficiently creating off-site data volume back-ups
CN106156359B (zh) 一种云计算平台下的数据同步更新方法
US8452731B2 (en) Remote backup and restore
CN111566611B (zh) 日志结构存储系统
US8468135B2 (en) Optimizing data transmission bandwidth consumption over a wide area network
US20150365345A1 (en) Reduced bandwidth data uploading in data systems
EP2687987A1 (en) Method, system and serving node for data backup and recovery
US20110071989A1 (en) File aware block level deduplication
CN101453489B (zh) 一种网络附加存储装置及其数据备份和数据恢复方法
CN104077380B (zh) 一种重复数据删除方法、装置及系统
CN104932841A (zh) 一种云存储系统中节约型重复数据删除方法
US9824131B2 (en) Regulating a replication operation
CN105120003A (zh) 一种实现云环境下数据备份的方法
CN112988326A (zh) 高效地提供虚拟机参考点
CN102014152A (zh) 一种远程复制系统及其方法
EP2659405B1 (en) Receiver-side data deduplication in data systems
CN103023996A (zh) 一种云数据存储系统
CN102523290A (zh) 数据的处理方法、设备和系统
CN104965835B (zh) 一种分布式文件系统的文件读写方法及装置
CN102082791A (zh) 数据备份实现方法、客户端和服务器及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171226

Termination date: 20220128

CF01 Termination of patent right due to non-payment of annual fee