[发明专利]一种DNS缓存处理方法在审
申请号: | 202010865202.8 | 申请日: | 2020-08-25 |
公开(公告)号: | CN112040022A | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 熊利霞;范渊;吴永越;郑学新;刘韬 | 申请(专利权)人: | 成都安恒信息技术有限公司 |
主分类号: | H04L29/12 | 分类号: | H04L29/12 |
代理公司: | 成都君合集专利代理事务所(普通合伙) 51228 | 代理人: | 尹玉 |
地址: | 610000 四川省成都市自由贸易试验区成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 dns 缓存 处理 方法 | ||
本发明公开了一种DNS缓存处理方法,采用字典树结构存储DNS缓存的域名和IP地址的对应关系,用节点路径对应的字符串表示域名,节点的位置用于存储域名对应的IP地址;当插入数据时,按照域名字符串中的字符路径创建节点,并将域名对应的IP地址存入域名对应的节点;在查询域名所对应的IP地址时,在树中按照域名字符串中的字符串路径查找节点,找到节点后获取出节点位置存储的对应的IP地址。本发明提供的DNS缓存处理方式,可以在获得稳定高效查询效率的同时极大降低存储空间占用。本发明减少了无谓的字符串比较,查询效率高;不需要预分配存储空间,并且空间占用小;不对数据做哈希处理,不会产生冲突。
技术领域
本发明属于DNS缓存的技术领域,具体涉及一种DNS缓存处理方法。
背景技术
随着互联网和网络技术的发展,越来越多的计算机连接到网络上进行传递信息、共享资源,为了区分连接到网络上的不同的计算机,给每个计算机规定了一个唯一的地址,就是IP地址,要想与某一台计算机进行通信,必须知道对方的IP地址。由于IP地址不方便记忆并且不能表示名称等有意义的信息,又产生了域名这个概念和域名系统。域名就是为每个计算机起的名字,可以在里面包含主机名称、地址等信息,在访问的时候只需要输入域名就能连接到相应的计算机。域名是为了方便人类记忆,但是计算机还是使用IP地址进行通信,连接时需要将计算机的域名转换成IP地址,域名系统(缩写为DNS)就用于提供这样的服务。
DNS服务器或代理服务器提供域名查询服务,服务器的数据库中存储了大量域名和IP地址的对应关系,当需要查询某个域名的IP地址时,向DNS服务器发起查询请求,DNS服务器查询到结果就返回给请求发起者,为了提高DNS解析速度,DNS服务器一般都会实现DNS缓存模块。用于缓存最近查询的或从其他DNS服务器收到的DNS记录。不同DNS服务器实现DNS缓存的方式不同。目前采用哈希表来存储DNS缓存数据,然而存在以下缺点:
1.需要预分配存储空间,随着数据的增多,如果分配的空间不够,需要扩展存储空间,扩展空间很耗时,而且扩展后所有已存储的数据需要重新进行哈希处理。
2.当存储的数据增多时,哈希表可能会产生冲突。
因此,本发明提供一种新的DNS缓存处理方式,可提高查询效率和降低空间使用率。
发明内容
本发明的目的在于提供一种DNS缓存处理方法,旨在提高DNS缓存中的查询效率和降低空间使用率。
本发明主要通过以下技术方案实现:一种DNS缓存处理方法,采用字典树结构存储DNS缓存的域名和IP地址的对应关系,用节点路径对应的字符串表示域名,节点的位置用于存储域名对应的IP地址;当插入数据时,按照域名字符串中的字符路径创建节点,并将域名对应的IP地址存入域名对应的节点;在查询域名所对应的IP地址时,在树中按照域名字符串中的字符串路径查找节点,找到节点后获取出节点位置存储的对应的IP地址。
为了更好地实现本发明,进一步地,每个节点有children、data和access_time三个属性;children属性存储节点所有子节点的地址,data属性存储节点路径所表示域名对应的IP地址,access_time属性存储节点data数据的上次访问时间。
为了更好地实现本发明,进一步地,首先按照节点数据结构创建一个根节点,刚创建的根节点的children和data都为空,后续的所有操作都以根节点为起点。
为了更好地实现本发明,进一步地,插入一条域名和对应IP地址数据的步骤如下:
步骤A100:从根节点的children中查找域名的第一个字符指向的节点,如果没有找到,则按照节点数据结构创建一个节点node1,并将第一个字符和node1的映射关系加入到根节点的children中;如果找到节点node1,则查找域名的第二个字符;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都安恒信息技术有限公司,未经成都安恒信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010865202.8/2.html,转载请声明来源钻瓜专利网。