Network adjustment method, electronic device and computer program product

By comparing the transmitted data of terminal applications with preset characteristic data, network priority is determined and transmission links are adjusted, solving the problem that routers cannot dynamically adjust bandwidth and application priority, thus achieving efficient utilization of network resources and improved user experience.

CN121012801APending Publication Date: 2025-11-25ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410656285.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-24
Publication Date
2025-11-25

AI Technical Summary

Technical Problem

Existing routers cannot dynamically adjust bandwidth and application priorities, resulting in wasted network resources and a poor user experience.

Method used

By acquiring the transmission data of the terminal application and comparing it with the feature data of the preset application, the network priority of the target application is determined, and the transmission link is selected according to the priority to achieve dynamic adjustment.

Benefits of technology

This avoids wasting network resources and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121012801A_ABST
    Figure CN121012801A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a network adjustment method, an electronic device and a computer program product. The method comprises the following steps: acquiring transmission data of a terminal application on a terminal connected with network equipment; comparing the transmission data of the terminal application with feature data of at least one preset application to confirm that the terminal application is a corresponding target application; and determining a network priority of the target application, and selecting a transmission link of the target application according to the network priority. According to the invention, at least the related problem of network adjustment of the router in the related technology is solved, the network resources can be dynamically adjusted, and the effects of avoiding the waste of the network resources and improving the user experience are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of communications, and more specifically, to a network adjustment method, an electronic device, and a computer program product. Background Technology

[0002] In related technologies, router Quality of Service (QoS) processing primarily targets the five-tuple (source IP address, source port, destination IP address, destination port, and transport layer protocol) of devices connected to the router. Some routers can also process based on application type. Neither of these methods can dynamically adjust bandwidth and application priority. Furthermore, some clients may use different applications over a period of time, and different applications require different bandwidth and other parameters. If bandwidth is consistently allocated to a single user, it will waste network resources and easily cause network lag, disconnections, and other problems on the client side. Summary of the Invention

[0003] This invention provides a network adjustment method, electronic device, and computer program product to at least solve the problem in the related art that routers cannot dynamically adjust network resources, resulting in wasted network resources and poor user experience.

[0004] According to an embodiment of the present invention, a network adjustment method is provided, comprising: acquiring transmission data of a terminal application on a terminal connected to the network device; comparing the transmission data of the terminal application with feature data of at least one preset application to confirm that the terminal application is a corresponding target application; determining the network priority of the target application, and selecting the transmission link of the target application according to the network priority.

[0005] According to yet another embodiment of the present invention, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0006] According to yet another embodiment of the present invention, a computer program product is also provided, including a computer program / instructions that, when executed by a processor, implement the steps in any of the above method embodiments.

[0007] This invention provides a network adjustment method that involves acquiring transmission data from terminal applications on terminals connected to network devices; comparing the transmission data of the terminal applications with feature data of at least one preset application to confirm that the terminal application is the corresponding target application; determining the network priority of the target application; and selecting the transmission link for the target application based on the network priority. This solves the problem in related technologies where routers cannot dynamically adjust network resources, leading to wasted network resources and poor user experience. It enables routers to dynamically adjust network resources, achieving the effect of avoiding network resource waste and improving user experience. Attached Figure Description

[0008] Figure 1 This is a schematic diagram of the hardware structure of a computer terminal for a network adjustment method according to an embodiment of the present invention.

[0009] Figure 2 This is a flowchart illustrating the network adjustment method according to an embodiment of the present invention;

[0010] Figure 3 This is another schematic flowchart of the network adjustment method according to an embodiment of the present invention;

[0011] Figure 4 This is a schematic structural block diagram of the network adjustment device according to an embodiment of the present invention;

[0012] Figure 5 This is a schematic diagram illustrating the flow principle of the network adjustment method according to an embodiment of the present invention. Detailed Implementation

[0013] The embodiments of the present invention will be described in detail below with reference to the accompanying drawings and examples.

[0014] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0015] The methods and embodiments provided in this application can be executed on a mobile terminal, a computer terminal, or a similar computing device. Taking running on a computer terminal as an example, Figure 1 This is a hardware structure block diagram of a computer terminal for a network adjustment method according to an embodiment of the present invention. Figure 1 As shown, a computer terminal may include one or more ( Figure 1 Only one is shown in the diagram. A processor 102 (which may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data are also shown. The computer terminal may further include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the computer terminal described above. For example, the computer terminal may also include components that are more complex than those described above. Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0016] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the network adjustment method in this embodiment of the invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thereby implementing the above-described method. The memory 104 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to a computer terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0017] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider for the computer terminal. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.

[0018] This invention provides a network adjustment method. Figure 2 This is a flowchart illustrating the network adjustment method according to an embodiment of the present invention, as shown below. Figure 2 As shown, the process may include the following steps:

[0019] Step S202: Obtain the transmission data of the terminal application on the terminal connected to the network device.

[0020] In this embodiment of the invention, the terminal application of the terminal can be one of the applications running on the terminal.

[0021] In this embodiment of the invention, the network adjustment method can be applied to a router. The router can obtain data (i.e., transmitted data) forwarded from the router via a packet sniffing program, compare this data with an application feature database (i.e., feature data), and record and mark the applications of downlink clients. In some exemplary embodiments, the transmitted data of applications running on terminals connected to the router can also be obtained through other methods.

[0022] Step S204: Compare the transmission data of the terminal application with the feature data of at least one preset application to confirm that the terminal application is the corresponding target application.

[0023] In one exemplary embodiment, the feature data of the at least one preset application can be set in a preset feature database, which may include feature data of at least one common application and the application identifier or application type of the common application.

[0024] In one exemplary embodiment, the feature data of the at least one preset application may include at least: the domain name of the preset application; and fixed feature values ​​of the application layer messages of the preset application.

[0025] In this embodiment of the invention, the fixed characteristic value of the application layer message can be a hexadecimal fixed characteristic value, or the hexadecimal fixed characteristic value can be converted into a fixed characteristic value in other bases, such as a binary fixed characteristic value.

[0026] In this embodiment of the invention, the type of the terminal application can be basically determined by the domain name of the preset application and the fixed hexadecimal feature value of the application layer message of the preset application. In actual implementation, other feature parameters can also be used at the same time to more accurately determine the type of the terminal application and obtain more accurate feature data of the terminal application.

[0027] In this embodiment of the invention, the transmitted data is compared with a database / list of feature data including at least one preset application; the database / list of feature data may also record application identifiers and other data corresponding to the feature data of the preset application, so as to identify and match them according to the application identifiers in the future.

[0028] In one exemplary embodiment, the feature data of the at least one preset application may further include at least one of the following: the protocol type of the preset application; the data destination address of the preset application; the port number of the preset application; the network host address of the preset application; the network request type of the preset application; the encryption features of the application layer message of the preset application; and the digital certificate information of the preset application.

[0029] In this embodiment of the invention, the aforementioned feature data can be obtained by collecting data from a preset application, i.e., a preset terminal application, extracting the correlation features between related background processes, capturing data packets, and parsing the data.

[0030] In one exemplary embodiment, comparing the transmission data of a terminal application with the feature data of at least one preset application to confirm that the terminal application is the target application includes: comparing the transmission data of the terminal application with the feature data of at least one preset application to obtain the matching degree between the transmission data and the feature data of at least one preset application; performing a weighted calculation on the matching degree between the transmission data and the feature data of at least one preset application to obtain the final matching degree between the terminal application and the feature data of at least one preset application; determining the application identifier corresponding to the feature data of the preset application whose final matching degree meets a preset range; and adding the application identifier corresponding to the terminal application to the transmission data to confirm that the terminal application is the corresponding target application.

