发明内容
本发明提供一种边缘应用部署方法及系统,用以解决现有技术中采用手工部署的方式部署边缘应用效率低下的问题。
第一方面,本发明实施例提供了一种边缘应用部署方法,该方法应用于管理编排系统,包括:
接收边缘云管理系统发送的实例化请求;其中,所述实例化请求中携带软件部署包的标识,所述软件部署包中包括用于对N个待部署边缘应用进行部署的需求信息,N为正整数;
从预先接收到的所述边缘云管理系统发送的多个软件部署包中,查找与所述软件部署包的标识相匹配的目标软件部署包;
根据所述目标软件部署包为所述N个待部署边缘应用创建虚拟机,以将所述N个待部署边缘应用部署在所述虚拟机上;
向边缘应用配置系统发送数据配置通知,所述数据配置通知用于通知所述边缘应用配置系统对所述虚拟机上的所述N个待部署边缘应用进行业务数据配置,以完成对所述N个待部署边缘应用的部署。
在一种可选的实现方式中,所述目标软件部署包中包括操作系统镜像文件、所述N个待部署边缘应用的软件版本文件、以及N个与所述N个待部署边缘应用的软件版本文件一一对应的资源需求文件,第i个资源需求文件用于指示对第i个待部署边缘应用进行部署所需要的虚拟资源;
根据所述目标软件部署包为所述N个待部署边缘应用创建虚拟机,以将所述N个待部署边缘应用部署在所述虚拟机上的步骤,包括:
根据所述第i个资源需求文件,为所述第i个待部署边缘应用分配虚拟资源;
根据为所述N个待部署边缘应用分别分配的虚拟资源,为所述待部署边缘应用创建虚拟机;
根据所述操作系统镜像文件,以及所述第i个待部署边缘应用的软件版本文件将所述第i个待部署边缘应用部署于所述虚拟机上,i取遍小于或者等于N的正整数。
在一种可选的实现方式中,根据所述操作系统镜像文件,以及所述第i个待部署边缘应用的软件版本文件将所述第i个待部署边缘应用部署于所述虚拟机上的步骤,包括:
根据控制脚本列表获取与所述第i个待部署边缘应用的软件版本文件所对应的第i个控制脚本;其中,所述控制脚本列表中包括控制脚本与软件版本文件的一一对应关系;
通过所述操作系统镜像文件调用所述第i个控制脚本,并基于所述第i个软件版本文件,将所述第i个待部署边缘应用部署于所述虚拟机上。
在一种可选的实现方式中,所述虚拟资源包括以下至少一种:计算资源、网络资源和存储资源。
在一种可选的实现方式中,所述实例化请求中还携带有目标边缘服务器的地址;根据所述目标软件部署包为所述N个待部署边缘应用创建虚拟机的步骤,包括:
按照所述目标边缘服务器的地址,在所述目标边缘服务器中根据所述目标软件部署包为所述N个待部署边缘应用创建虚拟机。
第二方面,本发明实施例提供了一种边缘应用部署方法,该方法应用于边缘云管理系统,包括:
获取用户触发选择的N个待部署边缘应用的软件版本文件和为N个待部署边缘应用选择的同一个操作系统镜像文件,N为正整数;
获取所述N个待部署边缘应用的软件版本文件分别对应的资源需求信息,资源需求信息用于指示对待部署边缘应用进行部署所需要的虚拟资源,并根据获取的所述资源需求信息生成N个与所述N个待部署边缘应用的软件版本文件一一对应的资源需求文件;
将所述操作系统镜像文件、所述N个待部署边缘应用的软件版本文件和所述N个资源需求文件进行打包,生成软件部署包,并将所述软件部署包发送给管理编排系统;
响应于用户触发部署所述N个待部署边缘应用的操作,向所述管理编排系统发送实例化请求,所述实例化请求中包括所述软件部署包的标识。
在一种可选的实现方式中,所述方法还包括:
获取用户触发选择的用于部署所述N个待部署边缘应用的目标边缘服务器的地址;
其中,所述实例化请求中还携带所述目标边缘服务器的地址。
第三方面,本发明实施例提供了一种管理编排系统,包括网络功能虚拟化编排器NFVO、虚拟化网络功能管理器VNFM和虚拟化基础设施管理器VIM;
所述NFVO,用于接收边缘云管理系统发送的实例化请求,并将所述实例化请求转发至所述VNFM;
其中,所述实例化请求中携带软件部署包的标识,所述软件部署包中包括用于对N个待部署边缘应用进行部署的需求信息,N为正整数;
所述VNFM,用于在接收到所述实例化请求时,从预先接收到的所述边缘云管理系统发送的多个软件部署包中,查找与所述软件部署包的标识相匹配的目标软件部署包;
所述VIM,用于根据所述VNFM查找到的所述目标软件部署包为所述N个待部署边缘应用创建虚拟机,以将所述N个待部署边缘应用部署在所述虚拟机上;
所述VNFM,还用于在所述VIM为所述N个待部署边缘应用创建虚拟机后,向边缘应用配置系统发送数据配置通知,所述数据配置通知用于通知所述边缘应用配置系统对所述虚拟机上的所述N个待部署边缘应用进行业务数据配置,以完成对所述N个待部署边缘应用的部署。
在一种可选的实现方式中,所述NFVO,还用于在接收边缘云管理系统发送的实例化请求之前,接收所述边缘云管理系统发送的所述软件部署包,并通知所述VNFM将所述软件部署包下载至本地;
所述NFVO,还用于在所述VNFM将所述软件部署包下载至本地后,向所述边缘云管理系统发送接收通知;其中,所述接收通知用于通知所述软件部署包被所述管理编排系统成功接收。
在一种可选的实现方式中,所述目标软件部署包中包括操作系统镜像文件、所述N个待部署边缘应用的软件版本文件、以及N个与所述N个待部署边缘应用的软件版本文件一一对应的资源需求文件,第i个资源需求文件用于指示对第i个待部署边缘应用进行部署所需要的虚拟资源;
所述VIM,在根据所述VNFM查找到的所述目标软件部署包为所述N个待部署边缘应用创建虚拟机时,具体用于:
根据所述第i个资源需求文件,为所述第i个待部署边缘应用分配虚拟资源;
根据为所述N个待部署边缘应用分别分配的虚拟资源,创建虚拟机;
根据所述操作系统镜像文件,以及所述第i个待部署边缘应用的软件版本文件将所述第i个待部署边缘应用部署于所述虚拟机上,i取遍小于或者等于N的正整数。
在一种可选的实现方式中,所述VIM,在根据所述操作系统镜像文件,以及所述第i个待部署边缘应用的软件版本文件将所述第i个待部署边缘应用部署于所述虚拟机上时,具体用于:
根据控制脚本列表获取与所述第i个待部署边缘应用的软件版本文件所对应的第i个控制脚本;其中,所述控制脚本列表中包括控制脚本与软件版本文件的一一对应关系;
通过所述操作系统镜像文件调用所述第i个控制脚本,并基于所述第i个软件版本文件,将所述第i个待部署边缘应用部署于所述虚拟机上。
在一种可选的实现方式中,所述虚拟资源包括以下至少一种:计算资源、网络资源和存储资源。
在一种可选的实现方式中,所述实例化请求中还携带有目标边缘服务器的地址;所述VIM在根据所述目标软件部署包为所述N个待部署边缘应用创建虚拟机,具体用于:
按照所述目标边缘服务器的地址,在所述目标边缘服务器中根据所述目标软件部署包为所述N个待部署边缘应用创建虚拟机。
第四方面,本发明实施例提供了一种边缘云管理系统,包括:
第一获取模块,用于获取用户触发选择的N个待部署边缘应用的软件版本文件和为N个待部署边缘应用选择的同一个操作系统镜像文件,N为正整数;
生成模块,用于获取所述N个待部署边缘应用的软件版本文件分别对应的资源需求信息,资源需求信息用于指示对待部署边缘应用进行部署所需要的虚拟资源,并根据获取的所述资源需求信息生成N个与所述N个待部署边缘应用的软件版本文件一一对应的资源需求文件;
打包模块,用于将所述操作系统镜像文件、所述N个待部署边缘应用的软件版本文件和所述N个资源需求文件进行打包,生成软件部署包;
发送模块,用于将所述软件部署包发送给管理编排系统,并响应于用户触发部署所述N个待部署边缘应用的操作,向所述管理编排系统发送实例化请求,所述实例化请求中包括所述软件部署包的标识。
在一种可选的实现方式中,所述发送模块还用于在向所述管理编排系统发送软件部署包后接收到所述管理编排系统中NFVO发送的接收通知时,将所述软件部署包的状态由非可选状态更新为可选状态;其中,所述接收通知用于通知所述软件部署包被所述管理编排系统成功接收;
所述发送模块在响应于用户触发部署所述N个待部署边缘应用的操作时,具体用于:
当确定所述软件部署包的状态为可选状态时,响应于用户触发部署所述N个待部署边缘应用的操作。
在一种可选的实现方式中,所述系统还包括:
第二获取模块,用于获取用户触发选择的用于部署所述N个待部署边缘应用的目标边缘服务器的地址;
其中,所述实例化请求中还携带所述目标边缘服务器的地址。
第五方面,本发明实施例提供了一种边缘应用部署系统,包括:第三方面的任一实现方式所述的管理编排系统、第四方面的任一实现方式所述的边缘云管理系统、和边缘应用配置系统;所述边缘应用配置系统,用于在接收所述管理编排系统发送的数据配置通知时,对虚拟机上的N个待部署边缘应用进行业务数据配置,以完成对所述N个待部署边缘应用的部署。
第六方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行上述方法。
本发明实施例中,管理编排系统首先接收边缘云管理系统发送的携带有软件部署包的标识的实例化请求,其中,软件部署包中包括用于对N个待部署边缘应用进行部署的需求信息,N为正整数;然后从预先接收到的边缘云管理系统发送的多个软件部署包中,查找与软件部署包的标识相匹配的目标软件部署包;并根据目标软件部署包为N个待部署边缘应用创建虚拟机,以将N个待部署边缘应用部署在虚拟机上;进而向边缘应用配置系统发送数据配置通知,以通知边缘应用配置系统对虚拟机上的N个待部署边缘应用进行业务数据配置,从而完成对N个待部署边缘应用的部署。本发明实施例提供的上述方式基于管理编排系统,自动完成对待部署边缘应用的部署,相较于现有技术中手工部署的方式,简化了部署过程,提高了部署效率,且无需专业技术人员操作,能够方便快捷的完成对边缘应用的部署。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
需要说明的是,本发明中涉及的多个,是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述各数据包、但这些数据包不应限于这些术语。这些术语仅用来将各数据包彼此区分开。
MEC(Multi-AccessEdgeComputing,多接边缘计算)技术通过把计算和存储资源部署在网络边缘,来满足某些应用的严苛的延迟要求,前述计算和存储资源可以看作是运行在移动网络边缘的、运行特定任务的云服务器。MEC技术带来的低时延的特性又催生了大量边缘应用的产生,越来越多的各种边缘应用被部署在网络边缘进行实时的控制计算等应用服务。如何满足大量的边缘应用方便快捷部署的需求是本发明所要解决的问题。
目前,通常采用以下两种方式将边缘应用部署在网络边缘:
第一种,依靠技术人员手动将边缘应用部署到特定的边缘应用数据中心,具体过程如下:首先技术人员登录边缘云管理系统,使用边缘云管理系统中GUI(Graphical UserInterface,图形用户接口)界面管理云端资源dashboard或类似的人机界面执行部署操作,部署操作包括:为边缘应用创建进行通信所需用的虚拟链路、路由、连接点;为边缘应用创建运行的虚拟机时,需要先上传镜像文件到云管理系统,使用镜像文件创建虚拟机镜像,再使用虚拟机镜像创建虚拟机;在虚拟机创建完成后,登录虚拟机,上传边缘应用软件到虚拟机上;然后在虚拟机上设置边缘应用需要的IP地址,最后运行边缘应用。操作每个步骤均需要技术人员的参与,比较繁琐。
上述采取手工部署的方式比较繁琐,且一次操作只能部署一个APP应用,此外,对于技术人员要求较高,要求部署边缘应用的技术人员必须熟悉边缘云管理系统的操作,采用这样的方式部署边缘应用,效率低下。
第二种是采用支持应用服务部署的开发框架的方式对边缘应用进行部署操作,这样的方式相较于第一种手工部署的方式而言,在一定程度上简化了边缘应用的部署过程,但是采用开发框架部署边缘应用,对于边缘应用的设计会产生较多限制,诸如在设计开发边缘应用时必须使用固定的开发框架,并且需要在该开发框架限定的部署环境部署应用。
由此可见,无论是第一种手工部署的方式还是第二种开发框架部署的方式,均不能够方便快捷的实现边缘应用的部署。尤其对于复杂的应用,比如一个应用由分布在多台虚拟机上的多个子应用协同工作,并且多个子应用之间有复杂的网络连接的场景,部署起来会变得更加困难。
基于此,本发明实施例提供一种边缘计算应用部署方法及系统,用以解决现有技术中采用手工部署的方式部署边缘应用效率低下的问题,能够方便快捷的完成对边缘应用的部署。其中,方法和系统是基于同一发明构思的,由于方法及系统解决问题的原理相似,因此系统与方法的实施可以相互参见,重复之处不再赘述。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种边缘计算应用部署系统进行详细介绍。
参见图1所示的一种边缘应用部署系统100包括:管理编排系统300、边缘应用配置系统400和边缘云管理系统500;
管理编排系统300主要用于接收边缘云管理系统500发送来的待部署边缘应用的软件部署包,并在接收到边缘云管理系统500发送的实例化请求时,根据该软件部署包自动为待部署边缘应用创建虚拟机;进而通知边缘应用配置系统400对已部署在虚拟机上的边缘应用进行业务数据配置从而实现自动部署边缘应用。
边缘云管理系统500主要用于与用户进行交互,获取用户对于待部署边缘应用的部署需求,并按照用户的部署需求确定待部署边缘应用的软件部署包,及响应用户触发对于待部署边缘应用的部署命令,控制管理编排系统300进行对前述待部署边缘应用的自动化部署。
边缘应用配置系统400主要用于在管理编排系统300的控制下,为虚拟机上的边缘应用配置业务数据,并在配置完业务数据后,通知边缘云管理系统500将该边缘应用上线,供用户使用。
在一种可选的实施方式中,管理编排系统300可以通过MANO(Management andOrchestration,管理和编排)系统来实现,基于MANO系统与边缘云管理系统500、边缘应用配置系统400进行交互,实现对待部署边缘应用的自动化部署。
MANO架构包含3个核心功能模块:NFVO(Network Functions VirtualizationOrchestrator,网络功能虚拟化编排器)、VNFM(Virtualization Network FunctionsManager,虚拟化网络功能管理器)和VIM(Virtualised Infrastructure Manager,虚拟化基础设施管理器),基于这3个核心功能模块提供虚拟化资源、虚拟化网络功能和网络服务的统一化管理。在本发明实施例中,采用MANO架构为边缘应用创建运行的虚拟机。
具体的,为便于理解,参见图2,本发明实施例提供了另一种边缘应用部署系统100的结构示意图,在图1的基础上,具体示意出了管理编排系统300内部三个功能模块:NFVO、VNFM和VIM之间的交互关系,以及前述三个功能模块分别与边缘云管理系统500及边缘应用配置系统400之间的交互关系。
如图2所示,NFVO、VNFM和VIM三个功能模块相互独立,通过标准接口互通,诸如图2中所示的NFVO与VNFM之间的接口参考点Or-Vnfm、NFVO与VIM之间的接口参考点Or-Vi及VNFM与VIM之间的接口参考点Vi-Vnfm。
NFVO与边缘云管理系统500、VNFM及VIM分别进行直接通信,作为管理编排系统300对外通信的输入输出接口,NFVO可将接收到的边缘云管理系统500发送的软件部署包、实例化请求转发至VNFM,也可接收VNFM的反馈信息,比如,VNFM接收到软件部署包时反馈给NFVO接收成功的信息。
VNFM与边缘应用配置系统400进行直接通信,主要负责在VIM为待部署边缘应用成功创建虚拟机后,结合边缘应用配置系统400所配置的业务数据对虚拟机上部署的边缘应用(图2中示意出了两个边缘应用,分别为APP1和APP2,其中,APP1和APP2以接口Vn-Nf接入虚拟机)进行管理维护,例如可以负责边缘应用的初始化、更新、启动/终止、生命周期等。
VIM负责基于虚拟基础设施创建和管理用于部署边缘应用的虚拟机,具体的,在图2中示意出了VIM通过虚拟机管理器,也即Hypervisor/VMM,基于接口Vi-Ha结合硬件资源(或者虚拟资源,包括计算资源、存储资源、网络资源)创建虚拟机的交互过程,具体的,图2中示意出了三个虚拟机(VM1、VM2和VM3)。
进一步,本发明实施例提供了一种管理编排系统300,设置于前述边缘应用部署系统100,参见图3所示,该管理编排系统300包括:网络功能虚拟化编排器NFVO 301、虚拟化网络功能管理器VNFM 302和虚拟化基础设施管理器VIM 303;
NFVO,用于接收边缘云管理系统500发送的实例化请求,并将实例化请求转发至VNFM;其中,实例化请求中携带软件部署包的标识,软件部署包中包括用于对N个待部署边缘应用进行部署的需求信息,N为正整数。
具体的,上述软件部署包的标识可以是诸如编号、地址等能够对应代表软件部署包的任一信息,可根据实际应用设置,在此不再进行限制。软件部署包中的需求信息包括待部署边缘应用的软件版本、所需的操作系统信息,诸如操作系统的镜像以及部署所需的虚拟资源信息等。
VNFM,用于在接收到实例化请求时,从预先接收到的边缘云管理系统500发送的多个软件部署包中,查找与软件部署包的标识相匹配的目标软件部署包。
VIM,用于根据VNFM查找到的目标软件部署包为N个待部署边缘应用创建虚拟机,以将N个待部署边缘应用部署在虚拟机上。
VNFM,还用于在VIM为N个待部署边缘应用创建虚拟机后,向边缘应用配置系统400发送数据配置通知,数据配置通知用于通知边缘应用配置系统400对虚拟机上的N个待部署边缘应用进行业务数据配置,以完成对N个待部署边缘应用的部署。其中,业务数据包括QoS(Quality of Service,服务质量)参数、上下行转发规则、通信协议等数据信息。
本发明实施例中,管理编排系统300通过内部NFVO、VNFM和VIM的交互运作,以及与边缘云管理系统500、边缘应用配置系统400的交互,自动完成对待部署边缘应用的部署,相较于现有技术中手工部署的方式,简化了部署过程,提高了部署效率,且无需专业技术人员操作,能够方便快捷的完成对边缘应用的部署。
在一种可选的实施方式中,上述NFVO,还用于在接收边缘云管理系统500发送的实例化请求之前,接收边缘云管理系统500发送的软件部署包,并通知VNFM将软件部署包下载至本地;NFVO,还用于在VNFM将软件部署包下载至本地后,向边缘云管理系统500发送接收通知;其中,接收通知用于通知软件部署包被管理编排系统300成功接收。
具体实施时,VNFM将软件部署包下载至本地后,向NFVO发送接收确认通知,确认通知用于通知软件部署包被VNFM下载至本地,以使NFVO接收到VNFM发送的接收通知后,也即在VNFM将软件部署包下载至本地后,向边缘云管理系统500发送接收通知。
上述目标软件部署包中包括操作系统镜像文件、N个待部署边缘应用的软件版本文件、以及N个与N个待部署边缘应用的软件版本文件一一对应的资源需求文件,第i个资源需求文件用于指示对第i个待部署边缘应用进行部署所需要的虚拟资源;其中,虚拟资源包括以下至少一种:计算资源、网络资源和存储资源。
基于此,在一种可选的实施方式中,上述VIM,在根据VNFM查找到的目标软件部署包为N个待部署边缘应用创建虚拟机时,具体用于执行A1、和A2和A3。
A1,根据第i个资源需求文件,为第i个待部署边缘应用分配虚拟资源。
具体实施时,首先对第i个资源需求文件进行解析,获取得到第i个资源需求文件中所包含的虚拟资源需求信息,然后按照该虚拟资源需求信息,为第i个待部署边缘应用分配虚拟资源。
A2,根据为N个待部署边缘应用分别分配的虚拟资源,创建虚拟机。
具体实施时,可通过Hypervisor架构在虚拟基础设施infrastructure上结合为N个待部署边缘应用分别分配的虚拟资源,创建满足待部署边缘应用的虚拟机。其中,Hypervisor,又称VMM(Virtual Machine Monitor,虚拟机监控器)或者虚拟机管理器,是一组系统软件,提供平台虚拟化,诸如提供虚拟机(Virtual Machine,VM),以供用户来运行其自己的操作系统和应用程序,该应用程序可以是本发明实施例中所描述的待部署边缘应用。此外,Hypervisor提供虚拟机之间的隔离技术,可使得虚拟机彼此独立运行,且不同的虚拟机可以运行不同的操作系统。
为便于理解,参见图4,本发明实施例还提供了一种虚拟机的模型示意图,在图4中示意出了用于部署边缘应用(也即,图4中所示的App1/App2)的虚拟机(也即,图4中所示的VM1/VM2)与虚拟基础设施infrastructure之间的对应关系,通过Hypervisor架构在虚拟基础设施infrastructure上可以设置多个虚拟机,如图4中的VM1和VM2。此外,图4中的Bins/Libs表示虚拟机系统里的bin目录和二进制库,Guest OS表示虚拟机上的用户自设的独立的操作系统,Host OS表示宿主机的操作系统,诸如Windows、Xp等。
A3,根据操作系统镜像文件,以及第i个待部署边缘应用的软件版本文件将第i个待部署边缘应用部署于虚拟机上,i取遍小于或者等于N的正整数。
进一步,在一种可选的实施方式中,上述VIM,在根据操作系统镜像文件,以及第i个待部署边缘应用的软件版本文件将第i个待部署边缘应用部署于虚拟机上时,具体用于执行B1-B2。
B1,根据控制脚本列表获取与第i个待部署边缘应用的软件版本文件所对应的第i个控制脚本;其中,控制脚本列表中包括控制脚本与软件版本文件的一一对应关系。
具体实施时,可以通过对软件版本文件进行编号,将各个软件版本文件对应的控制脚本按照其各自的编号存储于控制脚本列表中。当需获取第i个待部署边缘应用的软件版本文件所对应的控制脚本时,从控制脚本列表中查找第i个控制脚本即可。
B2,通过操作系统镜像文件调用第i个控制脚本,并基于第i个软件版本文件,将第i个待部署边缘应用部署于虚拟机上。
具体实施时,可通过操作系统中rc.local配置文件,自动启动第i个控制脚本,使第i个控制脚本对应的第i个待部署边缘应用的软件版本文件在虚拟机上运行,即将第i个待部署边缘应用部署于虚拟机上。通过这样的方式,按照编号,逐一启动控制脚本列表中N个待部署边缘应用的软件版本所对应的N个控制脚本,从而实现将N个待部署边缘应用均部署在虚拟机上。
在一种可选的实施方式中,本发明实施例中待部署边缘应用在网络中的部署位置是可以选择的,在该情况下,上述实例化请求中还携带有目标边缘服务器的地址;具体的,该目标边缘服务器可以是配置在网络边缘的某一边缘数据中心。基于此,上述VIM在根据目标软件部署包为N个待部署边缘应用创建虚拟机,具体用于:按照目标边缘服务器的地址,在目标边缘服务器中根据目标软件部署包为N个待部署边缘应用创建虚拟机。设定创建虚拟机的安装地址环境,能够便于后续对于边缘应用的维护及更新。
另外,应理解的是,在本发明实施例中待部署边缘应用在网络中的部署位置在未作出选择的情况下,还可以采用默认的边缘服务器作为目标服务器,从而管理编排系统在根据目标软件部署包为N个待部署边缘应用创建虚拟机时,在默认的边缘服务器中根据目标软件部署包为N个待部署边缘应用创建虚拟机。
进一步,本发明实施例提供了一种边缘云管理系统500,设置于边缘应用部署系统100,参见图5所示,该管理编排系统500包括:
第一获取模块501,用于获取用户触发选择的N个待部署边缘应用的软件版本文件和为N个待部署边缘应用选择的同一个操作系统镜像文件,N为正整数。
生成模块502,用于获取N个待部署边缘应用的软件版本文件分别对应的资源需求信息,资源需求信息用于指示对待部署边缘应用进行部署所需要的虚拟资源,并根据获取的资源需求信息生成N个与N个待部署边缘应用的软件版本文件一一对应的资源需求文件。
在一种可选的实施方式中,可在边缘云管理系统500中设置多种用于描述资源需求的图形化工具,基于此,上述获取N个待部署边缘应用的软件版本文件分别对应的资源需求信息可参照以下方式实施:
确定用户选取的对应于第i个待部署边缘应用的软件版本文件的目标图形化工具,并接收用户输入的与目标图形化工具对应的配置参数;根据目标图像化工具和目标图形化工具对应的配置参数,确定第i个待部署边缘应用的软件版本文件对应的资源需求信息;其中,i取遍小于或者等于N的正整数。本发明实施例提供的上述方式基于图形化工具及用户输入的配置参数,获取用户对于部署边缘应用的资源需求,并进一步根据获取的资源需求信息生成资源需求文件,实际应用时,资源需求文件可以是一种json格式的文件,以便于管理编排系统在根据第i个资源需求文件为第i个待部署边缘应用分配虚拟资源时对第i个资源需求文件进行解析。
打包模块503,用于将操作系统镜像文件、N个待部署边缘应用的软件版本文件和N个资源需求文件进行打包,生成软件部署包;
具体实施时,一种可选的方式为:将对应不同操作系统镜像文件的待部署边缘应用的软件版本包分开打包,生成软件部署包;另一种可选的方式为:将对应于同一操作系统镜像文件的多个待部署边缘应用的软件版本包打包在一个软件部署包中。基于此,管理编排系统300在根据目标软件部署包为多个待部署边缘应用创建虚拟机时,可以实现通过一个操作系统镜像文件在一次部署操作中将多个边缘应用部署在同一个虚拟机上。相较于现有技术中一次仅能部署一个边缘应用,更加方便快捷,能够有效提升了部署效率。
发送模块504,用于将软件部署包发送给管理编排系统300,并响应于用户触发部署N个待部署边缘应用的操作,向管理编排系统300发送实例化请求,实例化请求中包括软件部署包的标识。
本发明实施例中,边缘云管理系统500根据用户在其上的相关选取操作确定用户所要部署的边缘应用对应的操作系统镜像文件和软件版本文件;获取用户对于所要部署边缘应用的部署需求,也即上述资源需求信息,并将资源需求信息抽象化成资源需求文件,最终将操作系统镜像文件、软件版本文件和资源需求文件以打包的方式生成软件部署包并发送至管理编排系统300,以使管理编排系统300通过解析软件部署包得到资源需求文件,也即得到用户对于所要部署边缘应用的部署需求,并进一步根据其部署需求先创建虚拟机,再将边缘应用部署在该符合其部署需求的虚拟机上。本发明实施提供的上述方式可根据不同的资源需求信息创建不同的虚拟机,也即能够按照用户不同的部署需求创建边缘应用的运行环境。相较于采用开发框架部署的方式,避免出现由于固定的开发框架对于部署环境限制的问题,更加便于管理编排系统300方便快捷的完成对待部署边缘应用的部署,能够有效的提升部署效率。
在一种可选的实施方式中,上述发送模块504还用于在向管理编排系统300发送软件部署包后接收到管理编排系统300中NFVO发送的接收通知时,将软件部署包的状态由非可选状态更新为可选状态;其中,接收通知用于通知软件部署包被管理编排系统300成功接收;
发送模块504在响应于用户触发部署N个待部署边缘应用的操作时,具体用于:当确定软件部署包的状态为可选状态时,响应于用户触发部署N个待部署边缘应用的操作。
在一种可选的实施方式中,如图5所示,上述边缘云管理系统500还包括:第二获取模块505,用于获取用户触发选择的用于部署N个待部署边缘应用的目标边缘服务器的地址;其中,实例化请求中还携带目标边缘服务器的地址。
对应上述管理编排系统300和边缘云管理系统500,本发明实施例还提供了一种边缘应用配置系统400,该边缘应用配置系统400用于在接收管理编排系统发送的数据配置通知时,对虚拟机上的N个待部署边缘应用进行业务数据配置,以完成对N个待部署边缘应用的部署。
实际应用时,边缘应用配置系统400,还用于在完成对N个待部署边缘应用的部署后,向边缘云管理系统500发送部署完成通知,部署完成通知用于通知边缘云管理系统500将完成部署的待部署边缘应用的状态由非可用状态更新为可用状态,也即完成部署的待部署边缘应用在边缘云管理系统500上呈现部署完成,状态可用。
基于与上述一种管理编排系统300实施例同样的发明构思,本发明实施例提供了一种边缘应用部署方法,参见图6,该方法包括:
步骤S601,接收边缘云管理系统发送的实例化请求;其中,实例化请求中携带软件部署包的标识,该软件部署包中包括用于对N个待部署边缘应用进行部署的需求信息,N为正整数。
步骤S602,从预先接收到的边缘云管理系统发送的多个软件部署包中,查找与软件部署包的标识相匹配的目标软件部署包。
步骤S603,根据目标软件部署包为N个待部署边缘应用创建虚拟机,以将N个待部署边缘应用部署在虚拟机上。
步骤S604,向边缘应用配置系统发送数据配置通知,数据配置通知用于通知边缘应用配置系统对虚拟机上的N个待部署边缘应用进行业务数据配置,以完成对N个待部署边缘应用的部署。
本发明实施例提供的上述方式基于管理编排系统,自动完成对待部署边缘应用的部署,相较于现有技术中手工部署的方式,简化了部署过程,提高了部署效率,且无需专业技术人员操作,能够方便快捷的完成对边缘应用的部署。
上述目标软件部署包中包括操作系统镜像文件、N个待部署边缘应用的软件版本文件、以及N个与N个待部署边缘应用的软件版本文件一一对应的资源需求文件,第i个资源需求文件用于指示对第i个待部署边缘应用进行部署所需要的虚拟资源;
基于此,在一种可选的实施方式中,上述步骤S603,也即根据目标软件部署包为N个待部署边缘应用创建虚拟机,以将N个待部署边缘应用部署在虚拟机上,可通过以下步骤实施:
步骤(1),根据第i个资源需求文件,为第i个待部署边缘应用分配虚拟资源。
步骤(2),根据为N个待部署边缘应用分别分配的虚拟资源,为待部署边缘应用创建虚拟机。
步骤(3),根据操作系统镜像文件,以及第i个待部署边缘应用的软件版本文件将第i个待部署边缘应用部署于虚拟机上,i取遍小于或者等于N的正整数。
在一种可选的实施方式中,上述步骤(3),可通过如下方式实施:
(一)根据控制脚本列表获取与第i个待部署边缘应用的软件版本文件所对应的第i个控制脚本;其中,控制脚本列表中包括控制脚本与软件版本文件的一一对应关系。
(二)通过操作系统镜像文件调用第i个控制脚本,并基于第i个软件版本文件,将第i个待部署边缘应用部署于虚拟机上。
进一步,在一种可选的实施方式中,在本发明实施例中待部署边缘应用在网络中的部署位置是可以选择的,在该情况下,上述实例化请求中还携带有目标边缘服务器的地址;基于此,上述步骤S603中的根据目标软件部署包为N个待部署边缘应用创建虚拟机还可以通过如下方式实施:按照目标边缘服务器的地址,在目标边缘服务器中根据目标软件部署包为N个待部署边缘应用创建虚拟机。设定创建虚拟机的安装地址环境,能够便于后续对于边缘应用的维护及更新。
基于与上述边缘云管理系统500实施例同样的发明构思,本发明实施例提供了另一种边缘应用部署方法的流程示意图,如图7所示,该方法包括:
步骤S701,获取用户触发选择的N个待部署边缘应用的软件版本文件和为N个待部署边缘应用选择的同一个操作系统镜像文件,N为正整数。
步骤S702,获取N个待部署边缘应用的软件版本文件分别对应的资源需求信息,资源需求信息用于指示对待部署边缘应用进行部署所需要的虚拟资源,并根据获取的资源需求信息生成N个与N个待部署边缘应用的软件版本文件一一对应的资源需求文件。
步骤S703,将操作系统镜像文件、N个待部署边缘应用的软件版本文件和N个资源需求文件进行打包,生成软件部署包,并将软件部署包发送给管理编排系统。
步骤S704,响应于用户触发部署N个待部署边缘应用的操作,向管理编排系统发送实例化请求,实例化请求中包括软件部署包的标识。
本发明实施提供的上述方式可根据不同的资源需求信息创建不同的虚拟机,也即能够按照用户不同的部署需求创建边缘应用的运行环境。相较于采用开发框架部署的方式,避免出现由于固定的开发框架对于部署环境限制的问题,更加便于管理编排系统方便快捷的完成对待部署边缘应用的部署,能够有效的提升部署效率。
进一步,在一种可选的实施方式中,上述另一种边缘应用部署方法还包括:
获取用户触发选择的用于部署N个待部署边缘应用的目标边缘服务器的地址;其中,实例化请求中还携带所述目标边缘服务器的地址。
综上所述,本发明实施例基于管理编排系统与边缘云管理系统及边缘应用配置系统的交互,为实际部署边缘应用提供了一套直观、方便、易用的方法和系统。解决了手工部署边缘应用繁琐低效的问题,又解决了开发框架方式对应用的设计开发部署带来的限制问题。
本发明实施例还提供一种设备,参见图8所示,该设备可以应用于管理编排系统或者边缘云管理系统,包括:
通信接口801,存储器802以及处理器803;
其中,所述处理器803通过所述通信接口801与其它设备进行通信。存储器802,用于存储程序指令。
本申请实施例中不限定上述通信接口801、存储器802以及处理器803之间的具体连接介质,比如总线,总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatilememory),例如随机存取存储器(random-access memory,RAM)。存储器还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
当应用于边缘云管理系统时,所述处理器803可以通过所述通信接口801与其它设备进行通信,该其它设备可以是管理编排系统,比如,处理器803可以通过通信接口801向管理编排系统发送实例化请求,处理器803用于调用存储器802中存储的程序指令,按照获得的程序执行上述任一实施例中边缘云管理系统执行的方法。
当应用于管理编排系统时,所述处理器803可以通过所述通信接口801与其它设备进行通信,该其它设备可以是边缘应用配置系统,比如,处理器803可以通过通信接口801向边缘应用配置系统发送数据配置通知,处理器803用于调用存储器802中存储的程序指令,按照获得的程序执行上述任一实施例中管理编排系统执行的方法。
进一步,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行上述边缘应用部署方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。