用于数据库系统事务管理的方法和系统技术方案

技术编号:9276210 阅读:114 留言:0更新日期:2013-10-24 23:25
本发明专利技术涉及一种用于数据库系统事务管理的方法和系统。在一个方面中,提供了:经由计算设备使用至少一个事务标记来注释位于所述计算设备上的至少一个数据对象,所述至少一个事务标记被配置为指示关联的数据对象的状态;使用事务性存储器过程处理至少一个数据库事务,其中基于所述至少一个数据对象的状态确定对所述至少一个数据对象的访问;以及响应于所述至少一个数据库事务尝试访问所述至少一个数据对象,更新所述至少一个数据对象的状态。在此还提供了其他实施例和方面。

【技术实现步骤摘要】
用于事务管理的方法和系统
在此提出的主题一般地涉及数据库管理系统(DBMS)中的数据事务处理和管理,具体地说,涉及使用事务性存储器。
技术介绍
事务性存储器(TM)是一种并发性控制机制,用于简化和实现出错率较低的并行编程。通常,TM为程序提供一种灵活的方法,以便作为单个操作以原子方式读取和修改不同的存储单元,采用的方式类似于修改磁盘上的许多记录的原子数据库事务。例如,TM可以使用乐观方法潜在地提高多线程程序的执行并发性,所述多线程程序访问包含多个存储单元的相同或重叠集合。为了实现乐观执行,TM执行环境可以依赖于某些特性,包括冲突检测、版本管理和冲突解决。TM可以以硬件(HTM)、软件(STM)或硬件和软件两者的混合组合来实现。
技术实现思路
一个方面提供了一种系统,包括:至少一个处理器;以及在操作上连接到所述至少一个处理器的存储设备;其中,响应于执行可由所述至少一个处理器访问的程序指令,所述至少一个处理器被配置为:使用至少一个事务标记来注释至少一个数据对象,所述至少一个事务标记被配置为指示关联的数据对象的状态;使用事务性存储器过程处理至少一个数据库事务,其中基于所述至少一个数据对象的状态确定对所述至少一个数据对象的访问;以及响应于所述至少一个数据库事务尝试访问所述至少一个数据对象,更新所述至少一个数据对象的状态。另一个方面提供了一种方法,包括:经由计算设备使用至少一个事务标记来注释位于所述计算设备上的至少一个数据对象,所述至少一个事务标记被配置为指示关联的数据对象的状态;使用事务性存储器过程处理至少一个数据库事务,其中基于所述至少一个数据对象的状态确定对所述至少一个数据对象的访问;以及响应于所述至少一个数据库事务尝试访问所述至少一个数据对象,更新所述至少一个数据对象的状态。另一个方面提供了一种计算机程序产品,包括:其上包含有计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码包括:被配置为使用至少一个事务标记来注释至少一个数据对象的计算机可读程序代码,所述至少一个事务标记被配置为指示关联的数据对象的状态;被配置为使用事务性存储器过程处理至少一个数据库事务的计算机可读程序代码,其中基于所述至少一个数据对象的状态确定对所述至少一个数据对象的访问;以及被配置为响应于所述至少一个数据库事务尝试访问所述至少一个数据对象,更新所述至少一个数据对象的状态的计算机可读程序代码。以上所述是概要,并且因此可能包含细节的简化、概括和省略;因此,本领域的技术人员将理解,所述概要只是示例性的并且并非旨在以任何方式进行限制。为了更好地理解各实施例以及它们的其它和进一步的特性和优点,结合附图对以下描述进行参考。本专利技术的范围将在所附权利要求中指出。附图说明图1提供了数据库系统中的一个实例事务过程;图2提供了根据各实施例配置的实例对象数据结构;图3提供了根据一个实施例的事务处理的一个实例;图4A-4C提供了根据各实施例的实例应用编程接口(API)和关联的实施方式;图5A和5B提供了根据各实施例配置的应用编程接口(API)和实施方式转换;以及图6示出了一个实例计算设备。具体实施方式将很容易地理解,除了所描述的实例实施例之外,实施例的组件如通常在此处附图中描述和示出的那样,可以以各种不同的配置来布置和设计。因此,以下对实例实施例的更详细的描述如在附图中表示的那样,并非旨在限制权利要求的范围,而只是表示这些实施例。本说明书中对“实施例(多个)”的引用(或类似语言)指结合该实施例描述的特定特性、结构或特征被包括在至少一个实施例中。因此,在本说明书的各种位置中出现的短语“根据各实施例”或“一个实施例”(或类似语言)并非一定都指同一实施例。此外,所描述的特性、结构或特征可以以任何适当的方式组合在不同实施例中。在以下描述中,提供了大量特定的详细信息以便彻底理解实例实施例。但是,相关领域的技术人员将认识到,可以在没有某些特定的详细信息的情况下实现各方面,或者可以通过其它方法、组件、材料等实现各方面。在其它情况下,未详细示出或描述公知的结构、材料或操作以避免模糊不清。事务性存储器(TM)提供了许多优点,包括简化并行编程和降低与编写并发程序关联的难度。尽管如此,TM也有它自己的代价,例如由于需要保存事务日志以及检测和解决冲突而导致的性能开销。可以通过完全以硬件实现TM(HTM)来最小化开销。但是,这必然限制事务可以访问的数据大小,因为硬件资源有限,并且HTM为了获得多数据一致性支持而可能采用任何底层高速缓存一致性协议。因此,对于访问大量数据的事务,系统必须回退到传统锁定过程或使用软件TM(STM),这可能由于性能开销非常高而失去并发性优势。启用TM的程序声明事务范围,作为涉及一个或多个存储单元的关键执行部分。HTM以存储器操纵单元(例如高速缓存行)的粒度解决冲突。从声明工作单元及其恢复的角度看,数据库管理系统(DBMS)中存在类似的结构。例如,应用可以在读取或修改一组数据库对象之前声明“startoftheunitofrecovery(UR)(恢复单元(UR)开始)”。在某一时刻,应用可以发出“commit(提交)”或“rollback(回滚)”以便确认对数据库的更改或者撤消自“startoftheUR(UR开始)”命令以来的所有更改。通常,数据库记录可以是DBMS支持的任何大小。DBMS可以使用软件锁管理器序列化对相同数据实体的并发访问,其中只有获得锁的线程才可以继续其访问。取决于应用语义,可以阻止其它意图访问相同实体的线程,这也可能取决于语义。锁管理器可以依据对象的名称或标识符来区分对象。因此,可以在表级别、文件级别(表可以被分区并跨越多个文件)、记录级别或页级别(一个或多个记录可以被存储在页中或跨越多个页,其也是I/O单元)实现序列化粒度。但是,对象锁定的成本可能很高。还可以在不同锁级别的层次结构之间转换。最终,这是在并发性、性能和系统资源之间进行权衡。此外,在其中事务范围覆盖多个对象的环境中,经由锁定来序列化每个对象处的访问还可能导致锁管理器必须解决的死锁情况。参考图1,提供了一个实例数据库管理过程。系统包括数据库101(包含表102、页103和行104)、应用线程105和锁管理器106。启动事务(107)并定位一个或多个对象(例如,数据库101中的table.page.row)(108)。请求锁管理器权限(109)以访问所述一个或多个对象。如果授予权限(110),则可以访问所述一个或多个对象,否则,所述过程等待(111)。所述过程循环返回以便再次请求权限以访问对象(109)。所述过程可以被配置为提交或中止事务并释放任何活动锁。硬件事务管理(HTM)是一种硬件辅助无锁机制,用于处理数据访问冲突解决。它提供良好的性能并伴随着自己的限制,例如数据大小限制以及不能在不同的对象层次结构级别管理并发访问。除了记录、页、文件和表之外,许多应用都需要针对较大数据结构进行原子操作,特别是那些诸如文本、XML文档、二进制对象和图像之类的数据类型。相应地,各实施例提供了一种事务处理系统,所述事务处理系统在HTM的帮助下运行并被配置为在没有锁管理器的情况下运行。例如,各实施例提供了一种组合乐观机制和阻止机制的混合方法,用于针对各种数据对象的数据库事本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201310106849.html" title="用于数据库系统事务管理的方法和系统原文来自X技术">用于数据库系统事务管理的方法和系统</a>

