CN113938245A - 一种速率适配方法及装置 - Google Patents
一种速率适配方法及装置 Download PDFInfo
- Publication number
- CN113938245A CN113938245A CN202010670874.3A CN202010670874A CN113938245A CN 113938245 A CN113938245 A CN 113938245A CN 202010670874 A CN202010670874 A CN 202010670874A CN 113938245 A CN113938245 A CN 113938245A
- Authority
- CN
- China
- Prior art keywords
- code block
- code
- blocks
- block
- rate adaptation
- 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/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
- 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/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- 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/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
- H04L1/0008—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length by supplementing frame payload, e.g. with padding bits
-
- 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/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
- H04L1/0013—Rate matching, e.g. puncturing or repetition of code symbols
-
- 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/0045—Arrangements at the receiver 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/2852—Metropolitan area networks
-
- 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/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- 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/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- 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/0056—Systems characterized by the type of code used
- H04L1/0067—Rate matching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本申请实施例涉及一种速率适配方法及装置。其中方法包括:当存在速率适配需求时,只在码块关系满足预设条件的两个相邻码块之间插入速率适配码块,或者只删除码块关系满足预设条件的两个码块之间的速率适配码块。这样,可以保证接收侧接收报文后对报文解读的正确性不受速率适配的影响,进而提高速率适配的可靠性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种速率适配方法及装置。
背景技术
城域传输网络(Metro Transport Network,MTN)是位于以太网的物理编码子层(Physical Coding Sublayer,PCS)之中的码块域中的网络层次,其数据处理粒度全部为码块。
在MTN中,数据在经过的发送节点、中间节点或接收节点时,均可能存在速率适配的需求。MTN在执行速率适配时,是以码块为粒度进行的,比如通过识别报文的边界,找到帧间隙(Inter Packet Gap,IPG)位置,在IPG位置进行空闲(IDLE)码块的增/删来实现速率的增加或降低。然而,这种方法是只要识别到尾(T)码块就开始进行IDLE码块的增/删,常常导致IDLE码块增/删位置附近报文在宿端被错误解读。
可见,现有技术中的速率适配方法会影响报文解读的正确性,存在可靠性低的问题。
发明内容
本申请实施例提供一种速率适配方法及装置,用于提高速率适配的可靠性。
第一方面,提供一种速率适配方法,包括:获取第一码块流,所述第一码块流包括相邻的第一码块和第二码块;判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,在所述第一码块和所述第二码块之间插入至少一个速率适配码块。
本申请实施例以码块为粒度进行速率适配时,只在码块关系满足预设条件的第一码块和第二码块之间插入速率适配码块,可以避开在可能引起报文接收解读出现错误的码块位置插入速率适配码块,进而可以保证接收侧(宿端)对接收到报文的解读不受到速率适配的影响。
一种可能的实施方式中,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。也即,在该帧间隙位置插入至少一个速率适配码块。
这样,可以避免在报文中间插入速率适配码块,进而避免对客户业务数据造成影响,进一步保证接收侧对报文的解读的准确性。
一种可能的实施方式中,所述预设条件可以有多种实现方式。
示例1、第一码块和第二码块的码块关系不是插入速率适配码块后会导致报文解读出错的码块关系。
比如,所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块。应理解,以上仅为预设条件的示例,而非限定。
方式2、第一码块和第二码块的码块关系是插入速率适配码块后不会导致报文解读出错的码块关系。
比如,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。应理解,以上仅为预设条件的示例,而非限定。
该实施方式,提供了多种具体的不能被插入速率适配码块的码块位置,以及多种具体的可以被插入速率适配码块的码块位置。这样在插入速率适配码块时,只需要避开不能被插入速率适配码块的码块位置进行速率适配码块的插入,和/或找到可以被插入速率适配码块的码块位置进行速率适配码块的插入,就可以很好地保证接收侧对第一码块流中的报文的解读不受到速率适配的影响,实现方式简单可靠。
一种可能的实施方式中,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件,包括:按照码块顺序依次检测所述第一码块流中每个码块的类型;当检测到帧间隙的任一码块后,将所述任一码块作为第一码块,将所述任一码块之后的相邻码块作为第二码块,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件。
该实施方式中,在找到帧间隙开始的位置时,才开始执行判断操作,可以提高速率适配的效率。
一种可能的实施方式中,在所述第一码块和所述第二码块之间插入至少一个速率适配码块之前,所述方法还包括:对所述第一码块流进行解码,获得第一字符流;在所述第一码块和所述第二码块之间插入至少一个速率适配码块,包括:在所述第一码块对应的字符和所述第二码块对应字符之间插入至少一个速率适配码块对应的字符。
该实施方式中,提供以字符为粒度进行速率适配时,只在码块关系满足预设条件的第一码块和第二码块对应的字符之间插入速率适配码块对应的字符,可以避开在可能引起报文接收解读出现错误的字符位置插入速率适配对应的字符,进而可以保证接收侧(宿端)对接收到报文的解读不受到速率适配的影响。
一种可能的实施方式中,在对所述第一码块流进行解码之前,所述方法还包括:对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
这样,可以尽可能地减少码流中出现会引起报文接收解读错误的码块组合。
一种可能的实施方式中,对所述第一码块流进行解码,包括:对除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
这样,可以避免正确的码块被误,如O码块,被认为错误的码块而被处理,避免损失O码块中的OAM信息。
一种可能的实施方式中,在所述第一码块对应的字符和所述第二码块对应字符之间插入至少一个速率适配码块对应的字符之后,还包括:对插入所述至少一个速率适配码块对应的字符后所获得的字符流进行编码,获得第二码块流;在所述第二码块流中插入所述预设码块。
这样,可以避免丢失原码块流中的信息,进一步提高速率适配方案的可靠性。
第二方面,提供一种速率适配方法,包括:获取第一码块流,所述第一码块流包括相邻的第一码块、至少两个速率适配码块以及第二码块;判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系不满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块中的至少一个速率适配码块,删除后所述第一码块和所述第二码块之间包括至少一个速率适配码块。
本申请实施例以码块为粒度进行速率适配时,如果第一码块和第二码块的码块关系不满足预设条件,则在删除第一码块和第二码块之间的速率适配码块时,要保证删除后第一码块和第二码块之间包括至少一个速率适配码块,这样可以避免删除后第一码块和第二码块相邻,也即避免可能引起报文接收解读出现错误的码块组合出现,进而可以保证接收侧对接收到报文的解读不受到速率适配的影响,可以提高速率适配的可靠性。
一种可能的实施方式中,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
一种可能的实施方式中,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
一种可能的实施方式中,判断所述第一码块和所述第二码块的码块关系是否满足预设条件,包括:按照码块顺序依次检测所述第一码块流中每个码块的类型;当检测到帧间隙的任一码块后,将所述任一码块作为第一码块,将所述任一码块之后且与所述任一码块间隔至少两个速率适配码块的码块作为第二码块,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件。
一种可能的实施方式中,在删除所述至少两个速率适配码块中的至少一个速率适配码块之前,所述方法还包括:对所述第一码块流进行解码,获得第一字符流;删除所述至少两个速率适配码块中的至少一个速率适配码块,包括:删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符。
一种可能的实施方式中,在对所述第一码块流进行解码之前,所述方法还包括:对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
一种可能的实施方式中,对所述第一码块流进行解码,包括:对除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
一种可能的实施方式中,所述方法还包括:
当所述第一码块和所述第二码块的码块关系满足所述预设条件时,删除所述至少两个速率适配码块中的至少一个速率适配码块,删除后所述第一码块和所述第二码块之间没有速率适配码块或包括至少一个速率适配码块。
一种可能的实施方式中,在删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符之后,还包括:对删除所述至少一个速率适配码块对应的字符之后所获得的字符流进行编码,获得第三码块流;在所述第二码块流中插入所述预设码块。
这样,可以避免丢失原码块流中的信息,进一步提高速率适配方案的可靠性。
第三方面,提供一种速率适配方法,包括:获取第一码块流,所述第一码块流包括相邻的第一码块、至少两个速率适配码块以及第二码块;判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块中的至少一个速率适配码块,删除后所述第一码块和所述第二码块之间没有速率适配码块或包括至少一个速率适配码块。
本申请实施例以码块为粒度进行速率适配时,如果识别到第一码块和第二码块的码块关系满足预设条件,则在删除第一码块和第二码块之间的速率适配码块时,可以将第一码块和第二码块之间的速率适配码块全部删除,也可以部分删除,而接收侧对接收到报文的解读不受到速率适配的影响,在保证速率适配的可靠性的同时,提高了删除速率适配码块的灵活性。
一种可能的实施方式中,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
一种可能的实施方式中,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
一种可能的实施方式中,判断所述第一码块和所述第二码块的码块关系是否满足预设条件,包括:按照码块顺序依次检测所述第一码块流中每个码块的类型;当检测到帧间隙的任一码块后,将所述任一码块作为第一码块,将所述任一码块之后且与所述任一码块间隔至少两个速率适配码块的码块作为第二码块,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件。
一种可能的实施方式中,在删除所述至少两个速率适配码块中的至少一个速率适配码块之前,所述方法还包括:对所述第一码块流进行解码,获得第一字符流;删除所述至少两个速率适配码块中的至少一个速率适配码块,包括:删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符。
一种可能的实施方式中,在对所述第一码块流进行解码之前,所述方法还包括:对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
一种可能的实施方式中,对所述第一码块流进行解码,包括:对除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
一种可能的实施方式中,在删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符之后,还包括:对删除所述至少一个速率适配码块对应的字符之后所获得的字符流进行编码,获得第三码块流;在所述第二码块流中插入所述预设码块。
第四方面,提供一种速率适配方法,包括:获取第一码块流,所述第一码块流包括相邻的第一码块、速率适配码块以及第二码块;判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,删除所述速率适配码块。
本申请实施例以码块为粒度进行速率适配时,如果第一码块和第二码块之间只有一个速率适配码块,那么只有在第一码块和第二码块的码块关系满足预设条件时才可以删除第一码块和第二码块之间的速率适配码块,这样可以避免删除后第一码块和第二码块相邻,也即避免可能引起报文接收解读出现错误的码块组合出现,进而可以保证接收侧对接收到报文的解读不受到速率适配的影响,提高了速率适配的可靠性。
一种可能的实施方式中,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
一种可能的实施方式中,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
一种可能的实施方式中,判断所述第一码块和所述第二码块的码块关系是否满足预设条件,包括:按照码块顺序依次检测所述第一码块流中每个码块的类型;当检测到帧间隙的任一码块后,将所述任一码块作为第一码块,将所述任一码块之后且与所述任一码块间隔一个速率适配码块的码块作为第二码块,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件。
一种可能的实施方式中,在删除所述速率适配码块之前,所述方法还包括:对所述第一码块流进行解码,获得第一字符流;删除所述速率适配码块,包括:删除所述速率适配码块对应的字符。
一种可能的实施方式中,在对所述第一码块流进行解码之前,所述方法还包括:对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
一种可能的实施方式中,对所述第一码块流进行解码,包括:对除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
一种可能的实施方式中,在删除所述速率适配码块对应的字符之后,还包括:对删除所述速率适配码块对应的字符之后所获得的字符流进行编码,获得第三码块流;在所述第二码块流中插入所述预设码块。
第五方面,提供一种速率适配方法,包括:获取第一字符流,所述第一字符流包括相邻的第一码块对应的字符和第二码块对应的字符;当存在速率适配需求时,判断所述第一码块和第二码块的码块关系是否满足预设条件;当所述第一码块和第二码块的码块关系满足预设条件时,在所述第一码块对应的字符和所述第二码块对应的字符之间插入至少一个速率适配码块对应的字符。
本申请实施例以字符为粒度进行速率适配时,只在码块关系满足预设条件的第一码块和第二码块对应的字符之间插入速率适配码块对应的字符,继而可以避开在可能引起报文接收解读出现错误的字符位置插入速率适配字符,进而可以保证接收侧对接收到报文的解读不受到速率适配的影响,提高了速率适配的可靠性。
一种可能的实施方式中,在获取第一字符流之前,所述方法还包括:获取第一码块流,所述第一码块流包括相邻的第一码块和第二码块;对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块,获得纠错后的第一码块流;对所述纠错后的第一码块流进行解码,获得第一字符流。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
这样,可以尽可能地减少码流中出现会引起报文接收解读错误的码块组合。
一种可能的实施方式中,对所述纠错后的第一码块流进行解码,包括:对所述纠错后的第一码块流中除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
这样,可以避免正确的码块被误,如O码块,被认为错误的码块而被处理,避免损失O码块中的OAM信息。
一种可能的实施方式中,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
一种可能的实施方式中,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
应理解,以上仅为预设条件的示例,而非限定。
第六方面,提供一种速率适配方法,包括:获取第一字符流,所述第一字符流包括相邻的第一码块对应的字符、至少两个速率适配码块对应的字符和第二码块对应的字符;判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系不满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符,删除后所述第一码块对应的字符和所述第二码块对应的字符之间包括至少一个速率适配码块对应的字符。
本申请实施例以字符为粒度进行速率适配时,如果第一码块和第二码块的码块关系不满足预设条件,则在删除第一码块对应的字符和第二码块对应的字符之间的速率适配码块对应的字符时,要保证删除后第一码块对应的字符和第二码块对应的字符之间包括至少一个速率适配码块对应的字符,这样可以避免删除后第一码块对应的字符和第二码块对应的字符相邻,也即避免可能引起报文接收解读出现错误的码块组合出现,进而可以保证接收侧对接收到报文的解读不受到速率适配的影响,可以提高速率适配的可靠性。
一种可能的实施方式中,在获取第一字符流之前,所述方法还包括:获取第一码块流,所述第一码块流包括相邻的第一码块、至少两个速率适配码块和第二码块;对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块,获得纠错后的第一码块流;对所述纠错后的第一码块流进行解码,获得第一字符流。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
一种可能的实施方式中,对所述纠错后的第一码块流进行解码,包括:对所述纠错后的第一码块流中除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
一种可能的实施方式中,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
一种可能的实施方式中,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
第七方面,提供一种速率适配方法,包括:获取第一字符流,所述第一字符流包括相邻的第一码块对应的字符、至少两个速率适配码块对应的字符和第二码块对应的字符;判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符,删除后所述第一码块对应的字符和所述第二码块对应的字符之间没有速率适配码块对应的字符或包括至少一个速率适配码块对应的字符。
本申请实施例以字符为粒度进行速率适配时,如果识别到第一码块和第二码块的码块关系满足预设条件,则在删除第一码块对应的字符和第二码块对应的字符之间的速率适配码块对应的字符时,可以将第一码块对应的字符和第二码块对应的字符之间的速率适配码块对应的字符全部删除,也可以部分删除,而接收侧对接收到报文的解读不受到速率适配的影响,在保证速率适配的可靠性的同时,提高了删除速率适配码块的灵活性。
一种可能的实施方式中,在获取第一字符流之前,所述方法还包括:获取第一码块流,所述第一码块流包括相邻的第一码块、至少两个速率适配码块和第二码块;对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块,获得纠错后的第一码块流;对所述纠错后的第一码块流进行解码,获得第一字符流。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
一种可能的实施方式中,对所述纠错后的第一码块流进行解码,包括:对所述纠错后的第一码块流中除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
一种可能的实施方式中,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
一种可能的实施方式中,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
第八方面,提供一种速率适配方法,包括:获取第一字符流,所述第一码块流包括相邻的第一码块对应的字符、速率适配码块对应的字符以及第二码块对应的字符;判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,删除所述速率适配码块对应的字符。
本申请实施例以字符为粒度进行速率适配时,如果第一码块对应的字符和第二码块对应的字符之间只有一个速率适配码块对应的字符,那么只有在第一码块和第二码块的码块关系满足预设条件时才可以删除第一码块对应的字符和第二码块对应的字符之间的速率适配码块对应的字符,这样可以避免删除后第一码块对应的字符和第二码块对应的字符相邻,也即避免可能引起报文接收解读出现错误的码块组合出现,进而可以保证接收侧对接收到报文的解读不受到速率适配的影响,提高了速率适配的可靠性。
一种可能的实施方式中,在获取第一字符流之前,所述方法还包括:获取第一码块流,所述第一码块流包括相邻的第一码块、速率适配码块和第二码块;对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块,获得纠错后的第一码块流;对所述纠错后的第一码块流进行解码,获得第一字符流。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
一种可能的实施方式中,对所述纠错后的第一码块流进行解码,包括:对所述纠错后的第一码块流中除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
一种可能的实施方式中,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
一种可能的实施方式中,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
第九方面,提供一种速率适配装置,该装置可以是网络设备,或者可以是网络设备内部的芯片,该装置包括用于执行上述第一方面或第一方面任一种可能的实施方式中所述的方法的功能/模块。
示例的,该装置包括:
获取单元,用于获取第一码块流,所述第一码块流包括相邻的第一码块和第二码块;
处理单元,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,在所述第一码块和所述第二码块之间插入至少一个速率适配码块。
第十方面,提供一种速率适配装置,该装置可以是网络设备,或者可以是网络设备内部的芯片,该装置包括用于执行上述第二方面或第二方面任一种可能的实施方式中所述的方法的功能/模块。
示例的,该装置包括:
获取单元,用于获取第一码块流,所述第一码块流包括相邻的第一码块、至少两个速率适配码块以及第二码块;
处理单元,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系不满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块中的至少一个速率适配码块,删除后所述第一码块和所述第二码块之间包括至少一个速率适配码块。
第十一方面,提供一种速率适配装置,该装置可以是网络设备,或者可以是网络设备内部的芯片,该装置包括用于执行上述第三方面或第三方面任一种可能的实施方式中所述的方法的功能/模块。
示例的,该装置包括:
获取单元,用于获取第一码块流,所述第一码块流包括相邻的第一码块、至少两个速率适配码块以及第二码块;
处理单元,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块中的至少一个速率适配码块,删除后所述第一码块和所述第二码块之间没有速率适配码块或包括至少一个速率适配码块。
第十二方面,提供一种速率适配装置,该装置可以是网络设备,或者可以是网络设备内部的芯片,该装置包括用于执行上述第四方面或第四方面任一种可能的实施方式中所述的方法的功能/模块。
示例的,该装置包括:
获取单元,用于获取第一码块流,所述第一码块流包括相邻的第一码块、速率适配码块以及第二码块;
处理单元,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,删除所述速率适配码块。
第十三方面,提供一种速率适配装置,该装置可以是网络设备,或者可以是网络设备内部的芯片,该装置包括用于执行上述第五方面或第五方面任一种可能的实施方式中所述的方法的功能/模块。
示例的,该装置包括:
获取单元,用于获取第一字符流,所述第一字符流包括相邻的第一码块对应的字符和第二码块对应的字符;
处理单元,用于判断所述第一码块和第二码块的码块关系是否满足预设条件;当所述第一码块和第二码块的码块关系满足预设条件且存在速率适配需求时,在所述第一码块对应的字符和所述第二码块对应的字符之间插入至少一个速率适配码块对应的字符。
第十四方面,提供一种速率适配装置,该装置可以是网络设备,或者可以是网络设备内部的芯片,该装置包括用于执行上述第六方面或第六方面任一种可能的实施方式中所述的方法的功能/模块。
示例的,该装置包括:
获取单元,用于获取第一字符流,所述第一字符流包括相邻的第一码块对应的字符、至少两个速率适配码块对应的字符和第二码块对应的字符;
处理单元,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系不满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符,删除后所述第一码块对应的字符和所述第二码块对应的字符之间包括至少一个速率适配码块对应的字符。
第十五方面,提供一种速率适配装置,该装置可以是网络设备,或者可以是网络设备内部的芯片,该装置包括用于执行上述第七方面或第七方面任一种可能的实施方式中所述的方法的功能/模块。
示例的,该装置包括:
获取单元,用于获取第一字符流,所述第一字符流包括相邻的第一码块对应的字符、至少两个速率适配码块对应的字符和第二码块对应的字符;
处理单元,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符,删除后所述第一码块对应的字符和所述第二码块对应的字符之间没有速率适配码块对应的字符或包括至少一个速率适配码块对应的字符。
第十六方面,提供一种速率适配装置,该装置可以是网络设备,或者可以是网络设备内部的芯片,该装置包括用于执行上述第八方面或第八方面任一种可能的实施方式中所述的方法的功能/模块。
示例的,该装置包括:
获取单元,用于获取第一字符流,所述第一码块流包括相邻的第一码块对应的字符、速率适配码块对应的字符以及第二码块对应的字符;
处理单元,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,删除所述速率适配码块对应的字符。
第十七方面,提供一种网络设备,包括:至少一个处理器;所述至少一个处理器通过执行存储器存储的指令,使得所述装置执行如第一方面至第八方面中任一种可能的实现方式中所述方法。
可选的,所述存储器位于所述装置之外。
可选的,所述装置包括所述存储器,所述存储器与所述至少一个处理器相连,所述存储器存储有可被所述至少一个处理器执行的指令。
第十八方面,提供一种计算机可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,使得如第一方面至第八方面中任一种可能的实现方式中所述方法被执行。
第十九方面,提供一种芯片,所述芯片与存储器耦合,用于读取并执行所述存储器中存储的程序指令,使得如第一方面至第八方面中任一种可能的实现方式中所述方法被执行。
第二十方面,提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得如第一方面至第八方面中任一种可能的实现方式中所述方法被执行。
附图说明
图1为100GBASE-R以太网接口的结构示意图;
图2为64B/66B编码格式的码块的结构示意图;
图3为以太网速率适配的示意图;
图4为O码块的示意图;
图5A为合法码块顺序的示意图;
图5B为帧间隙(Inter Packet Gap,IPG)的示意图;
图6A为发送状态机的结构示意图;
图6B为接收状态机的结构示意图;
图7为城域传输网络(Metro Transport Network,MTN)的结构示意图;
图8为MTN与IEE 802.3模型的位置关系图;
图9为MTN业务流传输的网络示意图;
图10A至图10T为错误码块关系、以及在错误码块关系中进行速率适配后的结果示意图;
图11为本申请实施例适用的一种网络架构的示意图;
图12为本申请实施例提供的一种速率适配方法的流程图;
图13为本申请实施例提供的另一种速率适配方法的流程图;
图14为相邻的第一码块、至少两个速率适配码块以及第二码块的示意图;
图15为本申请实施例提供的另一种速率适配方法的流程图;
图16为本申请实施例提供的另一种速率适配方法的流程图;
图17为本申请实施例提供的另一种速率适配方法的流程图;
图18为本申请实施例提供的另一种速率适配方法的流程图;
图19为本申请实施例提供的一种速率适配装置1900的结构示意图;
图20为本申请实施例提供的另一种速率适配装置2000的结构示意图;
图21为本申请实施例提供的另一种速率适配装置2100的结构示意图;
图22为本申请实施例提供的另一种速率适配装置2200的结构示意图;
图23为本申请实施例提供的另一种速率适配装置2300的结构示意图;
图24为本申请实施例提供的另一种速率适配装置2400的结构示意图;
图25为本申请实施例提供的另一种速率适配装置2500的结构示意图;
图26为本申请实施例提供的另一种速率适配装置2600的结构示意图;
图27为本申请实施例提供的一种网络设备2700的结构示意图。
具体实施方式
图1示出了100GBASE-R以太网接口的结构示意图,如图1所示,包括其他高层次(HIGHER LAYERS)、逻辑链路控制层(Logic Link Control,LLC)、媒质访问控制(MACControl),媒质访问控制层(Media Access Control,MAC),协调子层(ReconciliationSublayer,RS),100GBASE-R物理编码子层(Physical Coding Sublayer,PCS),里的索罗门编码子层(REED-SOLOMON FORWARD ERROR,RS-FEC),物理介质附加层(PHYSICAL MEDIUMATTACHMENT,PMA),物理介质依附层(PHYSICAL MEDIUM DEPENDENT,PMD),自动协商(AUTO-NEGOTATION,AN),介质(Medium)。
以太网接口在设计时考虑的是以太网PHY承载一个MAC数据流。
具体的,在发送方向上,MAC数据流经过接口进行传输,自上而下依次涉及MAC、RS、PCS、RS-FEC、PMA和PMD的处理,最后体现为发送到链路媒质上的信号。接收方向涉及其逆过程,信号被从链路媒质上接收,依次经PMD、PMA、RS-FEC、PCS最后处理,恢复出MAC数据流。
在以太网的FEC层,会涉及到编码格式的转换。本申请实施例以64B/66B编码格式举例说明,其它编码格式也可以适用。本申请实施例中标准中定义码块的相关属性,将与标准中定义的码块的相关属性相符的码块称为合法码块,将与标准中定义的码块的相关属性不相符的码块称为非法码块。码块的相关属性可以包括多种,比如码块的结构形式,码块的位置关系等。
图2示出了标准中定义的64B/66B编码格式的码块的结构示意图,如图2所示,该码块为IEEE Std 802.3-2018.IEEE Standard for Ethenet SECTION SIX标准所定义,其中64B,即8个8B(bit)的字符作为编码输入,66B作为编码输出。如图2所示,码块的同步头区域包括码块的第0比特和第1比特,码块的同步头区域有两种情况,分别为01和10。同步头为01的码块称为数据码块,数据码块可以写为D码块;同步头为10的称为控制码块。控制码块的字段D0占用8比特,可以称为控制码块的类型域(类型域可以写为type域)。
当数据从RS层发送到PCS编码子层时,因为MAC层和PHY层之间存在速率偏差,所以需要进行速率适配。
图3是以太网速率适配的示意图,以太网速率适配是以字符/字节(character/octet)为单位进行的。
图3左侧示意的是发送方向上速率适配操作,当RS发送characters到达PCS后,PCS内部会使用T_TYPE功能对每8个character为一组,进行编码前的格式和顺序检查,其必须符合已经规定的规则。
例如,对于控制(C)码块,8个character中必须包含有一个效的控制字符,比如/O/,/S/,/T/,/LI/,以及/E/控制字符以外的任意一个有效的控制字符,或者控制(C)码块是一个有效的O码块(ordered set)。
O码块是一个特殊的控制码块,在XLGMII/CGMII上,O码块由一个控制字符、三个数据字符和四个零数据字符组成,如图4所示。应理解,图4中O码块块类型的值为0x4B,O code是0xC,仅为示例而非限定,在实际实施时,也可以为其他值。
例如,对于头码块(S)码块,8个字符中必须第一个字符是/S/,随后的7个character都必须是数据字符data characters.对于尾(T)码块,8个字符中必须有1个字符是/T/字符,而且在/T/字符之前的字符必须是数据字符,在其后的字符必须是/O/,/S/和/T/之外的字符。
例如,对于低功耗(LI)码块,8个字符都必须是/LI/字符。当需要进行速率适配时,PCS会以8个IDLE字符为一组进行增加或删除操作。这种增加或删除操作是在帧间隙(InterPacket Gap,IPG)中进行,即不能在报文中进行。
在速率适配之后,PCS编码(encode)功能会对8个字符为一组的数据进行编码为64b/66b码块,并按照发送状态机进行对应码块顺序的校验。正常情况下,一个报文数据对应的码块合法顺序是SDDDDD…T,例如图5A所示,其中D码块的数量不做限制。
相邻报文编码序列之间会有间隔,如图5B所示,这个间隔即是IPG。IPG中通常会是一些控制码块,比如IDLE码块,O码块等。
图6A是发送状态机的结构示意图,如图6A所示,发送时,由初始状态开始,PCS按照收到的每8个字符为一组,进行编码;同时检查字符的格式和顺序,当出现不合规则的码块顺序时,会将对应码块替换为错误(error,E)码块。
图3右侧示意的是接收方向上速率适配操作,当PCS收到64b/66b编码的码块后,会使用R_TYPE功能进行码块格式的校验,并采用接收状态机进行顺序校验。当码块格式或码块顺序出现不合规情况时,会使用E码块将对应的码块进行替换。之后,使用PCS解码(decode)功能将64b/66b码块解码成8个字符,在向上发送给RS之前,PCS会根据PHY和MAC间速率偏差进行速率适配。
图6B是接收状态机的结构示意图,如图6B所示,接收时,由初始状态开始,PCS按照收到的每个码块,进行字符格式和顺序的检查。当出现不合规则的码块顺序时,会将对应码块替换为E码块。之后,再进行解码操作。
此外,当需要对S码块进行对齐,即前导码(preamble)第一个字节(Byte,B)进行8B对齐时,也需要进行IDLE字符的增删来实现。
图7示例性示出了一种城域传输网络(Metro Transport Network,MTN)的结构示意图,如图7所示,MTN技术主要有2个层次构成,通道层和段层,图7是采用国际电信联盟技术组(Telecommunication standardization sector of InternationalTelecommunication Union,ITU-T)的表示风格。值得注意的是,图7中的椭圆部分是进行1.5层转发的位置,即在该地方找到出入端口的对应关系,从而找到出端口。在椭圆之下的倒梯形是通道层到段层的适配功能,在该处各路MAC的数据流(64B/66B码块流的形式)会进行交织成一路64B/66B码块流。
在通道层到段层适配的功能模块中,需要进行速率适配。由于MTN是位于PCSencode/decode之中码块域中的网络层次,如图8所示,所以MTN的数据处理单元全部为码块,或者说数据处理的粒度为码块。
在发送节点,当通道层业务发送到段层时,可能因为通道层和段层速率有偏差而需要进行速率适配;在中间节点,因为入端口和出端口间时钟频率可能存在速率偏差,所以也需要进行速率适配;在接收节点,当客户业务码块流从段层发送到通道层时,可能也需要进行速率适配。如图9所示,示出了MTN网络1.5层转发的示意图,其中对于中间节点,码块流从一个端口流入后,往上到达MTN连接通道层即1.5层(图9中椭圆图形表示MTN连接通道层)后,就不再往上传输,而是通过另一个端口发送出去。
在具体实现中,MTN网络通常可以采用缓存(buffer)先进先出(FIFO)的形式来进行速率适配。
一种具体的实现方法是,根据缓存的深度设定一定的水线,在当前的数据流进入缓存速率过快导致当前缓存数据高于已经设定的水线时,则删除到来的IDLE码块;当速率过慢,缓存数据容量低于水线时,则插入IDLE码块。
但是,当该方法忽视了速率适配IDLE增删的位置与报文数据对应码块的关系。若插入在报文中间,则会影响客户业务数据。此外,也会导致宿端对报文的解读,比如原本发送的是正确的报文,因为到达宿端之前进行了速率适配IDLE增删而导致正确的报文被解读为错误的报文了。
另一种具体的实现方法是,在采用缓存FIFO水线的基础上,进行整包处理,也即是在进行速率适配时会去识别报文的边界,在T码块之后进行IDLE码块的增删来速率适配。
相比前面一种方法,该方法可以避免在报文中间插入或删除IDLE码块,但是该方法只要看到T码块就开始进行IDLE码块增删,如果T码块之后,也即IPG位置上出现T码块和T码块,T码块和D码块,T码块和E码块,D码块和S码块,E码块和S码块等组合时,如果在这些组合中任何一个组合中间插入或删除IDLE码块,都会导致相邻的报文被PCS decode解读为出错的报文,进而进行替换为错误码块E处理。因而这种方法仍然存在正确的报文被宿端解读为错误的报文的风险。
下面例举几个具体的示例。
示例1、T码块和T码块导致的错误。
(1)IDLE插入位置不当导致的错误:
如图10A所示,发送端发送的原始码块流为第一行码块流,假如中间未经过速率适配IDLE增删,那么宿端根据接收状态机进行码块顺序检查,解读后的码块流为第二行码块流。因为存在E码块,所以第一个报文是出错的,并会被MAC在FCS校验失败时进行丢弃。
如图10B所示,如果在发送端发送的原始码块流中T码块和T码块之间进行了IDLE插入后,因为插在了T码块和T码块之间,改变了原始码块流中错误码块间关系,如图10B中第一行所示,进而导致宿端接收后解读出的报文为第二个报文出错,如图10B中第二行所示,与实际情况第一个报文错误不符。
(2)IDLE删除位置不当导致的错误:
如图10C所示,发送端发送的原始码块流为第一行码块流,在未进行IDLE删除时,宿端收到的报文码块流解读为第二行的状态,即第二个报文错误。
但如图10D所示,如果在发送端发送的原始码块流中T码块和T码块之间删除IDLE码块,如图10D中第一行所示,那么宿端收到的报文码块流解读为图10D中第二行的状态,即第一个报文出错,与实际情况第二个报文错误不符。
示例2、T码块和E码块导致的错误。
(1)IDLE插入位置不当导致的错误:
如图10E所示,发送端发送的原始码块流为第一行码块流,在未进行速率适配IDLE码块插入的情况下,宿端收到并解读到的报文状况如第二行所示,即两个报文全部出错。
如图10F所示,因为进行速率适配时IDLE码块插入到了原始码块流的T和E码块之间,则插入码块后的状态如图10F第一行所示,进而导致宿端收到的报文解读为图10F第二行状态,即第二个报文出错,与实际情况两个报文全部出错不符。
(2)IDLE删除位置不当导致的错误:
如图10G所示,发送端发送的原始码块流为第一行码块流,在未进行IDLE码块删除速率适配的情况下,宿端解读的报文状态如第二行所示,即第二个报文出错。
如图10H所示,在进行IDLE码块删除速率适配的情况下,发送端将原始码块流中T和E码块之间的IDLE码块删除,删除后的状态为图10H第一行所示宿端收到解读的报文状态则如图10H第二行所示,即两个报文都出错。
示例3、T码块和D码块导致的错误。
(1)IDLE插入位置不当导致的错误:
如图10I所示,发送端发送的原始码块流为第一行码块流,在未进行IDLE码块插入进行速率适配的情况下,宿端解读的报文状态如第二行所示,即两个报文都出错。
如图10J所示,在进行IDLE码块插入进行速率适配的情况下,发送端在原始码块流T码块和D码块之间插入IDLE码块,如图10J第一行所示,则宿端解读的报文状态如图10J第二行所示,即第二个报文出错,与实际情况两个报文都出错不符。
(2)IDLE删除位置不当导致的错误:
如图10K所示,发送端发送的原始码块流为第一行码块流,在未进行IDLE码块删除速率适配的情况下,宿端解读的报文状态如第二行所示,即第二个报文出错。
如图10L所示,在进行IDLE码块删除速率适配的情况下,发送端将原始码块流中T码块和D码块之间的IDLE码块删除,如图10L第一行所示,则宿端解读的报文状态如图10L第二行所示,即两个报文都出错,与实际情况第二个报文出错不符。
示例4、D码块和S码块导致的错误。
(1)IDLE插入位置不当导致的错误:
如图10M所示,发送端发送的原始码块流为第一行码块流,在未进行IDLE码块插入进行速率适配的情况下,宿端解读的报文状态如第二行所示,即第二个报文出错。
如图10N所示,在进行IDLE码块插入进行速率适配的情况下,发送端在原始码块流中D码块和S码块之间插入IDLE码块,如图10N第一行所示,则宿端解读的报文状态如图10N第二行所示,即没有报文出错,与实际情况第二个报文出错不符。
(2)IDLE删除位置不当导致的错误:
如图10O所示,发送端发送的原始码块流为第一行码块流,在未进行IDLE码块删除速率适配的情况下,宿端解读的报文状态如第二行所示,即没有报文出错。
如图10P所示,在进行IDLE码块删除速率适配的情况下,发送端删除原始码块流D码块和S码块之间的DILE码块,如图10P第一行所示则宿端解读的报文状态如图10P第二行所示,即第二个报文出错,与实际情况没有报文出错不符。
示例5、E码块和S码块导致的错误。
(1)IDLE插入位置不当导致的错误:
如图10Q所示,发送端发送的原始码块流为第一行码块流,在未进行IDLE码块插入进行速率适配的情况下,宿端解读的报文状态如第二行所示,即第二个报文出错。
如图10R所示,如果在发送端发送的原始码块流的E码块和S码块之间插入IDLE码块,则为图10R中的第一行码块流,在进行IDLE码块插入进行速率适配的情况下,宿端解读的报文状态如图10R中第二行所示,即没有报文出错,与实际情况第二个报文出错不符,宿端解读出错。
(2)IDLE删除位置不当导致的错误:
如图10S所示,发送端发送的原始码块流为第一行码块流,在未进行IDLE码块删除速率适配的情况下,宿端解读的报文状态如第二行所示,即没有报文出错。
如图10T所示,在进行IDLE码块删除速率适配的情况下,将发送端发送的原始码块流中E码块和S码块之间的IDLE码块删除,则删除后的码流为图10S中第一行的状态,宿端解读的报文状态如图10S中第二行所示,即第二个报文出错,与实际情况没有报文出错不符,宿端解读出错。
由此可见,当上述码块关系存在时,如果在该些码块关系对应的码块组合之间进行IDEL码块的增/删,将导致增/删位置附件的原报文格式被宿端误解为其它报文格式,造成宿端报文解读错误。
鉴于此,本申请实施例提供一种速率适配方案,需要进行速率适配时,识别报文的位置,并预先识别出会引起报文接收解读出现错误的码块关系组合,进而在进行速率适配时避开这些可能引起解读错误的码块位置,进而在正确的码块位置进行速率适配码块的插入或删除,可以保证宿端即接收侧对接收到报文的解读不受到速率适配的影响。具体方案将在后文详细介绍。
本申请实施例适用于所有需要进行速率适配的场景,例如可以用于现存的所有1.5层的技术,如使用灵活以太网(Flex Ethernet,FlexE)技术的网络,或使用切片分组网络(Slicing Packet Network,SPN)技术,及当前ITU-T第15研究组第3工作小组第11问题组(Study group 15work party 3question 11,SG15 WP3 Q11)正在标准化的MTN网络技术。
示例地,图11为本申请实施例可以适用的一种网络架构,该网络包括发送节点(发送端)和接收节点(接收端,或者叫宿端),发送节点可以向接收节点发送码块流,接收节点可以接收来自发送节点的码块流。另外,网络还可以包括中间节点(图11中未示出),可以用于从发送节点接收码块流,并发送给接收节点,起到对码块流进行转发的作用。
本申请实施例提供的技术方案在中间节点和接收节点都可以实施,或者说网络中任意一个节点需要进行速率适配时,或者说具有接收端口的节点,均可以实施本申请实施例,从而解决速率适配影响报文正确接收的问题。
更为具体的,本申请实施例提供的技术方案可以应用于中间节点、接收节点上的以太网端口或交换机。本申请实施例提供的方案可以对原有的交换机或网卡,进行物理层的硬件升级(包括应用新的芯片,刷入新现场可编程逻辑门阵列(Field ProgrammableGate Array,FPGA)代码等)来实现。
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例的技术方案作进一步地详细描述。
本申请实施例中的术语“系统”和“网络”可被互换使用。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合,例如a、b或c中的至少一项(个),可以表示:a,或b,或c,或a和b,或b和c,或a和c,或a和b和c。
以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一优先级准则和第二优先级准则,只是为了区分不同的准则,而并不是表示这两种准则的内容、优先级或者重要程度等的不同。
此外,本申请实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块的过程、方法、系统、产品或设备,不限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块。
如图12所示,为本申请实施例提供的一种速率适配方法的流程图,该方法可以应用于图11所示的网络架构,该方法具体可以是中间节点或接收节点执行,或者其它需要进行速率适配的节点来执行。方法包括:
S1201、获取第一码块流,第一码块流包括相邻的第一码块和第二码块。
其中,码块流又可称为码流,是指由码块组成的数据流。
按照第一码块流的码块顺序,第一码块位于第二码块之前,第二码块位于第一码块之后,且第一码块和第二码块之间没有其他码块。
可选的,获取第一码块流,具体实现方式可以是:从缓存中读取的码块流。
可选的,读取方式可以是按照先进先出的规则读取。进一步可选的,每次读取预设长度的码块流。
S1202、当存在速率适配需求时,判断第一码块和第二码块的码块关系是否满足预设条件。
应理解,本文所涉及的速率适配需求,是指接收端口和发送端口的速率偏差,该速率偏差具体可以是指码流在接收端口的传输速率和在发送端口的传输速率的偏差,或者是接收端口和发送端口的时钟频率的偏差。
该速率偏差可以体现为接收端口和发送端口的带宽偏差,例如接收端口的带宽大于发送端口的带宽时,接收端口的速率大于发送端口的速率,因此需要在第一码块流中插入率适配码块,以时码流满足接收端口的带宽。
该速率偏差还可以体现为,接收端口和发送端口的频率偏差,例如,接收端口以+100ppm频率工作,而发送端口以-100ppm频率工作,结果就是两个端口间的频率偏差为200ppm。这200ppm的频率偏差需要进行本发明中的速率适配方法进行适配。
在具体实现时,可以通过在接收端口对应的缓存中设置buffer水线状态,在当前的数据流进入缓存速率过慢导致当前缓存数据低于已经设定的水线时,确定存在速率适配需求:需要在第一码流中插入速率适配码块,以提高数据流入速率。
可选的,所述相邻的第一码块和第二码块,可以是第一码块流中任意位置处的相邻的两个码块,比如第一码块和第二码块均位于第一报文中,或者第一码块位于第一报文中而第二码块位于第一报文之后的帧间隙(Inter Packet Gap,IPG),或者第一码块位于第一报文之前的帧间隙,第二码块位于第一报文中。
相应的,判断第一码块和第二码块的码块关系是否满足预设条件的判断位置可以是在第一码块流的任意位置。
一种可能的设计是,从第一码块流的第一个码块开始,按照码块顺序依次向后判断,判断位置遍历第一码块流中的所有码块位置。
示例性地,首先将第一码块流中的第1个码块作为第一码块、将第2个码块作为第二码块,然后判断当前的第一码块和当前的第二码块是否满足预设条件;
如果满足,则执行S1203;
否则,重新确定第一码块和第二码块,将第2个码块作为第一码块、将第3个码块作为第二码块,然后判断当前的第一码块和当前的第二码块是否满足预设条件;
如果满足,则执行S1203;
否则,重新确定第一码块和第二码块,将第3个码块作为第一码块、将第4个码块作为第二码块,然后判断当前的第一码块和当前的第二码块是否满足预设条件;
……
依次类推,直至查找到满足预设条件的第一码块和第二码块为止,然后执行S1203;或者直至查找到第一码块流的最后一个码块都没有满足预设条件的第一码块和第二码块为止,然后回到S1201,重新获取码块流。
当然,上述方式仅为举例而非限定,在实际实施时,也可以从第一码块流的其它位置开始判断,比如第一码块流的中间位置开始,分别向前和向后判断,或者从第一码块流的最后一个码块开始,依次向前判断等,这里不做限定。
可选的,所述相邻的第一码块和第二码块,可以是该第一码块流中处于预设位置的相邻的码块。
一种可能的设计是,所述相邻的第一码块和第二码块是第一码块流中位于帧间隙的相邻的两个码块。换而言之,第一码块可以是T码块或者T码块之后的码块,其中T码块是帧结束码块,第二码块可以是S码块或者S码块之前的码块,所述S码块是帧开始码块。
相应的,判断第一码块和第二码块的码块关系是否满足预设条件的判断位置可以在第一码块流的IPG中的任意位置。
一种可能的设计是,按照码块顺序依次检测第一码块流中每个码块的类型,比如合法的码块顺序是重复的SDDDDDTC SDDDDDDTC的序列,如图5B所示;当检测到任意一个IPG的开始码块(即检测到某个报文的最后一个码块,一般为T码块)后,从该任意一个帧间隙的开始码块开始,按照码块顺序依次向后判断,直至该IPG的结束码块(即下一个报文的第一个码块位置,一般为S码块)。
示例性地,假设第一码块流中第一个报文的T码块为第一码块流中第m个码块,第二个报文为第一码块流中第n个码块,其中n>m。则判断第一码块和第二码块的码块关系是否满足预设条件可以包括:
按照码块顺序依次检测第一码块流中每个码块的类型,在识别到第m个码块的码块类型时,确定第m码块为T码块,则将第一码块流中的第m个码块作为第一码块、将第m+1个码块作为第二码块,然后开始判断当前的第一码块和当前的第二码块是否满足预设条件;
如果满足,则执行S1203;
否则,重新确定第一码块和第二码块,将第m+1个码块作为第一码块、将第m+2个码块作为第二码块,然后判断当前的第一码块和当前的第二码块是否满足预设条件;
……
依次类推,直至查找到满足预设条件的第一码块和第二码块为止,然后执行S1203;或者直至识别到第一码块流中第n个码块,即S码块,都没有满足预设条件的第一码块和第二码块,然后暂停判断操作,继续往后识别码块类型,直至识别到下一个报文的T码块(假设为第o个码块)时,继续执行判断操作。
当然,上述方式仅为举例而非限定,在实际实施时,也可以从IPG的其它位置开始判断,比如IPG的中间位置开始,分别向前和向后判断,向前到T码块为止,向后到S码块为止;或者从IPG结束位置后的第一个码块(即S码块)开始,依次向前判断,直至IPG的第一个码块(即T码块)为止等,这里不做限定。
另外,在实际实施时,该预设位置还可以是其它位置,例如预设位置可以是IPG中一部分,或者覆盖范围大于IPG的预设位置等,这里不做限制。
可选的,在检测码块类型的过程中,如果检测到的不合法码块顺序的码块,可以选择对其替换为错误码块进行处理,也可以交由发送节点或接收节点进行处理。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
在本申请实施例中,所述预设条件包括但不限于以下2种:
第1种预设条件、第一码块和第二码块的码块关系不是插入速率适配码块后会导致报文解读出错的码块关系,例如第一码块和第二码块的码块关系不是以下码块关系中的任何一种:
第一码块是T码块,第二码块是T码块;
第一码块是T码块,第二码块是D码块;
第一码块是T码块,第二码块是E码块;
第一码块是D码块,第二码块是S码块;
第一码块是E码块,第二码块是S码块。
用{第一码块,第二码块}表示第一码块和第二码块的码块关系,则{第一码块,第二码块}表示不是以下码块关系中的任意一种:{T,T},{T,D},{T,E},{E,S}。
参见图10A至图10P,当第一码块和第二码块的码块关系以上任一种时,在第一码块和第二码块之间插入IDLE码块容易导致报文解读出错,因此要避开这些错误的码块关系。
当然,上述仅为举例而非限定,在实际实施时,如果还存在其它码块关系在插入速率适配码块后会导致前/后报文解读出错,则该其它码块关系也应包含在上述第1种预设条件的范围内,这里不进行穷举。
第2种预设条件、第一码块和第二码块的码块关系是插入速率适配码块后不会导致报文解读出错的码块关系,例如第一码块和第二码块的码块关系是以下码块关系中的任意一种:
第一码块是T码块,第二码块是IPG码块;
第一码块是IPG码块,第二码块是S码块;
第一码块是T码块,第二码块是S码块;
第一码块是IPG码块,第二码块是IPG码块。
一种可能的示例,第一码块和第二码块的码块关系(用{第一码块,第二码块}表示)是以下码块关系中的任意一种:{T,I},{T,S},{I,I},{O,I},{I,O},{I,S},{O,S},{O,O}。
当第一码块和第二码块的码块关系以上任一种时,在第一码块和第二码块之间插入IDLE码块不会导致报文解读出错,因此可以在这些码块关系的位置插入IDLE码块,进而保证码块解读的准确性。
应理解,这里的IPG码块是指位于IPG位置上码块,包括IDLE码块、O码块、E码块或D码块中的一种或多种。其中,当第一码块流出错时,IPG位置上可能出现D码块,则IPG码块可能包括D码块。
当然,上述仅为举例而非限定,在实际实施时,如果还存在其它码块关系在插入IDLE码块时不会导致前/后报文解读出错,则该其它码块关系也应包含在上述第2种预设条件的范围内,这里不穷举。
此外,上述第1种预设条件和第2种预设条件还可以同时实时,即需要判断第一码块和第二码块的码块关系需要是否同时满足上述第1种预设条件和第2种预设条件。
在本申请实施例中,在判断第一码块和第二码块的码块关系是否满足预设条件时,具体的判断方式包括但不限于以下两种:
第1种、先判断第一码块,再判断第二码块。
(1)以上述第1种预设条件为例:
先确定第一码块是否是T码块、D码块、E码块;
如果第一码块不是T码块、D码块、E是码块中的任一种,则直接确定第一码块和第二码块满足预设条件;
如果第一码块是T码块、D码块、E是码块中的一种,例如第一码块是D码块,则进一步判断第二码块是否是S码块;如果第二码块不是S码块,则确定第一码块和第二码块满足预设条件,否则确定第一码块和第二码块不满足预设条件。
(2)以上述第2种预设条件为例:
例如,先确定第一码块是否是T码块或IPG码块;如果第一码块既不是T码块也不是IPG码块,则直接确定第一码块和第二码块不满足预设条件;
如果第一码块是T码块或IPG码块,例如第一码块是T码块,则进一步判断第二码块是否是S码块或IPG码块;如果第二码块既不是S码块也不是IPG码块,则确定第一码块和第二码块不满足预设条件,否则确定第一码块和第二码块满足预设条件。
第2种、同时判断第一码块和第二码块。
(1)以上述第1种预设条件为例:
判断{第一码块,第二码块}是否是以下码块组合中的任意一种:{T,T},{T,D},{T,E},{E,S};如果是其中一种,则确定第一码块和第二码块的码块关系不满足预设条件,如果不是以上码块组合中的任何一种,则确定第一码块和第二码块的码块关系满足预设条件。
(2)以上述第2种预设条件为例:
判断{第一码块,第二码块}是否是以下码块组合中的任意一种:{T,I},{T,S},{I,I},{O,I},{I,O},{I,S},{O,S},{O,O};如果是其中一种,则确定第一码块和第二码块的码块关满足预设条件,如果不是以上码块组合中的任何一种,则确定第一码块和第二码块的码块关系不满足预设条件。
另外,上述S1202是当存在速率适配需求时,再判断第一码块和第二码块的码块关系是否满足预设条件。在具体实施时,在获取第一码块流之后,不存在速率适配需求时也可以执行判断(即获取第一码块流之后可以一直判断第一码块和第二码块的码块关系是否满足预设条件),当满足预设条件且存在速率适配需求时,再执行S1203。
S1203、当第一码块和第二码块的码块关系满足所述预设条件时,在第一码块和第二码块之间插入至少一个速率适配码块。
可选的,速率适配码块包括IDLE码块,但不排除还有其它可能性,比如还可以包括自定义的用于调整速率的码块,这里不做限制。
可选的,在第一码块和第二码块之间插入至少一个速率适配码块,具体可以包括:根据接收端口和发送端口的速率偏差,确定在第一码块和第二码块之间插入的速率适配码块的数量,其中,速率偏差越大,第一码块和第二码块之间插入的速率适配码块的数量越多;然后,在码块关系满足所述预设条件的第一码块和第二码块之间插入相应数量的速率适配码块。
需要说明的是,图12所示实施例,是在第一码块和第二码块的码块关系满足预设条件时,在第一码块和第二码块之间插入至少一个速率适配码块,在实际实施时,也可以是在当第一码块和第二码块的码块关系不满足另外一种预设条件时,在第一码块和第二码块之间插入至少一个速率适配码块。
可选的,另外一种预设条件可以与上述预设条件相反。
比如为:第一码块和第二码块的码块关系是以下码块关系中的任意一种:第一码块是T码块,第二码块是T码块;第一码块是T码块,第二码块是D码块;第一码块是T码块,第二码块是E码块;第一码块是D码块,第二码块是S码块;第一码块是E码块,第二码块是S码块。
比如为:第一码块和第二码块的码块关系不是以下码块关系中的任何一种:
第一码块是T码块,第二码块是IPG码块;
第一码块是IPG码块,第二码块是S码块;
第一码块是T码块,第二码块是S码块;
第一码块是IPG码块,第二码块是IPG码块。
应理解,无论是判断“满足”还是“不满足”预设条件,或者是其它描述方式,只要最终获得的技术方案实质是相同的,或者说技术构思是相同的,那么均在本申请的保护范围之内。
通过上述可知,本申请实施例在通过对第一码块流进行识别和检测,在需要进行速率适配时,基于预先识别出会引起报文接收出现错误的码块关系组合,避开这些可能引起错误的码块位置,进而在正确的码块位置进行速率适配码块的插入,可以保证码块流接收侧(宿端)对接收到报文的解读不受到速率适配的影响,可以提高速率适配的可靠性。
上述图12所示的相关实施例介绍的是在需要提高接收端口速率的场景下以码块为粒度的速率适配方法。下面介绍需要降低接收端口速率的场景下以码块为粒度的速率适配方法。
如图13所示,为本申请实施例提供的另一种速率适配方法的流程图,该方法可以应用于图11所示的网络架构,该方法具体可以是中间节点或接收节点执行,或者其它需要进行速率适配的节点来执行。方法包括:
S1301、获取第一码块流,第一码块流包括相邻的第一码块、至少两个速率适配码块以及第二码块。
应理解,本文中相邻的第一码块、至少两个速率适配码块以及第二码块是指,该至少两个速率适配码块在第一码流中是连续的,或者说序列的。换而言之,按照码块顺序,第一码块位于至少两个速率适配码块之前,且第一码块和至少两个速率适配码块之间没有其他码块,第二码块位于至少两个速率适配码块之后,且第二码块和至少两个速率适配码块之间没有其他码块,应理解,该至少两个速率适配码块也是连续的或者说序列的。如图14所示,示出了相邻的第一码块、3个速率适配码块以及第二码块的示意图。
可选的,获取第一码块流,具体实现方式可以是:从缓存中读取的码块流。
可选的,读取方式可以是按照先进先出的规则读取。进一步可选的,每次读取预设长度的码块流。
S1302、当存在速率适配需求时,判断第一码块和第二码块的码块关系是否满足预设条件。
类似的,在具体实现时,可以通过在接收端口对应的缓存中设置buffer水线状态,在当前的数据流进入缓存速率过快导致当前缓存数据高于已经设定的水线时,确定存在速率适配需求:需要在第一码流中删除速率适配码块,以降低数据流入速率。
可选的,所述相邻的第一码块、至少两个速率适配码块以及第二码块,可以是第一码块流中任意位置处的码块,比如第一码块、至少两个速率适配码块以及第二码块均位于第一报文中,或者第一码块位于第一报文中而至少两个速率适配码块以及第二码块位于第一报文之后的帧间隙,或者第一码块、至少两个速率适配码块位于第一报文之前的帧间隙,第二码块位于第一报文中。
相应的,判断第一码块和第二码块的码块关系是否满足预设条件的判断位置可以是在第一码块流的任意位置。
一种可能的设计是,从第一码块流的第一个码块开始,按照码块顺序依次向后判断,判断位置遍历第一码块流中的所有码块位置。
示例性地,首先将第一码块流中的第1个码块作为第一码块,判断第一码块之后是否有至少两个速率适配码块,如果有,则将该至少两个速率适配码块之后的码块作为第二码块,然后判断当前的第一码块和当前的第二码块是否满足预设条件;
如果不满足,则执行S1303;
否则,执行1304;或者重新确定第一码块,将第2个码块作为第一码块,判断第一码块之后是否有至少两个速率适配码块,如果有,则将该至少两个速率适配码块之后的码块作为第二码块,然后判断当前的第一码块和当前的第二码块是否满足预设条件;
如果不满足,则执行S1303;
否则,执行1304;或者重新确定第一码块,将第3个码块作为第一码块,判断第一码块之后是否有至少两个速率适配码块,如果有,则将该至少两个速率适配码块之后的码块作为第二码块,然后判断当前的第一码块和当前的第二码块是否满足预设条件;
……
依次类推,直至查找到不满足预设条件的第一码块和第二码块为止,然后执行S1303;或者直至查找到第一码块流最后一个码块都没有不满足预设条件的第一码块和第二码块为止,然后回到S1301,重新获取码块流。
当然,上述方式仅为举例而非限定,在实际实施时,也可以从第一码块流的其它位置开始判断,比如第一码块流的中间位置开始,分别向前和向后判断,或者从第一码块流的最后一个码块开始,依次向前判断等,这里不做限定。
可选的,所述相邻的第一码块和第二码块,可以是该第一码块流中处于预设位置的相邻的码块。
一种可能的设计是,所述相邻的第一码块和第二码块是第一码块流中位于帧间隙位置上的相邻的两个码块。换而言之,第一码块可以是T码块或者T码块之后的码块,其中T码块是帧结束码块,第二码块可以是S码块或者S码块之前的码块,所述S码块是帧开始码块。
相应的,判断第一码块和第二码块的码块关系是否满足预设条件的判断位置可以在第一码块流的IPG中的任意位置。
一种可能的设计是,按照码块顺序依次检测第一码块流中每个码块的类型,比如合法的码块顺序是重复的SDDDDDTC SDDDDDDTC的序列,如图5B所示;当检测到任意一个T码块(即检测到某个报文的最后一个码块,或者说检测到某个IPG的开始码块)后,从该任意一个T码块(即该报文的最后一个码块位置,或者说该IPG的开始码块)开始,按照码块顺序依次向后判断,直至S码块为止(即下一个报文的第一个码块位置,或者说直至该IPG的结束码块)。
示例性地,假设第一码块流中第一个报文的T码块为第一码块流中第m个码块,第二个报文为第一码块流中第n个码块,其中n>m。则判断第一码块和第二码块的码块关系是否满足预设条件可以包括:
按照码块顺序依次检测第一码块流中每个码块的类型,在识别到第m个码块的码块类型时,确定第m码块为T码块,则将第一码块流中的第m个码块作为第一码块,然后判断第一码块之后是否有至少两个速率适配码块;
如果有,则将该至少两个速率适配码块之后的码块作为第二码块,然后判断当前的第一码块和当前的第二码块是否满足预设条件,如果不满足,则执行S1303;
否则,执行1304;或者重新确定第一码块,将第m+1个码块作为第一码块,然后判断第一码块之后是否有至少两个速率适配码块;
……
依次类推,直至查找到不满足预设条件的第一码块和第二码块为止,然后执行S1303;或者直至识别到第一码块流中第n个码块,即S码块,都没有不满足预设条件的第一码块和第二码块,然后暂停判断操作,继续往后识别码块类型,直至识别到第二个报文的T码块(假设为第o个码块),从第o个码块重新开始判断操作。
当然,上述方式仅为举例而非限定,在实际实施时,也可以从IPG的其它位置开始判断,比如IPG的中间位置开始,分别向前和向后判断,向前到T码块为止,向后到S码块为止;或者从IPG结束位置后的第一个码块(即S码块)开始,依次向前判断,直至IPG的第一个码块(即T码块)为止等,这里不做限定。
另外,在实际实施时,预设位置还可以是其它位置,例如预设位置可以是IPG中一部分,或者覆盖范围大于IPG的预设位置等,这里不做限制。
可选的,在检测码块类型的过程中,如果检测到的不符合合法码块顺序的码块,可以选择对其替换为E码块进行处理,也可以交由发送节点或接收节点进行处理。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
在本申请实施例中,在每个判断位置判断第一码块和第二码块的码块关系是否满足预设条件时,具体的判断方式包括但不限于以下两种:第1种、先判断第一码块,再判断第二码块;第2种、同时判断第一码块和第二码块。以上两种方式的具体实现可以参考上文S1202中的相关内容,这里不再赘述。
另外,上述S1302是当存在速率适配需求时,再判断第一码块和第二码块的码块关系是否满足预设条件。在具体实施时,在获取第一码块流之后,不存在速率适配需求时也可以执行判断(即获取第一码块流之后可以一直判断第一码块和第二码块的码块关系是否满足预设条件),当不满足预设条件且存在速率适配需求时,再执行S1303。
S1303、当第一码块和第二码块的码块关系不满足预设条件时,删除至少两个速率适配码块中的至少一个速率适配码块,删除后第一码块和第二码块之间包括至少一个速率适配码块。
如果将不满足预设条件的第一码块和第二码块之间的全部速率适配码块删除,将导致第一码块和第二码块相邻,并出现导致相邻的报文被接收端的PCS decode解读为出错的码块流的组合,如T和T、T和D、T和E、E和S等。因此,如果第一码块和第二码块是以下码块关系中的任意一种:{T,T},{T,D},{T,E},{E,S},{D,S}则删除后第一码块和第二码块之间至少要保留一个速率适配码块,来避免{T,T},{T,D},{T,E},{E,S},{D,S}等组合的出现。
S1304、当第一码块和第二码块的码块关系满足预设条件时,删除至少两个速率适配码块中的至少一个速率适配码块,删除后第一码块和第二码块之间没有速率适配码块或包括至少一个速率适配码块。
相反地,对于满足预设条件的第一码块和第二码块,如果将满足预设条件的第一码块和第二码块之间的全部速率适配码块删除,也将导致第一码块和第二码块相邻,但是不会出现导致相邻的报文被接收端的PCS decode解读为出错的码块流的组合,如不会出现T和T、T和D、T和E、E和S等组合。因此,如果第一码块和第二码块不是{T,T},{T,D},{T,E},{E,S},{D,S}中的任何一种,或者第一码块和第二码块是{T,I},{T,S},{I,I},{O,I},{I,O},{I,S},{O,S},{O,O}中的任意一种,则删除后第一码块和第二码块之间无论是否保留速率适配码块,都不会有{T,T},{T,D},{T,E},{E,S}等组合的出现。
类似的,速率适配码块可以包括IDLE码块。但不排除还有其它可能性,比如还可以包括自定义的用于调整速率的码块,这里不做限制。
类似的,删除第一码块和第二码块之间的至少一个速率适配码块,具体可以包括:根据接收端口和发送端口的速率偏差,确定需要在第一码块和第二码块之间删除的速率适配码块的数量,其中,速率偏差越大,需要删除的速率适配码块的数量越多;然后,在码块关系满足所述预设条件的第一码块和第二码块之间删除相应数量的速率适配码块。
类似的,上述描述方式“满足”和“不满足”也可以相互置换,相应的预设条件也可以置换。但无论是“判断满足预设条件”还是“判断不满足预设条件”,或者是其它描述方式,只要最终获得的技术方案实质是相同的,或者说技术构思是相同的,那么均在本申请的保护范围之内。
通过上述可知,本申请实施例在通过对第一码块流进行识别和检测,在需要进行速率适配时,基于预先识别出会引起报文接收出现错误的码块关系组合,在删除速率适配码块时,尽可能地避免这些码块关系组合出现,可以保证接收侧对接收到报文的解读不受到速率适配的影响,可以提高速率适配的可靠性。
图13所示的相关实施例介绍的是在需要降低接收端口速率的场景下,第一码块和第二码块之间有多个速率适配码块时,以码块为粒度的速率适配方法。下面介绍在需要降低接收端口速率的场景下,第一码块和第二码块之间只有一个速率适配码块时,以码块为粒度的速率适配方法。
如图15所示,为本申请实施例提供的另一种速率适配方法的流程图,该方法可以应用于图11所示的网络架构,该方法具体可以是中间节点或接收节点执行,或者其它需要进行速率适配的节点来执行。方法包括:
S1501、获取第一码块流,第一码块流包括相邻的第一码块、速率适配码块以及第二码块。
S1501的具体实现方式可以参考上文中S1301的具体实现方式,不同之处仅在于这里的第一码块和第二码块之间仅有一个速率适配码块,而S1301中第一码块和第二码块之间有多个速率适配码块。
S1502、当存在速率适配需求时,判断第一码块和第二码块的码块关系是否满足预设条件。
S1502的具体实现方式可以参考上文中S1301的具体实现方式,不同之处仅在于这里的第一码块和第二码块之间仅有一个速率适配码块,而S1301中第一码块和第二码块之间有多个速率适配码块。
S1503、当第一码块和第二码块的码块关系满足预设条件时,删除该速率适配码块,删除后第一码块和第二码块之间没有速率适配码块。
因为将不满足预设条件的第一码块和第二码块之间的速率适配码块删除,将导致第一码块和第二码块相邻,并出现导致相邻的报文被接收端的PCS decode解读为出错的码块流的组合,如T和T、T和D、T和E、E和S等。因此,如果第一码块和第二码块的码块关系不满足预设条件,例如第一码块和第二码块是以下码块关系中的任意一种:{T,T},{T,D},{T,E},{E,S},第一码块和第二码块之间的速率适配码块不能被删除,以避免{T,T},{T,D},{T,E},{E,S}等组合的出现。
相反地,对于满足预设条件的第一码块和第二码块,如果将满足预设条件的第一码块和第二码块之间的速率适配码块删除,也将导致第一码块和第二码块相邻,但是不会出现导致相邻的报文被接收端的PCS decode解读为出错的码块流的组合,如不会出现T和T、T和D、T和E、E和S等组合。因此,如果第一码块和第二码块的码块关系满足预设条件,例如第一码块和第二码块不是{T,T},{T,D},{T,E},{E,S}中的任何一种,或者第一码块和第二码块是{T,I},{T,S},{I,I},{O,I},{I,O},{I,S},{O,S},{O,O}中的任意一种,则可以删除第一码块和第二码块之间的速率适配码块。
类似的,速率适配码块可以包括IDLE码块。但不排除还有其它可能性,比如还可以包括自定义的用于调整速率的码块,这里不做限制。
类似的,上述描述方式“满足”也可以置换为“不满足”,相应的预设条件也可以置换。但无论是“判断满足预设条件”还是“判断不满足预设条件”,或者是其它描述方式,只要最终获得的技术方案实质是相同的,或者说技术构思是相同的,那么均在本申请的保护范围之内。
通过上述可知,本申请实施例在通过对第一码块流进行识别和检测,在需要进行速率适配时,基于预先识别出会引起报文接收出现错误的码块关系组合,避开这些可能引起错误的码块位置,进而在正确的码块位置进行速率适配码块的删除,可以保证接受侧对接受到报文的解读不受到速率适配的影响,提高了速率适配的可靠性。
以上图11~图15所示的相关实施例介绍的是以码块为例度的速率适配方案,基于相同的技术构思,本申请实施例还提供以字符为例度的速率适配方案。
如图16所示,为本申请实施例提供的另一种速率适配方法的流程图,该方法可以应用于图11所示的网络架构,该方法具体可以是中间节点或接收节点执行,或者其它需要进行速率适配的节点来执行。方法包括:
S1601、获取第一字符流,第一字符流包括相邻的第一码块对应的字符和第二码块对应的字符。
其中,第一码块和第二码块的具体实现方式可以参考上文S1201中第一码块和第二码块的具体实现方式,这里不再赘述。
可选的,在获取第一字符流之前,方法还包括:获取第一码块流,第一码块流包括相邻的第一码块和第二码块;对第一码块流进行解码,获得第一字符流。
进一步可选的,在获取第一字符流之前,还可以对第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将码块格式和/或码块顺序不符合规定的码块替换为E码块,获得纠错后的第一码块流。之后,再对纠错后的第一码块流进行解码,获得第一字符流。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
这样,可以尽可能地减少码流中出现会引起报文接收解读错误的码块关系组合。
可选的,对纠错后的第一码块流进行解码,包括:对纠错后的第一码块流中除预设码块之外的其它码块进行解码,其中预设码块可以是O码块,或者其它自定义的码块。一种可能的设计是:该预设码块是MTN中出现而以太网中还未出现的码块。这样,可以避免正确的码块被误(如O码块)被认为错误的码块而被处理,避免损失O码块中的OAM信息。
S1602、当存在速率适配需求时,判断第一码块和第二码块的码块关系是否满足预设条件。
具体实现方式可以参考上文S1201中的具体实现方式,这里不再赘述。
S1603、当第一码块和第二码块的码块关系满足预设条件时,在第一码块对应的字符和第二码块对应的字符之间插入至少一个速率适配码块对应的字符。
可选的,速率适配码块包括IDLE码块,但不排除还有其它可能性,比如还可以包括自定义的用于调整速率的码块,这里不做限制。相应的,速率适配码块对应的字符(简称速率适配字符)包括IDLE字符,但不排除还有其它可能性,比如还可以包括自定义的用于调整速率的字符,这里不做限制。后文速率适配字符以IDLE字符为例,且插入IDLE字符是以8个连续的DILE字符为一组进行插入,一组DILE字符对应一个IDLE码块。
在本申请实施例中,在第一码块对应的字符和第二码块对应多个字符之间插入至少一个速率适配码块对应的字符,包括但不限于以下几种实现方式:
1)在第一码块对应的最后一个字符之后,第二码块对应多个第一个字符之间插入至少一个速率适配码块对应的字符。
例如,第一码块为T7码块(图2中最后一行,对应字符为“DDDDDDDT”,块类型为0xFF),第二码块为S码块(图2中倒数第10行码块,对应字符为“SDDDDDDD”,块类型为0x78),则在T7码块的字符“T”之后,S码块的字符“S”之前插入至少一个速率适配码块对应的字符,如N*8个IDLE字符,其中每8个IDLE字符对应一个IDLE码块,N为大于1的正整数。
2)若第一码块最后几个字符均为IDLE字符,则可以在第一码块最后一个非IDLE字符之后,第二码块的第一个字符之前的任意位置插入至少一个IDLE码块对应的字符。换而言之,IDLE字符可以在第一码块的最后几个IDLE字符所在位置进行插入。
虽然插入的位置并非是在第一码块对应的最后一个字符之后以及第二码块对应的第一个字符之前,但是插入IDLE字符后形成的字符组合与在第一码块对应的最后一个字符之后以及第二码块对应的第一个字符之前插入IDLE字符后形成的字符组合是相同的,所以等同于是在第一码块对应的最后一个字符之后以及第二码块对应的第一个字符之前插入IDLE字符。
例如,第一码块是T4码块(图2中倒数第4行,块类型为0xCC),第二码块是S码块(图2中倒数第10行,块类型为0x78),为了便于表述,本文用“I”表示IDLE字符,则第一码块,对应字符为“DDDDTIII”,第二码块,对应字符为“SDDDDDDD,则可以有以下几种插入ILDE字符的方式:
在第一码块对应的最后一个字符之后以及第二码块对应的第一个字符之前插入一个IDLE码块的字符,即“DDDDTIII”+“IIIIIIII”+“SDDDDDDD”,插入后的字符为“DDDDTIIIIIIIIIIISDDDDDDD”;
在第一码块对应的倒数第二个字符之后以及第一码块对应的最后一个字符之前插入一个IDLE码块的字符,即“DDDDTII”+“IIIIIIII”+“I”+“SDDDDDDD”,插入后的字符为“DDDDTIIIIIIIIIIISDDDDDDD”;
在第一码块对应的倒数第三个字符之后以及第一码块对应的倒数第二个字符之前插入一个IDLE码块的字符,即“DDDDTI”+“IIIIIIII”+“II”+“SDDDDDDD”,插入后的字符为“DDDDTIIIIIIIIIIISDDDDDDD”;
在第一码块对应的倒数第四个字符(即最后一个非IDLE字符)之后以及第一码块对应的倒数第三个字符之前插入一个IDLE码块的字符,即“DDDDT”+“IIIIIIII”+“III”+“SDDDDDDD”,插入后的字符为“DDDDTIIIIIIIIIIISDDDDDDD”。
可见,上述四种插入方式最终的结果是一致的。
进一步的,在IDLE字符插入完成后,还对插入IDLE字符后的第一字符流进行编码,形成第二码块流。这样最终生成的码块流和图12所示实施例插入速率适配码块后形成的码块流的效果是一致的。
应理解,如果在对第一码块流进行解码时是对除预设码块之外的其它码块进行解码,那么这里在对插入字符后所获得的字符流进行编码之后,还需要在第二码块流中插入该预设码块,以避免原码块流中的信息缺失,保证速率适配的可靠性。
类似的,上述描述方式“满足”可以置换为“不满足”,相应的预设条件也可以置换。但无论是“判断满足预设条件”还是“判断不满足预设条件”,或者是其它描述方式,只要最终获得的技术方案实质是相同的,或者说技术构思是相同的,那么均在本申请的保护范围之内。
通过上述可知,本申请实施例在通过对第一码块流进行识别和检测,在需要进行速率适配时,基于预先识别出会引起报文接收出现错误的码块关系组合对应的字符,避开这些可能引起错误的字符位置,进而在正确的字符位置进行速率适配字符的插入,可以保证接收侧对接收到报文的解读不受到速率适配的影响,提高了速率适配的可靠性。
图16所示的相关实施例介绍的是在需要提高接收端口速率的场景下,以字符为粒度的速率适配方法。下面介绍需要降低接收端口速率的场景下,以字符为粒度的速率适配方法。
如图17所示,为本申请实施例提供的另一种速率适配方法的流程图,该方法可以应用于图11所示的网络架构,该方法具体可以是中间节点或接收节点执行,或者其它需要进行速率适配的节点来执行。方法包括:
S1701、获取第一字符流,第一字符流包括相邻的第一码块对应的字符、至少两个速率适配码块对应的字符和第二码块对应的字符。
应理解,这里相邻的第一码块对应的字符、至少两个速率适配码块对应的字符和第二码块对应的字符,是指相邻的第一码块、至少两个速率适配码块以及第二码块对应的字符,关于相邻的第一码块、至少两个速率适配码块以及第二码块的介绍请参见上文S1301中的相关解释,这里不再赘述。
第一码块和第二码块的具体实现方式可以参考上文S1301中第一码块和第二码块的具体实现方式,这里不再赘述。
获取第一字符流的具体实现方式可以参考上文S1601中获取第一字符流的具体实现方式,不同之处仅在于这里第一码块对应的字符和第二码块对应的字符之间还有至少两个速率适配码块对应的字符。
S1702、当存在速率适配需求时,判断第一码块和第二码块的码块关系是否满足预设条件。
S1702的具体实现方式可以参见上文S1302的具体实现方式,这里不再赘述。
S1703、当第一码块和第二码块的码块关系不满足预设条件时,删除至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符,删除后第一码块对应的字符和第二码块对应的字符之间包括至少一个速率适配码块对应的字符。
S1703的具体实现方式与上述S1303类似,不同之处仅在于删除是以字符方式进行。具体的,对于不满足预设条件的第一码块和第二码块之间的全部速率适配字符删除后,对删除后的第一字符流重新编码,则将导致第一码块和第二码块相邻,且可能出现导致相邻的报文被接收端的PCS decode解读为出错的码块流的组合,如T和T、T和D、T和E、E和S等组合。因此需要至少保留至少一个速率适配码块对应的字符,以避免重编码后第一码块和第二码块相邻。
S1703、当第一码块和第二码块的码块关系满足预设条件时,删除至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符,删除后第一码块对应的字符和第二码块对应的字符之间没有速率适配码块对应的字符或者包括至少一个速率适配码块对应的字符。
S1704的具体实现方式与上述S1304类似,不同之处仅在于删除是以字符方式进行。具体的,对于满足预设条件的第一码块和第二码块之间的全部速率适配码块删除后,对删除后的第一字符流重新编码,则将导致第一码块和第二码块相邻,但是不会出现导致相邻的报文被接收端的PCS decode解读为出错的码块流的组合,如不会出现T和T、T和D、T和E、E和S等组合,所以删除后第一码块对应的字符和第二码块对应的字符之间可以没有速率适配码块对应的字符,也可以有速率适配码块对应的字符。
类似的,速率适配码块包括IDLE码块,但不排除还有其它可能性,比如还可以包括自定义的用于调整速率的码块,这里不做限制。相应的,速率适配码块对应的字符(简称速率适配字符)包括IDLE字符,但不排除还有其它可能性,比如还可以包括自定义的用于调整速率的字符,这里不做限制。后文以IDLE字符为例,且删除字符是以8个连续的DILE字符为一组进行删除(8个DILE字符对应一个IDLE码块)。
在本申请实施例中,在第一码块对应的字符和第二码块对应多个字符之间删除至少一个速率适配码块对应的字符,包括但不限于以下几种实现方式:
1)在第一码块对应的最后一个字符之后,第二码块对应多个第一个字符之间删除至少一个速率适配码块对应的字符。
例如,第一字符流包括“DDDDDDDTIIIIIIIIIIIIIIIISDDDDDDD”,其中,第一码块为T7码块,对应字符“DDDDDDDT”,第二码块为S码块,对应字符“SDDDDDDD”,则可以在T7码块的字符“T7”之后,则在S码块的字符“S0”之前删除至少一个速率适配码块对应的字符,如删除““IIIIIIIIIIIIIIII””,删除后字符形成的字符组合为“DDDDDDDTSDDDDDDD”。
2)若第一码块最后几个字符均为IDLE字符,则可以在第一码块最后一个非IDLE字符之后,第二码块的第一个字符之前的任意位置删除至少一个IDLE码块对应的字符。换而言之,可以在第一码块的最后几个IDLE字符所在位置删除IDLE字符。
虽然删除的位置并非是在第一码块对应的最后一个字符之后以及第二码块对应的第一个字符之前,但是删除IDLE字符后形成的字符组合与在第一码块对应的最后一个字符之后以及第二码块对应的第一个字符之前删除IDLE字符后形成的字符组合是相同的,所以等同于是在第一码块对应的最后一个字符之后以及第二码块对应的第一个字符之前删除IDLE字符。
例如,第一字符流包括“DDDDTIIIIIIIIIIIIIIIIIIISDDDDDDD”,其中第一码块是T4码块,对应字符“DDDDTIII”,第二码块是S码块,对应字符“SDDDDDDD”,则可以有以下几种删除ILDE字符的方式:
1)在第一码块对应的最后一个字符之后以及第二码块对应的第一个字符之前删除两个IDLE码块,即删除““DDDDTIII(IIIIIIIIIIIIIIII)SDDDDDDD”中用“()”标识的部分,删除后的字符为“DDDDTIIISDDDDDDD”;
2)在第一码块对应的倒数第二个字符之后删除两个IDLE码块的字符,即删除“DDDDTII(IIIIIIIIIIIIIIII)ISDDDDDDD”中用“()”标识的部分,删除后的字符为“DDDDTIIISDDDDDDD”;
3)在第一码块对应的倒数第三个字符之后删除两个IDLE码块的字符,即删除“DDDDTI(IIIIIIIIIIIIIIII)IISDDDDDDD”中用“()”标识的部分,删除后的字符为“DDDDTIIISDDDDDDD”;
4)在第一码块对应的倒数第四个字符(即最后一个非IDLE字符)之后删除两个IDLE码块的字符,即删除“DDDDT(IIIIIIIIIIIIIIII)IIISDDDDDDD”中用“()”标识的部分,删除后的字符为“DDDDTIIISDDDDDDD”。
可见,上述四种删除方式最终的结果是一致的。
进一步的,在删除IDLE字符完成后,还对删除IDLE字符后的第一字符流进行编码,形成第二码块流。这样最终生成的码块流和图13所示实施例删除速率适配码块后形成的码块流的效果是一致的。
应理解,如果在对第一码块流进行解码时是对除预设码块之外的其它码块进行解码,那么这里在对删除字符后所获得的字符流进行编码之后,需要在重编码后获得的第二码块流中插入该预设码块,以避免原码块流中的信息缺失,保证速率适配的可靠性。
类似的,上述描述方式“满足”和“不满足”也可以相互置换,相应的预设条件也可以置换。但无论是“判断满足预设条件”还是“判断不满足预设条件”,或者是其它描述方式,只要最终获得的技术方案实质是相同的,或者说技术构思是相同的,那么均在本申请的保护范围之内。
通过上述可知,本申请实施例在通过对第一字符流进行识别和检测,在需要进行速率适配时,基于预先识别出会引起报文接收解读出现错误的码块关系组合对应的字符,避开这些可能引起错误的字符位置,进而在正确的字符位置进行速率适配字符的删除,可以保证接收侧对接收到报文的解读不受到速率适配的影响,可以提高速率适配的可靠性。
图17所示的相关实施例介绍的是在需要降低接收端口速率的场景下,第一码块和第二码块之间有多个速率适配码块时,以字符为粒度的速率适配方法。下面介绍在需要降低接收端口速率的场景下,第一码块和第二码块之间只有一个速率适配码块时,以字符为粒度的速率适配方法。
如图18所示,为本申请实施例提供的另一种速率适配方法的流程图,该方法可以应用于图11所示的网络架构,该方法具体可以是中间节点或接收节点执行,或者其它需要进行速率适配的节点来执行。方法包括:
S1801、获取第一字符流,第一码块流包括相邻的第一码块对应的字符、速率适配码块对应的字符以及第二码块对应的字符。
S1801的具体实现方式可以参考上述S1601、S1701等的具体实现方式,不同之处仅在于,S1801中第一码块对应的字符和第二码块对应的字符之间只有一个速率适配码块对应的字符。
S1802、当存在速率适配需求时,判断第一码块和第二码块的码块关系是否满足预设条件。
S1802的具体实现方式可以参考上述S1602、S1702的具体实现方式,不同之处仅在于,S1802中第一码块对应的字符和第二码块对应的字符之间只有一个速率适配码块对应的字符。
S1803、当第一码块和第二码块的码块关系满足预设条件时,删除速率适配码块对应的字符。
S1803的具体实现方式与上述S1503类似,不同之处仅在于删除是以字符方式进行。
或者说,S1803的具体实现方式与上述S1703类似,不同之处仅在于这里第一码块对应的字符和第二码块对应的字符之间只有一个速率适配码块对应的字符。
在不满足预设条件的情况下,要保留至少一个速率适配码块对应的字符,即不能删除速率适配码块对应的字符,而在满足预设条件的情况下,可以不保留速率适配码块对应的字符,所以可以删除速率适配码块对应的字符。
因为对于不满足预设条件的第一码块和第二码块,如果将第一码块对应的字符和第二码块对应的字符之间的速率适配字符删除后,对删除后的第一字符流重新编码,则将导致第一码块和第二码块相邻,且可能出现导致相邻的报文被接收端的PCS decode解读为出错的码块流的组合,如T和T、T和D、T和E、E和S等组合。因此,如果第一码块和第二码块的码块关系不满足预设条件,例如第一码块和第二码块是以下码块关系中的任意一种:{T,T},{T,D},{T,E},{E,S},第一码块对应的字符和第二码块对应的字符之间的速率适配字符不能被删除,以避免重编码后出现{T,T},{T,D},{T,E},{E,S}等组合。
相反地,对于满足预设条件的第一码块和第二码块,如果将满足预设条件的第一码块对应的字符和第二码块对应的字符之间的速率适配字符删除,重编码后也将导致第一码块和第二码块相邻,但不会出现导致相邻的报文被接收端的PCS decode解读为出错的码块流的组合,如不会出现T和T、T和D、T和E、E和S等组合。因此,如果第一码块和第二码块的码块关系满足预设条件,例如第一码块和第二码块不是{T,T},{T,D},{T,E},{E,S}中的任何一种,或者第一码块和第二码块是{T,I},{T,S},{I,I},{O,I},{I,O},{I,S},{O,S},{O,O}中的任意一种,则第一码块对应的字符和第二码块对应的字符之间的速率适配字符可以被删除。
进一步的,在删除IDLE字符完成后,还对删除IDLE字符后的第一字符流进行编码,形成第二码块流。这样最终生成的码块流和图15所示实施例删除速率适配码块后形成的码块流的效果是一致的。
应理解,如果在对第一码块流进行解码时是对除预设码块之外的其它码块进行解码,那么这里在对删除字符后所获得的字符流进行编码之后,需要在重编码后获得的第二码块流中插入该预设码块,以避免原码块流中的信息缺失,保证速率适配的可靠性。
类似的,上述描述方式“满足”也可以置换为“不满足”,相应的预设条件也可以置换。但无论是“判断满足预设条件”还是“判断不满足预设条件”,或者是其它描述方式,只要最终获得的技术方案实质是相同的,或者说技术构思是相同的,那么均在本申请的保护范围之内。
通过上述可知,本申请实施例在通过对第一字符流进行识别和检测,在需要进行速率适配时,基于预先识别出会引起报文接收出现错误的码块关系组合所对应的字符,避开这些可能引起错误的字符位置,进而在正确的字符位置进行速率适配字符的删除,可以保证接收侧对接收到报文的解读不受到速率适配的影响,提高了速率适配的可靠性。
应理解,本申请实施例中的各个实施方式可以相互结合以实现不同的技术效果。
参见图19,基于同一技术构思,本申请实施例还提供一种速率适配装置1900,所述装置1900包括:
获取单元1901,用于获取第一码块流,所述第一码块流包括相邻的第一码块和第二码块;
处理单元1902,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,在所述第一码块和所述第二码块之间插入至少一个速率适配码块。
可选的,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;
所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
可选的,所述预设条件包括:
所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,
所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
可选的,所述处理单元1902在判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件时,具体用于:
按照码块顺序依次检测所述第一码块流中每个码块的类型;
当检测到帧间隙的任一码块后,将所述任一码块作为第一码块,将所述任一码块之后的相邻码块作为第二码块,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件。
可选的,所述处理单元1902还用于:在所述第一码块和所述第二码块之间插入至少一个速率适配码块之前,对所述第一码块流进行解码,获得第一字符流;
所述处理单元1902在所述第一码块和所述第二码块之间插入至少一个速率适配码块时,具体用于:
在所述第一码块对应的字符和所述第二码块对应字符之间插入至少一个速率适配码块对应的字符。
可选的,所述处理单元1902还用于:
在对所述第一码块流进行解码之前,对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块。
可选的,所述处理单元1902在对所述第一码块流进行解码时,具体用于:
对除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
可选的,所述处理单元1902还用于:
在所述第一码块对应的字符和所述第二码块对应字符之间插入至少一个速率适配码块对应的字符之后,对插入所述至少一个速率适配码块对应的字符后所获得的字符流进行编码,获得第二码块流;在所述第二码块流中插入所述预设码块。
参见图20,基于同一技术构思,本申请实施例还提供一种速率适配装置2000,包括:
获取单元2001,用于获取第一码块流,所述第一码块流包括相邻的第一码块、至少两个速率适配码块以及第二码块;
处理单元2002,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系不满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块中的至少一个速率适配码块,删除后所述第一码块和所述第二码块之间包括至少一个速率适配码块。
可选的,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;
所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
可选的,所述预设条件包括:
所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,
所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
可选的,所述处理单元2002在判断所述第一码块和所述第二码块的码块关系是否满足预设条件时,具体用于:
按照码块顺序依次检测所述第一码块流中每个码块的类型;
当检测到帧间隙的任一码块后,将所述任一码块作为第一码块,将所述任一码块之后且与所述任一码块间隔至少两个速率适配码块的码块作为第二码块,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件。
可选的,所述处理单元2002还用于:在删除所述至少两个速率适配码块中的至少一个速率适配码块之前,对所述第一码块流进行解码,获得第一字符流;
所述处理单元2002在删除所述至少两个速率适配码块中的至少一个速率适配码块时,具体用于:删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符。
可选的,所述处理单元2002还用于:
在对所述第一码块流进行解码之前,对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块。
可选的,所述处理单元2002在对所述第一码块流进行解码时,具体用于:对除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
可选的,所述处理单元2002还用于:
在删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符之后,对删除所述至少一个速率适配码块对应的字符之后所获得的字符流进行编码,获得第三码块流;在所述第二码块流中插入所述预设码块。
可选的,所述处理单元2002还用于:
当所述第一码块和所述第二码块的码块关系满足所述预设条件时,删除所述至少两个速率适配码块中的至少一个速率适配码块,删除后所述第一码块和所述第二码块之间没有速率适配码块或包括至少一个速率适配码块。
参见图21,基于同一技术构思,本申请实施例还提供一种速率适配装置2100,该装置2100包括:
获取单元2101,用于获取第一码块流,所述第一码块流包括相邻的第一码块、至少两个速率适配码块以及第二码块;
处理单元2102,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块中的至少一个速率适配码块,删除后所述第一码块和所述第二码块之间没有速率适配码块或包括至少一个速率适配码块。
可选的,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
可选的,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
可选的,所述处理单元2102在判断所述第一码块和所述第二码块的码块关系是否满足预设条件时,具体用于:按照码块顺序依次检测所述第一码块流中每个码块的类型;当检测到帧间隙的任一码块后,将所述任一码块作为第一码块,将所述任一码块之后且与所述任一码块间隔至少两个速率适配码块的码块作为第二码块,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件。
可选的,所述处理单元2102还用于:在删除所述至少两个速率适配码块中的至少一个速率适配码块之前,对所述第一码块流进行解码,获得第一字符流;删除所述至少两个速率适配码块中的至少一个速率适配码块,包括:删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符。
可选的,所述处理单元2102还用于:在对所述第一码块流进行解码之前,对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
可选的,所述处理单元2102对所述第一码块流进行解码时,具体用于:对除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
可选的,所述处理单元2102还用于:在删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符之后,对删除所述至少一个速率适配码块对应的字符之后所获得的字符流进行编码,获得第三码块流;在所述第二码块流中插入所述预设码块。
参见图22,基于同一技术构思,本申请实施例还提供一种速率适配装置2200,该装置2200包括:
获取单元2201,用于获取第一码块流,所述第一码块流包括相邻的第一码块、速率适配码块以及第二码块;
处理单元2202,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,删除所述速率适配码块。
可选的,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
可选的,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
可选的,所述处理单元2202在判断所述第一码块和所述第二码块的码块关系是否满足预设条件时,具体用于:按照码块顺序依次检测所述第一码块流中每个码块的类型;当检测到帧间隙的任一码块后,将所述任一码块作为第一码块,将所述任一码块之后且与所述任一码块间隔一个速率适配码块的码块作为第二码块,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件。
可选的,所述处理单元2202还用于:在删除所述速率适配码块之前,对所述第一码块流进行解码,获得第一字符流;删除所述速率适配码块,包括:删除所述速率适配码块对应的字符。
可选的,所述处理单元2202还用于:在对所述第一码块流进行解码之前,对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
可选的,所述处理单元2202对所述第一码块流进行解码时,具体用于:对除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
可选的,所述处理单元2202还用于:在删除所述速率适配码块对应的字符之后,对删除所述速率适配码块对应的字符之后所获得的字符流进行编码,获得第三码块流;在所述第二码块流中插入所述预设码块。
参见图23,基于同一技术构思,本申请实施例还提供一种速率适配装置2300,该装置2300包括:
获取单元2301,用于获取第一字符流,所述第一字符流包括相邻的第一码块对应的字符和第二码块对应的字符;
处理单元2302,用于判断所述第一码块和第二码块的码块关系是否满足预设条件;当所述第一码块和第二码块的码块关系满足预设条件且存在速率适配需求时,在所述第一码块对应的字符和所述第二码块对应的字符之间插入至少一个速率适配码块对应的字符。
可选的,所述获取单元2301还用于:在获取第一字符流之前,获取第一码块流,所述第一码块流包括相邻的第一码块和第二码块;对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块,获得纠错后的第一码块流;对所述纠错后的第一码块流进行解码,获得第一字符流。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
可选的,所述获取单元2301对所述纠错后的第一码块流进行解码,具体用于:对所述纠错后的第一码块流中除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
可选的,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
可选的,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
参见图24基于同一技术构思,本申请实施例还提供一种速率适配装置2400,该装置2400包括:
获取单元2401,用于获取第一字符流,所述第一字符流包括相邻的第一码块对应的字符、至少两个速率适配码块对应的字符和第二码块对应的字符;
处理单元2402,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系不满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符,删除后所述第一码块对应的字符和所述第二码块对应的字符之间包括至少一个速率适配码块对应的字符。
可选的,所述获取单元2401还用于:在获取第一字符流之前,获取第一码块流,所述第一码块流包括相邻的第一码块、至少两个速率适配码块和第二码块;对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块,获得纠错后的第一码块流;对所述纠错后的第一码块流进行解码,获得第一字符流。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
可选的,所述获取单元2401对所述纠错后的第一码块流进行解码时,具体用于:对所述纠错后的第一码块流中除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
可选的,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
可选的,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
参见图25,基于同一技术构思,本申请实施例还提供一种速率适配装置2500,该装置2500包括:
获取单元2501,用于获取第一字符流,所述第一字符流包括相邻的第一码块对应的字符、至少两个速率适配码块对应的字符和第二码块对应的字符;
处理单元2502,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符,删除后所述第一码块对应的字符和所述第二码块对应的字符之间没有速率适配码块对应的字符或包括至少一个速率适配码块对应的字符。
可选的,所述获取单元2501还用于:在获取第一字符流之前,获取第一码块流,所述第一码块流包括相邻的第一码块、至少两个速率适配码块和第二码块;对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块,获得纠错后的第一码块流;对所述纠错后的第一码块流进行解码,获得第一字符流。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
可选的,所述获取单元2501对所述纠错后的第一码块流进行解码时,具体用于:对所述纠错后的第一码块流中除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
可选的,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
可选的,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
参见图26,基于同一技术构思,本申请实施例还提供一种速率适配装置2600,该装置2600包括:
获取单元2601,用于获取第一字符流,所述第一码块流包括相邻的第一码块对应的字符、速率适配码块对应的字符以及第二码块对应的字符;
处理单元2602,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,删除所述速率适配码块对应的字符。
可选的,所述获取单元2601还用于:在获取第一字符流之前,获取第一码块流,所述第一码块流包括相邻的第一码块、速率适配码块和第二码块;对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块,获得纠错后的第一码块流;对所述纠错后的第一码块流进行解码,获得第一字符流。当然,这里的替换为E码块仅为示例而非限定,实际实施时,还可以替换为其它码块,如自定义的码块。
可选的,所述获取单元2601对所述纠错后的第一码块流进行解码时,具体用于:对所述纠错后的第一码块流中除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
可选的,所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
可选的,所述预设条件包括:所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
基于同一技术构思,参见图27,本申请实施例还提供一种网络设备2700,包括:
至少一个处理器2701;所述至少一个处理器2701通过执行存储器2702存储的指令,使得所述装置执行如图12、13、15、16、17或18所示实施例中所述的方法。
可选的,网络设备2700还包括与所述至少一个处理器2701通信连接的通信接口2703。
可选的,所述存储器2702位于所述网络设备2700之外。
可选的,所述网络设备2700包括所述存储器2702,所述存储器2702与所述至少一个处理器2701相连,所述存储器2702存储有可被所述至少一个处理器2701执行的指令。
可选的,所述存储器2702位于所述网络设备2700之外。
可选的,所述网络设备2700包括所述存储器2702,所述存储器2702与所述至少一个处理器2701相连,所述存储器2702存储有可被所述至少一个处理器2701执行的指令。附图27用虚线表示存储器2702和通信接口2703对于网络设备2700是可选的。
其中,所述处理器2701和所述存储器2702可以通过接口电路耦合,也可以集成在一起,这里不做限制。
本申请实施例中不限定上述处理器2701、存储器2702以及通信接口2703之间的具体连接介质。例如,本申请实施例在图27中以处理器2701、存储器2702以及通信接口2703之间通过总线2704连接,总线在图27中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图27中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,本申请实施例中提及的处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
示例性的,处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data EateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
基于同一技术构思,本申请实施例还提供一种计算机可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,使得如图12、13、15、16、17或18所示实施例中所述的方法被执行。
基于同一技术构思,本申请实施例还提供一种芯片,所述芯片与存储器耦合,用于读取并执行所述存储器中存储的程序指令,使得如图12、13、15、16、17或18所示实施例中所述的方法被执行。
基于同一技术构思,本申请实施例还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得如图12、13、15、16、17或18所示实施例中所述的方法被执行。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (36)
1.一种速率适配方法,其特征在于,所述方法包括:
获取第一码块流,所述第一码块流包括相邻的第一码块和第二码块;
判断所述第一码块和所述第二码块的码块关系是否满足预设条件;
当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,在所述第一码块和所述第二码块之间插入至少一个速率适配码块。
2.如权利要求1所述的方法,其特征在于,
所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;
所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
3.如权利要求1所述的方法,其特征在于,所述预设条件包括:
所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,
所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
4.如权利要求1-3任一项所述的方法,其特征在于,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件,包括:
按照码块顺序依次检测所述第一码块流中每个码块的类型;
当检测到帧间隙的任一码块后,将所述任一码块作为第一码块,将所述任一码块之后的相邻码块作为第二码块,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件。
5.如权利要求1-3任一项所述的方法,其特征在于,在所述第一码块和所述第二码块之间插入至少一个速率适配码块之前,所述方法还包括:对所述第一码块流进行解码,获得第一字符流;
在所述第一码块和所述第二码块之间插入至少一个速率适配码块,包括:
在所述第一码块对应的字符和所述第二码块对应字符之间插入至少一个速率适配码块对应的字符。
6.如权利要求5所述的方法,其特征在于,在对所述第一码块流进行解码之前,所述方法还包括:
对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块。
7.如权利要求5所述的方法,其特征在于,对所述第一码块流进行解码,包括:
对除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
8.如权利要求7所述的方法,其特征在于,在所述第一码块对应的字符和所述第二码块对应字符之间插入至少一个速率适配码块对应的字符之后,还包括:
对插入所述至少一个速率适配码块对应的字符后所获得的字符流进行编码,获得第二码块流;
在所述第二码块流中插入所述预设码块。
9.一种速率适配方法,其特征在于,包括:
获取第一码块流,所述第一码块流包括相邻的第一码块、至少两个速率适配码块以及第二码块;
判断所述第一码块和所述第二码块的码块关系是否满足预设条件;
当所述第一码块和所述第二码块的码块关系不满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块中的至少一个速率适配码块,删除后所述第一码块和所述第二码块之间包括至少一个速率适配码块。
10.如权利要求9所述的方法,其特征在于,
所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;
所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
11.如权利要求9所述的方法,其特征在于,所述预设条件包括:
所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,
所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
12.如权利要求9-11任一项所述的方法,其特征在于,判断所述第一码块和所述第二码块的码块关系是否满足预设条件,包括:
按照码块顺序依次检测所述第一码块流中每个码块的类型;
当检测到帧间隙的任一码块后,将所述任一码块作为第一码块,将所述任一码块之后且与所述任一码块间隔至少两个速率适配码块的码块作为第二码块,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件。
13.如权利要求9-11任一项所述的方法,其特征在于,在删除所述至少两个速率适配码块中的至少一个速率适配码块之前,所述方法还包括:
对所述第一码块流进行解码,获得第一字符流;
删除所述至少两个速率适配码块中的至少一个速率适配码块,包括:
删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符。
14.如权利要求13所述的方法,其特征在于,在对所述第一码块流进行解码之前,所述方法还包括:
对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块。
15.如权利要求13所述的方法,其特征在于,对所述第一码块流进行解码,包括:
对除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
16.如权利要求15所述的方法,其特征在于,在删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符之后,还包括:
对删除所述至少一个速率适配码块对应的字符之后所获得的字符流进行编码,获得第三码块流;
在所述第二码块流中插入所述预设码块。
17.如权利要求9-11任一项所述的方法,其特征在于,还包括:
当所述第一码块和所述第二码块的码块关系满足所述预设条件时,删除所述至少两个速率适配码块中的至少一个速率适配码块,删除后所述第一码块和所述第二码块之间没有速率适配码块或包括至少一个速率适配码块。
18.一种速率适配装置,其特征在于,所述装置包括:
获取单元,用于获取第一码块流,所述第一码块流包括相邻的第一码块和第二码块;
处理单元,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系满足所述预设条件且存在速率适配需求时,在所述第一码块和所述第二码块之间插入至少一个速率适配码块。
19.如权利要求18所述的装置,其特征在于,
所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;
所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
20.如权利要求18所述的装置,其特征在于,所述预设条件包括:
所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,
所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
21.如权利要求18-20任一项所述的装置,其特征在于,所述处理单元在判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件时,具体用于:
按照码块顺序依次检测所述第一码块流中每个码块的类型;
当检测到帧间隙的任一码块后,将所述任一码块作为第一码块,将所述任一码块之后的相邻码块作为第二码块,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件。
22.如权利要求18-20任一项所述的装置,其特征在于,所述处理单元还用于:在所述第一码块和所述第二码块之间插入至少一个速率适配码块之前,对所述第一码块流进行解码,获得第一字符流;
所述处理单元在所述第一码块和所述第二码块之间插入至少一个速率适配码块时,具体用于:
在所述第一码块对应的字符和所述第二码块对应字符之间插入至少一个速率适配码块对应的字符。
23.如权利要求22所述的装置,其特征在于,所述处理单元还用于:
在对所述第一码块流进行解码之前,对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块。
24.如权利要求22所述的装置,其特征在于,所述处理单元在对所述第一码块流进行解码时,具体用于:
对除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
25.如权利要求24所述的装置,其特征在于,所述处理单元还用于:
在所述第一码块对应的字符和所述第二码块对应字符之间插入至少一个速率适配码块对应的字符之后,对插入所述至少一个速率适配码块对应的字符后所获得的字符流进行编码,获得第二码块流;在所述第二码块流中插入所述预设码块。
26.一种速率适配装置,其特征在于,包括:
获取单元,用于获取第一码块流,所述第一码块流包括相邻的第一码块、至少两个速率适配码块以及第二码块;
处理单元,用于判断所述第一码块和所述第二码块的码块关系是否满足预设条件;当所述第一码块和所述第二码块的码块关系不满足所述预设条件且存在速率适配需求时,删除所述至少两个速率适配码块中的至少一个速率适配码块,删除后所述第一码块和所述第二码块之间包括至少一个速率适配码块。
27.如权利要求26所述的装置,其特征在于,
所述第一码块是T码块或者T码块之后的码块,其中所述T码块是帧结束码块;
所述第二码块是S码块或者S码块之前的码块,其中所述S码块是帧开始码块。
28.如权利要求26所述的装置,其特征在于,所述预设条件包括:
所述第一码块和所述第二码块的码块关系不是以下码块关系中的任何一种:T码块和T码块、T码块和D码块、T码块和E码块、D码块和S码块、E码块和S码块;和/或,
所述第一码块和所述第二码块的码块关系是以下码块关系中的任意一种:T码块和帧间隙IPG码块、IPG码块和S码块、T码块和S码块、IPG码块和IPG码块;其中,所述IPG码块包括空闲IDLE码块、O码块、E码块或D码块中的一种或多种。
29.如权利要求26-28任一项所述的装置,其特征在于,所述处理单元在判断所述第一码块和所述第二码块的码块关系是否满足预设条件时,具体用于:
按照码块顺序依次检测所述第一码块流中每个码块的类型;
当检测到帧间隙的任一码块后,将所述任一码块作为第一码块,将所述任一码块之后且与所述任一码块间隔至少两个速率适配码块的码块作为第二码块,判断所述第一码块和所述第二码块的码块关系是否满足所述预设条件。
30.如权利要求26-28任一项所述的装置,其特征在于,所述处理单元还用于:在删除所述至少两个速率适配码块中的至少一个速率适配码块之前,对所述第一码块流进行解码,获得第一字符流;
所述处理单元在删除所述至少两个速率适配码块中的至少一个速率适配码块时,具体用于:删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符。
31.如权利要求30所述的装置,其特征在于,所述处理单元还用于:
在对所述第一码块流进行解码之前,对所述第一码块流进行码块格式和码块顺序的检查,如果存在码块格式和/或码块顺序不符合规定的码块,则将所述码块格式和/或码块顺序不符合规定的码块替换为E码块。
32.如权利要求30所述的装置,其特征在于,所述处理单元在对所述第一码块流进行解码时,具体用于:对除预设码块之外的其它码块进行解码,其中所述预设码块包括O码块。
33.如权利要求32所述的装置,其特征在于,所述处理单元还用于:
在删除所述至少两个速率适配码块对应的字符中的至少一个速率适配码块对应的字符之后,对删除所述至少一个速率适配码块对应的字符之后所获得的字符流进行编码,获得第三码块流;在所述第二码块流中插入所述预设码块。
34.如权利要求26-28任一项所述的装置,其特征在于,所述处理单元还用于:
当所述第一码块和所述第二码块的码块关系满足所述预设条件时,删除所述至少两个速率适配码块中的至少一个速率适配码块,删除后所述第一码块和所述第二码块之间没有速率适配码块或包括至少一个速率适配码块。
35.一种网络设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器、通信接口;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,使得所述装置通过所述通信接口执行如权利要求1-16中任一项所述的方法。
36.一种计算机可读存储介质,其特征在于,包括程序或指令,当所述程序或指令在计算机上运行时,使得如权利要求1-16中任一项所述的方法被执行。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010670874.3A CN113938245A (zh) | 2020-07-13 | 2020-07-13 | 一种速率适配方法及装置 |
PCT/CN2021/104241 WO2022012354A1 (zh) | 2020-07-13 | 2021-07-02 | 一种速率适配方法及装置 |
EP21841533.9A EP4175210A4 (en) | 2020-07-13 | 2021-07-02 | METHOD AND APPARATUS FOR RATE ADJUSTMENT |
US18/153,411 US20230155715A1 (en) | 2020-07-13 | 2023-01-12 | Rate adaptation method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010670874.3A CN113938245A (zh) | 2020-07-13 | 2020-07-13 | 一种速率适配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113938245A true CN113938245A (zh) | 2022-01-14 |
Family
ID=79273559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010670874.3A Pending CN113938245A (zh) | 2020-07-13 | 2020-07-13 | 一种速率适配方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230155715A1 (zh) |
EP (1) | EP4175210A4 (zh) |
CN (1) | CN113938245A (zh) |
WO (1) | WO2022012354A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024032191A1 (zh) * | 2022-08-08 | 2024-02-15 | 华为技术有限公司 | 一种故障码块处理方法及装置 |
WO2024099180A1 (zh) * | 2022-11-07 | 2024-05-16 | 中兴通讯股份有限公司 | 64b/66b编码信号的处理方法、通信设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106301678B (zh) * | 2015-06-08 | 2020-02-14 | 华为技术有限公司 | 一种数据处理的方法、通信设备及通信系统 |
CN108242969B (zh) * | 2016-12-23 | 2021-04-20 | 华为技术有限公司 | 一种传输速率的调整方法及网络设备 |
CN109391461B (zh) * | 2017-08-11 | 2021-08-13 | 华为技术有限公司 | 透传业务频率的方法和设备 |
CN109995455B (zh) * | 2017-12-29 | 2020-07-07 | 华为技术有限公司 | 一种数据传输方法、通信设备及存储介质 |
CN109995434B (zh) * | 2017-12-29 | 2020-09-08 | 华为技术有限公司 | 一种数据传输方法、通信设备及存储介质 |
CN111092686A (zh) * | 2019-11-28 | 2020-05-01 | 中兴通讯股份有限公司 | 一种数据传输方法、装置、终端设备和存储介质 |
-
2020
- 2020-07-13 CN CN202010670874.3A patent/CN113938245A/zh active Pending
-
2021
- 2021-07-02 EP EP21841533.9A patent/EP4175210A4/en active Pending
- 2021-07-02 WO PCT/CN2021/104241 patent/WO2022012354A1/zh unknown
-
2023
- 2023-01-12 US US18/153,411 patent/US20230155715A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024032191A1 (zh) * | 2022-08-08 | 2024-02-15 | 华为技术有限公司 | 一种故障码块处理方法及装置 |
WO2024099180A1 (zh) * | 2022-11-07 | 2024-05-16 | 中兴通讯股份有限公司 | 64b/66b编码信号的处理方法、通信设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4175210A1 (en) | 2023-05-03 |
EP4175210A4 (en) | 2023-12-06 |
WO2022012354A1 (zh) | 2022-01-20 |
US20230155715A1 (en) | 2023-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11750227B2 (en) | Method and device for transmitting a data stream with selectable ratio of error correction packets to data packets | |
US20230155715A1 (en) | Rate adaptation method and apparatus | |
WO2018095303A1 (zh) | 操作、管理和维护oam数据的传输方法和装置 | |
US11108895B2 (en) | Method for providing path signal overhead in the 64B/66B character stream of an itu-t metro transport network using micro-packets | |
US9237101B2 (en) | Generating and communicating source identification information to enable reliable communications | |
US8799741B2 (en) | Method of transmitting ethernet frame in network bridge and the bridge | |
US8340005B1 (en) | High speed packet interface and method | |
WO2019165965A1 (zh) | 时间信息确定的方法、装置及设备 | |
US8880975B2 (en) | Method and device for information block coding and synchronization detecting | |
US7284181B1 (en) | Systems and methods for implementing end-to-end checksum | |
US10797816B1 (en) | Method for providing path signal overhead in the 64B/66B character stream of an ITU-T metro transport network | |
US8649398B2 (en) | Packet network interface apparatus and method | |
WO2019084732A1 (zh) | 时钟同步的方法和装置 | |
EP2187566B1 (en) | Method and device for realizing data error reporting | |
WO2021254508A1 (zh) | 一种确定码组丢失的方法及装置 | |
US20230299880A1 (en) | Code block identification method and apparatus | |
US20220286320A1 (en) | User station for a serial bus system, and method for communicating in a serial bus system | |
CN114257334A (zh) | 一种数据编码方法、数据解码方法及通信装置 | |
WO2021196774A1 (zh) | 发送和处理信息的方法、以太网设备、计算机可读介质 | |
CN106656416B (zh) | 基于网络编码和路径保护的光网络单链路故障保护方法 | |
WO2024000378A1 (zh) | 码块识别方法及装置 | |
JP5698107B2 (ja) | ネットワーク評価方法、および、ネットワーク評価システム | |
CN117176312A (zh) | 低延时同步时钟及数据传输方法 | |
US20030212793A1 (en) | Method and apparatus for group reception and fault-tolerant group transmission of frames in network | |
CN116685952A (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 |