[发明专利]一种最短路径查询方法及装置有效
申请号: | 201310462558.7 | 申请日: | 2013-09-30 |
公开(公告)号: | CN104518965B | 公开(公告)日: | 2018-04-20 |
发明(设计)人: | 王靓伟 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/733 | 分类号: | H04L12/733;H04L12/891 |
代理公司: | 北京同达信恒知识产权代理有限公司11291 | 代理人: | 张恺宁 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 路径 查询 方法 装置 | ||
1.一种最短路径查询方法,其特征在于,该方法包括:
确定并存储数据库中的每个节点分别所属的每一级别的聚合区域,以及每个节点分别与所属的每一级别的聚合区域的中心节点之间的最短路径,和不同最高级别的聚合区域的中心节点之间的最短路径;其中,高级别的聚合区域包含多个不同的低级别的聚合区域;针对任意一级别的聚合区域,相邻的聚合区域最多包括一个公共节点或最多包括一个比所述任意一级别低一级别的聚合区域;
根据存储的聚合区域及最短路径,确定查询请求中的两个节点之间的最短路径。
2.如权利要求1所述的方法,其特征在于,确定数据库中的每个节点分别所属的第一级别的聚合区域,包括:
访问数据库中的一个未被访问的度最大的节点,及与所述度最大的节点存在直接连接的边的所有节点,并将访问的所述度最大的节点及与所述度最大的节点存在直接连接的边的所有节点组成一个第一级别的聚合区域;
重复上述步骤,直到访问完数据库中的所有节点。
3.如权利要求2所述的方法,其特征在于,确定数据库中的每个节点分别所属的第N级别的聚合区域,N为大于1的正整数,包括:
以每个第N-1级别的聚合区域为一个第N-1级别的虚拟节点,访问数据库中的一个未被访问的度最大的第N-1级别的虚拟节点,及与所述度最大的第N-1级别的虚拟节点存在直接连接的边的所有第N-1级别的虚拟节点,并将访问的所述度最大的第N-1级别的虚拟节点及与所述度最大的第N-1级别的虚拟节点存在直接连接的边的所有第N-1级别的虚拟节点组成一个第N级别的聚合区域;
重复上述步骤,直到访问完数据库中的所有第N-1级别的虚拟节点。
4.如权利要求1~3任一所述的方法,其特征在于,确定数据库中的每个节点分别与所属的每一级别的聚合区域的中心节点之间的最短路径,包括:
根据确定的每个节点分别与所属的低级别的聚合区域的中心节点之间的最短路径,确定数据库中的每个节点分别与所属的高级别的聚合区域的中心节点之间的最短路径。
5.如权利要求1~3任一所述的方法,其特征在于,根据存储的聚合区域及最短路径,确定查询请求中的两个节点之间的最短路径之前,还包括:
确定所述查询请求中的两个节点之间不存在直接连接的边。
6.如权利要求1~3任一所述的方法,其特征在于,根据存储的聚合区域及最短路径,确定查询请求中的两个节点之间的最短路径,包括:
若确定所述查询请求中的两个节点属于不同的最高级别的聚合区域,则将所述两个节点分别与所属的最高级别的聚合区域的中心节点之间的最短路径,以及所述两个节点分别所属的最高级别的聚合区域的中心节点之间的最短路径作为所述两个节点之间的最短路径;
若确定所述查询请求中的两个节点属于相同的最高级别的聚合区域,则判断是否存在所述两个节点所属的不同的第M级别的聚合区域,其中,M为正整数,所述第M级别为所述两个节点所属的不同的同一级别的聚合区域中的最高级别;若存在,则将所述两个节点分别与所属的第M+1级别的聚合区域的中心节点之间的最短路径作为所述两个节点之间的最短路径,若不存在,则将所述两个节点分别与所属的第一级别的聚合区域的中心节点之间的最短路径作为所述两个节点之间的最短路径。
7.一种最短路径查询装置,其特征在于,该装置包括:
第一确定模块,用于确定并存储数据库中的每个节点分别所属的每一级别的聚合区域,以及每个节点分别与所属的每一级别的聚合区域的中心节点之间的最短路径,和不同最高级别的聚合区域的中心节点之间的最短路径;其中,高级别的聚合区域包含多个不同的低级别的聚合区域;针对任意一级别的聚合区域,相邻的聚合区域最多包括一个公共节点或最多包括一个比所述任意一级别低一级别的聚合区域;
第二确定模块,用于根据存储的聚合区域及最短路径,确定查询请求中的两个节点之间的最短路径。
8.如权利要求7所述的装置,其特征在于,所述第一确定模块具体用于:
访问数据库中的一个未被访问的度最大的节点,及与所述度最大的节点存在直接连接的边的所有节点,并将访问的所述度最大的节点及与所述度最大的节点存在直接连接的边的所有节点组成一个第一级别的聚合区域;
重复上述步骤,直到访问完数据库中的所有节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310462558.7/1.html,转载请声明来源钻瓜专利网。