CN113783657A - 一种数据流处理方法及装置 - Google Patents
一种数据流处理方法及装置 Download PDFInfo
- Publication number
- CN113783657A CN113783657A CN202110850648.8A CN202110850648A CN113783657A CN 113783657 A CN113783657 A CN 113783657A CN 202110850648 A CN202110850648 A CN 202110850648A CN 113783657 A CN113783657 A CN 113783657A
- Authority
- CN
- China
- Prior art keywords
- data stream
- sub
- alignment mark
- data
- streams
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0041—Delay of data signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/14—Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0036—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/08—Speed or phase control by synchronisation signals the synchronisation signals recurring cyclically
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/041—Speed or phase control by synchronisation signals using special codes as synchronising signal
- H04L2007/045—Fill bit or bits, idle words
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Time-Division Multiplex Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种数据流处理方法包括:第一芯片获取第一数据流,第一数据流包括第一对齐标志;第一芯片在第一数据流中周期性的***第二对齐标志,得到第二数据流,并通过多条物理通道发送第二数据流,多条物理通道的数目不等于2n,n为正整数;第二对齐标志的***周期和每个第二对齐标志的大小根据第一条件或第二条件进行确定,第一条件为多条物理通道的数目,第二条件为多条物理通道的数目以及第二数据流的速率与第一数据流的速率的比值,第二对齐标志的***周期和每个第二对齐标志的大小均为多条物理通道的数目的整数倍;第二数据流的速率大于或等于第一数据流的速率,第二数据流的速率对应的单位时间内的流量为物理通道的数目的整数倍。
Description
本申请是申请号为2019年12月06日提交的申请号为201911243779.9、发明名称为“一种数据流处理方法及装置”的中国专利申请的分案。
技术领域
本申请涉及通信领域,特别是涉及一种数据流处理方法及装置。
背景技术
为了实现以太网接口数据流的高速传输,数据流可以通过多条物理通道(physical lane,PL)进行传输。发送端可以将一条数据流转换为多条子数据流,并通过多条物理通道同时向接收端发送该多条子数据流。而数据流在从发送端传输到接收端的过程中,不同的物理通道可能会产生不同的时延,导致多条子数据流到达接收端的时间不同。为了能够让接收端将多条子数据流恢复为一条数据流,目前常用的方式是在数据流中***对齐标志(alignment marker,AM),这样,接收端可以根据子数据流中的对齐标志将子数据流对齐,从而将对齐的子数据流恢复为数据流。
但是这种方式只能适用于物理通道的数目为2n(n为正整数)情况,如果物理通道的数目不为2n,则接收端无法通过上述方法恢复数据流。
发明内容
本申请实施例提供了一种数据流处理方法及装置,实现在物理通道的数目不为2n时,接收端仍然能够恢复出数据流的目的。
第一方面,本申请实施例提供了一种数据流处理方法,该方法可以应用于第一芯片,第一芯片可以是专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、中央处理器(centralprocessing unit,CPU)芯片、可编程逻辑器件(programmable logic device,PLD)等,本申请不做具体限定。该方法包括如下步骤:首先,第一芯片获取第一数据流,第一数据流包括第一对齐标志。第一数据流为根据传统方式得到的数据流,其周期和大小均为2n倍。其次,第一芯片在第一数据流中周期性的***第二对齐标志,得到第二数据流。最后,第一芯片通过多条物理通道发送第二数据流,多条物理通道的数目不等于2n,其中,n为正整数。在本申请实施例中,为了实现通过非2n条物理通道发送第一数据流的目的,第二对齐标志的***周期和每个第二对齐标志的大小根据第一条件或第二条件进行确定,第一条件为多条物理通道的数目,第二条件为多条物理通道的数目以及第二数据流的速率与第一数据流的速率的比值。其中,第一条件和第二条件共同的地方是第二对齐标志的***周期和每个第二对齐标志的大小均为多条物理通道的数目的整数倍,所以第二对齐标志可以平均的分配到每条物理通道上,这样,接收第二数据流的接收端能够根据第二对齐标志对齐第二子数据流,从而根据对齐的第二子数据流将第一数据流恢复出来,实现了在不修改第一对齐标志***周期和大小的前提下,物理通道的数目不局限于2n,提高了数据流传输的灵活性。此外,第二条件中还包括第二数据流的速率和第一数据流的速率的比值,其中,第二数据流的速率大于或等于第一数据流的速率,第二数据流的速率对应的单位时间内的流量为物理通道的数目的整数倍,在保证第二对齐标志被平均的分配到各个物理通道的同时,保证整条第二数据流能够被平均的分配到各个物理通道上,实现通过非2n条物理通道发送数据流的目的。
在本申请实施例中,在第一数据流中***第二对齐标志可以有两种可能的实现方式:
作为第一种可能的实现方式:第一芯片先将第一数据流转换为多条第一子数据流,然后再在第一子数据流中***第二子对齐标志。具体的,第二对齐标志包括多个第二子对齐标志,多个第二子对齐标志的数目为多条物理通道的数目,每个第二子对齐标志的大小为m个数据块的大小,其中m为第二对齐标志的大小与所述多条物理通道的数目的比值,m为正整数。首先,第一芯片根据多条物理通道的数目将第一数据流转换为多条第一子数据流,多条第一子数据流中的每条第一子数据流分别对应一个物理通道。然后,第一芯片在每条第一子数据流中分别周期性的***第二子对齐标志,得到多条第二子数据流。最后,第一芯片通过多条物理通道发送多条第二子数据流。
另外一种实现方式是,先在第一数据流中***第二对齐标志,得到第二数据流,然后再将第二数据流转换为多条第二子数据流,并通过多条物理通道分发多条第二子数据流。
在本申请实施例中,第二对齐标志的位置和第一对齐标志的位置可以是关联的。具体的,第一芯片先可以根据第一数据流中第一对齐标志的位置和预设距离确定第二对齐标志的***位置。然后,第一芯片根据第二对齐标志的***位置在第一数据流中周期性的***第二对齐标志,第二对齐标志的***周期大于或等于第一对齐标志的***周期与多条物理通道的数目的公倍数。若第二对齐标志的位置和第一对齐标志的位置之间关联,那么接收端可以根据第二对齐标志的位置识别出第一对齐标志的位置,以便后续处理。或者,在第二数据流不包括第一对齐标志时,接收端可以根据第二对齐标志的位置恢复出第一对齐标志,从而实现对第一数据流的恢复。
在本申请实施例中,当第二数据流的速率大于第一数据流的速率时,方法还包括:第一芯片在第一数据流中***填充数据,填充数据例如为随机序列。通过在第一数据流中***填充数据,使的第二数据流在单位时间内的流量能够被物理通道的数目整除,从而实现第二数据流在多条物理通道中的分发。可选的,第一芯片可以在第一数据流中周期性的***填充数据,也可以非周期***,本申请实施例不做具体限定。
在本申请实施例中,当第二数据流的速率等于第一数据流的速率时,由于***了第二对齐标志,所以需要相应的删除第一对齐标志。
作为其中一种可能实现的方式,第一芯片可以在***第二对齐标志之前删除第一对齐标志。具体的,第一芯片先删除第一数据流中的第一对齐标志,得到第三数据流。然后,第一芯片在第三数据流中周期性的***第二对齐标志,得到第二数据流。相应的,第二对齐标志的大小与第二对齐标志的周期的乘积等于第一对齐标志的大小与第一对齐标志与周期的乘积,以保证第二数据流的速率等于第一数据流的速率。
作为另外一种可能的实现方式,第一芯片可以先***第二对齐标志,再删除第一对齐标志。具体的,第一芯片先删除第二数据流中的第一对齐标志,得到第四数据流。然后,第一芯片通过多条物理通道发送第四数据流。同样的,第二对齐标志的大小与第二对齐标志的周期的乘积等于第一对齐标志的大小与第一对齐标志与周期的乘积,以保证第二数据流的速率等于第一数据流的速率。
第二方面,本申请实施例提供了一种数据流处理方法,该方法可以应用于第二芯片,第二芯片的具体实现和第一芯片类似,请见上文描述,此处不再赘述。该方法可以包括如下步骤:首先,第二芯片接收多条第二子数据流,多条第二子数据流中的每条第二子数据流均包括第二子对齐标志。然后,第二芯片根据多条第二子数据流中的第二子对齐标志将多条第二子数据流对齐。最后,第二芯片将多条第二子数据流转换为第一数据流,第一数据流不包括第二子对齐标志。在本申请实施例中,由于第二子对齐标志在多条第二子数据流中是对齐的,所以可以根据第二子对齐标志对齐第二子数据流,并且,由于第二子对齐标志的大小和周期均不为2n倍,不符合现有标准的数据流中对齐标志的规范,所以需要删除第二子对齐标志,以恢复为符合标准规范的第一数据流。
在本申请实施例中,第二芯片将多条第二子数据流转换为第一数据流可以有两种可能的实现方式:
作为其中一种可能的实现方式,第二芯片可以先在多条第二子数据流中删除第二子对齐标志,然后再合成为一条数据流。具体的,第二芯片先删除多条第二子数据流中的第二子对齐标志,得到多条第一子数据流。然后,第二芯片将多条第一子数据流合成第一数据流。
作为另外一种可能的实现方式,第二芯片可以先将第二子数据流合成为一条数据流,然后再删除其中的第二对齐标志。具体的,第二芯片先将多条第二子数据流合成第二数据流,多条子数据流中的第二子对齐标志合成为第二对齐标志。然后,第二芯片将第二数据流中的第二对齐标志删除,得到第一数据流。
在本申请实施例中,当第二子数据流还包括填充数据时,第二芯片还需要删除填充数据,以恢复标准的第一数据流。与删除第二对齐标志的类似,删除填充数据也可以有两种实现方式:
作为其中一种可能的实现方式,第二芯片先删除多条第二子数据流中的填充数据,得到第一子数据流。然后,第二芯片将第一子数据流合成第一数据流。
如果第二子对齐标志的位置和填充数据的位置之间是关联的,那么第二芯片根据第二子对齐标志的位置和第一预设位置关系删除多条第二子数据流中的填充数据,第一预设位置关系为第二子对齐标志和填充数据之间的位置关系。第二芯片可以通过上述方式快速的定位填充数据,以对填充数据进行删除。
作为另外一种可能的实现方式,第二芯片先将多条第二子数据流合成第二数据流,然后,第二芯片将第二数据流中的填充数据删除,得到第一数据流。
如果第二子对齐标志的位置和填充数据的位置之间是关联的,那么第二芯片根据第二对齐标志的位置和第二预设位置关系删除多条第二数据流中的填充数据,第二预设位置关系为第二对齐标志和填充数据之间的位置关系。第二芯片可以通过上述方式快速的定位填充数据,以对填充数据进行删除。
在本申请实施例中,第二子数据流中可以不包括第一对齐标志,在这种情况下,需要对第一对齐标志进行恢复。
作为其中一种可能的实现方式,第二芯片可以先删除第二子对齐标志,然后再恢复第一对齐标志。具体的,第二芯片删除多条第二子数据流中的第二子对齐标志,并根据第二子对齐标志的位置和第三预设位置关系在第二子数据流中***第一子对齐标志,得到第一子数据流,第三预设位置关系为第一子对齐标志的***位置与第二子对齐标志的位置之间的关系。
作为另外一种可能的实现方式,第二芯片可以先恢复第一对齐标志,然后再删除第二子对齐标志。具体的,第二芯片将第二数据流中的第二对齐标志删除,并根据第二对齐标志的位置和第四预设位置关系在第二数据流中***第一对齐标志,得到第一数据流,第四预设位置关系为第一对齐标志的***位置与第二对齐标志的位置之间的关系。
第三方面,本申请实施例提供了一种数据流处理装置,该装置应用于第一芯片。该装置包括获取单元、***单元和发送单元。所述获取单元用于获取第一数据流,第一数据流包括第一对齐标志。所述***单元用于在第一数据流中周期性的***第二对齐标志,得到第二数据流。所述发送单元用于通过多条物理通道发送第二数据流,多条物理通道的数目不等于2n,其中,n为正整数。第二对齐标志的***周期和每个第二对齐标志的大小根据第一条件或第二条件进行确定。第一条件为多条物理通道的数目,第二条件为多条物理通道的数目以及第二数据流的速率与第一数据流的速率的比值。其中,第二对齐标志的***周期和每个第二对齐标志的大小均为多条物理通道的数目的整数倍。第二数据流的速率大于或等于第一数据流的速率,第二数据流的速率对应的单位时间内的流量为物理通道的数目的整数倍。
可选的,第二对齐标志包括多个第二子对齐标志,多个第二子对齐标志的数目为多条物理通道的数目,每个第二子对齐标志的大小为m个数据块的大小,其中m为第二对齐标志的大小与所述多条物理通道的数目的比值,m为正整数。所述***单元用于根据多条物理通道的数目将第一数据流转换为多条第一子数据流,多条第一子数据流中的每条第一子数据流分别对应一个物理通道;并在每条第一子数据流中分别周期性的***第二子对齐标志,得到多条第二子数据流;所述发送单元用于通过多条物理通道发送多条第二子数据流。
可选的,该装置还包括确定单元。所述用于根据第一数据流中第一对齐标志的位置和预设距离确定第二对齐标志的***位置。所述***单元用于根据第二对齐标志的***位置在第一数据流中周期性的***第二对齐标志,第二对齐标志的***周期大于或等于第一对齐标志的***周期与多条物理通道的数目的公倍数。
可选的,当第二数据流的速率大于第一数据流的速率时,所述***单元还用于在第一数据流中***填充数据。
可选的,所述***单元用于在第一数据流中周期性的***填充数据。
可选的,填充数据为随机序列。
可选的,当第二数据流的速率等于第一数据流的速率时,所述***单元用于删除第一数据流中的第一对齐标志,得到第三数据流;并在第三数据流中周期性的***第二对齐标志,得到第二数据流,第二对齐标志的大小与第二对齐标志的周期的乘积等于第一对齐标志的大小与第一对齐标志与周期的乘积。
可选的,当第二数据流的速率等于第一数据流的速率时,所述发送单元用于删除第二数据流中的第一对齐标志,得到第四数据流,并通过多条物理通道发送第四数据流,第二对齐标志的大小与第二对齐标志的周期的乘积等于第一对齐标志的大小与第一对齐标志与周期的乘积。
第四方面,本申请实施例提供了一种数据流处理装置,该装置应用于第二芯片。该装置包括接收单元、对齐单元和转换单元。所述接收单元用于接收多条第二子数据流,多条第二子数据流中的每条第二子数据流均包括第二子对齐标志。所述对齐单元用于根据多条第二子数据流中的第二子对齐标志将多条第二子数据流对齐。所述转换单元用于将多条第二子数据流转换为第一数据流,第一数据流不包括第二子对齐标志。
可选的,所述转换单元用于删除多条第二子数据流中的第二子对齐标志,得到多条第一子数据流;将多条第一子数据流合成第一数据流。
可选的,所述转换单元用于:将多条第二子数据流合成第二数据流,多条子数据流中的第二子对齐标志合成为第二对齐标志;将第二数据流中的第二对齐标志删除,得到第一数据流。
可选的,第二子数据流还包括填充数据;所述转换单元用于删除多条第二子数据流中的填充数据,得到第一子数据流;将第一子数据流合成第一数据流。
可选的,所述转换单元用于根据第二子对齐标志的位置和第一预设位置关系删除多条第二子数据流中的填充数据,第一预设位置关系为第二子对齐标志和填充数据之间的位置关系。
可选的,第二子数据流还包括填充数据;所述转换单元用于将多条第二子数据流合成第二数据流,并将第二数据流中的填充数据删除,得到第一数据流。
可选的,将第二数据流中的填充数据删除包括:根据第二对齐标志的位置和第二预设位置关系删除多条第二数据流中的填充数据,第二预设位置关系为第二对齐标志和填充数据之间的位置关系。
可选的,删除多条第二子数据流中的第二子对齐标志,得到第一子数据流包括:删除多条第二子数据流中的第二子对齐标志,并根据第二子对齐标志的位置和第三预设位置关系在第二子数据流中***第一子对齐标志,得到第一子数据流,第三预设位置关系为第一子对齐标志的***位置与第二子对齐标志的位置之间的关系。
可选的,将第二数据流中的第二对齐标志删除,得到第一数据流包括:将第二数据流中的第二对齐标志删除,并根据第二对齐标志的位置和第四预设位置关系在第二数据流中***第一对齐标志,得到第一数据流,第四预设位置关系为第一对齐标志的***位置与第二对齐标志的位置之间的关系。
第五方面,本申请实施例提供了一种计算机可读存储介质,包括计算机程序,当其在计算机上运行时,使得计算机执行上述数据流处理方法。
第六方面,本申请实施例提供了一种网络设备,包括上述应用于第一芯片的数据流处理装置和/或第二芯片的数据流处理装置。
附图说明
图1为本申请实施例提供的一条数据流的示意图;
图2为本申请实施例提供的将图1的数据流转换成16条子数据流之后其中任意两条子数据流的示意图;
图3为本申请实施例提供的将图1的数据流转换成12条子数据流之后其中任意三条子数据流的示意图;
图4为本申请实施例提供的网络设备100的示意图;
图5为本申请实施例提供的数据流处理方法的流程图;
图6为本申请实施例提供的在第二子数据流中***第二子对齐标志的示意图;
图7为本申请实施例提供的第二对齐标志的***位置与第一对齐标志的位置的示意图;
图8为本申请实施例提供的在第一子数据流中***填充数据和第二对齐标志的示意图;
图9为本申请实施例提供的一种数据流处理装置的结构框图;
图10为本申请实施例提供的另一种数据流处理装置的结构框图;
图11为本申请实施例提供的数据流处理设备的示意图。
具体实施方式
为了方便理解,数据流可以视为由多个连续的数据块组成,每个数据块的大小为单位时间内数据流的流量,例如一个数据块为1bit、8bit或10bit等。数据流在被分发到物理通道时,可以以数据块为单位进行分发,也可以按照1bit为单位进行分发。
传统方式中,数据流中对齐标志的大小和周期是按照物理通道的数目,即2n确定的。例如,当物理通道的数目为16条时,对齐标志的周期为16t(t为正整数),即数据流中每隔16t个数据块***一个对齐标志。每个对齐标志的大小为16w(w为正整数)个数据块的大小(为了描述方便,后续提到对齐标志的大小时,均指以1个数据块的大小为单位)。参见图1,该图为一条数据流的示意图,在该图中,白色的方块代表数据流中的数据块,黑色的方块代表对齐标志。参见图2,该图为将该条数据流转换成16条子数据流之后其中任意两条子数据流的示意图。从图2可以看出,由于对齐标志的大小为16w个数据块的大小,所以每个对齐标志都可以被平均分配到每条子数据流中。而且,由于对齐标识的周期是物理通道的数目的整数倍,所以对齐标志在每条子数据流的位置是相同的,即这两条子数据流的对齐标志是对齐的。当接收端接收到如图2所示的16条子数据流,就可以根据这16条子数据流中的对齐标志将这16条子数据流对齐,从而恢复出图1所示的数据流。
然而,如果物理通道的数目不是2n,那么当对齐标志的大小和周期仍然为2n时,在数据流转换为多条子数据流之后,子数据流中的对齐标志是不对齐的,所以当接收端接收到多条子数据流之后,无法根据对齐标志恢复出原来的数据流。
假设物理通道的数目为12条,对齐标志的周期仍然为16t(t为正整数)个数据块,对齐标志的大小仍然为16w,此时将数据流转换为12条子数据流之后,对齐标志无法平均分配到每条子数据流中,且对齐标志在每条子数据流中的位置也不同。参见图3,该图为其中3条子数据流的示意图。可以看出,在这3条子数据流中的对齐标志并没有对齐,所以接收端无法根据这3条子数据流中的对齐标志恢复图1的数据流。
为了解决该技术问题,本申请实施例提供了一种数据流处理方法及装置,实现当物理通道的数目不为2n时,接收端仍然能够恢复出数据流的目的。
为方便理解,首先对本申请实施例的应用场景进行介绍。
参见图4,该图为网络设备100的示意图。该网络设备100可以为路由器、交换机等。网络设备100包括芯片101和芯片102,芯片101和芯片102可以通过底板(backbone)或并行总线等连接。
其中,芯片101包括至少一个接口,该至少一个接口可以例如为以太网(thernet)接口。每个接口可以包括多条物理通道,用于发送数据流。每条物理通道可以分别对应一个串行器(Serializer)和一个解串行器(Deserializer),串行/解串器简称SerDes。
芯片102包括至少一个接口,该至少一个接口可以例如为以太网(Ethernet)接口。其中每个接口可以包括多条物理通道,用于接收数据流。每条物理通道可以分别对应一对SerDes。
芯片101和芯片102可以是专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、中央处理器(central processing unit,CPU)芯片、可编程逻辑器件(programmable logic device,PLD)等,本申请不做具体限定。
当然,可以理解的是,图4所示的应用场景并不构成对本申请技术方案的限定,本领域技术人员可以根据具体情况自行设计,例如芯片101和芯片102分布在不同的网络设备中等。
参见图5,该图为本申请实施例提供的一种数据流处理方法的流程图。
下面结合图4和图5对本申请实施例提供的数据流处理方法进行介绍。
S101:第一芯片获取第一数据流,第一数据流包括第一对齐标志。
在本申请实施例中,第一芯片可以例如为图4所示实施例中的芯片101。第一芯片获取第一数据流,第一数据流中包括的第一对齐标志的周期为S*2n,即S的2n倍;第一对齐标志的大小为L*2n,即L的2n倍;其中S和L为正整数。第一数据流为根据传统方式得到的数据流。在本申请实施例中,多条物理通道的数目不等于2n,其中,n为正整数。所以,仅凭第一对齐标志无法在接收端恢复出第一数据流。
另外,在本申请实施例中,物理通道的数目可以例如为SerDes的数目。比如第一芯片的某个400G接口采用6对SerDes传输数据,那么该端口的物理通道的数目为6。
S102:第一芯片在第一数据流中周期性的***第二对齐标志,得到第二数据流。
在本申请实施例中,第二对齐标志可以与第一对齐标志相同,也可以不同,具体请见下文描述。如果不相同,那么第二对齐标志需要满足的条件是能够从第二数据流中识别出来,且区别于第一对齐标志。
S103:第一芯片通过多条物理通道向第二芯片发送第二数据流。
为了能够让接收端恢复出第一数据流,在本申请实施例中,第一芯片在第一数据流中周期性的***第二对齐标志,得到第二数据流。
第二对齐标志的***周期为多条物理通道的数目的整数倍。并且,每个第二对齐标志的大小也为多条物理通道的数目的整数倍。在本申请实施例中,第二对齐标志的大小是指第二对齐标志包括的数据块的数目。第二对齐标志包括的数据块能够被平均的分配到多条物理通道上,且是对齐的。
例如,若物理通道的数目为12条,第一对齐标志的周期为16个数据块,那么第二对齐标志的周期可以例如为48、96或144个数据块等。假如第二对齐标志的周期为48个数据块,那么表示每隔48个数据块可以***一个第二对齐标志。需要注意的是,这48个数据块包括第一对齐标志。
再例如,第二对齐标志的***周期可以具体根据第一对齐标志的周期和多条物理通道的数目的公倍数以及第一数据流中前向纠错码(forward error correction,FEC)码字(codeword)中大小为10bit的符号的个数和第一数据流的速率得到。具体参见如下公式:
T’=h*T*Z*x/N=h*T*Z/2n
其中,T’为第二对齐标志的***周期,T为第一对齐标志的周期,h和Z均为系数,h为正整数,Z=xy/z。x与物理通道的数目相关,物理通道的数目可以表达为N=x*2n。例如假设物理通道的数目为12,那么x可以为3。y为系数,其数值为正整数。z与接口类型相关,z=j*l,其中,l为系数,其数值为正整数。j为第一数据流中FEC码字中大小为10bit的符号的个数和第一数据流速率的公约数。例如对于RS(544,514)FEC编码,544为FEC码字中大小为10bit的符号的个数。第一数据流速率为4*106.25Gbps,所以j=17。例如对于RS(528,514)FEC编码,第一数据流速率为4*103.125Gbps,那么j=33。
例如第一对齐标志T的周期:第一数据流中每5440*4096bit数据中包含1个第一对齐标志,如果物理通道的数目为12条,那么第二对齐标志的***周期T’:每5440*4096*18/17*3bit包含1个第二对齐标志。
在本申请实施例中,第一芯片***第二对齐标志可以有两种可能的实现方式:
作为其中一种可能的实现方式,每个第二对齐标志由多个第二子对齐标志组成,多个第二子对齐标志的数目为物理通道的数目,每个第二子对齐标志的大小为第二对齐标志的大小与多条物理通道的数目的比值。例如,每个第二对齐标志的大小为12*12个数据块的大小,若物理通道的数目为12条,那么每个第二对齐标志可以视为由12个子对齐标志组成,每个第二子对齐标志的大小为12个数据块的大小。
相应的,S102和S103可以具体为:第一芯片根据多条物理通道的数目将第一数据流转换为多条第一子数据流,多条第一子数据流中的每条第一子数据流分别对应一个物理通道。在本申请实施例中,由于多条物理通道的数目不等于2n,所以多条第一子数据流中的第一对齐标志并不是对齐的,例如图3中的黑色方块没有对齐。所以,为了能够对齐多条第一子数据流,在本申请实施例中,第一芯片在每条第一子数据流中分别周期性的***第二子对齐标志,得到多条第二子数据流。第二子对齐标志的***周期为第二对齐标志的***周期与物理通道的数目的比值。
当第一芯片以相同的周期在每条第一子数据流中***第二子对齐标志之后,第二子对齐标志为对齐的。然后,第一芯片通过多条物理通道发送多条第二子数据流。
参见图6,该图为在第二子数据流中***第二子对齐标志的示意图。其中填充斜线的方块表示第二子对齐标志。第二子对齐标志在第二子数据流中的位置相同,即第二子对齐标志在第二子数据流中是对齐的,这样,接收端在接收到第二子数据流之后,就可以根据第二子数据流中的第二子对齐标志将第一数据流恢复出来。
在本申请的一些实施例中,第二子对齐标志的***位置可以根据第一子数据流中组成第一对齐标志的第一子对齐标志的位置确定,也可以与第一子对齐标志的位置无关。如果是前者,接收端可以根据第二子对齐标志和第一子对齐标志之间的位置关系找到第一子对齐标志,并根据第一子对齐标志的位置恢复第一数据流。具体的,第一芯片根据第一数据流中第一子对齐标志的位置和预设距离确定第二子对齐标志的***位置,第一芯片根据第二子对齐标志的***位置在第一数据流中周期性的***第二子对齐标志。如果是后者,接收端需要对第一子对齐标志进行检测,然后根据检测出来的第一子对齐标志恢复第一数据流。具体介绍请见下文,此处不再赘述。
在图6所示实施例中,假设第一行子数据流为子数据流A,该子数据流A中的第一子对齐标志和第二子对齐标志之间的位置关系为:第二子对齐标志相邻的后一个子对齐标志为第一子对齐标志(假设数据块被发送的先后顺序为从右到左),也就是说,预设距离为1个数据块。假设第二行子数据流为子数据流B,该子数据流B中的第一对齐标志和第二对齐标志之间的位置关系为:第二子对齐标志之后的第w个数据块为第一子对齐标志,也就是说,预设距离为w个数据块。w的数值可以根据具体情况进行确定,此处不再赘述。
作为另外一种可能的实现方式,S102和S103可以具体为:第一芯片在第一数据流中周期性的***第二对齐标志,得到第二数据流之后,第一芯片将第二数据流转换为多条第二子数据流,然后第一芯片通过多条物理通道向第二芯片发送第二子数据流。
第二对齐标志的***位置可以与第一对齐标志的***位置相关,也可以不相关。如果相关,那么第二芯片就可以根据第二对齐标志的***位置确定出第一对齐标志的位置。例如,参见图7,第二对齐标志的后一个就是第一对齐标志(数据流的流向是从左到右)。此时,第二对齐标志的***周期大于或等于第一对齐标志的***周期与多条物理通道的数目的公倍数。如果第二数据流的速率与第一数据流的速率相同,那么第二对齐标志的***周期等于第一对齐标志的***周期与多条物理通道的数目的公倍数;如果第二数据流的速率大于第一数据流的速率,那么第二对齐标志的***周期大于第一对齐标志的***周期与多条物理通道的数目的公倍数。
可以理解的是,上述两种可能的实现方式并不构成对本申请技术方案的限定,本领域技术人员可以根据具体情况自行设计。
在本申请实施例中,第二数据流中可以包括第一对齐标志,也可以不包括。当第二数据流的速率等于第一数据流的速率时,第二数据流中不包括第一对齐标志。第一芯片可以将第一数据流中的第一对齐标志删除,并且***第二对齐标志,得到第二数据流。即将第一对齐标志“置换为”第二对齐标志。第二对齐标志的大小与第二对齐标志的周期的乘积等于第一对齐标志的大小与第一对齐标志与周期的乘积。作为接收端而言,如果第二数据流中不包括第一对齐标志,则接收端需要将第一对齐标志恢复出来,以得到第一数据流。
具体的,第一芯片可以有两种删除第一对齐标志的方式,作为其中一种可能的实现方式,S102可以为第一芯片删除第一数据流中的第一对齐标志,得到第三数据流,然后第一芯片在第三数据流中周期性的***第二对齐标志,得到第二数据流。作为第二种可能的实现方式,S103可以为:第一芯片删除第二数据流中的第一对齐标志,得到第四数据流,然后,第一芯片通过多条物理通道发送第四数据流。也就是说,前一种实现方式先删除第一对齐标志,后***第二对齐标志;后一种实现方式相反,先***第二对齐标志,后删除第一对齐标志。
此外,由于传统的物理通道的数目为2n,所以第一芯片获取到的第一数据流在单位时间内的流量(包括第一对齐标志)为2n的整数倍,就可以将数据流平均分配到每条物理通道上。例如,第一数据流每秒的流量为4*106.25Gbit,。当物理通道的数目为4条时,每条物理通道对应的每秒的流量为106.25Gpbs。但是在本申请实施例中,物理通道的数目不为2n,所以单位时间内第一数据流的流量与物理通道的数目的比值可能是整数,也可能不是整数。例如,如果第一数据流每秒的流量为450Gpbs,物理通道的数目为6条,则450Gbps可以被6整除,该第一数据流可以被平均的分配到这6条物理通道上。如果第一数据流每秒的流量为4*106.25Gbps,但物理通道的数目为6条,4*106.25Gbps无法被12整除,所以该第一数据流无法平均的被分配到12条物理通道上。
如果单位时间内第一数据流的流量与物理通道的数目的比值不是整数,那么需要对数据流进行“扩充”,以使单位时间内数据流的流量能够被物理通道的数目整除。
在本申请实施例中,可以先确定第二数据流的速率。第二数据流的速率需要满足的条件有两个:第二数据流的速率大于第一数据流的速率,且第二数据流的速率对应的单位时间内的流量为物理通道的数目的整数倍。
例如,第一数据流的速率为每秒4*106.25Gbps,物理通道的数目为6条,那么第二数据流的速率可以为每秒450Gpbs。
在本申请实施例中,可选的,第二数据流的速率可以等于第一数据流的速率与系数Z的乘积,其中Z=xy/z。x与物理通道的数目相关,物理通道的数目可以表达为N=x*2n。例如假设物理通道的数目为12,那么x可以为3。y为系数,其数值为正整数。z与接口类型相关,z=j*l,其中,l为系数,其数值为正整数。j为第一数据流中FEC码字(codeword)中大小为10bit的符号的个数和第一数据流速率的公约数。
为了使分发到各条物理通道的子数据流的总速率达到第二数据流的速率,在本申请实施例中,作为其中一种可能的实现方式,可以根据第二数据流的速率与第一数据流的速率的比值确定第二对齐标志的大小和周期。
例如,假设子数据流中的第二数据流的速率为每秒450Gbps,第一数据流的速率为每秒4*106.25Gbps。第一数据流的速率与子数据流中的第二数据流的速率的比值为17/18。。
作为另外一种可能的实现方式,除了在第一数据流中***第二对齐标志以外,还可以在第一数据流中***填充(padding)数据。该填充数据可以为随机数据或伪随机数据等能够与第一数据流中的业务数据区别开来的数据。填充数据的大小根据第二数据流的速率与第一数据流的速率的比值以及第二对齐标志的大小和周期进行确定。
例如,12条物理通道两个第二对齐标志之间有8570880个数据块,相对应的第一数据流有80947200个数据块,第二对齐标志的大小为96个数据块,那么两个第二对齐标志之间的填充数据的大小可以为476064个数据块。
在本申请实施例中,填充数据可以周期性的被***到单位时间内的第一数据流中也可以随机***,本申请不做具体限定。
另外,填充数据可以先***到第一数据流中,再转换成多条子数据流,也可以先将第一数据流转换为多条第一子数据流,然后再在第一子数据流中***。参见图8,该图为本申请实施例提供的在第一子数据流中***填充数据和第二对齐标志的示意图,其中填充了黑点的方块表示填充数据。
当第二数据流的速率不等于第一数据流的速率时,第二对齐标志的***周期根据第一数值和第二数值的乘积进行确定,第一数值为第一对齐标志的***周期和多条物理通道的数目的公倍数,第二数值为第二数据流的速率与第一数据流的速率的比值。
此外,需要说明的是,***第二对齐标志和填充数据可以是在将第二数据流分发到各个物理通道之前进行,也可以在分发之后进行。
还需要说明的是,分发到各条物理通道的子数据流的总速率需要在各条物理通道的子数据流支持的速率范围内。例如,假设每条物理通道的子数据流支持的速率为45G~55Gbps以及70~80Gbps,那么分发到各条物理通道的子数据流的总速率需要在上述两个范围内之一,而不能在55~70Gbps。所以,多条物理通道的第二数据流的速率需要在为各条物理通道的子数据流支持的速率范围与物理通道的数目的乘积范围内。
S104:第二芯片接收来自第一芯片的多条第二子数据流,多条第二子数据流中的每条第二子数据流均包括第二子对齐标志。
第二芯片作为第二子数据流的接收端,可以例如为图4所示实施例中的芯片102。
S105:第二芯片根据多条第二子数据流中的第二子对齐标志将多条第二子数据流对齐。
由于第二子对齐标志在第二子数据流被发送时是对齐的,所以第二芯片在接收到第二子数据流之后,可以根据第二子对齐标志将第二子数据流对齐,以使第二芯片接收第二子数据流的接收时间处理为一致。
S106:第二芯片将多条第二子数据流转换为第一数据流。
在本申请实施例中,第二芯片可以将多条第二子数据流中的第二子对齐标志删除,然后恢复为第一数据流。或者,第二芯片还可以将多条第二子数据流合并为一条数据流,然后将该条数据流中的第二对齐标志删除,得到上述第一数据流。
具体的,作为其中一种可能的实现方式,S106具体为:首先,第二芯片删除多条第二子数据流中的第二子对齐标志,得到第一子数据流。其次,第二芯片将第一子数据流合成第一数据流。
作为另一种可能的实现方式,S106具体为:首先,第二芯片将多条第二子数据流合成第二数据流,多条子数据流中的第二子对齐标志合成为第二对齐标志。其次,第二芯片将第二数据流中的第二对齐标志删除,得到第一数据流。
如果第二子数据流中还包括填充数据,则第二芯片需要将填充数据删除。具体的,如果填充数据的位置与第二对齐标志的位置没有关联,那么第二芯片可以根据填充数据的特性找到填充数据,并进行删除。如果填充数据的位置与第二对齐标志的位置有关联,例如填充数据在第二子数据流中的位置与第二对齐标志在子数据流中的位置之间满足第一预设位置关系,那么第二芯片可以先找到第二对齐标志,然后根据该第一预设位置关系和第二对齐标志的位置找到填充数据的位置,进而根据填充数据的位置删除填充数据。
第二芯片删除填充数据的时机与删除第二子对齐标志或第二对齐标志的时机类似。
作为其中一种可能的实现方式,当第二子数据流还包括填充数据时,第二芯片将多条第二子数据流转换为第一数据流还包括:第二芯片删除多条第二子数据流中的填充数据,得到第一子数据流;第二芯片将第一子数据流合成第一数据流。
如果第二子对齐标志的位置和填充数据的位置是关联的,那么第二芯片根据第二子对齐标志的位置和第一预设位置关系删除多条第二子数据流中的填充数据,第一预设位置关系为第二子对齐标志和填充数据之间的位置关系。
作为另一种可能的实现方式,当第二子数据流还包括填充数据时,第二芯片将多条第二子数据流转换为第一数据流还包括:第二芯片将多条第二子数据流合成第二数据流;第二芯片将第二数据流中的填充数据删除,得到第一数据流。
如果第二对齐标志的位置和填充数据的位置是关联的,那么第二芯片根据第二对齐标志的位置和第二预设位置关系删除多条第二数据流中的填充数据,第二预设位置关系为第二对齐标志和填充数据之间的位置关系。
如前文所提,如果第二子数据流中有第一对齐标志,那么第一芯片在***第二对齐标志时,需要与第一对齐标志区分开来,即第二对齐标志与第一对齐标志不同,以使第二芯片能够识别出第二对齐标志,并做进一步删除。如果第一对齐标志和第二对齐标志在位置上关联,那么可以根据第二对齐标志的位置识别出第一对齐标志的位置。
而如果第二子数据流中没有第一对齐标志,那么第二芯片可以在第二子数据流中***第一对齐标志,以实现第一数据流的恢复。在这种情况下,第二对齐标志和第一对齐标志可以是相同的。
如果是先删除第二子对齐标志,后转换为第一数据流,那么相应的,第二芯片也可以先***第一对齐标志,再合成第二数据流。具体的,第二芯片删除多条第二子数据流中的第二子对齐标志,并根据第二子对齐标志的位置和第三预设位置关系在第二子数据流中***第一子对齐标志,得到第一子数据流,第三预设位置关系为第一子对齐标志的***位置与第二子对齐标志的位置之间的关系。
如果是合成第二数据流,后删除第二对齐标志,那么相应的,第二芯片也可以先合成第二数据流,再***第一对齐标志。具体的,第二芯片将第二数据流中的第二对齐标志删除,并根据第二对齐标志的位置和第四预设位置关系在第二数据流中***第一对齐标志,得到第一数据流,第四预设位置关系为第一对齐标志的***位置与第二对齐标志的位置之间的关系。
在实际应用中,第二芯片可以先***第一对齐标志,再删除第二对齐标志,也可以先删除第二对齐标志,再***第一对齐标志。
如果是后者,那么第二芯片需要在删除第二对齐标志之后,在第二对齐标志的位置***标记,该标记用于指示该位置为第二对齐标志的位置。在***第一对齐标志时,就可以根据该标记以及第二预设位置关系***。
综上,本申请实施例第一芯片在第一数据流中***第二对齐标志,得到第二数据流,并通过数目不等于2n的物理通道发送该第二数据流。由于第二对齐标志的***周期和大小均为多条物理通道的数目的倍数,所以每条物理通道对应的第二子数据流中的第二对齐标志是对齐的,第二芯片能够根据第二对齐标志对齐接收到的第二子数据流,从而根据对齐的第二子数据流将第一数据流恢复出来,实现了在不修改第一对齐标志***周期和大小的前提下,物理通道的数目不局限于2n,提高了数据流传输的灵活性。
相应的,参见图9,本申请实施例还提供了一种数据流处理装置900,该装置900应用于第一芯片,该第一芯片可以实现图5所示实施例中的第一芯片的功能。
数据流处理装置900包括:获取单元901、***单元902和发送单元903。其中,获取单元901,用于获取第一数据流,第一数据流包括第一对齐标志;
***单元902,用于在第一数据流中周期性的***第二对齐标志,得到第二数据流;
发送单元903,用于通过多条物理通道发送第二数据流,多条物理通道的数目不等于2n,其中,n为正整数;第二对齐标志的***周期和每个第二对齐标志的大小根据第一条件或第二条件进行确定,第一条件为多条物理通道的数目,第二条件为多条物理通道的数目以及第二数据流的速率与第一数据流的速率的比值,其中,第二对齐标志的***周期和每个第二对齐标志的大小均为多条物理通道的数目的整数倍,第二数据流的速率大于或等于第一数据流的速率,第二数据流的速率对应的单位时间内的流量为物理通道的数目的整数倍。
关于数据流处理装置900的相关描述请参见图5所示实施例中第一芯片的描述,此处不再赘述。
参见图10,本申请实施例提供了一种数据流处理装置1000,应用于第二芯片,该第二芯片可以实现图5所示实施例中第二芯片的功能。
数据流处理装置1000包括:接收单元1001、对齐单元1002和转换单元1003。其中,
接收单元1001,用于接收多条第二子数据流,多条第二子数据流中的每条第二子数据流均包括第二子对齐标志;
对齐单元1002,用于根据多条第二子数据流中的第二子对齐标志将多条第二子数据流对齐;
转换单元1003,用于将多条第二子数据流转换为第一数据流,第一数据流不包括第二子对齐标志。
关于数据流处理装置1000的相关描述请参见图5所示实施例中第一芯片的描述,此处不再赘述。
相应的,本申请实施例还提供了一种与数据流处理装置900对应的数据流处理设备和与数据流处理装置1000对应的数据流处理设备,上述设备均包括处理器和存储器;存储器,用于存储指令;处理器,用于执行存储器中的指令,执行以上方法实施例中提供的由第一芯片和第二芯片执行的数据流处理方法。
需要说明的是,前述与数据流处理装置900对应的数据流处理设备和与数据流处理装置1000对应的数据流处理设备,其硬件结构可以采用如图11所示的结构。图11为本申请实施例提供的一种地址申请设备的结构示意图。
请参阅图11所示,设备1100包括:处理器1110、通信接口1120和存储器1130。其中设备1100中的处理器1110的数量可以一个或多个,图11中以一个处理器为例。本申请实施例中,处理器1110、通信接口1120和存储器1130可通过总线***或其它方式连接,其中,图11中以通过总线***1140连接为例。
处理器1110可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。处理器1110还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器1130可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1130也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1130还可以包括上述种类的存储器的组合。
可选地,存储器1130存储有操作***和程序、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,程序可包括各种操作指令,用于实现各种操作。操作***可包括各种***程序,用于实现各种基础业务以及处理基于硬件的任务。处理器1110可以读取存储器1130中的程序,实现本申请实施例提供的业务流量调整方法。
总线***1140可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线***1140可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供了一种计算机可读存储介质,包括计算机程序,当其在计算机上运行时,使得计算机执行上述数据流处理方法。
本申请实施例提供了一种网络设备,包括上述应用于第一芯片的数据流处理装置和第二芯片的数据流处理装置。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (37)
1.一种数据流处理方法,其特征在于,包括:
获取第一数据流,所述第一数据流包括第一对齐标志;
生成第二数据流,所述第二数据流包括第二对齐标志和所述第一数据流;
通过多条物理通道发送所述第二数据流,所述多条物理通道的数目不等于2n,其中,n为正整数;所述第二对齐标志的***周期和每个第二对齐标志的大小根据第一条件或第二条件进行确定,所述第一条件为所述多条物理通道的数目,所述第二条件为所述多条物理通道的数目以及所述第二数据流的速率与所述第一数据流的速率的比值,其中,所述第二对齐标志的***周期和每个第二对齐标志的大小均为所述多条物理通道的数目的整数倍;所述第二数据流的速率大于或等于所述第一数据流的速率,所述第二数据流的速率对应的单位时间内的流量为所述物理通道的数目的整数倍。
2.根据权利要求1所述的方法,其特征在于,所述第二对齐标志包括多个第二子对齐标志,所述多个第二子对齐标志的数目为所述多条物理通道的数目,每个第二子对齐标志的大小为m个数据块的大小,其中m为第二对齐标志的大小与所述多条物理通道的数目的比值,m为正整数;
所述生成第二数据流包括:
根据所述多条物理通道的数目将所述第一数据流转换为多条第一子数据流,所述多条第一子数据流中的每条第一子数据流分别对应一个物理通道;
在所述每条第一子数据流中分别周期性的***第二子对齐标志,得到多条第二子数据流;
通过多条物理通道发送所述第二数据流包括:
通过所述多条物理通道发送所述多条第二子数据流。
3.根据权利要求1所述的方法,其特征在于,还包括根据所述第一数据流中第一对齐标志的位置和预设距离确定所述第二对齐标志的***位置;
根据所述第二对齐标志的***位置在所述第一数据流中周期性的***所述第二对齐标志,所述第二对齐标志的***周期大于或等于所述第一对齐标志的***周期与所述多条物理通道的数目的公倍数。
4.根据权利要求1所述的方法,其特征在于,当所述第二数据流的速率大于所述第一数据流的速率时,所述第二数据流还包括填充数据。
5.根据权利要求4所述的方法,其特征在于,所述生成包括填充数据的所述第二数据流包括:在所述第一数据流中周期性的***填充数据。
6.根据权利要求4或5所述的方法,其特征在于,所述填充数据为随机序列。
7.根据权利要求1所述的方法,其特征在于,当所述第二数据流的速率等于所述第一数据流的速率时,所述生成第二数据流包括:
删除所述第一数据流中的第一对齐标志,得到第三数据流;
在所述第三数据流中周期性的***第二对齐标志,得到所述第二数据流,所述第二对齐标志的大小与所述第二对齐标志的周期的乘积等于所述第一对齐标志的大小与所述第一对齐标志与周期的乘积。
8.根据权利要求1所述的方法,其特征在于,当所述第二数据流的速率等于所述第一数据流的速率时,通过多条物理通道发送所述第二数据流包括:
删除所述第二数据流中的第一对齐标志,得到第四数据流;
通过多条物理通道发送所述第四数据流,所述第二对齐标志的大小与所述第二对齐标志的周期的乘积等于所述第一对齐标志的大小与所述第一对齐标志与周期的乘积。
9.一种数据流处理方法,其特征在于,包括:
接收多条第二子数据流,所述多条第二子数据流中的每条第二子数据流均包括第二子对齐标志,所述第二子对齐标志在所述第二子数据流中的位置相同;
根据所述多条第二子数据流中的第二子对齐标志将所述多条第二子数据流对齐;
将所述多条第二子数据流转换为第一数据流,所述第一数据流不包括所述第二子对齐标志。
10.根据权利要求9所述的方法,其特征在于,将所述多条第二子数据流转换为第一数据流包括:
删除所述多条第二子数据流中的第二子对齐标志,得到多条第一子数据流;
将所述多条第一子数据流合成第一数据流。
11.根据权利要求9所述的方法,其特征在于,将所述多条第二子数据流转换为第一数据流包括:
将所述多条第二子数据流合成第二数据流,所述多条子数据流中的第二子对齐标志合成为第二对齐标志;
将所述第二数据流中的第二对齐标志删除,得到所述第一数据流。
12.根据权利要求9-11任一项所述的方法,其特征在于,所述第二子数据流还包括填充数据;
将所述多条第二子数据流转换为第一数据流还包括:
删除所述多条第二子数据流中的填充数据,得到第一子数据流;
将所述第一子数据流合成第一数据流。
13.根据权利要求12所述的方法,其特征在于,删除所述多条第二子数据流中的填充数据包括:根据所述第二子对齐标志的位置和第一预设位置关系删除所述多条第二子数据流中的填充数据,所述第一预设位置关系为所述第二子对齐标志和填充数据之间的位置关系。
14.根据权利要求9或10所述的方法,其特征在于,所述第二子数据流还包括填充数据;
将所述多条第二子数据流转换为第一数据流还包括:
将所述多条第二子数据流合成第二数据流;
将所述第二数据流中的填充数据删除,得到所述第一数据流。
15.根据权利要求14所述的方法,其特征在于,将所述第二数据流中的填充数据删除包括:根据第二对齐标志的位置和第二预设位置关系删除所述多条第二数据流中的填充数据,所述第二预设位置关系为所述第二对齐标志和填充数据之间的位置关系。
16.根据权利要求10所述的方法,其特征在于,删除所述多条第二子数据流中的第二子对齐标志,得到第一子数据流包括:删除所述多条第二子数据流中的第二子对齐标志,并根据所述第二子对齐标志的位置和第三预设位置关系在所述第二子数据流中***第一子对齐标志,得到第一子数据流,所述第三预设位置关系为所述第一子对齐标志的***位置与所述第二子对齐标志的位置之间的关系。
17.根据权利要求11所述的方法,其特征在于,将所述第二数据流中的第二对齐标志删除,得到所述第一数据流包括:将所述第二数据流中的第二对齐标志删除,并根据所述第二对齐标志的位置和第四预设位置关系在所述第二数据流中***第一对齐标志,得到所述第一数据流,所述第四预设位置关系为所述第一对齐标志的***位置与所述第二对齐标志的位置之间的关系。
18.一种数据流处理装置,其特征在于,包括:
获取单元,用于获取第一数据流,所述第一数据流包括第一对齐标志;
***单元,用于生成第二数据流,所述第二数据流包括第二对齐标志和所述第一数据流;
发送单元,用于通过多条物理通道发送所述第二数据流,所述多条物理通道的数目不等于2n,其中,n为正整数;所述第二对齐标志的***周期和每个第二对齐标志的大小根据第一条件或第二条件进行确定,所述第一条件为所述多条物理通道的数目,所述第二条件为所述多条物理通道的数目以及所述第二数据流的速率与所述第一数据流的速率的比值,其中,所述第二对齐标志的***周期和每个第二对齐标志的大小均为所述多条物理通道的数目的整数倍;所述第二数据流的速率大于或等于所述第一数据流的速率,所述第二数据流的速率对应的单位时间内的流量为所述物理通道的数目的整数倍。
19.根据权利要求18所述的装置,其特征在于,所述第二对齐标志包括多个第二子对齐标志,所述多个第二子对齐标志的数目为所述多条物理通道的数目,每个第二子对齐标志的大小为m个数据块大小,其中m为第二对齐标志的大小与所述多条物理通道的数目的比值,m为正整数;
所述***单元,用于根据所述多条物理通道的数目将所述第一数据流转换为多条第一子数据流,所述多条第一子数据流中的每条第一子数据流分别对应一个物理通道;并在所述每条第一子数据流中分别周期性的***第二子对齐标志,得到多条第二子数据流;
所述发送单元,用于通过所述多条物理通道发送所述多条第二子数据流。
20.根据权利要求18所述的装置,其特征在于,还包括:
确定单元,用于根据所述第一数据流中第一对齐标志的位置和预设距离确定所述第二对齐标志的***位置;
所述***单元,用于根据所述第二对齐标志的***位置在所述第一数据流中周期性的***所述第二对齐标志,所述第二对齐标志的***周期大于或等于所述第一对齐标志的***周期与所述多条物理通道的数目的公倍数。
21.根据权利要求18所述的装置,其特征在于,当所述第二数据流的速率大于所述第一数据流的速率时,所述***单元,还用于在所述第一数据流中***填充数据。
22.根据权利要求21所述的装置,其特征在于,
所述***单元,用于在所述第一数据流中周期性的***填充数据。
23.根据权利要求21或22所述的装置,其特征在于,所述填充数据为随机序列。
24.根据权利要求18所述的装置,其特征在于,
当所述第二数据流的速率等于所述第一数据流的速率时,所述***单元,用于删除所述第一数据流中的第一对齐标志,得到第三数据流;并在所述第三数据流中周期性的***第二对齐标志,得到所述第二数据流,所述第二对齐标志的大小与所述第二对齐标志的周期的乘积等于所述第一对齐标志的大小与所述第一对齐标志与周期的乘积。
25.根据权利要求18所述的装置,其特征在于,
当所述第二数据流的速率等于所述第一数据流的速率时,所述发送单元,用于删除所述第二数据流中的第一对齐标志,得到第四数据流,并通过多条物理通道发送所述第四数据流,所述第二对齐标志的大小与所述第二对齐标志的周期的乘积等于所述第一对齐标志的大小与所述第一对齐标志与周期的乘积。
26.一种数据流处理装置,其特征在于,包括:
接收单元,用于接收多条第二子数据流,所述多条第二子数据流中的每条第二子数据流均包括第二子对齐标志,所述第二子对齐标志在所述第二子数据流中的位置相同;
对齐单元,用于根据所述多条第二子数据流中的第二子对齐标志将所述多条第二子数据流对齐;
转换单元,用于将所述多条第二子数据流转换为第一数据流,所述第一数据流不包括所述第二子对齐标志。
27.根据权利要求26所述的装置,其特征在于,
所述转换单元,用于删除所述多条第二子数据流中的第二子对齐标志,得到多条第一子数据流;将所述多条第一子数据流合成第一数据流。
28.根据权利要求26所述的装置,其特征在于,
所述转换单元,用于将所述多条第二子数据流合成第二数据流,所述多条子数据流中的第二子对齐标志合成为第二对齐标志;将所述第二数据流中的第二对齐标志删除,得到所述第一数据流。
29.根据权利要求26-28任一项所述的装置,其特征在于,所述第二子数据流还包括填充数据;
所述转换单元,用于删除所述多条第二子数据流中的填充数据,得到第一子数据流;将所述第一子数据流合成第一数据流。
30.根据权利要求29所述的装置,其特征在于,
所述转换单元,用于根据所述第二子对齐标志的位置和第一预设位置关系删除所述多条第二子数据流中的填充数据,所述第一预设位置关系为所述第二子对齐标志和填充数据之间的位置关系。
31.根据权利要求26或27所述的装置,其特征在于,所述第二子数据流还包括填充数据;
所述转换单元,用于将所述多条第二子数据流合成第二数据流,并将所述第二数据流中的填充数据删除,得到所述第一数据流。
32.根据权利要求31所述的装置,其特征在于,所述将所述第二数据流中的填充数据删除包括:
根据第二对齐标志的位置和第二预设位置关系删除所述多条第二数据流中的填充数据,所述第二预设位置关系为所述第二对齐标志和填充数据之间的位置关系。
33.根据权利要求27所述的装置,其特征在于,所述删除所述多条第二子数据流中的第二子对齐标志,得到第一子数据流包括:
删除所述多条第二子数据流中的第二子对齐标志,并根据所述第二子对齐标志的位置和第三预设位置关系在所述第二子数据流中***第一子对齐标志,得到第一子数据流,所述第三预设位置关系为所述第一子对齐标志的***位置与所述第二子对齐标志的位置之间的关系。
34.根据权利要求28所述的装置,其特征在于,所述将所述第二数据流中的第二对齐标志删除,得到所述第一数据流包括:
将所述第二数据流中的第二对齐标志删除,并根据所述第二对齐标志的位置和第四预设位置关系在所述第二数据流中***第一对齐标志,得到所述第一数据流,所述第四预设位置关系为所述第一对齐标志的***位置与所述第二对齐标志的位置之间的关系。
35.一种计算机可读存储介质,其特征在于,包括计算机程序,当其在计算机上运行时,使得计算机执行权利要求1-17任意一项所述的方法。
36.一种网络设备,其特征在于,包括权利要求18-25中任一所述的装置,和/或权利要求26-34中任一所述的装置。
37.一种网络***,其特征在于,包括权利要求36所述的网络设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110850648.8A CN113783657A (zh) | 2019-12-06 | 2019-12-06 | 一种数据流处理方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110850648.8A CN113783657A (zh) | 2019-12-06 | 2019-12-06 | 一种数据流处理方法及装置 |
CN201911243779.9A CN111162869B (zh) | 2019-12-06 | 2019-12-06 | 一种数据流处理方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911243779.9A Division CN111162869B (zh) | 2019-12-06 | 2019-12-06 | 一种数据流处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113783657A true CN113783657A (zh) | 2021-12-10 |
Family
ID=70555701
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911243779.9A Active CN111162869B (zh) | 2019-12-06 | 2019-12-06 | 一种数据流处理方法及装置 |
CN202110850648.8A Pending CN113783657A (zh) | 2019-12-06 | 2019-12-06 | 一种数据流处理方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911243779.9A Active CN111162869B (zh) | 2019-12-06 | 2019-12-06 | 一种数据流处理方法及装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20220294603A1 (zh) |
EP (1) | EP4054097A4 (zh) |
JP (2) | JP2023504874A (zh) |
KR (1) | KR20220107039A (zh) |
CN (2) | CN111162869B (zh) |
BR (1) | BR112022010629A2 (zh) |
WO (1) | WO2021109702A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111162869B (zh) * | 2019-12-06 | 2021-08-03 | 华为技术有限公司 | 一种数据流处理方法及装置 |
TWI782694B (zh) * | 2021-09-06 | 2022-11-01 | 智原科技股份有限公司 | 時序調整電路、時序不對稱消除方法及接收電路 |
CN116132549A (zh) * | 2022-11-03 | 2023-05-16 | 北京晟芯网络科技有限公司 | 一种以太网数据接收方法、发送方法、装置及收发*** |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5153815B2 (ja) * | 2010-04-13 | 2013-02-27 | 日本電信電話株式会社 | マルチレーン伝送方法及びシステム |
WO2014052972A1 (en) * | 2012-09-28 | 2014-04-03 | Vitesse Semiconductor Corporation | High accuracy 1588 timestamping over high speed multi lane distribution physical code sublayers |
CN103354983B (zh) * | 2012-11-12 | 2017-06-20 | 华为技术有限公司 | 以太数据处理的方法和装置 |
CN103916217B (zh) * | 2014-03-25 | 2017-06-13 | 烽火通信科技股份有限公司 | Xlgmii接口多通道降频dic机制的实现方法及装置 |
US9602401B2 (en) * | 2014-09-22 | 2017-03-21 | Intel Corporation | Technologies for high-speed PCS supporting FEC block synchronization with alignment markers |
CN104579577B (zh) * | 2015-01-29 | 2018-02-06 | 盛科网络(苏州)有限公司 | 实现100GBase‑CR4 PCS去抖动的装置和方法 |
CN106464427B (zh) * | 2015-04-23 | 2020-04-14 | 华为技术有限公司 | 一种数据处理方法和数据发送端以及接收端 |
CN106341207A (zh) * | 2015-07-06 | 2017-01-18 | 华为技术有限公司 | 一种编码块数据流的发送和接收方法、设备和*** |
US10069660B1 (en) * | 2017-04-13 | 2018-09-04 | Credo Technology Group Limited | Low power SerDes architecture and protocol |
US10594892B2 (en) * | 2017-05-18 | 2020-03-17 | Analog Devices Global | High speed serial link for video interfaces |
CN110072163B (zh) * | 2019-04-28 | 2022-04-29 | 湖南必然网络科技有限公司 | 载荷自适应处理方法、电脑设备及可读存储介质 |
CN111162869B (zh) * | 2019-12-06 | 2021-08-03 | 华为技术有限公司 | 一种数据流处理方法及装置 |
-
2019
- 2019-12-06 CN CN201911243779.9A patent/CN111162869B/zh active Active
- 2019-12-06 CN CN202110850648.8A patent/CN113783657A/zh active Pending
-
2020
- 2020-09-29 JP JP2022534296A patent/JP2023504874A/ja not_active Ceased
- 2020-09-29 KR KR1020227022203A patent/KR20220107039A/ko not_active Application Discontinuation
- 2020-09-29 EP EP20896997.2A patent/EP4054097A4/en active Pending
- 2020-09-29 WO PCT/CN2020/118875 patent/WO2021109702A1/zh unknown
- 2020-09-29 BR BR112022010629A patent/BR112022010629A2/pt unknown
-
2022
- 2022-06-02 US US17/831,123 patent/US20220294603A1/en active Pending
-
2024
- 2024-03-21 JP JP2024045071A patent/JP2024095693A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN111162869B (zh) | 2021-08-03 |
JP2024095693A (ja) | 2024-07-10 |
US20220294603A1 (en) | 2022-09-15 |
EP4054097A4 (en) | 2022-12-14 |
WO2021109702A1 (zh) | 2021-06-10 |
KR20220107039A (ko) | 2022-08-01 |
EP4054097A1 (en) | 2022-09-07 |
CN111162869A (zh) | 2020-05-15 |
BR112022010629A2 (pt) | 2022-08-16 |
JP2023504874A (ja) | 2023-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11165556B2 (en) | Data processing method, data transmit end, and data receive end | |
CN111162869B (zh) | 一种数据流处理方法及装置 | |
US8984380B2 (en) | Method and system for operating a communication circuit configurable to support one or more data rates | |
JP5106538B2 (ja) | 64b/66bスクランブル処理と適合する多重リンク送信のための前方誤り訂正符号化 | |
CN103797742B (zh) | 以太网中处理数据的方法、物理层芯片和以太网设备 | |
US11936475B2 (en) | Method, apparatus, and system for improving reliability of data transmission involving an ethernet device | |
EP3570496A1 (en) | Service delivery method, device and system, and storage medium | |
WO2022088709A1 (zh) | 一种以太网的编码方法及装置 | |
US11539461B2 (en) | Encoding method and related device | |
US20190116115A1 (en) | Transmission apparatus and transmission method | |
CN1849767B (zh) | 前向纠错映射和去映射技术 | |
CN111385058A (zh) | 一种数据传输的方法和装置 | |
CN108563604B (zh) | Pcs协议复用芯片和方法 | |
US20220149988A1 (en) | Method for Adjusting Transmission Rate, Processor, Network Device, and Network System | |
CN109818705B (zh) | 传送、接收子速率信号方法及装置、设备 | |
US6931027B1 (en) | Framed packet bus with improved FPB protocol | |
WO2024148983A1 (zh) | 对齐标志的搜索方法、装置、***及计算机可读存储介质 | |
US20240259133A1 (en) | Method, apparatus, and system for improving reliability of data transmission involving an ethernet device | |
WO2023040466A1 (zh) | 一种编码方法、译码方法以及相关装置 | |
WO2016106650A1 (zh) | 一种数据处理方法和设备 | |
CN114157517A (zh) | 一种接口、数据处理方法、装置及网络设备 | |
CN118118417A (zh) | 数据传输方法、装置、介质及电子设备 | |
CN117896453A (zh) | 一种自协商方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |