定时任务的处理方法及装置制造方法

文档序号:6526528阅读:178来源:国知局
定时任务的处理方法及装置制造方法
【专利摘要】本发明公开一种定时任务的处理方法,包括:将每一个预设的定时任务分成多个子任务,并存储;获取定时任务编辑指令,所述定时任务编辑指令包括组成定时任务的子任务、定时任务的调度信息以及定时任务的运行条件;根据所述定时任务编辑指令,调取与所述定时任务编辑指令相应的子任务,对所调取的子任务进行组装,获得定时任务,并为所述定时任务添加所述定时单元的调度信息及定时任务的运行条件;将所述定时任务存放至定时任务列表中。本发明还公开一种定时任务的处理装置。本发明使得定时任务的处理更加灵活,而且还提高了定时任务的处理效率。
【专利说明】定时任务的处理方法及装置
【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种定时任务的处理方法及装置。
【背景技术】
[0002]在软件系统中,定时任务的使用非常普遍,开发者先对定时任务的内容以及运行时间进行预先设定。然后系统则在运行时间到达后根据定时任务的内容自动地执行相应的操作。
[0003]但是定时任务的要求将随着需求、时间、运行环境、系统负载等因素的变动而不同,上述预先设定的定时任务并不同同时满足需求,当需要修改定时任务时,则需要维修人员停止软件系统,修改源代码中的相关定时任务时间及内容,再将修改好的软件系统重新部署至服务器中。因此,现有技术的定时任务的处理存在以下缺点:
[0004](I)修改定时任务时需要专业人员寻找到相关代码的位置,并进行相关编程,对维护人员的专业水平要求较高;
[0005](2)修改定时任务时需要停止软件系统并重新部署,影响用户的使用;
[0006](3)由于需要重新进行编码,提高了系统维护的风险及难度;
[0007](4)定时任务修改难度、复杂度高,灵活性很差。

【发明内容】

[0008]本发明的主要目的是提供一种定时任务的处理方法及装置,旨在解决了现有技术中定时任务的处理不够灵活,且复杂度高、定时任务的处理效率不高的技术问题。
[0009]本发明提供了一种定时任务的处理方法,包括以下步骤:
[0010]将每一个预设的定时任务分成多个子任务,并存储;
[0011]获取定时任务编辑指令,所述定时任务编辑指令包括组成定时任务的子任务、定时任务的调度信息以及定时任务的运行条件;
[0012]根据所述定时任务编辑指令,调取与所述定时任务编辑指令相应的子任务,对所调取的子任务进行组装,获得定时任务,并为所述定时任务添加所述定时单元的调度信息及定时任务的运行条件;
[0013]将所述定时任务存放至定时任务列表中。
[0014]优选地,所述将定时任务存放至定时任务列表中之后还包括:
[0015]周期性地遍历所述定时任务列表中的所有定时任务;
[0016]当所述定时任务队列中存在满足运行条件的定时任务时,将所述定时任务存放至调度队列。
[0017]优选地,所述将所述定时任务存放至调度队列之后还包括:
[0018]按照所述调度队列的运行规则,运行所述定时任务;
[0019]在所述定时任务结束后,将其从调度队列中删除。
[0020]优选地,所述将每一个预设的定时任务分成多个任务单元,并存储包括:[0021]获取预设的定时任务;
[0022]按照预设的划分规则,对所述预设的定时任务进行划分,获得多个任务单元;
[0023]对每个任务单元对应的代码进行封装,形成子任务,并将所述子任务存储在任务单元列表中。
[0024]优选地,所述定时任务编辑指令包括新建定时任务、修改定时任务。
[0025]本发明还提供了一种定时任务的处理装置,包括:
[0026]子任务划分模块,用于将每一个预设的定时任务分成多个子任务,并存储;
[0027]指令获取模块,用于获取定时任务编辑指令,所述定时任务编辑指令包括组成定时任务的子任务、定时任务的调度信息以及定时任务的运行条件;
[0028]定时任务编辑模块,用于根据所述定时任务编辑指令,调取与所述定时任务编辑指令相应的子任务,对所调取的子任务进行组装,获得定时任务,并为所述定时任务添加所述定时单元的调度信息及定时任务的运行条件;
[0029]定时任务存放模块,用于将所述定时任务存放至定时任务列表中。
[0030]优选地,所述定时任务的处理装置还包括:
[0031]定时任务遍历模块,用于周期性地遍历所述定时任务列表中的所有定时任务;
[0032]定时任务调度模块,用于当所述定时任务队列中存在满足运行条件的定时任务时,将所述定时任务存放至调度队列。
[0033]优选地,所述定时任务调度模块还用于:按照所述调度队列的运行规则,运行所述定时任务;在所述定时任务结束后,将其从调度队列中删除。
[0034]优选地,所述子任务划分模块包括:
[0035]预设定时任务获取单元,用于获取预设的定时任务;
[0036]任务划分单元,用于按照预设的划分规则,对所述预设的定时任务进行划分,获得多个任务单元;
[0037]子任务形成单元,用于对每个任务单元对应的代码进行封装,形成子任务,并将所述子任务存储在任务单元列表中。
[0038]优选地,所述定时任务编辑指令包括新建定时任务、修改定时任务。
[0039]本发明通过将定时任务划分为多个功能单一的子任务,在需要对定时任务进行编辑时,只需要调取相应的子任务,即可生成新的定时任务,以满足不同运行环境的需求。因此,本发明实施例使得定时任务的处理更加灵活,而且不再需要专业人员进行操作,使得定时任务的操作更加简单,进一步提高了定时任务的处理效率。
【专利附图】

