本申请涉及通信技术领域,特别涉及一种业务数据处理方法及设备。
背景技术:
随着业务流量的增长,光传送网(opticaltransportnetwork,otn)提供的固定速率接口已经不能满足互联需求。为此,业界提出了灵活光传送网(flexibleopticaltransportnetwork,flexo)组接口。通过该组接口,otn设备传输携带有业务数据的光通道传输单元cn(opticaltransportunitcn,otucn)信号。其中,flexo组接口可以包括多个物理端口,otn设备将otucn信号调制到多个光载波上,形成携带otucn的多个光载波,并通过flexo组接口包括的多个物理端口传输。
若一个flexo组接口中用于承载某一业务的业务数据的多个物理端口中的某一个物理端口发生故障,接收端设备判定整个flexo组接口失效,无法恢复出该组接口传送的otucn信号。
技术实现要素:
本申请提供了一种业务数据处理方法及设备,可以实现对flexo组接口的多个物理端口传输的业务数据的无损还原。所述技术方案如下:
第一方面,提供了一种业务数据处理方法,所述方法包括:生成光通道传输单元otuxn信号,所述otuxn信号用于承载业务数据;生成至少n个flexo帧,所述至少n个flexo帧用于承载所述otuxn信号,且所述至少n个flexo帧中包括r个flexo校验帧和多个flexo数据帧,其中,所述多个flexo数据帧携带所述业务数据,所述r个flexo校验帧携带业务校验数据,所述业务校验数据用于在k个flexo帧的误码率大于参考误码率时,还原所述业务数据,所述k为不大于所述r的正整数,所述r为不大于所述n的正整数;通过灵活光传送网flexo组接口发送所述至少n个flexo帧。
在本申请实施例中,发送端设备可以生成承载有业务数据的otuxn信号,并根据otuxn信号生成至少n个flexo帧,其中,至少n个flexo帧中的r个flexo帧携带有业务校验数据,该业务校验数据可以用于在k个flexo帧的误码率大于参考误码率时,还原该业务数据;之后,发送端设备可以通flexo组接口发送至少n个flexo帧。这样,当由于flexo组接口包括的物理端口中不多于r个物理端口发生故障或其他原因导致不多于r的flexo帧的误码率大于参考误码率时,接收端设备均可以通过接收到的flexo帧来还原该业务数据,实现了flexo组接口的多个物理端口中的部分物理端口发生故障的情况下业务数据的无损恢复。
其中,所述生成至少n个flexo帧的实现方式可以包括三种:
在第一种实现方式中,所述otuxn信号包括n个otux帧,其中,所述n个otux帧包括n-r个otux数据帧和r个otux校验帧;所述n-r个otux数据帧和所述r个otux校验帧的每一个都包括w个时隙;在这种情况下,生成otuxn信号的过程可以包括:对所述n-r个otux数据帧的第t个时隙进行冗余编码,得到对应的校验数据,所述校验数据放置在所述otux校验帧的第t个时隙,t为(0,w-1)的任意正整数。相应地,生成至少n个flexo帧的过程可以为:根据所述r个otux校验帧生成所述r个flexo校验帧,并根据所述n-r个otux数据帧生成n-r个flexo数据帧,将所述r个flexo校验帧和所述n-r个flexo数据帧作为n个flexo帧。也即是,至少n个flexo帧是指n个flexo帧。
在该种实现方式中,每个otux校验帧或每个flexo校验帧均包括时隙指示信息,所述时隙指示信息用于指示对应的时隙是否为校验时隙,所述校验时隙是指放置有校验数据的时隙。
在第二种实现方式中,所述生成至少n个flexo帧的实现过程可以为:根据所述otuxn信号得到n个otux数据帧,所述n个otux数据帧携带所述业务数据;根据所述n个otux数据帧进行冗余编码,得到r个otux校验帧,所述r个otux校验帧携带所述业务校验数据;根据所述n个otux数据帧生成n个flexo数据帧,并根据所述r个otux校验帧生成r个flexo校验帧,将所述n个flexo数据帧和所述r个flexo校验帧作为n r个flexo帧。
在该种实现方式中,在根据otux数据帧映射到flexo帧之前,对otux数据帧进行冗余编码,得到otux校验帧,之后,将otux数据帧和otux校验帧映射到flexo帧。
在第三种实现方式中,所述生成至少n个flexo帧的实现过程可以为:根据所述otuxn信号得到n个otux数据帧,所述n个otux数据帧携带所述业务数据;根据所述n个otux数据帧生成n个flexo数据帧,并根据所述n个flexo数据帧进行冗余编码,得到所述r个flexo校验帧,将所述n个flexo数据帧和所述r个flexo校验帧作为n r个flexo帧。
在本申请实施例中,考虑到flexo组接口的端口速率可能小于otux信号的信号速率,可能需要将一个flexo帧拆分为两路进行发送,因此,可以在将otux数据帧映射到flexo帧之后,在进行冗余编码,得到flexo校验帧。
需要说明的是,在第二种实现方式和第三种实现方式中,每个otux校验帧或每个flexo校验帧均包括第一开销,每个otux数据帧或每个flexo数据帧均包括第二开销,所述第一开销和所述第二开销中均包括帧定位fa字节和msi开销,且所述第一开销包括的msi开销中包含用于指示对应的帧为校验帧的帧指示信息,所述第一开销用于携带对所述第二开销中除所述fa字节和所述msi开销之外的信息进行校验获得的信息。
可选地,其中,所述第一开销和所述第二开销中均包括随路检测指示码,所述随路检测指示码用于指示相应帧的误码率是否大于所述参考误码率。
可选地,其中,所述第一开销或所述第二开销中还包括端口切换指示信息;所述端口切换指示信息用于指示从当前发送的otuxn信号开始计数,在发送i个otuxn信号之后,通过已增加h个物理端口的所述flexo组接口发送flexo帧,或者,所述端口切换指示信息用于指示从当前发送的otuxn信号开始计数,在发送i个otuxn信号之后,将所述flexo组接口包括的多个物理端口中的h个物理端口移除,并通过移除端口后的所述flexo组接口发送flexo帧。
在本申请实施例中,通过在otux帧或flexo帧中携带端口切换指示信息,可以指示接收端设备根据该端口切换指示信息进行端口增加或移除,从而实现flexo组接口的物理端口的无损增加和减少。
可选地,所述通过灵活光传送网flexo组接口发送所述至少n个flexo帧的实现过程可以为:将所述至少n个flexo帧中的每个flexo帧通过所述flexo组接口绑定的多个物理端口中的至少两个物理端口发送。或者,通过所述flexo组接口包括的多个物理端口中的每个物理端口发送所述至少n个flexo帧中的至少两个flexo帧。
可选地,前述三种实现方式中所述的进行冗余编码是指利用里德-所罗门rs类纠删码、低密度纠删码、阵列码、数字喷泉码、基于网络编码的再生码和局部校验码中的任一种进行编码。
第二方面,提供了一种业务数据处理方法,所述方法包括:通过灵活光传送网flexo组接口接收m个flexo帧,所述m个flexo帧是指由发送端设备发送的至少n个flexo帧或所述至少n个flexo帧中的部分flexo帧,所述至少n个flexo帧包括r个flexo校验帧以及多个flexo数据帧,所述r个flexo校验帧携带业务校验数据,所述多个flexo数据帧携带业务数据;若根据所述m个flexo帧检测到由所述发送端设备发送的至少n个flexo帧中存在k个误码率大于参考误码率的flexo帧,则根据所述m个flexo帧中的多个第一flexo帧携带的第一业务校验数据和第一业务数据,还原所述业务数据,所述多个第一flexo帧是指误码率不大于所述参考误码率的flexo帧,所述第一业务数据是指所述业务数据中的部分业务数据,所述k为不大于所述r的正整数。
在本申请实施例中,接收端设备可以接收m个flexo帧,并根据该m个flexo帧对发送端端设备发送的至少n个flexo帧中的k个flexo帧进行还原,进而还原业务数据,实现了flexo组接口的多个物理端口中的部分物理端口发生故障的情况下业务数据的无损恢复。
可选地,所述根据所述m个flexo帧中的多个第一flexo帧携带的第一业务校验数据和第一业务数据,还原所述业务数据的实现过程可以为:对所述m个flexo帧中的每个flexo帧进行解映射,得到与所述m个flexo帧一一对应的m个otux帧;根据所述m个otux帧中与所述多个第一flexo帧一一对应的多个第一otux帧携带的第一业务校验数据和第一业务数据,对所述至少n个flexo帧中的k个flexo帧对应的otux帧进行还原,所述k个flexo帧是指所述至少n个flexo帧中误码率大于所述参考误码率的flexo帧;根据所述多个第一otux帧携带的第一业务数据和还原后的k个flexo帧对应的otux帧携带的第二业务数据,还原所述业务数据。
其中,若发送端设备是根据otux校验帧映射得到的flexo校验帧,则接收端设备可以通过该种实现方式来根据m个flexo帧中的多个第一flexo帧来还原业务数据。
可选地,,所述m个otux帧中的每个otux帧均包括otux开销,且每个otux帧的otux开销中均包括帧定位fa字节、复用结构标识符msi开销;
所述根据所述m个otux帧中与所述多个第一flexo帧一一对应的多个第一otux帧携带的第一业务校验数据和第一业务数据,对所述至少n个flexo帧中的k个flexo帧对应的otux帧进行还原的实现过程可以为:根据所述m个otux帧中每个otux帧的otux开销中的fa字节,对齐所述m个otux帧;确定所述多个第一otux帧中msi开销包含有帧指示信息的otux帧为otux校验帧,确定所述多个第一otux帧中剩余的otux帧为otux数据帧;根据所述otux校验帧的otux开销中除所述fa字节和所述msi开销之外的信息以及所述otux数据帧的otux开销中除所述fa字节和所述msi开销之外的信息,还原所述k个flexo帧对应的otux帧的otux开销;根据otux数据帧携带的第一业务数据以及所述otux校验帧携带的第一业务校验数据还原所述k个flexo帧对应的otux帧中的业务数据;根据还原得到的所述k个flexo帧对应的otux帧的otux开销和所述k个flexo帧对应的otux帧中的业务数据,得到所述k个flexo帧对应的otux帧。
可选地,所述m个flexo帧中的每个flexo帧均包括随路检测指示码,所述随路检测指示码用于指示相应flexo帧的误码率是否大于所述参考误码率;
所述方法还包括:根据在接收到所述m个flexo帧的上一次通过所述flexo组接口的多个物理端口接收到的多个flexo帧,确定所述多个物理端口中每个物理端口上一次接收到的flexo帧的参考码;根据所述多个物理端口中每个物理端口上一次接收到的flexo帧的参考码与所述m个flexo帧中每个flexo帧携带的随路检测指示码,判断所述至少n个flexo帧中是否存在k个误码率大于参考误码率的flexo帧。
其中,该随路检测指示码可以携带在flexo帧的帧开销中,也可以携带在flexo帧对应的otux帧的otux开销中。
可选地,所述方法还包括:当所述m个otux帧中的任一otux帧的otux开销中包含有端口切换指示信息时,基于所述端口切换指示信息,从当前接收到的otuxn信号开始计数,在接收到第i个otuxn信号之后,接收通过已增加h个物理端口的所述flexo组接口发送的flexo帧,或者,接收通过已移除h个物理端口的所述flexo组接口发送的flexo帧。
在本申请实施例中,接收端设备可以通过otux帧中携带的端口切换指示信息来进行端口切换,以此实现flexo组接口的物理端口的无损增加和减少。
第三方面,提供了一种业务数据处理装置,所述业务数据处理装置具有实现上述第一方面或第二方面中的业务数据处理方法行为的功能。所述业务数据处理装置包括至少一个模块,该至少一个模块用于实现上述第一方面或第二方面所提供的业务数据处理方法。
第四方面,提供了一种业务数据处理设备,所述业务数据处理装置的结构中包括处理器和存储器,所述存储器用于存储支持业务数据处理装置执行上述第一方面或第二方面所提供的业务数据处理方法的程序,以及存储用于实现上述第一方面或第二方面所提供的业务数据处理方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的业务数据处理方法。
第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的业务数据处理方法。
上述第三方面、第四方面、第五方面和第六方面所获得的技术效果与第一方面和第二方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本申请提供的技术方案带来的有益效果至少包括:本申请实施例可以生成承载有业务数据的otuxn信号,并根据otuxn信号生成至少n个flexo帧,其中,至少n个flexo帧中的r个flexo帧携带有业务校验数据,该业务校验数据可以用于在k个flexo帧的误码率大于参考误码率时,还原该业务数据;之后,发送端设备可以通flexo组接口发送至少n个flexo帧。这样,当由于flexo组接口包括的物理端口中不多于r个物理端口发生故障或其他原因导致不多于r的flexo帧的误码率大于参考误码率时,接收端设备均可以通过接收到的flexo帧来还原该业务数据,实现了对flexo组接口的多个物理端口传输的业务数据的无损恢复。
附图说明
图1是本申请实施例提供的业务数据处理方法的实施环境图;
图2是本申请实施例提供的一种业务数据处理方法流程图;
图3是本申请实施例提供的一种otux帧的帧结构示意图;
图4是本申请实施例提供的一种根据otuxn信号生成n个flexo帧的示意图;
图5是本申请实施例提供的一种根据otuxn信号生成n r个flexo帧的示意图;
图6是本申请实施例提供的另一种根据otuxn信号生成n r个flexo帧的示意图;
图7是本申请实施例提供的一种无损增加物理端口的方法的流程示意图;
图8是本申请实施例提供的一种业务数据处理装置结构示意图;
图9是本申请实施例提供的另一种业务数据处理装置结构示意图;
图10是本申请实施例提供的一种业务数据处理设备的结构示意图;
图11是本申请实施例提供的一种用于处理业务数据的芯片的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行详细解释说明前,先对本申请实施例涉及的应用场景予以介绍。
随着业务流量的增长,otn提供的固定速率接口已无法满足互联需求。为此,业界提出了n*100g、n*200g和n*400g的flexo组接口,用于承载otucn信号,以实现otucn信号域间接口互联。其中,flexo组接口可以包括多个物理端口,n*100g的flexo组接口是指flexo组接口包括的多个物理端口均为100g。n*200g的flexo组接口是指flexo组接口包括的多个物理端口均为200g,以此类推。另外,otucn信号中的c是指100gbps。在传输otucn信号时,若flexo组接口为n*100g的组接口,则可以将otucn信号拆分得到n个otuc帧,并通过flexo组接口的n个物理端口中的每一个传输一个otuc帧。而若flexo组接口为n*200g的组接口,则在传输otucn信号时,每个物理端口可以发送两个otuc帧。由此可见,flexo组接口可以随着otucn信号的具体速率而相应地调整端口数量,从而使得该flexo组接口不仅可以满足域间接口灵活性,而且可以大大降低网络建设成本。
在通过flexo组接口传输otucn信号的过程中,flexo组接口包括的多个物理端口中的某个物理端口可能会发生故障,在这种情况下,考虑到otucn信号是作为一个整体来实现的,为了避免otucn信号因为某个物理端口的故障而导致失效,本申请提出了一种用于发送端设备发送otucn信号以及接收端设备还原otucn信号的业务数据处理方法,以此来实现flexo组接口中部分物理端口故障的情况下的业务数据的无损恢复。
图1是本申请实施例提供的业务数据处理方法所涉及的实施环境图。如图1所示,该实施环境中包括发送端设备101和接收端设备102。其中,发送端设备101与接收端设备102之间通过otn连接。
示例性地,发送端设备101可以接收客户设备发送的业务数据,或者,发送端设备101可以生成业务数据,并通过本申请实施例提供的业务数据处理方法对该业务数据进行处理,将处理得到的携带有该业务数据和业务校验数据的数据帧通过flexo组接口发送出去。
接收端设备102可以接收发送端设备101通过flexo组接口发送的携带有业务数据和业务校验数据的数据帧,并通过本申请实施例提供的业务数据处理方法对接收到的flexo帧进行处理,以实现对业务数据的无损恢复。
需要说明的是,发送端设备101和接收端设备102的任意一个可以为路由器、交换机或otn传输设备等。本申请实施例对此不做具体限定。图2是本申请实施例提供的一种业务数据处理方法。参见图2,该方法包括以下步骤:
步骤201:发送端设备生成otuxn信号,该otuxn信号用于承载业务数据。
在本申请实施例中,当发送端设备接收到客户设备发送的业务数据,或者,当发送端设备生成业务数据之后,发送端设备可以将该业务数据映射到otuxn结构中,从而生成otuxn信号。其中,otuxn中的x可以为25、50、100、200或400等,本申请实施例对此不做具体限定。其中,当x为25,则otuxn信号包括的n个otux帧中的每个otux帧的速率为25gbps,若x为50,则otuxn信号包括的n个otux帧中的每个otux帧的速率为50gbps,以此类推。
示例性地,图3示出了otux帧的帧结构的示意图。如图3所示,该otux帧由光通道数据单元(opticaldataunit,odu)、otu的前向纠错(forwarderrorcorrection,fec)域和otu开销组成。其中,odu由光通道净荷单元(opticalpayloadunit,opu)的信息和odu开销组成,而opu的信息则由业务数据和用于支持业务数据传送的opu开销等组成。值得注意的是,otu开销中可以包括帧定位(framealignment,fa)字节,且otu开销和odu开销中均包括保留开销。需要说明的是,fec域是可选的。
在本申请实施例中,发送端设备可以采用两种不同的方式将业务数据映射到otuxn结构中,从而生成otuxn信号。
在第一种实现方式中,otuxn结构包括的n个otux帧中的每一个可以包括w个时隙,发送端设备可以将业务数据依次映射到n-r个otux帧包括的时隙中,从而得到n-r个otux数据帧。之后,发送端设备可以对n-r个otux数据帧的第t个时隙进行冗余编码,从而得到第t个时隙对应的校验数据,将该第t个时隙对应的校验数据映射到剩余的r个otux帧的第t个时隙中,从而得到r个otux校验帧。也即,通过该种实现方式生成的otuxn信号中包括n-r个otux数据帧和r个otux校验帧。其中,t为(0,w-1)的任意正整数。
需要说明的是,r的取值可以等于支持恢复的otux数据帧的数量。根据r的取值的不同,发送端设备可以通过不同的方式将对时隙内的业务数据进行冗余编码得到的校验数据放置在r个otux校验帧。
示例性的,当r=1时,发送端设备可以根据n-1个otux数据帧中第t个时隙的数据进行冗余编码,生成一路校验数据,并将生成的一路校验数据放置在otux校验帧的第t个时隙中。当r=2时,发送端设备可以根据根据n-2个otux数据帧中第t个时隙的数据,生成两路校验数据,并将这两路校验数据中的第一路校验数据对应的放置在第一个otux校验帧的第t个时隙中,将第二路校验数据对应的放置在第二个otux校验帧的第t个时隙中,后续生成的任意时隙的两路校验数据,均按照该顺序对应的放置在相应地校验帧的时隙中。对于r等于3、4等数值的情况,均可以参照上述r=2的情况进行处理。
在该种实现方式中,发送端设备可以对n-r个otux数据帧中的全部时隙进行冗余编码。当然,发送端设备也可以对n-r个otux数据帧中的部分时隙进行冗余编码,以此来实现对otux数据帧中的部分业务数据的恢复。其中,当对n-r个otux数据帧中的部分时隙进行冗余编码时,otux校验帧中的部分时隙将会空闲出来,在这种情况下,可以利用otux校验帧中空闲出来的时隙来承载业务数据。需要说明的是,本申请实施例中,进行冗余编码的目的是用于进行数据恢复。前述的校验帧用于携带冗余编码得到的编码数据,该帧也可以被称为编码帧、恢复帧或者其他名称。对此,本申请不做限定。
在第二种实现方式中,发送端设备可以将业务数据映射到n个otux帧中,从而得到包括n个otux数据帧的otuxn信号。与第一种实现方式不同的是,第二种实现方式中不包含冗余编码步骤,该步骤在后续的步骤中进行。
步骤202:发送端设备生成至少n个flexo帧。
具体地,发送端设备可以根据前述的otuxn信号生成至少n个flexo帧。需要说明的是,该至少n个flexo帧中包括r个flexo校验帧和多个flexo数据帧,其中,多个flexo数据帧携带该业务数据,flexo校验帧也可以称为flexo冗余帧或flexo恢复帧,且r个flexo校验帧携带业务校验数据,该业务校验数据是根据业务数据生成的、用于在k个flexo帧的误码率大于参考误码率时,还原该业务数据的冗余数据。其中,k为不大于r的正整数,r为不大于n的正整数。参考误码率是指导致flexo帧无法通过纠错码纠正的最小误码率。也即,当flexo帧的误码率超过该参考误码率,将无法通过纠错码来完成纠错。例如,参考误码率可以为7ⅹ10-4或6ⅹ10-3等数值。
需要说明的是,根据生成otuxn信号的方式的不同,本申请实施例可以采用不同的方式来生成至少n个flexo帧。
其中,若otuxn信号是通过前述步骤201中的第一种实现方式生成的,则发送端设备在生成otuxn信号之后,可以将承载有业务数据的n-r个otux数据帧映射到n-r个flexo数据帧,将承载有各个时隙的校验数据的r个otux校验帧映射到r个flexo校验帧。此时,根据otuxn信号生成的至少n个flexo帧即是指由n-r个flexo数据帧和r个flexo校验帧组成的n个flexo帧。
图4是本申请实施例提供的通过第一种实现方式生成otuxn信号中,并将otuxn信号映射到flexo帧的示意图。如图4所示,假设n=4,m=4,则otuxn结构中可以包括4个otux帧,分别为otux1、otux2、otux3和otux4,每个otux帧包括4个时隙,将业务数据映射到otux1、otux2和otux3的时隙中。然后,发送端设备可以对otux1、otux2和otux3帧中的第一个时隙s1进行冗余编码,得到s1对应的校验数据d1,并将d1放置在otux4的s1中。对otux1、otux2和otux3中的第二个时隙s2进行冗余编码,得到s2对应的校验数据d2,将d2放置在otux4的s2中,以此类推。最终,该otuxn中的otux1、otux2和otux3即为otux数据帧,而otux4即为outx校验帧。之后,将4个otux帧分别映射到4个flexo帧中,得到flexo1、flexo2、flexo3和flexo4。其中,flexo1、flexo2和flexo3即为flexo数据帧,flexo4即为flexo校验帧。
需要说明的是,在本申请实施例中,r的数值大小可以根据flexo组接口包括的端口速率、x的大小和所支持的flexo帧的恢复数量的一个或多个来确定。示例性地,当x为100,flexo组接口包括的物理端口的端口速率为100g,则为了保证在一路flexo帧的传输存在问题时能够恢复该业务数据,r取值设置为1。若x为100,flexo组接口包括的端口速率为200g,则为了保证在一路flexo帧的传输存在问题时能够恢复该业务数据,r取值设置为2。再例如,为了保证在两路flexo帧的传输存在问题时能够恢复该业务数据,该r的取值将为2。
另外,还需要说明的是,在本申请实施例中,在进行冗余编码时,可以是指利用里德-所罗门(reed-solomoncodes,rs)类纠删码、低密度纠删码、阵列码、数字喷泉码、基于网络编码的再生码和局部校验码中的任一种进行编码,当然,也可以采用其他可以生成用于恢复业务数据的冗余数据的编码方式,本申请实施例对此不做具体限定。
可选地,若otuxn信号是通过步骤201中的第二种实现方式生成的,则发送端设备可以采用以下两种方式来生成至少n个flexo帧。
第一种方式:根据otuxn信号得到n个otux数据帧,n个otux数据帧携带业务数据;根据n个otux数据帧进行冗余编码,得到r个otux校验帧,r个otux校验帧携带业务校验数据;根据n个otux数据帧生成n个flexo数据帧,并根据r个otux校验帧生成r个flexo校验帧,将n个flexo数据帧和r个flexo校验帧作为n r个flexo帧。也就是说,至少n个flexo帧具体为n r个flexo帧。
图5是本申请实施例提供的根据otuxn信号包括的n个otux帧,得到n r个flexo帧的示意图。如图5所示,发送端设备可以将otuxn信号拆分为n个otux数据帧,之后,对n个otux帧进行冗余编码,得到r个otux校验帧。然后,将n个otux数据帧和r个otux校验帧一一映射到n r个flexo帧,其中,n r个flexo帧中由n个otux数据帧映射得到的n个flexo帧为flexo数据帧,由r个otux校验帧映射得到的r个flexo帧为flexo校验帧。需要说明的是,图5中的拆分步骤是可选的。
第二种方式:根据otuxn信号得到n个otux数据帧,n个otux数据帧携带业务数据;根据n个otux数据帧生成n个flexo数据帧,并根据n个flexo数据帧进行冗余编码,得到r个flexo校验帧,将n个flexo数据帧和r个flexo校验帧作为n r个flexo帧。
在该种实现方式中,如图6所示,在根据otuxn信号得到n个otux数据帧之后,发送端设备可直接将该n个otux数据帧一一对应地映射到n个flexo帧,从而得到n个flexo数据帧。之后,若x不大于flexo组接口包括的物理端口的端口速率,发送端设备可对该n个flexo数据帧进行冗余编码,从而得到r个flexo校验帧。此时,根据otuxn信号生成的至少n个flexo帧即是指由n个flexo数据帧和r个flexo校验帧组成的n r个flexo帧。
可选地,若x大于flexo组接口包括的物理端口的端口速率,则发送端设备在将n个otux数据帧一一对应的映射到n个flexo帧之后,可以将n个flexo帧根据物理端口的端口速率进行拆分,并根据拆分得到的多个flexo帧进行冗余编码,从而得到r个flexo帧校验帧。例如,当x=100,而flexo组接口包括的物理端口的端口速率为50g时,则在映射得到n个flexo数据帧之后,发送端设备可以将每个flexo数据帧拆分为两路,之后,根据拆分得到2n路flexo数据帧进行冗余编码,得到flexo校验帧。
需要说明的是,上述提到的otux数据帧均可以包括第一开销,otux校验帧则均包括第二开销,此时,该第一开销和第二开销均是指otux帧的otux开销。其中,第一开销和第二开销中均包括fa字节、复用结构标识符(multiplexstructureidentifier,msi)开销以及随路检测指示码,第二开销中的msi开销中包含用于指示对应的otux帧为otux校验帧的帧指示信息,随路检测指示码用于指示相应otux帧的误码率是否大于参考误码率,且第二开销用于携带对第一开销中除fa字节、msi开销和随路检测指示码之外的信息进行校验获得的信息。
其中,由图3所示的otux帧的帧结构的示意图可以看出,otux帧中包括otu开销、odu开销和opu开销,在本申请实施例中,可以将otux数据帧中包括的otu开销、odu开销和opu开销统称为第一开销,而将otux校验帧中包括的otu开销、odu开销和opu开销统称为第二开销。其中,无论第一开销还是第二开销,其均包括fa字节,用于接收端设备进行帧定位对齐。另外,在第一开销包括的opu开销以及第二开销包括的opu开销中均包括msi开销,其中,第一开销中的msi开销包含有用于指示相应otux数据帧中的承载的业务数据属于哪个业务的指示信息,而第二开销中的msi开销中则包含有用于指示相应otux帧为校验帧的帧指示信息。
需要说明的是,若otuxn信号是通过前述步骤201中的第一种实现方式生成,则第二开销包括的msi开销中还可以包含有用于指示对应的时隙是否为校验时隙的时隙指示信息。其中,校验时隙是指放置有校验数据的时隙。示例性地,对于otux校验帧中的任一时隙,若该时隙为校验时隙,则可以在msi开销中的支路端口(tributaryport)部分用于携带时隙指示信息,而若该时隙不为校验时隙,则可以在tributaryport部分携带用于指示相应时隙内的数据属于哪个业务的指示信息。
可选地,发送端设备可以占用otu开销或odu开销中的保留字段来携带随路检测指示码,以便接收端设备根据该随路检测指示码来检测哪些otux帧的误码率大于参考误码率。
在具体实现中,也可以根据具体需要在flexo帧的开销中携带帧指示信息、时隙指示信息和随路检测指示码的一个或者多个,此时,第一开销和第二开销则均是指flexo帧的开销。并且,flexo帧的开销中还可以携带对应的物理端口的端口编号,以此来保证flexo帧的接收顺序。本申请实施例对此不做限定。
步骤203:发送端设备通过flexo组接口发送至少n个flexo帧。
在根据otuxn信号生成至少n个flexo帧之后,发送端设备可以通过flexo组接口发送该至少n个flexo帧。
需要说明的是,根据flexo组接口包括的物理端口的端口速率以及otuxn信号速率的不同,本申请实施例可以通过不同的方式来发送该至少n个flexo帧。
示例性地,若flexo组接口包括的物理端口的端口速率等于x,则发送端设备可以通过flexo组接口包括的至少n个物理端口一一对应的发送至少n个flexo帧。其中,每个物理端口用于发送一个flexo帧,此时,flexo组接口包括的物理端口的端口数量与flexo帧的数量相同。例如,当x等于100,flexo组接口包括的物理端口的端口速率为100g,则发送端设备可以通过每个物理端口发送一个flexo帧。
可选地,若flexo组接口包括的物理端口的端口速率大于x,则发送端设备可以通过flexo组接口包括的多个物理端口中的每个物理端口发送至少两个flexo帧。例如,当x=50,flexo组接口包括的物理端口的端口速率为100g,则发送端设备可以通过一个物理端口发送两个flexo帧,此时,flexo组接口包括的物理端口的数量可以为flexo帧的数量的一半。
可选地,若flexo组接口包括的物理端口的端口速率小于x,则发送端设备可以将至少n个flexo帧中的每个flexo帧通过flexo组接口绑定的多个物理端口中的至少两个物理端口发送出去。例如,当x=100,而flexo组接口包括的物理端口的端口速率为50g时,则发送端设备可以通过前述步骤202中的第二种方式中介绍的方法将至少n个flexo帧中每个flexo帧分拆为两路,之后,通过两个物理端口该flexo帧发送出去。
当发送端设备将至少n个flexo帧通过flexo组接口发送出去之后,若由于物理端口出现故障或者其他原因而导致至少n个flexo帧的k个的误码率大于参考误码率,则接收端设备可以通过步骤204-205来对k个flexo帧中携带的业务数据进行还原,进而无损地恢复得到otuxn承载的业务数据。
步骤204:接收端设备接收m个flexo帧。
接收端设备可以通过flexo组接口接收m个flexo帧。其中,该m个flexo帧的数量可能与发送端设备发送的flexo帧的数量相同,也即,该m个flexo帧即为发送端设备发送的至少n个flexo帧。当然,在一种可能的情况下,flexo组接口中的部分物理端口可能发生了故障,导致了发送端设备发送的至少n个flexo帧中的部分flexo帧的传输中断,在这种情况下,该m个flexo帧可能仅仅是发送端设备发送的至少n个flexo帧中的部分flexo帧。
其中,若flexo组接口包括的多个物理端口中的任一物理端口未接收到flexo帧,则可以将设置该物理端口当前的随路检测指示码为指定数值。
步骤205:接收端设备若根据m个flexo帧检测到由发送端设备发送的至少n个flexo帧中存在k个误码率大于参考误码率的flexo帧,则根据m个flexo帧中的多个第一flexo帧携带的第一业务校验数据和第一业务数据,还原业务数据。
其中,多个第一flexo帧是指该m个flexo帧中误码率不大于参考误码率的flexo帧,并且,该多个第一flexo帧携带的第一业务校验数据可能是发送端设备发送的至少n个flexo帧中r个flexo校验帧携带的全部校验数据,也可能是r个flexo校验帧中的部分flexo校验帧携带的部分校验数据。第一业务数据可能是发送端设备发送的至少n个flexo帧中多个flexo数据帧携带的全部业务数据中的部分业务数据,也可能是多个flexo数据帧中的部分flexo数据帧携带的部分业务数据。
具体地,在本申请实施例中,该m个flexo帧可能就是发送端设备发送的至少n个flexo帧,也可能只是发送端设备发送的至少n个flexo帧中的部分flexo帧。并且,在该m个flexo帧就是发送端设备发送的至少n个flexo帧的情况下,该m个flexo帧中可能存在超过参考误码率的flexo帧,也可能不存在。基于此,在接收到该m个flexo帧之后,接收端设备首先可以根据该m个flexo帧携带的随路检测指示码来检测发送端设备发送的至少n个flexo帧中是否存在k个误码率大于参考误码率的flexo帧。
其中,接收端设备可以根据在接收到该m个flexo帧的上一次通过flexo组接口的多个物理端口接收到多个flexo帧,确定多个物理端口中每个物理端口上一次接收到的flexo帧的参考码;根据多个物理端口中每个物理端口上一次接收到的flexo帧的参考码与m个flexo帧中每个flexo帧携带的随路检测指示码,判断至少n个flexo帧中是否存在k个误码率大于参考误码率的flexo帧。
示例性地,若随路检测指示码携带在flexo帧的帧开销中,则接收端设备可以从m个flexo帧的帧开销中获取m个随路检测指示码。之后,接收端设备可以根据m个flexo帧的接收端口将该m个随路检测指示码与flexo组接口的多个物理端口进行对应,以得到flexo组接口的多个物理端口中每个物理端口当前接收的flexo帧的随路检测指示码。其中,如前所述,若某个物理端口出现故障,导致由该物理端口传输的flexo帧丢失,则该物理端口当前并未接收到flexo帧。此时,可以将前述的指定数值作为该物理端口当前接收到的flexo帧对应的随路检测指示码。之后,接收端设备可以根据在接收到m个flexo帧的上一次通过flexo组接口的多个物理端口接收到的多个flexo帧确定多个物理端口中每个物理端口上一次接收到的flexo帧的参考码,并将每个物理端口上一次接收到的flexo帧的参考码与每个物理端口当前接收到的flexo帧的随路检测指示码进行比较。若二者不一致,则说明发送端设备发送的至少n个flexo帧存在误码率大于参考误码率的flexo帧。在这种情况下,可以根据不一致的随路检测指示码的数量来确定误码率大于参考误码率的flexo帧,若误码率大于参考误码率的flexo帧的数量不大于r,则可以确定发送端设备发送的至少n个flexo帧中存在k个误码率大于参考误码率的flexo帧。
可选地,若随路检测指示码携带在otux帧的otux开销中,则接收端设备可以对该m个flexo帧中的每个flexo帧进行解映射,得到与m个flexo帧一一对应的m个otux帧。之后,接收端设备可以从m个otux帧中获取到m个随路检测指示码,并参考前述方法根据该m个随路检测指示码来判断发送端设备发送的至少n个flexo帧中是否存在k个误码率大于参考误码率的flexo帧。
在确定发送端设备发送的至少n个flexo帧中存在k个误码率大于参考误码率的flexo帧之后,接收端设备可以根据该m个flexo帧来还原业务数据。其中,该m个flexo帧中可能包含有误码率大于参考误码率的flexo帧,而误码率大于参考误码率的flexo帧将无法用于还原业务数据。基于此,接收端设备可以根据m个flexo帧中误码率不大于参考误码率多个第一flexo帧携带的第一业务数据和第一业务校验数据来还原业务数据。
示例性的,若发送端设备是根据otux校验帧映射得到的flexo校验帧,则接收端设备根据多个第一flexo帧携带第一业务数据和第一业务校验数据来还原业务数据的实现过程可以为:对m个flexo帧中的每个flexo帧进行解映射,得到与m个flexo帧一一对应的m个otux帧,根据m个otux帧中与多个第一flexo帧一一对应的多个第一otux帧携带的第一业务校验数据和第一业务数据,对至少n个flexo帧中的k个flexo帧对应的otux帧进行还原,k个flexo帧是指至少n个flexo帧中误码率大于参考误码率的flexo帧;根据多个第一otux帧携带的第一业务数据和还原后的k个flexo帧对应的otux帧携带的第二业务数据,还原业务数据。
当每个otux帧的otux开销中均包括fa字节时,接收端设备可以首先根据fa字节来对齐m个otux帧。在对齐m个otux帧之后,接收端设备可以确定多个第一otux帧中msi开销包含有帧指示信息的otux帧为otux校验帧,并确定多个第一otux帧中除otux校验帧之外剩余的otux帧为otux数据帧。
在确定多个第一otux帧中的校验帧和数据帧之后,若发送端设备通过对otux数据帧进行冗余编码得到otux校验帧,则接收端设备可以根据多个第一otux帧中的otux校验帧的otux开销以及otux数据帧的otux开销对k个flexo帧对应的otux帧的otux开销进行恢复,并根据otux数据帧携带的第一业务数据以及otux校验帧携带的第一业务校验数据对k个flexo帧的otux帧携带的业务数据进行恢复,最终得到k个flexo帧对应的otux帧。需要说明的是,多个第一otux帧的otux开销中包括的fa字节和msi开销将不参与对k个flexo帧对应的otux帧的otux开销的恢复,并且,当otux开销中还包括随路检测指示码,该随路检测指示码也不参与对k个flexo帧对应的otux帧的otux开销的还原。
需要说明的是,若发送端设备通过对otux数据帧包括的时隙进行冗余编码得到otux校验帧,由步骤202中的介绍可知,otux校验帧的msi时隙中还可包括时隙指示信息。在这种情况下,接收端设备可根据otux校验帧包括的各个校验时隙和otux数据帧中对应的时隙来恢复k个flexo帧对应的otux帧包括的时隙,以此来得到k个flexo帧对应的otux帧。其中,k个flexo帧对应的otux帧包括的时隙内即包括用于放置otux开销的时隙。
在还原得到k个flexo帧对应的otux帧之后,接收端设备可以根据还原得到的k个otux帧中的msi开销来确定还原后的otux帧的otux数据帧,根据还原得到的otux数据帧中携带的第二业务数据和多个第一otux帧中的otux数据帧中携带的第一业务数据,即可以还原得到全部的业务数据。
可选地,若发送端设备通过对flexo数据帧进行冗余编码得到flexo校验帧,则接收端设备可以根据多个第一flexo帧中的帧开销来还原k个flexo帧的帧开销,并根据多个第一flexo帧中的flexo数据帧携带的业务数据和flexo校验帧携带的业务校验数据来还原k个flexo帧携带的业务数据,从而得到k个flexo帧。
在还原得到k个flexo帧之后,接收端设备可以根据flexo帧的帧开销中携带的帧指示信息来确定还原得到的k个flexo帧中的flexo数据帧,根据k个flexo帧中的flexo数据帧携带的业务数据和多个第一flexo帧中的flexo数据帧的第一业务数据,即可以还原得到全部业务数据。
在本申请实施例中,发送端设备可以生成承载有业务数据的otuxn信号,并根据otuxn信号生成至少n个flexo帧,其中,至少n个flexo帧中的r个flexo帧携带有业务校验数据,该业务校验数据可以用于在k个flexo帧的误码率大于参考误码率时,还原该业务数据;之后,发送端设备可以通flexo组接口发送至少n个flexo帧。这样,当由于flexo组接口包括的物理端口中不多于r个物理端口发生故障或其他原因导致不多于r的flexo帧的误码率大于参考误码率时,接收端设备均可以通过接收到的flexo帧来还原该业务数据,实现了对flexo组接口的多个物理端口传输的业务数据的无损恢复。
可选地,otux帧的开销还可以端口切换指示信息,以实现收发端同步的flexo组接口包括的多个物理端口的无损增加或减少。示例性地,图7示出了一种无损增加物理端口的方法的流程示意图。如图7所示,该方法可以包括以下步骤:
步骤701:发送端设备在当前发送的otuxn信号包括的otux帧的otux开销中插入端口切换指示信息,并从当前发送的otuxn信号开始计数,在发送i个otuxn信号之后,通过已增加h个物理端口的flexo组接口发送包含有业务数据和业务校验数据的flexo帧。
在本申请实施例中,端口切换指示信息用于指示增加h个物理端口。其中,该端口切换指示信息中可以包含有i。示例性地,i的取值可以设置为2、3、4等数值,本申请实施例对此不做限定。
需要说明的是,在本申请实施例中,发送端设备可以在检测到flexo组接口包括的原有物理端口中存在失效端口的情况下,通过在otux开销中携带端口指示切换信息来增加新的物理端口,并移除失效的物理端口,以此来避开失效的物理端口。或者,发送端设备可以在根据otuxn信号的信号速率检测到需要扩大容量或者缩小容量时,通过在otux开销中携带端口指示切换信息来增加物理端口或者减少物理端口。接下来将主要对无损增加物理端口的过程进行介绍。
具体地,发送端设备可以在当前发送的otuxn信号包括的所有的otux帧的otux开销中插入端口切换指示信息,或者,可以在当前发送的otuxn信号包括的任一otux帧的otux开销中插入该端口切换指示信息,或者,也可以通过目标物理端口发送的不包含有业务数据的otux帧的otux开销中插入该端口切换指示信息,本申请实施例对此不做限定。另外,端口切换指示信息可以携带在otux开销中的otu开销或odu开销中,本申请实施例对此不做限定。
其中,发送端设备通过flexo组接口发送otuxn信号的实现过程可以参考前述实施例中介绍的业务数据处理方法中相关实现过程,本申请实施例对此不再赘述。
发送端设备从当前发送的otuxn信号开始计数,到发送了i个otuxn信号之后,发送端设备可以通过目标物理端口以及flexo组接口的原有物理端口一起来发送otuxn信号。
可选地,发送端设备在向当前发送的otuxn信号包括的otux帧的otux开销中插入端口切换指示信息之前,可通过与接收端设备进行交互来判断增加的h个物理端口是否正常,并通过与接收端设备进行交互来判断增加的h个物理端口是否已于flexo组接口原有物理端口对齐。为了便于后续说明,在接下来的说明中将增加的h个物理端口称为目标物理端口。
示例性的,发送端设备与接收端设备进行交互来判断目标物理端口是否正常的实现过程可以为:发送端设备通过目标物理端口向接收端设备发送检测序列。接收端设备在接收到该检测序列之后,可以检测该检测序列的损失是否在预设范围之内。若不在预设范围之内,则接收端设备可以向发送端设备发送告警,若在预设范围之内,则接收端设备可以发送确认消息或者是不返回消息。发送端设备在接收到该告警时,则可以确定该目标物理端口异常。若发送端设备在预设时长内未接收到接收端设备发送的告警,或者发送端设备在预设时长内接收到接收端设备的确认消息,则可以确定该目标物理端口正常。
当发送端设备确定目标物理端口正常之后,发送端设备可以通过与接收端设备进行交互来判断增加的h个物理端口是否已于flexo组接口原有物理端口对齐,具体实现过程可以为:发送端设备通过该目标物理端口发送目标flexo帧,该目标flexo帧不包含业务数据,且该目标flexo帧包含帧开销。接收端设备根据目标flexo帧的帧开销,对齐flexo组接口包括的多个物理端口,该多个物理端口中包括目标物理端口。当接收到接收端设备发送的对齐通知消息时,则确定目标物理端口已与flexo组接口的原有物理端口对齐。
其中,发送端设备可以在通过flexo组接口中原有的物理端口发送携带有业务数据和业务校验数据的flexo帧的同时,通过该目标物理端口发送无业务数据的目标flexo帧,但是,该目标flexo帧携带帧开销,且该帧开销中包括fa字节,或者是,映射得到该目标flexo帧的otux帧携带有otux开销,该otux开销中包括fa字节。
在接收到目标flexo帧之后,接收端设备可根据该目标flexo帧和其他物理端口发送的flexo帧对齐多个物理端口。对齐完成之后,发送对齐通知消息给发送端设备。其中,接收端设备可以通过控制层面来发送该对齐通知消息,可以通过反向带内开销发送该通知消息。
步骤702:接收端设备接收端口切换指示信息,并从当前接收到的otuxn信号开始计数,在接收到i个otuxn信号之后,接收并处理多个物理端口发送的携带有业务数据和业务校验数据的flexo帧。
其中,接收端设备接收并处理通过flexo组接口发送flexo帧的实现过程可以参考前述实施例中介绍的业务数据处理方法中的相关实现过程,本申请实施例对此不再赘述。需要说明的是,接收端设备在通过前述实施例中介绍的业务数据处理方法来处理flexo帧时,在还原otux帧的otux开销时,该端口切换指示信息与fa字节、msi开销和随路检测指示码一样不参与校验。
在本申请实施例中,发送端设备可以通过在otu开销或odu开销包含的保留开销中插入端口切换指示信息来动态的增加flexo组接口的端口数量,并且,在增加flexo组接口的端口数量的过程中,不会对业务数据的传输造成影响,实现了flexo组接口包括的多个物理端口的无损增加。
上述实施例中主要介绍了无损增加物理端口的过程。可选地,在无损减少物理端口时,发送端设备可以在当前发送的otuxn信号包括的otux帧的otux开销中插入端口切换指示信息,此时,该端口切换指示信息用于指示从当前发送的otuxn信号开始计数,在发送i个otuxn信号之后,移除目标物理端口。相应地,当接收端设备接收到该端口切换指示信息之后,则可以从当前接收端的otuxn信号开始计数,在接收到i个otuxn信号之后,接收并处理通过已移除物理端口的flexo组接口发送的flexo帧。
需要说明的是,在实际应用中,可以将无损增加物理端口的过程和无损减少物理端口的过程结合起来,也即,发送端设备可以增加新的物理端口,并将原有端口中的失效端口移除,利用新增的物理端口来代替失效端口进行数据传输,保证了flexo组接口的有效性。
另外,还需要说明的是,上述实施例中端口切换指示信息可以携带otux帧的otux开销中下发,在一种可能的实现方式中,该端口切换指示信息还可以携带在flexo帧的帧开销中下发,具体实现方式可以参考上述实施例,本申请实施例在此不再赘述。
接下来对本申请实施例提供的业务数据处理装置进行介绍。
参见图8,本申请实施例提供了一种业务数据处理装置800,该装置800包括:
第一生成模块801,用于生成承载业务数据的otuxn信号;
第二生成模块802,用于生成至少n个flexo帧,该至少n个flexo帧用于承载otuxn信号且包括r个flexo校验帧和多个flexo数据帧,其中,多个flexo数据帧携带业务数据,r个flexo校验帧携带业务校验数据,该业务校验数据用于在k个flexo帧的误码率大于参考误码率时,还原业务数据,k,r和n均为正整数,k不大于r,r不大于n;
发送模块803,用于通过flexo组接口发送该至少n个flexo帧。
可选地,otuxn信号包括n个otux帧,其中,n个otux帧包括n-r个otux数据帧和r个otux校验帧;n-r个otux数据帧和r个otux校验帧的每一个都包括w个时隙;
第一生成模块具体用于对n-r个otux数据帧的第t个时隙进行冗余编码,得到对应的校验数据,校验数据放置在otux校验帧的第t个时隙,t为(0,w-1)的任意正整数;
第二生成模块具体用于根据r个otux校验帧生成r个flexo校验帧,并根据n-r个otux数据帧生成n-r个flexo数据帧,将r个flexo校验帧和n-r个flexo数据帧作为n个flexo帧。
可选地,每个otux校验帧或每个flexo校验帧均包括第一otux开销,第一otux开销包括复用结构标识符msi开销,且第一otux开销包括的msi开销中包含用于指示对应的otux帧中的各个时隙是否为校验时隙的时隙指示信息,校验时隙是指放置有校验数据的时隙。
可选地,第二生成模块具体用于:
根据otuxn信号得到n个otux数据帧,n个otux数据帧携带业务数据;
根据n个otux数据帧进行冗余编码,得到r个otux校验帧,r个otux校验帧携带业务校验数据;
根据n个otux数据帧生成n个flexo数据帧,并根据r个otux校验帧生成r个flexo校验帧,将n个flexo数据帧和r个flexo校验帧作为n r个flexo帧。
可选地,第二生成模块具体用于:
根据otuxn信号得到n个otux数据帧,n个otux数据帧携带业务数据;
根据n个otux数据帧生成n个flexo数据帧,并根据n个flexo数据帧进行冗余编码,得到r个flexo校验帧,将n个flexo数据帧和r个flexo校验帧作为n r个flexo帧。
可选地,每个otux校验帧或每个flexo校验帧均包括第一otux开销,第一otux开销和第二otux开销中均包括帧定位fa字节和msi开销,且第一otux开销包括的msi开销中包含用于指示对应的otux帧为otux校验帧的帧指示信息,第一otux开销用于对第二otux开销中除fa字节和msi开销之外的信息进行校验。
可选地,第一otux开销和第二otux开销中均包括随路检测指示码,随路检测指示码用于指示相应otux帧的误码率是否大于参考误码率。
可选地,第一otux开销或第二otux开销中还包括端口切换指示信息;
其中,端口切换指示信息用于指示从当前发送的otuxn信号开始计数,在发送i个otuxn信号之后,通过已增加h个物理端口的flexo组接口发送flexo帧,或者,端口切换指示信息用于指示从当前发送的otuxn信号开始计数,在发送i个otuxn信号之后,将flexo组接口包括的多个物理端口中的h个物理端口移除,并通过移除端口后的flexo组接口发送flexo帧。
可选地,发送模块具体用于:
将至少n个flexo帧中的每个flexo帧通过flexo组接口绑定的多个物理端口中的至少两个物理端口发送;或者,通过flexo组接口包括的多个物理端口中的每个物理端口发送至少n个flexo帧中的至少两个flexo帧。
可选地,进行冗余编码是指利用里德-所罗门rs类纠删码、低密度纠删码、阵列码、数字喷泉码、基于网络编码的再生码和局部校验码中的任一种进行编码。
综上所述,本申请实施例可以生成承载有业务数据的otuxn信号,并根据otuxn信号生成至少n个flexo帧,其中,至少n个flexo帧中的r个flexo帧携带有业务校验数据,该业务校验数据可以用于在k个flexo帧的误码率大于参考误码率时,还原该业务数据;之后,发送端设备可以通flexo组接口发送至少n个flexo帧。这样,当由于flexo组接口包括的物理端口中不多于r个物理端口发生故障或其他原因导致不多于r的flexo帧的误码率大于参考误码率时,接收端设备均可以通过接收到的flexo帧来还原该业务数据,实现了对flexo组接口的多个物理端口传输的业务数据的无损恢复。
参见图9,本申请实施例提供了一种业务数据处理装置900。该装置900包括:
接收模块901,用于通过flexo组接口接收m个flexo帧,该m个flexo帧是指由发送端设备发送的至少n个flexo帧或至少n个flexo帧中的部分flexo帧,该至少n个flexo帧包括r个flexo校验帧以及多个flexo数据帧,该r个flexo校验帧携带业务校验数据,该多个flexo数据帧携带业务数据;
还原模块902,用于当根据m个flexo帧检测到由发送端设备发送的至少n个flexo帧中存在k个误码率大于参考误码率的flexo帧时,根据m个flexo帧中的多个第一flexo帧携带的第一业务校验数据和第一业务数据,还原业务数据,其中,多个第一flexo帧是指误码率不大于参考误码率的flexo帧,第一业务数据是指业务数据中的部分业务数据或全部业务数据,k为不大于r的正整数。
可选地,还原模块包括:
解映射子模块,用于对m个flexo帧中的每个flexo帧进行解映射,得到与m个flexo帧一一对应的m个otux帧;
第一还原子模块,用于根据m个otux帧中与多个第一flexo帧一一对应的多个第一otux帧携带的第一业务校验数据和第一业务数据,对至少n个flexo帧中的k个flexo帧对应的otux帧进行还原,k个flexo帧是指至少n个flexo帧中误码率大于参考误码率的flexo帧;
第二还原子模块,用于根据多个第一otux帧携带的第一业务数据和还原后的k个flexo帧对应的otux帧携带的第二业务数据,还原业务数据。
可选地,m个otux帧中的每个otux帧均包括otux开销,且每个otux帧的otux开销中均包括帧定位fa字节、复用结构标识符msi开销;
第一还原子模块具体用于:
根据m个otux帧中每个otux帧的otux开销中的fa字节,对齐m个otux帧;
确定多个第一otux帧中msi开销包含有帧指示信息的otux帧为otux校验帧,确定多个第一otux帧中剩余的otux帧为otux数据帧;
根据otux校验帧的otux开销对otux数据帧的otux开销进行校验;
根据校验后的otux数据帧携带的第一业务数据以及otux校验帧携带的第一业务校验数据还原k个flexo帧对应的otux帧。
可选地,m个flexo帧中的每个flexo帧均包括随路检测指示码,随路检测指示码用于指示相应flexo帧的误码率是否大于参考误码率;
该装置还用于:根据在接收到m个flexo帧的上一次通过flexo组接口的多个物理端口接收到多个flexo帧,确定多个物理端口中每个物理端口上一次接收到的flexo帧的参考码;根据多个物理端口中每个物理端口上一次接收到的flexo帧的参考码与m个flexo帧中每个flexo帧携带的随路检测指示码,判断至少n个flexo帧中是否存在k个误码率大于参考误码率的flexo帧。
可选地,该装置还用于当m个otux帧中的任一otux帧的otux开销中包含有端口切换指示信息时,基于端口切换指示信息,从当前接收到的otuxn信号开始计数,在接收到第i个otuxn信号之后,接收通过已增加h个物理端口的flexo组接口发送的flexo帧,或者,接收通过已移除h个物理端口的flexo组接口发送的flexo帧。
在本申请实施例中,接收端设备可以接收m个flexo帧,并根据该m个flexo帧对发送端端设备发送的至少n个flexo帧中的k个flexo帧进行还原,进而还原业务数据,实现了flexo组接口的多个物理端口中的部分物理端口发生故障的情况下业务数据的无损恢复。
需要说明的是:上述实施例提供的业务数据处理装置在处理业务数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的业务数据处理装置与业务数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10是本申请实施例提供的一种业务数据处理设备的结构示意图。前述实施例中的发送端设备和接收端设备均可以通过图10所示的业务数据处理设备来实现。参见图10,该业务数据处理设备包括至少一个处理器1001,通信总线1002,存储器1003以及至少一个通信接口1004。
处理器1001可以是一个通用中央处理器(centralprocessingunit,cpu),微处理器,特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线1002可包括一通路,在上述组件之间传送信息。
存储器1003可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(randomaccessmemory,ram))或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1003可以是独立存在,通过通信总线1002与处理器1001相连接。存储器1003也可以和处理器1001集成在一起。
通信接口1004,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wirelesslocalareanetworks,wlan)等。
在具体实现中,作为一种实施例,处理器1001可以包括一个或多个cpu,例如图10中所示的cpu0和cpu1。
在具体实现中,作为一种实施例,该业务数据处理设备可以包括多个处理器,例如图10中所示的处理器1001和处理器1005。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,该业务数据处理还可以包括输出设备1006和输入设备1007。输出设备1006和处理器1001通信,可以以多种方式来显示信息。例如,输出设备1006可以是液晶显示器(liquidcrystaldisplay,lcd),发光二极管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备1007和处理器1001通信,可以以多种方式接收用户的输入。例如,输入设备1007可以是鼠标、键盘、触摸屏设备或传感设备等。
其中,存储器1003用于存储执行本申请方案的程序代码,并由处理器1001来控制执行。处理器1001用于执行存储器1003中存储的程序代码1008。程序代码1008中可以包括一个或多个软件模块。前述实施例中的发送端设备或接收端设备可以通过处理器1001以及存储器1003中的程序代码1008中的一个或多个软件模块,来对待发送的或者是接收到的业务数据进行处理。
参见图11,本申请实施例还提供了一种芯片1100的结构示意图,如图11所示,该芯片1100中包括处理器1101、第一类通信接口1102、第二类通信接口1103和第三类通信接口1104。
其中,第一类通信接口1102可以包括多个串行器/解串器(serializer-deserializer,serdes)。该多个serdes可以接收光模块发送的信号。
处理器1101用于通过本申请提供的业务数据处理方法对第一类通信接口接收到的信号进行处理,以还原业务数据,且该处理器1101还用于通过本申请提供的业务处理方法来生成承载有该业务数据的otuxn信号,并根据otuxn信号生成至少n个flexo帧;
第二类通信接口1103同样可以包括多个serdes,且该多个serdes可以用于发送处理器1101生成的至少n个flexo帧。需要说明的是,在一种可选的实现方式中,第二类通信接口和第一类通信接口可能是同一个,也即,该通信接口即可以用于接收也可以用于发送。
第三类通信接口1104可以是指芯片与设备之间的接口,也即,通过第二类通信接口1104,该芯片1100可以连接到其他设备的通信总线上。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digitalsubscriberline,dsl))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digitalversatiledisc,dvd))、或者半导体介质(例如:固态硬盘(solidstatedisk,ssd))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
1.一种业务数据处理方法,其特征在于,所述方法包括:
生成光通道传输单元otuxn信号,所述otuxn信号用于承载业务数据;
生成至少n个flexo帧,所述至少n个flexo帧用于承载所述otuxn信号,且所述至少n个flexo帧中包括r个flexo校验帧和多个flexo数据帧,其中,所述多个flexo数据帧携带所述业务数据,所述r个flexo校验帧携带业务校验数据,所述业务校验数据用于在k个flexo帧的误码率大于参考误码率时,还原所述业务数据,所述k为不大于所述r的正整数,所述r为不大于所述n的正整数;
通过灵活光传送网flexo组接口发送所述至少n个flexo帧。
2.如权利要求1所述的方法,其特征在于,所述生成至少n个flexo帧,所述至少n个flexo帧用于承载所述otuxn信号,包括:
所述otuxn信号包括n个otux帧,其中,所述n个otux帧包括n-r个otux数据帧和r个otux校验帧,所述n-r个otux数据帧携带所述业务数据;
所述n-r个otux数据帧和所述r个otux校验帧的每一个都包括w个时隙;
对所述n-r个otux数据帧的第t个时隙中的业务数据进行冗余编码,得到对应的校验数据,所述校验数据放置在所述r个otux校验帧的第t个时隙,t为(0,w-1)的任意正整数;
根据所述r个otux校验帧生成所述r个flexo校验帧,并根据所述n-r个otux数据帧生成n-r个flexo数据帧,将所述r个flexo校验帧和所述n-r个flexo数据帧作为n个flexo帧。
3.如权利要求2所述的方法,其特征在于,每个otux校验帧或每个flexo校验帧均包括时隙指示信息,所述时隙指示信息用于指示对应的时隙是否为校验时隙。
4.如权利要求1所述的方法,其特征在于,所述生成至少n个flexo帧,包括:
根据所述otuxn信号得到n个otux数据帧,所述n个otux数据帧携带所述业务数据;
根据所述n个otux数据帧进行冗余编码,得到r个otux校验帧,所述r个otux校验帧携带所述业务校验数据;
根据所述n个otux数据帧生成n个flexo数据帧,并根据所述r个otux校验帧生成r个flexo校验帧,将所述n个flexo数据帧和所述r个flexo校验帧作为n r个flexo帧。
5.如权利要求1所述的方法,其特征在于,所述生成至少n个flexo帧,包括:
根据所述otuxn信号得到n个otux数据帧,所述n个otux数据帧携带所述业务数据;
根据所述n个otux数据帧生成n个flexo数据帧,并根据所述n个flexo数据帧进行冗余编码,得到所述r个flexo校验帧,将所述n个flexo数据帧和所述r个flexo校验帧作为n r个flexo帧。
6.如权利要求4或5所述的方法,其特征在于,每个otux校验帧或每个flexo校验帧均包括第一开销,每个otux数据帧或每个flexo数据帧均包括第二开销,所述第一开销和所述第二开销中均包括帧定位fa字节和msi开销,且所述第一开销包括的msi开销中包含用于指示对应的帧为校验帧的帧指示信息,所述第一开销用于携带对所述第二开销中除所述fa字节和所述msi开销之外的信息进行校验获得的信息。
7.如权利要求6所述的方法,其特征在于,所述第一开销和所述第二开销中均包括随路检测指示码,所述随路检测指示码用于指示相应帧的误码率是否大于所述参考误码率。
8.如权利要求6或7所述的方法,其特征在于,所述第一开销或所述第二开销中还包括端口切换指示信息;
其中,所述端口切换指示信息用于指示从当前发送的otuxn信号开始计数,在发送i个otuxn信号之后,通过已增加h个物理端口的所述flexo组接口发送flexo帧,或者,所述端口切换指示信息用于指示从当前发送的otuxn信号开始计数,在发送i个otuxn信号之后,将所述flexo组接口包括的多个物理端口中的h个物理端口移除,并通过移除端口后的所述flexo组接口发送flexo帧。
9.如权利要求2-8任一所述的方法,其特征在于,所述通过flexo组接口发送所述至少n个flexo帧,包括:
将所述至少n个flexo帧中的每个flexo帧通过所述flexo组接口包括的多个物理端口中的至少两个物理端口发送;或者,通过所述flexo组接口包括的多个物理端口中的每个物理端口发送所述至少n个flexo帧中的至少两个flexo帧。
10.如权利要求2-9任一所述的方法,其特征在于,所述进行冗余编码是指利用里德-所罗门rs类纠删码、低密度纠删码、阵列码、数字喷泉码、基于网络编码的再生码和局部校验码中的任一种进行编码。
11.一种业务数据处理方法,其特征在于,所述方法包括:
通过灵活光传送网flexo组接口接收m个flexo帧,所述m个flexo帧是指由发送端设备发送的至少n个flexo帧或所述至少n个flexo帧中的部分flexo帧,所述至少n个flexo帧包括r个flexo校验帧以及多个flexo数据帧,所述r个flexo校验帧携带业务校验数据,所述多个flexo数据帧携带业务数据;
当根据所述m个flexo帧检测到由所述发送端设备发送的至少n个flexo帧中存在k个误码率大于参考误码率的flexo帧时,根据所述m个flexo帧中的多个第一flexo帧携带的第一业务校验数据和第一业务数据,还原所述业务数据,所述多个第一flexo帧是指误码率不大于所述参考误码率的flexo帧,所述第一业务数据是指所述业务数据中的部分业务数据,所述k为不大于所述r的正整数。
12.如权利要求11所述的方法,其特征在于,所述根据所述m个flexo帧中的多个第一flexo帧携带的第一业务校验数据和第一业务数据,还原所述业务数据,包括:
对所述m个flexo帧中的每个flexo帧进行解映射,得到与所述m个flexo帧一一对应的m个otux帧;
根据所述m个otux帧中与所述多个第一flexo帧一一对应的多个第一otux帧携带的第一业务校验数据和第一业务数据,对所述至少n个flexo帧中的k个flexo帧对应的otux帧进行还原,所述k个flexo帧是指所述至少n个flexo帧中误码率大于所述参考误码率的flexo帧;
根据所述多个第一otux帧携带的第一业务数据和还原后的k个flexo帧对应的otux帧携带的第二业务数据,还原所述业务数据。
13.如权利要求12所述的方法,其特征在于,所述m个otux帧中的每个otux帧均包括otux开销,且每个otux帧的otux开销中均包括帧定位fa字节、复用结构标识符msi开销;
所述根据所述m个otux帧中与所述多个第一flexo帧一一对应的多个第一otux帧携带的第一业务校验数据和第一业务数据,对所述至少n个flexo帧中的k个flexo帧对应的otux帧进行还原,包括:
根据所述m个otux帧中每个otux帧的otux开销中的fa字节,对齐所述m个otux帧;
确定所述多个第一otux帧中msi开销包含有帧指示信息的otux帧为otux校验帧,确定所述多个第一otux帧中剩余的otux帧为otux数据帧;
根据所述otux校验帧的otux开销中除所述fa字节和所述msi开销之外的信息以及所述otux数据帧的otux开销中除所述fa字节和所述msi开销之外的信息,还原所述k个flexo帧对应的otux帧的otux开销;
根据otux数据帧携带的第一业务数据以及所述otux校验帧携带的第一业务校验数据还原所述k个flexo帧对应的otux帧中的业务数据;
根据还原得到的所述k个flexo帧对应的otux帧的otux开销和所述k个flexo帧对应的otux帧中的业务数据,得到所述k个flexo帧对应的otux帧。
14.如权利要求11所述的方法,其特征在于,所述m个flexo帧中的每个flexo帧均包括随路检测指示码,所述随路检测指示码用于指示相应flexo帧的误码率是否大于所述参考误码率;
所述方法还包括:
根据在接收到所述m个flexo帧的上一次通过所述flexo组接口的多个物理端口接收到的多个flexo帧,确定所述多个物理端口中每个物理端口上一次接收到的flexo帧的参考码;
根据所述多个物理端口中每个物理端口上一次接收到的flexo帧的参考码与所述m个flexo帧中每个flexo帧携带的随路检测指示码,判断所述至少n个flexo帧中是否存在k个误码率大于参考误码率的flexo帧。
15.如权利要求12-14任一所述的方法,其特征在于,所述方法还包括:
当所述m个otux帧中的任一otux帧的otux开销中包含有端口切换指示信息时,基于所述端口切换指示信息,从当前接收到的otuxn信号开始计数,在接收到第i个otuxn信号之后,接收通过已增加h个物理端口的所述flexo组接口发送的flexo帧,或者,接收通过已移除h个物理端口的所述flexo组接口发送的flexo帧。
16.一种业务数据处理设备,其特征在于,所述业务数据处理设备包括处理器和存储器,其中:
所述存储器用于存储支持所述业务数据处理设备执行权利要求1-10任一项所述的方法的程序,且所述存储器还用于存储实现权利要求1-10任一项所述的方法所涉及的数据;
所述处理器用于执行所述存储器中存储的程序。
17.一种业务数据处理设备,其特征在于,所述业务数据处理设备包括处理器和存储器,其中:
所述存储器用于存储支持所述业务数据处理设备执行权利要求11-15任一项所述的方法的程序,且所述存储器还用于存储实现权利要求11-15任一项所述的方法所涉及的数据;
所述处理器用于执行所述存储器中存储的程序。
技术总结