[发明专利]一种低冗余数据存储方法有效
申请号: | 200910077881.6 | 申请日: | 2009-01-24 |
公开(公告)号: | CN101551817A | 公开(公告)日: | 2009-10-07 |
发明(设计)人: | 杨木祥;邢建兵;李瑞林;姚俊武 | 申请(专利权)人: | 普天信息技术研究院有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 王一斌;王 琦 |
地址: | 100080*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 冗余 数据 存储 方法 | ||
技术领域
本发明涉及存储备份技术领域,特别涉及一种应用于单实例存储系统(SIS)中的低冗余数据存储方法。
背景技术
传统的数据存储系统中,内容相同的文件或数据块可能会存在多个实例,在某些特定的应用场景中,这个问题会显得尤为突出。例如,在提供远程启动服务的服务器上,为每个客户机保存着启动所需的系统文件,这些文件中,绝大部分都是完全相同的,存储空间没有得到有效的利用。在网络中尤其是互联网络文件共享系统中也存在类似的情况,用户根据自己的喜好或需求将一个文件上传到服务器上与其他人分享,这些文件中有很多是完全相同的,例如一些热门视频、流行的软件安装包等。
还有一些应用场景中,文件经常会有较小的改动。例如,在文档版本管理系统中,一个文件会经常性地被修改,而且可能会基于某一个版本产生不同的版本分支,各个版本不完全相同,但只是很少一部分是不同的。若对所有的版本都作完全备份,也会存在较严重的存储空间浪费的情况。再如,在远程协同办公领域,当需要对同一份文档进行修改时,传统的做法是:每人复制一份原始文件,然后各自同时修改,产生同一文档的不同版本。通常,这些不同版本文档的数据内容大部分都是相同的,因而存在存储空间浪费的问题。
现有的一种解决办法是利用单实例存储系统(SIS),该系统在存储具有重复内容的文件时,为维持普通文件的单实例性,只提供逻辑上分离的链接该单个文件数据实例的链接文件。当需要对链接文件进行修改时,可以采取“copy-on-write”的策略,即当有写操作时,就将链接文件转化成普通文件,并从原始文件中复制数据内容到新的文件中,然后在新的文件中执行正常的操作,即使每次只改动很少一部分文件内容,也要多存储一个文件实例。所以这种方法去除冗余数据的效率较低。另外一种方法是采用微软公司在其美国专利号为6477544的专利中提出的“copy-on-close”的方式,即仅当所有的写操作完成,文件被关闭的时候才执行上述的从原始文件中复制数据内容到新的文件中的操作。即使每次打开与关闭文件期间完成很少的写操作,也要多存储一个文件实例,所以这种方法的冗余数据去除率仍不会得到明显的改善。
发明内容
有鉴于此,本发明的主要目的在于提供一种应用于单实例存储系统(SIS)中的低冗余数据存储方法,能够在进行文件写操作时更有效地去除数据冗余。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种低冗余数据存储方法,适用于以本地数据块和链接数据块来存储数据文件的数据存储系统,其中,本地数据块为数据内容,链接数据块用于链接其他数据文件中的本地数据块;
在对数据文件进行写操作并关闭该数据文件前,所述方法包括:
当修改所述数据文件中被其他数据文件所链接的本地数据块时,将所述本地数据块逐个复制到链接该将要被修改的本地数据块的所有链接文件中并修改相应数据文件间的链接;
当修改所述数据文件中链接数据块所链接的另一数据文件中的本地数据块时,将所述另一数据文件中的本地数据块复制到所述数据文件中并修改相应数据文件间的链接。
所述修改相应数据文件间的链接之后,所述方法进一步包括:如果修改后的相应数据文件间的链接不能满足空间利用率或执行效率的要求,则删除该修改后的相应数据文件间的链接。
所述数据文件的文件头至少包括:文件标识、文件类型、链入计数、链入文件表、链出计数和链出文件表;其中,
文件标识为所述数据文件的唯一标识;
文件类型用于指出所述数据文件的类型,包括普通文件和链接文件,其中,普通文件中的所有数据块均为本地数据块,链接文件中包括至少一个或多个链接数据块;
链入计数用于指出所述数据文件被多少个其他数据文件所链接;
链入文件表包括了链接所述数据文件的所有其他数据文件的文件标识、链接计数和文件路径,其中文件标识为链入文件表中每个数据文件的唯一标识,链接计数为链入文件表中每个数据文件链接所述数据文件的次数,文件路径为链入文件表中存储每个数据文件的目录结构;
链出计数用于指出所述数据文件链接了多少个其他数据文件;
链出文件表包括了被所述数据文件链接的所有其他数据文件的文件标识、链接计数和文件路径,其中文件标识为链出文件表中每个数据文件的唯一标识,链接计数为所述数据文件链接链出文件表中每个数据文件的次数,文件路径为链出文件表中存储每个数据文件的目录结构。
所述数据文件的数据块头包括:数据类型、数据长度和数据内容;其中,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于普天信息技术研究院有限公司,未经普天信息技术研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910077881.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种利用探针测量气液反应器内气泡尺寸的方法
- 下一篇:直流电机转速测量系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置