[发明专利]一种分布式数据库多表关联查询的方法及系统在审
| 申请号: | 202110591604.8 | 申请日: | 2021-05-28 |
| 公开(公告)号: | CN113297250A | 公开(公告)日: | 2021-08-24 |
| 发明(设计)人: | 陆明 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
| 主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/245;G06F16/27 |
| 代理公司: | 北京汇信合知识产权代理有限公司 11335 | 代理人: | 张焕响 |
| 地址: | 100086 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分布式 数据库 关联 查询 方法 系统 | ||
1.一种分布式数据库多表关联查询的方法,其特征在于,包括:
分布式数据库代理节点接收并解析业务应用程序发送的SQL语句;
根据解析结果依次判断SQL语句是否为关联查询、关联的多表分片规则是否相同;
若是关联查询且多表分片规则不相同,则将所述SQL语句拆分为多个单表查询语句;
根据各所述单表查询SQL语句分别做路由计算,并发送到对应的数据库分片上执行,得到各自的查询结果;
根据多表的所述查询结果进行数据比对及汇总;
将汇总结果返回所述分布式数据库代理节点,由所述分布式数据库代理节点做最终汇总并反馈到业务应用程序。
2.根据权利要求1所述的方法,其特征在于:若SQL语句是简单查询,则无需判断关联的多表分片规则是否相同,直接对SQL语句做路由计算,并将SQL语句发送到对应的数据库分片上执行,将执行后的结果集汇总返回给业务应用程序。
3.根据权利要求1所述的方法,其特征在于:若SQL语句是关联查询,则进一步判断关联的多表分片规则是否相同,若关联的多表分片规则相同,对SQL语句做路由计算,并将SQL语句发送到对应的数据库分片上执行,将执行后的结果集汇总返回给业务应用程序。
4.根据权利要求1所述的方法,其特征在于:在将所述SQL语句拆分为多个单表查询语句时,应记录所述SQL语句的关联字段信息。
5.根据权利要求1所述的方法,其特征在于:根据多表的所述查询结果,按照所述关联字段进行数据比对及汇总。
6.根据权利要求1所述的方法,其特征在于:对所述汇总结果按照原始SQL语句的查询要求进行数据处理和再次汇总,将再次汇总的结果返回所述分布式数据库代理节点。
7.一种用于实现权利要求1~6任一项所述的方法的系统,其特征在于,包括:业务应用模块、分布式数据库代理节点、数据库存储节点和复杂查询代理节点;
所述业务应用模块,用于:
发送SQL语句到分布式数据库代理节点;
所述分布式数据库代理节点,用于:
接收并解析业务应用程序发送的SQL语句;
依次判断SQL语句是否为关联查询、关联的多表分片规则是否相同;
对简单查询或关联查询但多张表的分片规则相同的SQL语句做路由计算,并发送到对应的数据库分片上执行;
汇总查询结果并反馈到业务应用程序;
所述数据库存储节点,用于:
分布式存储数据,供数据查询和提取查询结果;
所述复杂查询代理节点,用于:
若是关联查询且多表分片规则不相同,则将所述SQL语句拆分为多个单表查询语句;
根据各所述单表查询SQL语句分别做路由计算,并发送到对应的数据库分片上执行;
根据多表的所述查询结果进行数据比对及汇总;
将汇总结果返回所述分布式数据库代理节点。
8.根据权利要求7所述的系统,其特征在于,所述分布式数据库代理节点,还用于:分布式数据库代理节点与业务应用模块之间协议的解析和封装。
9.根据权利要求7所述的系统,其特征在于:对所述汇总结果按照原始SQL语句的查询要求进行数据处理和再次汇总,将再次汇总的结果返回所述分布式数据库代理节点。
10.根据权利要求7所述的系统,其特征在于:在将所述SQL语句拆分为多个单表查询语句时,应记录所述SQL语句的关联字段信息;
根据多表的所述查询结果,按照所述关联字段进行数据比对及汇总。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110591604.8/1.html,转载请声明来源钻瓜专利网。





