Domain name resolution method, device, electronic device and storage medium

Direct domain name resolution is performed through the database of the public network server, which solves the problem of the internal network requiring self-built domain name servers, reduces operation and maintenance costs and improves analysis efficiency, and is suitable for domain name management in large-scale environments.

CN115801727BActive Publication Date: 2025-01-03TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111062234.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-10
Publication Date
2025-01-03
Estimated Expiration
2041-09-10

AI Technical Summary

Technical Problem

In the prior art, each internal network needs to build a domain name server on its own to provide domain name resolution services, resulting in increased network operation and maintenance complexity and cost, especially in large-scale environments.

Method used

The database of the public network server is used to record the domain name information and IP addresses of each internal network, and the domain name resolution is performed directly through the database to avoid building a domain name server within each internal network. The public network server is used to process the domain name resolution request and feedback the target IP address.

Benefits of technology

It reduces network construction and operation and maintenance costs, improves the efficiency of domain name resolution, and realizes domain name resolution management in large-scale environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115801727B_ABST
    Figure CN115801727B_ABST
Patent Text Reader

Abstract

The present application discloses a domain name resolution method, device, electronic device and storage medium, and relates to the field of Internet technology. The method comprises: a public network server receives a domain name resolution request sent by a first object, wherein the domain name resolution request carries target domain name information. Since the database corresponding to the public network server records: at least one domain name information and an associated IP address corresponding to each internal network established in the public network, the public network server can directly obtain the target IP address associated with the target domain name information based on the target domain name information and the mapping relationship between the domain name and the IP address preset for each internal network in the database, and return the target IP address to the first object, thereby eliminating the need to build a domain name server in each internal network, thereby effectively reducing the network construction cost and the network operation and maintenance cost, and on the other hand, effectively improving the resolution efficiency of resolving the target domain name information.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] With the advancement of science and technology, Internet technology has developed rapidly. In Internet technology, domain name resolution technology is an important basis for accessing sites or resources. The so-called domain name resolution technology refers to a conversion technology between domain names and Internet Protocol (IP) addresses; for example, the domain name "example.com" entered by the client is resolved to the corresponding IP address "1.1.1.1", and then the client can use the IP address to access the website corresponding to the domain name.

[0003] In the related technology, each object can apply to register an internal network in a public network environment. Each internal network is configured with at least one domain name server (Domain Name Server, DNS) to provide domain name resolution services for specific business domain names in the corresponding internal network. Specifically, before providing domain name resolution services, each domain name server needs to configure the mapping relationship between the corresponding business domain names and IP addresses on the domain name server in advance. In this way, when the domain name server receives a resolution request, it will convert the business domain name and IP address based on the configured mapping relationship.

[0004] However, based on the above approach, for different business domain names, each internal network needs to build a corresponding domain name server to provide domain name resolution services, which increases the complexity of network operation and maintenance to a certain extent, increases the network operation and maintenance costs, and is not conducive to domain name resolution management in a large-scale environment. Summary of the invention

[0005] Embodiments of the present application provide a domain name resolution method, device, electronic device, and storage medium for reducing network operation and maintenance costs.

[0006] On the one hand, a domain name resolution method is provided, which is applied to a public network server, and the method includes:

[0007] Receive a domain name resolution request sent by the first object, wherein the domain name resolution request carries target domain name information;

[0008] Based on the target domain name information, searching in a database whether there is a target IP address associated with the target domain name information, wherein the database records: at least one domain name information and an associated IP address corresponding to each internal network established in the public network;

[0009] When it is determined that the target IP address exists in the database, the target IP address is fed back to the first object.

[0010] On the one hand, a domain name resolution device is provided, which is applied to a public network server, and the device includes:

[0011] A receiving unit, configured to receive a domain name resolution request sent by a first object, wherein the domain name resolution request carries target domain name information;

[0012] A processing unit, configured to search in a database whether there is a target IP address associated with the target domain name information based on the target domain name information, wherein the database records: at least one domain name information and an associated IP address corresponding to each internal network established in the public network;

[0013] A feedback unit is used to feed back the target IP address to the first object when it is determined that the target IP address exists in the database.

[0014] Optionally, after receiving the domain name resolution request, the processing unit is further configured to:

[0015] For a preset time period, counting the cumulative number of other domain name resolution requests carrying the target domain name information received;

[0016] If it is determined that the accumulated number of times corresponding to the preset time period reaches a set threshold, a prompt message is sent to the first object, where the prompt message is used to prompt the first object to perform a repeatability check on the interface address.

[0017] On the one hand, an electronic device is provided, comprising a processor and a memory, wherein the memory stores a program code, and when the program code is executed by the processor, the processor executes the above-mentioned domain name resolution method.

[0018] In one aspect, a computer program product or a computer program is provided, the computer program product or the computer program comprising computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the electronic device performs the above-mentioned domain name resolution method.

[0019] An embodiment of the present application provides a computer-readable storage medium, which includes a program code. When the program product is run on an electronic device, the program code is used to enable the electronic device to execute the steps of any one of the above-mentioned domain name resolution methods.

[0020] The beneficial effects of this application are as follows:

[0021] The domain name resolution method, device, electronic device and storage medium provided in the embodiments of the present application have records in the database corresponding to the public network server: at least one domain name information and an associated IP address corresponding to each internal network established in the public network. Therefore, the public network server can directly obtain the target IP address associated with the target domain name information and return the target IP address to the first object, thereby eliminating the need to build a domain name server in each internal network, thereby reducing the construction and maintenance of the domain name server, and effectively reducing the network construction cost and network operation and maintenance cost.

[0022] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are only the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0024] Figure 1 A schematic diagram of a domain name resolution in the related art;

[0025] Figure 2 An optional schematic diagram of an application scenario in an embodiment of the present application;

[0026] Figure 3 A schematic diagram of a method for determining a database in an embodiment of the present application;

[0027] Figure 4 A schematic diagram of the association and storage of the identifier and interface address of an object in an embodiment of the present application;

[0028] Figure 5 Another schematic diagram of the association and storage of the identifier and interface address of an object in an embodiment of the present application;

[0029] Figure 6 A schematic diagram of a database including a first binding relationship in an embodiment of the present application;

[0030] Figure 7 A schematic diagram of a display interface for configuring domain name configuration information in an embodiment of the present application;

[0031] Figure 8is a schematic diagram of a database including a second binding relationship in an embodiment of the present application;

[0032] Fig. 9 is a schematic diagram of a complete database including a first binding relationship and a second binding relationship in an embodiment of the present application;

[0033] Fig.10 A schematic diagram of a domain name resolution scenario in an embodiment of the present application;

[0034] Fig.11A A schematic diagram of a method flow of a domain name resolution method in an embodiment of the present application;

[0035] Fig. 11B This is a schematic diagram showing the cumulative number of times in an embodiment of the present application;

[0036] Fig. 11C This is a schematic diagram showing prompt information in an embodiment of the present application;

[0037] Fig.12 A schematic diagram of a complete method flow of domain name resolution in an embodiment of the present application;

[0038] Fig.13 A schematic diagram of the structure of a domain name resolution device in an embodiment of the present application;

[0039] Fig.14 A schematic diagram of the hardware structure of an electronic device in an embodiment of the present application. DETAILED DESCRIPTION

[0040] In order to make the purpose, technical scheme and advantages of the present application clearer, the technical scheme in the embodiment of the present application will be clearly and completely described below in conjunction with the drawings in the embodiment of the present application. Obviously, the described embodiment is only a part of the embodiment of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application. In the absence of conflict, the embodiments in the present application and the features in the embodiments can be combined with each other arbitrarily. In addition, although the logical order is shown in the flow chart, in some cases, the steps shown or described can be performed in an order different from that here.

[0041] To facilitate understanding of the technical solutions provided in the embodiments of the present application, some key terms used in the embodiments of the present application are explained here:

[0042] 1. Internal network: The internal network can also be called intranet or local area network, which accesses the Internet through a public gateway. The coverage of the intranet is generally within a radius of several thousand meters. It is easy to install, cost-saving, and easy to expand, making it widely used in various offices.

[0043] 2. Public network: The public network is generally relative to the intranet. Specifically, the Internet Protocol (IP) address obtained by the computer accessing the Internet based on the intranet is a reserved address on the Internet, that is, the intranet generally accesses the Internet through a public gateway; and the IP address obtained by the computer accessing the Internet based on the public network is the public address of the Internet, that is, the computer on the public network and other computers on the Internet can access each other at will.

[0044] 3. Public cloud: generally refers to the cloud provided by a third-party provider for users to use. The public cloud can generally be used through the Internet. The core attribute of the public cloud is shared resource services.

[0045] 4. Private network: Private network generally refers to Virtual Private Cloud (VPC), which is a private network on a public cloud, that is, a user-defined network. For example, users can customize private network segments, subnet segments, and routing control policies through the console or application programming interface (API), and can further divide the network into multiple subnets and deploy applications and services in the subnets. In addition, the private network can be configured with a public network gateway to access the Internet.

[0046] 5. Hosts: generally refers to a system file, whose function is to establish a "database" of associations between some commonly used URL domain names and their corresponding IP addresses.

[0047] 6. Domain name: Domain name, also known as network domain, is generally the name of a computer or computer group on the Internet composed of a string of names separated by dots, and is used to locate and identify the computer during data transmission.

[0048] 7. IP address: generally refers to the Internet Protocol address or Internet Protocol address. Specifically, the IP address is a unified address format provided by the IP protocol. It assigns a logical address to each network and each host on the Internet to shield the differences in physical addresses.

[0049] Currently, see Figure 1 As shown, Figure 1This is a schematic diagram of each internal network resolving a domain name in a public network environment in the related technology. Specifically, each internal network needs to build at least one corresponding domain name server by itself, and then set each business domain name and each IP address corresponding to each business domain name in the domain name server, so that when receiving the domain name information carried in the domain name resolution request, it can be resolved through the domain name server to obtain the IP address corresponding to the domain name information.

[0050] For example, the internal network 1 builds a domain name server 1 by itself, and then configures the domain name of business A, such as "xxx.zzzzz.com", and the IP address corresponding to the domain name of business A on the domain name server 1. The object 1 corresponding to the internal network 1 sends a domain name resolution request for the domain name of business A to the domain name server 1, and then the domain name server 1 can determine whether there is an IP address corresponding to the domain name of business A in the domain name server 1 based on the domain name information carried in the domain name resolution request. When the domain name server 1 determines that there is an IP address corresponding to the domain name of business A, it will feedback the IP address to the object 1 corresponding to the internal network 1.

[0051] When the domain name server 1 determines that there is no IP address corresponding to the domain name of service A, it can first initiate a request to the root domain name server to inquire what the domain name server address of ".com" is. Then the root server returns that there are so many top-level domain name servers "a to m" containing ".com". Therefore, the domain name server 1 initiates a request based on any of the multiple top-level domain name servers including the domain name information in the information returned by the root server, such as the top-level domain name server a, to inquire what the domain name server address of "zzzzz.com" is. Then the top-level domain name server returns to the domain name server 1 that there are "s1 to s4" authoritative domain name servers for "zzzzz.com". Then the domain name server 1 initiates a request to one of the authoritative domain name servers, such as the s1 domain name server, to inquire what the resolution value of "xxx.zzzzz.com" is. The authoritative domain name server returns the domain name "fffff". Further, based on the aforementioned query sequence from the domain name server 1 to the root domain name server and then to the authoritative domain name server, the resolution value of "fffff" is queried until the IP address is queried, and then the object 1 can obtain the IP address sent by the domain name server 1.

[0052] In view of this, in an embodiment of the present application, a new system architecture for resolving domain names is provided, in which a domain name resolution server corresponding to each internal network is no longer set, but the IP address corresponding to the domain name is determined based on the database corresponding to the public network server. Specifically, in the database corresponding to the public network server, there are records of at least one domain name information and an associated IP address corresponding to each internal network established in the public network. Therefore, the public network server can perform domain name resolution based on the database and the domain name, thereby obtaining the IP address corresponding to the domain name. That is, the network construction cost and the network operation and maintenance cost are effectively reduced, and the resolution efficiency of resolving domain names is effectively improved. In addition, the overall management of domain name resolution corresponding to multiple internal networks can be achieved in a large-scale environment including multiple internal networks.

[0053] After introducing the design ideas of the embodiments of the present application, the following briefly introduces the application scenarios to which the technical solutions of the embodiments of the present application can be applied. It should be noted that the application scenarios introduced below are only used to illustrate the embodiments of the present application and are not limited. In the specific implementation process, the technical solutions provided by the embodiments of the present application can be flexibly applied according to actual needs.

[0054] The solution provided in the embodiment of the present application can be applied to most domain name resolution scenarios. Figure 2 As shown, a scenario diagram provided in an embodiment of the present application may include multiple terminal devices 201 and a public network server 202, wherein terminal device 201-1, terminal device 201-2, ..., terminal 101-n may be used by different users.

[0055] And, in the embodiment of the present application, the user can log in to the account that has been applied for registration in the public network on the terminal device 201, and send a domain name resolution request to the public network server 202 through the terminal device after logging in. Specifically, the network corresponding to the terminal device 201 used by the user can be understood as an internal network, and the internal network can be implemented in many ways, for example: the network of the office connected to the terminal device 201 used by the user, the network of the home connected to the terminal device 201 used by the user, or the private cloud network connected to the terminal device 201 used by the user, which is the network that the user has applied for in the public network using the corresponding account. The aforementioned account can be a personal account or a company account, which is not limited in the embodiment of the present application.

[0056] In the following text, "account" may be described as "object", for example, first object, second object, etc., but it should be noted that "first object" and "second object", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein.

[0057] The terminal device 201 may be, for example, a mobile phone, a tablet computer (PAD), a personal computer (PC), a smart TV, a smart vehicle device, a wearable device, etc. Each terminal device 101 may include one or more processors 2011, a memory 2012, and an I / O interface 2013 for interacting with a server.

[0058] In an embodiment of the present application, the public network server 202 may be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), as well as big data and artificial intelligence platforms, but is not limited to this.

[0059] For example, each user can log in to the account he has applied for registration in the public network on the terminal device 201, and send a domain name resolution request to the public network server 202. Similarly, the public network server 202 will process the domain name resolution request sent by each object. For example: object A sends a domain name resolution request to the public network server 202 through the terminal device 201-1, then the public network server 202 will process the domain name resolution request and feedback the IP address corresponding to the domain name information carried in the domain name resolution request to object A.

[0060] Among them, the terminal device 201 and the public network server 202, as well as the terminal devices 101, can be directly or indirectly connected to each other through one or more networks 203. The network 203 can be a wired network or a wireless network, for example, the wireless network can be a mobile cellular network, or a wireless fidelity (Wireless-Fidelity, WIFI) network, and of course, it can also be other possible networks, which are not limited in the embodiments of the present application.

[0061] Of course, the method provided in the embodiment of the present application is not limited to Figure 2 The application scenarios shown can also be used in other possible application scenarios, and the embodiments of the present application are not limited thereto. Figure 2The functions that can be implemented by each device in the application scenario shown will be described in the subsequent method embodiments, and will not be described in detail here.

[0062] In the embodiment of the present application, a database is provided in the public network server, and each object can apply to the public network server to establish an association relationship, and the association relationship established by the public network server for each object is recorded in the database.

[0063] Specifically, in an embodiment of the present application, each object that sends a domain name resolution request to a public network server can be referred to as a first object, and each object that applies to the public network server to establish an association relationship in the preprocessing stage can be referred to as a second object; after applying to establish an association relationship, each second object can also send a domain name resolution request to the public network server as a first object, and other objects other than the second objects that have not established an association relationship in the public network can also send a domain name resolution request to the public network server as a first object.

[0064] See also Figure 3 As shown, in the embodiment of the present application, a second object is taken as an example to introduce the process of establishing a database, and the specific process is as follows:

[0065] Step 301: receiving an association relationship establishment request sent by a second object, wherein the second object has requested to establish a corresponding internal network in a public network.

[0066] Specifically, when it is determined that the second object has requested to establish a corresponding internal network in the public network, the second object may send an association establishment request to the public network server, and the association establishment request carries at least an identifier of the second object.

[0067] Step 302: Based on the association relationship establishment request, a corresponding interface address is assigned to the second object, a corresponding domain name resolution instance is created for the second object, and a corresponding instance identifier is generated; wherein the domain name resolution instance is used to resolve the domain name information corresponding to the internal network requested to be established by the second object.

[0068] In an embodiment of the present application, a public network server can assign a corresponding interface address to the second object, and then the second object can send a domain name resolution request to the public network server based on the interface address assigned to it by the public network server, so that the public network server can process the domain name resolution request sent by the second object; or, other first objects can obtain the corresponding interface address from the second object, and then send a domain name resolution request to the public network server, so that the public network server can process the domain name resolution request sent by the first object.

[0069] The interface address may be an elastic public IP address (Elastic IP Address, EIP), of course, or other addresses, which is not limited in the embodiments of the present application.

[0070] Specifically, when the public network server receives a request to establish an association relationship sent by the second object, the public network server can determine whether the request to establish an association relationship is legal. When it is determined that the request to establish an association relationship is legal, the public network server can allocate a corresponding interface address to the second object based on the request to establish an association relationship and the resource pool corresponding to the public network server; and, when the second object applies to cancel the association relationship, the public network server can reclaim the interface address.

[0071] In addition, when distributing and reclaiming the interface address of the second object, the public network server can bind the identifier and interface address of the second object and store them in the database corresponding to the public network server. It should be noted that the representation of the identifier of the object can include but is not limited to characters, Chinese characters, graphics or other languages, which is not limited in the embodiments of the present application.

[0072] In the related art, the hosts file only includes the domain name and its corresponding IP address, for example, see Table 1, which is a storage schematic table of the hosts file in the related art:

[0073] Table 1

[0074] domain name IP address www.example1.com 192.168.0.100 bbb.qq.com 192.168.100.100、201.201.203.204、10.10.10.13 xxx.example2.com 222.22.101.103、148.148.148.101、103.104.10.77

[0075] In the implementation of the present application, the identifier of the second object and the address allocated to the second object may be stored in a table in correspondence, for example, as shown in Table 2, which is a storage schematic table in the present application:

[0076] Table 2

[0077] The identifier of the second object Interface address ID_a 134.158.11.13 ID_c 22.22.22.22 ID_f 10.134.156.11

[0078] Based on Table 2, it can be seen that in the present application, an identifier of a second object can be stored in association with an interface address.

[0079] For example, if the identifier of the second object A is determined to be ID_a, and the interface address successfully allocated to the second object A is represented as IP_a, an array of approximately (ID_a, IP_a) can be obtained and stored in the database.

[0080] For example, see Figure 4 As shown, the database includes the second object 1 and its corresponding interface address 1, the second object 2 and its corresponding interface address 2, ..., the second object n1 and its corresponding interface address n1, wherein n1 is a positive integer greater than 1.

[0081] In an embodiment of the present application, a public network server may assign an interface address to a second object, and the second object may also assign the interface address to other objects associated therewith, so that other objects may implement domain name resolution processing based on the interface address.

[0082] For example, the identifier of the second object, the identifier of the sub-object of the second object, and the address allocated to the second object are stored correspondingly, for example, see Table 3, which is another storage schematic table in the present application:

[0083] Table 3

[0084] The identifier of the second object The identifier of the child object of the second object Interface address ID_a ID_a-1 134.158.11.13 ID_c ID_c-1, ID_c-2 22.22.22.22 ID_f ID_f-1, ID_f-2..., ID_f-n 10.134.156.11

[0085] For example, see Figure 5 As shown, the database includes the second object 1 and its corresponding interface address 1, the second object 2 and its corresponding interface address 1, ..., the second object n1 and its corresponding interface address n1. The second object 1 can send its corresponding interface address 1 to the sub-object 1-01 of the second object 1, the sub-object 1-02 of the second object 1, ..., the sub-object 1-0m1 of the second object 1; the second object n1 can send its corresponding interface address n1 to the sub-object n1-01 of the second object n1, the sub-object n1-02 of the second object n1, and m1 and n1 are both positive integers greater than 1.

[0086] In an embodiment of the present application, the public network server can also be used to create a corresponding domain name resolution instance for the second object and generate a corresponding instance identifier; wherein the domain name resolution instance is used to resolve the domain name information corresponding to the internal network requested to be established by the second object.

[0087] Specifically, the instance identifier can be an identifier containing relevant characters with the identifier of the object. For example, if the identifier of the object is represented as: ID_w, then the instance identifier can be represented as: Cloud_HostsID_W. Of course, the instance identifier can also be determined based on other identification methods, and the identifier can be English letters, numbers and other characters, which is not limited in the embodiments of the present application.

[0088] Step 303: associate and bind the interface address corresponding to the second object with the instance identifier, determine a first binding relationship, and store the first binding relationship in a database.

[0089] Specifically, the public network server may associate and bind the interface address corresponding to the second object with the instance identifier, determine the first binding relationship, and store the first binding relationship in the database.

[0090] It can be seen that after obtaining the interface address corresponding to the second object, the instance identifier can be determined based on the interface address, so that the domain name resolution instance can be called. Such identifier-based association triggering can determine the corresponding instance more simply and quickly.

[0091] Specifically, the public network server may store the first binding relationships corresponding to all objects applying to establish association relationships in a database. To facilitate database management, the instance identifier and interface address in any first binding relationship may be stored in the database in an array.

[0092] For example, the first binding relationship of the first item can be expressed as (IP_c, Cloud_HostsID_C), and the second first binding relationship can be expressed as (IP_t, Cloud_HostsID_T), which is then saved in the database as: IP_c, Cloud_HostsID_C); (IP_t, Cloud_HostsID_T).

[0093] For example, see Figure 6 As shown, the database includes a first binding relationship 1 corresponding to the second object 1, a first binding relationship 2 corresponding to the second object 2, ..., and a first binding relationship n2 corresponding to the second object n2. Among them, the first binding relationship 1 is a relationship determined by binding the interface address 1 and the instance identifier 1, the first binding relationship 2 is a relationship determined by binding the interface address 2 and the instance identifier 2, and the first binding relationship n2 is a relationship determined by binding the interface address n2 and the instance identifier n2, and n2 is a positive integer greater than 1.

