路径规划方法、装置、设备及存储介质与流程

文档序号:19901812发布日期:2020-02-11 13:58阅读:241来源:国知局
路径规划方法、装置、设备及存储介质与流程

本发明涉及互联网技术领域,尤其涉及一种路径规划方法、装置、设备及存储介质。



背景技术:

路径规划是指构成路径的策略,其中,路径是指连接起点位置和终点位置的序列点或曲线。

路径规划在很多领域都具有广泛的应用。在高新科技领域的应用有:机器人的自主无碰行动;无人机的避障突防飞行;巡航导弹躲避雷达搜索、防反弹袭击、完成突防爆破任务等。在日常生活领域的应用有:全球定位系统(globalpositioningsystem,gps)导航、基于地理信息系统(geographicinformationsystem,gis)的道路规划、城市道路网规划导航等。在决策管理领域的应用有:物流管理中的车辆问题及类似的资源管理资源配置问题。通信技术领域的路由问题等。凡是可拓扑为点线网络的规划问题基本上都可以采用路径规划的方法解决。

目前,针对路由问题的路径规划主要采用迪杰斯特拉(dijkstra)算法,但dijkstra算法仅依据网络中节点的距离,这就使得所规划出的路径,有可能会造成网络拥塞,使网络数据传输性能下降。



技术实现要素:

本发明实施例提供一种路径规划方法、装置、设备及存储介质,能够避免网络拥塞和网络数据传输性能下降。

一方面,本发明实施例提供了一种路径规划方法,方法包括:

确定目标网络中的源节点和目标节点;

根据目标网络的网络参数,计算源节点至目标节点的多条路径的动态递归值,其中,网络参数至少包括目标网络中节点的带宽;

根据动态递归值,在多条路径中确定源节点至目标节点的最优路径。

在本发明的一个实施例中,根据目标网络的网络参数,计算源节点至目标节点的多条路径的动态递归值,包括:

建立源节点至目标节点的二维数组,其中,二维数组的行和列均为节点标识信息,二维数组的元素值为根据目标网络的网络参数计算得到的值;

针对源节点至目标节点的多条路径中的目标路径,将目标路径对应的二维数组的元素值的和,作为目标路径的动态递归值,其中,目标路径为从源节点至目标节点的多条路径中选取的路径。

在本发明的一个实施例中,网络参数还包括以下所列项中的一种或几种组合:

节点的往返时延、节点的带宽成本和节点间的距离。

在本发明的一个实施例中,根据动态递归值,在多条路径中确定源节点至目标节点的最优路径,包括:

在所述多条路径中,将动态递归值中的最小动态递归值对应的路径,作为源节点至目标节点的最优路径。

在本发明的一个实施例中,将动态递归值中的最小动态递归值对应的路径,作为源节点至目标节点的最优路径,包括:

根据动态递归值,从多条路径中确定最小动态递归值对应的路径;

计算最小动态递归值对应的路径中源节点至目标节点之间的每个节点当前的带宽利用率;

若带宽利用率不大于预设带宽利用率,则将最小动态递归值对应的路径,作为源节点至目标节点的最优路径。

在本发明的一个实施例中,目标网络为内容分发网络(contentdeliverynetwork,cdn)。

另一方面,本发明实施例提供了一种路径规划装置,装置包括:

确定模块,用于确定目标网络中的源节点和目标节点;

计算模块,用于根据目标网络的网络参数,计算源节点至目标节点的多条路径的动态递归值,其中,网络参数至少包括目标网络中节点的带宽;

规划模块,用于根据动态递归值,在多条路径中确定源节点至目标节点的最优路径。

在本发明的一个实施例中,计算模块具体用于:

建立源节点至目标节点的二维数组,其中,二维数组的行和列均为节点标识信息,二维数组的元素值为根据目标网络的网络参数计算得到的值;

针对源节点至目标节点的多条路径中的目标路径,将目标路径对应的二维数组的元素值的和,作为目标路径的动态递归值,其中,目标路径为从源节点至目标节点的多条路径中选取的路径。

在本发明的一个实施例中,网络参数还包括以下所列项中的一种或几种组合:

节点的往返时延、节点的带宽成本和节点间的距离。

在本发明的一个实施例中,规划模块具体用于:

在所述多条路径中,将动态递归值中的最小动态递归值对应的路径,作为源节点至目标节点的最优路径。

在本发明的一个实施例中,规划模块具体用于:

根据动态递归值,从多条路径中确定最小动态递归值对应的路径;

计算最小动态递归值对应的路径中源节点至目标节点之间的每个节点当前的带宽利用率;

若带宽利用率不大于预设带宽利用率,则将最小动态递归值对应的路径,作为源节点至目标节点的最优路径。

在本发明的一个实施例中,目标网络为内容分发网络cdn。

再一方面,本发明实施例提供一种路径规划设备,设备包括:存储器和处理器;

存储器用于存储可执行程序代码;

处理器用于读取存储器中存储的可执行程序代码以执行本发明实施例提供的路径规划方法。

再一方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令;计算机程序指令被处理器执行时实现本发明实施例提供的路径规划方法。

本发明实施例的路径规划方法、装置、设备及存储介质,在路径规划时考虑带宽因素,能够避免网络拥塞和网络数据传输性能下降。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明实施例提供的路径规划方法的流程示意图;

图2示出了本发明实施例提供的目标网络的示意图;

图3示出了本发明实施例提供的路径规划装置的结构示意图;

图4示出了能够实现根据本发明实施例的路径规划方法和装置的计算设备的示例性硬件架构的结构图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

目前,针对路由问题的路径规划主要采用dijkstra算法,但dijkstra算法仅依据网络中节点的距离,这就使得所规划出的路径,有可能会造成网络拥塞,使网络数据传输性能下降。基于此,本发明实施例提供一种路径规划方法、装置、设备及存储介质,来避免网络拥塞和网络数据传输性能下降。下面首先对本发明实施例提供的路径规划方法进行介绍。

如图1所示,图1示出了本发明实施例提供的路径规划方法的流程示意图。路径规划可以包括:

s101:确定目标网络中的源节点和目标节点。

s102:根据目标网络的网络参数,计算源节点至目标节点的多条路径的动态递归值。

其中,网络参数至少包括目标网络中节点的带宽。

s103:根据动态递归值,在多条路径中确定源节点至目标节点的最优路径。

示例性的,假设目标网络如图2所示。图2示出了本发明实施例提供的目标网络的示意图。该目标网络包括7个节点,分别为节点1至节点7。其中,节点6存储有源站1的数据,节点7存储有源站2的数据。节点6和节点7仅具备提供数据的功能。

在本发明的一个实施例中,上述源节点可以为接收到用户访问请求的节点,目标节点可以为存储有用户访问数据的节点。因此,在确定目标网络中的源节点时,可以将接收到用户访问请求的节点作为源节点;在确定目标网络中的目标节点时,可以将存储有用户访问数据的节点作为目标节点。

假设用户欲访问源站2的数据,则将存储有源站2的数据的节点7作为目标节点;接收到用户请求的节点为节点1,则将节点1作为源节点。

节点1至节点7的路径有10条。节点1至节点7的10条路径分别为:

路径a:节点1->节点7。

路径b:节点1->节点4->节点7。

路径c:节点1->节点2->节点5->节点7。

路径d:节点1->节点4->节点5->节点7。

路径e:节点1->节点2->节点3->节点5->节点7。

路径f:节点1->节点2->节点4->节点5->节点7。

路径g:节点1->节点2->节点3->节点4->节点5->节点7。

路径h:节点1->节点2->节点3->节点5->节点4->节点7。

路径i:节点1->节点2->节点4->节点3->节点5->节点7。

路径j:节点1->节点2->节点5->节点3->节点4->节点7。

则根据至少包括目标网络节点的带宽的网络参数,计算上述10条路径每条路径的动态递归值。然后再根据每条路径的动态递归值,从上述10条路径中确定节点1至节点7的最优路径。

在本发明的一个实施例中,在根据节点的带宽,计算路径的动态递归值时,可以根据节点的总带宽进行计算,还可以根据节点的剩余带宽进行计算。

比如,对于路径b:节点1->节点4->节点7,节点4的剩余带宽为10兆(m),节点7的剩余带宽为25m。由于节点4的剩余带宽小于节点7的剩余带宽,数据传输受路径中的最小剩余带宽对应的节点限制,因此可以将10m直接作为路径b的动态递归值。

在本发明的一个实施例中,在确定目标网络中的源节点和目标节点时,可以将目标网络中的任一节点作为源节点,将该源节点之外的其他节点均作为目标节点。基于目标网络的全局进行路径规划。

