确保时态一致性的实时并发控制方法.pdf

上传人:e1 文档编号:967427 上传时间:2018-03-22 格式:PDF 页数:12 大小:736.50KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010132642.9

申请日:

2010.03.26

公开号:

CN101814091A

公开日:

2010.08.25

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 17/30公开日:20100825|||实质审查的生效IPC(主分类):G06F 17/30申请日:20100326|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

天津理工大学

发明人:

肖迎元; 尹波; 申艳; 刘凤连

地址:

300384 天津市西青区红旗南路延长线理工大学主校区

优先权:

专利代理机构:

天津佳盟知识产权代理有限公司 12002

代理人:

侯力

PDF下载: PDF下载
内容摘要

确保时态一致性的实时并发控制方法。该方法首先给出了时态一致性的形式化定义;然后给出了数据相似与操作相似的形式化定义;进一步提出了相似可串行化标准;在上述基础上,对传统的实时并发控制方法——高优先级两段锁(HP-2PL)方法进行改进,通过引入时态一致性检查机制和相似性思想,提出了既能满足时态一致性需求又能确保系统实时性能的实时并发控制方法。本发明适用于自动驾驶、机器导航、实时监控、股票交易、军事作战指挥系统等时间关键类应用。

权利要求书

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。
11: TIF" wi="116" he="17" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>表示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。

说明书


确保时态一致性的实时并发控制方法

    【技术领域】:本发明属于实时数据库领域。通过在传统的实时并发控制方法中引入时态一致性检查机制和相似性思想,很好地满足了时间关键类应用在时态一致性与实时性两方面的需求。

    【背景技术】:实时数据库系统是事务和数据都可以有定时限制的数据库系统,系统的正确性不仅依赖于事务执行的逻辑结果,而依赖于逻辑结果产生的时间。实时数据库系统中事务的定时限制典型地表现为事务的截止期。一个事务若在规定的截止期后完成,结果将变得毫无价值,甚至还可能带来灾难性的后果。数据的定时限制表现为时态数据的有效期,时态数据仅在其有效期内有效。

    实时数据库系统通常应用在一些时间关键类应用中,如自动驾驶、机器导航、实时监控、股票交易、军事作战指挥系统等。上述应用一方面需要实时数据库系统维护大量的共享数据,另一方面其应用活动有很强的时间性,要求在一定的时刻或一定的时期内自外部环境采集数据、按彼此之间的联系来处理采集的数据并做出及时的响应。同时,它们处理的数据往往是“短暂”的,即只在一定的时间范围内有效,过期则对当前决策或推导无意义。

    传统的实时并发控制方法主要着眼于如何尽可能地减低事务错过截止期的比率,而忽略了实际应用中事务对所存取的数据对象有时态一致性需求。如在病人监控系统中,病人的心跳、温度、血压等特征被周期性的获取并写入数据库,监控事务读取病人的心跳、温度、血压数据,并以此为依据来触发相应的控制信号来向医生报告病人的状态,这不仅需要确保监控事务能在规定的截止期内完成,而且需要确保监控事务读取的是有效并且时态相互一致的数据。典型时态相互不一致的情况为:监控事务读取的心跳数据是时刻Ti采集、写入的,而读取的温度、血压数据则是在一定时间间隔后,如在时刻Ti+5采集、写入的。显然,基于上述数据的推断可能导致错误的病情报告。

    传统的实时并发控制方法没有考虑到时间关键类应用的时态一致性需求,因而不能确保事务存取的数据总是满足时态一致性。为此,需要研究能确保时态一致性的实时并发控制方法,同时满足时间关键类应用在时态一致性与实时性两方面的需求。然而,确保时态一致性与确保高的实时性能这两方面往往相互冲突,通常实现某方面往往以牺牲另一方面为前提,因此,研究能同时满足时态一致性和实时性两方面需求的并发控制方法是一项具有挑战性的研究课题。

    在时间关键类应用中,时态数据对象是外部客观环境在计算机内的逻辑表示,时态数据对象的值通过各种传感器采样获得,并被周期性地写入数据库中。由于把采样值写入数据库就存在一定的延时,因此写入数据库中的值已经不是外部客观环境的绝对精确的反映,所以在时间关键类应用中通常允许一定限度内的短暂的不一致存在。传统的冲突可串行化标准对时间关键类应用而言,显得过于严格,为此,本发明方法通过引入相似性的思想,来放宽对可串行化的要求,从而高效地提高实时性能。

    【发明内容】:本发明的目的是克服现有技术存在的上述不足,提供一种既能满足时态一致性需求又能确保系统实时性能的实时并发控制方法。

    本发明提供的确保时态一致性的实时并发控制方法,首先给出了时态一致性的形式化定义;然后给出了数据相似与操作相似的形式化定义;进一步提出了相似可串行化标准;在上述基础上,对传统的实时并发控制方法——高优先级两段锁(HP-2PL)方法进行改进,通过引入时态一致性检查机制和相似性思想,提出了既能满足时态一致性需求又能确保系统实时性能的实时并发控制方法。

    该方法具体描述如下:

    第1、时态一致性的形式化定义

    第1.1、本发明方法描述中将使用的一些符号及其含义见表1:

    表1符号及其含义

    

    第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)};若如下条件成立:|ST(Xi)-ST(Yj)|≤Rmvi),则称V(R)满足相互一致性;这里,Rmvi为R的关联有效期,它的取值因应用语义而定,通常Rmvi取R中所有时态对象有效期的最小值;

    第1.6、定义5数据的时态一致性:若一个时态数据对象既满足外部一致性又是相互一致性的,则称它满足时态一致性;

    第1.7、定义6事务的时态一致性:假定DS(t)={X1,X2,...,Xm},若事务t同时满足下列条件:

     (1),XiDS(t)(T(t,Xi)<ST(Xi)+VI(Xi))]]>

    (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相似写锁,并给出了锁相容性矩阵,见表2:

    表2锁相容性矩阵

    

    其中,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)))

    3.

    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.

    本发明的优点和积极效果:

    与现有技术相比,本发明具有以下优点:

    1.通过引入相似性思想,提出了相似可串行化标准,对传统的冲突可串行化标准进行了放松,显著地提高了事务的并发度,因而具有很好的实时性能;

    2.引入了时态一致性检查机制,因而能确保数据与事务的时态一致性;

    3.能确保并发事务执行满足相似可串行化,即能证明如下定理:

    定理1本发明提出并发控制方法可确保并发事务执行满足相似可串行化。

    证明:(1)设S为遵循本发明方法的并发事务集ST={t1,t2,......,tn}的一个调度,G=(V,E)为调度S的优先图,即V={t1,t2,......,tn},E={(ti→tj)|ti和tj之间存在一对冲突操作Opi和Opj且ti执行Opi操作在tj执行Opj操作之前,ti∈ST,tj∈ST}。设G′=(V,E′)为G中去掉由于相似冲突操作而导致的有向边后得到的有向图。显然根据高优先级两段锁方法(HP-2PL),有向图G′中无环。

    (2)设e是有向边集(E-E′)中的任一条有向边,因为(E-E′)中的边必定是两相似冲突操作而导致的,不妨设这两相似冲突操作分别为Opk和Opm,其中,Opk是事务tk的操作,Opm是事务tm的操作,即e=(tk→tm)。每次从(E-E′)中取出一条有向边e,并将其加入到有向图G′中,若加入后有向图G′出现了环,由于Opk和Opm为相似操作,故交换Opk和Opm的执行顺序所产生的数据库状态与原执行顺序所产生的数据库状态为相似的数据库状态。故可将有向边e改为(tm→tk),从而消去了图G′中的环,并确保了数据库状态的相似性。

    (3)重复步骤(2),直到(E-E′)为空。

    (4)经过上面的步骤,确保最后得到的图G′中无环,不妨设优先图G′对应于事务集ST={t1,t2,......,tn}的一个调度为S′,显然S′为可串行化调度。

    (5)因为调度S所产生的数据库状态与S′所产生的数据库状态是相似的,故S是满足相似可串行化,即定理得到了证明。

    与现有技术相比,本发明的效果:

    性能测试结果显示我们提出的并发控制方法在确保时态一致性的同时仍能保证很好的实时性能。

    【附图说明】:

    图1是本发明方法的实验模型;

    图2是本发明方法与流行的高优先级两段锁方法HP-2PL的实时性能比较。

    【具体实施方式】:

    实施例1

    假定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.

    实施例2、具体性能比较:

    将本发明方法与流行的实时并发控制方法-高优先级两段锁方法HP-2PL进行实时性能方面的比较,测试的主要性能指标为:事务错过截止期的比率(MDR),MDR=错过截止期的事务数目/系统接纳的事务数目。MDR反映了系统的实时性能,其值越小,系统的实时性能越好。图1为我们的实验模型。表3给出了主要实验参数。

    表3.主要实验参数

    

    图2显示了在PS和RTDO取缺省值(即PS=0.5,RTDO=40%)时,本发明方法(简称为STCHP-2PL)和高优先级两段锁方法HP-2PL在MDR上的差异。当事务到达率(TArrRate)增加时,STCHP-2PL和HP-2PL的MDR都相应地增加,但STCHP-2PL的MDR要明显低于HP-2PL的MDR。这是由于STCHP-2PL引入了相似性概念,对传统的冲突可串行进行了放松,增大了事务并发度,从而导致了较小的MDR。

    进一步,我们在对主要实验参数的取值进行不断调整的情况下,广泛地进行该实验,实验结果显示,本发明方法在确保时态一致性的前提下,比高优先级两段锁方法HP-2PL具有更好的实时性能。

    

确保时态一致性的实时并发控制方法.pdf_第1页
第1页 / 共12页
确保时态一致性的实时并发控制方法.pdf_第2页
第2页 / 共12页
确保时态一致性的实时并发控制方法.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《确保时态一致性的实时并发控制方法.pdf》由会员分享,可在线阅读,更多相关《确保时态一致性的实时并发控制方法.pdf(12页珍藏版)》请在专利查询网上搜索。

确保时态一致性的实时并发控制方法。该方法首先给出了时态一致性的形式化定义;然后给出了数据相似与操作相似的形式化定义;进一步提出了相似可串行化标准;在上述基础上,对传统的实时并发控制方法高优先级两段锁(HP-2PL)方法进行改进,通过引入时态一致性检查机制和相似性思想,提出了既能满足时态一致性需求又能确保系统实时性能的实时并发控制方法。本发明适用于自动驾驶、机器导航、实时监控、股票交易、军事作战指挥。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1