Domain name resolution method and device and storage medium
By introducing two selection mechanisms for core network equipment and target application load balancing equipment in the domain name resolution system, dynamically selecting routes and ensuring that requests are forwarded to DNS with normal status, the problem of insufficient reliability of the domain name resolution system is solved and services are improved continuity and reliability.
Patent Information
- Application Number
- CN202411439493.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-15
- Publication Date
- 2025-02-14
AI Technical Summary
The reliability of the domain name resolution system is insufficient, which may affect the service continuity of the entire DNS system when the DNS node fails.
Through the two selection mechanisms of the core network device and the target application load balancing device, dynamic selection of routing ensures that the request is forwarded to the application load balancing device with normal status, and the device selects the target DNS with normal status to handle the request.
It effectively reduces the impact of a single point of failure on the entire DNS system, ensures that the request can be forwarded to the DNS with normal state, thereby improving the reliability of domain name resolution.
Smart Images

Figure CN119449766A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of domain name technology, and in particular to a domain name resolution method, device and storage medium. Background Art
[0002] Domain name resolution is the process of converting domain names into IP (Internet Protocol) addresses, so that users can access websites through domain names instead of complex IP addresses.
[0003] In related technologies, a DNS (Domain Name Server) cluster is deployed inside each data center. The processing capacity inside a single cluster is enhanced by adding nodes, and the service continuity of the entire DNS system is improved by combining multiple clusters deployed in a distributed manner.
[0004] However, DNS is usually designed as a hierarchical structure, in which each level is tightly coupled and interdependent. If a DNS node at a certain level fails and the failed node happens to be used in an actual application, the DNS at the subsequent levels may not be able to process requests normally.
[0005] The above contents are only used to assist in understanding the technical solution of the present application and do not constitute an admission that the above contents are prior art. Summary of the invention
[0006] The main purpose of this application is to provide a domain name resolution method, device and storage medium, aiming to solve the technical problem of insufficient reliability of domain name resolution.
[0007] To achieve the above object, the present application proposes a domain name resolution method, which is applied to a domain name server DNS architecture, wherein the DNS architecture includes a core network device, a plurality of application load balancing devices, and a plurality of DNSs, wherein one end of the application load balancing device is connected to the core network device, and the other end is connected to the DNS, and the method includes:
[0008] When the core network device receives the domain name resolution request, it selects a target application load balancing device in a normal state according to the conditional routing table, and forwards the domain name resolution request to the target application load balancing device;
[0009] The target application load balancing device selects a target DNS in a normal state, and forwards the domain name resolution request to the target DNS;
[0010] The target DNS performs a forwarding or resolution operation based on the domain name resolution request.
[0011] In one embodiment, the step of the target application load balancing device selecting a target DNS in a normal state includes:
[0012] The target application load balancing device calculates the metric values of all the subordinate DNSs;
[0013] The DNS with the smallest metric value is used as the target DNS.
[0014] In one embodiment, when the core network device receives a domain name resolution request, before the step of selecting a target application load balancing device in a normal state according to a conditional routing table and forwarding the domain name resolution request to the target application load balancing device, the step further includes:
[0015] The application load balancing device performs health checks on all subordinate DNSs;
[0016] If all the subordinate DNS health checks fail, the conditional routing corresponding to the application load balancing device is deleted from the conditional routing table.
[0017] In one embodiment, the step of the application load balancing device performing health detection on all subordinate DNSs includes:
[0018] The application load balancing device sends a preset domain name to the subordinate DNS;
[0019] If the address to be verified returned by the DNS based on the preset domain name is received, and the address to be verified is the same as the preset address, determining a performance indicator of the DNS, the performance indicator including at least one of response time, throughput, and number of connections;
[0020] If the performance index of the DNS does not meet the preset index requirements, the health check will fail.
[0021] In one embodiment, the DNS includes an authoritative DNS, and when the core network device receives a domain name resolution request, the step of selecting a target application load balancing device in a normal state according to the conditional routing table includes:
[0022] If the core network device is placed in front of the authoritative DNS, the application load balancing device in normal status is screened;
[0023] If the screening result is associated with the main plane, setting the application load balancing device in front of the main plane as the target application load balancing device;
[0024] If the screening result is not associated with the primary plane, the application load balancing device in front of the backup plane is set as the target application load balancing device.
[0025] In one embodiment, if the core network device is placed in front of the authoritative DNS, before the step of screening the application load balancing device in a normal state, it also includes:
[0026] The synchronization group in the main plane sends data according to the configuration and performs synchronization configuration operations.
[0027] In one embodiment, after the step of sending data according to the configuration and performing the initial configuration operation, the main plane further includes:
[0028] When the backup plane triggers a scheduled task, it sends an asynchronous configuration request to the primary plane;
[0029] The primary plane sends configuration update data to the backup plane according to the asynchronous configuration request;
[0030] The backup plane updates data according to the configuration and performs an asynchronous configuration operation.
[0031] In addition, to achieve the above-mentioned purpose, the present application also proposes a domain name resolution device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the domain name resolution method described above.
[0032] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the domain name resolution method described above are implemented.
[0033] One or more technical solutions proposed in this application have at least the following technical effects:
[0034] This solution provides a domain name resolution method. When the core network device receives a domain name resolution request, it does not simply forward the request according to a preset fixed path, but selects a target application load balancing device based on a conditional routing table. This allows the route to be dynamically selected based on the real-time status of the DNS node to ensure that the request is forwarded to an application load balancing device in a normal state, thereby avoiding forwarding the request to a faulty node. Subsequently, the target application load balancing device selects a target DNS in a normal state to process the request based on the real-time status of the DNS node. This step ensures that even if some DNSs fail, the request can be forwarded to an available DNS in a timely and effective manner. The double selection mechanism of the core network device and the target application load balancing device effectively reduces the impact of a single point of failure on the entire DNS system, ensures that the request can be forwarded to a DNS in a normal state, and thus improves the reliability of domain name resolution. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0036] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0037] Figure 1 A schematic diagram of the DNS architecture provided for the domain name resolution method of this application;
[0038] Figure 2 A flowchart of the domain name resolution method of the present application is provided in Embodiment 1;
[0039] Figure 3 The conditional routing provided in the first embodiment of the domain name resolution method of the present application is intended to represent;
[0040] Figure 4 A flowchart of the second embodiment of the domain name resolution method of the present application is provided;
[0041] Figure 5 The conditional routing provided in the second embodiment of the domain name resolution method of the present application is intended to represent;
[0042] Figure 6 A flowchart of the third embodiment of the domain name resolution method of the present application is provided;
[0043] Figure 7 A schematic diagram of synchronization configuration provided in Embodiment 3 of the domain name resolution method of this application;
[0044] Figure 8 A schematic diagram of an asynchronous configuration provided in Embodiment 3 of the domain name resolution method of this application;
[0045] Fig. 9 A schematic diagram of modular deployment provided for the third embodiment of the domain name resolution method of the present application;
[0046] Fig.10 A schematic diagram of a single LDNS node failure in Availability Zone A provided by the domain name resolution method of this application;
[0047] Fig.11 A schematic diagram of all LDNS node failures in available zone A provided by the domain name resolution method of this application;
[0048] Fig.12 A schematic diagram of a single authoritative DNS node failure on the main plane in Availability Zone A provided by the domain name resolution method of this application;
[0049] Fig.13 A schematic diagram of the failure of all authoritative DNS nodes on the main plane in Availability Zone A provided by the domain name resolution method of this application;
[0050] Fig.14 A schematic diagram of the main plane failure in all available zones provided by the domain name resolution method of this application;
[0051] Fig.15 A schematic diagram of the architectural advantages provided for the domain name resolution method of this application;
[0052] Fig.16 A schematic diagram of the device structure of the hardware operating environment involved in the domain name resolution method in the embodiment of the present application.
[0053] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0054] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.
[0055] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.
[0056] The main solution of the embodiment of the present application is that when the core network device receives a domain name resolution request, it selects a target application load balancing device in a normal state according to the conditional routing table, and forwards the domain name resolution request to the target application load balancing device; the target application load balancing device selects a target DNS in a normal state, and forwards the domain name resolution request to the target DNS; the target DNS performs forwarding or resolution operations based on the domain name resolution request.
[0057] As online financial services become increasingly important in production, tolerance for production interruptions also decreases. Therefore, data centers usually transform all business systems into domain names to achieve a lower RTO (Recovery Time Objective), which is the shortest time period from the occurrence of a disaster to the resumption of normal service of the business system. In this case, the service continuity of the DNS system that supports the operation of the entire online business system becomes an important link that requires continuous attention. This system is responsible for converting domain names into IP addresses that can be recognized by the network. Therefore, once the service is abnormal, it often leads to large-scale production failures.
[0058] In related technologies, a DNS cluster is deployed inside each data center. The processing capacity within a single cluster is enhanced by adding nodes, and the service continuity of the entire DNS system is improved by combining multiple clusters deployed in a distributed manner.
[0059] However, this technical route has the following defects:
[0060] 1. Lack of reliability:
[0061] DNS is usually designed as a hierarchical structure, in which each level is tightly coupled and interdependent. If a DNS node at a certain level fails, and the failed node happens to be used in an actual application, it may cause the DNS of subsequent levels to fail to process requests normally, thus affecting the progress of domain name resolution. In simple terms, when a module of the DNS system fails, it may affect the domain name resolution of the entire business, and then affect all businesses that rely on the domain name, that is, the scope of the failure is large.
[0062] 2. Poor effect:
[0063] Although multiple clusters deployed in a distributed manner provide redundancy, their switching speed is slow, which can cause a delay of several seconds while the failure persists, resulting in the failure of transactions or business access.
[0064] 3. There are major risks:
[0065] The inherent fragility of the system cannot be ignored. Whether it is human error or software defects, it may cause the entire system to fail. In extreme cases, this will directly lead to a complete interruption or degradation of services, which will in turn cause major production safety accidents.
[0066] 4. Additional maintenance costs:
[0067] The system has a maintenance window that cannot be ignored. Services cannot be provided normally during the window period, which may cause abnormalities in production business.
[0068] 5. High operation and maintenance costs:
[0069] Distributed architecture will make terminal and server DNS configuration complicated and irregular, thereby increasing operation and maintenance costs.
[0070] To solve the above problems, the present application provides a solution, which effectively reduces the impact of single point failures on the entire DNS system through a double selection mechanism of core network devices and target application load balancing devices, ensures that requests can be forwarded to a DNS in normal status, and thus improves the reliability of domain name resolution.
[0071] It should be noted that the execution subject of this solution can be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or a domain name resolution device capable of realizing the above functions, etc. The following embodiments are described below taking the domain name resolution device as an example.
[0072] The DNS architecture includes core network devices, several application load balancing devices and several DNSs. One end of the application load balancing device is connected to the core network device, and the other end is connected to the DNS.
[0073] Reference Figure 1 , Availability Zone A represents Data Center A, and Availability Zone B represents Data Center B. The DNS architecture is a set of distributed network services responsible for mapping domain names to IP addresses, including core network devices, application load balancing devices, and DNS. One end of the application load balancing device is connected to the core network device, and the other end is connected to the DNS.
[0074] DNS, the main functional unit in the architecture, is responsible for providing domain name resolution services, converting domain names that are easy for humans to remember into IP addresses that can be recognized by network devices and hosts, thereby maintaining the normal operation of the information system. DNS can be divided into LDNS (Local Domain Name Server) and authoritative DNS.
[0075] Among them, LDNS provides recursive domain name resolution services for terminals and servers. It forwards domain name resolution requests to the corresponding authoritative DNS for query and returns the query results. LDNS is deployed in the form of front-end load balancing devices, that is, multiple LDNS are deployed in each availability zone, and these LDNS are independent of each other. Any system can independently undertake business, which greatly shortens the maintenance window and effectively avoids the risk of failure.
[0076] Among them, authoritative DNS provides authoritative domain name resolution services for designated domain name areas. It records the correspondence between domain names and IP addresses, and makes dynamic and intelligent adjustments based on the health detection results of application servers to shield unavailable resolution results and IP addresses. Authoritative DNS is also deployed in the form of front-end load balancing devices, that is, multiple authoritative DNSs are deployed in each available zone.
[0077] In order to optimize the global DNS access experience, the application load balancing devices in each data center publish the same virtual service IP as the unified IP of the DNS service.
[0078] Based on this, the application load balancing device can introduce the RHI (Routing Health Injection) strategy to implement Anycast deployment, thereby deleting invalid routes and realizing intelligent routing optimization.
[0079] Combining these two technologies can achieve automatic failover and local service, ensuring that the failure of any node or cluster will not have a negative impact on the services of the entire DNS system. This improvement eliminates the delay problem caused by inter-cluster failover and maintains the standardization of the DNS configuration of the entire network.
[0080] Core network equipment, namely the core network routing and switching equipment in the architecture, is used to provide network switching and routing services.
[0081] Based on this, the embodiment of the present application provides a domain name resolution method, referring to Figure 2 , Figure 2 This is a flowchart of the first embodiment of the domain name resolution method of the present application.
[0082] In this embodiment, the domain name resolution method includes steps S10 to S30:
[0083] Step S10, when the core network device receives the domain name resolution request, it selects a target application load balancing device in a normal state according to the conditional routing table, and forwards the domain name resolution request to the target application load balancing device;
[0084] In actual applications, a terminal or server initiates a domain name resolution request, which is usually to convert a domain name into a corresponding IP address, such as converting www.example.com to 11.222.333.44, so that devices in the network can communicate with each other.
[0085] The core network device maintains one or more conditional routing tables. These routing tables can record the routes corresponding to all application load balancing devices that are in a healthy state, such as Figure 3 As shown, this embodiment is not specifically limited. The routes are dynamically updated to adapt to network changes and load balancing requirements.
[0086] It should be noted that the health status of the application load balancing device is determined by the health status of its subordinate DNS. When all subordinate DNS are abnormal, the health status of the application load balancing device is judged to be abnormal; as long as at least one subordinate DNS is normal, the health status of the application load balancing device is judged to be normal.
[0087] After receiving the domain name resolution request, the core network device first resolves the request information and extracts the forwarded virtual service IP. Then, the virtual service IP is matched with each item in the conditional routing table one by one, that is, the highest priority routing next hop of the virtual service IP is selected. After obtaining the matching result, the application load balancing device is finally selected.
[0088] As for the number of filters, it can be single or multiple. Take single as an example:
[0089] If there is only one result, you can directly set it as the target; if there are multiple results, the application load balancing device in the same data center will be selected as the target by default. Figure 1 When a server in availability zone A initiates a request, the core network device will preferentially select application load balancing device 1 in availability zone A, rather than application load balancing device 1' in availability zone B.
[0090] Furthermore, the core network device will forward the original domain name resolution request to the target application load balancing device based on the target route. This forwarding process may involve network-level packet encapsulation and possible encryption and decryption operations to ensure that the request can be delivered securely and accurately.
[0091] Step S20, the target application load balancing device selects a target DNS in a normal state, and forwards the domain name resolution request to the target DNS;
[0092] Optionally, the target application load balancing device can select one or more suitable and healthy DNS to handle the request based on certain algorithms, such as polling, least number of connections, random, etc.
[0093] Exemplarily, the target application load balancing device distributes the request to each subordinate DNS in normal state in turn based on the order in the conditional routing table to ensure that the requests are evenly distributed.
[0094] Exemplarily, the following algorithm is defined:
[0095] Latency: measures the time from when a request is sent to the application load balancer until the DNS response is received.
[0096] Packet loss rate: monitors the proportion of data packets lost during communication with DNS;
[0097] Response time: records the time required for DNS to process a request and return a result.
[0098] The application load balancing device periodically sends probe requests to each DNS to collect the above indicators. Based on the collected indicators, the application load balancing device can use weighted average to calculate the metric value of each subordinate DNS. For example, metric value = w1×delay+w2×packet loss rate+w3×response time, where w1, w2, and w3 are the weights of each indicator, which can be adjusted according to actual needs.
[0099] The application load balancing device compares the metrics of all DNSs and selects the DNS with the smallest metric as the target DNS.
[0100] For example, Figure 1, the application load balancing device 1 will calculate the metric between it and all LDNS nodes, and the one with the smallest metric is LDNS node 1. Load balancing device 1 will then forward the request to LDNS node 1 instead of LDNS node 2.
[0101] In this way, it can be ensured that the target DNS selected by the target application load balancing device has the smallest metric value. This means that when performing subsequent routing, the target application load balancing device can forward the request to the DNS with the best performance, thereby improving the efficiency and response speed of domain name resolution and ensuring that users can quickly obtain the required services.
[0102] Step S30: The target DNS performs a forwarding or resolution operation based on the domain name resolution request.
[0103] When receiving a domain name resolution request, the target DNS first determines whether its own type is LDNS or authoritative DNS.
[0104] When the target DNS belongs to LDNS, since it does not have the domain name resolution function, the domain name resolution request will be forwarded to the core network device corresponding to the authoritative DNS cluster, and then forwarded by the core network device to the application load balancing device in front of the authoritative DNS cluster, and then distributed to the authoritative DNS by the application load balancing device.
[0105] When the target DNS is an authoritative DNS, it has the function of domain name resolution, so it will search its database or cache, find the corresponding IP address and return it to the terminal or server.
[0106] This embodiment provides a domain name resolution method. When the core network device receives a domain name resolution request, it does not simply forward the request according to a preset fixed path, but selects a target application load balancing device based on a conditional routing table. In this way, the route can be dynamically selected according to the real-time status of the DNS node to ensure that the request is forwarded to an application load balancing device in a normal state, thereby avoiding forwarding the request to a faulty node. Subsequently, the target application load balancing device selects a target DNS in a normal state to process the request based on the real-time status of the DNS node. This step ensures that even if some DNSs fail, the request can be forwarded to an available DNS in a timely and effective manner. The two-selection mechanism of the core network device and the target application load balancing device effectively reduces the impact of a single point of failure on the entire DNS system, ensures that the request can be forwarded to a DNS in a normal state, and thus improves the reliability of domain name resolution.
[0107] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can refer to the above introduction, and will not be repeated later. Figure 4Before step S10, steps A10 to A20 may also be included:
[0108] Step A10, the application load balancing device performs health detection on all subordinate DNSs;
[0109] Step A20: If all subordinate DNS health checks fail, the conditional route corresponding to the application load balancing device is deleted from the conditional routing table.
[0110] Optionally, a load balancing device is applied to send a DNS query request, and the health status of the DNS is analyzed by monitoring the response results.
[0111] First, select one or more common domain names as preset domain names, and configure an expected returned IP address, namely, the preset address, for each preset domain name.
[0112] During the actual health check process, when the address to be verified is received from the DNS based on the preset domain name, the application load balancing device will compare the address to be verified with the preset address. If the two are consistent, that is, the correct result is returned, then its current status is considered normal and the health check passes; otherwise, its current status is considered abnormal and the health check fails.
[0113] In addition, you can also monitor DNS performance indicators such as response time, throughput, number of connections, etc. to more comprehensively evaluate the health of DNS. The response time is the time from sending a request to receiving a response; the throughput is the number of DNS requests processed within a set time window; the number of connections is the number of application load balancing devices connected to the DNS.
[0114] Specifically, preset indicator requirements include setting the upper limit of normal response time to 100 milliseconds, setting the minimum number of request processing per unit time to 50 requests / minute, and setting the maximum number of connections to 100.
[0115] In the actual health check process, after determining that the DNS returns the correct result, the current DNS performance indicators are recorded. The recorded performance indicators are compared with the preset thresholds. If all performance indicators meet the preset requirements, the health check is determined to have passed; if any performance indicator does not meet the preset requirements, the health check is determined to have failed.
[0116] It is understandable that by monitoring these performance indicators in real time, possible performance bottlenecks or potential problems of DNS can be discovered in a timely manner. For example, if the response time suddenly increases, it may mean that the DNS load is too high or the network latency has increased; if the throughput decreases, it may indicate that the DNS's ability to process requests is limited. This allows a more comprehensive assessment of the health status of DNS.
[0117] Furthermore, if Figure 5 If all DNS health checks under a certain application load balancing device fail, it means that the DNS of the current application load balancing device cannot work properly. Therefore, delete the corresponding conditional routing. The conditional routing table after deletion is as follows: Figure 3 shown.
[0118] This embodiment provides a domain name resolution method. By deleting invalid conditional routes, the core network device no longer needs to match the entries that have been determined to be faulty when selecting the target application load balancing device according to the conditional routing table. This not only reduces the amount of matching operations, but also eliminates the need for subsequent status screening operations, thereby speeding up the routing decision. Moreover, the automatic processing of faulty devices and route deletion reduces the workload of operation and maintenance personnel. Operation and maintenance personnel can focus on other more important tasks without having to frequently check and manage the status of faulty devices.
[0119] Based on the first embodiment of the present application, in the third embodiment of the present application, the same or similar contents as those in the first embodiment can be referred to the above description, and will not be described in detail later. Figure 6 The step of the target application load balancing device selecting a target DNS in a normal state may include steps B10 to B30:
[0120] Step B10: If the target application load balancing device is placed in front of the authoritative DNS, then the authoritative DNS that has passed the health check is screened;
[0121] Step B20: if there is a main plane in the screening result, setting the main plane as the target authoritative DNS;
[0122] Step B30: If the primary plane does not exist in the screening result, the backup plane is set as the target authoritative DNS.
[0123] It should be noted that each availability zone has multiple authoritative DNS clusters. The authoritative DNS clusters are independent of each other and have no coupling. The failure of any cluster will not affect the resolution services of other clusters.
[0124] Specifically, in an Available Zone (AZ), there are a primary plane and a backup plane, wherein a synchronization group is set in the primary plane, including two authoritative DNS nodes, and the backup plane includes one authoritative DNS node. Figure 1 As shown, in availability zone A, AZ1 is the primary plane, AZ1' is the backup plane, AZ1 includes a synchronization group consisting of authoritative DNS node 1 and authoritative DNS node 2, and AZ1' includes authoritative DNS node 3.
[0125] The primary plane usually refers to the primary, priority authoritative DNS cluster; the backup plane is a secondary DNS cluster, which is mainly responsible for disaster response mechanism, that is, when the primary plane is unavailable, it takes over the authoritative domain name resolution service to avoid large-scale failures caused by DNS service interruption. If the core network equipment is placed in front of LDNS, according to the architecture setting, LDNS does not distinguish between the primary plane and the backup plane, so there is no need to perform subsequent steps.
[0126] If the core network device is placed in front of the authoritative DNS, you need to select the appropriate authoritative DNS. In this case, since there is a priority between the primary plane and the backup plane, you first need to filter out the application load balancing devices in normal status and analyze their priority.
[0127] In the screening results, if a load balancing device is found to be associated with the main plane, this indicates that the load balancing device can effectively process requests related to the main plane. At this time, the core network device sets the load balancing device as the target application load balancing device, and all requests will be sent to this device first. In this way, the load balancing device can forward the request to the main plane for processing, thereby achieving priority processing of the main plane.
[0128] If no load balancing device associated with the primary plane is found in the filter results, it means that all primary load balancing devices are unavailable or unable to process the primary plane request. In this case, the core network device will select the application load balancing device in front of the backup plane as the target application load balancing device. This is to ensure that requests can still be effectively processed in the event that the primary plane is unavailable, thereby ensuring service continuity.
[0129] It is understandable that this solution can dynamically adjust the target load balancing device according to the real-time status through health checks on the load balancing device and priority management of the authoritative DNS, so that it can adapt to the state fluctuations of the authoritative DNS and achieve one-click switching to the backup plane for resolution, thereby enhancing flexibility and adaptability. Moreover, through clear priorities and automated selection mechanisms, the complexity of network management and maintenance is simplified, the need for manual intervention is reduced, and the efficiency of operation and maintenance is improved.
[0130] In addition, in the DNS framework, data consistency and resolution consistency are very important and are related to the availability of the DNS framework.
[0131] The unified configuration management platform is a centralized management system responsible for storing, maintaining and distributing the configuration data of LDNS and authoritative DNS. These configuration data may include network settings, service parameters, environment variables, security policies, etc., which are essential for the normal operation of the system.
[0132] The unified configuration management platform will send configuration data to the main plane regularly or based on specific events, such as service updates, environment changes, etc. This data contains the latest configuration information required for the operation of the main plane.
[0133] Once the configuration data is received, the main plane will parse the data and perform initial configuration operations according to the instructions. These operations may include updating network settings, loading new service parameters, applying security policies, etc. By performing these operations, the main plane can obtain the latest configuration information and adjust its behavior and performance accordingly.
[0134] Specifically, within the available zone, the primary plane is configured with synchronization groups, such as Figure 1 A synchronization group is set in AZ1, including authoritative DNS node 1 and authoritative DNS node 2.
[0135] A synchronization group can adopt a synchronization configuration strategy: the devices in the synchronization group copy the configuration and status information to all devices in the group through the synchronization process.
[0136] Reference Figure 7 When the unified configuration management platform sends configuration delivery data to the main plane, the authoritative DNS node 1 in the synchronization group will parse the data and perform initial configuration operations according to the instructions. After completing its own initial configuration operation, the authoritative DNS node 1 will forward the received configuration delivery data to the authoritative DNS node 2 in the synchronization group. When the authoritative DNS node 2 receives the configuration delivery data, it will parse the data and perform the corresponding synchronization configuration operation.
[0137] This solution sets up multiple independent main planes in multiple AZs, so that when a main plane fails, other main planes can continue to provide services. This redundant design improves the reliability of the DNS framework and ensures high availability of DNS services. Moreover, by sending configurations through a unified configuration management platform, all main planes can receive the same configuration data to ensure that their configurations are consistent. This consistency is crucial to the accuracy and reliability of DNS resolution, and avoids resolution errors caused by inconsistent configurations.
[0138] In addition, refer to Figure 8 , the main plane and the backup plane can be used Asynchronous configuration strategy :
[0139] Set up a scheduled task in the backup plane and configure it to send asynchronous configuration requests to the primary plane at regular intervals to obtain the latest configuration data. When the backup plane triggers the scheduled task, it generates an asynchronous configuration request message and sends it to the message queue. Subsequently, the primary plane generates the corresponding configuration update data, encapsulates it into a message, and sends it back to the message queue. The backup plane also listens to the message queue, and after receiving the configuration update data sent by the primary plane, it parses the data and performs corresponding asynchronous configuration operations according to the configuration update content, thereby updating its own configuration status. After completing each configuration, the backup plane can also retain the backup configuration for each cycle, which can help the DNS service escape when the primary plane fails or is unavailable.
[0140] It is understandable that the difference between the backup plane and the synchronization group in the main plane is that its configuration is not issued by a unified configuration management platform, but is obtained from the main plane regularly using an asynchronous configuration mechanism, and the configuration is automatically updated and loaded. It is precisely because of this asynchronous configuration mechanism that the failure of the main plane will not immediately affect the operation of the backup plane. This fault isolation ensures that the backup plane can continue to work normally and maintain system availability.
[0141] For example, refer to Fig. 9 , which is a schematic diagram of modular deployment.
[0142] In each availability zone, a primary plane and a backup plane are set up, where the primary plane includes two authoritative DNS nodes and the backup plane includes one authoritative DNS node.
[0143] During maintenance, the primary plane in the health check synchronization group is configured synchronously, while the backup plane is configured asynchronously.
[0144] During actual operation, when the core network device selects the target application load balancing device, if the status of the main plane is normal, the application load balancing device corresponding to the main plane can be selected first; if the status of the main plane is abnormal, the application load balancing device corresponding to the backup plane is selected.
[0145] This solution builds an authoritative dual-plane DNS system, namely the primary plane and the backup plane. The two DNS systems are independent of each other and significantly improve the system availability based on the principle of probability superposition of independent events.
[0146] For example, in order to help understand the implementation process of the domain name resolution method obtained by combining this embodiment with the above embodiments, Figure 1 , the normal working process in Availability Zone A is analyzed as follows:
[0147] S1, the server sends a domain name resolution request;
[0148] S2, the core network device receives the domain name resolution request, selects the application load balancing device 1 in normal state according to the conditional routing table, and forwards the domain name resolution request to the application load balancing device 1;
[0149] S3, the load balancing device 1 selects the LDNS node 1 in normal state, and forwards the domain name resolution request to the LDNS node 1;
[0150] S4, LDNS node 1 forwards the domain name resolution request to the core network device;
[0151] S5, the core network device receives the domain name resolution request, selects the application load balancing device 2 in a normal state according to the conditional routing table, and forwards the domain name resolution request to the application load balancing device 2;
[0152] S6, the application load balancing device 2 selects the authoritative DNS node 1 in normal state, and forwards the domain name resolution request to the authoritative DNS node 1;
[0153] S7, the authoritative DNS node 1 resolves the domain name resolution request and returns the result to the server.
[0154] (1)Reference Fig.10 , is a schematic diagram of a single LDNS node failure in availability zone A.
[0155] …
[0156] S2, the core network device receives the domain name resolution request and queries the conditional routing table. Since the status of LDNS node 2 under application load balancing device 1 is normal, the status of application load balancing device 1 is normal. Therefore, the application load balancing device 1 in normal status is selected, and the domain name resolution request is forwarded to the application load balancing device 1;
[0157] S3, when the LDNS node 1 is in an abnormal state, the application load balancing device 1 will select the LDNS node 2 in a normal state and forward the domain name resolution request to the LDNS node 2;
[0158] S4, LDNS node 2 forwards the domain name resolution request to the core network device;
[0159] …
[0160] Since the deployment is carried out in the form of front-end load balancing, the faulty LDNS will be discovered by the load balancing device and kicked out of the application group. Therefore, the faulty node will no longer receive domain name resolution requests and will have no impact on the overall service.
[0161] (2)Reference Fig.11 , which is a schematic diagram of the failure of all LDNS nodes in availability zone A.
[0162] …
[0163] S2, the core network device receives the domain name resolution request and queries the conditional routing table. Since the status of LDNS node 1 and LDNS node 2 under application load balancing device 1 are both abnormal, the status of application load balancing device 1 is abnormal. Therefore, application load balancing device 1 will not be selected, but application load balancing device 1' in availability zone B will be selected, and the domain name resolution request will be forwarded to application load balancing device 1';
[0164] …
[0165] Since Anycast is used for deployment, when all LDNS nodes fail, the front-end application load balancing device will sense the failure and automatically delete the corresponding conditional routing. After convergence is completed, the domain name resolution request will be forwarded to the LDNS nodes in other availability zones, which has no impact on the overall service.
[0166] (3)Reference Fig.12 , is a schematic diagram of a single authoritative DNS node failure on the main plane in availability zone A.
[0167] …
[0168] S5, the core network device receives the domain name resolution request and queries the conditional routing table. Since the status of the authoritative DNS node 2 of the main plane under the application load balancing device 2 is normal, the status of the application load balancing device 1 is normal. Therefore, the application load balancing device 1 will still be selected and the domain name resolution request will be forwarded to the application load balancing device 1;
[0169] S6, the application load balancing device 1 selects the authoritative DNS node 2 in normal state, and forwards the domain name resolution request to the authoritative DNS node 2;
[0170] …
[0171] In this case, when a single authoritative DNS node fails, the domain name resolution request will be forwarded to the normal authoritative DNS node of the synchronization group of the main plane, which has no impact on the overall service.
[0172] (4)Reference Fig.13 , which is a schematic diagram of the failure of all authoritative DNS nodes on the main plane in availability zone A.
[0173] …
[0174] S5, the core network device receives the domain name resolution request and queries the conditional routing table. Since all authoritative DNS nodes in Availability Zone A are faulty, the status of the load balancing devices in front of it is abnormal. At this time, select the application load balancing device 2' corresponding to the main plane in another availability zone;
[0175] …
[0176] In this case, when all authoritative DNS nodes of the primary plane in Availability Zone A fail, domain name resolution requests will be forwarded to the primary plane in Availability Zone B, which has no impact on the overall service.
[0177] This process involves operations at the DNS forwarding level. Since the DNS service IP does not change, it is a seamless switching process for the user.
[0178] (5)Reference Fig.14 , which is a schematic diagram of the main plane failure in all availability zones.
[0179] …
[0180] S5, the core network device receives the domain name resolution request and queries the conditional routing table. Since all the main planes are faulty, the status of the load balancing devices in front of them are abnormal. At this time, the application load balancing device corresponding to the backup plane is selected;
[0181] …
[0182] The above is an extreme disaster scenario in which the primary plane is completely unavailable. The framework will activate the escape mechanism and the domain name resolution request will be forwarded to the backup plane for processing.
[0183] Since the backup plane is not coupled with the main plane, the failure will not be transmitted to the backup plane. In addition, the backup data can be selected for rollback, which maximizes the continuity of DNS services in extreme disaster scenarios and avoids large-scale production accidents caused by long-term service interruptions.
[0184] In summary, through the DNS architecture, the continuity of domain name resolution services is significantly improved. Failures in any module or component or combined failures will not cause continuous interruption of DNS services, which well maintains the continuity of services and avoids large-scale production accidents caused by failures in key links of the information system. Specific advantages include Fig.15 shown.
[0185] After measurement, the interruption time of DNS service has been reduced from minutes to seconds, and the fault maintenance window has been shortened from an average of 4 hours to 0. At the same time, the control scope of the fault domain has been reduced from the entire bank to a single data center. Now, any data center has complete DNS continuous service capabilities. Even if all other availability zones fail or lose connection, the DNS service of this availability zone can still continue without interruption. This improvement realizes more fine-grained DNS service capabilities.
[0186] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the domain name resolution method of the present application. More simple transformations based on this technical concept are all within the scope of protection of the present application.
[0187] The present application provides a domain name resolution device, which includes: at least one processor; and a memory that is communicatively connected to the at least one processor; wherein the memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the domain name resolution method in the above-mentioned embodiment 1.
[0188] Reference below Fig.16 , which shows a schematic diagram of the structure of a domain name resolution device suitable for implementing the embodiment of the present application. The domain name resolution device in the embodiment of the present application may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Fig.16 The domain name resolution device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0189] like Fig.16 As shown, the domain name resolution device may include a processing device 1001 (such as a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 1002 or a program loaded from a storage device 1003 to a random access memory (RAM: Random Access Memory) 1004. In RAM1004, various programs and data required for the operation of the domain name resolution device are also stored. The processing device 1001, ROM1002 and RAM1004 are connected to each other via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: input devices 1007 including, for example, a touch screen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 1003 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 1009. The communication device 1009 can allow the domain name resolution device to communicate wirelessly or wired with other devices to exchange data. Although the figure shows a domain name resolution device with various systems, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems may be implemented or have alternatively.
[0190] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.
[0191] The domain name resolution device provided by the present application adopts the domain name resolution method in the above embodiment, which can solve the technical problem of insufficient reliability of domain name resolution. Compared with the prior art, the beneficial effects of the domain name resolution device provided by the present application are the same as the beneficial effects of the domain name resolution method provided by the above embodiment, and other technical features in the domain name resolution device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.
[0192] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.
[0193] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
[0194] The present application provides a computer-readable storage medium having a computer program stored thereon, and the computer-readable program instructions are used to execute the domain name resolution method in the above embodiment.
[0195] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM: Random Access Memory), a read-only memory (ROM: Read Only Memory), an erasable programmable read-only memory (EPROM: Erasable Programmable Read Only Memory or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM: CD-Read Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency: Radio Frequency), etc., or any suitable combination of the above.
[0196] The computer-readable storage medium may be included in the domain name resolution device; or may exist independently without being assembled into the domain name resolution device.
[0197] The above-mentioned computer-readable storage medium carries one or more programs. When the above-mentioned one or more programs are executed by the domain name resolution device, the domain name resolution device is enabled to: when the core network device receives a domain name resolution request, selects a target application load balancing device in a normal state according to the conditional routing table, and forwards the domain name resolution request to the target application load balancing device; the target application load balancing device selects a target DNS in a normal state, and forwards the domain name resolution request to the target DNS; the target DNS performs forwarding or resolution operations based on the domain name resolution request.
[0198] Computer program code for performing the operations of the present application may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0199] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0200] The modules involved in the embodiments of the present application may be implemented by software or hardware, wherein the name of the module does not limit the unit itself in some cases.
[0201] The readable storage medium provided by the present application is a computer-readable storage medium, which stores a computer program for executing the above-mentioned domain name resolution method, and can solve the technical problem of insufficient reliability of domain name resolution. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided by the present application are the same as the beneficial effects of the domain name resolution method provided by the above-mentioned embodiment, and will not be repeated here.
[0202] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.
Claims
1. A domain name resolution method, characterized in that: Applied to a domain name server DNS architecture, the DNS architecture includes a core network device, several application load balancing devices and several DNSs, one end of the application load balancing device is connected to the core network device, and the other end is connected to the DNS, the method includes: When the core network device receives the domain name resolution request, it selects a target application load balancing device in a normal state according to the conditional routing table, and forwards the domain name resolution request to the target application load balancing device; The target application load balancing device selects a target DNS in a normal state, and forwards the domain name resolution request to the target DNS; The target DNS performs a forwarding or resolution operation based on the domain name resolution request.
2. The method according to claim 1, characterized in that The step of the target application load balancing device selecting a target DNS in a normal state comprises: The target application load balancing device calculates the metric values of all the subordinate DNSs; The DNS with the smallest metric value is used as the target DNS.
3. The method according to claim 1, characterized in that When the core network device receives the domain name resolution request, before the step of selecting a target application load balancing device in a normal state according to the conditional routing table and forwarding the domain name resolution request to the target application load balancing device, the step further includes: The application load balancing device performs health checks on all subordinate DNSs; If all the subordinate DNS health checks fail, the conditional routing corresponding to the application load balancing device is deleted from the conditional routing table.
4. The method according to claim 3, characterized in that The step of applying a load balancing device to perform health detection on all subordinate DNSs includes: The application load balancing device sends a preset domain name to the subordinate DNS; If the address to be verified returned by the DNS based on the preset domain name is received, and the address to be verified is the same as the preset address, determining a performance indicator of the DNS, the performance indicator including at least one of response time, throughput, and number of connections; If the performance index of the DNS does not meet the preset index requirements, the health check will fail.
5. The method according to claim 1, characterized in that The DNS includes an authoritative DNS. When the core network device receives a domain name resolution request, the step of selecting a target application load balancing device in a normal state according to the conditional routing table includes: If the core network device is placed in front of the authoritative DNS, the application load balancing device in normal status is screened; If the screening result is associated with the main plane, setting the application load balancing device in front of the main plane as the target application load balancing device; If the screening result is not associated with the primary plane, the application load balancing device in front of the backup plane is set as the target application load balancing device.
6. The method according to claim 5, characterized in that If the core network device is placed in front of the authoritative DNS, before the step of screening the application load balancing device in normal state, it also includes: The unified configuration management platform sends configuration delivery data to the main plane; The main plane sends data according to the configuration and performs initial configuration operations.
7. The method according to claim 6, characterized in that The step of the main plane sending data according to the configuration and performing the initial configuration operation includes: The synchronization group in the main plane sends data according to the configuration and performs synchronization configuration operations.
8. The method according to claim 6, characterized in that After the step of the main plane sending data according to the configuration and performing the initial configuration operation, the method further includes: When the backup plane triggers a scheduled task, it sends an asynchronous configuration request to the primary plane; The primary plane sends configuration update data to the backup plane according to the asynchronous configuration request; The backup plane updates data according to the configuration and performs an asynchronous configuration operation.
9. A domain name resolution device, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the domain name resolution method according to any one of claims 1 to 8.
10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the domain name resolution method according to any one of claims 1 to 8 are implemented.