全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211119836.4 (22)申请日 2022.09.15 (71)申请人 度小满科技(北京)有限公司 地址 100085 北京市海淀区西北旺东路10 号院西区4 号楼度小 满金融总部 (72)发明人 杨爽 赵鹏 胡东旭 骆维  陈存利  (74)专利代理 机构 北京国贝知识产权代理有限 公司 11698 专利代理师 于倩 (51)Int.Cl. G06F 16/27(2019.01) G06F 16/242(2019.01) G06F 16/23(2019.01) G06F 16/215(2019.01)G06F 16/21(2019.01) (54)发明名称 一种保持分布式数据一 致性的方法 (57)摘要 本发明公开了一种保持数据一致性的方法, 包括以下步骤: 步骤1、 初始化数据分片版本; 步 骤2、 数据分片更新; 步骤3、 生成基线; 步骤4、 读 取数据; 其中, 步骤1包括: (1)当数据分片组的所 有数据分片第一次进行处理时, 先对每一个数据 分片赋予一个版本标识; (2)除上述情况(1)之 外, 当对数据分片组进行处理时, 获得所有分片 的版本标识。 权利要求书1页 说明书5页 附图1页 CN 115470296 A 2022.12.13 CN 115470296 A 1.一种保持数据一 致性的方法, 其特 征在于包括以下步骤: 步骤1、 初始化数据分片版本; 步骤2、 数据分片更新; 步骤3、 生成基线; 步骤4、 读取 数据; 其中, 步骤1包括: (1)当数据分片组的所有数据分片第一次进行处理时, 先对每一个数据分片赋予一个 版本标识; (2)除上述情况(1)之外, 当对数据分片组进行处 理时, 获得 所有分片的版本标识。 2.根据权利要求1所述的保持数据一致性的方法, 其特征在于步骤2包括: (1)数据处理 提交; (2)事务处 理确认。 3.根据权利要求2所述的保持数据一致性的方法, 其特征在于: 所述数据处理包括对数 据分片中记录的增 加、 删除和修改, 不包括读 操作。 4.根据权利要求1所述的保持数据一致性的方法, 其特征在于步骤2的数据分片更新按 以下方式进行处 理: 假设当同一 时刻或某一 时间段内, 有2个事务同时访问数据分片组, 并对该数据分片组 进行数据处理, 判断该2个事务要进行数据处理的目标数据分片是否有重复分片, 当2个事务要进行数 据处理的目标数据分片之 间没有重复分片, 则判断某个事务的至少一个子事务是否执行完 数据处理提交操作, 该数据处理提交操作用于更新目标数据分片的记录和更新目标数据分 片的版本标识。 5.根据权利要求 4所述的保持数据一 致性的方法, 其特 征在于: 当2个事务的目标数据分片之间有重复分片, 则判断某个事务对其全部目标数据分片 的处理是否都执 行了数据处 理提交操作。 6.根据权利要求1所述的保持数据一致性的方法, 其特征在于: 步骤3在步骤2的数据分 片更新后才开始执 行, 以生成基线, 所述基线是包括数据分片组的版本标识的一组数。 7.根据权利要求1所述的保持数据一致性的方法, 其特征在于步骤3包括: 判断数据分 片组中的分片是否发生了版本标识更新, 如果是, 则用发生版本更新的分片的版本标识替 换当前基线中对应分片的版本标识, 生成新的基线并进行记录 。 8.根据权利要求1所述的保持数据一致性的方法, 其特征在于还包括步骤4、 读取数据: 读取数据时首先确定所针对的目标数据分片, 然后在当前基线中查找目标数据分片的版本 标识号, 通过该版本标识号读取该目标数据分片的分片记录, 以获得目标数据分片的当前 数据。 9.根据权利要求1所述的保持数据一 致性的方法, 其特 征在于还 包括: 清理操作。 10.一种计算机可读存储器, 其特征在于, 存储有处理器可执行指令, 当所述指令被处 理器执行时, 使处 理器执行根据权利要求1至9中任一项所述的方法。权 利 要 求 书 1/1 页 2 CN 115470296 A 2一种保持分布式数据一致性的方 法 技术领域 [0001]本发明涉及数据库和数据处理技术领域, 尤其涉及一种保持分布式数据一致性的 方法。 背景技术 [0002]数据库作为企业数据的存储平台, 在企业IT系统中的重要性越来越突出, 随着业 务量的不断增大, 数据量也必然随之增加, 单机mysql已无法满足业务的存储需求, 基于XA 协议的分布式架构mys ql数据库解决了单机存储 大小不足以满足业务需求的问题。 但是, 目 前市面上 的分布式数据库大多不支持分布式一致性读, 所谓分布式一致性读, 是指一个事 务需要在不同分片读取数据时, 读取返回后汇总的数据需要一致。 为此, XA协 议要求分布式 事务在每个对 象上都必须以串行化隔离级别执行, 目的是为了保证分布式读的一致性。 但 是串行化隔离级别会导致性能的退化, 原因是此时普通的S ELECT操作也需要加S锁, 如果其 它事务已经先对数据加了X锁(排它锁, 写锁), SELECT操作将会被阻塞, 不能再通过MVCC非 阻塞的回溯读取老的版本。 串行化隔离级别导致的性能退化是生产环境中无法接受的, 实 际上原生的mysql无法实现高效的分布式一 致性读。 发明内容 [0003]为此本发明提供了一种保持分布式数据一致性的方法, 能够很好的解决上述问 题, 通过本发明的技术方案, 在可重复读隔离级别下, 能够实现多分片数据的分布式一致性 读。 [0004]为实现本发明之目的, 采用以下技 术方案予以实现: [0005]一种保持数据一 致性的方法, 包括以下步骤: [0006]步骤1、 初始化数据分片版本; [0007]步骤2、 数据分片更新; [0008]步骤3、 生成基线; [0009]步骤4、 读取 数据; [0010]其中, 步骤1包括: [0011](1)当数据分片组的所有数据分片第一次进行处理时, 先对每一个数据分片赋予 一个版本标识; [0012](2)除上述情况(1)之外, 当对数据分片组进行处 理时, 获得 所有分片的版本标识。 [0013]所述的保持数据一致性 的方法, 其中步骤2包括: (1)数据处理提交; (2)事务处理 确认。 [0014]所述的保持数据一致性的方法, 其中: 所述数据处理包括对数据分片中记录 的增 加、 删除和修改, 不包括读 操作。 [0015]所述的保持数据一 致性的方法, 其中步骤2的数据分片更新按以下 方式进行处 理: [0016]假设当同一时刻或某一时间段内, 有2个事务同时访问数据分片组, 并对该数据分说 明 书 1/5 页 3 CN 115470296 A 3

PDF文档 专利 一种保持分布式数据一致性的方法

文档预览
中文文档 8 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种保持分布式数据一致性的方法 第 1 页 专利 一种保持分布式数据一致性的方法 第 2 页 专利 一种保持分布式数据一致性的方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-07 12:39:55上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。