Data transmission method, device, terminal equipment and storage medium
By determining and mapping the basic unit set in the FlexE protocol, the transmission of low-rate data is optimized, the problem of low transmission efficiency in the FlexE protocol is solved, and efficient and low-latency data transmission is achieved.
Patent Information
- Application Number
- CN201911191941.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-11-28
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2039-11-28
AI Technical Summary
The existing FlexE protocol is inefficient when transmitting low-rate data, resulting in wasted bandwidth and it is difficult to meet the needs of low-latency and high-quality transmission.
By determining the basic unit that carries customer data and mapping it into the FlexE time slot, the basic unit set is used to improve transmission efficiency, and using technologies such as 64/66 encoding and 256/257 encoding to optimize data transmission.
It improves the transmission efficiency of low-rate data, reduces bandwidth waste, and meets the transmission needs of low latency and high quality.
Smart Images

Figure CN111092686B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communications, and in particular to a data transmission method, apparatus, terminal equipment and storage medium. Background Art
[0002] The rapid increase in user information traffic has led to a rapid increase in the information transmission bandwidth of communication networks. The interface bandwidth speed of communication equipment has increased from 10M (unit: bit / second, similar to the following) to 100M, and then to 1G, 10G, and 100G. A large number of 100G optical modules have been commercialized on the market. At present, 400G optical modules have been developed, but the price of 400G optical modules is expensive, exceeding the price of 4 100G optical modules, resulting in low economic value for commercial use of 400G optical modules. In order to transmit 400G services on 100G optical modules, the International Standards Organization has defined the Flexible Ethernet (Flexibe Ethernet, FlexE) protocol. The FlexE protocol bundles multiple 100G optical modules to form a logical transmission channel with a higher transmission speed.
[0003] However, for low-rate customer data, such as business data with a rate lower than 5G, when low-latency, high-quality transmission is required, one piece of customer data can be transmitted in one 5G time slot, maintaining the transmission quality of the FlexE technology. One 5G time slot only transmits one piece of low-rate data, but the transmission efficiency is very low. Summary of the invention
[0004] The present application provides a data transmission method, apparatus, terminal equipment and storage medium.
[0005] In a first aspect, an embodiment of the present application provides a data transmission method, including:
[0006] Determine a basic unit that carries customer data, where a rate of the customer data is less than a set value, where the set value is determined according to a bandwidth of a flexible Ethernet FlexE timeslot, and the basic unit is a basic unit included in a basic unit set;
[0007] Mapping the customer data into the basic unit;
[0008] A basic unit set mapping the client data is sent via the FlexE timeslot.
[0009] In a second aspect, an embodiment of the present application provides a data transmission method, including:
[0010] Recover the basic unit set from the FlexE time slot;
[0011] The customer data is extracted from the basic unit set, the basic unit set includes a basic unit carrying the customer data, a rate of the customer data is less than a set value, and the set value is determined according to the FlexE time slot.
[0012] In a third aspect, an embodiment of the present application provides a data transmission device, the device comprising:
[0013] A determination module, configured to determine a basic unit carrying client data, the rate of which is less than a set value, the basic unit being a basic unit included in a basic unit set;
[0014] A mapping module, configured to map the customer data into the basic unit;
[0015] The sending module is configured to send a basic unit set mapping the customer data through a flexible Ethernet FlexE time slot.
[0016] In a fourth aspect, an embodiment of the present application provides a data transmission device, including:
[0017] A recovery module configured to recover a basic unit set from a FlexE timeslot;
[0018] The extraction module is configured to extract customer data from the basic unit set.
[0019] In a fifth aspect, an embodiment of the present application provides a terminal device, including:
[0020] one or more processors;
[0021] A storage device for storing one or more programs;
[0022] When the one or more programs are executed by the one or more processors, the one or more processors implement any one of the methods in the embodiments of the present application.
[0023] In a sixth aspect, an embodiment of the present application provides a storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, any one of the methods in the embodiments of the present application is implemented.
[0024] With regard to the above embodiments and other aspects of the present application and their implementation, further description is provided in the accompanying drawings, detailed description and claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 A flowchart of a data transmission method provided by this application;
[0026] Figure 1a Schematic diagram of the FlexE protocol principle provided for this application;
[0027] Figure 1b Schematic diagram of the arrangement relationship between the FlexE protocol overhead block and data block provided for this application;
[0028] Figure 1c A schematic diagram of the allocation of FlexE protocol customer services on multiple physical channels in the sending direction provided by this application;
[0029] Figure 1d A schematic diagram of restoring customer services on multiple physical channels of the FlexE protocol in the receiving direction provided for this application;
[0030] Figure 2 A flowchart of another data transmission method provided by the present application;
[0031] Figure 2a A schematic diagram of using sequence messages to implement transmission of small-granular services on FlexE timeslots provided by this application;
[0032] Figure 2b Schematic diagram of the position relationship between the small-granularity service processing link and the FlexE protocol processing link provided for this application;
[0033] Figure 2c A schematic diagram of using Ethernet messages with sequence numbers to implement small-granular service transmission provided by this application;
[0034] Figure 2d A schematic diagram of a small-granularity service transmission using 66-bit blocks to form cells provided by this application;
[0035] Figure 2e The S block structure diagram of the Ethernet message provided for this application after 64 / 66 encoding;
[0036] Figure 2f A schematic diagram of the structure of the S block carrying overhead information in the cell provided by this application;
[0037] Figure 2g A schematic diagram of the structure of the D block overhead information in the cell provided by this application;
[0038] Figure 2h A schematic diagram of the structure of T-block overhead information in the cell provided by this application;
[0039] Figure 2i Schematic diagram of the process of carrying client messages of various rates through cells provided for this application;
[0040] Figure 2j A schematic diagram of the transmission process of the information element provided for this application through a network of equipment using FlexE technology;
[0041] Figure 2kA schematic diagram of the transmission method of the information element provided in the present application in the FlexE protocol time slot;
[0042] Figure 2l A schematic diagram of inserting an idle information block into a FlexE protocol timeslot for an information element provided by this application;
[0043] Figure 2m Schematic diagram of the process of client data provided for this application being carried through cells after being encoded using 64 / 66;
[0044] Figure 2n Schematic diagram of the process of carrying the customer data provided for this application through cells after being encoded using 64 / 66 and 256 / 257;
[0045] Figure 2o A schematic diagram of using T blocks and D blocks to form a cell provided by this application;
[0046] Figure 2p A schematic diagram of using O blocks and D blocks to form a cell provided in an embodiment of the present application;
[0047] Figure 3 A schematic diagram of the structure of a data transmission device provided by this application;
[0048] Figure 4 A schematic diagram of the structure of another data transmission device provided by the present application;
[0049] Figure 5 A schematic diagram of the structure of a terminal device provided for this application. DETAILED DESCRIPTION
[0050] In order to make the purpose, technical solution and advantages of the present application more clear, the embodiments of the present application will be described in detail below with reference to the accompanying drawings. It should be noted that the embodiments and features in the embodiments of the present application can be combined with each other arbitrarily without conflict.
[0051] The steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions. Also, although a logical sequence is shown in the flowchart, in some cases, the steps shown or described can be performed in a sequence different from that shown here.
[0052] In an exemplary embodiment, Figure 1 A flowchart of a data transmission method provided by the present application. The method can be applied to improve the transmission efficiency of customer data whose transmission rate is less than a set value. The method can be performed by the data transmission device of the present application, which can be implemented by software and / or hardware and integrated on a terminal device. The terminal device can include any suitable type of user equipment. The terminal device can be a device that sends customer data.
[0053] Figure 1a Schematic diagram of the FlexE protocol principle provided for this application. Figure 1a , four 100G optical modules are combined through the FlexE protocol to form a 400G transmission channel, which is equivalent to the transmission speed of one 400G optical module, solving the transmission needs of 400G services without increasing costs.
[0054] The physical layer currently defined by the FlexE protocol is 100G, 200G and 400G. 20 time slots are defined on the 100G physical layer, and the corresponding bandwidth of each time slot is 5G bit / s, which is called FlexE time slot in this application. 200G and 400G physical layer services are transmitted by interleaving and multiplexing 2 100G and 400G service speeds into 200G and 400G. In the optical mode, the 100G customer message is 64 / 66 encoded before sending. The 64-bit customer message bit value is encoded into a 66-bit information block. The added 2 bits are located in front of the 66-bit block as the start mark of the 66-bit block, and then sent out from the optical port in the form of a 66-bit block. When receiving, the optical port identifies the 66-bit block from the received data stream, and then recovers the original 64-bit data from the 66-bit block to reassemble the data message. The FlexE protocol is located below the 64-bit to 66-bit conversion layer and sorts and plans the 66-bit code blocks before sending them. Figure 1b A schematic diagram of the arrangement relationship between the FlexE protocol overhead block and the data block provided for this application is shown in FIG. Figure 1b As shown in the figure, for 100G services, every 20 66-bit data blocks are divided into a data block group, each group has 20 data blocks, representing 20 time slots, and the total bandwidth is 100G, so each time slot represents a 5G (bit / s) service bandwidth. When sending a 66-bit data block, a FlexE overhead block is inserted after each 1023*20 data blocks are sent, such as Figure 1b After inserting the overhead block, continue to send the second 1023*20 data block and then insert the overhead block, and so on. In this way, the overhead block is periodically inserted during the process of sending the data block, and the interval between two adjacent overhead blocks is 1023*20 data blocks.
[0055] Figure 1c For the schematic diagram of allocating FlexE protocol customer services on multiple physical channels in the sending direction provided by this application, see Figure 1cWhen four 100G physical layers form a 400G logical service bandwidth, each physical layer still forms a data block group according to 20 data blocks, and inserts an overhead byte every 1023 data block groups. In the upper layer of the FlexE protocol, four 20 data blocks are assembled into a data block group consisting of 80 data blocks, representing 80 time slots. Customer services are transmitted in these 80 time slots, and the bandwidth of each time slot is 5G, with a total of 400G service transmission bandwidth.
[0056] Figure 1d For the schematic diagram of restoring customer services on multiple physical channels of the FlexE protocol in the receiving direction provided by this application, see Figure 1d At the receiving end, these four physical ports work independently according to the FlexE protocol to determine the FleE overhead block location and frame structure, and then sort the four time slots in sequence to restore 80 time slots and extract their respective customer services from the 80 time slots.
[0057] The FlexE overhead block is a 66-code block with special content. When the service data stream is sent, an overhead block is inserted every 1023*20 data blocks. The overhead block plays a positioning function in the entire service stream. Once the overhead block is determined, the position of the first time slot and the positions of all subsequent time slots are determined.
[0058] Eight consecutive overhead blocks have different definitions and contents, and eight consecutive overhead blocks form an overhead frame. An overhead block consists of a 2-bit block flag and a 64-bit block content. The block flag is located in the first two columns, and the following 64 columns are the block content. The block flag of the first overhead block is 10, and the block flags of the following seven overhead blocks are 01 or SS (SS indicates uncertain content). The content of the first overhead block is: 0x4B (8 bits, 4B in hexadecimal), C bit (1 bit, indicating adjustment control), OMF bit (1 bit, indicating overhead frame multiframe indication), RPF bit (1 bit, indicating remote defect indication), SC bit (1 bit, synchronization configuration), member group number (20 bits, i.e., FlexE group number), 0x5 (4 bits, 5 in hexadecimal), 000000 (28 bits, all 0). 0x4B and 0x5 are the flags of the first overhead block. When receiving, if the corresponding position in an overhead block is 0x4B and 0x5, it means that the overhead block is the first overhead block in the overhead frame, and the subsequent 7 consecutive overhead blocks form an overhead frame. In the overhead frame, the reserved part is reserved content and has not yet been defined.
[0059] In the FlexE protocol, eight overhead blocks are defined to form a frame, and the first overhead block is identified by two fields: 4B (hexadecimal, identified as 0x4B) and 05 (hexadecimal, identified as 0x5). When the corresponding positions in the overhead block are detected to be 0x4B and 0x05, it means that the overhead block is the first overhead block, and it forms a frame with the following seven overhead blocks. In the first overhead block, the OMF field is a multiframe indication signal.
[0060] OMF is a single-bit value, which is 0 for 16 consecutive frames, then 1 for 16 consecutive frames, then 0 for 16 consecutive frames, and then 1 for 16 consecutive frames. This is repeated every 32 frames, so that the multiframe consists of 32 frames.
[0061] The FlexE protocol defines 20 time slots on the 100G physical layer interface (Physical, PHY), and the bandwidth of each time slot is 5G (bit / s). By forming a member group through multiple 100G PHYs, various high-speed customer services such as 200G, 300G, and 400G can be realized.
[0062] When multiple FlexE physical members form a group, the calendar layer shows x*20 time slots (x is the number of members), and the customer service has been mapped to the selected time slot on the calendar layer for transmission. Each time slot on the calendar layer represents 5G bit / s bandwidth. A customer selects at least one time slot for transmission, and the minimum bandwidth of the customer service carried is 5G bit / s. When the customer service bandwidth is less than 5G, it must also occupy a 5G time slot, resulting in bandwidth waste. In the Ethernet standard definition, customer services include many low-speed services such as 10M, 100M, and 1G. These customer services may be a dedicated line for an enterprise group, a dedicated line between bank branches, or a dedicated line for a government agency. They need to be transmitted using independent pipes to achieve physical isolation and ensure information security. The FlexE protocol provides a time slot function to achieve physical isolation, but if a 5G pipe is used to carry a 1G or 100M customer service, the waste of carrying bandwidth is very serious.
[0063] Based on the FlexE protocol, this application provides a high-quality and efficient delivery method for low-rate and small-granular customer services.
[0064] like Figure 1 As shown, a data transmission method provided by the present application includes S110, S120 and S130.
[0065] S110, determining a basic unit that carries customer data, where a rate of the customer data is less than a set value, where the set value is determined according to a bandwidth of a flexible Ethernet FlexE timeslot, and the basic unit is a basic unit included in a basic unit set.
[0066] The data transmitted in this application may be customer data, which may be carried on a basic unit set and sent to other terminal devices through a FlexE time slot, such as a terminal device communicating with this terminal device, and the content of the communication includes customer data.
[0067] The customer data in this application can be carried on some basic units in the basic unit set. The customer data of a terminal device can be mapped on some basic units on the basic unit set, so that the basic unit set can carry the customer data of at least one terminal device. By mapping the customer data of multiple terminal devices on the basic unit set, the transmission efficiency is improved.
[0068] Specifically, in the case of sending client data, the present application may first determine a basic unit that carries the client data, and the basic unit may be a basic unit included in a basic unit set, such as a basic unit set including n basic units, where n is a positive integer. The basic unit that carries the client data of the terminal device in this step may be a basic unit numbered 1, 6, 11, 16, ..., or a basic unit from 1 to m, where m is a positive integer less than n. That is, the basic unit that carries the client data may be at least two basic units spaced apart in the basic unit set or at least two continuous basic units, or may be one basic unit in the basic unit set.
[0069] Determining the basic unit in this step can be understood as determining the format of the basic unit and determining the label of the basic unit, that is, the sequence number. Different basic units can have different formats. For example, when the basic unit is a cell, the format of the basic unit can be a 66-bit code block or a byte. The format of the basic unit is not limited here. After determining the format of the basic unit, the present application can determine the sequence number of the basic unit. Each basic unit in the basic unit set can be labeled with a sequence number. This step can determine the sequence number of the basic unit that carries the customer data.
[0070] The present application does not limit which basic units are used to carry client data, as long as the communicating parties pre-determine them to avoid mapping client data of different terminal devices to the same basic unit.
[0071] The rate of the customer data in this application is less than the set value, and the set value can be determined according to the bandwidth of the FlexE time slot. If the set value is the bandwidth of the FlexE time slot, the rate of the customer data in this application is less than the bandwidth of the FlexE time slot. If the bandwidth of the FlexE time slot is 5G, the customer data described in this application is less than 5G data, and the customer data can also be called small-granular customer service.
[0072] In one embodiment, the present application may determine the number of basic units that carry customer data based on the bandwidth required by customer data and the bearer bandwidth of a single basic unit. The bearer bandwidth of a single basic unit may be determined based on the bandwidth of a FlexE time slot and the cycle period of a basic unit, such as dividing the bandwidth of a FlexE time slot by the cycle period of a basic unit as the bandwidth of a single basic unit. The cycle period may be considered as the number of basic units contained in a basic unit set.
[0073] S120: Map the customer data to the basic unit.
[0074] After determining the basic unit, the present application can map the customer data onto the basic unit, that is, the basic unit set carries the customer data.
[0075] S130. Send a basic unit set mapping the customer data through the FlexE timeslot.
[0076] After mapping the customer data, this step may send the basic unit set mapped with the customer data through the FlexE timeslot.
[0077] The present application provides a data transmission method, which determines a basic unit that carries customer data, wherein the rate of the customer data is less than a set value, the set value is determined according to the bandwidth of a flexible Ethernet FlexE time slot, and the basic unit is a basic unit included in a basic unit set; maps the customer data to the basic unit; and sends the basic unit set mapping the customer data through the FlexE time slot. Each basic unit in the basic unit set serves as a transmission channel, and the FlexE time slot is divided into multiple sub-pipelines, and the number of sub-pipelines can be determined according to the number of basic units included in the basic unit set. The transmission efficiency of customer data whose rate is less than the set value is improved.
[0078] Based on the above embodiment, a variant embodiment of the above embodiment is proposed. It should be noted that in order to make the description concise, only the differences from the above embodiment are described in the variant embodiment.
[0079] In one embodiment, the basic unit includes a message or a cell.
[0080] In one embodiment, the basic unit set includes at least one basic unit, and the basic unit set is used to carry customer data of at least one terminal device.
[0081] The customer data of each terminal device can be mapped to different basic units in the basic unit set to improve the utilization of the FlexE time slot.
[0082] In one embodiment, the basic unit includes: overhead information, the overhead information includes one or more of the following: sequence information, the sequence information is used to identify the basic unit; idle indication information; maintenance management information.
[0083] Overhead information can be used to identify the basic unit. For example, the sequence information in the overhead information can be a sequence number, which is used to identify which basic unit in the basic unit set the basic unit is. Idle indication information can be used to indicate whether the basic unit is an idle basic unit. The idle indication information can be empty cell indication information, which is used to indicate an idle cell or a service cell. Maintenance management information (Operations Administration and Maintenance, OAM) can be used for the operation, management and maintenance of the basic unit. For example, the maintenance management information includes at least one or more of the following: local bit error, remote bit error, customer representation, delay time, customer type, local defect and remote defect.
[0084] In one embodiment, when the basic unit is a cell, the cell is formed by combining different target code blocks, the target code block includes a boundary control code block and a data code block, the data code block is used to carry the customer data, the boundary control code block is used to identify the boundary of the cell, and the boundary control code block includes one or more of the following: S block; T block; O block; predefined control code block.
[0085] The predefined control code block may be a user-defined control code block as long as it can be used to identify the boundary of a cell.
[0086] In the case where the border control code block contains an S block and a T block, the S block and the T block can be used to identify the beginning and end of the basic unit, respectively. In the case where the border control code block only contains an S block, the S block can identify the beginning and end of the basic unit, that is, it can be set at the beginning position and the end position of the basic unit. In the case where the border control code block only contains a T block, the T block can identify the beginning and end of the basic unit, that is, it can be set at the beginning position and the end position of the basic unit. In the case where only an O block is included, the O block can be used to identify the beginning and end of the basic unit, and the O block can be set only at the beginning position. In the case where only a predefined control code block is included, the beginning and end of the basic unit can be identified by the predefined control code block, and the predefined control code block can be set only at the beginning position of the basic unit.
[0087] One or more of the S block, T block, O block, and predefined control code blocks can be arbitrarily combined to identify a basic unit, which is not limited here.
[0088] In one embodiment, the overhead information in the basic unit is carried on the target code block.
[0089] Overhead information of the basic unit may be carried on a target code block, that is, may be carried on one or more of the following code blocks: a boundary control code block and a data code block.
[0090] In one embodiment, mapping the customer data into the basic unit includes:
[0091] In the case where the basic unit is a message, mapping the client data to a bearer content portion of the message;
[0092] In the case where the basic unit is a cell, the client data is mapped into a data block of the cell.
[0093] In one embodiment, the number of the FlexE timeslots is at least one.
[0094] When the number of FlexE time slots is at least two, the basic unit sets may be transmitted sequentially on the FlexE time slots.
[0095] In one embodiment, when the basic unit is sent through the FlexE interface, an idle information block is inserted every set number of basic units.
[0096] The rate adjustment capability can be improved by inserting idle information blocks. The number of idle information blocks is not limited here, and can be determined by those skilled in the art according to the receiving rate and sending rate of the terminal device. The idle information blocks may not carry client data and are used to adjust the rate.
[0097] In addition, when the basic unit is a cell, the client data of the present application can be directly mapped to the cell, or the client data can be encoded and the encoded data can be mapped to the cell. The encoding can be 64 / 66 encoding, or 64 / 66 encoding and 256 / 257 encoding, that is, 64 / 66 encoding can be performed first, and then 256 / 257 encoding can be performed.
[0098] The present application provides a data transmission method. Figure 2A flowchart of another data transmission method provided by the present application. The method can be applied to the case where customer data is received on a terminal device, the customer data is carried on a corresponding basic unit, and the speed of the customer data is less than a set value. The method can be performed by a data transmission device provided by the present application, the device can be implemented by software and / or hardware, and integrated on a terminal device. The terminal device can be a device for receiving customer data.
[0099] like Figure 2 As shown, the data transmission method provided by the present application includes: S210 and S220.
[0100] S210: Recover a basic unit set from the FlexE timeslot.
[0101] The present application may first determine the FlexE time slot, which may be pre-agreed for the terminal device of the communication, and is not limited here. Then the basic unit set is restored from the FlexE time slot. For example, based on the number of basic units contained in the basic unit set, a corresponding number of basic units are extracted from the FlexE time slot to restore the basic unit set. Each basic unit in the basic unit set has a corresponding sequence number, and the basic unit set can be restored based on the sequence number.
[0102] S220. Extract customer data from the basic unit set, where the basic unit set includes a basic unit that carries the customer data, and a rate of the customer data is less than a set value, where the set value is determined according to the FlexE timeslot.
[0103] After restoring the basic unit set, the present application can extract the customer data from the basic unit set. When extracting the customer data, the basic unit carrying the customer data can be first determined, and then the carried data can be extracted from the basic unit, and finally, the customer data can be obtained according to the sequence number of each basic unit and the carried content, such as splicing the data of each basic unit according to the sequence number to obtain the customer data.
[0104] When the client data is carried on a message or cell after being encoded, the bit values extracted from the message or cell are decoded to restore the original client message content, that is, the client data before encoding.
[0105] For details not yet provided in this embodiment, please refer to the above embodiments and will not be described in detail here.
[0106] The data transmission method provided by the present application recovers a basic unit set from a FlexE time slot; extracts customer data from the basic unit set, wherein the basic unit set includes a basic unit that carries the customer data, and the rate of the customer data is less than a set value, and the set value is determined according to the FlexE time slot. The method improves the transmission efficiency of customer data whose rate is less than the set value.
[0107] Based on the above embodiment, a variant embodiment of the above embodiment is proposed. It should be noted that in order to make the description concise, only the differences from the above embodiment are described in the variant embodiment.
[0108] In one embodiment, extracting customer data from the basic unit set includes:
[0109] Determine the basic unit that centrally carries the customer data;
[0110] The customer data carried in the basic unit is extracted.
[0111] In the case of extracting customer data, the present application may first determine the basic unit in the basic unit set that carries the customer data. For example, the sequence number of the basic unit that carries the customer data, i.e., the sequence information, may be determined, and the sequence information may be pre-agreed upon by both parties of the communication. In the present application, the terminal device that sends the basic unit set may be the sending device, and the terminal device that receives the basic unit set to extract the customer data may be the receiving device.
[0112] After determining the basic unit, the present application can directly extract the customer data carried by the basic unit. The number of basic units determined can be at least one, and when there are at least two, the contents carried by the basic units can be spliced according to the sequence number of the basic units to obtain the customer data.
[0113] In the case of extracting customer data in this application, the customer data may be the customer data of a terminal device, and the extraction of customer data of different terminal devices may adopt the same technical means, which is not limited here. For example, the basic unit centrally carries customer data 1 of terminal device a and customer data 2 of terminal device b. In this application, extracting customer data may be considered as the process of extracting customer data 1 of terminal device a or extracting customer data 2 of terminal device b.
[0114] In one embodiment, determining the basic unit that centrally carries the customer data includes:
[0115] Determine sequence information of basic units carrying client data;
[0116] A basic unit that carries the client data in the basic unit set is determined based on the sequence information.
[0117] The present application can extract sequence information from overhead information of the basic unit, and then use the basic unit corresponding to the sequence information in the basic unit set as the basic unit that carries the client data.
[0118] In one embodiment, the basic unit set includes at least one basic unit, and the basic unit set is used to carry customer data of at least one terminal device.
[0119] In one embodiment, the basic unit includes a message or a cell.
[0120] In one embodiment, the basic unit includes: overhead information, the overhead information includes one or more of the following: sequence information, the sequence information is used to identify the basic unit; idle indication information; maintenance management information.
[0121] In one embodiment, when the basic unit is a cell, the cell is formed by combining different target code blocks, the target code block includes a boundary control code block and a data code block, the data code block is used to carry the customer data, the boundary control code block is used to identify the boundary of the cell, and the boundary control code block includes one or more of the following: S block; T block; O block; predefined control code block.
[0122] In one embodiment, the overhead information in the basic unit is carried on the target code block.
[0123] In one embodiment, the number of the FlexE timeslots is at least one.
[0124] The following is an exemplary description of the present application:
[0125] The data transmission method described in the present application can be considered as a transmission method for transmitting low-rate clients (ie, client data) in the FlexE protocol, such as a high-efficiency, high-quality transmission method when the client service rate is less than 5G bit / s.
[0126] In the past few decades, network traffic has maintained a high growth rate, which has led to a rapid increase in the service bandwidth of communication equipment. The interface speed of communication equipment has increased from 10M (unit: bit / s, similar to the following) to 100M, and then to 1G and 10G. The service speed has doubled every few years. The FlexE protocol not only meets the delivery requirements of 400G services, but also solves the economic value problem of service delivery.
[0127] For low-rate services lower than the 5G rate, i.e., customer data (this application uniformly refers to such services as small-granular services, i.e., various types of customer services with rates lower than 5G, such as 1G, 100M, 10M, 2M, etc.), when low-latency, high-quality transmission requirements are required, one customer service can be transmitted on one 5G time slot, maintaining the transmission quality of the FlexE technology. One 5G time slot only transmits one low-rate service, but the transmission efficiency is very low.
[0128] The data transmission method of the present application may include the following steps:
[0129] Step 1: At the sending end, determine the message or cell format that carries the small-granule service, and map the small-granule service into the corresponding message or cell.
[0130] Among them, the small particle service can be considered as customer data, and the rate of the customer data is less than the set value. The message or cell can be considered as a basic unit for carrying the small particle service. The present application can first determine the format of the message or cell carrying the small particle service. For example, the format of the cell can be composed of bytes or bit blocks. In addition, the sequence number of the message or cell carrying the small particle service can also be determined to determine which messages or cells the small particle service is mapped to.
[0131] Step 2: At the sending end, all messages or cells are sent out sequentially through the FlexE interface timeslots.
[0132] Step 3: At the receiving end, recover all messages or cells from the corresponding FlexE interface timeslots.
[0133] The corresponding FlexE interface timeslot can be considered as a timeslot for sending messages or cells.
[0134] Step 4: At the receiving end, extract the mapping content from the corresponding message or cell to restore the small-granularity customer service.
[0135] Some of the messages or cells are used to carry customer data of a terminal device. The present application can extract mapping content from the message or cell corresponding to the terminal device to restore small-granular customer services. All messages or cells can carry customer data of at least one terminal device. Each message or cell can have a unique sequence number. The present application can select a message or cell based on the sequence number to extract customer data.
[0136] Wherein, step 1 may specifically include the following contents:
[0137] Step 1.1: The small-granularity service mapping object can be a standard Ethernet message structure or a cell structure.
[0138] Step 1.2: The message or cell carries a sequence number and overhead bytes. The sequence number divides all cells into many sub-cells (that is, all cells are numbered, and each number corresponds to a cell). The sub-cells provide sub-transmission channels. The overhead bytes provide, including but not limited to, OAM information and time information.
[0139] The sequence number and the overhead byte may be considered as overhead information. The time information may be the delay time in the OAM information.
[0140] Step 1.3: The cell can be formed by combining different code blocks in the 64 / 66 encoding specification: special control code blocks are used to mark the boundaries of the cell, and data code blocks are used to carry customer content. Special control code blocks can be S blocks, T blocks, O blocks, or other defined control blocks.
[0141] Step 1.4: The small-granular customer service bit value can be directly mapped to the message or cell, or the small-granular customer service content can be encoded first, and then the encoding result can be mapped to the message or cell. The encoding can be 64 / 66 encoding, or a combination of 64 / 66 encoding and 256 / 257 encoding. For example, 64 / 66 encoding is performed first, and then 256 / 257 encoding is performed.
[0142] Step 1.5: When the message format is used, the mapping process is to directly fill the customer service into the message content part; when the information element is composed of 66-bit blocks, the mapping process is to fill the bit value of the customer service into the data block. If the customer message is encoded, the encoded bit value is filled into the data block.
[0143] Among them, step 2 includes the following contents:
[0144] Step 2.1: When the Ethernet message format is used to carry small-granularity services, the Ethernet message is 64 / 66 encoded according to the FlexE protocol specification, and then the 66-bit code block is sent through the FlexE timeslot.
[0145] Step 2.2: When a cell composed of 66-bit code blocks is used to carry small-granularity services, the cell code blocks are directly sent through the FlexE timeslot.
[0146] Step 2.3: A message flow or a cell flow can be sent through one FlexE timeslot or multiple FlexE timeslots.
[0147] Step 2.4: The two consecutive cells in the cell stream are completely adjacent, and there is no idle interval between the cells. When sending through the FlexE timeslot, an appropriate idle information block (IDLE) is inserted into the cell stream to provide speed adjustment capability.
[0148] Among them, step 4 includes the following contents:
[0149] Step 4.1: Determine the sequence number carried by each message or cell, and extract the customer content, that is, the customer data, from the message or cell with the corresponding sequence number.
[0150] The corresponding sequence number can be regarded as the terminal device from which the client data is to be extracted. Different terminal devices may have different sequence numbers to identify which messages or cells the client data of the terminal device is carried on.
[0151] Step 4.2: When the client content is carried in a message or cell after being encoded, the bit value extracted from the message or cell is decoded to restore the original client message content.
[0152] In this application, a virtual intermediate customer is identified, namely, the virtual intermediate customer, whose speed bandwidth is 5G. The message of the virtual intermediate customer is a fixed-length message (fixed-length message, or fixed-length cell, collectively referred to as cell message), which can be carried at full rate on the FlexE time slot. Figure 2a See the schematic diagram of using sequence messages to realize transmission of small-granular services on FlexE time slots provided by this application. Figure 2a The fixed-length message carries a sequence number, i.e., a serial number. The sequence number appears cyclically. The sequence number divides the virtual intermediate customer message into many sub-time slot messages (e.g., the virtual intermediate customer includes n messages, and the sequence number is used to identify each message, and each message can be considered as a sub-time slot message). Each sub-time slot message provides a sub-transmission channel.
[0153] When the lengths of the intermediate client messages are all equal (that is, the basic units included in the intermediate client messages can be of fixed length), the virtual intermediate clients are divided into many sub-time slot messages with the same speed through sequence numbers. Each sub-time slot message provides a sub-transmission pipeline, and the speeds of all sub-time slot pipelines are exactly the same. The real original customer is carried in the virtual intermediate customer message, and different original customer message contents are placed in cell messages with different sequence numbers (i.e., sub-transmission pipes). For example, the first customer is placed in the cell message with sequence numbers 1, 6, 11, ..., n*5+1 (n is a natural number of 0, 1, 2, 3, and the same applies below), the second customer is placed in the cell message with sequence numbers 2, 7, 12, ..., n*5+2, the third customer is placed in the cell message with sequence numbers 3, 8, 13, ..., n*5+3, the fourth customer is placed in the cell message with sequence numbers 4, 9, 14, ..., n*5+4, and the fifth customer is placed in the cell message with sequence numbers 5, 10, 15, ..., n*5+5. Using this method, one cell is selected every 5 cells to carry a real customer. In this way, the virtual intermediate customer is evenly divided into 5 equal parts. The speed of each part is 1 / 5 of the speed of the virtual intermediate customer. When the speed of the virtual intermediate customer is 5G, the speed of each part is 1G. In this way, the intermediate virtual customer with a 5G rate is evenly divided into 5 parts to form 5 sub-transmission pipes. The bandwidth of each sub-transmission pipe is 1G. The 5 1G sub-pipelines share a FlexE time slot. Each sub-pipeline carries a real customer. The real customers are physically completely isolated and do not affect each other.
[0154] Figure 2bSchematic diagram of the position relationship between the small-granularity service processing link and the FlexE protocol processing link provided for this application. Figure 2b , the customer data of FlexE customer a to FlexE customer e can be carried on basic unit 1, basic unit 2, basic unit 3 to basic unit n, forming a virtual intermediate customer. The processing means after forming the virtual intermediate customer are the same as the processing means in the related art, such as performing FlexE general processing, including but not limited to inserting or deleting idle code blocks, and then performing 100G physical interface processing.
[0155] The virtual client message format is a fixed-speed, fixed-length message, and the message format can be a standard Ethernet message. Figure 2c The schematic diagram of using Ethernet messages with sequence numbers to realize small-granular service transmission provided by this application is shown in Figure 2c , a standard Ethernet message consists of a source address, SA, and a destination address, DA, such as a source MAC address (6 bytes), a destination MAC address (6 bytes), a message content, and a CRC checksum (4 bytes). The message content is used to carry real customer information. There is a frame interval (12 bytes on average) and a preamble (1 byte of frame delimiter and 7 bytes of preamble, a total of 8 bytes) between messages. Figure 2c It can be seen that the proportion of the message content to the entire message (including the frame interval and the preamble) is not high, and the utilization rate of the transmission bandwidth is not high. When the message length is shorter, the message content is smaller and the bandwidth utilization rate is lower. For a minimum length message of 64 bytes (excluding the frame interval and the preamble), the message content is only 48 bytes, and the actual bandwidth utilization rate is only 48 / (64+12+8)=57.14%. When the virtual intermediate customer message is carried through the FlexE timeslot, the message is first 64 / 66 encoded, converted into a 66-bit code block, and then carried and transmitted on the FlexE timeslot.
[0156] The Ethernet standard has established a 64 / 66 encoding rule. The 64 / 66 encoding rule converts 64-bit (8-byte) customer information, i.e., customer data, into a 66-bit code block: the first two bits are synchronization header bits. When the synchronization header value is "01", it indicates that the code block is a data block (D block). The following 8 bytes (64 bits) are the byte content of the code block. The other parts of the intermediate virtual customer message, including the source MAC address, destination MAC address information, message body, and CRC check, are encoded into a D block. For example, a D block includes D 0 , D 1 , D 2 , D 3 , D 4 , D 5 , D 6 and D 7When the synchronization header value is "10", it indicates that the code block is a control block. The first byte (8 bits) after the synchronization header is the type value of the control block (block type field). When the control value is "0x1E" (hexadecimal), it indicates that the control block is an idle code block (IDLE block). The following content in the code block is idle information. For example, a C block includes C 0 , C 1 , C 2 , C 3 , C 4 , C 5 , C 6 and C 7 When the control value is "0x78" (hexadecimal), it means that the control block is an S block (or S0 block, indicating the message start block). The S block indicates the start block of a message. The client message preamble (including the frame delimiter) is encoded to become an S block. For example, the S block includes D 1 , D 2 , D 3 , D 4 , D 5 , D 6 and D 7 . After the S block is the content of the message, so the D block appears after the S block. When the control value is 0x87, 0x99, 0xAA, 0xFF, 0xB4, 0xCC, 0xD2, 0xE1, 0xFF, it means that the control block is T0, T1, T2, T3, T4, T5, T6, T7 block, a total of 8 types of T blocks. T block represents a data message end code block. Due to the uncertainty of the message length, after the main part of a message is encoded into a D block, if the remaining bytes are less than 8 bytes, it cannot be encoded into a D block. The remaining bytes can be 0, 1, 2, 3, 4, 5, 6, 7 bytes, so 8 T block formats are defined. Different T blocks carry different numbers of data bytes in the remaining part of the message: 0, 1, 2, 3, 4, 5, 6, 7 bytes of customer data bytes.
[0157] The defined virtual intermediate client message is converted into a 66-bit block in the FlexE timeslot. In the application, the 66-bit code block can be directly used to form a cell format to carry small-granular client messages instead of the Ethernet message format, which greatly improves bandwidth utilization. The cell format of the virtual intermediate client consists of a cell boundary indicator code block and a data block.
[0158] Figure 2d The schematic diagram of using 66-bit blocks to form cells to realize small-granular service transmission provided by this application is shown in Figure 2d, a cell is composed of S blocks + a fixed number of D blocks + T blocks (m is a positive integer). A fixed-length cell is formed by S blocks + a fixed number of D blocks + T blocks, and a fixed-length cell message composed of 66-bit code blocks is used to carry low-speed small-granular customers, and the bandwidth utilization rate of carrying customer information is significantly improved. For example, if T7 is used as the cell tail block, the T7 block can carry 7 bytes of real customer information. If the cell message structure is: S block + 32 D blocks + T7, and customer information is carried on D blocks and T blocks, a cell can carry 32*8+7=263 bytes of real customer bytes, and the cell length is 8+32*8+8=272 bytes. The bandwidth utilization rate of the cell carrying customers is 263 / 272=96.32%. Compared with the standard Ethernet message solution, the cell solution composed of 66-bit code blocks has significantly improved bandwidth utilization. If the number of D blocks in the cell increases, the bandwidth utilization rate of the cell carrying customer information will be greater.
[0159] Figure 2e The Ethernet message provided in this application is an S block structure diagram after 64 / 66 encoding. In the Ethernet standard, after the Ethernet message is 64 / 66 encoded, the preamble and frame delimiter will be encoded into S blocks. The structure of the encoded S block is as follows Figure 2e , the 7 bytes after the S block are fixed values: 6 bytes are "0x55" (preamble byte content) and 1 "0xD5" (frame delimiter byte content), and these 7 bytes are fixed values. In the present application, some of these byte positions can be reused to transmit the overhead information of the cell (such as sequence number, cell type indication, OAM information, etc.), such as carrying the overhead information in the 7 bytes after the S block. Among them, the cell type indication may include the empty cell indication signal Null and the cell forward error indication signal AIS. For example, in the S block, 3 bytes (24 bits) are used to transmit the overhead information of the cell: the empty cell indication signal Null, the cell forward error indication signal AIS, the cell sequence number value Cell SQ, and the cell maintenance management information OAM. In implementation, the cell overhead information may include but is not limited to these four types of content.
[0160] Figure 2f For the structural diagram of the S block carrying overhead information in the cell provided by this application, see Figure 2f The overhead information of the cell is placed at the 2nd, 3rd, and 4th byte positions of the S block. In practical applications, the overhead information can also be placed at other byte positions in the S block, which is not limited here.
[0161] Overhead information may also be placed in a D block, such as in a D block after an S block, and the overhead information may be carried on a portion of the D block. Figure 2g For the structural diagram of the D block overhead information in the cell provided by this application, see Figure 2g, the overhead information is placed in the first D code block. Some of the 8 bytes in the first D code block carry overhead information, and some carry customer information. For example, the first 3 bytes in the first D code block are used to carry overhead information, and the following 5 bytes are used to transmit real customer information. Alternatively, the first 6 bytes in the first D data block are used to carry real customer signals, and the following 2 bytes are used to transmit overhead information.
[0162] Overhead information can also be placed on the T block. Figure 2h For the structural diagram of T block overhead information in the cell provided by this application, see Figure 2h , T7 is used as the cell end block, and other T code blocks can also be used. Some bytes in T7 are used to transmit overhead information, and some bytes are used to transmit customer information. For example, the overhead information is placed on the 6th, 7th, and 8th bytes in the T block, and the 2nd, 3rd, 4th, and 5th bytes in the T7 block are used to transmit customer signal information. In actual applications, the overhead information can also be placed in other byte positions in the T block. When other control code blocks are used as cell boundary indicators, the overhead information can be placed on the cell boundary indicator code block.
[0163] The real customer services can be mapped into the virtual customer's cells, and the real customer content can be 64 / 66 encoded, and the encoded information content can be placed in the cells for carrying transmission. Figure 2i Schematic diagram of the process of carrying various client messages at different rates through cells provided for this application, wherein the client message is the client data, see Figure 2i , the cell sequence number range can be 1-2000, that is, n is 2000, and the sequence number appears cyclically every 2000 cells. When all cells are carried and transmitted through a FlexE timeslot, the total bandwidth of all cells is 5G bit / s. For a cell with a fixed sequence number value, its physical bandwidth is 2.5M bit / s. In this example, it can include customers (i.e. Client) 1, Customer 2, Customer 3, and Customer 4. For customer services with a rate of 1G, 400 cells are selected from 2000 cells for carrying and transmission, and the bandwidth of 400 cells is 1G bit / s. In order to reduce the delay time of customer messages, the specific implementation adopts equal interval selection of bearer cells. For 1G customer services, one cell can be selected every 5 cells to transmit 1G customer information, for example, cells with sequence numbers 1, 6, 11, 16, etc. are selected to carry customer messages; for 100M customer services, one cell can be selected every 50 cells to transmit 100M customer information; for 10M customer services, one cell can be selected every 500 cells to transmit 10M customer information, and so on. Similar methods are used for customer messages of other rates. For 2M E1 customer services, one cell can be selected to carry.
[0164] Figure 2j The schematic diagram of the transmission process of the information cell provided for this application through the FlexE technology device network is shown in Figure 2j , using fixed-length cell messages (such as cell messages with a length of n) to carry customer data of small-granule, low-speed customers. Each cell message can be identified by a cell sequence number. In the figure, four devices use FlexE technology to form a transmission network. A time slot (5G bit / s) is selected on the FlexE channel between device 1 and device 4 as a transmission pipeline for small-granule, low-speed customers. A virtual intermediate customer is created on the transmission pipeline. The virtual intermediate customer is a fixed-length cell. Each cell carries a sequence number (such as the cell SQ value in the figure) and other overhead fields. The cell message uses a fixed length, and the sequence number appears cyclically. The cell message can be transmitted from device 1 to device 4 at full traffic (5G bit / s rate). On intermediate devices 2 and 3, cells are received from one direction of the device and then cross-transmitted to another direction. New customers will be added and subscribed on devices 2 and 3. On device 1, some cells are selected to carry the content of customer 1 (i.e., customer data), such as cells corresponding to cell sequence numbers 1, 6, 11, 16, etc. are selected to carry the customer data of customer 1, and the carrying bandwidth is 1 G bit / s; when the cells pass through device 2, some cells are selected to carry the content of customer 2, such as cells with cell sequence numbers 2, 7, 12, 17, etc. are selected to carry the customer data of customer 2, and the carrying bandwidth is also 1 G bit / s; similarly, when the cells pass through device 3, some cells are selected to carry the content of customer 3, such as cells with cell sequence numbers 3, 8, 13, 18, etc. are selected to carry the customer data of customer 3. On device 4, the information of customer 1, such as customer data, is extracted and restored from the cell sequence numbers 1, 6, 11, 16, etc., the information of customer 2 is extracted and restored from the cell sequence numbers 2, 7, 12, 17, etc., and the information of customer 3 is extracted and restored from the cell sequence numbers 3, 8, 13, 18, etc. These cells divide a FlexE timeslot into many sub-cell timeslots, each of which forms a low-rate transmission pipeline, and different numbers of cell sub-timeslots are combined to form transmission pipelines of different rates. In this example, different small-granular low-speed customers select different cell sub-pipelines for carrying, and these small-granular customers are completely isolated from each other, independent of each other and do not affect each other.
[0165] Figure 2k For a schematic diagram of the transmission method of the information element provided in this application in the FlexE protocol time slot, see Figure 2kIn this application, the cell format can be composed of S block + D block + T block. When transmitting cells in the FlexE protocol time slot, there can be no gaps between all cells. The two cells before and after are connected together. When the cells are connected together and there is no free space between the cells, the cells fill the selected FlexE time slot. The cell bandwidth is the same as the time slot bandwidth, and the utilization rate of the flexE time slot bandwidth is the highest. In the transmission network composed of FlexE technology, due to the deviation of clock frequencies between different devices in the network, such as Figure 2j , there is a deviation in the clock frequency between device 1 and device 2. The receiving rate and sending rate of FlexE customer services on device 2 are different. It is necessary to add and delete idle information blocks (IDLE blocks) for customer services, adjust the speed of customer services, and adapt the frequency deviation in the receiving and sending directions. When all cells are adjacent, there are no idle information blocks in the cell flow, and no idle information blocks are deleted, so speed adjustment cannot be performed.
[0166] Figure 2l A schematic diagram of inserting an idle information block into a FlexE protocol timeslot for a cell provided in this application, such as Figure 2l In order to provide the speed adjustment capability of the cell stream, idle information blocks (IDLE), i.e., I blocks, can be appropriately inserted into the cell stream. The Ethernet standard stipulates that the maximum deviation between the device clock frequency and the nominal clock frequency is positive or negative 100 PPM (PPM: one part per million), and the maximum clock deviation between any two devices is 200 PPM. Inserting 200 idle blocks (IDLE blocks) in every million code blocks in the cell message code stream can meet the clock frequency deviation adjustment function. The inserted idle information blocks need to be located between two cell code blocks, that is, one idle code block is inserted every 5000 information code blocks. The cell code block stream after inserting an appropriate amount of idle information blocks is sent out through the FlexE timeslot bearer. In the bearer network, each intermediate device adds or deletes idle information blocks in the cell code block stream according to the clock frequency deviation to achieve rate adjustment and adaptation, and finally sends the cell code block stream to the final receiving device.
[0167] Figure 2m The schematic diagram of the process of the customer data provided for this application being carried by cells after being encoded with 64 / 66 is as follows Figure 2mAs shown, the time slot of the FlexE protocol is divided into many sub-time slots by using the cell message method to realize a smaller transmission pipeline. When the cell message carries the customer message, when the customer is a continuous, constant rate bit stream (i.e., CBR service) such as E1 service, SDH service, OTN service, etc., the customer service byte or bit content is directly placed in the cell message carrying part. When the customer message is the content of the Ethernet message, since the message has the start and end information, the customer message is first encoded, such as 64 / 66 encoding, and a 66-bit code block stream is obtained after encoding. All bit values in all code blocks in the code block stream of continuous 66-bit rows are connected in series to form a continuous single-bit stream. These bit stream values are re-cut into 64-bit lengths, and then carried and transmitted in D bytes in the cell, thereby realizing bit mapping.
[0168] Since the cell itself carries overhead bytes, the part of the cell that carries customer information only occupies a part of the entire cell, and the bandwidth utilization of the bearer pipe cannot reach 100%. At the same time, after the customer message is 64 / 66 encoded, the 64-bit content is increased to 66 bits, which causes bandwidth expansion and further reduces bandwidth utilization.
[0169] Figure 2n The schematic diagram of the process of the customer data provided for this application being carried by cells after being encoded with 64 / 66 and 256 / 257 is shown in Figure 2n In order to improve bandwidth utilization, after the customer message is 64 / 66 encoded, it can be 256 / 257 encoded again, so that four 66-bit code blocks can be re-encoded into one 257-bit code block, reducing the bandwidth expansion caused by encoding and improving bandwidth utilization. Customer services, that is, how to encode customer data and how to map it to cells can have various specific implementation methods, all of which are within the scope of protection of this application.
[0170] In the previous example, a virtual intermediate customer is established on one 5G time slot of the FlexE protocol. The virtual intermediate customer uses fixed-length cells or messages, and selects some cells or messages to carry real small-grained low-speed customer content. In specific implementation, a virtual intermediate customer can also be established on multiple 5G time slots of the FlexE protocol. For example, arbitrarily select 2 5G time slots of the FlexE protocol to establish a virtual intermediate customer, so that the bandwidth of the virtual intermediate customer is 10G bit / s. When the cell sequence number range is from 1-2000, each cell with a sequence number represents a bandwidth of 5M bit / s. In a sequence number cycle, 200 cells are selected to carry small-grained low-speed customers (one cell is selected every 10 cells), and the bandwidth for carrying small-grained low-speed services is 1G, providing a transmission pipeline with a 1G rate. In specific implementation, a virtual intermediate customer can be created on any number of FlexE time slots, and the sequence number range of the cells can also be any number, which are all within the scope of this application.
[0171] In the present application, the cell structure may be composed of S block + D block + T block, which is a special case of the cell structure. The unified structural features of the cell are: boundary code block + data code block. The boundary code block is used to indicate the start and end positions of the cell. The boundary code block can be two types of code blocks, one code block indicates the start position, and the other code block indicates the end position. The boundary code block can have only one type of code block, which indicates the end position of the previous cell and the start position of the next cell at the same time. The data code block is used to carry customer information content. The specific format of the cell can be of various types: for example, instead of using S block as the cell start block and T block as the cell end block, other types of control type code blocks are used as the start block and end block of the cell. Figure 2o For the schematic diagram of using T blocks and D blocks to form a cell provided in this application, see Figure 2o In this application, two consecutive T blocks can be used as the start block and end block of a cell, the front T block is the end block of the cell, and the back T block is the start block of the cell.
[0172] Figure 2p The schematic diagram of using O blocks and D blocks to form a cell provided in the embodiment of the present application is shown in FIG. Figure 2pThe cell structure may not require a start block and an end block, but only requires a cell boundary code block. The cell boundary code block is the end position of the previous cell and the end position of the next cell. All data blocks between the cell boundary code blocks are the cell carrying part. A custom control code is used as the cell boundary code block. The custom control code block can be an O block in the Ethernet definition encoding. The O block carries custom identification content, such as the encoding result of the 4th line in the 64 / 66 encoding rule (the control word content in the O block is "0x4B", and the O0 value in the code block can adopt various values. In this application, a custom special value is taken to distinguish it from the existing O0 value in the standard).
[0173] The present application provides a data transmission device, which can be integrated in a terminal device. Figure 3 A schematic diagram of the structure of a data transmission device provided in this application, such as Figure 3 As shown, a data transmission device provided by the present application includes: a determination module 31, configured to determine a basic unit that carries customer data, the rate of the customer data is less than a set value, and the basic unit is a basic unit included in a basic unit set; a mapping module 32, configured to map the customer data to the basic unit; a sending module 33, configured to send the basic unit set mapping the customer data through a flexible Ethernet FlexE time slot.
[0174] The data transmission device provided in this embodiment is used to implement the following Figure 1 The data transmission method of the embodiment shown in the figure, the data transmission device provided in this embodiment realizes the principle and technical effect of Figure 1 The data transmission method of the illustrated embodiment is similar and will not be described in detail here.
[0175] Based on the above embodiment, a variant embodiment of the above embodiment is proposed. It should be noted that in order to make the description concise, only the differences from the above embodiment are described in the variant embodiment.
[0176] In one embodiment, the basic unit includes a message or a cell.
[0177] In one embodiment, the basic unit set includes at least one basic unit, and the basic unit set is used to carry customer data of at least one terminal device.
[0178] In one embodiment, the basic unit includes: overhead information, the overhead information includes one or more of the following: sequence information, the sequence information is used to identify the basic unit; idle indication information; maintenance management information.
[0179] In one embodiment, when the basic unit is a cell, the cell is formed by combining different target code blocks, the target code block includes a boundary control code block and a data code block, the data code block is used to carry the customer data, the boundary control code block is used to identify the boundary of the cell, and the boundary control code block includes one or more of the following: S block; T block; O block; predefined control code block.
[0180] In one embodiment, the overhead information in the basic unit is carried on the target code block.
[0181] In one embodiment, the mapping module 32 is specifically configured as follows:
[0182] In the case where the basic unit is a message, mapping the client data to a bearer content portion of the message;
[0183] In the case where the basic unit is a cell, the client data is mapped into a data block of the cell.
[0184] In one embodiment, the number of the FlexE timeslots is at least one.
[0185] In one embodiment, when the basic unit is sent through the FlexE interface, an idle information block is inserted every set number of basic units.
[0186] The present application also provides a data transmission device, which can be integrated in a terminal device. Figure 4 A structural diagram of another data transmission device provided by the present application is as follows: Figure 4 As shown, the device includes: a recovery module 41, which is configured to recover a basic unit set from a FlexE time slot; and an extraction module 42, which is configured to extract customer data from the basic unit set.
[0187] The data transmission device provided in this embodiment is used to implement the following Figure 2 The data transmission method of the embodiment shown in the figure, the data transmission device provided in this embodiment realizes the principle and technical effect of Figure 2 The data transmission method of the illustrated embodiment is similar and will not be described in detail here.
[0188] Based on the above embodiment, a variant embodiment of the above embodiment is proposed. It should be noted that in order to make the description concise, only the differences from the above embodiment are described in the variant embodiment.
[0189] In one embodiment, the extraction module 42 is specifically configured as follows:
[0190] Determine the basic unit that centrally carries the customer data;
[0191] The customer data carried in the basic unit is extracted.
[0192] In one embodiment, the extraction module 42 determines the basic unit that carries the customer data in the basic unit collection, including:
[0193] Determine sequence information of basic units carrying client data;
[0194] A basic unit that carries the client data in the basic unit set is determined based on the sequence information.
[0195] In one embodiment, the basic unit set includes at least one basic unit, and the basic unit set is used to carry customer data of at least one terminal device.
[0196] In one embodiment, the basic unit includes a message or a cell.
[0197] In one embodiment, the basic unit includes: overhead information, the overhead information includes one or more of the following: sequence information, the sequence information is used to identify the basic unit; idle indication information; maintenance management information.
[0198] In one embodiment, when the basic unit is a cell, the cell is formed by combining different target code blocks, the target code block includes a boundary control code block and a data code block, the data code block is used to carry the customer data, the boundary control code block is used to identify the boundary of the cell, and the boundary control code block includes one or more of the following: S block; T block; O block; predefined control code block.
[0199] In one embodiment, the overhead information in the basic unit is carried on the target code block.
[0200] In one embodiment, the number of the FlexE timeslots is at least one.
[0201] The present application provides a terminal device, Figure 5 A schematic diagram of the structure of a terminal device provided for this application, such as Figure 5 As shown, the terminal device provided in the present application includes one or more processors 51 and a storage device 52; the processor 51 in the terminal device can be one or more, Figure 5 A processor 51 is taken as an example; the storage device 52 is used to store one or more programs; the one or more programs are executed by the one or more processors 51, so that the one or more processors 51 implement the data transmission method as described in the embodiment of the present application.
[0202] The terminal device further includes: a communication device 53 , an input device 54 and an output device 55 .
[0203] The processor 51, storage device 52, communication device 53, input device 54 and output device 55 in the terminal device may be connected via a bus or other means. Figure 5 The example of connecting through bus is taken in the following.
[0204] The input device 54 may be used to receive input digital or character information and generate key signal input related to user settings and function control of the terminal device. The output device 55 may include a display device such as a display screen.
[0205] The communication device 53 may include a receiver and a transmitter. The communication device 53 is configured to perform information transmission and reception communication according to the control of the processor 51.
[0206] The storage device 52, as a computer-readable storage medium, can be configured to store software programs, computer executable programs and modules, such as program instructions / modules corresponding to the data transmission method described in the embodiment of the present application (for example, the determination module 31, the mapping module 32 and the sending module 33 in the data transmission device; and the recovery module 41 and the extraction module 42 in the data transmission device). The storage device 52 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function; and the storage data area may store data created according to the use of the terminal device, etc. In addition, the storage device 52 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some instances, the storage device 52 may further include a memory remotely arranged relative to the processor 51, and these remote memories may be connected to the terminal device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0207] The embodiment of the present application also provides a storage medium, the storage medium stores a computer program, and the computer program, when executed by a processor, implements any data transmission method described in the embodiment of the present application. The data transmission method includes: determining a basic unit carrying customer data, the rate of the customer data is less than a set value, the set value is determined according to the bandwidth of the flexible Ethernet FlexE time slot, and the basic unit is a basic unit included in a basic unit set; mapping the customer data to the basic unit; and sending the basic unit set mapping the customer data through the FlexE time slot.
[0208] Or, the data transmission method includes: recovering a basic unit set from a FlexE timeslot;
[0209] The customer data is extracted from the basic unit set, the basic unit set includes a basic unit carrying the customer data, a rate of the customer data is less than a set value, and the set value is determined according to the FlexE time slot.
[0210] The computer storage medium of the embodiment of the present application can adopt any combination of one or more computer-readable media. Computer-readable media can be computer-readable signal media or computer-readable storage media. Computer-readable storage media can be, for example, - but not limited to - electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any combination of the above. More specific examples (non-exhaustive lists) of computer-readable storage media include: electrical connections with one or more wires, portable computer disks, hard disks, random access memories (Random Access Memory, RAM), read-only memories (Read Only Memory, ROM), erasable programmable read-only memories (Erasable Programmable Read Only Memory, EPROM), flash memory, optical fibers, portable CD-ROMs, optical storage devices, magnetic storage devices, or any suitable combination of the above. Computer-readable storage media can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.
[0211] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, which carry computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to: electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0212] The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, radio frequency (RF), etc., or any suitable combination of the above.
[0213] Computer program code for performing the operation of the present application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., using an Internet service provider to connect through the Internet).
[0214] The above description is merely an exemplary embodiment of the present application and is not intended to limit the protection scope of the present application.
[0215] It will be appreciated by those skilled in the art that the term terminal equipment covers any suitable type of wireless user equipment, such as a mobile phone, a portable data processing device, a portable web browser or a car-mounted mobile station.
[0216] In general, various embodiments of the present application can be implemented in hardware or dedicated circuits, software, logic or any combination thereof. For example, some aspects can be implemented in hardware, while other aspects can be implemented in firmware or software that can be executed by a controller, microprocessor or other computing device, although the present application is not limited thereto.
[0217] Embodiments of the present application may be implemented by executing computer program instructions by a data processor of a mobile device, for example in a processor entity, or by hardware, or by a combination of software and hardware. The computer program instructions may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages.
[0218] The block diagram of any logic flow in the drawings of the present application may represent program steps, or may represent interconnected logic circuits, modules and functions, or may represent a combination of program steps and logic circuits, modules and functions. A computer program may be stored on a memory. The memory may have any type suitable for the local technical environment and may be implemented using any suitable data storage technology, such as but not limited to read-only memory (ROM), random access memory (RAM), optical memory devices and systems (digital versatile discs (DVD) or compact disks (CD)), etc. Computer-readable media may include non-transient storage media. A data processor may be any type suitable for the local technical environment, such as but not limited to a general-purpose computer, a special-purpose computer, a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FGPAs) and a processor based on a multi-core processor architecture.
[0219] By way of exemplary and non-limiting examples, a detailed description of exemplary embodiments of the present application has been provided above. However, various modifications and adjustments to the above embodiments will be apparent to those skilled in the art when considered in conjunction with the accompanying drawings and claims, but will not depart from the scope of the present application. Therefore, the proper scope of the present application will be determined according to the claims.
Claims
1. A data transmission method, characterized in that: include: Determine a basic unit that carries customer data, where the basic unit is a basic unit included in a basic unit set; Mapping the customer data into the basic unit; Sending a basic unit set mapping the customer data via a FlexE timeslot; Each basic unit in the basic unit set is used as a transmission channel, and the FlexE time slot is divided into a plurality of sub-pipelines, and the number of the sub-pipelines is determined according to the number of basic units included in the basic unit set; The customer data is carried on the basic unit, and the customer data is completely isolated physically.
2. The method according to claim 1, characterized in that The basic unit includes a message or a cell.
3. The method according to claim 1, characterized in that The basic unit set includes at least one basic unit, and the basic unit set is used to carry at least one client data.
4. The method according to claim 1, characterized in that The basic unit includes: overhead information, and the overhead information includes one or more of the following: sequence information, and the sequence information is used to identify the basic unit; idle indication information; maintenance management information.
5. The method according to claim 1, characterized in that In the case where the basic unit is a cell, the cell is formed by combining different target code blocks, the target code block includes a boundary control code block and a data code block, the data code block is used to carry the customer data, the boundary control code block is used to identify the boundary of the cell, and the boundary control code block includes one or more of the following: S block; T block; O block; predefined control code block.
6. The method according to claim 5, characterized in that The overhead information in the basic unit is carried on the target code block.
7. The method according to claim 1, characterized in that Mapping the customer data into the basic unit includes: In the case where the basic unit is a message, mapping the client data to a bearer content portion of the message; In the case where the basic unit is a cell, the client data is mapped into a data block of the cell.
8. The method according to claim 1, characterized in that The number of the FlexE timeslots is at least one.
9. The method according to claim 1, characterized in that: When the basic unit is sent through the FlexE interface, an idle information block is inserted every set number of basic units.
10. The method according to claim 1, characterized in that The rate of the client data is less than a set value, and the set value is determined according to the bandwidth of the flexible Ethernet FlexE timeslot.
11. A data transmission method, characterized in that: include: Recover the basic unit set from the FlexE time slot; Extracting customer data from the basic unit set, the basic unit set including the basic unit carrying the customer data; Each basic unit in the basic unit set is used as a transmission channel, and the FlexE time slot is divided into a plurality of sub-pipelines, and the number of the sub-pipelines is determined according to the number of basic units included in the basic unit set; The customer data is carried on the basic unit, and the customer data is completely isolated physically.
12. The method according to claim 11, characterized in that The extracting of customer data from the basic unit set includes: Determine the basic unit that centrally carries the customer data; The customer data carried in the basic unit is extracted.
13. The method according to claim 12, characterized in that The determining of the basic unit that centrally carries the customer data includes: Determine sequence information of basic units carrying client data; A basic unit that carries the client data in the basic unit set is determined based on the sequence information.
14. The method according to claim 11, characterized in that The basic unit set includes at least one basic unit, and the basic unit set is used to carry at least one client data.
15. The method according to claim 14, characterized in that The basic unit includes a message or a cell.
16. The method according to claim 14, characterized in that The basic unit includes: overhead information, and the overhead information includes one or more of the following: sequence information, and the sequence information is used to identify the basic unit; idle indication information; maintenance management information.
17. The method according to claim 14, characterized in that In the case where the basic unit is a cell, the cell is formed by combining different target code blocks, the target code block includes a boundary control code block and a data code block, the data code block is used to carry the customer data, the boundary control code block is used to identify the boundary of the cell, and the boundary control code block includes one or more of the following: S block; T block; O block; predefined control code block.
18. The method according to claim 17, characterized in that Overhead information in a basic unit is carried on the target code block.
19. The method according to claim 11, characterized in that The number of the FlexE timeslots is at least one.
20. The method according to claim 11, characterized in that The rate of the client data is less than a set value, and the set value is determined according to the bandwidth of the flexible Ethernet FlexE timeslot.
21. A data transmission device, characterized in that: include: A determination module, configured to determine a basic unit that carries customer data, wherein the basic unit is a basic unit included in a basic unit set; A mapping module, configured to map the customer data into the basic unit; A sending module, configured to send a basic unit set mapping the customer data through a flexible Ethernet FlexE time slot; Each basic unit in the basic unit set is used as a transmission channel, and the FlexE time slot is divided into a plurality of sub-pipelines, and the number of the sub-pipelines is determined according to the number of basic units included in the basic unit set; The customer data is carried on the basic unit, and the customer data is completely isolated physically.
22. A data transmission device, characterized in that: include: A recovery module configured to recover a basic unit set from a FlexE timeslot; an extraction module configured to extract customer data from the basic unit set; Each basic unit in the basic unit set is used as a transmission channel, and the FlexE time slot is divided into a plurality of sub-pipelines, and the number of the sub-pipelines is determined according to the number of basic units included in the basic unit set; The customer data is carried on the basic unit, and the customer data is completely isolated physically.
23. A terminal device, characterized in that: include: one or more processors; A storage device for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 20.
24. A storage medium, characterized in that The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 20 is implemented.