全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210612487.3 (22)申请日 2022.05.31 (71)申请人 苏州浪潮智能科技有限公司 地址 215100 江苏省苏州市吴中经济开发 区郭巷街道官浦路1号9幢 (72)发明人 任启立 魏本帅  (74)专利代理 机构 济南舜源专利事务所有限公 司 37205 专利代理师 徐胭脂 (51)Int.Cl. G06F 16/21(2019.01) G06F 16/23(2019.01) G06F 16/242(2019.01) G06F 16/27(2019.01) G06F 16/28(2019.01) (54)发明名称 一种数据库 的行迁移预处理方法、 系统、 装 置及存储介质 (57)摘要 本发明提出的一种数据库的行迁移预处理 方法、 系统、 装置及存储介质, 所述方法包括: 监 控业务sql, 发现update语句后标记该sql; 解析 标记的sql, 通过解析结果判断是否会出现行迁 移; 若不会出现行迁移, 则正 常执行update语句, 在原数据块中更新数据, 并结束预处理; 若会出 现行迁移, 将待更新数据直接插入到标记为可用 的新数据块中, 并在索引中同步更新rowid信息, 更新完成后进行数据提交。 本发 明能够在更新数 据的时候将整行数据迁移到预先安排好的数据 块中并同时将索引中的原rowid更新为新rowid, 避免产生行迁移问题, 从而降低I/0消耗, 提高性 能。 权利要求书2页 说明书7页 附图2页 CN 114840497 A 2022.08.02 CN 114840497 A 1.一种数据库的行迁移预处 理方法, 其特 征在于, 包括: 监控业务sql, 发现update语句后标记该sql; 解析标记的sql, 通过解析 结果判断是否会出现行迁移; 若不会出现行迁移, 则正常执 行update语句, 在原数据块中更新数据, 并结束预处 理; 若会出现行迁移, 将待更新数据直接插入到标记为可用的新数据块中, 并在索引中同 步更新ro wid信息, 更新完成后进行 数据提交。 2.根据权利要求1所述的数据库的行迁移预处理方法, 其特征在于, 所述解析标记的 sql, 包括: 搜索sql库, 发现待标记的sql, 启动解析进程处 理sql语句, 提取 更新信息; 所述更新信息包括待更新数据所在的表、 待更新数据的大小; 根据更新信息找到原数据所在表的pctfree值、 各数据 块使用率信息和原数据rowid信 息, 作为解析结果。 3.根据权利要求2所述的数据库的行迁移预处理方法, 其特征在于, 所述通过解析结果 判断是否会出现行迁移, 包括: 根据解析结果判断待更新数据大小是否大于原数据块剩余空间, 若是, 则会出现行迁 移; 若否, 则不会出现行迁移。 4.根据权利要求3所述的数据库的行迁移预处理方法, 其特征在于, 所述将待更新数据 直接插入到标记为可用的新数据块中, 包括: 利用undo日志 记录原数据进行记录, 用于进行 数据回滚; 将待更新数据直接插入到标记为可用的新数据块中, 同时生成新的rowid, 将原数据删 除。 5.根据权利要求4所述的数据库的行迁移预处理方法, 其特征在于, 所述索引中同步更 新rowid信息, 包括: 在待更新数据插入到标记为可用的新数据块后检索索引中的相关信 息, 将索引中的数 据原rowid更新为新rowid, 同时检索内存中是否存在原r owid相关信息, 如果存在则一并修 改为新rowid。 6.一种数据库的行迁移预处理系统, 其特征在于, 包括: 监控模块、 接收模块、 解析模 块、 更新模块和同步模块; 所述监控模块 内设有多个监控进程, 用于监控业务sql, 监控进程发现update语句后标 记该sql, 然后向接收模块发出信号, 告知接收模块可进行接收; 所述接收模块内设有用于接收业务sql的接收器和用于存放待解析sql的sql库, 接收 模块用于通过内置的接收进程得到监控模块发出的信号后, 找到被标记的sql, 将其传入 sql库, 同时向解析模块和监控模块发出信号, 告知监控模块sql已被接收, 告知解析模块 sql库中语句等待被解析; 所述解析模块内设有多个解析进程, 用于解析sql,根据解析结果判断是否会出现迁 移, 并整合结果信息, 根据判断结果对该sql进行标记, 同时将剩余空间大于待更新数据的 其他数据块标记为可用, 将数据块信息以可用列表形式整合到解析结果中, 发送给更新模 块; 所述更新模块, 用于根据解析结果来进行数据 更新操作, 操作完成后, 发送信号给同步权 利 要 求 书 1/2 页 2 CN 114840497 A 2模块, 进行ro wid信息同步; 所述同步模块, 用于同步更新索引中的ro wid信息, 并进行 数据提交。 7.根据权利要求6所述的数据库的行迁移预处理系统, 其特征在于, 所述更新模块具体 用于: 如果解析结果表明该sql更新不会出现行迁移, 则正常在原数据块中更新数据, 如果解 析结果表明会出现行迁移, 首先利用undo日志将原数据进行记录, 以便出现问题 时进行数 据回滚; 然后将待更新数据直接插入到标记为可用的新数据块中, 同时生成新的rowid, 将 原数据删除; 操作完成后, 发送信号给同步模块, 进行ro wid信息同步。 8.根据权利要求7所述的数据库的行迁移预处理系统, 其特征在于, 所述同步模块具体 用于: 收到更新完成的信号后检索索引中的相关信息, 将索引中的数据原rowid更新为新 rowid, 同时检索内存中是否存在原rowi d相关信息, 如果存在则 一并修改为新rowid; 最后 进行数据提交, 将更新数据写入磁 盘。 9.一种数据库的行迁移预处 理装置, 其特 征在于, 包括: 存储器, 用于存 储数据库的行迁移预处 理程序; 处理器, 用于执行所述数据库的行迁移预处理程序时实现如权利要求1至5任一项权利 要求所述的数据库的行迁移预处 理方法的步骤。 10.一种可读存储介质, 其特征在于: 所述可读存储介质上存储有数据库的行迁移预处 理程序, 所述数据库的行迁移预 处理程序被处理器执行时实现如权利要求 1至5任一项权利 要求所述的数据库的行迁移预处 理方法的步骤。权 利 要 求 书 2/2 页 3 CN 114840497 A 3

PDF文档 专利 一种数据库的行迁移预处理方法、系统、装置及存储介质

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