(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210814636.4
(22)申请日 2022.07.11
(71)申请人 湖南亚信安慧科技有限公司
地址 410205 湖南省长 沙市高新 开发区尖
山路39号中电软件园一期7栋102
(72)发明人 蔡哲军 曹升东 张智佳 廖鸿伟
龚岩 宋凯
(74)专利代理 机构 北京市立方律师事务所
11330
专利代理师 张筱宁
(51)Int.Cl.
G06F 16/27(2019.01)
G06F 16/23(2019.01)
(54)发明名称
基于分布式数据库的数据处理方法、 装置和
电子设备
(57)摘要
本申请实施例提供了一种基于分布式数据
库的数据处理方法、 装置、 电子设备以及相关产
品, 涉及分布式数据库领域。 该方法应用于分布
式集群中任一节点, 以当前节点为例: 在接收到
携带第一操作的请求之后, 确定第一操作的当前
状态, 以及进入第一操作的当前状态的混合时间
戳; 根据第一操作确定待处理的目标数据行; 根
据进入当前状态的混合时间戳和/或目标数据行
的提交混合时间戳确定对目标数据行的处理方
式。 由于每个 混合时间戳由包括物理时钟和逻辑
时钟的混合时钟确定, 混合时钟或混合时间戳可
以在并发多事务场景中有效区分每个事务和每
个状态。 因此, 基于具有明确的区分作用的混合
时间戳, 可以在事务处理过程中保证事务一致性
和事务隔离性。
权利要求书3页 说明书16页 附图3页
CN 114942966 A
2022.08.26
CN 114942966 A
1.一种基于分布式数据库的数据处理方法, 其特征在于, 应用于当前节点, 所述当前节
点为分布式集群中任一节点; 所述方法包括:
确定第一操作的当前状态, 以及进入所述当前状态的混合时间戳; 其中, 所述混合时间
戳由包括物理时钟 和逻辑时钟的混合时钟 确定;
根据所述第一操作确定待处理的目标数据行; 其中, 每个数据行包括记录提交时间的
提交混合时间戳和记录的数据, 所述目标 数据行隶属于至少一个节点;
根据进入所述当前状态的混合 时间戳和/或所述目标数据 行的提交混合 时间戳确定对
所述目标 数据行的处 理方式。
2.根据权利要求1所述的方法, 其特征在于, 所述当前节点配置有生成物理时间戳的本
机物理时钟, 以及生成第一混合时间戳的混合时钟; 所述确定进入所述当前状态的混合时
间戳, 包括:
获取当前的第 一混合时间戳和物理时间戳, 并比对所述物理时间戳与 所述第一混合时
间戳的物理时钟部分的数值的大小;
若比对结果 为相等, 以自增方式更新所述第一混合时间戳的逻辑时钟部分的数值;
若比对结果为大于, 更新所述第 一混合时间戳的物理时钟部分的数值为所述物理时间
戳, 以及以赋零 值的方式更新所述第一混合时间戳的逻辑时钟部分的数值;
确定进入所述当前状态的混合时间戳 为更新的第一混合时间戳。
3.根据权利要求1所述的方法, 其特征在于, 所述第一操作为目标提交操作; 所述根据
进入所述当前状态的混合时间戳和/或所述目标数据行的提交混合时间戳确定对所述目标
数据行的处 理方式, 包括:
若所述目标数据 行隶属于一个节点, 且所述当前状态为提交状态, 所述处理方式包括:
针对所述目标数据行进行更新操作, 并将进入 所述目标提交操作的提交状态的第二混合时
间戳确定为与所述更新操作相应的数据行的提交混合时间戳;
若所述目标数据行隶属于至少两个节点, 且所述当前状态为预提交状态, 所述处理方
式包括: 根据进入所述目标提交操作的预提交状态的第三混合时间戳确定对所述目标数据
行的处理方式。
4.根据权利要求3所述的方法, 其特征在于, 所述根据进入所述目标提交操作的预提交
状态的第三混合时间戳确定对所述目标 数据行的处 理方式, 包括:
获取在所述至少两个节点上进入目标提交操作的预提交状态的第 三混合时间戳, 并从
中筛选出最大的提交时间戳;
将所述最大的提交时间戳作为进入所述目标提交操作的提交状态的第四混合 时间戳,
确定所述处理方式包括: 针对所述 目标数据行进行更新操作, 并将所述第四混合时间戳确
定为与所述更新操作相应的数据行的提交混合时间戳。
5.根据权利要求1所述的方法, 其特征在于, 若接收到与 所述用户终端相连接的节点发
送的携带第五混合时间戳的任一请求, 所述方法还 包括:
若所述第五混合 时间戳大于当前的第 一混合时间戳, 更新所述当前的第 一混合时间戳
为所述第五混合时间戳。
6.根据权利要求1所述的方法, 其特征在于, 所述混合时间戳还包括对应的状态标志;
所述第一操作为目标读操作, 以及所述当前状态为开始状态; 所述根据进入所述当前状态权 利 要 求 书 1/3 页
2
CN 114942966 A
2的混合时间戳和/或所述目标数据行的提交混合时间戳确定对所述目标数据行的处理方
式, 包括:
若目标数据行的提交混合 时间戳对应的状态标志为地址标志, 获取操作所述目标数据
行的第二操作, 并根据所述第二操作和/或所述进入目标读操作的开始状态的第六混合时
间戳确定对所述目标 数据行的处 理方式;
若目标数据行的提交混合 时间戳对应的状态标志为 时间标志, 根据所述第六混合 时间
戳确定对所述目标 数据行的处 理方式。
7.根据权利要求6所述的方法, 其特征在于, 所述根据所述第二操作和/或所述进入目
标读操作的开始状态的第六混合时间戳确定对所述目标 数据行的处 理方式, 包括:
当目标读操作与第二操是同一事务中的操作时, 所述处理方式包括: 设置所述目标数
据行所记录的数据对所述目标读 操作可见;
当目标读 操作与第二操不是同一事务中的操作时:
若第二操作为写操作或者若第二操作为处于开始状态的提交操作, 所述处理方式包
括: 设置所述 目标数据行所记录的数据对所述 目标读操作不可见; 以及若第二操作为处于
预提交状态的提交操作, 处理方式包括: 响应于读信号, 根据所述第六混合时间戳确定对所
述目标数据行 的处理方式; 以及若所述第二操作为处于提交状态的提交操作, 所述处理方
式包括: 根据所述第六混合时间戳确定对所述目标 数据行的处 理方式。
8.根据权利要求6或者7所述的方法, 其特征在于, 所述根据所述第六混合时间戳确定
对所述目标 数据行的处 理方式, 包括:
确定所述第六混合时间戳与所述目标 数据行的提交混合时间戳的差值;
若所述差值的绝对值不大于预设阈值, 所述处理方式包括: 重启所述目标读操作, 以重
新确定对所述目标 数据行的处 理方式;
若所述差值的绝对值大于预设阈值, 且所述差值大于零, 所述处理方式包括: 设置所述
目标数据行所记录的数据对所述目标读 操作可见;
若所述差值的绝对值大于预设阈值, 且所述差值小于零, 所述处理方式包括: 设置所述
目标数据行所记录的数据对所述目标读 操作不可 见。
9.根据权利要求8所述的方法, 其特征在于, 若所述处理方式包括设置所述目标数据 行
所记录的数据对所述目标读 操作不可 见, 所述方法还 包括:
获取所述目标 数据行关联的历史数据行;
根据第六混合时间戳与所述关联的历史数据行的提交混合时间戳设置所述关联的历
史数据行 所记录的数据是否对所述目标读 操作可见。
10.根据权利要求1所述的方法, 其特 征在于, 所述方法还 包括:
统计每个节点上处于活跃状态的操作, 并从处于活跃状态的操作中筛选出进入相应操
作的开始状态的混合时间戳 为最小的第三操作;
确定进入第三操作的开始状态的混合时间戳 为第七混合时间戳;
根据第七混合时间戳删除符合删除条件的历史数据行。
11.一种基于分布式数据库的数据处理装置, 其特征在于, 应用于当前节点, 所述当前
节点为分布式集群中任一节点; 所述装置包括:
第一确定模块, 用于确定第 一操作的当前状态, 以及进入所述当前状态的混合时间戳;权 利 要 求 书 2/3 页
3
CN 114942966 A
3
专利 基于分布式数据库的数据处理方法、装置和电子设备
文档预览
中文文档
23 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共23页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:43:18上传分享