[发明专利]一种并发事务的调度方法和相关装置有效
申请号: | 201110281872.6 | 申请日: | 2011-09-21 |
公开(公告)号: | CN102354289A | 公开(公告)日: | 2012-02-15 |
发明(设计)人: | 赵雷 | 申请(专利权)人: | 苏州大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 逯长明 |
地址: | 215123 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并发 事务 调度 方法 相关 装置 | ||
技术领域
本发明涉及数据库技术领域,尤其涉及一种并发事务的调度方法和相关装置。
背景技术
数据库管理系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理核心机构。数据库管理系统中访问并可能更新数据库中各种数据的一个程序执行单元称为事务,系统中事务的执行靠中央处理器(Central Processing Unit,CPU)来完成。衡量数据库管理系统性能的一个重要指标就是该系统能否为多用户维持高事务吞吐量和低响应时间。另外,数据库管理系统的高事务吞吐量带来数据一致性问题,所谓数据一致性问题就是指多个事务并发执行时,如果对同一项数据进行操作,那么操作结果可能与该多个事务非并发执行时产生的操作结果不一致。所有引起数据一致性问题的原因归结为并发事务之间存在依赖关系,当一个事务或一条结构化查询语言(Structured Query Language,SQL)语句与另一个事务或另一条SQL语句之间存在共享数据对象,且两个事务或两条SQL语句对共享数据对象有写操作,则可判定两个事务或两条SQL语句之间存在依赖关系。
目前,解决数据一致性问题关键在于对并发事务进行可串行化处理,最常用于处理并发事务可串行化的方法是加锁。所谓加锁,即事务对某个数据库中的资源存取前,先向系统提出请求并锁定该资源,该事务获得锁后,即取得对该资源中数据的控制权,在该事务释放锁之前,其他事务不能更新此数据,该事务结束时,即释放被该锁定的资源。
但是,加锁机制实现的是强制性可串行化处理,若加锁机制失效,就会会导致事务执行出现死锁现象,死锁出现后,需要等待一段时间系统才能检测出来,并且至少需要有一个事务放弃执行并回滚到执行前的状态才能解开死锁,降低了系统整体运行的效率和性能。
发明内容
本发明实施例提供了一种并发事务的调度方法和相关装置,用于在事务执行前对所述事务进行可串行化预判定,并将判定后可串行化的事务送入CPU中执行,避免死锁现象的出现,从而提高了系统整体运行的效率和性能。
一种并发事务的调度方法,包括:
获取提交队列中每个事务的资源集合;
将所述提交队列中的事务送入等待队列;
根据所述等待队列中每个事务的资源集合,逐一判断所述等待队列中每个的事务与执行队列中的任一事务是否存在依赖关系,若否,则将与执行队列中的任一事务无依赖关系的等待队列中的事务送入准执行队列;
将所述准执行队列分成可执行队列和不可执行队列,并将所述不可执行队列中的事务送入所述等待队列,将所述可执行队列中的事务发送至中央处理器CPU,所述可执行队列中的两两事务之间不存在依赖关系,所述不可执行队列中的事务与所述可执行队列中的至少一个事务存在依赖关系。
一种用于并发事务调度的装置,包括:
资源集合获取模块,用于获取提交队列中每个事务的资源集合;
等待队列管理模块,用于将所述提交队列中的事务送入等待队列;
依赖关系判断模块,用于根据所述等待队列中每个事务的资源集合,逐一判断所述等待队列中每个的事务与执行队列中的任一事务是否存在依赖关系,若否,则将与执行队列中的任一事务无依赖关系的等待队列中的事务送入准执行队列;
事务分离模块,用于将所述准执行队列分成可执行队列和不可执行队列,并将所述不可执行队列中的事务送入所述等待队列,将所述可执行队列中的事务发送至中央处理器CPU,所述可执行队列中的两两事务之间不存在依赖关系,所述不可执行队列中的事务与所述可执行队列中的至少一个事务存在依赖关系。
从以上技术方案可以看出,本发明实施例具有以下优点:
将提交队列中的事务送入等待队列中,通过获取等待队列中每个事务的资源集合,逐一判断所述等待队列中的每个事务与执行队列中的任一事务是否存在依赖关系,若否,则将所述等待队列中的事务送入准执行队列,再根据对依赖关系的判断,将所述准执行队列中的事务分成可执行队列和不可执行队列。如此处理后的可执行队列中的事务就是可串行化的,所以将可执行队列中的事务送入CPU中执行就不会出现数据一致性问题,因此不须使用加锁机制,也就不会出现死锁现象,从而提高了系统整体运行的效率和性能。
附图说明
图1为本发明第一实施例并发事务调度方法基本流程图;
图2为本发明第一实施例事务流向图;
图3为本发明第二实施例并发事务调度方法详细流程图;
图4为本发明第三实施例并发事务调度方法详细流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州大学,未经苏州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110281872.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高载流量固定敷设用环保型直流电缆
- 下一篇:用于控制显示装置的方法和系统