网络功能虚拟化镜像文件升级的方法及装置与流程

文档序号:16063017发布日期:2018-11-24 12:23阅读:480来源:国知局

本发明涉及网络功能虚拟化领域,尤其涉及一种网络功能虚拟化镜像文件升级的方法及装置。

背景技术

在传统电信网络中,网元管理系统(networkelementmanagementsystem,以下简称为ems,或简称em)是网络单元(networkelement,以下简称为ne)的核心管理系统,负责网元的监控、错误日志记录、配置、记账、性能和安全等功能,网元的业务应用的版本管理也由ems负责。当业务应用需要升级的时候,运维人员主要通过ems操作界面执行业务版本升级。

在网络功能虚拟化(networkfunctionvirtualization,以下简称为nfv)架构中,由nfv管理和编排器(managenmentandorchestration,以下简称为mano)负责网元部署。运维人员通过nfv编排器(nfvorchestration,以下简称为nfvo)的操作界面完成网元部署,其中,网元部署包中除了包含传统网络中的业务应用版本之外,还包含镜像文件,镜像文件为业务应用提供运行环境,比如客户操作系统,基础软件,硬件版本参数等。伴随新增应用功能或者故障修复,也可能需要匹配的镜像文件,因此在nfv架构下,网元升级除了升级业务版本之外,还包括升级镜像版本。

在欧洲电信标准协会(europeantelecommunicationsstandardsinstitute,以下简称为etsi)发布的nfv架构中,如图1所示,网元镜像升级可通过nfvo和虚拟网络功能管理器(virtualnetworkfunctionmanager,以下简称为vnfm)之间的接口or-vnfm以及vnfm和虚拟化基础设施管理器(virtualisedinfrastructuremanager,以下简称为vim)之间的接口or-vi更新vim中镜像文件。

在nfv架构下,虽然网元应用通过mano部署,但ems仍然要承担网元应用原有的管理功能,因此存在几个问题:

1、在应用和镜像同时需要升级的场景下,运维人员需要分别从不同的操作界面(ems和nfvo)上执行应用升级和镜像升级,对于电信环境中大规模部署的虚拟机,这种多地操作显然给运维人员带来了不便,不利于自动化操作。

2、mano上只能升级镜像仓库中的镜像,镜像仓库中的镜像只能对未创建的虚拟机(比如自愈或弹性生成的虚拟机)生效。对于已经实例化的虚拟机无法生效,这种方式无法升级虚拟机的镜像。



技术实现要素:

本发明的主要目的在于提供一种网络功能虚拟化镜像文件升级的方法及装置,旨在高效实现对已实例化或者还未实例化的虚拟机的镜像升级。

为实现上述目的,本发明提供一种网络功能虚拟化镜像文件升级的方法,应用于网元管理系统ems,首先定义ems与虚拟网络功能vnf和虚拟网络功能管理器vnfm之间的镜像管理接口,该方法包括以下步骤:

在触发镜像升级操作时,调用所述镜像管理接口,生成第一镜像升级请求,并将所述第一镜像升级请求发送至待升级vnf,以指示所述待升级vnf获取所述第一镜像升级请求指定的升级镜像文件进行升级,其中,所述待升级vnf包括实例化的虚拟机和未实例化的虚拟机;

在接收到所述待升级vnf成功升级后,调用所述镜像管理接口生成并返回的第一镜像升级响应时,调用所述镜像管理接口,生成第二镜像升级请求,并将所述第二镜像升级请求发送至对应所述待升级vnf的vnfm,以指示所述vnfm获取所述第二镜像升级请求指定的升级镜像文件进行升级,其中,所述第二镜像升级请求与所述第一镜像升级请求指定相同的升级镜像文件;

接收所述vnfm在升级后,调用所述镜像管理接口生成并返回的第二镜像升级响应,以根据所述第二镜像升级响应确认触发的镜像升级操作是否成功。

可选地,所述调用所述镜像管理接口,生成第一镜像升级请求的步骤之前,还包括:

在触发镜像升级操作时,上传对应触发的镜像升级操作的升级镜像文件至镜像服务器;

所述调用所述镜像管理接口,生成第一镜像升级请求的步骤包括:

调用所述镜像管理接口,生成携带所述升级镜像文件的下载地址的第一镜像升级请求;

所述调用所述镜像管理接口,生成第二镜像升级请求的步骤包括:

调用所述镜像管理接口,生成携带所述升级镜像文件的下载地址的第二镜像升级请求。

可选地,所述上传对应触发的镜像升级操作的升级镜像文件至镜像服务器的步骤包括:

计算所述升级镜像文件的消息摘要,并将计算的所述消息摘要与所述升级镜像文件打包为升级包;

将所述升级包上传至所述镜像服务器,以供所述待升级vnf和所述vnfm在下载到所述升级包之后,解析出所述升级包携带的升级镜像文件以及消息摘要,并计算出所述升级镜像文件的消息摘要与解析出的消息摘要进行比对,在比对成功后进行升级。

可选地,所述方法还包括:

在触发镜像版本查询操作时,调用所述镜像管理接口,生成携带目标虚拟机的标识信息的镜像查询请求,并将所述镜像查询请求发送至对应的待查询vnf或待查询vnfm,以供所述待查询vnf或所述待查询vnfm,基于所述标识信息查询到所述目标虚拟机的镜像版本号;

接收到所述待查询vnf或所述待查询vnfm返回的,所述目标虚拟机的镜像版本号,进行展示。

可选地,所述将所述第二镜像升级请求发送至所述vnfm的步骤之后,还包括:

在发送所述第二镜像升级请求至所述vnfm失败时,将所述第二镜像升级请求发送至所述待升级vnf,并指示所述待升级vnf将所述第二镜像升级请求转发至所述vnfm。

此外,为实现上述目的,本发明还提供一种网络功能虚拟化nfv镜像文件升级的装置,应用于网元管理系统ems,首先定义ems与虚拟网络功能vnf和虚拟网络功能管理器vnfm之间的镜像管理接口,该装置包括:

镜像升级模块,用于在触发镜像升级操作时,调用所述镜像管理接口,生成第一镜像升级请求,并将所述第一镜像升级请求发送至待升级vnf,以指示所述待升级vnf获取所述第一镜像升级请求指定的升级镜像文件进行升级,其中,所述待升级vnf包括实例化的虚拟机和未实例化的虚拟机;还用于在接收到所述待升级vnf成功升级后,调用所述镜像管理接口生成并返回的第一镜像升级响应时,调用所述镜像管理接口,生成第二镜像升级请求,并将所述第二镜像升级请求发送至对应所述待升级vnf的vnfm,以指示所述vnfm获取所述第二镜像升级请求指定的升级镜像文件,其中,所述第二镜像升级请求与所述第一镜像升级请求指定相同的升级镜像文件;

镜像检查模块,用于接收所述vnfm在升级后,调用所述镜像管理接口生成并返回的第二镜像升级响应,以根据所述第二镜像升级响应确认触发的镜像升级操作是否成功。

可选地,所述镜像升级模块还用于在触发镜像升级操作时,上传对应触发的镜像升级操作的升级镜像文件至镜像服务器;还用于调用所述镜像管理接口,生成携带所述升级镜像文件的下载地址的第一镜像升级请求;还用于调用所述镜像管理接口,生成携带所述升级镜像文件的下载地址的第二镜像升级请求。

可选地,所述镜像升级模块还用于计算所述升级镜像文件的消息摘要,并将计算的所述消息摘要与所述升级镜像文件打包为升级包;还用于将所述升级包上传至所述镜像服务器,以供所述待升级vnf和所述vnfm在下载到所述升级包之后,解析出所述升级包携带的升级镜像文件以及消息摘要,并计算出所述升级镜像文件的消息摘要与解析出的消息摘要进行比对,在比对成功后进行升级。

可选地,所述装置还包括:

镜像查询模块,用于在触发镜像版本查询操作时,调用所述镜像管理接口,生成携带目标虚拟机的标识信息的镜像查询请求,并将所述镜像查询请求发送至对应的待查询vnf或待查询vnfm,以供所述待查询vnf或所述待查询vnfm,基于所述标识信息查询到所述目标虚拟机的镜像版本号;还用于接收到所述待查询vnf或所述待查询vnfm返回的,所述目标虚拟机的镜像版本号,进行展示。

可选地,所述镜像升级模块还用于在发送所述第二镜像升级请求至所述vnfm失败时,将所述第二镜像升级请求发送至所述待升级vnf,并指示所述待升级vnf将所述第二镜像升级请求转发至所述vnfm。

本发明提出的网络功能虚拟化镜像文件升级的方法及装置,通过调用定义的镜像管理接口,可基于ems实现网元业务版本和镜像文件版本的同时升级,对于大规模部署的虚拟机或者升级过程复杂的虚拟机来说,简化了运维人员操作步骤,同时,还可在不撤销/新建虚拟机的情况下对虚拟机做镜像升级,适合对有过程数据的状态虚拟机的平滑升级,而且本发明不需要新建虚拟机,因此不需占用额外的硬件资源。从而,本发明能够高效的对已实例化和/或未实例化虚拟机进行镜像升级。

附图说明

图1为现有技术中镜像文件升级的流程示意图;

图2为本发明网络功能虚拟化镜像文件升级的装置第一实施例的模块示例图;

图3为本发明网络功能虚拟化镜像文件升级的装置第一实施例中网络功能虚拟化nfv的架构示例图;

图4为本发明网络功能虚拟化镜像文件升级的装置第一实施例中各构件间的接口示意图;

图5为本发明网络功能虚拟化镜像文件升级的方法第一实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种网络功能虚拟化(networkfunctionvirtualization,以下简称为nfv)镜像文件升级的装置,应用于网元管理系统(networkelementmanagementsystem,以下简称为ems),首先定义ems与虚拟网络功能(virtualnetworkfunction,以下简称为vnf)和vnf管理器(vnfmanager,以下简称为vnfm)之间的镜像管理接口,参照图2,在本发明的第一实施例中,该装置包括:

镜像升级模块10,用于在触发镜像升级操作时,调用所述镜像管理接口,生成第一镜像升级请求,并将所述第一镜像升级请求发送至待升级vnf,以指示所述待升级vnf获取所述第一镜像升级请求指定的升级镜像文件进行升级,其中,所述待升级vnf包括实例化的虚拟机和未实例化的虚拟机;还用于在接收到所述待升级vnf成功升级后,调用所述镜像管理接口生成并返回的第一镜像升级响应时,调用所述镜像管理接口,生成第二镜像升级请求,并将所述第二镜像升级请求发送至对应所述待升级vnf的vnfm,以指示所述vnfm获取所述第二镜像升级请求指定的升级镜像文件进行升级,其中,所述第二镜像升级请求与所述第一镜像升级请求指定相同的升级镜像文件;

镜像检查模块20,用于接收所述vnfm在升级后,调用所述镜像管理接口生成并返回的第二镜像升级响应,以根据所述第二镜像升级响应确认触发的镜像升级操作是否成功;

其中,所述vnfm执行的镜像文件升级操作包括:

所述vnfm将获取的升级镜像文件上传至预设镜像文件库,并基于所述升级镜像文件更新vnfm本地储存的相关镜像信息,以及更新vnf描述符vnfd和nfv编排器nfvo上保留的镜像相关信息。

为便于理解本发明方案,以下首先对本发明涉及的nfv架构进行介绍,如图3所示,由以下功能构件组成:

nfv基础设施(nfvinfrastructure,nfvi)提供支撑nfv的执行所需要的虚拟化资源,包括商业现货供应(commercialofftheshelf,cots)的硬件、必要的加速器组件,以及对底层硬件进行虚拟化和抽象化的软件层。

vnf是能够在nfvi上运行的网络功能(networkfunction,nf)的软件实现,可能还附有网元管理系统(elementmanagementsystem,以下简称为ems)模块来理解和管理单独的vnf及其特性。vnf相当于网络节点的实体,被期望以摆脱硬件依赖的纯软件来交付。

nfv管理和编排(managementandorchestration,m&o或者mano)包含编排、支撑基础设施虚拟化的物理和/或软件资源的生命周期管理、vnf的生命周期管理。nfvmano聚焦于nfv框架中虚拟化特定的管理任务。nfvmano也与(nfv外部的)运营支撑系统(operationsupportsystem,以下简称为oss)/业务支撑系统(businesssupportsystem,以下简称为bss)交互,以允许nfv被集成进已存在的涉及全网范围的管理图景。

上述构件通过定义的参考点以及接口进行交互,以便不同实体能够清晰地解耦,从而促成一个开放和创新的nfv生态系统。vnf与nfvi之间(以及nfvi内部实体之间)的参考点处理资源的抽象和虚拟化,以及vnf的主机寄宿,以便vnf不仅能够在nfvi中从一个移动到另一个,而且能够确保选择不同的底层硬件成为可能。nfvmano与vnf和nfvi之间(以及nfvmano内部实体之间)的参考点处理nfv系统的管理和运作。相关构件的设计方式允许复用现有解决方案(例如云管理系统),并且也与nfv系统需要连接的现有oss/bss环境进行交互。

此外,nfvmano之内进一步定义了以下功能构件:

nfvo,主要负责ns的生命周期管理,完成网络业务编排功能;以及跨多个vim的nfvi资源编排,完成资源编排功能。

vnfm,负责vnf实例的生命周期管理,每个vnf都被假定具有一个关联的vnfm,一个vnfm可以被指派管理单一vnf实例或者管理多个相同或相异类型的vnf实例。其可用能力包括:vnf实例化、vnf配置nfvi资源、vnf实例更新、vnf实例缩放、vnf实例相关nfvi性能度量和事件的收集以及与vnf实例相关事件的关联、vnf实例受助或自动康复、vnf实例终止、vnf实例贯穿其生命周期的完整性管理、为nfvi和ems之间的配置和事件报告担当全局协调和适配的角色等。

vim,负责控制和管理nfvi的计算、存储和网络资源,通常在一个运营商的基础设施子域内。一个vim可以专门处理某类nfvi资源或者可以管理多种类型的nfvi资源。其可用能力包括:编排nfvi资源的分配/升级/解除分配/回收利用,管理虚拟化资源与计算、存储、网络资源的关联;管理硬件资源(计算、存储、网络)和软件资源(例如管理程序)的目录;收集和转发虚拟化资源的性能度量和事件等。

在上述架构的基础上,可以通过多个nf实现具有特定功能的ns。传统网络实现的端到端ns是完全由物理网络功能(physicalnetworkfunction,pnf)构成的。nfv中实现的端到端ns则一般两端仍为pnf,而中间则全部或部分被替换为vnf。每个nf实现的功能和对外的接口与其是pnf还是vnf无关。vnf和pnf之间链接构成的拓扑关系可以采用vnf转发图(vnfforwardinggraph,以下简称为vnffg)来描述,每个nf的特性由相应的网络功能描述符(networkfunctiondescriptor,以下简称为nfd)来描述。

vnf需要基于nfvi提供的虚拟资源(包括虚拟的计算、存储和网络资源)来实现,这些虚拟资源是对相应的物理资源进行虚拟化而来的。pnf则直接是基于物理资源来实现的。不像传统网络中所有控制都集中于软硬件一体化的网络设备上,nfv引入虚拟化实现网络设备的软硬件解耦,使得对业务的控制主要体现在pnf和vnf层面,而对性能的控制则主要体现在nfvi尤其是其中的硬件资源层面。

在本发明实施例中,为了实现对已实例化和/或未实例化虚拟机的镜像升级,并兼容传统ems的版本管理功能,首先在ems与vnf和vnfm之间定义一套镜像管理接口。下表所示为该镜像管理接口中实现具体功能的部分接口和参数。

需要说明的是,本发明装置应用的ems可以是现有网络中的管理网元,也可以是集成到vnf中的ems模块。

在具体实施时,首先需要触发镜像升级操作,具体可由运维人员手动触发,或者由本发明装置主动触发。

例如,在镜像版本号更新时,运维人员将升级镜像文件上传至ems,并通过ems预设升级触发控件触发镜像升级操作;又例如,本发明装置查询vnf/vnfm上的镜像版本号,并将查询到的镜像版本号与目的镜像版本号进行比对,在查询到的镜像版本号低于目的镜像版本号时,触发镜像升级操作。

以下本发明实施例主动触发镜像升级操作进行说明。

首先,需要查询vnf/vnfm的镜像版本号,具体的,本发明装置还包括:

镜像查询模块30,用于在触发镜像版本查询操作时,调用镜像管理接口,生成携带目标虚拟机的标识信息的镜像查询请求,并将镜像查询请求发送至对应的待查询vnf或待查询vnfm,以供所述待查询vnf或所述待查询vnfm,基于所述标识信息查询到所述目标虚拟机的镜像版本号,并封装至镜像查询响应中;

接收所述待查询vnf或所述待查询vnfm调用所述镜像管理接口生成并返回的镜像查询响应,并解析出所述镜像查询响应携带的镜像版本号。

需要说明的是,镜像查询模块30,主要用于镜像查询功能,当向vnf查询镜像版本号时,用于查询指定虚拟机当前的镜像版本号;向vnfm查询镜像时,用于查询nfvo/vnfm/vim上指定vnf(即之前查询的vnf)描述文件中记录的当前的镜像版本号。

具体的,镜像查询模块30调用镜像管理接口生成的镜像查询请求即表1所示的queryimagerequest消息,该消息中携带目标虚拟机的标识信息。

vnf在接收到queryimagerequest消息时,获取消息中标识信息指定的目标虚拟机当前的镜像版本号;并在获取到目标虚拟机的镜像版本号之后,调用镜像管理接口生成携带其查询到镜像版本号的镜像查询响应,即表1所示的queryimagerespone消息,返回至基于ems运行的镜像查询模块30。

vnfm在接收到queryimagerequest消息时,获取消息中标识信息指定的目标虚拟机当前的镜像版本号;并在获取到目标虚拟机的镜像版本号之后,调用镜像管理接口生成携带其查询到镜像版本号的镜像查询响应,即表1所示的queryimagerespone消息,返回至基于ems运行的镜像查询模块30。

镜像查询模块30在接收到vnf/vnfm返回的queryimagerespone消息之后,从中解析出查询到的镜像版本号,并传输至镜像判定模块40。

镜像判定模块40在接收到镜像查询模块30传输的镜像版本号之后,将接收的镜像版本号与目的镜像版本号进行比对,并依据预设升级策略以确定是否需要升级,如需要升级则触发镜像升级操作,同时,将之前查询的vnf和vnfm记为待升级vnf和vnfm;否则确定不需要升级。需要说明的是,在本实施例场景中,此处确定需要升级,镜像判定模块40触发镜像升级操作。

镜像升级模块10在侦测到镜像判定模块40触发的镜像升级操作时,创建升级文件,具体上传对应触发的镜像升级操作的升级镜像文件至镜像服务器。

其中,对应触发的镜像升级操作的升级镜像文件即前述目的镜像版本号对应的镜像文件。可选地,在其他实施例中,还可直接将升级镜像文件置于ems本地。

在成功创建升级文件之后,镜像升级模块10调用所述镜像管理接口,生成携带所述升级镜像文件的下载地址的第一镜像升级请求(为表1所示updateimagerequest消息),该第一镜像升级请求还携带有得到新镜像(即升级镜像文件)标识、新镜像版本号、旧镜像标识、旧镜像版本号、新镜像下载地址(即所述升级文件的下载地址)、下载用户名和密码等,将该第一镜像升级请求发送至待升级vnf,以指示待升级vnf获取第一镜像升级请求指定的升级镜像文件进行升级,其中,待升级vnf包括实例化的虚拟机和未实例化的虚拟机。

待升级vnf在接收到第一镜像升级请求之后,解析出第一新镜像升级请求携带的新镜像标识、新镜像版本号、旧镜像标识、旧镜像版本号、新镜像下载地址、下载用户名和密码等,待升级vnf将新镜像版本号与本地镜像版本号进行比对,确定需要升级,使用前述用户名和密码向新镜像下载地址对应的镜像服务器发起镜像文件下载请求,下载所述升级镜像文件。

在下载完成升级镜像文件之后,待升级vnf开始执行本地镜像文件的升级,并在升级完成后,调用定义的镜像管理接口,生成并返回第一镜像升级响应(为表1所示updateimagerepone消息)至镜像升级模块10。此处,第一镜像升级响应携带vnf的升级结果为升级成功。可选地,在其他实施例中,第一镜像升级响应携带vnf的实际结果取决于待升级vnf升级成功与否,若升级失败,还可携带失败原因。

镜像升级模块10在接收到待升级vnf升级成功后返回的第一镜像响应时,调用定义的镜像管理接口,生成第二镜像升级请求(为表1所示updateimagerequest消息),该第二镜像升级请求还携带有得到新镜像(即升级镜像文件)标识、新镜像版本号、旧镜像标识、旧镜像版本号、新镜像下载地址(即所述升级文件的下载地址)、下载用户名和密码等,将该第二镜像升级请求发送至对应于待升级vnf的vnfm,以指示vnfm获取第二镜像升级请求指定的升级镜像文件进行升级。

vnfm在接收到第二镜像升级请求之后,解析出第二新镜像升级请求携带的新镜像标识、新镜像版本号、旧镜像标识、旧镜像版本号、新镜像下载地址、下载用户名和密码等,vnfm将新镜像版本号与本地镜像版本号进行比对,确定需要升级,使用前述用户名和密码向新镜像下载地址对应的镜像服务器发起镜像文件下载请求,下载所述升级镜像文件。

在下载完成升级镜像文件之后,vnfm进行旧镜像文件的升级,具体将获取的升级镜像文件上传至预设镜像文件库,并基于升级镜像文件更新其本地储存的相关镜像信息,以及更新vnf描述符vnfd和nfv编排器nfvo上保留的镜像相关信息。在具体实施时,vnfm将获取的升级镜像文件上传至vim,向nfvo发送消息更新nfvo上保存的旧镜像文件相关的信息(如将旧镜像版本号更新为升级镜像文件的新镜像版本号),更新本地保存的旧镜像文件相关的信息,以及更新vnfd中的旧镜像文件相关的信息。其中,vnfm更新旧镜像文件相关的信息的操作可复用现有技术,本发明不做具体限制。

在完成升级操作时,vnfm调用定义的镜像管理接口,生成并返回第二镜像升级响应(为表1所示updateimagerepone消息)至镜像升级模块10。其中,第二镜像升级响应携带vnfm的升级结果,包括升级成功和升级失败,若升级失败,还可携带失败原因。

相应的,在本实施例中,镜像检查模块20对vnfm在完成升级后返回的第二镜像升级响应进行接收,以从第二镜像升级响应中解析出vnfm的升级结果,判断触发的镜像升级操作是否成功,容易理解的是,在解析出的升级结果为升级成功时,则可确定触发的镜像升级操作执行成功,否则确定触发的镜像升级操作执行失败。

可选地,在其他实施例中,在解析出的vnfm的升级结果为升级失败时,镜像检查模块20传输指示信息至镜像判定模块40,指示镜像判定模块40再次触发镜像升级操作。

可选地,在其他实施例中,镜像升级模块10生成的第一镜像升级请求和第二镜像升级请求分别携带有镜像校验码(为表1所示的checksum),供待升级vnf和vnfm对各自获取的升级镜像文件进行完整性和真实性的校验,并在校验通过后进行镜像文件的升级。

需要说明的是,如图4所示,在本发明的上述实施例中,本发明装置基于其所在ems和vnf之间的参考点sw4进行通信,本发明装置基于其所在ems与vnfm之间的ve-vnfm-em接口进行通信,vnf与vnfm基于二者间的ve-vn-vnf接口进行通信,vnfm与nfvo基于二者之间的or-vnfm接口进行通信,vnfm与vim基于二者之间的vi-vnfm接口进行通信。

进一步地,在本实施例中,镜像升级模块10还用于在发送所述第二镜像升级请求至所述vnfm失败时,将所述第二镜像升级请求发送至待升级vnf,并指示所述待升级vnf将所述第二镜像升级请求转发至所述vnfm。

在本实施例中,当其所ems与vnfm之间的消息不能经过ve-vnfm-em接口传递,或者ems与所述vnfm之间没有直接链路时,镜像升级模块10发送第二升级请求的发送操作可能失败,为此,镜像升级模块10可先将镜像管理消息经sw4转发到待升级vnf,再由待升级vnf转发至vnfm。其中,镜像管理消息包括其所第二镜像升级请求以及镜像查询请求等。

本发明提出的网络功能虚拟化镜像文件的升级装置,通过调用定义的镜像管理接口,可基于ems实现网元业务版本和镜像文件版本的同时升级,对于大规模部署的虚拟机或者升级过程复杂的虚拟机来说,简化了运维人员操作步骤,同时,还可在不撤销/新建虚拟机的情况下对虚拟机做镜像升级,适合对有过程数据的状态虚拟机的平滑升级,而且本发明不需要新建虚拟机,因此不需占用额外的硬件资源。从而,本发明能够高效的对已实例化和/或未实例化虚拟机进行镜像升级。

进一步地,基于第一实施例,提出本发明装置的第二实施例,在本实施例中,所述镜像升级模块10还用于计算所述升级镜像文件的消息摘要,并将计算的所述消息摘要与所述升级镜像文件打包为升级包;还用于将所述升级包上传至所述镜像服务器,以供所述待升级vnf和所述vnfm在下载到所述升级包之后,解析出所述升级包携带的升级镜像文件以及消息摘要,并计算出所述升级镜像文件的消息摘要与解析出的消息摘要进行比对,在比对成功后进行升级。

需要说明的是,本实施例提供一较传统的校验码更安全的,对升级镜像文件的完整性和真实性校验方案,其他可参照前述第一实施例,此处不再赘述。

在本发明实施例中,镜像升级模块10在上传升级镜像文件时,首先采用约定的消息摘要算法(具体由升级镜像文件的上传端,与升级镜像文件的下载端vnf/vnfm进行约定)对前述升级镜像文件进行计算,得到对应前述升级镜像文件的消息摘要。其中,本发明对采用何种消息摘要算法不做具体限制,可由本领域技术人员根据实际需要选取,例如,本实施例采用md5算法计算前述升级镜像文件的消息摘要。

在计算得到升级镜像文件的消息摘要之后,将计算的消息摘要与升级镜像文件打包为升级包,并将打包的升级包上传至镜像服务器。其中,本发明对采用何种打包方式不做具体限制。

之后,在生成触发vnf升级的第一镜像升级请求时,具体调用前述镜像管理接口,生成携带前述升级包的下载地址的第一镜像升级请求;在生成触发vnfm升级的第二镜像升级请求时,具体调用前述镜像管理接口,生成携带前述升级包的下载地址的第二镜像升级请求。

另一方面,待升级vnf/vnfm在下载到升级包之后,除进行基于校验码的完整性和真实性校验之外,还进一步对下载的升级包进行解析,得到该升级包携带的升级镜像文件以及消息摘要,并采用约定的消息摘要算法对解析出的升级镜像文件进行计算,再将计算得到消息摘要与解析出的消息摘要进行比对,以对下载的升级镜像文件进行基于消息摘要的完整性和真实性校验,其中,在二者消息摘要比对一致时,校验通过,否则校验失败。容易理解的是,待升级vnf/vnfm在且仅在校验通过时进行升级。

本发明还提供一种网络功能虚拟化镜像文件升级的方法,由图2所示的网络功能虚拟化镜像文件升级的装置执行,参照图5,在本发明网络功能虚拟化镜像文件升级的方法的第一实施例中,对应于前述网络功能虚拟化镜像文件升级的装置的第一实施例,该网络功能虚拟化镜像文件升级的方法包括:

步骤s10,在触发镜像升级操作时,调用所述镜像管理接口,生成第一镜像升级请求,并将所述第一镜像升级请求发送至待升级vnf,以指示所述待升级vnf获取所述第一镜像升级请求指定的升级镜像文件进行升级,其中,所述待升级vnf包括实例化的虚拟机和未实例化的虚拟机;

步骤s20,在接收到所述待升级vnf成功升级后,调用所述镜像管理接口生成并返回的第一镜像升级响应时,调用所述镜像管理接口,生成第二镜像升级请求,并将所述第二镜像升级请求发送至对应所述待升级vnf的vnfm,以指示所述vnfm获取所述第二镜像升级请求指定的升级镜像文件进行升级,其中,所述第二镜像升级请求与所述第一镜像升级请求指定相同的升级镜像文件;

步骤s30,接收所述vnfm在升级后,调用所述镜像管理接口生成并返回的第二镜像升级响应,以根据所述第二镜像升级响应确认触发的镜像升级操作是否成功;

其中,所述vnfm执行的镜像文件升级操作包括:

所述vnfm将获取的升级镜像文件上传至预设镜像文件库,并基于所述升级镜像文件更新vnfm本地储存的相关镜像信息,以及更新vnf描述符vnfd和nfv编排器nfvo上保留的镜像相关信息。

在本发明实施例中,为了实现对已实例化和/或未实例化虚拟机的镜像升级,并兼容传统ems的版本管理功能,首先在ems与vnf和vnfm之间定义一套镜像管理接口。如表1所示,为该镜像管理接口中实现具体功能的部分接口和参数。

需要说明的是,本发明装置应用的ems可以是现有网络中的管理网元,也可以是集成到vnf中的ems模块。

在具体实施时,首先需要触发镜像升级操作,具体可由运维人员手动触发,或者由本发明装置主动触发。

例如,在镜像版本号更新时,运维人员将升级镜像文件上传至ems,并通过ems预设升级触发控件触发镜像升级操作;又例如,本发明装置查询vnf/vnfm上的镜像版本号,并将查询到的镜像版本号与目的镜像版本号进行比对,在查询到的镜像版本号低于目的镜像版本号时,触发镜像升级操作。

以下本发明实施例主动触发镜像升级操作进行说明。

首先,需要查询vnf/vnfm的镜像版本号,步骤s10之前,包括:

在触发镜像版本查询操作时,调用所述镜像管理接口,生成携带目标虚拟机的标识信息的镜像查询请求,并将所述镜像查询请求发送至对应的待查询vnf或待查询vnfm,以供所述待查询vnf或所述待查询vnfm,基于所述标识信息查询到所述目标虚拟机的镜像版本号;

接收所述待查询vnf或所述待查询vnfm调用所述镜像管理接口生成并返回的镜像查询响应,并解析出所述镜像查询响应携带的镜像版本号。

具体的,前述网络功能虚拟化镜像文件升级的装置还包括镜像查询模块30,用于在触发镜像版本查询操作时,调用镜像管理接口,生成携带目标虚拟机的标识信息的镜像查询请求,并将镜像查询请求发送至对应的待查询vnf或待查询vnfm,以供所述待查询vnf或所述待查询vnfm,基于所述标识信息查询到所述目标虚拟机的镜像版本号,并封装至镜像查询响应中;

接收所述待查询vnf或所述待查询vnfm调用所述镜像管理接口生成并返回的镜像查询响应,并解析出所述镜像查询响应携带的镜像版本号。

需要说明的是,镜像查询模块30,主要用于镜像查询功能,当向vnf查询镜像版本号时,用于查询指定虚拟机当前的镜像版本号;向vnfm查询镜像时,用于查询nfvo/vnfm/vim上指定vnf(即之前查询的vnf)描述文件中记录的当前的镜像版本号。

具体的,镜像查询模块30调用镜像管理接口生成的镜像查询请求即表1所示的queryimagerequest消息,该消息中携带目标虚拟机的标识信息。

vnf在接收到queryimagerequest消息时,获取消息中标识信息指定的目标虚拟机当前的镜像版本号;并在获取到目标虚拟机的镜像版本号之后,调用镜像管理接口生成携带其查询到镜像版本号的镜像查询响应,即表1所示的queryimagerespone消息,返回至基于ems运行的镜像查询模块30。

vnfm在接收到queryimagerequest消息时,获取消息中标识信息指定的目标虚拟机当前的镜像版本号;并在获取到目标虚拟机的镜像版本号之后,调用镜像管理接口生成携带其查询到镜像版本号的镜像查询响应,即表1所示的queryimagerespone消息,返回至基于ems运行的镜像查询模块30。

镜像查询模块30在接收到vnf/vnfm返回的queryimagerespone消息之后,从中解析出查询到的镜像版本号,并传输至镜像判定模块40。

镜像判定模块40在接收到镜像查询模块30传输的镜像版本号之后,将接收的镜像版本号与目的镜像版本号进行比对,并依据预设升级策略以确定是否需要升级,如需要升级则触发镜像升级操作,同时,将之前查询的vnf和vnfm记为待升级vnf和vnfm;否则确定不需要升级。需要说明的是,在本实施例场景中,此处确定需要升级,镜像判定模块40触发镜像升级操作。

镜像升级模块10在侦测到镜像判定模块40触发的镜像升级操作时,创建升级文件,具体上传对应触发的镜像升级操作的升级镜像文件至镜像服务器。

其中,对应触发的镜像升级操作的升级镜像文件即前述目的镜像版本号对应的镜像文件。可选地,在其他实施例中,还可直接将升级镜像文件置于ems本地。

在成功创建升级文件之后,镜像升级模块10调用所述镜像管理接口,生成携带所述升级镜像文件的下载地址的第一镜像升级请求(为表1所示updateimagerequest消息),该第一镜像升级请求还携带有得到新镜像(即升级镜像文件)标识、新镜像版本号、旧镜像标识、旧镜像版本号、新镜像下载地址(即所述升级文件的下载地址)、下载用户名和密码等,将该第一镜像升级请求发送至待升级vnf,以指示待升级vnf获取第一镜像升级请求指定的升级镜像文件进行升级,其中,待升级vnf包括实例化的虚拟机和未实例化的虚拟机。

待升级vnf在接收到第一镜像升级请求之后,解析出第一新镜像升级请求携带的新镜像标识、新镜像版本号、旧镜像标识、旧镜像版本号、新镜像下载地址、下载用户名和密码等,待升级vnf将新镜像版本号与本地镜像版本号进行比对,确定需要升级,使用前述用户名和密码向新镜像下载地址对应的镜像服务器发起镜像文件下载请求,下载所述升级镜像文件。

在下载完成升级镜像文件之后,待升级vnf开始执行本地镜像文件的升级,并在升级完成后,调用定义的镜像管理接口,生成并返回第一镜像升级响应(为表1所示updateimagerepone消息)至镜像升级模块10。此处,第一镜像升级响应携带vnf的升级结果为升级成功。可选地,在其他实施例中,第一镜像升级响应携带vnf的实际结果取决于待升级vnf升级成功与否,若升级失败,还可携带失败原因。

镜像升级模块10在接收到待升级vnf升级成功后返回的第一镜像响应时,调用定义的镜像管理接口,生成第二镜像升级请求(为表1所示updateimagerequest消息),该第二镜像升级请求还携带有得到新镜像(即升级镜像文件)标识、新镜像版本号、旧镜像标识、旧镜像版本号、新镜像下载地址(即所述升级文件的下载地址)、下载用户名和密码等,将该第二镜像升级请求发送至对应于待升级vnf的vnfm,以指示vnfm获取第二镜像升级请求指定的升级镜像文件进行升级。

vnfm在接收到第二镜像升级请求之后,解析出第二新镜像升级请求携带的新镜像标识、新镜像版本号、旧镜像标识、旧镜像版本号、新镜像下载地址、下载用户名和密码等,vnfm将新镜像版本号与本地镜像版本号进行比对,确定需要升级,使用前述用户名和密码向新镜像下载地址对应的镜像服务器发起镜像文件下载请求,下载所述升级镜像文件。

在下载完成升级镜像文件之后,vnfm进行旧镜像文件的升级,具体将获取的升级镜像文件上传至预设镜像文件库,并基于升级镜像文件更新其本地储存的相关镜像信息,以及更新vnf描述符vnfd和nfv编排器nfvo上保留的镜像相关信息。在具体实施时,vnfm将获取的升级镜像文件上传至vim,向nfvo发送消息更新nfvo上保存的旧镜像文件相关的信息(如将旧镜像版本号更新为升级镜像文件的新镜像版本号),更新本地保存的旧镜像文件相关的信息,以及更新vnfd中的旧镜像文件相关的信息。其中,vnfm更新旧镜像文件相关的信息的操作可复用现有技术,本发明不做具体限制。

在完成升级操作时,vnfm调用定义的镜像管理接口,生成并返回第二镜像升级响应(为表1所示updateimagerepone消息)至镜像升级模块10。其中,第二镜像升级响应携带vnfm的升级结果,包括升级成功和升级失败,若升级失败,还可携带失败原因。

