[发明专利]数据库事务拆分执行方法及装置在审
申请号: | 202110347194.2 | 申请日: | 2021-03-31 |
公开(公告)号: | CN112883045A | 公开(公告)日: | 2021-06-01 |
发明(设计)人: | 黄烈;李青;段秋梅;何姗姗 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/16;G06F16/18 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;王涛 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 事务 拆分 执行 方法 装置 | ||
本发明提供一种数据库事务拆分执行方法及装置,属于云计算技术领域,可应用于金融领域和其他领域。该数据库事务拆分执行方法包括:根据数据事务的类型对数据事务进行拆分,得到各子事务;将各子事务的待修改行的基础版本与对应的数据库当前版本进行比较,根据比较结果对待修改行施加排它锁;执行各子事务以修改对应的数据库数据,在各子事务均执行成功后释放排它锁。本发明可以通过拆分的方式对数据库事务进行优化执行,降低数据库的处理压力。
技术领域
本发明涉及云计算技术领域,具体地,涉及一种数据库事务拆分执行方法及装置。
背景技术
目前大型银行的业务量随着去IOE、数据库国产化、主机业务下平台的战略布局而逐级增多。虽然能通过分库分表减少压力,但数据库仍然对单个大事务的处理压力非常高。大事务会导致锁定数据太多,产生大量阻塞和锁超时,回滚时间长,主备同步慢,对数据库服务器的IO、CPU、内存缓存和主备同步性能造成大压力,甚至会因主库和备库的同步不及时、重新选举主库导致数据库短时间内不可用。
发明内容
本发明实施例的主要目的在于提供一种数据库事务拆分执行方法及装置,以通过拆分的方式对数据库事务进行优化执行,降低数据库的处理压力。
为了实现上述目的,本发明实施例提供一种数据库事务拆分执行方法,包括:
根据数据事务的类型对数据事务进行拆分,得到各子事务;
将各子事务的待修改行的基础版本与对应的数据库当前版本进行比较,根据比较结果对待修改行施加排它锁;
执行各子事务以修改对应的数据库数据,在各子事务均执行成功后释放排它锁。
本发明实施例还提供一种数据库事务拆分执行装置,包括:
拆分模块,用于根据数据事务的类型对数据事务进行拆分,得到各子事务;
排它锁模块,用于将各子事务的待修改行的基础版本与对应的数据库当前版本进行比较,根据比较结果对待修改行施加排它锁;
子事务执行模块,用于执行各子事务以修改对应的数据库数据,在各子事务均执行成功后释放排它锁。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,处理器执行计算机程序时实现所述的数据库事务拆分执行方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现所述的数据库事务拆分执行方法的步骤。
本发明实施例的数据库事务拆分执行方法及装置先根据数据事务的类型将数据事务拆分为各子事务,再将各子事务的待修改行的基础版本与对应的数据库当前版本进行比较,根据比较结果对待修改行施加排它锁,最后执行各子事务并在各子事务均执行成功后释放排它锁,可以通过拆分的方式对数据库事务进行优化执行,降低数据库的处理压力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中数据库事务拆分执行方法的流程图;
图2是本发明另一实施例中数据库事务拆分执行方法的流程图;
图3是本发明实施例中表的拆分决策示意图;
图4是本发明实施例中的限流流程图;
图5是数据版本可见性原则示意图;
图6是本发明实施例中执行子事务之前的准备阶段示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110347194.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多功能折叠跑步机
- 下一篇:一种食品包装材料表面等离子体快速消毒装置