Disclosure of Invention
In order to optimize the network connection quality of applications with higher network demands, the application provides a specific application acceleration method, a specific application acceleration device, a storage medium and electronic equipment.
In a first aspect of the present application, there is provided an application-specific acceleration method, specifically including:
acquiring at least one payload information corresponding to target connection and each evaluation characteristic information of network connection quality;
determining a first acceleration priority score of the corresponding target connection according to the payload information;
determining second acceleration priority scores corresponding to the evaluation characteristic information, and determining acceleration demand score values of corresponding target connections based on the first acceleration priority scores and the second acceleration priority scores corresponding to the same target connection;
And determining a specific application needing acceleration from the corresponding target application based on each acceleration demand grading value, and carrying out priority transmission processing on the specific application, wherein the higher the acceleration demand grading value is, the more the corresponding target application needs to carry out network acceleration, and the target application is an application program which communicates through the corresponding target connection.
By adopting the technical scheme, after the effective load information and each evaluation characteristic information of the target connection are obtained, the corresponding first acceleration priority score is determined according to the effective load information, so that the acceleration demand of the application itself transmitting the data packet through the corresponding target connection is evaluated, then the second acceleration priority score corresponding to each evaluation characteristic information of the same target connection is determined, so that the acceleration demand of the target connection is evaluated from the network connection quality dimension, and further, the acceleration demand score value of the corresponding target connection is analyzed and determined by combining the corresponding first acceleration priority score and each second acceleration priority score of the same target connection, so that the network demand degree of the target application corresponding to the target connection is characterized. And finally, determining a specific application to be accelerated from the target applications corresponding to each target connection according to the acceleration demand grading value, and accelerating, so that the network connection quality of the application with higher network demands is optimized, and the use experience of a user on the application is improved.
Optionally, the determining, according to the payload information, a first acceleration priority score of the corresponding target connection specifically includes:
determining corresponding target application identification features according to the payload information;
Judging whether the target application identification features exist in a preset acceleration priority score matching table, if not, determining a first acceleration priority score of a corresponding target connection to be 0, wherein the acceleration priority score matching table comprises application identification features of different applications to be accelerated and corresponding first acceleration priority scores;
And if so, matching a first acceleration priority grade of the target connection corresponding to the target application identification feature from an acceleration priority grade matching table.
By adopting the technical scheme, if the target application identification feature does not exist in the acceleration priority score matching table, the corresponding application is not required to have high network delay, 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, the corresponding application is required to have high network delay, the first acceleration priority score of the corresponding target connection is determined, and therefore the influence of the corresponding application on the network requirement on the acceleration requirement is evaluated.
Optionally, the determining the second acceleration priority score corresponding to the evaluation feature information specifically includes:
determining an evaluation feature threshold value and an acceleration priority score corresponding to the evaluation feature information according to the target application identification feature of the target connection corresponding to the evaluation feature information;
Comparing the evaluation characteristic information with a corresponding evaluation characteristic threshold, and if the evaluation characteristic information exceeds the corresponding evaluation characteristic threshold, determining a corresponding acceleration priority score as a second acceleration priority score corresponding to the evaluation characteristic information;
And if the evaluation characteristic information does not exceed the corresponding evaluation characteristic threshold value, determining a second acceleration priority grade corresponding to the evaluation characteristic information as 0.
By adopting the technical scheme, if the evaluation feature information exceeds the corresponding evaluation feature threshold value, the fact that the corresponding target connection starts from the evaluation feature information and has acceleration requirements to a certain extent is indicated, the corresponding acceleration priority score is determined to be a second acceleration priority score, so that the continuous acceleration requirement degree of the corresponding target on the evaluation feature information is represented, if the evaluation feature information does not exceed the corresponding evaluation feature threshold value, the fact that the corresponding target connection starts from the evaluation feature information and does not have acceleration requirements is indicated, and the corresponding second acceleration priority score is determined to be 0. Thereby accurately evaluating the influence of each evaluation characteristic information of the target connection on the acceleration requirement.
Optionally, the determining the 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 specifically includes:
based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection, determining an acceleration demand score value of the corresponding target connection through a preset demand score value calculation formula, wherein the demand score value calculation formula is as follows:
Where P (l) represents an acceleration demand score value of the target connection, l represents the target connection, P i represents a first acceleration priority score, P f represents a 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.
By adopting the technical scheme, if the first acceleration priority score of the target connection is larger than 0, the fact that the target application corresponding to the target connection has acceleration requirements is indicated, then the corresponding second acceleration priority scores of the target connection are summed, the summed result is multiplied by the first acceleration priority scores to obtain corresponding acceleration requirement scoring values, and if the first acceleration priority score is equal to 0, the fact that the target application corresponding to the target connection does not have acceleration requirements is indicated, the acceleration requirement scoring values are determined only according to the summed result of the corresponding second acceleration priority scores, and therefore characteristics of the target connection are objectively evaluated, and reliable basis is provided for subsequent selection of the connection with optimized acceleration requirements.
Optionally, the determining, based on each acceleration demand score value, a specific application that needs acceleration from the corresponding target applications specifically includes:
Counting a first number of target connections for which payload information is acquired;
And when the first number reaches a preset batch processing threshold, determining the corresponding target connection as a batch processing connection, selecting a second number of batch processing connections from the batch processing connections according to the sequence of the corresponding acceleration demand scoring values from large to small, determining the second number of batch processing connections as specific connections needing to be optimized, and determining the target application corresponding to the specific connections as specific applications needing to be accelerated.
By adopting the technical scheme, if the first number reaches the preset batch processing threshold value, the selective acceleration processing needs to be started on the first number of target connections, then the second number of batch processing connections are selected from all batch processing connections according to the order of the acceleration demand scoring values from large to small, the specific connection which needs to be optimized is determined, and the target application corresponding to the specific connection is determined as the specific application which needs to be accelerated, so that the specific application which needs to be accelerated is accurately and efficiently determined.
Optionally, the method further comprises:
Counting the historical acceleration times of the accelerated historical specific applications, selecting a first number of historical specific applications from the historical specific applications according to the order of the historical acceleration times from large to small, and determining the first number of historical specific applications as applications which are easy to accelerate;
Counting the occurrence times of the historical acceleration periods of each easy-to-accelerate application, selecting a second number of historical acceleration periods from the historical acceleration periods according to the order of the occurrence times from large to small, and determining the second number of historical acceleration periods as the corresponding easy-to-accelerate period of the easy-to-accelerate application;
if the current moment is in the acceleration-prone period corresponding to the specific application, determining the acceleration-prone period in which the current moment is located as a key acceleration period, and calculating a first weight of the specific application and a second weight of the corresponding acceleration-prone period, wherein the first weight is a ratio of the historical acceleration times of the specific application to the sum of the historical acceleration times of all the acceleration-prone applications, and the second weight is a ratio of the occurrence times of a single acceleration-prone period corresponding to the specific application to the sum of the occurrence times of all the acceleration-prone periods;
and calculating a first weight product of the first weight of the specific application and a second weight of the corresponding key acceleration period, and if the first weight product is larger than a preset product threshold value, determining that acceleration verification aiming at the specific application is correct.
By adopting the technical scheme, the first weight product of the first weight of the specific application and the second weight of the corresponding key acceleration period is calculated, and the larger the first weight product is, the greater the possibility that the specific application performs data transmission acceleration processing in the key acceleration period is. Further, if the first weight product is larger than the preset product threshold, it is indicated that the acceleration of the specific application in the key acceleration period is more likely, and it is more accurate and reasonable to determine that the specific application is preferentially transmitted at the current moment according to the acceleration demand scoring value, and further determine that the acceleration verification for the specific application is correct, so that the application accuracy for acceleration is improved.
Optionally, the method further comprises:
Determining the acceleration time length corresponding to the specific application according to the acceleration demand scoring value corresponding to the specific application;
determining other time periods which are easy to accelerate and are needed by the specific application in the acceleration time period after the current time as associated acceleration time periods, and calculating a second weight product of a first weight of the specific application and a second weight of each corresponding associated acceleration time period;
summing the first weight product and each second weight product to obtain a sum of weight products, and if the sum of the weight products is greater than a preset sum threshold of products, keeping the acceleration duration unchanged;
and if the sum of the weighted products is not greater than the sum threshold of the products, adjusting the acceleration time length to be a target time length, wherein the target time length is the time length from the current time to the end time of the key acceleration time period.
By adopting the technical scheme, the sum of the weight products is obtained by summing the second weight products and the first weight products, the larger the sum of the weight products is, the greater the possibility of accelerating the specific application is from within the acceleration time after the current moment, the comparison between the sum of the weight products and the preset sum threshold of the products is carried out, if the sum of the weight products is larger than the sum threshold of the products, the acceleration time is more reasonable, the acceleration time is kept unchanged, and if the sum of the weight products is not larger than the sum threshold of the products, the smaller the possibility of accelerating the specific application is from within the whole time interval of the acceleration time after the current moment, the acceleration time is adjusted, and the acceleration time of the specific application is accurately determined.
In a second aspect of the present application, there is provided an application specific acceleration apparatus, comprising:
The information acquisition module is used for acquiring at least one payload information corresponding to the target connection and each evaluation characteristic information of the network connection quality;
the grading determining module is used for determining a first acceleration priority grading of the corresponding target connection according to the payload information;
The demand scoring module is used for determining second acceleration priority scores corresponding to the evaluation characteristic information and determining acceleration demand scoring values of corresponding target connections based on the first acceleration priority scores and the second acceleration priority scores corresponding to the same target connection;
And the application acceleration module is used for determining a specific application needing acceleration from corresponding target applications based on the acceleration demand scoring values, and carrying out priority transmission processing on the specific application, wherein the higher the acceleration demand scoring value is, the more the corresponding target application needs to carry out network acceleration, and the target application is an application program which communicates through corresponding target connection.
By adopting the technical scheme, the information acquisition module acquires the payload information corresponding to the target connection and each evaluation characteristic information of the network connection quality, the score determination module determines a first acceleration priority score of the corresponding target connection according to the payload information, the demand scoring module determines a second acceleration priority score, the acceleration demand scoring value of the corresponding target connection is determined based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection, and finally the application acceleration module determines a specific application needing acceleration from the corresponding target application and carries out acceleration processing based on each acceleration demand scoring value.
In a third aspect of the application there is provided a computer readable storage medium having a computer program stored therein, which when loaded and executed by a processor performs the method steps of any of the first aspects.
In a fourth aspect of the present application, there is provided an electronic device, comprising:
A processor, a memory and a computer program stored in the memory and capable of running on the processor, the processor being configured to load and execute the computer program stored in the memory to cause the electronic device to perform the method according to any one of the first aspects.
In summary, the present application has at least one of the following beneficial technical effects that according to the payload information, a corresponding first acceleration priority score is determined, so as to evaluate the acceleration requirement of an application transmitting a data packet through a corresponding target connection, then a second acceleration priority score corresponding to each evaluation feature information of the same target connection is determined, so as to evaluate the acceleration requirement of the target connection from the network connection quality dimension, further, for the same target connection, the acceleration requirement score value of the corresponding target connection is determined by analyzing and determining the acceleration requirement score value of the corresponding target connection by combining the corresponding first acceleration priority score and each second acceleration priority score, so as to characterize the network requirement degree of the target application corresponding to the target connection. And finally, determining a specific application to be accelerated from the target applications corresponding to each target connection according to the acceleration demand grading value, and accelerating, so that the network connection quality of the application with higher network demands is optimized, and the use experience of a user on the application is improved.
Detailed Description
In order to make the technical solutions in the present specification better understood by those skilled in the art, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only some embodiments of the present application, not all embodiments.
In describing embodiments of the present application, words such as "exemplary," "such as" or "for example" are used to mean serving as examples, illustrations or explanations. Any embodiment or design described herein as "illustrative," "such as" or "for example" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "illustratively," "such as" or "for example," etc., is intended to present related concepts in a concrete fashion.
In the description of the embodiment of the present application, the term "and/or" is merely an association relationship describing the association object, and indicates that three relationships may exist, for example, a and/or B, and may indicate that a exists alone, B exists alone, and both a and B exist. In addition, unless otherwise indicated, the term "plurality" means two or more. For example, a plurality of systems means two or more systems, and a plurality of screen terminals means two or more screen terminals. Furthermore, the terms "first," "second," and the like, are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating an indicated technical feature. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless expressly specified otherwise.
Referring to fig. 1, an embodiment of the present application discloses a flow diagram of an application-specific acceleration method, which can be implemented depending on a computer program, and can also be run on an application-specific acceleration device based on von neumann system. The computer program can be integrated in an application or can be run as a stand-alone tool class application, and specifically comprises:
s101, acquiring at least one effective load information corresponding to target connection and each evaluation characteristic information of network connection quality.
Specifically, in the embodiment of the present application, the target connection is a five-tuple connection, where the five-tuple connection refers to a connection taking a five-tuple as a unit, which is a basic and important concept in network communication, and uses five parameters including a source IP address, a source port number, a destination IP address, a destination port number, and a transport layer protocol to uniquely identify and manage a network session, so as to implement accurate transmission and efficient management of network data, and define a basic attribute of a network data packet, and the target connection specifically refers to wireless connection between a home intelligent router and an application program in a terminal. Further, the payload information corresponding to the target connection refers to the effective part of the data packet transmitted through the target connection, that is, the information part actually carried in the data packet, and does not include metadata such as control information and a protocol header. For the home intelligent router, the home intelligent router only concerns the effective load information of the data packet in the process of forwarding the data packet when the home intelligent router receives the data packet through the target connection. Illustratively, the data packet transmitted in the destination connection is a request packet of HTTP, and then the uniform resource identifier (Uniform Resource Identifier, URI) in the request packet belongs to the payload information of the data packet. It should be noted that, in the embodiment of the present application, the payload information includes, but is not limited to, HOST information and URI information in the transport packet. Illustratively, HOST information may be domain name information that a user accesses when using an application through a terminal.
The implementation main body of the specific application acceleration method disclosed by the embodiment of the application is a home intelligent router which is in wireless connection with a terminal of a user in a home, and the terminal can be a personal computer, a smart phone or a tablet personal computer and the like. Further, a feasible way of obtaining the payload information corresponding to the target connection is to call a kernel sampling data interface provided by the home intelligent router, capture a first message of the payload data uploaded by the target connection, and represent the first message in a five-tuple form, and finally obtain the payload message, so that the captured data has physical significance, and is convenient for subsequent analysis and processing. 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 portion of data transmitted in the target connection. Further, deep analysis of an application layer is performed on the payload message, payload information is extracted from the payload message, and analysis is performed specifically through a preset Wireshark tool.
The evaluation feature information of the network connection quality is feature information reflecting the performance and stability of the corresponding target connection, in the embodiment of the application, the evaluation feature information may be delay, total bytes, total packets or disorder condition corresponding to the target connection, and in other embodiments, the evaluation feature information may also be packet loss rate or error rate. The number of evaluation feature information of the network connection quality is at least one. The time delay refers to the time required for the data packet from the transmitting end to the receiving end. The total number of bytes refers to the total amount of data transmitted over the network during a particular period of time. The total number of packets refers to the number of data packets transmitted over the network during a particular period of time. Out-of-order refers to that in the network transmission process, the sequence of arriving at the receiving end is inconsistent with the sequence of sending by the sending end due to various reasons (such as network congestion, routing, etc.). Further, one possible way to obtain the evaluation feature information is to obtain the evaluation feature information of the corresponding target connection by the home intelligent router itself, since the home intelligent router can support real-time network performance detection and statistics.
S102, determining a first acceleration priority grade of the corresponding target connection according to the payload information.
In one implementation, corresponding target application identification features are determined from the payload information;
judging whether a target application identification feature exists in a preset acceleration priority score matching table, if not, determining a first acceleration priority score of a corresponding target connection as 0;
And if so, matching a first acceleration priority score of the target connection corresponding to the target application identification feature from an acceleration priority score matching table.
Specifically, after the payload information corresponding to the single target connection is determined, the corresponding target application identification feature is extracted from the payload information, and in the embodiment of the present application, the application identification feature is used to characterize a specific application program from which the transmitted data packet originates, which includes, but is not limited to, HOST information and URI information. Illustratively, if a user is using or accessing M software through a terminal connected to a home intelligent router, it can be determined that the application being used by the terminal is M through HOST information M of a target application identification feature in its payload information.
Further, whether the target application identification feature exists in a preset acceleration priority score matching table is judged, wherein the acceleration priority score matching table comprises application identification features of different applications to be accelerated and corresponding first acceleration priority scores, and the applications to be accelerated are application programs with high network delay requirements and acceleration requirements, such as game applications, high-definition video streaming applications and the like. The possible setting mode of the data in the priority grade matching table is that the specific delay requirement of the application program with higher network delay requirement is determined through the tools such as a preset Fiddler or Network Emulator Toolkit, the higher the specific delay requirement is, the higher the network connection quality requirement is, the higher the corresponding first acceleration priority grade is, and the higher the network acceleration requirement is needed.
If the target application identification feature does not exist in the acceleration priority score matching table, which indicates that the corresponding application has not high requirements on network delay, the first acceleration priority score of the corresponding target connection is determined to be 0. Otherwise, if the target application identification feature exists in the acceleration priority score matching table, indicating that the corresponding application has higher requirement on network delay, matching the first acceleration priority score corresponding to the target application identification feature from the acceleration priority score matching table.
And S103, determining second acceleration priority scores corresponding to the evaluation characteristic information, and determining acceleration demand score values of the corresponding target connection based on the first acceleration priority scores and the second acceleration priority scores corresponding to the same target connection.
Specifically, after determining the first acceleration priority score corresponding to the single target connection, determining the second acceleration priority score corresponding to each piece of evaluation feature information corresponding to the target connection is required, and in the embodiment of the present application, one possible determination manner is as follows: the acceleration priority score matching table further includes an acceleration priority score and an evaluation feature threshold of each evaluation feature information corresponding to a different application identification feature, and if the target application identification feature corresponding to the single target connection exists in the acceleration priority score matching table, the acceleration priority score matching table matches the acceleration priority score and the evaluation feature threshold of each evaluation feature information corresponding to the single target connection. And if the target application identification feature corresponding to the single target connection does not exist in the acceleration priority score matching table, matching the evaluation feature threshold and the acceleration priority score of each piece of evaluation feature information of the target connection corresponding to the target application identification feature according to a preset threshold matching table, wherein the threshold matching table comprises the evaluation feature threshold and the acceleration priority score of the evaluation feature information of different application identification features and the corresponding target connection.
Further, comparing the evaluation feature information with a corresponding evaluation feature threshold, if the evaluation feature information exceeds the corresponding evaluation feature threshold, illustratively if the evaluation feature information time delay exceeds the corresponding evaluation feature threshold, indicating that there is a need for acceleration due to a higher time delay of transmitting the data packet over the corresponding target connection, determining a second acceleration priority score for the evaluation feature information. Otherwise, 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, the first acceleration priority score and the second acceleration priority score are both greater than 1.
Further, after the first acceleration priority score corresponding to the single target connection and the second acceleration priority score of each piece of 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 a preset demand score value calculation formula to obtain an acceleration demand score value of the corresponding target connection, so that characteristics of the target connection are evaluated more accurately and objectively, a reliable basis is provided for follow-up selection of connection with optimized acceleration demands, and the higher the acceleration demand score value is, the more the corresponding target connection needs to be optimized. The demand score value calculation formula is as follows:
Where P (l) represents an acceleration demand score value of the target connection, l represents the target connection, P i represents a first acceleration priority score, P f represents a 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. For example, there is a target connection a, where the corresponding first acceleration priority score value is 10, the corresponding evaluation feature threshold and the acceleration priority score are sequentially that the threshold of time delay is 100, the acceleration priority score of time delay is 5, the disordered threshold is 50, the disordered acceleration priority score is 5, the threshold of total number of bytes is 1048476, the acceleration priority score of total number of bytes is 3, the threshold of total number of packets is 1000, and the acceleration priority score of total number of packets is 1. The evaluation characteristic information of the target connection A is respectively time delay 138, disordered 20, total number of bytes 2000000 and total number of packets 2861, and it is seen that the second acceleration priority score of the evaluation characteristic information of the time delay item exceeds the corresponding evaluation characteristic threshold value 100, the second acceleration priority score of the evaluation characteristic information of the disordered item does not exceed the corresponding evaluation characteristic threshold value 50, the second acceleration priority score of the evaluation characteristic information of the item is 0, the evaluation characteristic information of the total number of packets does not exceed the corresponding evaluation characteristic threshold value 1000, the second acceleration priority score of the evaluation characteristic information of the item is 1, the evaluation characteristic information of the total number of bytes does not exceed the corresponding evaluation characteristic threshold value 1048476, and the second acceleration priority score of the evaluation characteristic information of the item is 3. Additionally, the first acceleration priority score of target connection A is greater than 0, thus employing To calculate the acceleration demand score value of the target connection a, i.e., 20× (5+0+3+1) =180.
And S104, determining a specific application needing acceleration from the corresponding target application based on each acceleration demand grading value, and carrying out priority transmission processing on the specific application.
Specifically, in the embodiment of the present application, the target application is an application program that communicates through a corresponding target connection, in other words, the target application in the terminal transmits a data packet to the home intelligent router through the corresponding target connection, and finally the home intelligent router forwards the data packet. Further, counting a first number of target connections for obtaining the payload information, and if the first number reaches a preset batch processing threshold, starting to perform selective acceleration processing on the first number of target connections, determining the first number of target connections as batch processing connections. The batch processing threshold is a quantity critical value for batch processing of a plurality of target connections, and the batch processing threshold is 64. Further, according to the order of the acceleration demand scoring values from large to small, selecting a second number of batch processing connections from all the batch processing connections, determining the second number of batch processing connections as specific connections needing to be optimized, and determining target applications corresponding to the specific connections as specific applications needing to be accelerated, so that specific applications needing to be accelerated are accurately determined. Finally, according to the connection information of the specific connection, the flow priority interface provided by the kernel is called to perform unified configuration on the specific connection, so that the application flow of the specific application can be guaranteed to be transmitted and communicated in a priority and efficient manner, acceleration of the specific application is realized, and better user experience is improved for a user.
Referring to fig. 2, an embodiment of the present application discloses a flow diagram of another application-specific acceleration method, which may be implemented in dependence on a computer program, or may be run on an application-specific acceleration device based on von neumann system. The computer program can be integrated in an application or can be run as a stand-alone tool class application, and specifically comprises:
S201, acquiring at least one effective load information corresponding to the target connection and each evaluation characteristic information of the network connection quality.
S202, determining a first acceleration priority grade of the corresponding target connection according to the payload information.
And S203, determining second acceleration priority scores corresponding to the evaluation characteristic information, and determining acceleration demand score values of the corresponding target connection based on the first acceleration priority scores and the second acceleration priority scores corresponding to the same target connection.
S204, based on the acceleration demand scoring values, determining a specific application needing acceleration from the corresponding target applications, and carrying out priority transmission processing on the specific application.
Specifically, refer to steps S101-S104, which are not described herein.
S205, counting the historical acceleration times of the accelerated historical specific applications, selecting a first number of historical specific applications from the historical specific applications according to the order of the historical acceleration times from large to small, and determining the first number of historical specific applications as applications which are easy to accelerate.
S206, counting the occurrence times of the historical acceleration periods of each easy-to-accelerate application, selecting a second number of the historical acceleration periods from the historical acceleration periods according to the sequence of the occurrence times from large to small, and determining the second number of the historical acceleration periods as the corresponding easy-to-accelerate period of the easy-to-accelerate application.
Specifically, from the specific application acceleration history record of the home intelligent router, the history acceleration times of the accelerated history specific applications are counted, the larger the history acceleration times are, the more likely the corresponding history specific applications have acceleration demands, and according to the sequence of the history acceleration times from large to small, the first number of history specific applications are selected from the history specific applications and are determined to be applications which are easy to accelerate, namely, applications which are easy to need to carry out flow priority transmission. Further, the occurrence times of the historical acceleration periods of each easy-to-accelerate application are counted, the larger the occurrence times are, the easier the easy-to-accelerate application to accelerate in the corresponding historical acceleration period, then the second number of the historical acceleration periods are selected from the historical acceleration periods according to the sequence of the occurrence times from large to small, and the second number of the historical acceleration periods is determined to be the corresponding easy-to-accelerate period of the easy-to-accelerate application, namely, the period in which acceleration is easy to occur.
S207, when the specific application is the acceleration-prone application, if the current moment is in the acceleration-prone period corresponding to the specific application, determining the acceleration-prone period in which the current moment is positioned as a key acceleration period, and calculating a first weight of the specific application and a second weight of the corresponding acceleration-prone period.
S208, calculating a first weight product of a first weight of the specific application and a second weight of the corresponding key acceleration period, and if the first weight product is larger than a preset product threshold value, determining that acceleration verification for the specific application is correct.
Specifically, if the determined specific application is the acceleration-prone application, judging whether the current moment is in the acceleration-prone period corresponding to the specific application, and if so, determining the acceleration-prone period in which the current moment is located as the key acceleration period. Further, a first weight of the specific application and a second weight of each corresponding easy-to-accelerate period are calculated, wherein the first weight is a ratio of the historical acceleration times of the specific application to the sum of the historical acceleration times of all easy-to-accelerate applications, and the second weight is a ratio of the occurrence times of a single easy-to-accelerate period corresponding to the specific application to the sum of the occurrence times of all corresponding easy-to-accelerate periods.
Further, a first weight product of a first weight of the specific application and a second weight of the corresponding key acceleration period is calculated, and the larger the first weight product is, the greater the possibility that the specific application performs data transmission acceleration processing in the key acceleration period is. Further, if the first weight product is larger than the preset product threshold, it is indicated that the acceleration of the specific application in the key acceleration period is more likely, and it is more accurate and reasonable to determine that the specific application is preferentially transmitted at the current moment according to the acceleration demand scoring value, and further determine that the acceleration verification for the specific application is correct, so that the application accuracy for acceleration is improved.
In other embodiments, according to the acceleration demand score value corresponding to the specific application, the corresponding acceleration time length is matched from a preset acceleration time length matching table, and the larger the acceleration demand score value is, the larger the corresponding acceleration time length is, and the different acceleration demand score values and the corresponding acceleration time lengths are included in the acceleration time length matching table. Further, other acceleration-prone periods of a specific application in the acceleration time period after the current time are determined as associated acceleration time periods, second weight products of first weights of the specific application and second weights of corresponding associated acceleration time periods are calculated, summation is carried out on the second weight products and the first weight products to obtain a sum of the weight products, the larger the sum of the weight products is, the greater the possibility of accelerating the specific application is in the acceleration time period after the current time, the sum of the weight products is compared with a preset sum threshold value of the products, if the sum of the weight products is larger than the sum threshold value of the products, the reasonable acceleration time period is indicated, the acceleration time period is kept unchanged, and if the sum of the weight products is not larger than the sum threshold value of the products, the whole time period from the current time period after the current time to the important acceleration time period is indicated, the acceleration time period is adjusted to be the target time period, namely, the time period from the current time to the end time period of the important acceleration time period is indicated. Thereby more accurately determining the length of time that acceleration is to be applied to a particular application.
In another embodiment, the other on-demand acceleration period of the particular application prior to the current time of day is determined as a first acceleration period, and the other on-demand acceleration period of the particular application subsequent to the current time of day is determined as a second acceleration period. And calculating and summing the weight products of the first weight of the specific application and the second weight of each first acceleration period to obtain the sum of the first weight products, and calculating and summing the weight products of the first weight of the specific application and the second weight of each second acceleration period to obtain the sum of the second weight products. If the sum of the first weight products is smaller than the sum of the second weight products, the specific application is not accelerated at the current moment, and the acceleration moment is delayed.
The implementation principle of the acceleration method for the specific application of the embodiment of the application is that according to the effective load information, a corresponding first acceleration priority grade is determined so as to evaluate the acceleration demand of the application itself for transmitting the data packet through the corresponding target connection, then a second acceleration priority grade corresponding to each evaluation characteristic information of the same target connection is determined so as to evaluate the acceleration demand of the target connection from the network connection quality dimension, and further, for the same target connection, the acceleration demand grade value of the corresponding target connection is analyzed and determined by combining the corresponding first acceleration priority grade and each second acceleration priority grade, so that the network demand degree of the target application corresponding to the target connection is represented. And finally, determining a specific application to be accelerated from the target applications corresponding to each target connection according to the acceleration demand grading value, and accelerating, so that the network connection quality of the application with higher network demands is optimized, and the use experience of a user on the application is improved.
The following are examples of the apparatus of the present application that may be used to perform the method embodiments of the present application. For details not disclosed in the embodiments of the apparatus of the present application, please refer to the embodiments of the method of the present application.
Fig. 3 is a schematic structural diagram of an acceleration device for specific applications according to an embodiment of the present application. The application specific acceleration means may be implemented as all or part of the device by software, hardware or a combination of both. The device comprises an information acquisition module 11, a score determination module 12, a demand scoring module 13 and an application acceleration module 14.
An information obtaining module 11, configured to obtain payload information corresponding to at least one target connection and each evaluation feature information of network connection quality;
A score determining module 12, configured to determine a first acceleration priority score of the corresponding target connection according to the payload information;
The requirement scoring module 13 is configured to determine a second acceleration priority score corresponding to the evaluation feature information, and determine an acceleration requirement scoring 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;
The application acceleration module 14 is configured to determine, based on each acceleration demand score value, a specific application that needs to be accelerated from corresponding target applications, and perform priority transmission processing on the specific application, where the higher the acceleration demand score value, the more the corresponding target application needs to perform network acceleration, and the target application is an application program that performs communication through a corresponding target connection.
Optionally, the score determining module 12 is specifically configured to:
determining corresponding target application identification features according to the payload information;
Judging whether target application identification features exist in a preset acceleration priority score matching table, if not, determining a first acceleration priority score of a corresponding target connection as 0, wherein the acceleration priority score matching table comprises application identification features of different applications to be accelerated and corresponding first acceleration priority scores;
And if so, matching a first acceleration priority score of the target connection corresponding to the target application identification feature from an acceleration priority score matching table.
Optionally, the demand scoring module 13 is specifically configured to:
Determining an evaluation feature threshold value and an acceleration priority score corresponding to the evaluation feature information according to the target application identification feature of the target connection corresponding to the evaluation feature information;
Comparing the evaluation characteristic information with a corresponding evaluation characteristic threshold, and if the evaluation characteristic information exceeds the corresponding evaluation characteristic threshold, determining a corresponding acceleration priority score as a second acceleration priority score corresponding to the evaluation characteristic information;
And if the evaluation characteristic information does not exceed the corresponding evaluation characteristic threshold value, determining a second acceleration priority grade corresponding to the evaluation characteristic information as 0.
Optionally, the demand scoring module 13 is specifically configured to:
based on the first acceleration priority score and each second acceleration priority score corresponding to the same target connection, determining an acceleration demand score value of the corresponding target connection through a preset demand score value calculation formula, wherein the demand score value calculation formula is as follows:
Where P (l) represents an acceleration demand score value of the target connection, l represents the target connection, P i represents a first acceleration priority score, P f represents a 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.
Optionally, the application acceleration module 14 is specifically configured to:
Counting a first number of target connections for which payload information is acquired;
And when the first number reaches a preset batch processing threshold, determining the corresponding target connection as batch processing connection, selecting a second number of batch processing connections from all batch processing connections according to the sequence of the corresponding acceleration demand scoring values from large to small, determining the second number of batch processing connections as specific connection needing to be optimized, and determining the target application corresponding to the specific connection as specific application needing to be accelerated.
Optionally, as shown in fig. 4, the apparatus further includes an acceleration verification module 15, specifically configured to:
Counting the historical acceleration times of the accelerated historical specific applications, selecting a first number of historical specific applications from the historical specific applications according to the sequence of the historical acceleration times from large to small, and determining the first number of historical specific applications as applications which are easy to accelerate;
Counting the occurrence times of the historical acceleration periods of each easy-to-accelerate application, selecting a second number of historical acceleration periods from the historical acceleration periods according to the sequence of the occurrence times from large to small, and determining the second number of historical acceleration periods as the corresponding easy-to-accelerate periods of the easy-to-accelerate application;
If the current moment is in the acceleration-easy time period corresponding to the specific application, determining the acceleration-easy time period in which the current moment is positioned as a key acceleration time period, and calculating a first weight of the specific application and a second weight of the corresponding acceleration-easy time period, wherein the first weight is a ratio of the historical acceleration times of the specific application to the sum of the historical acceleration times of all the acceleration-easy applications, and the second weight is a ratio of the occurrence times of a single acceleration-easy time period corresponding to the specific application to the sum of the occurrence times of all the corresponding acceleration-easy time periods;
And calculating a first weight product of the first weight of the specific application and the second weight of the corresponding key acceleration period, and if the first weight product is larger than a preset product threshold value, determining that acceleration verification aiming at the specific application is correct.
Optionally, the apparatus further comprises a duration adjustment module 16, specifically configured to:
determining the acceleration time length corresponding to the specific application according to the acceleration demand scoring value corresponding to the specific application;
Determining other time periods which are easy to accelerate and are applied to a specific application in the acceleration time period after the current time as associated acceleration time periods, and calculating a second weight product of a first weight of the specific application and a second weight of each associated acceleration time period;
summing the first weight product and each second weight product to obtain a sum of the weight products, and if the sum of the weight products is larger than a preset sum threshold value of the products, keeping the acceleration duration unchanged;
And if the sum of the weight products is not greater than the sum threshold of the products, adjusting the acceleration time length to be a target time length, wherein the target time length is the time length from the current time to the end time of the key acceleration time period.
It should be noted that, when executing the specific application acceleration method, the specific application acceleration device provided in the foregoing embodiment is only exemplified by the division of the foregoing functional modules, and in practical application, the foregoing functional allocation may be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules, so as to complete all or part of the functions described above. In addition, the specific application acceleration device and the specific application acceleration method provided in the foregoing embodiments belong to the same concept, which embody detailed implementation procedures in the method embodiments, and are not described herein again.
The embodiment of the application also discloses a computer readable storage medium, and the computer readable storage medium stores a computer program, wherein the computer program is executed by a processor, and a specific application acceleration method of the embodiment is adopted.
The computer program may be stored in a computer readable medium, where the computer program includes computer program code, where the computer program code may be in a source code form, an object code form, an executable file form, or some middleware form, etc., and the computer readable medium includes any entity or device capable of carrying the computer program code, a recording medium, a usb disk, a removable hard disk, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a Random Access Memory (RAM), an electrical carrier signal, a telecommunication signal, a software distribution medium, etc., where the computer readable medium includes, but is not limited to, the above components.
Wherein, a specific application acceleration method of the above embodiment is stored in the computer readable storage medium by the present computer readable storage medium, and is loaded and executed on the processor to facilitate the storage and application of the above method.
The embodiment of the application also discloses an electronic device, wherein a computer program is stored in a computer readable storage medium, and when the computer program is loaded and executed by a processor, the specific application acceleration method is adopted.
The electronic device may be an electronic device such as a desktop computer, a notebook 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 may further include an input/output device, a network access device, a bus, and the like.
The processor may be a Central Processing Unit (CPU), or of course, according to actual use, other general purpose processors, digital Signal Processors (DSP), application Specific Integrated Circuits (ASIC), ready-made programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., and the general purpose processor may be a microprocessor or any conventional processor, etc., which is not limited in this respect.
The memory may be an internal storage unit of the electronic device, for example, a hard disk or a memory of the electronic device, or may be an external storage device of the electronic device, for example, a plug-in hard disk, a Smart Memory Card (SMC), a secure digital card (SD), or a flash memory card (FC) provided on the electronic device, or the like, and may be a combination of the internal storage unit of the electronic device and the external storage device, where the memory is used to store a computer program and other programs and data required by the electronic device, and the memory may be used to temporarily store data that has been output or is to be output, which is not limited by the present application.
The specific application acceleration method of the above embodiment is stored in the memory of the electronic device through the electronic device, and is loaded and executed on the processor of the electronic device, so that the electronic device is convenient to use.
The foregoing is merely exemplary embodiments of the present disclosure and is not intended to limit the scope of the present disclosure. That is, equivalent changes and modifications are contemplated by the teachings of this disclosure, which fall within the scope of the present disclosure. Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a scope and spirit of the disclosure being indicated by the claims.