本申请涉及计算机,尤其涉及域名解析,提供一种域名解析处理方法、装置、设备及存储介质。
背景技术:
1、httpdns,也可以称为移动解析,是基于超文本传输协议(hypertext transferprotocol,http)协议向域名系统(domain name system,dns)服务器发起域名解析请求,替代了基于dns协议向运营商本地dns(localdns)服务器发起域名解析请求的传统方式,可以避免localdns服务器造成的域名劫持和跨网访问等问题,解决互联网服务中域名解析异常带来的困扰。应用(application,app)的httpdns能力通常是基于软件开发工具包(software development kit,sdk)实现的,通过在app中添加httpdnssdk,能够在使得该app快速接入httpdns能力。
2、目前,httpdnssdk向dns服务器发起域名解析请求之后,通常会将域名解析结果缓存到内存中,在缓存有效期内可以直接使用内存中缓存的域名解析结果而无需向dns服务器发起域名解析请求,缓存失效后则通过发起域名解析请求重新获取域名解析结果,并更新到内存中。
3、但是,由于域名解析结果的缓存有效期一般设置的比较小,例如约为600s,这导致了内存中的缓存易失效,使得域名解析结果在缓存中的命中率较低,通常命中率约为20%,缓存命中失败就需要重新向dns服务器发起域名解析请求,导致了域名解析时延较高,进而使得app中页面的响应时延较高。
技术实现思路
1、本申请实施例提供一种域名解析处理方法、装置、设备及存储介质,用于降低域名解析时延,提升业务响应速度。
2、一方面,提供一种域名解析处理方法,应用于dns解析工具包,该方法包括:
3、从所述dns解析工具包对应的dns服务器中,获取第一域名的域名解析结果;
4、将所述第一域名的域名解析结果存储至域名解析结果集中,所述域名解析结果集用于缓存从所述dns服务器获得的域名解析结果;
5、在所述第一域名属于第一域名集合时,针对所述第一域名创建缓存更新任务;其中,所述缓存更新任务用于指示:在所述域名解析结果在所述域名解析结果集中的存储起始时刻之后的指定时刻,从所述dns服务器获取所述第一域名的更新解析结果,所述指定时刻与所述存储起始时刻之间的时间差小于有效时长阈值;
6、响应于当前时刻为所述指定时刻,执行所述缓存更新任务,并根据获得的更新解析结果,更新所述域名解析结果集中所述第一域名对应的域名解析结果。
7、在一种可能的实施方式中,在响应于所述目标应用的域名预解析请求,获得需进行域名预解析的第二域名集合之前,所述方法还包括:
8、响应于对所述第二域名集合的配置请求,根据所述配置请求指示的各个域名,创建所述第二域名集合;或者,
9、响应于对所述第二域名集合的更新请求,将所述更新请求中指示的各个域名添加至所述第二域名集合中。
10、一方面,提供一种域名解析处理装置,该装置包括:
11、域名解析单元,用于从所述dns解析工具包对应的dns服务器中,获取第一域名的域名解析结果;
12、域名存储单元,用于将所述第一域名的域名解析结果存储至域名解析结果集中,所述域名解析结果集用于缓存从所述dns服务器获得的域名解析结果;
13、缓存更新单元,用于在所述第一域名属于第一域名集合时,针对所述第一域名创建缓存更新任务;其中,所述缓存更新任务用于指示:在所述域名解析结果在所述域名解析结果集中的存储起始时刻之后的指定时刻,从所述dns服务器获取所述第一域名的更新解析结果,所述指定时刻与所述存储起始时刻之间的时间差小于有效时长阈值;
14、任务执行单元,用于响应于当前时刻为所述指定时刻,执行所述缓存更新任务,并根据获得的更新解析结果,更新所述域名解析结果集中所述第一域名对应的域名解析结果。
15、一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。
16、一方面,提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一种方法的步骤。
17、一方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述任一种方法的步骤。
18、本申请实施例中,在将从dns服务器获取的域名解析结果存储至缓存的域名解析结果集中时,则会检测第一域名是否属于第一域名集合,若属于第一域名集合时,则会针对第一域名创建缓存更新任务,执行该缓存更新任务,将在该域名解析结果在域名解析结果集中的存储起始时刻之后的指定时刻,从dns服务器获取第一域名的更新解析结果,并对域名解析结果集中第一域名对应的域名解析结果进行更新。
19、可见,通过在存储域名解析结果时创建相应的缓存更新任务,可以实现在域名解析结果过期之前,针对第一域名集合中的各个域名的域名解析结果进行缓存自动更新,以增加域名解析结果的有效性。那么,在访问这些域名时则可以从域名解析结果集中直接获取,而无需从dns服务器获取,降低了域名解析延时,有助于提升业务响应的速率。
1.一种域名解析处理方法,其特征在于,应用于域名系统dns解析工具包,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述dns解析工具包包括在目标应用中,所述域名解析结果集存储在所述目标应用的应用缓存空间中,所述应用缓存空间中存储的域名解析结果,在所述目标应用关闭时将被清除;
3.如权利要求2所述的方法,其特征在于,在所述在执行所述dns解析工具包的初始化过程中,将所述本地存储空间中存储的域名解析结果读取至所述应用缓存空间中之后,所述方法还包括:
4.如权利要求2所述的方法,其特征在于,所述dns解析工具包的配置信息包括:用于指示是否对域名解析结果进行持久化存储的第一指示信息;
5.如权利要求2所述的方法,其特征在于,所述更新操作包括如下操作的一个或者多个的组合:
6.如权利要求1~5任一所述的方法,其特征在于,在将所述域名解析结果存储至域名解析结果集中之后,所述方法还包括:
7.如权利要求1~5任一所述的方法,其特征在于,在将所述域名解析结果存储至域名解析结果集中之后,所述方法还包括:
8.如权利要求1~5任一所述的方法,其特征在于,所述dns解析工具包包括在目标应用中,则所述方法还包括:
9.如权利要求1~5任一所述的方法,其特征在于,所述dns解析工具包包括在目标应用中,则所述方法还包括:
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
11.如权利要求1~5任一所述的方法,其特征在于,所述dns解析工具包包括在目标应用中,则所述方法还包括:
12.如权利要求11所述的方法,其特征在于,所述dns解析工具包包括预解析服务接口和初始化接口;
13.一种域名解析处理装置,其特征在于,所述装置包括:
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
15.一种计算机存储介质,其上存储有计算机程序,其特征在于,
16.一种计算机程序产品,包括计算机程序,其特征在于,
