一种基于云平台的智能物联网监控系统及方法
技术领域
本发明涉及物联网监控技术领域,尤其涉及一种基于云平台的智能物联网监控系统及方法。
背景技术
二十一世纪,物联网产业已越来越受人关注。从庞大的工业监控系统到常见的温湿度传感器,从简单的数据采集与显示到物联网+下的大数据分析,从人们可以查看身边的温度到远隔万里遥控喂养宠物,世界正在进入万物互联的lot时代。物联网产业拥有无比广阔的前景。
云平台是基于服务器的为用户远程提供储存、计算等服务的平台,在云技术越来越火热的二十一世纪,云平台的基础设备越来越好,越来越多的企业和个人基于云平台为他们的用户提供服务。对于企业,把数据安全风险强制转移到云提供商将会使管理层放心。即时而又轻松的云解决方案继续赢得用户。云也将加速上市时间,使创新速度快于以往任何时候。基于云平台的物联网服务,有着数据源庞大详细、计算可信度高、性能高、成本低和安全性强等特点。
智能物联网监控是物联网的一个重要的产业方向,从工业上对数据精密要求到家居生活对温湿度了解的基本需要,各行各业的人们都对数据监控有很大的需求。流式分析和数据采集技术与物联网一起使用,便是智能物联网监控,它能够很好地将人们需要的数据从庞大的数据源中筛选出来,实现人们对特定数据的有效监控与实时分析。随着智能物联网监控的不断完善,人们的工作和生活都会迎来一个更加智能舒适而且高效的时代。
由于物联网监控在各行各业广阔的市场,越来越多的企业开始介入物联网监控产业,致力于研究更完善的物联网监控系统,形成一套物联网监控产业服务链,一套完善的物联网监控系统能给商家带来巨大的利润。国内的教育与科研机构也日益关注智能物联网监控产业中技术的发展,有关技术的研究在深度和规模上逐渐提高,智能物联网监控的研究,将会推动社会智能工业与智能生活的发展。
然而,现有的物联网监控系统存在许多缺点,包括:①通常是对于特定数据的监控方案,兼容性弱;②通常需要特地购买私人的服务器,布置成本高,难以大众化;③方案布置技术要求高。需要专门的技术人员进行繁琐的配置;④存在部分方案不完善,监控性能差,安全性弱的问题;⑤私人服务器管理容易出错,不稳定,而且没有好的数据容灾措施。
发明内容
为了克服现有技术存在的缺点与不足,本发明提供一种基于云平台的智能物联网监控系统及方法,本发明系统灵活多变、能兼容各种监控目标,克服了传统监控系统监控目标单一局限、智能化程度差的弊端,用户可以自定制监控解决方案,且系统成本低,安全性高。
为解决上述技术问题,本发明提供如下技术方案:一种基于云平台的智能物联网监控系统,包括感知层部分、服务器部分、客户端部分和通讯框架部分,所述感知层部分包括数据采集模块和命令执行模块,所述服务器部分包括数据包存储模块和数据分析模块,所述客户端部分包括PC客户端和移动客户端,所述通讯框架部分包括数据包处理模块、通讯模块和安全模块;其中
所述数据采集模块用于采集其传感器上的数据信息,数据信息包括温度、湿度、烟雾值、图像和视频流;
所述命令执行模块用于获取所述通讯框架部分发布的服务器命令,并根据服务器命令做出相应的操作指令;
所述数据包储存模块用于储存数据信息;
所述数据分析模块用于对历史数据与实时数据进行分析,从而从海量的数据中提取出有作用的数据;
所述PC客户端用于与用户进行人机交互,接受用户的一些命令并根据命令做出对应响应,响应包括:账户登陆、对项目或者账户的信息进行配置与管理、接受服务端的实时信息并且将其可视化以及通过服务器发送指令给传感器结点;
所述移动客户端同样用于与用户进行人机交互,接受用户的一些命令并根据命令做出对应响应,响应包括接受服务端的实时信息并且将其可视化、通过服务器发送指令给传感器结点或者直接发送指令给传感器结点;
所述数据包处理模块用于将数据信息封装成符合协议规范的数据包,以及解析数据包来获取数据包中的数据;
所述通讯模块用于所述服务端部分分别与感知层部分、客户端部分、通讯框架部分的交互;
所述安全模块用于所述数据包处理模块在处理过程中密钥的管理,确保密钥的安全性,使数据不容易被窃取。
进一步地,所述PC客户端包括系统身份验证模块、数据展示模块、远程控制模块、警报提醒模块、本地信息储存模块、账号管理模块以及项目信息配置模块;其中
所述系统身份验证模块用于对使用PC客户端的用户进行账号的安全性检查和权限验证,从而防止非法用户进入系统或者越权操作;
所述数据展示模块用于显示监控目标的实时数据信息、状态描述信息、历史数据信息以及变化趋势信息,并进行信息的预测;
所述远程控制模块用于接收用户对某个传感器的指令,并将指令传输到相应传感器节点上,使其做出对应的响应动作;
所述警报提醒模块用于:当PC客户端检测到来自服务器的警报提醒,将会提示用户注意警报信息并对警报进行评估;
所述本地信息储存模块用于项目配置信息在本地的储存与读取;
所述账号管理模块用于向最高权限的管理员账号提供了添加/删除用户、设定用户权限、查看用户操作以及更改密码的功能;
所述项目信息配置模块用于允许管理员进行项目的具体配置,只有当项目对应区域的配置信息配置好,系统才会识别到设备并进行实时监控。
进一步地,所述的项目信息配置模块用于允许管理员进行项目的具体配置,具体配置包括:添加/删除监控区域、导入监控区域平面图、添加/删除监控区域内的结点和配置结点上传感器的警报条件。
进一步地,所述移动客户端包括系统身份验证模块、数据展示模块、警报提醒模块、本地信息储存模块以及传感器控制模块;其中
所述系统身份验证模块用于对使用移动客户端的用户进行账号的安全性检查和权限验证,从而防止非法用户进入系统或者越权操作;
所述数据展示模块用于显示监控目标的实时数据信息、状态描述信息、历史数据信息以及变化趋势信息,并进行信息的预测;
所述警报提醒模块用于:当移动客户端检测到来自服务器的警报提醒,将会提示用户注意警报信息并对警报进行评估;
所述本地信息储存模块用于项目配置信息在本地的储存与读取;
所述传感器控制模块用于通过蓝牙直接连接传感器结点,对传感器结点上的传感器进行操控。
进一步地,所述的数据包储存模块用于储存数据信息,所述数据信息的存储方式包括:
数据持久化储存:把数据信息保存在服务器部分的数据库中;
实时数据储存池的储存:把实时的数据缓冲到数据储存池中,进行实时数据的储存与更新;
数据的容灾处理:管理数据的备份与风险,数据库的权限管理与主从复制。
进一步地,所述的数据分析模块用于对历史数据与实时数据进行分析,从而从海量的数据中提取出有作用的数据,所述分析数据的方式具体为:计算数据的特征值、判定信息是否触发警报、计算警报信息优先级别和预测数据信息的变化。
进一步地,所述的数据包处理模块用于将信息数据封装成符合协议规范的数据包以及将解析数据包来获取数据包中的数据,其中,对数据包的处理包括:数据的加密与解密、数据包的封装与解封装、数据包的签名。
进一步地,所述的通讯模块用于所述服务端部分分别与感知层部分、客户端部分、通讯框架部分的交互,所述交互的方式具体为:安全检验、建立连接、io资源分配、数据传输和管理连接线程资源。
本发明另一目的是提供一种基于云平台的智能物联网监控方法,包括下述步骤:
S1、感知层部分的数据采集模块的传感器结点采集数据并对数据进行加密,按照数据统一的规范对数据进行封装得到数据包,对数据包进行数字签名,然后传输至服务器部分;
S2、服务端部分收到数据包后,数据分析模块先检验数据包的数字签名和确认数据包是否符合规范,然后按照协议解析数据包,获取数据包内的数据;
S3、数据包储存模块把数据包内的数据缓冲到数据缓冲池中并存储,作为实时数据的储存方式,每当同一传感器有新的实时数据,数据包储存模块更新缓冲池内此传感器的数据,并把旧数据作为历史记录写入数据库中,实现数据的持久化储存;
S4、每当PC客户端或移动客户端开启,其将建立与服务器部分的连接,此时需要用户提供账户和密码信息进行身份验证;
S5、身份验证成功后,客户端部分开始运行,客户端部分将不断从服务端部分的实时信息中获取警报信息,并在获取警报信息后做出警示;
S6、当用户在客户端上对传感器结点上的传感器进行操作时,客户端部分将通过服务器部分或者蓝牙连接传感器结点,使传感器做出对应的响应;
S7、当用户在客户端部分上配置项目信息或者账号信息时,客户端部分将更新项目的信息,并将信息传输到服务器部分,更新服务器部分中数据库的项目和账号信息;
S8、当用户在客户端部分上进行数据监控时,服务端部分将返回客户端部分需求的数据,客户端部分接收数据并将数据进行可视化显示。
采用上述技术方案后,本发明至少具有如下有益效果:
(1)本发明实现兼容可兼容多种数据的监控系统,尽可能地兼容各种数据;
(2)本发明开发基于云平台的稳定而且高性能的监控服务器;
(3)本发明开发多平台的人性化的智能监控客户端,适用于多种数据的监控;
(4)本发明开发基于云平台下海量数据的数据分析。
附图说明
图1为本发明一种基于云平台的智能物联网监控系统的结构框架示意图;
图2为本发明一种基于云平台的智能物联网监控方法的控制流程示意图;
图3为本发明实施例在PC客户端操作界面中设置项目操作示意图;
图4为本发明实施例在PC客户端操作界面中选择区域平面施工图的路径示意图;
图5为本发明实施例在PC客户端操作界面中项目信息页示意图;
图6为本发明实施例在PC客户端操作界面中进入监控模式后区域平面图的放大示意图;
图7为本发明实施例在PC客户端操作界面中监控区域平面图选择传感器节点示意图;
图8为本发明实施例在PC客户端操作界面中设置监控区域平面图的名称示意图;
图9为本发明实施例在PC客户端操作界面中选择传感器类型示意图;
图10为本发明实施例在PC客户端操作界面中设置温湿度传感器设置监控阈值示意图;
图11为本发明实施例在PC客户端操作界面中监控主视图;
图12为本发明实施例在移动客户端中账户登陆界面示意图;
图13为本发明实施例在移动客户端中选择监控区域示意图;
图14为本发明实施例在移动客户端中监控区域的监控界面示意图;
图15为本发明实施例在移动客户端中警报界面示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本申请作进一步详细说明。
如图1所示,本发明提供了一种基于云平台的智能物联网监控系统,其主要包括感知层部分、服务器部分、客户端部分和通讯框架部分四大部分,四大部分的各个部分又包括一系列模块,具体设计方案如下所述。
一、感知层部分:
①数据采集模块:该模块负责采集传感器上的信息。其中信息包括温度,湿度,视频流等类型;
②命令执行模块:该模块负责获取从通讯框架部分得到的服务器命令,并根据命令做出对应的响应。
二、通讯框架部分:通讯框架部分负责数据包的封装和传输,负责在服务器部分与感知层部分、客户端部分建立连接后,负责在发送数据段加密数据后,把数据封装成符合规范数据包以方便数据的传输,再把数据包传输到接收方,再负责把数据包解析成数据交给接收方;
此部分的包括:
(1)数据包处理模块:该模块负责数据包的封装和解析;
数据包的封装要先将数据根据密钥用对称加密算法(如AES)进行加密,然后根据定好的协议(如http)将数据封装成规范的数据包,并对数据包进行数字签名。数据包的解析则要先检验数据包的完整性和安全性,检验通过以后对数据包进行“脱壳”获得密文,然后根据密钥把密文解析成明文数据。
(2)通讯模块:通讯模块负责数据包在服务端与客户端,服务端与感知层之间的传输;
此模块关键在于服务端通过基于.NET的webservices技术提供远程接口调用服务,客户端和传感器通过调用发送报文调用webservices接口来传递数据包和获取数据包。
(3)安全模块:该模块负责数据包处理模块过程中密钥的管理,确保密钥的安全性,使数据不容易被窃取;
该模块的关键在于,服务端定期随机生成对称加密算法的密钥,然后将密钥密钥用非对称加密算法加密后通过通讯框架传递给连接的另一方(感知层或者客户端),另一方解密后获取对称加密算法的公钥,然后利用公钥进行数据包的处理;定期更新数据处理中加密算法的密钥,确保了数据的安全性。
三、客户端部分包括PC客户端和移动客户端,其中PC客户端和移动客户端共有的模块包括:
(1)系统身份验证模块:
系统身份验证模块用于对进入物联网监控系统的用户进行安全性检查,以防非法用户进入系统;在用户登录时,只有已在系统中注册的用户才可以进入系统;
系统身份验证模块主要设计成要求用户在登陆界面中输入具体的账户和密码,在与服务端验证身份和账户权限通过后,用户才能使用客户端;
(2)数据展示模块:
数据展示模块负责显示监控目标实时的数据信息,状态描述,历史数据以及变化趋势和信息预测;
系统会在监控区域页面对应传感器结点的区域生成可视化的结点控件,点击结点控件,将会会数据栏中显示结点上的传感器信息(包括传感器的历史数据,状态描述),并且不断地刷新数据实现结点上的实时数据追踪;点击具体的数据栏目,则可以查看传感器上数据变化趋势和信息预测,数据变化通过绘制图表的形式将数据可视化,使用户更加直观地查看数据结果;
(3)远程控制模块:
此模块负责远程给传感器结点下指令,使其传感器做出相对的响应;系统将会在传感器详细信息的监控界面中生成一个按钮控件,点击按钮,可以查看可以对对应传感器做的指令操作,用户可以通过点击具体的操作按钮发出指令;
(4)警报提醒模块:
此模块负责每当有警报信息被检测出来时,给用户做出对应的警报提醒。
系统会在开始运行之后,一直想服务器验证是否有警报信息,每当收到警报信息的时候,客户端将会在刷新警报栏目,并在悬浮窗口做出警报提示,点击警报提示使系统页面跳转到对应的区域监控界面,进行对发出警报的传感器的实时监控;
(5)本地信息储存模块
此模块负责项目配置信息(如平面图,项目名字,项目上的结点信息)的本地储存,使每次客户端开启时可以加载使用项目的配置资源;
此模块主要使用本地数据库技术,如PC端使用sql server进行数据储存,移动端用sqlite储存;
进一步地,PC客户端独有的模块包括:
(1)账户管理模块和项目信息配置模块:
此模块负责账户信息的管理和项目信息的配置;
系统会在第一次使用PC客户端的时候要求用户创建用户账户组并为账户分配权限(权限包括添加/删除用户,修改项目配置信息),添加完成后将会把信息同步到服务器;移动客户端需要使用配置好的账户才能登陆并且运行;项目信息的配置会在第一次新建项目或者对项目区域信息进行修改的时候进行;
以下是具体步骤:
·项目配置及本地化,监控区域配置、
项目配置及本地化设置功能与监控区域配置的实现主要通过引用一个用户自定义向导控件来实现,将这个控件的DLL拉拽到工具箱中即可使用。向导中包含两步设置;
第一步,设置项目名称与项目文件保存路径;
第二步,设置监控区域名称及备注,导入区域的建筑平面图;完成前两步后,在下一页面可选择继续添加区域或者完成设置,注意在完成设置前任意一步中断设置都不会保存已经设置的项,所以在设置完成前监视用户关闭窗体的事件,弹出提示框提示用户是否放弃前面的设置;此外,在用户已经设置过项目属性的基础上,如果想再添加区域,则继续调用设置向导,但不显示第一步;
·监控结点配置、
监控结点配置的实现主要由确定监控位置,添加结点向导两步组成;
当用户点击任意监控区域的任意位置时,系统记录用户点击的位置坐标、监控区域名称,提示用户是否在此处添加监控结点或视频监控点。在本功能中使用窗体Dialog并将其FormBoarderStyle设置为SizeToolWindow,让其外形看起来像对话框,并在Dialog窗体定义委托与事件回调,模仿系统对话框的功能;
添加结点的向导页面实现步骤为:
第一步:配置结点编号与结点名称,其中结点编号不为空;
第二步:系统先将传感器名称与传感器编号的映射关系导入TreeView控件,通过添加与删除按钮实现添加传感器的操作,暂存添加的传感器列表,如果勾选“选择”复选框,那么下次添加结点时则继续使用这套传感器配置;
第三步:系统先根据添加的传感器列表生成传感器阈值设置表,保存被设置的传感器阈值;
第四步:系统生成确认清单,让用户确认结点配置情况;
第五步:保存结点与传感器的包含关系、监测传感器以及阈值到数据库,并将相关数据传回主界面;
进一步地,移动客户端独有的模块为:
(1)传感器直接控制模块、
此模块负责不经过服务器直接连接传感器结点,并对传感器结点发出指令,使其上的传感器做出相对应的响应;
此模块主要利用手机的蓝牙进行一对一的连接,连接后给传感器结点发送指令信息来进行操作。
四、服务端部分,其包括的模块具体为:
(1)数据储存模块:此模块负责实时信息和历史数据的储存,信息包括传感器收集到的数据,也包括传感器数据的分析结果;
此模块包括三个方面:
实时数据缓冲池的构建:实时的数据将会被缓冲到服务器内存中的数据缓冲池中,每当有新的数据,缓冲池就会更新新的数据,并且对旧的数据进行持久化储存;
数据持久化储存:当实时数据更新后,数据将会被储存到服务器的数据库中,这里使用的是mysql的关系型数据库;
数据的备份:为了防止服务器出现意外损失磁盘中的数据,服务器将将数据库做主从复制的操作,通过多台机器上的数据库复制同步,做好数据库的容灾准备;
(2)数据分析模块:此模块负责对历史数据与实时数据的分析,从而从海量的数据从提取出有作用的信息数据,使监控系统真正地智能化,具体包括:
·多传感器融合识别警报信息;
·根据历史信息和实时数据分析数据特征;
·利用机器学习技术预测数据变化的趋势;
·根据机器学习技术,得出警报的优先度,给警报分级。
本发明根据一种基于云平台的智能物联网监控系统,提供了一种基于云平台的智能物联网监控方法,其具体设计方案如下详细所述。
这是一套基于云平台的智能物联网监控系统,为了使系统正常地运作,我们需要在使用系统之前进行系统布置,包括:
(1)服务器的布置:这部分布置需要根据需求配置好云平台服务器的资源,确保服务器的后台程序的安装运行,并且确定服务器的ip信息;
(2)感知层的设备布置,感知层的传感器结点需要安装配置好,工作正常并且使其连接上服务器;
(3)客户端需要安装好程序,安装完后,需要开启windows平台上的客户端,使用初始的管理员账号创建新的账号,并为账号分配合适的权限;账号组建立完成以后,需要创建需要添加的监控项目,配置项目的具体信息,对应感知层的传感器结点为项目配置具体的结点信息,确保结点信息符合实际情况并且客户端能够接收到结点上的传感器信息。
配置完成后,系统便可以正常地运作,系统运作后,如图2所示,基于云平台的智能物联网监控方法的步骤流程包括:
(1)感知层的传感器结点采集数据,加密后按照数据统一的规范对数据进行封装,并对数据包进行数字签名,然后传输到服务器;
(2)服务端收到数据包后,先检验数据包的数字签名,确认数据包是否符合规范,然后按照协议解析数据包,获取数据包内的数据;
(3)把数据保内的数据缓冲到数据缓冲池中,作为实时数据的储存方式,每当有同一传感器有新的实时数据,更新缓冲池内改传感器的数据,并把旧数据作为历史记录写入数据库中,实现数据的持久化储存;
(4)服务器的数据分析模块会将数据进行分析,并将分析结果作为信息储存起来;分析包括:
·计算数据的特征值;
·判定信息是否触发警报;
·计算警报信息优先级别;
·预测数据信息的变化;
(5)每当客户端开启,客户端将建立与服务端的连接,需要用户提供账户和密码信息进行身份验证;
(6)身份验证成功后,客户端开始运行,客户端将不断从服务端实时信息中获取警报信息,并在获取警报信息后做出警示;
(7)当用户在客户端上对传感器结点上的传感器进行操作时,客户端将通过服务器或者蓝牙连接传感器结点,使传感器做出对应的响应;
(8)当用户在客户端上配置项目信息或者账号信息时,客户端将更新项目的信息,并将信息传输到服务器,更新服务器中数据库的项目和账号信息;
(9)当用户在客户端上进行数据监控时,服务端将返回客户端需求的数据,客户端接收数据并将数据可视化显示。
实施例
本发明实施例以监控工厂的温度、湿度、烟雾浓度为例详细说明本发明的实施过程。
以在智能工厂项目的仓库安全监控为例,通过在仓库的油堆放区添加一个监控结点为例详细说明具体实施过程,其中监控结点内含有烟雾传感器与温湿度传感器各一个。
首先,在传感器监控模块上安装烟雾传感器与温湿度传感器,并把传感器监控模块放在监控目标区域内,接通其电源。
然后,回到PC端监控软件界面,我们可以将项目名称设置为智能工厂项目,在系统的项目页面中点击设置向导添加一个监控区域,如图3所示。
其名称设置为工厂,并上传其区域平面施工图如图4、图5所示。
此时,在用户界面上的项目信息页中会出现区域工厂,并且有区域工厂的平面图。并且当进入监控模式后,会登陆刚刚上传的区域平面图的放大图,如图6所示。
点击监控区域平面图油堆放区位置,在该区域添加一个结点,如图7所示。
设置其名称为油堆放区,如图8所示。
找到烟雾开关传感器与温湿度传感器,并将其添加到结点内,如图9所示。
为温湿度传感器设置监控阈值,最大值设为100,最小值设为30,烟雾开关传感器设置阈值为开,如图10所示。
系统配置完成后,监控开始生效,用户可以获得监控结点的实时状态。
监控主视图如图11所示,用于实时获得监控区域内所有监控点的状态及位置图示,右侧用于将指定区域内的监控结点实时状态始终挂起在系统右侧,常为用户特别关注的结点。
使用移动客户端软件,如图12所示,为账户登陆界面,输入正确的信息后登陆成功。
如图13所示,为监控系统的区域目录,点击想要监控的区域名字,则会跳转页面至对应区域的监控界面,如图14所示,这里选取另外一个区域二号车间.
如图15所示,为监控系统的警报界面,这个界面将会显示所有的警报信息,警报信息根据优先级别排序,点击信息可以跳转到警报对应区域的监控界面。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解的是,在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种等效的变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。