CN108614863A - 一种浮动数据帧帧头查找方法及系统 - Google Patents

一种浮动数据帧帧头查找方法及系统 Download PDF

Info

Publication number
CN108614863A
CN108614863A CN201810294371.3A CN201810294371A CN108614863A CN 108614863 A CN108614863 A CN 108614863A CN 201810294371 A CN201810294371 A CN 201810294371A CN 108614863 A CN108614863 A CN 108614863A
Authority
CN
China
Prior art keywords
frame
data
frame head
thread
head
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
Application number
CN201810294371.3A
Other languages
English (en)
Other versions
CN108614863B (zh
Inventor
朱洪恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jilin Xing Tao Technology Co Ltd
Original Assignee
Jilin Xing Tao Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jilin Xing Tao Technology Co Ltd filed Critical Jilin Xing Tao Technology Co Ltd
Priority to CN201810294371.3A priority Critical patent/CN108614863B/zh
Publication of CN108614863A publication Critical patent/CN108614863A/zh
Application granted granted Critical
Publication of CN108614863B publication Critical patent/CN108614863B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种浮动数据帧帧头查找方法及系统,能够针对浮动帧进行高效的帧头查找。本发明的技术方案为:数据接收方针对预先约定的设定类型的帧头进行帧头偏移方式的存储;每种类型的帧头具有设定数量的帧头偏移方式。数据接收方进行数据流的接收,并存入数据缓存区。启动设定数量的线程,每个线程获取数据缓存区中数据;其中线程数量与帧头偏移方式的数量相同。每个线程对应选取一种偏移方式,在每个线程中,对所获取的数据采用字符串匹配的Boyer‑Moore算法进行对应偏移方式的帧头查找。

Description

一种浮动数据帧帧头查找方法及系统
技术领域
本发明涉及信息与通信工程技术领域,具体涉及一种浮动数据帧帧头查找方法及系统。
背景技术
不失一般性,以航天航空测控系统、空地通信系统为例,地面测试设备负责对应答机进行全方位、多场景的地面测试验证,其中遥测数据帧解帧是地面测试设备软件的重要功能。遥测数据帧通常由帧头和帧内容两部分组成,出于多方面的考虑,遥测数据帧帧头内容和每帧帧长并不固定,因此将这类数据帧称之为浮动数据帧。在地面测试设备软件中,软件的遥测数据帧帧头查找是影响遥测数据帧解析的重要因素。现有的遥测数据帧帧头查找方法平均响应时间过长,主要表现在:
(1)地面测试设备软件中常规的遥测数据帧帧头查找方法是采用固定数据流中帧头位置的方式,在遥测数据帧帧头查找操作中,软件在数据流中找到首个遥测数据帧帧头后按照固定数据帧长度进行数据截取。该方法实现方式简单,但要求遥测数据帧长度固定,缺乏灵活性。
(2)基于比特数据比较的遥测数据帧帧头查找方法,将软件接收到的遥测数据流以比特为最小单位存储,之后通过各类查找方法进行遥测帧帧头查找。但这类查找方式对数据帧帧头的持续搜索的过程中会占用较多的运算资源,导致产生较大延时。
目前,国内外对浮动数据帧帧头查找的研究主要集中在两个方面:
(1)对于浮动数据帧帧头查找算法的研究,对于浮动数据帧帧头查找采用包括字典树算法、有限状态机算法及其衍生算法在内的帧头查找算法,以此提高浮动数据帧帧头查找效率并降低空间占用率的效果。
(2)对于浮动数据帧帧头并行查找的研究,通过并行查找的方式来提高浮动数据帧帧头查找的速度。
在地面测试设备软件浮动数据帧帧头查找方面,浮动数据帧帧头查找算法是近年来研究的热点。以Boyer-Moore算法为例,Boyer-Moore算法实现主要有两个方法,坏字符算法和好后缀算法:
坏字符算法是通过检索坏字符进行最大距离跳跃。首先,子串左端与遥测帧数据流对齐,从右侧最后一个字符开始比较。如果比较出现坏字符,则需要检索匹配浮动数据帧中是否有该坏字符,有就可以确定下次移动的位置,使坏字符进行准确对齐。在匹配过程中浮动数据帧数据流比较位置内容为‘b’而浮动数据帧帧头比较位置内容为‘a’则说明匹配失败需要进行移位。查询坏字符‘b’在浮动数据帧帧头‘a’前出现的位置作为搜索词上次出现的位置。
好后缀算法是通过检索好后缀来确定最大移动距离。同理,先将子串左端与浮动数据帧数据流对齐,从右侧最后一个字符开始比较。如果比较出现好后缀,则需要检索匹配浮动数据帧中是否有该好后缀,有则可以确定下次移动位置,使好后缀位置对齐。在匹配过程中浮动数据帧数据流比较位置内容为‘b’而浮动数据帧帧头比较位置内容为‘a’则说明匹配失败需要进行移位。查询浮动数据帧帧头‘a’后的后缀与浮动数据帧数据流‘b’前缀最大匹配出现的位置作为搜索词上次出现的位置。目前国内外对浮动数据数据帧帧头查找技术也提出了许多研究。
在2014年第6期《无线电工程》第33页至35页,郭凯丰和王萌发表的论文“基于等帧长信号的帧头检测方法研究”中,提出一种基于累计滤波的算法,将截获序列按照帧长进行分组,整合对齐后进行积累,可以查找出帧头部分。在2011年,金凌在上海交通大学硕士论文“面向比特流的未知帧头识别技术研究”中提出在无先验知识的情况下,运用多模式匹配处理比特流的方法寻找特征序列,然后通过特征序列确定帧头的位置。在2013年第43期《中国科学技术大学学报》554页至560页由王和洲和薛开平等发表的“基于频繁统计和关联规则的未知链路协议比特流切割算法”中,提出通过分析协议帧的结构以及数据流中各帧之间的关联特性,从而提取出标志着帧头的特征序列。
上述浮动数据帧帧头查找的方法在帧头查找算法的基础上实现的方法多是效率上的优化,但其考虑的方向集中于对比特流特征进行分析。一般仅考虑固定数据帧长度的单一因素,或是需要占用大量运算资源,或是通过在接收一定数据流后对已接收的数据进行模式识别的判断。
发明内容
有鉴于此,本发明提供了一种浮动数据帧帧头查找方法及系统,能够针对浮动帧进行高效的帧头查找。
本发明的技术方案为:
一种浮动数据帧帧头查找方法,包括如下步骤:
数据接收方针对预先约定的设定类型的帧头进行帧头偏移方式的存储;每种类型的帧头具有设定数量的帧头偏移方式。
数据接收方进行数据流的接收,并存入数据缓存区。
启动设定数量的线程,每个线程获取数据缓存区中数据;其中线程数量与帧头偏移方式的数量相同。
每个线程对应选取一种偏移方式,在每个线程中,对所获取的数据采用字符串匹配的Boyer-Moore算法进行对应偏移方式的帧头查找。
进一步地,每种类型的帧头以字节为单位进行存储,其具有8种帧头偏移方式。
8种帧头偏移方式为:帧头的开始比特分别为字节的第n比特,n取值为1、2、3……8。
进一步地,每个线程获取数据缓存区中数据,具体为:每个线程获取数据缓存区中L+lmax nbyte数据;
其中lmax nbyte为数据帧帧头长度最大值。
本发明另一方面的实施例还提供了一种浮动数据帧帧头查找系统,该系统包括:数据流接收模块、数据缓存模块、帧头预处理模块、线程并行启动模块、帧头查找模块以及数据提取模块。
数据流接收模块,配置用于接收数据流,并将数据流存入数据缓存模块。
帧头预处理模块,配置用于针对预先约定的设定类型的待提取帧头进行帧头偏移方式的预处理与存储;每种类型的待提取帧头具有设定数量的帧头偏移方式。
线程并行启动模块,配置用于建立设定数量的线程并针对设定数量的线程进行并行启动;其中线程数量与待提取帧头的帧头偏移方式的数量相同。
帧头查找模块,配置用于采用每个线程获取数据缓存区中数据;每个线程对应选取一种帧头偏移方式,在每个线程中,对所获取的数据采用字符串匹配的Boyer-Moore算法依据对应帧头偏移方式进行待提取帧头的查找。
数据提取模块,配置用于对查找到的待提取帧头进行提取并存入数据缓存模块。
有益效果:
(1)本发明实施例中,在针对浮动数据帧帧头进行查找时,首先通过对待提取的浮动数据帧的帧头进行预处理,在字节存储形式下将待提取帧头转化为多种偏移方式的存储,并以所存储的多种偏移方式的待提取帧头作为帧头查找过程中的目标,从而保证了非固定位置浮动数据帧帧头的查找。同时本发明采用多线程并行启动的形式进行帧头查找,保证了浮动数据帧帧头查找的查找时间可与固定位置浮动数据帧帧头相同,即实现了对浮动数据帧帧头的高效查找。
(2)本发明实施例可以运行在多核硬件平台的情况下,通过启动多线程并行查找,在开启并行线程数达到8时,非固定位置浮动数据帧帧头查找效率可与固定位置浮动数据帧帧头相同。
附图说明
图1为本发明实施例提供的浮动数据帧帧头查找方法流程图。
图2为本发明实施例提供的浮动数据帧帧头查找系统组成框图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
请参考图1,图1示出了本发明实施例提供的一种浮动数据帧帧头查找方法的流程图。
如图1所示,该方法包括如下步骤:
S1、数据接收方针对预先约定的设定类型的帧头进行帧头偏移方式的存储;每种类型的帧头具有设定数量的帧头偏移方式;每种类型的帧头以字节为单位进行存储,其具有8种帧头偏移方式。
8种帧头偏移方式为:帧头的开始比特分别为字节的第n比特,n取值为1、2、3……8。
S2、数据接收方进行数据流的接收,并存入数据缓存区。
S3、启动设定数量的线程,每个线程获取数据缓存区中数据;其中线程数量与帧头偏移方式的数量相同。每个线程获取数据缓存区中数据,具体为:每个线程获取数据缓存区中L+lmax nbyte数据;
其中lmax nbyte为数据帧帧头长度最大值。
S4、每个线程对应选取一种偏移方式,在每个线程中,对所获取的数据采用字符串匹配的Boyer-Moore算法进行对应偏移方式的帧头查找。
本发明实施例中,采用Boyer-Moore算法进行对应偏移方式的帧头查找时,首先获得帧头在存在比特位偏移量前提下每字节对应有效位宽。本发明中的浮动帧帧头查找方法只对有效位宽进行比较。因为有效位宽比较是位操作,所以对于查找时间复杂度没有影响。
本发明中,由于数据流造成的比特级偏移,会导致数据按照字节存储时,首个有效比特在字节中有8种偏移方式,因此存在8种可能的存储形态。数据流以字节形式存储时会有8种存储形式,所以浮动帧帧头查找方法需要对这8种形式分别进行查找即可。
为了确定已接收浮动帧内容中浮动帧帧头的位置需要运行8次浮动帧帧头查找方法。因为这8次运算互相独立彼此间没有任何竞态条件,所以本发明中每个线程对应一种偏移方式的帧头查找,多个线程并行运行,此时不会出现时间复杂度恶化的情况,保证了浮动数据帧帧头查找的查找时间可与固定位置浮动数据帧帧头相同,即实现了对浮动数据帧帧头的高效查找。
请参考图2,图2示出了本发明实施例提供的浮动数据帧帧头查找系统。
如图2所示,一种浮动数据帧帧头查找系统,该系统用于实现上述帧头查找方法的任一种实施例,其包括:数据流接收模块、数据缓存模块、帧头预处理模块、线程并行启动模块、帧头查找模块以及数据提取模块。
数据流接收模块,配置用于接收数据流,并将数据流存入数据缓存模块。
帧头预处理模块,配置用于针对预先约定的设定类型的待提取帧头进行帧头偏移方式的预处理与存储;每种类型的待提取帧头具有设定数量的帧头偏移方式。
线程并行启动模块,配置用于建立设定数量的线程并针对设定数量的线程进行并行启动;其中线程数量与待提取帧头的帧头偏移方式的数量相同。
帧头查找模块,配置用于采用每个线程获取数据缓存区中数据;每个线程对应选取一种帧头偏移方式,在每个线程中,对所获取的数据采用字符串匹配的Boyer-Moore算法依据对应帧头偏移方式进行待提取帧头的查找。
数据提取模块,配置用于对查找到的待提取帧头进行提取并存入数据缓存模块。
综上,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种浮动数据帧帧头查找方法,其特征在于,该方法包括如下步骤:
数据接收方针对预先约定的设定类型的帧头进行帧头偏移方式的存储;所述每种类型的帧头具有设定数量的帧头偏移方式;
所述数据接收方进行数据流的接收,并存入数据缓存区;
启动设定数量的线程,每个线程获取数据缓存区中数据;其中线程数量与帧头偏移方式的数量相同;
每个线程对应选取一种偏移方式,在每个线程中,对所获取的数据采用字符串匹配的Boyer-Moore算法进行对应偏移方式的帧头查找。
2.如权利要求1所述的方法,其特征在于,所述每种类型的帧头以字节为单位进行存储,其具有8种帧头偏移方式;
所述8种帧头偏移方式为:帧头的开始比特分别为字节的第n比特,n取值为1、2、3……8。
3.如权利要求1所述的方法,其特征在于,所述每个线程获取数据缓存区中数据,具体为:所述每个线程获取数据缓存区中L+lmax nbyte数据;
其中lmax nbyte为数据帧帧头长度最大值。
4.一种浮动数据帧帧头查找系统,其特征在于,所述系统用于实施如权利要求1~3任一所述的帧头查找方法,该系统包括:数据流接收模块、数据缓存模块、帧头预处理模块、线程并行启动模块、帧头查找模块以及数据提取模块;
所述数据流接收模块,配置用于接收数据流,并将所述数据流存入所述数据缓存模块;
所述帧头预处理模块,配置用于针对预先约定的设定类型的待提取帧头进行帧头偏移方式的预处理与存储;所述每种类型的待提取帧头具有设定数量的帧头偏移方式;
所述线程并行启动模块,配置用于建立设定数量的线程并针对所述设定数量的线程进行并行启动;其中线程数量与待提取帧头的帧头偏移方式的数量相同;
所述帧头查找模块,配置用于采用每个线程获取数据缓存区中数据;每个线程对应选取一种帧头偏移方式,在每个线程中,对所获取的数据采用字符串匹配的Boyer-Moore算法依据对应帧头偏移方式进行待提取帧头的查找;
所述数据提取模块,配置用于对查找到的待提取帧头进行提取并存入所述数据缓存模块。
CN201810294371.3A 2018-04-04 2018-04-04 一种浮动数据帧帧头查找方法及系统 Active CN108614863B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810294371.3A CN108614863B (zh) 2018-04-04 2018-04-04 一种浮动数据帧帧头查找方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810294371.3A CN108614863B (zh) 2018-04-04 2018-04-04 一种浮动数据帧帧头查找方法及系统

Publications (2)

Publication Number Publication Date
CN108614863A true CN108614863A (zh) 2018-10-02
CN108614863B CN108614863B (zh) 2022-04-19

Family

ID=63659483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810294371.3A Active CN108614863B (zh) 2018-04-04 2018-04-04 一种浮动数据帧帧头查找方法及系统

Country Status (1)

Country Link
CN (1) CN108614863B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114401078A (zh) * 2022-01-14 2022-04-26 上海工程技术大学 一种图像数据帧帧头检测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101605012A (zh) * 2009-07-02 2009-12-16 中兴通讯股份有限公司南京分公司 一种实现同步数字体系帧头定位的方法及装置
CN101729135A (zh) * 2008-10-29 2010-06-09 上海华为技术有限公司 无线网状网的传输方法、通信设备及通信系统
WO2013097221A1 (zh) * 2011-12-31 2013-07-04 中国科学院微电子研究所 分布式测试系统的中心机与测试终端之间进行通讯的方法
CN103312577A (zh) * 2012-03-09 2013-09-18 中兴通讯股份有限公司 一种处理mac数据的方法及装置
CN105141583A (zh) * 2015-07-28 2015-12-09 中国电子科技集团公司第三十六研究所 一种字符串匹配方法和系统
US20160006545A1 (en) * 2013-02-18 2016-01-07 Zte Corporation Data Mapping and Multiplexing Method and Device and Data Demultiplexing and Demapping Method and Device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729135A (zh) * 2008-10-29 2010-06-09 上海华为技术有限公司 无线网状网的传输方法、通信设备及通信系统
CN101605012A (zh) * 2009-07-02 2009-12-16 中兴通讯股份有限公司南京分公司 一种实现同步数字体系帧头定位的方法及装置
WO2013097221A1 (zh) * 2011-12-31 2013-07-04 中国科学院微电子研究所 分布式测试系统的中心机与测试终端之间进行通讯的方法
CN103312577A (zh) * 2012-03-09 2013-09-18 中兴通讯股份有限公司 一种处理mac数据的方法及装置
US20160006545A1 (en) * 2013-02-18 2016-01-07 Zte Corporation Data Mapping and Multiplexing Method and Device and Data Demultiplexing and Demapping Method and Device
CN105141583A (zh) * 2015-07-28 2015-12-09 中国电子科技集团公司第三十六研究所 一种字符串匹配方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
宋兵跃等: "一种高效的串行通信协议的制定及实现", 《微型机与应用》 *
曹成宏等: "面向比特流的链路层未知帧分析技术综述", 《小型微型计算机系统》 *
王杨德: "面向比特流的协议帧头结构分析研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114401078A (zh) * 2022-01-14 2022-04-26 上海工程技术大学 一种图像数据帧帧头检测方法
CN114401078B (zh) * 2022-01-14 2023-10-31 上海工程技术大学 一种图像数据帧帧头检测方法

Also Published As

Publication number Publication date
CN108614863B (zh) 2022-04-19

Similar Documents

Publication Publication Date Title
CN101540723B (zh) 一种流表查找方法和装置
US7742414B1 (en) Lightweight indexing for fast retrieval of data from a flow-level compressed packet trace
CN102510323A (zh) 一种串口数据的帧识别方法
CN103309966B (zh) 基于时间滑动窗口的数据流点连接查询方法
EP0993144A3 (en) High-speed multicast system
CN102567530A (zh) 一种文章类型网页智能抽取系统及其方法
CN104158627A (zh) 一种异构链路多协议的自动识别系统和方法
CN112541074A (zh) 日志解析方法、装置、服务器和存储介质
CN108306835A (zh) 一种以太网交换机的输入缓存结构及数据转发方法
CN105281883A (zh) 多通道同步方法、同步装置及系统
CN108134775A (zh) 一种数据处理方法和设备
CN101256579A (zh) 一种数据库范围查询数据组织的方法
CN106095850A (zh) 一种数据处理方法及设备
CN108614863A (zh) 一种浮动数据帧帧头查找方法及系统
CN102137086B (zh) 数据传输处理方法、装置及系统
CN103329476B (zh) 在低信噪比水平下的前同步码检测器及检测方法
US20040054668A1 (en) Dynamic image content search information managing apparatus
CN105357177A (zh) 一种数据包过滤规则集处理方法及数据包匹配方法
CN110532104A (zh) 一种多通道数据实时排序方法及系统
CN114390117A (zh) 一种基于fpga的高速连续数据流存储处理装置及方法
CN109743260A (zh) 一种基于改进的acbm算法对网络流量进行过滤的装置和方法
CN106416150A (zh) 一种路由查询方法和网络设备
CN105930514B (zh) 配套关系检索方法和系统
CN1319342C (zh) 一种同步数字系列链路接入规程的解封装方法
CN103870462B (zh) 一种数据处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant