CN113225320A - 一种用户可配置报文格式保密的网络报文解析方法 - Google Patents
一种用户可配置报文格式保密的网络报文解析方法 Download PDFInfo
- Publication number
- CN113225320A CN113225320A CN202110431476.0A CN202110431476A CN113225320A CN 113225320 A CN113225320 A CN 113225320A CN 202110431476 A CN202110431476 A CN 202110431476A CN 113225320 A CN113225320 A CN 113225320A
- Authority
- CN
- China
- Prior art keywords
- message
- data
- bit
- field
- configuration file
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 37
- 238000004891 communication Methods 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 13
- 230000033772 system development Effects 0.000 abstract description 5
- 238000012423 maintenance Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 10
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于网络报文解析领域,具体涉及一种用户可配置报文格式保密的网络报文解析方法。包括如下步骤:(1):报文数据字段规范化定义:参考实际网络通信报文格式,定义具有泛用性的报文配置文件;报文配置文件中的通信协议头部结构信息固定,定义规范化需用户填写的报文数据格式;(2):用于添加报文格式配置文件;(3):构建按位解析报文算法;(4):接收报文数据,调用步骤(3)构建的按位解析报文算法进行按位读取。本发明解决了因为系统开发时机密报文无法提供给开发人员和通讯设备更新报文格式无法及时配置而造成的系统开发和维护成本升高的问题,解决了因为报文格式更改后解析效率低下的问题。
Description
技术领域
本发明属于网络报文解析领域,具体涉及一种用户可配置报文格式保密的网络报文解析方法。
背景技术
网络通信主要依赖报文传输,其中包含传输控制协议(英语:TransmissionControl Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,因为其稳定可靠的传输特性,多应用于大文件分包传输、访问网页和发送邮件等;用户数据报协议(user datagram protocol,UDP)是一种无连接的传输层协议,提供简单不可靠的信息传送服务。由于UDP报文在传输的过程中延迟小且数据传输效率高,所以雷达系统、船舶系统等这类耦合度高且各设备之间相互关联的复杂实时通讯系统,一般依赖UDP进行数据通信任务。
传统配置报文需要用户将报文格式告知系统开发人员,由开发人员在源代码中对报文格式进行定义后,再进行规定格式下的报文通信。随着现代军事科技的进步,各个设备之间数据量增大,报文种类繁多,且报文针对新型设备的对接需要经常对报文数据字段的内容进行更改;另一方面一些机密报文格式无法告知系统开发人员进行报文配置,对实际系统开发也增加了成本。传统的报文解析方法,即以字符串解析的方式,在程序中对每一条报文都写一段解析代码从而实现对数据报文中的数据字段逐个进行解析。这些解析代码逻辑相似,代码繁琐,且仅能以字节为最小单位进行解析。当报文中的数据字段发生变化时,只能对相应的解析代码进行修改。所以对于如何动态地配置报文数据字段进行解析以及如何快速实时地通过解析对应数据的要求也在不断提高。
专利方面,申请号为CN201611027224.7的中国发明专利申请了一种报文配置及输出方法及装置,使用XML文件进行报文配置,但报文量过多时XML文件在读取与更改时会造成大量的时间开销和内存开销;申请号为CN201010162662.0的中国发明专利申请了一种汽车报文配置处理系统及工作方法,基于汽车部件通讯,具有一定参考价值,但应用面单一;申请号为CN201610655079.0的中国发明了专利申请了一种可配置的报文解析系统及方法,基于客户端和服务器模式,仍采用传统按字节读取的方式。
综上所述,目前定义报文与解析报文仍然需要开发人员根据报文格式书写重复的代码来定义与解析,机密报文需要透露给开发人员,一旦出现通讯设备报文格式更新,需要对相应源代码进行修改,费时费力。现有专利虽然都提出了报文配置与解析方法,但是实际应用中,会存在系统时间、空间开销大,应用场景单调,因按字节解析而数据冗余的问题。
发明内容
本发明的目的在于提供一种用户可配置报文格式保密的网络报文解析方法,解决了因为系统开发时机密报文无法提供给开发人员和通讯设备更新报文格式无法及时配置而造成的系统开发和维护成本升高的问题,解决了因为报文格式更改后解析效率低下的问题。
实现本发明目的的技术解决方案为:一种用户可配置报文格式保密的网络报文解析方法,包括如下步骤:
步骤(1):报文数据字段规范化定义:参考实际网络通信报文格式,定义具有泛用性的报文配置文件;报文配置文件中的通信协议头部结构信息固定,定义规范化需用户填写的报文数据格式;
步骤(2):用于添加报文格式配置文件:设计带有配置界面的配置模块,用户在配置界面上根据步骤(1)对报文数据格式的定义,将所有数据字段信息写入报文配置文件中,生成报文数据;
步骤(3):构建按位解析报文算法;
步骤(4):接收报文数据,调用步骤(3)构建的按位解析报文算法进行按位读取。
进一步的,通信协议头部结构信息包括源端口,目的端口,长度和检验值;
需用户填写的报文数据包括数据结构类型、起始位、终止位、长度、单位和字段名称。
进一步的,步骤(3)中构建按位解析报文算法具体为:
欲进行按位读取数据,依赖报文配置中某个字段的起始位数begin_bit和终止位数end_bit,则字段数据的位数长度bit_length可计算为
bit_length=end_bit-begin_bit+1
最后通过位数bit_length读取到的数据值则为报文中该字段实际储存的准确数据值。
进一步的,所述步骤(4)具体包括如下步骤:
步骤(41):首先读取报文配置文件,随后开始接收报文;
步骤(42):获取报文首部的报文类型和报文总长度,与报文配置文件进行比对,是否一致,若不一致,则报文配置文件不符合此类报文,略过后读取一下批次报文;若一致,则进行下一步;
步骤(43):读取配置文件中的报文结构体,获取字段类型和字段名称,根据字段类型的大小为接收到的报文数据申请内存,以便有足够空间进行缓存;
步骤(44):调取按位解析报文算法,对缓存区的数据按照字段顺序进行解析,最终输出每个字段的数据值,并合并到缓存区数组当中,最终输出该数组。
本发明与现有技术相比,其显著优点在于:
(1)支持对系统通信自定义添加未定义过的报文格式;对于需要网络报文通信的系统,可以利用此方法省去通信报文格式定义的代码开发,可以降低网络通信类系统的开发与维护成本。
(2)对各种设备之间通信的网络报文定义规范化格式;通过参考实际网络通信报文格式,规范出适用于大多军用和民用场景的报文格式定义,无论是雷达侦测数据报文,气象数据报文,或是物联网数据报文,增加了报文配置的泛用性。
(3)摒弃传统按字节读取的报文解析;位是计算机中最小的单位,按位存储相对于字节存储可以减少空间浪费,并且在读取数据时,通过配置文件中的起始位与终止位可以快速准确定位字段存储位置,所以设计了按位解析算法,提高报文解析效率与准确率并有效减少数据冗余。
附图说明
图1为气象报文定义示例图。
图2为本发明的报文解析流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
实现本发明目的的技术解决方案为:首先由用户进行报文格式配置,设置报文中源端口、目的端口、长度、检验值等TCP或UDP(通信协议)头部结构信息,各个字段的数据结构类型、起始位、终止位、长度、单位和字段名称等配置文件数据信息(需用户填写),之后依序保存在配置文件中。欲进行某报文解析时,选择对应报文配置文件,可以自动生成解析报文的结构体,相较于传统按字节解析方式,可以根据数据字段起始终止位数实现以位作为最小解析单位对报文进行快速而准确解析。具体步骤如下:
第一步,报文数据字段规范化定义。
参考实际网络通信报文格式,定义具有泛用性的报文配置文件。报文传输需要用到TCP和UDP这两种传输层协议,例如在气象报文中,多用UDP协议传输,UDP报文首部定义源端口和目的端口,说明报文发送的源头和终点,气象数据需要放在UDP报文的报文数据部分,根据应用场景的不同,所用到的通信报文格式也不同。通过分析不同场景下网络通信报文格式,定义一种适用于多场景的报文配置与解析的方法,所以需要规范化用户填写的报文数据格式,提供解析时需要的关键参数。所以依据TCP和UDP网络通信报文结构主要包括报文首部和报文数据。报文首部格式固定,包括源端口、目的端口,其余部分依照TCP和UDP报文格式进行区分。报文数据部分则由用户依据具体通信需求进行定义,但必须提供字段名、字段类型、数据起始位、数据终止位、数据单位,对其他信息可进行备注扩展。
第二步,用户添加报文格式配置文件。
在进行报文配置时,设计了报文配置模块,提供简洁明了的配置界面,用户在填写配置文件中的指定信息后,该模块便可以将所有的数据字段信息写入配置文件中。支持对配置文件中的字段详情和顺序进行自定义调整,调整后,模块对报文数据总长度和各自字段的起始位和终止位重新进行计算。气象报文格式配置文件示例如图1,其中报文数据部分字段名称包括报文标志、报文长度、时间、温度、湿度、风向、大气波导探测距离,各字段的数据存放起始位与终止位,以及各字段的相应单位。
第三步,构建按位解析报文算法。
欲进行按位读取数据,依赖报文配置中某个字段的起始位数begin_bit和终止位数end_bit,则字段数据的位数长度bit_length可计算为
bit_length=end_bit-begin_bit+1 (1)
最后通过位数bit_length读取到的数据值则为报文中该字段实际储存的准确数据值。
第四步,接收报文数据,调用报文解析算法。
通过报文配置模块配置后,可对已配置好的所有报文进行解析。解析的具体流程如图2所示。
(1)首先读取报文配置文件,随后开始接收报文。
(2)获取报文首部的报文类型和报文总长度,与报文配置文件进行比对,是否一致,若不一致,则报文配置文件不符合此类报文,略过后读取一下批次报文;若一致,则进行下一步。
(3)读取配置文件中的报文结构体,获取字段类型和字段名称,根据字段类型的大小为接收到的报文数据申请内存,以便有足够空间进行缓存。
基于C++开发语言,通常利用memcpy函数进行内存拷贝,函数的功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中。
void*memcpy(void*destin,void*source,unsigned n),即从源source中拷贝n个字节到目标destin中。通过配置文件中的字段类型定义source,destin为解析时的缓存区,n则上一步中的bit_length。
也可以使用位偏移的方式直接获取到起始位与终止位之间的数据值,即data[i+1]=data[i]>>bit_length,其中data[i]为解析出的数据值,则求下一个数据值data[i+1]时,就向右偏移bit_length位即可。
(4)调取按位解析报文算法,对缓存区的数据按照字段顺序进行解析,最终输出每个字段的数据值,并合并到缓存区数组当中,最终输出该数组。
本发明提供的一种用户可配置报文格式保密的网络报文解析方法,通过参考实际网络通信报文格式,定义具有泛用性的报文配置文件,让用户填写配置文件中的报文格式,再基于配置文件的起始位与终止位调用按位解析的报文解析算法而得出报文数据信息。解决了因为系统开发时机密报文无法提供给开发人员和通讯设备更新报文格式无法及时配置而造成的系统开发和维护成本升高的问题,解决了因为报文格式更改后解析效率低下的问题。
Claims (4)
1.一种用户可配置报文格式保密的网络报文解析方法,其特征在于,包括如下步骤:
步骤(1):报文数据字段规范化定义:参考实际网络通信报文格式,定义具有泛用性的报文配置文件;报文配置文件中的通信协议头部结构信息固定,定义规范化需用户填写的报文数据格式;
步骤(2):用于添加报文格式配置文件:设计带有配置界面的配置模块,用户在配置界面上根据步骤(1)对报文数据格式的定义,将所有数据字段信息写入报文配置文件中,生成报文数据;
步骤(3):构建按位解析报文算法;
步骤(4):接收报文数据,调用步骤(3)构建的按位解析报文算法进行按位读取。
2.根据权利要求1所述的方法,其特征在于,通信协议头部结构信息包括源端口,目的端口,长度和检验值;
需用户填写的报文数据包括数据结构类型、起始位、终止位、长度、单位和字段名称。
3.根据权利要求2所述的方法,其特征在于,步骤(3)中构建按位解析报文算法具体为:
欲进行按位读取数据,依赖报文配置中某个字段的起始位数begin_bit和终止位数end_bit,则字段数据的位数长度bit_length可计算为
bit_length=end_bit-begin_bit+1
最后通过位数bit_length读取到的数据值则为报文中该字段实际储存的准确数据值。
4.根据权利要求3所述的方法,其特征在于,所述步骤(4)具体包括如下步骤:
步骤(41):首先读取报文配置文件,随后开始接收报文;
步骤(42):获取报文首部的报文类型和报文总长度,与报文配置文件进行比对,是否一致,若不一致,则报文配置文件不符合此类报文,略过后读取一下批次报文;若一致,则进行下一步;
步骤(43):读取配置文件中的报文结构体,获取字段类型和字段名称,根据字段类型的大小为接收到的报文数据申请内存,以便有足够空间进行缓存;
步骤(44):调取按位解析报文算法,对缓存区的数据按照字段顺序进行解析,最终输出每个字段的数据值,并合并到缓存区数组当中,最终输出该数组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110431476.0A CN113225320A (zh) | 2021-04-21 | 2021-04-21 | 一种用户可配置报文格式保密的网络报文解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110431476.0A CN113225320A (zh) | 2021-04-21 | 2021-04-21 | 一种用户可配置报文格式保密的网络报文解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113225320A true CN113225320A (zh) | 2021-08-06 |
Family
ID=77088242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110431476.0A Pending CN113225320A (zh) | 2021-04-21 | 2021-04-21 | 一种用户可配置报文格式保密的网络报文解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113225320A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338747A (zh) * | 2021-12-31 | 2022-04-12 | 四川启睿克科技有限公司 | 支持设备自定义上报数据报文的云端场景控制系统及方法 |
CN115334177A (zh) * | 2022-07-07 | 2022-11-11 | 浙江众合科技股份有限公司 | 基于xml配置文件递归实现的二进制数据报文解析方法 |
CN115412619A (zh) * | 2022-07-21 | 2022-11-29 | 浙江众合科技股份有限公司 | 一种用户可配置报文格式的日志报文实时监听及解析方法 |
CN115412619B (zh) * | 2022-07-21 | 2024-06-04 | 浙江众合科技股份有限公司 | 一种用户可配置报文格式的日志报文实时监听及解析方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254392A (zh) * | 2016-09-28 | 2016-12-21 | 天津轻工职业技术学院 | 基于动态可自定义的exTLV 报文传输协议的通信方法 |
CN109561106A (zh) * | 2018-12-29 | 2019-04-02 | 北京工业大学 | 一种船舶通信报文实时解析过滤方法 |
-
2021
- 2021-04-21 CN CN202110431476.0A patent/CN113225320A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254392A (zh) * | 2016-09-28 | 2016-12-21 | 天津轻工职业技术学院 | 基于动态可自定义的exTLV 报文传输协议的通信方法 |
CN109561106A (zh) * | 2018-12-29 | 2019-04-02 | 北京工业大学 | 一种船舶通信报文实时解析过滤方法 |
Non-Patent Citations (1)
Title |
---|
郭梓旸 等: "船舶通信报文实时动态按位解析方法", 《高技术通讯》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338747A (zh) * | 2021-12-31 | 2022-04-12 | 四川启睿克科技有限公司 | 支持设备自定义上报数据报文的云端场景控制系统及方法 |
CN114338747B (zh) * | 2021-12-31 | 2023-07-25 | 四川启睿克科技有限公司 | 支持设备自定义上报数据报文的云端场景控制系统及方法 |
CN115334177A (zh) * | 2022-07-07 | 2022-11-11 | 浙江众合科技股份有限公司 | 基于xml配置文件递归实现的二进制数据报文解析方法 |
CN115334177B (zh) * | 2022-07-07 | 2023-12-05 | 浙江众合科技股份有限公司 | 基于xml配置文件递归实现的二进制数据报文解析方法 |
CN115412619A (zh) * | 2022-07-21 | 2022-11-29 | 浙江众合科技股份有限公司 | 一种用户可配置报文格式的日志报文实时监听及解析方法 |
CN115412619B (zh) * | 2022-07-21 | 2024-06-04 | 浙江众合科技股份有限公司 | 一种用户可配置报文格式的日志报文实时监听及解析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1196856B1 (en) | Method and apparatus for monitoring traffic in a network | |
US7636891B2 (en) | Method for paginating a document structure of a document for viewing on a mobile communication device | |
US7277890B2 (en) | Method of finding a search string in a document for viewing on a mobile communication device | |
US8266252B2 (en) | Method for document delivery to a mobile communication device | |
US8117238B2 (en) | Method of delivering an electronic document to a remote electronic device | |
CN1969525B (zh) | 用于减少通信网络上的传输量的通信服务器、方法和系统 | |
US8583704B2 (en) | Systems and methods for efficient data transfer | |
KR100289520B1 (ko) | 웹브라우저애플리케이션의성능향상방법및장치,클라이언트/서버시스템의성능향상방법및장치 | |
CN101287013B (zh) | 一种更新Web页面的方法和Web代理设备 | |
CN111352889B (zh) | 一种基于mctp协议的设备管理方法、设备、装置和介质 | |
US20060167969A1 (en) | Data caching based on data contents | |
CN113225320A (zh) | 一种用户可配置报文格式保密的网络报文解析方法 | |
JP2008269631A (ja) | 拡張可能マークアップ言語(xml)ドキュメントを処理するシステムおよび方法 | |
JP2004171574A (ja) | メッセージの微細分割方法 | |
US8086660B2 (en) | Distributed data model | |
US20030110285A1 (en) | Apparatus and method of generating an XML document to represent network protocol packet exchanges | |
US20030110279A1 (en) | Apparatus and method of generating an XML schema to validate an XML document used to describe network protocol packet exchanges | |
CN109474678A (zh) | 一种信息传送方法及装置 | |
US6968396B1 (en) | Reloading of hypermedia pages by sending only changes | |
Rosu | A-soap: Adaptive soap message processing and compression | |
US6571292B1 (en) | Integration of structured document content with legacy 3270 applications | |
US20070253621A1 (en) | Method and system to process a data string | |
US7769876B2 (en) | Apparatus and method of using XML documents to perform network protocol simulation | |
US20040015780A1 (en) | Position-independent access to data elements in an electronic document | |
CA2479593C (en) | Method for paginating a document structure of a document for viewing on a mobile communication device |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210806 |
|
RJ01 | Rejection of invention patent application after publication |