WO2020063300A1 - 一种数据传输方法、通信设备及存储介质 - Google Patents

一种数据传输方法、通信设备及存储介质 Download PDF

Info

Publication number
WO2020063300A1
WO2020063300A1 PCT/CN2019/104749 CN2019104749W WO2020063300A1 WO 2020063300 A1 WO2020063300 A1 WO 2020063300A1 CN 2019104749 W CN2019104749 W CN 2019104749W WO 2020063300 A1 WO2020063300 A1 WO 2020063300A1
Authority
WO
WIPO (PCT)
Prior art keywords
code block
stream
communication device
code
groups
Prior art date
Application number
PCT/CN2019/104749
Other languages
English (en)
French (fr)
Inventor
牛翔平
韩磊
胡寅亮
魏含宇
范多亮
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP19866429.4A priority Critical patent/EP3813312A4/en
Priority to KR1020217003751A priority patent/KR102397719B1/ko
Priority to JP2021532509A priority patent/JP7167345B2/ja
Publication of WO2020063300A1 publication Critical patent/WO2020063300A1/zh
Priority to US17/159,945 priority patent/US11451420B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1605Fixed allocated frame structures
    • H04J3/1652Optical Transport Network [OTN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J2203/00Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
    • H04J2203/0001Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
    • H04J2203/0073Services, e.g. multimedia, GOS, QOS
    • H04J2203/0082Interaction of SDH with non-ATM protocols
    • H04J2203/0085Support of Ethernet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1605Fixed allocated frame structures
    • H04J3/1652Optical Transport Network [OTN]
    • H04J3/1658Optical Transport Network [OTN] carrying packets or ATM cells

Definitions

  • the present application relates to the field of communications, and in particular, to a data transmission method, a communication device, and a storage medium.
  • FlexE is a universal technology that supports multiple Ethernet MAC layer rates. By bonding multiple 100GE (Physical, PHYs) ports and dividing each 100GE port into 5 time slots with 5G as particles, FlexE can support the following functions: bonding, multiple Ethernet ports Bind to a link group to support Medium Access Control (MAC) services with a rate greater than a single Ethernet port; sub-rates, by assigning time slots to services, support rates that are less than the link group bandwidth or less than a single Ethernet port Bandwidth MAC services; channelization, which supports the simultaneous transmission of multiple MAC services in a link group by allocating time slots for the services, such as supporting the simultaneous transmission of one 150G and two 25G MAC services in a 2x100GE link group.
  • MAC Medium Access Control
  • FlexE divides time slots through Time Division Multiplexing (TDM) to achieve hard isolation of transmission pipeline bandwidth.
  • a service data stream can be allocated to one or more time slots to achieve matching of services at various rates.
  • a FlexE group (also called FlexE group in English) can include one or more physical link interfaces (English can be written as PHY).
  • FIG. 1 exemplarily shows a schematic diagram of a communication system based on a flexible Ethernet protocol.
  • a FlexEGroup includes four PHYs.
  • a flexible Ethernet protocol client (FlexEClient) represents a client data stream transmitted at a specified time slot (one time slot or multiple time slots) on a FlexE group.
  • One FlexE group can carry multiple FlexE Clients, and one FlexE Client corresponds to one user.
  • Service data flow typically, it can be called Medium Access Control (MAC) Client
  • MAC Medium Access Control
  • FlexE Shim the flexible Ethernet protocol function layer
  • OIF FlexE is based on 64B / 66B code blocks (hereinafter referred to as 64B / 66B) to define 5Gbps and 25Gbps rate time slot (SLOT) particles.
  • 64B / 66B code blocks
  • SLOT rate time slot
  • Any FlexE Client can allocate a total bandwidth rate of 5Gbps on the FlexE-based NNI or UNI. Multiple timeslots or multiples of 25Gbps to carry.
  • the intermediate nodes of the X-E network need to parse and extract each FlexE Client and exchange them, without the consideration of hierarchical multiplexing.
  • the X-Ethernet flat networking technology is applied to the end-to-end networking of the metropolitan area and the backbone network, there are tens of thousands of private line services between multiple cities that need to be dispatched, and aggregation equipment and core equipment to manage tens of thousands.
  • Tens of millions of end-to-end cross-connects have difficulties in management and operation and maintenance.
  • the embodiments of the present application provide a data transmission method, a communication device, and a storage medium, which are used to reduce the pressure on the intermediate nodes caused by the number of cross-connections of the intermediate nodes in the network, and can also reduce the pressure on network management and operation and maintenance.
  • an embodiment of the present application provides a data transmission method.
  • a first communication device obtains Q first code block streams, and obtains a second code block stream to be sent according to the Q first code block streams.
  • Q is an integer greater than 1
  • Q downlink ports correspond to Q first code block streams one by one
  • Q downlink ports correspond to S code block groups
  • one downlink port corresponds to one or more code block groups.
  • One code block in the first code block stream corresponds to one code block group, S is an integer not less than Q
  • the second code block stream of the first communication device includes L code block sets; for each of the L code block sets Code block set, which includes K code blocks corresponding to each code block group in the S code block groups, where L and K are positive integers.
  • the solution provided in the embodiment of the present application multiplexes the code block stream on the granularity of the code block, thereby reducing the number of cross-connections of intermediate nodes in the network, thereby reducing the pressure on network management and operation and maintenance.
  • the content carried in the synchronization header area of the code block in the second code block stream and the code block are in the Qth
  • the content carried in the sync header area of a code block stream is the same
  • the content carried in the asynchronous header area of the code block in the second code block stream is the same as the content carried in the asynchronous header area of the Q first code block stream.
  • the content is the same.
  • an embodiment of the present application provides a data transmission method.
  • a first communication device obtains a stream of Q first code blocks, where Q is an integer greater than 1.
  • the first communication device obtains a stream of Q first code blocks.
  • the stream obtains a second code block stream to be sent, where, for one code block in the Q first code block stream carried in the second code block stream, the code block is carried in a synchronization header area in the second code block stream.
  • the content of the code block is the same as the content carried by the code block in the synchronization header area of the Q first code block stream; the content carried by the code block in the non-synchronization header area of the second code block stream and the code block is in the first Q code block
  • the asynchronous header area in the stream carries the same content.
  • the code block stream can be multiplexed at the granularity of the code block, which can reduce the number of cross-connections of intermediate nodes in the network, thereby reducing the pressure on network management and operation and maintenance, and can simplify the multiplexing process. It is not necessary to separately indicate the asynchronous header area in the first code block stream by using the instruction information, thereby reducing the data amount of the instruction information, thereby reducing the network load.
  • Q is an integer greater than 1
  • Q downlink ports correspond to Q first code block streams one by one
  • Q downlink ports correspond to S code block groups, one
  • the downlink port corresponds to one or more code block groups.
  • One code block in the Q first code block stream corresponds to one code block group.
  • S is an integer not less than Q.
  • the second code block stream of the first communication device includes L codes. Block set; for each code block set in the L code block sets, the code block set includes K code blocks corresponding to each code block group in the S code block groups, and L and K are positive integers.
  • the value of S is a code block group corresponding to the Q downlink ports during data uplink transmission. Total number of code blocks, each code block group in the S code block groups is a code block group corresponding to the Q downlink ports during data uplink transmission.
  • the value of S is the total number of code block groups corresponding to the Q downlink ports during data downlink transmission. Each code block group in the S code block groups is The code block group corresponding to the Q downlink ports during data downlink transmission.
  • the number of code block groups allocated to the Q downlink ports of a communication device during the data uplink transmission process and the number of code block groups allocated to the Q downlink ports of a communication device during the data uplink transmission process can be The same or different.
  • the code block group allocated for the downlink port during data uplink transmission may be the same as the code block group allocated for the downlink port during data uplink transmission.
  • the code block group allocated for a port can be marked with a code block group identifier or other identification information allocated for the port, and the code block group identifier or other identification information can uniquely identify a code block group. In this way, the flexibility of the scheme can be improved.
  • a downlink port may correspond to one or more code block groups, but a code block group corresponds to only one downlink port. In this way, a code block group may be used as The granularity allocates bandwidth for one downlink port, and since a code block group corresponds to only one downlink port, the complexity can also be reduced when multiplexing or demultiplexing.
  • the downlink port may refer to a port on a communication device that has a direct or indirect data transmission relationship with the terminal device side.
  • a communication device may further include an uplink port and an uplink port. It refers to a port on a communication device that has a direct or indirect data transmission relationship with the core device side.
  • the first communication device obtains the second code block stream to be sent, in the case that the second code block stream needs to be sent through the uplink port, Send the second code block stream through one or more uplink ports.
  • the second code block stream is sent through multiple uplink ports.
  • the second code block stream can be granular with data units and based on each data unit in the second.
  • the ordering in the code block stream is sequentially transmitted through multiple uplink ports; a corresponding uplink port may be allocated to each data unit according to a certain rule, and then the data unit is sent through the uplink port corresponding to each data unit.
  • the data unit recovers the data unit according to the order in which the data units are transmitted on the transmitting device side.
  • the second code block stream In the second case, you can set the correspondence between the downlink port and the uplink port.
  • a communication device includes 10 downlink ports. You can make 4 downlink ports correspond to one uplink port and the other 6 downlink ports correspond to the other.
  • the uplink port so, after multiplexing the four first code block streams of the four downlink ports into a second code block stream, sending the second code block stream through the uplink ports corresponding to the four downlink ports, After multiplexing the six first code block streams of the six downlink ports into one second code block stream, the second code block stream is sent through the uplink ports corresponding to the six downlink ports. In this way, the transmission efficiency of the second code block stream can be further improved.
  • the code blocks in the L code block sets are continuously carried in the second code block stream; the second code block stream is at the head of the L code block sets.
  • the and / or tail further includes a code block set, and the code block set header includes at least one first control code block.
  • a code block set including a first control code block is used to carry any one or more of the following: indication information used to indicate a correspondence between Q downlink ports and S code block groups; used to indicate S Indication information for the value of L; indication information for the value of L; indication information for the S code block groups; indication for the ordering of the S code block groups in a code block set in the L code block set Instructions.
  • the second code block stream can carry the foregoing indication information, the first communication device can more flexibly determine various parameters in the multiplexing process, which can further improve the flexibility of the solution.
  • the second code block stream includes multiple data units, and one data unit includes one or more code block sets.
  • the information carried by a code block set including a first control code block in a data unit may be used to indicate information of the L code block sets carried in the current data unit, or may be used to indicate the L number of bearers carried in other data units.
  • the information of the code block set may also be used to indicate the information of the code block set carried in the current data unit and other data units.
  • the first communication device obtains a second code block stream to be sent according to the Q first code block streams, including: A code block stream performs L code block fetch operations cyclically to obtain a second code block stream. Among them, for each code block fetch operation in the L code block fetch operations, the first communication device sorts the S code block groups. , Sequentially extract the K code blocks corresponding to each code block group in the S code block groups from the Q first code block streams.
  • the first communication device performs L code block fetch operations cyclically for Q first code block streams to obtain a second code block stream, including: No code block was obtained during the loop code block fetch operation, and an idle IDLE code block was inserted into the second code block stream. In this way, the required structural form of the second code block stream can be maintained, thereby laying a foundation for smooth demultiplexing.
  • the S code block groups correspond to the S buffer areas, and the S code block groups correspond to the S buffer areas one to one.
  • the first communication device obtains Q pieces. After the first code block stream and before obtaining the second code block stream to be transmitted according to the Q first code block streams, the method further includes: the first communication device converts Q according to the correspondence relationship between the S code block groups and the S buffer areas.
  • the code blocks in the first code block stream are buffered to S buffer areas; the first communication device sequentially extracts each of the S code block groups from the Q first code block stream according to the order of the S code block groups.
  • the K code blocks corresponding to the code block group include: the first communication device sequentially fetches K code blocks from each of the S buffer areas according to the order of the S code block groups. In this way, the storage capacity of a single buffer area can be used as a granularity to allocate bandwidth to each port, which improves the flexibility of bandwidth allocation.
  • the S code block groups correspond to S buffer areas, and the S code block groups correspond to the S buffer areas one to one; the first communication The device obtains a second code block stream to be sent according to the Q first code block streams, including: the first communication device, according to a correspondence between the S code block groups and the S buffer areas, The code blocks in the code block stream are buffered to the S buffer areas; for one code block set in the L code block sets, the first communication device sequentially sorts from the S code blocks according to the order of the S code block groups. For each buffer area in the buffer area, K code blocks are taken out to obtain the code blocks in the code block set.
  • the first communication device caches the code blocks in the Q first code block streams according to the correspondence between the S code block groups and the S buffer areas.
  • S buffer areas including: for one first code block stream in Q first code block streams, executing: when the first code block stream corresponds to a code block group, the first communication device Code blocks are cached to the buffer area corresponding to the code block group; when the first code block stream corresponds to multiple code block groups, the first communication device sequentially caches the code blocks in the first code block stream to the corresponding code block groups. Multiple cache areas. In this way, the simplicity of the solution can be improved, and a foundation can be laid for simplicity in the demultiplexing process.
  • the second code block stream also includes a code block set at the head and / or tail of the L code block sets.
  • the code block set header includes at least one second control code block, and the second control code block includes Instructions for instructing a core device to request reconfiguration of a code block group for a downlink port, where the second buffer amount threshold is smaller than the first buffer amount threshold. In this way, the bandwidth of the port can be flexibly and timely adjusted according to the buffer amount of the port.
  • the method further includes: for each code block in the Q first code block stream, when the code block type of the code block is an idle IDLE code block, the first communication device discards the code block. In this way, the amount of data to be transmitted can be reduced, thereby reducing the network load.
  • the second code block stream further includes: P code block sets. ; Where P is a positive integer, and for each code block set in the P code block sets, the code block set includes K code blocks corresponding to each code block group in the (SR) code block groups; where R is A positive integer not greater than S; (SR) code block groups are code block groups other than R code block groups in the S code block groups; one code block group in the R code block groups satisfies the preset condition is It means that the consecutive K * L code blocks corresponding to the code block group are IDLE code blocks. In this way, the amount of data to be transmitted can be reduced, thereby reducing the network load.
  • the method further includes: the first communication device receives the third code block stream sent by the core device, The head and / or tail of the third code block stream includes a code block set.
  • the code block set includes at least one third control code block, and the code block set including the third control code block includes: used to indicate uplink transmission of data.
  • the first communication device determines the correspondence between the downlink port of the first communication device and the code block group according to the code block set including the third control code block. Since the correspondence between the port and the code block group can be delivered centrally by the core device, the rate of negotiation failures can be reduced, thereby improving network operation efficiency.
  • the first communication device is connected to the Q second communication devices through Q downlink ports, and the Q downlink ports correspond to the Q second communication devices one to one.
  • the method further includes: the first communication device demultiplexes code blocks other than the third control code block in the third code block stream to obtain the Qth first Four code block streams, Q fourth code block streams correspond one-to-one with Q downlink ports; the first communication device distributes Q fourth code block streams through Q downlink ports;
  • a fourth code block stream, the header and / or the tail of the fourth code block stream includes a code block set, the code block set includes at least one fourth control code block, and the code block set including the fourth control code block includes : Indication information used to indicate a correspondence between a downlink port of a second communication device corresponding to the fourth code block stream and a code block group during data uplink transmission, and / or, used to indicate that The second communication device corresponding
  • an embodiment of the present application provides a data transmission method.
  • a third communication device obtains a second code block stream; wherein the second code block stream includes L code block sets; and for the L code block sets Each code block set in the code block set includes K code blocks corresponding to each code block group in the S code block groups, one code block in the L code block set corresponds to one code block group, and S is greater than 1 L, K are positive integers; the third communication device obtains Q first code block streams according to the second code block stream, where Q is an integer greater than 1 and not greater than S, and the Q first code block streams correspond to S Code block groups, one first code block stream corresponds to one or more code block groups.
  • the code block stream can be demultiplexed at the granularity of the code blocks, so that the number of cross-connections of intermediate nodes in the network can be reduced, thereby reducing the pressure on network management and operation and maintenance.
  • the content carried by the synchronization header of the code block in the second code block stream and the code block in the Q first code is the same; the content carried by the asynchronous header area of the code block in the second code block stream is the same as the content carried by the asynchronous header area of the code block in the Q first code block stream .
  • the multiplexing process can be simplified, and on the other hand, because the asynchronous header area in the first code block stream is not indicated by the instruction information separately, the data amount of the instruction information can be reduced, thereby reducing the network load.
  • an embodiment of the present application provides a data transmission method.
  • a third communication device obtains a second code block stream, and obtains Q first code block streams according to the second code block stream, where Q is greater than An integer of 1; for one code block in the first code block stream carried in the second code block stream: the content carried by the code block in the synchronization header area in the second code block stream and the code block in Q The content carried by the synchronization header area in the first code block stream is the same; the content carried by the asynchronous header area of the code block in the second code block stream and the asynchronous header area of the code block in the Q first code block streams The content being carried is the same.
  • the code block stream can be demultiplexed at the granularity of the code block, thereby reducing the number of cross-connections of intermediate nodes in the network, thereby reducing the pressure on network management and operation and maintenance, and simplifying the multiplexing process. Further, Since the asynchronous header area in the first code block stream is not separately indicated by the instruction information, the data amount of the instruction information is reduced, thereby reducing the network load.
  • the second code block stream includes L code block sets.
  • the code block set includes S code block groups.
  • Q is greater than 1 and not greater than An integer of S,
  • Q first code block streams correspond to S code block groups, and one first code block stream corresponds to one or more code block groups.
  • the value of S is a code block group corresponding to the Q downlink ports during data downlink transmission. Total number of code blocks, each code block group in the S code block groups is a code block group corresponding to the Q downlink ports during data downlink transmission.
  • the value of S is The total number of code block groups corresponding to the Q downlink ports during data uplink transmission. Each code block group in the S code block groups is a code block group corresponding to the Q downlink ports during data uplink transmission.
  • the number of code block groups allocated to the Q downlink ports of a communication device during the data uplink transmission process and the number of code block groups allocated to the Q downlink ports of a communication device during the data uplink transmission process can be The same or different.
  • the code block group allocated for the downlink port during data uplink transmission may be the same as the code block group allocated for the downlink port during data uplink transmission.
  • the code block group allocated for a port can be marked with a code block group identifier or other identification information allocated for the port, and the code block group identifier or other identification information can uniquely identify a code block group. In this way, the flexibility of the scheme can be improved.
  • a downlink port may correspond to one or more code block groups, but a code block group corresponds to only one downlink port. Therefore, a code block group may be used as The granularity allocates bandwidth for one downlink port.
  • the downlink port may refer to a port on a communication device that has a direct or indirect data transmission relationship with the terminal device side.
  • a communication device may further include an uplink port and an uplink port. It refers to a port on a communication device that has a direct or indirect data transmission relationship with the core device side.
  • the third communication device there is also a possible implementation manner.
  • the third communication device receives the second code block stream through the uplink port
  • the second code block stream may be received through one or more uplink ports.
  • the communication device on the transmitting side sends the second code block stream through multiple downlink ports
  • the communication device on the transmitting side can use the granularity of the data unit as the granularity of the second code block stream and according to the order of each data unit in the second code block stream.
  • the second communication unit recovers the second data unit according to the order in which the data unit is transmitted on the transmitting device side. Code block stream.
  • Code blocks in the L code block sets are continuously carried in the second code block stream; the second code block stream is at the head of the L code block sets.
  • the and / or tail further includes a code block set, and the code block set header includes at least one first control code block.
  • a code block set including a first control code block is used to carry any one or more of the following: indication information used to indicate a correspondence between Q downlink ports and S code block groups, where Q The downlink port corresponds one-to-one with the Q first code block streams; the indication information for indicating the value of S; the indication information for indicating the value of L; the indication information for indicating the S code block group; the indication information for L Indication information for the ordering of S code block groups in one code block set in each code block set. Because the second code block stream can carry the foregoing indication information, the communication device can more flexibly determine various parameters in the multiplexing process, which can further improve the flexibility of the solution.
  • the third communication device obtains Q first code block streams according to the second code block stream, and includes: for each code in the L code block set Block set: The third communication device sequentially extracts K code blocks corresponding to each code block group in the S code block groups from the code block set according to the order of the S code block groups, and obtains Q first code blocks. flow.
  • the S code block groups correspond to the S buffer areas, and the S code block groups correspond to the S buffer areas one to one.
  • the order of the code block groups after sequentially extracting the K code blocks corresponding to each code block group in the S code block groups from the code block set, and before obtaining the Q first code block streams, the method further includes: third communication
  • the device caches the K code blocks corresponding to each code block group in the S code block groups to the buffer area corresponding to the code block group according to the correspondence between the S code block groups and the S buffer areas. In this way, the storage capacity of a single buffer area can be used as a granularity to allocate bandwidth to each port, which improves the flexibility of bandwidth allocation.
  • the second code block stream further includes a code block set at the head and / or tail of the L code block sets, and the code block set includes at least one first A control code block, including a code block set including a first control code block, includes: indication information for indicating a correspondence relationship between Q downlink ports and S code block groups of a third communication device during data uplink transmission, and / Or indication information used to indicate the correspondence between the Q downlink ports of the third communication device and the S code block groups during the data downlink transmission process; the third communication device obtains the Q first code blocks according to the second code block stream
  • the flow includes: the third communication device obtains the correspondence between the Q downlink ports and the S code block groups according to the code block set including the first control code block; the third communication device according to the Q downlink ports and the S code blocks Correspondence between groups, demultiplexes L code block sets into Q first code block streams. Since the correspondence relationship between the port and the code block group can be issued through the second code
  • the third communication device is connected to the Q fourth communication devices through Q downlink ports, and the Q downlink ports correspond to the Q fourth communication devices one to one. ; After the third communication device obtains the Q first code block streams according to the second code block stream, the method further includes: the third communication device distributes the Q first code block streams through the Q downlink ports; and one of the first code block streams.
  • the head and / or tail includes a code block set, the code block set includes at least one fifth control code block, and the code block set including the fifth control code block includes: used to indicate that the first Indication information of the correspondence between the downlink port of the fourth communication device corresponding to the code block stream and the code block group, and / or, used to indicate the downlink of the fourth communication device corresponding to the first code block stream during data downlink transmission
  • the indication information of the correspondence between the port and the code block group Since the correspondence relationship between the port and the code block group of the communication device can be indicated across the embodiments of the present application,
  • an embodiment of the present application provides a communication device.
  • the communication device includes a memory, a communication interface, and a processor.
  • the memory is used to store instructions; the processor is configured to execute the instructions stored in the memory and control the communication interface to receive signals. And a signal sending, when the processor executes the instruction stored in the memory, the communication device is configured to execute any one of the first aspect, the second aspect, the first aspect possible implementation manner, or the second aspect possible implementation Either method.
  • an embodiment of the present application provides a communication device.
  • the communication device includes a memory, a communication interface, and a processor.
  • the memory is used to store instructions; the processor is configured to execute the instructions stored in the memory and control the communication interface to receive signals.
  • a signal sending when the processor executes the instructions stored in the memory, the communication device is configured to execute any one of the foregoing third aspect, the fourth aspect, the third aspect possible implementation manner, or any of the fourth aspect possible implementation Either method.
  • an embodiment of the present application provides a communication device, configured to implement any one of the foregoing first aspect, the second aspect, and the possible implementation manner of the first aspect or any possible implementation manner of the second aspect.
  • Any method includes corresponding function modules, and is respectively used to implement the steps in the above method.
  • the functions can be realized by hardware, and the corresponding software can also be implemented by hardware.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the structure of the communication device includes a multiplexing and demultiplexing unit and a communication interface.
  • the multiplexing and demultiplexing unit and the communication interface can perform the corresponding functions in the foregoing method examples. For details, see the detailed description in the method examples. I won't go into details here.
  • an embodiment of the present application provides a communication device, which is configured to implement any one of the foregoing third aspect, the fourth aspect, and the possible implementation manner of the third aspect or any possible implementation manner of the fourth aspect.
  • Any method includes corresponding function modules, and is respectively used to implement the steps in the above method.
  • the functions can be realized by hardware, and the corresponding software can also be implemented by hardware.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the structure of the communication device includes a multiplexing and demultiplexing unit and a communication interface.
  • the multiplexing and demultiplexing unit and the communication interface can perform the corresponding functions in the foregoing method examples. For details, see the detailed description in the method examples. I won't go into details here.
  • an embodiment of the present application provides a computer storage medium.
  • the computer storage medium stores instructions, and when the computer storage medium is run on a computer, the computer is caused to execute any one of the first aspect, the second aspect, and the first aspect. Any possible implementation manner or any method of the second aspect.
  • an embodiment of the present application provides a computer storage medium.
  • the computer storage medium stores instructions, and when the computer storage medium is run on a computer, causes the computer to execute any one of the third aspect, the fourth aspect, and the third aspect. Any of the possible implementation manners or the fourth aspect may implement any one of the methods.
  • an embodiment of the present application provides a computer program product including instructions.
  • the computer program product When the computer program product is run on a computer, the computer is enabled to execute any one of the foregoing first aspect, second aspect, and first aspect. Or any method in the second aspect may be implemented.
  • an embodiment of the present application provides a computer program product including instructions, which when executed on a computer, causes the computer to execute any one of the foregoing third aspect, the fourth aspect, and the third aspect of a possible implementation manner. Or any one of the methods in the fourth aspect may be implemented.
  • FIG. 1 is a schematic diagram of a communication system based on a flexible Ethernet protocol
  • FIG. 2 is a schematic diagram of a communication system architecture applicable to an embodiment of the present application
  • FIG. 3 is a data transmission scheme in the communication system architecture shown in FIG. 2 according to an embodiment of the present application;
  • FIG. 4 is a schematic flowchart of a data transmission method according to an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another data transmission method according to an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a second code block stream according to an embodiment of the present application.
  • FIG. 7 is a schematic diagram of a data transmission process according to an embodiment of the present application.
  • FIG. 8 is another schematic structural diagram of a second code block stream according to an embodiment of the present application.
  • FIG. 9 is a schematic flowchart of a data transmission method according to an embodiment of the present application.
  • FIG. 10 is a schematic flowchart of another data transmission method according to an embodiment of the present application.
  • FIG. 11 is a schematic flowchart of a negotiation method according to an embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of a communication device according to an embodiment of the present application.
  • FIG. 14 is a schematic structural diagram of another communication device according to an embodiment of the present application.
  • the communication system applicable to the embodiments of the present application may include multiple communication devices, and the communication devices in the communication system may be core devices, convergence devices, or access devices.
  • the core device can be a core layer switch, a central device, a campus center switch, a central office switch, etc.
  • an aggregation device can be an aggregation layer switch, and other devices
  • an access device can be an access layer switch, a corridor switch, or a desktop switch.
  • the access device and the aggregation device may be the same device, but only placed in different positions. In the middle, the aggregation device is the aggregation device, and in the access layer, the client device is the access device.
  • FIG. 2 shows a schematic architecture diagram of a communication system applicable to the embodiments of the present application.
  • a wide area network (WAN) and / or the Internet 201 may be connected to one or more core devices 202, and each core device 202 may be connected to one or more aggregation devices 203.
  • Each aggregation device 203 may be connected to one or more access devices, such as the access device 204, the access device 205, and the access device 206 to which the aggregation device 203 shown in FIG. 2 is connected.
  • Each access device can be connected to one or more terminal devices.
  • a downlink port of the core device 202 is connected to an uplink port of an aggregation device, and as shown in FIG. 2, a downlink port 2021 of the core device 202 is connected to an uplink port 2031 of the aggregation device 203.
  • the aggregation device 203 has one or more downlink ports. One downlink port of the aggregation device 203 is connected to the uplink port of an access device. As shown in FIG. 2, the downlink port 2032 of the aggregation device 203 is connected to the uplink port 2041 of the access device 204.
  • the downlink port 2033 of the aggregation device 203 is connected to the uplink port 2051 of the access device 205, and the downlink port 2034 of the aggregation device 203 is connected to the uplink port 2061 of the access device 206.
  • One downlink port of the access device can be connected to one terminal device.
  • the downlink port 2042, the downlink port 2043, and the downlink port 2044 of the access device 204 are respectively connected to three terminal devices, and the downlink port 2052 of the access device 205
  • the downlink port 2053 and the downlink port 2054 are respectively connected to three terminal devices, and the downlink port 2062, the downlink port 2063, and the downlink port 2064 of the access device 206 are respectively connected to three terminal devices.
  • the uplink ports in FIG. 2 and FIG. 3 in the embodiment of the present application are only exemplified by one. In actual applications, those skilled in the art may know that a communication device may include one or more uplink ports.
  • a downlink port may refer to a port on a communication device that has a direct or indirect data transmission relationship with a terminal device side
  • an uplink port refers to a port on a communication device that has a direct or indirect data transmission relationship with a core device side. port.
  • the data uplink transmission process in the embodiment of the present application specifically refers to a process through which a data stream is transmitted from a terminal device side to a core device side
  • the data downlink transmission process specifically refers to a process through which a data stream is transmitted from the core device side to the terminal device side. process.
  • FIG. 3 exemplarily shows a data transmission scheme in the communication system architecture shown in FIG. 2 in the embodiment of the present application. As shown in FIG.
  • Each terminal device sends a code block stream to an access device through an uplink port, and each access device receives a code block stream sent by each terminal device through a downlink port, and multiplexes the received multiple code block streams into one code block stream. And send a multiplexed code block stream to the aggregation device through the uplink port of the access device.
  • the aggregation device receives the code block stream sent by each access device through multiple downlink ports, and multiplexes it into a code block stream, and sends the multiplexed code block stream to the uplink port of the aggregation device to Core equipment.
  • the core device After the core device receives the code block stream sent by the aggregation device through the downlink port connected to the aggregation device, it demultiplexes it and finally obtains the code block stream sent by each terminal device. For the code blocks sent by each terminal device, Streams are processed separately.
  • the access device 204 receives the code block stream 3011 through the downlink port 2042, receives the code block stream 3012 through the downlink port 2043, and receives the code block stream 3013 through the downlink port 2044. , Multiplexing the code block stream 3011, the code block stream 3012, and the code block stream 3013 into the code block stream 301, and sending the code block stream 301 to the convergence device 203 through the uplink port 2041.
  • the access device 205 receives the code block stream 3021 through the downlink port 2052, receives the code block stream 3022 through the downlink port 2053, and receives the code block stream 3023 through the downlink port 2054.
  • the access device 205 multiplexes the code block stream 3021, the code block stream 3022, and the code block stream 3023. It is used as the code block stream 302, and is sent to the aggregation device 203 through the uplink port 2051.
  • the access device 206 receives the code block stream 3031 through the downlink port 2062, receives the code block stream 3032 through the downlink port 2063, and receives the code block stream 3033 through the downlink port 2064.
  • the access device 206 multiplexes the code block stream 3031, the code block stream 3032, and the code block stream 3033. It is used as a code block stream 303 and is sent to the aggregation device 203 through the uplink port 2061.
  • the convergence device 203 multiplexes the code block stream 301 received through the downlink port 2032, the code block stream 302 received through the downlink port 2033, and the code block stream 303 received through the downlink port 2034 into one code block stream 30, and passes through
  • the uplink port 2031 of the aggregation device 203 sends the code block stream 30 to the core device 202.
  • the core device 202 demultiplexes the code block stream 30 received through the downlink port 2021, and finally obtains the code block stream 3011 corresponding to each terminal device. Block stream 3012 and so on, and proceed to the next step.
  • the core device multiplexes the code block stream corresponding to each terminal device to obtain a multiplexed code block stream.
  • the core device can multiplex the code block stream in one or more stages. And send it to the aggregation device through the downlink port of the core device.
  • the aggregation device demultiplexes the received downlink code block stream to obtain multiple code block streams corresponding to the downlink ports, and sends it to the aggregation device through its downlink port.
  • Each access device After receiving the code block stream, the access device demultiplexes the code block stream to obtain code block streams corresponding to the downlink ports of the multiple access devices, and sends the code block streams through the downlink ports of the access device.
  • the downlink data transmission is described with reference to FIG. 3.
  • the core device 202 generates a code block stream 30 and sends the code block stream 30 to the convergence device 203 through the downlink port 2021.
  • the process in which the core device 202 generates the code block stream 30 is specifically: the core device 202 multiplexes the code block stream to be sent to each terminal device, and finally obtains the code block stream 30, and the multiplexing process is the same as the above uplink
  • the code block stream multiplexing process involved in the transmission process is similar.
  • the core device first multiplexes the code block stream 3011, the code block stream 3012, and the code block stream 3013 into the code block stream 301, and multiplexes the code block stream 3021 and the code block stream.
  • code block stream 3022 and code block stream 3023 are multiplexed into code block stream 302
  • code block stream 3031, code block stream 3032, and code block stream 3033 are multiplexed into code block stream 303, and then code block stream 301, code block stream 302, and
  • the code block stream 303 is multiplexed into a code block stream 30.
  • the convergence device 203 receives the code block stream 30 through the uplink port 2031, it demultiplexes the code block stream 30 to obtain the code block stream 301, the code block stream 302, and the code block stream 303, and sends them to each access through the downlink port. device.
  • the access device 204 After receiving the code block stream 301 through its uplink port 2041, the access device 204 demultiplexes the code block stream 301 to obtain a code block stream 3011, a code block stream 3012, and a code block stream 3013. The access device 204 will demultiplex The used code block stream is sent to each terminal device through the downlink port.
  • the downlink data transmission of the access device 205 and the access device 206 is similar to that of the access device 204, and details are not described again.
  • the code block streams (such as the first code block stream and the second code block stream) defined in the embodiments of the present application may refer to a data stream in units of code blocks.
  • a preset number of bits in a bit stream (the bit stream may be encoded or before encoding) may be referred to as a code block (the code block may also be referred to as a bit Group or bit block).
  • a code block in the embodiment of the present application may include a synchronization header area or may not include a synchronization header area.
  • An encoding form of a code block in the embodiment of the present application may also be written as M1 / N1 bit encoding. M1 and N1 are both positive integers, and N1 is not less than M1.
  • M1 may be equal to N1.
  • 1 bit may be referred to as a code block, and for example, 2 bits may be referred to as a code block.
  • the code block defined in the embodiment of the present application may be a code block obtained by encoding a bit stream by using an encoding type.
  • some coding modes are defined, such as M1 / N1 bit coding.
  • M1 may be equal to N1.
  • a code block is divided into a synchronization header area and a non-synchronization header area, it can be understood that the bits carried in the synchronization header area are 0. Or it can also be understood as referring to a preset number of bits as one code block.
  • N1 may be greater than M1.
  • N1 is greater than M1, but there is no explicit synchronization header, such as 8B / 10B bit encoding.
  • N1 is greater than M1, and the code block may include a sync header area (the sync header area includes (N1-M1) bits) and a non-synchronization header area (the non-synchronization header area includes M1 bits).
  • M1 / N1 bit encoding can be defined in 802.3 using 64B / 66B encoding (can also be written as 64/66 bit encoding), 256B / 257B encoding, 512B / 514B encoding, 64B / 67B encoding, etc.
  • code blocks are specified in the prior art, such as control code blocks, data code blocks, and IDLE code blocks. IDLE code blocks also belong to control code blocks.
  • the code blocks in the embodiment of the present application (such as the code blocks in the first code block stream and the code blocks in the second code block stream) may be these code blocks specified in the prior art.
  • C A and C B have a one-to-one correspondence, which means that each A of C A corresponds to one B of C B, and C Each B of the Bs corresponds to one A of the C As, the two Bs of any two As of the C As are two different Bs of the C Bs, and any two Bs of the C Bs The corresponding two As are two different As among the C As.
  • Identification used to identify an object.
  • the object can be: communication device, port, code block group, etc.
  • An identifier may include at least one of a name, a number, and an ID (Identification), as long as it can distinguish the identified object from other objects.
  • first”, “second”, “ninth” in the embodiments of the present application are only for distinguishing, and have no other limited meanings, such as “first control code block”, “second control code block” ...
  • FIG. 4 exemplarily illustrates a schematic flowchart of a data transmission method provided by an embodiment of the present application.
  • the schematic flowchart of the method shown in FIG. 4 is applicable to a communication device on a multiplex side. As shown in Figure 4, the method includes:
  • Step 401 The first communication device obtains Q first code block streams, where Q is an integer greater than 1, the Q first code block streams correspond to the Q downlink ports one by one, and the Q downlink ports correspond to S code block groups.
  • One downlink port corresponds to one or more code block groups, one code block in the Q first code block stream corresponds to one code block group, and S is an integer not less than Q.
  • one downlink port may correspond to one or more code block groups, but one code block group may correspond to only one downlink port.
  • a code block group may be used as a granularity to one.
  • Downlink ports allocate bandwidth, and since a code block group corresponds to only one downlink port, complexity can also be reduced when multiplexing or demultiplexing.
  • Step 402 The first communication device obtains a second code block stream to be transmitted according to the Q first code block streams, where the second code block stream includes L code block sets; for each code block set in the L code block sets The code block set includes K code blocks corresponding to each code block group in the S code block groups, and L and K are positive integers.
  • the first communication device is not a core device, such as a convergence device or an access device
  • the first communication device in the embodiment of the present application receives the Q first code block streams
  • Block streams are multiplexed and sent, so that it is not necessary to perform operations such as MAC header parsing on the received code block stream in the prior art, which saves the workload of the first communication device in forwarding the data stream.
  • the structure of the first communication device can also be simplified. For example, it is not necessary to set a device (such as a Central Processing Unit (CPU)) and Link Switching (LSW) for parsing the MAC header for the first communication device. Chip), and there is no need to configure routing and forwarding entries, thereby reducing the cost of the first communication device.
  • CPU Central Processing Unit
  • LSW Link Switching
  • the encoding forms of the first code block stream and the second code block stream in the embodiments of the present application are both M1 / N1 bit encoding, and any code block in the first code block stream and the second code block stream is Includes (N1-M1) bit asynchronous header area and M1 bit synchronous header area.
  • N1-M1 bit asynchronous header area and M1 bit synchronous header area.
  • indication information may be added to the second code block stream to indicate the non-synchronization header area of the code block in the multiplexed first code block stream.
  • neither the asynchronous header region nor the synchronization header region in the first code block stream is changed. This can reduce the tediousness when demultiplexing, and because no changes are made, it is not necessary to indicate the non-synchronous header area of the code block in the multiplexed first code block stream, thereby reducing the amount of data of the instruction information. To further reduce the network load.
  • the content carried by the code block in the synchronization header area in the second code block stream and the content of the code block in the Q first code block stream is the same; the content carried in the asynchronous header area of the code block in the second code block stream is the same as the content carried in the asynchronous header area of the Q block in the Q first code block stream .
  • FIG. 5 exemplarily illustrates a schematic flowchart of a data transmission method provided by an embodiment of the present application, and the schematic flowchart of the method shown in FIG. 5 is applicable to a communication device on a multiplex side.
  • the method includes:
  • Step 501 The first communication device obtains Q first code block streams, where Q is an integer greater than 1.
  • step 501 the manner in which the first communication device obtains the Q first code block streams, and the role of the first communication device in practical applications can refer to the related description of step 401 above, and details are not described herein again.
  • Step 502 The first communication device obtains a second code block stream to be sent according to the Q first code block streams, and for one code block from the Q first code block streams carried in the second code block stream:
  • the content carried by the code block in the synchronization header area of the second code block stream is the same as the content carried by the code block in the synchronization header area of the Q first code block streams;
  • the content carried in the synchronization header area is the same as the content carried in the non-synchronization header area of the code block in the Q first code block stream.
  • the roles of the first communication device performing the solutions shown in FIG. 4 and FIG. 5 are various.
  • the Q downlink ports in the above step 401 may be the downlink of the first communication device.
  • the first communication device may receive Q first code block streams through the Q downlink ports of the first communication device.
  • step 402 after the first communication device obtains the second code block stream, there are multiple sending methods, and the second code block stream can be sent through one or more uplink ports.
  • the second code block stream is sent through multiple uplink ports.
  • the second code block stream can be granular with data units and based on each data unit in the second.
  • the ordering in the code block stream is sequentially transmitted through multiple uplink ports; a corresponding uplink port may be allocated to each data unit according to a certain rule, and then the data unit is sent through the uplink port corresponding to each data unit.
  • the data unit recovers the data unit according to the order in which the data units are transmitted on the transmitting device side.
  • the second code block stream In the second case, you can set the correspondence between the downlink port and the uplink port.
  • a communication device includes 10 downlink ports. You can make 4 downlink ports correspond to one uplink port and the other 6 downlink ports correspond to the other.
  • the uplink port so, after multiplexing the four first code block streams of the four downlink ports into a second code block stream, sending the second code block stream through the uplink ports corresponding to the four downlink ports, After multiplexing the six first code block streams of the six downlink ports into one second code block stream, the second code block stream is sent through the uplink ports corresponding to the six downlink ports. In this way, the transmission efficiency of the second code block stream can be further improved.
  • the first communication device that implements the solution shown in FIG. 4 or FIG. 5 may also be a core device that performs a multiplexing process in the downlink transmission process of the data in FIG. 2 and FIG. 3 described above.
  • the core device may be directed to code blocks.
  • the stream is multiplexed at one or more levels.
  • the Q downlink ports refer to the Q downlink ports of the communication device that demultiplexes the Q first code block stream during the downlink transmission process.
  • the Q first code block streams refer to the code block streams that Q terminal devices (the Q first code block streams are code block stream 3011, code block stream 3012, and code block stream 3013) need to receive
  • the core device may receive the Q first code block streams sent by other core devices through the Internet, and in this case, the Q downstream ports are the Q downstream ports of the communication device connected to the Q terminal devices.
  • the Q downlink ports are the downlink port 2042, the downlink port 2043, and the downlink port 2044 of the access device 204); for example, when the Q first code block streams refer to the code block streams that the Q access devices need to receive (Q First code block streams are code block stream 301, code block stream 302, and code block stream 303), in this case
  • the Q first code block streams may be obtained after the core device multiplexes one or more levels of code block streams corresponding to each received terminal device.
  • the Q downlink ports are The Q downlink ports of the communication device connected to the Q access devices (that is, the Q downlink ports are the downlink port 2032, the downlink port 2033, and the downlink port 2034 of the aggregation device 203).
  • the value of S in FIG. 4 and FIG. 5 is the value during the uplink data transmission process.
  • Each code block group in the S code block groups is a code block group corresponding to the Q downlink ports during data uplink transmission.
  • the value of S is the total number of code block groups corresponding to the Q downlink ports during data downlink transmission.
  • Each code block group in the S code block groups is The code block group corresponding to the Q downlink ports during data downlink transmission.
  • the number of code block groups allocated to the Q downlink ports of a communication device during the data uplink transmission process and the number of code block groups allocated to the Q downlink ports of a communication device during the data uplink transmission process can be The same or different.
  • the code block group allocated for the downlink port during data uplink transmission may be the same as the code block group allocated for the downlink port during data uplink transmission.
  • the code block group allocated for a port can be marked with a code block group identifier or other identification information allocated for the port, and the code block group identifier or other identification information can uniquely identify a code block group.
  • code block groups are allocated to 3 downlink ports of the first communication device, of which code block group 1 is allocated to downlink port 1 and code block group is allocated to downlink port 2. 2. Assign code block group 3 to downlink port 3.
  • code block group 1 is allocated to downlink port 1
  • code block groups 4 and 5 are allocated to downlink port 2.
  • Port 3 is assigned code block group 2. It can be seen that the code block group allocated for each downlink port in the embodiment of the present application can be divided into a code block group during data uplink transmission and a code block group during data downlink transmission. In this way, the flexibility of the solution can be improved .
  • the code block group allocated by a downlink port during data uplink transmission is the same as the code block group allocated by the downlink port during data downlink transmission.
  • a code block group corresponding to a downlink port may also be described as a code block group allocated for the downlink port.
  • FIG. 6 exemplarily illustrates a schematic structural diagram of a second code block stream provided by an embodiment of the present application.
  • FIG. 6 takes the access device 204 in FIG. 3 as an example.
  • Q is 3
  • the Q first code block streams are a code block stream 3011, a code block stream 3012, and a code block stream 3013, respectively.
  • the Q downstream ports are port 2042, port 2043, and port 2044, respectively.
  • the second code block stream is a code block stream 301.
  • a control code block and a data code block exist in each first code block stream.
  • FIG. 6 merely illustrates the structural form of the Q first code block streams.
  • the code block set in the embodiment of the present application refers to a unit including one code block or a plurality of consecutive code blocks, such as the code block set 607 and the code block set 606 shown in FIG. 6.
  • a data unit 600 in the embodiment of the present application refers to a unit including a code block set or a plurality of consecutive code block sets, such as the data unit 600 in FIG. 6, and the amount data unit shown in FIG. 8 in subsequent content. 800.
  • the second code block stream may include multiple data units.
  • the code block stream 3011 corresponds to a code block group and is a code block group 601. Therefore, the code block group identifier corresponding to each code block of the code block stream 3011 is a code block group 601.
  • the code block stream 3012 corresponds to a code block group and is a code block group 602. Therefore, the code block group identifier corresponding to each code block of the code block stream 3012 is a code block group 602.
  • the code block stream 3013 corresponds to two code block groups, which are a code block group 603 and a code block group 604. Therefore, a code block group corresponding to one code block of the code block stream 3011 is identified as a code block group 603 or a code block group 604.
  • the code block group identifiers of the code blocks in the first code block stream may be determined in turn as multiple code block group identifiers.
  • the code block stream 3013 corresponds to two code block groups, and the code block group identifiers of the code blocks in the code block stream 3013 may be determined in turn as a code block group 603 and a code block group 604.
  • code block group identifiers of multiple consecutive code blocks may be determined in turn as code block group 603 and code block group 604.
  • the code block group identifier of the block is determined as code block group 603, and the code block group identifiers of two consecutive code blocks in the code block stream 3013 are determined as code block group 604, and the subsequent two consecutive code blocks in the code block stream 3013 are then determined.
  • the code block group identifier of each code block is determined as a code block group 603, and the loop is performed backward in this way.
  • the code blocks in the L code block set 605 included in the second code block stream are all code blocks from the Q first code block streams.
  • a code block set 606 includes K code blocks corresponding to each code block group in the S code block groups.
  • K is taken as an example. In practical applications, K may be an integer greater than 1.
  • K is greater than 1
  • At 1 the code blocks included in a code block set 606 belonging to the same code block group may be placed continuously or discontinuously.
  • control type code blocks also referred to as control code blocks
  • the code blocks in the L code block sets are continuously carried in the second code block stream, and the second code block stream further includes a code block set at the head and / or tail of the L code block sets.
  • the code block set header includes at least one first control code block.
  • the code block set 607 and the L code block sets 605 may be referred to as a data unit 600. As shown in FIG. 6, a code block set 607 is provided at the head of each code block set 605 of L. Those skilled in the art may know that a code block set may also be set at the tail of the L code block sets.
  • the code block set 607 may include only one first control code block 608, or may include one or more code blocks in addition to the first control code block 608.
  • the code block set 607 includes the first control code block 608
  • the other code block may be a data code block or a control code block.
  • the synchronization header area of a code block other than the first control code block 608 included in the code block set 607 is displayed as “xx”, which indicates that the synchronization header area of the code block may be “10” or "01".
  • the first communication device performs L code block fetch operations cyclically for Q first code block streams to obtain a second code block stream. For each code block fetching operation in the L code block fetching operations, the first communication device sequentially extracts each of the S code block groups from the Q first code block streams according to the order of the S code block groups. K code blocks corresponding to each code block group. The ordering of the S code block groups may be predefined or issued by a core device.
  • a storage space may be configured for a communication device, and may also be referred to as a buffer area.
  • the cache area can be a public cache area, or the cache area can be divided into multiple cache areas by address. In a possible implementation manner, the storage capacities of any two buffer areas are equal.
  • a buffer area can be configured for the downlink port of the communication device.
  • the manner in which the downstream port configures more buffer areas increases the bandwidth of the downstream port.
  • the bandwidth of the downlink port can be reduced by configuring fewer buffer areas for the downlink port. It can be seen that with this embodiment, the bandwidth of the port can be adjusted with the cache area as the granularity, so that the granularity of the port bandwidth adjustment can be further reduced, and the flexibility of FlexE can be further improved.
  • the S code block groups correspond to S buffer areas
  • the S code block groups correspond to the S buffer areas one to one.
  • the obtaining, by the first communication device, a second code block stream to be sent according to the Q first code block streams includes: the first communication device according to the S code block groups and the S Corresponding to each buffer area, the code blocks in the Q first code block streams are buffered to the S buffer areas; for a code block set in the L code block sets, the first communication device according to the S Sort the code block groups, and sequentially extract K code blocks from each of the S buffer areas to obtain the code blocks in the code block set.
  • FIG. 7 exemplarily illustrates a data transmission process provided by an embodiment of the present application.
  • Figure 7 uses the data transmission process shown in Figure 6 as an example.
  • a buffer area 701 is allocated for port 2042
  • a buffer area 702 is allocated for port 2043
  • a port 2044 is allocated.
  • the two buffer areas are a buffer area 703 and a buffer area 704, respectively.
  • the buffer area 703 can apply the code block corresponding to the storage code block group 503
  • the buffer area 704 can apply the code block corresponding to the cache code block group 504.
  • FIG. 1 exemplarily illustrates a data transmission process provided by an embodiment of the present application.
  • FIG. 7 uses the data transmission process shown in Figure 6 as an example.
  • a buffer area 701 is allocated for port 2042
  • a buffer area 702 is allocated for port 2043
  • a port 2044 is allocated.
  • the two buffer areas are a buffer area 703 and a buffer area 704, respectively.
  • the buffer area 703 can apply
  • the access device 204 buffers a code block in a code block stream received through the downlink port to a corresponding buffer area.
  • the first communication device converts codes in the first code block stream.
  • the block is cached to the buffer area corresponding to the code block group.
  • the first communication device sequentially caches the code blocks in the first code block stream to multiple code block groups. Cache area. In this case, the concept of a code block group can also be ignored.
  • the first communication device turns the code blocks in the first code block stream received through the downlink port into multiple buffer areas corresponding to the downlink port, as in As shown in FIG. 7, the first communication device sequentially extracts K code blocks from each buffer area according to the order of the buffer areas, that is, the code blocks in the L code block set in the multiplexed second code block stream are obtained. .
  • K is taken as an example. In practical applications, K may be greater than 1.
  • IDLE code blocks are usually sent between communication devices. In this case, when there is an IDLE code block in the first code block stream received by the access device 204 through the downlink port, it is directly discarded and no longer sent. Cache area cache. This can save the capacity of the cache area on the one hand and avoid transmitting a large number of IDLE code blocks on the other hand, which can reduce the network load.
  • the proportion of valid data carried in the second code block stream can increase, so the uplink of the first communication device
  • the bandwidth of the port can be set to be inconsistent with the total bandwidth of the Q downlink ports of the first communication device, thereby achieving the purpose of rate convergence of the uplink port and the downlink port of the first communication device.
  • the bandwidth of the port is set flexibly. Therefore, the bandwidth of the uplink port can be reduced according to the specific situation, which can further save costs without affecting the transmission of user data.
  • the bandwidth of the uplink port of the first communication device can be represented by the capacity of the buffer area corresponding to the downlink ports of other communication devices connected to the uplink port.
  • the bandwidth of the uplink port of the first communication device can also be described as the bandwidth of the uplink port of the first communication device.
  • the capacity of the buffer area corresponding to the downlink port of the other communication device can be set to be different from the total bandwidth of the Q downlink ports of the first communication device.
  • the buffer area 701, the buffer area 702, and the cache of the access device 204 The total cache capacity of the area 703 and the cache area 704 may be different from the total capacity of the cache area corresponding to the downlink port 2032 (see FIG. 3) of the aggregation device 203.
  • an idle IDLE code block is inserted into the second code block stream.
  • L number is 5
  • the buffer area 702 currently includes a code block, but there are no subsequent code blocks in the buffer area 702 (for example, the code block stream 3012 transmits all IDLE code blocks and is accessed. Discarded by the device 204 and not placed in the buffer area 702).
  • the access device 204 sequentially takes four code blocks from the four buffer areas (the four buffer areas are the buffer area 701, the buffer area 702, the buffer area 703, and the buffer area 704) to obtain the first one of the L code block sets. Four code blocks in each code block set.
  • the second code block set is cached in the second code block stream.
  • An IDLE code block is inserted at a position corresponding to the code block of the area 702.
  • FIG. 8 exemplarily illustrates another structural schematic diagram of the second code block stream provided by the embodiment of the present application.
  • the second code block stream further includes: P code block sets; P is a positive integer, and for the P code block sets, For each code block set, the code block set includes K code blocks corresponding to each code block group in the (SR) code block groups; where R is a positive integer not greater than S; and (SR) code block groups are S Code block groups other than R code block groups in one code block group; if one code block group in the R code block groups meets a preset condition, the consecutive K * L code blocks corresponding to the code block group are IDLE Code blocks. That is, when a code block is not obtained during the cyclic code fetch operation, specifically, for a buffer area, no code block is obtained during L code fetch operations. In this case, The second code block stream may not carry the code blocks in the buffer area
  • FIG. 8 is another schematic structural diagram of the second code block stream shown above based on FIG. 7.
  • P code block fetch operations need to be performed to generate P numbers of the second code block stream.
  • Code block set, but in P code block fetch operations, code blocks are not fetched from the buffer area 702.
  • P blocks in the code block stream 301 (second code block stream)
  • Each code block set 803 in the code block set 801 may not include a code block corresponding to the buffer area 702.
  • a code block including a code block set 803 and P code block sets may be referred to as a data unit 800. In this way, the amount of data transmission can be reduced, and the network load can be further reduced.
  • each code block set 801 of P may further include a code block set 803, and a head of the code block set 803 includes a first control code block 804.
  • the code block set may further include one or more other code blocks, and one of the other code blocks may be a data code block or a control code block.
  • FIG. 9 and FIG. 10 respectively exemplarily show schematic flowcharts of two data transmission methods provided by the embodiments of the present application, and the methods shown in FIG. 9 and FIG. 10 are solutions.
  • the multiplexing side method For the convenience of introduction, the method shown in FIG. 9 and FIG. 10 is described by using an example in which the second code block stream needs to be demultiplexed. In this example, the second code block stream can be demultiplexed. Used as Q first code block streams.
  • the Q first code block streams may be the code block stream 301 and the code block in FIG. Stream 302 and code block stream 303.
  • the Q first code block streams may be a code block stream 3011, a code block stream 3012, and a code block stream 3013 in FIG.
  • the method includes:
  • Step 901 The third communication device obtains a second code block stream.
  • the second code block stream includes L code block sets.
  • the code block set includes S code blocks. K code blocks corresponding to each code block group in the group, one code block in the L code block set corresponds to one code block group, S is an integer greater than 1, and L and K are positive integers.
  • the third communication device that implements the solution shown in FIG. 9 may be, for example, the access device and the aggregation device that perform the demultiplexing process in the downlink data transmission process in FIG. 2 and FIG. 3 described above.
  • the third communication device The device may receive the second code block stream through the uplink port, and the third communication device that implements the solution shown in FIG. 9 may also be the core device that performs the demultiplexing process in the uplink data transmission process in FIG. 2 and FIG. 3 described above.
  • the core device may perform multiple levels of demultiplexing for the code block stream.
  • Step 902 The third communication device obtains Q first code block streams according to the second code block stream, where Q is an integer greater than 1 and not greater than S, and the Q first code block streams correspond to S code block groups.
  • a code block stream corresponds to one or more code block groups.
  • the method includes:
  • Step 1001 The third communication device obtains a second code block stream.
  • step 1001 for the role of the third communication device in the actual application, reference may be made to the related description of step 901, and details are not described herein again.
  • Step 1002 The third communication device obtains Q first code block streams according to the second code block stream, where Q is an integer greater than 1.
  • Q is an integer greater than 1.
  • the first code block stream from the Q first code block stream is carried.
  • One code block The content carried by the code block in the synchronization header area of the second code block stream is the same as the content carried by the code block in the synchronization header area of the Q first code block stream; the code block is contained in the second code block
  • the content carried in the asynchronous header area in the stream is the same as the content carried in the asynchronous header area of the code block in the Q first code block stream.
  • FIG. 9 and FIG. 10 describe the demultiplexing process.
  • the related structures of the second code block stream and the first code block stream involved in FIG. 9 and FIG. 10 can be referred to FIG. 6 and FIG.
  • the related descriptions in 7 and FIG. 8 are not repeated here.
  • the third communication device that implements the solutions shown in FIG. 9 and FIG. 10.
  • the third communication device when the third communication device is not a core device, for example, It is the access device, aggregation device, etc. that performs the demultiplexing process in the uplink data transmission process in FIG. 2 and FIG. 3 above.
  • the Q downlink ports in FIG. 9 and FIG. 10 may be the third port.
  • the Q downlink ports of the communication device, and the third communication device may distribute the Q first code block streams through the Q downlink ports of the third communication device.
  • the third communication device When the third communication device is not a core device, there are multiple ways for the third communication device to obtain the second code block stream.
  • the third communication device receives the second code block stream through the uplink port, it may be through one or A plurality of uplink ports receive the second code block stream.
  • the communication device on the transmitting side sends the second code block stream through multiple downlink ports, the communication device on the transmitting side can use the granularity of the data unit as the granularity of the second code block stream and according to the order of each data unit in the second code block stream. Send sequentially through multiple uplink ports; each data unit may also be assigned a corresponding uplink port with a certain rule, and then the data unit is sent through the uplink port corresponding to each data unit.
  • the second communication unit recovers the second data unit according to the order in which the data unit is transmitted on the transmitting device side. Code block stream.
  • the third communication device that implements the solution shown in FIG. 9 or FIG. 10 may also be a core device that performs a demultiplexing process in the downlink transmission process of the data in FIG. 2 and FIG. 3 described above.
  • the block stream is demultiplexed in one or more stages.
  • the Q downlink ports refer to the Q downlink ports of the communication device that demultiplexes the Q first code block stream in the downlink transmission process.
  • Q first code block streams refer to code block streams sent by Q terminal devices
  • Q first code block streams are code block stream 3011, code block stream 3012, and code block stream 3013
  • Q Downlink ports are Q downlink ports of communication equipment connected to the Q terminal devices (ie, Q downlink ports are downlink port 2042, downlink port 2043, and downlink port 2044 of access device 204);
  • Q The first code block stream refers to the code block streams sent by the Q access devices (the Q first code block streams are code block stream 301, code block stream 302, and code block stream 303)
  • Q downlink ports are connected to the Q Q downlink ports of communication devices connected to the access devices (that is, Q downlink ports are the downlink ports 2032 of the aggregation device 203 , Downlink port 2033 and downlink port 2034).
  • the value of S is the Q number during the data downlink transmission process.
  • Each code block group in the S code block groups is a code block group corresponding to the Q downlink ports during data downlink transmission.
  • the value of S is the total number of code block groups corresponding to the Q downlink ports during data uplink transmission.
  • Each code block group in the S code block groups is The code block group corresponding to the Q downlink ports during data uplink transmission.
  • the third communication device obtains Q first code block streams according to the second code block stream, and includes: for each code block set in the L code block sets: The third communication device sequentially extracts K code blocks corresponding to each code block group in the S code block groups from the code block set according to the order of the S code block groups to obtain Q first code block streams.
  • the second code block stream is a code block stream 301
  • the Q first code block streams are respectively a code block stream 3011, a code block stream 3012, and a code block stream 3013.
  • the code blocks are sequentially taken out from the second code block stream, and can be According to the downlink port corresponding to the code block group of the code block, the extracted code block is sent out through the corresponding downlink port.
  • the buffer area is not used during the downlink data transmission, that is, after the third communication device receives the second code block stream through the uplink port, it directly receives the second code block stream from L
  • the code block is taken out from each code block set, and sent from the downlink port corresponding to the code block.
  • a buffer area is used during a downlink data transmission process.
  • the third communication device caches the K code blocks corresponding to each code block group in the S code block groups to the cache corresponding to the code block group according to the correspondence relationship between the S code block groups and the S buffer areas. Area.
  • the code block is fetched from the buffer area and then sent out through the downlink port.
  • the access device 204 places each code block in the L code block set in the second code block stream to the corresponding code block.
  • the code blocks buffered in each buffer area are then sent out through the corresponding downlink port, for example, the code blocks in the buffer area 701 are sent out through port 2042.
  • port 2044 corresponds to multiple buffer areas. In this case, demultiplexing is performed according to the rules that match the multiplexing process, so as to obtain the first code block stream corresponding to port 2044.
  • a code block can be taken out from the buffer area 703 and the buffer area 704 in turn, and sent out from the port 2044.
  • a centralized negotiation method may also be provided, and the negotiation method may centrally deliver configuration information (configuration information may include a port, for example) Correspondence with code block groups; Since one port transmits one code block stream, the corresponding relationship between ports and code block groups can also be described as the correspondence between code block streams and code block groups; when a buffer area is configured in the communication device The corresponding relationship between the port and the code block group can also be described as the corresponding relationship between the buffer area and the port), so that the rate of negotiation failure can be reduced, thereby improving network operation efficiency.
  • the core device can uniformly configure the bandwidth of the ports of the communication devices (such as the aggregation device and the access device) at all levels.
  • the bandwidth configured for the port may be embodied by a buffer area configured for the port
  • FIG. 11 and FIG. 12 exemplarily show a flowchart of a negotiation method provided by an embodiment of the present application.
  • a core device is connected to a first communication device, and a first communication device is connected to Q second communication devices as an example for description.
  • the Q second communication devices are exemplarily shown in FIG. 11 and FIG. 12 by the first second communication device,... Q second communication device.
  • the method includes:
  • step 1101 the core device sends a fifth code block stream, and the fifth code block stream includes indication information used to indicate reporting port information.
  • the state of the port can be divided into two states: the UP state and the DOWN state.
  • the core device includes one or more downlink ports, and all or part of the downlink ports of the core device are in the UP state.
  • the core device delivers the fifth code block stream through the downlink port in the UP state.
  • a downlink port of the core device is connected to a first communication device.
  • a first communication device is used as an example for description.
  • the port information of a port may include any one or more of the following: status information of the port (that is, whether the port is in an UP state or a DOWN state), a port rate, and a port identifier.
  • Step 1102 The first communication device receives the fifth code block stream, and analyzes a code block set including at least the sixth control code block in the header of the fifth code block stream, and determines that the first communication device itself needs to send a message to the core.
  • the device reports the port information of its downlink port.
  • the sixth control code block includes instruction information for instructing the first communication device to report port information of the first communication device. For example, a bit can be set at a preset position of the sixth control code block. When the value of the bit is 7, it indicates that port information needs to be reported.
  • the core device may require the communication device to report only the port information of the downlink port, or it may be required to report the port information of the uplink port and the downlink port.
  • the position of a code block set including at least one control code block in a code block stream may be at the head or tail of a code block stream, and the code block set including the control code block may also be a partial code.
  • the block is located at the head of the code block stream, and some code blocks are located at the tail of the code block stream.
  • the code block set is located at the head in FIG. 11 and FIG. 12 for example.
  • the code block set including the third control code block may be at the head or tail of the third code block stream, or some code blocks in the code block set may be at the head or part of the third code block stream.
  • the code block is at the end of the third code block stream.
  • the code block set including the fourth control code block may be at the head or tail of the fourth code block stream, or some code blocks in the code block set may be at the head of the fourth code block stream. Part of the code block is at the end of the fourth code block stream.
  • the position of the code block set including at least one sixth control code block in the fifth code block stream includes at least one seventh control code block.
  • the position of the code block set in the sixth code block stream, the position of the code block set including at least one eighth control code block in the seventh code block stream, and the code block set including at least one ninth control code block in the first are discussed with reference to this paragraph, and will not be repeated in other places.
  • a code block set including at least one control code block in a code block stream may or may not include other code blocks (that is, only control code blocks), or may include other code blocks (other code blocks may Is a data code block or a control code block).
  • the code block set including the third control code block may include only the third control code block, or may include other data code blocks and / or control code blocks in addition to the third control code block.
  • Step 1103 The first communication device demultiplexes code blocks in the fifth code block stream except the code block set including the sixth control code block to obtain Q sixth code block streams.
  • the Q sixth code block streams are in one-to-one correspondence with the Q downlink ports.
  • the first communication device is connected to the Q second communication devices through the Q downlink ports, and the Q downlink ports are in one-to-one correspondence with the Q second communication devices.
  • Step 1104 The first communication device distributes the Q sixth code block streams to the Q second communication devices through the Q downlink ports.
  • a sixth code block stream includes indication information used to indicate reporting port information.
  • step 1104 takes the first sixth code block stream, the Qth sixth code block stream as an example, and exemplarily shows the Q sixth code block stream.
  • one second communication device of the Q second communication devices receives a sixth code block stream through a downlink port connected to the second communication device on the first communication device.
  • a header of the sixth code block stream includes a code block set, and the code block set includes at least one seventh control code block,
  • the code block set including the seventh control code block includes instruction information used to instruct a second communication device corresponding to the sixth code block stream to report port information of the second communication device.
  • Step 1105 Each second communication device among the Q second communication devices generates a seventh code block stream corresponding to the second communication device according to the port information of the second communication device.
  • the Q second communication devices each send a seventh code block stream to the first communication device.
  • a seventh code block stream includes port information of a communication device.
  • step 1104 takes the first seventh code block stream, the Qth seventh code block stream as an example, and exemplarily shows the Q seventh code block stream.
  • the first communication device receives Q seventh code block streams.
  • a header of the seventh code block stream includes a code block set, and the code block set includes at least one eighth control code block, including
  • the code block set having the eighth control code block includes: indication information for indicating port information of a port of a second communication device corresponding to the seventh code block stream.
  • Step 1106 The first communication device multiplexes the Q seventh code block streams into an eighth code block stream.
  • a code block set is added to the head and / or tail of the eighth code block stream, and the head of the code block set includes at least one ninth control code block.
  • the code block set including the ninth control code block includes: indication information for indicating port information of a port of the first communication device.
  • Step 1107 The first communication device sends an eighth code block stream to the core device.
  • the core device receives the eighth code block stream, and performs multi-stage demultiplexing on the eighth code block stream, so as to obtain port information of communication devices at all levels (including the first communication device and the Q second communication devices). .
  • step 1108 of FIG. 12 may be performed.
  • Step 1108 The core device sends a third code block stream.
  • the third code block stream includes: indication information used to indicate a correspondence between a port of the first communication device and a code block group during data uplink transmission, and / or used to indicate the first communication device during data downlink transmission. Indication information of the correspondence between the port and the code block group.
  • the correspondence between the port of the first communication device and the code block group during the uplink data transmission process and the correspondence between the port of the first communication device and the code block group during the downlink data transmission process may be the same or different. Any one of the correspondence between the port of the first communication device and the code block group during data uplink transmission and the correspondence between the port of the first communication device and the code block group during data downlink transmission can be performed by the core device It is configured for delivery, or it may be configured and reported by the first communication device itself.
  • the first communication device receives a third code block stream sent by the core device.
  • the third code block stream may carry configuration information allocated by a core device to a port of each communication device.
  • the configuration information allocated by a core device to a port may include a code block group allocated to the port and / or a buffer area allocated to the port.
  • the code block group assigned to the port can be represented by the code block group identifier assigned to the port.
  • the code block group assigned to the port may be one or more.
  • the code block group assigned to the port can also be described.
  • the buffer area allocated for the port can be represented by the address of the buffer area allocated for the port, and the buffer area allocated for the port may be one or more, allocated for the port
  • the cache area can also be described as the correspondence between the port and the cache area.
  • the head and / or tail of the third code block stream includes a code block set, and the code block set includes at least one third control code block.
  • the indication information of the corresponding relationship may be entirely carried on the third control code block, or may be partially carried on the third control code block, and the rest may be carried on other data code blocks including the code block set of the third control code block and / Or control code blocks.
  • This section uses the first communication device as an example to introduce the correspondence between ports and code block groups during the data uplink transmission process and the data downlink transmission process.
  • the core device assigns configuration information to a port according to various factors, and can set different weights for various factors. For example, it can be based on the traffic corresponding to the port, the priority of the service corresponding to the port, the priority of the port, and the type of service corresponding to the port.
  • the service types corresponding to the ports can include video, voice, signaling-level services, Internet Protocol Television (IPTV) services, and wireless fidelity (Wi-Fi) services.
  • the first communication device when the code block set including the third control code block carries the correspondence between the port of the first communication device and the code block group during the data uplink process, the first communication device according to the third control code block includes the third control code block.
  • the corresponding code block set determines the correspondence between the downlink port of the first communication device and the code block group during the data uplink process.
  • the code block set including the third control code block carries the correspondence between the port of the first communication device and the code block group in the data downlink process
  • the first communication device is based on the code block including the third control code block. Set to determine the correspondence between the port of the first communication device and the code block group during the data downlink process.
  • Step 1109 The first communication device demultiplexes code blocks in the third code block stream other than the code block set including the third control code block to obtain Q fourth code block streams.
  • Step 1110 The first communication device distributes Q fourth code block streams through Q downlink ports.
  • a fourth code block stream includes indication information used to indicate a correspondence between a port of a second communication device corresponding to the fourth code block stream and a code block group during data uplink transmission, and / or, used to indicate The indication information of the correspondence between the port of the second communication device corresponding to the fourth code block stream and the code block group during data downlink transmission.
  • step 1110 takes the first fourth code block stream, the Qth fourth code block stream as an example, and exemplarily shows the Q fourth code block stream.
  • each second communication device of the Q second communication devices receives a fourth code block stream through a downlink port connected to the second communication device on the first communication device.
  • the Q fourth code block streams correspond one-to-one with the Q downlink ports.
  • a header and / or a tail of the fourth code block stream includes a code block set, and the code block set includes at least one fourth Control code block.
  • the indication information of the correspondence between the port of the second communication device corresponding to the stream and the code block group may be entirely carried on the fourth control code block, or may be partially carried on the fourth control code block.
  • Step 1111 For one second communication device among the Q second communication devices, the second communication device parses the fourth code block stream received by the second communication device.
  • the second communication device When the code block set including the fourth control code block carries the correspondence between the port of the second communication device and the code block group during the data uplink process, the second communication device is based on the code block including the fourth control code block. Set to determine the correspondence between the port of the second communication device and the code block group during the data uplink process.
  • the code block set including the fourth control code block carries the correspondence between the port of the second communication device and the code block group in the data downlink process
  • the second communication device is based on the code block including the fourth control code block. Set to determine the correspondence between the port of the second communication device and the code block group during the data downlink process.
  • the examples in FIG. 11 and FIG. 12 are described by using the first communication device as an example.
  • the demultiplexing side of the above content is the third communication device.
  • the third communication device can communicate with the first communication device in the same communication.
  • the device may also be two different communication devices, which are not limited in the embodiment of the present application.
  • the solution executed by the first communication device is the same as the solution executed by the third communication device.
  • the third communication device performs the multiplexing process
  • the solution executed by the third communication device is the same as the solution executed by the first communication device.
  • the second code block stream further includes a code block set at the head and / or tail of the L code block sets.
  • the code block set includes at least one first control code block
  • the code block set including the first control code block includes: Q downlink ports and S code block groups used to indicate a third communication device during data uplink transmission The indication information of the corresponding relationship between the S, and / or the indication information used to indicate the correspondence between the Q downlink ports of the third communication device and the S code block groups in the data downlink transmission process.
  • the third communication device obtains Q first code block streams according to the second code block stream, including:
  • the third communication device obtains Q downlink port and S code block groups according to a code block set including the first control code block.
  • the third communication device demultiplexes the L code block set into Q first code block streams according to the correspondence relationship between the Q downlink ports and the S code block groups.
  • the code block set including the first control code block further includes: the third communication device is used to indicate that the third communication device is in a data uplink transmission process. Indication information of the correspondence relationship between the ports other than the Q downlink ports and the code block group, and / or used to indicate the ports and code blocks other than the Q downlink ports of the third communication device during the data downlink transmission process Indication information of the correspondence of the groups.
  • the third communication device is connected to the Q fourth communication devices through Q downlink ports, and the Q downlink ports correspond to the Q fourth communication devices in a one-to-one manner.
  • the third communication device further includes: the third communication device distributes the Q first code block streams through the Q downlink ports;
  • the head and / or the tail includes a code block set, and the code block set includes at least one fifth control code block, and the code block set including the fifth control code block includes: the first code is used to indicate that the first code Indication information of the correspondence between the port of the fourth communication device corresponding to the block stream and the code block group, and / or, used to indicate the port and code of the fourth communication device corresponding to the first code block stream during the data downlink transmission process
  • the indication information of the correspondence relationship of the block groups are examples of the correspondence relationship of the block groups.
  • Fig. 11 and Fig. 12 exemplarily introduce an example in which a core device configures a code block group for each level of communication equipment.
  • a code block group can also be reconfigured for one or more ports of a communication device, such as One port adds the configured code block group or decreases to a code block group already configured on one port.
  • the reconfiguration code block group may be initiated by the core device, and the reconfiguration configuration information is delivered to the communication device. Or the communication device initiates and uses it, and reports the used new configuration information to the core device. For example, if the first communication device finds that the bandwidth of a downlink port is insufficient, it adds a code block group to the downlink port.
  • the head and / or tail of the L code block sets of the second code block stream carry indication information for indicating the port and the code block group.
  • the first communication device initiates reconfiguration on its own, in a possible implementation manner: for one of the Q downlink ports, when the amount of buffered data in the buffer area corresponding to the downlink port is greater than the first buffer amount threshold or less than The second buffer amount threshold, the second code block stream further includes a code block set at the head and / or tail of the L code block sets, and the code block set header includes at least one second control code block and the second control code block It includes instruction information for instructing a core device to request reconfiguration of a code block group for a downlink port, and the second buffer amount threshold is smaller than the first buffer amount threshold.
  • FIG. 6 and FIG. 8 relate to a code block set including a first control code block.
  • the second code block stream may include multiple data units.
  • a data unit may also be referred to as a frame in some cases.
  • a data unit or frame is only used as a name in the embodiments of the present application, and has no other limited meaning.
  • a data unit includes a code block set including at least a first control code block and L code block sets.
  • a data unit may include a code block set including at least a first control code block and P code block sets.
  • the embodiments of the present application include a code block set including a first control code block for carrying any one or more of the following: indication information for indicating a correspondence between Q downlink ports and S code block groups ; Indication information for indicating the value of S; indication information for indicating the value of L; indication information for indicating S code block groups; for indicating S codes in one code block set in the L code block set Instructions for ordering block groups; instructions for indicating the capacity of a single buffer area.
  • the indication information may be indicated in a code block set including the first control code block, and may be explicitly indicated by some information, or may be indicated by some information and a preset rule.
  • the processing may also be a default value (that is, there is no instruction, and the core device and the communication device also know the instruction information).
  • some predefined bits may be set in the code block set including the first control code block, and there is a corresponding relationship between the bits and the code block group identifier, that is, these bits
  • the bits can implicitly indicate the code block group identifier, and the port identifier is carried on these predefined bits, then the port identifier on these predefined bits can indicate the correspondence between the port and the code block group, which can also save The data amount of the instruction information does not need to be separately indicated for the port identifier corresponding to each code block.
  • the second code block stream includes multiple data units, and one data unit includes one or more code block sets.
  • the information carried by a code block set including a first control code block in a data unit may be used to indicate information of the L code block sets carried in the current data unit, or may be used to indicate the L number of bearers carried in other data units.
  • the information of the code block set may also be used to indicate the information of the code block set carried in the current data unit and other data units.
  • the code block stream 301 may include multiple data units, and the data unit 600 may further include multiple data units.
  • Any information carried in the code block set 607 of the data unit 600 may be used to indicate information about code blocks in the L code block set 605 in the current data unit 600; it may also be used to indicate a certain subsequent one of the data unit 600
  • Information about code blocks in a code block set in a specific data unit such as the next data unit subsequent to data unit 600 or the next data unit subsequent to data unit 600
  • it may also be used to indicate data unit 600 and Information about a code block set carried by a data unit in a subsequent period of time; or information related to the code block set in the data unit 600 and subsequent consecutive multiple data units that do not carry the first control code block.
  • the code block set that includes the first control code block Take the code block set that includes the first control code block as an example to illustrate the indication information for indicating the correspondence relationship between the Q downlink ports and the S code block groups. Because the port and the code block stream have a one-to-one correspondence Combined with the ordering of S code block groups in one code block set in the L code block sets, the correspondence relationship between the Q downlink ports and the S code block groups can also be described as being used to indicate the second code block stream.
  • the indication information of the code block stream corresponding to the code blocks carried by the first code block stream is carried. With the instruction information, each first code block stream can be recovered from the second code block stream. As shown in FIG.
  • the indication information carried in the code block set 607 of the data unit 600 and used to indicate the correspondence between the Q downlink ports and the S code block groups may be used to indicate the L code blocks in the data unit 600.
  • the indication information of the first code block stream corresponding to each code block in the set 605 may also be used to indicate the first code block stream corresponding to the first code block stream carried by the next data unit of the data unit 600.
  • Indication information of a code block stream it may also be a first code block corresponding to a code block from the first code block stream carried by the data unit 600 and subsequent multiple data units that do not include the first control code block The indication of the stream.
  • the above indication information used to indicate the correspondence between the Q downlink ports and the S code block groups may be used to indicate the correspondence between the Q downlink ports and the S code block groups in the data uplink process; or may be used to indicate Correspondence between Q downlink ports and S code block groups during data downlink; or for indicating the correspondence between Q downlink ports and S code block groups during data uplink and for indicating downlink data Correspondence between Q downlink ports and S code block groups in the process.
  • Tables 1 and 2 the correspondence between the port and the code block group during the uplink data transmission and during the downlink data transmission is used as an example for illustration.
  • the indication information used to indicate the value of S can also be described as used to indicate a data unit (the one data unit may be the current data unit carrying the indication information, or other data units).
  • the bit corresponding to the code block group when When the second code block stream does not carry the code block corresponding to the code block group, the bit corresponding to the code block group is set to a preset value, for example, the bit position corresponding to the code block group may be 0.
  • the indication information used to indicate the S code block groups may also be described as used to indicate that it is carried in a data unit (the one data unit may be the current data unit carrying the indication information or other data units)
  • the indication information of the code block group corresponding to the code block of the first code block stream may be indicated in a manner of identifying the S code block groups by bits. You can also set some predefined bits in the code block set that includes the first control code block. These bits have a corresponding relationship with the code block group identifier.
  • the bit corresponding to the code block group when When the second code block stream does not carry the code block corresponding to the code block group, the bit corresponding to the code block group is set to a preset value, for example, the bit position corresponding to the code block group may be 0.
  • the indication information used to indicate the value of L may be described as used to indicate a data unit (the one data unit may be the current data unit carrying the indication information or other data units) from the first
  • the indication information of the total number of code block sets corresponding to the code blocks of the code block stream may be a bit indicating the total number of code block sets corresponding to code blocks from the first code block stream carried by the data unit. It can also be set to a default value, such as setting L to be equal to the number of code blocks that a single buffer can hold.
  • the number of code block sets corresponding to code blocks from the first code block stream included in one data unit, the number of code block groups included in one code block set corresponding to code blocks from the first code block stream, and The number of code blocks corresponding to a code block group in a code block set corresponding to code blocks from the first code block stream can indicate the total length of the data unit. Because the physical rate of the port is constant, these parameters can be passed To characterize the data length of a data unit, and one or more of the three parameters can be set as the default value.
  • the indication information used to indicate the ordering of the S code block groups in one code block set in the L code block sets may be described as indicating a data unit (the one data unit may be the current data unit carrying the indication information) , Or may also be indication information for ordering code block groups in a code block set corresponding to code blocks of the first code block stream included in other data units).
  • the indication information may use a default value, for example, the default ordering is based on the size of the code block group identifier.
  • the indication information used to indicate the capacity of a single buffer area may be applied in the embodiment shown in FIG. 7. This instruction can be set to the default value.
  • the structure of the control code block involved in the embodiment of the present application may be various, as long as it can indicate the information to be indicated.
  • Table 1 exemplarily shows a structural form of a possible control code block provided in the embodiment of the present application.
  • the control code block may be applicable to the first to ninth control code blocks mentioned in the foregoing content.
  • Table 2 also exemplarily shows the structural forms of other code blocks included in the code block set including the control code block. Table 2 is applicable to the codes including the first control code block mentioned in the above content.
  • Other code blocks in the block set to other code blocks in the code block combination including the ninth control code block for example, other code blocks in the code block set including the first control code block, including the second control code block
  • Other code blocks in the set of code blocks of FIG. represents other code blocks in the set of code blocks including the third control code block, and the like.
  • [A: B] represents bits A to B, for example, [65:64] represents bits 65 to 64.
  • Table 2 includes the structural forms of other code blocks included in the code block set including the control code block
  • a data unit generated in the embodiment of the present application may be MAC-encapsulated, such as adding a MAC header (the MAC header may include fields such as a destination address, a source address, and a type number) and a MAC trailer (the MAC trailer may include Frame check sequence (FCS field, etc.), thereby encapsulating the data unit into a standard MAC message, such as an 802.3 Ethernet message, so that it can be used in the communication device used in the embodiments of this application.
  • MAC tunnels are added from time to time. For example, a MAC tunnel is added between the first communication device and the second communication device.
  • the core device can assign a MAC address to each communication device, which is used when the destination address and source address of the MAC header are added.
  • a third-party switch can be inserted between communication devices at the aggregation layer, access layer, and core layer.
  • the third-party switch reports only based on the destination address (destination MAC address).
  • the third-party switch does not parse the data unit encapsulated in the MAC packet. Only when the communication device (such as an access device, convergence device, or core device) in the embodiment of the present application receives the destination address as its own MAC address Only when the MAC message is parsed is the data unit inside the MAC message parsed.
  • the present application provides a communication device 1300 for performing any one of the multiplexing side and the demultiplexing side in the above method.
  • FIG. 13 exemplarily shows a schematic structural diagram of a communication device provided in the present application.
  • the communication device 1300 includes a communication interface 1301 and a processor 1302.
  • the communication device 1300 in this example may be the first communication device or the third communication device in the above.
  • the processor 1302 refers to a device capable of performing a corresponding action.
  • it can be a central processing unit (CPU), a network processor (NP), or a combination of CPU and NP.
  • the processor 1302 in the embodiment of the present application may also be implemented by a hardware chip.
  • the hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof.
  • the PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
  • the communication interface 1301 may be a wired communication access port, a wireless communication interface, or a combination thereof.
  • the wired communication interface may be, for example, an Ethernet interface.
  • the Ethernet interface can be an optical interface, an electrical interface, or a combination thereof.
  • the wireless communication interface may be a WLAN interface.
  • the communication interface includes a downlink port and an uplink port of the communication device.
  • the embodiment of the present application may include a memory, or may not include a memory.
  • the memory may include volatile memory (for example, random-access memory (RAM); the memory may also include non-volatile memory (for example, flash memory) Memory (flash memory), hard disk (HDD) or solid-state drive (SSD); the memory may also include a combination of the above types of memory.
  • volatile memory for example, random-access memory (RAM)
  • non-volatile memory for example, flash memory
  • flash memory flash memory
  • HDD hard disk
  • SSD solid-state drive
  • the memory may also include a combination of the above types of memory.
  • the processor 1302 may be configured to execute one or more steps in the embodiment shown in the foregoing solution, or an optional implementation manner thereof, so that the communication device 1300 implements the multiplexing side or the demultiplexing side in the above method.
  • Functions of communication equipment When a memory exists, the memory may also be used to store program instructions.
  • the processor 1302 calls the program instructions stored in the memory, and may execute one or more steps in the embodiment shown in the foregoing solution, or an optional implementation manner thereof. To enable the communication device 1300 to implement the functions of the multiplexing side or demultiplexing side communication device in the above method.
  • the communication device 1300 may be used to execute a solution executed by the first communication device.
  • the communication interface 1301 is used to obtain Q first code block streams, where Q is an integer greater than 1.
  • the communication interface 1301 includes at least Q downlink ports, and the Q first code block streams correspond to the Q downlink ports one by one, and the Q downlinks
  • the port corresponds to S code block groups, one downlink port corresponds to one or more code block groups, one code block in the Q first code block stream corresponds to one code block group, and S is an integer not less than Q;
  • the processor 1302 It is used to obtain the second code block stream to be sent according to the Q first code block streams.
  • the second code block stream includes L code block sets.
  • the code block set includes K code blocks corresponding to each code block group in the S code block groups, where L and K are positive integers; where the first communication device is not a core device, the value of S is during data uplink transmission The total number of code block groups corresponding to the Q downlink ports.
  • Each code block group in the S code block groups is a code block group corresponding to the Q downlink ports during data uplink transmission.
  • the first communication The device is a core device, and the value of S is a code block group corresponding to the Q downlink ports during data downlink transmission.
  • Total number of code blocks each code block group in the S code block groups is a code block group corresponding to the Q downlink ports during data downlink transmission.
  • the communication device 1300 When the communication device 1300 is used to execute a multiplex-side solution, the communication device 1300 may be used to execute a solution executed by the first communication device.
  • the communication interface 1301 obtains Q first code block streams, where Q is an integer greater than 1.
  • the processor 1302 obtains the second code block stream to be sent according to the Q first code block streams.
  • One code block carried from Q first code block streams The content carried by the code block in the synchronization header area of the second code block stream and the content carried by the code block in the synchronization header area of the Q first code block stream The content is the same; the content carried in the asynchronous header area of the code block in the second code block stream is the same as the content carried in the asynchronous header area of the Q code block in the first code block stream; when the first communication device It is not a core device.
  • the value of S is the total number of code block groups corresponding to the Q downlink ports during data uplink transmission. Each code block group in the S code block groups is during data uplink transmission.
  • Code block groups corresponding to the Q downlink ports when the first communication device is a core device, the value of S is the total number of code block groups corresponding to the Q downlink ports during data downlink transmission, and the S codes Each code block group in the block group is the Q downlink ports during data downlink transmission. Corresponding code block group.
  • the processor 1302 is configured to perform L code block fetch operations cyclically for Q first code block streams to obtain a second code block. For each code block operation in L code block operations, according to the order of the S code block groups, each code in the S code block groups is sequentially taken out from the Q first code block streams. K code blocks corresponding to the block group.
  • the processor 1302 is configured to: when a code block is not obtained during the loop code block fetching operation, in the second An idle IDLE code block is inserted into the code block stream.
  • the S code block groups correspond to the S buffer areas, and the S code block groups correspond to the S buffer areas one to one; the processor 1302, It is also used to cache the code blocks in the Q first code block stream to the S buffer areas according to the corresponding relationship between the S code block groups and the S buffer areas; according to the order of the S code block groups, sequentially from Each of the S buffer areas takes out K code blocks.
  • the processor 1302 is configured to: for one first code block stream among the Q first code block streams, execute: when the first The code block stream corresponds to one code block group, and the code blocks in the first code block stream are buffered to the buffer area corresponding to the code block group.
  • the first code block stream corresponds to multiple code block groups
  • the Code blocks are sequentially buffered to multiple buffer areas corresponding to multiple code block groups in turn.
  • the processor 1302 is further configured to: for each code block in the Q first code block stream, when the code block is a code block, The type is an idle IDLE code block, and the code block is discarded.
  • the communication interface 1301 is further configured to: receive a third code block stream sent by the core device, a header of the third code block stream, and / Or the tail includes a code block set, the code block set includes at least one third control code block, and the code block set including the third control code block includes: used to indicate a downlink port of the first communication device and Indication information of a correspondence relationship between code block groups, and / or indication information used to indicate a correspondence relationship between a downlink port of a first communication device and a code block group during data downlink transmission.
  • the communication device 1300 When the communication device 1300 is used to implement a multiplex-side solution, in a possible implementation manner, the communication device is connected to the Q second communication devices through Q downlink ports, and the Q downlink ports and the Q second communication devices are one by one.
  • the processor 1302 is further configured to: demultiplex code blocks other than the third control code block in the third code block stream to obtain Q fourth code block streams, and the Q fourth code block streams and Q One downlink port corresponds to one;
  • a communication interface 1301 is used to: distribute Q fourth code block streams through Q downlink ports; wherein, for one fourth code block stream among the Q fourth code block streams, the fourth code The head and / or tail of the block stream includes a code block set.
  • the code block set includes at least one fourth control code block
  • the code block set including the fourth control code block includes: used to indicate that the data is transmitted during the uplink data transmission process.
  • Indication information of the corresponding relationship between the downlink port and the code block group is used to indicate that the data is transmitted during the uplink data transmission process.
  • the communication device 1300 When the communication device 1300 is used to execute a demultiplexing-side solution, the communication device 1300 may be used to execute a solution performed by the third communication device.
  • the communication interface 1301 is configured to obtain a second code block stream.
  • the second code block stream includes L code block sets. For each code block set in the L code block sets, the code block set includes S code block groups.
  • the processor 1302 is used for Q first code block streams are obtained according to the second code block stream, where Q is an integer greater than 1 and not greater than S, Q first code block streams correspond to S code block groups, and one first code block stream corresponds to one or more Code block groups.
  • the value of S is the total number of code block groups corresponding to the Q downlink ports during data downlink transmission.
  • Each code block group is a code block group corresponding to the Q downlink ports during data downlink transmission; when the first communication device is a core device, the value of S is the Q downlink ports during data uplink transmission The total number of corresponding code block groups. Each code block group in the S code block groups is the Q number during the uplink data transmission process. The code block group corresponding to the downlink port.
  • the communication device 1300 may be used to execute a solution performed by the third communication device.
  • the communication interface 1301 is configured to obtain a second code block stream
  • the processor 1302 is configured to obtain Q first code block streams according to the second code block stream, where Q is an integer greater than 1;
  • One code block carried from Q first code block streams The content carried by the code block in the sync header area of the second code block stream and the code block carried in the sync header area of the Q first code block stream.
  • the content of the code block in the asynchronous header area of the second code block stream is the same as the content of the code block in the asynchronous header area of the Q first code block stream.
  • the communication device is not a core device.
  • the value of S is the total number of code block groups corresponding to the Q downlink ports during the data downlink transmission process. Each code block group in the S code block groups is for data downlink transmission.
  • the code block group corresponding to the port is the total number of code block groups corresponding to the Q downlink ports during the data downlink transmission process.
  • the processor 1302 is configured to: for each code block set in the L code block set: according to the S code block group's Sorting, sequentially taking out K code blocks corresponding to each code block group in the S code block groups from the code block set, and obtaining Q first code block streams.
  • S code block groups correspond to S buffer areas, and S code block groups correspond to S buffer areas one to one; the processor 1302 Is also used to cache the K code blocks corresponding to each code block group in the S code block groups into the corresponding buffer area of the code block group according to the corresponding relationship between the S code block groups and the S buffer areas.
  • the second code block stream further includes a code block set at the head and / or tail of the L code block sets.
  • the code block set including at least one first control code block includes the indication information used to indicate the correspondence between the Q downlink ports of the communication device and the S code block groups; the processor 1302, In: According to the code block set including the first control code block, the correspondence between Q downlink ports and S code block groups is obtained; according to the correspondence between Q downlink ports and S code block groups, L code blocks are obtained. The set is demultiplexed into Q first code block streams.
  • the communication device 1300 When the communication device 1300 is used to implement a demultiplexing-side solution, in a possible implementation manner, the communication device is connected to the Q fourth communication devices through Q downlink ports, and the Q downlink ports are connected to the Q fourth communication devices.
  • the communication interface 1301 is further configured to: distribute Q first code block streams through Q downlink ports; wherein the head and / or tail of a first code block stream includes a code block set, and the code block set includes At least one fifth control code block, the code block set including the fifth control code block includes a correspondence between a downlink port of a fourth communication device corresponding to the first code block stream and a code block group for indicating that the first code block stream corresponds to a data uplink transmission process. Relationship indication information, and / or indication information used to indicate a correspondence relationship between a downlink port of a fourth communication device corresponding to the first code block stream and a code block group during data downlink transmission.
  • FIG. 14 illustrates a schematic structural diagram of a communication device according to an embodiment of the present application.
  • the communication device 1400 includes a communication interface 1401 and a multiplexing and demultiplexing unit 1402.
  • the communication device 1400 in this example may be the first communication device or the third communication device in the foregoing content, and may implement the solutions corresponding to the foregoing FIG. 5, FIG. 6, FIG. 9, and FIG. 10.
  • a communication interface 1401 is used to obtain Q first code block streams, where Q is an integer greater than 1, the communication interface includes at least Q downlink ports, and the Q first code block streams correspond to the Q downlink ports one by one, and the Q downlinks
  • the port corresponds to S code block groups, one downlink port corresponds to one or more code block groups, one code block in the Q first code block stream corresponds to one code block group, S is an integer not less than Q; multiplexing and demultiplexing
  • a using unit 1402 is configured to obtain a second code block stream to be sent according to the Q first code block streams, where the second code block stream includes L code block sets; for each code block set in the L code block sets, The code block set includes K code blocks corresponding to each code block group in the S code block groups, and L and K are positive integers.
  • the value of S is in the data uplink.
  • Each code block group in the S code block groups is a code block group corresponding to the Q downlink ports during data uplink transmission.
  • the communication device 1400 is a core device, and the value of S is a code corresponding to the Q downlink ports during data downlink transmission.
  • Each code block group in the S code block groups is a code block group corresponding to the Q downlink ports during data downlink transmission.
  • the communication device 1400 may be used to execute a solution performed by the first communication device.
  • the communication interface 1401 is configured to obtain Q first code block streams, where Q is an integer greater than 1.
  • the processor 1402 is configured to obtain the second code block stream to be sent according to the Q first code block streams, where One code block from the Q first code block stream carried in the code block stream: The content carried by the code block in the synchronization header area of the second code block stream is synchronized with the code block in the Q first code block stream The content carried in the header area is the same; the content carried in the asynchronous header area of the code block in the second code block stream is the same as the content carried in the asynchronous header area of the code block in the Q first code block stream.
  • the communication device 1400 is not a core device, and the value of S is the total number of code block groups corresponding to the Q downlink ports during data uplink transmission. Each code block group in the S code block groups is on the data uplink. Code block groups corresponding to the Q downlink ports during transmission; when the communication device 1400 is a core device, the value of S is the total number of code block groups corresponding to the Q downlink ports during data downlink transmission, and the S Each code block group in the code block group is the Q downlink numbers during the data downlink transmission process. Code block group corresponding to the port.
  • a communication interface 1401 is configured to obtain a second code block stream.
  • the second code block stream includes L code block sets. For each code block set in the L code block sets, the code block set includes S code block groups.
  • K code blocks corresponding to each code block group in the code block one code block in the L code block set corresponds to one code block group, S is an integer greater than 1, L and K are positive integers; multiplexing demultiplexing unit 1402, used to obtain Q first code block streams according to the second code block stream, where Q is an integer greater than 1 and not greater than S, and the Q first code block streams correspond to S code block groups and one first code block stream Corresponds to one or more code block groups.
  • the value of S is the total number of code block groups corresponding to the Q downlink ports during data downlink transmission.
  • the S code blocks Each code block group in the group is a code block group corresponding to the Q downlink ports during data downlink transmission.
  • the value of S is the Q downlink ports during data uplink transmission.
  • Each code block group in the S code block groups is the Q number during the uplink data transmission process.
  • the communication device 1400 may be used to execute a solution performed by the third communication device.
  • the communication interface 1401 is configured to obtain a second code block stream
  • the multiplexing and demultiplexing unit 1402 is configured to obtain Q first code block streams according to the second code block stream, where Q is an integer greater than 1; for the second code One code block from the Q first code block stream carried in the block stream:
  • the content carried by the code block in the synchronization header area of the second code block stream is synchronized with the code block in the Q first code block stream
  • the content carried in the header area is the same; the content carried in the asynchronous header area of the code block in the second code block stream is the same as the content carried in the asynchronous header area of the code block in the Q first code block stream.
  • the communication device is not a core device, and the value of S is the total number of code block groups corresponding to the Q downlink ports during data downlink transmission.
  • Each code block group in the S code block groups is a data downlink.
  • Each code block group in the code block group is the Q downlink ports during data uplink transmission. Corresponding code block group.
  • the division of the above units of each of the first communication device and the second communication device is only a division of logical functions. In actual implementation, it may be fully or partially integrated into one physical entity or may be physically separated.
  • the communication interface 1401 may be implemented by the communication interface 1301 of FIG. 13 described above, and the multiplexing and demultiplexing unit 1402 may be implemented by the processor 1302 of FIG. 13 described above. That is to say, in the embodiment of the present application, the communication interface 1401 may execute the solution performed by the communication interface 1301 of FIG. 13 described above, and in the embodiment of the present application, the multiplexing and demultiplexing unit 1402 may execute the execution performed by the processor 1302 of FIG. 13 described above. Solution, the rest can refer to the above content, and will not be repeated here.
  • An embodiment of the present application further provides a computer-readable medium having a computer program stored thereon.
  • the computer program is executed by a computer, the data transmission method of any one of the foregoing method embodiments is implemented.
  • the embodiment of the present application further provides a computer program product, which is implemented by a computer to implement the data transmission method of any one of the above method embodiments.
  • a computer program product includes one or more instructions.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the instructions may be stored in a computer storage medium or transmitted from one computer storage medium to another computer storage medium.
  • the instructions may be wired from a website site, computer, server, or data center (e.g., coaxial cable, optical fiber, digital user) (DSL)) or wireless (such as infrared, wireless, microwave, etc.) to another website site, computer, server or data center.
  • a computer storage medium may be any available media that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains one or more available media integrations.
  • Usable media can be magnetic media (for example, floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO), etc.), optical media (for example, CD, DVD, BD, HVD, etc.), or semiconductor media (for example, ROM, EPROM, EEPROM, Non-volatile memory (NAND FLASH), solid state hard disk (Solid State Disk (SSD)), etc.
  • magnetic media for example, floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO), etc.
  • optical media for example, CD, DVD, BD, HVD, etc.
  • semiconductor media for example, ROM, EPROM, EEPROM, Non-volatile memory (NAND FLASH), solid state hard disk (Solid State Disk (SSD)), etc.
  • the embodiments of the present application may be provided as a method, a system, or a computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • Embodiments of the present application are described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowcharts and / or block diagrams, and combinations of processes and / or blocks in the flowcharts and / or block diagrams can be implemented by instructions. These instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine such that instructions executed by the processor of a computer or other programmable data processing device are generated for implementation Means of the function specified in one block or blocks of the flowchart or block and block diagrams.
  • These instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to work in a particular manner, such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction device that implements The functions specified in one block or blocks of the flowchart, one block or blocks, and / or block diagrams.
  • These instructions can also be loaded onto a computer or other programmable data processing device, so that a series of steps can be performed on the computer or other programmable device to produce a computer-implemented process, and the instructions executed on the computer or other programmable device provide Steps for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagrams.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本本申请实施例提供一种数据传输方法、通信设备及存储介质,用于减轻网络中中间节点交叉连接数量给中间节点带来的压力。本申请实施例中,第一通信设备获取Q条第一码块流,根据Q条第一码块流得到待发送的第二码块流。其中,Q个下行端口和Q条第一码块流一一对应,Q个下行端口对应S个码块组,Q条第一码块流中的一个码块对应一个码块组,第一通信设备第二码块流包括L个码块集合;针对L个码块集合中的每个码块集合,该码块集合包括S个码块组中每个码块组对应的K个码块。本申请实施例所提供的方案在码块的粒度上对码块流进行复用,从而可以减少网络中中间节点交叉连接数量,从而减轻网络管理和运维方面的压力。

