CN103002070A - 一种域名解析方法及装置 - Google Patents
一种域名解析方法及装置 Download PDFInfo
- Publication number
- CN103002070A CN103002070A CN201210572730XA CN201210572730A CN103002070A CN 103002070 A CN103002070 A CN 103002070A CN 201210572730X A CN201210572730X A CN 201210572730XA CN 201210572730 A CN201210572730 A CN 201210572730A CN 103002070 A CN103002070 A CN 103002070A
- Authority
- CN
- China
- Prior art keywords
- variable
- domain name
- value
- request
- domain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种域名解析方法及装置,该方法包括:针对任一域名信息,按照预先设定的N个缓存变量及各缓存变量对应的变量取值,为该域名信息配置M个分别与各变量取值组合一一对应的网络协议地址;接收客户端发送的域名解析请求,其中携带有域名信息以及分别从属于该N个缓存变量的N个变量取值;确定与该域名信息相对应的多个网络协议地址,并从所确定的多个网络协议地址中确定与所携带的N个变量取值所形成的变量取值组合相对应的网络协议地址,并将该网络协议地址返回给客户端。通过本发明所述技术方案,能够为同一域名信息返回与域名解析请求中携带的各缓存变量取值所形成的组合相匹配的解析结果,提高了解析结果的质量和域名解析的灵活性。
Description
技术领域
本发明涉及DNS(Domain Name System,域名系统)技术领域,尤其涉及一种域名解析方法及装置。
背景技术
在网络通信中,通常将IP(Internet Protocol,网络协议)地址作为主机的网络层标识,由于IP地址是由一串数字组成,不便于用户记忆,于是为了便于用户记忆产生了与IP地址对应的主机域名。但是,由于在实际的通信过程中,主机等通信设备只能用IP地址才能相互识别,因此,在利用主机域名来进行主机的访问时,还需要将该主机域名转换成相应的IP地址。
DNS即是一个能够将域名和IP地址相互映射的分布式数据库系统,主要由解析器和域名服务器组成,DNS服务器主要处理两项任务:域名缓存和递归解析,其中有大约95%的DNS域名解析请求可以通过查询DNS服务器中的域名缓存的方式来进行应答,因此,DNS服务器中的域名缓存的组织方式和其中存储的数据在很大程度上决定着DNS域名解析服务的质量。
目前,为了提高DNS域名解析服务的质量,业界常采用人工配置和强制解析的方式来为来自某一客户端的域名解析请求提供其所需的域名解析结果,但是,在采用上述方式为各客户端提供域名解析服务时,所需要的人工量较大,且所能够提供的优质解析结果的数量有限,从而导致域名解析的灵活性较差、域名解析效果并不佳。
发明内容
本发明实施例提供了一种域名解析方法及装置,用以解决现有技术中存在的域名解析的灵活性较差且域名解析效果并不佳的问题。
一种域名解析方法,包括:
针对任一域名信息,按照预先设定的N个缓存变量以及各缓存变量对应的变量取值,预先为该域名信息配置M个分别与各变量取值组合一一对应的网络协议地址,其中,各变量取值组合包含N个分别从属于所述N个缓存变量的变量取值,且任意两个变量取值组合互不相同,所述M、N为正整数;
接收客户端发送的域名解析请求,所述域名解析请求中携带有本次域名解析请求对应的域名信息以及与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值;
根据所述域名解析请求中携带的域名信息,确定与该域名信息相对应的多个网络协议地址,并根据所述域名解析请求中携带的N个变量取值,从所确定的多个网络协议地址中确定与所述N个变量取值所形成的变量取值组合相对应的网络协议地址,并将该网络协议地址返回给对应的客户端。
一种域名解析装置,包括:
解析结果配置模块,用于针对任一域名信息,按照预先设定的N个缓存变量以及各缓存变量对应的变量取值,预先为该域名信息配置M个分别与各变量取值组合一一对应的网络协议地址,其中,各变量取值组合包含N个分别从属于所述N个缓存变量的变量取值,且任意两个变量取值组合互不相同,所述M、N为正整数;
解析请求接收模块,用于接收客户端发送的域名解析请求,所述域名解析请求中携带有本次域名解析请求对应的域名信息以及与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值;
解析结果确定模块,用于根据所述域名解析请求中携带的域名信息,确定与该域名信息相对应的多个网络协议地址,并根据所述域名解析请求中携带的N个变量取值,从所确定的多个网络协议地址中确定与所述N个变量取值所形成的变量取值组合相对应的网络协议地址,并将该网络协议地址返回给对应的客户端。
本发明有益效果如下:
本发明实施例提供了一种域名解析方法及装置,所述方法包括:针对任一域名信息,按照预先设定的N个缓存变量以及各缓存变量对应的变量取值,预先为该域名信息配置M个分别与各变量取值组合一一对应的网络协议地址,其中,各变量取值组合包含N个分别从属于所述N个缓存变量的变量取值,且任意两个变量取值组合互不相同;在接收到客户端发送的域名解析请求时,根据所述域名解析请求中携带的域名信息,确定与该域名信息相对应的多个网络协议地址,并根据所述域名解析请求中携带的与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值,从所确定的多个网络协议地址中确定与所述N个变量取值所形成的变量取值组合相对应的网络协议地址,并将该网络协议地址返回给对应的客户端。通过本发明所述技术方案,能够预先为各域名信息配置与各缓存变量组合相对应的多个不同的域名解析结果,并在接收到来自客户端的域名解析请求时,根据域名解析请求中携带的与本次域名解析请求相关的各缓存变量取值,为本次域名解析请求中携带的域名信息返回与所携带的各缓存变量取值所形成的变量取值组合相匹配的解析结果,从而提高了域名解析结果的多样性、域名解析结果的质量以及域名解析的灵活性。
附图说明
图1所示为本发明实施例一中所述域名解析方法的流程示意图;
图2所示为本发明实施例一中以中国的各行政区作为域名解析请求的请求源所在的地理区域这一缓存变量的各变量取值时所得到的DNS缓存的结构示意图;
图3所示为本发明实施例二中所述域名解析装置的结构示意图。
具体实施方式
本发明实施例提供了一种域名解析方法及装置,所述域名解析方法包括:针对任一域名信息,按照预先设定的N个缓存变量以及各缓存变量对应的变量取值,预先为该域名信息配置M个分别与各变量取值组合一一对应的网络协议地址,其中,各变量取值组合包含N个分别从属于所述N个缓存变量的变量取值,且任意两个变量取值组合互不相同,所述M、N为正整数;接收客户端发送的域名解析请求,所述域名解析请求中携带有本次域名解析请求对应的域名信息以及与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值;根据所述域名解析请求中携带的域名信息,确定与该域名信息相对应的多个网络协议地址,并根据所述域名解析请求中携带的N个变量取值,从所确定的多个网络协议地址中确定与所述N个变量取值所形成的变量取值组合相对应的网络协议地址,并将该网络协议地址返回给对应的客户端。通过本发明所述技术方案,能够预先为各域名信息配置与各缓存变量组合相对应的多个不同的域名解析结果,并在接收到来自客户端的域名解析请求时,根据域名解析请求中携带的与本次域名解析请求相关的各缓存变量取值,为同一个域名信息返回与所携带的各缓存变量取值所形成的变量取值组合相匹配的解析结果,从而提高了域名解析结果的多样性、域名解析结果的质量以及域名解析的灵活性。
下面结合说明书附图对本发明实施例作进一步说明,但本发明不局限于下面的实施例。
实施例一:
如图1所示,其为本发明实施例一中所述域名解析方法的流程示意图,所述域名解析方法包括以下步骤:
步骤101:针对任一域名信息,按照预先设定的N个缓存变量以及各缓存变量对应的变量取值,预先为该域名信息配置M个分别与各变量取值组合一一对应的网络协议地址,所述M、N为正整数。
其中,各变量取值组合包含N个分别从属于所述N个缓存变量的变量取值,且任意两个变量取值组合互不相同。
具体地,所述缓存变量为与来自客户端的域名解析请求相关的变量,如可以包括以下信息中的一种或多种:
域名解析请求的请求源、域名解析请求的请求时间以及域名解析请求的请求源所在的地理区域等。
需要说明的是,所述缓存变量还可以为与来自客户端的域名解析请求相关的其他请求变量,本发明实施例对此不作任何限定。
进一步地,针对任一缓存变量,该缓存变量所对应的变量取值的个数需要根据实际情况进行设定,本发明实施例对此不作任何限定。例如,针对域名解析请求的请求源所在的地理区域这一缓存变量,可以设定其所对应的变量取值分别为中国的34个行政区,此时,该缓存变量所对应的变量取值的个数为34;或者,可以设定其所对应的变量取值分别为东部地区、西部地区、北部地区以及南部地区,则此时,该缓存变量所对应的变量取值的个数为4;另外需要说明的是,所述预先设定的缓存变量的个数N可以根据实际情况进行设定,本发明实施例对此不作任何限定。
具体地,在本步骤101中,针对任一域名信息,按照预先设定的N个缓存变量以及各缓存变量对应的变量取值,预先为该域名信息配置M个分别与各变量取值组合一一对应的网络协议地址,具体可以包括以下步骤:
S1:对所述N个缓存变量对应的变量取值进行组合,得到M个互不相同且分别包含N个分别从属于所述N个缓存变量的变量取值的变量取值组合。
具体地,所述M的取值为不大于所述N个缓存变量对应的变量取值个数的乘积的任一数值;较优地,所述M的取值可以等于所述N个缓存变量对应的变量取值个数的乘积。
例如:当预先设定的缓存变量的个数为1,且所述缓存变量为域名解析请求的请求源,且所述域名解析请求的请求源所对应的变量取值的个数为X时,所述M的取值可以为M=X;
当预先设定的缓存变量的个数为2,且所述缓存变量为域名解析请求的请求源以及域名解析请求的请求时间,且所述域名解析请求的请求源所对应的变量取值的个数为X,所述域名解析请求的请求时间所对应的变量取值的个数为Y时,所述M的取值可以为M=XY;
当预先设定的缓存变量的个数为3,且所述缓存变量为域名解析请求的请求源、域名解析请求的请求时间以及域名解析请求的请求源所在的地理区域,且所述域名解析请求的请求源所对应的变量取值的个数为X,所述域名解析请求的请求时间所对应的变量取值的个数为Y,所述域名解析请求的请求源所在的地理区域所对应的变量取值的个数为Z时,所述M的取值可以为M=XYZ。
进一步地,以预先设定的缓存变量的个数为1,且所述缓存变量为域名解析请求的请求源为例,若X的值为2(如域名解析请求的请求源所对应的变量取值分别为X1和X2),则所得到的M(以M=2为例)个变量取值组合可以分别表示为:
(X1)、(X2);
以预先设定的缓存变量的个数为2,且所述缓存变量为域名解析请求的请求源和域名解析请求的请求时间为例,若X的值为2(如域名解析请求的请求源所对应的变量取值分别为X1和X2)、Y的值为3(如域名解析请求的请求时间所对应的变量取值分别为Y1、Y2和Y3),则所得到的M(以M=6为例)个变量取值组合可以分别表示为:
(X1、Y1)、(X1、Y2)、(X1、Y3);
(X2、Y1)、(X2、Y2)、(X2、Y3);
以预先设定的缓存变量的个数为3,且所述缓存变量为域名解析请求的请求源、域名解析请求的请求时间以及域名解析请求的请求源所在的地理区域为例,若X的值为2(如域名解析请求的请求源所对应的变量取值分别为X1和X2)、Y的值为3(如域名解析请求的请求时间所对应的变量取值分别为Y1、Y2和Y3)且Z的值为4(如域名解析请求的请求源所在的地理区域对应的变量取值分别为Z1、Z2、Z3和Z4),则所得到的M(以M=24为例)个变量取值组合可以分别表示为:
(X1、Y1、Z1)、(X1、Y1、Z2)、(X1、Y1、Z3)、(X1、Y1、Z4);
(X1、Y2、Z1)、(X1、Y2、Z2)、(X1、Y2、Z3)、(X1、Y2、Z4);
(X1、Y3、Z1)、(X1、Y3、Z2)、(X1、Y3、Z3)、(X1、Y3、Z4);
(X2、Y1、Z1)、(X2、Y1、Z2)、(X2、Y1、Z3)、(X2、Y1、Z4);
(X2、Y2、Z1)、(X2、Y2、Z2)、(X2、Y2、Z3)、(X2、Y2、Z4);
(X2、Y3、Z1)、(X2、Y3、Z2)、(X2、Y3、Z3)、(X2、Y3、Z4)。
S2:针对任一域名信息,为该域名信息配置包含M个分别与所确定的M个变量取值组合一一对应的网络协议地址。
也就是说,需要为每个域名信息配置多个不同的解析结果,且任一解析结果均为与某一变量取值组合最为匹配、效果最佳的解析结果,从而大大提高了域名解析结果的多样性和域名解析结果的质量。
具体地,可以将为每个域名信息配置的M个分别与所确定的M个变量取值组合一一对应的网络协议地址作为一个解析结果集,即每个域名信息均与一个包含M个分别与所确定的M个变量取值组合一一对应的网络协议地址的解析结果集相对应。
具体地,以预先设定的缓存变量的个数为1,且所述缓存变量为域名解析请求的请求源所在的地理区域为例,若域名解析请求的请求源所在的地理区域对应的变量取值分别为中国的34个行政区,如湖北、广西、河南等,则所得到的变量取值组合可以为34个,进而,为任一域名信息所配置的解析结果集也均可以包含34个分别与所确定的34个变量取值组合一一对应的网络协议地址(即解析结果)。
例如,某网站A针对中国的各行政区开辟了一个地方新闻版块,且默认各行政区用户对其所在行政区的地方新闻更感兴趣,则可以为该网站A的地方新闻版块对应的域名信息配置包含34个分别与中国的各行政区(任一行政区均相当于一个变量取值组合)一一对应的网络协议地址,从而在任一行政区用户请求访问该网站A的地方新闻版块时,为该行政区用户返回与其所在行政区相对应的地方新闻版块的网络协议地址;例如,当湖南用户请求访问A网站的地方新闻版块时,返回与“湖南”这一行政省相对应的地方新闻版块的网络协议地址。
进一步地,在为各域名信息配置M个分别与所确定的M个变量取值组合一一对应的网络协议地址之后,可以将各域名信息对应的包含M个分别与所确定的M个变量取值组合一一对应的网络协议地址的解析结果集进行合并,得到基于所述N个缓存变量的DNS缓存。
需要说明的是,在所得到的DNS缓存中,各解析结果均对应一个唯一的缓存地址,通过该缓存地址可以从所述DNS缓存中找到对应的解析结果。
具体地,仍以预先设定的缓存变量的个数为1,且所述缓存变量为域名解析请求的请求源所在的地理区域为例,若域名解析请求的请求源所在的地理区域对应的变量取值分别为中国的34个行政区,如湖北、广西、河南等,则最终所得到的基于所述缓存变量的DNS缓存可以如图2所示,即将DNS主缓存划分成若干连续的段(每段为与一个域名信息相对应的解析结果集),每段包含34个解析结果单元,其中每个解析结果单元存储一个网络协议地址,每个网络协议地址均为与所述34个行政区中的一个行政区相对应的域名解析结果。
需要说明的是,本步骤101为预先为各域名信息配置域名解析结果的步骤,并不是每次进行域名解析时必须执行的步骤,在按照步骤101所述方式为各域名信息配置域名解析结果后,可以多次执行以下域名解析步骤。
步骤102:接收客户端发送的域名解析请求,所述域名解析请求中携带有本次域名解析请求对应的域名信息以及与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值。
具体地,在本步骤102中,在接收到来自客户端的域名解析请求时,可以通过对该域名解析请求进行解析的方式,获取该域名解析请求中携带的域名信息以及与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值。
例如:若预先设定的缓存变量的个数为1,且所述缓存变量为域名解析请求的请求源所在的地理区域,且所述缓存变量对应的变量取值为中国的34个行政区,则在接收到的来自客户端的域名解析请求为来自“湖北”的域名解析请求时,可以确定该域名解析请求中携带的与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值为“湖北”。
步骤103:根据所述域名解析请求中携带的域名信息,确定与该域名信息相对应的多个网络协议地址,并根据所述域名解析请求中携带的N个变量取值,从所确定的多个网络协议地址中确定与所述N个变量取值所形成的变量取值组合相对应的网络协议地址,并将该网络协议地址返回给对应的客户端。
也就是说,当接收到来自客户端的域名解析请求时,可以根据该域名解析请求中携带的域名信息以及与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值所形成的变量取值组合,从与该域名解析请求中携带的域名信息相对应的多个网络协议地址中,选择一个与该域名解析请求相关的变量取值组合相匹配的网络协议地址,并将该网络协议地址返回给相应的客户端。
例如,若预先设定的缓存变量的个数为1,且所述缓存变量为域名解析请求的请求源所在的地理区域,且域名解析请求的请求源所在的地理区域对应的视图变量取值分别为中国的34个行政区,则与该域名解析请求对应的变量取值组合可以为“湖北”、“广西”、“河南”等,进一步地,若该域名解析请求为来自“湖北”的域名解析请求,则与该域名解析请求相关的变量取值组合为“湖北”,则进一步地,在接收到该域名解析请求时,可以从与该域名解析请求中携带的域名信息相对应的多个网络协议地址中,选择一个与该域名解析请求对应的变量取值组合“湖北”相对应的网络协议地址,并将该网络协议地址返回给相应的客户端。
需要说明的是,在本发明各实施例所述方案中,可以采用多维哈希(hash)技术来构造DNS缓存;也就是说,将域名信息和缓存变量取值组合进行哈希,得到与该域名信息(domain name)和缓存变量取值组合(view)相对应的key值,其中,key=hash(domain name)+hash(view),所述key值即为DNS缓存中与该域名信息和缓存变量取值组合相对应的解析结果的缓存地址;另外需要说明的是,hash(domain name)所对应的值即为DNS缓存中该域名信息所对应的解析结果集的起始缓存地址(或该域名信息所对应的解析结果集中的第一个解析结果的缓存地址),hash(view)所对应的值即为该域名信息所对应的解析结果集中与该缓存变量取值组合相对应的解析结果相对于该域名信息所对应的解析结果集中的第一个解析结果的距离。
进一步地,在接收到来自客户端的域名解析请求时,也可以利用多维哈希技术,确定与该域名解析请求对应的域名信息以及变量取值组合相对应的域名解析结果的缓存地址,并进而根据该缓存地址,确定与该缓存地址对应的解析结果并返回给客户端。
本发明实施例一提供了一种域名解析方法,所述方法包括:针对任一域名信息,按照预先设定的N个缓存变量以及各缓存变量对应的变量取值,预先为该域名信息配置M个分别与各变量取值组合一一对应的网络协议地址,其中,各变量取值组合包含N个分别从属于所述N个缓存变量的变量取值,且任意两个变量取值组合互不相同;在接收到客户端发送的域名解析请求时,根据所述域名解析请求中携带的域名信息,确定与该域名信息相对应的多个网络协议地址,并根据所述域名解析请求中携带的与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值,从所确定的多个网络协议地址中确定与所述N个变量取值所形成的变量取值组合相对应的网络协议地址,并将该网络协议地址返回给对应的客户端。
通过本发明实施例一所述技术方案,能够预先为各域名信息配置与各缓存变量组合相对应的多个不同的域名解析结果,并在接收到来自客户端的域名解析请求时,根据域名解析请求中携带的与本次域名解析请求相关的各缓存变量取值,为本次域名解析请求中携带的域名信息返回与所携带的各缓存变量取值所形成的变量取值组合相匹配的解析结果,从而提高了域名解析结果的多样性、域名解析结果的质量以及域名解析的灵活性。
实施例二:
如图3所示,其为本发明实施例二中所述域名解析装置的结构示意图,所述域名解析装置可以为DNS服务器等独立设备,也可以为集成在DNS服务器等设备中的集成设备等,本发明实施例对此不作任何限定;具体地,所述域名解析装置包括解析结果配置模块11、解析请求接收模块12以及解析结果确定模块13,其中:
所述解析结果配置模块11用于针对任一域名信息,按照预先设定的N个缓存变量以及各缓存变量对应的变量取值,预先为该域名信息配置M个分别与各变量取值组合一一对应的网络协议地址,其中,各变量取值组合包含N个分别从属于所述N个缓存变量的变量取值,且任意两个变量取值组合互不相同,所述M、N为正整数。
具体地,所述缓存变量为与来自客户端的域名解析请求相关的变量,如可以包括以下信息中的一种或多种:域名解析请求的请求源、域名解析请求的请求时间以及域名解析请求的请求源所在的地理区域等。
需要说明的是,所述缓存变量还可以为与来自客户端的域名解析请求相关的其他请求变量,本发明实施例对此不作任何限定。
进一步地,针对任一缓存变量,该缓存变量所对应的变量取值的个数需要根据实际情况进行设定,本发明实施例对此不作任何限定。例如,针对域名解析请求的请求源所在的地理区域这一缓存变量,可以设定其所对应的变量取值分别为中国的34个行政区,此时,该缓存变量所对应的变量取值的个数为34;或者,可以设定其所对应的变量取值分别为东部地区、西部地区、北部地区以及南部地区,则此时,该缓存变量所对应的变量取值的个数为4;另外需要说明的是,所述预先设定的缓存变量的个数N可以根据实际情况进行设定,本发明实施例对此不作任何限定。
具体地,所述解析结果配置模块11可以采用以下方式来为各域名信息配置M个分别与各变量取值组合一一对应的网络协议地址:
对预先设定的N个缓存变量所对应的变量取值进行组合,得到M个互不相同且分别包含N个分别从属于所述N个缓存变量的变量取值的变量取值组合;针对任一域名信息,为该域名信息配置包含M个分别与所确定的M个变量取值组合一一对应的网络协议地址。
具体地,所述M的取值为不大于所述N个缓存变量对应的变量取值个数的乘积的任一数值;较优地,所述M的取值可以等于所述N个缓存变量对应的变量取值个数的乘积。
例如:当预先设定的缓存变量的个数为1,且所述缓存变量为域名解析请求的请求源,且所述域名解析请求的请求源所对应的变量取值的个数为X时,所述M的取值可以为M=X;
当预先设定的缓存变量的个数为2,且所述缓存变量为域名解析请求的请求源以及域名解析请求的请求时间,且所述域名解析请求的请求源所对应的变量取值的个数为X,所述域名解析请求的请求时间所对应的变量取值的个数为Y时,所述M的取值可以为M=XY;
当预先设定的缓存变量的个数为3,且所述缓存变量为域名解析请求的请求源、域名解析请求的请求时间以及域名解析请求的请求源所在的地理区域,且所述域名解析请求的请求源所对应的变量取值的个数为X,所述域名解析请求的请求时间所对应的变量取值的个数为Y,所述域名解析请求的请求源所在的地理区域所对应的变量取值的个数为Z时,所述M的取值可以为M=XYZ。
进一步地,以预先设定的缓存变量的个数为1,且所述缓存变量为域名解析请求的请求源为例,若X的值为2(如域名解析请求的请求源所对应的变量取值分别为X1和X2),则所得到的M(以M=2为例)个变量取值组合可以分别表示为:
(X1)、(X2);
以预先设定的缓存变量的个数为2,且所述缓存变量为域名解析请求的请求源和域名解析请求的请求时间为例,若X的值为2(如域名解析请求的请求源所对应的变量取值分别为X1和X2)、Y的值为3(如域名解析请求的请求时间所对应的变量取值分别为Y1、Y2和Y3),则所得到的M(以M=6为例)个变量取值组合可以分别表示为:
(X1、Y1)、(X1、Y2)、(X1、Y3);
(X2、Y1)、(X2、Y2)、(X2、Y3);
以预先设定的缓存变量的个数为3,且所述缓存变量为域名解析请求的请求源、域名解析请求的请求时间以及域名解析请求的请求源所在的地理区域为例,若X的值为2(如域名解析请求的请求源所对应的变量取值分别为X1和X2)、Y的值为3(如域名解析请求的请求时间所对应的变量取值分别为Y1、Y2和Y3)且Z的值为4(如域名解析请求的请求源所在的地理区域对应的变量取值分别为Z1、Z2、Z3和Z4),则所得到的M(以M=24为例)个变量取值组合可以分别表示为:
(X1、Y1、Z1)、(X1、Y1、Z2)、(X1、Y1、Z3)、(X1、Y1、Z4);
(X1、Y2、Z1)、(X1、Y2、Z2)、(X1、Y2、Z3)、(X1、Y2、Z4);
(X1、Y3、Z1)、(X1、Y3、Z2)、(X1、Y3、Z3)、(X1、Y3、Z4);
(X2、Y1、Z1)、(X2、Y1、Z2)、(X2、Y1、Z3)、(X2、Y1、Z4);
(X2、Y2、Z1)、(X2、Y2、Z2)、(X2、Y2、Z3)、(X2、Y2、Z4);
(X2、Y3、Z1)、(X2、Y3、Z2)、(X2、Y3、Z3)、(X2、Y3、Z4)。
具体地,可以将为每个域名信息配置的M个分别与所确定的M个变量取值组合一一对应的网络协议地址作为一个解析结果集,即每个域名信息均与一个包含M个分别与所确定的M个变量取值组合一一对应的网络协议地址的解析结果集相对应。
具体地,以预先设定的缓存变量的个数为1,且所述缓存变量为域名解析请求的请求源所在的地理区域为例,若域名解析请求的请求源所在的地理区域对应的变量取值分别为中国的34个行政区,如湖北、广西、河南等,则所得到的变量取值组合可以为34个,进而,为任一域名信息所配置的解析结果集也均可以包含34个分别与所确定的34个变量取值组合一一对应的网络协议地址(即解析结果)。
进一步地,所述解析结果配置模块11在为各域名信息配置M个分别与所确定的M个变量取值组合一一对应的网络协议地址之后,可以将各域名信息对应的包含M个分别与所确定的M个变量取值组合一一对应的网络协议地址的解析结果集进行合并,得到基于所述N个缓存变量的DNS缓存。
需要说明的是,在所得到的DNS缓存中,各解析结果均对应一个唯一的缓存地址,通过该缓存地址可以从所述DNS缓存中找到对应的解析结果。
具体地,仍以预先设定的缓存变量的个数为1,且所述缓存变量为域名解析请求的请求源所在的地理区域为例,若域名解析请求的请求源所在的地理区域对应的变量取值分别为中国的34个行政区,如湖北、广西、河南等,则最终所得到的基于所述缓存变量的DNS缓存可以如图2所示,即将DNS主缓存划分成若干连续的段(每段为与一个域名信息相对应的解析结果集),每段包含34个解析结果单元,其中每个解析结果单元存储一个网络协议地址,每个网络协议地址均为与所述34个行政区中的一个行政区相对应的域名解析结果。
所述解析请求接收模块12用于接收客户端发送的域名解析请求,所述域名解析请求中携带有本次域名解析请求对应的域名信息以及与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值。
具体地,所述解析请求接收模块12在接收到来自客户端的域名解析请求时,可以通过对该域名解析请求进行解析的方式,获取该域名解析请求中携带的域名信息以及与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值。
例如:若预先设定的缓存变量的个数为1,且所述缓存变量为域名解析请求的请求源所在的地理区域,且所述缓存变量对应的变量取值为中国的34个行政区,则在接收到的来自客户端的域名解析请求为来自“湖北”的域名解析请求时,可以确定该域名解析请求中携带的与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值为“湖北”。
所述解析结果确定模块13用于根据所述域名解析请求中携带的域名信息,确定与该域名信息相对应的多个网络协议地址,并根据所述域名解析请求中携带的N个变量取值,从所确定的多个网络协议地址中确定与所述N个变量取值所形成的变量取值组合相对应的网络协议地址,并将该网络协议地址返回给对应的客户端。
例如,若预先设定的缓存变量的个数为1,且所述缓存变量为域名解析请求的请求源所在的地理区域,且域名解析请求的请求源所在的地理区域对应的视图变量取值分别为中国的34个行政区,则与该域名解析请求对应的变量取值组合可以为“湖北”、“广西”、“河南”等,进一步地,若该域名解析请求为来自“湖北”的域名解析请求,则与该域名解析请求相关的变量取值组合为“湖北”,则进一步地,在接收到该域名解析请求时,可以从与该域名解析请求中携带的域名信息相对应的多个网络协议地址中,选择一个与该域名解析请求对应的变量取值组合“湖北”相对应的网络协议地址,并将该网络协议地址返回给相应的客户端。
需要说明的是,在本发明各实施例所述方案中,可以采用多维哈希(hash)技术来构造DNS缓存;也就是说,将域名信息和缓存变量取值组合进行哈希,得到与该域名信息(domain name)和缓存变量取值组合(view)相对应的key值,其中,key=hash(domain name)+hash(view),所述key值即为DNS缓存中与该域名信息和缓存变量取值组合相对应的解析结果的缓存地址;另外需要说明的是,hash(domain name)所对应的值即为DNS缓存中该域名信息所对应的解析结果集的起始缓存地址(或该域名信息所对应的解析结果集中的第一个解析结果的缓存地址),hash(view)所对应的值即为该域名信息所对应的解析结果集中与该缓存变量取值组合相对应的解析结果相对于该域名信息所对应的解析结果集中的第一个解析结果的距离。
进一步地,在接收到来自客户端的域名解析请求时,也可以利用多维哈希技术,确定与该域名解析请求对应的域名信息以及变量取值组合相对应的域名解析结果的缓存地址,并进而根据该缓存地址,确定与该缓存地址对应的解析结果并返回给客户端。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种域名解析方法,其特征在于,所述方法包括:
针对任一域名信息,按照预先设定的N个缓存变量以及各缓存变量对应的变量取值,预先为该域名信息配置M个分别与各变量取值组合一一对应的网络协议地址,其中,各变量取值组合包含N个分别从属于所述N个缓存变量的变量取值,且任意两个变量取值组合互不相同,所述M、N为正整数;
接收客户端发送的域名解析请求,所述域名解析请求中携带有本次域名解析请求对应的域名信息以及与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值;
根据所述域名解析请求中携带的域名信息,确定与该域名信息相对应的多个网络协议地址,并根据所述域名解析请求中携带的N个变量取值,从所确定的多个网络协议地址中确定与所述N个变量取值所形成的变量取值组合相对应的网络协议地址,并将该网络协议地址返回给对应的客户端。
2.如权利要求1所述的域名解析方法,其特征在于,
所述M的取值为不大于所述N个缓存变量对应的变量取值个数的乘积的任一数值。
3.如权利要求1所述的域名解析方法,其特征在于,所述缓存变量至少包括以下信息中的一种或多种:
域名解析请求的请求源、域名解析请求的请求时间以及域名解析请求的请求源所在的地理区域。
4.一种域名解析装置,其特征在于,所述装置包括:
解析结果配置模块,用于针对任一域名信息,按照预先设定的N个缓存变量以及各缓存变量对应的变量取值,预先为该域名信息配置M个分别与各变量取值组合一一对应的网络协议地址,其中,各变量取值组合包含N个分别从属于所述N个缓存变量的变量取值,且任意两个变量取值组合互不相同,所述M、N为正整数;
解析请求接收模块,用于接收客户端发送的域名解析请求,所述域名解析请求中携带有本次域名解析请求对应的域名信息以及与本次域名解析请求相关的分别从属于所述N个缓存变量的N个变量取值;
解析结果确定模块,用于根据所述域名解析请求中携带的域名信息,确定与该域名信息相对应的多个网络协议地址,并根据所述域名解析请求中携带的N个变量取值,从所确定的多个网络协议地址中确定与所述N个变量取值所形成的变量取值组合相对应的网络协议地址,并将该网络协议地址返回给对应的客户端。
5.如权利要求4所述的域名解析装置,其特征在于,
所述M的取值为不大于所述N个缓存变量对应的变量取值个数的乘积的任一数值。
6.如权利要求4所述的域名解析装置,其特征在于,所述缓存变量至少包括以下信息中的一种或多种:
域名解析请求的请求源、域名解析请求的请求时间以及域名解析请求的请求源所在的地理区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210572730.XA CN103002070B (zh) | 2012-12-25 | 2012-12-25 | 一种域名解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210572730.XA CN103002070B (zh) | 2012-12-25 | 2012-12-25 | 一种域名解析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103002070A true CN103002070A (zh) | 2013-03-27 |
CN103002070B CN103002070B (zh) | 2015-05-20 |
Family
ID=47930202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210572730.XA Active CN103002070B (zh) | 2012-12-25 | 2012-12-25 | 一种域名解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103002070B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243627A (zh) * | 2014-08-29 | 2014-12-24 | 华为技术有限公司 | 一种域名解析方法、装置及系统 |
CN108366136A (zh) * | 2017-12-29 | 2018-08-03 | 北京世纪互联宽带数据中心有限公司 | 一种域名的解析方法及装置 |
CN109391703A (zh) * | 2017-08-10 | 2019-02-26 | 阿里巴巴集团控股有限公司 | 域名解析方法、装置、设备和计算机存储介质 |
CN110636374A (zh) * | 2018-06-22 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 用于查找信息的方法和装置 |
CN110830599A (zh) * | 2018-08-09 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 域名预热方法、地址发送方法及系统、计算设备 |
CN111885216A (zh) * | 2020-07-15 | 2020-11-03 | 北京青云科技股份有限公司 | Dns查询方法、装置、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800746A (zh) * | 2010-02-04 | 2010-08-11 | 成都市华为赛门铁克科技有限公司 | 检测僵尸网络中控制主机域名的方法、装置和系统 |
CN102724189A (zh) * | 2012-06-06 | 2012-10-10 | 杭州华三通信技术有限公司 | 一种控制用户url访问的方法及装置 |
-
2012
- 2012-12-25 CN CN201210572730.XA patent/CN103002070B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800746A (zh) * | 2010-02-04 | 2010-08-11 | 成都市华为赛门铁克科技有限公司 | 检测僵尸网络中控制主机域名的方法、装置和系统 |
CN102724189A (zh) * | 2012-06-06 | 2012-10-10 | 杭州华三通信技术有限公司 | 一种控制用户url访问的方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243627A (zh) * | 2014-08-29 | 2014-12-24 | 华为技术有限公司 | 一种域名解析方法、装置及系统 |
CN109391703A (zh) * | 2017-08-10 | 2019-02-26 | 阿里巴巴集团控股有限公司 | 域名解析方法、装置、设备和计算机存储介质 |
CN108366136A (zh) * | 2017-12-29 | 2018-08-03 | 北京世纪互联宽带数据中心有限公司 | 一种域名的解析方法及装置 |
CN108366136B (zh) * | 2017-12-29 | 2021-04-06 | 北京世纪互联宽带数据中心有限公司 | 一种域名的解析方法及装置 |
CN110636374A (zh) * | 2018-06-22 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 用于查找信息的方法和装置 |
CN110830599A (zh) * | 2018-08-09 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 域名预热方法、地址发送方法及系统、计算设备 |
CN111885216A (zh) * | 2020-07-15 | 2020-11-03 | 北京青云科技股份有限公司 | Dns查询方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103002070B (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103002070A (zh) | 一种域名解析方法及装置 | |
CN103874157B (zh) | 路由转发、建立路由表、和获取内容的方法及其装置 | |
WO2015120750A1 (zh) | 一种基于DNS的IPv6和IPv4互通信方法 | |
CN103347089A (zh) | 一种对网站动态资源和静态资源分离加速的方法及装置 | |
CN103856580B (zh) | 一种IPv6客户机访问IPv4服务器的方法 | |
CN101917494B (zh) | 自治互联网的实现 | |
WO2015070788A1 (zh) | 一种识别ip地址的区域归属地信息的方法和装置 | |
ATE342626T1 (de) | Verfahren, system und programmprodukt zum asynchronen verarbeiten von anforderungen | |
CN103491123A (zh) | 一种基于域名访问的负载均衡方法、系统及负载均衡器 | |
CN107438111B (zh) | 域名查询的方法以及域名代理的方法、服务器和系统 | |
CN103546593A (zh) | 基于ip与非ip的无线传感器网络节点标识符解析方法 | |
US20120210002A1 (en) | Dynamic walled garden | |
CN102437946B (zh) | 一种接入控制的方法、nas设备及认证服务器 | |
CN104092785A (zh) | 域名注册和解析的方法和基于域名的资源访问方法及装置 | |
CN103037029A (zh) | 基于绑定注册的域名whois查询方法和服务系统 | |
CN103501357A (zh) | 域名解析系统及域名解析方法 | |
CN102594885A (zh) | 传感器网络解析互通平台、传感器网络互通方法及系统 | |
WO2005045741A3 (en) | System and method for name resolution | |
JP2002344486A5 (zh) | ||
CN103973819B (zh) | 一种响应社区域名请求的方法、相关装置及系统 | |
CN1952968A (zh) | 一种基于Internet的定向广告系统 | |
CN101282329A (zh) | 一种网络媒体内容共享方法和系统 | |
CN105608082A (zh) | 一种数据处理方法、设备及系统 | |
CN105657077A (zh) | 一种网络地址转换穿越方法和网络地址转换设备 | |
CN102859947A (zh) | 一种邻居发现的方法,装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 200233 Room 401, building 1, No. 180, Yizhou Road, Xuhui District, Shanghai Patentee after: Yamu Technology Co.,Ltd. Address before: Room 600, building 1, Huigu Chuangye, 33 Leshan Road, Xuhui District, Shanghai 200030 Patentee before: SHANGHAI YAMU COMMUNICATION TECHNOLOGY Co.,Ltd. |