[0094] Step 304: Receive the domain name configuration information sent by the second object, where the domain name configuration information at least includes at least one domain name information corresponding to the corresponding internal network and an IP address associated with each domain name information.

[0095] Specifically, after determining the first binding relationship, the public network server may also receive the domain name configuration information sent by the second object, and then associate and bind the instance identifier corresponding to the second object with the domain name configuration information, determine the second binding relationship, and store the second binding relationship in the database.

[0096] Specifically, the second object can select the domain name configuration information on the terminal device, so that the public network server can receive the domain name configuration information sent by the second object. It should be noted that the selection method can be single-click, double-click or other methods, which is not limited in the embodiments of the present application.

[0097] In the embodiment of the present application, the second object can configure the IP address of its corresponding DNS as the interface address assigned to it, and then select the domain name configuration information on the terminal device. Specifically, the resolution record to be resolved can be selected first, such as www.IN.A.192.168.0.1, www.IN.A.168.168.0.1, and ccc.IN.A.10.101.10.10, and then the corresponding domain name information can be determined, such as qq.com.

[0098] It should be noted that in the embodiment of the present application, the second object can configure multiple IP addresses for one domain name, or multiple domain names for one IP address, and the present application does not limit this. Figure 7 As shown, Figure 7 A schematic diagram of an interface for selecting domain name configuration information is shown as an example in an embodiment of the present application. When a user sets domain name configuration information on a terminal device, the user can choose to manually enter domain name information on the terminal device, or select default configured domain name information from preset domain name candidates. The terminal device will determine the domain name information included in the domain name configuration information based on the user's operation.

[0099] like Figure 7 As shown, when the user sets the domain name configuration information on the terminal device, the user can choose to manually enter "xxx.zzzzzz.com" on the terminal device, or select the default configuration "xxx.zzzwsz.com" from the preset domain name candidates, namely "xxx.zzzwsz.com, ..., xxx.zzsopz.com".

[0100] In addition, for the IP address corresponding to the domain name information contained in the domain name configuration information, the user can choose to manually enter the IP address on the terminal device, or select the default configured IP address from the preset IP address candidates. The terminal device will configure the domain name based on the user's operation.

[0101] like Figure 7 As shown, when the user sets the domain name configuration information on the terminal device, the user can choose to manually enter "11.11.34.222" on the terminal device, or select the default configuration "11.11.20.221" from the preset IP address candidates, namely "11.11.20.221, ..., 11.11.13.146".

[0102] Exemplarily, the domain name configuration information may also include, but is not limited to, the following information: weight, record type, and available status information.

[0103] Among them, the record types may include but are not limited to address records (Address, A) records, domain name server records (Name Server, NS), mail exchanger records (Mail Exchanger, MX) and alias records (Canonical Name, CNAME). Specifically, the A record is used to specify the IP address record corresponding to the host name (or domain name), that is, the A record is the IP address corresponding to the specified domain name; the domain name server record is used to specify which DNS server will resolve the domain name, that is, to specify which DNS server will resolve the domain name; the mail exchange record points to a mail server, which is used by the email system to locate the mail server according to the recipient's address suffix when sending mail; the alias record allows multiple domain names to be mapped to the same computer.

[0104] Specifically, the weight is used to represent the strategy of the number of records returned for the same subdomain, which is mainly used to achieve the dynamic balancing of the load corresponding to each IP address. The value of the weight is generally a positive integer greater than 1, for example: the weight value is 1-100.

[0105] For example, if the same domain name corresponds to two IP addresses, namely the first IP address and the second IP address, if the weight corresponding to the first IP address corresponding to the domain name is 1, and the weight corresponding to the second IP address corresponding to the domain name is 10, then when a domain name resolution request for the domain name is received, if the first IP address was returned last time, the second IP address will be returned for the subsequent 10 domain name resolution requests for the domain name, and when the domain name resolution request for the domain name is received again after the second IP address is determined to be fed back 10 times, the first IP address will be returned. In other words, when a domain name resolution request for the domain name is received, the two IP addresses are fed back cyclically based on the weight, so as to ensure that the load corresponding to each IP address is balanced as much as possible.

[0106] Furthermore, the information on the weight, record type and available status in the domain name configuration information can be selected and determined by the user from the corresponding candidate items, which will not be described in detail here.

[0107] It should be noted that Figure 7 This is an exemplary interface display diagram. In a specific implementation, the display method of the functional modules of each configuration information in the domain name configuration information can be determined based on the actual implementation situation. For example, it can be displayed in horizontal rows, or the module graphics of each functional module can be different, etc., which is not limited in the embodiments of the present application.

[0108] It should be noted that in the embodiment of the present application, in the domain name configuration information bound to an interface address, each domain name information is different, that is, each domain name information in the domain name configuration information is unique, but each domain name information may correspond to multiple IP addresses. In other words, the domain name configuration information may include at least one domain name information, and each domain name information may correspond to multiple IP addresses.

[0109] In addition, in an embodiment of the present application, the domain name configuration information can also be updated based on the user's operation. Specifically, the user can update it at any time through the terminal device based on actual needs, or an update prompt can be sent to the terminal device based on a preset time interval, so that the user updates the domain name configuration information through the terminal device. The preset time interval can be flexibly configured based on the actual application environment, for example, one week, 1 month, etc., which is not limited in the embodiment of the present application.

[0110] Step 305: associate and bind the instance identifier corresponding to the second object with the domain name configuration information, determine a second binding relationship, and store the second binding relationship in a database.

[0111] Specifically, after the public network server provides the interface address for the second object, it can also associate and bind the domain name configuration information and the instance identifier determined by the second object itself, thereby determining the second binding relationship.

[0112] By adopting the above configuration method, the second object can customize the required domain name configuration information, thereby meeting the actual use requirements of the second object.

[0113] In the embodiment of the present application, after the domain name configuration information and the instance identifier corresponding to the second object are determined, the second binding relationship can be correspondingly determined.

[0114] For example, the second binding relationship can be expressed as: (Str_A, Cloud_HostsID_A, example.com INA1.1.1.1, 0, -1); wherein, "Str_A" is used to represent the identifier of the second object A; "Cloud_HostsID_A" is used to represent the instance identifier of the second object A; in "example.com 10IN A1.1.1.1", "example.com" is used to represent the sample domain name, "10" is used to represent that if the resolution of "example.com" is received 101 times, the IP address "1.1.1.1" is returned 10 times, "IN" is used to represent that the fixed format of the record is the record type, that is, the type of feedback to the object sending the domain name resolution request is the feedback IP address, and the sample IP address corresponding to the sample domain name "1.1.1.1", "0" is used to represent the status information of whether the domain name configuration information is available, and "-1" is used to represent whether the sample domain name is in a locked state, that is, the domain name configuration information cannot be changed by other personnel except the person who configured it.

[0115] For example, see Figure 8 As shown, the database includes a second binding relationship 1 corresponding to the second object 1, a second binding relationship 2 corresponding to the second object 2, ..., and a second binding relationship n3 corresponding to the second object n3. Among them, the second binding relationship 1 is a relationship determined by binding the domain name configuration information 1 and the instance identifier 1, the second binding relationship 2 is a relationship determined by binding the domain name configuration information 2 and the instance identifier 2, and the second binding relationship n3 is a relationship determined by binding the domain name configuration information n3 and the instance identifier n3, and n3 is a positive integer greater than 1.

