Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020192598 - METHOD AND DEVICE FOR DEPLOYING VIRTUAL MACHINE AND CONTAINER

Document

说明书

发明名称 0001   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   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175   0176   0177   0178   0179   0180   0181   0182   0183   0184   0185   0186   0187   0188   0189   0190   0191   0192   0193   0194   0195   0196   0197   0198   0199   0200   0201   0202   0203   0204   0205   0206   0207   0208   0209   0210   0211   0212   0213   0214   0215   0216   0217   0218   0219   0220   0221   0222   0223   0224   0225   0226   0227   0228   0229   0230   0231   0232   0233   0234   0235   0236   0237   0238   0239   0240   0241   0242   0243   0244   0245   0246   0247   0248   0249   0250   0251   0252   0253   0254   0255   0256   0257   0258   0259   0260   0261   0262   0263   0264   0265   0266   0267   0268   0269   0270   0271   0272   0273   0274   0275   0276   0277   0278   0279   0280   0281   0282   0283   0284   0285   0286   0287   0288   0289   0290   0291   0292   0293   0294   0295   0296   0297   0298   0299   0300   0301   0302   0303   0304   0305   0306   0307   0308   0309   0310   0311   0312   0313   0314   0315   0316   0317   0318   0319   0320   0321   0322   0323   0324   0325   0326   0327   0328   0329   0330   0331   0332   0333   0334   0335   0336   0337   0338   0339   0340   0341   0342   0343   0344   0345   0346   0347   0348   0349   0350   0351   0352   0353   0354   0355   0356   0357   0358   0359   0360   0361   0362   0363   0364   0365   0366   0367   0368   0369   0370   0371   0372   0373   0374   0375   0376   0377   0378   0379   0380   0381   0382   0383   0384   0385   0386   0387  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19  

附图

1   2   3   4   5A   5B   6A   6B   7A   7B   7C   7D   7E   8   9   10  

说明书

发明名称 : 一种部署虚拟机和容器的方法及装置

[0001]
本申请要求于2019年03月22日提交国家知识产权局、申请号为201910224223.9、申请名称为“一种部署虚拟机和容器的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

[0002]
本申请实施例涉及计算机技术领域,尤其涉及一种部署虚拟机和容器的方法及装置。

背景技术

[0003]
随着计算机技术和通信技术的发展,多接入边缘计算(multi-access edge computing,MEC)成为第五代(5th generation,5G)移动网络的关键技术。MEC系统位于网络边缘,用户发出的大多数业务数据可以先通过MEC系统的过滤和处理后再上传到云,以提高数据的处理速度和传输可靠性。
[0004]
目前,MEC系统中,仅可以通过虚拟机(virtual machine,VM)部署方式部署应用程序的实例。但是,随着通信技术的发展,VM和容器混合部署在MEC系统的需求出现,通过容器部署或者VM部署方式部署应用程序的实例。
[0005]
现有技术中,kubernetes作为现在最热门的容器管理平台,适用于大多数的容器场景。但在MEC系统中,由于边缘节点的资源使用有限,kubernetes不能满足MEC系统中边缘节点的资源占用要求,不能采用kubernetes在MEC系统中进行容器部署。
[0006]
发明内容
[0007]
本申请实施例提供一种部署虚拟机和容器的方法及装置,以实现在MEC系统中部署VM和容器。
[0008]
为达到上述目的,本申请实施例采用如下技术方案:
[0009]
第一方面,本申请实施例提供一种部署虚拟机和容器的方法,该方法包括:统一编排功能实体接收用于请求部署应用程序的实例的部署请求,部署请求包括应用程序的标识ID和编排信息,编排信息用于指示运行应用程序的实例所需的资源,统一编排功能实体根据部署请求,确定应用程序的部署方式为容器部署或者虚拟机VM部署,以便统一编排功能实体根据确定出的部署方式请求VIM或者CIM部署能够运行应用程序的实例的VM或者容器。
[0010]
基于第一方面所述的方法,统一编排功能实体接收到部署应用程序的请求后,可以对接收到的部署请求进行分析处理,根据部署请求包括的内容确定部署应用程序的实例的部署方式(容器部署或者VM部署),以便统一编排功能实体根据确定出的部署方式向VIM或者CIM发送资源分配请求,请求采用容器部署方式部署应用程序所需的资源,或者,向VIM发送资源分配请求,请求采用VM部署方式部署应用程序所需的资源,完成应用程序的VM部署,实现在MEC系统中即可以实现VM部署,又可以实现容器部署。
[0011]
第一种可能的设计中,结合第一方面,所述方法还包括:若应用程序的部署方式为容器部署,则统一编排功能实体向架构管理器发送用于请求部署能够运行应用程序的实例的容器所需的资源的第一资源分配请求,或者,若应用程序的部署方式为VM部署,则统一 编排功能实体向VIM发送用于请求部署能够运行应用程序的实例的VM所需的资源的第二资源分配请求。
[0012]
基于该可能的设计,可以在容器部署时,向架构管理器发送第一资源分配请求,请求该架构管理器分配能够运行应用程序的实例的容器资源,或者,在VM部署时,向VIM发送第二资源分配请求,请求VIM分配能够运行该应用程序的实例的VM资源,如此,即可以实现容器部署又可以实现VM部署。
[0013]
第二种可能的设计中,结合第一方面或者第一方面的第一种可能的设计,应用程序的ID与应用程序的部署方式间存在对应关系,统一编排功能实体根据部署请求,确定应用程序的部署方式包括:统一编排功能实体根据应用程序的ID以及对应关系,确定应用程序的部署方式。基于该可能的设计,可以将用于标识应用程序的ID与应用程序的部署方式对应起来,根据该对应关系可以确定应用程序的部署方式,简单易行。
[0014]
第三种可能的设计中,结合第一方面或者第一方面的第一种可能的设计,部署请求中还包括部署类型标识,部署类型标识用于标识应用程序的部署方式,统一编排功能实体根据部署请求,确定应用程序的部署方式包括:统一编排功能实体根据部署类型标识,确定应用程序的部署方式。基于该可能的设计,可以在编排信息中增加用于标识应用程序的部署方式的部署类型标识,通过该部署类型标识显性指示应用程序的部署方式,简单易行。
[0015]
需要说明的是,部署类型标识可以包括在部署请求中新增的信元中,也可以包括部署请求所包括的编排信息中,不予限制。
[0016]
第四种可能的设计中,结合第一方面的第一种可能的设计至第一方面的第三种可能的设计中的任一可能的设计,所述方法还包括:统一编排功能实体接收来自架构管理器的第一资源分配响应。基于该可能的设计,可以在分配容器资源之后,向统一编排功能实体返回第一资源分配响应,以便统一编排功能实体获知已成功为应用程序的实例分配容器资源。
[0017]
第五种可能的设计中,结合第一方面的第一种可能的设计至第一方面的第三种可能的设计中的任一可能的设计,所述方法还包括:统一编排功能实体接收来自VIM的第二资源分配响应。基于该可能的设计,可以在分配VM资源之后,向统一编排功能实体返回第一资源分配响应,以便统一编排功能实体获知已成功为应用程序的实例分配VM资源。
[0018]
第六种可能的设计,结合第一方面或者第一方面的任一可能的设计,所述方法还包括:统一编排功能实体向MEP发送配置请求,其中,配置请求用于请求MEP配置运行应用程序的实例所遵循的流量规则、DNS规则。基于该可能的设计,可以向MEP请求运行该应用程序的实例所遵循的一些规则,以便按照MEP配置的规则运行应用程序的实例。
[0019]
第七种可能的设计,结合第一方面或者第一方面的任一可能的设计,所述方法还包括:统一编排功能实体发送部署请求的响应,其中,部署请求的响应用于指示成功部署应用程序的实例,部署请求的响应包括应用程序的ID。基于该可能的设计,可以在成功部署应用程序的实例之后,向请求部署应用程序的实例的请求方发送部署请求的响应,以便请求方获知成功部署应用程序的实例。
[0020]
第八种可能的设计,结合第一方面或者第一方面的任一可能的设计,所述方法还包括:统一编排功能实体接收终止请求;终止请求包括应用程序的ID,终止请求用于终止应用程序的实例;若应用程序的部署方式为容器部署,则统一编排功能实体向架构管理器发送第一资源删除请求,其中,第一资源删除请求可以用于请求架构管理器删除应用程序的实例 占用的资源;或者,若应用程序的部署方式为VM部署,则统一编排功能实体向VIM发送第二资源删除请求,其中,第一资源删除请求可以用于请求VIM删除应用程序的实例占用的资源。基于该可能的设计,统一编排功能实体接收到终止应用程序的实例的终止请求后,可以根据应用程序的部署方式进行相应的终止处理,如:若部署方式为容器部署,则向架构管理器发送第一资源删除请求,请求架构管理器删除应用程序的实例占用的资源;或者,若部署方式为VM部署,则向VIM发送第二资源删除请求,请求VIM删除应用程序的实例占用的资源。如此,可以在不需要该应用程序的实例的情况下,请求架构管理器或者VIM删除该应用程序的实例。
[0021]
第九种可能的设计,结合第一方面或者第一方面的任一可能的设计,统一编排功能实体为MEPM或者MEO。基于该可能的设计,可以由MEPM或者MEO执行本申请实施例提供的部署VM和容器的方法,提高了执行灵活性。
[0022]
第十种可能的设计,结合第一方面或者第一方面的任一可能的设计,架构管理器为VIM或者CIM。基于该可能的设计,可以由现有功能实体,如:VIM执行本申请实施例中部署容器的功能,或者,新增功能实体CIM执行本申请实施例提供的部署容器的过程。
[0023]
第二方面,本申请提供一种通信装置,该通信装置可以为统一编排功能实体或者统一编排功能实体中的芯片或者片上系统,其中,统一编排功能实体为MEPM或者MEO,可以实现上述各方面或者各可能的设计中统一编排功能实体所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。如:该通信装置可以包括:统一编排调度管理模块;
[0024]
统一编排调度管理模块,用于接收部署请求,并根据部署请求,确定应用程序的部署方式,其中,部署请求用于请求部署应用程序的实例,部署请求包括应用程序的标识ID和编排信息,编排信息用于指示部署应用程序的实例所需的资源;应用程序的部署方式包括容器部署或者虚拟机VM部署。
[0025]
进一步的,统一编排功能实体还包括:
[0026]
容器编排管理模块,用于若统一编排调度管理模块确定应用程序的部署方式为容器部署,则向架构管理器发送第一资源分配请求,其中,第一资源分配请求用于请求部署能够运行应用程序的实例的容器所需的资源;
[0027]
虚拟机VM调度管理模块,用于若统一编排调度管理模块确定应用程序的部署方式为VM部署,则向虚拟化基础架构管理器VIM发送第二资源分配请求,其中,第二资源分配请求用于请求部署能够运行应用程序的实例的VM所需的资源。
[0028]
其中,该通信装置的具体实现方式可以参考第一方面或第一方面的任一种可能的设计提供的部署虚拟机和容器的方法中统一编排功能实体的行为功能,在此不再重复赘述。因此,该提供的通信装置可以达到与第一方面或者第一方面的任一种可能的设计相同的有益效果。
[0029]
第三方面,提供了一种通信装置,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该通信装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该通信装置执行如上述第一方面或者第一方面的任一种可能的设计所述的部署虚拟机和容器的方法。
[0030]
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质为非易失性可读 存储介质。该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面或者上述方面的任一种可能的设计所述的部署虚拟机和容器的方法。
[0031]
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面或者上述方面的任一种可能的设计所述的部署虚拟机和容器的方法。
[0032]
第六方面,提供了一种芯片系统,该芯片系统包括处理器、通信接口,用于支持该芯片系统实现上述方面中所涉及的功能,例如处理器通过通信接口接收部署请求,并根据部署请求,确定应用程序的部署方式,其中,部署请求用于请求部署应用程序的实例,部署请求包括应用程序的标识ID和编排信息,编排信息用于指示部署应用程序的实例所需的资源;应用程序的部署方式包括容器部署或者虚拟机VM部署。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存通信装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
[0033]
其中,第三方面至第六方面中任一种设计方式所带来的技术效果可参见上述第一方面或者第一方面的任一种可能的设计所带来的技术效果,不再赘述。
[0034]
第七方面,本申请实施例提供一种MEC系统,包括如第二方面至第六方面所述的统一编排功能实体、虚拟化基础架构管理器VIM;或者,包括如第二方面至第六方面所述的统一编排功能实体、VIM以及CIM。

附图说明

[0035]
图1为本申请实施例提供的一种MEC系统的架构示意图;
[0036]
图2为本申请实施例提供的又一种MEC系统的架构示意图;
[0037]
图3为本申请实施例提供的一种部署虚拟机和容器的方法流程图;
[0038]
图4为本申请实施例提供的一种终止应用程序的实例的方法流程图;
[0039]
图5a为本申请实施例提供的又一种部署虚拟机和容器的方法流程图;
[0040]
图5b为本申请实施例提供的再一种部署虚拟机和容器的方法流程图;
[0041]
图6a为本申请实施例提供的一种终止应用程序的实例的方法流程图;
[0042]
图6b为本申请实施例提供的又一种终止应用程序的实例的方法流程图;
[0043]
图7a为本申请实施例提供的一种板载应用程序的方法流程图;
[0044]
图7b为本申请实施例提供的一种查询应用程序的方法流程图;
[0045]
图7c为本申请实施例提供的使能应用程序的方法流程图;
[0046]
图7d为本申请实施例提供的去使能应用程序的方法流程图;
[0047]
图7e为本申请实施例提供的一种删除应用程序的方法流程图;
[0048]
图8为本申请实施例提供的一种统一编排功能实体的组成示意图;
[0049]
图9为本申请实施例提供的一种MEC系统组成示意图;
[0050]
图10为本申请实施例提供的又一种MEC系统组成示意图。

具体实施方式

[0051]
下面结合说明书附图,对本申请实施例的实施方式进行详细描述。
[0052]
在一种示例中,为了实现在MEC系统中即可以部署VM,又可以部署容器,可以增强MEC系统中已存在的网元的功能,使其该网元支持容器的管理(如:部署、删除等),例如,可以增强MEC系统中的VIM,使VIM支持VM的虚拟化管理的同时还具备支持容 器的管理的功能,以实现在MEC系统中即可以部署VM,又可以部署容器。具体的,增强后的MEC系统可以参照图1所示。
[0053]
图1为本申请实施例提供的一种MEC系统的架构示意图,如图1所示,该MEC系统可以包括两大级:移动边缘主机级(mobile edge host level)和移动边缘系统级(mobile edge system)。其中,移动边缘主机级可以包括:多个移动边缘主机(mobile edge host)、移动边缘平台管理器(mobile edge platform manager,MEPM)、虚拟化基础架构管理器(virtualised infrastructure manager,VIM)。移动边缘系统级可以包括:面向客户的服务门户(customer facing service portal,CFS portal)、终端、用户应用生命周期管理代理(user app LCM proxy)、运营支撑系统(operations support system)以及移动边缘协调器/编排器(mobile edge orchestrator,MEO)等。
[0054]
移动边缘主机,可以是一台物理主机,主要用于为移动边缘应用提供计算、存储和网络资源。移动边缘主机可以包括移动边缘平台(mobile edge platform)、多个移动边缘应用(mobile edge application,ME APP)、虚拟化基础架构(virtualisation infrastructure,VI)。
[0055]
移动边缘平台MEP,主要用于为移动边缘应用提供移动边缘服务(mobile edge service)以及为移动边缘应用提供居间服务,如:可以为移动边缘应用间的发现和使用提供服务等。
[0056]
移动边缘应用,可以包括运行在虚拟化基础架构之上的虚拟机(virtual machine)的应用程序,也可以包括运行在容器的应用程序。移动边缘应用可以与移动边缘平台进行交互以提供移动边缘服务,还可以与移动边缘平台交互,以执行与移动边缘应用生命周期相关的过程,如:指示移动边缘应用的可用性,重新定位用户状态等。除此之外,移动边缘应用还具有与其相关联的一定数量的规则和要求,如:还具有移动边缘应用所需的资源、最大延迟、所需的服务或者有用的服务等。
[0057]
移动边缘平台管理器MEPM,主要具有如下功能:管理移动边缘应用的生命周期,如:将移动边缘应用的相关事件通知给移动边缘协调器/编排器;为移动边缘平台提供元素管理功能;管理移动边缘应用的规则和要求,如:管理移动边缘应用的服务授权、流量规则、域名系统(domain name system,DNS)配置和解决冲突等。
[0058]
虚拟化基础架构管理器(VIM),可以支持VM的虚拟化管理和容器的管理,主要具有如下两大功能,第一:分配、管理和释放虚拟化基础设施上的虚拟化资源(如:计算、存储和网络资源);为运行软件映像准备虚拟化基础架构,如:配置虚拟化基础设施、接收和存储软件映像等;快速配置移动边缘应用,如:收集和上报虚拟化资源的性能和故障信息;执行移动边缘程序重定位等。第二:分配、管理和释放容器相关的资源(如:计算、存储和网络资源);接收和存储容器映像;支持快速配置移动边缘应用,并收集和上报容器相关的资源的性能和故障信息等。
[0059]
移动边缘协调器/编排器MEO,是移动边缘系统级的核心功能部件,主要具有如下功能:根据移动边缘主机的部署维护移动边缘系统的整体视图资源、可用的移动边缘服务以及拓扑;根据约束条件(如:移动边缘应用的延迟等)选择适当的移动边缘主机为移动边缘应用实例化提供可用资源和可用服务;触发移动边缘应用实例化或者终止;触发移动边缘应用重定位;管理移动边缘主机的容器资源,如:跟踪容器可用资源容量,并管理容器镜像等。
[0060]
运营支撑系统,可以是运营商的OSS。它可以接收来自CFS门户(或者终端应用)的 用于请求实例化应用或终止应用的请求,并将接收到请求转发给移动边缘协调器/编排器,由移动边缘协调器/编排器根据该请求执行后续过程。
[0061]
终端,可以称为终端设备(terminal equipment)或者用户设备(user equipment,UE)或者移动台(mobile station,MS)或者移动终端设备(mobile terminal,MT)等,终端上可以设置有应用程序(application,APP)图标。具体的,终端可以为手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、个人计算机(Personal Computer,PC)、上网本、蜂窝电话、以及个人数字助理(Personal Digital Assistant,PDA)、可穿戴式设备(如智能手表)、智能家居设备、车载电脑等,本实施例对该设备的具体形式不做特殊限制。
[0062]
在图1所示的MEC系统中,移动边缘主机之间以及移动边缘主机内各部件间可以通过移动边缘平台的接口(mobile edge point,Mp)相互通信,移动边缘主机与MEC系统中的其他设备可以通过移动边缘管理(mobile edge management,Mm)相互通信,MEC系统中除移动边缘主机外的其他设备间也可以通过Mm接口相互通信。MEC系统中的设备与终端或CFS门户可以通过与外部实体之间的接口(如:Mx接口)相互通信。
[0063]
例如,如图1所示,移动边缘平台与移动边缘应用之间可以通过Mp1相互通信,移动边缘平台与虚拟化基础架构中的数据平面间可以通过Mp2相互通信,移动边缘主机间可以通过Mp3相互通信。
[0064]
OSS与移动边缘协调器/编排器之间可以通过Mm1相互通信,OSS与移动边缘平台管理器间可以通过Mm2相互通信。移动边缘协调器/编排器与移动边缘平台管理器间可以通过Mm3相互通信,移动边缘协调器/编排器与虚拟化基础架构管理器间可以通过Mm4相互通信。移动边缘平台管理器与移动边缘平台间可以通过Mm5相互通信,移动边缘平台管理器与虚拟化基础架构管理器间可以通过Mm6相互通信。虚拟化基础架构管理器与虚拟化基础架构间可以通过Mm7相互通信。用户应用生命周期管理代理与OSS之间可以通过Mm8相互通信,用户应用生命周期管理代理与移动边缘协调器/编排器之间可以通过Mm9相互通信。CFS门户与OSS之间可以通过Mx1相互通信,CFS门口可以将第三方发出的请求通过Mx1发送给OSS。终端与用户应用生命周期管理代理之间可以通过Mx2相互通信,终端上的app可以通过Mx2向用户应用生命周期管理代理发送请求,请求运行移动边缘应用或者将移动边缘应用移入/移出移动边缘系统中。
[0065]
需要指出的是,图1仅为示例性附图,图1所示MEC系统包括的网元的数量不受限制,除图1所示网元之外,该MEC系统还可以包括其他设备等。此外,图1中各个设备的名称、设备间接口的名称不受限制,除图1所示名称之外,各个设备、设备间的接口还可以命名为其他名称,不予限制。
[0066]
在又一种示例中,为了实现在MEC系统中即可以部署VM,又可以部署容器,可以在MEC系统中新增部署容器的功能实体,使该新增的功能实体支持容器的管理(如:部署、删除等),以实现在MEC系统中部署容器。具体的,增强后的MEC系统可以参照图2所示。
[0067]
如图2所示,为本申请实施例提供的又一种MEC系统的架构示意图,如图2所示,该MEC系统可以包括:移动边缘主机级(mobile edge host level)和移动边缘系统级(mobile edge system)。其中,移动边缘主机级可以包括:多个移动边缘主机(mobile edge host)、移动边缘平台管理器(mobile edge platform manager,MEPM)、虚拟化基础架构管理器 (virtualisation infrastructure manager,VIM)以及容器基础架构管理器(container infrastructure manager,CIM)。移动边缘系统级可以包括:CFS门户(CFS portal)、终端、用户应用生命周期管理代理(user app LCM proxy)、运营支撑系统(operations support system)以及移动边缘协调器/编排器(mobile edge orchestrator,MEO)等。
[0068]
其中,图2所示MEC系统中的MEO、MEPM、VIM等功能实体的相关功能可参照图1中所述,不再赘述。
[0069]
其中,图2中的移动边缘主机,可以是一台物理主机,主要用于为移动边缘应用提供计算、存储和网络资源。移动边缘主机可以包括移动边缘平台(mobile edge platform)、多个移动边缘应用(mobile edge application,ME APP)、虚拟化基础架构(virtualisation infrastructure,VI)以及容器基础架构(container infrastructure,CI)。CI具有容器引擎的功能,如:具有docker engine的功能。
[0070]
其中,图2所示CIM可以支持容器的管理。主要具有如下功能:分配、管理和释放容器相关的资源(如:计算、存储和网络资源);接收和存储容器映像;支持快速配置移动边缘应用,并收集和上报容器相关的资源的性能和故障信息等。需要说明的是,CIM可以和VIM独立部署在图2所示MEC系统中,也可以集中部署在同一功能实体中,不予限制,本申请实例仅以CIM和VIM独立部署在图2所示MEC系统中为例进行描述。
[0071]
与图1类似,在图2所示的MEC系统中,移动边缘主机之间以及移动边缘主机内各部件间可以通过移动边缘平台的接口(mobile edge point,Mp)相互通信,移动边缘主机与MEC系统中的其他设备可以通过移动边缘管理(mobile edge management,Mm)相互通信,MEC系统中除移动边缘主机外的其他设备间也可以通过Mm接口相互通信。MEC系统中的设备与终端或CFS门户可以通过与外部实体之间的接口(如:Mx接口)相互通信。具体接口可参照图2中所述。
[0072]
需要指出的是,图2仅为示例性附图,图2所示MEC系统包括的网元的数量不受限制,除图2所示网元之外,该MEC系统还可以包括其他设备等。此外,图2中各个设备的名称、设备间接口的名称不受限制,除图2所示名称之外,各个设备、设备间的接口还可以命名为其他名称,不予限制。
[0073]
下面基于图1或者图2所示的MEC系统,对本申请实施例提供的方法进行描述。
[0074]
图3为本申请实施例提供的一种部署虚拟化和容器的方法,如图3所示,该方法可以包括步骤301~步骤308:
[0075]
步骤301:统一编排功能实体接收部署请求。
[0076]
其中,统一编排功能实体可以为MEO或者MEO中能够实现本申请实施例中统一编排功能实体所执行的功能的芯片或者片上系统,还可以为MEPM或者MEPM中能够实现本申请实施例中统一编排功能实体所执行的功能的芯片或者片上系统,又或者,统一编排功能实体可以包括用于执行实现本申请实施例所述方法的多个功能模块,这多个功能模块中的部分功能模块位于MEO中,剩余部分模块位于MEPM中,不予限制。本申请实施例仅以统一编排功能实体为MEO或者MEPM为例进行说明。
[0077]
其中,部署请求可以用于请求实例化部署应用程序,该应用程序可以为第三方业务的应用程序(application,APP),如:可以为QQ游戏、大型手机游戏、MEC系统中的视频监控程序(人脸识别、数据分析等),该应用程序的部署方式可以包括但不限于VM部 署或者容器部署等。应用程序可以由应用程序的(indentity,ID)唯一标识,不同应用程序的ID以是不同的。示例性的,应用程序的ID可以是在应用程序成功板载(on-boarding)到MEC系统后,由MEO分配的唯一标识。
[0078]
具体的,该部署请求可以包括但不限于应用程序的标识(indentity,ID)和编排信息,还可以包括其他信息,不予限制。编排信息可以包括应用程序的实例化部署所需的资源信息,如:应用程序的镜像地址、磁盘类型、存储的卷名、磁盘大小等等,还可以包括编排类型(VM或者容器)等等。该编排信息可以为tosca类型,也可以为基于kubernetes的yaml类型。示例性的,该编排信息中可以包括关键字或者一些特殊的参数,可以通过该关键字或者这些特殊的参数识别出该编排信息的。
[0079]
例如,以应用程序的部署方式为VM部署为例,编排信息可以如下所示,可以包括应用程序的基本信息以及应用程序的存储资源等,其中,应用程序的基本信息可以包括节点基本信息、应用程序的部署方式、存储信息等。节点基本信息可以包括“节点模板(node_templates)、软件开发工具(sdk-appgroud)、节点类型(type:hwpaas.node.Appgroup)、需求(requirements)、成员(member)、节点名称(node:sdk-app)、节点关系(relationship:hwpass.relationships.Consistsof)等。应用程序的部署方式可以包括:应用程序包(package)、节点部署方式(node:sdk-VM)、节点关系(relationship:hwpass.relationship.PackageConsistsor)。存储信息可以包括“卷(volume)、节点系统盘(node:system_disk)、节点关系(relationship:hwpass.relationship.Attachesto)、卷(volume)、节点(node:data_disk)、节点关系(relationship:hwpass.relationship.AttachesTo)等。应用程序的存储资源可以包括:系统盘(system_disk)、类型(type:hwpaas.nodes.LocalVolume)、属性(properties)、类型(type:local_storage)、名称(name:test)、lvmType:system、卷类型(volumeType:high IO)、设备(devices:/dev/sdc)、卷类型(volumeType:“high IO”)、大小(size:20G)、模式(mode:private)、条纹(stripe:true)、删除策略(deletePolicy:reserved)等。
[0080]
node_templates:
[0081]
sdk-appgroud:
[0082]
type:hwpaas.node.Appgroup
[0083]
requirements:
[0084]
—member:
[0085]
node:sdk-app
[0086]
relationship:hwpass.relationships.Consistsof
[0087]
sdk-app:
[0088]
type:hwpaas.nodes.Application
[0089]
properties
[0090]
type:VM
[0091]
requirements:
[0092]
—package:
[0093]
node:sdk-VM
[0094]
relationship:hwpass.relationship.PackageConsistsor
[0095]
—volume:
[0096]
node:system_disk
[0097]
relationship:hwpass.relationship.Attachesto
[0098]
—volume:
[0099]
node:data_disk
[0100]
relationship:hwpass.relationship.AttachesTo
[0101]
sdk_VM:
[0102]
type:hwpaas.node.SoftwareComponent
[0103]
properties:
[0104]
package_type:VM
[0105]
image:{get_input:VM_image_url}
[0106]
cpu:
[0107]
mem:
[0108]
system_disk
[0109]
type:hwpaas.nodes.LocalVolume
[0110]
properties:
[0111]
type:local_storage
[0112]
name:test
[0113]
lvmType:system
[0114]
volumeType:high IO
[0115]
devices:/dev/sdc
[0116]
volumeType:“high IO”
[0117]
size:20G
[0118]
mode:private
[0119]
stripe:true
[0120]
deletePolicy:reserved
[0121]
在一种示例中,以统一编排功能实体为图1或者图2中的MEO为例,统一编排功能实体接收部署请求可以包括:统一编排功能实体通过Mm1接收OSS发送的部署请求,其中,该部署请求可以由CFS门户或者user app LCM proxy发送给OSS;或者,统一编排功能实体通过Mm9接收user app LCM proxy发送的部署请求,其中,该部署请求可以由终端上的APP发送给user app LCM proxy。
[0122]
在另一种示例中,以统一编排功能实体为图1或者图2中的MEPM为例,统一编排功能实体接收部署请求可以包括:统一编排功能实体通过Mm2接收OSS发送的部署请求,其中,该部署请求可以由CFS门户或者user app LCM proxy发送给OSS;或者,统一编排功能实体通过Mm3接收MEO发送的部署请求,其中,MEO可以通过上述方式获取部署请求并发送给MEPM,不再赘述。
[0123]
其中,另一种示例中,在MEO接收到部署请求并转发给MEPM的情况下,所述方法还可以包括:MEO获取应用程序的实例配置数据,根据应用程序的实例配置数据向MEPM转发该部署请求。应用程序的实例配置数据可以包括应用程序的实例部署在哪个节点、部 署的方式、采用这样的部署方式部署应用程序的实例所需要的资源(如:计算资源、网络资源以及存储资源等)等信息。MEO根据应用程序的实例配置数据向MEPM转发该部署请求可以包括:在采用应用程序的实例配置数据所规定的部署方式部署应用程序的实例的情况下,若MEC系统中存在可部署该应用程序的实例的节点以及部署该应用程序的实例所需要的资源,则向MEPM转发该部署请求,反之,则拒绝向MEPM转发该部署请求。
[0124]
步骤302:统一编排功能实体根据部署请求,确定应用程序的部署方式。
[0125]
一种示例中,部署请求中包括编排信息,针对不同的部署方式,编排信息的类型是不同的,如:当应用程序的部署方式为VM部署时,编排信息可以为tosca类型,当应用程序的部署方式为容器部署时,编排信息可以为yaml类型。
[0126]
统一编排功能实体接收到部署请求后,解析部署请求,获取部署请求包括的编排信息,根据编排信息的类型确定应用程序的部署方式。如:若编排信息为tosca类型,则确定应用程序为VM部署;若编排信息为yaml类型,则确定应用程序的部署方式为容器部署。
[0127]
其中,统一编排功能实体可以包括编排信息中包括的关键字确定编排信息的类型。例如,编排信息中包括编排类型(VM或者容器),若编排类型为VM,则确定编排信息为tosca类型,应用程序的部署方式为VM部署,反之,若编排类型为容器,则确定编排信息为yaml类型,应用程序的部署方式为容器部署。
[0128]
又一种示例中,部署请求中可以包括部署类型标识,该部署类型标识可以用于指示应用程序的部署方式,统一编排功能实体接收到部署请求后,可以解析部署请求,根据部署请求包括的部署类型标识,确定应用程序的部署方式。
[0129]
其中,部署类型标识可以为二进制比特数,如:0或1,“0”表示VM部署,“1”表示容器部署,还可以为其他用于指示应用程序的部署方式的标识符(indentity),如:可以为由数字、字母、符号等任意形式的信息组合而成、易于用户理解的标识符等,不予限制。
[0130]
需要说明的是,部署类型标识可以包括在部署请求中新增的信元中,也可以包括在部署请求所包括的编排信息中,不予限制。除包括编排信息、部署类型标识之外,部署请求还可以包括其他信息。
[0131]
例如,下表一示出了部署请求所包括的内容,如表一所示,该部署请求可以强制性包括部署类型标识(或者称为部署方式(deploy method))、应用程序的实例的ID(或者应用程序的ID)、虚拟存储信息(virtual storage desciptor)以及移动边缘主机信息(selected ME HostInfo),可选的,还包括虚拟机描述(virtual compute descripto)、容器描述(container descripto)等。其中,在表一中,N为大于1的整数。
[0132]
表一
[0133]
[0134]
[0135]
再一种示例中,部署请求中可以包括应用程序的ID,应用程序的ID与应用程序的部署方式间存在对应关系。统一编排功能实体接收到部署请求后,可以解析部署请求,根据部署请求包括的应用程序的ID以及预先存储的应用程序的ID与应用程序的部署方式间的对应关系,确定部署请求所请求的应用程序的部署方式。
[0136]
其中,应用程序的ID可以包括在部署请求的编排信息中,也可以独立于编排信息包括在部署请求中,不予限制。
[0137]
其中,应用程序的ID与应用程序的部署方式可以预先存储在MEO或者MEPM中,如:MEO可以接收OSS发送的包括应用程序和应用程序的部署方式的板载(on-board)应用程序的请求,根据板载应用程序的请求对应用程序进行板载,当应用程序的成功板载到MEC系统后,MEO可以为应用程序分配唯一的ID,并将应用程序的ID与应用程序的部署方式对应存储在MEO上或者MEPM上。
[0138]
例如,下表二示出了应用程序的ID与应用程序的部署方式间的对应关系,如表二所示,APP 1对应的部署方式为容器部署,APP 2的部署方式为容器部署,APP 3的部署方式为容器部署。当部署请求包括的应用程序的ID为APP 1时,统一编排功能实体可以以APP 1为索引查询表二,确定APP 1对应的部署方式为VM部署。当部署请求包括的应用程序的ID为APP 2时,统一编排功能实体可以以APP 2为索引查询表二,确定APP 2对应的部署方式为容器部署。当部署请求包括的应用程序的ID为APP 3时,统一编排功能实体可以以APP 3为索引查询表二,确定APP 3对应的部署方式为容器部署。
[0139]
表二
[0140]
[表0001]
应用程序的ID 应用程序的部署方式
APP 1 VM部署
APP 2 容器部署
APP 3 容器部署

[0141]
进一步的,在步骤302之后,若步骤302中确定出应用程序的部署方式为容器部署,则执行步骤303~步骤305;若应用程序的部署方式为VM部署,则执行步骤306~步骤308:
[0142]
步骤303:统一编排功能实体向架构管理器发送第一资源分配请求。
[0143]
其中,当图3所示方法基于图1执行时,架构管理器可以为图1中的VIM或者VIM 中的功能模块,如:可以为VIM中能够执行本申请实施例中架构管理器所执行的功能的芯片或者片上系统等;当图3所示方法基于图2执行时,架构管理器可以为图2中的CIM或者CIM中的功能模块,如:可以为CIM中能够执行本申请实施例中架构管理器所执行的功能的芯片或者片上系统等,不予限制。本申请实施例仅以架构管理器为图1中的VIM或者图2中的CIM为例进行描述。
[0144]
其中,第一资源分配请求可以用于请求部署能够运行所述应用程序的实例的容器所需的资源;如:计算资源、网络资源、存储资源等。第一资源分配请求可以包括应用程序的ID、容器部署的标识和采用容器部署方式部署应用程序所需的资源信息。容器部署的标识可以用于标识该应用程序的部署方式为容器部署。容器部署所需的资源信息可以包括采用容器部署方式部署该应用程序所需的计算资源、存储资源以及网络资源。示例性的,容器部署所需的资源信息具体可以包括:容器镜像地址、磁盘类型、卷名、磁盘大小等等。
[0145]
示例性的,当统一编排功能实体为MEO,架构管理器为图1中的VIM时,如图1所示,统一编排功能实体可以通过Mm4向架构管理器发送第一资源分配请求。
[0146]
当统一编排功能实体为MEPM,架构管理器为图1中的VIM时,如图1所示,统一编排功能实体可以通过Mm6向架构管理器发送第一资源分配请求。
[0147]
当统一编排功能实体为MEO,架构管理器为图2中的CIM时,如图2所示,统一编排功能实体可以通过Mm10向架构管理器发送第一资源分配请求。
[0148]
当统一编排功能实体为MEPM,架构管理器为图2中的CIM时,如图2所示,统一编排功能实体可以通过Mm11向架构管理器发送第一资源分配请求。
[0149]
步骤304:架构管理器接收第一资源分配请求,根据第一资源分配请求部署能够运行应用程序的实例的容器。
[0150]
示例性的,架构管理器根据第一资源分配请求部署能够运行应用程序的实例的容器的方式可参照现有技术,如:架构管理器根据容器镜像地址找到容器镜像仓库、从容器镜像仓库中下载该应用程序的容器镜像;调用存储插件请求创建存储的卷;请求容器引擎创建pause容器;请求网络插件创建CNI Add()以及请求容器引擎创建和运行容器。
[0151]
需要说明的是,在架构管理器从容器镜像仓库中下载该应用程序的容器镜像之前,架构管理器需要检查容器镜像仓库中是否存在该应用程序的容器镜像,若不存在,则应用程序的容器部署失败;若存在,则查看该应用程序的容器镜像是否可用,若可用,则从容器镜像仓库中下载容器镜像,执行容器部署流程,若不可用,则该应用程序的容器部署失败。
[0152]
其中,容器镜像仓库中存储有应用程序的ID以及应用程序的状态信息(可用或者不可用等),若容器镜像中存在与第一资源分配请求包括的应用程序的ID相同的ID,则确定容器镜像仓库中存在该应用程序的容器镜像,反之,则不存在;若第一资源分配请求包括的应用程序的ID所标识的应用程序的状态信息为可用,则确定容器仓库中存在的应用程序的容器镜像是可用的,反之,则不可用。
[0153]
步骤305:架构管理器向统一编排功能实体发送第一资源分配响应。
[0154]
其中,第一资源分配响应可以用于指示架构管理器成功部署容器。第一资源分配响应可以包括应用程序的ID。
[0155]
示例性的,当架构管理器为MEO,架构管理器为图1中的VIM时,如图1所示,架构管理器可以通过Mm4向统一编排功能实体发送第一资源分配响应。
[0156]
当架构管理器为MEPM,架构管理器为图1中的VIM时,如图1所示,架构管理器可以通过Mm6向统一编排功能实体发送第一资源分配响应。
[0157]
当架构管理器为MEO,架构管理器为图2中的CIM时,如图2所示,架构管理器可以通过Mm10向统一编排功能实体发送第一资源分配响应。
[0158]
当架构管理器为MEPM,架构管理器为图2中的CIM时,如图2所示,架构管理器可以通过Mm11向统一编排功能实体发送第一资源分配响应。
[0159]
步骤306:统一编排功能实体向VIM发送第二资源分配请求。
[0160]
其中,第二资源分配请求可以用于请求部署能够运行所述应用程序的实例的VM所需的资源;如:计算资源、网络资源、存储资源等。第二资源分配请求可以包括应用程序的ID、VM部署的标识和采用VM部署方式部署应用程序所需的资源信息。VM部署的标识可以用于标识该应用程序的部署方式为VM部署。VM部署所需的资源信息可以包括采用VM部署方式部署该应用程序所需的计算资源、存储资源以及网络资源。示例性的,VM部署所需的资源信息具体可以包括:VM镜像地址、磁盘类型、卷名、磁盘大小等等。
[0161]
示例性的,如图1或图2所示,统一编排功能实体可以通过Mm6向VIM发送第二资源分配请求。
[0162]
步骤307:VIM接收第二资源分配请求,根据第二资源分配请求部署能够运行应用程序的实例的VM。
[0163]
示例性的,VIM根据第二资源分配请求部署能够运行应用程序的实例的VM的方式可参照现有技术,如:VIM可以根据VM镜像地址,VM镜像仓库中下载该应用程序的VM镜像;调用存储插件请求创建存储的卷;请求VM引擎创建psuseVM;请求网络插件创建网络平面以及调用libvirt创建和运行VM。
[0164]
需要说明的是,在VIM从VM镜像仓库中下载该应用程序的VM镜像之前,VIM需要检查VM镜像仓库中是否存在该应用程序的VM镜像,若不存在,则该应用程序的VM部署失败;若存在,则查看该应用程序的VM镜像是否可用,若可用,则从VM镜像仓库中下载VM镜像,执行VM部署流程,若不可用,则该应用程序的VM部署失败。
[0165]
其中,VM镜像仓库中存储有应用程序的ID以及应用程序的状态信息(可用或者不可用等),若VM镜像中存在与第二资源分配请求包括的应用程序的ID相同的ID,则确定VM镜像仓库中存在该应用程序的VM镜像,反之,则不存在;若第二资源分配请求包括的应用程序的ID所标识的应用程序的状态信息为可用,则确定VM仓库中存在的应用程序的VM镜像是可用的,反之,则不可用。
[0166]
步骤308:VIM向统一编排功能实体发送第二资源分配响应。
[0167]
其中,第二资源分配响应可以用于指示VIM成功部署VM。第二资源分配响应可以包括该应用程序的ID。示例性的,如图1或图2所示,VIM可以通过Mm6向统一编排功能实体发送第二资源分配响应。
[0168]
基于图3所示方法,在接收到部署应用程序的请求后,可以对接收到的请求进行分析,确定请求部署的应用程序的部署方式(容器部署或者VM部署),若为容器部署,则向VIM或者CIM发送资源分配请求,请求采用容器部署方式部署应用程序所需的资源,完成应用程序的容器部署;若为VM部署,则向VIM发送资源分配请求,请求采用VM部署方式部署应用程序所需的资源,完成应用程序的VM部署,如此,可以在MEC系统中 即可以实现VM部署,又可以实现容器部署。
[0169]
进一步的,在图3所示方法中,以统一编排功能实体为MEPM为例,当统一编排功能实体接收到第一资源分配响应之后,统一编排功能实体可以向MEP发送第一配置请求,所述第一配置请求可以用于请求MEP配置在容器上运行应用程序的实例所遵循的流量规则、域名系统(domain name system,DNS)规则、服务、以及应用程序的实例生成的服务等,所述第一配置请求可以包括在容器上运行应用程序的实例所遵循的流量规则、DNS规则、必需和可选服务、以及应用程序的实例生成的服务等。MEP接收到第一配置请求后,可以根据第一配置请求为该应用程序的实例配置流量规则、DNS规则等,并在配置成功后,向统一编排功能实体发送第一配置请求的响应,第一配置请求的响应可以用于指示应用程序的实例所遵循的流量规则、DNS规则等配置成功。
[0170]
类似的,当统一编排功能实体接收到第二资源分配响应之后,统一编排功能实体可以向MEP发送第二配置请求,所述第二配置请求可以用于请求MEP配置在VM上运行应用程序的实例所遵循的流量规则、DNS规则、必需和可选服务、以及应用程序的实例生成的服务等。所述第二配置请求可以包括在容器上运行应用程序的实例所遵循的流量规则、DNS规则、必需和可选服务、以及应用程序的实例生成的服务等。MEP接收到第二配置请求后,可以根据第二配置请求为该应用程序的实例配置流量规则、DNS规则等,并在配置成功后,向统一编排功能实体发送第二配置请求的响应,第二配置请求的响应可以用于指示应用程序的实例所遵循的流量规则、DNS规则等配置成功。
[0171]
需要说明的是,当统一编排功能实体为MEO,MEO可以将其接收到的第一资源分配响应或者第二资源分配响应转发该MEPM,以便MEPM接收到第一资源分配响应或者第二资源分配响应后执行上述过程,不再赘述。
[0172]
进一步的,在图3所示方法中,以统一编排功能实体为MEPM为例,当统一编排功能实体接收到第一配置请求的响应或第二配置请求的响应后,MEPM可以认为该应用程序的实例化部署完成,可以向OSS或者通过MEO向OSS发送部署请求的响应。
[0173]
其中,部署请求的响应与步骤301中所述的部署请求相对应,可以用于指示成功完成该应用程序的实例化部署,该部署请求的响应可以包括分配给该应用程序的实例的资源信息,如:可以包括最终分配给该应用程序的实例的计算资源、网络资源以及存储资源等等。
[0174]
进一步的,当已部署的应用程序的实例不被需要时,为了节约资源,还可以终止应用程序的实例,释放应用程序的实例所占用的资源。具体的,终止应用程序的实例的过程可参照图4所示,可以包括:
[0175]
步骤401:统一编排功能实体接收终止请求。
[0176]
其中,统一编排功能实体可以步骤301中所述,不再赘述。
[0177]
其中,终止请求可以用于请求终止应用程序的实例,该终止请求可以包括应用程序的ID。应用程序的实例可以为通过容器部署方式或者VM部署方式部署的实例。
[0178]
例如,下表三示出了终止请求所包括的内容,如表一所示,该终止请求可以强制性包括终止类型(termination type)、应用程序的实例的ID(或者应用程序的ID),可选的,还包括优雅终止时间(graceful termination timeout)等。其中,在表三中,N为大于1的整数。
[0179]
表三
[0180]
[0181]
示例性的,以统一编排功能实体为图1或者图2中的MEO为例,统一编排功能实体接收终止请求可以包括:统一编排功能实体通过Mm1接收OSS发送的终止请求,其中,该终止请求可以由CFS门户或者user app LCM proxy发送给OSS;或者,统一编排功能实体通过Mm9接收user app LCM proxy发送的终止请求,其中,该终止请求可以由终端上的APP发送给user app LCM proxy。
[0182]
在另一种示例中,以统一编排功能实体为图1或者图2中的MEPM为例,统一编排功能实体接收终止请求可以包括:统一编排功能实体通过Mm2接收OSS发送的终止请求,其中,该终止请求可以由CFS门户或者user app LCM proxy发送给OSS;或者,统一编排功能实体通过Mm3接收MEO发送的终止请求,其中,MEO可以通过上述方式获取终止请求并发送给MEPM,不再赘述。
[0183]
步骤402:统一编排功能实体向MEP发送终止请求。
[0184]
步骤403:MEP接收终止请求,根据终止请求终止应用程序的实例。
[0185]
其中,步骤403中MEP根据终止请求终止应用程序的实例还可以描述为MEP根据终 止请求销毁应用程序的实例,不予限制。
[0186]
在一种示例中,MEP根据终止请求终止应用程序的实例可以包括:MEP通过Mp1向应用程序的实例发送终止通知,应用程序的实例接收到该终止通知后,根据该终止通知终止应用程序的实例,并向MEP发送终止响应,MEP接收到终止响应后,认为应用程序的实例已终止。
[0187]
在另一种示例中,MEP中可以设置一定时器,在MEP通过Mp1向应用程序的实例发送终止通知后,开启开定时器,当该定时器超时时,终止应用程序的实例,无需在接收到应用程序的实例发送的终止响应后,再终止应用程序的实例。
[0188]
步骤404:MEP向统一编排功能实体发送终止响应。
[0189]
其中,终止响应可以用于指示成功终止该应用程序的实例。
[0190]
步骤405:统一编排功能实体根据终止请求,确定应用程序的部署方式;若应用程序的部署方式为容器部署,则执行步骤406~步骤408;若应用程序的部署方式为VM部署,则执行步骤409~步骤411。
[0191]
其中,步骤405中,统一编排功能实体确定应用程序的部署方式的过程可参照步骤302所述,不再赘述。
[0192]
步骤406:统一编排功能实体向架构管理器发送第一资源删除请求。
[0193]
其中,架构管理器如步骤303中所述,可以为VIM或者CIM。
[0194]
其中,第一资源删除请求可以用于请求架构管理器删除用于运行应用程序的实例的容器。
[0195]
步骤407:架构管理器接收第一资源删除请求,根据第一资源删除请求删除容器。
[0196]
其中,架构管理器根据第一资源删除请求删除容器的方式可参照现有技术,如:架构管理器可以删除(或者释放)该容器占用的全部资源,如:计算资源、存储资源、网络资源等等。
[0197]
步骤408:架构管理器向统一编排功能实体发送第一资源删除响应,统一编排功能实体接收第一资源删除请求。
[0198]
其中,第一资源删除响应可以用于指示成功删除该应用程序的实例对应的容器。
[0199]
步骤409:统一编排功能实体向VIM发送第二资源删除请求。
[0200]
其中,第二资源删除请求可以用于请求VIM删除用于运行应用程序的实例的VM。
[0201]
步骤410:VIM接收第二资源删除请求,根据第二资源删除请求删除VM。
[0202]
步骤411:VIM向统一编排功能实体发送第二资源删除响应,统一编排功能实体接收第二资源删除请求。
[0203]
其中,第二资源删除响应可以用于指示成功删除该应用程序的实例对应的VM。
[0204]
步骤412:统一编排功能实体发送终止请求的响应。
[0205]
其中,该终止请求的响应为与步骤401中的终止请求对应的响应,可以包括应用程序的ID,该终止请求的响应可以用于指示成功终止该应用程序的实例以及删除该应用程序的实例所占用的资源。
[0206]
示例性的,统一编排功能实体可以向OSS发送终止请求的响应。
[0207]
基于图4所示方法,可以在不需要应用程序的实例的情况下,终止应用程序的实例以及删除应用程序的实例所占用的资源,提高了资源利用率。
[0208]
下面结合图1所示的MEC系统,以统一编排功能实体为MEPM,架构管理器为VIM为例,对图3所示方法进行描述。
[0209]
图5a为本申请实施例提供又一种部署虚拟机和容器的方法流程图,如图5a所示,所述方法可以包括:
[0210]
步骤501a:OSS向MEO发送部署请求。
[0211]
其中,部署请求的相关描述可以参照步骤301中所述,不再赘述。
[0212]
步骤502a:MEO接收部署请求,向MEPM发送部署请求。
[0213]
步骤503a:MEPM接收部署请求,根据部署请求确定应用程序的部署方式,若应用程序的部署方式为容器部署,则执行步骤504a~步骤506a;若应用程序的部署方式为VM部署,则执行步骤507a~步骤509a。
[0214]
其中,步骤503a可参照步骤302所述,不再赘述。
[0215]
步骤504a:MEPM向VIM发送第一资源分配请求。
[0216]
其中,第一资源分配请求的相关描述以及步骤504a的执行过程可参照步骤303所述,不再赘述。
[0217]
步骤505a:VIM接收第一资源分配请求,根据第一资源分配请求部署能够运行应用程序的实例的容器。
[0218]
其中,步骤505a可参照步骤304所述,不再赘述。
[0219]
步骤506a:VIM向MEPM发送第一资源分配响应,MEPM接收第一资源分配响应。
[0220]
其中,步骤506a可参照步骤305所述,不再赘述。
[0221]
步骤507a:MEPM向VIM发送第二资源分配请求。
[0222]
其中,第二资源分配请求的相关描述以及步骤507a的执行过程可参照步骤306所述,不再赘述。
[0223]
步骤508a:VIM接收第二资源分配请求,根据第二资源分配请求部署能够运行应用程序的实例的VM。
[0224]
其中,步骤508a可参照步骤307所述,不再赘述。
[0225]
步骤509a:VIM向MEPM发送第二资源分配响应,MEPM接收第二资源分配响应。
[0226]
其中,步骤510a可参照步骤308所述,不再赘述。
[0227]
步骤510a:MEPM向MEO发送部署请求的响应。
[0228]
步骤511a:MEO接收部署请求的响应,向OSS发送部署请求的响应。
[0229]
基于图5a所示方法,在接收到部署应用程序的请求后,可以对接收到的请求进行分析,确定请求部署的应用程序的部署方式(容器部署或者VM部署),若为容器部署,则向VIM发送资源分配请求,请求采用容器部署方式部署应用程序所需的资源,完成应用程序的容器部署;若为VM部署,则向VIM发送资源分配请求,请求采用VM部署方式部署应用程序所需的资源,完成应用程序的VM部署,如此,可以在MEC系统中即可以实现VM部署,又可以实现容器部署。
[0230]
下面结合图2所示的MEC系统,以统一编排功能实体为MEPM,架构管理器为CIM为例,对图3所示方法进行描述。
[0231]
图5b为本申请实施例提供再一种部署虚拟机和容器的方法流程图,如图5b所示,所述方法可以包括:
[0232]
步骤501b:OSS向MEO发送部署请求。
[0233]
其中,部署请求的相关描述可以参照步骤301中所述,不再赘述。
[0234]
步骤502b:MEO接收部署请求,向MEPM发送部署请求。
[0235]
步骤503b:MEPM接收部署请求,根据部署请求确定应用程序的部署方式,若应用程序的部署方式为容器部署,则执行步骤504b~步骤506b;若应用程序的部署方式为VM部署,则执行步骤507b~步骤509b。
[0236]
其中,步骤503b可参照步骤302所述,不再赘述。
[0237]
步骤504b:MEPM向CIM发送第一资源分配请求。
[0238]
其中,第一资源分配请求的相关描述以及步骤504b的执行过程可参照步骤303所述,不再赘述。
[0239]
步骤505b:CIM接收第一资源分配请求,根据第一资源分配请求部署能够运行应用程序的实例的容器。
[0240]
其中,步骤505b可参照步骤304所述,不再赘述。
[0241]
步骤506b:CIM向MEPM发送第一资源分配响应,MEPM接收第一资源分配响应。
[0242]
其中,步骤506b可参照步骤305所述,不再赘述。
[0243]
步骤507b:MEPM向VIM发送第二资源分配请求。
[0244]
其中,第二资源分配请求的相关描述以及步骤507b的执行过程可参照步骤306所述,不再赘述。
[0245]
步骤508b:VIM接收第二资源分配请求,根据第二资源分配请求部署能够运行应用程序的实例的VM。
[0246]
其中,步骤508b可参照步骤307所述,不再赘述。
[0247]
步骤509b:VIM向MEPM发送第二资源分配响应,MEPM接收第二资源分配响应。
[0248]
其中,步骤509b可参照步骤308所述,不再赘述。
[0249]
步骤510b:MEPM向MEO发送部署请求的响应。
[0250]
步骤511b:MEO接收部署请求的响应,向OSS发送部署请求的响应。
[0251]
基于图5b所示方法,在接收到部署应用程序的请求后,可以对接收到的请求进行分析,确定请求部署的应用程序的部署方式(容器部署或者VM部署),若为容器部署,则向CIM发送资源分配请求,请求采用容器部署方式部署应用程序所需的资源,完成应用程序的容器部署;若为VM部署,则向VIM发送资源分配请求,请求采用VM部署方式部署应用程序所需的资源,完成应用程序的VM部署,如此,可以在MEC系统中即可以实现VM部署,又可以实现容器部署。
[0252]
作为部署应用程序的实例的逆过程,当不再需要已部署的应用程序的实例时,为了节约资源,还可以终止应用程序的实例,释放应用程序的实例所占用的资源。下面结合图1所示的MEC系统,以统一编排功能实体为MEPM,架构管理器为VIM为例,通过图6a或者图6b所示方法对终止应用程序的实例的过程进行描述。
[0253]
图6a为本申请实施例提供一种终止应用程序的实例的方法流程图,如图6a所示,所述方法可以包括:
[0254]
步骤601a:OSS向MEO发送终止请求。
[0255]
其中,终止请求的相关描述可以参照步骤401中所述,不再赘述。
[0256]
步骤602a:MEO接收终止请求,向MEPM发送终止请求。
[0257]
步骤603a:MEPM接收终止请求,向MEP发送终止请求。
[0258]
步骤604a:MEP接收终止请求,根据终止请求终止应用程序的实例。
[0259]
其中,步骤604a可参照步骤403所述,不再赘述。
[0260]
步骤605a:MEP向MEPM发送终止响应。
[0261]
其中,终止响应的相关描述以及步骤605a的执行过程可参照步骤404所述,不再赘述。
[0262]
步骤606a:MEPM确定应用程序的部署方式,若应用程序的部署方式为容器部署,则执行步骤607a~步骤609a;若应用程序的部署方式为VM部署,则执行步骤610a~步骤612a。
[0263]
其中,步骤606a可参照步骤405所述,不再赘述。
[0264]
步骤607a:MEPM向VIM发送第一资源删除请求。
[0265]
其中,第一资源删除请求的相关描述以及步骤607a的执行过程可参照步骤406所述,不再赘述。
[0266]
步骤608a:VIM接收第一资源删除请求,根据第一资源删除请求删除容器。
[0267]
其中,步骤608a可参照步骤407所述,不再赘述。
[0268]
步骤609a:VIM向MEPM发送第一资源删除响应,MEPM接收第一资源删除响应。
[0269]
其中,步骤609a可参照步骤408所述,不再赘述。
[0270]
步骤610a:MEPM向VIM发送第二资源删除请求。
[0271]
其中,第二资源删除请求的相关描述以及步骤610a的执行过程可参照步骤409所述,不再赘述。
[0272]
步骤611a:VIM接收第二资源删除请求,根据第二资源删除请求删除VM。
[0273]
其中,步骤611a可参照步骤410所述,不再赘述。
[0274]
步骤612a:VIM向MEPM发送第二资源删除响应,MEPM接收第二资源删除响应。
[0275]
其中,步骤612a可参照步骤411所述,不再赘述。
[0276]
步骤613a:MEPM向MEO发送终止请求的响应。
[0277]
步骤614a:MEO接收终止请求的响应,向OSS发送终止请求的响应。
[0278]
基于图6a所示方法,可以在接收到终止应用程序的实例的终止请求后,根据应用程序的部署方式进行相应的终止处理,如:若部署方式为容器部署,则向VIM发送第一资源删除请求,请求VIM删除应用程序的实例占用的容器资源;或者,若部署方式为VM部署,则向VIM发送第二资源删除请求,请求VIM删除应用程序的实例占用的VM资源。如此,可以在不需要应用程序的实例的情况下,请求架构管理器或者VIM删除该应用程序的实例。
[0279]
下面结合图2所示的MEC系统,以统一编排功能实体为MEPM,架构管理器为CIM为例,对终止应用程序的实例的过程进行描述。
[0280]
图6b为本申请实施例提供再一种终止应用程序的实例的方法流程图,如图6b所示,所述方法可以包括:
[0281]
步骤601b:OSS向MEO发送终止请求。
[0282]
其中,终止请求的相关描述可以参照步骤401中所述,不再赘述。
[0283]
步骤602b:MEO接收终止请求,向MEPM发送终止请求。
[0284]
步骤603b:MEPM接收终止请求,向MEP发送终止请求。
[0285]
步骤604b:MEP接收终止请求,根据终止请求终止应用程序的实例。
[0286]
其中,步骤604b可参照步骤403所述,不再赘述。
[0287]
步骤605b:MEP向MEPM发送终止响应。
[0288]
其中,终止响应的相关描述以及步骤605b的执行过程可参照步骤404所述,不再赘述。
[0289]
步骤606b:MEPM接收终止请求,确定应用程序的部署方式,若应用程序的部署方式为容器部署,则执行步骤607b~步骤609b;若应用程序的部署方式为VM部署,则执行步骤610b~步骤612b。
[0290]
其中,步骤606b可参照步骤405所述,不再赘述。
[0291]
步骤607b:MEPM向CIM发送第一资源删除请求。
[0292]
其中,第一资源删除请求的相关描述以及步骤607b的执行过程可参照步骤406所述,不再赘述。
[0293]
步骤608b:CIM接收第一资源删除请求,根据第一资源删除请求删除容器。
[0294]
其中,步骤608b可参照步骤407所述,不再赘述。
[0295]
步骤609b:CIM向MEPM发送第一资源删除响应,MEPM接收第一资源删除响应。
[0296]
其中,步骤609b可参照步骤408所述,不再赘述。
[0297]
步骤610b:MEPM向VIM发送第二资源删除请求。
[0298]
其中,第二资源删除请求的相关描述以及步骤610b的执行过程可参照步骤409所述,不再赘述。
[0299]
步骤611b:VIM接收第二资源删除请求,根据第二资源删除请求删除VM。
[0300]
其中,步骤611b可参照步骤410所述,不再赘述。
[0301]
步骤612b:VIM向MEPM发送第二资源删除响应,MEPM接收第二资源删除响应。
[0302]
其中,步骤612b可参照步骤411所述,不再赘述。
[0303]
步骤613b:MEPM向MEO发送终止请求的响应。
[0304]
步骤614b:MEO接收终止请求的响应,向OSS发送终止请求的响应。
[0305]
基于图6b所示方法,可以在接收到终止应用程序的实例的终止请求后,根据应用程序的部署方式进行相应的终止处理,如:若部署方式为容器部署,则向CIM发送第一资源删除请求,请求CIM删除应用程序的实例占用的容器资源;或者,若部署方式为VM部署,则向VIM发送第二资源删除请求,请求VIM删除应用程序的实例占用的VM资源。如此,可以在不需要应用程序的实例的情况下,请求架构管理器或者VIM删除该应用程序的实例。
[0306]
在图3~图6b所示方法中,容器镜像仓库可以存储有容器镜像文件,该容器镜像文件中可以保存有采用容器部署的应用程序。类似的,VM镜像仓库中可以存储有VM镜像文件,该VM镜像文件中可以保存有采用VM部署的应用程序,容器镜像仓库和VM镜像仓库中可以包括一个或者多个应用程序,每个应用程序可以由应用程序的ID唯一标识。示例性的,可以通过板载(on-boarding)流程将应用程序存储到镜像仓库(容器镜像仓库或者VM镜像仓库)中。具体的,该过程可以如图7a所示,包括:
[0307]
步骤701a:OSS向MEO发送板载应用程序请求。
[0308]
其中,板载应用程序请求可以用于请求将应用程序板载到MEC系统中,该板载应用程序请求可以包括应用程序以及部署类型标识,该部署类型标识可以用于标识该应用程序 为容器部署的应用程序或者VM部署的应用程序。
[0309]
需要说明的是,当应用程序为容器部署的应用程序时,该板载应用程序请求还可以包括容器镜像地址,当应用程序为VM部署的应用程序时,该板载应用程序请求还可以包括VM镜像地址,本申请实施例对此不作限制。
[0310]
示例性的,OSS可以接收CFS门户或者user app LCM proxy发送的板载应用程序请求,并将接收到的板载应用程序请求转发给MEO。
[0311]
步骤702a、MEO接收板载应用程序请求,将应用程序保存到镜像仓库中。
[0312]
示例性,镜像仓库可以部署在MEO或者MEPM中,不予限制。镜像仓库可以包括容器镜像仓库和VM镜像仓库,若部署类型标识用于标识应用程序为容器镜像,则将应用程序保存到容器镜像仓库中,若部署类型标识用于标识应用程序为VM应用程序,则将应用程序保存到VM镜像仓库中。
[0313]
同时,MEO可以为每个应用程序分配ID,以唯一标识该应用程序,还可以为每个应用程序分配与其相关的状态信息,如:可以分配应用程序的状态为可用或者不可用等等。
[0314]
步骤703a、MEO向OSS发送板载应用程序请求的响应。
[0315]
其中,板载应用程序请求的响应可以用于指示该应用程序成功板载(或者保存)到MEC系统中。板载应用程序请求的响应与步骤701a中的板载应用程序请求对应,可以包括但不限于应用程序的ID等信息。
[0316]
在图7a所示方法中,为了防止恶意应用程序攻击,板载应用程序请求包括的应用程序中可以包括强制元素,当MEO接收到板载应用程序请求后,可以检验应用程序包括的强制元素与约定元素是否相同,若相同,则表示应用程序具备完整性和真实性,可以保存到MEC系统中;反之,若应用程序包括的强制元素与约定元素不同,则表示应用程序被篡改等,不能将应用程序保存到MEC系统中,该应用程序板载失败。
[0317]
其中,约定元素可以为OSS与MEO之间事先预定好的、能够用于检验应用程序的真实性和完整性的元素。
[0318]
如此,可以将应用程序板载到MEC系统中,该应用程序在MEC系统中是可用的,可以进行实例化部署。
[0319]
在图3~图6b所示方法中,MEO可以对板载后的应用程序进行如下管理:查询、禁用(或者去使能(disable)、启用(enable,使能)、删除等。具体的,查询应用程序的过程可参照图7b所示,禁用应用程序的过程可参照图7c所示,启用应用程序的过程可参照图7d所示,删除应用程序的过程可参照图7e所示。
[0320]
图7b为本申请实施例提供的一种查询应用程序的流程图,如图7b所示,可以包括:
[0321]
步骤701b:OSS向MEO发送查询应用程序请求。
[0322]
其中,查询应用程序请求可以用于请求查询应用程序的相关信息,如:应用程序的规则和要求等。该查询应用程序请求可以包括应用程序的ID,还可以包括其他信息,如:过滤条件等等,不予限制。
[0323]
示例性的,OSS可以接收CFS门户或者user bpp LCM proxy发送的查询应用程序请求,并将接收到的查询应用程序请求转发给MEO。
[0324]
步骤702b、MEO接收查询应用程序请求,从镜像仓库中查询应用程序的相关信息。
[0325]
示例性,若应用程序为容器镜像,则MEO从容器镜像仓库中查询应用程序的相关信 息;若应用程序为VM应用程序,则MEO从VM镜像仓库中查询应用程序的相关信息。
[0326]
步骤703b、MEO向OSS发送查询应用程序请求的响应。
[0327]
其中,查询应用程序请求的响应可以包括应用程序的相关信息,如:应用程序的规则和要求等。示例性的,MEO可以将满足过滤条件的应用程序的相关信息携带在该响应中发送给OSS。
[0328]
如此,可以通过图7b所示的查询流程,查询应用程序的相关信息。
[0329]
图7c为本申请实施例提供的一种禁用应用程序的流程图,如图7c所示,可以包括:
[0330]
步骤701c:OSS向MEO发送禁用应用程序的请求。
[0331]
其中,禁用应用程序请求可以用于请求禁用应用程序,使该应用程序不可用。该禁用应用程序请求可以包括应用程序的ID等,不予限制。
[0332]
示例性的,OSS可以接收CFS门户或者user bpp LCM proxy发送的禁用应用程序请求,并将接收到的禁用应用程序请求转发给MEO。
[0333]
步骤702c:MEO接收禁用应用程序请求,根据禁用应用程序请求,确认禁用应用程序。
[0334]
示例性的,MEO可以先根据禁用应用程序请求所包括的应用程序的ID,检查该应用程序的ID所标识的应用程序是否存在,若存在,则查看应用程序的状态是不是启用;若启用了该应用程序,则MEO将该应用程序标记为禁用。
[0335]
步骤703c:MEO向OSS发送禁用应用程序的响应。
[0336]
其中,所述禁用应用程序的响应可以用于指示该应用程序在MEC系统中被禁用。
[0337]
如此,可以通过图7c所示流程禁用MEC系统中存在的应用程序。
[0338]
图7d为本申请实施例提供的一种启用应用程序的流程图,如图7d所示,可以包括:
[0339]
步骤701d:OSS向MEO发送启用应用程序的请求。
[0340]
其中,启用应用程序请求可以用于请求启用应用程序,使该应用程序在MEC系统中可用。该启用应用程序请求可以包括应用程序的ID等,不予限制。
[0341]
示例性的,OSS可以接收DFS门户或者user bpp LDM proxy发送的启用应用程序请求,并将接收到的启用应用程序请求转发给MEO。
[0342]
步骤702d:MEO接收启用应用程序请求,根据启用应用程序请求,确认启用应用程序。
[0343]
示例性的,MEO可以先根据启用应用程序请求所包括的应用程序的ID,检查该应用程序的ID所标识的应用程序是否存在,若存在,则查看该应用程序是否被标记禁用且未标记为删除待处理,若是,则启用该应用程序。
[0344]
步骤703d:MEO向OSS发送启用应用程序的响应。
[0345]
其中,所述启用应用程序的响应可以用于指示该应用程序在MED系统中被启用。
[0346]
如此,可以通过图7d所示流程启用MED系统中存在的应用程序。
[0347]
图7e为本申请实施例提供的一种删除应用程序的流程图,如图7e所示,可以包括:
[0348]
步骤701e:OSS向MEO发送删除应用程序的请求。
[0349]
其中,删除应用程序请求可以用于请求删除应用程序,使该应用程序在MEC系统中可用。该删除应用程序请求可以包括应用程序的ID以及应用程序的部署类型标识(VM或者容器),也可以包括其他信息,不予限制。
[0350]
示例性的,OSS可以接收EFS门户或者user app LEM proxy发送的删除应用程序请求,并将接收到的删除应用程序请求转发给MEO。
[0351]
步骤702e:MEO接收删除应用程序请求,根据删除应用程序请求,确认删除应用程序。
[0352]
示例性的,MEO可以先根据删除应用程序请求所包括的应用程序的ID,检查该应用程序的ID所标识的应用程序是否已禁用以及是否已禁用应用程序正在使用中。如果应用程序已禁用但正在使用中,则MEO会设置应用程序的状态为删除暂挂。如果应用程序已禁用且未使用,则MEO从移动边缘系统中删除应用程序。
[0353]
具体来说,MEO可以根据删除应用程序请求所包括的部署类型标识(VM部署或者容器部署),判断请求删除的应用程序是VM应用程序还是容器镜像,如果请求删除的是VM应用程序,则MEO与保存有VM应用程序的文件服务器交互删除;如果是容器镜像,则MEO需要访问容器镜像仓库,调用容器引擎命令删除对应的容器镜像。如果应用程序处于删除暂挂状态,则MEO可以检查该应用程序对应的所有实例,待应用程序的实例终止后删除该应用程序。如果没有使用的应用程序的实例,则MEO可以删除该应用程序。
[0354]
步骤703e:MEO向OSS发送删除应用程序的响应。
[0355]
其中,所述删除应用程序的响应可以用于指示该应用程序在MEO系统中被删除。
[0356]
如此,可以通过图7e所示流程删除MEO系统中存在的应用程序。
[0357]
上述主要从MEC系统中各个功能实体之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,各个功能实体,例如统一编排功能实体(MEPM或者MEO)、VIM等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0358]
本申请实施例可以根据上述方法示例对MEPM进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0359]
图8示出了的一种统一编排功能实体80的结构图,该统一编排功能实体80可以为MEO或者MEO中的芯片或者片上系统,还可以为MEPM或者MEPM中的芯片或者片上系统,该统一编排功能实体80可以用于执行上述实施例中涉及的统一编排功能实体的功能。作为一种可实现方式,图8所示的统一编排功能实体80包括:
[0360]
统一编排调度管理模块801,用于接收部署请求,并根据部署请求,确定应用程序的部署方式,其中,部署请求用于请求部署应用程序的实例,部署请求包括应用程序的标识ID和编排信息,编排信息用于指示部署应用程序的实例所需的资源;应用程序的部署方式包括容器部署或者虚拟机VM部署。例如,统一编排调度管理模块801可以支持统一编排功能实体80执行步骤301、步骤302等。
[0361]
进一步的,如图8所示,统一编排功能实体80还可以包括:容器编排管理模块802,用于若统一编排调度管理模块801确定应用程序的部署方式为容器部署,则向架构管理器发送第一资源分配请求,其中,第一资源分配请求用于请求部署能够运行应用程序的实例的容器所需的资源。例如,容器编排管理模块802可以用于支持统一编功能实体80执行步骤303等。
[0362]
VM调度管理模块803,用于若统一编排调度管理模块801确定应用程序的部署方式为VM部署,则向VIM发送第二资源分配请求,其中,第二资源分配请求用于请求部署能够运行应用程序的实例的VM所需的资源。例如,VM调度管理模块803可以用于支持统一编排功能实体80执行步骤306等。
[0363]
其中,架构管理器可以为VIM或者CIM等,不予限制。
[0364]
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。本申请实施例提供的统一编排功能实体80,用于执行上述部署虚拟机和容器的方法统一编排功能实体80的功能,因此可以达到与上述部署虚拟机和容器的方法相同的效果。
[0365]
此外,需要说明的是,本申请实施例不限制统一编排功能实体80所包括的部件的部署位置,统一编排功能实体80所包括的部件可以集中部署在MEO或者MEPM中,也可以分离部署在不同的功能实体中,例如,统一编排调度管理模块801可以部署在MEO中,容器编排管理模块802和VM调度管理模块803可以部署在MEPM中,不予限制。
[0366]
作为又一种可实现方式,图8所示统一编排功能实体80可以包括:处理模块和通信模块。统一编排调度管理模块801、容器编排管理模块802和VM调度管理模块803可以集成在处理模块中。处理模块用于对通信模块接收到的信息进行控制管理,例如,处理模块用于支持该统一编排功能实体80执行步骤301、步骤302、步骤303、步骤306以及执行本文所描述的技术的其它过程。通信模块用于支持统一编排功能实体80接收部署请求以及与其他网络实体的通信,例如与图1示出的功能模块或网络实体之间的通信。进一步的,该统一编排功能实体80还可以包括存储模块,用于存储统一编排功能实体80的程序代码和数据。
[0367]
其中,处理模块可以是处理器,如:可以是中央处理器(central processing unit,CPU),通用处理器网络处理器(network processor,NP)、数字信号处理器(digital signal processing,DSP)、微处理器、微控制器、可编程逻辑器件(programmable logic device,PLD)或它们的任意组合。处理器还可以是其它任意具有处理功能的装置,例如电路、器件或软件模块。
[0368]
通信模块可以为与其他设备或通信网络通信(如以太网,无线接入网(radio access network,RAN)的通信接口,如可以为模块、电路、收发器或者任何能够实现通信的装置。
[0369]
存储器可以是只读存储器(read-only memory,ROM)或可存储静态信息和/或指令的其他类型的静态存储设备,也可以是随机存取存储器(random access memory,RAM)或者可存储信息和/或指令的其他类型的动态存储设备,还可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或 存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。一种可能的设计中,存储器可以独立于处理器存在,即存储器可以为处理器外部的存储器,此时,存储器可以通过通信线路与处理器相连接,用于存储指令或者程序代码。处理器调用并执行存储器中存储的指令或程序代码时,能够实现本申请下述实施例提供的部署虚拟机和容器的方法。又一种可能的设计中,存储器也可以和处理器集成在一起,即存储器可以为处理器的内部存储器,例如,该存储器为高速缓存,可以用于暂存一些数据和/或指令信息等。图9为本申请实施例提供的一种MEC系统架构图,如图9所示,该系统可以包括:统一编排功能实体80、VIM81,其中,统一编排功能实体80与图8所示功能实体包括相同部件,且具有相同功能。统一编排功能实体可以为图1或者图2所示的MEPM或MEO。
[0370]
统一编排功能实体80,用于接收部署请求,根据部署请求确定应用程序的部署方式,其中,部署请求用于请求部署应用程序的实例,部署请求包括应用程序的标识ID和编排信息,编排信息用于指示部署应用程序的实例所需的资源,应用程序的部署方式包括容器部署或者虚拟机VM部署;
[0371]
统一编排功能实体80,还用于若应用程序的部署方式为容器部署,则向VIM81发送第一资源分配请求,其中,第一资源分配请求用于请求部署能够运行应用程序的实例的容器所需的资源;或者,若应用程序的部署方式为VM部署,则向VIM81发送第二资源分配请求,其中,第二资源分配请求用于请求部署能够运行应用程序的实例的VM所需的资源;
[0372]
VIM81,用于接收第一资源分配请求,根据第一资源分配请求部署能够运行应用程序的实例的容器;或者,用于接收第二资源分配请求,根据第二资源分配请求部署能够运行应用程序的虚拟机VM。
[0373]
需要说明的是,上述系统架构中各功能实体的具体实施方法可参照上述方法实施例涉及的各步骤的所有相关内容,在此不再赘述。
[0374]
基于图9所示系统,MEPM或者MEO接收到部署应用程序的请求后,可以对接收到的请求进行分析,确定请求部署的应用程序的部署方式(容器部署或者VM部署),若为容器部署,则向VIM发送资源分配请求,请求采用容器部署方式部署应用程序所需的资源,完成应用程序的容器部署;若为VM部署,则向VIM发送资源分配请求,请求采用VM部署方式部署应用程序所需的资源,完成应用程序的VM部署,如此,可以在MEC系统中即可以实现VM部署,又可以实现容器部署。
[0375]
图10为本申请实施例提供的又一种MEC系统架构图,如图10所示,该系统可以包括:统一编排功能实体80、VIM81以及CIM82,其中,统一编排功能实体80与图8所示功能实体包括相同部件,且具有相同功能,统一编排功能实体可以为图1或者图2所示的MEPM或MEO。
[0376]
统一编排功能实体80,用于接收部署请求,根据部署请求确定应用程序的部署方式,其中,部署请求用于请求部署应用程序的实例,部署请求包括应用程序的标识ID和编排信息,编排信息用于指示部署应用程序的实例所需的资源,应用程序的部署方式包括容器部署或者虚拟机VM部署;
[0377]
统一编排功能实体80,还用于若应用程序的部署方式为容器部署,则向VIM81发送 第一资源分配请求,其中,第一资源分配请求用于请求部署能够运行应用程序的实例的容器所需的资源;或者,若应用程序的部署方式为VM部署,则统一编排功能实体80向CIM82发送第二资源分配请求,其中,第二资源分配请求用于请求部署能够运行应用程序的实例的VM所需的资源;
[0378]
VIM81,用于接收第一资源分配请求,根据第一资源分配请求部署能够运行应用程序的实例的容器;
[0379]
CIM82,用于接收第二资源分配请求,根据第二资源分配请求部署能够运行应用程序的虚拟机VM。
[0380]
需要说明的是,上述系统架构中各功能实体的具体实施方法可参照上述方法实施例涉及的各步骤的所有相关内容,在此不再赘述。
[0381]
基于图10所示系统,MEPM或者MEO接收到部署应用程序的请求后,可以对接收到的请求进行分析,确定请求部署的应用程序的部署方式(容器部署或者VM部署),若为容器部署,则向CIM发送资源分配请求,请求采用容器部署方式部署应用程序所需的资源,完成应用程序的容器部署;若为VM部署,则向VIM发送资源分配请求,请求采用VM部署方式部署应用程序所需的资源,完成应用程序的VM部署,如此,可以在MEC系统中即可以实现VM部署,又可以实现容器部署。
[0382]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0383]
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0384]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0385]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0386]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0387]
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

