[发明专利]提高nginx-rtmp拉流服务质量的方法及装置有效
申请号: | 201710761733.0 | 申请日: | 2017-08-30 |
公开(公告)号: | CN109428864B | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 何绍富;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L12/24 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提高 nginx rtmp 服务质量 方法 装置 | ||
1.提高nginx-rtmp拉流服务质量的方法,其特征在于,包括:
S1,在nginx-rtmp模块配置文件的pull配置项中添加backups参数,所述backups参数的值为备用拉流的url;当后端服务连接出现异常时,调用中继会话关闭方法,判断当前中继会话是否为拥有主备的拉流;
S2,若判断结果为是,则从所述中继会话中获取会话加载时所注册的主备模式间切换的异步处理事件,并为所述异步处理事件添加第一定时器;
S3,关闭当前中继会话,待所述第一定时器时间到后,调用所述异步处理事件所对应的事件处理函数,为后端服务器创建新的服务连接;
所述中继会话关闭方法用于判断当前拉流线路是否同时拥有主线路和备用线路。
2.根据权利要求1所述的方法,其特征在于,所述在nginx-rtmp模块配置文件的pull配置项中添加backups参数之后还包括:
S01,通过解析所述配置文件对主备模式进行初始化,并根据解析结果创建主备模式间切换的异步处理事件和第二定时器,并注册所述异步处理事件触发后的事件处理函数;
S02,启动第二定时器任务,若主服务连接异常,则待所述第二定时器超时后,执行所述事件处理函数。
3.根据权利要求2所述的方法,其特征在于,所述步骤S01进一步包括:
S011,解析所述配置文件,将解析所述backups参数所得的结果和解析主服务所对应的url所得的结果同时存入拉流所对应的target结构中,并在所述target结构中添加初始化后的控制切换标识;
S012,根据所述target结构中的数据,创建主备模式间切换的事件处理对象;
S013,注册所述事件处理对象的事件处理函数,并为所述事件处理对象添加第二定时器。
4.根据权利要求3所述的方法,其特征在于,步骤S011中解析所述配置文件进一步包括:
在nginx-rtmp relay模块中添加解析backups参数的命令,将主服务和备用拉流所对应的url均解析为ip地址、端口地址和http参数。
5.根据权利要求3所述的方法,其特征在于,所述步骤S012进一步包括:
从nginx-pool中申请一个新的事件存储空间;
将获取到的主备用服务所对应的url解析完成的target结构设置为事件处理对象;
从全局events队列中申请一个slot,将所述事件处理对象插入到所述全局events队列中。
6.根据权利要求3所述的方法,其特征在于,步骤S3中调用所述异步处理事件所对应的事件处理函数,为后端服务器创建新的服务连接的步骤进一步包括:
通过epoll事件获取所述事件处理对象所对应的target结构中的数据;
根据所述target结构中的控制切换标识的值,判断待链接的服务为主服务还是备用服务;
创建与所述判断结果相对应的服务连接,并修改所述控制切换标识的值。
7.根据权利要求6所述的方法,其特征在于,所述步骤S3还包括:
若创建与所述判断结果相对应的服务连接失败,则在第三定时器超时后,再次调用所述异步处理事件的事件处理函数为后端服务器创建其他服务连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710761733.0/1.html,转载请声明来源钻瓜专利网。