利索能及
我要发布
收藏
专利号: 201710758639X
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-11-27
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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的类型为Domain Socket类型,则对所述URL进行解析,获取所述Domain Socket的路径,设置与所述Domain Socket类型对应的协议族,获取地址个数。

4.根据权利要求3所述的方法,其特征在于,所述获取所述后端服务对应的URL的类型的步骤后还包括:若所述URL的类型为IP Port类型,则对IP Port字符串进行解析,确认IP字符串合法后,将所述IP字符串填入target结构中,并设置与所述IP Port类型对应的协议族;否则,获取IP列表;根据所述IP列表中IP的类型,设置相应的协议族,并将所述IP列表存储至所述target结构;其中,所述IP的类型包括IPv4或IPv6。

5.根据权利要求3所述的方法,其特征在于,所述获取所述后端服务对应的URL的类型的步骤前还包括:若target结构中存在前一次更新的DNS缓存,则对所述前一次更新的DNS缓存进行清理操作,并释放资源;

创建资源池并进行初始化操作。

6.根据权利要求4所述的方法,其特征在于,所述确认IP字符串合法后,将所述IP字符串填入target结构中的步骤后还包括:若所述IP Port字符串中没有Port,则在所述target结构中填入default Port(80)。

7.根据权利要求4所述的方法,其特征在于,所述获取IP列表的步骤进一步包括:通过调用系统函数getaddrinfo获取所述IP列表。

8.一种Nginx-RTMP动态更新DNS缓存的装置,其特征在于,包括:获取模块,用于在预先设置的DNS缓存标记为开启状态后,获取当前时间戳以及预先设置的前一次更新DNS缓存时记录的绝对时间戳;

对比模块,用于获取所述当前时间戳与所述绝对时间戳的时间间隔,并将所述时间间隔与预先设置的超时时间间隔进行对比;

更新模块,用于,若所述时间间隔大于所述超时时间间隔,则根据预先记录的后端服务对应的URL,对所述DNS缓存进行更新,并将所述当前时间戳记录为所述绝对时间戳。

9.一种Nginx-RTMP动态更新DNS缓存的设备,其特征在于,包括:至少一个处理器;

以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。

10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的方法。