Domain name resolution method and system, virtual internet, and computer terminal
By building a shared resource pool for DNS resolution services in a virtual private cloud and employing elastic scaling and serverless pooling technologies, the problems of high DNS resolution costs and poor scalability in virtual private clouds are solved, achieving efficient and low-cost DNS resolution.
Patent Information
- Application Number
- PCT/CN2025/104103
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-09
- Filing Date
- 2025-06-26
- Publication Date
- 2026-01-15
AI Technical Summary
In virtual private cloud scenarios, domain name resolution is costly and has poor scalability, and existing technologies have not been able to effectively solve this problem.
By building a DNS resolution service using a shared resource pool in a virtual private cloud, and elastically expanding network computing resources, the serverless pooling technology is used to pool the computing and network resources that the DNS resolution service depends on, thereby enabling the forwarding and resolution of domain name resolution requests.
It reduces the cost of domain name resolution in virtual private cloud scenarios, improves the scalability of domain name resolution methods, and achieves efficient domain name resolution services.
Smart Images

Figure CN2025104103_15012026_PF_FP_ABST
Abstract
Description
Domain name resolution methods and systems, virtual internet, computer terminals Technical Field
[0001] This disclosure relates to the field of cloud computing technology, and more specifically, to a domain name resolution method and system, a virtual internet, and a computer terminal. Background Technology
[0002] To build a cloud-based virtual internet, which can include one or more Virtual Private Clouds (VPCs), an internal Domain Name System (DNS) service is required. All services connected to the VPC will have a unified and standardized domain name and be registered with this DNS. Currently, a common approach is to configure a resolver to recursively access user-defined DNS servers. However, resolvers are costly to build and have poor scalability.
[0003] There is currently no effective solution to the above problems. Summary of the Invention
[0004] This disclosure provides a domain name resolution method and system, a virtual internet, and a computer terminal to at least solve the technical problems of high cost and poor scalability of domain name resolution through domain name resolution methods in virtual private cloud scenarios.
[0005] According to one aspect of the present disclosure, a domain name resolution method is provided, comprising: upon receiving a domain name resolution request sent by a client, determining a domain name to be resolved corresponding to the domain name resolution request; if the domain name to be resolved successfully matches a target domain name among at least one pre-defined domain names, determining at least one resolution service pre-configured for the target domain name, wherein the at least one resolution service is constructed using computing resources in a shared resource pool; determining a target resolution service from the at least one resolution service, and forwarding the domain name resolution request to a target domain name server corresponding to the domain name resolution request through the target resolution service, wherein the domain name resolution request is resolved by the target domain name server to obtain a target network address corresponding to the domain name to be resolved.
[0006] According to another aspect of the embodiments of this disclosure, a domain name resolution system is also provided, including: a central resolver, configured to determine the domain name to be resolved corresponding to the domain name resolution request when receiving a domain name resolution request sent by a client; and a resolution server, connected to the central resolver, configured to determine at least one resolution service pre-configured for the target domain name when the domain name to be resolved successfully matches a target domain name among at least one pre-defined domain names, determine a target resolution service from the at least one resolution service, and forward the domain name resolution request to the target domain name server corresponding to the domain name resolution request through the target resolution service, wherein the at least one resolution service is constructed using computing resources in a shared resource pool, and the domain name resolution request is resolved by the target domain name server to obtain the target network address corresponding to the domain name to be resolved.
[0007] According to another aspect of the embodiments of this disclosure, a virtual Internet is also provided, comprising: a first virtual private cloud, on which a client is deployed, the client being configured to send a domain name resolution request; a target domain name server, connected to the first virtual private cloud, configured to resolve the domain name resolution request to obtain a target network address corresponding to the domain name to be resolved, wherein the domain name to be resolved is used to represent the domain name corresponding to the domain name resolution request; and a second virtual private cloud, on which the domain name resolution system of the above embodiments is deployed, the domain name resolution system being configured to send the domain name resolution request to the target domain name server.
[0008] According to another aspect of the embodiments of this disclosure, a computer terminal is also provided, including: a memory storing an executable program; and a processor configured to run the program, wherein the program executes the methods in the various embodiments of this disclosure when it runs.
[0009] According to another aspect of the embodiments of the present disclosure, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored executable program, wherein, when the executable program is executed, it controls the device where the computer-readable storage medium is located to perform the methods of the various embodiments of the present disclosure.
[0010] According to another aspect of the embodiments of this disclosure, a computer program product is also provided, including a computer program that, when executed by a processor, implements the methods of various embodiments of this disclosure.
[0011] According to another aspect of the embodiments of this disclosure, a computer program product is also provided, including a non-volatile computer-readable storage medium storing a computer program that, when executed by a processor, implements the methods of various embodiments of this disclosure.
[0012] According to another aspect of the embodiments of this disclosure, a computer program is also provided, which, when executed by a processor, implements the methods of the various embodiments of this disclosure.
[0013] In this embodiment, upon receiving a domain name resolution request from a client, the domain name to be resolved is first determined. If the domain name to be resolved matches a target domain name from at least one preset domain name, at least one resolution service configured for the target domain name is further determined. Finally, the target resolution service is determined from the at least one resolution service, and the domain name resolution request is forwarded to the target domain name server corresponding to the domain name resolution request through the target resolution service, thus achieving the purpose of domain name resolution within a virtual private cloud. It is noteworthy that by utilizing computing resources in a shared resource pool to construct the resolution service and employing an elastic approach to expand network computing resources, the technical effects of reducing the cost of domain name resolution in a virtual private cloud scenario and improving the scalability of the domain name resolution method are achieved. This solves the technical problems of high cost and poor scalability of domain name resolution using domain name resolution methods in virtual private cloud scenarios.
[0014] It is worth noting that the above general description and the following detailed description are merely for illustrative and explanatory purposes and do not constitute a limitation thereof. Attached Figure Description
[0015] The accompanying drawings, which are included to provide a further understanding of this disclosure and form part of this disclosure, illustrate exemplary embodiments of the present disclosure and are used to explain the disclosure, but do not constitute an undue limitation of the disclosure. In the drawings:
[0016] Figure 1 is a hardware structure block diagram of a computer terminal (or mobile device) for implementing a domain name resolution method according to an embodiment of the present disclosure;
[0017] Figure 2 is a structural block diagram of a computing environment according to an embodiment of the present disclosure;
[0018] Figure 3 is a structural block diagram of a computer terminal (or mobile device) as a service mesh according to an embodiment of the present disclosure;
[0019] Figure 4 is a flowchart of a domain name resolution method according to an embodiment of the present disclosure;
[0020] Figure 5 is a schematic diagram of an optional virtual internet and domain name resolution process according to an embodiment of the present disclosure;
[0021] Figure 6 is a schematic diagram of a domain name resolution system according to an embodiment of the present disclosure;
[0022] Figure 7 is a schematic diagram of a virtual Internet according to an embodiment of the present disclosure;
[0023] Figure 8 is a structural block diagram of a computer terminal according to an embodiment of the present disclosure. Detailed Implementation
[0024] To enable those skilled in the art to better understand the present disclosure, the technical solutions of the present disclosure will be clearly and completely described below with reference to the accompanying drawings of the embodiments. Obviously, the described embodiments are only some embodiments of the present disclosure, and not all embodiments. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present disclosure.
[0025] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0026] First, some nouns or terms that appear in the description of the embodiments of this disclosure shall be interpreted as follows:
[0027] Private Zone is a private domain name resolution and management service for VPC environments. It allows for the rapid construction of a DNS system within one or more custom VPCs, mapping private domain names to IP resource addresses. Furthermore, by connecting to traditional data centers, it enables resource access between the traditional data center and the VPC via private domain names.
[0028] Resolver: By creating domain name forwarding rules and DNS outbound endpoints, the resolver can forward DNS request traffic from the Private Zone under the VPC to an external DNS system, effectively solving the calling scenarios of hybrid cloud, cloud on-premises, and cloud off-premises.
[0029] Serverless: By redesigning the Resolver module using the Serverless concept, it can be transformed into a Serverless model that is maintenance-free, elastically scalable, highly available, and pay-as-you-go, thereby reducing costs.
[0030] According to embodiments of this disclosure, a domain name resolution method is provided. It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowcharts, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0031] The method embodiments provided in this disclosure can be executed in a mobile terminal, computer terminal, or similar computing device. Figure 1 shows a hardware structure block diagram of a computer terminal (or mobile device) for implementing a domain name resolution method. As shown in Figure 1, the computer terminal 10 (or mobile device) may include one or more processors 102 (shown as 102a, 102b, ..., 102n in the figure) (processor 102 may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a Universal Serial Bus (USB) port (which may be included as one of the ports of a BUS bus), a network interface, a power supply, and / or a camera. Those skilled in the art will understand that the structure shown in Figure 1 is merely illustrative and does not limit the structure of the above-described electronic device. For example, the computer terminal 10 may also include more or fewer components than shown in Figure 1, or have a different configuration than shown in Figure 1.
[0032] It should be noted that the aforementioned one or more processors 102 and / or other data processing circuitry are generally referred to herein as "data processing circuitry". This data processing circuitry may be embodied, in whole or in part, in software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuitry may be a single, independent processing module, or may be integrated, in whole or in part, into any other element within the computer terminal 10 (or mobile device). As involved in embodiments of this disclosure, the data processing circuitry serves as a processor control mechanism (e.g., selection of a variable resistor termination path connected to an interface).
[0033] The memory 104 may be configured to store software programs and modules for application software, such as the program instructions / data storage device corresponding to the method in the embodiments of this disclosure. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, thereby implementing the method in the above embodiments. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0034] The transmission device 106 is configured to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the computer terminal 10. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module, configured to communicate with the Internet wirelessly.
[0035] The display can be, for example, a touchscreen liquid crystal display (LCD), which allows the user to interact with the user interface of the computer terminal 10 (or mobile device).
[0036] The hardware structure block diagram shown in Figure 1 can serve as an exemplary block diagram not only for the aforementioned computer terminal 10 (or mobile device) but also for the aforementioned server. In an optional embodiment, Figure 2 illustrates a block diagram of using the computer terminal 10 (or mobile device) shown in Figure 1 as a computing node in the computing environment 201. Figure 2 shows a structural block diagram of a computing environment. As shown in Figure 2, the computing environment 201 includes multiple computing nodes (such as servers) running on a distributed network (shown as 210-1, 210-2, ..., in the figure). Each computing node contains local processing and memory resources, and the end user 202 can remotely run applications or store data in the computing environment 201. Applications can be provided as multiple services 220-1, 220-2, 220-3, and 220-4 in the computing environment 201, representing services "A", "D", "E", and "H", respectively.
[0037] End user 202 can provide and access services through a web browser or other software application on a client. In some embodiments, the provisioning and / or requests of end user 202 can be provided to ingress gateway 230. Ingress gateway 230 may include a corresponding agent to handle the provisioning and / or requests for services (one or more services provided in computing environment 201).
[0038] The services are provided or deployed based on various virtualization technologies supported by the computing environment 201. In some embodiments, services may be provided based on virtual machine (VM)-based virtualization, container-based virtualization, and / or similar methods. VM-based virtualization can simulate a real computer by initializing a virtual machine, executing programs and applications without directly accessing any actual hardware resources. While the machine is virtualized by a virtual machine, container-based virtualization can launch containers to virtualize an entire operating system (OS), allowing multiple workloads to run on a single OS instance.
[0039] In one embodiment based on container virtualization, several containers of a service can be assembled into a Pod (e.g., a Kubernetes Pod). For example, as shown in Figure 2, service 220-2 can be equipped with one or more Pods 240-1, 240-2, ..., 240-N (collectively referred to as Pods). A Pod can include a proxy 245 and one or more containers 242-1, 242-2, ..., 242-M (collectively referred to as containers). One or more containers in a Pod handle requests related to one or more corresponding functions of the service. The proxy 245 typically controls service-related network functions such as routing and load balancing. Other services can also be equipped with similar Pods.
[0040] During operation, executing a user request from end user 202 may require calling one or more services in computing environment 201, and executing one or more functions of one service may require calling one or more functions of another service. As shown in Figure 2, service "A" 220-1 receives a user request from end user 202 from ingress gateway 230. Service "A" 220-1 can call service "D" 220-2, and service "D" 220-2 can request service "E" 220-3 to execute one or more functions.
[0041] The aforementioned computing environment can be a cloud computing environment, where resource allocation is managed by cloud services, allowing functionality development without needing to consider implementation, adjustment, or server scaling. This computing environment allows developers to execute event-responsive code without building or maintaining complex infrastructure. Services can be partitioned into a set of functions that can automatically and independently scale, rather than scaling a single hardware device to handle potential loads.
[0042] In another alternative embodiment, FIG3 illustrates a block diagram of an example using the computer terminal 10 (or mobile device) shown in FIG1 above as a service mesh. FIG3 shows a structural block diagram of a service mesh 300, which is mainly configured to facilitate secure and reliable communication between multiple microservices. Microservices refer to decomposing an application into multiple smaller services or instances and distributing them across different clusters / machines.
[0043] As shown in Figure 3, a microservice may include application service instance A and application service instance B, which together form the functional application layer of service mesh 300. In one implementation, application service instance A runs as a container / process 308 on machine / workload container group 314 (Pod), and application service instance B runs as a container / process 310 on machine / workload container group 316 (Pod).
[0044] In one implementation, application service instance A can be a product query service, and application service instance B can be a product order placement service.
[0045] As shown in Figure 3, application service instance A and grid proxy (sidecar) 303 coexist in machine workload container group 314, and application service instance B and grid proxy 305 coexist in machine workload container 316. Grid proxy 303 and grid proxy 305 form the data plane layer of service mesh 300. Grid proxy 303 and grid proxy 305 run as containers / processes 304 and 306 respectively, and can receive requests 312 for product query services. Grid proxy 303 and application service instance A can communicate bidirectionally, and grid proxy 305 and application service instance B can also communicate bidirectionally. Furthermore, grid proxy 303 and grid proxy 305 can also communicate bidirectionally with each other.
[0046] In one implementation, traffic from application service instance A is routed to the appropriate destination via mesh proxy 303, and network traffic from application service instance B is routed to the appropriate destination via mesh proxy 305. It should be noted that the network traffic mentioned here includes, but is not limited to, Hypertext Transfer Protocol (HTTP), Representational State Transfer (REST), high-performance, general-purpose open-source frameworks (Google Remote Procedure Call, gRPC), and open-source in-memory data structure storage systems (Redis).
[0047] In one implementation, the functionality of the extended data plane layer can be achieved by writing custom filters for the proxy (Envoy) in service mesh 300. The service mesh proxy configuration can enable the service mesh to correctly proxy service traffic, achieving service interoperability and service governance. Mesh proxies 303 and 305 can be configured to perform at least one of the following functions: service discovery, health checking, routing, load balancing, authentication and authorization, and observability.
[0048] As shown in Figure 3, the service mesh 300 also includes a control plane layer. This control plane layer can consist of a set of services running in a dedicated namespace, managed by a managed control plane component 301 within machine / workload container groups (machine / Pods) 302. As shown in Figure 3, the managed control plane component 301 communicates bidirectionally with mesh agents 303 and 305. The managed control plane component 301 is configured to perform control and management functions. For example, it receives telemetry data from mesh agents 303 and 305 and can further aggregate this telemetry data. The managed control plane component 301 can also provide a user-facing Application Programming Interface (API) for these services, facilitating easier manipulation of network behavior and providing configuration data to mesh agents 303 and 305.
[0049] Under the above operating environment, this disclosure provides a domain name resolution method as shown in Figure 4. Figure 4 is a flowchart of a domain name resolution method according to an embodiment of this disclosure. As shown in Figure 4, the method includes the following steps:
[0050] Step S402: Upon receiving a domain name resolution request from the client, determine the domain name to be resolved corresponding to the domain name resolution request.
[0051] To ensure the security and privacy of enterprise and organization data and applications, a method for accessing VPC cloud services has been provided. In this method, enterprises and organizations can deploy some or all of their services within a VPC. As enterprises and organizations grow, to ensure the availability, resource balancing, and performance improvement of VPC cloud services, VPCs can be deployed in different geographical locations. Each VPC contains cloud services and clients. Therefore, in this scenario, all VPCs in all scenarios constitute a user-exclusive virtual internet.
[0052] The aforementioned domain name resolution request can be a request generated by the client to access a user-defined DNS server, a request generated by the user entering the domain name of the cloud service in the client's browser to access the cloud service, or a request generated by the user using an application in the client, but it is not limited to these.
[0053] In one optional embodiment, when a user accesses a cloud service via a domain name using a client, the client located in the VPC generates a domain name resolution request to resolve the domain name of the cloud service and sends it to a resolver pre-configured for that VPC. Upon receiving the domain name resolution request, the resolver can either resolve the request to obtain the domain name of the cloud service contained in the request, i.e., the domain name to be resolved, or it can resolve the request to obtain the identifier of the cloud service contained in the request, thereby determining the domain name of the cloud service, i.e., the domain name to be resolved.
[0054] Step S404: If the domain name to be resolved successfully matches the target domain name among at least one pre-defined domain names, determine at least one resolution service pre-configured for the target domain name, wherein the at least one resolution service is constructed using computing resources in a shared resource pool.
[0055] In the virtual internet, clients can access not only services on the internet but also user-defined services, i.e., cloud services deployed in the user's VPC. Services on the internet can be resolved using common DNS servers, while user-defined services require resolution using user-defined DNS servers. Therefore, the domain name resolution system needs to accurately distinguish whether the domain name to be resolved belongs to a user-defined service. To accurately determine whether a domain name belongs to a user-defined service, the domain name of the user-defined service can be pre-configured in the domain name resolution system.
[0056] The aforementioned pre-defined domain name can be a user-defined service domain name, a first-level domain name, or one or more second-level domain names under a first-level domain name.
[0057] In one optional embodiment, after determining the domain name to be resolved, it can be compared with the domain name of a user-defined service. If the domain name to be resolved is not a user-defined domain name, that is, if the domain name to be resolved is different from at least one preset domain name, it indicates that the domain name to be resolved is the domain name of a service on the Internet, and the normal process of connecting to the DNS server and resolving it can be followed. If the domain name to be resolved is a user-defined domain name, that is, if the domain name to be resolved is the same as any preset domain name, for example, if the domain name to be resolved is the same as the target domain name, then it can be determined that a user-defined DNS server needs to be used for resolution.
[0058] At least one of the aforementioned DNS resolution services can be a customized DNS resolution service for the target domain name, capable of resolving the target domain name. Currently, the DNS resolution service creates outbound terminal nodes, through which domain name resolution requests can be forwarded to user-defined DNS servers. To maximize the reuse of underlying computing resources and reduce the cost of domain name resolution, serverless pooling technology can be used to pool the computing and network resources on which the DNS resolution service depends. That is, pooled resources are used to create a shared resource pool, and then the computing and network resources in the shared resource pool are used to build the DNS resolution service. Furthermore, the number of DNS resolution services can be increased or decreased as needed. For example, elastic scaling up or down can be performed based on the key indicators of the DNS resolution service. In other words, the number of DNS resolution services is updated in real time or periodically, and is not fixed.
[0059] In an optional embodiment, if it is determined that the domain name to be resolved is a user-defined domain name, that is, the domain name to be resolved is the same as the target domain name, at least one DNS resolution service currently configured for the target domain name can be further determined, that is, the DNS resolution service determined by the most recent elastic scaling up or elastic scaling down. Containerizing the DNS resolution service increases the deployment density of the DNS resolution service on a single server, thereby reducing costs.
[0060] Step S406: Determine the target resolution service from at least one resolution service, and forward the domain name resolution request to the target domain name server corresponding to the domain name resolution request through the target resolution service. The domain name resolution request is resolved by the target domain name server to obtain the target network address corresponding to the domain name to be resolved.
[0061] The target domain name server mentioned above can be a user-defined DNS server, which can be set to resolve user-defined domain names and realize the mapping from domain name to IP address.
[0062] In one alternative embodiment, since the number of DNS resolution services configured for the target domain name may be two or three, a certain rule can be used to determine one DNS resolution service as the target DNS resolution service from among the multiple DNS resolution services. For example, a DNS resolution service can be determined directly from among the multiple DNS resolution services in a random manner. Another example is to determine a DNS resolution service from among the multiple DNS resolution services based on the key indicators of different DNS resolution services. Yet another example is to determine a DNS resolution service from among the multiple DNS resolution services in a sequential manner according to the order of the DNS resolution requests. However, this is not the only option.
[0063] After determining the target DNS server, it can forward the DNS resolution request to the user-defined target DNS server through the pre-defined outbound endpoints according to pre-set forwarding rules. Optionally, the DNS server can be forwarded to a VPC with the client deployed through the outbound endpoints, and then forwarded to the target DNS server through the forwarding nodes of that VPC.
[0064] The solution provided by the above embodiments of this disclosure, upon receiving a domain name resolution request from a client, firstly determines the domain name to be resolved corresponding to the domain name resolution request. If the domain name to be resolved successfully matches a target domain name among at least one preset domain names, it further determines at least one resolution service configured for the target domain name. Finally, it determines the target resolution service from the at least one resolution service and forwards the domain name resolution request to the target domain name server corresponding to the domain name resolution request through the target resolution service, thus achieving the purpose of domain name resolution within a virtual private cloud. It is noteworthy that by utilizing computing resources in a shared resource pool to construct the resolution service and employing an elastic approach to expand network computing resources, the technical effect of reducing the cost of domain name resolution in a virtual private cloud scenario and improving the scalability of the domain name resolution method is achieved. This solves the technical problems of high cost and poor scalability of domain name resolution through domain name resolution methods in virtual private cloud scenarios.
[0065] In the above embodiments of this disclosure, determining at least one DNS resolution service configured for the target domain name includes: determining a historical DNS resolution service configured for the target domain name and obtaining historical indicator data of the historical DNS resolution service; analyzing the historical indicator data to determine a target adjustment rule for adjusting the historical DNS resolution service; and adjusting the historical DNS resolution service based on the target adjustment rule to obtain at least one DNS resolution service.
[0066] The aforementioned historical DNS resolution service can be the most recently configured DNS resolution service for the target domain name, that is, the DNS resolution service determined through elastic scaling up or down during the last DNS resolution service adjustment. The aforementioned historical metric data can be metric data acquired during the operation of the historical DNS resolution service. This metric data is usually key metric data of the historical DNS resolution service, metric data that affects the performance of the historical DNS resolution service. For example, it can be basic metrics such as memory and CPU, or user-customized metrics, but is not limited to these. Optionally, a metric collector can be configured in each DNS resolution service, through which historical metric data can be collected in real time or periodically.
[0067] In one optional embodiment, to ensure the performance of the DNS resolution service, the historical DNS resolution service can be adjusted periodically. In another optional embodiment, the historical DNS resolution service can be adjusted when a domain name resolution service is received. In yet another optional embodiment, the historical DNS resolution service can be adjusted after resolving the domain name resolution request sent by the client. To accurately adjust the historical DNS resolution service, historical indicator data of the historical DNS resolution service can be obtained, and then analyzed to determine whether to expand or shrink the historical DNS resolution service, thereby obtaining the target adjustment rule. Finally, adjustments are made according to the target adjustment rule. It should be noted that during the analysis of historical indicator data, it is necessary not only to determine whether to expand or shrink the historical DNS resolution service, but also to determine the number of historical DNS resolution services after expansion or shrinkage.
[0068] In the above embodiments of this disclosure, analyzing historical indicator data to determine the target adjustment rules for adjusting historical forwarding nodes includes: analyzing historical indicator data to determine the time interval between two consecutive domain name resolution requests received by the historical resolution service, and the historical performance indicators of the historical resolution service; and determining the target adjustment rules based on the time interval and / or historical performance indicators.
[0069] The aforementioned historical performance metrics can be indicators that show the frequency of use of the parsing service or the service performance, such as Queries Per Second (QPS), throughput, response time, etc., but are not limited to these. In this disclosure, QPS is used as an example for illustration.
[0070] In one optional embodiment, historical indicator data can be analyzed to determine the time interval between the two most recent domain name resolution requests received by the historical DNS service. For example, it can be determined how long it would take to receive another domain name resolution request. A longer time interval indicates a lower usage frequency of the historical DNS service, and to avoid wasting resources, the historical DNS service can be scaled down. Conversely, a longer time interval indicates a higher usage frequency of the historical DNS service, and to improve its performance, the historical DNS service can be scaled up.
[0071] In another optional embodiment, considering that the query rate per second can also indicate the usage frequency of the historical DNS service, historical metric data can also be analyzed to determine the historical query rate per second. It should be noted that the historical query rate per second here can be the recent query rate per second determined statistically. A higher recent query rate per second indicates a higher usage frequency of the historical DNS service. To improve the performance of the historical DNS service, it can be scaled up; to avoid resource waste, it can be scaled down. A longer time interval indicates a higher usage frequency of the historical DNS service; to improve its performance, it can be scaled up.
[0072] In another alternative embodiment, considering the large granularity of the time interval, there may be situations where domain name resolution requests cannot be received for extended periods. However, if the division is based solely on time intervals, adjustments may not be timely. Therefore, both the time interval and the queries per second can be combined to determine the target adjustment rule for adjusting the number of historical resolution services.
[0073] In the above embodiments of this disclosure, determining the target adjustment rule based on time intervals and / or historical performance indicators includes: when the time interval is less than a first preset interval, determining a first number of parsing services based on historical performance indicators, and determining the target adjustment rule as expanding the historical parsing services to the first number of parsing services; when the time interval is greater than or equal to a second preset interval, determining a second number of parsing services based on the time interval, and determining the target adjustment rule as shrinking the historical parsing services to the second number of parsing services, wherein the first preset interval is less than the second preset interval.
[0074] The first preset interval mentioned above can be a time interval representing a high frequency of use of the historical data analysis service, and can be set according to user needs. For example, the unit of the time interval can be seconds, and the first preset interval can be 15 seconds. The second preset interval mentioned above can be a time interval representing a low frequency of use of the historical data analysis service, and can be set according to user needs. For example, the unit of the time interval can be minutes, and the second preset interval can be 5 minutes.
[0075] In an optional embodiment, if the time interval is less than a first preset interval, it is determined that the usage frequency of the historical parsing service is high. In order to improve the performance of the historical parsing service, the historical parsing service can be expanded, and the number of parsing services after expansion can be determined based on historical performance indicators, which is the first number of parsing services mentioned above.
[0076] In another optional embodiment, if the time interval is greater than the first preset interval and the time interval is further greater than the second preset interval, it is determined that the usage frequency of the historical parsing service is not high. In order to save resources, the historical parsing service can be scaled down, and the number of parsing services after scaling down can be determined according to the time interval, which is the second parsing service number mentioned above.
[0077] In the above embodiments of this disclosure, determining the first parsing service quantity based on historical performance indicators includes: comparing preset performance indicators with historical performance indicators to determine a target quantity; obtaining the maximum value between the target quantity and a first preset quantity to obtain the first parsing service quantity.
[0078] The aforementioned preset query rate per second can be the query rate per second configured by the user for the historical DNS service. Optionally, it can represent the query rate per second at which each historical DNS service can provide normal service. The aforementioned first preset quantity can be a pre-set minimum number to ensure elastic scaling of the historical DNS service. For example, the first preset quantity can be 2, but it is not limited to this.
[0079] In one optional embodiment, if it is determined that the historical DNS resolution service is used frequently, in order to accurately determine the number of DNS resolution services after expansion, i.e., the aforementioned first number of DNS resolution services, a ratio can first be calculated between a preset query rate per second and a historical performance indicator, and then the target number can be obtained by rounding up. The target number is then compared with a first preset number. If the target number is greater than or equal to the first preset number, the target number is determined to be the aforementioned first number of DNS resolution services; if the target number is less than the first preset number, the target number is determined to be the aforementioned first number of DNS resolution services.
[0080] In the above embodiments of this disclosure, determining the second parsing service quantity based on the time interval includes: determining the second parsing service quantity as a second preset quantity when the time interval is greater than or equal to a second preset interval and less than a third preset interval; and determining the second parsing service quantity as a third preset quantity when the time interval is greater than or equal to a third preset interval, wherein the third preset quantity is less than the second preset quantity.
[0081] The aforementioned third preset interval can be a time interval representing a lower frequency of use of the historical DNS resolution service. This can be set according to user needs; for example, the unit of the time interval can be minutes, and the third preset interval can be 30 minutes. The aforementioned second preset quantity can be a pre-set quantity to avoid impacting performance due to the elastic scaling down of the historical DNS resolution service. For example, the second preset quantity can be 2, but it is not limited to this. The aforementioned third preset quantity can be a pre-set minimum quantity to ensure that the historical DNS resolution service can provide services. For example, the third preset quantity can be 1, but it is not limited to this.
[0082] In one optional embodiment, after determining that the time interval is greater than or equal to the second preset interval, in order to accurately determine the number of expanded parsing services, i.e., the second number of parsing services mentioned above, the time interval is first compared with the third preset interval. If the time interval is less than the third preset interval, it indicates that the usage frequency of the historical parsing service is relatively high, and the historical parsing service cannot be arbitrarily reduced to one. Therefore, the historical parsing service can be reduced to the second preset number. If the time interval is greater than the third preset interval, it indicates that the usage frequency of the historical parsing service is relatively low. Therefore, in order to save resources, the historical parsing service can be reduced to the third preset number.
[0083] In the above embodiments of this disclosure, the target forwarding node includes a resolution unit container and an outbound terminal node. Forwarding a domain name resolution request to the target domain name server corresponding to the domain name resolution request through the target forwarding node includes: processing the domain name resolution request through the resolution unit container to determine the forwarding rules of the domain name resolution request; and forwarding the domain name resolution request to a virtual private cloud with a client deployed through the outbound terminal node according to the forwarding rules. The domain name resolution request is forwarded from the virtual private cloud to the target domain name server, and the target domain name server is connected to the virtual private cloud.
[0084] To build a resolution service using serverless computing resources in a shared resource pool, a custom resolution unit container can be created using a containerized approach, and an metrics collector can be configured within the resolution unit container. Outbound endpoints can be built through the resolution service, enabling network connectivity between the resolution service and the VPC where the client resides, and these outbound endpoints can be integrated into the resolution unit container.
[0085] In one optional embodiment, after receiving a domain name resolution request, the resolution unit container can forward the request through the outbound terminal node to the VPC where the client is located, i.e., the VPC where the client is deployed, according to its internally defined forwarding rules. The VPC then forwards the request to the target DNS server. It should be noted that after reaching the VPC, the domain name resolution request can be forwarded to the Internet by the outbound router in the VPC's data center, and then forwarded to the DNS server via a public network router.
[0086] In the above embodiments of this disclosure, determining at least one DNS resolution service pre-configured for a target domain name includes: determining at least one DNS resolution service pre-configured for a target domain name based on a preset mapping relationship, wherein the preset mapping relationship is used to characterize the mapping relationship between the domain name and the DNS resolution service.
[0087] The aforementioned preset mapping relationship can be a pre-stored mapping rule, which records different domain names and the corresponding DNS resolution services for each domain name.
[0088] In one optional embodiment, after determining the target domain name, the target resolution service corresponding to the target domain name can be determined according to the pre-stored rules. That is, a query can be performed based on the target domain name in the preset mapping relationship. If the same domain name is found, the corresponding service of the same domain name can be read from the preset mapping relationship to obtain the target resolution service.
[0089] In the above embodiments of this disclosure, the method further includes: receiving a domain name resolution request forwarded by a regional domain name service, wherein the regional domain name service is connected to at least one virtual private cloud belonging to the same region, and the at least one virtual private cloud includes a virtual private cloud on which a client is deployed.
[0090] The aforementioned zone domain name service can be a standard Private Zone deployed within a VPC and cannot be arbitrarily modified. To enable the resolution of user-defined domain names, the zone domain name service can be used as the entry point for resolving user-defined domain names.
[0091] In one alternative embodiment, a standard Private Zone can be deployed for different VPCs in the same region. All domain name resolution requests sent by all VPCs will first enter the Private Zone and then be forwarded to different resolution services. The resolution services will then forward the domain name resolution requests to the target DNS server.
[0092] The following detailed description, with reference to Figure 5, uses a VPC domain name resolution method as an example to illustrate a preferred embodiment of this disclosure. As shown in Figure 5, the entire virtual internet consists of a user VPC 10, a DNS service VPC 20, a Private Zone 30, and a DNS server 40. The DNS server here can be a custom DNS server or a commonly used DNS server on the internet. The user VPC 10 deploys an application 11 and a VPC gateway (GW) 12. The DNS server VPC 20 deploys a resolver 21 and a resolution service 22. The resolution service 22 includes a load balancer 221, resolution units 222 (e.g., three elastic units), and an elastic central control 223. The resolution unit 222 includes a DNS proxy 222-1 and an outbound port node 222-2. The Private Zone is a private cloud regionalized resolver, configured with fixed IP addresses for different regions. Based on these IP addresses, the purpose of resolving user-defined domain names can be achieved. The resolver is a user-customizable service that resolves user-defined domain names. It uses the Private Zone as the entry point, forwarding the domain name resolution request to the resolver after the domain name matches the rules. The load balancer is the entry component of the resolution service, enabling the resolver to be transparent, elastic, and highly available. Each resolution unit is configured with a resolution proxy, which forwards domain name resolution requests from the DNS server VPC to the user VPC through integrated outbound endpoints. It also has a metric collector configured to transmit collected metric data to the elastic control center. The outbound endpoint is configured to connect the DNS server VPC and the user VPC. The elastic control center can collect metric data from each resolution unit and elastically expand or shrink the number of resolution units as needed.
[0093] Based on the aforementioned virtual internet, the domain name resolution process is as follows:
[0094] In step S501, the application within the user's VPC initiates a request to resolve the domain name, which is the aforementioned domain name resolution request.
[0095] Step S502: Forward the domain name resolution request to Private Zone based on the fixed IP address.
[0096] In step S503, Private Zone determines whether the domain name to be resolved needs to be resolved through the DNS service based on the domain name resolution request and the DNS configuration information within the user's VPC. If it is determined that the domain name to be resolved needs to be resolved through the DNS service, the domain name resolution request is sent to the resolver in the DNS server VPC.
[0097] In step S504, the resolver queries multiple internally configured rules to determine the mapping relationship between different domain names and resolution services, thereby determining the target resolution service corresponding to the domain name to be resolved, and forwarding the domain name resolution request to the load balancer of the resolution service.
[0098] In step S505, the load balancer receives a domain name resolution request, selects a resolution unit according to the scheduling policy, and sends the domain name resolution request to that resolution unit.
[0099] Step S506: The DNS proxy inside the resolution unit processes the domain name resolution request and determines the corresponding forwarding rules.
[0100] Step S507: The resolution unit forwards the domain name resolution request to the user's VPC through the outbound port node integrated on the resolution unit according to the forwarding rules.
[0101] Step S508: The domain name resolution request is forwarded out of the user VPC through the switch (not shown in the figure) and VPC gateway within the user VPC.
[0102] In step S509, the egress router (not shown in the figure) of the data center where the user's VPC is located forwards the domain name resolution request to the Internet.
[0103] In step S510, the Internet sends the domain name resolution request to the target DNS server through the public network route. After completing the domain name resolution, the target DNS server returns the queried IP address to the application in the user's VPC.
[0104] The expansion and contraction process of the parsing unit is as follows:
[0105] In step S511, the parsing unit periodically reports the collected basic indicators, custom indicators, and other indicator data to the elastic central control.
[0106] Step S512: The elastic control system analyzes the indicator data reported by all resolution units corresponding to the same domain name, and expands or shrinks the capacity according to the following rules: If there is a domain name resolution request in the last 15 seconds, it is automatically expanded into two resolution units, where, by default, it is one resolution unit; based on the user-configured preset QPS and recent QPS of a single resolution unit, the number of resolution units after expansion or shrinkage is calculated through a formula: in, This indicates rounding up; if there are no domain name resolution requests in the last 5 minutes, the size will automatically shrink to 2 resolution units; if there are no domain name resolution requests in the last 30 minutes, the size will automatically shrink to 1 resolution unit.
[0107] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.
[0108] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this disclosure is not limited to the described order of actions, because according to this disclosure, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this disclosure.
[0109] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, they can also be implemented by hardware. Based on this understanding, the technical solutions of this disclosure, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this disclosure.
[0110] According to an embodiment of this disclosure, a domain name resolution system for implementing the above-described domain name resolution method is also provided, as shown in FIG6. The system 600 includes:
[0111] The central resolver 602 is configured to determine the domain name to be resolved corresponding to the domain name resolution request when it receives a domain name resolution request sent by a client.
[0112] A resolution server 604, connected to a central resolver 602, is configured to, when the domain name to be resolved successfully matches a target domain name among at least one pre-defined domain names, determine at least one resolution service pre-configured for the target domain name, identify a target resolution service from the at least one resolution service, and forward the domain name resolution request to the target domain name server corresponding to the domain name resolution request through the target resolution service. The at least one resolution service is constructed using computing resources in a shared resource pool, and the domain name resolution request is resolved by the target domain name server to obtain the target network address corresponding to the domain name to be resolved.
[0113] The central parser mentioned above can be parser 21 as shown in Figure 5, and the parsing server 604 mentioned above can be parsing service 22 as shown in Figure 5.
[0114] In the above embodiments of this disclosure, the DNS server includes: a load balancer configured to determine a target DNS service from at least one DNS service unit; at least one DNS service unit corresponding to at least one DNS service, including the target DNS service unit, wherein the target DNS service unit is configured to forward the domain name resolution request to the target domain name server.
[0115] The load balancer mentioned above can be load balancer 221 as shown in Figure 5, and at least one parsing service unit can be parsing unit 222 as shown in Figure 5.
[0116] In the above embodiments of this disclosure, the parsing server further includes: a central control device connected to multiple parsing service units, configured to determine the historical parsing service configuration of the target parsing service, acquire historical indicator data of the historical parsing service, analyze the historical indicator data, determine the target adjustment rule for adjusting the historical parsing service, and adjust the historical parsing service based on the target adjustment rule to obtain at least one parsing service, wherein the multiple parsing service units include at least one parsing service unit.
[0117] The aforementioned central control device can be a flexible central control unit 223 as shown in Figure 5.
[0118] In the above embodiments of this disclosure, the target resolution service unit includes: a resolution unit container, configured to process domain name resolution requests and determine forwarding rules for the domain name resolution requests; and an outbound terminal node, configured to forward the domain name resolution requests to a virtual private cloud with a client deployed according to the forwarding rules, wherein the domain name resolution requests are forwarded by the virtual private cloud to the target domain name server, and the target domain name server is connected to the virtual private cloud.
[0119] The aforementioned resolution unit container can be the DNS proxy 222-1 of the resolution unit 222 shown in Figure 5, and the aforementioned outbound terminal node can be the outbound port node 222-2 shown in Figure 5.
[0120] It should be noted that the preferred embodiments involved in the above embodiments of this disclosure are the same as the solutions, application scenarios and implementation processes provided in the above embodiments, but are not limited to the solutions provided in the above embodiments.
[0121] According to an embodiment of this disclosure, a virtual Internet is also provided, as shown in FIG7, including:
[0122] The first virtual private cloud 702 has a client deployed, which is configured to send domain name resolution requests;
[0123] The target domain name server 704 is connected to the first virtual private cloud and is configured to resolve domain name resolution requests to obtain the target network address corresponding to the domain name to be resolved. The domain name to be resolved is used to represent the domain name corresponding to the domain name resolution request.
[0124] The second virtual private cloud 706 is equipped with the domain name resolution system 600 described in the above embodiments. The domain name resolution system is configured to send domain name resolution requests to the target domain name server.
[0125] The first virtual private cloud mentioned above can be a user VPC as shown in Figure 5, the target domain name server mentioned above can be a DNS server as shown in Figure 5, and the second virtual private cloud mentioned above can be a DNS server VPC as shown in Figure 5.
[0126] In the above embodiments of this disclosure, the virtual Internet further includes: a regional domain name server connected to at least one virtual private cloud belonging to the same region and a second virtual private cloud, wherein the at least one virtual private cloud includes a first virtual private cloud, and the regional domain name server is configured to forward domain name resolution requests from the client to the domain name resolution system.
[0127] The aforementioned zone name server can be a Private Zone as shown in Figure 5.
[0128] The embodiments of this disclosure can provide a computer terminal, which can be any one of a group of computer terminals. Optionally, in this embodiment, the computer terminal can also be replaced by a mobile terminal or other terminal device.
[0129] Optionally, in this embodiment, the computer terminal may be located in at least one of a plurality of network devices in a computer network.
[0130] In this embodiment, the computer terminal described above can execute the program code in the method.
[0131] Optionally, FIG8 is a structural block diagram of a computer terminal according to an embodiment of the present disclosure. As shown in FIG8, the computer terminal A may include: one or more (only one is shown in the figure) processors 802, memory 804, memory controller, and peripheral interface, wherein the peripheral interface is connected to a radio frequency module, an audio module, and a display.
[0132] The memory may be configured to store software programs and modules, such as the program instructions / modules corresponding to the methods and apparatus in the embodiments of this disclosure. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, thereby implementing the methods in the above embodiments. The memory may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include memory remotely located relative to the processor, and these remote memories can be connected to terminal A via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0133] The processor can invoke information and applications stored in memory via a transmission device to perform the following steps: upon receiving a domain name resolution request from a client, determining the domain name to be resolved corresponding to the domain name resolution request; if the domain name to be resolved successfully matches a target domain name among at least one pre-defined domain names, determining at least one forwarding node pre-configured for the target resolution service corresponding to the target domain name, wherein the at least one forwarding node is constructed using computing resources in a shared resource pool; determining a target forwarding node from the at least one forwarding node, and forwarding the domain name resolution request to the target domain name server corresponding to the domain name resolution request through the target forwarding node, wherein the domain name resolution request is resolved by the target domain name server to obtain the target network address corresponding to the domain name to be resolved.
[0134] Optionally, the processor may also execute program code that performs the following steps: determining the historical forwarding nodes configured for the target resolution service and obtaining historical indicator data of the historical forwarding nodes; analyzing the historical indicator data to determine the target adjustment rules for adjusting the historical forwarding nodes; and adjusting the historical forwarding nodes based on the target adjustment rules to obtain at least one forwarding node.
[0135] Optionally, the processor may also execute program code that performs the following steps: analyzes historical indicator data to determine the time interval between two consecutive domain name resolution requests received by the target resolution service, as well as the historical performance indicators of historical forwarding nodes; and determines target adjustment rules based on the time interval and / or historical performance indicators.
[0136] Optionally, the processor may also execute program code for the following steps: when the time interval is less than a first preset interval, determine the number of first forwarding nodes based on historical performance indicators, and determine the target adjustment rule as expanding the number of historical forwarding nodes to the number of first forwarding nodes; when the time interval is greater than or equal to a second preset interval, determine the number of second forwarding nodes based on the time interval, and determine the target adjustment rule as shrinking the number of historical forwarding nodes to the number of second forwarding nodes, wherein the first preset interval is less than the second preset interval.
[0137] Optionally, the processor may also execute program code that performs the following steps: compares a preset performance indicator with a historical performance indicator to determine the target number; obtains the maximum value between the target number and the first preset number to obtain the first number of forwarding nodes.
[0138] Optionally, the processor may also execute program code that performs the following steps: when the time interval is greater than or equal to the second preset interval and less than the third preset interval, determine the number of second forwarding nodes as the second preset number; when the time interval is greater than or equal to the third preset interval, determine the number of second forwarding nodes as the third preset number, wherein the third preset number is less than the second preset number.
[0139] Optionally, the processor may also execute program code that performs the following steps: processes the domain name resolution request through the resolution unit container to determine the forwarding rules of the domain name resolution request; and forwards the domain name resolution request to the virtual private cloud where the client is deployed through the outbound terminal node in accordance with the forwarding rules, wherein the domain name resolution request is forwarded by the virtual private cloud to the target domain name server, and the target domain name server is connected to the virtual private cloud.
[0140] Optionally, the processor may also execute program code that performs the following steps: determining a target DNS resolution service pre-configured for the target domain name based on a preset mapping relationship, wherein the preset mapping relationship is used to characterize the mapping relationship between the domain name and the DNS resolution service.
[0141] Optionally, the processor may also execute program code that receives a domain name resolution request forwarded by a zone domain name service, wherein the zone domain name service is connected to at least one virtual private cloud belonging to the same zone, and the at least one virtual private cloud includes a virtual private cloud on which the client is deployed.
[0142] This disclosure provides a domain name resolution scheme. By utilizing computing resources from a shared resource pool to construct forwarding nodes, that is, by using serverless pooling technology to pool the computing and network resources upon which the underlying terminal nodes depend, network computing resources can be expanded elastically on demand. This achieves the technical effect of reducing the cost of domain name resolution in virtual private cloud scenarios and improving the scalability of domain name resolution methods. Thus, it solves the technical problems of high cost and poor scalability of domain name resolution using domain name resolution methods in virtual private cloud scenarios.
[0143] Those skilled in the art will understand that the structure shown in the figure is merely illustrative, and the computer terminal may also be a smartphone, tablet computer, PDA, mobile internet device (MID), PAD, or other terminal device. This figure does not limit the structure of the aforementioned electronic device. For example, computer terminal A may include more or fewer components (such as network interfaces, display devices, etc.) than shown in the figure, or may have a different configuration than shown in the figure.
[0144] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing the hardware related to the terminal device. The program can be stored in a computer-readable storage medium, which may include: flash drive, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0145] Embodiments of this disclosure also provide a computer-readable storage medium. Optionally, in this embodiment, the computer-readable storage medium may be configured to store program code executed by the method provided in the above embodiments.
[0146] Optionally, in this embodiment, the storage medium may be located in any computer terminal in a group of computer terminals in a computer network, or in any mobile terminal in a group of mobile terminals.
[0147] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: upon receiving a domain name resolution request sent by a client, determining the domain name to be resolved corresponding to the domain name resolution request; if the domain name to be resolved successfully matches a target domain name among at least one pre-defined domain names, determining at least one forwarding node pre-configured for the target domain name, wherein the at least one forwarding node is constructed using computing resources in a shared resource pool; determining a target forwarding node from the at least one forwarding node, and forwarding the domain name resolution request to the target domain name server corresponding to the domain name resolution request through the target forwarding node, wherein the domain name resolution request is resolved by the target domain name server to obtain the target network address corresponding to the domain name to be resolved.
[0148] Optionally, the computer-readable storage medium is further configured to store program code for performing the following steps: determining the historical forwarding nodes of the target resolution service configuration and obtaining historical indicator data of the historical forwarding nodes; analyzing the historical indicator data to determine the target adjustment rules for adjusting the historical forwarding nodes; and adjusting the historical forwarding nodes based on the target adjustment rules to obtain at least one forwarding node.
[0149] Optionally, the computer-readable storage medium is also configured to store program code for performing the following steps: analyzing historical indicator data to determine the time interval between two consecutive domain name resolution requests received by the target resolution service, and the historical performance indicators of historical forwarding nodes; and determining target adjustment rules based on the time interval and / or historical performance indicators.
[0150] Optionally, the computer-readable storage medium is further configured to store program code for performing the following steps: when the time interval is less than a first preset interval, determining the number of first forwarding nodes based on historical performance indicators, and determining the target adjustment rule to expand the number of historical forwarding nodes to the number of first forwarding nodes; when the time interval is greater than or equal to a second preset interval, determining the number of second forwarding nodes based on the time interval, and determining the target adjustment rule to shrink the number of historical forwarding nodes to the number of second forwarding nodes, wherein the first preset interval is less than the second preset interval.
[0151] Optionally, the computer-readable storage medium is further configured to store program code for performing the following steps: comparing a preset performance indicator with a historical performance indicator to determine a target quantity; obtaining the maximum value between the target quantity and a first preset quantity to obtain a first number of forwarding nodes.
[0152] Optionally, the computer-readable storage medium is further configured to store program code for performing the following steps: determining a second preset number of forwarding nodes when the time interval is greater than or equal to a second preset interval and less than a third preset interval; and determining a third preset number of forwarding nodes when the time interval is greater than or equal to a third preset interval, wherein the third preset number is less than the second preset number.
[0153] Optionally, the computer-readable storage medium is further configured to store program code for performing the following steps: processing the domain name resolution request through the resolution unit container to determine the forwarding rules of the domain name resolution request; forwarding the domain name resolution request to the virtual private cloud where the client is deployed through the outbound terminal node according to the forwarding rules, wherein the domain name resolution request is forwarded by the virtual private cloud to the target domain name server, and the target domain name server is connected to the virtual private cloud.
[0154] Optionally, the computer-readable storage medium is further configured to store program code for performing the following steps: determining a target DNS service pre-configured for the target domain name based on a preset mapping relationship, wherein the preset mapping relationship is used to characterize the mapping relationship between the domain name and the DNS service.
[0155] Optionally, the computer-readable storage medium is further configured to store program code for performing the following steps: receiving a domain name resolution request forwarded by a zone domain name service, wherein the zone domain name service is connected to at least one virtual private cloud belonging to the same zone, and the at least one virtual private cloud contains a virtual private cloud on which the client is deployed.
[0156] Embodiments of this disclosure also provide a computer program product. Optionally, in this embodiment, the computer program product may include a computer program that, when executed by a processor, implements the methods provided in the embodiments described above.
[0157] Embodiments of this disclosure also provide a computer program product. Optionally, the computer program product may include a non-volatile computer-readable storage medium configured to store a computer program that, when executed by a processor, implements the methods provided in the embodiments described above.
[0158] Embodiments of this disclosure also provide a computer program. Optionally, in this embodiment, when the computer program is executed by a processor, it implements the method provided in the above embodiments.
[0159] In the above embodiments of this disclosure, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0160] In the several embodiments provided in this disclosure, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between units or modules may be electrical or other forms.
[0161] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0162] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0163] If the integrated unit is implemented as 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 this disclosure, 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 to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.
[0164] The above description is only a preferred embodiment of this disclosure. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principles of this disclosure, and these improvements and modifications should also be considered within the scope of protection of this disclosure.
Claims
1. A domain name resolution method, comprising: Upon receiving a domain name resolution request from a client, determine the domain name to be resolved corresponding to the domain name resolution request; If the domain name to be resolved successfully matches the target domain name among at least one pre-defined domain names, at least one resolution service pre-configured for the target domain name is determined, wherein the at least one resolution service is constructed using computing resources in a shared resource pool; A target DNS service is determined from the at least one DNS service, and the domain name resolution request is forwarded to the target DNS server corresponding to the domain name resolution request through the target DNS service, wherein the domain name resolution request is resolved by the target DNS server to obtain the target network address corresponding to the domain name to be resolved.
2. The method according to claim 1, wherein, The determination of at least one DNS resolution service pre-configured for the target domain name includes: Determine the historical DNS resolution service configured for the target domain name, and obtain the historical indicator data of the historical DNS resolution service; Analyze the historical indicator data to determine the target adjustment rules for adjusting the historical parsing service; The historical parsing service is adjusted based on the target adjustment rules to obtain the at least one parsing service.
3. The method according to claim 2, wherein, The analysis of the historical indicator data to determine the target adjustment rules for adjusting the historical parsing service includes: The historical indicator data is analyzed to determine the time interval between two consecutive domain name resolution requests received by the historical resolution service, as well as the historical performance indicators of the historical resolution service. The target adjustment rule is determined based on the time interval and / or the historical performance indicators.
4. The method according to claim 3, wherein, The determination of the target adjustment rule based on the time interval and / or the historical performance indicators includes: If the time interval is less than the first preset interval, the first number of parsing services is determined based on the historical performance indicators, and the target adjustment rule is determined to expand the historical parsing services to the first number of parsing services. If the time interval is greater than or equal to the second preset interval, the second number of parsing services is determined based on the time interval, and the target adjustment rule is determined to reduce the historical parsing services to the second number of parsing services, wherein the first preset interval is less than the second preset interval.
5. The method according to claim 4, wherein, Determining the number of first parsing services based on the historical performance metrics includes: The target quantity is determined by comparing the preset performance indicators with the historical performance indicators. The first parsing service quantity is obtained by obtaining the maximum value between the target quantity and the first preset quantity.
6. The method according to claim 4, wherein, Determining the number of second parsing services based on the time interval includes: If the time interval is greater than or equal to the second preset interval and less than the third preset interval, the second parsing service quantity is determined to be the second preset quantity; If the time interval is greater than or equal to the third preset interval, the number of second parsing services is determined to be the third preset number, wherein the third preset number is less than the second preset number.
7. The method according to claim 1, wherein, The target resolution service includes a resolution unit container and an outbound terminal node. Forwarding the domain name resolution request to the target domain name server corresponding to the domain name resolution request through the target resolution service includes: The domain name resolution request is processed by the resolution unit container to determine the forwarding rules for the domain name resolution request; The domain name resolution request is forwarded to the virtual private cloud where the client is deployed by the outbound terminal node according to the forwarding rules. The domain name resolution request is forwarded by the virtual private cloud to the target domain name server, and the target domain name server is connected to the virtual private cloud.
8. The method according to claim 7, wherein, The method further includes: The parsing unit container is constructed based on a preset format, and an indicator collector is configured in the parsing unit container, wherein the indicator collector is used to collect data indicators.
9. The method according to claim 1, wherein, The determination of at least one DNS resolution service pre-configured for the target domain name includes: The at least one DNS resolution service pre-configured for the target domain name is determined based on a preset mapping relationship, wherein the preset mapping relationship is used to characterize the mapping relationship between the domain name and the DNS resolution service.
10. The method according to any one of claims 1 to 9, wherein, The method further includes: The system receives the domain name resolution request forwarded by a regional domain name service, wherein the regional domain name service is connected to at least one virtual private cloud belonging to the same region, and the at least one virtual private cloud includes a virtual private cloud on which the client is deployed.
11. A domain name resolution system, comprising: The central resolver is configured to determine the domain name to be resolved corresponding to the domain name resolution request when it receives a domain name resolution request sent by a client. A DNS server, connected to the central resolver, is configured to, when the domain name to be resolved successfully matches a target domain name among at least one pre-defined domain names, determine at least one DNS service pre-configured for the target domain name, identify a target DNS service from the at least one DNS service, and forward the domain name resolution request to the target domain name server corresponding to the domain name resolution request through the target DNS service. The at least one DNS service is constructed using computing resources in a shared resource pool, and the domain name resolution request is resolved by the target domain name server to obtain the target network address corresponding to the domain name to be resolved.
12. The system according to claim 11, wherein, The parsing server includes: A load balancer is configured to determine the target resolution service from the at least one resolution service unit; At least one resolution service unit, corresponding one-to-one with the at least one resolution service, includes a target resolution service unit, wherein the target resolution service unit is configured to forward the domain name resolution request to the target domain name server.
13. The system according to claim 11 or 12, wherein, The parsing server also includes: A central control device, connected to multiple parsing service units, is configured to determine the historical parsing service configuration of the target parsing service, acquire historical indicator data of the historical parsing service, analyze the historical indicator data, determine the target adjustment rule for adjusting the historical parsing service, and adjust the historical parsing service based on the target adjustment rule to obtain the at least one parsing service, wherein the multiple parsing service units include the at least one parsing service unit.
14. The system according to claim 11, wherein, The target parsing service unit includes: The resolution unit container is configured to process the domain name resolution request and determine the forwarding rules for the domain name resolution request; The outbound terminal node is configured to forward the domain name resolution request to the virtual private cloud where the client is deployed, according to the forwarding rules. The domain name resolution request is forwarded by the virtual private cloud to the target domain name server, and the target domain name server is connected to the virtual private cloud.
15. A virtual internet, comprising: The first virtual private cloud has a client deployed thereon, which is configured to send domain name resolution requests. The target domain name server, connected to the first virtual private cloud, is configured to resolve the domain name resolution request to obtain the target network address corresponding to the domain name to be resolved, wherein the domain name to be resolved is used to represent the domain name corresponding to the domain name resolution request; The second virtual private cloud deploys a domain name resolution system as described in any one of claims 11 to 14, wherein the domain name resolution system is configured to send the domain name resolution request to the target domain name server.
16. The virtual internet according to claim 15, wherein, The virtual internet also includes: A regional domain name server is connected to at least one virtual private cloud belonging to the same region and a second virtual private cloud, the at least one virtual private cloud including the first virtual private cloud, and the regional domain name server is configured to forward the domain name resolution request from the client to the domain name resolution system.
17. A computer terminal, comprising: Memory, which stores executable programs; A processor is configured to run the program, wherein the program executes the following method when running: upon receiving a domain name resolution request sent by a client, determining the domain name to be resolved corresponding to the domain name resolution request; if the domain name to be resolved successfully matches a target domain name among at least one pre-defined domain names, determining at least one resolution service pre-configured for the target domain name, wherein the at least one resolution service is constructed using computing resources in a shared resource pool; determining a target resolution service from the at least one resolution service, and forwarding the domain name resolution request to the target domain name server corresponding to the domain name resolution request through the target resolution service, wherein the domain name resolution request is resolved by the target domain name server to obtain the target network address corresponding to the domain name to be resolved.
18. The computer terminal according to claim 17, wherein, When the program runs, it also executes the following methods: determining the historical DNS service configured for the target domain name and obtaining historical indicator data of the historical DNS service; analyzing the historical indicator data to determine the target adjustment rule for adjusting the historical DNS service; and adjusting the historical DNS service based on the target adjustment rule to obtain the at least one DNS service.
19. A computer-readable storage medium comprising a stored executable program, wherein, When the executable program runs, it controls the device where the storage medium is located to perform the following method: upon receiving a domain name resolution request sent by a client, it determines the domain name to be resolved corresponding to the domain name resolution request; if the domain name to be resolved successfully matches a target domain name among at least one pre-defined domain names, it determines at least one resolution service pre-configured for the target domain name, wherein the at least one resolution service is constructed using computing resources in a shared resource pool; it determines a target resolution service from the at least one resolution service, and forwards the domain name resolution request to the target domain name server corresponding to the domain name resolution request through the target resolution service, wherein the domain name resolution request is resolved by the target domain name server to obtain the target network address corresponding to the domain name to be resolved.
20. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Domain name resolution request processing method and device, electronic equipment and storage medium
CN115037720A
Private network access method and system
CN115714756A
Private domain DNS (Domain Name Server) implementation method, system and equipment for computing resource sharing
CN118200027A
Adaptive resolution of domain name requests in virtual private cloud network environments
US10033691B1
Customized domain name resolution for virtual private clouds
US11489814B1