[go: up one dir, main page]

CN118488034A - Domain name resolution method, device, server and storage medium - Google Patents

Domain name resolution method, device, server and storage medium Download PDF

Info

Publication number
CN118488034A
CN118488034A CN202310139690.8A CN202310139690A CN118488034A CN 118488034 A CN118488034 A CN 118488034A CN 202310139690 A CN202310139690 A CN 202310139690A CN 118488034 A CN118488034 A CN 118488034A
Authority
CN
China
Prior art keywords
domain name
server
address information
resolution
resolved
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
Application number
CN202310139690.8A
Other languages
Chinese (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
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 Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN202310139690.8A priority Critical patent/CN118488034A/en
Publication of CN118488034A publication Critical patent/CN118488034A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种域名解析方法、装置、服务器和存储介质,该方法包括:接收客户端对待解析域名的解析请求;根据所述解析请求,在第一区块链上查询与所述待解析域名对应的哈希值,并根据所述哈希值获取链下存储的所述待解析域名的地址信息将所述待解析域名的地址信息返回至所述客户端。该方法能够利用区块链实现去中心化,并且链上存储哈希值减少链上数据的大小,提高了待解析域名地址信息的查询效率。

The present application provides a domain name resolution method, device, server and storage medium, the method comprising: receiving a resolution request from a client for a domain name to be resolved; according to the resolution request, querying a hash value corresponding to the domain name to be resolved on a first blockchain, and obtaining the address information of the domain name to be resolved stored off-chain according to the hash value, and returning the address information of the domain name to be resolved to the client. The method can achieve decentralization by using blockchain, and the storage of hash values on the chain reduces the size of the data on the chain, thereby improving the query efficiency of the address information of the domain name to be resolved.

Description

Domain name resolution method, device, server and storage medium
Technical Field
The present application relates to the field of computer technology, and more particularly, to a domain name resolution method, apparatus, server, and storage medium in the field of computer technology.
Background
The domain name system is one of the key infrastructures of the internet, and provides mapping between domain names and complex internet protocol addresses (Internet Protocol Address, IP addresses) which are convenient to memorize, thereby promoting popularization and development of the internet.
In addition to providing basic user access to the internet, internet service providers typically also self-build Domain name systems (domains NAME SYSTEM, DNS) to provide Domain name resolution services to users. The traditional domain name system adopts a centralized hierarchical tree structure, completes domain name resolution by iterative query layer by layer, and jointly completes mapping from a certain domain name to an IP address through a series of servers with different functions. The namespace structure and the resolution dependency structure of the domain name system are both single root trees, which feature results in the root server being too much authoritative and the stability of the entire system being severely dependent on the centralized authoritative node.
The prior DNS system reconstruction scheme combining public chains and domain name resolution has the problems of heavy on-chain transactions and low efficiency of inquiring the address information of the domain name to be resolved.
Disclosure of Invention
The present application provides a domain name resolution method, apparatus, server and storage medium, which can implement decentralization using blockchain, and the hash value stored on the chain reduces the size of the data on the chain, and improves the query efficiency of the domain name address information to be resolved.
In a first aspect, a domain name resolution method is provided, the method comprising: receiving an analysis request of a client for a domain name to be analyzed; inquiring a hash value corresponding to the domain name to be resolved on the first blockchain according to the resolving request, and acquiring address information of the domain name to be resolved stored under the chain according to the hash value; and returning the address information of the domain name to be resolved to the client.
According to the technical scheme, the hash value corresponding to the domain name to be resolved is searched on the first blockchain according to the resolving request, then the data stored under the chain and corresponding to the hash value are acquired, the hash value is stored through the blockchain, address information is stored under the chain, namely the hash value is stored on the chain, the data corresponding to the hash value is stored under the chain, the decentralization can be realized, the size of the data stored on the chain can be reduced, the transaction on the chain is avoided, and the query efficiency of the address information of the domain name to be resolved is improved.
With reference to the first aspect, in some possible implementations, the hash value includes a first hash value and a second hash value; inquiring a hash value corresponding to the domain name to be resolved on the first blockchain according to the resolving request, and acquiring address information of the domain name to be resolved stored under the chain according to the hash value, wherein the method comprises the following steps: inquiring a first hash value corresponding to a domain name to be resolved on a first blockchain according to the resolving request, and acquiring address information of a secondary domain name server stored under the chain and corresponding to the first hash value; and according to the address information of the secondary domain name server, requesting the secondary domain name server to inquire a second hash value corresponding to the domain name to be resolved on the first blockchain, and acquiring the address information of the domain name to be resolved, which is stored under the chain and corresponds to the second hash value.
With reference to the first aspect and the foregoing implementation manners, in some possible implementation manners, the domain name resolution server includes: a recursion server, a top-level domain name server and a second-level domain name server; according to the resolution request, inquiring a first hash value corresponding to the domain name to be resolved on a first blockchain, and acquiring address information of a secondary domain name server stored under the chain and corresponding to the first hash value, wherein the method comprises the following steps: after receiving an resolution request of a domain name to be resolved from a client, the recursion server sends the resolution request to a top-level domain name server when a first preset condition is met; after the top-level domain name server receives the resolution request, inquiring a first hash value corresponding to the domain name to be resolved on a first blockchain, acquiring address information of a second-level domain name server stored under the chain and corresponding to the first hash value, and returning the address information of the second-level domain name server to the recursion server; requesting the second-level domain name server to inquire a second hash value corresponding to the domain name to be resolved on the first blockchain according to the address information of the second-level domain name server, and acquiring the address information of the domain name to be resolved, which is stored under the chain and corresponds to the second hash value, wherein the method comprises the following steps: the recursion server sends an analysis request to the secondary domain name server according to the address information of the secondary domain name server; after receiving the resolution request, the second-level domain name server queries a second hash value corresponding to the domain name to be resolved on the first blockchain, and acquires address information of the domain name to be resolved, which is stored under the chain and corresponds to the second hash value.
With reference to the first aspect and the foregoing implementation manner, in some possible implementation manners, the domain name resolution server further includes a root server, and the first preset condition includes: the recursion server receives the address information of the top-level domain name server returned by the root server.
With reference to the first aspect and the foregoing implementation manner, in some possible implementation manners, after receiving the resolution request, the recursion server sends the resolution request to a top-level domain name server when a first preset condition is satisfied, where the method includes: after receiving the analysis request, the recursion server sends the analysis request to the root analysis server when the second preset condition is met; after receiving the resolution request, the root resolution server inquires address information of a top-level domain name server corresponding to the domain name to be resolved on a second blockchain, and returns the address information of the top-level domain name server to the recursion server; and after receiving the address information of the top-level domain name server, the recursion server sends an analysis request to the top-level domain name server.
With reference to the first aspect and the foregoing implementation manner, in some possible implementation manners, the second preset condition includes: the recursive server does not store address information of the domain name to be resolved.
With reference to the first aspect and the foregoing implementation manner, in some possible implementation manners, the domain name resolution server is located in the first resolution system, obtains address information of a secondary domain name server corresponding to the first hash value stored under the chain, and returns the address information of the secondary domain name server to the recursive server, where the method includes: acquiring an NS record corresponding to the first hash value stored under the chain, and returning the NS record to the recursion server; wherein the NS record includes address information of a plurality of secondary domain name servers in the first resolution system; the recursion server sends an analysis request to the secondary domain name server according to the address information of the secondary domain name server, and the recursion server comprises: and the recursion server selects a target secondary domain name server from the plurality of secondary domain name servers according to the NS record and sends an analysis request to the target secondary domain name server.
With reference to the first aspect and the foregoing implementation manner, in some possible implementation manners, address information of a second-level domain name server capable of resolving the domain name to be resolved in the second resolution system is further added to the NS record.
In the technical scheme, the compatibility of the analysis services of the first analysis system and the second analysis system can be realized by adding the NS record, and the analysis efficiency is improved.
With reference to the first aspect and the foregoing implementation manner, in some possible implementation manners, the top-level domain name server is a server in a top-level domain resolution cluster, and the method further includes: when any top domain name server in the top domain analysis cluster monitors that the first file changes, synchronizing the changed first file to each top domain name server in the top domain analysis cluster; the first file comprises address information of a second-level domain name server corresponding to a domain name which can be resolved by each top-level domain name server in the top-level domain resolution cluster;
And/or the number of the groups of groups,
The second-level domain name server is a server in a second-level domain resolution cluster, and the method further comprises: when any one of the secondary domain name servers in the secondary domain analysis cluster monitors that the second file changes, synchronizing the changed second file to each secondary domain name server in the secondary domain analysis cluster; the second file comprises address information of domain names which can be resolved by each secondary domain name server in the secondary domain resolution cluster.
In the technical scheme, the second-level domain name server and the top-level domain name server are servers in the cluster and have a monitoring function, so that the synchronization of the first file and the second file after the change can be realized, the update of the files is realized, and the resolution accuracy is improved.
In the technical scheme, the file is updated by monitoring and synchronizing the changed file.
With reference to the first aspect and the foregoing implementation manners, in some possible implementation manners, the first blockchain employs a federated blockchain.
In the technical scheme, the first blockchain adopts the alliance blockchain, so that the problem that the existing public chain (unlicensed chain) scheme does not accord with the characteristic of domain name license addition is solved.
In summary, the application solves the problem that the prior public chain (unlicensed chain) scheme does not accord with the characteristic of domain name license addition by using the alliance blockchain, and simultaneously solves the problem that the efficiency of querying domain name address information to be resolved based on the blockchain is low by using the scheme of storing data under the hash chain of the hash value on the chain, thereby accelerating the querying speed, and the system can realize compatibility with the prior domain name resolution service and has higher operation efficiency by adding the NS record.
In a second aspect, there is provided a domain name resolution apparatus, the apparatus comprising: the receiving module is used for the client to analyze the domain name analysis request; the query module is used for querying a hash value corresponding to the domain name to be resolved on the first blockchain according to the resolution request, and acquiring address information of the domain name to be resolved stored under the chain according to the hash value; and the feedback module is used for returning the address information of the domain name to be resolved to the client.
With reference to the second aspect, in some possible implementations, the hash value includes a first hash value and a second hash value, and the query module is specifically configured to query, according to the resolution request, the first hash value corresponding to the domain name to be resolved on the first blockchain, and obtain address information of a secondary domain name server stored under the chain and corresponding to the first hash value; and according to the address information of the secondary domain name server, requesting the secondary domain name server to inquire a second hash value corresponding to the domain name to be resolved on the first blockchain, and acquiring the address information of the domain name to be resolved, which is stored under the chain and corresponds to the second hash value.
With reference to the second aspect and the foregoing implementation manner, in some possible implementation manners, the apparatus includes: a recursion server, a top-level domain name server and a second-level domain name server;
According to the resolution request, inquiring a first hash value corresponding to the domain name to be resolved on a first blockchain, and acquiring address information of a secondary domain name server stored under the chain and corresponding to the first hash value, wherein the method comprises the following steps: after receiving an resolution request of a domain name to be resolved from a client, the recursion server sends the resolution request to a top-level domain name server when a first preset condition is met; after the top-level domain name server receives the resolution request, inquiring a first hash value corresponding to the domain name to be resolved on a first blockchain, acquiring address information of a second-level domain name server stored under the chain and corresponding to the first hash value, and returning the address information of the second-level domain name server to the recursion server;
Requesting the second-level domain name server to inquire a second hash value corresponding to the domain name to be resolved on the first blockchain according to the address information of the second-level domain name server, and acquiring the address information of the domain name to be resolved, which is stored under the chain and corresponds to the second hash value, wherein the method comprises the following steps: the recursion server sends an analysis request to the secondary domain name server according to the address information of the secondary domain name server; after receiving the resolution request, the second-level domain name server queries a second hash value corresponding to the domain name to be resolved on the first blockchain, and acquires address information of the domain name to be resolved, which is stored under the chain and corresponds to the second hash value. With reference to the second aspect and the foregoing implementation manner, in some possible implementation manners, the apparatus further includes a third obtaining unit, and the first preset condition includes: and the recursion server receives the address information of the top-level domain name server returned by the third acquisition unit.
With reference to the second aspect and the foregoing implementation manner, in some possible implementation manners, the apparatus further includes a root server, and the first preset condition includes: the recursion server receives the address information of the top-level domain name server returned by the root server.
With reference to the second aspect and the foregoing implementation manner, in some possible implementation manners, after receiving the resolution request, the recursion server sends the resolution request to the top-level domain name server when the first preset condition is satisfied, where the steps include: after receiving the analysis request, the recursion server sends the analysis request to the root analysis server when the second preset condition is met; after receiving the resolution request, the root resolution server inquires address information of a top-level domain name server corresponding to the domain name to be resolved on a second blockchain, and returns the address information of the top-level domain name server to the recursion server; and after receiving the address information of the top-level domain name server, the recursion server sends an analysis request to the top-level domain name server.
With reference to the second aspect and the foregoing implementation manner, in some possible implementation manners, the second preset condition includes: the recursive server does not store address information of the domain name to be resolved.
With reference to the second aspect and the foregoing implementation manner, in some possible implementation manners, the apparatus is located in a first parsing system, obtains address information of a secondary domain name server corresponding to a first hash value stored under a chain, and returns the address information of the secondary domain name server to a recursive server, where the method includes: acquiring a server NS record corresponding to the first hash value stored under the chain, and returning the NS record to the recursion server; wherein the NS record includes address information of a plurality of secondary domain name servers in the first resolution system;
The recursion server sends an analysis request to the secondary domain name server according to the address information of the secondary domain name server, and the recursion server comprises: and the recursion server selects a target secondary domain name server from the plurality of secondary domain name servers according to the NS record and sends an analysis request to the target secondary domain name server.
With reference to the second aspect and the foregoing implementation manner, in some possible implementation manners, address information of a second-level domain name server capable of resolving the domain name to be resolved in the second resolution system is further added to the NS record.
With reference to the second aspect and the foregoing implementation manner, in some possible implementation manners, the top-level domain name server is a server in a top-level domain resolution cluster, and the apparatus further includes: and a synchronization module: when any top domain name server in the top domain analysis cluster monitors that the first file changes, the changed first file is synchronized to each top domain name server in the top domain analysis cluster; the first file comprises address information of a second-level domain name server corresponding to a domain name which can be resolved by each top-level domain name server in the top-level domain resolution cluster;
And/or the number of the groups of groups,
The secondary domain name server is a server in a secondary domain resolution cluster, and the device further comprises: and a synchronization module: when any one of the secondary domain name servers in the secondary domain analysis cluster monitors that the second file changes, synchronizing the changed second file to each secondary domain name server in the secondary domain analysis cluster; the second file comprises address information of domain names which can be resolved by each secondary domain name server in the secondary domain resolution cluster.
With reference to the second aspect and the foregoing implementation manner, in some possible implementation manners, the first blockchain employs a federated blockchain.
In a third aspect, a domain name resolution server is provided that includes a memory and a processor. The memory is for storing executable program code and the processor is for calling and running the executable program code from the memory such that the domain name resolution server performs the method of the first aspect or any of the possible implementations of the first aspect.
In a fourth aspect, there is provided a computer program product comprising: computer program code which, when run on a computer, causes the computer to perform the method of the first aspect or any one of the possible implementations of the first aspect.
In a fifth aspect, a computer readable storage medium is provided, the computer readable storage medium storing computer program code which, when run on a computer, causes the computer to perform the method of the first aspect or any one of the possible implementations of the first aspect.
Drawings
Fig. 1 is a schematic diagram of an application scenario provided in an embodiment of the present application.
Fig. 2 is a flow chart of a domain name resolution method according to an embodiment of the present application.
Fig. 3 is a flow chart of another domain name resolution method according to an embodiment of the present application.
Fig. 4 is a schematic diagram of another application scenario provided in an embodiment of the present application.
Fig. 5 is a flow chart of another domain name resolution method according to an embodiment of the present application.
Fig. 6 is a schematic diagram of another application scenario provided in the embodiment of the present application.
Fig. 7 is a schematic structural diagram of a domain name resolution device according to an embodiment of the present application.
Fig. 8 is a schematic structural diagram of a domain name resolution server according to an embodiment of the present application.
Detailed Description
The technical scheme of the application will be clearly and thoroughly described below with reference to the accompanying drawings. Wherein, in the description of the embodiments of the present application, unless otherwise indicated, "/" means or, for example, a/B may represent a or B: the text "and/or" is merely an association relation describing the associated object, and indicates that three relations may exist, for example, a and/or B may indicate: the three cases where a exists alone, a and B exist together, and B exists alone, and furthermore, in the description of the embodiments of the present application, "plural" means two or more than two.
The terms "first," "second," and the like, are used below for descriptive purposes only and are not to be construed as implying or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature.
Blockchain technology has the structural feature of decentralization and its data is separated from the data access rights. The system based on the block chain eliminates the security risk of the central node, and simultaneously, all operation processes of the user on the data are recorded, so that the security of the data is ensured. The block chain technology is applied to the domain name system, so that system data can be stored in a plurality of devices completely, and various safety problems caused by overlarge authority of a central node are solved. The decentralised domain name system of domain name coin Namecoin, block stack Blockstack, ethernet domain name service (Ethereum NAME SERVICE, ENS), etc. is implemented based on just the blockchain technology. The blockchain technology with the characteristics of decentralization, multiparty maintenance, difficult tampering and the like brings new research ideas for decentralization of a domain name system of the Internet.
In 2016 Mu Nibu a, ali Muneeb Ali et al proposed BlockStack, which is the first domain name system to run directly on top of the bitcoin blockchain, the system was initially run on top of Namecoin, and after a security crisis had occurred at Namecoin, the development team migrated the entire system to the bitcoin blockchain. BlockStack improves the problem that the bitcoin cannot store a large number of key values to data, proposes the design ideas of control and data separation, proposes the concept of virtual chains above bitcoin blockchains, and the underlying bitcoin blockchains are only used for the state and key values in the domain name system to agree on the integrity of the data records. However, the manner in which the bottom layer is completely hosted in the bitcoin results in that the stability of BlockStack system operation is completely dependent on the stability of the bitcoin blockchain, blockStack needs to share resources with other blockchain systems running on the bitcoin, and autonomous system concurrency adjustment cannot be achieved.
In 2016, brindan-houshof Brendan Benshoof et al proposed the D3NS system, D3NS being a completely decentralized domain name service running on a distributed hash table. DNS uses DNS records stored in a distributed manner on a distributed hash table, using blockchain and Namecoin simulations to manage domain name ownership. The D3NS signs and verifies the record using public and private key encryption. Based on the design, the D3NS greatly improves the safety protection degree of the traditional DNS architecture, the distributed architecture enables the system to have the capability of coping with single-point faults, and the backward compatibility of the DNS also greatly improves the expansibility of the system. However, this method does not completely solve the problem in the DNS authentication process, and the mechanism cannot ensure that the terminal node provides data to the client, which is likely to cause a data spoofing problem.
Compared with the current DNS system, the decentralized DNS system greatly reduces the complexity of domain name management, has better load balancing and fault tolerance, but also has the following problems: the domain name system based on the public chain can certainly make transactions on the public chain become bulkier, and meanwhile, the working efficiency of the whole system is affected. Based on the above, the embodiment of the application provides a novel domain name resolution method, which can realize compatibility with the past domain name resolution system, greatly reduce the size of data on a chain and improve the resolution efficiency.
Fig. 1 is a schematic diagram of an application scenario provided in an embodiment of the present application.
Illustratively, as shown in fig. 1, the application scenario 100 includes: the method for domain name resolution provided by the application can be applied to the scene, wherein the client 10, the domain name resolution server 20, the first blockchain 30 and the under-chain storage area 40 are provided.
Client 10: the client may also be referred to as a client, and refers to a program corresponding to a server, and providing local services for clients. Except for some applications that only run locally, they are typically installed on a common client and need to run in conjunction with the server.
Alternatively, the client 10 may include a notebook computer, a smart phone, a desktop computer, a tablet, etc., which is not limited by the embodiment of the present application.
The domain name resolution server 20 is used for managing domain names, and is typically composed of a plurality of DNS servers, and resolves domain names to a server where a website program is stored. The domain name resolution server is used for converting domain names into network IP addresses which can be identified by a computer, wherein one domain name corresponds to one IP address, and one address can correspond to a plurality of domain names; multiple domain names can be resolved to one IP address at the same time.
The Domain Name (english: domain Name), also called network Domain, is the Name of a computer or a computer group on the internet composed of a series of names separated by dots, and is used for locating and identifying the computer (sometimes referred to as geographic location) during data transmission.
Because the IP addresses have the defects of inconvenient memorization, inability to display names and properties of address organizations, and the like, people design domain names, and map the domain names and the IP addresses with each other through a DNS system, so that people can access the Internet more conveniently without memorizing the number strings of the IP addresses which can be directly read by a machine.
Illustratively, each domain name consists of a sequence of labels separated by a dot (") such as www.test.com., where the dot after com is referred to as the root, com is referred to as the top-level domain name, test is referred to as the second-level domain name, and www is referred to as the third-level domain name.
Further, top-level domain names can be divided into three major categories: country top-level domain names represent the domain names of countries and certain regions, such as ". Cn" represents china, ". Us" represents the united states, and. Uk "represents the united kingdom. Common top-level domain names, commonly known as ". Com" (company), ". Net" (network service organization), ". Org" (non-profit organization), and ". Gov" (national or government agency), etc. Infrastructure domain names, only one of which is arpa, are used for reverse domain name resolution, and are therefore also known as reverse domain names. The second-level domain name is a domain name below the top-level domain name.
First blockchain 30: a blockchain is a chain of blocks. Each block holds certain information which is linked in a chain according to the time sequence of their respective generation. The distributed account book is non-tamperable and non-counterfeitable, and the blockchain has two core characteristics: firstly, the data is difficult to tamper, and secondly, the data is decentralised.
The chain under memory area 40: the under-blockchain store refers to a storage area located under the blockchain, and the control of the under-chain storage area 40 belongs to a node, which may store a digest of data (i.e., a hash value in an embodiment of the present application) in a blockchain network, such as the first blockchain 30 in fig. 1, so that the node may have control over the under-chain storage area 40. Fig. 2 is a flow chart of a domain name resolution method according to an embodiment of the present application.
Illustratively, as shown in FIG. 2, the method 200 includes:
Step 201: and receiving an analysis request of the client to the domain name to be analyzed.
The domain name to be resolved may be a domain name resolved for the first time or a domain name resolved for a plurality of times, and the resolution request includes the domain name to be resolved.
Step 202: and inquiring a hash value corresponding to the domain name to be resolved on the first blockchain according to the resolving request, and acquiring address information of the domain name to be resolved stored under the chain according to the hash value.
The first blockchain may store a hash value corresponding to a domain name that can be resolved by the domain name resolution server 20 shown in fig. 1. The off-chain store may be an interplanetary file system (INTER PLANETARY FILE SYSTEM, IPFS) store and the address information of the domain name to be resolved stored off-chain may be distributed in IPFS. IPFS is a distributed file system that stores and accesses files, websites, applications, and data. The under-chain storage area 40 in FIG. 1 may include IPFS.
Step 203: and returning the address information of the domain name to be resolved to the client.
The address information of the domain name to be resolved is an IP address of the domain name to be resolved, one domain name corresponds to one IP address, and one IP address can correspond to a plurality of domain names.
For example, as shown in fig. 1, a user may input a domain name to be resolved through a browser of the client 10, the client 10 may send a resolution request to the domain name resolution server 20, after the domain name resolution server 20 receives the resolution request, obtain a hash value corresponding to the domain name to be resolved stored on the first blockchain 30 according to the resolution request, and obtain address information of the domain name to be resolved stored under the chain from the under-chain storage area 40 according to the hash value, and then the domain name resolution server 20 returns the address information of the domain name to be resolved to the client 10 for the user to surf the internet.
The method can realize decentralization by using the block chain, and the hash value stored on the chain reduces the size of data on the chain, thereby improving the query efficiency of the domain name address information to be resolved.
In one possible implementation, the hash value in step 202 includes a first hash value and a second hash value. This is described below with reference to fig. 3, and fig. 3 is a schematic flow chart of another domain name resolution method according to an embodiment of the present application.
Illustratively, as shown in FIG. 3, an implementation of step 202 in the method 300 may include:
Step 301: according to the resolution request, a first hash value corresponding to the domain name to be resolved is queried on the first blockchain, and address information of a secondary domain name server stored under the chain and corresponding to the first hash value is obtained.
The first blockchain 30 may be an authoritative blockchain, in which a first hash value is stored, and a first correspondence between the first hash value and a domain name to be resolved is stored, so that the first hash value corresponding to the domain name to be resolved can be queried through the domain name to be resolved and the first correspondence. The under-chain storage area 40 stores a top-level domain area file, and the top-level domain area file includes a second correspondence between the first hash value and address information of the second-level domain name server, so that address information of the second-level domain name server capable of resolving the domain name to be resolved can be found in the top-level domain area file according to the first hash value and the second correspondence.
In one possible implementation manner, the authoritative blockchain may be a federated blockchain, that is, the first blockchain adopts the federated blockchain, which is beneficial to avoiding the problem that the security of the blockchain architecture customized to adapt to domain name resolution cannot be guaranteed in the related art.
Step 302, according to the address information of the secondary domain name server, the secondary domain name server is requested to inquire a second hash value corresponding to the domain name to be resolved on the first blockchain, and the address information of the domain name to be resolved, stored under the chain, corresponding to the second hash value is obtained.
The first blockchain 30 also stores a third correspondence between the second hash value and the domain name to be resolved, so that the second hash value corresponding to the domain name to be resolved can be queried through the third correspondence between the domain name to be resolved and the third correspondence. The under-chain storage area 40 may further store a second domain area file, where the second domain area file includes a second hash value and address information of the domain name, that is, a fourth correspondence between IP addresses, so that the address information of the domain name to be resolved may be found in the second domain area file according to the second hash value and the fourth correspondence.
In the scheme, the alliance blockchain adopted by the authoritative blockchain solves the problem that the existing public chain (unlicensed chain) scheme does not accord with the characteristic of domain name license addition, and meanwhile, the scheme of storing data (the address information of the secondary domain name server and the address information of the domain name to be resolved) under IPFS of a hash value hash (the first hash value and the second hash value) on the chain solves the problem of low database query efficiency of the blockchain and accelerates the query speed.
In yet another possible implementation, the domain name resolution server 20 may include a recursive server 401, a top level domain server 402, and a secondary domain server 403, and the first blockchain 30 may be an authoritative blockchain. This will be described below with reference to fig. 4.
Fig. 4 is a schematic diagram of another application scenario provided in an embodiment of the present application.
As shown in fig. 4, in an exemplary embodiment, the application scenario 400 includes a client 10, a domain name resolution server 20, a first blockchain 30, and a second blockchain 405, where the domain name resolution server 20 specifically includes: a recursion server 401, a top-level domain name server 402, a secondary domain name server 403, and a root server 404.
When the client 10 initiates a request to access the internet, the corresponding resolution record is not obtained after various caches of the client are queried, and the resolution request can be initiated to the recursion server 401. The recursive server 401 may query whether the local cache thereof stores the address information of the domain name to be resolved according to the received resolution request, and if the local cache stores the address information of the domain name to be resolved, may directly return the address information of the domain name to be resolved to the client 10. If the address information of the domain name to be resolved is not stored locally in the recursion server 401, the recursion server 401 may replace the client 10 to perform primary recursion query on the root server 404, the top domain name server 402, the second domain name server 403, and the like, finally find the second domain name server corresponding to the domain name to be resolved, obtain the resolution result, return the resolution result to the client 10, and store the resolution record in a local cache. When the client 10 initiates the resolution request for the same domain name To be resolved again within the Time To Live (TTL value), the recursion server 401 may directly send the resolution result for the domain name To be resolved To the client 10 based on the locally cached resolution record, without initiating the resolution request To the root server 404, the top domain name server 402, and the secondary domain name server 403 again. Throughout the DNS query process, client 10 may be replaced by recursive server 401 for a recursive query except that a resolution request is initially initiated to recursive server 401.
The top level domain name server 402 is responsible for managing all secondary domain names registered with the top level domain name server. When the top-level domain name server 402 receives the resolution request of the recursive server 401, the address information of the second-level domain name server may be returned to the recursive server 401, so as to instruct the recursive server 401 to search for the corresponding second-level domain name server next.
The secondary domain name server 403 is responsible for managing all domain names registered with the secondary domain name server. When the second-level domain name server 403 receives the resolution request of the recursive server 401, address information corresponding to the domain name to be resolved may be returned.
The root server 404 is responsible for managing all domain names registered at the root server. When the root server 404 receives the resolution request of the recursive server 401, address information of a top-level domain name server corresponding to the domain name to be resolved may be returned.
The second blockchain 405 is a chain of blocks, and the second blockchain 405 may be referred to as a root blockchain. Each block stores a certain data file, which may be called a root zone file, for the root server to query.
In the embodiment of the present application, the specific implementation of steps 301 and 302 in fig. 3 may be shown in fig. 5, and this implementation is described below with reference to fig. 5 and 4:
Fig. 5 is a flow chart of another domain name resolution method according to an embodiment of the present application.
Illustratively, as shown in FIG. 5, steps 301 and 302 specifically include the steps of:
step 501: after receiving the resolution request of the domain name to be resolved from the client, the recursion server sends the resolution request to the top-level domain name server when the first preset condition is met.
The first preset condition can be set according to actual needs. In a possible implementation manner, the domain name resolution server further includes a root server, and the first preset condition includes: the recursion server receives the address information of the top-level domain name server returned by the root server. For example, the recursive server may send an resolution request to the top domain name server according to the address information of the top domain name server after receiving the address information of the top domain name server returned by the root server.
In another possible implementation manner, the first preset condition includes: the recursion server locally caches address information of a top-level domain name corresponding to the domain name to be resolved.
In a possible implementation manner, after receiving the resolution request, the recursion server sends the resolution request to the root resolution server when a second preset condition is met; after receiving the resolution request, the root resolution server inquires address information of a top-level domain name server corresponding to the domain name to be resolved on a second blockchain, and returns the address information of the top-level domain name server to the recursion server; and after receiving the address information of the top-level domain name server, the recursion server sends an analysis request to the top-level domain name server.
The second blockchain may be a root blockchain, and address information of all top-level domain name servers may be stored on the root blockchain. The second preset condition can be set according to actual needs.
In a possible implementation manner, the second preset condition includes: the recursive server does not store address information of the domain name to be resolved. That is, after receiving the resolution request, the recursive server may first locally query whether address information of the domain name to be resolved is stored, and if the recursive server does not store the address information of the domain name to be resolved, the recursive server sends the resolution request to the root resolution server.
In another possible implementation manner, the second preset condition includes: address information of the domain name to be resolved stored in the recursive server is wrong. Alternatively, after receiving the resolution request, the recursive server may directly send the resolution request to the root resolution server.
Illustratively, the resolution request received by the recursive server 401 and sent by the client 10 may be a first resolution request, where the first resolution request may include a domain name to be resolved. The resolution request sent by the recursion server 401 to the root server 404 may be a second resolution request, in which a domain name to be resolved may be included, or the second resolution request may include the domain name to be resolved and address information of the root server. The resolution request sent by the recursion server 401 to the top-level domain name server 402 may be a third resolution request, and the third resolution request may include a domain name to be resolved, or the third resolution request may include address information of the domain name to be resolved and the top-level domain name server.
For example, taking the domain name to be resolved as www.test.com. as an example, when the user requests to access the internet through input www.test.com in the browser address bar of the client 10 as shown in fig. 4, the client 10 initiates a first resolution request to the recursive server 401, where the first resolution request includes the domain name to be resolved www.test.com and address information of the root server, the recursive server 401 receives the first resolution request from the client 10, queries whether address information corresponding to the domain name to be resolved www.test.com is locally stored according to the first resolution request, directly returns stored address information to the client 10 if the address information is locally stored, and if the address information is not locally stored, the recursive server 401 initiates a second resolution request to the root server according to the address information of the root server, queries the root domain area file distributed on the root block chain according to the second resolution request, finds address information of the top domain name server 402 corresponding to the top domain name com, and returns the address information of the top domain name server 402 to the recursive server 401. The address information of the top domain name server 402 corresponding to the top domain name com is the address information of the top domain name server that can resolve the top domain name com. After receiving the address information of the top-level domain name server 402, the recursive server 401 transmits a third resolution request to the top-level domain name server 402.
The root domain area file stores address information of a top domain name server, and the top domain name server can analyze a top domain name in domain names which can be analyzed by the root server.
Step 502: after the top-level domain name server receives the resolution request, inquiring a first hash value corresponding to the domain name to be resolved on a first blockchain, acquiring address information of a second-level domain name server stored under the chain and corresponding to the first hash value, and returning the address information of the second-level domain name server to the recursion server.
Referring to fig. 4 and the above description, the resolution request received by the top-level domain name server 402 is a third resolution request, where the third resolution request may include a domain name to be resolved or the third resolution request may include address information of the domain name to be resolved and/or the top-level domain name server.
Illustratively, after receiving the third resolution request, the top-level domain name server 402 queries the hash value stored in the first blockchain 30 in a distributed manner according to the third resolution request, finds a first hash value corresponding to the second-level domain name test in the domain name www.test.com. to be resolved according to the domain name to be resolved and the first correspondence stored in the first blockchain 30, obtains address information of the second-level domain name server 403 stored under the chain and corresponding to the first hash value according to the first hash value and the second correspondence stored in the top-level domain zone file of the under-chain storage area 40, and returns the address information of the second-level domain name server 403 to the recursive server 401.
Step 503: and the recursion server sends an analysis request to the secondary domain name server according to the address information of the secondary domain name server.
Illustratively, referring to fig. 4 and the description above, the recursive server 401 initiates an resolution request to the secondary domain name server 403 according to the address information of the secondary domain name server 403 corresponding to the returned secondary domain name test.
The resolution request sent by the recursion server 401 to the secondary domain name server may be a fourth resolution request, where the fourth resolution request may include a domain name to be resolved or the fourth resolution request may include address information of the domain name to be resolved and the secondary domain name server.
Step 504: after receiving the resolution request, the second-level domain name server queries a second hash value corresponding to the domain name to be resolved on the first blockchain, and acquires address information of the domain name to be resolved, which is stored under the chain and corresponds to the second hash value.
Herein, referring to fig. 4 and the description above, the resolution request received by the second domain name server 403 is a fourth resolution request.
Illustratively, after receiving the fourth resolution request, the second-level domain name server 403 queries the hash value stored in the first blockchain 30 in a distributed manner according to the fourth resolution request, finds a second hash value corresponding to the second-level domain name www in the domain name www.test.com to be resolved according to the domain name to be resolved and the third correspondence stored in the first blockchain 30, obtains address information of the domain name to be resolved stored under the chain and corresponding to the second hash value according to the second hash value and the fourth correspondence stored in the second-level domain region file of the under-chain storage area 40, and returns the address information of the domain name to be resolved to the recursive server 401.
In one possible implementation manner, the domain name resolution server is located in the first resolution system, and the implementation manner of acquiring address information of the secondary domain name server corresponding to the first hash value stored under the chain and returning the address information of the secondary domain name server to the recursive server may be: the top-level domain name server acquires the NS record corresponding to the first hash value stored under the chain, and returns the NS record to the recursion server. Wherein the NS record includes address information of a plurality of secondary domain name servers in the first resolution system. For example, the NS record includes address information of a secondary domain name server capable of resolving the domain name to be resolved in the first resolving system. The implementation manner of the recursive server sending the resolution request to the secondary domain name server according to the address information of the secondary domain name server may be: and the recursion server selects a target secondary domain name server from the plurality of secondary domain name servers according to the NS record and sends an analysis request to the target secondary domain name server.
Illustratively, the top-level domain name server 402 in the domain name resolution server 20 obtains the NS record stored in the top-level domain area file of the under-chain storage area 40 according to the first hash value, and returns the NS record to the recursion server 401, where the NS record includes address information of a plurality of secondary domain name servers in the first resolution system, and the recursion server 401 randomly selects a target secondary domain name server from the plurality of secondary domain name servers according to the NS record, and sends a resolution request to the target secondary domain name server.
Or when the top-level domain name server 402 in the domain name resolution server 20 resolves a domain name similar to the domain name to be resolved, the recursive server 401 may select a secondary domain name server that resolves a domain name similar to the domain name to be resolved as the target secondary domain name server. For example, if the domain name www.example.test.com. is resolved by the secondary domain name server corresponding to one of the address information in the NS record of www.test.com. of the domain name to be resolved returned by the top-level domain name server 402, and if the www.example.test.com domain name is most similar to the domain name to be resolved, the recursive server 401 may select the secondary domain name server that is resolved by the domain name www.example.test.com as the target secondary domain name server, and send the resolution request to the target secondary domain name server.
In a possible implementation manner, address information of a secondary domain name server capable of resolving the domain name to be resolved in the second resolution system is further added in the NS record.
It should be understood that the domain name resolution server 20 is located in the first resolution system, i.e. the recursion server 401, the top level domain name server 402, the second level domain name server 403 are located in the first resolution system.
Illustratively, in compatible existing domain name resolution services, control may be achieved by setting NS records in the top-level domain. For example: the existing domain name resolution service is that in a second resolution system, the NS record of test.com is 111.111.111.111, in a first resolution system, the NS record of the domain name is 112.112.112.112, when the owner of the test.com domain name uses the domain name registration system corresponding to the first resolution system, 111.111.111 is added in the NS record, so that a top-level domain name server in the first resolution system can resolve data into a second-level domain name server in the second resolution system. For example, after receiving the NS record added with 111.111.111.111 returned by the top-level domain name server, the recursive server 401 may also select a secondary domain name server with an NS record of 111.111.111.111 in the second resolution system when selecting the target secondary domain name server.
It should be understood that the top domain zone file includes the NS record, where the NS record includes address information of a secondary domain name server capable of resolving a domain name to be resolved, and the top domain zone file also includes address information of a secondary domain name server capable of resolving other domain names.
In the scheme, the address information of the second-level domain name server capable of resolving the domain name to be resolved in the second resolution system is added in the NS record in the top-level domain, so that the existing domain name resolution service is compatible, and the resolution efficiency is improved.
In a possible implementation manner, the recursive server, the root server, the top domain name server and the second domain name server in the present application are all servers in a cluster, as shown in fig. 6, there may be one or more resolution nodes in each resolution cluster, and each resolution node may be a server, for example, the recursive resolution node 1 may be a recursive server, the root resolution node 1 may be a root server, the top domain resolution node 1 may be a top domain name server, and the second domain resolution node 1 may be a second domain name server.
Fig. 6 is a schematic diagram of another application scenario provided in an embodiment of the present application.
Exemplary, as shown in fig. 6, the application scenario 600 includes: recursively resolved clusters 601, root domain resolved clusters 602, top level domain resolved clusters 603, and secondary domain resolved clusters 604, second blockchain 405 of distributed storage, first blockchain 30 of distributed storage, and under-chain storage area 40 of distributed storage.
Clustering refers to the process of centralizing a plurality of servers together to perform the same service, and the client looks like only one server. The cluster can use a plurality of computers to perform parallel computation so as to obtain high computation speed, and can also use a plurality of computers to perform backup, so that any machine breaks the whole system or can normally operate.
It should be understood that the recursive server in the present application is any one of the recursive resolution clusters 601, the root server is any one of the root domain resolution clusters 602, the top domain name server is any one of the top domain resolution clusters 603, and the secondary domain name server is any one of the secondary domain resolution clusters 604.
In a possible implementation manner, the top-level domain name server is a server in a top-level domain resolution cluster, and when any one of the top-level domain name servers in the top-level domain resolution cluster monitors that the first file changes, the changed first file is synchronized to each top-level domain name server in the top-level domain resolution cluster; the first file comprises address information of a second-level domain name server corresponding to a domain name which can be resolved by each top-level domain name server in the top-level domain resolution cluster; and/or the second-level domain name server is a server in the second-level domain analysis cluster, and when any one of the second-level domain name servers in the second-level domain analysis cluster monitors that the second file changes, the changed second file is synchronized to each second-level domain name server in the second-level domain analysis cluster; the second file comprises address information of domain names which can be resolved by each secondary domain name server in the secondary domain resolution cluster.
The first file may be the top-level domain area file, and the second file may be the second-level domain area file, where the changes of the first file and the second file include adding, modifying, deleting, and the like. The embodiment of the present application is not limited thereto.
Specifically, the address information of the secondary domain name server included in the first file may be understood as: the top-level domain name servers in the top-level domain resolution cluster can resolve the address information of the second-level domain name servers corresponding to the domain names.
Assuming that the domain name resolvable by each top-level domain name server is the target domain name, the address information of the second-level domain name server corresponding to the domain name resolvable by each top-level domain name server can be understood as: and the address information of a secondary domain name server capable of resolving the target domain name in the first resolving system. For example, the top-level domain resolution cluster includes: the system comprises a first top-level domain name server and a second top-level domain name server, wherein the domain name which can be resolved by the first top-level domain name server comprises: aaa.com, bbb.com, and ccc.com, each domain name corresponds to at least one secondary domain name server that can resolve the domain name. Assume that the domain name resolvable by the second top level domain name server includes: ddd.com, eee.com, each domain name corresponds to at least one secondary domain name server that can resolve the domain name. In the above case, the first file includes address information of all the two-level domain name servers that can resolve the domain names aaa.com, bbb.com, ccc.com, ddd.com, eee.com.
Specifically, the address information of the domain name included in the second file may be understood as: address information of domain names that each secondary domain name server in the secondary domain resolution cluster can resolve.
Assuming that the domain name resolvable by each of the above-mentioned two-level domain name servers is taken as the target domain name, the address information of the domain name resolvable by each of the two-level domain name servers can be understood as: address information of a target domain name which can be resolved in the first resolving system. For example, the secondary domain resolution cluster includes: the method comprises the steps of a first secondary domain name server, a second secondary domain name server and a third secondary domain name server, wherein a domain name which can be resolved by the first secondary domain name server comprises: the aaa.com and ccc.com each correspond to an IP address (i.e., address information of a domain name), the domain name that the second level domain name server can resolve includes bbb.com, ddd.com each correspond to an IP address (i.e., address information of a domain name), the domain name that the third level domain name server can resolve includes eee.com each correspond to an IP address (i.e., address information of a domain name), in which case the IP addresses of the domain names aaa.com, bbb.com, ccc.com, ddd.com, eee.com (i.e., address information including the domain names aaa.com, bbb.com, ccc.com, ddd.com, eee.com) are included in the second file.
Illustratively, as shown in fig. 6, all or part of the resolution nodes in the top-level domain resolution cluster 603 may correspond to a client that is responsible for listening for changes in the first file (top-level domain zone file) and synchronizing the changed top-level domain zone file to each resolution node in the top-level domain resolution cluster 603. That is, the resolution nodes in the top-level domain resolution cluster 603 may have a listening function, so that the top-level domain zone file with the change can be synchronized to each resolution node in the top-level domain resolution cluster 603.
Illustratively, as shown in FIG. 6, all or a portion of the resolution nodes in the secondary domain resolution cluster 604 may correspond to a client that is responsible for listening for changes to the second file (the secondary domain zone file) and synchronizing the changed secondary domain zone file to each resolution node in the secondary domain resolution cluster 604. That is, the resolution nodes in the secondary domain resolution cluster 604 may all have a listening function, so that the changed secondary domain zone file can be synchronized to each resolution node in the secondary domain resolution cluster 604.
For example, as shown in fig. 6, the resolution nodes in the top domain resolution cluster 603 and the second domain resolution cluster 604 may both have a listening function, so that the changed second domain region file can be synchronized to each resolution node in the second domain resolution cluster 604 at the same time, and the changed top domain region file can be synchronized to each resolution node in the top domain resolution cluster 603.
According to the technical scheme, the change of the secondary domain area file and the top domain area file is monitored and synchronized, so that the resolution accuracy is improved.
In summary, the application solves the problem that the prior public chain (unlicensed chain) scheme does not accord with the characteristic of domain name license addition by using the alliance blockchain, and simultaneously solves the problem of low database query efficiency of the blockchain by using the scheme of storing data under IPFS of the hash chain on the chain, thereby accelerating the query speed, and the system can realize compatibility with the prior domain name resolution service and has higher resolution efficiency by adding the NS record.
Fig. 7 is a schematic structural diagram of a domain name resolution device according to an embodiment of the present application.
Illustratively, as shown in FIG. 7, the apparatus 700 includes:
A receiving module 701, configured to receive an resolution request of a client for a domain name to be resolved;
The query module 702 is configured to query a hash value corresponding to a domain name to be resolved on a first blockchain according to a resolution request, and obtain address information of the domain name to be resolved stored under the chain according to the hash value;
and the feedback module 703 is configured to return the address information of the domain name to be resolved to the client.
In one possible implementation, the query module 702 is specifically configured to: inquiring a first hash value corresponding to a domain name to be resolved on a first blockchain according to the resolving request, and acquiring address information of a secondary domain name server stored under the chain and corresponding to the first hash value; and according to the address information of the secondary domain name server, requesting the secondary domain name server to inquire a second hash value corresponding to the domain name to be resolved on the first blockchain, and acquiring the address information of the domain name to be resolved, which is stored under the chain and corresponds to the second hash value.
Wherein the first blockchain employs a federated blockchain.
Optionally, the apparatus further comprises: a recursion server, a top-level domain name server and a second-level domain name server;
the recursion server is used for sending an analysis request to the top-level domain name server when the first preset condition is met after receiving the analysis request of the domain name to be analyzed from the client;
The top-level domain name server is used for inquiring a first hash value corresponding to the domain name to be resolved on the first blockchain after receiving the resolution request, acquiring address information of a second-level domain name server stored under the chain and corresponding to the first hash value, and returning the address information of the second-level domain name server to the recursion server;
The recursion server is also used for sending an analysis request to the secondary domain name server according to the address information of the secondary domain name server;
And the second-level domain name server is used for inquiring a second hash value corresponding to the domain name to be resolved on the first blockchain after receiving the resolving request and acquiring address information of the domain name to be resolved, which is stored under the chain and corresponds to the second hash value. In a possible implementation manner, the receiving module 701 is further configured to receive address information of a top-level domain name server returned by the root server.
Optionally, the device further includes a root server, and the first preset condition includes: the recursion server receives the address information of the top-level domain name server returned by the root server.
In a possible implementation manner, the recursion server is further configured to send an parsing request to the root parsing server when the second preset condition is met after receiving the parsing request;
The root server is used for inquiring the address information of the top-level domain name server corresponding to the domain name to be resolved on the second blockchain after receiving the resolution request, and returning the address information of the top-level domain name server to the recursion server;
Wherein the second preset condition includes: the recursive server does not store address information of the domain name to be resolved.
In another possible implementation manner, the device is located in the first parsing system, obtains address information of a secondary domain name server corresponding to the first hash value stored under the chain, and returns the address information of the secondary domain name server to the recursion server, where the method includes: acquiring an NS record corresponding to the first hash value stored under the chain, and returning the NS record to the recursion server; wherein the NS record includes address information of a plurality of secondary domain name servers in the first resolution system;
The recursion server sends an analysis request to the secondary domain name server according to the address information of the secondary domain name server, and the recursion server comprises: and the recursion server selects a target secondary domain name server from the plurality of secondary domain name servers according to the NS record and sends an analysis request to the target secondary domain name server.
Optionally, address information of a second-level domain name server capable of resolving the domain name to be resolved in the second resolving system is further added in the NS record.
In yet another possible implementation manner, the top-level domain name server is a server in a top-level domain resolution cluster, and the apparatus further includes: the synchronization module is used for synchronizing the changed first file to each top domain name server in the top domain analysis cluster when any top domain name server in the top domain analysis cluster monitors that the first file is changed; the first file comprises address information of a second-level domain name server corresponding to a domain name which can be resolved by each top-level domain name server in the top-level domain resolution cluster;
And/or the number of the groups of groups,
The secondary domain name server is a server in a secondary domain resolution cluster, and the device further comprises: and a synchronization module: when any one of the secondary domain name servers in the secondary domain analysis cluster monitors that the second file changes, synchronizing the changed second file to each secondary domain name server in the secondary domain analysis cluster; the second file comprises address information of domain names which can be resolved by each secondary domain name server in the secondary domain resolution cluster.
Fig. 8 is a schematic structural diagram of a domain name resolution server according to an embodiment of the present application.
Illustratively, as shown in FIG. 8, the domain name resolution server 800 includes: a memory 801 and a processor 802, wherein the memory 801 stores executable program code 8011, and the processor 802 is configured to invoke and execute the executable program code 8011 to perform a domain name resolution method.
In this embodiment, the domain name resolution server may be divided into functional modules according to the above method example, for example, each functional module may be corresponding to a domain name resolution server, or two or more functions may be integrated into one processing module, where the integrated modules may be implemented in a hardware form. It should be noted that, in this embodiment, the division of the modules is schematic, only one logic function is divided, and another division manner may be implemented in actual implementation.
In the case of dividing each function module with corresponding each function, the domain name resolution server may include: a receiving module, a query module, a feedback module and the like. It should be noted that, all relevant contents of each step related to the above method embodiment may be cited to the functional description of the corresponding functional module, which is not described herein.
The domain name resolution server provided in this embodiment is configured to execute the domain name resolution method, so that the same effects as those of the implementation method can be achieved.
In case of an integrated unit, the domain name resolution server may comprise a processing module, a storage module. The processing module can be used for controlling and managing the actions of the domain name resolution server. The storage module may be used to support the domain name resolution server to execute inter-program code and data, etc.
Wherein a processing module may be a processor or controller that may implement or execute the various illustrative logical blocks, modules, and circuits described in connection with the present disclosure. A processor may also be a combination of computing functions, including for example one or more microprocessors, digital Signal Processing (DSP) and microprocessor combinations, etc., and a memory module may be a memory.
The present embodiment also provides a computer-readable storage medium having stored therein computer program code which, when run on a computer, causes the computer to perform the above-described related method steps to implement a domain name resolution method in the above-described embodiments.
The present embodiment also provides a computer program product which, when run on a computer, causes the computer to perform the above-described related steps to implement a domain name resolution method in the above-described embodiments.
The domain name resolution server, the computer readable storage medium, the computer program product or the chip provided in this embodiment are used to execute the corresponding method provided above, so that the advantages achieved by the method can refer to the advantages in the corresponding method provided above, and will not be described herein.
It will be appreciated by those skilled in the art that, for convenience and brevity of description, only the above-described division of the functional modules is illustrated, and in practical application, the above-described functional allocation may be performed by different functional modules according to needs, i.e. the internal structure of the apparatus is divided into different functional modules to perform all or part of the functions described above.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of modules or units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another apparatus, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The foregoing is merely illustrative of the present application, and the present application is not limited thereto, and any person skilled in the art will readily recognize that variations or substitutions are within the scope of the present application. Therefore, the protection scope of the application is subject to the protection scope of the claims.

Claims (10)

1. A domain name resolution method, wherein the method is applied to a domain name resolution server, the method comprising:
receiving an analysis request of a client for a domain name to be analyzed;
inquiring a hash value corresponding to the domain name to be resolved on a first blockchain according to the resolving request, and acquiring address information of the domain name to be resolved, which is stored under the chain, according to the hash value;
and returning the address information of the domain name to be resolved to the client.
2. The method of claim 1, wherein the hash value comprises a first hash value and a second hash value; inquiring a hash value corresponding to the domain name to be resolved on a first blockchain according to the resolving request, and acquiring address information of the domain name to be resolved stored under the chain according to the hash value, wherein the method comprises the following steps:
Inquiring the first hash value corresponding to the domain name to be resolved on a first blockchain according to the resolving request, and acquiring address information of a secondary domain name server stored under the chain and corresponding to the first hash value;
Requesting the secondary domain name server to inquire a second hash value corresponding to the domain name to be resolved on the first blockchain according to the address information of the secondary domain name server, and acquiring the address information of the domain name to be resolved, which is stored under the chain and corresponds to the second hash value.
3. The method of claim 2, wherein the domain name resolution server comprises: a recursion server, a top-level domain name server and a second-level domain name server;
Querying the first hash value corresponding to the domain name to be resolved on a first blockchain according to the resolution request, and acquiring address information of a secondary domain name server corresponding to the first hash value stored under the chain, wherein the method comprises the following steps:
After receiving an resolution request of a domain name to be resolved from a client, the recursion server sends the resolution request to the top-level domain name server when a first preset condition is met;
after the top-level domain name server receives the resolution request, inquiring a first hash value corresponding to the domain name to be resolved on the first blockchain, acquiring address information of a secondary domain name server stored under the chain and corresponding to the first hash value, and returning the address information of the secondary domain name server to the recursion server;
Requesting the secondary domain name server to query a second hash value corresponding to the domain name to be resolved on the first blockchain according to the address information of the secondary domain name server, and acquiring the address information of the domain name to be resolved, which is stored under the chain and corresponds to the second hash value, wherein the method comprises the following steps:
the recursion server sends the resolution request to the secondary domain name server according to the address information of the secondary domain name server;
after the second-level domain name server receives the resolution request, inquiring a second hash value corresponding to the domain name to be resolved on the first blockchain, and acquiring address information of the domain name to be resolved, which is stored under the chain and corresponds to the second hash value.
4. The method of claim 3, wherein the domain name resolution server further comprises a root server, and wherein the first preset condition comprises: and the recursion server receives the address information of the top-level domain name server returned by the root server.
5. The method of claim 4, wherein the recursion server, upon receiving the resolution request, sends the resolution request to the top-level domain name server when a first preset condition is satisfied, comprising:
After receiving the analysis request, the recursion server sends the analysis request to the root analysis server when a second preset condition is met;
after receiving the resolution request, the root resolution server queries address information of a top-level domain name server corresponding to the domain name to be resolved on a second blockchain, and returns the address information of the top-level domain name server to the recursion server;
And the recursion server sends the resolution request to the top-level domain name server after receiving the address information of the top-level domain name server.
6. The method of claim 5, wherein the second preset condition comprises: and the recursion server does not store the address information of the domain name to be resolved.
7. A method according to claim 3, wherein the domain name resolution server is located in a first resolution system, the obtaining address information of a secondary domain name server corresponding to the first hash value stored under the chain, and returning the address information of the secondary domain name server to the recursive server, comprises:
Acquiring an NS record corresponding to the first hash value stored under a chain, and returning the NS record to the recursion server; wherein the NS record includes address information of a plurality of the secondary domain name servers in the first resolution system;
The recursion server sends the resolution request to the secondary domain name server according to the address information of the secondary domain name server, and the resolution request comprises the following steps:
And the recursion server selects a target secondary domain name server from the plurality of secondary domain name servers according to the NS record, and sends the resolution request to the target secondary domain name server.
8. A domain name resolution device, the device comprising:
The receiving module is used for the client to analyze the domain name analysis request;
the query module is used for querying a hash value corresponding to the domain name to be resolved on a first blockchain according to the resolution request, and acquiring address information of the domain name to be resolved, which is stored under the chain, according to the hash value;
and the feedback module is used for returning the address information of the domain name to be resolved to the client.
9. A domain name resolution server, comprising:
A memory for storing program instructions;
a processor for invoking program instructions stored in said memory to perform the method of any of claims 1-10 in accordance with the obtained program.
10. A computer storage medium having stored thereon computer executable instructions for causing the computer to perform the method of any one of claims 1 to 10.
CN202310139690.8A 2023-02-13 2023-02-13 Domain name resolution method, device, server and storage medium Pending CN118488034A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310139690.8A CN118488034A (en) 2023-02-13 2023-02-13 Domain name resolution method, device, server and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310139690.8A CN118488034A (en) 2023-02-13 2023-02-13 Domain name resolution method, device, server and storage medium

Publications (1)

Publication Number Publication Date
CN118488034A true CN118488034A (en) 2024-08-13

Family

ID=92195393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310139690.8A Pending CN118488034A (en) 2023-02-13 2023-02-13 Domain name resolution method, device, server and storage medium

Country Status (1)

Country Link
CN (1) CN118488034A (en)

Similar Documents

Publication Publication Date Title
CN107613041B (en) Domain name management system, domain name management method and domain name resolution method based on block chain
US11632353B2 (en) Delegating DNS records to additional providers
CN105959433B (en) A kind of domain name analytic method and its domain name analysis system
CN108064444B (en) A blockchain-based domain name resolution system
CN108370391B (en) Shared multi-tenant Domain Name System (DNS) server for virtual networks
WO2019165665A1 (en) Domain name resolution method, server and system
US11474992B2 (en) Domain name registration and management
US7761552B2 (en) Root node for integrating NAS of different user name spaces
US20030088656A1 (en) Directory server software architecture
CN111917896B (en) A credible domain name resolution method, system, electronic device and storage medium
WO2007035580A2 (en) Providing local access to managed content
US20070271393A1 (en) System and Methods for Domain Name Acquisition and Management
CN103685590A (en) Method and system for obtaining IP (internet protocol) address
CN109495604A (en) A kind of method of general domain name mapping
CN112134967B (en) A method and device for domain name resolution based on co-governance chain
CN106973125A (en) Domain name mapping implementation method and device
US8996484B2 (en) Recursive lock-and-propagate operation
JP2015076892A (en) Characterization of domain names based on changes in authoritative name servers
US8572201B2 (en) System and method for providing a directory service network
CN113742783A (en) Domain name data processing method and device, server and storage medium
CN118488034A (en) Domain name resolution method, device, server and storage medium
US11558343B2 (en) Method and apparatus for resolving domain name based on co-governance chain
US7711853B2 (en) Resolving names to network endpoints
CN101662510A (en) Network naming mechanism and name analytic mapping system
US9922031B2 (en) System and method for efficient directory performance using non-persistent storage

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