CN101588370B - 一种多速率通讯数据流格式的解析方法 - Google Patents
一种多速率通讯数据流格式的解析方法 Download PDFInfo
- Publication number
- CN101588370B CN101588370B CN2009101003203A CN200910100320A CN101588370B CN 101588370 B CN101588370 B CN 101588370B CN 2009101003203 A CN2009101003203 A CN 2009101003203A CN 200910100320 A CN200910100320 A CN 200910100320A CN 101588370 B CN101588370 B CN 101588370B
- Authority
- CN
- China
- Prior art keywords
- frame
- byte
- data
- variable
- value
- 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.)
- Expired - Fee Related
Links
- 238000004891 communication Methods 0.000 title claims abstract description 26
- 238000004458 analytical method Methods 0.000 title claims abstract description 11
- 230000005540 biological transmission Effects 0.000 claims abstract description 10
- 238000007493 shaping process Methods 0.000 claims description 14
- 230000008878 coupling Effects 0.000 claims description 10
- 238000010168 coupling process Methods 0.000 claims description 10
- 238000005859 coupling reaction Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 5
- 244000188472 Ilex paraguariensis Species 0.000 claims description 3
- 230000007613 environmental effect Effects 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 description 8
- 238000007667 floating Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开的多速率通讯数据流格式的解析方法,包括以下步骤:1)定义帧头2)定义帧类别ID 3)定义帧校验码4)定义帧序号5)定义帧数据包6)对从通讯端口读取的字节流数据进行解析。本发明与以往的通讯数据流格式的解析方法相比,具有如下优点:a)来自不同通讯设备的不同速率的数据可以通过一条物理链路实现传输,大大简化了物理通讯链路b)不同类型不同精度的数据可以并行传输,提高了传输效率。c)可以保持数据的时间同步特性来分析各种环境因素对陀螺输出的影响。d)采用模板机制,可以通过简单的配置实现对具体的字节数据流进行解析,从而很好的解决了通讯数据格式的适应性问题。
Description
技术领域
本发明涉及通讯数据流格式的解析方法,属于数据通讯处理技术领域。
背景技术
随着陀螺自动测试系统的不断发展,陀螺自动测试系统需要对多种设备进行测控和数据通信。各种不同的测试设备具有不同的通讯数据格式。同时陀螺自动测试系统内部各个子系统中不同形式、不同速率的数据需要汇总以统一的接口输出,亦即原本多路的不同格式、不同速率的数据,现在需要在同一信路中传输,然后再还原为各自独立的数据输出。而以往的测试系统采用的固定单一的通讯数据格式既无法适应数据类型的多变性,也无法适应数据传输速率的多变性。同时,由于陀螺自动测试系统需要陀螺输出与其他各种环境变量的输出具有精确的时间同步特性,而来自各个测试设备的数据在传输与解析的过程中都可能发生数据丢失,从而使得各个变量的时序无法同步。
发明内容
本发明的目的是提出一种可以将来自于各路的不同数据类型不同速率的混合数据流还原成独立的各路数据变量并可以保证各路数据变量同步的多速率通讯数据流格式的解析方法。
本发明的多速率通讯数据流格式的解析方法,包括以下步骤:
帧的数据结构包括帧头、帧类别ID、帧校验码、帧序号和帧数据包:
1)定义帧头,帧头由若干个在一次传输过程中固定统一的字节组成;
2)定义帧类别ID,帧类别ID由一个字节组成,采用一个无符号的8位整形来表示帧类别ID的值;
3)定义帧校验码,帧校验码由一个字节组成,采用一个字节的无符号整形表示帧校验码的值,帧校验码的值和对应帧其它的字节满足校验算法所定义的函数关系;
4)定义帧序号,帧序号由一到四个字节组成,采用一个8-32位整形值表示当前帧从通迅设备发出的序号;
5)定义帧数据包,帧数据包由若干个帧变量体组成,每个帧变量体具有1-8个字节,帧变量体包含了变量名称、变量的数据类型、变量在帧数据包中位置偏移、变量对应的缓存空间,变量对应的缓存空间的字节长度;
6)将从通讯端读入的待解析的数据流字节与定义的帧头比较,进行帧头匹配,若帧头不匹配,则再读入由帧头所定义的字节长度的数据进行帧头匹配,若帧头匹配成功,则读入待解析数据流下一个字节,该字节的值即为帧类别ID的值,然后根据帧类别ID的值选择相应的帧的数据结构来处理后续的字节序列,处理步骤如下:
a)根据当前帧所指定的字节个数读取指定长度的字节序列;
b)根据当前帧所规定的校验算法执行校验,若不通过,则导出错误信息,并跳回到帧头匹配阶段;当步骤b)校验通过后进行步骤c);
c)判断当前帧是否支持帧序号检测,若支持则判断是否存在数据丢失或破坏异常状况,并采取补发数据与导出错误信息措施;当步骤c)检测通过后进行步骤d);
d)处理帧数据包,根据变量在帧数据包中的位置偏移来找到变量所对应的内存空间,根据由变量指定的字节长度取得字节序列,然后根据变量对应的数据类型来将字节序列转化成对应的变量值,最后根据变量名称向变量输出流输出变量;重复解析当前帧中所有的变量体,直到一帧的匹配工作完成,重新回到帧头匹配阶段;
7)重复步骤6),解析整个数据流。
本发明的优点在于:
实现多种速率的帧的数据在同一传输链路上传输,然后解析分流变回原本各帧的数据,使得来自不同通讯设备的不同速率的数据在不丢失其时间特性的同时,可以通过一条物理链路实现传输,大大简化了物理通讯链路的复杂性。
实现不同数据类型的变量在同一个帧中以统一的二进制数据格式进行混合传输,然后解析分流变回原本数据类型的变量,使得来自于不同通讯设备的不同类型不同精度的数据可以并行传输,提高了传输效率。
在帧中添加帧序号,解析时进行序号检测和补偿措施,实现各个数据变量的同步,使得解析出来的数据具有精确的时间同步特性,从而可以分析各种环境因素对陀螺输出的影响。
采用模板机制,可以通过简单的模板配置的方式,包括对帧头、帧类别ID、帧校验码、帧序号、帧数据包中各个变量体的指定,实现对在具体应用场景下的字节数据流进行解析,而不必为每一种数据流重写对应的解析方法,从而很好的解决了陀螺自动测试系统通讯数据格式的适应性问题。
附图说明
图1是帧格式的定义;
图2是数据流解析算法流程。
具体实施方式
本发明提出的多速率通讯数据流格式的解析方法,包括以下步骤(过程参考图2):
帧的数据结构如图1所示,包括帧头、帧类别ID、帧校验码、帧序号和帧数据包:
1)指定帧头,由若干个十六进制数表示帧头的值,每个十六进制数以“-”符号隔开。例如这里指定帧头值为“0A-1B-2C”。
2)指定帧类别ID,用一个0~255的整数表示帧类别ID的值。例如这里指定帧类别ID的值为10。
3)指定帧校验码,帧校验码由一个字符串表示,格式为“Vn”,其中n为一个0-255的整数,代表采用的校验算法的类别,例如这里帧都采用一号校验算法,表示为“V1”。
4)指定帧序号,帧序号由一个字符串表示,格式为“Ln”,其中n为一个1-4的整数,代表在帧中帧序号对应的字节长度,例如这里帧都使用两个字节来传输帧序号,表示为“L2”。
5)指定帧数据包,由若干个字符串组成,以“-”符号隔开。描述帧变量体的字符串的格式为字符和数据的组合。其中字符指示数据的类型,数据指示对应的字节长度。具体规定如下“S”代表带符号的整形,带符号的整形支持1-8的字节长度,例如“S4”代表四个字节的带符号整形,对应C++中的int类型(32位整形)。“U”代表无符号整形,无符号的整形支持1-4的字节长度,例如“U2”代表两个字节的无符号整形,对应C++中的unsigned short类型(16位无符号整形)。“F”代表浮点类型,浮点类型支持4或8的字节长度,例如“F8”代表8个字节的浮点类型,对应C++中的double类型(64位浮点型)。例如这里帧数据包指定为“S4-U2-F8”,表示数据包是一个C++中int型数据unsigned short型数据double型数据的组合。
综上所述,帧格式的描述举例如下:
0A-1B-2C$10$V1$L2$S4-U2-F8
此帧的具体格式为第1-3个字节为帧头,其值分别为“0A”、“1B”和“2C”。第4个字节为帧类型ID的值为10。第5个字节为校验码的值,采用的校验算法是一号校验算法。第6、7字节为帧序号对应的值,用于帧的同步保持。第8-11个字节对应一个int值。第12-13个字节对应一个unsigned short类型。第14-21个字节对应一个double类型。根据模板机制的要求,将上述的这个帧格式描述 字符串添加模板配制文件中对应“帧名称”段的“帧格式”键上,解析方法便可以在字节数据流中识别对应的帧,并将变量从字节数据流中解析出来,解析步骤如下:
6)将从通讯端读入的待解析的数据流字节与定义的帧头“0A-1B-2C”比较,进行帧头匹配,若帧头不匹配,则再读入由帧头所定义的字节长度的数据进行帧头匹配,若帧头匹配成功,则读入待解析数据流下一个字节,该字节的值若不为10,则选择其它与此字节值匹配的帧的数据结构去处理,不存在与此字节匹配的帧则跳回到帧头匹配阶段,若为10则选择此例中的帧的数据结构来处理,处理步骤如下:
a)根据当前帧所指定的字节个数的读取指定长度的字节序列,当前帧的字节长度为21;
b)根据当前帧所指定1号的校验算法执行校验,若不通过,则导出错误信息,并跳回到帧头匹配阶段;
c)当前帧支持帧序号检测,根据帧序号对于的两个字节提取帧序号的值,根据上一个正常的帧的序号值和当前帧的序号值之间的关系判断数据丢失或破坏异常状况,采取补发数据或导出错误信息措施;
d)处理帧数据包,提取数据包中的第1-4个字节,转化为一个对应的int类型变量,第5-6个字节转化为一个对应的unsigned short类型变量,第7-14个字节转化为一个double类型变量,然后分别根据每个帧变量的变量名称向输出流输出变量。至此当前帧的匹配工作完成,重新回到帧头匹配阶段;
7)重复步骤6),解析整个数据流。
Claims (1)
1.一种多速率通讯数据流格式的解析方法,包括以下步骤:
帧的数据结构包括帧头、帧类别ID、帧校验码、帧序号和帧数据包:
1)定义帧头,帧头由若干个在一次传输过程中固定统一的字节组成;
2)定义帧类别ID,帧类别ID由一个字节组成,采用一个无符号的8位整形来表示帧类别ID的值;
3)定义帧校验码,帧校验码由一个字节组成,采用一个字节的无符号整形表示帧校验码的值,帧校验码的值和对应帧其它的字节满足校验算法所定义的函数关系;
4)定义帧序号,帧序号由一到四个字节组成,采用一个8-32位整形值表示当前帧从通迅设备发出的序号;
5)定义帧数据包,帧数据包由若干个帧变量体组成,每个帧变量体具有1-8个字节,帧变量体包含了变量名称、变量的数据类型、变量在帧数据包中位置偏移、变量对应的缓存空间,变量对应的缓存空间的字节长度;
6)将从通讯端读入的待解析的数据流字节与定义的帧头比较,进行帧头匹配,若帧头不匹配,则再读入由帧头所定义的字节长度的数据进行帧头匹配,若帧头匹配成功,则读入待解析数据流下一个字节,该字节的值即为帧类别ID的值,然后根据帧类别ID的值选择相应的帧的数据结构来处理后续的字节序列,处理步骤如下:
a)根据当前帧所指定的字节个数读取指定长度的字节序列;
b)根据当前帧所规定的校验算法执行校验,若不通过,则导出错误信息,并跳回到帧头匹配阶段;当步骤b)校验通过后进行步骤c);
c)判断当前帧是否支持帧序号检测,若支持则判断是否存在数据丢失或破坏异常状况,并采取补发数据与导出错误信息措施;当步骤c)检测通过后进行步骤d);
d)处理帧数据包,根据变量在帧数据包中的位置偏移来找到变量所对应的内存空间,根据由变量指定的字节长度取得字节序列,然后根据变量对应的数据类型来将字节序列转化成对应的变量值,最后根据变量名称向变量输出流输出变量;重复解析当前帧中所有的变量体,直到一帧的匹配工作完成,重新回到帧头匹配阶段;
7)重复步骤6),解析整个数据流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101003203A CN101588370B (zh) | 2009-07-02 | 2009-07-02 | 一种多速率通讯数据流格式的解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101003203A CN101588370B (zh) | 2009-07-02 | 2009-07-02 | 一种多速率通讯数据流格式的解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101588370A CN101588370A (zh) | 2009-11-25 |
CN101588370B true CN101588370B (zh) | 2012-03-28 |
Family
ID=41372433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101003203A Expired - Fee Related CN101588370B (zh) | 2009-07-02 | 2009-07-02 | 一种多速率通讯数据流格式的解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101588370B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187420B (zh) * | 2015-08-27 | 2018-03-30 | 哈尔滨工业大学 | 一种基于rs422总线的通讯协议匹配方法 |
CN106713167A (zh) * | 2015-11-16 | 2017-05-24 | 中兴通讯股份有限公司 | 数据码流发送方法及装置 |
CN106095910B (zh) * | 2016-06-08 | 2018-01-19 | 广东欧珀移动通信有限公司 | 一种音频文件的标签信息解析方法、装置及终端 |
CN106412956B (zh) * | 2016-10-19 | 2019-11-15 | 深圳市极致汇仪科技有限公司 | 多数据聚合的收发测试 |
CN109981213A (zh) * | 2017-12-27 | 2019-07-05 | 上海力声特医学科技有限公司 | 应用于人工耳蜗调机系统和语音处理器的通信方法 |
CN112463672A (zh) * | 2020-11-04 | 2021-03-09 | 贵州电网有限责任公司 | 数据传输方法、装置及介质 |
CN112463706B (zh) * | 2020-12-07 | 2024-05-31 | 上海电气集团股份有限公司 | 一种数据发送、接收方法及通信终端 |
CN112860305A (zh) * | 2021-02-07 | 2021-05-28 | 三一智矿科技有限公司 | 矿山数据采集系统、方法、存储介质及计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262304A (zh) * | 2008-04-24 | 2008-09-10 | 浙江大学 | 一种基于通用通讯数据格式的数据流解析方法 |
CN101330446A (zh) * | 2007-06-21 | 2008-12-24 | 中兴通讯股份有限公司 | 增强专用传输信道的帧协议层帧的解析方法 |
-
2009
- 2009-07-02 CN CN2009101003203A patent/CN101588370B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330446A (zh) * | 2007-06-21 | 2008-12-24 | 中兴通讯股份有限公司 | 增强专用传输信道的帧协议层帧的解析方法 |
CN101262304A (zh) * | 2008-04-24 | 2008-09-10 | 浙江大学 | 一种基于通用通讯数据格式的数据流解析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101588370A (zh) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101588370B (zh) | 一种多速率通讯数据流格式的解析方法 | |
US6496540B1 (en) | Transformation of parallel interface into coded format with preservation of baud-rate | |
US8060652B2 (en) | Extensible binary mark-up language for efficient XML-based data communications and related systems and methods | |
CN100353690C (zh) | 使用普通网络分组发送多个8b/10b位流的多路传输系统 | |
CN101309258B (zh) | 高速以太网介质无关接口码块的分发和接收方法及装置 | |
CN101651683B (zh) | 一种信令消息解析源代码生成方法 | |
CN109818930B (zh) | 一种基于tcp协议的通讯文本数据传输方法 | |
US7630399B2 (en) | Apparatus and method for recognizing frame check sequence in generic framing procedure encapsulation mode | |
CN101366181A (zh) | 高速传输系统 | |
US7835401B2 (en) | System and method for inverse multiplexing using transcoding and frame alignment markers | |
CN104579541B (zh) | 一种无线通信系统媒体接入层协议数据单元的构造方法 | |
US6930621B2 (en) | Method to overlay a secondary communication channel onto an encoded primary communication channel | |
CN102196321A (zh) | 100ge数据在光传送网中的传送方法和数据发送装置 | |
JPH05122282A (ja) | データ伝送方式 | |
CN104052588B (zh) | 用于为利用fec编码器的系统实现按ieee1588的精确时间戳的方法 | |
US20080026734A1 (en) | Method And System For Communicating Information Within A Physical Link Layer | |
CN108494613B (zh) | 一种警用数字集群系统间互联互通的测试系统和方法 | |
ITTO20070508A1 (it) | Procedimento per la codifica di dati numerici in un elaboratore e procedimento per la codifica di strutture dati per la trasmissione in un sistema di telecomunicazioni, basato su detto procedimento di codifica di dati numerici | |
CN108833321A (zh) | 基于差分相位波形匹配的编码cpm信号码块同步方法 | |
CN109412895B (zh) | 一种检测e1/t1链路时隙绑定方式的方法及设备 | |
CN104079450B (zh) | 特征模式集生成方法及装置 | |
CN114039705B (zh) | 一种利用e1线路透传低速语音数据的方法 | |
CN116074232A (zh) | 一种基于dbc文件解析生成车载网关路由表的处理方法 | |
US8363541B2 (en) | Serial digital communication protocol | |
CN102769512A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120328 Termination date: 20140702 |
|
EXPY | Termination of patent right or utility model |