Description

一种数据传输方法、通信设备及存储介质
相关申请的交叉引用
本申请要求在2018年09月28日提交中国专利局、申请号为201811142515.X、发明名称为“一种数据传输方法、通信设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,尤其涉及一种数据传输方法、通信设备及存储介质。
背景技术
光互联网论坛(Optical Internet Forum,OIF)发布了灵活以太网(Flexible Ethernet,FlexE),FlexE是一种支持多种以太网MAC层速率的通用技术。通过将多个100GE(Physical,PHYs)端口绑定,并将每个100GE端口在时域上以5G为颗粒划分为20个时隙,FlexE可支持以下功能:绑定,将多个以太网端口绑定为一个链路组以支持速率大于单个以太网端口的媒体访问控制(Medium Access Control,MAC)业务;子速率,通过为业务分配时隙支持速率小于链路组带宽或者小于单个以太网端口带宽的MAC业务;通道化,通过为业务分配时隙支持在链路组中同时传输多个MAC业务,例如在2x 100GE链路组中支持同时传输一个150G和两个25G的MAC业务。
FlexE通过时分复用(Time Division Multiplexing,TDM)方式划分时隙,实现传输管道带宽的硬隔离,一个业务数据流可以分配到一到多个时隙中,实现了对各种速率业务的匹配。一个FlexE组(英文也可以称为FlexE Group)可以包含一个或多个物理链路接口(英文可以写为PHY)。图1示例性示出了一种基于灵活以太网协议的通信***示意图,如图1所示,以FlexE Group包括4个PHY示意。灵活以太网协议客户(FlexE Client)代表在FlexE Group上指定时隙(一个时隙或多个时隙)传输的客户数据流,一个FlexE Group上可承载多个FlexE Client,一个FlexE Client对应一个用户业务数据流(典型的,可以称为媒体访问控制(Medium Access Control,MAC)Client),灵活以太网协议功能层(英文可以称为FlexE Shim)层提供FlexE Client到MAC Client的数据适配和转换。
华为技术于2016年12月ITU-T IMT2020 workshop发布一项新技术,该技术体系可以简称为泛在以太网(英文可以称为X-Ethernet或X-E),是一种基于以太网(英文可以称为Ethernet)物理层,具备确定性超低时延特征的新一代交换组网技术。其思路之一是基于的比特块(英文可以称为Bit Block)序列的交换组网,比如未经扰码的64B/66B码块序列,或者等效的8B/10B码块序列等。OIF FlexE基于64B/66B码块(以下简称64B/66B)定义5Gbps和25Gbps速率的时隙(SLOT)颗粒,任一的FlexE Client可以通过在基于FlexE的NNI或UNI上分配总带宽速率为5Gbps的倍数或25Gbps的倍数的若干时隙来承载。
X-E网络的中间节点需要解析提取每个FlexE Client并加以交换处理,缺乏层次化复接考虑。当X-Ethernet扁平化组网技术应用到城域和骨干网络的端到端组网时,多个城市之间存在数以万计的专线业务需要调度,汇聚设备和核心设备要管理数以十万、百万的端到端的交叉连接,存在管理和运维方面的困难。
发明内容
本申请实施例提供一种数据传输方法、通信设备及存储介质,用于减轻网络中中间节点交叉连接数量给中间节点带来的压力,也可以减轻网络管理和运维方面的压力。
第一方面,本申请实施例提供一种数据传输方法,该方法中,第一通信设备获取Q条第一码块流,根据Q条第一码块流得到待发送的第二码块流。其中,Q为大于1的整数,Q个下行端口和Q条第一码块流一一对应,Q个下行端口对应S个码块组,一个下行端口对应一个或多个码块组,Q条第一码块流中的一个码块对应一个码块组,S为不小于Q的整数;第一通信设备第二码块流包括L个码块集合;针对L个码块集合中的每个码块集合,码块集合包括S个码块组中每个码块组对应的K个码块,L和K均为正整数。本申请实施例所提供的方案在码块的粒度上对码块流进行复用,从而可以减少网络中中间节点交叉连接数量,从而减轻网络管理和运维方面的压力。
在上述第一方面存在的一种可能地实现方式中,针对L个码块集合中的一个码块:码块在第二码块流中的同步头区域承载的内容与码块在Q条第一码块流中的同步头区域承载的内容相同;码块在第二码块流中的非同步头区域承载的内容与码块在Q条第一码块流中的非同步头区域承载的内容相同。如此,一方面可以简化复用过程,另一方面也因无需单独用指示信息指示出第一码块流中的非同步头区域从而可减少指示信息的数据量,从而可减轻网络负荷。
第二方面,本申请实施例提供一种数据传输方法,该方法中,第一通信设备获取Q条第一码块流,Q为大于1的整数;第一通信设备根据Q条第一码块流得到待发送的第二码块流,其中,针对第二码块流中承载的来自Q条第一码块流中的一个码块:码块在第二码块流中的同步头区域承载的内容与码块在Q条第一码块流中的同步头区域承载的内容相同;码块在第二码块流中的非同步头区域承载的内容与码块在Q条第一码块流中的非同步头区域承载的内容相同。如此可以在码块的粒度上对码块流进行复用,从而可以减少网络中中间节点交叉连接数量,从而减轻网络管理和运维方面的压力,且可以简化复用过程,进一步,也可因无需单独用指示信息指示出第一码块流中的非同步头区域从而减少指示信息的数据量,从而可减轻网络负荷。
在上述第二方面存在的一种可能地实现方式中,Q为大于1的整数,Q个下行端口和Q条第一码块流一一对应,Q个下行端口对应S个码块组,一个下行端口对应一个或多个码块组,Q条第一码块流中的一个码块对应一个码块组,S为不小于Q的整数;第一通信设备第二码块流包括L个码块集合;针对L个码块集合中的每个码块集合,码块集合包括S个码块组中每个码块组对应的K个码块,L和K均为正整数。
在上述第一方面或第二方面还存在一种可能地实现方式,当该第一通信设备并非为核心设备,该S的值为在数据上行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据上行传输过程中该Q个下行端口对应的码块组。当该第一通信设备为核心设备,该S的值为在数据下行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据下行传输过程中该Q个下行端口对应的码块组。也就是说,在数据上行传输过程中为一个通信设备的Q个下行端口分配的码块组的数量与在数据上行传输过程中为一个通信设备的Q个下行端口分配的码块组的数量可以相同也可以不同。且针对一个通信设备的Q个下行端口中的一个下行端口,在数据上行传输过程中为该下行端口分配的码块组与在数据上行传输过程中为该下行端口分配的码块 组可以相同也可以不同,为一个端口分配的码块组可以用为该端口分配的码块组标识或其它标识信息来标记,码块组标识或其它标识信息可以唯一标识出一个码块组。如此,可以提高方案的灵活性。
在上述第一方面或第二方面还存在一种可能地实现方式,一个下行端口可以对应一个或多个码块组,但一个码块组仅对应一个下行端口,如此,可以以码块组为粒度为一个下行端口分配带宽,且由于一个码块组仅仅对应一个下行端口,在复用或解复用时也可以降低复杂度。
在上述第一方面或第二方面中,下行端口可以是指通信设备上与终端设备侧直接具有直接或间接的数据传输关系的端口,相对应的,一个通信设备还可包括上行端口,上行端口是指通信设备上与核心设备侧直接具有直接或间接的数据传输关系的端口。在后续具体实施例中可参见附图进行示例性说明。
在上述第一方面或第二方面还存在一种可能地实现方式,当第一通信设备获取待发送的第二码块流后,在需通过上行端口发送第二码块流的情况下,可以通过一个或多个上行端口发送第二码块流。下面分两种情况具体说明,第一种情况,通过多个上行端口发送第二码块流,这种情况下,可以将第二码块流以数据单元为粒度并依据各个数据单元在第二码块流中的排序,依序轮流通过多个上行端口发送;也可以以一定的规则为每个数据单元分配对应的上行端口,进而通过每个数据单元对应的上行端口发送该数据单元。相对应地,在该第一种情况下,接收侧的通信设备通过多个下行端口接收第二码块流的数据单元后,依据该数据单元在发送设备侧发送时的排序,恢复出该条第二码块流。第二种情况,可以为下行端口和上行端口之间设置对应关系,比如一个通信设备中包括10个下行端口,可以令其中4个下行端口对应一个上行端口,令其余6个下行端口对应另一个上行端口,如此,将该4个下行端口的4条第一码块流复用为一条第二码块流后,将该第二码块流通过该4个下行端口对应的上行端口发送出去,并将该6个下行端口的6条第一码块流复用为一条第二码块流后,将该第二码块流通过该6个下行端口对应的上行端口发送出去。如此,可以进一步提高第二码块流的发送效率。
在上述第一方面或第二方面还存在一种可能地实现方式,L个码块集合中的码块连续承载于第二码块流;第二码块流在L个码块集合的头部和/或尾部还包括一个码块集合,码块集合头部包括至少一个第一控制码块。包括有第一控制码块的码块集合用于承载以下内容中的任一项或任多项:用于指示Q个下行端口与S个码块组的对应关系的指示信息;用于指示S的值的指示信息;用于指示L的值的指示信息;用于指示S个码块组的指示信息;用于指示L个码块集合中一个码块集合中S个码块组的排序的指示信息。由于第二码块流中可承载上述指示信息,因此第一通信设备可以更加灵活的确定复用过程中的各个参数,可进一步提高方案的灵活性。一种可能地实现方式中,第二码块流中包括多个数据单元,一个数据单元包括一个或多个码块集合。一个数据单元中包括有第一控制码块的码块集合承载的信息可以用于指示当前数据单元中承载的L个码块集合的信息,也可以是用于指示其它数据单元中承载的L个码块集合的信息,也可以用于指示当前数据单元以及其它数据单元中承载的码块集合的信息。
在上述第一方面或第二方面还存在一种可能地实现方式,第一通信设备根据Q条第一码块流得到待发送的第二码块流,包括:第一通信设备针对Q条第一码块流循环执行L次取码块操作,得到第二码块流;其中,针对L次取码块操作中的每次取码块操作,第一通 信设备根据S个码块组的排序,依序从Q条第一码块流中取出S个码块组中每个码块组所对应的K个码块。
在上述第一方面或第二方面还存在一种可能地实现方式,第一通信设备针对Q条第一码块流循环执行L次取码块操作,得到第二码块流,包括:当在循环执行L次取码块操作的过程中未取到码块,在第二码块流中***空闲IDLE码块。如此,可以维持所要求的第二码块流的结构形式,从而为顺利解复用奠定基础。
在上述第一方面或第二方面还存在一种可能地实现方式,S个码块组对应S个缓存区,S个码块组与S个缓存区一一对应;第一通信设备获取Q条第一码块流之后,根据Q条第一码块流得到待发送的第二码块流之前,还包括:第一通信设备根据S个码块组与S个缓存区的对应关系,将Q条第一码块流中的码块缓存至S个缓存区;第一通信设备根据S个码块组的排序,依序从Q条第一码块流中取出S个码块组中每个码块组所对应的K个码块,包括:第一通信设备根据S个码块组的排序,依序从S个缓存区中的每个缓存区取出K个码块。如此,可以以单个缓存区的存储容量为粒度,为每个端口分配带宽,提高了带宽分配的灵活性。
在上述第一方面或第二方面还存在一种可能地实现方式,该S个码块组对应S个缓存区,该S个码块组与该S个缓存区一一对应;该第一通信设备根据该Q条第一码块流得到待发送的第二码块流,包括:该第一通信设备根据该S个码块组与该S个缓存区的对应关系,将该Q条第一码块流中的码块缓存至该S个缓存区;针对该L个码块集合中的一个码块集合,该第一通信设备根据该S个码块组的排序,依序从该S个缓存区中的每个缓存区取出K个码块,得到该码块集合中的码块。
在上述第一方面或第二方面还存在一种可能地实现方式,第一通信设备根据S个码块组与S个缓存区的对应关系,将Q条第一码块流中的码块缓存至S个缓存区,包括:针对Q条第一码块流中的一个第一码块流,执行:当第一码块流对应一个码块组,第一通信设备将第一码块流中的码块缓存至码块组对应的缓存区;当第一码块流对应多个码块组,第一通信设备将第一码块流中的码块依次轮流缓存至多个码块组对应的多个缓存区。如此,可提高方案的简易性,且为解复用过程中的简易性奠定基础。
在上述第一方面或第二方面还存在一种可能地实现方式,针对Q个下行端口中的一个下行端口:当下行端口对应的缓存区内的缓存数据量大于第一缓存量阈值或小于第二缓存量阈值,第二码块流在L个码块集合的头部和/或尾部还包括一个码块集合,码块集合头部包括至少一个第二控制码块,第二控制码块包括用于指示向核心设备请求为下行端口重新配置码块组的指示信息,第二缓存量阈值小于第一缓存量阈值。如此,可以根据端口的缓存量灵活及时的对该端口的带宽进行调整。
在上述第一方面或第二方面还存在一种可能地实现方式,第一通信设备获取Q条第一码块流之后,根据Q条第一码块流得到待发送的第二码块流之前,还包括:针对Q条第一码块流中的每个码块,当码块的码块类型为空闲IDLE码块,第一通信设备丢弃码块。如此,可以减少需传输的数据量,进而减轻网络负荷。
在上述第一方面或第二方面还存在一种可能地实现方式,当S个码块组中存在R个码块组满足预设条件,第二码块流中还包括:P个码块集合;其中,P为正整数,针对P个码块集合中的每个码块集合,码块集合包括(S-R)个码块组中每个码块组对应的K个码块;其中,R为不大于S的正整数;(S-R)个码块组为S个码块组中除R个码块组之外的 码块组;R个码块组中的一个码块组满足预设条件是指,码块组对应的连续K*L个码块为IDLE码块。如此,可以减少需传输的数据量,进而减轻网络负荷。
在上述第一方面或第二方面还存在一种可能地实现方式,第一通信设备获取Q条第一码块流之前,还包括:第一通信设备接收核心设备发送的第三码块流,第三码块流的头部和/或尾部包括一个码块集合,码块集合包括至少一个第三控制码块,包括有第三控制码块的码块集合包括:用于指示在数据上行传输过程中第一通信设备的下行端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中第一通信设备的下行端口与码块组的对应关系的指示信息;第一通信设备根据包括第三控制码块的码块集合,确定出第一通信设备的下行端口与码块组的对应关系。由于可由核心设备集中下发端口和码块组的对应关系,从而可以减少协商失败的比率,从而提高网络运行效率。
在上述第一方面或第二方面还存在一种可能地实现方式,第一通信设备通过Q个下行端口与Q个第二通信设备连接,Q个下行端口与Q个第二通信设备一一对应;第一通信设备接收核心设备发送的第三码块流之后,还包括:第一通信设备对第三码块流中除第三控制码块之外的码块解复用,得到Q条第四码块流,Q条第四码块流与Q个下行端口一一对应;第一通信设备通过Q个下行端口分发Q条第四码块流;其中,针对Q条第四码块流中的一个第四码块流,第四码块流的头部和/或尾部包括一个码块集合,码块集合包括至少一个第四控制码块,包括有第四控制码块的码块集合包括:用于指示在数据上行传输过程中该第四码块流对应的第二通信设备的下行端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中该第四码块流对应的第二通信设备的下行端口与码块组的对应关系的指示信息。由于核心设备可跨级指示通信设备的端口和码块组的对应关系,因此可改善现有技术中需两两协商所导致的协商失败率较高的问题。
第三方面,本申请实施例提供一种数据传输方法,该方法中,第三通信设备获取第二码块流;其中,第二码块流包括L个码块集合;针对L个码块集合中的每个码块集合,码块集合包括S个码块组中每个码块组对应的K个码块,L个码块集合中的一个码块对应一个码块组,S为大于1的整数,L和K均为正整数;第三通信设备根据第二码块流得到Q条第一码块流,Q为大于1且不大于S的整数,Q条第一码块流对应S个码块组,一条第一码块流对应一个或多个码块组。如此可以在码块的粒度上对码块流进行解复用,从而可以减少网络中中间节点交叉连接数量,从而减轻网络管理和运维方面的压力。
在上述第三方面中存在一种可能地实现方式,针对L个码块集合中的一个码块:码块在第二码块流中的同步头承载的内容与码块在Q条第一码块流中的同步头区域承载的内容相同;码块在第二码块流中的非同步头区域承载的内容与码块在Q条第一码块流中的非同步头区域承载的内容相同。如此,一方面可以简化复用过程,另一方面也因无需单独用指示信息指示出第一码块流中的非同步头区域从而可减少指示信息的数据量,从而可减轻网络负荷。
第四方面,本申请实施例提供一种数据传输方法,该方法中,第三通信设备获取第二码块流,根据第二码块流得到Q条第一码块流,其中,Q为大于1的整数;针对第二码块流中承载的来自Q条第一码块流中的一个码块:该码块在第二码块流中的同步头区域承载的内容与码块在Q条第一码块流中的同步头区域承载的内容相同;该码块在第二码块流中的非同步头区域承载的内容与码块在Q条第一码块流中的非同步头区域承载的内容相同。如此可以在码块的粒度上对码块流进行解复用,从而可以减少网络中中间节点交叉连接数 量,从而减轻网络管理和运维方面的压力,且可以简化复用过程,进一步,也可因无需单独用指示信息指示出第一码块流中的非同步头区域从而减少指示信息的数据量,从而可减轻网络负荷。
在上述第四方面中存在一种可能地实现方式,第二码块流包括L个码块集合;针对L个码块集合中的每个码块集合,码块集合包括S个码块组中每个码块组对应的K个码块,L个码块集合中的一个码块对应一个码块组,S为大于1的整数,L和K均为正整数;Q为大于1且不大于S的整数,Q条第一码块流对应S个码块组,一条第一码块流对应一个或多个码块组。
在上述第三方面或第四方面还存在一种可能地实现方式,当该第三通信设备并非为核心设备,该S的值为在数据下行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据下行传输过程中该Q个下行端口对应的码块组当该第三通信设备为核心设备,该S的值为在数据上行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据上行传输过程中该Q个下行端口对应的码块组。也就是说,在数据上行传输过程中为一个通信设备的Q个下行端口分配的码块组的数量与在数据上行传输过程中为一个通信设备的Q个下行端口分配的码块组的数量可以相同也可以不同。且针对一个通信设备的Q个下行端口中的一个下行端口,在数据上行传输过程中为该下行端口分配的码块组与在数据上行传输过程中为该下行端口分配的码块组可以相同也可以不同,为一个端口分配的码块组可以用为该端口分配的码块组标识或其它标识信息来标记,码块组标识或其它标识信息可以唯一标识出一个码块组。如此,可以提高方案的灵活性。
在上述第三方面或第四方面还存在一种可能地实现方式,一个下行端口可以对应一个或多个码块组,但一个码块组仅对应一个下行端口,如此,可以以码块组为粒度为一个下行端口分配带宽。
在上述第三方面或第四方面中,下行端口可以是指通信设备上与终端设备侧直接具有直接或间接的数据传输关系的端口,相对应的,一个通信设备还可包括上行端口,上行端口是指通信设备上与核心设备侧直接具有直接或间接的数据传输关系的端口。在后续具体实施例中可参见附图进行示例性说明。
在上述第三方面或第四方面还存在一种可能地实现方式,第三通信设备获取第二码块流的方式有多种,当第三通信设备通过上行端口接收第二码块流的情况下,可以是通过一个或多个上行端口接收第二码块流。当发送侧的通信设备通过多个下行端口发送第二码块流,发送侧的通信设备可以将第二码块流以数据单元为粒度并依据各个数据单元在第二码块流中的排序,依序轮流通过多个上行端口发送;也可以以一定的规则为每个数据单元分配对应的上行端口,进而通过每个数据单元对应的上行端口发送该数据单元。相对应地,第三通信设备(接收侧的通信设备)通过多个下行端口接收第二码块流的数据单元后,依据该数据单元在发送设备侧发送时的排序,恢复出该条第二码块流。
在上述第三方面或第四方面还存在一种可能地实现方式,L个码块集合中的码块连续承载于第二码块流;第二码块流在L个码块集合的头部和/或尾部还包括一个码块集合,码块集合头部包括至少一个第一控制码块。包括有第一控制码块的码块集合用于承载以下内容中的任一项或任多项:用于指示Q个下行端口与S个码块组的对应关系的指示信息,其中,Q个下行端口与Q个第一码块流一一对应;用于指示S的值的指示信息;用于指示L 的值的指示信息;用于指示S个码块组的指示信息;用于指示L个码块集合中一个码块集合中S个码块组的排序的指示信息。由于第二码块流中可承载上述指示信息,因此通信设备可以更加灵活的确定复用过程中的各个参数,可进一步提高方案的灵活性。
在上述第三方面或第四方面还存在一种可能地实现方式,第三通信设备根据第二码块流得到Q条第一码块流,包括:针对L个码块集合中的每个码块集合:第三通信设备根据S个码块组的排序,依序从码块集合中取出S个码块组中每个码块组所对应的K个码块,得到Q条第一码块流。
在上述第三方面或第四方面还存在一种可能地实现方式,S个码块组对应S个缓存区,S个码块组与S个缓存区一一对应;第三通信设备根据S个码块组的排序,依序从码块集合中取出S个码块组中每个码块组所对应的K个码块之后,得到Q条第一码块流之前,还包括:第三通信设备根据S个码块组与S个缓存区的对应关系,将S个码块组中的每个码块组对应的K个码块缓存至码块组对应的缓存区。如此,可以以单个缓存区的存储容量为粒度,为每个端口分配带宽,提高了带宽分配的灵活性。
在上述第三方面或第四方面还存在一种可能地实现方式,第二码块流在L个码块集合的头部和/或尾部还包括一个码块集合,码块集合包括至少一个第一控制码块,包括有第一控制码块的码块集合包括:用于指示在数据上行传输过程中第三通信设备的Q个下行端口与S个码块组的对应关系的指示信息,和/或用于指示在数据下行传输过程中第三通信设备的Q个下行端口与S个码块组的对应关系的指示信息;第三通信设备根据第二码块流得到Q条第一码块流,包括:第三通信设备根据包括有第一控制码块的码块集合,得到Q个下行端口与S个码块组的对应关系;第三通信设备根据Q个下行端口与S个码块组的对应关系,将L个码块集合解复用为Q条第一码块流。由于可由通过第二码块流下发端口和码块组的对应关系,从而可以减少协商失败的比率,从而提高网络运行效率。
在上述第三方面或第四方面还存在一种可能地实现方式,第三通信设备通过Q个下行端口与Q个第四通信设备连接,Q个下行端口与Q个第四通信设备一一对应;第三通信设备根据第二码块流得到Q条第一码块流之后,还包括:第三通信设备通过Q个下行端口分发Q条第一码块流;其中,一条第一码块流的头部和/或尾部包括一个码块集合,码块集合包括至少一个第五控制码块,包括有第五控制码块的码块集合包括:用于指示在数据上行传输过程中该第一码块流对应的第四通信设备的下行端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中该第一码块流对应的第四通信设备的下行端口与码块组的对应关系的指示信息。由于本申请实施例中可跨级指示通信设备的端口和码块组的对应关系,因此可改善现有技术中需两两协商所导致的协商失败率较高的问题。
第五方面,本申请实施例提供一种通信设备,通信设备包括存储器、通信接口和处理器,其中:存储器用于存储指令;处理器用于根据执行存储器存储的指令,并控制通信接口进行信号接收和信号发送,当处理器执行存储器存储的指令时,通信设备用于执行上述第一方面、第二方面、第一方面中任一种可能地实现方式或第二方面中任一种可能地实现方式中任一种方法。
第六方面,本申请实施例提供一种通信设备,通信设备包括存储器、通信接口和处理器,其中:存储器用于存储指令;处理器用于根据执行存储器存储的指令,并控制通信接口进行信号接收和信号发送,当处理器执行存储器存储的指令时,通信设备用于执行上述第三方面、第四方面、第三方面中任一种可能地实现方式或第四方面中任一种可能地实现 方式中任一种方法。
第七方面,本申请实施例提供一种通信设备,用于实现上述第一方面、第二方面、第一方面中任一种可能地实现方式或第二方面中任一种可能地实现方式中任一种方法,包括相应的功能模块,分别用于实现以上方法中的步骤。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,通信设备的结构中包括复用解复用单元和通信接口,复用解复用单元和通信接口可以执行上述方法示例中相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第八方面,本申请实施例提供一种通信设备,用于实现上述第三方面、第四方面、第三方面中任一种可能地实现方式或第四方面中任一种可能地实现方式中任一种方法,包括相应的功能模块,分别用于实现以上方法中的步骤。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,通信设备的结构中包括复用解复用单元和通信接口,复用解复用单元和通信接口可以执行上述方法示例中相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第九方面,本申请实施例提供一种计算机存储介质,计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面、第一方面中任一种可能地实现方式或第二方面中任一种可能地实现方式中任一种方法。
第十方面,本申请实施例提供一种计算机存储介质,计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第三方面、第四方面、第三方面中任一种可能地实现方式或第四方面中任一种可能地实现方式中任一种方法。
第十一方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面、第一方面中任一种可能地实现方式或第二方面中任一种可能地实现方式中任一种方法。
第十二方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第三方面、第四方面、第三方面中任一种可能地实现方式或第四方面中任一种可能地实现方式中任一种方法。
附图说明
图1为一种基于灵活以太网协议的通信***示意图;
图2为本申请实施例适用的一种通信***架构示意图;
图3为本申请实施例提供的一种在图2所示的通信***架构中数据传输方案;
图4为本申请实施例提供的一种数据传输方法的流程示意图;
图5为本申请实施例提供的另一种数据传输方法的流程示意图;
图6为本申请实施例提供的一种第二码块流的结构示意图;
图7为本申请实施例提供的一种数据传输过程的示意图;
图8为本申请实施例提供的第二码块流的另外一种结构示意图;
图9为本申请实施例提供的一种数据传输方法的流程示意图;
图10为本申请实施例提供的另一种数据传输方法的流程示意图;
图11为本申请实施例提供的一种协商方法流程示意图;
图12为本申请实施例提供的一种协商方法流程示意图;
图13为本申请实施例提供的一种通信设备的结构示意图;
图14为本申请实施例提供的另一种通信设备的结构示意图。
具体实施方式
应理解,本申请实施例的技术方案可以应用于各种通信***,例如:移动承载前传或回传领域、城域多业务承载、数据中心互联、工业通讯等基于以太网技术的通讯***,以及工业或通讯设备内不同元器件或模块之间的通讯***。
本申请实施例适用的通信***中可包括多个通信设备,通信***中的通信设备可以为核心设备、汇聚设备或接入设备等。核心设备可以为核心层交换机、中心设备、园区中心交换机、局端交换机等,汇聚设备可以为汇聚层交换机等设备,接入设备可以为接入层交换机、楼道交换机、桌面交换机等设备。接入设备和汇聚设备可以是同一设备,仅放置位置不同,在中间负责汇聚则为汇聚设备,在接入层负责接入客户端的为接入设备。图2示出了示例性示出了本申请实施例适用的一种通信***架构示意图。如图2所示,广域网(Wide Area Network,WAN)和/或互联网201可连接一个或多个核心设备202,每个核心设备202可连接一个或多个汇聚设备203。每个汇聚设备203可连接一个或多个接入设备,比如图2所示的汇聚设备203所连接的接入设备204、接入设备205和接入设备206。每个接入设备可连接一个或多个终端设备。
如图2所示,核心设备202的一个下行端口与一个汇聚设备的上行端口连接,如图2所示核心设备202的下行端口2021连接汇聚设备203的上行端口2031。汇聚设备203有一个或多个下行端口,汇聚设备203的一个下行端口与一个接入设备的上行端口连接,如图2所示汇聚设备203的下行端口2032连接接入设备204的上行端口2041,汇聚设备203的下行端口2033连接接入设备205的上行端口2051,汇聚设备203的下行端口2034连接接入设备206的上行端口2061。接入设备的一个下行端口可连接一个终端设备,如图2所示,接入设备204的下行端口2042、下行端口2043和下行端口2044分别连接三个终端设备,接入设备205的下行端口2052、下行端口2053和下行端口2054分别连接三个终端设备,接入设备206的下行端口2062、下行端口2063和下行端口2064分别连接三个终端设备。本申请实施例的图2和图3中的上行端口仅仅以一个进行示例,在实际应用中,本领域技术人员可知,一个通信设备可以包括一个或多个上行端口。
本申请实施例中下行端口可以是指通信设备上与终端设备侧直接具有直接或间接的数据传输关系的端口,上行端口是指通信设备上与核心设备侧直接具有直接或间接的数据传输关系的端口。
本申请实施例中的数据上行传输过程具体是指数据流从终端设备侧传输至核心设备侧所经过的过程,数据下行传输过程具体是指数据流从核心设备侧传输至终端设备侧所经过的过程。基于图2所示的通信***架构示意图,图3示例性示出了本申请实施例中在图2所示的通信***架构中数据传输方案,如图3所示,在数据的上行传输过程中,各个终端设备通过上行端口将码块流发送至接入设备,各个接入设备通过下行端口接收各个终端设备发送的码块流,并将接收到的多条码块流复用为一条码块流,并将复用后的一条码块流通过接入设备的上行端口发送至汇聚设备。相应地,汇聚设备通过多个下行端口接收各个接入设备发送的码块流,并将其复用为一条码块流,并将复用后的一条码块流通过汇聚 设备的上行端口发送至核心设备。核心设备通过与该汇聚设备连接的下行端口接收到该汇聚设备发送的码块流之后,对其解复用,并最终得到各个终端设备所发送的码块流,针对各个终端设备发送的码块流分别进行处理。
结合图3对数据上行传输进行说明,如图3所示的,接入设备204通过下行端口2042接收码块流3011,通过下行端口2043接收码块流3012,通过下行端口2044接收码块流3013,将码块流3011、码块流3012和码块流3013复用为码块流301,并通过上行端口2041发送至汇聚设备203。接入设备205通过下行端口2052接收码块流3021,通过下行端口2053接收码块流3022,通过下行端口2054接收码块流3023,将码块流3021、码块流3022和码块流3023复用为码块流302,并通过上行端口2051发送至汇聚设备203。接入设备206通过下行端口2062接收码块流3031,通过下行端口2063接收码块流3032,通过下行端口2064接收码块流3033,将码块流3031、码块流3032和码块流3033复用为码块流303,并通过上行端口2061发送至汇聚设备203。汇聚设备203将通过下行端口2032收到的码块流301、通过下行端口2033收到的码块流302和通过下行端口2034收到的码块流303复用为一条码块流30,并通过汇聚设备203的上行端口2031将码块流30发送至核心设备202,核心设备202对通过下行端口2021收到的码块流30解复用,最终得到各个终端设备对应的码块流3011、码块流3012等等,并对其进行下一步的处理。
在数据的下行传输过程中,如图3所示,核心设备将各个终端设备对应的码块流进行复用,得到一条复用后的码块流。这个过程中,核心设备可以对码块流进行一级或多级复用。并通过核心设备的下行端口发送至汇聚设备,汇聚设备将接收到的下行的码块流解复用,得到多条下行端口对应的码块流,并通过其下行端口发送至该汇聚设备连接的各个接入设备。接入设备接收到码块流之后对其解复用,得到多条接入设备的下行端口对应的码块流,并通过接入设备的下行端口发送出去。
结合图3对数据下行传输进行说明,如图3所示的,核心设备202生成码块流30,并通过下行端口2021发送至汇聚设备203。其中,核心设备202生成码块流30的过程具体是:核心设备202将欲发送至各个终端设备的码块流进行多级复用,最终得到码块流30,而复用的过程与上述上行传输过程中所涉及到的码块流复用过程类似,核心设备先将码块流3011、码块流3012和码块流3013复用为码块流301,将码块流3021、码块流3022和码块流3023复用为码块流302,将码块流3031、码块流3032和码块流3033复用为码块流303,之后再将码块流301、码块流302和码块流303复用为码块流30。汇聚设备203通过上行端口2031接收到码块流30后,对码块流30解复用,得到码块流301、码块流302和码块流303,并分别通过下行端口发送至各个接入设备。接入设备204通过其上行端口2041接收到码块流301后,对码块流301进行解复用,得到码块流3011、码块流3012和码块流3013,接入设备204将解复用后的码块流通过下行端口发送至各个终端设备。接入设备205和接入设备206的下行数据传输与接入设备204类似,不再赘述。
通过上面结合图3对数据传输过程的介绍可以看出,本申请实施例中在上行传输过程中各级设备均涉及到对码块流的复用过程,核心设备涉及对接收到的码块流的解复用过程。在下行传输过程中,核心设备涉及对码块流的复用过程,各级设备涉及对码块流的解复用过程。下面本申请实施例对本申请中所涉及的复用过程和解复用过程进行详细介绍。
本申请实施例中所定义的码块流(比如第一码块流和第二码块流)可以指以码块为单位的数据流。这种情况下,本申请实施例中,可以将比特流(该比特流可以是编码后的或编 码前的)中预设数量的比特称为一个码块(该码块也可以称为一个比特组或比特块)。本申请实施例中的一个码块可以包括同步头区域,也可以不包括同步头区域。本申请实施例的一个码块的编码形式也可以写为M1/N1比特编码。M1和N1均为正整数,且N1不小于M1。一种可选地实施方式中,M1可以等于N1。比如本申请实施例中可以将1个比特称为一个码块,再比如可以将2个比特称为一个码块。另一种可选地实施方式中,本申请实施例中所定义的码块可以是使用编码类型对比特流进行编码之后得到的码块。本申请实施例中定义了一些编码方式,比如M1/N1比特编码。
一种可选地实施方式中,M1可以等于N1,如此,若一个码块分为同步头区域和非同步头区域,则可以理解同步头区域承载的比特位为0。或者也可以理解为将预设数量的比特称为一个码块。
另一种可选地实施方式中,N1可以大于M1。一种情况下,N1大于M1,但并没有明确的同步头,比如8B/10B比特编码。另一种情况,N1大于M1,码块可以包括同步头区域(同步头区域包括(N1-M1)个比特)和非同步头区域(非同步头区域包括M1个比特)。M1/N1比特编码可以是在802.3中定义的使用64B/66B编码(也可以写为64/66比特编码)、256B/257B编码、512B/514B编码、64B/67B编码等。
现有技术中规定了一些码块的结构形式,比如控制码块、数据码块和IDLE码块。IDLE码块也属于控制码块。本申请实施例中的码块(比如第一码块流中的码块和第二码块流中的码块)可以是现有技术中规定的这些码块。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。本申请实施了中“一一对应”用于描述对象的关联关系,比如C个A与C个B一一对应,表示C个A中的每个A对应C个B中的一个B,且C个B中的每个B对应C个A中的一个A,C个A中的任两个A对应的两个B为C个B中两个不同的B,C个B中的任两个B对应的两个A为C个A中两个不同的A。
标识,用于标识一个对象,对象可以是:通信设备、端口、码块组等。一个标识可包括名称、编号、ID(Identification)中的至少一项,只要能够将被标识的对象与其他对象区别开即可。
本申请实施例中的“第一”、“第二”…“第九”仅仅是为了区分,并无其他限定意义,比如“第一控制码块”、“第二控制码块”…“第九控制码块”,再比如“第一码块流”、“第二码块流”、“第三码块流”等,再比如“第一通信设备”、“第二通信设备”、“第三通信设备”等。
基于上述内容,图4示例性示出了本申请实施例提供的一种数据传输方法的流程示意图,图4所示的方法流程示意图适用于复用侧的通信设备。如图4所示,该方法包括:
步骤401,第一通信设备获取Q条第一码块流,Q为大于1的整数,Q条第一码块流与Q个下行端口一一对应,Q个下行端口对应S个码块组,一个下行端口对应一个或多个码块组,Q条第一码块流中的一个码块对应一个码块组,S为不小于Q的整数。
在上述步骤401中,一种可能地实现方式中,一个下行端口可以对应一个或多个码块组,但一个码块组可以仅对应一个下行端口,如此,可以以码块组为粒度为一个下行端口分配带宽,且由于一个码块组仅仅对应一个下行端口,在复用或解复用时也可以降低复杂 度。
步骤402,第一通信设备根据Q条第一码块流得到待发送的第二码块流,第二码块流包括L个码块集合;针对L个码块集合中的每个码块集合,码块集合包括S个码块组中每个码块组对应的K个码块,L和K均为正整数。
通过上述步骤401和步骤402所提供的方案,可以看出,本申请实施例中,由于对码块流进行了复用,因此可以减少中间节点(中间节点比如为图2和图3中的接入设备和汇聚设备等)的交叉连接数量,减轻网络管理和运维方面工作量。
进一步,当第一通信设备并非核心设备,比如为汇聚设备或接入设备的情况下,由于本申请实施例中第一通信设备接收到Q条第一码块流之后,将Q条第一码块流复用并发送,从而可以不必像现有技术中对接收到的码块流进行MAC头解析等操作,节省了第一通信设备转发数据流的工作量。且,也可以简化第一通信设备的结构形式,比如不必为第一通信设备设置用于解析MAC头的器件(比如中央处理器(Central Processing Unit,CPU)和链路交换(Link Switching,LSW)芯片),也可以不必配置路由转发表项,从而降低第一通信设备的成本。
可选地,本申请实施例中的第一码块流和第二码块流的编码形式均为M1/N1比特编码,第一码块流和第二码块流中的任一个码块均包括(N1-M1)比特的非同步头区域和M1比特的同步头区域。一种可能地实现方式中,在上述步骤401和步骤402中,第一通信设备将Q条第一码块流复用为第二码块流的过程中,可以对第一码块流中的同步头区域所承载的信息进行更改,这种情况下,可以在第二码块流中增加指示信息,对所复用的第一码块流中的码块的非同步头区域进行指示。
另一种可能地实现方式中,也可以在将第一码块流复用为第二码块流的过程中,对第一码块流中的非同步头区域和同步头区域均不做改变,如此可以降低解复用时的繁琐程度,且由于未做改变,因此可以不必对复用的第一码块流中的码块的非同步头区域进行指示,从而可减少指示信息的数据量,进一步降低网络负荷。这种情况下,针对L个码块集合中的一个码块:该码块在该第二码块流中的同步头区域承载的内容与该码块在该Q条第一码块流中的同步头区域承载的内容相同;该码块在该第二码块流中的非同步头区域承载的内容与该码块在该Q条第一码块流中的非同步头区域承载的内容相同。
基于图2和图3所示的内容,图5示例性示出了本申请实施例提供的一种数据传输方法的流程示意图,图5所示的方法流程示意图适用于复用侧的通信设备。如图5所示,该方法包括:
步骤501,第一通信设备获取Q条第一码块流,Q为大于1的整数。
在步骤501中,第一通信设备获取Q条第一码块流的方式,以及第一通信设备在实际应用中的角色均可参见上述步骤401的相关描述,在此不再赘述。
步骤502,第一通信设备根据Q条第一码块流得到待发送的第二码块流,其中,针对第二码块流中承载的来自Q条第一码块流中的一个码块:该码块在第二码块流中的同步头区域承载的内容与码块在Q条第一码块流中的同步头区域承载的内容相同;该码块在第二码块流中的非同步头区域承载的内容与码块在Q条第一码块流中的非同步头区域承载的内容相同。
通过上述步骤501和步骤502所提供的方案,可以看出,一方面由于对码块流进行了复用,因此可以减少中间节点(中间节点比如为图2和图3中的接入设备和汇聚设备等) 的交叉连接数量,减轻网络管理和运维方面工作量。另一方面,由于在将Q条第一码块流复用为第二码块流的过程中,对第一码块流中的非同步头区域和同步头区域均未做改变,如此可以降低解复用时的繁琐程度,且由于未做改变,因此可以不必对复用的第一码块流中的码块的非同步头区域进行指示,从而可减少指示信息的数据量,进一步降低网络负荷。
基于上述图4和图5所示的方案,执行图4和图5所示方案的第一通信设备的角色有多种,第一种情况,第一通信设备并非核心设备的情况下,比如可以是上述图2和图3中在数据的上行传输过程中执行复用过程的接入设备、汇聚设备等,这种情况下,上述步骤401中的Q个下行端口可以是第一通信设备的下行端口,上述步骤401中第一通信设备可以通过第一通信设备的Q个下行端口接收Q条第一码块流。
第一通信设备并非核心设备的情况下,上述步骤402中,第一通信设备得到第二码块流之后有多种发送方式,可以通过一个或多个上行端口发送第二码块流。下面分两种情况具体说明,第一种情况,通过多个上行端口发送第二码块流,这种情况下,可以将第二码块流以数据单元为粒度并依据各个数据单元在第二码块流中的排序,依序轮流通过多个上行端口发送;也可以以一定的规则为每个数据单元分配对应的上行端口,进而通过每个数据单元对应的上行端口发送该数据单元。相对应地,在该第一种情况下,接收侧的通信设备通过多个下行端口接收第二码块流的数据单元后,依据该数据单元在发送设备侧发送时的排序,恢复出该条第二码块流。第二种情况,可以为下行端口和上行端口之间设置对应关系,比如一个通信设备中包括10个下行端口,可以令其中4个下行端口对应一个上行端口,令其余6个下行端口对应另一个上行端口,如此,将该4个下行端口的4条第一码块流复用为一条第二码块流后,将该第二码块流通过该4个下行端口对应的上行端口发送出去,并将该6个下行端口的6条第一码块流复用为一条第二码块流后,将该第二码块流通过该6个下行端口对应的上行端口发送出去。如此,可以进一步提高第二码块流的发送效率。
第二种情况,执行图4或图5所示方案的第一通信设备还可以是上述图2和图3中在数据的下行传输过程中执行复用过程的核心设备,核心设备可能针对码块流进行一级或多级的复用,这种情况下,Q个下行端口是指在下行传输过程中解复用Q条第一码块流的通信设备的Q个下行端口,结合图3举例说明,比如当Q个第一码块流是指Q个终端设备(Q个第一码块流为码块流3011、码块流3012和码块流3013)需接收的码块流,这种情况下,核心设备可能通过互联网接收到其它核心设备发送的Q条第一码块流,且这种情况下,Q个下行端口为与该Q个终端设备所连接的通信设备的Q个下行端口(即Q个下行端口为接入设备204的下行端口2042、下行端口2043和下行端口2044);再比如当Q个第一码块流是指Q个接入设备需接收的码块流(Q个第一码块流为码块流301、码块流302和码块流303),这种情况下,Q个第一码块流可以是核心设备对接收到的各个终端设备对应的码块流进行一级或多级复用之后得到的,且这种情况下,Q个下行端口为与该Q个接入设备所连接的通信设备的Q个下行端口(即Q个下行端口为汇聚设备203的下行端口2032、下行端口2033和下行端口2034)。
在上述图4和图5所示的方案中,提供一种可能地实现方式,当该第一通信设备并非为核心设备,上述图4和图5中S的值为在数据上行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据上行传输过程中该Q个下行端口对应的码块组。
而当该第一通信设备为核心设备,该S的值为在数据下行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据下行传输过程中该Q个下行端口对应的码块组。
也就是说,在数据上行传输过程中为一个通信设备的Q个下行端口分配的码块组的数量与在数据上行传输过程中为一个通信设备的Q个下行端口分配的码块组的数量可以相同也可以不同。且针对一个通信设备的Q个下行端口中的一个下行端口,在数据上行传输过程中为该下行端口分配的码块组与在数据上行传输过程中为该下行端口分配的码块组可以相同也可以不同,为一个端口分配的码块组可以用为该端口分配的码块组标识或其它标识信息来标记,码块组标识或其它标识信息可以唯一标识出一个码块组。举个例子,比如在数据上行传输过程中,为第一通信设备的3个下行端口分配了3个码块组,其中,为下行端口1分配码块组1、为下行端口2分配码块组2,为下行端口3分配码块组3。在数据上行传输过程中,为第一通信设备的该3个下行端口分配了4个码块组,为下行端口1分配码块组1、为下行端口2分配码块组4和5,为下行端口3分配码块组2。可见,本申请实施例中为每个下行端口分配的码块组可以分为在数据上行传输过程中的码块组和在数据下行传输过程中的码块组,如此,可以提高方案的灵活性。但为了提高方案的简易性,也可以默认为一个下行端口在数据上行传输过程中所分配的码块组与为该下行端口在数据下行传输过程中所分配的码块组相同。本申请实施例中一个下行端口对应的码块组也可以描述为为该下行端口分配的码块组。
基于上述图4和图5所示的方案,图6示例性示出了本申请实施例提供的一种第二码块流的结构示意图。图6是以图3中接入设备204为例进行示例的,在图6中,Q为3,Q个第一码块流分别为码块流3011、码块流3012和码块流3013。Q个下行端口分别为端口2042、端口2043和端口2044。第二码块流为码块流301。如图6所示,每个第一码块流中会存在控制码块和数据码块。控制码块的同步头区域承载的内容为10,数据码块的同步头区域承载的内容为01。图6中仅仅是示例出Q条第一码块流的结构形式。本申请实施例中的码块集合是指包括一个码块或包括有连续的多个码块的一个单位,比如图6所示的码块集合607和码块集合606。本申请实施例中的一个数据单元600是指包括有一个码块集合或连续多个码块集合的一个单位,比如图6的数据单元600,再比如后续内容中图8所示的额数据单元800。第二码块流中可以包括多个数据单元。
如图6所示,码块流3011对应一个码块组,为码块组601,因此码块流3011的每个码块对应的码块组标识均为码块组601。码块流3012对应一个码块组,为码块组602,因此码块流3012的每个码块对应的码块组标识均为码块组602。码块流3013对应两个码块组,为码块组603和码块组604,因此码块流3011的一个码块对应的码块组标识为码块组603或码块组604。一种可选地实施方式中,当一个第一码块流对应多个码块组时,可以轮流将该第一码块流中的码块的码块组标识确定为多个码块组标识中的一个。比如图6中,码块流3013对应两个码块组,就可以轮流将码块流3013中的码块的码块组标识确定为码块组603和码块组604。另一种可选地实施方式中,也可以轮流将连续多个码块的码块组标识确定为码块组603和码块组604,举个例子,将码块流3013中连续两个码块的码块组标识确定为码块组603,将码块流3013中后续的连续两个码块的码块组标识均确定为码块组604,再将码块流3013中后续的连续两个码块的码块组标识均确定为码块组603,如此向后循环。
如图6所示,第二码块流中包括的L个码块集合605中的码块均为来自Q个第一码块流中的码块。一个码块集合606中包括S个码块组中每个码块组对应的K个码块,在图6中以K为1举例,实际应用中K也可以为大于1的整数,当K大于1时,一个码块集合606中所包括的属于同一个码块组中的码块可以连续放置,也可以不连续放置。
在图6中可以看出,复用至L个码块集合605中的一个码块,它的非同步头区域和同步头区域都是未做更改的,这种情况下,有可能会在L各码块集合605中存在一个或多个控制类型的码块(也可以称为控制码块),控制码块可以连续也可以是间隔开的。
一种可能地实施方中,L个码块集合中的码块连续承载于第二码块流,第二码块流在L个码块集合的头部和/或尾部还包括一个码块集合,码块集合头部包括至少一个第一控制码块。本申请实施例中可以将码块集合607和L个码块集合605称为数据单元600。如图6所示,在L各码块集合605的头部设置了码块集合607。本领域技术人员可知,也可以在L个码块集合的尾部设置码块集合。或者在头部设置该码块集合中的部分码块,在L个码块集合的尾部设置该码块集合的部分码块。码块集合607中可以仅包括一个第一控制码块608,也可以除了包括第一控制码块608之外,还包括一个或多个码块,码块集合607中除第一控制码块608之外的一个码块可以是数据码块,也可以是控制码块。在图6中,码块集合607中包括的除第一控制码块608之外的码块的同步头区域显示为“xx”,用于表示该码块的同步头区域可以为“10”或“01”。
上述步骤402和步骤502中,一种可能地实施方式中,第一通信设备针对Q条第一码块流循环执行L次取码块操作,得到第二码块流。其中,针对L次取码块操作中的每次取码块操作,第一通信设备根据S个码块组的排序,依序从Q条第一码块流中取出S个码块组中每个码块组所对应的K个码块。S个码块组的排序可以是预先定义的,也可以是由核心设备下发的。
本申请实施例中,可以为通信设备配置存储空间,也可以称为缓存区。该缓存区可以是公共的缓存区,也可以将缓存区按地址进行划分,划分为多个缓存区。一种可能地实施方式中,任意两个缓存区的存储容量是相等的,这样,可以为通信设备的下行端口配置缓存区,当该下行端口对应的数据传输速率较大时,可以通过为该下行端口配置较多的缓存区的方式增大该下行端口的带宽。当该下行端口对应的数据传输速率较小时,可以通过为该下行端口配置较少的缓存区的方式减少该下行端口的带宽。可见,通过该实施方式,可以以缓存区为粒度调整端口的带宽,从而可以进一步降低端口带宽调整粒度,可进一步提高FlexE的灵活性。
在上述图4和图5所示的方案中,可选地,S个码块组对应S个缓存区,S个码块组与S个缓存区一一对应。一种可选地实施方式中,该第一通信设备根据该Q条第一码块流得到待发送的第二码块流,包括:该第一通信设备根据该S个码块组与该S个缓存区的对应关系,将该Q条第一码块流中的码块缓存至该S个缓存区;针对该L个码块集合中的一个码块集合,该第一通信设备根据该S个码块组的排序,依序从该S个缓存区中的每个缓存区取出K个码块,得到该码块集合中的码块。
图7示例性示出了本申请实施例提供的一种数据传输过程的示意图。图7是以图6所示的数据传输过程为例进行介绍的,如图7所示,在接入设备204中为端口2042分配缓存区701,为端口2043分配缓存区702,为端口2044分配两个缓存区,分别为缓存区703和缓存区704。其中,缓存区703可应用存储码块组503对应的码块,缓存区704可应用 缓存码块组504对应的码块。如图7所示,针对接入设备204的每个下行端口,接入设备204将通过该下行端口接收到的码块流中的码块缓存至对应的缓存区。一种可能地实施方式中,针对Q条第一码块流中的一个第一码块流,当第一码块流对应一个码块组,第一通信设备将第一码块流中的码块缓存至码块组对应的缓存区;当第一码块流对应多个码块组,第一通信设备将第一码块流中的码块依次轮流缓存至多个码块组对应的多个缓存区。这种情况下,也可以忽略掉码块组的概念,第一通信设备将通过下行端口接收到的第一码块流中码块轮流放置到该下行端口对应的多个缓存区中,之如图7所示,第一通信设备依据缓存区的排序,依序从每个缓存区取出K个码块,即得到复用后的第二码块流中的L个码块集合中的码块。图7中是以K为1进行示例的,实际应用中,K可大于1。
在上述图4和图5所示的方案中,为了进一步提高方案的灵活性,还可以针对IDLE码块进行灵活增删。一种可能地实施方式中,针对Q条第一码块流中的每个码块,当码块的码块类型为空闲IDLE码块,第一通信设备丢弃码块。在实际应用中,通信设备之间通常会发送IDLE码块,这种情况下,当接入设备204通过下行端口接收到的第一码块流中有IDLE码块时,直接丢弃,不再往缓存区缓存,这样一方面可节省缓存区容量,另一方面也可以避免传输大量的IDLE码块,从而可以减轻网络负荷。第三方面,由于第一通信设备将接收到的第一码块流中的IDLE码块都删除了,第二码块流承载的有效数据的占比可以增大,因此第一通信设备的上行端口的带宽可以设置的与第一通信设备的Q个下行端口的总带宽不一致,从而可以达到第一通信设备的上行端口和下行端口的速率收敛的目的,进一步由于可以将第一通信设备的上行端口的带宽灵活设置,因此可以根据具体情况调低上行端口的带宽,可以在不影响用户数据的传输的前提下进一步节省成本。第一通信设备的上行端口的带宽可以用该上行端口连接的其它通信设备的下行端口对应的缓存区的容量来表示,这种情况下,也可以描述为,第一通信设备的上行端口连接的其它通信设备的下行端口对应的缓存区的容量可以设置的与第一通信设备的Q个下行端口的总带宽不一致,如图7所示,接入设备204的缓存区701、缓存区702、缓存区703和缓存区704的总缓存容量与汇聚设备203的下行端口2032(可参见图3)对应的缓存区的总容量可不同。
如图7所示,一种可能地实施方式中,当在循环执行L次取码块操作的过程中未取到码块,在第二码块流中***空闲IDLE码块。结合图7来说,比如L个为5,缓存区702中当前就包括一个码块,但是缓存区702中后续没***块了(比如码块流3012传输的均为IDLE码块,被接入设备204所丢弃,并未向缓存区702中放置)。接入设备204从四个缓存区(该四个缓存区为缓存区701、缓存区702、缓存区703和缓存区704)依次取了四个码块,得到L个码块集合中的第一个码块集合中的四个码块,之后进行第二轮取码块操作时,缓存区702中没***块,这种情况下,在第二码块流中第二个码块集合中缓存区702的码块对应的位置***IDLE码块。
第二码块流中还可以存在其它结构形式,图8示例性示出了本申请实施例提供的第二码块流的另外一种结构示意图。可选地,当S个码块组中存在R个码块组满足预设条件,第二码块流中还包括:P个码块集合;P为正整数,针对P个码块集合中的每个码块集合,码块集合包括(S-R)个码块组中每个码块组对应的K个码块;其中,R为不大于S的正整数;(S-R)个码块组为S个码块组中除R个码块组之外的码块组;R个码块组中的一个码块组满足预设条件是指,码块组对应的连续K*L个码块为IDLE码块。也就是说,当在循环执行取码块操作的过程中未取到码块,具体来说,是针对一个缓存区,在L次取码块 操作中均未取到码块,这种情况下,第二码块流中可以不承载该缓存区中的码块。
图8是在图7的基础上述示出的第二码块流的另外一种结构示意图,如图8所示,当前需执行P次取码块操作,以生成第二码块流的P个码块集合,但是在P次取码块操作中,都没有从缓存区702取出码块,这种情况下,如图8所示,码块流301(第二码块流)中的P个码块集合801中的每一个码块集合803中可以不包括缓存区702对应的码块。本申请实施例中可以将包括码块集合803和P个码块集合的码块称为数据单元800。如此,可以减少数据传输量,可进一步减轻网络负荷。可选地,如图8所示,在P各码块集合801的头和/或尾还可包括一个码块集合803,该码块集合803的头部包括一个第一控制码块804,该码块集合中还可以包括一个或多个其它的码块,该其它的码块中的一个码块可以是数据码块,也可以是控制码块。
基于上述图2至图8所示的内容,图9和图10分别示例性示出了本申请实施例提供的两种数据传输方法的流程示意图,图9和图10所示的方法均为解复用侧方法,为了方便介绍,图9和图10中所示的该方法是以需对第二码块流进行解复用为例进行介绍的,该示例中第二码块流可以解复用为Q个第一码块流。结合上述图3来看,在解复用侧的方法流初中,当第二码块流为码块流30时,Q条第一码块流可以为图3中的码块流301、码块流302和码块流303。当第二码块流为码块流301时,Q条第一码块流可以为图3中的码块流3011、码块流3012和码块流3013。
如图9所示,该方法包括:
步骤901,第三通信设备获取第二码块流;其中,第二码块流包括L个码块集合;针对L个码块集合中的每个码块集合,码块集合包括S个码块组中每个码块组对应的K个码块,L个码块集合中的一个码块对应一个码块组,S为大于1的整数,L和K均为正整数。
执行图9所示方案的第三通信设备比如可以是上述图2和图3中在数据的下行传输过程中执行解复用过程的接入设备、汇聚设备等,这种情况下,第三通信设备可以通过上行端口接收到第二码块流,执行图9所示方案的第三通信设备还可以是上述图2和图3中在数据的上行传输过程中执行解复用过程的核心设备,核心设备可能针对码块流进行多级的解复用。
步骤902,第三通信设备根据第二码块流得到Q条第一码块流,Q为大于1且不大于S的整数,Q条第一码块流对应S个码块组,一条第一码块流对应一个或多个码块组。
如图10所示,该方法包括:
步骤1001,第三通信设备获取第二码块流。
在步骤1001中,第三通信设备在实际应用中的角色均可参见上述步骤901的相关描述,在此不再赘述。
步骤1002,第三通信设备根据第二码块流得到Q条第一码块流,其中,Q为大于1的整数;针对第二码块流中承载的来自Q条第一码块流中的一个码块:该码块在第二码块流中的同步头区域承载的内容与码块在Q条第一码块流中的同步头区域承载的内容相同;该码块在第二码块流中的非同步头区域承载的内容与码块在Q条第一码块流中的非同步头区域承载的内容相同。
上述图9和图10是对解复用的流程进行了介绍,在图9和图10中所涉及到的第二码块流和第一码块流的相关结构,可以参见上述图6、图7和图8中的相关介绍,在此不再赘述。
基于上述图9和图10所示的方案,执行图9和图10所示方案的第三通信设备的角色有多种,第一种情况,第三通信设备并非核心设备的情况下,比如可以是上述图2和图3中在数据的上行传输过程中执行解复用过程的接入设备、汇聚设备等,这种情况下,上述图9和图10中的Q个下行端口可以是第三通信设备的Q个下行端口,第三通信设备可以通过第三通信设备的Q个下行端口分发Q条第一码块流。
第三通信设备并非核心设备的情况下,第三通信设备获取第二码块流的方式有多种,当第三通信设备通过上行端口接收第二码块流的情况下,可以是通过一个或多个上行端口接收第二码块流。当发送侧的通信设备通过多个下行端口发送第二码块流,发送侧的通信设备可以将第二码块流以数据单元为粒度并依据各个数据单元在第二码块流中的排序,依序轮流通过多个上行端口发送;也可以以一定的规则为每个数据单元分配对应的上行端口,进而通过每个数据单元对应的上行端口发送该数据单元。相对应地,第三通信设备(接收侧的通信设备)通过多个下行端口接收第二码块流的数据单元后,依据该数据单元在发送设备侧发送时的排序,恢复出该条第二码块流。
第二种情况,执行图9或图10所示方案的第三通信设备还可以是上述图2和图3中在数据的下行传输过程中执行解复用过程的核心设备,核心设备可能针对码块流进行一级或多级的解复用,这种情况下,Q个下行端口是指在下行传输过程中解复用Q条第一码块流的通信设备的Q个下行端口,结合图3举例说明,比如当Q个第一码块流是指Q个终端设备(Q个第一码块流为码块流3011、码块流3012和码块流3013)发送的码块流,Q个下行端口为与该Q个终端设备所连接的通信设备的Q个下行端口(即Q个下行端口为接入设备204的下行端口2042、下行端口2043和下行端口2044);再比如当Q个第一码块流是指Q个接入设备发送的码块流(Q个第一码块流为码块流301、码块流302和码块流303),Q个下行端口为与该Q个接入设备所连接的通信设备的Q个下行端口(即Q个下行端口为汇聚设备203的下行端口2032、下行端口2033和下行端口2034)。
在上述图9和图10所示的解复用的方案中,提供一种可能地实现方式,当该第三通信设备并非为核心设备,该S的值为在数据下行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据下行传输过程中该Q个下行端口对应的码块组。当该第三通信设备为核心设备,该S的值为在数据上行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据上行传输过程中该Q个下行端口对应的码块组。
本申请实施例中,在上述步骤902和步骤1002中,第三通信设备根据第二码块流得到Q条第一码块流,包括:针对L个码块集合中的每个码块集合:第三通信设备根据S个码块组的排序,依序从码块集合中取出S个码块组中每个码块组所对应的K个码块,得到Q条第一码块流。结合图6进行说明,图6中,第二码块流为码块流301,Q条第一码块流分别为码块流3011、码块流3012和码块流3013。在需对第二码块流进行解复用的过程中,针对第二码块流中的L个码块集合605中的码块,依序从第二码块流中取出码块,并可以根据码块的码块组对应的下行端口,将取出的码块通过对应的下行端口发送出去。
一种可能地实现方式中,在数据下行传输的过程中,不使用缓存区,也就是说,第三通信设备通过上行端口接收到第二码块流之后,直接从第二码块流的L个码块集合中取出码块,并从该码块对应的下行端口发送出去。另一种可选地实现方式中,在数据下行传输的过程中,使用缓存区。具体来说,第三通信设备根据S个码块组与S个缓存区的对应关 系,将S个码块组中的每个码块组对应的K个码块缓存至码块组对应的缓存区。可选地,之后从缓存区取出码块并通过下行端口发送出去。结合图7举例说明,接入设备204接收到第二码块流(码块流301)之后,将第二码块流中L个码块集合中的每个码块放到该码块对应的缓存区中,之后将各缓存区中缓存的码块通过对应的下行端口发送出去,比如缓存区701的码块通过端口2042发送出去。一种特殊的情况,端口2044对应多个缓存区,这种情况下,根据与复用过程相匹配的规则进行解复用,从而得到端口2044对应的第一码块流,在图7这个示例中,可以轮流从缓存区703和缓存区704取出一个码块,从端口2044发出去。
除了上述内容,关于解复用侧的其它内容可以参见上述复用侧的相关描述,在此不再赘述。
上述图2至图10介绍了本申请实施例提供的复用侧和解复用侧的方法流程。可选地,本申请实施例中,基于图2所示的集中式架构,还可以提供一种集中式的协商方式,该协商方式可以由核心设备集中下发配置信息(配置信息比如可以包括端口和码块组的对应关系;由于一个端口传输一个码块流,因此端口和码块组的对应关系也可以描述为码块流与码块组的对应关系;当通信设备中配置有缓存区时,端口和码块组的对应关系也可以描述为缓存区与端口的对应关系),从而可以减少协商失败的比率,从而提高网络运行效率。比如,核心设备可统一配置各级通信设备(比如包括汇聚设备和接入设备)的端口的带宽。可选地,为端口配置的带宽可以用为端口配置的缓存区来体现。
图11和图12示例性示出了本申请实施例提供的一种协商方法流程示意图。为了介绍方便,在图11和图12中以核心设备连接第一通信设备,第一通信设备连接Q个第二通信设备为例进行介绍。在图11和图12中以第一个第二通信设备、…第Q个第二通信设备示例性展示Q个第二通信设备。如图11所示,该方法包括:
步骤1101,核心设备发送第五码块流,第五码块流包括用于指示上报端口信息的指示信息。
本申请实施例中端口的状态可以分为UP状态和DOWN状态两种,当处于UP状态时,表示该端口为可使用状态,当处于DOWN状态时,表示该端口处于非可使用状态。核心设备包括一个或多个下行端口,核心设备全部或部分下行端口处于UP状态。一种可能地实施方式中,核心设备通过处于UP状态的下行端口下发第五码块流。可选地,核心设备的一个下行端口连接一个第一通信设备,本申请实施例中以一个第一通信设备为例进行说明。
本申请实施例中,一个端口的端口信息可以包括以下内容中的任一项或任多项:该端口的状态信息(即该端口处于UP状态还是DOWN状态)、端口速率和端口标识等。
步骤1102,第一通信设备接收第五码块流,并对第五码块流的头部的一个至少包括第六控制码块的码块集合进行解析,确定出第一通信设备自身需向核心设备上报自身的下行端口的端口信息。
第六控制码块包括:用于指示该第一通信设备上报第一通信设备的端口信息的指示信息。比如可以在第六控制码块的预设位置设置比特位,当该比特位的值为7时,指示需上报端口信息。
本申请实施例中,图11所示的示例中,核心设备可以要求通信设备仅仅上报下行端口的端口信息,也可以要求其上报上行端口和下行端口的端口信息。
本申请实施例中,一个码块流中包括至少一个控制码块的码块集合的位置,可以在一条码块流的头部或尾部,包括有控制码块的码块集合也可以是部分码块位于该条码块流的头部,部分码块位于该码块流的尾部,在图11和图12中对该码块集合位于头部进行举例说明。举个例子,包括有第三控制码块的码块集合可能处于第三码块流的头部或尾部,也可能该码块集合中的部分码块处于第三码块流的头部,部分码块处于第三码块流的尾部。再举个例子,包括有第四控制码块的码块集合可能处于第四码块流的头部或尾部,也可能该码块集合中的部分码块处于第四码块流的头部,部分码块处于第四码块流的尾部。本申请实施例中还存在其它包括至少一个控制码块的码块集合,比如包括至少一个第六控制码块的码块集合在第五码块流中的位置、包括至少一个第七控制码块的码块集合在第六码块流中的位置、包括至少一个第八控制码块的码块集合在第七码块流中的位置、包括至少一个第九控制码块的码块集合在第八码块流中的位置等,关于位置均参照该段论述,在其它地方不再重复描述。
本申请实施例中,一个码块流中包括至少一个控制码块的码块集合中,也可以不包括其它码块(即仅包括控制码块),也可以包括其它码块(其它码块可以是数据码块,也可以是控制码块)。举个例子,包括有第三控制码块的码块集合中可能仅包括第三控制码块,也可能除了第三控制码块之外还包括其它的数据码块和/或控制码块。
步骤1103,第一通信设备对该第五码块流中除该包括有第六控制码块的码块集合之外的码块解复用,得到Q条第六码块流。
该Q条第六码块流与该Q个下行端口一一对应。本申请实施例中以该第一通信设备通过该Q个下行端口与Q个第二通信设备连接,该Q个下行端口与Q个第二通信设备一一对应为例进行介绍。
步骤1104,第一通信设备通过该Q个下行端口向Q个第二通信设备分发该Q条第六码块流。一条第六码块流包括用于指示上报端口信息的指示信息。
在图11中,步骤1104以第一条第六码块流、…第Q条第六码块流为例,示例性展示Q条第六码块流。
相对应地,Q个第二通信设备中的一个第二通信设备通过第一通信设备上与该第二通信设备连接的下行端口接收一条第六码块流。
可选地,针对该Q条第六码块流中的一个第六码块流,该第六码块流的头部包括一个码块集合,该码块集合包括至少一个第七控制码块,包括有该第七控制码块的该码块集合包括:用于指示该第六码块流对应的第二通信设备上报该第二通信设备的端口信息的指示信息。
步骤1105,Q个第二通信设备中的每个第二通信设备根据该第二通信设备的端口信息生成该第二通信设备对应的第七码块流。Q个第二通信设备向第一通信设备分别发送第七码块流。一条第七码块流包括通信设备的端口信息。
在图11中,步骤1104以第一条第七码块流、…第Q条第七码块流为例,示例性展示Q条第七码块流。
相对应地,第一通信设备接收到Q条第七码块流。
可选地,针对Q条第七码块流中的一个第七码块流,该第七码块流的头部包括一个码块集合,该码块集合包括至少一个第八控制码块,包括有该第八控制码块的该码块集合包括:用于指示该第七码块流对应的第二通信设备的端口的端口信息的指示信息。
步骤1106,第一通信设备将Q条第七码块流复用为一条第八码块流。
可选地,在第八码块流的头部和/或尾部增加一个码块集合,该码块集合的头部包括有至少一个第九控制码块。包括有该第九控制码块的该码块集合包括:用于指示第一通信设备的端口的端口信息的指示信息。
步骤1107,第一通信设备向核心设备发送第八码块流。
相对应地,核心设备接收第八码块流,并对第八码块流进行多级解复用,从而得到各级通信设备(包括第一通信设备和Q个第二通信设备)的端口信息。
在步骤1107之后可以执行图12的步骤1108。
步骤1108,核心设备发送第三码块流。第三码块流包括:用于指示在数据上行传输过程中第一通信设备的端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中第一通信设备的端口与码块组的对应关系的指示信息。
可选地,在数据上行传输过程中第一通信设备的端口与码块组的对应关系与在数据下行传输过程中第一通信设备的端口与码块组的对应关系可以相同,也可以不同。在数据上行传输过程中第一通信设备的端口与码块组的对应关系,以及在数据下行传输过程中第一通信设备的端口与码块组的对应关系中的任一个,都可以由核心设备配置了进行下发,也可以是由第一通信设备自行配置并上报。
相对应地,该第一通信设备接收该核心设备发送的第三码块流。
第三码块流中可以承载有核心设备为各个通信设备的端口分配的配置信息。本申请实施例中核心设备为一个端口分配的配置信息可以包括:为该端口分配的码块组和/或为该端口分配的缓存区。其中,为该端口分配的码块组可以用为该端口分配的码块组标识来表示,为该端口分配的码块组可能为一个或多个,为该端口分配的码块组也可以描述为该端口和码块组的对应关系;为该端口分配的缓存区可以用为该端口分配的缓存区的地址来表示,为该端口分配的缓存区可能为一个或多个,为该端口分配的缓存区也可以描述为该端口和缓存区的对应关系。该第三码块流的头部和/或尾部包括一个码块集合,该码块集合包括至少一个第三控制码块。上述用于指示在数据上行传输过程中第一通信设备的下行端口与码块组的对应关系的指示信息,以及用于指示在数据下行传输过程中第一通信设备的下行端口与码块组的对应关系的指示信息可以全部承载在第三控制码块上,也可以部分承载在第三控制码块上,其余部分承载在包括有第三控制码块的码块集合的其它数据码块和/或控制码块上。
该部分内容以第一通信设备为例对数据上行传输过程和数据下行传输过程中的端口与码块组的对应关系进行了示例性介绍,下述内容中若涉及此类内容,可参见此部分,不再赘述。
本申请实施例中核心设备为一个端口分配配置信息可以根据多种因素,可以为各种因素设置不同的权重。比如可以根据该端口对应的业务量、该端口对应的业务的优先级、该端口的优先级,以及该端口对应的业务类型等。端口对应的业务类型可以包括视频类、语音业务、信令级业务、网路协议电视(Internet Protocol Television,IPTV)业务、无线高保真(wireless fidelity,Wi-Fi)业务等几类。
相对应地,当包括有第三控制码块的码块集合承载有数据上行过程中该第一通信设备的端口与码块组的对应关系,该第一通信设备根据包括该第三控制码块的该码块集合,确定出数据上行过程中该第一通信设备的下行端口与码块组的对应关系。当包括有第三控制 码块的码块集合承载有数据下行过程中该第一通信设备的端口与码块组的对应关系,该第一通信设备根据包括该第三控制码块的该码块集合,确定出数据下行过程中该第一通信设备的端口与码块组的对应关系。
步骤1109,该第一通信设备对该第三码块流中除包括该第三控制码块的码块集合之外的码块解复用,得到Q条第四码块流。
步骤1110,第一通信设备通过Q个下行端口分发Q条第四码块流。一条第四码块流中包括用于指示在数据上行传输过程中该第四码块流对应的第二通信设备的端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中该第四码块流对应的第二通信设备的端口与码块组的对应关系的指示信息。
在图11中,步骤1110以第一条第四码块流、…第Q条第四码块流为例,示例性展示Q条第四码块流。
相对应地,Q个第二通信设备中每个第二通信设备通过第一通信设备上与该第二通信设备连接的下行端口接收一条第四码块流。
可选地,该Q条第四码块流与该Q个下行端口一一对应。可选地,针对该Q条第四码块流中的一个第四码块流,该第四码块流的头部和/或尾部包括一个码块集合,该码块集合包括至少一个第四控制码块。上述用于指示在数据上行传输过程中该第四码块流对应的第二通信设备的端口与码块组的对应关系的指示信息,以及用于指示在数据下行传输过程中该第四码块流对应的第二通信设备的端口与码块组的对应关系的指示信息可以全部承载在第四控制码块上,也可以部分承载在第四控制码块上。
步骤1111,针对Q个第二通信设备中的一个第二通信设备,第二通信设备解析该第二通信设备接收到的第四码块流。
当包括有第四控制码块的码块集合承载有数据上行过程中该第二通信设备的端口与码块组的对应关系,该第二通信设备根据包括该第四控制码块的该码块集合,确定出数据上行过程中该第二通信设备的端口与码块组的对应关系。当包括有第四控制码块的码块集合承载有数据下行过程中该第二通信设备的端口与码块组的对应关系,该第二通信设备根据包括该第四控制码块的该码块集合,确定出数据下行过程中该第二通信设备的端口与码块组的对应关系。
上述图11和图12的示例是以第一通信设备为例进行介绍的,在上述内容的解复用侧执行主体为第三通信设备,第三通信设备可以与第一通信设备为同一个通信设备,也可以为不同的两个通信设备,本申请实施例中不做限制,当第一通信设备执行解复用过程时,第一通信设备执行的方案与上述第三通信设备执行的方案相同,相对应地,当第三通信设备执行复用过程时,第三通信设备执行的方案与上述第一通信设备执行的方案相同。上述图11和图12中的示例中,若以第三通信设备作为执行主体,则可选地,第二码块流在L个码块集合的头部和/或尾部还包括一个码块集合,码块集合包括至少一个第一控制码块,包括有第一控制码块的码块集合包括:用于指示在数据上行传输过程中第三通信设备的Q个下行端口与S个码块组的对应关系的指示信息,和/或用于指示在数据下行传输过程中第三通信设备的Q个下行端口与S个码块组的对应关系的指示信息。第三通信设备根据第二码块流得到Q条第一码块流,包括:第三通信设备根据包括有第一控制码块的码块集合,得到Q个下行端口与S个码块组的对应关系;第三通信设备根据Q个下行端口与S个码块组的对应关系,将L个码块集合解复用为Q条第一码块流。可选地,若第三通信设备还 包括有除Q个下行端口之外的端口,包括有第一控制码块的码块集合中还包括:用于指示在数据上行传输过程中第三通信设备的除Q个下行端口之外的端口与码块组的对应关系的指示信息,和/或用于指示在数据下行传输过程中第三通信设备的除Q个下行端口之外的端口与码块组的对应关系的指示信息。
进一步,一种可能地实施方式中,第三通信设备通过Q个下行端口与Q个第四通信设备连接,Q个下行端口与Q个第四通信设备一一对应。第三通信设备根据第二码块流得到Q条第一码块流之后,还包括:第三通信设备通过Q个下行端口分发Q条第一码块流;其中,一条第一码块流的头部和/或尾部包括一个码块集合,码块集合包括至少一个第五控制码块,包括有第五控制码块的码块集合包括:用于指示在数据上行传输过程中该第一码块流对应的第四通信设备的端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中该第一码块流对应的第四通信设备的端口与码块组的对应关系的指示信息。
上述在协商过程中所涉及到的复用过程和解复用过程与上述图2至图10所描述的内容一致,在此不再赘述。通过图11和图12所示的示例,可以看出核心设备获取各级通信设备的端口信息之后,可以集中为各级通信设备的端口分配码块组(在一些可能地实现方式中,为端口分配码块组也可以描述为:为端口分配缓存区,或为端口分配带宽),并将为各个端口分配的码块组下发给各级通信设备,该方案在FlexE中运用集中式架构,可以提高协商成功率,可以改善现有FlexE技术通过两两协商的方式协商端口的带宽所带来的协商失败率较高的问题。
图11和图12中示例性介绍了核心设备为各级通信设备配置码块组的示例,在实施过程中,还可以为某个通信设备的一个或多个端口重新配置码块组,比如为一个端口增加所配置的码块组或减少为一个端口已经配置的码块组。重新配置码块组可以由核心设备发起,并将重配置后的配置信息下发至通信设备。或者由通信设备自己发起并使用,并将已使用的新的配置信息上报给核心设备,举个例子,第一通信设备发现一个下行端口的带宽不足,则为该下行端口增加一个码块组,并在第二码块流的L个码块集合的头部和/或尾部承载用于指示该端口与码块组的指示信息。
具体实施中,发起重新配置的条件有多种,比如端口的优先级变更,端口的流量的大小变更等等,再比如缓存数据量的大小。若第一通信设备自行发起重新配置,则一种可能地实现方式中:针对Q个下行端口中的一个下行端口:当下行端口对应的缓存区内的缓存数据量大于第一缓存量阈值或小于第二缓存量阈值,第二码块流在L个码块集合的头部和/或尾部还包括一个码块集合,码块集合头部包括至少一个第二控制码块,第二控制码块包括用于指示向核心设备请求为下行端口重新配置码块组的指示信息,第二缓存量阈值小于第一缓存量阈值。
在上述图6和图8中涉及到包括第一控制码块的码块集合。本申请实施例中第二码块流中可以包括多个数据单元。一个数据单元在某些情况下也可以称为一个帧,数据单元或帧仅仅在本申请实施例中用作命名而已,无其它限定意义。如图6所示,一个数据单元包括一个至少包括第一控制码块的码块集合和L个码块集合。如图8所示,一个数据单元可以包括一个至少包括第一控制码块的码块集合和P个码块集合。
本申请实施例中包括有第一控制码块的码块集合用于承载以下内容中的任一项或任多项:用于指示Q个下行端口与S个码块组的对应关系的指示信息;用于指示S的值的指示信息;用于指示L的值的指示信息;用于指示S个码块组的指示信息;用于指示L个码 块集合中一个码块集合中S个码块组的排序的指示信息;用于指示单个缓存区容量的指示信息。
针对上述任一项指示信息,该指示信息可以在包括有第一控制码块的码块集合中指示出来,可以明确的通过一些信息指示出来,也可以通过一些信息和预设规则隐含的指示处理,也可以是默认值(即不指示,核心设备和通信设备也各自知道该指示信息)。
在上述指示信息中,比如可以在该包括有第一控制码块的码块集合中设定一些预定义的比特位,这些比特位与码块组标识之间有对应关系,也就是说这些比特位可以隐含指示出码块组标识,在这些预定义的比特位上承载端口标识,则这些预定义的比特位上的端口标识可以指示出端口与码块组的对应关系,如此也可以节省指示信息的数据量,无需对每个码块对应的端口标识进行单独的指示。还可以有其它方式指示端口和码块组的对应关系,在该包括有第一控制码块的码块集合中承载具有对应关系的端口和码块组的标识。
一种可能地实现方式中,第二码块流中包括多个数据单元,一个数据单元包括一个或多个码块集合。一个数据单元中包括有第一控制码块的码块集合承载的信息可以用于指示当前数据单元中承载的L个码块集合的信息,也可以是用于指示其它数据单元中承载的L个码块集合的信息,也可以用于指示当前数据单元以及其它数据单元中承载的码块集合的信息。
举个例子,比如图6所示,码块流301中可以包括多个数据单元,在数据单元600后面还可以包括多个数据单元。数据单元600的码块集合607中承载的任一个信息可以用于指示当前数据单元600中的L个码块集合605中的码块的信息;也可以是用于指示数据单元600后续的某一个特定的数据单元(比如数据单元600后续的下一个数据单元,或者数据单元600后续的下下个数据单元)中的码块集合中的码块的信息;也可以是用于指示数据单元600以及后续一段时间内的数据单元所承载的码块集合的信息;也可以是用于指示数据单元600以及后续连续的多个未承载第一控制码块的数据单元中码块集合的相关信息。
以包括有第一控制码块的码块集合中承载有用于指示Q个下行端口与S个码块组的对应关系的指示信息为例进行说明,由于端口和码块流是一一对应的关系,结合L个码块集合中一个码块集合中S个码块组的排序,用于指示Q个下行端口与S个码块组的对应关系也可以描述为用于指示第二码块流中承载的来自于第一码块流的码块所对应的码块流的指示信息,有了该指示信息,便可以从第二码块流中恢复出各条第一码块流。如图6所示,数据单元600的码块集合607中承载的用于指示Q个下行端口与S个码块组的对应关系的指示信息,可以是用于指示数据单元600中L个码块集合605中每个码块对应的第一码块流的指示信息,也可以是用于指示数据单元600的下一个数据单元所承载的来自于第一码块流的码块所对应的第一码块流的指示信息;也可以是用于指示数据单元600以及后续多个未包括第一控制码块的数据单元所承载的来自于第一码块流的码块所对应的第一码块流的指示信息。
上述用于指示Q个下行端口与S个码块组的对应关系的指示信息可以是用于指示在数据上行过程中Q个下行端口与S个码块组的对应关系;或者可以是用于指示在数据下行过程中Q个下行端口与S个码块组的对应关系;又或者是用于指示在数据上行过程中Q个下行端口与S个码块组的对应关系以及用于指示在数据下行过程中Q个下行端口与S个码块组的对应关系。下述表1和表2中以在数据上行传输过程中和在数据下行传输过程中端口和码块组的对应关系一致为例进行举例说明。
用于指示S的值的指示信息,也可以描述为用于指示一个数据单元(该一个数据单元可以是承载有该指示信息的当前数据单元,也可以是其它数据单元)中所承载的来自于第一码块流的码块所对应的码块组的总数量的指示信息。可以是用一个比特位指示出该数据单元的承载的来自第一码块流的码块对应的码块组的总数量。也可以在该包括有第一控制码块的码块集合中设定一些预定义的比特位,这些比特位与码块组标识之间有对应关系,举个例子,针对一个码块组,当第二码块流中没有承载该码块组对应的码块时,将该码块组对应的比特位设置为预设值,比如可以该码块组对应的比特位置0。
用于指示S个码块组的指示信息,也可以描述为用于指示一个数据单元(该一个数据单元可以是承载有该指示信息的当前数据单元,也可以是其它数据单元)中所承载的来自于第一码块流的码块所对应的码块组的指示信息。可以是用比特位承载S个码块组的标识的方式指示出该码块流的承载的来自第一码块流的码块对应的码块组。也可以在该包括有第一控制码块的码块集合中设定一些预定义的比特位,这些比特位与码块组标识之间有对应关系,举个例子,针对一个码块组,当第二码块流中没有承载该码块组对应的码块时,将该码块组对应的比特位设置为预设值,比如可以该码块组对应的比特位置0。
用于指示L的值的指示信息,可以描述为用于指示一个数据单元(该一个数据单元可以是承载有该指示信息的当前数据单元,也可以是其它数据单元)中包括的来自于第一码块流的码块对应的码块集合的总数量的指示信息。可以是用一个比特位指示出该数据单元承载的来自第一码块流的码块对应的码块集合的总数量。也可以设为默认值,比如将L设置为与单个缓存区可容纳的码块的数量相等。一个数据单元中包括的来自于第一码块流的码块对应的码块集合的数量、来自于第一码块流的码块对应的一个码块集合中包括的码块组的数量,以及来自于第一码块流的码块对应的一个码块集合中一个码块组对应的码块的数量,可以指示出该数据单元的总长度,因为端口物理速率为常数,因此可以通过这些参数来表征一个数据单元的数据长度,且该三个参数中可以将某一个或某多个参数设置为默认值。
用于指示L个码块集合中一个码块集合中S个码块组的排序的指示信息,可以描述为用于指示一个数据单元(该一个数据单元可以是承载有该指示信息的当前数据单元,也可以是其它数据单元)中包括的来自于第一码块流的码块对应的一个码块集合中的码块组的排序的指示信息。该指示信息可以用默认值,比如默认是根据码块组标识的大小排序。
用于指示单个缓存区容量的指示信息,该指示信息在上述图7所示的实施例中可以应用。该指示信息可以设置为默认值。
本申请实施例中涉及到的控制码块的结构形式可以由多种,只要能够指示出需指示的信息即可。表1示例性示出了本申请实施例提供的一种可能地控制码块的结构形式,该控制码块可以适用于上述内容所提及到的第一控制码块至第九控制码块。表2中还示例性示出了包括有控制码块的码块集合中所包括的其它码块的结构形式,表2可适用于上述内容所提及到的包括有第一控制码块的码块集合中的其它码块至包括有第九控制码块的码块结合中的其它码块,比如包括有第一控制码块的码块集合中的其它码块、包括有第二控制码块的码块集合中的其它码块、包括有第三控制码块的码块集合中的其它码块等。在表1和表2中[A:B]表示比特位A至比特位B,比如[65:64]表示比特位65至比特位64。
表1控制码块的结构形式
Figure PCTCN2019104749-appb-000001
Figure PCTCN2019104749-appb-000002
Figure PCTCN2019104749-appb-000003
表2包括有控制码块的码块集合中所包括的其它码块的结构形式
Figure PCTCN2019104749-appb-000004
为了进一步兼容现有技术,可以将本申请实施例生成的一个数据单元进行MAC封装,比如增加MAC头(MAC头可以包括目的地址、源地址以及类型号等字段)和MAC尾(MAC尾可以包括帧校验序列(frame check sequence,FCS)字段等),从而将数据单元封装为标准的MAC报文,比如封装为802.3以太网报文,如此,可以在本申请实施例所使用的通信设备之间增加MAC隧道。比如在第一通信设备和第二通信设备之间增加MAC隧道,此时第二通信设备发出的码块流中的数据单元需封装为MAC报文,从而穿过该MAC隧道到达第二通信设备。这种情况下,可以由核心设备为每个通信设备分配MAC地址,从而在增加MAC头的目的地址和源地址时使用。通过该可能地实施方案,可以进一步兼容现有技术,且可以在汇聚层、接入层以及核心层的通信设备之间***第三方交换机,第三方交换机只根据目的地址(目的MAC地址)进行报文转发,第三方交换机不会解析该MAC报文中封装的数据单元,只有当本申请实施例中的通信设备(比如接入设备、汇聚设备或 核心设备)接收到目的地址是自己的MAC地址该MAC报文时,才对该MAC报文内部的数据单元进行解析。
目前只有PHY汇聚技术只有FLEXE。PHY汇聚必须以固定或约定的顺序穿插,然后对端按顺序进行Block重组为包。如果借用目前的L2/L3转发架构就必须要给每个Block分配地址和顺序标签,然后进行共享存储转发。这将导致开销大于平均净荷20%左右,效率劣于MAC转发,方案不可行。目前PHY汇聚(FLEXE)内部数据过程图3所示:每块数据大小固定,按照固定的顺序依次进入到不同的端口中。
基于上述内容和相同构思,本申请提供一种通信设备1300,用于执行上述方法中的复用侧和解复用侧中的任一个方案。图13示例性示出了本申请提供的一种通信设备的结构示意图,如图13所示,通信设备1300包括通信接口1301和处理器1302。该示例中的通信设备1300可以是上述内容中的第一通信设备或第三通信设备。
处理器1302是指能够执行相应动作的器件。比如可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
本申请实施例中的处理器1302还可以由硬件芯片来实现。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信接口1301可以为有线通信接入口,无线通信接口或其组合,其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为WLAN接口。通信接口中包括通信设备的下行端口和上行端口。
可选地,本申请实施例中可以包括存储器,也可以不包括存储器,比如处理器的功能由硬件芯片来实现的情况下,可以不包括存储器。当包括存储器时,存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。
可选地,处理器1302可以用于执行上述方案中所示实施例中的一个或多个步骤,或其中可选的实施方式,使得通信设备1300实现上述方法中复用侧或解复用侧通信设备的功能。当存在存储器时,存储器还可以用于存储程序指令,处理器1302调用该存储器中存储的程序指令,可以执行上述方案中所示实施例中的一个或多个步骤,或其中可选的实施方式,使得通信设备1300实现上述方法中复用侧或解复用侧通信设备的功能。
当通信设备1300用于执行复用侧方案,通信设备1300可以用于执行上述第一通信设备所执行的方案。通信接口1301用于获取Q条第一码块流,Q为大于1的整数,通信接口1301至少包括Q个下行端口,Q条第一码块流与Q个下行端口一一对应,Q个下行端口对应S个码块组,一个下行端口对应一个或多个码块组,Q条第一码块流中的一个码块对应一个码块组,S为不小于Q的整数;处理器1302,用于根据Q条第一码块流得到待发送的第二码块流,第二码块流包括L个码块集合;针对L个码块集合中的每个码块集合,码块集合包括S个码块组中每个码块组对应的K个码块,L和K均为正整数;其中,当该第一通信设备并非为核心设备,该S的值为在数据上行传输过程中该Q个下行端口对应的 码块组的总数量,该S个码块组中的每个码块组为在数据上行传输过程中该Q个下行端口对应的码块组;当该第一通信设备为核心设备,该S的值为在数据下行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据下行传输过程中该Q个下行端口对应的码块组。
当通信设备1300用于执行复用侧方案,通信设备1300可以用于执行上述第一通信设备所执行的方案。通信接口1301获取Q条第一码块流,Q为大于1的整数;处理器1302,根据Q条第一码块流得到待发送的第二码块流,其中,针对第二码块流中承载的来自Q条第一码块流中的一个码块:码块在第二码块流中的同步头区域承载的内容与码块在Q条第一码块流中的同步头区域承载的内容相同;码块在第二码块流中的非同步头区域承载的内容与码块在Q条第一码块流中的非同步头区域承载的内容相同;其中,当该第一通信设备并非为核心设备,该S的值为在数据上行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据上行传输过程中该Q个下行端口对应的码块组;当该第一通信设备为核心设备,该S的值为在数据下行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据下行传输过程中该Q个下行端口对应的码块组。
当通信设备1300用于执行复用侧方案,在一种可能地实现方式中,处理器1302,用于:针对Q条第一码块流循环执行L次取码块操作,得到第二码块流;其中,针对L次取码块操作中的每次取码块操作,根据S个码块组的排序,依序从Q条第一码块流中取出S个码块组中每个码块组所对应的K个码块。
当通信设备1300用于执行复用侧方案,在一种可能地实现方式中,处理器1302,用于:当在循环执行L次取码块操作的过程中未取到码块,在第二码块流中***空闲IDLE码块。
当通信设备1300用于执行复用侧方案,在一种可能地实现方式中,S个码块组对应S个缓存区,S个码块组与S个缓存区一一对应;处理器1302,还用于:根据S个码块组与S个缓存区的对应关系,将Q条第一码块流中的码块缓存至S个缓存区;根据S个码块组的排序,依序从S个缓存区中的每个缓存区取出K个码块。
当通信设备1300用于执行复用侧方案,在一种可能地实现方式中,处理器1302,用于:针对Q条第一码块流中的一个第一码块流,执行:当第一码块流对应一个码块组,将第一码块流中的码块缓存至码块组对应的缓存区;当第一码块流对应多个码块组,将第一码块流中的码块依次轮流缓存至多个码块组对应的多个缓存区。
当通信设备1300用于执行复用侧方案,在一种可能地实现方式中,处理器1302,还用于:针对Q条第一码块流中的每个码块,当码块的码块类型为空闲IDLE码块,丢弃码块。
当通信设备1300用于执行复用侧方案,在一种可能地实现方式中,通信接口1301,还用于:接收核心设备发送的第三码块流,第三码块流的头部和/或尾部包括一个码块集合,码块集合包括至少一个第三控制码块,包括有第三控制码块的码块集合包括:用于指示在数据上行传输过程中第一通信设备的下行端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中第一通信设备的下行端口与码块组的对应关系的指示信息。
当通信设备1300用于执行复用侧方案,在一种可能地实现方式中,通信设备通过Q个下行端口与Q个第二通信设备连接,Q个下行端口与Q个第二通信设备一一对应;处理 器1302,还用于:对第三码块流中除第三控制码块之外的码块解复用,得到Q条第四码块流,Q条第四码块流与Q个下行端口一一对应;通信接口1301,用于:通过Q个下行端口分发Q条第四码块流;其中,针对Q条第四码块流中的一个第四码块流,第四码块流的头部和/或尾部包括一个码块集合,码块集合包括至少一个第四控制码块,包括有第四控制码块的码块集合包括:用于指示在数据上行传输过程中该第四码块流对应的第二通信设备的下行端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中该第四码块流对应的第二通信设备的下行端口与码块组的对应关系的指示信息。
当通信设备1300用于执行解复用侧方案,通信设备1300可以用于执行上述第三通信设备所执行的方案。通信接口1301,用于获取第二码块流;其中,第二码块流包括L个码块集合;针对L个码块集合中的每个码块集合,码块集合包括S个码块组中每个码块组对应的K个码块,L个码块集合中的一个码块对应一个码块组,S为大于1的整数,L和K均为正整数;处理器1302,用于根据第二码块流得到Q条第一码块流,Q为大于1且不大于S的整数,Q条第一码块流对应S个码块组,一条第一码块流对应一个或多个码块组,其中,当该第三通信设备并非为核心设备,该S的值为在数据下行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据下行传输过程中该Q个下行端口对应的码块组;当该第一通信设备为核心设备,该S的值为在数据上行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据上行传输过程中该Q个下行端口对应的码块组。
当通信设备1300用于执行解复用侧方案,通信设备1300可以用于执行上述第三通信设备所执行的方案。通信接口1301,用于获取第二码块流,处理器1302,用于根据第二码块流得到Q条第一码块流,其中,Q为大于1的整数;针对第二码块流中承载的来自Q条第一码块流中的一个码块:该码块在第二码块流中的同步头区域承载的内容与码块在Q条第一码块流中的同步头区域承载的内容相同;该码块在第二码块流中的非同步头区域承载的内容与码块在Q条第一码块流中的非同步头区域承载的内容相同,其中,当该第三通信设备并非为核心设备,该S的值为在数据下行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据下行传输过程中该Q个下行端口对应的码块组;当该第一通信设备为核心设备,该S的值为在数据上行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据上行传输过程中该Q个下行端口对应的码块组。
当通信设备1300用于执行解复用侧方案,在一种可能地实现方式中,处理器1302,用于:针对L个码块集合中的每个码块集合:根据S个码块组的排序,依序从码块集合中取出S个码块组中每个码块组所对应的K个码块,得到Q条第一码块流。
当通信设备1300用于执行解复用侧方案,在一种可能地实现方式中,S个码块组对应S个缓存区,S个码块组与S个缓存区一一对应;处理器1302,还用于:根据S个码块组与S个缓存区的对应关系,将S个码块组中的每个码块组对应的K个码块缓存至码块组对应的缓存区。
当通信设备1300用于执行解复用侧方案,在一种可能地实现方式中,第二码块流在L个码块集合的头部和/或尾部还包括一个码块集合,码块集合包括至少一个第一控制码块,包括有第一控制码块的码块集合包括:用于指示通信设备的Q个下行端口与S个码块组的对应关系的指示信息;处理器1302,用于:根据包括有第一控制码块的码块集合,得到Q 个下行端口与S个码块组的对应关系;根据Q个下行端口与S个码块组的对应关系,将L个码块集合解复用为Q条第一码块流。
当通信设备1300用于执行解复用侧方案,在一种可能地实现方式中,通信设备通过Q个下行端口与Q个第四通信设备连接,Q个下行端口与Q个第四通信设备一一对应;通信接口1301,还用于:通过Q个下行端口分发Q条第一码块流;其中,一条第一码块流的头部和/或尾部包括一个码块集合,码块集合包括至少一个第五控制码块,包括有第五控制码块的码块集合包括用于指示在数据上行传输过程中该第一码块流对应的第四通信设备的下行端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中该第一码块流对应的第四通信设备的下行端口与码块组的对应关系的指示信息。
当通信设备1300执行复用侧和解复用侧的方案时,其它内容比如第一码块流、第二码块流的相关结构形式等可以参见上述图2至图12所描述的内容,在此不再赘述。
基于相同构思,本申请实施例提供一种通信设备,用于执行上述方法流程中的复用侧和解复用侧的任一个方案。图14示例性示出了本申请实施例提供的一种通信设备的结构示意图,如图14所示,通信设备1400包括通信接口1401和复用解复用单元1402。该示例中的通信设备1400可以是上述内容中的第一通信设备或第三通信设备,可以执行上述图5、图6、图9和图10对应的方案。
当通信设备1400用于执行复用侧方案,通信设备1400可以用于执行上述第一通信设备所执行的方案。通信接口1401,用于获取Q条第一码块流,Q为大于1的整数,通信接口至少包括Q个下行端口,Q条第一码块流与Q个下行端口一一对应,Q个下行端口对应S个码块组,一个下行端口对应一个或多个码块组,Q条第一码块流中的一个码块对应一个码块组,S为不小于Q的整数;复用解复用单元1402,用于根据Q条第一码块流得到待发送的第二码块流,第二码块流包括L个码块集合;针对L个码块集合中的每个码块集合,码块集合包括S个码块组中每个码块组对应的K个码块,L和K均为正整数,其中,当该通信设备1400并非为核心设备,该S的值为在数据上行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据上行传输过程中该Q个下行端口对应的码块组;当该通信设备1400为核心设备,该S的值为在数据下行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据下行传输过程中该Q个下行端口对应的码块组。
当通信设备1400用于执行复用侧方案,通信设备1400可以用于执行上述第一通信设备所执行的方案。通信接口1401用于获取Q条第一码块流,Q为大于1的整数;处理器1402,用于根据Q条第一码块流得到待发送的第二码块流,其中,针对第二码块流中承载的来自Q条第一码块流中的一个码块:码块在第二码块流中的同步头区域承载的内容与码块在Q条第一码块流中的同步头区域承载的内容相同;码块在第二码块流中的非同步头区域承载的内容与码块在Q条第一码块流中的非同步头区域承载的内容相同,其中,当该通信设备1400并非为核心设备,该S的值为在数据上行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据上行传输过程中该Q个下行端口对应的码块组;当该通信设备1400为核心设备,该S的值为在数据下行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据下行传输过程中该Q个下行端口对应的码块组。
当通信设备1400用于执行解复用侧方案,通信设备1400可以用于执行上述第三通信 设备所执行的方案。通信接口1401,用于获取第二码块流;其中,第二码块流包括L个码块集合;针对L个码块集合中的每个码块集合,码块集合包括S个码块组中每个码块组对应的K个码块,L个码块集合中的一个码块对应一个码块组,S为大于1的整数,L和K均为正整数;复用解复用单元1402,用于根据第二码块流得到Q条第一码块流,Q为大于1且不大于S的整数,Q条第一码块流对应S个码块组,一条第一码块流对应一个或多个码块组,其中,当该通信设备并非为核心设备,该S的值为在数据下行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据下行传输过程中该Q个下行端口对应的码块组;当该通信设备为核心设备,该S的值为在数据上行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据上行传输过程中该Q个下行端口对应的码块组。
当通信设备1400用于执行解复用侧方案,通信设备1400可以用于执行上述第三通信设备所执行的方案。通信接口1401,用于获取第二码块流,复用解复用单元1402用于根据第二码块流得到Q条第一码块流,其中,Q为大于1的整数;针对第二码块流中承载的来自Q条第一码块流中的一个码块:该码块在第二码块流中的同步头区域承载的内容与码块在Q条第一码块流中的同步头区域承载的内容相同;该码块在第二码块流中的非同步头区域承载的内容与码块在Q条第一码块流中的非同步头区域承载的内容相同,其中,当该通信设备并非为核心设备,该S的值为在数据下行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据下行传输过程中该Q个下行端口对应的码块组;当该通信设备为核心设备,该S的值为在数据上行传输过程中该Q个下行端口对应的码块组的总数量,该S个码块组中的每个码块组为在数据上行传输过程中该Q个下行端口对应的码块组。
应理解,以上各个第一通信设备和第二通信设备的单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本申请实施例中,通信接口1401可以由上述图13的通信接口1301实现,复用解复用单元1402可以由上述图13的处理器1302实现。也就是说,本申请实施例中通信接口1401可以执行上述图13的通信接口1301所执行的方案,本申请实施例中复用解复用单元1402可以执行上述图13的处理器1302所执行的方案,其余内容可以参见上述内容,在此不再赘述。
本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一方法实施例的数据传输方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现上述任一方法实施例的数据传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现、当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。指令可以存储在计算机存储介质中,或者从一个计算机存储介质向另一个计算机存储介质传输,例如,指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等 数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带、磁光盘(MO)等)、光介质(例如,CD、DVD、BD、HVD等)、或者半导体介质(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(Solid State Disk,SSD))等。
本领域内的技术人员应明白,本申请实施例可提供为方法、***、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (31)

  1. 一种数据传输方法,其特征在于,包括:
    第一通信设备获取Q条第一码块流,所述Q为大于1的整数,所述Q条第一码块流与Q个下行端口一一对应,所述Q个下行端口对应S个码块组,一个下行端口对应一个或多个码块组,所述Q条第一码块流中的一个码块对应一个码块组,所述S为不小于所述Q的整数;
    所述第一通信设备根据所述Q条第一码块流得到待发送的第二码块流,所述第二码块流包括L个码块集合;针对所述L个码块集合中的每个码块集合,所述码块集合包括所述S个码块组中每个码块组对应的K个码块,所述L和K均为正整数。
  2. 如权利要求1所述的方法,其特征在于,针对所述L个码块集合中的一个码块:
    所述码块在所述第二码块流中的同步头区域承载的内容与所述码块在所述Q条第一码块流中的同步头区域承载的内容相同;所述码块在所述第二码块流中的非同步头区域承载的内容与所述码块在所述Q条第一码块流中的非同步头区域承载的内容相同。
  3. 如权利要求1或2所述的方法,其特征在于,所述L个码块集合中的码块连续承载于所述第二码块流;
    所述第二码块流在所述L个码块集合的头部和/或尾部还包括一个码块集合,所述码块集合头部包括至少一个第一控制码块,包括有所述第一控制码块的所述码块集合用于承载以下内容中的任一项或任多项:
    用于指示所述Q个下行端口与所述S个码块组的对应关系的指示信息;
    用于指示所述S的值的指示信息;
    用于指示所述L的值的指示信息;
    用于指示所述S个码块组的指示信息;
    用于指示所述L个码块集合中一个码块集合中所述S个码块组的排序的指示信息。
  4. 如权利要求1-3任一项所述的方法,其特征在于,所述第一通信设备根据所述Q条第一码块流得到待发送的第二码块流,包括:
    所述第一通信设备针对所述Q条第一码块流循环执行L次取码块操作,得到所述第二码块流;
    其中,针对所述L次取码块操作中的每次取码块操作,所述第一通信设备根据所述S个码块组的排序,依序从所述Q条第一码块流中取出所述S个码块组中每个码块组所对应的K个码块。
  5. 如权利要求4所述的方法,其特征在于,所述S个码块组对应S个缓存区,所述S个码块组与所述S个缓存区一一对应;
    所述第一通信设备获取Q条第一码块流之后,根据所述Q条第一码块流得到待发送的第二码块流之前,还包括:
    所述第一通信设备根据所述S个码块组与所述S个缓存区的对应关系,将所述Q条第一码块流中的码块缓存至所述S个缓存区;
    所述第一通信设备根据所述S个码块组的排序,依序从所述Q条第一码块流中取出所述S个码块组中每个码块组所对应的K个码块,包括:
    所述第一通信设备根据所述S个码块组的排序,依序从所述S个缓存区中的每个缓存 区取出K个码块。
  6. 如权利要求1-5所述的方法,其特征在于,所述第一通信设备获取Q条第一码块流之后,根据所述Q条第一码块流得到待发送的第二码块流之前,还包括:
    针对所述Q条第一码块流中的一个码块,当所述码块的码块类型为空闲IDLE码块,所述第一通信设备丢弃所述码块。
  7. 如权利要求1-6任一项所述的方法,其特征在于,所述第一通信设备获取Q条第一码块流之前,还包括:
    所述第一通信设备接收核心设备发送的第三码块流,所述第三码块流的头部和/或尾部包括一个码块集合,所述码块集合包括至少一个第三控制码块,包括有所述第三控制码块的所述码块集合包括:用于指示在数据上行传输过程中第一通信设备的下行端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中第一通信设备的下行端口与码块组的对应关系的指示信息。
  8. 如权利要求7所述的方法,其特征在于,所述第一通信设备通过所述Q个下行端口与Q个第二通信设备连接,所述Q个下行端口与Q个第二通信设备一一对应;
    所述第一通信设备接收所述核心设备发送的第三码块流之后,还包括:
    所述第一通信设备对所述第三码块流中除所述第三控制码块之外的码块解复用,得到Q条第四码块流,所述Q条第四码块流与所述Q个下行端口一一对应;
    所述第一通信设备通过所述Q个下行端口分发所述Q条第四码块流;其中,针对所述Q条第四码块流中的一个第四码块流,所述第四码块流的头部和/或尾部包括一个码块集合,所述码块集合包括至少一个第四控制码块,包括有所述第四控制码块的所述码块集合包括:用于指示在数据上行传输过程中所述第四码块流对应的第二通信设备的下行端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中所述第四码块流对应的第二通信设备的下行端口与码块组的对应关系的指示信息。
  9. 一种数据传输方法,其特征在于,包括:
    第三通信设备获取第二码块流;其中,所述第二码块流包括L个码块集合;针对所述L个码块集合中的每个码块集合,所述码块集合包括S个码块组中每个码块组对应的K个码块,所述L个码块集合中的一个码块对应一个码块组,所述S为大于1的整数,所述L和K均为正整数;
    所述第三通信设备根据所述第二码块流得到Q条第一码块流,所述Q为大于1且不大于所述S的整数,所述Q条第一码块流对应所述S个码块组,一条第一码块流对应一个或多个码块组。
  10. 如权利要求9所述的方法,其特征在于,针对所述L个码块集合中的一个码块:
    所述码块在所述第二码块流中的同步头区域承载的内容与所述码块在所述Q条第一码块流中的同步头区域承载的内容相同;所述码块在所述第二码块流中的非同步头区域承载的内容与所述码块在所述Q条第一码块流中的非同步头区域承载的内容相同。
  11. 如权利要求9或10所述的方法,其特征在于,所述L个码块集合中的码块连续承载于所述第二码块流;
    所述第二码块流在所述L个码块集合的头部和/或尾部还包括一个码块集合,所述码块集合头部包括至少一个第一控制码块,包括有所述第一控制码块的所述码块集合用于承载以下内容中的任一项或任多项:
    用于指示Q个下行端口与所述S个码块组的对应关系的指示信息;所述Q个下行端口与所述Q个第一码块流一一对应;
    用于指示所述S的值的指示信息;
    用于指示所述L的值的指示信息;
    用于指示所述S个码块组的指示信息;
    用于指示所述L个码块集合中一个码块集合中所述S个码块组的排序的指示信息。
  12. 如权利要求9-11任一项所述的方法,其特征在于,所述第三通信设备根据所述第二码块流得到Q条第一码块流,包括:
    针对所述L个码块集合中的每个码块集合:
    所述第三通信设备根据所述S个码块组的排序,依序从所述码块集合中取出所述S个码块组中每个码块组所对应的K个码块,得到所述Q条第一码块流。
  13. 如权利要求12所述的方法,其特征在于,所述S个码块组对应S个缓存区,所述S个码块组与所述S个缓存区一一对应;
    所述第三通信设备根据所述S个码块组的排序,依序从所述码块集合中取出所述S个码块组中每个码块组所对应的K个码块之后,得到所述Q条第一码块流之前,还包括:
    根据所述S个码块组与所述S个缓存区的对应关系,将所述S个码块组中的每个码块组对应的K个码块缓存至所述码块组对应的缓存区。
  14. 如权利要求9-13任一项所述的方法,其特征在于,所述第三通信设备通过所述Q个下行端口与Q个第四通信设备连接,所述Q个下行端口与Q个第四通信设备一一对应;
    所述第三通信设备根据所述第二码块流得到Q条第一码块流之后,还包括:
    所述第三通信设备通过所述Q个下行端口分发所述Q条第一码块流;其中,一条第一码块流的头部和/或尾部包括一个码块集合,所述码块集合包括至少一个第五控制码块,包括有所述第五控制码块的所述码块集合包括:用于指示在数据上行传输过程中该第一码块流对应的第四通信设备的下行端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中该第一码块流对应的第四通信设备的下行端口与码块组的对应关系的指示信息。
  15. 一种通信设备,其特征在于,包括:
    通信接口,用于获取Q条第一码块流,所述Q为大于1的整数,所述通信接口至少包括Q个下行端口,所述Q条第一码块流与Q个下行端口一一对应,所述Q个下行端口对应S个码块组,一个下行端口对应一个或多个码块组,所述Q条第一码块流中的一个码块对应一个码块组,所述S为不小于所述Q的整数;
    处理器,用于根据所述Q条第一码块流得到待发送的第二码块流,所述第二码块流包括L个码块集合;针对所述L个码块集合中的每个码块集合,所述码块集合包括所述S个码块组中每个码块组对应的K个码块,所述L和K均为正整数。
  16. 如权利要求15所述的通信设备,其特征在于,针对所述L个码块集合中的一个码块:
    所述码块在所述第二码块流中的同步头区域承载的内容与所述码块在所述Q条第一码块流中的同步头区域承载的内容相同;所述码块在所述第二码块流中的非同步头区域承载的内容与所述码块在所述Q条第一码块流中的非同步头区域承载的内容相同。
  17. 如权利要求15或16所述的通信设备,其特征在于,所述L个码块集合中的码块 连续承载于所述第二码块流;
    所述第二码块流在所述L个码块集合的头部和/或尾部还包括一个码块集合,所述码块集合头部包括至少一个第一控制码块,包括有所述第一控制码块的所述码块集合用于承载以下内容中的任一项或任多项:
    用于指示所述Q个下行端口与所述S个码块组的对应关系的指示信息;
    用于指示所述S的值的指示信息;
    用于指示所述L的值的指示信息;
    用于指示所述S个码块组的指示信息;
    用于指示所述L个码块集合中一个码块集合中所述S个码块组的排序的指示信息。
  18. 如权利要求15-17任一项所述的通信设备,其特征在于,所述处理器,用于:
    针对所述Q条第一码块流循环执行L次取码块操作,得到所述第二码块流;
    其中,针对所述L次取码块操作中的每次取码块操作,根据所述S个码块组的排序,依序从所述Q条第一码块流中取出所述S个码块组中每个码块组所对应的K个码块。
  19. 如权利要求18所述的通信设备,其特征在于,所述S个码块组对应S个缓存区,所述S个码块组与所述S个缓存区一一对应;
    所述处理器,还用于:
    根据所述S个码块组与所述S个缓存区的对应关系,将所述Q条第一码块流中的码块缓存至所述S个缓存区;
    根据所述S个码块组的排序,依序从所述S个缓存区中的每个缓存区取出K个码块。
  20. 如权利要求15-19所述的通信设备,其特征在于,所述处理器,还用于:
    针对所述Q条第一码块流中的每个码块,当所述码块的码块类型为空闲IDLE码块,丢弃所述码块。
  21. 如权利要求15-20任一项所述的通信设备,其特征在于,当所述S个码块组中存在R个码块组满足预设条件,所述第二码块流中还包括:P个码块集合;
    其中,所述P为正整数,针对所述P个码块集合中的每个码块集合,所述码块集合包括(S-R)个码块组中每个码块组对应的K个码块;
    其中,所述R为不大于所述S的正整数;所述(S-R)个码块组为所述S个码块组中除所述R个码块组之外的码块组;
    所述R个码块组中的一个码块组满足预设条件是指,所述码块组对应的连续K*L个码块为IDLE码块。
  22. 如权利要求15-21任一项所述的通信设备,其特征在于,所述通信接口,还用于:
    接收核心设备发送的第三码块流,所述第三码块流的头部和/或尾部包括一个码块集合,所述码块集合包括至少一个第三控制码块,包括有所述第三控制码块的所述码块集合包括:用于指示在数据上行传输过程中第一通信设备的下行端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中第一通信设备的下行端口与码块组的对应关系的指示信息。
  23. 如权利要求22所述的通信设备,其特征在于,所述通信设备通过所述Q个下行端口与Q个第二通信设备连接,所述Q个下行端口与Q个第二通信设备一一对应;
    所述处理器,还用于:
    对所述第三码块流中除所述第三控制码块之外的码块解复用,得到Q条第四码块流, 所述Q条第四码块流与所述Q个下行端口一一对应;
    所述通信接口,用于:
    通过所述Q个下行端口分发所述Q条第四码块流;其中,针对所述Q条第四码块流中的一个第四码块流,所述第四码块流的头部和/或尾部包括一个码块集合,所述码块集合包括至少一个第四控制码块,包括有所述第四控制码块的所述码块集合包括:用于指示在数据上行传输过程中所述第四码块流对应的第二通信设备的下行端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中所述第四码块流对应的第二通信设备的下行端口与码块组的对应关系的指示信息。
  24. 一种通信设备,其特征在于,包括:
    通信接口,用于获取第二码块流;其中,所述第二码块流包括L个码块集合;针对所述L个码块集合中的每个码块集合,所述码块集合包括S个码块组中每个码块组对应的K个码块,所述L个码块集合中的一个码块对应一个码块组,所述S为大于1的整数,所述L和K均为正整数;
    处理器,用于根据所述第二码块流得到Q条第一码块流,所述Q为大于1且不大于所述S的整数,所述Q条第一码块流对应所述S个码块组,一条第一码块流对应一个或多个码块组。
  25. 如权利要求24所述的通信设备,其特征在于,针对所述L个码块集合中的一个码块:
    所述码块在所述第二码块流中的同步头区域承载的内容与所述码块在所述Q条第一码块流中的同步头区域承载的内容相同;所述码块在所述第二码块流中的非同步头区域承载的内容与所述码块在所述Q条第一码块流中的非同步头区域承载的内容相同。
  26. 如权利要求24或25所述的通信设备,其特征在于,所述L个码块集合中的码块连续承载于所述第二码块流;
    所述第二码块流在所述L个码块集合的头部和/或尾部还包括一个码块集合,所述码块集合头部包括至少一个第一控制码块,包括有所述第一控制码块的所述码块集合用于承载以下内容中的任一项或任多项:
    用于指示Q个下行端口与所述S个码块组的对应关系的指示信息,所述通信接口中至少包括所述Q个下行端口,所述Q个下行端口与所述Q个第一码块流一一对应;
    用于指示所述S的值的指示信息;
    用于指示所述L的值的指示信息;
    用于指示所述S个码块组的指示信息;
    用于指示所述L个码块集合中一个码块集合中所述S个码块组的排序的指示信息。
  27. 如权利要求24-26任一项所述的通信设备,其特征在于,所述处理器,用于:
    针对所述L个码块集合中的每个码块集合:
    根据所述S个码块组的排序,依序从所述码块集合中取出所述S个码块组中每个码块组所对应的K个码块,得到所述Q条第一码块流。
  28. 如权利要求27所述的通信设备,其特征在于,所述S个码块组对应S个缓存区,所述S个码块组与所述S个缓存区一一对应;
    所述处理器,还用于:
    根据所述S个码块组与所述S个缓存区的对应关系,将所述S个码块组中的每个码块 组对应的K个码块缓存至所述码块组对应的缓存区。
  29. 如权利要求24-28任一项所述的通信设备,其特征在于,所述通信设备通过所述Q个下行端口与Q个第四通信设备连接,所述Q个下行端口与Q个第四通信设备一一对应;
    所述通信接口,还用于:
    通过所述Q个下行端口分发所述Q条第一码块流;其中,一条第一码块流的头部和/或尾部包括一个码块集合,所述码块集合包括至少一个第五控制码块,包括有所述第五控制码块的所述码块集合包括:用于指示在数据上行传输过程中该第一码块流对应的第四通信设备的下行端口与码块组的对应关系的指示信息,和/或,用于指示在数据下行传输过程中该第一码块流对应的第四通信设备的下行端口与码块组的对应关系的指示信息。
  30. 一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令在被计算机调用时,使所述计算机执行如权利要求1至14任一权利要求所述的方法。
  31. 一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行权利要求1至14任一权利要求所述方法。
PCT/CN2019/104749 2018-09-28 2019-09-06 一种数据传输方法、通信设备及存储介质 WO2020063300A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP19866429.4A EP3813312A4 (en) 2018-09-28 2019-09-06 DATA TRANSMISSION PROCESS, COMMUNICATION DEVICE AND INFORMATION SUPPORT
KR1020217003751A KR102397719B1 (ko) 2018-09-28 2019-09-06 데이터 전송 방법, 통신 장치 및 저장 매체
JP2021532509A JP7167345B2 (ja) 2018-09-28 2019-09-06 データ伝送方法、通信機器、および記憶媒体
US17/159,945 US11451420B2 (en) 2018-09-28 2021-01-27 Data transmission method, communications device, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811142515.X 2018-09-28
CN201811142515.XA CN110971531B (zh) 2018-09-28 2018-09-28 一种数据传输方法、通信设备及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/159,945 Continuation US11451420B2 (en) 2018-09-28 2021-01-27 Data transmission method, communications device, and storage medium

Publications (1)

Publication Number Publication Date
WO2020063300A1 true WO2020063300A1 (zh) 2020-04-02

Family

ID=69951165

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/104749 WO2020063300A1 (zh) 2018-09-28 2019-09-06 一种数据传输方法、通信设备及存储介质

Country Status (6)

Country Link
US (1) US11451420B2 (zh)
EP (1) EP3813312A4 (zh)
JP (1) JP7167345B2 (zh)
KR (1) KR102397719B1 (zh)
CN (1) CN110971531B (zh)
WO (1) WO2020063300A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202333459A (zh) * 2022-01-05 2023-08-16 大陸商華為技術有限公司 編碼方法、解碼方法、裝置、設備、系統及可讀儲存介質

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411454A (zh) * 2015-07-30 2017-02-15 华为技术有限公司 用于数据传输的方法、发送机和接收机
CN106612203A (zh) * 2015-10-27 2017-05-03 中兴通讯股份有限公司 一种处理灵活以太网客户端数据流的方法及装置
CN106712899A (zh) * 2016-11-25 2017-05-24 浙江宇视科技有限公司 一种端口速率调整方法及设备
US20170289045A1 (en) * 2016-03-30 2017-10-05 Intel Corporation Switch, devices and methods for receiving and forwarding ethernet packets
CN107438029A (zh) * 2016-05-27 2017-12-05 华为技术有限公司 转发数据的方法和设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826201B2 (en) * 2000-12-19 2004-11-30 Nortel Networks Limited Multiplexing SONET /SDH data streams using independent encoding schemes
US8547829B1 (en) * 2010-11-22 2013-10-01 Juniper Networks, Inc. Dynamically enhanced network performance for distributed wireless local area network (WLAN) architecture
US8958337B1 (en) * 2010-12-23 2015-02-17 Juniper Networks, Inc. Scalable method to support multi-device link aggregation
WO2013177736A1 (zh) * 2012-05-28 2013-12-05 华为技术有限公司 光网络终端管理控制接口报文传递方法、***及相应的设备
US9007941B1 (en) * 2012-07-25 2015-04-14 Cisco Technology, Inc. Self-organizing and scalable MPLS VPN transport for LTE
US9954644B2 (en) 2013-01-04 2018-04-24 Huawei Technologies Co., Ltd. Ethernet data processing method, physical layer chip and Ethernet equipment
US9288148B1 (en) * 2014-10-30 2016-03-15 International Business Machines Corporation Hierarchical network, service and application function virtual machine partitioning across differentially sensitive data centers
CN106301678B (zh) * 2015-06-08 2020-02-14 华为技术有限公司 一种数据处理的方法、通信设备及通信***
EP4060914A1 (en) * 2015-06-30 2022-09-21 Ciena Corporation Flexible ethernet systems and methods for time transfer
CN106330630B (zh) * 2015-07-03 2019-09-03 华为技术有限公司 传输灵活以太网的数据流的方法、发射机和接收机
CN106341207A (zh) * 2015-07-06 2017-01-18 华为技术有限公司 一种编码块数据流的发送和接收方法、设备和***
US10080215B2 (en) * 2016-08-05 2018-09-18 Nokia Technologies Oy Transportation of user plane data across a split fronthaul interface
US10305633B2 (en) * 2016-09-19 2019-05-28 Qualcomm Incorporated Per-symbol K-bit interleaver
CN108243128B (zh) * 2016-12-27 2020-10-23 华为技术有限公司 一种传输无线接口前传信号的方法、网络设备和***
CN108462646B (zh) 2017-02-17 2020-08-25 华为技术有限公司 一种报文处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411454A (zh) * 2015-07-30 2017-02-15 华为技术有限公司 用于数据传输的方法、发送机和接收机
CN106612203A (zh) * 2015-10-27 2017-05-03 中兴通讯股份有限公司 一种处理灵活以太网客户端数据流的方法及装置
US20170289045A1 (en) * 2016-03-30 2017-10-05 Intel Corporation Switch, devices and methods for receiving and forwarding ethernet packets
CN107438029A (zh) * 2016-05-27 2017-12-05 华为技术有限公司 转发数据的方法和设备
CN106712899A (zh) * 2016-11-25 2017-05-24 浙江宇视科技有限公司 一种端口速率调整方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3813312A4 *

