A message information processing method, an acceleration processing unit and a computer storage medium

CN117675974BActive Publication Date: 2026-08-21YUSUR TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311675902.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-07
Publication Date
2026-08-21
Estimated Expiration
2043-12-07

AI Technical Summary

Technical Problem

这种方法会导致查表的高延时问题

Benefits of technology

[0019]通过本申请实施例的技术方案,可以通过解析来判断哪些字段为预设索引字段,同时对每个字段进行查询,然后将每个预设索引字段的第一查表结果筛选出来,作为整个报文的查表结果,根据整个报文的查表结果指示的并行处理队列的标识,将可以将报文发送至相应的存储单元。如此,可以降低延时,达到快速查表的目的。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117675974B_ABST
    Figure CN117675974B_ABST
Patent Text Reader

Abstract

The application provides a message information processing method, an acceleration processing unit and a computer storage medium. The method comprises the following steps: querying a message scheduling table based on each field of a serial transmission message to obtain a first table lookup result corresponding to the field, wherein the message scheduling table indicates a mapping relationship between each field of the message and an identifier of each parallel processing queue; analyzing each field of the message and judging whether the field is a preset index field; screening the preset index field and outputting, to a storage unit, a parallel processing queue identifier indicated by the first table lookup result of the preset index field and associated with the message, wherein the identifier of the parallel processing queue in which the message is located corresponds to an access address of the message in the storage unit. The method can improve the speed of table lookup on the message and reduce the delay.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and more specifically to a message information processing method, an accelerated processing unit, and a computer storage medium. Background Technology

[0002] In fields such as finance, AI (Artificial Intelligence), and autonomous driving, after receiving a message to be processed, the corresponding storage unit address can be obtained by looking up a table. The message is then stored according to the address so that the processor can find the message in the storage unit.

[0003] In related technologies, the table lookup process is as follows: After the processing system receives the serially transmitted message, it first performs serial-to-parallel conversion on the message to obtain a message with a larger bit width. Then, it parses the converted message to obtain key fields, and then performs a table lookup based on these key fields to determine which processing module the message will be assigned to for actual processing. This method leads to high latency issues in table lookup.

[0004] In related technologies, expensive dedicated TCAM chips are usually used, or external DDR RAM chips are used to reduce lookup latency, but at least ten clock cycles are still required to complete the lookup, and there is still a high latency. Summary of the Invention

[0005] This application provides a message information processing method, an accelerated processing unit, and a computer storage medium. The method can improve the speed of looking up messages in a table and reduce latency.

[0006] Firstly, a message information processing method is provided, applied to an accelerated processing unit, the method comprising:

[0007] The message scheduling table is queried based on each field of the serially transmitted message to obtain the first lookup result corresponding to the field. The message scheduling table indicates the mapping relationship between each field of the message and the identifier of each parallel processing queue.

[0008] Parse each field of the message and determine whether each field is a preset index field;

[0009] The preset index field is filtered, and the parallel processing queue identifier indicated by the first lookup result of the preset index field is associated with the message and output to the storage unit, wherein the identifier of the parallel processing queue where the message is located corresponds to the access address of the message in the storage unit.

[0010] In one possible embodiment, the method further includes: converting the serial transmission bandwidth of the message into the bus bandwidth of the transmission bus between the accelerated processing unit and the storage unit, wherein the storage unit is used to store messages of each parallel processing queue; the step of associating the parallel processing queue identifier indicated by the first lookup result of the preset index field with the message and outputting it to the storage unit includes: based on the bus bandwidth, outputting the parallel processing queue identifier indicated by the first lookup result of the preset index field and the message together to the storage unit via the transmission bus.

[0011] In one possible embodiment, the steps of converting the serial transmission bandwidth of the message into the bus bandwidth of the transmission bus between the acceleration processing unit and the storage unit are performed in parallel, as well as parsing each field of the message and determining whether each field is a preset index field.

[0012] In one possible embodiment, querying a message scheduling table based on each field of the serially transmitted message to obtain a first lookup result corresponding to the field includes: splitting each field into multiple bytes; querying the message scheduling table based on each byte in each field to obtain a second lookup result corresponding to the byte, wherein the message scheduling table indicates the mapping relationship between each byte of the message and the identifier of each parallel processing queue; and obtaining the first lookup result based on the second lookup result of each byte.

[0013] In one possible embodiment, the message scheduling table corresponds one-to-one with the fields, and the message scheduling table includes multiple sub-tables, each sub-table corresponding to a byte. The step of querying the message scheduling table based on each byte in each field to obtain a second lookup result corresponding to the byte includes: querying the sub-table based on each byte in each field to obtain a second lookup result corresponding to the byte.

[0014] In one possible embodiment, obtaining the first lookup result based on the second lookup result of each byte includes: performing an AND operation on the second lookup result of each byte and then performing an AND operation on the first lookup result corresponding to the field.

[0015] In one possible embodiment, filtering the preset index field includes: attaching an identification identifier to a field determined to be a preset index field, the identification identifier indicating that the field is a preset index field; and filtering the preset index field according to the identification identifier.

[0016] Secondly, this application provides an accelerated processing unit, including a table lookup module, a parsing module, and a distribution module. The table lookup module is used to query a message scheduling table based on each field of a serially transmitted message to obtain a first lookup result corresponding to the field. The message scheduling table indicates the mapping relationship between each field of the message and the identifiers of each parallel processing queue. The parsing module is used to parse each field of the message and determine whether each field is a preset index field. The distribution module is used to associate the parallel processing queue identifier indicated by the first lookup result of the preset index field with the message and output it to a storage unit. The identifier of the parallel processing queue where the message is located corresponds to the access address of the message in the storage unit.

[0017] In one possible embodiment, the acceleration processing unit further includes a conversion module, which is configured to: convert the serial transmission bandwidth of the message into the bus bandwidth of the transmission bus between the acceleration processing unit and the storage unit, wherein the storage unit is configured to store messages of each parallel processing queue; the distribution module is specifically configured to: based on the bus bandwidth, output the parallel processing queue identifier indicated by the first lookup result of the preset index field and the message together to the storage unit via the transmission bus.

[0018] Thirdly, this application provides a computer storage medium, characterized in that the computer storage medium stores a message processing program, wherein when the message processing program is executed by a processor, it implements the steps of the above-described message information processing method.

[0019] The technical solution of this application embodiment can determine which fields are preset index fields through parsing, query each field, and then filter out the first lookup result of each preset index field as the lookup result of the entire message. Based on the identifier of the parallel processing queue indicated by the lookup result of the entire message, the message can be sent to the corresponding storage unit. In this way, latency can be reduced and the purpose of fast lookup can be achieved. Attached Figure Description

[0020] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. By reading the detailed description of the embodiments below, the advantages and benefits of the solutions will become clear to those skilled in the art. The accompanying drawings are only for illustrating preferred embodiments and are not intended to limit this application. In the accompanying drawings:

[0021] Figure 1 A flowchart of a message information processing method provided by some embodiments of this application is shown.

[0022] Figure 2 A flowchart of a message information processing method provided by some embodiments of this application is shown.

[0023] Figure 3 This illustration shows a schematic diagram of the message scheduling table corresponding to each field in a message information processing method provided in an embodiment of this application.

[0024] Figure 4 A schematic diagram of the structure of an acceleration processing unit provided in an embodiment of this application is shown.

[0025] Figure label:

[0026] S101: Based on each field of the serially transmitted message, query the message scheduling table to obtain the first lookup result corresponding to the field, wherein the message scheduling table indicates the mapping relationship between each field of the message and the identifier of each parallel processing queue.

[0027] S102: Parse each field of the message and determine whether each field is a preset index field;

[0028] S103: Filter the preset index field, and associate the parallel processing queue identifier indicated by the first lookup result of the preset index field with the message and output it to the storage unit, wherein the identifier of the parallel processing queue where the message is located corresponds to the access address of the message in the storage unit;

[0029] S104: Convert the serial transmission bandwidth of the message into the bus bandwidth of the transmission bus between the acceleration processing unit and the storage unit, wherein the storage unit is used to store messages of each parallel processing queue.

