[发明专利]基于消息的低耦合计划任务组件的实现方法及其系统有效
申请号: | 201811443026.8 | 申请日: | 2018-11-29 |
公开(公告)号: | CN109766194B | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 吴猛;张斌;陈高锋;汪明贵;薛飞;罗黎明;童菲;俞珍秒 | 申请(专利权)人: | 南瑞集团有限公司;南京南瑞信息通信科技有限公司;国网山东省电力公司青岛供电公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 姚兰兰;董建林 |
地址: | 211106 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 消息 耦合 计划 任务 组件 实现 方法 及其 系统 | ||
本发明公开了基于消息的低耦合计划任务组件的实现方法及其系统,包括以下步骤:将计划任务注册信息按约定协议转换成消息,发送至注册任务消息队列上;主节点接收到注册任务消息后与已注册计划任务合并,并更新本地缓存和数据库;计划任务服务端按约定的消息协议,将任务执行所需要的信息转换成消息,发送至触发任务消息队列上;计划任务客户端侦听触发任务消息队列,根据接收到的消息执行预定的任务处理逻辑;当需要回溯任务时,计划任务回溯服务根据所述计划任务客户端预设的任务回溯起始时间回播所述触发任务消息队列中的消息。本发明计划任务组件运行时客户端与服务端耦合程度低,易于按顺序进行任务回溯及服务横向扩展。
技术领域
本发明涉及基于消息的低耦合计划任务组件的实现方法及其系统,属于计划任务管理技术领域。
背景技术
计划任务是一种需要按指定周期或在特定的时间点进行执行的动作和逻辑。在绝大多数的应用软件中都存在类似的需求。目前针对应用软件中计划任务管理一种是采用计划任务服务端与计划任务客户端分离的方式实现和部署,在这种方式下计划任务服务端维护并管理任务,当任务满足执行条件时,通过远程方法调用的方式执行任务;另一种方式是在应用程序中直接启动计划任务管理线程,当任务满足执行条件时,直接通过本地方法调用来执行任务。第一种计划任务管理的实现方式较第二种方式有较强的分布任务处理能力,但两种方式都存在以下问题:1)耦合度高。第一种实现方式计划任务客户端与计划任务服务端之间高度耦合,当计划任务客户端或计划任务服务端任一服务异常时,另一个服务都运行时都无法正常运行。更重要的是,当异常服务恢复正常后,无法自动处理异常期间的执行请求。2)任务回溯难以控制。上述两种计划任务管理的实现方式都会通过数据库来记录每个任务执行情况。当需要任务回溯时,需要从数据库中从查询所有的任务的执行记录,并调用相应的任务处理逻辑,不仅排序处理逻辑服务,而且由于时间精度问题往往无法严格保证按原来的顺序执行。
发明内容
针对现有技术存在的不足,本发明目的是提供一种基于消息的低耦合计划任务组件的实现方法及其系统,本发明计划任务组件运行时客户端与服务端耦合程度低,易于按顺序进行任务回溯及服务横向扩展。
为了实现上述目的,本发明是通过如下的技术方案来实现:
本发明的基于消息的低耦合计划任务组件的实现方法,包括以下步骤:
计划任务客户端启动时,将计划任务注册信息按约定协议转换成消息,发送至注册任务消息队列上;
计划任务服务端是由多个服务节点组成的服务端集群,所述服务端集群中包含一个主节点和多个从节点,当主节点出现异常后,服务端集群中的一个从节点将成为新的主节点;
计划任务服务端启动时,主节点加载已注册计划任务,并侦听所述注册任务消息队列,所述主节点接收到注册任务消息后与已注册计划任务合并,并更新本地缓存和数据库;
所述计划任务服务端的主节点判断任务是否达到执行要求,若达到执行要求,所述计划任务服务端按约定的消息协议,将任务执行所需要的信息转换成消息,发送至触发任务消息队列上;
所述计划任务客户端以服务集群的方式启动,多个服务节点同时侦听所述触发任务消息队列,分别根据接收到的消息执行预定的任务处理逻辑。
当需要回溯任务时,计划任务回溯服务根据所述计划任务客户端预设的任务回溯起始时间回播所述触发任务消息队列中的消息。
上述约定协议包括计划任务名称、应用名称、执行实体、执行周期、执行开始时间、丢失任务处理策略;所述丢失任务处理策略包括重新依次执行丢失任务和放弃执行丢失任务。
计划任务服务端启动时,主节点加载已注册计划任务,并侦听所述注册任务消息队列,所述主节点接收到注册任务消息后与已注册计划任务合并,并更新本地缓存和数据库,具体方法如下:
所述计划任务服务端集群在启动时,首先进行集群主节点选举;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南瑞集团有限公司;南京南瑞信息通信科技有限公司;国网山东省电力公司青岛供电公司,未经南瑞集团有限公司;南京南瑞信息通信科技有限公司;国网山东省电力公司青岛供电公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811443026.8/2.html,转载请声明来源钻瓜专利网。