[0031] In this embodiment of the invention, after the router obtains the transmission data forwarded from the router through the packet sniffing program, it compares the transmission data with the application feature database and records and marks the application of the downlink client. The comparison method can be as follows: First, compare the Domain Name System (DNS) request of the application to see if the domain name matches, and record it as the first feature value as the first matching degree; then compare the IP packets of each packet, record the dst IP, and record it as the second matching degree; further parse the transport layer packets to obtain the protocol and source port, and record them as the third matching degree; further parse the application layer packets, parse the application layer packet protocol, and match the network host address, network request type, encryption feature of encrypted packets, and hexadecimal fixed feature value in sequence. If a match is found, it is recorded sequentially as the fourth matching degree, the fifth matching degree, and so on. Because the accuracy of each feature value in the above feature library is inconsistent, for example, the accuracy of dst IP may be low, so the matching degree weighting coefficient is low. The accuracy of hexadecimal fixed feature values ​​is high, so the weighting coefficient is high. Finally, the final matching degree is calculated based on the matching degree of each recorded feature value. If the final matching degree is within the preset matching degree range, the message is identified as application A. In this embodiment of the invention, for a preset application, its feature data can be multiple. Therefore, when comparing the transmission data of the terminal application with the feature data of at least one preset application, multiple transmission data are compared with multiple corresponding feature data in sequence to obtain the corresponding matching degree. In order to distinguish the matching degree of different transmission data with the corresponding different feature data, the matching degree of different transmission data is recorded sequentially as the first matching degree, the second matching degree, the third matching degree, and so on. That is, the matching degree of the transmission data of the terminal application with the feature data of at least one preset application includes the first matching degree, the second matching degree, the third matching degree, and so on. The number of matching degrees is equal to the number of feature data or transmission data.

[0032] Step S206: Determine the network priority of the target application and select the transmission link for the target application based on the network priority.

[0033] In an exemplary embodiment, before determining the network priority of the target application and selecting the transmission link of the target application based on the network priority, the method further includes: calculating the weighted average value and the time-period weighted ratio value of the target application based on the historical application data of the target application, wherein the weighted average value is used to indicate the operating frequency status of the target application, and the time-period weighted ratio value is used to indicate the operating frequency status of the target application in different time periods.

[0034] In this embodiment of the invention, the aforementioned historical application data can be stored in a router or a cloud server. In this embodiment, determining the network priority of a target application requires first calculating a weighted average and a time-period weighted proportion, and then adjusting the network priority of the target application based on the calculated weighted average and time-period weighted proportion. Generally, a target application with a higher weighted average has a higher network priority than other types of terminal applications. For example, the data traffic weighting proportion for video applications is lower than that for social applications, and the weighting proportion for game stuttering events is higher than that for video applications. In this embodiment, applications of the same type also need more precise weighting proportion adjustments based on the actual application scenario. For example, "Game A" is a multiplayer competitive game with high frame synchronization latency requirements, while "Game B" of the same type has lower frame synchronization latency requirements. In this case, the weighting proportion for game stuttering events in "Game A" should be relatively higher. In this embodiment, a target application with a high time-period weighted proportion has a higher network priority for the time period corresponding to that weighted proportion than for other time periods.

[0035] Figure 3 This is another flowchart illustrating the network adjustment method according to an embodiment of the present invention, such as... Figure 3 As shown, the process may include the following steps:

[0036] Step S302: Obtain the transmission data of the terminal application on the terminal connected to the network device.

[0037] Step S304: Compare the transmission data of the terminal application with the feature data of at least one preset application to confirm that the terminal application is the corresponding target application.

[0038] Step S306: Calculate the weighted average value and time-period weighted ratio of the target application based on the historical application data of the target application. The weighted average value is used to indicate the operating frequency status of the target application, and the time-period weighted ratio is used to indicate the operating frequency status of the target application in different time periods.

[0039] In one exemplary embodiment, historical application data includes at least: the runtime of the target application; the usage time of the target application; and the number of times the target application lagged.

[0040] In this embodiment of the invention, data traffic, runtime, and usage time for each application are recorded. The number of connections and instances of buffering can also be statistically recorded, and the data generated daily is stored in this manner. In this embodiment of the invention, the aforementioned historical application data can be stored in a router or a cloud server.

[0041] In one exemplary embodiment, the weighted average value of the target application is calculated based on the weighted sum of different historical application data of the target application and the total weight of the application; the time-period weighted ratio value of the target application is calculated based on the total application weight of different time periods and the total time period.

[0042] In this embodiment of the invention, the weighted average value of data traffic and runtime data can be calculated by combining different historical application data parameters. In one embodiment, for a single application, variables x1, x2, x3, and x4 represent the application's data traffic value, runtime, number of connections, number of stutters, etc., over a period of time. The weighting factors corresponding to each variable value are represented by w1, w2, w3, and w4. The weighted average value of the application is calculated using the following formula:

[0043] weight_average=(x1*w1+x2*w2+x3*w3+x4*w4) / (w1+w2+w3+w4).

[0044] If the weighted percentage of a certain application is relatively high, it is considered that the application is used more frequently.

