欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2016107997509
申请人: 华为技术有限公司
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-11-15
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种表数据查询方法,其特征在于,所述方法包括:

接收应用程序发送的表数据查询请求;

对所述表数据查询请求进行解析,得到查询信息,所述查询信息包括多个数据表标识和查询参数,所述查询参数至少包括多个数据表的查询分区键;

接收所述应用程序发送的查询参数的参数值,所述参数值至少包括所述多个数据表的查询分区键值;

根据所述多个数据表的查询分区键值,确定所述多个数据表的查询分区;

判断所述多个数据表的查询分区是否相同;

如果所述多个数据表的查询分区相同,将所述表数据查询请求发送至目标数据库,由所述目标数据库返回最终查询结果,所述目标数据库为相同的所述查询分区所对应的数据库;

如果接收到所述最终查询结果,将所述最终查询结果发送至所述应用程序。

2.根据权利要求1所述的方法,其特征在于,所述判断所述多个数据表的查询分区是否相同,包括:判断所述多个数据表的查询分区键之间是否全部具有关联关系;

如果所述多个数据表的查询分区键之间全部具有关联关系,确定所述多个数据表的查询分区相同;

如果所述多个数据表的查询分区键之间未全部具有关联关系,且所述多个数据表的查询分区键值全部相等,确定所述多个数据表的查询分区相同;

如果所述多个数据表的查询分区键之间未全部具有关联关系,且所述多个数据表的查询分区键值未全部相等,确定所述多个数据表的查询分区不相同。

3.根据权利要求1所述的方法,其特征在于,所述接收所述应用程序发送的查询参数的参数值之前,所述方法还包括:根据所述查询信息和所述表数据查询请求,生成多个子数据表查询请求,所述子数据表查询请求的数量与所述数据表标识的数量相同,且每个子数据表查询请求用于查询一个数据表。

4.根据权利要求3所述的方法,其特征在于,如果所述多个数据表的查询分区不相同,所述方法还包括:将添加查询分区键值的所述多个子数据表查询请求发送至多个分区数据库,由所述分区数据库返回中间查询结果,所述分区数据库为查询分区键值所对应的数据库,所述中间查询结果包括所述分区数据库所存储的子表或从子表中查询到的表数据;

接收所述多个分区数据库发送的中间查询结果;

根据所述查询参数的参数值,对多个中间查询结果进行查询,得到所述最终查询结果;

将所述最终查询结果发送至所述应用程序。

5.一种表数据查询装置,其特征在于,所述装置包括:

接收模块,用于接收应用程序发送的表数据查询请求;

解析模块,用于对所述表数据查询请求进行解析,得到查询信息,所述查询信息包括多个数据表标识和查询参数,所述查询参数至少包括多个数据表的查询分区键;

所述接收模块,还用于接收所述应用程序发送的查询参数的参数值,所述参数值至少包括所述多个数据表的查询分区键值;

确定模块,用于根据所述多个数据表的查询分区键值,确定所述多个数据表的查询分区;

判断模块,用于判断所述多个数据表的查询分区是否相同;

发送模块,用于如果所述多个数据表的查询分区相同,将所述表数据查询请求发送至目标数据库,由所述目标数据库返回最终查询结果,所述目标数据库为相同的所述查询分区所对应的数据库;

所述发送模块,还用于如果接收到所述最终查询结果,将所述最终查询结果发送至所述应用程序。

6.根据权利要求5所述的装置,其特征在于,所述判断模块,用于判断所述多个数据表的查询分区键之间是否全部具有关联关系;如果所述多个数据表的查询分区键之间全部具有关联关系,确定所述多个数据表的查询分区相同;

如果所述多个数据表的查询分区键之间未全部具有关联关系,且所述多个数据表的查询分区键值全部相等时,确定所述多个数据表的查询分区相同;

如果所述多个数据表的查询分区键之间未全部具有关联关系,且所述多个数据表的查询分区键值未全部相等,确定所述多个数据表的查询分区不相同。

