Multi-state parallel processing method based on software radio, processor, device, medium and equipment

By combining hash equalization classification algorithm and controllable polling classification algorithm in the polymorphic parallel processing method, the problem of low equalization between monitoring devices in the prior art is solved, long-term static equalization and instantaneous dynamic equalization of monitored data are achieved, and the flexibility and availability of data processing are improved.

CN119847758APending Publication Date: 2025-04-18成都华日通讯技术股份有限公司
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411968982.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

When the existing polymorphic parallel algorithm allocates data processing traffic to each monitoring device, it does not fully consider the current data processing situation of each server, resulting in low equalization between the monitoring devices.

Method used

The polymorphic parallel processing method based on software radio is adopted to obtain monitoring data of the monitoring port, extract the header information of the indication message, perform hash operations to obtain traffic values, and allocate monitoring data to be written into the queue based on the queue status information and traffic values. On the data reading end, through a controllable polling classification algorithm, the target queue is filtered from the queue, the polling waiting time is calculated, and the monitoring data is forwarded to the monitoring port.

Benefits of technology

Long-term static balance classification and instantaneous dynamic balance of multi-channel monitoring data are realized, which significantly improves the equalization between monitoring equipment and ensures the balanced allocation of monitoring data volume.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847758A_ABST
    Figure CN119847758A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a software radio-based polymorphic parallel processing method, a processor, a device, a medium and equipment, relates to the technical field of data processing, and aims to solve the technical problem that the distribution efficiency is relatively low when data processing traffic is distributed for a plurality of monitoring equipment in the prior art. Compared with the prior art, the software radio-based polymorphic parallel processing method provided by the invention has the advantages that the flow is divided into two parts, namely a data writing end and a data reading end; at a data writing end, the method comprises the following steps: acquiring monitoring data of a plurality of monitoring ports, and respectively extracting indication message header information of each monitoring data; based on indication message header information of the monitoring data, hash operation is carried out respectively, and flow values of the monitoring ports are obtained respectively; and receiving state information fed back by a plurality of queues, and distributing and writing indication information of the monitoring data into the corresponding queues based on the state information fed back by the queues and the flow values of the monitoring ports.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a polymorphic parallel processing method and processor, device, medium and equipment based on software radio. Background Art

[0002] In order to improve the processing efficiency and data bandwidth of software radio, some radio monitoring equipment is used for real-time monitoring. However, with the continuous improvement of monitoring speed, the continuous growth of monitoring business types, business volume and data volume, a single monitoring device cannot bear it at all. At this time, if the hardware of the equipment is upgraded, it will cause a waste of resources and high investment cost. In response to this situation, a polymorphic parallel processing method came into being.

[0003] The method of polymorphic parallel processing can expand the bandwidth of existing monitoring equipment, increase data processing volume and throughput, strengthen data processing capabilities, and improve the flexibility and availability of data processing. However, the current polymorphic parallel algorithms are mainly divided into static balance and dynamic balance. The current static polymorphic parallel algorithms mainly include: hash balance algorithm, static priority scheduling algorithm, polling scheduling algorithm, weighted polling scheduling algorithm, etc. The dynamic polymorphic parallel algorithms mainly include: minimum number of connections balance algorithm and fastest response time balance algorithm, etc. When allocating data processing traffic to each monitoring device, the above various polymorphic parallel algorithms do not take into account the current data processing status of each server, so there is a problem of low balance between each monitoring device. Summary of the invention

[0004] The main purpose of this application is to provide a polymorphic parallel processing method and processor, device, medium and equipment based on software radio, aiming to solve the technical problem of low allocation efficiency in the prior art when allocating data processing traffic to multiple monitoring devices.

[0005] To achieve the above objectives, the technical solutions adopted in the embodiments of the present application are as follows:

[0006] In a first aspect, an embodiment of the present application provides a polymorphic parallel processing method based on software radio, which is applied to a polymorphic parallel writing device in a polymorphic parallel processor based on software radio, comprising the following steps:

[0007] Acquire monitoring data of multiple monitoring ports, and extract indication message header information of each monitoring data respectively;

[0008] Based on the indication message header information of each monitoring data, hash operations are performed respectively to obtain the flow value of each detection port respectively;

[0009] The state information fed back by the plurality of queues is received, and based on the state information fed back by each queue and the flow value of each detection port, the indication information of each monitoring data is distributed and written into the corresponding queue.

[0010] In a first embodiment of the first aspect of the present application, the indication information of the monitoring data includes a monitoring port flow value and a storage first address thereof in a buffer;

[0011] The indication message header information of the monitoring data includes the source device port number and the target port number of the monitoring data.

[0012] In a second embodiment of the first aspect of the present application, the detection port flow value is obtained based on the following steps:

[0013] The result of the hash operation is modulo 8 to obtain the detection port number and its corresponding monitoring port traffic value.

[0014] In a third embodiment of the first aspect of the present application, the step of distributing and writing the indication information of each monitoring data into the corresponding queue based on the state information fed back by each queue and the flow value of each detection port includes:

[0015] Sort each monitoring port from small to large according to the monitoring port traffic value, and sort the queues in each queue that are not full from small to large according to the queue number; according to the sorting, the indication information of the monitoring data corresponding to the monitoring port with the smallest monitoring port traffic value is allocated to the not full queue with the smallest queue number, and so on.

[0016] In a second aspect, an embodiment of the present application further provides a software radio-based polymorphic parallel processing method, which is applied to a polymorphic parallel reading device in a software radio-based polymorphic parallel processor, comprising the following steps:

[0017] Through the controllable polling classification algorithm, the target queue is obtained from all queues;

[0018] Based on the target queue, the polling waiting time is calculated and the waiting time timer is started. When the polling waiting time is reached, the monitoring data of the target queue is forwarded to the corresponding monitoring port, and the monitoring data and its indication information are reorganized on the monitoring port.

[0019] In a first embodiment of the second aspect of the present application, obtaining the target queue by using a controllable polling classification algorithm includes:

[0020] Query the status of each queue to determine whether there is a full queue;

[0021] If there is a full queue, determine the number of full queues;

[0022] If the number of full queues = 1, the full queue is used as the target queue;

[0023] If the number of full queues is greater than 1, a target full queue is obtained based on the monitoring port flow value and the monitoring port number of each full queue in the full queues.

[0024] In a second embodiment of the second aspect of the present application, acquiring a target full queue based on the detection port flow value and the monitoring port number of each full queue in the full queues includes:

[0025] Determine whether the number of queues with the smallest monitoring port flow value in the full queue is 1;

[0026] If the number of queues with the smallest monitoring port flow value in the full queue is 1, the full queue is used as the target full queue;

[0027] If the number of queues with the smallest detection port flow value in the full queues is greater than 1, the queue with the smallest queue number in the full queues is obtained, and the full queue is used as the target full queue.

[0028] In a third embodiment of the second aspect of the present application, querying the status of each queue to determine whether there is a full queue further includes:

[0029] If there is no full queue, compare the detection port traffic values ​​sent by all non-empty queues to obtain the target non-empty queue.

[0030] In a fourth embodiment of the second aspect of the present application, the comparing the monitoring port traffic values ​​sent by all non-empty queues to obtain the target non-empty queue includes:

[0031] Compare the monitoring port traffic values ​​sent by all non-empty queues, and obtain the queue with the smallest monitoring port traffic value sent;

[0032] Determine whether the number of queues with the smallest sent monitoring port flow value is 1;

[0033] If the number of queues with the smallest sent monitoring port flow value = 1, then the queue is used as the target non-empty queue;

[0034] If the number of queues with the smallest sent detection port flow values ​​is greater than 1, the queue with the smallest queue number among the queues with the smallest sent detection port flow values ​​is obtained as the target non-empty queue.

[0035] In a fifth embodiment of the second aspect of the present application, the calculating the polling waiting time based on the target queue includes:

[0036] Obtain the rate value of the target queue at which the monitoring data was last forwarded to the corresponding monitoring port;

[0037] The polling waiting time is calculated based on the rate value of the target queue forwarding monitoring data to the corresponding monitoring port last time.

[0038] In a sixth embodiment of the second aspect of the present application, the polling waiting time satisfies the following relationship:

[0039] t=(u*len_s+(1-u)*len_n)*delta

[0040] Wherein, t represents the polling waiting time, in seconds; delta represents the rate value at which the target queue last forwarded monitoring data to the corresponding monitoring port, in Mbps; u is the smoothing coefficient, 0≤u≤1, which is a coefficient set based on the maximum target flow, usually 0.8; len_s represents the number of queues; and len_n represents the queue length.

[0041] In a seventh embodiment of the second aspect of the present application, the obtaining the rate value of the target queue at which the monitoring data was last forwarded to the corresponding monitoring port includes:

[0042] Determine whether the traffic statistics time of the target queue exceeds a preset unit time;

[0043] If it does not exceed, accumulating the forwarded detection port flow value of the target queue;

[0044] After continuously counting the flow values ​​of the monitoring port within 8 unit statistical time, an average value is obtained; the average value is used as the flow value of the monitoring port within the unit statistical time;

[0045] Based on the flow value of the monitoring port within the unit statistical time, the rate value of the target queue forwarding the monitoring data to the corresponding monitoring port last time is obtained.

[0046] In an eighth embodiment of the second aspect of the present application, the determining whether the traffic statistics time of the target queue exceeds a preset unit time includes:

[0047] If the polling waiting time exceeds the preset unit time, after recording the detection port flow values ​​in the flow accumulators of all queues, the flow accumulators of all queues and the waiting time timer are simultaneously cleared and the timing is restarted.

[0048] In a third aspect, the embodiment of the present application further provides a polymorphic parallel processor based on software radio, including:

[0049] A polymorphic parallel writing device is used to obtain monitoring data of multiple monitoring ports, respectively extract the indication message header information of each monitoring data; based on the indication message header information of each monitoring data, respectively perform hash operations to respectively obtain the flow value of each monitoring port; receive status information fed back by multiple queues, and based on the status information fed back by each queue and the flow value of each detection port, distribute and write the indication information of each monitoring data into the corresponding queue;