[0045] In this embodiment of the invention, in order to reflect the actual operation of the application in different time periods, it is also necessary to calculate the weighted weights (i.e., time period weighted proportions) for each time period. For example, if the analysis is performed on a weekly basis, the weighted values ​​from Monday to Friday can be configured to the same value 'a', while the weighted values ​​for Saturday and Sunday can be configured to a relatively higher value 'b' (i.e., b > a). The daily weighted proportions from Monday to Sunday are represented by d1 to d7, respectively. Then, the application weighted proportions for a week are:

[0046] weight_week=((d1+d2+d3+d4+d5)*a+(d6+d7)*b) / 7.

[0047] Step S308: Determine the network priority of the target application and select the transmission link for the target application based on the network priority.

[0048] In one exemplary embodiment, determining the network priority of a target application and selecting a transmission link for the target application based on the network priority includes: adjusting the first network priority of the target application based on a weighted average value, and prioritizing the matching of transmission links for target applications with higher first network priorities, wherein the network priority includes the first network priority. Alternatively, adjusting the second network priority of the target application for different time periods based on a time-period weighted ratio value, and prioritizing the matching of transmission links for target applications with higher second network priorities within the same time period, wherein the network priority includes the second network priority. Alternatively, updating the network priority of the target application at preset time intervals within a preset time period based on a weighted average value and a time-period weighted ratio value to confirm the transmission link for the target application.

[0049] In this embodiment of the invention, different types of applications require appropriate adjustments to their weighting ratios. For example, video applications require a lower weighting ratio for data traffic than social applications, while games require a higher weighting ratio for the number of stutters compared to video applications. Furthermore, applications of the same type also require more precise weighting adjustments based on the actual application scenario. For instance, "Game A" is a multiplayer competitive game with high frame synchronization latency requirements, while "Game B" of the same type has lower frame synchronization latency requirements. In this case, the weighting ratio for the number of stutters in "Game A" should be relatively higher.

[0050] In this embodiment of the invention, the network priority of the target application can also be adjusted by combining the weighted average value and the time-period weighted proportion value. For example, a terminal application with a higher first network priority can be selected firstly based on the weighted average value, and then a different second network priority can be assigned to the terminal application based on the time-period weighted proportion value. Subsequently, in different time periods, transmission links are preferentially matched to the target application with the higher second network priority. Alternatively, several terminal applications with higher second network priority can be selected firstly based on the time-period weighted proportion value, and then their first network priorities are compared among these terminal applications based on the weighted average value. Within the same time period, transmission links are preferentially allocated to the terminal application with the higher first network priority among these terminal applications.

[0051] In this embodiment of the invention, after application identification, the same application can be given the same priority, or different priorities can be given according to other information, such as time, device, user, etc., or different priorities can be given alternately.

[0052] In one exemplary embodiment, determining the network priority of a target application and selecting a transmission link for the target application based on the network priority includes: if the target application corresponds to one transmission link, adjusting the transmission link bandwidth according to the frame synchronization information of the target application. Alternatively, if the target application corresponds to multiple transmission links, performing load balancing adjustments on multiple transmission links for the target application through policy routing and slice identification.

