Communication duration allocation method and device, computer equipment and storage medium

By introducing a priority-based dynamic backoff mechanism and a channel eavesdropping mechanism into the power line broadband carrier communication network, the latency problem caused by the centralized beacon mechanism is solved, and efficient and stable second-level control service transmission is achieved.

CN121924092APending Publication Date: 2026-04-24ELECTRIC POWER RES INST CHINA SOUTHERN POWER GRID CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ELECTRIC POWER RES INST CHINA SOUTHERN POWER GRID CO LTD
Filing Date
2026-03-25
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

In traditional power line broadband carrier communication networks, the centralized beacon mechanism causes control commands with high real-time requirements to be delayed by more than 1 second, which cannot meet the second-level control requirements of new power systems.

Method used

A priority-based dynamic backoff mechanism is introduced. By dynamically adjusting the priority waiting time and the basic waiting time, high-priority services are sent quickly, and ongoing communications are given priority when the channel is busy. Combined with channel sniffing and timer pause mechanisms, channel access is optimized.

Benefits of technology

It achieves low-latency transmission of high-priority services, adapts to changes in network load, avoids congestion and crashes, and improves the transmission efficiency and stability of power line broadband carrier communication in second-level control scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121924092A_ABST
    Figure CN121924092A_ABST
Patent Text Reader

Abstract

The invention relates to a communication duration allocation method and device, computer equipment and a storage medium. The method comprises the following steps: acquiring to-be-sent data to be sent to a data receiving end; for each iteration round, determining a target waiting time length of the to-be-sent data according to a preset priority and a basic waiting time length of the to-be-sent data; sending the to-be-sent data to the data receiving end according to the target waiting duration; when the receiving message fed back by the data receiving end is still not received after the preset duration is reached, increasing the basic waiting duration, and returning to the step of determining the target waiting duration; and determining that the to-be-sent data is successfully sent to the data receiving end under the condition that the receiving message fed back by the data receiving end is received within the preset duration. By adopting the method, the real-time sending of the high-priority service message can be ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a communication duration allocation method, apparatus, computer equipment, and storage medium. Background Technology

[0002] Power line broadband carrier communication technology is a primary technical means for low-voltage power distribution communication in power grid companies, and it is widely used for information collection in devices such as smart meters, smart switches, smart circuit breakers, and various sensors. In the context of new power systems, control operations such as photovoltaic regulation have very high real-time requirements, requiring command issuance to be completed within one second.

[0003] In traditional power line broadband carrier communication networks, a centralized beacon mechanism is typically used. The Central Coordinator (CCO) in the network periodically issues beacon frames. These frames contain planning information for time slots in the next beacon cycle, such as non-contention beacon slots, contention-based slots (CSMA slots), and non-contention-based slots (TDMA slots). All stations (STAs) within the network must strictly adhere to the time slots allocated by the CCO for channel access.

[0004] However, traditional centralized beacon mechanisms have drawbacks. Within each beacon cycle, a continuous and relatively long non-contention time slot must be reserved in advance for the CCO and agent sites to send beacons. As the network scales up, this beacon time slot can become very long, sometimes exceeding one second. This means that if the CCO is preparing to issue a control command with high real-time requirements and happens to fall within a beacon time slot, the command must wait until the current beacon time slot ends before it can be sent in a subsequently allocated time slot. This results in a delay of more than one second in command issuance, failing to meet the second-level or even higher real-time requirements of control services in modern power systems. Summary of the Invention

[0005] Therefore, it is necessary to provide a communication duration allocation method, apparatus, computer equipment, and storage medium that can guarantee the real-time transmission of high-priority service messages, addressing the aforementioned technical problems.

[0006] Firstly, this application provides a method for allocating communication duration, including:

[0007] Obtain the data to be sent to the data receiver;

[0008] For each iteration, the target waiting time for the data to be sent is determined based on the preset priority and basic waiting time of the data to be sent.

[0009] According to the target waiting time, the data to be sent is sent to the data receiving end;

[0010] If no received message is received from the data receiver after the preset time has elapsed, the base waiting time is increased, and the process returns to the step of determining the target waiting time.

[0011] If a received message is received from the data receiving end within the preset time period, it is determined that the data to be sent has been successfully sent to the data receiving end.

[0012] In one embodiment, the target waiting time for the data to be sent is determined based on the preset priority and basic waiting time of the data to be sent, including:

