说明:收录全文最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210427642.4 (22)申请日 2022.04.22 (71)申请人 山东浪潮科 学研究院有限公司 地址 250100 山东省济南市高新浪潮路 1036号S02号楼 (72)发明人 李杨  (74)专利代理 机构 济南信达专利事务所有限公 司 37100 专利代理师 姜鹏 (51)Int.Cl. G06F 16/22(2019.01) G06F 16/2455(2019.01) G06F 16/27(2019.01) G06F 16/28(2019.01) (54)发明名称 一种实现Hash分区表主键约束的方法及系 统 (57)摘要 本发明公开了一种实现Hash分区表主键约 束的方法和系统, 属于数据库执行领域; 所述方 法的具体步骤如下: S1将操作区分为insert和 update; S2将Insert操作进行分类操作; S3将 update操作进行分类操作; 本 方法实现了Hash分 区表主键约束条件; 对如何实现Hash分区的主键 约束方案进行了补充, 填补的该方面空缺; 另外, 该方法能够在提前判断数据所在分区, 这样就能 有效避免对整个 分区表进行查找, 只需要从特定 分区进行查找判断是否重复即可, 有助于提高数 据库执行性能, 提高用户体验。 权利要求书2页 说明书5页 附图1页 CN 114896245 A 2022.08.12 CN 114896245 A 1.一种实现Hash分区表主键约束的方法, 其特 征是所述方法的具体步骤如下: S1将操作区分为 insert和update; S2将Insert操作进行分类操作; S3将update操作进行分类操作。 2.根据权利要求1所述的方法, 其特 征是所述的S1具体步骤如下: S101在执 行阶段根据语句类型判断是I nsert还是update; S102如果语句类型 是Insert则进行S2步骤, 如果语句类型 是update则进行S3步骤。 3.根据权利要求2所述的方法, 其特 征是所述的S2具体步骤如下: S201将Insert操作根据Hash计算获得分区ID, 在对应的分区下查找主键冲突; S202如果分区中数据已经存在, 则进行报错; 如果分区中数据不存在, 则执行后续添加 流程。 4.根据权利要求3所述的方法, 其特 征是所述的S3具体步骤如下: S301对Hash分区表的分布列修改后的值进行Hash计算, 得出需要重分布到的分区的新 ID; 将新ID与数据所在分区的原ID进行比较; S302如果新ID和原ID相同, 则不 需要进行Hash重分布; 如果新ID和原ID不同, 则需要进 行Hash重分布。 S303当不需要进行Hash重分布时, Update操作根据Hash计算获得分区ID, 在对应的分 区下查找主键冲突; S304如果分区中数据已经存在则进行报错; 如果分区中数据不存在, 则更新原分区数 据; S313当需要进行Hash重分布时, Update操作根据Hash重分布得到的分区ID, 在对应的 分区下查找主键冲突; S314如果分区中数据已经存在则进行报错; 如果分区中数据不存在, 则先把原来分区 中的数据删除, 再将新的数据添加到新的分区中。 5.一种实现Hash分区表主键约束的系统, 其特征是所述的系统具体包括数据确认模 块、 重分布模块和存在判定模块: 操作区分模块: 将 操作区分为 insert和update; Insert模块: 将I nsert操作进行分类操作; update模块: 将update操作进行分类操作。 6.根据权利要求5所述的系统, 其特征是所述操作区分模块具体包括语言区分模块和 执行模块A: 语言区分模块: 在执 行阶段根据语句类型判断是I nsert还是update; 执行模块A: 如果语句类型是Insert则进行S2步骤, 如果语句类型是update则进行S3步 骤。 7.根据权利要求6所述的系 统, 其特征是所述Insert模块具体包括冲突确认模块A、 和 执行模块B: 冲突确认模块A: 将I nsert操作根据Hash计算, 在对应的分区下查找主键冲突; 执行模块B: 如果分区中数据已经存在, 则进行报错; 如果分区中数据不存在, 则执行后 续添加流 程。权 利 要 求 书 1/2 页 2 CN 114896245 A 28.根据权利 要求7所述的系统, 其特征是所述update模块具体包括重分布模块、 执行模 块C、 冲突确认模块B、 执 行模块D、 冲突确认模块C和执 行模块E: 重分布模块: 对Hash分区表的分布列修改后的值进行Hash计算, 得出需要重分布到的 分区的新 ID; 将新ID与数据所在分区的原ID进行比较; 执行模块C: 如果新ID和原ID相同, 则不 需要进行Hash重分布; 如果新ID和原ID不同, 则 需要进行Hash 重分布; 冲突确认模块B: 当不需要进行Hash重分布时, Update操作根据Hash计算获得分区ID, 在对应的分区下查找主键冲突; 执行模块D: 如果分区中数据已经存在则进行报错; 如果分区中数据不存在, 则更新原 分区数据; 冲突确认模块C: 当需要进行Hash重分布时, Update操作根据Hash重分布得到的分区 ID, 在对应的分区下查找主键冲突; 执行模块E: 如果分区中数据已经存在则进行报错; 如果分区中数据不存在, 则先把原 来分区中的数据删除, 再将新的数据添加到新的分区中。权 利 要 求 书 2/2 页 3 CN 114896245 A 3

.PDF文档 专利 一种实现Hash分区表主键约束的方法及系统

文档预览
中文文档 9 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种实现Hash分区表主键约束的方法及系统 第 1 页 专利 一种实现Hash分区表主键约束的方法及系统 第 2 页 专利 一种实现Hash分区表主键约束的方法及系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 00:10:40上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。