APP下载

物联网数据采集中间件模型的设计与实现

2015-12-18葛宁宁

电子科技 2015年1期
关键词:中间件异构数据处理

葛宁宁,李 晋,2

(1.北方民族大学计算机科学与技术学院,宁夏银川 750000;2.宁夏希望信息产业有限公司企业信息化部,宁夏银川 750000)

近年来,物联网产业在国内虽然取得了迅猛的发展,但同时暴露出许多问题。其中,因为硬件感知设备的大量部署造成的实时数据的海量性;硬件标准不统一造成的数据源的信息孤岛性等越来越凸显出来,成为制约物联网快速发展的瓶颈。随着物联网应用的深入开展,如何兼容获取并处理实时数据进而为上层应用提供可扩展标准化的数据服务接口,降低物联网数据服务提供的复杂度、提高开发效率成为业内学者研究的热点。目前已有部分研究成果,如基于MapReduce数据集成技术局融合架构[1],此架构基于MapReduce和Hadoop技术提出一种数据集成模型基本解决了上述问题,目前仍处于实验阶段。本文针对以上问题,在物联网数据采集模型设计中加入中间件的思想[2]提出了一种物联网数据采集中间件的模型,旨在实现硬件感知设备与应用系统之间数据传输、过滤、数据格式转换等功能,将多源、异构的物联网数据进行整合,为上层应用提供标准、统一的标准SQL表数据调用。

1 中间件模型整体结构设计

设计的中间件软件模型整体架构图如图1所示。

图1 中间件整体架构图

其主要包含数据采集单元、数据处理单元和WebService接口服务单元。该中间件介于感知硬件设备层与应用服务层之间,实现与前端硬件感知设备的信息交互与管理,自动采集硬件感知原始信息,并进行有效信息的提炼,完成与上层应用的信息交换并为应用软件提供基于SQL的标准表数据调用,彻底摆脱了读写器非标准化协议所带来的开发、维护、扩展等的限制。

2 数据采集单元

数据采集单元使用多线程负责自动采集具有不同接口的物联网感知设备的数据,一旦检测到监测的端口有数据产生就对此数据进行校对,校对通过后便将其自动保存为一个相应的xml文件供数据处理单元调用。校对的目的是为了保证接口产生数据中的EPC(物品电子编码)是准确的,这种方式也消除了数据漏读现象。数据采集单元采用基于C++的Qt框架编写,具有良好的可移植性,可以将其部署在前端,本单元支持RS232、UDP等多种传输协议的分析。在此单元的设计中,尽量抽取硬件感知设备的共性,将其按照接口种类不同进行分类,从而实现在资源允许的范围内最大限度地支持更多的不同硬件设备。

数据处理单元负责对数据采集单元生成的XML文件进行解析,然后对数据进行清洗和筛选,最后将留下的正确数据写入数据库表中,同时数据处理模块向上层应用提供WebService接口和WebService用户授权机制,确保安全地向用户提供数据。

3 系统数据采集流程

为了消除数据的异源、异构性,本文对数据的原始处理采用基于xml文件处理方式[3-4]。系统启动后分别启动数据采集与数据处理两个模块,并对两个模块进行初始化配置,配置好后数据采集模块开始自动获取相关数据,并将数据写入相应的xml文件中,最后放置xml文件到相应的目录下。

数据处理模块会周期性的读取存放xml文件的目录,将读到的xml文件进行解析,得到数据后对其进行清洗、筛选、过滤,并保存最后剩下的有效数据到标准数据库表中[5-8]。最终将处理过的xml文件删除掉。

图2 数据采集流程图

4 数据过滤和筛选规则

在数据采集单元中,文中设计保证了不会出现漏读数据的现象,因此在数据处理单元制定过滤和筛选规则时,只需考虑重复读取的数据和读取的脏数据,重复数据是指那些除了时间戳不同,其他均相同的数据记录,脏数据是指丢失数据项如EPC或者数据项不完整的数据记录。在项目实施过程中,制定如下的过滤和筛选规则:在一个数据处理周期内,将xml文件解析出的数据存放在一个容器中,若容器中的数据出现重复,则保留时间戳最新的一条有效数据记录,同时,如果判断是脏数据,则删掉该数据并记录日志,最后将有效数据记录写入数据库并清空容器当前的所有数据,从而保证数据的有效性。

5 系统实现效果

为验证此设计的模型,本文采用计算机软件模拟传感器接口对软件相关功能进行测试,数据采集模块运行效果如图3所示。

图3 数据采集模块

数据采集达到ms级,图3测试了通过两个接口采集数据,2 min内数据采集量为1 245个数据记录文件,其中包含了大量重复数据和部分脏数据。数据采集效率满足实际使用所需。数据处理模块在一个周期内处理数据过程如图4所示。

图4 数据处理模块

在一个数据处理周期中,对上述数据记录文件进行处理,得到10条有效数据记录,并成功写入远程数据库。经校对,成功过滤了重复数据和脏数据,达到了预期效果。在对用户开放接口方面,采用WebService接口提供数据库调用,接口功能如图5所示。

图5 WebService接口图

6 结束语

本文提出的模型在一定程度上能够消除物联网异构数据源的差异性,为用户提供标准统一化的数据处理接口。对解决制约物联网快速发展的数据异构性问题提供了可靠、有效的实现思路,通过测试验证了该方法。但由于各行各业的数据有较大差异,因此如何设计通用、有效的标准 SQL表格式是下一步研究的重点。

[1]王金萍.传感网异构数据采集及数据融合技术的研究与实现[D].南京:南京邮电大学,2013.

[2]刘顺潮.基于中间件的传统CAD软件协同设计与实现[J].电子科技,2007(3):70 -73,81.

[3]赵玉玲.基于XML的数据集成技术的研究与实现[D].长春:吉林大学,2009.

[4]伍文平.江涛.基于XML的异构数据集成中间件研究[J].科学技术与工程,2009(9):1 -4.

[5]白红霞.吴华文.RFID数据采集中间件[J].微计算机信息,2009(25):2-4.

[6]张乐.RFID中间件数据处理研究与开发[D].上海:上海交通大学,2008.

[7]王卡.可扩展的物联网数据采集中间件设计与实现[D].北京:北方工业大学,2011.

[8]贺延平.物联网及其关键技术[J].电子科技,2011,24(8):131-134.

猜你喜欢

中间件异构数据处理
试论同课异构之“同”与“异”
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
异构醇醚在超浓缩洗衣液中的应用探索
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
Matlab在密立根油滴实验数据处理中的应用