一种基于ONS的定时任务调度方法与流程

文档序号:11864466阅读:382来源:国知局

本发明涉及计算机软件技术,尤其涉及一种基于ONS的定时任务调度方法。



背景技术:

传统的定时任务基于服务器端进行启动,远程调用各业务子系统的服务,属于同步调用机制,该机制有如下缺点:

1、同步方式容易造成等待死锁,其它代码无法执行的现象;

2、同步方式容易超时,如果定时任务调用时间间隔过短,容易造成业务系统

3、代码尚未执行完成,又进行了二次启动的问题;

4、传统方式的定时任务无法正常跟踪各业务系统JOB状态;

5、传统方式的定时任务无法很好针对单节点及集群进行灵活配置。



技术实现要素:

本发明提出了一种基于ONS的定时任务调度方法。此定时任务方法的场景适用于控制各独立客户端业务系统任务的远程启动,各业务系统自行编写对应的任务调度代码,并且可以针对定时任务的性质进行单节点或集群的动态配置,适应集群节点的自动扩展。

本发明要解决的技术问题是:

1、解决同步方式容易造成等待死锁,其它代码无法执行的现象;

2、解决同步方式容易超时,如果定时任务调用时间间隔过短,容易造成业务系统代码尚未执行完成,又进行了二次启动的问题;

3、解决传统方式的定时任务无法正常跟踪各业务系统JOB状态的问题。

本发明提供的技术方案:

1、服务端统一为各业务系统提供定时任务jar包,各业务系统自行编写JOB代码;

2、定时任务jar包提供了RunJobMessageListener和ShowMethodMessageListener监听,其中RunJobMessageListener可以获取实现了IJob接口的bean并发送给服务端,ShowMethodMessageListener类可以监听来自服务端的启动指令,启动实现了IJob接口的类的execute方法;

3、服务器端提供了统一门户进行定时任务统一配置,可以选择到业务子系统jar包反馈的实现了IJob接口类的bean信息;可以配置定时任务调用的时间间隔及需要传递的参数;

4、服务端统一向客户端发送定时任务启动指令,jar包监听到该指令后,自动执行IJob实现类的execute方法,并将任务执行结果异步传递给服务端。

本发明定时任务基于阿里ONS异步消息机制,无需考虑服务端同步等待的问题,节省了服务端资源消耗,并且各业务系统独自编写各自的JOB实现代码,灵活可配置。

本发明技术方案带来的有益效果

1、解决了同步等待,资源过度消耗的问题;

2、各业务子系统独自编写自己的业务代码,耦合度大大降低;

3、统一门户平台进行定时任务配置,方便整体把控;

附图说明

图1是本发明的整体模型示意图。

具体实施方式

下面对本发明的内容进行更加详细的阐述:

本发明适用于各独立应用之间的定时任务调用,JOB服务器控制多个业务子系统的JOB调用;

本发明基于阿里ONS消息机制,异步发起JOB启动指令、异步接收各业务子系统反馈的JOB状态;

JOB服务端统一为各业务子系统提供定时任务jar包,提供IJob接口,各业务系统需要实现IJob接口;jar包会自动监听实现IJob接口的类,并及时反馈给服务端;

各业务系统需要登录服务端提供的统一门户进行定时任务调度机制的配置,页面中可以选择实现IJob接口的bean信息,并且可以进行参数配置;

服务端基于quartz包进行任务的统一调度,向各业务系统发送JOB启动指令,定时任务jar包会接收启动指令,并自动调用实现IJob接口的任务类。举例步骤:

业务子系统引入JOB.jar;

业务子系统编写Bean,实现IJob的execute,如下:

登录服务端提供的统一门户,进入任务调度页面,进行定时任务的统一配置。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1