Data splicing method and device, electronic equipment and storage medium

By performing data tight arrangement, data bit width expansion and waiting group data in the data splicing method, the problem of inefficiency caused by complex data splicing in the prior art is solved, and efficient data splicing is achieved.

CN119946152AActive Publication Date: 2025-05-06JIXIN COMM TECH (NANJING) CO LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411761588.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-03
Publication Date
2025-05-06
Estimated Expiration
2044-12-03

AI Technical Summary

Technical Problem

In the prior art, data splicing methods have problems such as high complexity and low efficiency.

Method used

By obtaining the data packets to be spliced, multiple sets of data are used as the current group data in order in the preset order to perform data tight arrangement, data bit width expansion and waiting group data or operations to ensure that the spliced ​​data packet data bit width is aligned with the target bit width.

Benefits of technology

It improves the efficiency of data splicing, solves the problem of inefficiency caused by complex data splicing process, and can realize effective data splicing without a clear multiple relationship between the sending bit width and the original data bit width.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119946152A_ABST
    Figure CN119946152A_ABST
Patent Text Reader

Abstract

The invention provides a data splicing method and device, electronic equipment and a storage medium, and belongs to the technical field of data processing, and the method comprises the steps: obtaining a to-be-spliced data packet; sequentially taking each group of data in the plurality of groups of data as the current group of data according to a preset sequence, executing the following steps to obtain current spliced data, and determining a spliced data packet according to a plurality of pieces of spliced data obtained based on the plurality of groups of data: tightly arranging effective data extracted from the current group of data at a low-order end of the current group of data, expanding the data bit width of the current group of data to obtain the expanded current group of data; performing OR operation on the expanded current group data and waiting group data to obtain merged current group data; and outputting the valid data of the high-order end of the merged current group of data. According to the data splicing method provided by the invention, the technical problem of relatively low data splicing efficiency caused by relatively high complexity in a data splicing process in a data splicing method in related technologies is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data processing technology, and in particular to a data splicing method, device, electronic equipment and storage medium. Background Art

[0002] In the design and implementation of Long Term Evolution (LTE) and New Radio (NR), the baseband processing unit (BBU) and remote radio unit (RRU) are usually split and connected using optical fiber. The interface between the RRU and BBU is the fronthaul interface. In order to improve the data transmission efficiency of the fronthaul interface and reduce the system bandwidth, the service data of the fronthaul interface will be compressed before transmission.

[0003] Data compression will cause the data bit width of the original data to change, so that the data boundary of the original data is no longer aligned with the sending bit width. The sending end needs to splice the original data to align the original data to the sending bit width before transmitting it, while the receiving end needs to de-splice the data and then decompress it to restore the original data. Since there is no clear multiple relationship between the sending bit width and the data bit width of the original data, the original data is more complicated during the data splicing process and the efficiency of data splicing is lower.

[0004] It can be seen that the data splicing method in the related art has a technical problem that the data splicing process is highly complex, resulting in low efficiency of data splicing. Summary of the invention

[0005] The present invention provides a data splicing method, device, electronic device and storage medium, which are used to solve the technical problem that the data splicing method in the related art has a high complexity in the data splicing process, resulting in low efficiency of data splicing.

[0006] The present invention provides a data splicing method, comprising the following steps: obtaining a data packet to be spliced, wherein the data packet to be spliced ​​includes multiple groups of data, the data bit width of each group of data in the multiple groups of data is a target bit width, and each group of data in the multiple groups of data is compressed data; taking each group of data in the multiple groups of data as a current group of data and performing the following steps in sequence according to a preset order to obtain current spliced ​​data, and determining a spliced ​​data packet according to a plurality of spliced ​​data obtained based on the multiple groups of data, wherein the data bit width of the data in the spliced ​​data packet is the target bit width: placing valid data extracted from the current group of data in a compact manner at the low end of the current group of data; The data bit width of the expanded current group data is expanded to obtain the expanded current group data, wherein the data bit width of the expanded current group data is greater than or equal to twice the target bit width; the expanded current group data is ORed with the waiting group data to obtain the merged current group data, wherein the waiting group data is data waiting to be spliced, and the valid data in the merged current group data is located at the high-order end of the merged current group data; when the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current spliced ​​data, wherein the data bit width of the current spliced ​​data is the target bit width.

[0007] According to a data splicing method provided by the present invention, when the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current splicing data, and then also includes: moving the remaining valid data in the merged current group data to the high-order end of the merged current group data, and updating the merged current group data to the waiting group data.

[0008] According to a data splicing method provided by the present invention, the expanded current group data is subjected to an OR operation with the waiting group data to obtain a merged current group data, and then further includes: when the data bit width of the valid data in the merged current group data is less than the target bit width, the merged current group data is updated to the waiting group data.

