虚拟机操作系统安装方法、装置、设备及可读存储介质与流程

文档序号:16535970发布日期:2019-01-08 19:54阅读:198来源:国知局
虚拟机操作系统安装方法、装置、设备及可读存储介质与流程

本发明涉及计算机应用技术领域,特别是涉及一种虚拟机操作系统安装方法、装置、设备及计算机可读存储介质。



背景技术:

用户提交重装操作系统后,为了使用户能够更快的完成操作系统的安装,依据用户提交的信息对用户的虚拟机进行重新安装操作系统,并对安装过程中的信息进行记录,根据记录进行优化。

目前,对虚拟机进行安装系统一般采用预创建系统的方法,该方法是指提前对要安装的操作系统进行预创建,安装时拷贝预创建系统替换原有系统文件,并修改预创建系统的配置信息。在预创建的个数有限制,当需要批量安装操作系统时,由于安装系统从安装请求发出到安装完成是有时间限制的,如果采用预创建的操作系统将当前用户的虚拟机进行安装操作系统完成后,再开启下一个虚拟机的安装流程,不能满足当前的需要,很可能导致安装任务超时,安装失败,安装操作系统的成功率较低。

综上所述,如何有效地解决操作系统安装任务超时,安装失败,安装操作系统的成功率较低等问题,是目前本领域技术人员急需解决的问题。



技术实现要素:

为解决上述技术问题,本发明提供如下技术方案:

一种虚拟机操作系统安装方法,所述方法包括:

获取各待处理虚拟机的任务状态信息;其中,所述任务状态信息为所述待处理虚拟机的操作系统安装任务的状态信息;

从预先建立的任务状态信息表中查得与所述任务状态信息对应的目标操作系统安装阶段;其中,所述任务状态信息表中包括各任务状态信息与各操作系统安装阶段间的对应关系,还包括各操作系统安装阶段与各任务池的对应关系;

将所述待处理虚拟机当前的子任务下发至与所述目标操作系统安装阶段对应的目标任务池中,以使所述目标任务池对所述子任务进行任务处理;其中,所述子任务为与所述目标操作系统安装阶段对应的任务。

在本发明的一种具体实施方式中,将所述待处理虚拟机当前的子任务下发至与所述目标操作系统安装阶段对应的目标任务池中,包括:

将所述待处理虚拟机当前的子任务按照任务队列的方式下发至与所述目标操作系统安装阶段对应的目标任务池中。

在本发明的一种具体实施方式中,还包括:

在所述操作系统安装任务完成后,生成操作系统安装结果文件;

利用检查安装系统是否完成池对所述操作系统安装结果文件进行解析,输出操作系统安装结果信息。

在本发明的一种具体实施方式中,当所述任务池为镜像任务池时,利用所述镜像任务池对各镜像子任务进行任务处理之前,还包括:

判断各镜像子任务对应的所述待处理虚拟机是否处于关机状态;

若否,则对所述待处理虚拟机进行关机操作。

一种虚拟机操作系统安装装置,所述装置包括:

信息获取模块,用于获取各待处理虚拟机的任务状态信息;其中,所述任务状态信息为所述待处理虚拟机的操作系统安装任务的状态信息;

安装阶段查询模块,用于从预先建立的任务状态信息表中查得与所述任务状态信息对应的目标操作系统安装阶段;其中,所述任务状态信息表中包括各任务状态信息与各操作系统安装阶段间的对应关系,还包括各操作系统安装阶段与各任务池的对应关系;

子任务下发模块,用于将所述待处理虚拟机当前的子任务下发至与所述目标操作系统安装阶段对应的目标任务池中,以使所述目标任务池对所述子任务进行任务处理;其中,所述子任务为与所述目标操作系统安装阶段对应的任务。

在本发明的一种具体实施方式中,所述子任务下发模块具体为将所述待处理虚拟机当前的子任务按照任务队列的方式下发至与所述目标操作系统安装阶段对应的目标任务池中的模块。

在本发明的一种具体实施方式中,还包括:

文件生成模块,用于在所述操作系统安装任务完成后,生成操作系统安装结果文件;

信息输出模块,用于利用检查安装系统是否完成池对所述操作系统安装结果文件进行解析,输出操作系统安装结果信息。

在本发明的一种具体实施方式中,还包括:

判断模块,用于当所述任务池为镜像任务池时,利用所述镜像任务池对各镜像子任务进行任务处理之前,判断各镜像子任务对应的所述待处理虚拟机是否处于关机状态;

关机模块,用于当判断各镜像子任务对应的所述待处理虚拟机处于关机状态时,对所述待处理虚拟机进行关机操作。

一种虚拟机操作系统安装设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如前所述虚拟机操作系统安装方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述虚拟机操作系统安装方法的步骤。

应用本发明实施例所提供的方法,获取各待处理虚拟机的任务状态信息;其中,任务状态信息为待处理虚拟机的操作系统安装任务的状态信息;从预先建立的任务状态信息表中查得与任务状态信息对应的目标操作系统安装阶段;其中,任务状态信息表中包括各任务状态信息与各操作系统安装阶段间的对应关系,还包括各操作系统安装阶段与各任务池的对应关系;将待处理虚拟机当前的子任务下发至与目标操作系统安装阶段对应的目标任务池中,以使目标任务池对子任务进行任务处理;其中,子任务为与目标操作系统安装阶段对应的任务。通过将一个完整的操作系统安装任务进行阶段划分,采用将各操作系统安装任务根据其所处的任务状态进行分池处理的方式,将各操作系统安装任务的当前操作系统安装阶段对应的子任务下发到对应的任务池中进行任务处理,可以对各操作系统安装任务同时进行批量处理,较大地减少了操作系统安装超时,导致安装失败的现象,较大地提升了操作系统安装的成功率。

相应的,本发明实施例还提供了与上述虚拟机操作系统安装方法相对应的装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中虚拟机操作系统安装方法的一种实施例流程图;

图2为本发明实施例中虚拟机操作系统安装方法的另一种实施例流程图;

图3为本发明实施例中一种虚拟机操作系统安装装置的结构框图;

图4为本发明实施例中一种虚拟机操作系统安装设备的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

参见图1,图1为本发明实施例中虚拟机操作系统安装方法的一种实施例流程图,该方法可以包括以下步骤:

s101:获取各待处理虚拟机的任务状态信息。

其中,任务状态信息为待处理虚拟机的操作系统安装任务的状态信息。

在给用户的虚拟机重装系统时,如将window10操作系统更换为window7操作系统,可以将一个总的操作系统安装任务划分成多个子任务分步执行,例如,可以将一个总的操作系统安装任务分为镜像处理、配置文件生成、配置等步骤,对应的操作系统安装任务对应的任务状态包括待镜像处理状态、待配置文件生成状态、待配置状态。在将每个操作系统安装任务分阶段执行的过程中,由于用户提交安装操作系统的请求存在先后顺序,所以针对各操作系统安装任务是不同步的,可以获取各待处理虚拟机的任务状态信息,如可以通过预先创建的任务检测器对各待处理虚拟机的任务状态信息进行检测,通过该任务检测器不仅可以检测待处理虚拟机的任务状态信息,还可以检测到待处理虚拟机所属的物理机、待处理虚拟机的各种配置信息、流表信息等。

s102:从预先建立的任务状态信息表中查得与任务状态信息对应的目标操作系统安装阶段。

其中,任务状态信息表中包括各任务状态信息与各操作系统安装阶段间的对应关系,还包括各操作系统安装阶段与各任务池的对应关系。

每个任务状态与相应的操作系统安装阶段相对应,各操作系统安装阶段又与相应的任务池相对应,可以预先建立存储有各任务状态信息与各操作系统安装阶段间的对应关系,还存储有各操作系统安装阶段与各任务池的对应关系的任务状态信息表,在获取到各待处理虚拟机的任务状态信息之后,可以从预先建立的任务状态信息表中查得与任务状态信息对应的目标操作系统安装阶段,以便将各待处理虚拟机当前面临的安装操作系统的子任务发送到对应的任务池中进行处理。

s103:将待处理虚拟机当前的子任务下发至与目标操作系统安装阶段对应的目标任务池中,以使目标任务池对子任务进行任务处理。

其中,子任务为与目标操作系统安装阶段对应的任务。

当从预先建立的任务状态信息表中查得与任务状态信息对应的目标操作系统安装阶段之后,可以将待处理虚拟机当前的子任务下发至与目标操作系统安装阶段对应的目标任务池中,对应的目标任务池接收到相应的子任务后,可以对子任务进行任务处理。这样可以将处于同一任务状态的待处理虚拟机当前面临的安装操作系统的子任务下发到同一个池中,每个任务池对接收到的各子任务进行批量处理,具体的可以通过调度器对其各子任务进行调度。较大地减少了操作系统安装超时导致安装失败的现象,较大地提升了操作系统安装的成功率。

需要说明的是,考虑到每个任务池的对各子任务的处理速度及自身配置的高低,可以预先设置每个任务池同步执行各子任务的数量,如,可以将每个任务池同步执行各子任务的数量设置为50,因为每个任务池所做的任务不同,花费的时长也就存在差异,例如,在将操作系统安装任务划分为镜像处理、配置文件生成及配置三个步骤的情况下,对应的镜像处理池、配置文件生成池及配置池对接收到的每个子任务的一般处理时间依次需要5分钟、3分钟、3分钟,如果每个池同步执行的子任务过少,很可能出现配置池空闲等待镜像处理池中的子任务下发的现象,在这种情况下就会造成不必要的资源浪费,而如果每个任务池同步执行的子任务过多,就可能造成个任务池的负载过大,各任务池对池中的子任务处理速度过慢的现象,因此具体可以根据实际情况对各任务池中同步执行的子任务的数量进行设定和调整,本发明实施例对此不做限定。

应用本发明实施例所提供的方法,获取各待处理虚拟机的任务状态信息;其中,任务状态信息为待处理虚拟机的操作系统安装任务的状态信息;从预先建立的任务状态信息表中查得与任务状态信息对应的目标操作系统安装阶段;其中,任务状态信息表中包括各任务状态信息与各操作系统安装阶段间的对应关系,还包括各操作系统安装阶段与各任务池的对应关系;将待处理虚拟机当前的子任务下发至与目标操作系统安装阶段对应的目标任务池中,以使目标任务池对子任务进行任务处理;其中,子任务为与目标操作系统安装阶段对应的任务。通过将一个完整的操作系统安装任务进行阶段划分,采用将各操作系统安装任务根据其所处的任务状态进行分池处理的方式,将各操作系统安装任务的当前操作系统安装阶段对应的子任务下发到对应的任务池中进行任务处理,可以对各操作系统安装任务同时进行批量处理,较大地减少了操作系统安装超时,导致安装失败的现象,较大地提升了操作系统安装的成功率。

需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。

实施例二:

参见图2,图2为本发明实施例中虚拟机操作系统安装方法的另一种实施例流程图,该方法包括以下步骤:

s201:获取各待处理虚拟机的任务状态信息。

其中,任务状态信息为待处理虚拟机的操作系统安装任务的状态信息。

s202:从预先建立的任务状态信息表中查得与任务状态信息对应的目标操作系统安装阶段。

其中,任务状态信息表中包括各任务状态信息与各操作系统安装阶段间的对应关系,还包括各操作系统安装阶段与各任务池的对应关系。

s203:将待处理虚拟机当前的子任务按照任务队列的方式下发至与目标操作系统安装阶段对应的目标任务池中,以使目标任务池对子任务进行任务处理。

其中,子任务为与目标操作系统安装阶段对应的任务。

当从预先建立的任务状态信息表中查得与任务状态信息对应的目标操作系统安装阶段之后,当同时进行操作系统安装的待处理虚拟机较多时,由于每个任务池对各子任务进行批量处理的能力有限,在超出预设的每个任务池同步执行子任务的数量时,可以将待处理虚拟机当前的子任务按照任务队列的方式下发至与目标操作系统安装阶段对应的目标任务池中,防止发生堵塞,从而缓解系统的压力。

s204:在操作系统安装任务完成后,生成操作系统安装结果文件。

在操作系统安装任务完成后,可以生成操作系统安装结果文件,该安装结果文件可以包括相应的操作系统安装的结果。

s205:利用检查安装系统是否完成池对操作系统安装结果文件进行解析,输出操作系统安装结果信息。

预先部署的任务池还可以包括检查安装系统是否完成池,利用检查安装系统是否完成池可以对操作系统安装结果文件进行解析,从而得到相应的操作系统安装结果,并可以将操作系统安装结果信息输出给用户和运维人员。

在本发明的一种具体实施方式中,当任务池为镜像任务池时,利用镜像任务池对各镜像子任务进行任务处理之前,该方法还可以包括以下步骤:

步骤一:判断各镜像子任务对应的待处理虚拟机是否处于关机状态,若否,则执行步骤二,若是,则直接在镜像处理池中做相应的镜像处理操作;

步骤二:若否,则对待处理虚拟机进行关机操作。

为方便描述,可以将上述两个步骤结合起来进行说明。

镜像处理是指用对应的操作系统镜像复制并替换掉虚拟机的系统文件,当检测到待处理虚拟机当前所处的操作系统安装阶段为待镜像处理阶段时,可以将判断各镜像子任务对应的待处理虚拟机是否处于关机状态,若是,则直接在镜像处理池中做相应的镜像处理操作,若否,对待处理虚拟机进行关机操作,这样可以防止待虚拟机中的数据丢失。

相应于上面的方法实施例,本发明实施例还提供了一种虚拟机操作系统安装装置,下文描述的一种虚拟机操作系统安装装置与上文描述的一种虚拟机操作系统安装方法可相互对应参照。

参见图3,图3为本发明实施例中一种虚拟机操作系统安装装置的结构框图,该装置可以包括:

信息获取模块31,用于获取各待处理虚拟机的任务状态信息;其中,任务状态信息为待处理虚拟机的操作系统安装任务的状态信息;

安装阶段查询模块32,用于从预先建立的任务状态信息表中查得与任务状态信息对应的目标操作系统安装阶段;其中,任务状态信息表中包括各任务状态信息与各操作系统安装阶段间的对应关系,还包括各操作系统安装阶段与各任务池的对应关系;

子任务下发模块33,用于将待处理虚拟机当前的子任务下发至与目标操作系统安装阶段对应的目标任务池中,以使目标任务池对子任务进行任务处理;其中,子任务为与目标操作系统安装阶段对应的任务。

应用本发明实施例所提供的装置,获取各待处理虚拟机的任务状态信息;其中,任务状态信息为待处理虚拟机的操作系统安装任务的状态信息;从预先建立的任务状态信息表中查得与任务状态信息对应的目标操作系统安装阶段;其中,任务状态信息表中包括各任务状态信息与各操作系统安装阶段间的对应关系,还包括各操作系统安装阶段与各任务池的对应关系;将待处理虚拟机当前的子任务下发至与目标操作系统安装阶段对应的目标任务池中,以使目标任务池对子任务进行任务处理;其中,子任务为与目标操作系统安装阶段对应的任务。通过将一个完整的操作系统安装任务进行阶段划分,采用将各操作系统安装任务根据其所处的任务状态进行分池处理的方式,将各操作系统安装任务的当前操作系统安装阶段对应的子任务下发到对应的任务池中进行任务处理,可以对各操作系统安装任务同时进行批量处理,较大地减少了操作系统安装超时,导致安装失败的现象,较大地提升了操作系统安装的成功率。

在本发明的一种具体实施方式中,子任务下发模块33具体为将待处理虚拟机当前的子任务按照任务队列的方式下发至与目标操作系统安装阶段对应的目标任务池中的模块。

在本发明的一种具体实施方式中,还包括:

文件生成模块,用于在操作系统安装任务完成后,生成操作系统安装结果文件;

信息输出模块,用于利用检查安装系统是否完成池对操作系统安装结果文件进行解析,输出操作系统安装结果信息。

在本发明的一种具体实施方式中,还包括:

判断模块,用于当任务池为镜像任务池时,利用镜像任务池对各镜像子任务进行任务处理之前,判断各镜像子任务对应的待处理虚拟机是否处于关机状态;

关机模块,用于当判断各镜像子任务对应的待处理虚拟机处于关机状态时,对待处理虚拟机进行关机操作。

相应于上面的方法实施例,参见图4,图4为本发明所提供的虚拟机操作系统安装设备的示意图,该设备可以包括:

存储器41,用于存储计算机程序;

处理器42,用于执行上述存储器41存储的计算机程序时可实现如下步骤:

获取各待处理虚拟机的任务状态信息;其中,任务状态信息为待处理虚拟机的操作系统安装任务的状态信息;从预先建立的任务状态信息表中查得与任务状态信息对应的目标操作系统安装阶段;其中,任务状态信息表中包括各任务状态信息与各操作系统安装阶段间的对应关系,还包括各操作系统安装阶段与各任务池的对应关系;将待处理虚拟机当前的子任务下发至与目标操作系统安装阶段对应的目标任务池中,以使目标任务池对子任务进行任务处理;其中,子任务为与目标操作系统安装阶段对应的任务。

对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。

相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:

获取各待处理虚拟机的任务状态信息;其中,任务状态信息为待处理虚拟机的操作系统安装任务的状态信息;从预先建立的任务状态信息表中查得与任务状态信息对应的目标操作系统安装阶段;其中,任务状态信息表中包括各任务状态信息与各操作系统安装阶段间的对应关系,还包括各操作系统安装阶段与各任务池的对应关系;将待处理虚拟机当前的子任务下发至与目标操作系统安装阶段对应的目标任务池中,以使目标任务池对子任务进行任务处理;其中,子任务为与目标操作系统安装阶段对应的任务。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1