CN107291572A - 一种镜像文件的存储方法及装置 - Google Patents
一种镜像文件的存储方法及装置 Download PDFInfo
- Publication number
- CN107291572A CN107291572A CN201710464240.0A CN201710464240A CN107291572A CN 107291572 A CN107291572 A CN 107291572A CN 201710464240 A CN201710464240 A CN 201710464240A CN 107291572 A CN107291572 A CN 107291572A
- Authority
- CN
- China
- Prior art keywords
- subfile
- stored
- check code
- image file
- file
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/085—Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种镜像文件的存储方法及装置,包括解析待存储镜像文件,并获取待存储镜像文件中包含的N个子文件;根据子文件校验码查询表在获取的N个子文件中确定待存储的子文件;将待存储的子文件存储于子文件存储空间中。从本发明提供的技术方案可见,当需要存储镜像文件时,根据子文件校验码查询表就能将待存储镜像文件包含的N个子文件中一部分确定为需要存储的子文件,另一部分确定为不需要存储的文件,进而只对需要存储的子文件进行存储,从而在存储空间一定的情况下,增大了可用的存储空间。
Description
技术领域
本发明涉及文件存储领域,尤其涉及一种镜像文件的存储方法及装置。
背景技术
在云计算时代,云平台操作系统的安装大多都是基于镜像文件进行的,因此云平台在获取了镜像文件后,首先要对镜像文件进行存储。
相关技术中,云平台在获取了镜像文件后,将整个镜像文件都进行保存,而云平台需要支持的的镜像文件种类往往很多,因此这种做法会占用云平台大量的存储空间。
发明内容
为了解决上述技术问题,本发明提供一种镜像文件的存储方法及装置,能够极大地减少存储空间地占用。
为了达到本发明目的,本发明提供了一种镜像文件的存储方法,包括:
解析待存储镜像文件,并获取所述待存储镜像文件中包含的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个子文件的校验码。
具体的,预设校验算法可以是消息摘要第五版(Message Digest Algorithm,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均可由位于镜像文件的存储装置中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (10)
1.一种镜像文件的存储方法,其特征在于,包括:
解析待存储镜像文件,并获取所述待存储镜像文件中包含的N个子文件;其中,N为正整数;
根据子文件校验码查询表在所述获取的N个子文件中确定待存储的子文件;其中,所述子文件校验码查询表存储有子文件存储空间中的所有子文件的校验码,所述子文件存储空间存储有历史镜像文件所包含的子文件;
将所述待存储的子文件存储于所述子文件存储空间中。
2.根据权利要求1所述的存储方法,其特征在于,所述根据子文件校验码查询表在N个子文件中确定待存储的子文件,包括:
判断所述N个子文件中的第i个子文件的校验码是否存在于所述子文件校验码查询表中;其中,i=1、2….N;
若所述第i个子文件的校验码不存在于所述子文件校验码查询表中,确定所述第i个子文件为所述待存储的子文件。
3.根据权利要求2所述的存储方法,其特征在于,所述子文件校验码查询表中的子文件的校验码是采用预设校验算法校验所述子文件存储空间中的子文件生成的;
所述判断N个子文件中的第i个子文件的校验码是否存在于子文件校验码查询表中之前,还包括:
将获取的所述N个子文件临时存储于预设临时存储空间中;
采用所述预设校验算法分别校验所述N个子文件,得到所述N个子文件的校验码。
4.根据权利要求3所述的存储方法,其特征在于,所述将待存储的子文件存储于所述子文件存储空间中之后,还包括:
根据所述N个子文件的文件名建立所述待存储镜像文件的文件目录;
将所述待存储镜像文件的文件目录存储于文件目录库中;其中,所述文件目录库存储有历史镜像文件的文件目录;
将所述预设临时存储空间中临时存储的所述N个子文件进行删除。
5.根据权利要求3或4所述的存储方法,其特征在于,所述预设校验算法为消息摘要第五版MD5算法。
6.一种镜像文件的存储装置,其特征在于,所述存储装置包括:
获取模块,用于解析待存储镜像文件,并获取所述待存储镜像文件中包含的N个子文件;其中,N为正整数;
处理模块,用于根据子文件校验码查询表在所述获取的N个子文件中确定待存储的子文件;其中,所述子文件校验码查询表存储有子文件存储空间中的所有子文件的校验码,所述子文件存储空间存储有历史镜像文件所包含的子文件;
第一存储模块,用于将所述待存储的子文件存储于所述子文件存储空间中。
7.根据权利要求6所述的存储装置,其特征在于,所述处理模块包括:
判断单元,用于判断所述N个子文件中的第i个子文件的校验码是否存在于所述子文件校验码查询表中;其中,i=1、2….N;
处理单元,用于若所述第i个子文件的校验码不存在于所述子文件校验码查询表中,确定所述第i个子文件为所述待存储的子文件。
8.根据权利要求7所述的存储装置,其特征在于,所述子文件校验码查询表中的子文件的校验码是采用预设校验算法校验所述子文件存储空间中的子文件生成的;
所述存储装置还包括:
第二存储模块,用于将获取的所述N个子文件临时存储于预设临时存储空间中;
校验模块,用于采用所述预设校验算法分别校验所述N个子文件,得到N个子文件的校验码。
9.根据权利要求8所述的存储装置,其特征在于,所述存储装置还包括:
建立模块,用于根据所述N个子文件的文件名建立所述待存储镜像文件的文件目录;
第三存储模块,用于将所述待存储镜像文件的文件目录存储于文件目录库中;其中,所述文件目录库存储有历史镜像文件的文件目录;
删除模块,用于将所述预设临时存储空间中临时存储的所述N个子文件进行删除。
10.根据权利要求8或9所述的存储装置,其特征在于,所述预设校验算法为消息摘要第五版MD5算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710464240.0A CN107291572A (zh) | 2017-06-19 | 2017-06-19 | 一种镜像文件的存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710464240.0A CN107291572A (zh) | 2017-06-19 | 2017-06-19 | 一种镜像文件的存储方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107291572A true CN107291572A (zh) | 2017-10-24 |
Family
ID=60096618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710464240.0A Pending CN107291572A (zh) | 2017-06-19 | 2017-06-19 | 一种镜像文件的存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107291572A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5943483A (ja) * | 1982-09-06 | 1984-03-10 | Hitachi Ltd | 回路パタ−ン検査装置 |
CN101290628A (zh) * | 2008-06-17 | 2008-10-22 | 中兴通讯股份有限公司 | 一种数据文件更新存储方法 |
CN101699822A (zh) * | 2009-08-06 | 2010-04-28 | 腾讯科技(深圳)有限公司 | 一种文件上传方法、装置和海量存储系统 |
-
2017
- 2017-06-19 CN CN201710464240.0A patent/CN107291572A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5943483A (ja) * | 1982-09-06 | 1984-03-10 | Hitachi Ltd | 回路パタ−ン検査装置 |
CN101290628A (zh) * | 2008-06-17 | 2008-10-22 | 中兴通讯股份有限公司 | 一种数据文件更新存储方法 |
CN101699822A (zh) * | 2009-08-06 | 2010-04-28 | 腾讯科技(深圳)有限公司 | 一种文件上传方法、装置和海量存储系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109345388B (zh) | 区块链智能合约验证方法、装置及存储介质 | |
CN108446407B (zh) | 基于区块链的数据库审计方法和装置 | |
CN108037946B (zh) | 一种应用程序热更新的方法、系统及服务器 | |
CN109995866B (zh) | 分布式文件校验方法、装置、计算机装置及存储介质 | |
US9210219B2 (en) | Systems and methods for consistent hashing using multiple hash rings | |
KR20160140316A (ko) | 악성코드를 검출하는 방법 및 시스템 | |
CN107634964B (zh) | 一种针对waf的测试方法及装置 | |
CN107239701B (zh) | 识别恶意网站的方法及装置 | |
CN110855748B (zh) | 基于ftp的遥感影像数据自动规范化处理方法、装置及介质 | |
CN104699511B (zh) | 插件升级方法及装置 | |
CN104461873A (zh) | 一种应用程序的测试方法和装置 | |
CN109492399A (zh) | 风险文件检测方法、装置及计算机设备 | |
CN110765394A (zh) | so文件加载方法、装置、存储介质及终端设备 | |
CN109388614A (zh) | 一种目录文件个数配额的方法、系统及设备 | |
CN103108033A (zh) | 文件上传方法及系统 | |
CN108196975B (zh) | 基于多校验和的数据验证方法、装置及存储介质 | |
CN102945155A (zh) | 一种Linux操作系统软件包及其依赖关系缺失检测方法 | |
US20170141922A1 (en) | Incremental upgrade method and system for file | |
CN113128168A (zh) | 一种焊盘参数校验校正方法、装置、计算机设备及存储介质 | |
CN114139161A (zh) | 一种批量检测漏洞的方法、装置、电子设备及介质 | |
CN109656614A (zh) | 文件的处理方法、装置及系统 | |
CN103095698B (zh) | 客户端软件的修复方法、装置和通信系统 | |
CN107291572A (zh) | 一种镜像文件的存储方法及装置 | |
CN114391136A (zh) | 增强的虚拟机镜像管理系统 | |
CN111966630A (zh) | 文件类型的检测方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171024 |
|
RJ01 | Rejection of invention patent application after publication |