WO2014205691A1 - 数据报文处理方法、数据报文处理装置及系统 - Google Patents

数据报文处理方法、数据报文处理装置及系统 Download PDF

Info

Publication number
WO2014205691A1
WO2014205691A1 PCT/CN2013/078036 CN2013078036W WO2014205691A1 WO 2014205691 A1 WO2014205691 A1 WO 2014205691A1 CN 2013078036 W CN2013078036 W CN 2013078036W WO 2014205691 A1 WO2014205691 A1 WO 2014205691A1
Authority
WO
WIPO (PCT)
Prior art keywords
length
storage
message
storage area
data streaming
Prior art date
Application number
PCT/CN2013/078036
Other languages
English (en)
French (fr)
Inventor
王健
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201380000740.9A priority Critical patent/CN104396196A/zh
Priority to PCT/CN2013/078036 priority patent/WO2014205691A1/zh
Publication of WO2014205691A1 publication Critical patent/WO2014205691A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Definitions

  • the present invention relates to the field of data processing technologies, and in particular, to a data message processing method, a data message processing apparatus, and a system. Background technique
  • the RapidlO (Fast Input and Output) protocol is an open interconnect technology standard designed to meet the needs of high performance embedded systems.
  • the main application scenarios of RapidlO are internal interconnection of embedded systems, supporting chip-to-chip and board-to-board communication.
  • Several transport modes are defined in the RapidlO protocol, and the Data streaming mode is one.
  • Data streaming mode the maximum length supported by Data streaming packets is 64 KB.
  • transmission is performed according to the slice granularity of 256B, 128B, 64B, and the like.
  • the receiver receives the first fragment (ie, the first fragment).
  • the length of the Data streaming message cannot be obtained. Moreover, since the length of the Data streaming message can be 1 to 64 KB, the receiver generally allocates a continuous storage area to store the message according to the maximum length (that is, 64 KB). In this way, even if most of the Data streaming messages are small, the receiver needs to allocate a lot of 64 KB of contiguous storage areas, resulting in a waste of storage resources.
  • an object of the embodiments of the present invention is to provide a data packet processing method, a data message processing apparatus, and a system to solve the above problems.
  • the embodiment of the present invention provides the following technical solutions:
  • a data packet processing method including: adding a length information of a Data streaming message to a first fragment by using a preset adding manner, and sending the first fragment, so that Receiving, by the receiving party, length information from the received first fragment, and determining a minimum available continuous storage area on the storage medium according to the length information; The minimum available contiguous storage area is used to store all shards of the Data streaming message.
  • the preset adding manner includes: storing the length information by using a high M bit or a low M bit of a logical layer field of the first fragment as a length field, where The value of M ranges from 0 to 16 or 0 to 8.
  • the logical layer field includes a stream number streamID field or a service level COS service level field.
  • the preset adding manner includes: storing the length information by using a high M bit or a low M bit of a field of a payload area of the first fragment as a length field.
  • the M value ranges from 0 to 16 or 0 to 8.
  • the field of the payload area includes any one of a halfword hwordO field and a hwordl27 field.
  • the preset adding manner includes: adding an M bit length field in the first fragment to store the length information, where the M value ranges from 0 to 16 Or 0 to 8.
  • the length information is specifically a length quantization level corresponding to a length of the Data streaming message
  • the difference between the quantized values between adjacent length quantization levels is a byte.
  • the first length quantization level is characterized.
  • the eighth Possible implementations include: Pre-negotiating addition methods.
  • the ninth possible implementation manner further includes: adding an add mode field in the first slice, where the add mode field is used to store the added mode used.
  • a data packet processing method including: when receiving a first fragment of a Data streaming packet, obtaining the Data streaming packet from the first fragment Length information, in the first fragment, the length information of the Data streaming message is added by the sender by using a preset adding manner; according to the length information, a minimum available continuous storage area is determined on the storage medium. The minimum available contiguous storage area is used to store all the shards of the Data streaming message.
  • the method further includes: pre-defining at least two storage pools on the storage medium, each storage pool including at least one contiguous storage area, and each contiguous storage area in the same storage pool The storage length is the same, and the storage length of consecutive storage areas in different storage pools is different;
  • Determining the minimum available contiguous storage area on the storage medium according to the length information includes: selecting, from the at least two storage pools, an available contiguous storage area having a storage length not less than a length of the Data streaming message As the minimum available contiguous storage area.
  • the determining, according to the length information, the minimum available contiguous storage area on the storage medium comprises: reserving storage in a circulating continuous storage space of the storage medium A contiguous storage area having a length not less than the length of the Data streaming message as the minimum available contiguous storage area.
  • the storage length of the storage medium is not less than the length of the Data streaming message.
  • the contiguous storage area includes: When the first fragment is received, the data stream message to which the first fragment belongs is used as the current packet, and at least the first address corresponding to the next packet in the cyclic continuous storage space is determined; the current packet The spatial interval between the corresponding first address and the first address corresponding to the next message is at least equal to the length of the Data streaming message.
  • the length of the data streaming packet is not less than the length of the data streaming packet.
  • the contiguous space, as the minimum available contiguous storage area further includes: changing the first address corresponding to the next text to the start of the circular contiguous storage space when the first address corresponding to the next suffix is located at the end of the circular contiguous storage space address.
  • the method further includes: marking, as the available state, the status of the contiguous storage area storing the processed Data streaming message.
  • the length of the data streaming message is not less than The contiguous storage area, as the minimum available contiguous storage area, further includes: when the first address corresponding to the next message is located at the end of the cyclic continuous storage space, the status is marked as available, and the storage length is not less than the data streaming message.
  • the starting address of the contiguous storage area is used as the first address corresponding to the next ciphertext.
  • a data packet processing apparatus including: an adding unit, configured to add length information of a Data streaming message to a first fragment by using a preset adding manner, and send the a first slice, so that the receiver obtains length information from the received first slice, and determines a minimum available continuous storage area on the storage medium according to the length information; the minimum available continuous storage area is used to store the Data All fragments of the streaming message.
  • the preset adding manner includes: storing the length information by using a high M bit or a low M bit of a logical layer field of the first fragment as a length field, where The value of M ranges from 0 to 16 or 0 to 8.
  • the logical layer field includes a stream number streamID field or a service level COS service level field.
  • the preset adding manner includes: storing the length information by using a high M bit or a low M bit of a field of a payload area of the first fragment as a length field. The M value ranges from 0 to 16 or 0 to 8.
  • the field of the payload area includes any one of a halfword hwordO field and a hwordl27 field.
  • the preset adding manner includes: adding an M bit length field in the first fragment to store the length information, where the M value ranges from 0 to 16 Or 0 to 8.
  • the length information is specifically a length quantization level corresponding to a length of the Data streaming message,
  • the difference between the quantized values between adjacent length quantization levels is a byte.
  • the first length quantization level is characterized.
  • the method further includes: a negotiating unit, configured to pre-negotiate the adding manner.
  • the adding unit is further configured to add an addition in the first fragment Mode field, the add mode field is used to store the added mode adopted.
  • a data message processing apparatus including a CPU and a memory, the CPU operating at least a software program stored in the memory and calling data stored in the memory Perform the following steps:
  • the length information of the Data streaming message is added to the first fragment by using a preset adding manner, and the first fragment is sent, so that the receiver obtains the length information from the received first fragment, and according to the length information, A minimum available contiguous storage area is determined on the storage medium;
  • the minimum available contiguous storage area is used to store all the shards of the Data streaming message.
  • the preset adding manner includes: storing, by using a high M bit or a low M bit of a logical layer field of the first fragment as the length field, the length information, where The value of M ranges from 0 to 16 or 0 to 8.
  • the logical layer field includes a stream number streamID field or a service level COS service level field.
  • the preset adding manner includes: storing the length information by using a high M bit or a low M bit of a field of a payload area of the first fragment as a length field.
  • the M value ranges from 0 to 16 or 0 to 8.
  • the field of the payload area includes any one of a halfword hwordO field and a hwordl27 field.
  • the preset adding manner includes: adding an M bit length field in the first fragment to store the length information, where the M value ranges from 0 to 16 Or 0 to 8.
  • the length information is specifically a length quantization level corresponding to a length of the Data streaming message, 65536
  • the difference between the quantized values between adjacent length quantization levels is 7 bytes.
  • the first length quantization level is characterized.
  • the fourth aspect, or the first possible implementation manner of the fourth aspect, or the second possible implementation manner of the fourth aspect, or the third possible implementation manner of the fourth aspect, or the fourth aspect Four possible implementations, or a fifth possible implementation of the fourth aspect, or a sixth possible implementation of the fourth aspect, or a seventh possible implementation of the fourth aspect, in the eighth In a possible implementation manner, the following steps are also performed: Pre-negotiating the adding method.
  • the following steps are also performed: pre-negotiating the adding mode.
  • a data packet processing apparatus including: a receiving module, configured to: when receiving a first fragment of a DataStream packet, obtain the The length information of the data streaming message, in the first fragment, the sender adds the length information of the Data streaming message by using a preset adding force port manner; the management module is configured to use the length information according to the length information And determining, by using a storage medium, a minimum available contiguous storage area, where the minimum available contiguous storage area is used to store all shards of the Data streaming message.
  • the management module is further configured to: pre-define at least two storage pools on a storage medium, where each storage pool includes at least one contiguous storage area, and the same storage pool The storage lengths of the contiguous storage areas are the same, and the storage lengths of the contiguous storage areas in different storage pools are different; the determining the minimum available contiguous storage area on the storage medium according to the length information includes: And selecting, from the at least two storage pools, an available continuous storage area whose storage length is not less than a length of the Data streaming message as the minimum available continuous storage area.
  • the determining, according to the length information, the minimum available contiguous storage area on the storage medium comprises: reserving storage in a circulating continuous storage space of the storage medium A contiguous storage area having a length not less than the length of the Data streaming message as the minimum available contiguous storage area.
  • the storage length of the storage medium is not less than the length of the Data streaming packet.
  • the contiguous storage area includes: when receiving the first shard, the data streaming message to which the first shard belongs belongs as the current packet, and at least determines that the next packet is in the The corresponding first address in the contiguous contiguous storage space; the spatial interval between the first address corresponding to the current message and the first address corresponding to the next message is at least equal to the length of the Data streaming message.
  • the length of the data streaming packet is not less than the length of the data streaming packet in the cyclic continuous storage space of the storage medium
  • the contiguous space, as the minimum available contiguous storage area further includes: changing the first address corresponding to the next text to the start of the circular contiguous storage space when the first address corresponding to the next suffix is located at the end of the circular contiguous storage space address.
  • the method further includes: an labeling unit, configured to mark a status of a contiguous storage area storing the processed Data streaming message as available .
  • the length of the data streaming packet is not less than the length of the data streaming packet in the cyclic continuous storage space of the storage medium
  • the contiguous storage area as the minimum available contiguous storage area, further includes: when the first address corresponding to the next message is located at the end of the cyclic continuous storage space, the status is marked as available, and the storage length is not less than the data streaming message.
  • the starting address of the contiguous storage area is used as the first address corresponding to the next ciphertext.
  • a data message processing apparatus including a CPU. And a memory, the CPU performing at least the following steps by running a software program stored in the memory and calling data stored in the memory:
  • the length information of the Data streaming packet is obtained from the first fragment, and the first fragment is added by the sender by using a preset adding manner.
  • the length information of the Data streaming message is determined.
  • a minimum available contiguous storage area is determined on the storage medium, and the minimum available contiguous storage area is used to store all the shards of the Data streaming message.
  • the following steps are further performed: pre-defining at least two storage pools on the storage medium, each storage pool including at least one contiguous storage area, and each continuous in the same storage pool
  • the storage length of the storage area is the same, and the storage length of the contiguous storage area in different storage pools is different.
  • the determining the minimum available contiguous storage area on the storage medium according to the length information includes:
  • the determining, according to the length information, the minimum available contiguous storage area on the storage medium comprises: reserving storage in a circulating continuous storage space of the storage medium A contiguous storage area having a length not less than the length of the Data streaming message as the minimum available contiguous storage area.
  • the reserved storage length in the cyclic continuous storage space of the storage medium is not less than the length of the Data streaming message.
  • the contiguous storage area includes: when receiving the first shard, the data streaming message to which the first shard belongs belongs as the current packet, and at least determines that the next packet is in the The corresponding first address in the contiguous contiguous storage space; the spatial interval between the first address corresponding to the current message and the first address corresponding to the next message is at least equal to the length of the Data streaming message. .
  • the contiguous space of the length of the data streaming packet is reserved in the contiguous contiguous storage space of the storage medium, and the minimum available contiguous storage area further includes: when the first address corresponding to the next suffix is located at the location When the tail of the continuous storage space is described, the first address corresponding to the next text is changed to the start address of the cyclic continuous storage space.
  • the following steps are performed: labeling a state of a contiguous storage area storing the processed Data streaming message as available.
  • the length of the data streaming packet is not less than a length of the data streaming packet.
  • the contiguous storage area as the minimum available contiguous storage area, further includes: when the first address corresponding to the next message is located at the end of the cyclic continuous storage space, the status is marked as available, and the storage length is not less than the data streaming message.
  • the starting address of the contiguous storage area is used as the first address corresponding to the next ciphertext.
  • a data message processing system comprising at least the data message processing apparatus according to any one of the third aspect to the ninth possible implementation manner of the third aspect, A data message processing apparatus according to any one of the fifth aspect to the fifth aspect of the fifth aspect.
  • the data message processing apparatus according to any one of the fourth aspect to the ninth possible implementation of the fourth aspect, and the sixth aspect to the sixth aspect A data message processing apparatus according to any of the six possible implementations. It can be seen that, in the embodiment of the present invention, the length of the Data streaming message is added in the first fragment, so that the receiver can obtain the Data streaming message when receiving the first fragment (ie, the first fragment).
  • FIG. 1 is a schematic diagram of an interaction process between a sender and a receiver according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of the occupation of a payload area field in a first fragment according to an embodiment of the present invention
  • FIG. 4 is a schematic diagram of adding a length information field in a first fragment according to an embodiment of the present invention
  • FIG. 6 is another flowchart of a data packet processing method according to an embodiment of the present invention.
  • Figure ⁇ is a schematic diagram of storing a Data streaming message by using a cyclic continuous storage space according to an embodiment of the present invention
  • FIG. 8 is a schematic structural diagram of a data packet processing apparatus according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic diagram of another structure of a data packet processing apparatus according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of another structure of a data packet processing apparatus according to an embodiment of the present invention.
  • FIG. 12 is a schematic diagram of another structure of a data packet processing apparatus according to an embodiment of the present invention;
  • FIG. 13 is another schematic structural diagram of a data packet processing apparatus according to an embodiment of the present invention.
  • Cos class of service, service level
  • SrcID source device ID, source device ID;
  • destID destination device ID, destination device ID;
  • VC virtual channel, virtual channel
  • CRF critical request flow, important request flow
  • Buffer buffer
  • DDR SDRAM Double Data Rate Synchronous Dynamic Random Access Memory, double rate synchronous dynamic random access memory
  • SRAM Static RAM, static random access memory
  • FLASH flash memory
  • SSD Solid State Disk, solid state drive
  • Hword halfword
  • RapidIO Fast Input and Output
  • RapidIO is a high performance, low pin count, packet-switched interconnect architecture that is an open interconnect technology standard designed to meet the needs of high performance embedded systems. RapidIO is mainly used for internal interconnection of embedded systems, supporting chip-to-chip and board-to-board communication, and can be used as a backplane connection for embedded devices.
  • the Data streaming mode is one.
  • Data streaming mode the maximum length supported by Data streaming packets is 64 KB.
  • the transmission is performed according to the slice granularity of 256B.
  • the inventors found that the message receiving side receives data sent by a plurality of devices.
  • the length of the Data streaming message is defined in the last fragment, which makes the receiver unable to obtain the length of the Data streaming packet when receiving the first fragment (ie, the first fragment). .
  • the receiver since the length of the Data streaming text can be 1 to 64 ⁇ , the receiver generally allocates a continuous storage area to store the message according to the maximum length (that is, 64 KB).
  • the embodiment of the present invention provides a data packet processing method, where the execution subject of the method is a sender, and the method includes the following steps:
  • the length of the Data streaming message is added to the first fragment by the preset addition method, and the first fragment is sent.
  • the receiving side obtains the length information from the received first fragment, and determines the minimum available continuous storage area on the storage medium according to the length information; the minimum available continuous storage area is used to store the data. That is, referring to Figure 1, the interaction process between the sender and the receiver is as follows:
  • the sender adds the length information of the Data streaming message to the first fragment and sends the first fragment by using a preset adding manner.
  • the receiver obtains length information from the received first fragment, and determines a minimum available continuous storage area on the storage medium according to the length information.
  • the length information reflects the length of the Data streaming message.
  • the length information of the Data streaming message is added in the first fragment, so that the receiver can obtain the length of the Data streaming message when receiving the first fragment (ie, the first fragment).
  • Information thereby determining a minimum available contiguous storage area on the storage medium based on the length information. Instead of allocating continuous storage area storage packets according to the maximum possible length, the storage resources are saved and the storage resources are wasted. There are several ways to add length information, which will be introduced one by one below.
  • the logical layer field of the multiplexed first fragment is used as the length field to store the length information of the Data streaming message.
  • the length information can be stored as the length field by the high M bit or the low M bit of the logical layer field.
  • the logical layer field of the above first fragment may include a streamID (stream number) field or a COS service level field.
  • a streamID field refers to the first fragment shown in FIG. 2.
  • the shaded part in FIG. 2 is the streamID field.
  • the high M bit of the streamID field is occupied as the length (length )
  • the remaining bits can be used for other purposes, such as representing a channel.
  • the above COS field has a bit length of 8 bits, and the streamID bit length is 16 bits. Therefore, such as multiplexing COS
  • the field can occupy up to 8 bits as the length field, and if the streamlD field is multiplexed, it can occupy up to 16 bits as the length field. That is, M ranges from 0 to 16 or 0 to 8. Considering the limited number of bits that can be occupied, the length value between 0-64KB can be quantized into a level.
  • the length information in all the foregoing embodiments may specifically be a length quantization level corresponding to the actual length of the Data streaming message.
  • "00000000” can be made to correspond to the first length quantization level, indicating that the length of the Data streaming message is between 0 and 256 bytes, so that "00000001" corresponds to the second length quantization level, indicating the Data streaming message.
  • the length is between 257 and 512 bytes, and so on; or, "00000001" to "11111111” can be used to correspond to the 1st to 255th length quantization levels, respectively, and the M bits in the length domain are all 0 (also That is, when 00000000 is taken, the 2Mth length quantization level (that is, the 256th length quantization level) is characterized.
  • the field of the payload area (payload) of the multiplexed first fragment is used as the length field to store the length information of the Data streaming file.
  • the payload area includes the hwordO field to the hwordl27 field.
  • Any field in the hwordO field to the hwordl27 field may be multiplexed as the length field to store the length information of the Data streaming message.
  • the length field is 16 bits. Therefore, the value of M is 0 to 16. Similar to the way of multiplexing logical layer fields, considering the limited bits that can be occupied, 0-64KB can be used.
  • 64KB 65536 bytes.
  • the placement position of the length information field can be flexibly designed by a person skilled in the art according to requirements. For example, referring to FIG. 4, the length information field may be located before the hwordO field, and of course, the length information field may also be located after the CRC field, etc., Do not repeat them. Similar to the way of multiplexing logical layer fields, considering the limited bits that can be occupied, 0-64KB can be used.
  • the length between 65536 is quantized to 2M levels, and the difference between the two adjacent quantization levels is 7 bytes.
  • the method of multiplexing the fields does not modify the format of the first fragment, and the method of adding the length information field modifies the format of the first fragment, and the header of the first fragment of the Data Streaming is expanded.
  • the following three methods are added.
  • Pre-negotiate the addition method in this step: Pre-negotiate the addition method.
  • the minimum available contiguous storage area is used to store all shards of Data streaming messages.
  • each storage pool includes at least one contiguous storage area (buffer area), and storage lengths of consecutive storage areas in the same storage pool are the same, and contiguous storage areas in different storage pools The storage length is not the same.
  • the above "determining the minimum available contiguous storage area on the storage medium according to the length information" may specifically include:
  • an available contiguous storage area whose storage length is not less than the length of the Data streaming message is selected as the smallest available contiguous storage area.
  • 1KB storage pool is 1KB buffer
  • 4KB storage pool is 4KB buffer
  • the length of the Data streaming message is 2 KB
  • the available buffer can be selected as the smallest available contiguous storage area from the 4 KB storage pool, the 16 KB storage pool, and the 64 KB storage pool.
  • the buffer in the 4KB storage pool is preferred. When the buffers in the 4KB storage pool are all used up, select the buffer in the 16KB storage pool.
  • the foregoing "selecting a contiguous storage area whose storage length is not less than the length of the Data streaming message from at least two storage pools as the minimum available contiguous storage area" may be further refined into :
  • the above receiving party may include a receiving module, a management module, and a storage medium.
  • the storage medium can also be independent of the recipient.
  • the storage medium may specifically be DDR SDRAM, SRAM, FLASH, SSD.
  • the storage medium is used to store messages.
  • the management module divides the buffer used to receive packets into the storage medium into several storage pools, for example, a 1 KB storage pool, a 4 KB storage pool, a 16 KB storage pool, and a 64 KB storage pool.
  • the workflow of the above modules is as follows:
  • the receiving module receives the data streaming message from the RapidIO interface.
  • the receiving module parses the length information of the data streaming message when receiving the first fragment of the data streaming message
  • the receiving module applies a buffer to the management module, and provides length information.
  • the management module outputs a buffer pointer (first address) that is minimum and not less than the length of the Data streaming message; that is, the management module allocates a minimum available buffer as the minimum available contiguous storage area to store the Data streaming message. For example, if the packet length is less than or equal to 1 KB, the buffer first address of 1 KB is output. If the packet length is greater than 1 KB and less than or equal to 4 KB, a buffer of 4 KB is output. If the packet length is greater than 4 KB and less than or equal to 16 KB, the output is output. 16KB buffer; if the packet length is greater than 16KB, it outputs a 64KB buffer.
  • a buffer pointer first address
  • the receiving module stores all fragments of the received Data streaming message into the minimum available buffer of the application. More specifically, in the present invention, when a non-first fragment is received, the non-first fragment is stored to store a minimum available contiguous storage area of the Data streaming message to which the non-first fragment belongs. It should be noted that since in the first method, N storage pools are pre-divided, in this case, the previously mentioned length quantization level can be improved accordingly. As described in the previous embodiment, the length value between 0-64 KB can be quantized into levels.
  • the length between 0 and 64 KB can be quantized into N levels, and N is equal to the number of storage pools. For example, if a 1 KB storage pool, a 4 KB storage pool, a 16 KB storage pool, and a 64 KB storage pool are divided, the length between 0 and 64 KB is quantized to 4 levels:
  • Level 1 the message length is less than or equal to 1KB
  • Level 2 the message length is greater than 1KB and less than or equal to 4KB; Level 3, the message length is greater than 4KB and less than or equal to 16KB; Level 4, the message length is greater than 16KB.
  • the buffer label status of the stored Data streaming message is available.
  • the data stream message is stored in a cyclic continuous storage space with a large storage capacity.
  • the storage capacity of the cyclic continuous storage space may be not less than 64 KB.
  • the storage capacity of the circular contiguous storage space can be calculated by:
  • the foregoing "determining the minimum available continuous storage area on the storage medium according to the length information" may specifically include:
  • a contiguous storage area whose storage length is not less than the length of the Data streaming message is reserved as the smallest available contiguous storage area.
  • the data streaming message to which the first fragment belongs is used as the current packet, and at least the corresponding first address of the next packet in the cyclic continuous storage area is determined.
  • the spatial interval between the first address corresponding to the current address and the first address corresponding to the next message is at least equal to the length of the current message.
  • a cyclic buffer with a sufficient storage length can be allocated as a cyclic continuous storage space to store all Data streaming messages. After receiving the first fragment of the Data streaming packet, the space reserved for receiving the data is parsed. The receiving start address of the next message moves backwards to the length of the current message.
  • the management module allocates a loop buffer, and configures the start address and length of the buffer to the receiving module;
  • the receiving module After receiving the first fragment of the Data streaming message, the receiving module calculates the receiving start address (ie, the first address) of the next message.
  • the continuous storage area between the current address corresponding to the current address and the first address corresponding to the next message is the smallest available continuous storage area. The reason for this is that the fragmentation of different DataStream packets may be interleaved. Therefore, the first address of the next packet should be calculated to prevent the fragmentation of the next packet from fragmenting the current packet. .
  • the receiving module stores all the fragments of the received Data streaming message into a minimum available contiguous storage area.
  • the receiving module may also provide the length information of the Data streaming message to the management module, and the management module calculates the receiving start address (ie, the first address) of the next message and outputs it to the receiving module, and the receiving module then receives the receiving message. All fragments of the Data streaming message are stored in the smallest available contiguous storage area. It should be noted that, after receiving the non-first fragment, the receiving module continues to store in the smallest available contiguous storage area that has been applied; if it is the first fragment, continue to calculate the next packet according to step (2). First address.
  • the first address of the next message is determined.
  • the previously determined next fragment is determined.
  • the first address of the message can be used as the first address of the Data streaming message B. Therefore, in this embodiment, it is generally not necessary to calculate the first address of the current packet, and only the first address of the next packet determined last time is used as the first address of the current packet. The first address of the current text will be determined unless: In the actual process, the calculated first address of the next message arrives at the end of the buffer.
  • the first address corresponding to the next message is changed to the start address of the cyclic continuous storage space when the first address corresponding to the next message is located at the end of the cyclic continuous storage space.
  • the first slice can be directly stored in the head of the circular continuous storage space.
  • the method may further include the step of: marking a state of storing a continuous storage area of the processed Data streaming message as available. In this way, it can be clarified which packets in the continuous storage area have been processed, and which of the consecutive storage areas has not been processed.
  • the status is marked as available, and the starting address of the contiguous storage area whose length is not less than the length of the Data streaming message is stored as the first address corresponding to the next message.
  • the embodiment of the present invention also provides a data packet processing apparatus.
  • the execution body of the data message processing method is the sender or the receiver.
  • the sender and the receiver are also introduced to the data message processing apparatus.
  • the data packet processing apparatus 800 can include at least: an adding unit 81, configured to use the preset adding manner to set the length information of the Data streaming message. The first fragment is added to the first fragment, and the first fragment is sent, so that the receiver obtains the length information from the received first fragment, and determines the minimum available continuous storage area on the storage medium according to the length information.
  • the data packet processing apparatus may further include a negotiating unit 82, configured to pre-negotiate the adding manner.
  • the above data message processing apparatus 800 may include a CPU 101 and a memory 102 on hardware.
  • the CPU 101 can at least perform the following steps by running the software program 103 stored in the memory 102 and calling the data stored in the memory 102:
  • the length of the Data streaming message is added to the first fragment by the preset addition method, and the first fragment is sent.
  • the foregoing memory may specifically be a DDR SDRAM, an SRAM, a FLASH, an SSD, etc., and mainly includes a program storage area and a data storage area, wherein the program storage area may store an operating system, and an application required for at least one function (for example, the above software program) 103) and the like; the data storage area may store data finally generated according to the execution condition of the CPU, and the intermediate data generated by the CPU in executing the above steps is stored in the memory.
  • the CPU 101 and the memory 102 can be integrated in the same chip, or can be two independent devices.
  • the data message processing apparatus 110 may further include: a receiving module 111, configured to: when receiving the first fragment of the Data streaming message, obtain the Data streaming message from the first fragment. Length information, in the first fragment, the sender adds the length information of the Data streaming message by using a preset adding manner; the management module 112 is configured to determine the minimum available continuous storage area on the storage medium according to the length information. . The minimum available contiguous storage area is used to store all the shards of the Data streaming message.
  • the management module 112 pre-defines at least two storage pools on the storage medium, each storage pool includes at least one contiguous storage area, and storage lengths of consecutive storage areas in the same storage pool are the same, and storage of contiguous storage areas in different storage pools The length is not the same.
  • determining the minimum available contiguous storage area on the storage medium according to the length information includes:
  • an available contiguous storage area whose storage length is not less than the length of the Data streaming message is selected as the smallest available contiguous storage area.
  • a contiguous storage area whose storage length is not less than the length of the Data streaming message is reserved as the smallest available contiguous storage area.
  • the data message processing apparatus 110 as the pick-up party may further include the above-mentioned negotiating unit 82 for negotiating the adding mode with the (negotiating unit) of the sender.
  • the above communication device 110 may include a CPU 121 and a memory 122 on hardware.
  • the CPU 121 can at least perform the following steps by running the software program 123 stored in the memory 122 and calling the data stored in the memory 122: when receiving the first fragment of the Data streaming packet, the first fragment is obtained from the first fragment. Length information of the data streaming message. The length information of the Data streaming message is added by the sender in the first fragment. Please refer to the above description for the addition method, length information, etc., and will not be described here. Based on the length information, a minimum available contiguous storage area is determined on the storage medium. Minimum available The contiguous storage area is used to store all the shards of the Data streaming message. There are a variety of ways to determine the minimum available contiguous storage area on the storage medium. For details, refer to the foregoing description, and no further details are provided herein.
  • the CPU 121 and the memory 122 can be integrated in the same chip, or can be two independent devices.
  • the CPU 121 may perform the following steps by running the software program 123 stored in the memory 122 and calling the data stored in the memory 122:
  • the continuous processing of the processed Data streaming message will be stored.
  • the status of the storage area is marked as available. In this way, when the first address corresponding to the next message is located at the end of the cyclic continuous storage space, the status can be marked as available, and the storage length is not less than the length of the Data streaming message, and the starting address of the continuous storage area is used as the next report.
  • the first address corresponding to the text is mapped to the data from the data streaming message.
  • the data message processing device may be a chip or an embedded device. In practical applications, chips and embedded devices act as senders in some cases and as receivers in some cases. Therefore, referring to FIG. 13, the actual data message processing apparatus may include at least: an adding unit 81, a receiving module 111, and a management module 112. In addition, a negotiation unit 82 can also be included. Or, from a hardware point of view, when acting as a sender, the CPU of the actual data message processing apparatus can execute the aforementioned executable by the sender by executing a software program stored in the memory and calling data stored in the memory. The related steps, while acting as a receiver, may perform the relevant steps performed by the recipient described herein.
  • a data message processing system i.e., the aforementioned embedded system
  • the above communication system includes at least two data message processing devices.
  • the various embodiments in the present specification are described in a progressive manner, and each embodiment focuses on differences from other embodiments, and the same similar parts between the various embodiments may be referred to each other.
  • the description is relatively simple, and the relevant parts can be referred to the method part for description. It should also be noted that, in this context, relational terms such as first and second, etc.
  • the present invention can be implemented by means of software plus necessary general hardware including general-purpose integrated circuits, general-purpose CPUs, general-purpose memories, general-purpose components, and the like.
  • general-purpose integrated circuits general-purpose CPUs
  • general-purpose memories general-purpose components
  • dedicated hardware including an application specific integrated circuit, a dedicated CPU, a dedicated memory, a dedicated component, etc., but in many cases, the former is a better implementation.
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product, which may be stored in a readable storage medium, such as a USB disk.
  • a computer device (which may be a personal computer, server, or network device, etc.) performs the methods of various embodiments of the present invention.
  • a computer device (which may be a personal computer, server, or network device, etc.) performs the methods of various embodiments of the present invention.
  • ROM read-only memory
  • RAM random access memory
  • disk or optical disk and other media that can store software program code, including a number of instructions to make
  • a computer device (which may be a personal computer, server, or network device, etc.) performs the methods of various embodiments of the present invention.
  • the above description of the embodiments provided is provided to enable a person skilled in the art to make or use the invention.
  • Various modifications to these embodiments are obvious to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited to the embodiments shown herein, but the scope of the invention is to be accorded

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了数据报文处理方法、数据报文处理装置及系统。上述数据报文处理方法包括:采用预设的添加方式将Data streaming报文的长度信息添加至首分片,并发送所述首分片,以便接收方从接收到的首分片中获取长度信息,并根据所述长度信息在存储介质上确定出最小可用连续存储区域;所述最小可用连续存储区域用于存储所述Data streaming报文的所有分片。在本发明实施例中,接收方在接收到首分片时就可获取报文的长度,从而根据该长度信息在存储介质上确定出最小可用连续存储区域。而不用按最大长度分配连续存储区域存储报文,从而节约了存储资源,避免了存储资源浪费。

