A specific application acceleration method, device, storage medium and electronic device
By obtaining the target connection information and evaluation characteristics of the home smart router, determining the acceleration priority and demand score value, and prioritizing the transmission of high-demand applications, the dynamic adjustment problem of the home smart router when processing network traffic is solved, and the network connection quality and user experience are improved.
Patent Information
- Application Number
- CN202411341690.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-25
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2044-09-25
AI Technical Summary
When processing network traffic, home smart routers have difficulty dynamically adjusting to the network requirements of different applications, resulting in poor network connection quality for high-demand applications and affecting the user experience.
By obtaining the payload information of the target connection and the evaluation characteristic information of the network connection quality, the acceleration priority score and demand score value are determined, and specific applications with higher network requirements are transmitted first.
It optimizes the quality of network connections, improves the user experience of high-demand applications, and enables precise acceleration of applications with high network demands.
Smart Images

Figure CN119276801B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a method, device, storage medium and electronic device for accelerating a specific application. Background Art
[0002] With the rapid development of the internet information age, home networks have become an integral part of people's lives. The number of internet-connected devices in homes is also increasing, encompassing a wide range of devices, including smartphones, computers, smart TVs, and smart appliances. The applications running on these devices all require high-quality, stable network connections to meet people's needs for online entertainment, work, and learning. Smart home routers connect various wireless devices, such as smartphones, tablets, and laptops, to the internet via wireless signals, allowing family members to conveniently use the internet without relying on wired connections. However, in real life, due to the significant differences in network bandwidth and stability requirements of different applications on these devices, it is difficult for smart home routers to efficiently meet the network needs of different applications when processing network traffic. An effective method to meet the network needs of different applications is urgently needed.
[0003] Currently, the common approach to meeting the network requirements of different applications is as follows: During operation, home smart routers forward and manage network traffic based on traditional routing algorithms. This works well for some basic network connections and meets the network requirements of some different applications. However, when it comes to applications with higher requirements for network stability and latency, such as online games and high-definition video streaming, traditional routing algorithms use fixed strategies and parameters for routing decisions, making it difficult to dynamically adjust according to application requirements. This results in poor network connection quality for applications with higher network requirements, affecting the user experience. Summary of the Invention
[0004] In order to optimize the network connection quality of applications with high network requirements, the present application provides a specific application acceleration method, device, storage medium and electronic device.
[0005] In a first aspect of the present application, a specific application acceleration method is provided, specifically comprising:
[0006] Obtaining payload information corresponding to at least one target connection and various evaluation feature information of network connection quality;
[0007] Determining a first acceleration priority score for the corresponding target connection based on the payload information;
[0008] Determining a second acceleration priority score corresponding to the evaluation feature information, and determining an acceleration requirement score value of the corresponding target connection based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection;
[0009] Based on each of the acceleration requirement score values, a specific application that needs to be accelerated is determined from the corresponding target application, and the specific application is given priority transmission processing. The higher the acceleration requirement score value, the more the corresponding target application needs network acceleration. The target application is an application that communicates through the corresponding target connection.
[0010] By adopting the above technical solution, after obtaining the payload information and various evaluation feature information of the target connection, the corresponding first acceleration priority score is determined based on this payload information, thereby evaluating the acceleration requirements of the application itself that transmits data packets through the corresponding target connection. Then, the second acceleration priority score corresponding to each evaluation feature information of the same target connection is determined, thereby evaluating the acceleration requirements of the target connection from the dimension of network connection quality. Furthermore, for the same target connection, combined with its corresponding first acceleration priority score and each second acceleration priority score, the acceleration requirement score value of the corresponding target connection is analyzed and determined, thereby characterizing the degree of network requirements of the target application corresponding to the target connection. Finally, based on the acceleration requirement score value, the specific application that needs to be accelerated is determined from the target application corresponding to each target connection and accelerated, thereby optimizing the network connection quality for applications with higher network requirements and improving the user experience of the application.
[0011] Optionally, determining a first acceleration priority score of a corresponding target connection according to the payload information specifically includes:
[0012] Determining corresponding target application identification features based on the payload information;
[0013] Determining whether the target application identification feature exists in a preset acceleration priority score matching table; if not, determining the first acceleration priority score of the corresponding target connection to be 0, wherein the acceleration priority score matching table includes application identification features of different to-be-accelerated applications and corresponding first acceleration priority scores;
[0014] If so, the first acceleration priority score of the target connection corresponding to the target application identification feature is matched from the acceleration priority score matching table.
[0015] By adopting the above technical solution, if the target application identification feature does not exist in the acceleration priority score matching table, it means that the corresponding application does not have high requirements for network delay, and the first acceleration priority score of the corresponding target connection is determined to be 0; if the target application identification feature exists in the acceleration priority score matching table, it means that the corresponding application has high requirements for network delay, and the first acceleration priority score of the corresponding target connection is determined, so as to evaluate the impact of the corresponding application's own network requirements on the acceleration requirements.
[0016] Optionally, determining the second acceleration priority score corresponding to the evaluation feature information specifically includes:
[0017] Determining an evaluation feature threshold and an acceleration priority score corresponding to the evaluation feature information based on a target application identification feature of the target connection corresponding to the evaluation feature information;
[0018] Comparing the evaluation feature information with a corresponding evaluation feature threshold, and if the evaluation feature information exceeds the corresponding evaluation feature threshold, determining the corresponding acceleration priority score as a second acceleration priority score corresponding to the evaluation feature information;
[0019] If the evaluation feature information does not exceed the corresponding evaluation feature threshold, the second acceleration priority score corresponding to the evaluation feature information is determined to be 0.
[0020] By adopting the above technical solution, if the evaluation feature information exceeds the corresponding evaluation feature threshold, it indicates that based on this evaluation feature information, the corresponding target connection has a certain degree of acceleration requirement. In this case, the corresponding acceleration priority score is determined as the second acceleration priority score, thereby indicating the degree of acceleration requirement for the target connection corresponding to this evaluation feature information. If the evaluation feature information does not exceed the corresponding evaluation feature threshold, it indicates that based on this evaluation feature information, the corresponding target connection does not have an acceleration requirement. In this case, the corresponding second acceleration priority score is determined to be 0. This accurately assesses the impact of each evaluation feature information of the target connection on the acceleration requirement.
[0021] Optionally, determining the acceleration requirement score value of the corresponding target connection based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection specifically includes:
[0022] Based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection, the acceleration demand score value of the corresponding target connection is determined by a preset demand score value calculation formula. The demand score value calculation formula is:
[0023]
[0024] Where P(l) represents the acceleration requirement score of the target connection, l represents the target connection, and P i represents the first acceleration priority score, p f represents the second acceleration priority score of the evaluation feature information, f represents the f-th evaluation feature information of the target connection, and N represents the total number of evaluation feature information of the target connection.
[0025] By adopting the above technical solution, if the first acceleration priority score of the target connection is greater than 0, it means that the target application corresponding to the target connection itself has an acceleration demand, then the corresponding second acceleration priority scores of the target connections are summed, and the summed result is multiplied by the first acceleration priority score to obtain the corresponding acceleration demand score value; if the first acceleration priority score is equal to 0, it means that the target application corresponding to the target connection itself does not have an acceleration demand, and it is only necessary to determine the acceleration demand score value based on the sum of the corresponding second acceleration priority scores, thereby objectively evaluating the characteristics of the target connection and providing a reliable basis for the subsequent selection of connections with optimized acceleration needs.
[0026] Optionally, determining a specific application that needs to be accelerated from the corresponding target application based on each acceleration requirement score value specifically includes:
[0027] Counting a first number of target connections for obtaining payload information;
[0028] When the first number reaches a preset batch processing threshold, the corresponding target connection is determined as the batch processing connection, and a second number of batch processing connections are selected from each of the batch processing connections in descending order of the corresponding acceleration requirement score values to be determined as specific connections that need to be optimized, and the target application corresponding to the specific connection is determined as the specific application that needs to be accelerated.
[0029] By adopting the above technical solution, if the first number reaches the preset batch processing threshold, it is necessary to start selective acceleration processing of the first number of target connections, then according to the acceleration demand score value from large to small, the second number of batch processing connections are selected from each batch processing connection to be determined as the specific connections that need to be optimized, and the target application corresponding to the specific connection is determined as the specific application that needs to be accelerated, so as to accurately and efficiently determine the specific application that needs to be accelerated.
[0030] Optionally, the method further includes:
[0031] Counting the number of historical accelerations of the historical specific applications that have been accelerated, and selecting the historical specific application with the highest number of historical accelerations from the highest number of historical specific applications and determining it as the application that is most likely to be accelerated;
[0032] Counting the number of occurrences of the historical acceleration period of each of the easy-to-accelerate applications, and selecting the second historical acceleration period from each of the historical acceleration periods in descending order of the number of occurrences, and determining the second historical acceleration period as the easy-to-accelerate application's corresponding easy-to-accelerate application's easy-to-accelerate period;
[0033] If the specific application is the easy-to-accelerate application, and the current moment is within the easy-to-accelerate period corresponding to the specific application, the easy-to-accelerate period at the current moment is determined as the key acceleration period, and a first weight of the specific application and a second weight of the corresponding easy-to-accelerate period are calculated, where the first weight is a ratio of the number of historical accelerations of the specific application to the sum of the number of historical accelerations of all easy-to-accelerate applications, and the second weight is a ratio of the number of occurrences of a single easy-to-accelerate period corresponding to the specific application to the sum of the number of occurrences of all corresponding easy-to-accelerate periods;
[0034] A first weight product of the first weight of the specific application and the second weight of the corresponding key acceleration period is calculated. If the first weight product is greater than a preset product threshold, it is determined that the acceleration check for the specific application is correct.
[0035] By adopting the above technical solution, the first weight product of the first weight of the specific application and the second weight of the corresponding key acceleration period is calculated. The larger the first weight product, the greater the possibility that the specific application will be accelerated during the key acceleration period. Furthermore, if the first weight product is greater than a preset product threshold, it means that the specific application is more likely to be accelerated during this key acceleration period. In this case, it is more accurate and reasonable to determine that the specific application is given priority transmission processing at the current moment based on the acceleration demand score, thereby confirming that the acceleration verification for the specific application is correct, thereby improving the accuracy of the application being accelerated.
[0036] Optionally, the method further includes:
[0037] Determining the acceleration duration corresponding to the specific application according to the acceleration demand score corresponding to the specific application;
[0038] Determine other acceleration periods of the specific application that are prone to acceleration within the acceleration duration after the current moment as associated acceleration periods, and calculate a second weight product of the first weight of the specific application and the second weight of each corresponding associated acceleration period;
[0039] Summing the first weight product and each of the second weight products to obtain a sum of weight products, and if the sum of the weight products is greater than a preset product sum threshold, maintaining the acceleration duration unchanged;
[0040] If the sum of the weight products is not greater than the product sum threshold, the acceleration duration is adjusted to a target duration, where the target duration is the duration from the current moment to the end moment of the key acceleration period.
[0041] By adopting the above technical solution, the second weight products and the first weight products are summed to obtain the sum of the weight products. The larger the sum of the weight products, the greater the possibility of accelerating this specific application within the acceleration time after the current moment. The sum of the weight products is then compared with the preset product sum threshold. If the sum of the weight products is greater than the product sum threshold, it means that the acceleration time is relatively reasonable, and the acceleration time is kept unchanged; if the sum of the weight products is not greater than the product sum threshold, it means that within the overall time interval of the acceleration time after the current moment, the possibility of accelerating the specific application is small, and the acceleration time is adjusted to more accurately determine the acceleration time for the specific application.
[0042] In a second aspect of the present application, a specific application acceleration device is provided, specifically comprising:
[0043] An information acquisition module, configured to acquire payload information corresponding to at least one target connection and various evaluation feature information of network connection quality;
[0044] a score determination module, configured to determine a first acceleration priority score of the corresponding target connection based on the payload information;
[0045] a demand scoring module, configured to determine a second acceleration priority score corresponding to the evaluation feature information, and determine an acceleration demand score value of the corresponding target connection based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection;
[0046] The application acceleration module is used to determine the specific application that needs to be accelerated from the corresponding target applications based on each of the acceleration demand score values, and to give priority to the transmission processing of the specific application. The higher the acceleration demand score value, the more the corresponding target application needs network acceleration. The target application is an application that communicates through the corresponding target connection.
[0047] By adopting the above technical solution, the information acquisition module obtains the payload information corresponding to the target connection and various evaluation feature information of the network connection quality. The scoring determination module then determines the first acceleration priority score of the corresponding target connection based on the payload information. Then the demand scoring module determines the second acceleration priority score, and based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection, determines the acceleration demand score value of the corresponding target connection. Finally, the application acceleration module determines the specific application that needs to be accelerated from the corresponding target application based on each acceleration demand score value and performs acceleration processing.
[0048] In a third aspect of the present application, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is loaded and executed by a processor, the method steps as described in any one of the first aspects are performed.
[0049] In a fourth aspect of the present application, an electronic device is provided, specifically comprising:
[0050] A processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the processor is used to load and execute the computer program stored in the memory so that the electronic device performs the method as described in any one of the first aspects.
[0051] In summary, the present application includes at least one of the following beneficial technical effects: based on this payload information, the corresponding first acceleration priority score is determined, thereby evaluating the acceleration requirements of the application itself that transmits data packets through the corresponding target connection, and then the second acceleration priority scores corresponding to the various evaluation feature information of the same target connection are determined, thereby evaluating the acceleration requirements of the target connection from the network connection quality dimension, and further, for the same target connection, combined with its corresponding first acceleration priority score and each second acceleration priority score, the acceleration requirement score value of the corresponding target connection is analyzed and determined, thereby characterizing the degree of network requirements of the target application corresponding to the target connection. Finally, based on the acceleration requirement score value, the specific application that needs to be accelerated is determined from the target applications corresponding to each target connection and accelerated, thereby optimizing the network connection quality for applications with higher network requirements and improving the user experience of the application. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] Figure 1 This is a flowchart of a specific application acceleration method provided in an embodiment of the present application;
[0053] Figure 2 This is a flowchart of another specific application acceleration method provided in an embodiment of the present application;
[0054] Figure 3 This is a schematic diagram of the structure of a specific application acceleration device provided in an embodiment of the present application;
[0055] Figure 4 This is a schematic diagram of the structure of another specific application acceleration device provided in an embodiment of the present application.
[0056] Explanation of the accompanying drawings: 11. Information acquisition module; 12. Rating determination module; 13. Demand scoring module; 14. Application acceleration module; 15. Acceleration verification module; 16. Duration adjustment module. DETAILED DESCRIPTION
[0057] In order to enable people skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this application, not all of the embodiments.
[0058] In the description of the embodiments of this application, words such as "exemplary," "for example," or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary," "for example," or "for example" in the embodiments of this application should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary," "for example," or "for example" is intended to present the relevant concepts in a concrete manner.
[0059] In the description of the embodiments of the present application, the term "and / or" is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, B exists alone, and A and B exist at the same time. In addition, unless otherwise specified, the term "multiple" means two or more. For example, multiple systems refer to two or more systems, and multiple screen terminals refer to two or more screen terminals. In addition, the terms "first" and "second" are used for descriptive purposes only and cannot be understood as indicating or implying relative importance or implicitly indicating the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. The terms "include", "comprise", "have" and their variations all mean "including but not limited to", unless otherwise specifically emphasized.
[0060] See also Figure 1 The present application discloses a flowchart of a method for accelerating a specific application. This method can be implemented using a computer program or run on a specific application acceleration device based on the von Neumann architecture. The computer program can be integrated into an application or run as a standalone tool application, specifically including:
[0061] S101: Obtain payload information corresponding to at least one target connection and various evaluation feature information of network connection quality.
[0062] Specifically, in the embodiments of the present application, the target connection is a quintuple connection. A quintuple connection refers to a connection based on a quintuple. This is a fundamental and important concept in network communications. It uses five parameters: source IP address, source port number, destination IP address, destination port number, and transport layer protocol to uniquely identify and manage network sessions, enabling accurate transmission and efficient management of network data. It also defines the basic properties of network data packets. The target connection specifically refers to the wireless connection between a home smart router and an application in a terminal. Furthermore, the payload information corresponding to the target connection refers to the valid portion of the data packet transmitted via the target connection—that is, the actual information carried in the data packet, excluding metadata such as control information and protocol headers. When a home smart router receives a data packet via the target connection and forwards it, it only cares about the data packet's payload information. For example, if the data packet transmitted in the target connection is an HTTP request packet, the Uniform Resource Identifier (URI) in the request packet constitutes the data packet's payload information. It should be noted that in the embodiments of the present application, payload information includes, but is not limited to, host information and URI information in the transmission packet. For example, the HOST information may be the domain name information accessed by the user when using the application through the terminal.
[0063] The execution subject of a specific application acceleration method disclosed in an embodiment of the present application is a home smart router, which is wirelessly connected to the terminal of the user in the home. The terminal can be a personal computer, a smart phone or a tablet computer, etc. Furthermore, a feasible way to obtain the payload information corresponding to the target connection is to call the kernel sampling data interface provided by the home smart router, capture the first message with payload data uploaded in the target connection, and represent it in the form of a five-tuple, and finally obtain the payload message, so that the captured data has physical meaning, which is convenient for subsequent analysis and processing. Among them, the kernel sampling data interface refers to a mechanism provided in the router operating system for collecting and analyzing data inside the router. The payload message is the data part transmitted in the target connection. Furthermore, the payload message is deeply analyzed at the application layer to extract the payload information, and the analysis is specifically performed through the preset Wireshark tool.
[0064] The evaluation characteristic information of the network connection quality is characteristic information that reflects the performance and stability of the corresponding target connection. In an embodiment of the present application, the evaluation characteristic information may be the delay, total number of bytes, total number of packets, or disorder corresponding to the target connection. In other embodiments, the evaluation characteristic information may also be packet loss rate or error rate. The number of evaluation characteristic information of the network connection quality is at least one. Among them, the delay refers to the time required for a data packet to travel from the sending end to the receiving end. The total number of bytes refers to the total amount of data transmitted through the network within a specific time period. The total number of packets refers to the number of data packets transmitted through the network within a specific time period. Disorder refers to the fact that during the network transmission process, due to various reasons (such as network congestion, routing selection, etc.), the order of arrival at the receiving end is inconsistent with the order sent by the sending end. Furthermore, a feasible way to obtain the evaluation characteristic information is to obtain the evaluation characteristic information of the corresponding target connection through the home smart router itself, because the home smart router can support real-time network performance detection and statistics.
[0065] S102: Determine a first acceleration priority score of the corresponding target connection according to the payload information.
[0066] In one achievable implementation, a corresponding target application identification feature is determined based on the payload information;
[0067] Determine whether the target application identification feature exists in the preset acceleration priority score matching table. If not, set the first acceleration priority score of the corresponding target connection to 0;
[0068] If so, the first acceleration priority score of the target connection corresponding to the target application identification feature is matched from the acceleration priority score matching table.
[0069] Specifically, after the payload information corresponding to a single target connection is determined, the corresponding target application identification feature is extracted from the payload information. In this embodiment of the present application, the application identification feature is used to characterize the specific application from which the transmitted data packet originates, and includes, but is not limited to, host information and URI information. For example, if a user is using or accessing software m through a terminal connected to a home smart router, then the host information M of the target application identification feature in the payload information can be used to determine that the terminal is using application m.
[0070] Furthermore, it is determined whether the target application identification feature exists in a preset acceleration priority score matching table, wherein the acceleration priority score matching table includes application identification features of different applications to be accelerated and corresponding first acceleration priority scores, wherein the applications to be accelerated are applications that have high network latency requirements and require acceleration, such as gaming applications, high-definition video streaming applications, etc. A feasible method for setting the data in the priority score matching table is to determine the specific latency requirements of applications with high network latency requirements through preset tools such as Fiddler or Network Emulator Toolkit. The higher the specific latency requirement, the higher the requirement for network connection quality, the higher the corresponding first acceleration priority score, and the greater the need for network acceleration.
[0071] If the target application identification feature does not exist in the acceleration priority score matching table, it means that the corresponding application has a low requirement for network latency, and the first acceleration priority score of the corresponding target connection is determined to be 0. Conversely, if the target application identification feature exists in the acceleration priority score matching table, it means that the corresponding application has a high requirement for network latency, and the first acceleration priority score corresponding to the target application identification feature is matched from the acceleration priority score matching table.
[0072] S103: Determine the second acceleration priority score corresponding to the evaluation feature information, and determine the acceleration requirement score value of the corresponding target connection based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection.
[0073] Specifically, after the first acceleration priority score corresponding to a single target connection is determined, it is necessary to determine the second acceleration priority score corresponding to each evaluation feature information corresponding to the target connection. In an embodiment of the present application, a feasible determination method is: the acceleration priority score matching table also includes the evaluation feature thresholds and acceleration priority scores of each evaluation feature information corresponding to different application identification features. If the target application identification feature corresponding to this single target connection exists in the acceleration priority score matching table, then the evaluation feature thresholds and acceleration priority scores of each evaluation feature information corresponding to this target connection are matched from the acceleration priority score matching table. If the target application identification feature corresponding to this single target connection does not exist in the acceleration priority score matching table, the evaluation feature thresholds and acceleration priority scores of each evaluation feature information of the target connection corresponding to this target application identification feature are matched according to the preset threshold matching table. The threshold matching table includes different application identification features and the evaluation feature thresholds and acceleration priority scores of the evaluation feature information of the corresponding target connection.
[0074] Furthermore, the evaluation feature information is compared with the corresponding evaluation feature threshold. If the evaluation feature information exceeds the corresponding evaluation feature threshold, for example, if the evaluation feature information delay exceeds the corresponding evaluation feature threshold, it means that the delay of transmitting the data packet through the corresponding target connection is high and there is a need for acceleration, then the corresponding acceleration priority score is determined to be the second acceleration priority score of this evaluation feature information. Conversely, if the evaluation feature information does not exceed the corresponding evaluation feature threshold, then its corresponding second acceleration priority score is determined to be 0. It should be noted that in the embodiment of the present application, both the first acceleration priority score and the second acceleration priority score are greater than 1.
[0075] Furthermore, after the first acceleration priority score corresponding to a single target connection and the second acceleration priority score of each evaluation feature information are determined, the first acceleration priority score and each second acceleration priority score corresponding to the same target connection are substituted into the preset demand score calculation formula to obtain the acceleration demand score value of the corresponding target connection, thereby more accurately and objectively evaluating the characteristics of the target connection and providing a reliable basis for the subsequent selection of connections with optimized acceleration needs. The higher the acceleration demand score value, the more the corresponding target connection needs to be optimized. Among them, the demand score calculation formula is:
[0076]
[0077] Where P(l) represents the acceleration requirement score of the target connection, l represents the target connection, and P i represents the first acceleration priority score, p frepresents the second acceleration priority score of the evaluation feature information, f represents the fth evaluation feature information of the target connection, and N represents the total number of evaluation feature information of the target connection. For example, there is a target connection A with a first acceleration priority score of 10. The corresponding evaluation feature thresholds and acceleration priority scores are: the latency threshold is 100, and the latency acceleration priority score is 5; the out-of-order threshold is 50, and the out-of-order acceleration priority score is 5; the total byte threshold is 1048476, and the total byte acceleration priority score is 3; the total packet threshold is 1000, and the total packet acceleration priority score is 1. The evaluation characteristic information of target connection A is: latency 138, disorder 20, total bytes 2000000, total packets 2861. It can be seen that the evaluation characteristic information of latency exceeds its corresponding evaluation characteristic threshold of 100, so the second acceleration priority score of this evaluation characteristic information is 5; the evaluation characteristic information of disorder does not exceed its corresponding evaluation characteristic threshold of 50, so the second acceleration priority score of this evaluation characteristic information is 0; the evaluation characteristic information of total packets does not exceed its corresponding evaluation characteristic threshold of 1000, so the second acceleration priority score of this evaluation characteristic information is 1; the evaluation characteristic information of total bytes does not exceed its corresponding evaluation characteristic threshold of 1048476, so the second acceleration priority score of this evaluation characteristic information is 3. In addition, the first acceleration priority score of target connection A is greater than 0, so the evaluation characteristic information of target connection A is adopted. To calculate the acceleration requirement score value of target connection A, that is, 20*(5+0+3+1)=180.
[0078] S104: Based on each acceleration requirement score value, determine a specific application that needs to be accelerated from the corresponding target applications, and perform transmission processing on the specific application with priority.
[0079] Specifically, in an embodiment of the present application, the target application is an application that communicates through a corresponding target connection. In other words, the target application in the terminal transmits a data packet to the home smart router through the corresponding target connection, and the home smart router finally forwards the data packet. Furthermore, a first number of target connections for which payload information is obtained is counted. If the first number reaches a preset batch processing threshold, it is necessary to start selective acceleration processing for the first number of target connections, and then the first number of multiple target connections are determined as batch processing connections. The batch processing threshold is a critical value for the number of target connections to be batch processed, and the batch processing threshold is 64. Furthermore, in descending order of the acceleration requirement score value, a second number of batch processing connections are selected from each batch processing connection to be determined as specific connections that need to be optimized, and the target application corresponding to the specific connection is determined as the specific application that needs to be accelerated, thereby accurately determining the specific application that needs to be accelerated. Finally, based on the connection information of the specific connection, these specific connections are uniformly configured by calling the traffic priority interface provided by the kernel, thereby ensuring that the application traffic of the specific application can be preferentially and efficiently transmitted and communicated, achieving acceleration of the specific application and improving the user experience.
[0080] See also Figure 2 The present application discloses a flowchart of another specific application acceleration method, which can be implemented by a computer program or run on a specific application acceleration device based on the von Neumann architecture. The computer program can be integrated into an application or run as a standalone tool application, specifically including:
[0081] S201: Obtain payload information corresponding to at least one target connection and various evaluation feature information of network connection quality.
[0082] S202: Determine a first acceleration priority score of the corresponding target connection according to the payload information.
[0083] S203: Determine the second acceleration priority score corresponding to the evaluation feature information, and determine the acceleration requirement score value of the corresponding target connection based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection.
[0084] S204: Based on each acceleration requirement score value, determine a specific application that needs to be accelerated from the corresponding target applications, and perform transmission processing on the specific application with priority.
[0085] For details, please refer to steps S101-S104, which will not be described in detail here.
[0086] S205: Count the historical acceleration times of the accelerated historical specific applications, and select the historical specific application with the highest number of acceleration times from each historical specific application in descending order and determine it as the application that is easy to be accelerated.
[0087] S206: Count the number of occurrences of the historical acceleration period of each easily accelerated application, select the second historical acceleration period from each historical acceleration period in descending order of the number of occurrences and determine it as the easily accelerated period of the corresponding easily accelerated application.
[0088] Specifically, the number of historical accelerations of specific applications that have been accelerated is counted from the specific application acceleration history records of the home smart router. The greater the number of historical accelerations, the more likely the corresponding specific application is to require acceleration. The first historical specific application with the highest number of historical accelerations is selected from each specific application in descending order and is determined as an application that is likely to require acceleration, i.e., an application that is likely to require traffic priority transmission. Furthermore, the number of occurrences of historical acceleration periods for each application that is likely to require acceleration is counted. The greater the number of occurrences, the more likely the application that is likely to require acceleration is likely to be accelerated during the corresponding historical acceleration period. Then, the second historical acceleration period with the highest number of occurrences is selected from each specific application in descending order and is determined as the application that is likely to require acceleration, i.e., a period in which acceleration is likely to occur.
[0089] S207: When the specific application is an application that easily needs acceleration, if the current moment is in the easy-to-accelerate time period corresponding to the specific application, the easy-to-accelerate time period at the current moment is determined as the key acceleration time period, and a first weight of the specific application and a second weight of the corresponding easy-to-accelerate time period are calculated.
[0090] S208: Calculate a first weight product of a first weight of the specific application and a second weight of the corresponding key acceleration period. If the first weight product is greater than a preset product threshold, determine that the acceleration check for the specific application is correct.
[0091] Specifically, if the specific application is determined to be an application that easily requires acceleration, then a determination is made as to whether the current moment is within the easily required acceleration period corresponding to the specific application. If so, the easily required acceleration period currently in place is determined as the key acceleration period. Furthermore, a first weight is calculated for the specific application and a second weight is calculated for each corresponding easily required acceleration period. The first weight is the ratio of the specific application's historical acceleration count to the sum of the historical acceleration counts for all applications that easily require acceleration, and the second weight is the ratio of the number of occurrences of a single easily required acceleration period corresponding to the specific application to the sum of the number of occurrences of all corresponding easily required acceleration periods.
[0092] Furthermore, the first weight product of the specific application's first weight and the corresponding second weight of the key acceleration period is calculated. The larger the first weight product, the greater the likelihood that the specific application will undergo data transmission acceleration during the key acceleration period. Furthermore, if the first weight product is greater than a preset product threshold, indicating that the specific application is more likely to undergo acceleration during the key acceleration period, then determining that prioritizing transmission processing for the specific application at the current moment based on the acceleration demand score is more accurate and reasonable, thereby confirming that the acceleration verification for the specific application is correct, thereby improving the accuracy of the application being accelerated.
[0093] In other embodiments, according to the acceleration requirement score value corresponding to this specific application, the corresponding acceleration duration is matched from a preset acceleration duration matching table. The larger the acceleration requirement score value, the longer the corresponding acceleration duration. The acceleration duration matching table includes different acceleration requirement score values and corresponding acceleration durations. Furthermore, other periods of time during which acceleration is likely to be performed on the specific application within the acceleration duration after the current moment are determined as associated acceleration periods. Then, the second weight product of the first weight of the specific application and the second weight of each corresponding associated acceleration period is calculated. Each second weight product is summed with the first weight product to obtain the sum of the weight products. The larger the sum of the weight products, the greater the likelihood of accelerating the specific application within the acceleration duration after the current moment. The sum of the weight products is then compared with a preset product sum threshold. If the sum of the weight products is greater than the product sum threshold, it indicates that the acceleration duration is relatively reasonable, and the acceleration duration is maintained unchanged. If the sum of the weight products is not greater than the product sum threshold, it indicates that the likelihood of accelerating the specific application within the overall time interval of the acceleration duration after the current moment is relatively low, and the acceleration duration is adjusted to the target duration, i.e., the duration from the current moment to the end of the key acceleration period. This allows for more accurate determination of the duration of acceleration for the specific application.
[0094] In another embodiment, other time periods of the specific application that are prone to acceleration before the current time of the day are determined as the first acceleration period, and other time periods of the specific application that are prone to acceleration after the current time of the day are determined as the second acceleration period. The first weight of the specific application is multiplied by the weight products of the second weights of each first acceleration period and summed to obtain the sum of the first weight products. The first weight of the specific application is multiplied by the weight products of the second weights of each second acceleration period and summed to obtain the sum of the second weight products. If the sum of the first weight products is less than the sum of the second weight products, then the specific application is not accelerated at the current time, and its acceleration time is delayed.
[0095] The implementation principle of a specific application acceleration method in an embodiment of the present application is as follows: based on this payload information, determine the corresponding first acceleration priority score, thereby evaluating the acceleration requirements of the application itself that transmits data packets through the corresponding target connection, and then determine the second acceleration priority score corresponding to each evaluation feature information of the same target connection, thereby evaluating the acceleration requirements of the target connection from the network connection quality dimension, and further, for the same target connection, combine its corresponding first acceleration priority score and each second acceleration priority score, analyze and determine the acceleration requirement score value of the corresponding target connection, thereby characterizing the degree of network requirements of the target application corresponding to the target connection. Finally, based on the acceleration requirement score value, determine the specific application that needs to be accelerated from the target applications corresponding to each target connection and accelerate it, thereby optimizing the network connection quality for applications with higher network requirements and improving the user experience of the application.
[0096] The following are device embodiments of the present application, which can be used to implement the method embodiments of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments of the present application.
[0097] See Figure 3 , which is a schematic diagram of the structure of a specific application acceleration device provided in an embodiment of the present application. This specific application acceleration device can be implemented as all or part of a device through software, hardware, or a combination of both. The device includes an information acquisition module 11, a rating determination module 12, a demand rating module 13, and an application acceleration module 14.
[0098] An information acquisition module 11 is configured to acquire payload information corresponding to at least one target connection and various evaluation feature information of network connection quality;
[0099] A score determination module 12 is configured to determine a first acceleration priority score of a corresponding target connection based on the payload information;
[0100] The demand scoring module 13 is configured to determine a second acceleration priority score corresponding to the evaluation feature information, and determine an acceleration demand score value of the corresponding target connection based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection;
[0101] The application acceleration module 14 is used to determine the specific application that needs to be accelerated from the corresponding target applications based on each acceleration requirement score value, and give priority to the transmission processing of the specific application. The higher the acceleration requirement score value, the more the corresponding target application needs network acceleration. The target application is the application that communicates through the corresponding target connection.
[0102] Optionally, the score determination module 12 is specifically configured to:
[0103] Determine the corresponding target application identification features based on the payload information;
[0104] Determine whether the target application identification feature exists in a preset acceleration priority score matching table. If not, set the first acceleration priority score of the corresponding target connection to 0. The acceleration priority score matching table includes application identification features of different applications to be accelerated and corresponding first acceleration priority scores.
[0105] If so, the first acceleration priority score of the target connection corresponding to the target application identification feature is matched from the acceleration priority score matching table.
[0106] Optionally, the demand scoring module 13 is specifically used to:
[0107] Determine an evaluation feature threshold and an acceleration priority score corresponding to the evaluation feature information based on the target application identification feature of the target connection corresponding to the evaluation feature information;
[0108] Comparing the evaluation feature information with the corresponding evaluation feature threshold, if the evaluation feature information exceeds the corresponding evaluation feature threshold, determining the corresponding acceleration priority score as the second acceleration priority score corresponding to the evaluation feature information;
[0109] If the evaluation feature information does not exceed the corresponding evaluation feature threshold, the second acceleration priority score corresponding to the evaluation feature information is determined to be 0.
[0110] Optionally, the demand scoring module 13 is specifically used to:
[0111] Based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection, the acceleration demand score value of the corresponding target connection is determined by a preset demand score value calculation formula. The demand score value calculation formula is:
[0112]
[0113] Where P(l) represents the acceleration requirement score of the target connection, l represents the target connection, and P i represents the first acceleration priority score, p f represents the second acceleration priority score of the evaluation feature information, f represents the f-th evaluation feature information of the target connection, and N represents the total number of evaluation feature information of the target connection.
[0114] Optionally, the application acceleration module 14 is specifically configured to:
[0115] Counting a first number of target connections for obtaining payload information;
[0116] When the first number reaches a preset batch processing threshold, the corresponding target connection is determined as the batch processing connection, and a second number of batch processing connections are selected from each batch processing connection in descending order of the corresponding acceleration requirement score value to be determined as the specific connection that needs to be optimized, and the target application corresponding to the specific connection is determined as the specific application that needs to be accelerated.
[0117] Optional, such as Figure 4 As shown, the device also includes an accelerated verification module 15, which is specifically used to:
[0118] Count the historical acceleration times of the accelerated specific applications, and select the historical specific application with the highest number of acceleration times from all historical specific applications in descending order and determine it as the application that needs to be accelerated easily;
[0119] Count the number of occurrences of the historical acceleration period of each easy-to-accelerate application, and select the second historical acceleration period from each historical acceleration period in descending order of the number of occurrences and determine it as the easy-to-accelerate period of the corresponding easy-to-accelerate application;
[0120] If the specific application is an application that easily requires acceleration, and the current moment is within the easy-to-need acceleration period corresponding to the specific application, the easy-to-need acceleration period at the current moment is determined as the key acceleration period, and a first weight of the specific application and a second weight of the corresponding easy-to-need acceleration period are calculated. The first weight is the ratio of the historical number of accelerations of the specific application to the sum of the historical number of accelerations of all applications that easily require acceleration, and the second weight is the ratio of the number of occurrences of a single easy-to-need acceleration period corresponding to the specific application to the sum of the number of occurrences of all corresponding easy-to-need acceleration periods.
[0121] A first weight product of a first weight of a specific application and a second weight of a corresponding key acceleration period is calculated. If the first weight product is greater than a preset product threshold, it is determined that the acceleration check for the specific application is correct.
[0122] Optionally, the device further includes a duration adjustment module 16, specifically configured to:
[0123] Determine the acceleration duration corresponding to a specific application based on the acceleration requirement score corresponding to the specific application;
[0124] Determine other acceleration periods of the specific application that are prone to acceleration within the acceleration duration after the current moment as associated acceleration periods, and calculate a second weight product of the first weight of the specific application and the second weight of each corresponding associated acceleration period;
[0125] The first weight product and each second weight product are summed to obtain a sum of the weight products. If the sum of the weight products is greater than a preset product sum threshold, the acceleration duration is kept unchanged.
[0126] If the sum of the weight products is not greater than the product sum threshold, the acceleration duration is adjusted to the target duration, which is the duration from the current moment to the end moment of the key acceleration period.
[0127] It should be noted that the specific application acceleration device provided in the above embodiment only uses the division of the above functional modules as an example when executing the specific application acceleration method. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the specific application acceleration device provided in the above embodiment and the specific application acceleration method embodiment are based on the same concept. The implementation process is detailed in the method embodiment and will not be repeated here.
[0128] An embodiment of the present application further discloses a computer-readable storage medium, and the computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, a specific application acceleration method of the above embodiment is adopted.
[0129] Among them, the computer program can be stored in a computer-readable medium, the computer program includes computer program code, the computer program code can be in the form of source code, object code, executable file or certain middleware, etc. The computer-readable medium includes any entity or device that can carry computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that computer-readable medium includes but is not limited to the above-mentioned components.
[0130] Among them, through this computer-readable storage medium, a specific application acceleration method of the above embodiment is stored in the computer-readable storage medium, and is loaded and executed on the processor to facilitate the storage and application of the above method.
[0131] An embodiment of the present application also discloses an electronic device, in which a computer program is stored in a computer-readable storage medium. When the computer program is loaded and executed by a processor, the above-mentioned specific application acceleration method is adopted.
[0132] Among them, the electronic device can be an electronic device such as a desktop computer, a laptop computer or a cloud server, and the electronic device includes but is not limited to a processor and a memory. For example, the electronic device can also include input and output devices, network access devices and buses, etc.
[0133] Among them, the processor can adopt a central processing unit (CPU). Of course, according to actual usage, other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. can also be adopted. The general-purpose processor can adopt a microprocessor or any conventional processor, etc., and this application does not impose any restrictions on this.
[0134] Among them, the memory can be an internal storage unit of the electronic device, such as the hard disk or memory of the electronic device, or it can be an external storage device of the electronic device, such as a plug-in hard disk, smart memory card (SMC), secure digital card (SD) or flash memory card (FC) equipped on the electronic device. In addition, the memory can also be a combination of an internal storage unit and an external storage device of the electronic device. The memory is used to store computer programs and other programs and data required by the electronic device. The memory can also be used to temporarily store data that has been output or is to be output. This application does not impose any restrictions on this.
[0135] Among them, through this electronic device, a specific application acceleration method of the above embodiment is stored in the memory of the electronic device, and is loaded and executed on the processor of the electronic device for easy use.
[0136] The above is only an exemplary embodiment of the present disclosure and cannot be used to limit the scope of the present disclosure. That is, any equivalent changes and modifications made according to the teachings of the present disclosure are still within the scope of the present disclosure. After considering the specification and practicing the disclosure herein, those skilled in the art will easily think of other embodiments of the present disclosure. This application is intended to cover any variations, uses or adaptations of the present disclosure, which follow the general principles of the present disclosure and include common knowledge or customary technical means in the art that are not recorded in the present disclosure. The description and examples are to be regarded as exemplary only, and the scope and spirit of the present disclosure are defined by the claims.
Claims
1. A specific application acceleration method, characterized in that: Applied to a home smart router, the method includes: Obtaining payload information corresponding to at least one target connection and various evaluation feature information of network connection quality, wherein the various evaluation feature information of network connection quality is feature information reflecting performance and stability of the corresponding target connection; Determining a first acceleration priority score for the corresponding target connection based on the payload information; Determining a second acceleration priority score corresponding to the evaluation feature information, and determining an acceleration requirement score value of the corresponding target connection based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection; Based on each acceleration requirement score, determining a specific application that needs to be accelerated from the corresponding target applications, and performing preferential transmission processing on the specific application, wherein the higher the acceleration requirement score, the more the corresponding target application needs network acceleration, and the target application is an application that communicates through the corresponding target connection; Count the number of historical accelerations of the historical specific application that has been accelerated, and select the first historical specific application from each of the historical specific applications in descending order of the number of historical accelerations and determine it as the easy-to-accelerate application; count the number of occurrences of the historical acceleration period of each of the easy-to-accelerate applications, and select the second historical acceleration period from each of the historical acceleration periods in descending order of the number of occurrences and determine it as the easy-to-accelerate period of the corresponding easy-to-accelerate application; if the specific application is the easy-to-accelerate application, if the current moment is in the easy-to-accelerate period corresponding to the specific application, then the easy-to-accelerate period at the current moment is determined. The acceleration period is determined as a key acceleration period, and a first weight of the specific application and a second weight of the corresponding easily-needed acceleration period are calculated, where the first weight is the ratio of the historical acceleration count of the specific application to the sum of the historical acceleration counts of all easily-needed acceleration applications, and the second weight is the ratio of the number of occurrences of a single easily-needed acceleration period corresponding to the specific application to the sum of the number of occurrences of all corresponding easily-needed acceleration periods; a first weight product of the first weight of the specific application and the second weight of the corresponding key acceleration period is calculated, and if the first weight product is greater than a preset product threshold, it is determined that the acceleration check for the specific application is correct; According to the acceleration demand score value corresponding to the specific application, the acceleration duration corresponding to the specific application is determined; other acceleration time periods of the specific application within the acceleration duration after the current moment are determined as associated acceleration time periods, and the first weight of the specific application and the second weight product of the corresponding second weights of each associated acceleration time period are calculated; the first weight product and the second weight products are summed to obtain the sum of the weight products; if the sum of the weight products is greater than a preset product sum threshold, the acceleration duration is kept unchanged; if the sum of the weight products is not greater than the product sum threshold, the acceleration duration is adjusted to the target duration, and the target duration is the duration from the current moment to the end moment of the key acceleration period.
2. The specific application acceleration method according to claim 1, characterized in that: Determining a first acceleration priority score of the corresponding target connection according to the payload information specifically includes: Determining corresponding target application identification features based on the payload information; Determining whether the target application identification feature exists in a preset acceleration priority score matching table; if not, determining the first acceleration priority score of the corresponding target connection to be 0, wherein the acceleration priority score matching table includes application identification features of different to-be-accelerated applications and corresponding first acceleration priority scores; If so, the first acceleration priority score of the target connection corresponding to the target application identification feature is matched from the acceleration priority score matching table.
3. The specific application acceleration method according to claim 1, characterized in that: Determining the second acceleration priority score corresponding to the evaluation feature information specifically includes: Determining an evaluation feature threshold and an acceleration priority score corresponding to the evaluation feature information based on a target application identification feature of the target connection corresponding to the evaluation feature information; Comparing the evaluation feature information with a corresponding evaluation feature threshold, and if the evaluation feature information exceeds the corresponding evaluation feature threshold, determining the corresponding acceleration priority score as a second acceleration priority score corresponding to the evaluation feature information; If the evaluation feature information does not exceed the corresponding evaluation feature threshold, the second acceleration priority score corresponding to the evaluation feature information is determined to be 0.
4. The specific application acceleration method according to claim 1, characterized in that: The determining, based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection, the acceleration requirement score value of the corresponding target connection specifically includes: Based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection, the acceleration demand score value of the corresponding target connection is determined by a preset demand score value calculation formula. The demand score value calculation formula is: Where P(l) represents the acceleration requirement score of the target connection, l represents the target connection, and P i represents the first acceleration priority score, p f represents the second acceleration priority score of the evaluation feature information, f represents the f-th evaluation feature information of the target connection, and N represents the total number of evaluation feature information of the target connection.
5. The specific application acceleration method according to claim 1, characterized in that: Determining a specific application that needs to be accelerated from the corresponding target applications based on each acceleration requirement score specifically includes: Counting a first number of target connections for obtaining payload information; When the first number reaches a preset batch processing threshold, the corresponding target connection is determined as the batch processing connection, and a second number of batch processing connections are selected from each of the batch processing connections in descending order of the corresponding acceleration requirement score values to be determined as specific connections that need to be optimized, and the target application corresponding to the specific connection is determined as the specific application that needs to be accelerated.
6. A specific application acceleration device, used to implement the specific application acceleration method according to any one of claims 1 to 5, characterized in that: include: An information acquisition module (11) is used to acquire payload information corresponding to at least one target connection and various evaluation feature information of network connection quality; A score determination module (12) is used to determine a first acceleration priority score of the corresponding target connection based on the payload information; A demand scoring module (13) is used to determine a second acceleration priority score corresponding to the evaluation feature information, and determine an acceleration demand score value of the corresponding target connection based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection; An application acceleration module (14) is used to determine a specific application that needs to be accelerated from the corresponding target applications based on each acceleration requirement score value, and to perform priority transmission processing on the specific application, wherein the higher the acceleration requirement score value, the more the corresponding target application needs network acceleration, and the target application is an application program that communicates through the corresponding target connection.
7. A computer-readable storage medium storing a computer program, wherein: When the computer program is loaded and executed by a processor, the method according to any one of claims 1 to 5 is adopted.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and capable of running on the processor, characterized in that: When the processor loads and executes the computer program, the method according to any one of claims 1 to 5 is adopted.
Citation Information
Patent Citations
Application acceleration method under WiFi
CN107659514A