[发明专利]一种基于异步的声明式的微服务调度方法有效
| 申请号: | 202010082191.6 | 申请日: | 2020-02-07 |
| 公开(公告)号: | CN111611089B | 公开(公告)日: | 2023-06-27 |
| 发明(设计)人: | 于树松;周志明;陶冶;杨宁;石硕;宫会丽;丁香乾;侯瑞春;孟宇 | 申请(专利权)人: | 中国海洋大学 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F8/71 |
| 代理公司: | 青岛联智专利商标事务所有限公司 37101 | 代理人: | 邵新华 |
| 地址: | 266000 山*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 异步 声明 微服 调度 方法 | ||
1.一种基于异步的声明式的微服务调度方法,其特征在于,包括:
以编写配置文件的方式构建组合型微服务,在配置文件中定义构成所述组合型微服务所需的所有微服务之间的调用关系;
在访问者请求访问所述组合型微服务时,利用调度中心加载所述组合型微服务所对应的配置文件;
通过调度中心解析所述组合型微服务的构成,生成具有包含关系的组合型微服务结构树;
对结构树中所包含的微服务进行异步调用;
将满足调用条件的微服务送入流水线执行;
所述调度中心在将某一微服务送入流水线执行时,在此微服务中增加一个引用计数参数;所述引用计数参数在此微服务每次被调用时自动加1,在此微服务每次执行完毕后自动减1;当所述引用计数参数等于零时,调度中心将此微服务退出流水线;
汇总流水线中的微服务执行完毕后产生的返回结果,写回缓存。
2.根据权利要求1所述的基于异步的声明式的微服务调度方法,其特征在于,所述配置文件按照DSL语言规则编写,在所述配置文件中采用以下逻辑结构描述各微服务之间的调用关系:
name:命名,用于为组合型微服务命名;
serial:串行,用于上级微服务调用下级微服务;
parallel:并行,用于同级微服务间的调用;
condition:分支,用于对符合条件的微服务进行调用;
jump:循环,用于在条件成立的情况下跳转到指定的微服务循环执行;
break:跳出,用于跳出循环;
start:开始,用于在指定端口和hostname下发布组合型微服务;hostname为域名、ip或者主机名;
wait:等待,用于等待某一条件满足后进行下一步微服务调用;
end:结束,用于结束微服务的执行。
3.根据权利要求1所述的基于异步的声明式的微服务调度方法,其特征在于,在所述组合型微服务结构树中,父节点表示组合型微服务,叶子节点表示单一型微服务;在所述对结构树中所包含的微服务进行异步调用的过程中,包括:
解析叶子节点;
从作为叶子节点的微服务中解析出运行参数齐全的微服务,形成独立无依赖的微服务,直接调用;
将需要其他微服务提供参数或者需要条件判断的微服务,形成有依赖的微服务,在其调用条件满足时再行调用。
4.根据权利要求3所述的基于异步的声明式的微服务调度方法,其特征在于,在所述将满足调用条件的微服务送入流水线执行的过程中,包括:
将独立无依赖的微服务直接送入流水线执行;
对于有依赖的微服务,在等待其所依赖的微服务执行完毕后,通知调度中心,由调度中心传递参数,并在参数满足判断条件后,送入流水线执行。
5.根据权利要求4所述的基于异步的声明式的微服务调度方法,其特征在于,所述调度中心利用多条流水线分别执行微服务,每一个微服务流水线操作是一个独立的的进程。
6.根据权利要求5所述的基于异步的声明式的微服务调度方法,其特征在于,所述多条流水线部署到不同的主机中,负责相关逻辑业务操作;或者在同一主机部署多条不同的流水线操作;多条流水线操作异步执行,微服务在空闲的流水线操作中执行,使多个微服务并行执行。
7.根据权利要求1至6中任一项所述的基于异步的声明式的微服务调度方法,其特征在于,所述调度中心在调用某一微服务时,对传入此微服务的参数是否已使用过进行判断,若使用过所述参数,则将所述参数在首次传入此微服务时此微服务所生成的返回结果直接反馈给调用者;若未使用过所述参数,则将所述参数传入此微服务执行,并将此微服务的返回结果与所述参数一起写回缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国海洋大学,未经中国海洋大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010082191.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:受限推测性执行
- 下一篇:图像处理装置、图像处理方法及记录介质





