[发明专利]数据库死锁处理方法及装置有效

专利信息
申请号: 201710140957.X 申请日: 2017-03-10
公开(公告)号: CN106933657B 公开(公告)日: 2020-12-04
发明(设计)人: 陈亚坤 申请(专利权)人: 中国银行股份有限公司
主分类号: G06F9/46 分类号: G06F9/46;G06F9/52;G06F16/23
代理公司: 北京三友知识产权代理有限公司 11127 代理人: 王天尧
地址: 100818 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 数据库 死锁 处理 方法 装置
【说明书】:

发明提供一种数据库死锁处理方法及装置,包括:获取待处理文件,并确定待处理文件的分区规则;从数据库中查找与所述待处理文件有关联的主记录文件,并确定所述主记录文件的分区规则;将待处理文件的分区规则和主记录文件的分区规则进行比较,当待处理文件的分区规则和主记录文件的分区规则不同时,根据主记录文件的分区规则,对待处理文件进行重新分区,根据重新分区的待处理文件更新主记录文件。在数据库死锁发生前对待处理数据进行相应的处理,从而预防数据库死锁发生,这样无需舍弃其中一方或几方事务,不影响并发事务处理的时长,使得时效性强,不影响主机系统运行的稳定性,减少了主机系统的维护工作量。

技术领域

本发明涉及数据库技术领域,特别涉及一种数据库死锁处理方法及装置。

背景技术

现有的主机系统有强大的并发事务处理能力,所说的事务是指主机系统中的数据库系统访问并可能更新数据库中各种数据的一个程序执行单元。在使用数据库表的系统中,只要存在对集中资源(数据)的大量并发更新,就不可避免出现数据库死锁(Deadlock,是指在数据库系统中,假设有事务T1封锁数据A,事务T2封锁数据B。之后,事务T1申请封锁数据B,事务T2也申请封锁数据A,由于事务T1已封锁数据A,事务T2已经封锁数据B,这样就出现了事务T1等事务T2,而事务T2又在等待事务T1的局面,两个事务都不能结束,形成死锁)。比如,数据记录间存在主子从属关系,在处理子记录时还需要更新主记录,如果主子记录不在同一数据库分区,且不在同一作业内被处理,则作业间就有可能会产生死锁。再比如,对于需要连续更新两个实体(数据)表A和B(可以是多个),如果实体(数据)表A和B的分区规则不一致,则作业间就有可能会产生死锁。其中,数据库分区是指根据预设的条件将数据表进一步细分为段,这些数据库对象的段叫做分区。数据表的分区是通过“分区键”来实现的,分区键指的是一些列,这些列决定了某一行所在的分区。预设条件可以包括以下几种:(1)范围分区:每个分区都由一个分区键值范围指定(对于一个以日期列作为分区键的表,“2005年1月”分区包含分区键值为从“2005年1月1日”到“2005年1月31日”的行)。(2)列表分区:每个分区都由一个分区键值列表指定(对于一个地区列作为分区键的表,“北美”分区可能包含值“加拿大”“美国”和“墨西哥”)。(3)散列分区:将散列算法用于分区键来确定指定行所在的分区。(4)组合范围散列分区:范围和散列分区技术的组合,通过该组合,首先对表进行范围分区,然后针对每个单独的范围分区再使用散列分区技术进一步细分。(5)组合范围列表分区:范围和列表分区技术的组合,通过该组合,首先对表进行范围分区,然后针对每个单独的范围分区再使用列表分区技术进一步细分。

对于数据库死锁的一般处理流程是:在发现数据库死锁后,将其中一方或几方事务进行舍弃回滚释放资源,即自动中断作业或交易,保证剩余一方事务正常完成;由维护人员去调取作业报错信息来发现异常,然后按照给定的应急方法进行处理。上述方案存在以下问题:在数据库死锁发生后进行处理,影响主机系统运行的稳定性,增加主机系统的维护工作量;舍弃其中一方或几方事务,只处理一方事务,影响并发事务处理的时长,使得时效性差;维护人员不能及时发现数据库死锁发生,影响并发事务处理的时效性。

发明内容

本发明实施例提供了一种数据库死锁处理方法,在数据库死锁发生前对待处理数据进行相应的处理,从而预防数据库死锁发生,这样无需舍弃其中一方或几方事务,不影响并发事务处理的时长,使得时效性强,不影响主机系统运行的稳定性,减少了主机系统的维护工作量。该方法包括:

获取待处理文件,并确定待处理文件的分区规则;

从数据库中查找与所述待处理文件有关联的主记录文件,并确定所述主记录文件的分区规则;

将待处理文件的分区规则和主记录文件的分区规则进行比较,当待处理文件的分区规则和主记录文件的分区规则不同时,根据主记录文件的分区规则,对待处理文件进行重新分区,根据重新分区的待处理文件更新主记录文件。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710140957.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top