Also Published As

Publication number Publication date
EP3813312A1 (en) 2021-04-28
JP2021534702A (ja) 2021-12-09
US20210152406A1 (en) 2021-05-20
KR102397719B1 (ko) 2022-05-12
KR20210024178A (ko) 2021-03-04
US11451420B2 (en) 2022-09-20
EP3813312A4 (en) 2021-10-20
CN110971531B (zh) 2021-09-21
JP7167345B2 (ja) 2022-11-08
CN110971531A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
US11316545B2 (en) Data transmission method, communications device, and storage medium
CN113300810B (zh) 一种传输速率的调整方法及网络设备
WO2022022263A1 (zh) 一种传输数据的方法和设备
WO2019019906A1 (zh) 一种通信方法、设备及存储介质
US11381338B2 (en) Data transmission method, communications device, and storage medium
WO2021219079A1 (zh) 业务数据处理、交换、提取方法及设备、计算机可读介质
WO2022042743A1 (zh) 数据传输方法和装置、电子设备、计算机可读介质
US11349595B2 (en) Service multiplexing method, service demultiplexing method, and related device
WO2020063300A1 (zh) 一种数据传输方法、通信设备及存储介质
WO2023109424A1 (zh) 一种数据传输的方法以及相关装置
WO2019011003A1 (zh) 一种光网络中光监控信道处理的方法和装置
WO2024001220A1 (zh) 切片方法、业务处理方法、通信节点及存储介质
WO2020114084A1 (zh) 一种报文转发方法和装置
CN118054891A (zh) 时隙调整方法、通信装置及计算机可读存储介质

Legal Events

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

Ref document number: 19866429

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019866429

Country of ref document: EP

Effective date: 20210121

ENP Entry into the national phase

Ref document number: 20217003751

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2021532509

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE