一种DNS多级域名查询方法技术

技术编号:14755943 阅读:60 留言:0更新日期:2017-03-02 21:38
本发明专利技术提出了一种DNS多级域名查询方法,其包括以下步骤:步骤101、发起多级域名查询;步骤103、获取所述查询的多级域名级数和有效最大级数值,所述有效最大级数值为最左边第一个位图值不为零的域名级数值;步骤105、比较所述查询的多级域名级数和有效最大级数值;步骤107、根据比较结果进行相应的查询。本发明专利技术从根本上解决多级域名查询低效的问题,可以显著缩短域名查询时间。

【技术实现步骤摘要】

本专利技术涉及DNS域名查询,尤其涉及一种DNS多级域名查询方法
技术介绍
DNS(DomainNameSystem,域名系统)是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。随着当今互联网需要的迅猛增长,互联网访问的数据量急剧增加,DNS服务器的访问量也大幅激增,其QPS(每秒查询率)已达到百万甚至千万级别。高QPS的需求,意味着DNS服务器要提供高性能解析软件,域名快速查找功能作为DNS查询的重要环节,其性能的提升对满足当今高访问量的互联网需求至关重要。RFC(RequestforComments)规定域名最长可以有127级,如:label127.label126…label3.label2.label1,传统域名解析中的快速查找功能,对域名匹配方法为:首先查找整个域名是否存在,如果不存在,则去掉最左边label进行查询,如果仍然不存在,则重复上述操作,直到找到或者剩余label值为1(详细流程见图1)。该方法对于查询已存在域名时处理速度很快,但是对于多级且不存在的域名(最大可为127级),由于有大量无效查询,极端情况可能有126次无效查询,在QPS在百万甚至千万级别的情况下,会造成极大地资源浪费。
技术实现思路
本专利技术的目的是通过以下技术方案实现的。本专利技术是为了从根本上解决多级域名查询低效的问题,以显著缩短域名查询时间。本专利技术提出了一种DNS多级域名查询方法,其包括以下步骤:步骤101、发起多级域名查询;步骤103、获取所述查询的多级域名级数和有效最大级数值,所述有效最大级数值为最左边第一个位图值不为零的域名级数值;步骤105、比较所述查询的多级域名级数和有效最大级数值;步骤107、根据比较结果进行相应的查询。其中,在所述步骤101之前还包括:建立多级域名数量位图,所述域名数量位图是系统启动时通过分析区文件数据,得到每一级存在的域名数量,并将该域名数量保存到位图中所形成,所述域名数量位图随着区文件数据更新而动态更新。其中,步骤103中所述多级域名的级数指RFC规定中label(n).label(n-1)…label3.label2.label1中的数字。其中,判断所述域名数量位图中与该级域名级数对应的位图值是否大于零,所述位图值可以判断是否存在该级域名数据,如果所述位图值小于等于零,则表示数据库中没有该级域名,则不需要查询该级域名数据。其中,步骤107具体包括以下步骤:假定所述域名数量位图为DOMAIN_NUM_BIT,所述有效最大级数为MAX_LABEL,所述多级域名的级数为L_NUM,变量M取L_NUM和MAX_LABEL的最小值,则步骤201、判断DOMAIN_NUM_BIT[M]是否大于0,如果是则继续下一步骤,否则执行步骤207;步骤203、查询域名:LabelM.LabelM-1..Label2.Label1是否存在;步骤205、如果是,则退出查询;步骤207、将M减一;步骤209、判断M是否等于1,如果是,则退出查询,如果否,则执行步骤201。本专利技术的优点在于提出域名数量位图、有效最大级数值数据库的概念,在进行DNS域名查询时,可以快速定位到有效label,过滤无效的域名查询,提高查询效率,增加生产力。对于一个127级的域名,如果实际存在的域名级数为2,最大有效级数为3,传统方法会有125次无效查询,而改进后的方法只有一次无效查询,第二次查询时即可找到。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:附图1示出了现有技术中的多级域名查询方法流程图;附图2示出了与本专利技术实施例一致的多级域名查询方法流程图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。根据本专利技术的实施方式,提出了一种DNS多级域名查询方法,其包括以下步骤:步骤101、发起多级域名查询;步骤103、获取所述查询的多级域名级数和有效最大级数值,所述有效最大级数值为最左边第一个位图值不为零的域名级数值;步骤105、比较所述查询的多级域名级数和有效最大级数值;步骤107、根据比较结果进行相应的查询。其中,在所述步骤101之前还包括:建立多级域名数量位图,所述域名数量位图是系统启动时通过分析区文件数据,得到每一级存在的域名数量,并将该域名数量保存到位图中所形成,所述域名数量位图随着区文件数据更新而动态更新。其中,步骤103中所述多级域名的级数指RFC规定中label(n).label(n-1)…label3.label2.label1中的数字。其中,判断所述域名数量位图中与该级域名级数对应的位图值是否大于零,所述位图值可以判断是否存在该级域名数据,如果所述位图值小于等于零,则表示数据库中没有该级域名,则不需要查询该级域名数据。其中,步骤107具体包括以下步骤:假定所述域名数量位图为DOMAIN_NUM_BIT,所述有效最大级数为MAX_LABEL,所述多级域名的级数为L_NUM,变量M取L_NUM和MAX_LABEL的最小值,则步骤201、判断DOMAIN_NUM_BIT[M]是否大于0,如果是则继续下一步骤,否则执行步骤207;步骤203、查询域名:LabelM.LabelM-1..Label2.Label1是否存在;步骤205、如果是,则退出查询;步骤207、将M减一;步骤209、判断M是否等于1,如果是,则退出查询,如果否,则执行步骤201。实施例一本专利技术通过建立域名数量位图、有效最大级数值数据库,对多级域名进行查询时可以快速定位到有效label,过滤无效查询,极大缩短查询时间。其中,建立域名数量位图,是指系统启动时通过智能分析区文件数据,可以得到每一级存在的域名数量,保存到位图中,同时当出现增量更新时会动态维护,保证数据的完整性、一致性。当对多级域名进行查询时,首先获取该域名的级数,即域名label数量,查询位图中对应值是否大于0,如果等于0则表示数据库中没有该级域名,则不需要查询该级域名数据;将左边的label去掉,继续上述查询,直到查询到域名或者剩余label值为1。使用该方法可以过滤无效查询,尤其对多级域名,比如查询一个100级的域名,而实际存在可能为2级或者3级(大部分域名的存在形式),使用该方法可以过滤至少97次无效查询,查询时间可以大大缩短。建立域名数量位图可以有效过滤无效查询,但是仍然需要多次对级数是否有效进行判断,比如上述例子,就有97次的无效级数判断,为了更加快速定位到域名的有效级数,本专利技术提出维护一个有效最大级数值,在进行域名查询时,首先判断域名级数和有效最大级数进行比较,如果域名级数大于有效最大级数,则直接查询有效最大级数对应的域名段本文档来自技高网...
一种DNS多级域名查询方法

【技术保护点】
一种DNS多级域名查询方法,其包括以下步骤:步骤101、发起多级域名查询;步骤103、获取所述查询的多级域名级数和有效最大级数值,所述有效最大级数值为最左边第一个位图值不为零的域名级数值;步骤105、比较所述查询的多级域名级数和有效最大级数值;步骤107、根据比较结果进行相应的查询。

【技术特征摘要】
1.一种DNS多级域名查询方法,其包括以下步骤:步骤101、发起多级域名查询;步骤103、获取所述查询的多级域名级数和有效最大级数值,所述有效最大级数值为最左边第一个位图值不为零的域名级数值;步骤105、比较所述查询的多级域名级数和有效最大级数值;步骤107、根据比较结果进行相应的查询。2.如权利要求1所述DNS多级域名查询方法,在所述步骤101之前还包括:建立多级域名数量位图,所述域名数量位图是系统启动时通过分析区文件数据,得到每一级存在的域名数量,并将该域名数量保存到位图中所形成,所述域名数量位图随着区文件数据更新而动态更新。3.如权利要求1所述DNS多级域名查询方法,其中步骤103中所述多级域名的级数指RFC规定中label(n).label(n-1)…label3.label2.label1中的数字。4.如权利要求2所述DNS多级域名查询方...

【专利技术属性】
技术研发人员:李晓东李洪涛叶崛宇张海阔王楠李志平杨学
申请(专利权)人:中国互联网络信息中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1