e-works数字化企业网  »  文章频道  »  基础信息化  »  工业互联网

物联网应用案例:镇海智慧水务

2017/9/21    来源:极客头条    作者:余章琪      
关键字:物联网  智慧水务  
镇海智慧水务项目的各类监测设备主要是工业自动化系统的传感器,如水质PH值、COD等的检测、流量计、水位计等。

    物联网网关
 
    镇海智慧水务项目的各类监测设备主要是工业自动化系统的传感器,如水质PH值、COD等的检测、流量计、水位计等。Modbus协议是水务水利工业传感协议的事实标准,此外,OPC协议应用也较为广泛。虽然是标准协议,但由于各单位已经存在一些原有的自动化监控系统,设备来自不同的厂家,系统也不是一个开发商提供的,所以对Modbus协议的实现方式不完全一致,增加了系统开发和集成的难度和工作量。
 
    针对此类共性需求,项目中我们自主研发了物联网网关产品。物联网网关通俗的讲就是一个通用的数据采集和通信网关。它内置了对主流数据协议的支持,并且提供自定义插件来实现动态扩展,即对于非内置支持的协议,可支持协议的二次定制开发。开发人员只需要继承DataSource基类,实现特定的override方法,即可迅速完成一个新“数据源”程序的开发。然后将动态链接库(DLL)通过管理工具发布到物联网网关服务器,即可实现与特定类型设备和传感器的通信,如图4。
 
物联网网关工作原理示意图
 
图4 物联网网关工作原理示意图
 
    海量数据存储
 
    镇海智慧水务项目一期接入了诸多的监测厂、站、节点等,不同类型监测指标的采集频率也不完全相同。根据统计,所有节点一天上报的监测数据约为4.32亿条,1年下来就是1500亿条记录,约7.2TB。
 
    基于以上的容量规划,经过技术调研和可行性验证,我们最终选择采用MongoDB数据库作为实时数据的持久化存储。
 
    MongoDB实时监测数据集合的Schema如下:
 
 MongoDB数据库性能最佳实践
 
    经过测试分析,我们总结了MongoDB数据库性能最佳实践,当然,这是基于我们自己的测试数据得出的,如表1所示仅供参考。
 
  MongoDB数据库性能最佳实践
 
    表1 MongoDB数据库性能最佳实践
 
    这里值得注意的是,我们的性能测试和评估是在单台服务器的情况下完成的,因此,在实际生产部署环境下,建议采用复制集加分片集群的模式。
 
    图5说明如何在最佳性能和最大数据可靠性之间取得平衡。
 
最佳性能和最大数据可靠性的平衡
 
图5 最佳性能和最大数据可靠性的平衡
 
    实时通信
 
    物联网应用从传感设备的数据采集、处理到存储、传输、分析、展示,中间要经过很多的环节,除了程序运行处理的时间开销,还应考虑网络传输的延时,即用户对系统实时性的要求。除此之外,人机交互的模式对系统可伸缩性的影响也不容忽视——当新的监测数据上报到服务器时,是主动推送至监控系统的用户界面,还是让用户发送新的数据请求然后将结果返回给用户?推送动作的触发是采用数据库轮询模式,还是基于事件通知?这些都会影响到最终的技术选型。
 
    表2是对相关技术的简单对比。
 

通信技术对比

 
表2 通信技术对比
 
    最终,我们选择了HTML5 WebSocket作为从物联网网关到监控系统用户界面的实时数据通信机制。主要评估指标包括:实时性、系统可伸缩性、技术复杂度、浏览器兼容性、标准性与开放性、用户体验。
 
    数据交换与共享
 
    如前文所述,由于政府部门和单位间的“数据孤岛”现象严重而导致难以实现系统间互连互通,因此,迫切需要一种数据交换与共享的解决方案。经过市场调研之后,我们最终自己开发了一个轻量级的数据交换与共享服务器程序,来满足镇海智慧水务的数据交换需求,如图6。
 
 数据交换与共享服务工作原理
 
图6 数据交换与共享服务工作原理
 
    数据提供者程序和数据接受者程序可以分别部署在不同的网段,不同的服务器上,只要两台服务器之间存在可以连通的网络即可。数据发送方进程和数据接收方进程分别具有本方数据库的访问权限,而无需知道对方数据库。
 
    数据交换配置信息,用来描述源数据库和目标数据库的的标识、表及字段映射关系。 
 
    一个数据提供者可以向多个接收者发送数据,一个数据接收者也可以从多个提供者接收数据。
 
    说到这里,有人可能会问:为什么不直接采用数据库层面的DTS来实现数据复制呢?简单的说,DTS也能在一定场景下适用,但只能视具体项目情况而定,而且必须2个数据库间能直接互连,而这在镇海智慧水务项目中基本是不可行的。
 
    后记
 
    最后跟大家分享几点心得:
 
    多了解项目相关的知识。像实施镇海智慧水务项目,需要了解工业传感器、PLC编程、嵌入式系统和编程、网络通信、服务器端开发、大数据相关技术、GIS、数据可视化分析和展示等知识。
 
    架构设计需谨慎。在技术落地和项目实施的过程中,要不断优化和演进架构设计,并且防止设计的退化。
 
    对物联网应用项目的实施来说,很大一部分工作量在于系统集成和设备联调。使用实时数据模拟程序、可视化数据分析等工具能够将整个项目进行合理划分和分解,也有利于并行开发,加快进度,便于系统集成。
 
责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