CN111682973A - 一种边缘云的编排方法及系统 - Google Patents
一种边缘云的编排方法及系统 Download PDFInfo
- Publication number
- CN111682973A CN111682973A CN202010826013.XA CN202010826013A CN111682973A CN 111682973 A CN111682973 A CN 111682973A CN 202010826013 A CN202010826013 A CN 202010826013A CN 111682973 A CN111682973 A CN 111682973A
- Authority
- CN
- China
- Prior art keywords
- task
- edge
- node
- edge node
- template
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5048—Automatic or semi-automatic definitions, e.g. definition templates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种边缘云的编排方法及系统。该方法包括:在边缘节点上部署任务包驱动,并将边缘节点支持的任务包和版本信息发送给边缘云的中心节点;在中心节点上接收并记录每个边缘节点支持的任务包和版本信息,形成边缘节点任务包支持表;在中心节点上创建编排模板,编排模板中包括了编排工作所包括的任务包及每个任务包的版本信息,根据边缘节点任务包支持表,将编排工作中的任务包分发给边缘节点;利用边缘节点上的任务包驱动和对应的执行模板,在边缘节点上执行接收的任务包。本发明通过采用“中心和边缘”的编排架构,使得中心节点负责编排任务的管理,中心节点负载压力小,编排模板易于维护。
Description
技术领域
本发明属于云计算技术领域,更具体地,涉及一种边缘云的编排方法及系统。
背景技术
在典型的边缘云场景下,通常是包含若干边缘节点和一个中心节点。边缘节点提供计算、存储、网络等云计算资源能力,中心节点实现对边缘节点的统一管理,包括资源发放、运维和运营。
由于云计算资源种类多、资源之间的关系复杂,资源发放一般都采用编排的方式,通过编排文件定义用户所需的资源和资源之间的依赖关系,然后由编排引擎解析编排文件执行。
在目前编排技术领域,主流的Terraform、Cloudify、Heat等编排软件都是采用集中式的编排方式,即通过编写一个或一组编排模板文件来定义所有编排内容,然后交由编排软件执行。在边缘云中,这种编排软件通常部署在中心节点,通过插件(Plugin)、适配器(Provider)等来远程连接各个边缘节点的底层虚拟化平台或容器平台。即所有编排任务全部是由位于中心的编排软件完成:流程控制、任务调度、云平台连接、操作执行、结果解析、异常处理等。
这种方式存在如下问题:
(1)中心节点承担所有编排任务,任务繁重,执行效率低,对服务器的负载压力极大。
(2)由于编排模板中需要定义编排中涉及的每一种资源,因此中心节点需要感知虚拟机、容器、存储、网络等资源的所有细节。这和边缘云的分层架构理念不符,从而导致编排管理复杂化。
(3)由于编排模板中需要定义编排中涉及的每一种资源,编排模板文件十分庞大和复杂,难以编写和维护。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种边缘云的编排方法及系统,通过采用“中心+边缘”的编排架构,使得中心节点负责编排任务的管理,中心节点负载压力小,编排模板易于维护。
为实现上述目的,按照本发明的第一方面,提供了一种边缘云的编排方法,包括:
在边缘节点上部署任务包驱动,并将部署的任务包驱动进行注册形成关联表,该关联表中包括边缘节点支持的任务包、对应的版本信息和对应的执行模板,所述执行模板用于描述任务包在边缘节点上的执行方式,将边缘节点支持的任务包和版本信息发送给边缘云的中心节点;
在中心节点上接收并记录每个边缘节点支持的任务包和版本信息,形成边缘节点任务包支持表;
在中心节点上创建编排模板,编排模板中包括了编排工作所包括的任务包及每个任务包的版本信息,根据边缘节点任务包支持表,将编排工作中的任务包分发给边缘节点;
利用边缘节点上的任务包驱动和对应的执行模板,在边缘节点上执行接收的任务包。
优选的,所述任务包驱动中包括执行引擎,不同边缘节点的执行引擎相同或不同。
优选的,所述编排模板中还包括每个任务包的实例数参数、离散部署参数、降级处理策略参数和配置参数,离散部署参数用于描述实例是否离散部署,降级处理策略参数用于描述是否允许边缘节点在资源不足的情况降级处理,配置参数用于描述边缘节点执行任务包时的参数。
优选的,所述在边缘节点上执行接收的任务包包括:
接收中心节点发送的任务包,根据关联表找到接收的任务包对应的执行模板;
确定接收的任务包的编排参数;
利用任务包对应的执行模板和编排参数执行任务包,若边缘节点的资源不足,则根据任务包对应的降级处理策略参数选择执行降级处理或向中心节点返回任务失败信息。
优选的,所述确定接收的任务包的编排参数包括:
若创建编排模板时,在编排模板中选择性配置任务包的配置参数,则在边缘节点上执行接收的任务包时,读取对应的执行模板预先定义的默认参数,将编排模板中配置的配置参数和执行模板中的默认参数进行组合,作为接收的任务包的编排参数。
优选的,若在编排模板中指定了任务包执行的边缘节点,则将该指定的任务包分发给该指定的边缘节点。
优选的,将边缘节点执行任务包的执行结果发送给中心节点,在中心节点上更新编排工作的状态。
优选的,当在边缘节点上新增或变更任务包驱动时,重新将边缘节点支持的任务包和版本信息发送给边缘云的中心节点。
按照本发明的第二方面,提供了一种边缘云的编排系统,包括部署在中心节点上的编排控制器和部署在边缘节点上的编排代理;
编排代理用于在边缘节点上部署任务包驱动,并将部署的任务包驱动进行注册形成关联表,该关联表中包括边缘节点支持的任务包、对应的版本信息和对应的执行模板,所述执行模板用于描述任务包在边缘节点上的执行方式,将边缘节点支持的任务包和版本信息发送给边缘云的中心节点;
编排控制器用于在中心节点上接收并记录每个边缘节点支持的任务包和版本信息,形成边缘节点任务包支持表;
编排控制器还用于在中心节点上创建编排模板,编排模板中包括了编排工作所包括的任务包及每个任务包的版本信息,并且根据边缘节点任务包支持表,将编排工作中的多个任务包分发给边缘节点;
编排代理还用于利用边缘节点上的任务包驱动和对应的执行模板,在边缘节点上执行接收的任务包。
总体而言,本发明与现有技术相比,具有有益效果:
(1)将集中式的编排架构扩展为“中心+边缘”的编排架构,让中心节点和边缘节点各司其职、通过云边协同完成编排任务。将编排文件重新设计,打破了面向资源发放的编排文件方式,采用了面向任务的编排模板方式,使得编排模板也能适配“中心+边缘”的编排模式。
(2)中心节点不再需要直接对接各种异构边缘云架构,不再负责具体虚拟机、容器等的创建,只需要做高层的编排任务管理,负责控制、调度一个个抽象任务,例如创建一个软件集群。如此,让边缘云的中心节点专注于抽象模型的编排控制,将具体资源的编排发放下放到边缘节点完成。
(3)尤其适用于在大规模复杂编排时,能简化中心节点编排任务复杂度,充分利用边缘节点的计算能力,极大降低中心节点的负载压力。当编排任务复杂时,也能防止出现巨大编排模板,也能解决编排模板难以编写、难以维护的问题。
(4)各个边缘节点可以自行选择执行引擎,使得各个边缘节点之间完全解耦,尤其适用于各个边缘节点是由不同厂商提供时,各个厂商可以选择自己熟悉的技术。
附图说明
图1是本发明实施例的一种边缘云的编排方法及系统的示意图;
图2是本发明实施例的一种边缘云的编排系统的架构示意图;
图3是本发明实施例的一种边缘云的编排方法的环境准备阶段的流程图;
图4是本发明实施例的边缘节点的执行模板的结构示例图;
图5是本发明实施例的一种边缘云的编排方法的编排阶段的流程图;
图6是本发明实施例的中心节点的编排模板的结构示例图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,本发明实施例的一种云边缘的编排系统包括:部署在中心节点上的编排控制器和部署在边缘节点上的编排代理。在边缘云的中心节点部署编排控制器,在各边缘节点部署编排代理。在中心节点的编排模板文件中,将本次编排工作的内容按照一个个“任务包”进行组织,每个任务包无需关注具体虚拟机、容器、网络、软件等边缘节点上资源的调度和发放,仅需要从上层定义本次编排工作需要完成的粗粒度任务。边缘节点上的编排代理通过注册一个个任务包驱动,来实现对任务包的支持,并将所支持任务包上报给中心节点。中心节点的编排控制器加载编排模板后,按照边缘节点反馈的所支持的任务包信息,将任务包分给能支持的边缘节点执行,或直接指定某边缘节点去执行。边缘节点的编排代理收到任务包后,通过该任务包对应的驱动中指定的执行引擎和执行模板,结合编排模板中任务包的配置参数,完成任务包的资源编排任务,并将任务包的执行结果反馈给中心节点。
本发明实施例中涉及到的部分术语解释如下:
(1)任务包:本发明涉及的编排方法不再以资源为核心,而是以“任务包”为核心,“任务包”可以是一个或者多个虚拟机、一个或者多个集群、一个或者多个应用,即可以支持任意云计算资源对象的组合。在实际应用中,可以是一个电商应用集群、一个新闻站点、一个CDN服务、一个Mysql主备集群等。
(2)编排模板:边缘云的中心节点定义的模板,该模板描述了一次编排工作中,涉及每一个边缘节点的编排任务。该模板由一个个任务包的信息组成。
(3)执行模板:边缘云的边缘节点定义的模板,用于描述任务包在边缘节点的实际执行方式,该模板描述底层资源的发放方式,由一个个资源的信息组成。
如图2所述,优选的,本发明实施例的一种云边缘的编排系统中,编排控制器包括编排模板构建模块、编排流程控制模块、边缘节点调度模块和中心节点通信模块。编排代理包括任务包驱动注册模块、任务包驱动模块和边缘节点通信模块。
1.编排控制器包括:
(1)编排模板构建模块,用于在中心节点上创建编排模板。系统管理员可以通过本模块来设计面向“任务包”的编排模板,编排模板中包括了编排工作所包括的任务包及每个任务包的版本信息,该模块也可以负责模板的格式校验和存储。编排模板还包括每个任务包的实例数参数、离散部署参数、降级处理策略参数和配置参数,离散部署参数用于描述实例是否离散部署,降级处理策略参数用于描述是否允许边缘节点在资源不足的情况降级处理,配置参数用于描述边缘节点执行任务包时的参数。
(2)编排流程控制模块,用于按照编排模板中的任务包,通过多个并行线程通知边缘节点调度模块进行调度,并监听边缘节点的任务包的执行结果反馈,存储任务包执行结果。
(3)边缘节点调度模块,用于在环境准备阶段接收并记录每个边缘节点支持的任务包和版本信息,形成边缘节点任务包支持表,还用于在业务编排阶段根据边缘节点任务包支持表,将编排工作中的多个任务包分发给边缘节点;
(4)中心节点通信模块,用于和边缘节点通过HTTP或者HTTPS进行通信,通信的内容包括:获取边缘节点上报的任务包支持情况,将任务包信息下发给边缘节点,获取边缘节点反馈的任务包执行状态。
2.编排代理包括:
(1)任务包驱动注册模块,用于在边缘节点上部署任务包驱动,并将部署的任务包驱动进行注册形成关联表,关联表中记录了“任务包、版本和执行模板的对应关系”,并通过边缘节点通信模块将本边缘节点支持的任务包和版本上报给中心节点。
(2)任务包驱动模块,用于执行接收的任务包。任务包驱动模块包括第1任务包驱动模块、第2任务包驱动模块、第n任务包驱动模块。在边缘节点中,每支持一种任务包,则需要部署一个驱动模块。
优选的,任务包驱动模块包括下述子模块:
执行引擎:负责对接底层边缘云虚拟化/容器环境,例如Openstack平台、Kubernetes、IaaS/PaaS/SaaS等资源,进行资源的创建。各个边缘节点可以自行选择执行引擎,包括但不限于Terraform、Cloudify、Heat等。
执行模板管理模块:负责维护该任务包的执行模板,执行模板中需要描述完成任务包所需哪些资源、资源的数量、属性、依赖关系。模板的格式取决于执行引擎,如果执行引擎采用Terraform、Cloudify等软件,则模板格式需要符合上述软件定义的模板规则。一个执行模板可以有多个版本。
参数组装模块:负责将编排控制器下发的任务包信息中的配置参数,结合本驱动中执行模板定义的默认参数,组合而成编排需要的全部编排参数。
降级处理模块:按照任务包信息中给定的降级处理策略,当边缘云资源不足时,降级完成资源发放。
状态反馈模块:监听执行引擎的工作状态,收集本驱动的执行结果,并通过边缘节点通信模块反馈给中心节点的编排控制器。
(3)边缘节点通信模块,用于和中心节点的编排控制器通过HTTP或者HTTPS进行通信。通信的内容包括:上报给中心节点本边缘节点支持哪些任务包和哪些版本,获取中心节点发来的任务包信息,将本边缘节点的任务包执行结果反馈给中心节点的编排控制器。
本发明实施例的一种云边缘的编排方法,包含环境准备和业务编排两个阶段:
1.环境准备阶段:
(1)在边缘节点上部署任务包驱动,并将部署的任务包驱动进行注册形成关联表,该关联表中包括边缘节点支持的任务包、对应的版本信息和对应的执行模板。每个边缘节点需要部署编排代理,为本节点支持的每一个“任务包”实现任务包驱动。该驱动需要通过执行引擎实际完成本任务包的编排任务,执行引擎负责直接对接边缘云底层的虚拟化、容器或其它基础资源平台,执行引擎可以使用但不限于目前业界主流的Terraform、Cloudify,Heat等软件,各个边缘节点可以自由选择而不必保持一致。该驱动内还包括针对本“任务包”的执行模板,该执行模板负责描述底层资源的发放方式,模板格式随执行引擎不同而不同。
(2)将边缘节点支持的任务包和版本信息发送给边缘云的中心节点。边缘节点的编排代理需要将本节点支持的所有任务包信息上报给中心节点,告知中心节点本边缘节点的编排能力。上报的信息内容包括:支持的任务包名称、支持的任务包的版本号。每当边缘节点新增、变更任务包驱动时,都需要重新上报任务包信息给中心节点。
(3)在中心节点上接收并记录每个边缘节点支持的任务包和版本信息,形成边缘节点任务包支持表。在中心节点上部署编排控制器,中心节点的编排控制器收到各边缘节点上报的所能支持的任务包信息后,进行汇总并保存为“边缘节点任务包支持表”,从而使得中心节点知晓每一个边缘节点能支持哪些任务和任务的版本。
2.业务编排阶段
(1)在边缘云的中心节点创建编排模板。该模板包括两部分内容,一是本次编排工作的名称、描述;二是本次编排工作需完成的任务包、版本、描述,这些任务通过任务包的形式在模板中进行组织。优选的,编排模板中还包括每个任务包的实例数参数、离散部署参数、降级处理策略参数和配置参数,离散部署参数用于描述实例是否离散部署,降级处理策略参数用于描述是否允许边缘节点在资源不足的情况降级处理,配置参数用于描述边缘节点执行任务包时的参数。优选的,系统会校验模板格式正确后保存该模板供后续复用。
优选的,可以在编排模板中选择性配置任务包的配置参数,则在边缘节点上执行接收的任务包时,读取对应的执行模板预先定义的默认参数,将编排模板中配置的配置参数和执行模板中的默认参数进行组合,作为接收的任务包的编排参数。
(2)中心节点依照环境准备阶段中准备好的“边缘节点任务包支持表”,将编排模板中的一个个任务包,调度给有支持能力的边缘节点进行执行。
优选的,当编排模板中针对某一个编排任务的实例数设置大于1,且离散部署参数设置为实例尽量离散部署时,中心节点会将该任务包的多个实例分发给不同的边缘节点执行,从而实现业务的高可用。
优选的,当编排模板中某任务包指定了交由哪个边缘节点执行时,中心节点则直接将该任务包调度给该指定的边缘节点。
(3)利用边缘节点上的任务包驱动和对应的执行模板,在边缘节点上执行接收的任务包。边缘节点收到中心节点发来的任务包信息后,找到对应的任务包驱动,利用驱动内的执行引擎和对应的执行模板,完成任务包的编排执行,并将执行结果(成功或失败)反馈给中心节点。
优选的,当边缘节点的资源不足以完成本任务包的编排任务时,例如该任务包中需要创建10台虚拟机,但边缘节点的剩余计算资源仅够创建5台,如果任务包的降级处理策略参数配置为允许降级,则边缘节点则利用现有资源,最大化的完成编排任务,创建5台虚拟机,并返回给中心节点执行结果为部分成功;如果不允许降级,则边缘节点不执行本次编排任务,返回给中心节点执行结果为失败。
(4)当中心节点收到了来自于边缘节点的任务包执行结果时,更新编排工作的进度;当中心节点收到了所有任务包的结果反馈后,更新编排工作的状态为完成。
以一个包含有1个中心节点和3个边缘节点的典型边缘云场景为例,来说明本发明实施例的一种云边缘的编排方法。
如图3所示,环境准备阶段包括步骤S101至S104。
S101:边缘节点部署任务包驱动。各个边缘节点根据自己的硬件环境、资源能力、软件架构和应用规划来部署任务包驱动。例如,在边缘节点A中支持新闻站点集群、CDN应用、Mysql高可用集群三个任务,则需要针对这3个任务部署任务包驱动。
以新闻站点集群的任务包驱动为例,该驱动中包含任务的执行引擎,例如采用开源引擎Terraform。
该驱动中还包含执行模板管理模块,执行模板描述了该任务所需的具体资源以及之间的依赖关系,执行模板的格式需要遵循执行引擎定义的规则,例如本实施例中,新闻站点集群的执行模板的基础结构参照图4,模板内容包含第一组虚拟机、安装在第一组虚拟机之上的新闻服务软件、第二组虚拟机、安装在第二组虚拟机之上的Mysql数据库软件、负载均衡器、负载均衡器和第一组虚拟机进行绑定。执行模板还可以包括各个变量参数的默认取值(图中未示出)。
该驱动模块中还包含参数组装模块、降级处理模块、状态反馈模块,三者会在业务编排阶段负责参数整合、降级处理、任务包执行结果反馈。
S102:边缘节点将部署的任务包驱动通过任务包驱动注册模块进行注册。边缘节点需要存储任务包、版本、执行模板的对应关系,形成“任务包版本和执行模板关联表”,例如:
S103:边缘节点将本节点支持的任务包和版本信息通过边缘节点通信模块上报给中心节点。
对于边缘节点B、边缘节点C,重复S101、S102、S103步骤,部署第2任务驱动模块、第3任务驱动模块,从而完成任务包驱动部署、任务包驱动注册和任务包信息上报等环境准备工作。
S104:边缘云的中心节点部署编排控制器,编排控制器中的边缘节点调度模块会通过中心节点通信模块,收集到各个边缘节点上报的所支持的任务包信息,并汇总存储为“边缘节点任务包支持表”,例如:
如图5所示,业务编排阶段包括步骤S201至S210。
S201:系统管理员在中心节点的编排控制器中,通过编排模板构建模块创建本次编排工作的编排模板。该编排模板的基础结构参照附图6。该模块包括工作定义根节点(job)和任务包描述根节点(packages)。其中,工作定义根节点包含工作的name(名称)、desc(描述);任务包描述根节点包含本次工作所包含的所有任务包信息:
在本实施例中,编排模板中第一个任务包是news_cluster,包含desc(描述)、version(版本)、preference(配置参数)、replica(实例数)、replica_distribute(实例是否尽量离散部署)、allow_degrade(降级处理策略),从附图6的模板基础结构中可以知晓第一个任务包指明了需要构建三个2.0版本的新闻站点集群服务、三个集群尽量分散在不同的边缘节点中、允许边缘节点在执行任务包时如果资源不足可以降级处理、减少创建一些资源实例,在参数配置中,指定了每一个集群中虚拟机个数为12、需要采用centos7.7操作系统镜像等。
编排模板中第二个任务包是cdn_server,与第一个任务包不同的是,该任务包指定了edge_node参数,即直接将该任务包分发给edge_node参数指定的边缘节点(图中示例是edge_node_2)执行,不再需要调度。
优选的,编排模板构建模块会校验编排模板的格式正确性。
优选的,编排模板构建模块将创建好的编排模板存储在数据库或本地磁盘等存储介质中,便于下次复用此编排模板。
S202:编排流程控制模块从编排模板构建模块读取构建好的模板,针对每一个任务包,调用边缘节点调度模块找到可以执行此任务包的边缘节点。
S203:边缘节点调度模块需要针对任务包,调度出有能力支持该任务包的边缘节点来执行它。
例如本实施例中第一个任务包news_service,任务包信息需要构建三个2.0版本的新闻站点服务、三个集群尽量分散在不同的边缘节点中。边缘节点调度模块从“边缘节点任务包支持表”找到能支持news_service2.0版本的是edge_node_1和edge_node_3两个边缘节点。由于要求尽量分散,因此调度结果是将该任务包分发给edge_node_1两次,即在edge_node_1边缘节点部署两个news_service2.0实例,将该任务包分发给edge_node_3一次,即在edge_node_3边缘节点部署一个news_service2.0实例。
本实施例中第二个任务包cdn_service,由于该任务包信息中的edge_node字段明确指定了需要分发给edge_node_2执行,因此不再需要调度。
S204:编排流程控制模块按照上一步边缘节点调度模块调度出来的边缘节点,开启多线程并行的通过中心节点通信模块将任务包信息下发给各个边缘节点,并监听各个边缘节点反馈的执行状态。
S205:边缘节点上的编排代理通过边缘节点通信模块收到中心节点发来的任务包信息后,任务包驱动注册模块通过“任务包版本和执行模板关联表”,找到执行模板。在本实施例中,通过任务名news_service和版本号2.0,可以从“任务包版本和执行模板关联表”中找到对应的执行模板是news_service_exec_template_20200201.json,并初始化任务包驱动。
S206:任务包驱动模块通过参数组装模块,准备执行引擎需要的编排参数。具体做法是如果任务包信息中preference(配置参数)配置了某参数,以任务包信息为准,例如本例中的count、image;对于执行模板中存在的参数,而preference中未配置取值的,则取执行模板中定义的参数默认值。
S207:任务包驱动模块通过执行引擎(本实施例中是terraform),加载执行模板news_service_exec_template_20200201.json和参数组装模块准备好的编排参数开始执行编排。按照该执行模板和编排参数,terraform会创建12台虚拟机、并在虚拟机上安装新闻服务软件、创建1台虚拟机、在上面安装Mysql软件、创建一个负载均衡器、将上述12台安装有新闻服务软件的虚拟机、加入到此负载均衡的负载成员中。
S208:当边缘节点的资源不足以完整完成任务包所描述的任务时,任务包驱动中的降级处理模块会读取任务包信息中的降级处理策略参数(allow_degrade),如果是true,则利用目前边缘节点所有资源尽可能创建任务包中的资源。在本例中,针对news_service任务包,如果边缘节点的云计算资源池中cpu、内存、磁盘等资源不足以创建12台虚拟机实例,只够创建8台实例,则任务包驱动会创建8台虚拟机实例,并反馈给中心节点任务部分成功;如果降级处理策略(allow_degrade)参数是false,即不允许降级处理,则任务包驱动不会创建任何虚拟机实例,直接反馈中心节点任务失败。
S209:边缘节点的状态反馈模块通过边缘节点通信模块将任务包执行成功、任务部分成功、任务失败信息反馈给中心节点。
S210:中心节点的编排流程控制模块,通过中心节点通信模块收到边缘节点发来的任务结果信息后,更新整个编排工作的进度,进度包括:已完成任务包/总的任务包。当所有任务包的执行状态都得到反馈后,更新编排工作的状态为完成。
必须说明的是,上述任一实施例中,方法并不必然按照序号顺序依次执行,只要从执行逻辑中不能推定必然按某一顺序执行,则意味着可以以其他任何可能的顺序执行。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种边缘云的编排方法,其特征在于,包括:
在边缘节点上部署任务包驱动,并将部署的任务包驱动进行注册形成关联表,该关联表中包括边缘节点支持的任务包、对应的版本信息和对应的执行模板,该执行模板用于描述任务包在边缘节点上的执行方式,将边缘节点支持的任务包和版本信息发送给边缘云的中心节点;
在中心节点上接收并记录每个边缘节点支持的任务包和版本信息,形成边缘节点任务包支持表;
在中心节点上创建编排模板,编排模板中包括了编排工作所包括的任务包及每个任务包的版本信息,根据边缘节点任务包支持表,将编排工作中的任务包分发给边缘节点;
利用边缘节点上的任务包驱动和对应的执行模板,在边缘节点上执行接收的任务包。
2.如权利要求1所述的一种边缘云的编排方法,其特征在于,所述任务包驱动中包括执行引擎,不同边缘节点的执行引擎相同或不同。
3.如权利要求1所述的一种边缘云的编排方法,其特征在于,所述编排模板中还包括每个任务包的实例数参数、离散部署参数、降级处理策略参数和配置参数,离散部署参数用于描述实例是否离散部署,降级处理策略参数用于描述是否允许边缘节点在资源不足的情况降级处理,配置参数用于描述边缘节点执行任务包时的参数。
4.如权利要求3所述的一种边缘云的编排方法,其特征在于,所述在边缘节点上执行接收的任务包包括:
接收中心节点发送的任务包,根据关联表找到接收的任务包对应的执行模板;
确定接收的任务包的编排参数;
利用任务包对应的执行模板和编排参数执行任务包,若边缘节点的资源不足,则根据任务包对应的降级处理策略参数选择执行降级处理或向中心节点返回任务失败信息。
5.如权利要求4所述的一种边缘云的编排方法,其特征在于,所述确定接收的任务包的编排参数包括:
若创建编排模板时,在编排模板中选择性配置任务包的配置参数,则在边缘节点上执行接收的任务包时,读取对应的执行模板预先定义的默认参数,将编排模板中配置的配置参数和执行模板中的默认参数进行组合,作为接收的任务包的编排参数。
6.如权利要求1所述的一种边缘云的编排方法,其特征在于,还包括:若在编排模板中指定了任务包执行的边缘节点,则将该指定的任务包分发给该指定的边缘节点。
7.如权利要求1所述的一种边缘云的编排方法,其特征在于,还包括步骤:
将边缘节点执行任务包的执行结果发送给中心节点,在中心节点上更新编排工作的状态。
8.如权利要求1所述的一种边缘云的编排方法,其特征在于,当在边缘节点上新增或变更任务包驱动时,重新将边缘节点支持的任务包和版本信息发送给边缘云的中心节点。
9.一种边缘云的编排系统,其特征在于,包括部署在中心节点上的编排控制器和部署在边缘节点上的编排代理;
编排代理用于在边缘节点上部署任务包驱动,并将部署的任务包驱动进行注册形成关联表,该关联表中包括边缘节点支持的任务包、对应的版本信息和对应的执行模板,所述执行模板用于描述任务包在边缘节点上的执行方式,将边缘节点支持的任务包和版本信息发送给边缘云的中心节点;
编排控制器用于在中心节点上接收并记录每个边缘节点支持的任务包和版本信息,形成边缘节点任务包支持表;
编排控制器还用于在中心节点上创建编排模板,编排模板中包括了编排工作所包括的任务包及每个任务包的版本信息,并且根据边缘节点任务包支持表,将编排工作中的多个任务包分发给边缘节点;
编排代理还用于利用边缘节点上的任务包驱动和对应的执行模板,在边缘节点上执行接收的任务包。
10.如权利要求9所述的一种边缘云的编排系统,其特征在于,所述编排模板中还包括每个任务包的实例数参数、离散部署参数、降级处理策略参数和配置参数,离散部署参数用于描述实例是否离散部署,降级处理策略参数用于描述是否允许边缘节点在资源不足的情况降级处理,配置参数用于描述边缘节点执行任务包时的参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010826013.XA CN111682973B (zh) | 2020-08-17 | 2020-08-17 | 一种边缘云的编排方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010826013.XA CN111682973B (zh) | 2020-08-17 | 2020-08-17 | 一种边缘云的编排方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111682973A true CN111682973A (zh) | 2020-09-18 |
CN111682973B CN111682973B (zh) | 2020-11-13 |
Family
ID=72438642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010826013.XA Active CN111682973B (zh) | 2020-08-17 | 2020-08-17 | 一种边缘云的编排方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111682973B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930521A (zh) * | 2020-09-23 | 2020-11-13 | 北京百度网讯科技有限公司 | 用于部署应用的方法、装置、电子设备及可读存储介质 |
CN112583898A (zh) * | 2020-11-30 | 2021-03-30 | 北京百度网讯科技有限公司 | 业务流程编排方法、装置、以及可读介质 |
CN112615746A (zh) * | 2020-12-23 | 2021-04-06 | 广联达科技股份有限公司 | 一种边缘计算方法、装置及系统 |
CN112799818A (zh) * | 2021-02-03 | 2021-05-14 | 上海交通大学 | 基于检查点描述文件的云端融合任务迁移方法及系统 |
CN112950153A (zh) * | 2021-02-24 | 2021-06-11 | 国网江苏省电力有限公司信息通信分公司 | 一种基于云边协同环境的集中编排业务方法及系统 |
CN112995171A (zh) * | 2021-02-24 | 2021-06-18 | 国网江苏省电力有限公司信息通信分公司 | 一种基于区域位置的云计算容器管理方法 |
CN114327507A (zh) * | 2021-12-20 | 2022-04-12 | 江苏云工场信息技术有限公司 | 一种cdn节点的自动编排方法及装置 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160315912A1 (en) * | 2015-04-13 | 2016-10-27 | Ajit Ramachandra Mayya | Method and system of establishing a virtual private network in a cloud service for branch networking |
WO2018215046A1 (en) * | 2017-05-22 | 2018-11-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Edge cloud broker and method therein for allocating edge cloud resources |
CN109800072A (zh) * | 2019-01-22 | 2019-05-24 | 深圳市简智联信息科技有限公司 | 基于边缘计算的任务调度优化方法和装置 |
CN109889575A (zh) * | 2019-01-15 | 2019-06-14 | 北京航空航天大学 | 一种边缘环境下的协同计算平台系统及方法 |
CN110022381A (zh) * | 2019-05-14 | 2019-07-16 | 中国联合网络通信集团有限公司 | 一种负载分担方法及装置 |
US10367914B2 (en) * | 2016-01-12 | 2019-07-30 | Cisco Technology, Inc. | Attaching service level agreements to application containers and enabling service assurance |
CN110187898A (zh) * | 2019-05-29 | 2019-08-30 | 中国海洋石油集团有限公司 | 一种软件包的部署系统及方法 |
CN110278118A (zh) * | 2019-07-16 | 2019-09-24 | 中国联合网络通信集团有限公司 | 端到端服务质量保障系统 |
CN110430081A (zh) * | 2019-08-13 | 2019-11-08 | 北京市天元网络技术股份有限公司 | 基于指令自动编排的智能化巡检方法以及装置 |
CN110493304A (zh) * | 2019-07-04 | 2019-11-22 | 上海数据交易中心有限公司 | 边缘计算系统以及交易系统 |
CN110572448A (zh) * | 2019-08-30 | 2019-12-13 | 烽火通信科技股份有限公司 | 一种分布式边缘云系统架构 |
CN110633144A (zh) * | 2019-08-23 | 2019-12-31 | 成都华为技术有限公司 | 一种边缘云的融合管理的方法及装置 |
CN110636116A (zh) * | 2019-08-29 | 2019-12-31 | 武汉烽火众智数字技术有限责任公司 | 一种多维数据采集的系统及方法 |
CN110890987A (zh) * | 2019-11-29 | 2020-03-17 | 北京首都在线科技股份有限公司 | 自动创建集群的方法、装置、设备和系统 |
CN111158708A (zh) * | 2019-12-25 | 2020-05-15 | 上海精鲲计算机科技有限公司 | 一种任务编排引擎系统 |
CN111245903A (zh) * | 2019-12-31 | 2020-06-05 | 烽火通信科技股份有限公司 | 一种基于边缘计算的联合学习方法及系统 |
CN111427679A (zh) * | 2020-03-25 | 2020-07-17 | 中国科学院自动化研究所 | 面向边缘计算的计算任务调度方法、系统、装置 |
US10739761B2 (en) * | 2017-11-16 | 2020-08-11 | Intel Corporation | Scalable edge compute in a distributed control environment |
-
2020
- 2020-08-17 CN CN202010826013.XA patent/CN111682973B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160315912A1 (en) * | 2015-04-13 | 2016-10-27 | Ajit Ramachandra Mayya | Method and system of establishing a virtual private network in a cloud service for branch networking |
US10367914B2 (en) * | 2016-01-12 | 2019-07-30 | Cisco Technology, Inc. | Attaching service level agreements to application containers and enabling service assurance |
WO2018215046A1 (en) * | 2017-05-22 | 2018-11-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Edge cloud broker and method therein for allocating edge cloud resources |
US10739761B2 (en) * | 2017-11-16 | 2020-08-11 | Intel Corporation | Scalable edge compute in a distributed control environment |
CN109889575A (zh) * | 2019-01-15 | 2019-06-14 | 北京航空航天大学 | 一种边缘环境下的协同计算平台系统及方法 |
CN109800072A (zh) * | 2019-01-22 | 2019-05-24 | 深圳市简智联信息科技有限公司 | 基于边缘计算的任务调度优化方法和装置 |
CN110022381A (zh) * | 2019-05-14 | 2019-07-16 | 中国联合网络通信集团有限公司 | 一种负载分担方法及装置 |
CN110187898A (zh) * | 2019-05-29 | 2019-08-30 | 中国海洋石油集团有限公司 | 一种软件包的部署系统及方法 |
CN110493304A (zh) * | 2019-07-04 | 2019-11-22 | 上海数据交易中心有限公司 | 边缘计算系统以及交易系统 |
CN110278118A (zh) * | 2019-07-16 | 2019-09-24 | 中国联合网络通信集团有限公司 | 端到端服务质量保障系统 |
CN110430081A (zh) * | 2019-08-13 | 2019-11-08 | 北京市天元网络技术股份有限公司 | 基于指令自动编排的智能化巡检方法以及装置 |
CN110633144A (zh) * | 2019-08-23 | 2019-12-31 | 成都华为技术有限公司 | 一种边缘云的融合管理的方法及装置 |
CN110636116A (zh) * | 2019-08-29 | 2019-12-31 | 武汉烽火众智数字技术有限责任公司 | 一种多维数据采集的系统及方法 |
CN110572448A (zh) * | 2019-08-30 | 2019-12-13 | 烽火通信科技股份有限公司 | 一种分布式边缘云系统架构 |
CN110890987A (zh) * | 2019-11-29 | 2020-03-17 | 北京首都在线科技股份有限公司 | 自动创建集群的方法、装置、设备和系统 |
CN111158708A (zh) * | 2019-12-25 | 2020-05-15 | 上海精鲲计算机科技有限公司 | 一种任务编排引擎系统 |
CN111245903A (zh) * | 2019-12-31 | 2020-06-05 | 烽火通信科技股份有限公司 | 一种基于边缘计算的联合学习方法及系统 |
CN111427679A (zh) * | 2020-03-25 | 2020-07-17 | 中国科学院自动化研究所 | 面向边缘计算的计算任务调度方法、系统、装置 |
Non-Patent Citations (3)
Title |
---|
DUMITREL LOGHIN,ET.AL: "《Towards Analyzing the Performance of Hybrid Edge-Cloud Processing》", 《2019 IEEE INTERNATIONAL CONFERENCE ON EDGE COMPUTING(EDGE)》 * |
付琳琳等: "《微服务容器化部署的研究》", 《计算技术与自动化》 * |
易芝玲等: "《5G蜂窝物联网关键技术分析》", 《北京邮电大学学报》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930521A (zh) * | 2020-09-23 | 2020-11-13 | 北京百度网讯科技有限公司 | 用于部署应用的方法、装置、电子设备及可读存储介质 |
CN112583898A (zh) * | 2020-11-30 | 2021-03-30 | 北京百度网讯科技有限公司 | 业务流程编排方法、装置、以及可读介质 |
CN112583898B (zh) * | 2020-11-30 | 2023-08-15 | 北京百度网讯科技有限公司 | 业务流程编排方法、装置、以及可读介质 |
CN112615746A (zh) * | 2020-12-23 | 2021-04-06 | 广联达科技股份有限公司 | 一种边缘计算方法、装置及系统 |
CN112615746B (zh) * | 2020-12-23 | 2022-12-09 | 广联达科技股份有限公司 | 一种边缘计算方法、装置及系统 |
CN112799818A (zh) * | 2021-02-03 | 2021-05-14 | 上海交通大学 | 基于检查点描述文件的云端融合任务迁移方法及系统 |
CN112950153A (zh) * | 2021-02-24 | 2021-06-11 | 国网江苏省电力有限公司信息通信分公司 | 一种基于云边协同环境的集中编排业务方法及系统 |
CN112995171A (zh) * | 2021-02-24 | 2021-06-18 | 国网江苏省电力有限公司信息通信分公司 | 一种基于区域位置的云计算容器管理方法 |
CN112950153B (zh) * | 2021-02-24 | 2023-12-01 | 国网江苏省电力有限公司信息通信分公司 | 一种基于云边协同环境的集中编排业务方法及系统 |
CN114327507A (zh) * | 2021-12-20 | 2022-04-12 | 江苏云工场信息技术有限公司 | 一种cdn节点的自动编排方法及装置 |
CN114327507B (zh) * | 2021-12-20 | 2022-07-15 | 江苏云工场信息技术有限公司 | 一种cdn节点的自动编排方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111682973B (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111682973B (zh) | 一种边缘云的编排方法及系统 | |
CN110851145B (zh) | 一种基于容器编排的边缘云安装维护方法及系统 | |
US8863137B2 (en) | Systems and methods for automated provisioning of managed computing resources | |
CN105897805B (zh) | 对多层架构的数据中心的资源进行跨层调度的方法和装置 | |
US8122446B2 (en) | Method and apparatus for provisioning software on a network of computers | |
CN108337109B (zh) | 一种资源分配方法及装置和资源分配系统 | |
US7831972B2 (en) | Method and apparatus for scheduling jobs on a network | |
US10540211B2 (en) | Elasticity for highly available applications | |
US9594637B2 (en) | Deploying parallel data integration applications to distributed computing environments | |
CN110838939B (zh) | 一种基于轻量级容器的调度方法及边缘物联管理平台 | |
CN111399970B (zh) | 一种预留资源管理方法、装置和存储介质 | |
CN105786603B (zh) | 一种基于分布式的高并发业务处理系统及方法 | |
CN104639594A (zh) | 分配物理资源和虚拟资源的系统和方法 | |
US20230266999A1 (en) | Resource scheduling method, resource scheduling system, and device | |
US11797167B2 (en) | User interface for management of a dynamic video signal processing platform | |
US20220357974A1 (en) | Container creation in a computing system | |
CN117435324B (zh) | 基于容器化的任务调度方法 | |
CN111240819A (zh) | 一种调度任务的发布系统及方法 | |
US11755301B2 (en) | Deployment of cloud infrastructures using a cloud management platform | |
CN109450913A (zh) | 一种基于策略的多节点注册调度方法 | |
WO2019187974A1 (ja) | システム更新装置およびシステム更新方法 | |
CN102681881B (zh) | 跨机调度方法及其系统 | |
CN116627661B (zh) | 算力资源调度的方法和系统 | |
US20240095092A1 (en) | Ring architecture-based workload distribution in a microservice computing environment | |
CN117472581A (zh) | 支持大规模应用部署的虚拟化fpga集群管理调度系统及方法 |
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 |