[发明专利]一种基于互联网分布式下的微服务业务调度方法有效
| 申请号: | 201811629601.3 | 申请日: | 2018-12-28 |
| 公开(公告)号: | CN109739550B | 公开(公告)日: | 2019-08-06 |
| 发明(设计)人: | 刘浪平 | 申请(专利权)人: | 四川新网银行股份有限公司 |
| 主分类号: | G06F8/71 | 分类号: | G06F8/71;G06Q40/02 |
| 代理公司: | 成都智言知识产权代理有限公司 51282 | 代理人: | 李龙;徐金琼 |
| 地址: | 610094 四川省成都市成都*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 服务节点 调度引擎 服务业务 依赖关系 统一 调度 调度配置 服务调度 解决系统 内部代码 软件信息 远程调度 代码量 互联网 迭代 标注 服务 主旨 混乱 配置 维护 | ||
1.一种基于互联网分布式下的微服务业务调度方法,其特征在于,包括以下步骤:
S 1. 微服务调度节点申明:
定义各个微服务调度节点的别名,得到微服务节点别名,为后续调度配置通过申明化的别名进行统一视图的展现提供依赖;
S 2. 调度配置统一视图:
设定步骤S1申明的微服务节点别名调度的依赖关系和执行顺序,得到统一视图;
S 3. 远程调度节点实例:
配置各个微服务,并把各个微服务对应的标注上步骤S1定义的微服务节点别名,得到远程调度节点实例;
S4.调度引擎
根据步骤S2的统一视图中的服务节点别名找到步骤S3中对应的各个微服务,并按照统一视图中的微服务节点别名调度的依赖关系和执行顺序,实现整体的调度业务逻辑;
所述步骤S4包括以下步骤:
步骤S4-1:当上游接口调用配置的某一调度服务后,接口获取调用端传入的参数;
步骤S4-2:构造调度上下文对象,将外部接口调用的参数data,传入调度上下文对象中;
步骤S4-3:创建调度引擎对象,将调度配置统一视图对象和调度上下文对象传入到调度引擎中,调度引擎对象调用perform()方法,启动调度引擎,开始进行远程调度业务处理;
步骤S4-4:调度引擎对象获取到调度配置统一视图对象的开始节点,调用远程调度节点实例对象的执行方法;
步骤S4-5:获取远程调度节点实例对象的处理结果,如果返回成功,调用调度配置统一视图对象,获取该处理节点的下一个微服务节点别名;
步骤S4-6:通过反射方法,获取到下一个远程调度节点实例对象,调用该远程调度节点实例对象的执行方法;
步骤S4-7:如果返回为失败,在远程调度节点实例对象中,调用异常处理调度模板,获取到异常处理节点对象;
步骤S4-8:在该远程调度节点实例对象中,调用执行异常补偿调度;
步骤S4-9:循环执行步骤S4-5-步骤S4-8流程,直到该调度顺序配置执行完成;
步骤S4-10:根据接口约定的返回模式,返回上游调度处理的结果。
2.根据权利要求1所述的一种基于互联网分布式下的微服务业务调度方法,其特征在于,所述步骤S1包括以下步骤:
步骤1:新建类,得到微服务调度节点申明对象;
步骤2:在微服务调度节点申明对象中,申明每个微服务节点别名。
3.根据权利要求1所述的一种基于互联网分布式下的微服务业务调度方法,其特征在于,所述步骤S2包括以下步骤:
步骤1:通过继承Base调度配置类的方式,得到调度配置统一视图对象;
步骤2:对调度配置统一视图对象,实现Base调度对象申明的抽象配置方法,得到调度配置方法;
步骤3:对调度配置方法中,设置调度起始节点,将微服务调度节点申明对象的调度节点的微服务节点别名为参数传入到该方法中;
步骤4:对调度配置方法中,调用next()方法,根据调度需求中的前后依赖关系,配置起始节点的下一调度节点,将微服务调度节点申明对象的微服务节点别名作为下一个调度节点的参数传入;
步骤5:依次调用next()方法,配置每一个调度节点顺序依赖关系;
步骤6:当某一个调度节点有条件判断,调用switchNode()方法,传入微服务调度节点申明对象的微服务节点别名,表明该调度节点是需要进行分支节点;
步骤7:在switchNode()方法后,继续调用next()方法,传入微服务调度节点申明对象的微服务节点别名,配置后续处理调度节点;
步骤8:对调度配置统一视图对象,重载实现异常处理调度配置,配置当遇到异常情况下的处理流程;
步骤9:在异常处理调度配置中,配置异常处理流程的调度顺序,同样通过netxt()方法进行调度顺序的串联;通过switchNode()方法对于分支类进行配置。
4.据权利要求1所述的一种基于互联网分布式下的微服务业务调度方法,其特征在于,所述步骤S3包括以下步骤:
步骤1:根据微服务调度节点申明对象的微服务节点别名,继承Abstract的调度节点类,得到一个远程调度节点实例对象;
步骤2:通过抽象节点类的执行方法实现该远程调度节点的具体业务逻辑;
步骤3:通过远程RPC方式,调用远程微服务的接口;
步骤4:获取远程微服务接口的返回Response对象;
步骤5:解析远程Response对象返回的响应code值;
步骤6:如果code=200,表示远程调用成功,该调度节点处理流程结束,调用静态success()方法,返回调度节点处理的返回值;
步骤7:如果code!=200,表示调度节点远程调用异常,该调度节点处理结束,调用调度节点的error()方法,并传入申明的异常code和异常信息;
步骤8:在远程调度节点实例对象中,重载configSwtich()方法,在该方法中编写该调度节点的分支逻辑;
步骤9:通过调度引擎的上下文,获取实现分支判断的信息,根据业务判断数据,返回微服务调度节点申明对象的微服务节点别名。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811629601.3/1.html,转载请声明来源钻瓜专利网。





