Domain name resolution method and device based on cloud computing technology
By recording the correspondence between domain name, private attribute and IP address in the domain name resolution service node, and carrying private attribute information in the domain name resolution request of the terminal device, the problem of changes in the domain name resolution result caused by changes in the terminal device's location is solved, and service stability and availability are improved.
Patent Information
- Application Number
- CN202410626984.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-27
- Filing Date
- 2024-05-20
- Publication Date
- 2025-06-27
AI Technical Summary
When a terminal device accesses a business website, the domain name resolution results change due to changes in the terminal device's location, resulting in a decrease in service stability and availability.
By recording the correspondence between domain name, private attribute and IP address in the domain name resolution service node, and carrying private attribute information in the domain name resolution request sent by the terminal device, we ensure that the domain name resolution results do not change due to changes in the terminal device's location.
It enables the terminal device to remain connected to the original target server after the location changes, improving service stability and availability.
Smart Images

Figure CN120223672A_ABST
Abstract
Description
[0001] This application claims the priority of a Chinese patent application with the application number 202311823860.0 and the invention title "A Scheduling Maintenance Method and Device", which was filed with the China National Intellectual Property Administration on December 27, 2023. The entire content of this Chinese patent application is incorporated herein by reference. Technical Field
[0002] Embodiments of this application relate to the field of cloud computing, and in particular, to a domain name resolution method and device based on cloud computing technology. Background Art
[0003] With the rapid development of the Internet and the popularization of mobile terminal devices, it has become normal for people to use application programs in terminal devices to access business websites for activities such as shopping, chatting, and video interaction. In order to cope with the business characteristics of a large number of users accessing websites through terminal applications, sudden traffic, high requirements for access latency, and high requirements for reliability, the server side of the websites accessed by terminal devices mostly adopts a distributed and cross-regional deployment method. Therefore, how to schedule the access traffic of application programs on the server clusters in each region as needed has become a new business challenge.
[0004] In the current cross-regional scheduling technology for terminal devices to access business websites, the terminal device sends a domain name resolution request to a domain name (domain name service, DNS) server. During the domain name resolution process, the domain name server determines the location information of the terminal device based on the source IP address of the terminal device, then determines the IP address according to the location information of the terminal device and matching resolution rules, and finally the domain name server returns the IP address corresponding to the domain name resolution request to the terminal device.
[0005] However, when the location of the terminal device changes, the domain name server still matches the resolution rules according to the location information of the terminal device, which will cause the IP address returned by the domain name resolution request to change, resulting in the terminal device being unable to continuously schedule to the same target server, and deteriorating the service stability and service availability of the terminal device. Summary of the Invention
[0006] Embodiments of this application provide a domain name resolution method based on cloud computing technology. The domain name resolution service node can perform domain name resolution based on the private attribute information carried in the domain name resolution request sent by the terminal device, so that when the location of the terminal device changes, the domain name resolution result of the domain name resolution service node does not change, thereby improving the service stability and service availability of the terminal device. Embodiments of this application also provide a domain name resolution device based on cloud computing technology, a computing device, a computing device cluster, a computer-readable storage medium, and a computer program product corresponding to the domain name resolution method based on cloud computing technology.
[0007] In a first aspect, an embodiment of the present application provides a domain name resolution method based on cloud computing technology. This method can be executed by a cloud system, or by components of the cloud system, such as a processor, a chip, or a chip system of the cloud system, or can also be implemented by a logic module or software that can implement all or part of the functions of the cloud system. The cloud system includes a cloud management platform and a domain name resolution service node. The cloud management platform is used to manage the infrastructure that provides cloud services. The infrastructure includes data centers set in multiple different regions, and at least one of the multiple data centers is provided with a domain name resolution service node. The method provided in the first aspect includes: The cloud management platform receives domain name configuration information input by a tenant. The domain name configuration information includes a domain name, a private attribute, and a first destination IP address. The private attribute is an attribute defined by the tenant for the type of terminal device for accessing the first destination access node. The domain name is the domain name of the first destination access node on the public network, and the first destination IP address is the public network IP address of the first destination access node on the public network. The cloud management platform sends the domain name, the private attribute, and the first destination IP address to the domain name resolution service node. The domain name resolution service node records the first correspondence relationship among the domain name, the private attribute, and the first destination IP address. The domain name resolution service node receives a first domain name resolution request sent by a first terminal device. The first domain name resolution request carries the domain name and the private attribute, where the first terminal device is located outside the infrastructure. The domain name resolution service node queries the first correspondence relationship according to the domain name and the private attribute carried in the first domain name resolution request to confirm the first destination IP address, and returns the first destination IP address to the first terminal device.
[0008] In the embodiment of the present application, the domain name resolution service node can record the first correspondence relationship among the domain name, the private attribute, and the first destination IP address based on the domain name configuration information, so that when the first terminal device sends a first domain name resolution request to the domain name resolution service node, the domain name resolution service node can query the first pair relationship according to the domain name and the private attribute carried in the first domain name resolution request to resolve the IP address corresponding to the domain name. Since the private attribute does not change with the location of the first terminal device, therefore, the domain name resolution result of the domain name by the domain name resolution service node based on the private attribute will not change with the location of the terminal device, that is, the terminal device can still maintain access to the original target server after the location changes, thereby improving the service stability and service availability of the terminal device.
[0009] In a possible implementation, a domain name resolution service node receives a second domain name resolution request sent by a first terminal device. The second domain name resolution request carries a domain name and a private attribute. Here, the first terminal device sends the second domain name resolution request after moving from a first region to a second region, and the second region and the first region are located in different geographical regions. The domain name resolution service node queries a first correspondence according to the domain name and the private attribute carried in the second domain name resolution request to confirm a first destination IP address, and returns the first destination IP address to the first terminal device.
[0010] In the embodiment of the present application, when the first terminal device sends a second domain name resolution request in different geographical regions, since the domain name and the private attribute carried in the second domain name resolution request are the same as those carried in the first domain name resolution request, the domain name resolution service node can resolve the second domain name resolution request to obtain the same destination IP address, thereby improving the service stability and service availability of the terminal device.
[0011] In a possible implementation, the first domain name resolution request further includes a first public network IP address assigned to the first terminal device when it is in the first region, and the second domain name resolution request further includes a second public network IP address assigned to the first terminal device when it is in the second region. The first public network IP address is associated with the first region, the second public network IP address is associated with the second region, and the first public network IP address is different from the second public network IP address.
[0012] In the embodiment of the present application, the public network IP addresses carried in the domain name resolution requests sent by the first terminal device in different geographical regions are different. The domain name resolution service node can also determine the geographical region of the first terminal device based on the first public network IP address carried in the first domain name resolution request, thereby improving the accuracy of the domain name resolution service node in identifying the location of the terminal device.
[0013] In a possible implementation, a domain name resolution service node receives a third domain name resolution request sent by a second terminal device. The third domain name resolution request includes a domain name, a private attribute, and a third public network IP address of the second terminal device. The domain name resolution service node queries a first correspondence according to the domain name and the private attribute carried in the third domain name resolution request to confirm a first destination IP address, and returns the first destination IP address to the second terminal device according to the first correspondence, where the second terminal device is located outside the infrastructure.
[0014] In the embodiment of the present application, the domain name resolution service node queries a first correspondence according to the domain name and the private attribute carried in the third domain name resolution request to confirm a first destination IP address, that is, the domain name resolution service node performs domain name resolution based on the domain name and the private attribute. After the terminal device changes, the same domain name resolution result can still be obtained based on the domain name and the private attribute, thereby improving the service stability and service availability of the terminal device.
[0015] In a possible implementation, a first application is set in the first terminal device, and a first domain name resolution request is generated when the first application runs. For example, when the first terminal device needs to access a domain name during the operation of the first application, the first terminal device generates a domain name resolution request corresponding to the domain name.
[0016] In the embodiments of the present application, the terminal device can generate a domain name resolution request when running an application, thereby improving the feasibility of the domain name resolution method in the embodiments of the present application.
[0017] In a possible implementation, the domain name resolution service node records the domain name, the IP address segment to which the first public network IP address belongs, and the second correspondence with the second destination IP address, where the IP address segment is associated with the first region, and the second destination IP address is the public network IP address of the first destination access node in the public network. The domain name resolution service node receives a fourth domain name resolution request sent by the first terminal device, and the fourth domain name resolution request carries the domain name and the first public network IP address. The domain name resolution service node queries the second correspondence according to the domain name and the first public network IP address carried in the fourth domain name resolution request to confirm the second destination IP address, and returns the second destination IP address to the first terminal device.
[0018] In the embodiments of the present application, the domain name resolution service node can also query the second correspondence according to the domain name and the first public network IP address carried in the fourth domain name resolution request to confirm the second destination IP address, that is, the domain name resolution service node performs domain name resolution based on the domain name and the first public network IP address corresponding to the first terminal device, thereby improving the feasibility of the domain name resolution solution.
[0019] In a possible implementation, a second application is set in the first terminal device, and a second domain name resolution request is generated when the second application runs.
[0020] In a possible implementation, the attributes of the terminal device type include the vehicle model or the mobile phone model. The terminal device includes vehicles, in-vehicle devices, and mobile phones.
[0021] The domain name resolution method provided in the embodiments of the present application can be applied to various terminal devices such as vehicles, in-vehicle devices, and mobile phones, thereby improving the richness of the application scenarios of the domain name resolution method.
[0022] In a possible implementation, the domain name server domain name service node generates a domain name storage structure based on the domain name configuration information, and the domain name storage structure includes one or more groups of mapping relationships, and the mapping relationship includes the mapping relationship between one or more groups of domain names, private attributes, and destination IP addresses.
[0023] In the embodiment of the present application, the domain name resolution system can pre-configure the mapping relationship between the domain name, the private attribute information, and the IP address to the domain name service node through the domain name configuration information, so that the domain name service node can perform domain name resolution based on the private attribute information in the domain name resolution request, thereby improving the feasibility of the solution.
[0024] In a possible implementation manner, when the domain name service node determines the domain name resolution result based on the private attribute in the domain name resolution request, the domain name service node queries the domain name storage structure based on the domain name and the private attribute information, and determines the IP address that has a mapping with both the domain name and the private attribute information. The domain name service node generates the domain name resolution result based on the IP address.
[0025] In the embodiment of the present application, the domain name service node can query the IP address corresponding to the domain name and the private attribute information in the domain name storage structure during the process of performing domain name resolution, thereby improving the accuracy of the domain name service node in generating the domain name resolution result.
[0026] In a possible implementation manner, during the process of the domain name service node querying the domain name storage structure based on the domain name and the private attribute, if the IP address corresponding to the private attribute information does not exist in the domain name storage structure, the domain name service node determines the IP address corresponding to the domain name based on the default private attribute information in the domain name storage structure. The default private attribute information is the private attribute information configured in the scheduling policy configuration message received by the domain name service node.
[0027] In the embodiment of the present application, the domain name resolution system can pre-configure the mapping relationship between the domain name, the default private attribute information, and the IP address in the domain name storage structure, so that when the domain name service node cannot query the private attribute information in the domain name resolution request in the domain name storage structure, it can determine the IP address corresponding to the domain name based on the default private attribute information, thereby avoiding the domain name resolution failure caused by incorrect private attribute information and improving the reliability of the domain name resolution.
[0028] In a possible implementation manner, during the process of the domain name service node receiving the domain name resolution request sent by the terminal device, the domain name service node receives the domain name resolution request sent by the terminal device based on the Extended Domain Name System (EDNS) protocol, and the private attribute information is carried in the Resource Record (RR) field of the domain name resolution request.
[0029] In the embodiment of the present application, the terminal device can send a domain name resolution request based on the Extended Domain Name System (EDNS) protocol and carry the private attribute information in the Resource Record (RR) field of the domain name resolution request, thereby improving the feasibility of the solution.
[0030] In a possible implementation, the private attribute information in the domain name resolution requests sent by the terminal device at different locations is the same, that is, the private attribute information of the terminal device does not change with the location of the terminal device.
[0031] In the embodiments of the present application, the private attribute information of the terminal device does not change with the change of the location of the terminal device, so that the domain name resolution result generated by the domain name service node based on the private attribute information does not change, realizing the scheduling retention of the terminal device and improving the service stability and service availability of the terminal device.
[0032] In a possible implementation, when the terminal device is a vehicle or an in-vehicle terminal device, the private attribute information is the vehicle model or the in-vehicle device model. When the vehicle moves from the first area to the second area, since the vehicle model of the vehicle does not change, therefore, the domain name service determines that the domain name resolution result based on the vehicle model in the domain name resolution request will not change either. When the vehicle moves from the first area to the second area, the traffic of the vehicle still remains on the target server corresponding to the original IP address.
[0033] The domain name resolution method provided by the embodiments of the present application can be applied to the vehicle networking scenario. In scenarios such as vehicle networking, vehicles move across regions disorderly, and the network information they access will also change when the regional location changes. The domain name resolution method provided by the embodiments of the present application can make the traffic of the vehicle still remain scheduled on the same target server when the location of the vehicle changes, thereby improving the service availability and service stability of the vehicle application program.
[0034] In a possible implementation, the domain name service node includes one or more of the following: a local domain name service node, a root domain name service node, a top-level domain name service node, and an authoritative domain name service node. The domain name service node can resolve the domain name resolution request based on the iterative query or recursive query method. In the iterative query method, after the terminal device sends a domain name resolution request to the local domain name service node, the local domain name service node iteratively sends domain name resolution requests to the root domain name service node, the top-level domain name service node, and the authoritative domain name service node in sequence, and finally the authoritative domain name service node returns the domain name resolution result to the local domain name service node. In the recursive query method, after the terminal device sends a domain name resolution request to the local domain name service node, the local domain name service node sends a domain name resolution request to the root domain name service node, and the root domain name service node sends domain name resolution requests to the top-level domain name service node and the authoritative domain name service node in a recursive manner in sequence, and finally the root domain name service node returns the recursively obtained domain name resolution result to the local domain name service node.
[0035] The domain name service nodes in the embodiments of the present application can be one or more different types of domain name service nodes. The different domain name service nodes perform domain name resolution through iterative query and recursive query methods, thereby enhancing the richness and feasibility of the domain name resolution method in the embodiments of the present application.
[0036] In a possible implementation manner, the domain name service node provides a software development kit DNS-SDK for domain name resolution service to the terminal device. The software development kit for domain name resolution service can be applied in the application program of the terminal device. Before sending a domain name resolution request, the terminal device can set the private attribute information of the terminal device through the software development kit for domain name resolution service.
[0037] In the embodiments of the present application, the terminal device can set the private attribute information through the software development kit for domain name resolution service and carry the private attribute information when initiating a domain name resolution request, thereby enhancing the feasibility of setting the private attribute of the terminal device.
[0038] In a possible implementation manner, after receiving the domain name resolution request message sent by the terminal device, the domain name service node parses the domain name resolution request message to obtain the operation code in the resource record RR field in the domain name resolution request message. If the operation code carried in the RR field in the domain name resolution request message is consistent with the operation code agreed upon by the domain name service node, it indicates that the RDATA field in the resource record in the domain name resolution request message carries private attribute information. The domain name service node can read the private attribute information from the RDATA field.
[0039] In the embodiments of the present application, the domain name service node can determine whether the domain name resolution request carries private attribute information based on the operation code in the resource record field of the domain name resolution request, thereby improving the resolution efficiency of the domain name service node for the domain name resolution request.
[0040] In a second aspect, an embodiment of the present application provides a cloud system, which includes a cloud management platform and a domain name resolution service node. Among them, the cloud management platform includes a receiving module and a sending module. The receiving module is used to receive domain name configuration information input by a tenant. The domain name configuration information includes a domain name, a private attribute, and a first destination IP address. The private attribute is an attribute of the type of terminal device defined by the tenant for accessing the first destination access node. The domain name is the domain name of the first destination access node on the public network, and the first destination IP address is the public network IP address of the first destination access node on the public network. The sending module is used to send the domain name, the private attribute, and the first destination IP address to the domain name resolution service node. The domain name resolution service node includes a recording module, a receiving module, and a sending module. The recording module is used to record the first correspondence relationship among the domain name, the private attribute, and the first destination IP address. The receiving module is used to receive a first domain name resolution request sent by a first terminal device. The first domain name resolution request carries the domain name and the private attribute, where the first terminal device is located outside the infrastructure. The sending module is further used to query the first correspondence relationship according to the domain name and the private attribute carried in the first domain name resolution request to confirm the first destination IP address, and return the first destination IP address to the first terminal device.
[0041] In a possible implementation manner, the first terminal device is located in a first area. The first terminal device located in the first area sends the first domain name resolution request. The receiving module of the domain name resolution service node is further used to receive a second domain name resolution request sent by the first terminal device. The second domain name resolution request carries the domain name and the private attribute, where the first terminal device sends the second domain name resolution request after moving from the first area to a second area, and the second area and the first area are located in different geographical areas. The sending module of the domain name resolution service node is further used to query the first correspondence relationship according to the domain name and the private attribute carried in the second domain name resolution request to confirm the first destination IP address, and return the first destination IP address to the first terminal device.
[0042] In a possible implementation manner, the first domain name resolution request further includes a first public network IP address assigned to the first terminal device when it is located in the first area, and the second domain name resolution request further includes a second public network IP address assigned to the first terminal device when it is located in the second area. The first public network IP address is associated with the first area, the second public network IP address is associated with the second area, and the first public network IP address is different from the second public network IP address.
[0043] In a possible implementation manner, the receiving module of the domain name resolution service node is further configured to receive a third domain name resolution request sent by a second terminal device, where the second domain name resolution request includes a domain name, a private attribute, and a third public network IP address of the second terminal device. The sending module of the domain name resolution service node is further configured to query a first corresponding relationship according to the domain name and the private attribute carried in the third domain name resolution request to confirm a first destination IP address, and return the first destination IP address to the second terminal device according to the first corresponding relationship, where the second terminal device is located outside the infrastructure.
[0044] In a possible implementation manner, a first application program is set in the first terminal device, and a first domain name resolution request is generated when the first application program runs.
[0045] In a possible implementation manner, the recording module of the domain name resolution service node is configured to record a domain name, an IP address segment to which the first public network IP address belongs, and a second corresponding relationship with a second destination IP address, where the IP address segment is associated with a first area, and the second destination IP address is the public network IP address of the first destination access node in the public network. The receiving module of the domain name resolution service node is further configured to receive a fourth domain name resolution request sent by the first terminal device, where the fourth domain name resolution request carries the domain name and the first public network IP address. The sending module of the domain name resolution service node is further configured to query the second corresponding relationship according to the domain name and the first public network IP address carried in the fourth domain name resolution request to confirm the second destination IP address, and return the second destination IP address to the first terminal device.
[0046] In a possible implementation manner, a second application program is set in the first terminal device, and a second domain name resolution request is generated when the second application program runs.
[0047] In a possible implementation manner, the attributes of the terminal device type include a car model or a mobile phone model.
[0048] In a third aspect, an embodiment of the present application provides a cloud management platform device, where the cloud management platform device includes a processor, the processor is coupled to a memory, and the memory is used to store instructions. When the instructions are executed by the processor, the cloud management platform device is caused to execute the method performed by the cloud management platform in the first aspect or any possible implementation manner of the first aspect.
[0049] In a fourth aspect, an embodiment of the present application provides a domain name resolution device, where the domain name resolution device includes a processor, the processor is coupled to a memory, and the memory is used to store instructions. When the instructions are executed by the processor, the domain name resolution device is caused to execute the method performed by the domain name resolution service node in the first aspect or any possible implementation manner of the first aspect.
[0050] Fifth aspect, an embodiment of the present application provides a computing device cluster, which includes one or more computing devices. Each computing device includes a processor coupled to a memory. The processor is configured to store instructions. When the instructions are executed by the processor, the computing device cluster is caused to execute the method described in the first aspect or any possible implementation manner of the first aspect.
[0051] Sixth aspect, an embodiment of the present application provides a computer-readable storage medium, on which instructions are stored. When the instructions are executed, a computer is caused to execute the method described in the above first aspect or any possible implementation manner of the first aspect.
[0052] Seventh aspect, an embodiment of the present application provides a computer program product, which includes instructions. When the instructions are executed, a computer is caused to implement the method described in the above first aspect or any possible implementation manner of the first aspect.
[0053] It can be understood that the beneficial effects that can be achieved by any of the above-provided cloud systems, cloud management platform devices, domain name resolution devices, computing device clusters, computer-readable media, or computer program products can refer to the beneficial effects in the corresponding methods, which will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Figure 1 FIG. is a schematic diagram of the system architecture of a domain name resolution system provided by an embodiment of the present application;
[0055] Figure 2 FIG. is a schematic flowchart of a domain name resolution method based on cloud computing technology provided by an embodiment of the present application;
[0056] Figure 3 FIG. is a schematic flowchart of another domain name resolution method based on cloud computing technology provided by an embodiment of the present application;
[0057] Figure 4a FIG. is a schematic flowchart of another domain name resolution method based on cloud computing technology provided by an embodiment of the present application;
[0058] Figure 4b FIG. is a schematic flowchart of another domain name resolution method based on cloud computing technology provided by an embodiment of the present application;
[0059] Figure 5 FIG. is a schematic diagram of vehicle scheduling and maintenance provided by an embodiment of the present application;
[0060] Figure 6 FIG. is a schematic structural diagram of a domain name resolution device provided by an embodiment of the present application;
[0061] Figure 7A schematic structural diagram of a computing device provided by an embodiment of the present application;
[0062] Figure 8 A schematic structural diagram of a computing device cluster provided by an embodiment of the present application;
[0063] Figure 9 A schematic structural diagram of another computing device cluster provided by an embodiment of the present application. Detailed implementation manners
[0064] An embodiment of the present application provides a domain name resolution method and device based on cloud computing technology, which are used to improve the service stability and service availability after the terminal device moves.
[0065] In the description and claims of the present application and the above-mentioned drawings, terms such as "first", "second", "third", "fourth", etc. (if any) are used to distinguish similar objects, and do not necessarily describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments described here can be implemented in an order other than that illustrated or described here. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units does not necessarily limit to those clearly listed steps or units, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0066] In the embodiments of the present application, words such as "exemplary" or "for example" are used to represent examples, illustrations or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the embodiments of the present application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present relevant concepts in a specific manner.
[0067] First, some terms involved in the embodiments of the present application are introduced to facilitate those skilled in the art to understand the technical solution.
[0068] The domain name system (DNS) is a distributed database system in the Internet used to convert domain names into corresponding IP addresses. The domain name system resolves domain names through a series of domain name servers to ensure that when a user's terminal device accesses a website, it can accurately find the IP address of the website, thereby establishing a connection and loading the web page content.
[0069] The authoritative Domain Name System (Auth DNS) refers to the DNS server responsible for managing and maintaining the resolution records of specific domain names. The authoritative DNS server holds the authoritative information of the domain name, that is, the IP address corresponding to the domain name and other relevant records, which are verified and authorized and thus considered authoritative information.
[0070] To make the technical solution of this application clearer and easier to understand, the system architecture of this application will be introduced below with reference to the accompanying drawings.
[0071] Please refer to Figure 1 , Figure 1 which is a schematic diagram of the system architecture of a domain name resolution system provided for an example of this application. In Figure 1 the example shown, the domain name resolution system 10 includes a terminal device 101, a domain name resolution service node 102, and a cloud management platform 103. Among them, the domain name resolution service node 102 is set in one or more servers in the cloud system data center, and the cloud system includes the domain name resolution service node 102 and the cloud management platform 103. The domain name service node 102 can be various types of domain name servers. For example, the local domain name server 1021, the root domain name server 1022, the top-level domain name server 1023, and the authoritative domain name server 1024. The specific functions of each part of the domain name resolution system 10 will be introduced below.
[0072] The terminal device 101 is a user device connected to the Internet. For example, the terminal device 101 includes but is not limited to mobile phones, tablet computers, laptop computers, vehicles, and in-vehicle terminal devices, etc. The terminal device 101 is used to send a domain name resolution request to the domain name server 102. The domain name resolution request includes the domain name that the terminal device 101 wants to access. The domain name resolution request is used to request the IP address corresponding to the domain name from the domain name server 102, so as to establish a connection between the terminal device 101 and the target server according to the IP address corresponding to the domain name.
[0073] The domain name service node 102 is used to resolve the domain name resolution request sent by the terminal device 101, so as to obtain the IP address corresponding to the domain name. The mapping relationship between the domain name and the IP address is stored in the resolution service node 102. The domain name resolution service node 102 can also be called a domain name resolution server or a domain name server. The domain name resolution service node 102 can be divided into multiple levels of domain name servers according to the structural hierarchy. The multiple levels of domain name servers include the local domain name server 1021, the root domain name server 1022, the top-level domain name server 1023, and the authoritative domain name server 1024.
[0074] The local domain name server 1021 refers to the domain name server of the local network connection of the terminal device 101, also known as the default domain name server. The local domain name server 1021 is used to cache the mapping relationship between the recently resolved domain name and the IP address, so as to accelerate subsequent domain name resolution. For example, when the terminal device 101 accesses the same domain name again, the terminal device 101 can directly obtain the IP address corresponding to the domain name from the local domain name server 1021.
[0075] When the user of the terminal device 101 wants to access a domain name, the terminal device 101 will first initiate a domain name resolution request to the local domain name server 1021 to resolve the IP address corresponding to the domain name. When the local domain name server 1021 cannot resolve the domain name, it will initiate a domain name resolution request to other hierarchical domain name servers.
[0076] The root domain name server 1022 is the highest-level domain name server, which is used to manage and maintain the authoritative information of the top-level domain name server and provide domain name resolution services. For example, when the terminal device 101 performs domain name resolution, when the local domain name server 1021 cannot resolve a certain domain name, the local domain name server 1021 will first send a domain name resolution request to the root domain name server 1022. The root domain name server 1022 will return the IP address of the top-level domain name server 1023 according to the domain name resolution request, so that the domain name resolution request can continue.
[0077] The domain name resolution services provided by the root domain name server 1022 include iterative query and recursive query. Iterative query means that the local domain name server 1021 sends a domain name resolution request to the root domain name server 1022, and the root domain name server 1022 returns the address of the next-level domain name server, and the local domain name server 1021 sends a domain name resolution request to the next-level domain name server. Recursive query means that the local domain name server 1021 sends a domain name resolution request to the root domain name server 1022, and the root domain name server 1022 performs a hierarchical query to the next-level domain name server, and finally the root domain name server 1022 returns the final domain name resolution result to the local domain name server 1021.
[0078] The top-level domain name server 1023 is the next-level domain name server of the root domain name server 1022, which is used to manage the domain name resolution information under a specific top-level domain name. Among them, the top-level domain names include generic top-level domain names and country-code top-level domain names. Generic top-level domain names such as.com and.org, and country-code top-level domain names such as.cn.
[0079] In addition, the top-level domain name server 1023 is also used to record and manage the registration information of each top-level domain name, including the domain name owner and registrar, etc. The top-level domain name server 1023 is also used to manage and update the domain name server list related to a specific top-level domain name to ensure the accuracy and availability of domain name resolution. When the top-level domain name server 1023 cannot directly resolve a certain domain name, the top-level domain name server 1023 can also forward the request to the next-level domain name server for resolution.
[0080] The authoritative domain name server 1024 is the next-level domain name server of the top-level domain name server 1023 and is used to store the domain name resolution information of a specific domain name. The domain name resolution information includes the host name and the IP address. The authoritative domain name server 1023 is the authoritative source of data in the domain name resolution system 10. Each domain name has a corresponding authoritative domain name server. When the terminal device 101 or other domain name servers need to obtain the domain name resolution information of a certain domain name, they will initiate a query request to the authoritative domain name server 1024 corresponding to the domain name to obtain the most accurate domain name resolution information.
[0081] The cloud management platform 103 is used to manage the infrastructure that provides cloud services. The infrastructure includes data centers set in multiple different regions. At least one server in the multiple data centers is provided with a domain name resolution service node 102. The domain name resolution service node 102 can be a virtual instance set in the server. Different domain name resolution service nodes 102 can be set in different domain name servers of the data center. For example, the local domain name server 1021, the root domain name server 1022, the top-level domain name server 1023, and the authoritative domain name server 1024 can be respectively set in different servers of the data center.
[0082] Based on Figure 1 the domain name resolution system 10 shown above, the present application also provides a domain name resolution method based on cloud computing technology. The following will introduce the domain name resolution method provided by the embodiments of the present application in conjunction with the embodiments.
[0083] Please refer to Figure 2 , Figure 2 which is a schematic flowchart of a domain name resolution method provided by an embodiment of the present application. In Figure 2 the example shown above, the method includes the following steps:
[0084] 201. The cloud management platform receives the domain name configuration information input by the tenant. The domain name configuration information includes the domain name, the private attribute, and the first destination IP address.
[0085] The cloud management platform receives the domain name configuration information input by the tenant. The domain name configuration information is used for the domain name resolution service node 102 to perform domain name resolution. The domain name configuration information includes a domain name, a private attribute, and a first destination IP address. The private attribute is an attribute defined by the tenant for the type of terminal device accessing the first destination access node, and can also be referred to as private attribute information. The domain name is the domain name of the first destination access node on the public network, and the first destination IP address is the public network IP address of the first destination access node on the public network.
[0086] 202. The cloud management platform sends the domain name, the private attribute, and the first destination IP address to the domain name resolution service node.
[0087] The cloud management platform 103 sends the above domain name configuration information to the domain name resolution service node 102. The domain name configuration information includes a domain name, a private attribute, and a first destination IP address. That is, the cloud management platform 103 needs to configure the mapping relationship between the domain name, the private attribute, and the first destination IP address for the domain name resolution service node 102, so that the domain name resolution server can perform domain name resolution based on this mapping relationship.
[0088] 203. The domain name resolution service node records the first correspondence relationship of the domain name, the private attribute, and the first destination IP address.
[0089] After the domain name resolution service node 102 receives the domain name, the private attribute, and the first destination IP address sent by the cloud management platform 103, the domain name resolution service node 102 records the first correspondence relationship of the domain name, the private attribute, and the first destination IP address.
[0090] It can be understood that the domain name configuration information received by the domain name resolution service node 102 includes one or more groups of mapping relationships between the domain name, the private attribute information, and the IP address. This mapping relationship is the first correspondence relationship, and the IP address includes the first destination IP address. The domain name resolution service node 102 generates a domain name storage structure based on the domain name configuration information. The domain name storage structure includes the above one or more groups of mapping relationships, and the domain name storage structure is used for the domain name resolution service node 102 to perform domain name resolution.
[0091] Please refer to Figure 3 , Figure 3 which is a schematic flow diagram of another domain name resolution method provided by the embodiment of the present application. In Figure 3In step a of the illustrated example, the domain name resolution service node 102 provides an application programming interface for providing domain name configuration to users. Since this application programming interface can also configure private attributes, it can also be referred to as an application programming interface for private attribute configuration. The user sends domain name configuration information to the domain name resolution service node 102 through this application programming interface, configures the domain name through the "domain_name" field in the domain name configuration information, configures private attribute information through the "tag" field, and configures the IP address corresponding to the private attribute information through the "value" field. For example, in Figure 3 In an illustrated example, the domain name configuration message satisfies the following code:
[0092]
[0093] In Figure 3 In the illustrated example, the domain name resolution service node 102 generates a domain name storage structure based on the domain name configuration message. The domain name storage structure includes a mapping relationship between one or more groups of different domain names, different private attribute information, and different IP addresses. For example, the domain name storage structure generated by the domain name resolution service node 102 based on the domain name configuration information satisfies Table 1 below.
[0094] Table 1
[0095] Domain Name … Private Attribute Information (tag) IP Address (value) server.example.com … M5 X.X.X.1 server.example.com … M7 X.X.X.2 server.example.com … M8 X.X.X.3 server.example.com … Default X.X.X.4
[0096] In the domain name storage structure shown in Table 1, for example, there is a mapping relationship, that is, a first correspondence relationship, between the domain name "server.example.com", the private attribute information "M5", and the IP address "X.X.X.1". The domain name resolution service node 102 can complete the parsing process of the domain name resolution request by querying the mapping relationship in the domain name storage structure, so as to obtain the IP address corresponding to the domain name and the private attribute information.
[0097] 204. The first terminal device sends a first domain name resolution request to the domain name resolution service node. The first domain name resolution request carries the domain name and the private attribute.
[0098] The first terminal device sends a first domain name resolution request to the domain name resolution service node 102. The first domain name resolution request carries the domain name and the private attribute. For example, the terminal device 101 sends a domain name resolution request to the domain name resolution service node 102. The domain name resolution request includes the domain name and the private attribute. The domain name is the domain name that the terminal device 101 wants to access, and the private attribute is used to indicate the custom attribute of the terminal device 101. Among them, the custom attribute includes the device model of the terminal device 101.
[0099] In the embodiment of the present application, the domain name resolution service node 102 provides a software development kit DNS-SDK for domain name resolution services. The software development kit for domain name resolution services can be applied in the application programs of the terminal device 101. Before initiating a service access, the terminal device 101 can set its private attribute information through the software development kit for domain name resolution services.
[0100] In a possible implementation, the domain name resolution service node 102 receives a second domain name resolution request sent by the first terminal device. The second domain name resolution request carries a domain name and private attributes. Among them, the first terminal device sends the second domain name resolution request after moving from the first area to the second area, and the second area and the first area are located in different geographical areas. In the embodiment of the present application, the private attribute information carried in the domain name resolution requests sent by the first terminal device at different positions is the same, that is, the private attribute information of the terminal device 101 does not change with the position of the terminal device 101.
[0101] Please continue to refer to Figure 3 , in Figure 3 In step b of the example shown, before the terminal device 101 sends a first domain name resolution request to the domain name resolution service node 102, it can set the private attribute information of the terminal device 101 through the software development kit for domain name resolution services. Since the private attribute information of the terminal device 101 does not change with the position of the terminal device 101, terminal devices 101 at different positions have the same private attribute information. For example, in Figure 3 In the example shown, the domain name resolution requests sent by the terminal device 101 in areas 1 to area n have common private attribute information.
[0102] In a possible implementation, a first application program is set in the first terminal device, and a first domain name resolution request is generated when the first application program runs. For example, when the user of the first terminal device enters the domain name to be accessed in the browser and the first terminal device runs the browser application program, the first terminal device generates a first domain name resolution request corresponding to the domain name.
[0103] Please continue to refer to Figure 3 , in Figure 3 In step c of the example shown, after the terminal device 101 sets the private attribute information, the application program in the terminal device 101 sends a domain name resolution request to the domain name resolution service node 102. The domain name resolution request carries a domain name and private attribute information. Among them, the domain name is, for example, "server.example.com", and the private attribute information is, for example, "M5".
[0104] In a possible implementation, the terminal device 101 sends a domain name resolution request to the domain name resolution service node 102 based on the Extended Domain Name System (EDNS) protocol. Among them, the private attribute information is carried in the Resource Record (RR) field of the domain name resolution request. In the EDNS protocol, the terminal device 101 can encapsulate the private attribute information into the RDATA field of the RR in the domain name resolution request message based on the software development kit of the domain name resolution service.
[0105] Please refer to Figure 4a , Figure 4a which is a schematic structural diagram of a domain name resolution request message provided by an embodiment of this application. In Figure 4a the example shown, after the application program in the terminal device 101 sets the private attribute information, it initiates a domain name query. The terminal device 101 sends a domain name resolution request message to the domain name resolution service node 102, and the private attribute information of the terminal device 101 is encapsulated in the domain name resolution request message.
[0106] In Figure 4a the example shown, the message format of the domain name resolution request message sent by the terminal device 101 includes a Header field and an RR field, etc. Among them, the resource record field includes an RR (Answer) field, an RR (Authority) field, and an RR (Additional) field. The private attribute information of the terminal device 101 is encapsulated in the RDATA field of the RR (Additional) field.
[0107] Among them, the RDATA field includes an OPTION-CODE field, an OPTION-LENGTH field, and a private attribute identification field. The OPTION-CODE field is used to indicate whether the domain name resolution request message carries a private attribute identification. The OPTION-LENGTH field represents the length of the private attribute identification. The private attribute identification field is the specific content of the private attribute information, and the private attribute identification field is, for example, "M5".
[0108] 205. The domain name resolution service node queries the first corresponding relationship according to the domain name and the private attribute carried in the first domain name resolution request to confirm the first destination IP address.
[0109] After the domain name resolution service node 102 receives the domain name resolution request sent by the terminal device 101, the domain name resolution service node 102 determines the domain name resolution result based on the private attribute information in the domain name resolution request. The domain name resolution result includes the network protocol IP address corresponding to the domain name. There is a mapping relationship between the private attribute information and the IP address, and the IP address is used to indicate the target server corresponding to the domain name to the terminal device 101.
[0110] For example, after the domain name resolution service node 102 receives the first domain name request sent by the first terminal, the domain name resolution service node 102 queries the first corresponding relationship based on the domain name and private attribute carried in the first domain name resolution request to confirm the first destination IP address. This first destination IP address is the first destination access node that the first terminal device wants to access, and the destination access node can also be referred to as the target server.
[0111] Specifically, after the domain name resolution service node 102 receives the domain name resolution request message sent by the terminal device 101, it parses the domain name resolution request message to obtain the operation code in the resource record (RR) field of the domain name resolution request message. If the operation code carried in the domain name resolution request message is consistent with the operation code agreed upon by the domain name resolution service node 102, it indicates that the RDATA field of the resource record in the domain name resolution request message carries private attribute information. The domain name resolution service node 102 reads the private attribute information from the RDATA field.
[0112] Please continue to refer to Figure 4a , in Figure 4a In the example shown, during the process of the domain name resolution service node 102 parsing the domain name resolution request message sent by the terminal device 101, it first obtains the type field in the resource record field of the domain name resolution request message. If the value of the type field is "41", it indicates that the message format of this domain name resolution request message is the message format based on the EDNS protocol.
[0113] In Figure 4a In the example shown, the domain name resolution service node 102 further parses the RDATA field in the resource record field of the domain name resolution request message. If the operation code (OPTION-CODE) carried in the RDATA field is consistent with the operation code agreed upon by the domain name resolution service node 102, it indicates that the RDATA field of the resource record in this domain name resolution request message carries private attribute information. The domain name resolution service node 102 reads the private attribute information from the RDATA field as "M5".
[0114] In a possible implementation manner, after the first terminal device moves from the first area to the second area, it sends a second domain name resolution request. The second area and the first area are located in different geographical areas. The second domain name resolution request carries a domain name and a private attribute. Since the first domain name resolution request and the second domain name resolution request carry the same private attribute, the domain name resolution service node 102 still queries the first corresponding relationship based on the domain name and private attribute carried in the second domain name resolution request to confirm the first destination IP address.
[0115] In a possible implementation, the first domain name resolution request further includes a first public IP address assigned to the first terminal device when it is located in the first region, and this first public IP address is the source address of the first domain name resolution request. The second domain name resolution request further includes a second public IP address assigned to the first terminal device when it is located in the second region, and this second public IP address is the source address of the second domain name resolution request. The first public IP address is associated with the first region, the second public IP address is associated with the second region, and the first public IP address is different from the second public IP address.
[0116] Please refer to Figure 4b , Figure 4b which is a schematic flowchart of another domain name resolution method provided for the implementation of this application. In steps a to d of the example shown in Figure 4b , the first terminal device sends the first domain name resolution request and the second domain name resolution request in different regions respectively. Although the source public IP addresses of the first domain name resolution request and the second domain name resolution request are different, the domain names and private attributes carried in the first domain name resolution request and the second domain name resolution request are the same. Therefore, the domain name resolution service node 102 queries the first corresponding relationship based on the same domain name and private attributes and obtains the same first destination IP address, and the domain name resolution service node 102 responds with the same domain name resolution result to the first domain name resolution request and the second domain name resolution request respectively.
[0117] In a possible implementation, when the domain name resolution service node 102 determines the domain name resolution result based on the private attribute information in the domain name resolution request, the domain name resolution service node 102 queries the domain name storage structure based on the domain name and the private attribute information to determine the IP address that has a mapping with both the domain name and the private attribute information, and the domain name resolution service node 102 generates the domain name resolution result based on the IP address.
[0118] Please continue to refer to Figure 3 , in Figure 3 , in step d of the example shown, after the domain name resolution service node 102 receives the domain name resolution request sent by the terminal device 101, the domain name resolution service node 102 queries the IP address corresponding to both the domain name and the private attribute information in the domain name storage structure based on the domain name and the private attribute identifier in the domain name resolution request, and the domain name server generates the domain name resolution result based on this IP address.
[0119] For example, in Figure 3In the example shown, the domain name in the domain name resolution request received by the domain name resolution service node 102 is "server.ex ample.com", and the private attribute information is "M5". The domain name resolution service node 102 queries the IP address in the domain name storage structure shown in Table 1 based on the domain name "server.example.com" and the private attribute information "M5", so as to determine that the IP address corresponding to the domain name and the private attribute information is "X.X.X.1".
[0120] In Figure 3 the example shown, when the domain name resolution service node 102 determines that the IP address corresponding to the domain name "server.example.com" and the private attribute information "M5" is "X.X.X.1". After that, when the location of the terminal device 101 moves, no matter which area the terminal device 101 moves to, the service traffic of the application program in the terminal device 101 still remains scheduled to the target server with the IP address "X.X.X.1".
[0121] In a possible implementation manner, during the process that the domain name resolution service node 102 queries the domain name storage structure based on the domain name and the private attribute information, if the IP address corresponding to the private attribute information does not exist in the domain name storage structure, the domain name resolution service node 102 determines the IP address corresponding to the domain name based on the default private attribute information in the domain name storage structure. The default private attribute information is configured in the scheduling policy configuration message received by the domain name resolution service node 102.
[0122] Please continue to refer to Figure 3 In Figure 3 another example shown, for example, the domain name in the domain name resolution request received by the domain name resolution service node 102 is "server.example.com", and the private attribute information is "M6". The domain name resolution service node 102 queries the domain name storage structure shown in Table 1 based on the domain name "server.ex ample.com" and the private attribute information "M6". The domain name resolution service node 102 cannot query the IP address corresponding to the private attribute information "M6". Therefore, the domain name resolution service node 102 uses the IP address "X.X.X.4" corresponding to the domain name and the default private attribute information "default" in the domain name storage structure shown in Table 1 as the domain name resolution result.
[0123] In the embodiment of the present application, the domain name resolution system can pre-configure the mapping relationship between the domain name, the default private attribute information, and the IP address in the domain name storage structure, so that when the private attribute information in the domain name resolution request is incorrect, the domain name resolution service node 102 can determine the IP address corresponding to the domain name based on the default private attribute information, thereby avoiding domain name resolution failure and improving the reliability of domain name resolution.
[0124] In a possible implementation, the domain name resolution service node 102 may also receive a third domain name resolution request sent by a second terminal device. The third domain name resolution request includes a domain name, a private attribute, and a third public IP address of the second terminal device. The domain name resolution service node 102 queries a first corresponding relationship according to the domain name and the private attribute carried in the third domain name resolution request to confirm a first destination IP address, and returns the first destination IP address to the second terminal device according to the first corresponding relationship, where the second terminal device is located outside the infrastructure.
[0125] In the embodiment of the present application, the domain name resolution service node 102 performs domain name resolution based on the domain name and the private attribute. After the terminal device changes, the domain name resolution service node 102 can still obtain the same domain name resolution result based on the domain name and the private attribute.
[0126] Please continue to refer to Figure 4b In Figure 4b Steps a to b, and steps e to f of the example shown, the first terminal device and the second terminal device respectively send a first domain name resolution request and a third domain name resolution request to the domain name resolution service node 102. Although the source public IP addresses of the first domain name resolution request and the third domain name resolution request are different, the domain names and private attributes carried in the first domain name resolution request and the third domain name resolution request are the same. Therefore, the domain name resolution service node 102 queries the first corresponding relationship based on the same domain name and private attribute, obtains the same first destination IP address, and the domain name resolution service node 102 responds with the same domain name resolution result to the first domain name resolution request and the third domain name resolution request respectively.
[0127] In the process of the domain name resolution service node 102 determining the domain name resolution result based on the private attribute information in the domain name resolution request in the embodiment of the present application, the domain name resolution service node 102 may resolve the domain name resolution request in an iterative query or recursive query manner, which will be introduced separately below.
[0128] In the iterative query manner, after the terminal device 101 sends a domain name resolution request to the local domain name server 1021, the local domain name server 1021 sequentially sends the domain name resolution request to the root domain name server 1022, the top-level domain name server 1023, and the authoritative domain name server 1024 iteratively, and finally the authoritative domain name server 1024 returns the domain name resolution result to the local domain name server 1021.
[0129] Specifically, the terminal device 101 first sends a domain name resolution request to the local domain name server 102. If there is a corresponding domain name resolution record in the local domain name server 1021, the local domain name server 1021 returns the domain name resolution result. If there is no corresponding domain name resolution record in the local domain name server 1021, the local domain name server 1021 continues to send a domain name resolution request to the root domain name server 1022.
[0130] Since the root domain name server 1022 stores DNS information for all top-level domains, the root domain name server 1021 can return the IP address of the top-level domain name server 1023 corresponding to the domain name resolution request to the local domain name server 1021. The local domain name server 1021 can continue to send a domain name resolution request to the top-level domain name server 1023. The top-level domain name server 1023 stores the address information of the authoritative domain name server related to a specific top-level domain. The top-level domain name server 1023 can return the IP address of the authoritative domain name server 1024 corresponding to the domain name resolution request to the local domain name server 1021. After the local domain name server 1021 obtains the IP address of the authoritative domain name server 1024, it sends a domain name resolution request to the authoritative domain name server 1021. The authoritative domain name server 1024 stores the final resolution result of a specific domain name, and the authoritative domain name server 1024 returns the IP address corresponding to the domain name to the local domain name server 1021. Finally, the local server 1021 sends the domain name resolution result obtained by iterative query to the terminal device 101.
[0131] In the recursive query method, after the terminal device 101 sends a domain name resolution request to the local domain name server 1021, the local domain name server 1021 sends a domain name resolution request to the root domain name server 1022. The root domain name server 1022 sends domain name resolution requests to the top-level domain name server 1023 and the authoritative domain name server 1024 in a recursive manner. Finally, the root domain name server 1022 returns the recursively obtained domain name resolution result to the local domain name server 1021.
[0132] Specifically, the terminal device 101 first sends a domain name resolution request to the local domain name server 102. If there is a corresponding domain name resolution record in the local domain name server 1021, the local domain name server 1021 returns the domain name resolution result. If there is no corresponding domain name resolution record in the local domain name server 1021, the local domain name server 1021 continues to send a domain name resolution request to the root domain name server 1022, and this domain name resolution request is a recursive domain name resolution request.
[0133] After the root domain name server 1021 receives the domain name resolution request sent by the local domain name server 1021, if there is no resolution record corresponding to the domain name resolution request in the root domain name server 1022, the root domain name server 1022 continues to send the domain name resolution request to the top-level domain name server 1023. If there is no resolution record corresponding to the domain name resolution request in the top-level domain name server 1023, the top-level domain name server 1023 sends the domain name resolution request to the authoritative domain name server 1024. The authoritative domain name server 1024 stores the final resolution result of a specific domain name. Therefore, the authoritative domain name server 1024 returns the domain name resolution result to the top-level domain name server 1023. The top-level domain name server 1023 further returns the domain name resolution result to the root domain name server 1022. The root domain name server 1022 further returns the domain name resolution result to the local domain name server 1021. Finally, the local server 1021 sends the recursively queried domain name resolution result to the terminal device 101.
[0134] In a possible implementation, the domain name resolution service node 102 can also record the domain name, the IP address segment to which the first public network IP address belongs, and the second correspondence with the second destination IP address. The IP address segment is associated with the first region, and the second destination IP address is the public network IP address of the first destination access node in the public network. This second correspondence can also be the mapping relationship obtained by the tenant through the cloud management platform 103 for domain name configuration. The domain name resolution service node 102 can also generate a domain name storage structure based on the second correspondence. For example, the domain name storage structure generated by the domain name resolution service node 102 based on the second correspondence satisfies Table 2 below.
[0135] Table 2
[0136] Domain Name … IP Address Segment to Which It Belongs IP Address (value) server.example.com … X.X.1.1 - X.X.1.5 X.X.X.1 server.example.com … X.X.1.6 - X.X.1.10 X.X.X.2 server.example.com … X.X.1.11 - X.X.1.15 X.X.X.3 server.example.com … X.X.1.16 - X.X.1.20 X.X.X.4
[0137] In a possible implementation, the domain name resolution service node 102 receives a fourth domain name resolution request sent by the first terminal device. The fourth domain name resolution request carries the domain name and the first public network IP address. The domain name resolution service node 102 queries the second correspondence according to the domain name and the first public network IP address carried in the fourth domain name resolution request to confirm the second destination IP address, and returns the second destination IP address to the first terminal device.
[0138] For example, the domain name resolution service node 102 receives a fourth domain name resolution request sent by the first terminal device. The domain name carried in the fourth domain name resolution request is "server.example.com" and the first public network IP address is "X.X.1.2". The domain name resolution service node 102 queries the domain name storage structure shown in Table 2 according to the domain name and the first public network IP address carried in the fourth domain name resolution request, so as to confirm that the second destination IP address is "X.X.X.1".
[0139] Please continue to refer to Figure 4b , in Figure 4b Steps g to h of the example shown, the first terminal device sends a fourth domain name resolution request to the domain name resolution service node 102. The domain name carried in the fourth domain name resolution request and the first public IP address do not carry the private attribute. The domain name resolution service node 102 queries the second corresponding relationship based on the domain name and the first public IP address carried in the fourth domain name resolution request, and sends the second destination IP address corresponding to the fourth domain name resolution request to the first terminal device.
[0140] 206. The domain name resolution service node returns the first destination IP address to the first terminal device.
[0141] After the domain name resolution service node 102 obtains the domain name resolution result, it sends the domain name resolution result to the terminal device 101. The domain name resolution result includes the IP address corresponding to the domain name. For example, the domain name resolution service node returns the first destination IP address to the first terminal device, and the first terminal device accesses the target server based on the first destination IP address corresponding to the domain name.
[0142] Please continue to refer to Figure 3 , in Figure 3 Step e of the example shown, when the domain name resolution service node 102 queries in the domain name storage structure and finds that the IP address corresponding to the domain name "server.example.com" and the private attribute information "M5" is "X.X.X.1", the domain name resolution service node 102 sends the domain name resolution result to the terminal device 101, and the domain name resolution result is the IP address "X.X.X.1".
[0143] In a possible implementation manner, the attributes of the terminal device type include the vehicle model or the mobile phone model. The terminal device 101 includes a vehicle, an in-vehicle device, and a mobile phone. When the terminal device 101 is a vehicle or an in-vehicle device, the private attribute information is the vehicle model or the in-vehicle device model. When the vehicle moves from the first area to the second area, the private attribute information in the domain name resolution requests sent by the vehicle in the first area and the second area does not change, and the domain name resolution service node 102 determines that the domain name resolution result does not change based on the private attribute information in the domain name resolution request. That is, when the vehicle moves from the first area to the second area, the traffic of the vehicle still remains on the target server corresponding to the original IP address.
[0144] Please refer to Figure 5 , Figure 5 which is a schematic diagram of a vehicle for scheduling and maintaining provided by an embodiment of the present application. In Figure 5In the illustrated example, when vehicle 1 moves from Tianjin to Chengdu, since the private attribute information of vehicle 1 does not change, the domain name resolution service node 102 determines the domain name resolution result based on the private attribute information in the domain name resolution request. Therefore, the IP address corresponding to the domain name resolved by vehicle 1 in Tianjin is the same as the IP address corresponding to the domain name resolved in Chengdu. That is, when the vehicle moves from Tianjin to Chengdu, the service traffic of the application program of vehicle 1 still remains on the target server corresponding to the original IP address.
[0145] As can be seen from the above embodiments, the domain name resolution request sent by the terminal device to the domain name server in the embodiments of the present application may carry private attribute information, and the domain name server can resolve the IP address corresponding to the domain name according to the private attribute information. Compared with the current domain name server that resolves the domain name based on the original IP address of the terminal device, in the embodiments of the present application, the domain name server resolves the domain name based on the private attribute information. When the location of the terminal device changes, since the private attribute information of the terminal device does not change, therefore, the terminal device can still maintain access to the original target server, thereby improving the server stability and service availability of the terminal device.
[0146] Based on the above method embodiments, the embodiments of the present application further provide a domain name resolution device. The following specifically introduces the domain name resolution device provided by the embodiments of the present application.
[0147] Please refer to Figure 6 , Figure 6 which is a schematic structural diagram of a cloud system provided by an embodiment of the present application. In Figure 6 the illustrated example, the cloud system 600 is used to implement each step performed by the domain name resolution system in the above embodiments. The cloud system 600 includes a cloud management platform 601 and a domain name resolution service node 602.
[0148] Among them, the cloud management platform 601 includes a receiving module and a sending module. The receiving module is used to receive the domain name configuration information input by the tenant. The domain name configuration information includes a domain name, a private attribute, and a first destination IP address. The private attribute is an attribute of the type of terminal device defined by the tenant for accessing the first destination access node. The domain name is the domain name of the first destination access node on the public network, and the first destination IP address is the public network IP address of the first destination access node on the public network. The sending module is used to send the domain name, the private attribute, and the first destination IP address to the domain name resolution service node. The domain name resolution service node 602 includes a recording module, a receiving module, and a sending module. The recording module is used to record the first correspondence relationship of the domain name, the private attribute, and the first destination IP address. The receiving module is used to receive the first domain name resolution request sent by the first terminal device. The first domain name resolution request carries the domain name and the private attribute, where the first terminal device is located outside the infrastructure. The sending module is further used to query the first correspondence relationship according to the domain name and the private attribute carried in the first domain name resolution request to confirm the first destination IP address, and return the first destination IP address to the first terminal device.
[0149] In a possible implementation, the first terminal device is located in the first area. The first terminal device located in the first area sends the first domain name resolution request. The receiving module of the domain name resolution service node 602 is further used to receive the second domain name resolution request sent by the first terminal device. The second domain name resolution request carries the domain name and the private attribute, where the first terminal device sends the second domain name resolution request after moving from the first area to the second area, and the second area and the first area are located in different geographical areas. The sending module of the domain name resolution service node 602 is further used to query the first correspondence relationship according to the domain name and the private attribute carried in the second domain name resolution request to confirm the first destination IP address, and return the first destination IP address to the first terminal device.
[0150] In a possible implementation, the first domain name resolution request further includes the first public network IP address assigned to the first terminal device when it is located in the first area, and the second domain name resolution request further includes the second public network IP address assigned to the first terminal device when it is located in the second area. The first public network IP address is associated with the first area, the second public network IP address is associated with the second area, and the first public network IP address is different from the second public network IP address.
[0151] In a possible implementation, the receiving module of the domain name resolution service node 602 is further configured to receive a third domain name resolution request sent by a second terminal device, where the second domain name resolution request includes a domain name, a private attribute, and a third public network IP address of the second terminal device. The sending module of the domain name resolution service node 602 is further configured to query a first corresponding relationship according to the domain name and the private attribute carried in the third domain name resolution request to confirm a first destination IP address, and return the first destination IP address to the second terminal device according to the first corresponding relationship, where the second terminal device is located outside the infrastructure.
[0152] In a possible implementation, a first application program is set in the first terminal device, and a first domain name resolution request is generated when the first application program runs.
[0153] In a possible implementation, the recording module of the domain name resolution service node 602 is configured to record a domain name, an IP address segment to which the first public network IP address belongs, and a second corresponding relationship with a second destination IP address, where the IP address segment is associated with a first region, and the second destination IP address is the public network IP address of the first destination access node in the public network. The receiving module of the domain name resolution service node 602 is further configured to receive a fourth domain name resolution request sent by the first terminal device, where the fourth domain name resolution request carries the domain name and the first public network IP address. The sending module of the domain name resolution service node 602 is further configured to query the second corresponding relationship according to the domain name and the first public network IP address carried in the fourth domain name resolution request to confirm the second destination IP address, and return the second destination IP address to the first terminal device.
[0154] In a possible implementation, a second application program is set in the first terminal device, and a second domain name resolution request is generated when the second application program runs.
[0155] In a possible implementation, the attributes of the terminal device type include a car model or a mobile phone model.
[0156] It can be understood that the receiving module and the sending module in the cloud management platform 601 and the recording module, the receiving module, and the sending module in the domain name resolution platform 602 in the cloud system 600 can be used as functional modules and Figure 1 each module in the domain name resolution system 10 has a mapping, so as to implement the functions of each module in the domain name resolution system.
[0157] It should be understood that the division of units in the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into a physical entity, or physically separated. And the units in the device can all be implemented in the form of software called by a processing element; they can also all be implemented in the form of hardware; or some units can be implemented in the form of software called by a processing element, and some units can be implemented in the form of hardware. For example, each unit can be a separately established processing element, or can be integrated in a certain chip of the device. In addition, it can also be stored in the memory in the form of a program and called and executed by a certain processing element of the device to perform the functions of the unit. In addition, all or part of these units can be integrated together or can be independently implemented. The processing element mentioned here can also be called a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each of the above units can be implemented through the integrated logic circuit of the hardware in the processor element or in the form of software called by the processing element.
[0158] It should be noted that for the above method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that this application is not limited by the described action sequence. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily essential to this application.
[0159] Other reasonable combinations of steps that those skilled in the art can think of based on the above description also fall within the protection scope of this application. Secondly, those skilled in the art should also be familiar that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily essential to this application.
[0160] Please refer to Figure 7 , Figure 7 which is a schematic structural diagram of a computing device provided by an embodiment of this application. As Figure 7 shown, the computing device 700 includes: a processor 701, a memory 702, a communication interface 703, and a bus 704. The processor 701, the memory 702, and the communication interface 703 are coupled through a bus (not marked in the figure). The memory 702 stores instructions. When the execution instructions in the memory 702 are executed, the computing device 700 executes the methods performed by the cloud management platform or the domain name resolution service node in the above method embodiments.
[0161] The computing device 700 may be one or more integrated circuits configured to implement the above methods, such as: one or more application specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms. For another example, when the units in the device can be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processors that can call programs. For another example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0162] The processor 701 may be a central processing unit (CPU), or may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0163] The memory 702 can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0164] Executable program code is stored in the memory 702, and the processor 701 executes the executable program code to implement the functions of the foregoing units or modules respectively, thereby implementing the foregoing domain name resolution method. That is to say, instructions for executing the foregoing domain name resolution method are stored on the memory 702.
[0165] The communication interface 703 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 700 and other devices or a communication network.
[0166] In addition to including a data bus, the bus 704 may further include a power bus, a control bus, a status signal bus, etc. The bus may be a peripheral component interconnect express (PCIe) bus, or an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), etc. The bus may be divided into an address bus, a data bus, a control bus, etc.
[0167] Please refer to Figure 8 , Figure 8 which is a schematic diagram of a computing device cluster provided by an embodiment of the present application. As Figure 8 shown, the computing device cluster 800 includes at least one computing device 700.
[0168] As Figure 8 shown, the computing device cluster 800 includes at least one computing device 700. Instructions for executing the above domain name resolution method may be stored in the memories 702 of one or more of the computing devices 700 in the computing device cluster 800.
[0169] In some possible implementation manners, partial instructions for executing the above domain name resolution method may also be stored separately in the memories 702 of one or more of the computing devices 700 in the computing device cluster 800. In other words, a combination of one or more computing devices 700 may jointly execute the instructions for executing the above domain name resolution method.
[0170] It should be noted that the memories 702 in different computing devices 700 in the computing device cluster 800 may store different instructions, respectively for executing partial functions of the cloud management platform and the domain name resolution service node in the above cloud system. That is, the instructions stored in the memories 702 of different computing devices 700 may implement the functions of one or more modules in the cloud management platform and the domain name resolution service node in the cloud system.
[0171] In some possible implementation manners, one or more of the computing devices 700 in the computing device cluster 800 may be connected through a network. Among them, the network may be a wide area network or a local area network, etc.
[0172] Please refer to Figure 9 , Figure 9The figure is a schematic diagram of the network connection of computer devices in a computer cluster provided by an embodiment of this application. As Figure 9 shown, two computing devices 700A and 700B are connected through a network. Specifically, they are connected to the network through the communication interfaces in each computing device.
[0173] In a possible implementation, the memory in computing device 700A stores instructions for executing the cloud management platform function. At the same time, the memory in computing device 700B stores instructions for executing the domain name resolution service node function.
[0174] It should be understood that Figure 9 the functions of computing device 700A shown in [[ ]] can also be completed by multiple computing devices. Similarly, the functions of computing device 700B can also be completed by multiple computing devices.
[0175] In another embodiment of this application, a computer-readable storage medium is also provided. The computer-readable storage medium stores computer-executable instructions. When the processor of the device executes the computer-executable instructions, the device executes the method executed by the domain name resolution system in the above method embodiment.
[0176] In another embodiment of this application, a computer program product is also provided. The computer program product includes computer-executable instructions, and the computer-executable instructions are stored in a computer-readable storage medium. When the processor of the device executes the computer-executable instructions, the device executes the method executed by the domain name resolution system in the above method embodiment.
[0177] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the above-described systems, devices, and units can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.
[0178] In several embodiments provided by this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there can be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces, and the indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms.
[0179] The unit described as a separation component may or may not be physically separated. The component shown as a unit may or may not be a physical unit, that is, it may be located in one place or distributed over multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0180] In addition, each functional unit in various embodiments of the present application may be integrated in a processing unit, may exist separately as individual physical units, or two or more units may be integrated in one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
[0181] If the above-mentioned integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present application. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM, read-only memory), random access memories (RAM, random access memory), magnetic disks, or optical discs that can store program codes.
Claims
1. A domain name resolution method based on cloud computing technology, characterized in that: The method is applied to a cloud system, the cloud system includes a cloud management platform and a domain name resolution service node, the cloud management platform is used to manage an infrastructure for providing cloud services, the infrastructure includes data centers arranged in multiple different regions, at least one of the multiple data centers is provided with the domain name resolution service node, the method includes: The cloud management platform receives domain name configuration information input by the tenant, the domain name configuration information includes a domain name, a private attribute, and a first destination IP address, the private attribute is an attribute of a terminal device type defined by the tenant for accessing a first destination access node, the domain name is a domain name of the first destination access node on a public network, and the first destination IP address is a public network IP address of the first destination access node on a public network; The cloud management platform sends the domain name, the private attribute and the first destination IP address to the domain name resolution service node; The domain name resolution service node records a first correspondence between the domain name, the private attribute, and the first destination IP address; The domain name resolution service node receives a first domain name resolution request sent by a first terminal device, where the first domain name resolution request carries the domain name and the private attribute, wherein the first terminal device is located outside the infrastructure; The domain name resolution service node queries the first corresponding relationship according to the domain name carried in the first domain name resolution request and the private attribute to confirm the first destination IP address, and returns the first destination IP address to the first terminal device.
2. The method according to claim 1, characterized in that The first terminal device is located in a first area, and the first terminal device in the first area sends the first domain name resolution request, and the method further includes: The domain name resolution service node receives a second domain name resolution request sent by the first terminal device, where the second domain name resolution request carries the domain name and the private attribute, wherein the first terminal device sends the second domain name resolution request after moving from the first area to the second area, and the second area and the first area are located in different geographical areas; The domain name resolution service node queries the first corresponding relationship according to the domain name carried in the second domain name resolution request and the private attribute to confirm the first destination IP address, and returns the first destination IP address to the first terminal device.
3. The method according to claim 2, characterized in that The first domain name resolution request also includes a first public IP address assigned when the first terminal device is located in the first area, and the second domain name resolution request also includes a second public IP address assigned when the first terminal device is located in the second area, the first public IP address is associated with the first area, the second public IP address is associated with the second area, and the first public IP address is different from the second public IP address.
4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: The domain name resolution service node receives a third domain name resolution request sent by the second terminal device, where the third domain name resolution request includes the domain name, the private attribute, and a third public IP address of the second terminal device; The domain name resolution service node queries the first correspondence to confirm the first destination IP address according to the domain name and the private attribute carried in the third domain name resolution request, and returns the first destination IP address to the second terminal device according to the first correspondence, wherein the second terminal device is located outside the infrastructure.
5. The method according to any one of claims 2 to 4, characterized in that: The first terminal device is provided with a first application program, and the first domain name resolution request is generated when the first application program is running.
6. The method according to claim 5, characterized in that The method further comprises: The domain name resolution service node records the domain name, the IP address segment to which the first public IP address belongs, and a second correspondence with the second destination IP address, wherein the IP address segment is associated with the first area, and the second destination IP address is the public IP address of the first destination access node on the public network; The domain name resolution service node receives a fourth domain name resolution request sent by the first terminal device, where the fourth domain name resolution request carries the domain name and the first public IP address; The domain name resolution service node queries the second corresponding relationship according to the domain name carried in the fourth domain name resolution request and the first public IP address to confirm the second destination IP address, and returns the second destination IP address to the first terminal device.
7. The method according to claim 6, characterized in that The first terminal device is provided with a second application program, and the second domain name resolution request is generated when the second application program is running.
8. The method according to any one of claims 1 to 7, characterized in that: The attributes of the terminal device type include a car model or a mobile phone model.
9. A cloud system, characterized in that: The cloud system includes a cloud management platform and a domain name resolution service node, and the cloud management platform includes: A receiving module, configured to receive domain name configuration information input by a tenant, wherein the domain name configuration information includes a domain name, a private attribute, and a first destination IP address, wherein the private attribute is an attribute of a terminal device type defined by the tenant for accessing a first destination access node, the domain name is a domain name of the first destination access node on a public network, and the first destination IP address is a public network IP address of the first destination access node on a public network; The sending module is further used to send the domain name, the private attribute and the first destination IP address to the domain name resolution service node; The domain name resolution service node includes: A recording module, used for recording a first correspondence between the domain name, the private attribute and the first destination IP address; The receiving module is further configured to receive a first domain name resolution request sent by a first terminal device, wherein the first domain name resolution request carries the domain name and the private attribute, wherein the first terminal device is located outside the infrastructure; The sending module is further used to query the first corresponding relationship according to the domain name carried in the first domain name resolution request and the private attribute to confirm the first destination IP address, and return the first destination IP address to the first terminal device.
10. The cloud system according to claim 9, characterized in that: The first terminal device is located in a first area, and the first terminal device in the first area sends the first domain name resolution request, and the receiving module of the domain name resolution service node is further used for: receiving a second domain name resolution request sent by a first terminal device, the second domain name resolution request carrying the domain name and the private attribute, wherein the first terminal device sends the second domain name resolution request after moving from the first area to a second area, and the second area and the first area are located in different geographical areas; The sending module of the domain name resolution service node is also used to query the first corresponding relationship according to the domain name carried in the second domain name resolution request and the private attribute to confirm the first destination IP address, and return the first destination IP address to the first terminal device.
11. The cloud system according to claim 10, characterized in that: The first domain name resolution request also includes a first public IP address assigned when the first terminal device is located in the first area, and the second domain name resolution request also includes a second public IP address assigned when the first terminal device is located in the second area, the first public IP address is associated with the first area, the second public IP address is associated with the second area, and the first public IP address is different from the second public IP address.
12. The cloud system according to any one of claims 9 to 11, characterized in that: The receiving module of the domain name resolution service node is also used for: Receive a third domain name resolution request sent by a second terminal device, where the second domain name resolution request includes the domain name, the private attribute, and a third public IP address of the second terminal device; The sending module of the domain name resolution service node is also used to query the first correspondence to confirm the first destination IP address according to the domain name carried by the third domain name resolution request and the private attribute, and return the first destination IP address to the second terminal device according to the first correspondence, wherein the second terminal device is located outside the infrastructure.
13. The cloud system according to any one of claims 10 to 12, characterized in that: The first terminal device is provided with a first application program, and the first domain name resolution request is generated when the first application program is running.
14. The cloud system according to claim 13, characterized in that: The recording module of the domain name resolution service node is also used for: Recording a second correspondence between the domain name, the IP address segment to which the first public IP address belongs, and the second destination IP address, wherein the IP address segment is associated with the first area, and the second destination IP address is the public IP address of the first destination access node on the public network; The receiving module of the domain name resolution service node is further used to receive a fourth domain name resolution request sent by the first terminal device, where the fourth domain name resolution request carries the domain name and the first public network IP address; The sending module of the domain name resolution service node is also used to query the second corresponding relationship according to the domain name carried by the fourth domain name resolution request and the first public IP address to confirm the second destination IP address, and return the second destination IP address to the first terminal device.
15. The cloud system according to claim 14, characterized in that: The first terminal device is provided with a second application program, and the second domain name resolution request is generated when the second application program is running.
16. The cloud system according to any one of claims 9 to 15, characterized in that: The attributes of the terminal device type include a car model or a mobile phone model.
17. A cloud management platform device, characterized in that: It includes a processor, which is coupled to a memory, and the memory is used to store instructions. When the instructions are executed by the processor, the cloud management platform device executes the method executed by the cloud management platform in any one of claims 1 to 8.
18. A domain name resolution device, characterized in that: It includes a processor, the processor is coupled to a memory, the memory is used to store instructions, when the instructions are executed by the processor, the domain name resolution device executes the method executed by the domain name resolution service node in any one of claims 1 to 8.
19. A computing device cluster, characterized in that: The system comprises at least one computing device, wherein the computing device comprises a processor, wherein the processor is coupled to a memory, and the memory is used to store instructions. When the instructions are executed by the processor, the computing device cluster executes the method according to any one of claims 1 to 8.