CN105472056A - Dns递归服务器分层缓存方法和*** - Google Patents

Dns递归服务器分层缓存方法和*** Download PDF

Info

Publication number
CN105472056A
CN105472056A CN201510815989.6A CN201510815989A CN105472056A CN 105472056 A CN105472056 A CN 105472056A CN 201510815989 A CN201510815989 A CN 201510815989A CN 105472056 A CN105472056 A CN 105472056A
Authority
CN
China
Prior art keywords
domain name
frequency domain
buffer queue
response message
dns
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
Application number
CN201510815989.6A
Other languages
English (en)
Other versions
CN105472056B (zh
Inventor
李晓东
尉迟学彪
潘蓝兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Internet Network Information Center
Original Assignee
China Internet Network Information Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Internet Network Information Center filed Critical China Internet Network Information Center
Priority to CN201510815989.6A priority Critical patent/CN105472056B/zh
Priority to PCT/CN2015/098473 priority patent/WO2017088225A1/zh
Publication of CN105472056A publication Critical patent/CN105472056A/zh
Application granted granted Critical
Publication of CN105472056B publication Critical patent/CN105472056B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种DNS递归服务器分层缓存方法和***。该方法包括如下步骤:1)将DNS递归服务器的缓存分为高频域名缓存队列和低频域名缓存队列;2)根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;3)若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迁移至高频域名缓存队列中。本发明能够对高频域名和低频域名实行分别缓存处理;能够提高递归服务器缓存的存取效率和命中率;能够提高递归服务器的域名解析性能;访问频率阈值、高低频域名LRU缓存的大小可以自由定制设定。

Description

