回源链路的切换方法、服务器及存储介质与流程

文档序号:24702644发布日期:2021-04-16 12:43阅读:163来源:国知局
回源链路的切换方法、服务器及存储介质与流程

1.本发明实施例涉及计算机技术领域,特别涉及一种回源链路的切换方法、服务器及存储介质。


背景技术:

2.内容分发网络(content delivery network,简称“cdn”)一种通过在现有的互联网中增加一层新的网络架构,将网站的内容发布到最接近的用户的网络“边缘”,使用户可以就近取得所需的内容;缓解网络拥挤的状况,提高网站的响应速度。
3.用于接收直播媒体流的节点通常会根据接收的该直播视频流判断当前回源链路的通信质量是否正常,进而决策是否切换回源链路;发明人发现在实际的多媒体直播的回源过程中,若直播视频流自身存在问题的情况下,节点无法通过直播视频流准确判断当前回源链路的通信质量是否正常,也无法确定是否进行回源切换,影响直播媒体流的回源或者增加内耗回源带宽;例如,若节点实际接收直播媒体流时并未存在超时的问题,但是被判定为接收超时,则会触发回源切换;将导致用户终端使用不同的回源链路,增加了不必要的浪费,增加内耗回源带宽。


技术实现要素:

4.本发明实施方式的目的在于提供一种回源链路的切换方法、服务器及存储介质,减少了不必要的回源链路切换,降低回源过程中的带宽损耗。
5.为解决上述技术问题,本发明的实施方式提供了一种回源链路的切换方法,应用于内容分发网络cdn中用于接收媒体流的节点,包括:接收包含有时间心跳包的直播媒体流,其中,所述时间心跳包由上一级节点向在直播媒体流中添加系统标准时间戳的序列后形成,所述系统标准时间戳为当前系统的时间戳;根据所述时间心跳包和所述直播媒体流,确定当前回源链路的通信质量;若确定所述当前回源链路的通信质量为异常,则从所述当前回源链路切换至其他的回源链路。
6.本发明的实施方式还提供了一种回源链路的切换方法,应用于内容分发网络cdn中用于发送媒体流的节点,包括:获取用户采集端实时推流的直播媒体流,向所述直播媒体流中添加系统标准时间戳的序列,以在所述直播媒体流中形成时间心跳包,所述标准系统时间戳为当前系统的时间戳;将包含所述时间心跳包的所述直播媒体流下发至下级节点,以使下级节点根据所述时间心跳包获取当前回源链路的通信质量,所述下级节点若确定所述当前回源链路异常,则从所述当前回源链路切换至其他的回源链路。
7.本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的回源链路的切换方法。
8.本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算
机程序被处理器执行时实现上述的回源链路的切换方法。
9.本发明中回源链路的切换方法,应用于内容分发网络cdn中用于接收媒体流的节点;当前节点接收含有时间心跳包的直播媒体流,该时间心跳包由上一级节点向直播媒体流中添加系统标准时间的序列后形成,由于该系统标准时间戳为当前系统的时间戳,使得直播媒体流中的时间心跳包不会受到直播媒体流的影响,即直播媒体流自身出现问题,也不影响时间心跳包的准确性,例如,直播媒体流自身携带的时间戳异常等问题不会影响时间心跳包的准确性;通过该时间心跳包以及该直播媒体流,使得该当前节点可以准确确定当前回源链路的通信质量,例如,可以通过判断接收直播媒体流的时间是否超过预设时长判断当前回源链路是否异常。由于无需通过直播媒体流自身携带的时间戳判断接收数据是否超时,可以避免因直播媒体流中携带时间戳不准确而错误判定当前回源链路异常,导致进行回源链路切换的问题,减少了因不必要的回源链路切换而导致的带宽损耗。
10.另外,根据时间心跳包和直播媒体流,确定当前回源链路的通信质量,包括:根据直播媒体流,统计接收直播媒体流的系统时间差值以及统计时间心跳包指示的标准时间差值;获取系统时间差值与对应的标准时间差值之间的误差;判断误差是否小于预设的误差阈值,若确定误差大于误差阈值,则判定当前回源链路的通信质量为异常;若确定误差小于误差阈值,则判定当前回源链路的通信质量为正常。若该回源链路的通信质量正常,则接收该直播媒体流的系统时间差值与该标准时间差值之间的误差在预设范围之内,由于时间心跳包中的系统标准时间戳是准确的,故根据时间心跳包获取标准时间差值,使得确定的误差准确,进行确保了对回源链路是否正常的准确判断。
11.另外,若判定所述当前回源链路的通信质量为正常,所述方法还包括:检测下一级节点是否为用户播放端,若是,则从所述直播媒体流中删除所述时间心跳包,并将删除所述时间心跳包后的所述直播媒体流下发至所述用户播放端。从直播媒体流中删除时间心跳包,减少用户播放端解析该直播媒体流的解析时长。
12.另外,该方法还包括:从所述当前节点对应的至少2个回源ip中确定所述当前节点的主用回源ip以及备用回源ip;设置所述主用回源ip对应的第一超时阈值以及所述备用回源ip对应的第二超时阈值,且所述第二超时阈值的时长小于所述第一超时阈值的时长,以使在切换至备用的回源链路后,所述当前节点检测到超过所述第二超时阈值未接收到所述直播媒体流,重新切回至主用的回源链路。选取主用回源ip和备用回源ip,且设置主用回源ip的第一超时阈值的时长大于备用回源ip的第二超时阈值的时长,由于备用回源ip对应的节点在使用时需要重新向上一级节点发起拉流操作,导致带宽使用的增加,本示例中第二超时阈值的时长小于第一超时阈值的时长,使得当切换至备用回源链路后,可以尽快重新切换回主回源链路,进而减少使用备用回源链路的次数,减少带宽的损耗。
13.另外,该方法还包括:若当前节点接收到新的直播媒体流,其中,新的直播媒体流中未包含所述时间心跳包;向新的直播媒体流中添加系统标准时间戳的序列,以在新的直播媒体流中形成时间心跳包;将包含时间心跳包的新的直播媒体流下发至下一级节点。当前节点若接收到新的直播媒体流中未包含时间心跳包,则该节点可以为该新的直播媒体流添加时间心跳包,使得下一级节点可以根据时间心跳包判断当前回源链路是否正常。
附图说明
14.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
15.图1是根据现有技术中回源链路的示意图;
16.图2是根据本发明第一实施例提供的一种回源链路的切换方法的流程图;
17.图3是根据本发明第二实施例提供的一种回源链路的切换方法的流程图;
18.图4是根据本发明第二实施例提供的一种回源链路示意;
19.图5是根据本发明第三实施例提供的一种回源链路的切换方法的流程图;
20.图6是根据本发明第三实施例提供的一种回源链路的切换方法的中新增方法的流程图;
21.图7是根据本发明第四实施例提供的一种回源链路的切换方法的流程图;
22.图8是根据本发明第五实施例提供的一种服务器的结构框图。
具体实施方式
23.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
24.以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
25.在直播领域,通常采用cdn架构,如图1所示,该cdn架构包括推流边缘节点、源站、中转节点、拉流边缘节点;推流端采集音视频数据,上传至推流边缘节点,由推流边缘节点将采集的音视频数据推流至源站,观众所在的用户播放端可以通过拉流边缘节点进行回源。回源过程中,拉流边缘节点首先向上级的中转节点请求数据,若中转节点没有缓存数据,则中转节点向其上一级的源站请求数据。直播媒体流对网络延时敏感,若回源链路的通信质量异常,则会导致直播出现卡顿、不流畅的问题。因此,在回源链路中的接收数据的节点会根据接收的直播媒体流进行流状态检测,检测的方式为:获取直播媒体流中本身携带的时间戳,根据直播媒体流中携带的时间戳,判断当前节点接收数据是否出现延迟,若延迟时间超过预设值,则判定当前回源链路异常,切换至另一条回源链路。但是,发明人发现在实际的运营中回源链路的通信质量无异常,而是直播媒体流本身携带的时间戳不准确,导致获取的回源链路的通信质量不准确,频繁发生回源链路的切换,消耗了不必要的带宽。如图1中所示,用户终端1通过拉流边缘节点1、中转节点1以及源站1进行回源,用户播放端2通过拉流边缘节点2、中转节点2以及源站2进行回源,两条回源链路同时使用,造成了不必要的带宽损耗。
26.本发明的第一实施方式涉及一种回源链路的切换方法,该回源链路的切换方法应用于内容分发网络cdn中用于接收媒体流的节点,其流程如图2所示。
27.步骤101:接收包含有时间心跳包的直播媒体流,其中,时间心跳包由上一级节点向在直播媒体流中添加系统标准时间戳的序列后形成,系统标准时间戳为当前系统的时间
戳。
28.步骤102:根据时间心跳包和直播媒体流,确定当前回源链路的通信质量。
29.步骤103:若确定当前回源链路的通信质量为异常,则从当前回源链路切换至其他的回源链路。
30.本发明中回源链路的切换方法,应用于内容分发网络cdn中用于接收媒体流的节点;当前节点接收含有时间心跳包的直播媒体流,该时间心跳包由上一级节点向直播媒体流中添加系统标准时间的序列后形成,由于该系统标准时间戳为当前系统的时间戳,使得直播媒体流中的时间心跳包不会受到直播媒体流的影响,即直播媒体流自身出现问题,也不影响时间心跳包的准确性,例如,直播媒体流自身携带的时间戳异常等问题不会影响时间心跳包的准确性;通过该时间心跳包以及该直播媒体流,使得该当前节点可以准确确定当前回源链路的通信质量,例如,可以通过判断接收直播媒体流的时间是否超过预设时长判断当前回源链路是否异常。由于无需通过直播媒体流自身携带的时间戳判断接收数据是否超时,可以避免因直播媒体流中携带时间戳不准确而错误判定当前回源链路异常,导致进行回源链路切换的问题,减少了因不必要的回源链路切换而导致的带宽损耗。
31.本发明的第二实施方式涉及一种回源链路的切换方法,本实施方式是对第一实施方式的详细介绍,其流程如图3所示:
32.步骤201:从当前节点对应的至少2个回源ip中确定当前节点的主用回源ip以及备用回源ip。
33.该回源链路的切换方法应用于cdn中用于接收媒体流的节点。为了便于理解,本示例中先介绍cdn的架构。该cdn的架构可以有多种,本示例中采用如图4所示的cdn架构,该cdn架构中包括推流边缘节点、源站、中转节点、拉流边缘节点。如图4所示的cdn架构中,在一次回源过程中,拉流边缘节点1向中转节点发送查询请求,若中转节点1中存在与该查询请求对应的直播媒体流时,则中转节点1将直播媒体流下发至该拉流边缘节点1中,此时,该中转节点1作为回源ip对应的节点,该拉流边缘节点1作为接收直播媒体流的下级节点。若中转节点1中不存在与该查询请求对应的直播媒体流,则该中转节点1将该查询请求发送至源站1中,由源站1将直播媒体流下发至该中转节点1,此时,该源站作为回源ip对应的节点,该中转节点1作为接收直播媒体流的节点,同时,该中转节点1也作为发送直播媒体流的节点。
34.需要说明的是,本示例中的中转节点用于存储静态页面的数据,如静态网页的数据等;源站用于存储动态变化的数据,如动态网页的数据等。推流端和用户播放端可以是手机、电脑等电子设备。
35.本示例中可以对直播媒体流的流状态进行如下检测:根据未接收到直播媒体流的时长进行判断,若超过预设时长未接收到直播媒体流,则会触发从当前回源链路切换至其他回源链路的操作。
36.发明人发现在直播过程中,推流端实时采集数据,通过推流边缘节点将采集的数据推流至源站,一段时间后,推流端主动断开与源站的连接,经过一段时长d1后,又重新进行推流,若d2时长比较短,会导致回源链路的频繁切换,同时也会引起不同的拉流边缘节点回到不同的源站,即不同的拉流边缘节点处于不同的回源链路上,导致回源的带宽增加,增加了不必要的带宽浪费;也导致回源质量降低。
37.为了克服由于推流端频繁推流导致使用多条回源链路的问题,本示例中为每个接收直播媒体流的节点设置主用回源ip和备用回源ip,并设置主用备用源ip的第二超时阈值的时长小于主用回源ip的第一超时阈值的时长。
38.具体地,获取当前节点的多个回源ip,从多个回源ip中指定一个回源ip作为主用回源ip,将其他回源ip作为备用回源ip;也可以从多个回源ip中选取一个回源ip作为主用回源ip,从剩余的回源ip中选取一个作为备用回源ip。例如,当前节点对应3个回源ip的哈希值,可以选择第一个回源ip作为主用回源ip,其余两个作为备用回源ip;也可以将第一个回源ip作为主用回源ip,将第二个回源ip作为备用回源ip。
39.步骤202:设置主用回源ip对应的第一超时阈值以及备用回源ip对应的第二超时阈值,且第二超时阈值的时长小于第一超时阈值的时长,以使在切换至备用的回源链路后,当前节点检测到超过第二超时阈值未接收到直播媒体流,重新切回至主用的回源链路。
40.具体地,分别为主用回源ip设置第一超时阈值以及为备用回源ip设置第二超时阈值,且第二超时阈值的时长小于第一超时阈值的时长。例如,第一超时阈值可以为5秒,第二超时阈值可以为300毫秒。可以理解的是,第一超时阈值的时长可以远大于第二超时阈值的时长,比如该第一超时阈值的时长是第二超时阈值的时长的10倍~50倍。
41.下面介绍主用回源链路和备用回源链路切换的过程:
42.若当前节点处于主用的回源链路时,实时检测当前节点是否接收到直播视频流,若检测到超过第一超时阈值未接收到直播视频流,表明当前回源链路的通信质量异常,可以向备用回源ip重新发送查询请求,以从当前回源链路切换至备用的回源链路。在切换至备用的回源链路后,实时检测当前节点是否接收到来自备用回源ip对应节点的直播视频流,若超过第二超时阈值未接收到直播视频流,则重新切换至主用的回源链路。
43.由于备用回源ip对应的节点在使用时需要重新向上一级节点发起拉流操作,导致带宽使用的增加,本示例中第二超时阈值的时长小于第一超时阈值的时长,使得当切换至备用回源链路后,可以尽快重新切换回主用的回源链路,进而减少使用备用回源链路的次数,减少带宽的损耗。
44.在执行了步骤202之后,可以执行步骤203,进一步对当前处于的回源链路的通信质量进行检测。
45.步骤203:接收包含有时间心跳包的直播媒体流,其中,时间心跳包由上一级节点向在直播媒体流中添加系统标准时间戳的序列后形成,系统标准时间戳为当前系统的时间戳。
46.具体地,接收回源ip对应的节点下发的直播媒体流,该直播媒体流中包含时间心跳包。该时间心跳包是由上一级节点向直播媒体流中添加系统标准时间戳的序列后形成。系统标准时间戳为当前系统的时间戳。上一级节点可以按照预设时长,定时向直播媒体流中添加系统标准时间戳,由于类似于心跳,故将该系统标准时间的序列作为时间心跳包;相邻的系统标准时间戳之间相距预设时长。为了系统标准时间戳的准确性,可以获取当前节点的当前系统的毫秒级时间戳,同时,该时间心跳包的格式兼容直播协议,例如,http

flv协议。
47.在一个例子中,上一级节点可以按照预设时长向该直播媒体流中添加系统标准时间戳,预设时长可以根据实际进行设置,例如可以为:2s、1s等。该时间心跳包的帧格式的具
体实现方式可以如:取tagtype=0x07,datasize=0x00,timestamp=$(当前系统毫秒时间)。将该时间心跳包插入多媒体文件中,如音视频文件,该时间心跳包与直播协议兼容,使得添加的时间心跳包不会与该音视频数据发送冲突,同时也不会破坏直播媒体流的解析结构。
48.本示例中,下一级节点以拉流边缘节点为例,该拉流边缘节点接收到添加了时间心跳包的直播媒体流后,解析该直播媒体流,可以获取到该直播媒体流中的时间心跳包。
49.步骤204:根据直播媒体流,统计接收直播媒体流的系统时间差值以及统计时间心跳包指示的标准时间差值。
50.具体地,统计接收该直播媒体流的系统时间差值,该系统时间差值可以是接收该直播媒体流的累计时间值;同理,标准时间差值可以是对应的系统标准时间戳的累计值。下面介绍具体的过程,解析0x07帧中的时间心跳包,获取其中一个系统标准时间戳的值为100秒,当前对应的系统时间值为t1秒,该拉流边缘节点经过50秒后接收到的系统标准时间戳对应的系统时间t1+50,该系统标准时间戳的值为143秒,可知,标准时间差值

t1=143

100秒,系统时间差值

t2=50秒。
51.步骤205:获取系统时间差值与对应的标准时间差值之间的误差。
52.具体地,解析0x07帧中的时间心跳包,获取其中一个系统标准时间戳的值为100秒,当前对应的系统时间值为t1秒,该拉流边缘节点经过50秒后接收到的系统标准时间戳对应的系统时间t1+50,该系统标准时间戳的值为143秒,可知,标准时间差值

t1=143

100秒,系统时间差值

t2=50秒;误差=

t2
‑△
t1=7秒。
53.步骤206:判断误差是否小于预设的误差阈值,若确定误差大于误差阈值,则执行步骤207,若确定误差小于误差阈值,则执行步骤208。
54.具体地,误差阈值可以根据实际需要进行设置,例如可以是5s、3s等。本示例中,通信质量包括:异常和正常。下面以一个具体的例子介绍获取当前回源链路的通信质量的过程。例如,若误差阈值为5s;该误差大于误差阈值,则可以确定当前回源链路的通信质量为异常;若误差小于等于误差阈值,则可以确定当前回源链路的通信质量为正常。
55.步骤207:判定当前回源链路的通信质量为异常。在执行完该步骤之后,执行步骤209。
56.步骤208:判定当前回源链路的通信质量为正常。在执行完该步骤之后,执行步骤210。
57.步骤209:若确定当前回源链路的通信质量为异常,则从当前回源链路切换至其他的回源链路。
58.具体地,可以重新发起查询请求至其他回源ip对应的节点,从而实现从当前回源链路切换至其他的回源链路。
59.步骤210:将该包含时间心跳包的直播媒体流下发下一级节点。
60.若当前回源链路正常,可以直接将该直播媒体流下发至下一级节点。
61.此外,本实施例中,在执行步骤203之前通过检测本次接收直播视频流的时长,当处于主用回源链路时,若超过第一超时阈值未接收到直播媒体流,则表明当前主用回源链路异常,切换至备用回源链路;当备用回源链路时,若超过第二超时阈值未接收到直播媒体流时,切换回主用回源链路,由于第二超时阈值的时长小于第一超时阈值的时长,使得可以
快速切换回主用回源链路。由于叠加了接收直播媒体流的超时时长的检测,增加了对回源链路的通信质量检测的方式,两种方式采用不同的检测手段,可以提高直播媒体流回源的质量。
62.本发明的第三实施方式涉及一种回源链路的切换方法,第三实施方式是对第二实施方式或第一实施方式的进一步改进,主要改进之处在于,本第三实施方式还包括在将直播媒体流下发至下一级节点之前,检测下一级节点是否为用户播放端,根据检测结果执行对应的步骤。其流程如图5所示:
63.步骤301:从当前节点对应的至少2个回源ip中确定当前节点的主用回源ip以及备用回源ip。
64.步骤302:设置主用回源ip对应的第一超时阈值以及备用回源ip对应的第二超时阈值,且第二超时阈值的时长小于第一超时阈值的时长,以使在切换至备用的回源链路后,当前节点检测到超过第二超时阈值未接收到直播媒体流,重新切回至主用的回源链路。
65.步骤303:接收包含有时间心跳包的直播媒体流,其中,时间心跳包由上一级节点向在直播媒体流中添加系统标准时间戳的序列后形成,系统标准时间戳为当前系统的时间戳。
66.步骤304:根据直播媒体流,统计接收直播媒体流的系统时间差值以及统计时间心跳包指示的标准时间差值。
67.步骤305:获取系统时间差值与对应的标准时间差值之间的误差。
68.步骤306:判断误差是否小于预设的误差阈值,若确定误差大于误差阈值,则执行步骤307,若确定误差小于误差阈值,则执行步骤308。
69.步骤307:判定当前回源链路的通信质量为异常。在执行完该步骤之后,执行步骤309。
70.步骤308:判定当前回源链路的通信质量为正常。在执行完该步骤之后,执行步骤310。
71.本实施例中步骤301至步骤308与第二实施例中步骤201至步骤208大致相同,此处将不再进行赘述。
72.步骤309:若确定当前回源链路的通信质量为异常,则从当前回源链路切换至其他的回源链路。
73.步骤310:检测下一级节点是否为用户播放端,若是,则执行步骤311;否则,返回执行步骤301。
74.具体地,若检测下一级节点不是用户播放端,而是cdn中的其他节点,那么下一级节点返回执行步骤301。
75.步骤311:从直播媒体流中删除时间心跳包,并将删除时间心跳包后的直播媒体流下发至用户播放端。
76.具体地,检测下一级节点是否为用户播放端,若是,表明当前回源成功,可以将直播媒体流中的时间心跳包删除,并将删除了时间心跳包后的直播媒体流下发至用户播放端。
77.需要说明的是,在另一个例子中,在执行步骤311之后,当前节点还可以执行如图6的步骤:
78.步骤s31:若当前节点接收到新的直播媒体流,其中,新的直播媒体流中未包含时间心跳包。
79.具体地,可以检测当前直播媒体流中是否存在时间心跳包,例如,可以通过时间心跳包的格式进行检测。
80.步骤s32:向新的直播媒体流中添加系统标准时间戳的序列,以在新的直播媒体流中形成时间心跳包。
81.具体地,上一级节点添加时间心跳包,或者当前节点可以为直播媒体流的源站或用于中转直播媒体流的中转节点。可以按照预设时长,向新的直播媒体流中定时添加系统标准时间戳,由于类似于心跳,故可以将该系统标准时间的序列作为时间心跳包;相邻的系统标准时间戳之间相距预设时长。为了系统标准时间戳的准确性,可以获取当前节点的当前系统的毫秒级时间戳,同时,该时间心跳包的格式兼容直播协议,例如,http

