CN114285843B - 应用分发方法、装置、系统、电子设备及可读存储介质 - Google Patents
应用分发方法、装置、系统、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114285843B CN114285843B CN202111467635.9A CN202111467635A CN114285843B CN 114285843 B CN114285843 B CN 114285843B CN 202111467635 A CN202111467635 A CN 202111467635A CN 114285843 B CN114285843 B CN 114285843B
- Authority
- CN
- China
- Prior art keywords
- edge cloud
- app
- application
- image file
- distribution
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000012423 maintenance Methods 0.000 claims description 50
- 238000004590 computer program Methods 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 230000006837 decompression Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 101100456536 Caenorhabditis elegans mec-2 gene Proteins 0.000 description 19
- 238000007726 management method Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 13
- 238000013507 mapping Methods 0.000 description 11
- 230000005856 abnormality Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 101150079143 mec-4 gene Proteins 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241000380131 Ammophila arenaria Species 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 101150016833 mec-3 gene Proteins 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种应用分发方法、装置、系统、电子设备及可读存储介质,该方法包括:获取创建第一应用所需的镜像文件,生成其对应的镜像ID,并向用于创建第一应用的目标边缘云节点上传镜像文件;根据镜像ID配置应用程序APP包,并上传到目标边缘云节点,用于目标边缘云节点创建第一应用;根据APP包的能力配置信息判断其他边缘云节点是否兼容APP包;若是,查询其他边缘云节点中是否存在镜像文件,若存在,生成APP包的分发任务至分发队列中,并基于镜像ID将分发队列对应的APP包和镜像文件进行分发,以使其他边缘云节点根据APP包和镜像文件创建第一应用。这样,节约人工成本,而且应用自动分发,提高灵活性和处理效率。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及应用分发方法、装置、系统、电子设备及可读存储介质。
背景技术
随着云计算技术的发展,边缘云被广泛应用在物联网等移动通信技术领域,5G边缘云,有面向业务层的应用向异地分发和部署的需求,在典型的边缘云场景下,通常是包含若干边缘云节点和一个中心云节点。其中,边缘云节点提供计算、存储、网络等云计算资源能力,中心云节点对边缘节云点进行统一管理。然而,受制于边缘云节点规划或者建设进度的不一致,其能提供的网络、5G能力、GPU能力可能也不一致,造成一些特殊需求的应用,不能如同在一个同构的云环境中直接分发到其他节点启动。
现有技术中,一种方法可以通过完成中心云部署,在中心云按照网络规划生成并导出边缘云的配置文件,然后手动将配置文件分发镜像到目标云环境中,进一步的,手动构建应用;另一种方法可以通过采用全局镜像库或假设镜像已分发至目标云环境的方式,将所对应的镜像和能力配置(即软硬件资源)按照规范描述定义起来,例如利用IaaS云Openstack的TOSCA模板或CaaS云Kubnetes的Helm Chars描述定义起来,得到描述定义信息并将该描述定义信息分发到目标云环境中,经过映射转换功能模块的提取、映射、连接至目标环境中,实现应用的启动。
但是,上述第一种方法需要人工介入,处理效率差,第二种方法不可以镜像自动分发,灵活性较差,而且利用全局镜像库的方式会造成较大的中心存储和网络带宽的成本,运维运营无法高效进行。
发明内容
本申请提供一种应用分发方法、装置、系统、电子设备及可读存储介质,应用于中心云节点,可以节约人工成本,提高处理效率,且镜像自动分发,提高灵活性,使得运维运营高效进行
第一方面,本申请提供一种应用分发方法,应用于中心云节点,所述方法包括:
获取创建第一应用所需的镜像文件,生成所述镜像文件对应的镜像ID,并向用于创建第一应用的目标边缘云节点上传所述镜像文件;
根据镜像ID配置应用程序APP包,向所述目标边缘云节点上传所述APP包,用于所述目标边缘云节点基于所述APP包和所述镜像文件创建所述第一应用;
根据所述APP包的能力配置信息判断其他边缘云节点是否兼容所述APP包;
若兼容,则查询所述其他边缘云节点中是否存在所述镜像文件,如果存在,生成所述APP包的分发任务存储至分发队列中,并基于所述镜像ID将分发队列对应的所述APP包和所述镜像文件分发至所述其他边缘云节点,以使所述其他边缘云节点根据所述APP包和所述镜像文件创建第一应用。
可选的,所述镜像文件包括镜像数据或统一资源定位符URL地址,所述URL地址为云端存储镜像数据的IP地址;获取创建第一应用所需的镜像文件,生成所述镜像文件对应的镜像ID,并向用于创建第一应用的目标边缘云节点上传所述镜像文件,包括:
获取所述目标边缘云节点的镜像仓库信息和创建第一应用所需的镜像文件,并根据所述镜像文件生成所述镜像文件对应的镜像ID;
基于所述镜像ID和所述镜像仓库信息,生成分发镜像的任务到分发队列中;
基于异步的方式将所述分发队列对应的所述镜像文件上传至所述目标边缘云节点。
可选的,根据镜像ID配置应用程序APP包,向所述目标边缘云节点上传所述APP包,包括:
基于所述镜像ID和经过运维人员输入并压缩后的能力配置信息配置APP包;
对所述APP包进行解压,得到能力配置信息,基于所述能力配置信息检查所述APP包与目标边缘云节点是否相互兼容;
若是,则调用所述目标边缘云节点的操作端口,将所述APP包上传到所述目标边缘云节点的应用包仓库中;
若否,则阻止所述APP包的上传,并向运维人员发送第一提示信息,用于提示所述APP包上传异常。
可选的,所述方法还包括:
将所述APP包的能力配置信息与所述目标边缘云节点的对应关系存储到中心数据库;
相应的,根据所述APP包的能力配置信息判断其他边缘云节点是否兼容所述APP包,包括:
接收分发操作,并基于所述分发操作从中心数据库中提取与所述目标边缘云节点的对应的解压所述APP包后的能力配置信息;
基于所述能力配置信息判断其他边缘云节点是否兼容所述APP包。
可选的,基于所述镜像ID将分发队列对应的所述APP包和所述镜像文件分发至所述其他边缘云节点,包括:
基于所述镜像ID找到其对应的所述镜像文件,根据所述镜像文件对分发队列中APP包的分发任务添加相应的标识并进行分组去重处理;所述标识用于监控所述APP包的分发状态;
通过异步的方式将经过分组去重处理的APP包和所述镜像文件分发至所述其他边缘云节点。
可选的,所述方法还包括:
若查询所述其他边缘云节点中不存在所述镜像文件,则基于所述镜像文件生成分发镜像的任务存储至分发队列中,并根据所述镜像ID调用所述APP包,将所述APP包和所述镜像文件分发至所述其他边缘云节点。
可选的,基于所述镜像文件生成分发镜像的任务存储至分发队列中,并根据所述镜像ID调用所述APP包,将所述APP包和所述镜像文件分发至所述其他边缘云节点,包括:
获取所述其他边缘云节点的镜像仓库信息,并基于所述镜像文件调用所述镜像文件对应的镜像ID;
基于所述镜像ID和所述镜像仓库信息,生成分发镜像的任务到分发队列中;
基于异步的方式将所述分发队列对应的所述镜像文件上传至所述其他边缘云节点;
基于所述镜像ID调用所述APP包,并将所述APP包和所述镜像文件分发至所述其他边缘云节点。
可选的,所述方法还包括:
若根据所述APP包的能力配置信息确定其他边缘云节点不兼容所述APP包,则标记所述APP包且阻止所述APP包的分发,并向运维人员发送第二提示信息,用于提示所述APP包分发异常。
可选的,所述方法还包括:
从中心数据库中获取各个边缘云节点的第一能力配置信息,将所述第一能力配置信息与所述APP包的能力配置信息进行匹配,得到所述APP包与特定节点的兼容匹配结果;
将所述兼容匹配结果与地理信息相关联,以地图的方式展现给运维人员。
第二方面,本申请还提供了一种应用分发装置,所述装置包括:
获取模块,用于获取创建第一应用所需的镜像文件,生成所述镜像文件对应的镜像ID,并向用于创建第一应用的目标边缘云节点上传所述镜像文件;
上传模块,用于根据镜像ID配置应用程序APP包,向所述目标边缘云节点上传所述APP包,用于所述目标边缘云节点基于所述APP包和所述镜像文件创建所述第一应用;
判断模块,用于根据所述APP包的能力配置信息判断其他边缘云节点是否兼容所述APP包;
分发模块,用于当其他边缘云节点兼容所述APP包时,查询所述其他边缘云节点中是否存在所述镜像文件,如果存在,生成所述APP包的分发任务存储至分发队列中,并基于所述镜像ID将分发队列对应的所述APP包和所述镜像文件分发至所述其他边缘云节点,以使所述其他边缘云节点根据所述APP包和所述镜像文件创建第一应用。
第三方面,本申请还提供了一种应用分发系统,所述系统包括:中心云节点和多个边缘云节点,所述中心云节点,用于执行如第一方面任一项所述的应用分发方法;
所述边缘云节点,用于接收所述中心云节点发送的APP包和镜像文件并创建对应的应用。
第四方面,本申请还提供了一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中任一项所述的方法。
第五方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面任一项所述的应用分发方法。
综上所述,本申请提供一种应用分发方法、装置、系统、电子设备及可读存储介质,应用于中心云节点,可以通过获取创建第一应用所需的镜像文件,生成镜像文件对应的镜像ID,并向用于创建第一应用的目标边缘云节点上传镜像文件;进一步的,可以根据镜像ID配置APP包,并向目标边缘云节点上传APP包,用于目标边缘云节点基于APP包和镜像文件创建第一应用;进一步的,还可以根据APP包的能力配置信息判断其他边缘云节点是否兼容该APP包;若其他边缘云节点兼容该APP包,则进一步的查询其他边缘云节点中是否存在镜像文件,如果存在对应的镜像文件的话,则直接生成APP包的分发任务存储至分发队列中,并基于镜像ID将分发队列对应的APP包和镜像文件分发至其他边缘云节点,以使其他边缘云节点根据APP包和镜像文件创建第一应用。这样,可以节约人工成本,提高处理效率,且镜像文件自动分发,提高创建第一应用的灵活性,使得运维运营可以高效进行。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种应用分发系统的结构框图;
图3为本申请实施例提供的一种应用分发方法的流程示意图;
图4为本申请实施例提供的一种选择目标边缘云节点的流程示意图;
图5为本申请实施例提供的一种上传镜像文件的流程示意图;
图6为本申请实施例提供的一种配置APP包的流程示意图;
图7为本申请实施例提供的一种启动APP包的流程示意图;
图8为本申请实施例提供的一种将APP包分发到其他边缘云节点的流程示意图;
图9为本申请实施例提供的一种应用匹配覆盖度的场景示意图;
图10为本申请实施例提供的一种应用分发装置的结构示意图;
图11为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一设备和第二设备仅仅是为了区分不同的设备,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
下面结合附图对本申请实施例进行介绍。图1为本申请实施例提供的一种应用场景示意图,本申请提供的一种应用分发方法可以应用于如图1所示的应用场景中。该应用场景包括:边缘云1,边缘云2,中心云,第一终端设备101,第二终端设备102,云系统平台103和运维人员104;第一终端设备101在区域A内使用定位功能时,可以直接向区域A内的边缘云1发送请求,调用边缘云1上的定位应用为第一终端设备101提供定位服务,可以理解的是,该定位应用可以是运维人员104基于中心云通过操作云系统平台103在边缘云1上创建的首个应用,也可以是中心云将其他边缘云上的应用程序APP包和镜像文件分发到边缘云1上创建的应用。
具体的,以运维人员104基于中心云通过操作云系统平台103在边缘云1上创建的首个应用为例,运维人员104选择边缘云1作为目标边缘云节点,并通过操作云系统平台103在边缘云1上创建定位应用,这样,第一终端设备101可以在区域A内调用边缘云1上的定位应用使用定位服务,进一步的,中心云还可以将定位应用的APP包和镜像文件分发到边缘云2上,边缘云2根据该APP包和镜像文件创建定位应用,这样,第二终端设备102便可以在区域B内调用边缘云2上的定位应用使用定位服务。
需要说明的是,本申请对运维人员104基于中心云通过操作云系统平台103在边缘云上创建应用的类型和数量不作具体限定,其中,云系统平台103是在虚拟机平台或容器平台上建立的操作平台,而在云系统平台103上的应用,需要基于虚拟机平台或容器平台才可以运行,因此,本申请实施例对在云系统平台103上的建立的是虚拟机应用或者容器应用的类型不作具体限定。
可以理解的是,本申请的应用场景还可以包括多个边缘云,中心云可以自动向其他多个边缘云分发APP包和镜像文件,用于创建相应的应用,本申请实施例对此不作具体限定。
上述终端设备可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(Radio Access Network,简称RAN)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(Personal Communication Service,简称PCS)电话、无绳电话、会话发起协议(Session Initiation Protocol,简称SIP)话机、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字助理(Personal Digital Assistant,简称PDA)等设备。无线终端也可以称为系统、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(MobileStation)、移动台(Mobile)、远程站(Remote Station)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(User Agent)、用户设备(User Device or User Equipment),在此不作限定。可选的,上述终端设备还可以是智能手表、平板电脑等设备。
在一些实施例中,可以通过完成中心云部署,在中心云按照网络规划生成并导出边缘云的配置文件,然后手动将配置文件分发镜像到目标云环境中,进一步的,手动构建应用。
但是,上述方法采用先分发镜像后手动就地构建应用的方法,虽然可以解决异构环境下的应用能力配置不兼容的问题,但期间需要人工介入,处理效率差。
在另一些实施例中,可以通过采用全局镜像库或假设镜像已分发至目标云环境的方式,将所对应的镜像和能力配置(即软硬件资源)按照规范描述定义起来,例如利用IaaS云Openstack的TOSCA模板或CaaS云Kubnetes的Helm Chars描述定义起来,得到描述定义信息并将该描述定义信息分发到目标云环境中,经过映射转换功能模块的提取、映射、连接至目标环境中,实现应用的启动。
上述方法采用类似于TOSCA模板规范描述应用定义的方式部署应用,可以部分解决应用在异云间运行的一致性和兼容性的问题,但是,不可以进行镜像自动分发,灵活性较差;而且在采用全局镜像库的方式,可能会造成较大的中心存储和网络带宽的成本,因为APP在每个边缘云节点初次实例化时都需要下载一次镜像,使得运维运营无法高效进行。
因此,本申请提供一种应用分发方法,应用于中心云节点,可以通过获取创建应用所需的镜像文件和配置应用程序APP包,预先获知应用能否在目标边缘云节点运行的兼容性信息,从而实现APP包及其镜像文件同时分发至目标边缘云节点,使得应用能自动地在异节点上完成创建的过程,进一步的,还可以将APP包及其镜像文件自动下发到其他边缘云节点,使其他边缘云节点根据APP包和镜像文件创建应用。在构建应用时,不需要人工的介入,节省人工成本,提高处理效率,而且镜像可以自动分发,提高灵活性,使得运维运营可以高效进行。
为了更好地理解本申请实施例,下面首先结合图2对适用于本申请提供的应用分发的系统的结构作简单说明,图2为本申请实施例提供的一种应用分发系统的结构框图。
如图2所示,中心云管区包括Dashboard/API Service组件,中心云管控制单元和数据库,其中,中心云管控制单元包括分发队列组件,应用能力匹配模块和能力信息收集模块;边缘云管区(MEC-1至MEC-n)包括信息与通信技术增值服务(Information Technologyand Communications Technology-Value-as-a-Service,ICT-VaaS)组件,边缘接入协同平台(Multi-Access Edge Platform,MEP),用户面功能(User Plane Function,UPF)组件,应用包仓库,镜像仓库,基础设施即服务(Infrastructure-as-a-Service,IaaS)/通讯即服务(Communications-as-a-Service,CaaS)平台和边缘云管控制单元,其中,边缘云管控制单元包括应用能力匹配模块,配置信息映射模块和能力信息模块。
具体的,中心云管区,用于负责边缘云系统中服务管理、编排相关服务的完整部署,Dashboard/API Service组件,可以为运维人员提供操作入口/端点,还可以将运维人员发送的请求转发给中心云管控制单元进行处理,并将返回信息反馈给运维人员;数据库,用于保存边缘云系统的各个资源以及资源与边缘云节点的对应关系等,数据库可以为关系数据库或非关系型的数据库;中心云管控制单元可以指的是一系列部署在中心云管区的软件服务,负责管理和编排整个边缘云系统,并把应用运行相关地请求转发给边缘云节点去处理。
分发队列组件为应用包和镜像分发同步的异步处理队列,支持对已经打有各个标签的分发任务进行去重分组,并采用异步的方式调用边缘云节点上的分发应用程序接口(Application Programming Interface,API)实现镜像和应用包的一同分发,并可以将其分发状态存储至数据库中。
应用能力匹配模块,用于从数据库中提取应用能力配置要求(即能力配置信息),将其与边缘云节点上报的能力配置信息相匹配,并报告匹配兼容信息;能力信息收集模块,用于通过轮询的范式采集各个边缘云节点的能力配置信息,并保存到数据中。
边缘云管区,可以用于部署不同地区的边缘云机房,包含有IaaS/CaaS等云平台、MEP组件、UPF组件等;其中,MEP组件为边缘云接入协同平台,用于负责管理边缘业务,承担着多接入边缘计算(Multi-Access Edge Computing,MEC)边缘云中“云、网、边、端、业”的核心交互工作,例如负责连接边缘云平台和UPF的网络功能;UPF组件为用户面功能组件,即边缘用户侧,如手机终端,边缘云内部应用服务,包括客户MEC应用,ICT-VaaS服务数据的承载转发面和边缘云ICT增值服务,例如拨测和5G定位服务,主要以Restful API服务的方式,向本地边缘云中的客户/客户程序服务提供相关服务;应用包仓库,用于保存APP包;镜像仓库,用于保存应用镜像,对于虚拟机应用使用Glance仓库,容器应用使用Harbor仓库。
配置信息映射模块,用于在实例化应用时,负责将APP包中的能力配置信息进行规范,根据本地节点上的具体的能力配置功能,映射生成后端IaaS/CaaS能处理的部署模板;能力信息模块,可以用于读取配置、从下级服务采集等方式收集并汇总本节点的能力配置信息,并以统一的格式向请求者(其他边缘云节点)提供本节点的能力配置信息。
可以理解的是,中心云管控制单元中的能力信息收集模块可以从MEC-1边缘云管区中的能力信息模块中收集能力配置信息(1-a),进一步的,分发队列组件可以将能力配置信息(1-a)分发到MEC-2至MEC-n边缘云管区上,相应的,MEC-2至MEC-n可以将该(1-a)存储至边缘云管控制单元中的能力信息模块中。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图3为本申请实施例提供的一种应用分发方法的流程示意图;本实施例的方法应用于中心云节点,可以由应用分发系统执行。如图3所示,本实施例的方法,可以包括:
S301、获取创建第一应用所需的镜像文件,生成所述镜像文件对应的镜像ID,并向用于创建第一应用的目标边缘云节点上传所述镜像文件。
本申请实施例中,第一应用可以指的用户创建的首个应用,可以为定位服务应用,5G网络应用等等,镜像文件可以指的是将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例如一个操作系统、游戏等,镜像文件是无法直接使用的,需要利用一些虚拟光驱工具进行解压后才能使用,镜像文件的格式可以有.iso、.img、.bin、.nrg、.vcd、.cif、.fcd、.ccd、.c2d、.dfi、.tao、.dao和.cue等,本申请实施例对镜像文件的格式不作具体限定,但是不同的云系统平台对应的镜像文件格式不同。
本申请实施例中,镜像ID可以指的是为镜像文件添加的一一对应的标识,在知道镜像ID是多少时,便可以通过镜像ID找到其对应的镜像文件,例如,镜像ID的形式可以为镜像名和镜像格式tag。本申请实施例对镜像ID的具体形式不作限定,例如,某个镜像文件对应的镜像ID也可以为数字“1”和编码“0010”,但是在本申请实施例中每个镜像ID都是唯一的。
示例性的,图4为本申请实施例提供的一种选择目标边缘云节点的流程示意图,如图4所示,用户(指运维人员)选择一个目标边缘云节点,即选择了MEC-1节点,进一步的,中心云节点获取创建定位服务应用所需的镜像文件,例如,该镜像文件为定位操作系统的文件,进一步的,可以生成该定位操作系统的文件对应的镜像ID,并向用于创建定位服务应用的MEC-1节点上传镜像文件。
S302、根据镜像ID配置应用程序APP包,向所述目标边缘云节点上传所述APP包,用于所述目标边缘云节点基于所述APP包和所述镜像文件创建所述第一应用。
本申请实施例中,APP包可以指的是预先编制好的、能完成一定功能的成套软件系统,可以用于某平台基于所述APP包安装对应的应用程序。
在本步骤中,运维人员可以上传或者制作APP包,该APP包与镜像文件存在对应关系。
示例性的,在图1的应用场景下,运维人员根据镜像ID知道其对应的镜像文件,例如,该镜像文件为定位操作系统的文件,则运维人员104基于中心云通过操作云系统平台103上传与定位操作系统相关的APP包,并向边缘云1上传该APP包,用于边缘云1基于该APP包和定位操作系统的文件在边缘云1创建定位服务应用。
S303、根据所述APP包的能力配置信息判断其他边缘云节点是否兼容所述APP包。
本申请实施例中,能力配置信息可以指的是软硬件资源信息,包括需要的网络、存储装置、处理器类型、图像处理器(Gaphics Processing Unit,GPU)类型、MEP/UPF提供的ICT-VaaS能力等。
在本步骤中,判断其他边缘云节点是否兼容APP包,可以通过综合性的系统检测分析工具检测APP包在操作系统的统一调度下协调工作发挥性能互不排斥,也可以通过平台测试系统检测APP包是否可以成功安装在平台上,本申请实施例对检测APP包与边缘云节点的兼容性的方式不作具体限定。
示例性的,以其他边缘云节点为MEC-2边缘云节点为例,在中心云节点将MEC-1边缘云节点上的APP包分发到MEC-2边缘云节点时,中心云节点的中心云管区控制单元从数据库中提取出APP包的能力配置信息,进一步的,根据该能力配置信息判断MEC-2边缘云节点是否兼容该APP包。
S304、若兼容,则查询所述其他边缘云节点中是否存在所述镜像文件,如果存在,生成所述APP包的分发任务存储至分发队列中,并基于所述镜像ID将分发队列对应的所述APP包和所述镜像文件分发至所述其他边缘云节点,以使所述其他边缘云节点根据所述APP包和所述镜像文件创建第一应用。
在本步骤中,其他边缘云节点的数量可以为多个,且每个其他边缘云节点可以请求调用的APP包的类型和数量也可以为多个,以其他边缘云节点为MEC-2边缘云节点为例,若MEC-2边缘云节点请求多个APP包,则中心云节点在生成多个APP包的分发任务后,会将该多个任务存储至分发队列中进行分发。
一种可能的实现方式中,若其他边缘云节点为MEC-2至MEC-4边缘云节点,MEC-2边缘云节点请求一个APP包,MEC-3和MEC-4请求其他不同的APP包,则中心云节点可以生成每个边缘云节点相应的APP包的分发任务并将这些任务存储至分发队列中进行分发。
可以理解的是,若MEC-3和MEC-4请求其他的APP包与MEC-2边缘云节点请求的APP包对应的镜像文件为同一个,则可以进行分组去重,即中心云节点最终基于该镜像文件只生成一个APP包,然后以异步的形式将镜像文件和APP包分发到MEC-2至MEC-4边缘云节点上。
示例性的,在图1的应用场景下,若中心云根据APP包的能力配置信息判断边缘云2兼容该APP包,则查询边缘云2中是否存在该APP包对应的镜像文件,如果存在该镜像文件的话,则生成该APP包的分发任务存储至分发队列中,并基于镜像ID找到其对应的镜像文件,并将分发队列对应的APP包和镜像文件分发至边缘云2上,相应的,边缘云2根据APP包和镜像文件创建应用。
因此,本申请实施例提供的应用分发方法,在构建应用时,可以节约人工成本,提高处理效率,且镜像文件可以自动分发,提高创建第一应用的灵活性,使得运维运营可以高效进行。
可选的,所述镜像文件包括镜像数据或统一资源定位符URL地址,所述URL地址为云端存储镜像数据的IP地址;获取创建第一应用所需的镜像文件,生成所述镜像文件对应的镜像ID,并向用于创建第一应用的目标边缘云节点上传所述镜像文件,包括:
获取所述目标边缘云节点的镜像仓库信息和创建第一应用所需的镜像文件,并根据所述镜像文件生成所述镜像文件对应的镜像ID;
基于所述镜像ID和所述镜像仓库信息,生成分发镜像的任务到分发队列中;
基于异步的方式将所述分发队列对应的所述镜像文件上传至所述目标边缘云节点。
本申请实施例中,异步的方式可以指的是在发送方将请求发送到接收发,可以不需要等待调用返回结果便可用继续执行后续操作,但是需要进行局部缓冲区刷新。
在本步骤中,镜像文件包括镜像数据或统一资源定位符URL地址,URL地址为云端存储镜像数据的IP地址;其中,镜像数据可以指的是需要创建某个应用所需的一系列文件,例如软硬件数据,镜像相关信息等,而云端存储镜像数据的IP地址可以用于运维人员输入一个IP地址,进一步的,中心云节点可以基于该IP地址调用一个公有云或私有云平台中的预先存储的镜像数据,例如,该云端可以为阿里云,该地址为swift对象存储的地址。
示例性的,图5为本申请实施例提供的一种上传镜像文件的流程示意图,如图5所示,用户通过Dashboard/API接口上传应用镜像(即镜像文件)到目标边缘云节点时,中心云管控制单元在分析镜像的合法性后,从数据库或者通过API获取到MEC-1节点的镜像仓库信息,例如,Endpoint信息和认证信息,并且获取创建第一应用所需的镜像文件,根据镜像文件生成镜像ID,进一步的,根据镜像ID和镜像仓库信息生成一个透传(即分发)镜像的任务到分发队列中,进一步的,分发队列基于异步的方式将镜像文件上传至MEC-1的镜像仓库中。在镜像文件上传成功后,还可以保存镜像文件、以及镜像文件与MEC-1的对应关系到中心云管区的仓库中,最终,将镜像ID反馈给用户,便于用户在后续制作/上传APP包时,在APP包配置文件里面带上该镜像ID,表明该镜像文件为此APP包的部署镜像。
需要说明的是,中心云管区可从对象存储URL地址中打开取得镜像文件的文件流句柄,同时打开MEC-1节点的镜像仓库文件流句柄,以流处理的方式,即边上传边下载存储的方式将镜像文件上传到MEC-1的仓库中。
因此,本申请可以基于异步的方式将分发队列对应的镜像文件上传至目标边缘云节点中,提高的上传速率,减少中心存储和网络带宽的成本。
可选的,在镜像文件上传成功后,运维人员可以上传或者制作APP包,图6为本申请实施例提供的一种配置APP包的流程示意图,如图6所示,以用户(运维人员)上传APP包为例,用户通过Dashboard/API接口向中心云节点上传APP包,相应的,在中心云节点收到APP包后,对其解压获取APP包里面的能力配置信息,进一步检查应用包与节点能力兼容性、合法性等,若合法性和兼容性检查通过后,则调用MEC-1节点的API接口,将APP包上传到MEC-1的应用包仓库中进行保存,并提取应用包(即APP包)与镜像(即镜像文件)的关联镜像信息保存到中心数据库,方便后续找分发应用时快速提取出来依赖镜像。
可选的,根据镜像ID配置应用程序APP包,向所述目标边缘云节点上传所述APP包,包括:
基于所述镜像ID和经过运维人员输入并压缩后的能力配置信息配置APP包;
对所述APP包进行解压,得到能力配置信息,基于所述能力配置信息检查所述APP包与目标边缘云节点是否相互兼容;
若是,则调用所述目标边缘云节点的操作端口,将所述APP包上传到所述目标边缘云节点的应用包仓库中;
若否,则阻止所述APP包的上传,并向运维人员发送第一提示信息,用于提示所述APP包上传异常。
本申请实施例中,第一提示信息可以用于指示APP包上传异常的情况,而发送第一提示信息的方式,本申请实施例对此不作具体限定,可以为在云系统平台所携带的显示屏上显示一个消息提示框,该消息提示框显示“APP包上传异常”,以提示运维人员基于第一提示信息及时查找APP包上传异常的节点的问题,也可以为云系统平台向运维人员终端设备上发送一条消息提示,该消息提示为“APP包上传异常”,进一步的,在运维人员终端设备的显示屏上显示该消息提醒,以运维人员基于第一提示信息及时查找APP包上传异常的节点的问题。
在本步骤中,APP包中包括能力配置信息,该能力配置信息可以是运维人员输入并压缩或者是运维人员输入后系统自动进行压缩的,而运维人员在配置APP包时,利用的是将能力配置信息按照一个约定的规范分拆保存在多个文件中,并使用tar/zip包形式打包到一起,方便管理和分发。下面以一个运行于Openstack IaaS环境上的虚拟机(VirtualMachine,VM)应用的APP包里面的内容为例,对其进行压缩打包,该APP包内包含有一个名为“capabilities.yml”的文件,里面的内容用于描述应用的特殊能力配置信息,其部分代码如下:
其中,{{PROVIDER_EXTERNAL}}为一个直连外部的外部网络,因此需将“5g-location.unicom.mec”这个本地域名记录绑定给应用--即边缘云外部终端UE可直接通过该域名访问到应用服务,这里的{{PROVIDER_EXTERNAL}}是模板占位符,而实际网络ID,需通过“配置信息映射模块”负责映射;本申请中可以将能力配置信息拆分为多种类型,一个类型为NVIDIA_P100类型的GPU设备;一个类型为容量为2TB essd(增强固态硬盘SSD)虚拟块存储。一个类型为MEC内部提供的indoor_location室内定位ICT-VaaS增值服务,该增值服务将开放相关的Restfull API服务给该应用使用。可以理解的是,在实际拆分过程中,需要按照实际情况进行拆分,上述代码中的类型可以相互组合。
示例性的,在图1的应用场景下,在运维人员通过中心云节点的API/Dashboard端上传创建某个应用所需的镜像文件后,云系统平台103可以基于镜像文件生成其对应的镜像ID,进一步的,基于该镜像ID和经过运维人员输入的能力配置信息配置APP包;然后再对APP包进行解压,得到能力配置信息,进一步的,基于能力配置信息检查APP包与边缘云1是否相互兼容;若是,则调用边缘云1的操作端口,将APP包上传到边缘云1的应用包仓库中;若否,则阻止APP包的上传,并向云系统平台103发送第一提示信息,相应的,在云系统平台103所携带的显示屏上显示一个消息提示框,该消息提示框显示“APP包上传异常”,以提示运维人员基于第一提示信息及时查找APP包上传异常的节点的问题。
因此,可以自动向目标边缘云节点上传APP包,提高处理效率,节省处理时间。
可以理解的是,目标边缘云节点在获取APP包后,会对该APP包进行解压,得到能力配置信息,基于能力配置信息检查APP包与自身是否相互兼容;若是,则通过模板替换的方式将APP包配置成部署模板,并将部署模板发送给后端平台,进一步的,后端平台创建第一应用;若否,则向运维人员发送提示信息,用于提示创建第一应用失败。
其中,APP包的部署编排部分主要包含在“deploy.yml”文件中,其内容是用于部署的中间代码,须结合“capabilities.yml”中的能力配置信息,通过“配置信息映射模块”的映射成Openstack支持的编排代码,最终交由Heat服务应用实例的部署创建。
下面以APP包“deploy.yml”文件中的内容,结合“capabilities.yml”能力配置要求文件为例,表明该APP包是一个拥有32vcpu、32G内存、50G系统盘、一个2T容量的essd数据盘、一个NVIDIA_P100类型的GPU、一个能直连外部网的以及能调用室内定位ICT-VaaS增值服务的虚拟机应用,其部分代码如下:
示例性的,图7为本申请实施例提供的一种启动APP包的流程示意图,如图7所示,以目标边缘云节点以MEC-1边缘云节点为例,用户通过Dashboard/API接口启动APP包时,该动作会转发给MEC-1边缘云节点的控制单元,进一步的,MEC-1边缘云节点的控制单元在部署前会检查APP包的能力兼容性,如果检查结果为不具有兼容性,则将失败信息直接回传给用户,如果检查为具有兼容性,则“配置信息映射模块”可以通过模板替换的方式,将映射转化应用包配置成最终的IaaS层使用的编排模板,进一步的,将编排模板交给后端的IaaS后端服务,IaaS后端服务负责第一应用的创建。
可选的,所述方法还包括:
将所述APP包的能力配置信息与所述目标边缘云节点的对应关系存储到中心数据库;
相应的,根据所述APP包的能力配置信息判断其他边缘云节点是否兼容所述APP包,包括:
接收分发操作,并基于所述分发操作从中心数据库中提取与所述目标边缘云节点的对应的解压所述APP包后的能力配置信息;
基于所述能力配置信息判断其他边缘云节点是否兼容所述APP包。
在本步骤中,边缘云节点的“能力信息模块”可以周期性地收集本节点相关的能力配置信息。“能力信息模块”对外实现通过一个Restful API的接口,例如API请求接口的形式为“Endpoint是/info”,进一步的,边缘云节点不仅可以请求该API,此时会返回自身一个约定的规范能力信息,还可以由中心云管区的“能力信息收集模块”周期性地去请求该API,轮询获取每个边缘云节点的能力配置信息并汇总,保存在中心云管区地数据库里备用,其通过API接口采集能力配置信息的部分代码如下:
示例性的,以其他边缘云节点为MEC-2边缘云节点为例,运维人员在中心云节点的API/Dashboard端触发分发动作,进一步的,中心云节点接接收该分发动作,并通过中心云管区控制单元从数据库中提取出APP的能力配置信息,进一步的,中心云管区控制单元的“应用能力匹配模块”检查边缘云节点的环境能否满足该APP包的能力配置要求,即基于能力配置信息判断MEC-2边缘云节点是否兼容该APP包。
因此,本申请可以通过判断其他边缘云节点是否兼容APP包来向其他边缘云节点分发APP包,提高APP包分发的准确性和安全性。
可选的,基于所述镜像ID将分发队列对应的所述APP包和所述镜像文件分发至所述其他边缘云节点,包括:
基于所述镜像ID找到其对应的所述镜像文件,根据所述镜像文件对分发队列中APP包的分发任务添加相应的标识并进行分组去重处理;所述标识用于监控所述APP包的分发状态;
通过异步的方式将经过分组去重处理的APP包和所述镜像文件分发至所述其他边缘云节点。
本步骤中,去重处理是基于镜像文件将重复的APP包去除,避免创建重复的APP包,节省资源,例如,运维人员1触发创建APP包1,运维人员2触发创建APP包2,但是APP包1和APP包2对应同一个镜像文件,则最后基于镜像文件只会生成一个APP包。
示例性的,图8为本申请实施例提供的一种将APP包分发到其他边缘云节点的流程示意图,如图8所示,以其他边缘云节点为MEC-2边缘云节点为例,在用户分发APP包到MEC-2边缘云节点时,中心云管区控制单元从数据库中提取出APP的能力配置信息,进一步的,中心云管区控制单元通过应用能力匹配模块检查目标节点是否满足应用包配置能力要求,如果没有满足,则说明APP包分发失败。
如果目标节点满足应用包配置能力要求,则中心云管控制单元检查镜像是否存在于MEC-2边缘云节点上,如果否,则生成一个镜像分发任务加入到分发队列中,并根据镜像ID调用APP包,将APP包和镜像文件分发至MEC-2边缘云节点上,如果是,则将APP包分发任务加入到分发队列中,进一步的,中心云管控制单元对任务进行去重分组,并异步执行分发队列中的任务,若任务执行成功,则说明APP包分发成功,若任务执行失败,则标记APP包分发失败。
因此,本申请可以基于镜像ID自动分发APP包和镜像文件至其他边缘云节点,以使其他边缘云节点根据APP包和镜像文件创建第一应用,提高灵活性,节省人工部署时间。
可以理解的是,其他边缘云节点在接收到APP包后,可以对APP包进行解压,得到能力配置信息,基于能力配置信息检查APP包与自身是否相互兼容;若是,则调用其他边缘云节点的操作端口,将APP包上传到其他边缘云节点的应用包仓库中,并基于分发APP包在其他边缘云节点上创建第一应用;若否,则可以标记APP包,并向运维人员发送提示信息,用于提示下发APP包失败。
可选的,所述方法还包括:
若查询所述其他边缘云节点中不存在所述镜像文件,则基于所述镜像文件生成分发镜像的任务存储至分发队列中,并根据所述镜像ID调用所述APP包,将所述APP包和所述镜像文件分发至所述其他边缘云节点。
示例性的,以其他边缘云节点为MEC-2边缘云节点为例,在图8的实施例中,中心云管区通过调用API询问MEC-2边缘云节点该APP包所依赖的镜像文件是否已经存在于MEC-2边缘云节点上,如果否则生成一个分发镜像的任务放入到分发队列中,并可以根据镜像文件对应的镜像ID调用APP包,进一步的,将APP包和镜像文件分发至其他边缘云节点上。
因此,本申请还可以解决APP包所依赖的镜像文件不存在于其他边缘云节点的问题,提高灵活性,具有更广的应用性。
可选的,基于所述镜像文件生成分发镜像的任务存储至分发队列中,并根据所述镜像ID调用所述APP包,将所述APP包和所述镜像文件分发至所述其他边缘云节点,包括:
获取所述其他边缘云节点的镜像仓库信息,并基于所述镜像文件调用所述镜像文件对应的镜像ID;
基于所述镜像ID和所述镜像仓库信息,生成分发镜像的任务到分发队列中;
基于异步的方式将所述分发队列对应的所述镜像文件上传至所述其他边缘云节点;
基于所述镜像ID调用所述APP包,并将所述APP包和所述镜像文件分发至所述其他边缘云节点。
示例性的,在图1的应用场景下,若边缘云1已经创建第一应用,且第一应用对应的APP包为定位服务包,其对应的镜像文件为定位操作系统的文件,则云系统平台103可以获取边缘云2的镜像仓库信息,并基于定位操作系统的文件调用该文件对应的镜像ID;进一步的,基于镜像ID和镜像仓库信息,生成分发镜像的任务到分发队列中;进一步的,基于异步的方式将分发队列对应的文件上传至边缘云2;基于镜像ID调用定位服务包,并将定位服务包和定位操作系统的文件分发至边缘云2。
可以理解的是,在调用APP包时,已经对APP包进行了去重处理,故该步骤为基于异步的方式将经过分组去重处理的APP包和镜像文件分发至其他边缘云节点。
因此,本申请提供的方法可以通过镜像ID调用APP包的方式,将APP包和镜像文件分发至其他边缘云节点,提高灵活性,减少人工参与,提高处理速率。
可选的,所述方法还包括:
若根据所述APP包的能力配置信息确定其他边缘云节点不兼容所述APP包,则标记所述APP包且阻止所述APP包的分发,并向运维人员发送第二提示信息,用于提示所述APP包分发异常。
在本步骤中,对不兼容的APP包进行标记,便于运维人员查询,第二提示信息可以用于指示APP包分发异常的情况,而发送第二提示信息的方式,本申请实施例对此不作具体限定,可以为在云系统平台所携带的显示屏上显示一个消息提示框,该消息提示框显示“APP包分发异常”,以提示运维人员基于第二提示信息及时查找APP包分发异常的节点的问题,也可以为云系统平台向运维人员终端设备上发送一条消息提示,该消息提示为“APP包分发异常”,进一步的,在运维人员终端设备的显示屏上显示该消息提醒,以运维人员基于第二提示信息及时查找APP包分发异常的节点的问题。
示例性的,在图1的应用场景下,以APP包为定位服务包为例,云系统平台103根据APP包的能力配置信息确定边缘云2不兼容定位服务包,则标记定位服务包且阻止定位服务包的分发,并向运维人员的终端设备上发送第二提示信息,该第二提示信息为“APP包分发异常”,进一步的,在运维人员终端设备的显示屏上显示该信息提醒,以运维人员基于第二提示信息及时查找APP包分发异常的节点的问题。
因此,本申请可以实时监控APP包的分发,可以通过发送提示信息,及时提醒运维人员APP包分发有无异常,使得运维人员可以实时检修,提高系统利用率。
可选的,所述方法还包括:
从中心数据库中获取各个边缘云节点的第一能力配置信息,将所述第一能力配置信息与所述APP包的能力配置信息进行匹配,得到所述APP包与特定节点的兼容匹配结果;
将所述兼容匹配结果与地理信息相关联,以地图的方式展现给运维人员。
示例性的,用户在Dashboard界面上选择检查某APP包在某地区的边缘云节点的兼容覆盖度信息,中心云管区从数据库中提取出该APP包的能力配置信息,进一步的,可以通过“应用能力匹配模块”从数据库中取出“能力信息收集模块”收集的各个边缘云节点的能力配置信息,与该APP包的能力配置信息进行匹配,得到APP包与特定边缘云节点的兼容匹配结果,进一步的,可以将兼容匹配结果关联上地理信息,呈现给用户,例如,图9为本申请实施例提供的一种应用匹配覆盖度的场景示意图,如图9所示,可以有兼容所有的边缘云节点的地区,即该地区的所有的边缘云节点都可以兼容该APP包;兼容部分边缘云节点的地区,即该地区只有部分的边缘云节点可以兼容该APP包,本申请实施例对兼容部分边缘云节点的数量不作具体限定;以及无兼容边缘云节点的地区,即该地区没有边缘云节点可以兼容该APP包。
因此,运维人员可以查看某个应用在边缘节点的匹配覆盖度,进一步,可以直观了解应用的覆盖率。
在前述实施例中,对本申请实施例提供的应用分发方法进行了介绍,而为了实现上述本申请实施例提供的方法中的各功能,作为执行主体的电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
例如,图10为本申请实施例提供的一种应用分发装置的结构示意图,如图10所示,该装置包括:获取模块1010,用于获取创建第一应用所需的镜像文件,生成所述镜像文件对应的镜像ID,并向用于创建第一应用的目标边缘云节点上传所述镜像文件;
上传模块1020,用于根据镜像ID配置应用程序APP包,向所述目标边缘云节点上传所述APP包,用于所述目标边缘云节点基于所述APP包和所述镜像文件创建所述第一应用;
判断模块1030,用于根据所述APP包的能力配置信息判断其他边缘云节点是否兼容所述APP包;
分发模块1040,用于当其他边缘云节点兼容所述APP包时,查询所述其他边缘云节点中是否存在所述镜像文件,如果存在,生成所述APP包的分发任务存储至分发队列中,并基于所述镜像ID将分发队列对应的所述APP包和所述镜像文件分发至所述其他边缘云节点,以使所述其他边缘云节点根据所述APP包和所述镜像文件创建第一应用。
可选的,所述镜像文件包括镜像数据或统一资源定位符URL地址,所述URL地址为云端存储镜像数据的IP地址;获取模块1010,具体用于:
获取所述目标边缘云节点的镜像仓库信息和创建第一应用所需的镜像文件,并根据所述镜像文件生成所述镜像文件对应的镜像ID;
基于所述镜像ID和所述镜像仓库信息,生成分发镜像的任务到分发队列中;
基于异步的方式将所述分发队列对应的所述镜像文件上传至所述目标边缘云节点。
可选的,上传模块1020,具体用于:
基于所述镜像ID和经过运维人员输入并压缩后的能力配置信息配置APP包;
对所述APP包进行解压,得到能力配置信息,基于所述能力配置信息检查所述APP包与目标边缘云节点是否相互兼容;
若是,则调用所述目标边缘云节点的操作端口,将所述APP包上传到所述目标边缘云节点的应用包仓库中;
若否,则阻止所述APP包的上传,并向运维人员发送第一提示信息,用于提示所述APP包上传异常。
可选的,所述装置还包括存储模块,所述存储模块,用于将所述APP包的能力配置信息与所述目标边缘云节点的对应关系存储到中心数据库;
相应的,判断模块1030,具体用于:
接收分发操作,并基于所述分发操作从中心数据库中提取与所述目标边缘云节点的对应的解压所述APP包后的能力配置信息;
基于所述能力配置信息判断其他边缘云节点是否兼容所述APP包。
可选的,分发模块1040,具体用于:
基于所述镜像ID找到其对应的所述镜像文件,根据所述镜像文件对分发队列中APP包的分发任务添加相应的标识并进行分组去重处理;所述标识用于监控所述APP包的分发状态;
通过异步的方式将经过分组去重处理的APP包和所述镜像文件分发至所述其他边缘云节点。
可选的,所述装置还包括查询模块,所述查询模块,用于:
若查询所述其他边缘云节点中不存在所述镜像文件,则基于所述镜像文件生成分发镜像的任务存储至分发队列中,并根据所述镜像ID调用所述APP包,将所述APP包和所述镜像文件分发至所述其他边缘云节点。
可选的,所述查询模块,具体用于:
获取所述其他边缘云节点的镜像仓库信息,并基于所述镜像文件调用所述镜像文件对应的镜像ID;
基于所述镜像ID和所述镜像仓库信息,生成分发镜像的任务到分发队列中;
基于异步的方式将所述分发队列对应的所述镜像文件上传至所述其他边缘云节点;
基于所述镜像ID调用所述APP包,并将所述APP包和所述镜像文件分发至所述其他边缘云节点。
可选的,所述装置还包括发送模块,所述发送模块,用于:
当根据所述APP包的能力配置信息确定其他边缘云节点不兼容所述APP包时,标记所述APP包且阻止所述APP包的分发,并向运维人员发送第二提示信息,用于提示所述APP包分发异常。
可选的,所述装置还包括展示模块,所述展示模块,用于:
从中心数据库中获取各个边缘云节点的第一能力配置信息,将所述第一能力配置信息与所述APP包的能力配置信息进行匹配,得到所述APP包与特定节点的兼容匹配结果;
将所述兼容匹配结果与地理信息相关联,以地图的方式展现给运维人员。
本申请实施例提供的应用分发装置的具体实现原理和效果可以参见上述实施例对应的相关描述和效果,此处不做过多赘述。
本申请实施例还提供了一种电子设备的结构示意图,图11为本申请实施例提供的一种电子设备的结构示意图,如图11所示,该电子设备可以包括:处理器1102以及与所述处理器通信连接的存储器1101;该存储器1101存储计算机程序;该处理器1102执行该存储器1101存储的计算机程序,使得该处理器1102执行上述任一实施例所述的方法。
其中,存储器1101和处理器1102可以通过总线1103连接。
本申请实施例还提供了一种应用分发系统,所述系统包括:中心云节点和多个边缘云节点,所述中心云节点,用于执行上述任一实施例所述的应用分发方法;
所述边缘云节点,用于接收所述中心云节点发送的APP包和镜像文件并创建对应的应用。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序执行指令,计算机执行指令被处理器执行时用于实现如本申请前述任一实施例中的所述的方法。
本申请实施例还提供了一种运行指令的芯片,该芯片用于执行如本申请前述任一实施例中由电子设备所执行的前述任一实施例中所述的方法。
本申请实施例还提供了一种计算机程序产品,该程序产品包括计算机程序,该计算机程序被处理器执行时可实现如本申请前述任一实施例中由电子设备所执行的前述任一实施例中所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速随机存取存储器(Random Access memory,简称RAM),也可能还包括非不稳定的存储器(Non-volatile Memory,简称NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种应用分发方法,其特征在于,应用于中心云节点,所述方法包括:
获取创建第一应用所需的镜像文件,生成所述镜像文件对应的镜像ID,并向用于创建第一应用的目标边缘云节点上传所述镜像文件;
根据镜像ID配置应用程序APP包,向所述目标边缘云节点上传所述APP包,用于所述目标边缘云节点基于所述APP包和所述镜像文件创建所述第一应用;
根据所述APP包的能力配置信息判断其他边缘云节点是否兼容所述APP包;
若兼容,则查询所述其他边缘云节点中是否存在所述镜像文件,如果存在,生成所述APP包的分发任务存储至分发队列中,并基于所述镜像ID将分发队列对应的所述APP包和所述镜像文件分发至所述其他边缘云节点,以使所述其他边缘云节点根据所述APP包和所述镜像文件创建第一应用;
从中心数据库中获取各个边缘云节点的第一能力配置信息,将所述第一能力配置信息与所述APP包的能力配置信息进行匹配,得到所述APP包与特定节点的兼容匹配结果;
将所述兼容匹配结果与地理信息相关联,以地图的方式展现给运维人员。
2.根据权利要求1所述的方法,其特征在于,所述镜像文件包括镜像数据或统一资源定位符URL地址,所述URL地址为云端存储镜像数据的IP地址;获取创建第一应用所需的镜像文件,生成所述镜像文件对应的镜像ID,并向用于创建第一应用的目标边缘云节点上传所述镜像文件,包括:
获取所述目标边缘云节点的镜像仓库信息和创建第一应用所需的镜像文件,并根据所述镜像文件生成所述镜像文件对应的镜像ID;
基于所述镜像ID和所述镜像仓库信息,生成分发镜像的任务到分发队列中;
基于异步的方式将所述分发队列对应的所述镜像文件上传至所述目标边缘云节点。
3.根据权利要求1所述的方法,其特征在于,根据镜像ID配置应用程序APP包,向所述目标边缘云节点上传所述APP包,包括:
基于所述镜像ID和经过运维人员输入并压缩后的能力配置信息配置APP包;
对所述APP包进行解压,得到能力配置信息,基于所述能力配置信息检查所述APP包与目标边缘云节点是否相互兼容;
若是,则调用所述目标边缘云节点的操作端口,将所述APP包上传到所述目标边缘云节点的应用包仓库中;
若否,则阻止所述APP包的上传,并向运维人员发送第一提示信息,用于提示所述APP包上传异常。
4.根据权利要求3所述的方法,其特征在于,还包括:
将所述APP包的能力配置信息与所述目标边缘云节点的对应关系存储到中心数据库;
相应的,根据所述APP包的能力配置信息判断其他边缘云节点是否兼容所述APP包,包括:
接收分发操作,并基于所述分发操作从中心数据库中提取与所述目标边缘云节点的对应的解压所述APP包后的能力配置信息;
基于所述能力配置信息判断其他边缘云节点是否兼容所述APP包。
5.根据权利要求1所述的方法,其特征在于,基于所述镜像ID将分发队列对应的所述APP包和所述镜像文件分发至所述其他边缘云节点,包括:
基于所述镜像ID找到其对应的所述镜像文件,根据所述镜像文件对分发队列中APP包的分发任务添加相应的标识并进行分组去重处理;所述标识用于监控所述APP包的分发状态;
通过异步的方式将经过分组去重处理的APP包和所述镜像文件分发至所述其他边缘云节点。
6.根据权利要求1所述的方法,其特征在于,还包括:
若查询所述其他边缘云节点中不存在所述镜像文件,则基于所述镜像文件生成分发镜像的任务存储至分发队列中,并根据所述镜像ID调用所述APP包,将所述APP包和所述镜像文件分发至所述其他边缘云节点。
7.根据权利要求6所述的方法,其特征在于,基于所述镜像文件生成分发镜像的任务存储至分发队列中,并根据所述镜像ID调用所述APP包,将所述APP包和所述镜像文件分发至所述其他边缘云节点,包括:
获取所述其他边缘云节点的镜像仓库信息,并基于所述镜像文件调用所述镜像文件对应的镜像ID;
基于所述镜像ID和所述镜像仓库信息,生成分发镜像的任务到分发队列中;
基于异步的方式将所述分发队列对应的所述镜像文件上传至所述其他边缘云节点;
基于所述镜像ID调用所述APP包,并将所述APP包和所述镜像文件分发至所述其他边缘云节点。
8.根据权利要求1-7任一项所述的方法,其特征在于,还包括:
若根据所述APP包的能力配置信息确定其他边缘云节点不兼容所述APP包,则标记所述APP包且阻止所述APP包的分发,并向运维人员发送第二提示信息,用于提示所述APP包分发异常。
9.一种应用分发装置,其特征在于,包括:
获取模块,用于获取创建第一应用所需的镜像文件,生成所述镜像文件对应的镜像ID,并向用于创建第一应用的目标边缘云节点上传所述镜像文件;
上传模块,用于根据镜像ID配置应用程序APP包,向所述目标边缘云节点上传所述APP包,用于所述目标边缘云节点基于所述APP包和所述镜像文件创建所述第一应用;
判断模块,用于根据所述APP包的能力配置信息判断其他边缘云节点是否兼容所述APP包;
分发模块,用于当其他边缘云节点兼容所述APP包时,查询所述其他边缘云节点中是否存在所述镜像文件,如果存在,生成所述APP包的分发任务存储至分发队列中,并基于所述镜像ID将分发队列对应的所述APP包和所述镜像文件分发至所述其他边缘云节点,以使所述其他边缘云节点根据所述APP包和所述镜像文件创建第一应用;
展示模块,用于从中心数据库中获取各个边缘云节点的第一能力配置信息,将所述第一能力配置信息与所述APP包的能力配置信息进行匹配,得到所述APP包与特定节点的兼容匹配结果;将所述兼容匹配结果与地理信息相关联,以地图的方式展现给运维人员。
10.一种应用分发系统,其特征在于,包括:中心云节点和多个边缘云节点,所述中心云节点,用于执行如权利要求1-8任一项所述的应用分发方法;
所述边缘云节点,用于接收所述中心云节点发送的APP包和镜像文件并创建对应的应用。
11.一种电子设备,其特征在于,包括:处理器,存储器以及计算机程序;其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如权利要求1-8任一项所述的应用分发方法的指令。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8任一项所述的应用分发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111467635.9A CN114285843B (zh) | 2021-12-02 | 2021-12-02 | 应用分发方法、装置、系统、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111467635.9A CN114285843B (zh) | 2021-12-02 | 2021-12-02 | 应用分发方法、装置、系统、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114285843A CN114285843A (zh) | 2022-04-05 |
CN114285843B true CN114285843B (zh) | 2023-07-04 |
Family
ID=80870730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111467635.9A Active CN114285843B (zh) | 2021-12-02 | 2021-12-02 | 应用分发方法、装置、系统、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114285843B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020207267A1 (zh) * | 2019-04-08 | 2020-10-15 | 阿里巴巴集团控股有限公司 | 网络系统、镜像管理方法、设备及存储介质 |
CN111800283A (zh) * | 2019-04-08 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 网络系统、服务提供与资源调度方法、设备及存储介质 |
CN112035121A (zh) * | 2019-06-03 | 2020-12-04 | 大唐移动通信设备有限公司 | 一种边缘应用部署方法及系统 |
-
2021
- 2021-12-02 CN CN202111467635.9A patent/CN114285843B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020207267A1 (zh) * | 2019-04-08 | 2020-10-15 | 阿里巴巴集团控股有限公司 | 网络系统、镜像管理方法、设备及存储介质 |
CN111800442A (zh) * | 2019-04-08 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 网络系统、镜像管理方法、设备及存储介质 |
CN111800283A (zh) * | 2019-04-08 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 网络系统、服务提供与资源调度方法、设备及存储介质 |
CN112035121A (zh) * | 2019-06-03 | 2020-12-04 | 大唐移动通信设备有限公司 | 一种边缘应用部署方法及系统 |
Non-Patent Citations (2)
Title |
---|
边云协同的分布式云基础设施管理系统;陈天;师春雨;刘艺;樊勇兵;;广东通信技术(第12期);全文 * |
边缘云与5G网络融合部署方案与演进规划;吕华章;陈丹;王友祥;;邮电设计技术(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114285843A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109729143B (zh) | 在终端设备上部署基于网络的云平台 | |
CN111091429A (zh) | 电子票据标识分配方法及装置、电子票据生成系统 | |
CN113783922A (zh) | 负载均衡的方法、系统和装置 | |
CN109358967B (zh) | 一种me平台app实例化迁移方法及服务器 | |
US10944655B2 (en) | Data verification based upgrades in time series system | |
CN110636124B (zh) | Vpp集群管理方法及装置、电子设备及存储介质 | |
CN113794652B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109656572A (zh) | 安装包的打包方法及装置、计算机设备、存储介质 | |
CN109819023B (zh) | 分布式事务处理方法及相关产品 | |
US20190274081A1 (en) | Base station system, node apparatus and method therein | |
CN103516851A (zh) | 一种无线产品云测试平台系统 | |
CN108989365B (zh) | 一种信息处理方法、服务器、终端设备及存储介质 | |
CN112468589A (zh) | 数据分发方法、装置、计算机设备和存储介质 | |
CN109286617B (zh) | 一种数据处理方法及相关设备 | |
CN114489690A (zh) | 一种分布式系统部署方法、装置、电子设备及存储介质 | |
CN114285843B (zh) | 应用分发方法、装置、系统、电子设备及可读存储介质 | |
CN115580667B (zh) | 数据传输方法、装置、设备及存储介质 | |
CN111262771B (zh) | 虚拟私有云通信系统、系统配置方法及控制器 | |
CN107404410B (zh) | 一种云环境下构建虚拟网络功能平台的方法及装置 | |
CN114401502B (zh) | 配置方法、装置、电子设备及存储介质 | |
CN113114522B (zh) | 流量监控设备 | |
CN112202850B (zh) | 智能柜售后维护工单系统及处理方法 | |
CN114125024A (zh) | 音频传输方法、电子设备及可读存储介质 | |
CN113535571A (zh) | 基于沙盒的微服务测试方法、装置、设备和存储介质 | |
CN115826845A (zh) | 存储资源的分配方法和装置、存储介质、电子装置 |
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 |