[发明专利]一种基于图的多点路径查询方法和装置在审
申请号: | 201910132053.1 | 申请日: | 2019-02-22 |
公开(公告)号: | CN111611442A | 公开(公告)日: | 2020-09-01 |
发明(设计)人: | 郝彤 | 申请(专利权)人: | 京东数字科技控股有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 杜志敏;宋志强 |
地址: | 100176 北京市经济技*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多点 路径 查询 方法 装置 | ||
本申请提供了一种基于图的多点路径查询方法,接收到查询请求时,针对V中的每个起始顶点扩展M层,将每个起始顶点分别记录到一个数组中;将V中的两两起始顶点对应的扩展信息求交集之后,再将所有交集内的扩展信息求并集;并获取并集中前N条扩展信息作为初步扩展信息;根据缓存中的邻接表将初步扩展信息对应的每个顶点再扩展L‑M层,并获取对应的扩展信息作为二次扩展信息;合并初步扩展信息和二次扩展信息,过滤掉非起始顶点对应的扩展信息作为待返回扩展信息;获取待返回扩展信息中的前N条扩展信息,并将所述获取的前N条扩展信息中的路径信息响应给发送查询请求的设备。该方法能够提高查询效率。
技术领域
本发明涉及信息处理技术领域,特别涉及一种基于图的多点路径查询方法和装置。
背景技术
图(Graph)是用来表示物件与物件之间的关系的对象,是图论的基本研究对象。图是一个有序二元组(V,E),其中V称为顶点集,E称为边集。E的元素用(x,y)表示,其中x,y∈V。
计算图中多个顶点之间的关系是非常有意义的,例如:计算两个人在网络上的人脉关系,计算多家公司的之间的投资关系等。
传统计算方法为:以一个节点为中心向外层扩展,直到扩展到目的节点或者达到限定的层次为止。
由一个顶点向外层扩展时,随着扩展计算层次的增加,计算的节点会形成指数级的增加,所以该计算方式不仅效率低,而且对内存消耗比较大。
如:假设图中的每个顶点与100个顶点存在直接关系,如果要遍历该顶点的2层关系,就涉及到100的2次方,也就是10000个顶点数据的加载。如果计算6层关系,就会加载1万亿个顶点数据。
发明内容
有鉴于此,本申请提供一种基于图的多点路径查询方法和装置,能够提高查询效率。
为解决上述技术问题,本申请的技术方案是这样实现的:
一种基于图的多点路径查询方法,该方法包括:
接收到查询请求时,获取该请求携带的起始顶点的集合V、扩展的层次数L和返回的路径数量N;
针对V中的每个起始顶点扩展M层,将每个起始顶点对应的扩展信息分别记录到一个数组中;并将扩展过程中经过的顶点和边使用邻接表进行缓存;其中,M小于L;
将V中的两两起始顶点对应的扩展信息求交集之后,再将所有交集内的扩展信息求并集;
将并集中的扩展信息按照预设规则进行排列;并获取并集中前N条扩展信息作为初步扩展信息;
根据缓存中的邻接表将初步扩展信息对应的每个顶点再扩展L-M层,并获取对应的扩展信息作为二次扩展信息;
合并初步扩展信息和二次扩展信息,过滤掉非起始顶点对应的扩展信息,并按照预设规则排列,作为待返回扩展信息;
获取待返回扩展信息中的前N条扩展信息,并将所述获取的前N条扩展信息中的路径信息响应给发送查询请求的设备。
一种基于图的多点路径查询装置,该装置包括:接收单元、获取单元、第一扩展单元、第二扩展单元和响应单元;
所述接收单元,用于接收查询请求;
所述获取单元,用于当所述接收单元接收到查询请求时,获取该请求携带的起始顶点的集合V、扩展的层次数L和返回的路径数量N;
所述第一扩展单元,用于针对获取单元中的V中的每个起始顶点扩展M层,将每个起始顶点对应的扩展信息分别记录到一个数组中;并将扩展过程中经过的顶点和边使用邻接表进行缓存;将V中的两两起始顶点对应的扩展信息求交集之后,再将所有交集内的扩展信息求并集;将并集中的扩展信息按照预设规则进行排列;并获取并集中前N条扩展信息作为初步扩展信息;其中,M小于L;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京东数字科技控股有限公司,未经京东数字科技控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910132053.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆制动力的监测
- 下一篇:包含啤酒花提取物的口腔护理组合物