CN107229484B - 一种虚拟化环境下自动部署应用程序的方法及装置 - Google Patents
一种虚拟化环境下自动部署应用程序的方法及装置 Download PDFInfo
- Publication number
- CN107229484B CN107229484B CN201610169323.2A CN201610169323A CN107229484B CN 107229484 B CN107229484 B CN 107229484B CN 201610169323 A CN201610169323 A CN 201610169323A CN 107229484 B CN107229484 B CN 107229484B
- Authority
- CN
- China
- Prior art keywords
- ems
- virtual machine
- request
- emsagent
- vnfm
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种虚拟化环境下自动部署应用程序的方法及装置,其中,虚拟化环境下自动部署应用程序的方法包括:接收虚拟化网络功能管理器VNFM发送的下载请求,根据所述下载请求下载应用程序软件包,并向所述VNFM报告下载进度;接收所述VNFM发送的安装请求,所述安装请求是所述VNFM在所述下载进度指示所述应用程序软件包下载完毕后发送的;根据所述安装请求对所述应用程序软件包进行安装。本发明提供的方案通过与虚拟化网络功能管理器VNFM之间的交互,完成应用程序在虚拟环境中的自动部署,解决了现有技术中ETSI NFV架构不能够实现EMS自动部署的问题。
Description
技术领域
本发明涉及虚拟化技术领域,特别是指一种虚拟化环境下自动部署应用程序的方法及装置。
背景技术
Network Functions Virtualisation(NFV,网络功能虚拟化)是由电信网络运营商提出的,是借助IT虚拟化技术,采用业界标准的大容量服务器、存储器和交换机承载各种各样的网络软件功能的技术标准。NFV实现了软件的灵活加载,实现在数据中心、网络节点和用户端等各个位置灵活的部署配置,从而加快网络部署和调整的速度,降低业务部署的复杂度,提高网络设备的统一化、通用化、适配性等。
另外,网络功能虚拟化的实现必须能与运营商当前的老网络设备共存,并与已有的(Element Management System,网元管理系统)EMS、(Network Management System,网络管理系统)NMS、OSS(Operation support system,运营支撑系统)/BSS(Business supportsystem,业务支撑系统),以及已有的IT编排系统兼容。
此外,网络功能虚拟化通过运行在开放、标准的基础设施上的软件网络设备提供弹性、灵活的处理能力,并向接口管理和编排快速拉齐。这将大大降低把新虚拟装置集成到网络运营商运营环境中的时间、成本。因此,网络功能虚拟化只有当所有相关功能自动化后才具有伸缩性。
但是,随着虚拟化技术的发展,电信运营商和用户还希望网络功能虚拟化后网元管理系统能在提供现有FCAPS(Fault Management、Configuration Management、Accounting Management、Performance Management、Security Management,故障管理、配置管理、计费管理、性能管理、安全管理)功能基础上适配网元虚拟化的一些接口和特性变化,网元管理系统也能够运行在虚拟化环境中。然而,在现有的ETSI(EuropeanTelecommunications Standards Institute,欧洲电信标准协会)NFV架构中,NFV没有考虑EMS的自动部署和管理。
发明内容
本发明的目的在于提供一种虚拟化环境下自动部署应用程序的方法及装置,解决现有技术中ETSI NFV架构不能够实现EMS自动部署的问题。
为了解决上述技术问题,本发明实施例提供一种虚拟化环境下自动部署应用程序的方法,包括:
接收虚拟化网络功能管理器VNFM发送的下载请求,根据所述下载请求下载应用程序软件包,并向所述VNFM报告下载进度;
接收所述VNFM发送的安装请求,所述安装请求是所述VNFM在所述下载进度指示所述应用程序软件包下载完毕后发送的;
根据所述安装请求对所述应用程序软件包进行安装。
可选地,所述下载请求中携带版本服务器信息;
所述根据所述下载请求下载应用程序软件包的步骤包括:
根据所述下载请求中的版本服务器信息,从所述VNFM指定的版本服务器中,下载所述应用程序软件包。
可选地,在所述接收虚拟化网络功能管理器VNFM发送的下载请求之前,所述方法还包括:
虚拟机启动后开启监听端口;
在所述监听端口监听到所述VNFM发送的建链请求后,进行建链操作;
建链成功后,向所述VNFM反馈建链成功的响应。
可选地,在所述根据所述安装请求对所述应用程序软件包进行安装之后,所述方法还包括:
在所述应用程序软件包安装完毕后,获取虚拟机配置信息,并根据所述虚拟机配置信息修改应用程序的运行参数,启动所述应用程序;
在所述应用程序的所有进程均启动完毕后,向所述VNFM反馈部署完毕的响应。
可选地,在所述向所述VNFM反馈建链成功的响应之后,所述方法还包括:
接收所述VNFM发送的链路检测消息;
根据所述链路检测消息向所述VNFM反馈链路正常的响应。
可选地,在所述接收所述VNFM发送的链路检测消息后,所述方法还包括:
若第一预设时间段内未向所述VNFM反馈链路正常的响应,则接收所述 VNFM发送的重新建链的请求;
根据所述重新建链的请求进行重新建链操作;
重新建链成功后,向所述VNFM反馈重新建链成功的响应。
可选地,所述虚拟机启动后开启监听端口的步骤包括:
只在所述虚拟机首次启动后,开启监听端口。
本发明还提供了一种虚拟化环境下自动部署应用程序的装置,包括:
第一处理模块,用于接收虚拟化网络功能管理器VNFM发送的下载请求,根据所述下载请求下载应用程序软件包,并向所述VNFM报告下载进度;
第一接收模块,用于接收所述VNFM发送的安装请求,所述安装请求是所述VNFM在所述下载进度指示所述应用程序软件包下载完毕后发送的;
安装模块,用于根据所述安装请求对所述应用程序软件包进行安装。
本发明还提供了一种虚拟化环境下自动部署应用程序的方法,应用于虚拟化网络功能管理器VNFM,包括:
在与虚拟机之间建链成功后,向所述虚拟机发送下载请求,所述下载请求用于请求所述虚拟机下载应用程序软件包;
接收所述虚拟机根据所述下载请求反馈的下载进度,并在所述下载进度指示所述应用程序软件包下载完毕时,向所述虚拟机发送安装请求,所述安装请求用于请求所述虚拟机安装所述应用程序软件包。
可选地,所述下载请求中携带版本服务器信息。
可选地,在所述向所述虚拟机发送下载请求之前,所述方法还包括:
在接收到自动部署应用程序的请求时,向底层的虚拟化平台发起创建虚拟机请求,并在间隔第二预设时间段后向所述虚拟机发送建链请求;
接收所述虚拟机根据所述建链请求反馈的建链成功的响应。
可选地,在所述向所述虚拟机发送安装请求之后,所述方法还包括:
接收所述虚拟机反馈的部署完毕的响应,提示用户应用程序自动部署完毕。
可选地,在所述接收所述虚拟机根据所述建链请求反馈的建链成功的响应之后,所述方法还包括:
向所述虚拟机发送链路检测消息;
判断第一预设时间段内是否接收到所述虚拟机反馈的链路正常的响应;
若否,则向所述虚拟机发送重新建链的请求。
可选地,在所述向所述虚拟机发送重新建链的请求后,所述方法还包括:
判断在第三预设时间段内是否接收到所述虚拟机反馈的重新建链成功的响应;
若否,则提示用户应用程序自动部署失败。
本发明还提供了一种虚拟化环境下自动部署应用程序的装置,应用于虚拟化网络功能管理器VNFM,包括:
第一发送模块,用于在与虚拟机之间建链成功后,向所述虚拟机发送下载请求,所述下载请求用于请求所述虚拟机下载应用程序软件包;
第二处理模块,用于接收所述虚拟机根据所述下载请求反馈的下载进度,并在所述下载进度指示所述应用程序软件包下载完毕时,向所述虚拟机发送安装请求,所述安装请求用于请求所述虚拟机安装所述应用程序软件包。
本发明的上述技术方案的有益效果如下:
上述方案中,所述虚拟化环境下自动部署应用程序的方法通过与虚拟化网络功能管理器VNFM之间的交互,完成应用程序在虚拟环境中的自动部署,解决了现有技术中ETSINFV架构不能够实现EMS自动部署的问题。
附图说明
图1为本发明实施例一的虚拟化环境下自动部署应用程序的方法流程示意图;
图2为本发明实施例二的虚拟化环境下自动部署应用程序的方法流程示意图一;
图3为本发明实施例二的虚拟化环境下自动部署应用程序的系统架构示意图;
图4为本发明实施例二的EMS代理进程内部各模块的关系示意图;
图5为本发明实施例二的虚拟化环境下自动部署应用程序的方法流程示意图二;
图6为本发明实施例三的虚拟化环境下自动部署应用程序的装置结构示意图;
图7为本发明实施例四的虚拟化环境下自动部署应用程序的装置结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的技术中ETSI NFV架构不能够实现EMS自动部署的问题,提供了多种解决策略,具体如下:
实施例一
如图1所示,本发明实施例一提供的虚拟化环境下自动部署应用程序的方法包括:
步骤11:接收虚拟化网络功能管理器VNFM发送的下载请求,根据所述下载请求下载应用程序软件包,并向所述VNFM报告下载进度;
步骤12:接收所述VNFM发送的安装请求,所述安装请求是所述VNFM 在所述下载进度指示所述应用程序软件包下载完毕后发送的;
步骤13:根据所述安装请求对所述应用程序软件包进行安装。
本发明实施例一提供的所述虚拟化环境下自动部署应用程序的方法通过与虚拟化网络功能管理器VNFM之间的交互,完成应用程序在虚拟环境中的自动部署,解决了现有技术中ETSI NFV架构不能够实现EMS自动部署的问题。
其中,所述下载请求中携带版本服务器信息;所述根据所述下载请求下载应用程序软件包的步骤包括:根据所述下载请求中的版本服务器信息,从所述 VNFM指定的版本服务器中,下载所述应用程序软件包。
进一步的,在所述接收虚拟化网络功能管理器VNFM发送的下载请求之前,所述方法还包括:虚拟机启动后开启监听端口;在所述监听端口监听到所述 VNFM发送的建链请求后,进行建链操作;建链成功后,向所述VNFM反馈建链成功的响应。
更进一步的,在所述根据所述安装请求对所述应用程序软件包进行安装之后,所述方法还包括:在所述应用程序软件包安装完毕后,获取虚拟机配置信息,并根据所述虚拟机配置信息修改应用程序的运行参数,启动所述应用程序;在所述应用程序的所有进程均启动完毕后,向所述VNFM反馈部署完毕的响应。
为了确保链接的正常性,在所述向所述VNFM反馈建链成功的响应之后,所述方法还包括:接收所述VNFM发送的链路检测消息;根据所述链路检测消息向所述VNFM反馈链路正常的响应。
对应的,在所述接收所述VNFM发送的链路检测消息后,所述方法还包括:若第一预设时间段内未向所述VNFM反馈链路正常的响应,则接收所述VNFM 发送的重新建链的请求;根据所述重新建链的请求进行重新建链操作;重新建链成功后,向所述VNFM反馈重新建链成功的响应。
具体的,所述虚拟机启动后开启监听端口的步骤包括:只在所述虚拟机首次启动后,开启监听端口。
其中,所述应用程序可优选为网元管理系统EMS。
实施例二
如图2所示,本发明实施例二提供的虚拟化环境下自动部署应用程序的方法,可应用于虚拟化网络功能管理器VNFM,所述虚拟化环境下自动部署应用程序的方法包括:
步骤21:在与虚拟机之间建链成功后,向所述虚拟机发送下载请求,所述下载请求用于请求所述虚拟机下载应用程序软件包;
步骤22:接收所述虚拟机根据所述下载请求反馈的下载进度,并在所述下载进度指示所述应用程序软件包下载完毕时,向所述虚拟机发送安装请求,所述安装请求用于请求所述虚拟机安装所述应用程序软件包。
本发明实施例二提供的所述虚拟化环境下自动部署应用程序的方法通过与虚拟机中代理进程之间的交互,完成应用程序在虚拟环境中的自动部署,解决了现有技术中ETSI NFV架构不能够实现EMS自动部署的问题。
具体的,所述下载请求中携带版本服务器信息。
进一步的,在所述向所述虚拟机发送下载请求之前,所述方法还包括:在接收到自动部署应用程序的请求时,向底层的虚拟化平台发起创建虚拟机请求,并在间隔第二预设时间段后向所述虚拟机发送建链请求;接收所述虚拟机根据所述建链请求反馈的建链成功的响应。
更进一步的,在所述向所述虚拟机发送安装请求之后,所述方法还包括:接收所述虚拟机反馈的部署完毕的响应,提示用户应用程序自动部署完毕。
为了确保链接的正常性,在所述接收所述虚拟机根据所述建链请求反馈的建链成功的响应之后,所述方法还包括:向所述虚拟机发送链路检测消息;判断第一预设时间段内是否接收到所述虚拟机反馈的链路正常的响应;若否,则向所述虚拟机发送重新建链的请求。
对应的,在所述向所述虚拟机发送重新建链的请求后,所述方法还包括:判断在第三预设时间段内是否接收到所述虚拟机反馈的重新建链成功的响应;若否,则提示用户应用程序自动部署失败。
其中,所述应用程序可优选为网元管理系统EMS。
下面结合虚拟机和虚拟化网络功能管理器VNFM双方对本发明提供的虚拟化环境下自动部署应用程序的方法进行说明,应用程序以网元管理系统EMS为例。
本发明提供的方案可以概述为:在运行EMS的虚拟机中启动一个代理进程,通过该进程实现与(Virtualized Network Function Manager虚拟化网络功能管理器)VNFM的交互,完成EMS在虚拟化环境中的自动部署。
VNFM接收到EMS自动部署请求后,向底层的IaaS(Infrastructure as a Service,即基础设施即服务)平台申请创建虚拟机,然后根据配置信息部署虚拟机并启动虚拟机,虚拟机首次启动时运行EMS代理进程,通过该代理进程完成EMS版本的下载、安装以及配置,从而实现EMS在虚拟化平台的自动部署。
所述代理进程包括主控模块、Socket管理模块、下载管理模块、安装管理模块。
主控模块:负责与VNFM的交互,实现EMS代理进程总的流程控制;代理进程运行时,首先启动Socket管理模块,开启监听端口,将代理进程作为Socket 服务端,接收来自VNFM的建链请求;其次,完成EMS版本文件下载;最后,完成EMS软件的安装以及修改EMS运行需要的一些参数。
Socket管理模块:实现代理进程与VNFM之间的Socket通讯链路管理,接收VNFM的建链请求和维护链路心跳。
下载管理模块:实现从VNFM指定的版本服务器下载EMS的版本包。
安装管理模块:实现网元管理软件静默安装流程控制,以及网元管理软件安装后运行参数的修改。
下面作进一步详细的描述,应用程序以网元管理系统EMS为例。
如图3所示,本发明是基于ETSI NFV架构实现,在ETSI NFV架构中,虚拟化网络功能管理器VNFM是属于虚拟化网络管理层,虚拟化网络功能VNF 是作为一个纯软件实现的网络功能,从安装部署的角度来说,VNF就是一个虚拟机31(包括EMS代理进程32、EMS应用程序33和操作系统OS34),EMS 代理进程运行在虚拟机中,与VNFM进行交互。
VNFM接收自动部署请求后,响应该请求并完成虚拟资源申请,获取虚拟资源申请结果后,向底层的IaaS(基础设施即服务,Infrastructure as a Service) 平台发起创建虚拟机请求,请求中会附带虚拟机的配置信息;底层的IaaS平台响应创建虚拟机请求,完成虚拟机创建并将请求中附带的虚拟机配置信息作为注入文件传递到虚拟机中。
虚拟机首次启动时,会运行一个EMS代理进程,在该代理进程启动后,读取上述的注入文件并缓存起来,然后在指定端口启动监听,监听来自VNFM的指令。
如图4所示,EMS代理进程41包括主控模块42、Socket管理模块43、下载管理模块44、安装管理模块45。
EMS代理进程41:完成EMS的自动部署;该代理进程仅在虚拟机首次启动时运行。
主控模块42:完成EMS代理进程与VNFM子系统之间的消息交互;作为代理进程总的控制模块,主控模块运行后,调用Socket管理模块43,监听VNFM 的建链请求;与VNFM建链成功后,接收VNFM发送的下载请求,调用下载管理模块44,从版本服务器下载EMS的软件包;完成软件包下载后,调用安装管理模块45,完成EMS软件的安装、部署、启动,向VNFM发送EMS自动部署成功消息。
Socket管理模块43:完成与VNFM之间的Socket链路管理;主控模块42 读取该模块的Socket端口消息,当接收到VNFM的建链请求后,主控模块42 完成与VNFM子系统的建链;当接收到周期性的心跳检测请求时,主控模块42 通过Socket端口响应该心跳请求;当接收到下载请求时,主控模块42调用下载管理 模块44下载EMS软件包,下载未完成之前主控模块42会通过Socket端口定时发送下载进度消息;当接收到安装请求时,主控模块42调用安装管理模块45,开始安装EMS软件,安装过程中主控模块42会通过Socket端口定时发送安装进度消息;安装完成后,主控模块42通过Socket端口发送自动部署完成消息。
下载管理模块44:完成从VNFM指定的版本服务器获取EMS程序包;当主控模块42读取到下载请求消息时,主控模块42解析下载请求消息,获取消息中的版本服务器信息,调用本模块,从指定的版本服务器下载EMS软件包,下载过程计算下载进度,将进度信息发送给主控模块42。
安装管理模块45:完成网元管理软件静默安装的流程控制,以及网元管理软件安装后运行参数的修改;当主控模块42读取到安装部署请求消息时,主控模块42调用本模块,开始静默安装、部署EMS,安装过程中,定时向主控模块 42反馈安装进度,直至安装完成。
也就是,在VNFM接收到EMS自动部署请求后,向底层IaaS平台发送创建虚拟机请求,请求中会附带虚拟机的配置信息;IaaS平台响应创建虚拟机的请求,完成虚拟机创建及启动,并将配置信息在虚拟机首次启动时注入到虚拟机中,之后,如图5所示,EMS自动部署流程涉及到四个部分,即VNFM子系统,虚拟机VM,EMS代理进程和EMS,步骤如下:
步骤51:虚拟机启动成功后,启动EMS代理进程(EMSAgent),该代理进程程序置于虚拟机镜像中,限制只在虚拟机首次启动时运行该代理进程。
步骤52:EMSAgent进程启动后,在固定端口开启监听,将EMSAgent作为Socket服务器监听来自VNFM的建链请求。
步骤53:VNFM向EMSAgent进程发起建链请求。
步骤54:EMSAgent向VNFM返回建链成功消息,VNFM与EMSAgent之间建立Socket连接,该连接在自动部署完成之前会一直存在。
步骤55:在VNFM与EMSAgent之间建立Socket连接后,VNFM定时向 EMSAgent发送心跳链路检测,以检测Socket链路状态。
步骤56:EMSAgent收到心跳链路检测消息后,返回响应消息。
步骤57:如果步骤55中检测到3个心跳周期没有响应,则VNFM重新向 EMSAgent发起建链请求,超过指定时间没有完成建链,则VNFM返回自动部署失败。
步骤58:EMSAgent接收到VNFM重新发起建链请求,指定时间内完成建链,返回重新建链成功消息。
步骤59:VNFM检测到步骤54或58返回的建链成功消息后,向EMSAgent 发送下载请求,请求中会附带版本服务器信息。
步骤510:EMSAgent接收到下载请求后,获取消息中的版本服务器信息,启动下载模块;通过下载模块从VNFM指定的版本服务器下载EMS软件包。
步骤511:EMSAgent在下载过程中,计算下载进度信息并上报给VNFM。
步骤512:当VNFM接收到下载进度100%的消息后,向EMSAgent发送安装EMS软件包请求。
步骤513:EMSAgent接收到安装请求后,启动安装模块,开始安装EMS。
步骤514:EMSAgent在安装EMS的过程中,计算安装进程信息并上报给 VNFM。
步骤515:EMSAgent完成EMS软件包安装后,根据虚拟机的配置信息修改EMS的运行参数,修改完成后启动EMS。
步骤516:EMSAgent检测到EMS所有进程均启动完毕后,向VNFM上报自动部署完成消息。
其中,EMSAgent可通过轮询EMS所有进程的启动进度来检测,也可以让 EMS所有进程向EMSAgent上报启动进度来检测。
实施例三
如图6所示,本发明实施例三提供的虚拟化环境下自动部署应用程序的装置包括:
第一处理模块61,用于接收虚拟化网络功能管理器VNFM发送的下载请求,根据所述下载请求下载应用程序软件包,并向所述VNFM报告下载进度;
第一接收模块62,用于接收所述VNFM发送的安装请求,所述安装请求是所述VNFM在所述下载进度指示所述应用程序软件包下载完毕后发送的;
安装模块63,用于根据所述安装请求对所述应用程序软件包进行安装。
本发明实施例三提供的所述虚拟化环境下自动部署应用程序的装置通过与虚拟化网络功能管理器VNFM之间的交互,完成应用程序在虚拟环境中的自动部署,解决了现有技术中ETSI NFV架构不能够实现EMS自动部署的问题。
其中,所述下载请求中携带版本服务器信息;所述第一处理模块包括:下载子模块,用于根据所述下载请求中的版本服务器信息,从所述VNFM指定的版本服务器中,下载所述应用程序软件包。
进一步的,所述装置还包括:启动模块,用于虚拟机启动后开启监听端口;建链模块,用于在所述监听端口监听到所述VNFM发送的建链请求后,进行建链操作;第一反馈模块,用于建链成功后,向所述VNFM反馈建链成功的响应。
更进一步的,所述装置还包括:第三处理模块,用于在所述应用程序软件包安装完毕后,获取虚拟机配置信息,并根据所述虚拟机配置信息修改应用程序的运行参数,启动所述应用程序;第二反馈模块,用于在所述应用程序的所有进程均启动完毕后,向所述VNFM反馈部署完毕的响应。
为了确保链接的正常性,所述装置还包括:第二接收模块,用于接收所述 VNFM发送的链路检测消息;第三反馈模块,用于根据所述链路检测消息向所述VNFM反馈链路正常的响应。
对应的,所述装置还包括:第三接收模块,用于若第一预设时间段内未向所述VNFM反馈链路正常的响应,则接收所述VNFM发送的重新建链的请求;重新建链模块,用于根据所述重新建链的请求进行重新建链操作;第四反馈模块,用于重新建链成功后,向所述VNFM反馈重新建链成功的响应。
具体的,所述启动模块包括:启动子模块,用于只在所述虚拟机首次启动后,开启监听端口。
其中,所述应用程序可优选为网元管理系统EMS。
需要说明的是,上述涉及虚拟机侧的虚拟化环境下自动部署应用程序的方法的所述实现实施例均适用于该虚拟化环境下自动部署应用程序的装置的实施例中,也能达到相同的技术效果。
为了解决上述技术问题,本发明实施例还提供了一种虚拟机,包括:上述的虚拟化环境下自动部署应用程序的装置。
其中,上述虚拟化环境下自动部署应用程序的装置的所述实现实施例均适用于该虚拟机的实施例中,也能达到相同的技术效果。
实施例四
如图7所示,本发明实施例四提供的虚拟化环境下自动部署应用程序的装置,应用于虚拟化网络功能管理器VNFM,所述虚拟化环境下自动部署应用程序的装置包括:
第一发送模块71,用于在与虚拟机之间建链成功后,向所述虚拟机发送下载请求,所述下载请求用于请求所述虚拟机下载应用程序软件包;
第二处理模块72,用于接收所述虚拟机根据所述下载请求反馈的下载进度,并在所述下载进度指示所述应用程序软件包下载完毕时,向所述虚拟机发送安装请求,所述安装请求用于请求所述虚拟机安装所述应用程序软件包。
本发明实施例四提供的所述虚拟化环境下自动部署应用程序的装置通过与虚拟机中代理进程之间的交互,完成应用程序在虚拟环境中的自动部署,解决了现有技术中ETSI NFV架构不能够实现EMS自动部署的问题。
具体的,所述下载请求中携带版本服务器信息。
进一步的,所述装置还包括:第二发送模块,用于在接收到自动部署应用程序的请求时,向底层的虚拟化平台发起创建虚拟机请求,并在间隔第二预设时间段后向所述虚拟机发送建链请求;第四接收模块,用于接收所述虚拟机根据所述建链请求反馈的建链成功的响应。
更进一步的,所述装置还包括:第五处理模块,用于接收所述虚拟机反馈的部署完毕的响应,提示用户应用程序自动部署完毕。
为了确保链接的正常性,所述装置还包括:第三发送模块,用于向所述虚拟机发送链路检测消息;第一判断模块,用于判断第一预设时间段内是否接收到所述虚拟机反馈的链路正常的响应;第四发送模块,用于若否,则向所述虚拟机发送重新建链的请求。
对应的,所述装置还包括:第二判断模块,用于判断在第三预设时间段内是否接收到所述虚拟机反馈的重新建链成功的响应;提示模块,用于若否,则提示用户应用程序自动部署失败。
其中,所述应用程序可优选为网元管理系统EMS。
需要说明的是,上述涉及VNFM侧的虚拟化环境下自动部署应用程序的方法的所述实现实施例均适用于该虚拟化环境下自动部署应用程序的装置的实施例中,也能达到相同的技术效果。
为了解决上述技术问题,本发明实施例还提供了一种虚拟化网络功能管理器VNFM,包括:上述的虚拟化环境下自动部署应用程序的装置。
其中,上述虚拟化环境下自动部署应用程序的装置的所述实现实施例均适用于该VNFM的实施例中,也能达到相同的技术效果。
需要说明的是,此说明书中所描述的许多功能部件都被称为模块/子模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块/子模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述原理前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种虚拟化环境下自动部署应用程序的方法,其特征在于,应用于虚拟机,包括:
所述虚拟机的EMS代理进程EMSAgent接收虚拟化网络功能管理器VNFM发送的下载请求,根据所述下载请求下载EMS应用程序软件包,并向所述VNFM报告下载进度;
所述虚拟机的EMS代理进程EMSAgent接收所述VNFM发送的安装请求,所述安装请求是所述VNFM在所述下载进度指示所述EMS应用程序软件包下载完毕后发送的;
所述虚拟机的EMS代理进程EMSAgent根据所述安装请求对所述EMS应用程序软件包进行安装。
2.如权利要求1所述的方法,其特征在于,所述下载请求中携带版本服务器信息;
所述根据所述下载请求下载EMS应用程序软件包的步骤包括:
根据所述下载请求中的版本服务器信息,从所述VNFM指定的版本服务器中,下载所述EMS应用程序软件包。
3.如权利要求1所述的方法,其特征在于,在所述虚拟机的EMS代理进程EMSAgent接收虚拟化网络功能管理器VNFM发送的下载请求之前,所述方法还包括:
虚拟机的EMS代理进程EMSAgent启动后开启监听端口;
在所述监听端口监听到所述VNFM发送的建链请求后,进行建链操作;
建链成功后,向所述VNFM反馈建链成功的响应。
4.如权利要求3所述的方法,其特征在于,在所述虚拟机的EMS代理进程EMSAgent根据所述安装请求对所述EMS应用程序软件包进行安装之后,所述方法还包括:
在所述EMS应用程序软件包安装完毕后,获取虚拟机的EMS代理进程EMSAgent配置信息,并根据所述虚拟机的EMS代理进程EMSAgent配置信息修改EMS应用程序的运行参数,启动所述EMS应用程序;
在所述EMS应用程序的所有进程均启动完毕后,向所述VNFM反馈部署完毕的响应。
5.如权利要求3所述的方法,其特征在于,在所述向所述VNFM反馈建链成功的响应之后,所述方法还包括:
接收所述VNFM发送的链路检测消息;
根据所述链路检测消息向所述VNFM反馈链路正常的响应。
6.如权利要求5所述的方法,其特征在于,在所述接收所述VNFM发送的链路检测消息后,所述方法还包括:
若第一预设时间段内未向所述VNFM反馈链路正常的响应,则接收所述VNFM发送的重新建链的请求;
根据所述重新建链的请求进行重新建链操作;
重新建链成功后,向所述VNFM反馈重新建链成功的响应。
7.如权利要求3所述的方法,其特征在于,所述虚拟机的EMS代理进程EMSAgent启动后开启监听端口的步骤包括:
只在所述虚拟机的EMS代理进程EMSAgent首次启动后,开启监听端口。
8.一种虚拟化环境下自动部署应用程序的装置,其特征在于,应用于虚拟机,包括:
第一处理模块,用于所述虚拟机的EMS代理进程EMSAgent接收虚拟化网络功能管理器VNFM发送的下载请求,根据所述下载请求下载EMS应用程序软件包,并向所述VNFM报告下载进度;
第一接收模块,用于所述虚拟机的EMS代理进程EMSAgent接收所述VNFM发送的安装请求,所述安装请求是所述VNFM在所述下载进度指示所述EMS应用程序软件包下载完毕后发送的;
安装模块,用于所述虚拟机的EMS代理进程EMSAgent根据所述安装请求对所述EMS应用程序软件包进行安装。
9.一种虚拟化环境下自动部署应用程序的方法,应用于虚拟化网络功能管理器VNFM,其特征在于,包括:
在与虚拟机的EMS代理进程EMSAgent之间建链成功后,向所述虚拟机的EMS代理进程EMSAgent发送下载请求,所述下载请求用于请求所述虚拟机的EMS代理进程EMSAgent下载EMS应用程序软件包;
接收所述虚拟机的EMS代理进程EMSAgent根据所述下载请求反馈的下载进度,并在所述下载进度指示所述EMS应用程序软件包下载完毕时,向所述虚拟机的EMS代理进程EMSAgent发送安装请求,所述安装请求用于请求所述虚拟机的EMS代理进程EMSAgent安装所述EMS应用程序软件包。
10.如权利要求9所述的方法,其特征在于,所述下载请求中携带版本服务器信息。
11.如权利要求9所述的方法,其特征在于,在所述向所述虚拟机的EMS代理进程EMSAgent发送下载请求之前,所述方法还包括:
在接收到自动部署EMS应用程序的请求时,向底层的虚拟化平台发起创建虚拟机的EMS代理进程EMSAgent请求,并在间隔第二预设时间段后向所述虚拟机的EMS代理进程EMSAgent发送建链请求;
接收所述虚拟机的EMS代理进程EMSAgent根据所述建链请求反馈的建链成功的响应。
12.如权利要求9所述的方法,其特征在于,在所述向所述虚拟机的EMS代理进程EMSAgent发送安装请求之后,所述方法还包括:
接收所述虚拟机的EMS代理进程EMSAgent反馈的部署完毕的响应,提示用户EMS应用程序自动部署完毕。
13.如权利要求11所述的方法,其特征在于,在所述接收所述虚拟机的EMS代理进程EMSAgent根据所述建链请求反馈的建链成功的响应之后,所述方法还包括:
向所述虚拟机的EMS代理进程EMSAgent发送链路检测消息;
判断第一预设时间段内是否接收到所述虚拟机的EMS代理进程EMSAgent反馈的链路正常的响应;
若否,则向所述虚拟机的EMS代理进程EMSAgent发送重新建链的请求。
14.如权利要求13所述的方法,其特征在于,在所述向所述虚拟机的EMS代理进程EMSAgent发送重新建链的请求后,所述方法还包括:
判断在第三预设时间段内是否接收到所述虚拟机的EMS代理进程EMSAgent反馈的重新建链成功的响应;
若否,则提示用户EMS应用程序自动部署失败。
15.一种虚拟化环境下自动部署应用程序的装置,应用于虚拟化网络功能管理器VNFM,其特征在于,包括:
第一发送模块,用于在与虚拟机的EMS代理进程EMSAgent之间建链成功后,向所述虚拟机的EMS代理进程EMSAgent发送下载请求,所述下载请求用于请求所述虚拟机的EMS代理进程EMSAgent下载EMS应用程序软件包;
第二处理模块,用于接收所述虚拟机的EMS代理进程EMSAgent根据所述下载请求反馈的下载进度,并在所述下载进度指示所述EMS应用程序软件包下载完毕时,向所述虚拟机的EMS代理进程EMSAgent发送安装请求,所述安装请求用于请求所述虚拟机的EMS代理进程EMSAgent安装所述EMS应用程序软件包。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610169323.2A CN107229484B (zh) | 2016-03-23 | 2016-03-23 | 一种虚拟化环境下自动部署应用程序的方法及装置 |
PCT/CN2017/076337 WO2017162054A1 (zh) | 2016-03-23 | 2017-03-10 | 一种虚拟化环境下自动部署应用程序的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610169323.2A CN107229484B (zh) | 2016-03-23 | 2016-03-23 | 一种虚拟化环境下自动部署应用程序的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107229484A CN107229484A (zh) | 2017-10-03 |
CN107229484B true CN107229484B (zh) | 2021-05-04 |
Family
ID=59899203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610169323.2A Active CN107229484B (zh) | 2016-03-23 | 2016-03-23 | 一种虚拟化环境下自动部署应用程序的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107229484B (zh) |
WO (1) | WO2017162054A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255509B (zh) * | 2018-02-07 | 2022-02-22 | 平安好房(上海)电子商务有限公司 | 应用部署方法、装置、设备及可读存储介质 |
CN109101317A (zh) * | 2018-07-20 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种虚拟化平台配置初始化方法和装置 |
CN110990127B (zh) * | 2019-12-23 | 2023-05-12 | 深信服科技股份有限公司 | 虚拟机自动部署方法、装置、设备及存储介质 |
CN111209078B (zh) * | 2019-12-27 | 2023-09-19 | 广东睿江云计算股份有限公司 | 一种自动部署并检测虚拟机Web应用的方法及其系统 |
CN111722945A (zh) * | 2020-06-22 | 2020-09-29 | 重庆忽米网络科技有限公司 | 一种基于中间件实现的工业互联网应用系统及实现方法 |
CN111857749A (zh) * | 2020-07-07 | 2020-10-30 | 合肥森亿智能科技有限公司 | 一键部署应用程序的方法、系统及服务器 |
CN112269636B (zh) * | 2020-10-20 | 2022-11-11 | 苏州浪潮智能科技有限公司 | 云数据中心虚拟机安装软件的方法、系统、服务器及介质 |
CN117319224A (zh) * | 2023-10-15 | 2023-12-29 | 上海同星智能科技有限公司 | 汽车总线虚拟通道的实现方法及实现系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758607A (zh) * | 2005-11-10 | 2006-04-12 | 中国工商银行 | 分布式业务系统中的软件版本升级系统及其方法 |
CN102006333A (zh) * | 2007-06-11 | 2011-04-06 | 华为技术有限公司 | 安装软件组件的方法、系统及装置 |
CN104253866A (zh) * | 2014-09-20 | 2014-12-31 | 华为技术有限公司 | 虚拟网络功能网元的软件部署方法、系统及相关设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201807961A (zh) * | 2012-09-27 | 2018-03-01 | 內數位專利控股公司 | 在噓擬網路中端對端架構、api框架、發現及存取 |
EP2940968A1 (en) * | 2014-04-30 | 2015-11-04 | Hewlett-Packard Development Company, L.P. | Network infrastructure management |
-
2016
- 2016-03-23 CN CN201610169323.2A patent/CN107229484B/zh active Active
-
2017
- 2017-03-10 WO PCT/CN2017/076337 patent/WO2017162054A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758607A (zh) * | 2005-11-10 | 2006-04-12 | 中国工商银行 | 分布式业务系统中的软件版本升级系统及其方法 |
CN102006333A (zh) * | 2007-06-11 | 2011-04-06 | 华为技术有限公司 | 安装软件组件的方法、系统及装置 |
CN104253866A (zh) * | 2014-09-20 | 2014-12-31 | 华为技术有限公司 | 虚拟网络功能网元的软件部署方法、系统及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107229484A (zh) | 2017-10-03 |
WO2017162054A1 (zh) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107229484B (zh) | 一种虚拟化环境下自动部署应用程序的方法及装置 | |
US10802906B2 (en) | Monitoring method and apparatus of server, and storage medium | |
US11429369B2 (en) | Distributed upgrade in virtualized computing environments | |
CN102708018B (zh) | 一种异常处理方法及系统、代理设备与控制装置 | |
WO2017181876A1 (zh) | 一种设备状态及资源信息监测方法、相关设备及系统 | |
CN109918061B (zh) | 基于安卓系统的跨平台接口中间件实现方法和装置 | |
CN102455936A (zh) | 集群的快速部署方法 | |
WO2018095414A1 (zh) | 虚拟机故障的检测和恢复方法及装置 | |
CN108769124B (zh) | PaaS平台的应用部署方法、装置、服务器及存储介质 | |
CN108616384B (zh) | 一种集中式的服务管理部署工具及方法 | |
EP3396917A1 (en) | Method and apparatus for isolating environment | |
WO2017049997A1 (zh) | 一种基于云计算服务的虚拟机监控方法、装置及系统 | |
US20190379576A1 (en) | Providing dynamic serviceability for software-defined data centers | |
WO2016045439A1 (zh) | 一种vnfm容灾保护的方法、装置和nfvo、存储介质 | |
WO2010000142A1 (zh) | 一种分布式网管系统及其维护管理方法 | |
WO2019153532A1 (zh) | 监控系统的部署方法、装置、计算机设备及存储介质 | |
CN104503861A (zh) | 一种异常处理方法及系统、代理设备与控制装置 | |
WO2021238592A1 (zh) | 一种应用调试方法、系统、设备及介质 | |
CN112099919A (zh) | 一种基于云计算api的应用服务可视化快速部署方法 | |
CN111143170A (zh) | 云手机监控系统和方法 | |
CN115174551A (zh) | 程序部署方法及装置、存储介质及电子设备 | |
WO2012041239A1 (zh) | 一种输入工具调用的系统、方法及一种代理设备 | |
CN110268378B (zh) | 创建数据备份的方法、存储介质和虚拟服务器 | |
CN111464394B (zh) | 一种节点监控方法、装置以及存储介质 | |
CN112948008A (zh) | 一种基于Ironic管理物理裸机的方法 |
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 |