Domain name resolution method, device, equipment, storage medium and product
By obtaining application acceleration configuration information and selecting target domain name resolution servers, the domain name resolution process is optimized, solving the problems of redundant and time-consuming domain name resolution and low accuracy of mobile devices in different network environments. This achieves faster and more accurate domain name resolution and improves the running stability of applications.
Patent Information
- Application Number
- CN202210030717.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-12
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2042-01-12
AI Technical Summary
Mobile devices suffer from redundant, time-consuming, and inaccurate domain name resolution processes under different network environments, leading to application lag and disconnections.
By obtaining application acceleration configuration information, determining the target domain name characteristics, selecting the corresponding target domain name resolution server, and utilizing acceleration channels and security protocols to optimize the domain name resolution process, the number of interactions and time consumption are reduced, and the resolution accuracy is improved.
It speeds up domain name resolution, improves resolution accuracy, enhances overall domain name resolution efficiency, and avoids application lag and disconnection issues.
Smart Images

Figure CN116471256B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer, in particular to a domain name resolution method and device, equipment, storage medium and product. BACKGROUND
[0002] During the running of an application, the quality of domain name resolution is closely related to the running speed of the application. Due to the portability of mobile devices, the geographic location thereof is usually changeable, and the network environment thereof is also changeable. Under different network environments, the passability and accuracy of domain name resolution are different
[0003] In the related art, the domain name resolution traffic generated during the running of an application in a mobile device is sent to a local default domain name server through a public network, the local default domain name server performs recursive query or iterative query in a domain name server system until a domain name resolution address is obtained and returned to the mobile device.
[0004] In the related art, the domain name resolution process is redundant, involves a large number of interactions, and is time-consuming and slow, and the accuracy of domain name resolution is also low, so the overall efficiency of domain name resolution is low, which can easily cause problems such as application running lag and disconnection. SUMMARY
[0005] The embodiments of the present application provide a domain name resolution method, device, equipment, storage medium and product, which can accelerate the domain name resolution speed, improve the accuracy of domain name resolution, and improve the overall efficiency of domain name resolution.
[0006] According to an aspect of an embodiment of the present application, a domain name resolution method is provided, and the method comprises:
[0007] Obtaining application acceleration configuration information, wherein the application acceleration configuration information comprises target domain name feature information;
[0008] Obtaining a domain name resolution request sent by a target application, wherein the domain name resolution request comprises to-be-resolved domain name information;
[0009] In a case where the to-be-resolved domain name information meets the target domain name feature information, determining a target domain name resolution server corresponding to the target domain name feature information;
[0010] Sending the to-be-resolved domain name information to the target domain name resolution server;
[0011] Receiving a domain name resolution result sent by the target domain name resolution server, wherein the domain name resolution result is a result obtained by the target domain name resolution server from resolving the to-be-resolved domain name information;
[0012] Sending the domain name resolution result to the target application.
[0013] According to one aspect of the embodiments of this application, a domain name resolution apparatus is provided, the apparatus comprising:
[0014] The configuration information acquisition module is used to acquire application acceleration configuration information, which includes target domain name characteristic information.
[0015] The DNS resolution request acquisition module is used to acquire the DNS resolution request sent by the target application, wherein the DNS resolution request includes the domain name information to be resolved;
[0016] The domain name server determination module is used to determine the target domain name resolution server corresponding to the target domain name feature information when the domain name information to be resolved matches the target domain name feature information.
[0017] The domain name information sending module is used to send the domain name information to be resolved to the target domain name resolution server;
[0018] The resolution result receiving module is used to receive the domain name resolution result sent by the target domain name resolution server, wherein the domain name resolution result is the result obtained by the target domain name resolution server in resolving the domain name information to be resolved;
[0019] The resolution result sending module is used to send the domain name resolution result to the target application.
[0020] According to one aspect of the embodiments of this application, a computer device is provided, the computer device including a processor and a memory, the memory storing at least one instruction, at least one program, code set or instruction set, the at least one instruction, the at least one program, the code set or instruction set being loaded and executed by the processor to implement the above-described domain name resolution method.
[0021] According to one aspect of the embodiments of this application, a computer-readable storage medium is provided, wherein the storage medium stores at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the above-described domain name resolution method.
[0022] According to one aspect of the embodiments of this application, a computer program product is provided, the computer program product including computer instructions stored in a computer-readable storage medium, a processor of a computer device reading the computer instructions from the computer-readable storage medium, the processor executing the computer instructions, causing the computer device to perform to implement the above-described domain name resolution method.
[0023] The technical solution provided in this application can bring the following beneficial effects:
[0024] By determining whether the domain name to be resolved in the domain name resolution request matches the domain name characteristics in the application acceleration configuration information, the domain name to be resolved that matches the target domain name characteristics can be identified. Then, the domain name to be resolved is sent to the target domain name resolution server corresponding to the target domain name characteristics for resolution, and the corresponding domain name resolution result is obtained and informed to the target application. This reduces the number of interactions involved in the domain name resolution process, shortens the domain name resolution time, speeds up the domain name resolution speed in the target application, and improves the accuracy of domain name resolution. Overall, it improves the efficiency of domain name resolution and effectively avoids problems such as lag and disconnection during the operation of the target application. Attached Figure Description
[0025] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0026] Figure 1 This is a schematic diagram of an application runtime environment provided in one embodiment of this application;
[0027] Figure 2 This is a flowchart of a domain name resolution method provided in one embodiment of this application. Figure 1 ;
[0028] Figure 3 An exemplary diagram is shown of an application list page corresponding to a target accelerator application;
[0029] Figure 4 An exemplary diagram is shown of a channel loading page corresponding to a target accelerator application;
[0030] Figure 5 An exemplary diagram is shown of an acceleration details page corresponding to a target accelerator application;
[0031] Figure 6 An exemplary diagram illustrates a domain name rule organization format;
[0032] Figure 7 An exemplary diagram of a target application's launch page is shown;
[0033] Figure 8 An exemplary schematic diagram of a process for obtaining application traffic is shown;
[0034] Figure 9 This is a flowchart of a domain name resolution method provided in one embodiment of this application. Figure 2 ;
[0035] Figure 10 An exemplary diagram of an accelerated strategy matching process is shown;
[0036] Figure 11 An exemplary diagram of a domain name resolution process is shown.
[0037] Figure 12 This is a flowchart of a domain name resolution method provided in one embodiment of this application. Figure 3 ;
[0038] Figure 13 This is a flowchart of a domain name resolution method provided in one embodiment of this application. Figure 4 ;
[0039] Figure 14 An exemplary flowchart of a game application acceleration solution is shown;
[0040] Figure 15 This is a block diagram of a domain name resolution apparatus provided in one embodiment of this application;
[0041] Figure 16 This is a structural block diagram of a computer device provided in one embodiment of this application. Detailed Implementation
[0042] Before introducing the method embodiments provided in this application, a brief introduction will be given on the application scenarios, related terms or nouns that may be involved in the method embodiments of this application, so as to facilitate the understanding of those skilled in the art.
[0043] The Domain Name System (DNS) is a naming system used by the Internet to translate human-friendly machine names into IP addresses (Internet Protocol addresses).
[0044] The Hypertext Transfer Protocol (HTTP) is a simple request-response protocol.
[0045] Hypertext Transfer Protocol over Secure Socket Layer (HTTPS) is an HTTP channel designed for security. Building upon HTTP, it ensures security during transmission through encryption and authentication. HTTPS adds SSL (Secure Sockets Layer) to HTTP; the security foundation of HTTPS is SSL, therefore the details of encryption are handled by SSL. HTTPS uses a different default port than HTTP and includes an encryption / authentication layer. This system provides authentication and encrypted communication methods.
[0046] Transport Layer Security (TLS), and its successor Security Socket Layer (SSL), are cryptographic protocols that provide confidential and secure channels over the Internet.
[0047] The Internet Protocol (IP) suite supports a connectionless transport protocol called the User Datagram Protocol (UDP). UDP provides applications with a way to send encapsulated IP packets without establishing a connection.
[0048] SockS5 is a proxy protocol that acts as an intermediary between a front-end machine and a server machine communicating using TCP / IP (Transmission Control Protocol / Internet Protocol). It enables front-end machines on an intranet to access servers on the Internet or enhances communication security. The SockS5 server simulates the behavior of a front-end by forwarding requests from the front-end to the actual target server. Here, communication between the front-end and SockS5 is also via TCP / IP; the front-end sends requests intended for the real server to the SockS5 server, which then forwards them to the actual server.
[0049] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0050] Please refer to Figure 1 This diagram illustrates an application runtime environment provided in one embodiment of this application. The application runtime environment may include: terminal 10 and server 20.
[0051] Terminal 10 includes, but is not limited to, electronic devices such as mobile phones, computers, smart voice interaction devices, smart home appliances, in-vehicle terminals, game consoles, e-book readers, multimedia playback devices, and wearable devices. A network acceleration application and a client for the target application can be installed on terminal 10. The aforementioned network acceleration application is used to accelerate the network performance of the target application.
[0052] In this embodiment, the target application can be any application that supports network communication. Typically, the target application is a game application, such as a third-person shooter (TPS) game, a first-person shooter (FPS) game, a multiplayer online battle arena (MOBA) game, a battle royale (BR) game, and a multiplayer combat survival game, etc. Of course, in addition to game applications, other types of applications can also support network communication. For example, video applications, news applications, social applications, interactive entertainment applications, browser applications, shopping applications, content sharing applications, virtual reality (VR) applications, augmented reality (AR) applications, etc., and this embodiment does not limit this.
[0053] Server 20 provides background services to clients of applications in terminal 10. For example, server 20 can be a background server for the aforementioned applications. Server 20 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. Optionally, server 20 can simultaneously provide background services to applications in multiple terminals 10.
[0054] Optionally, terminal 10 and server 20 can communicate with each other via network 30. Terminal 10 and server 20 can be directly or indirectly connected via wired or wireless communication, which is not limited herein.
[0055] In an exemplary embodiment, the server 20 includes at least one domain name server. The terminal first performs a recursive query to its local domain name server. The local domain name server uses an iterative query; it first queries a root domain name server, which tells the local domain name server the IP address of the top-level domain name server to be queried next. The local domain name server then queries the top-level domain name server, which tells the local domain name server the IP address of the authoritative domain name server to be queried next. The local domain name server queries the authoritative domain name server, which tells the local domain name server the IP address corresponding to the target domain name being queried. Finally, the local domain name server tells the terminal the query result.
[0056] Please refer to Figure 2 It illustrates the flow of a domain name resolution method provided in one embodiment of this application. Figure 1 This method can be applied to computer devices, which refer to electronic devices with data computing and processing capabilities. For example, the entity executing each step can be... Figure 1 Terminal 10 in the application runtime environment shown. The method may include the following steps (210-260).
[0057] Step 210: Obtain application acceleration configuration information.
[0058] In an exemplary embodiment, the application acceleration configuration information is the configuration information corresponding to the target accelerator application, which is used to accelerate the target application.
[0059] In one possible implementation, an application list page corresponding to the target accelerator application is displayed. The application list page includes an application list, and the application list includes at least one option corresponding to an application. In response to a selection operation on the application list, the target application selected by the selection operation is determined, and the target application is the application to be accelerated. The target accelerator application is launched, the application acceleration configuration information is obtained, and based on the application acceleration configuration information, the target application to be accelerated is entered into the acceleration channel to perform network acceleration processing.
[0060] In one example, such as Figure 3 As shown, this example illustrates a schematic diagram of an application list page corresponding to a target accelerator application. Specifically, when network acceleration processing is required for an application, the terminal can display, as shown... Figure 3 The application list page 30 shown allows the user to select the application to be accelerated from the application list 31. In response to the user's selection of the acceleration button 32 corresponding to the target application in the application list 31, the terminal confirms the selected target application to be accelerated, launches the accelerator, and displays the application list as shown in the image. Figure 4 The channel shown is loading page 40. Figure 4An exemplary diagram illustrates a channel loading page corresponding to a target accelerator application. When the accelerator enters the loading phase, it can obtain the acceleration rule base and acceleration lines. Upon successful loading, it enables the default acceleration line to perform initial network acceleration processing on the application to be accelerated and displays a loading progress prompt box 41 to show the loading progress information.
[0061] When the accelerator loads successfully, it can display as follows: Figure 5 The acceleration details page 50 shown is shown. Figure 5 An exemplary diagram of an acceleration details page corresponding to a target accelerator application is shown. The acceleration details page 50 displays acceleration details information of the network acceleration performed by the accelerator application on the target application. The acceleration details page 50 may display network latency curves. A first network latency curve 51 in the acceleration details page 50 characterizes the network latency of the target application before acceleration, and a second network latency curve 52 in the acceleration details page 50 characterizes the network latency of the target application after acceleration. It can be seen that the network latency of the target application is significantly reduced after acceleration. The acceleration details page 50 also displays real-time network latency and packet loss rate information, specifically including latency before acceleration 53, latency after acceleration 54, and packet loss rate 55. Optionally, the acceleration details page 50 also displays a launch button 56 for the target application; when the user clicks the launch button 56, the terminal can start and run the target application.
[0062] In an exemplary embodiment, the application acceleration configuration information includes target domain name characteristic information. Optionally, the target domain name characteristic information includes a first domain name rule, which is used to characterize the domain name characteristic information corresponding to the security acceleration policy; the target domain name characteristic information includes a second domain name rule, which is used to characterize the domain name characteristic information corresponding to the acceleration resolution policy; and the target domain name characteristic information includes a third domain name rule, which is used to characterize the domain name characteristic information corresponding to the direct connection resolution policy. The above domain name rules correspond to the domain name resolution policy. In one example, such as... Figure 6 As shown, this example illustrates a schematic diagram of a domain name rule organization. Each domain name rule has a corresponding regular expression, and there is a correspondence between the domain name rules and three domain name resolution strategies (security acceleration strategy, accelerated resolution strategy, and direct connection resolution strategy).
[0063] Optionally, the application acceleration configuration information includes acceleration rules, which are used to assign corresponding domain name resolution strategies to different types of domain name resolution request traffic. The target domain name characteristic information can characterize the acceleration rules, and based on the acceleration rules, a domain name resolution strategy can be decided for the domain name resolution traffic. The domain name resolution strategies include, but are not limited to, the security acceleration strategy, the accelerated resolution strategy, and the direct connection resolution strategy.
[0064] In addition, the application acceleration configuration information mentioned above also includes access point information for the acceleration channel. Optionally, an access point represents the entry point of an acceleration channel. Traffic forwarded to this access point will be sent out from the exit point of this channel via the acceleration channel, and the traffic sent out from the exit point will be forwarded to the target domain name resolution server corresponding to the target domain name characteristic information mentioned above.
[0065] In an exemplary embodiment, the application acceleration configuration information mentioned above also includes server information corresponding to the target domain name resolution server. The target domain name resolution server includes, but is not limited to, the first domain name resolution server corresponding to the first domain name rule, the second domain name resolution server corresponding to the second domain name rule, and the third domain name resolution server corresponding to the third domain name rule. Optionally, different domain name resolvers correspond to different acceleration channels. After obtaining the access point information of the acceleration channel, the system also retrieves the domain name resolution server (first domain name resolution server) supporting the security protocol corresponding to the security acceleration policy from the backend via a protocol. This domain name resolution server will be used later to resolve domain name resolution requests encapsulated by the security protocol. Optionally, there are various security protocols used to encapsulate domain name resolution requests, such as DNS over HTTP / HTTPS, DNS over TLS, etc. These protocols work by using security protocols such as HTTP / HTTPS and TLS to transmit the content of the domain name resolution request. Because these security protocols differ from the standard DNS protocol (UDP traffic with a target port of 53 and message content in the standard DNS request protocol), domain name resolution requests and domain name resolution servers supporting security protocols will not be subject to DNS hijacking or DNS cache spoofing.
[0066] Optionally, in addition to fetching the DNS server (first DNS server) that supports the security protocol corresponding to the security acceleration policy from the backend, an accelerated DNS server (second DNS server corresponding to the acceleration policy) is also fetched. The accelerated DNS server differs from the DNS server supporting the security protocol; it will subsequently be used to resolve DNS resolution requests forwarded through the fast acceleration policy. The accelerated DNS server supports standard DNS protocols and may not support the aforementioned security protocols (DNS over HTTP / HTTPS, DNS over TLS, etc.). The reason for configuring an accelerated DNS server is that for overseas applications (international applications), using the default DNS server to resolve domain names results in poor quality, while using an overseas DNS server yields better resolution results. Therefore, for overseas applications, an overseas DNS server is typically selected for the accelerated DNS server; for domestic applications, a higher-quality domestic DNS server is typically selected.
[0067] Step 220: Obtain the domain name resolution request sent by the target application.
[0068] The domain name resolution request includes the domain name information to be resolved.
[0069] The domain name resolution request includes the address information of the initial domain name resolution server, which is the domain name resolution server set up by the target application.
[0070] In an exemplary embodiment, network traffic data generated by the target application is acquired after the target application is launched. In one example, such as... Figure 7 As shown, this example illustrates a schematic diagram of a target application launch page. In response to selecting the launch button 56 of the target application in the aforementioned acceleration details page 50, the terminal can launch and run the target application, displaying the target application launch page 70.
[0071] After obtaining the application acceleration configuration information in step 210 above, such as the domain name rules, the access point of the acceleration channel, and the target domain name resolution server in the domain name feature information mentioned above, the acceleration is successful. At this time, the accelerator application can create a virtual network interface card on the client and intercept the target application's traffic through the virtual network interface card. After the virtual network interface card intercepts the target application's traffic, the accelerator performs targeted operations on the traffic according to the traffic type and acceleration rules.
[0072] In one possible implementation, a Virtual Private Network (VPN) can be constructed; and network traffic data generated by at least one application can be obtained based on the VPN. The at least one application includes the target application. Optionally, the target application is an application to be accelerated, such as the application to be accelerated set in the target accelerator application.
[0073] Optionally, the traffic type can be determined based on the destination port and message content of the network traffic data. If the destination port of the network traffic data is UDP traffic (port 53) and the message content is a standard DNS request protocol, then it can be determined to be domain name resolution request traffic, such as the domain name resolution request mentioned above. The accelerator first extracts the domain name information to be resolved from the domain name resolution request, such as the domain name to be resolved, and then uses regular expression rules based on the domain name to match the extracted domain name.
[0074] Optionally, such as Figure 8 As shown, the terminal provides VPN configuration based on the NEFilterControlProvider type. Based on this configuration, network traffic data can be obtained. Figure 8 An exemplary flowchart illustrates a process for obtaining application traffic. The traffic information captured by the aforementioned VPN type includes traffic source information, indicating the application from which the traffic originates. Therefore, for the traffic information, filtering based on application name can distinguish traffic from different applications; for the domain name, corresponding regular expression rules can be constructed to extract the domain name from the traffic information. For example, Figure 8 In the analysis, traffic 1, traffic 2, and traffic 3 were captured by the target VPN, which is of type NEFilterControlProvider. After the VPN is enabled on the terminal, traffic 1 can be analyzed through the VPN to show that it comes from video application 1 and requests the target domain name www.v.xq.com; traffic 2 can be analyzed through the VPN to show that it comes from game application 2 and requests the target domain name smxba.xq.com; traffic 3 can be analyzed through the VPN to show that it comes from short video application 3 and requests the target domain name z.douxxn.com.
[0075] In one possible application scenario, the terminal running the aforementioned accelerator client and target application client is an iOS system. The iOS system provides a VPN configuration of type NEFilterControlProvider. This type of configuration can obtain the following key traffic information from applications on the device: traffic source (application name) and the domain name to be resolved. The traffic information captured by this type of VPN includes information about which application the traffic originated from. Therefore, for this traffic information, filtering based on the application name can capture the traffic of the target application; for the domain name, corresponding regular expressions can be constructed as the aforementioned domain name rules.
[0076] In another possible implementation, traffic data can be obtained not only through a local VPN, but also through data reporting and collection.
[0077] Step 230: If the domain name information to be resolved matches the target domain name characteristic information, determine the target domain name resolution server corresponding to the target domain name characteristic information.
[0078] In an exemplary embodiment, the target domain name resolution server can be allocated according to the service region corresponding to the target application. The specific process includes: obtaining version information corresponding to the target application; determining the target service region corresponding to the target application based on the version information; and, if the domain name information to be resolved matches the target domain name characteristic information, determining the target domain name resolution server corresponding to the target domain name characteristic information in the target service region.
[0079] In an exemplary embodiment, since the first domain name rule in the target domain name feature information can characterize the domain name feature information corresponding to the security acceleration strategy, the domain name information to be resolved can be matched according to the first domain name rule, thereby determining the domain name resolution request traffic applicable to the security acceleration strategy. Accordingly, as... Figure 9 As shown, the implementation process of step 230 above includes the following steps (231-232). Figure 9 The flowchart of a domain name resolution method provided in one embodiment of this application is shown. Figure 2 .
[0080] Step 231: Based on the first domain name rules, perform matching processing on the domain name information to be resolved to obtain the rule matching result.
[0081] Optionally, the aforementioned first domain name rule includes at least one regular expression corresponding to the security acceleration policy. The domain name to be resolved is processed using at least one regular expression corresponding to the security acceleration policy based on the domain name to generate a rule matching result. The rule matching result is used to indicate whether the domain name information to be resolved conforms to the domain name rule.
[0082] Step 232: If the rule matching result indicates that the domain name information to be resolved conforms to the first domain name rule, then determine the first domain name resolution server corresponding to the first domain name rule, and the first acceleration channel corresponding to the first domain name resolution server.
[0083] The target domain name resolution server includes a first domain name resolution server, and the first acceleration channel is a dedicated network line channel pointing to the first domain name resolution server. Optionally, the first domain name resolution server is a domain name resolution server that supports the target security protocol. Optionally, the access point of the first acceleration channel is connected to the network where the terminal with the accelerator application client is installed is located, and the exit point of the first acceleration channel is connected to the network where the first domain name resolution server is located.
[0084] In an exemplary embodiment, if the rule matching result indicates that the domain name information to be resolved conforms to the first domain name rule, then the first domain name resolution server corresponding to the first domain name rule in the target service region and the first acceleration channel corresponding to the first domain name resolution server are determined.
[0085] In an exemplary embodiment, since the second domain name rule in the target domain name feature information can characterize the domain name feature information corresponding to the accelerated resolution strategy, the domain name information to be resolved can be matched according to the second domain name rule, thereby determining the domain name resolution request traffic applicable to the accelerated resolution strategy. Accordingly, as... Figure 9 As shown, the implementation process of step 230 above also includes the following steps (233-234).
[0086] Step 233: Based on the second domain name rules, perform matching processing on the domain name information to be resolved to obtain the rule matching result.
[0087] Optionally, the aforementioned second domain name rule includes at least one regular expression corresponding to the accelerated resolution strategy. At least one regular expression based on the domain name and corresponding to the accelerated resolution strategy is used to perform string matching processing on the domain name to be resolved, thereby generating a rule matching result. The rule matching result is used to indicate whether the domain name information to be resolved conforms to the domain name rule.
[0088] Step 234: If the rule matching result indicates that the domain name information to be resolved conforms to the second domain name rule, then determine the second domain name resolution server corresponding to the second domain name rule, and the second acceleration channel corresponding to the second domain name resolution server.
[0089] The target domain name resolution server includes a second domain name resolution server, and the second acceleration channel is a dedicated network line channel pointing to the second domain name resolution server. Optionally, the access point of the second acceleration channel is connected to the network where the terminal with the accelerator application client is installed, and the exit point of the second acceleration channel is connected to the network where the second domain name resolution server is located.
[0090] In an exemplary embodiment, if the rule matching result indicates that the domain name information to be resolved conforms to the second domain name rule, then the second domain name resolution server corresponding to the second domain name rule in the target service region and the second acceleration channel corresponding to the second domain name resolution server are determined.
[0091] In one possible implementation, for the domain name resolution request traffic of the target application, the acceleration rules can be configured to use either a security acceleration strategy or a fast acceleration strategy based on historical experience. For important domains involved in the target application (such as login-related domains, update-related domains, game-related domains, etc.), a security acceleration strategy is usually used; for secondary domains involved in the target application (such as data reporting-related domains, log-related domains, etc.), a fast acceleration strategy is usually used.
[0092] In one possible implementation, the target service region is the service region corresponding to the target application. In the aforementioned domain name service system, the domain name resolution server is typically selected from servers that provide accurate resolution results. Optionally, different domain name resolution servers corresponding to different acceleration resolution strategies in different service regions can be selected based on experience.
[0093] When the target service region corresponding to the target application is different from the region where the terminal is located, for the target application that uses the service across regions, the first domain name resolution server that supports the security protocol (DNS over HTTPS) can be domain name resolution server 8.8.8.8 and domain name resolution server 1.1.1.1. Since the above two domain name resolution servers also support the standard DNS protocol, the accelerated domain name resolution server (second domain name resolution server) can also use them.
[0094] When the target service region corresponding to the target application differs from the region where the terminal is located, for target applications that do not use services across regions, the primary domain name resolution server assigned to them that supports the secure protocol (DNS over HTTPS) can be the default domain name resolution server dns.pub. Optionally, dns.pub is the server where the domain name resolution service provided by the target application's operating company resides. The accelerated domain name resolution server (i.e., the secondary domain name resolution server) can be domain name resolution server 119.29.29.29, or domain name resolution server 182.254.116.116.
[0095] In one example, such as Figure 10As shown, this example illustrates a schematic diagram of an acceleration strategy matching process. For a domain name resolution request traffic with the domain name www.xq.com, the regular expression corresponding to domain rule 1 (.*\.xq\.cn) and the regular expression corresponding to domain rule 2 (.*\.xq\.co*) are used to match "www.xq.com" respectively. Since the regular expression corresponding to domain rule 2 can match the domain name "www.xq.com", the fast acceleration strategy associated with domain rule 2 is used to process this domain name resolution request traffic.
[0096] Step 240: Send the domain name information to be resolved to the target domain name resolution server.
[0097] In an exemplary embodiment, when the target domain name resolution server is a first domain name resolution server and the first domain name resolution server is a domain name resolution server that supports the target security protocol, such as Figure 9 As shown, the implementation process of step 240 above includes the following steps (241 to 243).
[0098] Step 241: Obtain the address information of the first domain name resolution server.
[0099] The above address information includes the Internet Protocol address, physical address, and other address information of the first domain name resolution server.
[0100] Step 242: Based on the address information and the domain name to be resolved, generate a first domain name resolution request that conforms to the target security protocol.
[0101] In an exemplary embodiment, the initial domain name resolution server address included in the above-mentioned request to be resolved is first recorded. The initial domain name resolution server address is the destination address of the above-mentioned request to be resolved (for constructing a response later). Then, based on the DNS over HTTPS protocol format (a target security protocol), a first domain name resolution request conforming to the DNS over HTTPS format is constructed, and the destination address of the first domain name resolution request is set to the address of the "domain name resolution server supporting the security protocol (i.e., the above-mentioned first domain name server)" pulled from the background above.
[0102] Step 243: Send a first domain name resolution request to the access point corresponding to the first acceleration channel so that the first domain name resolution server can receive the first domain name resolution request through the first acceleration channel.
[0103] The first domain name resolution request is forwarded to the first domain name resolution server through the first acceleration channel. Traffic forwarding through the acceleration channel can be achieved through various intermediate protocols, such as forwarding traffic via the SockS5 protocol or the VPN protocol. An acceleration channel is defined by an access point and an exit point. The access point receives traffic sent by the client, and the exit point is bound to a public IP address and interacts with the corresponding domain name resolution server. When the client forwards traffic to the access point of the acceleration channel, the traffic will pass through the acceleration channel from the exit point to the target domain name resolution server. In this scenario, the target domain name resolution server is the "first domain name resolution server that supports the security protocol".
[0104] Optionally, the primary domain name resolution server supporting the security protocol is a DNS over HTTPS domain name resolution server. On the DNS over HTTPS domain name resolution server, the domain name resolution service will resolve the IP address corresponding to the domain name and return the result to the client.
[0105] In an exemplary embodiment, when the target domain name resolution server is a second domain name resolution server, such as Figure 9 As shown, the implementation process of step 240 above also includes the following steps (244 to 246).
[0106] Step 244: Obtain the address information of the second domain name resolution server.
[0107] The above address information includes the Internet Protocol address, physical address, and other address information of the second domain name resolution server.
[0108] Step 245: Generate a second domain name resolution request based on the address information and the domain name to be resolved.
[0109] In an exemplary embodiment, the initial domain name resolution server address included in the above-mentioned request to be resolved is first recorded. The initial domain name resolution server address is the destination address of the above-mentioned request to be resolved (used for constructing a response later). Then, the destination address of the request to be resolved is changed from the initial domain name resolution server address to the address of the "accelerated domain name resolution server (second domain name resolution server)" pulled from the background as mentioned above.
[0110] Step 246: Send a second domain name resolution request to the access point corresponding to the second acceleration channel, so that the second domain name resolution server can receive the second domain name resolution request through the second acceleration channel.
[0111] The second domain name resolution request is forwarded to the second domain name resolution server via the second acceleration channel. On the second domain name resolution server, the second domain name resolution service resolves the target network address (IP address) corresponding to the domain name to be resolved. Optionally, the second domain name resolution service generates the domain name resolution result using the standard DNS protocol and returns it to the client.
[0112] Step 250: Receive the domain name resolution result sent by the target domain name resolution server.
[0113] The domain name resolution result is the result obtained by the target domain name resolution server in resolving the domain name information to be resolved.
[0114] Step 260: Send the domain name resolution result to the target application.
[0115] The domain name resolution result includes the target network address corresponding to the domain name information to be resolved. The domain name resolution request includes the address information of the initial domain name resolution server, which is the domain name resolution server set up by the target application.
[0116] In an exemplary embodiment, the target network address corresponding to the domain name information to be resolved needs to be provided to the target application. Since the domain name resolution server set by the target application for its domain name resolution request is the initial server, when sending the target network address to the target application, it is necessary to indicate that the target network address is the result obtained by the initial domain name resolution server in resolving the domain name information to be resolved. This ensures that the target application can successfully receive the target network address.
[0117] The specific reason is that the target application is configured to send domain name resolution requests to the initial DNS server for resolution. However, to improve the speed and accuracy of domain name resolution, the accelerator application changes the subject of the domain name resolution from the initial DNS server to the target DNS server. If the accelerator application directly sends the domain name resolution result sent by the target DNS server to the target application, the target application will not accept the result. For the target application, the domain name resolution result from the initial DNS server is the correct response. Therefore, it needs to indicate that the target network address is the result obtained by the initial DNS server from resolving the domain name information to ensure that the target application can successfully receive the target network address.
[0118] However, it should be noted that the target network address mentioned above is actually the result obtained by the target domain name server in resolving the domain name information to be resolved. However, in order to ensure the logical correctness of the resolution result received by the target application, it is necessary to use the address information of the initial domain name resolution server and the target network address mentioned above to construct the domain name resolution response information corresponding to the domain name resolution request sent by the target application, so as to indicate that the target network address is the result obtained by the initial domain name resolution server in resolving the domain name information to be resolved.
[0119] Correspondingly, such as Figure 9 As shown, the implementation process of step 260 above includes the following steps (261-262).
[0120] Step 261: Based on the address information of the initial domain name resolution server and the target network address, generate the domain name resolution response information corresponding to the domain name resolution request.
[0121] The domain name resolution response information indicates that the target network address is the result obtained by the initial domain name resolution server in resolving the domain name information to be resolved. The domain name resolution response information includes the aforementioned target network address, and the source address of the target network address in the domain name resolution response information is the address of the initial domain name resolution server.
[0122] After receiving the result, if the target DNS server is the first DNS resolver supporting the target security protocol, the client first extracts the target network address (e.g., IP address) corresponding to the domain name to be resolved from the DNS resolution result based on the target security protocol (e.g., DNS over HTTPS). Then, it constructs the DNS resolution response information based on the standard DNS protocol, and needs to set the source address of the DNS resolution response information to the address of the initial DNS resolver, such as the previously recorded destination address of the request to be resolved. The reason for using the standard DNS protocol to construct the response in this step is that the target application uses the default protocol (standard DNS protocol) when making the DNS resolution request, so the response also needs to use the default protocol (standard DNS protocol). Since the accelerator uses the target security protocol (DNS over HTTPS protocol) when actually making the DNS resolution request, the response needs to be adapted to the default protocol (standard DNS protocol).
[0123] If the target domain name server is a secondary domain name resolution server, the secondary domain name resolution server can be a domain name resolution server using the default protocol. Therefore, the domain name resolution result sent by the secondary domain name resolution server also conforms to the default protocol (standard DNS protocol) format. So no additional protocol adaptation is needed. It is only necessary to set the source address of the domain name resolution response information to the address of the initial domain name resolution server.
[0124] Optionally, the target security protocol may include DNS over TLS in addition to DNS over HTTPS, but this application embodiment does not limit this.
[0125] Step 262: Send a domain name resolution response message to the target application so that the target application can transmit data based on the target network address.
[0126] In one possible implementation, the domain name resolution response information adapted to the default protocol (standard DNS protocol) is sent to the target application.
[0127] The target application can establish a communication connection with the application server corresponding to the target network address to conduct stable data transmission.
[0128] In one example, such as Figure 11 As shown, this example illustrates a schematic diagram of a domain name resolution process. After the user initiates the acceleration process on the accelerator client, the accelerator begins to accelerate the target application, and the specific process is as follows:
[0129] In the initial phase, the accelerator retrieves acceleration rules from the backend via a protocol to determine the different DNS resolution strategies to be used for handling different DNS resolution request traffic. Optionally, the acceleration rules consist of domain name rules. Based on the acceleration rules, the accelerator can decide on the DNS resolution strategy to use when processing the DNS resolution request traffic. These DNS resolution strategies include, but are not limited to, security acceleration strategies, fast acceleration strategies, and direct connection resolution strategies.
[0130] In addition to retrieving acceleration rules from the backend via a protocol, the accelerator also retrieves access nodes for the acceleration channel from the backend via a protocol. Optionally, the aforementioned acceleration channel is a dedicated network line of an operator, such as the dedicated line of the target application. Generally, the network connection path for communication between the terminal and the target application is: the terminal's internal network - public network - the internal network of the target application's backend server, with the dedicated network located in the public network portion. Of the three strategies mentioned above, domain name resolution request traffic processed using the direct connection resolution strategy does not pass through the acceleration channel, and the corresponding direct connection domain name resolution server also does not pass through the acceleration channel. Domain name resolution request traffic processed using the other two strategies will be accelerated through the acceleration channel to the corresponding domain name resolution servers for those two strategies. Each access node represents the entry point of an acceleration channel. Traffic forwarded to this access node will be sent out from the exit node of this channel via the acceleration channel, and the traffic at the exit node will be forwarded to the target server for interaction. Optionally, the target server is the backend server of the target application.
[0131] After the accelerator pulls the acceleration channel access point, it also pulls a DNS server that supports the security protocol from the backend via a protocol. This DNS server, which supports the security protocol, will be used later to resolve DNS resolution requests encapsulated by the security protocol; it is the DNS server corresponding to the security acceleration strategy. There are various security protocols used to encapsulate DNS resolution requests, such as DNS over HTTP / HTTPS and DNS over TLS. These protocols work by using secure protocols like HTTP / HTTPS and TLS to transmit the content of the DNS resolution request. Because the characteristics of these protocols differ from those of DNS requests (UDP traffic with a target port of 53 and message content following the standard DNS request protocol), they are not susceptible to DNS hijacking or DNS cache spoofing.
[0132] In addition, the accelerator pulls an accelerated DNS server from the backend via a protocol. This accelerated DNS server differs from the DNS server that supports security protocols; it will then be used to resolve DNS resolution requests forwarded through the fast acceleration strategy (i.e., the accelerated resolution strategy mentioned above). Optionally, the accelerated DNS server only supports the standard DNS protocol and does not support the aforementioned target security protocols (DNS over HTTP / HTTPS, DNS over TLS, etc.). The reason for configuring an accelerated DNS server is that for foreign applications (such as foreign games), using the default DNS server to resolve domain names results in poor quality, while using a foreign DNS server yields better resolution results. Therefore, for foreign applications, an foreign DNS server is typically selected for the accelerated DNS server; for domestic applications, a higher-quality domestic DNS server is typically selected.
[0133] Once the above acceleration configuration information has been retrieved, the acceleration is successful. At this point, the accelerator will create a virtual network interface on the client and intercept application traffic through the virtual network interface. After the virtual network interface intercepts the application traffic, the accelerator will perform targeted operations on the traffic according to the traffic type and acceleration rules.
[0134] If the traffic is a domain name resolution request (UDP traffic with a destination port of 53 and a message content of the standard DNS request protocol), the accelerator first extracts the domain name to be resolved from the traffic, and then uses regular expression rules based on the domain name to match the extracted domain name.
[0135] If the traffic hits the security acceleration policy, the domain name resolution request is encapsulated using a security protocol (DNS over HTTP / HTTPS, DNS over TLS, etc.), and then forwarded through the acceleration channel to request domain name resolution from a domain name resolution server that supports the security protocol.
[0136] If the traffic hits the fast acceleration policy, the original domain name resolution request is modified to point to the accelerated domain name resolution server, and then the domain name resolution request is forwarded through the acceleration channel to request the target server to resolve the domain name.
[0137] If the traffic does not match the security acceleration policy and the fast acceleration policy, the original domain name resolution request will be forwarded to the direct domain name resolution server without going through the acceleration channel, requesting the direct domain name resolution server to resolve the domain name.
[0138] If the traffic is not DNS resolution traffic, determine whether it is legitimate IP traffic. If it is, accelerate the forwarding to the application server; otherwise, do not process it.
[0139] In the above example, by safeguarding domain name resolution through a security protocol, the domain name resolution process is protected from DNS attacks such as DNS hijacking and DNS cache spoofing. This significantly improves the success rate and accuracy of domain name resolution during application operation, effectively resolving game lag and disconnection issues caused by domain name resolution failures or inaccuracies. Furthermore, forwarding real-time domain name resolution requests through an accelerated channel effectively solves the problem of domain name resolution failures, especially in cross-server applications where failures prevent application startup, thus effectively addressing application availability issues.
[0140] In summary, the technical solution provided in this application, by determining whether the domain name to be resolved in the domain name resolution request matches the domain name characteristics in the application acceleration configuration information, can identify the domain name to be resolved that matches the target domain name characteristics. The domain name to be resolved is then sent to the target domain name resolution server corresponding to the target domain name characteristics for resolution, obtaining the corresponding domain name resolution result to inform the target application. This reduces the number of interactions involved in the domain name resolution process, shortens the domain name resolution time, accelerates the domain name resolution speed in the target application, and improves the accuracy of domain name resolution. Overall, it improves the efficiency of domain name resolution and effectively avoids problems such as lag and disconnection during the operation of the target application.
[0141] Please refer to Figure 12 It illustrates the flow of a domain name resolution method provided in one embodiment of this application. Figure 3 This method can be applied to computer devices, which refer to electronic devices with data computing and processing capabilities. For example, the entity executing each step can be... Figure 1 Terminal 10 in the application runtime environment shown. The method may include the following steps (1210-1280).
[0142] Step 1210: Obtain application acceleration configuration information.
[0143] Application acceleration configuration information includes target domain name characteristics.
[0144] In an exemplary embodiment, the target domain name feature information includes a first domain name rule, a second domain name rule, and a third domain name rule. The first domain name rule is used to characterize the domain name feature information corresponding to the security acceleration strategy; the second domain name rule is used to characterize the domain name feature information corresponding to the acceleration resolution strategy; and the third domain name rule is used to characterize the domain name feature information corresponding to the direct connection resolution strategy.
[0145] Step 1220: Obtain the domain name resolution request sent by the target application.
[0146] Step 1230: Obtain the version information corresponding to the target application.
[0147] Step 1240: Based on the version information, determine the target service region corresponding to the target application.
[0148] The domain name resolution request includes the domain name information to be resolved.
[0149] The domain name resolution request includes the address information of the initial domain name resolution server, which is the domain name resolution server set up by the target application.
[0150] Step 1250: If the domain name information to be resolved matches the target domain name characteristic information, determine the target domain name resolution server corresponding to the target domain name characteristic information in the target service region.
[0151] In an exemplary embodiment, such as Figure 13 As shown, the implementation process of step 1250 above includes the following steps (1251-1255). Figure 13 The flowchart of a domain name resolution method provided in one embodiment of this application is shown. Figure 4 .
[0152] Step 1251: Based on the first domain name rules, perform matching processing on the domain name information to be resolved to obtain the rule matching result.
[0153] Step 1252: If the rule matching result indicates that the domain name information to be resolved conforms to the first domain name rule, then determine the first domain name resolution server corresponding to the first domain name rule in the target service region, and the first acceleration channel corresponding to the first domain name resolution server.
[0154] Step 1253: If the rule matching result indicates that the domain name information to be resolved does not conform to the first domain name rule, then the domain name information to be resolved is matched based on the second domain name rule to obtain the rule matching result.
[0155] Step 1254: If the rule matching result indicates that the domain name information to be resolved conforms to the second domain name rule, then determine the second domain name resolution server corresponding to the second domain name rule in the target service region, and the second acceleration channel corresponding to the second domain name resolution server.
[0156] Step 1255: If the rule matching result indicates that the domain name information to be resolved does not conform to the second domain name rule, then determine the third domain name resolution server.
[0157] In one possible implementation, the aforementioned third-party DNS server is the DNS server corresponding to the direct-connection DNS resolution strategy. The DNS resolution process using the direct-connection DNS resolution strategy involves the accelerator client directly sending a DNS resolution request to the third-party DNS server, which will not be elaborated upon here.
[0158] Step 1260: Send the domain name information to be resolved to the target domain name resolution server.
[0159] In an exemplary embodiment, when the target domain name resolution server is a first domain name resolution server and the first domain name resolution server is a domain name resolution server that supports the target security protocol, such as Figure 13 As shown, the implementation process of step 1260 above includes the following steps (1261 to 1263).
[0160] Step 1261: Obtain the address information of the first domain name resolution server.
[0161] Step 1262: Based on the address information and the domain name to be resolved, generate a first domain name resolution request that conforms to the target security protocol.
[0162] Step 1263: Send a first domain name resolution request to the access point corresponding to the first acceleration channel, so that the first domain name resolution server can receive the first domain name resolution request through the first acceleration channel.
[0163] In an exemplary embodiment, when the target domain name resolution server is a second domain name resolution server, such as Figure 13 As shown, the implementation process of step 1260 above includes the following steps (1264 to 1266).
[0164] Step 1264: Obtain the address information of the second domain name resolution server;
[0165] Step 1265: Based on the address information and the domain name to be resolved, generate a second domain name resolution request;
[0166] Step 1266: Send a second domain name resolution request to the access point corresponding to the second acceleration channel, so that the second domain name resolution server can receive the second domain name resolution request through the second acceleration channel.
[0167] In an exemplary embodiment, when the target domain name resolution server is a third-party domain name resolution server, such as Figure 13 As shown, the implementation process of step 1260 above includes the following step 1267.
[0168] Step 1267: Send a domain name resolution request to the third domain name resolution server.
[0169] Step 1270: Receive the domain name resolution result sent by the target domain name resolution server.
[0170] In an exemplary embodiment, such as Figure 13 As shown, step 1270 includes the following steps (1271-1273).
[0171] Step 1271: Receive the domain name resolution result sent by the first domain name resolution server.
[0172] Step 1272: Receive the domain name resolution result sent by the second domain name resolution server.
[0173] Step 1273: Receive the domain name resolution result sent by the third domain name resolution server.
[0174] Step 1280: Send the domain name resolution result to the target application.
[0175] In an exemplary embodiment, such as Figure 13 As shown, the implementation process of step 1280 above includes the following steps (1281 to 1285).
[0176] Step 1281: Upon receiving the domain name resolution result sent by the first domain name resolution server, the domain name resolution result is decrypted based on the target security protocol to obtain the target network address corresponding to the domain name information to be resolved.
[0177] Step 1282: Based on the address information of the initial domain name resolution server and the target network address, generate the domain name resolution response information corresponding to the domain name resolution request.
[0178] The domain name resolution response information is used to indicate that the target network address is the result obtained by the initial domain name resolution server in resolving the domain name information to be resolved.
[0179] Step 1283: Upon receiving the domain name resolution result sent by the second domain name resolution server, generate the domain name resolution response information corresponding to the domain name resolution request based on the address information of the initial domain name resolution server and the target network address.
[0180] Step 1284: Send a domain name resolution response message to the target application so that the target application can transmit data based on the target network address.
[0181] Step 1285: Upon receiving the domain name resolution result from the third domain name resolution server, send the domain name resolution result to the target application so that the target application can transmit data based on the domain name resolution result.
[0182] The steps in this embodiment have been explained above and will not be repeated here.
[0183] Game application acceleration is a typical application scenario corresponding to the embodiments of this application. In this scenario, the accelerator mentioned above can be a game accelerator, whose main purpose is to optimize the network quality of terminal games and improve the gaming experience. In actual gaming scenarios, the network environment is very complex. Affected by the network environment, the quality of game domain name resolution may be poor, leading to problems such as game lag, disconnection, and inability to enter the game. Applying the domain name resolution scheme provided in the embodiments of this application can accelerate game applications, thereby protecting and speeding up the domain name resolution process and improving the quality of domain name resolution in complex network environments. Figure 14 As shown, this example illustrates a flowchart of a game application acceleration solution. The specific process is as follows:
[0184] After intercepting domain name resolution request traffic, the accelerator first extracts the target domain name information from the traffic of this domain name resolution request based on the standard domain name resolution protocol.
[0185] Next, the accelerator matches the traffic and, based on the above acceleration rule application process, determines whether the traffic is eligible for a security acceleration strategy, a fast acceleration strategy, or a direct connection resolution strategy.
[0186] The domain name resolution process using the security acceleration strategy is as follows:
[0187] If a security acceleration strategy is to be adopted, first record the destination address of the current request as X (for constructing the response later), then construct a DNS over HTTPS format domain name resolution request (first domain name resolution request) based on the DNS over HTTPS protocol format, and set the destination address of this request to the address of the "domain name resolution server that supports the security protocol" pulled from the backend above.
[0188] The request is then forwarded to the DNS server via an accelerated channel. Accelerated channels can forward traffic using various intermediate protocols, such as SockS5 or VPN. An accelerated channel consists of an access point and an exit point. The access point receives traffic from the client, and the exit point is bound to a public IP address to interact with the target server. When the client forwards traffic to the accelerated channel access point, the traffic passes through the accelerated channel from the exit point to the target DNS server. In this scenario, the target DNS server is a "DNS server that supports security protocols."
[0189] On a DNS over HTTPS domain name resolution server, the domain name resolution service resolves the IP address corresponding to the domain name and returns the result to the accelerator client.
[0190] After receiving the result, the accelerator client first extracts the IP address corresponding to the domain name based on the DNS over HTTPS protocol. Then, it constructs a domain name resolution response based on the standard DNS protocol, and needs to set the source address of the response to the previously recorded destination address X. The reason for using the standard DNS protocol in this step is that the game application uses the standard DNS protocol when making domain name resolution requests, so the response also needs to use the standard DNS protocol. Since the accelerator actually uses the DNS over HTTPS protocol when making domain name resolution requests, the response needs to be adapted to the standard DNS protocol.
[0191] Once the standard DNS protocol result is found, the resolution result for this domain name will be sent back to the game application.
[0192] The domain name resolution process using the fast acceleration strategy is as follows:
[0193] If a fast acceleration strategy is to be adopted, first record the destination address of the current request as Y (to be used to construct the response later), and then set the destination address of the current request to the address of the "accelerated domain name resolution server" pulled from the backend above.
[0194] Then, the request is forwarded to the domain name resolution server through an accelerated channel.
[0195] On the accelerated DNS server, the DNS service resolves the IP address corresponding to the domain name and returns the result to the client using the standard DNS protocol.
[0196] After receiving the result, the client does not need to perform any additional protocol adaptation because the result is in standard DNS protocol format. It only needs to set the source address of the result to the previously requested destination address Y.
[0197] After processing the DNS protocol results, the resolution result of this domain name is notified back to the game app.
[0198] The domain name resolution process using the direct connection strategy is very simple. It involves sending a domain name resolution request directly on the accelerator client, which will not be elaborated here.
[0199] In the aforementioned system, a security acceleration strategy is adopted for the game's domain name resolution requests. This can prevent man-in-the-middle attacks from hijacking DNS requests or spoofing DNS caches based on the characteristics of the standard DNS protocol, thereby improving the success rate of game domain name resolution. Using an acceleration channel to speed up DNS requests can accelerate the resolution speed of domain names and improve the accuracy of domain name resolution, thereby reducing game lag and disconnection issues and improving game stability.
[0200] In summary, the technical solution provided in this application, through the matching relationship between the domain name to be resolved and the domain name rules in the domain name features, can select a domain name resolution server corresponding to the domain name rules for domain name resolution of different domain name rules. Under the security acceleration strategy, the encrypted domain name request can be regenerated and decrypted by the domain name resolution server set with the corresponding security protocol to generate the resolution result, which can improve the security of domain name resolution, avoid attacks such as DNS hijacking and DNS cache spoofing, and significantly improve the success rate of domain name resolution. In addition, in the above-mentioned security acceleration strategy and acceleration resolution strategy, a domain name resolution server in the corresponding region can also be selected for domain name resolution according to the service region of the target application, which can effectively solve the problems of slow cross-regional domain name resolution process, inaccurate resolution results, and high domain name resolution failure rate.
[0201] The following are embodiments of the apparatus of this application, which can be used to execute embodiments of the method of this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method of this application.
[0202] Please refer to Figure 15 This diagram illustrates a block diagram of a domain name resolution apparatus according to an embodiment of this application. The apparatus has the function of implementing the aforementioned domain name resolution method; this function can be implemented in hardware or by hardware executing corresponding software. The apparatus can be a computer device or can be installed within a computer device. The apparatus 1500 may include: a configuration information acquisition module 1510, a resolution request acquisition module 1520, a domain name server determination module 1530, a domain name information sending module 1540, a resolution result receiving module 1550, and a resolution result sending module 1560.
[0203] The configuration information acquisition module 1510 is used to acquire application acceleration configuration information, which includes target domain name characteristic information.
[0204] The DNS resolution request acquisition module 1520 is used to acquire the DNS resolution request sent by the target application, wherein the DNS resolution request includes the domain name information to be resolved.
[0205] The domain name server determination module 1530 is used to determine the target domain name resolution server corresponding to the target domain name feature information when the domain name information to be resolved matches the target domain name feature information.
[0206] The domain name information sending module 1540 is used to send the domain name information to be resolved to the target domain name resolution server.
[0207] The resolution result receiving module 1550 is used to receive the domain name resolution result sent by the target domain name resolution server, wherein the domain name resolution result is the result obtained by the target domain name resolution server in resolving the domain name information to be resolved.
[0208] The resolution result sending module 1560 is used to send the domain name resolution result to the target application.
[0209] In an exemplary embodiment, the target domain name feature information includes a first domain name rule, which is used to characterize the domain name feature information corresponding to the security acceleration strategy; the domain name server determination module 1530 includes: a domain name rule matching unit and a server determination unit.
[0210] The domain name rule matching unit is used to perform matching processing on the domain name information to be resolved based on the first domain name rule to obtain the rule matching result.
[0211] The server determination unit is configured to determine the first domain name resolution server corresponding to the first domain name rule and the first acceleration channel corresponding to the first domain name resolution server if the rule matching result indicates that the domain name information to be resolved conforms to the first domain name rule.
[0212] The target domain name resolution server includes the first domain name resolution server, and the first acceleration channel is a dedicated network line channel pointing to the first domain name resolution server.
[0213] In an exemplary embodiment, the first domain name resolution server is a domain name resolution server that supports the target security protocol, and the domain name information sending module 1540 includes: an address acquisition unit, a request generation unit, and a request sending unit.
[0214] The address acquisition unit is used to acquire the address information of the first domain name resolution server.
[0215] The request generation unit is used to generate a first domain name resolution request that conforms to the target security protocol based on the address information and the domain name information to be resolved.
[0216] The request sending unit sends the first domain name resolution request to the access point corresponding to the first acceleration channel, so that the first domain name resolution server receives the first domain name resolution request through the first acceleration channel.
[0217] In an exemplary embodiment, the target domain name feature information includes a second domain name rule, which is used to characterize the domain name feature information corresponding to the accelerated resolution strategy.
[0218] The domain name rule matching unit is further configured to perform matching processing on the domain name information to be resolved based on the second domain name rule, and obtain the rule matching result.
[0219] The server determination unit is further configured to determine the second domain name resolution server corresponding to the second domain name rule and the second acceleration channel corresponding to the second domain name resolution server if the rule matching result indicates that the domain name information to be resolved conforms to the second domain name rule.
[0220] The target domain name resolution server includes the second domain name resolution server, and the second acceleration channel is a dedicated network line channel pointing to the second domain name resolution server.
[0221] In an exemplary embodiment, the address acquisition unit is further configured to acquire the address information of the second domain name resolution server.
[0222] The request generation unit is further configured to generate a second domain name resolution request based on the address information and the domain name information to be resolved.
[0223] The request sending unit is further configured to send the second domain name resolution request to the access point corresponding to the second acceleration channel, so that the second domain name resolution server receives the second domain name resolution request through the second acceleration channel.
[0224] In an exemplary embodiment, the device 1500 further includes: a version information acquisition module and a service area determination module.
[0225] The version information acquisition module is used to acquire the version information corresponding to the target application.
[0226] The service region determination module is used to determine the target service region corresponding to the target application based on the version information.
[0227] The domain name server determination module 1530 is further configured to determine the target domain name resolution server corresponding to the target domain name feature information in the target service region when the domain name information to be resolved matches the target domain name feature information.
[0228] In an exemplary embodiment, the domain name resolution result includes the target network address corresponding to the domain name information to be resolved, and the domain name resolution request includes the address information of the initial domain name resolution server, wherein the initial domain name resolution server is the domain name resolution server set by the target application;
[0229] The parsing result sending module 1560 includes: a reply information generation unit and a reply information sending unit.
[0230] The response information generation unit is used to generate domain name resolution response information corresponding to the domain name resolution request based on the address information of the initial domain name resolution server and the target network address. The domain name resolution response information is used to indicate that the target network address is the result obtained by the initial domain name resolution server in resolving the domain name information to be resolved.
[0231] The reply information sending unit is used to send the domain name resolution reply information to the target application so that the target application can perform data transmission based on the target network address.
[0232] In summary, the technical solution provided in this application, by determining whether the domain name to be resolved in the domain name resolution request matches the domain name characteristics in the application acceleration configuration information, can identify the domain name to be resolved that matches the target domain name characteristics. The domain name to be resolved is then sent to the target domain name resolution server corresponding to the target domain name characteristics for resolution, obtaining the corresponding domain name resolution result to inform the target application. This reduces the number of interactions involved in the domain name resolution process, shortens the domain name resolution time, accelerates the domain name resolution speed in the target application, and improves the accuracy of domain name resolution. Overall, it improves the efficiency of domain name resolution and effectively avoids problems such as lag and disconnection during the operation of the target application.
[0233] It should be noted that the apparatus provided in the above embodiments is only illustrated by the division of the above functional modules when implementing its functions. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0234] Please refer to Figure 16 This diagram illustrates a structural block diagram of a computer device according to an embodiment of this application. The computer device may be a terminal. This computer device is used to implement the domain name resolution method provided in the above embodiments. Specifically:
[0235] Typically, computer device 1600 includes a processor 1601 and a memory 1602.
[0236] Processor 1601 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 1601 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1601 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 1601 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 1601 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0237] The memory 1602 may include one or more computer-readable storage media, which may be non-transitory. The memory 1602 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 1602 is used to store at least one instruction, at least one program, code set, or instruction set, configured to be executed by one or more processors to implement the aforementioned domain name resolution method.
[0238] In some embodiments, the computer device 1600 may optionally include a peripheral device interface 1603 and at least one peripheral device. The processor 1601, memory 1602, and peripheral device interface 1603 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 1603 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 1604, a touch display screen 1605, a camera assembly 1606, an audio circuit 1607, a positioning assembly 1608, and a power supply 1609.
[0239] Those skilled in the art will understand that Figure 16The structure shown does not constitute a limitation on the computer device 1600, and may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0240] In an exemplary embodiment, a computer-readable storage medium is also provided, the storage medium storing at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set, when executed by a processor, implements the above-described domain name resolution method.
[0241] Optionally, the computer-readable storage medium may include: ROM (Read Only Memory), RAM (Random Access Memory), SSD (Solid State Drives), or optical disc, etc. The random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).
[0242] In an exemplary embodiment, a computer program product or computer program is also provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the aforementioned domain name resolution method.
[0243] It should be understood that "multiple" as used herein refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the step numbers described herein are merely illustrative of one possible execution order. In some other embodiments, the steps may not be executed in numerical order, such as two steps with different numbers being executed simultaneously, or two steps with different numbers being executed in the reverse order of the illustration. This application does not limit this.
[0244] In addition, in the specific embodiments of this application, data such as user information are involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0245] The above description is merely an exemplary embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A domain name resolution method, characterized in that, The method includes: Obtain application acceleration configuration information, which includes target domain name characteristic information; the application acceleration configuration information is the configuration information corresponding to the target accelerator application, which is used to accelerate the target application; Obtain the domain name resolution request sent by the target application, the domain name resolution request including the domain name information to be resolved; the domain name resolution request includes the address information of the initial domain name resolution server, the initial domain name resolution server being the domain name resolution server set by the target application; If the domain name information to be resolved matches the target domain name feature information, determine the target domain name resolution server corresponding to the target domain name feature information; Send the domain name information to be resolved to the target domain name resolution server; The system receives a domain name resolution result sent by the target domain name resolution server, wherein the domain name resolution result is obtained by the target domain name resolution server resolving the domain name information to be resolved; the domain name resolution result includes the target network address corresponding to the domain name information to be resolved. Based on the address information of the initial domain name resolution server and the target network address, a domain name resolution response information corresponding to the domain name resolution request is generated. The domain name resolution response information is used to indicate that the target network address is the result obtained by the initial domain name resolution server in resolving the domain name information to be resolved. The domain name resolution response information is sent to the target application so that the target application can transmit data based on the target network address.
2. The method according to claim 1, characterized in that, The target domain name feature information includes a first domain name rule, which is used to characterize the domain name feature information corresponding to the security acceleration strategy. The step of determining the target domain name resolution server corresponding to the target domain name feature information when the domain name information to be resolved matches the target domain name feature information includes: Based on the first domain name rule, the domain name information to be resolved is matched to obtain the rule matching result; If the rule matching result indicates that the domain name information to be resolved conforms to the first domain name rule, then the first domain name resolution server corresponding to the first domain name rule and the first acceleration channel corresponding to the first domain name resolution server are determined. The target domain name resolution server includes the first domain name resolution server, and the first acceleration channel is a dedicated network line channel pointing to the first domain name resolution server.
3. The method according to claim 2, characterized in that, The first domain name resolution server is a domain name resolution server that supports the target security protocol. Sending the domain name information to be resolved to the target domain name resolution server includes: Obtain the address information of the first domain name resolution server; Based on the address information and the domain name to be resolved, a first domain name resolution request conforming to the target security protocol is generated; The first domain name resolution request is sent to the access point corresponding to the first acceleration channel, so that the first domain name resolution server receives the first domain name resolution request through the first acceleration channel.
4. The method according to claim 1, characterized in that, The target domain name feature information includes a second domain name rule, which is used to characterize the domain name feature information corresponding to the accelerated resolution strategy. The step of determining the target domain name resolution server corresponding to the target domain name feature information when the domain name information to be resolved matches the target domain name feature information includes: Based on the second domain name rule, the domain name information to be resolved is matched to obtain the rule matching result; If the rule matching result indicates that the domain name information to be resolved conforms to the second domain name rule, then the second domain name resolution server corresponding to the second domain name rule and the second acceleration channel corresponding to the second domain name resolution server are determined. The target domain name resolution server includes the second domain name resolution server, and the second acceleration channel is a dedicated network line channel pointing to the second domain name resolution server.
5. The method according to claim 4, characterized in that, Sending the domain name information to be resolved to the target domain name resolution server includes: Obtain the address information of the second domain name resolution server; Based on the address information and the domain name to be resolved, a second domain name resolution request is generated; The second domain name resolution request is sent to the access point corresponding to the second acceleration channel, so that the second domain name resolution server receives the second domain name resolution request through the second acceleration channel.
6. The method according to claim 1, characterized in that, The method further includes: Obtain the version information corresponding to the target application; Based on the version information, the target service region corresponding to the target application is determined; The step of determining the target domain name resolution server corresponding to the target domain name feature information when the domain name information to be resolved matches the target domain name feature information includes: If the domain name information to be resolved matches the target domain name feature information, determine the target domain name resolution server corresponding to the target domain name feature information in the target service region.
7. A domain name resolution device, characterized in that, The device includes: The configuration information acquisition module is used to acquire application acceleration configuration information, which includes target domain name characteristic information; the application acceleration configuration information is the configuration information corresponding to the target accelerator application, which is used to accelerate the target application; The DNS resolution request acquisition module is used to acquire the domain name resolution request sent by the target application. The domain name resolution request includes information about the domain name to be resolved and the address information of the initial domain name resolution server. The domain name server determination module is used to determine the target domain name resolution server corresponding to the target domain name feature information when the domain name information to be resolved matches the target domain name feature information. The domain name information sending module is used to send the domain name information to be resolved to the target domain name resolution server; The resolution result receiving module is used to receive the domain name resolution result sent by the target domain name resolution server. The domain name resolution result is the result obtained by the target domain name resolution server in resolving the domain name information to be resolved. The domain name resolution result includes the target network address corresponding to the domain name information to be resolved. The initial domain name resolution server is the domain name resolution server set by the target application. The domain name resolution result sending module is used to send the domain name resolution result to the target application; The parsing result sending module includes: a reply information generation unit and a reply information sending unit; The response information generation unit is used to generate domain name resolution response information corresponding to the domain name resolution request based on the address information of the initial domain name resolution server and the target network address. The domain name resolution response information is used to indicate that the target network address is the result obtained by the initial domain name resolution server in resolving the domain name information to be resolved. The reply information sending unit is used to send the domain name resolution reply information to the target application so that the target application can perform data transmission based on the target network address.
8. The apparatus according to claim 7, characterized in that, The target domain name feature information includes a first domain name rule, which is used to characterize the domain name feature information corresponding to the security acceleration strategy. The domain name server determination module includes: a domain name rule matching unit and a server determination unit; The domain name rule matching unit is used to perform matching processing on the domain name information to be resolved based on the first domain name rule to obtain the rule matching result; The server determination unit is configured to determine the first domain name resolution server corresponding to the first domain name rule and the first acceleration channel corresponding to the first domain name resolution server if the rule matching result indicates that the domain name information to be resolved conforms to the first domain name rule. The target domain name resolution server includes the first domain name resolution server, and the first acceleration channel is a dedicated network line channel pointing to the first domain name resolution server.
9. The apparatus according to claim 8, characterized in that, The first domain name resolution server is a domain name resolution server that supports the target security protocol. The domain name information sending module includes: an address acquisition unit, a request generation unit, and a request sending unit. The address acquisition unit is used to acquire the address information of the first domain name resolution server; The request generation unit is used to generate a first domain name resolution request that conforms to the target security protocol based on the address information and the domain name information to be resolved; The request sending unit sends the first domain name resolution request to the access point corresponding to the first acceleration channel, so that the first domain name resolution server receives the first domain name resolution request through the first acceleration channel.
10. The apparatus according to claim 9, characterized in that, The target domain name feature information includes a second domain name rule, which is used to characterize the domain name feature information corresponding to the accelerated resolution strategy. The domain name rule matching unit is further configured to perform matching processing on the domain name information to be resolved based on the second domain name rule to obtain a rule matching result; The server determination unit is further configured to determine the second domain name resolution server corresponding to the second domain name rule and the second acceleration channel corresponding to the second domain name resolution server if the rule matching result indicates that the domain name information to be resolved conforms to the second domain name rule; The target domain name resolution server includes the second domain name resolution server, and the second acceleration channel is a dedicated network line channel pointing to the second domain name resolution server.
11. The apparatus according to claim 10, characterized in that, The address acquisition unit is also used to acquire the address information of the second domain name resolution server; The request generation unit is further configured to generate a second domain name resolution request based on the address information and the domain name information to be resolved; The request sending unit is further configured to send the second domain name resolution request to the access point corresponding to the second acceleration channel, so that the second domain name resolution server receives the second domain name resolution request through the second acceleration channel.
12. The apparatus according to claim 7, characterized in that, The device further includes: a version information acquisition module and a service area determination module; The version information acquisition module is used to acquire the version information corresponding to the target application; The service region determination module is used to determine the target service region corresponding to the target application based on the version information. The domain name server determination module is further configured to determine the target domain name resolution server corresponding to the target domain name feature information in the target service region when the domain name information to be resolved matches the target domain name feature information.
13. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one instruction, at least one program, a code set, or an instruction set, the at least one instruction, the at least one program, the code set, or the instruction set being loaded and executed by the processor to implement the domain name resolution method as described in any one of claims 1 to 6.
14. A computer-readable storage medium, characterized in that, The storage medium stores at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the domain name resolution method as described in any one of claims 1 to 6.
15. A computer program product, characterized in that, The computer program product includes computer instructions stored in a computer-readable storage medium, a processor of a computer device reading the computer instructions from the computer-readable storage medium, and the processor executing the computer instructions to cause the computer device to perform the domain name resolution method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
VPN request processing method, client device and system
CN112887444A