A power grid communication network slice resource allocation system and method
Patent Information
- Application Number
- CN202611012675.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-08
- Publication Date
- 2026-08-18
AI Technical Summary
由此可见,故障位置、业务时延要求、资源占用状态以及缓存积压情况之间存在紧密关联,若调度策略不能综合反映这些数据关系,容易造成关键保护业务与常规自动化业务之间的资源冲突
1.本申请提供了一种电网通信网络切片资源分配方法,通过接收包含故障位置信息的继电保护业务建立请求,并同步获取配电网通信切片的当前可用空闲物理资源块数量、各配电自动化业务的原始物理资源块占用量、缓存队列数据量、电气拓扑距离和最大容忍时延参数,使切片资源分配不再仅依赖固定优先级或静态预留资源,而是将故障位置与业务资源状态、业务积压状态进行联动分析;当当前可用空闲物理资源块数量低于预设分配阈值时,按照电气拓扑距离降序和缓存队列数据量升序生成回退排序,并从回退排序中选取回退业务对象,使远离故障区域且缓存压力较小的配电自动化业务优先进入资源回退过程,从而在保障继电保护业务快速接入的同时,降低对关键配电自动化业务的影响,上述处理方式使故障位置信息、电气拓扑距离、缓存队列数据量和当前可用空闲物理资源块数量之间形成连续的数据关联,避免传统资源抢占方式中对既有业务一刀切压缩的问题,提高了突发故障场景下切片资源调整的针对性和合理性;
Smart Images

Figure CN122601606A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of monitoring and analysis technology, and in particular to a power grid communication network slice resource allocation system and method. Background Technology
[0002] As a crucial infrastructure for energy transmission and social production, the safe and stable operation of the power grid directly impacts the continuity of power supply and the reliability of electricity consumption. Relay protection services undertake critical tasks such as rapid fault identification, isolation, and coordinated response, placing high demands on communication latency and resource availability. Distribution automation services, on the other hand, consistently handle data exchange involving status acquisition, telemetry and telecontrol, and control feedback, serving as vital support for the refined operation of the distribution network. With the gradual introduction of network slicing mechanisms into power communication networks, different power services can obtain relatively independent resource capacity on the same communication infrastructure.
[0003] In actual operation, power grid faults are often sudden and location-dependent. When an anomaly occurs in a line, switch, or feeder section, relay protection services near the fault location need to acquire communication resources within a very short time to ensure timely transmission of protection information. Meanwhile, existing distribution automation services within the same slice will still occupy a certain amount of physical resource blocks and accumulate data to be transmitted in the buffer queue. Therefore, there is a close correlation between fault location, service latency requirements, resource occupancy status, and buffer backlog. If the scheduling strategy cannot comprehensively reflect these data relationships, resource conflicts between critical protection services and routine automation services can easily occur.
[0004] However, existing power grid communication slice resource allocation methods mostly focus on static priorities or fixed resource reservations, which are insufficiently adaptable to resource-constrained scenarios after a fault. On the one hand, simply increasing the priority of relay protection services may lead to the direct crowding out of distribution automation services, resulting in connection interruptions or data backhaul disorder. On the other hand, fixed resource reservations reduce daily resource utilization and make it difficult to balance the needs of sudden faults and normal operation. Especially when multiple distribution automation services have cached data at the same time, the existing methods lack a fine-grained scheduling basis that combines the distance of the fault location, the amount of service backlog, and the latency tolerance. They also lack a closed-loop processing mechanism for orderly compensation of compressed services after the protection services release resources, which makes the slice resource adjustment process prone to problems such as preemptive and rough allocation, delayed recovery, and cached data invalidation. Summary of the Invention
[0005] To address the shortcomings of existing technologies, this application provides a power grid communication network slicing resource allocation system and method.
[0006] In a first aspect, this application provides a method for allocating sliced resources in a power grid communication network, comprising the following steps: Receive relay protection service establishment requests containing fault location information; obtain the number of currently available idle physical resource blocks in the distribution network communication slice, as well as the original physical resource block occupancy, cache queue data volume, electrical topology distance, and maximum tolerable delay parameters for each distribution automation service within the slice; When the number of available idle physical resource blocks is lower than the preset allocation threshold, a rollback sort is generated in descending order of electrical topology distance and ascending order of cache queue data volume, and rollback business objects are selected from the rollback sort. Based on the signaling interaction overhead of the rollback service object, generate the minimum keep-alive resource block value, compress the original physical resource block occupancy of the rollback service object to the minimum keep-alive resource block value, form a stripped resource block, and write the unsent data into the local hierarchical cache queue according to the timestamp. The stripped resource blocks are allocated to the relay protection service, and the resource release data of the relay protection service is collected according to the transmission time interval. When the resource release data contains compensation physical resource blocks, the compensation loop is entered. The compensation loop includes: removing expired data packets based on timestamps and maximum tolerable latency parameters, generating a business compensation urgency value based on the residence time of the remaining data packets, the maximum tolerable latency parameters, and the cache queue data volume, allocating compensation physical resource blocks according to the business compensation urgency value, and updating the cache queue data volume. When the cache queue data volume reaches zero, restore the original physical resource block occupancy of the rollback business object and output the final slice resource allocation strategy; when the cache queue data volume does not reach zero and the total compensation execution time is less than the preset time limit, return to the compensation loop.
[0007] Secondly, this application provides a power grid communication network slicing resource allocation system, comprising: The data receiving module is used to receive relay protection service establishment requests containing fault location information; obtain the number of currently available idle physical resource blocks in the distribution network communication slice, as well as the original physical resource block occupancy, cache queue data volume, electrical topology distance, and maximum tolerable delay parameters of each distribution automation service within the slice; The sorting and selection module is used to generate a rollback sort in descending order of electrical topology distance and ascending order of cache queue data volume when the number of currently available idle physical resource blocks is lower than a preset allocation threshold, and to select rollback business objects from the rollback sort. The data compression module is used to generate the minimum keep-alive resource block value based on the signaling interaction overhead of the rollback service object, compress the original physical resource block occupancy of the rollback service object to the minimum keep-alive resource block value, form a stripped resource block, and write the unsent data into the local hierarchical cache queue according to the timestamp. The allocation and acquisition module is used to allocate stripped resource blocks to relay protection services and to collect resource release data of relay protection services at transmission time intervals. The compensation loop module is used to enter the compensation loop when the resource release data contains compensation physical resource blocks. The compensation loop includes: removing expired data packets based on timestamps and maximum tolerable latency parameters, generating a business compensation urgency value based on the residence time of the remaining data packets, the maximum tolerable latency parameters, and the cache queue data volume, allocating compensation physical resource blocks according to the business compensation urgency value, and updating the cache queue data volume. The strategy output module is used to restore the original physical resource block occupancy of the rollback business object and output the final slice resource allocation strategy when the cache queue data volume is zero; when the cache queue data volume is not zero and the total compensation execution time is less than the preset time limit, it returns to the compensation loop.
[0008] In summary, this application includes at least one of the following beneficial technical effects: 1. This application provides a method for allocating power grid communication network slice resources. By receiving a relay protection service establishment request containing fault location information, and simultaneously acquiring the number of currently available idle physical resource blocks in the distribution network communication slice, the original physical resource block occupancy of each distribution automation service, the cache queue data volume, electrical topology distance, and maximum tolerable delay parameters, the slice resource allocation no longer relies solely on fixed priorities or static reserved resources. Instead, it links the fault location with the service resource status and service backlog status for analysis. When the number of currently available idle physical resource blocks is lower than a preset allocation threshold, a rollback sort is generated according to the electrical topology distance in descending order and the cache queue data volume in ascending order. Rollback service objects are selected from the rollback sort, allowing distribution automation services that are far from the fault area and have lower cache pressure to enter the resource rollback process first. This ensures rapid access for relay protection services while reducing the impact on critical distribution automation services. The above processing method establishes a continuous data association between fault location information, electrical topology distance, cache queue data volume, and the number of currently available idle physical resource blocks, avoiding the problem of one-size-fits-all compression of existing services in traditional resource preemption methods, and improving the pertinence and rationality of slice resource adjustment in sudden fault scenarios. 2. By generating the minimum keep-alive resource block value based on the signaling interaction overhead of the rollback service object, the original physical resource block occupancy of the rollback service object is compressed to the minimum keep-alive resource block value. While forming the stripped resource block, the unsent data is written to the local hierarchical cache queue according to the timestamp, so that the rolled-back distribution automation service can still maintain the necessary connection and retain the complete data order basis for subsequent data compensation. After the stripped resource block is allocated to the relay protection service, the resource release data of the relay protection service is collected according to the transmission time interval. When the resource release data contains the compensation physical resource block, the compensation loop is entered. The service compensation urgency value is generated based on the timestamp, the maximum tolerable delay parameter, the dwell time and the cache queue data volume. Then, the compensation physical resource block is allocated according to the service compensation urgency value and the cache queue data volume is updated. The above compression, caching, release, compensation, and recovery steps are interconnected, forming a closed-loop scheduling process between the temporary resource occupation of relay protection services and the orderly recovery of distribution automation services. When the data volume in the cache queue is zero, the original physical resource block occupation of the rollback service object is restored and the final slice resource allocation strategy is output. When the data volume in the cache queue is not zero and the total compensation execution time is less than the preset time limit, the compensation loop is returned. This reduces the data disorder and recovery lag problems after resource preemption and improves the resource utilization efficiency and service continuity of power grid communication slices in the event of a sudden fault. Attached Figure Description
[0009] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0010] Figure 1 This is a flowchart of a method for allocating network slice resources in a power grid communication network according to an embodiment of this application.
[0011] Figure 2 This is a schematic diagram of the system for allocating power grid communication network slice resources according to an embodiment of this application. Detailed Implementation
[0012] The following description, in conjunction with the implementation of the present invention, is merely an example and illustration of the concept of the present invention. Those skilled in the art can make various modifications or additions to the specific embodiments described, or use similar methods to replace them, as long as they do not deviate from the concept of the invention, and all such modifications and additions should fall within the protection scope of the present invention. Example
[0013] This application is primarily applied to scenarios where distribution network communication slices simultaneously carry distribution automation and relay protection services. When a relay protection service establishment request arrives, if the number of currently available idle physical resource blocks within the distribution network communication slice is insufficient, this application does not directly dismantle the online distribution automation service. Instead, it first determines the rollback service object based on fault location information, electrical topology distance, and cache queue data volume. Then, it compresses the rollback service object to the minimum keep-alive resource block value and allocates the released stripped resource blocks to the relay protection service. After the relay protection service begins releasing resources, it cleans up the valid data in the local hierarchical cache queue using a compensation loop and gradually restores the original physical resource block occupancy of the rollback service object. In this way, the resource allocation process forms a closed loop of preemption, rollback, compensation, and recovery, avoiding the interruption of distribution automation service connections and disordered backflow of cached data caused by a single hard preemption.
[0014] This application discloses a method for allocating network slice resources in a power grid communication network.
[0015] Reference Figure 1 A method for allocating sliced resources in a power grid communication network includes the following steps: Receive relay protection service establishment requests containing fault location information; obtain the number of currently available idle physical resource blocks in the distribution network communication slice, as well as the original physical resource block occupancy, cache queue data volume, electrical topology distance, and maximum tolerable delay parameters for each distribution automation service within the slice; Furthermore, receiving a relay protection service establishment request containing fault location information includes: Collect slice access data streams reported by distribution network service terminals, parse the header of the slice access data streams, and extract the service type field; When the service type field represents a relay protection event, the sliced access data stream is determined to be a relay protection service establishment request; Decapsulate the data load area of the relay protection service establishment request and extract the fault alarm node identifier that triggered the current service request; Import the fault alarm node identifier into the power grid geographic topology mapping library for node query, and extract the physical line coordinate fragments bound to the fault alarm node identifier; The physical line coordinate fragments are converted into fault location information, and the fault location information is written into the relay protection service establishment request.
[0016] Furthermore, the number of currently available idle physical resource blocks in the distribution network communication slice, as well as the original physical resource block occupancy, buffer queue data volume, electrical topology distance, and maximum tolerable latency parameters for each distribution automation service within the slice, are obtained, including: Read the resource occupancy table of the distribution network communication slice, extract the total number of physical resource blocks and the number of occupied physical resource blocks of the slice, and subtract the number of occupied physical resource blocks from the total number of physical resource blocks of the slice to obtain the current number of available free physical resource blocks; Filter the business records in the resource occupancy table whose business type field is distribution automation business, and extract the original physical resource block occupancy of each business record; Read the local cache index corresponding to each power distribution automation business, count the length of the data packets to be sent in the local cache index, and obtain the cache queue data volume; The fault location information is matched with the preset power grid topology adjacency table to determine the fault topology node; The access node and fault topology node of the distribution automation service are traversed in the preset power grid topology adjacency table, and the number of electrical connection segments on the path is counted to obtain the electrical topology distance. The maximum tolerable delay parameter is obtained by querying the preset delay level table based on the business type field of the power distribution automation business.
[0017] In one specific implementation, the above method is executed by a slice resource allocation processor. The slice resource allocation processor can be deployed on the scheduling and control side of the distribution network communication slice, and can read the resource occupancy table, local cache index, power grid geographic topology mapping library, preset power grid topology adjacency table, and preset latency level table of the distribution network communication slice, and can generate the final slice resource allocation strategy.
[0018] The resource occupancy table records at least the service identifier, service type field, original physical resource block occupancy, current physical resource block occupancy, access node, current modulation and coding level, and the status of the occupied resource block; the local cache index records at least the service identifier, data packet length, timestamp, and service type field; the power grid geographic topology mapping library is used to convert fault alarm node identifiers into physical line coordinate fragments; the preset power grid topology adjacency table is used to represent the electrical connection relationships between nodes in the distribution network; and the preset latency level table is used to provide the maximum tolerable latency parameter according to the service type field.
[0019] In one specific implementation, the slice resource allocation processor first receives a relay protection service establishment request containing fault location information. This request originates from a slice access data stream reported by the distribution network service terminal. The slice access data stream employs a structure of a fixed-length header and a variable-length data load area. For example, the header includes a service type field, a service identifier, a data length field, and a delay requirement field. The data load area carries the fault alarm node identifier, the protection service data length, and the protection service delay requirement. The slice resource allocation processor parses the header of the slice access data stream, extracts the service type field, and when the service type field indicates a relay protection event, the slice access data stream is determined to be a relay protection service establishment request.
[0020] Subsequently, the slice resource allocation processor decapsulates the data load area of the relay protection service establishment request and extracts the fault alarm node identifier that triggered the current service request. For example, the fault alarm node identifier can be a feeder switch number, ring main unit bay number, or line segment node number. The slice resource allocation processor imports the fault alarm node identifier into the power grid geographic topology mapping library for node lookup. The power grid geographic topology mapping library stores the binding relationship between fault alarm node identifiers and physical line coordinate segments. After the lookup, the physical line coordinate segment bound to the fault alarm node identifier is extracted. The physical line coordinate segment can include the start coordinates, end coordinates, and line segment number. The slice resource allocation processor converts the physical line coordinate segment into fault location information and writes the fault location information into the relay protection service establishment request, enabling subsequent electrical topology distance calculations to directly call the same relay protection service establishment request.
[0021] Specifically, the step of receiving a relay protection service establishment request containing fault location information can also be configured with verification processing. After parsing the header of the slice access data stream, the slice resource allocation processor can simultaneously read the data length field and compare it with the actual length of the data load area; if they match, it then extracts the service type field and the fault alarm node identifier. After the fault alarm node identifier is imported into the power grid geographic topology mapping library, if multiple candidate physical line coordinate segments are found, the slice resource allocation processor can determine the feeder to which it belongs based on the service identifier carried in the relay protection service establishment request, and then extract the physical line coordinate segment that matches that feeder from the candidate physical line coordinate segments. This processing ensures the continuity of the source, conversion, and writing path of fault location information, avoiding the use of inconsistent node data in subsequent electrical topology distance calculations.
[0022] In one specific implementation, after the relay protection service establishment request is identified, the slice resource allocation processor obtains the number of currently available idle physical resource blocks in the distribution network communication slice, as well as the original physical resource block occupancy, buffer queue data volume, electrical topology distance, and maximum tolerable delay parameters for each distribution automation service within the slice. The resource occupancy table records the total number of physical resource blocks and the number of occupied physical resource blocks in the distribution network communication slice during the current scheduling cycle. The slice resource allocation processor subtracts the number of occupied physical resource blocks from the total number of physical resource blocks in the slice to obtain the number of currently available idle physical resource blocks. For example, if the total number of physical resource blocks in the slice is 120 and the number of occupied physical resource blocks is 105, then the number of currently available idle physical resource blocks is 15. Both units are physical resource blocks, and the dimensions of the subtraction result are consistent.
[0023] Subsequently, the slice resource allocation processor filters business records with the business type field of distribution automation business from the resource occupancy table, and extracts the original physical resource block occupancy corresponding to each business record. This original physical resource block occupancy is used for subsequent rollback compression and final recovery.
[0024] The cache queue data volume is obtained from local cache index statistics. The slice resource allocation processor reads the local cache index corresponding to each distribution automation service using the service identifier as the index, counts the length of the data packets to be sent in the local cache index, and obtains the cache queue data volume. The length of the data packets to be sent can be represented in bytes. The sum of the lengths of multiple data packets to be sent under the same service identifier is still the same in bytes. Therefore, the cache queue data volume can reflect the degree of data backlog that may occur after the current service is compressed. The electrical topology distance is obtained based on fault location information. The slice resource allocation processor matches the fault location information with the preset power grid topology adjacency table to determine the faulty topology node. Then, it traverses the path between the access node of the distribution automation service and the faulty topology node in the preset power grid topology adjacency table, counts the number of electrical connection segments on the path, and obtains the electrical topology distance. For example, if there are four electrical connection segments between the access node and the faulty topology node of a certain distribution automation service, then the electrical topology distance of the distribution automation service is four. The maximum tolerable delay parameter is obtained by querying the preset delay level table from the service type field. For example, remote signaling distribution automation services can correspond to a smaller maximum tolerable delay parameter, while periodic telemetry distribution automation services can correspond to a larger maximum tolerable delay parameter. This parameter is continued to be used in the subsequent expiration data packet removal and service compensation urgency value generation.
[0025] Specifically, when acquiring data related to distribution network communication slices, the reading of the resource occupancy table and the local cache index can be completed within the same scheduling cycle. The slice resource allocation processor first adds a scheduling cycle marker to the resource occupancy table, and then reads the total number of physical resource blocks in the slice, the number of occupied physical resource blocks, and the original physical resource block occupancy of each distribution automation service. When reading the local cache index, the same scheduling cycle marker is also written, so that the cache queue data volume and the resource occupancy table are on the same time base. For electrical topology distance, the slice resource allocation processor uses breadth-first path traversal in the preset power grid topology adjacency table. The starting point of the path traversal is the access node of the distribution automation service, and the ending point is the faulty topology node. The count is incremented by one for each electrical connection segment traversed. If there are multiple paths, the path with the fewest electrical connection segments is taken as the electrical topology distance of the distribution automation service. This electrical topology distance is then used for backoff sorting, so its calculation result is not isolated data, but directly affects the selection of backoff service objects.
[0026] When the number of available idle physical resource blocks is lower than the preset allocation threshold, a rollback sort is generated in descending order of electrical topology distance and ascending order of cache queue data volume, and rollback business objects are selected from the rollback sort. Furthermore, a rollback sort is generated based on descending electrical topology distance and ascending cache queue data volume, and rollback business objects are selected from the rollback sort, including: The electrical topology distances of each power distribution automation service are numbered in descending order to obtain the topology distance sequence number; The cache queue data volume of each power distribution automation service is numbered in ascending order to obtain the cache data volume sequence number; The topology distance index and the cached data volume index are combined in the same direction to obtain the backoff priority value; The distribution automation services are sorted according to the rollback priority value to generate a rollback sort; The resource gap is obtained by comparing the resource demand of the protection service in the relay protection service establishment request with the number of currently available idle physical resource blocks; Extract distribution automation services sequentially from the rollback sort front end, and accumulate the number of strippable resource blocks for each distribution automation service; When the cumulative number of strippable resource blocks reaches the resource gap, the extracted distribution automation services will be marked as rollback service objects.
[0027] In one specific implementation, after obtaining the aforementioned data, the slice resource allocation processor compares the number of currently available idle physical resource blocks with a preset allocation threshold. The preset allocation threshold can be determined jointly by the length of the protection service data and the protection service latency requirements in the relay protection service establishment request, or it can be set during system configuration according to the minimum carrying requirements of the relay protection service. For example, under a one-millisecond-level protection service latency requirement, the preset allocation threshold is set to twenty physical resource blocks. When the number of currently available idle physical resource blocks is lower than this value, it indicates that the relay protection service cannot be established using only idle resources, and the slice resource allocation processor begins generating a rollback sort. When generating the rollback sort, the electrical topology distance is processed in descending order, while the cache queue data volume is processed in ascending order. This makes distribution automation services with larger electrical topology distances and smaller cache queue data volumes more likely to be placed at the front of the rollback sort. This processing is not simply based on communication priority, but rather incorporates the electrical topology distance converted from fault location information into the resource compression order, ensuring that the selection of rollback service objects corresponds to the power grid area where the fault is located.
[0028] Based on the above scheme, the rollback sort can be formed using a sequence number synthesis method. The slice resource allocation processor sorts the electrical topology distances of each distribution automation service in descending order to obtain a topology distance sequence number, with the distribution automation service with the largest electrical topology distance receiving the first topology distance sequence number; simultaneously, it sorts the cache queue data volume of each distribution automation service in ascending order to obtain a cache data volume sequence number, with the distribution automation service with the smallest cache queue data volume receiving the first cache data volume sequence number.
[0029] Subsequently, the topology distance index and the cached data quantity index are synthesized in the same direction to obtain the backoff priority value. In actual implementation, the topology distance index and the cached data quantity index can be directly added to obtain the backoff priority value; if it is necessary to increase the influence of electrical topology distance, the backoff priority value can also be made equal to the topology distance index multiplied by the first weight, plus the cached data quantity index multiplied by the second weight. The first and second weights are both dimensionless weights, used to adjust the ranking contribution without changing the ranking attribute of the backoff priority value. The slice resource allocation processor sorts the distribution automation business according to the backoff priority value to generate the backoff ranking.
[0030] The selection of rollback service objects is directly related to the resource requirements of the relay protection service establishment request. The slice resource allocation processor obtains the resource gap quantity based on the difference between the resource requirements of the relay protection service establishment request and the number of currently available idle physical resource blocks. The unit for both the resource requirements of the protection service and the number of currently available idle physical resource blocks is physical resource blocks, and the difference is also in physical resource blocks. For example, if the resource requirements of the protection service are thirty and the number of currently available idle physical resource blocks is fifteen, then the resource gap quantity is fifteen. The slice resource allocation processor extracts distribution automation services sequentially from the rollback sorting front and accumulates the number of strippable resource blocks for each distribution automation service. The number of strippable resource blocks is determined by subtracting the minimum keep-alive resource block value obtained from subsequent calculations from the original physical resource block occupancy of the distribution automation service. In the initial selection stage, the estimated keep-alive resource block quantity configured by the service type field can also be used for estimation. When the accumulated number of strippable resource blocks reaches the resource gap quantity, the slice resource allocation processor marks the extracted distribution automation services as rollback service objects, while the unextracted distribution automation services maintain their original resource allocation status.
[0031] Specifically, during the rollback sorting process, a stable parallel processing rule can be added to the co-directional synthesis of the topology distance sequence number and the cached data volume sequence number. When multiple distribution automation services receive the same rollback priority value, the slice resource allocation processor first compares the electrical topology distance, placing the distribution automation service with the larger electrical topology distance at the front of the rollback sort. If the electrical topology distances are still the same, the cached queue data volume is then compared, placing the distribution automation service with the smaller cached queue data volume at the front of the rollback sort. This parallel processing rule still only uses the already acquired electrical topology distance and cached queue data volume, without introducing new isolated parameters. When the slice resource allocation processor extracts distribution automation services sequentially from the front of the rollback sort, it simultaneously reads the corresponding original physical resource block occupancy and the estimated number of keep-alive resource blocks to form the number of strippable resource blocks, until the accumulated number of strippable resource blocks reaches the resource gap number. Once the resource gap number is reached, extraction stops immediately to avoid unnecessary service rollback.
[0032] Based on the signaling interaction overhead of the rollback service object, generate the minimum keep-alive resource block value, compress the original physical resource block occupancy of the rollback service object to the minimum keep-alive resource block value, form a stripped resource block, and write the unsent data into the local hierarchical cache queue according to the timestamp. Furthermore, based on the signaling interaction overhead of the rollback service object, a minimum keep-alive resource block value is generated, including: Read the connection hold period, control signaling bit length, and current modulation and coding level of the fallback service object; Based on the current modulation and coding level, query the number of effective bits carried by a single physical resource block within a scheduling cycle; The control signaling bit length is distributed to each scheduling cycle according to the connection keep-alive period to obtain the number of keep-alive bits in the scheduling cycle. The number of keep-alive bits in the scheduling period is converted into resource blocks according to the number of effective bits to obtain the initial number of keep-alive resource blocks; Round the initial number of keep-alive resource blocks to the nearest integer to generate the minimum number of keep-alive resource blocks; The minimum keep-alive resource block value is bound to the business identifier of the rollback business object to form a rollback compression record.
[0033] Furthermore, the original physical resource block occupancy of the rollback service object is compressed to the minimum keep-alive resource block value, forming a stripped resource block, and unsent data is written to a local hierarchical cache queue according to timestamps, including: The difference between the original physical resource block occupancy of the rollback business object and the minimum keep-alive resource block value is calculated to obtain the number of stripped resource blocks; The number of stripped resource blocks is determined by deducting resource blocks from the original physical resource block occupancy of the rollback business object based on the number of stripped resource blocks; The amount of data carried in the fallback state is calculated based on the minimum keep-alive resource block size and the current modulation and coding level. The amount of data to be sent for the rollback service object is compared with the amount of data carried in the rollback state, and data packets exceeding the amount of data carried in the rollback state are extracted as unsent data. Write the generated timestamp and business type fields to the unsent data; Based on the maximum tolerable latency parameter corresponding to the business type field, the unsent data after the timestamp is written is allocated to the corresponding cache level in the local hierarchical cache queue.
[0034] In one specific implementation, after determining the rollback service object, the slice resource allocation processor generates the minimum keep-alive resource block value based on the signaling interaction overhead of the rollback service object. The signaling interaction overhead is not a separate abstract indicator, but is jointly represented by the connection hold period, control signaling bit length, and current modulation and coding level. The slice resource allocation processor reads the connection hold period, control signaling bit length, and current modulation and coding level of the rollback service object. The connection hold period can be 20 milliseconds, 40 milliseconds, etc., the control signaling bit length represents the number of bits of control signaling required to maintain the connection within one connection hold period, and the current modulation and coding level is used to query the number of effective bits carried by a single physical resource block within one scheduling period. The scheduling period is consistent with the transmission time interval; for example, if the transmission time interval is one millisecond, a scheduling period is also counted as one millisecond.
[0035] During calculation, the slice resource allocation processor first queries the number of effective bits carried by a single physical resource block within a scheduling cycle based on the current modulation and coding level. Then, it distributes the control signaling bit length across each scheduling cycle according to the connection hold period, obtaining the number of keep-alive bits per scheduling cycle. If the control signaling bit length is 800 bits, the connection hold period is 20 milliseconds, and the scheduling cycle is 1 millisecond, then the number of keep-alive bits per scheduling cycle is 800 bits divided by 20, resulting in 40 bits. If the number of effective bits carried by a single physical resource block within a scheduling cycle corresponding to the current modulation and coding level is 120 bits, then the initial number of keep-alive resource blocks is 40 divided by 120, resulting in 0.334 physical resource blocks. Since physical resource block allocation is in integer units, the slice resource allocation processor rounds the initial number of keep-alive resource blocks to the nearest integer, generating the minimum keep-alive resource block value. In this example, the rounded value is one physical resource block. The slice resource allocation processor binds the minimum keep-alive resource block value with the service identifier of the rollback service object to form a rollback compression record. The rollback compression record includes at least the service identifier, the original physical resource block occupancy, the minimum keep-alive resource block value, and the current modulation and coding level.
[0036] Specifically, the calculation of the minimum keep-alive resource block value can be updated as the current modulation and coding level changes. The current modulation and coding level of the fallback service object may be adjusted due to changes in the wireless environment. Before each fallback compression record is generated, the slice resource allocation processor re-queries the number of effective bits carried by a single physical resource block within a scheduling period. If the current modulation and coding level decreases, the number of effective bits carried by a single physical resource block within a scheduling period decreases. Therefore, the number of keep-alive bits in the scheduling period obtained by allocating the control signaling bit length needs to be converted into a larger number of initial keep-alive resource blocks, and the minimum keep-alive resource block value obtained after rounding also increases accordingly. Conversely, when the current modulation and coding level is higher, the minimum keep-alive resource block value can be smaller. This processing ensures that the fallback compression record is consistent with the actual carrying capacity, guaranteeing that the fallback service object retains the necessary connection maintenance capability in the compressed state.
[0037] In one specific implementation, the slice resource allocation processor compresses the original physical resource block occupancy of a rollback service object to the minimum keep-alive resource block value, forming stripped resource blocks, and writes unsent data to a local hierarchical cache queue according to its timestamp. The compression process first calculates the difference between the original physical resource block occupancy of the rollback service object and the minimum keep-alive resource block value to obtain the number of stripped resource blocks. For example, if the original physical resource block occupancy of a rollback service object is six physical resource blocks and the minimum keep-alive resource block value is one physical resource block, then the number of stripped resource blocks is five physical resource blocks. The slice resource allocation processor deducts resource blocks from the original physical resource block occupancy of the rollback service object according to the number of stripped resource blocks, forming stripped resource blocks, and simultaneously records the current physical resource block occupancy of the rollback service object as the minimum keep-alive resource block value to avoid losing the original physical resource block occupancy during subsequent recovery.
[0038] Simultaneously with resource compression, the determination of unsent data is performed. The slice resource allocation processor calculates the amount of data carried in the rollback state based on the minimum keep-alive resource block size and the current modulation and coding level. The rollback state data carrying amount equals the minimum keep-alive resource block size multiplied by the number of effective bits carried by a single physical resource block in a scheduling cycle, then converted to bytes in eight bits. If the minimum keep-alive resource block size is one physical resource block, and the number of effective bits carried by a single physical resource block in a scheduling cycle is 120 bits, then the rollback state data carrying amount is 15 bytes. The slice resource allocation processor compares the amount of data to be sent from the rollback service object with the rollback state data carrying amount. The portion of the data to be sent that exceeds the rollback state data carrying amount is truncated as unsent data. Unsent data is not discarded but written to the generation timestamp and service type fields. The generation timestamp is taken from the current scheduling time, and the service type field uses the service type field of the rollback service object in the resource occupancy table. The slice resource allocation processor allocates unsent data after the timestamp is written to the corresponding cache level in the local hierarchical cache queue based on the maximum tolerable latency parameter corresponding to the service type field. For example, data packets with smaller maximum tolerable latency parameters enter the high-latency cache level, while data packets with larger maximum tolerable latency parameters enter the normal cache level. In this way, each data packet in the local hierarchical cache queue carries the timestamp, service type field, and data packet length required for subsequent judgment.
[0039] Specifically, when forming stripped resource blocks and writing them to the local hierarchical cache queue, the slice resource allocation processor processes rollback service objects one by one according to the service identifier. For each rollback service object, the minimum keep-alive resource block value is subtracted from the original physical resource block occupancy to obtain the number of stripped resource blocks. When the number of stripped resource blocks is zero, the rollback service object does not generate stripped resource blocks and does not enter the unsent data truncation. When the number of stripped resource blocks is greater than zero, the slice resource allocation processor calculates the rollback state carrying data volume according to the current modulation and coding level, and retains the data packets that can be carried by the rollback state carrying data volume from the data to be sent, with the remaining part as unsent data. If a data packet cannot be completely placed into the rollback state carrying data volume, in actual implementation, the data packet can be written as a whole into the unsent data according to the data packet integrity to avoid the inconsistency in subsequent data packet length statistics caused by splitting the data packet. After the unsent data is written to the generation timestamp and service type field, it enters the local hierarchical cache queue. The cache level is determined by the maximum tolerable latency parameter corresponding to the service type field. Therefore, the maximum tolerable latency parameter has a continuous use in cache layering and subsequent expired data packet eviction.
[0040] The stripped resource blocks are allocated to the relay protection service, and the resource release data of the relay protection service is collected according to the transmission time interval. Furthermore, the stripped resource blocks are allocated to relay protection services, and resource release data for relay protection services is collected at transmission time intervals, including: Extract the protection service data length and protection service latency requirements from the relay protection service establishment request; Generate the resource requirements for protection services based on the length of the protection service data and the latency requirements of the protection service; The number of currently available idle physical resource blocks is combined with the number of stripped resource blocks to obtain the number of resource blocks that can be allocated to the protected service. Based on the resource requirements of the protection services, the resource blocks occupied by the protection services are divided from the number of resource blocks available for allocation of the protection services, and a resource allocation record for the protection services is generated. Read the status of occupied resource blocks in the protection service resource allocation record according to the transmission time interval to obtain the current number of occupied resource blocks; The difference between the current number of occupied resource blocks and the number of occupied resource blocks in the previous transmission time interval is processed to generate resource release data; When the number of released resource blocks in the resource release data is greater than zero, the number of released resource blocks is marked as compensation physical resource blocks.
[0041] In one specific implementation, after the stripped resource blocks are formed, the slice resource allocation processor allocates the stripped resource blocks to relay protection services. To ensure that the resource allocation is consistent with the service requirements, the slice resource allocation processor extracts the protection service data length and protection service delay requirements from the relay protection service establishment request, and generates the protection service resource requirements based on the protection service data length and protection service delay requirements. The generation method can be as follows: first, determine the number of available scheduling cycles based on the protection service delay requirements; then, convert the protection service data length to bit length, and divide it by the product of the number of available scheduling cycles and the effective number of bits per physical resource block used by the current relay protection service to obtain the initial value of the protection service resource requirements; finally, perform integer rounding. Here, the unit of protection service data length can be bytes, which are converted to bits; the protection service delay requirements and scheduling cycles are both time units; and the unit of the converted protection service resource requirements is physical resource blocks.
[0042] The slice resource allocation processor merges the number of currently available idle physical resource blocks with the number of stripped resource blocks to obtain the number of resource blocks allocable to the protection service. For example, if the number of currently available idle physical resource blocks is fifteen and the number of stripped resource blocks is eighteen, then the number of resource blocks allocable to the protection service is thirty-three. The slice resource allocation processor divides the resource blocks occupied by the protection service from the number of allocable resource blocks according to the resource requirements of the protection service and generates a protection service resource allocation record. The protection service resource allocation record includes at least the service identifier of the relay protection service, the resource blocks occupied by the protection service, the data length of the protection service, the delay requirements of the protection service, and the status of the occupied resource blocks.
[0043] During relay protection service transmission, the slice resource allocation processor reads the status of occupied resource blocks from the protection service resource allocation record at transmission time intervals to obtain the current number of occupied resource blocks. It then performs difference processing between the current number of occupied resource blocks and the number of occupied resource blocks in the previous transmission time interval to generate resource release data. When the number of occupied resource blocks in the previous transmission time interval was thirty physical resource blocks and the current number of occupied resource blocks is twenty-two physical resource blocks, eight physical resource blocks are released, and the resource release data records this number of released resource blocks. When the number of released resource blocks in the resource release data is greater than zero, the slice resource allocation processor marks the released resource blocks as compensation physical resource blocks, which serve as input for the compensation loop.
[0044] Specifically, the generation of protection service resource allocation records is seamlessly integrated with subsequent resource release data collection. After the slice resource allocation processor divides the protection service resource blocks according to the resource requirements, it records the status of the occupied resource blocks for each transmission time interval in the protection service resource allocation record. The occupied resource block status can be "occupied," "released," or "pending release." The slice resource allocation processor reads the current number of occupied resource blocks once per transmission time interval and performs a difference calculation with the number of occupied resource blocks in the previous transmission time interval. If the current number of occupied resource blocks is less than the number in the previous transmission time interval, the absolute value of the difference is the number of released resource blocks; if they are equal, the number of released resource blocks is zero; if the current number of occupied resource blocks is greater than the number in the previous transmission time interval, it indicates that the relay protection service is still in an extended occupied state, and no compensation physical resource blocks are generated in this transmission time interval. Only when the number of released resource blocks is greater than zero does the slice resource allocation processor mark it as a compensation physical resource block and enter the compensation loop.
[0045] When the resource release data contains compensation physical resource blocks, the compensation loop is entered. The compensation loop includes: removing expired data packets based on timestamps and maximum tolerable latency parameters, generating a business compensation urgency value based on the residence time of the remaining data packets, the maximum tolerable latency parameters, and the cache queue data volume, allocating compensation physical resource blocks according to the business compensation urgency value, and updating the cache queue data volume. Furthermore, expired data packets are removed based on timestamps and maximum tolerable latency parameters, including: Read the timestamp, business type field, and data packet length of each data packet in the local hierarchical cache queue; Query the maximum tolerable latency parameter based on the business type field; Subtract the timestamp from the current scheduling time to obtain the dwell time of each data packet; Compare the dwell time with the maximum tolerable latency parameter packet by packet; When the dwell time exceeds the maximum tolerable latency parameter, the corresponding data packet will be moved from the local hierarchical cache queue to the expired data list; The length of the data packets moved into the expired data list is counted to obtain the amount of expired data; The updated cache queue data size is obtained by subtracting the expired data size from the cache queue data size.
[0046] Furthermore, based on the remaining data packet dwell time, maximum tolerable latency parameter, and cache queue data volume, a service compensation urgency value is generated. Compensation physical resource blocks are allocated according to the service compensation urgency value, and the cache queue data volume is updated, including: Read the local hierarchical cache queue after removing expired data packets, and extract the remaining data packets corresponding to each rollback business object; Calculate the proportion of the dwell time of each remaining data packet to the maximum tolerable delay parameter to obtain the delay occupancy ratio; The latency usage ratio of the remaining data packets under the same rollback service object is summarized to obtain the service latency usage value; The business latency consumption value is combined with the updated cache queue data volume to obtain the business compensation urgency value; The rollback business objects are sorted in descending order according to the urgency of business compensation to obtain the compensation ranking; The compensation physical resource blocks are allocated to the rollback business objects according to the compensation order, and a compensation resource allocation record is generated. The amount of data sent in this round is calculated based on the compensation resource allocation record, and the amount of data sent in this round is subtracted from the updated cache queue data amount to obtain the cache queue data amount after compensation in this round.
[0047] In one specific implementation, the compensation loop is initiated when the resource release data contains compensation physical resource blocks. The first step of the compensation loop is to remove expired data packets based on the timestamp and the maximum tolerable latency parameter. The slice resource allocation processor reads the timestamp, service type field, and data packet length of each data packet in the local hierarchical cache queue, and queries the corresponding maximum tolerable latency parameter based on the service type field.
[0048] Subsequently, the dwell time of each data packet is obtained by subtracting the timestamp from the current scheduling time. If the timestamp of a data packet is 10:00:00:010 milliseconds and the current scheduling time is 10:00:00:060 milliseconds, then the dwell time is 50 milliseconds. The dwell time and the maximum tolerable latency parameter are both in time units. The slice resource allocation processor compares the dwell time with the maximum tolerable latency parameter packet by packet. When the dwell time exceeds the maximum tolerable latency parameter, the corresponding data packet is moved from the local hierarchical cache queue to the expired data list. The expired data list is used to record data packets that have exceeded the maximum tolerable latency parameter, preventing such data packets from continuing to occupy compensation physical resource blocks. The slice resource allocation processor counts the length of the data packets moved to the expired data list to obtain the amount of expired data, and then subtracts the amount of expired data from the cache queue data volume to obtain the updated cache queue data volume. Since both the cache queue data volume and the expired data volume are counted in bytes, this subtraction process maintains consistency in units.
[0049] Specifically, expired data packet removal is performed at the beginning of each compensation cycle. The slice resource allocation processor reads the timestamp, service type field, and data packet length from the local hierarchical cache queue packet by packet. It queries the maximum tolerable latency parameter through the service type field and then subtracts the timestamp from the current scheduling time to obtain the dwell time. Data packets with a dwell time greater than the maximum tolerable latency parameter are moved to the expired data list, while data packets with a dwell time less than or equal to the maximum tolerable latency parameter are retained as remaining data packets. The expired data list can retain the service identifier, data packet length, timestamp, and move-in time for easy subsequent auditing; however, the amount of expired data is only calculated from the length of the data packets moved to the expired data list and is directly used to deduct the cache queue data volume. In this way, the cache queue data volume participating in the calculation of the service compensation urgency value has excluded data packets exceeding the maximum tolerable latency parameter, and will not bring invalid backlog into the compensation physical resource block allocation.
[0050] In one specific implementation, after expired data packets are removed, the compensation loop begins generating the service compensation urgency value. The slice resource allocation processor reads the local hierarchical cache queue after the expired data packets are removed and extracts the remaining data packets corresponding to each rollback service object. For each remaining data packet, the slice resource allocation processor calculates the ratio of its dwell time to the maximum tolerable latency parameter, obtaining the latency occupancy ratio. The latency occupancy ratio is a dimensionless value; for example, if the dwell time is 60 milliseconds and the maximum tolerable latency parameter is 100 milliseconds, then the latency occupancy ratio is 0.6. Then, the slice resource allocation processor summarizes the latency occupancy ratios of the remaining data packets under the same rollback service object to obtain the service latency occupancy value. The summation can be done by addition or by weighted summation based on data packet length. When using weighted summation based on data packet length, the latency occupancy ratio of each remaining data packet is multiplied by the data packet length of that remaining data packet, summed, and then divided by the total data packet length of the remaining data packets under the same rollback service object. The resulting service latency occupancy value is still a dimensionless value. To simultaneously reflect latency pressure and data backlog, the slice resource allocation processor synthesizes the service latency occupancy value with the updated cache queue data volume to obtain the service compensation urgency value. In practical applications, the updated cache queue data volume can be first divided by a standard data volume to obtain a dimensionless cache occupancy value, which is then multiplied by the service latency occupancy value to form the service compensation urgency value. The standard data volume can be taken as the average data transmission volume of the distribution automation service within a normal scheduling cycle. In this way, all data involved in the synthesis are converted into dimensionless quantities, the calculation logic is clear, and there is no unit mixing.
[0051] After obtaining the service compensation urgency values for each rollback service object, the slice resource allocation processor sorts the rollback service objects in descending order according to their service compensation urgency values, resulting in a compensation sort. This compensation sort differs from the aforementioned rollback sort; rollback sort is primarily used for resource compression before relay protection services are established, while compensation sort is used for buffer emptying after relay protection services release resources. The slice resource allocation processor allocates compensation physical resource blocks to the rollback service objects according to the compensation sort and generates compensation resource allocation records. These records include the service identifier of the rollback service object, the number of compensation physical resource blocks allocated in this round, the current modulation and coding level, and the current scheduling cycle. Subsequently, the slice resource allocation processor calculates the amount of data to be transmitted in this round based on the compensation resource allocation records. The amount of data to be transmitted in this round is equal to the number of compensation physical resource blocks allocated in this round multiplied by the number of effective bits carried by a single physical resource block within a scheduling cycle, and then converted to bytes according to data storage units. The slice resource allocation processor subtracts the amount of data sent in the current round from the updated cache queue data volume to obtain the cache queue data volume after compensation in the current round. If the amount of data sent in the current round is greater than the updated cache queue data volume, the cache queue data volume after compensation in the current round is recorded as zero, and the unused compensation physical resource blocks can continue to be allocated to subsequent rollback business objects in the same round according to the compensation sorting.
[0052] Specifically, the calculation of the service compensation urgency value maintains a uniform scale across different rollback service objects. The slice resource allocation processor extracts the remaining data packets for each rollback service object, calculates the latency occupancy ratio of each remaining data packet, and summarizes them to obtain the service latency occupancy value. The updated cache queue data volume reflects the amount of data that the rollback service object still needs to compensate, and the service latency occupancy value reflects how close its remaining data packets are to the maximum tolerable latency parameter. To avoid directly adding the byte volume to a dimensionless ratio, the slice resource allocation processor divides the updated cache queue data volume by the standard data volume to obtain the cache occupancy value, and then sets the service compensation urgency value to the product of the service latency occupancy value and the cache occupancy value. The standard data volume is taken from the average data volume sent by the rollback service object in a scheduling cycle under non-rollback conditions, derived from the resource occupancy table and historical scheduling records. The resulting service compensation urgency value can be compared across different rollback service objects and directly used to form the compensation ranking.
[0053] When the cache queue data volume reaches zero, restore the original physical resource block occupancy of the rollback business object and output the final slice resource allocation strategy; when the cache queue data volume does not reach zero and the total compensation execution time is less than the preset time limit, return to the compensation loop.
[0054] Furthermore, when the cache queue data volume reaches zero, the original physical resource block occupancy of the rollback business object is restored and the final slice resource allocation strategy is output; when the cache queue data volume does not reach zero and the total compensation execution time is less than the preset time limit, the compensation loop is returned, including: After each compensation cycle ends, read the cache queue data volume after this round of compensation, the current physical resource block usage of the rollback business object, and the total compensation execution time; When the amount of cached queue data after this round of compensation is equal to zero, a resource recovery flag is generated; Based on the resource recovery marker, the current physical resource block occupancy of the rollback business object is filled back to the original physical resource block occupancy; The physical resource block occupancy after backfilling, the protection business resource allocation record, and the compensation resource allocation record are merged to form the final slice resource allocation strategy. When the amount of cached queue data after this round of compensation is greater than zero and the total compensation execution time is less than the preset time limit, the amount of cached queue data after this round of compensation is written back to the local hierarchical cache queue, and the compensation loop is returned.
[0055] In one specific implementation, after each compensation cycle, the slice resource allocation processor reads the cache queue data volume after compensation, the current physical resource block occupancy of the rollback service object, and the total compensation execution time. The total compensation execution time is accumulated from the moment the compensation cycle begins, and can be accumulated according to the transmission time interval. If the cache queue data volume after compensation is zero, the slice resource allocation processor generates a resource recovery flag and, based on the resource recovery flag, backfills the current physical resource block occupancy of the rollback service object to the original physical resource block occupancy. This backfilling does not re-establish the service connection, but rather restores the resource configuration, originally compressed to the minimum keep-alive resource block value, to its pre-compression state according to the original physical resource block occupancy saved in the rollback compression record. After backfilling is completed, the slice resource allocation processor merges the backfilled physical resource block occupancy, the protection service resource allocation record, and the compensation resource allocation record to form the final slice resource allocation strategy. The final slice resource allocation strategy may include the number of physical resource blocks corresponding to each service identifier, the scheduling cycle, the status of occupied resource blocks, the status of the local hierarchical cache queue, and the protection service resource allocation record, for subsequent scheduling of the distribution network communication slice.
[0056] If the cache queue data volume after this round of compensation is greater than zero, and the total compensation execution time is less than the preset time limit, the slice resource allocation processor writes the cache queue data volume after this round of compensation back to the local hierarchical cache queue and returns to execute the compensation loop. The preset time limit can be determined based on the maximum tolerable delay parameter set of the distribution automation business, for example, taking the larger value of the maximum tolerable delay parameter among the participating rollback business objects, and setting an upper limit in combination with the slice recovery strategy. After returning to the compensation loop, the slice resource allocation processor rereads the timestamp, service type field, and data packet length of each data packet in the local hierarchical cache queue, recalculates the dwell time, removes expired data packets again, and generates a new business compensation urgency value. Since each round of compensation loop is recalculated based on the current scheduling time and the cache queue data volume after this round of compensation, the compensation physical resource block is not fixedly allocated to the same rollback business object, but is adjusted according to the state changes of the local hierarchical cache queue. If the total compensation execution time has reached the preset time limit but there is still cache queue data, the slice resource allocation processor can end the current compensation cycle and keep the remaining cache queue data in the local hierarchical cache queue for processing in subsequent normal scheduling cycles. In this case, the final slice resource allocation strategy records the service identifier that has not been compensated and the remaining cache queue data to ensure consistency in the subsequent resource occupancy table.
[0057] Specifically, in the final recovery phase, the slice resource allocation processor uses the amount of cached queue data after this round of compensation as the criterion for whether to generate a resource recovery flag. When the amount of cached queue data after this round of compensation is zero, it indicates that the remaining data packets corresponding to the rollback service object in the local hierarchical cache queue have been sent or have been moved to the expired data list in the previous round. The slice resource allocation processor generates a resource recovery flag and performs backfilling based on the original physical resource block occupancy stored in the rollback compression record. The backfilled physical resource block occupancy is written to the resource occupancy table and merged with the protection service resource allocation record and the compensation resource allocation record to form the final slice resource allocation strategy. If the amount of cached queue data after this round of compensation is greater than zero and the total compensation execution time is less than the preset time limit, the slice resource allocation processor does not immediately restore the original physical resource block occupancy. Instead, it writes the amount of cached queue data after this round of compensation back to the local hierarchical cache queue and returns to the compensation loop in the next transmission time interval. This loop process allows the compensation physical resource blocks released by the relay protection service to be reallocated according to the real-time status of the data packets until the amount of cached queue data returns to zero or the total compensation execution time reaches the preset time limit.
[0058] In one specific implementation, the above data flow can be illustrated by a fault repair process. A certain distribution network communication slice has a total of 120 physical resource blocks at the current scheduling time. The resource occupancy table shows that 106 physical resource blocks are occupied, and 14 physical resource blocks are currently available and idle. The slice resource allocation processor receives a slice access data stream, parses the service type field to determine that it represents a relay protection event, then extracts the fault alarm node identifier from the data load area, imports the fault alarm node identifier into the power grid geographic topology mapping library to obtain the corresponding physical line coordinate fragment, and converts it into fault location information. The protection service data length and protection service delay requirement in the relay protection service establishment request are calculated to require 32 physical resource blocks. The number of currently available and idle physical resource blocks is lower than the preset allocation threshold. Therefore, the slice resource allocation processor reads the original physical resource block occupancy, buffer queue data volume, electrical topology distance, and maximum tolerable delay parameters of each distribution automation service, and generates a rollback sort.
[0059] In this example, three distribution automation services are extracted as rollback service objects. The slice resource allocation processor reads the connection hold period, control signaling bit length, and current modulation and coding level of each of the three rollback service objects, generates the corresponding minimum keep-alive resource block value, and forms a rollback compression record. If the original physical resource block occupancy of the three rollback service objects is six, five, and four physical resource blocks respectively, and the corresponding minimum keep-alive resource block value is one physical resource block, then the total number of stripped resource blocks is twelve physical resource blocks. After merging the currently available fourteen physical resource blocks with the twelve stripped resource blocks, the number of resource blocks that can be allocated to the protection service is twenty-six physical resource blocks. If this is still lower than the resource requirement of the protection service, the slice resource allocation processor continues to extract the next distribution automation service from the rollback sorting front and repeats the minimum keep-alive resource block value generation and resource block stripping process until the number of resource blocks that can be allocated to the protection service meets the resource requirement of the protection service. At the same time, data packets exceeding the data capacity of the rollback state in each rollback business object are written to the generation timestamp and business type fields, and enter the corresponding cache level of the local hierarchical cache queue according to the maximum tolerable latency parameter.
[0060] After relay protection services begin transmission, the slice resource allocation processor no longer waits for the relay protection services to completely finish before processing distribution automation services. Instead, it collects resource release data for relay protection services at transmission intervals. As long as the number of released resource blocks is greater than zero in a given transmission interval, that number is marked as compensation physical resource blocks, and the compensation loop begins. Within the compensation loop, expired data packets are first removed, and then a service compensation urgency value is generated based on the remaining data packets' dwell time, maximum tolerable delay parameters, and the amount of data in the buffer queue. Backoff service objects with higher compensation urgency values are prioritized in the compensation order and receive compensation physical resource blocks first. The amount of data in the buffer queue after this round of compensation is written back to the local hierarchical buffer queue and continues to participate in dwell time calculations in the next compensation loop. Because the dwell time of data packets changes with the current scheduling time, the compensation order also changes accordingly. The entire process reflects a cyclical resource allocation method that adjusts in real time according to data status. Example
[0061] This application also discloses a power grid communication network slice resource allocation system.
[0062] Reference Figure 2 A power grid communication network slicing resource allocation system, comprising: The data receiving module is used to receive relay protection service establishment requests containing fault location information; obtain the number of currently available idle physical resource blocks in the distribution network communication slice, as well as the original physical resource block occupancy, cache queue data volume, electrical topology distance, and maximum tolerable delay parameters of each distribution automation service within the slice; The sorting and selection module is used to generate a rollback sort in descending order of electrical topology distance and ascending order of cache queue data volume when the number of currently available idle physical resource blocks is lower than a preset allocation threshold, and to select rollback business objects from the rollback sort. The data compression module is used to generate the minimum keep-alive resource block value based on the signaling interaction overhead of the rollback service object, compress the original physical resource block occupancy of the rollback service object to the minimum keep-alive resource block value, form a stripped resource block, and write the unsent data into the local hierarchical cache queue according to the timestamp. The allocation and acquisition module is used to allocate stripped resource blocks to relay protection services and to collect resource release data of relay protection services at transmission time intervals. The compensation loop module is used to enter the compensation loop when the resource release data contains compensation physical resource blocks. The compensation loop includes: removing expired data packets based on timestamps and maximum tolerable latency parameters, generating a business compensation urgency value based on the residence time of the remaining data packets, the maximum tolerable latency parameters, and the cache queue data volume, allocating compensation physical resource blocks according to the business compensation urgency value, and updating the cache queue data volume. The strategy output module is used to restore the original physical resource block occupancy of the rollback business object and output the final slice resource allocation strategy when the cache queue data volume is zero; when the cache queue data volume is not zero and the total compensation execution time is less than the preset time limit, it returns to the compensation loop.
[0063] The above content is merely an example and illustration of the concept of the present invention. Those skilled in the art can make various modifications or additions to the specific embodiments described or use similar methods to replace them, as long as they do not deviate from the concept of the invention, they should all fall within the protection scope of the present invention.
[0064] In the description of this specification, references to terms such as "an embodiment," "example," "specific example," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0065] The preferred embodiments of the present invention disclosed above are merely illustrative of the invention. These preferred embodiments do not exhaustively describe all details, nor do they limit the invention to any specific implementation. Clearly, many modifications and variations can be made based on the content of this specification. This specification selects and specifically describes these embodiments to better explain the principles and practical applications of the invention, thereby enabling those skilled in the art to better understand and utilize the invention.
Claims
1. A method for allocating slicing resources in a power grid communication network, characterized in that, Includes the following steps: Receive relay protection service establishment requests containing fault location information; obtain the number of currently available idle physical resource blocks in the distribution network communication slice, as well as the original physical resource block occupancy, cache queue data volume, electrical topology distance, and maximum tolerable delay parameters for each distribution automation service within the slice; When the number of available idle physical resource blocks is lower than the preset allocation threshold, a rollback sort is generated in descending order of electrical topology distance and ascending order of cache queue data volume, and rollback business objects are selected from the rollback sort. Based on the signaling interaction overhead of the rollback service object, generate the minimum keep-alive resource block value, compress the original physical resource block occupancy of the rollback service object to the minimum keep-alive resource block value, form a stripped resource block, and write the unsent data into the local hierarchical cache queue according to the timestamp. The stripped resource blocks are allocated to the relay protection service, and the resource release data of the relay protection service is collected according to the transmission time interval. The compensation loop begins when the resource release data contains compensation physical resource blocks. The compensation cycle includes: removing expired data packets based on timestamps and maximum tolerable latency parameters; generating a business compensation urgency value based on the residence time of the remaining data packets, the maximum tolerable latency parameter, and the cache queue data volume; allocating compensation physical resource blocks according to the business compensation urgency value and updating the cache queue data volume. When the cache queue data volume reaches zero, restore the original physical resource block occupancy of the rollback business object and output the final slice resource allocation strategy; when the cache queue data volume does not reach zero and the total compensation execution time is less than the preset time limit, return to the compensation loop.
2. The method for allocating power grid communication network slice resources according to claim 1, characterized in that, Receive a relay protection service establishment request containing fault location information, including: Collect slice access data streams reported by distribution network service terminals, parse the header of the slice access data streams, and extract the service type field; When the service type field represents a relay protection event, the sliced access data stream is determined to be a relay protection service establishment request; Decapsulate the data load area of the relay protection service establishment request and extract the fault alarm node identifier that triggered the current service request; Import the fault alarm node identifier into the power grid geographic topology mapping library for node query, and extract the physical line coordinate fragments bound to the fault alarm node identifier; The physical line coordinate fragments are converted into fault location information, and the fault location information is written into the relay protection service establishment request.
3. The method for allocating power grid communication network slice resources according to claim 1, characterized in that, Obtain the current number of available idle physical resource blocks in the distribution network communication slice, as well as the original physical resource block occupancy, buffer queue data volume, electrical topology distance, and maximum tolerable latency parameters for each distribution automation service within the slice, including: Read the resource occupancy table of the distribution network communication slice, extract the total number of physical resource blocks and the number of occupied physical resource blocks of the slice, and subtract the number of occupied physical resource blocks from the total number of physical resource blocks of the slice to obtain the current number of available free physical resource blocks; Filter the business records in the resource occupancy table whose business type field is distribution automation business, and extract the original physical resource block occupancy of each business record; Read the local cache index corresponding to each power distribution automation business, count the length of the data packets to be sent in the local cache index, and obtain the cache queue data volume; The fault location information is matched with the preset power grid topology adjacency table to determine the fault topology node; The access node and fault topology node of the distribution automation service are traversed in the preset power grid topology adjacency table, and the number of electrical connection segments on the path is counted to obtain the electrical topology distance. The maximum tolerable delay parameter is obtained by querying the preset delay level table based on the business type field of the power distribution automation business.
4. The method for allocating power grid communication network slice resources according to claim 3, characterized in that, A rollback sort is generated based on descending electrical topology distance and ascending cache queue data volume. Rollback business objects are then selected from the rollback sort, including: The electrical topology distances of each power distribution automation service are numbered in descending order to obtain the topology distance sequence number; The cache queue data volume of each power distribution automation service is numbered in ascending order to obtain the cache data volume sequence number; The topology distance index and the cached data volume index are combined in the same direction to obtain the backoff priority value; The distribution automation services are sorted according to the rollback priority value to generate a rollback sort; The resource gap is obtained by comparing the resource demand of the protection service in the relay protection service establishment request with the number of currently available idle physical resource blocks; Extract distribution automation services sequentially from the rollback sort front end, and accumulate the number of strippable resource blocks for each distribution automation service; When the cumulative number of strippable resource blocks reaches the resource gap, the extracted distribution automation services will be marked as rollback service objects.
5. The method for allocating power grid communication network slice resources according to claim 1, characterized in that, The minimum keep-alive resource block value is generated based on the signaling interaction overhead of the rollback service object, including: Read the connection hold period, control signaling bit length, and current modulation and coding level of the fallback service object; Based on the current modulation and coding level, query the number of effective bits carried by a single physical resource block within a scheduling cycle; The control signaling bit length is distributed to each scheduling cycle according to the connection keep-alive period to obtain the number of keep-alive bits in the scheduling cycle. The number of keep-alive bits in the scheduling period is converted into resource blocks according to the number of effective bits to obtain the initial number of keep-alive resource blocks; Round the initial number of keep-alive resource blocks to the nearest integer to generate the minimum number of keep-alive resource blocks; The minimum keep-alive resource block value is bound to the business identifier of the rollback business object to form a rollback compression record.
6. The method for allocating power grid communication network slice resources according to claim 5, characterized in that, The original physical resource block occupancy of the rollback business object is compressed to the minimum keep-alive resource block value, forming a stripped resource block, and unsent data is written to the local hierarchical cache queue according to the timestamp, including: The difference between the original physical resource block occupancy of the rollback business object and the minimum keep-alive resource block value is calculated to obtain the number of stripped resource blocks; The number of stripped resource blocks is determined by deducting resource blocks from the original physical resource block occupancy of the rollback business object based on the number of stripped resource blocks; The amount of data carried in the fallback state is calculated based on the minimum keep-alive resource block size and the current modulation and coding level. The amount of data to be sent for the rollback service object is compared with the amount of data carried in the rollback state, and data packets exceeding the amount of data carried in the rollback state are extracted as unsent data. Write the generated timestamp and business type fields to the unsent data; Based on the maximum tolerable latency parameter corresponding to the business type field, the unsent data after the timestamp is written is allocated to the corresponding cache level in the local hierarchical cache queue.
7. A method for allocating slicing resources in a power grid communication network according to claim 6, characterized in that, The stripped resource blocks are allocated to relay protection services, and resource release data for relay protection services is collected at transmission intervals, including: Extract the protection service data length and protection service latency requirements from the relay protection service establishment request; Generate the resource requirements for protection services based on the length of the protection service data and the latency requirements of the protection service; The number of currently available idle physical resource blocks is combined with the number of stripped resource blocks to obtain the number of resource blocks that can be allocated to the protected service. Based on the resource requirements of the protection services, the resource blocks occupied by the protection services are divided from the number of resource blocks available for allocation of the protection services, and a resource allocation record for the protection services is generated. Read the status of occupied resource blocks in the protection service resource allocation record according to the transmission time interval to obtain the current number of occupied resource blocks; The difference between the current number of occupied resource blocks and the number of occupied resource blocks in the previous transmission time interval is processed to generate resource release data; When the number of released resource blocks in the resource release data is greater than zero, the number of released resource blocks is marked as compensation physical resource blocks.
8. A method for allocating power grid communication network slice resources according to claim 7, characterized in that, Expired data packets are removed based on timestamps and maximum tolerable latency parameters, including: Read the timestamp, business type field, and data packet length of each data packet in the local hierarchical cache queue; Query the maximum tolerable latency parameter based on the business type field; Subtract the timestamp from the current scheduling time to obtain the dwell time of each data packet; Compare the dwell time with the maximum tolerable latency parameter packet by packet; When the dwell time exceeds the maximum tolerable latency parameter, the corresponding data packet will be moved from the local hierarchical cache queue to the expired data list; The length of the data packets moved into the expired data list is counted to obtain the amount of expired data; The updated cache queue data size is obtained by subtracting the expired data size from the cache queue data size.
9. A method for allocating slicing resources in a power grid communication network according to claim 8, characterized in that, Based on the remaining data packet dwell time, maximum tolerable latency parameter, and cache queue data volume, a service compensation urgency value is generated. Compensation physical resource blocks are allocated according to the service compensation urgency value, and the cache queue data volume is updated, including: Read the local hierarchical cache queue after removing expired data packets, and extract the remaining data packets corresponding to each rollback business object; Calculate the proportion of the dwell time of each remaining data packet to the maximum tolerable delay parameter to obtain the delay occupancy ratio; The latency usage ratio of the remaining data packets under the same rollback service object is summarized to obtain the service latency usage value; The business latency consumption value is combined with the updated cache queue data volume to obtain the business compensation urgency value; The rollback business objects are sorted in descending order according to the urgency of business compensation to obtain the compensation ranking; The compensation physical resource blocks are allocated to the rollback business objects according to the compensation order, and a compensation resource allocation record is generated. The amount of data sent in this round is calculated based on the compensation resource allocation record, and the amount of data sent in this round is subtracted from the updated cache queue data amount to obtain the cache queue data amount after compensation in this round.
10. A method for allocating slicing resources in a power grid communication network according to claim 9, characterized in that, When the cache queue data volume reaches zero, restore the original physical resource block occupancy of the rollback business object and output the final slice resource allocation strategy; When the cache queue data volume is not zero and the total compensation execution time is less than the preset time limit, return to the compensation loop, including: After each compensation cycle ends, read the cache queue data volume after this round of compensation, the current physical resource block usage of the rollback business object, and the total compensation execution time; When the amount of cached queue data after this round of compensation is equal to zero, a resource recovery flag is generated; Based on the resource recovery marker, the current physical resource block occupancy of the rollback business object is filled back to the original physical resource block occupancy; The physical resource block occupancy after backfilling, the protection business resource allocation record, and the compensation resource allocation record are merged to form the final slice resource allocation strategy. When the amount of cached queue data after this round of compensation is greater than zero and the total compensation execution time is less than the preset time limit, the amount of cached queue data after this round of compensation is written back to the local hierarchical cache queue, and the compensation loop is returned.
11. A power grid communication network slice resource allocation system, applied to the power grid communication network slice resource allocation method according to any one of claims 1-10, characterized in that, include: The data receiving module is used to receive relay protection service establishment requests containing fault location information; Obtain the number of currently available idle physical resource blocks in the distribution network communication slice, as well as the original physical resource block occupancy, cache queue data volume, electrical topology distance, and maximum tolerable delay parameters for each distribution automation service within the slice; The sorting and selection module is used to generate a rollback sort in descending order of electrical topology distance and ascending order of cache queue data volume when the number of currently available idle physical resource blocks is lower than a preset allocation threshold, and to select rollback business objects from the rollback sort. The data compression module is used to generate the minimum keep-alive resource block value based on the signaling interaction overhead of the rollback service object, compress the original physical resource block occupancy of the rollback service object to the minimum keep-alive resource block value, form a stripped resource block, and write the unsent data into the local hierarchical cache queue according to the timestamp. The allocation and acquisition module is used to allocate stripped resource blocks to relay protection services and to collect resource release data of relay protection services at transmission time intervals. The compensation loop module is used to enter the compensation loop when the resource release data contains compensation physical resource blocks; The compensation cycle includes: removing expired data packets based on timestamps and maximum tolerable latency parameters; generating a business compensation urgency value based on the residence time of the remaining data packets, the maximum tolerable latency parameter, and the cache queue data volume; allocating compensation physical resource blocks according to the business compensation urgency value and updating the cache queue data volume. The strategy output module is used to restore the original physical resource block occupancy of the rollback business object and output the final slice resource allocation strategy when the cache queue data volume is zero; when the cache queue data volume is not zero and the total compensation execution time is less than the preset time limit, it returns to the compensation loop.