CN102184218B - 一种基于因果关系的重复数据删除方法 - Google Patents
一种基于因果关系的重复数据删除方法 Download PDFInfo
- Publication number
- CN102184218B CN102184218B CN2011101152987A CN201110115298A CN102184218B CN 102184218 B CN102184218 B CN 102184218B CN 2011101152987 A CN2011101152987 A CN 2011101152987A CN 201110115298 A CN201110115298 A CN 201110115298A CN 102184218 B CN102184218 B CN 102184218B
- Authority
- CN
- China
- Prior art keywords
- file
- backup
- data
- fingerprint
- time
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于因果关系的重复数据删除方法,该方法根据所捕捉的数据文件之间的因果关系,消除备份和恢复任务中的重复数据,从而加快了备份和恢复数据的传输,提高了云备份系统中数据备份和恢复的速度,使云备份系统切实可用。
Description
技术领域
本发明属于计算机信息存储技术领域,具体涉及一种用于改善云备份服务能力的基于因果关系的重复数据删除方法。
背景技术
随着云计算的兴起,云备份也越来越受大家的欢迎。作为一种根据使用时间来付费的方式,云备份增加了用户使用备份功能的自由性,可以使用户拥有最高的备份性价比。这种自由性吸引了各大中小型企业、远程移动办公室以及个人用户的青睐。尤其是对于小型企业来说,他们不想成为一个备份专家,他们需要花更多的时间来进行企业的自身业务的完善,需要以此来提高企业本身的利润。而云备份刚好满足了他们的要求。云备份的简单的使用方式,可以使小型企业既能很好的保护好自己的数据,又能使企业的员工有更多的时间,更好的专注于企业自身的建设。
不过目前的云备份系统有着自己固有的缺陷,那就是链接云备份用户和云备份服务提供者之间的是带宽极低的广域网络,这就使得云备份系统中的数据备份和数据恢复速度极慢。根据国外权威机构统计,有大约39%的人认为在关于广域网络上进行的备份和恢复所花的时间太长,有31%的人认为在广域网上进行备份和恢复所需要花费的网络开销太大。正因为此,云备份还没有成为一个广泛使用的,经济可行的备份方式,没有达到预期的效果。目前,学术界和工业界正在努力改善云备份的服务能力,宣传和推广云备份的使用。不过,不管是学术界还是工业界,目前都仅仅关注数据备份速度的提升。他们通过使用源端的重复数据删除方法,消除重复数据的备份,以此来减少备份过程中广域网络带宽的使用,加快备份任务的完成。他们使用的方法仅用于提升备份的速度,而没有提升恢复的速度。但是在云备份系统中,备份的数据都必须用于恢复。并且2009年赛门铁克的灾难恢复的调研报告中指出,和以往相比,现在进行数据恢复时平均每小时所花费的代价比以往更高,这就意味着数据恢复的时间比以往更加紧迫。因此,一种有效的用于改善云备份服务能力的重复数据删除方法是不仅能删除重复的备份数据,提高数据备份的速度,同样也能消除重复的恢复数据,加快恢复数据的传输,改善数据恢复的性能。
发明内容
本发明提出了一种用于改善云备份服务能力的基于因果关系的重复数据删除方法,该方法根据所捕捉的数据文件之间的因果关系,消除在备份和恢复任务中的重复数据,加快备份和恢复数据的传输,提高云备份系统中数据备份和恢复的速度,使云备份系统切实可用。
一种基于因果关系的重复数据删除方法,涉及文件关系表和文件指纹谱集,所述文件关系表包含文件名、文件操作类型和文件操作时间信息,所述文件指纹谱集包含各文件的文件数据块指纹和文件备份时间信息;该方法包括数据备份步骤和数据恢复步骤;
所述数据备份步骤,具体为:
(A1)本地客户端接受用户备份任务请求,备份任务请求携带的信息有待备份文件名和最近一次备份时间;
(A2)查询文件关系表,判断待备份文件是否在最近一次备份时间之后进行过修改,若是,则进入步骤(A3),否则,结束备份;
(A3)提取待备份文件当前的数据块指纹,将其与文件指纹谱集记录的待备份文件最后一次备份时的数据块指纹进行匹配,找出匹配失败的数据块;
(A4)对步骤(A3)中匹配失败的数据块进行备份;
(A5)在文件指纹谱集记录待备份文件当前的数据块指纹和备份时间;
所述数据恢复步骤,具体为:
(B1)本地客户端接收用户恢复任务请求,恢复任务请求携带的信息有待恢复文件的文件名和待恢复时间点;
(B2)查询文件关系表,判断待恢复文件是否在离待恢复时间点的最近一次备份后进行过修改,若是,则进入步骤(B3),否则,结束恢复;
(B3)提取待恢复文件当前的数据块指纹;
(B4)从文件指纹谱集中查询待恢复文件离待恢复时间点最近一次备份的数据块指纹,将其与步骤(B3)提取的数据块指纹进行匹配,找出匹配失败的数据块;
(B5)对步骤(B4)中匹配失败的数据块进行恢复。
本发明具有如下的特点:
(1)本发明的重复数据删除方法通过捕捉和利用文件之间的因果关系,不仅消除了重复的备份数据,也能消除重复的恢复数据,减少了数据备份和恢复中网络带宽的使用,解决了云备份系统中因低带宽广域网络带来的数据备份和恢复速度极慢的问题。
(2)本发明的重复数据删除方法改善了云备份的服务能力。通过消除数据备份和数据恢复中存在的冗余数据,大大减少了云备份系统中数据备份和恢复所需要的时间,加快了云备份系统中数据备份和数据恢复的速度。
(3)本发明的重复数据删除方法是可配置的。此方法可作为一个中间件,无缝透明的集成在云备份系统的本地客户端中,消除数据备份和恢复过程中的冗余数据,减少数据备份和恢复所需要传输的数据量。若此方法没有配置或失效,将不会影响云备份系统中正常的数据备份和数据恢复的过程。
(4)本发明的重复数据删除方法是轻便的。此方法仅集成在云备份系统的本地客户端中,消除单个用户的数据备份和恢复的冗余数据传送,而不是集成在云备份服务提供方的存储服务器中。该方法的使用减少了云备份服务提供方的存储服务器的负载,同时本地客户端还可以很灵活的转换到不同的云备份服务提供方。
综上所述,本发明的重复数据删除方法通过捕捉和利用文件之间的因果关系,不仅消除了数据备份过程中的冗余数据,也消除了数据恢复过程中的冗余数据,减少了数据备份和恢复过程中重复数据的传输,从而减少了数据备份和恢复所需要的时间,解决了云备份系统中由于低带宽广域网络带来的数据备份和恢复速度极慢的问题,改善了云备份的服务能力,使云备份系统变得切实可行。
附图说明
图1为实现本发明方法的模块结构示意图;
图2为本发明方法的数据备份流程示意图;
图3为本发明方法的数据恢复流程示意图。
具体实施方式
本发明涉及的主体有本地客户端,处于数据中心存储服务器。本地客户端为云备份服务的使用方,处于数据中心的存储服务器为云备份服务的提供方。本地客户端的数据通过广域网络备份到数据中心的存储服务器,数据中心的存储服务器所存储的数据通过广域网络恢复到本地客户端。
图1为实现本发明方法的模块结构示意图,总共包括四部分,文件监视器110,文件关系表120,文件指纹谱集130,重复数据删除140。文件监视器110,文件关系表120,文件指纹谱集130用来捕捉和记录数据文件之间的因果关系,重复数据删除140通过查询捕捉到的因果关系信息,消除数据备份和恢复过程中的冗余数据。文件监视器110主要用来监视文件进行了哪些操作,操作类型分为修改操作和只读操作,修改操作比如有向某个文件增加部分数据、删除部分数据、修改部分数据、删除整个文件等等。文件关系表120主要记录由文件监视器监控到的这些文件操作,包括文件名,具体的文件操作类型,文件操作所发生的时间。重复数据删除140通过查询文件关系表,就能很快查出哪些文件哪个时间点进行了些什么样的文件操作。文件指纹谱集130主要记录每个文件由哪些指纹构成,其中每个文件指纹谱包括文件的备份时间和组成此文件的所有数据块指纹信息。每个文件可通过使用数据块变长算法(Rabin Fingeprint)(不局限此分块算法),对文件进行分割,得到平均长度为8KB的数据块。每个数据块使用SHA-1哈希算法(不局限此哈希算法),计算每个数据块的哈希值,得到的哈希值被称为数据块指纹。数据块指纹可以用来唯一代表每个数据块,任何两个具有相同指纹的数据块被认为是相同的数据块。重复数据删除140通过比对文件指纹谱,即可以查找出不同的数据块指纹,查找出某个文件的哪些数据块进行了改变。
图2为本发明中数据备份的流程示意图,具体为
(1)本地客户端接受用户备份任务请求,备份任务请求携带的信息有待备份文件的文件名和最近一次备份时间等;
(2)重复数据删除140通过使用备份任务请求中携带的文件名,查找文件关系表,查看文件关系表中是否有具有此文件名的文件。若有,则查看此文件的修改时间是否大于此文件最近一次的备份时间,若是,则进入步骤(3)。否则,若此文件不存在,或此文件的修改时间小于最近一次备份的时间,结束备份。
(3)重复数据删除140查看文件指纹谱集130,查找此文件中的哪些数据块进行了修改。
(3.1)重复数据删除140使用变长数据块分块算法(RabinFingerprint),对待备份文件进行分块,得到平均长度为8KB的数据块。
(3.2)重复数据删除140使用SHA-1哈希算法计算步骤(3.1)得到的每个数据块的哈希值,这个数据块哈希值常被称为数据块指纹。任何两个具有相同数据块指纹的数据块被认为是相同的数据块,反之,具有不同数据块指纹的数据块被认为是不相同的数据块。
(3.3)重复数据删除140查找文件指纹谱集130,查找出此文件最后一次备份时所形成的文件指纹谱,得到此文件在最后一次备份时生成的所有数据块指纹。
(3.4)重复数据删除140将步骤(3.2)得到的数据块指纹和步骤(3.3)得到的数据块指纹进行比较,对于步骤(3.2)中存在,而步骤(3.3)不存在的数据块指纹,将其代表的数据块标记为待备份数据块。
(4)本地客户端将步骤(3.4)标记的待备份数据块传送给存储服务器,存储服务器对这些数据块进行备份。
(5)本地客户端将步骤(3.2)得到的所有数据块指纹和当前的备份时间,形成一个文件指纹谱,记录入文件指纹谱集130中。
图3为本发明中数据恢复的流程示意图,具体为
(1)本地客户端接受用户恢复任务请求,恢复任务请求携带有待恢复文件的文件名和待恢复的时间点等;待恢复的时间点是界定将待恢复文件恢复到哪一个备份时间点状态的时间量。
(2)重复数据删除140通过使用恢复任务请求中携带的待恢复文件的文件名,查找文件关系表,查看文件关系表中是否有具有此文件名的文件。若有,则查看此文件的修改时间是否大于此文件离待恢复时间点最近一次备份的时间,若是,则进入步骤(3)。否则,若此文件不存在,或此文件的修改时间小于此文件离待恢复时间点最近一次备份的时间,结束恢复。
(3)重复数据删除140查看文件指纹谱集130,查找此文件中的哪些数据块进行了修改。
(3.1)重复数据删除140根据恢复任务请求中携带的文件名,在本地客户端的文件系统中查找具有此文件名的待恢复文件。并使用变长数据块分块算法(Rabin Fingerprint),对此文件进行分块,得到平均长度为8KB的数据块。
(3.2)重复数据删除140使用SHA-1哈希算法计算步骤(3.1)得到的每个数据块的哈希值,这个数据块哈希值常被称为数据块指纹。任何两个具有相同数据块指纹的数据块被认为是相同的数据块,反之,具有不同数据块指纹的数据块被认为是不相同的数据块。
(3.3)重复数据删除140查找文件指纹谱集130,查找出此文件在离待恢复时间点最近一次备份时所生成的数据块指纹。
(3.4)重复数据删除140将步骤(3.3)得到的数据块指纹和步骤(3.2)得到的数据块指纹进行比较,对于在步骤(3.3)中存在,而步骤(3.2)中不存在的数据块指纹,将其代表的数据块标记为待恢复的数据块。
(4)将(3.4)标记的待恢复数据块从存储服务器取回本地客户端。
Claims (1)
1.一种基于因果关系的重复数据删除方法,涉及文件关系表和文件指纹谱集,所述文件关系表包含文件名、文件操作类型和文件操作时间信息,所述文件指纹谱集包含各文件的文件数据块指纹和文件备份时间信息;该方法包括数据备份步骤和数据恢复步骤;
所述数据备份步骤,具体为:
A1本地客户端接受用户备份任务请求,备份任务请求携带的信息有待备份文件名和最近一次备份时间;
A2查询文件关系表,判断待备份文件的修改时间是否大于离此文件最近一次的备份时间,若是,则进入步骤A3,否则,结束备份;
A3提取待备份文件当前的数据块指纹,将其与文件指纹谱集记录的待备份文件最后一次备份时的数据块指纹进行匹配,找出匹配失败的数据块;
A4对步骤A3中匹配失败的数据块进行备份;
A5在文件指纹谱集记录待备份文件当前的数据块指纹和备份时间;
所述数据恢复步骤,具体为:
B1本地客户端接收用户恢复任务请求,恢复任务请求携带的信息有待恢复文件的文件名和待恢复时间点;
B2查询文件关系表,判断待恢复文件的修改时间是否大于离待恢复时间点的最近一次备份时间,若是,则进入步骤B3,否则,结束恢复;
B3提取待恢复文件当前的数据块指纹;
B4从文件指纹谱集中查询待恢复文件离待恢复时间点最近一次备份的数据块指纹,将其与步骤B3提取的数据块指纹进行匹配,找出匹配失败的数据块;
B5对步骤B4中匹配失败的数据块进行恢复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101152987A CN102184218B (zh) | 2011-05-05 | 2011-05-05 | 一种基于因果关系的重复数据删除方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101152987A CN102184218B (zh) | 2011-05-05 | 2011-05-05 | 一种基于因果关系的重复数据删除方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102184218A CN102184218A (zh) | 2011-09-14 |
CN102184218B true CN102184218B (zh) | 2012-11-21 |
Family
ID=44570395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101152987A Active CN102184218B (zh) | 2011-05-05 | 2011-05-05 | 一种基于因果关系的重复数据删除方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102184218B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118104B (zh) * | 2013-01-28 | 2017-12-26 | 刘海峰 | 一种基于版本矢量的数据还原方法及服务器 |
US9684569B2 (en) * | 2015-03-30 | 2017-06-20 | Western Digital Technologies, Inc. | Data deduplication using chunk files |
CN105608394B (zh) * | 2015-12-22 | 2018-07-24 | 华中科技大学 | 一种基于闪存的固态盘的数据安全删除方法 |
CN108089942B (zh) * | 2016-11-21 | 2021-08-24 | 中移(苏州)软件技术有限公司 | 一种数据备份、恢复方法及装置 |
CN108958983B (zh) * | 2018-08-06 | 2021-03-26 | 深圳市科力锐科技有限公司 | 基于数据差异的还原方法、装置、存储介质及用户设备 |
CN112286733B (zh) * | 2020-12-23 | 2021-04-06 | 深圳市科力锐科技有限公司 | 备份数据恢复时间确定方法、装置、设备及存储介质 |
CN115357429B (zh) * | 2022-08-18 | 2023-06-27 | 广州鼎甲计算机科技有限公司 | 恢复数据文件的方法、装置和客户端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009516A (zh) * | 2006-01-26 | 2007-08-01 | 华为技术有限公司 | 一种进行数据同步的方法及系统 |
CN101216791A (zh) * | 2008-01-04 | 2008-07-09 | 华中科技大学 | 基于指纹的文件备份方法 |
CN101908077A (zh) * | 2010-08-27 | 2010-12-08 | 华中科技大学 | 一种适用于云备份的重复数据删除方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090125692A1 (en) * | 2007-10-24 | 2009-05-14 | Masayuki Yamamoto | Backup system and method |
-
2011
- 2011-05-05 CN CN2011101152987A patent/CN102184218B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009516A (zh) * | 2006-01-26 | 2007-08-01 | 华为技术有限公司 | 一种进行数据同步的方法及系统 |
CN101216791A (zh) * | 2008-01-04 | 2008-07-09 | 华中科技大学 | 基于指纹的文件备份方法 |
CN101908077A (zh) * | 2010-08-27 | 2010-12-08 | 华中科技大学 | 一种适用于云备份的重复数据删除方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102184218A (zh) | 2011-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102184218B (zh) | 一种基于因果关系的重复数据删除方法 | |
US11119984B2 (en) | Managing deletions from a deduplication database | |
US20190108340A1 (en) | Ransomware detection | |
US20190109870A1 (en) | Ransomware detection and intelligent restore | |
EP2052338B1 (en) | Dynamic bulk-to-brick transformation of data | |
CN106610876B (zh) | 数据快照的恢复方法及装置 | |
US7979404B2 (en) | Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data | |
CN101989929B (zh) | 容灾数据备份的方法及系统 | |
US9542276B2 (en) | Multi stream deduplicated backup of collaboration server data | |
US8914328B2 (en) | Backup information management | |
US11182345B2 (en) | Parallelizing and deduplicating backup data | |
US20040236801A1 (en) | Systems and methods for distributed content storage and management | |
US9170748B2 (en) | Systems, methods, and computer program products providing change logging in a deduplication process | |
CN109325075A (zh) | 一种基于定时备份的Oracle及时挂载恢复系统及方法 | |
EP2673710A1 (en) | Processes and methods for client-side fingerprint caching to improve deduplication system backup performance | |
US8868505B1 (en) | Systems and methods for protecting data in a network host environment | |
US11681586B2 (en) | Data management system with limited control of external compute and storage resources | |
CN103838645B (zh) | 一种基于哈希的远程差异合成备份实现方法 | |
CN104461773A (zh) | 一种虚拟机备份去重的方法 | |
CN101944089A (zh) | 用于数据库的数据视图版本管理方法及装置 | |
CN106843760A (zh) | 一种基于重删的异步远程复制系统及方法 | |
Tan et al. | SAFE: A source deduplication framework for efficient cloud backup services | |
CN104281412A (zh) | 一种在数据存储前去除重复数据的方法 | |
US20160085638A1 (en) | Computer system and method of identifying a failure | |
KR101589213B1 (ko) | 백업 데이터베이스를 활용한 운영 데이터베이스 부하 분산 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |