[发明专利]一种服务间调用编排方法在审
申请号: | 202111317007.2 | 申请日: | 2021-11-08 |
公开(公告)号: | CN114138429A | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 王锐旭;张辉;梁超 | 申请(专利权)人: | 广州九尾信息科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54 |
代理公司: | 北京奥肯律师事务所 11881 | 代理人: | 贾融 |
地址: | 510000 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务 调用 编排 方法 | ||
本发明公开了一种服务间调用编排方法,包括以下步骤:1、接收任务的所有请求参数以及服务资源信息;2、编排调度中心根据请求的服务资源信息,在事先定义好的数据字典中查找相关调用链路;3、编排调度中心为父任务分配一个唯一消息ID并根据数据字典中的数据,将父任务拆分成一个或多个子任务,并添加子任务的超时时间信息;4、编排调度中心进一步修饰子任务并将各个子任务指令分发到不同的应用服务中;5、应用服务接收到任务指令后,完成具体操作;完成操作后进一步装饰子任务;6、编排调度中心通过时间轮在超时时间范围内检测各个子任务;7、所有子任务完成,编排调度中心响应最终结果。本发明提高了服务间调用链路的可控性和透明度。
技术领域
本发明涉及的是服务编排、服务调用技术领域,具体涉及一种服务间调用编排方法。
背景技术
在互联网分布式系统中,业务逻辑通常会分散到不同服务中,有时一个业务流程需要调用多个服务才能完成。成熟的方式是通过RPC(即远程过程调用)进行声明式的在各个服务间进行直接调用,然而随着调用链路的变化、服务的增减,会导致调用关系变得复杂、凌乱难以维护。
综上所述,本发明设计了一种服务间调用编排方法。
发明内容
针对现有技术上存在的不足,本发明目的是在于提供一种服务间调用编排方法,协调分布式系统中不同服务间的调用(特别是异步任务),提高了服务间调用链路的可控性和透明度。
为了实现上述目的,本发明是通过如下的技术方案来实现:一种服务间调用编排方法,包括以下步骤:
1、接收一个任务的所有请求参数以及服务资源信息;
2、编排调度中心根据请求的服务资源信息,在事先定义好的数据字典中查找相关调用链路;
3、编排调度中心为父任务分配一个唯一消息ID;
4、编排调度中心根据数据字典中的数据,将父任务拆分成一个或多个子任务,并添加子任务的超时时间信息;
5、编排调度中心进一步修饰子任务;
6、编排调度中心将各个子任务指令通过消息分发到不同的应用服务中;
7、应用服务接收到任务指令后,完成具体操作(例如:增、删、改、查等);
8、应用服务完成操作后进一步装饰子任务;
9、编排调度中心通过时间轮(TimingWheel)在超时时间范围内检测各个子任务;
10、所有子任务完成,编排调度中心响应最终结果。
作为优选,所述的步骤2具备包括:
A:查找出调用链路、校验通过请求参数则进行第3步;
B:未查找出调用链路或参数校验不通过则停止任务。
作为优选,所述的步骤5中修饰子任务是指分配唯一消息ID,父任务的消息ID,子任务的请求参数、请求方法。
作为优选,所述的步骤8中的修饰子任务是指返回数据、执行是否成功,并将结果通过消息发送给编排调度中心。
作为优选,所述的步骤9具体包括:
A:子任务超时未完成,结束整个父任务,并广播结束该父任务的消息,以便应用服务用来回滚相关子任务;
B:子任务未超时且收到结果,查询数据字典确认是否需进一步调度:
I:是,重复步骤3;
II:否,结束子任务,并将结果装饰给父任务;
本发明的有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州九尾信息科技有限公司,未经广州九尾信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111317007.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种防治向日葵盘腐菌核病的药物组合物
- 下一篇:一种用于钓竿的防滑握把