说明:收录90万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211033983.X (22)申请日 2022.08.26 (71)申请人 中国银联股份有限公司 地址 201203 上海市浦东 新区含笑路36号 (72)发明人 裴晨光 李永峰 赵智慧 董红亮  苗浩  (74)专利代理 机构 北京市中伦律师事务所 11410 专利代理师 操寒 (51)Int.Cl. G06F 16/21(2019.01) G06F 16/23(2019.01) G06F 16/242(2019.01) G06F 16/27(2019.01) (54)发明名称 一种数据库扩缩容方法、 装置及计算机可读 存储介质 (57)摘要 本发明提供了一种数据库扩缩容方法、 装置 及计算机可读存储介质, 该方法包括: 在SQL语句 中设置数据库表的分库字段, 根据分库字段将数 据均匀划分到设定数量的数据槽中, 并计算数据 槽对应的原始分库结果; 在数据库集群发生扩缩 容的情况下, 根据更新后的节 点数目计算数据槽 对应的更新 分库结果; 根据 原始分库结果和更新 分库结果, 确定数据槽的搬迁路由方向; 根据数 据槽的搬迁路由方向, 从原始节 点至更新节点进 行数据搬迁。 利用上述方法, 能够在线实施数据 扩缩容, 无需应用停机, 不影 响应用交易, 并简化 了运维实施步骤。 权利要求书2页 说明书8页 附图2页 CN 115481103 A 2022.12.16 CN 115481103 A 1.一种数据库扩缩容方法, 其特征在于, 所述数据库包括一个或多个代理以及与所述 代理连接的多个数据节点, 所述方法包括: 在SQL语句中设置数据库表 的分库字段, 根据所述分库字段将数据均匀划分到设定数 量的数据槽中, 并计算所述数据槽对应的原 始分库结果; 在数据库集群发生扩缩容的情况下, 根据 更新后的节点数目计算所述数据槽对应的更 新分库结果; 根据所述原 始分库结果和所述更新分库结果, 确定所述数据槽的搬迁路由方向; 根据所述数据槽的所述搬迁路由方向, 从原 始节点至更新节点进行 数据搬迁 。 2.根据权利要求1所述的方法, 其特 征在于, 在所述数据槽进行 数据搬迁之前, 使用原 始分库规则进行节点路由; 在所述数据槽进行数据 搬迁的过程中, 使用原始分库规则和更新分库规则的共存规则 进行节点路由; 在所述数据槽进行 数据搬迁结束后, 采用所述更新分库规则进行节点路由。 3.根据权利要求1所述的方法, 其特 征在于, 在所述数据搬迁的过程中, 还 包括: 针对插入(Insert)语句, 使用所述更新分库规则进行节点路由。 4.根据权利要求1所述的方法, 其特 征在于, 在所述数据搬迁的过程中, 还 包括: 针对更新(Update)语句或者选择(S elect)语句或者删除(D elete)语句, 分别使用所述 原始分库规则和所述更新分库规则算出两种分库结果, 在两种分库结果对应的原始节点和 更新节点都执 行语句, 并由代理合并所述原 始节点和所述更新节点执 行语句的应答结果。 5.根据权利要求1所述的方法, 其特征在于, 所述数据搬迁包括一个或多个搬移任务, 每个搬迁任务用于搬迁一个或者多个数据槽, 所述搬移任务包括: 连接代理并开启会话, 将所述会话的事务隔离级别设置为读提交(read ‑committed), 并将所述会话设置为自动提交; 开启事务, 从所述原始节点读取待搬迁的所述数据槽, 通过代理将所述数据槽按照更 新分库规则插 入所述更新节点; 如插入所述更新节点的新增数据槽存在主键重复的情况, 则删除所述更新节点的所述 数据槽, 并执 行重新插 入; 如插入所述更新节点的新增数据槽正常, 则删除所述原始节点的待搬迁的所述数据 槽: 所述事务成功提交或失败回滚。 6.根据权利要求1所述的方法, 其特 征在于, 所述搬迁任务包括: 从所述原始节点读取待搬迁的所述数据槽时, 使用读写锁语法将所述待搬迁的数据槽 锁住。 7.根据权利要求1所述的方法, 其特 征在于, 包括: 提升所述数据槽的数量。 8.根据权利要求1所述的方法, 其特 征在于, 还 包括: 所述代理计算所述分库字段的哈希值, 根据 所述分库字段的哈希值对所述数据槽的数 量进行取模, 以得到每 个所述数据槽的编号; 以及, 根据所述数据槽的编号对所述数据节点数量进行取模, 得到每个所述数据槽对应的路权 利 要 求 书 1/2 页 2 CN 115481103 A 2由数据节点。 9.一种数据库扩 缩容装置, 其特 征在于, 所述装置包括: 原始分库模块, 在SQL语句中设置数据库表的分库字段, 根据所述分库字段将数据均匀 划分到设定数量的数据槽中, 并计算所述数据槽对应的原 始分库结果; 更新分库模块, 用于在数据库集群发生扩缩容的情况下, 根据更新后的节点数目计算 所述数据槽对应的更新分库结果; 数据搬迁模块, 用于根据所述原始分库结果和所述更新分库结果, 确定所述数据槽的 搬迁路由方向; 根据所述数据槽的所述搬迁路由方向, 从原始节点至更新节点进行数据搬 迁。 10.一种数据库扩 缩容装置, 其特 征在于, 包括: 至少一个处理器; 以及, 与至少一个处理器通信连接的存储器; 其中, 存储器存储有可 被至少一个处理器执行 的指令, 指令被至少一个处理器执行, 以使至少一个处理器能够执 行: 如权利要求1 ‑8中任一项所述的方法。 11.一种计算机可读存储介质, 所述计算机可读存储介质存储有程序, 当所述程序被多 核处理器执行时, 使得 所述多核处理器执行如权利要求1 ‑8中任一项所述的方法。权 利 要 求 书 2/2 页 3 CN 115481103 A 3

PDF文档 专利 一种数据库扩缩容方法、装置及计算机可读存储介质

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