一种基于hls实现视频点播无缝容灾的方法

文档序号:7811390阅读:242来源:国知局
一种基于hls实现视频点播无缝容灾的方法
【专利摘要】本发明公开了一种基于HLS实现视频点播无缝容灾的方法,属于视频点播【技术领域】,本发明解决了用户请求视频点播过程中因推流服务器故障而卡顿或无法观看的问题。技术方案为:服务器端增加将多台服务器、采用负载均衡方式组成推流调度服务器组,推流调度服务器组通过心跳机制实时监控所管辖的所有推流服务器健康信息与负载信息;客户端所有用户视频点播请求先被推流调度服务器组拦截并记录用户视频点播请求,推流调度服务器组分配健康推流服务器给客户端,提供视频推流服务;当某台推流服务器故障时,推流调度服务器组根据当前用户视频点播请求切换至其他推流服务器,由其他推流服务器给客户端提供视频推流服务,达到无缝容灾。
【专利说明】—种基于HLS实现视频点播无缝容灾的方法
[0001]

【技术领域】
[0002]本发明涉及一种视频点播【技术领域】,具体地说是一种基于HLS实现视频点播无缝容灾的方法。

【背景技术】
[0003]HLS (HTTP Live Streaming)是苹果公司基于HTTP实现的流媒体传输协议。HLS的特点是服务端将视频源文件进行切片存储,并生m3u8索引文件,在m3u8文件中对各切片文件进行描述,客户端根据m3u8中描述的TS文件顺序进行渐进式下载及播放。HLS具有以下优点:1、网络传输便捷,数据通过HTTP协议传输,所以完全不用考虑防火墙或者代理的问题;2、客户端通过渐进式下载的方式,可减轻主干网络负载;3、客户端可根据网络负载情况,动态调整视频播放码率。
[0004]视频点播是二十世纪90年代在国外发展起来的,英文称为“Video on Demand”,所以也称为“V0D”。顾名思义,就是根据观众的要求播放节目的视频点播系统,把用户所点击或选择的视频内容,传输给所请求的用户。视频点播系统包括服务器端、网络系统、客户端,服务器端与客户端通过网络通信,服务端系统主要由视频服务器、档案管理服务器、推流服务器、内部通讯子系统和网络接口组成。网络系统包括主干网络和本地网络两部分。
[0005]推流服务器实现点播流服务资源的管理功能,包括流服务能力的管理以及网络传输能力的管理,处理其他系统的流服务申请,进行流服务分配。推流服务器是对外提供推流和录制基础功能的服务器,处于视频点播网络的边缘,为视频点播、时移、精彩回放等业务提供后台服务,建设高并发、高可靠、高稳定的推流服务器对于运营商的安全稳定运营有着极其重要的作用。
[0006]近两年来,国内OTT业务发展迅猛,各厂商基于互联网的电视机顶盒、一体机产业如雨后春笋般争先发展;基于其各种应用层出不穷,而当前核心应用业务仍是视频、影视点播。当前视频点播系统为满足用户体验、节省网络传输负载等大都采用HLS协议实现视频点播。虽然HLS协议给视频点播系统带来很多利益,但是在实际高并发项目线上系统无缝容灾方面还无成熟、高效、低成本的解决方案。所谓容灾,是指在相隔较远的异地,建立两套或多套功能相同的IT系统,互相之间可以进行健康状态监视和功能切换,当一处系统因意外停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。因为没有成熟的无缝容灾的方法,所以导致用户请求视频点播过程中常因推流服务器故障而卡顿或无法观看。


【发明内容】

[0007]本发明的技术任务是针对以上不足之处,提供一种通过简单、可扩展的解决方案最终提高用户体验的一种基于HLS实现视频点播无缝容灾的方法。解决了用户请求视频点播过程中因推流服务器故障而卡顿或无法观看的问题。
[0008]本发明解决其技术问题所采用的技术方案是:
一种基于HLS实现视频点播无缝容灾的方法,在视频点播系统中实现视频点播无缝容灾的方法,视频点播系统包括服务器端、网络、客户端,服务器端与客户端通过网络通信;在服务器端,通过增加将多台服务器、采用负载均衡方式组成推流调度服务器组,推流调度服务器组通过心跳机制实时监控所管辖的所有推流服务器健康信息与负载信息;客户端所有用户视频点播请求先被推流调度服务器组拦截并记录用户视频点播请求,推流调度服务器组分配健康推流服务器给客户端,提供视频推流服务;当某台推流服务器故障时,推流调度服务器组根据当前用户视频点播请求切换至其他推流服务器,由其他推流服务器给客户端提供视频推流服务,达到无缝容灾。
[0009]具体包括如下步骤:
(1)、根据项目线上实际压力,在服务器端,将多台服务器负载均衡组成推流调度服务器组,保证用户请求处理模块正常工作;
(2)、推流调度服务器组通过心跳机制实时监控所管辖的所有推流服务器健康信息与当前负载详情,并实时更新推流服务器视频、影视资源映射;
(3)、推流调度服务器组最先拦截所有客户端的用户视频点播请求,并进行处理;
(4)、当客户端发出的用户视频点播请求为新的视频文件时,推流调度服务器组根据推流服务器健康状况与负载状况选取最优推流服务器,并从已选推流服务器中通过HTTP协议下载该视频文件并返回至客户端,记录当前用户视频点播请求与已选定的推流服务器映身寸关系;
(5)、客户端通过获取的视频文件描述自动发送用户视频点播请求至推流调度服务器组获取视频碎片文件,推流调度服务器组更新该用户视频点播请求后转发请求至已分配好的推流服务器,由推流服务器提供视频碎片服务给客户端;
(6)、当客户端发出用户视频点播请求,若指定推流服务器发生故障时,根据HLS协议,客户端重新发出用户视频点播请求,推流调度服务器组随即分配新的健康的推流服务器为其服务,并记录新的用户视频点播请求与推流服务器映射关系,完成服务器端无缝容灾。
[0010]用户视频点播请求包括用户视频M3U8文件请求与用户视频TS碎片文件请求; 当用户视频点播请求为新的视频M3U8文件请求时,推流调度服务器组根据推流服务器健康状况与负载状况选取最优推流服务器,并从已选推流服务器中通过HTTP协议下载该视频M3U8文件并返回至客户端,并且记录当前用户视频M3U8文件请求与已选定的推流服务器映射关系;
客户端通过获取的视频M3U8文件描述自动发送用户视频TS碎片文件请求至推流调度服务器组获取用户视频TS碎片文件,推流调度服务器组更新该用户视频点播请求后转发至已分配好的推流服务器,由推流服务器提供用户视频TS碎片文件服务;
当客户端发出新的用户视频M3U8文件请求时,若指定推流服务器发生故障,客户端重新发出用户视频M3U8文件请求到推流调度服务器组,推流调度服务器组随即分配新的健康的推流服务器为其服务,并记录新的用户视频M3U8文件请求与推流服务器映射关系;当客户端发出新的用户视频TS碎片文件请求时,若指定推流服务器发生故障,根据HLS协议,客户端重新发出用户视频TS碎片文件请求到推流调度服务器组,推流调度服务器组接受请求后会分配新的推流服务器提供服务,并记录新的用户视频TS碎片文件请求与推流服务器映射关系。
[0011]本发明的一种基于HLS实现视频点播无缝容灾的方法和现有技术相比,具有以下优点:
1、推流服务器故障时,推流调度服务器组可立即分配新的推流服务器给客户端提供服务,实现视频点播无缝容灾,使客户端不会因为推流服务器故障而视频文件卡顿或无法观看的问题;
2、不占用较多资源,即可达到无缝容灾的效果,方法简单、可扩展;
3、用户视频点播请求包括用户视频M3U8文件请求与用户视频TS碎片文件请求,即可达到用户视频M3U8文件请求时的无缝容灾效果,又可达到用户视频TS碎片文件请求时的无缝容灾效果。

【专利附图】

【附图说明】
[0012]下面结合附图对本发明进一步说明。
[0013]附图1为一种基于HLS实现视频点播无缝容灾的方法的部署框图;
附图2为一种基于HLS实现视频点播无缝容灾的方法的流程图。

【具体实施方式】
[0014]下面结合附图和具体实施例对本发明作进一步说明。
[0015]实施例1:
本发明的一种基于HLS实现视频点播无缝容灾的方法,为在视频点播系统中实现视频点播无缝容灾的方法,视频点播系统包括服务器端、网络、客户端,服务器端与客户端通过网络通信;在服务器端,通过增加将多台服务器、采用负载均衡方式组成推流调度服务器组,推流调度服务器组通过心跳机制实时监控所管辖的所有推流服务器健康信息与负载信息;客户端所有用户视频点播请求先被推流调度服务器组拦截并记录用户视频点播请求,推流调度服务器组分配健康推流服务器给客户端,提供视频推流服务;当某台推流服务器故障时,推流调度服务器组根据当前用户视频点播请求切换至其他推流服务器,由其他推流服务器给客户端提供视频推流服务,达到无缝容灾。
[0016]具体包括如下步骤:
(1)、根据项目线上实际压力,在服务器端,将多台服务器负载均衡组成推流调度服务器组,保证用户请求处理模块正常工作;
(2)、推流调度服务器组通过心跳机制实时监控所管辖的所有推流服务器健康信息与当前负载详情,并实时更新推流服务器视频、影视资源映射;
(3)、推流调度服务器组最先拦截所有客户端的用户视频点播请求,并进行处理;
(4)、当客户端发出的用户视频点播请求为新的视频文件时,推流调度服务器组根据推流服务器健康状况与负载状况选取最优推流服务器,并从已选推流服务器中通过HTTP协议下载该视频文件并返回至客户端,记录当前用户视频点播请求与已选定的推流服务器映身寸关系;
(5)、客户端通过获取的视频文件描述自动发送用户视频点播请求至推流调度服务器组获取视频碎片文件,推流调度服务器组更新该用户视频点播请求后转发请求至已分配好的推流服务器,由推流服务器提供视频碎片服务给客户端;
(6)、当客户端发出用户视频点播请求,若指定推流服务器发生故障时,根据HLS协议,客户端重新发出用户视频点播请求,推流调度服务器组随即分配新的健康的推流服务器为其服务,并记录新的用户视频点播请求与推流服务器映射关系,完成服务器端无缝容灾。
[0017]实施例2:
本发明的一种基于HLS实现视频点播无缝容灾的方法,为在视频点播系统中实现视频点播无缝容灾的方法,视频点播系统包括服务器端、网络、客户端,服务器端与客户端通过网络通信;在服务器端,通过增加将多台服务器、采用负载均衡方式组成推流调度服务器组,推流调度服务器组通过心跳机制实时监控所管辖的所有推流服务器健康信息与负载信息;客户端所有用户视频点播请求先被推流调度服务器组拦截并记录用户视频点播请求,推流调度服务器组分配健康推流服务器给客户端,提供视频推流服务;当某台推流服务器故障时,推流调度服务器组根据当前用户视频点播请求切换至其他推流服务器,由其他推流服务器给客户端提供视频推流服务,达到无缝容灾。
[0018]具体包括如下步骤:
(1)、根据项目线上实际压力,在服务器端,将多台服务器负载均衡组成推流调度服务器组,保证用户请求处理模块正常工作;
(2)、推流调度服务器组通过心跳机制实时监控所管辖的所有推流服务器健康信息与当前负载详情,并实时更新推流服务器视频、影视资源映射;
(3)、推流调度服务器组最先拦截所有客户端的用户视频点播请求,并进行处理;
(4)、当客户端发出的用户视频点播请求为新的视频文件时,推流调度服务器组根据推流服务器健康状况与负载状况选取最优推流服务器,并从已选推流服务器中通过HTTP协议下载该视频文件并返回至客户端,记录当前用户视频点播请求与已选定的推流服务器映身寸关系;
(5)、客户端通过获取的视频文件描述自动发送用户视频点播请求至推流调度服务器组获取视频碎片文件,推流调度服务器组更新该用户视频点播请求后转发请求至已分配好的推流服务器,由推流服务器提供视频碎片服务给客户端;
(6)、当客户端发出用户视频点播请求,若指定推流服务器发生故障时,根据HLS协议,客户端重新发出用户视频点播请求,推流调度服务器组随即分配新的健康的推流服务器为其服务,并记录新的用户视频点播请求与推流服务器映射关系,完成服务器端无缝容灾。
[0019]用户视频点播请求包括用户视频M3U8文件请求与用户视频TS碎片文件请求; 当用户视频点播请求为新的视频M3U8文件请求时,推流调度服务器组根据推流服务器健康状况与负载状况选取最优推流服务器,并从已选推流服务器中通过HTTP协议下载该视频M3U8文件并返回至客户端,并且记录当前用户视频M3U8文件请求与已选定的推流服务器映射关系;
客户端通过获取的视频M3U8文件描述自动发送用户视频TS碎片文件请求至推流调度服务器组获取用户视频TS碎片文件,推流调度服务器组更新该用户视频点播请求后转发至已分配好的推流服务器,由推流服务器提供用户视频TS碎片文件服务;
当客户端发出新的用户视频M3U8文件请求时,若指定推流服务器发生故障,客户端重新发出用户视频M3U8文件请求到推流调度服务器组,推流调度服务器组随即分配新的健康的推流服务器为其服务,并记录新的用户视频M3U8文件请求与推流服务器映射关系;当客户端发出新的用户视频TS碎片文件请求时,若指定推流服务器发生故障,根据HLS协议,客户端重新发出用户视频TS碎片文件请求到推流调度服务器组,推流调度服务器组接受请求后会分配新的推流服务器提供服务,并记录新的用户视频TS碎片文件请求与推流服务器映射关系。
[0020]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的一种基于HLS实现视频点播无缝容灾的方法的权利要求书的且任何所属【技术领域】的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【权利要求】
1.一种基于HLS实现视频点播无缝容灾的方法,其特征在于在视频点播系统中实现视频点播无缝容灾的方法,视频点播系统包括服务器端、网络、客户端,服务器端与客户端通过网络通信;在服务器端,通过增加将多台服务器、采用负载均衡方式组成推流调度服务器组,推流调度服务器组通过心跳机制实时监控所管辖的所有推流服务器健康信息与负载信息;客户端所有用户视频点播请求先被推流调度服务器组拦截并记录用户视频点播请求,推流调度服务器组分配健康推流服务器给客户端,提供视频推流服务;当某台推流服务器故障时,推流调度服务器组根据当前用户视频点播请求切换至其他推流服务器,由其他推流服务器给客户端提供视频推流服务,达到无缝容灾。
2.根据权利要求1所述的一种基于HLS实现视频点播无缝容灾的方法,其特征在于具体包括如下步骤: (1)、在服务器端,将多台服务器负载均衡组成推流调度服务器组; (2)、推流调度服务器组通过心跳机制实时监控所管辖的所有推流服务器健康信息与当前负载详情,并实时更新推流服务器视频、影视资源映射; (3)、推流调度服务器组最先拦截所有客户端的用户视频点播请求,并进行处理; (4)、当客户端发出的用户视频点播请求为新的视频文件时,推流调度服务器组根据推流服务器健康状况与负载状况选取最优推流服务器,并从已选推流服务器中通过HTTP协议下载该视频文件并返回至客户端,记录当前用户视频点播请求与已选定的推流服务器映身寸关系; (5)、客户端通过获取的视频文件描述自动发送用户视频点播请求至推流调度服务器组获取视频碎片文件,推流调度服务器组更新该用户视频点播请求后转发请求至已分配好的推流服务器,由推流服务器提供视频碎片服务给客户端; (6)、当客户端发出用户视频点播请求,若指定推流服务器发生故障时,根据HLS协议,客户端重新发出用户视频点播请求,推流调度服务器组随即分配新的健康的推流服务器为其服务,并记录新的用户视频点播请求与推流服务器映射关系,完成服务器端无缝容灾。
3.根据权利要求1所述的一种基于HLS实现视频点播无缝容灾的方法,其特征在于用户视频点播请求包括用户视频M3U8文件请求与用户视频TS碎片文件请求; 当用户视频点播请求为新的视频M3U8文件请求时,推流调度服务器组根据推流服务器健康状况与负载状况选取最优推流服务器,并从已选推流服务器中通过HTTP协议下载该视频M3U8文件并返回至客户端,并且记录当前用户视频M3U8文件请求与已选定的推流服务器映射关系; 客户端通过获取的视频M3U8文件描述自动发送用户视频TS碎片文件请求至推流调度服务器组获取用户视频TS碎片文件,推流调度服务器组更新该用户视频点播请求后转发至已分配好的推流服务器,由推流服务器提供用户视频TS碎片文件服务; 当客户端发出新的用户视频M3U8文件请求时,若指定推流服务器发生故障,客户端重新发出用户视频M3U8文件请求到推流调度服务器组,推流调度服务器组随即分配新的健康的推流服务器为其服务,并记录新的用户视频M3U8文件请求与推流服务器映射关系; 当客户端发出新的用户视频TS碎片文件请求时,若指定推流服务器发生故障,根据HLS协议,客户端重新发出用户视频TS碎片文件请求到推流调度服务器组,推流调度服务器组接受请求后会分配新的推流服务器提供服务,并记录新的用户视频TS碎片文件请求与推流服务器映射关系。
【文档编号】H04N21/231GK104135672SQ201410396552
【公开日】2014年11月5日 申请日期:2014年8月13日 优先权日:2014年8月13日
【发明者】杨伟俊 申请人:浪潮软件集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1