CN114520837A - 一种基于面向对象技术的解析上发报文数据的方法 - Google Patents

一种基于面向对象技术的解析上发报文数据的方法 Download PDF

Info

Publication number
CN114520837A
CN114520837A CN202111618135.0A CN202111618135A CN114520837A CN 114520837 A CN114520837 A CN 114520837A CN 202111618135 A CN202111618135 A CN 202111618135A CN 114520837 A CN114520837 A CN 114520837A
Authority
CN
China
Prior art keywords
data
protocol
message frame
data message
function
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
Application number
CN202111618135.0A
Other languages
English (en)
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.)
Suzhou Lvke Intelligent Robot Research Institute Co ltd
Original Assignee
Suzhou Lvke Intelligent Robot Research Institute 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 Suzhou Lvke Intelligent Robot Research Institute Co ltd filed Critical Suzhou Lvke Intelligent Robot Research Institute Co ltd
Priority to CN202111618135.0A priority Critical patent/CN114520837A/zh
Publication of CN114520837A publication Critical patent/CN114520837A/zh
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本发明提供一种基于面向对象技术的解析上发报文数据的方法,边缘设备通过DL/T698.45协议或Q/GDW376.1协议接收终端设备上报的数据报文帧,对于终端设备上报的数据报文帧,边缘设备判断数据报文帧若是满足DL/T698.45协议则调用Decode698()函数对数据报文帧进行解析,边缘设备判断数据报文帧若是满足Q/GDW376.1协议,则调用Decode376()函数对数据报文帧进行解析,并把解析后的数据存储在后端数据库中,供前端设备展示分析,本发明通过设计统一的帧结构对象类,将DL/T698.45协议或Q/GDW376.1协议所涉及的数据和方法封装在Data类的内部,大大提高系统的开发效率,安全性和可靠性,并节省人力物力。

Description

一种基于面向对象技术的解析上发报文数据的方法
技术领域
本发明关于一种基于面向对象技术的解析上发报文数据的方法,特别是有关于一种基于面向对象技术的解析DL/T698.45和Q/GDW376.1上发报文数据的方法。
背景技术
现有技术中,DL/T698.45和Q/GDW376.1是中国国家电网基于HPLC通信中的两个标准协议,主要用于主站管理集中器、电表等电力设备。
DL/T698.45是最新的、基于面向对象的用电信息数据交换协议,该协议可以贯穿系统主站、集中器以及智能电能表,实现用电信息采集系统通信协议的统一和规范,以提升系统运行的可靠性。Q/GDW376.1是主站与采集终端间的通信协议,它规定了电力用户用电信息采集系统主站和采集终端之间进行数据传输的帧格式、数据编码及传输规则。
市场上的终端设备既有基于DL/T698.45通信协议,也有基于Q/GDW376.1通信协议的,是主站在采集用电数据时必须面对的两个协议。主站在和终端设备通信时,是采用BCD码数据流格式,因此需要将具体的命令和信息构造成BCD码的下行报文帧,发送给集中器。两种协议涉及到数据采集的方方面面,但两种协议的设计架构不同,DL/T698.45是面向对象的用电信息数据交换协议,而Q/GDW376.1是结构化的。因此,边缘设备与终端设备的通信常常是分开处理,针对每个通信协议边缘设备有一套采集程序,这样会增加一倍的人力物力投入,并且降低系统开发的效率和可靠性。
发明内容
针对上述问题,本发明提供一种基于面向对象技术的解析上发报文数据的方法,构造新的Data类,该Data类包含Decode()函数,该Decode()函数同时封装了Decode698()和Decode376()两个函数,其中,Decode698()是对DL/T698.45协议的数据帧进行解析,Decode376()是对Q/GDW376.1协议的数据帧进行解析;边缘设备通过DL/T698.45协议或Q/GDW376.1协议接收终端设备上报的数据报文帧,对于终端设备上报的数据报文帧,边缘设备处理步骤如下:
S1:接收终端设备上报的数据报文帧;
S2:判断数据报文帧是否满足DL/T698.45协议,若是,则进行S3,若否,则跳至步骤S4;
S3:调用Decode698(),跳至S6;
S4:判断数据报文帧是否满足Q/GDW376.1协议,若是,则进行S5,若否,则返回S1;
S5:调用Decode376();
S6:保存数据报文帧;
边缘设备通过DL/T698.45协议或Q/GDW376.1协议接收终端设备上报的数据报文帧,对于终端设备上报的数据报文帧,边缘设备判断数据报文帧若是满足DL/T698.45协议则调用Decode698()函数对数据报文帧进行解析,边缘设备判断数据报文帧若是满足Q/GDW376.1协议,则调用Decode376()函数对数据报文帧进行解析,解析后的数据报文帧存储在后端数据库中,并供给前端设备展示分析。
进一步地,本发明所述的一种基于面向对象技术的解析上发报文数据的方法,新构造的Data类中Decode()函数还包含DL/T698.45协议解析记录型数据的函数decodeRecordData698()。
进一步地,本发明所述的一种基于面向对象技术的解析上发报文数据的方法,新构造的Data类定义了所有需要采集的结构体及存储该结构体的数组。
进一步地,本发明所述的一种基于面向对象技术的解析上发报文数据的方法,新构造的Data类定义了单个结构体变量添加到数组中去的add函数。
进一步地,边缘设备通过DL/T698.45协议或Q/GDW376.1协议接收终端设备上报的数据报文帧,对于该终端设备上报的该数据报文帧,该边缘设备处理步骤还包括S7:将数据报文帧传送到前端设备。
本发明提供一种基于面向对象技术的解析上发报文数据的方法,边缘设备通过DL/T698.45协议或Q/GDW376.1协议接收终端设备上报的数据报文帧,对于终端设备上报的数据报文帧,边缘设备判断数据报文帧若是满足DL/T698.45协议则调用Decode698()函数对数据报文帧进行解析,边缘设备判断数据报文帧若是满足Q/GDW376.1协议,则调用Decode376()函数对数据报文帧进行解析,并把解析后的数据传送给前端设备展示分析,本发明通过设计统一的帧结构对象类,将DL/T698.45协议或Q/GDW376.1协议所涉及的数据和方法封装在Data类的内部,大大提高系统的开发效率,安全性和可靠性,并节省人力物力。
附图说明
图1为本发明边缘设备处理终端设备上报的数据报文帧的流程图。
具体实施方式
为使对本发明的目的、构造、特征、及其功能有进一步的了解,兹配合实施例详细说明如下。
本发明提供一种基于面向对象技术的解析上发报文数据的方法,构造新的Data类,该Data类包含Decode()函数,该Decode()函数同时封装了Decode698()和Decode376()两个函数,其中,Decode698()是对DL/T698.45协议的数据帧进行解析,Decode376()是对Q/GDW376.1协议的数据帧进行解析;边缘设备通过DL/T698.45协议或Q/GDW376.1协议接收终端设备上报的数据报文帧,对于终端设备上报的数据报文帧,边缘设备处理步骤如下:
S1:接收终端设备上报的数据报文帧;
S2:判断数据报文帧是否满足DL/T698.45协议,若是,则进行S3,若否,则跳至步骤S4;
S3:调用Decode698(),跳至S6;
S4:判断数据报文帧是否满足Q/GDW376.1协议,若是,则进行S5,若否,则返回S1;
S5:调用Decode376();
S6:保存数据报文帧;
边缘设备通过DL/T698.45协议或Q/GDW376.1协议接收终端设备上报的数据报文帧,对于终端设备上报的数据报文帧,边缘设备判断数据报文帧若是满足DL/T698.45协议则调用Decode698()函数对数据报文帧进行解析,边缘设备判断数据报文帧若是满足Q/GDW376.1协议,则调用Decode376()函数对数据报文帧进行解析,解析后的数据报文帧存储在后端数据库中,并供给前端设备展示分析。其中,边缘设备是硬件采用高配置的工业控制计算机,具有LINUX操作系统、高容量的RAM和FLASH资源,支持扩展接入U盘存储,采用4G/GSM移动网络和HPLC高速载波等通信技术等研制而成。具备RS485接口、以太网接口、USB接口、大容量数据存储、多种通讯方式数据通道,具备三相电源接入,能够侦听电力线网络通信,硬件平台功能强大、运行稳定、可靠性高、存储容量大、可扩展性好等特点,可满足基于台区端数据的边缘计算需求。边缘设备对终端设备上报的数据报文帧解析并存储在后端设备,供前端设备展示分析,前端设备可以呈现各种数据分析结果、统计图表,以及事件处理通知等,同时可以查询任意时间段、任意区域、任意台区的各种设备的故障信息等,查询结果能够以多种样式呈现。
DL/T698.45协议的报文帧结构包括有帧头、链路用户数据、帧尾。Q/GDW376.1协议的报文帧结构包括有固定长度的报文头、用户数据区和帧尾。根据DL/T698.45协议和Q/GDW376.1协议的报文帧结构,重新定义Head(头域)、Control(控制域)、Data(数据域)、Auxiliary(辅助域)和Tail(尾域),其中Head(头域)、Control(控制域)、Auxiliary(辅助域)和Tail(尾域)协议内容较为简单,在实际操作过程中可在各自协议中完成解析,本文主要针对Data(数据域)进行解析,即本文所述的新的Data类,本发明对DL/T698.45协议和Q/GDW376.1协议的数据部分分别采用了Decode698()和Decode376()两个函数进行解析,并将这两个函数统一封装在新构造的Data类中的Decode()函数里。当边缘设备通过DL/T698.45协议或Q/GDW376.1协议接收终端设备上报的数据报文帧,对于终端设备上报的数据报文帧,边缘设备判断数据报文帧若是满足DL/T698.45协议则调用Decode698()函数对数据报文帧进行解析,边缘设备判断数据报文帧若是满足Q/GDW376.1协议,则调用Decode376()函数对数据报文帧进行解析。
优选地,本发明所述的一种基于面向对象技术的解析上发报文数据的方法,新构造的Data类中Decode()函数还包含DL/T698.45协议解析记录型数据的函数decodeRecordData698()。decodeRecordData698()是DL/T698.45协议解析记录型数据的函数。记录型数据是DL/T698.45协议中比较复杂的数据格式。decodeRecordData698()的代码简要如下:
Figure BDA0003437116680000061
Figure BDA0003437116680000071
优选地,本发明所述的一种基于面向对象技术的解析上发报文数据的方法,新构造的Data类定义了所有需要采集的结构体及存储该结构体的数组。
vector<EVENTDATA>event_data;
vector<CONCENTRATEINFO>concentrates;
vector<DAILYICEWATTMETERING>dailyice_metering_data;
vector<DAILYOPPOSITEWATTMETERING>dailyice_opposite_metering_data;
vector<DAILYFORWARDMAXDEMANDWATTMETERING>dailyice_maxdemand_metering_data;
vector<DAILYOPPOSITEMAXDEMANDWATTMETERING>dailyice_oppositemaxdemand_metering_data;
vector<MONTHFORWARDWATTMETERING>month_forwardwatt_metering_data;
vector<MONTHOPPOSITEWATTMETERING>month_oppositewatt_metering_data;
vector<MONTHFORWARDMAXDEMANDWATTMETERING>month_maxdemand_metering_data;
vector<MONTHOPPOSITEMAXDEMANDWATTMETERING>month_opposite_maxdemand_metering_data;
vector<DAILYLOADMAXMIN>dailyice_loadmaxmin;
vector<ABCPHASEFAILURETIMES>dailyicce_ABCphase_failure_times;
vector<DAILYNONBALANCETIME>dailyice_ABCphase_nobalance_times;
vector<DAILYVOLTAGESTATISTICS>dailyice_voltage_statistics;
vector<DAILYCURRENTSTATISTICS>dailyice_current_statistics;
优选地,本发明所述的一种基于面向对象技术的解析上发报文数据的方法,新构造的Data类定义了单个结构体变量添加到数组中去的add函数,add函数的代码如下:
void addDailyForwardWattMetering(DAILYICEWATTMETERING meteringdata);
void addDailyOppositeWattMetering(DAILYOPPOSITEWATTMETERINGmeteringdata);
void addDailyForwardMaxDemandWattMetering(DAILYFORWARDMAXDEMANDWATTMETERING meteringdata);
void addDailyOppositeMaxDemandWattMetering(DAILYOPPOSITEMAXDEMANDWATTMETERING meteringdata);
void addMonthForwardWattMetering(MONTHFORWARDWATTMETERINGmeteringdata);
void addMonthOppositeWattMetering(MONTHOPPOSITEWATTMETERINGmeteringdata);
void addMonthForwardMaxDemandWattMetering(MONTHFORWARDMAXDEMANDWATTMETERING meteringdata);
void addMonthOppositeMaxDemandWattMetering(MONTHOPPOSITEMAXDEMANDWATTTERING meteringdata);
void addDailyLoadMaxMin(DAILYLOADMAXMIN meteringdata);
void addDailyABCPhaseFailureTimes(ABCPHASEFAILURETIMES meteringdata);
void addDailyVoltageStatistics(DAILYVOLTAGESTATISTICS meteringdata);
void addDailyNonBalanceTime(DAILYNONBALANCETIME meteringdata);
void addDailyCurrentStatistics(DAILYCURRENTSTATISTICS meteringdata);
void addEventData(EVENTDATA evData);
void addConcentrates(CONCENTRATEINFO concentrate);
本发明提供一种基于面向对象技术的解析上发报文数据的方法,边缘设备通过DL/T698.45协议或Q/GDW376.1协议接收终端设备上报的数据报文帧,对于终端设备上报的数据报文帧,边缘设备判断数据报文帧若是满足DL/T698.45协议则调用Decode698()函数对数据报文帧进行解析,边缘设备判断数据报文帧若是满足Q/GDW376.1协议,则调用Decode376()函数对数据报文帧进行解析,并把解析后的数据报文帧存储在后端数据库中,供前端设备展示分析,本发明通过设计统一的帧结构对象类,将DL/T698.45协议或Q/GDW376.1协议所涉及的数据和方法封装在Data类的内部,大大提高系统的开发效率,安全性和可靠性,并节省人力物力。
本发明已由上述相关实施例加以描述,然而上述实施例仅为实施本发明的范例。必需指出的是,已揭露的实施例并未限制本发明的范围。相反地,在不脱离本发明的精神和范围内所作的更动与润饰,均属本发明的专利保护范围。

Claims (4)

1.一种基于面向对象技术的解析上发报文数据的方法,其特征在于:
构造新的Data类,该Data类包含Decode()函数,该Decode()函数同时封装了Decode698()和Decode376()两个函数,其中,该Decode698()是对DL/T698.45协议的数据帧进行解析,该Decode376()是对Q/GDW376.1协议的数据帧进行解析;
边缘设备通过DL/T698.45协议或Q/GDW376.1协议接收终端设备上报的数据报文帧,对于该终端设备上报的该数据报文帧,该边缘设备处理步骤如下:
S1:接收终端设备上报的数据报文帧;
S2:判断数据报文帧是否满足DL/T698.45协议,若是,则进行S3,若否,则跳至步骤S4;
S3:调用Decode698(),跳至S6;
S4:判断数据报文帧是否满足Q/GDW376.1协议,若是,则进行S5,若否,则返回S1;
S5:调用Decode376();
S6:保存数据报文帧;
该边缘设备通过DL/T698.45协议或Q/GDW376.1协议接收终端设备上报的数据报文帧,对于该终端设备上报的该数据报文帧,该边缘设备判断该数据报文帧若是满足DL/T698.45协议则调用Decode698()函数对该数据报文帧进行解析,该边缘设备判断该数据报文帧若是满足Q/GDW376.1协议,则调用Decode376()函数对该数据报文帧进行解析,解析后的数据报文帧存储在后端数据库中,并供给前端设备展示分析。
2.根据权利要求1所述的一种基于面向对象技术的解析上发报文数据的方法,其特征在于,新构造的Data类中该Decode()函数还包含DL/T698.45协议解析记录型数据的函数decodeRecordData698()。
3.根据权利要求1和2中任一项所述的一种基于面向对象技术的解析上发报文数据的方法,其特征在于,新构造的Data类定义了所有需要采集的结构体及存储该结构体的数组。
4.根据权利要求1和2中任一项所述的一种基于面向对象技术的解析上发报文数据的方法,其特征在于,新构造的Data类定义了单个结构体变量添加到数组中去的add函数。
CN202111618135.0A 2021-12-27 2021-12-27 一种基于面向对象技术的解析上发报文数据的方法 Pending CN114520837A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111618135.0A CN114520837A (zh) 2021-12-27 2021-12-27 一种基于面向对象技术的解析上发报文数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111618135.0A CN114520837A (zh) 2021-12-27 2021-12-27 一种基于面向对象技术的解析上发报文数据的方法

Publications (1)

Publication Number Publication Date
CN114520837A true CN114520837A (zh) 2022-05-20

Family

ID=81597066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111618135.0A Pending CN114520837A (zh) 2021-12-27 2021-12-27 一种基于面向对象技术的解析上发报文数据的方法

Country Status (1)

Country Link
CN (1) CN114520837A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107070589A (zh) * 2016-12-30 2017-08-18 国网浙江省电力公司电力科学研究院 一种基于面向对象协议与传统协议的电能表自适应方法、装置及电能表
CN109510759A (zh) * 2018-10-22 2019-03-22 智强通达科技(北京)有限公司 一种快速通用多协议网关实现系统及方法
CN109842629A (zh) * 2019-03-03 2019-06-04 北京立思辰安科技术有限公司 基于协议解析框架的自定义协议的实现方法
CN110012031A (zh) * 2019-04-26 2019-07-12 中国电子科技集团公司第二十九研究所 数据报文通用自动解析方法和存储方法
CN110347567A (zh) * 2019-06-26 2019-10-18 河南辉煌科技股份有限公司 一种基于协议匹配的二进制数据日志分析方法和系统
CN111786985A (zh) * 2020-06-28 2020-10-16 厦门市美亚柏科信息股份有限公司 一种解析tcp和udp数据的方法、装置及存储介质
WO2021212074A1 (en) * 2020-04-16 2021-10-21 Tom Herbert Parallelism in serial pipeline processing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107070589A (zh) * 2016-12-30 2017-08-18 国网浙江省电力公司电力科学研究院 一种基于面向对象协议与传统协议的电能表自适应方法、装置及电能表
CN109510759A (zh) * 2018-10-22 2019-03-22 智强通达科技(北京)有限公司 一种快速通用多协议网关实现系统及方法
CN109842629A (zh) * 2019-03-03 2019-06-04 北京立思辰安科技术有限公司 基于协议解析框架的自定义协议的实现方法
CN110012031A (zh) * 2019-04-26 2019-07-12 中国电子科技集团公司第二十九研究所 数据报文通用自动解析方法和存储方法
CN110347567A (zh) * 2019-06-26 2019-10-18 河南辉煌科技股份有限公司 一种基于协议匹配的二进制数据日志分析方法和系统
WO2021212074A1 (en) * 2020-04-16 2021-10-21 Tom Herbert Parallelism in serial pipeline processing
CN111786985A (zh) * 2020-06-28 2020-10-16 厦门市美亚柏科信息股份有限公司 一种解析tcp和udp数据的方法、装置及存储介质

Similar Documents

Publication Publication Date Title
EP3780496B1 (en) Feature engineering programming method and apparatus
CN102624685A (zh) 一种可编码的智能设备协议处理方法
CN111917753B (zh) 一种基于位域的Modbus TCP报文解析方法
CN214101409U (zh) 一种智能网关
CN111654322A (zh) 一种基于并行处理的电力数据传输方法、装置及存储介质
CN112511388A (zh) 一种家庭物联的方法及物联终端
CN102881143B (zh) Ami系统中读取电能表事件记录的方法
CN113452667A (zh) 一种适用于多种协议类型的边缘物联终端接入方法
CN106301838B (zh) 一种基于snmp的传输网统一网络管理系统
CN114520837A (zh) 一种基于面向对象技术的解析上发报文数据的方法
CN102891683A (zh) 一种变电站数据帧的压缩方法及装置
US20230283668A1 (en) Sensor data interpreter/converter methods and apparatus for use in low power wide area networks (lpwans)
CN116156012B (zh) 通用的异构物联网设备标准化接入和数据解析系统与方法
CN112053546A (zh) 面向营配贯通业务提升的智能融合终端及通信方法
CN115243272B (zh) 无线接入网及其数据获取方法、通信系统及设备
CN203102583U (zh) 一种智能电能信息监控终端和一种智能电能信息监控系统
CN114899941A (zh) 一种基于Zigbee物联网的电力系统用户信息采集系统
CN109617853B (zh) 一种基于fpga的千兆网口自协商装置及方法
CN208850084U (zh) 一种通信设备
CN107274651A (zh) 基于odp协议面向需求监测企业用电信息的采集方法
CN114513564A (zh) 一种基于面向对象技术的构造下发报文数据的方法
CN105117486A (zh) 配电网数据处理方法和装置
CN111835558A (zh) 一种边缘云平台多资源可视化控制方法
CN114268857B (zh) 基于虚拟终端的电力数据交互方法、装置、系统和设备
CN116154959B (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