【附图说明】
[0040]图1为本发明定时任务的处理方法第一实施例的流程示意图;
[0041]图2为本发明定时任务的处理方法中定时任务划分的子任务的结构示意图;
[0042]图3为本发明定时任务的处理方法第二实施例的流程示意图;
[0043]图4为本发明定时任务的处理方法中划分定时任务的流程示意图;
[0044]图5为本发明定时任务的处理方法进入软件系统的维护界面的界面示例图;
[0045]图6a及图6b为本发明定时任务的处理方法中新建定时任务时的操作示例图;
[0046]图7a及图7b为本发明定时任务的处理方法中修改定时任务时的操作示例图;[0047]图8为本发明定时任务的处理方法中删除定时任务时的操作示例图;
[0048]图9为本发明定时任务的处理装置第一实施例的功能模块示意图;
[0049]图10为本发明定时任务的处理装置第二实施例的功能模块示意图;
[0050]图11为本发明定时任务的处理装置中子任务划分模块的功能模块示意图。
[0051]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0052]以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0053]本发明提供了 一种定时任务的处理方法。参照图1,该实施例的定时任务的处理方法包括以下步骤:
[0054]步骤SI 10、将每一个预设的定时任务分成多个子任务,并存储;
[0055]该预设的定时任务为现有技术中已经存在的定时任务,例如虚拟信息采集任务以及资源信息采集任务。该子任务为实现单一功能的任务。将现有技术中已经存在的定时任务划分为单一功能的子任务,从而使得该子任务可以达到最大的可复用性。如图2所示,虚拟信息采集任务可划分为虚拟机信息采集子任务、资源使用情况统计子任务。资源信息采集任务可划分为数据中心信息采集子任务、主机信息采集子任务、虚拟机信息采集子任务、存储信息采集子任务、资源使用情况统计子任务。
[0056]步骤S120、获取定时任务编辑指令,所述定时任务编辑指令包括组成定时任务的子任务、定时任务的调度信息以及定时任务的运行条件;
[0057]该定时任务编辑指令包括新建定时任务、修改定时任务。新建定时任务时,定时任务编辑指令包括组成定时任务的子任务、定时任务的调度信息以及定时任务的运行条件。修改定时任务时,定时任务编辑指令可以包括组成定时任务的子任务、定时任务的调度信息以及定时任务的运行条件中的任意一个或多个信息。由于该定时任务编辑指令不再需要针对定时任务相关的源代码进行修改,从而对处理人员的专业水平要求较低。同时该修改定时任务时,不再需要停止软件系统并重新部署,提高了软件系统的运行效率。
[0058]步骤S130、根据所述定时任务编辑指令,调取与所述定时任务编辑指令相应的子任务,对所调取的子任务进行组装,获得定时任务,并为所述定时任务添加所述定时单元的调度信息及定时任务的运行条件;
[0059]根据定时任务编辑指令,可以对子任务进行重新组合,生成与当前的运行环境相适应的定时任务,然后为该生成的定时任务配置定时任务的调度信息以及定时任务的运行条件。
[0060]步骤S140、将所述定时任务存放至定时任务列表中。
[0061]该获得的定时任务将存放至定时任务列表中,供软件系统调用并执行。
[0062]本发明实施例通过将定时任务划分为多个功能单一的子任务,在需要对定时任务进行编辑时,只需要调取相应的子任务,即可生成新的定时任务,以满足不同运行环境的需求。因此,本发明实施例使得定时任务的处理更加灵活,而且不再需要专业人员进行操作,使得定时任务的操作更加简单,进一步提高了定时任务的处理效率。
[0063]进一步地,参照图3,上述步骤S140之后还包括:[0064]步骤S150、周期性地遍历所述定时任务列表中的所有定时任务;
[0065]首先将设置一个普通的定时任务,例如设置一定时器。该定时器的运行周期需要足够短,例如I分钟。定时器的计时到达时,将触发该定时任务。也就是遍历所述定时任务列表中的所有定时任务。
[0066]步骤S160、当所述定时任务列表中存在满足运行条件的定时任务时,将所述定时任务存放至调度队列。
[0067]判断定时任务列表中的定时任务的运行条件是否满足,满足时,将满足条件的定时任务存放至调度队列。该定时任务的运行条件主要是指运行时间,当然也可以为其他的触发条件,例如该定时任务将在另一定时任务的运行结束后触发等等。
[0068]步骤S170、按照所述调度队列的运行规则,运行所述定时任务;
[0069]本实施例中,该调度队列将依据任务的优先级高低,运行队列中的定时任务。每个定时任务的优先级信息可以是由用户设置的,也可以是软件系统默认设置的。另外,该调度队列的运行规则还可以为其他的规则,在此并不限定。
[0070]步骤S180、在所述定时任务结束后,将其从调度队列中删除。
[0071]当所述定时任务结束后,将其从调度队列中删除,以便释放空间。
[0072]本发明实施例通过将定时任务存放在定时任务列表中,待遍历该定时任务列表时,满足运行条件的定时任务再调至调度队列中执行。因此,本发明实施例中,定时任务的编辑与定时任务的执行分隔开,定时任务的编辑时不需要停止软件系统,不会影响其他任务的执行。另外,本发明实施例通过优先级的调度,避免了定时任务之间可能出现的依赖问题。
[0073]进一步地,参照图4,上述步骤SllO包括:
[0074]步骤SI 11、获取预设的定时任务;
[0075]该预设的定时任务为软件系统中已经存在或可能会存在的定时任务。
[0076]步骤S112、按照预设的划分规则,对所述预设的定时任务进行划分,获得多个任务单元;
[0077]该预设的划分规则为:划分的任务单元功能尽量单一,以达到最大可复用性;任务单元可独立完成一项服务,即可独立作为一个定时任务;任务单元的耦合度尽可能低。根据该预设的划分规则,对所述预设的定时任务进行划分,获得多个任务单元。可以理解的是,该划分规则可为其他的划分规则,在此并不限定。
[0078]步骤S113、对每个任务单元对应的代码进行封装,形成子任务,并将所述子任务存储在任务单元列表中。
[0079]根据划分的每个任务单元,调用相应的代码或编辑相应的代码,并对该代码进行封装,形成子任务。然后将该形成的子任务存储在任务单元列表中。该任务单元列表中的子任务供上述步骤S120中编辑定时任务时使用。
[0080]下面对以XXX软件系统的定时任务的处理过程进行详细的描述,其中该XXX软件系统中存在3个定时任务,即定时任务1、定时任务2、定时任务3。且每个定时任务均划分为多个子任务,即定时任务I包括子任务a、子任务b、子任务c ;定时任务2包括子任务C、子任务d、子任务e ;定时任务3包括子任务a、子任务C、子任务f、子任务g。
[0081]首先将进入软件系统的维护界面。如图5所示,该维护界面中设有定时任务的编辑菜单栏,点击该“定时任务编辑”菜单栏,即可弹出菜单栏下的相应控件,例如新建、修改及删除等等。可以理解的是,为了软件系统的安全性,进入维护界面之前必须进行用户的合法验证,验证通过时,才可以进入维护界面。
[0082]当触发“新建”控件时,将弹出如图6a所示的新建界面。该新建界面中,将显示供用户选择的子任务以及供用户输入定时任务名称的输入框。该供用户选择的子任务是软件系统中划分好的所有子任务。或者该子任务可以为与当前用户的权限对应的子任务。通过勾选相应的子任务,并输入相应的定时任务名称,然后点击“下一步”控件,即进入如图6b所示的新建界面。该新建界面中,将显示供用户输入定时任务的调度信息及运行时间的输入框。当然还可以添加一些其他的信息。在用户输入相应的信息后,点击“确定”即可发起定时任务编辑指令。
[0083]当触发“修改”控件时,将弹出如图7a所示的修改界面。该修改界面中,将显示供用户选择的定时任务,例如定时任务1、定时任务2、定时任务3等等。用户选择一定时任务后,点击“下一步”控件,即进入如图7b所示的修改界面。该修改界面中,将显示该定时任务I对应的所有子任务、运行时间及调度信息的编辑框等等。在用户编辑相应的信息后,点击“确定”即可发起定时任务编辑指令。
[0084]当触发“删除”控件时,将弹出如图8所示的删除界面。该删除界面中,将显示供用户选择的定时任务,例如定时任务1、定时任务2、定时任务3等等。用户选择一定时任务后,点击“删除”控件,即发起定时任务编辑指令。可以理解的是,该定时任务的删除并不是将该定时任务的子任务删除,其仅删除定时任务的子任务构成关系及定时任务的其他相关信息。
[0085]对应地,本发明还提供一种定时任务的处理装置。参照图9,该实施例的定时任务的处理装置包括:
[0086]子任务划分模块110,用于将每一个预设的定时任务分成多个子任务,并存储;
[0087]指令获取模块120,用于获取定时任务编辑指令,所述定时任务编辑指令包括组成定时任务的子任务、定时任务的调度信息以及定时任务的运行条件;
[0088]定时任务编辑模块130,用于根据所述定时任务编辑指令,调取与所述定时任务编辑指令相应的子任务,对所调取的子任务进行组装,获得定时任务,并为所述定时任务添加所述定时单元的调度信息及定时任务的运行条件;
[0089]定时任务存放模块140,用于将所述定时任务存放至定时任务列表中。
[0090]该预设的定时任务为现有技术中已经存在的定时任务,例如虚拟信息采集任务以及资源信息采集任务。该子任务为实现单一功能的任务。子任务划分模块110将现有技术中已经存在的定时任务划分为单一功能的子任务,从而使得该子任务可以达到最大的可复用性。例如,虚拟信息采集任务可划分为虚拟机信息采集子任务、资源使用情况统计子任务。资源信息采集任务可划分为数据中心信息采集子任务、主机信息采集子任务、虚拟机信息采集子任务、存储信息采集子任务、资源使用情况统计子任务。上述定时任务编辑指令包括新建定时任务、修改定时任务。新建定时任务时,定时任务编辑指令包括组成定时任务的子任务、定时任务的调度信息以及定时任务的运行条件。修改定时任务时,定时任务编辑指令可以包括组成定时任务的子任务、定时任务的调度信息以及定时任务的运行条件中的任意一个或多个信息。由于该定时任务编辑指令不再需要针对定时任务相关的源代码进行修改,从而对处理人员的专业水平要求较低。同时该修改定时任务时,不再需要停止软件系统并重新部署,提高了软件系统的运行效率。
[0091]定时任务编辑模块130可以根据定时任务编辑指令,对子任务进行重新组合,生成与当前的运行环境相适应的定时任务,然后为该生成的定时任务配置定时任务的调度信息以及定时任务的运行条件。然后定时任务存放模块140该获得的定时任务将存放至定时任务列表中,供软件系统调用并执行。
[0092]本发明实施例通过将定时任务划分为多个功能单一的子任务,在需要对定时任务进行编辑时,只需要调取相应的子任务,即可生成新的定时任务,以满足不同运行环境的需求。因此,本发明实施例使得定时任务的处理更加灵活,而且不再需要专业人员进行操作,使得定时任务的操作更加简单,进一步提高了定时任务的处理效率。
[0093]进一步地,参照图10,上述定时任务的处理装置还包括:
[0094]定时任务遍历模块150,用于周期性地遍历所述定时任务列表中的所有定时任务;
[0095]定时任务调度模块160,用于当所述定时任务队列中存在满足运行条件的定时任务时,将所述定时任务存放至调度队列。
[0096]首先将设置一个普通的定时任务,例如设置一定时器。该定时器的运行周期需要足够短,例如I分钟。定时器的计时到达时,将触发该定时任务。定时任务遍历模块150将遍历所述定时任务列表中的所有定时任务。
[0097]然后,定时任务调度模块160判断定时任务列表中的定时任务的运行条件是否满足,满足时,将满足条件的定时任务存放至调度队列。该定时任务的运行条件主要是指运行时间,当然也可以为其他的触发条件,例如该定时任务将在另一定时任务的运行结束后触
发等等。
[0098]进一步地,上述定时任务调度模块160还用于:按照所述调度队列的运行规则,运行所述定时任务;在所述定时任务结束后,将其从调度队列中删除。
[0099]该调度队列将依据任务的优先级高低,运行队列中的定时任务。每个定时任务的优先级信息可以是由用户设置的,也可以是软件系统默认设置的。另外,该调度队列的运行规则还可以为其他的规则,在此并不限定。当所述定时任务结束后,将其从调度队列中删除,以便释放空间。本发明实施例通过将定时任务存放在定时任务列表中,待遍历该定时任务列表时,满足运行条件的定时任务再调至调度队列中执行。因此,本发明实施例中,定时任务的编辑与定时任务的执行分隔开,定时任务的编辑时不需要停止软件系统,不会影响其他任务的执行。另外,本发明实施例通过优先级的调度,避免了定时任务之间可能出现的依赖问题。
[0100]进一步地,参照图11,上述子任务划分模块110包括:
[0101]预设定时任务获取单元111,用于获取预设的定时任务;
[0102]任务划分单元112,用于按照预设的划分规则,对所述预设的定时任务进行划分,获得多个任务单兀;
[0103]子任务形成单元113,用于对每个任务单元对应的代码进行封装,形成子任务,并将所述子任务存储在任务单元列表中。
[0104]该预设的定时任务为软件系统中已经存在或可能会存在的定时任务。该预设的划分规则为:划分的任务单元功能尽量单一,以达到最大可复用性;任务单元可独立完成一项服务,即可独立作为一个定时任务;任务单元的耦合度尽可能低。根据该预设的划分规贝U,对所述预设的定时任务进行划分,获得多个任务单元。可以理解的是,该划分规则可为其他的划分规则,在此并不限定。根据划分的每个任务单元,调用相应的代码或编辑相应的代码,并对该代码进行封装,形成子任务。然后将该形成的子任务存储在任务单元列表中。该任务单元列表中的子任务供定时任务编辑模块130编辑定时任务时使用。
[0105]以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种定时任务的处理方法,其特征在于,包括以下步骤: 将每一个预设的定时任务分成多个子任务,并存储; 获取定时任务编辑指令,所述定时任务编辑指令包括组成定时任务的子任务、定时任务的调度信息以及定时任务的运行条件; 根据所述定时任务编辑指令,调取与所述定时任务编辑指令相应的子任务,对所调取的子任务进行组装,获得定时任务,并为所述定时任务添加所述定时单元的调度信息及定时任务的运行条件; 将所述定时任务存放至定时任务列表中。
2.根据权利要求1所述的定时任务的处理方法,其特征在于,所述将定时任务存放至定时任务列表中之后还包括: 周期性地遍历所述定时任务列表中的所有定时任务; 当所述定时任务队列中存在满足运行条件的定时任务时,将所述定时任务存放至调度队列。
3.根据权利要求2所述的定时任务的处理方法,其特征在于,所述将所述定时任务存放至调度队列之后还包括: 按照所述调度队列的运行规则,运行所述定时任务; 在所述定时任务结束后,将其从调度队列中删除。
4.根据权利要求1-3任一项所述的定时任务的处理方法,其特征在于,所述将每一个预设的定时任务分成多个任务单元,并存储包括: 获取预设的定时任务; 按照预设的划分规则,对所述预设的定时任务进行划分,获得多个任务单元; 对每个任务单元对应的代码进行封装,形成子任务,并将所述子任务存储在任务单元列表中。
5.根据权利要求1-3任一项所述的定时任务的处理方法,其特征在于,所述定时任务编辑指令包括新建定时任务、修改定时任务。
6.一种定时任务的处理装置,其特征在于,包括: 子任务划分模块,用于将每一个预设的定时任务分成多个子任务,并存储; 指令获取模块,用于获取定时任务编辑指令,所述定时任务编辑指令包括组成定时任务的子任务、定时任务的调度信息以及定时任务的运行条件; 定时任务编辑模块,用于根据所述定时任务编辑指令,调取与所述定时任务编辑指令相应的子任务,对所调取的子任务进行组装,获得定时任务,并为所述定时任务添加所述定时单元的调度信息及定时任务的运行条件; 定时任务存放模块,用于将所述定时任务存放至定时任务列表中。
7.根据权利要求6所述的定时任务的处理装置,其特征在于,还包括: 定时任务遍历模块,用于周期性地遍历所述定时任务列表中的所有定时任务; 定时任务调度模块,用于当所述定时任务队列中存在满足运行条件的定时任务时,将所述定时任务存放至调度队列。
8.根据权利要求7所述的定时任务的处理装置,其特征在于,所述定时任务调度模块还用于:按照所述调度队列的运行规则,运行所述定时任务;在所述定时任务结束后,将其从调度队列中删除。
9.根据权利要求6-8任一项所述的定时任务的处理装置,其特征在于,所述子任务划分模块包括: 预设定时任务获取单元,用于获取预设的定时任务; 任务划分单元,用于按照预设的划分规则,对所述预设的定时任务进行划分,获得多个任务单元; 子任务形成单元,用于对每个任务单元对应的代码进行封装,形成子任务,并将所述子任务存储在任务单元列表中。
10.根据权利要求6-8任一项所述的定时任务的处理装置,其特征在于,所述定时任务编辑指令包括 新建定时任务、修改定时任务。
【文档编号】G06F9/44GK103645909SQ201310743715
【公开日】2014年3月19日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】侯杰华, 邹暾 申请人:中国烟草总公司湖南省公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1