CN105472056B - Dns递归服务器分层缓存方法和系统 - Google Patents
Dns递归服务器分层缓存方法和系统 Download PDFInfo
- Publication number
- CN105472056B CN105472056B CN201510815989.6A CN201510815989A CN105472056B CN 105472056 B CN105472056 B CN 105472056B CN 201510815989 A CN201510815989 A CN 201510815989A CN 105472056 B CN105472056 B CN 105472056B
- Authority
- CN
- China
- Prior art keywords
- domain name
- frequency domain
- buffer queue
- dns
- recursion server
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/58—Caching 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的重要组件之一,负责域名与IP地址之间映射记录的解析。DNS递归服务器会将来自权威服务器的响应信息记录暂存到其中的缓存中,这样当递归服务器再次接收到用户同样的解析请求时,就可以直接向用户回应相应的记录信息,而不需要再次向权威服务器发送查询请求,从而可以有效的提高域名解析的效率并减少带宽的消耗。DNS缓存的高效运转是保证递归域名服务乃至整体域名服务水平的一个关键因素。
通过分析某大型公共递归服务器的一整天查询日志得知,来自用户群体的域名查询行为存在典型的长尾分布特征(long tail distribution),大多数域名查询都是针对一小部分热点域名而进行,而其他绝大部分域名(超过90%)在一天内的被查询次数不到10次,大约67%的域名一天内只被查询过1次(其中绝大部分为某些互联网业务随机生成的临时性域名)。随着新通用顶级域以及国际化域名的广泛应用,域名空间将进一步扩大,相信以后域名查询的这种长尾分布特征会愈加明显。
目前DNS递归服务器缓存所采用的通用架构通常由单一缓存模块来构成,从权威服务器发来的响应信息记录会根据某种特定的算法(如典型的LRU算法,Least RecentlyUsed)存储到缓存队列中。通常情况下,查询频率较高的域名会被动态调整到缓存队列的前端,查询频率较低的域名会被逐渐调整到缓存队列的末端,直至该域名因为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 (6)
1.一种DNS递归服务器分层缓存方法,其特征在于,包括如下步骤:
1)将DNS递归服务器的缓存分为高频域名缓存队列和低频域名缓存队列;
2)根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;
3)若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迁移至高频域名缓存队列中;
当DNS递归服务器接收到来自用户的查询请求时,首先检查高频域名缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名缓存队列是否存在相应的响应信息,若存在,则直接向用户返回该响应信息,同时将该响应信息迁移至高频域名缓存队列中。
2.如权利要求1所述的方法,其特征在于,若高频域名缓存队列和低频域名缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名缓存队列中。
3.如权利要求1所述的方法,其特征在于,所述域名访问频率阈值等于1。
4.一种DNS递归服务器分层缓存系统,包括DNS递归服务器,其特征在于,所述DNS递归服务器的缓存包括高频域名缓存模块和低频域名缓存模块;根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迁移至高频域名缓存队列中;所述递归服务器接收到来自用户的查询请求时,首先检查高频域名缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名缓存队列是否存在相应的响应信息,若存在,则直接向用户返回该响应信息,同时将该响应信息迁移至高频域名缓存队列中。
5.如权利要求4所述的系统,其特征在于,若高频域名缓存队列和低频域名缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名缓存队列中。
6.如权利要求4所述的系统,其特征在于,所述域名访问频率阈值等于1。
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 CN105472056A (zh) | 2016-04-06 |
CN105472056B true 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) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979654A (zh) * | 2016-10-21 | 2018-05-01 | 中国移动通信有限公司研究院 | 查询域名的带外信息的方法和系统 |
CN108494891A (zh) * | 2018-02-28 | 2018-09-04 | 网宿科技股份有限公司 | 一种域名解析方法、服务器及系统 |
CN110784553B (zh) * | 2019-11-05 | 2021-12-21 | 南京亚信智网科技有限公司 | 报文封装方法、设备及域名解析系统 |
CN110837427B (zh) * | 2019-11-15 | 2022-02-01 | 四川长虹电器股份有限公司 | 一种基于队列分拣任务机制的防止缓存击穿的方法 |
CN111897838A (zh) * | 2020-06-28 | 2020-11-06 | 中国建设银行股份有限公司 | 一种交易查询方法、装置、电子设备及其可读存储介质 |
CN112702446B (zh) * | 2020-12-16 | 2022-11-01 | 互联网域名系统北京市工程研究中心有限公司 | Dns缓存在边缘网络中的分布式存储系统 |
CN115086275B (zh) * | 2021-03-12 | 2024-03-08 | 中国电信股份有限公司 | 报文处理方法、装置、介质及电子设备 |
CN113472914B (zh) * | 2021-06-28 | 2023-09-26 | 北京天地互连信息技术有限公司 | Dns定向预取缓存方法及系统 |
CN113821461B (zh) * | 2021-09-24 | 2023-10-27 | 牙木科技股份有限公司 | 域名解析缓存方法、dns服务器及计算机可读存储介质 |
CN114221934B (zh) * | 2021-12-13 | 2024-05-07 | 牙木科技股份有限公司 | 域名解析缓存方法、dns服务器及计算机可读存储介质 |
Citations (4)
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)
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 | 北京经天科技有限公司 | 用于域名解析的缓存处理方法和装置 |
-
2015
- 2015-11-23 CN CN201510815989.6A patent/CN105472056B/zh active Active
- 2015-12-23 WO PCT/CN2015/098473 patent/WO2017088225A1/zh active Application Filing
Patent Citations (4)
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)
Title |
---|
基于主动哈希和多级缓存的域名解析策略;吴翠雁等;《广西师范大学学报:自然科学版》;20090331;第1-2页 |
Also Published As
Publication number | Publication date |
---|---|
WO2017088225A1 (zh) | 2017-06-01 |
CN105472056A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105472056B (zh) | Dns递归服务器分层缓存方法和系统 | |
US11134134B2 (en) | Routing for origin-facing points of presence | |
US11665259B2 (en) | System and method for improvements to a content delivery network | |
CN106796547B (zh) | 用于代理缓存智能对象淘汰的方法和系统 | |
CN103812849B (zh) | 一种本地缓存更新方法、系统、客户端及服务器 | |
US8370460B1 (en) | Optimizing multi-hit caching for long tail content | |
US9954815B2 (en) | Domain name collaboration service using domain name dependency server | |
US20090031028A1 (en) | Secure tunnel domain name management | |
US9590947B2 (en) | IP management method, client and server | |
CN103701957A (zh) | Dns递归方法及其系统 | |
CN103973834A (zh) | 一种基于家庭网关的dns域名解析加速方法及装置 | |
CN107222492A (zh) | 一种dns防攻击方法、设备和系统 | |
CN103560959B (zh) | 一种选择静态路由的方法及装置 | |
CN106844740A (zh) | 基于内存对象缓存系统的数据预读方法 | |
CN105426321A (zh) | 采用远程位置信息的rdma友好缓存方法 | |
CN105610917B (zh) | 实现系统中同步数据修复的方法及系统 | |
EP2568386A1 (en) | Method for accessing cache and fictitious cache agent | |
CN105516383B (zh) | 一种新型dns递归服务器缓存方法和系统 | |
US10705978B2 (en) | Asynchronous tracking for high-frequency and high-volume storage | |
CN112532766B (zh) | Dns应答结果的缓存方法、dns服务器及计算机可读存储介质 | |
US20200404066A1 (en) | Enhanced Domain Name System Response Caching | |
WO2015169094A1 (zh) | 基于预取机制的dns资源记录缓存和响应方法及系统 | |
CN109413220B (zh) | 一种以别名方式接入ddos云防护系统中避免dns传播的方法 | |
CN105930519A (zh) | 一种基于集群文件系统的全局共享读缓存方法 | |
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 |