Description

数据报文处理方法、 数据报文处理装置及系统
技术领域
本发明涉及数据处理技术领域, 更具体地说, 涉及数据报文处理方法、 数据报文处理装置及系统。 背景技术
RapidlO (快速输入输出)协议是为满足高性能嵌入式系统需求而设计的一 种开放式互连技术标准。 RapidlO主要应用场景为嵌入式系统内部互连, 支持 芯片到芯片、 板到板间的通讯。 在 RapidlO协议中定义了几种传输模式, Data streaming模式即为其一。 在 Data streaming模式中, Data streaming报文支持的最大长度为 64KB。在传输时, 按照 256B、 128B、 64B等的分片粒度进行传输。 在研发本发明的过程中, 发明人发现, 由于在 RapidlO协议中, 将 Data streaming报文的长度定义在最后一个分片中, 这使得接收方在接收到第一个 分片 (即首分片 ) 时还无法获取 Data streaming报文的长度。 又由于 Data streaming报文的长度可取 1〜64KB , 因此, 接收方一般就按最大长度(也即 64KB )分配连续存储区域存储报文。 这样一来, 即使大部分 Data streaming报 文都很小, 接收方也需要分配很多 64KB的连续存储区域, 造成了存储资源的 浪费。
发明内容
有鉴于此, 本发明实施例的目的在于提供数数据报文处理方法、 数据报 文处理装置及系统, 以解决上述问题。 为实现上述目的, 本发明实施例提供如下技术方案:
根据本发明实施例的第一方面, 提供一种数据报文处理方法, 包括: 采用预设的添加方式将 Data streaming报文的长度信息添加至首分片, 并 发送所述首分片, 以便接收方从接收到的首分片中获取长度信息, 并根据所 述长度信息在存储介质上确定出最小可用连续存储区域; 所述最小可用连续存储区域用于存储所述 Data streaming报文的所有分 片。 结合第一方面, 在第一种可能的实现方式中, 所述预设的添加方式包括: 将首分片的逻辑层字段的高 M位或低 M位作为长度域存储所述长度信 息, 所述 M取值范围为 0至 16或 0至 8。 结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述逻辑层字段包括流号 streamID字段或服务等级 COS服务等级字段。 结合第一方面, 在第三种可能的实现方式中, 所述预设的添加方式包括: 将首分片的有效载荷区的字段的高 M位或低 M位作为长度域存储所述长 度信息, 所述 M取值范围为 0至 16或 0至 8。 结合第一方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述有效载荷区的字段包括半字 hwordO字段至 hwordl27字段中的任一字段。 结合第一方面, 在第五种可能的实现方式中, 所述预设的添加方式包括: 在首分片中增加 M位长度域存储所述长度信息, 所述 M取值范围为 0至 16 或 0至 8。 结合第一方面的第一种可能的实现方式, 或第一方面的第二种可能的实 现方式, 或第一方面的第三种可能的实现方式, 或第一方面的第四种可能的 实现方式, 或第一方面的第五种可能的实现方式, 在第六种可能的实现方式 中, 所述长度信息具体为所述 Data streaming报文的长度对应的长度量化级,
65536
相邻长度量化级间的量化值差为 字节。 结合第一方面的第六种可能的实现方式, 在第七种可能的实现方式中, 所述长度域中的 M位全部取 0时, 表征第 个长度量化级。 结合第一方面, 或第一方面的第一种可能的实现方式, 或第一方面的第 二种可能的实现方式, 或第一方面的第三种可能的实现方式, 或第一方面的 第四种可能的实现方式, 或第一方面的第五种可能的实现方式, 或第一方面 的第六种可能的实现方式, 或第一方面的第七种可能的实现方式, 在第八种 可能的实现方式中还包括: 预先协商添加方式。
结合第一方面, 或第一方面的第一种可能的实现方式, 或第一方面的第 二种可能的实现方式, 或第一方面的第三种可能的实现方式, 或第一方面的 第四种可能的实现方式, 或第一方面的第五种可能的实现方式, 或第一方面 的第六种可能的实现方式, 或第一方面的第七种可能的实现方式, 在第一方 面的第九种可能的实现方式中, 还包括: 在首分片中增加添加方式字段, 所 述添加方式字段用于存储所采用的添加方式。 根据本发明实施例的第二方面, 提供一种数据报文处理方法, 包括: 当接收到 Data streaming才艮文的首分片时,从所述首分片中获取所述 Data streaming报文的长度信息, 所述首分片中由发送方采用预设的添加方式添加 了所述 Data streaming才艮文的长度信息; 根据所述长度信息, 在存储介质上确定出最小可用连续存储区域, 所述 最小可用连续存储区域用于存储所述 Data streaming报文的所有分片。
结合第二方面, 在第一种可能的实现方式中, 还包括: 预先在存储介质 上划分出至少两个存储池, 每一存储池包括至少一个连续存储区域, 同一存 储池中各连续存储区域的存储长度相同, 不同存储池中的连续存储区域的存 储长度不相同;
所述根据所述长度信息, 在存储介质上确定出最小可用连续存储区域包 括: 从所述至少两个存储池中, 选择出存储长度不小于所述 Data streaming报 文的长度的可用连续存储区域, 作为所述最小可用连续存储区域。
结合第二方面, 在第二种可能的实现方式中, 所述根据所述长度信息, 在存储介质上确定出最小可用连续存储区域包括: 在存储介质的循环连续存 储空间中,预留出存储长度不小于所述 Data streaming报文的长度的连续存储 区域, 作为所述最小可用连续存储区域。
结合第二方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述在存储介质的循环连续存储空间中, 预留出存储长度不小于所述 Data streaming报文的长度的连续存储区域,作为所述最小可用连续存储区域包括: 在接收到首分片时, 将所述首分片所属的 Data streaming报文作为当前报文, 至少确定出下一报文在所述循环连续存储空间中对应的首地址; 所述当前报 文对应的首地址与下一^艮文对应的首地址之间的空间间隔至少等于所述 Data streaming才艮文的长度。
结合第二方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述在存储介质的循环连续存储空间中, 预留出长度不小于所述 Data streaming报文的长度的连续空间, 作为最小可用连续存储区域还包括: 当下 一才艮文对应的首地址位于所述循环连续存储空间的尾部时, 将下一 文对应 的首地址更改为所述循环连续存储空间的起始地址。
结合第二方面的第三种可能的实现方式, 在第五种可能的实现方式中, 还包括: 将存储已处理完毕的 Data streaming报文的连续存储区域的状态标注 为可用。
结合第二方面的第五种可能的实现方式, 在第六种可能的实现方式中, 所述在存储介质的循环连续存储空间中, 预留出长度不小于所述 Data streaming报文的长度的连续存储区域, 作为最小可用连续存储区域还包括: 当下一报文对应的首地址位于所述循环连续存储空间的尾部时, 将状态标注 为可用, 并且存储长度不小于所述 Data streaming报文的长度的, 连续存储区 域的起始地址作为所述下一^艮文对应的首地址。 根据本发明实施例的第三方面, 提供一种数据报文处理装置, 包括: 添加单元, 用于采用预设的添加方式将 Data streaming报文的长度信息添 加至首分片, 并发送所述首分片, 以便接收方从接收到的首分片中获取长度 信息, 并根据所述长度信息在存储介质上确定出最小可用连续存储区域; 所述最小可用连续存储区域用于存储所述 Data streaming报文的所有分 片。
结合第三方面, 在第一种可能的实现方式中, 所述预设的添加方式包括: 将首分片的逻辑层字段的高 M位或低 M位作为长度域存储所述长度信 息, 所述 M取值范围为 0至 16或 0至 8。 结合第三方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述逻辑层字段包括流号 streamID字段或服务等级 COS服务等级字段。 结合第三方面, 在第三种可能的实现方式中, 所述预设的添加方式包括: 将首分片的有效载荷区的字段的高 M位或低 M位作为长度域存储所述长度信 息, 所述 M取值范围为 0至 16或 0至 8。 结合第三方面的第一种可能的实现方式, 在第四种可能的实现方式中, 所述有效载荷区的字段包括半字 hwordO字段至 hwordl27字段中的任一字段。 结合第三方面, 在第五种可能的实现方式中, 所述预设的添加方式包括: 在首分片中增加 M位长度域存储所述长度信息, 所述 M取值范围为 0至 16 或 0至 8。 结合第三方面的第一种可能的实现方式, 或第三方面的第二种可能的实 现方式, 或第三方面的第三种可能的实现方式, 或第三方面的第四种可能的 实现方式, 或第三方面的第五种可能的实现方式, 在第六种可能的实现方式 中, 所述长度信息具体为所述 Data streaming报文的长度对应的长度量化级,
65536
相邻长度量化级间的量化值差为 字节。 结合第三方面的第六种可能的实现方式, 在第七种可能的实现方式中, 所述长度域中的 M位全部取 0时, 表征第 个长度量化级。 结合第三方面, 或第三方面的第一种可能的实现方式, 或第三方面的第 二种可能的实现方式, 或第三方面的第三种可能的实现方式, 或第三方面的 第四种可能的实现方式, 或第三方面的第五种可能的实现方式, 或第三方面 的第六种可能的实现方式, 或第三方面的第七种可能的实现方式, 在第八种 可能的实现方式中, 还包括: 协商单元, 用于预先协商添加方式。 结合第三方面, 或第三方面的第一种可能的实现方式, 或第三方面的第 二种可能的实现方式, 或第三方面的第三种可能的实现方式, 或第三方面的 第四种可能的实现方式, 或第三方面的第五种可能的实现方式, 或第三方面 的第六种可能的实现方式, 或第三方面的第七种可能的实现方式, 在第三方 面的第九种可能的实现方式中, 所述添加单元还用于, 在首分片中增加添加 方式字段, 所述添加方式字段用于存储所采用的添加方式。 根据本发明实施例的第四方面, 提供一种数据报文处理装置, 包括 CPU 和存储器, 所述 CPU通过运行存储在所述存储器内的软件程序以及调用存储 在所述存储器内的数据, 至少执行如下步骤:
采用预设的添加方式将 Data streaming报文的长度信息添加至首分片, 并 发送所述首分片, 以便接收方从接收到的首分片中获取长度信息, 并根据所 述长度信息在存储介质上确定出最小可用连续存储区域;
所述最小可用连续存储区域用于存储所述 Data streaming报文的所有分 片。
结合第四方面, 在第一种可能的实现方式中, 所述预设的添加方式包括: 将首分片的逻辑层字段的高 M位或低 M位作为长度域存储所述长度信 息, 所述 M取值范围为 0至 16或 0至 8。
结合第四方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述逻辑层字段包括流号 streamID字段或服务等级 COS服务等级字段。
结合第四方面, 在第三种可能的实现方式中, 所述预设的添加方式包括: 将首分片的有效载荷区的字段的高 M位或低 M位作为长度域存储所述长度信 息, 所述 M取值范围为 0至 16或 0至 8。
结合第四方面的第一种可能的实现方式, 在第四种可能的实现方式中, 所述有效载荷区的字段包括半字 hwordO字段至 hwordl27字段中的任一字段。
结合第四方面, 在第五种可能的实现方式中, 所述预设的添加方式包括: 在首分片中增加 M位长度域存储所述长度信息, 所述 M取值范围为 0至 16 或 0至 8。
结合第四方面的第一种可能的实现方式, 或第四方面的第二种可能的实 现方式, 或第四方面的第三种可能的实现方式, 或第四方面的第四种可能的 实现方式, 或第四方面的第五种可能的实现方式, 在第六种可能的实现方式 中, 所述长度信息具体为所述 Data streaming报文的长度对应的长度量化级, 65536
相邻长度量化级间的量化值差为 7字节。 结合第四方面的第六种可能的实现方式, 在第七种可能的实现方式中, 所述长度域中的 M位全部取 0时, 表征第 个长度量化级。 结合第四方面, 或第四方面的第一种可能的实现方式, 或第四方面的第 二种可能的实现方式, 或第四方面的第三种可能的实现方式, 或第四方面的 第四种可能的实现方式, 或第四方面的第五种可能的实现方式, 或第四方面 的第六种可能的实现方式, 或第四方面的第七种可能的实现方式, 在第八种 可能的实现方式中, 还执行如下步骤: 预先协商添加方式。 结合第四方面, 或第四方面的第一种可能的实现方式, 或第四方面的第 二种可能的实现方式, 或第四方面的第三种可能的实现方式, 或第四方面的 第四种可能的实现方式, 或第四方面的第五种可能的实现方式, 或第四方面 的第六种可能的实现方式, 或第四方面的第七种可能的实现方式, 在第四方 面的第九种可能的实现方式中, 还执行如下步骤: 预先协商添加方式。 根据本发明实施例的第五方面, 提供一种数据报文处理装置, 至少包括: 接收模块, 用于当接收到 Data streaming报文的首分片时, 从所述首分片 中获取所述 Data streaming报文的长度信息, 所述首分片中由发送方采用预设 的添力口方式添力口了所述 Data streaming才艮文的长度信息; 管理模块, 用于根据所述长度信息, 在存储介质上确定出最小可用连续 存储区域, 所述最小可用连续存储区域用于存储所述 Data streaming报文的所 有分片。
结合第五方面, 在第一种可能的实现方式中, 所述管理模块还用于, 预 先在存储介质上划分出至少两个存储池, 每一存储池包括至少一个连续存储 区域, 同一存储池中各连续存储区域的存储长度相同, 不同存储池中的连续 存储区域的存储长度不相同; 所述根据所述长度信息, 在存储介质上确定出最小可用连续存储区域包 括: 从所述至少两个存储池中, 选择出存储长度不小于所述 Data streaming报 文的长度的可用连续存储区域, 作为所述最小可用连续存储区域。 结合第五方面, 在第二种可能的实现方式中, 所述根据所述长度信息, 在存储介质上确定出最小可用连续存储区域包括: 在存储介质的循环连续存 储空间中,预留出存储长度不小于所述 Data streaming报文的长度的连续存储 区域, 作为所述最小可用连续存储区域。 结合第五方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述在存储介质的循环连续存储空间中, 预留出存储长度不小于所述 Data streaming报文的长度的连续存储区域,作为所述最小可用连续存储区域包括: 在接收到首分片时, 将所述首分片所属的 Data streaming报文作为当前报文, 至少确定出下一报文在所述循环连续存储空间中对应的首地址; 所述当前报 文对应的首地址与下一^艮文对应的首地址之间的空间间隔至少等于所述 Data streaming才艮文的长度。 结合第五方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述在存储介质的循环连续存储空间中, 预留出长度不小于所述 Data streaming报文的长度的连续空间, 作为最小可用连续存储区域还包括: 当下 一才艮文对应的首地址位于所述循环连续存储空间的尾部时, 将下一 文对应 的首地址更改为所述循环连续存储空间的起始地址。 结合第五方面的第三种可能的实现方式, 在第五种可能的实现方式中, 还包括: 标注单元, 用于将存储已处理完毕的 Data streaming报文的连续存储 区域的状态标注为可用。 结合第五方面的第五种可能的实现方式, 在第六种可能的实现方式中, 所述在存储介质的循环连续存储空间中, 预留出长度不小于所述 Data streaming报文的长度的连续存储区域, 作为最小可用连续存储区域还包括: 当下一报文对应的首地址位于所述循环连续存储空间的尾部时, 将状态标注 为可用, 并且存储长度不小于所述 Data streaming报文的长度的, 连续存储区 域的起始地址作为所述下一^艮文对应的首地址。 根据本发明实施例的第六方面, 提供一种数据报文处理装置, 包括 CPU 和存储器, 所述 CPU通过运行存储在所述存储器内的软件程序以及调用存储 在所述存储器内的数据, 至少执行如下步骤:
当接收到 Data streaming才艮文的首分片时,从所述首分片中获取所述 Data streaming报文的长度信息, 所述首分片中由发送方采用预设的添加方式添加 了所述 Data streaming才艮文的长度信息; 根据所述长度信息, 在存储介质上确定出最小可用连续存储区域, 所述 最小可用连续存储区域用于存储所述 Data streaming报文的所有分片。 结合第六方面, 在第一种可能的实现方式中, 还执行如下步骤: 预先在 存储介质上划分出至少两个存储池, 每一存储池包括至少一个连续存储区域, 同一存储池中各连续存储区域的存储长度相同, 不同存储池中的连续存储区 域的存储长度不相同; 所述根据所述长度信息, 在存储介质上确定出最小可用连续存储区域包 括:
从所述至少两个存储池中, 选择出存储长度不小于所述 Data streaming报 文的长度的可用连续存储区域, 作为所述最小可用连续存储区域。 结合第六方面, 在第二种可能的实现方式中, 所述根据所述长度信息, 在存储介质上确定出最小可用连续存储区域包括: 在存储介质的循环连续存 储空间中,预留出存储长度不小于所述 Data streaming报文的长度的连续存储 区域, 作为所述最小可用连续存储区域。 结合第六方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述在存储介质的循环连续存储空间中, 预留出存储长度不小于所述 Data streaming报文的长度的连续存储区域,作为所述最小可用连续存储区域包括: 在接收到首分片时, 将所述首分片所属的 Data streaming报文作为当前报文, 至少确定出下一报文在所述循环连续存储空间中对应的首地址; 所述当前报 文对应的首地址与下一^艮文对应的首地址之间的空间间隔至少等于所述 Data streaming才艮文的长度。。 结合第六方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述在存储介质的循环连续存储空间中, 预留出长度不小于所述 Data streaming报文的长度的连续空间, 作为最小可用连续存储区域还包括: 当下 一才艮文对应的首地址位于所述循环连续存储空间的尾部时, 将下一 文对应 的首地址更改为所述循环连续存储空间的起始地址。 结合第六方面的第三种可能的实现方式, 在第五种可能的实现方式中, 还执行如下步骤: 将存储已处理完毕的 Data streaming报文的连续存储区域的 状态标注为可用。 结合第六方面的第五种可能的实现方式, 在第六种可能的实现方式中, 所述在存储介质的循环连续存储空间中, 预留出长度不小于所述 Data streaming报文的长度的连续存储区域, 作为最小可用连续存储区域还包括: 当下一报文对应的首地址位于所述循环连续存储空间的尾部时, 将状态标注 为可用, 并且存储长度不小于所述 Data streaming报文的长度的, 连续存储区 域的起始地址作为所述下一^艮文对应的首地址。 根据本发明实施例的第七方面, 提供一种数据报文处理系统, 至少包括 如第三方面至第三方面第九种可能的实现方式任一项所述的数据报文处理装 置, 以及, 如第五方面至第五方面第六种可能的实现方式任一项所述的数据 报文处理装置。 根据本发明实施例的第八方面, 至少包括如第四方面至第四方面第九种 可能的实现方式任一项所述的数据报文处理装置, 以及, 如第六方面至第六 方面第六种可能的实现方式任一项所述的数据报文处理装置。 可见,在本发明实施例中,将 Data streaming报文的长度添加在首分片中, 这使得接收方在接收到第一个分片 (即首分片 )时就可获取 Data streaming报 文的长度, 从而根据该长度信息在存储介质上确定出最小可用连续存储区域。 而不用如现有技术那样, 按最大长度分配连续存储区域存储报文, 从而节约 了存储资源, 避免了存储资源浪费。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面 描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。 图 1为本发明实施例提供的发送方和接收方的交互过程示意图;
图 3为本发明实施例提供的首分片中有效载荷区字段占用示意图; 图 4为本发明实施例提供的在首分片中添加长度信息字段示意图; 图 5为本发明实施例提供的数据报文处理方法流程图;
图 6为本发明实施例提供的数据报文处理方法另一流程图;
图 Ί为本发明实施例提供的利用循环连续存储空间来存储 Data streaming 报文的示意图;
图 8为本发明实施例提供的数据报文处理装置结构示意图;
图 9为本发明实施例提供的数据报文处理装置另一结构示意图; 图 10为本发明实施例提供的数据报文处理装置又一结构示意图; 图 11为本发明实施例提供的数据报文处理装置又一结构示意图; 图 12为本发明实施例提供的数据报文处理装置又一结构示意图; 图 13为本发明实施例提供的数据报文处理装置又一结构示意图。
具体实施方式 为了引用和清楚起见, 下文中使用的技术名词、 简写或缩写总结解释如 下:
Cos: class of service, 服务等级;
SrcID: source device ID , 源设备 ID;
destID: destination device ID, 目的设备 ID;
VC: virtual channel , 虚拟通道; CRF: critical request flow, 重要请求流;
Buffer: 緩冲区;
DDR SDRAM: Double Data Rate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器;
SRAM: Static RAM, 静态随机存储器;
FLASH: 闪存;
SSD: Solid State Disk, 固态硬盘; Hword: 半字。 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而 不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
RapidIO (快速输入输出)技术是一种高性能、 低引脚数、 基于数据包交换 的互连体系结构, 是为满足高性能嵌入式系统需求而设计的一种开放式互连 技术标准。 RapidIO主要应用于嵌入式系统内部互连, 支持芯片到芯片、 板到 板间的通讯, 可作为嵌入式设备的背板(Backplane )连接。
在 RapidIO协议中定义了几种传输模式, Data streaming模式即为其一。 在 Data streaming模式中, Data streaming报文支持的最大长度为 64KB。在传输时, 按照 256B的分片粒度进行传输。 在研发本发明的过程中, 发明人发现, 报文接收侧会收到多个器件发过 来的数据。 由于在 RapidIO协议中, 将 Data streaming报文的长度定义在最后一 个分片中, 这使得接收方在接收到第一个分片(即首分片)时还无法获取 Data streaming才艮文的长度。 又由于 Data streaming才艮文的长度可取 1〜64ΚΒ , 因此, 接收方一般就按最大长度(也即 64KB )分配连续存储区域存储报文。 这样一 来, 即使大部分 Data streaming报文都很小, 接收方也需要分配很多 64KB的连 续存储区域, 造成了存储资源的浪费。 为解决上述问题, 本发明实施例提供一种数据报文处理方法, 该方法的 执行主体为发送方, 其至少包括如下步骤:
采用预设的添加方式将 Data streaming报文的长度信息添加至首分片, 并 发送首分片。 以便接收方从接收到的首分片中获取长度信息, 并根据长度信 息在存储介质上确定出最小可用连续存储区域; 上述最小可用连续存储区域 用于存 4诸 Data streaming才艮文。 也即, 参见图 1 , 发送方和接收方的交互过程如下:
S 1、发送方采用预设的添加方式将 Data streaming报文的长度信息添加至 首分片, 并发送首分片。
S2、 接收方从接收到的首分片中获取长度信息, 并根据长度信息在存储 介质上确定出最小可用连续存储区域。
上述长度信息反映了 Data streaming报文的长度。 在本发明实施例中, 将 Data streaming报文的长度信息添加在首分片中, 这使得接收方在接收到第一 个分片 (即首分片 )时就可获取 Data streaming报文的长度信息, 从而根据该 长度信息在存储介质上确定出最小可用连续存储区域。 而不用像现有技术那 样, 按最大可能的长度分配连续存储区域存储报文, 从而节约了存储资源, 避免了存储资源浪费。 添加长度信息的方式有多种, 下面将一一进行介绍。
一, 复用首分片的逻辑层字段作为长度域来存储 Data streaming报文的长 度信息。
换句话说,可将逻辑层字段的高 M位或低 M位作为长度域存储上述长度 信息。
上述首分片的逻辑层字段可包括 streamID (流号 )字段或 COS服务等级 字段。 以 streamID字段为例, 请参见图 2所示的首分片, 图 2中的阴影部分 为 streamID字段,在图 2所示的首分片中, 占用了 streamID字段的高 M位作 为长度(length )域, 剩余位可作其他用途, 如表示通道。
上述 COS字段位长为 8bit, streamID位长则为 16bit。 因此, 如复用 COS 字段, 最多可占用 8位作为长度域, 而如复用 streamlD字段, 最多可占用 16 位作为长度域。 也即, M取值范围为 0至 16或 0至 8。 考虑到可占用的位有限,可将 0-64KB间的长度取值量化为 个等级,相
65536
邻两量化级间的量化值差为 ^「字节 (64KB=65536字节)。 以 M=8为例, 则相邻两量化级间的量化值差为 65536/28 = 256字节 (byte )。 而如取 M=16, 则 相邻两量化级间的量化值差为 65536/216 = 1byte。 上述 M位中的任意一位的取值可为 0或者 1。 而长度域中的 M位不同的 取值组合,可对应不同的长度量化级。仍以 M=8为例, "00000000,,至" 11111111" 为 256个不同的取值组合, 可对应 256个长度量化级。 因此, 上述所有实施 例中的长度信息具体可为 Data streaming报文的实际长度对应的长度量化级。 在具体实施时, 可令" 00000000"对应第 1 个长度量化级, 表示 Data streaming报文的长度介于 0至 256byte之间,令" 00000001"对应第 2个长度量 化级, 表示 Data streaming报文的长度介于 257至 512byte之间, 以此类推; 或者, 也可令 "00000001"至" 11111111"分别对应第 1至第 255长度量化级, 而 在长度域中的 M位全部取 0 (也即取 00000000 )时, 表征第 2M个长度量化级 (也即第 256个长度量化级)。 二, 复用首分片的有效载荷区 (payload ) 的字段作为长度域存储 Data streaming 4艮文的长度信息。 有效载荷区包括 hwordO字段至 hwordl27字段。 可复用 hwordO字段至 hwordl27字段中的任一字段作为长度域存储 Data streaming报文的长度信息。 例如, 参见图 3所示的首分片, 即复用 hword2字段作为长度域。 换句话说,可将 hwordO字段至 hwordl27任一字段中的高 M位或低 M位 作为长度(length )域, 剩余位可作其他用途, 如存储有效载荷数据。 hwordO 字段至 hwordl27字段中任一字段的长度为 16bit, 因此, M的取值为 0至 16。 与复用逻辑层字段的方式相类似, 考虑到可占用的位有限, 可将 0-64KB
65536 间的长度取值量化为 2M个等级, 相邻两量化级间的量化值差为 字节 ( 64KB=65536字节)。 具体内容可参见本文前述记载, 在此不作贅述。 三, 在首分片中增加 Μ位长度域存储 Data streaming报文的长度信息。 长度信息字段的安置位置可由本领域技术人员根据需要进行灵活设计, 例如, 请参见图 4, 长度信息字段可位于 hwordO字段之前, 当然, 长度信息 字段可也位于 CRC字段之后, 等等, 在此不作贅述。 与复用逻辑层字段的方式相类似, 考虑到可占用的位有限, 可将 0-64KB
65536 间的长度取值量化为 2M个等级, 相邻两量化级间的量化值差为 7字节
( 64ΚΒ=65536字节)。 具体内容可参见本文前述记载, 在此不作贅述。 需要说明的是, 复用字段的方式并未修改首分片的格式, 而添加长度信 息字段的方式则修改了首分片的格式,对 Data Streaming首分片的头进行了扩 展。 本文上述一并介绍了三种添加方式, 为了明确采用哪种添加方式, 在本 骤: 预先协商添加方式。 或者, 也可在首分片中增加添加方式字段, 该字段用于存储所采用的添 加方式。 或者复用首分片中的某一字段作为添加方式字段, 以存储所采用的 添力口方式。 例如, 以 "00" 表示复用首分片的逻辑层字段, 以 "01 " 表示复用首分 片的有效载荷区的字段, 以 " 10" 表示增加 M位长度域等等。 或者, 出厂时, 即设定仅采用其中一种添加方式, 这样就不用协商添加 方式, 也不用借助添加方式字段。 在介绍完发送方后, 下述将以接收方为执行主体, 继续对本发明实施例 进行介绍。 参见图 5 , 对于发送方而言, 其所执行的步骤至少如下:
S51、 当接收到 Data streaming报文的首分片时, 从首分片中获取 Data streaming才艮文的长度信息。 其中, 首分片中由发送方采用预设的添加方式添加了 Data streaming报文 的长度信息。 关于添加方式、 长度信息等内容请参见本文前述记载, 在此不 作赘述。
S52、 根据长度信息, 在存储介质上确定出最小可用连续存储区域。
最小可用连续存储区域用于存储 Data streaming报文的所有分片。
如何在存储介质上确定出最小可用连续存储区域有多种方式, 本文将介 绍两种方式。 方式一:
预先在存储介质上划分出至少两个存储池, 每一存储池包括至少一个连 续存储区域(緩存区), 同一存储池中各连续存储区域的存储长度相同, 不同 存储池中的连续存储区域的存储长度不相同。 而上述 "根据长度信息, 在存储介质上确定出最小可用连续存储区域" 可具体包括:
从至少两个存储池中, 选择出存储长度不小于 Data streaming报文的长度 的可用连续存储区域, 作为最小可用连续存储区域。
例如,可划分出 1KB存储池、 4KB存储池、 16KB存储池、 64KB存储池, 其中, 1KB存储池中均为 1KB的 buffer, 4KB存储池中均为 4KB的 buffer, 以此类推。假定, Data streaming报文的长度为 2KB,则可从 4KB存储池、 16KB 存储池、 64KB存储池中任选可用 buffer作为最小可用连续存储区域。 考虑到 存储资源浪费的问题, 优先选择 4KB存储池中的 buffer。 当 4KB存储池中的 buffer全部用完时 , 再选择 16KB存储池中的 buffer。
因此, 在本发明其他实施例中, 上述 "从至少两个存储池中, 选择出存 储长度不小于 Data streaming报文的长度的可用连续存储区域, 作为最小可用 连续存储区域" 可进一步细化为:
从至少两个存储池中, 选择出存储长度不小于 Data streaming报文的长度 的可用 buffer作为侯选 buffer; 从侯选 buffer中选择出存储长度最小的 buffer作为最小可用连续存储区 域。 举个更具体的例子, 参见图 6, 上述接收方可包括接收模块、 管理模块和 存储介质 ( memory )。 当然, 存储介质 ( memory )也可独立于接收方之外。 存储介质 ( memory )具体可为 DDR SDRAM、 SRAM, FLASH, SSD。 存储介质用于存储报文。 管理模块将存储介质中用于接收报文的 buffer, 按大小分成几个存储池, 例如分成 1KB存储池、 4KB存储池、 16KB存储池、 64KB存储池。 上述几模块的工作流程如下:
S61、 接收模块从 RapidIO接口收到 Data streaming报文;
562、 接收模块在收到某 Data streaming报文的首分片时, 解析出其长度 信息;
563、 接收模块向管理模块申请 buffer, 并提供长度信息;
564、 管理模块输出一个最小的、 且不小于该 Data streaming报文长度的 buffer指针(首地址); 也即, 管理模块分配一个最小可用 buffer作为最小可 用连续存储区域来存储该 Data streaming报文。 举例来讲, 如报文长度小于等于 1KB, 则输出 1KB的 buffer首地址; 如 果报文长度大于 1KB且小于等于 4KB, 则输出 4KB的 buffer; 如果报文长度 大于 4KB且小于等于 16KB,则输出 16KB的 buffer;如果报文长度大于 16KB, 则输出 64KB的 buffer。
565、 接收模块将接收的该 Data streaming报文的所有分片存储到申请的 最小可用 buffer中。 更具体的, 在本发明中, 在接收到非首分片时, 将非首分片存储至, 用 于存储非首分片所属 Data streaming报文的最小可用连续存储区域。 需要说明的是, 由于在方式一中, 预先划分出了 N个存储池, 在此情况 下, 之前提及长度量化级也可随之进行改进。 在之前的实施例中介绍了 , 可将 0-64KB间的长度取值量化为 个等级,
65536
相邻两量化级间的量化值差为 ^「字节(64KB=65536字节)。 而在本实施例 中, 可将 0-64KB间的长度取值量化为 N个等级, N与存储池的个数相等。 举例来讲 , 如划分出 1 KB存储池、 4KB存储池、 16KB存储池和 64KB存储 池, 则将 0-64KB间的长度取值量化为 4个等级:
等级 1 , 报文长度小于等于 1KB;
等级 2 , 报文长度大于 1KB且小于等于 4KB; 等级 3 , 报文长度大于 4KB且小于等于 16KB; 等级 4 , 报文长度大于 16KB。
这样, 只要占用 2bit就可表示 4个等级来传递长度信息了。
更进一步的, 在本发明其他实施例中, 还可包括如下步骤:
对存储已处理完毕的 Data streaming报文的 buffer标注状态为可用。
这样, 即可明确哪一 buffer中的报文已处理完毕,哪一 buffer中的报文还 未处理完毕, 管理模块在分配时, 只分配状态标注为可用的 buffer, 以防止未 处理完的报文被新报文覆盖。 方式二:
采用存储容量足够大的循环连续存储空间存储 Data streaming报文。
在具体实现时, 循环连续存储空间的存储容量可不小于 64KB。
或者, 循环连续存储空间的存储容量可通过下式计算:
([At x S/64 + l) x 64 ^ 其中, 表示两次读处理的最大时间间隔(单位可为 秒), S表示流量(单位可为 KB/秒), 「·]表示向上取整。 基于上述连续存储区域, 上述 "根据长度信息, 在存储介质上确定出最 小可用连续存储区域" 可具体包括:
在存储介质的循环连续存储空间中, 预留出存储长度不小于 Data streaming报文的长度的连续存储区域, 作为最小可用连续存储区域。
而进一步的, "在存储介质的循环连续存储空间中, 预留出存储长度不小 于 Data streaming报文的长度的连续存储区域, 作为最小可用连续存储区域" 的具体实现方式可为:
在接收到首分片时,将首分片所属的 Data streaming报文,作为当前报文, 至少确定出下一报文在循环连续存储区域中对应的首地址。
当前才艮文对应的首地址与下一才艮文对应的首地址的空间间隔至少等于当 前报文的长度。 请参见图 7,可分配一个存储长度足够大的循环 buffer作为循环连续存储 空间来存储所有的 Data streaming报文,在收到 Data streaming报文首分片后, 解析预留出接收的空间, 将下一次报文的接收起始地址向后移动当前报文的 长度。 其具体流程如下:
( 1 ), 管理模块分配一个循环 buffer, 并将 buffer的起始地址和长度配置 给接收模块;
( 2 ), 接收模块在接收到 Data streaming报文首分片后, 计算好下一个报 文的接收起始地址(也即首地址)。 当前^艮文对应的首地址与下一^艮文对应的首地址之间的连续存储区域即 为最小可用连续存储区域。 这样做的原因是,不同 Data streaming报文的分片可能是间插接收下来的, 因此要计算好下一个报文的首地址, 以免下一个报文的分片将当前报文的分 片覆盖。
( 3 ),接收模块将接收的该 Data streaming报文的所有分片存储到最小可 用连续存储区域中。 或者,也可由接收模块将 Data streaming报文的长度信息提供给管理模块, 由管理模块计算好下一个报文的接收起始地址(也即首地址) 并输出给接收 模块,接收模块然后将接收的该 Data streaming报文的所有分片存储到最小可 用连续存储区域中。 需要说明的是, 接收模块收到非首分片后, 就在已申请的最小可用连续 存储区域中继续往后存放; 如果是首分片, 则按照步骤(2 )继续计算下一报 文的首地址。 进一步需要说明的是,假定接收到 Data streaming报文 A的首分片, 则会 确定下一报文的首地址, 当 Data streaming报文 B的首分片接收到时, 之前所 确定的下一报文的首地址, 即可作为 Data streaming报文 B的首地址。 因此, 在本实施例中, 一般并不需要计算当前报文的首地址, 只需要把上一次确定 出的下一报文的首地址作为当前报文的首地址即可。 除非下述情况将会确定 当前 文的首地址: 在实际过程中, 会遇到计算出的下一报文的首地址到达 buffer尾部的情 况。之后, 再接收到某一 Data streaming才艮文的首分片, 并将该 Data streaming 报文作为当前报文时, 由于上一次确定出的下一报文的首地址已到达 buffer 尾部, 因此, 将当前报文的首地址更改为 buffer 的起始地址, 之后, 再确定 下一 文的首地址。 如此, 从头开始, 一直循环。 或者也可以这样: 当下一报文对应的首地址位于循环连续存储空间的尾 部时, 将下一 文对应的首地址更改为循环连续存储空间的起始地址。 之后, 再接收首分片时, 就可直接将首分片存储到循环连续存储空间的头部了。 或者, 在本发明其他实施例中, 还可包括如下步骤: 将存储已处理完毕的 Data streaming报文的连续存储区域的状态标注为可 用。 这样, 即可明确哪一连续存储区域中的报文已处理完毕, 哪一连续存储 区域中的报文还未处理完毕, 当下一报文对应的首地址位于连续存储区域的 尾部时, 可将状态标注为可用, 并且存储长度不小于 Data streaming报文的长 度的连续存储区域的起始地址, 作为下一报文对应的首地址。
与方法相对应, 本发明实施例还欲提供数据报文处理装置。 前述提及, 数据报文处理方法的执行主体为发送方或接收方。 这里也分发送方和接收方 对数据报文处理装置进行介绍。 在作为发送方时, 参见图 8, 数据报文处理装置 800至少可包括: 添加单元 81 ,用于采用预设的添加方式将 Data streaming报文的长度信息 添加至首分片, 并发送首分片, 以便接收方从接收到的首分片中获取长度信 息, 并根据长度信息在存储介质上确定出最小可用连续存储区域。
预设的添加方式的相关介绍请参见本文前述方法的介绍, 在此不作贅述。 在本发明其他实施例中, 参见图 9, 上述数据报文处理装置还可包括协商 单元 82, 用于预先协商添加方式。
参见图 10, 上述数据报文处理装置 800在硬件上可包括 CPU101和存储 器 102。 其中, CPU101通过运行存储在存储器 102内的软件程序 103以及调 用存储在存储器 102内的数据, 至少可执行如下步骤:
采用预设的添加方式将 Data streaming报文的长度信息添加至首分片, 并 发送首分片。 预设的添加方式的相关介绍请参见本文前述方法的介绍, 在此不作贅述。 上述存储器具体可为 DDR SDRAM、 SRAM, FLASH, SSD等, 其主要 包括程序存储区和数据存储区, 其中, 程序存储区可存储操作系统, 以及至 少一个功能所需的应用程序(例如上述软件程序 103 )等; 数据存储区可存储 根据 CPU的执行情况而最终产生的数据,至于 CPU在执行上述步骤所产生的 中间数据, 则存储在内存中。
需要说明的是, CPU101和存储器 102可集成于同一芯片内, 也可为独立 的两个器件。 在作为接送方时, 参见图 11 , 数据报文处理装置 110至少可包括: 接收模块 111 , 用于当接收到 Data streaming报文的首分片时, 从首分片 中获取 Data streaming报文的长度信息, 首分片中由发送方采用预设的添加方 式添力口了 Data streaming才艮文的长度信息; 管理模块 112, 用于根据长度信息, 在存储介质上确定出最小可用连续存 储区域。 该最小可用连续存储区域用于存储所述 Data streaming报文的所有分 片。
如何在存储介质上确定出最小可用连续存储区域有多种方式。 本文将介 绍两种方式。 方式一:
管理模块 112预先在存储介质上划分出至少两个存储池, 每一存储池包 括至少一个连续存储区域, 同一存储池中各连续存储区域的存储长度相同, 不同存储池中的连续存储区域的存储长度不相同。
例如,可划分出 1KB存储池、 4KB存储池、 16KB存储池、 64KB存储池, 其中, 1KB存储池中均为 1KB的 buffer, 4KB存储池中均为 4KB的 buffer, 以此类推。 而上述 "根据所述长度信息, 在存储介质上确定出最小可用连续存储区 域" 包括:
从至少两个存储池中, 选择出存储长度不小于 Data streaming报文的长度 的可用连续存储区域, 作为最小可用连续存储区域。
具体细节可参见本文前述记载, 在此不作贅述。 方式二:
在存储介质的循环连续存储空间中, 预留出存储长度不小于 Data streaming报文的长度的连续存储区域, 作为最小可用连续存储区域。
具体细节可参见本文前述记载, 在此不作贅述。
在介绍接收方时, 曾提及其可包括协商单元 82, 用于预先协商添加方式。 与之相对应, 在本发明其他实施例中, 作为接送方的数据报文处理装置 110 也可包括上述协商单元 82, 用于与发送方 (的协商单元)协商添加方式。
参见图 12,上述通信装置 110在硬件上可包括 CPU121和存储器 122。其 中, CPU121通过运行存储在存储器 122内的软件程序 123以及调用存储在存 储器 122内的数据, 至少可执行如下步骤: 当接收到 Data streaming才艮文的首分片时,从首分片中获取 Data streaming 报文的长度信息。 其中, 首分片中由发送方采用预设的添加方式添加了 Data streaming报文的长度信息。 关于添加方式、 长度信息等内容请参见本文前述 记载, 在此不作贅述。 根据长度信息, 在存储介质上确定出最小可用连续存储区域。 最小可用 连续存储区域用于存储 Data streaming报文的所有分片。 如何在存储介质上确定出最小可用连续存储区域有多种方式, 具体细节 请参见本文前述记载, 在此不作贅述。
同理, CPU121和存储器 122可集成于同一芯片内, 也可为独立的两个器 件。 此外, 在本发明其他实施例中, 上述 CPU121通过运行存储在存储器 122 内的软件程序 123以及调用存储在存储器 122内的数据还可执行如下步骤: 将存储已处理完毕的 Data streaming报文的连续存储区域的状态标注为可 用。 这样, 当下一报文对应的首地址位于循环连续存储空间的尾部时, 可将 状态标注为可用, 并且存储长度不小于 Data streaming报文的长度的, 连续存 储区域的起始地址作为下一报文对应的首地址。 需要说明的是, 数据报文处理装置可为芯片、 嵌入式设备。 在实际应用 中, 芯片、 嵌入式设备在某些情况下作为发送方, 在某些情况下则作为接收 方。 因此, 参见图 13 , 实际的数据报文处理装置至少可包括: 添加单元 81 , 接收模块 111和管理模块 112。 此外, 还可包括协商单元 82。 或者, 从硬件的角度上说, 在作为发送方时, 实际的数据报文处理装置 的 CPU通过运行存储在存储器内的软件程序以及调用存储在存储器内的数 据, 可执行前述发送方可执行的相关步骤, 而作为接收方时, 则可执行本文 前述的接收方可执行的相关步骤。 与上述方法和装置相对应, 在本发明其他实施例中, 还要求保护数据报 文处理系统(也即前述的嵌入式系统)。 上述通信系统包括至少两个数据报文 处理装置。 数据报文处理装置的结构可参见本文前述记载, 在此不作贅述。 本说明书中各个实施例采用递进的方式描述, 每个实施例重点说明的都 是与其他实施例的不同之处, 各个实施例之间相同相似部分互相参见即可。 对于实施例提供的装置而言, 由于其与实施例提供的方法相对应, 所以描述 的比较简单, 相关之处参见方法部分说明即可。 还需要说明的是, 在本文中, 诸如第一和第二等之类的关系术语仅仅用 来将一个实体或者操作与另一个实体或操作区分开来, 而不一定要求或者暗 示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语"包括"、 "包含"或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要 素的过程、 方法、 物品或者设备不仅包括那些要素, 而且还包括没有明确列 出的其他要素, 或者是还包括为这种过程、 方法、 物品或者设备所固有的要 素。 在没有更多限制的情况下, 由语句 "包括一个 ...... "限定的要素, 并不排除 在包括所述要素的过程、 方法、 物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述, 所属领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件的方式来实现, 通用硬件包括通用集成电 路、 通用 CPU、 通用存储器、 通用元器件等, 当然也可以通过专用硬件包括 专用集成电路、 专用 CPU、 专用存储器、 专用元器件等来实现, 但艮多情况 下前者是更佳的实施方式。 基于这样的理解, 本发明的技术方案本质上或者 说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软 件产品可以存储在可读取的存储介质中, 如 u盘、 移动存储介质、 只读存储 器(ROM, Read-Only Memory ), 随机存取存储器(RAM, Random Access Memory ), 磁碟或者光盘等各种可以存储软件程序代码的介质, 包括若干指 令用以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等) 执行本发明各个实施例的方法。 对所提供的实施例的上述说明, 使本领域专业技术人员能够实现或使用 本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易 见的, 本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下, 在其它实施例中实现。 因此, 本发明将不会被限制于本文所示的这些实施例, 而是要符合与本文所提供的原理和新颖特点相一致的最宽的范围。

Claims

权利要求 书
1、 一种数据报文处理方法, 其特征在于, 包括:
采用预设的添加方式将 Data streaming报文的长度信息添加至首分片, 并 发送所述首分片, 以便接收方从接收到的首分片中获取长度信息, 并根据所 述长度信息在存储介质上确定出最小可用连续存储区域;
所述最小可用连续存储区域用于存储所述 Data streaming报文的所有分 片。
2、 如权利要求 1所述的方法, 其特征在于, 所述预设的添加方式包括: 将首分片的逻辑层字段的高 M位或低 M位作为长度域存储所述长度信 息, 所述 M取值范围为 0至 16或 0至 8。
3、 如权利要求 2所述的方法, 其特征在于: 所述逻辑层字段包括流号 streamID字段或服务等级 COS服务等级字段。
4、 如权利要求 1所述的方法, 其特征在于: 所述预设的添加方式包括: 将首分片的有效载荷区的字段的高 M位或低 M位作为长度域存储所述长 度信息, 所述 M取值范围为 0至 16或 0至 8。
5、 如权利要求 4所述的方法, 其特征在于:
所述有效载荷区的字段包括半字 hwordO字段至 hwordl27字段中的任一 字段。
6、 如权利要求 1所述的方法, 其特征在于, 所述预设的添加方式包括: 在首分片中增加 M位长度域存储所述长度信息, 所述 M取值范围为 0 至 16或 0至 8。
7、 如权利要求 2 - 6任一项所述的方法, 其特征在于: 所述长度信息具体为所述 Data streaming报文的长度对应的长度量化级,
65536
相邻长度量化级间的量化值差为 7字节。
8、如权利要求 7所述的方法, 其特征在于, 所述长度域中的 M位全部取 0时, 表征第 个长度量化级。
9、 如权利要求 1 - 8任一项所述的方法, 其特征在于, 还包括: 预先协商添加方式。
10、 如权利要求 1 - 8任一项所述的方法, 其特征在于, 还包括: 在首分片中增加添加方式字段, 所述添加方式字段用于存储所采用的添 力口方式。
11、 一种数据报文处理方法, 其特征在于, 包括: 当接收到 Data streaming才艮文的首分片时,从所述首分片中获取所述 Data streaming报文的长度信息, 所述首分片中由发送方采用预设的添加方式添加 了所述 Data streaming才艮文的长度信息; 根据所述长度信息, 在存储介质上确定出最小可用连续存储区域, 所述 最小可用连续存储区域用于存储所述 Data streaming报文的所有分片。
12、 如权利要求 11所述的方法, 其特征在于:
所述方法还包括: 预先在存储介质上划分出至少两个存储池, 每一存储 池包括至少一个连续存储区域, 同一存储池中各连续存储区域的存储长度相
所述根据所述长度信息, 在存储介质上确定出最小可用连续存储区域包 从所述至少两个存储池中, 选择出存储长度不小于所述 Data streaming报 文的长度的可用连续存储区域, 作为所述最小可用连续存储区域。
13、 如权利要求 11所述的方法, 其特征在于:
所述根据所述长度信息, 在存储介质上确定出最小可用连续存储区域包 括:
在存储介质的循环连续存储空间中, 预留出存储长度不小于所述 Data streaming报文的长度的连续存储区域, 作为所述最小可用连续存储区域。
14、 如权利要求 13所述的方法, 其特征在于:
所述在存储介质的循环连续存储空间中, 预留出存储长度不小于所述 Data streaming报文的长度的连续存储区域, 作为所述最小可用连续存储区域 包括:
在接收到首分片时, 将所述首分片所属的 Data streaming报文作为当前报 文, 至少确定出下一报文在所述循环连续存储空间中对应的首地址;
所述当前^艮文对应的首地址与下一^艮文对应的首地址之间的空间间隔至 少等于所述 Data streaming才艮文的长度。
15、 如权利要求 14所述的方法, 其特征在于, 所述在存储介质的循环连 续存储空间中,预留出长度不小于所述 Data streaming报文的长度的连续空间, 作为最小可用连续存储区域还包括:
当下一报文对应的首地址位于所述循环连续存储空间的尾部时, 将下一 才艮文对应的首地址更改为所述循环连续存储空间的起始地址。
16、 如权利要求 14所述的方法, 其特征在于, 还包括: 将存储已处理完毕的 Data streaming报文的连续存储区域的状态标注为可 用。
17、 如权利要求 16所述的方法, 其特征在于, 所述在存储介质的循环连 续存储空间中, 预留出长度不小于所述 Data streaming报文的长度的连续存储 区域, 作为最小可用连续存储区域还包括:
当下一报文对应的首地址位于所述循环连续存储空间的尾部时, 将状态 标注为可用, 并且存储长度不小于所述 Data streaming报文的长度的, 连续存 储区域的起始地址作为所述下一报文对应的首地址。
18、 一种数据报文处理装置, 其特征在于, 包括: 添加单元, 用于采用预设的添加方式将 Data streaming报文的长度信息添 加至首分片, 并发送所述首分片, 以便接收方从接收到的首分片中获取长度 信息, 并根据所述长度信息在存储介质上确定出最小可用连续存储区域; 所述最小可用连续存储区域用于存储所述 Data streaming报文的所有分 片。
19、如权利要求 18所述的装置, 其特征在于, 所述预设的添加方式包括: 将首分片的逻辑层字段的高 M位或低 M位作为长度域存储所述长度信 息, 所述 M取值范围为 0至 16或 0至 8。
20、 如权利要求 19所述的装置, 其特征在于: 所述逻辑层字段包括流号 streamID字段或服务等级 COS服务等级字段。
21、如权利要求 18所述的装置, 其特征在于: 所述预设的添加方式包括: 将首分片的有效载荷区的字段的高 M位或低 M位作为长度域存储所述长 度信息, 所述 M取值范围为 0至 16或 0至 8。
22、 如权利要求 21所述的装置, 其特征在于: 所述有效载荷区的字段包括半字 hwordO字段至 hwordl27字段中的任一 字段。
23、如权利要求 18所述的装置, 其特征在于, 所述预设的添加方式包括: 在首分片中增加 M位长度域存储所述长度信息, 所述 M取值范围为 0 至 16或 0至 8。
24、 如权利要求 19 - 23任一项所述的装置, 其特征在于: 所述长度信息具体为所述 Data streaming报文的长度对应的长度量化级,
65536
相邻长度量化级间的量化值差为 字节。
25、 如权利要求 24所述的装置, 其特征在于, 所述长度域中的 M位全部 取 0时, 表征第 个长度量化级。
26、 如权利要求 18 - 25任一项所述的装置, 其特征在于, 还包括: 协商单元, 用于预先协商添加方式。
27、 如权利要求 18 - 25任一项所述的装置, 其特征在于, 所述添加单元 还用于, 在首分片中增加添加方式字段, 所述添加方式字段用于存储所采用 的添力口方式。
28、一种数据报文处理装置,其特征在于, 包括 CPU和存储器,所述 CPU 通过运行存储在所述存储器内的软件程序以及调用存储在所述存储器内的数 据, 至少执行如下步骤: 采用预设的添加方式将 Data streaming报文的长度信息添加至首分片, 并 发送所述首分片, 以便接收方从接收到的首分片中获取长度信息, 并根据所 述长度信息在存储介质上确定出最小可用连续存储区域;
所述最小可用连续存储区域用于存储所述 Data streaming报文的所有分 片。
29、如权利要求 28所述的装置, 其特征在于, 所述预设的添加方式包括: 将首分片的逻辑层字段的高 M位或低 M位作为长度域存储所述长度信 息, 所述 M取值范围为 0至 16或 0至 8。
30、 如权利要求 29所述的装置, 其特征在于: 所述逻辑层字段包括流号 streamID字段或服务等级 COS服务等级字段。
31、如权利要求 28所述的装置, 其特征在于: 所述预设的添加方式包括: 将首分片的有效载荷区的字段的高 M位或低 M位作为长度域存储所述长 度信息, 所述 M取值范围为 0至 16或 0至 8。
32、 如权利要求 31所述的装置, 其特征在于: 所述有效载荷区的字段包括半字 hwordO字段至 hwordl27字段中的任一 字段。
33、如权利要求 28所述的装置, 其特征在于, 所述预设的添加方式包括: 在首分片中增加 M位长度域存储所述长度信息, 所述 M取值范围为 0 至 16或 0至 8。
34、 如权利要求 29 - 33任一项所述的装置, 其特征在于: 所述长度信息具体为所述 Data streaming报文的长度对应的长度量化级,
65536
相邻长度量化级间的量化值差为 7字节。
35、 如权利要求 34所述的装置, 其特征在于, 所述长度域的 M位全部取 0时, 表征第 个长度量化级。
36、 如权利要求 28 - 35任一项所述的装置, 其特征在于, 还执行如下步 骤: 预先协商添加方式。
37、 如权利要求 28 - 35任一项所述的装置, 其特征在于, 还执行如下步 骤: 在首分片中增加添加方式字段, 所述添加方式字段用于存储所采用的添 力口方式。
38、 一种数据报文处理装置, 其特征在于, 至少包括: 接收模块, 用于当接收到 Data streaming报文的首分片时, 从所述首分片 中获取所述 Data streaming报文的长度信息, 所述首分片中由发送方采用预设 的添力口方式添力口了所述 Data streaming才艮文的长度信息; 管理模块, 用于根据所述长度信息, 在存储介质上确定出最小可用连续 存储区域, 所述最小可用连续存储区域用于存储所述 Data streaming报文的所 有分片。
39、 如权利要求 38所述的装置, 其特征在于: 所述管理模块还用于, 预先在存储介质上划分出至少两个存储池, 每一 存储池包括至少一个连续存储区域, 同一存储池中各连续存储区域的存储长 度相同, 不同存储池中的连续存储区域的存储长度不相同; 所述根据所述长度信息, 在存储介质上确定出最小可用连续存储区域包 括:
从所述至少两个存储池中, 选择出存储长度不小于所述 Data streaming报 文的长度的可用连续存储区域, 作为所述最小可用连续存储区域。
40、 如权利要求 38所述的装置, 其特征在于: 所述根据所述长度信息, 在存储介质上确定出最小可用连续存储区域包 括: 在存储介质的循环连续存储空间中, 预留出存储长度不小于所述 Data streaming报文的长度的连续存储区域, 作为所述最小可用连续存储区域。
41、 如权利要求 40所述的装置, 其特征在于: 所述在存储介质的循环连续存储空间中, 预留出存储长度不小于所述 Data streaming报文的长度的连续存储区域, 作为所述最小可用连续存储区域 包括:
在接收到首分片时, 将所述首分片所属的 Data streaming报文作为当前报 文, 至少确定出下一报文在所述循环连续存储空间中对应的首地址;
所述当前^艮文对应的首地址与下一^艮文对应的首地址之间的空间间隔至 少等于所述 Data streaming才艮文的长度。
42、 如权利要求 41所述的装置, 其特征在于, 所述在存储介质的循环连 续存储空间中,预留出长度不小于所述 Data streaming报文的长度的连续空间, 作为最小可用连续存储区域还包括:
当下一报文对应的首地址位于所述循环连续存储空间的尾部时, 将下一 才艮文对应的首地址更改为所述循环连续存储空间的起始地址。
43、 如权利要求 41所述的装置, 其特征在于, 还包括: 标注单元, 用于将存储已处理完毕的 Data streaming报文的连续存储区域 的状态标注为可用。
44、 如权利要求 43所述的装置, 其特征在于, 所述在存储介质的循环连 续存储空间中,预留出长度不小于所述 Data streaming报文的长度的连续空间, 作为最小可用连续存储区域还包括:
当下一报文对应的首地址位于所述循环连续存储空间的尾部时, 将状态 标注为可用, 并且存储长度不小于所述 Data streaming报文的长度的, 连续存 储区域的起始地址作为所述下一报文对应的首地址。
45、 一种数据报文处理装置, 包括 CPU和存储器, 所述 CPU通过运行存 储在所述存储器内的软件程序以及调用存储在所述存储器内的数据, 至少执 行如下步骤:
当接收到 Data streaming才艮文的首分片时,从所述首分片中获取所述 Data streaming报文的长度信息, 所述首分片中由发送方采用预设的添加方式添加 了所述 Data streaming才艮文的长度信息; 根据所述长度信息, 在存储介质上确定出最小可用连续存储区域, 所述 最小可用连续存储区域用于存储所述 Data streaming报文的所有分片。
46、 如权利要求 45所述的装置, 其特征在于:
还执行如下步骤: 预先在存储介质上划分出至少两个存储池, 每一存储 池包括至少一个连续存储区域, 同一存储池中各连续存储区域的存储长度相
所述根据所述长度信息, 在存储介质上确定出最小可用连续存储区域包
从所述至少两个存储池中, 选择出存储长度不小于所述 Data streaming报 文的长度的可用连续存储区域, 作为所述最小可用连续存储区域。
47、 如权利要求 45所述的装置, 其特征在于: 所述根据所述长度信息, 在存储介质上确定出最小可用连续存储区域包 括:
在存储介质的循环连续存储空间中, 预留出存储长度不小于所述 Data streaming报文的长度的连续存储区域, 作为所述最小可用连续存储区域。
48、 如权利要求 47所述的装置, 其特征在于: 所述在存储介质的循环连续存储空间中, 预留出存储长度不小于所述 Data streaming报文的长度的连续存储区域, 作为所述最小可用连续存储区域 包括:
在接收到首分片时, 将所述首分片所属的 Data streaming报文作为当前报 文, 至少确定出下一报文在所述循环连续存储空间中对应的首地址;
所述当前^艮文对应的首地址与下一^艮文对应的首地址之间的空间间隔至 少等于所述 Data streaming才艮文的长度。
49、 如权利要求 48所述的装置, 其特征在于, 所述在存储介质的循环连 续存储空间中,预留出长度不小于所述 Data streaming报文的长度的连续空间, 作为最小可用连续存储区域还包括:
当下一报文对应的首地址位于所述循环连续存储空间的尾部时, 将下一 才艮文对应的首地址更改为所述循环连续存储空间的起始地址。
50、 如权利要求 48所述的装置, 其特征在于, 还执行如下步骤: 将存储已处理完毕的 Data streaming报文的连续存储区域的状态标注为可 用。
51、 如权利要求 50所述的装置, 其特征在于, 所述在存储介质的循环连 续存储空间中, 预留出长度不小于所述 Data streaming报文的长度的连续存储 区域, 作为最小可用连续存储区域还包括:
当下一报文对应的首地址位于所述循环连续存储空间的尾部时, 将状态 标注为可用, 并且存储长度不小于所述 Data streaming报文的长度的, 连续存 储区域的起始地址作为所述下一报文对应的首地址。
52、 一种数据报文处理系统, 其特征在于, 至少包括如权利要求 18-27 任一项所述的数据报文处理装置, 以及,如权利要求 38-44任一项所述的数据 报文处理装置。
53、 一种数据报文处理系统, 其特征在于, 至少包括如权利要求 28-37 任一项所述的数据报文处理装置, 以及,如权利要求 45-51任一项所述的数据 报文处理装置。
PCT/CN2013/078036 2013-06-26 2013-06-26 数据报文处理方法、数据报文处理装置及系统 WO2014205691A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201380000740.9A CN104396196A (zh) 2013-06-26 2013-06-26 数据报文处理方法、数据报文处理装置及系统
PCT/CN2013/078036 WO2014205691A1 (zh) 2013-06-26 2013-06-26 数据报文处理方法、数据报文处理装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/078036 WO2014205691A1 (zh) 2013-06-26 2013-06-26 数据报文处理方法、数据报文处理装置及系统

Publications (1)

Publication Number Publication Date
WO2014205691A1 true WO2014205691A1 (zh) 2014-12-31

Family

ID=52140796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/078036 WO2014205691A1 (zh) 2013-06-26 2013-06-26 数据报文处理方法、数据报文处理装置及系统

Country Status (2)

Country Link
CN (1) CN104396196A (zh)
WO (1) WO2014205691A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114340097A (zh) * 2021-12-30 2022-04-12 合肥市芯海电子科技有限公司 一种控制灯带的方法、装置、芯片和电子设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108092942B (zh) * 2016-11-21 2020-04-10 深圳市中兴微电子技术有限公司 一种报文处理方法和装置
CN115190089B (zh) * 2022-05-26 2024-03-22 中科驭数(北京)科技有限公司 一种报文存储方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018206A (zh) * 2007-02-14 2007-08-15 华为技术有限公司 分片报文处理方法与装置
CN101031092A (zh) * 2006-02-28 2007-09-05 华为技术有限公司 一种语音报文的处理方法和报文处理器
US20090157893A1 (en) * 2007-10-12 2009-06-18 Lazar Z Peter Personal media relay for rebroadcasting streaming data
CN102023961A (zh) * 2009-09-10 2011-04-20 中兴通讯股份有限公司 一种基于共享内存的通信方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1863158B (zh) * 2005-10-31 2010-04-21 华为技术有限公司 一种ip报文分片缓存及转发方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101031092A (zh) * 2006-02-28 2007-09-05 华为技术有限公司 一种语音报文的处理方法和报文处理器
CN101018206A (zh) * 2007-02-14 2007-08-15 华为技术有限公司 分片报文处理方法与装置
US20090157893A1 (en) * 2007-10-12 2009-06-18 Lazar Z Peter Personal media relay for rebroadcasting streaming data
CN102023961A (zh) * 2009-09-10 2011-04-20 中兴通讯股份有限公司 一种基于共享内存的通信方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RAPIDIO TRADE ASSOCIATION, RAPIDIO INTERCONNECT SPECIFICATION PART 10: DATA STREAMING LOGICAL SPECIFICATION REV.2.2, 6 June 2011 (2011-06-06) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114340097A (zh) * 2021-12-30 2022-04-12 合肥市芯海电子科技有限公司 一种控制灯带的方法、装置、芯片和电子设备

Also Published As

Publication number Publication date
CN104396196A (zh) 2015-03-04

Similar Documents

Publication Publication Date Title
US11916781B2 (en) System and method for facilitating efficient utilization of an output buffer in a network interface controller (NIC)
US10826830B2 (en) Congestion processing method, host, and system
TW201731253A (zh) 量子金鑰分發方法及裝置
CN108737296B (zh) 一种数据传输方法、装置和网络设备
BRPI1006836B1 (pt) equipamento de agente de usuário e método implementado em um computador para operação em um sistema de pacote evoluído (eps), e meio legível por computador
WO2019104485A1 (zh) 分配功率的方法和设备
WO2018059308A1 (zh) 缓存状态上报及资源调度方法和终端、设备和存储介质
TW201640933A (zh) 在無線傳輸中設置媒體存取控制協定資料單元
WO2021052199A1 (zh) 一种服务器负载均衡的方法、装置及cdn节点
CN107135189B (zh) 一种报文发送方法及物理机
WO2023124098A1 (zh) 用于在ieee 802.15.4网络中生成和发送应答帧的方法及通信装置
CN111290979B (zh) 数据传输方法、装置及系统
WO2014205691A1 (zh) 数据报文处理方法、数据报文处理装置及系统
EP2564526B1 (en) Methods of encoding and decoding control information in a medium access control protocol data unit
JP2018520434A (ja) Usb2.0帯域幅予約のための方法およびシステム
WO2017185980A1 (zh) 数据传输方法及装置
CN104486442A (zh) 分布式存储系统的数据传输方法、装置
CN115150383B (zh) 文件发送方法、设备及计算机可读存储介质
US20140143441A1 (en) Chip multi processor and router for chip multi processor
WO2008141591A1 (fr) Procédé et dispositif destinés à une garantie qos des datagrammes de réseau transportés dans différents réseaux
TW200404206A (en) Increasing memory access efficiency for packet applications
WO2012122741A1 (zh) 一种用于用户信息动态缓存的方法及系统
WO2022199209A1 (zh) 一种上行控制信息的复用方法和设备
WO2022099551A1 (zh) 通信方法和通信设备
CN115176453A (zh) 报文缓存方法、内存分配器及报文转发系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13888408

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13888408

Country of ref document: EP

Kind code of ref document: A1