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

文档序号:9690753阅读:来源:国知局
式替代现有技术中串行扫描帧头的方式。由此,本发明实施例将串行搜帧转换为并行搜帧,大大提高了搜帧的速率,进而实现了高速地定帧处理。
[0041]图1为本发明实施例的定帧方法的一实施例的流程示意图。如图1所述,本发明的定帧方法可包括:
[0042]步骤S110,在预搜索状态,接收数据流并将接收的数据流按块分配到本端的多个CPU中,并进入搜索状态。
[0043]具体实现中,在异步通信过程中,通信的接收端从通信的发送端接收以帧格式传输的数据流。通信的接收端通过定帧找出数据流中的帧数据的开始,因此,本发明实施例的定中贞方法可应用于接收端的定巾贞处理。
[0044]具体实现中,接收端在初始状态处于预搜索状态,当接收到发送端发送的数据流之后,将接收的数据流按块分配到接收端的多个CPU中,随后接收端进入搜索状态。
[0045]对于GFP-P等帧长不固定的数据流,在步骤S110,当接收到这类数据流时,接收端按照所述接收端包括的CPU个数η (η大于或者等于2)、数据流的总长度、将接收的数据流分成η个数据块,其中每个数据块分配到一个CPU中,建立多CPU的并行字节扫描搜帧线程,并向各CPU的并行字节扫描搜帧线程发送通告信息,触发各CPU进入搜索状态。
[0046]对于0TN、SDH等帧长固定的数据流,在步骤S110,当接收到这类数据流时,接收端按照所述接收端包括的CPU个数η (η大于或者等于2)、数据流的总长度、将接收的数据流分成η个数据块,其中每个数据块分配到一个CPU中,建立多CPU的并行比特扫描搜帧线程,并向各CPU的并行比特扫描搜帧线程发送通告信息,触发各CPU进入搜索状态。
[0047]步骤S111,在搜索状态,通过所述多个CPU并行扫描帧头,当任意一个CPU扫描到正确的帧头,通过所述扫描到正确的帧头的CPU通告其他CPU释放所占用的数据块,并进入定帧状态。
[0048]本发明实施例在搜索状态,通过接收端的多个CPU并行扫描帧头,替代现有技术中通过单核CPU进行串行扫描帧头的方式,可大大提高搜帧的速率。
[0049]具体实现中,在步骤S111,所述多个CPU可采用字节扫描搜索方式,该方式针对GFP-P等帧长不固定的数据流,或者,在步骤S111,所述多个CPU可采用比特扫描搜索方式,该方式针对OTN、SDH等帧长固定的数据流。
[0050]具体实现中,对于GFP-P等帧长不固定的数据流,其帧头通常占用四个字节,在步骤S111,每个CPU对其负责的数据块从块头的第I个字节开始,以四个字节为单位进行帧头扫描,当扫描的四个字节的数据中的前两个字节生成的循环冗余校验码验码恰好与后两个字节存放的比特相同,则可确定扫描到一个正确的帧头。当从第I个字节取出的四个字节经扫描不是帧头后,依次顺延一个字节重复上述的操作。比如,第一次取出第I个至第4个字节进行帧头判断,当判断出取出的不是帧头,下一次则取出第2个至第5个字节进行帧头判断,以此类推,直到有任意一个CPU扫描到正确的帧头为止。扫描到正确帧头的CPU通告其他CPU释放所占用的数据块。
[0051]具体实现中,对于OTN和SDH等帧长固定的数据流(0ΤΝ的帧长为4*4080字节),其帧头通常为一个固定的比特组合(比如,为一个48比特的字符串),则在步骤S111,每个(PU对其负责的数据块从块头的第I个比特开始,以所述比特组合的长度为单位进行帧头扫描,当扫描的比特流刚好与所述帧头的比特组合相同时,则可确定扫描到一个正确的帧头。当从第I个比特取出的与所述比特组合长度相同的比特流经扫描不是帧头后,依次顺延一个比特重复上述的操作。比如,第一次取出第I个至第48个比特进行帧头判断,当判断出取出的不是帧头,下一次则取出第2个至第49个比特进行帧头判断,以此类推,直到有任意一个CPU扫描到正确的帧头为止。扫描到正确帧头的CPU通告其他CPU释放所占用的数据块。
[0052]步骤S112,在定帧状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态,其中,X为大于等于I的整数。
[0053]在本实施例中,定帧状态为一个状态,在定帧状态为一个状态时,当连续X次扫描到错误的帧头,返回所述预搜索状态。而在其他的一些实施例中,定帧状态可进一步包括预同步状态和同步状态两种状态,则,步骤S112具体可包括:在预同步状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续扫描到Y个正确的帧头,则进入同步状态;当I次扫描到错误的帧头,返回所述预搜索状态;在同步状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态;其中,X和Y均为大于或等于I的整数。
[0054]具体实现中,当所述多个CPU采用比特扫描搜索方式时,步骤Slll中当任意一个CPU扫描到正确的帧头之后,进入定帧状态之前,还包括:
[0055]根据所述正确的帧头的比特流的起始位置相对于所述起始位置所在字节的起始位置的偏移值,移动所述正确的帧头所在CPU中的数据块,以将所述CPU中的数据块中所有帧头的起始位置移动到相应的字节起始位置。
[0056]以OTN为例,假设经过步骤S111,任意一个CPU扫描到正确的帧头为第15个字节第3比特开始的48比特数据,则可知,所述帧头的起始位置相对于第15个字节的起始位置(第I个比特位)的偏移值为2,也即,所述CPU中所有比特数据流的帧头相对于字节起始位置的偏移均为2,则将所述CPU接收的所有比特数据流向左移动2比特,以最终将所述帧头的比特流的起始位置移动到所述第15个字节的起始位置,以及将其他的帧头的起始位置也移动到相应的字节的起始位置。
[0057]具体实现中,可能存在偏移值为O的情形,此时,则可无需进行比特流移动。
[0058]图2示出了采用本发明实施例的定帧方法对GFP-P数据流进行定帧的原理示意图。如图2所示,初始时,接收端处于预搜索状态,当接收到数据流时,接收终端按照接收终端所包括的η个CPU个数将接收的数据流分配到所述η个CPU,建立η个并行字节搜帧线程。接下来,接收端进入搜索状态,在搜索状态,通过多个CPU形成的η个并行字节搜帧线程并行进行字节搜帧,当任意一个CPU扫描到正确的帧头,则进入预同步状态,当在预同步状态连续扫描到Y个正确的帧头,则进入同步状态,当在预同步状态扫描到一次错误帧头,则返回预搜索状态;接下来,在同步状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态。
[0059]综上所述,本发明实施例当接收到数据流时,将接收的数据流按块分配到多个CPU中,并且,在搜索状态通过所述多个CPU并行扫描帧头的方式替代现有技术中串行扫描帧头的方式。由此,本发明实施例将串行搜帧转换为并行搜帧,大大提高了搜帧的速率,进而实现了高速地定帧处理。另外,对于0TN、SDH等帧长固定而需通过比特扫描定帧的系统,本发明实施例在扫描到正确的帧头后,在以帧为单元进行跳帧搜索之前,统一将帧头起始位置移动到字节起始位置,以避免帧头起始位置与字节起始位置不一致给CPU进行跳帧搜索带来额外的工作,进一步提高了定帧的效率。
[0060]在上述方法实施例的基础上,本发明实施例还提供了可用于实施上述方法实施例的定帧装置,下面对本发明实施例的定帧装置的实施例进行举例说明。
[0061]图3为本发明实施例的定帧装置的一实施例的结构组成示意图。如图3所述,本发明的定帧装置至少可包括:数据处理模块10和多个CPU(图3列举了 η个CPU,η大于或者等于2,分别为CPU1-CPUn),其中,
[0062]所述数据处理模块10,用于在所述定帧装置处于预搜索状态时,接收数据流并将接收的数据流按块分配到所述多个CPU中;
[0063]所述多个CPU中的每个CpiKCPU1-CPUn中任一个)用于在所述定帧装置处于搜索状态时,与其他CPU并行扫描帧头,并当扫描到正确帧头时,通告其他CPU释放所占用的数据块,并使所述定帧装置进入定帧状态,以及,在所述定帧装置处于定帧状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜帧状态,由所述数据处理模块10
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1