[发明专利]基于数据库逻辑锁的变更处理方法有效
申请号: | 200810118896.8 | 申请日: | 2008-08-27 |
公开(公告)号: | CN101350022A | 公开(公告)日: | 2009-01-21 |
发明(设计)人: | 王向荣;梁敏;蔡凌玮;翟习文 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京三友知识产权代理有限公司 | 代理人: | 田野 |
地址: | 100031北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 数据库 逻辑 变更 处理 方法 | ||
技术领域
本发明涉及计算机数据处理方法,尤其涉及一种基于数据库逻辑锁的联机事物处理的变更处理方法。
背景技术
在计算机数据处理过程中,经常需要对数据进行查询和更新,尤其是在大数据量、大业务量的业务数据处理系统中,如银行计算机系统,当大量联机交易并发时,由于数据库储存的信息极其巨大,要求对数据库访问处理效率非常高。
目前银行等金融机构的核心业务系统大都采用了专门的数据库软件系统,在联机事务访问数据库时,采用的一般方法是:当联机需要数据更新时,先使用排他锁锁住该数据资源(如表锁或行锁),在整个交易处理结束前,向数据库提交COMMIT动作来完成表数据的变更和锁释放,或者通过ROLLBACK动作来回滚表更新事务和锁释放。目前这种方法在联机事务的处理过程中,完全通过数据库提供的系统锁控制处理,非常简单方便,但由于数据库锁的存在,使得数据资源的使用具有独占性和排他性,从而影响到其他并发联机交易的实时性。对于一些较为复杂、需访问较多数据库资源、处理时间相对较长的联机事务而言,这种处理方法使得联机交易占用数据库资源的时间较长,当大量类似复杂的交易并发时,将导致大量交易的等待,占用大量的系统资源,严重的将导致数据库死锁,产生数据安全隐患。同时,由于系统一直未能即时反馈响应,导致用户一直处理等待状态,不知系统发生了什么异常情形。因此,无论从系统的稳定运行,还是从客户的友好操作来说,都迫切需要一种技术方法来避免上述问题。
中国专利(CN1110764C)公开了一种关于数据库的方法,使数据库中的多个对象被一致读取,包括通过在两个阶段上锁定来管理交易,第一阶段包括访问受交易对象影响的请求和锁定该对象,第二阶段包括提交该交易并解除第一阶段中设置的所有锁定,交易在第一阶段中执行所有的数据改变操作,在第二阶段之后尽可能执行最大量的未变操作,一个对象的每个版本分配一个计数器,所述计数器在设置一个锁定是逐一增加,在解除一个锁定是逐一减少。其中,两阶段锁定通常包括两种不同的锁定,第一锁定是共享锁定,由与一个数据对象相关的只读交易设置,并语序其他读交易访问所述对象,但锁定该对象不能改变交易。第二锁定是排他锁定,由改变数据对象的交易设置并锁定与所有其他交易相关的对象。虽然上述方法适当减少了排他锁定的处理时间,但是数据库访问效率和计算机实时处理速度方面仍有待改进。
发明内容
本发明的目的是提供一种基于数据库逻辑锁的联机事物处理的数据处理方法,能够提高数据库访问效率和计算机实时处理速度。
为了实现上述目的,本发明提供一种基于数据库逻辑锁的变更处理方法,包括:
交易终端发出交易请求;
交易处理装置接收到所述交易请求,根据所述交易请求类型判断是否需要数据更新;
当所述交易请求需要更新数据时,所述交易处理装置启动数据查询控制单元查询数据库,得到对应的记录数据和逻辑锁序号,并将交易请求数据、查询数据库得到的记录数据和逻辑锁序号传给交易逻辑处理单元处理;
所述交易逻辑处理单元对接收到的数据进行检查、判断和运算处理,当满足交易条件时,所述交易逻辑处理单元启动数据更新单元进行处理,并将处理结果和所述查询数据库得到的逻辑锁序号传送给所述数据更新单元;
所述数据更新单元使用排他锁锁定对应数据库资源,并获取逻辑锁序号和记录数据,比较所述数据更新单元使用排他锁锁定对应数据库资源获取的逻辑锁序号与所述查询数据库得到的逻辑锁序号是否一致,如果一致则根据所述交易逻辑处理单元的处理结果更新记录数据并将所述数据更新单元使用排他锁锁定对应数据库资源获取的逻辑锁序号加一,数据变更处理成功,否则数据变更处理失败,然后所述数据更新单元将处理结果返回给所述交易处理装置;
所述交易处理装置将所述数据更新单元的处理结果返回给所述交易终端。
从上述技术方案可以看出,本发明通过修改应用流程,将带锁更新的处理集中在最后进行的方法,有效的解决了大量交易并发时系统资源占用过多,效率较低的问题。同时,由于增加了逻辑序号字段,通过逻辑锁的判断很容易的检查出表数据发生变更,简化了数据发生变化的判断。主要优点如下:
1、提高了数据库访问效率和计算机实时处理速度
传统的表更新方法,在交易的第一张表已经开始带锁访问,因此当交易流程访问表较多,交易并发量大时,造成交易所需时间逐渐变长。而通过修改应用流程,将带锁访问表数据和COMMIT/ROLLBACK处理集中放在流程最后,极大的缩短了这种情况下的应用锁表时间,把时间控制在以单个交易本身所需时间以内,减少因等待而占用的系统资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810118896.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:薄膜压电超声换能器
- 下一篇:多层组合式直线磁阻发电机及波浪发电装置