掌桥专利:专业的专利平台
掌桥专利
首页

虚拟机系统镜像处理方法、装置、设备及存储介质

文献发布时间:2023-06-19 11:19:16


虚拟机系统镜像处理方法、装置、设备及存储介质

技术领域

本发明涉及云计算领域,尤其涉及一种虚拟机系统镜像处理方法、装置、设备及存储介质。

背景技术

随着云计算技术的高速发展,越来越多的用户采用云平台使用云服务器虚拟机来进行业务服务。云服务提供商可以根据不同用户的服务需求,对云服务器的虚拟机镜像进行各种定制与修改,这使得云平台需要维护和存储大量不同的公用虚拟机镜像。

传统的虚拟机系统镜像制作过程,需要将系统ISO文件上传至虚拟化主机管理平台,在主机平台上用ISO创建虚拟机,镜像制作员登陆虚拟机进行必要的配置和优化,完成之后关机再将虚拟机转化为相应的镜像格式文件,如果在后续对镜像进行测试,还需要人为通过镜像创建虚拟机进行验证操作,以及人工将镜像推送发布,因此传统的虚拟机镜像制作不灵活,无法确保镜像的准确性。

发明内容

本发明的主要目的在于解决目前虚拟机系统镜像的处理过程中错误率高的问题。

本发明第一方面提供了一种虚拟机系统镜像处理方法,所述虚拟机系统镜像处理方法包括:

获取制作虚拟机系统镜像对应的配置参数;

根据所述配置参数,创建虚拟机系统镜像,并依次对所述虚拟机系统镜像进行镜像注册、镜像发布和镜像信息同步;

获取所述虚拟机系统镜像对应的测试脚本,并调用预置云主机执行所述测试脚本,以对所述虚拟机系统镜像进行可用性测试,得到镜像测试结果;

若所述镜像测试结果为通过,则对所述虚拟机系统镜像进行基线扫描和漏洞扫描,得到扫描结果,所述扫描结果包括:所述虚拟机系统镜像有漏洞或无漏洞;

当所述虚拟机系统镜像无漏洞时,将所述虚拟机系统镜像上传至预置镜像仓库。

可选的,在本发明第一方面的第一种实现方式中,所述根据所述配置参数,创建虚拟机系统镜像,并依次对所述虚拟机系统镜像进行镜像注册、镜像发布和镜像信息同步包括:

根据所述配置参数,创建虚拟机系统镜像;

注册所述虚拟机系统镜像,并将注册成功的虚拟机系统镜像发布至预置云平台;

通过所述云平台获取所述虚拟机系统镜像的镜像源路径信息,并根据所述镜像源路径信息,对所述虚拟机系统镜像进行镜像信息同步。

可选的,在本发明第一方面的第二种实现方式中,所述获取所述虚拟机系统镜像对应的测试脚本,并调用预置云主机执行所述测试脚本,以对所述虚拟机系统镜像进行可用性测试,得到镜像测试结果包括:

获取所述虚拟机系统镜像对应的镜像测试脚本;

提取所述镜像测试脚本中的关键字,并根据所述关键字匹配与所述虚拟机系统镜像对应的云主机;

将所述镜像测试脚本上传至所述云主机,并通过所述云主机对所述虚拟机系统镜像进行可用性测试,得到所述虚拟机系统镜像的报错量;

根据所述报错量生成所述虚拟机系统镜像对应的镜像测试结果。

可选的,在本发明第一方面的第三种实现方式中,所述若所述镜像测试结果为通过,则对所述虚拟机系统镜像进行基线扫描和漏洞扫描,得到扫描结果包括:

若所述镜像测试结果为通过,则对所述虚拟机系统镜像进行基线扫描,得到所述虚拟机系统镜像的基线配置信息;

对所述基线配置信息进行归一化解析,得到所述基线配置信息中的字段数据;

根据预置漏洞特征数据库,对所述字段数据进行漏洞特征分析,得到漏洞分析结果,并将所述漏洞分析结果作为所述虚拟机系统镜像的扫描结果。

可选的,在本发明第一方面的第四种实现方式中,所述当所述虚拟机系统镜像无漏洞时,将所述虚拟机系统镜像上传至预置镜像仓库包括:

当所述虚拟机系统镜像无漏洞时,对所述虚拟机系统镜像进行分段,得到所述虚拟机系统镜像对应的多个镜像段;

对所述各镜像段进行信息提取,得到多个镜像段信息;

根据所述各镜像段信息,确定各镜像段信息对应的压缩算法,并通过所述压缩算法对所述各镜像段进行信息压缩,得到多个压缩镜像段;

对所述各压缩镜像段进行镜像合并,得到压缩后的虚拟机系统镜像,并将所述压缩后的虚拟机系统镜像上传至预置镜像仓库。

可选的,在本发明第一方面的第五种实现方式中,在所述当所述虚拟机系统镜像无漏洞时,将所述虚拟机系统镜像上传至预置镜像仓库之后,还包括:

计算所述虚拟机系统镜像对应的MD5值,并将所述虚拟机系统镜像对应的MD5值保存至预置镜像信息表中。

本发明第二方面提供了一种虚拟机系统镜像处理装置,所述虚拟机系统镜像处理装置包括:

获取模块,用于获取制作虚拟机系统镜像对应的配置参数;

镜像创建模块,用于根据所述配置参数,创建虚拟机系统镜像,并依次对所述虚拟机系统镜像进行镜像注册、镜像发布和镜像信息同步;

镜像测试模块,用于获取所述虚拟机系统镜像对应的测试脚本,并调用预置云主机执行所述测试脚本,以对所述虚拟机系统镜像进行可用性测试,得到镜像测试结果;

镜像扫描模块,用于若所述镜像测试结果为通过,则对所述虚拟机系统镜像进行基线扫描和漏洞扫描,得到扫描结果,所述扫描结果包括:所述虚拟机系统镜像有漏洞或无漏洞;

上传模块,用于当所述虚拟机系统镜像无漏洞时,将所述虚拟机系统镜像上传至预置镜像仓库。

可选的,在本发明第二方面的第一种实现方式中,所述镜像创建模块具体用于:

根据所述配置参数,创建虚拟机系统镜像;

注册所述虚拟机系统镜像,并将注册成功的虚拟机系统镜像发布至预置云平台;

通过所述云平台获取所述虚拟机系统镜像的镜像源路径信息,并根据所述镜像源路径信息,对所述虚拟机系统镜像进行镜像信息同步。

可选的,在本发明第二方面的第二种实现方式中,所述镜像测试模块具体用于:

获取所述虚拟机系统镜像对应的镜像测试脚本;

提取所述镜像测试脚本中的关键字,并根据所述关键字匹配与所述虚拟机系统镜像对应的云主机;

将所述镜像测试脚本上传至所述云主机,并通过所述云主机对所述虚拟机系统镜像进行可用性测试,得到所述虚拟机系统镜像的报错量;

根据所述报错量生成所述虚拟机系统镜像对应的镜像测试结果。

可选的,在本发明第二方面的第三种实现方式中,所述镜像扫描模块具体用于:

若所述镜像测试结果为通过,则对所述虚拟机系统镜像进行基线扫描,得到所述虚拟机系统镜像的基线配置信息;

对所述基线配置信息进行归一化解析,得到所述基线配置信息中的字段数据;

根据预置漏洞特征数据库,对所述字段数据进行漏洞特征分析,得到漏洞分析结果,并将所述漏洞分析结果作为所述虚拟机系统镜像的扫描结果。

可选的,在本发明第二方面的第四种实现方式中,所述上传模块具体用于:

当所述虚拟机系统镜像无漏洞时,对所述虚拟机系统镜像进行分段,得到所述虚拟机系统镜像对应的多个镜像段;

对所述各镜像段进行信息提取,得到多个镜像段信息;

根据所述各镜像段信息,确定各镜像段信息对应的压缩算法,并通过所述压缩算法对所述各镜像段进行信息压缩,得到多个压缩镜像段;

对所述各压缩镜像段进行镜像合并,得到压缩后的虚拟机系统镜像,并将所述压缩后的虚拟机系统镜像上传至预置镜像仓库。

可选的,在本发明第二方面的第五种实现方式中,所述虚拟机镜像处理装置还包括:

计算模块,用于计算所述虚拟机系统镜像对应的MD5值,并将所述虚拟机系统镜像对应的MD5值保存至预置镜像信息表中。

本发明第三方面提供了一种虚拟机系统镜像处理设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述虚拟机系统镜像处理设备执行上述的虚拟机系统镜像处理方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的虚拟机系统镜像处理方法。

本发明提供的技术方案中,首先获取虚拟机系统镜像制作对应的配置参数;然后直接根据镜像制作所需的配置参数,创建虚拟机系统镜像,再在云平台上依次对创建完成的虚拟机系统镜像进行镜像注册、镜像发布和镜像信息同步,完成发布后则对虚拟机系统镜像进行可用性测试,具体的测试过程为获取所述虚拟机系统镜像对应的测试脚本,并调用预置云主机执行所述测试脚本,得到镜像测试结果;当测试通过时,对虚拟机系统镜像进行基线扫描和漏洞扫描,得到扫描结果,扫描的目的是检查所述虚拟机系统镜像有无漏洞;当所述虚拟机系统镜像无漏洞时,将所述虚拟机系统镜像上传至预置镜像仓库。本发明提高了虚拟机系统镜像的处理过程中的准确率。

附图说明

图1为本发明实施例中虚拟机系统镜像处理方法的第一个实施例示意图;

图2为本发明实施例中虚拟机系统镜像处理方法的交互流程示意图;

图3为本发明实施例中虚拟机系统镜像处理方法的第二个实施例示意图;

图4为本发明实施例中虚拟机系统镜像处理方法的第三个实施例示意图;

图5为本发明实施例中虚拟机系统镜像处理方法的第四个实施例示意图;

图6为本发明实施例中虚拟机系统镜像处理装置的一个实施例示意图;

图7为本发明实施例中虚拟机系统镜像处理设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种虚拟机系统镜像处理方法、装置、设备及存储介质。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中虚拟机系统镜像处理方法的第一个实施例包括:

101、获取制作虚拟机系统镜像对应的配置参数;

可以理解的是,本发明的执行主体可以为虚拟机系统镜像处理装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。

本实施例中,所述虚拟机系统镜像的在线制作方法基于IMS系统(IPMultimediaSubsystem),IMS系统是IP多媒体系统,是一种全新的多媒体业务形式,它能够满足的终端客户更新颖、更多样化多媒体业务的需求。IMS是下一代网络的核心技术,也是解决移动与固网融合的重要方式。虚拟机系统镜像制作对应的配置参数包括:镜像名称、镜像格式。

102、根据所述配置参数,创建虚拟机系统镜像,并依次对所述虚拟机系统镜像进行镜像注册、镜像发布和镜像信息同步;

本实施例中,参数配置完成后,IMS系统通过引入镜像制作工具packer进行虚拟机系统镜像生成。虚拟机系统镜像创建完成后对其进行注册,注册成功后返回给用户注册成功的邮件,再将注册成功的虚拟机系统镜像发布至云平台,发布成功后仍返回给用户发布成功的邮件,然后再通过云平台将发布成功的虚拟机系统镜像的镜像信息同步至云平台。

可选的,在一实施例中,所述根据所述配置参数,创建虚拟机系统镜像包括:

根据所述镜像名称、镜像格式,对所述虚拟机操作系统执行虚拟机系统镜像定制化操作,得到所述虚拟机操作系统对应的虚拟机系统镜像。

本实施例中,所述虚拟机系统镜像在线制作时接收到的相应的虚拟机系统镜像的镜像名称、镜像格式,根据实际需要对所述虚拟机操作系统进行定制化操作,IMS系统根据用户端对所述虚拟机操作系统的定制化操作对所述虚拟机操作系统进行修改,以生成定制虚拟机系统镜像,所述定制化操作至少包括系统设置、软件定制、个性化操作中的任意一种或多种,所述个性化操作例如变换系统风格、系统色彩或者字体大小、样式等定制化操作。

可选的,在一实施例中,所述依次对所述虚拟机系统镜像进行镜像注册、镜像发布和镜像信息同步包括:

注册所述虚拟机系统镜像,并将注册成功的虚拟机系统镜像发布至预置云平台;

通过所述云平台获取所述虚拟机系统镜像的镜像源路径信息,并根据所述镜像源路径信息,对所述虚拟机系统镜像进行镜像信息同步。

本实施例中,云平台是Docker,Docker是一种轻量级的开源容器引擎,容器的含义是开发者可以将应用程序和依赖库的文件进行打包封装待一个镜像中,用户把虚拟机系统镜像传输到要运行应用程序的以及依赖的库文件进行打包,封装到一个镜像中,在Docker引擎上以容器的方式运行,每一个容器是一个自称一体的实例。注册发布完成后的虚拟机系统镜像通过云平台爬取到镜像源路径信息,再将镜像源信息同步至云平台。

103、获取所述虚拟机系统镜像对应的测试脚本,并调用预置云主机执行所述测试脚本,以对所述虚拟机系统镜像进行可用性测试,得到镜像测试结果;

本实施例中,测试虚拟机系统镜像在内部测试完成后交由运维交付团队使用,用于在项目交付过程中对交付的应用程序进行测试,虚拟机系统镜像包括用于测试所述应用程序的测试脚本和用于搭建测试环境的系统程序,通过该系统程序搭建测试环境后运行该测试脚本以执行自动化测试。将虚拟机系统镜像可能存在的问题提前暴露在创建镜像的时候,这样可大量缩短镜像的交付周期,降低人力成本。

本实施例中,若测试结果为不通过时,则重新进行参数配置进行下一轮的虚拟机系统镜像制作和测试,目的是为了得到测试结果为通过的虚拟机系统镜像。

104、若所述镜像测试结果为通过,则对所述虚拟机系统镜像进行基线扫描和漏洞扫描,得到扫描结果;

本实施例中,基线扫描是通过对虚拟机镜像进行配置信息的提取,得到配置信息,然后再通过对基线配置信息进行归一化解析,从而得到字段数据。漏洞扫描是通过对虚拟机镜像的字段数据进行漏洞分析,得到漏洞分析的结果,将漏洞分析的结果作为扫描结果输出。

105、当所述虚拟机系统镜像无漏洞时,将所述虚拟机系统镜像上传至预置镜像仓库。

本实施例中,镜像仓库是保存虚拟机系统镜像的一个内部Registry。同时管理镜像和软件,为用户私有镜像提供更多的软件依赖,节省用户开发私有镜像成本。镜像站的存储使用NAS技术和设备,安全可靠,数据同步采用OBS,可以跨可用区、跨地区同步镜像,提升可靠性和安全性,降低IMS系统开发复杂度。当检测完成的虚拟机系统镜像为无漏洞时,将虚拟机系统镜像进行体积压缩后,上传至所述镜像仓库。

本实施例中,当所述虚拟机系统镜像有漏洞时,则重新进行参数配置进行下一轮的虚拟机系统镜像制作、测试和扫描,最终的目的是得到无漏洞的虚拟机系统镜像然后上传至镜像仓库。

可选的,在一实施例中,在所述当所述虚拟机系统镜像无漏洞时,将所述虚拟机系统镜像上传至预置镜像仓库之后,还包括:

计算所述虚拟机系统镜像对应的MD5值,并将所述虚拟机系统镜像对应的MD5值保存至预置镜像信息表中。

本实施例中,计算所述虚拟机系统镜像对应的MD5值,对计算得到的虚拟机系统镜像对应的MD5值进行校验,当所述虚拟机系统镜像对应的MD5值校验成功后,将所述各虚拟机系统镜像对应的MD5值保存至预置镜像信息表中,Nova或者Cinder服务通过收到的镜像数据执行下一步操作。

本发明实施例中,首先获取虚拟机系统镜像制作对应的配置参数;然后直接根据镜像制作所需的配置参数,创建虚拟机系统镜像,再在云平台上依次对创建完成的虚拟机系统镜像进行镜像注册、镜像发布和镜像信息同步,完成发布后则对虚拟机系统镜像进行可用性测试,具体的测试过程为获取所述虚拟机系统镜像对应的测试脚本,并调用预置云主机执行所述测试脚本,得到镜像测试结果;当测试通过时,对虚拟机系统镜像进行基线扫描和漏洞扫描,得到扫描结果,扫描的目的是检查所述虚拟机系统镜像有无漏洞;当所述虚拟机系统镜像无漏洞时,将所述虚拟机系统镜像上传至预置镜像仓库。本发明提高了虚拟机系统镜像的处理过程中的准确率。

为更好的理解本发明,请参阅图2,本发明实施例中虚拟机系统镜像处理方法的交互流程示意图包括:

用户首先登录到IMS系统,然后配置虚拟机系统镜像制作所需的参数,所述IMS系统根据配置的参数制作镜像,虚拟机系统镜像制作完成后在云平台上进行镜像注册、镜像发布,最后将镜像信息同步至云平台。通过云主机对虚拟机系统镜像进行可用性测试,然后将测试结果返回至IMS系统,由系统提示测试结果,测试结果为通过时,通过安全管理平台对虚拟机系统镜像进行基线扫描和漏洞扫描,由安全管理平台返回扫描结果至IMS系统。最后将扫描结果为无漏洞的虚拟机系统镜像上传至镜像仓库。

请参阅图3,本发明实施例中虚拟机系统镜像处理方法的第二个实施例包括:

201、获取制作虚拟机系统镜像对应的配置参数;

202、根据所述配置参数,创建虚拟机系统镜像,并依次对所述虚拟机系统镜像进行镜像注册、镜像发布和镜像信息同步;

203、获取所述虚拟机系统镜像对应的镜像测试脚本;

204、提取所述镜像测试脚本中的关键字,并根据所述关键字匹配与所述虚拟机系统镜像对应的云主机;

本实施例中,镜像测试脚本中的关键字包括:基础函数、业务函数、文件类型、和目录等,提取出的关键字按主关键字来归类。可以通过配置开头的设置来确定检查什么关键字,文件类型,过滤哪些文件和目录等。通过调用云主机库,根据关键字的识别结果来匹配关键字对应的云主机,得到与所述虚拟机系统镜像对应的云主机。

205、将所述镜像测试脚本上传至所述云主机,并通过所述云主机对所述虚拟机系统镜像进行可用性测试,得到所述虚拟机系统镜像的报错量;

本实施例中,所述测试脚本包括多个子测试脚本,提取所述镜像测试脚本中的关键字,并根据所述关键字匹配与所述虚拟机系统镜像对应的云主机,通过所述云主机对所述虚拟机系统镜像进行可用性测试,云主机会自动发起一个测试请求,然后自动去连接对应的云主机,将测试脚本上传至云主机进行测试。

206、根据所述报错量生成所述虚拟机系统镜像对应的镜像测试结果;

本实施例中,如果虚拟机系统镜像中有错误,则将错误上报至所述云主机得到所述虚拟机系统镜像的报错量,当报错量超过错误量阈值时,输出镜像测试结果为不通过,当报错量小于错误量阈值时,输出镜像测试结果为通过。虚拟机系统镜像通过可用性测试后认为所有提供的功能完整可用,可以满足交付条件,测试完成后交由运维交付团队使用,用于在项目交付过程中对交付的应用程序进行测试。该虚拟机系统镜像包括用于测试所述应用程序的测试脚本和用于搭建测试环境的系统程序,通过该系统程序搭建测试环境后运行该测试脚本以执行自动化测试。

207、若所述镜像测试结果为通过,则对所述虚拟机系统镜像进行基线扫描和漏洞扫描,得到扫描结果;

208、当所述虚拟机系统镜像无漏洞时,将所述虚拟机系统镜像上传至预置镜像仓库。

本发明实施例中,对虚拟机系统镜像进行可用性测试首先是通过对虚拟机系统镜像对应的测试脚本进行对应云主机的匹配,再通过云主机对测试脚本进行可用性测试,输出虚拟机系统镜像的报错量,当报错量小于预置错误量阈值时,则镜像测试结果为通过。通过可用性测试将虚拟机系统镜像的错误及时暴露,可大量缩短镜像的交付周期从而提高虚拟机系统镜像的处理效率。

请参阅图4,本发明实施例中虚拟机系统镜像处理方法的第三个实施例包括:

301、获取制作虚拟机系统镜像对应的配置参数;

302、根据所述配置参数,创建虚拟机系统镜像,并依次对所述虚拟机系统镜像进行镜像注册、镜像发布和镜像信息同步;

303、获取所述虚拟机系统镜像对应的测试脚本,并调用预置云主机执行所述测试脚本,以对所述虚拟机系统镜像进行可用性测试,得到镜像测试结果;

304、若所述镜像测试结果为通过,则对所述虚拟机系统镜像进行基线扫描,得到所述虚拟机系统镜像的基线配置信息;

本实施例中,对通过可用性测试的虚拟机系统镜像进行基线扫描,基线扫描主要是扫描虚拟机系统镜像的基线配置参数,基线配置参数包括:账号、口令、授权、日志、IP通信等,再将扫描得到的基线配置参数与预置安全生产标准比较,若符合安全生产标准则输出将符合标准的基线配置信息输出。

305、对所述基线配置信息进行归一化解析,得到所述基线配置信息中的字段数据;

本实施例中,归一化分析是根据数据的字段数据类型,查询预先配置的多个字段数据类型中是否存在与该字段数据类型相对应的字段数据类型,对虚拟机系统镜像的基线配置信息进行字段数据匹配,得到基线配置信息中的多个字段数据。

306、根据预置漏洞特征数据库,对所述字段数据进行漏洞特征分析,得到漏洞分析结果,并将所述漏洞分析结果作为所述虚拟机系统镜像的扫描结果;

本实施例中,将字段数据与漏洞特征数据库进行比对,如果基线配置信息所对应的字段数据中匹配得到的漏洞特征数据超过了预置的漏洞特征数据阈值,则输出扫描结果为所述虚拟机系统镜像为有漏洞,当所述基线配置信息所对应的字段数据中匹配得到的漏洞特征数据小于预置漏洞特征数据阈值,则输出扫描结果为所述虚拟机系统镜像为无漏洞。

307、当所述虚拟机系统镜像无漏洞时,将所述虚拟机系统镜像上传至预置镜像仓库。

本发明实施例中,首先对虚拟机系统镜像进行基线配置信息扫描,然后对基线配置信息进行归一化分析,归一化分析得到基线配置信息中的字段数据,最后通过字段数据和漏洞特征数据库进行漏洞分析,输出最终的扫描结果。本实施例对虚拟机系统镜像进一步的进行漏洞排查确保虚拟机系统镜像可以安全上传,进一步提高了虚拟机系统镜像上传的效率。

请参阅图5,本发明实施例中虚拟机系统镜像处理方法的第四个实施例包括:

401、获取制作虚拟机系统镜像对应的配置参数;

402、根据所述配置参数,创建虚拟机系统镜像,并依次对所述虚拟机系统镜像进行镜像注册、镜像发布和镜像信息同步;

403、获取所述虚拟机系统镜像对应的测试脚本,并调用预置云主机执行所述测试脚本,以对所述虚拟机系统镜像进行可用性测试,得到镜像测试结果;

404、若所述镜像测试结果为通过,则对所述虚拟机系统镜像进行基线扫描和漏洞扫描,得到扫描结果;

405、当所述虚拟机系统镜像无漏洞时,对所述虚拟机系统镜像进行分段,得到所述虚拟机系统镜像对应的多个镜像段;

本实施例中,对无漏洞的虚拟机系统镜像进行分段,分段是对虚拟机系统镜像的进行解析,虚拟机系统镜像和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,通过读取容器虚拟机系统镜像的文件头,将虚拟机系统镜像按初始镜像、中间镜像、末尾镜像进行划分,划分为不同类型的镜像段,得到不同类型的镜像段。

406、对所述各镜像段进行信息提取,得到多个镜像段信息;

本实施例中,提取虚拟机系统镜像中各镜像段信息的初始大小和起始位置,其中虚拟机系统镜像中各镜像段包括的信息为:代码段信息,数据段信息,未初始化数据信息等。提取得到每个镜像段对应的镜像段信息。

407、根据所述各镜像段信息,确定各镜像段信息对应的压缩算法,并通过所述压缩算法对所述各镜像段进行信息压缩,得到多个压缩镜像段;

本实施例中,根据所述各镜像段信息,确定各镜像段信息对应的压缩算法,例如:对代码段信息,数据段信息,未初始化数据信息采用zip压缩算法进行压缩处理。例如:对代码段信息,数据段信息采用zip压缩算法进行压缩处理,对未初始化数据信息采用rar压缩算法进行压缩处理等。对虚拟机系统镜像中各镜像段采用对应的压缩算法进行压缩处理,得到多个压缩镜像段。

408、对所述各压缩镜像段进行镜像合并,得到压缩后的虚拟机系统镜像,并将所述压缩后的虚拟机系统镜像上传至预置镜像仓库。

本发明实施例中,压缩后的虚拟机系统镜像体积更小,可以有效缩短上传时间,镜像仓库可以将压缩后的虚拟机系统镜像持久化存储在云数据库中,有完善的数据备份和恢复能力,可以更好的管理虚拟机系统镜像。

上面对本发明实施例中虚拟机系统镜像处理方法进行了描述,下面对本发明实施例中虚拟机系统镜像处理装置进行描述,请参阅图6,本发明实施例中虚拟机系统镜像处理装置一个实施例包括:

获取模块501,用于获取制作虚拟机系统镜像对应的配置参数;

镜像创建模块502,用于根据所述配置参数,创建虚拟机系统镜像,并依次对所述虚拟机系统镜像进行镜像注册、镜像发布和镜像信息同步;

镜像测试模块503,用于获取所述虚拟机系统镜像对应的测试脚本,并调用预置云主机执行所述测试脚本,以对所述虚拟机系统镜像进行可用性测试,得到镜像测试结果;

镜像扫描模块504,用于若所述镜像测试结果为通过,则对所述虚拟机系统镜像进行基线扫描和漏洞扫描,得到扫描结果,所述扫描结果包括:所述虚拟机系统镜像有漏洞或无漏洞;

上传模块505,用于当所述虚拟机系统镜像无漏洞时,将所述虚拟机系统镜像上传至预置镜像仓库。

可选的,在一实施例中,所述镜像创建模块502具体用于:

根据所述配置参数,创建虚拟机系统镜像;

注册所述虚拟机系统镜像,并将注册成功的虚拟机系统镜像发布至预置云平台;

通过所述云平台获取所述虚拟机系统镜像的镜像源路径信息,并根据所述镜像源路径信息,对所述虚拟机系统镜像进行镜像信息同步。

可选的,在一实施例中,所述镜像测试模块503具体用于:

获取所述虚拟机系统镜像对应的镜像测试脚本;

提取所述镜像测试脚本中的关键字,并根据所述关键字匹配与所述虚拟机系统镜像对应的云主机;

将所述镜像测试脚本上传至所述云主机,并通过所述云主机对所述虚拟机系统镜像进行可用性测试,得到所述虚拟机系统镜像的报错量;

根据所述报错量生成所述虚拟机系统镜像对应的镜像测试结果。

可选的,在一实施例中,所述镜像扫描模块504具体用于:

若所述镜像测试结果为通过,则对所述虚拟机系统镜像进行基线扫描,得到所述虚拟机系统镜像的基线配置信息;

对所述基线配置信息进行归一化解析,得到所述基线配置信息中的字段数据;

根据预置漏洞特征数据库,对所述字段数据进行漏洞特征分析,得到漏洞分析结果,并将所述漏洞分析结果作为所述虚拟机系统镜像的扫描结果。

可选的,在一实施例中,所述上传模块505具体用于:

当所述虚拟机系统镜像无漏洞时,对所述虚拟机系统镜像进行分段,得到所述虚拟机系统镜像对应的多个镜像段;

对所述各镜像段进行信息提取,得到多个镜像段信息;

根据所述各镜像段信息,确定各镜像段信息对应的压缩算法,并通过所述压缩算法对所述各镜像段进行信息压缩,得到多个压缩镜像段;

对所述各压缩镜像段进行镜像合并,得到压缩后的虚拟机系统镜像,并将所述压缩后的虚拟机系统镜像上传至预置镜像仓库。

可选的,在本发明第二方面的第六种实现方式中,所述虚拟机镜像处理装置还包括:

计算模块506,用于计算所述虚拟机系统镜像对应的MD5值,并将所述虚拟机系统镜像对应的MD5值保存至预置镜像信息表中。

本发明实施例中,首先获取虚拟机系统镜像制作对应的配置参数;然后直接根据镜像制作所需的配置参数,创建虚拟机系统镜像,再在云平台上依次对创建完成的虚拟机系统镜像进行镜像注册、镜像发布和镜像信息同步,完成发布后则对虚拟机系统镜像进行可用性测试,具体的测试过程为获取所述虚拟机系统镜像对应的测试脚本,并调用预置云主机执行所述测试脚本,得到镜像测试结果;当测试通过时,对虚拟机系统镜像进行基线扫描和漏洞扫描,得到扫描结果,扫描的目的是检查所述虚拟机系统镜像有无漏洞;当所述虚拟机系统镜像无漏洞时,将所述虚拟机系统镜像上传至预置镜像仓库。本发明提高了虚拟机系统镜像的处理过程中的准确率。

上面图6从模块化功能实体的角度对本发明实施例中的虚拟机系统镜像处理装置进行详细描述,下面从硬件处理的角度对本发明实施例中虚拟机系统镜像处理设备进行详细描述。

图7是本发明实施例提供的一种虚拟机系统镜像处理设备的结构示意图,该虚拟机系统镜像处理设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对虚拟机系统镜像处理设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在虚拟机系统镜像处理设备600上执行存储介质630中的一系列指令操作。

虚拟机系统镜像处理设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图7示出的虚拟机系统镜像处理设备结构并不构成对虚拟机系统镜像处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种虚拟机系统镜像处理设备,所述虚拟机系统镜像处理设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述虚拟机系统镜像处理方法的步骤。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述虚拟机系统镜像处理方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 虚拟机系统镜像处理方法、装置、设备及存储介质
  • 一种虚拟机镜像快速上传方法、系统、存储介质及设备
技术分类

06120112881134