一种镜像文件的存储方法及装置与流程

文档序号:12034461阅读:204来源:国知局
一种镜像文件的存储方法及装置与流程

本发明涉及文件存储领域,尤其涉及一种镜像文件的存储方法及装置。



背景技术:

在云计算时代,云平台操作系统的安装大多都是基于镜像文件进行的,因此云平台在获取了镜像文件后,首先要对镜像文件进行存储。

相关技术中,云平台在获取了镜像文件后,将整个镜像文件都进行保存,而云平台需要支持的的镜像文件种类往往很多,因此这种做法会占用云平台大量的存储空间。



技术实现要素:

为了解决上述技术问题,本发明提供一种镜像文件的存储方法及装置,能够极大地减少存储空间地占用。

为了达到本发明目的,本发明提供了一种镜像文件的存储方法,包括:

解析待存储镜像文件,并获取所述待存储镜像文件中包含的n个子文件;其中,n为正整数;

根据子文件校验码查询表在所述获取的n个子文件中确定待存储的子文件;其中,所述子文件校验码查询表存储有子文件存储空间中的所有子文件的校验码,所述子文件存储空间存储有历史镜像文件所包含的子文件;

将所述待存储的子文件存储于所述子文件存储空间中。

所述根据子文件校验码查询表在n个子文件中确定待存储的子文件,包括:

判断所述n个子文件中的第i个子文件的校验码是否存在于所述子文件校验码查询表中;其中,i=1、2….n;

若所述第i个子文件的校验码不存在于所述子文件校验码查询表中,确定所述第i个子文件为所述待存储的子文件。

所述子文件校验码查询表中的子文件的校验码是采用预设校验算法校验所述子文件存储空间中的子文件生成的;

所述判断n个子文件中的第i个子文件的校验码是否存在于子文件校验码查询表中之前,还包括:

将获取的所述n个子文件临时存储于预设临时存储空间中;

采用所述预设校验算法分别校验所述n个子文件,得到所述n个子文件的校验码。

所述将待存储的子文件存储于所述子文件存储空间中之后,还包括:

根据所述n个子文件的文件名建立所述待存储镜像文件的文件目录;

将所述待存储镜像文件的文件目录存储于文件目录库中;其中,所述文件目录库存储有历史镜像文件的文件目录;

将所述预设临时存储空间中临时存储的所述n个子文件进行删除。

所述预设校验算法为消息摘要第五版md5算法。

本发明还提供了一种镜像文件的存储装置,包括:

获取模块,用于解析待存储镜像文件,并获取所述待存储镜像文件中包含的n个子文件;其中,n为正整数;

处理模块,用于根据子文件校验码查询表在所述获取的n个子文件中确定待存储的子文件;其中,所述子文件校验码查询表存储有子文件存储空间中的所有子文件的校验码,所述子文件存储空间存储有历史镜像文件所包含的子文件;

第一存储模块,用于将所述待存储的子文件存储于所述子文件存储空间中。

所述处理模块包括:

判断单元,用于判断所述n个子文件中的第i个子文件的校验码是否存在于所述子文件校验码查询表中;其中,i=1、2….n;

处理单元,用于若所述第i个子文件的校验码不存在于所述子文件校验码查询表中,确定所述第i个子文件为所述待存储的子文件。

所述子文件校验码查询表中的子文件的校验码是采用预设校验算法校验所述子文件存储空间中的子文件生成的;

所述存储装置还包括:

第二存储模块,用于将获取的所述n个子文件临时存储于预设临时存储空间中;

校验模块,用于采用所述预设校验算法分别校验所述n个子文件,得到n个子文件的校验码。

所述存储装置还包括:

建立模块,用于根据所述n个子文件的文件名建立所述待存储镜像文件的文件目录;

第三存储模块,用于将所述待存储镜像文件的文件目录存储于文件目录库中;其中,所述文件目录库存储有历史镜像文件的文件目录;

删除模块,用于将所述预设临时存储空间中临时存储的所述n个子文件进行删除。

所述预设校验算法为消息摘要第五版md5算法。

与现有技术相比,本发明至少包括解析待存储镜像文件,并获取待存储镜像文件中包含的n个子文件;其中,n为正整数;根据子文件校验码查询表在n个子文件中确定待存储的子文件;其中,子文件校验码查询表存储有子文件存储空间中的所有子文件的校验码,子文件存储空间存储有历史镜像文件所包含的子文件;将待存储的子文件存储于子文件存储空间中。从本发明提供的技术方案可见,当需要存储镜像文件时,根据子文件校验码查询表就能将待存储镜像文件包含的n个子文件中一部分确定为需要存储的子文件,另一部分确定为不需要存储的文件,进而只对需要存储的子文件进行存储,从而在存储空间一定的情况下,增大了可用的存储空间。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的一种镜像文件的存储方法的流程示意图;

图2为本发明实施例提供的另一种镜像文件的存储方法的流程示意图;

图3为本发明实施例提供的一种镜像文件的存储装置的结构示意图;

图4为本发明实施例提供的另一种镜像文件的存储装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

本发明实施例提供一种镜像文件的存储方法,如图1所示,该方法包括:

步骤101、解析待存储镜像文件,并获取待存储镜像文件中包含的n个子文件。

其中,n为正整数。

需要说明的是,镜像文件可以是iso格式的镜像文件,解析iso镜像文件可以由9660系统来完成。

还需要说明的是,子文件是镜像文件中文件的最小单位,子文件中不再包含任何文件。

步骤102、根据子文件校验码查询表在获取的n个子文件中确定待存储的子文件。

其中,子文件校验码查询表存储有子文件存储空间中的所有子文件的校验码,子文件存储空间存储有历史镜像文件所包含的子文件。

具体的,待存储的子文件可以是n个子文件中的一个,也可以是n个子文件中的多个,但由于待存储的子文件是在n个子文件中确定的,待存储的子文件的个数不会超过n。

步骤103、将待存储的子文件存储于子文件存储空间中。

本发明实施例所提供的镜像文件的存储方法,解析待存储镜像文件,并获取待存储镜像文件中包含的n个子文件;根据子文件校验码查询表在n个子文件中确定待存储的子文件。从本发明提供的技术方案可见,当需要存储镜像文件时,根据子文件校验码查询表就能将待存储镜像文件包含的n个子文件中一部分确定为需要存储的子文件,另一部分确定为不需要存储的文件,进而只对需要存储的子文件进行存储,从而在存储空间一定的情况下,增大了可用的存储空间。

本发明实施例提供另一种镜像文件的存储方法,如图2所示,该方法包括:

步骤201、解析待存储镜像文件,并获取待存储镜像文件中包含的n个子文件。

其中,n为正整数。

步骤202、将获取的n个子文件临时存储于预设临时存储空间中。

需要说明的是,预设临时存储空间用于临时存储通过解析ios镜像文件所获取的n个子文件。

步骤203、采用预设校验算法分别校验n个子文件,得到n个子文件的校验码。

具体的,预设校验算法可以是消息摘要第五版(messagedigestalgorithm,md5),使用md5算法校验文件,有效保证文件校验的准确性,

步骤204、判断n个子文件中的第i个子文件的校验码是否存在于子文件校验码查询表中。

其中,i=1、2….n。子文件校验码查询表存储有子文件存储空间中的所有子文件的校验码,子文件存储空间存储有历史镜像文件所包含的子文件。

具体的,由于i=1、2….n,因此对于n个文件中得每个子文件都要进行子文件的校验码是否存在于子文件校验码查询表中的判断。

步骤205、若第i个子文件的校验码不存在于子文件校验码查询表中,确定第i个子文件为待存储的子文件。

需要说明的是,待存储镜像文件中的n个子文件并不存在顺序之分,第i个子文件的表述方式只是为了区分n个子文件中的每个子文件。

具体的,待存储的子文件的个数可能是一个,也可能是多个,具体是根据n个子文件中有多少个子文件的校验码不存在子文件校验码查询表中而确定的,也就是说,n个子文件中有多少个子文件的校验码不存在于子文件校验码查询表中,这些子文件的校验码不存在于子文件校验码查询表中的子文件就是待存储的子文件。

步骤206、将待存储的子文件存储于子文件存储空间中。

步骤207、根据n个子文件的文件名建立待存储镜像文件的文件目录。

具体的,待存储镜像文件的文件目录中包含着组成待存储镜像文件的所有子文件的文件名,假设待存储镜像文件为镜像文件a,镜像文件a包含三个子文件,分别是子文件a、子文件b和子文件c,那么镜像文件a的文件目录中包含的文件名有子文件a、子文件b和子文件c,镜像文件a的文件目录的建立可以如下表1所示,

表1

步骤208、将待存储镜像文件的文件目录存储于文件目录库中。

其中,文件目录库存储有历史镜像文件的文件目录。

具体的,由于文件目录库中存储有所有历史镜像文件的文件目录,因此,在需要查询或获取历史镜像文件的时候,就能通过文件目录库获知组成待查询的镜像文件的所有子文件。

具体的,假设文件目录库中有镜像文件a和镜像文件b,镜像文件a包含三个子文件,分别是子文件a、子文件b和子文件c,那么镜像文件a的文件目录中包含的文件名有子文件a、子文件b和子文件c,镜像文件b包含四个子文件,分别是子文件a、子文件c、子文件d和子文件e,那么镜像文件a的文件目录中包含的文件名有子文件a、子文件c、子文件d和子文件e,因此文件目录库的建立可以如下表2所示,

表2

而通过本发明提供的存储方法可知,对于镜像文件a中包含的子文件和镜像文件b包含的子文件的重复子文件,即子文件a和子文件c,子文件存储空间只进行了一次存储,即子文件存储空间中存储了子文件a、子文件b、子文件c、子文件d和子文件e,这样节省了存储空间,并且在查询、获取镜像文件a或镜像文件b时,根据表2就能成功完成镜像文件a或镜像文件b的查询、获取。

可选的,还根据文件目录库采用软连接的方式创建一个代理的镜像系统,这样对进行镜像文件的查询、获取时更加方便。

步骤209、将预设临时存储空间中的临时存储的n个子文件进行删除。

本发明实施例所提供的镜像文件的存储方法,解析待存储镜像文件,并获取待存储镜像文件中包含的n个子文件;根据子文件校验码查询表在n个子文件中确定待存储的子文件。从本发明提供的技术方案可见,当需要存储镜像文件时,根据子文件校验码查询表就能将待存储镜像文件包含的n个子文件中一部分确定为需要存储的子文件,另一部分确定为不需要存储的文件,进而只对需要存储的子文件进行存储,从而在存储空间一定的情况下,增大了可用的存储空间。

本发明实施例提供一种镜像文件的存储装置,如图3所示,该装置3包括:

获取模块31,用于解析待存储镜像文件,并获取待存储镜像文件中包含的n个子文件。

其中,n为正整数。

处理模块32,用于根据子文件校验码查询表在获取的n个子文件中确定待存储的子文件。

其中,子文件校验码查询表存储有子文件存储空间中的所有子文件的校验码,子文件存储空间存储有历史镜像文件所包含的子文件。

第一存储模块33,用于将待存储的子文件存储于子文件存储空间中。

在图3对应的实施例的基础上,本发明实施例提供了另一种镜像文件的存储装置,如图4所示,处理模块32包括:

判断单元321,用于判断n个子文件中的第i个子文件的校验码是否存在于子文件校验码查询表中。

其中,i=1、2….n。子文件校验码查询表中的子文件的校验码是采用预设校验算法校验子文件存储空间中的子文件生成的。

处理单元322,用于若第i个子文件的校验码不存在于子文件校验码查询表中,确定第i个子文件为待存储的子文件。

镜像文件的存储装置3还包括:

第二存储模块34,用于将获取的n个子文件临时存储于预设临时存储空间中。

校验模块35,用于采用预设校验算法分别校验n个子文件,得到n个子文件的校验码。

具体的,预设校验算法可以是md5算法。

建立模块36,用于根据n个子文件的文件名建立待存储镜像文件的文件目录。

第三存储模块37,用于将待存储镜像文件的文件目录存储于文件目录库中。

其中,文件目录库存储有历史镜像文件的文件目录。

删除模块38,用于将预设临时存储空间中临时存储的n个子文件进行删除。

本发明实施例所提供的镜像文件的存储装置,解析待存储镜像文件,并获取待存储镜像文件中包含的n个子文件;根据子文件校验码查询表在n个子文件中确定待存储的子文件。从本发明提供的技术方案可见,当需要存储镜像文件时,根据子文件校验码查询表就能将待存储镜像文件包含的n个子文件中一部分确定为需要存储的子文件,另一部分确定为不需要存储的文件,进而只对需要存储的子文件进行存储,从而在存储空间一定的情况下,增大了可用的存储空间。

在实际应用中,所述获取模块31、处理模块32、判断单元321、处理单元322、第一存储模块33、第二存储模块34、校验模块35、建立模块36、第三存储模块37和删除模块38均可由位于镜像文件的存储装置中的中央处理器(centralprocessingunit,cpu)、微处理器(microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)或现场可编程门阵列(fieldprogrammablegatearray,fpga)等实现。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1