一种在计算机存储介质上存储文件的方法及系统技术方案

技术编号:14759303 阅读:252 留言:0更新日期:2017-03-03 07:14
本发明专利技术提供一种在计算机存储介质上大量文件的存储方法及系统,包括使用存储介质名称、文件HASH和文件大小的进行联合编码的文件命名方式;使用基于单个文件HASH和该文件的文件名的HASH进行编码而命名的多层目录结构进行存储该文件的存储方式;使用根据存储空间的可用空间大小动态设定存储文件时分配给每个存储介质进行存储该文件的几率权重的方法。

【技术实现步骤摘要】

本专利技术涉及一种文件存储方式,具体涉及一种在计算机存储介质上存储大量文件的方法。
技术介绍
在现有的技术中,人们在计算机上存储文件的时候,常常将所有文件放置到其文件系统的一个或多个随意命名的文件夹中,这样文件夹命名混乱,不易管理的问题,且随着文件夹的数目增多,文件的存取效率会降低,于是出现了一些按照文件类型或文件名称进行归类存储的方法,限定了文件夹数量,但是仍然会出现某些文件夹下文件较为集中的问题。当文件的数量达到一定规模后,会出现大量内容重复的文件占用存储空间的问题,于是出现一种基于文件HASH的文件存储方式,但在随着文件数量的增加而出现相同HASH值而文件不同的现象出现的概率会不断增加。当文件存储扩展到多个存储介质后,会出现多个存储介质空间大小不一,文件存储的时候也会出现文件在某一个或几个存储介质集中的问题。因此,现有的文件存储方法,存在以下问题:1、文件夹命名混乱,文件夹数目过多,文件在某个或某几个文件夹下集中。2、单一使用文件HASH时,文件的HASH值会随着文件数目的增多而有更大的几率出现碰撞。3、多个存储介质时,会出现文件相对集中到某个或某几个介质,并且介质本身的可用空间大小不一,会导致较小可用空间介质因存储已满而变为不再可用,进一步导致后续文件向较大空间聚集的问题;在读写后续文件的时候就会出现读写操作集中在某个或某几个存储介质的情况出现,受限于单个存储介质的性能,就会导致整个存储系统的读取性能的下降。
技术实现思路
本专利技术的目的在于克服现有文件存储技术的缺陷,提供一种更为高效的文件存储方式。为实现上述目的,本专利技术第一方面提供一种在计算机存储介质上存储文件的方法,包括使用存储介质名称、文件HASH和文件大小的进行联合编码的文件命名方式;使用基于单个文件HASH和该文件的文件名的HASH进行编码而命名的多层目录结构进行存储该文件的存储方式;使用根据存储空间的可用空间大小动态设定存储文件时分配给每个存储介质进行存储该文件的几率权重的方法。进一步地,对存储介质按照一定顺序进行编号,计算待存储文件的HASH值,获取待存储文件的大小,将存储介质编号,文件HASH和文件大小按照一定的可逆的算法进行编码,生成文件名称,同时也作为该文件的唯一编号。进一步地,使用一种持久化存储方式,存储文件在使用中的信息与文件的唯一名称之间的映射关系,其中文件在使用中的信息包括但不限于文件实际名称,文件HASH值,文件大小,文件的存储时间等信息。进一步地,分别在文件内容的HASH字符串和文件名称的HASH字符串的指定位置上取两位作为文件夹名称,建立双层目录结构,将文件存储到该目录结构的最底层文件夹下。进一步地,文件存储前对编号的存储介质的可用空间进行计算,然后将该编号存储介质的可用空间大小在总的可用空间大小中所占的百分比作为存储文件时分配到该编号存储介质上的概率。进一步地,文件在存储前,使用文件的HASH值与文件大小在在持久化存储中进行检索,如果找到相同的值,说明重复文件已经存在,只需在持久化存储中建立新文件信息与该文件的唯一编号的映射关系。进一步地,在读取文件时,提供文件的唯一标识,根据文件标识与文件位置的一对一的映射关系,直接对文件进行读取。另一方面,本专利技术还提供一种在计算机存储介质上存储文件的系统,包括:文件命名装置,用于使用存储介质名称、文件HASH和文件大小的进行联合编码的文件命名方式对待存储的文件进行命名;文件存储装置,使用基于单个文件HASH和该文件的文件名的HASH进行编码而命名的多层目录结构进行存储该文件的存储。其中,所述文件存储装置还包括权重设定装置,用于在存储时,根据存储空间的可用空间大小动态设定存储文件时分配给每个存储介质进行存储该文件的几率权重。进一步地,所述文件命名装置对存储介质按照一定顺序进行编号,计算待存储文件的HASH值,获取待存储文件的大小,将存储介质编号,文件HASH和文件大小按照一定的可逆的算法进行编码,生成文件名称,同时也作为该文件的唯一编号。进一步地,还包括持久化存储装置,用于使用持久化存储方式存储文件在使用中的信息与文件的唯一名称之间的映射关系,其中文件在使用中的信息包括文件实际名称,文件HASH值,文件大小,文件的存储时间等信息。进一步地,所述文件存储装置分别在文件内容的HASH字符串和文件名称的HASH字符串的指定位置上取两位作为文件夹名称,建立双层目录结构,将文件存储到该目录结构的最底层文件夹下。进一步地,所述文件存储装置文件存储前对编号的存储介质的可用空间进行计算,然后将该编号存储介质的可用空间大小在总的可用空间大小中所占的百分比作为存储文件时分配到该编号存储介质上的概率。进一步地,还包括检索装置,用于文件在存储前,使用文件的HASH值与文件大小在在持久化存储中进行检索,如果找到相同的值,说明重复文件已经存在,只需在持久化存储中建立新文件信息与该文件的唯一编号的映射关系。进一步地,还包括文件读取装置,用于在读取文件时,提供文件的唯一标识,根据文件标识与文件位置的一对一的映射关系,直接对文件进行读取。本专利技术的有益效果是:减少了不同文件生成相同唯一编号的概率,增加了不同文件识别的准确率,应用持久化存储系统自身的功能进行检索比直接遍历文件系统更为高效,充分利用了多个存储的功能。附图说明图1为本专利技术提供的一种文件唯一编号的组成示意图。图2为本专利技术提供的一种文件在存储介质中的存储目录结构示意图。具体实施方式为了更充分理解本
技术实现思路
,下面结合具体实施例对本技术方案进一步介绍和说明,但不局限于此。本专利技术实施例提供一种在计算机存储介质上大量文件的高效的存储方法和系统,用以解决现有技术中存储大量文件时存在的问题。下面通过具体实施例,分别进行详细的说明。本专利技术实施例一提供一种在计算机存储介质上大量文件的高效的存储方法,包括,文件命名步骤,使用存储介质名称、文件HASH和文件大小的进行联合编码的文件命名方式对待存储文件命名;文件存储步骤,使用基于单个文件HASH和该文件的文件名的HASH进行编码而命名的多层目录结构进行存储该文件的存储,其中,存储时,根据存储空间的可用空间大小动态设定存储文件时分配给每个存储介质进行存储该文件的几率权重。具体地,上述文件命名步骤中,对存储介质按找每位为十六进制字符,共两位,按照从00到FF的顺序进行编号,从而生成介质编号。介质编号的位数可以增加或减少,就能处理更多或更少的存储介质。文件唯一编号的一种组成方式如图1所示。在图1中,文件编号由三部分组成,分别是介质编号、SHA1和文件大小。其中介质编号占用2个字符,SHA1占用40个字符,文件大小占用8个字符,因此文件唯一编号总长度为它们长度之和,最后为50个字符。SHA1为HASH算法的一种。通过对文件进行SHA1算法处理,最后获得40个字符的SHA1字符串(当然也可以采用其他HASH算法,但最后的字符串长度会各不相同)。获取文件的实际大小,文件大小以8位16进制的形式表示,以字节为单位。上述文件存储步骤中,文件存储的一种目录结构为如图2所示的结构。如图2所示,在存储介质中选定取任意一个文件夹作为根目录root,然后在该根目录root下建立首层目录AB和底层目录CD的两层目录结构。其中这两层目录的名称是本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201610609625.html" title="一种在计算机存储介质上存储文件的方法及系统原文来自X技术">在计算机存储介质上存储文件的方法及系统</a>

【技术保护点】
一种在计算机存储介质上存储文件的方法,其特征在于,包括以下步骤:文件命名步骤,使用存储介质名称、文件HASH和文件大小进行联合编码的文件命名方式对待存储文件进行命名;文件存储步骤,使用基于单个文件HASH和该文件的文件名的HASH进行编码而命名的多层目录结构进行存储该文件的存储,其中,根据存储空间的可用空间大小动态设定存储文件时分配给每个存储介质进行存储该文件的几率权重;所述文件存储步骤具体为:分别在文件内容的HASH字符串和文件名称的HASH字符串的指定位置上取两位作为文件夹名称,建立双层目录结构,将文件存储到该目录结构的最底层文件夹下;文件存储前对编号的存储介质的可用空间进行计算,然后将该编号存储介质的可用空间大小在总的可用空间大小中所占的百分比作为存储文件时分配到该编号存储介质上的概率;文件在存储前,使用文件的HASH值与文件大小在在持久化存储中进行检索,如果找到相同的值,说明重复文件已经存在,只需在持久化存储中建立新文件信息与该文件的唯一编号的映射关系。

【技术特征摘要】
1.一种在计算机存储介质上存储文件的方法,其特征在于,包括以下步骤:文件命名步骤,使用存储介质名称、文件HASH和文件大小进行联合编码的文件命名方式对待存储文件进行命名;文件存储步骤,使用基于单个文件HASH和该文件的文件名的HASH进行编码而命名的多层目录结构进行存储该文件的存储,其中,根据存储空间的可用空间大小动态设定存储文件时分配给每个存储介质进行存储该文件的几率权重;所述文件存储步骤具体为:分别在文件内容的HASH字符串和文件名称的HASH字符串的指定位置上取两位作为文件夹名称,建立双层目录结构,将文件存储到该目录结构的最底层文件夹下;文件存储前对编号的存储介质的可用空间进行计算,然后将该编号存储介质的可用空间大小在总的可用空间大小中所占的百分比作为存储文件时分配到该编号存储介质上的概率;文件在存储前,使用文件的HASH值与文件大小在在持久化存储中进行检索,如果找到相同的值,说明重复文件已经存在,只需在持久化存储中建立新文件信息与该文件的唯一编号的映射关系。2.根据权利要求1所述的一种在计算机存储介质上存储文件的方法,其特征在于:所述文件命名步骤具体为:对存储介质按照一定顺序进行编号,计算待存储文件的HASH值,获取待存储文件的大小,将存储介质编号,文件HASH和文件大小按照一定的可逆的算法进行编码,生成文件名称,同时也作为该文件的唯一编号。3.根据权利要求1所述的一种在计算机存储介质上存储文件的方法,其特征在于:还包括文件读取步骤,在读取文件时,提供文件的唯一标识,根据文件标识与文件位置的一对一的映射关系,直接对文件进行读取。4.一种在计算机存储介质上存储文件的系统,其特征在于,包括:文件命名装置,用于使用存储介质名称、文件HASH和文件大小的进行联合编码的文件命名方式对待存储的文件进行命名;文件存储装置,使用基于单个文件HASH和该文件的文件名的HASH进行编码而命名的多层目录结构进行存储该文件的存储;其中...

【专利技术属性】
技术研发人员:郎志新杜军韩烁
申请(专利权)人:北京北信源软件股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1