Dynamic resource allocation method and device for self-organizing network and electronic equipment
By introducing synchronous preset frame structure and priority code management in the ad hoc network, the resource application process is simplified, and the problems of low resource application efficiency and poor user experience in the existing technology are solved, thus achieving lower resource application overhead and improvement High user experience.
Patent Information
- Application Number
- CN202411318560.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-20
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2044-09-20
AI Technical Summary
The dynamic resource allocation method in the existing self-organized network has large overhead, low efficiency, and large business delays, resulting in poor user experience and high collision probability.
By introducing a synchronous preset frame structure into the ad hoc network, each frame period includes control frames and data frames. The control frame includes resource application time slots and conflict resolution time slots. The node obtains the priority code according to the preset priority rules and performs a Conflict detection and resolution simplifies the resource application process.
Reduce resource application overhead and business delay, reduce collision probability, improve resource application efficiency, and thus improve user experience.
Smart Images

Figure CN119255395A_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 network, wireless ad hoc network is an autonomous, multi-hop network. The entire network does not require a fixed infrastructure to achieve mutual communication between nodes. In order to meet the efficient use of wireless channels in ad hoc networks and avoid resource conflicts between nodes within a two-hop range, the commonly used resource allocation methods include dynamic allocation.
[0003] The existing dynamic allocation method is the five-step resource reservation method. The five-step resource reservation method is a fully distributed and localized broadcast resource reservation method that supports concurrent processing of resource applications and time slot reuse. 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 reuse in different spaces.
[0004] However, in the prior art, resource application has high overhead, low efficiency, and large service delay, which leads to 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 of 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 any 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 a resource application time slot of a recent control time slot;
[0010] Each neighbor node performs 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 neighbor 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 neighbor 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 that no information is received or the second priority code is received;
[0014] When any 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, in the method as described above, any one of the nodes obtains a first priority code according to a preset priority rule, including: any one of the nodes determines the business priority and user priority of this resource application; any one of the nodes calculates the resource application priority according to the business priority and user priority; any one of the nodes 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 with different priorities, wherein each priority code pool includes a plurality of priority codes with different priorities; any one of the nodes 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 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 of priority according to the priority information to obtain a priority code sequence; and 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 as 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 according to the priority information to obtain a priority code sequence, including: each neighbor node determines whether there are different first priority codes with the same code pool priority; if each neighbor node determines that there are no different first priority codes with the same code pool priority, sorts 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 there are different first priority codes with the same code pool priority, sorts all the first priority codes in descending order of the 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 the code priority to obtain a priority code sequence.
[0018] Optionally, in the method as 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 an interval of a random number of control time slots, re-executes the step of "any one node sends the first priority code to all neighbor 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 plurality of nodes, wherein each frame period of the preset frame structure comprises a control frame and a plurality of data frames, wherein the control frame comprises a plurality of control time slots, wherein the plurality of control time slots are respectively used for resource application of the plurality of data frames, wherein each control time slot comprises: 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 that no information is received or the second priority code is received;
[0027] A determination module is used for any node to determine that the resource application is successful to complete resource allocation when it is determined 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 execution instructions. When the computer execution instructions are executed by a processor, they are used to implement the dynamic resource allocation method for a 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 dynamic resource allocation method, device and electronic device of the self-organizing network provided by the present application obtain the first priority code according to the preset priority rule through any node, and send the first priority code to all neighboring nodes in the resource application time slot; each neighboring node performs conflict detection on all the first priority codes received in the resource application time slot, and if the detection result is determined to be no conflict, no information is sent in the conflict resolution time slot, and 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 is determined 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 is determined that the resource application is successful to complete the resource allocation. The resource application process is simplified, the resource application overhead and service delay are reduced, the collision probability of resource application is reduced, and the resource application efficiency is improved, thereby improving the 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 by an embodiment of the present application;
[0036] Figure 3 A schematic diagram of a preset frame structure provided for an 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 have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0041] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some 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 to achieve 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 FIG. 1 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 includes a resource reservation frame (Reservation frame, RF) and multiple information frames (Information frame, IF). Each resource reservation frame contains N resource reservation time slots (Reservation slot, RS), which are mapped one-to-one with the information time slots (Information slot, IS) in the information frame. Each RS includes M resource reservation cycles (Reservation Cycle, RC), and each RC consists of 5 session time slots, which are used to complete a complete resource reservation session process based on competition. If the current resource reservation fails, the node can continue to initiate the resource reservation of the corresponding IS in the subsequent RC until the time slot resource is successfully reserved by the node itself or a one-hop neighbor node or a two-hop neighbor node. There are a total of M competitive resource reservation opportunities, and the parameter M is the empirical parameter value of a given network.
[0045] The five-step resource reservation method based on competition includes: 1. Resource reservation request (Reservation Request, RR): Node A initiates a resource reservation request; 2. Conflict report (Contention Report, CR): Node A's neighbor node reports the resource reservation request conflict in step 1; 3. Resource reservation confirmation (Reservation Confirmation, RC): If node A does not receive a conflict report from a neighbor node, it is considered that there is no resource reservation request conflict, and a resource reservation confirmation message is sent to announce this resource reservation; 4. Resource reservation response (Reservation Acknowledgment, RA): After receiving the resource reservation confirmation in step 3, the neighbor node of node A makes a resource reservation response and notifies the second-hop neighbor node of node A of this resource reservation; 5. Packing / Elimination (Packing / Elimination, P / E): After receiving the RA message, the second-hop neighbor node of node A sends a packing message (Packing Acknowledgment, RA). After receiving the PP, the three-hop neighbor can learn that a node within its three-hop range has successfully reserved resources. Therefore, it tries to avoid the reservation application of the corresponding resources (i.e., reduce the probability of applying for the resource); at the same time, the resource application node A sends an elimination message (Elimination Packet, EP) with a probability of 50% to avoid potential neighbor nodes also applying for the resource, resulting in conflicts, and solving the island deadlock of resource application.
[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 considered, the collision probability of resource application is high and the efficiency is low, resulting in poor user experience.
[0047] In order to solve the above technical problems, the embodiment of the present application proposes the following technical ideas: Considering 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 of calculating the resource application priority by user priority and service priority while reducing the time slot used for resource application, and using the priority code corresponding to the resource priority for resource application and conflict resolution. The resource application process is simplified, the resource application overhead and service delay are reduced, the collision probability of resource application is reduced, the resource application efficiency is improved, and thus the user experience is improved.
[0048] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. 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 schematic diagram of a flow chart of a dynamic resource allocation method for a self-organizing network provided in an 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 an 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 specifically 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 + β*business 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, wherein the code pool includes a plurality of priority code pools with different priorities, wherein each priority code pool includes a plurality of priority codes with different priorities.
[0060] The priority code may be an orthogonal code or a quasi-orthogonal code.
[0061] The code pool is divided into a plurality of priority code pools, each priority code pool corresponds to a priority, and the priorities of all priority code pools are different; each priority code pool has a plurality of 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 the priority of A2, and the priority of A1 is greater than the priority of B1.
[0063] Figure 4 An example diagram of a code pool provided for 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 a resource application time slot of a recent 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 is generated; if it is determined that the number of all first priority codes is greater than 1, a detection result of conflict is generated.
[0068] S205: If each neighbor node determines that the detection result is that no conflict occurs, 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 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 neighbor node parses the attribute information of all first priority codes, identifies and obtains the priority attribute, so as to obtain the priority information.
[0074] S2062: Each neighbor 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 neighbor 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 that 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, so as to complete the 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 known that the present application obtains the first priority code according to the preset priority rule 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, and if the detection result is determined to be no conflict, no information is sent in the conflict resolution time slot, and 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 is determined 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. The resource application process is simplified, the resource application overhead and service delay are reduced, the collision probability of resource application is reduced, and the resource application efficiency is improved, thereby improving the user experience.
[0081] In one embodiment of the present application, based on the above embodiment, the priority information includes the code pool priority and the code priority. Accordingly, the specific process of step S2062 is described in detail 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 are identical code pool priorities.
[0084] Sb: If each neighbor node determines that there are no different first priority codes with the same code pool priority, then all first priority codes are sorted in descending order of the 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 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.
[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 obtained code pool priority sequence is A2, A1, A3, B2, C5, among which 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] From the above description, it can be seen that 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 order from high to low according to the code pool priority to obtain a code pool priority sequence; different first priority codes with the same code pool priority in the code pool priority sequence are sorted in order from high to low according to the 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, which improves resource application efficiency and thus improves user experience.
[0092] In one embodiment of the present application, based on the above embodiment, after step S207, a process of handling resource application failure is further included, which is described in detail 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 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 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 that of 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 neighboring 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 re-applies for resources after determining that the resource application has failed and after a random number of control time slots have been spaced, thereby reducing the collision probability of resource application, improving the resource application efficiency, and thus improving the user experience.
[0098] 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. Figure 5 As shown, the dynamic resource allocation device 30 of 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, 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;
[0100] The acquisition module 302 is used for, when any node in the self-organizing network is triggered to apply for resources, the any node acquires a first priority code according to a preset priority rule;
[0101] A sending module 303, 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, 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;
[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 is used for comparing 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 returning the second priority code to the corresponding neighbor node in the conflict resolution time slot of the control time slot;
[0105] A monitoring module 306, configured for any node to monitor the conflict resolution time slot to obtain a monitoring result, wherein the monitoring result is that 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 is determined 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.
[0107] In one possible design, the acquisition module 302 is specifically used for: any one of the nodes determines the business priority and user priority of this resource application; any one of the nodes calculates the resource application priority based on the business priority and user priority; any one of the nodes 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 of the nodes 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 resource application; accordingly, the comparison module 305 is specifically used for: 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 a possible design, the priority information includes a code pool priority and a code priority; accordingly, the comparison module 305, when "each neighbor node sorts all the first priority codes in descending order of priority according to the priority information to obtain a priority code sequence", includes: each neighbor node determines whether there are different first priority codes with the same code pool priority; if each neighbor node determines that there are no different first priority codes with the same code pool priority, sorts 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 there are different first priority codes with the same code pool priority, sorts all the first priority codes in descending order of the 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 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 as a result of the monitoring is the same as the first priority code, or 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 node sending the first priority code to all neighbor 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 effect are similar, and this embodiment will not be repeated here.
[0112] Figure 6 Schematic diagram of a self-organizing network system provided in an 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 self-organizing network dynamic resource allocation method.
[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 a self-organizing network as described above is implemented.
[0114] An embodiment of the present application also provides a computer program product, including a computer program, and when the computer program is executed by a processor, the dynamic resource allocation method for the self-organizing network as described above is implemented.
[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 the present application is not limited by the described order of actions, because according to the present 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 the specification are all optional embodiments, and the actions and modules involved are not necessarily required by the present application.
[0116] It should be further noted that, although the various steps in the flowchart are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless there is a clear description in this article, the execution of these steps is not strictly limited in order, and these steps can be executed 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 executed at the same time, but can be executed at different times, and the execution order of these sub-steps or stages is not necessarily to be carried out in sequence, but can be executed 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-mentioned device embodiments are only illustrative, and the device of the present application can also be implemented in other ways. For example, the division of units / modules in the above-mentioned embodiments is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units, modules or components can be combined, or can be integrated into another system, or some features can be ignored or not executed.
[0118] In addition, unless otherwise specified, each functional unit / module in each embodiment of the present application may be integrated into one unit / module, each unit / module may exist physically separately, or two or more units / modules may be integrated together. The above-mentioned integrated unit / module may be implemented in the form of hardware or in the form of a software program module.
[0119] If the integrated unit / module is implemented in the form of hardware, the hardware may be a digital circuit, an analog circuit, etc. The physical implementation of the hardware structure includes but is not limited to transistors, memristors, etc. If not 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). If not 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 several instructions for a computer device (which can be a personal computer, server or network device, etc.) to execute all or part of the steps of each embodiment method of the present application. The aforementioned memory includes: U disk, ROM (Read-Only Memory), RAM (Random Access Memory), mobile hard disk, magnetic disk or optical disk, etc., various media that can store program codes.
[0121] In the above embodiments, the description of each embodiment has its own emphasis. For the part not described in detail in a certain embodiment, please refer to the relevant description of other embodiments. The technical features of the above embodiments can be combined arbitrarily. In order to make the description concise, all possible combinations of the technical features in the above embodiments are not 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 application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary techniques in the art that are not disclosed in the present application. The specification and examples are intended to be 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 precise structures that have been 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 any node obtains a first priority code according to a preset priority rule; Any node sends the first priority code to all neighboring nodes in a resource application time slot of a recent control time slot; Each neighbor node performs 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 neighbor 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 neighbor 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 that no information is received or the second priority code is received; When any 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 resource application; Accordingly, comparing the priorities of all the first priority codes to obtain the second priority code includes: Each neighboring node acquires the priority information of all the first priority codes; Each neighbor node sorts all the first priority codes in descending order of priority according to the priority information to obtain a priority code sequence; Each neighbor 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 neighbor 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 neighbor node determines whether different first priority codes have the same code pool priority; If each neighbor node determines that there are no different first priority codes with 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 there are different first priority codes with 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 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 an interval of 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".
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 plurality of nodes, wherein each frame period of the preset frame structure comprises a control frame and a plurality of data frames, wherein the control frame comprises a plurality of control time slots, wherein the plurality of control time slots are respectively used for resource application of the plurality of data frames, wherein each control time slot comprises: 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 that no information is received or the second priority code is received; A determination module is used for any node to determine that the resource application is successful to complete resource allocation when it is determined 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 for: any node determining the business priority and user priority of this resource application; any node calculating the resource application priority according to the business priority and user priority; any node matching the corresponding priority code pool in the code pool according to the resource application priority, wherein the code pool includes a plurality of priority code pools with different priorities, wherein each priority code pool includes a plurality of 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 are used to implement the dynamic resource allocation method for a self-organizing network as described in any one of claims 1 to 5 when executed by a processor.
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
Resource distribution method and system in wireless mobile communication
CN106060947A
Infinite resource collision detection method based on frame structure
CN107295567A
Apparatus and method for performing scheduling in ad hoc networks
KR102211845B1
Cited By
Directional ad hoc network space-time-frequency three-dimensional wireless resource allocation method, ad hoc network and medium
CN121771726A
Directional ad hoc network space-time-frequency three-dimensional wireless resource allocation method, ad hoc network and medium
CN121771726B
