定帧方法及定帧装置的制造方法_3

文档序号:9690753阅读:来源:国知局
继续接收数据流并将接收的数据流按块分配到所述多个CPU中,其中,X为大于等于I的整数。以CPU1为例,本发明实施例中CPU1用于在搜索状态,与CPU2-CPUn并行扫描帧头,并当扫描到正确帧头时,通告CPU2-CPUn释放所占用的数据块,并使定帧装置进入定帧状态,以及,在所述定帧装置处于定帧状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态,由所述数据处理模块10继续接收数据流并将接收的数据流按块分配到所述多个CPU中。
[0064]具体实现中,在异步通信过程中,通信的接收端从通信的发送端接收以帧格式传输的数据流。通信的接收端通过定帧找出数据流中的帧数据的开始,因此,本发明实施例的定帧装置可应用于异步通信的接收端。
[0065]对于GFP-P等帧长不固定的数据流,当数据处理单元10接收到这类数据流时,按照接收端包括的CPU个数η、数据流的总长度、将接收的数据流分成η个数据块,其中每个数据块分配到一个CPU中,建立多CPU的并行字节扫描搜帧线程,并向各CPU的并行字节扫描搜帧线程发送通告信息,触发各CPU进入搜索状态。
[0066]对于OTN、SDH等帧长固定的数据流,当数据处理单元10接收到这类数据流时,按照接收端包括的CPU个数η、数据流的总长度、将接收的数据流分成η个数据块,其中每个数据块分配到一个CPU中,建立多CPU的并行比特扫描搜帧线程,并向各CPU的并行比特扫描搜帧线程发送通告信息,触发各CPU进入搜索状态。
[0067]本发明实施例在搜索状态,通过接收端的多个CPU并行扫描帧头,替代现有技术中通过单核CPU进行串行扫描帧头的方式,可大大提高搜帧的速率。
[0068]具体实现中,所述多个CPU可采用字节扫描搜索方式,该方式针对GFP-P等帧长不固定的数据流,或者,所述多个CPU可采用比特扫描搜索方式,该方式针对OTN、SDH等帧长固定的数据流。
[0069]具体实现中,对于GFP-P等帧长不固定的数据流,其帧头通常占用四个字节,则本发明实施例中的定帧装置的每个CPU对其负责的数据块从块头的第I个字节开始,以四个字节为单位进行帧头扫描,当扫描的四个字节的数据中的前两个字节生成的循环冗余校验码验码恰好与后两个字节存放的比特相同,则可确定扫描到一个正确的帧头。当从第I个字节取出的四个字节经扫描不是帧头后,依次顺延一个字节重复上述的操作。比如,第一次取出第I个至第4个字节进行帧头判断,当判断出取出的不是帧头,下一次则取出第2个至第5个字节进行帧头判断,以此类推,直到有任意一个CPU扫描到正确的帧头为止。扫描到正确帧头的CPU通告其他CPU释放所占用的数据块。
[0070]具体实现中,对于OTN和SDH等帧长固定的数据流(0ΤΝ的帧长为4*4080字节),其帧头通常为一个固定的比特组合(比如,为一个48比特的字符串),则本发明实施例中的定帧装置的每个CPU对其负责的数据块从块头的第I个比特开始,以所述比特组合的长度为单位进行帧头扫描,当扫描的比特流刚好与所述帧头的比特组合相同时,则可确定扫描到一个正确的帧头。当从第I个比特取出的与所述比特组合长度相同的比特流经扫描不是帧头后,依次顺延一个比特重复上述的操作。比如,第一次取出第I个至第48个比特进行帧头判断,当判断出取出的不是帧头,下一次则取出第2个至第49个比特进行帧头判断,以此类推,直到有任意一个CPU扫描到正确的帧头为止。扫描到正确帧头的CPU通告其他CPU释放所占用的数据块。
[0071]如图4所示,在一些可行的实施方式中,本发明实施例的每个CPU(CPU1-CPUn)可包括:
[0072]搜索模块110,用于在所述定帧装置处于搜索状态时,与其他CPU并行扫描帧头,并当扫描到正确帧头时,通告其他CPU释放所占用的数据块,并使所述定帧装置进入定帧状态;
[0073]定帧模块111,用于在所述定帧装置处于定帧状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜帧状态,以由所述数据处理模块10继续接收数据流并将接收的数据流按块分配到所述多个CPU中。
[0074]在一些可行的实施方式中,定帧状态可为一个独立的状态,此时定帧模块111以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜帧状态,指示所述数据处理模块继续接收数据流并将接收的数据流按块分配到所述多个CPU中。
[0075]在其他的一些实施例中,定帧状态可进一步包括预同步状态和同步状态两种状态,如图5此时,定帧模块111可进一步包括:第一定帧模块1111和第二定帧模块1112,其中:
[0076]第一定帧模块1111,用于在所述定帧装置处于预同步状态时,以帧为单元跳帧搜索帧头,当连续扫描到Y个正确的帧头,则使所述定帧装置进入同步状态;当I次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态,其中,所述Y为大于或等于I的整数;
[0077]第二定帧模块1112,用于在所述定帧装置处于同步状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态。
[0078]如图6所示,在本发明的其他可行的实施例中,当所述多个CPU采用比特扫描搜索方式时,定帧装置还可包括:
[0079]调整模块30,用于当任意一个CPU扫描到正确的帧头,使所述定帧装置进入定帧状态之前,根据所述正确的帧头的比特流的起始位置相对于所述起始位置所在字节的起始位置的偏移值,移动所述正确的帧头所在CPU中的数据块,以将所述CPU中的数据块中所有帧头的起始位置移动到相应的字节起始位置。在图6中以CPUn扫描到正确的帧头为图例。
[0080]以OTN为例,假设一个CPU扫描到正确的帧头为第15个字节第3比特开始的48比特数据,则可知,所述帧头的起始位置相对于第15个字节的起始位置(第I个比特位)的偏移值为2,也即,所述CPU中所有比特数据流的帧头相对于字节起始位置的偏移均为2,则调整模块30将所述CPU接收的所有比特数据流向左移动2比特,以最终将所述帧头的比特流的起始位置移动到所述第15个字节的起始位置,以及将其他的帧头的起始位置也移动到相应的字节的起始位置。
[0081]具体实现中,可能存在偏移值为O的情形,此时,则可无需进行比特流移动。
[0082]综上所述,本发明实施例的定帧装置当接收到数据流时,将接收的数据流按块分配到多个CPU中,并且,在搜索状态通过所述多个CPU并行扫描帧头的方式替代现有技术中串行扫描帧头的方式。由此,本发明实施例将串行搜帧转换为并行搜帧,大大提高了搜帧的速率,进而实现了高速地定帧处理。另外,对于0TN、SDH等帧长固定而需通过比特扫描定帧的系统,本发明实施例在扫描到正确的帧头后,在以帧为单元进行跳帧搜索之前,统一将帧头起始位置移动到字节起始位置,以避免帧头起始位置与字节起始位置不一致给CPU进行跳帧搜索带来额外的工作,进一步提高了定帧的效率。
[0083]图7为本发明的定帧装置的另一实施例的结构组成示意图。如图7所示,其可包括:通信接口 71、存储器72、处理器73以及多个CPU74,其中:
[0084]所述通信接口 71,用于与所述定帧装置以外的其他设备或功能模块进行数据传输。具体实现中,本发明实施例的通信接口可用作前述实施例的数据处理模块的收发器件,用于接收发送端发送的数据流。具体实现中,本发明实施例所述的通信接口可包括键盘、鼠标、光电输入装置、声音输入装置、触摸式输入装置、扫描仪等数据输入接口。或者,可包括显示器、扬声器、打印机等数据输出接口。或者,射频天线等收发器件。
[0085]所述存储器72,用于存储带有各种功能的程序数据。本发明实施例中存储器72存储的数据包括可调用并运行的程序数据。具体实现中,本发明实施例的存储器72可以是系统存储器,比如,挥发性的(诸如RAM),非易失性的(诸如R0M,闪存等),或者两者的结合。具体实现中,本发明实施例的存储器72还可以是系统之外的外部存储器,比如,磁盘、光盘、磁带等。
[0086]所述处理器73,用于调用所述存储器72中存储的程序数据,并执行如下操作:
[0087]在所述定帧装置处于预搜索状态时,将所述通信接口 71接收的数据
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1