[0053] In this embodiment of the invention, if the current router has only one data link, fine-grained QoS is applied to individual applications based on the identified downlink client applications. The top 10% of applications with the highest weighted average usage over the past week (this is just an example) are selected based on their weighted average usage (weight_average) and their weighted proportion over the past week (weight_week). QoS is updated daily based on both the weighted average usage (weight_week) and the application weighted proportion over the past week. Whether the application is a frame-synchronous application (this parameter is preset and is determined by analyzing the application's attributes, such as whether games use multi-user interaction, and video conferencing, live streaming, and streaming media are all frame-synchronous applications) is considered, and data with high weight_average is sent with high priority. For applications with high bandwidth usage and high weight_average, QoS adjustments are used to ensure bandwidth availability.

[0054] In this embodiment of the invention, if the current router has two or more data links, network load balancing based on a single application is achieved through policy routing and slicing, and data link optimization is performed on application combinations with different weight averages. For example, applications with high frame synchronization and high weight average, and applications with high traffic usage and low weight average are routed to link A, while applications with low frame synchronization and low weight average, and applications with high traffic usage and high weight average are routed to link B.

[0055] In one exemplary embodiment, the method further includes: predicting the operating status of the target application based on historical application data of the target application, and pre-adjusting the network priority of the target application based on the prediction results.

[0056] In this embodiment of the invention, the user's usage of a certain application can be predicted in advance based on the user's application usage time, and then QoS can be applied.

[0057] The above steps provide a network adjustment method. This method involves acquiring transmission data from terminal applications on terminals connected to network devices; comparing this transmission data with feature data from at least one preset application to identify the terminal application as the corresponding target application; determining the network priority of the target application; and selecting the transmission link for the target application based on the network priority. This solves the problem in related technologies where routers cannot dynamically adjust bandwidth and application priority, leading to wasted network resources and poor user experience. The method enables routers to dynamically adjust bandwidth and application priority, thereby avoiding network resource waste and improving user experience.

[0058] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0059] This invention also provides a network adjustment device for implementing the above embodiments and preferred embodiments, which will not be repeated hereafter. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0060] The network adjustment device provided by this invention is applied to a network device and includes: an acquisition module for acquiring transmission data of a terminal application on a terminal connected to the network device; a comparison module for comparing the transmission data of the terminal application with feature data of at least one preset application to confirm that the terminal application is the corresponding target application; and a confirmation module for determining the network priority of the target application and selecting the transmission link of the target application according to the network priority.

[0061] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0062] It should be noted that the aforementioned network adjustment device can be installed on a network device or independently; no specific limitations are imposed here. In this embodiment of the invention, the module division, module function division, and module naming method in the aforementioned network adjustment device are merely illustrative examples and are not subject to specific limitations. In actual implementation, the aforementioned network adjustment device may also include different modules, and the modules may adopt different functional divisions and naming methods, as long as they can implement the steps in the aforementioned network adjustment method embodiments.

[0063] This invention also provides a computer-readable storage medium storing a computer program configured to execute the steps in any of the above method embodiments when running.

[0064] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0065] This invention also provides an electronic device including a memory and a processor, the memory storing a computer program and the processor being configured to run the computer program to perform the steps in any of the above method embodiments.

[0066] In one exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0067] This invention also provides a computer program product, including a computer program / instructions, which, when executed by a processor, implement the steps in any of the above method embodiments.

[0068] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.

[0069] It is obvious to those skilled in the art that the modules or steps of the present invention described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those described herein, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.

[0070] To enable those skilled in the art to better understand the technical solution of the present invention, specific embodiments are described below.

[0071] Example 1

[0072] In related technologies, users often complain that even though their network bandwidth is clearly 1000M, they experience issues such as lag and disconnections while playing games or watching videos. To effectively solve this problem, this invention proposes a more granular, application-based QoS solution on the router.

[0073] This invention involves installing the target application A on a mobile phone and a packet capture tool on a test PC to ensure that all data packets on the phone can be captured. Application A is launched to begin testing, and data on the phone running application A is collected online. The correlation characteristics between related background processes are extracted, data packets are captured, and data analysis is performed to form a feature database. Then, the router obtains the data forwarded from the router through a packet capture program, compares this data with the application feature database, records and marks the applications of the downlink clients, and statistically records data such as data traffic, runtime, number of connections, and number of lags for each application. This data is stored daily. A weighted average usage rate for the applications is calculated based on a certain algorithm. Based on the weighted average, combined with frame synchronization, usage traffic, and other parameters, the QoS priority and bandwidth of the applications are adjusted, thereby ensuring effective utilization of network bandwidth and resources and improving the user experience.

[0074] Figure 4 This is a schematic structural block diagram of the network adjustment device according to an embodiment of the present invention, as shown below. Figure 4 As shown, it includes: a data acquisition and comparison module 410, a data acquisition and storage module 420, a data acquisition and analysis module 430, a QoS data processing module 440, and a feature library identification module 450.

[0075] The data acquisition and comparison module 410 is used by the router to capture data packets (i.e., transmission data) forwarded from the router and compare and mark them with the feature database (i.e. feature data) formed by the feature database identification module.

[0076] The acquisition and storage module 420 is used to record and store the identified application usage information, including but not limited to traffic, duration, number of lags, and number of connections.

