一种域名服务器的dns域名快速检索方法

文档序号:9846911阅读:1060来源:国知局
一种域名服务器的dns域名快速检索方法
【技术领域】
[0001]本发明属于信息技术、域名技术领域,具体涉及一种域名服务器的DNS域名快速检索方法。
【背景技术】
[0002]域名系统(Domain Name System)是由域名解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。域名系统采用类似目录树的等级结构,将域名映射为IP地址的过程就称为“域名解析”。随着互联网络的高速发展,信息量急速增大,相应域名服务器的域名数据量以及需要处理的域名解析量都越来越大,在此背景下,域名服务器需要更快的域名解析速度方能满足用户需求。
[0003]现有的域名服务器处理域名解析过程如下:例如,请求查询域名WWW.example.com.cn的A记录,在查询过程中,无论数据库是否有此域名、类型匹配的数据,首先将会查询最近父域域名的DS、DNAME、CNAME、NS等记录,即可能会多次在内存中读取并匹配examp le.com.cn,com.cn,cn等。以examp I e.com.c η为例,在内存中的存储是www.examp le.com.cn域名的一部分,从内存读取的过程以及对比匹配的过程效率都不高。
[0004]以下说明内存存取粒度是如何对该任务产生影响的。先从地址O读取4个字节到寄存器,然后从地址I读取4个字节到寄存器。
[0005]首先考察内存存取粒度为Ibyte的情况,如图1所示。然后看看存取粒度为双字节的处理器的情况,如图2所示。从地址O读取数据,双字节存取粒度的处理器读内存的次数是单字节存取粒度处理器的一半。因为每次内存存取都会产生一个固定的开销,最小化内存存取次数将提升程序的性能。但从地址I读取数据时由于地址I没有和处理器的内存存取边界对齐,处理器就会做一些额外的工作。地址I这样的地址被称作非对齐地址。由于地址I是非对齐的,双字节存取粒度的处理器必须再读一次内存才能获取想要的4个字节,这减缓了操作的速度。最后我们再看一下存取粒度为4字节的处理器的情况,如图3所示。在对齐的内存地址上,四字节存取粒度处理器可以一次性的将4个字节全部读出;而在非对齐的内存地址上,读取次数将加倍。
[0006]此现有场景下的域名匹配检索并不符合计算机体系结构,考虑到域名匹配算法无法优化的情况下,在计算机结构方面进行优化提高域名匹配速度非常必要。

【发明内容】

[0007]本发明针对上述问题,提供一种域名服务器的DNS域名快速检索方法,通过提高DNS域名检索匹配速度,提高域名服务器的域名解析速度,从而使得整个域名系统能够为用户提尚更尚效的服务。
[0008]为实现上述目的,本发明的域名服务器的DNS域名快速检索方法将域名进行倒序处理(即将域名颠倒)存放在数据库中,并在查询逻辑中,用倒序处理后的域名进行对比匹配,具体包括以下步骤:
[0009]I)域名服务器在加载区数据时,将域名数据按字段进行倒序处理,并存储在数据库中;
[0010]2)域名服务器接收到域名查询请求时,将请求查询的域名以与步骤I)同样的方式进行倒序处理并存储;
[0011]3)在查询逻辑过程中,域名服务器采用倒序处理后的域名进行内存对齐的检索匹配;
[0012]4)按照域名服务器的检索匹配的结果返回相应的应答数据。
[0013]进一步地,步骤I)在一次遍历过程中检查域名合法性,进行大小写转化,并计算每个字段的长度,然后再将域名进行倒序处理并存储;步骤2)中域名服务器将请求查询的域名同样遍历一次,并检查域名合法性,进行大小写转化,计算每个字段的长度,然后以与步骤I)同样的方式将域名进行倒序处理并存储。
[0014]进一步地,在对域名进行所述倒序处理时各字段的长度仍在相应的字段之前。
[0015]本发明还提供一种域名服务器,包括倒序处理模块和检索匹配模块;所述倒序处理模块负责在加载区数据时,将域名数据按字段进行倒序处理并存储在数据库中,并负责在接收到域名查询请求时,将请求查询的域名以同样的方式进行倒序处理并存储;所述检索匹配模块负责在查询逻辑过程中采用倒序处理后的域名进行内存对齐的检索匹配,并按照检索匹配的结果返回相应的应答数据。
[0016]进一步地,还包括数据预处理模块,用于在加载区数据时或接收到域名查询请求时,在一次遍历过程中检查域名合法性,进行大小写转化,并计算每个字段的长度,然后再交由所述倒序处理模块对域名进行倒序处理。
[0017]进一步地,所述倒序处理模块在将域名进行倒序处理时,各字段的长度仍在相应的字段之前。
[0018]与现有技术相比,本发明的有益效果如下:
[0019]I)域名服务器在加载区数据时,需要遍历域名,进行域名合法性检查、大小写转化、记录label长度等。在此一次遍历过程中,将域名进行倒序处理,不会降低加载效率,且没有增加存储空间。
[0020]2)该方法采用域名倒序存放的方法,增加了内存中的读取以及匹配速度。现有的域名检索匹配方式在匹配时无法保证内存对齐,将会引起读取次数加倍,降低检索匹配效率;本发明的域名检索匹配方式在匹配时总是内存对齐的,能够提高检索匹配效率。
[0021]3)该方法更加符合现有计算机结构,创造性地将域名倒序存储,并在查询逻辑中用倒序的域名进行检索匹配,大幅提高效率,提高域名服务器的域名解析速度。
【附图说明】
[0022]图1是单字节存取示意图。
[0023]图2是双字节存取示意图。
[0024]图3是四字节存取示意图。
[0025]图4是域名倒序存储示意图。
[0026]图5是现有域名检索匹配方式示意图。
[0027]图6是本发明中的域名检索匹配方式示意图。
[0028]图7是本发明中的域名服务器的模块组成示意图。
【具体实施方式】
[0029]为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
[0030]本发明提出将域名倒序存放在数据库中,并在查询逻辑中,用倒序后的域名进行对比匹配,通过提高DNS域名检索匹配速度,提高域名服务器的域名解析速度。该方法具体包括以下步骤:
[0031]I)域名服务器加载区数据时,将域名数据按照字段(label)进行倒序处理,并存放在数据库中,如图4所示。区数据的定义可参考rfcl033,区数据格式标准定义为〈name〉[ttl] [class]〈type>〈data>。以A记录为例,不例如下:www.sina.com.cn A 218.241.10.2α其中name即为需要倒序检索的域
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1