[0009] According to a data splicing method provided by the present invention, the following steps are performed in sequence according to a preset order using each group of data in the multiple groups of data as the current group of data to obtain current spliced ​​data, and a spliced ​​data packet is determined based on the multiple spliced ​​data obtained based on the multiple groups of data, including: after obtaining the multiple spliced ​​data corresponding to the multiple groups of data, the data at the high-order end of the waiting group data is determined as the target splicing data, and the target splicing data is added to the multiple splicing data, wherein the data bit width of the target splicing data is the target bit width.

[0010] According to a data splicing method provided by the present invention, each group of data in the multiple groups of data includes at least one I / Q data pair after data compression.

[0011] According to a data splicing method provided by the present invention, the data packet to be spliced ​​includes header data, and determining the spliced ​​data packet based on multiple spliced ​​data obtained based on the multiple groups of data includes: merging the multiple spliced ​​data to obtain data packet payload data; adding the header data to the header of the data packet payload data to obtain the spliced ​​data packet.

[0012] The present invention also provides a data splicing device, comprising the following modules: an acquisition module, used to acquire a data packet to be spliced, wherein the data packet to be spliced ​​includes multiple groups of data, the data bit width of each group of data in the multiple groups of data is a target bit width, and each group of data in the multiple groups of data is compressed data; an execution module, used to sequentially use each group of data in the multiple groups of data as a current group of data to perform the following steps in a preset order to obtain current spliced ​​data, and determine a spliced ​​data packet according to a plurality of spliced ​​data obtained based on the multiple groups of data, wherein the data bit width of the data in the spliced ​​data packet is the target bit width: placing valid data extracted from the current group of data in a compact manner at the low end of the current group of data; placing the current The data bit width of the group data is expanded to obtain the expanded current group data, wherein the data bit width of the expanded current group data is greater than or equal to twice the target bit width; the expanded current group data is ORed with the waiting group data to obtain the merged current group data, wherein the waiting group data is data waiting to be spliced, and the valid data in the merged current group data is located at the high-order end of the merged current group data; when the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current spliced ​​data, wherein the data bit width of the current spliced ​​data is the target bit width.

[0013] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, any of the data splicing methods described above is implemented.

[0014] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the data splicing method described in any one of the above is implemented.

[0015] The present invention also provides a computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the data splicing method described in any one of the above is implemented.

[0016] The data splicing method, device, electronic device and storage medium provided by the present invention obtain a data packet to be spliced, wherein the data packet to be spliced ​​includes multiple groups of data, the data bit width of each group of data in the multiple groups of data is a target bit width, and each group of data in the multiple groups of data is compressed data; each group of data in the multiple groups of data is used as the current group of data to perform the following steps in a preset order to obtain current spliced ​​data, and determine the spliced ​​data packet according to the multiple spliced ​​data obtained based on the multiple groups of data, wherein the data bit width of the data in the spliced ​​data packet is the target bit width: the valid data extracted from the current group of data is compactly arranged at the low end of the current group of data; the data bit width of the current group of data is expanded to obtain the expanded current group of data, wherein the data bit width of the expanded current group of data is greater than or equal to 2 times the target bit width; the expanded current group of data is ORed with the waiting group of data to obtain the merged current group of data, wherein the waiting group of data is data waiting to be spliced, and the valid data in the merged current group of data is located at the high end of the merged current group of data; after the merge When the data bit width of the valid data in the current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current spliced ​​data, wherein the data bit width of the current spliced ​​data is the target bit width; the valid data in the merged current group data is located at the high-order end of the merged current group data, and when the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current spliced ​​data, and since the data bit width of the current spliced ​​data is the target bit width, the data bit width of the data in the spliced ​​data packet obtained by splicing multiple spliced ​​data is also the target bit width, and the spliced ​​data packet can be output through the forward transmission interface; when there is no clear multiple relationship between the sending bit width (i.e., the target bit width) and the data bit width of the original data, this scheme can also perform data splicing on the data packet to be spliced ​​to obtain the spliced ​​data packet, thereby solving the technical problem that the data splicing method in the related art has a high degree of complexity in the data splicing process, resulting in low efficiency of data splicing. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced one by one below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0018] Figure 1 It is a flow chart of the data splicing method provided by the present invention.

[0019] Figure 2 This is one of the schematic diagrams of the data splicing method provided by the present invention.

[0020] Figure 3 This is the second schematic diagram of the data splicing method provided by the present invention.

[0021] Figure 4 This is the third schematic diagram of the data splicing method provided by the present invention.

[0022] Figure 5 It is a structural schematic diagram of the data splicing device provided by the present invention.

[0023] Figure 6 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION

[0024] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0025] It should be noted that in the description of the present invention, the terms "include", "comprise" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "include one..." do not exclude the existence of other identical elements in the process, method, article or device including the elements. The orientation or position relationship indicated by the terms "upper", "lower" and the like is based on the orientation or position relationship shown in the drawings, which is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation of the present invention. Unless otherwise clearly specified and limited, the terms "installed", "connected" and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be an indirect connection through an intermediate medium, or it can be a connection between the two elements. For those skilled in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0026] The terms "first", "second", etc. in the present invention are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present invention can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally of the same type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" means at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.

[0027] In the design and implementation of LTE and NR, BBU and RRU are usually split and connected by optical fiber. The remote radio unit (RRU) brings a new distributed network coverage mode, which places large-capacity macro cell base stations in available central equipment rooms, centrally processes the baseband part, and uses optical fiber to pull the radio frequency module in the base station to the remote radio frequency unit, which is placed at the site determined by the network planning, thus saving a large number of equipment rooms required for conventional solutions; at the same time, by using large-capacity macro base stations to support a large number of optical fiber remotes, the conversion between capacity and coverage can be achieved. The interface between RRU and BBU is called the fronthaul interface.

[0028] In order to reduce the complexity of hardware design, improve the data transmission efficiency of the fronthaul interface, and reduce the system bandwidth, the service data of the fronthaul interface will be compressed before transmission. There are two common protocols for the fronthaul interface, Common Public Radio Interface (CPRI) and Evolved Common Public Radio Interface (eCPRI). In the Open Radio Access Network (ORAN) protocol based on eCPRI and the CPRI protocol, data compression methods are defined.

[0029] Data compression will cause the data bit width to change, so that the data boundary is no longer aligned with the transmission bit width. Therefore, the sender needs to splice the data and align it to the transmission data bit width before transmission; while the receiver needs to de-splice the data and then decompress it to restore the original data. Since there is no clear multiple relationship between the compressed bit width and the source data bit width, this leads to the complexity of data splicing; and there are multiple possibilities for compressed bit width, which further increases the complexity of data splicing.

[0030] In related technologies, there are two traditional methods of data splicing: 1) Use application-specific integrated circuit (ASIC) hardware. The advantage of using ASIC is fast splicing speed, but its disadvantage is also obvious. For each compression bit width and transmission bit width that needs to be supported, a set of hardware is required to support it, which significantly increases the complexity of the design and brings huge silicon overhead. In addition, this method has poor flexibility and can only support coverage requirements, but cannot support new requirements outside the design.

[0031] 2) Another method is to use software to implement it, which is based on programming of general-purpose processors. The advantage of this implementation method is high flexibility and support for various new requirements. However, its disadvantage is slow speed and large processing delay. For each source data splicing, it needs to go through multiple processes such as masking, shifting, and combination, and the processing delay increases by at least 30 times.

[0032] The above two methods of data splicing both have their limitations.

[0033] In order to at least solve some of the above problems, the following Figure 1-Figure 6 The present invention describes a data splicing method, device, electronic device and storage medium.

[0034] The data splicing method provided in this embodiment can be applied to a scenario where compressed data is spliced ​​so that the data bit width of the spliced ​​data packet is aligned with the transmission bit width.

[0035] Figure 1 It is a flow chart of the data splicing method provided by the present invention, such as Figure 1 As shown, including but not limited to the following steps: Step 101 , obtaining a data packet to be spliced, wherein the data packet to be spliced ​​includes multiple groups of data, the data bit width of each group of data in the multiple groups of data is a target bit width, and each group of data in the multiple groups of data is compressed data.

[0036] Figure 2 It is one of the schematic diagrams of the data splicing method provided by the present invention, such as Figure 2 As shown, the data splicing method of this embodiment can be executed by a real-time data splicing processing device, which includes a state machine module, a program storage module and a data splicing module.

[0037] The state machine module is used to make status judgment and generate a read address of the program storage corresponding to the current configuration information and status according to the status of the configuration information and data splicing, continuously read the program storage, and can perform error state recovery operations on the data splicing.

[0038] The program storage module is used to store the required programs for executing the data splicing method in this embodiment. Depending on the configuration, the program is configured in advance by the upper system into the program storage. The state machine reads the program storage according to the configuration information and the current state, and the read data is sent to the data splicing module. The data splicing module is used to execute the data splicing method in this embodiment.

[0039] Optionally, the data packet to be spliced ​​includes header data, and determining the spliced ​​data packet according to a plurality of spliced ​​data obtained based on the plurality of groups of data includes: Merging a plurality of spliced ​​data to obtain data packet payload data; The packet header data is added to the header of the data packet payload data to obtain a spliced ​​data packet.

