CN102932415A - 一种镜像文件存储方法及装置 - Google Patents
一种镜像文件存储方法及装置 Download PDFInfo
- Publication number
- CN102932415A CN102932415A CN2012103668218A CN201210366821A CN102932415A CN 102932415 A CN102932415 A CN 102932415A CN 2012103668218 A CN2012103668218 A CN 2012103668218A CN 201210366821 A CN201210366821 A CN 201210366821A CN 102932415 A CN102932415 A CN 102932415A
- Authority
- CN
- China
- Prior art keywords
- image file
- file
- current
- memory space
- storage
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种镜像文件存储方法及装置,所述方法包括:获取当前云应用环境对应的有序镜像文件集合;依据所述有序镜像文件集合中每一个镜像文件的文件属性,依次存储所述每一个镜像文件到云存储、共享存储空间或者本地存储空间中。本发明中,根据当前云应用中关联的镜像文件的文件属性依次将所述镜像文件存储到云存储、共享存储空间或者本地存储空间中,存储在共享存储空间或者本地存储空间中的镜像文件可以直接运行而不需要进行复制,从而加快了云应用中镜像文件的启动运行的速度,并且镜像文件占用的是共享存储空间或者本地存储空间本来空闲的资源,所以存储空间的利用率也得到了提高。
Description
技术领域
本发明涉及计算机技术,特别是涉及一种镜像文件存储方法及装置。
背景技术
在虚拟化数据中心环境下,计算、存储和网络资源以虚拟机的形式交付用户使用。在存储设备上,虚拟机以镜像文件的形式存在。在实际使用过程中可通过复制、迁移镜像文件来实现虚拟机的复制和迁移。由于镜像文件较大,且可复用程度较高,通常选择具有高可扩展特征的KEY-VALUE类型云存储资产库集中存储镜像文件。云应用(用于对虚拟机的分组)中虚拟机以层次分组,位于不同层次虚拟机启动顺序不同,但存储在云存储空间的镜像文件不能直接启动运行,如果要运行镜像文件,则需要拷贝镜像文件到共享存储或本地存储空间才能启动运行虚拟机。
现有技术中,采用传统虚拟化数据中心存储拓扑结构来存储镜像文件,即在实际应用中镜像文件存储在云存储空间,如果要启动运行镜像文件,需要将镜像文件由云存储空间复制到运行期存储空间(共享存储空间),然后由共享存储空间所在的服务器执行镜像文件的运行,因为虚拟机镜像文件通常较大,从云存储空间中复制到运行期存储空间所需的时间较长,因为镜像文件的运行需要频繁的将镜像文件由云存储空间到运行期存储空间的复制,这就导致了镜像文件启动运行速度较慢的问题。
发明内容
本发明所要解决的技术问题是实现镜像文件的快速启动运行,提供一种镜像文件存储方法及装置,以解决现有技术中启动运行镜像文件需要复制,而镜像文件较大、需要的复制时间长,导致的镜像文件启动运行速度慢的问题。
为了解决上述技术问题,本发明提供一种镜像文件存储方法及装置,本发明提供如下技术方案:
一种镜像文件存储方法,该方法包括:
获取当前云应用环境对应的有序镜像文件集合;
依据所述有序镜像文件集合中每一个镜像文件的文件属性,依次存储所述每一个镜像文件到云存储、共享存储空间或者本地存储空间中。
优选的,所述获取当前云应用环境对应的有序镜像文件集合,包括:
通过解析云应用模板获取当前云应用环境下所需的所有关联的镜像文件;
根据预设的云应用中镜像文件之间的存储依赖关系排列所述所有关联的镜像文件,得到所述有序镜像文件集合。
优选的,依据所述有序镜像文件集合中每一个镜像文件的文件属性依次存储所述每一个镜像文件到云存储、共享存储空间或者本地存储空间,包括:
依次创建所述有序镜像文件集合中的每一个镜像文件的文件属性;
根据所述每一个镜像文件的文件属性生成与所述有序镜像文件对应的文件属性集合;
依据预设的云应用中镜像文件之间的存储依赖关系,读取所述文件属性集合中的第一个文件属性作为当前文件属性;
根据当前文件属性将所述当前镜像文件存储到云存储、共享存储空间或者本地存储空间;
判断所述文件属性集合中的文件属性是否都已被读取,若否,则依据预设的云应用中镜像文件之间的存储依赖关系,读取当前文件属性的下一个文件属性作为当前文件属性,并执行所述根据当前文件属性将与当前文件属性对应的当前镜像文件存储到云存储、共享存储空间或者本地存储空间的步骤,直至所述文件属性集合中的文件属性都已被读取。
优选的,依据所述有序镜像文件集合中镜像文件的文件属性依次存储所述有序镜像文件集合中的镜像文件到云存储、共享存储空间或者本地存储空间,包括:
依据预设的云应用中镜像文件之间的存储依赖关系,读取所述有序镜像文件集合中的第一个镜像文件作为当前镜像文件,创建当前镜像文件对应的当前文件属性;
根据当前文件属性将当前镜像文件存储到云存储、共享存储空间或者本地存储空间;
判断所述有序镜像文件集合中的镜像文件是否都已被读取,若否,则依据预设的云应用中镜像文件之间的存储依赖关系,读取所述当前镜像文件的下一个镜像文件作为当前镜像文件,执行所述根据当前文件属性将当前镜像文件存储到云存储、共享存储空间或者本地存储空间的步骤,直至所述有序镜像文件集合中的镜像文件都已被读取。
优选的,所述镜像文件的文件属性的创建方式如下:
根据镜像文件的标识判断镜像文件资产目录中是否存在所述镜像文件的记录,若存在,则将镜像文件资产目录中记录的所述镜像文件的存储类型作为所述镜像文件的文件属性;
若不存在,则将新镜像作为当前镜像文件的文件属性。
优选的,根据当前文件属性将当前镜像文件存储到云存储、共享存储空间或者本地存储空间,具体包括:
判断当前镜像文件的文件属性是否是新镜像,若是新镜像,则将当前镜像文件存储到云存储空间中;
若不是新镜像,则判断当前镜像文件的文件属性是否是云存储,若是云存储,则将云应用模板中以通用资源标志符(Uniform Resource Identifier,URI)格式记录的当前镜像文件的地址转换为共享存储地址格式的地址,将当前镜像文件存储到所述共享存储地址格式的地址指示的共享存储空间中;
若不是云存储,则将云应用模板中以URI格式记录的当前镜像文件的地址转换为本地存储地址格式的地址,并将当前镜像文件存储到所述本地存储地址格式的地址指示的本地存储空间中。
优选的,依据所述有序镜像文件集合中每一个镜像文件的文件属性依次存储所述每一个镜像文件到云存储、共享存储空间或者本地存储空间,之后,还包括:
将镜像文件资产目录中记录的所有镜像文件按照使用频度由大到小的顺序进行排列;
读取使用频度最大的镜像文件作为当前镜像文件,执行当前镜像文件优化存储流程,所述当前镜像文件优化存储流程包括:
判断所述当前镜像文件的存储类型是否是云存储,若是云存储,则执行当前镜像文件由云存储到共享存储的优化流程;
若不是云存储,则判断所述当前镜像文件的存储类型是否是共享存储,若是共享存储,则执行当前镜像文件由共享存储到本地存储的优化流程;
若不是共享存储,则判断所述镜像资产目录中包含的镜像文件是否都已经被读取,若否,则依据镜像文件的使用频度由大到小的顺序将所述当前镜像文件的下一个镜像文件作为当前镜像文件,执行所述当前镜像文件优化存储流程,直至所述镜像资产目录中包含的镜像文件都已经被读取。
优选的,所述当前镜像文件由云存储到共享存储的优化流程,具体包括:
获取所有共享存储空间的剩余存储空间的大小;
判断所述当前镜像文件是否大于所述所有共享存储空间的剩余存储空间的大小,若小于,则将所述当前镜像文件存储到共享存储空间中;
若大于,则进入对使用频度小于当前镜像文件且存储类型为共享存储的镜像文件的第一查找流程,所述第一查找流程包括:
在镜像文件资产目录中查找存储类型为共享存储并且使用频度小于所述当前镜像文件的使用频度的镜像文件,若找不到,则结束所述第一查找流程,若找到,则将找到的镜像文件从共享存储空间删除,并将找到的镜像文件转存到云存储空间;
判断所述当前镜像文件是否大于删除找到的镜像文件之后的所有共享存储空间的剩余存储空间的大小,若小于,则将所述当前镜像文件存储到共享存储空间中;若大于,则循环执行所述第一查找流程,并在删除所有使用频度小于当前镜像文件的镜像文件之后的剩余共享存储空间比当前镜像文件小的情况下,结束所述第一查找流程。
优选的,所述当前镜像文件由共享存储到本地存储的优化流程,具体包括:
获取所有本地存储空间的剩余存储空间的大小;
判断所述当前镜像文件是否大于所述所有本地存储空间的剩余存储空间的大小,若小于,则将所述当前镜像文件存储到本地存储空间中;
若大于,则进入对使用频度小于当前镜像文件、存储类型为本地存储的镜像文件的第二查找流程,所述第二的查找流程包括:
在镜像文件资产目录中查找存储类型为本地存储并且使用频度小于所述当前镜像文件使用频度的镜像文件,若找不到,则结束所述第二查找流程,若找到,则将找到的镜像文件从本地存储空间删除,并将找到的镜像文件转存到共享存储空间;
判断所述当前镜像文件是否大于删除找到的镜像文件之后的所有本地存储空间的剩余存储空间的大小,若小于,则将所述当前镜像文件存储到本地存储空间中,若大于,则循环执行所述第二查找流程,并在删除所有使用频度小于当前镜像文件的镜像文件之后的剩余本地存储空间比当前镜像文件小的情况下,结束所述第二查找流程。
一种镜像文件存储装置,所述装置包括:
获取单元,用于获取当前云应用环境对应的有序镜像文件集合;
存储单元,用于依据所述有序镜像文件集合中每一个镜像文件的文件属性,依次存储所述每一个镜像文件到云存储、共享存储空间或者本地存储空间中。
优选的,所述获取单元包括:
解析子单元,用于解析云应用模板获取当前云应用环境下所需的所有关联的镜像文件;
第一排列子单元,用于根据预设的云应用中镜像文件之间的存储依赖关系排列所述所有关联的镜像文件,得到所述有序镜像文件集合。
优选的,所述存储单元包括:
第一创建子单元,用于依次创建所述有序镜像文件集合中的每一个镜像文件的文件属性;
属性集合生成子单元,用于根据所述每一个镜像文件的文件属性生成与所述有序镜像文件对应的文件属性集合;
第一读取子单元,用于依据预设的云应用中镜像文件之间的存储依赖关系,读取所述文件属性集合中的第一个文件属性作为当前文件属性;
第一存储子单元,用于根据当前文件属性将所述当前镜像文件存储到云存储、共享存储空间或者本地存储空间;
第一判断子单元,用于判断所述文件属性集合中的文件属性是否都已被读取;
第二读取子单元,用于所述第一判断单元结果为否时,依据预设的云应用中镜像文件之间的存储依赖关系,读取所述文件属性集合中所述文件属性的下一个文件属性作为当前文件属性;
第一触发子单元,用于触发所述第一存储子单元,直至所述文件属性集合中的文件属性都已被读取。
优选的,所述存储单元包括:
第三读取子单元,用于依据预设的云应用中镜像文件之间的存储依赖关系,读取所述有序镜像文件集合中的第一个镜像文件作为当前镜像文件;
第二创建子单元,用于创建当前镜像文件对应的当前文件属性;
第一存储子单元,用于根据当前文件属性将所述当前镜像文件存储到云存储、共享存储空间或者本地存储空间;
第二判断子单元,用于判断所述有序镜像文件集合中的镜像文件是否都已被读取;
第四读取子单元,用于在所述第二判断单元结果为否时,依据预设的云应用中镜像文件之间的存储依赖关系,读取所述有序镜像文件集合中所述当前镜像文件的下一个镜像文件作为当前镜像文件;
第二触发子单元,用于触发所述第一存储子单元,直至所述有序镜像文件集合中的镜像文件都已被读取。
优选的,所述镜像文件的文件属性的创建方式如下:
根据镜像文件的标识判断镜像文件资产目录中是否存在所述镜像文件的记录,若存在,则将镜像文件资产目录中记录的所述镜像文件的存储类型作为所述镜像文件的文件属性;
若不存在,则将新镜像作为当前镜像文件的文件属性。
优选的,所述第一存储子单元,包括:
第三判断子单元,用于判断当前镜像文件的文件属性是否是新镜像;
第三存储子单元,用于在所述第三判断子单元的结果为是的情况下,将当前镜像文件存储到云存储空间中;
第四判断子单元,用于在所述第三判断子单元的结果为否的情况下,判断当前镜像文件的文件属性是否是云存储;
第一地址转换子单元,用于在所述第四判断单元的的结果为是的情况下,将云应用模板中以URI格式记录的当前镜像文件的地址转换为共享存储地址格式的地址;
第四存储子单元,用于将当前镜像文件存储到所述共享存储地址格式的地址指示的共享存储空间中;
第二地址转换子单元,用于在所述第四判断单元的的结果为否的情况下,将云应用模板中以URI格式记录的当前镜像文件的地址转换为本地存储地址格式的地址;
第五存储子单元,用于将当前镜像文件存储到所述本地存储地址格式的地址指示的本地存储空间中。
优选的,所述装置还包括优化单元,所述优化单元包括:
第二排列子单元,用于将镜像文件资产目录中的所有镜像文件按照使用频度由大到小的顺序进行排列;
第五读取子单元,用于读取使用频度最大的镜像文件作为当前镜像文件;
第三触发子单元,用于触发当前镜像优化存储流程,所述当前镜像文件优化存储流程包括:
判断所述当前镜像文件的存储类型是否是云存储,若是云存储,则执行当前镜像文件由云存储到共享存储的优化流程;
若不是云存储,则判断所述当前镜像文件的存储类型是否是共享存储,若是共享存储,则执行当前镜像文件由共享存储到本地存储的优化流程;
第五判断子单元,用于在所述当前镜像文件的存储类型不是共享存储时,判断所述镜像资产目录中包含的镜像文件是否都已经被读取;
第六读取子单元,用于在所述第五判断子单元的结果为否时,依据镜像文件的使用频度由大到小的顺序将所述当前镜像文件的下一个镜像文件作为当前镜像文件;
第四触发子单元,用于触发所述第三触发子单元,直至所述镜像资产目录中包含的镜像文件都已经被读取。
本发明中,根据当前云应用中关联的镜像文件的文件属性依次将所述镜像文件存储到云存储、共享存储空间或者本地存储空间中,实现了镜像文件存储空间的扩展,同时,存储在共享存储空间或者本地存储空间中的镜像文件可以直接运行,不需要将镜像文件由云存储空间复制出来,可以直接运行,从而加快了云应用中镜像文件的启动运行的速度,并且镜像文件占用的是共享存储空间或者本地存储空间本来空闲的资源,所以存储空间的利用率也得到了提高。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种镜像文件存储方法实施例1的流程图;
图2为本发明一种镜像文件存储方法实施例2的流程图;
图3为根据文件属性存储当前镜像文件的流程图;
图4为云存储空间、共享存储空间和本地存储空间的分布图;
图5为镜像文件的存储优化的流程图;
图6为当前镜像文件由云存储到共享存储的优化的流程图;
图7为当前镜像文件由共享存储到本地存储的优化的流程图;
图8为本发明一种镜像文件存储方法实施例3的流程图;
图9为本发明一种镜像文件存储装置实施例的结构示意图;
图10a为装置实施例中存储单元的结构示意图;
图10b为本发明在实际应用中的一种结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1所示,为本发明一种镜像文件存储方法实施例1的流程图,本实施例具体可以包括:
步骤101:获取当前云应用环境对应的有序镜像文件集合。
在当前云应用中,需要从云应用模板中解析所述当前云应用所需的所有镜像文件,其中所述云应用模板是指包含多个虚拟机镜像文件及其自动配置和部署过程脚本的数据包,所述部署过程为镜像文件之间的依赖关系,在所述当前云应用中,按照所述依赖关系将所述所有镜像文件进行排序,得到一个有序镜像文件集合。
步骤102:依据所述有序镜像文件集合中每一个镜像文件的文件属性,依次存储所述每一个镜像文件到云存储、共享存储空间或者本地存储空间中。
对应于所述得到的有序镜像文件集合,其中每一个镜像文件均有本身的文件属性,若某一镜像文件是第一次被引用,也就是说所述镜像文件是新镜像文件,其文件属性设置为新镜像,若所述镜像文件不是第一次被引用,即所述镜像文件不是新镜像文件,则所述镜像文件的文件属性根据其初始存储类型进行设置。确定所述镜像文件的文件属性后,即可确定具体要将所述镜像文件存储到云存储空间、共享存储空间还是本地存储空间,依次类推,最后即可将所述有序镜像文件集合中的每一个镜像文件存储到云存储、共享存储空间或者本地存储空间中。
本实施例的技术方案中,通过根据当前云应用中关联的镜像文件的文件属性依次将所述镜像文件存储到云存储、共享存储空间或者本地存储空间中,实现了镜像文件存储空间的扩展,同时,存储在共享存储空间或者本地存储空间中的镜像文件可以直接运行,不需要将镜像文件由云存储空间复制出来,从而加快了云应用中镜像文件的启动运行的速度,并且镜像文件占用的是共享存储空间或者本地存储空间本来空闲的资源,所以存储空间的利用率也得到了提高。
参考图2所示,为本发明一种镜像文件存储方法实施例2的流程图,本实施例可以看作是实施例1的一个具体实现方式,本实施例具体可以包括:
步骤201:获取当前云应用关联的所有镜像文件。
在虚拟化数据中心环境下,计算、存储和网络资源以虚拟机的形式交付用户使用,在存储设备上,虚拟机以镜像文件的形式存在,即所述镜像文件可以称为虚拟机或者虚拟机镜像文件。
在所述当前云应用中,可能会应用到多个镜像文件,当前云应用中关联的所有镜像文件的获取可以参考步骤101,此处不再赘述。
步骤202:将所述所有镜像文件排序,得到有序镜像文件集合Q。
本步骤中有序镜像文件集合的获得参考步骤101,此处不再赘述,将排序得到的有序镜像文件集合记为Q。
步骤203:读取Q中第一个镜像文件作为当前镜像文件。
按照多个镜像文件的依赖关系,在所述Q中读取第一个镜像文件作为当前镜像文件。
步骤204:创建Q中当前镜像文件的文件属性。
在实际应用中,当前镜像文件的文件属性创建的具体过程可以包括以下子步骤:
子步骤A1:读取当前镜像文件的ID。
所有可用的镜像文件(不仅仅指当前云应用中所需镜像文件)均对应一个ID,所述ID用来唯一标识一个镜像文件。
子步骤A2:根据所述当前镜像文件的ID,在镜像文件资产目录中查找所述当前镜像文件的记录。
所述镜像文件资产目录中记录总镜像文件资产库中所有可用的镜像文件的主要属性,参考表1所示,表1为镜像文件资产目录中记录的镜像文件的主要属性。
表1 镜像文件资产目录中记录的镜像文件的主要属性
ID | 名称 | 描述 | 使用频度 | 镜像文件大小 | 存储类型 |
在表1中,镜像文件的使用频度为镜像文件被云应用(包括所有的云应用,不仅仅指当前云应用)引用的次数,镜像文件每被引用一次,则对应镜像文件的使用频度就会加1,所述镜像文件的存储类型为云存储、共享存储和本地存储,所述总镜像文件资产库由所有存储空间对应的镜像文件资产库集群构成,所述镜像文件资产库用来记录对应存储空间的使用情况。
根据镜像文件资产目录的记录可知,本步骤实际进行的是,在镜像文件资产目录的记录中查找与所述当前镜像文件的ID相匹配的记录。
子步骤A3:若找到,则将镜像文件资产目录中记录的当前镜像文件的存储类型记为当前镜像文件的文件属性。
在创建当前镜像文件的文件属性后,将记录的对应当前镜像文件的使用频度在原使用频度的基础上加1。
子步骤A4:若未找到,则将当前镜像文件的文件属性记为新镜像。
若在镜像文件资产目录的记录中没有查找到与所述当前镜像文件的ID相匹配的记录,说明所述当前镜像文件是新的镜像文件,即所述当前镜像文件从未被某个云应用使用过,在创建当前镜像文件的文件属性后,将所述当前镜像文件对应的记录增加到镜像文件资产目录中,其使用频度初始化为1,存储类型记为云存储。
步骤205:根据所述文件属性存储所述当前镜像文件。
所述步骤205具体过程如图3所示,图3为步骤205中根据所述文件属性存储所述当前镜像文件的流程图,所述根据所述文件属性存储所述当前镜像文件具体可以包括:
步骤301:判断所述当前镜像文件的文件属性是否是新镜像,若是,则进入步骤302,若否,则进入步骤303。
步骤302:将所述当前镜像文件存储到云存储空间。
参考图4所示,图4为云存储空间、共享存储空间和本地存储空间的分布图。由图4可知,每个存储空间均有一个对应的镜像文件资产库,根据镜像文件资产库可以获取对应存储空间剩余存储空间的大小,所以将所述当前镜像文件存储到云存储空间可以是将当前镜像文件存储到剩余存储空间最大的云存储空间中,参考表2所示,表2为镜像文件资产库(资产库)中记录的相关信息。
表2 镜像文件资产库中记录的相关信息
存储地址 | 存储类型 | 存储规则 | 授权信息 | 额定存储容量 | 剩余存储容量 |
在表2中,存储地址为包含存储设备IP、端口等信息的URL(统一资源定位符:Uniform Resource Locator,URL)链接地址,所述存储设备即为存储空间对应的存储实体;存储规则为镜像文件在当前存储设备中存储的索引规则;授权信息为当前存储设备的用户名、密码等授权信息;资产库额定存储容量指按存储设备类型不同预先设定的存储容量;资产库剩余存储容量指当前可用于存储镜像文件的资产库剩余容量。
步骤303:判断所述当前镜像文件的文件属性是否是云存储,若是,进入步骤304,若否,进入步骤306。
步骤304:将云应用模板中以通用资源标志符(Uniform ResourceIdentifier,URI)格式记录的当前镜像文件的地址转换为共享存储地址格式的地址。
步骤305:将所述当前镜像文件存储到共享存储空间。
参考步骤302,本步骤中将当前镜像文件存储到所述共享存储地址格式的地址指示的共享存储空间,也可以是将当前镜像文件存储到剩余存储空间最大的共享存储空间中。
步骤306:将云应用模板中以URI格式记录的当前镜像文件的地址转换为本地存储地址格式的地址。
步骤307:将当前镜像文件存储到所述本地存储地址格式的地址指示的本地存储空间中。
参考步骤302,本步骤中将当前镜像文件存储到所述本地存储地址格式的地址指示的本地存储空间,也可以是将当前镜像文件存储到剩余存储空间最大的本地存储空间中。
返回图2所示的实施例2,在步骤206中:判断Q中的镜像文件是否都已被读取,若否,进入步骤207,若是,进入步骤208。
步骤207:读取Q中下一个镜像文件作为当前镜像文件,返回步骤204。
步骤208:根据镜像文件资产目录中记录的镜像文件的使用频度优化镜像文件的存储。
下面对所述步骤208具体过程进行详细介绍。如图5所示,图5为步骤208中“根据镜像文件资产目录中记录的镜像文件的使用频度优化镜像文件的存储”的流程图,所述镜像文件的存储优化具体包括:
步骤501:将镜像文件资产目录中的所有镜像文件按照使用频度由大到小的顺序进行排列;
步骤502:读取使用频度最大的镜像文件作为当前镜像文件。
步骤503:判断所述当前镜像文件的存储类型是否是云存储,若是云存储,进入步骤504,若否,进入步骤505。
步骤504:执行当前镜像文件由云存储到共享存储的优化。
其中,所述步骤504具体过程又可以如图6所示,图6为步骤504中当前镜像文件由云存储到共享存储的优化的流程图,所述当前镜像文件由云存储到共享存储的优化具体包括:
步骤601:获取所有共享存储空间的剩余存储空间的大小;
步骤602:判断所述当前镜像文件是否大于所述所有共享存储空间的剩余存储空间的大小,若否,进入步骤603,若是,进入步骤604。
步骤603:将所述当前镜像文件存储到共享存储空间中。
本步骤的实现方式与步骤305的实现方式类似,此处不再赘述。
步骤604:查找使用频度小于当前镜像文件且存储类型为共享存储的镜像文件,若找不到,进入步骤605,若找到,进入步骤606。
优选的,本步骤604的具体实现可以是在所有存储类型为共享存储的存储空间中查找使用频度仅次于当前镜像文件的镜像文件。
步骤605:结束当前镜像文件由云存储到共享存储的优化。
步骤606:将找到的镜像文件从共享存储空间删除,并将找到的镜像文件转存到云存储空间,返回步骤602,并在删除所有使用频度小于当前镜像文件的镜像文件之后的剩余共享存储空间比当前镜像文件小的情况下,进入步骤605。
执行完步骤601~步骤606,当前镜像文件由云存储到共享存储的优化流程结束,再返回图5所示的镜像文件的存储优化流程,进入步骤505的判断过程。
步骤505:判断所述当前镜像文件的存储类型是否是共享存储,若是共享存储,进入步骤506,若否,进入步骤507。
步骤506:执行当前镜像文件由共享存储到本地存储的优化。
其中,所述步骤506具体过程又可以如图7所示,图7为步骤506中当前镜像文件由共享存储到本地存储的优化的流程图,所述当前镜像文件由共享存储到本地存储的优化具体包括:
步骤701:获取所有本地存储空间的剩余存储空间的大小;
步骤702:判断所述当前镜像文件是否大于所述所有本地存储空间的剩余存储空间的大小,若否,进入步骤703,若是,进入步骤704。
步骤703:将所述当前镜像文件存储到本地存储空间中。
步骤704:查找使用频度小于当前镜像文件且存储类型为本地存储的镜像文件,若找不到,进入步骤705,若找到,进入步骤706。
优选的,本步骤的具体实现可以是在所有存储类型为本地存储的存储空间中查找使用频度仅次于当前镜像文件的镜像文件。
步骤705:结束当前镜像文件由共享存储到本地存储的优化。
步骤706:将找到的镜像文件从本地存储空间删除,并将找到的镜像文件转存到共享存储空间,返回步骤702,并在删除所有使用频度小于当前镜像文件的镜像文件之后的剩余本地存储空间比当前镜像文件小的情况下,进入步骤705。
执行完步骤701~步骤706,当前镜像文件由共享存储到本地存储的优化流程结束,再返回图5所示的镜像文件的存储优化流程,进入步骤507的判断过程。
步骤507:判断所述镜像资产目录中包含的镜像文件是否都已经被读取,若是,则结束镜像文件存储的优化,若否,则进入步骤508。
步骤508:依据镜像文件的使用频度由大到小的顺序将所述当前镜像文件的下一个镜像文件作为当前镜像文件,返回步骤502。
执行完步骤501~步骤508的镜像文件的存储优化的流程,所述镜像文件的存储优化完毕,即是步骤208的“根据镜像文件资产目录中记录的镜像文件的使用频度优化镜像文件的存储”的步骤执行完毕。
本实施例中,根据当前云应用中关联的镜像文件的文件属性依次将所述镜像文件存储到云存储、共享存储空间或者本地存储空间中,实现了镜像文件存储空间的扩展,同时,存储在共享存储空间或者本地存储空间中的镜像文件可以直接运行,不需要将镜像文件由云存储空间中复制出来,,从而加快了云应用中镜像文件的启动运行的速度,并且镜像文件占用的是共享存储空间或者本地存储空间本来空闲的资源,所以存储空间的利用率也得到了提高;另外,通过对镜像文件的存储优化,可以使本地存储空间一直存储使用频度较高的多个镜像文件,共享存储空间一直存储使用频度较本地存储空间中使用频度稍低的多个镜像文件,因为本地存储空间中的镜像文件运行速度最快而且本地存储的成本相对较低,所以通过存储优化可以进一步的提高镜像文件的启动运行速度并且节约了镜像文件的存储成本。
参考图8所示,为本发明一种镜像文件存储方法实施例3的流程图,本实施例可以看作是实施例1的另一个具体实现方式,本实施例具体可以包括:
步骤801:获取当前云应用关联的所有镜像文件。
步骤802:将所述所有镜像文件排序,得到有序镜像文件集合Q。
步骤803:读取Q中第一个镜像文件作为当前镜像文件。
步骤804:创建Q中当前镜像文件的文件属性。
本实施例中步骤801~步骤804与实施例2中步骤201~步骤204的实现方式可以类似,此处不再赘述。
步骤805:判断判断Q中的镜像文件是否都已被读取,若是,则进入步骤806,若否,则返回步骤803,读取Q中下一个镜像文件作为当前镜像文件。
步骤806:创建对应所述有序镜像文件集合的文件属性集合N。
按照有序镜像文件集合中镜像文件的排列顺序生成对应的文件属性集合。
步骤807:读取N中第一个文件属性作为当前文件属性。
步骤808:根据所述当前文件属性存储对应的当前镜像文件。
步骤809:判断N中的文件属性是否都已被读取,若是,则进入步骤810,若否,则返回步骤807,读取N中下一个文件属性作为当前文件属性。
步骤810:根据镜像文件资产目录中记录的镜像文件的使用频度优化镜像文件的存储。
步骤810的实现方式与实施例2中步骤207的实现方式可以类似,此处不再赘述。
本实施例与实施例2的不同之处在于,本实施例中建立的是有序镜像文件集合,所述集合中包括当前云应用所需的所有镜像文件,建立所述集合后,依次读取所述集合中的镜像文件,并且每读取一个镜像文件则创建对应的文件属性,待所有的镜像文件的文件属性都创建以后,则建立由文件属性对应的有序集合,然后实施镜像文件的存储;在实施例2中是每读取有序镜像文件集合中的一个镜像文件则创建对应的文件属性并且存储所述镜像文件,在实施例2中并不存在镜像文件的文件属性对应的有序集合。
采用本实施例的技术方案,可以根据当前云应用中关联的镜像文件的文件属性依次将所述镜像文件存储到云存储、共享存储空间或者本地存储空间中,实现了镜像文件存储空间的扩展,同时,存储在共享存储空间或者本地存储空间中的镜像文件可以直接运行,不需要将镜像文件由云存储空间中复制出来,从而加快了云应用中镜像文件的启动运行的速度,并且镜像文件占用的是共享存储空间或者本地存储空间本来空闲的资源,所以存储空间的利用率也得到了提高;另外,通过对镜像文件的存储优化,可以使本地存储空间一直存储使用频度较高的多个镜像文件,共享存储空间一直存储使用频度较本地存储空间中使用频度稍低的多个镜像文件,因为本地存储空间中的镜像文件运行速度最快而且本地存储的成本相对较低,所以通过存储优化可以进一步的提高镜像文件的启动运行速度并且节约了镜像文件的存储成本。
参考图9所示,为本发明一种镜像文件存储装置的结构示意图,所述装置具体可以包括:
获取单元910,用于获取当前云应用环境对应的有序镜像文件集合;
存储单元920,用于依据所述有序镜像文件集合中每一个镜像文件的文件属性,依次存储所述每一个镜像文件到云存储、共享存储空间或者本地存储空间中。
其中所述获取单元910具体可以包括:
解析子单元,用于解析云应用模板获取当前云应用环境下所需的所有关联的镜像文件;
第一排列子单元,用于根据预设的云应用中镜像文件之间的存储依赖关系排列所述所有关联的镜像文件,得到所述有序镜像文件集合。
参考图10a所示,所述存储单元920具体可以包括:
第一创建子单元921,用于依次创建所述有序镜像文件集合中的每一个镜像文件的文件属性;
属性集合生成子单元922,用于根据所述每一个镜像文件的文件属性生成与所述有序镜像文件对应的文件属性集合;
第一读取子单元923,用于依据预设的云应用中镜像文件之间的存储依赖关系,读取所述文件属性集合中的第一个文件属性作为当前文件属性;
第一存储子单元924,用于根据当前文件属性将所述当前镜像文件存储到云存储、共享存储空间或者本地存储空间;
第一判断子单元925,用于判断所述文件属性集合中的文件属性是否都已被读取;
第二读取子单元926,用于所述第一判断单元结果为否时,依据预设的云应用中镜像文件之间的存储依赖关系,读取所述文件属性集合中所述文件属性的下一个文件属性作为当前文件属性;
第一触发子单元927,用于触发所述第一存储子单元,直至所述文件属性集合中的文件属性都已被读取。
在不同的实施例中,所述存储单元920进一步可以包括:
第三读取子单元,用于依据预设的云应用中镜像文件之间的存储依赖关系,读取所述有序镜像文件集合中的第一个镜像文件作为当前镜像文件;
第二创建子单元,用于创建当前镜像文件对应的当前文件属性;
第一存储子单元,用于根据当前文件属性将所述当前镜像文件存储到云存储、共享存储空间或者本地存储空间;
第二判断子单元,用于判断所述有序镜像文件集合中的镜像文件是否都已被读取;
第四读取子单元,用于在所述第二判断单元结果为否时,依据预设的云应用中镜像文件之间的存储依赖关系,读取所述有序镜像文件集合中所述当前镜像文件的下一个镜像文件作为当前镜像文件;
第二触发子单元,用于触发所述第一存储子单元,直至所述有序镜像文件集合中的镜像文件都已被读取。
所述第一存储子单元924具体可以包括:
第三判断子单元,用于判断当前镜像文件的文件属性是否是新镜像;
第三存储子单元,用于在所述第三判断子单元的结果为是的情况下,将当前镜像文件存储到云存储空间中;
第四判断子单元,用于在所述第三判断子单元的结果为否的情况下,判断当前镜像文件的文件属性是否是云存储;
第一地址转换子单元,用于在所述第四判断单元的的结果为是的情况下,将云应用模板中以URI格式记录的当前镜像文件的地址转换为共享存储地址格式的地址;
第四存储子单元,用于将当前镜像文件存储到所述共享存储地址格式的地址指示的共享存储空间中;
第二地址转换子单元,用于在所述第四判断单元的的结果为否的情况下,将云应用模板中以URI格式记录的当前镜像文件的地址转换为本地存储地址格式的地址;
第五存储子单元,用于将当前镜像文件存储到所述本地存储地址格式的地址指示的本地存储空间中。
进一步的,所述装置还包括优化单元,所述优化单元包括:
第二排列单元,用于将镜像文件资产目录中的所有镜像文件按照使用频度由大到小的顺序进行排列;
第五读取单元,用于读取使用频度最大的镜像文件作为当前镜像文件;
执行单元,用于执行当前镜像优化存储流程,所述当前镜像文件优化存储流程包括:
判断所述当前镜像文件的存储类型是否是云存储,若是云存储,则执行当前镜像文件由云存储到共享存储的优化流程;
所述当前镜像文件由云存储到共享存储的优化的实现方式参考步骤504的实现方式,此处不再赘述。
若不是云存储,则判断所述当前镜像文件的存储类型是否是共享存储,若是共享存储,则执行当前镜像文件由共享存储到本地存储的优化流程;
所述当前镜像文件由共享存储到本地存储的优化的实现参考步骤506的实现方式此处不再赘述。
第五判断单元,用于在所述当前镜像文件的存储类型不是共享存储时,判断所述镜像资产目录中包含的镜像文件是否都已经被读取;
第六读取单元,用于在所述第五判断单元的结果为否时,依据镜像文件的使用频度由大到小的顺序将所述当前镜像文件的下一个镜像文件作为当前镜像文件;
第四触发单元,用于触发所述第三触发子单元,直至所述镜像资产目录中包含的镜像文件都已经被读取。
在实际应用中,本发明实施例的具体实现可以通过图10b所示的结构来完成,包括:云应用模板1001,部署控制器1002,负载均衡器1003,计划执行器集合单元1004,镜像文件资产目录1005,镜像文件存储优化控制器1006,存储空间1007和地址转译单元1008。
所述云应用模板1001,用于为当前云应用提供所需的镜像文件;
所述部署控制器1002,用于解析云应用模板并通过查询镜像文件资产目录和地址转译单元生成具有一定顺序的镜像文件存储计划;
所述负载均衡器1003,用于监控计划执行器集合单元的负载情况,按负载最低优先原则分配镜像文件,所述负载最低是指剩余存储空间最大;
所述计划执行器集合单元1004,用于执行部署控制器的存储计划,将镜像文件按照存储计划存储到目的存储空间中,因为在实际环境中有可能出现多个镜像文件并行运行的情况,所以可以采用多个计划执行器同时工作,多个计划执行器对应不同类型存储空间,并且计划执行器均有对应的负载,所述负载指计划执行器对应类型的存储空间的剩余存储空间;
所述镜像文件资产目录1005,用于记录镜像文件资产库中所有可用的镜像文件的记录;
所述镜像文件存储优化控制器1006,用于优化镜像文件的存储;
所述存储空间1007,用于存储镜像文件;
所述地址转译单元1008,用于将云应用模板中记录的统一URI格式的镜像文件地址转换为目的存储空间地址格式的地址。
本实施例中,根据当前云应用中关联的镜像文件的文件属性依次将所述镜像文件存储到云存储、共享存储空间或者本地存储空间中,实现了镜像文件存储空间的扩展,同时,存储在共享存储空间或者本地存储空间中的镜像文件不需要将镜像文件进行复制,可以直接运行,从而加快了云应用中镜像文件的启动运行的速度,并且镜像文件占用的是共享存储空间或者本地存储空间本来空闲的资源,所以存储空间的利用率也得到了提高;另外,通过对镜像文件的存储优化,可以使本地存储空间一直存储使用频度较高的多个镜像文件,共享存储空间一直存储使用频度较本地存储空间中使用频度稍低的多个镜像文件,因为本地存储空间中的镜像文件运行速度最快而且本地存储的成本相对较低,所以通过存储优化可以进一步的提高镜像文件的启动运行速度并且节约了镜像文件的存储成本。
本发明中,在将当前云应用所需的镜像文件存储到相应的存储空间以后,可以根据镜像文件的存储空间的类型,将镜像文件推送到相应的服务器去运行,即启动相应的虚拟设备。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种镜像文件存储方法,其特征在于,包括:
获取当前云应用环境对应的有序镜像文件集合;
依据所述有序镜像文件集合中每一个镜像文件的文件属性,依次存储所述每一个镜像文件到云存储、共享存储空间或者本地存储空间中。
2.根据权利要求1所述的方法,其特征在于,所述获取当前云应用环境对应的有序镜像文件集合,包括:
通过解析云应用模板获取当前云应用环境下所需的所有关联的镜像文件;
根据预设的云应用中镜像文件之间的存储依赖关系排列所述所有关联的镜像文件,得到所述有序镜像文件集合。
3.根据权利要求1所述的方法,其特征在于,依据所述有序镜像文件集合中每一个镜像文件的文件属性依次存储所述每一个镜像文件到云存储、共享存储空间或者本地存储空间,包括:
依次创建所述有序镜像文件集合中的每一个镜像文件的文件属性;
根据所述每一个镜像文件的文件属性生成与所述有序镜像文件对应的文件属性集合;
依据预设的云应用中镜像文件之间的存储依赖关系,读取所述文件属性集合中的第一个文件属性作为当前文件属性;
根据当前文件属性将所述当前镜像文件存储到云存储、共享存储空间或者本地存储空间;
判断所述文件属性集合中的文件属性是否都已被读取,若否,则依据预设的云应用中镜像文件之间的存储依赖关系,读取当前文件属性的下一个文件属性作为当前文件属性,并执行所述根据当前文件属性将与当前文件属性对应的当前镜像文件存储到云存储、共享存储空间或者本地存储空间的步骤,直至所述文件属性集合中的文件属性都已被读取。
4.根据权利要求1所述的方法,其特征在于,依据所述有序镜像文件集合中镜像文件的文件属性依次存储所述有序镜像文件集合中的镜像文件到云存储、共享存储空间或者本地存储空间,包括:
依据预设的云应用中镜像文件之间的存储依赖关系,读取所述有序镜像文件集合中的第一个镜像文件作为当前镜像文件,创建当前镜像文件对应的当前文件属性;
根据当前文件属性将当前镜像文件存储到云存储、共享存储空间或者本地存储空间;
判断所述有序镜像文件集合中的镜像文件是否都已被读取,若否,则依据预设的云应用中镜像文件之间的存储依赖关系,读取所述当前镜像文件的下一个镜像文件作为当前镜像文件,执行所述根据当前文件属性将当前镜像文件存储到云存储、共享存储空间或者本地存储空间的步骤,直至所述有序镜像文件集合中的镜像文件都已被读取。
5.根据权利要求3至4中任一项所述的方法,其特征在于,所述镜像文件的文件属性的创建方式如下:
根据镜像文件的标识判断镜像文件资产目录中是否存在所述镜像文件的记录,若存在,则将镜像文件资产目录中记录的所述镜像文件的存储类型作为所述镜像文件的文件属性;
若不存在,则将新镜像作为当前镜像文件的文件属性。
6.根据权利要求3至4任一项所述的方法,其特征在于,根据当前文件属性将当前镜像文件存储到云存储、共享存储空间或者本地存储空间,具体包括:
判断当前镜像文件的文件属性是否是新镜像,若是新镜像,则将当前镜像文件存储到云存储空间中;
若不是新镜像,则判断当前镜像文件的文件属性是否是云存储,若是云存储,则将云应用模板中以通用资源标志符(Uniform Resource Identifier,URI)格式记录的当前镜像文件的地址转换为共享存储地址格式的地址,将当前镜像文件存储到所述共享存储地址格式的地址指示的共享存储空间中;
若不是云存储,则将云应用模板中以URI格式记录的当前镜像文件的地址转换为本地存储地址格式的地址,并将当前镜像文件存储到所述本地存储地址格式的地址指示的本地存储空间中。
7.根据权利要求1所述的方法,其特征在于,依据所述有序镜像文件集合中每一个镜像文件的文件属性依次存储所述每一个镜像文件到云存储、共享存储空间或者本地存储空间,之后,还包括:
将镜像文件资产目录中记录的所有镜像文件按照使用频度由大到小的顺序进行排列;
读取使用频度最大的镜像文件作为当前镜像文件,执行当前镜像文件优化存储流程,所述当前镜像文件优化存储流程包括:
判断所述当前镜像文件的存储类型是否是云存储,若是云存储,则执行当前镜像文件由云存储到共享存储的优化流程;
若不是云存储,则判断所述当前镜像文件的存储类型是否是共享存储,若是共享存储,则执行当前镜像文件由共享存储到本地存储的优化流程;
若不是共享存储,则判断所述镜像资产目录中包含的镜像文件是否都已经被读取,若否,则依据镜像文件的使用频度由大到小的顺序将所述当前镜像文件的下一个镜像文件作为当前镜像文件,执行所述当前镜像文件优化存储流程,直至所述镜像资产目录中包含的镜像文件都已经被读取。
8.根据权利要求7所述的方法,其特征在于,所述当前镜像文件由云存储到共享存储的优化流程,具体包括:
获取所有共享存储空间的剩余存储空间的大小;
判断所述当前镜像文件是否大于所述所有共享存储空间的剩余存储空间的大小,若小于,则将所述当前镜像文件存储到共享存储空间中;
若大于,则进入对使用频度小于当前镜像文件且存储类型为共享存储的镜像文件的第一查找流程,所述第一查找流程包括:
在镜像文件资产目录中查找存储类型为共享存储并且使用频度小于所述当前镜像文件的使用频度的镜像文件,若找不到,则结束所述第一查找流程,若找到,则将找到的镜像文件从共享存储空间删除,并将找到的镜像文件转存到云存储空间;
判断所述当前镜像文件是否大于删除找到的镜像文件之后的所有共享存储空间的剩余存储空间的大小,若小于,则将所述当前镜像文件存储到共享存储空间中;若大于,则循环执行所述第一查找流程,并在删除所有使用频度小于当前镜像文件的镜像文件之后的剩余共享存储空间比当前镜像文件小的情况下,结束所述第一查找流程。
9.根据权利要求7所述的方法,其特征在于,所述当前镜像文件由共享存储到本地存储的优化流程,具体包括:
获取所有本地存储空间的剩余存储空间的大小;
判断所述当前镜像文件是否大于所述所有本地存储空间的剩余存储空间的大小,若小于,则将所述当前镜像文件存储到本地存储空间中;
若大于,则进入对使用频度小于当前镜像文件、存储类型为本地存储的镜像文件的第二查找流程,所述第二的查找流程包括:
在镜像文件资产目录中查找存储类型为本地存储并且使用频度小于所述当前镜像文件使用频度的镜像文件,若找不到,则结束所述第二查找流程,若找到,则将找到的镜像文件从本地存储空间删除,并将找到的镜像文件转存到共享存储空间;
判断所述当前镜像文件是否大于删除找到的镜像文件之后的所有本地存储空间的剩余存储空间的大小,若小于,则将所述当前镜像文件存储到本地存储空间中,若大于,则循环执行所述第二查找流程,并在删除所有使用频度小于当前镜像文件的镜像文件之后的剩余本地存储空间比当前镜像文件小的情况下,结束所述第二查找流程。
10.一种镜像文件存储装置,其特征在于,所述装置包括:
获取单元,用于获取当前云应用环境对应的有序镜像文件集合;
存储单元,用于依据所述有序镜像文件集合中每一个镜像文件的文件属性,依次存储所述每一个镜像文件到云存储、共享存储空间或者本地存储空间中。
11.根据权利要求10所述的装置,其特征在于,所述获取单元包括:
解析子单元,用于解析云应用模板获取当前云应用环境下所需的所有关联的镜像文件;
第一排列子单元,用于根据预设的云应用中镜像文件之间的存储依赖关系排列所述所有关联的镜像文件,得到所述有序镜像文件集合。
12.根据权利要求10所述的装置,其特征在于,所述存储单元包括:
第一创建子单元,用于依次创建所述有序镜像文件集合中的每一个镜像文件的文件属性;
属性集合生成子单元,用于根据所述每一个镜像文件的文件属性生成与所述有序镜像文件对应的文件属性集合;
第一读取子单元,用于依据预设的云应用中镜像文件之间的存储依赖关系,读取所述文件属性集合中的第一个文件属性作为当前文件属性;
第一存储子单元,用于根据当前文件属性将所述当前镜像文件存储到云存储、共享存储空间或者本地存储空间;
第一判断子单元,用于判断所述文件属性集合中的文件属性是否都已被读取;
第二读取子单元,用于所述第一判断单元结果为否时,依据预设的云应用中镜像文件之间的存储依赖关系,读取所述文件属性集合中所述文件属性的下一个文件属性作为当前文件属性;
第一触发子单元,用于触发所述第一存储子单元,直至所述文件属性集合中的文件属性都已被读取。
13.根据权利要求10所述的装置,其特征在于,所述存储单元包括:
第三读取子单元,用于依据预设的云应用中镜像文件之间的存储依赖关系,读取所述有序镜像文件集合中的第一个镜像文件作为当前镜像文件;
第二创建子单元,用于创建当前镜像文件对应的当前文件属性;
第一存储子单元,用于根据当前文件属性将所述当前镜像文件存储到云存储、共享存储空间或者本地存储空间;
第二判断子单元,用于判断所述有序镜像文件集合中的镜像文件是否都已被读取;
第四读取子单元,用于在所述第二判断单元结果为否时,依据预设的云应用中镜像文件之间的存储依赖关系,读取所述有序镜像文件集合中所述当前镜像文件的下一个镜像文件作为当前镜像文件;
第二触发子单元,用于触发所述第一存储子单元,直至所述有序镜像文件集合中的镜像文件都已被读取。
14.根据权利要求12至13任一项所述的装置,其特征在于,所述镜像文件的文件属性的创建方式如下:
根据镜像文件的标识判断镜像文件资产目录中是否存在所述镜像文件的记录,若存在,则将镜像文件资产目录中记录的所述镜像文件的存储类型作为所述镜像文件的文件属性;
若不存在,则将新镜像作为当前镜像文件的文件属性。
15.根据权利要求12至13任一项所述的装置,其特征在于,所述第一存储子单元,包括:
第三判断子单元,用于判断当前镜像文件的文件属性是否是新镜像;
第三存储子单元,用于在所述第三判断子单元的结果为是的情况下,将当前镜像文件存储到云存储空间中;
第四判断子单元,用于在所述第三判断子单元的结果为否的情况下,判断当前镜像文件的文件属性是否是云存储;
第一地址转换子单元,用于在所述第四判断单元的的结果为是的情况下,将云应用模板中以URI格式记录的当前镜像文件的地址转换为共享存储地址格式的地址;
第四存储子单元,用于将当前镜像文件存储到所述共享存储地址格式的地址指示的共享存储空间中;
第二地址转换子单元,用于在所述第四判断单元的的结果为否的情况下,将云应用模板中以URI格式记录的当前镜像文件的地址转换为本地存储地址格式的地址;
第五存储子单元,用于将当前镜像文件存储到所述本地存储地址格式的地址指示的本地存储空间中。
16.根据权利要求10所述的装置,其特征在于,所述装置还包括优化单元,所述优化单元包括:
第二排列单元,用于将镜像文件资产目录中的所有镜像文件按照使用频度由大到小的顺序进行排列;
第五读取单元,用于读取使用频度最大的镜像文件作为当前镜像文件;
第三触发单元,用于触发当前镜像优化存储流程,所述当前镜像文件优化存储流程包括:
判断所述当前镜像文件的存储类型是否是云存储,若是云存储,则执行当前镜像文件由云存储到共享存储的优化流程;
若不是云存储,则判断所述当前镜像文件的存储类型是否是共享存储,若是共享存储,则执行当前镜像文件由共享存储到本地存储的优化流程;
第五判断单元,用于在所述当前镜像文件的存储类型不是共享存储时,判断所述镜像资产目录中包含的镜像文件是否都已经被读取;
第六读取单元,用于在所述第五判断单元的结果为否时,依据镜像文件的使用频度由大到小的顺序将所述当前镜像文件的下一个镜像文件作为当前镜像文件;
第四触发单元,用于触发所述第三触发子单元,直至所述镜像资产目录中包含的镜像文件都已经被读取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210366821.8A CN102932415B (zh) | 2012-09-26 | 2012-09-26 | 一种镜像文件存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210366821.8A CN102932415B (zh) | 2012-09-26 | 2012-09-26 | 一种镜像文件存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102932415A true CN102932415A (zh) | 2013-02-13 |
CN102932415B CN102932415B (zh) | 2015-04-15 |
Family
ID=47647112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210366821.8A Expired - Fee Related CN102932415B (zh) | 2012-09-26 | 2012-09-26 | 一种镜像文件存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102932415B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935966A (zh) * | 2015-06-03 | 2015-09-23 | 无锡天脉聚源传媒科技有限公司 | 一种分类视频信息的复制方法及装置 |
CN104951308A (zh) * | 2015-06-30 | 2015-09-30 | 北京奇虎科技有限公司 | Docker Registry的管理优化方式及装置 |
CN105094897A (zh) * | 2015-07-02 | 2015-11-25 | 华为技术有限公司 | 一种虚拟机启动方法、云接入设备及云计算中心 |
CN105260229A (zh) * | 2015-10-28 | 2016-01-20 | 北京百度网讯科技有限公司 | 拉取虚拟机镜像文件的方法和装置 |
WO2016101662A1 (zh) * | 2014-12-26 | 2016-06-30 | 华为技术有限公司 | 一种数据处理方法及相关服务器 |
CN105740048A (zh) * | 2016-01-26 | 2016-07-06 | 华为技术有限公司 | 一种镜像管理方法、装置及系统 |
CN105897866A (zh) * | 2016-03-29 | 2016-08-24 | 新浪网技术(中国)有限公司 | 一种基于IaaS云平台的云主机迁移方法及装置 |
CN106815232A (zh) * | 2015-11-27 | 2017-06-09 | 华为技术有限公司 | 目录管理方法、装置及系统 |
CN106997392A (zh) * | 2017-04-10 | 2017-08-01 | 北京搜狐新媒体信息技术有限公司 | Docker镜像缓存信息的处理方法、装置以及读取方法和装置 |
CN107124473A (zh) * | 2017-06-26 | 2017-09-01 | 网宿科技股份有限公司 | 云平台的构建方法及云平台 |
CN107301063A (zh) * | 2017-05-10 | 2017-10-27 | 北京奇艺世纪科技有限公司 | 一种镜像管理方法及装置 |
CN107357836A (zh) * | 2017-06-22 | 2017-11-17 | 北京市天元网络技术股份有限公司 | 一种vnf包以及其引用的镜像文件删除方法和设备 |
CN107357691A (zh) * | 2016-05-09 | 2017-11-17 | 中兴通讯股份有限公司 | 镜像文件的处理方法及装置 |
CN107632791A (zh) * | 2017-10-10 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种存储空间的分配方法及系统 |
CN108369535A (zh) * | 2015-12-14 | 2018-08-03 | 微软技术许可有限责任公司 | 根据聚合声明性配置数据来配置云 |
CN108829349A (zh) * | 2018-05-30 | 2018-11-16 | 郑州易通众联电子科技有限公司 | 基于电子设备的数据存储方法、数据存储装置及电子设备 |
WO2018210178A1 (zh) * | 2017-05-19 | 2018-11-22 | 华为技术有限公司 | 文件存储方法和存储装置 |
CN109033430A (zh) * | 2018-08-13 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种虚拟机镜像文件存储方法及装置 |
WO2019134222A1 (zh) * | 2018-01-08 | 2019-07-11 | 平安科技(深圳)有限公司 | Docker镜像库文件存储方法、终端、设备以及存储介质 |
CN111095189A (zh) * | 2017-09-14 | 2020-05-01 | 国际商业机器公司 | 使用基于云的模组的精简配置 |
US10761869B2 (en) | 2017-06-26 | 2020-09-01 | Wangsu Science & Technology Co., Ltd. | Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type |
CN112799781A (zh) * | 2021-01-20 | 2021-05-14 | 广州市品高软件股份有限公司 | 一种基于对象存储协议的块存储访问方法 |
CN116700902A (zh) * | 2023-06-25 | 2023-09-05 | 天津大学 | 一种镜像层异步并行提取的容器加速部署方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035881A (zh) * | 2010-11-19 | 2011-04-27 | 清华大学 | 一种云端存储系统的数据缓存方法 |
CN102214118A (zh) * | 2010-04-08 | 2011-10-12 | 中国移动通信集团公司 | 一种虚拟机控制方法、系统及装置 |
CN102307206A (zh) * | 2010-09-25 | 2012-01-04 | 广东电子工业研究院有限公司 | 基于云存储的快速访问虚拟机镜像的缓存系统及其方法 |
CN102594858A (zh) * | 2010-11-19 | 2012-07-18 | 马维尔国际贸易有限公司 | 云存储环境中的镜像解决方案 |
CN102637174A (zh) * | 2011-02-11 | 2012-08-15 | 鸿富锦精密工业(深圳)有限公司 | 镜像文件管理系统及镜像文件管理方法 |
-
2012
- 2012-09-26 CN CN201210366821.8A patent/CN102932415B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214118A (zh) * | 2010-04-08 | 2011-10-12 | 中国移动通信集团公司 | 一种虚拟机控制方法、系统及装置 |
CN102307206A (zh) * | 2010-09-25 | 2012-01-04 | 广东电子工业研究院有限公司 | 基于云存储的快速访问虚拟机镜像的缓存系统及其方法 |
CN102035881A (zh) * | 2010-11-19 | 2011-04-27 | 清华大学 | 一种云端存储系统的数据缓存方法 |
CN102594858A (zh) * | 2010-11-19 | 2012-07-18 | 马维尔国际贸易有限公司 | 云存储环境中的镜像解决方案 |
CN102637174A (zh) * | 2011-02-11 | 2012-08-15 | 鸿富锦精密工业(深圳)有限公司 | 镜像文件管理系统及镜像文件管理方法 |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016101662A1 (zh) * | 2014-12-26 | 2016-06-30 | 华为技术有限公司 | 一种数据处理方法及相关服务器 |
CN105791370B (zh) * | 2014-12-26 | 2019-02-01 | 华为技术有限公司 | 一种数据处理方法及相关服务器 |
CN105791370A (zh) * | 2014-12-26 | 2016-07-20 | 华为技术有限公司 | 一种数据处理方法及相关服务器 |
CN104935966A (zh) * | 2015-06-03 | 2015-09-23 | 无锡天脉聚源传媒科技有限公司 | 一种分类视频信息的复制方法及装置 |
CN104951308A (zh) * | 2015-06-30 | 2015-09-30 | 北京奇虎科技有限公司 | Docker Registry的管理优化方式及装置 |
CN104951308B (zh) * | 2015-06-30 | 2019-05-21 | 北京奇虎科技有限公司 | Docker Registry的管理优化方式及装置 |
CN105094897B (zh) * | 2015-07-02 | 2019-05-28 | 华为技术有限公司 | 一种虚拟机启动方法、云接入设备及云计算中心 |
CN105094897A (zh) * | 2015-07-02 | 2015-11-25 | 华为技术有限公司 | 一种虚拟机启动方法、云接入设备及云计算中心 |
CN105260229A (zh) * | 2015-10-28 | 2016-01-20 | 北京百度网讯科技有限公司 | 拉取虚拟机镜像文件的方法和装置 |
CN106815232A (zh) * | 2015-11-27 | 2017-06-09 | 华为技术有限公司 | 目录管理方法、装置及系统 |
CN108369535A (zh) * | 2015-12-14 | 2018-08-03 | 微软技术许可有限责任公司 | 根据聚合声明性配置数据来配置云 |
CN105740048A (zh) * | 2016-01-26 | 2016-07-06 | 华为技术有限公司 | 一种镜像管理方法、装置及系统 |
CN105740048B (zh) * | 2016-01-26 | 2019-03-08 | 华为技术有限公司 | 一种镜像管理方法、装置及系统 |
CN105897866B (zh) * | 2016-03-29 | 2019-03-29 | 新浪网技术(中国)有限公司 | 一种基于IaaS云平台的云主机迁移方法及装置 |
CN105897866A (zh) * | 2016-03-29 | 2016-08-24 | 新浪网技术(中国)有限公司 | 一种基于IaaS云平台的云主机迁移方法及装置 |
CN107357691A (zh) * | 2016-05-09 | 2017-11-17 | 中兴通讯股份有限公司 | 镜像文件的处理方法及装置 |
CN106997392B (zh) * | 2017-04-10 | 2020-03-03 | 北京搜狐新媒体信息技术有限公司 | Docker镜像缓存信息的处理方法、装置以及读取方法和装置 |
CN106997392A (zh) * | 2017-04-10 | 2017-08-01 | 北京搜狐新媒体信息技术有限公司 | Docker镜像缓存信息的处理方法、装置以及读取方法和装置 |
CN107301063A (zh) * | 2017-05-10 | 2017-10-27 | 北京奇艺世纪科技有限公司 | 一种镜像管理方法及装置 |
CN107301063B (zh) * | 2017-05-10 | 2020-07-31 | 北京奇艺世纪科技有限公司 | 一种镜像管理方法及装置 |
CN108959300A (zh) * | 2017-05-19 | 2018-12-07 | 华为技术有限公司 | 文件存储方法和存储装置 |
US11301436B2 (en) | 2017-05-19 | 2022-04-12 | Huawei Technologies Co., Ltd. | File storage method and storage apparatus |
CN108959300B (zh) * | 2017-05-19 | 2022-07-22 | 华为技术有限公司 | 文件存储方法和存储装置 |
WO2018210178A1 (zh) * | 2017-05-19 | 2018-11-22 | 华为技术有限公司 | 文件存储方法和存储装置 |
CN107357836B (zh) * | 2017-06-22 | 2020-01-24 | 浪潮天元通信信息系统有限公司 | 一种vnf包以及其引用的镜像文件删除方法和设备 |
CN107357836A (zh) * | 2017-06-22 | 2017-11-17 | 北京市天元网络技术股份有限公司 | 一种vnf包以及其引用的镜像文件删除方法和设备 |
EP3442201A4 (en) * | 2017-06-26 | 2019-02-13 | Wangsu Science & Technology Co., Ltd. | METHOD OF CONSTRUCTING A CLOUD PLATFORM AND CLOUD PLATFORM |
WO2019000535A1 (zh) * | 2017-06-26 | 2019-01-03 | 网宿科技股份有限公司 | 云平台的构建方法及云平台 |
CN107124473A (zh) * | 2017-06-26 | 2017-09-01 | 网宿科技股份有限公司 | 云平台的构建方法及云平台 |
US10761869B2 (en) | 2017-06-26 | 2020-09-01 | Wangsu Science & Technology Co., Ltd. | Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type |
CN111095189A (zh) * | 2017-09-14 | 2020-05-01 | 国际商业机器公司 | 使用基于云的模组的精简配置 |
CN107632791A (zh) * | 2017-10-10 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种存储空间的分配方法及系统 |
WO2019134222A1 (zh) * | 2018-01-08 | 2019-07-11 | 平安科技(深圳)有限公司 | Docker镜像库文件存储方法、终端、设备以及存储介质 |
CN108829349A (zh) * | 2018-05-30 | 2018-11-16 | 郑州易通众联电子科技有限公司 | 基于电子设备的数据存储方法、数据存储装置及电子设备 |
CN109033430A (zh) * | 2018-08-13 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种虚拟机镜像文件存储方法及装置 |
CN112799781B (zh) * | 2021-01-20 | 2021-09-03 | 广州市品高软件股份有限公司 | 一种基于对象存储协议的块存储池访问方法 |
CN112799781A (zh) * | 2021-01-20 | 2021-05-14 | 广州市品高软件股份有限公司 | 一种基于对象存储协议的块存储访问方法 |
CN116700902A (zh) * | 2023-06-25 | 2023-09-05 | 天津大学 | 一种镜像层异步并行提取的容器加速部署方法及装置 |
CN116700902B (zh) * | 2023-06-25 | 2024-03-12 | 天津大学 | 一种镜像层异步并行提取的容器加速部署方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102932415B (zh) | 2015-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102932415B (zh) | 一种镜像文件存储方法及装置 | |
CN102419770B (zh) | 文件共享系统及实现文件共享的方法、文件索引服务设备 | |
EP2863310B1 (en) | Data processing method and apparatus, and shared storage device | |
CN107911249B (zh) | 一种网络设备的命令行发送方法、装置和设备 | |
CN102609446B (zh) | 一种分布式Bloom过滤系统及其使用方法 | |
CN104572727A (zh) | 一种数据查询方法及装置 | |
CN104537076A (zh) | 一种文件读写方法及装置 | |
CN104301360A (zh) | 一种日志数据记录的方法、日志服务器及系统 | |
JP2012526320A (ja) | 検索エンジンインデクシング及びインデックスを使用する検索のための方法とシステム | |
CN107515879B (zh) | 用于文档检索的方法和电子设备 | |
CN107085546B (zh) | 基于故障域技术的数据管理方法和装置 | |
CN106446044B (zh) | 存储空间回收方法及装置 | |
CN109240607B (zh) | 一种文件读取方法和装置 | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
CN106649602B (zh) | 业务对象数据处理方法、装置和服务器 | |
CN105095261A (zh) | 数据插入方法和装置 | |
CN105224532A (zh) | 数据处理方法及装置 | |
CN103049574A (zh) | 实现文件动态副本的键值文件系统及方法 | |
CN101576854A (zh) | 文件访问的方法、装置及系统 | |
CN108243207B (zh) | 一种网络云盘的数据存储方法 | |
CN102724301B (zh) | 云数据库系统以及云数据读写处理方法、设备 | |
CN102902770A (zh) | 一种镜像文件拼装方法及系统 | |
CN103077214A (zh) | 文件存储方法及装置 | |
CN108897858A (zh) | 分布式集群索引分片的评估方法及装置、电子设备 | |
CN111752941B (zh) | 一种数据存储、访问方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150415 Termination date: 20210926 |
|
CF01 | Termination of patent right due to non-payment of annual fee |