Application acceleration method, device, electronic device and storage medium

By obtaining and executing domain name resolution tasks when starting a request, matching or accelerating the processing of domain name resolution requests, the problem of low domain name resolution success rate in different network environments is solved, and fast access and stable operation of applications are achieved.

CN116248630BActive Publication Date: 2025-09-23TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111492465.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-08
Publication Date
2025-09-23
Estimated Expiration
2041-12-08

AI Technical Summary

Technical Problem

Under different network environments, the success rate of domain name resolution is low, resulting in problems such as freezes during application use. Existing technical solutions cannot effectively solve the domain name resolution failure caused by jitter and packet loss.

Method used

Upon receiving a startup request from a target application, obtain and execute at least one domain name resolution task, obtain the IP address corresponding to the application domain name, and intercept the domain name resolution request upon receiving a startup request, match the application domain name in the cache to determine the IP address, or process unmatched requests through an accelerated forwarding strategy.

Benefits of technology

It improves the speed and success rate of domain name resolution, avoids application freezes during use, and enables fast access to target applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116248630B_ABST
    Figure CN116248630B_ABST
Patent Text Reader

Abstract

The present application discloses an application acceleration method, device, electronic device and storage medium, which relate to the field of computer technology. The method is: based on the acceleration request of the target application, at least one domain name resolution task to be executed is obtained. Then at least one domain name resolution task is executed, and the IP address corresponding to the application domain name contained in each of the at least one domain name resolution tasks is obtained respectively. When a startup request for the target application is received, if it is determined that at least one domain name resolution task has been completed, the domain name resolution request sent by the target application is intercepted, and the target domain name in the domain name resolution request is extracted. If there is an application domain name that matches the target domain name in at least one domain name resolution task, the IP address corresponding to the application domain name is determined as the target IP address corresponding to the target domain name, and the corresponding server is accessed based on the target IP address. Based on this method, the domain name resolution request can be resolved in advance, thereby improving the speed at which the application determines the target IP address.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to an application acceleration method, device, electronic device and storage medium. Background Art

[0002] With the rapid development of science and technology, various websites and applications have brought great convenience to life and production. For example, people can play online games through handheld electronic devices. However, due to the portability of handheld electronic devices, the network environments they are in are also very different. Moreover, due to different network environments, the passability and accuracy of corresponding domain name resolution are different. The quality of domain name resolution is closely related to the usage status of the application. Failed or incorrect domain name resolution often causes applications (such as games) to be unable to access, freeze, or disconnect.

[0003] In related technologies, the following solutions are generally used to prevent domain name resolution failure:

[0004] Solution 1: The client uses a dedicated line network to forward domain name resolution requests, relying on the stability of the dedicated line to reduce the possibility of domain name resolution request packet loss.

[0005] However, when using solution 1, it can only solve the problem of delay and packet loss on the operator's line, but cannot solve the problem of domain name resolution failure caused by jitter and packet loss on the network used by the client itself when the domain name resolution request occurs, or jitter and packet loss on the public network (i.e., remote service network) that forwards the domain name resolution request to the domain name resolution server.

[0006] Solution 2: The client uses both the cellular network and the Wi-Fi network to forward domain name resolution requests, relying on a large number of redundant packets to reduce the possibility of domain name resolution request packet loss.

[0007] However, solution 2 can only solve the packet loss problem on the network used by the client itself, but cannot solve the problem of domain name resolution failure caused by jitter and packet loss when the domain name resolution request is forwarded to the public network of the domain name resolution server.

[0008] In summary, in the related technologies, there is a technical problem in which the success rate of domain name resolution is low during the use of the application, resulting in freezes and other situations during the use of the application. Summary of the Invention

[0009] The embodiments of the present application provide an application acceleration method, device, electronic device, and storage medium for improving the success rate of domain name resolution and avoiding freezes and other situations during the use of an application.

[0010] In one aspect, a method for accelerating an application is provided, the method comprising:

[0011] Upon receiving an acceleration request for a target application, obtaining at least one domain name resolution task to be executed; wherein each domain name resolution task includes: an application domain name of another application to be accessed by the target application;

[0012] Executing the at least one domain name resolution task to obtain an Internet Protocol (IP) address corresponding to each application domain name included in the at least one domain name resolution task;

[0013] Upon receiving a start request for the target application, if it is determined that the at least one domain name resolution task has been completed, intercepting the domain name resolution request sent by the target application and determining the target domain name carried in the domain name resolution request;

[0014] If an application domain name matching the target domain name exists in the at least one domain name resolution task, the IP address corresponding to the application domain name is determined as the target IP address corresponding to the domain name resolution request, and the corresponding server is accessed based on the target IP address.

[0015] In one aspect, an application acceleration device is provided, the device comprising:

[0016] An acquiring unit, configured to acquire at least one domain name resolution task to be executed upon receiving an acceleration request for a target application; wherein each domain name resolution task includes: an application domain name of another application to be accessed by the target application;

[0017] an obtaining unit, configured to execute the at least one domain name resolution task and obtain an Internet Protocol (IP) address corresponding to each application domain name included in the at least one domain name resolution task;

[0018] a determining unit configured to, upon receiving a start request for the target application, intercept the domain name resolution request sent by the target application if it is determined that the at least one domain name resolution task has been completed, and determine a target domain name carried in the domain name resolution request;

[0019] A processing unit is used to determine the IP address corresponding to the application domain name as the target IP address corresponding to the domain name resolution request if there is an application domain name matching the target domain name in the at least one domain name resolution task, and access the corresponding server based on the target IP address.

[0020] Optionally, the device further includes a storage unit, configured to:

[0021] The IP address and the corresponding application domain name are stored as a key-value pair.

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

[0023] In one aspect, a computer program product or computer program is provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the electronic device to perform the above-described application acceleration method.

[0024] On the one hand, a computer-readable storage medium is provided, which includes a program code. When the program product is run on an electronic device, the program code is used to enable the electronic device to execute the steps of any one of the above-mentioned application acceleration methods.

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

[0026] The application acceleration method, apparatus, electronic device, and storage medium provided in the embodiments of the present application, upon receiving a startup request for a target application, have already acquired at least one domain name resolution task to be executed, and have executed at least one domain name resolution task, thereby obtaining the IP address corresponding to the application domain name contained in each of the at least one domain name resolution tasks. Therefore, upon receiving a startup request for a target application and determining that at least one domain name resolution task contains an application domain name that matches the target domain name carried in the domain name resolution request sent by the target application, the electronic device can determine the IP address corresponding to the application domain name as the target IP address corresponding to the domain name resolution request, and access the corresponding server based on the target IP address.

[0027] In this way, the domain name resolution request sent by the target application does not need to go through the path of the smart terminal, operator network and remote service network corresponding to the target application, and can quickly and accurately obtain the corresponding IP address; and since the domain name resolution task is performed based on the acceleration request before the domain name resolution request is sent by the target application to obtain the IP address, a more accurate IP address can be obtained, so that the electronic device can quickly and accurately feedback the corresponding IP address when it actually receives the domain name resolution request, thereby realizing the target application's accelerated access to the target IP address, and effectively avoiding the occurrence of freezes and the like during the use of the target application.

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

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

[0030] Figure 1 This is an optional schematic diagram of an application scenario in an embodiment of the present application;

[0031] Figure 2 This is another optional schematic diagram of an application scenario in an embodiment of the present application;

[0032] Figure 3 This is an optional flowchart of an application acceleration method in an embodiment of the present application;

[0033] Figure 4 This is a schematic diagram of a display interface of an accelerator in an embodiment of the present application;

[0034] Figure 5 This is a schematic diagram of obtaining an application domain name in an embodiment of the present application;

[0035] Figure 6 A schematic diagram of a domain name resolution task list in an embodiment of the present application;

[0036] Figure 7 This is a schematic diagram of a display interface for accelerating startup progress in an embodiment of the present application;

[0037] Figure 8 This is a schematic diagram of a process for performing a domain name resolution task in an embodiment of the present application;

[0038] Figure 9 This is a schematic diagram of an acceleration details display interface in an embodiment of the present application;

[0039] Figure 10 A schematic diagram of the relationship between a domain name matching rule and an accelerated forwarding strategy in an embodiment of the present application;

[0040] Figure 11 A schematic diagram of a domain name resolution request process in an embodiment of the present application;

[0041] Figure 12 A schematic diagram of a display interface of a target application for accelerated completion according to an embodiment of the present application;

[0042] Figure 13This is another optional flowchart of an application acceleration method in an embodiment of the present application;

[0043] Figure 14 This is a schematic diagram of the structure of an application acceleration device in an embodiment of the present application;

[0044] Figure 15 This is a schematic diagram of the hardware structure of an electronic device in an embodiment of the present application;

[0045] Figure 16 A schematic diagram of the structure of a terminal device provided in an embodiment of the present application;

[0046] Figure 17 This is a structural diagram of a server in an embodiment of the present application. DETAILED DESCRIPTION

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

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

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

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

[0051] Application: Generally refers to a computer program that performs one or more specific tasks. It runs in user mode, can interact with the user, and has a visual user interface. In this application, for ease of description, application programs are referred to as "applications."

[0052] A private cloud is a cloud infrastructure with software and hardware resources created within a firewall, allowing departments within an organization or enterprise to share data center resources. In addition to hardware resources, creating a private cloud typically also includes cloud infrastructure (IaaS, Infrastructure as a Service) software.

[0053] Private cloud computing also encompasses three layers: cloud hardware, cloud platform, and cloud services. The difference is that the cloud hardware is the user's own personal computer or server, rather than the cloud computing vendor's data center. Cloud computing vendors build data centers to provide public cloud services to millions of users, requiring tens or even millions of servers. Private cloud computing, for individuals, only serves friends and family, while for businesses, only serves their employees, customers, and suppliers. Therefore, an individual or business's own personal computer or server is sufficient for providing cloud services.

[0054] Public Cloud: This refers to a cloud service provided by a third-party provider for users to use. Public clouds are typically available over the internet and may be free or low-cost. The core attribute of a public cloud is shared resource services. There are many instances of this type of cloud, providing services across today's open public networks.

[0055] The word “exemplary” is used hereinafter to mean “serving as an example, example, or illustration.” Any embodiment described as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.

[0056] The terms "first" and "second" are used for descriptive purposes only and should not be construed as explicitly or implicitly indicating relative importance or the number of the technical features indicated. Therefore, features specified as "first" or "second" may explicitly or implicitly include one or more of such features. In the description of the embodiments of this application, unless otherwise specified, "plurality" means two or more.

[0057] Currently, due to the portability of smart terminals, different users often use them in different locations. Furthermore, the location of the same user can vary, leading to changes in the network environment in which the smart terminal resides. Consequently, domain name resolution requests triggered by smart terminals in different network environments can produce different results. This can lead to inaccurate resolution of domestic and foreign domain names, or failure to resolve domain name requests due to sudden packet loss on the network used by the smart terminal. This can cause lag or disconnection when using the target application on the smart terminal.

[0058] Although technical solutions such as those described in Solution 1 and Solution 2 have been proposed in related technologies to address the above-mentioned issues, the aforementioned technical solutions have the technical problem of a low success rate in domain name resolution during the use of the application, resulting in freezes and other situations during the use of the application.

[0059] In view of this, in an embodiment of the present application, a domain name resolution solution is provided. In this solution, when an acceleration startup request for a target application is received, at least one domain name resolution task, acceleration channel access information, and domain name matching rules are obtained from the acceleration server based on the request, and then at least one domain name resolution task is executed and the corresponding IP address is cached.

[0060] Furthermore, after the client receives the startup request of the target application, it can intercept the domain name resolution request and match the target domain name carried by the domain name resolution request with the application domain name in the cache corresponding to at least one domain name resolution task. If the matched application domain name can be determined, the IP (Internet Protocol Address) address corresponding to the application domain name in the cache is determined as the target IP address corresponding to the target domain name. In addition, when the corresponding application domain name is not matched in the cache corresponding to at least one domain name resolution task, it is determined whether to execute the accelerated forwarding strategy for the domain name resolution request based on the preset domain name matching rules and the target domain name, and further determine the accelerated network channel based on the accelerated channel access information, and then accelerate the forwarding processing of the domain name resolution request through the accelerated network channel. In this way, by pre-execution of the domain name resolution task and real-time domain name resolution acceleration, the speed and success rate of domain name resolution can be greatly improved, thereby realizing the target application's accelerated access to the target IP address, thereby improving the object's experience of using the target application.

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

[0062] The embodiments of the present application are applicable to most applications that require domain name resolution requests. The applications are, for example, game applications, social applications, or entertainment applications, etc. Figure 1The figure shows a scenario diagram provided by an embodiment of the present application. In this scenario diagram, multiple smart terminals 101 and an acceleration server 102 are included. Smart terminals 101-1, 101-2, ..., and 101-n can be used by different users, and each of the multiple smart terminals 101 is equipped with an accelerator and various applications.

[0063] The smart terminal 101 may be, for example, a mobile phone, a tablet computer (PAD), a personal computer (PC), a smart TV, a smart watch, a smart speaker, a smart car device, or a wearable device, but is not limited thereto. Each smart terminal 101 may include one or more processors 1011, a memory 1012, and an I / O interface 1013 for interacting with a server.

[0064] In an embodiment of the present application, the acceleration server 102 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms, but is not limited to these.

[0065] For example, each object can open the accelerator application on the smart terminal 101, then select the target application to be accelerated in the accelerator application and send an acceleration request to the acceleration server 102. Similarly, the acceleration server 102 will process the acceleration request sent by each smart terminal 101. For example, if object A sends an acceleration request for application 1 to the acceleration server 102 through the smart terminal 101-1, the acceleration server 102 will process the acceleration request and feedback the processing result of the acceleration request to the smart terminal 101-1.

[0066] The smart terminal 101 and the acceleration server 102, as well as each smart terminal 101, can communicate directly or indirectly via one or more networks 103. The network 103 can be a wired network or a wireless network, for example, a mobile cellular network or a Wireless Fidelity (WIFI) network. Of course, other possible networks are also possible, and the present embodiment does not limit this.

[0067] See also Figure 2 , Figure 2Another scenario diagram provided by an embodiment of the present application includes: a smart terminal 101 with an accelerator and other applications installed, an acceleration server 102, a carrier network 201, an acceleration network channel 202, a public network channel 203, a first domain name resolution server 204, and a second domain name resolution server 205.

