Multi-channel wireless network distributed scheduling method, device, equipment, medium and product
By employing a distributed scheduling strategy that combines cross-channel load balancing and weight optimization, the problem of unbalanced channel load in multi-channel wireless networks is solved, achieving efficient resource scheduling and improved network stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANDONG MANAGEMENT UNIV
- Filing Date
- 2026-05-07
- Publication Date
- 2026-06-19
AI Technical Summary
Existing multi-channel wireless network scheduling algorithms struggle to achieve cross-channel load balancing in dynamic networks, leading to overload and low utilization of some channels, which in turn affects network throughput and stability.
A cross-channel load balancing mechanism is introduced. By updating the virtual tuple network in each cycle, the channel binding is dynamically adjusted. Combined with weight calculation and distributed scheduling strategies, the scheduling priority is optimized by comprehensively considering the local queue status and the load of other links in the interference set.
It effectively utilizes all channel capacity resources, avoids channel congestion and idleness, improves network throughput and stability, ensures fairness, and is suitable for dynamic network environments.
Smart Images

Figure CN122248538A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wireless communication, and in particular to a distributed scheduling method, apparatus, device, medium and product for multi-channel wireless networks. Background Technology
[0002] With the rapid development of wireless communication technology, especially the widespread adoption of applications such as wireless sensor networks, the Internet of Things, intelligent transportation, and emergency communications, users have placed higher demands on the transmission capacity, reliability, and latency of wireless networks. Traditional single-interface, single-channel wireless networks, due to spectrum resource limitations and channel contention mechanisms, struggle to meet the ever-increasing demands for high-throughput, low-latency services. Therefore, multi-interface, multi-channel wireless networks have emerged as a crucial technological path to improve network performance.
[0003] Wireless multi-interface multi-channel networks significantly improve network spectrum utilization and overall throughput by deploying multiple wireless interfaces (NICs) on network nodes and allowing nodes to transmit data in parallel on different channels. Figure 1 As shown. However, this network architecture also brings more complex resource scheduling problems. Specifically, resource scheduling involves not only link scheduling in traditional wireless networks, but also multiple dimensions such as channel allocation and interface allocation. How to achieve efficient resource scheduling while ensuring fairness and stability has become one of the core challenges in this field of research. Summary of the Invention
[0004] The purpose of this application is to provide a distributed scheduling method, apparatus, device, medium, and product for multi-channel wireless networks, which can achieve efficient resource scheduling while ensuring fairness and stability.
[0005] To achieve the above objectives, this application provides the following solution: In a first aspect, this application provides a distributed scheduling method for a multi-channel wireless network, comprising: in the current period, updating the virtual tuple network of the previous period using a cross-channel load balancing method to obtain the virtual tuple network of the current period; determining a group of nodes, interfaces and channels in the multi-channel wireless network as a tuple; determining the link between a pair of adjacent tuples as a tuple link; and constructing the virtual tuple network of the initial period based on the tuple and the tuple link.
[0006] The interference set of each tuple link in the current period is obtained based on the virtual tuple network of the current period.
[0007] Within the current period and in the current communication time slot, for any tuple link, obtain the weight parameters corresponding to the tuple link. The weight parameters corresponding to the tuple link include: the queue length of the tuple link in the current communication time slot, the queue length of each tuple link in the interference set of the tuple link in the current period in the current communication time slot, the transmission capacity of the tuple link operating on the target channel, the queue length of each tuple link in the target link set corresponding to the target channel in the current communication time slot, and the transmission capacity of each tuple link in the target link set corresponding to the target channel operating on the target channel. The target link set corresponding to the target channel includes all tuple links operating on the target channel. The target channel is the channel in which the tuple link operates.
[0008] The weight of the tuple link in the current communication time slot is calculated based on the weight parameters corresponding to the tuple link.
[0009] A distributed scheduling strategy is implemented based on the weight of each tuple link in the current communication time slot, and then the system moves to the next time slot within the current cycle until the current cycle ends and the next cycle begins.
[0010] Secondly, this application provides a distributed scheduling device for a multi-channel wireless network, comprising: a cross-channel load balancing module, used to update the virtual tuple network of the previous period using a cross-channel load balancing method in the current period to obtain the virtual tuple network of the current period; to obtain the interference set of each tuple link in the current period based on the virtual tuple network of the current period; to determine a group of nodes, interfaces and channels in the multi-channel wireless network as a tuple; to determine the link between a pair of adjacent tuples as a tuple link; and to construct the virtual tuple network of the initial period based on the tuple and the tuple link.
[0011] The weight parameter acquisition module is used to acquire the weight parameters corresponding to any tuple link in the current communication time slot within the current period. The weight parameters corresponding to the tuple link include: the queue length of the tuple link in the current communication time slot, the queue length of each tuple link in the interference set of the tuple link in the current period in the current communication time slot, the transmission capacity of the tuple link operating on the target channel, the queue length of each tuple link in the target link set corresponding to the target channel in the current communication time slot, and the transmission capacity of each tuple link in the target link set corresponding to the target channel operating on the target channel. The target link set corresponding to the target channel includes all tuple links operating on the target channel. The target channel is the channel in which the tuple link operates.
[0012] The weight calculation module is used to calculate the weight of the tuple link in the current communication time slot based on the weight parameters corresponding to the tuple link.
[0013] The distributed scheduling module is used to perform a distributed scheduling strategy based on the weight of each tuple link in the current communication time slot, and then move to the next time slot in the current cycle until the current cycle ends and the next cycle begins.
[0014] Thirdly, this application provides a computer device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the multi-channel wireless network distributed scheduling method described above.
[0015] Fourthly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the aforementioned distributed scheduling method for multi-channel wireless networks.
[0016] Fifthly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the aforementioned distributed scheduling method for multi-channel wireless networks.
[0017] According to the specific embodiments provided in this application, this application has the following technical effects: This application provides a distributed scheduling method, apparatus, device, medium, and product for multi-channel wireless networks. Among existing multi-channel packet scheduling strategies, tuple-based scheduling methods based on node-interface-channel have received widespread attention. These methods decompose the real nodes, interfaces, and channel resources in the network into multiple combinations of "node-interface-channel," thereby constructing a virtual tuple-based single-interface single-channel network model, thus simplifying the complexity of the scheduling problem. Figure 2As shown. The most representative scheduling strategy using this type of method is the Tuple-Based Maximal Scheduler (TBMS). This algorithm guarantees reliable throughput and supports distributed implementation by scheduling resources in a virtual tuple network. However, although TBMS has good performance in theory, it still has significant shortcomings in practical applications. First, the algorithm mainly focuses on local queue state and channel capacity in scheduling decisions, failing to fully consider the load balancing problem between different channels. Since the transmission capacity and link load of different channels vary, if the scheduling strategy cannot dynamically adapt to changes in channel load, it can easily lead to some channels being overloaded while other channels are underutilized, thus restricting the improvement of the overall system throughput. Second, existing multi-channel network scheduling algorithms often rely only on queue length or local interference information in weight design, lacking consideration of cross-channel state. In practical application scenarios, the transmission opportunity of a link is not only affected by its own queue state, but also closely related to the overall load of the channel. Ignoring channel load factors may lead to links on high-load channels not getting scheduling opportunities for a long time, resulting in queue congestion and increased transmission latency. Furthermore, most existing scheduling mechanisms assume that channel allocation is static or semi-static, making it difficult to adapt to dynamic changes in network load. In highly dynamic networks (such as Ad Hoc or emergency communication networks), uneven channel load can further exacerbate interference, reduce scheduling efficiency, and affect network scalability and stability. Therefore, although some research progress has been made in the field of multi-channel network scheduling, there is still a lack of an efficient scheduling method that can achieve cross-channel load balancing and dynamic optimization of scheduling priorities in a distributed environment. This application introduces a cross-channel load balancing mechanism to effectively utilize the capacity resources of all channels, avoid channel congestion and idleness, improve the overall throughput and scheduling efficiency of wireless multi-interface multi-channel networks, achieve efficient resource scheduling, and ensure stability. The weight calculation comprehensively considers the local queue status and the situation of other links within the interference set to ensure fairness. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 This is a schematic diagram of multi-channel data transmission.
[0020] Figure 2 This is a schematic diagram of a tuple-based virtual network.
[0021] Figure 3 This is a schematic diagram of time slot division.
[0022] Figure 4 This is a flowchart illustrating a distributed scheduling method for a multi-channel wireless network provided in an embodiment of this application.
[0023] Figure 5 This is a schematic diagram of the functional modules of a multi-channel wireless network distributed scheduling device provided in an embodiment of this application.
[0024] Figure 6 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0025] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0026] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0027] In one exemplary embodiment, such as Figure 4 As shown, a distributed scheduling method for a multi-channel wireless network is provided, including: Step 201: In the current cycle, the virtual tuple network of the previous cycle is updated using a cross-channel load balancing method to obtain the virtual tuple network of the current cycle; a group of nodes, interfaces, and channels in a multi-channel wireless network is defined as a tuple; the link between a pair of adjacent tuples is defined as a tuple link, and the virtual tuple network of the initial cycle is constructed based on the tuples and tuple links. This application introduces a cross-channel load balancing mechanism to update the virtual tuple network at the beginning of each cycle, dynamically adjusting the channel binding of tuple links, thereby achieving balanced utilization of channel resources and improving overall network throughput and stability.
[0028] Step 202: Obtain the interference set of each tuple link in the current period based on the virtual tuple network of the current period.
[0029] Step 203: In the current communication time slot within the current period, for any tuple link, obtain the weight parameters corresponding to the tuple link. The weight parameters corresponding to the tuple link include: the queue length of the tuple link in the current communication time slot, the queue length of each tuple link in the interference set of the tuple link in the current period in the current communication time slot, the transmission capacity of the tuple link operating on the target channel, the queue length of each tuple link in the target link set corresponding to the target channel in the current communication time slot, and the transmission capacity of each tuple link in the target link set corresponding to the target channel operating on the target channel. The target link set corresponding to the target channel includes all tuple links operating on the target channel. The target channel is the channel in which the tuple link operates.
[0030] Step 204: Calculate the weight of the tuple link in the current communication time slot based on the weight parameters corresponding to the tuple link.
[0031] Step 205: Implement a distributed scheduling strategy based on the weight of each tuple link in the current communication time slot, and then proceed to the next time slot within the current cycle until the current cycle ends and the next cycle begins.
[0032] In practical applications, the initial period of the virtual tuple network is constructed as follows: Consider a multi-hop, multi-channel wireless network where each node is equipped with multiple wireless interfaces and can communicate simultaneously on multiple channels through different interfaces. To achieve resource scheduling, each physical node, channel, and interface is mapped to a tuple. Thus, the node... n ∈ N It can be mapped to M n × C tuples, of which M n For nodes n The number of wireless interfaces, C This represents the number of available channels. The link between two tuples is further mapped to a tuple link, such as... Figure 2 As shown. Therefore, a virtual network can be constructed. G p =( V p , L p ),in V p For a set of tuples, L p It is a set of tuple links.
[0033] In practical applications, each communication time slot is divided into two parts on the timeline: a scheduling time slot and a data transmission time slot. The scheduling time slot is used for distributed negotiation and scheduling decisions, and is further divided into multiple mini-time slots. The data transmission time slot is used to transmit data packets. The specific time slot division is as follows: Figure 3 As shown, this processing method ensures low overhead and high timeliness in the scheduling process.
[0034] In another exemplary embodiment of this application, the weight of the tuple link in the current communication time slot is calculated based on the weight parameter corresponding to the tuple link, specifically as follows: The average capacity utilization rate of the target channel in the current communication time slot is calculated based on the queue length of each tuple link in the target link set corresponding to the target channel in the current communication time slot and the transmission capacity of each tuple link in the target link set corresponding to the target channel operating on the target channel.
[0035] The weight of the tuple link in the current communication time slot is calculated based on the average capacity utilization of the target channel in the current communication time slot, the queue length of the tuple link in the current communication time slot, the queue length of each tuple link in the interference set of the tuple link in the current communication time slot, and the transmission capacity of the tuple link operating on the target channel.
[0036] In another exemplary embodiment of this application, the weight of the tuple link in the current communication time slot is calculated based on the average capacity utilization of the target channel in the current communication time slot, the queue length of the tuple link in the current communication time slot, the queue length of each tuple link in the interference set of the tuple link in the current communication time slot, and the transmission capacity of the tuple link operating on the target channel. Specifically: According to the formula (1) Calculate, where, This represents the weight of tuple link l in the current communication time slot t. Indicates the target channel At the current average capacity utilization rate of communication time slot t, This represents the queue length of tuple link l in the current communication time slot t. This represents the interference set of tuple link l. express Middle tuple link The queue length in the current communication time slot t, This indicates that tuple link l is operating in the target channel. On the transmission capacity, It is a constant greater than 0 to prevent the denominator from being 0.
[0037] In another exemplary embodiment of this application, the average capacity utilization rate of the target channel in the current communication time slot is calculated based on the queue length of each tuple link in the target link set corresponding to the target channel in the current communication time slot and the transmission capacity of each tuple link in the target link set corresponding to the target channel operating on the target channel. Specifically: According to the formula (2) Calculate, where, Indicates the target channel At the current average capacity utilization rate of communication time slot t, Indicates the target channel The corresponding set of target links includes those operating in the target channel. The set of all tuple links on the , where | represents taking the absolute value. express Middle tuple link The queue length in the current communication time slot t, express Middle tuple link Operating in the target channel Transmission capacity on tuple links l ∈ L p .
[0038] In another exemplary embodiment of this application, a distributed scheduling strategy is performed based on the weight of each tuple link in the current communication time slot. Specifically, the scheduling probability of each tuple link in the current communication time slot is calculated based on the weight of each tuple link in the current communication time slot.
[0039] The tuple links that participate in scheduling contention are determined based on the scheduling probability of each tuple link in the current communication time slot.
[0040] The backoff time of each tuple link participating in the scheduling contention is calculated in the current communication time slot based on the weight of each tuple link in the current communication time slot.
[0041] The scheduling tuple link is determined based on the backoff time of each tuple link participating in the scheduling competition in the current communication time slot.
[0042] Scheduling is completed based on the scheduling tuple link.
[0043] Each tuple link is based on its weight. In practical applications, the scheduling probability of each tuple link in the current communication time slot is calculated based on its weight in the current communication time slot. Specifically: According to the formula (3) Calculate the scheduling probability of the tuple link in the current communication time slot.
[0044] In practical applications, the distributed scheduling strategy provided in this application includes: scheduling probability calculation, random backoff mechanism, conflict avoidance mechanism (using interference set to constrain and ensure that the scheduling result is conflict-free; when a link is about to send data, it will detect whether there are other links sending data within its interference set. If so, the link will remain silent (not send) in this time slot; if not, the link will send data), and transmission execution mechanism (the tuple link that has obtained scheduling authority completes data transmission in the transmission time slot).
[0045] The cross-channel load balancing method in this application is periodically (e.g., every...). T Channel load assessment and adjustment are performed (in time slots) to minimize load differences between channels and achieve global load balancing. Load assessment and adjustment includes: calculating the average queue load for each channel; and dynamically adjusting the channel binding of some tuple links. In another exemplary embodiment of this application, a cross-channel load balancing method is used to update the virtual tuple network of the previous period to obtain the virtual tuple network of the current period. Specifically, this includes: for any channel, calculating the average load of the channel based on the queue length of each tuple link operating on the channel in the initial communication time slot of the current period.
[0046] The tuple links to be adjusted are determined based on the average load of each channel, the queue length of each tuple link in the initial communication slot of the current cycle, and the virtual tuple network of the previous cycle.
[0047] The target channel for each tuple link to be adjusted is determined based on the average load of each channel and the virtual tuple network of the previous cycle.
[0048] The virtual tuple network of the previous period is updated based on the target channel of each tuple link to be adjusted, so as to obtain the virtual tuple network of the current period.
[0049] This application discloses a distributed scheduling method for multi-channel wireless networks, specifically a cross-channel load balancing-based distributed scheduling method for multi-channel wireless networks (CLB-TBMS). By introducing a dynamic weighting mechanism (steps 203 and 204) and a channel load awareness strategy (step 201), it improves network throughput, fairness, and stability while maintaining low computational complexity. Specifically, it relates to packet control and scheduling methods in multi-interface, multi-channel wireless networks, particularly a link-layer scheduling strategy with low complexity and high throughput suitable for distributed wireless networks. This technology can be widely applied in scenarios such as wireless sensor networks (WSN), ad hoc networks, the Internet of Things (IoT), and emergency communications, and has high engineering application value.
[0050] This application also provides a specific embodiment to illustrate the above method in detail, specifically including: Step 1: Network initialization.
[0051] Multi-channel wireless network topology is represented as N represents a node in a multi-channel wireless network, and E represents an edge in a multi-channel wireless network; multi-channel wireless network node n The number of wireless interfaces is M n The number of available channels is C. For each node... n ∈ N ,generate M n × C Each tuple is used to construct a tuple link set based on the physical link and interference relationship. L p With interference set Thus, the virtual tuple network formed after tuple mapping is represented as follows: G p =( V p , L p ), V p This represents a set of tuples.
[0052] Step 2: Weight calculation (executed per time slot).
[0053] Each tuple link l performs the following operation in time slot t: 2.1: Get the queue length .
[0054] 2.2: Listen to the queue status of other links within the interference set.
[0055] 2.3: Calculate the average channel capacity utilization rate according to formula (2). .
[0056] 2.4: Calculate the weights according to formula (1) .
[0057] Step 3: Distributed Scheduling (Executed Per Time Slot). This step, based on the existing TBMS algorithm's distributed scheduling framework, adopts the weights proposed in this application. This serves as the basis for scheduling priority. Specific improvements are reflected in the calculation of scheduling probability and backoff time, enabling scheduling decisions to reflect the cross-channel load balancing status.
[0058] 1) Calculate the scheduling probability according to formula (3), with each tuple link having a probability of Participate in scheduling competition.
[0059] 2) If a tuple link decides to participate in this scheduling contention, a random backoff time is generated. The calculation formula is: .
[0060] in For the maximum backoff window (e.g., 1024 mini slots); This represents the duration of a mini-slot. It is evident that the backoff time is inversely proportional to the weight; a higher weight results in a shorter backoff time, thus achieving a higher scheduling priority.
[0061] 3) Conflict avoidance and scheduling execution.
[0062] During the backoff period, each link continuously monitors the target channel and the interference set. If it detects that another link in the interference set is transmitting or has already acquired scheduling rights before the backoff ends, it cancels the scheduling contention (to avoid collision). After the backoff ends, if the target channel is idle and there are no transmitting links in the interference set, the link initiates a scheduling request and transmits data in the subsequent data transmission slot. If multiple links initiate requests simultaneously, causing a collision (through collision detection on the control channel), all conflicting links will re-compete for scheduling in the next slot.
[0063] Step 4: Load balancing (executed once every T time slot).
[0064] To achieve cross-channel load balancing, the system every T Each time slot performs a channel load assessment and tuple link channel binding adjustment, with the following specific steps: 1) Channel load statistics.
[0065] Each node locally collects queue load information for its respective channel. For each channel... c Its average load is defined as: (4).
[0066] in L c Indicates operation in channel c The set of all tuple links on the [aspect].
[0067] 2) Load status exchange.
[0068] Nodes exchange load status information of each channel via control channels or predetermined signaling time slots. V c This allows for the creation of a local or global load view. The process can be implemented in a distributed manner via flooding or gossip protocols, with manageable overhead.
[0069] 3) Identify channels with unbalanced loads.
[0070] Let the average load of the entire network be: (5).
[0071] If a certain channel c satisfy It is then marked as a "high-load channel" and satisfies the following conditions. If it is, then it is marked as a "low load channel", where , These are configurable parameters.
[0072] 4) Select the link of the tuple to be adjusted and determine the next target channel.
[0073] 4.1) Selection of Tuple Links to be Adjusted: Select several tuple links from the links operating in high-load channels as links to be adjusted. The selection criteria include (but are not limited to): the queue length of the tuple link is relatively large; there is at least one available channel at both ends of the tuple link (i.e., there are other channels with available interfaces besides the current channel); the interference impact on the current target channel (the channel currently operating of the link to be adjusted) after migration is small (this can be judged by estimating the change in the interference set).
[0074] 4.2) Determining the next target channel: For each tuple link to be adjusted, perform the following steps: 4.2.1: Collect all available channels (i.e., the entire network channel set) or candidate channels filtered based on load (such as channels with load below a threshold).
[0075] 4.2.2: For each candidate channel (available channel) c’ Check the nodes at both ends of the link of the tuple to be adjusted in the channel. c’ Does the node have a usable wireless interface (i.e., at least one free interface, or an interface already bound to another tuple link that can be reassigned to)? c’ ).
[0076] 4.2.3: Among all candidate channels (available channels) that meet the interface availability conditions, select the channel with the lowest current average load as the next target channel for the tuple link to be adjusted.
[0077] 4.2.4: If multiple candidate channels (available channels) have similar loads, the channel that will improve the load of the original channel the most after migration or cause the least increase in interference to the new channel can be selected.
[0078] The above decisions can be made based on local node information (such as locally maintained channel load tables and neighbor interface status), or consistency can be enhanced through lightweight negotiation between nodes (such as request-acknowledgement mechanisms).
[0079] 5) Perform channel switching. Follow the procedure below to complete the channel binding update.
[0080] 5.1: The source node of the tuple link to be adjusted sends a channel switching request to the target node; (the source node is the physical node that sends the data packet, and the target node is the physical node that receives the data packet).
[0081] 5.2: The target node confirms the interface status and replies with confirmation.
[0082] 5.3: Both parties shall synchronously switch to the new channel before the start of the next scheduling cycle.
[0083] 5.4: Update the local tuple network structure (virtual tuple network) and interference set information. After the update is complete, proceed to steps 2 and 3 based on the updated information.
[0084] To demonstrate the queue stability of the CLB-TBMS algorithm proposed in this application, this application also provides an embodiment analyzed using Lyapunov drift theory.
[0085] Define the system state vector as follows: (6).
[0086] Using Lyapunov functions: (7).
[0087] Theorem 1: Under the CLB-TBMS algorithm, for any arrival rate vector that satisfies the following conditions... The system queue is stable. Represents tuple links l Packet arrival rate: (8).
[0088] in , It is a positive constant that satisfies , Indicates to make The largest l , Represents tuple links k The interference set.
[0089] Proof of Theorem 1: Calculate Lyapunov drift: (9).
[0090] in, Let E[ ] represent the Lyapunov function value for time slot t+1. Let E[ ] represent the mathematical expectation.
[0091] The queue evolution equation is: (10).
[0092] in, Represents tuple linksl In the time slot t The number of arriving data packets, Represents tuple links l In the time slot t The number of data packets sent. Using the inequality... We can obtain: (11).
[0093] Substituting into the Lyapunov function, we have: (12).
[0094] Generally, the arrival and sending of data packets are bounded, meaning there exists a constant. B , making (13).
[0095] Therefore, we have: (14).
[0096] Under the CLB-TBMS algorithm, it is easy to see that: (15).
[0097] Substituting into the weight formula (1) and using load balancing, we get: (16).
[0098] in This is the global average of the average capacity utilization of each channel.
[0099] Further derivation: (17).
[0100] Using the Cauchy-Schwarz inequality, we have: (18).
[0101] therefore: (19).
[0102] When the sum of the system queue lengths When it is large enough, as long as it satisfies (20).
[0103] Therefore, the Lyapunov drift is negative, the system queue is stable, and the proof is complete.
[0104] Under the existing TBMS algorithm, due to the lack of a load balancing mechanism, some channels may remain overloaded, which will cause... A value close to or even greater than 1 can cause the system to become unstable at low arrival rates. The CLB-TBMS algorithm uses a load balancing mechanism to reduce this. Make This allows the system to maintain stability while supporting higher arrival rates under the same network topology and interference conditions. Therefore, the CLB-TBMS algorithm can guarantee a larger capacity area than the TBMS algorithm.
[0105] Compared with the existing TBMS algorithm, the CLB-TBMS algorithm performs better in the following aspects, as shown in Table 1.
[0106] Table 1 Performance Comparison between TBMS and CLB-TBMS
[0107] This application has the following significant advantages over the prior art.
[0108] 1. Higher system throughput: Through cross-channel load balancing, the capacity resources of all channels are effectively utilized, avoiding channel congestion and idleness.
[0109] 2. Better fairness: The weight calculation takes into account both the local queue status and the load of other links in the interference set.
[0110] 3. Enhanced stability: Theoretical proof shows that this application enables the network system to maintain queue stability even under high load.
[0111] 4. Low complexity and distributed execution: No central controller is required; each node relies on local information to make scheduling decisions, making it suitable for large-scale self-organizing networks.
[0112] Based on the same inventive concept, this application also provides a multi-channel wireless network distributed scheduling apparatus for implementing the multi-channel wireless network distributed scheduling method described above. The solution provided by this apparatus is similar to the implementation scheme described in the above method; therefore, the specific limitations in one or more embodiments of the multi-channel wireless network distributed scheduling apparatus provided below can be found in the limitations of the multi-channel wireless network distributed scheduling method described above, and will not be repeated here.
[0113] In one exemplary embodiment, such as Figure 5 As shown, a distributed scheduling device for a multi-channel wireless network is provided, comprising: a cross-channel load balancing module, used to update the virtual tuple network of the previous period using a cross-channel load balancing method in the current period to obtain the virtual tuple network of the current period; to obtain the interference set of each tuple link in the current period based on the virtual tuple network of the current period; to determine a group of nodes, interfaces and channels in the multi-channel wireless network as a tuple; to determine the link between a pair of adjacent tuples as a tuple link; and to construct the virtual tuple network of the initial period based on the tuple and the tuple link.
[0114] The weight parameter acquisition module is used to acquire the weight parameters corresponding to any tuple link in the current communication time slot within the current period. The weight parameters corresponding to the tuple link include: the queue length of the tuple link in the current communication time slot, the queue length of each tuple link in the interference set of the tuple link in the current period in the current communication time slot, the transmission capacity of the tuple link operating on the target channel, the queue length of each tuple link in the target link set corresponding to the target channel in the current communication time slot, and the transmission capacity of each tuple link in the target link set corresponding to the target channel operating on the target channel. The target link set corresponding to the target channel includes all tuple links operating on the target channel. The target channel is the channel in which the tuple link operates.
[0115] The weight calculation module is used to calculate the weight of the tuple link in the current communication time slot based on the weight parameters corresponding to the tuple link.
[0116] The distributed scheduling module is used to perform a distributed scheduling strategy based on the weight of each tuple link in the current communication time slot, and then move to the next time slot in the current cycle until the current cycle ends and the next cycle begins.
[0117] In one exemplary embodiment, a computer device is provided, which may be a server or a terminal, and its internal structure diagram may be as follows. Figure 6 As shown, the computer device includes a processor, memory, input / output interfaces (I / O), and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores distributed scheduling data for multi-channel wireless networks. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it implements a distributed scheduling method for multi-channel wireless networks.
[0118] Those skilled in the art will understand that Figure 6 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0119] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the above-described method embodiments.
[0120] In one exemplary embodiment, a computer-readable storage medium is provided storing a computer program that, when executed by a processor, implements the above-described method embodiments.
[0121] In one exemplary embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the above-described method embodiments.
[0122] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0123] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM).
[0124] The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, etc., and are not limited to these.
[0125] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0126] This document uses specific examples to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A method for distributed scheduling in a multi-channel wireless network, characterized in that, The multi-channel wireless network distributed scheduling method includes: In the current period, the virtual tuple network of the previous period is updated using the cross-channel load balancing method to obtain the virtual tuple network of the current period; a group of nodes, interfaces and channels in the multi-channel wireless network are identified as a tuple; the link between a pair of adjacent tuples is identified as a tuple link, and the virtual tuple network of the initial period is constructed based on the tuples and tuple links. The interference set of each tuple link in the current period is obtained based on the virtual tuple network of the current period; Within the current period and in the current communication time slot, for any tuple link, obtain the weight parameters corresponding to the tuple link. The weight parameters corresponding to the tuple link include: the queue length of the tuple link in the current communication time slot, the queue length of each tuple link in the interference set of the tuple link in the current period in the current communication time slot, the transmission capacity of the tuple link operating on the target channel, the queue length of each tuple link in the target link set corresponding to the target channel in the current communication time slot, and the transmission capacity of each tuple link in the target link set corresponding to the target channel operating on the target channel. The target link set corresponding to the target channel includes all tuple links operating on the target channel. The target channel is the channel on which the tuple link operates. The weight of the tuple link in the current communication time slot is calculated based on the weight parameters corresponding to the tuple link. A distributed scheduling strategy is implemented based on the weight of each tuple link in the current communication time slot, and then the system moves to the next time slot within the current cycle until the current cycle ends and the next cycle begins.
2. The method of claim 1, wherein, The weight of the tuple link in the current communication time slot is calculated based on the weight parameters corresponding to the tuple link, specifically as follows: The average capacity utilization of the target channel in the current communication time slot is calculated based on the queue length of each tuple link in the target link set corresponding to the target channel in the current communication time slot and the transmission capacity of each tuple link in the target link set corresponding to the target channel operating on the target channel. The weight of the tuple link in the current communication time slot is calculated based on the average capacity utilization of the target channel in the current communication time slot, the queue length of the tuple link in the current communication time slot, the queue length of each tuple link in the interference set of the tuple link in the current communication time slot, and the transmission capacity of the tuple link operating on the target channel.
3. The method of claim 1, wherein, The virtual tuple network of the previous period is updated using a cross-channel load balancing method to obtain the virtual tuple network of the current period, specifically including: For any given channel, calculate the average load of the channel based on the queue length of the initial communication slot of each tuple link operating on the channel in the current period; The tuple links to be adjusted are determined based on the average load of each channel, the queue length of each tuple link in the initial communication slot of the current period, and the virtual tuple network of the previous period. The target channel for each tuple link to be adjusted is determined based on the average load of each channel and the virtual tuple network of the previous cycle. The virtual tuple network of the previous period is updated based on the target channel of each tuple link to be adjusted, so as to obtain the virtual tuple network of the current period.
4. The method of claim 2, wherein, The average capacity utilization of the target channel in the current communication time slot is calculated based on the queue length of each tuple link in the target link set corresponding to the target channel in the current communication time slot and the transmission capacity of each tuple link in the target link set corresponding to the target channel operating on the target channel. Specifically: According to the formula is calculated, where, denotes the target channel the average capacity utilization at the current communication slot t, denotes the target channel the corresponding target link set, || denotes taking the absolute value, denotes the meta-tuple link the queue length at the current communication slot t, denotes the meta-tuple link the transmission capacity working on the target channel .
5. The distributed scheduling method for multi-channel wireless networks according to claim 2, characterized in that, The weight of the tuple link in the current communication time slot is calculated based on the average capacity utilization of the target channel in the current communication time slot, the queue length of the tuple link in the current communication time slot, the queue length of each tuple link in the interference set of the tuple link in the current communication time slot, and the transmission capacity of the tuple link operating on the target channel. Specifically: According to the formula Calculate, where, This represents the weight of tuple link l in the current communication time slot t. Indicates the target channel At the current average capacity utilization rate of communication time slot t, This represents the queue length of tuple link l in the current communication time slot t. This represents the interference set of tuple link l. express Middle tuple link The queue length in the current communication time slot t, This indicates that tuple link l is operating in the target channel. On the transmission capacity, It is a constant greater than 0.
6. The distributed scheduling method for multi-channel wireless networks according to claim 1, characterized in that, A distributed scheduling strategy is implemented based on the weight of each tuple link in the current communication time slot, specifically as follows: The scheduling probability of each tuple link in the current communication time slot is calculated based on the weight of each tuple link in the current communication time slot. The tuple links participating in scheduling contention are determined based on the scheduling probability of each tuple link in the current communication time slot. The backoff time of each tuple link participating in the scheduling contention is calculated in the current communication time slot based on the weight of each tuple link in the current communication time slot. The scheduling tuple link is determined based on the backoff time of each tuple link participating in the scheduling competition in the current communication time slot; Scheduling is completed based on the scheduling tuple link.
7. A distributed scheduling device for a multi-channel wireless network, characterized in that, The multi-channel wireless network distributed scheduling device includes: The cross-channel load balancing module is used to update the virtual tuple network of the previous period using the cross-channel load balancing method in the current period to obtain the virtual tuple network of the current period; obtain the interference set of each tuple link in the current period based on the virtual tuple network of the current period; determine a group of nodes, interfaces and channels in the multi-channel wireless network as a tuple; determine the link between a pair of adjacent tuples as a tuple link; and construct the virtual tuple network of the initial period based on the tuples and tuple links. The weight parameter acquisition module is used to acquire the weight parameters corresponding to any tuple link in the current communication time slot within the current period. The weight parameters corresponding to the tuple link include: the queue length of the tuple link in the current communication time slot; the queue length of each tuple link in the interference set of the tuple link in the current period in the current communication time slot; the transmission capacity of the tuple link operating on the target channel; the queue length of each tuple link in the target link set corresponding to the target channel in the current communication time slot; and the transmission capacity of each tuple link in the target link set corresponding to the target channel operating on the target channel. The target link set corresponding to the target channel includes all tuple links operating on the target channel; the target channel is the channel through which the tuple link operates. The weight calculation module is used to calculate the weight of the tuple link in the current communication time slot based on the weight parameters corresponding to the tuple link; The distributed scheduling module is used to perform a distributed scheduling strategy based on the weight of each tuple link in the current communication time slot, and then move to the next time slot in the current cycle until the current cycle ends and the next cycle begins.
8. A computer device, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor executes the computer program to implement the distributed scheduling method for a multi-channel wireless network according to any one of claims 1-6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the distributed scheduling method for multi-channel wireless networks as described in any one of claims 1-6.
10. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the distributed scheduling method for multi-channel wireless networks as described in any one of claims 1-6.