全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210698761.3 (22)申请日 2022.06.20 (71)申请人 北京中睿天下信息技 术有限公司 地址 100085 北京市海淀区农大南路1号院 8号楼2层201号10 01 (72)发明人 刘庆林 刘一宏 刘正伟 魏海宇  谢辉 安恩庆 刘刚 李小琼  康柏荣 王鲲  (74)专利代理 机构 广州蓝晟专利代理事务所 (普通合伙) 44452 专利代理师 高学敏 (51)Int.Cl. G06F 16/242(2019.01) G06F 16/2455(2019.01) G06F 16/2457(2019.01)G06F 16/2453(2019.01) G06F 16/25(2019.01) G06F 16/27(2019.01) (54)发明名称 一种基于golang解决分库分表下检索排序 和分页问题的优化方法 (57)摘要 本发明提供了一种基于golang解决分库分 表下检索排序和分页问题的优化方法, 属于互联 网数据处理技术领域, 它解决了检索复杂以及检 索瓶颈等技术问题。 本发明包 括以下步骤: S1、 构 建golang服务作为中间件, 要求可以独立启动; S2、 启动golang中间件, 拦截并解析应用程序发 送的查询指令, 根据采用分表 算法的分库分表规 则, 对查询指令进行分析; S3、 将分析后的查询指 令发往后端的数据库, 后端进行处理后得到第一 次查询结果; S4、 根据对第一次查询结果的分析, 得到第二次查询条件; S5、 通过对第二次查询条 件的处理, 得到第二次查询结果; S6、 将第二次查 询结果经过精确排序和分页后, 发送给应用程序 对应的用户。 本发明具有精确排序和分页的优 点。 权利要求书2页 说明书4页 附图5页 CN 115062045 A 2022.09.16 CN 115062045 A 1.一种基于golang解决分库分表下检索排序和分页问题的优化方法, 其特征在于, 包 括以下步骤: S1、 构建go lang服务作为中间件, 要求可以独立启动; S2、 启动gol ang中间件, 拦截并解析应用程序发送的查询指令, 根据采用分表算法的分 库分表规则, 对查询指令进行分析; S3、 将分析后的查询指令发往后端的数据库, 后端 进行处理后得到第一次查询结果; S4、 根据对第一次查询结果的分析, 得到第二次查询条件; S5、 通过对第二次查询条件的处 理, 得到第二次查询结果; S6、 将第二次查询结果经 过精确排序和分页后, 发送给应用程序对应的用户。 2.根据权利要求1所述的基于golang解决分库分表下检索排序和分页问题的优化方 法, 其特征在于, 所述查询指令包括, 输入要查询的数据要求, 数据要求由SQL语句构建, 对 数据要求的查询范围和数据库中的数据落盘规则进行分析, 并使用golang语言的协程, 并 行查询所有的数据库表。 3.根据权利要求1所述的基于golang解决分库分表下检索排序和分页问题的优化方 法, 其特征在于, 所述算法包括哈希分表算法、 自然月分表算法、 日期分表算法及范围分表 算法。 4.根据权利要求1所述的基于golang解决分库分表下检索排序和分页问题的优化方 法, 其特征在于, 所述分库分表规则包括表与 库的映射关系 、 分表的数量、 表的拆分规则。 5.根据权利要求1所述的基于golang解决分库分表下检索排序和分页问题的优化方 法, 其特征在于, 所述对查询指令进行分析的分析 方法包括分片分析、 路由分析。 6.根据权利要求1所述的基于golang解决分库分表下检索排序和分页问题的优化方 法, 其特征在于, 所述第一次查询结果包括前部数据、 目标数据和 尾部数据, 目标数据为用 户所实际需要的数据, 前部数据和目标 数据均为有效数据, 尾部数据为无效数据。 7.根据权利要求1所述的基于golang解决分库分表下检索排序和分页问题的优化方 法, 其特征在于, 所述对第一次查询结果的分析如下: 显示每个数据库 表中是否至少有两个 存在有效数据, 如 有, 则得到第二次查询条件; 如无, 则本次查询结果为最 终查询结果, 并对 唯一存在有效数据的数据库表进行精确 查询后并统计分析, 得到确定的目标数据, 并对目 标数据精确排序和分页后, 发送给应用程序对应的用户。 8.根据权利要求1所述的基于golang解决分库分表下检索排序和分页问题的优化方 法, 其特征在于, 所述对第二次查询条件的处理如下: 对每个数据库表中的有效数据量进 行 统计, 存在有效数据量的数据库表为有效集, 不存在有效数据量的数据库表为空集, 其中含 有最少有效数据量的数据库表, 以其存在的有效数据量为头部数据量, 将空集本应含有的 头部数据量分配到其他有效集中, 重新进行检索, 即可完成覆盖目标数据和减少数据返回 量, 得到第二次查询结果。 9.一种计算机设备, 包括处理器、 存储器以及存储在存储器中且被配置为由处理器执 行的计算机程序, 其特征在于, 所述处理器执行所述程序时实现如权利要求 1‑8所述的基于 golang解决分库分表下检索排序和分页问题的优化方法。 10.一种计算机可读存储介质, 所述计算机可读存储介质存储有计算机程序, 其特征在 于, 所述计算机程序被处理器执行时执行如权利要求1 ‑8所述的基于golang解决分库分表权 利 要 求 书 1/2 页 2 CN 115062045 A 2下检索排序和分页问题的优化方法。权 利 要 求 书 2/2 页 3 CN 115062045 A 3

PDF文档 专利 一种基于golang解决分库分表下检索排序和分页问题的优化方法

文档预览
中文文档 12 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于golang解决分库分表下检索排序和分页问题的优化方法 第 1 页 专利 一种基于golang解决分库分表下检索排序和分页问题的优化方法 第 2 页 专利 一种基于golang解决分库分表下检索排序和分页问题的优化方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 01:01:39上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。