[发明专利]一种基于近似算法的最短路径查询方法和系统有效
申请号: | 202011289860.3 | 申请日: | 2020-11-18 |
公开(公告)号: | CN112380460B | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 李肯立;黄阳;周旭;陈岑;杨志邦;曾源远;罗文晟 | 申请(专利权)人: | 湖南大学 |
主分类号: | G06F16/9537 | 分类号: | G06F16/9537;G06Q10/04;H04L67/568 |
代理公司: | 武汉臻诚专利代理事务所(普通合伙) 42233 | 代理人: | 宋业斌 |
地址: | 410082 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 近似 算法 路径 查询 方法 系统 | ||
1.一种基于近似算法的最短路径查询方法,其特征在于,包括以下步骤:
(1)以固定的时间间隔接收来自多个用户的多个路径查询请求,每个路径查询请求包括其对应路径的起始点、目标点、起始点与目标点之间的欧几里得距离;
(2)根据所有路径查询请求对应路径的收益确定代表路径,将该代表路径作为当前代表路径存储在服务器的缓存中,从所有路径查询请求中选择与代表路径夹角为30°的所有路径,并将所有路径中目标点位于当前代表路径上的路径返回给客户端;
(3)针对步骤(2)中每一条其对应路径没有被返回给客户端的路径查询请求而言,在服务器的缓存中对该路径查询请求进行查询处理,以得到该路径查询请求对应的最短路径,并将该最短路径返回到客户端;步骤(3)包括以下子步骤:
(3-1)设置计数器a=1;
(3-2)判断a是否大于等于所有其对应路径没有被返回给客户端的路径查询请求的总数,若是则过程结束,否则进入步骤(3-3);
(3-3)设置计数器b=1;
(3-4)判断b是否等于缓存中的最大存储路径数量,若是则进入步骤(3-8),否则进入步骤(3-5);
(3-5)在服务器的缓存中,判断缓存中的第b条代表路径上的节点是否包含所有其对应路径没有被返回给客户端的路径查询请求中的第a条路径查询请求对应的路径的起始点和目标点,如果是则进入步骤(3-6),否则进入步骤(3-7);
(3-6)将缓存中第b条代表路径,作为所有其对应路径没有被返回给客户端的路径查询请求中的第a条路径查询请求的路径查询结果,并将该路径查询结果返回到客户端,然后转入步骤(3-29);
(3-7)设置b=b+1,并返回步骤(3-4);
(3-8)针对所有其对应路径没有被返回给客户端的路径查询请求中的第a条路径查询请求而言,将其对应路径的长度设置为无穷大;
(3-9)设置计数器c=1,d=1,e=1,并初始化数组SO、SD为空;
(3-10)判断c是否大于等于服务器的缓存所能存储的最大路径查询请求数,若是则进入步骤(3-18),否则进入步骤(3-11);
(3-11)判断服务器的缓存中存储的第c条代表路径上是否包含所有其对应路径没有被返回给客户端的路径查询请求中第a条路径查询请求对应路径的起始点,如果是则进入步骤(3-12),否则进入步骤(3-14);
(3-12)将服务器的缓存中存储的第c条代表路径存储到数组SO;
(3-13)设置d=d+1,并进入步骤(3-17);
(3-14)判断缓存中存储的第c条代表路径上是否包含所有其对应路径没有被返回给客户端的路径查询请求中第a条路径查询请求对应路径的目标点,如果是则进入步骤(3-15),否则进入步骤(3-17);
(3-15)将第c条代表路径存储到数组SD;
(3-16)设置e=e+1,并进入步骤(3-17);
(3-17)设置c=c+1,并返回步骤(3-10);
(3-18)设置计数器f=1,g=1;
(3-19)判断f是否大于等于数组SO中存储的代表路径的数量d,如果是则进入步骤(3-27),否则进入步骤(3-20);
(3-20)判断g是否大于等于数组SD中存储的代表路径的数量e,如果是则进入步骤(3-26),否则进入步骤(3-21);
(3-21)判断数组SO中存储的第f条代表路径和数组SD中存储的第g条代表路径是否有公共节点vm,若是进入步骤(3-22),否则进入步骤(3-25);
(3-22)对于所有其对应路径没有被返回给客户端的路径查询请求中第a条路径查询请求对应的每一条路径而言,判断是否有等式成立,若是则进入步骤(3-23),否则进入步骤(3-25),其中ρ表示约束阈值,dis(vovm)表示从起始点vo到公共节点vm的路径的长度,dis(vmvd)表示从公共节点vm到目标点vd的路径的长度,ρ为给定的约束阈值,|vovd|表示从起始点vo到目标点vd的欧几里得距离;
(3-23)针对所有其对应路径没有被返回给客户端的路径查询请求中的第a条路径查询请求而言,判断其对应路径中从起始点vo到公共节点vm再到目标点vd的路径的长度dis(vovmvd)是否大于等于路径的长度dis(vovd),如果是则进入步骤(3-25),否则进入步骤(3-24),且有dis(vovmvd)=dis(vovm)+dis(vmvd);
(3-24)对于所有其对应路径没有被返回给客户端的路径查询请求中的第a条路径查询请求而言,将其对应路径的长度设置为dis(vovm)=dis(vovmvd),并将从起始点vo到目标点vd的路径设置为从起始点vo到公共节点vm再到目标点vd的路径;
(3-25)设置g=g+1,并返回步骤(3-20);
(3-26)设置f=f+1,并返回步骤(3-19);
(3-27)判断所有其对应路径没有被返回给客户端的路径查询请求中第a条路径查询请求q=(vo,vd)对应路径的长度dis(vovm)是否是无穷大,如果是则进入步骤(3-29),否则进入步骤(3-28);
(3-28)向客户端返回所有其对应路径没有被返回给客户端的路径查询请求中第a条路径查询请求对应的路径vo→vm→vd,以及路径的长度dis(vovmvd);
(3-29)设置a=a+1,并返回步骤(3-2);
(4)针对步骤(2)和(3)处理完毕后,步骤(1)得到的所有路径查询请求中所有其对应路径还没有被返回给客户端的每条路径查询请求而言,利用双向A*算法对该路径查询请求对应路径的起始点到目标点进行处理,以得到该路径查询请求对应的路径,并将该路径返回给客户端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大学,未经湖南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011289860.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种大型水上飞机舵面悬挂结构
- 下一篇:一种用于焊接的工装定位平台