[0040] like Figure 2 As shown, the data splicing module outputs a spliced ​​data packet after data splicing according to the input data input and header input. Here, the data input refers to multiple groups of data in this embodiment, and the header input refers to the header data in this embodiment.

[0041] In this embodiment, the header data is located at the front part of the data packet, and it contains the control information of the data packet, which is used to indicate the sender, receiver, type and length of the data packet and other key information; the data splicing method in this embodiment needs to perform data splicing on multiple groups of data in the data packet to be spliced.

[0042] Optionally, each group of data in the multiple groups of data includes at least one I / Q data pair after data compression.

[0043] Preferably, each of the multiple groups of data includes two I / Q data pairs after data compression.

[0044] It should be noted that the I / Q data pair refers to an in-phase (I) and a quadrature (Q) data pair.

[0045] The data bit width of each group of data in the multiple groups of data is the target bit width, the target bit width is the bit width of the data sent by the fronthaul interface, and each group of data in the multiple groups of data is compressed data, that is, the I / Q data pairs in each group of data in the multiple groups of data are data pairs after data compression; since the data bit width becomes smaller after being compressed, the data bit width occupied by the valid data in each group of data in the multiple groups of data is smaller than the target bit width.

[0046] In this embodiment, each group of data in the data packets to be spliced ​​are compressed data; exemplarily, the target bit width is 64 bits, and the data bit width of each group of data in the data packets to be spliced ​​before data compression is 64 bits. Each group of data in the data packets to be spliced ​​includes 2 groups of I / Q data pairs, wherein the data bit width of each I and each Q is 16 bits, and after data compression, the data bit width of the valid data in each I and each Q is compressed to 9 bits.

[0047] Step 102, in accordance with a preset order, each group of data in the plurality of groups of data is used as the current group of data to perform the following steps in turn to obtain current spliced ​​data, and a spliced ​​data packet is determined according to a plurality of spliced ​​data obtained based on the plurality of groups of data, wherein the data bit width of the data in the spliced ​​data packet is the target bit width: Step 1021, the valid data extracted from the current group of data is compactly placed at the low end of the current group of data; Step 1022, expanding the data bit width of the current group data to obtain expanded current group data, wherein the data bit width of the expanded current group data is greater than or equal to twice the target bit width; Step 1023, performing an OR operation on the expanded current group data and the waiting group data to obtain the merged current group data, wherein the waiting group data is data waiting to be spliced, and the valid data in the merged current group data is located at the high end of the merged current group data; Step 1024, when the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current spliced ​​data, wherein the data bit width of the current spliced ​​data is the target bit width. Optionally, when the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current spliced ​​data, and then further includes: The remaining valid data in the merged current group data is moved to the high-order end of the merged current group data, and the merged current group data is updated to the waiting group data.

[0048] Optionally, the expanded current group data is ORed with the waiting group data to obtain the merged current group data, and then the following is further included: When the data bit width of the valid data in the merged current group data is smaller than the target bit width, the merged current group data is updated to the waiting group data.

[0049] Optionally, the following steps are performed in sequence according to a preset order using each group of data in the multiple groups of data as the current group of data to obtain current spliced ​​data, and a spliced ​​data packet is determined based on multiple spliced ​​data obtained based on the multiple groups of data, including: After obtaining multiple splicing data corresponding to multiple groups of data, the data at the high-order end of the waiting group data is determined as the target splicing data, and the target splicing data is added to the multiple splicing data, wherein the data bit width of the target splicing data is the target bit width.

[0050] Figure 3 This is the second schematic diagram of the data splicing method provided by the present invention, see Figure 3 , Figure 3 The data splicing process of the data splicing module is demonstrated. The data splicing module performs data splicing on multiple groups of data according to the packet header input (packet header data), data input (multiple groups of data) and program input (the corresponding program input by the program storage module), which includes steps such as data tight arrangement, data shifting, register storage and data interception.

[0051] Specifically, the data compacting step corresponds to step 1021, that is, compactly placing the valid data extracted from the current group of data at the low-order end of the current group of data.

[0052] Further, the data bit width of the current group data is expanded to obtain the expanded current group data, wherein the data bit width of the expanded current group data is greater than or equal to twice the target bit width; at this time, the valid data in the current group data is still located at the low end of the current group data.

[0053] It should be noted that the data splicing method of this embodiment is programmable, and the implementation steps of the data splicing method of this embodiment are controlled by microcode, and the method can be adjusted by adjusting the microcode.

[0054] Furthermore, the expanded current group data is subjected to an OR operation with the waiting group data to obtain the merged current group data, wherein the waiting group data is the data waiting to be spliced, and the valid data in the merged current group data is located at the high end of the merged current group data; it should be noted that, during the OR operation, the valid data in the waiting group data is located at the high end, and at this time, the valid data in the current group data needs to be moved to the high end to be adjacent to the valid data in the waiting group data, that is, the valid data in the merged current group data is located at the high end of the merged current group data.

[0055] When the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current spliced ​​data, wherein the data bit width of the current spliced ​​data is the target bit width.

[0056] Figure 4 This is the third schematic diagram of the data splicing method provided by the present invention, see Figure 4 , exemplarily, the original data bit width (target bit width) is Mbit, the data bit width after the valid data in the current group data is spliced ​​is Nbit, and A is the bit width that the valid data in the current group data needs to be shifted during the operation between the current group data and the waiting group data.

[0057] exist Figure 4 In the figure, the original data represents the current group data, which includes 2 I / Q data pairs. After data compression is performed on the 2 I / Q data pairs, the valid data in each I and Q data are represented by Q3, I3, Q2, and I2, and S is used to represent an empty position.

[0058] The valid data extracted from the current group of data is placed tightly at the low end of the current group of data, that is, Figure 4 The right end shown; the current group data is ORed with the waiting group data. During this process, the valid data in the waiting group data is located at the high end. At this time, the valid data in the current group data needs to be moved A bits to the left from the low end.

[0059] When the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current splicing data, that is, Figure 4 In the process, the left M bits of the merged current group data are output as the current spliced ​​data.

[0060] Through the embodiments provided by the present application, a data packet to be spliced ​​is obtained, wherein the data packet to be spliced ​​includes multiple groups of data, the data bit width of each group of data in the multiple groups of data is the target bit width, and each group of data in the multiple groups of data is compressed data; each group of data in the multiple groups of data is used as the current group of data to perform the following steps in a preset order to obtain the current spliced ​​data, and the spliced ​​data packet is determined according to the multiple spliced ​​data obtained based on the multiple groups of data, wherein the data bit width of the data in the spliced ​​data packet is the target bit width: the valid data extracted from the current group of data is compactly arranged at the low end of the current group of data; the data bit width of the current group of data is expanded to obtain the expanded current group of data, wherein the data bit width of the expanded current group of data The bit width is greater than or equal to twice the target bit width; the expanded current group data is ORed with the waiting group data to obtain the merged current group data, wherein the waiting group data is the data waiting to be spliced, and the valid data in the merged current group data is located at the high-order end of the merged current group data; when the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current splicing data, wherein the data bit width of the current splicing data is the target bit width; the data splicing method in the related art is solved, and the technical problem that the complexity of the data splicing process is high and the efficiency of data splicing is low is solved, thereby improving the efficiency of data splicing.

[0061] In this embodiment, all steps of the data splicing method are performed based on instructions; each time a group of data in the data packet to be spliced ​​is read, a new instruction needs to be obtained, and the data is spliced, shifted and output according to the content of the instruction.

[0062] Exemplarily, the instruction structure may be:

[0063] In the data processing process corresponding to this embodiment, the original data bit width is Mbit, the bit width of each sub-data after splicing is Nbit, S is the data bit width extension bit, where the bit width of S is M / 4-N, the header bit width is Pbit, and in the instruction, the bit width of A is , the packet header input indication E bit width is 1 bit, and the output indication W bit width is 1 bit.

[0064] The data splicing module is used to implement the data splicing function of the data splicing method in this embodiment. The data splicing module receives external data input, and splices the data according to the program input of the program storage module, and outputs the data; wherein the data with a compression bit width of N bits is spliced, N and M are configuration values, and A and E come from instructions; a total of the following operations are included: a) The original data width is M bit, the width of each I and Q data is M / 4 bit, and the width after splicing is N bit. The data is input into the data splicing module to perform data compacting operation first. According to the compressed bit width, the effective part of the I / Q data is extracted, where S is the extension bit, and the effective data is tightly arranged into a group of M bit bit width data, where M=4*(N+S). If E=1, the Pbit header data is read from the index input port and placed in the highest bit of the compressed data.

[0065] b) Perform data shift operation on tightly packed data, expand the tightly packed data to 2M bit and left shift the data by A bit according to the left shift parameter given by the program.

[0066] c) The left-shifted tightly packed data is ANDed or ORed with the data in the register and written back to the register, where the bit width of the register is 2M bits.

[0067] d) Determine whether the output indication in the instruction is 1. If it is 1, output the high M bits of the register and shift the low M bits of data left by M bits and write them back to the register.

