Information message transmission method and device, equipment, medium and product
By using message management table entries to manage and store slice messages in the RapidIO system, the problem that the receiving device cannot alternately receive slice messages from different Messages is solved, and efficient management of concurrent messages and data integrity and reliability are achieved.
Patent Information
- Application Number
- CN202510360791.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-26
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2045-03-26
AI Technical Summary
In complex RapidIO systems, the current receiving device does not support slicing out-of-order reception and cannot alternately receive slice messages from different Messages.
By receiving the target slice message and storing it into the storage space according to the message management table entry, its characteristic information is recorded. Through message management table entries, unorderly arrived slice messages are managed and stored until all fragments of a message are received, the complete messages are integrated and reconstructed.
It realizes effective management and temporary storage of slice messages in the case of concurrent messages, ensures data integrity and reliability, and supports alternate reception of slice messages of different Messages.
Smart Images

Figure CN119892773A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present disclosure relate to the field of computer communication technology, and in particular to a message transmission method, device, equipment, medium and product. Background Art
[0002] In the RapidIO system, message packets support addressless transmission of data. For a device, the address space can be mapped by using the mailbox (or xmailbox) and letter fields in the message packet to achieve isolation of address information between communication devices. A single message can be divided into up to 16 slice packets for transmission, and each slice packet can carry up to 256B of data, so that a single group of message packets can transmit up to 4kB of data. In other words, a complete message consists of up to 16 slice packets, that is, it can be divided into 16 independent slice packets for transmission.
[0003] In a complex RapidIO system, when there are concurrent messages, the current receiving device does not support out-of-order reception of slices and cannot alternately receive slice messages of different messages. Summary of the invention
[0004] The embodiments of the present disclosure provide a message transmission method, apparatus, device, medium and product.
[0005] In a first aspect, an embodiment of the present disclosure provides a message packet transmission method, the method comprising: Receive a target slice message, where the target slice message is a slice message of a target message message; According to the message management table entry, the target slice message is stored in the storage space, and the message management table entry is used to record the characteristic information of the slice message; Recording the characteristic information of the target slice message into the message management table entry; In response to the characteristic information of the slice message corresponding to the target message message being recorded by the message management table entry, the target message message is obtained based on the message management table entry and the storage space.
[0006] In some optional implementations, the message management table entry includes a plurality of table entries, each table entry is used to record characteristic information of a message message, and the table entry includes a characteristic value field; and The step of storing the target slice message into a storage space according to the message management table entry includes: Extracting a characteristic value of the target message from the target slice message; Querying whether there is a feature value field storing the feature value of the target message in the message management table entry; If yes, obtain a storage start address from a table item storing the characteristic value of the target message message as a base address; calculate a target slice storage address based on the base address and the target slice message; store the actual transmission data of the target slice message into the target slice storage address; If not, determining whether there is an unused entry in the message management table; If there are unused entries in the message management table, determine any unused entry as a target entry; obtain the storage start address of the target entry as the target slice storage address; store the actual transmission data of the target slice message into the target slice storage address; If there is no unused entry in the message management table, a retry message is sent to the sender of the target slice message.
[0007] In some optional implementations, the calculating the target slice storage address based on the base address and the target slice message includes: Obtain the message segment and field size of the target slice message; According to a preset protocol, obtaining the number of bytes corresponding to the field size; The base address is added to the product of the message segment and the number of bytes corresponding to the field size to obtain the target slice storage address.
[0008] In some optional implementations, the table entry further includes a mapping field, the mapping field includes a plurality of mapping bits, each mapping bit corresponds to a slice message of the target message message; The recording the characteristic information of the target slice message into the message management table entry includes: Setting a corresponding mapping bit of the target slice message in the table entry storing the characteristic value of the target message message, or setting a corresponding mapping bit of the target slice message in the target table entry; and The characteristic information of the slice message corresponding to the target message message is recorded by the message management table entry, and the target message message is obtained according to the message management table entry and the storage space, including: In response to all mapping bits of the mapping field corresponding to the target message being set, the target message is obtained according to the message management table entry and the storage space.
[0009] In some optional implementations, the table entry further includes an occupied field, and The recording the characteristic information of the target slice message into the message management table entry includes: Setting the occupied field of the target entry; and The querying whether there is a feature value field storing the feature value of the target message in the message management table includes: querying whether there is a feature value field storing the feature value of the target message in the entry whose occupied field of the message management entry is set; and The determining whether there is an unused entry in the message management table includes: It is determined whether there is an entry in the message management table whose occupied field is not set.
[0010] In some optional implementations, the table entry further includes an attribute field, and The recording the characteristic information of the target slice message into the message management table entry includes: Obtaining the message header information of the target slice message; The attribute field is initialized using the message header information and the target slice storage address.
[0011] In some optional implementations, after obtaining the target message according to the message management table entry and the storage space, the method further includes: Clearing the characteristic information of the slice message corresponding to the target message message in the storage space; Clear the entry corresponding to the target message in the message management table.
[0012] In a second aspect, an embodiment of the present disclosure provides a message transmission device, the device comprising: A message receiving module, used to receive a target slice message, wherein the target slice message is a slice message of a target message message; A storage module, used to store the target slice message into a storage space according to a message management table entry, wherein the message management table entry is used to record characteristic information of the slice message; A message entry management module, used to record the characteristic information of the target slice message into the message management entry; A processing module is used to obtain the target message message in response to the characteristic information of the slice message corresponding to the target message message being recorded in the message management table entry, based on the message management table entry and the storage space.
[0013] In a third aspect, an embodiment of the present disclosure provides an electronic device, comprising: one or more processors; a storage device on which one or more programs are stored, and when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any implementation manner in the first aspect.
[0014] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by one or more processors, implements the method described in any implementation manner in the first aspect.
[0015] In a fifth aspect, an embodiment of the present disclosure provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the method described in any implementation manner in the first aspect.
[0016] In order to alternately receive slice messages of different messages, the message message transmission method, device, equipment, medium and product provided by the embodiments of the present disclosure first receive the target slice message, which is a slice message of the target message message; then, according to the message management table item, the target slice message is stored in the storage space, and the message management table item is used to record the characteristic information of the slice message; then the characteristic information of the target slice message is recorded in the message management table item; finally, in response to the characteristic information of the slice message corresponding to the target message message being recorded by the message management table item, the target message message is obtained according to the message management table item and the storage space. In the case of concurrent messages, by using the message management table item, the slice messages that arrive out of order can be effectively managed and temporarily stored. Once all the slice messages of a message are received, these fragments can be integrated to obtain the entire message. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Other features, objects and advantages of the present disclosure will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings. The drawings are only for the purpose of illustrating specific embodiments and are not to be considered as limiting the present disclosure. In the drawings: Figure 1 is an exemplary system architecture diagram in which an embodiment of the present disclosure may be applied; Figure 2 is a flow chart of an embodiment of a message transmission method according to the present disclosure; Figure 3 is a target message structure diagram according to an embodiment of the message transmission method disclosed in the present invention; Figure 4 is a structural schematic diagram of an embodiment of a message message transmission device according to the present disclosure; Figure 5 It is a structural diagram of a computer system of an electronic device suitable for implementing an embodiment of the present disclosure. DETAILED DESCRIPTION
[0018] The present disclosure is further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the relevant invention, rather than to limit the invention. It is also necessary to explain that, for ease of description, only the parts related to the relevant invention are shown in the accompanying drawings.
[0019] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present disclosure may be combined with each other. The present disclosure will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0020] Figure 1 An exemplary system architecture 100 is shown to which embodiments of the message transmission method, apparatus, device, medium, and product of the present disclosure can be applied.
[0021] like Figure 1 As shown, the system architecture 100 may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0022] The user can use the terminal devices 101, 102, 103 to interact with the server 105 through the network 104 to receive or send messages, etc. Various communication client applications can be installed on the terminal devices 101, 102, 103, such as web applications, voice recognition applications, short video social applications, audio and video conferencing applications, video live broadcast applications, document editing applications, input method applications, web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, etc.
[0023] Terminal devices 101, 102, 103 can be hardware or software. When terminal devices 101, 102, 103 are hardware, they can be various electronic devices with display screens, including but not limited to smart phones, tablet computers, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III, Moving Picture Experts Group Audio Layer 3), MP4 (Moving Picture Experts Group Audio Layer IV, Moving Picture Experts Group Audio Layer 4) players, laptop computers and desktop computers, etc. When terminal devices 101, 102, 103 are software, they can be installed in the terminal devices listed above. It can be implemented as multiple software or software modules (for example, to provide message transmission services), or it can be implemented as a single software or software module. No specific limitation is made here.
[0024] In some cases, the message transmission method provided by the present disclosure may be executed by the terminal devices 101, 102, 103, and accordingly, the message transmission apparatus may be disposed in the terminal devices 101, 102, 103. In this case, the system architecture 100 may not include the server 105.
[0025] In some cases, the message message transmission method provided in the present disclosure can be jointly performed by the terminal devices 101, 102, 103 and the server 105. For example, the step of "receiving the target slice message" can be performed by the terminal devices 101, 102, 103, and the steps of "storing the target slice message into the storage space according to the message management table item" can be performed by the server 105. The present disclosure does not limit this. Accordingly, the message message transmission device can also be respectively set in the terminal devices 101, 102, 103 and the server 105.
[0026] In some cases, the message transmission method provided in the present disclosure may be executed by the server 105 , and accordingly, the message transmission device may also be set in the server 105 . In this case, the system architecture 100 may not include the terminal devices 101 , 102 , and 103 .
[0027] It should be noted that the server 105 can be hardware or software. When the server 105 is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or it can be implemented as a single server. When the server 105 is software, it can be implemented as multiple software or software modules (for example, for providing distributed services), or it can be implemented as a single software or software module. No specific limitation is made here.
[0028] It should be understood that Figure 1The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.
[0029] Continue to refer Figure 2 , which shows a process 200 of an embodiment of the message message transmission method according to the present disclosure, which can be applied to the RapidIO system. RapidIO is a high-performance serial interconnect technology that is widely used in embedded systems, especially in data-intensive applications. It has the characteristics of low latency, high bandwidth and scalability, and is the preferred interconnect technology for many high-performance computing and communication systems. The message messages in this embodiment refer to the message messages (i.e., message messages) under the RapidIO protocol. The above-mentioned message message transmission method 200 includes the following steps 201 to 204: Step 201, receiving a target slice message.
[0030] For a specific device, a message message can map a section of address space through the mailbox (or xmailbox) and letter fields therein, thereby achieving the isolation of address information between communication devices and address-free transmission of data.
[0031] A single message message can be split into up to 16 slice messages for transmission. Each slice can transmit up to 256B of data, so a single group of message messages can transmit up to 4kB of data.
[0032] Since a message message does not contain address information and a message message can be cut into multiple slice messages for sending, users can distinguish and classify message messages through a combination of characteristic values in the message (such as mailbox, xmailbox, letter fields, referred to as char).
[0033] The target message packet may be any message packet that needs to be transmitted in the RapidIO system, and the target slice message is a slice message of the target message packet.
[0034] It should be noted that the structure of the target message can be referred to Figure 3 The first 4 bits usually refer to part of the FTYPE field, which is used to identify the type of packet, and the doubleword is the actual transmission data. The meaning of other fields refers to the following table 1: Table 1
[0035] Step 202: store the target slice message into the storage space according to the message management table entry.
[0036] Since a complete message message can be composed of up to 16 slice messages, that is, it is split into 16 slice messages for independent transmission, therefore, in a complex RapidIO system, there may be concurrent message message transmissions, and slice messages of different message messages may be received alternately, which requires management of the slices of each received message message.
[0037] The message management table is used to record the characteristic information of the message that has not been completely received (that is, the message that has been partially received but not completely received). For example, it records which message messages are transmitted, which message slices of a message have arrived, the storage address of the message in the storage space, and the message information other than the actual transmission data of the message, etc.
[0038] Storage space is used to temporarily store the actual transmission data in the slice message. After receiving the target slice message, the message management table entry can store the target slice message in the specified storage space according to the transmission status of the monitored target message message, and wait until all the slice messages of the target message message arrive before outputting it.
[0039] As a possible implementation, the message management table may include N entries, each of which is used to record characteristic information of a message message. Optionally, the user may adjust the number of N according to the scenario to save resources.
[0040] Each table entry can be divided into multiple areas to record different message information.
[0041] As an example, a table entry may include areas such as an occupied field, a characteristic value field, a mapping field, and an attribute field. Among them, the occupied field (also known as U, representing inuse) can be set to 1 when the current table entry is occupied, and set to 0 when it is not occupied. The characteristic value field (also known as char, representing the characteristic value of the message message corresponding to the current table entry) consists of mbox, xmbox, and letter of the message message, and is refreshed when the first slice message is written. The mapping field (also known as segmap, representing the slice message bit number mapping) can be composed of 16 bits, each bit represents whether the corresponding slice is received; when the current slice is received, it is set to 1; when it is not received, it is set to 0. The attribute field (also known as msginfo, used to store the attribute information of the message message) can include the message header information such as msglen and ssize of the message message, as well as the address information of the payload (actual transmission data, referring to the data part actually transmitted in the message) in the storage space, and is refreshed when the first slice message is written.
[0042] On this basis, the above step 202 may include the following steps 2021 to 2030: Step 2021, extracting the characteristic value of the target message message from the target slice message.
[0043] The target slice message carries the mbox, xmbox and letter of the target message message. These characteristic values can represent which target message message the target slice message comes from.
[0044] Step 2022, query whether there is a feature value field storing the feature value of the target message in the message management table.
[0045] When the first slice message of a message message is received, a blank table entry is selected in the message management table entry to record the transmission progress of the message message, and the blank table entry is initialized, its occupied field is set, and its characteristic value field and attribute field are filled; when a non-first slice message of a message message is received, in order to improve transmission efficiency, it is only necessary to set the mapping bit corresponding to its mapping field, and there is no need to record other content in the message management table entry. Therefore, when step 2022 receives any target slice message, it can first query whether there is a characteristic value field storing the characteristic value of the target message message in the message management table entry, which is equivalent to querying whether there is a table entry recording the target message message in the message management table entry.
[0046] Preferably, to improve transmission efficiency, step 2022 may only query whether there is a feature value field storing the feature value of the target message in the table entry whose occupied field of the message management table entry is set (eg, U=1).
[0047] Step 2023: If yes, obtain the storage start address from the table entry storing the characteristic value of the target message as the basic address.
[0048] The storage start address is obtained and recorded in the table entry when the first slice message is received. Specifically, the storage start address can be recorded in the attribute field of the table entry.
[0049] Step 2024, calculate the target slice storage address based on the base address and the target slice message.
[0050] Specifically, you can first obtain the message segment (msgseg) and field size (ssize) of the target slice message; then, according to the preset protocol (such as the RapidIO protocol), obtain the number of bytes corresponding to the field size; finally, add the base address to the product of the number of bytes corresponding to the message segment and the field size to obtain the target slice storage address.
[0051] For example, the base address is Ai, and the number of bytes corresponding to the field size is bytenum, then the target slice storage address is Ai + the value of the message segment (msgseg) × bytenum.
[0052] Step 2025, store the actual transmission data of the target slice message into the target slice storage address.
[0053] Step 2026: If not, determine whether there are unused entries in the message management table.
[0054] Optionally, determining whether there are unused entries in the message management table entries may be achieved by determining whether there are entries in the message management table entries whose occupied fields are not set (for example, U=0).
[0055] Step 2027: If yes, determine any unused entry as the target entry.
[0056] If yes, this means that the target message message is not recorded in the message management table entry, and the target slice message is the first slice message received by the target message message. When determining that any unused table entry is the target table entry, it is preferred to start from table entry 0 and query in order to table entry N, stop querying after finding a table entry with U being 0, and use the table entry as the target table entry of the target slice message.
[0057] Step 2028, obtain the storage start address of the target table entry as the target slice storage address.
[0058] Optionally, the storage start address is a starting position in the storage space for temporarily storing message data, and may be allocated according to usage of the storage space.
[0059] Step 2029, store the actual transmission data of the target slice message into the target slice storage address.
[0060] Step 2030: If not, send a retry message to the sender of the target slice message.
[0061] If not, this means that all entries in the message management table are occupied and the target message message cannot be managed temporarily, so a retry message needs to be sent to the sender of the target slice message.
[0062] In this way, steps 2021 to 2030 introduce in detail how to store the target slice message into the storage space according to the message management table entry, which is conducive to improving transmission efficiency and ensuring data integrity and reliability.
[0063] Step 203: record the characteristic information of the target slice message into the message management table entry.
[0064] As described in step 2022, after storing the target slice message into the storage space, it is necessary to record it in the message management entry according to whether it is the first received slice message of the corresponding message message.
[0065] If it is not the first received slice message, only the corresponding mapping bit of the target slice message in the corresponding entry needs to be set.
[0066] If it is the first received slice message, not only the corresponding mapping bit of the target slice message in the corresponding entry needs to be set, but also the occupied field of the target entry needs to be set, and the message header information of the target slice message needs to be obtained and the attribute field of the target entry needs to be initialized using the message header information and the target slice storage address.
[0067] As a possible implementation, when setting the mapping bit, the value of msgseg in the target slice message can be queried first, and then the corresponding bit of segmap in the entry can be set. For example, if msgseg is 4, then bit4 of segmap is set to 1.
[0068] As a possible implementation, when setting the occupied field of the target entry, obtaining the message header information of the target slice message, and initializing the attribute field of the target entry using the message header information and the target slice storage address, the attribute field (i.e., the msginfo bit field) of the target entry can be refreshed using the start address information and msglen, ssize in the target slice message; the mapping field (i.e., the segmap bit field) is refreshed to 0xffff<<msglen (i.e., 0xffff is shifted left by msglen bits); the eigenvalue field (i.e., the char bit field) is refreshed with the mbox, xmbox, letter of the slice message; the occupied field (i.e., U) is refreshed to 1.
[0069] Step 204, in response to the fact that the characteristic information of the slice messages corresponding to the target message message is all recorded in the message management entry, obtain the target message message according to the message management entry and the storage space.
[0070] If the characteristic information of the slice messages corresponding to the target message message is all recorded in the message management entry, equivalently, all the mapping bits of the mapping field corresponding to the target message message are set, equivalently, all the slice messages of the target message message are received. At this time, the complete target message message can be obtained according to the message management entry and the storage space.
[0071] Specifically, the attribute field and the eigenvalue field can be obtained from the attribute field of the message management entry, the actual transmission data of all the slice messages corresponding to the target message message can be obtained from the storage space, and after relevant integration processing based on the above content, it is transmitted to the subsequent steps to end the transmission processing of the target message message.
[0072] In addition, in response to the fact that the characteristic information of the slice message corresponding to the target message message is not all recorded by the message management table entry, the slice message continues to be received, that is, step 201 to step 203 are repeated until the characteristic information of the slice message corresponding to the target message message is all recorded by the message management table entry. In this way, the message management table entry can record each received slice message, and store subsequent other slice messages according to its record, and when the slice message of a message message is completely received, the message message is integrated and output to the subsequent step.
[0073] As a possible implementation, after step 204, the method may further include the following steps 205 to 206: Step 205, clear the characteristic information of the slice message corresponding to the target message message in the storage space.
[0074] Step 206: Clear the entry corresponding to the target message in the message management table.
[0075] Through step 205 to step 206, the corresponding table entries and storage space can be released for the management and storage of other message packets.
[0076] In summary, the message transmission method disclosed in the embodiment of the present disclosure can effectively manage and temporarily store message fragments that arrive out of order by using message management entries when processing concurrent messages. Once all fragments of a message are received, they can be integrated to reconstruct the complete message, thereby realizing the concurrent reception of multiple non-message messages.
[0077] Further references Figure 4 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a message transmission device, and the device embodiment is Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.
[0078] like Figure 4 As shown, the message packet transmission device 400 of this embodiment includes: a message receiving module 401 , a storage module 402 , a message table entry management module 403 and a processing module 404 .
[0079] The message receiving module 401 is used to receive a target slice message, where the target slice message is a slice message of the target message message; A storage module 402, configured to store the target slice message into a storage space according to a message management table entry, wherein the message management table entry is used to record characteristic information of the slice message; The message entry management module 403 is used to record the characteristic information of the target slice message into the message management entry; The processing module 404 is used to obtain the target message message in response to the characteristic information of the slice message corresponding to the target message message being recorded in the message management table entry, based on the message management table entry and the storage space.
[0080] In this embodiment, the specific processing of the message transmission device 400 and the technical effects thereof can be referred to in Figure 2 The relevant descriptions of step 201, step 202, step 203 and step 204 in the corresponding embodiment are not repeated here.
[0081] In some optional implementations, the message management table entry includes a plurality of table entries, each table entry is used to record characteristic information of a message message, and the table entry includes a characteristic value field; and The storage module 402 includes: Eigenvalue acquisition unit ( Figure 4 (not shown) for extracting a characteristic value of the target message from the target slice message; Eigenvalue query unit ( Figure 4 (not shown) for querying whether there is a feature value field storing the feature value of the target message in the message management table; Non-first storage unit ( Figure 4 (not shown), if yes, obtain a storage start address from a table item storing the characteristic value of the target message message as a base address; calculate a target slice storage address based on the base address and the target slice message; store the actual transmission data of the target slice message into the target slice storage address; First storage unit ( Figure 4 Not shown), if not, determining whether there are unused entries in the message management table; if there are unused entries in the message management table, determining any unused entry as a target entry; obtaining the storage start address of the target entry as the target slice storage address; storing the actual transmission data of the target slice message into the target slice storage address; if there are no unused entries in the message management table, sending a retry message to the sender of the target slice message.
[0082] In some optional implementations, the non-first storage unit includes: Size Get Component ( Figure 4 (not shown) for obtaining a message segment and a field size of the target slice message; Byte Get Component ( Figure 4 (not shown) for obtaining the number of bytes corresponding to the field size according to a preset protocol; Address calculation component ( Figure 4(not shown) is used to add the base address to the product of the number of bytes corresponding to the message segment and the field size to obtain the target slice storage address.
[0083] In some optional implementations, the table entry further includes a mapping field, the mapping field includes a plurality of mapping bits, each mapping bit corresponds to a slice message of the target message message; The message entry management module 403 includes: Mapping bit position unit ( Figure 4 (not shown), used to set the corresponding mapping bit of the target slice message in the table entry storing the characteristic value of the target message message, or to set the corresponding mapping bit of the target slice message in the target table entry; and The processing module 404 includes: Fully-positioned processing unit ( Figure 4 (not shown) is used to respond to all mapping bits of the mapping field corresponding to the target message message being set, and obtain the target message message according to the message management table entry and the storage space.
[0084] In some optional implementations, the table entry further includes an occupied field, and The message entry management module 403 includes: Occupancy field set unit ( Figure 4 (not shown) for setting an occupied field of the target entry; and The feature value query unit ( Figure 4 not shown), including: Feature value field query component ( Figure 4 (not shown), used to query whether there is a feature value field storing the feature value of the target message message in the entry whose occupied field of the message management entry is set; and The first storage unit ( Figure 4 not shown), including: Non-occupied field query component ( Figure 4 (not shown) is used to determine whether there is an entry in the message management table whose occupied field is not set.
[0085] In some optional implementations, the table entry further includes an attribute field, and The message entry management module 403 includes: Attribute acquisition unit ( Figure 4 (not shown) for obtaining header information of the target slice message; Attribute Record Unit ( Figure 4(not shown) is used to initialize the attribute field using the message header information and the target slice storage address.
[0086] In some optional implementations, the device 400 further includes: First clearing module ( Figure 4 (not shown) for clearing the characteristic information of the slice message corresponding to the target message message in the storage space; Second cleaning module ( Figure 4 (not shown) is used to clear the entry corresponding to the target message in the message management table.
[0087] It should be noted that the implementation details and technical effects of each module and unit in the message message transmission device provided in the embodiment of the present disclosure can be referred to the description of other embodiments in the present disclosure, and will not be repeated here.
[0088] Reference below Figure 5 , which shows a schematic diagram of the structure of a computer system 500 suitable for implementing the electronic device of the present disclosure. Figure 5 The computer system 500 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0089] like Figure 5 As shown, the computer system 500 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage device 508 to a random access memory (RAM) 503. Various programs and data required for the operation of the computer system 500 are also stored in the RAM 503. The processing device 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0090] Typically, the following devices may be connected to the I / O interface 505: input devices 506 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, etc.; output devices 507 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 508 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 509. The communication devices 509 may allow the computer system 500 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 5 The computer system 500 of an electronic device having various devices is shown, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.
[0091] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device 509, or installed from a storage device 508, or installed from a ROM 502. When the computer program is executed by the processing device 501, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
[0092] It should be noted that the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. Computer readable signal media may also be any computer readable medium other than computer readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0093] The computer-readable medium may be included in the electronic device, or may exist independently without being installed in the electronic device.
[0094] The computer readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device implements the following Figure 2The illustrated embodiment and its optional implementation manner illustrate a message message transmission method.
[0095] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0096] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0097] The units or modules involved in the embodiments described in the present disclosure may be implemented by software or hardware. The name of the unit or module does not limit the unit itself in some cases. For example, the message receiving module may also be described as "for responding to the characteristic information of the slice message corresponding to the target message message being recorded by the message management table entry, and obtaining the target message message according to the message management table entry and the storage space".
[0098] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.
Claims
1. A message transmission method, characterized in that: Applied to RapidIO systems, including: Receive a target slice message, where the target slice message is a slice message of a target message message; According to the message management table entry, the target slice message is stored in the storage space, and the message management table entry is used to record the characteristic information of the slice message; Recording the characteristic information of the target slice message into the message management table entry; In response to the characteristic information of the slice message corresponding to the target message message being recorded by the message management table entry, the target message message is obtained based on the message management table entry and the storage space.
2. The method according to claim 1, characterized in that The message management table entry includes a plurality of table entries, each table entry is used to record characteristic information of a message message, and the table entry includes a characteristic value field; as well as The storing the target slice message into the storage space according to the message management table entry includes: Extracting a characteristic value of the target message from the target slice message; Querying whether there is a feature value field storing the feature value of the target message in the message management table entry; If yes, obtain a storage start address from a table item storing the characteristic value of the target message message as a base address; calculate a target slice storage address based on the base address and the target slice message; store the actual transmission data of the target slice message into the target slice storage address; If not, determining whether there is an unused entry in the message management table; If there are unused entries in the message management table, determine any unused entry as a target entry; obtain the storage start address of the target entry as the target slice storage address; store the actual transmission data of the target slice message into the target slice storage address; If there is no unused entry in the message management table, sending a retry message to the sender of the target slice message; Preferably, the calculating the target slice storage address based on the base address and the target slice message includes: Obtain the message segment and field size of the target slice message; According to a preset protocol, obtaining the number of bytes corresponding to the field size; The base address is added to the product of the message segment and the number of bytes corresponding to the field size to obtain the target slice storage address.
3. The method according to claim 2, characterized in that The table entry also includes a mapping field, the mapping field includes a plurality of mapping bits, each mapping bit corresponds to a slice message of the target message message; The recording the characteristic information of the target slice message into the message management table entry includes: Setting a corresponding mapping bit of the target slice message in the table entry storing the characteristic value of the target message message, or setting a corresponding mapping bit of the target slice message in the target table entry; and The characteristic information of the slice message corresponding to the target message message is recorded by the message management table entry, and the target message message is obtained according to the message management table entry and the storage space, including: In response to all mapping bits of the mapping field corresponding to the target message being set, the target message is obtained according to the message management table entry and the storage space.
4. The method according to claim 2, characterized in that: The entry also includes an occupied field, and The recording the characteristic information of the target slice message into the message management table entry includes: Setting the occupied field of the target entry; and The querying whether there is a feature value field storing the feature value of the target message in the message management table includes: querying whether there is a feature value field storing the feature value of the target message in the entry whose occupied field of the message management entry is set; and The determining whether there is an unused entry in the message management table includes: It is determined whether there is an entry in the message management table whose occupied field is not set.
5. The method according to claim 2, characterized in that: The table entry also includes an attribute field, and The recording the characteristic information of the target slice message into the message management table entry includes: Obtaining the message header information of the target slice message; The attribute field is initialized using the message header information and the target slice storage address.
6. The method according to claim 1, characterized in that After obtaining the target message according to the message management table entry and the storage space, the method further includes: Clearing the characteristic information of the slice message corresponding to the target message message in the storage space; Clear the entry corresponding to the target message in the message management table.
7. A message transmission device, characterized in that: Applied to RapidIO systems, including: A message receiving module, used to receive a target slice message, wherein the target slice message is a slice message of a target message message; A storage module, used to store the target slice message into a storage space according to a message management table entry, wherein the message management table entry is used to record characteristic information of the slice message; A message entry management module, used to record the characteristic information of the target slice message into the message management entry; A processing module is used to obtain the target message message in response to the characteristic information of the slice message corresponding to the target message message being recorded in the message management table entry, based on the message management table entry and the storage space.
8. An electronic device, characterized in that: include: one or more processors; a storage device having one or more programs stored thereon, When the one or more programs are executed by the one or more processors, the one or more processors are enabled to implement the method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that: A computer program is stored thereon, wherein when the computer program is executed by one or more processors, the method according to any one of claims 1 to 6 is implemented.
10. A computer program product, characterized in that The method comprises a computer program / instruction, which implements the method according to any one of claims 1 to 6 when executed by a processor.
Citation Information
Patent Citations
Method for preventing fragment attack of IP (Internet Protocol) datagram
CN102510385A
Message processing method, network processor and storage medium
CN115550153A
Fragmented message processing method and device, equipment and storage medium
CN118509501A
Data packet processing method and data packet processing device and system
WO2014205691A1
Method and device for converting between rapidio packet and ethernet packet
WO2016107122A1