【技术实现步骤摘要】
【国外来华专利技术】用于查询数据库的系统和方法相关申请的交叉引用本申请要求于2017年6月22日提交的中国专利申请No.201710482300.1的优先权,其全部内容以引用方式包含于此。
本专利技术涉及数据库查询技术的
,尤其涉及根据两个不同数据表之间的最短路径查询数据库的系统和方法。
技术介绍
数据库是按照数据结构来组织、存储和管理数据的仓库。目前,在数据库的组织与管理中,可以生成通用的数据表,用户选择想要查询的字段时,基于该数据库表可以查找到对应的数据。若用户想要查询的字段分布在多个数据表中,可以将数据表进行连接,基于连接的数据表为用户查找对应的数据。然而,随着数据表的增多,数据表的连接会耗费大量的时间和处理资源。因此,期望提供一种系统和方法,以在至少两个字段分布在大量不同数据表中时提高查询与至少两个字段相关的数据的效率。
技术实现思路
根据本申请的第一方面,提供了一种被配置为提供数据库查询服务的系统。该系统可以包括一个或以上包括一组指令的非暂时性存储介质;一个或以上与所述一个或以上非暂时性存储介质通信的处理器,其中,当执行所述指令时,所述一个或以上处理器可以用于:获取查询数据库的查询请求,其中,所述数据库包括:至少两个数据表;基于服务请求确定至少两个数据表中的一个或以上目标数据表;基于至少两个数据表生成有向图,其中有向图包括一个或以上段,每个段连接两个数据表;确定一个或以上目标数据表中的参考数据表;对于一个或以上目标数据表中的每一个,遍历有向图以确定具有参考数据表和目标数据表之间的最短距离的目标路径;并且,基于具有最短路径的一个或以上目标路径来查询数据库。在一些实施 ...
【技术保护点】
1.一种被配置为向用户提供数据库查询服务的系统,包括:一个或以上包括一组指令的非暂时性存储介质;和一个或以上与所述一个或以上非暂时性存储介质通信的处理器,其中,当执行所述指令时,所述一个或以上处理器用于:获取查询数据库的查询请求,其中所述数据库包括至少两个数据表;基于所述服务请求确定所述至少两个数据表中的一个或以上目标数据表;基于至少两个数据表生成有向图,其中所述有向图包括一个或以上段,每个段连接两个数据表;确定所述一个或以上目标数据表中的参考数据表;对于所述一个或以上目标数据表中的每一个,遍历所述有向图以确定具有所述参考数据表和目标数据表之间的最短距离的目标路径;以及基于具有所述最短路径的一个或以上目标路径查询数据库。
【技术特征摘要】
【国外来华专利技术】2017.06.22 CN 20171048230011.一种被配置为向用户提供数据库查询服务的系统,包括:一个或以上包括一组指令的非暂时性存储介质;和一个或以上与所述一个或以上非暂时性存储介质通信的处理器,其中,当执行所述指令时,所述一个或以上处理器用于:获取查询数据库的查询请求,其中所述数据库包括至少两个数据表;基于所述服务请求确定所述至少两个数据表中的一个或以上目标数据表;基于至少两个数据表生成有向图,其中所述有向图包括一个或以上段,每个段连接两个数据表;确定所述一个或以上目标数据表中的参考数据表;对于所述一个或以上目标数据表中的每一个,遍历所述有向图以确定具有所述参考数据表和目标数据表之间的最短距离的目标路径;以及基于具有所述最短路径的一个或以上目标路径查询数据库。2.如权利要求1所述的系统,其中,为了基于所述至少两个数据表生成所述有向图,所述一个或以上处理器还用于:遍历所述数据库并确定至少两个数据表中的第一数据表和第二数据表;当所述第一数据表和第二数据表具有公共字段时,生成所述第一数据表和所述第二数据表之间的段。3.如权利要求2所述的系统,其中,所述第一数据表和所述第二数据表之间的段具有从所述第一数据表到所述第二数据表的方向,或从所述第二数据表到所述第一数据表的方向。4.如权利要求3所述的系统,其中,所述一个或以上处理器还用于:确定第一数据表是否是目标数据表;响应于确定所述第一数据表是所述目标数据表,将第一权重分配给所述第一数据表和所述第二数据表之间的段,所述第二数据表具有从所述第一数据表到所述第二数据表的方向。5.如权利要求4所述的系统,其中,所述一个或以上处理器还用于:响应于确定所述第一数据表不是所述目标数据表,将第二权重分配给所述第一数据表和所述第二数据表之间的所述段,所述第二数据表具有从所述第一数据表到所述第二数据表的所述方向。6.如权利要求5所述的系统,其中,所述第二权重大于所述第一权重。7.如权利要求1所述的系统,其中,在所述一个或以上目标数据表中随机确定所述参考数据表。8.如权利要求1-7中任一项所述的系统,其中,具有所述最短路径的目标路径包括一个或以上数据表,并且基于具有所述最短路径的一个或以上目标路径来查询所述数据库,所述一个或以上处理器还用于:生成初始表集;遍历所述一个或以上目标路径;对于所述一个或以上目标路径中的每一个,确定所述目标路径中包含的数据表是否在所述初始表集内;响应于确定所述目标路径中包括的所述数据表不在所述初始表集内,将所述数据表添加到所述初始表集中;并连接所述初始表集中的所述数据表以生成连接表集;以及基于所述连接表集查询所述数据库。9.如权利要求1-8中任一项所述系统,其中,基于所述查询请求的字段确定所述一个或以上目标数据表。10.一种在计算设备上实现的用于向用户提供数据库查询服务的方法,所述计算设备包括存储器和一个或以上处理器,所述方法包括:所述一个或以上处理器获取查询数据库的查询请求,所述数据库包括至少两个数据表;基于所述服务请求,由所述一个或以上处理器确定所述至少两个数据表中的一个或以上目标数据表;所述一个或以上处理器生成基于所述至少两个数据表的有向图,其中所述有向图包括一个或以上段,每个段连接两个数据表;所述一个或以上处理器确定所述一个或以上目标数据表中的...
【专利技术属性】
技术研发人员:李思旭,万祥,李佩,杨帆,
申请(专利权)人:北京嘀嘀无限科技发展有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。