[发明专利]一种数据查询方法及系统在审
申请号: | 201810510627.X | 申请日: | 2018-05-24 |
公开(公告)号: | CN108897767A | 公开(公告)日: | 2018-11-27 |
发明(设计)人: | 王秀琳 | 申请(专利权)人: | 努比亚技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳智汇远见知识产权代理有限公司 44481 | 代理人: | 田俊峰 |
地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据查询 查询 查询目标 分组 | ||
1.一种数据查询方法,用于对以分库分表方式存储的数据进行查询,其特征在于,包括:
获取待查询用户的已知信息;
根据用户的已知信息确定与所述待查询用户相关的数据所在的n个目标数据表,n≥1;
对n个目标数据表进行分组;
同时对每组目标数据表进行查询,提取与待查询用户相关的数据。
2.根据权利要求1所述的数据查询方法,其特征在于,获取待查询用户的已知信息,包括:
接收包含有至少一个字段的查询模板,所述查询模板中的字段内容已填写;
将已填写的字段内容确定为所述待查询用户的已知信息。
3.根据权利要求1所述的数据查询方法,其特征在于,根据用户的已知信息确定与所述待查询用户相关的数据所在的目标数据表,包括:
将所述已知信息转化成用户编码UID;
从已有的多个数据表中,根据所述用户编码UID确定与所述待查询用户相关的数据所在的目标数据表。
4.根据权利要求3所述的数据查询方法,其特征在于,将所述已知信息转换成用户编码UID,包括:
根据预先建立的用户已知信息与用户编码UID的key-value映射关系将所述已知信息转换成用户编码UID。
5.根据权利要求3所述的数据查询方法,其特征在于,根据所述用户编码UID确定与所述待查询用户相关的数据所在的目标数据表,包括:
采用与数据存储时所用的分库分表规则一致的分库分表规则对由所述已知信息转化成的用户编码UID进行分表计算;
根据计算结果,确定用户编码UID对应的与所述待查询用户相关的数据所在的目标数据表。
6.根据权利要求1所述的数据查询方法,其特征在于,对n个目标数据表进行分组,包括:
获取CPU的线程数;
在每个线程中创建一个查询队列;
以每一个目标数据表为一个子任务,将所有的子任务平均分配到查询队列中。
7.根据权利要求6所述的数据查询方法,其特征在于,同时对每组目标数据表进行查询,提取与待查询用户相关的数据,包括:
同时开启全部线程,执行查询队列中的子任务,提取与待查询用户相关的数据;
执行过程中,判断第一查询队列中的子任务是否执行完毕;
当第一查询队列的子任务执行完毕时,判断第二队列中的任务是否执行完毕;
当第二查询队列未执行完毕时,判断第二查询队列的子任务是否由1个线程执行;
当第二查询队列的子任务由1个线程执行时,确定第二查询队列中预设线程的执行方向;
控制所述第一查询队列对应的线程,从所述第二查询队列中与所述执行方向相反的端部,对所述第二查询队列中的子任务依次执行。提取出与待查询用户相关的数据。
8.一种数据查询系统,用于对以分库分表方式存储的数据进行查询,其特征在于,包括:
采集模块,用于获取待查询用户的已知信息;
定位模块,用于根据用户的已知信息确定与所述待查询用户相关的数据所在的n个目标数据表,n≥1;
拆分模块,用于对n个目标数据表进行分组;
提取模块,用于同时对每组目标数据表进行查询,提取与待查询用户相关的数据。
9.根据权利要求8所述的数据查询系统,其特征在于,所述定位模块包括:
转化子模块,用于将所述已知信息转化成用户编码UID;
定位子模块,用于从已有的多个数据表中,根据所述用户编码UID确定与所述待查询用户相关的数据所在的目标数据表。
10.根据权利要求9所述的数据查询系统,其特征在于,所述转化子模块包括:映射单元,用于存储预先建立的用户已知信息与用户编码UID的key-value映射关系
转化单元,用于将所述已知信息转换成用户编码UID。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于努比亚技术有限公司,未经努比亚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810510627.X/1.html,转载请声明来源钻瓜专利网。