DNS递归服务器分层缓存方法和***
技术领域
本发明属于网络技术、域名***(DNS)技术领域,具体涉及一种DNS递归服务器分层缓存方法和***。
背景技术
DNS递归服务器是DNS的重要组件之一,负责域名与IP地址之间映射记录的解析。DNS递归服务器会将来自权威服务器的响应信息记录暂存到其中的缓存中,这样当递归服务器再次接收到用户同样的解析请求时,就可以直接向用户回应相应的记录信息,而不需要再次向权威服务器发送查询请求,从而可以有效的提高域名解析的效率并减少带宽的消耗。DNS缓存的高效运转是保证递归域名服务乃至整体域名服务水平的一个关键因素。
通过分析某大型公共递归服务器的一整天查询日志得知,来自用户群体的域名查询行为存在典型的长尾分布特征(longtaildistribution),大多数域名查询都是针对一小部分热点域名而进行,而其他绝大部分域名(超过90%)在一天内的被查询次数不到10次,大约67%的域名一天内只被查询过1次(其中绝大部分为某些互联网业务随机生成的临时性域名)。随着新通用顶级域以及国际化域名的广泛应用,域名空间将进一步扩大,相信以后域名查询的这种长尾分布特征会愈加明显。
目前DNS递归服务器缓存所采用的通用架构通常由单一缓存模块来构成,从权威服务器发来的响应信息记录会根据某种特定的算法(如典型的LRU算法,LeastRecentlyUsed)存储到缓存队列中。通常情况下,查询频率较高的域名会被动态调整到缓存队列的前端,查询频率较低的域名会被逐渐调整到缓存队列的末端,直至该域名因为TTL到期而被删除或者由于缓存队列达到长度上限而被抛弃。这种缓存策略由于可以基本保证查询频率较高的域名能够一直保留在缓存队列中直至其TTL过期,因此被业内广泛采用。但是,这种缓存策略由于采用单一的缓存队列模块,高频域名和低频域名被共同存储在同一个缓存队列中处理,大量的低频查询域名的出现,势必会极大的挤占和增加缓存队列的存储空间,同时使得一部分中频域名过早地被缓存剔除掉,从而会降低DNS缓存的存取效率和命中率,对递归服务器的域名解析性能造成严重影响。
发明内容
针对上述问题,本发明旨在提供一种新型的DNS递归服务器分层缓存方法和***,以降低大量低频域名对于DNS缓存的负面影响,提升DNS缓存的工作效率。
为实现上述目的,本发明采用的技术方案如下:
一种DNS递归服务器分层缓存方法,包括如下步骤:
1)将DNS递归服务器的缓存分为高频域名缓存队列和低频域名缓存队列;
2)根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;
3)若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迁移至高频域名缓存队列中。
进一步地,当递归服务器接收到来自用户的查询请求时,首先检查高频域名缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名缓存队列是否存在相应的响应信息。
进一步地,所述继续检查低频域名缓存队列是否存在相应的响应信息,若存在,则直接向用户返回该响应信息,同时将该响应信息迁移至高频域名缓存队列中。
进一步地,若高频域名缓存队列和低频域名缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名缓存队列中。
进一步地,所述域名访问频率阈值等于1。
一种DNS递归服务器分层缓存***,包括DNS递归服务器,所述DNS递归服务器的缓存包括高频域名缓存模块和低频域名缓存模块;根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迁移至高频域名缓存队列中。
进一步地,所述递归服务器接收到来自用户的查询请求时,首先检查高频域名缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名缓存队列是否存在相应的响应信息。
进一步地,所述继续检查低频域名缓存队列是否存在相应的响应信息,若存在,则直接向用户返回该响应信息,同时将该响应信息迁移至高频域名缓存队列中。
进一步地,若高频域名缓存队列和低频域名缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名缓存队列中。
进一步地,所述域名访问频率阈值等于1。
本发明提供的DNS递归服务器分层缓存方法和***,所提供的DNS递归服务器的缓存由高低两部分缓存队列组成;根据域名的查询频率的不同,其响应记录可以被存放到DNS递归服务器中的不同缓存队列中;低频域名缓存队列中的域名响应记录若超过预先规定的访问频率阈值,即被迁移至高频域名缓存队列中。与现有技术相比,本发明的优点如下:
1)能够对高频域名和低频域名实行分别缓存处理;
2)能够提高递归服务器缓存的存取效率和命中率;
3)能够提高递归服务器的域名解析性能;
4)访问频率阈值、高低频域名LRU缓存的大小可以自由定制设定。
附图说明
图1是本发明的递归服务器分层缓存架构示意图。
图2是本发明的DNS递归服务器分层缓存方法的步骤流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
本发明所提供的递归服务器分层缓存架构如附图1所示,其中递归服务器的缓存由高频域名LRU缓存模块和低频域名LRU缓存模块组成。
图2是采用该***进行分层缓存的步骤流程图。当递归服务器接收到来自用户的查询请求时,首先检查高频域名LRU缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名LRU缓存队列是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时将该响应信息迁移至高频域名LRU缓存队列中。这里假设响应信息再一次被访问,即被迁移至高频域名LRU缓存队列(即域名访问频率阈值=1)。
若上述两个LRU缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名LRU缓存队列中去。
本发明的DNS递归服务器分层缓存方法,能够对高频域名和低频域名实行分别缓存处理;能够提高递归服务器缓存的存取效率和命中率;能够提高递归服务器的域名解析性能;访问频率阈值、高低频域名LRU缓存的大小可以自由定制设定。
下面提供一个具体实施例。
设定用户向递归服务器发送查询域名abc.example.cn的请求,递归服务器首先检查高频域名LRU缓存队列中是否存该域名相应的记录信息:
1)如果存在,递归服务器直接向用户返回该记录信息,同时对高频域名LRU缓存队列进行相应更新;
2)如果不存在,递归服务器则继续检查低频域名LRU缓存队列是否存在相应的记录信息:
a)如果存在,直接向用户返回该响应信息,同时将该域名abc.example.cn记录信息迁移至高频域名LRU缓存队列中(这里设置域名访问频率阈值=1,即低频域名LRU缓存队列中的域名再一次被查询,即可被迁移至高频域名LRU缓存队列);
b)如果不存在,即上述两个LRU缓存队列皆不存在域名abc.example.cn相应的记录信息,则递归服务器负责向权威服务器发起该域名的查询请求,并将收到的响应信息返回给用户,同时将该响应信息存至低频域名LRU缓存队列中去。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (10)

1.一种DNS递归服务器分层缓存方法,其特征在于,包括如下步骤:
1)将DNS递归服务器的缓存分为高频域名缓存队列和低频域名缓存队列;
2)根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;
3)若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迁移至高频域名缓存队列中。
2.如权利要求1所述的方法,其特征在于,当递归服务器接收到来自用户的查询请求时,首先检查高频域名缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名缓存队列是否存在相应的响应信息。
3.如权利要求2所述的方法,其特征在于,所述继续检查低频域名缓存队列是否存在相应的响应信息,若存在,则直接向用户返回该响应信息,同时将该响应信息迁移至高频域名缓存队列中。
4.如权利要求3所述的方法,其特征在于,若高频域名缓存队列和低频域名缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名缓存队列中。
5.如权利要求1所述的方法,其特征在于,所述域名访问频率阈值等于1。
6.一种DNS递归服务器分层缓存***,包括DNS递归服务器,其特征在于,所述DNS递归服务器的缓存包括高频域名缓存模块和低频域名缓存模块;根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迁移至高频域名缓存队列中。
7.如权利要求6所述的***,其特征在于,所述递归服务器接收到来自用户的查询请求时,首先检查高频域名缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名缓存队列是否存在相应的响应信息。
8.如权利要求7所述的***,其特征在于,所述继续检查低频域名缓存队列是否存在相应的响应信息,若存在,则直接向用户返回该响应信息,同时将该响应信息迁移至高频域名缓存队列中。
9.如权利要求8所述的***,其特征在于,若高频域名缓存队列和低频域名缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名缓存队列中。
10.如权利要求6所述的***,其特征在于,所述域名访问频率阈值等于1。
CN201510815989.6A 2015-11-23 2015-11-23 Dns递归服务器分层缓存方法和*** Active CN105472056B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510815989.6A CN105472056B (zh) 2015-11-23 2015-11-23 Dns递归服务器分层缓存方法和***
PCT/CN2015/098473 WO2017088225A1 (zh) 2015-11-23 2015-12-23 Dns递归服务器分层缓存方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510815989.6A CN105472056B (zh) 2015-11-23 2015-11-23 Dns递归服务器分层缓存方法和***

Publications (2)

Publication Number Publication Date
CN105472056A true CN105472056A (zh) 2016-04-06
CN105472056B CN105472056B (zh) 2019-04-16

Family

ID=55609313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510815989.6A Active CN105472056B (zh) 2015-11-23 2015-11-23 Dns递归服务器分层缓存方法和***

Country Status (2)

Country Link
CN (1) CN105472056B (zh)
WO (1) WO2017088225A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107979654A (zh) * 2016-10-21 2018-05-01 ***通信有限公司研究院 查询域名的带外信息的方法和***
WO2019165665A1 (zh) * 2018-02-28 2019-09-06 网宿科技股份有限公司 一种域名解析方法、服务器及***
CN110784553A (zh) * 2019-11-05 2020-02-11 南京亚信智网科技有限公司 报文封装方法、设备及域名解析***
CN110837427A (zh) * 2019-11-15 2020-02-25 四川长虹电器股份有限公司 一种基于队列分拣任务机制的防止缓存击穿的方法
CN111897838A (zh) * 2020-06-28 2020-11-06 中国建设银行股份有限公司 一种交易查询方法、装置、电子设备及其可读存储介质
CN113472914A (zh) * 2021-06-28 2021-10-01 广州根链国际网络研究院有限公司 Dns定向预取缓存方法及***
CN113821461A (zh) * 2021-09-24 2021-12-21 牙木科技股份有限公司 域名解析缓存方法、dns服务器及计算机可读存储介质
CN114221934A (zh) * 2021-12-13 2022-03-22 牙木科技股份有限公司 域名解析缓存方法、dns服务器及计算机可读存储介质
WO2024146293A1 (zh) * 2023-01-06 2024-07-11 中国互联网络信息中心 域名服务器解析加速方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112702446B (zh) * 2020-12-16 2022-11-01 互联网域名***北京市工程研究中心有限公司 Dns缓存在边缘网络中的分布式存储***
CN115086275B (zh) * 2021-03-12 2024-03-08 中国电信股份有限公司 报文处理方法、装置、介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025795A (zh) * 2010-01-22 2011-04-20 ***通信集团北京有限公司 Dns响应报文处理方法、dns服务器及***
CN102469167A (zh) * 2010-11-01 2012-05-23 ***通信集团北京有限公司 域名查询的实现方法和***
CN103701957A (zh) * 2014-01-14 2014-04-02 互联网域名***北京市工程研究中心有限公司 Dns递归方法及其***
CN104935680A (zh) * 2015-06-18 2015-09-23 中国互联网络信息中心 一种多层级共享缓存的递归域名服务***和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523193B2 (en) * 2004-05-18 2009-04-21 International Business Machines Corporation Method and apparatus for DNS pre-fetching for multiple clients
CN104639366B (zh) * 2014-12-31 2017-03-15 北京奇虎科技有限公司 Dns灾备***孤岛应答自动切换方法及装置
CN104468244B (zh) * 2014-12-31 2018-04-20 北京奇虎科技有限公司 域名解析***灾备建构方法及装置
CN104935683A (zh) * 2015-06-29 2015-09-23 北京经天科技有限公司 用于域名解析的缓存处理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025795A (zh) * 2010-01-22 2011-04-20 ***通信集团北京有限公司 Dns响应报文处理方法、dns服务器及***
CN102469167A (zh) * 2010-11-01 2012-05-23 ***通信集团北京有限公司 域名查询的实现方法和***
CN103701957A (zh) * 2014-01-14 2014-04-02 互联网域名***北京市工程研究中心有限公司 Dns递归方法及其***
CN104935680A (zh) * 2015-06-18 2015-09-23 中国互联网络信息中心 一种多层级共享缓存的递归域名服务***和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴翠雁等: "基于主动哈希和多级缓存的域名解析策略", 《广西师范大学学报:自然科学版》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107979654A (zh) * 2016-10-21 2018-05-01 ***通信有限公司研究院 查询域名的带外信息的方法和***
WO2019165665A1 (zh) * 2018-02-28 2019-09-06 网宿科技股份有限公司 一种域名解析方法、服务器及***
CN110784553B (zh) * 2019-11-05 2021-12-21 南京亚信智网科技有限公司 报文封装方法、设备及域名解析***
CN110784553A (zh) * 2019-11-05 2020-02-11 南京亚信智网科技有限公司 报文封装方法、设备及域名解析***
CN110837427A (zh) * 2019-11-15 2020-02-25 四川长虹电器股份有限公司 一种基于队列分拣任务机制的防止缓存击穿的方法
CN110837427B (zh) * 2019-11-15 2022-02-01 四川长虹电器股份有限公司 一种基于队列分拣任务机制的防止缓存击穿的方法
CN111897838A (zh) * 2020-06-28 2020-11-06 中国建设银行股份有限公司 一种交易查询方法、装置、电子设备及其可读存储介质
CN113472914A (zh) * 2021-06-28 2021-10-01 广州根链国际网络研究院有限公司 Dns定向预取缓存方法及***
CN113472914B (zh) * 2021-06-28 2023-09-26 北京天地互连信息技术有限公司 Dns定向预取缓存方法及***
CN113821461A (zh) * 2021-09-24 2021-12-21 牙木科技股份有限公司 域名解析缓存方法、dns服务器及计算机可读存储介质
CN113821461B (zh) * 2021-09-24 2023-10-27 牙木科技股份有限公司 域名解析缓存方法、dns服务器及计算机可读存储介质
CN114221934A (zh) * 2021-12-13 2022-03-22 牙木科技股份有限公司 域名解析缓存方法、dns服务器及计算机可读存储介质
CN114221934B (zh) * 2021-12-13 2024-05-07 牙木科技股份有限公司 域名解析缓存方法、dns服务器及计算机可读存储介质
WO2024146293A1 (zh) * 2023-01-06 2024-07-11 中国互联网络信息中心 域名服务器解析加速方法及装置

Also Published As

Publication number Publication date
WO2017088225A1 (zh) 2017-06-01
CN105472056B (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
CN105472056A (zh) Dns递归服务器分层缓存方法和***
US11665259B2 (en) System and method for improvements to a content delivery network
CN101431539B (zh) 一种域名解析方法、***及装置
US10645062B2 (en) System and method for improving proxy server performance using local domain name system (DNS) cache and connectivity monitoring
CN102469167B (zh) 域名查询的实现方法和***
CN103701957A (zh) Dns递归方法及其***
US9954815B2 (en) Domain name collaboration service using domain name dependency server
CN103973834A (zh) 一种基于家庭网关的dns域名解析加速方法及装置
CN112506973B (zh) 一种存储数据管理的方法及装置
CN106549857A (zh) 一种跨地区推送消息的方法和***
CN105791460B (zh) 基于多维度聚合的dns代理缓存优化方法和***
CN105404595B (zh) 缓存管理方法及装置
CN103905439A (zh) 一种基于家庭网关的加速网页浏览方法
CN109714443A (zh) 域名服务器、域名备份方法和计算机可读存储介质
CN104717314A (zh) 一种ip管理方法及***、客户端、服务器
CN102984267A (zh) 一种实现分布式缓存节点动态更新到客户端的方法及***
CN103560959A (zh) 一种选择静态路由的方法及装置
CN106874465A (zh) 一种基于数据版本的高效管理缓存的方法
CN109508277A (zh) 一种数据库一体机的监控***和方法
CN114817195A (zh) 一种分布式存储缓存管理的方法、***、存储介质及设备
CN105516383B (zh) 一种新型dns递归服务器缓存方法和***
CN112532766B (zh) Dns应答结果的缓存方法、dns服务器及计算机可读存储介质
CN103380607A (zh) Dns客户端地址、rr ttl更新的方法、装置及***
JP2023500418A (ja) Cdnにおけるurlリフレッシュ方法、装置、機器及びcdnノード
KR101645222B1 (ko) 어드밴스드 도메인 네임 시스템 및 운용 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant