CN110471750A - 定时任务控制方法、装置、介质和计算机设备 - Google Patents
定时任务控制方法、装置、介质和计算机设备 Download PDFInfo
- Publication number
- CN110471750A CN110471750A CN201910631651.3A CN201910631651A CN110471750A CN 110471750 A CN110471750 A CN 110471750A CN 201910631651 A CN201910631651 A CN 201910631651A CN 110471750 A CN110471750 A CN 110471750A
- Authority
- CN
- China
- Prior art keywords
- configuration information
- task
- information
- timed task
- management table
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000004048 modification Effects 0.000 claims description 35
- 238000012986 modification Methods 0.000 claims description 35
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 7
- 230000004913 activation Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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
-
- 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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种定时任务控制方法、装置、计算机存储介质和计算机设备;该方法包括:获取当前***时间;当所述当前***时间满足预设时间执行策略时,查询用于记录定时任务的配置信息的配置管理表得到查询结果,所述查询结果包含当前配置信息;根据查询结果判断所述配置管理表中是否包含新的配置信息;若包含,则获取所述新的配置信息,并执行所述新的配置信息。通过本发明技术方案,能够实现对多个定时任务进行统一管理,降低了对定时任务的管理难度,有利于提高项目的开发效率。
Description
技术领域
本发明涉及***控制领域,具体而言,本发明涉及一种定时任务控制方法、装置、介质和计算机设备。
背景技术
定时任务是一种广泛应用于各种项目中的技术。在应用定时任务时,需要提前配置好定时任务触发时所执行的任务内容、以及用于判断是否触发定时任务的时间执行策略,当时间执行策略满足时,就触发定时任务并执行定时任务的任务内容。
目前配置定时任务通常是项目需要多少个定时任务就由管理员一一配置在配置文件中,也就是每个定时任务都对应一项配置信息,这样随着定时任务的数量越来越多,在配置文件中所需要的配置信息也越来越多。此外,如果想对已配置的定时任务进行修改,管理员还需要从配置文件包含的大量配置信息中找到目标的配置信息才能进行修改,而想要使修改后的配置文件生效还需要对服务器进行重启,操作上非常繁琐。
而当需要新配置和需要修改的定时任务数量越来越多时,数量庞大的定时任务的管理难度也变得越来越大,另一方面对定时任务的修改也需要频繁地重启服务器,这也使得项目的开发效率大大降低。
发明内容
本发明针对现有技术的缺点,提供了一种定时任务控制方法、装置、介质和计算机设备,通过本发明技术方案,能够实现对多个定时任务进行统一管理,降低了对定时任务的管理难度,有利于提高项目的开发效率。
本发明实施例根据第一方面提供了一种定时任务控制方法,包括:
获取当前***时间;
当所述当前***时间满足预设时间执行策略时,查询用于记录定时任务的配置信息的配置管理表得到查询结果,所述查询结果包含当前配置信息;
根据所述查询结果判断所述配置管理表中是否包含新的配置信息;
若包含,则获取所述新的配置信息,并执行所述新的配置信息。
进一步地,接收用户的定时任务创建指令;
获取所述定时任务创建指令关联的配置信息;
按照预设信息填入规则将所述配置信息填入所述配置管理表。
进一步地,接收用户的定时任务修改指令,所述定时任务修改指令与用户输入的配置修改信息和待修改任务标识关联;
根据所述配置修改信息修改所述配置管理表中与所述待修改任务标识对应的配置信息。
进一步地,所述根据查询结果判断所述配置管理表中是否包含新的配置信息,包括:
获取上一次查询配置管理表得到的历史配置信息;
将所述查询结果中包含的当前配置信息与所述历史配置信息进行对比;
若所述当前配置信息与所述历史配置信息对比一致,则确定所述配置管理表中没有包含新的配置信息;
若所述当前配置信息与所述历史配置信息对比不一致,则确定所述配置管理表中有包含新的配置信息,将所述当前配置信息作为新的配置信息。
进一步地,所述将所述查询结果中包含的当前配置信息与所述历史配置信息进行对比,还包括:
将所述当前配置信息中的任务标识信息与所述历史配置信息中的任务标识信息进行对比;
若对比不一致,则确定所述当前配置信息对应的配置类型为创建定时任务;
若对比一致,则将所述当前配置信息中的任务状态信息与所述历史配置信息中的任务状态信息进行比较;
如果比较不一致,则确定所述当前配置信息对应的配置类型为删除定时任务。
进一步地,所述执行所述新的配置信息,包括:
若所述新的配置信息对应的配置类型为创建定时任务,则从所述新的配置信息中提取出任务实现类路径信息;
根据所述任务实现类路径信息获取任务实现基类;
利用反射机制将所述新的配置信息作为所述定时任务实现基类的参数,得到定时任务类,依据所述定时任务类创建新的定时任务。
进一步地,获取所述查询结果中的当前配置信息;
将所述当前配置信息按照预设存储格式存储至预设数据库中。
本发明实施例根据第二方面提供了一种定时任务控制装置,包括:
时间获取模块,用于获取当前***时间;
管理表查询模块,用于当所述当前***时间满足预设时间执行策略时,查询用于记录定时任务的配置信息的配置管理表得到查询结果,所述查询结果包含当前配置信息;
判断模块,用于根据所述查询结果判断所述配置管理表中是否包含新的配置信息;
执行模块,用于当所述配置管理表中包含新的配置信息时,获取所述新的配置信息,并执行所述新的配置信息。
本发明实施例根据第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的定时任务控制方法。
本发明实施例根据第四方面提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的定时任务控制方法。
在本发明实施例中,通过获取当前***时间;当所述当前***时间满足预设时间执行策略时,查询用于记录定时任务的配置信息的配置管理表得到查询结果,所述查询结果包含当前配置信息;根据查询结果判断所述配置管理表中是否包含新的配置信息;若包含,则获取所述新的配置信息,并执行所述新的配置信息,能够实现通过配置管理表统一地对项目中所有的定时任务进行控制操作,包括创建定时任务、删除或修改已有定时任务等,大大降低了对定时任务的管理难度;并且对定时任务的控制操作能够实时生效,不需要频繁重启服务器,有利于提高项目的开发效率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一个实施例的定时任务控制方法流程示意图;
图2为本发明一个实施例的定时任务控制装置的结构示意图;
图3为本发明一种实施例的计算机设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式,这里使用的“第一”、“第二”仅用于区别同一技术特征,并不对该技术特征的顺序和数量等加以限定。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明实施例提供了一种定时任务控制方法,以下结合附图对本发明的具体实施方式进行详细介绍。如图1所示,本发明实施例提供的定时任务控制方法包括以下步骤:
S110:获取当前***时间;
S120:当所述当前***时间满足预设时间执行策略时,查询用于记录定时任务的配置信息的配置管理表得到查询结果,所述查询结果包含当前配置信息;
S130:根据所述查询结果判断所述配置管理表中是否包含新的配置信息;
S140:若包含,则获取所述新的配置信息,并执行所述新的配置信息。
在本实施例中,考虑到当项目中需要新配置和需要修改的定时任务数量越来越多时,数量庞大的定时任务的管理难度也变得越来越大,为了能够更好地对项目中的定时任务进行管理,本实施例预先配置了一个用于统一管理其他定时任务的总调度定时任务,并为所述总调度定时任务配置所述预设时间执行策略,其中,所述时间执行策略可以是时间表达式,可能地,将时间执行策略设置为每隔N时间就执行一次。而所述总调度定时任务的任务内容是查询管理员预先配置好的配置管理表,并判断配置管理表中是否包含新的配置信息,如果有查询到新的配置信息,就执行所述新的配置信息,从而通过所述总调度定时任务这一入口能够进行创建新的定时任务、删除或修改已有的定时任务等操作。
具体地,在当前***时间满足所述总调度定时任务对应的预设时间执行策略时,就执行所述总调度定时任务对应的任务内容,即查询所述配置管理表,所述配置管理表由管理员预先配置在数据库中,其中记录了项目中所有定时任务对应的配置信息。在查询配置管理表之后,就根据当前查询到的查询结果来判断所述配置管理表中是否包含新的配置信息。需要说明的是,所述新的配置信息可以是指配置管理表中新增加的用于创建新的定时任务的配置信息,还可以是配置管理表中已记录的定时任务的配置信息,但该配置信息中的某些字段上的信息在上一次查询配置管理表后被管理员修改过。
更具体地,本实施例中,所有定时任务的配置信息都配置在存储于数据库中的配置管理表中,因此,当需要在配置管理表中添加新的配置信息、或者需要修改配置管理表中已有定时任务的配置信息时,需要提前获得用于修改数据库里面数据的修改权限。
而由于定时任务的配置信息,包括定时任务对应的时间执行策略都保存在数据库中,因此对定时任务的配置信息进行修改时,就不需要像以往将配置信息配置在配置文件中一样,需要对服务器进行重启来使修改后的配置文件生效,而是能够使修改后的配置信息实时生效,从而能够大大降低了对定时任务的管理难度;并且对定时任务的控制操作能够实时生效,不需要频繁重启服务器,有利于提高项目的开发效率。
本发明提供的定时任务控制方法还通过以下实施例来实现往配置管理表中添加配置信息,包括:
S210:接收用户的定时任务创建指令;
S220:获取所述定时任务创建指令关联的配置信息;
S230:按照预设信息填入规则将所述配置信息填入所述配置管理表。
在本实施例中,可以为用户提供一个配置界面,用于接收用户下发的定时任务创建指令,以及接收用户通过所述配置界面输入的用于创建定时任务的配置信息。可以理解的是,所述定时任务创建指令与所述配置信息关联是指所述配置信息包含在所述定时任务创建指令中,还可以是指所述配置信息不包含在所述指令中,而是通过另外的数据包传输到本服务器。需要说明的是,所述用户即是上述的管理员。
当获取到用户输入的配置信息之后,确定配置信息中所包含的所有信息对应的字段标识,然后按照字段标识,将各个字段上的信息填入配置管理表中与其字段标识相同的位置。
在本实施例中,所述配置信息中的字段标识包括任务标识字段、任务描述字段、任务状态字段、时间执行策略字段、定时任务组字段、触发器组字段以及任务实现类路径字段等。可以理解的是,配置管理表中记录的每一条配置信息对应的字段标识与上述所描述的字段标识相同。
本发明提供的定时任务控制方法还通过以下实施例来实现修改配置管理表中的配置信息,包括:
S310:接收用户的定时任务修改指令,所述定时任务修改指令与用户输入的配置修改信息和待修改任务标识关联;
S320:根据所述配置修改信息修改所述配置管理表中与所述待修改任务标识对应的配置信息。
在一个实施方式中,所述定时任务修改指令用于修改配置管理表中已有定时任务的配置信息。
具体地,用户通过配置页面选定要修改的定时任务,配置页面会展示出所述定时任务对应的配置信息,然后用户可以在配置页面上修改该配置信息中某些字段上的字段信息。
相应地,所述配置修改信息包括用户选择修改的待修改字段标识,以及与字段标识对应的新的字段信息。之后服务器将所述配置管理表中与所述待修改字段标识对应的字段信息修改为所述新的字段信息。
在另一实施方式中,所述定时任务修改指令用于删除配置管理表中已有定时任务。
在本实施方式中,用户要删除某个定时任务,只需要修改该定时任务的配置信息中的任务状态字段。具体地,任务状态字段包括加入任务和取消任务两种类型,可以为各个类型的任务状态设置预设阈值来进行标识,比如预先设置0表示加入任务,而1表示取消任务,用户要删除一个定时发送短信的定时任务,只需要将该定时任务配置信息中的任务状态字段上的字段信息,即任务状态信息从1修改0,就能实现将该定时任务删除。
相应地,所述配置修改信息包括用户选择修改的待修改字段标识,以及与字段标识对应的新的字段信息,其中,所述待修改字段标识在本实施方式中是指任务状态字段,而所述新的字段信息是指表示加入任务的预设阈值、或表示取消任务的预设阈值。
在一个实施例中,由于用户要删除定时任务只需要修改该定时任务的配置信息中的任务状态字段,因此用户不需要输入要修改的待修改字段标识,以及与字段标识对应的新的字段信息,只需要下发定时任务删除指令,所述定时任务删除指令与用户要删除的定时任务的任务标识关联。
当服务器接收到用户下发的定时任务删除指令时,获取与所述定时任务删除指令关联的任务标识信息,然后从配置管理表中确定与所述任务标识信息对应的配置信息,将所述配置信息中任务状态字段上的值修改为表示取消任务的预设阈值。
在一个实施例中,所述S130:根据查询结果判断所述配置管理表中是否包含新的配置信息,包括:
S131:获取上一次查询配置管理表得到的历史配置信息;
S132:将所述查询结果中包含的当前配置信息与所述历史配置信息进行对比;
S133:若所述当前配置信息与所述历史配置信息对比一致,则确定所述配置管理表中没有包含新的配置信息;
S134:若所述当前配置信息与所述历史配置信息对比不一致,则确定所述配置管理表中有包含新的配置信息,将所述当前配置信息作为新的配置信息。
在本实施例中,所述总调度定时任务每一次查询配置管理表时,还会获取所述配置管理表中记录的所有配置信息,并将所述所有配置信息进行存储。
相应地,还包括:
S410:获取所述查询结果中的当前配置信息;
S420:将所述当前配置信息按照预设存储格式存储至预设数据库中。
当总调度定时任务在本次查询了配置管理表之后,就获取所述查询结果中所有的当前配置信息,将所述所有当前配置信息按照预设存储格式存储至预设数据库中。其中,所述预设存储格式是指在存储时确定本次查询的时间信息,然后将所述时间信息与所有的当前配置信息进行关联存储。
需要说明的是,所述当前配置信息可能包括多条配置信息,而所述历史配置信息也包括多条配置信息。
那么在将所述当前配置信息与所述历史配置信息进行对比时,为了方便理解对比过程,可以将所述当前配置信息看做一个包含多条配置信息的集合A,将所述历史配置信息看做一个包含多条配置信息集合B。在对比过程中,可以从A取出一条配置信息a1,并将a1与B中的每一条配置信息进行对比,重复执行上述对比操作,直至将A中的每一条配置信息都与B中的每一条配置信息都进行了对比,就完成了对比过程。
在对比之后,如果所述当前配置信息中的每一条配置信息都能在所述历史配置信息中匹配到相同的配置信息,那么就确定所述配置管理表中没有包含新的配置信息。
如果所述当前配置信息中存在若干条配置信息,在所述历史配置信息中没有与所述若干条配置信息相同的配置信息,那么就确定所述配置管理表中有包含新的配置信息,新的配置信息就是所述若干条配置信息。
在一个实施例中,所述S132:将所述查询结果中包含的当前配置信息与所述历史配置信息进行对比,还包括:
将所述当前配置信息中的任务标识信息与所述历史配置信息中的任务标识信息进行对比;
若对比不一致,则确定所述当前配置信息对应的配置类型为创建定时任务;
若对比一致,则将所述当前配置信息中的任务状态信息与所述历史配置信息中的任务状态信息进行比较;
如果比较不一致,则确定所述当前配置信息对应的配置类型为删除定时任务。
在本实施例中,配置类型包括创建定时任务、删除定时任务以及修改定时任务。
所述配置管理表中记录的配置信息都拥有唯一的任务标识,因此,在将所述当前配置信息与历史配置信息进行对比时,先对比两者之间的任务标识信息,如果不一致,那么就可以确定两者不是相同的配置信息,即可以确定所述当前配置信息是用户想要新创建的定时任务的配置信息,而其对应的配置类型为创建定时任务。
而如果两者的任务标识信息一致,那么可以确定两者是属于同一个定时任务,接着需要再对比两者在任务状态字段上的字段信息即所述任务状态信息,以确定所述当前配置信息是否被用户修改过。而考虑到用户在修改已有定时任务的配置信息时,只有当其要删除该已有定时任务时,才需要修改该已有定时任务的任务状态信息,因此如果对比发现两者的任务状态信息不一致,那么就可以确定所述当前配置信息对应的配置类型为删除定时任务。
可以理解的是,在确定了当前配置信息对应的配置类型是创建定时任务或者删除定时任务后,就不需要再将所述当前配置信息的其他字段信息与所述历史配置信息的进行对比,这样可以有效减少当前配置信息与历史配置信息之间的对比流程,提高对比效率。
进一步地,在上述对比流程基础上,如果对比发现两者的任务状态信息一致,则需要进一步将所述当前配置信息剩余的字段信息与历史配置信息剩余的字段信息进行对比,如果对比全部一致,那么可以确定所述配置管理表中没有包含新的配置信息;而如果有某个或某些字段信息对比后发现不一致,那么可以确定所述当前配置信息对应的配置类型为修改定时任务。
在一个实施例中,所述S140中的执行所述新的配置信息,包括:
S141:若所述新的配置信息对应的配置类型为创建定时任务,则从所述新的配置信息中提取出任务实现类路径信息;
S142:根据所述任务实现类路径信息获取任务实现类数据;
S143:利用反射机制将所述新的配置信息作为所述定时任务实现基类的参数,得到定时任务类,依据所述定时任务类创建新的定时任务。
需要说明是,在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功能即是java语言中的反射机制。
在本实施例中,在执行新的配置信息时,先确定所述新的配置信息对应的配置类型是什么,如果是创建定时任务,那么执行所述新的配置信息的时候,根据该配置信息中的任务实现类路径信息来获取任务实现基类,其中,所述任务实现基类是指创建定时任务时需要依赖的类,其需要由管理员预先编写好存储于预设存储区域中,而所述任务实现类路径信息是指所述预设存储区域对应的地址信息。进一步地,所述任务实现基类是由管理员对项目中的定时任务的配置情况进行总结而编写出来的,根据项目的不同,任务实现基类的数量可能有所不同,可以只有一个,或者存在多个,不同的任务实现基类的存储路径不同在配置信息的任务实现类字段中用户只需要指示要使用的任务实现基类是什么,然后当总调度定时任务扫描到配置类型为创建定时任务的配置信息时,将配置信息中除了任务实现类字段外的其他字段信息作为所述任务实现基类的参数,也就是根据所述其他字段信息来执行相应的任务方法,进而生成一个与所述配置信息对应的任务实现类,这样管理员就不需要重复编写相同的代码,也有利于提高项目开发的效率。
为了更好地理解本发明技术方案,本发明还提供了一种定时任务控制装置,如图2所示,包括以下模块:
时间获取模块110,用于获取当前***时间;
管理表查询模块120,用于当所述当前***时间满足预设时间执行策略时,查询用于记录定时任务的配置信息的配置管理表得到查询结果,所述查询结果包含当前配置信息;
判断模块130,用于根据所述查询结果判断所述配置管理表中是否包含新的配置信息;
执行模块140,用于当所述配置管理表中包含新的配置信息时,获取所述新的配置信息,并执行所述新的配置信息。
具体地,在当前***时间满足预设总调度定时任务对应的预设时间执行策略时,就执行所述总调度定时任务对应的任务内容,即查询所述配置管理表,所述配置管理表由管理员预先配置在数据库中,其中记录了项目中所有定时任务对应的配置信息。在查询配置管理表之后,就根据当前查询到的查询结果来判断所述配置管理表中是否包含新的配置信息。需要说明的是,所述新的配置信息可以是指配置管理表中新增加的用于创建新的定时任务的配置信息,还可以是配置管理表中已记录的定时任务的配置信息,但该配置信息中的某些字段上的信息在上一次查询配置管理表后被管理员修改过。
更具体地,本实施例中,所有定时任务的配置信息都配置在存储于数据库中的配置管理表中,因此,当需要在配置管理表中添加新的配置信息、或者需要修改配置管理表中已有定时任务的配置信息时,需要提前获得用于修改数据库里面数据的修改权限。
而由于定时任务的配置信息,包括定时任务对应的时间执行策略都保存在数据库中,因此对定时任务的配置信息进行修改时,就不需要像以往将配置信息配置在配置文件中一样,需要对服务器进行重启来使修改后的配置文件生效,而是能够使修改后的配置信息实时生效,从而能够大大降低了对定时任务的管理难度;并且对定时任务的控制操作能够实时生效,不需要频繁重启服务器,有利于提高项目的开发效率。
本发明提供的定时任务控制装置还通过以下实施例来实现往配置管理表中添加配置信息,包括以下模块:
创建指令接收模块210,用于接收用户的定时任务创建指令;
配置信息获取模块220,用于获取所述定时任务创建指令关联的配置信息;
配置信息填入模块230,用于按照预设信息填入规则将所述配置信息填入所述配置管理表。
在本实施例中,可以为用户提供一个配置界面,用于接收用户下发的定时任务创建指令,以及接收用户通过所述配置界面输入的用于创建定时任务的配置信息。可以理解的是,所述定时任务创建指令与所述配置信息关联是指所述配置信息包含在所述定时任务创建指令中,还可以是指所述配置信息不包含在所述指令中,而是通过另外的数据包传输到本服务器。需要说明的是,所述用户即是上述的管理员。
当获取到用户输入的配置信息之后,确定配置信息中所包含的所有信息对应的字段标识,然后按照字段标识,将各个字段上的信息填入配置管理表中与其字段标识相同的位置。
本发明提供的定时任务控制装置还通过以下实施例来实现修改配置管理表中的配置信息,包括以下模块:
修改指令接收模块310,用于接收用户的定时任务修改指令,所述定时任务修改指令与用户输入的配置修改信息和待修改任务标识关联;
配置信息修改模块320,用于根据所述配置修改信息修改所述配置管理表中与所述待修改任务标识对应的配置信息。
在一个实施方式中,所述定时任务修改指令用于修改配置管理表中已有定时任务的配置信息。相应地,所述配置修改信息包括用户选择修改的待修改字段标识,以及与字段标识对应的新的字段信息。之后服务器将所述配置管理表中与所述待修改字段标识对应的字段信息修改为所述新的字段信息。
在另一实施方式中,所述定时任务修改指令用于删除配置管理表中已有定时任务。相应地,所述配置修改信息包括用户选择修改的待修改字段标识,以及与字段标识对应的新的字段信息,其中,所述待修改字段标识在本实施方式中是指任务状态字段,而所述新的字段信息是指表示加入任务的预设阈值、或表示取消任务的预设阈值。
在一个实施例中,由于用户要删除定时任务只需要修改该定时任务的配置信息中的任务状态字段,因此用户不需要输入要修改的待修改字段标识,以及与字段标识对应的新的字段信息,只需要下发定时任务删除指令,所述定时任务删除指令与用户要删除的定时任务的任务标识关联。
当服务器接收到用户下发的定时任务删除指令时,获取与所述定时任务删除指令关联的任务标识信息,然后从配置管理表中确定与所述任务标识信息对应的配置信息,将所述配置信息中任务状态字段上的值修改为表示取消任务的预设阈值。
在一个实施例中,所述判断模块130,包括:
历史信息获取子模块131,用于获取上一次查询配置管理表得到的历史配置信息;
配置信息对比子模块132,用于将所述查询结果中包含的当前配置信息与所述历史配置信息进行对比;
第一判断子模块133,用于当所述当前配置信息与所述历史配置信息对比一致时,确定所述配置管理表中没有包含新的配置信息;
第二判断子模块134,用于当所述当前配置信息与所述历史配置信息对比不一致时,确定所述配置管理表中有包含新的配置信息,将所述当前配置信息作为新的配置信息。
相应地,还包括:
当前信息获取模块410,用于获取所述查询结果中的当前配置信息;
配置信息存储模块420,用于将所述当前配置信息按照预设存储格式存储至预设数据库中。
在一个实施例中,所述配置信息对比子模块132,还用于:
将所述当前配置信息中的任务标识信息与所述历史配置信息中的任务标识信息进行对比;
若对比不一致,则确定所述当前配置信息对应的配置类型为创建定时任务;
若对比一致,则将所述当前配置信息中的任务状态信息与所述历史配置信息中的任务状态信息进行对比;
如果对比不一致,则确定所述当前配置信息对应的配置类型为删除定时任务。
在一个实施例中,所述执行模块140,包括:
路径信息提取子模块141,用于当所述新的配置信息对应的配置类型为创建定时任务时,从所述新的配置信息中提取出任务实现类路径信息;
实现类获取子模块142,用于根据所述任务实现类路径信息获取任务实现基类;
任务创建子模块143,用于利用反射机制将所述新的配置信息作为所述定时任务实现基类的参数,得到定时任务类,依据所述定时任务类创建新的定时任务。
需要说明的是,本发明实施例提供的定时任务控制装置能够实现上述定时任务控制方法实施例所实现的功能,功能的具体实现参照上述定时任务控制方法中的描述,在此不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述定时任务控制方法。其中,所述存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-OnlyMemory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable ProgrammableRead-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。可以是只读存储器,磁盘或光盘等。
本发明实施例还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器510;
存储装置520,用于存储一个或多个程序500,
当所述一个或多个程序500被所述一个或多个处理器510执行,使得所述一个或多个处理器510实现上述定时任务控制方法。
如图3所示为本发明计算机设备的结构示意图,包括处理器510、存储装置520、输入单元530以及显示单元540等器件。本领域技术人员可以理解,图3示出的结构器件并不构成对所有计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储装置520可用于存储应用程序500以及各功能模块,处理器510运行存储在存储装置520的应用程序500,从而执行设备的各种功能应用以及数据处理。存储装置520可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储装置包括但不限于这些类型的存储装置。本发明所公开的存储装置520只作为例子而非作为限定。
输入单元530用于接收信号的输入,以及接收用户输入的选择语音文件等相关请求。输入单元530可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元540可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元540可采用液晶显示器、有机发光二极管等形式。处理器510是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储装置520内的软件程序和/或模块,以及调用存储在存储装置内的数据,执行各种功能和处理数据。
在一实施方式中,计算机设备包括一个或多个处理器510,以及一个或多个存储装置520,一个或多个应用程序500,其中所述一个或多个应用程序500被存储在存储装置520中并被配置为由所述一个或多个处理器510执行,所述一个或多个应用程序500配置用于执行以上实施例所述的定时任务控制方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解的是,在本发明各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种定时任务控制方法,其特征在于,包括:
获取当前***时间;
当所述当前***时间满足预设时间执行策略时,查询用于记录定时任务的配置信息的配置管理表得到查询结果,所述查询结果包含当前配置信息;
根据所述查询结果判断所述配置管理表中是否包含新的配置信息;
若包含,则获取所述新的配置信息,并执行所述新的配置信息。
2.如权利要求1所述的定时任务控制方法,其特征在于,还包括:
接收用户的定时任务创建指令;
获取所述定时任务创建指令关联的配置信息;
按照预设信息填入规则将所述配置信息填入所述配置管理表。
3.如权利要求1所述的定时任务控制方法,其特征在于,还包括:
接收用户的定时任务修改指令,所述定时任务修改指令与用户输入的配置修改信息和待修改任务标识关联;
确定与所述待修改任务标识对应的目标配置信息;
根据所述配置修改信息对所述目标配置信息进行修改。
4.如权利要求1所述的定时任务控制方法,其特征在于,
所述根据查询结果判断所述配置管理表中是否包含新的配置信息,包括:
获取上一次查询配置管理表得到的历史配置信息;
将所述查询结果中包含的当前配置信息与所述历史配置信息进行对比;
若所述当前配置信息与所述历史配置信息对比一致,则确定所述配置管理表中没有包含新的配置信息;
若所述当前配置信息与所述历史配置信息对比不一致,则确定所述配置管理表中有包含新的配置信息,将所述当前配置信息作为新的配置信息。
5.如权利要求4所述的定时任务控制方法,其特征在于,
所述将所述查询结果中包含的当前配置信息与所述历史配置信息进行对比,还包括:
将所述当前配置信息中的任务标识信息与所述历史配置信息中的任务标识信息进行对比;
若对比不一致,则确定所述当前配置信息对应的配置类型为创建定时任务;
若对比一致,则将所述当前配置信息中的任务状态信息与所述历史配置信息中的任务状态信息进行比较;
如果比较不一致,则确定所述当前配置信息对应的配置类型为删除定时任务。
6.如权利要求5所述的定时任务控制方法,其特征在于,
所述执行所述新的配置信息,包括:
若所述新的配置信息对应的配置类型为创建定时任务,则从所述新的配置信息中提取出任务实现类路径信息;
根据所述任务实现类路径信息获取任务实现基类;
利用反射机制将所述新的配置信息作为所述定时任务实现基类的参数,得到定时任务类,依据所述定时任务类创建新的定时任务。
7.如权利要求1所述的定时任务控制方法,其特征在于,还包括:
获取所述查询结果中的所有当前配置信息;
将所述当前配置信息按照预设存储格式存储至预设数据库中。
8.一种定时任务控制装置,其特征在于,包括:
时间获取模块,用于获取当前***时间;
管理表查询模块,用于当所述当前***时间满足预设时间执行策略时,查询用于记录定时任务的配置信息的配置管理表得到查询结果,所述查询结果包含当前配置信息;
判断模块,用于根据所述查询结果判断所述配置管理表中是否包含新的配置信息;
执行模块,用于当所述配置管理表中包含新的配置信息时,获取所述新的配置信息,并执行所述新的配置信息。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的定时任务控制方法。
10.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的定时任务控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910631651.3A CN110471750A (zh) | 2019-07-12 | 2019-07-12 | 定时任务控制方法、装置、介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910631651.3A CN110471750A (zh) | 2019-07-12 | 2019-07-12 | 定时任务控制方法、装置、介质和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110471750A true CN110471750A (zh) | 2019-11-19 |
Family
ID=68508726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910631651.3A Pending CN110471750A (zh) | 2019-07-12 | 2019-07-12 | 定时任务控制方法、装置、介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471750A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112025711A (zh) * | 2020-09-09 | 2020-12-04 | 上海有个机器人有限公司 | 一种机器人的定时任务执行方法、装置和机器人 |
CN112070479A (zh) * | 2020-09-03 | 2020-12-11 | 中国平安财产保险股份有限公司 | 任务分发方法、装置、设备及存储介质 |
CN112666849A (zh) * | 2020-12-31 | 2021-04-16 | 新奥数能科技有限公司 | 利用定时控制策略对进行设备自动控制的方法和装置 |
CN113407175A (zh) * | 2021-06-24 | 2021-09-17 | 上海中通吉网络技术有限公司 | 一种定时任务管理*** |
CN113760936A (zh) * | 2021-09-10 | 2021-12-07 | 杭州网易云音乐科技有限公司 | 定时更新方法、介质、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951361A (zh) * | 2014-03-27 | 2015-09-30 | 阿里巴巴集团控股有限公司 | 一种定时任务的触发方法和装置 |
CN107678842A (zh) * | 2017-09-19 | 2018-02-09 | 上海思岚科技有限公司 | 一种用于移动机器人的定时任务的方法及*** |
CN108255596A (zh) * | 2016-12-28 | 2018-07-06 | 福建省天奕网络科技有限公司 | 一种执行定时任务的方法及*** |
CN108958915A (zh) * | 2018-06-28 | 2018-12-07 | 中国建设银行股份有限公司 | 定时任务执行方法及装置 |
-
2019
- 2019-07-12 CN CN201910631651.3A patent/CN110471750A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951361A (zh) * | 2014-03-27 | 2015-09-30 | 阿里巴巴集团控股有限公司 | 一种定时任务的触发方法和装置 |
CN108255596A (zh) * | 2016-12-28 | 2018-07-06 | 福建省天奕网络科技有限公司 | 一种执行定时任务的方法及*** |
CN107678842A (zh) * | 2017-09-19 | 2018-02-09 | 上海思岚科技有限公司 | 一种用于移动机器人的定时任务的方法及*** |
CN108958915A (zh) * | 2018-06-28 | 2018-12-07 | 中国建设银行股份有限公司 | 定时任务执行方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112070479A (zh) * | 2020-09-03 | 2020-12-11 | 中国平安财产保险股份有限公司 | 任务分发方法、装置、设备及存储介质 |
CN112025711A (zh) * | 2020-09-09 | 2020-12-04 | 上海有个机器人有限公司 | 一种机器人的定时任务执行方法、装置和机器人 |
CN112025711B (zh) * | 2020-09-09 | 2021-12-10 | 上海有个机器人有限公司 | 一种机器人的定时任务执行方法、装置和机器人 |
CN112666849A (zh) * | 2020-12-31 | 2021-04-16 | 新奥数能科技有限公司 | 利用定时控制策略对进行设备自动控制的方法和装置 |
CN113407175A (zh) * | 2021-06-24 | 2021-09-17 | 上海中通吉网络技术有限公司 | 一种定时任务管理*** |
CN113760936A (zh) * | 2021-09-10 | 2021-12-07 | 杭州网易云音乐科技有限公司 | 定时更新方法、介质、装置和电子设备 |
CN113760936B (zh) * | 2021-09-10 | 2024-04-05 | 杭州网易云音乐科技有限公司 | 定时更新方法、介质、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471750A (zh) | 定时任务控制方法、装置、介质和计算机设备 | |
EP3472766A1 (en) | Workflow visualization platform | |
CN107293294B (zh) | 一种语音识别处理方法及装置 | |
CN109979465A (zh) | 电子装置、服务器及其控制方法 | |
JP2003256258A (ja) | 情報処理装置 | |
CN109597834A (zh) | 基于redis的海量数据存储方法、装置、介质和设备 | |
CN109460521A (zh) | web页面中图片编辑方法、装置、介质和计算机设备 | |
CN113190695B (zh) | 多媒体数据搜索方法及装置、计算机设备和介质 | |
CN104679900A (zh) | 一种应用程序搜索方法及装置 | |
US20120185794A1 (en) | Method and Apparatus for Managing Buttons on Taskbar | |
CN105069063A (zh) | 图片搜索方法及装置 | |
CN112652302A (zh) | 语音控制方法、装置、终端及存储介质 | |
CN112418368A (zh) | Nfc卡片的处理方法及装置、设备、存储介质 | |
CN109921916B (zh) | 多人群组中的消息处理方法、装置、存储介质及终端设备 | |
US20080162428A1 (en) | Method and system for creating dynamic fields | |
CN109582382B (zh) | 配置信息的加载方法、装置、存储介质及终端设备 | |
CN104572661B (zh) | 终端设备以及信息处理方法 | |
CN109614161A (zh) | 功能开关状态切换方法、装置、介质和计算机设备 | |
CN111722893A (zh) | 一种电子设备图形用户界面交互方法、装置和终端设备 | |
CN112286486A (zh) | 智能终端上应用程序的运行方法、智能终端和存储介质 | |
CN109660587A (zh) | 基于随机数的数据推送方法、装置、存储介质及服务器 | |
JP2013127724A (ja) | アプリケーション選択装置、アプリケーション選択手段、及びアプリケーション選択プログラム | |
CN104424223A (zh) | 一种基于输入法的app搜索与快捷启动方法及相关输入法*** | |
CN112269473B (zh) | 一种基于场景灵活定义的人机交互方法及*** | |
CN114115626A (zh) | 一种查询食材存储设备食材的方法及显示设备 |
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 |