System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 直播回源方法和装置制造方法及图纸_技高网

直播回源方法和装置制造方法及图纸

技术编号:40819635 阅读:7 留言:0更新日期:2024-03-28 19:38
本申请实施例提供了一种直播回源方法和装置,包括:接收待处理回源对应的链路信息,其中,所述链路信息中包含回源经过的机器数量和回源经过的机器标识;从所述待处理回源对应的链路信息中提取得到所述回源经过的机器数量和回源经过的机器标识;在所述回源经过的机器数量大于预设阈值的情况下,根据所述回源经过的机器标识检测所述待处理回源是否成环;在检测到所述待处理回源成环的情况下,按照预设的回源策略处理所述待处理回源,以结束所述待处理回源成环。通过当机器数量达到预设阈值的时候,每台机器都会对这个回源经过的机器标识进行检测,判断是否回源成环,来决定后续的回源策略,避免由于短时间节点信息不同步导致的回源成环的情况。

【技术实现步骤摘要】

本申请实施例涉及互联网,尤其涉及一种直播回源方法、装置、计算机设备及计算机可读存储介质。


技术介绍

1、在直播场景下利用cdn分发直播流时,可以使用不同的实时传输协议,比如基于长连接的rtmp协议和flv协议,或基于短连接的hls协议等。

2、一般的直播流在推流后都可以进行录制,用户可以选择观看实时的直播流或过去录制的直播流。现有的cdn为了降低成本和保证稳定性,会采用同一路直播流的收敛回源的方式来处理请求,这在cdn集群内部的体现就是多台机器承接用户对于同一个资源的访问,但cdn集群回源是选择一台机器来进行公网回源,以减少回源节点的压力。而在多个集群之间的体现就是从多个集群中选择一个集群来汇聚回源,实际是选择这个集群内部的一台机器来回源。通常这种选择方法都是通过一致性hash算法来完成这个选择任务。

3、虽然一致性hash算法在正常情况下是能够很完整的选择一个集群或者一个节点来回源的,但对于一个集群资源或者节点资源来说,偶尔会出现一些机器故障,例如,网络不通或者磁盘内存异常或者机器替换等情况,在这种情况下,每台机器获取到的机器的数量信息需要一个同步的过程,在同步未完成之前,每台机器中记录的hash环都会不同,会有成环的可能性,影响回源,同时也会影响用户的体验感。


技术实现思路

1、本申请实施例的目的是提供一种直播回源方法、装置、计算机设备及计算机可读存储介质,用于解决以下问题:由于进行节点信息同步时,每台机器的hash环都会不同,导致回源成环,造成集群不能正常地响应用户的请求。

2、本申请实施例的一个方面提供了一种直播回源方法,包括:

3、接收待处理回源对应的链路信息,其中,所述链路信息中包含回源经过的机器数量和回源经过的机器标识;

4、从所述待处理回源对应的链路信息中提取得到所述回源经过的机器数量和回源经过的机器标识;

5、在所述回源经过的机器数量大于预设阈值的情况下,根据所述回源经过的机器标识检测所述待处理回源是否成环;

6、在检测到所述待处理回源成环的情况下,按照预设的回源策略处理所述待处理回源,以结束所述待处理回源成环。

7、可选地,所述根据所述回源经过的机器标识检测所述待处理回源是否成环,包括:

8、根据所述回源经过的机器标识判断是否存在本机器回源的情况;

9、若存在本机器回源的情况,则确定所述待处理回源成环;

10、若不存在本机器回源的情况,则确定所述待处理回源未成环。

11、可选地,所述按照预设的回源策略处理所述待处理回源,以结束所述待处理回源成环,包括:

12、获取本机器在当前集群中所处的层级;

13、在本机器在当前集群中所处的层级为第一层级时,中断所述待处理回源;

14、在本机器在当前集群中所处的层级为非第一层级时,跳过当前集群向下一层级的集群回源。

15、可选地,所述跳过当前集群向下一层级的集群回源,包括:

16、将所述待处理回源对应的链路消息中的回源经过的机器数量增加预设数值,并在所述回源经过的机器标识中添加本机器对应的机器标识,得到新的链路消息;

17、将所述新的链路消息传输至下一层级的集群。

18、可选地,所述方法还包括:

19、在检测到所述待处理回源未成环的情况下,判断所述待处理回源是集群内的回源还是集群间的回源;

20、在确定所述待处理回源是集群内的回源的情况下,获取本机器的hash环,并根据所述本机器的hash环确定目标回源节点;

21、在确定所述待处理回源是集群间的回源的情况下,获取本机器的hash环,并根据所述本机器的hash环确定目标回源集群。

22、可选地,所述方法还包括:

23、在所述回源经过的机器数量小于或等于预设阈值的情况下,判断所述待处理回源是集群内的回源还是集群间的回源;

24、在确定所述待处理回源是集群内的回源的情况下,获取本机器的hash环,根据所述本机器的hash环确定目标回源节点;

25、在确定所述待处理回源是集群间的回源的情况下,获取本机器的hash环,根据所述本机器的hash环确定目标回源集群。

26、可选地,所述待处理回源对应的链路信息通过基于短连接的透传消息传输。

27、本申请实施例的一个方面又提供了一种直播回源装置,包括:

28、链路信息接收模块,用于接收待处理回源对应的链路信息,其中,所述链路信息中包含回源经过的机器数量和回源经过的机器标识;

29、数据提取模块,用于从所述待处理回源对应的链路信息中提取得到所述回源经过的机器数量和回源经过的机器标识;

30、成环检测模块,用于在所述回源经过的机器数量大于预设阈值的情况下,根据所述回源经过的机器标识检测所述待处理回源是否成环;

31、回源处理模块,用于在检测到所述待处理回源成环的情况下,按照预设的回源策略处理所述待处理回源,以结束所述待处理回源成环。

32、本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的直播回源方法的步骤。

33、本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行所述计算机程序时实现如上述的直播回源方法的步骤。

34、本申请实施例提供的直播回源方法、装置、设备及计算机可读存储介质,通过在待处理回源对应的链路信息中添加两个字段,其中一个字段用于记录回源经过的机器数量,另一个字段用于记录回源经过的机器标识,同时,通过预设阈值设置回源机器和集群的跳转上限,当机器数量达到预设阈值的时候,每台机器都会对这个回源经过的机器标识进行检测,判断是否回源成环,来决定后续的回源策略,避免由于短时间节点信息不同步导致的回源成环的情况。而且,通过设置机器和集群跳转上限的方式来触发成环检测的方式,可以避免频繁检测链路信息,避免不必要的字符串匹配操作。

本文档来自技高网...

【技术保护点】

1.一种直播回源方法,其特征在于,包括:

2.根据权利要求1所述的直播回源方法,其特征在于,所述根据所述回源经过的机器标识检测所述待处理回源是否成环,包括:

3.根据权利要求1所述的直播回源方法,其特征在于,所述按照预设的回源策略处理所述待处理回源,以结束所述待处理回源成环,包括:

4.根据权利要求3所述的直播回源方法,其特征在于,所述跳过当前集群向下一层级的集群回源,包括:

5.根据权利要求1所述的直播回源方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的直播回源方法,其特征在于,所述方法还包括:

7.根据权利要求1所述的直播回源方法,其特征在于,所述待处理回源对应的链路信息通过基于短连接的透传消息传输。

8.一种直播回源装置,其特征在于,包括:

9.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至7中任意一项所述的直播回源方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至7中任意一项所述的直播回源方法的步骤。

...

【技术特征摘要】

1.一种直播回源方法,其特征在于,包括:

2.根据权利要求1所述的直播回源方法,其特征在于,所述根据所述回源经过的机器标识检测所述待处理回源是否成环,包括:

3.根据权利要求1所述的直播回源方法,其特征在于,所述按照预设的回源策略处理所述待处理回源,以结束所述待处理回源成环,包括:

4.根据权利要求3所述的直播回源方法,其特征在于,所述跳过当前集群向下一层级的集群回源,包括:

5.根据权利要求1所述的直播回源方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的直播回源方法,其特征在于,所述方法还包括:

7...

【专利技术属性】
技术研发人员:张建锋刘勇江杨成进蔡尚志
申请(专利权)人:上海幻电信息科技有限公司
类型:发明
国别省市:

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

1