CN103957070A - 一种数据帧的定位方法及装置 - Google Patents
一种数据帧的定位方法及装置 Download PDFInfo
- Publication number
- CN103957070A CN103957070A CN201410151500.5A CN201410151500A CN103957070A CN 103957070 A CN103957070 A CN 103957070A CN 201410151500 A CN201410151500 A CN 201410151500A CN 103957070 A CN103957070 A CN 103957070A
- Authority
- CN
- China
- Prior art keywords
- frame
- preliminary treatment
- search
- result
- clock period
- 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.)
- Granted
Links
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明实施例公开了一种数据帧的定位方法及装置,涉及通信领域,实现低成本、节约资源的对数据帧的定位。具体方案为:通过获取当前时钟周期内的数据流,为每个字节分别分配一个搜索预处理通道;分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;根据与当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果,确定当前时钟周期的搜帧结果;根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧。本发明用于数据帧的定位。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据帧的定位方法及装置。
背景技术
随着通信网络的融合,不同网络之间互通互联的应用越来越广泛;由于不同网络之间的网络数据的适配性不同,当不同的网络之间传送数据时,需要将一种网络的网络数据以对应于另一种网络的一定的格式进行封装,在另一种网络的接收端再对发送的数据进行解封装,从而实现网络之间的互通互联;例如,在光传送网和IP网以及其他网络的互通互联中,当光传送网作为另外一种网络的物理层网络时,需要将另外一种网络的网络数据以对应光网络的一定的格式进行封装,在接收端再进行解封装。其中,最常用的封装形式为通用成帧规程(Generic Framing Procedure,简称GFP)封装。
随着网络的迅速发展,在GFP封装中被封装的数据流的位宽越来越大;例如,被封装的数据流的位宽可以为512比特~1024比特;对于超大位宽的数据流,在一个时钟周期内可能封装多个数据帧。例如,数据流位宽为1024位,即每一个时钟周期内的数据流为128字节时,按通常GFP帧长度为12字节,则一个时钟周期内可以封装10个数据帧。
在接收端对封装后的数据流解封装过程中,首先需要对GFP帧进行定位;根据GFP协议,GFP帧的定位由定帧状态机来实现,定帧状态机在搜索开始时处于搜索(HUNT)状态,从对应时钟周期内的数据的第一个字节开始搜索,当搜索到第一个符合GFP帧的帧头后,定帧状态机的状态变化为预同步(PRESYNC)状态,并根据第一个GFP帧的帧头中携带的GFP帧的长度信息,找到第二个GFP帧的帧头的开始字节,对第二个GFP帧帧头验证成功后,定帧状态机的状态变成同步(SYNC)状态,并根据第二个GFP帧的帧头携带的GFP帧的长度信息继续搜寻,直到搜索完本次时钟周期对应的所有数据。
由于一个时钟周期的时间很短,即完成一次时钟周期对应的所有数据的搜索时间也很短暂,当一个时钟周期内封装的数据流为超大位宽时,根据上述GFP协议中GFP帧的定位的方法难以实现对当前时钟周期内的数据流中GFP帧的定位。
为了实现对当前时钟周期内的超大位宽的数据流中GFP帧的定位,现有技术采用的方法为:为当前时钟周期内的数据流中的每个字节均分配一个定帧状态机,每个定帧状态机分别从对应字节开始搜寻数据帧,获取多个数据帧的搜寻结果,其中,搜寻结果包括当前时钟周期内封装的GFP帧的精确定位;根据前面时钟周期内的数据帧的搜寻结果确定本次时钟周期内的第一个数据帧的开始字节;将本次时钟周期内的多个数据帧的搜寻结果,分别与根据前面时钟周期内的数据帧的搜寻结果所确定的本次时钟周期内的第一个数据帧的开始字节进行匹配,将匹配成功的数据帧搜寻结果作为本次时钟周期内的数据帧的搜寻结果,得到当前时钟周期的数据帧的搜索结果和当前时钟每个数据帧的精确定位。
在实现上述数据帧定位的过程中,由于为当前时钟周期内的数据流中的每个字节均分配一个定帧状态机,随着数据流位宽的增长,每个定帧状态机处理的内容和定帧状态机的数量也增大,使得资源和功耗增变大,造成资源和功耗成几何倍增长,造成成本过高。
发明内容
本发明的实施例提供一种数据帧的定位方法及装置,实现低成本、节约资源的对数据帧的定位。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种数据帧的定位方法,包括:
获取当前时钟周期内的数据流,所述数据流包括多个字节,为每个字节分别分配一个搜索预处理通道;
分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;其中,搜索预处理通道的预处理结果包括当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,指示从对应的当前字节搜索数据帧成功,或者,搜索预处理通道的预处理结果包括验证帧头不成功的位置,指示从对应的当前字节搜索数据帧不成功;
将每个搜索预处理通道的预处理结果与所述当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与所述当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果;其中,所述当前时钟周期的前面时钟周期的搜帧结果包括当前时钟周期的第一个数据帧的开始字节位置;
根据所述第一搜索预处理通道的预处理结果,确定所述当前时钟周期的搜帧结果;其中,若所述第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧成功,则将所述第一搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果;或者,若所述第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,则将第二搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果;其中,所述第二搜索预处理通道为所述第一搜索预处理通道的预处理结果中包括的帧头验证不成功的位置之后第一个搜索数据帧成功的搜索预处理通道;
根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位所述当前时钟周期内的数据流中的数据帧。
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位所述当前时钟周期内的数据流中的数据帧,包括:
重新根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,对所述当前时钟周期内的数据流中的数据帧进行搜索,并记录搜索结果至存储器中,以实现精确定位所述当前时钟周期内的数据流中的数据帧。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位所述当前时钟周期内的数据流中的数据帧前执行的所有步骤均不需要将搜索结果记录到所述存储器中。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述将每个搜索预处理通道的预处理结果与当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果,包括:
对比所述当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置,与每个搜索预处理通道对应的当前字节;
获取所述第一搜索预处理通道的预处理结果;其中,所述第一搜索预处理通道对应的当前字节,与所述当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置相同。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第三种可能的实现方式中任一项,在第一方面的第四种可能的实现方式中,所述根据所述第一搜索预处理通道的预处理结果,确定所述当前时钟周期的搜帧结果,包括:
若所述第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,且所述第一搜索预处理通道对应的当前字节之后,不存在指示搜索数据帧成功的搜索预处理通道的预处理结果,确定所述当前时钟周期的数据流中包括的数据帧定位失败,则所述当前时钟周期的搜帧结果为空。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,若所述当前时钟周期为初始时钟周期或前面时钟周期的搜帧结果为空,所述方法还包括:
将所述每个搜索预处理通道的预处理结果中,从所述当前时钟周期的数据流的起始位置开始搜索的,第一个指示搜索数据帧成功的搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果。
第二方面,提供一种数据帧的定位装置,包括:
获取单元,用于获取当前时钟周期内的数据流,所述数据流包括多个字节;
分配单元,用于为所述数据流的每个字节分别分配一个搜索预处理通道;
搜索单元,用于分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;其中,搜索预处理通道的预处理结果包括当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,指示从对应的当前字节搜索数据帧成功;或者,搜索预处理通道的预处理结果包括验证帧头不成功的位置,指示从对应的当前字节搜索数据帧不成功;
匹配单元,用于将每个搜索预处理通道的预处理结果与所述当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与所述当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果;其中,所述当前时钟周期的前面时钟周期的搜帧结果包括当前时钟周期的第一个数据帧的开始字节位置;
确定单元,用于根据所述第一搜索预处理通道的预处理结果,确定所述当前时钟周期的搜帧结果;其中,若所述第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧成功,则将所述第一搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果;或者,若所述第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,则将第二搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果;其中,所述第二搜索预处理通道为所述第一搜索预处理通道的预处理结果中包括的帧头验证不成功的位置之后第一个搜索数据帧成功的搜索预处理通道;
定位单元,用于根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位所述当前时钟周期内的数据流中的数据帧。
结合第二方面,在第二方面的第一种可能的实现方式中,所述定位单元具体用于:
重新根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,对所述当前时钟周期内的数据流中的数据帧进行搜索,并记录搜索结果至存储器中,以实现精确定位所述当前时钟周期内的数据流中的数据帧。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,在根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位所述当前时钟周期内的数据流中的数据帧前执行的所有步骤均不需要将搜索结果记录到所述存储器中。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述匹配单元具体用于:
对比所述当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置,与每个搜索预处理通道对应的当前字节;
获取所述第一搜索预处理通道的预处理结果;其中,所述第一搜索预处理通道对应的当前字节,与所述当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置相同。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第三种可能的实现方式中任一项,在第二方面的第四种可能的实现方式中,所述确定单元还用于:
若所述第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,且所述第一搜索预处理通道对应的当前字节之后,不存在指示搜索数据帧成功的搜索预处理通道的预处理结果,确定所述当前时钟周期的数据流中包括的数据帧定位失败,则所述当前时钟周期的搜帧结果为空。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,若所述当前时钟周期为初始时钟周期或前面时钟周期的搜帧结果为空,所述确定单元还用于:
将所述每个搜索预处理通道的预处理结果中,从所述当前时钟周期的数据流的起始位置开始搜索的,第一个指示搜索数据帧成功的搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果。
本发明实施例提供的一种数据帧的定位方法及装置,通过获取当前时钟周期内的数据流,所述数据流包括多个字节,为每个字节分别分配一个搜索预处理通道;分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;其中,每个搜索预处理通道的预处理结果包括当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,指示从对应的当前字节搜索数据帧成功,或者,每个搜索预处理通道的预处理结果包括验证帧头不成功的位置,指示从对应的当前字节搜索数据帧不成功;将每个搜索预处理通道的预处理结果与当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果;其中,当前时钟周期的前面时钟周期的搜帧结果包括当前时钟周期的第一个数据帧的开始字节位置;根据第一搜索预处理通道的预处理结果,确定当前时钟周期的搜帧结果;其中,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧成功,则将第一搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;或者,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,则将第二搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;其中,第二搜索预处理通道为第一搜索预处理通道的预处理结果中包括的帧头验证不成功的位置之后第一个搜索数据帧成功的搜索预处理通道;根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧;实现低成本、节约资源的对数据帧的定位,解决了现有技术中随着数据流位宽的增长数据帧定位成本高浪费资源的缺陷。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据帧的定位方法的流程示意图;
图2为本发明实施例提供的连续三个时钟周期的数据流的场景示意图;
图3为本发明实施例提供的另一种数据帧的定位方法的流程示意图;
图4为本发明实施例提供的一种数据帧的定位装置结构示意图;
图5为本发明实施例提供的另一种数据帧的定位装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种数据帧的定位方法,参见图1,所述方法可以包括:
101、获取当前时钟周期内的数据流,为数据流的每个字节分别分配一个搜索预处理通道;
其中,当前时钟周期内的数据流一般可以包括多个字节;
为数据流的每个字节分别分配一个搜索预处理通道,每个搜索预处理通道则分别对应一个字节,称之为搜索预处理通道对应的当前字节。
102、分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;
其中,搜索预处理通道的预处理结果可以包括当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,用于指示从对应的当前字节搜索数据帧成功;或者,搜索预处理通道的预处理结果还可以包括验证帧头不成功的位置,指示从对应的当前字节搜索数据帧不成功;
需要说明的是,本发明实施例的所述的数据帧,可以为通用成帧规程(Generic Framing Procedure,简称GFP)帧,也可以为其他类型的数据帧,对于数据帧的具体类型不进行具体限定。
具体的,对于每一个搜索预处理通道,从对应的当前字节开始搜索数据帧,获取该搜索预处理通道的预处理结果的方法相同;此处以第三搜索预处理通道为例,对获取搜索预处理通道的预处理结果的方法进行说明,第三搜索预处理通道为所有搜索预处理通道中的任意一个。
例如,对于第三搜索预处理通道,从第三搜索预处理通道对应的当前字节开始搜索数据帧,获取第三搜索预处理通道的预处理结果,可以包括下述步骤:
1、计算所述数据流中的每两个相邻字节的值的HEC运算结果;
2、根据HEC运算结果判断第三搜索预处理通道搜索的第一帧头验证是否成功;
其中,所述第一帧头的起始位置是所述第三搜索预处理通道对应的字节,在搜索过程中进行帧头验证的起始字节位置均假设认定为帧头位置,故本发明所有实施例中均将假设认定为帧头的起始字节位置称之为帧头。
3、若确定第一帧头验证成功,根据第一帧头中的净荷长度指示符字段的值获取第二帧头位置;
在第三搜索预处理通道的搜索过程开始时,首先从第三搜索预处理通道对应的字节,即第一帧头的起始字节位置开始搜索数据帧,当第一帧头验证成功,则说明第一帧头是实际的帧头位置,那么,根据第一帧头中的净荷长度指示符字段的值可以获取到第二帧头位置。
4、根据所述HEC运算结果判断所述第二帧头验证是否成功;
在步骤3中获取的第二帧头位置进行帧头验证,若第二帧头验证成功,则根据第二帧头中的净荷长度指示符字段的值可以获取到下一个帧头位置;
之后第三搜索预处理通道进行下一个帧头验证,若下一个帧头验证成功,则根据所述下一个帧头中的净荷长度指示符字段的值可以获取到下下一个帧头位置;以此类推,直至第三搜索预处理通道完成搜索或者存在帧头验证不成功为止。
5、若第三搜索预处理通道搜索的每个帧头验证都成功,则生成第三搜索预处理通道的预处理结果,第三搜索预处理通道的预处理结果包含当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置。
当第三搜索预处理通道搜索过程中全部帧头验证都成功,且搜索至数据流结束,则生成第三搜索预处理通道的预处理结果;该第三搜索预处理通道的预处理结果指示搜索数据帧成功,第三搜索预处理通道的预处理结果包含当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,用于指示第三搜索预处理通道从对应的当前字节搜索数据帧成功。
6、若第一帧头验证不成功,或搜索过程中有帧头验证不成功,则第三搜索预处理通道的搜索结束,并生成第三搜索预处理通道的预处理结果;
当第三搜索预处理通道从对应的当前字节开始,搜索数据帧的过程中,存在帧头验证不成功,则生成第三搜索预处理通道的预处理结果;该第三搜索预处理通道的预处理结果包含帧头验证不成功的位置,用于指示第三搜索预处理通道从对应的当前字节搜索数据帧失败。
需要说明的是,上述步骤1-步骤6只是以示例的形式对于搜索预处理通道搜索数据帧的过程和生成预处理结果的方法进行描述,并不是对搜索预处理通道搜索数据帧的过程和生成预处理结果的方法的限定。
还需要说明的是,对于搜索预处理通道的预处理结果指示该搜索预处理通道从对应的当前字节搜索数据帧成功与否的方式,可以为上述示例的根据预处理结果中包括的内容不同而指示,也可以采用预设字段指示,本发明对此不进行具体限定。
103、将每个搜索预处理通道的预处理结果与所述当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果;
其中,当前时钟周期的前面时钟周期的搜帧结果包括当前时钟周期的第一个数据帧的开始字节位置;
具体的,将每个搜索预处理通道的预处理结果与当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果,可以包括:
对比当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置,与每个搜索预处理通道对应的当前字节;
获取第一搜索预处理通道的预处理结果;其中,第一搜索预处理通道对应的当前字节,与当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置相同。
104、根据第一搜索预处理通道的预处理结果,确定当前时钟周期的搜帧结果;
其中,根据第一搜索预处理通道的预处理结果,确定当前时钟周期的搜帧结果,可以根据第一搜索预处理通道指示的第一搜索预处理通道从对应的当前字节搜索数据帧成功与否,确定当前时钟周期的搜帧结果;
具体的,根据第一搜索预处理通道的预处理结果,确定当前时钟周期的搜帧结果,可以包括下述三种方式中任意一种:
第一种方式:若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧成功,则将第一搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果;
第二种方式:若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,则将第二搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果;
其中,第二搜索预处理通道为第一搜索预处理通道的预处理结果中包括的帧头验证不成功的位置之后第一个搜索数据帧成功的搜索预处理通道。
所述根据所述第一搜索预处理通道的预处理结果,确定所述当前时钟周期的搜帧结果,包括:
第三种方式:若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,且第一搜索预处理通道对应的当前字节之后,不存在指示搜索数据帧成功的搜索预处理通道的预处理结果,确定当前时钟周期的数据流中包括的数据帧定位失败,则当前时钟周期的搜帧结果为空。
105、根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧。
其中,根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧,具体可以包括:
重新根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,对当前时钟周期内的数据流中的数据帧进行搜索,并记录搜索结果至存储器中,以实现精确定位所述当前时钟周期内的数据流中的数据帧。
进一步的,在根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧前执行的所有步骤均不需要将搜索结果记录到存储器中。
进一步的,若当前时钟周期为初始时钟周期或前面时钟周期的搜帧结果为空,在步骤103中则不能获取到与前面时钟周期的搜帧结果匹配的第一搜索预处理通道;可以在步骤103之前,判断当前时钟周期是否为初始时钟周期或当前时钟周期的前面时钟周期的搜帧结果为空,若不是,则执行步骤103至步骤105;若是,则确定当前时钟周期的搜帧结果的方法还可以包括:
将每个搜索预处理通道的预处理结果中,从当前时钟周期的数据流的起始位置开始搜索的,第一个指示搜索数据帧成功的搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果。
其中,对于初始时钟周期的数据流或前面时钟周期的搜帧结果为空的数据流,没有前面时钟周期的搜帧结果做参考,所以,初始时钟周期的数据流或前面时钟周期的搜帧结果为空的数据流中的数据帧定位时,搜帧结果的确定,可以将每个搜索预处理通道的预处理结果中,从当前时钟周期的数据流的起始位置开始搜索的,第一个指示搜索数据帧成功的搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果。
本发明实施例提供的一种数据帧的定位方法,通过获取当前时钟周期内的数据流,所述数据流包括多个字节,为每个字节分别分配一个搜索预处理通道;分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;其中,每个搜索预处理通道的预处理结果包括当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,指示从对应的当前字节搜索数据帧成功,或者,每个搜索预处理通道的预处理结果包括验证帧头不成功的位置,指示从对应的当前字节搜索数据帧不成功;将每个搜索预处理通道的预处理结果与当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果;其中,当前时钟周期的前面时钟周期的搜帧结果包括当前时钟周期的第一个数据帧的开始字节位置;根据第一搜索预处理通道的预处理结果,确定当前时钟周期的搜帧结果;其中,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧成功,则将第一搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;或者,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,则将第二搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;其中,第二搜索预处理通道为第一搜索预处理通道的预处理结果中包括的帧头验证不成功的位置之后第一个搜索数据帧成功的搜索预处理通道;根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧;实现低成本、节约资源的对数据帧的定位,解决了现有技术中随着数据流位宽的增长数据帧定位成本高浪费资源的缺陷。
实施例二
本发明实施例二提供另一种数据帧的定位方法,以图2所示的连续时钟周期1的数据流为例,对图1所示的数据帧的定位方法详细描述;
假设,图2所示的连续三个时钟周期中,时钟周期0为初始时钟周期且为当前时钟周期的前面时钟周期,且时钟周期0的搜帧结果中包括位置C;时钟周期1为当前时钟周期,时钟周期2为当前时钟周期的下一个时钟周期。
参见图3,所述方法可以包括:
301、获取时钟周期0内的数据流,为数据流的每个字节分别分配一个搜索预处理通道;
例如,获取图2所示时钟周期1内的数据流,为数据流内的每个字节分配一个搜索预处理通道;其中,分别将位置C、位置D、位置E对应的搜索预处理通道记为搜索预处理通道C、搜索预处理通道D、搜索预处理通道E。
302、分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;
假设,在图2所示的当前时钟周期的数据帧搜索过程中,搜索预处理通道C从位置C开始搜索数据帧,首先在位置C帧头验证成功,且位置C帧头指示下一个帧头位置D;搜索预处理通道C在位置D进行帧头验证,且帧头验证不成功,生成搜索预处理通道C的预处理结果C,包括位置D,指示搜索预处理通道C从位置C搜索数据帧失败;
再假设,在图2所示的当前时钟周期的数据帧搜索过程中,搜索预处理通道E从位置E开始搜索数据帧,在位置E帧头验证成功,且指示下一个帧头位置在下一个时钟周期中的位置F,则生成搜索预处理通道E的预处理结果E,包括位置F,指示搜索预处理通道E从位置E搜索数据帧成功;且搜索预处理通道E是位置D之后第一个搜索数据帧成功的搜索预处理通道;
需要说明的是,时钟周期1的其他搜索预处理通道获取预处理结果的过程,与搜索预处理通道C和搜索预处理通道E相同,此处不再进行赘述。
303、将每个搜索预处理通道的预处理结果与时钟周期0的搜帧结果进行匹配,获取与时钟周期0的搜帧结果匹配的搜索预处理通道的预处理结果;
例如,将时钟周期1的每个搜索预处理通道的预处理结果与时钟周期0的搜帧结果进行匹配;由于时钟周期0的搜帧结果中包括位置C,那么时钟周期1的每个搜索预处理通道的预处理结果中,与时钟周期0的搜帧结果匹配的搜索预处理通道的预处理结果,为搜索预处理通道C的预处理结果C。
304、根据与时钟周期0的搜帧结果匹配的搜索预处理通道的预处理结果,确定当前时钟周期的搜帧结果;
例如,在步骤303中,获取到与当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果为搜索预处理通道C的预处理结果C,根据搜索预处理通道C的预处理结果C,确定时钟周期1的搜帧结果;
由于搜索预处理通道C的预处理结果C,指示搜索预处理通道C从位置C搜索数据帧失败,那么,将搜索预处理通道C包括的位置D之后,第一个搜索数据帧成功的搜索预处理通道作为时钟周期1的搜帧结果,即将搜索预处理通道E的预处理结果E作为时钟周期1的搜帧结果。
305、根据时钟周期0的搜帧结果及时钟周期1的搜帧结果,精确定位时钟周期1内的数据流中的数据帧。
例如,根据时钟周期0的搜帧结果及时钟周期1的搜帧结果,在数据帧定位模块对数据帧进行精确定位,即可以表示出帧C和帧E。
本发明实施例提供的一种数据帧的定位方法,通过获取当前时钟周期内的数据流,所述数据流包括多个字节,为每个字节分别分配一个搜索预处理通道;分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;其中,每个搜索预处理通道的预处理结果包括当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,指示从对应的当前字节搜索数据帧成功,或者,每个搜索预处理通道的预处理结果包括验证帧头不成功的位置,指示从对应的当前字节搜索数据帧不成功;将每个搜索预处理通道的预处理结果与当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果;其中,当前时钟周期的前面时钟周期的搜帧结果包括当前时钟周期的第一个数据帧的开始字节位置;根据第一搜索预处理通道的预处理结果,确定当前时钟周期的搜帧结果;其中,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧成功,则将第一搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;或者,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,则将第二搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;其中,第二搜索预处理通道为第一搜索预处理通道的预处理结果中包括的帧头验证不成功的位置之后第一个搜索数据帧成功的搜索预处理通道;根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧;实现低成本、节约资源的对数据帧的定位,解决了现有技术中随着数据流位宽的增长数据帧定位成本高浪费资源的缺陷。
实施例三
本发明实施例三提供一种数据帧的定位装置40,参见图4,数据帧的定位装置40可以包括:
获取单元401,用于获取当前时钟周期内的数据流,所述数据流包括多个字节;
分配单元402,用于为数据流的每个字节分别分配一个搜索预处理通道;
搜索单元403,用于分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;其中,搜索预处理通道的预处理结果包括当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,指示从对应的当前字节搜索数据帧成功;或者,搜索预处理通道的预处理结果包括帧头验证不成功的位置,指示从对应的当前字节搜索数据帧不成功;
匹配单元404,用于将每个搜索预处理通道的预处理结果与当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果;其中,当前时钟周期的前面时钟周期的搜帧结果包括当前时钟周期的第一个数据帧的开始字节位置;
确定单元405,用于根据第一搜索预处理通道的预处理结果,确定当前时钟周期的搜帧结果;其中,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧成功,则将第一搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;或者,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,则将第二搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;其中,第二搜索预处理通道为第一搜索预处理通道的预处理结果中包括的帧头验证不成功的位置之后第一个搜索数据帧成功的搜索预处理通道;
定位单元406,用于根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧。
进一步的,所述定位单元406具体可以用于:
重新根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,对当前时钟周期内的数据流中的数据帧进行搜索,并记录搜索结果至存储器中,以实现精确定位当前时钟周期内的数据流中的数据帧。
可选的,在根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧前执行的所有步骤均不需要将搜索结果记录到所述存储器中。
进一步的,所述匹配单元404具体可以用于:
对比当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置,与每个搜索预处理通道对应的当前字节;
获取第一搜索预处理通道的预处理结果;其中,第一搜索预处理通道对应的当前字节,与当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置相同。
可选的,所述确定单元405还可以用于:
若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,且第一搜索预处理通道对应的当前字节之后,不存在指示搜索数据帧成功的搜索预处理通道的预处理结果,确定当前时钟周期的数据流中包括的数据帧定位失败,则当前时钟周期的搜帧结果为空。
可选的,若当前时钟周期为初始时钟周期或前面时钟周期的搜帧结果为空,所述确定单元405还可以用于:
将每个搜索预处理通道的预处理结果中,从当前时钟周期的数据流的起始位置开始搜索的,第一个指示搜索数据帧成功的搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果。
本发明实施例提供的一种数据帧的定位装置40,通过获取当前时钟周期内的数据流,所述数据流包括多个字节,为每个字节分别分配一个搜索预处理通道;分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;其中,每个搜索预处理通道的预处理结果包括当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,指示从对应的当前字节搜索数据帧成功,或者,每个搜索预处理通道的预处理结果包括验证帧头不成功的位置,指示从对应的当前字节搜索数据帧不成功;将每个搜索预处理通道的预处理结果与当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果;其中,当前时钟周期的前面时钟周期的搜帧结果包括当前时钟周期的第一个数据帧的开始字节位置;根据第一搜索预处理通道的预处理结果,确定当前时钟周期的搜帧结果;其中,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧成功,则将第一搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;或者,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,则将第二搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;其中,第二搜索预处理通道为第一搜索预处理通道的预处理结果中包括的帧头验证不成功的位置之后第一个搜索数据帧成功的搜索预处理通道;根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧;实现低成本、节约资源的对数据帧的定位,解决了现有技术中随着数据流位宽的增长数据帧定位成本高浪费资源的缺陷。
实施例四
本发明实施例四提供另一种数据帧的定位装置40,参见图5,所述数据帧的定位装置40包括:
至少一个处理器501,存储器502,至少一个通信总线503,用于实现处理器501、存储器502以及其它未示出的模块之间的连接和相互通信;
其中,处理器501可以是一个中央处理器(Central ProcessingUnit,简称为CPU),或者是特定集成电路(Application SpecificIntegrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路;
存储器502可以包括任意形式的存储设备,用于根据处理器501的指令对处理器的数据进行存储和读取。
其中,通信总线503可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。该总线503可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线;
其中,处理器501可以用于,获取当前时钟周期内的数据流,所述数据流包括多个字节,为数据流的每个字节分别分配一个搜索预处理通道;
处理器501还可以用于,分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;其中,搜索预处理通道的预处理结果包括当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,指示从对应的当前字节搜索数据帧成功;或者,搜索预处理通道的预处理结果包括帧头验证不成功的位置,指示从对应的当前字节搜索数据帧不成功;
处理器501还可以用于,将每个搜索预处理通道的预处理结果与当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果;其中,当前时钟周期的前面时钟周期的搜帧结果包括当前时钟周期的第一个数据帧的开始字节位置;
所述处理器501还可以用于,根据第一搜索预处理通道的预处理结果,确定当前时钟周期的搜帧结果;其中,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧成功,则将第一搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;或者,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,则将第二搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;其中,第二搜索预处理通道为第一搜索预处理通道的预处理结果中包括的帧头验证不成功的位置之后第一个搜索数据帧成功的搜索预处理通道;
处理器501还可以用于,根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧。
其中,处理器501可以向存储器502请求获取当前时钟周期的前面时钟周期的搜帧结果,根据存储器502的返回数据及当前时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧。
处理器501还可以将当前时钟周期的搜帧结果存储到存储器502中,以供下一时钟周期使用。
进一步的,处理器501根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧,具体可以用于:
重新根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,对当前时钟周期内的数据流中的数据帧进行搜索,并记录搜索结果至存储器中,以实现精确定位当前时钟周期内的数据流中的数据帧。
进一步的,在根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧前执行的所有步骤均不需要将搜索结果记录到所述存储器中。
进一步的,处理器501具体还可以用于:
对比当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置,与每个搜索预处理通道对应的当前字节;
获取第一搜索预处理通道的预处理结果;其中,第一搜索预处理通道对应的当前字节,与当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置相同。
可选的,处理器501还可以用于:
若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,且第一搜索预处理通道对应的当前字节之后,不存在指示搜索数据帧成功的搜索预处理通道的预处理结果,确定当前时钟周期的数据流中包括的数据帧定位失败,则当前时钟周期的搜帧结果为空。
优选的,若当前时钟周期为初始时钟周期或前面时钟周期的搜帧结果为空,所述处理器501还可以用于:
将每个搜索预处理通道的预处理结果中,从当前时钟周期的数据流的起始位置开始搜索的,第一个指示搜索数据帧成功的搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果。
本发明实施例提供的一种数据帧的定位装置40,通过获取当前时钟周期内的数据流,所述数据流包括多个字节,为每个字节分别分配一个搜索预处理通道;分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;其中,每个搜索预处理通道的预处理结果包括当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,指示从对应的当前字节搜索数据帧成功,或者,每个搜索预处理通道的预处理结果包括验证帧头不成功的位置,指示从对应的当前字节搜索数据帧不成功;将每个搜索预处理通道的预处理结果与当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果;其中,当前时钟周期的前面时钟周期的搜帧结果包括当前时钟周期的第一个数据帧的开始字节位置;根据第一搜索预处理通道的预处理结果,确定当前时钟周期的搜帧结果;其中,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧成功,则将第一搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;或者,若第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,则将第二搜索预处理通道的预处理结果作为当前时钟周期的搜帧结果;其中,第二搜索预处理通道为第一搜索预处理通道的预处理结果中包括的帧头验证不成功的位置之后第一个搜索数据帧成功的搜索预处理通道;根据当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位当前时钟周期内的数据流中的数据帧;实现低成本、节约资源的对数据帧的定位,解决了现有技术中随着数据流位宽的增长数据帧定位成本高浪费资源的缺陷。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种数据帧的定位方法,其特征在于,包括:
获取当前时钟周期内的数据流,所述数据流包括多个字节,为每个字节分别分配一个搜索预处理通道;
分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;其中,搜索预处理通道的预处理结果包括当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,指示从对应的当前字节搜索数据帧成功,或者,搜索预处理通道的预处理结果包括验证帧头不成功的位置,指示从对应的当前字节搜索数据帧不成功;
将每个搜索预处理通道的预处理结果与所述当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与所述当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果;其中,所述当前时钟周期的前面时钟周期的搜帧结果包括当前时钟周期的第一个数据帧的开始字节位置;
根据所述第一搜索预处理通道的预处理结果,确定所述当前时钟周期的搜帧结果;其中,若所述第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧成功,则将所述第一搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果;或者,若所述第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,则将第二搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果;其中,所述第二搜索预处理通道为所述第一搜索预处理通道的预处理结果中包括的帧头验证不成功的位置之后第一个搜索数据帧成功的搜索预处理通道;
根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位所述当前时钟周期内的数据流中的数据帧。
2.根据权利要求1所述的数据帧的定位方法,其特征在于,所述根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位所述当前时钟周期内的数据流中的数据帧,包括:
重新根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,对所述当前时钟周期内的数据流中的数据帧进行搜索,并记录搜索结果至存储器中,以实现精确定位所述当前时钟周期内的数据流中的数据帧。
3.根据权利要求2所述的数据帧的定位方法,其特征在于,在根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位所述当前时钟周期内的数据流中的数据帧前执行的所有步骤均不需要将搜索结果记录到所述存储器中。
4.根据权利要求1-3任一项所述的数据帧的定位方法,其特征在于,所述将每个搜索预处理通道的预处理结果与所述当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与所述当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果,包括:
对比所述当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置,与每个搜索预处理通道对应的当前字节;
获取所述第一搜索预处理通道的预处理结果;其中,所述第一搜索预处理通道对应的当前字节,与所述当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置相同。
5.根据权利要求1-4任一项所述的数据帧的定位方法,其特征在于,所述根据所述第一搜索预处理通道的预处理结果,确定所述当前时钟周期的搜帧结果,包括:
若所述第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,且所述第一搜索预处理通道对应的当前字节之后,不存在指示搜索数据帧成功的搜索预处理通道的预处理结果,确定所述当前时钟周期的数据流中包括的数据帧定位失败,则所述当前时钟周期的搜帧结果为空。
6.根据权利要求5所述的数据帧的定位方法,其特征在于,若所述当前时钟周期为初始时钟周期或前面时钟周期的搜帧结果为空,所述方法还包括:
将所述每个搜索预处理通道的预处理结果中,从所述当前时钟周期的数据流的起始位置开始搜索的,第一个指示搜索数据帧成功的搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果。
7.一种数据帧的定位装置,其特征在于,包括:
获取单元,用于获取当前时钟周期内的数据流,所述数据流包括多个字节;
分配单元,用于为所述数据流的每个字节分别分配一个搜索预处理通道;
搜索单元,用于分别从每个搜索预处理通道对应的当前字节开始搜索数据帧,获取每个搜索预处理通道的预处理结果;其中,搜索预处理通道的预处理结果包括当前时钟周期的下一个时钟周期的第一个数据帧的开始字节位置,指示从对应的当前字节搜索数据帧成功;或者,搜索预处理通道的预处理结果包括验证帧头不成功的位置,指示从对应的当前字节搜索数据帧不成功;
匹配单元,用于将每个搜索预处理通道的预处理结果与所述当前时钟周期的前面时钟周期的搜帧结果进行匹配,获取与所述当前时钟周期的前面时钟周期的搜帧结果匹配的第一搜索预处理通道的预处理结果;其中,所述当前时钟周期的前面时钟周期的搜帧结果包括当前时钟周期的第一个数据帧的开始字节位置;
确定单元,用于根据所述第一搜索预处理通道的预处理结果,确定所述当前时钟周期的搜帧结果;其中,若所述第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧成功,则将所述第一搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果;或者,若所述第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,则将第二搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果;其中,所述第二搜索预处理通道为所述第一搜索预处理通道的预处理结果中包括的帧头验证不成功的位置之后第一个搜索数据帧成功的搜索预处理通道;
定位单元,用于根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位所述当前时钟周期内的数据流中的数据帧。
8.根据权利要求7所述的数据帧的定位装置,其特征在于,所述定位单元具体用于:
重新根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,对所述当前时钟周期内的数据流中的数据帧进行搜索,并记录搜索结果至存储器中,以实现精确定位所述当前时钟周期内的数据流中的数据帧。
9.根据权利要求8所述的数据帧的定位装置,其特征在于,在根据所述当前时钟周期的搜帧结果及当前时钟周期的前面时钟周期的搜帧结果,精确定位所述当前时钟周期内的数据流中的数据帧前执行的所有步骤均不需要将搜索结果记录到所述存储器中。
10.根据权利要求7-9任一项所述的数据帧的定位装置,其特征在于,所述匹配单元具体用于:
对比所述当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置,与每个搜索预处理通道对应的当前字节;
获取所述第一搜索预处理通道的预处理结果;其中,所述第一搜索预处理通道对应的当前字节,与所述当前时钟周期的前面时钟周期的搜帧结果包括的当前时钟周期的第一个数据帧的起始字节位置相同。
11.根据权利要求7-10任一项所述的数据帧的定位装置,其特征在于,所述确定单元还用于:
若所述第一搜索预处理通道的预处理结果指示从对应的当前字节搜索数据帧不成功,且所述第一搜索预处理通道对应的当前字节之后,不存在指示搜索数据帧成功的搜索预处理通道的预处理结果,确定所述当前时钟周期的数据流中包括的数据帧定位失败,则所述当前时钟周期的搜帧结果为空。
12.根据权利要求11所述的数据帧的定位装置,其特征在于,若所述当前时钟周期为初始时钟周期或前面时钟周期的搜帧结果为空,所述确定单元还用于:
将所述每个搜索预处理通道的预处理结果中,从所述当前时钟周期的数据流的起始位置开始搜索的,第一个指示搜索数据帧成功的搜索预处理通道的预处理结果作为所述当前时钟周期的搜帧结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410151500.5A CN103957070B (zh) | 2014-04-16 | 2014-04-16 | 一种数据帧的定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410151500.5A CN103957070B (zh) | 2014-04-16 | 2014-04-16 | 一种数据帧的定位方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103957070A true CN103957070A (zh) | 2014-07-30 |
CN103957070B CN103957070B (zh) | 2016-09-28 |
Family
ID=51334308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410151500.5A Active CN103957070B (zh) | 2014-04-16 | 2014-04-16 | 一种数据帧的定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103957070B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656410A (zh) * | 2015-11-04 | 2017-05-10 | 中兴通讯股份有限公司 | 一种发送数据帧的方法、装置及基带板 |
CN111200482A (zh) * | 2019-12-31 | 2020-05-26 | 曙光网络科技有限公司 | Gfp帧定位处理方法、装置、电子设备及存储介质 |
CN117155523A (zh) * | 2023-10-30 | 2023-12-01 | 杭州芯旗电子技术有限公司 | 基于fpga的多速率数据定帧装置及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5841762A (en) * | 1996-03-29 | 1998-11-24 | British Telecommunications Public Limited Company | Monitoring a synchronous digital hierarchy transmission path |
CN100484054C (zh) * | 2003-01-28 | 2009-04-29 | 华为技术有限公司 | 数字传送网上不同的数据帧接入和传送的系统和方法 |
CN101232344B (zh) * | 2007-01-23 | 2012-01-04 | 华为技术有限公司 | 帧定位方法及装置 |
CN102142917B (zh) * | 2011-03-28 | 2014-02-19 | 华为技术有限公司 | 数据帧的定位方法和装置 |
-
2014
- 2014-04-16 CN CN201410151500.5A patent/CN103957070B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656410A (zh) * | 2015-11-04 | 2017-05-10 | 中兴通讯股份有限公司 | 一种发送数据帧的方法、装置及基带板 |
CN111200482A (zh) * | 2019-12-31 | 2020-05-26 | 曙光网络科技有限公司 | Gfp帧定位处理方法、装置、电子设备及存储介质 |
CN117155523A (zh) * | 2023-10-30 | 2023-12-01 | 杭州芯旗电子技术有限公司 | 基于fpga的多速率数据定帧装置及方法 |
CN117155523B (zh) * | 2023-10-30 | 2024-01-26 | 杭州芯旗电子技术有限公司 | 基于fpga的多速率数据定帧装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103957070B (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911249B (zh) | 一种网络设备的命令行发送方法、装置和设备 | |
CN102142917B (zh) | 数据帧的定位方法和装置 | |
US20130185484A1 (en) | File programming method and associated device for nand flash | |
CN105653630A (zh) | 分布式数据库的数据迁移方法与装置 | |
CN107277594A (zh) | 一种视音频与弹幕同步方法及装置 | |
CN106844120B (zh) | 一种绑定多路adb设备和usb端口的方法和装置 | |
US10977049B2 (en) | Installing of operating system | |
BR112014007669B1 (pt) | método e dispositivo para transmissão de mídia de transmissão contínua | |
CN103957070A (zh) | 一种数据帧的定位方法及装置 | |
US20180060408A1 (en) | Data transfer between multiple databases | |
US20210373929A1 (en) | Offline configuration method and apparatus for intelligent device | |
CN107770299A (zh) | 一种mac地址刷写方法、系统、装置及存储介质 | |
CN103354520A (zh) | 一种标签处理的方法及装置 | |
CN109657167B (zh) | 数据采集方法、装置、服务器及存储介质 | |
CN105404635A (zh) | 字符串匹配的方法、设备和异构计算系统 | |
CN109728853A (zh) | 一种数据处理的方法、设备及存储介质 | |
CN111511041B (zh) | 一种远程连接方法及装置 | |
CN110839135A (zh) | 一种用于dv或hdv视频文件的恢复方法和系统 | |
CN104917800A (zh) | 建立用于虚拟机的冗余连接的方法及装置 | |
CN105450679A (zh) | 进行数据云存储的方法及系统 | |
CN106708445A (zh) | 链路选择方法及装置 | |
CN105471930A (zh) | 一种读取分布式数据的方法、系统和设备 | |
CN104639585A (zh) | 一种实时数据传输系统及其数据同步方法 | |
CN105139890A (zh) | 一种信息处理方法及固态硬盘 | |
CN105808556A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |