[发明专利]数据库查询方法、装置和电子设备有效
申请号: | 201710482300.1 | 申请日: | 2017-06-22 |
公开(公告)号: | CN109117429B | 公开(公告)日: | 2020-09-22 |
发明(设计)人: | 李思旭;万祥;李佩;杨帆 | 申请(专利权)人: | 北京嘀嘀无限科技发展有限公司 |
主分类号: | G06F16/245 | 分类号: | G06F16/245 |
代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
地址: | 100193 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 查询 方法 装置 电子设备 | ||
1.一种数据库查询方法,其特征在于,所述方法包括:
在接收到数据库查询指令后,确定所述数据库查询指令中的目标查询字段所在的目标数据表;
根据所述目标数据表构建数据表有向图;
从构建所述数据表有向图的所述目标数据表中选取一个目标数据表作为源数据表;
基于所述数据表有向图,计算所述源数据表到构建所述数据表有向图的其他目标数据表的最短距离,并确定所述最短距离对应的最短路径;
将所述最短路径途经的数据表进行连接,并基于连接结果进行查询;
所述根据所述目标数据表构建数据表有向图,包括:对数据表进行遍历,针对遍历到的第一数据表,若所述第一数据表与第二数据表具有公共字段,则建立第一数据表到第二数据表的路径;
若所述第一数据表为目标数据表,则将所述第一数据表到所述第二数据表的路径权重设置为第一权重;
若所述第一数据表为非目标数据表,则将所述第一数据表到所述第二数据表的路径权重设置为第二权重;
所述第二权重大于所述第一权重。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若存在所述源数据表不可达的目标数据表,则对所有数据表进行连接,并基于连接结果进行查询。
3.根据权利要求1所述的方法,其特征在于,所述从构建所述数据表有向图的所述目标数据表中选取一个目标数据表作为源数据表,包括:
从构建所述数据表有向图的所述目标数据表中随机选取一个目标数据表作为源数据表。
4.根据权利要求1所述的方法,其特征在于,所述将所述最短路径途经的数据表进行连接,包括:
遍历每条最短路径,针对遍历到的最短路径,依次判断该最短路径途经的数据表是否已加入的连接集合;所述连接集合初始为空;
若所述数据表未加入连接集合,则将所述数据表加入到所述连接集合中;
在遍历结束后,将所述连接集合中的数据表进行连接。
5.一种数据库查询装置,其特征在于,所述装置包括:
确定单元,用于在接收到数据库查询指令后,确定所述数据库查询指令中的目标查询字段所在的目标数据表;
构建单元,用于根据所述目标数据表构建数据表有向图;
选取单元,用于从构建所述数据表有向图的所述目标数据表中选取一个目标数据表作为源数据表;
计算单元,用于基于所述数据表有向图,计算所述源数据表到构建所述数据表有向图的其他目标数据表的最短距离,并确定所述最短距离对应的最短路径;
第一连接单元,用于将所述最短路径途经的数据表进行连接,并基于连接结果进行查询;
所述构建单元包括:
建立子单元,用于对数据表进行遍历,针对遍历到的第一数据表,若所述第一数据表与第二数据表具有公共字段,则建立第一数据表到第二数据表的路径;
设置子单元,用于在所述第一数据表为目标数据表时,将所述第一数据表到所述第二数据表的路径权重设置为第一权重;
所述设置子单元还用于在所述第一数据表为非目标数据表时,将所述第一数据表到所述第二数据表的路径权重设置为第二权重;
所述第二权重大于所述第一权重。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二连接单元,用于在存在所述源数据表不可达的目标数据表时,对所有数据表进行连接,并基于连接结果进行查询。
7.根据权利要求5所述的装置,其特征在于,所述选取单元包括:
选取子单元,用于从构建所述数据表有向图的所述目标数据表中随机选取一个目标数据表作为源数据表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京嘀嘀无限科技发展有限公司,未经北京嘀嘀无限科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710482300.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据存储方法及其装置、数据查询方法及其装置
- 下一篇:一种检索系统及其方法