Message unloading path troubleshooting method and device, equipment and storage medium

By setting statistics functions in the on-chip system of the network card in the cloud computing environment, obtaining and comparing the message unloading data, the problem of abnormal message unloading path is solved, and the effect of quickly locate abnormal nodes is achieved.

CN119520445APending Publication Date: 2025-02-25CHINA TELECOM CLOUD TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411705432.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-26
Publication Date
2025-02-25

AI Technical Summary

Technical Problem

In a cloud computing environment, when there is an abnormality in the message offload path, multiple software and hardware interaction nodes need to be checked one by one, resulting in low troubleshooting efficiency.

Method used

Run the data processing software program in the on-chip system of the network card, set the first statistical function in the message interaction interface, and set the second statistical function in the flow table unloading cache interface. These statistical functions obtain software and hard interaction data and flow table unloading data, perform consistency comparison, and determine abnormal nodes.

Benefits of technology

Quickly locate the source of message unloading abnormalities, significantly improving troubleshooting efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119520445A_ABST
    Figure CN119520445A_ABST
Patent Text Reader

Abstract

The invention relates to a message unloading path troubleshooting method, which is applied to a network card. The network card comprises a system on chip and a hardware field programmable gate array; a data processing software program runs in the system on chip; a first statistical function is arranged in a message interaction interface of the data processing software program and the hardware field programmable gate array; a second statistical function is arranged in a flow table unloading cache interface of the system on chip; the method comprises the steps of obtaining first software and hardware interaction data obtained based on statistics of a first statistical function; acquiring software flow table unloading data obtained based on statistics of the second statistical function; comparing the first software and hardware interaction data with second software and hardware interaction data in a hardware field programmable gate array to obtain a first comparison result; comparing the software flow table unloading data with hardware flow table unloading data in the hardware field programmable gate array to obtain a second comparison result; and determining an abnormal node from the message unloading path based on the first comparison result and the second comparison result. By adopting the method, the troubleshooting efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud computing, and in particular to a message offloading path troubleshooting method, device, equipment and storage medium. Background Art

[0002] In modern data centers and cloud computing environments, traditional central processing units (CPUs) are facing increasing pressure. With the increasing complexity of applications, the explosive growth of data traffic, and the continuous rise in network and storage requirements, it is becoming increasingly difficult for the CPU alone to handle all these tasks. Especially in large-scale cloud computing infrastructures, users' demand for low latency, high throughput, and powerful computing power has led to an increasing load on the CPU, causing performance bottlenecks and energy efficiency issues. In order to address these challenges, data center architecture is undergoing a profound transformation. As a new type of hardware accelerator, data processing units (DPUs) have begun to be widely used in the field of cloud computing. DPUs integrate multiple functions, including network acceleration, storage acceleration, security processing, and a certain degree of computing task offloading. It significantly improves the overall performance and efficiency of data centers by offloading network, storage, and computing traffic from the main CPU.

[0003] In the field of network offloading, the advantages of DPU are particularly prominent. A typical application scenario is to offload network traffic (messages) in the CPU to a hardware accelerator, namely a field programmable gate array (FPGA), and use the field programmable gate array (FPGA) to process high-throughput network data. Generally, the message offloading path is that the FPGA uploads the message to the ovs-dpdk software program in the CPU. After querying the corresponding Openflow flow table, ovs-dpdk generates a dpcls flow table, and sends inband messages. At the same time, it modifies the software flow table offloading status in the foc table item to complete the hardware flow table offloading, that is, the message is completed from the CPU to the FPGA. After the flow table ages, ovs-dpdk also needs to send inband messages and update the foc table item to complete the deletion of the hardware flow table. However, in actual applications, when an abnormality occurs in the message offloading path, it is necessary to manually check multiple software and hardware interaction nodes in the message offloading path one by one, resulting in low troubleshooting efficiency. Summary of the invention

[0004] Based on this, it is necessary to provide a message unloading path troubleshooting method, device, equipment and storage medium that can improve troubleshooting efficiency in response to the above technical problems.

[0005] In a first aspect, the present application provides a message offloading path troubleshooting method, which is applied to a network card; the network card comprises a system on chip and a hardware field programmable gate array; a data processing software program runs in the system on chip; a first statistical function is set in the message interaction interface between the data processing software program and the hardware field programmable gate array; a second statistical function is set in the flow table offloading cache interface of the system on chip; the method comprises:

[0006] Acquire first soft-hard interaction data obtained based on the first statistical function;

[0007] Obtain software flow table uninstallation data obtained based on statistics of the second statistical function;

[0008] Performing consistency comparison between the first software-hard interaction data and the second software-hard interaction data stored in the hardware field programmable gate array to obtain a first comparison result;

[0009] Performing consistency comparison between the software flow table unloading data and the hardware flow table unloading data stored in the hardware field programmable gate array to obtain a second comparison result;

[0010] Based on the first comparison result and the second comparison result, an abnormal node causing the message unloading abnormality is determined from the message unloading path of the data processing software program and the hardware field programmable gate array.

[0011] In one embodiment, the acquiring first soft-hard interaction data obtained based on the first statistical function includes:

[0012] If the data processing software program sends the target message to be interacted to the hardware field programmable gate array through the message interaction interface, the target message is parsed by the first statistical function set in the message interaction interface to obtain the message header information of the target message, and data statistics are performed based on the message header information to generate first software and hardware interaction data.

[0013] In one embodiment, the obtaining of software flow table uninstallation data obtained based on the statistics of the second statistical function includes:

[0014] Obtaining the message status information of the target message to be interacted with;

[0015] If the data processing software program updates the software flow table unloading cache in the system on chip based on the message status information through the flow table unloading cache interface, data statistics are performed based on the message status information through the second statistical function set in the flow table unloading cache interface to generate software flow table unloading data.

[0016] In one embodiment, the first software and hardware interaction data includes multiple first interaction counts under multiple software and hardware interaction statistics; the second software and hardware interaction data includes multiple second interaction counts under the multiple software and hardware interaction statistics; the software flow table unloading data includes multiple first message counts under multiple flow table unloading statistics; the hardware flow table unloading data includes multiple second message counts under the multiple flow table unloading statistics;

[0017] The determining, based on the first comparison result and the second comparison result, an abnormal node causing the message unloading abnormality from the message unloading path of the data processing software program and the hardware field programmable gate array comprises:

[0018] For each of the software and hardware interaction statistics items, if the first comparison result indicates that the first interaction count and the second interaction count under the software and hardware interaction statistics item are inconsistent, then based on the first statistical data corresponding to the software and hardware interaction statistics item, determining an abnormal node causing the message unloading abnormality from the message unloading path of the data processing software program and the hardware field programmable gate array;

[0019] For each of the flow table unloading statistical items, if the second comparison result indicates that the first message count and the second message count under the flow table unloading statistical item are inconsistent, then based on the second statistical data corresponding to the flow table unloading statistical item, the abnormal node causing the message unloading abnormality is determined from the message unloading path of the data processing software program and the hardware field programmable gate array.

[0020] In one embodiment, the first software-hardware interaction data is stored in a pre-set structure of the system on chip; the first software-hardware interaction data includes a new hardware flow table request count, a new hardware flow table reply count, a hardware flow table modification request count, a hardware flow table modification reply count, a hardware flow table deletion request count and a hardware flow table deletion reply count.

[0021] In one embodiment, the software flow table unloading data is stored in a pre-set structure of the system on chip; the software flow table unloading data includes a count of unloaded messages, a count of unloading messages, and a count of deleting messages.

[0022] In a second aspect, the present application provides a message unloading path troubleshooting device, which is applied to a network card; the network card comprises a system on chip and a hardware field programmable gate array; a data processing software program runs in the system on chip; a first statistical function is set in the message interaction interface between the data processing software program and the hardware field programmable gate array; a second statistical function is set in the flow table unloading cache interface of the system on chip; the device comprises:

[0023] An acquisition module, used to acquire first software-hard interaction data obtained based on the first statistical function; and acquire software flow table unloading data obtained based on the second statistical function;

[0024] a comparison module, configured to perform a consistency comparison between the first software-hard interaction data and the second software-hard interaction data stored in the hardware field programmable gate array to obtain a first comparison result; and perform a consistency comparison between the software flow table unloading data and the hardware flow table unloading data stored in the hardware field programmable gate array to obtain a second comparison result;

[0025] A determination module is used to determine an abnormal node causing message unloading abnormality from a message unloading path between the data processing software program and the hardware field programmable gate array based on the first comparison result and the second comparison result.

[0026] In a third aspect, the present application provides a network card, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the method embodiments of the present application when executing the computer program.

[0027] In a fourth aspect, the present application provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in the method embodiments of the present application.

[0028] In a fifth aspect, the present application provides a computer program product, including a computer program, which implements the steps in the method embodiments of the present application when the computer program is executed by a processor.

[0029] The above-mentioned message unloading path troubleshooting method, device, equipment and storage medium, by running a data processing software program in the on-chip system of the network card, setting a first statistical function in the message interaction interface between the data processing software program and the hardware field programmable gate array of the network card, and setting a second statistical function in the flow table unloading cache interface of the on-chip system. Obtain the first soft-hard interaction data obtained based on the first statistical function; obtain the software flow table unloading data obtained based on the second statistical function; compare the first soft-hard interaction data with the second soft-hard interaction data stored in the hardware field programmable gate array for consistency, and obtain a first comparison result; compare the software flow table unloading data with the hardware flow table unloading data stored in the hardware field programmable gate array for consistency, and obtain a second comparison result; based on the first comparison result and the second comparison result, determine the abnormal node that causes the message unloading abnormality from the message unloading path of the data processing software program and the hardware field programmable gate array. Compared with the traditional message unloading path troubleshooting method, the present application sets a first statistical function in the message interaction interface between the data processing software program and the hardware field programmable gate array to obtain the first software-hard interaction data based on the first statistical function. And sets a second statistical function in the flow table unloading cache interface to obtain the software flow table unloading data based on the second statistical function. In the case of inconsistency between the software and hardware flow tables, the source of the message unloading anomaly can be quickly located from the message unloading path, thereby improving the troubleshooting efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1 It is an application environment diagram of a message offloading path troubleshooting method in an embodiment;

[0031] Figure 2 A schematic diagram of a flow chart of a method for troubleshooting a message unloading path in an embodiment;

[0032] Figure 3 It is a structural block diagram of a message unloading path troubleshooting device in an embodiment;

[0033] FIG. 4 is a diagram showing the internal structure of a network card in one embodiment. DETAILED DESCRIPTION

[0034] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. 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.

[0035] The message unloading path troubleshooting method provided in this application can be applied to Figure 1In the application environment shown. Specifically, the message unloading path troubleshooting method provided by the present application is applied to the network card 100; the network card 100 includes a system on chip 102 and a hardware field programmable gate array 104; a data processing software program is running in the system on chip 102; a first statistical function is set in the message interaction interface between the data processing software program and the hardware field programmable gate array 104; a second statistical function is set in the flow table unloading cache interface of the system on chip 102; the method includes: obtaining first soft-hard interaction data obtained based on the first statistical function; obtaining software flow table unloading data obtained based on the second statistical function; performing consistency comparison between the first soft-hard interaction data and the second soft-hard interaction data stored in the hardware field programmable gate array 104 to obtain a first comparison result; performing consistency comparison between the software flow table unloading data and the hardware flow table unloading data stored in the hardware field programmable gate array 104 to obtain a second comparison result; based on the first comparison result and the second comparison result, determining the abnormal node causing the message unloading abnormality from the message unloading path between the data processing software program and the hardware field programmable gate array 104.

[0036] It is understood that this embodiment does not limit this. It is understood that Figure 1 The application scenarios are only for illustration and are not limited to this.

[0037] In one embodiment, Figure 2 As shown, a message offloading path troubleshooting method is provided, which is applied to a network card; the network card comprises a system on chip and a hardware field programmable gate array; a data processing software program runs on the system on chip; a first statistical function is set in the message interaction interface between the data processing software program and the hardware field programmable gate array; a second statistical function is set in the flow table offloading cache interface of the system on chip; the method comprises the following steps:

[0038] Step 202: Acquire first soft-hard interaction data obtained based on statistics of a first statistical function.

[0039] Among them, the message unloading mentioned in this application refers to the process of transferring network traffic (i.e., messages) from the data processing software program of the system on chip to the hardware field programmable gate array for processing. Unloading messages from the data processing software program of the system on chip to the hardware field programmable gate array for processing can reduce the network traffic processing pressure of the system on chip, thereby improving the data processing performance of the system on chip. The system on chip is a system-level chip SOC (System on Chip), and a central processing unit (Central Processing Unit, CPU) is provided on the system on chip. The data processing software program can run in the central processing unit of the system on chip. The data processing software program is a computer software program with data processing functions, and the data processing software program can be an OVS-DPDK program. Among them, OVS is an open source virtual switch (OpenvSwitch), which is a common virtual switch commonly used for forwarding and processing network data packets. DPDK is a data plane development kit (Data Plane Development Kit), which is a set of user-mode libraries and drivers designed to optimize data packet processing performance. The hardware Field Programmable Gate Array (FPGA) is a programmable hardware device used to implement high-performance parallel data processing. The message interaction interface is an interface used to transmit messages between the data processing software program and the hardware field programmable gate array. The message interaction interface is an offloading interface used to manage hardware flows (flow tables). The message interaction interface includes operations such as adding, deleting, and modifying hardware flows. The flow table offloading cache interface is an interface used to update the software flow table offloading cache (foc) in the system on chip. The software flow table offloading cache is used to associate the software flow table in the system on chip with the hardware flow table in the hardware field programmable gate array, and manage the offloading status of the message.

[0040] In one embodiment, the network card may collect statistics on the messages interacting between the data processing software program and the hardware field programmable gate array based on a first statistical function set in the message interaction interface to generate first software-hardware interaction data.

[0041] Step 204: Obtain software flow table unloading data obtained based on statistics of the second statistical function.

[0042] In one embodiment, the network card can count the software flow table unloading situation based on the second statistical function set in the flow table unloading cache interface when the software flow table unloading cache in the system on chip is updated to generate software flow table unloading data.

[0043] Step 206 , performing consistency comparison between the first software-hard interaction data and the second software-hard interaction data stored in the hardware field programmable gate array to obtain a first comparison result.

[0044] Specifically, the hardware field programmable gate array can count the messages interacting between the data processing software program and the hardware field programmable gate array based on the pre-cured software-hard interaction data statistical logic to generate the second software-hard interaction data, and store the second software-hard interaction data in the register of the hardware field programmable gate array. Therefore, after obtaining the first software-hard interaction data, the network card can compare the first software-hard interaction data with the second software-hard interaction data stored in the hardware field programmable gate array for consistency to obtain a first comparison result.

[0045] Step 208 , performing consistency comparison between the software flow table unloading data and the hardware flow table unloading data stored in the hardware field programmable gate array to obtain a second comparison result.

[0046] Specifically, the hardware field programmable gate array can count the message unloading situation in the hardware field programmable gate array based on the pre-cured hardware flow table statistical logic to generate hardware flow table unloading data, and store the hardware flow table unloading data in the register of the hardware field programmable gate array. Therefore, after obtaining the hardware flow table unloading data, the network card can compare the software flow table unloading data with the hardware flow table unloading data stored in the hardware field programmable gate array for consistency to obtain a second comparison result.

[0047] Step 210: Based on the first comparison result and the second comparison result, determine the abnormal node causing the message unloading abnormality from the message unloading path of the data processing software program and the hardware field programmable gate array.

[0048] In one embodiment, if the first comparison result indicates that the first software-hard interaction data and the second software-hard interaction data are inconsistent, it means that the communication of the hardware FPGA request and reply is abnormal, and the abnormal node causing the abnormal message unloading can be quickly located from the message unloading path of the data processing software program and the hardware field programmable gate array based on the statistical data with differences. If the second comparison result indicates that the software flow table unloading data is inconsistent with the hardware flow table unloading data, it means that the unloading logic processing is abnormal, and the abnormal node causing the abnormal message unloading can be quickly located from the message unloading path of the data processing software program and the hardware field programmable gate array based on the statistical data with differences.

[0049] In the above-mentioned message unloading path troubleshooting method, by running a data processing software program in the on-chip system of the network card, a first statistical function is set in the message interaction interface between the data processing software program and the hardware field programmable gate array of the network card, and a second statistical function is set in the flow table unloading cache interface of the on-chip system. The first soft-hard interaction data obtained by statistics based on the first statistical function is obtained; the software flow table unloading data obtained by statistics based on the second statistical function is obtained; the first soft-hard interaction data is compared with the second soft-hard interaction data stored in the hardware field programmable gate array for consistency to obtain a first comparison result; the software flow table unloading data is compared with the hardware flow table unloading data stored in the hardware field programmable gate array for consistency to obtain a second comparison result; based on the first comparison result and the second comparison result, the abnormal node causing the message unloading abnormality is determined from the message unloading path of the data processing software program and the hardware field programmable gate array. Compared with the traditional message unloading path troubleshooting method, the present application obtains the first soft-hard interaction data based on the first statistical function by setting a first statistical function in the message interaction interface between the data processing software program and the hardware field programmable gate array. And a second statistical function is set in the flow table unloading cache interface to obtain software flow table unloading data based on the second statistical function. In the case of inconsistency between software and hardware flow tables, the source of the message unloading anomaly can be quickly located from the message unloading path, thereby improving troubleshooting efficiency.

[0050] In one embodiment, first soft-hard interaction data obtained based on statistics of a first statistical function is obtained, including: if a data processing software program sends a target message to be interacted to a hardware field programmable gate array through a message interaction interface, the target message is parsed through a first statistical function set in the message interaction interface to obtain message header information of the target message, and data statistics are performed based on the message header information to generate the first soft-hard interaction data.

[0051] In the above embodiment, the message header information of the target message is parsed by the first statistical function, and the first soft-hard interaction data is generated based on the message header information, so that the accuracy of the first soft-hard interaction data can be improved.

[0052] In one embodiment, software flow table unloading data obtained based on statistics of a second statistical function is obtained, including: obtaining message status information of a target message to be interacted with; if a data processing software program updates a software flow table unloading cache in a system on chip based on the message status information through a flow table unloading cache interface, data statistics are performed based on the message status information through a second statistical function set in the flow table unloading cache interface to generate software flow table unloading data.

[0053] The message status information includes message being unloaded, message already unloaded, and message being deleted.

[0054] In the above embodiment, the accuracy of the software flow table unloading data can be improved by performing data statistics based on the message status information through the second statistical function to generate the software flow table unloading data.

[0055] In one embodiment, the first software and hardware interaction data includes multiple first interaction counts under multiple software and hardware interaction statistics; the second software and hardware interaction data includes multiple second interaction counts under multiple software and hardware interaction statistics; the software flow table unloading data includes multiple first message counts under multiple flow table unloading statistics; the hardware flow table unloading data includes multiple second message counts under multiple flow table unloading statistics; based on the first comparison result and the second comparison result, from the message unloading path of the data processing software program and the hardware field programmable gate array, determine the abnormal node that causes the message unloading abnormality, including: for each software and hardware interaction statistics item, if the first comparison result is If the result indicates that the first interaction count and the second interaction count under the software and hardware interaction statistics item are inconsistent, then based on the first statistical data corresponding to the software and hardware interaction statistics item, the abnormal node that causes the message unloading exception is determined from the message unloading path between the data processing software program and the hardware field programmable gate array; for each flow table unloading statistics item, if the second comparison result indicates that the first message count and the second message count under the flow table unloading statistics item are inconsistent, then based on the second statistical data corresponding to the flow table unloading statistics item, the abnormal node that causes the message unloading exception is determined from the message unloading path between the data processing software program and the hardware field programmable gate array.

[0056] In one embodiment, the plurality of first interaction counts and the plurality of second interaction counts may include a count of newly added hardware flow table requests, a count of newly added hardware flow table replies, a count of modified hardware flow table requests, a count of modified hardware flow table replies, a count of deleted hardware flow table requests, and a count of deleted hardware flow table replies. The plurality of first message counts and the plurality of second message counts may include a count of uninstalled messages, a count of messages being uninstalled, and a count of messages being deleted.

[0057] In the above embodiment, if the first comparison result indicates that the first interaction count and the second interaction count under the soft and hard interaction statistics are inconsistent, then based on the first statistical data corresponding to the soft and hard interaction statistics, the abnormal node is located from the message unloading path. If the second comparison result indicates that the first message count and the second message count under the flow table unloading statistics are inconsistent, then based on the second statistical data corresponding to the flow table unloading statistics, the abnormal node is located from the message unloading path, which can further improve the troubleshooting efficiency of the message unloading path.

[0058] In one embodiment, the first software-hardware interaction data is stored in a pre-set structure of the system on chip; the first software-hardware interaction data includes a new hardware flow table request count, a new hardware flow table reply count, a hardware flow table modification request count, a hardware flow table modification reply count, a hardware flow table deletion request count and a hardware flow table deletion reply count.

[0059] In the above embodiment, by limiting the first software and hardware interaction data to be stored in the structure of the system on chip, it is possible to facilitate the management of the first software and hardware interaction data and improve the accuracy of the first software and hardware interaction data. In addition, by limiting the first software and hardware interaction data to include a new hardware flow table request count, a new hardware flow table reply count, a modified hardware flow table request count, a modified hardware flow table reply count, a deleted hardware flow table request count, and a deleted hardware flow table reply count, the troubleshooting efficiency of the message unloading path can be further improved.

[0060] In one embodiment, the software flow table unloading data is stored in a pre-set structure of the system on chip; the software flow table unloading data includes a count of unloaded messages, a count of unloading messages, and a count of deleting messages.

[0061] In the above embodiment, by limiting the software flow table unloading data to be stored in the structure of the system on chip, it is easy to manage the software flow table unloading data and improve the accuracy of the software flow table unloading data. In addition, by limiting the software flow table unloading data to include the count of unloaded messages, the count of unloading messages, and the count of deleting messages, the troubleshooting efficiency of the message unloading path can be further improved.

[0062] It should be understood that, although each step in the flow chart of the above-mentioned embodiments is shown in order, these steps are not necessarily performed in order. Unless there is a clear explanation in this article, the execution of these steps does not have strict order restrictions, and these steps can be performed in other orders. Moreover, at least a portion of the steps in the above-mentioned embodiments may include a plurality of sub-steps or a plurality of stages, and these sub-steps or stages are not necessarily performed at the same time, but can be performed at different times, and the execution order of these sub-steps or stages is not necessarily performed in order, but can be performed in turn or alternately with at least a portion of other steps or sub-steps or stages of other steps.

[0063] In one embodiment, Figure 3 As shown, a message unloading path troubleshooting device 300 is provided, which is applied to a network card; the network card includes a system on chip and a hardware field programmable gate array; a data processing software program runs on the system on chip; a first statistical function is set in the message interaction interface between the data processing software program and the hardware field programmable gate array; a second statistical function is set in the flow table unloading cache interface of the system on chip; the device specifically includes:

[0064] The acquisition module 302 is used to acquire first software-hard interaction data obtained based on the first statistical function; and acquire software flow table unloading data obtained based on the second statistical function;

[0065] The comparison module 304 is used to perform consistency comparison between the first software-hard interaction data and the second software-hard interaction data stored in the hardware field programmable gate array to obtain a first comparison result; perform consistency comparison between the software flow table unloading data and the hardware flow table unloading data stored in the hardware field programmable gate array to obtain a second comparison result;

[0066] The determination module 306 is used to determine the abnormal node causing the message unloading abnormality from the message unloading path of the data processing software program and the hardware field programmable gate array based on the first comparison result and the second comparison result.

[0067] In one embodiment, the acquisition module 302 is also used to parse the target message to be interacted with by the data processing software program to the hardware field programmable gate array through the message interaction interface, obtain the message header information of the target message, and perform data statistics based on the message header information to generate the first software-hard interaction data.

[0068] In one embodiment, the acquisition module 302 is also used to obtain the message status information of the target message to be interacted; if the data processing software program updates the software flow table unload cache in the system on chip based on the message status information through the flow table unload cache interface, then the second statistical function set in the flow table unload cache interface is used to perform data statistics based on the message status information to generate software flow table unload data.

[0069] In one embodiment, the first software and hardware interaction data includes multiple first interaction counts under multiple software and hardware interaction statistics items; the second software and hardware interaction data includes multiple second interaction counts under multiple software and hardware interaction statistics items; the software flow table unloading data includes multiple first message counts under multiple flow table unloading statistics items; the hardware flow table unloading data includes multiple second message counts under multiple flow table unloading statistics items; the determination module 306 is also used to, for each software and hardware interaction statistics item, if the first comparison result indicates that the first interaction count and the second interaction count under the software and hardware interaction statistics item are inconsistent, then based on the first statistical data corresponding to the software and hardware interaction statistics item, determine the abnormal node causing the message unloading abnormality from the message unloading path of the data processing software program and the hardware field programmable gate array; for each flow table unloading statistics item, if the second comparison result indicates that the first message count and the second message count under the flow table unloading statistics item are inconsistent, then based on the second statistical data corresponding to the flow table unloading statistics item, determine the abnormal node causing the message unloading abnormality from the message unloading path of the data processing software program and the hardware field programmable gate array.

[0070] In one embodiment, the first software-hardware interaction data is stored in a pre-set structure of the system on chip; the first software-hardware interaction data includes a new hardware flow table request count, a new hardware flow table reply count, a hardware flow table modification request count, a hardware flow table modification reply count, a hardware flow table deletion request count and a hardware flow table deletion reply count.

[0071] In one embodiment, the software flow table unloading data is stored in a pre-set structure of the system on chip; the software flow table unloading data includes a count of unloaded messages, a count of unloading messages, and a count of deleting messages.

[0072] The above-mentioned message unloading path troubleshooting device runs a data processing software program in the system-on-chip of the network card, sets a first statistical function in the message interaction interface between the data processing software program and the hardware field programmable gate array of the network card, and sets a second statistical function in the flow table unloading cache interface of the system-on-chip. Obtain the first soft-hard interaction data obtained based on the first statistical function; obtain the software flow table unloading data obtained based on the second statistical function; compare the first soft-hard interaction data with the second soft-hard interaction data stored in the hardware field programmable gate array for consistency, and obtain a first comparison result; compare the software flow table unloading data with the hardware flow table unloading data stored in the hardware field programmable gate array for consistency, and obtain a second comparison result; based on the first comparison result and the second comparison result, determine the abnormal node that causes the message unloading abnormality from the message unloading path of the data processing software program and the hardware field programmable gate array. Compared with the traditional message unloading path troubleshooting method, the present application obtains the first soft-hard interaction data based on the first statistical function by setting a first statistical function in the message interaction interface between the data processing software program and the hardware field programmable gate array. And a second statistical function is set in the flow table unloading cache interface to obtain software flow table unloading data based on the second statistical function. In the case of inconsistency between software and hardware flow tables, the source of the message unloading anomaly can be quickly located from the message unloading path, thereby improving troubleshooting efficiency.

[0073] Each module in the above-mentioned message unloading path troubleshooting device can be implemented in whole or in part by software, hardware and their combination. The above-mentioned modules can be embedded in or independent of the processor in the network card in the form of hardware, or can be stored in the memory in the network card in the form of software, so that the processor can call and execute the corresponding operations of each of the above modules.

[0074] In one embodiment, a network card is provided, and its internal structure diagram can be shown in FIG4. The network card includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. The processor, the memory, and the input / output interface are connected via a system bus, and the communication interface, the display unit, and the input device are connected to the system bus via the input / output interface. The processor of the network card is used to provide computing and control capabilities. The memory of the network card includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the network card is used to exchange information between the processor and an external device. The communication interface of the network card is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a message unloading path troubleshooting method is implemented. The display unit of the network card is used to form a visually visible image, and can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen. The input device of the network card can be a touch layer covering the display screen, or a button, trackball or touchpad set on the network card shell, or an external keyboard, touchpad or mouse, etc.

[0075] Those skilled in the art will understand that the structure shown in FIG. 4 is merely a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the network card to which the solution of the present application is applied. A specific network card may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0076] In one embodiment, a network card is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.

[0077] In one embodiment, a computer-readable storage medium is provided, storing a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0078] In one embodiment, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in the above method embodiments are implemented.

[0079] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.

[0080] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), tape, floppy disk, flash memory or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).

[0081] The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0082] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.

Claims

1. A message unloading path troubleshooting method, characterized in that: Applied to a network card; the network card comprises a system on chip and a hardware field programmable gate array; A data processing software program is running on the system on chip; a first statistical function is provided in the message interaction interface between the data processing software program and the hardware field programmable gate array; A second statistical function is provided in the flow table offloading cache interface of the system on chip; the method comprises: Acquire first soft-hard interaction data obtained based on the first statistical function; Obtain software flow table uninstallation data obtained based on statistics of the second statistical function; Performing consistency comparison between the first software-hard interaction data and the second software-hard interaction data stored in the hardware field programmable gate array to obtain a first comparison result; Performing consistency comparison between the software flow table unloading data and the hardware flow table unloading data stored in the hardware field programmable gate array to obtain a second comparison result; Based on the first comparison result and the second comparison result, an abnormal node causing the message unloading abnormality is determined from the message unloading path of the data processing software program and the hardware field programmable gate array.

2. The method according to claim 1, characterized in that The acquiring first soft-hard interaction data obtained based on the first statistical function includes: If the data processing software program sends the target message to be interacted to the hardware field programmable gate array through the message interaction interface, the target message is parsed by the first statistical function set in the message interaction interface to obtain the message header information of the target message, and data statistics are performed based on the message header information to generate first software and hardware interaction data.

3. The method according to claim 1, characterized in that The obtaining of software flow table uninstallation data obtained based on the statistics of the second statistical function includes: Obtaining the message status information of the target message to be interacted with; If the data processing software program updates the software flow table unloading cache in the system on chip based on the message status information through the flow table unloading cache interface, data statistics are performed based on the message status information through the second statistical function set in the flow table unloading cache interface to generate software flow table unloading data.

4. The method according to claim 1, characterized in that: The first software and hardware interaction data includes multiple first interaction counts under multiple software and hardware interaction statistics; the second software and hardware interaction data includes multiple second interaction counts under the multiple software and hardware interaction statistics; the software flow table unloading data includes multiple first message counts under multiple flow table unloading statistics; The hardware flow table offloading data includes a plurality of second message counts under the plurality of flow table offloading statistical items; The determining, based on the first comparison result and the second comparison result, an abnormal node causing the message unloading abnormality from the message unloading path of the data processing software program and the hardware field programmable gate array comprises: For each of the software and hardware interaction statistics items, if the first comparison result indicates that the first interaction count and the second interaction count under the software and hardware interaction statistics item are inconsistent, then based on the first statistical data corresponding to the software and hardware interaction statistics item, determining an abnormal node causing the message unloading abnormality from the message unloading path of the data processing software program and the hardware field programmable gate array; For each of the flow table unloading statistical items, if the second comparison result indicates that the first message count and the second message count under the flow table unloading statistical item are inconsistent, then based on the second statistical data corresponding to the flow table unloading statistical item, the abnormal node causing the message unloading abnormality is determined from the message unloading path of the data processing software program and the hardware field programmable gate array.

5. The method according to claim 1, characterized in that The first software-hardware interaction data is stored in a pre-set structure of the system on chip; the first software-hardware interaction data includes a new hardware flow table request count, a new hardware flow table reply count, a hardware flow table modification request count, a hardware flow table modification reply count, a hardware flow table deletion request count and a hardware flow table deletion reply count.

6. The method according to claim 1, characterized in that The software flow table unloading data is stored in a pre-set structure of the system on chip; the software flow table unloading data includes a count of unloaded messages, a count of unloading messages, and a count of deleting messages.

7. A message unloading path troubleshooting device, characterized in that: Applied to a network card; the network card comprises a system on chip and a hardware field programmable gate array; A data processing software program is running on the system on chip; a first statistical function is provided in the message interaction interface between the data processing software program and the hardware field programmable gate array; A second statistical function is provided in the flow table offloading cache interface of the system on chip; the device comprises: An acquisition module, used to acquire first software-hard interaction data obtained based on the first statistical function; and acquire software flow table unloading data obtained based on the second statistical function; a comparison module, configured to perform a consistency comparison between the first software-hard interaction data and the second software-hard interaction data stored in the hardware field programmable gate array to obtain a first comparison result; and perform a consistency comparison between the software flow table unloading data and the hardware flow table unloading data stored in the hardware field programmable gate array to obtain a second comparison result; A determination module is used to determine an abnormal node causing message unloading abnormality from a message unloading path between the data processing software program and the hardware field programmable gate array based on the first comparison result and the second comparison result.

8. A network card, comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Flow table hardware unloading method, equipment and medium

    CN115150328A

  • Method for processing soft failure after hardware unloading, computer equipment and medium

    CN117724906A

  • Uplink segment offloading to modem

    CN117999777A

  • Flow table auditing method, apparatus and system, and related device

    WO2023241573A1