[0077] The data collection and analysis module 430 is used to analyze the data (i.e., historical application data) stored in the data collection and storage module 420, such as traffic duration, and calculate the weighted average (i.e., the weighted average of terminal applications) and the application weighted proportion value within a week (i.e., the time period weighted proportion value of terminal applications) according to a certain algorithm.

[0078] In this embodiment of the invention, the time limit of one week is only an example. In actual implementation, different time periods can be selected, such as one day, one month, or other different time periods.

[0079] The QoS data processing module 440 is used to perform QoS data processing based on the data collection and analysis module 430 and the data link conditions currently supported by the router.

[0080] The feature library identification module 450 is used to identify the application's feature library, which is then used by the router to match the data.

[0081] Example 2

[0082] Based on the network adjustment device of Embodiment 1, a network adjustment process is proposed in Embodiment 2. Figure 5 This is a schematic diagram illustrating the flow principle of the network adjustment method according to an embodiment of the present invention, as follows: Figure 5 As shown, it includes the following steps:

[0083] In step S502, the feature library identification module installs the target application A on the mobile phone and a packet capture tool on the test PC to ensure that all data packets on the mobile phone can be captured. Application A is launched to begin testing, and data from the mobile phone running application A is collected online. The module extracts the correlation features between related background processes, captures data packets, and performs data parsing. First, the protocol used by the application (mainly User Datagram Protocol (UDP) and Transmission Control Protocol (TCP)) and port number are obtained as the first feature value of application A, and then the application layer packets are further parsed.

[0084] The first step is to examine the domain name in the request field carried in the DNS based on the DNS request issued by the application, which can be used as the first feature (i.e. feature data).

[0085] The second step is to parse the protocol (mainly UDP and TCP protocols) and port number used in the message, and add them to the feature database as the first feature (i.e. feature data) of the application.

[0086] The third step involves parsing application-layer messages. If the data packets are transmitted in plaintext, a specific number of application-layer message data are extracted and saved. These data are then analyzed one by one. For common application-layer protocol types, such as HTTP, protocol fields such as url, host, x-online-host, uri, user-agent, referer, and content-type are analyzed, and these values ​​are added to the feature database as a feature of the application. If the application uses a non-standard protocol type, the hexadecimal data of the extracted messages is analyzed directly, grouping them into 16-byte sets. Each packet is compared for duplicate fields; if duplicate fields are found, they are extracted as feature values ​​(i.e., feature data), and the uniqueness of the extracted fields is verified through multiple measurements. For encrypted messages, the Client Hello message during the encrypted handshake process is first analyzed for a Server Name Indication (SNI). If a SNI is found, this parameter is recorded as a feature value (i.e., feature data) in the feature database. If not, the digital certificate information is analyzed and recorded as a feature value (i.e., feature data) in the feature database.

[0087] For example, the signature library format is defined as: [domain; proto; dst ip; dport; host url; request; SNI; format], where domain is the domain name used by the application, proto is the protocol type, dst ip is the data destination address, dport is the application port number, host url is the network host address, request is the network request type, SNI is the encryption signature of the encrypted message, and format is a fixed hexadecimal signature value.

[0088] By parsing the data packets of the application message, a signature value similar to the following can be obtained. Multiple data packets can be represented consecutively (separated by commas):

[0089] For example, application A: [tcp; 443; appstore.vendor; ,tcp; 443; apkappdefwsdl.vendor; ];

[0090] Application B: [tcp;;;yangkeduo.com;;,tcp;;;;s1p.cdntip.com;00:02|01:00|02:00|03:00|04:00|05:00;].

[0091] The fourth step involves using machine learning to mine features, clean and aggregate data, and repeating this process multiple times to ultimately create the feature library for the application.

[0092] In step S504, after the data acquisition and comparison module obtains the data forwarded from the router (i.e., the transmitted data) through the packet hooking program, it compares the data with the application feature database (i.e., feature data) and records and marks the application of the downlink client.

[0093] After the router obtains the data forwarded from the router through the packet sniffing program, it compares the data with the application signature database and records and marks the application of the downlink client.

