CN104092659A - 一种通用协议数据解析方法 - Google Patents
一种通用协议数据解析方法 Download PDFInfo
- Publication number
- CN104092659A CN104092659A CN201410242910.0A CN201410242910A CN104092659A CN 104092659 A CN104092659 A CN 104092659A CN 201410242910 A CN201410242910 A CN 201410242910A CN 104092659 A CN104092659 A CN 104092659A
- Authority
- CN
- China
- Prior art keywords
- data analysis
- configuration file
- analysis method
- data
- puppy parc
- 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
Landscapes
- Communication Control (AREA)
Abstract
本发明公开一种通用协议数据解析方法,包括:建立对数据解析协议进行定义的配置文件;读取所述配置文件;读取相关数据;按照所述配置文件中对相关参数变量的定义进行数据解析。本发明实施例的通用协议数据解析方法在数据解析协议有升级或改动时,可以只针对用于定义参数变量的配置文件进行改动,无需修改用于实现逻辑处理的解析程序源代码,无需重新编译,即可运行解析程序,实现了定义与逻辑处理的分离;使用通用公式对能够对各个具体参数进行各种各样的数据解析,能够适用各种不同的解析方法以及各种不同的解析协议,通用性强。
Description
技术领域
本发明涉及网络数据通信技术领域,具体涉及一种通用协议数据解析方法。
背景技术
实时通讯系统中需要进行协议数据的解析。普通协议数据解析方法中,不同协议数据的解析和解析程序源代码的内容是密切相关的,如果协议改变了,解析程序源代码也需要做出相应的修改,然后重新进行代码编译,才能发布程序。
图1是现有技术的空调监控系统的工作流程示意图。如图1和图2所示,在现有技术的空调监控系统中,典型的工作流程是:空调设备发送十六进制数据给监控平台,然后由监控平台根据相应的协议进行数据解析,最终解析出这些数据的意义。
针对上述情况,传统的数据解析方法如下:
第一步:读取空调设备发送的十六进制数据,并将其保存到解析程序相应的数组里面;
第二步:按照相应的数据解析协议申请多个有特定含义的变量,如防冻温度变量、系统信息变量、故障名称变量、冷却水进水温度变量、冷却水出水温度变量、机型编码变量、电压变量、电流变量、冷凝压力变量等,并利用第一步中的数组对各个变量进行赋值,如图2所示,图2是现有技术的某空调机型的Mobus协议示意图;
第三步:将上述各个变量的值与相应显示界面的名称进行对应,并一起进行显示输出。
上述方法中,对协议的定义放在了解析程序的源代码中,一旦相应的数据解析协议发生改变,例如增加参数或减少参数,就必须重新定义各个变量,从而必须重新编写解析程序源代码,才能正确解析数据。这样给协议数据的解析带来不便,使得传统的协议数据解析方法不具备通用性。
发明内容
本发明实施例中提供一种通用协议数据解析方法,使得能够在不修改解析程序源代码的基础上,实现对各种不同参数进行各种各样解析的目的。
为解决上述技术问题,本发明实施例提供一种通用协议数据解析方法,其步骤如下:
步骤(1)建立对数据解析协议进行定义的配置文件;
步骤(2)读取所述配置文件;
步骤(3)读取相关数据;
步骤(4)按照所述配置文件中对相关参数变量的定义进行数据解析。
作为优选,所述方法还包括:将数据解析结果通过显示界面进行输出。
作为优选,所述方法还包括:将数据解析结果存入数据库。
作为优选,所述方法还包括:根据数据解析结果操作相关设备。
作为进一步的优选,所述设备为空调设备。
作为优选,所述步骤(3)中的相关数据为空调设备的相关数据。
作为优选,所述步骤(1)中的配置文件为文本文件。
作为优选,所述配置文件中对相关参数变量的定义的内容包括参数变量的名称、参数变量的单位和参数变量的取值。
作为进一步的优选,所述参数变量的取值用通用公式进行表示。
作为再进一步的优选,在所述通用公式中设定一个变量word xx,代表在协议中需要取值的位置是第xx个字节,所述通用公式可以对所述变量word xx进行任意的算术运算。
所谓配置文件就是对数据解析协议进行定义的文件,对数据解析协议进行定义就是指对相关参数变量数据进行定义。其一般为高级语言编写的文本文件,但也可以是低级语言编写的源代码文件。其关键在于与解析协议中的其它内容例如运算程序内容分别开来单独设置,以便于单独更新或升级。
本发明至少具有以下有益效果:
由于本发明所述通用协议数据解析方法中对数据解析协议进行定义的配置文件是单独设置的,需要解析时将配置文件读到解析程序中,然后根据配置文件中的相关协议表达式解析数据。这种方法在数据解析协议有升级或改动时,可以只针对用于定义参数变量的配置文件进行改动,无需修改用于实现逻辑处理的解析程序源代码,无需重新编译,即可运行解析程序,实现了定义与逻辑处理的分离。
使用单独的文本文件对数据解析协议进行定义,无需将其编写在解析程序源代码中,可以实现配置文件与解析程序源代码的分离,使得解析程序的源代码简洁易懂。
使用通用公式能够对各个具体参数进行各种各样的数据解析,能够适用各种不同的解析方法以及各种不同的解析协议,通用性强。
附图说明
图1是现有技术的空调监控系统的工作流程示意图。
图2是现有技术的某空调机型的Mobus协议示意图。
图3是以空调为例的本发明实施例的通用协议数据解析方法的流程示意图。
图4是以空调为例的本发明实施例的通用协议数据解析方法的一个配置文件的示意图。
具体实施方式
下面结合具体实施例对本发明作进一步详细描述,但不作为对本发明的限定。
实施例
图3是以空调为例的本发明实施例的通用协议数据解析方法的流程示意图,图4是以空调为例的本发明实施例的通用协议数据解析方法的一个配置文件的示意图。在本实施例的空调监控系统中,空调设备发送二进制数据给监控平台,然后由监控平台根据相应的协议进行数据解析,最终解析出这些数据的意义。具体实现方法如下:
第一步:建立对空调设备数据解析协议进行定义的配置文件。本实施例中的配置文件是如图4所示的一个单独的文本文件,在配置文件中,对各个相关的参数变量进行定义。
例如,将空调设备运行参数“冷却水进水最低温度”的单位定义为摄氏度,将其取值用通用公式定义为(word37/10+word77*8)-1,其中word37表示在协议中需要取值的位置是第37个字节,word77表示在协议中需要取值的位置是第77个字节。这个公式的含义如下:数据解析协议的第37个字节除以10、数据解析协议的第77个字节乘以8,将以上两者之和减去1,计算得到冷却水进水最低温度值;
又如,将空调设备运行参数“低压压力”的单位定义为千帕,将其取值用通用公式定义为word38/10,这个公式的含义如下:将数据解析协议的第38个字节除以10,计算得到低压压力值;
再如,将空调设备运行参数“高压压力”的单位定义为千帕,将其取值用通用公式定义为word2*word3+10,这个公式的含义如下:将协议的第2个字节乘以协议的第3个字节,再加10,计算得到高压压力值。
上述通用公式的计算方式并不唯一,本领域技术人员也可以通过其他通用公式对各个运行参数进行定义。
第二步:将第一步中建立好的对空调设备数据解析协议进行定义的配置文件读到解析程序中。
第三步:读取空调设备发送过来的相关的二进制数据。
第四步:按照配置文件中对相关参数变量的定义进行数据解析。
在上述第四步之后还可以包括将数据解析结果通过显示界面进行输出,将数据解析结果存入数据库,和/或根据数据解析结果操作相关设备。
由于上述数据解析方法中对数据解析协议进行定义的配置文件是单独设置的,需要解析时将配置文件读到解析程序中,然后根据配置文件中的相关协议表达式解析数据。这种方法在数据解析协议有升级或改动时,可以只针对用于定义参数变量的配置文件进行改动,无需修改用于实现逻辑处理的解析程序源代码,无需重新编译,即可运行解析程序,实现了定义与逻辑处理的分离。
使用单独的文本文件对数据解析协议进行定义,无需将其编写在解析程序源代码中,可以实现配置文件与解析程序源代码的分离,使得解析程序的源代码简洁易懂。
使用通用公式对能够对各个具体参数进行各种各样的数据解析,能够适用各种不同的解析方法以及各种不同的解析协议,通用性强。
当然,以上是本发明的优选实施方式。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明基本原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种通用协议数据解析方法,其特征在于,包括:
步骤(1)建立对数据解析协议进行定义的配置文件;
步骤(2)读取所述配置文件;
步骤(3)读取相关数据;
步骤(4)按照所述配置文件中对相关参数变量的定义进行数据解析。
2.如权利要求1所述的通用协议数据解析方法,其特征在于,还包括:将数据解析结果通过显示界面进行输出。
3.如权利要求1所述的通用协议数据解析方法,其特征在于,还包括:将数据解析结果存入数据库。
4.如权利要求1所述的通用协议数据解析方法,其特征在于,还包括:根据数据解析结果操作相关设备。
5.如权利要求4所述的通用协议数据解析方法,其特征在于,所述设备为空调设备。
6.如权利要求1所述的通用协议数据解析方法,其特征在于,所述步骤(3)中的相关数据为空调设备的相关数据。
7.如权利要求1所述的通用协议数据解析方法,其特征在于,所述步骤(1)中的配置文件为文本文件。
8.如权利要求1至7之一所述的通用协议数据解析方法,其特征在于,所述配置文件中对相关参数变量的定义的内容包括参数变量的名称、参数变量的单位和参数变量的取值。
9.如权利要求8所述的通用协议数据解析方法,其特征在于,所述参数变量的取值用通用公式进行表示。
10.如权利要求9所述的通用协议数据解析方法,其特征在于,在所述通用公式中设定一个变量word xx,代表在协议中需要取值的位置是第xx个字节,所述通用公式可以对所述变量word xx进行任意的算术运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410242910.0A CN104092659A (zh) | 2014-06-03 | 2014-06-03 | 一种通用协议数据解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410242910.0A CN104092659A (zh) | 2014-06-03 | 2014-06-03 | 一种通用协议数据解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104092659A true CN104092659A (zh) | 2014-10-08 |
Family
ID=51640341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410242910.0A Pending CN104092659A (zh) | 2014-06-03 | 2014-06-03 | 一种通用协议数据解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104092659A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159723A (zh) * | 2015-09-14 | 2015-12-16 | 四川长虹电器股份有限公司 | 中央空调数据采集方法 |
CN106302697A (zh) * | 2016-08-11 | 2017-01-04 | 珠海格力电器股份有限公司 | 一种空调数据的解析方法、装置及空调 |
CN106776512A (zh) * | 2016-12-02 | 2017-05-31 | 浪潮通信信息系统有限公司 | 一种通用的文本数据处理方法 |
CN106899688A (zh) * | 2017-03-15 | 2017-06-27 | 中国联合网络通信集团有限公司 | 一种物联网数据交互方法、物联网设备和物联网平台 |
CN108494752A (zh) * | 2018-03-09 | 2018-09-04 | 万帮充电设备有限公司 | 一种协议的解析方法和装置 |
CN109818926A (zh) * | 2018-12-25 | 2019-05-28 | 西安长远电子工程有限责任公司 | 一种无需预先规划的通信方法 |
CN110032535A (zh) * | 2018-12-28 | 2019-07-19 | 北京润科通用技术有限公司 | 一种串口数据解析方法及装置 |
CN108954686B (zh) * | 2018-07-27 | 2020-07-03 | 宁波奥克斯电气股份有限公司 | 一种空调控制装置、方法及空调器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030204590A1 (en) * | 2002-04-30 | 2003-10-30 | Canon Kabushiki Kaisha | Network device management system and method of controlling same |
CN1713592A (zh) * | 2004-06-27 | 2005-12-28 | 华为技术有限公司 | 一种通用数据采集的实现方法 |
CN1925638A (zh) * | 2006-09-18 | 2007-03-07 | 华为技术有限公司 | 一种短消息的处理终端、方法及跟踪系统 |
CN101296119A (zh) * | 2008-06-10 | 2008-10-29 | 中兴通讯股份有限公司 | 一种消息跟踪系统及方法 |
-
2014
- 2014-06-03 CN CN201410242910.0A patent/CN104092659A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030204590A1 (en) * | 2002-04-30 | 2003-10-30 | Canon Kabushiki Kaisha | Network device management system and method of controlling same |
CN1713592A (zh) * | 2004-06-27 | 2005-12-28 | 华为技术有限公司 | 一种通用数据采集的实现方法 |
CN1925638A (zh) * | 2006-09-18 | 2007-03-07 | 华为技术有限公司 | 一种短消息的处理终端、方法及跟踪系统 |
CN101296119A (zh) * | 2008-06-10 | 2008-10-29 | 中兴通讯股份有限公司 | 一种消息跟踪系统及方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159723A (zh) * | 2015-09-14 | 2015-12-16 | 四川长虹电器股份有限公司 | 中央空调数据采集方法 |
CN106302697A (zh) * | 2016-08-11 | 2017-01-04 | 珠海格力电器股份有限公司 | 一种空调数据的解析方法、装置及空调 |
CN106776512A (zh) * | 2016-12-02 | 2017-05-31 | 浪潮通信信息系统有限公司 | 一种通用的文本数据处理方法 |
CN106899688A (zh) * | 2017-03-15 | 2017-06-27 | 中国联合网络通信集团有限公司 | 一种物联网数据交互方法、物联网设备和物联网平台 |
CN108494752A (zh) * | 2018-03-09 | 2018-09-04 | 万帮充电设备有限公司 | 一种协议的解析方法和装置 |
CN108494752B (zh) * | 2018-03-09 | 2021-03-16 | 万帮星星充电科技有限公司 | 一种协议的解析方法和装置 |
CN108954686B (zh) * | 2018-07-27 | 2020-07-03 | 宁波奥克斯电气股份有限公司 | 一种空调控制装置、方法及空调器 |
CN109818926A (zh) * | 2018-12-25 | 2019-05-28 | 西安长远电子工程有限责任公司 | 一种无需预先规划的通信方法 |
CN109818926B (zh) * | 2018-12-25 | 2020-10-09 | 西安长远电子工程有限责任公司 | 一种无需预先规划的通信方法 |
CN110032535A (zh) * | 2018-12-28 | 2019-07-19 | 北京润科通用技术有限公司 | 一种串口数据解析方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104092659A (zh) | 一种通用协议数据解析方法 | |
US10338551B2 (en) | P and ID and control system synchronization | |
CN104834537A (zh) | 数据处理方法、服务器及客户端 | |
MX2016004208A (es) | Método de diálogo entre una máquina, tal como un robot humanoide, y un interlocutor humano, programa informático y robot humanoide para la implementación de dicho método. | |
CN107016019B (zh) | 数据库索引创建方法及装置 | |
CN105703990A (zh) | 车载控制器can通信报文解析方法和构建方法 | |
JP5489958B2 (ja) | 試験テーブル生成装置及びその方法 | |
CN104199667B (zh) | 一种新建mtk工程和提交代码的方法及系统 | |
CN105809309A (zh) | 一种电力系统安控策略仿真系统及其仿真方法 | |
CN105074592A (zh) | 定序程序部件创建程序以及定序程序部件创建装置 | |
CN104579748A (zh) | Scd在线校核的网络分析方法及系统 | |
CN105574032A (zh) | 规则匹配运算方法及装置 | |
CN105426305A (zh) | 一种控件属性解析系统及方法 | |
CN107102973A (zh) | 一种csv格式文件的数据提取方法及系统 | |
CN103064988A (zh) | 一种异常数据的检测方法及装置 | |
CN110460473B (zh) | 组态软件的通信配置方法、装置和计算机可读存储介质 | |
CN104504221A (zh) | 一种评审数据处理方法和系统 | |
CN104392104A (zh) | 一种航天器低频电缆导线长度及数量的确定方法 | |
CN104166545A (zh) | 一种网页资源的嗅探方法以及装置 | |
WO2016181526A1 (ja) | 制御ロジック図解析装置および制御ロジック図解析方法 | |
CN113010177B (zh) | 软件定义的仪器和信息采集方法、计算机、存储介质 | |
CN103914027A (zh) | 利用表达式解析实现工业现场底层设备监测管理的方法 | |
CN107450924A (zh) | 一种驱动监控方法、装置和系统 | |
CN104461619B (zh) | 一种嵌入式软件功能可配置方法 | |
CN103837814B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141008 |
|
RJ01 | Rejection of invention patent application after publication |