权利要求书

[权利要求 1]
一种部署虚拟机和容器的方法,其特征在于,所述方法包括: 统一编排功能实体接收部署请求,其中,所述部署请求用于请求部署应用程序的实例,所述部署请求包括所述应用程序的标识ID和编排信息,所述编排信息用于指示运行所述应用程序的实例所需的资源; 所述统一编排功能实体根据所述部署请求,确定所述应用程序的部署方式,其中,所述应用程序的部署方式包括容器部署或者虚拟机VM部署。
[权利要求 2]
根据权利要求1所述的方法,其特征在于,所述方法还包括: 若所述应用程序的部署方式为容器部署,则所述统一编排功能实体向架构管理器发送第一资源分配请求,其中,所述第一资源分配请求用于请求部署能够运行所述应用程序的实例的容器所需的资源;或者, 若所述应用程序的部署方式为VM部署,则所述统一编排功能实体向虚拟化基础架构管理器VIM发送第二资源分配请求,其中,第二资源分配请求用于请求部署能够运行所述应用程序的实例的VM所需的资源。
[权利要求 3]
根据权利要求1或2所述的方法,其特征在于,应用程序的ID与应用程序的部署方式间存在对应关系,所述统一编排功能实体根据所述部署请求,确定所述应用程序的部署方式包括: 所述统一编排功能实体根据所述应用程序的ID以及所述对应关系,确定所述应用程序的部署方式。
[权利要求 4]
根据权利要求1或2所述的方法,其特征在于,所述部署请求中还包括部署类型标识,所述部署类型标识用于标识所述应用程序的部署方式,所述统一编排功能实体根据所述部署请求,确定所述应用程序的部署方式包括: 所述统一编排功能实体根据所述部署类型标识,确定所述应用程序的部署方式。
[权利要求 5]
根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括: 所述统一编排功能实体向移动边缘平台MEP发送配置请求,其中,所述配置请求用于请求所述MEP配置运行所述应用程序的实例所遵循的流量规则、域名系统DNS规则。
[权利要求 6]
根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括: 所述统一编排功能实体接收终止请求;所述终止请求包括所述应用程序的ID,所述终止请求用于终止所述应用程序的实例; 若所述应用程序的部署方式为容器部署,则所述统一编排功能实体向架构管理器发送第一资源删除请求,其中,所述第一资源删除请求可以用于请求所述架构管理器删除所述应用程序的实例占用的资源; 若所述应用程序的部署方式为VM部署,则所述统一编排功能实体向VIM发送第二资源删除请求,其中,所述第一资源删除请求可以用于请求VIM删除所述应用程序的实例占用的资源。
[权利要求 7]
根据权利要求1-6任一项所述的方法,其特征在于,所述统一编排功能实体为移动边缘平台管理器MEPM或者移动边缘编排器MEO。
[权利要求 8]
根据权利要求2或6所述的方法,其特征在于,所述架构管理器为所述VIM或者容器基础架构管理器CIM。
[权利要求 9]
一种统一编排功能实体,其特征在于,所述统一编排功能实体包括: 统一编排调度管理模块,用于接收部署请求,并根据所述部署请求,确定应用程序的部署方式,其中,所述部署请求用于请求部署所述应用程序的实例,所述部署请求包括所述应用程序的标识ID和编排信息,所述编排信息用于指示部署所述应用程序的实例所需的资源;所述应用程序的部署方式包括容器部署或者虚拟机VM部署。
[权利要求 10]
根据权利要求9所述的统一编排功能实体,其特征在于,所述统一编排功能实体还包括: 容器编排管理模块,用于若所述统一编排调度管理模块确定所述应用程序的部署方式为容器部署,则向架构管理器发送第一资源分配请求,其中,所述第一资源分配请求用于请求部署能够运行所述应用程序的实例的容器所需的资源; 虚拟机VM调度管理模块,用于若所述统一编排调度管理模块确定所述应用程序的部署方式为VM部署,则向虚拟化基础架构管理器VIM发送第二资源分配请求,其中,所述第二资源分配请求用于请求部署能够运行所述应用程序的实例的VM所需的资源。
[权利要求 11]
根据权利要求9或10所述的统一编排功能实体,其特征在于,应用程序的ID与应用程序的部署方式间存在对应关系,所述统一编排调度管理模块,具体用于: 根据所述应用程序的ID以及所述对应关系,确定所述应用程序的部署方式。
[权利要求 12]
根据权利要求9或10所述的统一编排功能实体,其特征在于,所述部署请求中还包括部署类型标识,所述部署类型标识用于标识所述应用程序的部署方式,所述统一编排调度管理模块,具体用于:根据所述部署类型标识,确定所述应用程序的部署方式。
[权利要求 13]
根据权利要求9-12任一项所述的统一编排功能实体,其特征在于,所述统一编排调度管理模块,还用于向移动边缘平台MEP发送配置请求,其中,所述配置请求用于请求所述MEP配置运行所述应用程序的实例所遵循的流量规则、域名系统DNS规则。
[权利要求 14]
根据权利要求9-13任一项所述的统一编排功能实体,其特征在于, 所述统一编排调度管理模块,还用于接收终止请求;所述终止请求包括所述应用程序的ID,所述终止请求用于终止所述应用程序的实例; 容器编排管理模块,还用于若所述应用程序的部署方式为容器部署,则向架构管理器发送第一资源删除请求,其中,所述第一资源删除请求可以用于请求所述架构管理器删除所述应用程序的实例占用的资源; VM调度管理模块,还用于若所述应用程序的部署方式为VM部署,则所述统一编排功能实体向所述VIM发送第二资源删除请求,其中,所述第一资源删除请求可以用于请求VIM删除所述应用程序的实例占用的资源。
[权利要求 15]
根据权利要求9-14任一项所述的统一编排功能实体,其特征在于,所述统一编排功能实体为移动边缘平台管理器MEPM或者移动边缘编排器MEO。
[权利要求 16]
根据权利要求10或14所述的统一编排功能实体,其特征在于,所述架构管理器为所述VIM或者容器基础架构管理器CIM。
[权利要求 17]
一种多接入边缘计算MEC系统,其特征在于,所述MEC系统包括:统一编排功能实体、虚拟化基础架构管理器VIM; 所述统一编排功能实体,用于接收部署请求,根据所述部署请求确定应用程序的部署方式,其中,所述部署请求用于请求部署所述应用程序的实例,所述部署请求包括所述应 用程序的标识ID和编排信息,所述编排信息用于指示部署所述应用程序的实例所需的资源,所述应用程序的部署方式包括容器部署或者虚拟机VM部署; 当所述应用程序的部署方式为容器部署时,所述统一编排功能实体,还用于向所述VIM发送第一资源分配请求,其中,所述第一资源分配请求用于请求部署能够运行所述应用程序的实例的容器所需的资源;或者,当所述应用程序的部署方式为VM部署时,所述统一编排功能实体,还用于向所述VIM发送第二资源分配请求,其中,所述第二资源分配请求用于请求部署能够运行所述应用程序的实例的VM所需的资源; 所述VIM,用于接收第一资源分配请求,根据第一资源分配请求部署能够运行所述应用程序的实例的容器;或者,用于接收第二资源分配请求,根据所述第二资源分配请求部署能够运行所述应用程序的虚拟机VM。
[权利要求 18]
一种多接入边缘计算MEC系统,其特征在于,所述MEC系统包括:统一编排功能实体、移动边缘编排器MEO、虚拟化基础架构管理器VIM以及容器基础架构管理器CIM; 所述统一编排功能实体,用于接收部署请求,根据所述部署请求确定应用程序的部署方式,其中,所述部署请求用于请求部署所述应用程序的实例,所述部署请求包括所述应用程序的标识ID和编排信息,所述编排信息用于指示部署所述应用程序的实例所需的资源,所述应用程序的部署方式包括容器部署或者虚拟机VM部署; 当所述应用程序的部署方式为容器部署时,所述统一编排功能实体,还用于向所述CIM发送第一资源分配请求,其中,所述第一资源分配请求用于请求部署能够运行所述应用程序的实例的容器所需的资源;或者,当所述应用程序的部署方式为VM部署时,所述统一编排功能实体,还用于向所述VIM发送第二资源分配请求,其中,所述第二资源分配请求用于请求部署能够运行所述应用程序的实例的VM所需的资源; 所述CIM,用于接收第一资源分配请求,根据第一资源分配请求部署能够运行所述应用程序的实例的容器; 所述VIM,用于接收第二资源分配请求,根据所述第二资源分配请求部署能够运行所述应用程序的虚拟机VM。
[权利要求 19]
根据权利要求17或者18所述的MEC系统,其特征在于,所述统一编排功能实体为移动边缘平台管理器MEPM或者移动边缘编排器MEO。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5A]  
[ 图 5B]  
[ 图 6A]  
[ 图 6B]  
[ 图 7A]  
[ 图 7B]  
[ 图 7C]  
[ 图 7D]  
[ 图 7E]  
[ 图 8]  
[ 图 9]  
[ 图 10]