减少冗余数据的方法及装置的制造方法

文档序号:9708384阅读:559来源:国知局
减少冗余数据的方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体涉及一种减少冗余数据的方法及装置。
【背景技术】
[0002]通常情况下,大多数用户仅了解如何在硬盘等存储装置中继续保留文件,却不知如何更好地对存储装置进行维护,以有效地监控其硬盘的容量。某些情况下,具有存储装置的系统会借助一些软件应用程序执行文件的查找、获取及其编辑或者文件删除等维护管理操作,传统的硬盘文件保存是根据目录逐个保存文件,这种方式存在一些弊端:首先,若某个硬盘有大量重复文件时,这种保存方式往往占用较大的存储空间;其次,当备份硬盘中的文件时,若硬盘中保存有大量重复文件,系统将花费较多的时间备份这些重复文件,导致备份时间增加;最后,当硬盘中的文件容量较大时,如果用户希望从硬盘中清除这些重复的文件,则不得不逐个检查文件,非常繁琐。

【发明内容】

[0003]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的减少冗余数据的方法,从而提高硬盘运行效率。
[0004]依据本发明的一个方面,提供一种减少冗余数据的方法,包括:对硬盘中各个分区的所有文件进行遍历;判断所述硬盘中是否包含两个及以上相同的文件:在确定两个及以上文件大小相同、文件标识不同的前提下,根据两个及以上文件的校验值确定两个及以上文件是否相同;通过创建硬链接,将两个及以上相同的文件合并为一个文件。
[0005]优选的,在所述判断所述硬盘中是否包括两个及以上相同的文件之前,还包括:从遍历的文件中排除用户级文件;所述判断所述硬盘中是否包括两个及以上相同的文件,包括:从非用户级文件中进行判断是否包括两个及以上相同的文件。
[0006]优选的,所述从遍历的文件中排除用户级文件,判断所述硬盘中是否包括两个及以上相同的文件,包括:预先选定特定类型的文件,仅针对所述特定类型的文件进行判断是否包括两个及以上相同的文件;和/或,根据文件的修改和/或创建日期排除预置时间段内最新产生的文件,在排除最新产生的文件之外进行判断是否包括两个及以上相同的文件。
[0007]优选的,所述特定类型的文件包括exe文件和/或dll文件。
[0008]优选的,所述两个及以上文件的校验值是指两个及以上文件的哈西值,在根据两个及以上文件哈西值确定两个及以上文件是否相同之后,还包括:对于哈西值相同的两个及以上文件,进一步将两个及以上文件的完整数据进行二进制比较;根据完整数据比较结果,最终确定两个及以上文件是否相同。
[0009]优选的,所述通过创建硬链接,将两个及以上相同的文件合并为一个文件,包括:在NTFS文件系统中,通过CreateHardLink指令,将两个及以上相同文件以硬链接方式合并为一个文件。
[0010]—种减少冗余数据的装置,包括:遍历单元,用于对硬盘中各个分区的所有文件进行遍历;判断单元,用于判断所述硬盘中是否包含两个及以上相同的文件:在确定两个及以上文件大小相同、文件标识不同的前提下,根据两个及以上文件的校验值确定两个及以上文件是否相同;硬链接合并单元,用于通过创建硬链接,将两个及以上相同的文件合并为一个文件。
[0011]优选的,所述装置还包括:用户级文件排除单元,用于从遍历的文件中排除用户级文件;所述判断单元具体用于,从非用户级文件中进行判断是否包括两个及以上相同的文件。
[0012]优选的,所述用户级文件排除单元具体用于,预先选定特定类型的文件,排除非特定类型的文件,和/或,根据文件的修改和/或创建日期排除预置时间段内最新产生的文件。
[0013]优选的,所述特定类型的文件包括exe文件和/或dll文件。
[0014]优选的,所述判断单元具体用于,根据两个及以上文件的哈西值确定两个及以上文件是否相同;所述判断单元还用于,对于哈西值相同的两个及以上文件,进一步将两个及以上文件的完整数据进行二进制比较;根据完整数据比较结果,最终确定两个及以上文件是否相同。
[0015]优选的,所述硬链接合并单元具体用于,在NTFS文件系统中,通过CreateHardLink指令,将两个及以上相同文件以硬链接方式合并为一个文件。
[0016]—种基于减少冗余数据的文件管理方法,包括:对硬盘中各个分区的所有文件进行遍历;判断所述硬盘中是否包含两个及以上相同的文件:在确定两个及以上文件大小相同、文件标识不同的前提下,根据两个及以上文件的校验值确定两个及以上文件是否相同;通过创建硬链接,将两个及以上相同的文件合并为一个文件;维护所述硬链接文件与一个或多个文件名的硬链接对应关系,在针对所述一个或多个文件名对所述硬链接文件进行更新、删除和/或修改时,通过维护所述硬链接对应关系,统一对所述硬链接文件进行所述更新、删除和/或修改的操作。
[0017]优选的,所述硬链接对应关系中包括文件链接数,所述文件链接数对应于所述一个或多个文件名的数量;在针对一个或多个文件名之一进行删除时,将所述文件链接数减一,直到所述文件链接数为零时,才对所述硬链接文件进行删除。
[0018]优选的,在对硬链接文件进行更新时,将待更新文件的硬链接关系修改为更新后文件的硬链接关系。
[0019]优选的在针对一个或多个文件名之一进行文件修改时,统一对所述硬链接文件进行修改。
[0020]可见,上述方案通过硬链接将重复的文件合并为一个文件,可减少硬盘中的冗余数据,节省硬盘空间并提高硬盘运行效率。在本发明的一个优选实施例中,通过排除用户级文件,可提高文件判断的速度,并且跳过这些用户级的特定文件,可以避免产生兼容性问题。在本发明的另一个优选实施例中,通过完整数据比较确定文件是否相同,更为准确,降低误判的几率。
[0021]另外,本发明可至少带来以下几个方面的优点:(1)节省硬盘空间。同样的文件,只需要维护硬链接关系,不需要进行多重的拷贝,这样可以节省硬盘空间。(2)重命名文件。重命名文件并不需要打开该文件,只需改动某个目录项的内容即可。(3)删除文件。删除文件只需将相应的目录项删除,该文件的链接数减1,如果删除目录项后该文件的链接数为零,这时系统才把真正的文件从磁盘上删除。(4)文件更新。如果涉及文件更新,例如在Windows系统下,只需要先在WinSxS目录里面下载好一个新版本,然后修改Windows\System32下面同名文件的硬链接关系,从旧版本的硬链接指向新版本的硬链接,这样就能够快速的完成文件的更新工作,而不需要进行文件的复制,速度会明显提高。(5)卸载补丁。遇到需要补丁卸载的情况,只需要把硬链接指向改为旧版本即可,没有文件替换的问题。而且建立了硬链接关系的文件之间的修改是同步的,因此只要有一方被修改了,另一方也会得到修改。
[0022]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0023]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0024]图1示出了根据本发明一个实施例的减少冗余数据的方法流程图;
[0025]图2示出了根据本发明另一个实施例的减少冗余数据的方法流程图;
[0026]图3a_3b示出了根据本发明一个实施例的减少冗余数据的方法中文件硬链接示意图;
[0027]图4示出了根据本发明一个实施例的减少冗余数据的装置结构示意图。
【具体实施方式】
[0028]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0029]硬盘中往往存在这这样的情况,二个文件内容完全一致,但是却分散在不同的位置。比如360网盘跟360卫士其实很多文件都是共同的,这就导致硬盘存放了大量重复文件,降低了硬盘的可用率,造成了极大的浪费。
[°03°] 本领域技术人员了解,NTFS(New Technology File System,新技术文件系统),是WindowsNT环境的文件系统。新技术文件系统是Windows NT家族(如,Windows 2000、Windows XP、Windows Vista、Windows 7和windows 8.1)等的限制级专用的文件系统(操作系统所在的盘符的文件系统必须格式化为NTFS的文件系统,4096簇环境下KNTFS取代了老式的FAT文件系统。NTFS对FAT和HPFS作了若干改进,例如,支持元数据,并且使用了高级数据结构,以便于改善性能、可靠性和磁盘空间利用率,并提供了若干附加扩展功
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1