[发明专利]确保时态一致性的实时并发控制方法无效
申请号: | 201010132642.9 | 申请日: | 2010-03-26 |
公开(公告)号: | CN101814091A | 公开(公告)日: | 2010-08-25 |
发明(设计)人: | 肖迎元;尹波;申艳;刘凤连 | 申请(专利权)人: | 天津理工大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 天津佳盟知识产权代理有限公司 12002 | 代理人: | 侯力 |
地址: | 300384 天津市*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 确保 时态 一致性 实时 并发 控制 方法 | ||
1.一种确保时态一致性的实时并发控制方法,其特征在于,该方法具体描述如下:
第1、时态一致性的形式化定义
第1.1、本发明方法描述中将使用的一些符号及其含义:
符号 含义
t 系统中的任一事务
Opi 事务对数据对象的一次读或写操作
DS(t) t需要存取的时态数据对象的集合
DS1(t) t已存取的时态数据对象的集合
DS2(t) t尚未存取的时态数据对象的集合
T(t,Xi) t访问时态数据对象Xi的时刻
V(t,Xi) t访问Xi时,Xi的状态(值)
V(Opi,X) 表示Opi作用在数据对象X上的值
表示Opi和Opr是作用在数据对象X上的一对冲突操作
P(t) t的优先级
;
第1.2、定义1时态数据对象:时态数据对象X定义为一个三元组:X::=<V(X),ST(X),VI(X)>;其中,V(X)表示X的当前状态或值;ST(X)表示采样时刻,即采样X所对应的外部客观环境某一特征量的时间;VI(X)表示X的有效期,即自ST(X)算起,V(X)具有有效性的时间长度;
第1.3、定义2外部一致性:时态数据对象X被称为满足外部一致性,如果有ST(X)+VI(X)≥Tc成立,这里,Tc表示当前时刻;
第1.4、定义3相互关联集:用来做决策或导出新数据的一组时态数据对象称为一个相互关联集;
第1.5、定义4相互一致性:设R={X1,X2,...,Xm}是一个相互关联集,V(R)表示R中时态对象在某一时刻值的集合,即V(R)={V(X1),V(X2),...,V(Xm)};若如下条件成立:V(Xj)∈V(R)(|ST(Xi)-ST(Yj)|≤Rmvi),则称V(R)满足相互一致性;这里,Rmvi为R的关联有效期,它的取值因应用语义而定,通常Rmvi取R中所有时态对象有效期的最小值;
第1.6、定义5数据的时态一致性:若一个时态数据对象既满足外部一致性又是相互一致性的,则称它满足时态一致性;
第1.7、定义6事务的时态一致性:假定DS(t)={X1,X2,...,Xm},若事务t同时满足下列条件:
(2){V(t,X1),V(t,X2),...,V(t,Xm)}满足相互一致性
则称事务t满足时态一致性;
第2、数据相似与操作相似的形式化定义
第2.1、定义7冲突事务对:设tr和th为并发执行的一对事务,若存在Opi∈tr,Opj∈th,Opi和Opj作用在同一数据对象上且有一个为写操作,则称tr和th为一冲突事务对;
第2.2、定义8数据相似:对于时态数据对象X的两个取值V1(X)和V2(X),若下面条件满足:
|f(V1(X)-f(V2(X))|≤α
则称V1(X)和V2(X)是数据相似的,记为:V1(X)≈V2(X);这里,f表示从X的取值集合到实数集的一个映射;α为预先定义的相似阈值;
第2.3、定义9操作相似:设tm和tn为并发执行的一对事务,Opi∈tm和Opj∈tn且Opi和Opj为作用在同一数据对象X上,若下列条件满足:
V(Opi,X)≈V(Opj,X)
则称Opi和Opj是操作相似的,记为:Opi≈Opj;
第3、数据库状态相似与相似可串行化
第3.1、定义10数据库状态相似:假定SDi,SDj分别表示数据库在两不同时刻的数据值的集合,X表示某一时态数据对象,Vi(X)表示X在SDi中的值,Vj(X)表示X在SDj中的值,若下面条件满足:则称SDi和SDj状态相似,记为:SDi≈SDj;
第3.2、定义11相似可串行化:假定Scha是并发事务集{t1 t2,...,tn}的一个调度,SDa是Scha产生的数据库的一个状态,若下面的条件满足:则称Scha是相似可串行化的;这里,Schb表示某一串行调度;SDb表示Schb产生的数据库的一个状态;
第4、基于相似性的数据冲突解决策略
第4.1、锁类型定义及锁相容性矩阵
基于相似性思想,进一步对传统的锁类型进行扩展,在现有的R读锁、W写锁基础上新增了SR相似读锁和SW相似写锁,并给出了锁相容性矩阵:
其中,Y表示“允许”,N表示“不允许”
第4.2、数据冲突解决策略
当一事务对某个时态数据对象执行读操作或写操作时,它首先申请该数据对象上的R锁或W锁,若调度器Scheduler没检测到操作冲突,它授予该事务相应的锁;若检测到操作冲突,它判断冲突操作是否为相似操作,若为相似操作,则授予相应的SR锁或SW锁;当冲突操作为相似性操作时,申请SR锁或SW锁不与其它任何锁冲突;
假定Opi和Opj是一对作用在数据对象X上的并发操作,并假定Opj已持有对X的访问权限,而Opi正在请求对X的访问权限,对数据冲突的解决采用如下策略:
策略1:假定Opi和Opj为一对写-写冲突操作,若有Opi≈Opj,则Opi立即获得对X的访问权限而不管Opj是否释放对X的访问权限。
策略2:假定Opi和Opj为一对写-读冲突操作,若有V(Opi,X)≈V(Opj,X),则Opi立即获得对X的访问权限而不管Opj是否释放对X的访问权限;
在策略1和策略2中,Opi被称为相对于Opj的相似写操作,记作
策略3:假定Opi和Opj为一对读-写冲突操作,若有V(Opj,X)≈BeforeImage(Opj,X),则Opi立即获得对X的访问权限而不管Opj是否释放对X的访问权限;这里,BeforeImage(Opj,X)代表数据对象X在操作Opj前的值;
在策略3中,Opi被称为相对于Opj的相似读操作,记作
第5、确保时态一致性的实时并发控制方法
定义12假定ST代表与事务tr并发执行的事务的集合,假定X为一时态数据对象,若条件:成立,则称ST1为作用在X上的tr的最大冲突事务集;
假定tr为正在请求对Xi上锁的事务,Opi为tr的作用在Xi上的操作;ST1为事务tr的作用在Xi上的最大冲突事务集;STh表示ST1中已持有Xi的锁的事务集合;Max(P(STh))表示STh中事务的最高优先级;SOh表示持有Xi上的锁并与Opi冲突的操作的集合,即SOh1表示属于SOh的写操作的集合;
确保时态一致性的实时并发控制方法的具体实现算法描述如下:
Begin
1.If(P(tr)>Max(P(STh)))
2.If((DS1(tr)∪{Xi}满足相互一致性)∧(T(tr,Xi)<SI(Xi)+VI(Xi)))
4.tr获得相应的SW锁或SR锁;
5.Else
6.夭折STh中与Opi不满足操作相似性的事务,而让tr获得它正在请求的锁;
7.Else
8.tr被夭折;
9.Else
10.If((DS1(tr)∪{Xi}满足相互一致性)∧(T(tr,Xi)<SI(Xi)+VI(Xi)))
12.tr获得相应的SW锁或SR锁;
13.Else
14.tr被阻塞;
15.Else
16.tr被夭折;
End。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津理工大学,未经天津理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010132642.9/1.html,转载请声明来源钻瓜专利网。