在本发明的一个实施例中,根据目标网络的网络参数,计算源节点至目标节点的多条路径的动态递归值,可以包括:建立源节点至目标节点的二维数组,其中,二维数组的行和列均为节点标识信息,二维数组的元素值为根据目标网络的网络参数计算得到的值。针对源节点至目标节点的多条路径中的目标路径,将目标路径对应的二维数组的元素值的和,作为目标路径的动态递归值,其中,目标路径为从源节点至目标节点的多条路径中选取的路径。

示例性的,还以上述图2所示的目标网络为例进行说明。

基于图2所示的目标网络建立的二维数组如表1所示。

表1

其中,元素值ij为根据图2所示的目标网络的网络参数得到的,其中,i和j均为节点编号。

以计算节点1至节点7的路径f为例进行动态递归值计算的说明。

以dp(x,y)代表从源节点到目标节点x经过y跳的路径的动态递归值。

则dp(7,1)代表上述一条路径的动态递归值,即上述路径a的动态递归值;dp(7,2)代表上述一条路径的动态递归值,即上述路径b的动态递归值;dp(7,3)代表上述两条路径的动态递归值,即上述路径c和路径d的动态递归值;dp(7,4)代表上述两条路径的动态递归值,即上述路径e和路径f的动态递归值;dp(7,5)代表上述四条路径的动态递归值,即上述路径g、路径h、路径i和路径j的动态递归值。

对于路径g的动态递归值dp(7,5)而言,

dp(7,5)=dp(5,4)+元素值57=dp(4,3)+元素值45+元素值57=dp(3,2)+元素值34+元素值45+元素值57=dp(2,1)+元素值23+元素值34+元素值45+元素值57=dp(1,0)+元素值12+元素值23+元素值34+元素值45+元素值57。

由于dp(1,0)代表从源节点到目标节点1经过0跳的路径的动态递归值,因此dp(1,0)为0。由路径g的动态递归值dp(7,5)推导过程可见,路径g的动态递归值dp(7,5)等于路径g对应的元素值12、元素值23、元素值34、元素值45和元素值57的和。

相应的,可以将计算出其他路径的动态递归值。

在本发明的一个实施例中,网络参数还包括以下所列项中的一种或几种组合:节点的往返时延、节点的带宽成本和节点间的距离。基于此,元素值ij可以等于a*rtt+b*price+c*bandwidth+d*distance。

其中,rtt为节点i到节点j的往返时延;price为节点j的带宽成本;bandwidth为节点j的带宽;distance为节点i至节点j的距离。节点i到节点j的往返时延为:从节点i发送数据开始,到节点i收到节点j的确认,总共经历的时长,其中,节点j收到数据后便立即发送确认。假设节点j使用电信服务商提供的网络,其中价格为1千兆1万元,则节点j的带宽成本为每兆10元。上述a、b、c和d分别为:rtt、price、bandwidth和distance对应的权重值。

在本发明的一个实施例中,bandwidth可以为节点j的剩余带宽(未使用带宽),还可以为节点j的已使用带宽。

在本发明的一个实施例中,上述a、b、c和d可以为预先设置的,也可以为通过训练算法(比如,神经网络)训练得到的。

在本发明的一个实施例中,还可以对元素值ij进行归一化处理,还可以对路径的动态递归值进行归一化处理。

可以理解的是,往返时延rtt和带宽bandwidth为动态变化的,并且源节点至目标节点的路径的值是通过递归方式计算得到的。因此,将源节点至目标节点的路径的值成为动态递归值。

在本发明的一个实施例中,根据动态递归值,在多条路径中确定源节点至目标节点的最优路径,可以包括:在所述多条路径中,将动态递归值中的最小动态递归值对应的路径,作为源节点至目标节点的最优路径。

示例性的,假设上述10条路径中的路径e对应的动态递归值最小,则将路径e作为节点1至节点e的最优路径。

在本发明的一个实施例中,将动态递归值中的最小动态递归值对应的路径,作为源节点至目标节点的最优路径,可以包括:根据动态递归值,从多条路径中确定最小动态递归值对应的路径;计算最小动态递归值对应的路径中源节点至目标节点之间的每个节点当前的带宽利用率;若所计算得到的带宽利用率不大于预设带宽利用率,则将最小动态递归值对应的路径,作为源节点至目标节点的最优路径。可以理解的是,带宽利用率越大,表示节点的带宽资源剩余越少,越不利于数据传输,越容易阻塞。

示例性的,假设根据动态递归值,确定出上述10条路径中的路径e对应的动态递归值最小,则计算路径e中节点1至节点7之间的节点2、节点3和节点5每个节点当前的带宽利用率。

若节点2、节点3和节点5三个节点的带宽利用率均小于预设带宽利用率,则将路径e作为节点1至节点7的最优路径。

若节点2、节点3和节点5三个节点中存在任意一个节点的带宽利用率不小于预设带宽利用率,则从除路径e之外的其余9条路径中确定最小动态递归值对应的路径,然后再计算此时所确定出的路径中节点1至节点7之间的每个节点当前的带宽利用率。

若此时所确定出的路径中节点1至节点7之间的每个节点当前的带宽利用率均小于预设带宽利用率,则将此时所确定出的路径作为节点1至节点7的最优路径。

若此时所确定出的路径中节点1至节点7之间的节点中存在任意一个节点的带宽利用率不小于预设带宽利用率,则继续从剩余的路径中确定最小动态递归值对应的路径,按照上述过程确定最优路径。

在本发明的一个实施例中,上述目标网络可以为内容分发网络cdn。其中,cdn网络尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,cdn系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决internet网络拥挤的状况,提高用户访问网站的响应速度。

需要说明的是,本发明实施例以图2所示目标网络以及规划节点1至节点7的路径为例进行说明,仅为本发明的一具体实例,并不构成对本发明的限定。

本发明实施例的路径规划方法,在路径规划时考虑带宽因素,能够避免网络拥塞和网络数据传输性能下降。

与上述的方法实施例相对应,本发明实施例还提供一种路径规划装置。如图3所示,图3示出了本发明实施例提供的路径规划装置的结构示意图。路径规划可以包括:

确定模块301,用于确定目标网络中的源节点和目标节点。

计算模块302,用于根据目标网络的网络参数,计算源节点至目标节点的多条路径的动态递归值。

其中,网络参数至少包括目标网络中节点的带宽;

规划模块303,用于根据动态递归值,在多条路径中确定源节点至目标节点的最优路径。

在本发明的一个实施例中,计算模块302具体可以用于:

建立源节点至目标节点的二维数组,其中,二维数组的行和列均为节点标识信息,二维数组的元素值为根据目标网络的网络参数计算得到的值;

针对源节点至目标节点的多条路径中的目标路径,将目标路径对应的二维数组的元素值的和,作为目标路径的动态递归值,其中,目标路径为从源节点至目标节点的多条路径中选取的路径。

在本发明的一个实施例中,网络参数还包括以下所列项中的一种或几种组合:

节点的往返时延、节点的带宽成本和节点间的距离。

在本发明的一个实施例中,规划模块303具体可以用于:

在所述多条路径中,将动态递归值中的最小动态递归值对应的路径,作为源节点至目标节点的最优路径。

在本发明的一个实施例中,规划模块303具体可以用于:

根据动态递归值,从多条路径中确定最小动态递归值对应的路径;

计算最小动态递归值对应的路径中源节点至目标节点之间的每个节点当前的带宽利用率;

若计算得到的带宽利用率不大于预设带宽利用率,则将最小动态递归值对应的路径,作为源节点至目标节点的最优路径。

在本发明的一个实施例中,目标网络为cdn。

本发明实施例图3所示的路径规划装置的各部分细节与以上图1所示的本发明实施例的路径规划方法类似,本发明实施例在此不再赘述。

本发明实施例的路径规划装置,在路径规划时考虑带宽因素,能够避免网络拥塞和网络数据传输性能下降。

图4示出了能够实现根据本发明实施例的路径规划方法和装置的计算设备的示例性硬件架构的结构图。如图4所示,计算设备400包括输入设备401、输入接口402、中央处理器403、存储器404、输出接口405、以及输出设备406。其中,输入接口402、中央处理器403、存储器404、以及输出接口405通过总线410相互连接,输入设备401和输出设备406分别通过输入接口402和输出接口405与总线410连接,进而与计算设备400的其他组件连接。

具体地,输入设备401接收来自外部的输入信息,并通过输入接口402将输入信息传送到中央处理器403;中央处理器403基于存储器404中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器404中,然后通过输出接口405将输出信息传送到输出设备406;输出设备406将输出信息输出到计算设备400的外部供用户使用。

也就是说,图4所示的计算设备也可以被实现为路径规划设备,该路径规划设备可以包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1至图3描述的路径规划方法和装置。

本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例提供的路径规划方法。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1