[0013] Determine the priority waiting time that matches the preset priority;

[0014] The target waiting time for the data to be sent is determined based on the priority waiting time and the basic waiting time.

[0015] In one embodiment, according to the target waiting time, data to be sent is sent to the data receiver, including:

[0016] Start a timer to keep track of the time and check the idle status of at least one channel in the data transmission end;

[0017] When all channels are idle and the timer has accumulated to the target waiting time, the data to be sent is sent to the data receiver.

[0018] In one embodiment, the method further includes:

[0019] If at least one channel is not idle and the timer's accumulated count has not reached the target waiting time, pause the timer.

[0020] Receive data to be received within the receiving channel;

[0021] After the data to be received is received, the control timer continues to count down.

[0022] In one embodiment, acquiring the data to be sent to the data receiver includes:

[0023] In response to the communication mode switching command sent by the central coordinator, the communication mode is switched from centralized mode to distributed mode; the communication mode switching command is triggered by the central coordinator when the data sending end is in centralized mode, and the network operation of the data sending end and the data receiving end is completed.

[0024] When the communication mode is in distributed mode, acquire the data to be sent to the data receiver.

[0025] In centralized mode, the data transmission time is determined by the central coordinator; in decentralized mode, the data transmission time is determined by the data sending end.

[0026] In one embodiment, increasing the base wait time includes:

[0027] Once the base waiting time reaches the preset base threshold, stop increasing the base waiting time.

[0028] Secondly, this application also provides a communication duration allocation device, comprising:

[0029] The acquisition module is used to acquire the data to be sent to the data receiving end;

[0030] The duration module is used to determine the target waiting time for the data to be sent for each iteration round, based on the preset priority and basic waiting time of the data to be sent.

[0031] The sending module is used to send the data to be sent to the data receiving end according to the target waiting time;

[0032] The adjustment module is used to increase the base waiting time if no received message is received from the data receiver after a preset time has elapsed, and then return to the step of determining the target waiting time.

[0033] The success module is used to determine that the data to be sent has been successfully sent to the data receiver if a receive message is received from the data receiver within a preset time period.

[0034] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0035] Obtain the data to be sent to the data receiver;

[0036] For each iteration, the target waiting time for the data to be sent is determined based on the preset priority and basic waiting time of the data to be sent.

[0037] Based on the target waiting time, send the data to be sent to the data receiver.

[0038] If no received data message is received from the data receiver after the preset time has elapsed, the base waiting time is increased, and the process returns to the step of determining the target waiting time.

[0039] If a received message is received from the data receiver within a preset time period, it is determined that the data to be sent has been successfully sent to the data receiver.

[0040] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:

[0041] Obtain the data to be sent to the data receiver;

[0042] For each iteration, the target waiting time for the data to be sent is determined based on the preset priority and basic waiting time of the data to be sent.

[0043] Based on the target waiting time, send the data to be sent to the data receiver.

[0044] If no received data message is received from the data receiver after the preset time has elapsed, the base waiting time is increased, and the process returns to the step of determining the target waiting time.

[0045] If a received message is received from the data receiver within a preset time period, it is determined that the data to be sent has been successfully sent to the data receiver.

[0046] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, performs the following steps:

[0047] Obtain the data to be sent to the data receiver;

[0048] For each iteration, the target waiting time for the data to be sent is determined based on the preset priority and basic waiting time of the data to be sent.

[0049] Based on the target waiting time, send the data to be sent to the data receiver.

[0050] If no received data message is received from the data receiver after the preset time has elapsed, the base waiting time is increased, and the process returns to the step of determining the target waiting time.

[0051] If a received message is received from the data receiver within a preset time period, it is determined that the data to be sent has been successfully sent to the data receiver.

[0052] The aforementioned communication duration allocation method, apparatus, computer equipment, and storage medium introduce a priority-based dynamic backoff mechanism for pending data, enabling high-priority services to obtain shorter waiting times and thus preemptively seize the channel. Furthermore, in the event of transmission failure, the base waiting time is exponentially increased to effectively avoid conflicts. Simultaneously, combined with channel eavesdropping and timer pause mechanisms, ongoing communication is given priority when the channel is busy. This collectively constructs a reliable communication method that guarantees low-latency transmission for high-real-time services while adapting to network load changes to avoid congestion and crashes. This significantly improves the transmission efficiency and stability of power line broadband carrier communication in demanding scenarios such as second-level control. Attached Figure Description

[0053] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying 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.

[0054] Figure 1 This is an application environment diagram of a communication duration allocation method provided in this embodiment;

[0055] Figure 2A This is a flowchart illustrating a communication duration allocation method provided in this embodiment;

[0056] Figure 2B This embodiment provides a schematic diagram of a beacon cycle.

[0057] Figure 2C This embodiment provides a schematic diagram of distributed beacon time slot allocation;

[0058] Figure 3 This is a flowchart illustrating a step for sending data to be sent, as provided in this embodiment.

[0059] Figure 4 This is a structural block diagram of a communication duration allocation device provided in this embodiment;

[0060] Figure 5 This is an internal structural diagram of a computer device provided in this embodiment. Detailed Implementation

[0061] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0062] The communication duration allocation method provided in this application embodiment can be applied to, for example, Figure 1 In the application environment shown, the central coordinator 100 is communicatively connected to both the data sender 101 and the data receiver 102; the data sender 101 and the data receiver 102 are communicatively connected; the data sender acquires the data to be sent to the data receiver; for each iteration, the target waiting time for the data to be sent is determined based on the preset priority and basic waiting time of the data to be sent; the data to be sent is sent to the data receiver according to the target waiting time; if no receiving message is received from the data receiver after the preset time has elapsed, the basic waiting time is increased, and the process returns to the step of determining the target waiting time; if a receiving message is received from the data receiver within the preset time, it is determined that the data to be sent has been successfully sent to the data receiver.

[0063] The Central Coordinator (CCO) is the core control node in a power line broadband carrier communication network, typically serving as the parent node for other nodes in the network. It is responsible for establishing and maintaining the entire communication network, managing network resources such as allocating time slots, determining communication modes (centralized / distributed), and processing device onboarding. During communication mode switching, the Central Coordinator issues switching commands.

[0064] In a communication network, the data sender is the node that actively initiates data services. In power line communication scenarios, this typically refers to a station (STA), such as smart meters, photovoltaic inverters, and smart switches. The data sender is responsible for sending service data to the target node at the appropriate time, based on the received time slot plan or its own contention backoff algorithm.

[0065] In this context, the data receiver is a node in the communication network that receives data services. Correspondingly, it can also be a station (STA). This node is responsible for receiving data from the data sender and, upon successful reception, sending a reception message (such as an ACK confirmation frame) back to the sender.

[0066] In a power line broadband carrier communication network, the Proxy Coordinator (PCO) is a special type of station (STA) that acts as a relay and network management assistant between the Central Coordinator (CCO) and ordinary stations. The PCO is responsible for sending proxy beacons, which contain the complete time slot schedule of the central beacon and carry the basic attributes of the proxy STA, extending network coverage. When the network is large or the communication distance is long, ordinary stations cannot communicate directly with the CCO and need to use the PCO for multi-hop relay. During this process, the PCO is responsible for forwarding data and managing the child nodes in its proxy area. The PCO can alleviate the network management burden on the CCO, handling time slot allocation, data aggregation, and forwarding for stations within its subnet. PCO nodes are typically elected through a specific mechanism, selecting stations with low buffer occupancy and high available transmission bandwidth to optimize network performance.

[0067] It should be noted that in this embodiment, since there are multiple nodes on the power line broadband carrier communication network, namely CCO, PCO, and STA, the data sending end in this embodiment can generally refer to the node with data sending needs. That is, the node can be an STA, a CCO, or a proxy coordinator; this embodiment does not impose any limitations on this. Similarly, in this embodiment, the data sending end can generally refer to the node with data receiving needs. That is, the node can be an STA, a CCO, or a proxy coordinator; this embodiment does not impose any limitations on this. Data transmission and reception can occur between CCO and STA, between STA and STA, between PCO and STA, or between CCO and PCO.

[0068] It should be noted that in the scenario where the data to be sent is a communication mode switching command, since the communication mode switching command is usually generated by the CCO, the data sending end is usually also the CCO, while the corresponding data receiving end can be the PCO and the STA. In addition, since the PCO can also forward the communication mode switching command to other STAs, when the data sending end is the PCO and the data to be sent is a communication mode switching command, the data receiving end is usually only the STA.