[0050] A polymorphic parallel reading device is used to filter and obtain a target queue from all queues through a controllable polling classification algorithm; based on the target queue, a polling waiting time is calculated, and a waiting time timer is started. When the polling waiting time is reached, the monitoring data of the target queue is forwarded to a corresponding monitoring port, and the monitoring data and its indication information are reorganized on the monitoring port.

[0051] In a fourth aspect, the embodiment of the present application further provides a multi-state parallel writing device, including:

[0052] An acquisition module, used to acquire monitoring data of multiple monitoring ports, and respectively extract the indication message header information of each of the monitoring data;

[0053] A calculation module, used to perform hash calculations based on the header information of the indication message of each monitoring data, and obtain the flow value of each monitoring port respectively;

[0054] The write allocation module is used to receive the state information fed back by the multiple queues, and based on the state information fed back by the queues and the flow value of each detection port, allocate and write the indication information of each monitoring data into the corresponding queue.

[0055] In a fifth aspect, the embodiment of the present application further provides a multi-state parallel reading device, comprising:

[0056] The judgment module is used to filter and obtain the target queue from all queues through a controllable polling classification algorithm;

[0057] The reading module is used to calculate the polling waiting time based on the target queue and start the waiting time timer. When the polling waiting time is reached, the monitoring data of the target queue is forwarded to the corresponding monitoring port, and the monitoring data and its indication information are reorganized on the monitoring port.

[0058] In a sixth aspect, an embodiment of the present application further provides a computer-readable storage medium storing a computer program. When the computer program is loaded and executed by a processor, it implements a polymorphic parallel processing method based on software radio as provided in any one of the first or second aspects above.

[0059] In a sixth aspect, an embodiment of the present application further provides an electronic device, including a processor and a memory, wherein:

[0060] The memory is used to store computer programs;

[0061] The processor is used to load and execute a computer program so that the electronic device executes the polymorphic parallel processing method based on software radio provided in any one of the first aspect or the second aspect.

[0062] Compared with the prior art, the polymorphic parallel processing method based on software radio proposed in this application has a process divided into two parts: a data writing end and a data reading end;

[0063] At the data writing end, the specific steps are as follows: first, obtain the monitoring data of multiple monitoring ports, and extract the indication message header information in each monitoring data; second, perform hash operations based on the indication message header information of each monitoring data to obtain the flow value of each monitoring port; then, receive the status information fed back by multiple queues, and distribute the indication information of each monitoring data to the corresponding queue based on the status information fed back by each queue and the flow value of each monitoring port. This process ensures the order of messages and the correlation of traffic, and realizes the long-term static balanced classification of multi-channel monitoring data.

[0064] At the data reading end, the specific steps include: filtering and obtaining the target queue from all queues through a controllable polling classification algorithm; based on the target queue, calculating the polling waiting time, and starting the waiting time timer, after reaching the polling waiting time, forwarding the monitoring data of the target queue to the corresponding monitoring port, and reorganizing the monitoring data and its indication information on the monitoring port. It can be seen that the method described in the present application implements polling classification scheduling of multiple queues based on the principle of minimum flow priority at the data reading end, polling reads the monitoring data indication information in each queue, reads the corresponding monitoring data from the data buffer according to the indication information, and sends it to the corresponding monitoring port, reorganizes the monitoring data and its indication information on the monitoring port, and realizes instantaneous dynamic balance of traffic. Each queue corresponds to a detection port. The write operation of multiple queues is controlled according to the pointer information returned by the controllable polling classification method and the empty and full status information of multiple queues.

[0065] After adopting the method described in this application and its supporting hardware module, multi-channel monitoring data can be evenly distributed to multiple monitoring ports, and the long-term statistical balance and instantaneous balance between each monitoring port are significantly better than 10%, making the monitoring data volume more balanced. The method described in this application can also be extended to high-speed data flow monitoring of other software radio monitoring equipment, and the high-speed data flow can be evenly distributed to multiple low-speed monitoring devices, and a high degree of balance can be guaranteed. BRIEF DESCRIPTION OF THE DRAWINGS

[0066] Figure 1 A schematic diagram of the structure of an electronic device of a hardware operating environment involved in an embodiment of the present application;

[0067] Figure 2 A diagram of the architecture of a polymorphic parallel processing system provided in an embodiment of the present application;

[0068] Figure 3 A logic block diagram of the HBDC balanced classification strategy provided in the embodiment of the present application;

[0069] Figure 4 A schematic diagram of the HBDC balanced classification strategy module provided in an embodiment of the present application;

[0070] Figure 5 A flowchart of a first software radio-based polymorphic parallel processing method provided in an embodiment of the present application;

[0071] Figure 6 A flowchart of a second software radio-based polymorphic parallel processing method provided in an embodiment of the present application;

[0072] Figure 7 A schematic diagram of the structure of a software radio-based polymorphic parallel processor provided in an embodiment of the present application;

[0073] Figure 8 A schematic diagram of a module of a multi-state parallel writing device provided in an embodiment of the present application;

[0074] Fig. 9 A schematic diagram of a module of a multi-state parallel reading device provided in an embodiment of the present application;

[0075] Markings in the figure: 101 - processor, 102 - communication bus, 103 - network interface, 104 - user interface, 105 - memory. DETAILED DESCRIPTION