相应的,在本实施例中,镜像检查模块20对vnfm在完成升级后返回的第二镜像升级响应进行接收,以从第二镜像升级响应中解析出vnfm的升级结果,判断触发的镜像升级操作是否成功,容易理解的是,在解析出的升级结果为升级成功时,则可确定触发的镜像升级操作执行成功,否则确定触发的镜像升级操作执行失败。

可选地,在其他实施例中,在解析出的vnfm的升级结果为升级失败时,镜像检查模块20传输指示信息至镜像判定模块40,指示镜像判定模块40再次触发镜像升级操作。

可选地,在其他实施例中,镜像升级模块10生成的第一镜像升级请求和第二镜像升级请求分别携带有镜像校验码(为表1所示的checksum),供待升级vnf和vnfm对各自获取的升级镜像文件进行完整性和真实性的校验,并在校验通过后进行镜像文件的升级。

需要说明的是,如图4所示,在本发明的上述实施例中,本发明装置基于其所在ems和vnf之间的参考点sw4进行通信,本发明装置基于其所在ems与vnfm之间的ve-vnfm-em接口进行通信,vnf与vnfm基于二者间的ve-vn-vnf接口进行通信,vnfm与nfvo基于二者之间的or-vnfm接口进行通信,vnfm与vim基于二者之间的vi-vnfm接口进行通信。

进一步地,在本实施例中,步骤s20之后,还包括:

在发送所述第二镜像升级请求至所述vnfm失败时,将所述第二镜像升级请求发送至待升级vnf,并指示所述待升级vnf将所述第二镜像升级请求转发至所述vnfm。

具体的,镜像升级模块10还用于在发送所述第二镜像升级请求至所述vnfm失败时,将所述第二镜像升级请求发送至待升级vnf,并指示所述待升级vnf将所述第二镜像升级请求转发至所述vnfm。在本实施例中,当其所ems与vnfm之间的消息不能经过ve-vnfm-em接口传递,或者ems与所述vnfm之间没有直接链路时,镜像升级模块10发送第二升级请求的发送操作可能失败,为此,镜像升级模块10可先将镜像管理消息经sw4转发到待升级vnf,再由待升级vnf转发至vnfm。其中,镜像管理消息包括其所第二镜像升级请求以及镜像查询请求等。

本发明提出的网络功能虚拟化镜像文件的升级方法,通过调用定义的镜像管理接口,可基于ems实现网元业务版本和镜像文件版本的同时升级,对于大规模部署的虚拟机或者升级过程复杂的虚拟机来说,简化了运维人员操作步骤,同时,还可在不撤销/新建虚拟机的情况下对虚拟机做镜像升级,适合对有过程数据的状态虚拟机的平滑升级,而且本发明不需要新建虚拟机,因此不需占用额外的硬件资源。从而,本发明能够高效的对已实例化和/或未实例化虚拟机进行镜像升级。

进一步地,基于第一实施例,提出本发明方法的第二实施例,对应于前述装置的第二实施例,在本实施例中,前述上传对应触发的镜像升级操作的升级镜像文件至镜像服务器的步骤包括:

计算所述升级镜像文件的消息摘要,并将计算的所述消息摘要与所述升级镜像文件打包为升级包;

将所述升级包上传至所述镜像服务器,以供所述待升级vnf和所述vnfm在下载到所述升级包之后,解析出所述升级包携带的升级镜像文件以及消息摘要,并计算出所述升级镜像文件的消息摘要与解析出的消息摘要进行比对,在比对成功后进行升级。

需要说明的是,本实施例提供一较传统的校验码更安全的,对升级镜像文件的完整性和真实性校验方案,其他可参照前述第一实施例,此处不再赘述。

在本发明实施例中,镜像升级模块10在上传升级镜像文件时,首先采用约定的消息摘要算法(具体由升级镜像文件的上传端,与升级镜像文件的下载端vnf/vnfm进行约定)对前述升级镜像文件进行计算,得到对应前述升级镜像文件的消息摘要。其中,本发明对采用何种消息摘要算法不做具体限制,可由本领域技术人员根据实际需要选取,例如,本实施例采用md5算法计算前述升级镜像文件的消息摘要。

在计算得到升级镜像文件的消息摘要之后,将计算的消息摘要与升级镜像文件打包为升级包,并将打包的升级包上传至镜像服务器。其中,本发明对采用何种打包方式不做具体限制。

之后,在生成触发vnf升级的第一镜像升级请求时,具体调用前述镜像管理接口,生成携带前述升级包的下载地址的第一镜像升级请求;在生成触发vnfm升级的第二镜像升级请求时,具体调用前述镜像管理接口,生成携带前述升级包的下载地址的第二镜像升级请求。

另一方面,待升级vnf/vnfm在下载到升级包之后,除进行基于校验码的完整性和真实性校验之外,还进一步对下载的升级包进行解析,得到该升级包携带的升级镜像文件以及消息摘要,并采用约定的消息摘要算法对解析出的升级镜像文件进行计算,再将计算得到消息摘要与解析出的消息摘要进行比对,以对下载的升级镜像文件进行基于消息摘要的完整性和真实性校验,其中,在二者消息摘要比对一致时,校验通过,否则校验失败。容易理解的是,待升级vnf/vnfm在且仅在校验通过时进行升级。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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