全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210736747.8 (22)申请日 2022.06.27 (71)申请人 上海焜耀网络科技有限公司 地址 200233 上海市徐汇区桂平路418号19 层1908室 (72)发明人 裘春荣 李昕 曾亮  (74)专利代理 机构 上海百一领御专利代理事务 所(普通合伙) 31243 专利代理师 邵栋 (51)Int.Cl. G06F 16/22(2019.01) G06F 16/2455(2019.01) G06F 16/25(2019.01) (54)发明名称 实现自动分区的数据写入 方法、 设备以及计 算机可读介质 (57)摘要 本申请提供了一种实现自动分区的数据写 入方法、 设备 以及计算机可读介质, 该方案可 以 预先创建声明式分区主表、 数据插入规则、 数据 更新规则以及插入函数和更新函数, 并将插入函 数与数据插入规则绑定, 将更新函数与数据更新 规则绑定, 在检测到数据插入语句时, 基于数据 插入规则调用插入函数, 通过执行插入函数替代 数据插入语句完成目标数据的插入, 而在检测到 数据更新语句时, 基于数据更新规则调用更新函 数, 通过执行更新函数替代数据更新语句完成目 标数据的更新。 由此, 在保留了数据库声明式分 区表特性的同时, 可以使用规则来改变数据写入 的流程, 绕开分区表触发器的执行顺序限制, 即 使在未预先创建分区子表的情况下也可以顺利 完成数据的写 入。 权利要求书2页 说明书10页 附图1页 CN 115129717 A 2022.09.30 CN 115129717 A 1.一种实现自动分区的数据写入方法, 其特 征在于, 所述方法包括: 预先创建声明式分区主表、 数据插入规则、 数据 更新规则以及插入函数和更新函数, 并 将插入函数与所述数据插 入规则绑定, 将所述更新 函数与所述数据更新 规则绑定; 在检测到数据插入语句时, 基于所述数据插入规则调用插入函数, 通过执行所述插入 函数替代所述数据插 入语句完成目标 数据的插 入; 在检测到数据更新语句时, 基于所述数据更新规则调用更新函数, 通过执行所述更新 函数替代所述数据更新语句完成目标 数据的更新。 2.根据权利要求1所述的方法, 其特征在于, 通过执行所述插入函数替代所述数据插入 语句完成目标 数据的插 入, 包括: 判断目标 数据所对应的分区子表是否存在; 若存在, 在查询到的所述分区子表中插 入所述目标 数据; 若不存在, 创建 分区子表, 并在创建的所述分区子表中插 入所述目标 数据。 3.根据权利要求1所述的方法, 其特征在于, 在检测到数据更新语句时, 基于所述数据 更新规则调用更新函数, 通过执行所述更新函数替代所述数据更新语句完成目标数据的更 新, 包括: 判断目标 数据中更新的字段 是否为分区键; 若更新的字段不 为分区键, 在对应的分区子表中更新所述目标 数据; 若更新的字段为分区键, 判断目标 数据所对应的分区子表是否存在; 若存在, 在原分区子表中删除所述目标数据, 并在查询到的所述分区子表中插入所述 目标数据; 若不存在, 在原分区子表中删除所述目标数据, 创建分区子表, 并在创建的所述分区子 表中插入所述目标 数据。 4.根据权利要求2或3所述的方法, 其特征在于, 判断目标数据所对应的分区子表是否 存在, 包括: 根据目标 数据的内容, 以预设规则确定其对应的分区子表的名称; 通过所述分区子表的名称在数据库中查询是否存在所述分区子表。 5.根据权利要求4所述的方法, 其特征在于, 根据目标数据的内容, 以预设规则确定其 对应的分区子表的名称, 包括: 根据目标 数据的时间戳, 按照预设的时间 间隔确定所述目标 数据的时间范围区间; 根据时间范围区间确定分区子表的后缀名以及分区范围的开始时间和终止时间; 根据分区主表名称、 分区子表的后缀名以及分区范围的开始时间和终止时间, 生成所 述目标数据对应的分区子表的名称。 6.根据权利要求4所述的方法, 其特征在于, 通过所述分区子表的名称在数据库中查询 是否存在所述分区子表, 包括: 根据所述分区子表的名称在数据库的pg_inherits表和pg_class表中进行关联查询, 并根据查询结果判断是否存在所述分区子表。 7.根据权利要求2或3所述的方法, 其特征在于, 在创建或查询到的所述分区子表中插 入所述目标 数据, 包括: 根据分区主表查询数据表字段, 并过 滤所述数据表字段中的分区键, 生成字段模版;权 利 要 求 书 1/2 页 2 CN 115129717 A 2基于字段模版, 将所述目标 数据插入至所述分区子表的对应字段中; 在对应的分区子表中更新所述目标 数据, 包括: 根据分区主表查询数据表字段, 并过 滤所述数据表字段中的分区键, 生成字段模版; 基于字段模版, 在所述分区子表的对应字段中更新所述目标 数据。 8.根据权利要求6所述的方法, 其特 征在于, 所述方法还 包括: 通过pg_get_partkeydef内置函数提取分区主表的分区键定义, 通过strpos和sub str 函数过滤并保留分区键 定义中的分区键 。 9.一种实现自动分区的数据写入设备, 其中, 该设备包括用于存储计算机程序指令的 存储器和用于执行计算机程序指令的处理器, 其中, 当该计算机程序指令被该处理器执行 时, 触发所述设备 执行权利要求1至8中任一项所述的方法。 10.一种计算机可读介质, 其上存储有计算机程序指令, 所述计算机程序指令可被处理 器执行以实现如权利要求1至8中任一项所述的方法。权 利 要 求 书 2/2 页 3 CN 115129717 A 3

PDF文档 专利 实现自动分区的数据写入方法、设备以及计算机可读介质

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