The present invention provides a method and a device for Nginx RTMP dynamic update the DNS cache, the method includes: S1, DNS in the cache tag set in advance for the open state, to obtain the current timestamp and absolute time record set in advance before an update the DNS cache when S2 gets the current time stamp; stamp and the absolute timestamp interval and time interval compared with the timeout interval preset; S3, if the time interval is greater than the timeout interval, according to the corresponding backend service pre recorded URL, DNS cache is updated and the current timestamp stored as absolute timestamp. The present invention by adding DNS Nginx cache in RTMP, to determine whether the timestamp expired, to decide whether to update the DNS, the realization of the IP backend service scheduling changes can quickly respond in a timely manner, automatically switched back end service IP.
【技术实现步骤摘要】
Nginx-RTMP动态更新DNS缓存的方法和装置
本专利技术涉及计算机
,具体涉及一种Nginx-RTMP动态更新DNS缓存的方法和装置。
技术介绍
随着网络通信技术的发展和宽带网速的提升,网络直播技术也不断发展,并得到了越来越多的关注。现有技术中通常利用Nginx-RTMP平台搭建直播环境。Nginx(enginex)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器;Nginx作为负载均衡服务器:Nginx既可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务。RTMP是RealTimeMessagingProtocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括AdobeMediaServer/UltrantMediaServer/red5等。在直播过程中,直播流CDN拉流转发到前端展示的过程中,获取后端服务器IP很重要。现有技术中,Nginx-RTMP平台获取后端服务器IP的方法通常包括以下步骤:重新加载配置文件;解析配置文件中的URL;调用系统api获取对应的后端服务器IP;在下次加载文件前都使用该获取的后端服务器IP。因此,现有技术至少存在以下技术缺陷:需要人工手动重新加载配置文件才能获取后端服务器IP;而如 ...
【技术保护点】
一种Nginx‑RTMP动态更新DNS缓存的方法,其特征在于,包括:S1,在预先设置的DNS缓存标记为开启状态后,获取当前时间戳以及预先设置的前一次更新DNS缓存时记录的绝对时间戳;S2,获取所述当前时间戳与所述绝对时间戳的时间间隔,并将所述时间间隔与预先设置的超时时间间隔进行对比;S3,若所述时间间隔大于所述超时时间间隔,则根据预先记录的后端服务对应的URL,对所述DNS缓存进行更新,并将所述当前时间戳记录为所述绝对时间戳。
【技术特征摘要】
1.一种Nginx-RTMP动态更新DNS缓存的方法,其特征在于,包括:S1,在预先设置的DNS缓存标记为开启状态后,获取当前时间戳以及预先设置的前一次更新DNS缓存时记录的绝对时间戳;S2,获取所述当前时间戳与所述绝对时间戳的时间间隔,并将所述时间间隔与预先设置的超时时间间隔进行对比;S3,若所述时间间隔大于所述超时时间间隔,则根据预先记录的后端服务对应的URL,对所述DNS缓存进行更新,并将所述当前时间戳记录为所述绝对时间戳。2.根据权利要求1所述的方法,其特征在于,所述步骤S1前还包括:在配置文件中设置所述DNS缓存标记以及所述超时时间间隔;对所述配置文件进行解析,获取所述DNS缓存标记以及所述超时时间间隔,并将所述DNS缓存标记和所述超时时间间隔添加至target结构中;获取所述配置文件中所述后端服务对应的URL,并将所述URL存储至所述target结构中;对所述URL进行解析,获取与所述URL对应的IP;将进行解析时的时间戳记录为所述绝对时间戳并将所述绝对时间戳存储至所述target结构中。3.根据权利要求1所述的方法,其特征在于,所述S3中根据预先记录的后端服务对应的URL,对所述DNS缓存进行更新的步骤进一步包括:获取所述后端服务对应的URL的类型;若所述URL的类型为DomainSocket类型,则对所述URL进行解析,获取所述DomainSocket的路径,设置与所述DomainSocket类型对应的协议族,获取地址个数。4.根据权利要求3所述的方法,其特征在于,所述获取所述后端服务对应的URL的类型的步骤后还包括:若所述URL的类型为IPPort类型,则对IPPort字符串进行解析,确认IP字符串合法后,将所述IP字符串填入target结构中,并设置与所述IPPort类型对应的协议族;否则,获取IP列表;根据所述IP列表...
【专利技术属性】
技术研发人员:何绍富,张文明,陈少杰,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。