[发明专利]一种复杂运维作业编排与调度系统及其方法有效
申请号: | 201710610131.5 | 申请日: | 2017-07-25 |
公开(公告)号: | CN107423122B | 公开(公告)日: | 2020-08-18 |
发明(设计)人: | 丁明威;李亚琼;花磊 | 申请(专利权)人: | 苏州博纳讯动软件有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京易捷胜知识产权代理事务所(普通合伙) 11613 | 代理人: | 韩国胜 |
地址: | 215213 江苏省苏州市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 复杂 作业 编排 调度 系统 及其 方法 | ||
1.一种复杂运维作业编排与 调度系统,其特征在于,包括任务编排模块、任务调度模块和任务执行模块;其中,
所述任务编排模块,用于将作业划分为整体复杂任务Task、运行步骤step及执行任务job三类对象,并根据三类对象的数据和关联关系编排;
所述任务调度模块,用于将任务调度划分为server、scheduler和worker三个层面的调度,并根据任务编排模块的编排执行任务调度;
所述任务执行模块,用于根据任务调度的worker调度执行任务;
所述任务编排模块中所述整体复杂任务Task接收业务数据,进行数据校验,当数据格式正确情况下执行各个运行步骤step,在单个运行步骤step中获取具体执行任务job列表,并对每个执行任务job列表的任务参数封装成一个任务线程;
所述运行步骤step之间存在依赖关系则采用串行执行,所述运行步骤step之间不存在依赖关系则可放入同一个运行步骤step中执行,所述运行step内部的所述执行任务job采用并行执行;
线程执行时会将具体的任务发送到scheduler中,然后等待MQ中的job处理结果,即所述任务调度模块中所述server向所述scheduler发送执行任务job的信息,所述scheduler接收后根据worker的数量以及单个worker的处理能力经验值计算该次执行任务job需要调用worker的最优次数,并下发到具体worker中执行,worker根据自身处理能力的大小,将多个目标机器进行再次分割,然后并发执行任务,执行结束后将结果回传到所述server的任务线程中。
2.根据权利要求1所述的一种复杂运维作业编排与调度系统,其特征在于,系统基于Zookeeper作为服务的注册和管理中心;通过RabbitMQ进行服务模块之间消息的传递;并采用MySQL作为基础数据的数据库。
3.根据权利要求1所述的一种复杂运维作业编排与调度系统,所述整体复杂任务Task、所述运行步骤step和所述执行任务job的数据和关联关系数据存放在MySQL数据库中。
4.根据权利要求1所述的一种复杂运维作业编排与调度系统,其特征在于,所述server和所述scheduler的调度方式包括pull和push两种模式,即所述server定时向所述scheduler推送任务消息和scheduler在任务执行结束之后也会向server询问是否有其他可执行的任务。
5.根据权利要求1所述的一种复杂运维作业编排与调度系统,其特征在于,所述任务执行模块中worker接受到执行任务job执行的接口调用,判断执行任务job的参数格式,若不满足参数格式要求的直接返回出错;若满足则根据工具类型进行分类,worker会调用相应分类的模块接口进行任务的执行和结果的收集。
6.根据权利要求1所述的一种复杂运维作业编排与调度系统,其特征在于,所述任务编排模块、所述任务调度模块和所述任务执行模块运行基于B/S架构的管理平台。
7.一种基于权利要求1至6任一所述的复杂运维作业编排与 调度系统的复杂运维作业编排与调度方法,其特征在于,包括如下步骤:将作业划分为整体复杂任务Task、运行步骤step及执行任务job三类对象,并根据三类对象的数据和关联关系编排;
将任务调度划分为server、scheduler和worker三个层面的调度,并根据任务编排模块的编排执行任务调度;根据任务调度的worker调度执行任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州博纳讯动软件有限公司,未经苏州博纳讯动软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710610131.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于围坝胶生产的旋转式分装装置
- 下一篇:一种RB鞋底模具