说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210922087.2 (22)申请日 2022.08.02 (71)申请人 北京奥星贝斯科技有限公司 地址 100102 北京市朝阳区望京东园四区 13号楼-4至 33层101内23层201室 (72)发明人 曲斌 潘毅  (74)专利代理 机构 北京亿腾知识产权代理事务 所(普通合伙) 11309 专利代理师 陈霁 周良玉 (51)Int.Cl. G06F 16/2453(2019.01) G06F 16/22(2019.01) G06F 16/242(2019.01) G06F 16/2455(2019.01) (54)发明名称 一种数据库查询方法及装置 (57)摘要 本说明书实施例提供了一种数据库查询方 法及装置。 数据库包括驱动表和被驱动表。 当计 算设备接收到连接查询请求时, 对驱动表的多个 数据进行重复数据检测, 得到每个数据在多个数 据中的重复信息。 接着, 针对驱动表的多个数据 中的任意一个数据, 基于该数据的重复信息对该 数据进行判断。 当该数据存在重复数据, 且该数 据是重复数据中的首个数据时, 从被驱动表的多 个数据中确定与该数据存在连接关系的数据, 得 到连接结果, 记录该数据与连接结果的对应关 系。 当该数据存在重复数据, 且该数据不是重复 数据中的首个数据时, 无需重复扫描被驱动表的 数据, 而从记录的对应关系中获取该数据对应的 连接结果即可。 当该数据不存在重复数据时, 直 接从被驱动表中确定连接结果。 权利要求书3页 说明书9页 附图2页 CN 115309776 A 2022.11.08 CN 115309776 A 1.一种数据库查询方法, 其中, 数据库包括驱动表和被驱动表, 所述驱动表和被驱动表 包含多个数据; 所述方法包括: 在接收到连接查询请求时, 对所述驱动表的多个数据进行重复数据检测, 得到单个数 据在所述多个数据中的重复信息; 针对所述驱动表的多个数据中的任意一个第 一数据, 基于所述第 一数据的重复信 息确 定所述第一数据是否存在重复数据, 且所述第一数据是否是重复数据中的首个数据; 当确定所述第一数据存在重复数据, 且所述第一数据是所述首个数据时, 从所述被驱 动表的多个数据中确定与所述第一数据存在连接关系的数据, 得到连接结果, 记录所述第 一数据与所述连接结果的对应关系; 当确定所述第一数据存在重复数据, 且所述第一数据不是所述首个数据时, 从记录的 对应关系中获取 所述第一数据对应的连接结果。 2.根据权利要求1所述的方法, 还 包括: 当确定所述第 一数据不存在重复数据时, 直接从所述被驱动表的多个数据中确定与 所 述第一数据存在连接关系的数据, 得到连接结果。 3.根据权利要求1所述的方法, 所述对所述驱动表的多个数据进行重复数据检测的步 骤, 包括: 按照批量读取的方式, 从所述驱动表中读取批量数据; 对所述批量数据进行重复数据检测, 得到若干个非相同数值数据; 当所述若干个非相同数值数据的数目小于预设阈值 时, 返回执行所述按照批量读取的 方式, 从所述驱动表中读取批量数据的步骤; 当所述若干个非相同数值数据的数目不小于预设阈值 时, 停止从所述驱动表中读取数 据, 并基于已得到的非相同数值数据, 确定已读取的批量数据中单个数据的重复信息 。 4.根据权利要求1所述的方法, 所述对所述驱动表的多个数据进行重复数据检测的步 骤, 包括: 计算所述驱动表的多个数据分别对应的哈希值; 基于数据的哈希值, 对所述驱动表的多个数据进行重复数据检测。 5.根据权利要求1所述的方法, 所述对所述驱动表的多个数据进行重复数据检测的步 骤, 包括: 基于数据取值对所述驱动表的多个数据进行排序; 基于得到的排序结果, 对所述驱动表的多个数据进行重复数据检测。 6.根据权利要求1所述的方法, 基于以下方式确定所述驱动表的多个数据分别对应的 连接结果: 依次将所述驱动表的排序后的多个数据确定为所述第 一数据, 执行所述基于所述第 一 数据的重复信息确定所述第一数据是否存在重复数据, 且所述第一数据是否是重复数据中 的首个数据的步骤; 其中, 在所述 排序后的多个数据中, 相同的重复数据相邻排列。 7.根据权利要求1所述的方法, 所述从所述被驱动表的多个数据中确定与所述第一数 据存在连接关系的数据的步骤, 包括: 基于预设的连接关系逻辑, 将所述第 一数据分别与所述被驱动表的多个数据进行比对 判断, 得到与所述第一数据存在连接关系的数据。权 利 要 求 书 1/3 页 2 CN 115309776 A 28.根据权利要求1所述的方法, 所述被驱动表包含多个子表, 所述多个子表分别存储在 分布式系统包 含的多个设备中; 所述从所述被驱动表的多个数据中确定与 所述第一数据存在连接关系的数据的步骤, 包括: 分别与所述多个设备进行通信, 从所述多个设备的子表包含的多个数据中确定与 所述 第一数据存在连接关系的数据, 得到对应的子连接结果; 基于从所述多个子表中分别得到的子连接结果, 确定所述第一数据对应的连接结果。 9.一种数据库查询装置, 其中, 数据库包括驱动表和被驱动表, 所述驱动表和被驱动表 包含多个数据; 所述装置包括: 检重模块, 配置为在接收到连接查询请求时, 对所述驱动表的多个数据进行重复数据 检测, 得到单个数据在所述多个数据中的重复信息; 确定模块, 针对所述驱动表的多个数据中的任意一个第一数据, 基于所述第一数据的 重复信息确定所述第一数据是否存在重复数据, 且所述第一数据是否是重复数据中的首个 数据; 第一连接模块, 配置为当确定所述第一数据存在重复数据, 且所述第一数据是所述首 个数据时, 从所述被驱动表的多个数据中确定与所述第一数据存在连接关系的数据, 得到 连接结果, 记录所述第一数据与所述连接结果的对应关系; 第二连接模块, 配置为当确定所述第一数据存在重复数据, 且所述第一数据不是所述 首个数据时, 从记录的对应关系中获取 所述第一数据对应的连接结果。 10.根据权利要求9所述的装置, 所述装置还 包括: 第三连接模块, 配置为当确定所述第一数据不存在重复数据时, 直接从所述被驱动表 的多个数据中确定与所述第一数据存在连接关系的数据, 得到连接结果。 11.根据权利要求9所述的装置, 所述检重模块, 包括: 读取子模块, 配置为按照批量读取的方式, 从所述驱动表中读取批量数据; 检测子模块, 配置为对所述批量数据进行重复数据检测, 得到若干个非相同数值数据; 返回子模块, 配置为当所述若干个非相同数值数据的数目小于预设阈值时, 返回执行 所述读取子模块; 确定子模块, 配置为当所述若干个非相同数值数据的数目不小于预设阈值时, 停止从 所述驱动表中读取数据, 并基于已得到的非相同数值数据, 确定已读取 的批量数据中单个 数据的重复信息 。 12.根据权利要求9所述的装置, 所述装置还 包括: 执行模块, 配置为基于以下 方式确定所述驱动表的多个数据分别对应的连接结果: 依次将所述驱动表的排序后的多个数据确定为所述第 一数据, 执行基于所述第 一数据 的重复信息确定所述第一数据是否存在重复数据, 且所述第一数据是否是重复数据中的首 个数据的操作; 其中, 在所述 排序后的多个数据中, 相同的重复数据相邻排列。 13.根据权利要求9所述的装置, 所述被驱动表包含多个子表, 所述多个子表分别存储 在分布式系统包 含的多个设备中; 所述第一连接模块, 从所述被驱动表的多个数据中确定与所述第 一数据存在连接关系 的数据时, 包括:权 利 要 求 书 2/3 页 3 CN 115309776 A 3

.PDF文档 专利 一种数据库查询方法及装置

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