[0068] Among them, the smart terminal 101 can send an acceleration request to the acceleration server 102, so that the acceleration server 102 determines at least one domain name resolution task to be executed and information such as the acceleration channel access point based on the acceleration request, and then feeds back at least one domain name resolution task to be executed and information such as the acceleration channel access point to the smart terminal 101, so that the smart terminal 101 can obtain information such as at least one domain name resolution task to be executed and information such as the acceleration channel access point.

[0069] The smart terminal 101 performs accelerated forwarding of the domain name resolution request through the operator network 201, the accelerated network channel 202, and the first domain name resolution server 204. Furthermore, the smart terminal 101 can perform non-accelerated forwarding of the domain name resolution request through the operator network 201, the public network channel 203, and the second domain name resolution server 205.

[0070] Of course, the method provided in the embodiment of the present application is not limited to Figure 1 、 Figure 2 The application scenarios shown can also be used in other possible application scenarios, and the embodiments of the present application are not limited thereto.

[0071] See Figure 3 FIG. 1 is a flowchart of an implementation of an application acceleration method provided in an embodiment of the present application. The method can be executed by an electronic device. The specific implementation process is as follows:

[0072] Step 301: upon receiving an acceleration request for a target application, obtaining at least one domain name resolution task to be executed; wherein each domain name resolution task includes: an application domain name of another application to be accessed by the target application.

[0073] In the embodiment of the present application, the subject can choose to open the accelerator application on the smart terminal and then select the target application to be accelerated. Figure 4 As shown, Figure 4 This is a schematic diagram of the display interface of an accelerator on a smart terminal provided by an embodiment of the present application. Among them, the object can select the application that it wants to accelerate on the accelerator interface, for example, the object can select Figure 4In the specific implementation process, the subject can, based on actual needs, select and add the application to be accelerated from multiple applications installed on the smart terminal. After successfully adding the application to be accelerated on the accelerator interface, the subject can choose to start accelerating the application to be accelerated again.

[0074] Specifically, the operation of selecting the object to start accelerating the application to be accelerated can be a click operation, a drag operation, a long press operation, etc., of course, it can also be voice control, and this application does not limit this.

[0075] In an embodiment of the present application, after the subject opens the accelerator application on the smart terminal and selects to open the application to be accelerated, the smart terminal can receive an acceleration request for the application to be accelerated. Then, based on the preset VPN configuration, the smart terminal can obtain a key message, which includes the source of the domain name resolution request and the application domain name. The source of the domain name resolution request can be represented by an application identifier, such as the application name, or other information that uniquely identifies the application, which is not limited in the embodiment of the present application.

[0076] For example, see Figure 5 , Figure 5 Schematic diagram of obtaining an application domain name in an embodiment of the present application. Specifically, based on the preset VPN, a message can be captured, and then the application from which the message is sent can be analyzed, thereby determining the application domain name that the application wants to access.

[0077] Please continue reading Figure 5 After the smart terminal starts the preset VPN, the preset VPN can analyze the received message 1, so as to determine that the application domain name corresponding to message 1 is: www.qq.com, and the source of message 1 is the application with application identification A; the preset VPN can also analyze the received message 2, so as to determine that the application domain name corresponding to message 2 is: smoba.qq.com, and the source of message 2 is the application with application identification B; and the preset VPN can analyze the received message 3, so as to determine that the application domain name corresponding to message 3 is: www.xxxx.com, and the source of message 3 is the application with application identification F.

[0078] It should be noted that, in actual implementation, the application identifier can be one or a combination of Chinese characters, characters, Arabic numerals and other characters, and this is not limited in the embodiments of the present application.

[0079] In an embodiment of the present application, after the smart terminal obtains the application domain name corresponding to the pending domain name resolution task for the target application, it can send the application domain name and an acceleration request to the acceleration server corresponding to the accelerator application. Furthermore, the acceleration server can process the acceleration request and, based on the application domain name, determine at least one domain name resolution task. Furthermore, based on this determination, it can also determine the domain name matching rule, acceleration channel access point, and corresponding domain name resolution server.

[0080] Specifically, the acceleration server can feed back the aforementioned at least one domain name resolution task to the smart terminal in the form of a list. Of course, it can also be in other forms, which are not limited by this application. The following text takes the at least one domain name resolution task as a domain name resolution task list as an example for explanation.

[0081] For example, see Figure 6 , Figure 6 Schematic diagram of a domain name resolution task list provided in an embodiment of the present application. The domain name resolution task list includes application domain name 1 to be resolved, application domain name 2 to be resolved, ..., application domain name n to be resolved. Where n is a positive integer greater than 2. It should be noted that, in a specific implementation, the domain name resolution task list may include only one application domain name to be resolved, or may include multiple application domain names to be resolved, and this embodiment of the present application does not impose any restrictions on this.

[0082] In this embodiment of the present application, the domain name matching rule reported by the acceleration server is used to determine whether to use an accelerated forwarding strategy or a direct forwarding strategy for domain name resolution requests sent by the target application. Furthermore, the domain name resolution server is the target domain name resolution server for the accelerated domain name resolution request, and the domain name resolution server resolves the domain name resolution request forwarded via the accelerated network channel.

[0083] In the embodiments of the present application, the access point of the acceleration network channel reported by the acceleration server can be understood as the entrance to a dedicated acceleration network line. Domain name resolution requests forwarded to this access point will be issued from the exit of the acceleration network channel through the acceleration network channel. The exit domain name resolution requests will be forwarded to the domain name resolution server for interaction. In specific implementations, the corresponding access point for each acceleration network channel can be determined based on historical experience or other methods.

[0084] In the embodiment of the present application, after the smart terminal receives the acceleration request for the application to be accelerated, the interface of the smart terminal is changed to Figure 4 The interface for selecting an application to be accelerated can jump to an interface for displaying the acceleration startup progress.

[0085] For example, see Figure 7 As shown, Figure 7A schematic diagram of a display interface for accelerating startup progress provided by an embodiment of the present application. Figure 7 As shown in the figure, the current accelerated startup progress is 32%. In this way, users can accurately know the current accelerated startup progress and improve the user experience.

[0086] It should be noted that Figure 7 The progress of the accelerated startup is shown as a percentage. In actual implementation, the accelerated startup progress can also be displayed as the degree of filling of a table, the length of a line, or the degree of filling of a pattern of any shape. This application does not limit this. For example, the degree of filling of a water drop pattern can be used to determine the accelerated startup progress at that time. In addition, for the sake of convenience, the application to be accelerated is referred to as the target application in the following text.

[0087] Step 302: Execute at least one domain name resolution task to obtain an Internet Protocol (IP) address corresponding to the application domain name contained in each of the at least one domain name resolution tasks.

[0088] In an embodiment of the present application, after the smart terminal receives the aforementioned at least one domain name resolution task fed back by the acceleration server, the smart terminal may execute the at least one domain name resolution task.

[0089] In the embodiment of the present application, for each domain name resolution task, the following steps may be used but are not limited to:

[0090] Step A: Based on the application domain name corresponding to each domain name resolution task, build an accelerated domain name resolution request.

[0091] In an embodiment of the present application, the smart terminal can determine the application domain name corresponding to each domain name resolution task and construct a domain name resolution request using the standard DNS protocol. The target domain name resolution server in the domain name resolution request is set to the domain name resolution server previously obtained from the acceleration server, and the domain name requested for resolution is set to the application domain name.

[0092] Step B: Based on the target acceleration network channel determined by the acceleration request, the acceleration domain name resolution request is forwarded to the target domain name resolution server corresponding to the acceleration domain name resolution request.

[0093] In an embodiment of the present application, when the smart terminal uses the target accelerated network channel, it first forwards the accelerated domain name resolution request to the access point of the target accelerated network channel. The target accelerated network channel forwards this domain name resolution request to the exit point, and the exit point sends the domain name resolution request to the target domain name resolution server.

[0094] For example, if the application domain name carried in the acceleration request is www.xxxx.com, the target acceleration network channel for the accelerated domain name resolution request carrying www.xxxx.com is determined to be dedicated network channel 1, and the target domain name resolution server corresponding to dedicated network channel 1 is domain name resolution server 1. In this way, the smart terminal can determine to forward the accelerated domain name resolution request to dedicated network channel 1, and then send it to domain name resolution server 1 through network channel 1, thereby achieving rapid forwarding of the domain name resolution request.

[0095] Specifically, the target acceleration network channel is an acceleration dedicated line, with an access point and an exit point at both ends. The access point receives domain name resolution requests sent by smart terminals, and the exit point sends domain name resolution requests forwarded by the target acceleration network channel.

[0096] Specifically, forwarding domain name resolution requests can be implemented based on multiple protocols, such as Socks5 protocol, VPN protocol, etc., which is not limited in the embodiments of the present application.

[0097] Step C: The IP address fed back by the target domain name resolution server is used as the IP address corresponding to the application domain name included in each accelerated domain name resolution task.

[0098] In an embodiment of the present application, when the target domain name resolution server receives an accelerated domain name resolution request, it resolves the accelerated domain name resolution request, determines the IP address corresponding to the application domain name, and feeds the IP address back to the smart terminal. The smart terminal then uses the IP address fed back by the target domain name resolution server as the IP address corresponding to the application domain name included in each accelerated domain name resolution task.

[0099] For example, suppose the application domain name is www.zzz.com, and domain name resolution server 2 receives an accelerated domain name resolution request containing www.zzz.com. Domain name resolution server 2 can then process the accelerated domain name resolution request and obtain the IP address corresponding to "www.zzz.com": 12.23.11.14. Furthermore, domain name resolution server 2 can feed "12.23.11.14" back to the smart terminal, so that the smart terminal uses "12.23.11.14" as the IP address of www.zzz.com.

[0100] In an embodiment of the present application, based on steps A to C, the IP addresses corresponding to the application domain names included in at least one domain name resolution task can be obtained respectively.

[0101] In the embodiment of the present application, after obtaining the IP address corresponding to the application domain name included in at least one domain name resolution task, the IP address and the corresponding application domain name can be saved as a key-value pair. For example, the application domain name and IP address can be saved as www.xxx.com-11.12.13.22. This provides a good implementation foundation for the subsequent domain name resolution of the target application, thereby improving the speed of the domain name resolution process corresponding to the target application and the success rate of the domain name resolution.

[0102] For example, see Figure 8 As shown, Figure 8 This is a schematic diagram of the process of performing domain name resolution tasks provided in the embodiment of the present application. Figure 8 The application domain names to be resolved shown in and the acceleration network channels and target domain name resolution servers corresponding to the application domain names can be the same or different.

[0103] Step 303: When receiving a start request for the target application, if it is determined that at least one domain name resolution task has been completed, intercept the domain name resolution request sent by the target application and determine the target domain name carried in the domain name resolution request.

[0104] In an embodiment of the present application, after the smart terminal executes at least one domain name resolution task, the display interface of the smart terminal may jump from an interface of accelerating startup progress to an interface of accelerating details.

[0105] For example, see Figure 9 As shown, Figure 9 This is a schematic diagram of the display interface for acceleration details in an embodiment of the present application. This display interface diagram can display information about the degree of delay before and after acceleration, as well as information about the packet loss rate. Furthermore, this interface diagram also includes function keys for starting and stopping acceleration of the target application.

[0106] In an embodiment of the present application, the object can perform a preset operation on the startup target application in the acceleration details page currently displayed on the smart terminal. The preset operation is, for example, a click operation, so that the smart terminal can receive a startup request for the target application.

[0107] In an embodiment of the present application, when the smart terminal receives a startup request for a target application, if it is determined that at least one domain name resolution task has been completed, the domain name resolution request sent by the target application is intercepted through a virtual network card, and then based on the standard DNS protocol, the target domain name carried in the domain name resolution request is extracted from the domain name resolution request.

[0108] Step 304: If there is an application domain name matching the target domain name in at least one domain name resolution task, the IP address corresponding to the application domain name is determined as the target IP address corresponding to the domain name resolution request, and the corresponding server is accessed based on the target IP address.

[0109] In an embodiment of the present application, after the smart terminal extracts the target domain name carried in the domain name resolution request, it can determine whether there is an application domain name matching the target domain name in at least one domain name resolution task.

[0110] In a possible implementation, when the smart terminal determines that an application domain name matching the target domain name exists in at least one domain name resolution task, the IP address corresponding to the application domain name is determined as the target IP address corresponding to the domain name resolution request.

[0111] In this way, in the embodiment of the present application, by performing resolution processing in advance on at least one domain name resolution task, the domain name resolution speed during the use of the target application can be greatly improved, and the lag problem caused by slow processing of domain name resolution requests can be effectively solved.

[0112] In one possible implementation, when the smart terminal determines that there is no application domain name matching the target domain name in at least one domain name resolution task, the smart terminal can determine whether to execute an accelerated forwarding strategy for the domain name resolution request based on a preset domain name matching rule and the target domain name; wherein the domain name matching rule and the accelerated forwarding strategy are obtained when the startup request is received.

[0113] See also Figure 10 As shown, Figure 10 This is a diagram illustrating the relationship between the domain name matching rule and the accelerated forwarding strategy in an embodiment of the present application. The subsequent execution of the accelerated forwarding strategy or the direct forwarding strategy can be determined based on the regular expression included in the domain name matching rule. Specifically, the regular expression can be understood as a preset domain name format.

[0114] In the embodiment of this application, if the accelerated forwarding strategy is implemented, please continue to refer to Figure 2 As shown, the domain name resolution request is forwarded from the operator network channel 201 to the acceleration network channel 202, and then to the first domain name resolution server 204; if the direct forwarding strategy is executed, please continue to refer to Figure 2 As shown, the domain name resolution request is forwarded from the operator network channel 201 to the public network channel 203 and then to the second domain name resolution server 205.

[0115] In the embodiment of the present application, the smart terminal may determine whether to execute the accelerated forwarding policy for the domain name resolution request in the following manner, but not limited to:

[0116] Step a: Determine whether the target domain name matches the domain name included in the domain name matching rule;

[0117] Step b: When it is determined that the target domain name matches the domain name included in the domain name matching rule, an accelerated forwarding strategy is executed on the domain name resolution request.

[0118] In an embodiment of the present application, whether to execute an accelerated forwarding policy for a domain name resolution request can be determined based on whether the target domain name matches the domain name included in the domain name matching rule. This approach can simply and efficiently determine how to handle domain name resolution requests, thereby improving the efficiency of processing domain name resolution requests.

[0119] Exemplarily, the domain name included in the domain name matching rule may be a domain name in a preset format determined based on a regular expression, wherein the domain name in the preset format may be set as the domain name for executing the accelerated forwarding policy.

[0120] Optionally, when the intelligent terminal determines to execute an accelerated forwarding policy for the domain name resolution request, the domain name resolution request is forwarded to a corresponding target domain name resolution server through a corresponding accelerated network channel.

[0121] In an embodiment of the present application, the intelligent terminal can determine the target location of the electronic device that sends the domain name resolution request; based on the target location of the electronic device and in combination with the mapping relationship between each location and each domain name resolution server, determine the corresponding target domain name resolution server; and forward the domain name resolution server request to the target domain name resolution server. The mapping relationship between each location and each domain name resolution server can be updated based on actual needs.

[0122] In the specific implementation process, assuming that the existing regional division rules determine the mapping relationship between each location and each domain name resolution server, if the electronic device 1 is in area A, then its corresponding domain name resolution server is domain name resolution service 1, and if the electronic device is in area B, then its corresponding domain name resolution service is domain name resolution server 2. Of course, the target application can also be connected to the domestic service or foreign service, or other methods can be used to determine the mapping relationship between each location and each domain name resolution server. This is not limited in the embodiments of the present application.

[0123] In an embodiment of the present application, after the smart terminal receives the IP address fed back by the target domain name resolution server, the IP address fed back by the target domain name resolution server can be used as the target IP address corresponding to the target domain name.

[0124] It can be seen that in the embodiment of the present application, the smart terminal can forward the real-time domain name resolution request sent by the target application through the acceleration channel, thereby effectively solving the problem of domain name resolution failure and improving the success rate of domain name resolution requests.

[0125] Optionally, when the smart terminal determines that the domain name resolution request does not execute the accelerated forwarding strategy in the domain name matching rule, the domain name resolution request can be sent to the target domain name resolution server through the public network channel, and then the IP address fed back by the target domain name resolution server is used as the target IP address corresponding to the target domain name.

[0126] For example, see Figure 11 As shown, Figure 11 This is a schematic diagram of domain name resolution request processing in an embodiment of the present application. When the intelligent terminal determines that the target domain name carried in the domain name resolution request matches the domain name in the regular expression for executing the accelerated forwarding policy, and the target domain name carried in the domain name resolution request does not match the regular expression for executing the direct forwarding policy, the accelerated forwarding policy is executed.

[0127] In the embodiment of the present application, after the smart terminal determines the IP address corresponding to the domain name resolution request, the smart terminal can access the IP address, thereby quickly starting the target application, thereby improving the user experience during the use of the target application. For example, see Figure 12 As shown, Figure 12 A schematic diagram of the display interface of the target application provided in an embodiment of the present application.

[0128] In the embodiments of the present application, in order to better illustrate the method provided by the embodiments of the present application, a specific embodiment is described below. Figure 13 , Figure 13 This is another flow chart of the application acceleration method provided in the embodiment of the present application. It should be noted that, in this embodiment, the target application is described as a game application.

[0129] Step 1301: Receive an acceleration request for a game application.

[0130] In this embodiment, the user may choose to open the accelerator application on the smart terminal, and then select the game application to be accelerated, so that the smart terminal may receive an acceleration request for the game application.

[0131] Step 1302: Based on the acceleration request, obtain domain name matching rules, acceleration network channels, and domain name resolution task list from the acceleration server.

[0132] In this embodiment, when a smart terminal receives an acceleration request for a gaming application, it first retrieves domain name matching rules, acceleration network channels, and a domain name resolution task list from the acceleration server using pre-configured rules based on the application domain name included in the acceleration request. These pre-configured rules can be determined based on historical experience and can be updated based on actual implementation.

[0133] In this embodiment, the domain name resolution task list includes www.zz.com, www.ss.cn, and www.qq.com. The accelerated network channels are: Zone 1 corresponds to accelerated network channel 2, and Zone 2 corresponds to accelerated network channel 2. The domain name configuration rules are: the default domain name format in the accelerated forwarding policy is *\.qq\.co*, and the default domain name format in the direct forwarding policy is *\.qq\.cn.

[0134] Step 1303: Determine whether there are any unexecuted domain name resolution tasks in the domain name resolution task list. If there are any unexecuted domain name resolution tasks in the domain name resolution task list, execute step 1304; if there are no unexecuted domain name resolution tasks in the domain name resolution task list, execute step 1306.

[0135] In this embodiment, after the smart terminal receives a start request for a game application, it determines whether all tasks in the aforementioned domain name resolution task list have been completed.

[0136] Step 1304: Forward the domain name resolution request including the domain name corresponding to the unexecuted domain name resolution task through the accelerated network channel to obtain the corresponding IP address.

[0137] In this embodiment, when the smart terminal determines that there is an unexecuted domain name resolution task in the resolution task list, it can forward the domain name resolution request including the domain name corresponding to the unexecuted domain name resolution task based on the accelerated network channel, thereby obtaining the corresponding IP address.

[0138] Step 1305: Cache the obtained IP address and the corresponding domain name in the form of a key-value pair. After the caching is completed, return to step 1303.

[0139] In this embodiment, when the intelligent terminal determines that all tasks in the domain name resolution task list have been completed, the acceleration is confirmed to be successful. In addition, the domain name in the domain name resolution task list and its corresponding IP address can be cached to the intelligent terminal in the form of key-value pairs.

[0140] In this embodiment, the cache includes www.zz.com-11.13.14.24, www.ss.cn-22.21.15.17, and www.qq.com-111.23.23.34.

[0141] Step 1306: intercept the message sent by the game application through the virtual network card.

[0142] In this embodiment, the smart terminal can establish a virtual network card locally, and then intercept the messages sent by the game application through the virtual network card.

[0143] Step 1307: Determine whether the message is a domain name resolution request message. If it is determined that the message is a domain name resolution request message, execute step 1308; if it is determined that the message is not a domain name resolution request message, execute step 1316.

[0144] In this embodiment, the intelligent terminal may analyze the intercepted message to determine whether the message is a domain name resolution request message.

[0145] Step 1308: Extract the target domain name included in the message.

[0146] In this embodiment, when the intelligent terminal determines that the intercepted message is a domain name resolution request message, the domain name included in the message can be extracted, thereby obtaining the target domain name included in the message.

[0147] Step 1309: Determine whether there is an application domain name identical to the target domain name in the cache. If it is determined that there is an application domain name identical to the target domain name in the cache, execute step 1310; if it is determined that there is no application domain name identical to the target domain name in the cache, execute step 1311.

[0148] In this embodiment, the intelligent terminal may match the target domain name extracted from the message with the application domain name cached in the cache.

[0149] Step 1310: Determine the target IP address corresponding to the application domain name corresponding to the target domain name in the cache, and feed the target IP address back to the game application so that the game application accesses the corresponding server based on the target IP address.

[0150] In this embodiment, if the target domain name is www.qq.com, it can be determined that the cache corresponding to the domain name resolution task list includes the target domain name, and thus it can be determined that the IP address corresponding to the target domain name is 111.23.23.34.

[0151] In this embodiment, when the smart terminal determines that the target domain name extracted from the message matches the application domain name cached in the cache, it can determine the target IP address corresponding to the application domain name in the cache. The target IP address is then fed back to the gaming application, allowing the gaming application to access the corresponding server based on the target IP address, thus ending the application acceleration process.

[0152] In this way, by pre-processing the domain name resolution task, the domain name resolution speed during the use of game applications is greatly improved; and it effectively solves problems such as game lag, slowness, and disconnection caused by slow processing of domain name resolution requests.

[0153] Step 1311: Determine whether the target domain name matches the domain name corresponding to the accelerated forwarding policy in the domain name matching rules. If the target domain name matches the domain name corresponding to the accelerated forwarding policy in the domain name matching rules, execute step 1312; if the target domain name does not match the domain name corresponding to the accelerated forwarding policy in the domain name matching rules, execute step 1314.

[0154] In this embodiment, if the target domain name is zzz.qq.com, the target domain name matches the domain name corresponding to the accelerated forwarding policy in the domain name matching rule, that is, zzz.qq.com satisfies the preset domain name format of *\.qq\.co*.

[0155] Step 1312: Forward the domain name resolution request message to the target domain name resolution server based on the accelerated network channel.

[0156] In this embodiment, after determining that the target domain name matches the domain name corresponding to the accelerated forwarding policy in the domain name matching rule, if it is determined that the location of the smart terminal corresponding to the game application belongs to area 1, the domain name resolution request message can be forwarded to the target domain name resolution server 1 based on the accelerated network channel 1.

[0157] Step 1313: Receive the target IP address fed back by the target domain name resolution server, and feed the target IP address back to the game application, so that the game application accesses the corresponding server based on the target IP address.

[0158] In this embodiment, the smart terminal can receive the target IP address 111.23.23.34 corresponding to the target domain name zzz.qq.com sent by the target domain name resolution server 1.

[0159] In this way, by accelerating the network channel 1 to forward the real-time domain name resolution request, that is, the domain name resolution request message, the problem of domain name resolution failure can be effectively solved, especially the problem that the game application in the foreign service area cannot be accessed due to the domain name resolution failure, thereby achieving acceleration of the game application.

[0160] Step 1314: Forward the domain name resolution request message to the target domain name resolution server based on the direct forwarding strategy.

[0161] In this embodiment, if the target domain name is zzz.qq.cn, the smart terminal determines that the domain name resolution request message does not hit the accelerated forwarding policy, that is, the target domain name does not match the preset domain name format for executing the accelerated forwarding policy in the domain name matching rule.

[0162] In this embodiment, the smart terminal matches the target domain name with the domain name corresponding to the direct forwarding policy in the domain name matching rule. That is, zzz.qq.com satisfies the preset domain name format of *\.qq\.cn. Therefore, the domain name resolution request message can be forwarded to the target domain name resolution server 2 based on the direct forwarding policy, that is, directly to the target domain name resolution server 2 through the public network channel.

[0163] Furthermore, the target domain name resolution server completes the resolution of the game domain name resolution request and feeds back the corresponding IP address to the smart terminal, thereby ending the application acceleration process.

[0164] It should be noted that the target domain name resolution server 1 corresponding to the accelerated forwarding strategy and the target domain name resolution server 2 corresponding to the direct forwarding strategy can be the same domain name resolution server or different domain name resolution servers, and this application does not impose any restrictions on this.

[0165] Step 1315: Receive the target IP address fed back by the target domain name resolution server, and feed the target IP address back to the game application, so that the game application accesses the corresponding server based on the target IP address.

[0166] In this embodiment, the smart terminal can receive the target IP address 112.23.23.34 corresponding to the target domain name zzz.qq.cn sent by the target domain name resolution server 2.

[0167] In this way, forwarding real-time domain name resolution requests through a direct connection channel, i.e., a public network channel, can effectively solve the problem of domain name resolution failure and accelerate game applications.

[0168] Step 1316: Determine whether the intercepted message is an IP protocol message. If it is determined that the intercepted message is an IP protocol message, execute step 1317. If it is determined that the intercepted message is an IP protocol message, execute step 1318.

[0169] Step 1317: The intercepted message is forwarded to the server corresponding to the game application at an accelerated speed.

[0170] Step 1318: Do not process the intercepted message.

[0171] In this embodiment, when the smart terminal determines that the received message is not a domain name resolution request message, it further determines whether the message is an IP protocol message. Furthermore, when the smart terminal determines that the intercepted message is an IP protocol message, it forwards the message to the server corresponding to the gaming application. Furthermore, when the smart terminal determines that the intercepted message is not an IP protocol message, it does not process the message, thereby terminating the application acceleration process.

[0172] Based on the same inventive concept, the present application embodiment also provides an application acceleration device. Figure 14 An application acceleration device provided by an embodiment of the present application is shown. The device can be set in a smart terminal. Figure 14 As shown, the application acceleration device 1400 includes an acquisition unit 1401 , an obtaining unit 1402 , a determination unit 1403 and a processing unit 1404 .

[0173] The acquiring unit 1401 is configured to acquire at least one domain name resolution task to be executed upon receiving an acceleration request for a target application; wherein each domain name resolution task includes: an application domain name of another application to be accessed by the target application;

[0174] An obtaining unit 1402 is configured to execute the at least one domain name resolution task and obtain an Internet Protocol (IP) address corresponding to each application domain name included in the at least one domain name resolution task;

[0175] The determining unit 1403 is configured to, upon receiving a start request for the target application, intercept the domain name resolution request sent by the target application if it is determined that the at least one domain name resolution task has been completed, and determine a target domain name carried in the domain name resolution request;

[0176] Processing unit 1404 is used to determine the IP address corresponding to the application domain name as the target IP address corresponding to the domain name resolution request if there is an application domain name matching the target domain name in the at least one domain name resolution task, and access the corresponding server based on the target IP address.

[0177] Optionally, the obtaining unit 1402 is specifically configured to:

[0178] For the at least one domain name resolution task, perform the following operations:

[0179] Build accelerated domain name resolution requests based on the application domain name corresponding to each domain name resolution task;

[0180] Forwarding the accelerated domain name resolution request to a target domain name resolution server corresponding to the accelerated domain name resolution request based on the target accelerated network channel determined by the acceleration request;

[0181] The IP address fed back by the target domain name resolution server is used as the IP address corresponding to the application domain name included in each accelerated domain name resolution task.

[0182] Optionally, the processing unit 1404 is further configured to:

[0183] Based on a preset domain name matching rule and the target domain name, determining whether to execute an accelerated forwarding policy for the domain name resolution request; wherein the domain name matching rule and the accelerated forwarding policy are obtained when the start request is received;

[0184] When it is determined that the accelerated forwarding strategy is executed on the domain name resolution request, the domain name resolution request is forwarded to the corresponding target domain name resolution server through the corresponding accelerated network channel;

[0185] The IP address fed back by the target domain name resolution server is used as the target IP address corresponding to the target domain name.

[0186] Optionally, the processing unit 1404 is further configured to:

[0187] Determining whether the target domain name matches the domain name included in the domain name matching rule;

[0188] When it is determined that the target domain name matches the domain name included in the domain name matching rule, an accelerated forwarding strategy is executed on the domain name resolution request.

[0189] Optionally, the processing unit 1404 is further configured to:

[0190] Determining a target location of the electronic device that sends the domain name resolution request;

[0191] Determining a corresponding target domain name resolution server based on the target location of the electronic device and the mapping relationship between each location and each domain name resolution server;

[0192] The domain name resolution server request is forwarded to the target domain name resolution server.

[0193] Optionally, the processing unit 1404 is further configured to:

[0194] When it is determined that the domain name resolution request does not implement the accelerated forwarding strategy in the domain name matching rule, the domain name resolution request is sent to the target domain name resolution server through a public network channel;

[0195] The IP address fed back by the target domain name resolution server is used as the target IP address corresponding to the target domain name.

[0196] Optionally, the device further includes a storage unit, configured to:

[0197] The IP address and the corresponding application domain name are stored as a key-value pair.

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

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

[0200] Regarding the device in the above embodiment, the specific execution method of each module has been described in detail in the embodiment of the method, and will not be elaborated here.

[0201] Based on the same inventive concept as the above-mentioned method embodiment of the present application, an electronic device is also provided in the embodiment of the present application. The principle of solving the problem by the electronic device is similar to the method of the above-mentioned embodiment. Therefore, the implementation of the electronic device can refer to the implementation of the above-mentioned method, and the repeated parts will not be repeated.

[0202] See Figure 15 As shown, Figure 15 1 is a block diagram of an electronic device 1500 according to an exemplary embodiment. The device includes:

[0203] Processor 1501;

[0204] A memory 1502 for storing operations executable by the processor 1501;

[0205] The processor 1501 is configured to execute the operations to implement the application acceleration method in the embodiment of the present disclosure, for example Figure 3 Follow the steps shown in .

[0206] In an exemplary embodiment, a storage medium including operations is also provided, such as a memory 1502 including operations, and the operations can be executed by the processor 1501 of the electronic device 1500 to complete the above method.

[0207] Alternatively, the storage medium may be a non-transitory computer-readable storage medium, for example, the non-transitory computer-readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.

[0208] Based on the same inventive concept, the embodiment of the present application further provides a smart terminal 101, which can be an electronic device such as a smart phone, tablet computer, laptop computer or PC. Among them, the aforementioned first client and second client can both be understood as a smart terminal.

[0209] See Figure 16 As shown, the smart terminal 101 includes a display unit 1640, a processor 1680, and a memory 1620. The display unit 1640 includes a display panel 1641 for displaying information input by the user or information provided to the user, as well as various object selection interfaces of the smart terminal 101. In the embodiment of the present application, it is mainly used to display the relevant operation interfaces and shortcut windows of the social software installed in the smart terminal 101. Optionally, the display panel 1641 can be configured in the form of an LCD (Liquid Crystal Display) or an OLED (Organic Light-Emitting Diode).

[0210] The processor 1680 is configured to read a computer program and then execute the method defined by the computer program. For example, the processor 1680 reads an application program of a social networking software, thereby running the social networking software on the smart terminal 101 and displaying the relevant operation interface of the social networking software on the display unit 1640. The processor 1680 may include one or more general-purpose processors and may also include one or more DSPs (Digital Signal Processors) to perform related operations to implement the technical solutions provided in the embodiments of the present application.

[0211] The memory 1620 generally includes internal memory and external memory. The internal memory can be a random access memory (RAM), a read-only memory (ROM), and a cache (CACHE). The external memory can be a hard disk, an optical disk, a USB disk, a floppy disk or a tape drive. The memory 1620 is used to store computer programs and other data. The computer program includes applications corresponding to various software, etc. Other data may include data generated after the operating system or application is run. The data includes system data (such as configuration parameters of the operating system) and user data. In the embodiment of the present application, program instructions are stored in the memory 1620, and the processor 1680 executes the program instructions in the memory 1620 to implement the function of the application acceleration method discussed above.

[0212] In addition, the smart terminal 101 may also include a display unit 1640 for receiving input digital information, character information or contact touch operation / contactless gesture, and generating signal input related to the user settings and function control of the smart terminal 101. Specifically, in an embodiment of the present application, the display unit 1640 may include a display panel 1641. The display panel 1641, such as a touch screen, can collect user touch operations on or near it (such as the target object using a finger, stylus, or any other suitable object or accessory on or on the display panel 1641) and drive the corresponding connection device according to a pre-set program. Optionally, the display panel 1641 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch direction and detects the signal caused by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device and converts it into touch point coordinates, which are then sent to the processor 1680, and can receive commands sent by the processor 1680 and execute them. In an embodiment of the present application, if the user selects an associated subroutine, the touch detection device in the display panel 1641 detects the touch operation, and sends a signal corresponding to the detected touch operation to the touch controller. The touch controller converts the signal into touch coordinates and sends them to the processor 1680. The processor 1680 determines the associated subroutine selected by the user based on the received touch coordinates, and controls the display panel 1641 to display an interface for entering the login account and login password, or controls the display panel 1641 to display an interface for successfully logging into the associated subroutine.

[0213] The display panel 1641 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the display unit 1640, the smart terminal 101 can also include an input unit 1630, which can include but is not limited to one or more of a physical keyboard, function keys (such as volume control keys, power keys, etc.), a trackball, a mouse, and a joystick. Figure 16 In the figure, the input unit 1630 includes an image input device 1631 and other input devices 1632 as an example.

[0214] In addition to the above, the smart terminal 101 may also include a power supply 1690 for powering other modules, an audio circuit 1660, a near-field communication module 1670, and an RF circuit 1610. The smart terminal 101 may also include one or more sensors 1650, such as an accelerometer, a light sensor, a pressure sensor, etc. The audio circuit 1660 specifically includes a speaker 1661 and a microphone 1662. For example, a user can use voice control. The smart terminal 101 can collect the user's voice through the microphone 1662, control the device based on the user's voice, and play a corresponding prompt tone through the speaker 1661 when the user needs to be prompted.

[0215] Based on the same inventive concept, an embodiment of the present application further provides a server 200, which may be the aforementioned acceleration server.

[0216] See Figure 17 As shown, the server 170 is a general-purpose server. Components of the server 170 may include, but are not limited to, the at least one processing unit 1701, the at least one storage unit 1702, and a bus 1703 connecting different system components (including the storage unit 1702 and the processing unit 1701).

[0217] Bus 1703 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a processor or local bus using any of a variety of bus architectures.

[0218] The storage unit 1702 may include a readable medium in the form of a volatile memory, such as a random access memory (RAM) 1721 and / or a cache memory unit 1722 , and may further include a read-only memory (ROM) 1723 .

[0219] The storage unit 1702 may also include a program / utility 1725 having a set (at least one) of program modules 1724, such program modules 1724 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0220] Server 170 may also communicate with one or more external devices 1704 (e.g., keyboards, pointing devices, etc.), one or more devices that enable a user to interact with server 170, and / or any device that enables server 170 to communicate with one or more other servers (e.g., routers, modems, etc.). Such communication may occur via input / output (I / O) interface 1705. Furthermore, server 170 may communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via network adapter 1706. As shown, network adapter 1706 communicates with other modules of server 170 via bus 1703. It should be understood that, although not shown, other hardware and / or software modules may be used in conjunction with server 170, including but not limited to microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0221] Based on the same inventive concept as the above-mentioned method embodiment, various aspects of the application acceleration method provided in this application can also be implemented in the form of a program product, which includes program code. When the program product is run on an electronic device, the program code is used to enable the electronic device to execute the steps of the application acceleration method according to various exemplary embodiments of the present application described above in this specification. For example, the electronic device can execute the following steps: Figure 3 Steps shown.

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

[0223] The program product of the embodiment of the present application may be a portable compact disc read-only memory (CD-ROM) and include program code, and can be run on a server. However, the program product of the present application is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with a command execution system, apparatus, or device.

[0224] A readable signal medium may include a data signal transmitted in baseband or as part of a carrier wave, which carries readable program code. Such a transmitted data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with a command execution system, apparatus, or device.

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

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

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

Claims

1. An application acceleration method, characterized in that: The method comprises: Upon receiving an acceleration request for a target application, obtaining at least one domain name resolution task to be executed; wherein each domain name resolution task includes: an application domain name of another application to be accessed by the target application; Executing the at least one domain name resolution task to obtain an Internet Protocol (IP) address corresponding to each application domain name included in the at least one domain name resolution task; Upon receiving a start request for the target application, if it is determined that the at least one domain name resolution task has been completed, intercepting the domain name resolution request sent by the target application and determining the target domain name carried in the domain name resolution request; If an application domain name that matches the target domain name exists in at least one domain name resolution task, the IP address corresponding to the application domain name is determined as the target IP address corresponding to the domain name resolution request; if an application domain name that matches the target domain name does not exist in at least one domain name resolution task, based on a preset domain name matching rule and the target domain name, it is determined whether to execute an accelerated forwarding strategy for the domain name resolution request; when it is determined that the accelerated forwarding strategy is to be executed for the domain name resolution request, the domain name resolution request is forwarded to the corresponding target domain name resolution server through a corresponding accelerated network channel, and the IP address fed back by the target domain name resolution server is used as the target IP address corresponding to the target domain name; wherein, the domain name matching rule and the accelerated forwarding strategy are obtained when the start request is received; Access the corresponding server based on the target IP address.

2. The method according to claim 1, wherein Executing the at least one domain name resolution task to obtain the IP address corresponding to the application domain name included in each of the at least one domain name resolution tasks includes: For the at least one domain name resolution task, perform the following operations: Build accelerated domain name resolution requests based on the application domain name corresponding to each domain name resolution task; Forwarding the accelerated domain name resolution request to a target domain name resolution server corresponding to the accelerated domain name resolution request based on the target accelerated network channel determined by the acceleration request; The IP address fed back by the target domain name resolution server is used as the IP address corresponding to the application domain name included in each accelerated domain name resolution task.

3. The method according to claim 1, wherein Determining whether to execute an accelerated forwarding policy for the domain name resolution request based on a preset domain name matching rule and the target domain name includes: Determining whether the target domain name matches the domain name included in the domain name matching rule; When it is determined that the target domain name matches the domain name included in the domain name matching rule, an accelerated forwarding strategy is executed on the domain name resolution request.

4. The method according to claim 1, wherein Forwarding the domain name resolution request to a corresponding target domain name resolution server includes: Determining a target location of the electronic device that sends the domain name resolution request; Determining a corresponding target domain name resolution server based on the target location of the electronic device and the mapping relationship between each location and each domain name resolution server; The domain name resolution server request is forwarded to the target domain name resolution server.

5. The method according to claim 1, wherein The method further comprises: When it is determined that the domain name resolution request does not implement the accelerated forwarding strategy in the domain name matching rule, the domain name resolution request is sent to the target domain name resolution server through a public network channel; The IP address fed back by the target domain name resolution server is used as the target IP address corresponding to the target domain name.

6. The method according to any one of claims 1 to 5, characterized in that: After respectively obtaining the IP address corresponding to the application domain name included in the at least one domain name resolution task, the method further includes: The IP address and the corresponding application domain name are stored as a key-value pair.

7. An application acceleration device, characterized in that: The device comprises: An acquiring unit, configured to acquire at least one domain name resolution task to be executed upon receiving an acceleration request for a target application; wherein each domain name resolution task includes: an application domain name of another application to be accessed by the target application; an obtaining unit, configured to execute the at least one domain name resolution task and obtain an Internet Protocol (IP) address corresponding to each application domain name included in the at least one domain name resolution task; a determining unit configured to, upon receiving a start request for the target application, intercept the domain name resolution request sent by the target application if it is determined that the at least one domain name resolution task has been completed, and determine a target domain name carried in the domain name resolution request; A processing unit is configured to determine, if an application domain name matching the target domain name exists in at least one domain name resolution task, the IP address corresponding to the application domain name as the target IP address corresponding to the domain name resolution request; if an application domain name matching the target domain name does not exist in at least one domain name resolution task, determine, based on a preset domain name matching rule and the target domain name, whether to execute an accelerated forwarding strategy for the domain name resolution request; when it is determined that the accelerated forwarding strategy is to be executed for the domain name resolution request, forward the domain name resolution request to the corresponding target domain name resolution server through a corresponding accelerated network channel, and use the IP address fed back by the target domain name resolution server as the target IP address corresponding to the target domain name; access the corresponding server based on the target IP address; wherein, the domain name matching rule and the accelerated forwarding strategy are obtained when the startup request is received.

8. The device according to claim 7, wherein The obtaining unit is specifically configured to: For the at least one domain name resolution task, perform the following operations: Build accelerated domain name resolution requests based on the application domain name corresponding to each domain name resolution task; Forwarding the accelerated domain name resolution request to a target domain name resolution server corresponding to the accelerated domain name resolution request based on the target accelerated network channel determined by the acceleration request; The IP address fed back by the target domain name resolution server is used as the IP address corresponding to the application domain name included in each accelerated domain name resolution task.

9. The device according to claim 7, wherein The processing unit is further configured to: Determining whether the target domain name matches the domain name included in the domain name matching rule; When it is determined that the target domain name matches the domain name included in the domain name matching rule, an accelerated forwarding strategy is executed on the domain name resolution request.

10. The device according to claim 7, wherein The processing unit is further configured to: Determining a target location of the electronic device that sends the domain name resolution request; Determining a corresponding target domain name resolution server based on the target location of the electronic device and the mapping relationship between each location and each domain name resolution server; The domain name resolution server request is forwarded to the target domain name resolution server.

11. The device according to claim 7, wherein The processing unit is further configured to: When it is determined that the domain name resolution request does not implement the accelerated forwarding strategy in the domain name matching rule, the domain name resolution request is sent to the target domain name resolution server through a public network channel; The IP address fed back by the target domain name resolution server is used as the target IP address corresponding to the target domain name.

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

13. A computer-readable storage medium, characterized in that It includes program code, and when the program product is run on an electronic device, the program code is used to enable the electronic device to execute the steps of any one of the methods described in claims 1 to 6.

Citation Information

Patent Citations

  • Domain name resolution processing method and device

    CN112804371A