CN111475704A - 域名智能解析方法、装置及计算机可读存储介质 - Google Patents
域名智能解析方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111475704A CN111475704A CN202010186678.9A CN202010186678A CN111475704A CN 111475704 A CN111475704 A CN 111475704A CN 202010186678 A CN202010186678 A CN 202010186678A CN 111475704 A CN111475704 A CN 111475704A
- Authority
- CN
- China
- Prior art keywords
- domain name
- network address
- client
- legal
- management module
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及区块链技术,揭露了一种域名智能解析方法,包括:获取客户端待访问的域名;若在所述客户端的本地缓存查找到所述网路地址,则从所述本地缓存中获取所述网路地址;若所述本地缓存没有查找到网路地址,将所述域名输入至预先构建的区块链***中进行网路地址的查询;若所述区块链***中查询到了网路地址,将所述网路地址返回所述客户端;若所述区块链***中没有查询到网路地址,将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将查询结果返回所述客户端,完成域名的智能解析。本发明还提出一种域名智能解析装置、电子设备以及一种计算机可读存储介质。本发明实现了域名的智能解析。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种域名智能解析方法、装置及计算机可读存储介质。
背景技术
域名解析***(Domain Name System,简称DNS)作为互联网的入口,自诞生以来,每天处理互联网数十亿次访问需求,它提供一种域名与IP地址的映射关系,使得用户更加好记与便于访问调度,其重要性不言而喻。传统域名解析***以天然分布式的倒树型部署分摊了用户集中访问和就近访问缓存机制,为互联网服务,但这种机制也带来了一些安全隐患与低效,比如:
①域名劫持:劫持权威服务器篡改解析记录达到误导用户访问的目的;
②缓存投毒:利用DNS使用UDP协议递归期间伪造权威服务器响应伪造数据;
③TTL延迟:TTL的存在是为了减轻递归频度与快速响应用户,但也带来当权威服务器上记录被修改时需等到TTL过期后才能得到新的记录数据;
④被动刷新:由于DNS设计之初并未考虑缓存刷新机制,也带来了解析结果不实时问题。
发明内容
本发明提供一种域名智能解析方法、装置及计算机可读存储介质,其主要目的在于提供一种基于区块链的域名智能解析的技术方案,以解决传统域名解析***的安全隐患与低效的问题。
为实现上述目的,本发明提供的一种域名智能解析方法,包括:
获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址;
若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链***中进行网路地址的查询,所述预先构建的区块链***包括以区块存储的合法域名及对应的网路地址;
若所述区块链***中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端;
若所述区块链***中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
可选地,所述包括IP地址、钱包地址及/或内存地址,其中所述内存地址通过指针进行区分。
可选地,所述将所述域名输入至预先构建的区块链***中进行网路地址的查询,包括:
将所述网路地址存储在所述缓存管理模块中;
将所述域名记录在区块链上,得到合法域名,并将所述合法域名以区块的形式存储至存储所述网络地址的缓存管理模块中;
利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询。
可选地,所述利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询,包括:
获取所述缓存管理模块中所述合法域名的哈希值,根据所述合法域名的哈希值构建字典树;
利用Tracker指令对所述建立的字典树进行遍历查询,得到所述合法域名对应的叶节点,其中,所述叶节点为合法域名地址的散列指针;
根据所述叶节点的指向查询得到所述合法域名对应的网路地址,并将所述网路地址返回给上述客户端。
可选地,所述将所述待访问的域名输入至域名解析服务器中进行网路地址的查询操作包括:
利用所述域名解析服务器的转发解析器转发所述域名至所述域名解析服务器的递归解析器中,通过所述递归解析器对所述域名进行迭代分析,得到应答报文,其中,所述应答报文包括查询得到的网路地址,得到所述查询结果;
其中,所述迭代分析包括:
获取所述客户端的地址信息,根据所述地址信息计算出所述客户端的网络拓扑位置,根据所述网络拓扑位置解析出所述域名的应答报文。
此外,为实现上述目的,本发明还提供一种域名智能解析装置,该装置包括:
本地查询模块,用于获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址,若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
区块链查询模块,用于若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链***中进行网路地址的查询,若所述区块链***中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端,所述预先构建的区块链***包括以区块存储的合法域名及对应的网路地址;
服务器查询模块,用于若所述区块链***中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
可选地,所述将所述域名输入至预先构建的区块链***中进行网路地址的查询,包括:
将所述网路地址存储在所述缓存管理模块中;
将所述域名记录在区块链上,得到合法域名,并将所述合法域名以区块的形式存储至存储所述网络地址的缓存管理模块中;
利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询。
可选地,所述利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询,包括:
获取所述缓存管理模块中所述合法域名的哈希值,根据所述合法域名的哈希值构建字典树;
利用Tracker指令对所述建立的字典树进行遍历查询,得到所述合法域名对应的叶节点,其中,所述叶节点为合法域名地址的散列指针;
根据所述叶节点的指向查询得到所述合法域名对应的网路地址,并将所述网路地址返回给上述客户端。
此外,为实现上述目的,本发明还提供一种电子设备,该电子设备包括一个或者多个功能模块,该功能模块存储在数据处理设备的存储器中,并由所述数据处理设备的处理器执行,以实现如上所述的域名智能解析方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有域名智能解析程序,所述域名智能解析程序可被一个或者多个处理器执行,以实现如上所述的域名智能解析方法的步骤。
本发明提出的域名智能解析方法、装置及计算机可读存储介质,接收待访问的域名,利用本地客户端进行域名的查询,若本地客户端查询不到所述域名的对应网路地址,则通过预先构建的区块链***进行所述域名的网路地址的查询,若所述区块链***查询不到所述域名的对应网路地址,则根据域名解析服务器进行所述域名的网络地址的查询,从而完成所述域名的智能解析,有效的实现了域名的实时查询以及防止了域名的权威服务器出现解析记录被修改的风险。
附图说明
图1为本发明一实施例提供的域名智能解析方法的流程示意图;
图2为本发明一实施例提供的电子设备的内部结构示意图;
图3为本发明一实施例提供的域名智能解析装置的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种域名智能解析方法。参照图1所示,为本发明一实施例提供的域名智能解析方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,域名智能解析方法包括:
S1、获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址。
所述客户端又称用户端,是指与服务器相对应,为客户提供本地服务的程序。所述域名(Domain Name),也称网域,是由一串用点分隔的名字组成的Internet上某一台服务器或服务器组的名称,用于在数据传输时标识服务器的电子方位(有时也指地理位置)。
所述网路地址可以包括:IP地址、钱包地址以及内存地址,其中所述内存地址通过指针进行区分。
较佳地,本发明中通过联网终端进行查询所述网路地址是否存在所述客户端的本地缓存中。
S2、若在所述客户端的本地缓存查找到所述网路地址,则直接从所述客户端的本地缓存中获取所述网路地址。
本发明较佳实施例中以Windows操作***IP地址为例,接收待访问的域名为:www.***.com,利用客户端cmd的nslookup查询指令得到所述客户端的本地缓存中存在所述域名所要访问的服务器IP地址为:192.168.43.1。
S3、若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链***中进行查询,所述预先构建的区块链***包括以区块存储的合法域名及对应的网路地址。
本发明较佳实施例中,所述预先构建的区块链***通过BNS(Blockchain NameSystem,基于区块链的智能域名解析***)服务器进行创建,包括:配置管理模块、响应管理模块、缓存管理模块、追踪管理模块以及递归管理模块。其中,所述配置管理模块相当于权威服务器,接受合法用户发起的域名配置并广播给区块链网络。所述响应管理模块用于监听客户端请求并响应,主要对响应项进行轮转或权重调度等。所述缓存管理模块用于对域名以及网路地址的缓存,降低直接对数据库文件的直接访问。所述追踪管理模块用于记录不在本地数据库的域名在哪些节点上,以便快速找到目标。所述递归管理模块用于当本地数据库没有记录时,从所述追踪管理模块中获取目标节点并查询或所述追踪管理模块中没有记录时的向传统域名解析服务器或区块链网络递归查询。
详细地,所述将所述域名输入至预先构建的区块链***中进行网路地址的查询,包括:
将所述网路地址存储在所述缓存管理模块中;
将所述域名记录在区块链上,得到合法域名,并将所述合法域名以区块的形式存储至存储所述网络地址的缓存管理模块中;
利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询。
S4、若所述区块链***中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端。
本发明较佳实施例中,所述区块链***根据用户的需求可以包含多个BNS服务器。较佳地,本发明中以只包含第一BNS服务器和第二BNS服务器的区块链***为例,并预设所述第一BNS服务器的位置与所述客户端的距离较近,因此所述第一BNS服务器优先对所述待访问的域名进行响应。详细地:所述第一BNS服务器接收需要待访问的域名,通过所述配置管理模块将所述域名记录在区块链上,得到合法域名,通过所述响应管理模块将所述合法域名请求至所述缓存管理模块中,并将所述合法域名以区块的形式存储至所述缓存管理模块中以及将网路地址存储至所述缓存管理模块中,利用所述追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询,若查询到所述合法域名对应的网路地址,将所述网路地址直接返回至上述客户端中,若查询不到所述合法域名对应的网路地址,通过所述递归管理模块向所述第二BNS服务器进行域名解析。其中,所述区块包括:区块头和区块体,及所述区块头包括:域名生成时间、域名哈希、以及散列指针等,所述散列指针对应其域名区块的区块体,即地址记录。
较佳地,本发明将所述合法域名以区块的形式存储至所述缓存管理模块中包括:根据所述合法域名的域名哈希构建字典(Trie)树,将所述Trie树中的每一个叶节点对应一个合法域名的散列函数,完成所述合法域名的存储。其中,所述Trie树是一种树形结构,是一种哈希树的变种。
较佳地,本发明中利用所述追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询包括:获取所述缓存管理模块中待解析合法域名的哈希值,及根据所述追踪管理模块的Tracker指令对所述建立的字典树进行遍历查询,得到所述待解析合法域名对应的叶节点,根据所述叶节点的指向查询得到所述待解析合法域名的网路地址,并将所述网路地址直接返回给上述客户端,其中,所述叶节点为合法域名地址的散列指针;若遍历查询后,未查询到所述待解析合法域名对应的叶节点,通过所述递归管理模块向第二BNS服务器进行合法域名解析。
进一步地,当所述第二BNS服务器接收到所述第一服务器发起的合法域名解析查询请求时,由于第二BNS服务器和第一BNS服务器有同样的结构,但其中包含的域名及其地址不同,所以第二BNS服务器的响应管理则对第一BNS服务器发起的合法域名解析查询请求进行响应,并进行合法域名地址的查询。在查询过程中,所述第二BNS服务器接收待解析合法域名的哈希值,及根据Tracker指令对所述建立的字典树进行遍历查询,得到所述待解析合法域名对应的叶节点,根据所述叶节点的指向查询得到所述待解析合法域名的网路地址,并将所述网路地址直接返回给所述第一BNS服务器,从而返回给所述客户端。若遍历查询后,未查询到所述待解析合法域名对应的叶节点,直接将查询结果返回所述第一BNS服务器。
S5、若所述区块链***中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询操作,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
所述域名解析服务器(Domain Name System,DNS)用于对域名进行解析并转换为对应的IP地址。较佳地,本发明中所述域名解析服务器包括:转发解析器和递归解析器。详细地,所述查询操作包括:所述DNS接收所述域名,利用所述转发解析器转发所述域名至所述递归解析器中,通过所述递归解析器对所述域名进行迭代分析,得到所述应答报文,其中,所述应答报文指的是查询得到的网路地址,即查询结果,并将得到的所述查询结果返回所述客户端,从而完成域名的智能解析。其中,所述迭代分析包括:获取上述客户端的地址信息,根据所述地址信息计算出所述客户端的网络拓扑位置,根据所述网络拓扑位置解析出所述域名的应答报文。
本发明还提供一种电子设备。参照图2所示,为本发明一实施例提供的电子设备的内部结构示意图。
在本实施例中,所述电子设备1可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。该电子设备1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是域名智能解析装置1的内部存储单元,例如该电子设备1的硬盘。存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如域名智能解析程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行域名智能解析程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及域名智能解析程序01的电子设备1,本领域技术人员可以理解的是,图1示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有域名智能解析程序01;处理器12执行存储器11中存储的域名智能解析程序01时实现如下步骤:
步骤一、获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址。
所述客户端又称用户端,是指与服务器相对应,为客户提供本地服务的程序。所述域名(Domain Name),也称网域,是由一串用点分隔的名字组成的Internet上某一台服务器或服务器组的名称,用于在数据传输时标识服务器的电子方位(有时也指地理位置)。
所述网路地址可以包括:IP地址、钱包地址以及内存地址,其中所述内存地址通过指针进行区分。
较佳地,本发明中通过联网终端进行查询所述网路地址是否存在所述客户端的本地缓存中。
步骤二、若在所述客户端的本地缓存查找到所述网路地址,则直接从所述客户端的本地缓存中获取所述网路地址。
本发明较佳实施例中以Windows操作***IP地址为例,接收待访问的域名为:www.***.com,利用客户端cmd的nslookup查询指令得到所述客户端的本地缓存中存在所述域名所要访问的服务器IP地址为:192.168.43.1。
步骤三、若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链***中进行查询。
本发明较佳实施例中,所述预先构建的区块链***通过BNS(Blockchain NameSystem,基于区块链的智能域名解析***)服务器进行创建,包括:配置管理模块、响应管理模块、缓存管理模块、追踪管理模块以及递归管理模块。其中,所述配置管理模块相当于权威服务器,接受合法用户发起的域名配置并广播给区块链网络。所述响应管理模块用于监听客户端请求并响应,主要对响应项进行轮转或权重调度等。所述缓存管理模块用于对域名以及网路地址的缓存,降低直接对数据库文件的直接访问。所述追踪管理模块用于记录不在本地数据库的域名在哪些节点上,以便快速找到目标。所述递归管理模块用于当本地数据库没有记录时,从所述追踪管理模块中获取目标节点并查询或所述追踪管理模块中没有记录时的向传统域名解析服务器或区块链网络递归查询。
详细地,所述将所述域名输入至预先构建的区块链***中进行网路地址的查询,包括:
将所述网路地址存储在所述缓存管理模块中;
将所述域名记录在区块链上,得到合法域名,并将所述合法域名以区块的形式存储至存储所述网络地址的缓存管理模块中;
利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询。
步骤四、若所述区块链***中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端。
本发明较佳实施例中,所述区块链***根据用户的需求可以包含多个BNS服务器。较佳地,本发明中以只包含第一BNS服务器和第二BNS服务器的区块链***为例,并预设所述第一BNS服务器的位置与所述客户端的距离较近,因此所述第一BNS服务器优先对所述待访问的域名进行响应。详细地:所述第一BNS服务器接收需要待访问的域名,通过所述配置管理模块将所述域名记录在区块链上,得到合法域名,通过所述响应管理模块将所述合法域名请求至所述缓存管理模块中,并将所述合法域名以区块的形式存储至所述缓存管理模块中以及将网路地址存储至所述缓存管理模块中,利用所述追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询,若查询到所述合法域名对应的网路地址,将所述网路地址直接返回至上述客户端中,若查询不到所述合法域名对应的网路地址,通过所述递归管理模块向所述第二BNS服务器进行域名解析。其中,所述区块包括:区块头和区块体,及所述区块头包括:域名生成时间、域名哈希、以及散列指针等,所述散列指针对应其域名区块的区块体,即地址记录。
较佳地,本发明将所述合法域名以区块的形式存储至所述缓存管理模块中包括:根据所述合法域名的域名哈希构建字典(Trie)树,将所述Trie树中的每一个叶节点对应一个合法域名的散列函数,完成所述合法域名的存储。其中,所述Trie树是一种树形结构,是一种哈希树的变种。
较佳地,本发明中利用所述追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询包括:获取所述缓存管理模块中待解析合法域名的哈希值,及根据所述追踪管理模块的Tracker指令对所述建立的字典树进行遍历查询,得到所述待解析合法域名对应的叶节点,根据所述叶节点的指向查询得到所述待解析合法域名的网路地址,并将所述网路地址直接返回给上述客户端,其中,所述叶节点为合法域名地址的散列指针;若遍历查询后,未查询到所述待解析合法域名对应的叶节点,通过所述递归管理模块向第二BNS服务器进行合法域名解析。
进一步地,当所述第二BNS服务器接收到所述第一服务器发起的合法域名解析查询请求时,由于第二BNS服务器和第一BNS服务器有同样的结构,但其中包含的域名及其地址不同,所以第二BNS服务器的响应管理则对第一BNS服务器发起的合法域名解析查询请求进行响应,并进行合法域名地址的查询。在查询过程中,所述第二BNS服务器接收待解析合法域名的哈希值,及根据Tracker指令对所述建立的字典树进行遍历查询,得到所述待解析合法域名对应的叶节点,根据所述叶节点的指向查询得到所述待解析合法域名的网路地址,并将所述网路地址直接返回给所述第一BNS服务器,从而返回给所述客户端。若遍历查询后,未查询到所述待解析合法域名对应的叶节点,直接将查询结果返回所述第一BNS服务器。
步骤五、若所述区块链***中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询操作,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
所述域名解析服务器(Domain Name System,DNS)用于对域名进行解析并转换为对应的IP地址。较佳地,本发明中所述域名解析服务器包括:转发解析器和递归解析器。详细地,所述查询操作包括:所述DNS接收所述域名,利用所述转发解析器转发所述域名至所述递归解析器中,通过所述递归解析器对所述域名进行迭代分析,得到所述应答报文,其中,所述应答报文指的是查询得到的网路地址,即查询结果,并将得到的所述查询结果返回所述客户端,从而完成域名的智能解析。其中,所述迭代分析包括:获取上述客户端的地址信息,根据所述地址信息计算出所述客户端的网络拓扑位置,根据所述网络拓扑位置解析出所述域名的应答报文。
进一步地,参照图3所示,是本发明实施例提供的一种域名智能解析装置的功能模块示意图。
可选地,所述域名智能解析装置可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述域名智能解析程序在电子设备中的执行过程。
例如,本发明实施例中,所述域名智能解析程序可以被分割为本地查询模块10、区块链查询模块20以及服务器查询模块30,示例性地:
所述本地查询模块10用于:获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址,若在所述客户端的本地缓存查找到所述网路地址,则直接从所述客户端的本地缓存中获取所述网路地址。
所述区块链查询模块20用于:若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链***中进行网路地址的查询,若所述区块链***中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端,其中,所述预先构建的区块链***包括以区块存储的合法域名及对应的网路地址。
所述服务器查询模块30用于:若所述区块链***中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
上述本地查询模块10、区块链查询模块20以及服务器查询模块30等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质。所述计算机可读存储介质可以是非易失性计算机可读存储介质,也可以是易失性计算机可读存储介质。所述计算机可读存储介质上存储有域名智能解析程序,所述域名智能解析程序可被一个或多个处理器执行,以实现如下操作:
获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址;
若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链***中进行网路地址的查询,所述预先构建的区块链***包括以区块存储的合法域名及对应的网路地址;
若所述区块链***中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端;
若所述区块链***中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
本发明计算机可读存储介质具体实施方式与上述电子设备和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种域名智能解析方法,其特征在于,所述方法包括:
获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址;
若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链***中进行网路地址的查询,其中,所述预先构建的区块链***包括以区块存储的合法域名及对应的网路地址;
若所述区块链***中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端;
若所述区块链***中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端。
2.如权利要求1所述的域名智能解析方法,其特征在于,所述网路地址包括IP地址、钱包地址及/或内存地址,其中所述内存地址通过指针进行区分。
3.如权利要求1所述的域名智能解析方法,其特征在于,所述将所述域名输入至预先构建的区块链***中进行网路地址的查询,包括:
将所述网路地址存储在所述缓存管理模块中;
将所述域名记录在区块链上,得到合法域名,并将所述合法域名以区块的形式存储至存储所述网络地址的缓存管理模块中;
利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询。
4.如权利要求3所述的域名智能解析方法,其特征在于,所述利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询,包括:
获取所述缓存管理模块中所述合法域名的哈希值,根据所述合法域名的哈希值构建字典树;
利用Tracker指令对所述建立的字典树进行遍历查询,得到所述合法域名对应的叶节点,其中,所述叶节点为合法域名地址的散列指针;
根据所述叶节点的指向查询得到所述合法域名对应的网路地址,并将所述网路地址返回给上述客户端。
5.如权利要求1所述的域名智能解析方法,其特征在于,所述将所述待访问的域名输入至域名解析服务器中进行网路地址的查询操作包括:
利用所述域名解析服务器的转发解析器转发所述域名至所述域名解析服务器的递归解析器中,通过所述递归解析器对所述域名进行迭代分析,得到应答报文,其中,所述应答报文包括查询得到的网路地址,得到所述查询结果;
其中,所述迭代分析包括:
获取所述客户端的地址信息,根据所述地址信息计算出所述客户端的网络拓扑位置,根据所述网络拓扑位置解析出所述域名的应答报文。
6.一种域名智能解析装置,其特征在于,所述装置包括:
本地查询模块,用于获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
区块链查询模块,用于若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链***中进行网路地址的查询,若所述区块链***中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端,其中,所述预先构建的区块链***包括以区块存储的合法域名及对应的网路地址;
服务器查询模块,用于若所述区块链***中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
7.如权利要求6所述的域名智能解析装置,其特征在于,所述将所述域名输入至预先构建的区块链***中进行网路地址的查询,包括:
将所述网路地址存储在所述缓存管理模块中;
将所述域名记录在区块链上,得到合法域名,并将所述合法域名以区块的形式存储至存储所述网络地址的缓存管理模块中;
利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询。
8.如权利要求7所述的域名智能解析装置,其特征在于,所述利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询,包括:
获取所述缓存管理模块中所述合法域名的哈希值,根据所述合法域名的哈希值构建字典树;
利用Tracker指令对所述建立的字典树进行遍历查询,得到所述合法域名对应的叶节点,其中,所述叶节点为合法域名地址的散列指针;
根据所述叶节点的指向查询得到所述合法域名对应的网路地址,并将所述网路地址返回给上述客户端。
9.一种电子设备,其特征在于,该电子设备包括一个或者多个功能模块,该功能模块存储在数据处理设备的存储器中,并由所述数据处理设备的处理器执行时实现如权利要求1至5中任一项所述的微服务的数据同步方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有域名智能解析程序,所述域名智能解析程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的域名智能解析方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010186678.9A CN111475704A (zh) | 2020-03-17 | 2020-03-17 | 域名智能解析方法、装置及计算机可读存储介质 |
PCT/CN2020/099090 WO2021184580A1 (zh) | 2020-03-17 | 2020-06-30 | 域名智能解析方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010186678.9A CN111475704A (zh) | 2020-03-17 | 2020-03-17 | 域名智能解析方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111475704A true CN111475704A (zh) | 2020-07-31 |
Family
ID=71748255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010186678.9A Pending CN111475704A (zh) | 2020-03-17 | 2020-03-17 | 域名智能解析方法、装置及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111475704A (zh) |
WO (1) | WO2021184580A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112040022A (zh) * | 2020-08-25 | 2020-12-04 | 成都安恒信息技术有限公司 | 一种dns缓存处理方法 |
CN112612816A (zh) * | 2020-12-01 | 2021-04-06 | 网易(杭州)网络有限公司 | 以太坊联盟链的业务结果查询方法、装置、设备及介质 |
CN112653760A (zh) * | 2020-12-22 | 2021-04-13 | 平安银行股份有限公司 | 跨服务器的文件传输方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105978697A (zh) * | 2016-07-25 | 2016-09-28 | 宁圣金融信息服务(上海)有限公司 | 一种区块链域名解析方法 |
CN106161674A (zh) * | 2016-07-25 | 2016-11-23 | 宁圣金融信息服务(上海)有限公司 | 一种区块链域名解析装置 |
CN109688239A (zh) * | 2018-12-20 | 2019-04-26 | 全链通有限公司 | 域名解析方法、设备、***及存储介质 |
CN109714446A (zh) * | 2018-12-20 | 2019-05-03 | 全链通有限公司 | 域名解析方法、设备、***及存储介质 |
-
2020
- 2020-03-17 CN CN202010186678.9A patent/CN111475704A/zh active Pending
- 2020-06-30 WO PCT/CN2020/099090 patent/WO2021184580A1/zh active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112040022A (zh) * | 2020-08-25 | 2020-12-04 | 成都安恒信息技术有限公司 | 一种dns缓存处理方法 |
CN112612816A (zh) * | 2020-12-01 | 2021-04-06 | 网易(杭州)网络有限公司 | 以太坊联盟链的业务结果查询方法、装置、设备及介质 |
CN112653760A (zh) * | 2020-12-22 | 2021-04-13 | 平安银行股份有限公司 | 跨服务器的文件传输方法、装置、电子设备及存储介质 |
CN112653760B (zh) * | 2020-12-22 | 2023-03-24 | 平安银行股份有限公司 | 跨服务器的文件传输方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021184580A1 (zh) | 2021-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674432B (zh) | 二级缓存方法、装置及计算机可读存储介质 | |
CN108062413B (zh) | 网页数据处理方法、装置、计算机设备及存储介质 | |
US7987509B2 (en) | Generation of unique significant key from URL get/post content | |
CN111475704A (zh) | 域名智能解析方法、装置及计算机可读存储介质 | |
CN108090064B (zh) | 一种数据查询方法、装置、数据存储服务器及*** | |
CN101431539B (zh) | 一种域名解析方法、***及装置 | |
US9219705B2 (en) | Scaling network services using DNS | |
US7895176B2 (en) | Entry group tags | |
EP2740253B1 (en) | Method and system for domain name system based discovery of devices and objects | |
US20020161749A1 (en) | Identifier code translation system | |
US20150100563A1 (en) | Method for retaining search engine optimization in a transferred website | |
CN111478984B (zh) | 服务器ip地址获取方法、装置及计算机可读存储介质 | |
US10171415B2 (en) | Characterization of domain names based on changes of authoritative name servers | |
CN108063835B (zh) | 外网域名解析方法、服务器和*** | |
CN104253796B (zh) | 域名***中基于网络地址绑定区层级的快速区识别方法 | |
US20090234858A1 (en) | Use Of A Single Service Application Instance For Multiple Data Center Subscribers | |
CN103220379A (zh) | 一种域名反向解析方法和装置 | |
CN112817983A (zh) | 句柄标识解析缓存方法、查询方法及其句柄标识解析*** | |
EP2426894B1 (en) | System and method of processing DNS request and DNS reply | |
CN109302406B (zh) | 一种分布式网页取证的方法及*** | |
CN115858590A (zh) | 域名查询请求处理方法、计算机装置、设备、介质和产品 | |
CN105245626B (zh) | 在专网中使用快捷域名实现网站寻址的方法 | |
KR101018787B1 (ko) | 인터넷 정보 검색 시스템 | |
CN114205330B (zh) | 域名解析方法、域名解析装置、服务器以及存储介质 | |
KR20120000897A (ko) | 존 설정을 통한 특정 질의 처리 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |