WO2021184580A1 - 域名智能解析方法、装置、电子设备及计算机可读存储介质 - Google Patents

域名智能解析方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
WO2021184580A1
WO2021184580A1 PCT/CN2020/099090 CN2020099090W WO2021184580A1 WO 2021184580 A1 WO2021184580 A1 WO 2021184580A1 CN 2020099090 W CN2020099090 W CN 2020099090W WO 2021184580 A1 WO2021184580 A1 WO 2021184580A1
Authority
WO
WIPO (PCT)
Prior art keywords
domain name
network address
client
query
legal
Prior art date
Application number
PCT/CN2020/099090
Other languages
English (en)
French (fr)
Inventor
莫生平
Original Assignee
平安科技(深圳)有限公司
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 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2021184580A1 publication Critical patent/WO2021184580A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Definitions

  • This application relates to the field of blockchain technology, and in particular to a domain name intelligent resolution method, device, electronic equipment, and computer-readable storage medium.
  • the Domain Name System is the entrance to the Internet. Since its inception, it has handled billions of Internet access needs every day. It provides a mapping relationship between domain names and IP addresses, making it easier for users to remember and access The importance of scheduling is self-evident.
  • the traditional domain name resolution system uses the natural distributed inverted tree deployment to share the user's centralized access and nearby access caching mechanism to serve the Internet.
  • This mechanism also brings some security risks and inefficiencies, such as:
  • 2Cache poisoning use DNS to use UDP protocol to forge authoritative server to respond to forged data during recursion;
  • TTL delay The existence of TTL is to reduce the frequency of recursion and quickly respond to users, but it also brings that when the record on the authoritative server is modified, the new record data can only be obtained after the TTL expires;
  • This application provides an intelligent domain name resolution method, device, electronic equipment, and computer-readable storage medium.
  • An intelligent domain name resolution method provided by this application includes:
  • the network address is obtained from the local cache of the client;
  • the pre-built blockchain system includes The legal domain name and corresponding network address of the block storage
  • the network address corresponding to the domain name is queried in the blockchain system, the network address is returned to the client;
  • the domain name to be accessed is entered into the domain name resolution server to query the network address, and the query result obtained is returned to the The client, thus completing the intelligent resolution of the domain name.
  • This application also provides an intelligent domain name resolution device, which includes:
  • the local query module is used to obtain the domain name to be accessed by the client, find the network address corresponding to the domain name in the local cache of the client, and if the network address is found in the local cache of the client, then Obtaining the network address from the local cache of the client;
  • the block chain query module is used to input the domain name into the pre-built block chain system to query the network address if the local cache of the client does not find the network address, if the zone If the network address corresponding to the domain name is found in the block chain system, the network address is returned to the client.
  • the pre-built block chain system includes the legal domain name stored in blocks and the corresponding network address;
  • the server query module is used to if the network address corresponding to the domain name is not found in the blockchain system, then input the domain name to be accessed into the domain name resolution server to query the network address, and obtain The result of the query is returned to the client, thereby completing the intelligent resolution of the domain name.
  • the present application also provides an electronic device that includes one or more functional modules, the functional modules are stored in a memory of a data processing device, and when executed by a processor of the data processing device, the following steps are implemented:
  • the network address is obtained from the local cache of the client;
  • the pre-built blockchain system includes The legal domain name and corresponding network address of the block storage;
  • the network address corresponding to the domain name is queried in the blockchain system, the network address is returned to the client;
  • the domain name to be accessed is entered into the domain name resolution server to query the network address, and the query result obtained is returned to the The client, thus completing the intelligent resolution of the domain name.
  • This application also provides a computer-readable storage medium on which a domain name intelligent resolution program is stored, and when the domain name intelligent resolution program is executed by one or more processors, the following steps are implemented:
  • the network address is obtained from the local cache of the client;
  • the pre-built blockchain system includes The legal domain name and corresponding network address of the block storage
  • the network address corresponding to the domain name is queried in the blockchain system, the network address is returned to the client;
  • the domain name to be accessed is entered into the domain name resolution server to query the network address, and the query result obtained is returned to the The client, thus completing the intelligent resolution of the domain name.
  • FIG. 1 is a schematic flowchart of a domain name intelligent resolution method provided by an embodiment of this application
  • FIG. 2 is a schematic diagram of the internal structure of an electronic device provided by an embodiment of the application.
  • FIG. 3 is a schematic diagram of functional modules of a domain name intelligent resolution device provided by an embodiment of the application.
  • This application provides an intelligent domain name resolution method.
  • FIG. 1 it is a schematic flowchart of a domain name intelligent resolution method provided by an embodiment of this application.
  • the method can be executed by an electronic device, and the electronic device can be implemented by software and/or hardware.
  • the domain name intelligent resolution method includes:
  • the client also known as the client, refers to a program that corresponds to a server and provides local services for the client.
  • the domain name also known as a network domain, is the name of a server or server group on the Internet composed of a series of names separated by dots. It is used to identify the electronic location of the server during data transmission (sometimes also Refers to geographic location).
  • the network address may include: an IP address, a wallet address, and a memory address, where the memory address is distinguished by pointers.
  • a networked terminal is used to query whether the network address exists in the local cache of the client.
  • the IP address of the Windows operating system is taken as an example.
  • the domain name to be accessed is www.baidu.com, and the nslookup query command of the client cmd is used to obtain that the client’s local cache exists for the domain name.
  • the IP address of the accessed server is: 192.168.43.1.
  • the pre-built blockchain system passes BNS (Blockchain Name System, a blockchain-based intelligent domain name resolution system) server to create, including: configuration management module, response management module, cache management module, tracking management module and recursive management module.
  • the configuration management module is equivalent to an authoritative server, which accepts domain name configuration initiated by legal users and broadcasts it to the blockchain network.
  • the response management module is used for monitoring client requests and responding, and mainly performs rotation or weight scheduling on response items.
  • the cache management module is used to cache domain names and network addresses to reduce direct access to database files.
  • the tracking management module is used to record the domain names that are not in the local database on which nodes, so as to quickly find the target.
  • the recursive management module is used to obtain and query the target node from the tracking management module when there is no record in the local database, or recursively query the traditional domain name resolution server or the blockchain network when there is no record in the tracking management module.
  • the inputting the domain name into the pre-built blockchain system to query the network address includes:
  • the tracking management module is used to query the network address of the legal domain name in the cache management module.
  • the blockchain system may include multiple BNS servers according to user requirements.
  • a blockchain system that only includes a first BNS server and a second BNS server is taken as an example, and the location of the first BNS server is preset to be close to the client, so the The first BNS server preferentially responds to the domain name to be accessed.
  • the first BNS server receives the domain name that needs to be accessed, records the domain name on the blockchain through the configuration management module to obtain a legal domain name, and requests the legal domain name to the
  • the legal domain name is stored in the cache management module in the form of blocks
  • the network address is stored in the cache management module
  • the tracking management module is used for the cache management
  • the legal domain name in the management module performs a network address query. If the network address corresponding to the legal domain name is queried, the network address is directly returned to the client terminal. If the network address corresponding to the legal domain name cannot be queried, The path address is resolved to the second BNS server through the recursive management module.
  • the block includes: a block header and a block body
  • the block header includes: domain name generation time, domain name hash, and hash pointer, etc.
  • the hash pointer corresponds to the block body of its domain name block , Which is the address record.
  • storing the legal domain name in the cache management module in the form of blocks includes: constructing a dictionary (Trie) tree according to the domain name hash of the legal domain name, and storing each of the Trie trees A leaf node corresponds to a hash function of a legal domain name, and completes the storage of the legal domain name.
  • the Trie tree is a tree structure, which is a variant of a hash tree.
  • using the tracking management module to perform network address query on the legal domain name in the cache management module includes: obtaining the hash value of the legal domain name to be resolved in the cache management module, and according to the The Tracker instruction of the tracking management module traverses and queries the established dictionary tree to obtain the leaf node corresponding to the legal domain name to be resolved, and obtains the network address of the legal domain name to be resolved according to the direction of the leaf node, and The network address is directly returned to the above-mentioned client, where the leaf node is a hash pointer of the legal domain name address; if the leaf node corresponding to the legal domain name to be resolved is not queried after traversing the query, pass the The recursive management module performs legal domain name resolution to the second BNS server.
  • the second BNS server receives the legal domain name resolution query request initiated by the first server, since the second BNS server and the first BNS server have the same structure, but the domain names and addresses contained therein are different , So the response management of the second BNS server responds to the legal domain name resolution query request initiated by the first BNS server, and queries the legal domain name address.
  • the second BNS server receives the hash value of the legal domain name to be resolved, and traverses and queries the established dictionary tree according to the Tracker instruction to obtain the leaf node corresponding to the legal domain name to be resolved.
  • the point query of the leaf node obtains the network address of the legal domain name to be resolved, and returns the network address directly to the first BNS server, thereby returning it to the client. If after traversing the query, the leaf node corresponding to the legal domain name to be resolved is not queried, the query result is directly returned to the first BNS server.
  • the domain name resolution server (Domain Name System, DNS) is used to resolve domain names and convert them into corresponding IP addresses.
  • the domain name resolution server mentioned in this application includes: a forwarding resolver and a recursive resolver.
  • the query operation includes: the DNS receives the domain name, uses the forwarding resolver to forward the domain name to the recursive resolver, and performs iterative analysis on the domain name through the recursive resolver to obtain
  • the response message refers to the network address obtained by the query, that is, the query result, and the obtained query result is returned to the client, thereby completing the intelligent analysis of the domain name.
  • the iterative analysis includes: obtaining the address information of the client, calculating the network topology location of the client according to the address information, and parsing the response message of the domain name according to the network topology location.
  • the application also provides an electronic device.
  • FIG. 2 it is a schematic diagram of the internal structure of an electronic device provided by an embodiment of this application.
  • the electronic device 1 may be a PC (Personal Computer, personal computer), or a terminal device such as a smart phone, a tablet computer, or a portable computer, or a server.
  • the electronic device 1 at least includes a memory 11, a processor 12, a communication bus 13, and a network interface 14.
  • the memory 11 includes at least one type of readable storage medium, and the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), magnetic memory, magnetic disk, optical disk, and the like.
  • the memory 11 may be an internal storage unit of the electronic device 1 in some embodiments, such as a hard disk of the electronic device 1. In other embodiments, the memory 11 may also be an external storage device of the electronic device 1, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), and a secure digital (Secure Digital, SD) equipped on the electronic device 1. Flash memory card Card) and so on. Further, the memory 11 may also include both an internal storage unit of the electronic device 1 and an external storage device.
  • the memory 11 can be used not only to store application software and various data installed in the electronic device 1, such as the code of the domain name intelligent resolution program 01, etc., but also to temporarily store data that has been output or will be output.
  • the processor 12 may be a central processing unit (Central Processing Unit) in some embodiments.
  • Central Processing Unit CPU
  • controller a controller
  • microcontroller a microprocessor
  • other data processing chips are used to run program codes or process data stored in the memory 11, such as executing a domain name intelligent resolution program 01, etc.
  • the communication bus 13 is used to realize the connection and communication between these components.
  • the network interface 14 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface), and is usually used to establish a communication connection between the electronic device 1 and other electronic devices.
  • a standard wired interface and a wireless interface such as a WI-FI interface
  • the electronic device 1 may further include a user interface.
  • the user interface may include a display (Display) and an input unit such as a keyboard (Keyboard).
  • the optional user interface may also include a standard wired interface and a wireless interface.
  • the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, and an OLED (Organic Light-Emitting Diode, organic light-emitting diode) touch device, etc.
  • the display can also be appropriately called a display screen or a display unit, which is used to display the information processed in the electronic device 1 and to display a visualized user interface.
  • Figure 2 only shows the electronic device 1 with components 11-14 and the domain name intelligent resolution program 01.
  • Figure 1 does not constitute a limitation on the electronic device 1, and may include ratios Fewer or more parts are shown, or some parts are combined, or different parts are arranged.
  • the domain name intelligent resolution program 01 is stored in the memory 11; when the processor 12 executes the domain name intelligent resolution program 01 stored in the memory 11, the following steps are implemented:
  • Step 1 Obtain the domain name to be accessed by the client, and look up the network address corresponding to the domain name in the local cache of the client.
  • the client also known as the client, refers to a program that corresponds to a server and provides local services for the client.
  • the domain name also known as a network domain, is the name of a server or server group on the Internet composed of a series of names separated by dots. It is used to identify the electronic location of the server during data transmission (sometimes also Refers to geographic location).
  • the network address may include: an IP address, a wallet address, and a memory address, where the memory address is distinguished by pointers.
  • a networked terminal is used to query whether the network address exists in the local cache of the client.
  • Step 2 If the network address is found in the local cache of the client, the network address is directly obtained from the local cache of the client.
  • the IP address of the Windows operating system is taken as an example.
  • the domain name to be accessed is www.baidu.com, and the nslookup query command of the client cmd is used to obtain that the client’s local cache exists for the domain name.
  • the IP address of the accessed server is: 192.168.43.1.
  • Step 3 If the network address is not found in the local cache of the client, input the domain name into the pre-built blockchain system for query.
  • the pre-built blockchain system passes BNS (Blockchain Name System, a blockchain-based intelligent domain name resolution system) server to create, including: configuration management module, response management module, cache management module, tracking management module and recursive management module.
  • the configuration management module is equivalent to an authoritative server, which accepts domain name configuration initiated by legal users and broadcasts it to the blockchain network.
  • the response management module is used for monitoring client requests and responding, and mainly performs rotation or weight scheduling on response items.
  • the cache management module is used to cache domain names and network addresses to reduce direct access to database files.
  • the tracking management module is used to record the domain names that are not in the local database on which nodes, so as to quickly find the target.
  • the recursive management module is used to obtain and query the target node from the tracking management module when there is no record in the local database, or recursively query the traditional domain name resolution server or the blockchain network when there is no record in the tracking management module.
  • the inputting the domain name into the pre-built blockchain system to query the network address includes:
  • the tracking management module is used to query the network address of the legal domain name in the cache management module.
  • Step 4 If the network address corresponding to the domain name is found in the blockchain system, the network address is returned to the client.
  • the blockchain system may include multiple BNS servers according to user requirements.
  • a blockchain system that only includes a first BNS server and a second BNS server is taken as an example, and the location of the first BNS server is preset to be close to the client, so the The first BNS server preferentially responds to the domain name to be accessed.
  • the first BNS server receives the domain name that needs to be accessed, records the domain name on the blockchain through the configuration management module to obtain a legal domain name, and requests the legal domain name to the
  • the legal domain name is stored in the cache management module in the form of blocks
  • the network address is stored in the cache management module
  • the tracking management module is used for the cache management
  • the legal domain name in the management module performs a network address query. If the network address corresponding to the legal domain name is queried, the network address is directly returned to the client terminal. If the network address corresponding to the legal domain name cannot be queried, The path address is resolved to the second BNS server through the recursive management module.
  • the block includes: a block header and a block body
  • the block header includes: domain name generation time, domain name hash, and hash pointer, etc.
  • the hash pointer corresponds to the block body of its domain name block , Which is the address record.
  • storing the legal domain name in the cache management module in the form of blocks includes: constructing a dictionary (Trie) tree according to the domain name hash of the legal domain name, and storing each of the Trie trees A leaf node corresponds to a hash function of a legal domain name, and completes the storage of the legal domain name.
  • the Trie tree is a tree structure, which is a variant of a hash tree.
  • using the tracking management module to perform network address query on the legal domain name in the cache management module includes: obtaining the hash value of the legal domain name to be resolved in the cache management module, and according to the The Tracker instruction of the tracking management module traverses and queries the established dictionary tree to obtain the leaf node corresponding to the legal domain name to be resolved, and obtains the network address of the legal domain name to be resolved according to the direction of the leaf node, and The network address is directly returned to the above-mentioned client, where the leaf node is a hash pointer of the legal domain name address; if the leaf node corresponding to the legal domain name to be resolved is not queried after traversing the query, pass the The recursive management module performs legal domain name resolution to the second BNS server.
  • the second BNS server receives the legal domain name resolution query request initiated by the first server, since the second BNS server and the first BNS server have the same structure, but the domain names and addresses contained therein are different , So the response management of the second BNS server responds to the legal domain name resolution query request initiated by the first BNS server, and queries the legal domain name address.
  • the second BNS server receives the hash value of the legal domain name to be resolved, and traverses and queries the established dictionary tree according to the Tracker instruction to obtain the leaf node corresponding to the legal domain name to be resolved.
  • the point query of the leaf node obtains the network address of the legal domain name to be resolved, and returns the network address directly to the first BNS server, thereby returning it to the client. If after traversing the query, the leaf node corresponding to the legal domain name to be resolved is not queried, the query result is directly returned to the first BNS server.
  • Step 5 If the network address corresponding to the domain name is not found in the blockchain system, input the domain name to be accessed into the domain name resolution server for the network address query operation, and the obtained query The result is returned to the client, thereby completing the intelligent resolution of the domain name.
  • the domain name resolution server (Domain Name System, DNS) is used to resolve domain names and convert them into corresponding IP addresses.
  • the domain name resolution server mentioned in this application includes: a forwarding resolver and a recursive resolver.
  • the query operation includes: the DNS receives the domain name, uses the forwarding resolver to forward the domain name to the recursive resolver, and performs iterative analysis on the domain name through the recursive resolver to obtain
  • the response message refers to the network address obtained by the query, that is, the query result, and the obtained query result is returned to the client, thereby completing the intelligent analysis of the domain name.
  • the iterative analysis includes: obtaining the address information of the client, calculating the network topology location of the client according to the address information, and parsing the response message of the domain name according to the network topology location.
  • FIG. 3 it is a schematic diagram of functional modules of a domain name intelligent resolution device 100 provided by an embodiment of the present application.
  • the domain name intelligent resolution device 100 may be divided into one or more modules, and the one or more modules are stored in the memory 11 and are operated by one or more processors (in this embodiment, the processor 12)
  • the module referred to in this application refers to a series of computer program instruction segments that can complete specific functions, and is used to describe the execution process of the domain name intelligent resolution program in the electronic device.
  • the domain name intelligent resolution device 100 can be divided into a local query module 10, a blockchain query module 20, and a server query module 30.
  • a local query module 10 a blockchain query module
  • a server query module 30 a server query module
  • the local query module 10 is configured to obtain the domain name to be accessed by the client, and search for the network address corresponding to the domain name in the local cache of the client, if the network address is found in the local cache of the client, Then, the network address is directly obtained from the local cache of the client.
  • the blockchain query module 20 is configured to: if the network address is not found in the local cache of the client, input the domain name into a pre-built blockchain system to query the network address, if If the network address corresponding to the domain name is queried in the blockchain system, the network address is returned to the client, where the pre-built blockchain system includes legal domain names stored in blocks And the corresponding network address.
  • the server query module 30 is configured to: if the network address corresponding to the domain name is not queried in the blockchain system, input the domain name to be accessed into the domain name resolution server to query the network address, And the obtained query result is returned to the client, thereby completing the intelligent resolution of the domain name.
  • the embodiment of the present application also proposes a computer-readable storage medium.
  • the computer-readable storage medium may be a non-volatile computer-readable storage medium, or may be a volatile computer-readable storage medium.
  • the computer-readable storage medium stores a domain name intelligent resolution program, and the domain name intelligent resolution program can be executed by one or more processors to implement the following operations:
  • the network address is obtained from the local cache of the client;
  • the pre-built blockchain system includes The legal domain name and corresponding network address of the block storage
  • the network address corresponding to the domain name is queried in the blockchain system, the network address is returned to the client;
  • the domain name to be accessed is entered into the domain name resolution server to query the network address, and the query result obtained is returned to the The client, thus completing the intelligent resolution of the domain name.

Abstract

一种域名智能解析方法,包括:获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址(S1);若在所述客户端的本地缓存查找到所述网路地址,则直接从所述本地缓存中获取所述网路地址(S2);若所述本地缓存没有查找到网路地址,将所述域名输入至预先构建的区块链系统中进行网路地址的查询(S3);若所述区块链系统中查询到了网路地址,将所述网路地址返回所述客户端(S4);若所述区块链系统中没有查询到网路地址,将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将查询结果返回所述客户端(S5)。还提出一种域名智能解析装置、电子设备以及一种计算机可读存储介质。所述方法实现了域名的智能解析。

Description

域名智能解析方法、装置、电子设备及计算机可读存储介质
本申请要求于2020年3月17日提交中国专利局、申请号为CN202010186678.9、发明名称为“域名智能解析方法、装置及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术领域,尤其涉及一种域名智能解析方法、装置、电子设备及计算机可读存储介质。
背景技术
域名解析系统(Domain Name System,简称DNS)作为互联网的入口,自诞生以来,每天处理互联网数十亿次访问需求,它提供一种域名与IP地址的映射关系,使得用户更加好记与便于访问调度,其重要性不言而喻。
技术问题
传统域名解析系统以天然分布式的倒树型部署分摊了用户集中访问和就近访问缓存机制,为互联网服务,发明人意识到这种机制也带来了一些安全隐患与低效,比如:
①域名劫持:劫持权威服务器篡改解析记录达到误导用户访问的目的;
②缓存投毒:利用DNS使用UDP协议递归期间伪造权威服务器响应伪造数据;
③  TTL延迟: TTL的存在是为了减轻递归频度与快速响应用户,但也带来当权威服务器上记录被修改时需等到TTL过期后才能得到新的记录数据;
④被动刷新:由于DNS设计之初并未考虑缓存刷新机制,也带来了解析结果不实时问题。
技术解决方案
本申请提供一种域名智能解析方法、装置、电子设备及计算机可读存储介质。
本申请提供的一种域名智能解析方法,包括:
获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址;
若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链系统中进行网路地址的查询,所述预先构建的区块链系统包括以区块存储的合法域名及对应的网路地址;
若所述区块链系统中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端;
若所述区块链系统中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
本申请还提供一种域名智能解析装置,该装置包括:
本地查询模块,用于获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址,若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
区块链查询模块,用于若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链系统中进行网路地址的查询,若所述区块链系统中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端,所述预先构建的区块链系统包括以区块存储的合法域名及对应的网路地址;
服务器查询模块,用于若所述区块链系统中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
本申请还提供一种电子设备,该电子设备包括一个或者多个功能模块,该功能模块存储在数据处理设备的存储器中,并由所述数据处理设备的处理器执行时实现如下步骤:
获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址;
若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链系统中进行网路地址的查询,所述预先构建的区块链系统包括以区块存储的合法域名及对应的网路地址;
若所述区块链系统中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端;
若所述区块链系统中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有域名智能解析程序,所述域名智能解析程序被一个或者多个处理器执行时实现如下步骤:
获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址;
若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链系统中进行网路地址的查询,所述预先构建的区块链系统包括以区块存储的合法域名及对应的网路地址;
若所述区块链系统中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端;
若所述区块链系统中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
附图说明
图1为本申请一实施例提供的域名智能解析方法的流程示意图;
图2为本申请一实施例提供的电子设备的内部结构示意图;
图3为本申请一实施例提供的域名智能解析装置的功能模块示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
本发明的实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供一种域名智能解析方法。参照图1所示,为本申请一实施例提供的域名智能解析方法的流程示意图。该方法可以由一个电子设备执行,该电子设备可以由软件和/或硬件实现。
在本实施例中,域名智能解析方法包括:
S1、获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址。
所述客户端又称用户端,是指与服务器相对应,为客户提供本地服务的程序。所述域名(Domain Name),也称网域,是由一串用点分隔的名字组成的Internet上某一台服务器或服务器组的名称,用于在数据传输时标识服务器的电子方位(有时也指地理位置)。
所述网路地址可以包括:IP地址、钱包地址以及内存地址,其中所述内存地址通过指针进行区分。
较佳地,本申请中通过联网终端进行查询所述网路地址是否存在所述客户端的本地缓存中。
S2、若在所述客户端的本地缓存查找到所述网路地址,则直接从所述客户端的本地缓存中获取所述网路地址。
本申请较佳实施例中以Windows操作系统IP地址为例,接收待访问的域名为:www.baidu.com,利用客户端cmd的nslookup查询指令得到所述客户端的本地缓存中存在所述域名所要访问的服务器IP地址为:192.168.43.1。
S3、若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链系统中进行查询,所述预先构建的区块链系统包括以区块存储的合法域名及对应的网路地址。
本申请较佳实施例中,所述预先构建的区块链系统通过BNS(Blockchain Name System,基于区块链的智能域名解析系统)服务器进行创建,包括:配置管理模块、响应管理模块、缓存管理模块、追踪管理模块以及递归管理模块。其中,所述配置管理模块相当于权威服务器,接受合法用户发起的域名配置并广播给区块链网络。所述响应管理模块用于监听客户端请求并响应,主要对响应项进行轮转或权重调度等。所述缓存管理模块用于对域名以及网路地址的缓存,降低直接对数据库文件的直接访问。所述追踪管理模块用于记录不在本地数据库的域名在哪些节点上,以便快速找到目标。所述递归管理模块用于当本地数据库没有记录时,从所述追踪管理模块中获取目标节点并查询或所述追踪管理模块中没有记录时的向传统域名解析服务器或区块链网络递归查询。
详细地,所述将所述域名输入至预先构建的区块链系统中进行网路地址的查询,包括:
将所述网路地址存储在所述缓存管理模块中;
将所述域名记录在区块链上,得到合法域名,并将所述合法域名以区块的形式存储至存储所述网络地址的缓存管理模块中;
利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询。
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.baidu.com,利用客户端cmd的nslookup查询指令得到所述客户端的本地缓存中存在所述域名所要访问的服务器IP地址为:192.168.43.1。
步骤三、若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链系统中进行查询。
本申请较佳实施例中,所述预先构建的区块链系统通过BNS(Blockchain Name System,基于区块链的智能域名解析系统)服务器进行创建,包括:配置管理模块、响应管理模块、缓存管理模块、追踪管理模块以及递归管理模块。其中,所述配置管理模块相当于权威服务器,接受合法用户发起的域名配置并广播给区块链网络。所述响应管理模块用于监听客户端请求并响应,主要对响应项进行轮转或权重调度等。所述缓存管理模块用于对域名以及网路地址的缓存,降低直接对数据库文件的直接访问。所述追踪管理模块用于记录不在本地数据库的域名在哪些节点上,以便快速找到目标。所述递归管理模块用于当本地数据库没有记录时,从所述追踪管理模块中获取目标节点并查询或所述追踪管理模块中没有记录时的向传统域名解析服务器或区块链网络递归查询。
详细地,所述将所述域名输入至预先构建的区块链系统中进行网路地址的查询,包括:
将所述网路地址存储在所述缓存管理模块中;
将所述域名记录在区块链上,得到合法域名,并将所述合法域名以区块的形式存储至存储所述网络地址的缓存管理模块中;
利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询。
步骤四、若所述区块链系统中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端。
本申请较佳实施例中,所述区块链系统根据用户的需求可以包含多个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所示,是本申请实施例提供的一种域名智能解析装置100的功能模块示意图。
可选地,所述域名智能解析装置100可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本申请,本申请所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述域名智能解析程序在电子设备中的执行过程。
例如,本申请实施例中,所述域名智能解析装置100可以被分割为本地查询模块10、区块链查询模块20以及服务器查询模块30,示例性地:
所述本地查询模块10用于:获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址,若在所述客户端的本地缓存查找到所述网路地址,则直接从所述客户端的本地缓存中获取所述网路地址。
所述区块链查询模块20用于:若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链系统中进行网路地址的查询,若所述区块链系统中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端,其中,所述预先构建的区块链系统包括以区块存储的合法域名及对应的网路地址。
所述服务器查询模块30用于:若所述区块链系统中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
上述本地查询模块10、区块链查询模块20以及服务器查询模块30等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本申请实施例还提出一种计算机可读存储介质。所述计算机可读存储介质可以是非易失性计算机可读存储介质,也可以是易失性计算机可读存储介质。所述计算机可读存储介质上存储有域名智能解析程序,所述域名智能解析程序可被一个或多个处理器执行,以实现如下操作:
获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址;
若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链系统中进行网路地址的查询,所述预先构建的区块链系统包括以区块存储的合法域名及对应的网路地址;
若所述区块链系统中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端;
若所述区块链系统中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
本申请计算机可读存储介质具体实施方式与上述电子设备和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

  1. 一种域名智能解析方法,其中,所述方法包括:
    获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址;
    若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
    若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链系统中进行网路地址的查询,其中,所述预先构建的区块链系统包括以区块存储的合法域名及对应的网路地址;
    若所述区块链系统中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端;
    若所述区块链系统中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端。
  2. 如权利要求1所述的域名智能解析方法,其中,所述网路地址包括IP地址、钱包地址及/或内存地址,其中所述内存地址通过指针进行区分。
  3. 如权利要求1所述的域名智能解析方法,其中,所述将所述域名输入至预先构建的区块链系统中进行网路地址的查询,包括:
    将所述网路地址存储在缓存管理模块中;
    将所述域名记录在区块链上,得到合法域名,并将所述合法域名以区块的形式存储至存储所述网络地址的缓存管理模块中;
    利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询。
  4. 如权利要求3所述的域名智能解析方法,其中,所述利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询,包括:
    获取所述缓存管理模块中所述合法域名的哈希值,根据所述合法域名的哈希值构建字典树;
    利用Tracker指令对所述建立的字典树进行遍历查询,得到所述合法域名对应的叶节点,其中,所述叶节点为合法域名地址的散列指针;
    根据所述叶节点的指向查询得到所述合法域名对应的网路地址,并将所述网路地址返回给上述客户端。
  5. 如权利要求1所述的域名智能解析方法,其中,所述将所述待访问的域名输入至域名解析服务器中进行网路地址的查询操作包括:
    利用所述域名解析服务器的转发解析器转发所述域名至所述域名解析服务器的递归解析器中,通过所述递归解析器对所述域名进行迭代分析,得到应答报文,其中,所述应答报文包括查询得到的网路地址,得到所述查询结果;
    其中,所述迭代分析包括:
    获取所述客户端的地址信息,根据所述地址信息计算出所述客户端的网络拓扑位置,根据所述网络拓扑位置解析出所述域名的应答报文。
  6. 如权利要求5所述的域名智能解析方法,其中,所述区块包括区块头和区块体,所述区块头包括域名生成时间、域名哈希及散列指针。
  7. 一种域名智能解析装置,其中,所述装置包括:
    本地查询模块,用于获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
    区块链查询模块,用于若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链系统中进行网路地址的查询,若所述区块链系统中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端,其中,所述预先构建的区块链系统包括以区块存储的合法域名及对应的网路地址;
    服务器查询模块,用于若所述区块链系统中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端,从而完成域名的智能解析。
  8. 如权利要求7所述的域名智能解析装置,其中,所述将所述域名输入至预先构建的区块链系统中进行网路地址的查询,包括:
    将所述网路地址存储在所述缓存管理模块中;
    将所述域名记录在区块链上,得到合法域名,并将所述合法域名以区块的形式存储至存储所述网络地址的缓存管理模块中;
    利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询。
  9. 如权利要求8所述的域名智能解析装置,其中,所述利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询,包括:
    获取所述缓存管理模块中所述合法域名的哈希值,根据所述合法域名的哈希值构建字典树;
    利用Tracker指令对所述建立的字典树进行遍历查询,得到所述合法域名对应的叶节点,其中,所述叶节点为合法域名地址的散列指针;
    根据所述叶节点的指向查询得到所述合法域名对应的网路地址,并将所述网路地址返回给上述客户端。
  10. 一种电子设备,其中,该电子设备包括一个或者多个功能模块,该功能模块存储在数据处理设备的存储器中,并由所述数据处理设备的处理器执行时实现如下步骤:
    获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址;
    若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
    若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链系统中进行网路地址的查询,其中,所述预先构建的区块链系统包括以区块存储的合法域名及对应的网路地址;
    若所述区块链系统中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端;
    若所述区块链系统中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端。
  11. 如权利要求10所述的电子设备,其中,所述网路地址包括IP地址、钱包地址及/或内存地址,其中所述内存地址通过指针进行区分。
  12. 如权利要求10所述的电子设备,其中,所述将所述域名输入至预先构建的区块链系统中进行网路地址的查询,包括:
    将所述网路地址存储在缓存管理模块中;
    将所述域名记录在区块链上,得到合法域名,并将所述合法域名以区块的形式存储至存储所述网络地址的缓存管理模块中;
    利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询。
  13. 如权利要求12所述的电子设备,其中,所述利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询,包括:
    获取所述缓存管理模块中所述合法域名的哈希值,根据所述合法域名的哈希值构建字典树;
    利用Tracker指令对所述建立的字典树进行遍历查询,得到所述合法域名对应的叶节点,其中,所述叶节点为合法域名地址的散列指针;
    根据所述叶节点的指向查询得到所述合法域名对应的网路地址,并将所述网路地址返回给上述客户端。
  14. 如权利要求10所述的电子设备,其中,所述将所述待访问的域名输入至域名解析服务器中进行网路地址的查询操作包括:
    利用所述域名解析服务器的转发解析器转发所述域名至所述域名解析服务器的递归解析器中,通过所述递归解析器对所述域名进行迭代分析,得到应答报文,其中,所述应答报文包括查询得到的网路地址,得到所述查询结果;
    其中,所述迭代分析包括:
    获取所述客户端的地址信息,根据所述地址信息计算出所述客户端的网络拓扑位置,根据所述网络拓扑位置解析出所述域名的应答报文。
  15. 如权利要求14所述的电子设备,其中,所述区块包括区块头和区块体,所述区块头包括域名生成时间、域名哈希及散列指针。
  16. 一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有域名智能解析程序,所述域名智能解析程序被一个或者多个处理器执行时实现如下步骤:
    获取客户端待访问的域名,在所述客户端的本地缓存中查找该域名对应的网路地址;
    若在所述客户端的本地缓存查找到所述网路地址,则从所述客户端的本地缓存中获取所述网路地址;
    若所述客户端的本地缓存没有查找到所述网路地址,则将所述域名输入至预先构建的区块链系统中进行网路地址的查询,其中,所述预先构建的区块链系统包括以区块存储的合法域名及对应的网路地址;
    若所述区块链系统中查询到了所述域名对应的网路地址,则将所述网路地址返回所述客户端;
    若所述区块链系统中没有查询到所述域名对应的网路地址,则将所述待访问的域名输入至域名解析服务器中进行网路地址的查询,并将得到的查询结果返回所述客户端。
  17. 如权利要求16所述的计算机可读存储介质,其中,所述网路地址包括IP地址、钱包地址及/或内存地址,其中所述内存地址通过指针进行区分。
  18. 如权利要求16所述的计算机可读存储介质,其中,所述将所述域名输入至预先构建的区块链系统中进行网路地址的查询,包括:
    将所述网路地址存储在缓存管理模块中;
    将所述域名记录在区块链上,得到合法域名,并将所述合法域名以区块的形式存储至存储所述网络地址的缓存管理模块中;
    利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询。
  19. 如权利要求18所述的计算机可读存储介质,其中,所述利用追踪管理模块对所述缓存管理模块中的合法域名进行网路地址查询,包括:
    获取所述缓存管理模块中所述合法域名的哈希值,根据所述合法域名的哈希值构建字典树;
    利用Tracker指令对所述建立的字典树进行遍历查询,得到所述合法域名对应的叶节点,其中,所述叶节点为合法域名地址的散列指针;
    根据所述叶节点的指向查询得到所述合法域名对应的网路地址,并将所述网路地址返回给上述客户端。
  20. 如权利要求16所述的计算机可读存储介质,其中,所述将所述待访问的域名输入至域名解析服务器中进行网路地址的查询操作包括:
    利用所述域名解析服务器的转发解析器转发所述域名至所述域名解析服务器的递归解析器中,通过所述递归解析器对所述域名进行迭代分析,得到应答报文,其中,所述应答报文包括查询得到的网路地址,得到所述查询结果;
    其中,所述迭代分析包括:
    获取所述客户端的地址信息,根据所述地址信息计算出所述客户端的网络拓扑位置,根据所述网络拓扑位置解析出所述域名的应答报文。
PCT/CN2020/099090 2020-03-17 2020-06-30 域名智能解析方法、装置、电子设备及计算机可读存储介质 WO2021184580A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010186678.9A CN111475704A (zh) 2020-03-17 2020-03-17 域名智能解析方法、装置及计算机可读存储介质
CN202010186678.9 2020-03-17

Publications (1)

Publication Number Publication Date
WO2021184580A1 true WO2021184580A1 (zh) 2021-09-23

Family

ID=71748255

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/099090 WO2021184580A1 (zh) 2020-03-17 2020-06-30 域名智能解析方法、装置、电子设备及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN111475704A (zh)
WO (1) WO2021184580A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112040022A (zh) * 2020-08-25 2020-12-04 成都安恒信息技术有限公司 一种dns缓存处理方法
CN112612816B (zh) * 2020-12-01 2023-06-30 网易(杭州)网络有限公司 以太坊联盟链的业务结果查询方法、装置、设备及介质
CN112653760B (zh) * 2020-12-22 2023-03-24 平安银行股份有限公司 跨服务器的文件传输方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
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 全链通有限公司 域名解析方法、设备、系统及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
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 全链通有限公司 域名解析方法、设备、系统及存储介质

Also Published As

Publication number Publication date
CN111475704A (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
US20200183932A1 (en) Optimizing write operations in object schema-based application programming interfaces (apis)
US7987509B2 (en) Generation of unique significant key from URL get/post content
US7895176B2 (en) Entry group tags
WO2021184580A1 (zh) 域名智能解析方法、装置、电子设备及计算机可读存储介质
US20070050331A1 (en) Priority based LDAP service publication mechanism
US7827280B2 (en) System and method for domain name filtering through the domain name system
CN103891247B (zh) 用于基于域名系统的设备和目标发现的方法和系统
US9697379B2 (en) Database virtualization
CN108090064A (zh) 一种数据查询方法、装置、数据存储服务器及系统
US20050216845A1 (en) Utilizing cookies by a search engine robot for document retrieval
CN101211340A (zh) 基于客户端/服务端结构的动态网络爬行器
US20150100563A1 (en) Method for retaining search engine optimization in a transferred website
US10171415B2 (en) Characterization of domain names based on changes of authoritative name servers
CN104253796B (zh) 域名系统中基于网络地址绑定区层级的快速区识别方法
CN113946587A (zh) 句柄标识解析缓存方法、查询方法及其句柄标识解析系统
US20090234858A1 (en) Use Of A Single Service Application Instance For Multiple Data Center Subscribers
US7689584B2 (en) Hybrid groups
US11799882B1 (en) Network endpoint identification through network fingerprint based entity resolution
Park et al. A Study on the Link Server Development Using B-Tree Structure in the Big Data Environment
US11947490B2 (en) Index generation and use with indeterminate ingestion patterns
CN115858590A (zh) 域名查询请求处理方法、计算机装置、设备、介质和产品
US20080059427A1 (en) Invoking actions on data via LDAP requests
CN111478984B (zh) 服务器ip地址获取方法、装置及计算机可读存储介质
CN116450596B (zh) 数字对象存储方法、装置、电子设备及可读存储介质
Mishra Inventions on LDAP-A Study Based on US Patents

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20925077

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20925077

Country of ref document: EP

Kind code of ref document: A1