一种基于内容分发网络的路径计算方法及装置制造方法及图纸

技术编号:38106974 阅读:12 留言:0更新日期:2023-07-06 09:29
本申请公开了一种基于内容分发网络的路径计算方法及装置,通过起始节点与源站地址之间的所有父层节点以及任意两个相邻节点之间的路径值构建有向图,并结合深度优先遍历算法、路径阈值以及跳数阈值来控制整个路径求解过程中的回溯点,不仅利于收敛计算量,使其在超多节点两两互相探测的场景下依然能很好支持计算多个较优路径;其次引入小顶堆数据结构,速度快且空间使用少,高效解决计算多个较优路径的排序问题,进而提高整体效率。进而提高整体效率。进而提高整体效率。

【技术实现步骤摘要】
一种基于内容分发网络的路径计算方法及装置


[0001]本申请属于网络数据传输
,特别的涉及一种基于内容分发网络的路径计算方法及装置。

技术介绍

[0002]内容分发网络,一般指构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容以及降低网络拥塞,提高用户访问响应速度和命中率。在内容分发网络中,动态加速是针对客户源站需要动态交互的内容进行的内容分发网络加速服务,除了利用压缩传输、协议优化、链路复用和内核优化等自研技术手段外,通过智能选路实时计算出一条优质回源路径也是非常关键的一个环节。
[0003]在现有的一些计算优质回源路径的技术中,每次只能获取一条较优路径,计算速度相对较快,但对于需要获取到达同一个目标节点的其它次优路径时不适用;且随着内容分发网络业务发展,边缘主机组增多以及探测数据量急剧增大,尤其是内容分发网络内部两两互相探测的节点增多,导致在计算多个最优路径时计算量过大,以及对于多个最优路径排序的效率带来极大影响。

技术实现思路

[0004]本申请为解决上述提到的对于需要获取到达同一个目标节点的其它次优路径时不适用;且随着内容分发网络业务发展,边缘主机组增多以及探测数据量急剧增大,尤其是内容分发网络内部两两互相探测的节点增多,导致在计算多个最优路径时计算量过大,以及对于多个最优路径排序的效率带来极大影响等技术缺陷,提出一种基于内容分发网络的路径计算方法及装置,其技术方案如下:第一方面,本申请实施例提供了一种基于内容分发网络的路径计算方法,包括:根据接收到的客户请求确定起始节点以及源站地址,并基于源站地址的解析处理结果得到至少两个源站节点;基于预设的数据库查找出起始节点与每个源站节点之间的所有父层节点,并在起始节点、每个源站节点以及所有父层节点中获取任意两个相邻节点之间的网络探测数据,根据预设的权重值以及网络探测数据计算出任意两个相邻节点之间的路径值;根据起始节点、源站地址、所有父层节点以及任意两个相邻节点之间的路径值构建有向图,并判断起始节点到每个源站节点之间是否开启计算路径功能;当检测到起始节点到每个源站节点之间开启计算路径功能时,基于深度优先遍历算法对有向图进行路径求解,并当检测到第m求解路径的总路径值未超过预设路径阈值时,判断第m求解路径是否写入小顶堆数据结构;其中,第m求解路径包括起始节点以及至少一个父层节点,m为正整数,小顶堆数据结构设置n个求解路径存储位置,n为预设个数阈值;当在预设时间间隔内检测到小顶堆数据结构未写入求解路径时,将小顶堆数据结
构内的所有求解路径作为目标求解路径。
[0005]在第一方面的一种可选方案中,在判断起始节点到每个源站节点之间是否开启计算路径功能之后,还包括:当检测到起始节点到每个源站节点之间未开启计算路径功能时,在与起始节点相邻的所有父层节点中确定出路径值最小的第一父层节点;在与第一父层节点相邻的所有父层节点中确定出路径值最小的第二父层节点,并直至确定出第j父层节点相邻的所有节点中包含源站地址时,将与起始节点、j个父层节点以及源站地址对应的路径作为目标求解路径;其中,j为大于2的正整数。
[0006]在第一方面的又一种可选方案中,在基于深度优先遍历算法对有向图进行路径求解之后,检测到第m求解路径的总路径值未超过预设路径阈值之前,还包括:获取当前求解路径中父层节点的个数,并根据父层节点的个数确定路径跳数;当检测到路径跳数未超过预设跳数阈值时,将当前求解路径作为第m求解路径,并根据第m求解路径中任意两个相邻节点之间的路径值计算出第m求解路径的总路径值;当检测到路径跳数超过预设跳数阈值时,判断当前求解路径中倒数第二父层节点所相邻的所有节点中是否包含源站地址;当检测到倒数第二父层节点所相邻的所有节点中包含源站地址时,将当前求解路径中倒数第一父层节点替换为源站地址,并将替换后的当前求解路径作为第m求解路径,根据第m求解路径中任意两个相邻节点之间的路径值计算出第m求解路径的总路径值。
[0007]在第一方面的又一种可选方案中,判断第m求解路径是否写入小顶堆数据结构,包括:当检测到第m求解路径中包含源站地址时,若m小于或等于n,将第m求解路径写入小顶堆数据结构,并按照总路径值从大到小的顺序对小顶堆数据结构中所有的求解路径进行排序;其中,小顶堆数据结构中的堆尾为总路径值最大的求解路径。
[0008]在第一方面的又一种可选方案中,判断第m求解路径是否写入小顶堆数据结构,还包括:当检测到第m求解路径中包含源站地址时,若m大于n,判断第m求解路径的总路径值是否超过小顶堆数据结构中堆尾所对应的总路径值;当检测到第m求解路径的总路径值超过堆尾所对应的总路径值时,不将第m求解路径写入小顶堆数据结构;当检测到第m求解路径的总路径值未超过堆尾所对应的总路径值时,对小顶堆数据结构中堆尾所对应的求解路径进行删除处理,并将第m求解路径写入小顶堆数据结构。
[0009]在第一方面的又一种可选方案中,将第m求解路径写入小顶堆数据结构之后,还包括:按照总路径值从大到小的顺序对小顶堆数据结构中所有的求解路径重新进行排序,并将总路径值最大的求解路径重新作为小顶堆数据结构中的堆尾。
[0010]在第一方面的又一种可选方案中,网络探测数据包括丢包率、首包时间以及下载速率等至少两种。
[0011]第二方面,本申请实施例提供了一种基于内容分发网络的路径计算装置,包括:请求处理模块,用于根据接收到的客户请求确定起始节点以及源站地址,并基于
源站地址的解析处理结果得到至少两个源站节点;路径计算模块,用于基于预设的数据库查找出起始节点与每个源站节点之间的所有父层节点,并在起始节点、每个源站节点以及所有父层节点中获取任意两个相邻节点之间的网络探测数据,根据预设的权重值以及网络探测数据计算出任意两个相邻节点之间的路径值;图形构建模块,用于根据起始节点、源站地址、所有父层节点以及任意两个相邻节点之间的路径值构建有向图,并判断起始节点到每个源站节点之间是否开启计算路径功能;数据更新模块,用于当检测到起始节点到每个源站节点之间开启计算路径功能时,基于深度优先遍历算法对有向图进行路径求解,并当检测到第m求解路径的总路径值未超过预设路径阈值时,判断第m求解路径是否写入小顶堆数据结构;其中,第m求解路径包括起始节点以及至少一个父层节点,m为正整数,小顶堆数据结构设置n个求解路径存储位置,n为预设个数阈值;目标确定模块,用于当在预设时间间隔内检测到小顶堆数据结构未写入求解路径时,将小顶堆数据结构内的所有求解路径作为目标求解路径。
[0012]第三方面,本申请实施例提供了一种基于内容分发网络的路径计算装置,包括处理器以及存储器;处理器与存储器连接;存储器,用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现本申请实施例第一方面或第一方面的任意一种实现方式提供的基于内容分发网络的路径计算方法。
[0013]第四方面,本申请实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于内容分发网络的路径计算方法,其特征在于,包括:根据接收到的客户请求确定起始节点以及源站地址,并基于所述源站地址的解析处理结果得到至少两个源站节点;基于预设的数据库查找出所述起始节点与每个所述源站节点之间的所有父层节点,并在所述起始节点、每个所述源站节点以及所有所述父层节点中获取任意两个相邻节点之间的网络探测数据,根据预设的权重值以及所述网络探测数据计算出任意两个相邻节点之间的路径值;根据所述起始节点、所述源站地址、所有所述父层节点以及所述任意两个相邻节点之间的路径值构建有向图,并判断所述起始节点到每个所述源站节点之间是否开启计算路径功能;当检测到所述起始节点到每个所述源站节点之间开启所述计算路径功能时,基于深度优先遍历算法对所述有向图进行路径求解,并当检测到第m求解路径的总路径值未超过预设路径阈值时,判断所述第m求解路径是否写入小顶堆数据结构;其中,所述第m求解路径包括所述起始节点以及至少一个所述父层节点,所述m为正整数,所述小顶堆数据结构设置n个求解路径存储位置,所述n为预设个数阈值;当在预设时间间隔内检测到所述小顶堆数据结构未写入求解路径时,将所述小顶堆数据结构内的所有求解路径作为目标求解路径。2.根据权利要求1所述的方法,其特征在于,在所述判断所述起始节点到每个所述源站节点之间是否开启计算路径功能之后,还包括:当检测到所述起始节点到每个所述源站节点之间未开启所述计算路径功能时,在与所述起始节点相邻的所有所述父层节点中确定出路径值最小的第一父层节点;在与所述第一父层节点相邻的所有所述父层节点中确定出路径值最小的第二父层节点,并直至确定出第j父层节点相邻的所有节点中包含所述源站地址时,将与所述起始节点、j个所述父层节点以及所述源站地址对应的路径作为目标求解路径;其中,j为大于2的正整数。3.根据权利要求1所述的方法,其特征在于,在所述基于深度优先遍历算法对所述有向图进行路径求解之后,所述检测到第m求解路径的总路径值未超过预设路径阈值之前,还包括:获取当前求解路径中所述父层节点的个数,并根据所述父层节点的个数确定路径跳数;当检测到所述路径跳数未超过预设跳数阈值时,将所述当前求解路径作为第m求解路径,并根据所述第m求解路径中任意两个相邻节点之间的路径值计算出所述第m求解路径的总路径值;当检测到所述路径跳数超过所述预设跳数阈值时,判断所述当前求解路径中倒数第二父层节点所相邻的所有节点中是否包含所述源站地址;当检测到所述倒数第二父层节点所相邻的所有节点中包含所述源站地址时,将所述当前求解路径中倒数第一父层节点替换为所述源站地址,并将替换后的所述当前求解路径作为第m求解路径,根据所述第m求解路径中任意两个相邻节点之间的路径值计算出所述第m求解路径的总路径值。
4.根据权利要求1所述的方法,其特征在于,所述判断所述第m求解路径是否写入小顶堆数据结构,包括:当检测到所述第m求解路径中包含所述源站地址时,若m小于或等于n,将所述第m求解路径写入小顶堆数据结构,并按照总路径值从大到小的顺序对所述小顶堆数据结构中所有的求解路径进行...

【专利技术属性】
技术研发人员:罗世斌齐铁鹏郭迎尹聪聪
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1