7.根据权利要求5所述的装置,其特征在于,所述装置还包括:查询请求生成模块,用于根据所述查询信息和所述表数据查询请求,生成多个子数据表查询请求,所述子数据表查询请求的数量与所述数据表标识的数量相同,且每个子数据表查询请求用于查询一个数据表。

8.根据权利要求7所述的装置,其特征在于,所述发送模块,还用于如果所述多个数据表的查询分区不相同,将添加查询分区键值的所述多个子数据表查询请求发送至多个分区数据库,由所述分区数据库返回中间查询结果,所述分区数据库为查询分区键值所对应的数据库,所述中间查询结果包括所述分区数据库所存储的子表或从子表中查询到的表数据;

所述接收模块,还用于接收所述多个分区数据库发送的中间查询结果;

查询模块,用于根据所述查询参数的参数值,对多个中间查询结果进行查询,得到所述最终查询结果;

所述发送模块,还用于将所述最终查询结果发送至所述应用程序。

9.一种计算设备,其特征在于,包括:处理器、存储器、通信接口及总线,其中,所述存储器、所述处理器及所述通信接口通过所述总线连接;

所述存储器,用于存放计算机指令;

所述处理器通过所述总线调用所述存储器中存储的计算机指令,用于执行以下操作:通过调用所述通信接口接收应用程序发送的表数据查询请求;

对所述表数据查询请求进行解析,得到查询信息,所述查询信息包括多个数据表标识和查询参数,所述查询参数至少包括多个数据表的查询分区键;

通过调用所述通信接口接收所述应用程序发送的查询参数的参数值,所述参数值至少包括所述多个数据表的查询分区键值;

根据所述多个数据表的查询分区键值,确定所述多个数据表的查询分区;

判断所述多个数据表的查询分区是否相同;

如果所述多个数据表的查询分区相同,通过调用所述通信接口将所述表数据查询请求发送至目标数据库,由所述目标数据库返回最终查询结果,所述目标数据库为相同的所述查询分区所对应的数据库;

如果接收到所述最终查询结果,通过调用所述通信接口将所述最终查询结果发送至所述应用程序。

10.根据权利要求9所述的计算设备,其特征在于,所述处理器通过所述总线调用所述存储器中存储的计算机指令,还用于执行以下操作:如果所述多个数据表的查询分区键之间全部具有关联关系,确定所述多个数据表的查询分区相同;

如果所述多个数据表的查询分区键之间未全部具有关联关系,且所述多个数据表的查询分区键值全部相等,确定所述多个数据表的查询分区相同;

如果所述多个数据表的查询分区键之间未全部具有关联关系,且所述多个数据表的查询分区键值未全部相等,确定所述多个数据表的查询分区不相同。

11.根据权利要求9所述的计算设备,其特征在于,所述处理器通过所述总线调用所述存储器中存储的计算机指令,还用于执行以下操作:根据所述查询信息和所述表数据查询请求,生成多个子数据表查询请求,所述子数据表查询请求的数量与所述数据表标识的数量相同,且每个子数据表查询请求用于查询一个数据表。

12.根据权利要求11所述的计算设备,其特征在于,所述处理器通过所述总线调用所述存储器中存储的计算机指令,还用于执行以下操作:如果所述多个数据表的查询分区不相同,通过调用所述通信接口将添加查询分区键值的所述多个子数据表查询请求发送至多个分区数据库,由所述分区数据库返回中间查询结果,所述分区数据库为查询分区键值所对应的数据库,所述中间查询结果包括所述分区数据库所存储的子表或从子表中查询到的表数据;

通过调用所述通信接口接收所述多个分区数据库发送的中间查询结果;

根据所述查询参数的参数值,对多个中间查询结果进行查询,得到所述最终查询结果;

通过调用所述通信接口将所述最终查询结果发送至所述应用程序。