一种解决数据异构的融合物联网关系统和方法与流程

文档序号:12740046阅读:387来源:国知局
一种解决数据异构的融合物联网关系统和方法与流程

本发明属于移动通信、物联网和信息处理领域,具体涉及一种解决数据异构的融合物联网关系统和方法。



背景技术:

物联网是一种通过各种接入技术将海量电子设备与互联网结合起来而形成一个巨大的网络,实现智能化的识别与管理,进而实现各类物品的远程感知和控制,由此生成一个更加智慧的生产和生活体系。一方面,由于物联网技术应用在不同业务上,如智能家居、医疗、安全、物流城市和环境监测等应用,因而产生了多样化数据源,如结构化关系数据库和面向对象数据源、半结构化的HTML/XML、无结构的文本等。这些数据源结构、语义存在差异。另一方面,从数据源的采集端来看,采集端传感器持续采集,形成了大量数据,各种厂家的数据格式也没有一个统一的标准,导致采集到的数据异构。如果解决这些异构性问题,我们就可以方便将数据运用到各种应用中。目前如何解决数据异构已经成为研究热点。

目前解决物联网数据异构的解决方法有虚拟数据库方式、基于数据中间件、基于xml方案解析和视图方法。早期的数据集成复制方法包括联邦数据库,基于中介器、包装器的集成方法构架和数据仓库方式。数据仓库将不同数据源在中心位置映射成一个独立的结构,对用户来说,底层的请求数据是隐藏不可见的,只能通过中心位置来访问,该方式重新布局了实际的数据。基于xml文档方案解决异构数据问题,是用xml方案来规范请求数据和集成异构数据源的数据,将网络和关系数据库转换成xml视图集的形式,克服数据源异构,从而创建一个屏蔽底层数据源差异、数据存储模式差异和格式结构解析等差异,并且为上层用户提供了一个无缝请求的接口。虚拟数据库先将异构的数据源构成一个全局视图,然后它将用户的请求对应到各个本地的子请求,最后将结果转换为用户需求的格式。基于请求处理中心QPC研究中,将所有用户和数据通连接数据中心中,然后将请求转换成子请求生成XML格式的数据。网络分析环境中开发一个中间件能够屏蔽不同位置的关系数据库,通过一个web服务接口的方式访问。中间件的方式是在数据服务器上做策略,数据的产生者和使用者写入或查询分布式消息中间系统,没有考虑智能感知层传感器节点的多样性和异构传感网的控制。物化视图是通过空间换取时间,根据请求查找出结果集本地存储,然后维护一个表,根据这个 表来本地查询和存储。其缺点是虽然响应速度快,但是无法保证数据的实时更新,满足不了用户多样化的功能需求。还有基于本体异构数据源集成,多知识融合异构数据源集成等,以上这些方法都是针对传统异构数据源提出来的,应用到物联网上不合适,因为没有考虑物联网数据的特征。

文献“一个传感器网络服务网关的设计与实现”(《计算机技术与发展》,2013年1月1期23卷,褚伟杰等)采用OSGI架构设计网关,用户通过OSGI生命周期可以在传感器的网络中启动、更新、卸载等服务,每种类型的传感器对应一个相应的Agent,然后这些Agent产生的消息采用固定xml格式定义,和上层通信采用的是http无连接的形式。该文献设计了一个xml标准消息格式,还是通过xml的方法来屏蔽智能感知层格式差异。该网关利用OSGI框架的优点,增强了网关系统的扩展性。但是还没有达到灵活使用即插即用、自动识别、位置添加删除、传感器添加删除、历史数据变化等功能。

物联网关系统中主要是对两种报文的处理操作,上行报文和下行报文,上行报文是感知层传感其采集到的数据,下行报文是对传感器和智能开关控制管理命令。由于物联网网关是嵌入式设备,感知层要接入海量的智能感知设备,随着这些接入设备数量增长和协议类型的多样化。物联网关的存储和处理能力需要不断升级提升,才能满足负载的需求,这些不定期升级的过程会导致物联网关设备使用寿命变短,也会影响整个系统的稳定性,更会增加物联网关系统维护的成本。



技术实现要素:

本发明针对上述问题,提供一种解决数据异构的融合物联网关系统和方法,用以解决物联网中数据的多源异构难题。

本发明采用的技术方案如下:

一种解决数据异构的融合物联网关系统,包括智能感知层、物联网关层和网络层;所述智能感知层包含若干传感器,负责采集数据,将对物体和环境的感知变成电信号传输;所述物联网关层对智能感知层中不同类型的传感器进行动态适配和控制,并对传感器采集的数据进行解析和存储,然后传输至网络层;所述网络层包含数据存储服务器和驱动云端服务器,所述数据存储服务器存储从物联网关层接收的数据,所述驱动云端服务器存放不同类型的传感器的驱动程序,供物联网关层对不同类型的传感器进行动态适配和控制。

