CN102467557B - 重复数据删除的处理方法 - Google Patents
重复数据删除的处理方法 Download PDFInfo
- Publication number
- CN102467557B CN102467557B CN 201010550793 CN201010550793A CN102467557B CN 102467557 B CN102467557 B CN 102467557B CN 201010550793 CN201010550793 CN 201010550793 CN 201010550793 A CN201010550793 A CN 201010550793A CN 102467557 B CN102467557 B CN 102467557B
- Authority
- CN
- China
- Prior art keywords
- data
- duplication
- file
- handle
- program
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种重复数据删除的处理方法,应用在文件储存程序中,文件储存程序对输入文件进行重复数据删除程序时的预先处理,预先存取方法包括以下步骤:运行拦截程序,将文件储存程序对操作要求的应用程序接口重定向至拦截程序;载入输入文件,并根据输入文件向重复数据删除程序发出操作要求;拦截程序将操作要求转发至句柄管理模块,句柄管理模块根据操作要求调用相应的句柄程序,用以对输入文件进行句柄程序,将输入文件记录至句柄列表中并产生操作要求;由重复数据删除模块根据操作要求对输入文件决定执行重复数据删除程序,并返回输出结果;拦截模块将输出结果转发至应用程序接口。
Description
技术领域
本发明涉及一种重复数据删除的处理方法,特别涉及一种在用户态下实现重复数据删除的处理方法。
背景技术
重复数据删除是一种数据缩减技术,通常用于基于磁盘的备份系统,主要目的在于减少存储系统中使用的存储容量。它的工作方式是在某个时间周期内查找不同文件中不同位置的重复可变大小数据块。重复的数据块用指示符号取代。由于存储系统中总是充斥着大量的冗余数据。为了解决这个问题,节省更多空间,“重复删除”技术便顺理成章地成了人们关注的焦点。采用“重复删除”技术可以将存储的数据缩减为原来的1/20,从而让出更多的备份空间,不仅可以使存储系统上的备份数据保存更长的时间,而且还可以节约离线存储时所需的大量的带宽。
但是在一般文件存储程序中并非都有支持重复数据删除的相关应用。若是重新对现有的文件存储程序进行开发,对于软体开发商而言,不啻为一项重大的负担。
发明内容
鉴于以上的问题,本发明的目的在于提供一种通过一拦截函数,在应用程序与服务程序之间,拦截并且处理应用程序对服务端发出的数据操作请求,并对数据进行重复数据删除的处理,用以在用户态下实现重复数据删除的功能。
本发明所揭露的重复数据删除的处理方法包括以下步骤:运行拦截程序,将文件储存程序对操作要求的应用程序接口重定向至拦截程序;载入输入文件,并根据输入文件向重复数据删除程序发出操作要求;拦截程序将操作要求转发至句柄管理模块,句柄管理模块根据操作要求调用相应的句柄程序,用以对输入文件进行句柄程序,将输入文件记录至句柄列表中;由重复数据删除模块根据操作要求对输入文件决定执行重复数据删除程序,并返回输出结果;拦截模块将输出结果转发至应用程序接口。
本发明通过操作系统与文件存储程序间的存取中断进行重复数据删除的处理,藉以提供一种可以支持文件存储程序的重复数据删除技术,所以可以不需要更动文件存储程序也可以达到重复数据删除的目的。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明的架构示意图;
图2为本发明的运作流程示意图;图3为本发明的文件创建流程示意图;
图4A为本发明的文件写入流程示意图;
图4B为本发明的文件读取流程示意图;
图5为本发明的文件关闭流程示意图。
其中,附图标记
110 文件存储程序
120 文件中断拦截程序
121 拦截模块
122 句柄管理模块
123 重复数据删除模块
131 存取过滤器
132 句柄列表
141 切分程序
142 哈希程序
143 数据检索单元
144 特征值列表
150 应用程序接口
具体实施方式
下面结合附图对本发明的结构原理和工作原理作具体的描述:
在本发明中所述的客户端是用于运行重复数据删除程序的计算机装置,而服务端则是用以储存经过重复数据删除程序处理后的存储装置。因此,客户端与服务端可以同时为同一台计算机,或是不同一台的计算机装置所实现。本发明通过操作系统与文件存储程序间的存取中断的相关处理,藉以判断输入文件是否需要进行重复数据删除的处理。请参考图1所示,其为本发明的架构示意图。文件存储程序110除了将多笔文件数据存储于存储单元外,文件存储程序110接收具有输入文件的存取请求。操作系统用以运行文件存储程序110。
文件中断拦截程序120包括拦截模块121、句柄管理模块122与重复数据删除模块123。文件中断拦截程序120设置于文件存储程序110与操作系统之间,而拦截模块121用以拦截存取请求并将存取请求转发至句柄管理模块122与重复数据删除模块123。
句柄管理模块122中还包括存取过滤器131(I/O Filter)与句柄列表132。存取过滤器131根据输入文件的文件路径与文件名称决定是否对输入文件进行重复数据删除程序。句柄列表132用以记录存取请求中输入文件所相应的句柄程序(本发明的句柄程序包括:创建文件、读取文件、写入文件或关闭文件等句柄)。
重复数据删除模块中还包括切分程序141、哈希程序142、数据检索单元143与特征值列表144。切分程序141用以对输入文件进行切分,藉以产生多笔的数据区块。而切分程序141可以是固定长度方式(fixed-size partition)或基于内容变长度分割方式(content-defined chunking,CDC)等方式。定长切分算法采用预先定义好的数据区块大小对输入文件进行切分。
定长分块算法的优点是简单、性能高。内容定义切分算法是一种变长分块算法,它应用指纹数据(例如通过Rabin指纹算法,将文件内容转换成预设的哈希值)将文件分割成长度大小不等的分块策略。与定长切分算法不同,内容定义切分算法是基于特定的指纹数据进行数据区块的切分处理,因此数据区块大小是可变化的。
接着,对每一个数据区块进行哈希程序142的处理,藉以产生各数据区块的特征值。其中,哈希程序142的运算种类可以是但不限定为:MD5、SHA-1、SHA-256、SHA-512或单向哈希(One-way HASH)等算法。特征值列表144用以记录不同数据区块的哈希值,而且在特征值列表144中的特征值均是唯一的。数据检索单元143用以查找特征值列表144中的特征值。
为能清楚说明本发明的运作流程,请参考图2所示,其为本发明的运作流程示意图。本发明的重复数据删除的处理流程包括以下步骤:
步骤S210:运行拦截程序,用以监听文件储存程序对操作要求的应用程序接口重定向至拦截程序;
步骤S220:载入输入文件,并根据输入文件向重复数据删除程序发出操作要求;
步骤S230:拦截程序将操作要求转发至句柄管理模块,句柄管理模块根据操作要求调用相应的句柄程序,用以对输入文件进行句柄程序,将输入文件记录至句柄列表中;
步骤S240:由句柄管理模块根据操作要求对输入文件决定是否执行重复数据删除程序,驱动重复数据删除模块执行重复数据删除程序后再返回输出结果;以及
步骤S250:拦截模块将输出结果转发至应用程序接口。
首先,在计算机装置启动操作系统后,拦截模块121再开始运行拦截程序。拦截程序可以应用于微软公司的视窗操作系统、Linux操作系统或是苹果公司(Apple)的OSX操作系统中。拦截程序分别连接于操作系统与文件存储系统之间。拦截程序实时的监听文件存储系统对操作系统的应用程序接口150(Application Programming Interface,API)的操作要求。
当文件存储系统接收到输入文件时,文件存储系统会向操作系统发出操作要求。于此同时,拦截程序会将原本发送至应用程序接口150的操作要求重定向至拦截程序。换言之,拦截程序对于操作要求所欲存取的实体存储位置会进行改写。
接着,拦截程序将操作要求转发至句柄管理模块122(handle managementmodule)。句柄管理模块122根据操作要求调用相应的句柄程序,用以对输入文件进行相应的句柄程序。操作要求为文件创建要求、文件存取要求或文件关闭要求。句柄管理模块122根据再将输入文件记录至句柄列表132中。
在本发明中根据不同类型的操作要求,文件中断拦截程序120会提出不同的处理流程。当操作要求是为该文件创建要求时,在调用句柄程序的过程中还包括下列步骤(请配合图3所示):
步骤S310:判断是否进行重复数据删除程序;
步骤S320:若对输入文件进行重复数据删除程序,则获取文件句柄;
步骤S330:通过文件句柄取得输入文件的文件路径与文件名称;
步骤S340:将输入文件的文件路径与文件名称传送给句柄管理模块;
步骤S350:由句柄管理模块的存取过滤器根据输入文件的文件路径与文件名称将该文件句柄记录至句柄列表;以及
步骤S360:若不需对输入文件进行重复数据删除程序,则返回文件句柄给文件存储系统。
拦截模块121在接获到文件创建的操作要求时,拦截程序会判断输入文件是否需要进行重复数据删除的处理。若是需要对输入文件进行重复数据删除程序,则拦截程序会获取相应操作要求的文件句柄。并且通过文件句柄取得输入文件的文件路径与文件名称。接着,拦截程序将输入文件的文件路径与文件名称传送给句柄管理模块122。由存取过滤器131根据输入文件的文件路径与文件名称将该文件句柄记录至句柄列表132。若是不需对输入文件进行重复数据删除程序,则返回文件句柄给文件存储系统。
若操作要求系将输入文件进行写入时,则重复数据删除程序还包括以下步骤(请配合图4A所示):
步骤S411:由重复数据删除模块对输入文件进行切分程序,用以产生多个数据区块;
步骤S412:将这些数据区块分别进行哈希程序,用以产生相应数据区块的特征值;
步骤S413:通过重复数据删除模块的数据检索单元比对这些特征值是否已经记录于特征值列表中;
步骤S414:若是特征值存在于特征值列表,则返回已存在的输出结果;以及
步骤S415:若是特征值不存在于特征值列表,则将特征值写入特征值列表中并返回输出结果。
由于在进行文件创建的过程中,已经将相应的文件句柄记录在句柄列表132中。所以在进行文件写入/读取的处理时,只要向句柄列表132查询相应的文件句柄即可。并向操作文件进行重复数据删除的各项处理。首先是,对输入文件进行切分程序141,产生多个数据区块。对每一个数据区块分别进行哈希程序142,并产生相应数据区块的特征值。由数据检索单元143比对这些特征值是否已经被记录于特征值列表144中。若是存在特征值存在于特征值列表144,则返回已存在的输出结果。反之,将特征值写入特征值列表144中并返回输出结果。
若操作要求为读取文件时,则重复数据删除程序还包括以下步骤(请配合图4B所示):
步骤S421:重复数据删除模块根据特征值列表判断输入文件是否已经被记录于存储单元;
步骤S422:若是输入文件不存在于存储单元之中,则返回操作句柄给文件存储程序;
步骤S423:若是输入文件已经被记录存储单元之中,则重复数据删除模块将输入文件的起始偏移量与文件长度传送至数据处理单元;以及
步骤S424:由数据处理单元根据起始偏移量与文件长度,从存储单元中读取相应的数据。
若操作要求是为读取文件时,重复数据删除模块根据特征值列表144判断输入文件是否已经被记录于存储单元。若是输入文件已经被记录存储单元之中,则重复数据删除模块将输入文件的起始偏移量与文件长度传送至数据处理单元。并且由数据处理单元根据起始偏移量与文件长度,从存储单元中读取相应的数据。若是输入文件不存在于存储单元之中,则交由文件存储系统来完成对该文件的读取操作。
操作要求是为该文件关闭(File Close)要求,于调用句柄程序中还包括下列步骤(请配合图5所示):
步骤S510:判断句柄列表中是否存在输入文件;
步骤S520:若句柄列表中已存在输入文件时,则重复数据删除模块将句柄列表中的该输入文件删除;以及
步骤S530:若句柄列表中不存在输入文件时,返回文件关闭信息给文件存储系统。
在对文件的写入/读取完成后,则需对文件进行关闭的处理。
拦截程序会判断句柄列表132中是否存在输入文件。若句柄列表132中已存在输入文件时,则重复数据删除模块将句柄列表132中的该输入文件删除。反之,则会返回文件关闭信息给文件存储系统。
本发明通过操作系统与文件存储程序110间的存取中断进行重复数据删除的处理,藉以提供一种可以支持文件存储程序110的重复数据删除技术,所以可以不需要还动文件存储程序110也可以达到重复数据删除的目的。因此,本发明可以应用于备份软件、数据库软件之中,都无须修改原本软件,按照原有操作即可实现重复数据删除的处理。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (7)
1.一种重复数据删除的处理方法,应用在一文件储存程序中,该文件储存程序对一输入文件进行一重复数据删除程序时的预先处理,其特征在于,该重复数据删除的处理方法包括以下步骤:
运行一拦截程序,并将该文件储存程序对一操作要求的一应用程序接口重定向至该拦截程序;
载入该输入文件,并根据该输入文件向该重复数据删除程序发出该操作要求;
该拦截程序将该操作要求转发至一句柄管理模块,该句柄管理模块根据该操作要求调用相应的句柄程序,用以对该输入文件进行该句柄程序,将该输入文件记录至一句柄列表中;
由一重复数据删除模块根据该操作要求对该输入文件决定执行一重复数据删除程序,并返回一输出结果;以及
一拦截模块将该输出结果转发至该应用程序接口。
2.根据权利要求1所述的重复数据删除的处理方法,其特征在于,该操作要求为一文件创建要求、一文件存取要求或一文件关闭要求。
3.根据权利要求2所述的重复数据删除的处理方法,其特征在于,该操作要求为该文件创建要求时,调用该句柄程序的步骤中还包括:
获取一文件句柄;以及
通过该文件句柄取得该输入文件的一文件路径与一文件名称。
4.根据权利要求3所述的重复数据删除的处理方法,其特征在于,该拦截程序将该操作要求转发至该句柄管理模块的步骤中还包括:
将该输入文件的该文件路径与该文件名称传送给该句柄管理模块;以及
由该句柄管理模块的一存取过滤器根据该文件路径与该文件名称将该操作文件的该文件句柄记录至一句柄列表。
5.根据权利要求2所述的重复数据删除的处理方法,其特征在于,该操作要求为该文件关闭要求,调用该句柄程序的步骤中还包括:若该句柄列表中已存在该输入文件时,则该重复数据删除模块将该句柄列表中的该输入文件删除。
6.根据权利要求1所述的重复数据删除的处理方法,其特征在于,若该操作要求将该输入文件进行写入时,则该重复数据删除程序还包括以下步骤:
由该重复数据删除模块对该输入文件进行一切分程序,用以产生多个数据区块;
将该些数据区块分别进行一哈希程序,用以产生相应该数据区块的一特征值;
通过该重复数据删除模块的一数据检索单元比对该些特征值是否已经记录于一特征值列表中;
若是存在该特征值存在于该特征值列表,则返回已存在的该输出结果;以及
若是存在该特征值不存在于该特征值列表,则将该特征值写入该特征值列表中并返回该输出结果。
7.根据权利要求1所述的重复数据删除的处理方法,其特征在于,若该操作要求进行读取文件,则该重复数据删除程序还包括以下步骤:
该重复数据删除模块根据一特征值列表判断该输入文件是否已经被记录于一存储单元;
若是该输入文件已经被记录该存储单元之中,则该重复数据删除模块将该输入文件的一起始偏移量与一文件长度传送至一数据处理单元;以及
由该数据处理单元根据该起始偏移量与该文件长度,从该存储单元中读取相应的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010550793 CN102467557B (zh) | 2010-11-17 | 2010-11-17 | 重复数据删除的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010550793 CN102467557B (zh) | 2010-11-17 | 2010-11-17 | 重复数据删除的处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102467557A CN102467557A (zh) | 2012-05-23 |
CN102467557B true CN102467557B (zh) | 2013-10-02 |
Family
ID=46071200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010550793 Expired - Fee Related CN102467557B (zh) | 2010-11-17 | 2010-11-17 | 重复数据删除的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102467557B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810056A (zh) * | 2012-11-06 | 2014-05-21 | 南京壹进制信息技术有限公司 | 一种在Linux平台上获得一致性备份的方法 |
CN108415792B (zh) * | 2018-01-15 | 2022-04-29 | 创新先进技术有限公司 | 容灾系统、方法、装置及设备 |
CN109116146A (zh) * | 2018-07-27 | 2019-01-01 | 南京瑞贻电子科技有限公司 | 一种具有自动化删除无价值数据的录波分析仪 |
CN112905547A (zh) * | 2021-03-25 | 2021-06-04 | 深圳潮数软件科技有限公司 | 一种大文件去重重定向方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630290A (zh) * | 2009-08-17 | 2010-01-20 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法和装置 |
CN101741536A (zh) * | 2008-11-26 | 2010-06-16 | 中兴通讯股份有限公司 | 数据级容灾方法、系统和生产中心节点 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8880797B2 (en) * | 2007-09-05 | 2014-11-04 | Emc Corporation | De-duplication in a virtualized server environment |
US7962706B2 (en) * | 2008-02-14 | 2011-06-14 | Quantum Corporation | Methods and systems for improving read performance in data de-duplication storage |
-
2010
- 2010-11-17 CN CN 201010550793 patent/CN102467557B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741536A (zh) * | 2008-11-26 | 2010-06-16 | 中兴通讯股份有限公司 | 数据级容灾方法、系统和生产中心节点 |
CN101630290A (zh) * | 2009-08-17 | 2010-01-20 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102467557A (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319654B (zh) | 计算系统、冷热数据分离方法及装置、计算机可读存储介质 | |
US9075629B2 (en) | Multi-phase resume from hibernate | |
CN111309732B (zh) | 数据处理方法、装置、介质和计算设备 | |
US7853759B2 (en) | Hints model for optimization of storage devices connected to host and write optimization schema for storage devices | |
EP2821925B1 (en) | Distributed data processing method and apparatus | |
US9778860B2 (en) | Re-TRIM of free space within VHDX | |
US9182912B2 (en) | Method to allow storage cache acceleration when the slow tier is on independent controller | |
JP5827403B2 (ja) | メモリタイプ間でデータを移動させるための技術 | |
US10394819B2 (en) | Controlling mirroring of tables based on access prediction | |
CN102467557B (zh) | 重复数据删除的处理方法 | |
US11016676B2 (en) | Spot coalescing of distributed data concurrent with storage I/O operations | |
KR20110033066A (ko) | 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법 | |
WO2018064319A9 (en) | FOLLOW-UP OF INODES ACCESS SCHEMES AND INOX PREXTRACTION | |
WO2016090985A1 (zh) | 缓存的读取、读取处理方法及装置 | |
CN108205559B (zh) | 一种数据管理方法及其设备 | |
CN115934002B (zh) | 固态硬盘的访问方法、固态硬盘、存储系统及云服务器 | |
WO2023235040A1 (en) | File system improvements for zoned storage device operations | |
US10671307B2 (en) | Storage system and operating method thereof | |
JP2016515258A (ja) | 最適化ファイル動作のためのファイル集合化 | |
WO2023070462A1 (zh) | 一种文件去重方法、装置和设备 | |
CN115981559A (zh) | 分布式数据存储方法、装置、电子设备和可读介质 | |
US9646014B1 (en) | Systems and methods for selective defragmentation | |
KR20190069134A (ko) | 응용 프로그램간 파일 공유 장치 및 방법 | |
WO2019091322A1 (zh) | 虚拟机快照处理方法、装置及系统 | |
JP2013246646A (ja) | 情報処理装置及びデータ読出方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170922 Address after: No. 636 Wanfu Road, Chang Zhou street, Rongchang District, Chongqing Patentee after: CHONGQING CITY YUN-PLASTIC ANTI-CORROSION EQUIPMENT CO., LTD. Address before: Taipei City, Taiwan, China Patentee before: Inventec Corporation |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131002 Termination date: 20191117 |
|
CF01 | Termination of patent right due to non-payment of annual fee |