[0030] S201: Split the respective fields into multiple bytes;

[0031] S202: Query the message scheduling table based on each byte in each field to obtain a second lookup result corresponding to the byte, wherein the message scheduling table indicates the mapping relationship between each byte of the message and each parallel processing queue identifier;

[0032] S203: Based on the second lookup result of each byte, obtain the first lookup result;

[0033] 401. Table lookup module; 402. Parsing module; 403. Distribution module; 404. Conversion module. Detailed Implementation

[0034] The technical solutions in this application will now be described with reference to the accompanying drawings.

[0035] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

[0036] To address the problems in the background art, this application provides a message information processing method, applied to an accelerated processing unit, with reference to... Figure 1 The method includes:

[0037] S101: Based on each field of the serially transmitted message, a query is performed on the message scheduling table to obtain a first lookup result corresponding to the field. The message scheduling table indicates the mapping relationship between each field of the message and the identifiers of each parallel processing queue. In other words, by querying the message scheduling table, the mapping relationship between each field of the message and the identifiers of each parallel processing queue can be obtained. The first lookup result is the mapping relationship between the field and the identifier of each parallel processing queue. The first lookup result is divided into two cases: a hit and a miss. If a hit occurs, meaning there is a mapping relationship between the field and the identifier of a certain parallel processing queue, the first lookup result is considered a hit. If no mapping relationship between the field and the identifier of any parallel processing queue is obtained from the message scheduling table, the first lookup result is considered a miss.

[0038] S102: Parse each field of the message and determine whether each field is a preset index field; that is, a preset judgment condition can be used to determine whether a field is a preset index field. For example, a cache set can be set up to store a large number of source MAC addresses and destination MAC addresses. When a field in the message is the same as a source MAC address or a destination MAC address stored in the cache set, it is determined that the field is a preset index field.

[0039] S103: Filter the preset index field and associate the parallel processing queue identifier indicated by the first lookup result of the preset index field with the message and output it to the storage unit. The identifier of the parallel processing queue containing the message corresponds to the access address of the message in the storage unit. That is, the storage unit where the message should be stored can be obtained based on the parallel processing queue identifier indicated by the lookup result, and then the message is output to the storage unit. Other processors can obtain the queue identifier or access address so that they can retrieve the message based on the access address in the storage unit for further processing.

[0040] Based on the above embodiments, S101 and S102 can be processed in parallel. That is, the preset index field can be determined through parsing, and each field is queried simultaneously. Then, the first lookup result of the preset index field is selected as the lookup result for the entire message. Finally, based on the identifier of the parallel processing queue indicated by the lookup result of the entire message, the message can be sent to the corresponding storage unit. Thus, by processing S101 and S102 in parallel, time can be saved, achieving the goal of fast lookup. The message may include one or more preset index fields. If it is a single preset index field, the corresponding queue identifier can be obtained through calculation based on the corresponding first lookup result; if it is multiple preset index fields, the corresponding queue identifier can be obtained through calculation based on the corresponding multiple first lookup results. Those skilled in the art can configure this as needed, and this application does not impose any limitations.

[0041] Since messages are typically input serially to the acceleration processing unit via network cable or fiber optic cable, the bit width is relatively small. However, the bandwidth of the transmission bus between the acceleration processing unit and the storage unit is relatively large. Therefore, the message needs to be converted to a wider data bit width for output to the storage unit. Consequently, a clock register is used to generate a delay during the conversion process to achieve the conversion objective. For example, if a message is input to the acceleration processing unit with a 32-bit bit width and the transmission bus has a 256-bit bit width, 8 clock cycles are required; if a 64-bit message is converted to 128-bit, 2 clock cycles are required. This increases the processing time for the acceleration processing unit, thus increasing the message processing delay. The acceleration processing unit is used for message preprocessing. Preprocessing includes message conversion and a lookup table to obtain the first lookup result of a preset index field. Based on the first lookup result, the converted message can then be output to the storage unit via the transmission bus.

[0042] Therefore, in one possible embodiment, reference Figure 1 The method further includes:

[0043] S104: Convert the serial transmission bandwidth of the message into the bus bandwidth of the transmission bus between the acceleration processing unit and the storage unit, wherein the storage unit is used to store messages of each parallel processing queue.

[0044] The step of associating the parallel processing queue identifier indicated by the first lookup result of the preset index field with the message and outputting it to the storage unit includes:

[0045] Based on the bus bandwidth, the parallel processing queue identifier indicated by the first lookup result of the preset index field is output to the storage unit along with the message via the transmission bus.

[0046] To reduce message processing latency, refer to Figure 1 The message information processing method of this application further includes: performing in parallel the steps of converting the serial transmission bandwidth of the message into the bus bandwidth of the transmission bus between the acceleration processing unit and the storage unit, and parsing each field of the message and determining whether each field is a preset index field. This processing method allows steps S101, S102, and S104 to be processed in parallel. That is, while converting the message, the table can be looked up for the fields, and the determination of whether a field is a preset index field can be performed. This parallel processing saves time and achieves the goal of fast message processing.

[0047] Furthermore, in one possible embodiment, reference Figure 2 The process of querying the message scheduling table for each field of the serially transmitted message to obtain the first lookup result corresponding to the field includes:

[0048] S201: Split the respective fields into multiple bytes;

[0049] S202: Query the message scheduling table based on each byte in each field to obtain a second lookup result corresponding to the byte, wherein the message scheduling table indicates the mapping relationship between each byte of the message and each parallel processing queue identifier;

[0050] S203: Based on the second lookup result of each byte, the first lookup result is obtained.

[0051] Generally, a field can consist of multiple bytes. Therefore, each field can be split into multiple bytes, and the mapping relationship between each byte of the message and the identifier of each parallel processing queue can be listed in the message scheduling table. The first lookup result of the field can be obtained from the second lookup result corresponding to each byte.

[0052] For example, refer to Figure 3 A field can consist of 6 bytes, and each byte has 8 bits. Therefore, in binary, a byte can actually have 256 combinations, that is, 0 to 255 combinations. In the message scheduling table, a byte occupies 256 rows, each row representing one combination of that byte and indicating the second lookup result for that byte. In other words, each byte corresponds to 256 second lookup results. The message scheduling table can be pre-stored on the acceleration processing unit, listing all 256 possibilities for each byte. Specifically, the message scheduling table can be pre-generated by software according to rules and pre-stored on the acceleration processing unit. This message scheduling table can support fuzzy rules with wildcards.

[0053] In one specific implementation, the message scheduling table corresponds one-to-one with the fields. The message scheduling table includes multiple sub-tables, and each sub-table corresponds one-to-one with a byte. That is, a sub-table can be listed for each byte, and the sub-table indicates the second lookup result corresponding to each of the 256 possible cases of the byte. The sub-tables corresponding to each byte in the fields are combined to form the message scheduling table.

[0054] Therefore, the step of querying the message scheduling table based on each byte in each field to obtain the second lookup result corresponding to the byte includes: querying the sub-table based on each byte in each field to obtain the second lookup result corresponding to the byte.

[0055] Furthermore, obtaining the first lookup result based on the second lookup result of each byte includes:

[0056] Perform an AND operation on the second lookup result of each byte and then perform an AND operation on the first lookup result corresponding to the field.

[0057] Similar to the first lookup result, the second lookup result is the mapping relationship between bytes and the identifiers of each parallel processing queue. The second lookup result is divided into two cases: hit and miss. If a hit occurs, meaning there is a mapping relationship between a byte and the identifier of a certain parallel processing queue, then the second lookup result is a hit. If no mapping relationship between a byte and the identifier of any parallel processing queue is obtained from the sub-table, then the second lookup result is a miss.

[0058] Therefore, the second lookup result needs to be ANDed. Only when the second lookup result for each byte is a match can the first lookup result be a match, thus obtaining the identifier of the parallel processing queue.

[0059] Of course, the preset index field can get the first lookup result for the hit case, while the non-preset index field may get the first lookup result for the hit case or the first lookup result for the miss case.

