基于quartz的分布式任务调度方法及系统技术方案

技术编号:36946548 阅读:69 留言:0更新日期:2023-03-22 19:07
本发明专利技术公开了基于quartz的分布式任务调度方法及系统,属于互联网技术领域,本发明专利技术要解决的技术问题为如何避免任务集群部署时的重复执行,采用的技术方案为:该方法具体如下:S1、在前端添加一个定时任务;S2、定义一个Job类继承IJobHandler,对接定时任务;S3、给Job类添加自定义注解@DempCron;S4、在Job类的handler()方法中实现业务逻辑。该系统包括任务调度中心、通信模块和业务模块,通信模块进行业务模块中定时任务的注册,任务调度中心下发定时任务,业务模块的回调接口进行执行结果的异步上传。的异步上传。的异步上传。

【技术实现步骤摘要】
基于quartz的分布式任务调度方法及系统


[0001]本专利技术涉及互联网
,具体地说是一种基于quartz的分布式任务调度方法及系统。

技术介绍

[0002]Quartz是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制。可以与J2EE与J2SE应用程序相结合也可以单独使用。允许程序开发人员根据时间的间隔来调度作业。实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。
[0003]定时任务系统在应用平台中的重要性不言而喻,特别是互联网电商、金融等行业更是离不开定时任务。在任务数量不多、执行频率不高时,单台服务器完全能够满足。但是随着业务逐渐增加,定时任务系统必须具备高可用和水平扩展的能力,单台服务器已经不能满足需求。因此需要把定时任务系统部署到集群中,实现分布式定时任务系统集群。Quartz的集群功能通过故障转移和负载平衡功能为调度程序带来高可用性和可扩展性。Quartz是通过数据库表来存储和共享任务信息的。独立的Quartz节点并不与另一个节点或者管理节点通信本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于quartz的分布式任务调度方法,其特征在于,该方法具体如下:S1、在前端添加一个定时任务;S2、定义一个Job类继承IJobHandler,对接定时任务;S3、给Job类添加自定义注解@DempCron;S4、在Job类的handler()方法中实现业务逻辑。2.根据权利要求1所述的基于quartz的分布式任务调度方法,其特征在于,步骤S1中的定时任务的信息包括定时任务的名称、定时任务的启动方式、定时任务的执行间隔、定时任务的间隔单位及定时任务的JobHandler。3.根据权利要求1或2所述的基于quartz的分布式任务调度方法,其特征在于,步骤S3中的@DempCron注解中的name与步骤S1中注册的JobHandler一致,通过JobHandler判断此Job属于本地任务还是远程任务,以实现不同的定时逻辑;@DempCron注解通过反射的方式获得Job的类名,以具体的定时执行Job类。4.根据权利要求3所述的基于quartz的分布式任务调度方法,其特征在于,步骤S4中的在Job类的handler()方法中实现业务逻辑具体如下:IJobHandler中定义了一个抽象方法handler(),具体实现类中重写handler()方法,并在其中实现要定时执行的业务逻辑。5.根据权利要求4所述的基于quartz的分布式任务调度方法,其特征在于,步骤S2中的IJobHandler中的逻辑会根据步骤S3中提及的@DempCron注解中的name处理本地或远程任务;对于本地任务,继承了一个LocalJob父类,通过Quartz定时执行LocalJob类,Job类是LocalJob的子类,Quartz定时执行父类的时,Job类的所有子类也会定时执行,实现本地任务的定时执行;对于远程任务,继承了一个HttpRemoteJob类,在HttpRemoteJob类中...

【专利技术属性】
技术研发人员:孙初雄
申请(专利权)人:浪潮软件集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1