[0069] In one exemplary embodiment, such as Figure 2A As shown, a communication duration allocation method is provided, which can be applied to... Figure 1 Taking the data sending end as an example, the explanation includes the following steps S201 to S205. Wherein:

[0070] S201 acquires the data to be sent to the data receiving end.

[0071] In this context, pending data refers to business messages or signaling that the data sending end (such as a smart meter or photovoltaic inverter) is preparing to send to the data receiving end (such as a concentrator or other site) via the power line. Pending data can be high-priority data, such as photovoltaic control instructions or real-time control signaling (requiring delivery within seconds); or it can be low-priority data, such as routine electricity consumption information collection data or historical data reporting.

[0072] In some embodiments, when there is a data transmission requirement at the data sending end, the data to be sent to the data receiving end is obtained.

[0073] In some embodiments, in response to a communication mode switching instruction sent by the central coordinator, the communication mode is switched from centralized mode to distributed mode; the communication mode switching instruction is triggered by the central coordinator when the data sending end is in centralized mode, after completing the networking operation of the data sending end and the data receiving end; when the communication mode is distributed mode, the data to be sent to the data receiving end is acquired.

[0074] Network setup refers to the process by which the Central Coordinator (CCO) broadcasts network information via beacon frames during the initial establishment of the communication network, allowing and assisting new Stations (STAs) to join the network and establishing network-wide synchronization. A centralized mode is typically used (for high efficiency) to ensure that all devices can quickly and orderly complete network registration and address allocation. Network setup is usually marked by the Central Coordinator not detecting any new station joining requests for several consecutive beacon cycles.

[0075] Centralized mode is a channel time slot management method. In this mode, the Central Coordinator (CCO) uniformly plans and specifies the transmission timing of each station (STA) within each beacon period through beacon frames. Dedicated non-contention time slots exist in this mode (such as beacon time slots and TDMA time slots). All station data transmissions (including beacon transmissions) must strictly adhere to the CCO's scheduling; arbitrary channel preemption is not allowed. This mode is beneficial for network stability but has poor real-time performance. In centralized mode, the data transmission time is determined by the CCO.

[0076] The distributed mode is a channel slot management method. In this mode, the entire beacon cycle mainly consists of contention-based time slots (CSMA time slots). At this time, beacons (central beacon, proxy beacon, discovery beacon) no longer occupy dedicated non-contention-based time slots, but are transmitted competitively through the CSMA mechanism like ordinary data frames. High-priority data to be transmitted can preempt the channel at any time through the contention mechanism, without waiting for the fixed beacon time slot to end, thus significantly reducing transmission latency. In distributed mode, the data transmission time is determined by the data transmitter.

[0077] The communication mode switching command is a control signaling message issued by the Central Coordinator (CCO) to all Stations (STAs) in the network. This command is triggered after the CCO determines that network setup is complete. For example, when the CCO detects that no new stations have joined the network for 4-6 consecutive beacon cycles, it considers the network stable. This command instructs all stations in the network to synchronously switch their communication mode from "centralized mode" to "distributed mode," thereby initiating a low-latency data communication phase.

[0078] For example, in this embodiment, when the central coordinator performs networking operations on the data sending end and the data receiving end, the centralized time slot mode is still adopted. The reason is that the centralized mode is more efficient during the networking phase, but cannot meet the real-time requirements after the networking is completed.

[0079] For example, in this embodiment, after the Central Coordinator (CCO) completes the network setup for the data transmitter and receiver (the CCO waits for 4-6 beacon cycles without any new STAs joining, considering the network setup complete), the CCO issues a command to all STAs in the network via the central beacon to switch to distributed beacon mode. Under the distributed beacon mechanism, the entire beacon cycle is a CSMA contention time slot. Beacons are competitively transmitted through CSMA time slots. The beacon frame length includes the frame payload and the contention frame interval, which is defined the same as the SOF frame interval.