[0068] e) If the bit width of the tightly packed data in the register is less than M bits, repeat steps a, b, and c until the tightly packed data in the register is greater than M bits, and then perform operation d.

[0069] It should be noted that the shift values ​​required for the data shift operation are all provided by the program in the program storage, and are input into the program storage after the device is powered on and before the data arrives; there are three fields in the program in the program storage, which include the shift value A required for the data shift operation, the E value indicating whether the current data includes the packet header, and the W value indicating whether data output is currently being performed.

[0070] The following is a specific example: Step 1: The original data bit width (the data bit width of the current group of data) is 64 bits, the bit width of each I and Q data is 16 bits, and the compressed bit width is 9 bits, that is, the valid data in the original data is 36 bits, and the target bit width is 64 bits.

[0071] Step 2, take the first instruction E=0, A=92, W=0, read a 64-bit data; extract the lower 9 bits (valid data) of each I and Q data, and tightly arrange the extracted 36 bits of data and put them in the lower 36 bits of the 64-bit data.

[0072] Step 3, then expand the tightly packed data, expand the 64-bit data into 128-bit data, and according to the displacement value 92 given by the program, shift the valid data left by 92 bits, and put the tightly packed data in the upper 36 bits of the 128-bit data.

[0073] Step 4, perform an OR operation on the 128-bit tight data and the 128-bit register (used to store the waiting group data), and put the data into the 128-bit register. At this time, the valid data in the register is only 36 bits, which does not meet the rule that tight data greater than 64 bits will be output, so it is necessary to continue to extract tight data from the input data, and W=0 will not be output.

[0074] Step 5, take the second instruction E=0, A=56, W=1, read a 64-bit data; extract the lower 9 bits of each I and Q data of the data input, and tightly arrange the extracted 36-bit data and put them in the lower 36 bits of the 64-bit data.

[0075] Step 6, then expand the tightly packed data, expand the 64-bit data into 128-bit data, and according to the displacement value 56 given by the program, shift the data left by 56 bits so that the valid data are all located at the high end.

[0076] Step 7: perform an OR operation on the 128-bit tightly packed data and the data stored in the 128-bit register in the previous cycle, and write the data back to the 128-bit register.

[0077] Step 8: At this time, the bit width of the tightly packed data (valid data) in the register is 72 bits. According to W=1, the high 64 bits of the register data are output, and the low 64 bits of the register data are shifted left by 64 bits. And then written back to the register.

[0078] Step 9, repeat each time a data is read, take a new instruction, operate the data according to the instruction, until the last data is input. When the last data is input and proceed to step 8, if there is residual data in the register, all the residual data in the register needs to be output.

[0079] Figure 5 Schematic diagram of the structure of the data splicing device provided by the present invention, such as Figure 5 As shown, including but not limited to the following modules: The acquisition module 501 is used to acquire a data packet to be spliced, wherein the data packet to be spliced ​​includes multiple groups of data, the data bit width of each group of data in the multiple groups of data is the target bit width, and each group of data in the multiple groups of data is compressed data; The execution module 502 is used to sequentially use each group of data in the multiple groups of data as the current group of data to perform the following steps in a preset order to obtain current spliced ​​data, and determine a spliced ​​data packet according to the multiple spliced ​​data obtained based on the multiple groups of data, wherein the data bit width of the data in the spliced ​​data packet is the target bit width: The valid data extracted from the current group of data are tightly placed at the low end of the current group of data; Expanding the data bit width of the current group data to obtain expanded current group data, wherein the data bit width of the expanded current group data is greater than or equal to twice the target bit width; Perform an OR operation on the expanded current group data and the waiting group data to obtain the merged current group data, wherein the waiting group data is data waiting to be spliced, and the valid data in the merged current group data is located at the high end of the merged current group data; When the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current spliced ​​data, wherein the data bit width of the current spliced ​​data is the target bit width.

[0080] Through the embodiments of the present application, a data packet to be spliced ​​is obtained, wherein the data packet to be spliced ​​includes multiple groups of data, the data bit width of each group of data in the multiple groups of data is the target bit width, and each group of data in the multiple groups of data is compressed data; each group of data in the multiple groups of data is used as the current group of data to perform the following steps in a preset order to obtain the current spliced ​​data, and the spliced ​​data packet is determined according to the multiple spliced ​​data obtained based on the multiple groups of data, wherein the data bit width of the data in the spliced ​​data packet is the target bit width: the valid data extracted from the current group of data is compactly arranged at the low end of the current group of data; the data bit width of the current group of data is expanded to obtain the expanded current group of data, wherein the data bit width of the expanded current group of data is The width is greater than or equal to twice the target bit width; the expanded current group data is ORed with the waiting group data to obtain the merged current group data, wherein the waiting group data is the data waiting to be spliced, and the valid data in the merged current group data is located at the high-order end of the merged current group data; when the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current splicing data, wherein the data bit width of the current splicing data is the target bit width; the data splicing method in the related art is solved, and the technical problem that the complexity of the data splicing process is high and the efficiency of data splicing is low is caused, thereby improving the efficiency of data splicing.

[0081] It should be noted that the data splicing device provided by the present invention can execute the data splicing method of any of the above embodiments during specific operation, which will not be elaborated in this embodiment.

[0082] Figure 6 is a schematic diagram of the structure of the electronic device provided by the present invention, such as Figure 6 As shown, the electronic device may include: a processor 610, a communication interface 620, a memory 630 and a communication bus 640, wherein the processor 610, the communication interface 620 and the memory 630 communicate with each other through the communication bus 640. The processor 610 may call the logic instructions in the memory 630 to execute the data splicing method, which includes: obtaining a data packet to be spliced, wherein the data packet to be spliced ​​includes multiple groups of data, the data bit width of each group of data in the multiple groups of data is the target bit width, and each group of data in the multiple groups of data is compressed data; performing the following steps in sequence with each group of data in the multiple groups of data as the current group of data in a preset order to obtain the current spliced ​​data, and determining the spliced ​​data packet according to the multiple spliced ​​data obtained based on the multiple groups of data, wherein the data bit width of the data in the spliced ​​data packet is the target bit width: placing the valid data extracted from the current group of data in a compact manner at the low-order end of the current group of data ; Expand the data bit width of the current group data to obtain the expanded current group data, wherein the data bit width of the expanded current group data is greater than or equal to twice the target bit width; perform an OR operation on the expanded current group data and the waiting group data to obtain the merged current group data, wherein the waiting group data is data waiting to be spliced, and the valid data in the merged current group data is located at the high-order end of the merged current group data; when the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, output the valid data at the high-order end of the merged current group data as the current splicing data, wherein the data bit width of the current splicing data is the target bit width.

[0083] In addition, the logic instructions in the above-mentioned memory 630 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.

[0084] On the other hand, the present invention also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer can execute the data splicing method provided by the above embodiments, and the method includes: obtaining a data packet to be spliced, wherein the data packet to be spliced ​​includes multiple groups of data, the data bit width of each group of data in the multiple groups of data is a target bit width, and each group of data in the multiple groups of data is compressed data; performing the following steps in sequence with each group of data in the multiple groups of data as the current group of data in a preset order to obtain current spliced ​​data, and determining a spliced ​​data packet based on multiple spliced ​​data obtained based on the multiple groups of data, wherein the data bit width of the data in the spliced ​​data packet is the target bit width; Standard bit width: the valid data extracted from the current group data are tightly arranged at the low-order end of the current group data; the data bit width of the current group data is expanded to obtain the expanded current group data, wherein the data bit width of the expanded current group data is greater than or equal to twice the target bit width; the expanded current group data is ORed with the waiting group data to obtain the merged current group data, wherein the waiting group data is data waiting to be spliced, and the valid data in the merged current group data is located at the high-order end of the merged current group data; when the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current splicing data, wherein the data bit width of the current splicing data is the target bit width.

[0085] On the other hand, the present invention further provides a non-transitory computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the method for data splicing provided by the above-mentioned embodiments is implemented, the method comprising: obtaining a data packet to be spliced, wherein the data packet to be spliced ​​comprises a plurality of groups of data, the data bit width of each group of data in the plurality of groups of data is a target bit width, and each group of data in the plurality of groups of data is compressed data; performing the following steps in sequence with each group of data in the plurality of groups of data as a current group of data in a preset order to obtain current spliced ​​data, and determining a spliced ​​data packet according to a plurality of spliced ​​data obtained based on the plurality of groups of data, wherein the data bit width of the data in the spliced ​​data packet is the target bit width: extracting the data from the current group of data to obtain the current spliced ​​data; The valid data of the merged current group data is tightly arranged at the low-order end of the current group data; the data bit width of the current group data is expanded to obtain the expanded current group data, wherein the data bit width of the expanded current group data is greater than or equal to twice the target bit width; the expanded current group data is ORed with the waiting group data to obtain the merged current group data, wherein the waiting group data is data waiting to be spliced, and the valid data in the merged current group data is located at the high-order end of the merged current group data; when the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current splicing data, wherein the data bit width of the current splicing data is the target bit width.

[0086] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, i.e., they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Those of ordinary skill in the art may understand and implement it without creative effort.

