一种云操作系统升级方法及装置与流程

文档序号:13760218阅读:218来源:国知局
本发明涉及计算机
技术领域
,特别涉及一种云操作系统升级方法及装置。
背景技术
:云操作系统,是以云计算、云存储技术作为支撑的操作系统,是云计算后台数据中心的整体管理运营系统,它是指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件之上的、管理海量的基础硬件、软件资源的云平台综合管理系统。目前,通常把整个云操作系统编译成一个大的软件包,在对云操作系统进行升级时,将该软件包全部卸载,然后再重新安装新的软件包。但是,随着云操作系统的功能越来越多,云操作系统编译的软件包也越来越大、越来越复杂,因此,对软件包进行卸载、重新安装的时间越来越长,也就是说,云操作系统的升级操作耗费的时间越来越长,影响了云操作系统的正常使用。技术实现要素:本发明实施例的目的在于提供一种云操作系统升级方法及装置,缩短云操作系统的升级操作耗费的时间。为达到上述目的,本发明实施例公开了一种云操作系统的升级方法,包括:获得新云操作系统中每个功能模块的第一版本信息;所述第一版本信息为新云操作系统生成时,分别为每个功能模块设置的;获得原云操作系统中每个功能模块的第二版本信息;所述第二版本信息为原云操作系统生成时,分别为每个功能模块设置的;将每个功能模块的第一版本信息与每个功能模块的第二版本信息进行比较;将第一版本信息和第二版本信息不同的功能模块确定为待升级功能模块;对所述待升级功能模块进行升级操作。为达到上述目的,本发明实施例还公开了一种云操作系统的升级装置,包括:第一获得模块,用于获得新云操作系统中每个功能模块的第一版本信息;所述第一版本信息为新云操作系统生成时,分别为每个功能模块设置的;第二获得模块,用于获得原云操作系统中每个功能模块的第二版本信息;所述第二版本信息为原云操作系统生成时,分别为每个功能模块设置的;比较模块,用于将每个功能模块的第一版本信息与每个功能模块的第二版本信息进行比较;确定模块,用于将第一版本信息和第二版本信息不同的功能模块确定为待升级功能模块;升级模块,用于对所述待升级功能模块进行升级操作。应用本发明实施例,将云操作系统划分为多个功能模块,对该系统进行升级时,将新云操作系统中每个功能模块的版本信息与原云操作系统中每个功能模块的版本信息进行比较,确定待升级功能模块,对所确定的待升级功能模块升级操作。也就是说,对云操作系统进行升级时,不需要对全部系统进行升级,只需要对系统中部分功能模块进行升级,这样,便缩短了云操作系统的升级操作耗费的时间。另外,对云操作系统中部分功能模块进行升级,不进行升级操作的功能模块可以正常运行,也就是说,云操作系统在升级过程中部分功能仍能正常使用。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种云操作系统升级方法的流程示意图;图2为本发明实施例提供的一种云操作系统升级装置的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了解决上述技术问题,本发明实施例提供了一种云操作系统升级方法及装置,可以应用于平板电脑、个人计算机、服务器等安装有云操作系统的设备。下面首先对本发明实施例提供的云操作系统升级方法进行详细说明。图1为本发明实施例提供的一种云操作系统升级方法的流程示意图,包括:S101:获得新云操作系统中每个功能模块的第一版本信息。其中,所述第一版本信息为新云操作系统生成时,分别为每个功能模块设置的。在本发明所示实施例中,将云操作系统划分为多个功能模块。作为本发明的一种实施方式,可以根据云操作系统中的每个进程或服务,将所述云操作系统划分为多个功能模块。具体的,可以将云操作系统的每个进程或者每个服务划分为一个功能模块,也可以将云操作系统中实现同一功能的多个进程或多个服务划分为一个功能模块。功能模块可以根据实际情况来划分,具体划分方案,在此不做限制。在本实施例中,由于将云操作系统划分成了多个功能模块,生成该云操作系统时,可以将云操作系统中的每个功能模块分别编译成一个压缩包,并存储所述每个压缩包的版本信息。可以将压缩包的版本信息确定为其对应的功能模块的版本信息。上述获得新云操作系统中每个功能模块的第一版本信息,可以包括:获得新云操作系统中每个压缩包的版本信息,将每个压缩包的版本信息确定为所述压缩包对应的功能模块的第一版本信息。作为本发明的一种实施方式,可以生成该新云操作系统的功能模块MAP映射表,如表1所示,在该表中记录各个压缩包对应的功能模块的版本信息。需要说明的是,表1中仅对新云操作系统的功能模块MAP映射表的部分内容进行展示,并不对该功能模块MAP映射表构成限定。表1功能模块版本信息nova-apiservice1.0nova-api-metadataservice1.0nova-computeservice1.0glance-apiservice1.0glance-registryservice1.0cinder-apiservice1.0cinder-volumeservice1.0neutron-server1.0…………S102:获得原云操作系统中每个功能模块的第二版本信息;所述第二版本信息为原云操作系统生成时,分别为每个功能模块设置的。原云操作系统,即为上述设备中当前运行的云操作系统;新云操作系统,即为新发布的云操作系统。可以理解的是,上述设备在接收到新发布的云操作系统后,执行本发明提供的方案。另外,为了方便描述,这里将新云操作系统的功能模块的版本信息称为第一版本信息,将原云操作系统的功能模块的版本信息称为第二版本信息。可以理解的是,原云操作系统的生成过程与新云操作系统的生成过程可以相同。也就是说,生成该原云操作系统时,可以将原云操作系统中的每个功能模块分别编译成一个压缩包,并存储所述每个压缩包的版本信息。可以将压缩包的版本信息确定为其对应的功能模块的第二版本信息。上述获得原云操作系统中每个功能模块的第二版本信息,可以包括:获得原云操作系统中每个压缩包的版本信息,将每个压缩包的版本信息确定为所述压缩包对应的功能模块的第二版本信息。根据上面的描述可知,可以生成该原云操作系统的功能模块MAP映射表,在该表中记录各个压缩包对应的功能模块的版本信息。原云操作系统的功能模块MAP映射表可以如表2所示,需要说明的是,表2中仅对原云操作系统的功能模块MAP映射表的部分内容进行展示,并不对该功能模块MAP映射表构成限定。表2功能模块版本信息nova-apiservice1.1nova-api-metadataservice1.1nova-computeservice1.1glance-apiservice1.0glance-registryservice1.0cinder-apiservice1.0cinder-volumeservice1.0neutron-server1.1…………S103:将每个功能模块的第一版本信息与每个功能模块的第二版本信息进行比较。也就是说,将原云操作系统中每个功能模块的版本信息与新云操作系统中每个功能模块的版本信息进行比较。作为本发明的一种实施方式,在进行比较的过程中,可以生成MAP映射对比表,如表3所示,需要说明的是,表3中仅对云操作系统的部分功能模块的版本信息的对比关系进行展示,并不对该MAP映射对比表构成限定。表3功能模块第一版本信息第二版本信息是否需要升级nova-apiservice1.11.0是nova-api-metadataservice1.11.0是nova-computeservice1.11.0是glance-apiservice1.01.0否glance-registryservice1.01.0否cinder-apiservice1.01.0否cinder-volumeservice1.01.0否neutron-server1.11.0是……………………S104:将第一版本信息和第二版本信息不同的功能模块确定为待升级功能模块。由表3可知,nova-apiservice、nova-api-metadataservice、nova-computeservice以及neutron-server这四个功能模块的第一版本信息与第二版本信息不同,将这四个功能模块待升级功能模块。S105:对所述待升级功能模块进行升级操作。在本发明所示实施例中,对待升级功能模块进行升级操作,可以包括:在所述原云操作系统中,停止所述待升级功能模块的运行,并卸载所述待升级功能模块;在所述新云操作系统中,确定所述待升级功能模块对应的目标压缩包;对所述目标压缩包进行解压,并将解压后的所述目标压缩包安装至所述原云操作系统。可以理解的是,升级就是卸载旧版本的功能模块、安装新版本的功能模块的过程。另外,卸载旧版本的功能模块之前,需要先停止该功能模块的运行,以避免在功能模块运行过程中对其进行卸载出现不可预估的错误。由上面描述可知,新云操作系统中的每个功能模块已分别被编译成了一个压缩包。因此,需要确定待升级功能模块对应的目标压缩包,对确定的目标压缩包进行解压,将解压后的目标压缩包安装至原云操作系统。可以理解的是,将目标压缩包进行解压,解压成新版本的功能模块,将新版本的功能模块安装至原云操作系统,即完成了对该功能模块的升级操作。在上述升级过程中,仅停止待升级功能模块的运行,其他不需要升级的功能模块可以正常运行,也就是说,云操作系统在升级过程中部分功能仍能正常使用,可以实现ISSU(In-ServiceSoftwareUpgrade,不中断业务升级)的升级方式。在本发明所示实施例中,在对待升级功能模块进行升级操作之前,还可以包括:对所述原云操作系统的配置信息进行备份,得到第一备份文件;在对待升级功能模块进行升级操作之后,还可以包括:根据所述第一备份文件对升级后的云操作系统进行配置。这里的配置信息可以理解为,云操作系统在运行过程中产生的一些缓存数据。正常情况下,云操作系统在升级前与升级后的配置信息相同,但是也有可能出现异常情况,导致升级后的配置信息丢失掉一部分,这种情况下,以升级前的云操作系统的配置信息为准。因此,需要在升级之前,将原云操作系统的配置信息进行备份,得到第一备份文件,在升级之后,根据第一备份文件对升级后的云操作系统进行配置。另外,在根据第一备份文件对升级后的云操作系统进行配置之前,还可以先对升级后的云操作系统的配置信息进行备份,得到第二备份文件;然后判断所述第一备份文件与所述第二备份文件是否相同;如果不同,则根据所述第一备份文件对升级后的云操作系统进行配置。由上面的描述可知,正常情况下,云操作系统在升级前与升级后的配置信息相同,也就是说,正常情况下,并不需要对升级后的云操作系统进行配置。因此,可以对升级后的云操作系统的配置信息进行备份,得到第二备份文件,将第二备份文件与之前得到的第一备份文件进行对比,如果相同,则说明没有出现异常情况,不需要对升级后的云操作系统进行配置,如果不同,说明出现了异常情况,需要根据第一备份文件对升级后的云操作系统进行配置。应用本发明图1所示实施例,将云操作系统划分为多个功能模块,对该系统进行升级时,将新云操作系统中每个功能模块的版本信息与原云操作系统中每个功能模块的版本信息进行比较,确定待升级功能模块,对所确定的待升级功能模块升级操作。也就是说,对云操作系统进行升级时,不需要对全部系统进行升级,只需要对系统中部分功能模块进行升级,这样,便缩短了云操作系统的升级操作耗费的时间。另外,对云操作系统中部分功能模块进行升级,不进行升级操作的功能模块可以正常运行,也就是说,云操作系统在升级过程中部分功能仍能正常使用。与上述的方法实施例相对应,本发明实施例还提供一种云操作系统装置。图2为本发明实施例提供的一种云操作系统升级装置的结构示意图,包括:第一获得模块201,用于获得新云操作系统中每个功能模块的第一版本信息;所述第一版本信息为新云操作系统生成时,分别为每个功能模块设置的;第二获得模块202,用于获得原云操作系统中每个功能模块的第二版本信息;所述第二版本信息为原云操作系统生成时,分别为每个功能模块设置的;比较模块203,用于将每个功能模块的第一版本信息与每个功能模块的第二版本信息进行比较;确定模块204,用于将第一版本信息和第二版本信息不同的功能模块确定为待升级功能模块;升级模块205,用于对所述待升级功能模块进行升级操作。在本发明所示实施例中,所述装置还可以包括:划分模块(图中未示出),用于根据云操作系统中的每个进程或服务,将所述云操作系统划分为多个功能模块。在本发明所示实施例中,所述装置还可以包括:编译存储模块(图中未示出),用于将云操作系统中的每个功能模块分别编译成一个压缩包,并存储所述每个压缩包的版本信息;第一获得模块201,具体可以用于:获得新云操作系统中每个压缩包的版本信息,将每个压缩包的版本信息确定为所述压缩包对应的功能模块的第一版本信息;第二获得模块202,具体可以用于:获得原云操作系统中每个压缩包的版本信息,将每个压缩包的版本信息确定为所述压缩包对应的功能模块的第二版本信息。在本发明所示实施例中,升级模块205,可以包括:停止卸载子模块、确定子模块和解压安装子模块(图中未示出),其中,卸载子模块,用于在所述原云操作系统中,停止所述待升级功能模块的运行,并卸载所述待升级功能模块;确定子模块,用于在所述新云操作系统中,确定所述待升级功能模块对应的目标压缩包;解压安装子模块,用于对所述目标压缩包进行解压,并将解压后的所述目标压缩包安装至所述原云操作系统。在本发明所示实施例中,所述装置还可以包括:第一备份模块和配置模块(图中未示出),其中,第一备份模块,用于对所述原云操作系统的配置信息进行备份,得到第一备份文件;配置模块,用于根据所述第一备份文件对升级后的云操作系统进行配置。在本发明所示实施例中,所述装置还可以包括:第二备份模块(图中未示出),用于对升级后的云操作系统的配置信息进行备份,得到第二备份文件;所述配置模块,可以包括:判断子模块和配置子模块(图中未示出),其中,判断子模块,用于判断所述第一备份文件与所述第二备份文件是否相同;配置子模块,用于当所述判断子模块判断结果为否时,根据所述第一备份文件对升级后的云操作系统进行配置。应用本发明图2所示实施例,将云操作系统划分为多个功能模块,对该系统进行升级时,将新云操作系统中每个功能模块的版本信息与原云操作系统中每个功能模块的版本信息进行比较,确定待升级功能模块,对所确定的待升级功能模块升级操作。也就是说,对云操作系统进行升级时,不需要对全部系统进行升级,只需要对系统中部分功能模块进行升级,这样,便缩短了云操作系统的升级操作耗费的时间。另外,对云操作系统中部分功能模块进行升级,不进行升级操作的功能模块可以正常运行,也就是说,云操作系统在升级过程中部分功能仍能正常使用。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1