[发明专利]并发控制方法及装置有效
申请号: | 200910160804.7 | 申请日: | 2009-07-23 |
公开(公告)号: | CN101615203A | 公开(公告)日: | 2009-12-30 |
发明(设计)人: | 印和平;常二鹏;卢勤元;丁奇鹏;陈河堆 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京康信知识产权代理有限责任公司 | 代理人: | 余 刚;吴孟秋 |
地址: | 518057广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并发 控制 方法 装置 | ||
1.一种并发控制方法,其特征在于,包括以下步骤:
根据锁关系表判断事务的待操作位置是否有与待授予锁 相冲突的锁,所述锁关系表用于保存所述事务与锁的关系,所 述锁关系表具体包括:事务列表,用于保存并发执行且未提交 的事务;锁哈希表,用于跟踪排队等待的锁;锁链表,用于关 联所述事务与所述锁;
根据判断结果对所述事务授予锁,并执行所述事务;
当所述事务执行结束时,释放所述事务持有的锁,并将释 放的所述锁中无需继续等待的锁授予其他并发事务,其中,将 释放的所述锁中无需继续等待的锁授予其他并发事务具体包 括:对释放的所述锁所在锁链表中的每个锁,检测是否有等待 标志;当有等待标志,且被检测的所述锁与所述其他并发事务 的同一操作位置上其他锁不存在锁类型冲突时,将被检测的所 述锁授予所述其他并发事务,唤醒所述其他并发事务继续执 行,所述锁类型包括共享锁和排它锁。
2.根据权利要求1所述的并发控制方法,其特征在于,根据判断 结果对所述事务授予锁,并执行所述事务具体包括:
若所述事务的所述待操作位置无锁,对所述事务授予锁, 并执行所述事务。
3.根据权利要求1所述的并发控制方法,其特征在于,根据判断 结果对所述事务授予锁,并执行所述事务具体包括:
若所述事务的所述待操作位置已有锁,检查已有锁与所述 待授予锁是否存在冲突;
根据检查结果对所述事务授予锁,并执行所述事务。
4.根据权利要求3所述的并发控制方法,其特征在于,根据检查 结果对所述事务授予锁,并执行所述事务具体包括:
若所述已有锁与所述待授予锁不存在冲突,对所述事务授 予锁,并执行所述事务。
5.根据权利要求3所述的并发控制方法,其特征在于,根据检查 结果对所述事务授予锁,并执行所述事务具体包括:
若所述已有锁与所述待授予锁存在冲突,设置所述事务排 队等待,直至重新获得所述待授予锁;
执行所述事务。
6.根据权利要求2、4或5所述的并发控制方法,其特征在于, 执行所述事务包括以下至少之一:进行增加操作、进行删除操 作、进行修改操作、进行读取操作。
7.根据权利要求1所述的并发控制方法,其特征在于,所述事务 执行结束包括:所述事务完成提交或所述事务完成回滚。
8.一种并发控制装置,其特征在于,包括:
判断模块,用于根据锁关系表判断事务的待操作位置是否 有与待授予锁相冲突的锁,所述锁关系表用于保存所述事务与 锁的关系,所述锁关系表具体包括:事务列表,用于保存并发 执行且未提交的事务;锁哈希表,用于跟踪排队等待的锁;锁 链表,用于关联所述事务与所述锁;
执行模块,用于根据判断结果对所述事务授予锁,并执行 所述事务;
释放模块,用于当所述事务执行结束时,释放所述事务持 有的锁,并将释放的所述锁中无需继续等待的锁授予其他并发 事务;
其中,所述释放模块,进一步用于对释放的所述锁所在锁 链表中的每个锁,检测是否有等待标志;当有等待标志,且被 检测的所述锁与所述其他并发事务的同一操作位置上其他锁 不存在锁类型冲突时,将被检测的所述锁授予所述其他并发事 务,唤醒所述其他并发事务继续执行,所述锁类型包括共享锁 和排它锁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910160804.7/1.html,转载请声明来源钻瓜专利网。