Traffic scheduling method, device, equipment and storage medium

By generating user and server portraits, and optimizing network resource scheduling using the traffic matching model, the local congestion problem caused by unreasonable network resource allocation is solved, and the user experience and server resource utilization efficiency is improved.

CN116248603BActive Publication Date: 2025-08-26BEIJING QIYI CENTURY SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310255945.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-10
Publication Date
2025-08-26
Estimated Expiration
2043-03-10

AI Technical Summary

Technical Problem

The existing network resource scheduling methods lack overall network situation awareness, resulting in local network congestion, poor user experience, and inability to reasonably allocate server resources.

Method used

By obtaining user data and server data, generating user traffic portraits and server capability portraits, optimizing traffic scheduling using the first traffic matching model, and matching the most suitable target server.

Benefits of technology

It realizes that while improving user experience, it reasonably allocates server resources, reduces traffic costs, avoids server overload or low utilization, and improves the accuracy and timeliness of traffic matching.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116248603B_ABST
    Figure CN116248603B_ABST
Patent Text Reader

Abstract

The embodiments of the present application relate to the field of data processing technology, and more specifically, to a traffic scheduling method, apparatus, device, and storage medium, which are intended to optimize the allocation of network traffic resources. The method comprises: upon receiving a traffic request from a user terminal of a target user, obtaining user data and server data of the target user; obtaining a user traffic profile corresponding to the user based on the user data, and obtaining server capability profiles of multiple servers; inputting the user data, the server data, the user traffic profile, and the multiple server capability profiles into a first traffic matching model to obtain a target server corresponding to the target user; and scheduling the traffic request to the target server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of data processing technology, and specifically, to a traffic scheduling method, apparatus, device, and storage medium. Background Art

[0002] With the rapid development of the internet, network traffic has experienced explosive growth. When users conduct online activities, servers need to allocate corresponding resources. Effective and reasonable allocation of network resources can improve the user experience, save server resources, and alleviate server pressure. Existing methods for scheduling and allocating network resources can be divided into two categories: one is to allocate network resources based on server cost savings, and the other is to allocate network resources based on improving user experience.

[0003] Existing network resource traffic allocation and scheduling methods lack awareness of the operator's overall network status and cannot reasonably allocate network resources. This can easily lead to local network congestion problems, often causing users to experience poor network lag. Summary of the Invention

[0004] The embodiments of the present application provide a traffic scheduling method, apparatus, device, and storage medium, which aim to optimize the allocation of network traffic resources.

[0005] A first aspect of an embodiment of the present application provides a traffic scheduling method, the method comprising:

[0006] When receiving a traffic request from a user terminal of a target user, obtaining user data and server data of the target user;

[0007] Obtaining a user traffic profile corresponding to the user according to the user data, and obtaining a server capability profile of each of the plurality of servers;

[0008] Inputting the user data, the server data, the user traffic profile, and the plurality of server capability profiles into a first traffic matching model to obtain a target server corresponding to the target user;

[0009] Dispatching the traffic request to the target server.

[0010] A second aspect of an embodiment of the present application provides a traffic scheduling device, the device comprising:

[0011] A data receiving module is used to obtain user data and server data of a target user when receiving a traffic request from a user terminal of the target user;

[0012] A portrait acquisition module is used to obtain a user traffic portrait corresponding to the user according to the user data, and to obtain a server capability portrait of each of the multiple servers;

[0013] a traffic matching module, configured to input the user data, the server data, the user traffic profile, and the plurality of server capability profiles into a first traffic matching model to obtain a target server corresponding to the target user;

[0014] The traffic scheduling module is used to schedule the traffic request to the target server.

[0015] A third aspect of an embodiment of the present application provides a readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps in the method described in the first aspect of the present application are implemented.

[0016] A fourth aspect of an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the method described in the first aspect of the present application are implemented.

[0017] Using the traffic scheduling method provided by this application, when a traffic request is received from a user terminal of a target user, user data and server data of the target user are obtained;

[0018] According to the user data, the user traffic profile corresponding to the user is obtained, and the server capability profiles of the multiple servers are obtained; the user data, the server data, the user traffic profile and the multiple server capability portraits are input into the first traffic matching model to obtain the target server corresponding to the target user; the traffic request is dispatched to the target server. In the present application, when the user data and server data of the target user are received, the user traffic profile corresponding to the target user is obtained, and then the server capability portraits of all current servers are obtained. Through the first traffic matching model, according to the user traffic profile, the server capability portrait, the user data and the server data, the corresponding target server is matched for the target user. In the matching process, the user's traffic status and the server's capability status are taken into consideration, and the most suitable server is matched for the user. The server resources are reasonably allocated, which is beneficial to reducing the server's traffic cost while improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0020] Figure 1 This is a schematic diagram of the architecture of the real-time traffic matching and scheduling system in an embodiment of the present application proposed in one embodiment of the present application;

[0021] Figure 2 This is a schematic diagram of the first flow matching model training steps proposed in one embodiment of the present application;

[0022] Figure 3 This is a schematic diagram of the first flow matching model training steps proposed in one embodiment of the present application;

[0023] Figure 4 This is a flow chart of traffic scheduling proposed in one embodiment of the present application;

[0024] Figure 5 This is a flow chart of traffic scheduling proposed in one embodiment of the present application;

[0025] Figure 6 This is a flow chart of traffic scheduling proposed in one embodiment of the present application;

[0026] Figure 7 This is a flow chart of traffic scheduling proposed in one embodiment of the present application;

[0027] Figure 8 This is a flow chart of traffic scheduling proposed in one embodiment of the present application;

[0028] Figure 9 This is a flow relationship diagram illustrating a real-time flow matching and scheduling system proposed in one embodiment of the present application;

[0029] Figure 10 Schematic diagram of a traffic scheduling device proposed in one embodiment of the present application. DETAILED DESCRIPTION

[0030] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0031] refer to Figure 1 , Figure 1This is a schematic diagram of the real-time traffic matching and scheduling system architecture proposed in an embodiment of the present application. The traffic scheduling method proposed in the present application is implemented based on the real-time traffic matching and scheduling system. The system includes a real-time traffic matching system and a traffic scheduling system. The real-time traffic matching system includes a user data collection module, a server data collection module, a user traffic portrait generation module, a server capability portrait generation module, and a first traffic matching model. The first traffic matching model included in the real-time traffic matching system is used to match user terminals and servers one-to-one. The traffic scheduling system is used to distribute the server traffic to the user terminal, input user data and server data into the first traffic matching model, and the first traffic matching model outputs the target server corresponding to the user.

[0032] The training steps of the first traffic matching model include:

[0033] S11: Collecting traffic resource data, where the network resource data includes historical traffic resource data and real-time traffic resource data.

[0034] In this embodiment, traffic resource data includes historical traffic resource data and real-time traffic resource data. Historical traffic resource data can also be referred to as historical learning data. Historical traffic resource data includes user traffic data, network resource data, and network link data. Real-time traffic resource data includes user traffic data, network resource data, and network link data. Historical traffic resource data and real-time traffic resource data include the same data types, but differ in timeliness. Historical traffic resource data focuses more on the richness of data volume, which is conducive to enriching the extracted features and training traffic matching models suitable for various scenarios. Real-time traffic resource data refers to real-time data of the current business scenario collected within a certain delay range. It is characterized by high timeliness. Using real-time traffic resource data, it is possible to further update the model parameters based on the offline model, making the model's processing of real-time data more accurate. User traffic data includes traffic data and related historical behavior data generated when users visited the website over the past period of time. Data is generally collected within a day or a week. Data within a day is year-on-year data, and data within a week is month-on-month data. Network resource data is the data on the network resources currently available to the website, including resource capacity data, resource unit price data, server performance data, etc. Resource capacity data refers to the bandwidth data of the server and the user end, resource unit price data refers to the price data of traffic, and server performance data refers to the server's transmission speed, server capacity, server response speed, etc. Network link data, network link data mainly includes resource links. Real-time traffic resource data is data collected in real time, and also includes user traffic data, network resource data, and network link data.

[0035] In this embodiment, the traffic resource data can be captured from the Internet. The collection method is not limited here, and a wide range of data is collected as much as possible.

[0036] For example, for a video website, the collected user traffic data are the historical data of users watching videos and the real-time collected data; the collected network resource data are the historical resource capacity data of the video, the unit price of the video traffic, the performance indicators of the video playback website server and the real-time collected resource capacity data, the unit price data of the video traffic, and the performance data of the video playback website server; the collected network link data are the historical resource link data of the video website and the real-time collected resource link data.

[0037] S12: Obtain the user traffic profile and the server capability profile based on the historical traffic resource data:

[0038] In this embodiment, the user traffic profile is a collection of user features obtained by analyzing the user's related access behavior in the user's historical traffic resource data. Each user feature represents a user behavior habit or user category. The server capability profile is a collection of server features obtained by analyzing server data. Each feature represents indicators such as server performance and network resource costs.

[0039] In this embodiment, after collecting historical traffic resource data, the historical traffic resource data is statistically analyzed to obtain the traffic usage of each user and related information of the server, and the user characteristics and performance indicator characteristics of the server are mined from the statistical data to obtain the user traffic portrait and server capability portrait.

[0040] In this embodiment, step S12 specifically includes the following steps:

[0041] S12-1: Perform statistical analysis on the historical traffic resources to obtain user data statistical results and server data statistical results.

[0042] In this embodiment, the user data statistics are statistical data after statistics are collected on the user's historical traffic resource data, which counts the historical behavior patterns of each user when accessing the server. The server statistics are statistical data after statistics are collected on the server's historical traffic resource data, which counts the various data of all servers of the server provider when responding to user requests.

[0043] In this embodiment, historical traffic resources are input into the user traffic profile generation module and the server capacity profile generation module, respectively, and statistical analysis is performed on the historical traffic resources. The user traffic profile generation module and the server capacity profile generation module respectively obtain user statistics and server data statistics for each user on a per-user and per-server basis. The user data statistics can represent the proportion of user access behaviors with high traffic consumption in the overall access behavior over the past period of time, the traffic speed when the user obtains resources, etc. The server data statistics can represent the average speed of request responses, resource utilization, data transmission time, etc. over the past period of time.

[0044] For example, statistics on the historical traffic resources of a video website show that user A spent 80% of his time watching high-definition original videos (higher resolution, more data usage) over the past week, and 20% watching smooth videos (lower resolution, less data usage). User A's network bandwidth remained stable at around 100 Mbps while watching videos. Statistics on the website's historical traffic resources also show that server A's average response speed to received requests was 0.01 ms, and server A's average data transmission speed was 30 Mbps.

[0045] S12-2: Perform feature extraction on the user data statistical results and the server data statistical results to obtain multiple user features and multiple server capability features.

[0046] In this embodiment, user features are user characteristics mined from user data statistics, and server capability features are server features mined from server data statistics.

[0047] In this embodiment, the user traffic profile generation module extracts user data statistics, and the server capability profile generation module extracts features from the server data statistics to obtain multiple user features and multiple server capability features. The user traffic profile generation module extracts features from user data from multiple different dimensions, and the types of user features in different dimensions vary. User account information can be obtained from user account data and statistically analyzed. From the user's historical behavior data, various data from the user's past website visits can be statistically analyzed, thereby mining user behavioral characteristic information. The user data statistics can be used to uncover the user's behavioral characteristics during the website visit and the characteristics of the user's device. The user data statistics can reflect the specific circumstances of the user's traffic usage in various time periods. Based on the specific circumstances of the user's traffic usage, we can determine the proportion of the user's time using high-speed traffic during the user's traffic usage period, the user's average download speed, the number of times the user's traffic is disconnected, and other data. Combined with the user's specific requests during the traffic usage period, we can obtain the user's requirements for traffic speed. When the user's average download speed or the proportion of the time using high-speed traffic during the user's traffic usage period is above a certain threshold, based on the requests issued by the user when using high-speed traffic, it can be determined that the user has high requirements for server transmission speed when issuing such requests. The server capability portrait generation module can dig out the server characteristics such as whether the server is a high-speed server or a low-speed server, the server's usage cost, etc. from the server data statistical results. By extracting features from the service data statistical results, the server's response speed to each request, the load in each time period, and the link occupancy in each time period can be obtained, and then the specific values ​​of each indicator of the server can be determined. According to the specific values ​​of each indicator of the server, the performance characteristics of the server are obtained. A server with a response speed greater than a certain threshold has the characteristic of fast response speed, and a server with a data transmission speed greater than a certain threshold has the characteristic of fast data transmission speed.

[0048] For example, based on the statistical result that user A spent 80% of her time watching high-definition original videos (higher resolution, more data usage) and 20% of her time watching smooth videos (lower resolution, less data usage) over the past week, we can identify user A's preference for watching HD videos. This, in turn, indicates that users require high-performance servers when requesting HD video data. Given that server A responds to requests with an average speed of 0.01ms and transmits data at an average speed of 30M / s, we can conclude that server A has a fast response speed but a slow transmission speed.

[0049] S12-3 combines the multiple user features to obtain the user traffic profile.

[0050] In this embodiment, the user traffic profile generation module combines the user features obtained in multiple different dimensions to form a user feature set to obtain a user traffic profile. From the user traffic profile, the network quality required by the user, the user's behavioral habits, etc. can be obtained.

[0051] For example, in a video website, from the dimension of membership rights, the characteristics of the user traffic portrait can be divided into VIP users and non-VIP users; from the dimension of bit rate selection, the characteristics of the user traffic portrait can be divided into high bit rate requests and low bit rate requests, etc. The generated user traffic portrait represents the user's individual behavior when visiting the website from multiple dimensions, and combines the user's characteristics in multiple different dimensions to obtain the user traffic portrait.

[0052] S12-4: Combine the multiple server capability features to obtain the server capability portrait.

[0053] In this embodiment, after obtaining a plurality of server capability features, the server capability profile generation module processes the obtained server capability features to obtain a server capability profile.

[0054] In another embodiment of the present application, after step S12-4, the method further includes:

[0055] S12-5: Store the user traffic profile and the server capability profile.

[0056] In this embodiment, after obtaining the user traffic profile and server capability portrait through historical traffic resource data, the user traffic profile and server capability portrait are stored. When performing subsequent traffic matching, the user traffic profile corresponding to each user and the server capability portraits of all servers can be called at any time.

[0057] S13: Using the historical traffic resource data, the user traffic profile and the server capability profile as training data, the initial model is trained to obtain an initial traffic matching model.

[0058] In this embodiment, the initial model is an optimization analysis model. Under certain constraints, this optimization analysis model uses user data and server data as input variables and operates on a function designed to achieve the desired traffic matching goal. The optimal solution is the target server matched to the target user. The initial model is trained using historical traffic resources to obtain the initial traffic matching model.

[0059] In this embodiment, an objective function is preset in the initial traffic matching model. The optimization goals of the objective function are: maximizing the user experience, optimizing the network traffic occupancy rate of each server, and minimizing the network traffic cost. In order to maximize the user experience, it is necessary to maximize the network fluency and file download speed of users when accessing. To optimize the network traffic occupancy rate of each server, it is necessary to ensure that the occupancy rate of each server remains at a balanced level to prevent the traffic load of individual services from being too heavy or individual servers from being too idle. To minimize the network traffic cost, it is necessary to reasonably arrange the usage of each server based on the price of each server and the current traffic price.

[0060] In this embodiment, the initial model is trained using historical traffic resource data, user traffic profiles, and server capability profiles as training data to obtain an initial traffic matching model. After receiving the historical traffic resource data, the initial model obtains user data for each user and server data for each service from the historical traffic resource data. Based on the received user traffic profiles and server capability profiles, corresponding constraints are generated. The objective function is then calculated under these constraints. This calculation is repeated multiple times, and the model parameters are adjusted until the function value no longer changes, indicating that the parameters have been adjusted and the initial traffic matching model has been obtained.

[0061] S14: Using the real-time traffic resource data, the user traffic profile and the server capability profile as training data, the initial traffic matching model is trained to obtain the first traffic matching model.

[0062] In this embodiment, the first traffic matching model is a traffic matching model obtained by adjusting model parameters using real-time traffic resource data.

[0063] In this embodiment, real-time traffic resource data, user traffic profiles, and server capability profiles are input as training data into an initial traffic matching model to train the initial traffic matching model and generate a first traffic matching model. Upon receiving the real-time traffic resource data, the user traffic profile generation module and the server capability profile generation module update each stored user traffic profile and server capability profile based on the real-time traffic resource data. While training the initial traffic matching model using the real-time traffic resource data, the model's parameters are further adjusted to generate the first traffic matching model.

[0064] In this embodiment, by performing offline analysis and data mining on the collected traffic resource data, more features are found, and the dimensions of the model are continuously enriched, making the user traffic profile and server capability profile more accurate. Based on data analysis, an offline model with scalable constraints and adjustable optimization targets is formed, and the model is fitted and optimized. After actual testing, the offline model can increase the service availability of server matching from 99% to 99.5%. The offline model is then converted into an online model, which improves the traffic matching system's ability to perceive network conditions in real time. At the same time, the parameters of the current model can be iterated, ultimately making the traffic matching scheduling more timely and accurate. After actual testing, the online model has increased the availability of the traffic matching scheduling server from 99.9% to 99.99%.

[0065] refer to Figure 2 , Figure 2 This is a flow chart of traffic scheduling proposed in one embodiment of the present application. Figure 2 As shown, the method includes the following steps:

[0066] S21: When a traffic request is received from a user terminal of a target user, user data and server data of the target user are obtained.

[0067] In this embodiment, the target user is a user accessing the network through a user terminal, the server is the server of the website accessed by the user, and the target user data includes the user's real-time network data, the user's service quality data, and the user's historical behavior data. Server data includes the server's resource capacity, server traffic price, server performance indicator data, server resource link data, and server historical traffic data. The user's traffic request is the traffic request sent by the user to the server through the user terminal.

[0068] In this embodiment, when a user accesses the backend server through a user terminal and sends a traffic request to the server, the real-time traffic matching and scheduling system collects the user data of the user and the server data of all servers providing the server with the user's authorization, and inputs the collected user data and server data into the first traffic matching model. The first traffic matching model receives the user data and server data input by the system.

[0069] For example, when a user visits a video website, the traffic matching and scheduling system collects user data, including real-time network and service quality data, and historical user behavior data. Server data includes real-time resource capacity data for all servers on the video website, real-time server traffic unit prices, real-time server performance data, real-time server link data, and historical server data.

[0070] S22: Obtain a user traffic profile corresponding to the user based on the user data, and obtain a server capability profile of each of the multiple servers.

[0071] In this embodiment, the user traffic profile is a collection of user features obtained by analyzing the user's related access behavior in the user's historical traffic resource data. Each user feature represents a user behavior habit or user category. The server capability profile is a collection of server features obtained by analyzing server data. Each feature represents indicators such as server performance and network resource costs.

[0072] In this embodiment, after receiving the user data of the target user and the server data of the current multiple servers, the real-time traffic matching and scheduling system obtains the pre-stored user traffic profile of the target user and the server capability portraits of the current multiple servers, and updates the user traffic profile of the target user according to the newly received user data through the user traffic profile generation module, and updates the server capability portraits of the multiple servers according to the newly received server data through the server capability portrait generation module.

[0073] In this embodiment, in step S22, obtaining a user traffic profile corresponding to the user based on the user data specifically includes:

[0074] S22-1: Determine, based on the user data, a user account of a target user corresponding to the user data.

[0075] In this embodiment, the user account is the account information registered by the user when accessing the server. The identity of the user can be determined based on the user account.

[0076] In this embodiment, after the user data of the target user is obtained, the user account of the target user can be determined from the user data.

[0077] S22-2: According to the user account, obtain the user traffic profile corresponding to the target user from multiple pre-stored user traffic profiles.

[0078] In this embodiment, after the user account of the target user is determined, the user traffic profile corresponding to the target user is obtained from multiple pre-stored user traffic profiles.

[0079] In this embodiment, the user's account information and the user traffic profile corresponding to the user are stored on the server side, and the user traffic profile of the user can be retrieved from the server side based on the user's account information.

[0080] S23: Input the user data, the server data, the user traffic profile, and the plurality of server capability profiles into a first traffic matching model to obtain a target server corresponding to the target user.

[0081] In this embodiment, the target server is the server matched for the target user by the first traffic matching model under the existing constraints and according to the preset optimization goal. The first traffic matching model is essentially an optimization model that obtains the optimal matching result based on the current constraints and the preset optimization goal.

[0082] In this embodiment, after the first traffic matching model receives user data, server data, user traffic profile and server capability portrait, it generates corresponding constraints based on the user traffic profile and server capability portrait, and matches the corresponding target server for the target user based on the user data and server data. Based on the user traffic profile and server capability portrait, the first traffic matching model matches the server that best suits the user's needs, i.e., the target server, according to the received user real-time network data, user server quality data and server real-time data.

[0083] For example, if the user traffic profile features requests for higher server performance, such as requests for higher video playback bitrates or higher membership benefits, then the server performance profile will be used to match the user with a high-performance server, providing the user with a better playback experience. If the user traffic profile also features requests with relatively low server performance requirements, such as offline downloads, then the server performance profile will be used to match the user with a lower-cost server, reducing the target user's playback costs.

[0084] In this embodiment, step S23 specifically includes:

[0085] S23-1: Generate corresponding constraint conditions based on the user traffic profile and the server capability profile;

[0086] In this embodiment, the constraint condition is a restriction that the variable must satisfy when the optimization model calculates the extreme value of the objective function.

[0087] In this embodiment, after obtaining the user traffic profile of the target user and the server capability profiles of multiple servers, corresponding constraint conditions are generated based on the user traffic profile and the server capability profile.

[0088] In this embodiment, the specific steps of step S23-1 include:

[0089] S23-1-1: Determine the relevant traffic indicator threshold of the target user and the capability indicator threshold of the server based on the user traffic profile and the server capability profile.

[0090] In this embodiment, the target user's relevant traffic indicator threshold is the range limit value of each traffic indicator when the user uses traffic to access the server, and the server's capacity indicator threshold is the range limit value of each server indicator.

[0091] In this embodiment, the first traffic matching model generates corresponding constraints based on the user traffic profile and server capability profile. For each user, when performing traffic matching for that user, user characteristics, namely, the thresholds for the user's various relevant traffic indicators, and server characteristics, namely, the thresholds for the server's various capability indicators, are determined based on the user's traffic profile and server capability profile. User characteristics include the percentage of time the user uses high-speed traffic during the user's traffic usage period, the user's average download speed, the number of times the user's traffic is disconnected, etc. Based on these characteristics, the user's minimum traffic speed threshold can be determined.

[0092] For example, when the characteristics of the user's traffic profile include that the time the user uses high-speed traffic accounts for a high proportion of the user's traffic usage time, it means that the user likes to watch high-definition videos. Then, the user's minimum traffic speed threshold is determined based on the user's average network speed and the data transmission speed required to smoothly watch high-definition videos.

[0093] S23-1-2: Generate corresponding constraint conditions based on the relevant traffic indicator threshold and the server capability indicator threshold.

[0094] In this embodiment, the constraint condition is a restriction that the variable must satisfy when the optimization model calculates the extreme value of the objective function.

[0095] In this embodiment, after obtaining the relevant traffic index threshold of the target user and the capacity index threshold of the server, corresponding constraints are generated based on the relevant traffic index threshold of the user and the capacity index threshold of the server. The corresponding constraints include but are not limited to the data transmission speed provided by the target server to the target user cannot be lower than the user's minimum traffic speed threshold, the server's response speed cannot be lower than the server's response speed threshold, etc.

[0096] UFP (User Flow Portrait) = [X1, X2, ..., Xn], where X represents user characteristics, and SAP (Server Ability Portrait) = [Y1, Y2, ..., Ym], where Y represents the characteristics of the server's performance indicators. Based on the user characteristics and the server's performance characteristics, the user's relevant flow indicator thresholds and the server's ability indicator thresholds are determined, and then the corresponding constraints are generated.

[0097] S23-2: Under the constraints, the optimization goals of the first traffic matching model are to maximize the user traffic speed, optimize the network traffic occupancy and minimize the network traffic cost. The user data and server data are matched through the traffic matching matrix to obtain the target server corresponding to the target user.

[0098] In this embodiment, under the generated constraints, the first traffic matching model uses the user traffic profile and the server capability profile as the constraints of the first traffic matching model, and takes maximizing the user experience, optimizing the network traffic occupancy and minimizing the network traffic cost as the optimization goals of the first traffic matching model. In the first traffic matching model, calculations are performed through the traffic matching matrix to achieve traffic matching and obtain the target server corresponding to the target user.

[0099] For example, the user traffic profile and the server capability profile are combined into a traffic matching matrix, which is expressed as:

[0100]

[0101] Among them, UFP (User Flow Portrait) = [X1, X2, ..., Xn] and SAP (Server Ability Portrait) = [Y1, Y2, ..., Ym] constitute the traffic matching matrix, and the optimization goal is Max (traffic cost + user experience + traffic usage).

[0102] When a user visits a video website, the first traffic matching model generates corresponding constraints based on the user's traffic profile and multiple server capability profiles of multiple backend servers of the video website. With the optimization goals of maximizing the user's fluency when watching videos, optimizing the network traffic usage of multiple backend services, and minimizing the network traffic cost of multiple servers, the target server is matched for the user. Through the matching of the first traffic matching model, when the target user's traffic profile indicates that the user has high requirements for server performance, the request sent by the user is dispatched to a high-performance server, so that the user can obtain a better experience. When the target user's traffic profile indicates that the user has low requirements for server performance, the request sent by the user is dispatched to a server with lower performance, reducing the user's traffic cost, thus achieving reasonable traffic scheduling. While ensuring user experience, it balances the server load, reduces the server usage cost, and reduces the server operation and maintenance cost.

[0103] S24: Dispatching the traffic request to the target server.

[0104] In this embodiment, after the real-time traffic matching and scheduling system matches a target server for the target user through the first traffic matching model, the traffic scheduling system schedules the traffic request issued by the user to the matched target server with the user's authorization.

[0105] For example, when a user is watching a video using video software, after the best server is matched for the user, the traffic scheduling system arranges the matched target server to receive the video traffic request sent by the user and sends the video data to the user's target terminal.

[0106] In the above embodiment, through the real-time traffic matching and scheduling system, the target server is matched for the target user based on the currently collected user data and server data, and the traffic scheduling system schedules the traffic request issued by the user to the target server, thereby maximizing the user experience, optimizing network traffic occupancy, and minimizing the cost of network traffic, and personalizing the handling of different types of user access needs.

[0107] In this embodiment, step S24 specifically includes:

[0108] S24-1: Send the traffic request sent by the user terminal of the target user to the target server, so that the target server responds to the traffic request, determines the corresponding data, and sends the data to the user terminal of the target user

[0109] In this embodiment, after the real-time traffic matching scheduling system determines the target server of the target user through the real-time traffic matching system, the traffic request sent by the user terminal of the target user is sent to the target server according to the obtained target server information.

[0110] In this embodiment, when the target server receives the traffic request forwarded by the traffic scheduling system, it responds to the received traffic request, determines the data corresponding to the traffic request, and sends the data corresponding to the traffic request to the terminal of the target user.

[0111] For example, a user accesses a video website through a user terminal and sends a video playback request to the server. The real-time traffic matching and scheduling system on the server uses the real-time traffic matching system to match a target server for the user, and sends the video playback request to the matched target server through the traffic scheduling system. The server sends the video data to the user terminal of the target user based on the received video playback request, and the user watches the video using the video data sent by the target server.

[0112] In another embodiment of the present application, after matching a target server for a user, the traffic scheduling system may send a notification message to the user's terminal. For example, if the matched target server is server 3, the notification message sent to the user may read, "We recommend using server 3 for video playback. Do you agree?" After the user clicks the "Agree" option, the traffic scheduling system continues to schedule traffic from server 3 to the user's terminal.

[0113] In this embodiment, the target user's request is dispatched to the target server through the real-time traffic dispatching system, thereby preventing the server from being overloaded or the server utilization from being too low while ensuring the user experience.

[0114] In another embodiment of the present application, after step S23-2, the method further includes:

[0115] S23-3: Extract features from the user data and the server data to obtain user features and server features.

[0116] In this embodiment, when the real-time traffic matching and scheduling system receives a request from a target user, it obtains the current user data and server data, performs feature extraction on the current user data and server data, and obtains user features and server features.

[0117] S23-4: Based on the user characteristics and the server characteristics, the user traffic profile and the server capability profile are updated to obtain an updated user traffic profile and an updated server capability profile.

[0118] In this embodiment, after obtaining user characteristics and server characteristics based on real-time user data and server data, the user traffic profile generation module updates the user traffic profile of the target user based on the user characteristics, and the server capability portrait generation module updates the server capability portrait based on the server characteristics to obtain an updated user traffic portrait and an updated server capability portrait.

[0119] For example, on a video website, when a user becomes a member, activates member download privileges, and issues a video download request, and the download speed increases, a new feature indicating that the user demands a higher download speed can be generated, and this new feature can be used to update the user's traffic profile. When a server's bandwidth increases, and its transmission speed increases, a new feature indicating that the server has a faster transmission speed can be generated, and this new feature can be used to update the server's capability profile.

[0120] S23-5: The updated user traffic profile and the updated server capability profile are stored. The updated user traffic profile and the updated server capability profile are used to generate new constraints when performing traffic scheduling on subsequent traffic requests.

[0121] In this embodiment, after obtaining the updated user traffic profile and the updated server capability profile, the obtained profiles are stored in corresponding locations. When the server subsequently receives a user's traffic request, it generates new constraints based on the updated user traffic profile and the updated server capability profile.

[0122] In this embodiment, the user traffic profile and server capability profile are updated based on the user data and server data received in real time, and then when traffic scheduling is performed subsequently, new constraints are generated through the updated user traffic profile and server capability profile, thereby realizing real-time update of the first traffic matching model parameters and ensuring the accuracy of traffic scheduling.

[0123] refer to Figure 8 , Figure 8 This is a flow relationship diagram of the real-time flow matching and scheduling system proposed in one embodiment of the present application. Figure 8 As shown, user data and server data are input into the first traffic matching model, and the first traffic matching model inputs the matching results into the traffic scheduling model, which is responsible for scheduling the requests of users 1-N to the corresponding servers 1-N.

[0124] In the above-mentioned embodiment of the present application, a first traffic matching model is proposed that uses user traffic profiles in combination with real-time network service capability profiles. On the user traffic profile side, the profile features can be continuously enriched according to the improvement of actual demand, while on the network service capability side, real-time server capacity, network cost, and network congestion status are simultaneously considered. A self-learning traffic matching model is also established. This model can update its own parameters in real time based on user data and server data to improve matching results. The user experience, server capacity, and network cost are unified into the model for consideration to adapt to the current changing network development.

[0125] Based on the same inventive concept, an embodiment of the present application provides a flow scheduling device. Figure 10 , Figure 10 FIG is a schematic diagram of a flow scheduling device 1000 proposed in an embodiment of the present application. Figure 10 As shown, the device includes:

[0126] The data receiving module 1001 is configured to obtain user data and server data of a target user upon receiving a traffic request from a user terminal of the target user;

[0127] A portrait acquisition module 1002 is configured to acquire a user traffic portrait corresponding to the user based on the user data, and to acquire a server capability portrait of each of the plurality of servers;

[0128] The traffic matching module 1003 is configured to input the user data, the server data, the user traffic profile, and the plurality of server capability profiles into a first traffic matching model to obtain a target server corresponding to the target user;

[0129] The traffic scheduling module 1004 is used to schedule the traffic request to the target server.

[0130] Optionally, the training step of the first traffic matching model includes:

[0131] Collecting traffic resource data, the traffic resource data including historical traffic resource data and real-time traffic resource data;

[0132] Obtaining the user traffic profile and the server capability profile based on the historical traffic resource data;

[0133] Using the historical traffic resource data, the user traffic profile, and the server capability profile as training data, the initial model is trained to obtain an initial traffic matching model;

[0134] The initial traffic matching model is trained using the real-time traffic resource data, the user traffic profile and the server capability profile as training data to obtain the first traffic matching model.

[0135] Optionally, obtaining the user traffic profile and the server capability profile based on the historical traffic resource data includes:

[0136] Performing statistical analysis on the historical traffic resources to obtain user data statistics and server data statistics;

[0137] Performing feature extraction on the user data statistical results and the server data statistical results to obtain a plurality of user features and a plurality of server capability features;

[0138] Combining the multiple user features to obtain the user traffic profile;

[0139] Combining the multiple server capability features to obtain the server capability profile;

[0140] Optionally, the method further includes:

[0141] The user traffic profile and the server capability profile are stored.

[0142] Optionally, the portrait acquisition module includes:

[0143] a target user determination submodule, configured to determine, based on the user data, a user account of a target user corresponding to the user data;

[0144] The user traffic profile determination submodule is used to obtain the user traffic profile corresponding to the target user from multiple pre-stored user traffic profiles based on the user account.

[0145] Optionally, the traffic matching module includes:

[0146] A constraint condition generation submodule, configured to generate corresponding constraint conditions based on the user traffic profile and the server capability profile;

[0147] The target server determination submodule is used to process the user data and the server data through the first traffic matching model under the constraint condition to obtain the target server corresponding to the target user.

[0148] Optionally, the constraint condition generation submodule includes:

[0149] A threshold determination submodule is used to determine the relevant traffic indicator threshold of the target user and the capability indicator threshold of the server according to the user traffic profile and the server capability profile;

[0150] The constraint condition determination submodule is used to generate corresponding constraint conditions according to the relevant traffic indicator threshold and the server capability indicator threshold.

[0151] Optionally, the traffic scheduling module includes:

[0152] A request forwarding submodule, configured to send the traffic request sent by the user terminal of the target user to the target server;

[0153] The data return submodule is used to send the data corresponding to the traffic request to the user terminal of the target user through the target server.

[0154] Optionally, the traffic matching module further includes:

[0155] A feature extraction submodule, configured to extract features from the user data and the server data to obtain user features and server features;

[0156] A portrait updating submodule, configured to update the user traffic portrait and the server capability portrait according to the user characteristics and the server characteristics, to obtain an updated user traffic portrait and an updated server capability portrait;

[0157] The portrait storage submodule is used to store the updated user traffic portrait and the updated server capability portrait. The updated user traffic portrait and the updated server capability portrait are used to generate new constraints when performing traffic scheduling on subsequent traffic requests.

[0158] Based on the same inventive concept, another embodiment of the present application provides a readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps in traffic scheduling as described in any of the above embodiments of the present application.

[0159] Based on the same inventive concept, another embodiment of the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and runnable on the processor, wherein the processor, when executed, implements the steps in the traffic scheduling described in any of the above embodiments of the present application.

