环路检测方法及装置制造方法及图纸

技术编号:39673906 阅读:11 留言:0更新日期:2023-12-11 18:39
本申请实施例提供一种环路检测方法,所述方法包括:在发起回源的情况下,获取本节点的

【技术实现步骤摘要】
环路检测方法及装置


[0001]本申请涉及计算机
,特别涉及一种环路检测方法

装置

计算机设备及存储介质


技术介绍

[0002]RTMP
协议
(
实时信息传输协议
)
是一种用于低延迟

实时音视频和数据传输的双向互联网通信协议,具有稳定

兼容性强

高穿透的特点,常被应用于流媒体直播

点播等有稳定传输需求的场景

以直播为例,直播用户通过
RTMP
协议推流至源站服务器,观众用户就近访问边缘
CDN
节点,边缘
CDN
节点层层回源,通过
RTMP
协议从源站服务器拉流到直播内容,再将直播内容返回给观众用户

[0003]CDN
节点在回源时,会从回源中心获取回源地址来进行回源

然而,由于
CDN
服务器集群中有服务器上线

下线

回源中心提供的回源路径成环或者回源失败的降级等原因,
CDN
回源过程可能会出现环路

例如,对于同一条
URL
的流
(

app

stream
相同
)

CDN
节点
A
r/>CDN
节点
B
回源,
CDN
节点
B

CDN
节点
C
回源,
CDN
节点
C
又到
CDN
节点
A
回源,则该流在
CDN
节点
A、CDN
节点
B、CDN
节点
C
之间形成环路

[0004]由于环路会导致同一段数据流在
CDN
之间回转,形成流量风暴,打高
CDN

CPU、
内存和带宽,导致用户无法正常观看直播或点播,因此需要避免环路的产生

然而,目前并没有一种有效的技术手段来检测回源过程是否存在环路


技术实现思路

[0005]本申请的目的在于提供一种环路检测方法

装置

计算机设备及存储介质,用于解决目前无法检测回源过程是否存在环路的技术问题

[0006]本申请实施例的一个方面提供了一种环路检测方法,包括:在发起回源的情况下,获取本节点的
ID
信息,并将本节点的
ID
信息记录在目标协议的自定义指令中;将所述自定义指令传递至回源的下一节点;在接收到其余节点传递的自定义指令的情况下,获取本节点的
ID
信息和接收到的自定义指令中的
ID
信息;在本节点的
ID
信息与接收到的自定义指令中的
ID
信息不同的情况下,将接收到的自定义指令传递至回源的下一节点;在本节点的
ID
信息与接收到的自定义指令中的
ID
信息相同的情况下,确定回源过程存在环路

[0007]可选地,方法还包括:在接收到其余节点传递的自定义指令的情况下,确定本节点是否为推流点;在确定本节点为推流点的情况下,结束接收到的自定义指令的传递过程

[0008]可选地,在所述确定回源过程存在环路之后,还包括:结束环路对应的回源过程并重新获取回源地址

[0009]可选地,所述目标协议为
RTMP
协议,所述自定义指令为自定义
AMF
指令

[0010]可选地,在所述将所述自定义指令传递至回源的下一节点之前,或者在将接收到的自定义指令传递至回源的下一节点之前,还包括:接收回源的下一节点返回的响应消息,其中,所述响应消息包括是否支持环路检测的信息;在所述响应消息包括不支持环路检测
的信息的情况下,结束所述自定义指令的传递

[0011]可选地,所述响应消息包括自定义属性,所述自定义属性包括用于表示是否支持环路检测的信息

[0012]本申请实施例的一个方面又提供了一种环路检测装置,包括:第一获取模块,用于在发起回源的情况下,获取本节点的
ID
信息,并将本节点的
ID
信息记录在目标协议的自定义指令中;发送模块,用于将所述自定义指令传递至回源的下一节点;第二获取模块,用于在接收到其余节点传递的自定义指令的情况下,获取本节点的
ID
信息和接收到的自定义指令中的
ID
信息;传递模块,用于在本节点的
ID
信息与接收到的自定义指令中的
ID
信息不同的情况下,将接收到的自定义指令传递至回源的下一节点;确定模块,用于在本节点的
ID
信息与接收到的自定义指令中的
ID
信息相同的情况下,确定回源过程存在环路

[0013]可选地,所述目标协议为
RTMP
协议,所述自定义指令为自定义
AMF
指令

[0014]本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器

处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现上述的环路检测方法的步骤

[0015]本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行上述的环路检测方法的步骤

[0016]本申请实施例提供的环路检测方法

装置

计算机设备及存储介质,包括以下优点:
[0017]通过在发起回源的情况下,获取本节点的
ID
信息,并将本节点的
ID
信息记录在目标协议的自定义指令中,将自定义指令传递至回源的下一节点;在接收到其余节点传递的自定义指令的情况下,获取本节点的
ID
信息和接收到的自定义指令中的
ID
信息,在本节点的
ID
信息与接收到的自定义指令中的
ID
信息不同的情况下,将接收到的自定义指令传递至回源的下一节点;在本节点的
ID
信息与接收到的自定义指令中的
ID
信息相同的情况下,确定回源过程存在环路,可以有效地检测回源过程中是否存在环路本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种环路检测方法,其特征在于,包括:在发起回源的情况下,获取本节点的
ID
信息,并将本节点的
ID
信息记录在目标协议的自定义指令中;将所述自定义指令传递至回源的下一节点;在接收到其余节点传递的自定义指令的情况下,获取本节点的
ID
信息和接收到的自定义指令中的
ID
信息;在本节点的
ID
信息与接收到的自定义指令中的
ID
信息不同的情况下,将接收到的自定义指令传递至回源的下一节点;在本节点的
ID
信息与接收到的自定义指令中的
ID
信息相同的情况下,确定回源过程存在环路
。2.
根据权利要求1所述的环路检测方法,其特征在于,还包括:在接收到其余节点传递的自定义指令的情况下,确定本节点是否为推流点;在确定本节点为推流点的情况下,结束接收到的自定义指令的传递过程
。3.
根据权利要求2所述的环路检测方法,其特征在于,在所述确定回源过程存在环路之后,还包括:结束环路对应的回源过程并重新获取回源地址
。4.
根据权利要求1‑3任一项所述的环路检测方法,其特征在于,所述目标协议为
RTMP
协议,所述自定义指令为自定义
AMF
指令
。5.
根据权利要求4所述的环路检测方法,其特征在于,在所述将所述自定义指令传递至回源的下一节点之前,或者在将接收到的自定义指令传递至回源的下一节点之前,还包括:接收回源的下一节点返回的响应消息,其中,所述响应消息包括是否支持环路检测的信息;在所述响应消息包括不支持环路检测的信息的情况下,结束所述自定义指令的传递
。6.

【专利技术属性】
技术研发人员:陆雍南刘勇江杨成进张建锋
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:

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

1