进一步地,所述智能感知层将采集得到的数据上传到物联网关层的方式分为两种:自动上传和轮询上传。

进一步地,所述物联网关层包括多协议动态适配加载模块、可视化的操作界面模块、厂家驱动模块、信息解析模块、存储模块、上传模块和驱动下载更新模块。

进一步地,所述多协议动态适配加载模块支持从驱动云端服务器端下载驱动,支持多个驱动动态查找、加载、卸载、工作和删除;所述可视化的操作界面模块支持位置的动态添加或删除,以及在位置界面上传感器的动态添加或删除。

进一步地,所述物联网关层支持本地数据实时显示,本地采集信息预警,本地最近历史信息变化和查询功能,并对外提供数据接口,外部移动端跨互联网或者本地局域网访问本地数据接口。

进一步地,所述物联网关层中的每个网关配置独立的ID,所述数据存储服务器将接收到的信息按统一的格式解析并存储数据库中,并根据ID来区分多个网关;所述智能感知层中的每个传感器也配置独立的ID,物联网关层中的网关具有数据实时显示和报警功能,通过位置或者传感器的ID快速找到对应的传感器。

一种采用上述系统解决数据异构的方法,其包括如下步骤:

1)通过智能感知层中的传感器采集数据,将对物体和环境的感知变成电信号传输;

2)通过物联网关层对智能感知层中不同类型的传感器进行动态适配和控制,并对传感器采集的数据进行解析和存储,然后传输至网络层;

3)网络层中的数据存储服务器存储从物联网关层接收的数据,网络层中的数驱动云端服务器存放不同类型的传感器的驱动程序,供物联网关层对不同类型的传感器进行动态适配和控制。

本发明针对物联网中数据的多源异构难题,设计并实现了物联网网关多协议动态适配的系统,包括智能感知层、物联网关层和网络层。智能感知层可接入多种厂家和多种类型传感器和智能开关等。物联网关层一方面提供可操作的界面,实现了位置的动态添加或删除和在位置界面上传感器的动态添加或删除,方便了用户的操作;另一方面物联网关层提供的功能包括:历史数据变化、实时报警、对外提供数据接口等功能。网络层将物联网关层上传的数据存储到数据存储服务器,方便用户的二次开发。本发明解决了物联网关中数据采集、存储的多源异构难题,通过实现现有物联网关对多协议动态适配的支持,进而解决了升级过程中带来的设备成本高、维护复杂、网关寿命短、系统稳定性和扩展性差问题。

附图说明

图1为融合物联网关系统的三层体系架构示意图。

图2为融合物联网关系统的功能架构图。

图3为多协议融合物联网关的主要功能示意图。

图4为主程序、插件、多协议库之间的工作模式示意图。

图5为主要界面和功能设计示意图。

图6为动态加载驱动的流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。

图1为融合物联网关系统的三层体系架构示意图。该物联网网关系统主要分为感知层、网络层和应用层三个层次结构,在网络层和感知层之间是物联网关层,图中称为“融合网关”。感知层位于物联网体系结构的最底层,包括各种传感器、GPS设备、控制开关、监控摄像设备和通信模块等。感知层的主要功能是实现数据的采集,将对物体和环境的感知变成电信号传输,同时也可以将电信号转换成开关的状态,并且可以实现实时监控和数据传输功能。物联网关层要对多样传感器类型和不同厂家的传感器接口进行动态适配和控制,具有数据解析存储和通信的功能。网络层将物联网关采集和解析到的数据通过3G的方式传输到数据存储服务器,可以从驱动云端服务器下载每个厂家的驱动包到物联网关层。应用层通过web的方式直接访问网关中数据或者是服务器中的数据(即访问物联网关层或网络层中的数据),物联网关为应用层提供了开放的网络接口,实现了资源的整合和应用,如:生态环境检测、智能家居交通和智能医疗等。

图2为该系统在上述三层架构体系上实现的进一步细的划分的功能架构图,其中示意了网络层、物联网关层和感知层(图中称为“智能感知层”),详细描述了物联网关层的工作逻辑。该系统具体说明如下:

1.网络层

网络层包括数据存储服务器和驱动云端服务器,数据存储服务器部分提供信息的长期和海量存储,同时可以为其他的应用提供资源支持,驱动云端服务器功能是存放各种协议对应的驱动,提供下载的支持。

