[发明专利]基于quartz框架的任务执行方法及装置无效
申请号: | 201210372142.1 | 申请日: | 2012-09-28 |
公开(公告)号: | CN102880473A | 公开(公告)日: | 2013-01-16 |
发明(设计)人: | 姜志伟;袁德志 | 申请(专利权)人: | 五八有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 梁军 |
地址: | 300457 天津市滨海新区第一大*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 quartz 框架 任务 执行 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于quartz框架的任务执行方法及装置。
背景技术
在现有技术中,在电商系统业务开发时,需要大量的后台定时操作任务,任务的调度不允许存在最终数据不一致情况。在现有的技术方案中,quartz框架在每个任务执行完成后,会将上下文内容存储至数据库中。
但是,在一次任务执行中,由于任务中的业务逻辑过多,有可能在任务执行到一半时,就因为外部或内部原因异常退出,导致出现了脏数据,违反了业务逻辑。
发明内容
本发明提供一种基于quartz框架的任务执行方法及装置,以解决现有技术中在任务执行过程中异常退出导致数据错误的问题。
本发明提供一种基于quartz框架的任务执行方法,包括:步骤1,在确定quartz框架能够启动当前任务时,查看预先设置的数据库中是否存在上一任务中某业务逻辑的数据状态,如果存在,执行步骤2,否则,执行步骤3;步骤2,根据数据库中存储的数据状态完成上一任务中的相应业务逻辑,执行步骤3;步骤3,将当前任务中所有业务逻辑的数据状态存储到数据库中,并执行当前任务的业务逻辑,将执行成功的业务逻辑所对应的数据状态从数据库中删除。
优选地,使用步骤1'替换步骤1,使用步骤3'替换步骤3:步骤1',在确定quartz框架能够启动当前任务时,查看预先设置的数据库中是否存在未被标记为业务逻辑成功执行的上一任务中某业务逻辑的数据状态,如果存在,执行步骤2,否则,执行步骤3';步骤3',将当前任务中所有业务逻辑的数据状态存储到数据库中,并执行当前任务的业务逻辑,将执行成功的业务逻辑所对应的数据状态标记为业务逻辑成功执行。
优选地,根据数据库中存储的数据状态完成上一任务中的相应业务逻辑的方式包括:根据相应业务逻辑进行回滚、和/或重做。
优选地,上述方法还包括:如果执行当前任务的业务逻辑失败,则退出当前任务,结束操作。
本发明还提供了一种基于quartz框架的任务执行装置,包括:第一查看模块,用于在确定quartz框架能够启动当前任务时,查看预先设置的数据库中是否存在上一任务中某业务逻辑的数据状态,如果存在,调用第一处理模块,否则,调用第二处理模块;第一处理模块,用于根据数据库中存储的数据状态完成上一任务中的相应业务逻辑,调用第二处理模块;第二处理模块,用于将当前任务中所有业务逻辑的数据状态存储到数据库中,并执行当前任务的业务逻辑,将执行成功的业务逻辑所对应的数据状态从数据库中删除。
优选地,使用第二查看模块替换第一查看模块,使用第三处理模块替换第二处理模块:第二查看模块,用于在确定quartz框架能够启动当前任务时,查看预先设置的数据库中是否存在未被标记为业务逻辑成功执行的上一任务中某业务逻辑的数据状态,如果存在,调用第一处理模块,否则,调用第三处理模块;第三处理模块,用于将当前任务中所有业务逻辑的数据状态存储到数据库中,并执行当前任务的业务逻辑,将执行成功的业务逻辑所对应的数据状态标记为业务逻辑成功执行。
优选地,第一处理模块根据数据库中存储的数据状态完成上一任务中的相应业务逻辑的方式包括:根据相应业务逻辑进行回滚、和/或重做。
优选地,第二处理模块进一步用于:如果执行当前任务的业务逻辑失败,则退出当前任务,结束操作。
本发明有益效果如下:
在不改变quartz本身存储框架的基础上,通过将任务执行过程中的业务逻辑数据状态存储到数据库中,解决了现有技术中在任务执行过程中异常退出导致数据错误的问题,能够保证任务调度中,任务数据不会出现不一致情况,对于任务不允许重复执行的任务数据,能够保证其执行的唯一性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例的基于quartz框架的任务执行方法的流程图;
图2是本发明实施例的确定quartz框架是否能够启动当前任务的示意图;
图3是本发明实施例的执行逻辑任务的详细处理的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于五八有限公司,未经五八有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210372142.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:应用推荐的实现方法、装置和系统
- 下一篇:一种创建插件方法及装置