CN107704315A - 一种基于Quartz的定时任务调度服务框架及方法 - Google Patents

一种基于Quartz的定时任务调度服务框架及方法 Download PDF

Info

Publication number
CN107704315A
CN107704315A CN201710209051.9A CN201710209051A CN107704315A CN 107704315 A CN107704315 A CN 107704315A CN 201710209051 A CN201710209051 A CN 201710209051A CN 107704315 A CN107704315 A CN 107704315A
Authority
CN
China
Prior art keywords
task
business
program
dispatch service
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710209051.9A
Other languages
English (en)
Inventor
陈强
黄良沃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Wangjin Holdings Co Ltd
Original Assignee
Guangdong Wangjin Holdings Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Wangjin Holdings Co Ltd filed Critical Guangdong Wangjin Holdings Co Ltd
Priority to CN201710209051.9A priority Critical patent/CN107704315A/zh
Publication of CN107704315A publication Critical patent/CN107704315A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于Quartz的定时任务调度服务框架及方法,其中的定时任务调度服务框架包括,配置文件,包括配置信息;任务调度器,包括触发器以及作业接口,并通过所述配置信息实例化触发器以及作业接口,以提供相应的任务调度服务;业务任务端,配置有继承所述作业接口的业务任务程序,并在所述任务调度服务启动后接收所述触发器发出的触发信号以使所述业务任务程序完成相应的运行。本发明能够简单快速地实现定时任务调度服务的需求,提高业务系统的开发效率和质量。

Description

一种基于Quartz的定时任务调度服务框架及方法
技术领域
本发明涉及计算机中定时执行指定任务的领域,尤其涉及一种基于Quartz的定时任务调度服务框架及方法。
背景技术
现有的信息系统中,有很多要求系统定时执行的某些指定的任务,以满足业务需求。目前的较为简单的实现方式是开发者自己通过代码实现定时执行的任务。这种形式虽然也可以满足业务需求,但是对开发者有比较高的要求,开发效率低,并且系统质量无法得到保障。另外,当前也有相关的技术框架实现了比较完整的定时调度框架,比如Quartz,Quartz是个开源的作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制,Quartz允许开发人员根据时间间隔来调度作用,它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。但是使用该框架进行开发,对开发人员来说需要对定时任务调度服务和quartz有一定的了解,即有一定的学习成本,不方便测试和定时任务调度服务的部署,不利快速应用于实际项目中。
发明内容
针对现有技术的不足,本发明的目的旨在于提供一种基于Quartz的定时任务调度服务框架及方法,以简单快速地实现定时任务调度服务的需求,提高业务系统的开发效率和质量。
为实现上述目的,本发明采用如下技术方案:
一种基于Quartz的定时任务调度服务框架,包括,
配置文件,包括配置信息;
任务调度器,包括触发器以及作业接口,并通过所述配置信息实例化触发器以及作业接口,以提供相应的任务调度服务;
业务任务端,配置有继承所述作业接口的业务任务程序,并在所述任务调度服务启动后接收所述触发器发出的触发信号以使所述业务任务程序完成相应的运行。
优选的,所述业务任务端还包括测试单元,所述测试单元用于对业务任务程序进行逻辑测试。
优选的,所述定时任务调度服务框架还包括本地日志文件,所述本地日志文件用于记录所述任务调度服务的运行信息。
优选的,所述定时任务调度服务框架还包括批处理文件,所述批处理文件用于实现所述任务调度服务的安装和启动。
优选的,所述配置信息包括待配置的业务任务程序的信息以及所述待配置的业务任务程序的调度规则。
另外,本发明还提供一种基于Quartz的定时任务调度服务的方法,包括如下步骤:
根据配置文件的配置信息实例化触发器以及作业接口,以提供相应的任务调度服务;
通过配置文件的配置信息使得业务任务端的业务任务程序继承所述作业接口;
当所述任务调度服务启动后,控制所述触发器发出触发信号;
当所述业务任务端通过所述作业接口接收到所述触发器发出的触发信号,控制所述业务任务程序进行相应的运行。
优选的,所述方法还包括以下步骤,通过测试单元对业务任务端的业务任务程序进行逻辑测试。
优选的,所述控制所述业务任务程序进行相应的运行的步骤之后还包括,通过本地日志文件记录所述任务调度服务的运行情况。
优选的,所述当所述任务调度服务启动后,控制所述触发器发出触发信号的步骤之前还包括,通过批处理文件实现所述任务调度服务的安装和启动。
优选的,所述配置信息包括待配置的业务任务程序的信息以及所述待配置的业务任务程序的调度规则。
本发明的有益效果如下:
本发明提供的基于Quartz的定时任务调度服务框架及方法,可以简单,快速地实现定时任务调度服务的需求,提高了用户团队关于定时任务业务的开发效率,降低了对用户团队成员的技术要求,从而使得定时任务业务的开发人员把精力集中投入到定时任务业务开发中,同时方便了开发人员对定时任务业务的程序代码的测试和定时业务调度服务的创建和部署,提高了整个信息系统的开发效率和质量。
附图说明
图1为本发明提供的基于Quartz的定时任务调度服务框架的结构示意图;
图2为本发明提供的基于Quartz的定时任务调度服务方法的流程示意图;
图3为本发明提供的基于Quartz的定时任务调度服务方法的另一流程示意图。
具体实施方式
下面将结合附图以及具体实施方式,对本发明做进一步描述:
请参见图1,本发明涉及一种基于Quartz的定时任务调度服务框架,其较佳实施方式包括,配置文件101,包括配置信息;任务调度器102,包括触发器以及作业接口,并通过所述配置信息实例化触发器以及作业接口,以提供相应的任务调度服务;业务任务端103,配置有继承所述作业接口的业务任务程序,并在所述任务调度服务启动后接收所述触发器发出的触发信号以使所述业务任务程序完成相应的运行。其中,所述配置信息包括待运行的业务任务程序的信息以及所述待运行的业务任务程序的调度规则。
具体的,本发明中的任务调度器启动的时候即提供任务调度服务,任务调度服务可以进行相应的安装、启动或者删除,任务调度服务可以是集成了Quartz.net框架的Windows服务。所述的配置文件为Quartz.net自定义的配置文件Quartz.xml,用于配置待运行的业务任务程序的信息以及所述待运行的业务任务程序的调度规则。配置文件通过实例化Quartz.net对象,即实例化触发器以及作业接口(Jobs),以使任务调度器形成通用的定时任务调度服务,从而可以使得用户开发人员在实现具体的定时任务开发时,无需关注定时任务如何进行调度,从而把精力专注于业务的开发上。
同时,所述的业务任务端为具体任务的业务逻辑实现端,其配置有继承所述作用接口的业务任务程序,即所述业务任务程序实现了Quartz.net定义的作业接口,从而使得业务任务程序代码在Execute方法中实现,其中Execute方法为接口定义的要继承的程序代码实现的方法。根据Quartz.net定义的接口定义的流程,业务任务端能够在任务调度服务启动后接收所述触发器发出的触发信号以自动完成业务任务程序的运行从而完成相应的具体任务。
具体的,业务任务程序以及实现了Quartz.net定义的作业接口之间是通过配置文件关联起来的,即任务调度服务的程序在启动的时候,通过配置文件中指定的待运行的业务任务程序及其调度规则运行。所述调度规则为具体的业务任务程序及其相应的定时运行的规则,例如每5分钟同步一次融资项目投资进度,其中,融资羡慕投资进度为具体的业务任务,其中触发器能够每5分钟同步触发一次继承作业接口的具体的业务任务程序的运行,即同步一次融资项目投资进度。
作为优选的,所述定时任务调度服务框架还包括测试单元104,所述测试单元用于对业务任务程序进行逻辑测试。具体的,业务任务程序在开发的过程中,通过测试单元即可实现业务任务程序的单元测试,也就是实现具体的逻辑测试,使得用户开发人员可以随时对业务任务代码进行测试,保证部署到具体服务环境时运行的质量。
作为进一步优选的,所述定时任务调度服务框架还包括本地日志文件105,所述本地日志文件用于记录所述任务调度服务的运行信息。其中,所述的本地日志文件为基于Quartz.net框架而自定义的调度运行记录的文件。运维人员可以通过查看本地日志文件,快速地获取服务中任务的运行情况。
作为进一步优选的,所述定时任务调度服务框架还包括批处理文件106,所述批处理文件用于实现所述任务调度服务的安装和启动。
其中,批处理文件能够实现任务调度服务的快速安装和启动,当然也可以实现任务调度服务的卸载,有效地提高了任务调度服务部署的效率。
参见图2,本发明还涉及了一种基于Quartz的定时任务调度服务方法,其较佳实施方式包括如下步骤,
步骤S101,根据配置文件的配置信息实例化触发器以及作业接口,以提供相应的任务调度服务。其中,任务调度服务可以是集成了Quartz.net框架的Windows服务。
作为优选的,所述配置信息包括待配置的业务任务程序的信息以及所述待配置的业务任务程序的调度规则。所述的配置文件为Quartz.net自定义的配置文件Quartz.xml,用于配置待运行的业务任务程序的信息以及所述待运行的业务任务程序的调度规则。
配置文件通过实例化Quartz.net对象,即实例化触发器以及作业接口(Jobs),以使任务调度器形成通用的定时任务调度服务,从而可以使得用户开发人员在实现具体的定时任务开发时,无需关注定时任务如何进行调度,从而把精力专注于业务的开发上。
步骤S102,通过配置文件的配置信息使得业务任务端的业务任务程序继承所述作业接口。
其中,所述的业务任务端为具体任务的业务逻辑实现端,其配置有继承所述作用接口的业务任务程序,即所述业务任务程序实现了Quartz.net定义的作业接口。根据Quartz.net定义的接口定义的流程,业务任务端能够在任务调度服务启动后接收所述触发器发出的触发信号以自动完成业务任务程序的运行从而完成相应的具体任务。
步骤S103,当所述任务调度服务启动后,控制所述触发器发出触发信号。
具体的,业务任务程序以及实现了Quartz.net定义的作业接口之间是通过配置文件关联起来的,即任务调度服务的程序在启动的时候,通过配置文件中指定的待运行的业务任务程序及其调度规则运行,所述调度规则为具体的业务任务程序及其相应的定时运行的规则。
步骤S104,当所述业务任务端通过所述作业接口接收到所述触发器发出的触发信号,控制所述业务任务程序进行相应的运行。
例如,若调度规则为每5分钟同步一次融资项目投资进度。其中,融资羡慕投资进度为具体的业务任务,每5分钟同步一次继承作业接口的具体的业务任务程序的运行,即每5分钟同步一次融资项目投资进度。
作为进一步的,参见图3,本发明还涉及了另一种基于Quartz的定时任务调度服务方法,其较佳实施方式包括如下步骤,
步骤S201,根据配置文件的配置信息实例化触发器以及作业接口,以提供相应的任务调度服务。
步骤S202,通过配置文件的配置信息使得业务任务端的业务任务程序继承所述作业接口。
步骤S202′,通过批处理文件实现所述任务调度服务的安装和启动。其中,批处理文件能够实现任务调度服务的快速安装和启动,当然也可以实现任务调度服务的卸载,有效地提高了任务调度服务部署的效率。
步骤S203,当所述任务调度服务启动后,控制所述触发器发出触发信号。
步骤S204,当所述业务任务端通过所述作业接口接收到所述触发器发出的触发信号,控制所述业务任务程序进行相应的运行。
步骤S205,通过测试单元对业务任务端的业务任务程序进行逻辑测试。具体的,业务任务程序在开发的过程中,通过测试单元即可实现业务任务程序的单元测试,也就是实现具体的逻辑测试,使得用户开发人员可以随时对业务任务代码进行测试,保证部署到具体服务环境时运行的质量。
步骤S206,通过本地日志文件记录所述任务调度服务的运行情况。其中,所述的本地日志文件为基于Quartz.net框架而自定义的调度运行记录的文件。运维人员可以通过查看本地日志文件,快速地获取服务中任务的运行情况。
总的来说,本发明提供的基于Quartz的定时任务调度服务框架及方法,可以简单,快速地实现定时任务调度服务的需求,提高了用户团队关于定时任务业务的开发效率,降低了对用户团队成员的技术要求,从而使得定时任务业务的开发人员把精力集中投入到定时任务业务开发中,同时方便了开发人员对定时任务业务的程序代码的测试和定时业务调度服务的创建和部署,提高了整个信息系统的开发效率和质量。
对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。

Claims (10)

1.一种基于Quartz的定时任务调度服务框架,其特征在于,包括,
配置文件,包括配置信息;
任务调度器,包括触发器以及作业接口,并通过所述配置信息实例化触发器以及作业接口,以提供相应的任务调度服务;
业务任务端,配置有继承所述作业接口的业务任务程序,并在所述任务调度服务启动后接收所述触发器发出的触发信号以使所述业务任务程序完成相应的运行。
2.如权利要求1所述的定时任务调度服务框架,其特征在于,所述定时任务调度服务框架还包括测试单元,所述测试单元用于对业务任务程序进行逻辑测试。
3.如权利要求1所述的定时任务调度服务框架,其特征在于,所述定时任务调度服务框架还包括本地日志文件,所述本地日志文件用于记录所述任务调度服务的运行信息。
4.如权利要求1所述的定时任务调度服务框架,其特征在于,所述定时任务调度服务框架还包括批处理文件,所述批处理文件用于实现所述任务调度服务的安装和启动。
5.如权利要求1所述的定时任务调度服务框架,其特征在于,所述配置信息包括待运行的业务任务程序的信息以及所述待运行的业务任务程序的调度规则。
6.一种基于Quartz的定时任务调度服务的方法,其特征在于,包括如下步骤:
根据配置文件的配置信息实例化触发器以及作业接口,以提供相应的任务调度服务;
通过配置文件的配置信息使得业务任务端的业务任务程序继承所述作业接口;
当所述任务调度服务启动后,控制所述触发器发出触发信号;
当所述业务任务端通过所述作业接口接收到所述触发器发出的触发信号,控制所述业务任务程序进行相应的运行。
7.如权利要求6所述的定时任务调度服务的方法,其特征在于,所述方法还包括以下步骤,
通过测试单元对业务任务端的业务任务程序进行逻辑测试。
8.如权利要求6所述的定时任务调度服务的方法,其特征在于,所述控制所述业务任务程序进行相应的运行的步骤之后还包括,
通过本地日志文件记录所述任务调度服务的运行情况。
9.如权利要求6所述的定时任务调度服务的方法,其特征在于,所述当所述任务调度服务启动后,控制所述触发器发出触发信号的步骤之前还包括,
通过批处理文件实现所述任务调度服务的安装和启动。
10.如权利要求6所述的定时任务调度服务的方法,其特征在于,
所述配置信息包括待配置的业务任务程序的信息以及所述待配置的业务任务程序的调度规则。
CN201710209051.9A 2017-03-31 2017-03-31 一种基于Quartz的定时任务调度服务框架及方法 Pending CN107704315A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710209051.9A CN107704315A (zh) 2017-03-31 2017-03-31 一种基于Quartz的定时任务调度服务框架及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710209051.9A CN107704315A (zh) 2017-03-31 2017-03-31 一种基于Quartz的定时任务调度服务框架及方法

Publications (1)

Publication Number Publication Date
CN107704315A true CN107704315A (zh) 2018-02-16

Family

ID=61169556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710209051.9A Pending CN107704315A (zh) 2017-03-31 2017-03-31 一种基于Quartz的定时任务调度服务框架及方法

Country Status (1)

Country Link
CN (1) CN107704315A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647083A (zh) * 2018-04-28 2018-10-12 北京京东金融科技控股有限公司 任务执行方法、装置、系统、电子设备及计算机可读介质
CN109245937A (zh) * 2018-10-08 2019-01-18 郑州云海信息技术有限公司 一种pim平台的告警方法及装置
CN109582301A (zh) * 2018-12-03 2019-04-05 深圳前海微众银行股份有限公司 基于任务调度系统的业务处理方法、装置、设备及介质
CN109739547A (zh) * 2018-12-28 2019-05-10 北京小米移动软件有限公司 任务调度方法、装置及存储介质
CN110928572A (zh) * 2019-10-12 2020-03-27 中国平安财产保险股份有限公司 接口调用与业务系统分离方法、系统和计算机设备
CN110928606A (zh) * 2019-11-19 2020-03-27 浪潮软件股份有限公司 一种基于微服务的可视化定时服务注册的实现方法及系统
CN111143043A (zh) * 2019-12-02 2020-05-12 天津同阳科技发展有限公司 基于Quartz服务的计划任务处理方法、装置、设备及介质
CN112241430A (zh) * 2020-10-26 2021-01-19 浪潮云信息技术股份公司 一种应用于多系统对接处理的模型
CN112866032A (zh) * 2021-02-06 2021-05-28 深圳库博能源科技有限公司 一种基于软件定义与流程的储能调度网关配置方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101887381A (zh) * 2010-06-22 2010-11-17 北京伟库电子商务科技有限公司 基于Quartz框架的配置定时任务的方法和装置
CN103246555A (zh) * 2013-05-03 2013-08-14 深圳中兴网信科技有限公司 任务调度装置和任务调度方法
CN105824695A (zh) * 2016-03-18 2016-08-03 浪潮软件集团有限公司 一种定时任务调度插件Quartz使用

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101887381A (zh) * 2010-06-22 2010-11-17 北京伟库电子商务科技有限公司 基于Quartz框架的配置定时任务的方法和装置
CN103246555A (zh) * 2013-05-03 2013-08-14 深圳中兴网信科技有限公司 任务调度装置和任务调度方法
CN105824695A (zh) * 2016-03-18 2016-08-03 浪潮软件集团有限公司 一种定时任务调度插件Quartz使用

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647083B (zh) * 2018-04-28 2020-03-31 京东数字科技控股有限公司 任务执行方法、装置、系统、电子设备及计算机可读介质
CN108647083A (zh) * 2018-04-28 2018-10-12 北京京东金融科技控股有限公司 任务执行方法、装置、系统、电子设备及计算机可读介质
CN109245937A (zh) * 2018-10-08 2019-01-18 郑州云海信息技术有限公司 一种pim平台的告警方法及装置
CN109245937B (zh) * 2018-10-08 2022-03-25 郑州云海信息技术有限公司 一种pim平台的告警方法及装置
CN109582301A (zh) * 2018-12-03 2019-04-05 深圳前海微众银行股份有限公司 基于任务调度系统的业务处理方法、装置、设备及介质
CN109582301B (zh) * 2018-12-03 2022-01-28 深圳前海微众银行股份有限公司 基于任务调度系统的业务处理方法、装置、设备及介质
CN109739547A (zh) * 2018-12-28 2019-05-10 北京小米移动软件有限公司 任务调度方法、装置及存储介质
CN110928572A (zh) * 2019-10-12 2020-03-27 中国平安财产保险股份有限公司 接口调用与业务系统分离方法、系统和计算机设备
CN110928606A (zh) * 2019-11-19 2020-03-27 浪潮软件股份有限公司 一种基于微服务的可视化定时服务注册的实现方法及系统
CN110928606B (zh) * 2019-11-19 2024-04-12 浪潮软件股份有限公司 一种基于微服务的可视化定时服务注册的实现方法及系统
CN111143043A (zh) * 2019-12-02 2020-05-12 天津同阳科技发展有限公司 基于Quartz服务的计划任务处理方法、装置、设备及介质
CN111143043B (zh) * 2019-12-02 2021-08-10 天津同阳科技发展有限公司 基于Quartz服务的计划任务处理方法、装置、设备及介质
CN112241430A (zh) * 2020-10-26 2021-01-19 浪潮云信息技术股份公司 一种应用于多系统对接处理的模型
CN112866032A (zh) * 2021-02-06 2021-05-28 深圳库博能源科技有限公司 一种基于软件定义与流程的储能调度网关配置方法
CN112866032B (zh) * 2021-02-06 2023-10-20 深圳库博能源科技有限公司 一种基于软件定义与流程的储能调度网关配置方法

Similar Documents

Publication Publication Date Title
CN107704315A (zh) 一种基于Quartz的定时任务调度服务框架及方法
US9015025B2 (en) Verifying processor-sparing functionality in a simulation environment
US20140142998A1 (en) Method and System for Optimized Task Assignment
JP2009532754A (ja) 継続ベースのメタランタイムのための抽象実行モデル
Otte et al. F6com: A component model for resource-constrained and dynamic space-based computing environments
CN103645944B (zh) 一种批量数据冲突检测方法、装置及系统
US20200074539A1 (en) Debt resolution planning platform
CN110569113A (zh) 分布式任务的调度方法及系统、计算机可读存储介质
US8789059B2 (en) Dynamic scheduling feasibility analysis of event-driven applications based on reducing tasks of overlapping events
CN103294482B (zh) 用于PWscf并行计算系统的Web服务封装方法以及系统
CN103631594B (zh) 通用流程异步调度方法及系统
US10748098B2 (en) Scalable workflow processing
CN113313353A (zh) 一种持续交付流水线管理方法及装置
GB2607475A (en) Generating a scaling plan for external systems during cloud tenant onboarding/offboarding
EP3401784A1 (en) Multicore processing system
CN107832162B (zh) 远程调用ModelCenter软件实现多学科设计优化的方法
CN114006815A (zh) 云平台节点的自动化部署方法、装置、节点及存储介质
TW201407503A (zh) 雲端平台工作排程方法及系統
CN109165027A (zh) 虚拟机操作系统安装方法、装置、设备及可读存储介质
CN113326098B (zh) 支持kvm虚拟化与容器虚拟化的云管平台
CN114896049A (zh) 电力人工智能平台作业任务调度方法、系统、设备及介质
Zhang et al. Dynamic VM provisioning for Torque in a cloud environment
CN103310002A (zh) 用于气象预报计算系统MM5的Web服务封装方法以及系统
EP2256630B1 (en) Method and system to perform time consuming follow-up process
WO2011061034A1 (en) A method and system for job scheduling in a data processing system with virtual environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180216