[0060] In this application, the filtering of the preset index field includes: attaching an identification identifier to a field that is determined to be a preset index field, wherein the identification identifier indicates that the field is a preset index field; and filtering the preset index field according to the identification identifier to obtain a first lookup result corresponding to the preset index field.

[0061] refer to Figure 4 This application also provides an accelerated processing unit, comprising:

[0062] The lookup module 401 is used to query the message scheduling table based on each field of the serially transmitted message to obtain a first lookup result corresponding to the field. The message scheduling table indicates the mapping relationship between each field of the message and the identifiers of each parallel processing queue. In other words, the mapping relationship between each field of the message and the identifiers of each parallel processing queue can be obtained by querying the message scheduling table. The first lookup result is the mapping relationship between the field and the identifier of each parallel processing queue. The first lookup result is divided into two cases: a hit and a miss. If a hit occurs, meaning there is a mapping relationship between the field and the identifier of a certain parallel processing queue, the first lookup result is considered a hit. If no mapping relationship between the field and the identifier of any parallel processing queue is obtained from the message scheduling table, the first lookup result is considered a miss.

[0063] The parsing module 402 is used to parse each field of the message and determine whether each field is a preset index field; that is, a field is a preset index field if it meets the preset judgment conditions. For example, a cache set can be set up to store a large number of source MAC addresses and destination MAC addresses. When a field in the message is the same as a source MAC address or a destination MAC address stored in the cache set, it is said that the field is a preset index field.

[0064] The distribution module 403 is used to associate the parallel processing queue identifier indicated by the first lookup result of the preset index field with the message and output it to the storage unit; wherein, the identifier of the parallel processing queue in which the message is located corresponds to the access address of the message in the storage unit. That is, the storage unit where the message should be stored can be obtained according to the parallel processing queue identifier indicated by the lookup result of the entire message, and then the message is output to the storage unit. Other processors can obtain the queue identifier or access address so that they can retrieve the message according to the access address in the storage unit for further processing.

[0065] Based on the above embodiments, the parsing module and the table lookup module can be executed in parallel. That is, while the parsing module parses and determines which fields are preset index fields, the table lookup module can query each field. Then, the distribution module filters out the first table lookup results corresponding to the preset index fields as the table lookup results for the entire message. Based on the identifier of the parallel processing queue indicated by the table lookup results of the entire message, the message can be sent to the corresponding storage unit. In this way, time can be saved, achieving the purpose of fast table lookup. The message may include one or more preset index fields. If it is a single preset index field, the distribution module can obtain the corresponding queue identifier based on the corresponding first table lookup result through corresponding calculations; if it is multiple preset index fields, the distribution module can obtain the corresponding queue identifier based on the corresponding multiple first table lookup results through corresponding calculations. Those skilled in the art can set it as needed, and this application does not limit it.

[0066] Since messages are typically input serially to the acceleration processing unit via network cable or fiber optic cable, the bit width is relatively small. However, the bandwidth of the transmission bus between the acceleration processing unit and the storage unit is relatively large. Therefore, the message needs to be converted to a wider data bit width for output to the storage unit. Consequently, a clock register is used to generate a delay during the conversion process. For example, if a message is input to the acceleration processing unit with a 32-bit bit width and the transmission bus has a 256-bit bit width, 8 clock cycles are required; if a 64-bit message is converted to 128-bit, 2 clock cycles are required. This increases the processing time for the acceleration processing unit, thus increasing the message processing delay. The acceleration processing unit processes the messages, including message conversion and a lookup table to obtain the first lookup result of a preset index field. Based on the lookup result of the entire message, the converted message can then be output to the storage unit via the transmission bus.

[0067] In one possible implementation, the acceleration processing unit further includes a conversion module 404, which is used to convert the serial transmission bandwidth of the message into the bus bandwidth of the transmission bus between the acceleration processing unit and the storage unit, wherein the storage unit is used to store messages of each parallel processing queue; the distribution module 403 is specifically used to: based on the bus bandwidth, output the parallel processing queue identifier indicated by the first lookup result of the preset index field and the message together to the storage unit via the transmission bus.

[0068] To reduce message processing latency, the conversion module 404 and the parsing module 402 can execute in parallel. That is, while the conversion module 404 converts the serial transmission bandwidth of the message into the bus bandwidth of the transmission bus between the accelerated processing unit and the storage unit, the parsing module 402 parses each field of the message and determines whether each field is a preset index field. This saves time and achieves the goal of fast message processing.

[0069] Generally, a field can consist of multiple bytes. Therefore, each field can be split into multiple bytes, and the mapping relationship between each byte of the message and the identifier of each parallel processing queue can be listed in the message scheduling table. The first lookup result of the field can be obtained from the second lookup result corresponding to each byte.

[0070] For example, refer to Figure 3 A field can consist of 6 bytes, and each byte has 8 bits. Therefore, in binary, a byte can actually have 256 combinations, that is, 0 to 255 combinations. In the message scheduling table, a byte occupies 256 rows, each row representing one combination of that byte and indicating the second lookup result for that byte. In other words, each byte corresponds to one of 256 second lookup results. The message scheduling table can be pre-stored on the acceleration processing unit, listing all 256 possibilities for each byte. Specifically, the message scheduling table can be pre-generated by software according to rules and pre-stored on the acceleration processing unit. This message scheduling table can support fuzzy rules with wildcards.

[0071] Therefore, in one possible embodiment, the table lookup module 401 is specifically used for:

[0072] The message scheduling table is queried based on each byte in each field to obtain a second lookup result corresponding to the byte. The message scheduling table indicates the mapping relationship between each byte of the message and the identifier of each parallel processing queue.

[0073] The first lookup result is obtained based on the second lookup result of each byte.

[0074] In one specific embodiment, the message scheduling table corresponds one-to-one with the fields, and the message scheduling table includes multiple sub-tables, each sub-table corresponding one-to-one with the byte; that is, referring to... Figure 3 A sub-table can be created for each byte, indicating the second lookup result corresponding to each of the 256 possible cases for that byte. The sub-tables corresponding to each byte in the field are combined to form a message scheduling table. Therefore, the lookup module 401 is specifically used to: query the sub-table based on each byte in each field to obtain the second lookup result corresponding to that byte.

[0075] Furthermore, the lookup module 401 is specifically used to: perform an AND operation on the second lookup result of each byte, and then perform an AND operation on the first lookup result corresponding to the field.

[0076] Similar to the first lookup result, the second lookup result is the mapping relationship between bytes and the identifiers of each parallel processing queue. The second lookup result is divided into two cases: hit and miss. If a hit occurs, meaning there is a mapping relationship between a byte and the identifier of a certain parallel processing queue, then the second lookup result is a hit. If no mapping relationship between a byte and the identifier of any parallel processing queue is obtained from the sub-table, then the second lookup result is a miss.

[0077] Therefore, the second lookup result needs to be ANDed. Only when the second lookup result for each byte is a match can the first lookup result be a match, thus obtaining the identifier of the parallel processing queue.

[0078] Of course, the preset index field can get the first lookup result for the hit case, while the non-preset index field may get the first lookup result for the hit case or the first lookup result for the miss case.

[0079] The parsing module 402 is further configured to: attach an identification identifier to a field that is determined to be a preset index field, wherein the identification identifier indicates that the field is a preset index field;

[0080] The distribution module 403 is also used to filter the preset index field according to the identification identifier to obtain the first lookup result corresponding to the preset index field.

[0081] In addition, this application also provides a computer storage medium storing a message processing program, wherein when the message processing program is executed by a processor, it implements the steps of the above-described message information processing method.

[0082] It should be noted that, without conflict, the various embodiments and / or technical features described in this application can be arbitrarily combined with each other, and the resulting technical solutions should also fall within the protection scope of this application.

[0083] It should be understood that the specific examples in the embodiments of this application are only for the purpose of helping those skilled in the art to better understand the embodiments of this application, and are not intended to limit the scope of the embodiments of this application. Those skilled in the art can make various improvements and modifications based on the above embodiments, and all such improvements or modifications fall within the protection scope of this application.

[0084] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A message information processing method, characterized in that, Applied to an accelerated processing unit, the method includes: performing the following steps in parallel: The message scheduling table is queried based on each field of the serially transmitted message to obtain the first lookup result corresponding to the field. The message scheduling table indicates the mapping relationship between each field of the message and the identifier of each parallel processing queue. And parse each field of the message, and determine whether each field is a preset index field; Based on the judgment result, the preset index field is filtered, and the parallel processing queue identifier indicated by the first lookup result of the preset index field is associated with the message and output to the storage unit, wherein the identifier of the parallel processing queue where the message is located corresponds to the access address of the message in the storage unit.

2. The message information processing method according to claim 1, characterized in that, The method further includes: The serial transmission bandwidth of the message is converted into the bus bandwidth of the transmission bus between the acceleration processing unit and the storage unit, and the storage unit is used to store the messages of each parallel processing queue. The step of associating the parallel processing queue identifier indicated by the first lookup result of the preset index field with the message and outputting it to the storage unit includes: Based on the bus bandwidth, the parallel processing queue identifier indicated by the first lookup result of the preset index field is output to the storage unit along with the message via the transmission bus.

3. The message information processing method according to claim 2, characterized in that, The process involves performing the following steps in parallel: converting the serial transmission bandwidth of the message into the bus bandwidth of the transmission bus between the acceleration processing unit and the storage unit; parsing each field of the message; and determining whether each field is a preset index field.

4. The message information processing method according to claim 1, characterized in that, The message scheduling table is queried for each field of the serially transmitted message to obtain the first lookup result corresponding to the field, including: Each of the fields is split into multiple bytes; The message scheduling table is queried based on each byte in each field to obtain a second lookup result corresponding to the byte. The message scheduling table indicates the mapping relationship between each byte of the message and the identifier of each parallel processing queue. The first lookup result is obtained based on the second lookup result of each byte.

5. The message information processing method according to claim 4, characterized in that, The message scheduling table corresponds one-to-one with the field, and the message scheduling table includes multiple sub-tables, each of which corresponds one-to-one with the byte. The step of querying the message scheduling table based on each byte in each field to obtain the second lookup result corresponding to the byte includes: querying the sub-table based on each byte in each field to obtain the second lookup result corresponding to the byte.

6. The message information processing method according to claim 4, characterized in that, The process of obtaining the first lookup result based on the second lookup result of each byte includes: Perform an AND operation on the second lookup results of each byte to obtain the first lookup result corresponding to the field.

7. The message information processing method according to claim 1, characterized in that, The filtering of the preset index field includes: attaching an identification identifier to the field that is determined to be a preset index field, wherein the identification identifier indicates that the field is a preset index field; The preset index field is filtered based on the identification identifier.

8. An accelerated processing unit, characterized in that, include: The table lookup module is used to query the message scheduling table based on each field of the serially transmitted message to obtain the first table lookup result corresponding to the field, wherein the message scheduling table indicates the mapping relationship between each field of the message and the identifier of each parallel processing queue. The parsing module is used to parse each field of the message and determine whether each field is a preset index field; The distribution module is used to filter the preset index field according to the judgment result of the parsing module, and associate the parallel processing queue identifier indicated by the first lookup result of the preset index field with the message and output it to the storage unit; wherein, the identifier of the parallel processing queue where the message is located corresponds to the access address of the message in the storage unit; The table lookup module and the parsing module are executed in parallel.

9. The accelerated processing unit according to claim 8, characterized in that, The acceleration processing unit further includes a conversion module, which is used to convert the serial transmission bandwidth of the message into the bus bandwidth of the transmission bus between the acceleration processing unit and the storage unit, wherein the storage unit is used to store messages of each parallel processing queue. The distribution module is specifically used to: based on the bus bandwidth, output the parallel processing queue identifier indicated by the lookup result of the preset index field and the message together to the storage unit via the transmission bus.

10. A computer storage medium, characterized in that, The computer storage medium stores a message processing program, wherein when the message processing program is executed by the processor, it implements the steps of the message information processing method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Message processing equipment and method

    CN108055202A

  • Flow table management method and device

    CN112866111A