[发明专利]一种两段式提交的事务控制方法有效
申请号: | 201610111867.3 | 申请日: | 2016-02-29 |
公开(公告)号: | CN105786595B | 公开(公告)日: | 2019-04-23 |
发明(设计)人: | 孙立新;周仑;宫保金 | 申请(专利权)人: | 浪潮通用软件有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 罗文曌 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 段式 提交 事务 控制 方法 | ||
本发明公开了一种两段式提交的事务控制方法,属于应用软件的程序事务性处理技术领域。本发明的两段式提交的事务控制方法包括以下阶段:(一)启动逻辑事务:具体包括以下步骤:1.1、在事务管理列表中登记该逻辑事务;1.2、建立逻辑事务数据缓冲区;1.3、将逻辑事务状态标记为启动,返回事务标识;(二)将变更数据提交到逻辑事务数据缓冲区;(三)提交逻辑事务。该发明的两段式提交的事务控制方法能有效的降低锁冲突、锁等待和事务的执行时间,降低应用系统的事务时间,使应用系统能够支撑更大的并发量,具有很好的推广应用价值。
技术领域
本发明涉及应用软件的程序事务性处理技术领域,具体提供一种两段式提交的事务控制方法。
背景技术
应用软件的事务是计算机系统中一组必须采用原子性处理的任务,所谓原子性处理的量为同一时刻只能有一个线程对它进行操作。在原子性处理的任务中,如果其中任何一个任务失败,其他任何成功的任务所做的变更都会回滚。系统中事务失败后的回滚结果是还原到事务启动前的初始状态。计算机系统中应用软件的事务的实现往往依赖于关系型数据库的事务实现。关系型数据库事务是用户定义的一个数据库操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位。
关系型数据库通常由高级数据操纵语言或者编程语言(如SQL、COBOL、C、C++或Java)书写的用户程序的执行而引起的,由事务开始与结束之间执行的全体操作组成,事务的开始与结束可以用形如begin transaction和end transaction的语句(或函数调用)来显式定义。
对于大型计算机应用系统,涉及的业务处理往往较复杂,这样也会带来事务内操作过程的复杂化,导致事务的执行时间较长。并且大型应用系统中往往容易出现在启动事务之后应用层程序的计算处理与数据库操作间的间隔、交叉执行,这样的结果会导致事务的执行时间不仅仅包含了数据库操作的时间,还包含了应用层程序计算处理的时间。而数据库事务为了保证数据的一致性和隔离性,会在数据库操作时通过数据库的锁机制对数据库中的数据进行隔离。事务的执行时间越长,锁机制中锁的持续时间就会越长。大型系统中复杂的业务使系统的并发压力较大,进而导致数据库中的数据操作变的非常频繁,引起数据库中锁冲突概率变大,从而导致锁等待,延长了数据库操作时间。而锁等待过程中会导致事务不能执行,进而延长了事务的执行时间,又会进一步延长整个事务的时间,最终会导致数据库操作瓶颈的产生,使数据库操作的并行度受到极大制约,产生类似于“堵车效应”的现象。
若能有效的控制和降低每个事务的执行时间和锁的时间,从而降低锁冲突和锁等待时间,提高数据库访问的并行度,则能使大型应用系统支撑更大的并行量,减少应用系统的事务时间。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种能有效的降低锁冲突、锁等待和事务的执行时间,降低应用系统的事务时间,使应用系统能够支撑更大并发量的两段式提交的事务控制方法。
为实现上述目的,本发明提供了如下技术方案:
一种两段式提交的事务控制方法,包括以下阶段:
(一)启动逻辑事务:
1.1、在事务管理列表中登记该逻辑事务;
1.2、建立逻辑事务数据缓冲区;
1.3、将逻辑事务状态标记为启动,返回事务标识;
(二)将变更数据提交到逻辑事务数据缓冲区;
(三)提交逻辑事务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮通用软件有限公司,未经浪潮通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610111867.3/2.html,转载请声明来源钻瓜专利网。