Message transmission method, device, equipment, medium and product

By using message management table entries and storage space to manage the characteristic information of slice messages in the RapidIO system, the problem of out-of-order reception of concurrent message messages is solved, and effective management and integration of slice messages is realized to ensure data integrity and reliability.

CN119892773BActive Publication Date: 2025-09-02WELL CORE MICROELECTRONICS TECH (TIANJIN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510360791.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-26
Publication Date
2025-09-02
Estimated Expiration
2045-03-26

AI Technical Summary

Technical Problem

In the RapidIO system, the current receiving device cannot effectively manage the slicing of concurrent message messages and the out-of-order reception of slicing messages of concurrent message packets, resulting in the inability to alternately receive slicing messages of different messages.

Method used

The message management table entry is used to record the characteristic information of the slice message, and temporarily store the unordered slice messages through the storage space until all slices are received and integrated into a complete message message.

Benefits of technology

It realizes effective management and temporary storage of concurrent messages, ensures data integrity and reliability, and can alternately receive sliced ​​messages of different messages in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119892773B_ABST
    Figure CN119892773B_ABST
Patent Text Reader

Abstract

The present disclosure provides a message message transmission method, apparatus, device, medium and product, which receives a target slice message, wherein the target slice message is a slice message of a target message message; stores the target slice message in 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; records the characteristic information of the target slice message in 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, obtains the target message message according to the message management table entry and the storage space. Therefore, in the case of concurrent messages, by using the message management table entry, 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.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present disclosure relate to the field of computer communication technology, and more particularly to a message transmission method, apparatus, device, medium, and product. Background Art

[0002] In the RapidIO system, message packets support address-free data transmission. For a device, the mailbox (or xmailbox) and letter fields in the message packet can be used to map the address space, isolating address information between communicating devices. A single message can be segmented into up to 16 message slices for transmission. Each message slice can carry up to 256 bytes of data, allowing a single message group to transmit up to 4 KB of data. In other words, a complete message consists of up to 16 message slices and can be split into 16 independent message slices for transmission.

[0003] In a complex RapidIO system, when concurrent messages exist, 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:

[0006] Receive a target slice message, where the target slice message is a slice message of the target message message;

[0007] According to a message management table entry, the target slice message is stored in a storage space, wherein the message management table entry is used to record characteristic information of the slice message;

[0008] Recording the characteristic information of the target slice message into the message management table entry;

[0009] 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.

[0010] In some optional implementations, the message management table entry includes a plurality of entries, each entry is used to record characteristic information of a message message, and the entry includes a characteristic value field; and

[0011] The step of storing the target slice message into a storage space according to the message management entry includes:

[0012] Extracting a characteristic value of the target message message from the target slice message;

[0013] Querying whether there is a characteristic value field storing the characteristic value of the target message in the message management table entry;

[0014] If yes, obtain the storage start address from the table entry storing the characteristic value of the target message as the base address; calculate the 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;

[0015] If not, determining whether there is an unused entry in the message management table;

[0016] If there are unused entries in the message management table, determine any unused entry as a target entry; obtain a storage start address of the target entry as a target slice storage address; and store actual transmission data of the target slice message into the target slice storage address;

[0017] If there is no unused entry in the message management table, a retry message is sent to the sender of the target slice message.

[0018] In some optional implementations, calculating the target slice storage address based on the base address and the target slice message includes:

[0019] Obtain the message segment and field size of the target slice message;

[0020] According to a preset protocol, obtaining the number of bytes corresponding to the field size;

[0021] The target slice storage address is obtained by adding the base address to the product of the message segment and the number of bytes corresponding to the field size.

[0022] In some optional implementations, the table entry further includes a mapping field, the mapping field including a plurality of mapping bits, each mapping bit corresponding to a slice message of the target message message;

[0023] The recording the characteristic information of the target slice message into the message management table entry includes:

[0024] Setting a mapping bit corresponding to the target slice message in the entry storing the characteristic value of the target message message, or setting a mapping bit corresponding to the target slice message in the target table entry; and

[0025] 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:

[0026] 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.

[0027] In some optional implementations, the entry further includes an occupied field, and

[0028] The recording the characteristic information of the target slice message into the message management table entry includes:

[0029] Setting the occupied field of the target entry; and

[0030] The querying whether there is a characteristic value field storing the characteristic value of the target message in the message management table includes:

[0031] 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

[0032] The determining whether there is an unused entry in the message management table includes:

[0033] It is determined whether there is an entry in the message management table whose occupied field is not set.

[0034] In some optional implementations, the entry further includes an attribute field, and

[0035] The recording the characteristic information of the target slice message into the message management table entry includes:

[0036] Obtaining the message header information of the target slice message;

[0037] The attribute field is initialized using the message header information and the target slice storage address.

[0038] In some optional implementations, after obtaining the target message according to the message management table entry and the storage space, the method further includes:

[0039] Clearing the characteristic information of the slice message corresponding to the target message message in the storage space;

[0040] Clear the entry corresponding to the target message in the message management table.

[0041] In a second aspect, an embodiment of the present disclosure provides a message transmission device, the device comprising:

[0042] A message receiving module, configured to receive a target slice message, wherein the target slice message is a slice message of a target message message;

[0043] A storage module, 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;

[0044] A message entry management module, configured to record characteristic information of the target slice message into the message management entry;

[0045] A processing module is used to obtain the target message message in response to the fact that the characteristic information of the slice message corresponding to the target message message is recorded in the message management table entry, based on the message management table entry and the storage space.

[0046] 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.

[0047] 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.

[0048] In a fifth aspect, an embodiment of the present disclosure provides a computer program product, comprising a computer program / instruction, which, when executed by a processor, implements the method described in any implementation manner in the first aspect.

[0049] In order to alternately receive slice messages of different messages, the embodiments of the present disclosure provide a message message transmission method, apparatus, device, medium and product, which first receives a target slice message, which is a slice message of a target message message; then, according to a message management table entry, the target slice message is stored in a storage space, and the message management table entry 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 entry; finally, 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. In the case of concurrent messages, by using the message management table entry, 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

[0050] Other features, objects, and advantages of the present disclosure will become more apparent upon reading the detailed description of non-limiting embodiments made with reference to the following drawings. The drawings are for illustration purposes only and are not to be considered as limiting the present disclosure. In the drawings:

[0051] Figure 1 is an exemplary system architecture diagram in which an embodiment of the present disclosure may be applied;

[0052] Figure 2 is a flow chart of an embodiment of a message transmission method according to the present disclosure;

[0053] Figure 3 is a diagram of a target message structure according to an embodiment of the message transmission method disclosed herein;

[0054] Figure 4 is a structural diagram of an embodiment of a message transmission device according to the present disclosure;

[0055] Figure 5 It is a schematic diagram of the structure of a computer system of an electronic device suitable for implementing the embodiments of the present disclosure. DETAILED DESCRIPTION

[0056] The present disclosure will be further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are intended only to illustrate the relevant invention and are not intended to limit the invention. It should also be noted that, for ease of description, only portions relevant to the relevant invention are shown in the accompanying drawings.

[0057] It should be noted that, in the absence of conflict, the embodiments and features of the embodiments in 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.

[0058] 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 may be applied.

[0059] like Figure 1 As shown, system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. Network 104 is a medium for providing communication links between terminal devices 101, 102, 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links or fiber optic cables.

[0060] Users can use terminal devices 101, 102, and 103 to interact with server 105 through network 104 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 101, 102, and 103, such as messaging applications, voice recognition applications, short video social applications, audio and video conferencing applications, live video applications, document editing applications, input method applications, web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, etc.

[0061] Terminal devices 101, 102, and 103 can be hardware or software. When terminal devices 101, 102, and 103 are hardware, they can be various electronic devices with display screens, including but not limited to smartphones, tablet computers, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III), MP4 players (Moving Picture Experts Group Audio Layer IV), laptop computers, and desktop computers. When terminal devices 101, 102, and 103 are software, they can be installed in the terminal devices listed above. They can be implemented as multiple software or software modules (for example, to provide message transmission services), or as a single software or software module. No specific limitations are given here.

[0062] In some cases, the message transmission method provided by the present disclosure may be executed by the terminal devices 101, 102, 103. Accordingly, the message transmission apparatus may be provided in the terminal devices 101, 102, 103. In this case, the system architecture 100 may not include the server 105.

[0063] In some cases, the message transmission method provided in the present disclosure can be jointly performed by terminal devices 101, 102, 103 and server 105. For example, the step of "receiving a target slice message" can be performed by terminal devices 101, 102, 103, and the steps of "storing the target slice message into a storage space according to the message management table entry" can be performed by server 105. This disclosure is not limited to this. Accordingly, the message transmission device can also be respectively provided in terminal devices 101, 102, 103 and server 105.

[0064] 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 also not include the terminal devices 101 , 102 , and 103 .

[0065] It should be noted that server 105 can be either hardware or software. When server 105 is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When server 105 is software, it can be implemented as multiple software programs or software modules (for example, to provide distributed services), or as a single software program or software module. This is not specifically limited here.

[0066] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is merely illustrative. Any number of terminal devices, networks and servers may be provided as required.

[0067] Continue to refer Figure 2 , which illustrates a process 200 of an embodiment of a message transmission method according to the present disclosure, which can be applied to a RapidIO system. RapidIO is a high-performance serial interconnect technology widely used in embedded systems, particularly in data-intensive applications. It features low latency, high bandwidth, and scalability, making it the preferred interconnect technology for many high-performance computing and communication systems. The message packets in this embodiment refer to message packets under the RapidIO protocol (i.e., message packets). The message transmission method 200 includes the following steps 201 to 204:

[0068] Step 201: Receive a target slice message.

[0069] For a specific device, the message message can map a section of address space through the mailbox (or xmailbox) and letter fields, thereby achieving the isolation of address information between communication devices and address-free data transmission.

[0070] 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 message message group can transmit up to 4kB of data.

[0071] Since message messages do not contain address information and can be split into multiple message segments for transmission, users can distinguish and classify message messages by combining characteristic values ​​in the message (such as the mailbox, xmailbox, and letter fields, char for short).

[0072] 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.

[0073] It should be noted that the structure of the target message can refer 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 double word is the actual transmitted data. The meaning of other fields is shown in Table 1 below:

[0074] Table 1

[0075]

[0076] Step 202: Store the target slice message into the storage space according to the message management table entry.

[0077] 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 transmission, and slice messages of different message messages may be received alternately, which requires management of the slices of each received message message.

[0078] The message management table records characteristic information about incompletely received messages (i.e., messages whose slices have been partially but not completely received). For example, it records which messages have been transmitted, which slices of a message have arrived, the storage address of the message in the storage space, and message information other than the actual transmitted data of the message.

[0079] Storage space for temporarily storing the actual transmission data in the slice message. After receiving the target slice message, the message management table can, based on the monitored transmission status of the target message message, store the target slice message in the designated storage space if there are still slices of the target message message that have not arrived. It waits until all slice messages of the target message message have arrived before outputting them.

[0080] 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 can adjust the number of N according to the scenario to save resources.

[0081] Each table entry can be divided into multiple areas to record different message information.

[0082] For example, a table entry may include an occupied field, a characteristic value field, a mapping field, and an attribute field. The occupied field (also called U, standing for inuse) is set to 1 when the current table entry is occupied and to 0 when it is unoccupied. The characteristic value field (also called char, representing the characteristic value of the message corresponding to the current table entry) consists of the message's mbox, xmbox, and letter fields and is refreshed when the first slice message is written. The mapping field (also called segmap, representing the slice message bit number mapping) may consist of 16 bits, with each bit indicating whether the corresponding slice has been received. It is set to 1 if the current slice has been received and to 0 if it has not been received. The attribute field (also called msginfo, used to store message attribute information) may include message header information such as msglen and ssize, as well as the address of the payload (the actual transmitted data portion of the message) in the storage space. It is refreshed when the first slice message is written.

[0083] On this basis, the above step 202 may include the following steps 2021 to 2030:

[0084] Step 2021, extracting the characteristic value of the target message message from the target slice message.

[0085] 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.

[0086] Step 2022: Check whether there is a feature value field storing the feature value of the target message in the message management table.

[0087] When the first slice message of a message message is received, a blank table entry will be selected in the message management table entry to record the transmission progress of the message message, and the blank table entry will be initialized, its occupied field will be set, and its characteristic value field and attribute field will be 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 any target slice message is received in step 2022, you 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.

[0088] 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 entry whose occupied field of the message management entry is set (eg, U=1).

[0089] Step 2023: If yes, obtain the storage start address from the table entry storing the characteristic value of the target message as the base address.

[0090] The storage start address is obtained when the first slice message is received and recorded in the table entry. Specifically, the storage start address can be recorded in the attribute field of the table entry.

[0091] Step 2024, calculate the target slice storage address based on the base address and the target slice message.

[0092] 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.

[0093] 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.

[0094] Step 2025: Store the actual transmission data of the target slice message into the target slice storage address.

[0095] Step 2026: If not, determine whether there is an unused entry in the message management table.

[0096] Optionally, determining whether there is an unused entry in the message management table may be achieved by determining whether there is an entry in the message management table whose occupied field is not set (eg, U=0).

[0097] Step 2027: If yes, determine any unused entry as the target entry.

[0098] 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 preferable to start from table entry 0 and search in order to table entry N. When the table entry with U = 0 is found, the search stops and the table entry is used as the target table entry for the target slice message.

[0099] Step 2028, obtain the storage start address of the target table entry as the target slice storage address.

[0100] 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.

[0101] Step 2029: Store the actual transmission data of the target slice message into the target slice storage address.

[0102] Step 2030: If not, send a retry message to the sender of the target slice message.

[0103] 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.

[0104] In this way, steps 2021 to 2030 describe 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.

[0105] Step 203: Record the characteristic information of the target slice message into the message management table entry.

[0106] As described in step 2022, after the target slice message is stored in the storage space, it needs to be recorded in the message management table entry based on whether it is the first slice message received of the corresponding message message.

[0107] If it is not the first slice message received, just set the corresponding mapping bit of the target slice message in the corresponding table entry.

[0108] If it is the first slice message received, not only the corresponding mapping bit of the target slice message in the corresponding table entry needs to be set, but also the occupied field of the target table entry needs to be set, and the message header information of the target slice message needs to be obtained and the message header information and the target slice storage address need to be used to initialize the attribute field of the target table entry.

[0109] As a possible implementation, when setting the mapped bit, the value of msgseg in the target slice message can be queried first, and then the corresponding bit in segmap in the entry is set. For example, if msgseg is 4, then bit4 of segmap is set to 1.

[0110] As a possible implementation, when setting the occupied field of the target entry, obtaining the header information of the target slice message, and initializing the attribute field of the target entry using the header information and the target slice storage address, the starting address information and msglen, ssize in the target slice message can be used to refresh the attribute field of the target entry (i.e., the msginfo bitfield); the mapping field (i.e., the segmap bitfield) is refreshed to 0xffff << msglen (i.e., 0xffff is shifted left by msglen bits); the eigenvalue field (i.e., the char bitfield) is refreshed to the mbox, xmbox, letter of the slice message; the occupied field (i.e., U) is refreshed to 1.

[0111] Step 204: In response to the fact that the characteristic information of the slice message corresponding to the target message message is all recorded in the message management entry, obtain the target message message based on the message management entry and the storage space.

[0112] If the characteristic information of the slice message corresponding to the target message message is all recorded in the message management entry, it is equivalent to that all the mapped bits of the mapping field corresponding to the target message message are set, which is equivalent to that all the slice messages corresponding to the target message message are received. At this time, the complete target message message can be obtained based on the message management entry and the storage space.

[0113] Specifically, the attribute field and the eigenvalue field can be obtained from the attribute field of the message management entry, and the actual transmission data of all the slice messages corresponding to the target message message can be obtained from the storage space. After relevant integration processing based on the above content, it is then transmitted to the subsequent steps to end the transmission processing of the target message message.

[0114] In addition, if the characteristic information of the slice message corresponding to the target message message is not all recorded in the message management entry, then continue to receive the slice message, that is, repeat steps 201 to 203 until the characteristic information of the slice message corresponding to the target message message is all recorded in the message management entry. In this way, the message management entry can record each received slice message, store subsequent other slice messages according to its record, and when the slice messages of a certain message message are completely received, integrate and output the message message to the subsequent steps.

[0115] As a possible implementation, after step 204, the above method may further include the following steps 205 to 206:

[0116] Step 205: Clear the characteristic information of the slice message corresponding to the target message message in the storage space.

[0117] Step 206: Clear the entry corresponding to the target message in the message management table.

[0118] 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.

[0119] In summary, the message transmission method disclosed in the embodiments of the present disclosure effectively manages and temporarily stores out-of-order message fragments when processing concurrent messages by using message management entries. Once all fragments of a message are received, they can be integrated to reconstruct the complete message, enabling the concurrent reception of multiple messages.

[0120] 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, which is similar to Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.

[0121] 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 .

[0122] The message receiving module 401 is configured to receive a target slice message, where the target slice message is a slice message of the target message message;

[0123] A storage module 402 is configured to store the target slice message into a storage space according to a message management entry, wherein the message management entry is configured to record characteristic information of the slice message;

[0124] The message entry management module 403 is configured to record the characteristic information of the target slice message into the message management entry;

[0125] The processing module 404 is used to obtain the target message message in response to the fact that the characteristic information of the slice message corresponding to the target message message is recorded in the message management table entry, based on the message management table entry and the storage space.

[0126] 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.

[0127] In some optional implementations, the message management table entry includes a plurality of entries, each entry is used to record characteristic information of a message message, and the entry includes a characteristic value field; and

[0128] The storage module 402 includes:

[0129] Eigenvalue acquisition unit ( Figure 4 (not shown) for extracting a characteristic value of the target message message from the target slice message;

[0130] Eigenvalue query unit ( Figure 4 (not shown) for querying whether there is a characteristic value field storing the characteristic value of the target message in the message management table;

[0131] Non-first storage unit ( Figure 4 (not shown), for, if yes, obtaining a storage start address from an entry storing the characteristic value of the target message message as a base address; calculating a target slice storage address based on the base address and the target slice message; and storing the actual transmission data of the target slice message into the target slice storage address;

[0132] First storage unit ( Figure 4 (not shown) is used to, if not, determine whether there are unused entries in the message management table; if there are unused entries in the message management table, determine any unused entry as the 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 are no unused entries in the message management table, send a retry message to the sender of the target slice message.

[0133] In some optional implementations, the non-first storage unit includes:

[0134] Size Get Component ( Figure 4 (not shown) for obtaining a message segment and a field size of the target slice message;

[0135] Byte Get Component ( Figure 4 (not shown) for obtaining the number of bytes corresponding to the field size according to a preset protocol;

[0136] 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.

[0137] In some optional implementations, the table entry further includes a mapping field, the mapping field including a plurality of mapping bits, each mapping bit corresponding to a slice message of the target message message;

[0138] The message entry management module 403 includes:

[0139] Map bit position unit ( Figure 4 (not shown) for setting a mapping bit corresponding to the target slice message in the entry storing the characteristic value of the target message message, or setting a mapping bit corresponding to the target slice message in the target table entry; and

[0140] The processing module 404 includes:

[0141] Fully set processing unit ( Figure 4 (not shown) is used to obtain the target message message in response to all mapping bits of the mapping field corresponding to the target message message being set, based on the message management table entry and the storage space.

[0142] In some optional implementations, the entry further includes an occupied field, and

[0143] The message entry management module 403 includes:

[0144] Occupancy field set unit ( Figure 4 (not shown) for setting an occupied field of the target entry; and

[0145] The feature value query unit ( Figure 4 not shown), including:

[0146] Feature value field query component ( Figure 4 (not shown) for 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

[0147] The first storage unit ( Figure 4 not shown), including:

[0148] 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.

[0149] In some optional implementations, the entry further includes an attribute field, and

[0150] The message entry management module 403 includes:

[0151] Attribute acquisition unit ( Figure 4(not shown) for obtaining header information of the target slice message;

[0152] 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.

[0153] In some optional implementations, the apparatus 400 further includes:

[0154] 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;

[0155] The second clearing module ( Figure 4 (not shown) is used to clear the entry corresponding to the target message in the message management table.

[0156] It should be noted that the implementation details and technical effects of each module and unit in the message message transmission device provided by 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.

[0157] Reference below Figure 5 , which shows a schematic structural diagram 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 usage scope of the embodiments of the present disclosure.

[0158] like Figure 5 As shown, 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 into a random access memory (RAM) 503. RAM 503 also stores various programs and data required for the operation of computer system 500. Processing device 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to bus 504.

[0159] Typically, the following devices may be connected to the I / O interface 505: an input device 506 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, etc.; an output device 507 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 508 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 509. The communication device 509 may allow the computer system 500 to communicate with other devices wirelessly or by wire to exchange data. Figure 5The computer system 500 of the 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.

[0160] 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 program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network via the communication device 509, or installed from the storage device 508, or installed from the 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 performed.

[0161] It should be noted that the computer-readable medium described above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. Computer-readable storage media may include, for example, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or components, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. 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 conjunction with an instruction execution system, apparatus, or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such a propagated data signal may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wire, optical cable, RF (radio frequency), or any suitable combination thereof.

[0162] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0163] The computer readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device can realize the following operation: Figure 2 The embodiment shown and its optional implementation manners show a message message transmission method.

[0164] 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 stand-alone 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., through the Internet using an Internet service provider).

[0165] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two 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 box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0166] The units or modules involved in the embodiments described in the present disclosure may be implemented by software or hardware. The name of a unit or module does not, in some cases, limit the unit itself. For example, a message receiving module may also be described as "for obtaining 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, and according to the message management table entry and the storage space, obtaining the target message message."

[0167] The above description is merely a preferred embodiment of the present disclosure and an illustration of the technical principles employed. Those skilled in the art should understand that the scope of the present disclosure is not limited to technical solutions formed by specific combinations of the aforementioned technical features. It also encompasses other technical solutions formed by any combination of the aforementioned technical features or their equivalents, without departing from the scope of the above disclosure. For example, a technical solution formed by replacing the aforementioned features with (but not limited to) technical features with similar functions disclosed in this disclosure.

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 the target message message; According to a message management table entry, the target slice message is stored in a storage space, where the message management table entry is used to record 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 according to the message management table entry and the storage space; The message management table includes a plurality of entries, each entry is used to record characteristic information of a message message, and the entry includes a characteristic value field; and The step of storing the target slice message into a storage space according to the message management entry includes: Extracting a feature value of the target message from the target slice message, wherein the feature value is used to distinguish the message message; Querying whether there is a characteristic value field storing the characteristic value of the target message in the message management table entry; If yes, obtain the storage start address from the table entry storing the characteristic value of the target message as the base address; calculate the 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 a storage start address of the target entry as a target slice storage address; and store 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; The table entry further includes a mapping field, the mapping field including a plurality of mapping bits, each mapping bit corresponding 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 mapping bit corresponding to the target slice message in the entry storing the characteristic value of the target message message, or setting a mapping bit corresponding to 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.

2. The method according to claim 1, characterized in that 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 target slice storage address is obtained by adding the base address to the product of the message segment and the number of bytes corresponding to the field size.

3. The method according to claim 1, 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 characteristic value field storing the characteristic 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.

4. The method according to claim 1, wherein 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.

5. The method according to claim 1, wherein 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.

6. A message transmission device, characterized in that: Applied to RapidIO systems, including: A message receiving module, configured to receive a target slice message, wherein the target slice message is a slice message of a target message message; A storage module, 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; A message entry management module, configured to record characteristic information of the target slice message into the message management entry; a processing module, configured to obtain the target message message according to the message management table entry and the storage space 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 message management table includes a plurality of entries, each entry is used to record characteristic information of a message message, and the entry includes a characteristic value field; and The step of storing the target slice message into a storage space according to the message management entry includes: Extracting a feature value of the target message from the target slice message, wherein the feature value is used to distinguish the message message; Querying whether there is a characteristic value field storing the characteristic value of the target message in the message management table entry; If yes, obtain the storage start address from the table entry storing the characteristic value of the target message as the base address; calculate the 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 a storage start address of the target entry as a target slice storage address; and store 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; The table entry further includes a mapping field, the mapping field including a plurality of mapping bits, each mapping bit corresponding 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 mapping bit corresponding to the target slice message in the entry storing the characteristic value of the target message message, or setting a mapping bit corresponding to 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.

7. 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 5.

8. 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 5 is implemented.

9. 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 5 when the computer program / instruction is executed by a processor.

Citation Information

Patent Citations

  • Fragmented message processing method and device, equipment and storage medium

    CN118509501A