进一步地,数据存储服务器将接收到的信息按统一的格式解析并存储数据库中,每一个物联网关可以手动设定独立ID,用来区分;驱动云端服务器实现定期更新驱动,维护版本信息列表。

2.物联网关层

1)多协议动态适配的物联网关层设计

在解决感知层异构性融合方面,必须拥有多标准互通接入的功能,能够融合现代传感网技术不同协议产生数据格式的差异或者使用同一种协议数据格式不同的差异。在接入扩展性方面,当有新的协议类型厂家传感器接入的时候,网关可以从驱动服务器下载相应的驱动,使该协议传感器正常工作;当不再使用某种协议类型的传感器时,也可以删除相应的驱动,即多协议动态适配过程。在控制方面,用户可以配置、添加和删除位置信息,并且可以在不同位置动态配置、添加和删除传感器。在设备驱动控制方面,用户可以选择要启动需要的驱动,网关具有驱动状态记忆功能。在数据上传和访问方面,当配置了ip和端口参数之后,通过tcp面向连接的方式周期性自动上传数据服务器,同时,当配置了相应的数据接口参数后,用户也可以通过浏览器的方式直观访问融合网关中存储的数据和控制传感器工作状态。在准确性和安全性方面,每个网关可以配置独立的ID,数据存储服务器可以根据ID来区分多个网关;每个传感器也有独立的Sensor_ID,网关具有智能数据实时显示和报警功能,通过位置或者Sensor_ID可以快速找到对应的传感器。

2)本发明的物联网关层

本发明的物联网关层是在如图3所示的多协议动态适配物联网关需求的基础上提出来的,其具体构成如图2中部的方框所示,包括多协议动态适配加载模块、可视化的操作界面模块、厂家驱动模块、信息解析模块、存储模块、上传模块和驱动下载更新模块。

该物联网关层的开发板平台采用Andriod系统,拥有3G功能,USB接口和Consol接口,对多种厂家的传感器接入提供支持和供电,对传感器两种信息采集方式即自动上传和轮询上传提供支持。多协议动态适配加载模块支持从驱动云端服务器端手动下载驱动,支持多个驱动动态查找、加载、卸载、工作和删除。上传模块支持上传数据参数配置,主要是上传下载地址、端口和物联网关ID等。另外该物联网关层支持信息解析、本地存储、显示;支持添加和删除不同位置,以及在不同位置动态添加和删除传感器;支持本地数据实时显示,本地采集信息预警和本地最近历史信息变化和查询;网关平台对外提供数据接口,外部移动端跨互联网或者本地局域网访问本地数据接口功能。

本发明的物联网网关层主要分为三个部分:主程序部分、插件部分和多协议动态适配加载部分,使物联网关除了拥有传统的数据采集、显示和上传功能外,还能将底层多协议异构数据实现融合,从采集端解决物联网多源异构的难题。图4为三部分间的工作模式示意图。主程序和插件程序的工作模式之间的耦合度很低,主程序为插件程序提供了可用的公共接口,方便了它们之间的通信。主程序部分通过多协议库来管理插件部分。

a)主程序部分

主程序部分的设计包括程序主题设计,实时数据界面设计,数据存储设计、历史变化界面设计、动态添加或删除位置界面设计,在不同位置添加或删除不同位置中的传感器设计、上传下载的设计和对外提供公共接口设计等。

首先,将可视化的操作界面模块做成一个相应的界面程序,将界面程序的依赖性降到最低,该功能模块功能:从数据库中读取、显示实时和历史数据,数据报警功能、添加和删除不同的位置,在每一个位置上也可以添加正在工作的传感器,或者删除不再需要的传感器。该程序的主要界面和功能如图5所示,最上面的部分实现的功能有位置添加,即添加新的位置后,则在位置信息界面重新生成一个对应的界面容器,该容器内可以也可以动态添加正在工作的传感器和删除已经不需要的传感器。“数据报警”实时检查数据的合法性,如:当某一温度不再适合植物生长时,将报警,可以根据该传感器的类型、位置和接口ID快速找到该传感器。当点击“历史数据”界面按钮,该主程序将切换到该选择的传感器的历史界面,显示最近的历史数据折线图变化。“删除选中的传感器”按钮可以删除该位置中的传感器。

其次,为了使物联网关适应多种协议的不同工作方式,驱动程序在读取数据的时候可能需要界面程序加载的外部库函数和提供的其他一些功能,在界面程序的基础上对外实现一个公共的接口,这是主程序和插件之间的一个独立交互通道。界面程序内部加载并实现该接口,需要调用界面程序资源的插件驱动来实现该功能。

