Intelligent adaptive RDMA message processing method and system for power grid data transmission, medium and processor

Through the intelligent adaptive RDMA message processing method, the power grid data transmission strategy is dynamically adjusted, which solves the problems of low data transmission efficiency and out of order of packet loss in the power grid, and realizes efficient and reliable data transmission, ensuring the stability and security of the power grid.

CN120547138APending Publication Date: 2025-08-26GUANGXI POWER GRID CORP
View PDF 0 Cites 3 Cited by

Patent Information

Application Number
CN202510450043.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-11
Publication Date
2025-08-26

AI Technical Summary

Technical Problem

The existing power grid data transmission technology is inefficient when processing large amounts of real-time data, and cannot transmit key data in a timely manner. Packet loss and disorderly sequence problems occur frequently in complex network environments, affecting the real-time monitoring and security of the power grid.

Method used

The intelligent adaptive RDMA message processing method is adopted, and by obtaining the parameters of the RDMA network card and storage device, configuring the credit limit value and retransmission priority, dynamically adjusting the data transmission strategy, using NAK and SACK information for error detection and retransmission optimization, combining hardware and software to optimize it to achieve efficient and reliable data transmission.

Benefits of technology

It improves the efficiency and reliability of power grid data transmission, ensures priority transmission of key data, reduces packet loss rate, improves network resource utilization rate, and ensures the stability and security of power grid.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120547138A_ABST
    Figure CN120547138A_ABST
Patent Text Reader

Abstract

The invention provides an intelligent self-adaptive RDMA message processing method for power grid data transmission, and the method comprises the steps: S1, obtaining parameters, carrying out the initialization of a credit line value and a retransmission priority, and creating a data transmission task; s2, sending the data message to a second RDMA network card of an opposite terminal device through the first RDMA network card; after receiving the data message, the second RDMA network card generates a corresponding response message and sends the response message back to the sending end; s3, analyzing the response message, determining the type of the response message, and storing correctly received data; s4, performing error detection and retransmission processing by analyzing the PSN serial number of the RDMA message; and S5, dynamically adjusting and optimizing the credit line and the retransmission priority of the data message. According to the method, resource allocation can be dynamically optimized according to the real-time state of the network, priority transmission of high-priority data including power control instructions and the like is ensured, and the transmission efficiency and reliability of key data are remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of power grid data transmission, and in particular to an intelligent adaptive RDMA message processing method, system, medium and processor for power grid data transmission. Background Art

[0002] In the field of power grid data transmission, as the scale of power grids continues to expand and the level of intelligence increases, the requirements for data transmission efficiency, reliability, and stability are becoming increasingly stringent. Traditional data transmission technologies have gradually exposed many problems when processing power grid data. For example:

[0003] In terms of transmission efficiency, existing technologies struggle to meet the grid's demand for rapid transmission of large amounts of real-time data. With the integration of distributed energy resources and the increasing frequency of data collection by smart meters, data volumes are surging. Traditional transmission methods are cumbersome in data processing and transmission paths, limiting transmission speeds and making it difficult to quickly and accurately deliver critical data (such as grid fault information and power dispatch instructions), hindering real-time monitoring and dispatching of the grid.

[0004] From a reliability perspective, power grid data transmission faces complex network environments, and packet loss and out-of-order transmission are common. Existing technologies have limited means of detecting and addressing these issues, making it difficult to accurately locate the location and cause of packet loss. Retransmission mechanisms are also inadequately intelligent, often resulting in incomplete or erroneous data transmission, impacting the safety and stability of power grid operations. For example, when transmitting power grid equipment status monitoring data, missing or erroneous data can lead to misjudgment of the equipment's operating status, preventing timely detection of potential faults.

[0005] In view of this, there is a need for an intelligent adaptive RDMA message processing method, system, medium and processor for power grid data transmission. Summary of the Invention

[0006] To address the existing problems of limited power grid data transmission speed, incomplete data transmission, or errors, the present invention provides an intelligent adaptive RDMA message processing method, system, medium, and processor for power grid data transmission, which can improve the efficiency and accuracy of real-time power grid data transmission. The specific technical solution is as follows:

[0007] An intelligent adaptive RDMA message processing method for power grid data transmission, comprising:

[0008] S1: In the transmission preparation phase, the parameters of the RDMA network card and storage device are obtained, the credit value and retransmission priority are initialized, and a data transmission task is created;

[0009] S2: According to the order of the transmission tasks, the sending end sends the data message to the second RDMA network card of the opposite device through the first RDMA network card; after the second RDMA network card of the opposite device receives the data message, it generates a corresponding response message and sends the response message back to the sending end;

[0010] S3: The sender parses the response message and determines its type, and the receiver stores the correctly received data.

[0011] S4: The sender performs error detection and retransmission processing by parsing the PSN sequence number of the RDMA message;

[0012] S5: Dynamically adjust and optimize data message credits and retransmission priorities based on network status.

[0013] Furthermore, step S1 includes the following steps:

[0014] S11: Obtain parameters of the RDMA network card and storage device;

[0015] S12: configuring an initial credit value for each queue pair based on the operating parameters of the network card and the storage device, and determining a retransmission priority based on the credit value;

[0016] S13: Configure the communication mode between the RDMA network card and the server main processor;

[0017] S14: Data transmission task creation.

[0018] Furthermore, the calculation formula for determining the retransmission priority according to the credit limit value is as follows:

[0019]

[0020] In the above formula, P qp_nitial Represents retransmission priority; C qp_nitial is the credit limit value; a is the scaling factor; k is the exponent of the power function part; and b is the coefficient of the exponential function part.

[0021] Furthermore, the calculation formula of the scaling factor a is as follows:

[0022] a=w 1a U+w 2a L+w 3a D+c a ;

[0023] Among them, w 1a 、w 2a 、w 3a is the weight coefficient of the corresponding network parameter; c a is a constant term; U is the bandwidth utilization; L is the packet loss rate; and D is the average round-trip delay.

[0024] Furthermore, in step S3, the sending end parses and determines the type of the response message, and the receiving end stores the correctly received data, including the following steps:

[0025] S31: The type information processing unit of the sending end parses the received response message and obtains the type information of the response message;

[0026] S32: Determine the final type information of the response message of the current transmission task according to the type information of all response messages of the current transmission task;

[0027] S33: For the response message of the correct response type, the receiving end directly writes the data into the target memory address according to the data write address information carried in the data message.

[0028] Furthermore, in step S32, the final type information of the response message of the current transmission task is determined based on the type information of all response messages of the current transmission task, including the following steps: for each response message, updating the corresponding bitmap position according to its type information, calculating the intermediate type information based on the bitmap information, and then determining the final type information based on the intermediate type information; the intermediate type information calculation formula is as follows:

[0029] IT i =B NAK [i]×2+B SACK [i];

[0030] In the above formula, IT i is the intermediate type information; B NAK [i] and B SACK [i] are the values ​​of the i-th bit of the bitmap information.

[0031] Furthermore, in step S5, dynamically adjusting and optimizing the data message credit and retransmission priority according to the network status includes the following steps:

[0032] S51: Monitor the congestion situation and adjust the credit limit according to the congestion situation, thereby adjusting the retransmission priority;

[0033] S52: Collect performance indicators of the RDMA network, and optimize and adjust the parameters and policies of IARPPM based on the analysis results of the performance indicators.

[0034] An intelligent adaptive RDMA message processing system for power grid data transmission, applied to the above-mentioned intelligent adaptive RDMA message processing method for power grid data transmission, comprises:

[0035] The initialization module is used to obtain the parameters of the RDMA network card and storage device, initialize the credit value and retransmission priority, and create a data transmission task during the transmission preparation phase;

[0036] A transmission module, configured to send a data packet from the sending end to the second RDMA network card of the opposite device through the first RDMA network card according to the order of the transmission tasks; after the second RDMA network card of the opposite device receives the data packet, generate a corresponding response packet and send the response packet back to the sending end;

[0037] The processing module is used for the sending end to parse and determine the type of the response message, and the receiving end to store the correctly received data;

[0038] The detection module is used by the sending end to perform error detection and retransmission processing by parsing the PSN sequence number of the RDMA message;

[0039] The optimization module is used to dynamically adjust and optimize the data message credit limit and retransmission priority according to the network status.

[0040] A computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute the above-mentioned intelligent adaptive RDMA message processing method for power grid data transmission.

[0041] A processor is used to run a program, wherein the program executes the above-mentioned intelligent adaptive RDMA message processing method for power grid data transmission when running.

[0042] Compared with the prior art, the present invention has the following beneficial effects:

[0043] 1. This application can dynamically optimize resource allocation according to the real-time status of the network, ensuring that high-priority data (such as power control instructions) are transmitted first, significantly improving the transmission efficiency and reliability of critical data.

[0044] 2. This application can effectively alleviate network congestion, improve network resource utilization, and ensure the stability of power grid data transmission through real-time monitoring and dynamic adjustment. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following briefly describes the drawings required for the specific embodiments or the description of the prior art. Similar elements or parts are generally identified by similar reference numerals throughout the drawings. Elements or parts in the drawings are not necessarily drawn to scale.

[0046] Figure 1A flow chart of an intelligent adaptive RDMA message processing method for power grid data transmission;

[0047] Figure 2 The schematic diagram shows the structure of an intelligent adaptive RDMA message processing system for power grid data transmission. DETAILED DESCRIPTION

[0048] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.

[0049] It will be understood that when used in this specification and the appended claims, the terms “comprises” and “comprising” indicate the presence of described features, integers, steps, operations, elements and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.

[0050] It should also be understood that the terms used in the present specification are only for the purpose of describing particular embodiments and are not intended to limit the present invention. As used in the present specification and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms unless the context clearly indicates otherwise.

[0051] It should be further understood that the term "and / or" used in the present description and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.

[0052] Example 1

[0053] The Intelligent Adaptive RDMA Packet Processing Method (IARPPM) is a comprehensive RDMA packet processing method that combines key technologies such as efficient data transmission, intelligent congestion control, precise packet loss detection and retransmission optimization, and hardware and software collaborative optimization. It aims to improve the overall performance of RDMA networks, reduce packet loss rates, minimize transmission latency, and enhance data transmission reliability. The following provides a detailed introduction to this method.

[0054] like Figure 1FIG2 is a flow chart of an intelligent adaptive RDMA packet processing method (IARPPM) for power grid data transmission. Assuming that the RDMA network card at the sending end is a first RDMA network card and the RDMA network card at the receiving end is a second RDMA network card, the method includes the following steps:

[0055] S1: In the transmission preparation phase, the parameters of the RDMA network card and storage device are obtained, the credit value and retransmission priority are initialized, and a data transmission task is created. The specific steps include:

[0056] S11: Get the parameters of the RDMA network card and storage device. Get the processing rate of the RDMA network card (denoted as R nic , in packets per second), the maximum number of packets received (denoted as N max ) and other operating parameters, as well as the processing cycle of the first storage device (denoted as T storage , in seconds), storage space size and other operating parameters.

[0057] S12: According to the operating parameters of the network card and storage device, configure the initial credit value (denoted as C) for each queue pair (QP) qp_nitial ), and determine the retransmission priority (denoted as P) based on the credit value qp_nitial ). The mapping relationship between the credit limit value and the retransmission priority can be expressed as:

[0058]

[0059] In the above formula, P qp_nitial Retransmission priority, which is used to measure the retransmission urgency of each queue pair (QP). The larger the value, the higher the priority the retransmission operation of the corresponding queue pair should be executed when a transmission problem occurs.

[0060] C qp_nitial The credit limit is the initial value configured for each queue pair based on operating parameters such as the network interface card and storage device. The credit limit can be thought of as a resource indicator assigned to each queue pair during data transmission. A higher credit limit means the queue pair has more "resource support" for data transmission, allowing it to send more data packets.

[0061] a is a coefficient used to scale the overall retransmission priority. It can be adjusted based on the actual network environment and system requirements. The calculated retransmission priority value is amplified or reduced. For example, when a is large, the value range of the retransmission priority will increase as a whole, and the difference in retransmission priority between different queue pairs will also be correspondingly amplified; conversely, when a is small, the value range of the retransmission priority shrinks, and the difference also becomes smaller.

[0062] k is the exponent of the power function part, which determines the degree and manner of the impact of the credit limit value on the retransmission priority. When k > 1, the change in the credit limit value has a more significant impact on the retransmission priority, that is, a small increase in the credit limit value will lead to a relatively large increase in the retransmission priority, which is applicable to scenarios where high credit limit queue pairs have very high requirements for retransmission timeliness; when 0 < k < 1, the change in the credit limit value has a relatively gentle impact on the retransmission priority, and the speed of increasing the retransmission priority is slow.

[0063] b is the coefficient of the exponential function part, which controls the growth rate of the exponential function. The larger b is, the faster the exponential function grows, and the more obvious the promotion effect of the credit limit value on the retransmission priority; the smaller b is, the slower the exponential function grows, and the relatively weaker the impact of the credit limit value on the retransmission priority.

[0064] Furthermore, the coefficients a, k, and b can be determined by referring to the following network parameters:

[0065] Bandwidth utilization rate: Reflects the degree of use of network bandwidth resources. A high bandwidth utilization rate may mean that the network is relatively busy. At this time, parameters need to be adjusted to make the allocation of retransmission priority more reasonable, and avoid further aggravating network congestion due to excessive retransmissions.

[0066] Packet loss rate: Reflects the reliability of network transmission. When the packet loss rate is high, it may be necessary to increase the retransmission priority to ensure the accurate transmission of data.

[0067] Delay: Measures the time required for data to travel from the sender to the receiver. A network environment with low delay has high requirements for real-time performance. The setting of retransmission priority needs to consider how to quickly recover lost data and reduce the impact of delay on services.

[0068] Queue length: Represents the number of data packets waiting to be processed in the queue pair. When the queue length is long, it may be necessary to adjust the retransmission priority to avoid excessive data backlog in the queue.

[0069] Furthermore, the calculation method of the coefficients a, k, and b based on linear combination is as follows:

[0070] a, k, and b can be expressed as a linear combination of network parameters. Considering the three network parameters of bandwidth utilization rate U, packet loss rate L, and delay D, the following is a feasible calculation method:

[0071] a = w 1a U + w2a L+w 3a D+c a ;

[0072] Among them, w 1a 、w 2a 、w 3a is the weight coefficient corresponding to the network parameter, c a is a constant term. For example, in a network that is sensitive to bandwidth utilization, w 1a It can be set larger to highlight the impact of bandwidth utilization on a. Assume that w 1a =0.5,w 2a =0.3,w 3a =0.2,c a =0.1, when U=0.8, L=0.05, D=20 (unit: ms):

[0073] a=0.5×0.8+0.3×0.05+0.2×20+0.1=4.515.

[0074] k=w 1k U+w 2k L+w 3k D+c k ;

[0075] Likewise, w 1k 、w 2k 、w 3k is the weight coefficient, c k is a constant term. For example, in a scenario where the packet loss rate is of great concern, w 2k A larger value can be taken. Assume w1k=0.2,w 2k =0.6,w 3k =0.2,c k =0.8, then:

[0076] k=0.2×0.8+0.6×0.05+0.2×20+0.8=4.91.

[0077] b=w 1b U+w 2b L+w 3b D+c b ;

[0078] Here 1b 、w 2b 、w 3b is the weight, c b is a constant. For example, w 1b =0.3,w 2b =0.4,w 3b =0.3,c b =0.01, we can get:

[0079] b=0.3×0.8+0.4×0.05+0.3×20+0.01=6.25.

[0080] Specifically, the aforementioned weight coefficients and constant terms can be determined based on experience or experiments.

[0081] In practice, the queue pair (QP) is a key concept in Remote Direct Memory Access (RDMA) technology. In RDMA communication, a QP is the basic unit for endpoints to transmit and receive data. It consists of a send queue (SQ) and a receive queue (RQ).

[0082] The send queue (SQ) stores data packets waiting to be sent. When an application has data to transmit, the data is encapsulated into a message and placed in the send queue. The first RDMA network card reads the messages from the send queue and sends them out in a certain order. The receive queue stores received data packets. Messages sent by the first RDMA network card on the send side are received by the second RDMA network card on the receive side and stored in the receive queue (RQ), awaiting processing by the application.

[0083] QP plays an important role in RDMA communication. It achieves efficient data transmission through the collaboration of hardware and software, reduces the CPU's overhead in data processing, and improves network communication performance. In the intelligent adaptive RDMA message processing method (IARPPM) of the embodiment, the configuration and management of QP runs through the entire data transmission process. For example, in the transmission preparation stage, it is necessary to configure the initial credit value and retransmission priority for each QP based on the operating parameters of the network card and storage device, which affects the order and reliability of data transmission; in the retransmission optimization stage, the scheduling and execution of retransmission messages are also carried out through the corresponding QP to ensure the correctness and order of retransmission.

[0084] S13: Configure the communication method between the RDMA network card and the server's main processor. Use a common interface or bus standard, such as PCIe, to ensure efficient communication between the two. Set interface parameters such as the transfer rate and buffer size to match the performance of the network card and processor.

[0085] Alternatively, you can use the ACE interface. Configuring the ACE interface with the RDMA network card: Configure the ACE interface between the RDMA network card and the processor to ensure efficient communication between them. Set parameters such as the transfer rate and buffer size of the ACE interface to match the performance of the network card and processor.

[0086] S14: Data transmission task creation.

[0087] Transmission task generation: The host creates one or more data transmission tasks based on the application's requirements. Each transmission task includes multiple data packets. The host records the identifier of each transmission task (recorded as TID), the number of packets in each transmission task (recorded as D task ) and other information.

[0088] Data message preprocessing: preprocess each data message, including adding data write address (denoted as A write ), Message Sequence Number (PSN, denoted as PSN pkt The initial value of PSN can be set to 0, and the PSN of each message is incremented by 1 when it is sent.

[0089] S2: According to the order of transmission tasks, the sender sends the data message to the second RDMA network card of the opposite device through the first RDMA network card; after receiving the data message, the second RDMA network card of the opposite device generates a corresponding response message and sends the response message back to the sender.

[0090] S21: The sender sends the data packet to the second RDMA network card of the peer device through the first RDMA network card according to the order of the transmission task. During the transmission process, the control and management communication between the RDMA network card and the server main processor is realized by using the configured universal interface to improve the data transmission efficiency. The sender maintains a sending window (denoted as W send ), the window size can be adjusted dynamically according to the network conditions and the processing capacity of the receiving end. The message sequence number range within the sending window is [PSN base ,PSN base +W send -1], where PSN base It is the PSN of the window start message.

[0091] Message information record: records the type information of each data message sent, including the correct response type (recorded as ACK), the error response type (transmission link error type is recorded as NAK), link , non-transmission link error type is recorded as NA K non_ink ).

[0092] Furthermore, the use of a configured universal interface to implement control and management communication between the RDMA network card and the server's main processor addresses this communication, not the data transfer itself. During data transfer, the RDMA network card, in accordance with its core capabilities, can still directly interact with memory, bypassing the main processor, thereby achieving efficient data transfer. This combination ensures both efficient data transfer and effective system management and control of transfer tasks. Control and management communication involves the exchange of control information. During transfer task initialization, status updates, and error handling, the RDMA network card must exchange control information with the processor. For example, when the host creates a transfer task, it must pass task parameters (such as the TID and data size) to the RDMA network card via a universal interface. When the RDMA network card completes a task or encounters an error, it must also report status information to the processor via the universal interface. The purpose of interface optimization is to ensure efficient exchange of this control information, reduce communication latency, and improve overall system performance by configuring a universal interface (such as PCIe). This optimization does not address data transfer itself, but rather aims to better manage and coordinate the collaboration between the RDMA network card and the processor.

[0093] Furthermore, multiple small data packets are merged into a large data packet at the sending end to reduce the number of network card processing times and reduce the energy consumption of the RDMA network card. The merging threshold = β·MTU. When the data packet size is less than β times the maximum transmission unit (MTU), merging is performed.

[0094] Alternatively, by monitoring the network load in real time, the operating frequency of the RDMA network card can be dynamically adjusted. When the network is under low load, the frequency can be reduced; when the network is under high load, the frequency can be increased to balance performance and power consumption.

[0095] formula:

[0096]

[0097] Among them, f base Represents the base frequency, L is the current load (range is 0-1), L max is the maximum load threshold, is the adjustment coefficient

[0098] Implementation: Use hardware sensing modules to monitor load conditions and dynamically adjust frequency through firmware.

[0099] Furthermore, in the network card's power management unit (PMU), the voltage is adjusted synchronously according to the change in operating frequency, thereby reducing dynamic power consumption. The formula is as follows:

[0100]

[0101] V new is the adjusted voltage, V base is the basic voltage, f new is the current frequency, f base is the basic frequency.

[0102] S22: After receiving the data message, the second RDMA network card of the peer device generates a corresponding response message and sends the response message back to the sending end. The response message includes an acknowledgment (ACK) or a negative acknowledgment (NAK) of the received message and a specific error type.

[0103] Response message reception and buffering: The second RDMA network card receiving module at the sending end receives the response message sent by the peer device and buffers the type information of the response message into the message type information buffer unit. The buffer unit can adopt a two-bit map structure, the first bit map (denoted as B NAK ) is used to cache the NAK information of the response message, and the second bitmap (denoted as B SACK ) is used to cache the selective ACK information of the response message.

[0104] In RDMA (Remote Direct Memory Access) communications, NAK and SACK messages are two important feedback mechanisms used to ensure the reliability and correctness of data transmission. A NAK is a negative acknowledgment signal, indicating that the receiving end encountered a problem while processing a data packet and was unable to correctly receive or process the packet. When the receiving end detects an error in a data packet (such as data corruption or sequence number mismatch), it sends a NAK to the sending end, informing it of the problem. Upon receiving a NAK, the sending end typically triggers a retransmission mechanism, resending the problematic data packet to ensure data transmission integrity. For example, suppose the sending end sends data packet with sequence number 100. Upon receiving the data packet, the receiving end discovers a checksum error and is unable to correctly parse the data. The receiving end then sends a NAK to the sending end, indicating that there is a problem with the data packet with sequence number 100. Upon receiving the NAK, the sending end resends the data packet with sequence number 100.

[0105] The SACK message is a selective acknowledgment signal used by the receiver to provide the sender with the sequence numbers of correctly received data packets, even if these packets are received out of sequence. The receiver uses the SACK message to inform the sender which data packets have been correctly received, even if they are not consecutive. The sender uses the SACK message to determine which packets have been successfully received, avoiding unnecessary retransmissions and improving transmission efficiency. Suppose the sender sends three data packets with sequence numbers 100, 101, and 102. The receiver correctly receives packets with sequence numbers 100 and 102, but loses packet 101. The receiver sends a SACK message to the sender, indicating that it has correctly received packets with sequence numbers 100 and 102. After receiving the SACK message, the sender only needs to retransmit packet 101, rather than all packets.

[0106] The difference between NAK and SACK messages: NAK is a negative acknowledgment used to report errors; SACK is a positive acknowledgment used to confirm correctly received data. NAK typically triggers retransmission, while SACK is used to optimize retransmission and reduce unnecessary retransmissions. NAK primarily contains the sequence number of the message with the error; SACK contains the sequence number of the message that has been correctly received. When the receiving end detects an error in a data message, it sends a NAK message to the sending end, triggering a retransmission mechanism. When the receiving end receives a data message correctly but out of sequence, it sends a SACK message to the sending end, notifying the sending end of the sequence number of the message that has been correctly received, thereby optimizing the retransmission process. By using NAK and SACK messages, the IARPPM scheme can efficiently handle errors and out-of-order data transmission, ensuring reliable and efficient data transmission. Therefore, in the RDMA protocol, NAK and SACK are mutually exclusive feedback mechanisms; a response message cannot contain both NAK and SACK.

[0107] Furthermore, the two-bitmap structure is a data structure used to efficiently store and manage response message type information. It consists of two bitmaps. Each bitmap is an array, where each element is a bit that can take a value of 0 or 1, representing a certain state or attribute. Specifically, in the IARPPM scheme, the two-bitmap structure is used to cache two types of response message information: NAK information and SACK information.

[0108] The first bitmap (B_NAK) is used to cache the NAK information of the response message. Each bit indicates whether a response message contains NAK (negative acknowledgment) information. If the i-th bit is 1, it means that the i-th response message contains NAK information; if it is 0, it means that it does not contain NAK information.

[0109] The second bitmap (B_SACK) is used to cache the SACK (Selective Acknowledgement) information of the response message. Each bit indicates whether a response message contains SACK information. If the i-th bit is 1, it means that the i-th response message contains SACK information; if it is 0, it means that it does not contain SACK information.

[0110] S3: The sending end parses and determines the type of the response message, and the receiving end stores the correctly received data.

[0111] S31: The type information processing unit of the sending end parses the received response message to obtain the type information of the response message. For each response message, it determines whether it is ACK, NAK_{link} or NAK_{non_link}, and updates the corresponding bitmap information.

[0112] S32: Determine the final type information of the response message of the current transmission task based on the type information of all response messages of the current transmission task. The specific method is as follows:

[0113] For each response message, update the corresponding bitmap position according to its type information. For example, if the i-th response message is NAK_{link}, then in B NAK The i-th bit of is set to 1; if it is SACK, then in B SACK The i-th bit of is set to 1.

[0114] Calculate the intermediate type information based on the bitmap information. The intermediate type information can be obtained by performing logical operations on the bitmap, for example, the intermediate type information IT i Can be expressed as IT i =B NAK [i]×2+B SACK [i], where B NAK [i] and B SACK [i] is the value of the i-th bit, which can be 0 or 1. i The possible values ​​are 0 (correct response), 1 (non-transmission link error), and 2 (transmission link error).

[0115] The final type information is determined based on the intermediate type information. If any of the intermediate type information is a transmission link error (i.e., IT i =2), the final type information of all response messages of the current transmission task is determined to be the transmission link error type; otherwise, the final type information is the corresponding intermediate type information.

[0116] For response messages with an error response type (i.e., the final type information indicates a non-transmission link error type or a transmission link error type), the sender takes appropriate action based on the error type. If the error type is a non-transmission link error, a retransmission mechanism is triggered; if the error type is a transmission link error, a corresponding second CQE message is generated and reported to the host.

[0117] S33: The receiving end writes the address information A according to the data carried in the data message for the response message of the correct response type (that is, the final type information is the correct response type). write , write data directly to the target memory address. The write operation can be achieved through DMA (Direct Memory Access) technology to improve data transmission efficiency.

[0118] Furthermore, DMA (Direct Memory Access) technology allows certain hardware devices (such as network cards and disk controllers) to exchange data directly with the computer's memory without requiring extensive CPU involvement. The primary purpose of DMA technology is to improve data transfer efficiency, reduce the CPU's burden, and thus enhance overall system performance.

[0119] Initialization phase: The CPU configures the DMA controller and specifies parameters such as the source address, destination address, and amount of data to be transferred. For example, when reading data from disk to memory, the CPU tells the DMA controller the location of the data on disk and the destination address in memory.

[0120] During the data transfer phase, the DMA controller takes over bus control and directly manages the data transfer from the source device to the destination device. During this process, the CPU can perform other tasks and does not need to monitor the progress of the data transfer in real time. For example, after receiving data, the network card can directly write the data to the memory via DMA, without the CPU having to copy the data byte by byte.

[0121] Completion phase: After the data transfer is complete, the DMA controller sends an interrupt signal to the CPU to notify it that the transfer operation has ended. The CPU can then handle subsequent tasks as needed, such as data processing or updating status information.

[0122] Improved data transfer efficiency: Because DMA technology allows hardware devices to exchange data directly with memory, the data transfer process does not require deep CPU involvement, greatly improving data transfer efficiency. For example, in high-performance computing and big data processing scenarios, DMA technology can significantly reduce data transfer time and improve system throughput.

[0123] Reduce CPU burden: The CPU does not need to process data transmission byte by byte, and can use more time and resources to perform other computing tasks. For example, in a server environment, the CPU can spend more time processing application logic instead of data movement.

[0124] Support for high-bandwidth data transfers: DMA technology fully utilizes the system's memory bandwidth to achieve high-speed data transfers. This is particularly important for applications that process large data sets and have high bandwidth requirements, such as video processing and scientific computing.

[0125] Network communication: Remote Direct Memory Access (RDMA) is widely used for data transfer between network cards and memory. RDMA network cards can directly transfer data from the sender's memory to the receiver's memory without requiring extensive CPU involvement, enabling low-latency, high-bandwidth data transfer.

[0126] Storage device data transfer: DMA technology can significantly increase the speed of data reading and writing between the disk controller and memory. For example, when reading large amounts of data from a solid-state drive (SSD) to memory, DMA technology can quickly complete the data transfer, reducing system latency.

[0127] Graphics processing: DMA technology improves data transfer efficiency between graphics processing units (GPUs) and memory, supporting the processing of large data sets. For example, in deep learning and computer graphics, GPUs need to process large amounts of data, and DMA technology ensures that data is quickly transferred to GPU memory for calculation.

[0128] Since DMA technology allows hardware devices to directly access memory, IOMMU (Input Output Memory Management Unit) technology is introduced to perform address conversion and permission control on DMA operations to ensure the security of data transmission.

[0129] Different hardware devices and platforms may have different support for DMA technology. When developing and deploying applications that use DMA technology, you need to consider the compatibility of devices and platforms to ensure that DMA operations can be performed correctly.

[0130] S4: Error detection and processing stage by parsing the PSN sequence number of the RDMA message.

[0131] S41: Packet loss detection

[0132] PSN sequence number analysis: By parsing the PSN sequence number of the RDMA message, determine whether the message sequence number of the current RDMA message is less than the message sequence number of the previous RDMA message, and if it is less than, further determine whether the difference between the message sequence number of the current RDMA message and the message sequence number of the previous RDMA message is 1. If the difference is not 1, it means that the RDMA data stream has packet loss and / or disorder. The PSN (Packet Sequence Number) sequence number is an important field used to identify the order of data messages in the RDMA (Remote Direct Memory Access) protocol. In RDMA communication, each data message is assigned a unique PSN to ensure the order and integrity of data transmission. The PSN sequence number plays a key role in RDMA message processing, especially in packet loss detection, retransmission mechanism, and data reassembly. The specific calculation formula is as follows:

[0133] Assume the sequence number of the currently received message is PSN current , the previous message number is PSN last , then the difference D psn =PSN current -PSN last .

[0134] If D psn <0, it means that the message sequence number has wrapped around, and the actual difference after wrapping needs to be considered. For example, in the case of a 24-bit PSN, the maximum value is 2 24 -1, the actual difference after wrapping is calculated as D psn_actual =(PSN current -PSN last +2 24 )mod2 24 .

[0135] If D psn_actual ≠1, it is judged that packet loss and / or out-of-order has occurred.

[0136] S42: Retransmission message generation and sending

[0137] Retransmission message generation: Generates a corresponding retransmission message based on the packet loss detection results and the response message of the error response type. The retransmission message generation requires re-encapsulating the message header and data part to ensure consistency with the original message.

[0138] Retransmission message sending: The sender sends the generated retransmission message to the peer device. When sending the retransmission message, it is necessary to update the sending window and related status information to ensure the accuracy and order of the retransmission message.

[0139] The send window is a range maintained by the sender, indicating the range of message sequence numbers that can be sent continuously. The window size determines how many messages the sender can send without receiving an acknowledgment. The send window range is usually expressed as [PS N base , PSN base +W send -1], where PSN base is the PSN of the window start message, W send is the window size. The specific steps include:

[0140] S421: Update and adjust the sending window during retransmission.

[0141] 1. Reduce the window: When a message that needs to be retransmitted is detected, it may be due to network congestion or the receiving end cannot handle it. At this time, the sending window can be appropriately reduced to reduce network pressure. For example, the window size can be halved, that is, W send =W send / 2.

[0142] 2. Moving the window starting position: If the sequence number of the retransmitted message is less than the current window starting position PSN base , indicating that the message has exceeded the current window range, and the window start position needs to be moved to the sequence number of the retransmitted message, that is, PSN base =PSN retransmit , and adjust the window size accordingly to ensure that the window covers the messages that need to be retransmitted and subsequent messages.

[0143] 3. Timing of window update: When receiving NAK or SACK information from the receiving end, indicating that some messages need to be retransmitted, the sending window is updated according to the feedback information.

[0144] 4. If no confirmation information is received from the receiving end within the set time, the retransmission mechanism is triggered. At this time, the sending window needs to be updated and the message to be retransmitted is included in the window range.

[0145] S422: Update of status information

[0146] 1. Maintain a list of sent messages, recording each message's PSN, sending time, whether it has been confirmed, etc. When sending a retransmitted message, it is necessary to update the status of the corresponding message in the list, such as setting the "confirmed" flag to false and re-recording the sending time.

[0147] 2. To prevent network congestion caused by infinite retransmissions, a maximum retransmission count is typically set. When sending a retransmitted message, the retransmission count is incremented and a check is performed to see if the maximum retransmission count has been exceeded. If so, additional measures may be required, such as discarding the message or notifying the upper-layer application for processing.

[0148] 3. The sender needs to synchronize the receiver's status based on the receiver's feedback. For example, if the receiver reports that it has successfully received certain messages, the sender needs to update its local records, mark these messages as confirmed, and remove them from the retransmission queue.

[0149] S423: Retransmission Queue Management

[0150] 1. Maintain a retransmission queue and add the messages that need to be retransmitted to the queue in order. When sending a retransmission message, take the message out of the queue and send it, and update the queue status.

[0151] 2. Set priorities for messages in the retransmission queue based on their importance and urgency. When sending retransmissions, high-priority messages are sent first to ensure timely transmission of important data.

[0152] 3. If the retransmission queue is full, you need to take measures to prevent the queue from overflowing. You can use the following strategies:

[0153] Discard low-priority packets: If the queue is full, discard low-priority packets first to make room for newly added retransmitted packets.

[0154] Expand the queue: If conditions permit, the size of the retransmission queue can be dynamically expanded to accommodate more retransmitted messages.

[0155] S424: Example

[0156] Assume that the sender's sending window size is 5, the current window range is [100, 104], and the PSNs of the sent packets are 100, 101, 102, 103, and 104. The receiver responds that the packet with PSN 101 needs to be retransmitted.

[0157] Send window update: move the window starting position to 101, the window range becomes [101, 105], and the window size remains 5.

[0158] Status information update: In the sent message list, set the "confirmed" flag of the message with PSN 101 to false, and increase the retransmission count by 1.

[0159] Retransmission Queue Management: When sending retransmission messages, the sender maintains a retransmission queue to record messages that need to be retransmitted. If a message from PSN 101 is added to the retransmission queue, but messages from PSNs 102, 103, and 104 are not marked as requiring retransmission, they will not be retransmitted. Only messages marked as requiring retransmission are added to the retransmission queue and retransmitted.

[0160] Send retransmission message: Take the message with PSN 101 from the retransmission queue, send it to the receiving end, and update the sending window and status information.

[0161] Through the above steps, the correctness and order of retransmitted messages can be ensured, and the reliability and efficiency of data transmission can be improved.

[0162] In a specific implementation, the management of the retransmission queue requires continuous optimization of the retransmission queue, including the following steps:

[0163] S4231: Retransmission delay configuration

[0164] Retransmission priority is negatively correlated with latency: according to the retransmission priority P of the QP to which each retransmitted message belongs qp_nitial , configure the corresponding retransmission delay T for each retransmission message to be retransmitted retransmit The retransmission delay is negatively correlated with the retransmission priority and can be expressed as Where k is a constant used to adjust the proportional relationship of the delay.

[0165] Self-clocking mechanism setting: Set a self-clocking mechanism for each retransmitted message, and count the time based on the retransmission delay. The self-clocking mechanism can be implemented using a timer or counter. When the time reaches the retransmission delay, the retransmission operation is triggered.

[0166] S4232: Retransmission Scheduling and Execution

[0167] Retransmission scheduling: Based on the timing results of the self-clock mechanism, retransmission packets are scheduled in order of retransmission latency from shortest to longest. This scheduling can be implemented using priority queues or sorting algorithms to ensure that retransmission packets with shorter latencies are sent first.

[0168] Retransmission execution: Retransmit the scheduled retransmission message using the corresponding QP. During the retransmission process, relevant status information and statistics need to be updated for subsequent performance analysis and optimization.

[0169] S5: Dynamically adjust and optimize data message credits and retransmission priorities based on network status.

[0170] S51: Monitor the congestion situation and adjust the credit limit according to the congestion situation, thereby adjusting the retransmission priority.

[0171] 1. Congestion monitoring: Real-time monitoring of network congestion and obtaining congestion information. Congestion can be determined by monitoring network delay, packet loss rate, bandwidth utilization and other indicators. For example, the following formula can be used to calculate the network congestion level C congestion :

[0172]

[0173] Among them, D rtt is the current average round trip delay, D rtt-threshold is the delay threshold; L loss is the current packet loss rate, L loss_threshold is the packet loss rate threshold; U bandwidth is the current bandwidth utilization, U bandwidth-threshold is the bandwidth utilization threshold; w1, w2, and w3 are weight coefficients, whose values ​​need to be determined based on different network scenarios. In latency-sensitive network scenarios, such as real-time video transmission, the weight of w1 can be appropriately increased to give latency a greater weight in congestion calculations, thereby prioritizing latency requirements during network congestion. In file transfer scenarios, which are more sensitive to packet loss, the weight of w2 can be increased to focus more on the impact of packet loss on network congestion.

[0174] 2. Dynamic adjustment of credit limit: Dynamically adjust the credit limit value C of each QP based on congestion information qp_nitial For example, when the network congestion is high (i.e., C congestion When the network congestion is lower than a certain threshold, the credit limit value is reduced; when the network congestion is lower, the credit limit value is appropriately increased. The adjustment formula can be expressed as:

[0175] C qp_new =C qp_nitial ×(1-α×C congestion );

[0176] Among them, C qp_nitial is the credit limit value before adjustment; C qp_new is the adjusted credit limit value; α is the adjustment coefficient, which controls the change range of the credit limit value.

[0177] S52: Collect performance indicators of the RDMA network, and optimize and adjust the parameters and policies of IARPPM based on the analysis results of the performance indicators.

[0178] Performance indicator collection: Collect performance indicators of RDMA network, such as transmission delay (denoted as D transfer ), packet loss rate (denoted as P loss ), throughput (denoted as T throughput ) etc. These indicators can be obtained through network monitoring tools, network card statistics, etc.

[0179] Feedback and Optimization: IARPPM parameters and policies are optimized based on performance metric analysis. For example, if transmission delay is high, consider increasing the send window size or optimizing congestion control policies. If packet loss is high, strengthen packet loss detection and retransmission mechanisms. If throughput falls short of expectations, adjust network interface card and storage device configuration parameters. The optimization process employs feedback control algorithms to adjust parameter values ​​based on performance metric deviations, gradually approaching optimal performance.

[0180] The intelligent adaptive RDMA message processing method proposed in this application significantly improves the efficiency, reliability, and stability of power grid data transmission through dynamic adjustment of credit limits and retransmission priorities, accurate packet loss detection and selective retransmission, and hardware and software collaborative optimization. It effectively solves the problems of limited transmission speed, incomplete or erroneous data transmission in existing technologies. The following is a detailed analysis of the technical effects:

[0181] 1. Efficient transmission:

[0182] Simplified transmission path: The data transmission path of existing technologies is relatively cumbersome, resulting in limited transmission speed. This application adopts RDMA technology, allowing the network card to directly access the memory, reducing the CPU's overhead in data processing and significantly improving data transmission efficiency.

[0183] Direct Memory Access (DMA): In step S33, the receiving end uses DMA technology to write data directly to the target memory address without CPU intervention, further improving data transmission speed.

[0184] 2. Intelligent congestion control:

[0185] Dynamically adjust credit limits: Existing technologies are unable to effectively adjust traffic distribution when facing network congestion. In step S51, this application calculates the degree of network congestion by monitoring network latency, packet loss rate, bandwidth utilization, and other indicators, and dynamically adjusts the credit limit value of each queue pair (QP) based on the congestion situation. When the network congestion level is high, the credit limit value is reduced; when the network congestion level is low, the credit limit value is appropriately increased, thereby effectively avoiding network congestion and improving network resource utilization.

[0186] Optimize retransmission priority: Re-determine the retransmission priority based on the adjusted credit limit value, so that high-priority retransmission tasks can be processed first when the network is congested, further improving the efficiency and reliability of data transmission.

[0187] 3. Accurate packet loss processing:

[0188] PSN sequence number detection: Existing technologies have limited means for detecting packet loss, making it difficult to accurately locate the location and cause of packet loss. In step S41, the present application parses the PSN sequence number of the RDMA message to determine whether the message sequence number of the current RDMA message is less than the message sequence number of the previous RDMA message. If so, it further determines whether the difference between the message sequence number of the current RDMA message and the message sequence number of the previous RDMA message is 1. If the difference is not 1, it indicates that the RDMA data stream has lost and / or is out of order, and packet loss can be detected quickly and accurately.

[0189] Selective retransmission: In step S42, the corresponding retransmission message is generated according to the packet loss detection result and the response message of the error response type, and selective retransmission is achieved by maintaining the sending window and retransmission queue, thereby reducing unnecessary retransmissions and reducing transmission delays.

[0190] 4. Hardware and software collaborative optimization:

[0191] Configuring the communication method: In step S13, the communication method between the RDMA network card and the server main processor is configured, using a common interface or bus standard (such as PCIe) to ensure efficient communication between the two and fully utilize the hardware acceleration capability.

[0192] Dynamic parameter adjustment: In step S52, performance indicators of the RDMA network (such as transmission delay, packet loss rate, throughput, etc.) are collected. Based on the analysis results of the performance indicators, the parameters and policies of IARPPM are optimized and adjusted to achieve coordinated optimization of hardware and software and improve overall performance.

[0193] 5. High reliability:

[0194] Handling complex scenarios: This application ensures the continuity of RDMA connections and the integrity of data transmission through mechanisms such as dynamic adjustment of credit limits and retransmission priorities, precise packet loss detection and retransmission, and improves the reliability of data transmission.

[0195] Multiple feedback mechanisms: NAK and SACK are used. NAK is used to report errors and trigger retransmission, while SACK is used to confirm correctly received data and optimize retransmission. The combination of the two ensures reliable and efficient data transmission.

[0196] Example 2

[0197] like Figure 2 As shown, an intelligent adaptive RDMA message processing system for power grid data transmission is applied to the above-mentioned intelligent adaptive RDMA message processing method for power grid data transmission, including:

[0198] The initialization module is used to obtain the parameters of the RDMA network card and storage device, initialize the credit value and retransmission priority, and create a data transmission task during the transmission preparation phase;

[0199] A transmission module, configured to send a data packet from the sending end to the second RDMA network card of the opposite device through the first RDMA network card according to the order of the transmission tasks; after the second RDMA network card of the opposite device receives the data packet, generate a corresponding response packet and send the response packet back to the sending end;

[0200] The processing module is used for the sending end to parse and determine the type of the response message, and the receiving end to store the correctly received data;

[0201] The detection module is used by the sending end to perform error detection and retransmission processing by parsing the PSN sequence number of the RDMA message;

[0202] The optimization module is used to dynamically adjust and optimize the data message credit limit and retransmission priority according to the network status.

[0203] Example 3

[0204] A computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute the above-mentioned intelligent adaptive RDMA message processing method for power grid data transmission.

[0205] Example 4

[0206] A processor is used to run a program, wherein the program executes the above-mentioned intelligent adaptive RDMA message processing method for power grid data transmission when running.

[0207] The present application provides an intelligent adaptive RDMA message processing method for power grid data transmission, including: S1: in the transmission preparation stage, obtaining the parameters of the RDMA network card and the storage device and initializing the credit value and retransmission priority, and creating a data transmission task; S2: according to the order of the transmission task, the sending end sends the data message to the second RDMA network card of the opposite device through the first RDMA network card; after the second RDMA network card of the opposite device receives the data message, it generates a corresponding response message and sends the response message back to the sending end; S3: the sending end parses and determines the type of the response message, and the receiving end stores the correctly received data; S4: the sending end performs error detection and retransmission processing by parsing the PSN sequence number of the RDMA message; S5: dynamically adjusts and optimizes the credit limit and retransmission priority of the data message according to the network status. The present application can dynamically optimize resource allocation according to the real-time status of the network, ensure that high-priority data (such as power control instructions) are transmitted first, and significantly improve the transmission efficiency and reliability of key data.

[0208] Those skilled in the art will appreciate that the units of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition of each example has been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0209] In the embodiments provided by the present invention, it should be understood that the division of units is merely a logical function division, and there may be other division methods in actual implementation, for example, multiple units can be combined into one unit, one unit can be split into multiple units, or some features can be ignored, etc.

[0210] In addition, the functional units in the various embodiments of the present invention may be integrated into a single processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0211] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, 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. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-0nly Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk, etc., various media that can store program code.

[0212] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some or all of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present invention, and they should all be included in the scope of the claims and description of the present invention.

Claims

1. An intelligent adaptive RDMA message processing method for power grid data transmission, characterized in that: include: S1: In the transmission preparation phase, the parameters of the RDMA network card and storage device are obtained, the credit value and retransmission priority are initialized, and a data transmission task is created; S2: According to the order of the transmission tasks, the sending end sends the data message to the second RDMA network card of the opposite device through the first RDMA network card; after the second RDMA network card of the opposite device receives the data message, it generates a corresponding response message and sends the response message back to the sending end; S3: The sender parses the response message and determines its type, and the receiver stores the correctly received data. S4: The sender performs error detection and retransmission processing by parsing the PSN sequence number of the RDMA message; S5: Dynamically adjust and optimize data message credits and retransmission priorities based on network status.

2. The intelligent adaptive RDMA message processing method for power grid data transmission according to claim 1, characterized in that: Step S1 includes the following steps: S11: Obtain parameters of the RDMA network card and storage device; S12: configuring an initial credit value for each queue pair based on the operating parameters of the network card and the storage device, and determining a retransmission priority based on the credit value; S13: Configure the communication mode between the RDMA network card and the server main processor; S14: Data transmission task creation.

3. The intelligent adaptive RDMA message processing method for power grid data transmission according to claim 2, characterized in that: The calculation formula for determining the retransmission priority based on the credit limit value is as follows: In the above formula, P qp_nitial Represents retransmission priority; C qp_nitial is the credit limit value; a is the scaling factor; k is the exponent of the power function part; and b is the coefficient of the exponential function part.

4. The intelligent adaptive RDMA message processing method for power grid data transmission according to claim 3 is characterized in that: The calculation formula of the scaling factor a is as follows: a=w 1a U+w 2a L+w 3a D+c a ; Among them, w 1a 、w 2a 、w 3a is the weight coefficient corresponding to the network parameter; c a is a constant term; U is the bandwidth utilization; L is the packet loss rate; and D is the average round-trip delay.

5. The intelligent adaptive RDMA message processing method for power grid data transmission according to claim 1, characterized in that: In step S3, the sending end parses and determines the type of the response message, and the receiving end stores the correctly received data, including the following steps: S31: The type information processing unit at the sending end parses the received response message to obtain type information of the response message; S32: Determine the final type information of the response message of the current transmission task according to the type information of all response messages of the current transmission task; S33: For the response message of the correct response type, the receiving end directly writes the data into the target memory address according to the data write address information carried in the data message.

6. The intelligent adaptive RDMA message processing method for power grid data transmission according to claim 5, characterized in that: In step S32, the final type information of the response message of the current transmission task is determined based on the type information of all response messages of the current transmission task, including the following steps: for each response message, updating the corresponding bitmap position according to its type information, calculating the intermediate type information based on the bitmap information, and then determining the final type information based on the intermediate type information; the intermediate type information calculation formula is as follows: IT i =B NAK [i]×2+B SACK [i]; In the above formula, IT i is the intermediate type information; B NAK [i] and B SACK [i] are the values ​​of the i-th bit of the bitmap information.

7. The intelligent adaptive RDMA message processing method for power grid data transmission according to claim 1, characterized in that: In step S5, dynamically adjusting and optimizing the data message credit and retransmission priority according to the network status includes the following steps: S51: Monitor the congestion situation and adjust the credit limit according to the congestion situation, thereby adjusting the retransmission priority; S52: Collect performance indicators of the RDMA network, and optimize and adjust the parameters and policies of IARPPM based on the analysis results of the performance indicators.

8. An intelligent adaptive RDMA message processing system for power grid data transmission, characterized in that: The intelligent adaptive RDMA message processing method for power grid data transmission according to any one of claims 1 to 7 comprises: The initialization module is used to obtain the parameters of the RDMA network card and storage device, initialize the credit value and retransmission priority, and create a data transmission task during the transmission preparation phase; A transmission module, configured to send a data packet from the sending end to the second RDMA network card of the opposite device through the first RDMA network card according to the order of the transmission tasks; after the second RDMA network card of the opposite device receives the data packet, generate a corresponding response packet and send the response packet back to the sending end; The processing module is used for the sending end to parse and determine the type of the response message, and the receiving end to store the correctly received data; The detection module is used by the sending end to perform error detection and retransmission processing by parsing the PSN sequence number of the RDMA message; The optimization module is used to dynamically adjust and optimize the data message credit limit and retransmission priority according to the network status.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium includes a stored program, wherein when the program is running, the device where the computer-readable storage medium is located is controlled to execute the intelligent adaptive RDMA message processing method for power grid data transmission according to any one of claims 1 to 7.

10. A processor, characterized in that: The processor is used to run a program, wherein the program executes the intelligent adaptive RDMA message processing method for power grid data transmission according to any one of claims 1 to 7 when running.

Citation Information

Cited By

  • Data transmission method, request system, response system, electronic equipment and medium

    CN121187980A

  • Selective retransmission function test method, device and system for remote direct memory access, medium and product

    CN121441800A

  • Data sending method, device and chip

    CN122513358A