CN106201692A - 一种定时任务处理系统及方法 - Google Patents
一种定时任务处理系统及方法 Download PDFInfo
- Publication number
- CN106201692A CN106201692A CN201610543676.4A CN201610543676A CN106201692A CN 106201692 A CN106201692 A CN 106201692A CN 201610543676 A CN201610543676 A CN 201610543676A CN 106201692 A CN106201692 A CN 106201692A
- Authority
- CN
- China
- Prior art keywords
- time
- timer object
- timed task
- next execution
- timer
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种定时任务处理系统及方法,定时任务处理系统包括定时器管理模块,用于操作定时器对象,操作包括创建、修改或者删除;定时器对象,包含执行定时任务的具体方法、定时时延、定时次数以及下次执行时间;计时列表,用于根据定时器对象的下次执行时间,按照时间先后顺序排列定时器对象,并在排列在最前的定时器对象的下次执行时间到达时控制调用该定时器对象执行任务。本发明定时任务处理系统及方法,将原本写死在系统中的定时任务抽象出来,对应创建为定时器对象,能够灵活地操作和管理定时器对象,与现有技术相比,对定时任务的定义、修改或维护比较灵活,维护难度低,应用性强。
Description
技术领域
本发明涉及数据管理技术领域,特别是涉及一种定时任务处理系统及方法。
背景技术
当前,许多系统的日常功能中存在许多需要定时处理的任务,例如定时同步数据、定时推送消息、定时更新状态等。现有的定时触发器可以完成简单的定时触发任务,但是需要配置在系统的配置文件中。因此,如果系统中的业务需要修改,就需要开发人员修改配置文件,用户无法自己修改。可见现有定时技术中,对定时任务的定义、修改、维护比较死板,不灵活,应用性差。
发明内容
鉴于此,本发明提供一种定时任务处理系统及方法,与现有技术相比,将原本写死在系统中的定时任务抽象出来,能够灵活地定义、修改或维护定时任务,应用性强。
为实现上述目的,本发明提供如下技术方案:
一种定时任务处理系统,包括:
定时器管理模块,用于操作定时器对象,操作包括创建、修改或者删除;
所述定时器对象,包含执行定时任务的具体方法、定时时延、定时次数以及下次执行时间;
计时列表,用于根据所述定时器对象的下次执行时间,按照时间先后顺序排列所述定时器对象,并在排列在最前的所述定时器对象的下次执行时间到达时控制调用该定时器对象执行任务。
可选地,还包括定时器状态记录模块,用于在所述定时器对象被调用时记录对应定时任务开始,在对应定时任务执行完成后记录定时任务完成,在对应定时任务执行异常时记录定时任务失败。
一种定时任务处理方法,包括:
创建定时器对象,所述定时器对象包含执行定时任务的具体方法、定时时延、定时次数以及下次执行时间;
根据所述定时器对象的下次执行时间,按照时间先后顺序将所述定时器对象排列在计时列表中;
当判断所述计时列表中排列在最前的定时器对象的下次执行时间到达时,控制调用该定时器对象执行定时任务。
可选地,还包括:在所述定时器对象被调用时记录对应定时任务开始,在对应定时任务执行完成后记录定时任务完成,在对应定时任务执行异常时记录定时任务失败。
可选地,所述根据所述定时器对象的下次执行时间,按照时间先后顺序将所述定时器对象排列在计时列表中,具体包括:
判断所述计时列表是否为空,若是,则将所述定时器对象排列在所述计时列表中;
若否,则按照所述计时列表中的排列顺序,将该定时器对象的下次执行时间依次与所述计时列表中每一定时器对象的下次执行时间比较,当出现该定时器对象的下次执行时间小于所述计时列表中定时器对象的下次执行时间时,将该定时器对象排列在对应定时器对象之前。
可选地,所述当判断所述计时列表中排列在最前的定时器对象的下次执行时间到达时,控制调用该定时器对象执行定时任务,具体包括:
判断所述计时列表是否为空,若否,则执行下一步;
判断当前时刻是否小于所述计时列表中排列在最前的定时器对象的下次执行时间,若否,则调用该定时器对象执行任务。
可选地,还包括修改或删除所述定时器对象。
由上述技术方案可以看出,本发明所提供的定时任务处理系统,包括定时器管理模块、定时器对象和计时列表,其中,定时器对象包含执行定时任务的具体方法、定时时延、定时次数及下次执行时间;定时器管理模块用于操作定时器对象,包括创建、修改或者删除;计时列表根据定时器对象的下次执行时间按照时间先后顺序排列所述定时器对象,并在排列在最前的所述定时器对象的下次执行时间到达时控制调用该定时器对象执行任务。
本发明所提供的定时任务处理方法,对应定时任务创建定时器对象,定时器对象包含执行定时任务的具体方法、定时时延、定时次数以及下次执行时间,并根据定时器对象的下次执行时间按照时间先后顺序将定时器对象排列在计时列表中,在判断计时列表中排列在最前的定时器对象的下次执行时间到达时控制调用该定时器对象执行定时任务。
本发明定时任务处理系统及方法,将原本写死在系统中的定时任务抽象出来,对应创建为定时器对象,能够灵活地操作和管理定时器对象,与现有技术相比,对定时任务的定义、修改或维护比较灵活,维护难度低,应用性强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种定时任务处理系统的示意图;
图2为本发明又一实施例提供的一种定时任务处理系统的示意图;
图3为本发明实施例提供的一种定时任务处理方法的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
请参考图1,为本发明实施例提供的一种定时任务处理系统的示意图,所述定时任务处理系统包括:
定时器管理模块11,用于操作定时器对象10,操作包括创建、修改或者删除;
所述定时器对象10,包含执行定时任务的具体方法、定时时延、定时次数以及下次执行时间;
计时列表12,用于根据所述定时器对象10的下次执行时间,按照时间先后顺序排列所述定时器对象10,并在排列在最前的所述定时器对象10的下次执行时间到达时控制调用该定时器对象执行任务。
由上述内容可以看出,本发明实施例提供的定时任务处理系统,包括定时器管理模块、定时器对象和计时列表,其中,定时器对象包含执行定时任务的具体方法、定时时延、定时次数及下次执行时间;定时器管理模块用于操作定时器对象,包括创建、修改或者删除;计时列表根据定时器对象的下次执行时间按照时间先后顺序排列所述定时器对象,并在排列在最前的所述定时器对象的下次执行时间到达时控制调用该定时器对象执行任务。
本发明定时任务处理系统,将原本写死在系统中的定时任务抽象出来,对应创建为定时器对象,能够灵活地操作和管理定时器对象,与现有技术相比,对定时任务的定义、修改或维护比较灵活,维护难度低,应用性强。
并且,现有定时技术只能执行系统内部定时任务,如果系统需要定时调用外部系统中的方法,其将无法满足。而本实施例定时任务处理系统,不仅仅限于本系统的定时任务调用,也可调用外部系统中的方法,扩展性及可调整性大大提高,能够满足系统及时变更的需求。
本实施例定时任务处理系统,将定时任务对应创建为定时器对象10,定时器对象10包含执行定时任务的具体方法、定时时延、定时次数以及下次执行时间,在定时器对象10被调用时通过调用自身存储的具体方法执行对应的定时任务。定时器管理模块11用于对定时器对象10的操作和管理,在创建定时器对象时,会根据定时器对象的下次执行时间,按照时间先后顺序将定时器对象排列在计时列表中,将下次执行时间靠前的排列在前,将下次执行时间靠后的排列靠后。
本实施例中,所述定时任务处理系统还包括定时器状态记录模块13,用于在所述定时器对象10被调用时记录对应定时任务开始,在对应定时任务执行完成后记录定时任务完成,在对应定时任务执行异常时记录定时任务失败,使用户或开发人员可以通过查询获取定时任务的执行情况,便于处理问题。
相应的,本发明实施例还提供一种定时任务处理方法,请参考图3,为本发明实施例提供的一种定时任务处理方法的流程图,该方法包括步骤:
S20:创建定时器对象,所述定时器对象包含执行定时任务的具体方法、定时时延、定时次数以及下次执行时间;
S21:根据所述定时器对象的下次执行时间,按照时间先后顺序将所述定时器对象排列在计时列表中;
S22:当判断所述计时列表中排列在最前的定时器对象的下次执行时间到达时,控制调用该定时器对象执行定时任务。
由上述内容可以看出,本实施例定时任务处理方法,将定时任务对应创建为定时器对象,定时器对象包含执行定时任务的具体方法、定时时延、定时次数以及下次执行时间,并以定时器对象的下次执行时间按照时间先后顺序将定时器对象排列在计时列表中,在判断所述计时列表中排列在最前的定时器对象的下次执行时间到达时,控制调用该定时器对象执行定时任务。
本发明定时任务处理方法,将原本写死在系统中的定时任务抽象出来,对应创建为定时器对象,可以通过创建、修改或删除定时器对象,对应定义、修改或维护定时任务,因此与现有技术相比,对定时任务的定义、修改或维护非常灵活,维护难度低,应用性强。
并且,现有的定时技术只能执行系统内部定时任务,如果系统需要定时调用外部系统中的方法,将无法满足。而本实施例定时任务处理方法,不仅仅限于本系统的定时任务调用,也可调用外部系统中的方法,扩展性及可调整性提高,能够满足系统及时变更的需求。
本实施例定时任务处理方法中,还可对定时器对象进行修改或删除,因此所述定时任务处理方法对定时任务的定义、修改或维护非常灵活,可动态地配置定时任务,动态地调整定时任务参数,应用性强。
本实施例中,所述步骤S21:根据所述定时器对象的下次执行时间,按照时间先后顺序将所述定时器对象排列在计时列表中,具体包括:
判断所述计时列表是否为空,若是,则将所述定时器对象排列在所述计时列表中;若否,则按照所述计时列表中的排列顺序,将该定时器对象的下次执行时间依次与所述计时列表中每一定时器对象的下次执行时间比较,当出现该定时器对象的下次执行时间小于所述计时列表中定时器对象的下次执行时间时,将该定时器对象排列在对应定时器对象之前。
在将创建的定时器对象排列在计时列表中时,先判断计时列表是否为空,若为空,则将该定时器对象直接放入计时列表中;若不为空,则将该定时器对象的下次执行时间与计时列表中定时器对象的下次执行时间依次比较,如果该定时器对象的下次执行时间小于列表中排列的第一个定时器对象的下次执行时间,则将该定时器对象排列在第一个定时器对象之前;若不小于,则比较该定时器对象的下次执行时间与列表中的下一个定时器对象的下次执行时间比较,如果该定时器对象的下次执行时间小于列表中下一个定时器对象的下次执行时间,则将该定时器对象排列在这一定时器对象之前;若不小于,则继续依次进行比较;如果依次比较后,计时列表中没有下次执行时间大于等于该定时器对象的下次执行时间的定时器对象,则将该定时器对象排列在计时列表最后。
本实施例中,所述步骤S22:当判断所述计时列表中排列在最前的定时器对象的下次执行时间到达时,控制调用该定时器对象执行定时任务,具体包括:
S220:判断所述计时列表是否为空,若否,则执行下一步。
S221:判断当前时刻是否小于所述计时列表中排列在最前的定时器对象的下次执行时间,若否,则调用该定时器对象执行任务。
在调用该定时器对象执行任务时,相应删除在计时列表中该排列在最前的定时器对象,以便对下一定时器对象进行控制调用。
本实施例定时任务处理方法,还包括:在所述定时器对象被调用时记录对应定时任务开始,在对应定时任务执行完成后记录定时任务完成,在对应定时任务执行异常时记录定时任务失败。这样,对定时任务执行情况日志记录,用户和开发人员可以了解定时任务执行情况,便于处理问题。
因此,本发明定时任务处理系统及方法,将定时任务对应创建为定时器对象,把原本写死在工程中的定时任务抽象出来,能够动态地维护定时任务,能够调用非本工程中的定时任务,能够查看定时任务执行情况,降低用户和开发人员维护难度,降低开发人员排查定时任务错误难度,能够更灵活地定义定时任务,满足系统及时更新定时任务的需求。
以上对本发明所提供的一种定时任务处理系统及方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (7)
1.一种定时任务处理系统,其特征在于,包括:
定时器管理模块,用于操作定时器对象,操作包括创建、修改或者删除;
所述定时器对象,包含执行定时任务的具体方法、定时时延、定时次数以及下次执行时间;
计时列表,用于根据所述定时器对象的下次执行时间,按照时间先后顺序排列所述定时器对象,并在排列在最前的所述定时器对象的下次执行时间到达时控制调用该定时器对象执行任务。
2.如权利要求1所述的系统,其特征在于,还包括定时器状态记录模块,用于在所述定时器对象被调用时记录对应定时任务开始,在对应定时任务执行完成后记录定时任务完成,在对应定时任务执行异常时记录定时任务失败。
3.一种定时任务处理方法,其特征在于,包括:
创建定时器对象,所述定时器对象包含执行定时任务的具体方法、定时时延、定时次数以及下次执行时间;
根据所述定时器对象的下次执行时间,按照时间先后顺序将所述定时器对象排列在计时列表中;
当判断所述计时列表中排列在最前的定时器对象的下次执行时间到达时,控制调用该定时器对象执行定时任务。
4.如权利要求3所述的方法,其特征在于,还包括:在所述定时器对象被调用时记录对应定时任务开始,在对应定时任务执行完成后记录定时任务完成,在对应定时任务执行异常时记录定时任务失败。
5.如权利要求3所述的方法,其特征在于,所述根据所述定时器对象的下次执行时间,按照时间先后顺序将所述定时器对象排列在计时列表中,具体包括:
判断所述计时列表是否为空,若是,则将所述定时器对象排列在所述计时列表中;
若否,则按照所述计时列表中的排列顺序,将该定时器对象的下次执行时间依次与所述计时列表中每一定时器对象的下次执行时间比较,当出现该定时器对象的下次执行时间小于所述计时列表中定时器对象的下次执行时间时,将该定时器对象排列在对应定时器对象之前。
6.如权利要求3所述的方法,其特征在于,所述当判断所述计时列表中排列在最前的定时器对象的下次执行时间到达时,控制调用该定时器对象执行定时任务,具体包括:
判断所述计时列表是否为空,若否,则执行下一步;
判断当前时刻是否小于所述计时列表中排列在最前的定时器对象的下次执行时间,若否,则调用该定时器对象执行任务。
7.如权利要求3-6任一项所述的方法,其特征在于,还包括修改或删除所述定时器对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610543676.4A CN106201692B (zh) | 2016-07-11 | 2016-07-11 | 一种定时任务处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610543676.4A CN106201692B (zh) | 2016-07-11 | 2016-07-11 | 一种定时任务处理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106201692A true CN106201692A (zh) | 2016-12-07 |
CN106201692B CN106201692B (zh) | 2020-02-04 |
Family
ID=57476892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610543676.4A Active CN106201692B (zh) | 2016-07-11 | 2016-07-11 | 一种定时任务处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106201692B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015849A (zh) * | 2017-04-07 | 2017-08-04 | 北京奇虎科技有限公司 | 定时任务的提醒方法及装置 |
CN107368360A (zh) * | 2017-06-05 | 2017-11-21 | 努比亚技术有限公司 | 一种定时任务执行方法及定时任务服务器 |
CN109298925A (zh) * | 2018-09-27 | 2019-02-01 | 郑州云海信息技术有限公司 | 一种周期任务的定时启动方法、系统及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556654A (zh) * | 2003-12-31 | 2004-12-22 | 中兴通讯股份有限公司 | 软件定时器的定时及控制方法 |
CN102937893A (zh) * | 2012-10-11 | 2013-02-20 | 科立讯通信股份有限公司 | 一种动态重载定时长度的软件定时方法 |
CN103473071A (zh) * | 2013-09-24 | 2013-12-25 | 深圳市路通网络技术有限公司 | 软件定时器的实现方法和系统 |
CN103645909A (zh) * | 2013-12-30 | 2014-03-19 | 中国烟草总公司湖南省公司 | 定时任务的处理方法及装置 |
CN104268015A (zh) * | 2014-09-05 | 2015-01-07 | 烽火通信科技股份有限公司 | 嵌入式设备高可用性定时器的实现方法及定时器 |
-
2016
- 2016-07-11 CN CN201610543676.4A patent/CN106201692B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556654A (zh) * | 2003-12-31 | 2004-12-22 | 中兴通讯股份有限公司 | 软件定时器的定时及控制方法 |
CN102937893A (zh) * | 2012-10-11 | 2013-02-20 | 科立讯通信股份有限公司 | 一种动态重载定时长度的软件定时方法 |
CN103473071A (zh) * | 2013-09-24 | 2013-12-25 | 深圳市路通网络技术有限公司 | 软件定时器的实现方法和系统 |
CN103645909A (zh) * | 2013-12-30 | 2014-03-19 | 中国烟草总公司湖南省公司 | 定时任务的处理方法及装置 |
CN104268015A (zh) * | 2014-09-05 | 2015-01-07 | 烽火通信科技股份有限公司 | 嵌入式设备高可用性定时器的实现方法及定时器 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015849A (zh) * | 2017-04-07 | 2017-08-04 | 北京奇虎科技有限公司 | 定时任务的提醒方法及装置 |
CN107015849B (zh) * | 2017-04-07 | 2020-12-04 | 北京奇虎科技有限公司 | 定时任务的提醒方法及装置 |
CN107368360A (zh) * | 2017-06-05 | 2017-11-21 | 努比亚技术有限公司 | 一种定时任务执行方法及定时任务服务器 |
CN107368360B (zh) * | 2017-06-05 | 2021-01-26 | 和宇健康科技股份有限公司 | 一种定时任务执行方法及定时任务服务器 |
CN109298925A (zh) * | 2018-09-27 | 2019-02-01 | 郑州云海信息技术有限公司 | 一种周期任务的定时启动方法、系统及相关装置 |
CN109298925B (zh) * | 2018-09-27 | 2021-10-15 | 郑州云海信息技术有限公司 | 一种周期任务的定时启动方法、系统及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106201692B (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105630488A (zh) | 一种基于docker容器技术的持续集成实现方法 | |
CN109558234A (zh) | 一种定时任务调度方法和装置 | |
CN102810184A (zh) | 一种动态执行工作流的方法、装置及企业系统 | |
CN105677465B (zh) | 应用于银行跑批处理的数据处理方法及装置 | |
CN106201692A (zh) | 一种定时任务处理系统及方法 | |
CN106027290B (zh) | 故障处理方法及装置 | |
CN105208060A (zh) | 业务数据同步方法、装置及系统 | |
CN109978290A (zh) | 一种业务流程回退处理方法、流程引擎和业务系统 | |
CN109710235B (zh) | 一种基于Java智能合约业务逻辑的事务实现系统及方法 | |
CN112925614B (zh) | 一种分布式事务处理方法、装置、介质和设备 | |
CN105893320A (zh) | 一种面向多核处理器的远程任务函数调用方法 | |
CN103618762A (zh) | 一种基于aop的企业服务总线状态预处理系统及方法 | |
CN109726007A (zh) | 一种容器编排配额管理方法和装置、及容器编排系统 | |
CN106776395A (zh) | 一种共享集群的任务调度方法及装置 | |
CN110599305A (zh) | 业务处理方法、装置及存储介质 | |
CN105260297B (zh) | 一种测试数据管理系统及方法 | |
CN107168813A (zh) | 任务处理方法及系统 | |
CN109885612A (zh) | 区块链智能合约的同步生效方法及装置 | |
CN104410511A (zh) | 一种服务器管理方法及系统 | |
CN103324469A (zh) | 定时器实现方法及装置 | |
CN107122203A (zh) | 一种配置文件的设置方法及装置 | |
CN106412088A (zh) | 一种数据同步方法及终端 | |
CN110941422B (zh) | 代码自动生成方法、代码生成器及可读存储介质 | |
CN103761106A (zh) | 流程的控制方法及流程引擎 | |
CN101833585A (zh) | 数据库服务器操作控制系统、方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191225 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Applicant after: Suzhou Wave Intelligent Technology Co., Ltd. Address before: 100085 Beijing, Haidian District on the road to information on the ground floor, building 2-1, No. 1, C Applicant before: Tide (Beijing) Electronic Information Industry Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |