CN105450331B - 定帧方法及定帧装置 - Google Patents
定帧方法及定帧装置 Download PDFInfo
- Publication number
- CN105450331B CN105450331B CN201410344370.7A CN201410344370A CN105450331B CN 105450331 B CN105450331 B CN 105450331B CN 201410344370 A CN201410344370 A CN 201410344370A CN 105450331 B CN105450331 B CN 105450331B
- Authority
- CN
- China
- Prior art keywords
- frame
- cpu
- frame head
- framing
- state
- 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.)
- Active
Links
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明实施例公开了一种定帧方法及装置。所述方法包括:在预搜索状态,接收数据流并将接收的数据流按块分配到多个CPU中,并进入搜索状态;在搜索状态,通过所述多个CPU并行扫描帧头,当任意一个CPU扫描到正确的帧头,通过所述扫描到正确的帧头的CPU通告其他CPU释放所占用的数据块,并进入定帧状态;在定帧状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态,其中,X为大于等于1的整数。本发明实施例能能实现高速地定帧处理。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种定帧方法及定帧装置。
背景技术
常用的异步通信中以帧作为发送单位,这样,通信的接收端必须随时做好接收帧的准备。这时,发送方发送的帧的头部必须设有一些特殊的比特组合,使得接收端能够找出一帧的开始,这种方式称为帧定界。也就是所谓的异步通信中的“定帧”。
当前,定帧处理主要划分为三种状态:搜索状态、预同步状态、同步状态。接收端初始化处于搜索状态,当接收到对端帧数据时,在搜索状态通过单核中央处理器(CentralProcessing Unit,CPU)或逻辑硬件进行串行的字节扫描搜索或比特扫描搜索,当扫描到正确帧头,开始进入预同步状态,在预同步状态进行跳帧搜索帧头,其中,对于光传送网络(Optical Transport Network,OTN)、同步数字体系(Synchronous Digital Hierarchy,SDH)等定长帧格式的数据流采用固定帧长度跳转搜索帧头,而对于帧映射通用成帧过程(Frame Mapped Generic Framing Procedure,GFP-F)等包格式数据流就是根据帧头指示的变化的帧长度信息进行跳帧搜索。当在预同步状态搜索到连续X个正确的帧头,就进入同步状态;当在预同步状态出现错误的帧头则回到搜索状态;在同步状态,关于帧头的搜索和预同步状态保持一致,当在同步状态检测出现X个错误帧头时,返回搜索状态,否则,在同步状态就根据搜索的帧头找到对应的数据帧,并提取相应的数据。当然,现有技术中,有时候将预同步和同步合并为一种状态即定帧状态。
由上述描述的现有技术可知,当前定帧处理的方法中,在搜索状态,是一种单核CPU或逻辑硬件进行的串行的字节扫描或比特扫描方式,其效率非常低下,不能实现高速地定帧处理。
发明内容
本发明实施例提供一种定帧方法及定帧装置,能实现高速地定帧处理。
本发明第一方面提供一种定帧方法,其可包括:
在预搜索状态,接收数据流并将接收的数据流按块分配到多个CPU中,并进入搜索状态;
在搜索状态,通过所述多个CPU并行扫描帧头,当任意一个CPU扫描到正确的帧头,通过所述扫描到正确的帧头的CPU通告其他CPU释放所占用的数据块,并进入定帧状态;
在定帧状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态,其中,X为大于等于1的整数。
结合第一方面,在第一种可行的实施方式中,在搜索状态,通过所述多个CPU并行扫描帧头时,所述多个CPU采用字节扫描搜索方式或比特扫描搜索方式。
结合第一方面的第一种可行的实施方式,在第二种可行的实施方式中,当所述多个CPU采用比特扫描搜索方式时,所述当任意一个CPU扫描到正确的帧头之后,进入定帧状态之前,还包括:
根据所述正确的帧头的比特流的起始位置相对于所述起始位置所在字节的起始位置的偏移值,移动所述正确的帧头所在CPU中的数据块,以将所述CPU中的数据块中所有帧头的起始位置移动到相应的字节起始位置。
结合第一方面至第一方面的第二种可行的实施方式,在第三种可行的实施方式中,所述数据流为帧长固定的数据流或者帧长不固定的数据流。
结合第一方面至第一方面的第二种可行的实施方式,在第四种可行的实施方式中,所述定帧状态包括预同步状态和同步状态两种状态;
所述在定帧状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态,包括:
在预同步状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续扫描到Y个正确的帧头,则进入同步状态;当1次扫描到错误的帧头,返回所述预搜索状态,其中,Y为大于或等于1的整数;
在同步状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态。
本发明第二方面提供一种定帧装置,其包括:
数据处理模块,用于在所述定帧装置处于预搜索状态时,接收数据流并将接收的数据流按块分配到多个CPU中,并使所述定帧装置进入搜索状态;
所述多个CPU中的每个CPU,用于在所述定帧装置处于搜索状态时,与其他CPU并行扫描帧头,并当扫描到正确帧头时,通告其他CPU释放所占用的数据块,并使所述定帧装置进入定帧状态,以及,在所述定帧装置处于定帧状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态,其中,所述X为大于或等于1的整数。
结合第二方面,在第一种可行的实施方式中,所述每个CPU在搜索状态与其他CPU并行扫描帧头时,采用字节扫描搜索方式或比特扫描搜索方式。
结合第二方面的第一种可行的实施方式,在第二种可行的实施方式中,当所述多个CPU采用比特扫描搜索方式时,该装置还包括:
调整模块,用于当任意一个CPU扫描到正确的帧头,使所述定帧装置进入定帧状态之前,根据所述正确的帧头的比特流的起始位置相对于所述起始位置所在字节的起始位置的偏移值,移动所述正确的帧头所在CPU中的数据块,以将所述CPU中的数据块中所有帧头的起始位置移动到相应的字节起始位置。
结合第二方面至第二方面的第二种可行的实施方式,在第三种可行的实施方式中,所述数据流为帧长固定的数据流或者帧长不固定的数据流。
结合第二方面至第二方面的第二种可行的实施方式,在第四种可行的实施方式中,所述多个CPU中的每个CPU包括:
搜索模块,用于在所述定帧装置处于搜索状态时,与其他CPU并行扫描帧头,并当扫描到正确帧头时,通告其他CPU释放所占用的数据块,并使所述定帧装置进入定帧状态;
定帧模块,用于在所述定帧装置处于定帧状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态。
结合第二方面的第四种可行的实施方式,在第五种可行的实施方式中,所述定帧状态包括预同步状态和同步状态两种状态;
所述定帧模块包括:
第一定帧模块,用于在所述定帧装置处于预同步状态时,以帧为单元跳帧搜索帧头,当连续扫描到Y个正确的帧头,则使所述定帧装置进入同步状态;当1次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态,其中,所述Y为大于或等于1的整数;
第二定帧模块,用于在所述定帧装置处于同步状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态。
由上可见,本发明实施例当接收到数据流时,将接收的数据流按块分配到多个CPU中,并且,在搜索状态通过所述多个CPU并行扫描帧头的方式替代现有技术中串行扫描帧头的方式。由此,本发明实施例将串行搜帧转换为并行搜帧,大大提高了搜帧的速率,进而实现了高速地定帧处理。
附图说明
图1为本发明实施例的定帧方法的一实施例的流程示意图;
图2为本发明实施例的定帧方法应用与GFP-F中的原理示意图;
图3为本发明实施例的定帧装置的一实施例的结构组成示意图;
图4为图3中的CPU的一实施例的结构组成示意图;
图5为图4中的定帧模块的一实施例的结构组成示意图;
图6为本发明实施例的定帧装置的另一实施例的结构组成示意图;
图7为本发明实施例的定帧装置的另一实施例的结构组成示意图。
具体实施方式
本发明实施例提供一种定帧方法及装置,当接收到数据流时,将接收的数据流按块分配到多个CPU中,并且,在搜索状态通过所述多个CPU并行扫描帧头的方式替代现有技术中串行扫描帧头的方式。由此,本发明实施例将串行搜帧转换为并行搜帧,大大提高了搜帧的速率,进而实现了高速地定帧处理。
图1为本发明实施例的定帧方法的一实施例的流程示意图。如图1所述,本发明的定帧方法可包括:
步骤S110,在预搜索状态,接收数据流并将接收的数据流按块分配到本端的多个CPU中,并进入搜索状态。
具体实现中,在异步通信过程中,通信的接收端从通信的发送端接收以帧格式传输的数据流。通信的接收端通过定帧找出数据流中的帧数据的开始,因此,本发明实施例的定帧方法可应用于接收端的定帧处理。
具体实现中,接收端在初始状态处于预搜索状态,当接收到发送端发送的数据流之后,将接收的数据流按块分配到接收端的多个CPU中,随后接收端进入搜索状态。
对于GFP-P等帧长不固定的数据流,在步骤S110,当接收到这类数据流时,接收端按照所述接收端包括的CPU个数n(n大于或者等于2)、数据流的总长度、将接收的数据流分成n个数据块,其中每个数据块分配到一个CPU中,建立多CPU的并行字节扫描搜帧线程,并向各CPU的并行字节扫描搜帧线程发送通告信息,触发各CPU进入搜索状态。
对于OTN、SDH等帧长固定的数据流,在步骤S110,当接收到这类数据流时,接收端按照所述接收端包括的CPU个数n(n大于或者等于2)、数据流的总长度、将接收的数据流分成n个数据块,其中每个数据块分配到一个CPU中,建立多CPU的并行比特扫描搜帧线程,并向各CPU的并行比特扫描搜帧线程发送通告信息,触发各CPU进入搜索状态。
步骤S111,在搜索状态,通过所述多个CPU并行扫描帧头,当任意一个CPU扫描到正确的帧头,通过所述扫描到正确的帧头的CPU通告其他CPU释放所占用的数据块,并进入定帧状态。
本发明实施例在搜索状态,通过接收端的多个CPU并行扫描帧头,替代现有技术中通过单核CPU进行串行扫描帧头的方式,可大大提高搜帧的速率。
具体实现中,在步骤S111,所述多个CPU可采用字节扫描搜索方式,该方式针对GFP-P等帧长不固定的数据流,或者,在步骤S111,所述多个CPU可采用比特扫描搜索方式,该方式针对OTN、SDH等帧长固定的数据流。
具体实现中,对于GFP-P等帧长不固定的数据流,其帧头通常占用四个字节,在步骤S111,每个CPU对其负责的数据块从块头的第1个字节开始,以四个字节为单位进行帧头扫描,当扫描的四个字节的数据中的前两个字节生成的循环冗余校验码验码恰好与后两个字节存放的比特相同,则可确定扫描到一个正确的帧头。当从第1个字节取出的四个字节经扫描不是帧头后,依次顺延一个字节重复上述的操作。比如,第一次取出第1个至第4个字节进行帧头判断,当判断出取出的不是帧头,下一次则取出第2个至第5个字节进行帧头判断,以此类推,直到有任意一个CPU扫描到正确的帧头为止。扫描到正确帧头的CPU通告其他CPU释放所占用的数据块。
具体实现中,对于OTN和SDH等帧长固定的数据流(OTN的帧长为4*4080字节),其帧头通常为一个固定的比特组合(比如,为一个48比特的字符串),则在步骤S111,每个CPU对其负责的数据块从块头的第1个比特开始,以所述比特组合的长度为单位进行帧头扫描,当扫描的比特流刚好与所述帧头的比特组合相同时,则可确定扫描到一个正确的帧头。当从第1个比特取出的与所述比特组合长度相同的比特流经扫描不是帧头后,依次顺延一个比特重复上述的操作。比如,第一次取出第1个至第48个比特进行帧头判断,当判断出取出的不是帧头,下一次则取出第2个至第49个比特进行帧头判断,以此类推,直到有任意一个CPU扫描到正确的帧头为止。扫描到正确帧头的CPU通告其他CPU释放所占用的数据块。
步骤S112,在定帧状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态,其中,X为大于等于1的整数。
在本实施例中,定帧状态为一个状态,在定帧状态为一个状态时,当连续X次扫描到错误的帧头,返回所述预搜索状态。而在其他的一些实施例中,定帧状态可进一步包括预同步状态和同步状态两种状态,则,步骤S112具体可包括:在预同步状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续扫描到Y个正确的帧头,则进入同步状态;当1次扫描到错误的帧头,返回所述预搜索状态;在同步状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态;其中,X和Y均为大于或等于1的整数。
具体实现中,当所述多个CPU采用比特扫描搜索方式时,步骤S111中当任意一个CPU扫描到正确的帧头之后,进入定帧状态之前,还包括:
根据所述正确的帧头的比特流的起始位置相对于所述起始位置所在字节的起始位置的偏移值,移动所述正确的帧头所在CPU中的数据块,以将所述CPU中的数据块中所有帧头的起始位置移动到相应的字节起始位置。
以OTN为例,假设经过步骤S111,任意一个CPU扫描到正确的帧头为第15个字节第3比特开始的48比特数据,则可知,所述帧头的起始位置相对于第15个字节的起始位置(第1个比特位)的偏移值为2,也即,所述CPU中所有比特数据流的帧头相对于字节起始位置的偏移均为2,则将所述CPU接收的所有比特数据流向左移动2比特,以最终将所述帧头的比特流的起始位置移动到所述第15个字节的起始位置,以及将其他的帧头的起始位置也移动到相应的字节的起始位置。
具体实现中,可能存在偏移值为0的情形,此时,则可无需进行比特流移动。
图2示出了采用本发明实施例的定帧方法对GFP-P数据流进行定帧的原理示意图。如图2所示,初始时,接收端处于预搜索状态,当接收到数据流时,接收终端按照接收终端所包括的n个CPU个数将接收的数据流分配到所述n个CPU,建立n个并行字节搜帧线程。接下来,接收端进入搜索状态,在搜索状态,通过多个CPU形成的n个并行字节搜帧线程并行进行字节搜帧,当任意一个CPU扫描到正确的帧头,则进入预同步状态,当在预同步状态连续扫描到Y个正确的帧头,则进入同步状态,当在预同步状态扫描到一次错误帧头,则返回预搜索状态;接下来,在同步状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态。
综上所述,本发明实施例当接收到数据流时,将接收的数据流按块分配到多个CPU中,并且,在搜索状态通过所述多个CPU并行扫描帧头的方式替代现有技术中串行扫描帧头的方式。由此,本发明实施例将串行搜帧转换为并行搜帧,大大提高了搜帧的速率,进而实现了高速地定帧处理。另外,对于OTN、SDH等帧长固定而需通过比特扫描定帧的系统,本发明实施例在扫描到正确的帧头后,在以帧为单元进行跳帧搜索之前,统一将帧头起始位置移动到字节起始位置,以避免帧头起始位置与字节起始位置不一致给CPU进行跳帧搜索带来额外的工作,进一步提高了定帧的效率。
在上述方法实施例的基础上,本发明实施例还提供了可用于实施上述方法实施例的定帧装置,下面对本发明实施例的定帧装置的实施例进行举例说明。
图3为本发明实施例的定帧装置的一实施例的结构组成示意图。如图3所述,本发明的定帧装置至少可包括:数据处理模块10和多个CPU(图3列举了n个CPU,n大于或者等于2,分别为CPU1-CPUn),其中,
所述数据处理模块10,用于在所述定帧装置处于预搜索状态时,接收数据流并将接收的数据流按块分配到所述多个CPU中;
所述多个CPU中的每个CPU(CPU1-CPUn中任一个)用于在所述定帧装置处于搜索状态时,与其他CPU并行扫描帧头,并当扫描到正确帧头时,通告其他CPU释放所占用的数据块,并使所述定帧装置进入定帧状态,以及,在所述定帧装置处于定帧状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态,由所述数据处理模块10继续接收数据流并将接收的数据流按块分配到所述多个CPU中,其中,X为大于等于1的整数。以CPU1为例,本发明实施例中CPU1用于在搜索状态,与CPU2-CPUn并行扫描帧头,并当扫描到正确帧头时,通告CPU2-CPUn释放所占用的数据块,并使定帧装置进入定帧状态,以及,在所述定帧装置处于定帧状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态,由所述数据处理模块10继续接收数据流并将接收的数据流按块分配到所述多个CPU中。
具体实现中,在异步通信过程中,通信的接收端从通信的发送端接收以帧格式传输的数据流。通信的接收端通过定帧找出数据流中的帧数据的开始,因此,本发明实施例的定帧装置可应用于异步通信的接收端。
对于GFP-P等帧长不固定的数据流,当数据处理单元10接收到这类数据流时,按照接收端包括的CPU个数n、数据流的总长度、将接收的数据流分成n个数据块,其中每个数据块分配到一个CPU中,建立多CPU的并行字节扫描搜帧线程,并向各CPU的并行字节扫描搜帧线程发送通告信息,触发各CPU进入搜索状态。
对于OTN、SDH等帧长固定的数据流,当数据处理单元10接收到这类数据流时,按照接收端包括的CPU个数n、数据流的总长度、将接收的数据流分成n个数据块,其中每个数据块分配到一个CPU中,建立多CPU的并行比特扫描搜帧线程,并向各CPU的并行比特扫描搜帧线程发送通告信息,触发各CPU进入搜索状态。
本发明实施例在搜索状态,通过接收端的多个CPU并行扫描帧头,替代现有技术中通过单核CPU进行串行扫描帧头的方式,可大大提高搜帧的速率。
具体实现中,所述多个CPU可采用字节扫描搜索方式,该方式针对GFP-P等帧长不固定的数据流,或者,所述多个CPU可采用比特扫描搜索方式,该方式针对OTN、SDH等帧长固定的数据流。
具体实现中,对于GFP-P等帧长不固定的数据流,其帧头通常占用四个字节,则本发明实施例中的定帧装置的每个CPU对其负责的数据块从块头的第1个字节开始,以四个字节为单位进行帧头扫描,当扫描的四个字节的数据中的前两个字节生成的循环冗余校验码验码恰好与后两个字节存放的比特相同,则可确定扫描到一个正确的帧头。当从第1个字节取出的四个字节经扫描不是帧头后,依次顺延一个字节重复上述的操作。比如,第一次取出第1个至第4个字节进行帧头判断,当判断出取出的不是帧头,下一次则取出第2个至第5个字节进行帧头判断,以此类推,直到有任意一个CPU扫描到正确的帧头为止。扫描到正确帧头的CPU通告其他CPU释放所占用的数据块。
具体实现中,对于OTN和SDH等帧长固定的数据流(OTN的帧长为4*4080字节),其帧头通常为一个固定的比特组合(比如,为一个48比特的字符串),则本发明实施例中的定帧装置的每个CPU对其负责的数据块从块头的第1个比特开始,以所述比特组合的长度为单位进行帧头扫描,当扫描的比特流刚好与所述帧头的比特组合相同时,则可确定扫描到一个正确的帧头。当从第1个比特取出的与所述比特组合长度相同的比特流经扫描不是帧头后,依次顺延一个比特重复上述的操作。比如,第一次取出第1个至第48个比特进行帧头判断,当判断出取出的不是帧头,下一次则取出第2个至第49个比特进行帧头判断,以此类推,直到有任意一个CPU扫描到正确的帧头为止。扫描到正确帧头的CPU通告其他CPU释放所占用的数据块。
如图4所示,在一些可行的实施方式中,本发明实施例的每个CPU(CPU1-CPUn)可包括:
搜索模块110,用于在所述定帧装置处于搜索状态时,与其他CPU并行扫描帧头,并当扫描到正确帧头时,通告其他CPU释放所占用的数据块,并使所述定帧装置进入定帧状态;
定帧模块111,用于在所述定帧装置处于定帧状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态,以由所述数据处理模块10继续接收数据流并将接收的数据流按块分配到所述多个CPU中。
在一些可行的实施方式中,定帧状态可为一个独立的状态,此时定帧模块111以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态,指示所述数据处理模块继续接收数据流并将接收的数据流按块分配到所述多个CPU中。
在其他的一些实施例中,定帧状态可进一步包括预同步状态和同步状态两种状态,如图5此时,定帧模块111可进一步包括:第一定帧模块1111和第二定帧模块1112,其中:
第一定帧模块1111,用于在所述定帧装置处于预同步状态时,以帧为单元跳帧搜索帧头,当连续扫描到Y个正确的帧头,则使所述定帧装置进入同步状态;当1次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态,其中,所述Y为大于或等于1的整数;
第二定帧模块1112,用于在所述定帧装置处于同步状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态。
如图6所示,在本发明的其他可行的实施例中,当所述多个CPU采用比特扫描搜索方式时,定帧装置还可包括:
调整模块30,用于当任意一个CPU扫描到正确的帧头,使所述定帧装置进入定帧状态之前,根据所述正确的帧头的比特流的起始位置相对于所述起始位置所在字节的起始位置的偏移值,移动所述正确的帧头所在CPU中的数据块,以将所述CPU中的数据块中所有帧头的起始位置移动到相应的字节起始位置。在图6中以CPUn扫描到正确的帧头为图例。
以OTN为例,假设一个CPU扫描到正确的帧头为第15个字节第3比特开始的48比特数据,则可知,所述帧头的起始位置相对于第15个字节的起始位置(第1个比特位)的偏移值为2,也即,所述CPU中所有比特数据流的帧头相对于字节起始位置的偏移均为2,则调整模块30将所述CPU接收的所有比特数据流向左移动2比特,以最终将所述帧头的比特流的起始位置移动到所述第15个字节的起始位置,以及将其他的帧头的起始位置也移动到相应的字节的起始位置。
具体实现中,可能存在偏移值为0的情形,此时,则可无需进行比特流移动。
综上所述,本发明实施例的定帧装置当接收到数据流时,将接收的数据流按块分配到多个CPU中,并且,在搜索状态通过所述多个CPU并行扫描帧头的方式替代现有技术中串行扫描帧头的方式。由此,本发明实施例将串行搜帧转换为并行搜帧,大大提高了搜帧的速率,进而实现了高速地定帧处理。另外,对于OTN、SDH等帧长固定而需通过比特扫描定帧的系统,本发明实施例在扫描到正确的帧头后,在以帧为单元进行跳帧搜索之前,统一将帧头起始位置移动到字节起始位置,以避免帧头起始位置与字节起始位置不一致给CPU进行跳帧搜索带来额外的工作,进一步提高了定帧的效率。
图7为本发明的定帧装置的另一实施例的结构组成示意图。如图7所示,其可包括:通信接口71、存储器72、处理器73以及多个CPU74,其中:
所述通信接口71,用于与所述定帧装置以外的其他设备或功能模块进行数据传输。具体实现中,本发明实施例的通信接口可用作前述实施例的数据处理模块的收发器件,用于接收发送端发送的数据流。具体实现中,本发明实施例所述的通信接口可包括键盘、鼠标、光电输入装置、声音输入装置、触摸式输入装置、扫描仪等数据输入接口。或者,可包括显示器、扬声器、打印机等数据输出接口。或者,射频天线等收发器件。
所述存储器72,用于存储带有各种功能的程序数据。本发明实施例中存储器72存储的数据包括可调用并运行的程序数据。具体实现中,本发明实施例的存储器72可以是系统存储器,比如,挥发性的(诸如RAM),非易失性的(诸如ROM,闪存等),或者两者的结合。具体实现中,本发明实施例的存储器72还可以是系统之外的外部存储器,比如,磁盘、光盘、磁带等。
所述处理器73,用于调用所述存储器72中存储的程序数据,并执行如下操作:
在所述定帧装置处于预搜索状态时,将所述通信接口71接收的数据流按块分配到所述多个CPU74中,并使所述定帧装置进入搜索状态;
在搜索状态,触发所述多个CPU74并行扫描帧头;;
在定帧状态,触发所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头;
所述多个CPU74中的每个CPU用于在所述定帧装置处于搜索状态时,与其他CPU并行扫描帧头,并当扫描到正确帧头时,通告其他CPU释放所占用的数据块,并使所述定帧装置进入定帧状态,以及,在定帧状态,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态,其中,所述X为大于或等于1的整数。
在一些可行的实施方式中,所述多个CPU并行扫描帧头时,所述多个CPU采用字节扫描搜索方式或比特扫描搜索方式。
在一些可行的实施方式中,当当任意一个CPU扫描到正确的帧头,使所述定帧装置进入定帧状态之前,,所述处理器73还执行如下操作:
根据所述正确的帧头的比特流的起始位置相对于所述起始位置所在字节的起始位置的偏移值,移动所述正确的帧头所在CPU中的数据块,以将所述CPU中的数据块中所有帧头的起始位置移动到相应的字节起始位置。
在一些可行的实施方式中,所述数据流为帧长固定的数据流或者帧长不固定的数据流。
在一些可行的实施方式中,所述定帧状态包括预同步状态和同步状态两种状态;
所述处理器73在定帧状态,触发所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,包括:
在预同步状态和同步状态,触发所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头;
所述多个CPU中的每个CPU还用于在预同步状态,以帧为单元跳帧搜索帧头,当连续扫描到Y个正确的帧头,则使所述定帧装置进入同步状态;当1次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态,其中,所述Y为大于或等于1的整数;
第二定帧模块,用于在所述定帧装置处于同步状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态。
另外,本发明实施例还提供了一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时可运行本发明实施例所述的方法的部分或全部步骤。具体实现中,本发明实施例的计算机存储介质包括:RAM、ROM、EEPROM、闪存、CD-ROM、DVD或其他光存储器,磁带、磁盘或其他磁存储器,或者其他任何可以用于存储所需信息并可被计算机设备所访问的介质。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所列举的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (13)
1.一种定帧方法,其特征在于,包括:
在预搜索状态,接收数据流并将接收的数据流按块分配到多个CPU中,并进入搜索状态;
在搜索状态,通过所述多个CPU并行扫描帧头,当任意一个CPU扫描到正确的帧头,通过所述扫描到正确的帧头的CPU通告其他CPU释放所占用的数据块,并进入定帧状态;
在定帧状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态,其中,X为大于等于1的整数。
2.如权利要求1所述的定帧方法,其特征在于,在搜索状态,通过所述多个CPU并行扫描帧头时,所述多个CPU采用字节扫描搜索方式或比特扫描搜索方式。
3.如权利要求2所述的定帧方法,其特征在于,当所述多个CPU采用比特扫描搜索方式时,所述当任意一个CPU扫描到正确的帧头之后,进入定帧状态之前,还包括:
根据所述正确的帧头的比特流的起始位置相对于所述起始位置所在字节的起始位置的偏移值,移动所述正确的帧头所在CPU中的数据块,以将所述CPU中的数据块中所有帧头的起始位置移动到相应的字节起始位置。
4.如权利要求1-3中任一项所述的定帧方法,其特征在于,所述数据流为帧长固定的数据流或者帧长不固定的数据流。
5.如权利要求1-3中任一项所述的定帧方法,其特征在于,所述定帧状态包括预同步状态和同步状态两种状态;
所述在定帧状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态,包括:
在预同步状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续扫描到Y个正确的帧头,则进入同步状态;当1次扫描到错误的帧头,返回所述预搜索状态,其中,Y为大于或等于1的整数;
在同步状态,通过所述扫描到正确帧头的CPU以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,返回所述预搜索状态。
6.一种定帧装置,其特征在于,包括:
数据处理模块,用于在所述定帧装置处于预搜索状态时,接收数据流并将接收的数据流按块分配到多个CPU中,并使所述定帧装置进入搜索状态;
所述多个CPU中的每个CPU,用于在所述定帧装置处于搜索状态时,与其他CPU并行扫描帧头,并当扫描到正确帧头时,通告其他CPU释放所占用的数据块,并使所述定帧装置进入定帧状态,以及,在所述定帧装置处于定帧状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态,其中,所述X为大于或等于1的整数。
7.如权利要求6所述的定帧装置,其特征在于,所述每个CPU在搜索状态与其他CPU并行扫描帧头时,采用字节扫描搜索方式或比特扫描搜索方式。
8.如权利要求7所述的定帧装置,其特征在于,当所述多个CPU采用比特扫描搜索方式时,该装置还包括:
调整模块,用于当任意一个CPU扫描到正确的帧头,使所述定帧装置进入定帧状态之前,根据所述正确的帧头的比特流的起始位置相对于所述起始位置所在字节的起始位置的偏移值,移动所述正确的帧头所在CPU中的数据块,以将所述CPU中的数据块中所有帧头的起始位置移动到相应的字节起始位置。
9.如权利要求6-8中任一项所述的定帧装置,其特征在于,所述数据流为帧长固定的数据流或者帧长不固定的数据流。
10.如权利要求6-8中任一项所述的定帧装置,其特征在于,所述多个CPU中的每个CPU包括:
搜索模块,用于在所述定帧装置处于搜索状态时,与其他CPU并行扫描帧头,并当扫描到正确帧头时,通告其他CPU释放所占用的数据块,并使所述定帧装置进入定帧状态;
定帧模块,用于在所述定帧装置处于定帧状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态。
11.如权利要求10所述的定帧装置,其特征在于,所述定帧状态包括预同步状态和同步状态两种状态;
所述定帧模块包括:
第一定帧模块,用于在所述定帧装置处于预同步状态时,以帧为单元跳帧搜索帧头,当连续扫描到Y个正确的帧头,则使所述定帧装置进入同步状态;当1次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态,其中,所述Y为大于或等于1的整数;
第二定帧模块,用于在所述定帧装置处于同步状态时,以帧为单元跳帧搜索帧头,当连续X次扫描到错误的帧头,使所述定帧装置返回所述预搜索状态。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行,以实现如权利要求1至5任意一项所述的方法。
13.一种定帧装置,其特征在于,包括:通信接口、存储器、处理器和多个CPU,其中:
所述通信接口,用于与所述定帧装置以外的其他设备或功能模块进行数据传输;
所述存储器,用于存储带有各种功能的程序数据;
所述处理器,用于调用所述存储器中存储的程序数据,以执行如权利要求1至5任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410344370.7A CN105450331B (zh) | 2014-07-18 | 2014-07-18 | 定帧方法及定帧装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410344370.7A CN105450331B (zh) | 2014-07-18 | 2014-07-18 | 定帧方法及定帧装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105450331A CN105450331A (zh) | 2016-03-30 |
CN105450331B true CN105450331B (zh) | 2019-05-10 |
Family
ID=55560170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410344370.7A Active CN105450331B (zh) | 2014-07-18 | 2014-07-18 | 定帧方法及定帧装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105450331B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112188203B (zh) * | 2020-09-11 | 2022-11-04 | 烽火通信科技股份有限公司 | 一种高速数据流的快速定帧方法及系统 |
CN114765528B (zh) * | 2021-01-15 | 2023-09-26 | 烽火通信科技股份有限公司 | 帧同步方法、装置、设备及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142917A (zh) * | 2011-03-28 | 2011-08-03 | 华为技术有限公司 | 数据帧的定位方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020159483A1 (en) * | 2001-04-26 | 2002-10-31 | International Business Machines Corporation | SDH/SONET frame byte alignment unit |
-
2014
- 2014-07-18 CN CN201410344370.7A patent/CN105450331B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142917A (zh) * | 2011-03-28 | 2011-08-03 | 华为技术有限公司 | 数据帧的定位方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105450331A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104580031B (zh) | 基于多协议链路封装技术的pos解帧成帧装置及方法 | |
US7200153B2 (en) | Method and apparatus for autosensing LAN vs WAN to determine port type | |
US20180123714A1 (en) | Method, Device, and System for Sending and Receiving Code Block Data Stream | |
US10396921B2 (en) | Multi-lane synchronization method, synchronization apparatus and system, and computer storage medium | |
KR102099624B1 (ko) | 데이터 전송 방법 및 장치 | |
JP5230367B2 (ja) | パラレル光伝送装置及び方法 | |
CN108183764B (zh) | 复帧发送、接收方法、装置、通讯设备及通讯网络系统 | |
CN104579541B (zh) | 一种无线通信系统媒体接入层协议数据单元的构造方法 | |
CN105450331B (zh) | 定帧方法及定帧装置 | |
US7630399B2 (en) | Apparatus and method for recognizing frame check sequence in generic framing procedure encapsulation mode | |
CN104935393A (zh) | 一种帧同步方法及装置 | |
CN104852813B (zh) | 家庭网关设备中tr069参数节点的按需加载方法及系统 | |
CN104753560B (zh) | 一种抗窄带干扰方法、eNodeB及通信系统 | |
CN112118073B (zh) | 一种数据处理方法、光传输设备及数字处理芯片 | |
CN109274697B (zh) | 数据帧转义方法、系统及相关装置 | |
US7684442B2 (en) | Method and circuit for processing data in communication networks | |
CN112737995B (zh) | 以太网帧的处理方法、装置、设备及存储介质 | |
CN1138362C (zh) | 分级同步方法和节点装置 | |
CN102437991B (zh) | 一种gfp码流的同步方法及装置 | |
CN114070901A (zh) | 基于多数据对齐的数据发送和接收方法、装置和设备 | |
CN100486142C (zh) | 一种链路自动配置的方法 | |
US8542701B2 (en) | Method and device for determining timeslot configuration in TDM transmission | |
CN109905322A (zh) | 一种报文匹配信息预处理的方法及装置 | |
CN105846943A (zh) | 一种数据流定界方法及装置 | |
CN109728874A (zh) | 一种比特块处理方法及节点 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |