对虚拟机中的软件进行升级的方法和装置的制造方法

文档序号:8318973阅读:387来源:国知局
对虚拟机中的软件进行升级的方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种对虚拟机中的软件进行升级的方法和
>J-U ρ?α装直。
【背景技术】
[0002]随着云计算技术的发展,桌面接入终端与虚拟机中的虚拟桌面建立连接后,终端用户通过瘦客户端或者任何其他与网络相连的设备就可以访问整个客户桌面。为了提升用户体验,需要对虚拟机中的软件进行不断升级,但由于这些软件存在于各个虚拟机中,致使这些软件的升级较为困难,因此,如何对虚拟机中的软件进行升级,成为了本领域技术人员较为关注的问题。
[0003]现有技术在对虚拟机中的软件进行升级时,采用如下两种方式:
[0004]方式一:用户控制终端通过网络连接对应的虚拟机,进而将待升级软件的升级包拷贝至对应的虚拟机中,然后用户按照待升级软件的升级包的升级过程指引,通过终端控制对应的虚拟机中的软件进行升级。
[0005]方式二:在服务器上统一部署第三方管理软件,通过第三方管理软件将待升级软件的升级包分发至各个虚拟机中,并通过第三方管理软件控制各个虚拟机中的软件进行升级。
[0006]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0007]采用方式一升级虚拟机中的软件时,由于升级过程需要用户手动进行操作,因此,升级方式不够便捷,降低了用户体验;采用方式二升级虚拟机中的软件时,由于需要在服务器上部署第三方管理软件,因而增加了额外的工作量,且由于第三方管理软件也会存在升级的问题,因此,增加了对虚拟机中的软件进行升级的复杂度,降低了升级效率。

【发明内容】

[0008]为了解决现有技术的问题,本发明实施例提供了一种对虚拟机中的软件进行升级的方法和装置。所述技术方案如下:
[0009]一方面,提供了一种对虚拟机中的软件进行升级的方法,所述方法包括:
[0010]确定在线虚拟机,并判断在线虚拟机中是否存在满足升级要求的虚拟机;
[0011]如果存在满足升级要求的虚拟机,则获取所述满足升级要求的虚拟机上的软件对应的升级组件;
[0012]通过与所述满足升级要求的虚拟机之间预先建立的升级通道将获取到的升级组件发送至所述满足升级要求的虚拟机中;
[0013]控制所述满足升级要求的虚拟机根据所述升级组件对所述满足升级要求的虚拟机上的软件对应的组件进行升级。
[0014]结合第一方面,在第一方面的第一种可能的实现方式中,所述判断在线虚拟机中是否存在满足升级要求的虚拟机,包括:
[0015]判断在线虚拟机中是否存在满足第一升级条件的虚拟机;
[0016]如果存在满足第一升级条件的虚拟机,则判断满足第一升级条件的虚拟机是否满足第二升级条件;
[0017]如果存在满足第一升级条件且满足第二升级条件的虚拟机,则确定所述满足第一升级条件且满足第二升级条件的虚拟机是否具有升级标识;
[0018]将满足第一升级条件、第二升级条件且具有升级标识的虚拟机确定为满足升级要求的虚拟机。
[0019]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述判断在线虚拟机中是否存在满足第一升级条件的虚拟机,包括:
[0020]判断在线虚拟机中是否存在未进行虚拟处理器热插拔、内存快照、休眠唤醒和热迁移的虚拟机;
[0021]如果在线虚拟机中存在未进行虚拟处理器热插拔、内存快照、休眠唤醒和热迁移的虚拟机,则将未进行虚拟处理器热插拔、内存快照、休眠唤醒和热迁移的虚拟机作为满足第一升级条件的虚拟机。
[0022]结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述判断满足第一升级条件的虚拟机是否满足第二升级条件,包括:
[0023]判断满足第一升级条件的虚拟机上的软件对应的组件版本号与获取到的升级组件的版本号进行比较;
[0024]如果满足第一升级条件的虚拟机上的软件对应的组件版本号与获取到的升级组件的版本号不一致,则判断满足第一升级条件的虚拟机满足第二升级条件。
[0025]结合第一方面,在第一方面的第四种可能的实现方式下,所述控制所述满足升级要求的虚拟机根据所述升级组件对所述满足升级要求的虚拟机上的软件对应的组件进行升级,包括:
[0026]通过所述升级通道向所述满足升级要求的虚拟机发送升级指令,使所述满足升级要求的虚拟机接收到所述升级指令后,根据所述升级组件对所述满足升级要求的虚拟机上的软件对应的组件进行升级。
[0027]结合第一方面,在第一方面的第五种可能的实现方式下,所述控制所述满足升级要求的虚拟机根据所述升级组件对所述满足升级要求的虚拟机上的软件对应的组件进行升级之后,还包括:
[0028]对进行组件升级的虚拟机进行重启操作。
[0029]结合第一方面,在第一方面的第六种可能的实现方式下,所述控制所述满足升级要求的虚拟机根据所述升级组件对所述满足升级要求的虚拟机上的软件对应的组件进行升级之后,还包括:
[0030]通过所述升级通道获取所述满足升级要求的虚拟机对所述满足升级要求的虚拟机上的软件对应的组件进行升级后的升级结果。
[0031]第二方面,提供了一种对虚拟机中的软件进行升级的装置,所述装置包括:
[0032]确定模块,用于确定在线虚拟机;
[0033]判断模块,用于判断在线虚拟机中是否存在满足升级要求的虚拟机;
[0034]第一获取模块,用于当存在满足升级要求的虚拟机时,获取所述满足升级要求的虚拟机上的软件对应的升级组件;
[0035]发送模块,用于通过与所述满足升级要求的虚拟机之间预先建立的升级通道将获取到的升级组件发送至所述满足升级要求的虚拟机中;
[0036]控制模块,用于控制所述满足升级要求的虚拟机根据所述升级组件对所述满足升级要求的虚拟机上的软件对应的组件进行升级。
[0037]结合第二方面,在第二方面的第一种可能的实现方式下,所述判断模块,包括:
[0038]第一判断单元,用于判断在线虚拟机中是否存在满足第一升级条件的虚拟机;
[0039]第二判断单元,用于当存在满足第一升级条件的虚拟机时,判断满足第一升级条件的虚拟机是否满足第二升级条件;
[0040]第一确定单元,用于当存在满足第一升级条件且满足第二升级条件的虚拟机时,确定所述满足第一升级条件且满足第二升级条件的虚拟机是否具有升级标识;
[0041]第二确定单元,用于将满足第一升级条件、第二升级条件且具有升级标识的虚拟机确定为满足升级要求的虚拟机。
[0042]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式下,所述第一判断单元,用于判断在线虚拟机中是否存在未进行虚拟处理器热插拔、内存快照、休眠唤醒和热迁移的虚拟机;
[0043]当在线虚拟机中存在未进行虚拟处理器热插拔、内存快照、休眠唤醒和热迁移的虚拟机时,将未进行虚拟处理器热插拔、内存快照、休眠唤醒和热迁移的虚拟机作为满足第一升级条件的虚拟机。
[0044]结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式下,所述第二判断单元,用于判断满足第一升级条件的虚拟机上的软件对应的组件版本号与获取到的升级组件的版本号进行比较;
[0045]当满足第一升级条件的虚拟机上的软件对应的组件版本号与获取到的升级组件的版本号不一致时,判断满足第一升级条件的虚拟机满足第二升级条件。
[0046]结合第二方面,在第二方面的第四种可能的实现方式下,所述控制模块,用于通过所述升级通道向所述满足升级要求的虚拟机发送升级指令,使所述满足升级要求的虚拟机接收到所述升级指令后,根据所述升级组件对所述满足升级要求的虚拟机上的软件对应的组件进行升级。
[0047]结合第二方面,在第二方面的第五种可能的实现方式下,所述控制模块,还用于对进行组件升级的虚拟机进行重启操作。
[0048]结合第二方面,在第二方面的第六种可能的实现方式下,所述装置,还包括:
[0049]第二获取模块,用于通过所述升级通道获取所述满足升级要求的虚拟机对所述满足升级要求的虚拟机上的软件对应的组件进行升级后的升级结果。
[0050]本发明实施例提供的技术方案带来的有益效果是:
[0051]通过判断在线的虚拟机是否存在满足升级要求,进而获取满足升级要求的虚机上的软件对应的升级组件,并通过预先建立的升级通道将获取到的升级组件发送至满足升级要求的虚拟机中,从而控制满足升级要求的虚拟机根据升级组件对满足升级要求的虚拟机上的软件对应的组件进行升级,而无需用户手动操作,因而升级方式更为便捷;且不需要在服务器上额外部署其他的管理软件,更无需对其他管理软件进行管理,从而进一步降低了升级的复杂度,并提升了升级效率。
【附图说明】
[0052]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0053]图1是本发明实施例一提供的一种服务器和虚拟机的示意图;
[0054]图2是本发明实施例一提供的一种对虚拟机中的软件进行升级的方法流程图;
[0055]图3是本发明实施例二提供的一种对虚拟机中的软件进行升级的方法流程图;
[0056]图4是本发明实施例三提供的一种对虚拟机中的软件进行升级的装置结构示意图;
[0057]图5是本发明实施例三提供的判断模块的结构示意图;
[0058]图6是本发明实施例三提供的另一种对虚拟机中的软件进行升级的装置结构示意图;
[0059]图7是本发明实施例四提供的一种服务器的结构示意图。
【具体实施方式】
[0060]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0061]实施例一
[0062]随着云计算技术的发展,虚拟化技术的不断成熟,每台服务器上可以同时并行的运行着多台虚拟机。通过在虚拟机上部署不同的软件,可以实现不同的功能。例如,在虚拟机中部署虚拟桌面代理软件,通过虚拟桌面代理软件的代理功能,终端用户通过瘦客户端或者其他任何与网络相连的设备就可以访问虚拟桌面代理软件代理的对应的客户桌面。
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1