【技术实现步骤摘要】
本专利技术涉及计算机技术,特 别是涉及一种镜像文件拼装方法及系统。
技术介绍
在虚拟化数据中心环境下,虚拟机镜像文件(镜像文件)是虚拟化环境中软件运行支撑服务器运行环境在存储设备上的存储形式。镜像文件包含操作系统、软件等运行期依赖的数据,镜像文件较大且构建时间较长。为了避免镜像文件的频繁复制和构建,本领域技术人员通常采用构建虚拟机镜像资产库的形式来存储安装了不同软件的虚拟机镜像文件。用户可通过查询资产库查找所需镜像文件并将所述镜像文件存储到指定物理服务器上运行使用。由于镜像文件大小通常在IOGB级另I」,且不同类型或同一类型不同版本软件资产都需要有对应的独立虚拟机镜像文件才可被用户直接存储使用,如“Tomcat5. 5+MySQL5. 0+Ubuntul0”与“Tomcat 6+MySQL5. 0+Ubuntul0”就需要两个虚拟机镜像文件,而所述两个镜像文件中存储的数据大部分相同,这就造成了存储空间的浪费。
技术实现思路
本专利技术所要解决的技术问题是实现镜像文件的压缩存储,提供一种镜像文件拼装方法及系统,以解决现有技术中因为多个镜像文件中存储的数据大部分相同造成数据冗余 ...
【技术保护点】
一种镜像文件拼装方法,其特征在于,包括:根据当前镜像文件的拼装请求获取当前镜像文件所需的所有拼装文件;根据预设的软件依赖关系和软件版本依赖关系,将所述所有拼装文件生成一个有序拼装文件序列;依据拼装文件资源库中记录的拼装文件存储形式,确定有序拼装文件序列中每一个拼装文件的文件属性;根据确定的文件属性依次将所述每一个拼装文件按照所述拼装路径进行拼装以得到当前镜像文件。
【技术特征摘要】
1.一种镜像文件拼装方法,其特征在于,包括 根据当前镜像文件的拼装请求获取当前镜像文件所需的所有拼装文件; 根据预设的软件依赖关系和软件版本依赖关系,将所述所有拼装文件生成一个有序拼装文件序列; 依据拼装文件资源库中记录的拼装文件存储形式,确定有序拼装文件序列中每一个拼装文件的文件属性; 根据确定的文件属性依次将所述每一个拼装文件按照所述拼装路径进行拼装以得到当前镜像文件。2.根据权利要求I所述的方法,其特征在于,所述根据预设的软件依赖关系和软件版本依赖关系,将所述所有拼装文件生成一个有序拼装文件序列,具体包括 根据预设的软件依赖关系,确定入度为零或者最接近零的软件类型拼装文件,所述入度是指依赖于所述软件类型拼装文件而存在的其他拼装文件的个数; 根据预设的软件版本依赖关系确定所述软件类型拼装文件及其所依赖的拼装文件的版本号; 根据预设的软件依赖关系和所述版本号,生成当前镜像文件的拼装路径; 依据所述拼装路径将所述所有拼装文件生成一个有序拼装文件序列。3.根据权利要求I所述的方法,其特征在于,所述所有拼装文件的文件属性至少包括镜像文件、镜像快照以及软件包中的一个。4.根据权利要求I所述的方法,其特征在于,所述根据确定的文件属性依次将所述每一个拼装文件按照所述拼装路径进行拼装以得到当前镜像文件,具体包括 根据所述拼装路径读取有序拼装文件序列中的第一个拼装文件作为当前拼装文件,进入当前拼装文件处理流程,所述当前拼装文件处理流程包括 判断所述当前拼装文件的文件属性是否是镜像,若是镜像,则从资源管理器中查找所述当前拼装文件对应的拼装镜像文件,并将所述拼装镜像文件安装到待拼装的当前镜像文件中; 若不是镜像,则判断所述当前拼装文件的文件属性是否是快照,若是快照,则从资源管理器中查找所述当前拼装文件对应的拼装快照文件,并将所述拼装快照文件安装到待拼装的当前镜像文件中; 若不是快照,则从资源管理器中查找所述当前拼装文件对应的软件包,并将所述软件包安装到待拼装的当前镜像文件中; 判断所述有序拼装文件序列中的拼装文件是否都已被读取,若否,则依据拼装路径,读取所述有序拼装文件集合中所述当前拼装文件的下一个拼装文件作为当前拼装文件,执行所述判断当前拼装文件的文件属性是否是镜像的步骤,直至所述有序拼装文件序列中的拼装文件都已被读取。5.根据权利要求I所述的方法,其特征在于,所述根据确定的文件属性依次将所述每一个拼装文件按照所述拼装路径进行拼装以得到当前镜像文件,之后,还包括 将所述当前镜像文件发送到所述当前镜像文件拼装请求中指定的服务器中运行,以启动所...
【专利技术属性】
技术研发人员:许力,
申请(专利权)人:东软集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。