[0076] It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0077] See attached Figure 1 , attached Figure 1This is a schematic diagram of the structure of an electronic device of the hardware operating environment involved in the embodiment of the present application. The electronic device may include: a processor 101, such as a central processing unit (CPU), a communication bus 102, a user interface 104, a network interface 103, and a memory 105. Among them, the communication bus 102 is used to realize the connection and communication between these components. The user interface 104 may include a display screen (Display), an input unit such as a keyboard (Keyboard), and the user interface 104 may also include a standard wired interface and a wireless interface. The network interface 103 may optionally include a standard wired interface and a wireless interface (such as a wireless fidelity (WIreless-FIdelity, WI-FI) interface). The memory 105 may optionally be a storage device independent of the aforementioned processor 101. The memory 105 may be a high-speed random access memory (RAM) memory, or it may be a stable non-volatile memory (NVM), such as at least one disk storage; the processor 101 may be a general-purpose processor, including a central processing unit, a network processor, etc., or it may be a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component.

[0078] Those skilled in the art will appreciate that Figure 1 The structure shown in the figure does not constitute a limitation on the electronic device, and may include more or less components than shown in the figure, or combine certain components, or arrange the components differently.

[0079] As attached Figure 1 As shown, the memory 105 as a storage medium may include an operating system, a network communication module, a user interface module, and a polymorphic parallel processing device based on software radio.

[0080] In the attached Figure 1 In the electronic device shown, the network interface 103 is mainly used for data communication with the network server; the user interface 104 is mainly used for data interaction with the user; the processor 101 and the memory 105 in the present application can be set in the electronic device, and the electronic device calls the software radio-based polymorphic parallel processing device stored in the memory 105 through the processor 101, and executes the software radio-based polymorphic parallel processing method provided in the embodiment of the present application.

[0081] As an economical, efficient and transparent means, polymorphic parallel processing technology can effectively expand the bandwidth of existing monitoring equipment, improve data processing volume and throughput, and enhance the flexibility and availability of data processing. This technology contains two core concepts: First, by distributing the computing tasks of a single monitoring device to multiple node devices for parallel processing, the processing results of each node device are finally summarized and fed back to the user, thereby significantly enhancing the processing capacity of the system, which is usually referred to as cluster technology. Second, large-scale concurrent processing or data traffic is distributed to multiple node devices for independent processing to shorten the time users wait for responses. This is mainly used in monitoring service centers.

[0082] The basic principle of polymorphic parallel processing technology is to transmit various types of data generated by monitoring equipment to a polymorphic parallel processor, which evenly distributes high-speed data streams to multiple low-speed processing devices based on specific algorithms or principles to monitor the data flow of high-speed monitoring equipment. Figure 2 As shown. Therefore, in polymorphic parallel processors, polymorphic parallel algorithms play a vital role. At present, polymorphic parallel algorithms are mainly divided into two categories: static balance and dynamic balance. Static polymorphic parallel algorithms mainly include hash balance algorithm, static priority scheduling algorithm, polling scheduling algorithm, weighted polling scheduling algorithm, etc.; dynamic polymorphic parallel algorithms include minimum connection number balance algorithm and fastest response time balance algorithm, etc. One of the key indicators to measure the quality of polymorphic parallel algorithms is balance, that is, the deviation of bandwidth utilization between monitoring devices.

[0083] However, during the research process, it was found that the existing polymorphic parallel algorithm did not fully consider the current data processing status of each server when allocating data processing traffic to each monitoring device, and did not provide a corresponding algorithm, resulting in a low degree of balance between monitoring devices.

[0084] Therefore, this application provides a HBDC balanced classification strategy, such as Figure 3The logical block diagram shown. That is: first, the indication message header information of the monitoring data packet is extracted and a hash operation is performed. Subsequently, the monitoring data is stored in the data buffer. Based on the hash operation result, the indication information such as the length of the 8-channel high-speed monitoring data and its storage first address in the buffer is distributed to 8 queues, ensuring the timing of the message and the correlation of the data flow value, and realizing the long-term static balanced classification of the 8-channel monitoring data. The back-end adopts a controllable polling classification algorithm, and performs polling classification scheduling on the four queues according to the principle of minimum traffic priority. The monitoring data indication information in each queue is read by polling, and the corresponding monitoring data is read from the data buffer according to the indication information, and sent to the corresponding monitoring port. On the monitoring port, the monitoring data and its indication information are reorganized to achieve instantaneous dynamic balance of traffic. Each queue corresponds to a detection port. According to the pointer information returned by the controllable polling classification method and the empty and full status information of the 8 queues, the write operation to the 8 queues is controlled. Specifically, the schematic diagram of the HBDC balanced classification strategy module is shown in Figure 4 shown.

[0085] Specifically, refer to the attached Figure 5 Based on the hardware device of the aforementioned embodiment, the present application proposes a polymorphic parallel processing method based on software radio, which is applied to a polymorphic parallel writing device in a polymorphic parallel processor based on software radio, comprising the following steps:

[0086] Step S11, acquiring monitoring data of multiple monitoring ports, and extracting indication message header information of each monitoring data;

[0087] It should be noted that the indication message header information of the monitoring data includes the source device port number and the target port number of the monitoring data; the source device port refers to the device gigabit network port of the transmitting source, and the target port refers to the device gigabit network port of the receiving source. The monitoring data is obtained based on each monitoring high-speed data channel, and the monitoring data may include the following types of data: signal quality data, spectrum data, flow and load data, transmission control data, protocol information and device status data. Further, the signal quality data is used to reflect the quality of the received wireless signal, including but not limited to signal-to-noise ratio, bit error rate, modulation type, frequency offset and changes in signal arrival time. The spectrum data is not limited to spectrum graph data and frequency band occupancy data. The flow and load data includes but is not limited to data flow, such as throughput, delay, packet loss rate, etc.; or network load, such as processor utilization, memory occupancy, etc. The transmission control data includes but is not limited to data packet sequence number and transmission status information. The protocol information includes protocol header information or time slot information. The device status data includes but is not limited to hardware status data or fault monitoring data.

[0088] Step S12: Based on the header information of the indication message of each monitoring data, hash operations are performed respectively to obtain the flow value of each monitoring port respectively.

[0089] Step S13, receiving status information fed back by multiple queues, and based on the status information fed back by each queue and the flow value of each monitoring port, allocating the indication information of each monitoring data and writing it into the corresponding queue; the indication information of the monitoring data includes the flow value of the monitoring port and its storage first address in the cache.

[0090] In a further scheme, each monitoring port is sorted from small to large according to the monitoring port traffic value, and the queues in each queue that are not full are sorted from small to large according to the queue number; according to the sorting, the indication information of the monitoring data corresponding to the monitoring port with the smallest monitoring port traffic value is allocated to the not full queue with the smallest queue number, and so on.

[0091] In a further solution, the number of monitoring data sets is 8, the corresponding queues are also 8, and the corresponding monitoring ports are also 8. In this case, the monitoring port flow value in step S12 is obtained based on the following steps: the result of the hash operation is modulo 8, and the remainder is obtained. The remainder includes 0-7, which respectively represent the corresponding 8 queues, and then the monitoring port flow value of the corresponding queue is obtained.

[0092] Refer to the attached Figure 6 Based on the hardware device of the aforementioned embodiment, the embodiment of the present application further provides a polymorphic parallel processing method based on software radio, which is applied to a polymorphic parallel reading device in a polymorphic parallel processor based on software radio, comprising the following steps:

[0093] Step S21: Obtain the target queue through a controllable polling classification algorithm.

[0094] Step S22: Based on the target queue, calculate the polling waiting time and start the waiting time timer. When the polling waiting time is reached, forward the monitoring data of the target queue to the corresponding monitoring port, and reorganize the monitoring data and its indication information on the monitoring port.

[0095] Further, the steps S21 to S22 are as follows: Figure 7 As shown, the following steps are included:

[0096] Step S211, query the status of each queue to determine whether there is a full queue; the full queue refers to a queue whose status is full; in a specific embodiment, the above step may be to query the status of 8 queues after completing the last monitoring data forwarding action;

[0097] Step S212, if there are full queues, determine the number of full queues; if the number of full queues = 1, use the full queue as the target queue; if the number of full queues > 1, obtain the target full queue based on the detection port flow value and queue number of each full queue in the full queue; that is: determine whether the number of queues with the smallest monitoring port flow value in the full queue is 1; if the number of queues with the smallest monitoring port flow value in the full queue = 1, use the full queue as the target full queue; if the number of queues with the smallest detection port flow value in the full queue > 1, obtain the queue with the smallest queue number in the full queue, and use the full queue as the target full queue.

[0098] Step S213, if there is no full queue, compare the monitoring port flow values ​​sent by all non-empty queues to obtain the target non-empty queue; that is: compare the monitoring port flow values ​​sent by all non-empty queues to obtain the queue with the smallest sent monitoring port flow value; determine whether the number of queues with the smallest sent monitoring port flow value is 1; if the number of queues with the smallest sent monitoring port flow value = 1, then use the queue as the target non-empty queue; if the number of queues with the smallest sent monitoring port flow value > 1, then obtain the queue with the smallest queue number in the queues with the smallest sent monitoring port flow value as the target non-empty queue.

[0099] Furthermore, step S22 calculates the polling waiting time based on the target queue, including: obtaining the rate value at which the target queue last forwarded monitoring data to the corresponding monitoring port; and calculating the polling waiting time based on the rate value at which the target queue last forwarded monitoring data to the corresponding monitoring port.

[0100] It should be noted that the polling waiting time satisfies the following relationship:

[0101] t=(u*len_s+(1-u)*len_n)*delta

[0102] Wherein, t represents the polling waiting time, in seconds; delta represents the rate value at which the target queue last forwarded monitoring data to the corresponding monitoring port, in Mbps; u represents the smoothing coefficient, 0≤u≤1; len_s represents the number of queues; and len_n represents the queue length.

[0103] The method of obtaining the rate value of the target queue at which the monitoring data was last forwarded to the corresponding monitoring port includes: accumulating the forwarded monitoring port traffic values ​​of the target queue; calculating the average value after continuously counting the monitoring port traffic values ​​within 8 unit statistical times (the 8 unit statistical times here are designed based on 8 monitoring ports, and the unit statistical time is 1 second); using the average value as the traffic value of the monitoring port within the unit statistical time; and obtaining the rate value of the target queue at which the monitoring data was last forwarded to the corresponding monitoring port based on the traffic value of the monitoring port within the unit statistical time.

[0104] In a further embodiment, the rate value of the detection port satisfies the following relationship:

[0105] delta[i]=port[i]_flow / TIME

[0106] Wherein, delta[i] represents the rate value of the target queue at which the monitoring data was forwarded to the monitoring port i last time; port[i]_flow represents the flow value of the target queue at which the monitoring data was forwarded to the monitoring port i last time within the unit statistical time, i=0-7, represents the monitoring port number; wherein, when i=0, it represents port 0, when i=1, it represents port 1, when i=2, it represents port 2, when i=3, it represents port 3, when i=4, it represents port 4, when i=5, it represents port 5, when i=6, it represents port 6, and when i=7, it represents port 7; TIME represents the time from the start of forwarding the monitoring data to the end of forwarding the monitoring data when the target queue forwarded the monitoring data to the monitoring port i last time.

[0107] In a further scheme, before accumulating the forwarded monitoring port traffic value of the target queue, it also includes: judging whether the traffic statistics time of the target queue (i.e., the time from the start of forwarding to the end of forwarding of the target queue) exceeds the preset unit time; if it exceeds the preset unit time, then after recording the monitoring port traffic value in the traffic accumulator of all queues, the traffic accumulators of all queues and the waiting time timer are cleared at the same time, and the timing is restarted.

[0108] It can be seen that the technical solution described in this application mainly includes the following points:

[0109] At the data writing end, a hash balanced classification algorithm is used to map the high-speed monitoring device data stream into eight queues. Each queue stores the indication message header information of the monitoring device data, and the data portion is cached in a data buffer to achieve long-term balanced classification of statistical data traffic.

[0110] A controllable polling classification algorithm is used at the data reading end. Each queue is polled according to the principle of minimum data flow priority. The data indication message header information is read from the queue, and then the corresponding data is taken out from the data buffer. The data flow is distributed to the corresponding detection port according to the port indication information, thereby achieving instantaneous balanced distribution of traffic.

[0111] The controllable polling classification algorithm includes a polling classification strategy and a monitoring port instantaneous balancing classification strategy; the polling classification strategy designs a flow statistics counter for each monitoring port, counts the real-time data flow information sent by each monitoring port, and polls each queue in turn according to the empty and full status information of each queue, adopts the principle of minimum flow priority, and forwards the data packets corresponding to the queue with the smallest statistical flow to the corresponding monitoring port; the monitoring port instantaneous balancing classification strategy takes into account that the amount of data arriving at a certain monitoring port at different times is not uniform. In order to avoid the situation where the output port data rate obtained per unit time fluctuates greatly, a polling classification method controlled by a waiting time interval is adopted to make the output port rate basically stable near the expected fixed value. Therefore, while balancing between each detection port, the rate of the monitoring port is adjusted by controlling the start interval time t of two polling operations.

[0112] Based on this, after adopting the method described in this application and its supporting hardware module, a polymorphic parallel processing method can evenly distribute 8-channel monitoring data to 8 monitoring ports, and make the long-term statistical balance and instantaneous balance between each monitoring port far better than 10%, making the monitoring data volume more balanced. The method described in this application can also be extended to high-speed data flow monitoring of other software radio monitoring equipment, balancing high-speed data flow to multiple low-speed monitoring equipment, and ensuring high balance.

[0113] Based on the same inventive concept as in the above-mentioned embodiment, the embodiment of the present application further provides a polymorphic parallel processor based on software radio, including:

[0114] A polymorphic parallel writing device is used to obtain monitoring data of multiple monitoring ports, respectively extract the indication message header information of each monitoring data; based on the indication message header information of each monitoring data, respectively perform hash operations to respectively obtain the flow value of each monitoring port; receive status information fed back by multiple queues, and based on the status information fed back by each queue and the flow value of each detection port, distribute and write the indication information of each monitoring data into the corresponding queue;

[0115] A polymorphic parallel reading device is used to filter and obtain a target queue from all queues through a controllable polling classification algorithm; based on the target queue, a polling waiting time is calculated, and a waiting time timer is started. When the polling waiting time is reached, the monitoring data of the target queue is forwarded to a corresponding monitoring port, and the monitoring data and its indication information are reorganized on the monitoring port.

[0116] Wherein, the multi-state parallel writing device is as follows: Figure 8 As shown, including:

[0117] An acquisition module, used to acquire monitoring data of multiple monitoring ports, and respectively extract the indication message header information of each of the monitoring data;

[0118] A calculation module, used to perform hash calculations based on the header information of the indication message of each monitoring data, and obtain the flow value of each monitoring port respectively;

[0119] The write allocation module is used to receive the state information fed back by the multiple queues, and based on the state information fed back by the queues and the flow value of each detection port, allocate and write the indication information of each monitoring data into the corresponding queue.