[0094] First, the DNS requests of the application are compared to see if the domain names match, and this is recorded as the first feature value. Then, each IP packet is compared, and the dst IP is recorded, along with the match value. Next, the transport layer packets are parsed to obtain the protocol and source port, and the match value is recorded accordingly. Finally, the application layer packets are parsed, analyzing the application layer protocol and matching the network host address, network request type, encryption features of encrypted packets, and a fixed hexadecimal feature value. If a match is found, the match value is recorded. Because the accuracy of each feature value in the feature library is inconsistent (e.g., the dst IP may have low accuracy, so its weighting coefficient is low), while the fixed hexadecimal feature value has high accuracy and a high weighting coefficient, the final match value is calculated based on the recorded match values. If the match value is within a preset range, the packet is identified as application A.

[0095] In this embodiment of the invention, the fixed characteristic value of the application layer message can be a hexadecimal fixed characteristic value, or the hexadecimal fixed characteristic value can be converted into a fixed characteristic value in other bases, such as a binary fixed characteristic value.

[0096] It should be noted that the above is only one type of comparison scenario, not all comparison methods. In actual implementation, there may be different comparison scenarios.

[0097] Step S506: The acquisition and storage module acquires and stores application data (i.e., historical application data).

[0098] It records data traffic, runtime, and usage time for each application, and can also statistically record data such as connection count and lag count, and store the data generated each day in this way.

[0099] In this embodiment of the invention, the collection and storage of application data can also be the collection and storage of real-time application data.

[0100] Step S508: The data collection and analysis module performs application weighting calculation.

[0101] In this embodiment of the invention, a weighted average value is calculated for data traffic and runtime data. Alternatively, different parameters can be combined to calculate the weighted average value.

[0102] In one embodiment, for a single application, variables x1, x2, x3, and x4 represent the application's data traffic, runtime, number of connections, number of stutters, etc., over a period of time. The weighting factors corresponding to each variable value are represented by w1, w2, w3, and w4. The weighted average of the application is calculated using the following formula:

[0103] weight_average=(x1*w1+x2*w2+x3*w3+x4*w4) / (w1+w2+w3+w4).

[0104] If the weighted percentage of a certain application is relatively high, it is considered that the application is used more frequently.

[0105] In practical applications, different types of applications require appropriate adjustments to the weighting. For example, video applications should have a lower weighting for data traffic than social applications, while games should have a higher weighting for stuttering incidents. Furthermore, even applications of the same type need more precise weighting adjustments based on the specific application scenario. For instance, if "Game A" is a multiplayer competitive game with high frame synchronization latency requirements, while "Game B" has lower requirements, then the weighting for stuttering incidents in "Game A" should be relatively higher.

[0106] In addition, to reflect the actual operation of the application in different time periods, it is also necessary to perform time-based weighted calculations. For example, when analyzing on a weekly basis, the weighted values ​​from Monday to Friday can be configured to the same value 'a', while the weighted values ​​for Saturday and Sunday can be configured to a relatively higher value 'b' (i.e., b > a). The daily weighted proportions from Monday to Sunday are represented by d1 to d7, respectively. Then, the application weighted proportions for a week are:

[0107] weight_week=((d1+d2+d3+d4+d5)*a+(d6+d7)*b) / 7.

[0108] Next, the QoS data processing module optimizes the data link.

[0109] In this embodiment of the invention, if the current router has only one data link, fine-grained QoS is applied to individual applications based on the identified downlink client applications. The top 10% of applications with the highest weighted average usage over the past week (this is just an example) are selected based on their weighted average usage (weight_average) and their weighted proportion over the past week (weight_week). QoS is updated daily based on both the weighted average usage (weight_week) and the application weighted proportion over the past week. Whether the application is a frame-synchronous application (this parameter is preset and is determined by analyzing the application's attributes, such as whether games use multi-user interaction, and video conferencing, live streaming, and streaming media are all frame-synchronous applications) is considered, and data with high weight_average is sent with high priority. For applications with high bandwidth usage and high weight_average, QoS adjustments are used to ensure bandwidth availability.

[0110] It should be noted that the above QoS strategy for a single data link is just an example. In actual implementation, QoS can be applied by combining various parameters.

[0111] In this embodiment of the invention, if the current router has two or more data links, network load balancing based on a single application is achieved through policy routing and slicing, optimizing data links for combinations of applications with different weight averages. For example, applications with high frame synchronization and high weight average, and applications with high traffic usage and low weight average, are routed to link A; applications with low frame synchronization and low weight average, and applications with high traffic usage and high weight average, are routed to link B. This method can be used for multiple links.

[0112] It should be noted that the above routing strategies for two or more data links are just examples. In actual implementation, routing strategies can also be formulated by combining various parameters.

[0113] In this embodiment of the invention, after application identification, the same application can be given the same priority, or different priorities can be given according to other information, such as time, device, user, etc., or different priorities can be given alternately.

[0114] In this embodiment of the invention, the user's usage of a certain application can be predicted in advance based on the user's application usage time, and then QoS can be applied.

[0115] In summary, this invention provides a network adjustment method that allows for more granular analysis of user application usage. It can automatically apply QoS based on user application usage, ensuring uninterrupted user experience. This solves the problem of wasted device bandwidth and improves user experience.

[0116] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, or improvements made within the principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A network adjustment method, characterized in that, Applied to network devices, including: Acquire the transmission data of the terminal application on the terminal connected to the network device; The transmitted data of the terminal application is compared with the feature data of at least one preset application to confirm that the terminal application is the corresponding target application. Determine the network priority of the target application, and select the transmission link for the target application based on the network priority.

2. The method according to claim 1, characterized in that, in, The feature data of the at least one preset application includes at least: The domain name of the preset application; the fixed characteristic value of the application layer message of the preset application.

3. The method according to claim 2, characterized in that, in, The feature data of the at least one preset application also includes at least one of the following: The protocol type of the preset application; the data destination address of the preset application; the port number of the preset application; the network host address of the preset application; the network request type of the preset application; the encryption characteristics of the application layer messages of the preset application; and the digital certificate information of the preset application.

4. The method according to claim 1, characterized in that, The step of comparing the transmitted data of the terminal application with the feature data of at least one preset application to confirm that the terminal application is the corresponding target application includes: The transmission data of the terminal application is compared with the feature data of at least one preset application to obtain the matching degree between the transmission data and the feature data of at least one preset application. The matching degree between the transmitted data and the feature data of at least one preset application is weighted and calculated to obtain the final matching degree between the terminal application and the feature data of at least one preset application; The application identifier corresponding to the feature data of the preset application whose final matching degree meets the preset range is determined, and the application identifier corresponding to the preset application is added to the transmitted data to confirm that the terminal application is the corresponding target application.

5. The method according to claim 1, characterized in that, Before determining the network priority of the target application and selecting the transmission link for the target application based on the network priority, the method further includes: Based on the historical application data of the target application, calculate the weighted average value and the time-period weighted ratio of the target application, wherein the weighted average value is used to indicate the operating frequency status of the target application, and the time-period weighted ratio is used to indicate the operating frequency status of the target application in different time periods.

6. The method according to claim 5, characterized in that, in, The historical application data includes at least: The runtime of the target application; the usage time of the target application; the number of times the target application lagged.

7. The method according to claim 5, characterized in that, in, The weighted average value of the target application is calculated based on the weighted sum and weighted total of the different historical application data of the target application. The time-weighted ratio of the target application is calculated based on the sum of the application weights for different time periods and the sum of the time periods.

8. The method according to claim 5, characterized in that, The step of determining the network priority of the target application and selecting the transmission link of the target application based on the network priority includes: Based on the weighted average value, the first network priority of the target application is adjusted, and the target application with a higher first network priority is preferentially matched with the transmission link, wherein the network priority includes the first network priority; Alternatively, based on the time period weighting value, the second network priority of the target application in different time periods is adjusted, so that the target application with the higher second network priority in the same time period is preferentially matched with the transmission link, wherein the network priority includes the second network priority; Alternatively, based on the weighted average value and the time period weighted ratio, the network priority of the target application is updated at preset time intervals within a preset time period to confirm the transmission link of the target application.

9. The method according to claim 1, characterized in that, The step of determining the network priority of the target application and selecting the transmission link of the target application based on the network priority includes: When the target application corresponds to a transmission link, the bandwidth of the transmission link is adjusted according to the frame synchronization information of the target application; Alternatively, if the target application corresponds to multiple transmission links, load balancing adjustments can be made to the target application across multiple transmission links using policy routing and slice identifiers.

10. The method according to claim 1, characterized in that, Also includes: Based on the historical application data of the target application, the operating status of the target application is predicted, and the network priority of the target application is pre-adjusted based on the prediction results.

11. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method described in any one of claims 1 to 10.

12. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the method described in any one of claims 1 to 10.