技术领域
本发明涉及一种编排业务方法及系统,尤其涉及一种,属于领域基于云边协同环境的集中编排业务方法及系统。
背景技术
随着企业业务的不断发展,当前云业务逐步扩展到云边协同业务,边缘业务作为云端业务的前哨,对数据的过滤和筛选以及边缘的前置运算,起着越来越重要的作用。而目前的云业务编排能力上,只是针对单一的云计算环境的编排,而缺乏对边云协同能力的编排,在边缘业务运行环境上,存在网络不稳定,时延较大等与传统数据中心不一样的环境,会导致传统的云业务编排在边缘站点上业务调用失败或者业务流程错序等问题,最终导致业务失败;另外从整体业务运行环境上,边缘站点众多,如何有效的批量执行下发的编排业务,也与在单云环境下执行编排的任务不同。
发明内容
发明目的:本发明旨在提供一种基于云边协同环境的集中编排业务方法及系统,能够屏蔽上层业务对于边缘系统和分布式多任务的因素影响,使得原来针对集中式云的编排系统能够平滑迁移到云边环境来进行编排。
技术方案:本发明的基于云边协同环境的集中编排业务方法,包括以下步骤:
(1)对组件进行重新定义,以“边缘站点名+原组件名”的方式重新定义组件;
(2)组件自注册发现:在边缘站点设置边缘代理,在边缘代理上配置组件对应的业务能力并发送至云端的边云协同引擎,引擎经过处理后发送回站点,完成注册过程;
(3)业务下发:云端判断组件的类型,并获取组件对应站点,根据类型及站点完成业务下发。
所述步骤(2)具体包括以下步骤:
(201)在边缘站点设置边缘代理,在边缘代理上配置组件对应的业务能力;
(202)边缘代理通过读取描述文件,实时扫描位于站点的组件的业务能力是否就绪,若就绪,则执行(203);
(203)扫描到位于边缘站点的业务组件,获取业务组件名称及站点名称,将组件的业务能力发送给云端边云业务协同引擎;
(204)边云协同引擎收到业务组件注册消息,转换为集中式业务编排系统所要求的接口消息格式注册;
(205)组件将组件名称返回边云协同引擎,引擎将其分解为站点名和业务名,在数据库中查找是否有相同站点名称的组件,并获取组件的通信信息;
(206)如存在站点名称相同的组件,则这将其存为同一业务组;
(207)边云引擎将组件注册成功消息转发给对应的站点。
所述步骤(203)-(206)中,当获取业务组件名称失败、引擎分解名称失败或划分业务组失败,或任一步骤无法成功进行时,反馈站点注册失败的消息并同时反馈失败原因。
步骤(205)中,若无相同的名称的组件,则将该组件存至新建任务组中。
所述步骤(3)具体包括以下步骤:
(301)集中业务编排系统编排组件,并判断组件是否为分布式组件,如果组件为分布式组件,执行步骤(302),否则按照原业务处理;
(302)判断组件是否为组件组,如果为组件组,则查找数据库,获取该组件组下的所有组件,否则执行步骤(308)
(303)获取每个组件对应的站点;
(304)创建一个任务管理器,将业务并行下发给组件组内的所有组件;
(305)每个组件收到后返回确认消息,并执行任务,完成后发送完成消息;
(306)任务管理器监控任务,如果全部任务完成则业务适配完成,转流程结束,否则对超时任务重传;
(307)如果重传失败则业务调用失败,转流程结束;
(308)如果为单个组件,直接下发对应业务,收到组件回应后流程结束。
所述边云协同编排引擎中建立组件代理,组件代理负责业务下发,缓存注册或缓存业务下发中涉及的数据和消息,监控站点的通信情况,若站点与云端通信出现问题,则下发消息给组件代理,代理等待边缘实际组件上线后进行下发。
所述组件影子对于业务调用具有以下几种适配:
同步等待消息:每次业务调用,边云协同引擎发送给组件代理的消息,组件代理都需要等待实际组件返回确认消息后业务调用才算成功;
异步等待消息:每次业务调用,边云协同引擎发送给组件代理的消息,组件代理先直接返回业务处理成功,然后组件代理下发给边缘实际组件消息,并等待边缘实际组件回应或者超时等情况,代理组件再根据返回情况调用业务引擎的不同回调接口来通知业务引擎;
至少一次消息:每次业务调用,边云协同引擎发送给组件代理的消息,边云引擎不需要组件返回确认消息,但是组件代理必须保证边缘组件的返回给组件代理的回应确认消息,代理组件收到边缘组件回应的确认消息后不必通知业务引擎,不需要调用业务引擎的通知接口。
尽力而为消息:每次业务调用,边云协同引擎发送给组件代理的消息,边云引擎不需要组件返回确认消息,组件代理也不需要保证边缘组件的确认消息,组件可以配置最多重传次数,达到次数后消息直接丢弃,不需要调用系统的业务引擎的通知接口。尽力而为消息:每次业务调用,不需要返回消息,但是组件可以配置最多重传次数,达到次数后消息直接丢弃,不需要通知系统的业务调用。
本发明的基于云边协同环境的集中编排业务系统,包括集中式编排系统和设于云端的边云协同引擎,所述边云协同引擎连接设于边缘站点的边云协同代理;所述边云协同引擎用于完成上述的编排业务方法。
有益效果:与现有技术相比,本发明具有如下显著优点:
业务在本发明中所提供方案进行适配下发,对边端的业务组件进行适配、转换云端消息和数据后下发给相应的站点的业务组件,实现集中式业务编排系统在云边计算环境下能够直接使用。本发明可用于云计算平台下业务编排的服务,在云计算管理场景下具有广泛的应用场景。
附图说明
图1为本发明与周边系统的交互关系。
图2为本发明边缘组件业务自动发现流程示意图。
图3为本发明组件业务边云协同流程示意图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
在业务编排中,一般涉及到几个概念:
能力:指完成某一单一的业务行为,比如web页面,数据接入等,流程编排中被编排的即“能力”,他可以由一个或者一组执行组件共同完成,组件是能力的执行单元,也是业务执行的基础。
业务身份:描述一条业务的唯一id,通过业务行为(比如下单,退款等)和从业务中抽离的特殊属性(比如商品属性,活动类型等)唯一确定一条业务的身份,业务身份可以使单个维度,也可是多个维度的聚合,只要能够唯一匹配一条业务规则即可。
业务规则:业务能力的聚合,一个业务身份对应一条业务规则,执行引擎按照业务规则调度各个能力,业务规则在执行引擎中会被解释成指令清单,执行引擎利用指令清单去动态或者预生产执行链。
流程编排:使用各种“能力”进行编排来完成某一业务,各个“能力”被有序的编织起来,聚合成一条特定的执行链。
在本实施例中,通过重新定义业务的执行引擎,从而实现在集中云环境下定义的业务规则、业务身份能够在边云协同环境下重新应用。
基于云边协同环境的集中编排业务方法,包括以下步骤:
(1)对组件进行重新定义,以“边缘站点名+原组件名”的方式重新定义组件;
在边云系统中,组件的定义不单单是在云端环境运行的业务行为,在边端环境中也存在组件的定义,因此在组件中通过“边缘站点名+组件名的”方式来定义组件,这样边云的组件在编排系统中为独立功能组件,在新定义引擎中,能够通过解析组件名称来确定组件的边缘站点归属,另外由于边缘功能组件数量众多,需要提供一个自注册的功能组件注册机制。
(2)组件自注册发现:在边缘站点设置边缘代理,在边缘代理上配置组件对应的业务能力并发送至云端的边云业务协同引擎,引擎经过处理后发送回站点,完成注册过程;
如图2所示,本实施例中,组件自注册发现机制流程如下:
步骤101,在边缘站点设置边缘代理,在边缘代理上配置边缘组件具备的业务能力。
步骤102,边缘业务代理通过读取描述文件,扫描边端组件的业务能力是否就绪。
步骤103,如果没有就绪,定期扫描。
步骤104,如果扫描到边端的业务组件,获取业务组件名称,加上站点名称,将组件的业务能力发送给云端边云业务协同引擎。
步骤105,边云协同引擎收到业务组件注册消息,转换为集中式业务编排系统所要求的接口消息格式注册。
步骤106,边云协同引擎收到集中式业务编排组件返回的消息格式。
步骤107,边云协同引擎将组件名称分解为站点名和业务名后,在本地数据库中查找。
步骤108,是否有相同名字的其它站点业务组件。
步骤109,如果存在相同名字业务组,则将该站点的业务加入到已存在的业务组中。
步骤110,否则新建组件具备的名字创建一个业务组。
步骤111,边云协同引擎将通过发送名字获取注册组件站点名称,查找本地数据库后获取注册组件的通信信息(如IP地址等),
步骤112,边云引擎将消息成功/失败消息转发给对应的站点。
步骤113,流程结束。
(3)业务下发:云端判断组件的类型,并获取组件对应站点,根据类型及站点完成业务下发。
当组件注册到边云协同引擎后,就可以对组件进行业务下发适配
步骤201,集中业务编排系统编排组件。
步骤202,判断是否为分布式组件,如果组件为分布式组件,执行下一步。
步骤203,继续判断是否为组件组。
步骤204,如果为组件组,则查找数据库,获取该组件组下的所有组件并进行下一步,否则步骤210。
步骤205,获取每个组件对应的站点。
步骤206,创建一个任务管理器,将业务并行下发给组件组内的所有组件。
步骤207,每个组件收到后返回确认响应。
步骤208,任务管理器监控任务,如果全部任务完成则业务适配完成,转流程结束。
步骤209,否则对超时任务重传,如果失败则业务调用失败,转流程结束。
步骤210,如果为单个组件,直接下发,等待回应。
步骤211,收到回应后流程结束。
步骤212,流程结束。
在步骤201-212中,由于网络通信原因,边缘组件有可能会无法通信,这需要在边云协同中建立一个组件代理来适配这种场景,组件代理是各个边缘组件在云端的一个代理,它与状态无关,可作为集中式的业务编排的一个编排组件。组件代理负责业务下发,缓存注册或缓存业务下发中涉及的数据和消息,从而实现对集中式编排的适配。组建代理还监控站点的通信情况,若站点与云端通信出现问题,则下发消息给组件代理,代理等待边缘实际组件上线后进行下发。
组件影子对于业务调用具有以下几种适配:
同步等待消息:每次业务调用,边云协同引擎发送给组件代理的消息,组件代理都需要等待实际组件返回确认消息后业务调用才算成功;
异步等待消息:每次业务调用,边云协同引擎发送给组件代理的消息,组件代理先直接返回业务处理成功,然后组件代理下发给边缘实际组件消息,并等待边缘实际组件回应或者超时等情况,代理组件再根据返回情况调用业务引擎的不同回调接口来通知业务引擎;
至少一次消息:每次业务调用,边云协同引擎发送给组件代理的消息,边云引擎不需要组件返回确认消息,但是组件代理必须保证边缘组件的返回给组件代理的回应确认消息,代理组件收到边缘组件回应的确认消息后不必通知业务引擎,不需要调用业务引擎的通知接口。
尽力而为消息:每次业务调用,边云协同引擎发送给组件代理的消息,边云引擎不需要组件返回确认消息,组件代理也不需要保证边缘组件的确认消息,组件可以配置最多重传次数,达到次数后消息直接丢弃,不需要调用系统的业务引擎的通知接口。通过上述的几种消息,保证了集中式业务编排系统对分布式的消息场景的适配。
在集中式编排系统中,组件只是存在与本地环境,而在边云环境中,组件在地理位置上被拉远,导致通信不可靠,因此边云协同引擎需要构筑可靠的边缘组件通道。
由于边缘站点众多,而大部分边缘组件功能能力相同,在业务规则上需要同时执行多个站点相同能力的组件,在边云协同引擎中,将这些功能业务能力相同的组件编组,形成功能组后加入到集中式的编排系统中,这样集中式编排系统将分布式的功能组操作为一个独立的集中功能组件来进行编排,实现分布式的集中化操作,因此云边协同引擎需要提供一种分布式分发机制来保证。
机译: 在基于替换云的计算环境中对替换组件进行编排的系统和方法
机译: 在基于云的计算环境中进行协同过滤的系统,方法和装置
机译: 一种基于物理/网络/云的系统和方法,用于通过移动设备和计算机系统进行电子业务/名片设计,管理,存储和交换,称为ZappCards