[发明专利]基于数据库的任务执行方法及装置无效
申请号: | 201010173441.3 | 申请日: | 2010-05-05 |
公开(公告)号: | CN101853182A | 公开(公告)日: | 2010-10-06 |
发明(设计)人: | 马天俊 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 余刚;吴孟秋 |
地址: | 518057 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 数据库 任务 执行 方法 装置 | ||
技术领域
本发明涉及通信领域,具体而言,涉及一种基于数据库的任务执行方法及装置。
背景技术
在应用软件开发过程中,常常用到关系型数据库以便存储和处理数据。在相关技术中,通常在数据库的一个数据库连接中串行执行各个数据处理的任务,这种处理方式执行任务效率低,并且当任务处理发生错误时,需要全部重新执行,也不能从错误发生处恢复执行。
为此,相关技术中提出了一种多个数据库任务并行执行的方法,其将数据处理的任务划分到不同分组内,归属于不同分组的任务之间并行执行,各分组中的任务相互独立,从而减少了任务之间的依赖性,缩短了执行任务所需的时间。
但是,这种方法存在以下不足:该方法中组和组之间实现了并行执行,但组内子任务仍是串行执行,不能实现具有复杂的执行依赖关系的任务的执行,例如,若某个任务C的前置任务是并行的两个任务A和任务B,则该方法不能实现A任务和B任务并行执行后,再执行C任务的数据处理的情况;另外,这种方法预先进行分组,每组执行任务的执行顺序固定,且分组的数量固定,也就是说,数据处理的并发度是固定的,不能随硬件资源而动态调整。
发明内容
本发明的主要目的在于提供一种基于数据库的任务执行方法及装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种基于数据库的任务执行方法,包括:加入数据库连接;数据库连接从任务组中获取待执行的任务;以及判断获取的任务的前置任务是否全部执行成功,若是,则数据库连接执行获取的任务,否则,数据库连接继续从任务组中获取待执行的任务。
进一步地,数据库连接从任务组中获取待执行的任务包括:数据库连接对任务组的查询操作类型的记录行加锁;数据库连接获取到满足预定条件的任务,其中,预定条件包括:获取的任务的执行结果状态为初始化或重新打开;数据库连接将获取的任务的执行结果状态设置为选中;数据库连接对查询操作类型的记录行解锁。
进一步地,判断获取的任务的前置任务未全部执行成功之后,还包括:数据库连接将获取的任务的执行结果状态置为重新打开。
进一步地,将获取的任务的执行结果状态置为重新打开的同时,还将获取的任务加入前置任务临时表,预定条件还包括获取的任务不在前置任务临时表中。
进一步地,执行获取的任务包括:数据库连接将获取的任务的执行结果状态置为运行,并执行获取的任务的运行指令。
进一步地,在执行获取的任务的运行指令成功的情况下,还包括:数据库连接对任务组的删除操作类型的记录行加锁;数据库连接将获取的任务的执行结果状态置为成功,并删除前置任务临时表中的任务;数据库连接对任务组的删除操作类型的记录行解锁。
进一步地,在执行获取的任务的运行指令失败的情况下,还包括:数据库连接将获取的任务的执行结果状态置为失败,并将获取的任务的后置任务的执行结果状态置为依赖性失败。
进一步地,在数据库连接从当前任务组中获取待执行的任务失败,或者,执行获取的任务之后,还包括:判断执行成功的任务数量和执行失败的任务数量之和是否等于任务组中的任务总数,或者,判断用户是否发出停止指令,若是,则停止执行,否则,返回从任务组中获取待执行的任务的步骤。
进一步地,数据库连接从当前任务组中获取待执行的任务失败包括:数据库连接接收到用于指示加锁等待超时的通知;或者,数据库连接接收到用于指示任务组中不存在待执行的任务的通知。
进一步地,判断获取的任务的前置任务是否全部执行成功包括:根据预先设置的任务组中任务之间的依赖关系确定获取的任务的前置任务;判断前置任务是否全部执行成功。
根据本发明的另一个方面,提供了一种基于数据库的任务执行装置,包括:加入模块,用于加入数据库连接;获取模块,用于从任务组中获取待执行的任务;判断模块,用于判断获取的任务的前置任务是否全部执行成功;调度模块,用于在判断模块的判断结果为是的情况下,调度执行模块,在判断模块的判断结果为否的情况下,调度获取模块;执行模块,用于执行获取的任务。
通过本发明,采用加入的数据库连接从任务组中获取待执行的任务,并判断该任务的前置任务是否全部执行成功,若是,则执行所述获取的任务,否则,继续从任务组中获取待执行的任务,解决了相关技术中数据处理并发度固定导致处理灵活度低的问题,能够动态控制数据处理的并发度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010173441.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可组合成座椅的多功能自行车
- 下一篇:一种低温型荧光颜料及其制备方法