CN105471548B - 一种网络数据包解析及分发方法 - Google Patents
一种网络数据包解析及分发方法 Download PDFInfo
- Publication number
- CN105471548B CN105471548B CN201510754002.4A CN201510754002A CN105471548B CN 105471548 B CN105471548 B CN 105471548B CN 201510754002 A CN201510754002 A CN 201510754002A CN 105471548 B CN105471548 B CN 105471548B
- Authority
- CN
- China
- Prior art keywords
- data
- channel
- dimension array
- data packet
- client
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
- H04L1/0008—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length by supplementing frame payload, e.g. with padding bits
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种网络数据包解析及分发方法,属于直升机综合试验测试通信技术领域。所述方法包括首先接收数据采集服务器发来的数据包;判断接收的数据包是否有帧头及帧尾,并拼接成完成的数据包;将完整数据包内的通道标识生成一维数组A;从一维数组A内将客户端需要的数据对应的通道标识生成一维数组B;根据一维数组B内的通道标识,获取完整帧内通道标识对应的数据,并与通道标识结合生成单通道一维数组C1~Cn,将所述n个单通道一维数组放入队列,同时,在队列中,根据采样时间与需求时间之间的比例关系进行等比例缩放;将处理后的单通道一维数组从队列中导出,通过客户端进行处理及显示。
Description
技术领域
本发明属于直升机综合试验测试通信技术领域,具体涉及一种网络数据包解析及分发方法。
背景技术
直升机综合试验是直升机研制过程中的一个重要阶段,目前综合试验包括旋翼系统试验、地面联合试验、风洞试验、防除冰试验等。综合试验测试的特点及难点包括:测试参数类型多、测试通道多、数据采样率范围宽、数据处理要求多样等。该方法是基于地面联合试验测试需求开发的,设计目标是设计一套基于网络的分布式通用测试系统。要实现该目标,不仅需要在硬件选型及集成等方面充分考虑系统的特点及难点,在软件设计方面同样如此。网络数据包格式定义、解析及分发是测试系统软件开发的重要内容,也是其核心技术之一。
现有技术中,地面联合试验台根据测试参数类型的不同,采用不同的数据采集设备,各系统工作原理及方式各异,且各自独立,这种技术可能引起的问题有:
(1)之前采用各个硬件供应商提供的各自专用的网络数据包格式,导致不同类型参数的网络数据包格式各不相同,增加了网络数据解析的难度及工作量,解析效率也较低;
(2)传统的网络数据包解析方法采用将多个通道的数据缓存为多维数组的形式,不适用于包含多种采样率的数据包;
(3)传统的数据解析、分发模块设计未充分考虑模块的通用性,难于直接将模块移植到其它试验台测试软件。
发明内容
为了解决上述问题,本发明提供了一种网络数据包解析及分发方法,并据此,对网络数据包进行了格式上的设计,所述网络数据包解析及分发方法主要包括以下步骤:
S1、接收数据采集服务器发来的数据包;
S2、判断接收的数据包是否有帧头及帧尾,如果没有帧头和帧尾,则需将接收的数据拼接为完整的帧,所述完整的帧还包括通道标识及对应通道内的数据;
S3、将步骤S2中的完整的帧内包含的通道标识生成一维数组A;
S4、根据步骤S3中生成的一维数组A内的通道标识判断步骤S2中的完整的帧内是否有客户端需要的数据,如果有,则将客户端需要的数据对应的通道标识生成一维数组B;
S5、根据一维数组B内的通道标识,获取完整帧内通道标识对应的数据,并将每一通道标识所对应的数据转换为单精度浮点型数据,将所述单精度浮点型数据结合对应的通道标识生成单通道一维数组C1~Cn,其中,n为一维数组B内的数据个数;
S6、将所述n个单通道一维数组放入队列;
S7、将由步骤S6处理后的单通道一维数组从队列中导出,通过客户端进行处理及显示,在出队列时,根据采样点数对所述任一单通道一维数组内的数据进行拼接。
优选的是,在所述步骤S1中,所述接收数据采集服务器发来的数据包由客户端通信层接收,并传送给所述客户端的处理层。
在上述方案中优选的是,在所述步骤S2中,所述客户端设置有判断模块,预置有帧头和帧尾,当所述判断模块读取所述数据包的数据时,调用所述预置的帧头和帧尾对所述数据包的数据进行比对判断。
在上述方案中优选的是,在所述步骤S4中,所述客户端设置有通道划分模块,通道划分模块内存储有设备所需的通道数据,当所述通道划分模块读取所述一维数组A时,调用所述存储的所需的通道数据,来生成一维数组B。
在上述方案中优选的是,在所述步骤S5中,所述客户端设置有数据转换单元,所述数据转换单元的输入端为预置的多种数据类型,所述数据转换单元的输出端为单精度浮点型数据类型。
在上述方案中优选的是,在所述步骤S7中,所述将单通道的一维数组进行输出显示时,包括以下步骤:
计算通道所需数据点数,所述通道所需数据点数是指当通道内数据需要输出时所需要的数据点数;
多个数据与通道标识所在的一维数组出队列;
将上述多个一维数组拼接,直至拼接后的一维数组的点数达到通道所需数据点数,其中,每一个数据包内的各通道的点数为采样率/采样时间内发送的数据包个数,所述采样率为数据包内通道数据进行输出显示时所需要的数据量;
将拼接后的一维数组发送到客户端显示界面。
本发明的关键点在于:
将不同类型参数的网络数据包格式统一设置;
将多个通道的数据缓存为一维数组,采用队列缓存数据,克服了包含多种采样率的数据包无法同时解析的问题;
该数据解析、分发模块的设计充分考虑了模块的通用性,可以直接将该模块移植到其它试验台测试软件中,避免重复开发。
本发明的有益效果:通过上述改进,有效地解决了多种测试参数类型、多测试通道、宽数据采样率范围以及数据处理要求多样等不能同时解析的问题,实现了统一解析、统一分发,实现了系统的通用性要求,降低了试验成本。
附图说明
图1为本发明的一优选实施例的网络数据接收、解析及入队列流程图。
图2为本发明的一优选实施例的数据出队列、拼接、通知流程图。
具体实施方式
为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合附图对本发明的实施例进行详细说明。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
下面通过实施例对本发明做进一步详细说明。本发明提供了一种网络数据包解析及分发方法,其目的在与:
(1)根据综合试验测试的特点,定义一种专用的网络数据包格式,该格式适用于目前综合试验不同试验台试验测试,又具备一定的功能扩展性;
(2)开发网络数据解析及分发模块,该模块适用于不同数据类型、不同数据采样率、不同数据处理要求。不需对模块作任何改动,该模块可直接移植到综合试验其它试验台试验测试软件。
本实施例中,网络数据包解析及分发方法主要包括以下步骤,如图1所示:
S1、接收数据采集服务器发来的数据包。
S2、判断接收的数据包是否有帧头及帧尾,如果没有帧头和帧尾,则需将接收的数据拼接为完整的帧。
需要说明的是,这里的完整的帧,即为完整的数据包,所述完整的数据包除了包含帧头和帧尾以外,还包括帧头和帧尾之间的多个通道标识及对应通道的数据。例如,表1。
表1完整数据包所包含的内容
如上表所示,所述的完整的数据包包括帧头(55AAAA55)和帧尾(AA5555AA)、位于两者之间的数据包帧长度(288)、多个通道ID(通道4、通道5、通道6)以及每一个通道ID内的多个数据。
S3、将步骤S2中的完整的帧内包含的通道标识生成一维数组A。
比如,将表1中的通道4、通道5以及通道6三个通道的ID组合成一维数组A,A={4,5,6}。
S4、根据步骤S3中生成的一维数组A内的通道标识判断步骤S2中的完整的帧内是否有客户端需要的数据,如果有,则将客户端需要的数据对应的通道标识生成一维数组B。
例如,如果本客户端仅需要通道4及通道6内的数据,则从一维数组A={4,5,6}内选取数据4、6生成一维数组B,B={4,6}。
S5、根据一维数组B内的通道标识,获取完整帧内通道标识对应的数据,并将每一通道标识所对应的数据转换为单精度浮点型数据,将所述单精度浮点型数据结合对应的通道标识生成单通道一维数组C1~Cn,其中,n为一维数组B内的数据个数。
需要说明的是,这里的单通道一维数组C内的数据均采用通道标识与对应通道内的数据相叠加的形式构成。比如,首先因为一维数组B内包含包含两个数据,及通道4与通道6,分别获取通道4及通道6内的数据,之后,针对通道4,将通道4内的数据转换为单精度浮点型数据,表1中已给出对应的,单精度浮点型数据,比如对应的数据为0.41/0.42/0.43,最后与通道4进行结合,生成一维数组C1,C1={4,0.41,0.42,0.43};同理,针对通道6,采取与通道4同样的处理方法,生成一维数组C2,C2={6,0.61,0.62,0.63}。
S6、将所述n个单通道一维数组放入队列。
比如某数据采集系统1秒钟向客户端发送10个数据包,每一个通道采样时间为0.1s,而要求显示窗口每次显示1秒钟数据,因此需要在队列中将数据延长,在此过程中,队列起到了缓存和传递的作用,比如,第一次输出的0.1s内的数据C1={4,0.41,0.42,0.43},第二次输出的0.2s内的数据C11,等等,直到1s的时间内的所有数据进行输出。
S7、如图2所示,将由步骤S6处理后的单通道一维数组从队列中导出,通过客户端进行处理及显示,在出队列时,根据采样点数对所述任一单通道一维数组内的数据进行拼接。
在本实施例中,具体步骤如下:
计算通道所需数据点数,所述是指当通道内数据需要输出时所需要的数据点数;
多个数据与通道标识所在的一维数组出序列;
将上述多个一维数组拼接,直至拼接后的一维数组的点数达到通道所需数据点数,其中,每一个数据包内的各通道的点数为采样率/采样时间内发送的数据包个数,所述采样率为数据包内通道数据进行输出显示时所需要的数据量;
拼接后的一维数组发送到客户端显示界面。
需要说明的是,每个数据包都具有点数,对应的通道数据也具有点数,比如,当设定客户端1s时间显示一次数据,此时,每一个通道内所积累的点数为1kb,即当该通道内的数据达到1kb时才发送给客户端显示界面用以显示,在1s的时间内,数据采集服务器向客户端发送10个数据包,每个数据包内某一通道内的数据位1/10kb,该1/10kb的数据假设为一维数组C1={4,0.41,0.42,0.43},此时还远远不够输出所需要的1kb,因此,需要积累10次同样类型的数据,最后拼接成新的一维数组,如X,X={4,0.41,0.42……},之后将数据发送给客户端。
需要说明的是,在所述步骤S1中,所述接收数据采集服务器发来的数据包由客户端通信层接收,并传送给所述客户端的处理层。
在所述步骤S2中,所述客户端设置有判断模块,预置有帧头和帧尾,当所述判断模块读取所述数据包的数据时,调用所述预置的帧头和帧尾对所述数据包的数据进行比对判断。
在所述步骤S4中,所述客户端设置有通道划分模块,通道划分模块内存储有设备所需的通道数据,当所述通道划分模块读取所述一维数组A时,调用所述存储的所需的通道数据,来生成一维数组B。
在所述步骤S5中,所述客户端设置有数据转换单元,所述数据转换单元的输入端为预置的多种数据类型,所述数据转换单元的输出端为单精度浮点型数据类型。
最后需要指出的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种网络数据包解析及分发方法,其特征在于:
S1、接收数据采集服务器发来的数据包;
S2、判断接收的数据包是否有帧头及帧尾,如果没有帧头和帧尾,则需将接收的数据拼接为完整的帧,所述完整的帧还包括通道标识及对应通道内的数据;
S3、将步骤S2中的完整的帧内包含的通道标识生成一维数组A;
S4、根据步骤S3中生成的一维数组A内的通道标识判断步骤S2中的完整的帧内是否有客户端需要的数据,如果有,则将客户端需要的数据对应的通道标识生成一维数组B;
S5、根据一维数组B内的通道标识,获取完整帧内通道标识对应的数据,并将每一通道标识所对应的数据转换为单精度浮点型数据,将所述单精度浮点型数据结合对应的通道标识生成单通道一维数组C1~Cn,其中,n为一维数组B内的数据个数;
S6、将所述n个单通道一维数组放入队列;
S7、将由步骤S6处理后的单通道一维数组从队列中导出,通过客户端进行处理及显示,在出队列时,根据采样点数对所述任一单通道一维数组内的数据进行拼接。
2.如权利要求1所述的网络数据包解析及分发方法,其特征在于:在所述步骤S1中,所述接收数据采集服务器发来的数据包由客户端通信层接收,并传送给所述客户端的处理层。
3.如权利要求2所述的网络数据包解析及分发方法,其特征在于:在所述步骤S2中,所述客户端设置有判断模块,预置有帧头和帧尾,当所述判断模块读取所述数据包的数据时,调用所述预置的帧头和帧尾对所述数据包的数据进行比对判断。
4.如权利要求3所述的网络数据包解析及分发方法,其特征在于:在所述步骤S4中,所述客户端设置有通道划分模块,通道划分模块内存储有设备所需的通道数据,当所述通道划分模块读取所述一维数组A时,调用所述存储的所需的通道数据,来生成一维数组B。
5.如权利要求4所述的网络数据包解析及分发方法,其特征在于:在所述步骤S5中,所述客户端设置有数据转换单元,所述数据转换单元的输入端为预置的多种数据类型,所述数据转换单元的输出端为单精度浮点型数据类型。
6.如权利要求5所述的网络数据包解析及分发方法,其特征在于:在所述步骤S7中,所述将单通道的一维数组进行输出显示时,包括以下步骤:
计算通道所需数据点数,所述通道所需数据点数是指当通道内数据需要输出时所需要的数据点数;
多个数据与通道标识所在的一维数组出队列;
将上述多个一维数组拼接,直至拼接后的一维数组的点数达到通道所需数据点数,其中,每一个数据包内的各通道的点数为采样率/采样时间内发送的数据包个数,所述采样率为数据包内通道数据进行输出显示时所需要的数据量;
将拼接后的一维数组发送到客户端显示界面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510754002.4A CN105471548B (zh) | 2015-11-04 | 2015-11-04 | 一种网络数据包解析及分发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510754002.4A CN105471548B (zh) | 2015-11-04 | 2015-11-04 | 一种网络数据包解析及分发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105471548A CN105471548A (zh) | 2016-04-06 |
CN105471548B true CN105471548B (zh) | 2018-11-23 |
Family
ID=55608897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510754002.4A Active CN105471548B (zh) | 2015-11-04 | 2015-11-04 | 一种网络数据包解析及分发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105471548B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107465570B (zh) * | 2017-07-12 | 2020-12-15 | 西安交大捷普网络科技有限公司 | 基于环形队列的数据包关键字检测方法 |
CN110445658B (zh) * | 2019-08-16 | 2023-01-24 | 中国银行股份有限公司 | 一种报文处理方法及系统 |
CN112804027B (zh) * | 2019-11-14 | 2023-04-18 | 上海讯析电子科技有限公司 | 数据包生成方法及装置、数据读取方法及装置 |
CN111654265B (zh) * | 2020-06-19 | 2023-07-25 | 京东方科技集团股份有限公司 | 一种快速校验电路、方法及装置 |
CN114509966B (zh) * | 2021-12-30 | 2023-11-03 | 北京无线电测量研究所 | 一种非同步高速串口实时连续数据采集系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339442A (zh) * | 2008-06-30 | 2009-01-07 | 国网武汉高压研究院 | 电力电缆导体温度自动跟踪和控制方法 |
CN101873439A (zh) * | 2010-01-20 | 2010-10-27 | 杭州海康威视数字技术股份有限公司 | 一种切换监控通道的方法、系统及解码器 |
-
2015
- 2015-11-04 CN CN201510754002.4A patent/CN105471548B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339442A (zh) * | 2008-06-30 | 2009-01-07 | 国网武汉高压研究院 | 电力电缆导体温度自动跟踪和控制方法 |
CN101873439A (zh) * | 2010-01-20 | 2010-10-27 | 杭州海康威视数字技术股份有限公司 | 一种切换监控通道的方法、系统及解码器 |
Also Published As
Publication number | Publication date |
---|---|
CN105471548A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105471548B (zh) | 一种网络数据包解析及分发方法 | |
CN103516551B (zh) | 利用无源双rfid标签对光纤物理端口智能管理系统 | |
CN103338464B (zh) | 通信方法及设备 | |
CN103957136B (zh) | 一种小卫星can总线监视系统 | |
CN106788892B (zh) | 多源异构试飞数据处理方法及多源异构试飞数据处理系统 | |
CN107329849A (zh) | 一种基于Java系统的数据校验方法及系统 | |
CN110048872A (zh) | 一种网络告警方法、装置、系统及终端 | |
CN109861998A (zh) | 一种基于北斗短报文协议的插件式动态解析系统及方法 | |
CN107623728A (zh) | 基于产品接口控制文件的fc‑ae‑asm数据通用解析方法 | |
CN101588370A (zh) | 一种多速率通讯数据流格式的解析方法 | |
CN103702354B (zh) | 基站工程参数采集和解析方法 | |
CN103716211B (zh) | 网络终端的数据流量测量方法 | |
CN104243246B (zh) | 一种基于ZigBee技术的FlexRay总线测试与优化方法及装置 | |
CN106997313A (zh) | 一种应用程序的信号处理方法、系统及终端设备 | |
CN104750871B (zh) | 基于fpga的aos卫星数传有效数据区提取系统及方法 | |
CN109557898A (zh) | 一种用于各型无人机地面控制站的通用系统综合验证设备 | |
CN102053808B (zh) | 一种打印软件信息的方法、装置及带网口的设备 | |
CN102055549B (zh) | 一种长期演进系统中的速率匹配装置及方法 | |
CN104821154B (zh) | 数据传输的控制系统、方法、芯片阵列及显示器 | |
CN207718361U (zh) | Pcm信号采集装置及系统 | |
CN113312394B (zh) | 数据获取系统的构建方法及装置 | |
CN106793056A (zh) | 一种多通道传输信号对齐方法和装置 | |
CN106789433A (zh) | 基于以太网交换机的低速端口测试高速端口性能的方法 | |
CN102387025B (zh) | 一种采集业务数据包日志信息的方法及业务逻辑处理系统 | |
CN107769997A (zh) | Afdx交换产品交换技术延时指标测试装置及测试方法 |
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 |