CN109298924A - 定时任务的管理方法、计算机可读存储介质和终端设备 - Google Patents

定时任务的管理方法、计算机可读存储介质和终端设备 Download PDF

Info

Publication number
CN109298924A
CN109298924A CN201811122405.7A CN201811122405A CN109298924A CN 109298924 A CN109298924 A CN 109298924A CN 201811122405 A CN201811122405 A CN 201811122405A CN 109298924 A CN109298924 A CN 109298924A
Authority
CN
China
Prior art keywords
task
timed
timed task
tasks
time
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
Application number
CN201811122405.7A
Other languages
English (en)
Other versions
CN109298924B (zh
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.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN201811122405.7A priority Critical patent/CN109298924B/zh
Publication of CN109298924A publication Critical patent/CN109298924A/zh
Application granted granted Critical
Publication of CN109298924B publication Critical patent/CN109298924B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明属于计算机技术领域,尤其涉及一种定时任务的管理方法、计算机可读存储介质和终端设备。所述方法包括:获取与预设数据库存在交互关系的至少一个定时任务;将所述至少一个定时任务的任务调度时间及任务运行逻辑存储至所述预设数据库的基表中;从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行;将需要执行的所有定时任务分为一组,向该组中所有定时任务对应的客户端发送执行任务指令,所述执行任务指令用于指示所述客户端根据所述任务运行逻辑执行所述定时任务。所述定时任务的管理方法、计算机可读存储介质和终端设备能够自动、高效、灵活的管理定时任务,同时解决了浪费人力和资源的问题。

Description

定时任务的管理方法、计算机可读存储介质和终端设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种定时任务的管理方法、计算机可读存储介质和终端设备。
背景技术
现有的对定时任务的管理中,例如,针对定时数据同步任务,开发人员均编写相应的JAVA同步逻辑,并需要将定时数据同步任务的JAR(Java Archive,Java归档文件)部署到生产环境中,占用一定量的开发时间且将任务的JAR部署到生产环境中也有出错的可能的性,且每编写一个定时任务需要针对任务编写一定量的代码,会消耗大量的时间和资源,因此,存在管理困难、浪费人力和资源等问题。
发明内容
本发明实施例提供了一种定时任务的管理方法、计算机可读存储介质及终端设备,能够自动、高效、灵活的管理定时任务,同时解决了浪费人力和资源的问题。
本发明实施例的第一方面,提供了一种定时任务的管理方法,可以包括:
获取与预设数据库存在交互关系的至少一个定时任务;
将所述至少一个定时任务的任务调度时间及任务运行逻辑存储至所述预设数据库的基表中;
从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行;
将需要执行的所有定时任务分为一组,向该组中所有定时任务对应的客户端发送执行任务指令,所述执行任务指令用于指示所述客户端根据所述任务运行逻辑执行所述定时任务。
本发明实施例的第二方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
获取与预设数据库存在交互关系的至少一个定时任务;
将所述至少一个定时任务的任务调度时间及任务运行逻辑存储至所述预设数据库的基表中;
从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行;
将需要执行的所有定时任务分为一组,向该组中所有定时任务对应的客户端发送执行任务指令,所述执行任务指令用于指示所述客户端根据所述任务运行逻辑执行所述定时任务。
本发明实施例的第三方面,提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取与预设数据库存在交互关系的至少一个定时任务;
将所述至少一个定时任务的任务调度时间及任务运行逻辑存储至所述预设数据库的基表中;
从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行;
将需要执行的所有定时任务分为一组,向该组中所有定时任务对应的客户端发送执行任务指令,所述执行任务指令用于指示所述客户端根据所述任务运行逻辑执行所述定时任务。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例首先获取与预设数据库存在交互关系的至少一个定时任务,将所述至少一个定时任务的任务调度时间及任务运行逻辑存储至预设数据库的基表中,根据基表对至少一个定时任务进行管理,再从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行,并将需要执行的所有定时任务分为一组,向该组中所有定时任务对应的客户端发送执行任务指令,实现定时任务的同步执行,节约资源,且便于监控。与现有技术相比,本发明实施中在对多个定时任务的管理过程中,通过分组,将需要执行的所有定时任务分为一组,实现多个定时任务的整合,并向该组中所有定时任务对应的客户端发送执行任务指令,可以同步管理和执行多个定时任务,解决了管理困难的问题,节省人力及节约资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种定时任务的管理方法的一个实施例流程图;
图2为本发明实施例中判断每个定时任务是否需要执行的示意流程图;
图3为本发明实施例中一种定时任务的管理方法的另一个实施例流程图;
图4为本发明实施例中一种定时任务的管理方法的另一个实施例流程图;
图5为本发明实施例中一种定时任务的管理方法的另一个实施例流程图;
图6为本发明实施例中一种定时任务的管理装置的一个实施例结构图;
图7为本发明实施例中一种终端设备的示意框图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种定时任务的管理的一个实施例可以包括:
步骤S101,获取与预设数据库存在交互关系的至少一个定时任务。
至少一个定时任务需要定时将任务中对应的某个或某些数据库与预设数据库进行交互,交互可以是至少一个定时任务中的任一定时任务,根据对应的任务调度时间,定时访问所述预设数据库或定时将某个数据库中的数据上传至所述预设数据库,其中,定时任务可以是数据同步定时任务。
在本实施例中,获取至少一个数据同步定时任务,针对所述至少一个数据同步定时任务中任一数据同步定时任务,所述数据同步定时任务中可以包括定时任务的任务调度时间及任务运行逻辑,所述任务调度时间用于表示间隔多长时间执行一次定时任务,所述任务运行逻辑可以包括数据处理逻辑、同步逻辑、回算逻辑等。
步骤S102,将所述至少一个定时任务的任务调度时间及任务运行逻辑存储至所述预设数据库的基表中。
本实施例中,将所述至少一个定时任务中的每个定时任务的任务调度时间及任务运行逻辑存储至所述预设数据库的基表中,所述基表是数据库中永久存储的表格,用于存储每个定时任务的任务调度时间的表达式、数据处理逻辑、同步逻辑、回算逻辑等。
步骤S103,从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行。
本实施例中,服务器可以实时读取所有定时任务也可以根据预设时间间隔读取所有定时任务,从所述基表中读取所有定时任务的任务调度时间,根据每个定时任务的任务调度时间确定是否达到该定时任务的执行时间,即判断是否需要执行该定时任务。
步骤S104,将需要执行的所有定时任务分为一组,向该组中所有定时任务对应的客户端发送执行任务指令,所述执行任务指令用于指示所述客户端根据所述任务运行逻辑执行所述定时任务。
本实施例中,对需要执行的所有定时任务进行整合,将需要执行的所有定时任务分为一组,所述基表中的所有定时任务可以分为多个组,针对多个组中的任一组。若所述组中所有定时任务需要执行,可以自动生成多个执行任务指令,每个执行任务指令中携带有对应要发送客户端的客户端来源标识符,根据每个执行任务指令中携带的客户端来源标识符,向该组中的所有定时任务的客户端发送对应的执行任务指令,用以指示所述客户端根据所述任务运行逻辑执行所述定时任务;若所述组中所有定时任务需要执行,还可以自动生成一个执行任务指令,该执行任务指令中携带有所述组中所有定时任务的客户端来源标识符,将该执行任务指令根据客户端来源标识符自动分配发送至对应的客户端。通过分组并同步发送执行任务指令,能够实现多个定时任务的同步执行,节约时间和资源。
本实施例中,首先获取与预设数据库存在交互关系的至少一个定时任务,将所述至少一个定时任务的任务调度时间及任务运行逻辑存储至预设数据库的基表中,根据基表对至少一个定时任务进行管理,再从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行,并将需要执行的所有定时任务分为一组,向该组中所有定时任务对应的客户端发送执行任务指令,实现定时任务的同步执行,节约资源,且便于监控。与现有技术相比,本发明实施中在对多个定时任务的管理过程中,通过分组,将需要执行的所有定时任务分为一组,实现多个定时任务的整合,并向该组中所有定时任务对应的客户端发送执行任务指令,可以同步管理和执行多个定时任务,解决了管理困难的问题,节省人力及节约资源。
优选地,参见图2所示的判断每个定时任务是否需要执行的示意流程图,所述从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行,可以包括:
步骤S201,根据预设时间间隔,从所述基表中读取所有定时任务的任务调度时间;
步骤S202,针对所述所有定时任务中的任一定时任务,根据所述定时任务的任务调度时间判断所述定时任务的执行时间是否在本次读取时间到下次读取时间之间的时间段内,其中,所述时间段包括本次读取时间但不包括下次读取时间;
步骤S203,若所述定时任务的执行时间在所述时间段内,则所述定时任务为需要执行的定时任务。
本实施例中,可以根据如下步骤判断每个定时任务是否需要执行:
步骤一,预设时间间隔可以设置为半小时,设置每个定时任务的任务调度时间不小于预设时间间隔;
步骤二,预先设置一个起始时间节点,从起始节点开始读取所述基表;
步骤三,经过第一个预设时间间隔时对应的时间节点为第二个时间节点,同时第二次读取所述基表,经过第二个预设时间间隔时对应的时间节点为第三个时间节点,同时第三次读取所述基表,以此类推;
步骤四,每次读取基表时,根据从基表中读取的所有定时任务的任务调度时间,判断所有定时任务中的每个定时任务的执行时间是否在本次读取时间到下次读取时间之间的时间段内,其中,所述时间段包括本次读取时间但不包括下次读取时间。
步骤五,若所述定时任务的执行时间在所述时间段内,则说明所述定时任务为需要执行的定时任务。
其中,若本次读取时间是第二个时间节点,则下次读取时间是第三个时间节点,所述时间段为第二个时间节点到第三个时间节点之间的时间且不包括第三个时间节点对应的时间。
例如,每隔半小时读取一次所述基表中的所有定时任务,其中,基表中存储有三个定时任务,三个定时任务对应的任务调用时间分别为0.5小时、0.75小时、1小时,预先设置的起始时间节点为0,则经过第一个0.5小时,第一次读取所述基表中所有定时任务,判断所述基表中所有定时任务中的每个定时任务的执行时间是否在本次读取时间到下次读取时间之间的时间段内,其中,任务调度时间为0.5小时和0.75小时的定时任务的执行时间分别为对应时间节点为0.5和0.75,本次读取时间对应的时间节点为0.5,下次读取时间对应的时间节点为0.75,则在任务调度时间为0.5小时和0.75小时的定时任务的执行时间在本次读取时间到下次读取时间之间的时间段内,则任务调度时间为0.5小时和0.75小时的定时任务为需要执行的定时任务。
参见图3所示的本发明实施例中的另一个实施例的示意流程图,在所述将需要执行的所有定时任务分为一组之后,所述定时任务的管理方法,还可以包括:
步骤S301,获取所述需要执行的所有定时任务携带的客户端来源标识符。
本实施例中,需要执行的所有定时任务中的每个定时任务都携带有对应的客户端来源标识符,通过获取每个定时任务携带的客户端来源标识符,能够准确无误地将一些指令或信息发送至每个定时任务对应的客户端。
步骤S302,根据所述客户端来源标识符,将所述需要执行的所有定时任务中相同任务调度时间且客户端来源标识符不同的所有定时任务分为一组。
本实施例中,根据需要执行的所有定时任务中相同任务调度时间,将需要执行的所有定时任务进行再分组,将所述需要执行的所有定时任务中相同任务调度时间且客户端来源标识符不同的所有定时任务分为一组,便于相同任务调度时间的多个定时任务可以同步执行,由于同组的多个定时任务对应的客户端来源不同,因此执行多个定时任务时,不会出现访问预设数据库拥堵,降低对预设数据库或任务中的数据库的性能的影响,可以高效低进行多个定时任务的管理。
步骤S303,根据每个组对应的任务调度时间,将所有组按从小到大的顺序排序,对每个组进行与排序对应的分组标识。
步骤S304,根据所述分组标识按从小到大的顺序执行每个组中对应的定时任务。
本实施例中,对每个组进行与排序对应的分组标识可以根据分组标识依次对每个组中的所有定时任务进行执行操作。其中,每个小组中的任务调度时间相同且对应的客户端来源不同,对每个小组进行分组标识,所述分组标识是根据每个组对应的任务调度时间,将所有组按从小到大的顺序排序,与从小到大的排序顺序对应进行分组并标识的。
将所述需要执行的所有定时任务分为多个小组,根据任务调度时间从小到大的顺序进行排序并将所述基表中的所述需要执行的定时任务的任务调度时间及任务运行逻辑存储在对应的组里。例如,定时任务11、定时任务12、定时任务13、定时任务14、定时任务1i、…、定时任务1n1为需要执行的所有定时任务,将该组标记为组1,其中,定时任务11、定时任务12、定时任务13的任务调度时间相同且来源于不同的客户端,将定时任务11、定时任务12、定时任务13分为一个组,定时任务14、定时任务1i、…、定时任务1n1的任务调度时间相同且来源于不同的客户端,将定时任务14、定时任务1i、…、定时任务1n1分为一个组,再根据每个组中定时任务的任务调度时间按从大到小的顺序对每个组进行排序,如定时任务11、定时任务12、定时任务13所在的组中任务调度时间为0.5小时且数目为3个,定时任务14、定时任务1i、…、定时任务1n1所在的组中任务调度时间为0.75小时且数目为(n1-3)个,则定时任务11、定时任务12、定时任务13所在的组的分组标识为组11,定时任务14、定时任务1i、…、定时任务1n1所在的组的分组标识为组12。根据所述分组标识按从小到大的顺序依次执行组1、组2中对应的每个定时任务。
可选的,参见图4所示的本发明实施例中一种定时任务的管理方法的另一个实施例流程图,所述定时任务的管理方法,还可以包括:
步骤S401,若有新增定时任务,则获取所述新增定时任务的任务调度时间及任务运行逻辑,并对所述新增定时任务配置分组标识;
步骤S402,根据所述新增定时任务的分组标识,将所述新增定时任务的任务调度时间及任务运行逻辑存储在基表中对应的分组标识的组里。
本实施例中,根据定时任务的任务调度时间按从小到大的顺序排序为:任务调度时间1、任务调度时间2、…、任务调度时间i,其中,每个任务调度时间对应的至少一个定时任务的客户端来源不同,分组标识分别为组1、组2、…、组i,分组标识为组1中的定时任务有定时任务11、定时任务12、定时任务13、…、定时任务1i、…、定时任务1n1,n1表示任务调度时间1对应的任务数目,分组标识为组2中的定时任务有定时任务21、定时任务22、定时任务23、…、定时任务2i、…、定时任务2n2,n2表示任务调度时间2对应的任务数目,分组标识为组i中的定时任务有定时任务i1、定时任务i2、…、定时任务ii、…、定时任务ini,ni表示任务调度时间i对应的任务数目。若需要新增定时任务时,获取所述新增定时任务的任务调度时间,根据所述新增定时任务的任务调度时间,判断所述新增定时任务为所述任务基表中哪个组中,并对所述新增定时任务配置对应的分组标识。
获取新增任务的任务运行逻辑,根据所述新增定时任务的分组标识,将所述新增定时任务的任务调度时间及任务运行逻辑存储在基表中对应的分组标识的组里。例如,所述新增任务的任务调度时间为任务调度时间1,若所述新增定时任务与组1中所有定时任务的客户端来源均不同,则将所述新增定时任务的任务调度时间及任务运行逻辑存储在基表中的组1里;若所述新增定时任务与组1中某个定时任务的客户端来源相同,则将所述新增定时任务配置新的分组标识,可以配置为组11。若需要新增定时任务时,将所述新增定时任务的任务调度时间及任务运行逻辑存储在基表中对应的分组标识的组里,便于与同组的定时任务进行整合,可以同步执行任务,节约资源和时间,执行新增任务时,可以直接从所述基表中读取所述新增定时任务的任务调度时间和任务运行逻辑执行所述新增定时任务且无需额外编写代码。
可选的,参见图5所示的本发明实施例中一种定时任务的管理方法的另一个实施例流程图,所述定时任务的管理方法,还可以包括:
步骤S501,获取所有定时任务的执行结果,将所述所有定时任务的执行结果存储至所述预设数据库的日志表中,所述执行结果包括运行状态;
步骤S502,通过读取所述日志表,对所述所有定时任务的运行状态进行监控;
步骤S503,若所述定时任务的运行状态为运行失败,则将所述定时任务的任务调度时间及任务运行逻辑添加至预设数据库中的补跑基表中,读取所述补跑基表,运行所述定时任务,所述补跑基表用于存储运行失败的定时任务的任务调度时间及任务运行逻辑;
步骤S504,若所述定时任务的运行状态为运行异常,则将所述定时任务的执行结果发送至所述定时任务对应的客户端,接收所述客户端发送的反馈信息,根据所述反馈信息对所述基表中所述定时任务的任务调度时间及任务运行逻辑进行更新。
本实施例中,每个定时任务携带有该定时任务的客户端来源标识符,可以实时地对每个定时任务的执行结果进行监控,所述执行结果可以包括运行状态、开始执行时间及结束执行时间,其中运行状态可以包括运行成功、运行失败、运行异常中的任一项,其中,这里成功、失败、异常对应的标识为0、1、2,存储在所述日志表中的运行状态为运行状态对应的标识,其中,运行异常的定时任务的开始执行时间及结束执行时间相同。
若监控到执行结果中的运行状态为1时,则将运行状态为1的定时任务即将运行失败的定时任务的任务调度时间及任务运行逻辑添加至预设数据库中的补跑基表中,可以实时读取所述补跑基表,也可以根据预先设置的时间,定时读取所述补跑基表,自动运行所述运行失败的定时任务。
若监控到执行结果中的运行状态为2时,则将运行状态为2的定时任务的执行结果发送至所述定时任务对应的客户端,等待接收客户端的反馈信息,若接收到对应的客户端发送的反馈信息,则根据所述反馈信息对所述基表中所述定时任务的任务调度时间及任务运行逻辑进行更新,其中,所述反馈信息用于指示修改所述运行异常的定时任务的任务调度时间或任务运行逻辑。从所述基表中读取更新后的任务调度时间或任务运行逻辑,自动运行所述运行异常的定时任务。
综上所述,本发明实施中在对多个定时任务的管理过程中,通过分组,将需要执行的所有定时任务分为一组,再对一个组中的所有定时任务根据任务调度时间及客户端来源标识符进行分组标识,根据分组标识向每个小组中所有定时任务对应的客户端发送执行任务指令,实现了多个定时任务的整合,并向该组中所有定时任务对应的客户端发送执行任务指令,可以同步管理和执行多个定时任务,解决了管理困难的问题,节省人力及节约资源。若有新增定时任务,只需将新增定时任务配置分组标识,并将所述新增定时任务的任务调度时间和任务运行逻辑存储在所述基表中对应的组里,通过从所述基表中读取所述任务新增定时任务的任务调度时间和任务运行逻辑,执行所述新增定时任务,无需额外编码,节省人力及节约成本。本发明实施中还可以通过将每个定时任务的执行结果存储至日志表中,对每个定时任务进行实时监控,解决了监控困难的问题。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的一种定时任务的管理方法,图6示出了本发明实施例提供的一种定时任务的管理装置的一个实施例结构图。
本实施例中,一种定时任务的管理装置可以包括::
定时任务获取模块601,用于获取与预设数据库存在交互关系的至少一个定时任务;
定时任务存储模块602,用于将所述至少一个定时任务的任务调度时间及任务运行逻辑存储至所述预设数据库的基表中;
判断模块603,用于从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行;
任务指令发送模块604,用于将需要执行的所有定时任务分为一组,向该组中所有定时任务对应的客户端发送执行任务指令,所述执行任务指令用于指示所述客户端根据所述任务运行逻辑执行所述定时任务。
进一步地,所述判断模块603,具体用于:根据预设时间间隔,从所述基表中读取所有定时任务的任务调度时间;
针对所述所有定时任务中的任一定时任务,根据所述定时任务的任务调度时间判断所述定时任务的执行时间是否在本次读取时间到下次读取时间之间的时间段内,其中,所述时间段包括本次读取时间但不包括下次读取时间;
若所述定时任务的执行时间在所述时间段内,则所述定时任务为需要执行的定时任务。
优选地,所述定时任务的管理装置,还可以包括:客户端来源获取模块,用于在所述将需要执行的所有定时任务分为一组之后,获取所述需要执行的所有定时任务携带的客户端来源标识符;
分组模块,用于根据所述客户端来源标识符,将所述需要执行的所有定时任务中相同任务调度时间且客户端来源标识符不同的所有定时任务分为一组;
分组标识模块,用于根据每个组对应的任务调度时间,将所有组按从小到大的顺序排序,对每个组进行与排序对应的分组标识;
执行模块,用于根据所述分组标识按从小到大的顺序执行每个组中对应的定时任务。
优选地,所述定时任务的管理装置,还可以包括:配置分组标识模块,用于在有新增定时任务时,获取所述新增定时任务的任务调度时间及任务运行逻辑,并对所述新增定时任务配置分组标识;
新增定时任务存储模块,用于根据所述新增定时任务的分组标识,将所述新增定时任务的任务调度时间及任务运行逻辑存储在基表中对应的分组标识的组里。
优选地,所述定时任务的管理装置,还可以包括:执行结果存储模块,用于获取所有定时任务的执行结果,将所述所有定时任务的执行结果存储至所述预设数据库的日志表中,所述执行结果包括运行状态;
监控模块,用于通过读取所述日志表,对所述所有定时任务的运行状态进行监控;
运行失败处理模块,用于在所述定时任务的运行状态为运行失败时,将所述定时任务的任务调度时间及任务运行逻辑添加至预设数据库中的补跑基表中,读取所述补跑基表,运行所述定时任务,所述补跑基表用于存储运行失败的定时任务的任务调度时间及任务运行逻辑;
运行异常处理模块,用于在所述定时任务的运行状态为运行异常时,将所述定时任务的执行结果发送至所述定时任务对应的客户端,接收所述客户端发送的反馈信息,根据所述反馈信息对所述基表中所述定时任务的任务调度时间及任务运行逻辑进行更新。
图7示出了本发明实施例提供的一种终端设备的示意框图,为了便于说明,仅示出了与本发明实施例相关的部分。
在本实施例中,所述终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如执行上述的定时任务的管理方法的计算机程序。所述处理器70执行所述计算机程序72时实现上述各个定时任务的管理方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块601至604的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种定时任务的管理方法,其特征在于,包括:
获取与预设数据库存在交互关系的至少一个定时任务;
将所述至少一个定时任务的任务调度时间及任务运行逻辑存储至所述预设数据库的基表中;
从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行;
将需要执行的所有定时任务分为一组,向该组中所有定时任务对应的客户端发送执行任务指令,所述执行任务指令用于指示所述客户端根据所述任务运行逻辑执行所述定时任务。
2.根据权利要求1所述的定时任务的管理方法,其特征在于,所述从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行,包括:
根据预设时间间隔,从所述基表中读取所有定时任务的任务调度时间;
针对所述所有定时任务中的任一定时任务,根据所述定时任务的任务调度时间判断所述定时任务的执行时间是否在本次读取时间到下次读取时间之间的时间段内,其中,所述时间段包括本次读取时间但不包括下次读取时间;
若所述定时任务的执行时间在所述时间段内,则所述定时任务为需要执行的定时任务。
3.根据权利要求2所述的定时任务的管理方法,其特征在于,在所述将需要执行的所有定时任务分为一组之后,该方法还包括:
获取所述需要执行的所有定时任务携带的客户端来源标识符;
根据所述客户端来源标识符,将所述需要执行的所有定时任务中相同任务调度时间且客户端来源标识符不同的所有定时任务分为一组;
根据每个组对应的任务调度时间,将所有组按从小到大的顺序排序,对每个组进行与排序对应的分组标识;
根据所述分组标识按从小到大的顺序执行每个组中对应的定时任务。
4.根据权利要求3所述的定时任务的管理方法,其特征在于,该方法还包括:
若有新增定时任务,则获取所述新增定时任务的任务调度时间及任务运行逻辑,并对所述新增定时任务配置分组标识;
根据所述新增定时任务的分组标识,将所述新增定时任务的任务调度时间及任务运行逻辑存储在基表中对应的分组标识的组里。
5.根据权利要求1-4任一所述的定时任务的管理方法,其特征在于,该方法还包括:
获取所有定时任务的执行结果,将所述所有定时任务的执行结果存储至所述预设数据库的日志表中,所述执行结果包括运行状态;
通过读取所述日志表,对所述所有定时任务的运行状态进行监控;
若所述定时任务的运行状态为运行失败,则将所述定时任务的任务调度时间及任务运行逻辑添加至预设数据库中的补跑基表中,读取所述补跑基表,运行所述定时任务,所述补跑基表用于存储运行失败的定时任务的任务调度时间及任务运行逻辑;
若所述定时任务的运行状态为运行异常,则将所述定时任务的执行结果发送至所述定时任务对应的客户端,接收所述客户端发送的反馈信息,根据所述反馈信息对所述基表中所述定时任务的任务调度时间及任务运行逻辑进行更新。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述定时任务的管理方法的步骤。
7.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:
获取与预设数据库存在交互关系的至少一个定时任务;
将所述至少一个定时任务的任务调度时间及任务运行逻辑存储至所述预设数据库的基表中;
从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行;
将需要执行的所有定时任务分为一组,向该组中所有定时任务对应的客户端发送执行任务指令,所述执行任务指令用于指示所述客户端根据所述任务运行逻辑执行所述定时任务。
8.根据权利要求7所述的终端设备,其特征在于,所述从所述基表中读取所有定时任务的任务调度时间,判断每个定时任务是否需要执行,包括:
根据预设时间间隔,从所述基表中读取所有定时任务的任务调度时间;
针对所述所有定时任务中的任一定时任务,根据所述定时任务的任务调度时间判断所述定时任务的执行时间是否在本次读取时间到下次读取时间之间的时间段内,其中,所述时间段包括本次读取时间但不包括下次读取时间;
若所述定时任务的执行时间在所述时间段内,则所述定时任务为需要执行的定时任务。
9.根据权利要求8所述的终端设备,其特征在于,在所述将需要执行的所有定时任务分为一组之后,还包括:
获取所述需要执行的所有定时任务携带的客户端来源标识符;
根据所述客户端来源标识符,将所述需要执行的所有定时任务中相同任务调度时间且客户端来源标识符不同的所有定时任务分为一组;
根据每个组对应的任务调度时间,将所有组按从小到大的顺序排序,对每个组进行与排序对应的分组标识;
根据所述分组标识按从小到大的顺序执行每个组中对应的定时任务。
10.根据权利要求9所述的终端设备,其特征在于,还包括:
若有新增定时任务,则获取所述新增定时任务的任务调度时间及任务运行逻辑,并对所述新增定时任务配置分组标识;
根据所述新增定时任务的分组标识,将所述新增定时任务的任务调度时间及任务运行逻辑存储在基表中对应的分组标识的组里。
CN201811122405.7A 2018-09-26 2018-09-26 定时任务的管理方法、计算机可读存储介质和终端设备 Active CN109298924B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811122405.7A CN109298924B (zh) 2018-09-26 2018-09-26 定时任务的管理方法、计算机可读存储介质和终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811122405.7A CN109298924B (zh) 2018-09-26 2018-09-26 定时任务的管理方法、计算机可读存储介质和终端设备

Publications (2)

Publication Number Publication Date
CN109298924A true CN109298924A (zh) 2019-02-01
CN109298924B CN109298924B (zh) 2024-04-02

Family

ID=65164234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811122405.7A Active CN109298924B (zh) 2018-09-26 2018-09-26 定时任务的管理方法、计算机可读存储介质和终端设备

Country Status (1)

Country Link
CN (1) CN109298924B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110673943A (zh) * 2019-09-29 2020-01-10 香港乐蜜有限公司 一种定时任务的实现方法、装置、电子设备及存储介质
CN110750550A (zh) * 2019-10-22 2020-02-04 京东数字科技控股有限公司 数据查证方法、数据查证装置、存储介质与电子设备
CN111078383A (zh) * 2019-12-24 2020-04-28 浙江诺诺网络科技有限公司 一种定时任务的管理方法、装置、设备及存储介质
CN111694645A (zh) * 2020-05-26 2020-09-22 平安普惠企业管理有限公司 分布式任务调度***中任务处理方法及相关装置
CN111913804A (zh) * 2020-07-30 2020-11-10 平安证券股份有限公司 访前报告的生成方法、装置、电子设备及存储介质
CN113302593A (zh) * 2019-05-16 2021-08-24 深圳市欢太科技有限公司 任务处理方法、装置、***、电子设备及存储介质
CN114265675A (zh) * 2021-12-08 2022-04-01 阿里巴巴(中国)有限公司 异步训练的任务调度方法、***、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677469A (zh) * 2016-01-06 2016-06-15 北京京东世纪贸易有限公司 定时任务执行方法及装置
CN106886450A (zh) * 2015-12-16 2017-06-23 阿里巴巴集团控股有限公司 任务调度方法和***
CN107748695A (zh) * 2017-10-24 2018-03-02 平安科技(深圳)有限公司 定时任务处理方法、装置、存储介质和计算机设备
CN108287751A (zh) * 2017-01-09 2018-07-17 阿里巴巴集团控股有限公司 任务执行方法及装置、分布式***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106886450A (zh) * 2015-12-16 2017-06-23 阿里巴巴集团控股有限公司 任务调度方法和***
CN105677469A (zh) * 2016-01-06 2016-06-15 北京京东世纪贸易有限公司 定时任务执行方法及装置
CN108287751A (zh) * 2017-01-09 2018-07-17 阿里巴巴集团控股有限公司 任务执行方法及装置、分布式***
CN107748695A (zh) * 2017-10-24 2018-03-02 平安科技(深圳)有限公司 定时任务处理方法、装置、存储介质和计算机设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113302593A (zh) * 2019-05-16 2021-08-24 深圳市欢太科技有限公司 任务处理方法、装置、***、电子设备及存储介质
CN110673943A (zh) * 2019-09-29 2020-01-10 香港乐蜜有限公司 一种定时任务的实现方法、装置、电子设备及存储介质
CN110750550A (zh) * 2019-10-22 2020-02-04 京东数字科技控股有限公司 数据查证方法、数据查证装置、存储介质与电子设备
CN111078383A (zh) * 2019-12-24 2020-04-28 浙江诺诺网络科技有限公司 一种定时任务的管理方法、装置、设备及存储介质
CN111694645A (zh) * 2020-05-26 2020-09-22 平安普惠企业管理有限公司 分布式任务调度***中任务处理方法及相关装置
CN111913804A (zh) * 2020-07-30 2020-11-10 平安证券股份有限公司 访前报告的生成方法、装置、电子设备及存储介质
CN114265675A (zh) * 2021-12-08 2022-04-01 阿里巴巴(中国)有限公司 异步训练的任务调度方法、***、设备及存储介质

Also Published As

Publication number Publication date
CN109298924B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
CN109298924A (zh) 定时任务的管理方法、计算机可读存储介质和终端设备
CN101981531B (zh) 聚集循环调度以优化资源消耗
CN109347675A (zh) 服务器配置方法、装置以及电子设备
Munier et al. Approximation bounds for a general class of precedence constrained parallel machine scheduling problems
CN108132833A (zh) 一种基于zookeeper技术的分布式定时任务调度方法和装置
CN107451147A (zh) 一种kafka集群动态切换的方法和装置
CN110162388A (zh) 一种任务调度方法、***及终端设备
CN104915259A (zh) 一种应用于分布式采集***的任务调度方法
CN111400011B (zh) 一种实时任务调度方法、***、设备及可读存储介质
CN109298962A (zh) 定时任务的监控方法、计算机可读存储介质和终端设备
CN106886450A (zh) 任务调度方法和***
CN113760513B (zh) 一种分布式任务调度方法、装置、设备和介质
CN110611707A (zh) 一种任务调度的方法及装置
CN115185787B (zh) 处理事务日志的方法及装置
CN112231073A (zh) 一种分布式任务调度方法及其装置
CN105553732B (zh) 一种分布式网络模拟方法及***
CN112162852A (zh) 一种多架构cpu节点的管理方法、装置及相关组件
CN111913793A (zh) 分布式任务调度方法、装置、节点设备和***
CN112988383A (zh) 一种资源分配方法、装置、设备以及存储介质
CN111767125A (zh) 任务执行方法、装置、电子设备、存储介质
CN111162942A (zh) 一种集群选举方法及***
Belocchi et al. Paxos in the NIC: Hardware acceleration of distributed consensus protocols
CN103761128A (zh) 一种指令执行方法、装置及***
CN115712572A (zh) 任务的测试方法、装置、存储介质及电子装置
Kowalski et al. Fault tolerant scheduling of tasks of two sizes under resource augmentation

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
GR01 Patent grant
GR01 Patent grant