CN111736894B - 一种基于配置的传感器数据解析处理方法 - Google Patents

一种基于配置的传感器数据解析处理方法 Download PDF

Info

Publication number
CN111736894B
CN111736894B CN202010597853.3A CN202010597853A CN111736894B CN 111736894 B CN111736894 B CN 111736894B CN 202010597853 A CN202010597853 A CN 202010597853A CN 111736894 B CN111736894 B CN 111736894B
Authority
CN
China
Prior art keywords
data
configuration
message
sensor data
constructing
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
Application number
CN202010597853.3A
Other languages
English (en)
Other versions
CN111736894A (zh
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.)
Nantong University
Original Assignee
Nantong University
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 Nantong University filed Critical Nantong University
Priority to CN202010597853.3A priority Critical patent/CN111736894B/zh
Publication of CN111736894A publication Critical patent/CN111736894A/zh
Application granted granted Critical
Publication of CN111736894B publication Critical patent/CN111736894B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Abstract

本发明公开了一种基于配置的传感器数据解析处理方法,初始化系统环境,加载相应的软件环境;并将文件中的配置读取出来;初始化主线程组与从线程组;构建数据接收进程引导器,并进行相关设置;构建拦截器,并将其挂载到数据接收进程引导器;构建主拦截器,用于接收传感器数据进行解析,并对该数据做回应处理,并将其挂载到数据接收进程引导器;利用所构建的数据接收进程引导器来绑定进程端口,并监听相应的端口发送的传感器数据。本发明可以实现通过编写配置,即可实现变更传感器数据解析处理程序的功能。而配置的编写,可以交给运维人员来编写,并不需要程序员的介入。因此,相比于现有技术,本发明具有一定的实用性和易用性。

Description

一种基于配置的传感器数据解析处理方法
技术领域
本发明涉及一种数据解析处理方法,具体涉及是一种大规模传感器数据的解析处理方法。
背景技术
在当前,物联网技术已经广泛的应用到环保、消防、交通、测绘等多个领域。在这些应用中,传感器数据扮演了一个至关重要的角色。传感器数据一般通过无线网络发送至主机的TCP端口,以协议规范传感器和主机之间的信息传输,并在主机端根据协议解析处理传感器数据。
当传感器数据的内容发生变化时,主机端的传感器数据解析处理程序要做相应的变化,这种变化通常是以重新编写代码的方式进行的。考虑到传感器数据内容频繁发生变化的应用场景,相对应的变更程序要付出代价。因此,需要一种方法,可以实现对频繁变化的传感器数据,无需变更程序即可进行解析处理。
发明内容
发明目的:为了解决现有技术的不足,本发明提供了一种基于配置的传感器数据解析处理方法,本发明解决的技术问题即针对大规模传感器数据的解析处理方法,当传感器数据解析处理功能需求发生变更时,通过变更配置,即可实现相应解析处理功能的改变。
技术方案:一种基于配置的传感器数据解析处理方法,包括如下步骤:
步骤一:初始化系统环境,加载相应的软件环境;并将文件中的配置读取出来;
步骤二:初始化类型为NioEventLoopGroup的主线程组与从线程组bossLoopGroup和workLoopGroup;
步骤三:构建类型为ServerBootstrap的数据接收进程引导器,并进行相关设置;
步骤四:构建拦截器,用于将多条传感器数据一一分割开来,避免网络数据包半包粘包,并将其挂载到数据接收进程引导器;
步骤五:构建主拦截器,用于接收传感器数据进行解析,并对该数据做回应处理,并将其挂载到数据接收进程引导器;
步骤六:利用步骤三中所构建的数据接收进程引导器来绑定进程端口,并监听相应的端口发送的传感器数据。
进一步的,所述步骤三中相关设置具体包括:
a)将主、从线程组bossLoopGroup和workLoopGroup与数据接收器进程引导器Server-Bootstrap进行关联;
b)设置主、从线程组的通道类型为NioServerSocketChannel。
进一步的,所述步骤五中主拦截器的具体实现步骤为:
a)根据消息配置对数据的各个部分进行解析;
b)展示数据,若数据为关键数据,将数据存入缓存队列中;
c)根据消息配置构建回应数据并对其进行发送。
进一步的,关于主拦截器的实现,所述步骤a的具体实现步骤为:解析传感器数据的消息ID,并根据消息ID查找对应的消息配置(一条消息配置中包含若干属性配置);开始一个循环,循环次数为属性配置的个数,按序根据属性配置读取消息中的属性信息并将属性信息存储。
进一步的,关于主拦截器的实现,所述步骤c的具体实现步骤为:根据消息ID查找回应消息的消息配置(一条回应消息的消息配置中包含若干属性配置);开始一个循环,循环次数为属性配置的个数,按序根据属性配置构建回应消息并将其发送。
有益效果:本发明可以实现通过编写配置,即可实现变更传感器数据解析处理程序的功能。而配置的编写,可以交给运维人员来编写,并不需要程序员的介入。因此,相比于现有技术,本发明具有一定的实用性和易用性。
附图说明
图1是本发明的访问当前属性的流程示意图;
图2是本发明的构建当前属性的流程示意图。
具体实施方式
下面结合附图并通过实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释,但是本发明并不局限于以下实施例。实施例中除已注明自定义类之外,其余类皆为netty或者java的原生类。
实施例
本发明实现的一种基于配置的传感器数据解析处理方法,包含以下步骤:
步骤1:初始化系统环境,系统环境的设置包括jre的加载、缓存队列kafka的初始化以及netty类库的加载;将配置从C:\\myXml.xml中读取出来并将配置存至开始符startFlag、结束符endFLag以及自定义类型BeanDefinition组成的链表中。
步骤2:初始化类型为NioEventLoopGroup的主线程组与从线程组bossLoopGroup和workLoopGroup。
步骤3:构建类型为ServerBootstrap的数据接收进程引导器,并进行相关设置;相关设置具体包括:
3.1将主、从线程组bossLoopGroup和workLoopGroup与数据接收器进程引导器ServerBootstrap进行关联;
3.2设置主、从线程组的通道类型为NioServerSocketChannel。
步骤4:构建拦截器,用于将多条传感器数据一一分割开来,避免网络数据包半包粘包,并将其挂载到数据接收进程引导器;
4.1构建拦截器的方法如下:以startFlag和endFlag为起止构建分隔符拦截器;
4.2挂载拦截器的方法如下:构建一个内隐类,继承类型为ChannelInitializer<SocketChannel>的类,并重载其方法initChannel,在该方法中对所在通道添加拦截器。
其中,步骤2-4的相关代码为:
步骤5:构建主拦截器,用于接收传感器数据进行解析,并对该数据做回应处理,并将其挂载到数据接收进程引导器;
5.1构建主拦截器的方法包含如下步骤:
5.1.1根据消息配置对数据的各个部分进行解析
消息配置对应的属性配置集propertiesSet的总个数为totalCount,开始一个for循环,循环次数为totalCount。在for循环中,如附图1所示,访问当前属性,判断当前属性是否为byte、short、int、BCD数组以及BCD数组(时间)类型,若为其中类型,则对该属性做相应的读取操作,并将属性名和读取出来的属性值存至fieldMap中,而后访问下一个属性。
5.1.2展示数据,并将关键数据存至缓存队列kafka中
由fieldMap构建JSON格式的描述字符串,并在日志系统打印出来;判断该数据是否为关键数据,若为关键数据,则将该数据存至缓存队列kakfa中。
5.1.3根据消息配置构建回应数据并对其进行发送
消息配置对应的属性配置集propertiesSet2的总个数为totalCount2,开始一个for循环,循环次数为totalCount2。在for循环中,如附图2所示,构建当前属性,判断该属性是否为byte、short、int、BCD数组和BCD数组(时间)类,若为其中类型,则对该属性做对应的构建操作,并构建下一条属性。待所有属性构建完成,整合为消息,并将消息发送出去。
5.2挂载主拦截器的方法同步骤4中挂载拦截器的方法。
步骤6:利用步骤3中所构建的数据接收进程引导器来绑定进程端口8081,并监听发送至8081端口的传感器数据。
本发明可以实现通过编写配置,即可实现变更传感器数据解析处理程序的功能。而配置的编写,可以交给运维人员来编写,并不需要程序员的介入。因此,相比于现有技术,本发明具有一定的实用性和易用性。

Claims (2)

1.一种基于配置的传感器数据解析处理方法,其特征在于:包括如下步骤:
步骤一:初始化系统环境,加载相应的软件环境;并将文件中的配置读取出来;
步骤二:初始化类型为NioEventLoopGroup的主线程组与从线程组bossLoopGroup和workLoopGroup;
步骤三:构建类型为ServerBootstrap的数据接收进程引导器,并进行相关设置;
步骤四:构建拦截器,用于将多条传感器数据一一分割开来,避免网络数据包半包粘包,并将其挂载到数据接收进程引导器;
步骤五:构建主拦截器,用于接收传感器数据进行解析,并对该数据做回应处理,并将其挂载到数据接收进程引导器;
步骤六:利用步骤三中所构建的数据接收进程引导器来绑定进程端口,并监听相应的端口发送的传感器数据;
所述的步骤五中主拦截器的具体实现步骤为:
a)根据消息配置对数据的各个部分进行解析;
b)展示数据,若数据为关键数据,将数据存入缓存队列中;
c)根据消息配置构建回应数据并对其进行发送;
所述的步骤五中关于主拦截器的实现,所述步骤a的具体实现步骤为:
解析传感器数据的消息ID,并根据消息ID查找对应的消息配置,一条消息配置中包含若干属性配置;开始一个循环,循环次数为属性配置的个数,按序根据属性配置读取消息中的属性信息并将属性信息存储;
所述的步骤五中关于主拦截器的实现,所述步骤c的具体实现步骤为:
根据消息ID查找回应消息的消息配置,一条回应消息的消息配置中包含若干属性配置;开始一个循环,循环次数为属性配置的个数,按序根据属性配置构建回应消息并将其发送。
2.根据权利要求1所述的基于配置的传感器数据解析处理方法,其特征在于:所述的步骤三中的相关设置具体包括:
a)将主、从线程组bossLoopGroup和workLoopGroup与数据接收器进程引导器Server-Bootstrap进行关联;
b)设置主、从线程组的通道类型为NioServerSocketChannel。
CN202010597853.3A 2020-06-28 2020-06-28 一种基于配置的传感器数据解析处理方法 Active CN111736894B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010597853.3A CN111736894B (zh) 2020-06-28 2020-06-28 一种基于配置的传感器数据解析处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010597853.3A CN111736894B (zh) 2020-06-28 2020-06-28 一种基于配置的传感器数据解析处理方法

Publications (2)

Publication Number Publication Date
CN111736894A CN111736894A (zh) 2020-10-02
CN111736894B true CN111736894B (zh) 2024-04-19

Family

ID=72651404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010597853.3A Active CN111736894B (zh) 2020-06-28 2020-06-28 一种基于配置的传感器数据解析处理方法

Country Status (1)

Country Link
CN (1) CN111736894B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102625087A (zh) * 2012-03-30 2012-08-01 浙江工业大学 无线视频监控系统的设备端
CN106790347A (zh) * 2016-11-11 2017-05-31 南通大学 一种基于netty的大规模并发数据转发方法
CN107070809A (zh) * 2017-04-11 2017-08-18 南通大学 一种大规模传感器数据的实时转发方法
CN108762953A (zh) * 2018-05-25 2018-11-06 连云港杰瑞电子有限公司 一种消息队列实现方法
CN110175239A (zh) * 2019-04-23 2019-08-27 成都数联铭品科技有限公司 一种知识图谱的构建方法及系统
CN110868349A (zh) * 2019-11-27 2020-03-06 河钢数字技术股份有限公司 物联网环境下分布式高并发数据采集与处理方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102625087A (zh) * 2012-03-30 2012-08-01 浙江工业大学 无线视频监控系统的设备端
CN106790347A (zh) * 2016-11-11 2017-05-31 南通大学 一种基于netty的大规模并发数据转发方法
CN107070809A (zh) * 2017-04-11 2017-08-18 南通大学 一种大规模传感器数据的实时转发方法
CN108762953A (zh) * 2018-05-25 2018-11-06 连云港杰瑞电子有限公司 一种消息队列实现方法
CN110175239A (zh) * 2019-04-23 2019-08-27 成都数联铭品科技有限公司 一种知识图谱的构建方法及系统
CN110868349A (zh) * 2019-11-27 2020-03-06 河钢数字技术股份有限公司 物联网环境下分布式高并发数据采集与处理方法及系统

Also Published As

Publication number Publication date
CN111736894A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
CN111083225B (zh) 在物联网平台中的数据处理方法、装置及物联网平台
CN109842629B (zh) 基于协议解析框架的自定义协议的实现方法
CN111404883B (zh) 一种物联网设备通用协议的解析方法及装置
CN104050080B (zh) 用户态调试linux内核的方法及系统
CN111683066B (zh) 异构系统集成方法、装置、计算机设备和存储介质
US20100023545A1 (en) Data logging system and method thereof for heterogeneous data
CN112714047A (zh) 基于工控协议流量的测试方法、装置、设备及存储介质
CN110912782B (zh) 一种数据采集方法、装置及存储介质
WO2013165180A1 (ko) 로그 모니터링 방법, 그 서버 및 기록 매체
CN106790347B (zh) 一种基于netty的大规模并发数据转发方法
CN109492181A (zh) 页面跳转方法、装置、计算机设备和存储介质
CN107025115B (zh) 一种适配多种接口采集的方法
CN103378994A (zh) 一种通信设备的测试方法及终端
CN111736894B (zh) 一种基于配置的传感器数据解析处理方法
US8572569B2 (en) Modified implementation of a debugger wire protocol and command packet
CN110347567B (zh) 一种基于协议匹配的二进制数据日志分析方法和系统
CN107977440B (zh) 一种解析数据文件的方法、装置和系统
CN116107873A (zh) 一种仿真测试平台及其自动生成方法
CN113076233B (zh) 一种io性能检测方法、装置、设备及存储介质
CN114827967A (zh) 软件更新方法、蓝牙设备及存储介质
CN112181670B (zh) 进程间通讯方法及装置和Linux设备
CN113347196A (zh) 一种对网络数据进行解析的解析方法、装置、电子设备以及存储介质
CN105335153A (zh) 一种自动生成动态脚本的方法
CN113285904A (zh) 基于rdp的磁盘映射文件信息的解析方法
CN115543755B (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
GR01 Patent grant