[发明专利]事件驱动的作业调度系统及方法在审
申请号: | 202110858191.5 | 申请日: | 2021-07-28 |
公开(公告)号: | CN113553157A | 公开(公告)日: | 2021-10-26 |
发明(设计)人: | 陈碧勇;方敏;林飞舞 | 申请(专利权)人: | 厦门南讯股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 厦门致群财富专利代理事务所(普通合伙) 35224 | 代理人: | 刘兆庆 |
地址: | 361000 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事件 驱动 作业 调度 系统 方法 | ||
本发明公开了事件驱动的作业调度系统及方法,所述系统包括作业中心、事件中心、定时器和调度器;所述作业中心包括事件处理器和决策器;所述方法包括如下步骤:S1、定义作业;S2、发布作业;S3、监听事件;S4、事件预处理;S5、发起决策;S6、执行命令。本发明的系统利用事件中心接收外部事件实现作业的自动调度,同时利用决策器对作业的运行时机进行精确控制,有效地使用运行资源,从而提高作业效率。
技术领域
本发明涉及计算机技术领域,特别涉及事件驱动的作业调度系统及方法。
背景技术
现有的作业调度产品Quartz、Elastic-Job、XXL-job、ApacheAirflow以及DolphinScheudler等实现了定时调度和工作流调度,这些作业调度框架都是基于时间或者流程进行调度,但在实际场景中,存在很多基于外部条件进行调度的情况,例如:当检测到服务器处理高负载的情况下发送告警信息等,而上述常用的调度产品无法这类触发条件对作业进行调度,因而无法根据外部环境的信号实现作业的自动调度。
发明内容
为解决上述问题,本发明提供了事件驱动的作业调度系统及方法。
本发明采用以下技术方案:
事件驱动的作业调度系统,包括作业中心、事件中心、定时器和调度器;所述作业中心包括事件处理器和决策器;
所述作业中心用于存储作业、创建任务、事件预处理、发起决策和发送命令,所述作业预先存储在作业中心,且每个所述作业都定义了相对应的事件处理器和决策器,并设置了相对应的作业标签;
所述事件中心用于监听事件、根据事件筛选出相对应的作业或任务以及将事件发送给相对应的任务或作业,并交付事件;
所述定时器用于设置定时发送时间或定时调度时间;
所述调度器用于执行所述作业中心发送的命令。
进一步地,所述事件由事件类型、标签选择器和事件参数组成。
进一步地,所述事件中心通过所述事件的标签选择器筛选出相对应的作业或任务。
进一步地,所述事件处理器用于对事件进行预处理并发起决策;所述决策器发起决策并发送执行命令给所述调度器。
事件驱动的作业调度方法,该方法基于所述作业调度系统实现,该方法具体包括如下步骤:
S1、定义作业:作业中心里的每个作业都定义了相对应的事件处理器和决策器,并设置了相对应的作业标签;
S2、发布作业:根据所述作业的定义向事件中心登记其要订阅的事件类型和对应的作业标签,如果所述作业是定时作业,还需要向定时器登记定时调度事件和对应的作业标签,由定时器定时发送待运行事件给所述事件中心;
S3、监听事件:事件中心实时监听来自各个渠道发送过来的事件,当事件到来,事件中心根据该事件筛选出相对应的作业或者任务,然后将该事件发给相对应的任务或者作业;
S4、事件预处理:当作业或者任务接收到事件后,事件处理器补全所述任务的上下文信息,然后将事件转发给决策器;
S5、发起决策:当对事件发起决策时,每个决策器都先根据作业或任务的信息先判断是否参与决策,如果有至少一个决策器拒绝响应这个事件,那么就会终止处理流程,否则向调度器发送命令,将这个事件交给调度器处理;
S6、执行命令:当事件进入到调度器,调度器立即执行该事件对应的命令,并将执行结果反馈给事件中心。
采用上述技术方案后,本发明与背景技术相比,具有如下优点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门南讯股份有限公司,未经厦门南讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110858191.5/2.html,转载请声明来源钻瓜专利网。