最后,主程序中的驱动下载更新模块和上传模块,将正在工作的传感器得到的数据,按照一定格式封装起来,通过tcp的方式将数据流传输到数据存储服务器(比如农业数据平台中的数据存储服务器)。同时,也可以从驱动云端服务器得到需要的驱动模块,驱动云端服务器中的驱动模块是更新的,在下载相应驱动模块的时候本地网关可以按对应版本进行本地的一个模块更新操作。同时本地物联网关中的本地数据库是存放到外部存储设备sd卡中的,对本地网关上的其他应用提供一个数据接口,可以在本地网关上开发其他的应用。如:基于移动端的访问服务器。

b)插件部分

插件部分根据多协议导致的采集方式不同,进行多协议模块化区分,每个厂家驱动模块拥有数据采集、解析和存储等功能,包括针对两种不同工作方式类型传感器驱动模块设计:数据自动上传驱动设计、轮询上传驱动设计。

针对数据自动上传驱动设计的应用场景,选择无线低功耗传感器做这个驱动模块,这个驱动只有一个界面,当启动这个界面后,启动相应的两个线程,初始参数配置线程和数据解析、存储数据线程,之后要关闭对应的界面,因为只有主程序界面提供显示功能。然后接口参数配置线程中有从USB接口读取数据的方法,这个方法可以一直读取从USB口周期上传 来的采集信息,接下来就是将这些读取到的数据信息进行类型区分、根据定义的特定格式ID来进行数据解析,最后,将解析出的数据和传感器组号、节点号、采集时间、采集位置等信息作为一条数据记录存储到本地网关数据库中。

针对轮询驱动设计的应用场景,插件在启动界面之后,首先要做的工作是配置初始的参数,包括波特率、端口和加载动态库文件,然后才能通过启动的线程来解析存储数据。在信息采集之前必须像传感器层发出请求采集到的信息。可以使周期试的请求,然后接收、处理和存储到本地网关数据库中。存储的方式和数据自动上传驱动设计是相同的。

c)多协议动态适配加载部分

多协议的动态适配可以在不更新整个程序的情况下实现独立模块的安装、运行、卸载、更新,使其适应传感层数据采集模块动态的插拔,对采集层传感器的接入扩展和对物联网网关数据的访问变的更容易。同时,它还具有能自动识别或手动添加相应模块的能力,可以通过网络从驱动云端动态下载并安装、更新相应模块的功能。

该部分解决的问题包括库加载驱动时间选择、启动关闭时机、更新插件驱动等。具体包括4个方向:插件和主程序工作模式、插件生命周期管理、插件需要的资源调用、插件需要的主程序操作接口调用。采用的动态加载技术的原理是:首先,根据驱动包和类信息,可以将之放到列表中,用户也可以用该列表选择启动插件。其次,通过反射方法将类文件加载进虚拟机,然后选择要启动的驱动。最后构建启动所需的类名、包名、上下文等信息,通过动态加载库中的方法启动插件驱动线程。

图6为动态加载驱动流程图。采用的工作流程为主程序实现动态加载接口,该接口可以通过动态加载库管理插件的生命周期并为插件提供资源,并且主程序通过该动态加载模块查找、加载需要的驱动模块,然后使其工作。图6中DynamicLoadLib为动态加载库,Context为主程序上下文,SQLITE为本地网关中的数据库。

3.智能感知层

智能感知层是对各种传感器信息采集处理和智能开关的控制过程。该智能感知层包括多种厂家多种类型的传感器和智能开关。承担信息的采集,可以应用的技术包括智能卡、RFID电子标签、识别码、传感器等。

智能感知层采集得到的这些数据的上传到物联网关层的方式主要分为2种:自动上传和轮询上传。针对每种上传方式物联网关必须有相应的数据解析模块,上传的数据可以通过硬件接口来区分,然而,对于轮询上传还要实现往采集模块发送数据请求命令功能。通过有线或者无线的连接方式,定期或者通过定期轮询的方式从智能感知层接收数据。然后,通过厂 家给定的数据格式,解析数据,并将需要的数据信息,如:空气温湿度、土壤温湿度、光照强度等,在界面上实施显示,同时可以存储到数据库中。

这部分主要是各个插件模块所起作用,插件模块之间工作方式相互独立,与主程序的交互过程也是低耦合的。这样就可以通过独立编写特殊模块的形式,增加对不同协议传感器种类的支持。

综上,本发明解决了物联网关中数据采集存储的多源异构难题,解决了现有物联网关对多协议的支持,进而解决了升级过程中带来的设备成本高、维护复杂、网关寿命短、系统稳定性和扩展性差的问题。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1