Dynamic resource allocation method, device and electronic device for self-organizing network
By synchronizing the use of preset frame structures and priority codes in the self-organizing network, the problems of high collision probability and high overhead in the resource application process are solved, high efficiency and low latency of resource application are achieved, and the user experience is improved.
Patent Information
- Application Number
- CN202411318560.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-20
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2044-09-20
AI Technical Summary
In the prior art, the resource application process in a self-organizing network has a high probability of collision and a high resource application overhead, resulting in low resource utilization efficiency and poor user experience.
By synchronizing the preset frame structure in the self-organizing network, each frame period includes a control frame and a data frame. The node obtains the first priority code according to the preset priority rule and sends it to the neighboring node for conflict detection and resolution, simplifying the resource application process and reducing the collision probability and overhead.
It simplifies the resource application process, reduces resource application overhead and business delays, improves resource application efficiency, and enhances user experience.
Smart Images

Figure CN119255395B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a method, device and electronic device for dynamic resource allocation in a self-organizing network. Background Art
[0002] As a distributed, autonomous, multi-hop network, wireless ad hoc networks enable communication between nodes without requiring fixed infrastructure. To efficiently utilize wireless channels in ad hoc networks and avoid resource conflicts between nodes within a two-hop range, dynamic resource allocation is commonly used.
[0003] Existing dynamic allocation methods include the five-step resource reservation method. This method is a fully distributed, localized broadcast resource reservation method that supports concurrent resource requests and time slot reuse. Nodes outside a two-hop range can choose to concurrently process resource requests from the same time slot, enabling time slot reuse across different locations.
[0004] However, in the existing technology, resource application has high overhead, low efficiency, and large service latency, resulting in poor user experience. Summary of the Invention
[0005] The embodiments of the present application provide a method, device and electronic device for dynamic resource allocation in a self-organizing network, which are used to solve the technical problems of high collision probability, high resource application overhead and low overall resource utilization efficiency in the resource application process of the prior art.
[0006] In a first aspect, an embodiment of the present application provides a method for dynamic resource allocation in a self-organizing network, wherein the self-organizing network includes a plurality of nodes, including:
[0007] Synchronizing a preset frame structure among the multiple nodes, wherein each frame period of the preset frame structure includes a control frame and multiple data frames, wherein the control frame includes multiple control time slots, wherein the multiple control time slots are respectively used for resource application of the multiple data frames, wherein each control time slot includes: a resource application time slot and a conflict resolution time slot;
[0008] When any node in the self-organizing network is triggered to apply for resources, the node obtains a first priority code according to a preset priority rule;
[0009] Any node sends the first priority code to all neighboring nodes in the resource application time slot of the most recent control time slot;
[0010] Each neighbor node performs a conflict detection on all first priority codes received in the resource application time slot to obtain a detection result;
[0011] If each neighbor node determines that the detection result is that no conflict occurs, then no information is sent in the conflict resolution time slot of the control time slot;
[0012] If each neighboring node determines that the detection result is a conflict, it compares the priorities of all the first priority codes to obtain a second priority code, and returns the second priority code to the corresponding neighboring node in the conflict resolution time slot of the control time slot;
[0013] Any node monitors the conflict resolution time slot to obtain a monitoring result, wherein the monitoring result is no information is received or the second priority code is received;
[0014] When any one of the nodes determines that the monitoring result is that no information is received or the priority of the received second priority code is lower than the priority of the first priority code, it determines that the resource application is successful to complete the resource allocation.
[0015] Optionally, according to the method described above, any one node obtains the first priority code according to a preset priority rule, including: any one node determines the business priority and user priority of this resource application; any one node calculates the resource application priority based on the business priority and user priority; any one node matches the corresponding priority code pool in the code pool based on the resource application priority, wherein the code pool includes multiple priority code pools with different priorities, wherein each priority code pool includes multiple priority codes with different priorities; any one node randomly obtains a priority code in the priority code pool, and determines the priority code as the first priority code.
[0016] Optionally, in the method as described above, the first priority code includes priority information of the resource application; accordingly, comparing the priorities of all the first priority codes to obtain the second priority code includes: each neighbor node obtains the priority information of all the first priority codes; each neighbor node sorts all the first priority codes in descending order according to the priority information to obtain a priority code sequence; each neighbor node determines that the first priority code ranked second in the priority code sequence is the second priority code.
[0017] Optionally, in the method described above, the priority information includes a code pool priority and a code priority; accordingly, each neighbor node sorts all the first priority codes in descending order of priority based on the priority information to obtain a priority code sequence, including: each neighbor node determines whether different first priority codes have the same code pool priority; if each neighbor node determines that no different first priority codes have the same code pool priority, sorting all the first priority codes in descending order of the code pool priority to obtain a priority code sequence; if each neighbor node determines that different first priority codes have the same code pool priority, sorting all the first priority codes in descending order of the code pool priority to obtain a code pool priority sequence; and sorting different first priority codes with the same code pool priority in the code pool priority sequence in descending order of the code priority to obtain a priority code sequence.
[0018] Optionally, according to the method described above, after any one node monitors the conflict resolution time slot to obtain the monitoring result, it also includes: when any one node determines that the second priority code received in the monitoring result is the same as the first priority code, or the priority of the second priority code is higher than the first priority code, it determines that the resource application has failed, and after a random number of control time slots, re-executes the step of "any one node sends the first priority code to all neighboring nodes in the resource application time slot of the most recent control time slot."
[0019] In a second aspect, an embodiment of the present application provides a dynamic resource allocation device for a self-organizing network, wherein the self-organizing network includes a plurality of nodes, including:
[0020] a synchronization module, configured to synchronize a preset frame structure among the multiple nodes, wherein each frame period of the preset frame structure includes a control frame and multiple data frames, wherein the control frame includes multiple control time slots, wherein the multiple control time slots are respectively used for resource application of the multiple data frames, wherein each control time slot includes: a resource application time slot and a conflict resolution time slot;
[0021] an acquisition module, configured to, when any node in the self-organizing network is triggered to apply for resources, obtain a first priority code according to a preset priority rule;
[0022] a sending module, configured for any node to send the first priority code to all neighboring nodes in a resource application time slot of a recent control time slot;
[0023] a detection module, configured for each neighbor node to perform conflict detection on all first priority codes received in the resource application time slot to obtain a detection result;
[0024] The sending module is further configured to not send any information in the conflict resolution time slot of the control time slot if each neighbor node determines that the detection result is that no conflict occurs;
[0025] a comparison module, configured to compare the priorities of all the first priority codes to obtain a second priority code if each neighbor node determines that the detection result is a conflict, and return the second priority code to the corresponding neighbor node in the conflict resolution time slot of the control time slot;
[0026] a monitoring module, configured for any node to monitor the conflict resolution time slot to obtain a monitoring result, wherein the monitoring result is no information is received or the second priority code is received;
[0027] The determination module is used for any node to determine that the resource application is successful to complete resource allocation when it determines that the monitoring result is that no information is received or the priority of the second priority code received is lower than the priority of the first priority code.
[0028] Optionally, in the device as described above, the acquisition module is specifically used for: any one node determines the business priority and user priority of this resource application; any one node calculates the resource application priority based on the business priority and user priority; any one node matches the corresponding priority code pool in the code pool based on the resource application priority, wherein the code pool includes multiple priority code pools with different priorities, wherein each priority code pool includes multiple priority codes with different priorities; any one node randomly obtains a priority code in the priority code pool, and determines the priority code as the first priority code.
[0029] In a third aspect, an embodiment of the present application provides a self-organizing network system, which includes multiple nodes; the self-organizing network system is used to execute the dynamic resource allocation method of the self-organizing network as described in the first aspect and various possible designs of the first aspect.
[0030] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are executed by a processor, they are used to implement the dynamic resource allocation method of the self-organizing network as described in the first aspect and various possible designs of the first aspect.
[0031] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the dynamic resource allocation method for a self-organizing network as described in the first aspect and various possible designs of the first aspect.
[0032] The present application provides a method, device, and electronic device for dynamic resource allocation in a self-organizing network. Any node obtains a first priority code according to a preset priority rule, and sends the first priority code to all neighboring nodes in a resource application time slot. Each neighboring node performs conflict detection on all first priority codes received in the resource application time slot. If the detection result is that no conflict occurs, no information is sent in the conflict resolution time slot. If the detection result is that a conflict occurs, the priorities of all first priority codes are compared to obtain a second priority code, and the second priority code is returned to the corresponding neighboring node in the conflict resolution time slot. Any node monitors the conflict resolution time slot, and when it determines that the monitoring result is that no information is received or that the priority of the received second priority code is lower than the first priority code, it determines that the resource application is successful to complete the resource allocation. This simplifies the resource application process, reduces resource application overhead and service delay, reduces the collision probability of resource applications, improves resource application efficiency, and thus improves user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0034] Figure 1 A schematic diagram of a frame period of a frame structure of a five-step resource reservation method;
[0035] Figure 2 A schematic diagram of a flow chart of a method for dynamic resource allocation in a self-organizing network provided in one embodiment of the present application;
[0036] Figure 3 A schematic diagram of a preset frame structure provided in one embodiment of the present application;
[0037] Figure 4 An example diagram of a code pool provided for one embodiment of the present application;
[0038] Figure 5 A schematic diagram of the structure of a dynamic resource allocation device for a self-organizing network provided in an embodiment of the present application;
[0039] Figure 6 A schematic diagram of a self-organizing network system provided in an embodiment of the present application.
[0040] The above drawings illustrate specific embodiments of the present application, which will be described in more detail below. These drawings and the textual description are not intended to limit the scope of the present application in any way, but rather to illustrate the concepts of the present application to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION
[0041] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
[0042] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0043] The Five-Phase Reservation Protocol (FPRP) is a shared channel, time division multiple access (TDMA)-based broadcast resource dynamic application protocol. Nodes compete to obtain TDMA time slot resources. FPRP is a fully distributed, localized (i.e., the resource application process only involves nodes within a two-hop range) broadcast resource reservation method. The FPRP protocol supports concurrent processing of resource applications and time slot multiplexing. Resource applications between nodes outside the two-hop range do not conflict with each other, and the same time slot resources can be selected for concurrent processing, realizing time slot multiplexing in different spaces. Therefore, the FPRP protocol is very suitable for large-scale networks and networking scenarios with dynamically changing network scales, and can meet the efficient use of wireless channels in self-organizing networks.
[0044] Figure 1 This is a schematic diagram of a frame period of the frame structure of the five-step resource reservation method. Figure 1As shown, each frame period of the frame structure consists of a resource reservation frame (RF) and multiple information frames (IF). Each resource reservation frame contains N resource reservation slots (RS), which are mapped one-to-one with the information slots (IS) in the information frame. Each RS includes M resource reservation cycles (RC), and each RC consists of five session slots, which are used to complete a complete contention-based resource reservation session. If the current resource reservation fails, the node can continue to initiate resource reservation for the corresponding IS in subsequent RCs until the time slot resource is successfully reserved by the node itself or a one-hop or two-hop neighbor node. There are a total of M contention-based resource reservation opportunities, where the parameter M is an empirical parameter value for a given network.
[0045] The five-step resource reservation method based on contention includes: 1. Resource Reservation Request (RR): Node A initiates a resource reservation request; 2. Conflict Report (CR): Node A's neighbor node reports the resource reservation request conflict in step 1; 3. Resource Reservation Confirmation (RC): If node A does not receive a conflict report from a neighbor node, it assumes that no resource reservation request conflict has occurred and sends a resource reservation confirmation message to announce this resource reservation; 4. Resource Reservation Acknowledgment (RA): After receiving the resource reservation confirmation in step 3, node A's neighbor node issues a resource reservation acknowledgement and notifies node A's second-hop neighbor node of this resource reservation; 5. Packing / Elimination (P / E): After receiving the RA message, node A's second-hop neighbor node sends a packing message (RC). After receiving the PP, the three-hop neighbor will know that a node within its three-hop range has successfully reserved resources. Therefore, it will try to avoid applying for the corresponding resource (i.e., reduce the probability of applying for the resource). At the same time, the resource applying node A will send an Elimination Packet (EP) with a 50% probability to prevent potential neighbor nodes from also applying for the resource, which would cause a conflict and resolve the resource application island deadlock.
[0046] However, since the five-step resource reservation method requires five time slots for resource application, the resource application overhead and service delay are large. Since user priority and service priority are not taken into consideration, the collision probability of resource application is high and the efficiency is low, resulting in a poor user experience.
[0047] In order to solve the above technical problems, the embodiments of the present application propose the following technical ideas: Taking into account the high overhead, low efficiency, and long service delay of resource application in the five-step resource reservation method, which leads to poor user experience. The inventors have come up with a method that reduces the time slots used for resource application, calculates the resource application priority by using user priority and service priority, and uses the priority code corresponding to the resource priority for resource application and conflict resolution. This simplifies the resource application process, reduces resource application overhead and service delay, reduces the probability of resource application collisions, improves resource application efficiency, and thus improves user experience.
[0048] The following specific embodiments describe in detail the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0049] Figure 2 A flow chart of a dynamic resource allocation method for a self-organizing network provided in one embodiment of the present application. The self-organizing network includes multiple nodes. Figure 2 As shown, the method includes:
[0050] S201: Synchronize a preset frame structure in multiple nodes, wherein each frame period of the preset frame structure includes a control frame and multiple data frames, wherein the control frame includes multiple control time slots, wherein the multiple control time slots are respectively used for resource application of multiple data frames, wherein each control time slot includes: a resource application time slot and a conflict resolution time slot.
[0051] Figure 3 A schematic diagram of a preset frame structure provided for one embodiment of the present application.
[0052] S202: When any node in the self-organizing network is triggered to apply for resources, any node obtains a first priority code according to a preset priority rule.
[0053] Specifically, S202 includes S2021 to S2024:
[0054] S2021: Any node determines the business priority and user priority of this resource application.
[0055] Specifically, any node determines the service type of this application, queries the preset priority table according to the service type, and determines the service priority; any node determines the user identity and role; queries the preset priority table according to the user identity and role, and determines the user priority.
[0056] S2022: Any node calculates the resource application priority based on the business priority and user priority.
[0057] The formula for calculating resource application priority is: resource application priority = α*user priority + β*service priority.
[0058] Among them, α and β are weight parameters, which can be adjusted according to actual conditions.
[0059] S2023: Any node matches a corresponding priority code pool in the code pool according to the resource application priority, where the code pool includes multiple priority code pools of different priorities, and each priority code pool includes multiple priority codes of different priorities.
[0060] The priority code may be an orthogonal code or a quasi-orthogonal code.
[0061] The code pool is divided into multiple priority code pools, each priority code pool corresponds to a priority level, and the priorities of all priority code pools are different; each priority code pool contains multiple priority codes representing different priorities.
[0062] Exemplarily, the code pool includes priority code pools A, B, C, and D with decreasing priorities; priority code pool A includes priority codes A1, A2, A3, ..., An with decreasing priorities; priority code pool B includes priority codes B1, B2, B3, ..., Bn with decreasing priorities; among them, the priority of A1 is greater than that of A2, and the priority of A1 is greater than that of B1.
[0063] Figure 4 This is an example diagram of a code pool provided in one embodiment of the present application.
[0064] S2024: Any node randomly obtains a priority code from the priority code pool and determines the priority code as the first priority code.
[0065] S203: Any node sends a first priority code to all neighboring nodes in the resource application time slot of the nearest control time slot.
[0066] S204: Each neighbor node performs a conflict detection on all first priority codes received in the resource application time slot to obtain a detection result.
[0067] Specifically, each neighbor node calculates the number of all first priority codes received in the resource application time slot; if it is determined that the number of all first priority codes is equal to 1, a detection result of no conflict occurs is generated; if it is determined that the number of all first priority codes is greater than 1, a detection result of conflict occurs is generated.
[0068] S205: If each neighbor node determines that no conflict occurs as a result of the detection, it does not send any information in the conflict resolution time slot of the control time slot.
[0069] S206: If each neighbor node determines that the detection result is a conflict, it compares the priorities of all first priority codes to obtain a second priority code, and returns the second priority code to the corresponding neighbor node in the conflict resolution time slot of the control time slot.
[0070] The first priority code includes priority information of the resource application.
[0071] Specifically, S206 includes S2061 to S2063:
[0072] S2061: Each neighbor node obtains priority information of all first priority codes.
[0073] Specifically, each neighboring node parses the attribute information of all first priority codes, identifies and obtains the priority attribute, and obtains the priority information.
[0074] S2062: Each neighboring node sorts all first priority codes in descending order of priority according to the priority information to obtain a priority code sequence.
[0075] S2063: Each neighboring node determines the first priority code ranked second in the priority code sequence as the second priority code.
[0076] S207: Any node monitors the conflict resolution time slot to obtain a monitoring result, wherein the monitoring result is no information is received or the second priority code is received.
[0077] S208: When any node determines that the monitoring result is that no information is received or the priority of the received second priority code is lower than that of the first priority code, it determines that the resource application is successful to complete resource allocation.
[0078] Specifically, any node analyzes the monitoring result, and if it is determined that the monitoring result is that no information is received, it is determined that the resource application is successful, thereby completing resource allocation.
[0079] Specifically, any node parses the monitoring result to obtain a second priority code, and compares the priority of the second priority code with the priority of the first priority code. If the priority of the second priority code is lower than the priority of the first priority code, it is determined that the resource application is successful to complete the resource allocation.
[0080] From the above description, it can be seen that the present application obtains the first priority code according to the preset priority rules through any node, and sends the first priority code to all neighboring nodes in the resource application time slot; each neighboring node performs conflict detection on all first priority codes received in the resource application time slot. If the detection result is determined to be no conflict, no information is sent in the conflict resolution time slot. If the detection result is determined to be a conflict, the priorities of all first priority codes are compared to obtain the second priority code, and the second priority code is returned to the corresponding neighboring node in the conflict resolution time slot; any node monitors the conflict resolution time slot, and when it determines that the monitoring result is that no information is received or the priority of the received second priority code is lower than the first priority code, it determines that the resource application is successful to complete the resource allocation. This simplifies the resource application process, reduces resource application overhead and service delay, reduces the collision probability of resource applications, improves resource application efficiency, and thus improves user experience.
[0081] In one embodiment of the present application, based on the above embodiment, the priority information includes code pool priority and code priority. Accordingly, the specific process of step S2062 is detailed as follows:
[0082] Sa: Each neighbor node determines whether there are different first priority codes with the same code pool priority.
[0083] Specifically, all code pool priorities are compared to determine whether there is a same code pool priority.
[0084] Sb: If each neighbor node determines that there are no different first priority codes with the same code pool priority, it sorts all first priority codes in descending order of code pool priority to obtain a priority code sequence.
[0085] Specifically, a preset algorithm is used to sort all first priority codes to obtain a priority code sequence.
[0086] The preset algorithm may be a sorting algorithm, such as bubble sort, merge sort, insertion sort, quick sort, merge sort or heap sort.
[0087] Sc: If each neighbor node determines that different first priority codes have the same code pool priority, it sorts all first priority codes in descending order of code pool priority to obtain a code pool priority sequence; and sorts different first priority codes with the same code pool priority in the code pool priority sequence in descending order of code priority to obtain a priority code sequence.
[0088] Specifically, a preset algorithm is used to sort different first priority codes with the same code pool priority in the code pool priority sequence to obtain a priority code sequence.
[0089] The preset algorithm may be a sorting algorithm, such as bubble sort, merge sort, insertion sort, quick sort, merge sort or heap sort.
[0090] Exemplarily, the priorities of priority code pools A, B, and C decrease in sequence; priority code pool A includes priority codes A1, A2, A3, ..., An with decreasing priorities; priority code pool B includes priority codes B1, B2, B3, ..., Bn with decreasing priorities; priority code pool C includes priority codes C1, C2, C3, ..., Cn with decreasing priorities; the first priority codes received by each neighbor node are: C5, A1, B2, A3, A2, respectively. If the preset sorting algorithm is used for sorting, the resulting code pool priority sequence is A2, A1, A3, B2, C5, where A1, A2, A3 are different first priority codes with the same code pool priority, then the priority code sequence should be A1, A2, A3, B2, C5.
[0091] As can be seen from the above description, in this application, if each neighbor node determines that there are different first priority codes with the same code pool priority, then all first priority codes are sorted in descending order of code pool priority to obtain a code pool priority sequence; and different first priority codes with the same code pool priority in the code pool priority sequence are sorted in descending order of code priority to obtain a priority code sequence. When multiple resource applications with the same user priority and service priority are received at the same time, resource application conflicts can be quickly resolved, thereby improving resource application efficiency and thus enhancing user experience.
[0092] In one embodiment of the present application, based on the above embodiment, after step S207, a process for handling resource application failure is further included, which is detailed as follows:
[0093] S209: When any node determines that the second priority code received as a result of the monitoring is the same as the first priority code, or that the priority of the second priority code is higher than that of the first priority code, it determines that the resource application has failed, and after a random number of control time slots, it re-executes the step of "any node sends the first priority code to all neighboring nodes in the resource application time slot of the most recent control time slot."
[0094] The random number may be a random number within a preset range.
[0095] Specifically, any node parses the monitoring result to obtain the second priority code, compares the second priority code with the first priority code, and if it is determined that the second priority code is the same as the first priority code, it is determined that the resource application has failed, and after a random number of control time slots, the step of "any node sends the first priority code to all neighbor nodes in the resource application time slot of the most recent control time slot" is re-executed.
[0096] Specifically, any node parses the monitoring result to obtain the second priority code, and compares the priority of the second priority code with the priority of the first priority code. If the priority of the second priority code is higher than the first priority code, it is determined that the resource application has failed, and after a random number of control time slots, the step of "any node sends the first priority code to all neighbor nodes in the resource application time slot of the most recent control time slot" is re-executed.
[0097] From the above description, it can be seen that the present application determines that a resource application has failed and re-applies for resources after a random number of control time slots, thereby reducing the probability of resource application collisions, improving resource application efficiency, and thus improving user experience.
[0098] Figure 5 This is a structural diagram of a dynamic resource allocation device for a self-organizing network provided in an embodiment of the present application. Figure 5 As shown, the dynamic resource allocation device 30 for the self-organizing network includes: a synchronization module 301 , an acquisition module 302 , a sending module 303 , a detection module 304 , a comparison module 305 , a monitoring module 306 and a determination module 307 .
[0099] A synchronization module 301 is configured to synchronize a preset frame structure among the multiple nodes, wherein each frame period of the preset frame structure includes a control frame and multiple data frames, wherein the control frame includes multiple control time slots, wherein the multiple control time slots are respectively used for resource application of the multiple data frames, and wherein each control time slot includes: a resource application time slot and a conflict resolution time slot;
[0100] An acquisition module 302 is configured to, when any node in the self-organizing network is triggered to apply for resources, obtain a first priority code according to a preset priority rule;
[0101] A sending module 303 is configured for any node to send the first priority code to all neighboring nodes in a resource application time slot of a recent control time slot;
[0102] A detection module 304 is configured for each neighbor node to perform a conflict detection on all first priority codes received in the resource application time slot to obtain a detection result;
[0103] The sending module 303 is further configured to not send any information in the conflict resolution time slot of the control time slot if each neighbor node determines that the detection result is that no conflict occurs;
[0104] a comparison module 305 configured to compare the priorities of all the first priority codes to obtain a second priority code if each neighboring node determines that a conflict has occurred as a result of the detection, and return the second priority code to the corresponding neighboring node in a conflict resolution time slot of the control time slot;
[0105] A monitoring module 306 is configured for any node to monitor the conflict resolution time slot to obtain a monitoring result, wherein the monitoring result is no information is received or the second priority code is received;
[0106] The determination module 307 is used for any node to determine that the resource application is successful to complete resource allocation when it determines that the monitoring result is that no information is received or the priority of the received second priority code is lower than the priority of the first priority code.
[0107] In one possible design, the acquisition module 302 is specifically used to: any one node determines the business priority and user priority of this resource application; any one node calculates the resource application priority based on the business priority and user priority; any one node matches the corresponding priority code pool in the code pool based on the resource application priority, wherein the code pool includes multiple priority code pools with different priorities, wherein each priority code pool includes multiple priority codes with different priorities; any one node randomly obtains a priority code in the priority code pool, and determines the priority code as the first priority code.
[0108] In one possible design, the first priority code includes priority information of the resource application; accordingly, the comparison module 305 is specifically used to: each neighbor node obtains the priority information of all the first priority codes; each neighbor node sorts all the first priority codes in descending order according to the priority information to obtain a priority code sequence; each neighbor node determines that the first priority code ranked second in the priority code sequence is the second priority code.
[0109] In one possible design, the priority information includes a code pool priority and a code priority. Accordingly, when "each neighbor node sorts all the first priority codes in descending order of priority based on the priority information to obtain a priority code sequence," the comparison module 305 includes: each neighbor node determining whether different first priority codes have the same code pool priority; if each neighbor node determines that different first priority codes do not have the same code pool priority, sorting all the first priority codes in descending order of the code pool priority to obtain a priority code sequence; if each neighbor node determines that different first priority codes have the same code pool priority, sorting all the first priority codes in descending order of the code pool priority to obtain a code pool priority sequence; and sorting different first priority codes with the same code pool priority in the code pool priority sequence in descending order of the code priority to obtain a priority code sequence.
[0110] In one possible design, the determination module 307 is also used for: when any node determines that the second priority code received in the monitoring result is the same as the first priority code, or the priority of the second priority code is higher than the first priority code, it determines that the resource application has failed, and after a random number of control time slots, re-executes the step of "any node sending the first priority code to all neighboring nodes in the resource application time slot of the most recent control time slot".
[0111] The device provided in this embodiment can be used to execute the technical solution of the above method embodiment. Its implementation principle and technical effects are similar and will not be described in detail in this embodiment.
[0112] Figure 6 Schematic diagram of the self-organizing network system provided in the embodiment of the present application. Figure 6 As shown, the self-organizing network system 40 of this embodiment includes: multiple nodes 401; wherein the multiple nodes 401 can communicate with each other and execute the above-mentioned dynamic resource allocation method of the self-organizing network.
[0113] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions. When a processor executes the computer-executable instructions, the dynamic resource allocation method for the self-organizing network as described above is implemented.
[0114] An embodiment of the present application further provides a computer program product, including a computer program, which, when executed by a processor, implements the dynamic resource allocation method for a self-organizing network as described above.
[0115] It should be noted that for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that this application is not limited by the order of the actions described, because according to this application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all optional embodiments, and the actions and modules involved are not necessarily required by this application.
[0116] It should be further noted that, although the various steps in the flowchart are shown in sequence as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps may be performed in other orders. Moreover, at least a portion of the steps in the flowchart may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily performed at the same time, but may be performed at different times. The execution order of these sub-steps or stages is not necessarily to be performed in sequence, but may be performed in turn or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
[0117] It should be understood that the above-described device embodiments are merely illustrative, and the devices of the present application may also be implemented in other ways. For example, the division of units / modules in the above-described embodiments is merely a logical functional division, and actual implementations may employ other division methods. For example, multiple units, modules, or components may be combined or integrated into another system, or some features may be omitted or not implemented.
[0118] In addition, unless otherwise specified, the functional units / modules in the various embodiments of the present application may be integrated into a single unit / module, each unit / module may exist physically separately, or two or more units / modules may be integrated together. The aforementioned integrated units / modules may be implemented in the form of hardware or software program modules.
[0119] If the integrated unit / module is implemented in hardware, the hardware may be digital circuits, analog circuits, etc. The physical implementation of the hardware structure includes, but is not limited to, transistors, memristors, etc. Unless otherwise specified, the processor may be any appropriate hardware processor, such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), an FPGA (Field-Programmable Gate Array), a DSP (Digital Signal Processor), and an ASIC (Application-Specific Integrated Circuit). Unless otherwise specified, the storage unit may be any appropriate magnetic storage medium or magneto-optical storage medium, such as RRAM (Resistive Random Access Memory), DRAM (Dynamic Random Access Memory), SRAM (Static Random-Access Memory), EDRAM (Enhanced Dynamic Random Access Memory), HBM (High-Bandwidth Memory), HMC (Hybrid Memory Cube), etc.
[0120] If the integrated unit / module is implemented in the form of a software program module and sold or used as an independent product, it can be stored in a computer-readable memory. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a memory and includes a number of instructions for enabling a computer device (which can be a personal computer, server or network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned memory includes various media that can store program codes, such as a USB flash drive, ROM (Read-Only Memory), RAM (Random Access Memory), a mobile hard disk, a magnetic disk or an optical disk.
[0121] In the above embodiments, the description of each embodiment has its own emphasis. For parts not described in detail in a particular embodiment, please refer to the relevant description of other embodiments. The technical features of the above embodiments can be combined in any way. To keep the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0122] Those skilled in the art will readily appreciate other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present invention that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, and the true scope and spirit of the present application are indicated by the following claims.
[0123] It should be understood that the present application is not limited to the exact structure described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A method for dynamic resource allocation in a self-organizing network, characterized in that: The self-organizing network includes multiple nodes, including: Synchronizing a preset frame structure among the multiple nodes, wherein each frame period of the preset frame structure includes a control frame and multiple data frames, wherein the control frame includes multiple control time slots, wherein the multiple control time slots are respectively used for resource application of the multiple data frames, wherein each control time slot includes: a resource application time slot and a conflict resolution time slot; When any node in the self-organizing network is triggered to apply for resources, the node obtains a first priority code according to a preset priority rule; Any node sends the first priority code to all neighboring nodes in the resource application time slot of the most recent control time slot; Each neighbor node performs a conflict detection on all first priority codes received in the resource application time slot to obtain a detection result; If each neighbor node determines that the detection result is that no conflict occurs, then no information is sent in the conflict resolution time slot of the control time slot; If each neighboring node determines that the detection result is a conflict, it compares the priorities of all the first priority codes to obtain a second priority code, and returns the second priority code to the corresponding neighboring node in the conflict resolution time slot of the control time slot; Any node monitors the conflict resolution time slot to obtain a monitoring result, wherein the monitoring result is no information is received or the second priority code is received; When any one of the nodes determines that the monitoring result is that no information is received or the priority of the received second priority code is lower than the priority of the first priority code, it determines that the resource application is successful to complete the resource allocation.
2. The method according to claim 1, characterized in that The any node obtains the first priority code according to a preset priority rule, including: Any node determines the service priority and user priority of this resource application; Any node calculates the resource application priority according to the service priority and user priority; Any node matches a corresponding priority code pool in a code pool according to the resource application priority, wherein the code pool includes a plurality of priority code pools of different priorities, wherein each priority code pool includes a plurality of priority codes of different priorities; Any node randomly obtains a priority code from the priority code pool, and determines the priority code as the first priority code.
3. The method according to claim 1, characterized in that The first priority code includes priority information of the resource application; Accordingly, comparing the priorities of all the first priority codes to obtain the second priority code includes: Each neighboring node obtains the priority information of all the first priority codes; Each neighboring node sorts all the first priority codes in descending order of priority according to the priority information to obtain a priority code sequence; Each neighboring node determines the first priority code ranked second in the priority code sequence as the second priority code.
4. The method according to claim 3, characterized in that The priority information includes code pool priority and code priority; Accordingly, each neighboring node sorts all the first priority codes in descending order of priority according to the priority information to obtain a priority code sequence, including: Each neighboring node determines whether different first priority codes have the same code pool priority; If each neighboring node determines that no different first priority codes have the same code pool priority, then sorting all the first priority codes in descending order of the code pool priority to obtain a priority code sequence; If each neighbor node determines that different first priority codes have the same code pool priority, all the first priority codes are sorted in descending order of the code pool priority to obtain a code pool priority sequence; and different first priority codes with the same code pool priority in the code pool priority sequence are sorted in descending order of the code priority to obtain a priority code sequence.
5. The method according to any one of claims 1 to 4, characterized in that After any node monitors the conflict resolution time slot to obtain a monitoring result, the method further includes: When any one node determines that the second priority code received in the monitoring result is the same as the first priority code, or that the priority of the second priority code is higher than that of the first priority code, it determines that the resource application has failed, and after a random number of control time slots, re-executes the step of "any one node sending the first priority code to all neighboring nodes in the resource application time slot of the most recent control time slot".
6. A dynamic resource allocation device for a self-organizing network, characterized in that: The self-organizing network includes multiple nodes, including: a synchronization module, configured to synchronize a preset frame structure among the multiple nodes, wherein each frame period of the preset frame structure includes a control frame and multiple data frames, wherein the control frame includes multiple control time slots, wherein the multiple control time slots are respectively used for resource application of the multiple data frames, wherein each control time slot includes: a resource application time slot and a conflict resolution time slot; an acquisition module, configured to, when any node in the self-organizing network is triggered to apply for resources, obtain a first priority code according to a preset priority rule; a sending module, configured for any node to send the first priority code to all neighboring nodes in a resource application time slot of a recent control time slot; a detection module, configured for each neighbor node to perform conflict detection on all first priority codes received in the resource application time slot to obtain a detection result; The sending module is further configured to not send any information in the conflict resolution time slot of the control time slot if each neighbor node determines that the detection result is that no conflict occurs; a comparison module, configured to compare the priorities of all the first priority codes to obtain a second priority code if each neighbor node determines that the detection result is a conflict, and return the second priority code to the corresponding neighbor node in the conflict resolution time slot of the control time slot; a monitoring module, configured for any node to monitor the conflict resolution time slot to obtain a monitoring result, wherein the monitoring result is no information is received or the second priority code is received; The determination module is used for any node to determine that the resource application is successful to complete resource allocation when it determines that the monitoring result is that no information is received or the priority of the second priority code received is lower than the priority of the first priority code.
7. The device according to claim 6, characterized in that The acquisition module is specifically used to: any node determines the business priority and user priority of this resource application; any node calculates the resource application priority based on the business priority and user priority; any node matches the corresponding priority code pool in the code pool based on the resource application priority, wherein the code pool includes multiple priority code pools with different priorities, wherein each priority code pool includes multiple priority codes with different priorities; any node randomly obtains a priority code in the priority code pool, and determines the priority code as the first priority code.
8. A self-organizing network system, characterized in that: The self-organizing network system includes multiple nodes; the self-organizing network system is used to implement the dynamic resource allocation method of the self-organizing network as described in any one of claims 1 to 5.
9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the dynamic resource allocation method for a self-organizing network according to any one of claims 1 to 5.
10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Infinite resource collision detection method based on frame structure
CN107295567A
Apparatus and method for performing scheduling in ad hoc networks
KR102211845B1