[0116] The above embodiment is only introduced by taking one second object as an example. In actual application, each second object can establish a corresponding first binding relationship and a second binding relationship and save them in the database. The aggregation of the data corresponding to the first binding relationship and the second binding relationship forms a mapping relationship between each domain name information and each IP address set in the database.

[0117] In an embodiment of the present application, the first binding relationship and the second binding relationship may be stored in a table correspondingly, for example, as shown in Table 4, which is a complete storage schematic table in the present application:

[0118] Table 4

[0119]

[0120] It can be seen that in the embodiment of the present application, an array including the identifier of the second object, the interface address, the cloud hosts instance identifier and the domain name configuration information can be formed into a table and stored in the database.

[0121] For example, see Fig. 9 As shown, Fig. 9 Schematic diagram of a complete database in an embodiment of the present application. The complete database includes the first binding relationship 1 and the second binding relationship 1 corresponding to the second object 1, the first binding relationship 2 and the second binding relationship 2 corresponding to the second object 2, ..., and the first binding relationship n4 and the second binding relationship n4 corresponding to the second object n, wherein n4 is a positive integer greater than 1.

[0122] See also Fig.10 As shown, Fig.10 This is a system architecture diagram of a domain name resolution shown in an embodiment of the present application. That is, when any object triggers a domain name resolution service request based on a terminal device using a corresponding internal network, the public network server can process the domain name resolution server request sent by each object based on the terminal device, and feedback the corresponding IP address to each object.

[0123] It can be seen that the embodiment of the present application provides a new system architecture for resolving domain names. In this system architecture, each internal network is no longer required to have its own corresponding domain name resolution server. Instead, the IP address corresponding to the domain name is determined based on the database corresponding to the public network server.

[0124] Specifically, the database corresponding to the public network server records at least one domain name information and associated IP address corresponding to each internal network established in the public network. Therefore, the public network server can perform domain name resolution based on the database and the domain name to obtain the IP address corresponding to the domain name. This effectively reduces the network construction cost and network operation and maintenance cost, and effectively improves the resolution efficiency of domain name resolution. In addition, it can also achieve overall management of domain name resolution corresponding to multiple internal networks in a large-scale environment including multiple internal networks.

[0125] In the embodiments of this application, see Fig.11A As shown, Fig.11A A schematic diagram of the process of a method for domain name resolution provided in an embodiment of the present application. Specifically, the method can be executed by the aforementioned public network server, and includes the following steps:

[0126] Step 1101: Receive a domain name resolution request sent by a first object, where the domain name resolution request carries target domain name information.

[0127] In an embodiment of the present application, a public network server may receive a domain name resolution request sent by a first object, wherein the domain name resolution request carries target domain name information. Specifically, the first object may be any object that has established a corresponding internal network in the public network. In addition, the domain name resolution request may also carry a corresponding interface address, wherein the interface address may be the interface address assigned by the public network server to the first object, or the interface address assigned by the public network server to other second objects, and the first object may obtain the corresponding interface address.

[0128] Step 1102: Based on the target domain name information, search in the database whether there is a target IP address associated with the target domain name information, and the database records: at least one domain name information and an associated IP address corresponding to each internal network established in the public network.

[0129] Optionally, in an embodiment of the present application, when the public network server determines that the database also records: each domain name configuration information at least includes at least one domain name information corresponding to the corresponding internal network, the IP address associated with each domain name information, and information on the available status, after the public network server receives the domain name resolution request sent by the first object, before executing step 1102, it can further query the database whether there is domain name configuration information in an available state, and when it is determined that there is domain name configuration information in an available state, start executing step 1102.

[0130] For example, the database records: domain name configuration information 1 including available status information, domain name configuration information 2 including available status information, ..., domain name configuration information n5 including available status information. After receiving the domain name resolution request sent by the first object, the public network server can query the database for the specific status of the available status information in domain name configuration information 1 including available status information, domain name configuration information 2 including available status information, ..., and domain name configuration information n5 including available status information. If it is determined that the value corresponding to the available status information in domain name configuration information 2 is 0, indicating that domain name configuration information 2 is in an available state, the public network server can search the database for whether there is a target IP address associated with the target domain name information.

[0131] In other words, when it is determined that there is domain name configuration information in an available state, the public network server can start to search the database for a target IP address associated with the target domain name information. In this way, it can be determined that the domain name configuration information is available, so that effective domain name resolution processing can be performed.

[0132] In the embodiment of the present application, when executing step 1102, the public network server can search in the database whether there is a target IP address associated with the target domain name information based on the target domain name information; wherein the database can be based on the aforementioned Figure 3 The database created by the method.

[0133] Exemplarily, the specific process of the public network server searching the database for a target IP address associated with the target domain name information may be: based on the target interface address carried in the domain name resolution request and the first binding relationship, determining the target instance identifier associated with the target interface address; then based on the target instance identifier, calling the corresponding target domain name resolution instance to search the database for a target IP address associated with the target domain name information.

[0134] For example, see Figure 8 As shown, assuming that the target interface address carried in the domain name resolution request is interface address 1, and the first binding relationship is the binding of interface address 1 with instance identifier 1, the public network server can determine that the target instance identifier associated with the target interface address is instance identifier 1, and then based on the target instance identifier, that is, instance identifier 1, call the target domain name resolution instance corresponding to instance identifier 1, and search the database for the target IP address associated with the target domain name information.

[0135] Specifically, when the public network server calls the target domain name resolution instance corresponding to instance identifier 1 and searches the database for the target IP address associated with the target domain name information, the public network server can determine the domain name configuration information corresponding to the target instance identifier associated with the target interface address based on the second binding relationship. The public network server can then determine the target IP address associated with the target domain name information based on the domain name configuration information and the target domain name information.

[0136] For example, the target instance identifier "Cloud_HostsID_2w" associated with the target interface address can determine the corresponding target IP address as "11.123.13.46" based on the second binding relationship.

[0137] It can be seen that in the embodiment of the present application, the target instance identifier associated with the target interface address can be determined based on the first binding relationship pre-stored in the database, so that the corresponding target domain name resolution instance can be called based on the target instance identifier, and based on the second binding relationship, the database can be searched to see whether there is a target IP address associated with the target domain name information.

[0138] On the other hand, in an embodiment of the present application, when it is determined that there is no domain name configuration information in an available state, the public network server can forward the domain name resolution request to the domain name server associated with the target domain name information based on a preset forwarding strategy, so that the domain name server recursively resolves the domain name resolution request based on the preset forwarding strategy, obtains another target IP address, and feeds back the other target IP address to the first object; wherein the domain name server is set in the public network.

[0139] Specifically, when the public network server determines that there is no domain name configuration information in an available state, it can first forward the aforementioned domain name resolution request to the root domain name server, and then receive the information of the top-level domain name server returned by the root server, so that the public network server sends the aforementioned domain name resolution request to the top-level domain name server again, and receives the information of the authoritative domain name server returned by the top-level domain name server. Then, based on the information of the authoritative domain name server returned by the top-level domain name server, the public network server sends the aforementioned domain name resolution request to the authoritative domain name server again, and the authoritative domain name server receives the aforementioned domain name resolution request, performs corresponding domain name resolution processing, and returns the resolution value.

[0140] If the public network server determines that the obtained resolution value does not conform to the preset IP format, it can obtain a new resolution value again based on the same method until another target IP address that conforms to the above preset IP format is queried, and then the public network server can return the obtained other target IP address to the first object.

[0141] For example, if the target domain name information is "sss.vvvv.com", the public network server can send the target domain name information to the root domain name server, top-level domain name server and authoritative domain name server associated with the domain name information until the public network server determines that the resolution value fed back by the authoritative domain name server conforms to the preset IP format, so that the public network server can obtain "11.156.36.12" and feed back "11.156.36.12" to the first object.

[0142] It can be seen that in the embodiment of the present application, when it is determined that there is no domain name configuration information in an available state in the public network server, the domain name resolution request can also be processed.

[0143] That is to say, the embodiments of the present application provide a method for implementing domain name resolution for customized specific services in the public network and supporting recursive resolution services in the public network.

[0144] Step 1103: When it is determined that the target IP address exists, the target IP address is fed back to the first object.

[0145] In an embodiment of the present application, when it is determined that the target IP address exists in the database corresponding to the public network server, the target IP address can be fed back to the first object.

[0146] In an embodiment of the present application, a public network server can receive a domain name resolution request sent by a first object, wherein the domain name resolution request carries target domain name information, and since the database corresponding to the public network server records: at least one domain name information and an associated IP address corresponding to each internal network established in the public network, the public network server can directly obtain the target IP address associated with the target domain name information based on the target domain name information and the mapping relationship between the domain name and the IP address preset for each internal network in the database, and return the target IP address to the first object, thereby eliminating the need to build a domain name server in each internal network, i.e., reducing the construction and maintenance of the domain name server, and effectively reducing the network construction cost and the network operation and maintenance cost. On the other hand, it effectively improves the resolution efficiency of resolving the target domain name information. In addition, since at least one domain name information and an associated IP address corresponding to each internal network are stored in the database, domain name resolution management in a large-scale environment can be achieved, and the management effect of domain name resolution can be improved.

[0147] Based on the above embodiments, in a possible implementation manner, the second object assigned to the interface address may assign its interface address to other objects, or the interface address of the second object may be stolen. If the above situation is found, it will cause the public network server to receive multiple domain name resolution requests in a relatively short period of time, and the multiple domain name resolution requests are for the same domain name information. It can be seen that the public network server also needs to perform regular detection on the aforementioned situation.

[0148] Specifically, still taking the above-mentioned first object as an example, the public network server can count the cumulative number of other domain name resolution requests carrying the above-mentioned target domain name information received for a preset time period. If it is determined that the cumulative number corresponding to the preset time period reaches the set threshold, a prompt message is sent to the first object. The prompt message is used to prompt the first object to perform a repeatability check on the interface address.

[0149] For example: See Fig. 11B As shown, during the time period of 8:00-9:00, statistics are taken for domain name resolution requests carrying the target domain name information, thereby obtaining that the cumulative number of domain name resolution requests carrying the target domain name information during the time period of 8:00-9:00 is 50,000 times, and the set threshold value corresponding to the cumulative number of times during the time period of 8:00-9:00 is determined to be 30,000 times, then it can be determined that the cumulative number of times during the time period of 8:00-9:00 reaches the set threshold value.

[0150] For example: See Fig. 11CAs shown, when it is determined that the cumulative number of domain name resolution requests carrying the target domain name information reaches the set threshold, a prompt message is sent to the first object, prompting the first object to perform a repeatability check on its corresponding interface address. The prompt message is, for example: Prompt: The corresponding bound interface address repeatedly triggers the domain name resolution request, please pay attention to check.

[0151] In order to better explain the embodiment of the present application, the following takes the domain name resolution of the first object as an example to introduce a domain name resolution method provided by the embodiment of the present application. The method is executed by a public network server and includes the following steps: Fig.12 As shown:

[0152] Step 1201: Receive a domain name resolution request sent by a first object, where the domain name resolution request carries target domain name information.

[0153] For example, suppose that the target domain name information carried in the domain name resolution request sent by the first object received by the public network server is "mmm.wosz.com", and the domain name resolution request also carries the identifier corresponding to the first object, so that the public network server can determine the target interface address corresponding to the first object based on the identifier corresponding to the first object, such as the target interface address is "1.2.3.4". Of course, the domain name resolution request can also carry the target interface address, such as the target interface address is "1.2.3.4".

[0154] Step 1202: Query the database to see whether there is domain name configuration information in an available state; wherein the database records: at least one domain name information and an associated IP address corresponding to each internal network established in the public network; if so, execute step 1203, otherwise, execute step 1206.

[0155] Specifically, the public network server can detect each domain name configuration information in the database to determine whether each domain name configuration information is in an available state, that is, whether each domain name configuration information can be used, to avoid the target IP address ultimately obtained based on the domain name configuration information being unusable.

[0156] Step 1203: Based on the target interface address carried in the domain name resolution request and the first binding relationship, determine the target instance identifier associated with the target interface address.

[0157] For example, when the public network server determines that there is domain name configuration information in an available state, the target interface address is continued to be "1.2.3.4", and then based on the first binding relationship, the target instance identifier associated with the target interface address is determined to be "Cloud_HostsID_1".

[0158] Step 1204: Based on the target instance identifier, call the corresponding target domain name resolution instance to search in the database whether there is a target IP address associated with the target domain name information.

[0159] For example, when the public network server determines that the target instance identifier is "Cloud_HostsID_1", the target domain name resolution instance corresponding to "Cloud_HostsID_1", that is, the hosts file in the database corresponding to HostsID_1, can be called, and the second binding relationship can be correspondingly determined based on the hosts file, and then the target IP address can be found based on the second binding relationship. Specifically, the hosts file is associated with the storage of domain name configuration information, which at least includes domain name information and an IP address corresponding to the domain name information.

[0160] For example, when the public network server determines that the first domain name configuration information among the multiple domain name configuration information stored in the hosts file includes the domain name information "mmm.wosz.com", the IP address "11.134.10.12" corresponding to "mmm.wosz.com" in the first domain name configuration information can be determined as the target IP address.

[0161] Step 1205: When it is determined that the target IP address exists in the database, the target IP address is fed back to the first object.

[0162] For example, the public network server may search for the target IP address "11.134.10.12" associated with "mmm.wosz.com" based on the second binding relationship, and then feedback "11.134.10.12" to the first object.

[0163] It can be seen that in the embodiment of the present application, when the domain name information to be resolved is the domain name information included in the domain name configuration information in the database, it can be directly executed based on the aforementioned steps 1201 to 1205. Obviously, when the domain name information to be resolved is the domain name information pre-configured by the first object, that is, the domain name information that can be resolved by the internal network corresponding to the first object, it can be directly and quickly determined based on the pre-stored information in the database.

[0164] In addition, when the domain name information to be resolved is not the domain name information included in the domain name configuration information in the database, that is, the domain name information requested by the first object is not the domain name information that can be resolved by the internal network, the following step 1206 can be executed.

[0165] Step 1206: Based on a preset forwarding strategy, forward the domain name resolution request to a domain name server associated with the target domain name information, so that the domain name server recursively resolves the domain name resolution request based on the preset forwarding strategy, obtains another target IP address, and feeds back the other target IP address to the first object.

[0166] The specific example has been described in detail in the aforementioned step of determining another target IP address, and will not be repeated here.

[0167] It can be seen that the embodiment of the present application provides a solution that can not only realize customized domain name resolution for specific services in the public network, but also support recursive resolution of the public network, thereby avoiding the need to build a domain name server on the internal network itself, and can set domain name configuration information based on the user's actual usage needs, thereby improving the user experience.

[0168] Based on the same inventive concept, the embodiment of the present application also provides a domain name resolution device. Fig.13 As shown, it is a schematic diagram of the structure of the domain name resolution device 1300, which may include:

[0169] The receiving unit 1301 is configured to receive a domain name resolution request sent by a first object, where the domain name resolution request carries target domain name information;

[0170] The processing unit 1302 is used to search in a database whether there is a target IP address associated with the target domain name information based on the target domain name information, wherein the database records: at least one domain name information and an associated IP address corresponding to each internal network established in the public network;

[0171] The feedback unit 1303 is configured to feed back the target IP address to the first object when it is determined that the target IP address exists in the database.

[0172] Optionally, before the receiving unit receives the domain name resolution request sent by the first object, the processing unit 1302 is further configured to:

[0173] receiving an association relationship establishment request sent by a second object, wherein the second object has requested to establish a corresponding internal network in a public network, and the second object and the first object are the same object or different objects;

[0174] Based on the association relationship establishment request, a corresponding interface address is allocated to the second object, a corresponding domain name resolution instance is created for the second object, and a corresponding instance identifier is generated; wherein the domain name resolution instance is used to resolve the domain name information corresponding to the internal network requested to be established by the second object;

[0175] The interface address corresponding to the second object is associated and bound with the instance identifier to determine a first binding relationship, and the first binding relationship is stored in a database.

[0176] Optionally, after determining the first binding relationship, the processing unit 1302 is further configured to:

[0177] Receive domain name configuration information sent by the second object, where the domain name configuration information at least includes at least one domain name information corresponding to the corresponding internal network and an IP address associated with each domain name information;

[0178] The instance identifier corresponding to the second object is associated and bound with the domain name configuration information to determine a second binding relationship, and the second binding relationship is stored in a database.

[0179] Optionally, when searching in a database whether there is a target IP address associated with the target domain name information based on the target domain name information, the processing unit 1302 is specifically configured to:

[0180] Determine a target instance identifier associated with the target interface address based on the target interface address carried in the domain name resolution request and the first binding relationship;

[0181] Based on the target instance identifier, the corresponding target domain name resolution instance is called to search the database for a target IP address associated with the target domain name information.

[0182] Optionally, if the database further records: each domain name configuration information at least includes at least one domain name information corresponding to the corresponding internal network, an IP address associated with each domain name information, and available status information;

[0183] Before searching the database for a target IP address associated with the target domain name information, the processing unit is further configured to:

[0184] Querying the database whether there is domain name configuration information in an available state;

[0185] When it is determined that there is domain name configuration information in an available state, it is searched in the database whether there is a target IP address associated with the target domain name information.

[0186] Optionally, after querying in the database whether there is domain name configuration information in an available state, the processing unit 1302 is further configured to:

[0187] When it is determined that there is no domain name configuration information in an available state, forwarding the domain name resolution request to a domain name server associated with the target domain name information based on a preset forwarding strategy, so that the domain name server recursively resolves the domain name resolution request based on the preset forwarding strategy, obtains another target IP address, and feeds back the other target IP address to the first object;

[0188] Among them, the domain name server is set in the public network.

[0189] Optionally, if it is determined that there are other objects using the same interface address as the first object based on the identifier of the terminal corresponding to the object carried in the domain name resolution request, then after receiving the domain name resolution request, the processing unit 1302 is further configured to:

[0190] For a preset time period, count the cumulative number of other domain name resolution requests carrying the target domain name information received;

[0191] If it is determined that the accumulated number of times corresponding to the preset time period reaches the set threshold, a prompt message is sent to the first object, where the prompt message is used to prompt the first object to perform a repeatability check on the interface address.

[0192] In the above implementation, the internal network avoids building its own domain name server and introduces a public network server, which enables both customized domain name resolution of specific services in the public network and support for public network recursive resolution, thereby reducing the operation and maintenance costs of the internal network.

[0193] For the convenience of description, the above parts are divided into modules (or units) according to their functions and described separately. Of course, when implementing this application, the functions of each module (or unit) can be implemented in the same or multiple software or hardware.

[0194] After introducing the domain name resolution method and device according to the exemplary embodiment of the present application, next, an electronic device according to another exemplary embodiment of the present application is introduced.

[0195] Those skilled in the art will appreciate that various aspects of the present application may be implemented as a system, method or program product. Therefore, various aspects of the present application may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to as "circuit", "module" or "system" herein.

[0196] Based on the same inventive concept as the above method embodiment, an electronic device is also provided in the embodiment of the present application. In one embodiment, the electronic device may be a public network server, such as Figure 3 In this embodiment, the structure of the electronic device can be as follows: Fig.14 As shown, the embodiment of the present application also provides an electronic device, such as Fig.14 As shown, the electronic device in the embodiment of the present application includes at least one processor 1401, and a memory 1402 and a communication interface 1403 connected to the at least one processor 1401. The specific connection medium between the processor 1401 and the memory 1402 is not limited in the embodiment of the present application. Fig.14In the example, the processor 1401 and the memory 1402 are connected via a bus 1400. Fig.14 The connections between other components are shown in bold lines, and are not intended to be limiting. The bus 1400 can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, Fig.14 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0197] In the embodiment of the present application, the memory 1402 stores instructions that can be executed by at least one processor 1401. The at least one processor 1401 can execute the steps included in the aforementioned domain name resolution method by executing the instructions stored in the memory 1402.

[0198] Among them, the processor 1401 is the control center of the electronic device, and can use various interfaces and lines to connect various parts of the entire fault detection device, and execute various functions of the electronic device and process data by running or executing instructions stored in the memory 1402 and calling data stored in the memory 1402. Optionally, the processor 1401 may include one or more processing units, and the processor 1401 may integrate an application processor and a modem processor, wherein the processor 1401 mainly processes an operating system, a user interface, and an application program, and the modem processor mainly processes wireless communication. It is understandable that the above-mentioned modem processor may not be integrated into the processor 1401. In some embodiments, the processor 1401 and the memory 1402 may be implemented on the same chip, and in some embodiments, they may also be implemented separately on independent chips.

[0199] Processor 1401 may be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, and may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the method disclosed in conjunction with the embodiments of the present application may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.

[0200] Memory 1402, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer executable programs and modules. Memory 1402 may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (Random Access Memory, RAM), static random access memory (Static Random Access Memory, SRAM), programmable read-only memory (Programmable Read Only Memory, PROM), read-only memory (Read Only Memory, ROM), electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), magnetic memory, disk, optical disk, etc. Memory 1402 is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory 1402 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.

[0201] The communication interface 1403 is a transmission interface that can be used for communication, and data can be received or sent through the communication interface 1403 .

[0202] In addition, the electronic device also includes a basic input / output system (I / O system) 1404 for facilitating information transmission between various components within the electronic device, and a large-capacity storage device 1408 for storing an operating system 1405, application programs 1406, and other program modules 1407.

[0203] The basic input / output system 1404 includes a display 1409 for displaying information and an input device 1410 such as a mouse and a keyboard for user inputting information. The display 1409 and the input device 1410 are connected to the processor 1401 through the basic input / output system 1404 connected to the system bus 1400. The basic input / output system 1404 may also include an input / output controller for receiving and processing inputs from a plurality of other devices such as a keyboard, a mouse, or an electronic stylus. Similarly, the input / output controller also provides output to a display screen, a printer, or other types of output devices.

[0204] Specifically, the mass storage device 1408 is connected to the processor 1401 via a mass storage controller (not shown) connected to the system bus 1400. The mass storage device 1408 and its associated computer-readable medium provide non-volatile storage for the server package. That is, the mass storage device 1408 may include a computer-readable medium (not shown) such as a hard disk or a CD-ROM drive.

[0205] According to various embodiments of the present application, the electronic device can also be connected to a remote computer on the network through a network such as the Internet to run. That is, the electronic device can be connected to the network 1411 through the communication interface 1403 connected to the system bus 1400, or in other words, the communication interface 1403 can also be used to connect to other types of networks or remote computer systems (not shown).

[0206] In some possible implementations, various aspects of the domain name resolution method provided in the present application may also be implemented in the form of a program product, which includes a program code. When the program product is run on an electronic device, the program code is used to enable the electronic device to execute the steps of the domain name resolution method according to various exemplary implementations of the present application described above in this specification. For example, the electronic device may execute the following steps: Fig.11A Follow the steps shown in .

[0207] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0208] The program product of the embodiment of the present application can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a computing device. However, the program product of the present application is not limited to this. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with a command execution system, device or device.

[0209] The readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, wherein the readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The readable signal medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with a command execution system, apparatus, or device.

[0210] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.

[0211] Program code for performing the operations of the present application may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user equipment, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device via any type of network including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0212] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.

[0213] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A domain name resolution method, characterized in that: Applied to a public network server, the method includes: Receive a domain name resolution request sent by the first object, wherein the domain name resolution request carries target domain name information; Based on the target domain name information and the first binding relationship stored in the database, searching in the database whether there is a target IP address associated with the target domain name information, wherein the database records: at least one domain name information and an associated IP address corresponding to each internal network established in the public network; When it is determined that the target IP address exists in the database, feeding back the target IP address to the first object; The first binding relationship in the database is stored by the following method before receiving the domain name resolution request sent by the first object: Receiving an association relationship establishment request sent by a second object, wherein the second object has requested to establish a corresponding internal network in a public network, and the second object and the first object are the same object or different objects; Based on the association establishment request, a corresponding interface address is allocated to the second object, a corresponding domain name resolution instance is created for the second object, and a corresponding instance identifier is generated; wherein the domain name resolution instance is used to resolve the domain name information corresponding to the internal network requested to be established by the second object; The interface address corresponding to the second object is associated and bound with the instance identifier to determine a first binding relationship, and the first binding relationship is stored in the database.

2. The method according to claim 1, characterized in that After determining the first binding relationship, the method further includes: Receive the domain name configuration information sent by the second object, where the domain name configuration information at least includes at least one domain name information corresponding to the corresponding internal network and an IP address associated with each domain name information; The instance identifier corresponding to the second object is associated and bound with the domain name configuration information to determine a second binding relationship, and the second binding relationship is stored in the database.

3. The method according to claim 1, characterized in that Based on the target domain name information and the first binding relationship stored in the database, searching in the database whether there is a target IP address associated with the target domain name information includes: Determine a target instance identifier associated with the target interface address based on the target interface address carried in the domain name resolution request and the first binding relationship; Based on the target instance identifier, a corresponding target domain name resolution instance is called to search in the database whether there is a target IP address associated with the target domain name information.

4. The method according to any one of claims 1 to 3, characterized in that: The database also records: each domain name configuration information includes at least one domain name information corresponding to the corresponding internal network, an IP address associated with each domain name information, and information on the availability status; Then, after receiving the domain name resolution request sent by the first object, and before searching in the database whether there is a target IP address associated with the target domain name information, the method further includes: Querying the database whether there is domain name configuration information in an available state; When it is determined that there is domain name configuration information in an available state, it is searched in the database whether there is a target IP address associated with the target domain name information.

5. The method according to claim 4, characterized in that The method further comprises: When it is determined that there is no domain name configuration information in an available state, forwarding the domain name resolution request to a domain name server associated with the target domain name information based on a preset forwarding strategy, so that the domain name server recursively resolves the domain name resolution request based on the preset forwarding strategy, obtains another target IP address, and feeds back the another target IP address to the first object; Wherein, the domain name server is set in the public network.

6. The method according to claim 1, characterized in that After receiving the domain name resolution request, the method further includes: For a preset time period, counting the cumulative number of other domain name resolution requests carrying the target domain name information received; If it is determined that the accumulated number of times corresponding to the preset time period reaches a set threshold, a prompt message is sent to the first object, where the prompt message is used to prompt the first object to perform a repeatability check on the interface address.

7. A domain name resolution device, characterized in that: Applied to a public network server, the device comprises: A receiving unit, configured to receive a domain name resolution request sent by a first object, wherein the domain name resolution request carries target domain name information; A processing unit, configured to search in the database whether there is a target IP address associated with the target domain name information based on the target domain name information and a first binding relationship stored in the database, wherein the database records: at least one domain name information and an associated IP address corresponding to each internal network established in the public network; a feedback unit, configured to feed back the target IP address to the first object when it is determined that the target IP address exists in the database; Wherein, before the receiving unit receives the domain name resolution request sent by the first object, the processing unit is also used to store the first binding relationship in the database by the following method: receiving an association establishment request sent by a second object, wherein the second object has requested to establish a corresponding internal network in a public network, and the second object and the first object are the same object, or different objects; based on the association establishment request, assigning a corresponding interface address to the second object, creating a corresponding domain name resolution instance for the second object, and generating a corresponding instance identifier; wherein the domain name resolution instance is used to resolve the domain name information corresponding to the internal network requested to be established by the second object; associating and binding the interface address corresponding to the second object with the instance identifier, determining the first binding relationship, and storing the first binding relationship in the database.

8. The device according to claim 7, characterized in that After determining the first binding relationship, the processing unit is further configured to: Receive the domain name configuration information sent by the second object, where the domain name configuration information at least includes at least one domain name information corresponding to the corresponding internal network and an IP address associated with each domain name information; The instance identifier corresponding to the second object is associated and bound with the domain name configuration information to determine a second binding relationship, and the second binding relationship is stored in the database.

9. The device according to claim 7, characterized in that When searching in the database whether there is a target IP address associated with the target domain name information based on the target domain name information and the first binding relationship stored in the database, the processing unit is specifically configured to: Determine a target instance identifier associated with the target interface address based on the target interface address carried in the domain name resolution request and the first binding relationship; Based on the target instance identifier, a corresponding target domain name resolution instance is called to search in the database whether there is a target IP address associated with the target domain name information.

10. The device according to any one of claims 7 to 9, characterized in that: If the database further records: each domain name configuration information at least includes at least one domain name information corresponding to the corresponding internal network, an IP address associated with each domain name information, and information on the availability status; Before searching in the database whether there is a target IP address associated with the target domain name information, the processing unit is further configured to: Querying the database whether there is domain name configuration information in an available state; When it is determined that there is domain name configuration information in an available state, it is searched in the database whether there is a target IP address associated with the target domain name information.

11. The device according to claim 10, characterized in that After querying the database whether there is domain name configuration information in an available state, the processing unit is further configured to: When it is determined that there is no domain name configuration information in an available state, forwarding the domain name resolution request to a domain name server associated with the target domain name information based on a preset forwarding strategy, so that the domain name server recursively resolves the domain name resolution request based on the preset forwarding strategy, obtains another target IP address, and feeds back the another target IP address to the first object; Wherein, the domain name server is set in the public network.

12. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the steps of the method according to any one of claims 1 to 6 are implemented.

13. A computer-readable storage medium, characterized in that: It includes program codes. When the program product is run on an electronic device, the program codes are used to enable the electronic device to execute the steps of any method described in claims 1 to 6.