[发明专利]一种MP4视频流媒体点播的分片缓存加速方法在审
| 申请号: | 202111441368.8 | 申请日: | 2021-11-30 |
| 公开(公告)号: | CN113949897A | 公开(公告)日: | 2022-01-18 |
| 发明(设计)人: | 王磊 | 申请(专利权)人: | 紫光云(南京)数字技术有限公司 |
| 主分类号: | H04N21/231 | 分类号: | H04N21/231;H04N21/234;H04N21/472 |
| 代理公司: | 南京禾易知识产权代理有限公司 32320 | 代理人: | 詹庆铷 |
| 地址: | 211899 江苏省南京市浦口区江浦街*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 mp4 视频 流媒体 点播 分片 缓存 加速 方法 | ||
1.一种MP4视频流媒体点播的分片缓存加速方法,其特征在于,包括以下步骤:
第一步:创建加速节点集群,该集群包括负载均衡层、业务代理层和CACHE层,其中业务代理层内部至少设有一个代理服务,CACHE层内部至少设有一个CACHE服务;
第二步:负载均衡层对来自终端的视频请求按照一定的负载均衡策略进行分配;
第三步:业务代理层按照视频内容请求为用户提供视频服务;
第四步:利用业务代理层对视频内容请求分片,并通过进行一致性哈希发动到CACHE层的不同节点上,CACHE层将不同的缓存请求内容打散到不同节点服务器的CACHE服务上面;
第五步:CACHE服务将视频的内容请求作用于视频源,下载视频内容。
2.根据权利要求1所述的一种MP4视频流媒体点播的分片缓存加速方法,其特征在于:在第四步中,业务代理层发送过来的内容的分片请求,如果请求的内容在缓存中不能命中,则会自动回源到源站进行分片内容的获取,否则由本身的磁盘缓存直接为业务代理层提供服务。
3.根据权利要求1所述的一种MP4视频流媒体点播的分片缓存加速方法,其特征在于:在第四步中,CACHE层通过CACHE服务基于一致性哈希算法将缓存请求内容打散分配到不同的磁盘进行存储,结合代理服务到CACHE服务的一致性哈希,通过将内容分片进行两层的一致性哈希,消除集群内“热点”设备引起的性能瓶颈。
4.根据权利要求1所述的一种MP4视频流媒体点播的分片缓存加速方法,其特征在于:在第三步中,业务代理层中“代理服务”的处理方法包括如下步骤:
步骤1.1:终端发起对视频内容的请求;
步骤1.2:“代理服务”经过应有的鉴权认证后,按照初始配置的分片大小slice size,向“CACHE层”发起第一个分片的请求;
步骤1.3:“代理服务”获取到MP4文件的首个分片后,对HTTP Range请求得到的响应头中的Content-Range进行分析,得到MP4文件完整文件的大小;然后对MP4的头进行扫描分析,检查判断moov box是否在ftyp后面,如果不是,则将moov后置;
步骤1.4:检查moov box是否已经下载完整,如果因为moov box超过了slice size,那么循环生成对“CACHE服务”的分片请求并保存到“代理服务”的内存缓存中,直至moov box下载完整;
步骤1.5:对moov box进行分析,利用moov中的stlb box所包含的各个子box,对视频播放起始位置进行定位;
步骤1.6:在缓存中生成新的MP4的ftyp和moov box;
步骤1.7:将生成的MP4 ftyp和moov box发送给终端;
步骤1.8:在缓存中生成新的MP4的mdat box,并根据步骤1.6中得到的起始播放的音视频帧的物理文件的偏移量,向“CACHE服务”请求视频起始帧的所在的slice;
步骤1.9:“代理服务”一边从“CACHE服务”获取数据,一边向终端发送数据;
步骤1.10:“代理服务”在一个分片处理完毕后,根据步骤1.3得到的MP4完整文件的大小,进行循环,向“CACHE服务”获取新的分片,并发送给终端,直至所有mdat的音视频数据发送完毕。
5.根据权利要求4所述的一种MP4视频流媒体点播的分片缓存加速方法,其特征在于:在步骤1.2中,向“CACHE层”发起的请求,严格地控制在一个分片内。
6.根据权利要求4所述的一种MP4视频流媒体点播的分片缓存加速方法,其特征在于:在步骤1.5中,对视频播放起始位置进行定位时,用stts box查找用户的播放起始时间对应的音视频帧的sample,并通过stss box找到与起播时间最近的视频关键帧的位置,最后通过stsz box中的每个sample的长度计算最终要发送给终端的mdat中的音视频帧对应的文件偏移量。
7.根据权利要求1所述的一种MP4视频流媒体点播的分片缓存加速方法,其特征在于:在第四步中,CACHE层中“CACHE服务”的处理方法包括如下步骤:
步骤2.1:“CACHE服务”接收到分片请求后,首先需要检查请求是否跨分片,如果跨分片,则直接拒绝服务,返回错误信息并结束。如果没有跨分片,则将当前的请求URL以及按照slice size对齐的分片起始和结束位置组合成key,检查其缓存中是否有当前请求块的内容;
步骤2.2:如果本地缓存中找到对应分片的内容,则从缓存中获取该内容,并跳转到请求的起始字节偏移位置对应的字节开始向“代理服务”发送视频分片内容,直到所要求的所有字节发送完毕,整个过程处理完毕;
步骤2.3:如果本地缓存中没有找到对应分片的内容,则“CACHE服务”向源站发起类似于“代理服务”向“CACHE服务”发起的获取分片的请求;
步骤2.4:“CACHE服务”获取到源站发送过来的分片内容,“CACHE服务”首先将内容用以上步骤2.1计算出来的缓存key,以URL和本机部署的磁盘列表进行一致性哈希计算,选中其中一个磁盘后,将内容以缓存key作为存储路径,存储到对应的磁盘中。其次,分片内容在落盘的同时,向“代理服务”发送所需的分片中的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于紫光云(南京)数字技术有限公司,未经紫光云(南京)数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111441368.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:高强度发动机后支架
- 下一篇:一种膜化学反应器、水处理系统及水处理方法