[0120] Wherein, the multi-state parallel reading device, such as Fig. 9 As shown, including:

[0121] The judgment module is used to filter and obtain the target queue from all queues through a controllable polling classification algorithm;

[0122] A reading module is used to calculate the polling waiting time based on the target queue and start the waiting time timer. When the polling waiting time is reached, the monitoring data of the target queue is forwarded to the corresponding monitoring port, and the monitoring data and its indication information are reorganized on the monitoring port.

[0123] Those skilled in the art should understand that the division of the various modules in the embodiment is only a division of logical functions, and can be fully or partially integrated into one or more actual carriers in actual application, and these modules can be implemented entirely in the form of software called by a processing unit, or entirely in the form of hardware, or in the form of a combination of software and hardware. It should be noted that the modules in the polymorphic parallel processing device based on software radio in this embodiment correspond one-to-one to the steps in the polymorphic parallel processing method based on software radio in the aforementioned embodiment. Therefore, the specific implementation of this embodiment can refer to the implementation of the polymorphic parallel processing method based on software radio, which will not be repeated here.

[0124] Based on the same inventive concept as in the aforementioned embodiment, an embodiment of the present application further provides a computer-readable storage medium storing a computer program. When the computer program is loaded and executed by a processor, a polymorphic parallel processing method based on software radio as provided in an embodiment of the present application is implemented.

[0125] Based on the same inventive concept as in the above-mentioned embodiment, an embodiment of the present application further provides an electronic device, including a processor and a memory, wherein:

[0126] The memory is used to store computer programs;

[0127] The processor is used to load and execute a computer program so that the electronic device executes a polymorphic parallel processing method based on software radio as provided in an embodiment of the present application.

[0128] In some embodiments, the computer readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or various devices including one or any combination of the above memories. The computer may be various computing devices including intelligent terminals and servers.

[0129] In some embodiments, executable instructions may be in the form of a program, software, software module, script or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.

[0130] As an example, executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).

[0131] By way of example, executable instructions may be deployed to be executed on one computing device, or on multiple computing devices located at one site, or on multiple computing devices distributed across multiple sites and interconnected by a communication network.

[0132] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or system. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or system including the element.

[0133] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0134] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as a read-only memory / random access memory, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a multimedia terminal device (which can be a mobile phone, a computer, a television receiver, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0135] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application should be included in the protection scope of the present application.

Claims

1. A polymorphic parallel processing method based on software radio, characterized in that: A polymorphic parallel writing device applied to a polymorphic parallel processor based on software radio comprises the following steps: Acquire monitoring data of multiple monitoring ports, and extract indication message header information of each monitoring data respectively; Based on the indication message header information of each monitoring data, hash operations are performed respectively to obtain the flow value of each detection port respectively; The state information fed back by the plurality of queues is received, and based on the state information fed back by each queue and the flow value of each detection port, the indication information of each monitoring data is distributed and written into the corresponding queue.

2. The polymorphic parallel processing method based on software radio according to claim 1, characterized in that: The indication information of the monitoring data includes the monitoring port flow value and its storage first address in the buffer; The indication message header information of the monitoring data includes the source device port number and the target port number of the monitoring data.

3. The polymorphic parallel processing method based on software radio according to claim 1, characterized in that: The monitoring port flow value is obtained based on the following steps: The result of the hash operation is modulo 8 to obtain the detection port number and its corresponding monitoring port traffic value.

4. The polymorphic parallel processing method based on software radio according to claim 1, characterized in that: The step of distributing and writing the indication information of each monitoring data into the corresponding queue based on the state information fed back by each queue and the flow value of each detection port includes: Sort each monitoring port from small to large according to the monitoring port traffic value, and sort the queues in each queue that are not full from small to large according to the queue number; according to the sorting, the indication information of the monitoring data corresponding to the monitoring port with the smallest monitoring port traffic value is allocated to the not full queue with the smallest queue number, and so on.

5. A polymorphic parallel processing method based on software radio, characterized in that: A polymorphic parallel reading device applied to a polymorphic parallel processor based on software radio comprises the following steps: Through the controllable polling classification algorithm, the target queue is obtained from all queues; Based on the target queue, the polling waiting time is calculated and the waiting time timer is started. When the polling waiting time is reached, the monitoring data of the target queue is forwarded to the corresponding monitoring port, and the monitoring data and its indication information are reorganized on the monitoring port.

6. The polymorphic parallel processing method based on software radio according to claim 5, characterized in that: The method of obtaining the target queue by using a controllable polling classification algorithm includes: Query the status of each queue to determine whether there is a full queue; If there is a full queue, determine the number of full queues; If the number of full queues = 1, the full queue is used as the target queue; If the number of full queues is greater than 1, a target full queue is obtained based on the monitoring port flow value and the monitoring port number of each full queue in the full queues.

7. The polymorphic parallel processing method based on software radio according to claim 6, characterized in that: The acquiring a target full queue based on the detection port flow value and the monitoring port number of each full queue in the full queues includes: Determine whether the number of queues with the smallest monitoring port flow value in the full queue is 1; If the number of queues with the smallest monitoring port flow value in the full queue is 1, the full queue is used as the target full queue; If the number of queues with the smallest detection port flow value in the full queues is greater than 1, the queue with the smallest queue number in the full queues is obtained, and the full queue is used as the target full queue.