flv协议。
82.步骤s33:将包含时间心跳包的新的直播媒体流下发至下一级节点。
83.本实施例中,从直播媒体流中删除时间心跳包,减少用户播放端解析该直播媒体流的解析时长。
84.本发明的第四实施方式涉及一种回源链路的切换方法,其流程如图7所示。
85.步骤401:获取用户采集端实时推流的直播媒体流,向直播媒体流中添加系统标准时间戳的序列,以在直播媒体流中形成时间心跳包,标准系统时间戳为当前系统的时间戳。
86.具体地,该回源链路的切换方法应用于内容分发网络cdn中用于发送媒体流的节点。cdn的架构可以有多种,本示例中采用如图4所示的cdn架构,该cdn架构中包括推流边缘节点、源站、中转节点、拉流边缘节点。本示例中中转节点用于存储静态页面的数据,如静态网页的数据等;源站用于存储动态变化的数据,如动态网页的数据等。推流端和用户播放端可以是手机、电脑等电子设备。
87.在一个例子中,回源ip对应的节点包括:cdn中用于中转直播媒体流的中转节点和/或直播媒体流的源站。回源ip对应的节点可以是cdn中用于中转数据流的中转节点,也可以是数据流的源站,提高了该回源链路的切换方法应用的灵活性。
88.如图4所示的cdn架构中,推流端采集音视频数据,上传至推流边缘节点,由推流边缘节点将采集的音视频数据推流至源站。源站可以按照预设时长,定时向直播媒体流中添加系统标准时间戳,由于类似于心跳,故将该系统标准时间的序列作为时间心跳包;相邻的系统标准时间戳之间相距预设时长。为了系统标准时间戳的准确性,可以获取当前节点的当前系统的毫秒级时间戳,同时,该时间心跳包的格式兼容直播协议,例如,http

flv协议。预设时长可以根据实际进行设置,例如可以为:2s、1s等。
89.步骤402:将包含时间心跳包的直播媒体流下发至下级节点,以使下级节点根据时间心跳包获取当前回源链路的通信质量,下级节点若确定当前回源链路异常,则从当前回源链路切换至其他的回源链路。
90.本示例中,下级节点以拉流边缘节点为下级节点,中转节点作为回源ip对应的节点为例,该拉流边缘节点接收到添加了标准时间戳的直播媒体流后,解析该直播媒体流,可以获取到该直播媒体流中的标准时间戳。
91.具体地,本示例中下级节点为拉流边缘节点,该拉流边缘节点可以统计接收该直播媒体流的系统时间差值,该系统时间差值可以是接收该直播媒体流的累计时间值;同理,
标准时间差值可以是对应的系统标准时间戳的累计值。下面介绍具体的过程,解析0x07帧中的时间心跳包,获取其中一个系统标准时间戳的值为100秒,当前对应的系统时间值为t1秒,该拉流边缘节点经过50秒后接收到的系统标准时间戳对应的系统时间t1+50,该系统标准时间戳的值为143秒,可知,标准时间差值

t1=143

100秒,系统时间差值

t2=50秒。误差=

t2
‑△
t1=7秒。若误差阈值为5s;该误差大于误差阈值,则可以确定当前回源链路的通信质量为异常;若误差小于等于误差阈值,则可以确定当前回源链路的通信质量为正常。
92.本发明中的回源链路的切换方法,应用于内容分发网络cdn中用于发送媒体流的节点;当前节点接收含有时间心跳包的直播媒体流,该时间心跳包由上级节点向直播媒体流中添加系统标准时间的序列后形成,由于该系统标准时间戳为当前系统的时间戳,使得直播媒体流中的时间心跳包不会受到直播媒体流的影响,即直播媒体流自身出现问题,也不影响时间心跳包的准确性,由于下级节点无需通过直播媒体流自身携带的时间戳判断接收数据是否超时,可以避免因直播媒体流中携带时间戳不准确而错误判定当前回源链路异常,导致进行回源链路切换的问题,减少了因不必要的回源链路切换而导致的带宽损耗。
93.上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
94.本发明第五实施方式涉及一种服务器,其结构框图如图8所示,包括:至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述的回源链路的切换方法。
95.其中,存储器502和处理器501采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和存储器502的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
96.处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
97.本发明第七实施方式涉及一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的回源链路的切换方法。
98.本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程
序代码的介质。
99.本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1