[发明专利]一种数据库修改方法、装置、设备及介质在审
申请号: | 202210347585.9 | 申请日: | 2022-04-01 |
公开(公告)号: | CN114676115A | 公开(公告)日: | 2022-06-28 |
发明(设计)人: | 韩朱忠;王蒙蒙 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/22;G06F16/23;G06F16/245 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 高艳红 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 修改 方法 装置 设备 介质 | ||
1.一种数据库修改方法,其特征在于,包括:
在释放目标事务的事务锁对象以及唤醒等待事务之时,确定冲突事务登记表内等待事务目标记录的封锁信息的登记情况;
根据所述登记情况确定所述等待事务的执行策略;
按照所述执行策略控制所述等待事务修改数据。
2.根据权利要求1所述的方法,其特征在于,所述确定冲突事务登记表内等待事务目标记录的封锁信息的登记情况,包括:
遍历查找所述冲突事务登记表是否存在等待事务目标记录的封锁信息;
若是,则确定所述登记情况为所述封锁信息被登记过;
若否,则确定所述登记情况为所述封锁信息未被登记过。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述登记情况确定所述等待事务的执行策略,包括:
在所述封锁信息被登记过的情况下,确定所述执行策略为等待策略,其中,所述等待策略包括:设置事务锁对象中的重新封锁事务标识号,所述等待事务根据所述重新封锁事务标识号重新进行封锁;
在所述封锁信息未被登记过的情况下,确定所述执行策略为处理策略,其中,所述处理策略包括:在所述冲突事务登记表中登记所述封锁信息,所述等待事务查询更新后的记录内容,重新执行数据更新操作。
4.根据权利要求3所述的方法,其特征在于,所述等待事务根据所述重新封锁事务标识号重新进行封锁,包括:
获取所述等待事务的重新封锁请求,并按照所述重新封锁请求创建所述等待事务的新事务锁对象;
所述等待事务按照所述新事务锁对象重新执行封锁。
5.根据权利要求3所述的方法,其特征在于,所述在所述冲突事务登记表中登记所述封锁信息,包括:
将所述封锁信息的表标识号添加至所述冲突事务登记表中的修改表标识号数组;
将所述封锁信息的行标识号添加至所述冲突事务登记表中的修改行标识号数组;
将所述封锁信息的封锁事务标识号添加至所述冲突事务登记表中的封锁事务标识号数组;
对所述冲突事务登记表中冲突个数进行加1操作。
6.根据权利要求1所述的方法,其特征在于,所述封锁信息至少包括下述之一:封锁事务标识号、封锁模式、修改表标识号、修改记录行标识号以及重新封锁的事务标识号。
7.根据权利要求1所述的方法,其特征在于,还包括:
初始化冲突事务登记表,其中,所述初始化冲突事务登记表包括:设置所述冲突事务登记表中的冲突个数为0,设置所述冲突事务登记表中修改表标识号数组、修改行标识号数组以及封锁事务标识号数组均为空。
8.一种数据库修改装置,其特征在于,包括:
登记确定模块,用于在释放目标事务的事务锁对象以及唤醒等待事务之时,确定冲突事务登记表内等待事务目标记录的封锁信息的登记情况;
策略确定模块,用于根据所述登记情况确定所述等待事务的执行策略;
数据修改模块,用于按照所述执行策略控制所述等待事务修改数据。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的数据库修改方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的数据库修改方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210347585.9/1.html,转载请声明来源钻瓜专利网。