【技术保护点】
一种系统,包括:至少一个处理器;以及在操作上连接到所述至少一个处理器的存储设备;其中,响应于执行可由所述至少一个处理器访问的程序指令,所述至少一个处理器被配置为:使用至少一个事务标记来注释至少一个数据对象,所述至少一个事务标记被配置为指示关联的数据对象的状态;使用事务性存储器过程处理至少一个数据库事务,其中基于所述至少一个数据对象的状态确定对所述至少一个数据对象的访问;以及响应于所述至少一个数据库事务尝试访问所述至少一个数据对象,更新所述至少一个数据对象的状态。

【技术特征摘要】
2012.03.30 US 13/435,2811.一种用于事务管理的系统,包括:至少一个处理器;以及在操作上连接到所述至少一个处理器的存储设备;其中,响应于执行由所述至少一个处理器访问的程序指令,所述至少一个处理器被配置为:使用至少一个事务标记来注释至少一个数据对象,所述至少一个事务标记被配置为指示关联的数据对象的状态;所述至少一个事务标记与被配置为支持事务性存储器系统的操作的一个或多个数据结构相关联;使用事务性存储器过程处理至少一个数据库事务,其中基于所述至少一个数据对象的状态确定对所述至少一个数据对象的访问;以及响应于所述至少一个数据库事务尝试访问所述至少一个数据对象,更新所述至少一个数据对象的状态。2.根据权利要求1的系统,其中所述至少一个处理器还被配置为定义至少一个应用编程接口,所述至少一个应用编程接口被配置为针对使用事务标记注释的数据而启用事务声明。3.根据权利要求1的系统,其中经由硬件事务管理来更新所述至少一个数据对象的状态。4.根据权利要求3的系统,其中硬件事务管理乐观地且无锁地处理更新。5.根据权利要求1的系统,其中所述至少一个事务标记包括活动读取计数器和活动写入计数器。6.根据权利要求1的系统,其中所述至少一个事务标记对于调用数据库事务的应用而言是透明的。7.根据权利要求1的系统,其中响应于完成对所述至少一个数据对象的访问,撤消对所述至少一个数据对象的状态的更新。8.根据权利要求1的系统,其中将对多个数据对象的访问进行分组。9.根据权利要求1的系统,其...

【专利技术属性】
技术研发人员:H·W·凯恩三世D·N·迪伦贝格尔M·H·T·哈克闵红苏工J·ZC·滕
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1