CN106843976A - 用于生成镜像文件的方法和装置 - Google Patents

用于生成镜像文件的方法和装置 Download PDF

Info

Publication number
CN106843976A
CN106843976A CN201710056556.6A CN201710056556A CN106843976A CN 106843976 A CN106843976 A CN 106843976A CN 201710056556 A CN201710056556 A CN 201710056556A CN 106843976 A CN106843976 A CN 106843976A
Authority
CN
China
Prior art keywords
file
generated
mirrored
customized
configuration information
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
Application number
CN201710056556.6A
Other languages
English (en)
Other versions
CN106843976B (zh
Inventor
郭利军
张宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710056556.6A priority Critical patent/CN106843976B/zh
Publication of CN106843976A publication Critical patent/CN106843976A/zh
Priority to US15/724,533 priority patent/US10261772B2/en
Application granted granted Critical
Publication of CN106843976B publication Critical patent/CN106843976B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了用于生成镜像文件的方法和装置。该方法的一具体实施方式包括:获取生成镜像文件的需求信息,其中,需求信息包括待生成镜像的文件的标识信息以及与待生成镜像的文件对应的配置信息;根据标识信息,获取待生成镜像的文件的安装文件;在预先创建的虚拟主机上安装该安装文件以生成待生成镜像的文件;从预先存储的定制文件集合中选取出与配置信息匹配的定制文件;基于与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件。该实施方式实现了镜像文件的批量制作。

Description

用于生成镜像文件的方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及用于生成镜像文件的方法和装置。
背景技术
镜像文件通常就是一个独立的文件,和其他文件不同,它是由多个文件通过刻录软件或者镜像文件制作工具制作而成的。随着网络科技的发展,提供商可以将镜像文件上传至云服务器以供用户使用,方便了镜像文件的使用和传递。
然而,现有的镜像文件制作方式,往往需要人为创建虚拟主机。然后在虚拟主机上通过手动设置来安装操作系统,并对操作系统进行定制,如:安装一些安全防护软件或者修复软件等。在对虚拟主机进行清理之后,将磁盘中存储虚拟主机的文件(即镜像文件)提供给用户。整个制作过程一般主要依靠人为参与完成。
发明内容
本申请的目的在于提出一种改进的用于生成镜像文件的方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于生成镜像文件的方法,该方法包括:获取生成镜像文件的需求信息,其中,需求信息包括待生成镜像的文件的标识信息以及与待生成镜像的文件对应的配置信息;根据标识信息,获取待生成镜像的文件的安装文件;在预先创建的虚拟主机上安装该安装文件以生成待生成镜像的文件;从预先存储的定制文件集合中选取出与配置信息匹配的定制文件,其中,定制文件中包含修改文件内容所需的数据;基于与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件。
在一些实施例中,基于与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件,包括:将与配置信息匹配的定制文件复制到虚拟主机上,生成镜像定制文件;基于镜像定制文件更新待生成镜像的文件,生成镜像文件;清除虚拟主机上的历史记录信息。
在一些实施例中,方法还包括:对镜像文件进行测试,若测试通过,确定镜像文件为目标镜像文件。
在一些实施例中,方法还包括:若测试不通过,获取修改后的与配置信息匹配的定制文件;基于修改后的与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件。
在一些实施例中,基于修改后的与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件,包括:根据修改后的与配置信息匹配的定制文件更新镜像定制文件;基于更新后的镜像定制文件更新待生成镜像的文件,生成镜像文件;清除虚拟主机上的历史记录信息。
在一些实施例中,安装文件包括待生成镜像的文件的安装包以及与安装包对应的应答文件,其中,应答文件中包括安装该安装包所需的设置参数。
在一些实施例中,在预先创建的虚拟主机上安装该安装文件以生成待生成镜像的文件,包括:基于应答文件,在预先创建的虚拟主机上安装该安装包,以生成待生成镜像的文件。
在一些实施例中,定制文件包括以下至少一种:脚本程序、二进制程序、应用软件的安装文件以及包含安装应用软件所需数据的辅助文件。
第二方面,本申请提供了一种用于生成镜像文件的装置,装置包括:第一获取单元,配置用于获取生成镜像文件的需求信息,其中,需求信息包括待生成镜像的文件的标识信息以及与待生成镜像的文件对应的配置信息;第二获取单元,配置用于根据标识信息,获取待生成镜像的文件的安装文件;安装单元,配置用于在预先创建的虚拟主机上安装该安装文件以生成待生成镜像的文件;选取单元,配置用于从预先存储的定制文件集合中选取出与配置信息匹配的定制文件,其中,定制文件中包含修改文件内容所需的数据;生成单元,配置用于基于与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件。
在一些实施例中,装置还包括测试单元,配置用于对镜像文件进行测试,若测试通过,确定镜像文件为目标镜像文件。
在一些实施例中,选取单元还配置用于:若测试不通过,获取修改后的与配置信息匹配的定制文件;生成单元还配置用于:基于修改后的与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件。
第三方面,本申请提供了一种服务器,该服务器包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现第一方面的方法。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面的方法。
本申请提供的用于生成镜像文件的方法和装置,通过获取生成镜像文件的需求信息,根据需求信息中的待生成镜像的文件的标识信息获取其安装文件,并在预先创建的虚拟主机上安装。实现了待生成镜像的文件的自动安装。再根据需求信息中的配置信息,从存储的定制文件集合中选取出匹配的定制文件,以更新虚拟主机上的待生成镜像的文件,从而生成镜像文件。与背景技术相比,本申请实现了镜像文件的自动生成,从而有利于镜像文件的批量制作。同时,减少了人为参与过程,有利于保证相同镜像文件的一致性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用于生成镜像文件的方法的一个实施例的流程图;
图3是根据本申请的用于生成镜像文件的方法的一个应用场景的示意图;
图4是根据本申请的用于生成镜像文件的方法的又一个实施例的流程图;
图5是根据本申请的用于生成镜像文件的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于生成镜像文件的方法或用于生成镜像文件的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104、106,服务器105和数据库服务器107。网络104用以在终端设备101、102、103与服务器105之间提供通信链路的介质。网络106用以在服务器105和数据库服务器107之间提供通信链路的介质。网络104、106可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103,通过网络104向服务器105发送生成镜像文件的需求信息。终端设备101、102、103上可以安装有各种客户端应用,例如网页浏览器应用、下载应用、即时通信工具等。
终端设备101、102、103可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。
数据库服务器107可以是存储有待生成镜像的文件的安装文件和/或定制文件集合的服务器。
服务器105可以是提供各种服务的服务器,例如对获取到的终端设备101、102、103发送的生成镜像文件的需求信息进行处理的后台镜像文件生成服务器。后台镜像文件生成服务器可以从数据库服务器107中获取相关文件的安装文件和匹配的定制文件,并对这些数据进行分析等处理,并将处理结果(例如镜像文件已生成的提示信息)反馈给终端设备。
需要说明的是,本申请实施例所提供的用于生成镜像文件的方法一般由服务器105执行,相应地,用于生成镜像文件的装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。需要说明的是,在服务器105中存储有相关文件的安装文件和定制文件集合的情况下,系统架构100中可以不设置数据库服务器107。
继续参见图2,示出了根据本申请的用于生成镜像文件的方法的一个实施例的流程200。该方法包括以下步骤:
步骤201,获取生成镜像文件的需求信息。
在本实施例中,用于生成镜像文件的方法运行于其上的电子设备(例如图1所示的服务器105)可以通过有线连接方式或者无线连接方式从用户所使用的终端获取生成镜像文件的需求信息。其中,上述需求信息包括了待生成镜像的文件的标识信息以及与待生成镜像的文件对应的配置信息。
在本实施例中,待生成镜像的文件可以是各种操作系统文件,例如:Centos(Community Enterprise Operating System,社区企业操作系统)或Windows(视窗电脑操作系统)等。待生成镜像的文件也可以是各种应用软件,比如:即时通讯软件、下载软件或视频播放软件等等。镜像文件可以是由待生成镜像的文件所生成的各种文件,例如Windows 7操作系统的ISO文件。生成的镜像文件的格式在本申请中并不限制,可以是.iso、.bin或.nrg等等。
在本实施例中,标识信息可以是待生成镜像的文件的名称和\或版本号,例如:Windows 7。也可以是数字、字符、文字或者三者中的任意组合。作为示例,标识信息为1,与1对应的待生成镜像的文件为Windows 7操作系统。这种对应关系可以是用户预先设置的,并保存在电子设备中。此外,配置信息也可以是数字、字符、文字或者三者中的任意组合。比如:配置信息是客户A,与客户A对应的配置需求是安全防护。同样,这种对应关系也可以是用户预先设置的,并保存在电子设备中。
步骤202,根据标识信息,获取待生成镜像的文件的安装文件。
在本实施例中,基于步骤201中得到的需求信息,上述电子设备(例如图1所示的服务器105)可以获取需求信息中的待生成镜像的文件的标识信息。然后根据标识信息,可以从如图1所示的数据库服务器107中获取该文件的安装文件。也可以先从本地查找是否存储有该文件的安装文件。当本地查找失败时,再从数据库服务器中获取。需要说明的是,安装文件的具体存储位置在本申请中并不限制。
在本实施例的一些可选的实现方式中,安装文件可以包括待生成镜像的文件的安装包以及与安装包对应的应答文件。其中,应答文件中包括安装该安装包所需的设置参数。例如:kickstart、preseed和Windows的AutoUnattend.xml文件。Kickstart是针对Centos等操作系统的自动安装而制定的问答文件。Preseed是对Debian(自由操作系统)等操作系统的自动安装而制定的问答文件。
步骤203,在预先创建的虚拟主机上安装该安装文件以生成待生成镜像的文件。
在本实施例中,基于步骤202中得到的待生成镜像的文件的安装文件,上述电子设备上(例如图1所示的服务器105)可以在预先创建的虚拟主机上安装该安装文件,以生成待生成镜像的文件。
在本实施例中,上述电子设备可以根据安装文件中待生成镜像的文件的名称和/或版本号,从预先存储的应答文件集合中选取出与该待生成镜像的文件匹配的应答文件。例如,待生成镜像的文件为Centos操作系统,从应答文件集合中选取出适用于Centos操作系统的应答文件Kickstart。然后根据应答文件中的数据,在虚拟主机上安装该安装文件。需要说明的是,应答文件集合的存储位置在本申请中同样不限制。其可以存储在本地,也可以存储在如图1所示的数据库服务器107中。
在本实施例中,虚拟主机可以是上述电子设备在获取上述需求信息之前,根据预先存储的配置文件而创建的。也可以是上述电子设备获取到上述需求信息求之后,根据预先存储的配置文件而创建的。其中,配置文件包括创建虚拟主机所需的数据。此外,在创建的虚拟主机中可以配置SSH(Secure Shell,安全外壳协议)服务,以实现各虚拟主机之间或者上述电子设备与虚拟主机之间的通信。需要说明的是,当待生成镜像的文件为操作系统时,一个待生成镜像的文件可以对应一个虚拟主机。但本申请并不限定,可以根据实际需求进行设置。此外,配置文件的存储位置以及虚拟主机的位置在本申请中并不限定。
在本实施例的一些可选的实现方式中,当安装文件中既包括待生成镜像的文件的安装包,又包括与安装包对应的应答文件时,上述电子设备可以基于该应答文件,直接在预先创建的虚拟主机上安装上述安装包,以生成待生成镜像的文件。
步骤204,从预先存储的定制文件集合中选取出与配置信息匹配的定制文件。
在本实施例中,基于步骤201中得到的需求信息中的配置信息,上述电子设备可以从定制文件集合中选取出与配置信息匹配的定制文件。其中,定制文件中包含修改文件内容所需的数据。作为示例,配置信息为安全防护,则可以从定制文件集合中选出与安全防护相关的定制文件(如:杀毒软件)。再作为示例,配置信息为客户A,则可以从定制文件集合中选取出名称为客户A的定制文件。可以理解的是,定制文件集合的存储位置并不限定。
在本实施例的一些可选的实现方式中,定制文件可以包括以下至少一种:脚本程序、二进制程序、应用软件的安装文件以及包含安装应用软件所需数据的辅助文件。
步骤205,基于与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件。
在本实施例中,基于步骤204选取出的与配置信息匹配的定制文件,上述电子设备可以根据定制文件中的数据,更新虚拟主机上的待生成镜像的文件的内容,以生成镜像文件。例如:定制文件中包含网络配置数据,上述电子设备可根据该定制文件,修改待生成镜像的文件的网络配置,并将修改后的待生成镜像的文件作为镜像文件。
本申请的上述实施例提供的方法,通过需求信息中的待生成镜像的文件的标识信息和与该文件相关的配置信息,来获取该文件的安装文件和匹配的定制文件,从而在虚拟主机上自动安装并更新该文件,生成镜像文件。减少了人为参与过程,实现了镜像文件的批量制作,并有利于保证相同镜像文件的一致性。
在本实施例的一些可选的实现方式中,步骤205可以进一步通过以下步骤实现:
将与配置信息匹配的定制文件复制到虚拟主机上,生成镜像定制文件;
基于镜像定制文件更新待生成镜像的文件,生成镜像文件;
清除虚拟主机上的历史记录信息。
其中,历史记录信息可以包括以下至少一种:历史操作信息、日志文件信息、其他残留的配置信息以及镜像定制文件等。当镜像文件为操作系统时,清除虚拟主机上的这些历史记录信息后,可以提供给用户一个全新的操作系统,以防止用户在使用该操作系统的过程中出现问题(比如:网络不通)。
继续参见图3,图3是根据本实施例的用于生成镜像文件的方法的应用场景的一个示意图。
在图3的应用场景中,用户首先利用终端发送一个生成修复漏洞后的32位的Linux系统的镜像文件的需求信息(如图中301所示);之后,服务器可以利用获取到的需求信息中的32位的Linux系统的标识信息(如图中302所示),从数据库服务器中获取32位的Linux系统的安装文件(如图中303所示);然后,服务器在预先创建的虚拟主机上安装该安装文件(如图中304所示);服务器再利用获取到的需求信息中的修复漏洞的配置信息(如图中302所示),从数据库服务器中存储的定制文件集合中,选取出与修复漏洞相关的定制文件(如图中305所示);最后,服务器基于该定制文件修复虚拟主机上的32位的Linux系统的漏洞,生成修复漏洞后的32位的Linux系统的镜像文件(如图中306所示)。
本申请的上述实施例提供的方法,通过需求信息中的待生成镜像的文件的标识信息和与该文件相关的配置信息,来获取该文件的安装文件和匹配的定制文件,从而在虚拟主机上自动安装并更新该文件,生成镜像文件。减少了人为参与过程,实现了镜像文件的批量制作,并有利于保证相同镜像文件的一致性。
进一步参见图4,其示出了用于生成镜像文件的方法的又一个实施例的流程400。该方法的流程400包括以下步骤:
步骤401,获取生成镜像文件的需求信息。
在本实施例中,用于生成镜像文件的方法运行于其上的电子设备(例如图1所示的服务器105)可以通过有线连接方式或者无线连接方式从用户所使用的终端获取生成镜像文件的需求信息。其中,上述需求信息包括了待生成镜像的文件的标识信息以及与待生成镜像的文件对应的配置信息。
步骤402,根据标识信息,获取待生成镜像的文件的安装文件。
在本实施例中,上述电子设备可以根据待生成镜像的文件的标识信息,来获取该文件的安装文件。具体可参见图2所示的步骤202,此处不再赘述。
步骤403,在预先创建的虚拟主机上安装该安装文件以生成待生成镜像的文件。
在本实施例中,基于步骤402中得到的安装文件,上述电子设备上可以在预先创建的虚拟主机上安装该安装文件,以生成待生成镜像的文件。具体可参见图2所示的步骤203,此处不再赘述。
步骤404,从预先存储的定制文件集合中选取出与配置信息匹配的定制文件。
在本实施例中,利用步骤401中的配置信息,上述电子设备可以从预先存储的定制文件集合中选取出与配置信息匹配的定制文件。其中,定制文件中包含修改文件内容所需的数据。
步骤405,基于与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件。
在本实施例中,基于步骤404选取出的与配置信息匹配的定制文件,上述电子设备可以根据定制文件中的数据,更新虚拟主机上的待生成镜像的文件的内容,以生成镜像文件。
步骤406,对镜像文件进行测试。
在本实施例中,上述电子设备可以按照存储的测试程序对镜像文件的基本功能和运行稳定性等性能进行测试,例如冒烟测试。如果测试通过,则可以执行步骤407。如果测试不通过,则可以执行步骤408。
步骤407,若测试通过,确定镜像文件为目标镜像文件。
在本实施例中,若测试通过,上述电子设备可以将镜像文件确定为目标镜像文件。此外,电子设备可以对目标镜像文件的使用情况进行监测,并定期清理那些在预设时间区间内未被使用过的目标镜像文件,以保证具有足够的存储空间来生成镜像文件。
步骤408,若测试不通过,获取修改后的与配置信息匹配的定制文件。
在本实施例中,若测试不通过,上述电子设备可以实时或定时从定制文件集合中,再次选取出与配置信息匹配的定制文件。并将再次选取的定制文件与此前选取的定制文件进行比较。若存在差异,确定再次选取的定制文件为修改后的与配置信息匹配的定制文件。
步骤409,基于修改后的与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件。
在本实施例中,步骤409的具体内容可以参见步骤405,此处不再赘述。
在本实施例的一些可选的实现方式中,步骤409可以进一步通过以下步骤实现:
根据修改后的与配置信息匹配的定制文件更新镜像定制文件;
基于更新后的镜像定制文件更新待生成镜像的文件,生成镜像文件;
清除虚拟主机上的历史记录信息。
需要说明的是,在一些应用场景中,可以利用Git仓库管理技术对镜像定制文件进行更新。作为示例,通过“git init”命令创建一个仓库;当上述电子设备获取到修改后的与配置信息匹配的定制文件时,可以通过“git status”命令查看并发现匹配的定制文件有更新;然后使用“git add.”命令将该定制文件放入仓库的暂存区;再通过“git commit-m”命令将暂存区的该定制文件放入仓库中(即更新后的镜像定制文件)。这样便于更新的追溯管理。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用于生成镜像文件的方法的流程400突出了对镜像文件进行测试的步骤。由此,本实施例描述的方案可以引入更多的测试内容,从而实现更完善的镜像文件的生成过程和更有效的镜像文件。
进一步参见图5,作为对上述各图所示方法的实现,本申请提供了一种用于生成镜像文件的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于生成镜像文件的装置500包括:第一获取单元501、第二获取单元502、安装单元503、选取单元504和生成单元505。其中,第一获取单元501配置用于获取生成镜像文件的需求信息,其中,需求信息包括待生成镜像的文件的标识信息以及与待生成镜像的文件对应的配置信息;第二获取单元502配置用于根据标识信息,获取待生成镜像的文件的安装文件;安装单元503配置用于在预先创建的虚拟主机上安装该安装文件以生成待生成镜像的文件;选取单元504配置用于从预先存储的定制文件集合中选取出与配置信息匹配的定制文件,其中,定制文件中包含修改文件内容所需的数据;生成单元505配置用于基于与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件。
在本实施例的一些可选的实现方式中,生成单元505进一步配置用于:将与配置信息匹配的定制文件复制到虚拟主机上,生成镜像定制文件;基于镜像定制文件更新待生成镜像的文件,生成镜像文件;清除虚拟主机上的历史记录信息。
在本实施例的一些可选的实现方式中,上述装置还包括测试单元,配置用于对镜像文件进行测试,若测试通过,确定镜像文件为目标镜像文件。
在本实施例的一些可选的实现方式中,选取单元504还配置用于若测试不通过,获取修改后的与配置信息匹配的定制文件;生成单元505还配置用于基于修改后的与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件。
在本实施例的一些可选的实现方式中,生成单元505进一步配置用于:根据修改后的与配置信息匹配的定制文件更新镜像定制文件;基于更新后的镜像定制文件更新待生成镜像的文件,生成镜像文件;清除虚拟主机上的历史记录信息。
在本实施例的一些可选的实现方式中,安装文件包括待生成镜像的文件的安装包以及与安装包对应的应答文件,其中,应答文件中包括安装该安装包所需的设置参数。
在本实施例的一些可选的实现方式中,安装单元503进一步配置用于:基于应答文件,在预先创建的虚拟主机上安装该安装包,以生成待生成镜像的文件。
在本实施例的一些可选的实现方式中,定制文件包括以下至少一种:脚本程序、二进制程序、应用软件的安装文件以及包含安装应用软件所需数据的辅助文件。
下面参见图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是(但不限于)电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一获取单元、第二获取单元、安装单元、选取单元和生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取生成镜像文件的需求信息的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的服务器中所包含的;也可以是单独存在,而未装配入该服务器中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该服务器执行时,使得该服务器:获取生成镜像文件的需求信息,其中,需求信息包括待生成镜像的文件的标识信息以及与待生成镜像的文件对应的配置信息;根据标识信息,获取待生成镜像的文件的安装文件;在预先创建的虚拟主机上安装该安装文件以生成待生成镜像的文件;从预先存储的定制文件集合中选取出与配置信息匹配的定制文件,其中,定制文件中包含修改文件内容所需的数据;基于与配置信息匹配的定制文件更新待生成镜像的文件,生成镜像文件。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (13)

1.一种用于生成镜像文件的方法,其特征在于,所述方法包括:
获取生成镜像文件的需求信息,其中,所述需求信息包括待生成镜像的文件的标识信息以及与所述待生成镜像的文件对应的配置信息;
根据所述标识信息,获取所述待生成镜像的文件的安装文件;
在预先创建的虚拟主机上安装所述安装文件以生成所述待生成镜像的文件;
从预先存储的定制文件集合中选取出与所述配置信息匹配的定制文件,其中,所述定制文件中包含修改文件内容所需的数据;
基于与所述配置信息匹配的定制文件更新所述待生成镜像的文件,生成镜像文件。
2.根据权利要求1所述的方法,其特征在于,所述基于与所述配置信息匹配的定制文件更新所述待生成镜像的文件,生成镜像文件,包括:
将与所述配置信息匹配的定制文件复制到所述虚拟主机上,生成镜像定制文件;
基于所述镜像定制文件更新所述待生成镜像的文件,生成镜像文件;
清除所述虚拟主机上的历史记录信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述镜像文件进行测试,若所述测试通过,确定所述镜像文件为目标镜像文件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述测试不通过,获取修改后的与所述配置信息匹配的定制文件;
基于所述修改后的与所述配置信息匹配的定制文件更新所述待生成镜像的文件,生成镜像文件。
5.根据权利要求4所述的方法,其特征在于,所述基于所述修改后的与所述配置信息匹配的定制文件更新所述待生成镜像的文件,生成镜像文件,包括:
根据所述修改后的与所述配置信息匹配的定制文件更新所述镜像定制文件;
基于更新后的镜像定制文件更新所述待生成镜像的文件,生成镜像文件;
清除所述虚拟主机上的历史记录信息。
6.根据权利要求1所述的方法,其特征在于,所述安装文件包括所述待生成镜像的文件的安装包以及与所述安装包对应的应答文件,其中,所述应答文件中包括安装所述安装包所需的设置参数。
7.根据权利要求6所述的方法,其特征在于,所述在预先创建的虚拟主机上安装所述安装文件以生成所述待生成镜像的文件,包括:
基于所述应答文件,在预先创建的虚拟主机上安装所述安装包,以生成所述待生成镜像的文件。
8.根据权利要求1-7任意一项所述的方法,其特征在于,所述定制文件包括以下至少一种:
脚本程序、二进制程序、应用软件的安装文件以及包含安装所述应用软件所需数据的辅助文件。
9.一种用于生成镜像文件的装置,其特征在于,所述装置包括:
第一获取单元,配置用于获取生成镜像文件的需求信息,其中,所述需求信息包括待生成镜像的文件的标识信息以及与所述待生成镜像的文件对应的配置信息;
第二获取单元,配置用于根据所述标识信息,获取所述待生成镜像的文件的安装文件;
安装单元,配置用于在预先创建的虚拟主机上安装所述安装文件以生成所述待生成镜像的文件;
选取单元,配置用于从预先存储的定制文件集合中选取出与所述配置信息匹配的定制文件,其中,所述定制文件中包含修改文件内容所需的数据;
生成单元,配置用于基于与所述配置信息匹配的定制文件更新所述待生成镜像的文件,生成镜像文件。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括测试单元,配置用于对所述镜像文件进行测试,若所述测试通过,确定所述镜像文件为目标镜像文件。
11.根据权利要求10所述的装置,其特征在于,所述选取单元还配置用于:若所述测试不通过,获取修改后的与所述配置信息匹配的定制文件;
所述生成单元还配置用于:基于所述修改后的与所述配置信息匹配的定制文件更新所述待生成镜像的文件,生成镜像文件。
12.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN201710056556.6A 2017-01-25 2017-01-25 用于生成镜像文件的方法和装置 Active CN106843976B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710056556.6A CN106843976B (zh) 2017-01-25 2017-01-25 用于生成镜像文件的方法和装置
US15/724,533 US10261772B2 (en) 2017-01-25 2017-10-04 Method and device for generating image file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710056556.6A CN106843976B (zh) 2017-01-25 2017-01-25 用于生成镜像文件的方法和装置

Publications (2)

Publication Number Publication Date
CN106843976A true CN106843976A (zh) 2017-06-13
CN106843976B CN106843976B (zh) 2018-11-16

Family

ID=59121237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710056556.6A Active CN106843976B (zh) 2017-01-25 2017-01-25 用于生成镜像文件的方法和装置

Country Status (2)

Country Link
US (1) US10261772B2 (zh)
CN (1) CN106843976B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563461A (zh) * 2018-03-20 2018-09-21 聚好看科技股份有限公司 一种从镜像中提取配置文件的方法、装置及系统
CN109358858A (zh) * 2018-09-19 2019-02-19 网易(杭州)网络有限公司 自动化部署方法、装置、介质及电子设备
CN109918095A (zh) * 2019-03-20 2019-06-21 浪潮商用机器有限公司 一种安装软件的方法及Power服务器
CN110659076A (zh) * 2019-09-26 2020-01-07 无锡睿勤科技有限公司 操作系统的安装部署方法及装置
CN111596932A (zh) * 2020-06-22 2020-08-28 腾讯科技(深圳)有限公司 一种镜像文件生成方法、装置和计算机可读存储介质
CN112486511A (zh) * 2020-11-19 2021-03-12 湖南麒麟信安科技股份有限公司 一种通过web生成操作系统安装镜像的方法
CN113495870A (zh) * 2020-04-01 2021-10-12 北京沃东天骏信息技术有限公司 镜像构建的方法、装置、电子设备和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116400957A (zh) * 2023-06-08 2023-07-07 四川数产范式科技有限公司 基于Git的代码管理方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100107153A1 (en) * 2008-10-28 2010-04-29 Samsung Electronics Co., Ltd. Method of installing integrated file and image forming apparatus for installing the integrated file therein
CN102110009A (zh) * 2009-12-28 2011-06-29 中国移动通信集团公司 一种在虚拟化平台中部署应用的方法及虚拟平台管理器
CN103092650A (zh) * 2013-01-09 2013-05-08 华中科技大学 云环境下基于软件预安装的虚拟机镜像生成方法和系统
CN103812948A (zh) * 2014-03-04 2014-05-21 湘潭大学 智能手机操作系统云端交互定制系统与方法
CN103902347A (zh) * 2012-12-24 2014-07-02 中国电信股份有限公司 虚拟机系统的部署方法与系统
CN104866363A (zh) * 2015-06-11 2015-08-26 广西一铭软件股份有限公司 可实现操作系统用户自定义的一键安装方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200604849A (en) * 2004-07-30 2006-02-01 Hon Hai Prec Ind Co Ltd Apparatus and method for automatically building RCD
US8245222B2 (en) * 2008-07-09 2012-08-14 Aspect Software, Inc. Image installer
US8819190B2 (en) * 2011-03-24 2014-08-26 International Business Machines Corporation Management of file images in a virtual environment
US8918782B2 (en) * 2011-05-27 2014-12-23 Microsoft Corporation Software image distribution
US9195488B2 (en) * 2011-11-21 2015-11-24 International Business Machines Corporation Image deployment in a cloud environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100107153A1 (en) * 2008-10-28 2010-04-29 Samsung Electronics Co., Ltd. Method of installing integrated file and image forming apparatus for installing the integrated file therein
CN102110009A (zh) * 2009-12-28 2011-06-29 中国移动通信集团公司 一种在虚拟化平台中部署应用的方法及虚拟平台管理器
CN103902347A (zh) * 2012-12-24 2014-07-02 中国电信股份有限公司 虚拟机系统的部署方法与系统
CN103092650A (zh) * 2013-01-09 2013-05-08 华中科技大学 云环境下基于软件预安装的虚拟机镜像生成方法和系统
CN103812948A (zh) * 2014-03-04 2014-05-21 湘潭大学 智能手机操作系统云端交互定制系统与方法
CN104866363A (zh) * 2015-06-11 2015-08-26 广西一铭软件股份有限公司 可实现操作系统用户自定义的一键安装方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563461A (zh) * 2018-03-20 2018-09-21 聚好看科技股份有限公司 一种从镜像中提取配置文件的方法、装置及系统
CN109358858A (zh) * 2018-09-19 2019-02-19 网易(杭州)网络有限公司 自动化部署方法、装置、介质及电子设备
CN109358858B (zh) * 2018-09-19 2022-03-22 网易(杭州)网络有限公司 自动化部署方法、装置、介质及电子设备
CN109918095A (zh) * 2019-03-20 2019-06-21 浪潮商用机器有限公司 一种安装软件的方法及Power服务器
CN110659076A (zh) * 2019-09-26 2020-01-07 无锡睿勤科技有限公司 操作系统的安装部署方法及装置
CN110659076B (zh) * 2019-09-26 2023-06-27 无锡睿勤科技有限公司 操作系统的安装部署方法及装置
CN113495870A (zh) * 2020-04-01 2021-10-12 北京沃东天骏信息技术有限公司 镜像构建的方法、装置、电子设备和存储介质
CN111596932A (zh) * 2020-06-22 2020-08-28 腾讯科技(深圳)有限公司 一种镜像文件生成方法、装置和计算机可读存储介质
CN112486511A (zh) * 2020-11-19 2021-03-12 湖南麒麟信安科技股份有限公司 一种通过web生成操作系统安装镜像的方法

Also Published As

Publication number Publication date
CN106843976B (zh) 2018-11-16
US20180210720A1 (en) 2018-07-26
US10261772B2 (en) 2019-04-16

Similar Documents

Publication Publication Date Title
CN106843976B (zh) 用于生成镜像文件的方法和装置
CN105893850B (zh) 漏洞修复方法和装置
CN109358858A (zh) 自动化部署方法、装置、介质及电子设备
US20210333984A1 (en) Method and apparatus for generating customized visualization component
CN107943775A (zh) 消息推送的方法、装置、存储介质及电子设备
CN109542445A (zh) 一种Android插件化开发的方法和装置
CN107896244A (zh) 一种版本文件的分发方法、客户端及服务器
CN109272381A (zh) 业务推荐方法、装置、电子设备及可读存储介质
CN106874471A (zh) 信息推送方法和装置
CN107295607A (zh) 用于连接无线接入点的方法和设备
CN110286941A (zh) 灰度发布方法、装置、存储介质及电子设备
CN105739968A (zh) 基于分布式版本控制系统Git的更新内容的评审方法和装置
CN107517251B (zh) 信息推送方法和装置
CN107341025B (zh) 应用更新方法和装置
US20120005647A1 (en) Automated discovery of programmatic resources
CN112015654A (zh) 用于测试的方法和装置
CN107147711A (zh) 应用服务更新方法及装置
CN110336781A (zh) 一种基于浏览器识别终端唯一性的方法和装置
CN110597888A (zh) 基于区块链的虚拟资源获取方法及装置、介质、设备
CN109739526A (zh) 代码更新方法和装置
CN109002385A (zh) 用于数据流系统的压力测试方法和装置
CN108089870A (zh) 用于修复应用的方法和装置
CN112308590B (zh) 一种参数处理方法、装置以及计算设备、存储介质
CN107609953A (zh) 订单的快捷处理方法和装置
CN113434254B (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
GR01 Patent grant
GR01 Patent grant