[0080] For example, such as Figure 2B The diagram illustrates a beacon cycle. The CCO periodically transmits beacon frames, which contain planning information for beacon time slots, CSMA time slots, TDMA time slots, and bound CSMA time slots within the beacon cycle allocated by the CCO. Sub-nodes in a broadband carrier communication network must adhere to the time slots allocated by the CCO for channel access. Time slots explicitly allocated to the CCO or specific STAs, such as beacon time slots and TDMA time slots, are collectively referred to as non-contention time slots (TDMA time slots). Time slots without specified users, such as CSMA time slots and bound CSMA time slots, require contention among STAs and are collectively referred to as contention time slots (CSMA time slots). The current time slot access mechanism requires non-contention beacon transmission within the network. Within each beacon cycle, time slots for beacon transmission must be reserved in advance (the larger the network, the longer the beacon time slot, typically greater than 1 second), resulting in delays in service message transmission. For instructions with high real-time requirements, it is possible that when the task is about to be sent out, it happens to encounter a beacon time slot and needs to wait for the TDMA or CSMA time slot allocated to it before it can be sent out. In this case, the delay will exceed 1 second, which cannot meet the requirements of second-level control.

[0081] It should be noted that under the original centralized beacon mode, most stations could successfully receive beacon frames. Under the distributed time slot mode, competition from other service frames may cause stations to fail to receive beacon frames at times. In such cases, it is necessary to agree that if a STA does not receive a beacon frame in a certain beacon period, the time slot arrangement of the previous beacon frame will be used until the STA goes offline.

[0082] For example, such as Figure 2C The diagram illustrating the distributed beacon time slot allocation shows that a beacon period includes multiple frame types, such as central beacons, proxy beacons, discovery beacons, and SOF frames. SOF frames are primarily used for data transmission between devices. The central beacon is sent by the CCO (Center of Core Control) at the beginning of a beacon period. It contains the network reference time of the current broadband carrier communication network and is communicated to STAs (Stations in the Network) in real time. Proxy beacons are sent by proxy stations (PCOs). Proxy beacons contain all the time slot arrangements of the central beacon and carry the basic attributes of the proxy STA. Upon receiving a proxy beacon or central beacon for a new beacon period, a proxy station within the network creates and sends a proxy beacon. Discovery beacons are sent by STAs (Stations in the Network). Discovery beacons must be sent within the beacon time slot designated by the CCO for that STA. Once an STA receives a beacon frame and determines that the CCO has designated it to send a beacon frame within a certain time slot, it must send the corresponding beacon frame within that time slot. Discovery nodes (newly joined nodes) do not send beacons by default. When permitted by the CCO to send beacons, the discovery site calculates the beacon period count for which it should send a discovery beacon. Within the corresponding beacon period, if a beacon is received from the superior agent, a discovery beacon is created and sent after NTB synchronization is completed. SOF frames are mainly used for data transmission between devices. In distributed beacon time slot mode, they can be sent at any time. When sent simultaneously with beacons, a conflict backoff rule (a common practice in communication) is used. If transmission fails, i.e., no acknowledgment is received from the target node, it can be retransmitted.

[0083] For each iteration, S202 determines the target waiting time for the data to be sent based on the preset priority and basic waiting time of the data to be sent.

[0084] The base waiting time is a dynamically adjusted variable reflecting the current network congestion level. It controls the backoff strength for retransmissions after data transmission failures. It is typically initialized to a minimum value (e.g., the duration corresponding to minBE) during the initial data transmission attempt. When transmission fails (no ACK received), this value is increased (usually exponentially, such as the increase in the BE value in the binary exponential backoff algorithm). As network collisions increase, increasing the base waiting time reduces the probability of further collisions during data retransmissions.

[0085] The target waiting time is the total time that the data sender must wait before entering channel contention. This time is dynamically calculated, taking into account both the data's "subjective intention" (priority) and the network's "objective condition" (congestion level). The timer keeps track of this target, and data is only sent when the timer overflows (reaches this time) and the channel is idle.

[0086] In one alternative embodiment, a priority waiting duration matching a preset priority is determined; and a target waiting duration for the data to be sent is determined based on the sum of the priority waiting duration and the base waiting duration.

[0087] In one optional embodiment, a priority waiting duration matching a preset priority is determined; and a target waiting duration for the data to be sent is determined based on the priority waiting duration and the base waiting duration.

[0088] The priority waiting time is a fixed offset or initial value directly determined by the preset priority of the data to be sent. The higher the priority, the shorter the priority waiting time (it can even be 0); the lower the priority, the longer the priority waiting time. By introducing the priority waiting time, the "fair competition" among all data in the traditional backoff algorithm is broken, giving high-priority data a "starting advantage" when calculating the final waiting time, thus allowing it to start sending earlier or end the backoff earlier.

[0089] For example, based on the following formula (1), the target waiting time for the data to be sent is determined according to the priority waiting time and the basic waiting time.

[0090] BackOffTime=(Rand(2 BE -1)+PE)*SLOT_TIME (1)

[0091] Where BackOffTime is the target waiting time, Rand represents a random number, BE is the base waiting time, PE is the priority waiting time, and SLOT_TIME is the preset time slot time.

[0092] It should be noted that in this embodiment, the base waiting time is typically determined by the backoff exponent (BE); the backoff exponent is an integer variable used to control the window size of the backoff time. It determines the upper limit of the random backoff time. When calculating the backoff time, the length of the backoff time is related to 2... BEThe backoff time is directly proportional to the network congestion. A larger BE value results in a larger backoff window (contention window), and potentially a longer random backoff time. Before backoff begins, BE is initialized to a minimum value (minBE, e.g., a constant 3). After each failed transmission (no ACK received), the BE value increases (usually by 1), but not exceeding a maximum value (MaxBE, e.g., a constant 5). This reflects the core idea of ​​the Binary Exponential Backoff (BEB) algorithm: the more congested the network, the longer the backoff time. BE is constrained by minBE and MaxBE.

[0093] It should be noted that in this embodiment, the time slot time is a fixed unit of time, which is the smallest time granularity of the backoff timer. It is usually defined as "the maximum time required for one station to start sending data in a BPL (Broadband Power Line) network from the start of data transmission to another station detecting a collision and stopping transmission", or simply understood as a time base unit of the physical layer. It is a predefined, network-wide uniform constant (e.g., it may be defined as 0.5ms or a similar value in some standards), broadcast by the central coordinator in beacons or fixed by the protocol standard.

[0094] S203 sends the data to be sent to the data receiving end according to the target waiting time.

[0095] In some embodiments, a target waiting time is waited before sending the data to be sent to the data receiver; after the target waiting time is reached, the data to be sent is sent to the data receiver.

[0096] If no received message is received from the data receiver after the preset time has elapsed, S204 increases the base waiting time and returns to the step of determining the target waiting time.

[0097] In some embodiments, if no received message is received from the data receiver after a preset time has elapsed, the base waiting time is increased, i.e., BE=min(BE+1, MaxBE), and the process returns to the step of determining the target waiting time.

[0098] It should be noted that in this embodiment, when the basic waiting time reaches the preset basic threshold, the basic waiting time is stopped from being increased. That is, when BE=MaxBE, the basic waiting time is stopped from being increased, so that BE is maintained at MaxBE in subsequent loops.

[0099] If S205 receives a received message from the data receiver within a preset time period, it determines that the data to be sent has been successfully sent to the data receiver.

[0100] In some embodiments, if a received message is received from the data receiver within a preset time period, it is determined that the data to be sent has been successfully sent; if the current iteration round reaches a preset round threshold, it is determined that the data to be sent has failed, i.e., if the current iteration round NB > maxNB, then it is determined that the data to be sent has failed.

[0101] The aforementioned communication duration allocation method, apparatus, computer equipment, and storage medium introduce a priority-based dynamic backoff mechanism for pending data, enabling high-priority services to obtain shorter waiting times and thus preemptively seize the channel. Furthermore, in the event of transmission failure, the base waiting time is exponentially increased to effectively avoid conflicts. Simultaneously, combined with channel eavesdropping and timer pause mechanisms, ongoing communication is given priority when the channel is busy. This collectively constructs a reliable communication method that guarantees low-latency transmission for high-real-time services while adapting to network load changes to avoid congestion and crashes. This significantly improves the transmission efficiency and stability of power line broadband carrier communication in demanding scenarios such as second-level control.

[0102] Figure 3 This is a flowchart illustrating the steps of sending data to be sent in one embodiment. In this embodiment, data to be sent is sent to the data receiving end according to the target waiting time, including the following steps:

[0103] S301 starts a timer to keep track of time and detects the idle status of at least one channel in the data transmission end.

[0104] In power line broadband carrier communication, a channel refers to the physical medium or logical frequency resource used for data transmission. In power line communication, a channel typically refers to a specific frequency band defined by the power line itself (such as the set of subcarriers in OFDM multicarrier technology). The data transmitter needs to monitor the channel (i.e., the power line medium) for signal transmission to determine if data transmission is possible.

[0105] In this context, "idle" refers to the channel occupancy status detected by the data transmitter through the physical layer. An idle state means that at the detection time, no valid carrier signal is detected on the channel, or the signal strength is below a preset threshold, indicating that no other device is currently transmitting data and access can be attempted. A non-idle state (busy state) means that at the detection time, a valid carrier signal is detected on the channel (e.g., other stations are transmitting frame preambles or data), indicating that the channel is occupied and transmission should be suspended to avoid collisions.

[0106] In some embodiments, a timer BackOffTimer is started and set to overflow when the target waiting time is reached; during the timer's timing, the idle status of at least one channel in the data transmitter is detected in real time.

[0107] When all channels are idle and the timer has accumulated to the target waiting time, S302 sends the data to be sent to the data receiver.

[0108] In some embodiments, when all channels are in an idle state and the accumulated count of the timer reaches the target waiting time, that is, when no "receiver signal reception start state primitive" is received from the physical layer before the timer BackOffTimer overflows, the physical layer is switched to the transmit state, and an MPDU frame is started to send the data to be transmitted to the data receiver.

[0109] S303 pauses the timer if at least one channel is not idle and the timer's accumulated count has not reached the target waiting time.

[0110] In some embodiments, if at least one channel is not idle and the cumulative count of the timer has not reached the target waiting time, that is, if a "receiver signal reception start state primitive" is received from the physical layer before the timer BackOffTimer overflows, the timer BackOffTimer is paused and the data to be received in the channel is received until the data to be received is received, and then the BackOffTimer continues to run.

[0111] S304 receives the data to be received in the receiving channel.

[0112] The data to be received refers to data frames sent by other network nodes and detected by the local physical layer during the backoff timing process at the data sending end. This data is not data that the local end wants to send, but rather "other people's data" on the channel. When the local end detects that the channel is not idle and its own timer has not ended, it will pause its own backoff timer and receive the "data to be received" in its entirety first. This reflects the respect for ongoing communication in the communication protocol (i.e., the "courtesy" mechanism). By fully receiving the data to be received, the local end can update the Network Allocation Vector (NAV), understand how long the channel will be occupied, and thus more accurately perform subsequent backoff timing.

[0113] In some embodiments, the data to be received in the receiving channel continues until the reception of the data to be received is completed.

[0114] After the data to be received is received, S305 controls the timer to continue counting.

[0115] In some embodiments, the system receives data to be received within the channel until the data to be received is finished, and then continues to run the BackOffTimer.

[0116] In the above embodiments, by combining a timer and a channel listening mechanism, a fine-grained channel access control is achieved: when the channel is busy, the timer is paused to allow ongoing communication to pass and avoid data collisions; data is sent only when the channel is idle and the backoff timer has been completed, ensuring that the sending node strictly adheres to the backoff rules. This significantly reduces the probability of data conflicts caused by multiple concurrent nodes while ensuring the fairness of channel access, and improves channel utilization and data transmission success rate.

[0117] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0118] Based on the same inventive concept, this application also provides a communication duration allocation device for implementing the communication duration allocation method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more communication duration allocation device embodiments provided below can be found in the limitations of the communication duration allocation method described above, and will not be repeated here.

[0119] In one exemplary embodiment, such as Figure 4 As shown, a communication duration allocation device is provided, including: an acquisition module 401, a duration module 402, a sending module 403, an adjustment module 404, and a success module 405, wherein:

[0120] The acquisition module 401 is used to acquire the data to be sent to the data receiving end;

[0121] The duration module 402 is used to determine the target waiting time of the data to be sent for each iteration round, based on the preset priority and basic waiting time of the data to be sent.

[0122] The sending module 403 is used to send the data to be sent to the data receiving end according to the target waiting time;

[0123] The adjustment module 404 is used to increase the base waiting time and return to the step of determining the target waiting time if no received message is received from the data receiver after a preset time has elapsed.

[0124] Success module 405 is used to determine that the data to be sent has been successfully sent to the data receiver if a receive message is received from the data receiver within a preset time period.

[0125] In some embodiments, the duration module 402 is further configured to determine a priority waiting duration that matches a preset priority; and to determine a target waiting duration for the data to be sent based on the priority waiting duration and the basic waiting duration.

[0126] In some embodiments, the sending module 403 is further configured to start a timer to count the time and detect the idle status of at least one channel in the data sending end; when all channels are idle and the cumulative count of the timer reaches the target waiting time, the sending module 403 sends the data to be sent to the data receiving end.

[0127] In some embodiments, the transmitting module 403 is further configured to: pause the timer when at least one channel is in a non-idle state and the cumulative count of the timer has not reached the target waiting time; receive the data to be received in the channel; and control the timer to continue counting after the data to be received has been received.

[0128] In some embodiments, the acquisition module 401 is further configured to switch the communication mode from centralized mode to distributed mode in response to a communication mode switching instruction sent by the central coordinator; the communication mode switching instruction is triggered by the central coordinator when the data sending end is in centralized mode, after completing the networking operation of the data sending end and the data receiving end; when the communication mode is distributed mode, the module acquires the data to be sent to the data receiving end; wherein, the data transmission time for data transmission in centralized mode is determined by the central coordinator; and the data transmission time for data transmission in distributed mode is determined by the data sending end.

[0129] In some embodiments, the scaling module 404 is further configured to stop scaling the basic waiting time when the basic waiting time reaches a preset basic threshold.

[0130] Each module in the aforementioned communication duration allocation device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0131] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 5As shown, this 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 operating system and computer programs stored in the non-volatile storage media. The database stores data. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network. When the computer program is executed by the processor, it implements a communication duration allocation method.

[0132] Those skilled in the art will understand that Figure 5 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.

[0133] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.

[0134] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.

[0135] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0136] 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.

[0137] 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). 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, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0138] 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.

[0139] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A communication duration allocation method, characterized in that, Applied to the data sending end, the method includes: Obtain the data to be sent to the data receiver; For each iteration, the target waiting time for the data to be sent is determined based on the preset priority and basic waiting time of the data to be sent. According to the target waiting time, the data to be sent is sent to the data receiving end; If no received message is received from the data receiver after the preset time has elapsed, the base waiting time is increased, and the process returns to the step of determining the target waiting time. If a received message is received from the data receiving end within the preset time period, it is determined that the data to be sent has been successfully sent to the data receiving end.

2. The method according to claim 1, characterized in that, The step of determining the target waiting time for the data to be sent based on the preset priority and basic waiting time of the data to be sent includes: Determine the priority waiting time that matches the preset priority; The target waiting time for the pending data is determined based on the priority waiting time and the basic waiting time.

3. The method according to claim 1, characterized in that, The step of sending the data to be sent to the data receiving end according to the target waiting time includes: Start a timer to keep track of the time and check the idle status of at least one channel in the data transmitter; When all the channels are idle and the timer has accumulated to the target waiting time, the data to be sent is sent to the data receiving end.

4. The method according to claim 3, characterized in that, The method further includes: If at least one channel is not idle and the cumulative count of the timer has not reached the target waiting time, the timer is paused. Receive the data to be received in the channel; After the data to be received is received, the timer is controlled to continue counting.

5. The method according to claim 1, characterized in that, The step of acquiring the data to be sent to the data receiving end includes: In response to a communication mode switching command sent by the central coordinator, the communication mode is switched from centralized mode to distributed mode; the communication mode switching command is triggered by the central coordinator when the data sending end is in centralized mode, and the central coordinator completes the networking operation of the data sending end and the data receiving end. When the communication mode is in distributed mode, acquire the data to be sent to the data receiving end; In the centralized mode, the data transmission time is determined by the central coordinator; in the decentralized mode, the data transmission time is determined by the data transmitting end.

6. The method according to claim 1, characterized in that, The increase in the base waiting time includes: When the basic waiting time reaches a preset basic threshold, the increase of the basic waiting time will stop.

7. A communication duration allocation device, characterized in that, The device includes: The acquisition module is used to acquire the data to be sent to the data receiving end; The duration module is used to determine the target waiting time of the data to be sent for each iteration round, based on the preset priority and basic waiting time of the data to be sent. The sending module is used to send the data to be sent to the data receiving end according to the target waiting time; The adjustment module is used to increase the basic waiting time if no received message is received from the data receiver after a preset time has elapsed, and then return to the step of determining the target waiting time. The success module is used to determine that the data to be sent has been successfully sent to the data receiving end if a receiving message is received from the data receiving end within the preset time period.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.

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

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Communication method and device

    CN108173626A

  • Bound CSMA time slot channel access mechanism and power line carrier communication method

    CN113472694A

  • Data sending method and device, equipment, storage medium and computer program

    CN116939872A

  • Communication method, communication device, communication system, storage medium, and program product

    CN121444578A