[0160] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0161] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0162] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, devices, or computer program products. Therefore, the embodiments of the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0163] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0164] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0165] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0166] Although preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they become aware of the basic inventive concepts. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.

[0167] Finally, it should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or terminal device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or terminal device that includes the element.

[0168] The above is a detailed introduction to the traffic scheduling method, device, equipment and storage medium provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core ideas. At the same time, for general technical personnel in this field, based on the ideas of the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A traffic scheduling method, characterized in that: The method comprises: When a traffic request is received from a user terminal of a target user, user data and server data of the target user are obtained; the user data includes the user's real-time network data, the user's service quality data, and the user's historical behavior data; the server data includes the server's resource capacity, the server's traffic price, the server's performance indicator data, the server's resource link data, and the server's historical traffic data; Obtaining a user traffic profile corresponding to the target user based on the user data, and obtaining a server capability profile of each of the multiple servers; the user traffic profile is a set of user features obtained by analyzing the user's related access behavior in the user's historical traffic resource data; the server capability profile is a set of server features obtained by analyzing the server data; Inputting the user data, the server data, the user traffic profile, and the plurality of server capability profiles into a first traffic matching model to obtain a target server corresponding to the target user; Dispatching the traffic request to the target server.

2. The method according to claim 1, characterized in that The training step of the first traffic matching model includes: Collecting traffic resource data, the traffic resource data including historical traffic resource data and real-time traffic resource data; Obtaining the user traffic profile and the server capability profile based on the historical traffic resource data; Using the historical traffic resource data, the user traffic profile, and the server capability profile as training data, the initial model is trained to obtain an initial traffic matching model; The initial traffic matching model is trained using the real-time traffic resource data, the user traffic profile and the server capability profile as training data to obtain the first traffic matching model.

3. The method according to claim 2, characterized in that The obtaining of the user traffic profile and the server capability profile based on the historical traffic resource data includes: Performing statistical analysis on the historical traffic resource data to obtain user data statistics and server data statistics; Performing feature extraction on the user data statistical results and the server data statistical results to obtain a plurality of user features and a plurality of server capability features; Combining the multiple user features to obtain the user traffic profile; The multiple server capability features are combined to obtain the server capability profile.

4. The method according to claim 3, characterized in that The method further comprises: The user traffic profile and the server capability profile are stored.

5. The method according to claim 4, characterized in that The acquiring, based on the user data, a user traffic profile corresponding to the target user includes: Determining, based on the user data, a user account of a target user corresponding to the user data; According to the user account, a user traffic profile corresponding to the target user is obtained from a plurality of pre-stored user traffic profiles.

6. The method according to claim 1, characterized in that The step of inputting the user data, the server data, the user traffic profile, and the plurality of server capability profiles into a first traffic matching model to obtain a target server corresponding to the target user includes: Generate corresponding constraint conditions based on the user traffic profile and the server capability profile; Under the constraints, the optimization objectives of the first traffic matching model are to maximize user traffic speed, optimize network traffic occupancy and minimize network traffic cost. The user data and server data are matched through the traffic matching matrix to obtain the target server corresponding to the target user.

7. The method according to claim 6, characterized in that Generating corresponding constraint conditions according to the user traffic profile and the server capability profile includes: Determine, based on the user traffic profile and the server capability profile, a relevant traffic indicator threshold of the target user and a capability indicator threshold of the server; Generate corresponding constraint conditions according to the relevant traffic indicator threshold and the server capability indicator threshold.

8. The method according to claim 1, characterized in that The dispatching of the traffic request to the target server includes: The traffic request sent by the user terminal of the target user is sent to the target server, so that the target server responds to the traffic request, determines corresponding data, and sends the data to the user terminal of the target user.

9. The method according to claim 6, characterized in that The method further comprises: Performing feature extraction on the user data and the server data to obtain user features and server features; updating the user traffic profile and the server capability profile according to the user characteristics and the server characteristics to obtain an updated user traffic profile and an updated server capability profile; The updated user traffic profile and the updated server capability profile are stored, and the updated user traffic profile and the updated server capability profile are used to generate new constraints when performing traffic scheduling on subsequent traffic requests.

10. A flow scheduling device, characterized in that: The device comprises: A data receiving module is configured to receive user data and server data of a target user; the user data includes the user's real-time network data, the user's service quality data, and the user's historical behavior data; the server data includes the server's resource capacity, the server's traffic price, the server's performance indicator data, the server's resource link data, and the server's historical traffic data; A profile generation module is configured to obtain a user traffic profile based on the user data, and to obtain a server capability profile based on the server data; the user traffic profile is a set of user features obtained by analyzing the user's related access behavior in the user's historical traffic resource data; the server capability profile is a set of server features obtained by analyzing the server data; a traffic matching module, configured to input the user data, the server data, the user traffic profile, and the server capability profile into a first traffic matching model to obtain a target server corresponding to the target user; The traffic scheduling module schedules the traffic request sent by the user terminal of the target user to the target server.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps in the method according to any one of claims 1 to 9 are implemented.

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

Citation Information

Patent Citations

  • Method, device and server for allocating service resources

    CN108958939A

  • Scheduling method and computer system

    CN115098219A