System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及互联网,具体涉及一种直播文件回源方法、系统、计算设备、计算机存储介质及计算机程序产品。
技术介绍
1、在直播cdn中可以使用不同的实时传输协议,比如基于长连接的rtmp、flv,或基于短链接的hls。其中,基于短链接的hls直播协议通常是用文件的形式来分装文件数据,cdn网络中的节点会通过树状结构的方式来逐层汇聚收敛请求,最终通过请求hls源站来获取直播文件,为了减少不必要的回源,减少源站服务器的每秒查询率(qps)和带宽压力,通常cdn网络中的节点会对接收到的直播文件进行缓存。
2、缓存时间的确定方式主要有以下两种:(1)传递一个固定的间隔时间(max-age=1),这种缓存方式的过期时间计算主要是在收到直播文件的时间加上这个固定的间隔时间(而且是秒级别),比较机械,而且考虑到网络的问题,会导致下级节点收到原本就可能过期的直播文件并且缓存下来,并且越多层的汇聚会导致这种现象的不断放大,导致直播的实时性不高,对于用户来说体验性也不佳;(2)传递是的绝对的过期时间,这个的问题在于需要保证所有机器的时间戳必须保持一致,如果机器时间戳偏大,会导致缓存失效(原本没有过期文件的判定为过期数据),增加无效的回源qps和带宽,如果机器的时间戳偏小,会导致缓存放大(原本应该过期的文件判定为没有过期),导致用户拿到过期数据,播放卡顿。
技术实现思路
1、鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的直播文件回源方法、系统、计算设备、计算机存储介质
2、根据本申请的一个方面,提供了一种直播文件回源方法,应用于传输链路,传输链路包括以下节点:源站服务器、至少一级汇聚节点和至少一个边缘节点,方法包括:
3、源站服务器接收至少一级汇聚节点在判断出直播文件不存在和/或已过期时发送的直播文件回源请求,生成针对直播文件的剩余缓存控制时长,将直播文件及剩余缓存控制时长发送给至少一级汇聚节点;
4、至少一级汇聚节点将直播文件及剩余缓存控制时长发送给下一级汇聚节点或至少一个边缘节点;
5、至少一级汇聚节点或至少一个边缘节点缓存直播文件,根据接收到的剩余缓存控制时长及节点回源耗时设定直播文件的缓存时间;
6、传输链路中的各节点在直播文件对应的缓存时间到达时,对直播文件进行缓存过期标记,以实现直播文件同步过期。
7、进一步地,剩余缓存控制时长在传输链路中传输时是动态变化的;
8、至少一级汇聚节点将直播文件及剩余缓存控制时长发送给下一级汇聚节点或至少一个边缘节点,至少一级汇聚节点或至少一个边缘节点根据接收到的剩余缓存控制时长及节点回源耗时设定直播文件的缓存时间进一步包括:
9、与源站服务器通信的汇聚节点根据本节点回源耗时对接收到的剩余缓存控制时长进行更新,根据更新后的剩余缓存控制时长设定直播文件的缓存时间,将直播文件、更新后的剩余缓存控制时长及本节点回源耗时发送给下一级汇聚节点或至少一个边缘节点;
10、下一级汇聚节点或至少一个边缘节点根据本节点回源耗时及上一级节点回源耗时对接收到的剩余缓存控制时长进行更新,根据更新后的剩余缓存控制时长设定直播文件的缓存时间,将直播文件、更新后的剩余缓存控制时长及本节点回源耗时发送给再下一级汇聚节点或至少一个边缘节点。
11、进一步地,下一级汇聚节点或至少一个边缘节点根据本节点回源耗时及上一级节点回源耗时对接收到的剩余缓存控制时长进行更新进一步包括:
12、下一级汇聚节点或至少一个边缘节点计算本节点回源耗时与上一级节点回源耗时之间的耗时差值,根据耗时差值对接收到的剩余缓存控制时长进行更新。
13、进一步地,剩余缓存控制时长在传输链路中传输时是固定不变的;
14、至少一级汇聚节点或至少一个边缘节点根据接收到的剩余缓存控制时长及节点回源耗时设定直播文件的缓存时间进一步包括:
15、至少一级汇聚节点或至少一个边缘节点计算接收到的剩余缓存控制时长与本节点回源耗时之间的第一差值,根据第一差值设定直播文件的缓存时间。
16、进一步地,方法还包括:至少一级汇聚节点在接收到直播文件回源请求之后,若判断出直播文件存在且未过期,则根据直播文件对应的第一已缓存时长对接收到的剩余缓存控制时长进行更新,至少一级汇聚节点将直播文件及更新后的剩余缓存控制时长发送给下一级汇聚节点或至少一个边缘节点。
17、进一步地,源站服务器生成针对直播文件的剩余缓存控制时长进一步包括:
18、源站服务器获取直播文件回源请求的请求到达时间及直播文件的缓存开始时间;
19、根据预设缓存时长阈值、请求到达时间及缓存开始时间计算剩余缓存控制时长。
20、进一步地,至少一级汇聚节点根据直播文件对应的第一已缓存时长对接收到的剩余缓存控制时长进行更新进一步包括:
21、至少一级汇聚节点计算接收到的剩余缓存控制时长与第一已缓存时长之间的第二差值,将第二差值确定为更新后的剩余缓存控制时长。
22、根据本申请的另一方面,提供了一种直播文件回源系统,包括:源站服务器、至少一级汇聚节点和至少一个边缘节点;
23、源站服务器,用于接收至少一级汇聚节点在判断出直播文件不存在和/或已过期时发送的直播文件回源请求,生成针对直播文件的剩余缓存控制时长,将直播文件及剩余缓存控制时长发送给至少一级汇聚节点;
24、至少一级汇聚节点,用于将直播文件及剩余缓存控制时长发送给下一级汇聚节点或至少一个边缘节点;
25、至少一级汇聚节点或至少一个边缘节点,用于缓存直播文件,根据接收到的剩余缓存控制时长及本节点回源耗时设定直播文件的缓存时间;
26、源站服务器、至少一级汇聚节点和至少一个边缘节点用于在直播文件对应的缓存时间到达时,对直播文件进行缓存过期标记,以实现直播文件同步过期。
27、根据本申请的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
28、存储器用于存放至少一可执行指令,可执行指令使处理器执行上述直播文件回源方法对应的操作。
29、根据本申请的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述直播文件回源方法对应的操作。
30、根据本申请的还一方面,提供了一种计算机程序产品,包括至少一可执行指令,可执行指令使处理器执行如上述直播文件回源方法对应的操作。
31、根据本申请实施例提供的方案,源站服务器生成针对直播文件的剩余缓存控制时长,而至少一级汇聚节点和至少一个边缘节点会基于接收到的剩余缓存控制时长及节点回源耗时来设定直播文件的缓存时间,从而解决了开始缓存文件基于固定时长计算缓存时间导致的缓存放大问题,由于各节点使用的是本节点的机器时间、本节点接收到的本文档来自技高网...
【技术保护点】
1.一种直播文件回源方法,应用于传输链路,所述传输链路包括以下节点:源站服务器、至少一级汇聚节点和至少一个边缘节点,所述方法包括:
2.根据权利要求1所述的方法,其中,所述剩余缓存控制时长在所述传输链路中传输时是动态变化的;
3.根据权利要求2所述的方法,其中,所述下一级汇聚节点或至少一个边缘节点根据本节点回源耗时及上一级节点回源耗时对接收到的剩余缓存控制时长进行更新进一步包括:
4.根据权利要求1所述的方法,其中,所述剩余缓存控制时长在所述传输链路中传输时是固定不变的;
5.根据权利要求1-4中任一项所述的方法,其中,所述方法还包括:所述至少一级汇聚节点在接收到直播文件回源请求之后,若判断出直播文件存在且未过期,则根据所述直播文件对应的第一已缓存时长对接收到的剩余缓存控制时长进行更新,所述至少一级汇聚节点将所述直播文件及更新后的剩余缓存控制时长发送给下一级汇聚节点或所述至少一个边缘节点。
6.根据权利要求1-5中任一项所述的方法,其中,源站服务器生成针对直播文件的剩余缓存控制时长进一步包括:
7.根据权利要
8.一种直播文件回源系统,包括:源站服务器、至少一级汇聚节点和至少一个边缘节点;
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的直播文件回源方法对应的操作。
11.一种计算机程序产品,包括至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的直播文件回源方法对应的操作。
...【技术特征摘要】
1.一种直播文件回源方法,应用于传输链路,所述传输链路包括以下节点:源站服务器、至少一级汇聚节点和至少一个边缘节点,所述方法包括:
2.根据权利要求1所述的方法,其中,所述剩余缓存控制时长在所述传输链路中传输时是动态变化的;
3.根据权利要求2所述的方法,其中,所述下一级汇聚节点或至少一个边缘节点根据本节点回源耗时及上一级节点回源耗时对接收到的剩余缓存控制时长进行更新进一步包括:
4.根据权利要求1所述的方法,其中,所述剩余缓存控制时长在所述传输链路中传输时是固定不变的;
5.根据权利要求1-4中任一项所述的方法,其中,所述方法还包括:所述至少一级汇聚节点在接收到直播文件回源请求之后,若判断出直播文件存在且未过期,则根据所述直播文件对应的第一已缓存时长对接收到的剩余缓存控制时长进行更新,所述至少一级汇聚节点将所述直播文件及更新后的剩余缓存控制时长发送给下一级汇聚节点或所述至...
【专利技术属性】
技术研发人员:张建锋,刘勇江,杨成进,蔡尚志,
申请(专利权)人:上海哔哩哔哩科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。