Data sending method, device and non-volatile storage medium
By inserting continuous overhead code blocks at a predetermined position of the logic unit, the problem of excessive overhead code blocks when transmitting configuration information is solved, and data transmission efficiency is improved.
Patent Information
- Application Number
- CN202211214610.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-30
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2042-09-30
AI Technical Summary
In related art, the number of overhead code blocks when transmitting configuration information is too high, resulting in low data transmission efficiency.
By inserting continuous overhead code blocks at a predetermined position of the logic unit, the number of transmission overhead code blocks is reduced, and the configuration information transmission of the data code blocks is realized.
It effectively reduces the number of overhead code blocks required when transmitting configuration information and improves data transmission efficiency.
Smart Images

Figure CN115459883B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of network communications, and in particular to a data sending method, device and non-volatile storage medium. Background Art
[0002] By introducing a FlexE (Flexible Ethernet) shim layer between the MAC (Media Access Control) and PHY (Physical) layers, rate decoupling between the MAC and PHY layers is achieved. Specifically, the bandwidth of each PHY layer is divided into multiple time slots, with multiple time slots forming a logical unit, and 1023 logical units forming a calendar component. Each time slot corresponds to a data block encoded in a fixed byte format. When the transmitter transmits service data to the receiver, it also needs to transmit the configuration information for the service data in multiple time slots.
[0003] In the related art, a fixed-byte-encoded overhead code block is inserted every 1023 logical units. Eight overhead code blocks form an overhead frame, and 32 overhead frames form an overhead multiframe. Each overhead multiframe carries a complete set of FlexE control information. This method can transmit configuration information from the transmitter to the receiver, but it has the following problems: The excessive number of overhead code blocks used to carry a complete set of FlexE control information leads to low data transmission efficiency; and the large amount of data required to be transmitted results in a long transmission time for management and configuration information, resulting in low data transmission efficiency. In other words, the related art suffers from the problem of excessive number of overhead code blocks when transmitting configuration information and low data transmission efficiency.
[0004] To address the above-mentioned problems, no effective solutions have been proposed so far. Summary of the Invention
[0005] Embodiments of the present invention provide a data transmission method, apparatus, and non-volatile storage medium to at least solve the problem in related technologies of excessive number of overhead code blocks and low data transmission efficiency when transmitting configuration information.
[0006] According to one aspect of an embodiment of the present invention, a data sending method is provided, comprising: determining a first number of logical units for transmitting multiple data code blocks, wherein the logical units include a second number of time slot units; inserting a third number of overhead code blocks at predetermined positions of the first number of logical units, the third number of overhead code blocks being continuous, the third number of overhead code blocks including a plurality of first overhead code blocks, the plurality of first overhead code blocks being used to transmit configuration information of the plurality of data code blocks, the plurality of data code blocks being obtained by dividing target data; and sending the third number of overhead code blocks to a target receiving end.
[0007] According to another aspect of an embodiment of the present invention, a data sending method is also provided, including: receiving a third number of overhead code blocks sent by a target sending end, wherein the third number of overhead code blocks are located at predetermined positions of a first number of logical units, the first number of logical units are used to transmit multiple data code blocks, the logical units include a second number of time slot units, the third number of overhead code blocks are continuous, the third number of overhead code blocks include multiple first overhead code blocks, the multiple first overhead code blocks are used to transmit configuration information of the multiple data code blocks, and the multiple data code blocks are obtained by dividing the target data; and obtaining the configuration information of the multiple data code blocks based on the multiple first overhead code blocks.
[0008] According to another aspect of an embodiment of the present invention, a data sending method is also provided, including: a target sending end sends a third number of overhead code blocks to a target receiving end, wherein the third number of overhead code blocks are located at a predetermined position of a first number of logical units, the first number of logical units are used to transmit multiple data code blocks, the logical units include a second number of time slot units, the third number of overhead code blocks are continuous, the third number of overhead code blocks include multiple first overhead code blocks, the multiple first overhead code blocks are used to transmit configuration information of the multiple data code blocks, the second overhead code block is used to transmit an identifier indicating the starting position of the third number of overhead code blocks, and the multiple data code blocks are obtained by dividing the target data; the target receiving end receives the third number of overhead code blocks sent by the target sending end, and determines the first overhead code block based on the second overhead code block; and obtains the configuration information of the multiple data code blocks based on the first overhead code block.
[0009] According to another aspect of an embodiment of the present invention, a data sending device is also provided, including: a determination module for determining a first number of logical units for transmitting multiple data code blocks, wherein the logical units include a second number of time slot units; an insertion module for inserting a third number of overhead code blocks at predetermined positions of the first number of logical units, wherein the third number of overhead code blocks are continuous, and the third number of overhead code blocks includes at least a plurality of first overhead code blocks, and the plurality of first overhead code blocks are used to transmit configuration information of the plurality of data code blocks, and the plurality of data code blocks are obtained by dividing target data; a sending module for sending the third number of overhead code blocks to a target receiving end.
[0010] According to another aspect of an embodiment of the present invention, a non-volatile storage medium is provided, wherein the storage medium includes a stored program, wherein when the program is running, the device where the storage medium is located is controlled to execute any one of the above methods.
[0011] In an embodiment of the present invention, a first number of logical units for transmitting multiple data code blocks is determined, wherein the logical units include a second number of time slot units. A third number of overhead code blocks is inserted into predetermined positions of the first number of logical units. The third number of overhead code blocks is continuous and includes multiple first overhead code blocks. The multiple first overhead code blocks are used to transmit configuration information for multiple data code blocks. The third number of overhead code blocks is then sent to a target receiving end. In this embodiment of the present invention, the third number of overhead code blocks are arranged continuously, and configuration information for multiple data code blocks is obtained based on the multiple first overhead code blocks. Thus, the configuration information for multiple data code blocks can be obtained using the continuously arranged third number of overhead code blocks. Compared to the related art, where multiple overhead code blocks are arranged separately within the same set of overhead frames, and transmission of a complete set of configuration information requires transmission of multiple sets of overhead frames and the data code blocks interposed between the multiple overhead code blocks, the embodiment of the present invention only requires transmission of the third number of consecutive overhead code blocks to complete the transmission of the complete configuration information. This effectively reduces the number of overhead code blocks required for configuration information transmission and improves data transmission efficiency. That is, the embodiments of the present invention solve the problems in related technologies of excessive number of overhead code blocks and low data transmission efficiency when transmitting configuration information. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0013] Figure 1 is a flow chart of an optional data sending method according to an embodiment of the present invention;
[0014] Figure 2 is a flowchart of another optional data sending method according to an embodiment of the present invention;
[0015] Figure 3 is a flowchart of another optional data sending method according to an embodiment of the present invention;
[0016] Figure 4 is a schematic diagram of the architecture of the MAC layer and the PHY layer in a standard Ethernet and a flexible Ethernet technology compared according to an embodiment of the present invention;
[0017] Figure 5 is a schematic diagram of a FlexE architecture compared according to an embodiment of the present invention;
[0018] Figure 6 is a schematic diagram of a specific FlexE frame structure compared according to an embodiment of the present invention;
[0019] Figure 7is a schematic diagram of an optional FlexE specific frame structure according to an embodiment of the present invention;
[0020] Figure 8 is a schematic diagram of another optional FlexE specific frame structure according to an embodiment of the present invention;
[0021] Figure 9 It is a structural block diagram of an optional data sending device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0022] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only 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 making creative efforts should fall within the scope of protection of the present invention.
[0023] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0024] Example 1
[0025] According to an embodiment of the present invention, an embodiment of a method for data processing is provided. It should be noted that 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, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0026] Figure 1 is a flow chart of an optional data sending method according to an embodiment of the present invention. Figure 1 As shown, the method includes the following steps:
[0027] Step S102: Determine a first number of logical units for transmitting a plurality of data code blocks, wherein the logical units include a second number of time slot units.
[0028] It should be understood that the second number of time slot units is obtained by dividing the PHY (Physical) bandwidth according to the predetermined bandwidth size. Taking a PHY bandwidth of 100GE as an example, the 100GE bandwidth is divided into 5Gbps sizes, thereby obtaining 20 5Gbps time slot units.
[0029] Step S104, inserting a third number of overhead code blocks at predetermined positions of the first number of logical units, the third number of overhead code blocks are continuous, and the third number of overhead code blocks include multiple first overhead code blocks, and the multiple first overhead code blocks are used to transmit configuration information of multiple data code blocks, and the multiple data code blocks are obtained by dividing the target data.
[0030] It should be understood that in this optional embodiment, the target data may include multiple business data, and the multiple business data are divided according to the preset bandwidth to obtain multiple data code blocks. The configuration information of the multiple data code blocks may include multiple types, for example, it may include the allocation relationship of the multiple data code blocks in multiple time slot units. The configuration information of the multiple data code blocks is explained by taking the following scenario as an example: the business sent to the target receiving end includes business A with a bandwidth of 5Gbps and business B with a bandwidth of 10Gbps, and the bandwidth of the 20 time slot units is 5Gbps, wherein the data of business A occupies one time slot unit, and business A is allocated to the first time slot unit, and the data of business B occupies two time slot units, and business B is allocated to the fourth time slot unit and the fifth time slot unit. The configuration information includes the mapping relationship between business A, business B and time slots, for example, the data code block of business A is transmitted through the first time slot unit, and the data code block of business B is transmitted through the fourth time slot unit and the fifth time slot unit.
[0031] Step S106: Send the third number of overhead code blocks to the target receiving end.
[0032] In this optional embodiment, the execution subject is a target sending end, and there may be various types of target sending ends, for example, a mobile terminal, a server, and the like.
[0033] Through this optional embodiment, multiple overhead code blocks in the third number of overhead code blocks are arranged continuously, and the configuration information of multiple data code blocks can be obtained through the third number of continuous overhead code blocks. Because multiple overhead code blocks are arranged continuously, compared with the situation in the related art where multiple overhead code blocks in the same group of overhead frames are arranged separately, and the transmission of a complete set of configuration information requires the transmission of multiple groups of overhead frames and data code blocks sandwiched between the multiple overhead code blocks, the embodiment of the present invention only needs to transmit the third number of overhead code blocks to complete the transmission of the complete configuration information. Therefore, the number of overhead code blocks required for transmitting configuration information can be reduced, effectively improving data transmission efficiency. That is, the embodiment of the present invention solves the problem in the related art of excessive number of overhead code blocks when transmitting configuration information and low data transmission efficiency.
[0034] In some optional embodiments, the third number of overhead code blocks further includes: a second overhead code block located at a starting position of the third number of overhead code blocks, wherein the second overhead code block is used to transmit an identifier indicating the starting position of the third number of overhead code blocks. Because the third number of overhead code blocks are arranged consecutively, synchronization positioning of the third number of overhead code blocks can be achieved based on only one first overhead code block. Compared to the related art, which requires multiple groups of overhead frames to transmit configuration information, and each group of overhead frames must include a positioning overhead code block for synchronization, embodiments of the present invention can effectively reduce the number of overhead code blocks required to transmit configuration information, thereby improving data transmission efficiency.
[0035] In the above optional embodiment, the third number of overhead code blocks includes multiple first overhead code blocks, and the multiple first overhead code blocks are used to transmit configuration information for multiple data code blocks. The number of first overhead code blocks is not limited herein; that is, the number of the multiple first overhead code blocks can be equal to the number of the multiple data code blocks or less than the number of the multiple data code blocks. The configuration information for multiple data code blocks can be transmitted using a number of first overhead code blocks equal to the number of data code blocks, or a number of first overhead code blocks less than the number of data code blocks.
[0036] In some optional embodiments, the plurality of first overhead code blocks includes a fourth number of first overhead code blocks, wherein each first overhead code block in the fourth number of first overhead code blocks is used to transmit configuration information for at least two data code blocks among the plurality of data code blocks. In this optional embodiment, the fourth number may be equal to or less than the number of the plurality of first overhead code blocks. That is, the fourth number of first overhead code blocks may be all or part of the plurality of first overhead code blocks. When the fourth number is equal to the number of the plurality of first overhead code blocks, it is equivalent to each first overhead code block in the plurality of first overhead code blocks being used to transmit configuration information for at least two data code blocks among the plurality of data code blocks. When the fourth number is less than the number of the plurality of first overhead code blocks, it is equivalent to each first overhead code block in the fourth number of first overhead code blocks being used to transmit configuration information for at least two data code blocks among the plurality of data code blocks. Thus, the number of first overhead code blocks used to transmit configuration information for the plurality of data code blocks is less than the number of the plurality of data code blocks, reducing the number of overhead code blocks required to transmit complete configuration information and improving data transmission efficiency.
[0037] In some optional embodiments, before inserting the third number of overhead code blocks into predetermined positions of the first number of logic units, the method includes: acquiring target data; and allocating the target data to a plurality of data code blocks.
[0038] In this optional embodiment, a third number of consecutive overhead code blocks form an overhead frame, and multiple data code blocks corresponding to the third number of overhead code blocks are transmitted to the target terminal. The target terminal can accurately extract the target data corresponding to the overhead frame based on the configuration information of multiple first overhead code blocks in the third number.
[0039] In some optional embodiments, a third number of overhead code blocks are inserted at predetermined positions within the first number of logical units, where the predetermined positions are positions before the first number of logical units. That is, the third number of overhead code blocks may be located before the first number of logical units. By inserting the overhead code blocks before the timeslots used to transmit service data, the receiving end can obtain configuration information for the service data. After obtaining the configuration information, the receiving end can accurately extract the corresponding service data based on the data code blocks transmitted in the timeslots.
[0040] Figure 2 FIG is a flow chart of another optional data sending method according to an embodiment of the present invention. Figure 2 As shown, the data sending method may include the following steps:
[0041] Step S202: Receive a third number of overhead code blocks sent by the target transmitting end, wherein the third number of overhead code blocks are located at predetermined positions of the first number of logical units, the first number of logical units are used to transmit multiple data code blocks, the logical units include a second number of time slot units, the third number of overhead code blocks are continuous, and the third number of overhead code blocks include multiple first overhead code blocks, and the multiple first overhead code blocks are used to transmit configuration information of multiple data code blocks.
[0042] Step S204: Acquire configuration information of multiple data code blocks based on multiple first overhead code blocks.
[0043] In this optional embodiment, the execution subject is a target receiving end, which can be of various types, such as a mobile terminal, a server, and the like.
[0044] In this optional embodiment, the target terminal receives a third number of overhead code blocks and obtains configuration information of the multiple data code blocks based on multiple first overhead code blocks in the third number of overhead code blocks. Through this optional embodiment, the third number of overhead code blocks are arranged consecutively, and the configuration information of the multiple data code blocks is obtained based on multiple first overhead code blocks in the third number of overhead code blocks. Thus, the configuration information of the multiple data code blocks can be obtained through the third number of consecutive overhead code blocks. Compared with the situation in the related art where multiple overhead code blocks are arranged separately in the same group of overhead frames and a complete set of configuration information is transmitted, multiple groups of overhead frames and data code blocks sandwiched between the multiple overhead code blocks need to be transmitted. In this embodiment of the present invention, only one group including the third number of consecutive overhead code blocks needs to be transmitted to complete the transmission of the complete configuration information. Thus, the number of overhead code blocks required for transmitting the configuration information can be reduced, effectively improving data transmission efficiency. The embodiment of the present invention solves the problem in the related art of excessive number of overhead code blocks when transmitting configuration information and low data transmission efficiency.
[0045] In some optional embodiments, the third number of overhead code blocks further includes: a second overhead code block located at a starting position of the third number of overhead code blocks, wherein the second overhead code block is used to transmit an identifier indicating the starting position of the third number of overhead code blocks. Because the multiple overhead code blocks are arranged consecutively, synchronization positioning of the third number of first overhead code blocks can be achieved based on only one second overhead code block. Compared to the related art, which requires multiple groups of overhead frames to transmit configuration information, and each group of overhead frames must include a positioning overhead code block for synchronization, the embodiments of the present invention can effectively reduce the number of overhead code blocks required to transmit configuration information, thereby improving data transmission efficiency.
[0046] In some optional embodiments, before obtaining configuration information of multiple data code blocks based on multiple first overhead code blocks, it also includes: identifying a third number of overhead code blocks based on the second overhead code blocks, and determining multiple first overhead code blocks based on the second overhead code blocks.
[0047] In some optional embodiments, after receiving the third number of overhead code blocks sent by the target transmitting end, the method further includes: receiving multiple data code blocks corresponding to the third number of overhead code blocks sent by the target transmitting end, determining target data in the multiple data code blocks based on configuration information of the multiple data code blocks transmitted by the multiple first overhead code blocks, and transmitting the multiple data code blocks corresponding to the third number of overhead code blocks to the target terminal, so that the target terminal can accurately extract the target data corresponding to the third number of overhead code blocks based on the configuration information of the multiple data code blocks in the third number of overhead code blocks.
[0048] Figure 3 FIG. 1 is a flow chart of another optional data sending method according to an embodiment of the present invention. Figure 3 As shown, the data sending method may include the following steps:
[0049] In step S302, the target transmitting end sends a third number of overhead code blocks to the target receiving end, wherein the third number of overhead code blocks are located at predetermined positions of the first number of logical units, the first number of logical units are used to transmit multiple data code blocks, the logical units include a second number of time slot units, the third number of overhead code blocks are continuous, the third number of overhead code blocks include multiple first overhead code blocks, and second overhead code blocks located at the starting position of the third number of overhead code blocks, the multiple first overhead code blocks are used to transmit configuration information of multiple data code blocks, the second overhead code block is used to transmit an identifier indicating the starting position of the overhead frame, and the multiple data code blocks are obtained by dividing the target data.
[0050] Step S304: The target receiving end receives a third number of overhead code blocks sent by the target transmitting end.
[0051] Step S306: The target receiving end identifies a third number of overhead code blocks based on the second overhead code blocks, and determines a first overhead code block according to the second overhead code blocks.
[0052] Step S308: The target receiving end obtains configuration information of multiple data code blocks based on the first overhead code block.
[0053] In this optional embodiment, the target transmitting end transmits a third number of consecutive overhead code blocks to the target receiving end. The target receiving end can obtain configuration information of multiple data code blocks based on the third number of consecutive overhead code blocks. Compared with the overhead frame structure in the related art in which multiple overhead code blocks are separately set, the method of this optional embodiment can effectively reduce the number of overhead code blocks required to transmit complete configuration information, effectively improving data transmission efficiency. In addition, in the related art, each group of overhead frames includes overhead code blocks for synchronizing and locating the overhead frames. Transmitting complete configuration information requires multiple groups of overhead frames, and therefore requires multiple overhead code blocks for synchronizing and locating the overhead frames. In this optional embodiment, because the third number of overhead code blocks are consecutive, the complete configuration information can be transmitted through the third number of overhead code blocks. Therefore, based on a second overhead code block for transmitting an identifier indicating the starting position of the overhead frame, the synchronization positioning of the third number of overhead code blocks can be achieved. Compared with the solution in the related art, this reduces the number of overhead code blocks used for synchronization positioning and improves data transmission efficiency.
[0054] Based on the above embodiment and optional embodiment, an optional implementation of a data sending method is provided.
[0055] In this optional implementation, a 100GE PHY bandwidth is used as an example, and the 100GE bandwidth is divided into 20 time slots. It should be noted that the 100GE PHY bandwidth and the 20 time slots are used to illustrate only one example of this optional implementation. This optional implementation is not limited to the above scenario and is also applicable to scenarios with other PHY bandwidths or other numbers of divided time slots.
[0056] It is important to understand that with the construction of 5G and the development of the network, higher requirements are being placed on the on-demand bandwidth allocation capabilities of mobile bearer networks. At the same time, with the diversification of business and application scenarios, Ethernet interfaces are required to provide more flexible bandwidth granularity, so as not to be restricted by the 10-25-40-50-100-200-400GE ladder rate system in the IEEE 802.3 standard. The industry is even seeing demand for ultra-high-speed Ethernet interfaces such as 800GE and 1.6T. However, these interface standards have not yet been finalized, so it is necessary to find solutions for other interface types.
[0057] Figure 4 Schematic diagram of the architecture of the MAC layer and the PHY layer in a standard Ethernet and a flexible Ethernet technology compared according to an embodiment of the present invention. Figure 4As shown in the figure, FlexE technology is based on the standard Ethernet technology defined by IEEE 802.3. By introducing a FlexE Shim (Flexible Ethernet Shim) layer between the MAC sublayer and the PHY layer, it achieves rate decoupling of the MAC and PHY layers. This breaks the strong one-to-one mapping relationship between the MAC and PHY layers and realizes many-to-many mapping between the MAC and PHY layers, achieving flexible rate matching.
[0058] FlexE technology defines a client / group architecture that supports the mapping and transmission of any number of different sub-interfaces (FlexE clients) on any set of PHYs (FlexE groups). This enables functions such as bundling, channelization, and sub-rates. Figure 5 is a schematic diagram of a FlexE architecture compared according to an embodiment of the present invention. Figure 5 FlexEClient is the various user interfaces of the network, consistent with the traditional service interfaces in existing IP / Ethernet networks. It supports Ethernet MAC data streams of various rates (10GE, 40GE, and n*25GE data streams), and is segmented into atomic blocks (for example, 64B / 66B encoded data blocks) and passed to the FlexE Shim layer. FlexE Shim is an additional logical layer between the MAC and PHY layers of the standard Ethernet architecture. It implements the core architecture of FlexE technology through a Calendar time slot distribution mechanism based on TDM (Time Division Multiplexing). The FlexE Group is the Ethernet PHY layer defined by IEEE 802.3 and consists of 1 to n FlexE instances. Each FlexE instance is carried by 1 to m bound Ethernet PHYs.
[0059] Among them, the core functions of FlexE are implemented through the FlexE Shim layer. Taking the PHY bandwidth of 100GE as an example, each 100GE PHY in the FlexE Group can be evenly divided into 20 time slots (Slot) of data bearing channels, and the bandwidth corresponding to each Slot is 5Gbps. The FlexE Shim uses the Calendar mechanism to implement the mapping, carrying and bandwidth allocation of FlexE Client data streams of different rates in the FlexE Group. FlexE calculates and allocates the available Slots in the FlexE Group according to the bandwidth required by each FlexE Client data stream and the Slot distribution of the corresponding PHY in the FlexE Shim, forming a mapping of the FlexE Client to one or more Slots, and at the same time combines the Calendar mechanism to implement the carrying of one or more FlexE Client data streams in the FlexE Group. Figure 6 Schematic diagram of a FlexE specific frame structure compared according to an embodiment of the present invention. Figure 6 As shown in the figure, each 64B / 66B data block is carried in one slot. In the Calendar mechanism, FlexE treats "20 blocks" (corresponding to Slot 0 to Slot 19 in 100GE PHY) as one logical unit.
[0060] In related technologies, the FlexE Shim layer uses the defined overhead frame / overhead multiframe (Overhead Frame / MultiFrame) to reflect the time slot mapping relationship between the FlexE Client and the FlexE Group, as well as the Calendar working mechanism. The FlexE Shim layer uses the overhead code block (OH) to provide an in-band management channel, supporting the transmission of management and configuration information between two FlexE interfaces, thereby achieving automatic negotiation and establishment of the link. Figure 6 As shown, a 66B overhead code block is inserted every 20*1023 66B data code blocks. Eight consecutive overhead code blocks form an overhead frame, and 32 overhead frames form an overhead multiframe, which carries a complete set of FlexE control information.
[0061] While related technologies can achieve complete FlexE control information transmission, they suffer from the following drawbacks: First, there's the issue of high overhead. Analysis of FlexE's calendar-based timeslot distribution mechanism reveals that, using 100GE PHY as an example, a complete overhead message requires the transmission of 32 overhead frames. Each overhead frame consists of 8 overhead code blocks, each of which is a 64B / 66B atomic code block. Therefore, a complete overhead message requires 32*8 overhead code blocks, meaning 2KB of data must be transmitted. This mechanism results in high overhead, impacting data transmission efficiency. Second, related technologies suffer from the long transmission time and inefficiency of management and configuration information.
[0062] Based on the calendar-based timeslot distribution mechanism in the FlexE technical specification, for example, using 100GE PHY, a 66B overhead block is inserted for every 20*1023 64B / 66B data blocks. A complete overhead message consists of 8*32 = 256 overhead blocks. Therefore, to send a complete overhead message, the number of data blocks required is 20*1023*(8*32-1) = 5217300. Including the overhead blocks, the total number of blocks required is 5217556, equivalent to approximately 39.8MB of data.
[0063] Taking 100GE PHY as an example, without considering link propagation delay, the total time required to send a complete set of overhead information is [(20*1023+1)*8*32-20*1023]*64 / 100ns≈3.34ms. This means that it takes 3.34ms to send a complete set of overhead information. When there are multiple hops between the transmitter and receiver, each FlexE device can only complete forwarding table configuration and forward data normally after receiving all the overhead information. Therefore, the time required to send a complete set of overhead information across the entire link accumulates, resulting in longer management and configuration information transmission times, slow link configuration and management information updates, and low efficiency. Specifically, in related technologies, when transmitting configuration information, there are problems with the large amount of overhead and the long transmission cycle of overhead information, which affects data transmission efficiency.
[0064] In view of this, this optional embodiment provides a data transmission method for solving the problem in related technologies that when transmitting configuration information, there is a large amount of overhead and a long transmission cycle of overhead information, which affects the data transmission efficiency.
[0065] Figure 7 Schematic diagram of an optional FlexE specific frame structure according to an embodiment of the present invention. Figure 7As shown, a complete overhead information is regarded as an overhead frame. In an optional embodiment, an overhead frame is composed of 20 overhead code blocks. The overhead code block is Figure 7 The black data blocks in the middle are each a 64B / 66B atomic data block. The overhead frame appears every 16,382 "20 blocks" of data code blocks but contains different content (taking 100GEPHY as an example), thereby carrying a complete set of FlexE control information.
[0066] In the overhead frame, the first overhead contains information such as the control character "0x4B" and the "O Code" character "0x5". During the transmission of the overhead information, the two communicating FlexE interfaces determine the first overhead code block by matching the "0x4B" control character with the "0x5" "O Code" character, thereby establishing an independent Figure 7 The management information channel outside the data channel of the white timeslot is used to implement pre-negotiation and handshake of configuration information between two FlexE interfaces.
[0067] Figure 8 FIG. 1 is a schematic diagram of another optional FlexE specific frame structure according to an embodiment of the present invention. Figure 8 As shown in the figure, SH is the synchronization header field added after 64B / 66B encoding, with a bit width of 2 bits. When the value is "10", it indicates that the data carried is a control code block. When the value is "01", it indicates that the data carried is a data code block. When the value is "00" or "11", it is an illegal field. When the value is "ss", it indicates that the synchronization header is valid, which may be "10" or "01".
[0068] The first overhead block of the overhead frame is the control code block. The second to fifteenth overhead blocks are data code blocks used to transmit configuration information and other information. The sixteenth to twentieth overhead blocks are management channels and message synchronization channels. The meaning of each field is shown in Table 1.
[0069] Table 1
[0070]
[0071]
[0072] Taking 100GE PHY as an example, this optional implementation method requires 20 overhead code blocks to send a complete overhead message, meaning the waiting time required to transmit approximately 160B of data, which is significantly shorter than the transmission latency of a 2KB overhead code block in standard FlexE technology. Without considering link propagation delay, the total time required to send a complete overhead message is 20*64 / 100ns, which is approximately 12.8ns. Even in the case of multiple hops between the transmitter and receiver, the time required to send a complete overhead message is negligible, resulting in a short transmission cycle for link configuration and management information, fast updates, and high efficiency.
[0073] Taking 100GE PHY as an example, compared to FlexE technology in related art, this optional implementation reduces the number of overhead code blocks from 256 to 20, and shortens the time required to transmit a complete overhead frame from 3.34ms to 12.8ns. This significantly reduces the amount of overhead, shortens the overhead transmission cycle, and accelerates the update of management and configuration information at each node on the link.
[0074] Specifically, in the aforementioned optional embodiments or implementations, an enhanced FlexE frame structure is constructed to integrate and merge control information from the standard FlexE frame structure in related technologies, reducing the number of overhead code blocks required for a complete control message from 256 to 20. This significantly reduces the number of added overhead code blocks and improves data transmission efficiency. Furthermore, by constructing an enhanced FlexE overhead transmission mechanism, the standard FlexE mechanism of sending a complete control message in 256 separate transmissions is improved to a single transmission mechanism, shortening the control message transmission time and accelerating the link auto-negotiation process.
[0075] Example 2
[0076] According to an embodiment of the present invention, a device for implementing the above data sending method is also provided. Figure 9 1 is a structural block diagram of an optional data sending device according to an embodiment of the present invention. Figure 9 As shown, the apparatus includes: a determination module 902, an insertion module 904, and a sending module 906. The details are described below.
[0077] A determination module 902 is used to determine a first number of logical units for transmitting multiple data code blocks, wherein the logical units include a second number of time slot units; an insertion module 904 is connected to the above-mentioned determination module 902, and is used to insert a third number of overhead code blocks at predetermined positions of the first number of logical units, wherein the third number of overhead code blocks are continuous, and the third number of overhead code blocks include multiple first overhead code blocks, and the multiple first overhead code blocks are used to transmit configuration information of multiple data code blocks, wherein the multiple data code blocks are obtained by dividing the target data; a sending module 906 is connected to the above-mentioned insertion module 904, and is used to send the third number of overhead code blocks to the target receiving end.
[0078] It should be noted here that the above-mentioned determination module 902, insertion module 904 and sending module 906 correspond to steps S102 to S106 in Example 1. The three modules and the corresponding steps implement the same instances and application scenarios, but are not limited to the contents disclosed in the above-mentioned Example 1.
[0079] The embodiment of the present invention further provides a non-volatile storage medium. Optionally, in this embodiment, the non-volatile storage medium can be used to store the program code executed by the data sending method provided in the first embodiment.
[0080] Optionally, in this embodiment, the non-volatile storage medium may be located in any computer terminal in a computer terminal group in a computer network, or in any mobile terminal in a mobile terminal group.
[0081] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: determining a first number of logical units for transmitting multiple data code blocks, wherein the logical units include a second number of time slot units; inserting a third number of overhead code blocks at predetermined positions of the first number of logical units, wherein the third number of overhead code blocks are continuous, and the third number of overhead code blocks include multiple first overhead code blocks, and the multiple first overhead code blocks are used to transmit configuration information of multiple data code blocks, and the multiple data code blocks are obtained by dividing the target data; and sending the third number of overhead code blocks to the target receiving end.
[0082] Optionally, the third number of overhead code blocks further includes: a second overhead code block located at a starting position of the third number of overhead code blocks, wherein the second overhead code block is used to transmit an identifier indicating a starting position of the third number of overhead code blocks.
[0083] Optionally, the multiple first overhead code blocks include a fourth number of first overhead code blocks, wherein each first overhead code block in the fourth number of first overhead code blocks is used to transmit configuration information of at least two data code blocks in the multiple data code blocks.
[0084] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: before inserting a third number of overhead code blocks at predetermined positions of the first number of logical units, it also includes: obtaining target data; dividing the target data into multiple data code blocks.
[0085] Optionally, the predetermined position is a previous position in the first number of logic units.
[0086] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: receiving a third number of overhead code blocks sent by the target transmitting end, wherein the third number of overhead code blocks are located at predetermined positions of the first number of logical units, the first number of logical units are used to transmit multiple data code blocks, the logical units include a second number of time slot units, the third number of overhead code blocks are continuous, the third number of overhead code blocks include multiple first overhead code blocks, the multiple first overhead code blocks are used to transmit configuration information of multiple data code blocks, and the multiple data code blocks are obtained by dividing the target data; obtaining configuration information of multiple data code blocks based on the multiple first overhead code blocks.
[0087] Optionally, the third number of overhead code blocks further includes: a second overhead code block located at a starting position of the third number of overhead code blocks, wherein the second overhead code block is used to transmit an identifier indicating a starting position of the third number of overhead code blocks.
[0088] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: before obtaining configuration information of multiple data code blocks based on multiple first overhead code blocks, it also includes: identifying a third number of overhead code blocks based on the second overhead code blocks, and determining multiple first overhead code blocks based on the second overhead code blocks.
[0089] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: after receiving the third number of overhead code blocks sent by the target transmitting end, it also includes: receiving multiple data code blocks corresponding to the third number of overhead code blocks sent by the target transmitting end, wherein the multiple data code blocks are obtained by dividing the target data; based on the configuration information of the multiple data code blocks transmitted by the multiple first overhead code blocks, determining the target data in the multiple data code blocks.
[0090] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: the target transmitting end sends a third number of overhead code blocks to the target receiving end, wherein the third number of overhead code blocks are located at a predetermined position of the first number of logical units, the first number of logical units are used to transmit multiple data code blocks, the logical units include a second number of time slot units, the third number of overhead code blocks are continuous, the third number of overhead code blocks at least include multiple first overhead code blocks, and a second overhead code block located at the starting position of the third number of overhead code blocks, the multiple first overhead code blocks are used to transmit configuration information of multiple data code blocks, the second overhead code block is used to transmit an identifier indicating the starting position of the overhead frame, and the multiple data code blocks are obtained by dividing the target data; the target receiving end receives the third number of overhead code blocks sent by the target transmitting end; the target receiving end identifies the third number of overhead code blocks based on the second overhead code block, and determines the first overhead code block based on the second overhead code block; and obtains configuration information of multiple data code blocks based on the first overhead code block.
[0091] The serial numbers of the above embodiments of the present invention are for description only and do not represent the advantages or disadvantages of the embodiments.
[0092] In the above embodiments of the present invention, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0093] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only exemplary. For example, the division of the units can be a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0094] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0095] In addition, the functional units in the various embodiments of the present invention may be integrated into a single processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0096] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk, etc. Various media that can store program codes.
[0097] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as within the scope of protection of the present invention.
Claims
1. A data sending method, characterized in that: include: determining a first number of logical units for transmitting a plurality of data code blocks, wherein the logical units include a second number of time slot units; Inserting a third number of overhead code blocks at predetermined positions of the first number of logical units, wherein the third number of overhead code blocks are continuous and include a plurality of first overhead code blocks, the plurality of first overhead code blocks being used to transmit configuration information of the plurality of data code blocks, the plurality of data code blocks being obtained by dividing the target data; sending the third number of overhead code blocks to a target receiving end; The data code block is a data code block in a FlexE frame.
2. The method according to claim 1, characterized in that The third number of overhead code blocks further includes: a second overhead code block located at a starting position of the third number of overhead code blocks, wherein the second overhead code block is used to transmit an identifier indicating a starting position of the third number of overhead code blocks.
3. The method according to claim 1, characterized in that The multiple first overhead code blocks include a fourth number of first overhead code blocks, wherein each first overhead code block in the fourth number of first overhead code blocks is used to transmit configuration information of at least two data code blocks in the multiple data code blocks.
4. The method according to claim 1, wherein Before inserting the third number of overhead code blocks into the predetermined positions of the first number of logic units, the method further includes: Get target data; The target data is divided into the plurality of data code blocks.
5. The method according to any one of claims 1 to 4, characterized in that The predetermined position is a position before the first number of logic units.
6. A data sending method, characterized in that: include: receiving a third number of overhead code blocks sent by a target transmitting end, wherein the third number of overhead code blocks are located at predetermined positions of a first number of logical units, the first number of logical units are used to transmit a plurality of data code blocks, the logical units include a second number of time slot units, the third number of overhead code blocks are continuous, the third number of overhead code blocks include a plurality of first overhead code blocks, the plurality of first overhead code blocks are used to transmit configuration information of the plurality of data code blocks, and the plurality of data code blocks are obtained by dividing the target data; Acquire configuration information of the plurality of data code blocks based on the plurality of first overhead code blocks; The data code block is a data code block in a FlexE frame.
7. The method according to claim 6, characterized in that The third number of overhead code blocks further includes: a second overhead code block located at a starting position of the third number of overhead code blocks, wherein the second overhead code block is used to transmit an identifier indicating a starting position of the third number of overhead code blocks.
8. The method according to claim 7, characterized in that: Before acquiring the configuration information of the multiple data code blocks based on the multiple first overhead code blocks, the method further includes: identifying the third number of overhead code blocks based on the second overhead code blocks, and determining the multiple first overhead code blocks according to the second overhead code blocks.
9. The method according to claim 6, characterized in that The multiple first overhead code blocks include a fourth number of first overhead code blocks, wherein each first overhead code block in the fourth number of first overhead code blocks is used to transmit configuration information of at least two data code blocks in the multiple data code blocks.
10. The method according to claim 6, characterized in that After receiving the third number of overhead code blocks sent by the target transmitting end, the method further includes: receiving a plurality of data code blocks corresponding to the third number of overhead code blocks sent by the target transmitting end; Based on the configuration information of the multiple data code blocks transmitted by the multiple first overhead code blocks, target data in the multiple data code blocks is determined.
11. A data sending method, characterized in that: include: The target transmitting end sends a third number of overhead code blocks to the target receiving end, wherein the third number of overhead code blocks are located at predetermined positions of the first number of logical units, the first number of logical units are used to transmit multiple data code blocks, the logical units include a second number of time slot units, the third number of overhead code blocks are continuous, the third number of overhead code blocks include at least multiple first overhead code blocks, and a second overhead code block located at a starting position of the third number of overhead code blocks, the multiple first overhead code blocks are used to transmit configuration information of the multiple data code blocks, the second overhead code block is used to transmit an identifier indicating a starting position of the third number of overhead code blocks, and the multiple data code blocks are obtained by dividing the target data; The target receiving end receives a third number of overhead code blocks sent by the target transmitting end; The target receiving end identifies the third number of overhead code blocks based on the second overhead code blocks, and determines the first overhead code blocks according to the second overhead code blocks; The target receiving end obtains configuration information of the multiple data code blocks based on the first overhead code block; The data code block is a data code block in a FlexE frame.
12. A data sending device, characterized in that: include: a determining module, configured to determine a first number of logic units for transmitting a plurality of data code blocks, wherein the logic units include a second number of time slot units; an inserting module, configured to insert a third number of overhead code blocks at predetermined positions of the first number of logical units, wherein the third number of overhead code blocks are continuous and include a plurality of first overhead code blocks, the plurality of first overhead code blocks being used to transmit configuration information of the plurality of data code blocks, the plurality of data code blocks being obtained by dividing target data; a sending module, configured to send the third number of overhead code blocks to a target receiving end; The data code block is a data code block in a FlexE frame.
13. A non-volatile storage medium, characterized in that: The storage medium includes a stored program, wherein when the program is executed, the device where the storage medium is located is controlled to execute the method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Service bearing method, device and system
CN113316037A