Session resource scheduling method and device, equipment and storage medium

By using Kalman filtering and token bucket algorithms in session resource scheduling, and combining session activity state for bandwidth prediction and adjustment, the shortcomings of traditional resource allocation methods are solved and more efficient resource utilization is achieved.

CN120455283APending Publication Date: 2025-08-08SHENZHEN DINSTAR TECH
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510657461.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-21
Publication Date
2025-08-08

AI Technical Summary

Technical Problem

The traditional session resource allocation method lacks adaptability to the real-time state of the session, resulting in low resource utilization.

Method used

By collecting the current network bandwidth data and historical traffic data of the target session system, the Kalman filtering algorithm is used to predict bandwidth utilization, and bandwidth allocation is performed in combination with the token bucket algorithm, and real-time adjustments are made according to the session activity status.

Benefits of technology

It improves the utilization rate of session resources, avoids the problem of uneven resource allocation based on traditional static or predefined rules, and achieves more efficient resource scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120455283A_ABST
    Figure CN120455283A_ABST
Patent Text Reader

Abstract

The invention discloses a session resource scheduling method and device, equipment and a storage medium, and relates to the technical field of communication, and the method comprises the steps: carrying out the prediction through a Kalman filtering algorithm based on the current network bandwidth data and historical flow data of a target session system when a session resource request is received, and obtaining a bandwidth prediction utilization rate; according to the bandwidth prediction utilization rate, bandwidth allocation is carried out through a token bucket algorithm, and an initial interval bandwidth is obtained; determining a session activeness state according to the session resource consumption data of the user; and performing bandwidth adjustment on the initial interval bandwidth through the session activeness state to obtain a session resource allocation result. As the bandwidth prediction utilization rate of the session resource request is predicted firstly, the appropriate initial interval bandwidth is allocated in advance; and meanwhile, bandwidth adjustment is performed in real time according to the session activeness state. By performing multi-stage real-time adjustment on the session process, the situation of non-uniform allocation of session resources is avoided, and the utilization rate of the session resources is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a session resource scheduling method, apparatus, device, and storage medium. Background Art

[0002] In the field of communications, a session refers to the interaction between two or more communicating entities in a network. For real-time sessions, session resources are typically allocated statically or based on predefined rules.

[0003] With static allocation, the system allocates a fixed amount of resources, such as memory and network bandwidth, to each session at the beginning. This allocation method doesn't account for changes in the actual needs of the session during operation, potentially leading to inefficient resource usage over the session's lifecycle. Allocation based on predefined rules is generally set based on typical usage scenarios. However, these predefined rules may result in some sessions being allocated unnecessary resources, while others may struggle to operate efficiently due to resource constraints.

[0004] Therefore, traditional session resource allocation methods lack adaptability to the real-time status of sessions, resulting in low resource utilization. Summary of the Invention

[0005] The main purpose of this application is to provide a session resource scheduling method, device, equipment and storage medium, aiming to solve the technical problem that traditional session resource allocation methods lack adaptability to the real-time status of sessions, resulting in low resource utilization.

[0006] To achieve the above objectives, the present application proposes a session resource scheduling method, which includes:

[0007] When receiving a user's session resource request, collect the current network bandwidth data and historical traffic data of the target session system;

[0008] Based on the current network bandwidth data and the historical traffic data, predicting the session resource request using a Kalman filter algorithm to obtain a predicted bandwidth utilization rate of the user;

[0009] Allocating bandwidth to the session resource request using a token bucket algorithm based on the predicted bandwidth utilization to obtain an initial interval bandwidth;

[0010] determining a session activity state based on the user's session resource consumption data;

[0011] The bandwidth of the initial interval is adjusted according to the session activity status to obtain a session resource allocation result.

[0012] In one embodiment, the step of predicting the session resource request using a Kalman filter algorithm based on the current network bandwidth data and the historical traffic data to obtain the predicted bandwidth utilization of the user includes:

[0013] Using the network link utilization as the observation variable, the current network bandwidth data and the historical traffic data as the network congestion state variables, and constructing a network congestion prediction model based on the Kalman filter algorithm;

[0014] extracting the current network performance data of the user according to the session resource request;

[0015] The current network performance data is input into the network congestion prediction model to obtain the predicted bandwidth utilization within a preset time period.

[0016] In one embodiment, the step of constructing a network congestion prediction model based on a Kalman filter algorithm using the network link utilization as an observation variable and the current network bandwidth data and the historical traffic data as network congestion state variables includes:

[0017] Construct an initial prediction model through the Kalman filter algorithm;

[0018] The current network bandwidth data and the historical traffic data are defined as network congestion state variables, and the network link utilization is defined as an observation variable;

[0019] Initializing the network congestion state variable by using the initial prediction model to obtain an initial state and uncertainty corresponding to the network congestion state variable;

[0020] Based on the historical traffic data, the initial state and uncertainty are predicted to obtain a state prediction and an uncertainty prediction;

[0021] The state prediction and uncertainty prediction are updated in combination with the observed variables to obtain a network congestion prediction model.

[0022] In one embodiment, the step of allocating bandwidth to the session resource request using a token bucket algorithm based on the predicted bandwidth utilization to obtain the initial interval bandwidth includes:

[0023] Configuring an initial token bucket for the session resource request using a token bucket algorithm;

[0024] Determining a current token generation rate corresponding to the session resource request based on the predicted bandwidth utilization and the initial token bucket;

[0025] Based on the current token generation rate and the initial token bucket, bandwidth is allocated to the session resource request to obtain an initial interval bandwidth.

[0026] In one embodiment, the step of determining a current token generation rate corresponding to the session resource request based on the predicted bandwidth utilization and the initial token bucket includes:

[0027] Determining the initial capacity of the initial token bucket according to a preset session priority;

[0028] Determining a network congestion level interval according to the predicted bandwidth utilization, wherein the network congestion level interval includes light congestion, moderate congestion, and heavy congestion, and the network congestion level interval is provided with a corresponding current token generation rate adjustment strategy;

[0029] Based on the initial capacity and the network congestion level interval, a current token generation rate corresponding to the session resource request is generated.

[0030] In one embodiment, the step of determining the session activity status based on the user's session resource consumption data includes:

[0031] intercepting the user's session resource consumption data according to a preset time window, wherein the session resource consumption data includes the number of session data packets and the session interaction time;

[0032] Determining the user's session activity status based on the number of session data packets and the session interaction time using a preset activity determination condition;

[0033] The preset activity determination conditions include: when the number of session data packets is lower than a preset threshold or the session interaction time is higher than a preset interval time, the user is determined to be in a low activity state; when the number of session data packets is not lower than the preset threshold and the session interaction time is not higher than the preset interval time, the user is determined to be in a high activity state.

[0034] In one embodiment, the step of adjusting the bandwidth of the initial interval according to the session activity status to obtain a session resource allocation result includes:

[0035] quantifying the session activity state into a linear proportional value using a linear proportional algorithm;

[0036] Adjusting the initial interval bandwidth according to the linear proportional value to obtain adjusted bandwidth data;

[0037] The adjusted bandwidth data is used as a session resource allocation result of the session resource request.

[0038] In addition, to achieve the above-mentioned purpose, the present application also proposes a session resource scheduling device, which includes:

[0039] The data collection module is used to collect the current network bandwidth data and historical traffic data of the target session system when receiving the user's session resource request;

[0040] a bandwidth prediction module, configured to predict the session resource request based on the current network bandwidth data and the historical traffic data using a Kalman filter algorithm to obtain a predicted bandwidth utilization rate of the user;

[0041] A bandwidth allocation module is configured to allocate bandwidth to the session resource request using a token bucket algorithm according to the predicted bandwidth utilization to obtain an initial interval bandwidth;

[0042] A status determination module, configured to determine a session activity status based on the user's session resource consumption data;

[0043] The bandwidth adjustment module is configured to adjust the bandwidth of the initial interval according to the session activity status to obtain a session resource allocation result.

[0044] In addition, to achieve the above-mentioned purpose, the present application also proposes a session resource scheduling device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the session resource scheduling method described above.

[0045] In addition, to achieve the above objectives, the present application also proposes a storage medium, which is a computer-readable storage medium and stores a computer program. When the computer program is executed by a processor, the steps of the session resource scheduling method described above are implemented.

[0046] One or more technical solutions proposed in this application have at least the following technical effects: The session resource scheduling method of this application includes: upon receiving a user's session resource request, collecting current network bandwidth data and historical traffic data of a target session system; predicting the session resource request using a Kalman filter algorithm based on the current network bandwidth data and the historical traffic data to obtain the user's predicted bandwidth utilization; allocating bandwidth to the session resource request using a token bucket algorithm based on the predicted bandwidth utilization to obtain an initial interval bandwidth; determining a session activity status based on the user's session resource consumption data; and adjusting the initial interval bandwidth based on the session activity status to obtain a session resource allocation result.

[0047] This application first estimates the bandwidth utilization of session resource requests, then allocates an appropriate initial bandwidth interval in advance based on the predicted bandwidth utilization; and finally adjusts the bandwidth in real time based on the session activity status. This avoids the uneven distribution of session resources caused by traditional static or predefined rule-based session resource allocation methods. By performing multi-level real-time adjustments during the session process, session resource utilization is improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0049] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following is a brief introduction to the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0050] Figure 1 A flowchart of Example 1 of the session resource scheduling method of this application is provided;

[0051] Figure 2 A flowchart of Example 2 of the session resource scheduling method of this application is provided;

[0052] Figure 3 A flowchart of Example 3 of the session resource scheduling method of this application is provided;

[0053] Figure 4 This is a schematic diagram of the module structure of the session resource scheduling device according to an embodiment of the present application;

[0054] Figure 5 This is a schematic diagram of the device structure of the hardware operating environment involved in the session resource scheduling method in the embodiment of the present application.

[0055] The realization of the objectives, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0056] It should be understood that the specific embodiments described herein are merely used to explain the technical solutions of the present application and are not intended to limit the present application.

[0057] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0058] It should be noted that the execution subject of this embodiment can be a computing service device with data collection, bandwidth utilization prediction, and bandwidth adjustment functions, such as a personal computer, server, etc., or an electronic device capable of implementing the above functions, a session resource scheduling device (hereinafter referred to as a scheduling device) that executes the session resource scheduling method of this application, etc., and this embodiment does not limit this. The scheduling device is used as an example to illustrate this embodiment and the following embodiments.

[0059] Based on this, the first embodiment of the present application is proposed. The embodiment of the present application provides a session resource scheduling method, referring to Figure 1 , Figure 1 This is a flow chart of the first embodiment of the session resource scheduling method of this application.

[0060] In this embodiment, the session resource scheduling method includes steps S10 to S50:

[0061] Step S10: upon receiving a user's session resource request, current network bandwidth data and historical traffic data of the target session system are collected.

[0062] It should be noted that the target session system can be a system that serves as an interaction partner or resource acquisition target within a session scenario, and is the core vehicle for the session. For example, in an online video call scenario, the target session system can be the server system that the video call software relies on, responsible for managing user connection requests, data transmission, video encoding and decoding, and other operations. This embodiment is not limited to this.

[0063] The session resource request may be a request made by a user to the target session system to obtain specific resources to support the normal progress of the session.

[0064] It is understandable that the current network bandwidth data may be the maximum data transmission rate that the network transmission channel of the target session system can accommodate at the current moment, which determines the maximum speed at which data can flow in the network at this specific moment.

[0065] For example, if the current bandwidth of a network connection is 100 Mbps, this means that at this moment, theoretically, a maximum of 100 megabits of data can be transmitted per second. The bandwidth is affected by many factors, including the performance of network equipment (such as routers and switches), the type of network connection (such as optical fiber, twisted pair), and network parameters set by the network service provider. It should be determined based on actual conditions and is not limited in this embodiment.

[0066] It should be understood that historical traffic data may be recorded information about the amount of network data transmitted by the target session system over a period of time. For example, historical traffic data may include information such as the amount of data traffic generated by various types of sessions (such as file transfer sessions, video streaming sessions, web browsing sessions, etc.), the temporal distribution of traffic, and the direction of traffic between different sources and destinations, although this embodiment is not limited thereto.

[0067] Step S20: Based on the current network bandwidth data and the historical traffic data, the session resource request is predicted by a Kalman filter algorithm to obtain the predicted bandwidth utilization of the user.

[0068] It should be noted that the Kalman filter algorithm is a recursive mathematical algorithm that can be used to estimate the state of the target conversation system, predict the current state based on the previous state of the target conversation system, and predict the user's usage of network bandwidth or resources in the target conversation system.

[0069] It is understandable that the predicted bandwidth utilization may be a predicted value of the ratio of the network bandwidth that may be used by the user in a future session to the total available bandwidth.

[0070] For example, if it is predicted that the user may use 80% of the network bandwidth in the next video session in the target session system, then 80% can be used as an indicator of bandwidth prediction utilization to plan network resource allocation for the user in advance to avoid network congestion or resource waste.

[0071] In a specific implementation, when the scheduling device receives a session resource request from a user, it collects the current network bandwidth data and historical traffic data of the target session system in real time. It then uses a Kalman filter algorithm to analyze and predict the current network bandwidth data and historical traffic data to obtain the predicted bandwidth utilization.

[0072] Step S30: Allocate bandwidth to the session resource request using a token bucket algorithm according to the predicted bandwidth utilization to obtain an initial interval bandwidth.

[0073] It should be noted that the token bucket algorithm can be used for network traffic shaping and rate limiting during bandwidth allocation. The token bucket algorithm sets up a token bucket that generates tokens at a fixed rate. Each token represents a certain amount of data (e.g., a byte or a packet) that can be sent. When a session resource requests data, the corresponding number of tokens must be obtained from the token bucket before the data can be sent. If there are not enough tokens in the token bucket, the data may be delayed or discarded. The token bucket algorithm allows for flexible control of network traffic rate, enabling bandwidth allocation for session resource requests and preventing network congestion.

[0074] It is understandable that the initial interval bandwidth is a result obtained by allocating bandwidth to session resource requests according to bandwidth prediction utilization using a token bucket algorithm.

[0075] In a specific implementation, after the predicted bandwidth utilization is calculated, an initial bandwidth interval can be allocated to session resource requests using a token bucket algorithm based on the predicted bandwidth utilization. This allows users to plan network resource allocation in advance and prevent network congestion due to sudden traffic.

[0076] Step S40: determining the session activity status according to the user's session resource consumption data.

[0077] It should be noted that session resource consumption data can be a quantitative record of the various resources consumed during a user's network session, reflecting the user's actual demand for and use of resources during the session. Examples include network bandwidth, CPU usage, number of session packets, and session interaction time.

[0078] It is understood that the session activity status can be a description of the user's activity level in the target session system. For example, in an instant messaging session, if a user frequently sends and receives messages, uploads and downloads files, resulting in high session resource consumption, then the user can be considered to be in a high activity state. Conversely, if the user does not perform any operations for a long time, resource consumption is extremely low, then the user is in a low activity state.

[0079] In a specific implementation, after determining the initial interval bandwidth, the scheduling device may further collect session resource consumption data of the user in the target session system, and determine the session activity status of the user in the target session system based on the session resource consumption data.

[0080] In a feasible implementation, step S40 of this embodiment may include the steps of: intercepting session resource consumption data of the user according to a preset time window, the session resource consumption data including the number of session data packets and the session interaction time; determining the session activity state of the user according to a preset activity determination condition based on the number of session data packets and the session interaction time; the preset activity determination condition including: determining that the user is in a low activity state when the number of session data packets is lower than a preset threshold or the session interaction time is higher than a preset interval; and determining that the user is in a high activity state when the number of session data packets is not lower than the preset threshold and the session interaction time is not higher than a preset interval.

[0081] It should be noted that the time window can be a pre-set specific time period within which the scheduling device can intercept and analyze user session resource consumption data. The time window can be set to 5 minutes, half an hour, or one hour, and this embodiment does not limit this.

[0082] It is understood that the number of session packets can be the total number of packets sent and received within a specified time window during a user's network session. The session interaction time can be the total duration from the start to the end of a user's network session.

[0083] It should be understood that the preset activity determination condition may be a predetermined rule for determining the user session activity status. Specifically, the preset threshold may be used to determine whether the number of session packets has reached a critical value for high activity. The preset interval may be a predetermined threshold time for determining whether the session interaction time has reached a low activity state, such as 10 minutes or 20 minutes, and this embodiment is not limited thereto.

[0084] Specifically, the preset activity determination conditions may include: when the number of session data packets is lower than a preset threshold or the session interaction time is higher than a preset interval, the user may be determined to be in a low activity state; when the number of session data packets is lower than the preset threshold but the session interaction time is not higher than the preset interval, the user may be determined to be in a medium activity state; when the session interaction time is higher than the preset interval but the number of session data packets is not lower than the preset threshold, the user may be determined to be in a medium activity state; when the number of session data packets is not lower than the preset threshold and the session interaction time is not higher than the preset interval, the user may be determined to be in a high activity state.

[0085] In this embodiment, the scheduling device can set a time window (such as the past 5 minutes) and count the number of session packets and session interaction time within this time window. If the number of session packets is below a certain threshold, the session is considered to be in a low activity state; otherwise, it is in a high activity state. At the same time, if the session interaction time of sending and receiving packets within a certain period of time is long and the average number of packets is low, it is judged to be low activity. By properly intercepting the number of session packets and session interaction time, the session activity state can be accurately determined, which helps to accurately allocate network resources.

[0086] Step S50: adjusting the bandwidth of the initial interval according to the session activity status to obtain a session resource allocation result.

[0087] It should be noted that the session resource allocation result may be a plan for allocating bandwidth resources to users that is finally determined after adjusting the initial interval bandwidth based on the session activity status.

[0088] For example, by using session activity status, we can ensure that sufficient resources are allocated to users in highly active sessions to maintain smoothness and stability, avoiding service interruptions or quality degradation due to insufficient resources. For less active sessions, we can adjust resource allocation appropriately, reallocating excess resources to other sessions in need.

[0089] In a specific implementation, based on the above session activity status, the scheduling device can adjust the bandwidth of the initial interval to obtain a more reasonable and efficient session resource allocation result.

[0090] In a feasible implementation, step S50 of this embodiment may include the steps of: quantifying the session activity state into a linear proportional value using a linear proportional algorithm; adjusting the initial interval bandwidth according to the linear proportional value to obtain adjusted bandwidth data; and using the adjusted bandwidth data as the session resource allocation result of the session resource request.

[0091] It should be noted that the linear scaling algorithm may be an algorithm for converting the session activity state into a numerical representation.

[0092] For example, a measure of activity can be set, ranging from completely inactive (value 0) to extremely active (value 1). Based on the actual activity characteristics of the session, such as the ratio of the number of session data packets to the preset threshold, the ratio of the session interaction time to the preset interval time, etc., a corresponding linear proportional value is calculated according to a linear relationship. The linear proportional value can be used to simply and intuitively represent the activity level of the session.

[0093] In this embodiment, the scheduling device can use a linear scaling algorithm to determine a linear scaling value representing the activity level based on the session activity status. Based on the proportional relationship of the linear scaling value, higher activity results in greater bandwidth increases, which adjusts the initial interval bandwidth to obtain the adjusted bandwidth and thus the session resource allocation result for the session resource request. By quantifying the abstract session activity status into a linear scaling value through the linear scaling algorithm, the measurement of session activity is more accurate and standardized, enabling more refined bandwidth allocation.

[0094] In the technical solution provided by this embodiment, when a scheduling device receives a session resource request from a user, it collects the current network bandwidth data and historical traffic data of the target session system in real time. It then uses a Kalman filter algorithm to analyze and predict the current network bandwidth and historical traffic data to obtain a predicted bandwidth utilization rate. Based on the predicted bandwidth utilization rate, an initial bandwidth interval is allocated to the session resource request using a token bucket algorithm. This allows for pre-planning of network resource allocation for the user and prevents network congestion due to traffic bursts. After determining the initial bandwidth interval, the scheduling device further collects session resource consumption data of the user in the target session system and uses this data to determine the user's session activity status in the target session system. Based on this session activity status, the initial bandwidth interval is adjusted, resulting in more reasonable and efficient session resource allocation. This embodiment first predicts the predicted bandwidth utilization rate of the session resource request, then allocates an appropriate initial bandwidth interval in advance based on the predicted bandwidth utilization rate. Finally, bandwidth adjustment is performed in real time based on the session activity status. This avoids the uneven distribution of session resources caused by traditional static or predefined rule-based session resource allocation methods, and improves the utilization of session resources by making multi-level real-time adjustments to the session process.

[0095] Based on the above embodiment 1 of this application, the second embodiment of this application is proposed. In the second embodiment of this application, the same or similar contents as those in the above embodiment 1 can be referred to the above introduction and will not be repeated hereafter. Figure 2 , Figure 2 This is a flow chart of the second embodiment of the session resource scheduling method of this application.

[0096] In this example, step S20 further includes steps S21 to S23:

[0097] Step S21: Using the network link utilization as an observation variable, and the current network bandwidth data and the historical traffic data as network congestion state variables, a network congestion prediction model is constructed according to a Kalman filter algorithm.

[0098] It should be noted that the network link utilization rate can be the ratio of the bandwidth actually used by the network link to the total link bandwidth within a certain period of time, which reflects the degree of utilization of network link resources.

[0099] For example, if the total bandwidth of a network link is 100 Mbps and the actual bandwidth used at a certain moment is 50 Mbps, then the network link utilization at that moment is 50%. A high network link utilization may indicate that the network is heavily loaded, while a low network link utilization may indicate that network resources are not fully utilized.

[0100] It is understandable that the network congestion prediction model can be a model built based on the Kalman filter algorithm. This model is based on observed variables and uses network congestion state variables to predict whether the network will be congested in the future and the degree of congestion, which helps scheduling equipment plan resources in advance to avoid the adverse effects of congestion.

[0101] Observable variables are data that can be directly measured or acquired. This embodiment uses network link utilization as an observable variable. Round-trip delay, packet loss rate, and other variables may also be used as observed variables, and this embodiment is not limited thereto. Network congestion state variables are variables related to network congestion conditions. This embodiment uses current network bandwidth data and historical traffic data as state variables to reflect whether the network is approaching or currently congested in various aspects.

[0102] In a feasible implementation, step S21 of this embodiment may include the steps of: constructing an initial prediction model through a Kalman filtering algorithm; defining the current network bandwidth data and the historical traffic data as network congestion state variables, and defining the network link utilization as an observation variable; initializing the network congestion state variable through the initial prediction model to obtain the initial state and uncertainty corresponding to the network congestion state variable; predicting the initial state and uncertainty based on the historical traffic data to obtain a state prediction and an uncertainty prediction; and updating the state prediction and uncertainty prediction in combination with the observation variables to obtain a network congestion prediction model.

[0103] It should be noted that the initial state may be the starting state value obtained when the network congestion state variable is initialized using the initial prediction model, reflecting the congestion-related state of the session network at the initial moment. Uncertainty indicates the degree of uncertainty of the network congestion state variable in the initial state.

[0104] It is understood that state prediction can be an estimate of the future network congestion state obtained by analyzing and calculating the initial state of the network congestion state variable based on historical traffic data. Uncertainty prediction can be an estimate of future uncertainty obtained by analyzing and calculating the initial uncertainty of the network congestion state variable based on historical traffic data.

[0105] Specifically, after collecting current network bandwidth data and historical traffic data, an initial prediction model can be constructed using the Kalman filter algorithm. The current network bandwidth data and historical traffic data can then be defined as network congestion state variables.

[0106] Next, the initial prediction model is initialized, which includes two parts: the initial state estimation, which uses the initial prediction model to initialize the network congestion state variables to obtain the initial state; and the uncertainty estimation. Due to the limited data in the initial stage, this uncertainty may be relatively large, so a relatively large value can be set to represent this initial uncertainty.

[0107] Then, based on the patterns of historical traffic data and an understanding of network state changes, the network congestion state variables at the next moment can be predicted, resulting in a state forecast. This process does not rely on current link utilization observations, but rather on the evolution of previously determined state variables (i.e., current network bandwidth data and historical traffic data). While predicting state variables, the uncertainty may gradually increase as the forecast progresses, and the uncertainty of this state forecast must also be estimated, known as uncertainty forecasting.

[0108] Next, weights can be set based on the state prediction, uncertainty prediction, and the aforementioned observed variables to balance the weight of the predicted results (i.e., the state prediction and uncertainty prediction) with the observed results in the final result. If the prediction uncertainty is large and the observed variables are relatively reliable, the observed variables will have a larger weight in the final result; conversely, if the prediction accuracy is high, the predicted result will have a larger weight. Finally, the set weights can be used to combine the network congestion state variables and the observed variables to obtain an updated network congestion prediction model.

[0109] In this embodiment, by constructing and updating the above-mentioned network congestion prediction model, the accuracy of the entire network congestion prediction model can be improved.

[0110] Step S22: extracting the user's current network performance data according to the session resource request.

[0111] Step S23: inputting the current network performance data into the network congestion prediction model to obtain the predicted bandwidth utilization within a preset time period.

[0112] It should be noted that current network performance data can be indicator information reflecting the user's current network status, reflecting the user's network performance at the current moment. For example, current network performance data may include current network bandwidth, network latency, packet loss rate, etc.

[0113] In the technical solution provided in this embodiment, the scheduling device can first use network link utilization as the observation variable and current network bandwidth data and historical traffic data as network congestion state variables to construct a network congestion prediction model based on the Kalman filter algorithm. It can then extract the user's current network performance data based on the session resource request. Finally, it inputs the current network performance data into the network congestion prediction model to obtain the predicted bandwidth utilization for a preset time period. This network congestion prediction model can thus quickly predict the user's predicted bandwidth utilization.

[0114] Based on the above embodiments of the present application, the third embodiment of the present application is proposed. In the third embodiment of the present application, the same or similar contents as those in the above embodiments can be referred to the above introduction and will not be repeated hereafter. Figure 3 , Figure 3 This is a flow chart of the third embodiment of the session resource scheduling method of this application.

[0115] In this example, step S30 includes steps S31 to S33:

[0116] Step S31: configuring an initial token bucket for the session resource request using a token bucket algorithm.

[0117] It should be noted that the initial token bucket is a container set in its initial state by the token bucket algorithm. A certain number (initial number) of tokens is pre-placed in this container. When packets pass through the network, tokens in the bucket are consumed. Operations such as packet sending or forwarding rates are limited based on the number of tokens in the bucket. The number of tokens in the initial token bucket sets the starting state for flow control.

[0118] Step S32: determining a current token generation rate corresponding to the session resource request according to the predicted bandwidth utilization and the initial token bucket.

[0119] It should be noted that the current token generation rate may refer to the speed at which tokens are generated in the token bucket at the current moment, which determines the replenishment of the number of tokens in the token bucket over time.

[0120] In network traffic control, the token generation rate is linked to predicted bandwidth utilization and the initial token bucket. Determining the appropriate current token generation rate based on the projected bandwidth usage (predicted bandwidth utilization) and the initial token reserve (initial token bucket) ensures that network traffic is effectively controlled while meeting user session resource requests.

[0121] In a feasible implementation, step S32 of this embodiment may include the steps of: determining the initial capacity of the initial token bucket according to a preset session priority; determining a network congestion level interval according to the predicted bandwidth utilization, the network congestion level interval including light congestion, moderate congestion, and heavy congestion, and the network congestion level interval being provided with a corresponding current token generation rate adjustment strategy; and generating a current token generation rate corresponding to the session resource request based on the initial capacity and the network congestion level interval.

[0122] It should be noted that session priority can be used to distinguish the importance or urgency of different user sessions. The setting of session priority can be based on various factors, such as service type (real-time video calls have a higher priority than ordinary file downloads) and user level (premium users have a higher session priority than ordinary users), etc. This embodiment does not impose any restrictions on this.

[0123] It is understood that the initial capacity can be the number of tokens contained in the token bucket when network flow control of the target session system begins. The initial capacity can be set based on session priority. For example, the initial capacity of the token bucket for a high-priority session can be larger to ensure that more bandwidth is available during the initial stages of network congestion.

[0124] It should be understood that the network congestion level range can be a categorized description of the network congestion status. Mild congestion indicates that the network load on the target session system has increased, but overall network performance has been minimally impacted, and the network can still operate normally. Moderate congestion indicates that the network load has significantly impacted network performance, such as a significant decrease in data transmission speed, and the user experience begins to be significantly affected. Severe congestion indicates that the network load has reached an extremely high level, network performance has severely degraded, and may experience large amounts of packet loss, long delays, or even network disconnection.

[0125] For each congestion interval, a corresponding token generation rate adjustment policy can be formulated. For example, in light congestion, the token generation rate for low-priority sessions can be slightly reduced; in heavy congestion, the token generation rate for low-priority sessions can be significantly reduced, or even suspended for some low-priority sessions.

[0126] For example, different congestion thresholds can be set for each network congestion level based on network characteristics and requirements. For example, bandwidth utilization below 30% is defined as idle, 30%-60% as light congestion, 60%-80% as moderate congestion, and above 80% as heavy congestion. This embodiment does not impose any limitations on this.

[0127] After determining the network congestion level range, the token generation rate of each token bucket can be adjusted according to the policy corresponding to the network congestion level range. For example, if the network is moderately congested, the token generation rate for low-priority sessions can be reduced to 50% of the initial rate; for medium-priority sessions, it can be reduced to 80% of the initial rate; and for high-priority sessions, it may be reduced to only 90% of the initial rate.

[0128] In this implementation, the scheduling device first determines the initial capacity of the initial token bucket based on the preset session priority level. The higher the session priority, the larger the initial capacity. It then determines the corresponding network congestion range based on the predicted bandwidth utilization. The current token generation rate of the token bucket is adjusted based on the policy corresponding to the initial capacity and the network congestion range. This allows for differentiated network resource allocation based on session priority and network congestion ranges, ensuring relatively stable bandwidth even in congested conditions.

[0129] Step S33: Based on the current token generation rate and the initial token bucket, bandwidth is allocated to the session resource request to obtain an initial interval bandwidth.

[0130] For example, during bandwidth allocation, tokens may be added to the token bucket corresponding to the session resource request at each time interval (e.g., per second) according to the current token generation rate. For example, if the token generation rate for a session is 5 tokens per second, then 5 tokens will be added to the token bucket for the session every second until the token bucket reaches its maximum capacity. The more tokens obtained, the more data can be sent, which means that more initial interval bandwidth can be obtained. If there are insufficient tokens in the token bucket, the session will either wait for token generation (if waiting is allowed), or discard some data or reduce the sending rate. This implementation does not impose any restrictions on this.

[0131] In the technical solution provided by this embodiment, the scheduling device first configures an initial token bucket for session resource requests using a token bucket algorithm. It then adjusts the current token generation rate of the token bucket based on the session priority, predicted bandwidth utilization, and the initial token bucket. Finally, based on the current token generation rate, tokens are added to the token bucket corresponding to the session resource request at each time interval (e.g., per second), thereby allocating bandwidth and obtaining the initial interval bandwidth. By employing the token bucket algorithm, the network traffic rate can be effectively controlled to prevent network congestion. Furthermore, the token generation rate can be flexibly adjusted to control the bandwidth available to different sessions.

[0132] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the session resource scheduling method of the present application. More simple transformations based on this technical concept are all within the scope of protection of the present application.

[0133] This application also provides a session resource scheduling device, please refer to Figure 4 , Figure 4 This is a schematic diagram of the module structure of the session resource scheduling device according to an embodiment of the present application; the session resource scheduling device includes:

[0134] The data collection module 401 is used to collect the current network bandwidth data and historical traffic data of the target session system upon receiving the user's session resource request;

[0135] The bandwidth prediction module 402 is configured to predict the session resource request based on the current network bandwidth data and the historical traffic data using a Kalman filter algorithm to obtain a predicted bandwidth utilization rate of the user;

[0136] The bandwidth allocation module 403 is configured to allocate bandwidth to the session resource request using a token bucket algorithm according to the predicted bandwidth utilization to obtain an initial interval bandwidth;

[0137] A state determination module 404 is configured to determine a session activity state based on the user's session resource consumption data;

[0138] The bandwidth adjustment module 405 is configured to adjust the bandwidth of the initial interval according to the session activity status to obtain a session resource allocation result.

[0139] As an embodiment, the bandwidth prediction module 402 is further used to use network link utilization as an observation variable, the current network bandwidth data and the historical traffic data as network congestion state variables, and construct a network congestion prediction model based on a Kalman filtering algorithm; extract the user's current network performance data based on the session resource request; and input the current network performance data into the network congestion prediction model to obtain the predicted bandwidth utilization within a preset time period.

[0140] As an implementation method, the bandwidth prediction module 402 is also used to construct an initial prediction model through a Kalman filtering algorithm; define the current network bandwidth data and the historical traffic data as network congestion state variables, and define the network link utilization as an observation variable; initialize the network congestion state variable through the initial prediction model to obtain the initial state and uncertainty corresponding to the network congestion state variable; predict the initial state and uncertainty based on the historical traffic data to obtain a state prediction and an uncertainty prediction; and update the state prediction and uncertainty prediction in combination with the observation variables to obtain a network congestion prediction model.

[0141] As an embodiment, the bandwidth allocation module 403 is further configured to configure an initial token bucket for the session resource request using a token bucket algorithm; determine a current token generation rate corresponding to the session resource request based on the predicted bandwidth utilization and the initial token bucket; and allocate bandwidth to the session resource request based on the current token generation rate and the initial token bucket to obtain an initial interval bandwidth.

[0142] As an embodiment, the bandwidth allocation module 403 is further used to determine the initial capacity of the initial token bucket based on a preset session priority; determine a network congestion level interval based on the predicted bandwidth utilization, the network congestion level interval including light congestion, moderate congestion, and heavy congestion, and the network congestion level interval is provided with a corresponding current token generation rate adjustment strategy; based on the initial capacity and the network congestion level interval, generate a current token generation rate corresponding to the session resource request.

[0143] As an embodiment, the state determination module 404 is further configured to intercept the user's session resource consumption data according to a preset time window, the session resource consumption data including the number of session data packets and the session interaction time; and determine the user's session activity state based on the number of session data packets and the session interaction time using a preset activity determination condition; the preset activity determination condition includes: determining that the user is in a low activity state when the number of session data packets is lower than a preset threshold or the session interaction time is higher than a preset interval; and determining that the user is in a high activity state when the number of session data packets is not lower than the preset threshold and the session interaction time is not higher than a preset interval.

[0144] In one embodiment, the bandwidth adjustment module 405 is further configured to quantify the session activity status into a linear proportional value using a linear proportional algorithm; adjust the initial interval bandwidth according to the linear proportional value to obtain adjusted bandwidth data; and use the adjusted bandwidth data as a session resource allocation result of the session resource request.

[0145] Other embodiments or specific implementations of the session resource scheduling device of the present application can refer to the above-mentioned method embodiments and will not be repeated here.

[0146] The session resource scheduling device provided in this application, utilizing the session resource scheduling method described in the aforementioned embodiments, can address the technical issue of traditional session resource allocation methods lacking adaptability to the real-time state of sessions, resulting in low resource utilization. Compared to the prior art, the session resource scheduling device provided in this application achieves the same beneficial effects as the session resource scheduling method described in the aforementioned embodiments. Other technical features of the session resource scheduling device are the same as those disclosed in the aforementioned embodiments and are not further detailed here.

[0147] The present application provides a session resource scheduling device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the session resource scheduling method in the above-mentioned embodiment 1.

[0148] Reference below Figure 5 , Figure 5 The following is a schematic diagram of the hardware operating environment involved in the session resource scheduling method according to an embodiment of the present application, illustrating a schematic diagram of the structure of a session resource scheduling device suitable for implementing the embodiment of the present application. The session resource scheduling device according to the embodiment of the present application may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 5 The session resource scheduling device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0149] like Figure 5As shown, the session resource scheduling device may include a processing device 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes based on programs stored in a read-only memory 1002 or programs loaded from a storage device 1003 into a random access memory 1004. The random access memory 1004 also stores various programs and data required for the operation of the session resource scheduling device. The processing device 1001, the read-only memory 1002, and the random access memory 1004 are interconnected via a bus 1005. An input / output interface 1006 is also connected to the bus. Typically, the following systems may be connected to the input / output interface 1006: an input device 1007 including, for example, a touch screen, touchpad, keyboard, mouse, image sensor, microphone, accelerometer, gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the session resource scheduling device to communicate with other devices wirelessly or wired to exchange data. Although the figure shows a session resource scheduling device with various systems, it should be understood that it is not required to implement or have all of the systems shown. More or fewer systems can be implemented or have alternatively.

[0150] In particular, according to the embodiments disclosed in the present application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments disclosed in the present application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program comprising program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via a communication device, or installed from a storage device 1003, or installed from a read-only memory 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are performed.

[0151] The session resource scheduling device provided in this application, utilizing the session resource scheduling method described in the aforementioned embodiment, can address the technical issue of traditional session resource allocation methods lacking adaptability to the real-time state of sessions, resulting in low resource utilization. Compared to the prior art, the beneficial effects of the session resource scheduling device provided in this application are the same as those of the session resource scheduling method described in the aforementioned embodiment. Other technical features of this session resource scheduling device are the same as those disclosed in the aforementioned embodiment and are not further elaborated here.

[0152] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0153] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

[0154] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer program) stored thereon, and the computer-readable program instructions are used to execute the session resource scheduling method in the above embodiment.

[0155] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared or semiconductor systems or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.

[0156] The computer-readable storage medium may be included in the session resource scheduling device; or may exist independently without being assembled into the session resource scheduling device.

[0157] The computer-readable storage medium carries one or more programs. When executed by a session resource scheduling device, the one or more programs cause the session resource scheduling device to: upon receiving a session resource request from a user, collect current network bandwidth data and historical traffic data of a target session system; predict the session resource request using a Kalman filter algorithm based on the current network bandwidth data and the historical traffic data to obtain a predicted bandwidth utilization rate for the user; allocate bandwidth to the session resource request using a token bucket algorithm based on the predicted bandwidth utilization rate to obtain an initial interval bandwidth; determine a session activity status based on the user's session resource consumption data; and adjust the initial interval bandwidth based on the session activity status to obtain a session resource allocation result.

[0158] Computer program code for performing the operations of the present application may be written in one or more programming languages, or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0159] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of code, and the module, program segment or part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can be implemented using a dedicated hardware-based system that performs the specified function or operation, or can be implemented using a combination of dedicated hardware and computer instructions.

[0160] The modules described in the embodiments of the present application may be implemented in software or hardware, wherein the name of a module does not necessarily limit the unit itself.

[0161] The computer-readable storage medium provided in this application stores computer-readable program instructions (i.e., a computer program) for executing the above-described session resource scheduling method. This computer-readable storage medium can address the technical issue of traditional session resource allocation methods lacking adaptability to the real-time state of sessions, resulting in low resource utilization. Compared to the prior art, the beneficial effects of the computer-readable storage medium provided in this application are similar to those of the session resource scheduling method provided in the above-described embodiments and are not further elaborated here.

[0162] The above description is only part of the embodiments of the present application and does not limit the patent scope of the present application. All equivalent structural transformations made by using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect application in other related technical fields are included in the patent protection scope of the present application.

Claims

1. A session resource scheduling method, characterized in that: The method comprises: When receiving a user's session resource request, collect the current network bandwidth data and historical traffic data of the target session system; Based on the current network bandwidth data and the historical traffic data, predicting the session resource request using a Kalman filter algorithm to obtain a predicted bandwidth utilization rate of the user; Allocating bandwidth to the session resource request using a token bucket algorithm based on the predicted bandwidth utilization to obtain an initial interval bandwidth; determining a session activity state based on the user's session resource consumption data; The bandwidth of the initial interval is adjusted according to the session activity status to obtain a session resource allocation result.

2. The method according to claim 1, wherein The step of predicting the session resource request based on the current network bandwidth data and the historical traffic data by using a Kalman filter algorithm to obtain the predicted bandwidth utilization of the user includes: Using the network link utilization as the observation variable, the current network bandwidth data and the historical traffic data as the network congestion state variables, and constructing a network congestion prediction model based on the Kalman filter algorithm; extracting the current network performance data of the user according to the session resource request; The current network performance data is input into the network congestion prediction model to obtain the predicted bandwidth utilization within a preset time period.

3. The method according to claim 2, wherein The step of constructing a network congestion prediction model based on a Kalman filter algorithm using the network link utilization as an observation variable and the current network bandwidth data and the historical traffic data as network congestion state variables includes: Construct an initial prediction model through the Kalman filter algorithm; The current network bandwidth data and the historical traffic data are defined as network congestion state variables, and the network link utilization is defined as an observation variable; Initializing the network congestion state variable by using the initial prediction model to obtain an initial state and uncertainty corresponding to the network congestion state variable; Based on the historical traffic data, the initial state and uncertainty are predicted to obtain a state prediction and an uncertainty prediction; The state prediction and uncertainty prediction are updated in combination with the observed variables to obtain a network congestion prediction model.

4. The method according to claim 1, wherein The step of allocating bandwidth to the session resource request using a token bucket algorithm based on the predicted bandwidth utilization to obtain an initial interval bandwidth includes: Configuring an initial token bucket for the session resource request using a token bucket algorithm; Determining a current token generation rate corresponding to the session resource request based on the predicted bandwidth utilization and the initial token bucket; Based on the current token generation rate and the initial token bucket, bandwidth is allocated to the session resource request to obtain an initial interval bandwidth.

5. The method according to claim 4, wherein The step of determining a current token generation rate corresponding to the session resource request based on the predicted bandwidth utilization and the initial token bucket includes: Determining the initial capacity of the initial token bucket according to a preset session priority; Determining a network congestion level interval according to the predicted bandwidth utilization, wherein the network congestion level interval includes light congestion, moderate congestion, and heavy congestion, and the network congestion level interval is provided with a corresponding current token generation rate adjustment strategy; Based on the initial capacity and the network congestion level interval, a current token generation rate corresponding to the session resource request is generated.

6. The method according to any one of claims 1 to 5, characterized in that The step of determining the session activity status according to the user's session resource consumption data includes: intercepting the user's session resource consumption data according to a preset time window, wherein the session resource consumption data includes the number of session data packets and the session interaction time; Determining the user's session activity status based on the number of session data packets and the session interaction time using a preset activity determination condition; The preset activity determination conditions include: when the number of session data packets is lower than a preset threshold or the session interaction time is higher than a preset interval time, the user is determined to be in a low activity state; when the number of session data packets is not lower than the preset threshold and the session interaction time is not higher than the preset interval time, the user is determined to be in a high activity state.

7. The method according to any one of claims 1 to 5, characterized in that The step of adjusting the bandwidth of the initial interval according to the session activity status to obtain a session resource allocation result includes: quantifying the session activity status into a linear proportional value using a linear proportional algorithm; Adjusting the initial interval bandwidth according to the linear proportional value to obtain adjusted bandwidth data; The adjusted bandwidth data is used as a session resource allocation result of the session resource request.

8. A session resource scheduling device, characterized in that: The device comprises: The data collection module is used to collect the current network bandwidth data and historical traffic data of the target session system when receiving the user's session resource request; a bandwidth prediction module, configured to predict the session resource request based on the current network bandwidth data and the historical traffic data using a Kalman filter algorithm to obtain a predicted bandwidth utilization rate of the user; A bandwidth allocation module is configured to allocate bandwidth to the session resource request using a token bucket algorithm according to the predicted bandwidth utilization to obtain an initial interval bandwidth; A status determination module, configured to determine a session activity status based on the user's session resource consumption data; The bandwidth adjustment module is configured to adjust the bandwidth of the initial interval according to the session activity status to obtain a session resource allocation result.

9. A session resource scheduling device, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the session resource scheduling method according to any one of claims 1 to 7.

10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the session resource scheduling method according to any one of claims 1 to 7 are implemented.

Citation Information

Cited By

  • Communication resource allocation method and device, storage medium and electronic device

    CN121792467A

  • Method and device for adaptive adjustment of network bandwidth of set-top box and storage medium

    CN122554669B