[0087] Through the description of the above implementation modes, those skilled in the art can clearly understand that each implementation mode can be implemented by means of software plus a necessary general hardware platform, or of course by hardware. Based on such an understanding, the above technical solution can essentially or in other words be embodied in the form of a software product that contributes to the prior art. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods of each embodiment or some parts of the embodiment.

[0088] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A data splicing method, characterized in that: include: Acquire a data packet to be spliced, wherein the data packet to be spliced ​​includes multiple groups of data, the data bit width of each group of data in the multiple groups of data is the target bit width, and each group of data in the multiple groups of data is compressed data; The following steps are performed in sequence according to a preset order using each group of data in the multiple groups of data as the current group of data to obtain current spliced ​​data, and a spliced ​​data packet is determined according to a plurality of spliced ​​data obtained based on the multiple groups of data, wherein the data bit width of the data in the spliced ​​data packet is the target bit width: placing the valid data extracted from the current group of data tightly at the low-order end of the current group of data; Expanding the data bit width of the current group data to obtain expanded current group data, wherein the data bit width of the expanded current group data is greater than or equal to twice the target bit width; Performing an OR operation on the expanded current group data and the waiting group data to obtain a merged current group data, wherein the waiting group data is data waiting to be spliced, and the valid data in the merged current group data is located at the high end of the merged current group data; When the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current spliced ​​data, wherein the data bit width of the current spliced ​​data is the target bit width.

2. The data splicing method according to claim 1, characterized in that: In a case where the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current spliced ​​data, and then the method further includes: The remaining valid data in the merged current group data is moved to the high-order end of the merged current group data, and the merged current group data is updated to the waiting group data.

3. The data splicing method according to claim 1, characterized in that: The expanded current group data is subjected to an OR operation with the waiting group data to obtain the merged current group data, and then the following further comprises: In a case where the data bit width of the valid data in the merged current group data is smaller than the target bit width, the merged current group data is updated to the waiting group data.

4. The data splicing method according to claim 1, characterized in that: The following steps are performed in sequence according to a preset order using each group of data in the multiple groups of data as the current group of data to obtain current spliced ​​data, and a spliced ​​data packet is determined based on a plurality of spliced ​​data obtained based on the multiple groups of data, including: After obtaining the multiple splicing data corresponding to the multiple groups of data, the data at the high-order end of the waiting group data is determined as the target splicing data, and the target splicing data is added to the multiple splicing data, wherein the data bit width of the target splicing data is the target bit width.

5. The data splicing method according to claim 1, characterized in that: Each of the multiple groups of data includes at least one I / Q data pair after data compression.

6. The data splicing method according to any one of claims 1 to 5, characterized in that: The data packet to be spliced ​​includes header data, and the step of determining the spliced ​​data packet according to the plurality of spliced ​​data obtained based on the plurality of groups of data includes: Combining the plurality of spliced ​​data to obtain data packet payload data; The packet header data is added to the header of the data packet payload data to obtain the spliced ​​data packet.

7. A data splicing device, characterized in that: include: An acquisition module, used for acquiring a data packet to be spliced, wherein the data packet to be spliced ​​includes multiple groups of data, the data bit width of each group of data in the multiple groups of data is the target bit width, and each group of data in the multiple groups of data is compressed data; An execution module is used to sequentially use each group of data in the multiple groups of data as a current group of data to perform the following steps in a preset order to obtain current spliced ​​data, and determine a spliced ​​data packet according to a plurality of spliced ​​data obtained based on the multiple groups of data, wherein the data bit width of the data in the spliced ​​data packet is the target bit width: placing the valid data extracted from the current group of data tightly at the low-order end of the current group of data; Expanding the data bit width of the current group data to obtain expanded current group data, wherein the data bit width of the expanded current group data is greater than or equal to twice the target bit width; Performing an OR operation on the expanded current group data and the waiting group data to obtain a merged current group data, wherein the waiting group data is data waiting to be spliced, and the valid data in the merged current group data is located at the high end of the merged current group data; When the data bit width of the valid data in the merged current group data is greater than or equal to the target bit width, the valid data at the high-order end of the merged current group data is output as the current spliced ​​data, wherein the data bit width of the current spliced ​​data is the target bit width.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the data splicing method according to any one of claims 1 to 6 is implemented.

9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the data splicing method according to any one of claims 1 to 6 is implemented.

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

Citation Information

Patent Citations

  • Data frame escape method, data frame deescape method, system and related apparatus

    CN109274697A

  • Method and device for realizing expansion of DDRC bit width by splicing

    CN117573044A

  • Data compression method and device, computer equipment and readable storage medium

    CN118264255A

  • Data element selection and consolidation processors, methods, systems, and instructions

    US20160085547A1