System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及直播,具体涉及一种直播视频数据预取方法、装置、设备、存储介质及产品。
技术介绍
1、在直播cdn中可以使用不同的实时传输协议,例如基于长连接的rtmp、flv协议等,或者基于短连接的hls协议等。其中,hls协议是基于http进行传输的,具有良好的兼容性,可以在各种网络环境下使用,其分片的特性使其还能够适合于p2p的分发模式,在减少服务器资源和提高用户实时性方面都有不错的效果,使得hls协议在直播cdn中得到广泛使用。
2、在基于hls协议进行直播的场景下,生产源站需要将主播所推流的直播视频数据进行生产以得到多个直播视频分片数据,每个直播视频分片数据在生产完毕后会从生产源站的内存中移至磁盘中进行持久化存储,而后去更新分片索引文件,以供客户端请求分片索引文件,再对请求到的分片索引文件进行解析,按照分片播放列表向cdn请求下载各个直播视频分片数据,以实现直播视频数据的播放。在现有技术中,当客户端对应的边缘节点未存储有所要请求的直播视频分片数据时,边缘节点需先按照回源路径回源至生产源站以获取直播视频分片数据,而后再将通过回源所获取的直播视频分片数据提供给客户端,这种处理方式使得客户端的分片数据获取过程耗时较长,甚至可能会导致直播播放卡顿,影响用户的直播观看体验。
技术实现思路
1、鉴于上述问题,本申请提出了一种直播视频数据预取方法、装置、设备、存储介质及产品,用于解决以下问题:现有的直播处理方式中分片数据获取过程耗时较长,影响用户的直播观看体验。
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、存储器用于存放至少一可执行指令,可执行指令使处理器执行上述直播视频数据预取方法对应的操作。
32、根据本申请实施例的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述直播视频数据预取方法对应的操作。
33、根据本申请实施例的还一方面,提供了一种计算机程序产品,包括至少一可执行指令,可执行指令使处理器执行如上述直播视频数据预取方法对应的操作。
34、根据本申请实施例提供的直播视频数据预取方法、装置、计算设备、存储介质及产品,为边缘节点增加了分片预取功能,使得边缘节点能够对生产源站内存中所存储的生产中或生产完的直播视频分片数据进行预取,那么当客户端向边缘节点请求获取该直播视频分片数据时,边缘节点无需再进行回源即可向客户端提供该直播视频分片数据,有效地缩减了分片数据获取过程耗时,极大地提升了用户的直播观看体验,有效地减少了直播播放卡顿的情况发生,并且在此基础上还设置了预设预取规则,通过检测直播视频数据对应的预取关联数据是否符合预设预取规则来确定是否开启分片预取功能,实现了对分片预取功能的有效管理,能够对边缘节点资源进行有效的利用,避免造成边缘节点的资源浪费和负载增加,优化了直播处理方式。
35、上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请实施例的具体实施方式。
本文档来自技高网...【技术保护点】
1.一种直播视频数据预取方法,包括:
2.根据权利要求1所述的方法,所述获取所述直播视频数据对应的预取关联数据进一步包括:
3.根据权利要求1或2所述的方法,所述检测所述预取关联数据是否符合预设预取规则进一步包括:
4.根据权利要求3所述的方法,若与所述预取名单相匹配,在所述确定所述预取关联数据符合所述预设预取规则之前,所述方法还包括:
5.根据权利要求1-4任一项所述的方法,所述按照所述预取支持数据向所述生产源站发起分片预取请求进一步包括:
6.根据权利要求1-5任一项所述的方法,所述方法还包括:
7.根据权利要求6所述的方法,所述方法还包括:
8.一种直播视频数据预取装置,包括:
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的直播视频数据预取方法对应的操作。
< ...【技术特征摘要】
1.一种直播视频数据预取方法,包括:
2.根据权利要求1所述的方法,所述获取所述直播视频数据对应的预取关联数据进一步包括:
3.根据权利要求1或2所述的方法,所述检测所述预取关联数据是否符合预设预取规则进一步包括:
4.根据权利要求3所述的方法,若与所述预取名单相匹配,在所述确定所述预取关联数据符合所述预设预取规则之前,所述方法还包括:
5.根据权利要求1-4任一项所述的方法,所述按照所述预取支持数据向所述生产源站发起分片预取请求进一步包括:
6.根据权利要求1-5任一项所述的方法,所述方法还包括:
【专利技术属性】
技术研发人员:张建锋,杨成进,刘勇江,蔡尚志,
申请(专利权)人:上海哔哩哔哩科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。