一种实现任务复杂调度并同时数据清理的方法及系统与流程

文档序号:23707647发布日期:2021-01-23 14:33阅读:68来源:国知局
一种实现任务复杂调度并同时数据清理的方法及系统与流程

[0001]
本发明涉及计算机数据分析及传输技术领域,特别是涉及一种基于java timer实现任务复杂调度并同时数据清理的方法及系统。


背景技术:

[0002]
近些年,随着信息技术快速发展,各企业在信息化应用和要求方面也在逐步提高,信息覆盖面也越来越大,而信息在人们的生活工作中也显得更加的重要,故此,信息的安全问题也成为了当今计算机数据安全领域的一个重点。
[0003]
企业需要对数据进行定期备份,以保证数据安全性,这时就需要周期性备份操作。但现有技术中,在周期性备份操作过程中,由于每次备份的数据都需保存,对于长期执行任务,备份数据占用空间就很大,但其实有些备份数据已经过期,并没有什么用处,浪费了空间,因此,需要对备份数据进行清理,删除过期数据,以减少无谓的空间占用。


技术实现要素:

[0004]
为克服上述现有技术存在的不足,本发明之目的在于提供一种实现任务复杂调度并同时数据清理的方法及系统,以方便周期性重复任务的调度,通过简单的配置,就能达到定期执行重复任务的目的,从而减少人工成本,并及时进行过期数据清除。
[0005]
为达上述目的,本发明提出一种实现任务复杂调度并同时数据清理的方法,包括如下步骤:
[0006]
步骤s1,根据需求设置任务以及任务执行的策略,根据设置的策略构建并设置触发业务执行模块的定时器;
[0007]
步骤s2,利用定时器触发执行调度任务,触发业务执行模块的执行;
[0008]
步骤s3,业务执行模块执行任务,并于任务执行完成后根据配置的保留周期删除过期的备份数据。
[0009]
优选地,于步骤s1中,所述策略包括但不限于策略的类型、任务的执行时间以及备份数据保留份数。
[0010]
优选地,步骤s1进一步包括:
[0011]
步骤s100,根据需求设置任务及策略类型;
[0012]
步骤s101,根据设置的策略类型构建相应的定时器任务timertask;
[0013]
步骤s102,根据策略中的类型计算出任务执行的时间time;
[0014]
步骤s103,将定时器任务timertask和任务执行时间time作为参数传入定时器timer,设置触发业务执行模块的定时器。
[0015]
优选地,所述定时器采用java timer方式实现。
[0016]
优选地,所述策略的类型包括但不限于一次性任务和周期性任务,当设置的策略为一次性任务时,其任务执行时间设置为默认时间或指定时间,所述周期性任务进一步分为日、周、月以及季度四种周期策略。
[0017]
优选地,当策略设置为周期性任务时,还需在策略中设置备份数据保留份数limit。
[0018]
优选地,于步骤s102中,对于一次性任务,若设置的任务执行时间为默认或者指定时间小于当前时间,则立即触发业务执行模块执行,若设置的任务执行时间为大于当前时间的指定时间,则利用定时器到指定时间时触发业务执行模块的执行。
[0019]
优选地,于步骤s102中,对于周期性任务,根据周期策略日、周、月以及季度分别计算的任务执行时间time,利用定时器到所计算的任务执行时间time时触发业务执行模块的执行。
[0020]
优选地,于步骤s3中,当任务执行完成后,根据任务的备份数据版本和策略中配置的备份数据保留份数limit对历史数据版本进行检验,根据历史数据的备份时间和当前备份时间的间隔,计算出需要删除的过期数据,最终保留limit份备份数据。
[0021]
为达到上述目的,本发明还提供一种实现任务复杂调度并同时数据清理的系统,包括:
[0022]
任务调度模块,用于根据需求设置任务以及任务执行的策略,根据设置的策略构建并设置触发业务执行模块的定时器,以及利用定时器触发执行调度任务,触发业务执行模块的执行;
[0023]
业务执行模块,用于根据配置执行任务,并于任务执行完成后,根据配置的保留周期删除过期的备份数据。
[0024]
与现有技术相比,本发明一种实现任务复杂调度并同时数据清理的方法及系统基于java timer定时器逻辑,将定时器调度和业务逻辑分离,只需通过简单配置周期类型就可以完成任务复杂调度,实现业务需求,同时本发明将数据备份和数据清理相结合,根据用户的需求,在备份完成后,自动删除过期备份数据,无须用户做额外清理操作。
附图说明
[0025]
图1为本发明一种实现任务复杂调度并同时数据清理的方法的步骤流程图;
[0026]
图2为本发明一种实现任务复杂调度并同时数据清理的系统的系统架构图;
[0027]
图3为本发明实施例的调度任务流程图;
[0028]
图4为本发明实施例中过期数据删除流程图。
具体实施方式
[0029]
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
[0030]
图1为本发明一种实现任务复杂调度并同时数据清理的方法的步骤流程图。如图1所示,本发明一种实现任务复杂调度并同时数据清理的方法,包括如下步骤:
[0031]
步骤s1,根据需求设置任务以及任务执行的策略,根据设置的策略构建并设置触发业务执行模块的定时器。在本发明中,所述策略包括但不限于策略的类型、任务的执行时间以及备份数据保留份数
[0032]
具体地,步骤s1进一步包括:
[0033]
步骤s100,设置策略类型。
[0034]
在本发明具体实施例中,所述策略的类型包括但不限于:
[0035]
1、一次性任务:当设置策略为一次性任务时,其对应的任务执行时间可以设置默认时间或者是指定时间。在本发明具体实施例中,当任务执行时间设置为默认时,则应立即开始执行调度任务,触发业务执行模块的执行;当任务执行时间设置为指定时间时,例如任务执行时间设置为当前时间后的某一天,则应在指定的时间执行调度任务。在本发明中,一次性任务不存在备份数据过期。
[0036]
2、周期性任务:当设置策略为周期性任务时,还可进一步设置周期性任务策略类型,在本发明具体实施例中,所述周期性任务策略类型可以分为日、周、月以及季度总共4种周期策略,周期任务可以根据不同的周期性任务策略类型执行调度任务。优选地,当设置为周期性任务时,还需在策略中设置备份数据保留份数limit(limit大于等于1),便于清理过期备份数据。
[0037]
步骤s101,根据设置的策略类型构建相应的定时器任务timertask。
[0038]
步骤s102,根据策略中的类型计算出任务执行的时间time。
[0039]
在本发明中,根据策略的不同类型分为两种情况;当设置的策略为一次性任务时,其任务执行时间可以设置默认时间或指定时间,需说明的是,当任务执行时间为默认或者指定时间小于当前时间,则应立即触发业务执行模块执行(同样通过定时器任务实现,任务执行时间time则为立即执行);当任务为周期性任务时,根据周期性任务策略类型日、周、月以及季度分别计算任务执行时间time。
[0040]
步骤s103,将定时器任务timertask和任务执行时间time作为参数传入定时器timer,设置触发业务执行模块的定时器。在本发明具体实施例中,定时器采用java timer方式实现。
[0041]
步骤s2,利用定时器触发执行调度任务,触发业务执行模块的执行。若调度成功,则返回步骤s1计算下一次任务执行时间,若调度失败,则取消任务调度。
[0042]
在本发明具体实施例中,对于一次性任务,若设置的任务执行时间为默认或者指定时间小于当前时间,则立即触发业务执行模块执行,若设置的指定时间(任务执行时间)大于当前时间,则利用定时器到指定时间时触发执行调度任务,触发业务执行模块的执行;对于周期性任务,则根据周期性任务策略类型日、周、月以及季度分别计算的任务执行时间time,利用定时器到所计算的任务执行时间time时触发执行调度任务,触发业务执行模块的执行。
[0043]
步骤s3,业务执行模块根据配置的保留周期删除过期的备份数据。
[0044]
具体地说,当任务执行完成后,根据任务的备份数据版本和策略中配置的备份数据保留份数limit对历史数据版本进行检验,根据历史数据的备份时间和当前备份时间的间隔,计算出需要删除的过期数据,最终只会保留备份数据保留份数limit份备份数据。
[0045]
图2为本发明一种实现任务复杂调度并同时数据清理的系统的系统架构图。如图2所示,本发明一种实现任务复杂调度并同时数据清理的系统,包括:
[0046]
任务调度模块201,用于根据需求设置任务以及任务执行的策略,根据设置的策略构建并设置触发业务执行模块的定时器,以及利用定时器触发执行调度任务,触发业务执
行模块202的执行。在本发明中,所述策略包括但不限于策略的类型、任务的执行时间以及备份数据保留份数。
[0047]
具体地,任务调度模块201进一步包括:
[0048]
任务设置模块,用于设置任务及其执行的策略类型。
[0049]
在本发明具体实施例中,所述策略的类型包括但不限于:
[0050]
1、一次性任务:当设置策略为一次性任务时,其对应的任务执行时间可以设置默认时间或者是指定时间。在本发明具体实施例中,当任务执行时间设置为默认时,则应立即开始执行调度任务,触发业务执行模块的执行;当任务执行时间设置为指定时间时,例如任务执行时间设置为当前时间后的某一天,则应在指定的时间执行调度任务。在本发明中,一次性任务不存在备份数据过期。
[0051]
2、周期性任务:当设置策略为周期性任务时,还可进一步设置周期性任务策略类型,在本发明具体实施例中,所述周期性任务策略类型可以分为日、周、月以及季度总共4种周期策略,周期任务可以根据不同的周期性任务策略类型执行调度任务。优选地,当设置为周期性任务时,还需在策略中设置备份数据保留份数limit(limit大于等于1),便于清理过期备份数据。
[0052]
定时器任务构建模块,用于根据设置的策略类型构建相应的定时器任务timertask。
[0053]
任务执行时间计算模块,用于根据策略中的类型计算出任务执行的时间time。
[0054]
在本发明中,根据策略的不同类型分为两种情况;当设置的策略为一次性任务时,其任务执行时间可以设置默认时间或指定时间,需说明的是,当任务执行时间为默认或者指定时间小于当前时间,则应立即触发业务执行模块执行;当任务为周期性任务时,根据周期性任务策略类型日、周、月以及季度分别计算任务执行时间time。
[0055]
定时器设置模块,用于将定时器任务timertask和任务执行时间time作为参数传入定时器timer,设置触发业务执行模块的定时器。在本发明具体实施例中,定时器采用java timer方式实现。
[0056]
本发明中,任务调度模块201利用定时器触发执行调度任务,触发业务执行模块的执行,若调度成功,则继续计算下一次任务执行时间,若调度失败,则取消任务调度。
[0057]
在本发明具体实施例中,对于一次性任务,若设置的任务执行时间为默认或者指定时间小于当前时间,则立即触发业务执行模块执行,若设置的任务执行时间大于当前时间,则利用定时器到指定时间时触发执行调度任务,触发业务执行模块的执行;对于周期性任务,则根据周期性任务策略类型日、周、月以及季度分别计算的任务执行时间time,利用定时器到所计算的任务执行时间time时触发执行调度任务,触发业务执行模块的执行。
[0058]
业务执行模块202,用于根据配置执行任务,并于任务执行完成后,根据配置的保留周期删除过期的备份数据。
[0059]
具体地说,业务执行模块202主要根据具体的业务逻辑,根据客户的期望来运行业务代码,业务执行模块202平时并不主动执行,只有当任务调度模块201执行完成后,到了计算得出的任务执行时间后才会触发业务执行模块202的执行。业务执行模块202则按照配置对数据进行备份。同时,当任务执行完成后,业务执行模块202还根据任务的备份数据版本和策略中配置的备份数据保留份数limit对历史数据版本进行检验,根据历史数据的备份
时间和当前备份时间的间隔,计算出需要删除的过期数据,最终只会保留备份数据保留份数limit份备份数据。
[0060]
实施例
[0061]
在本实施例中,本发明总体模块可分为任务调度模块和业务逻辑模块,其中,
[0062]
一、任务调度模块:
[0063]
首先根据需求设置任务以及任务执行的策略,策略包括策略的类型、任务的执行时间以及备份数据保留份数,根据设置的策略构建并设置触发业务执行模块的定时器,其工作过程如图3所示。
[0064]
本实施例中,策略分为以下两种类型:
[0065]
1、一次性任务:当设置策略为一次性任务时,当任务开始时间默认时,立即开始执行调度任务,触发业务执行模块的执行;也可以将任务开始时间设置为以后的某一天,然后执行调度任务在设置的时间执行任务;一次性任务不存在备份数据过期。
[0066]
2、周期性任务:当设置策略为周期时,根据策略类型,可以分为日、周、月以及季度总共4种周期策略,周期任务可以根据不同的周期类型执行调度任务,周期类型分为日、周、月、季度,根据周期类型计算出下次任务模块执行的时间;在策略中设置备份数据保留份数limit(limit大于等于1),便于清理过期备份数据;然后根据设定的参数执行调度任务。
[0067]
为了减少人工介入,本发明的总体思路则是完善定时器的调度逻辑,并将调度与业务逻辑分离,实现定时器对业务逻辑的高可用性实现,具体手段如下:
[0068]
s11:根据设置的策略类型构建出不同的timertask;
[0069]
s12:根据策略中的类型计算出任务执行的时间time,根据策略的不同分为两种情况;当策略为一次性任务时,当任务开始时间为默认或者小于当前时间,调度模块会立即触发业务执行模块执行;当策略为周期性任务时,根据策略类型日、周、月以及季度分别计算任务执行时间time;
[0070]
s13:将timertask和time作为参数传入定时器timer,设置触发业务执行模块的定时器。
[0071]
s14:业务触发成功后,重新执行任务调度模块,计算下一次任务执行时间;
[0072]
业务执行模块:按照配置执行任务,并于任务执行完成后,删除过期数据。如图4所示,当任务执行完成后,根据任务的备份数据版本和调度策略中配置的limit对历史数据版本进行检验,用历史数据的备份时间和当前备份时间的间隔,计算出需要删除的过期数据,最终只会保留limit份。
[0073]
综上所述,本发明一种实现任务复杂调度并同时数据清理的方法及系统基于java timer定时器逻辑,将定时器调度和业务逻辑分离,只需通过简单配置周期类型就可以完成任务复杂调度,实现业务需求,同时本发明将数据备份和数据清理相结合,根据用户的需求,在备份完成后,自动删除过期备份数据,无须用户做额外清理操作。
[0074]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1