[发明专利]一种数据库中动态多粒度锁的事务冲突判决方法无效
申请号: | 200910305845.0 | 申请日: | 2009-08-20 |
公开(公告)号: | CN101667211A | 公开(公告)日: | 2010-03-10 |
发明(设计)人: | 王非;卢正新;黄本雄;王芙蓉;董晓辉 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市德权律师事务所 | 代理人: | 周发军 |
地址: | 430074湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 动态 粒度 事务 冲突 判决 方法 | ||
1.一种数据库中动态多粒度锁的事务冲突判决方法,其特征在于,根据事务冲突级别,采用锁粒度细化检测算法动态决定在表上是使用粗粒度的表级锁还是细粒度的行级锁;所述事务冲突级别由如下公式计算:TC=a×Nx+b×Ns,其中,TC为事务的冲突级别,Ns为不相容共享锁的数量,Nx是锁等待队列中排他锁的数量,a、b为事务冲突权重系数;
所述Ns的统计具体步骤如下:
a.系统初始化时,初始化每个表上的共享锁计数器Ns为0;
b.当表上一个共享锁加锁请求到达时,检查表锁控制块上是否有加锁请求正在等待;
c.如果有加锁请求等待,检查等待队列中的最后一个加锁请求是否是共享锁,如果是共享锁,Ns保持不变,如果不是共享锁,Ns自增1;
d.如果没有加锁请求等待,检查当前授予锁队列是否还有其它共享锁,如果是,Ns保持不变,如果不是Ns自增1;
e.当一个共享锁的解锁请求到达时,检查锁的授予队列上还有没有其他共享锁存在,如果存在,Ns保持不变,如果不存在,Ns自减1;
所述Nx根据应用,可以分为插入、更新、删除类型互斥锁,可以在表级锁上设置三个计数器Nins、Nupd、Ndel,分别表示插入、更新、删除类型互斥锁的数量,那么Nx=Nins+ Nupd + Ndel,其统计具体步骤如下:系统初始化时,初始化Nins、Nupd、Ndel为0;当有互斥锁加锁请求到来时,如果是插入数据型的互斥锁,则Nins自增1,如果是更新数据型的互斥锁,则Nupd自增1,如果是删除数据型的互斥锁,则Ndel自增1;当有互斥锁解锁请求到来时,如果是插入数据型的互斥锁,则Nins自减1,如果是更新数据型的互斥锁,则Nupd自减1,如果是删除数据型的互斥锁,则Ndel自减1;
所述系数b为1,所述系数a是动态变化的,是与锁等待队列中互斥锁的事务类型和事务数量相关的;a= Ains×Pins+Aupd×Pupd+Adel×Pdel;在以上公式中,Ains、Aupd、Adel分别是插入、更新、删除类型事务的复杂度参数,Ains、Aupd、Adel取值2~10,Pins、Pupd、Pdel分别是互斥锁中插入、更新、删除类型事务的比例,Pins=Nins/(Nins+Nupd+Ndel),Pupd=Nupd /(Nins+Nupd+Ndel),Pdel=Ndel /( Nins+Nupd+Ndel);
所述锁粒度细化检测算法是指系统初始化的时候,表上的锁粒度默认初始化为粗粒度的表级锁,当监视到表上事务冲突到达一定级别后,将锁的粒度转化为细粒度的行级锁,当事务冲突降到一定级别后,表上的锁粒度也由行级锁变为表级锁;当系统初始化时表上的锁粒度为表级锁,或者当表上锁粒度刚刚由行级锁转化为表级锁,系统执行粒度细化检测流程;所述粒度细化检测流程具体步骤如下:
a.初始化监视阈值C1和锁粒度细化阈值C2,一般状态下,系统以周期T1周期性的计算每个表上的冲突级别TC;
b.比较当前TC和C1的大小,当TC大于或者等于C1,该表进入冲突监视状态,为该表设置一个周期为T2的定时器,执行步骤c;如果TC小于C1,该表返回步骤a,继续进行一般状态下的检测;
c.每当表上周期T2的定时器消息到达时,重新计算TC;
d.比较当前TC和C1的大小,如果TC小于C1,销毁周期T2的定时器,该表返回步骤a进入一般状态下的检测;如果TC大于或者等于C1,进行后面的步骤;
e.比较当前TC和前一周期内TC的大小,如果TC比前一周期内的TC大,那么C2=C2-C0,C0为细化阈值变化的步值;如果TC比前一周期内的TC要小,那么C2=C2+C0;如果TC和前一周期内的TC相等,那么C2不变;
f.比较TC和C2的大小,如果TC大于或者等于C2,那么细化该表上的锁粒度,将现有的表级锁转化为行级锁,销毁周期为T2的监视定时器,否则继续等待监视状态下的定时器消息到达。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910305845.0/1.html,转载请声明来源钻瓜专利网。