[发明专利]多主共享存储数据库的写-写冲突检测在审
申请号: | 201980078344.5 | 申请日: | 2019-06-14 |
公开(公告)号: | CN113168371A | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 陈军;蔡乐;裴春峰;马科·季米特里耶维奇;陈建军;陈宇;孙扬;杜小林 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/00 | 分类号: | G06F12/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 共享 存储 数据库 冲突 检测 | ||
1.一种写入多个数据库引擎之间共享的数据存储的计算机实现方法,其特征在于,所述计算机实现方法包括:
使用一个或多个处理器,在公共日志中对从所述多个数据库引擎的数据库引擎接收的预写日志记录进行写-写冲突检查,其中,所述写-写冲突检查包括:将与所述预写日志记录一起从所述数据库引擎接收的日志序列号与在所述公共日志中的哈希表中的全局日志序列号进行比较;
在所述预写日志记录通过所述写-写冲突检查之后,将所述预写日志记录发送到多个数据库引擎之间共享的所述数据存储。
2.根据权利要求1所述的计算机实现方法,其特征在于,进行所述比较包括使用元组标识或页面标识作为所述哈希表中的键,所述键与以主节点标识和全局日志序列号值形式表示的条目相关联,所述主节点标识是所述多个数据库引擎的数据库引擎的标识。
3.根据权利要求1或权利要求2所述的计算机实现方法,其特征在于,通过所述写-写冲突检查包括所述日志序列号大于所述全局日志序列号。
4.根据权利要求1至3中任一项所述的计算机实现方法,其特征在于,包括:在通过所述写-写冲突检查之后,将所述全局日志序列号更新为等于所述日志序列号。
5.根据权利要求1至4中任一项所述的计算机实现方法,其特征在于,包括:在通过所述写-写冲突检查之后,
将所述预写日志记录插入组刷新预写日志缓冲区中;
将所述组刷新预写日志缓冲区中的所有预写日志记录保存到所述公共日志中的持久化日志中。
6.根据权利要求1至5中任一项所述的计算机实现方法,其特征在于,包括将所述预写日志记录复制到一个或多个跟随者公共日志,所述一个或多个跟随者公共日志构建为对所述公共日志的备份。
7.根据权利要求1至6中任一项所述的计算机实现方法,其特征在于,从数据库引擎接收的所述预写日志记录是从一批预写日志记录中提取的,所述一批预写日志记录从所述数据库引擎接收,并具有所述数据库引擎与所述数据存储之间的一个或多个事务的所述日志序列号。
8.根据权利要求1至7中任一项所述的计算机实现方法,其特征在于,包括从另一批预写日志记录中提取另一个预写日志记录,所述另一批预写日志记录从所述多个数据库引擎的另一个数据库引擎接收,具有所述另一个数据库引擎与所述数据存储之间的一个或多个其它事务的另一个日志序列号。
9.根据权利要求1至8中任一项所述的计算机实现方法,其特征在于,包括在命令日志中维护修改所述公共日志的内部状态的所有操作和命令。
10.一种非瞬时性计算机可读介质,存储有计算机指令的其特征在于,所述计算机指令由一个或多个处理器执行时使所述一个或多个处理器执行根据权利要求1至9中任一项所述的步骤。
11.一种系统,其特征在于,包括:
存储器,包括指令;
与所述存储器通信的一个或多个处理器,其中,所述一个或多个处理器执行所述指令以:
在公共日志中,对从多个数据库引擎的数据库引擎接收的预写日志记录进行写-写冲突检查,其中,所述写-写冲突检查包括:将与所述预写日志记录一起从所述数据库引擎接收的日志序列号与在所述公共日志中的哈希表中的全局日志序列号进行比较;
在所述预写日志记录通过所述写-写冲突检查之后,将所述预写日志记录发送到所述多个数据库引擎之间共享的数据存储。
12.根据权利要求11所述的系统,其特征在于,所述比较包括使用元组标识或页面标识作为所述哈希表中的键,所述键与以主节点标识和全局日志序列号值形式表示的条目相关联,所述主节点标识是所述多个数据库引擎的数据库引擎的标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980078344.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:奥氏体转变温度增加的合金金属及包含其的制品
- 下一篇:具有耗电设备的系统