8. The polymorphic parallel processing method based on software radio according to claim 6, characterized in that: The querying of the status of each queue to determine whether there is a full queue also includes: If there is no full queue, compare the detection port traffic values ​​sent by all non-empty queues to obtain the target non-empty queue.

9. The polymorphic parallel processing method based on software radio according to claim 8, characterized in that: The step of comparing the detection port traffic values ​​sent by all non-empty queues to obtain the target non-empty queue includes: Compare the monitoring port traffic values ​​sent by all non-empty queues, and obtain the queue with the smallest monitoring port traffic value sent; Determine whether the number of queues with the smallest sent monitoring port flow value is 1; If the number of queues with the smallest sent monitoring port flow value = 1, then the queue is used as the target non-empty queue; If the number of queues with the smallest sent detection port flow values ​​is greater than 1, the queue with the smallest queue number among the queues with the smallest sent detection port flow values ​​is obtained as the target non-empty queue.

10. The polymorphic parallel processing method based on software radio according to claim 5, characterized in that: The step of calculating the polling waiting time based on the target queue includes: Obtain the rate value of the target queue at which the monitoring data was last forwarded to the corresponding monitoring port; The polling waiting time is calculated based on the rate value of the target queue forwarding monitoring data to the corresponding monitoring port last time.

11. The polymorphic parallel processing method based on software radio according to claim 10, characterized in that: The polling waiting time satisfies the following relationship: t=(u*len_s+(1-u)*len_n)*delta Wherein, t represents the polling waiting time, in seconds; delta represents the rate value at which the target queue last forwarded monitoring data to the corresponding monitoring port, in Mbps; u represents the smoothing coefficient, 0≤u≤1; len_s represents the number of queues; and len_n represents the queue length.

12. The polymorphic parallel processing method based on software radio according to claim 10, characterized in that: The obtaining the rate value of the target queue at which the monitoring data was last forwarded to the corresponding monitoring port includes: Determine whether the traffic statistics time of the target queue exceeds a preset unit time; If it does not exceed, accumulating the forwarded detection port flow value of the target queue; After continuously counting the data flow values ​​for 8 unit statistical time, an average value is obtained; the average value is used as the flow value of the monitoring port within the unit statistical time; Based on the flow value of the monitoring port within the unit statistical time, the rate value of the target queue forwarding the monitoring data to the corresponding monitoring port last time is obtained.

13. The polymorphic parallel processing method based on software radio according to claim 12, characterized in that: The determining whether the traffic statistics time of the target queue exceeds a preset unit time includes: If it exceeds, after recording the detection port flow values ​​in the flow accumulators of all queues, the flow accumulators of all queues and the waiting time timer are cleared at the same time, and the timing starts again.

14. A polymorphic parallel processor based on software radio, characterized in that: include: A polymorphic parallel writing device, used to obtain monitoring data of multiple monitoring ports, and respectively extract the indication message header information of each of the monitoring data; Based on the indication message header information of each monitoring data, hash operations are performed respectively to obtain the flow value of each monitoring port respectively; receiving the state information fed back by multiple queues, and based on the state information fed back by each queue and the flow value of each detection port, the indication information of each monitoring data is distributed and written into the corresponding queue; A polymorphic parallel reading device is used to filter and obtain a target queue from all queues through a controllable polling classification algorithm; based on the target queue, a polling waiting time is calculated, and a waiting time timer is started. When the polling waiting time is reached, the monitoring data of the target queue is forwarded to a corresponding monitoring port, and the monitoring data and its indication information are reorganized on the monitoring port.

15. A multi-state parallel writing device, characterized in that: include: An acquisition module, used to acquire monitoring data of multiple monitoring ports, and respectively extract the indication message header information of each of the monitoring data; A calculation module, used to perform hash calculations based on the header information of the indication message of each monitoring data, and obtain the flow value of each monitoring port respectively; The write allocation module is used to receive the state information fed back by the multiple queues, and based on the state information fed back by the queues and the flow value of each detection port, allocate and write the indication information of each monitoring data into the corresponding queue.

16. A multi-state parallel reading device, characterized in that: include: A judgment module is used to filter and obtain a target queue from all queues through a controllable polling classification algorithm; The reading module is used to calculate the polling waiting time based on the target queue and start the waiting time timer. When the polling waiting time is reached, the monitoring data of the target queue is forwarded to the corresponding monitoring port, and the monitoring data and its indication information are reorganized on the monitoring port.

17. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is loaded and executed by a processor, the polymorphic parallel processing method based on software radio as claimed in any one of claims 1 to 13 is implemented.

18. An electronic device, characterized in that: comprising a processor and a memory, wherein: The memory is used to store computer programs; The processor is used to load and execute the computer program so that the electronic device executes the polymorphic parallel processing method based on software radio as described in any one of claims 1 to 13.

Citation Information

Patent Citations

  • Load balancing method of high-speed network

    CN101977162A

  • Anti-congestion software shunting method and device, and storage medium

    CN112073327A

  • Message processing method and device and electronic equipment

    CN118301074A