A method and system for flow management
By acquiring and analyzing target traffic and application characteristics, intelligently determining the preferred links, solving the problem of lag caused by link corruption of multiple applications shared routers, and improving the stability of user experience and traffic transmission.
Patent Information
- Application Number
- CN202211342571.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-31
- Publication Date
- 2025-06-06
- Estimated Expiration
- 2042-10-31
AI Technical Summary
When multiple applications use the same router, link corruption may cause application lag and data transmission interruption, affecting the user experience.
By acquiring the target traffic and determining the corresponding application, obtaining the application characteristics and link characteristics of the pending application, the preferred links of the pending application are determined based on these characteristics to achieve intelligent scheduling of the traffic.
Effectively reduce or avoid problems such as lag and screen loss in users when using the application, improve user experience, and ensure the stability and smoothness of traffic transmission.
Smart Images

Figure CN115766598B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of network technology, and in particular to a traffic management method and system. Background Art
[0002] When multiple applications use the same router, they will select different links for traffic transmission. When the link used by an application is suddenly damaged, the application may become stuck, resulting in data transmission interruption, and some applications may be stuck for a long time.
[0003] Traffic management requires the implementation of scheduling strategies to meet users' comprehensive needs for service quality indicators such as bandwidth and priority, and to achieve complete service quality assurance. Therefore, a traffic management method is needed to implement traffic scheduling strategies to meet users' comprehensive needs for traffic, reduce or avoid users' freezes, screen distortion and other events that reduce user experience when using applications. Summary of the invention
[0004] One or more embodiments of the present specification provide a method for traffic management. The method includes: obtaining target traffic and determining at least one application corresponding to the target traffic, wherein the target traffic is traffic to be forwarded received by an access node; in response to the presence of a to-be-processed application that has not been assigned a corresponding transmission link in the at least one application: obtaining application characteristics of the to-be-processed application and link characteristics of at least one transmission link; and determining a preferred link for the to-be-processed application based on the application characteristics and the link characteristics.
[0005] One or more embodiments of the present specification provide a traffic management system. The system includes: a traffic acquisition module, used to acquire target traffic and determine at least one application corresponding to the target traffic, wherein the target traffic is traffic to be forwarded received by an access node; a feature acquisition module, used to acquire application features of the application to be processed and link features of at least one transmission link when there is an application to be processed that has not been assigned a corresponding transmission link in the at least one application; and a link determination module, used to determine the preferred link of the application to be processed based on the application features and the link features.
[0006] One or more embodiments of the present specification provide a traffic management device, including a processor, wherein the processor is configured to execute a traffic management method.
[0007] One or more embodiments of the present specification provide a computer-readable storage medium, wherein the storage medium stores computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes a traffic management method. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] This specification will be further described in the form of exemplary embodiments, which will be described in detail by the accompanying drawings. These embodiments are not restrictive, and in these embodiments, the same number represents the same structure, wherein:
[0009] Figure 1 is a schematic diagram of an application scenario of a traffic management system according to some embodiments of this specification;
[0010] Figure 2 is a schematic diagram of a module of a traffic management system according to some embodiments of this specification;
[0011] Figure 3 is an exemplary flow chart of a traffic management method according to some embodiments of this specification;
[0012] Figure 4 is an exemplary schematic diagram of determining a preferred link for an application to be processed according to some embodiments of this specification;
[0013] Figure 5 is an exemplary schematic diagram of determining a preferred link of an application to be processed according to other embodiments of this specification;
[0014] Figure 6 is an exemplary flow chart of updating the application link load correspondence table according to some embodiments of this specification;
[0015] Figure 7 This is an exemplary flow chart for determining an application link load correspondence table according to some embodiments of this specification. DETAILED DESCRIPTION
[0016] In order to more clearly illustrate the technical solutions of the embodiments of this specification, the following is a brief introduction to the drawings required for the description of the embodiments. Obviously, the drawings described below are only some examples or embodiments of this specification. For ordinary technicians in this field, this specification can also be applied to other similar scenarios based on these drawings without creative work. Unless it is obvious from the language environment or otherwise explained, the same reference numerals in the figures represent the same structure or operation.
[0017] It should be understood that the "system", "device", "unit" and / or "module" used herein are a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.
[0018] As shown in this specification and claims, unless the context clearly indicates an exception, the words "a", "an", "an" and / or "the" do not refer to the singular and may also include the plural. Generally speaking, the terms "comprise" and "include" only indicate the inclusion of the steps and elements that have been clearly identified, and these steps and elements do not constitute an exclusive list. The method or device may also include other steps or elements.
[0019] Flowcharts are used in this specification to illustrate the operations performed by the system according to the embodiments of this specification. It should be understood that the preceding or following operations are not necessarily performed precisely in order. Instead, the steps may be processed in reverse order or simultaneously. At the same time, other operations may also be added to these processes, or one or more operations may be removed from these processes.
[0020] Traffic management refers to the allocation of transmission links corresponding to the traffic requests of each application when multiple applications are running on one or more terminals. Appropriate traffic management can solve the problem of jamming caused by improper link allocation, so that each application can run smoothly.
[0021] Figure 1 Schematic diagram of application scenarios of traffic management systems according to some embodiments of this specification. Figure 1 As shown, the application scenario 100 may include a user terminal 110 , an access node 120 , an intermediate node 130 , a request endpoint 140 , and a transmission link 150 .
[0022] The user terminal 110 refers to one or more terminal devices or software used by the user. In some embodiments, the user terminal 110 may be used by one or more users, including users who directly use the service, or other related users. In some embodiments, the user terminal 110 may be a mobile device, a tablet computer, a laptop computer, a desktop computer, or any combination thereof, and other devices with input and / or output functions. In some embodiments, the mobile device may include a wearable device, a smart mobile device, or any combination thereof.
[0023] In some embodiments, among the multiple terminal devices included in the user terminal 110, each terminal device can be connected to the same communication network, such as a WIFI network.
[0024] In some embodiments, each terminal device can run multiple applications. For example, the user terminal 110 includes multiple APP applications. APP applications refer to software installed on the terminal device. In some embodiments, APP applications can be pre-installed software or third-party application software installed by the user himself. The above examples are only used to illustrate the extensiveness of the user terminal 110 and are not intended to limit its scope.
[0025] The access node 120 may refer to a node including a user terminal of one party or a user terminal device cluster belonging to one party and connected to an intermediate node through a network interface. The access node may obtain target traffic. In some embodiments, the device cluster may be centralized or distributed. In some embodiments, the device cluster may be regional or remote. In some embodiments, the access node 120 may include devices such as a host, a terminal, etc. For example, a router, a computer with computing resources, etc.
[0026] In some embodiments, the multiple terminal devices included in the user terminal 110 are all connected to the network emitted by the access node 120. For example, the access node 120 is a WIFI router in the user's home, and all smart devices in the user's home are connected to the WIFI network emitted by the router. In some embodiments, the flow requests emitted by the user terminal 110 can be collected and aggregated based on the access node 120, and each flow request can be redistributed to the corresponding intermediate node 130 according to the link allocation.
[0027] The intermediate node 130 may include a network node that plays a role in data exchange and switching in network communication. The intermediate node 130 may refer to a node that includes a single device of one party or a device cluster belonging to one party and is connected to the access network through a network interface. In some embodiments, the device cluster may be centralized or distributed. In some embodiments, the device cluster may be regional or remote.
[0028] In some embodiments, in the process from the access node 120 to the base station or application server, there may be one or more transfer points (such as installed base stations) in the middle, and these transfer points are intermediate nodes 130. In some embodiments, the intermediate node 130 may be planned and installed in advance by relevant government departments or operators. In some embodiments, the intermediate node 130 may include a wired or wireless network access point, such as a base station and / or a network switching point.
[0029] The request endpoint 140 may be used to process data and / or information of at least one component in the application scenario 100 or an external data source (e.g., a cloud data center). In some embodiments, the request endpoint 140 may be a single server or a server group. The server group may be centralized or distributed (e.g., the server may be a distributed system), may be dedicated, or may be served by other devices or systems at the same time.
[0030] In some embodiments, when the request destination 140 corresponds to a server, the server may correspond to the APP application that issues the traffic request. For example, when a user is browsing a Baidu webpage, the user sends a traffic request to a Baidu server, and the Baidu (or third-party webpage service provider) server returns the content requested by the user, then the Baidu server is the request destination 140. In some embodiments, when a user sends a traffic request to a Baidu server, or when the Baidu server returns the requested content to the user terminal, it may first be transferred through an intermediate base station (such as when the direct transmission distance is too long). At this time, the base station can be regarded as an intermediate node 130.
[0031] In some embodiments, the request endpoint 140 may be regional or remote. In some embodiments, the request endpoint 140 may be implemented on a cloud platform or provided virtually. By way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-layer cloud, the like, or any combination thereof.
[0032] In some embodiments, the request destination 140 may also correspond to a base station. When the request destination 140 is a base station, the process of further transmission to a further location (such as an application server) after the traffic request reaches the base station may not be considered.
[0033] Just as an example, the transmission route of a certain traffic request is: generated by a certain application of the user → wireless router in the user's home → base station 1 → base station 2 →... → base station n → the destination server of the application. In this transmission route, the wireless router is the access node 120, base station 1, base station 2,... base station n are intermediate nodes 130, and the destination server of the application is the request end point 140.
[0034] The transmission link 150 may be a path in the transmission process from the access node 120 to the request endpoint 140. Different paths may be selected from the access node 120 to the request endpoint 140. Different paths correspond to different transmission links 150, and each path selects a different route to reach the request endpoint 140. In some embodiments, the transmission link may be a physically distinguished link in the figure. For example, different traffic requests select different physical underlying lines. In some embodiments, the transmission link may be a logically distinguished (physically indistinguishable) link. For example, three virtual logical links are divided inside the router 1 (each logical link is allocated its own bandwidth), and different applications use different logical links. The above is only an illustrative example of the transmission link, and the transmission link in this embodiment may include but is not limited to the aforementioned situation.
[0035] Figure 22 is a schematic diagram of a traffic management system according to some embodiments of the present specification. In some embodiments, the traffic management system 200 may include a traffic acquisition module 210 , a feature acquisition module 220 , and a link determination module 230 .
[0036] The traffic acquisition module 210 is used to acquire target traffic and determine at least one application corresponding to the target traffic, where the target traffic is traffic to be forwarded received by the access node.
[0037] The feature acquisition module 220 is used to acquire application features of the to-be-processed application and link features of at least one transmission link when there is an to-be-processed application to which no corresponding transmission link is allocated in the at least one application.
[0038] The link determination module 230 is used to determine the preferred link of the application to be processed based on the application characteristics and the link characteristics. For more information on determining the preferred link, see Figure 4 , Figure 5 Related description.
[0039] In some embodiments, the traffic management system 200 may further include the following modules:
[0040] Table construction module 240 is used to construct an application link load correspondence table based on each application in the at least one application and its corresponding transmission link; the application link load correspondence table includes the binding relationship between each application and the transmission link. For more information about constructing the table, see Figure 6 , Figure 7 Related description.
[0041] The information acquisition module 250 is used to obtain the load information of each transmission link in the application link load correspondence table periodically or when a preset update condition is met. For more information on obtaining load information, see Figure 6 Related description.
[0042] The table updating module 260 is used to update the binding relationship between each application and the transmission link based on the load information of each transmission link in the application link load corresponding table, so as to update the application link load corresponding table. For more information about updating the table, see Figure 6 , Figure 7 Related description.
[0043] It should be understood that Figure 2 The system and its modules shown can be implemented in various ways. For example, in some embodiments, the link determination module can determine the preferred link of the application to be processed based on the application characteristics and link characteristics through genetic algorithm or machine learning.
[0044] It should be noted that the above description of the traffic management system and its modules is only for convenience of description and does not limit the present specification to the scope of the embodiments. It is understandable that, after understanding the principle of the system, those skilled in the art may arbitrarily combine the modules or form a subsystem to connect with other modules without deviating from the principle. In some embodiments, Figure 2 The traffic acquisition module, feature acquisition module, and link determination module disclosed in the specification can be different modules in a system, or a module can realize the functions of two or more modules. For example, each module can share a storage module, or each module can have its own storage module. Such variations are within the scope of protection of this specification.
[0045] Figure 3 is an exemplary flow chart of a traffic management method according to some embodiments of this specification. In some embodiments, process 300 may be executed by the traffic management system 200. Figure 3 As shown, process 300 includes the following steps:
[0046] Step 310 , obtaining target traffic and determining at least one application corresponding to the target traffic. Step 310 may be performed by the traffic obtaining module 210 .
[0047] The target traffic may refer to traffic to be forwarded that is received by the access node.
[0048] When the user terminal sends the traffic request data to the application server or network, an access node is set in between. The traffic request first reaches the access node, and then the access node allocates the corresponding link and flows to the application server or base station network. In this process, the access node needs to forward the received traffic request to the link corresponding to the traffic request for subsequent processing. Among them, the traffic request that has not been forwarded to the corresponding link is the traffic to be forwarded. Any traffic to be forwarded received by the access node can be used as the aforementioned target traffic.
[0049] The target traffic can be obtained by the router or computer corresponding to the access node. For more information about access nodes, see Figure 1 Related description.
[0050] The at least one application corresponding to the target traffic refers to one or more applications that generate the traffic to be forwarded. For example, if the current traffic to be forwarded comes from WeChat and Taobao respectively, then the at least one application corresponding to the target traffic includes WeChat and Taobao.
[0051] In some embodiments, the traffic acquisition module 210 can determine at least one application corresponding to the target traffic in a variety of ways. For example, the access node can determine the application corresponding to the target traffic by analyzing the destination address of the target traffic. Just as an example, the destination of the target traffic generated by the WeChat APP will be the remote WeChat server. Therefore, if the analysis determines that the target traffic corresponds to the address of the WeChat server requesting the remote end, it can be determined that the application corresponding to the target traffic is WeChat, that is, the target traffic is considered to come from the WeChat application. For another example, the access node can unpack the target traffic to obtain some traffic characteristics of the target traffic, and then determine the application corresponding to the target traffic based on the search results of the traffic characteristics in the preset feature matching library.
[0052] Step 320 , in response to the presence of a to-be-processed application to which no corresponding transmission link is allocated in at least one application, the operations of step 321 and step 322 may be performed. Step 320 may be performed by the feature acquisition module 220 .
[0053] A transmission link can consist of two end nodes and a communication line between the nodes. For more information about transmission links, see Figure 1 Related description.
[0054] The pending application that has not been assigned a corresponding transmission link may refer to an application that has not been assigned a transmission link. For example, if Game B has not been assigned a transmission link, then Game B is a pending application that has not been assigned a corresponding transmission link.
[0055] In some embodiments, when there is an application to be processed that has no corresponding transmission link allocated in the access node, the following steps may be performed:
[0056] Step 321 , obtaining application features of the application to be processed and link features of at least one transmission link. Step 321 may be performed by the feature acquisition module 220 .
[0057] Application characteristics may refer to characteristic data related to the properties of the application to be processed. For example, application characteristics may include application type, application space occupied size, application update frequency, etc. For example, application types may include games, video software, online chat software, etc.
[0058] Link characteristics may refer to characteristic data related to the attributes of the application to be processed. For example, link characteristics may include rated characteristics, real-time characteristics, average characteristics, etc. of the link. For example, rated characteristics may include a set maximum bandwidth and a maximum load, etc. For example, real-time characteristics may include a current remaining bandwidth and a current load, etc. For example, average characteristics may include an average remaining bandwidth and an average load, etc.
[0059] The feature acquisition module 220 can acquire the application features of the application to be processed in a variety of ways. For further instructions on acquiring the application type, see the specific content of step 310. The size of the application space occupied and the application update frequency can be determined by reading the application information in the mobile phone.
[0060] The feature acquisition module 220 can acquire the link features of the transmission link in a variety of ways. For example, the feature acquisition module 220 can acquire the link features through some network commands. The network command is a test tool for detecting network-related problems.
[0061] Step 322 , based on the application characteristics and the link characteristics, determine the preferred link of the application to be processed. Step 322 may be performed by the link determination module 230 .
[0062] The preferred link may refer to the best link for transmitting the traffic data corresponding to the application to be processed. In some embodiments, the link with the least freeze or screen distortion when transmitting the traffic data corresponding to the application to be processed may be considered as the preferred link.
[0063] In some embodiments, the link determination module 230 can determine the preferred link of the application to be processed based on the application characteristics and link characteristics in a variety of ways. For example, the link determination module 230 can determine, based on the application characteristics and link characteristics, that the link with the lowest link load among the links that can withstand the transmission of the traffic data corresponding to the application to be processed is the preferred link for the application to be processed. For another example, the link determination module 230 can determine the processing priority based on the user and application category corresponding to the application to be processed, and then determine that the link that meets the processing priority is the preferred link for the application to be processed.
[0064] In some embodiments, the link determination module 230 may determine the estimated traffic characteristics of the application to be processed based on the application characteristics; and determine the preferred link of the application to be processed based on the estimated traffic characteristics and the link characteristics. Figure 4 The specific content.
[0065] Based on the actual situation corresponding to the application characteristics and link characteristics, the preferred link for the application to be processed is determined, and applications with high traffic requirements are preferentially allocated to stable links, thereby reducing the frequency of problems such as lag.
[0066] Figure 4 This is an exemplary schematic diagram of determining a preferred link for an application to be processed according to some embodiments of this specification.
[0067] In some embodiments, the link determination module 230 may determine the preferred link of the application to be processed based on application characteristics and link characteristics, which may include: determining the estimated traffic characteristics of the application to be processed based on the application characteristics; and determining the preferred link of the application to be processed based on the estimated traffic characteristics and the link characteristics.
[0068] The estimated traffic characteristics may refer to information related to the characteristics of a certain application and traffic data, such as bandwidth occupancy, average size of sent data packets, average frequency of sent data packets, average size of received data packets, average frequency of received data packets, etc. The estimated traffic characteristics may be represented by a vector, for example, (0.5, 1, 1, 0.5, 2) may represent that the estimated traffic characteristics are bandwidth occupancy of 50%, average size of sent data packets of 1 kb, average frequency of sent data packets of 1 packet / second, average size of received data packets of 0.5 kb, and average frequency of received data packets of 2 packets / second.
[0069] In some embodiments, the link determination module 230 can determine the estimated traffic characteristics of the application to be processed based on the application characteristics through the first preset rule. The first preset rule can be set according to experience. For example, the first preset rule can be that the application type is a game, the application space occupancy size is a MB, then the estimated traffic characteristics of the application are bandwidth occupancy rate a, the average size of the data packets sent is b, the average frequency of the data packets sent is c, the average size of the data packets received is d, and the average frequency of the data packets received is e, which is represented by a vector (a, b, c, d, e).
[0070] In some embodiments, the estimated traffic characteristics are also related to user usage characteristics.
[0071] User usage characteristics may refer to relevant characteristic information of a user's use of a certain application. In some embodiments, user usage characteristics may include user usage frequency, average single usage time, etc.
[0072] User usage frequency may refer to the number of times a user launches an application in a certain period of time. For example, if a user launches application A 6 times within 3 historical days, then the user usage frequency of application A by the user is 2 times / day.
[0073] The average single usage time refers to the average single usage time of a user for a certain application. For example, if a user launches application A 6 times in the past 3 days, and uses application A for 0.5 hours, 1.5 hours, 3 hours, 4.5 hours, 1 hour and 1.5 hours each time, then the average single usage time of the user for application A is 2 hours.
[0074] In some embodiments, the link determination module 230 can obtain user usage characteristics based on the user historical behavior analysis of the access node. The access node can refer to the device for the user terminal to access the network, such as a router. The user historical behavior can refer to the content of the user's interaction with a certain application in the historical time. For example, the user historical behavior can refer to the user searching for a certain product in a shopping application at a certain time in history. Exemplarily, the link determination module 230 can obtain the user usage characteristics based on the user historical behavior of the router that the user searched for product B in application A three times within the past three days and browsed for a total of six hours, and the user usage frequency of the user for application A is 1 time / day, and the average time of a single use is 2 hours.
[0075] In some embodiments, the estimated traffic characteristics may be related to the user usage characteristics. For example, the estimated traffic characteristics may be proportional to the user usage characteristics. The higher the user usage frequency and the longer the average single usage time in the user usage characteristics, the higher the bandwidth occupancy rate in the estimated traffic characteristics, the larger the average size of the sent and received data packets, and the lower the average frequency of sending and receiving data packets.
[0076] In some embodiments of the present specification, by correlating the estimated traffic characteristics with the user's usage characteristics, more accurate estimated traffic characteristics can be obtained in combination with the user's usage habits for the application to be processed.
[0077] In some embodiments, Figure 4 As shown, the link determination module 230 can predict 430 the estimated traffic characteristics through the estimated traffic characteristics prediction model; the estimated traffic characteristics prediction model 430 is a machine learning model.
[0078] In some embodiments, the estimated traffic feature prediction model 430 may include a deep neural network (DNN) model, a convolutional neural network (CNN) model, a recurrent neural network (RNN) model, a graph neural network (GNN) model, the like, or any combination thereof.
[0079] In some embodiments, the input of the estimated traffic feature prediction model 430 may be application features 410 and historical traffic features 470 . The output of the estimated traffic feature prediction model 430 may be estimated traffic features 440 .
[0080] Application feature 410 can be represented by a vector. For example, (1, 100, 1) can represent that the application type in the application feature is 1, the application space occupied is 100MB, and the application update frequency is once a month. Different application types can be represented by different numbers. For example, games are represented by 1, video software is represented by 2, etc. For more information about application features, see Figure 3 and its related description.
[0081] The historical traffic feature 470 may refer to the traffic features of some network users actually using a certain application stored in the Internet / database. For example, the historical traffic feature 470 may be the bandwidth occupancy rate, the average size of the sent data packets, the average frequency of the sent data packets, the average size of the received data packets, the average frequency of the received data packets, etc., when the user uses application A in the past year. The historical traffic feature 470 may be represented by a vector. For example, (0.6, 1, 2, 1, 2) may represent that the historical traffic features are the bandwidth occupancy rate of 60%, the average size of the sent data packets of 1 kb, the average frequency of the sent data packets of 2 packets / second, the average size of the received data packets of 1 kb, and the average frequency of the received data packets of 2 packets / second in a historical period of time.
[0082] In some embodiments, if the historical traffic features 470 are not stored in the Internet / database, they can be filled with zeros, etc., and corresponding processing is also performed during training. In some embodiments, for an application that has already run on a certain transmission link, the input historical traffic features 470 can be the traffic features of the application running on the transmission link during a period of time in history.
[0083] In some embodiments, the estimated traffic feature prediction model 430 can be obtained through training. For example, a first training sample is input into the initial estimated traffic feature prediction model, and a loss function is established based on the label and the output result of the initial estimated traffic feature prediction model, and the parameters of the initial estimated traffic feature prediction model are updated. When the loss function of the initial estimated traffic feature prediction model meets the preset conditions, the model training is completed, and the trained estimated traffic feature prediction model is obtained. The preset conditions may be that the loss function converges, the number of iterations reaches a threshold, etc.
[0084] In some embodiments, the first training sample may include actual application features and historical traffic features of the sample application. The first training sample may be acquired based on historical data. The label of the first training sample may be the actual traffic features of the sample corresponding to the sample application. The label of the first training sample may be determined by manual labeling or automatic labeling.
[0085] In some embodiments, the input of the estimated traffic feature prediction model may also include user usage features 420. In some embodiments, the user usage features 420 may be represented by a vector. For example, (3,2) may represent that the user usage features are that the user usage frequency is 3 times / day and the average time of a single usage is 2 hours. For more information about user usage features, user usage frequency, and average time of a single usage, please refer to the above text and its related descriptions.
[0086] In some embodiments, when the input of the estimated traffic feature prediction model includes the user usage feature 420, the first training sample may include the actual application features, historical traffic features and user usage features of the corresponding sample application.
[0087] By processing application characteristics and user usage characteristics based on the estimated traffic characteristics prediction model described in some embodiments of this specification, it is possible to determine the estimated traffic characteristics more conveniently and accurately.
[0088] In some embodiments, the link determination module 230 can determine the preferred link 460 of the application to be processed based on the estimated traffic characteristics 440 and the link characteristics 450 in a variety of ways. For example, the link determination module 230 can directly select the transmission link with the lowest current load among the transmission links as the preferred link for the application to be processed based on the estimated traffic characteristics and the link characteristics. For another example, the link determination module 230 can obtain the average load of the transmission link based on the estimated traffic characteristics and the link characteristics, and select the transmission link with the lowest average load among the transmission links as the preferred link for the application to be processed. The average load can refer to the average amount of the load of the transmission link in a certain time period. For example, the link determination module 230 can obtain the maximum load of a transmission link in a historical time period as 100MB and the minimum load as 60MB, then the average load of the transmission link in the historical time period is 80MB.
[0089] In some embodiments, the link determination module 230 can predict the estimated fluency of the application to be processed after the application to be processed joins the candidate link through the fluency prediction model, and determine the preferred link of the application to be processed based on the estimated fluency of each transmission link of the application to be processed in at least one transmission link. For more information about determining the preferred link based on the estimated fluency of the application to be processed, please refer to Figure 5 and its related description.
[0090] In some embodiments of this specification, the estimated traffic characteristics of the application to be processed are determined based on the application characteristics, and then the preferred link of the application to be processed is determined. The actual usage of the application to be processed can be combined to make the process of determining the preferred link of the application to be processed more accurate and efficient, thereby ensuring a good transmission effect.
[0091] Figure 5FIG. 5 is an exemplary schematic diagram of determining a preferred link of an application to be processed according to other embodiments of this specification. In some embodiments, process 500 may be executed by a traffic management system 200. Figure 5 As shown, process 500 includes the following steps:
[0092] Step 510, based on the estimated traffic characteristics and link characteristics, the estimated fluency of the application to be processed after the application to be processed is added to the candidate link is predicted through the fluency prediction model; the candidate link is any one of the at least one transmission link; the fluency prediction model is a machine learning model. Step 510 can be performed by the link determination module 230.
[0093] The candidate link may refer to a link that can be selected to transmit the flow data corresponding to the application to be processed. For example, if there are link A, link B, and link C for transmitting flow data, then link A, link B, and link C can all be candidate links.
[0094] The estimated fluency may refer to the estimated running fluency of the application when the user terminal runs the application when the traffic data of the application is transmitted based on the corresponding candidate link. For example, the estimated fluency may be 60 frames per second (FPS).
[0095] In some embodiments, Figure 5 As shown, the fluency prediction model 513 can be used to process the estimated traffic characteristics 512 of the application to be processed and the link characteristics 511 of the candidate links to predict the estimated fluency 514 of the application to be processed.
[0096] In some embodiments, the fluency prediction model 513 may include a DNN model, a CNN model, an RNN model, a GNN model, etc. or any combination thereof.
[0097] In some embodiments, the input of the fluency prediction model 513 may be the estimated traffic characteristics 512 of the application to be processed and the link characteristics 511 of the candidate link. For more information about the estimated traffic characteristics, see Figure 4 Link features can be represented by vectors, such as ((10, 100), (4, 60), (5, 50)) which can represent the maximum bandwidth set in the link features as 10MB / s, the maximum load as 100MB, the current remaining bandwidth as 4MB / s, the current load as 60MB, the average remaining bandwidth as 5MB / s, and the average load as 50MB. For more information about link features, see Figure 3 and its related description.
[0098] The output of the fluency prediction model 513 may be an estimated fluency 514 of the application to be processed.
[0099] In some embodiments, the fluency prediction model 513 can be obtained through training. For example, the second training sample is input into the initial fluency prediction model, and a loss function is established based on the second training sample label and the output result of the initial fluency prediction model, and the parameters of the initial fluency prediction model are updated. When the loss function of the initial fluency prediction model meets the preset conditions, the model training is completed, and the trained fluency prediction model is obtained. The preset conditions may be that the loss function converges, the number of iterations reaches a threshold, etc.
[0100] In some embodiments, the second training sample may include actual traffic characteristics of the sample application and actual link characteristics of the sample link transmitting the sample application. The second training sample may be acquired based on historical data. The label of the second training sample may be the actual application fluency corresponding to the sample application after the sample link is added. The label of the second training sample may be determined by manual labeling or automatic labeling.
[0101] In some embodiments, the input of the fluency prediction model may be the estimated traffic characteristics of multiple applications and the link characteristics of candidate links; and the output may be the estimated fluency corresponding to each application.
[0102] Multiple applications may refer to applications on the same transmission link, for example, application C, application D, and application E may be simultaneously running on link 1. Exemplarily, application C and application D are already running on link 1, and the link determination module 230 predicts that application E to be processed will be added to link 1, and when the estimated fluency of application E to be processed is determined, the input of the fluency prediction model is the estimated traffic features of application C, application D, and application E and the link features of link 1, and the output is the estimated fluency corresponding to application C, application D, and application E, respectively. Among them, the estimated traffic features of application C and application D can be determined based on the aforementioned estimated traffic feature prediction model.
[0103] For example, the input of the fluency prediction model is ((a 1 , b 1 , c 1 , d 1 , e 1 ), (a 2 , b 2 , c 2 , d 2 , e 2 ), (a 3 , b 3 , c 3 , d 3 , e 3 )), where a 1 -a 3 represents the bandwidth usage of application C - application E, b 1 -b 3represents the average size of the data packets sent by application C-application E, c 1 -c 3 represents the average frequency of data packets sent by application C-application E, d 1 -d 3 represents the average size of the received data packets of application C-application E, e 1 -e 3 Represents the average frequency of received data packets of application C-application E; the output of the fluency prediction model is (k, l, m), where k, l, and m represent the estimated fluency of application C, application D, and application E, respectively.
[0104] In some embodiments, the aforementioned fluency prediction model that can simultaneously obtain the estimated fluency corresponding to multiple applications can be obtained through training. For example, a third training sample is input into the initial fluency prediction model, and a loss function is established based on the label of the third training sample and the output result of the initial fluency prediction model, and the parameters of the initial fluency prediction model are updated. When the loss function of the initial fluency prediction model meets the preset conditions, the model training is completed, and the trained fluency prediction model is obtained. The preset conditions may be that the loss function converges, the number of iterations reaches a threshold, etc.
[0105] In some embodiments, the third training sample may include actual traffic characteristics of multiple sample applications and link characteristics of sample links. The third training sample may be acquired based on historical data. The label of the third training sample may be the actual application fluency of multiple sample applications. The label of the third training sample may be determined by manual labeling or automatic labeling.
[0106] In some embodiments of the present specification, the estimated traffic characteristics of multiple applications and the link characteristics of candidate links are processed through a fluency prediction model to obtain an estimated fluency of each application. The mutual influence and interaction between multiple applications on the same transmission link can be considered at the same time, making the determination of the estimated fluency of the application to be processed more accurate.
[0107] Step 520 : Determine a preferred link of the application to be processed based on the estimated fluency of each transmission link of the application to be processed in at least one transmission link. Step 520 may be performed by the link determination module 230 .
[0108] In some embodiments, the link determination module 230 can determine the preferred link of the application to be processed based on the estimated fluency of each transmission link of the application to be processed in at least one transmission link in a variety of ways. For example, the link determination module 230 can directly determine the transmission link with the highest estimated fluency as the preferred link of the application to be processed.
[0109] In some embodiments, the link determination module 230 may predict the future overload frequency of each transmission link based on the overload prediction model, and the selection of the preferred link is also related to the future overload frequency of each transmission link.
[0110] In some embodiments, the overload prediction model may include a DNN model, a CNN model, an RNN model, a GNN model, etc. or any combination thereof.
[0111] In some embodiments, the input of the overload prediction model may be the estimated traffic characteristics of the application to be processed and the rated characteristics of the link characteristics of the candidate link. The output of the overload prediction model may be the future overload frequency of the candidate link. For more information about the estimated traffic characteristics, see Figure 4 and its related description.
[0112] Rated characteristics can refer to relevant data when the transmission link is operating normally. For example, the maximum bandwidth and maximum load set for the transmission link. Rated characteristics can be represented by vectors. For example, (10, 100) can represent that the maximum bandwidth set in the rated characteristics is 10MB / s and the maximum load is 100MB. For more information about rated characteristics, see Figure 3 and its related description.
[0113] The overload frequency may refer to the frequency of occurrence of overload conditions in a transmission link. An overload condition may refer to a condition where the bandwidth of a transmission link is fully occupied. For example, an overload condition may be a condition where the bandwidth occupancy rate of a transmission link reaches 100%. In some embodiments, the overload frequency may be represented by the number of times an overload condition occurs within a certain period of time or the proportion of time that an overload condition occurs within a certain period of time. For example, if an overload condition occurs 5 times in a historical hour, the overload frequency may be 5 times / hour. For another example, if an overload condition occurs for 10 minutes in a historical hour, the overload frequency may be 1 / 6. The future overload frequency may refer to the overload frequency of a transmission link within a future period of time. For example, the future overload frequency may be an overload frequency of 7 times / hour within a future day.
[0114] In some embodiments, the overload prediction model can be obtained through training. For example, a fourth training sample is input into the initial overload prediction model, and a loss function is established based on the label of the fourth training sample and the output result of the initial overload prediction model, and the parameters of the initial overload prediction model are updated. When the loss function of the initial overload prediction model meets the preset conditions, the model training is completed, and the trained overload prediction model is obtained. The preset conditions may be that the loss function converges, the number of iterations reaches a threshold, etc.
[0115] In some embodiments, the fourth training sample may include actual traffic characteristics of the sample application and sample link characteristics. The fourth training sample may be acquired based on historical data. The label of the fourth training sample may be the actual overload frequency of the sample link within a period of time. The label of the fourth training sample may be determined by manual labeling or automatic labeling.
[0116] In some embodiments, the link determination module 230 can determine the transmission link preference value according to the fifth preset rule based on the obtained estimated fluency and future overload frequency, and then select the transmission link with the highest transmission link preference value as the preferred link. The fifth preset rule can be set based on experience. For example, the fifth preset rule can be that when the estimated fluency is 0-30FPS or the future overload frequency is more than 10 times / hour, the preferred value is 0.3, the estimated fluency is 30-60FPS or the future overload frequency is 5 times / hour-10 times / hour, the preferred value is 0.6, the estimated fluency is more than 60FPS or the future overload frequency is 0 times / hour-5 times / hour, and the preferred value is 0.9. Based on the obtained estimated fluency and overload frequency, a preferred value can be determined by the above fifth preset rule, and then the average or weighted sum of the two preferred values is used as the transmission link preference value of the transmission link.
[0117] In some embodiments of the present specification, the future overload frequency of each transmission link is predicted by an overload prediction model and the preferred link of the application to be processed is determined based on the future overload frequency. The future overload frequency can be obtained efficiently and accurately, and the future overload frequency can be added to the selection considerations of the preferred link, making the determination of the preferred link more accurate and reasonable, thereby ensuring smooth application usage.
[0118] In some embodiments of the present specification, a fluency prediction model is used to predict the estimated fluency of the application to be processed after it is added to the candidate link, and the preferred link is determined based on the estimated fluency. The preferred link can be determined from multiple dimensions based on the usage of the candidate link, making the determination of the preferred link more efficient and reasonable, thereby improving the fluency of the application operation and allowing users to have a better application usage experience.
[0119] Figure 6 600 is an exemplary flow chart of updating the application link load correspondence table according to some embodiments of this specification. In some embodiments, process 600 may be executed by the traffic management system 200, for example, based on the table construction module 240. Figure 6 As shown, process 600 includes the following steps:
[0120] Step 610: construct an application link load correspondence table based on each application in at least one application and its corresponding transmission link.
[0121] The application link load correspondence table may refer to a table reflecting the correspondence between different applications and transmission links, for example, a table constructed with the application name as the first column and the transmission link of the traffic corresponding to the application as the second column.
[0122] In some embodiments, the application link load correspondence table may include a binding relationship between each application and a transmission link. The binding relationship may refer to a corresponding relationship between an application and the transmission link of its traffic. For example, if the traffic of application A is transmitted through link 1, then there is a binding relationship between application A and link 1.
[0123] In some embodiments, the table construction module 240 can construct the application link load correspondence table in a variety of ways. For example, the link determination module 230 can predict the future overload frequency of each link based on the overload prediction model, and transfer some applications in the transmission link whose future overload frequency exceeds the first threshold to the transmission link whose future overload frequency is lower than the second threshold. The first threshold and the second threshold can be set based on experience. The table construction module 240 can construct the application link load correspondence table based on the transferred applications and their corresponding links, with the application name as the first column and the transmission link of the corresponding application traffic as the second column.
[0124] In some embodiments, Figure 7 As shown, the table construction module 240 can determine the application link load correspondence table through a preset algorithm. Figure 7 700 is an exemplary flow chart of determining an application link load correspondence table based on a preset algorithm according to some embodiments of this specification. Process 700 can be executed based on the table construction module 240, such as Figure 7 As shown, process 700 may include:
[0125] Step 710, generate a plurality of initial candidate correspondence tables; the initial candidate correspondence tables include a plurality of groups of "application-link pairs".
[0126] The initial candidate correspondence table may refer to an initially constructed correspondence table of candidate applications and transmission links. For example, the initial candidate correspondence table may be a table containing multiple sets of "application-link pairs", and at least some of the "application-link pairs" in different initial candidate correspondence tables are different.
[0127] "Application-link pair" can refer to the corresponding binding relationship formed between the application and the corresponding traffic transmission link. For example, the traffic transmission link corresponding to application A is link 1, then the "application-link pair" corresponding to application A can be "application A-link 1".
[0128] In some embodiments, the table construction module 240 can construct the initial candidate correspondence table in a variety of ways. For example, the table construction module 240 can obtain historical data from a storage device inside or outside the traffic management system 200, and directly construct the initial candidate correspondence table based on the correspondence between the application and the corresponding traffic transmission link in the historical data. For another example, the table construction module 240 can randomly pair the application and the transmission link, establish the correspondence between the application and the corresponding traffic transmission link, and then construct the initial candidate correspondence table.
[0129] Step 720: Determine the evaluation value of each first candidate correspondence table.
[0130] In some embodiments, when the number of iteration rounds=1, the first candidate correspondence table is the initial candidate correspondence table, and when the number of iteration rounds>1, the first candidate correspondence table is the third candidate correspondence table of the previous iteration round.
[0131] The first candidate correspondence table may refer to a correspondence table of applications and transmission links that need to be iteratively processed in each round of iteration. In the first round of iteration, the first candidate correspondence table may be an initial candidate correspondence table containing multiple groups of "application-link pairs".
[0132] In some embodiments, the first candidate correspondence table can be represented in a vector-based manner. For example, a first candidate correspondence table may include "application A-link 1", "application B-link 2" and "application C-link 3", and the first candidate correspondence table can be represented as ((A, 1), (B, 2), (C, 3)).
[0133] The first candidate correspondence table may be determined based on the result of the previous iteration, or based on the initial candidate correspondence table. For example, in the first iteration, the first candidate correspondence table may be the initial candidate correspondence table. In subsequent iterations, the first candidate correspondence table is determined based on the third candidate correspondence table of the previous iteration. For a detailed description of the third candidate correspondence table, see below.
[0134] The evaluation value may refer to a parameter used to evaluate the quality of the first candidate corresponding table. The evaluation value may be positively correlated with the quality of the first candidate corresponding table. That is, the better the transmission effect corresponding to the preferred link determined in the first candidate corresponding table, the greater the evaluation value corresponding to the first candidate corresponding table. In some embodiments, the evaluation value may be represented by a number from 0 to 10 or words such as "excellent" or "average".
[0135] In some embodiments, the evaluation value may be determined in a variety of ways, for example, by manual calculation or by using an algorithm model.
[0136] In some embodiments, the table construction module 240 can be based on the first candidate correspondence table and use a fluency prediction model to predict the estimated fluency of each application after adding each application to the corresponding transmission link according to the settings in the first candidate correspondence table, and use an overload prediction model to predict the future overload frequency of each transmission link after adding each application to the corresponding transmission link, and determine the evaluation value based on the estimated fluency and the future overload frequency.
[0137] For example, the table construction module 240 can determine the evaluation value according to the second preset rule based on the predicted estimated fluency and future overload frequency. For more information about predicting the estimated fluency of each application through the fluency prediction model and predicting the future overload frequency of each transmission link through the overload prediction model, please refer to Figure 5 and its related description. The second preset rule can be set based on experience. For example, the second preset rule can be that when the estimated fluency is 0-30FPS or the future overload frequency is more than 10 times / hour, the evaluation value is 0.3, the estimated fluency is 30-60FPS or the future overload frequency is 5 times / hour-10 times / hour, the evaluation value is 0.6, the estimated fluency is 60FPS and above or the future overload frequency is 0 times / hour-5 times / hour, the evaluation value is 0.9, based on the predicted estimated fluency and overload frequency, an evaluation value corresponding to an "application-link pair" can be determined, and then the average of the two evaluation values is used as the final evaluation value of the "application-link pair", and then the average or weighted sum of the evaluation values of each "application-link pair" contained in the first candidate corresponding table is used as the evaluation value of the first candidate corresponding table. Among them, when the weighted sum of the evaluation values of each "application-link pair" is used as the evaluation value of the first candidate corresponding table, the weight is related to the user usage characteristics.
[0138] In some embodiments, the table construction module 240 can determine the evaluation value of each "application-link pair" in each first candidate corresponding table based on the estimated fluency of each application determined above, and then determine the evaluation value of each first candidate corresponding table based on the weighted sum of the evaluation values of each "application-link pair" in each first candidate corresponding table, and the weight corresponding to each "application-link pair" is related to the user's usage characteristics. User usage characteristics may include the user's frequency of use of the corresponding application, the average time of a single use, etc. For example, the table construction module 240 can set the weight of the evaluation value of the "application-link pair" corresponding to the application to be greater according to the higher the user's frequency of use of a certain application and the longer the average time of a single use.
[0139] The specific weight value can be set according to the fourth preset rule. The fourth preset rule can be that the frequency of use of the application is 0-3 times / day, the weight is 0.3, the frequency of use is 3-6 times / day, the weight is 0.5, the frequency of use is more than 6 times / day, the weight is 0.7, the average time of single use is 0-1 hour, the weight is 0.3, the average time of single use is 1-2 hours, the weight is 0.5, the average time of single use is more than 2 hours, the weight is 0.7, and the total weight can be the average of the weight corresponding to the frequency of use of the application and the weight corresponding to the average time of single use. The fourth preset rule can be set according to experience.
[0140] As an example only, assume that the evaluation value of "Application A-Link 1" in the first candidate correspondence table 1 ((A, 1), (B, 2), (C, 3)) obtained by the table construction module 240 is 0.4, the evaluation value of "Application B-Link 2" is 0.8, and the evaluation value of "Application C-Link 3" is 0.2, and the user's usage frequency of applications A, B, and C are 4 times, 1 time, and 7 times respectively, and the average single usage time of applications A, B, and C is 1.5 hours, 2.5 hours, and 0.5 hours respectively. According to the fourth preset rule in the aforementioned embodiment, the table construction module 240 can determine that the weight corresponding to "Application A-Link 1" is 0.5, the weight corresponding to "Application B-Link 2" is 0.5, and the weight corresponding to "Application C-Link 3" is 0.5, and determine that the evaluation value of the first candidate correspondence table 1 is 0.7.
[0141] Step 730: determine a second candidate correspondence table.
[0142] The second candidate correspondence table may refer to a candidate correspondence table screened based on the evaluation value of the first candidate correspondence table.
[0143] In some embodiments, the table construction module 240 can determine multiple second candidate corresponding tables from multiple first candidate corresponding tables based on the evaluation value of each corresponding to the multiple first candidate corresponding tables. For example, the first candidate corresponding table whose evaluation value in the first candidate corresponding table is greater than the preset evaluation value can be determined as the second candidate corresponding table. Among them, the preset evaluation value can be a parameter set in advance. As an example only, the evaluation value of the first candidate corresponding table 1 ((A, 1), (B, 2), (C, 1)) is 0.6, the evaluation value of the first candidate corresponding table 2 ((A, 4), (B, 5), (C, 6)) is 0.7, and the evaluation value of the first candidate corresponding table 3 ((A, 4), (B, 4), (C, 6)) is 0.2, and the preset evaluation value is 0.5. The table construction module 240 can filter out the first candidate corresponding table 1 ((A, 1), (B, 2), (C, 1)) and the first candidate corresponding table 2 ((A, 4), (B, 5), (C, 6)) whose evaluation value is greater than the preset evaluation value as the second candidate corresponding table.
[0144] Step 740: transform the second candidate correspondence table to determine a third candidate correspondence table.
[0145] The third candidate correspondence table may refer to a candidate correspondence table obtained by further processing the second candidate correspondence table.
[0146] In some embodiments, the third candidate correspondence table may be determined by performing a transformation process on the second candidate correspondence table, wherein the transformation process may include a first transformation and a second transformation.
[0147] In some embodiments, the first transformation may include: selecting at least two second candidate correspondence tables from multiple second candidate correspondence tables, exchanging the binding relationships of one or more application-link pairs in the selected at least two second candidate correspondence tables, generating at least two third candidate tables, and using the third candidate table as a third candidate correspondence table.
[0148] The third candidate table may refer to a candidate table obtained after the first transformation of the second candidate table. For example, the third candidate table ((A, 4), (B, 2), (C, 1)) is obtained after the first transformation of the second candidate table ((A, 1), (B, 2), (C, 1)).
[0149] The first transformation may refer to an operation for exchanging the binding relationship of an application-link pair. In some embodiments, the first transformation may be exchanging transmission links corresponding to different applications in a plurality of different second candidate corresponding tables. For example, the second candidate corresponding table 1 is ((A, 1), (B, 2), (C, 1)), and the second candidate corresponding table 2 is ((A, 4), (B, 5), (C, 6)). The table construction module 240 may exchange the transmission links corresponding to application A in the second candidate corresponding table 1 and the second candidate corresponding table 2 to generate a third alternative table, such as the third alternative table 1 is ((A, 4), (B, 2), (C, 1)), and the third alternative table 2 is ((A, 1), (B, 5), (C, 6)).
[0150] In some embodiments, the table construction module 240 may also preferentially exchange the "application-link pairs" with poor effects in the two second candidate corresponding tables to improve the efficiency of determining the preferred link. Among them, the "application-link pairs" with poor effects in the second candidate corresponding table can be obtained based on experiments. For example, when adjusting the transmission link corresponding to a certain application can greatly improve the fluency of the application and reduce the future overload frequency of the corresponding transmission link, the "application-link pair" can be considered as a transmission link with poor effect.
[0151] The second transformation may refer to an operation for updating the binding relationship of the application-link pair. In some embodiments, the second transformation may include: updating the binding relationship of at least one application-link pair in the preliminary correspondence table to generate at least one third candidate correspondence table; the preliminary correspondence table is the second candidate correspondence table or the third candidate table.
[0152] The prepared correspondence table may refer to a correspondence table that will be subjected to the second transformation. In some embodiments, the prepared correspondence table is a second candidate correspondence table or a third candidate table.
[0153] In some embodiments, for each of the multiple preliminary correspondence tables, the table construction module 240 can update the binding relationship of at least one application-link pair in the preliminary correspondence table to generate at least one third candidate correspondence table. For example, the preliminary correspondence table 1 is ((A, 4), (B, 2), (C, 1)), and the transmission link corresponding to application B can be adjusted, that is, (B, 2) is changed to (B, 3), and the third candidate correspondence table generated after the update is ((A, 4), (B, 3), (C, 1)).
[0154] In some embodiments, the table construction module 240 may give priority to updating the "application-link pairs" with poor effects in the preliminary correspondence table to improve the efficiency of determining the preferred link. For the description of the "application-link pairs" with poor effects, please refer to the description of the "application-link pairs" with poor effects in the aforementioned second candidate correspondence table.
[0155] In some embodiments, the probability of the "application-link pair" selected by the table construction module 240 for transformation processing from the second candidate correspondence table or the preliminary correspondence table may be related to the user usage characteristics corresponding to the "application-link pair". For example, when the table construction module 240 selects one of "application A-link 1" and "application B-link 2" for mutation, if information that the user uses application A more frequently is obtained based on the user usage characteristics, the table construction module 240 has a higher probability of selecting "application A-link 1" for transformation processing.
[0156] In some embodiments of the present specification, by correlating the selection probability of the "application-link pair" selected for transformation processing in the second candidate correspondence table or the preliminary correspondence table with the user's usage characteristics, the applications that the user uses more frequently can be given priority, and then while trying more possible combinations, the preferred link can be quickly determined, so that the probability that the application that the user uses more frequently corresponds to the preferred link is higher.
[0157] In some embodiments, the table construction module 240 may further process the obtained third candidate correspondence table based on the following steps.
[0158] Step 750: Determine a reference value of the third candidate correspondence table.
[0159] The reference value may refer to the probability of any third candidate corresponding table among the plurality of third candidate corresponding tables being selected as the first candidate corresponding table for the next round of iteration or the probability of being selected as the application link load corresponding table.
[0160] In some embodiments, the table construction module 240 may determine the third candidate correspondence table reference value in a variety of ways.
[0161] For example, the table construction module 240 may directly use the evaluation value of the third candidate correspondence table as the reference value of the third candidate correspondence table; for another example, the table construction module 240 may determine the evaluation value of the third candidate correspondence table based on the correspondence between the reference value and the evaluation value of the preset third candidate correspondence table. For more information on determining the evaluation value, please refer to the relevant description above.
[0162] For another example, the table construction module 240 may process the evaluation value of the third candidate correspondence table based on a variety of methods such as a program and an algorithm to obtain a reference value of the third candidate correspondence table.
[0163] Exemplarily, the reference value of a third candidate correspondence table in the third candidate correspondence table may be the ratio of the evaluation value of the third candidate correspondence table to the sum of the evaluation values of all the third candidate correspondence tables. For example, the total number of third candidate correspondence tables is 2, of which the evaluation value of third candidate correspondence table 1 is 0.3, and the evaluation value of third candidate correspondence table 2 is 0.2, then the evaluation value of third candidate correspondence table 1 is 0.3 / (0.3+0.2)=0.6, that is, the reference value of third candidate correspondence table 1 is 0.6.
[0164] Step 760: Filter the third candidate correspondence table to obtain a filtered third candidate correspondence table.
[0165] In some embodiments, the table construction module 240 may filter the third candidate correspondence table based on its reference value, and use the filtered third candidate correspondence table as the first candidate correspondence table for the next iteration or for determining the application link load correspondence table.
[0166] In some embodiments, the table construction module 240 may determine the first candidate corresponding table to enter the next round from multiple third candidate corresponding tables based on the size of the reference value. For example, the reference values may be sorted from large to small, and the top third candidate corresponding tables are determined as the first candidate corresponding tables to enter the next round of iteration.
[0167] In some embodiments, the table construction module 240 may use the third candidate correspondence table whose reference value is greater than the preset reference value as the first candidate correspondence table for the next round of iteration. For example, the total number of third candidate correspondence tables is 4, of which the reference value of third candidate correspondence table 1 is 0.1, the reference value of third candidate correspondence table 2 is 0.8, the reference value of third candidate correspondence table 3 is 0.7, the reference value of third candidate correspondence table 4 is 0.2, and the preset reference value is 0.6. Since the reference values of third candidate correspondence table 2 and third candidate correspondence table 3 are both greater than the preset reference value, third candidate correspondence table 2 and third candidate correspondence table 3 may be used as the first candidate correspondence table for the next round. The preset reference value may be a probability parameter set in advance.
[0168] Step 770, determine the application link load correspondence table.
[0169] The table construction module 240 can use the screened third candidate correspondence table as the first candidate correspondence table for the next round, and repeat steps 710 to 770 to continue iterative updates until the preset iteration conditions are met, and the third candidate correspondence with the largest reference value in all iterations is determined as the application link load correspondence table.
[0170] In some embodiments, the preset iteration condition may include that the number of iteration rounds is not less than a preset round value. The preset round value may be directly determined based on past experience or by experiment. For example, a smaller value (e.g., 50) may be set first, and then gradually expanded to a reasonable range according to the iteration results.
[0171] In some embodiments, the preset iteration condition may include that the evaluation value of the first candidate corresponding table is not less than the preset evaluation value. The preset evaluation value may be the minimum evaluation value corresponding to the estimated fluency of the preferred link determined based on experience and the future overload frequency that can give the customer a good application experience. When the evaluation value of the first candidate corresponding table is not less than the preset evaluation value, it means that the application link load corresponding table that can obtain the preferred link has been generated.
[0172] In some embodiments, the preset iteration condition may further include that in at least two consecutive iterations, the variation range of the evaluation value of the first candidate corresponding table is less than the preset variation value. The preset variation value may be the minimum variation requirement that the evaluation value of the first candidate corresponding table needs to meet before and after the iteration. If in at least two consecutive iterations, the variation range of the evaluation value of the first candidate corresponding table is less than the preset variation value, it may be considered that the third candidate corresponding table before and after the iteration has substantially no variation or has very little variation, and the iteration may be stopped at this time.
[0173] The preset iteration condition may be preset by a user. In some embodiments, the preset iteration condition may include at least one of the above conditions.
[0174] In some embodiments of the present specification, the evaluation value of the first candidate correspondence table is determined by using the estimated fluency and future overload frequency, so that the determination of the evaluation value can be more accurate and the computing efficiency can be improved; based on the exchange processing or the exchange or adjustment of the binding relationship between the application and the transmission link in the first candidate correspondence table, and multiple iterations, the efficiency of the iteration can be effectively improved to quickly determine the application link load correspondence table.
[0175] Step 620: Obtain the load information of each transmission link in the application link load correspondence table periodically or when a preset update condition is met.
[0176] In some embodiments, the preset update condition can be manually set based on experience. For example, the preset update condition can be that the number of overloads of a certain transmission link exceeds the third threshold or the future overload frequency of a certain transmission link is higher than the fourth threshold. The number of overloads can refer to the number of times a certain transmission link exceeds the carrying capacity of the transmission link within a certain period of time. For example, the number of overloads of link 1 in a day can be 4 times. If the third threshold is 3 times, it can be considered that the preset update condition is met. The third threshold and the fourth threshold can be set automatically or manually by the system based on experience.
[0177] The load information may refer to information related to the load condition of the transmission link, for example, the load information may be the overload frequency of the transmission link, the number of applications that are simultaneously bound to the transmission link, and the like.
[0178] In some embodiments, the information acquisition module 250 may acquire the load information of each transmission link in the application link load correspondence table in a variety of ways periodically or when a preset update condition is met.
[0179] For example, the information acquisition module 250 can obtain the load information of each transmission link in the application link load correspondence table through the overload prediction model, the client or the storage device every hour or when the preset update condition is met. For more information about obtaining load information through the overload prediction model, please refer to Figure 5 and its related description.
[0180] Step 630: Based on the load information of each transmission link in the application link load correspondence table, update the binding relationship between each application and the transmission link to update the application link load correspondence table.
[0181] In some embodiments, the table update module 260 may update the binding relationship between each application and the transmission link according to a third preset rule based on the load information of each transmission link in the application link load correspondence table to update the application link load correspondence table.
[0182] The third preset rule can be set based on experience. For example, if the future overload frequency of a transmission link is higher than the fifth threshold, then a binding relationship is established between the application in the transmission link whose estimated fluency is lower than the sixth threshold and the transmission link whose future overload frequency is lower than the fifth threshold. In some embodiments, the fifth threshold should be lower than the fourth threshold.
[0183] Exemplarily, the third preset rule is that if the future overload frequency of a transmission link is higher than 5 times / hour, then a binding relationship is established between an application in the transmission link with an estimated fluency lower than 60FPS and a transmission link with a future overload frequency lower than 5 times / hour. If in a certain application link load correspondence table ((A, 1), (B, 1), (C, 2)), the future overload frequency of link 1 is 8 times / hour, the future overload frequency of link 2 is 3 times / hour, application A and application B are located on link 1, the estimated fluency of application A is 40FPS, and the estimated fluency of application B is 70FPS, then the table update module 260 can establish a binding relationship between application A in link 1 and link 2, and update the application link load correspondence table, the updated application link load correspondence table is ((A, 2), (B, 1), (C, 2)), and steps 620-630 are subsequently performed based on the updated application link load correspondence table.
[0184] In some embodiments, by updating the binding relationship between each application and the transmission link based on load information and updating the application link load correspondence table, the transmission links that may be congested can be adjusted and updated in time to avoid a decrease in application usage experience caused by multiple applications using the same transmission link.
[0185] In some embodiments, by constructing an application link load correspondence table, obtaining load information and updating the application link load correspondence table regularly or when preset update conditions are met, the binding relationship between the application and the transmission link can be updated in time according to the user's actual usage conditions, which is conducive to efficiently determining a more accurate preferred link, reducing the probability of adverse user experience events such as freezes and frame drops, and improving the user experience.
[0186] One or more embodiments of the present specification provide a traffic management device, including a processor, wherein the processor is configured to execute a traffic management method.
[0187] One or more embodiments of the present specification also provide a computer-readable storage medium that stores computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes the traffic management method as described in any one of the above embodiments.
[0188] The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only for example and does not constitute a limitation of this specification. Although not explicitly stated here, those skilled in the art may make various modifications, improvements and corrections to this specification. Such modifications, improvements and corrections are suggested in this specification, so such modifications, improvements and corrections still belong to the spirit and scope of the exemplary embodiments of this specification.
[0189] At the same time, this specification uses specific words to describe the embodiments of this specification. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of this specification. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. In addition, certain features, structures or characteristics in one or more embodiments of this specification can be appropriately combined.
[0190] In addition, unless explicitly stated in the claims, the order of the processing elements and sequences described in this specification, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of this specification. Although the above disclosure discusses some invention embodiments that are currently considered useful through various examples, it should be understood that such details are only for illustrative purposes, and the attached claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the essence and scope of the embodiments of this specification. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.
[0191] Similarly, it should be noted that in order to simplify the description disclosed in this specification and thus help understand one or more embodiments of the invention, in the above description of the embodiments of this specification, multiple features are sometimes combined into one embodiment, figure or description thereof. However, this disclosure method does not mean that the features required by the subject matter of this specification are more than the features mentioned in the claims. In fact, the features of the embodiments are less than all the features of the single embodiment disclosed above.
[0192] In some embodiments, numbers describing the number of components and attributes are used. It should be understood that such numbers used in the description of the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise specified, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may change according to the required features of individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the general method of retaining digits. Although the numerical domains and parameters used to confirm the breadth of their range in some embodiments of this specification are approximate values, in specific embodiments, the setting of such numerical values is as accurate as possible within the feasible range.
[0193] Each patent, patent application, patent application publication, and other materials, such as articles, books, specifications, publications, documents, etc., cited in this specification are hereby incorporated by reference in their entirety. Except for application history documents that are inconsistent with or conflicting with the contents of this specification, documents that limit the broadest scope of the claims of this specification (currently or later attached to this specification) are also excluded. It should be noted that if the descriptions, definitions, and / or use of terms in the materials attached to this specification are inconsistent or conflicting with the contents described in this specification, the descriptions, definitions, and / or use of terms in this specification shall prevail.
[0194] Finally, it should be understood that the embodiments described in this specification are only used to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of this specification. Therefore, as an example and not a limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly introduced and described in this specification.
Claims
1. A method for flow management, include: Acquire target traffic and determine at least one application corresponding to the target traffic; The target traffic is the traffic to be forwarded received by the access node; In response to the presence of a to-be-processed application to which no corresponding transmission link is allocated in the at least one application: Acquire application characteristics of the application to be processed and link characteristics of at least one transmission link; Determining a preferred link for the application to be processed based on the application characteristics and the link characteristics; Building an application link load correspondence table based on each application and its corresponding transmission link in the at least one application, including repeatedly executing steps S1-S6: S1. Generate multiple initial candidate correspondence tables, each of which includes multiple groups of "application-link pairs"; S2. Determine evaluation values of one or more first candidate correspondence tables, including: Determining an evaluation value of the "application-link pair" based on the estimated fluency and future overload frequency; Determine the evaluation value of the first candidate correspondence table by weighted summing the evaluation values of one or more of the "application-link pairs"; wherein the weight of the weighted sum is related to the user's usage characteristics; S3, determining a second candidate correspondence table based on the evaluation value of the first candidate correspondence table; S4, determining a third candidate corresponding table by transforming the second candidate corresponding table; wherein the probability of selecting the "application-link pair" subjected to the transforming process is related to the user usage feature; S5, determining a reference value of the third candidate correspondence table; S6, filtering the third candidate correspondence table to obtain a filtered third candidate correspondence table; In response to satisfying a preset iteration condition, the third candidate corresponding table with the largest reference value in all iteration rounds is determined as the application link load corresponding table; wherein, when the iteration round number is equal to 1, the first candidate corresponding table is the initial candidate corresponding table, and when the iteration round number is greater than 1, the first candidate corresponding table is the third candidate corresponding table screened in the previous round of iteration, and the application link load corresponding table includes the binding relationship between each application and each of the transmission links; Periodically or when a preset update condition is met, obtaining load information of each transmission link in the application link load correspondence table; Based on the load information of each of the transmission links in the application link load correspondence table, the binding relationship between each application and the transmission link is updated to update the application link load correspondence table.
2. The method according to claim 1, wherein the preferred link of the application to be processed is determined based on the application characteristics and the link characteristics. include: Based on the application characteristics, determining an estimated traffic characteristic of the application to be processed; Based on the estimated traffic characteristics and the link characteristics, a preferred link for the application to be processed is determined.
3. The method according to claim 2, wherein the preferred link of the application to be processed is determined based on the estimated traffic characteristics and the link characteristics. include: Based on the estimated traffic characteristics and the link characteristics, using a fluency prediction model, predicting the estimated fluency of the application to be processed after the application to be processed is added to the candidate link; The candidate link is any one of the at least one transmission link; the fluency prediction model is a machine learning model; The preferred link of the application to be processed is determined based on the estimated fluency of each transmission link of the at least one transmission link of the application to be processed.
4. A system for traffic management, include: A traffic acquisition module, used to acquire target traffic and determine at least one application corresponding to the target traffic, wherein the target traffic is traffic to be forwarded received by the access node; A feature acquisition module, configured to acquire application features of the to-be-processed application and link features of at least one transmission link when there is an to-be-processed application to which no corresponding transmission link is allocated in the at least one application; A link determination module, used to determine a preferred link of the application to be processed based on the application characteristics and the link characteristics; A table building module is used to build an application link load correspondence table based on each application and its corresponding transmission link in the at least one application, including repeatedly executing steps S1-S6: S1. Generate multiple initial candidate correspondence tables, each of which includes multiple groups of "application-link pairs"; S2. Determine evaluation values of one or more first candidate correspondence tables, including: Determining an evaluation value of the "application-link pair" based on the estimated fluency and future overload frequency; Determine the evaluation value of the first candidate correspondence table by weighted summing the evaluation values of one or more of the "application-link pairs"; wherein the weight of the weighted sum is related to the user's usage characteristics; S3, determining a second candidate correspondence table based on the evaluation value of the first candidate correspondence table; S4, determining a third candidate corresponding table by transforming the second candidate corresponding table; wherein the probability of selecting the "application-link pair" subjected to the transforming process is related to the user usage feature; S5, determining a reference value of the third candidate correspondence table; S6, filtering the third candidate correspondence table to obtain a filtered third candidate correspondence table; In response to satisfying a preset iteration condition, the third candidate corresponding table with the largest reference value in all iteration rounds is determined as the application link load corresponding table; wherein, when the iteration round number is equal to 1, the first candidate corresponding table is the initial candidate corresponding table, and when the iteration round number is greater than 1, the first candidate corresponding table is the third candidate corresponding table screened in the previous round of iteration, and the application link load corresponding table includes the binding relationship between each application and each of the transmission links; An information acquisition module, used to acquire load information of each transmission link in the application link load correspondence table periodically or when a preset update condition is met; A table updating module is used to update the binding relationship between each application and the transmission link based on the load information of each transmission link in the application link load corresponding table, so as to update the application link load corresponding table.
5. The system according to claim 4, wherein the link determination module is further configured to: Based on the application characteristics, determining an estimated traffic characteristic of the application to be processed; Based on the estimated traffic characteristics and the link characteristics, a preferred link for the application to be processed is determined.
6. The system according to claim 5, wherein the link determination module is further configured to: Based on the estimated traffic characteristics and the link characteristics, the estimated fluency of the application to be processed after the application to be processed is added to the candidate link is predicted by a fluency prediction model; the candidate link is any one of the at least one transmission link; the fluency prediction model is a machine learning model; The preferred link of the application to be processed is determined based on the estimated fluency of each transmission link of the at least one transmission link of the application to be processed.
7. A traffic management device, the device comprising at least one processor and at least one memory; The at least one memory is used to store computer instructions; The at least one processor is configured to execute at least part of the computer instructions to implement the method according to any one of claims 1 to 3.
8. A computer-readable storage medium storing computer instructions, wherein when the computer instructions are executed by a processor, the method according to any one of claims 1 to 3 is implemented.
Citation Information
Patent Citations
Route link selection method and device
CN103532846A
Transmission link management method and device, electronic equipment and storage medium
CN111211980A
Self-adaptive routing method, system and equipment oriented to high-dynamic network topology
CN114124823A