赞
踩
在物联网采集管控系统中,前后端隔离的情况下,前端通过表单(比如按钮,开关,表格等)输入数据到数据库(比如MySql,通过WEBAPI服务端输入),然后采集控制端到数据库里去扫表取数据,将数据下发给物联网络中的终端设备(比如风扇控制板),从而来控制风扇的开跟关。
采集控制端需要到数据库中去扫表。这个扫表操作会带来几个问题:
扫表会有锁表风险,当该DBContext被占用的时候,其他线程不能实时使用此DBContext。
在物联网系统中,数据会非常多,比如有10000台设备,每台设备有100个采集控制点,则控制点最多可能会达到100W数据,这样去扫表,不仅占用DBContext上下文的时间会很长,而且实时性会很差。
增加了采集服务端编程的复杂性。
用户体验效果较差:客户点了开关控制风扇打开,然后底端设备需要很长时间才能真正打开。
使用消息订阅发布方法。RabbitMQ比较重,故这里选用Redis的订阅发布功能,而且很多情况下Redis已经被作为缓存在引用,详见如下。
前端将实时控制值以Restful API形式通过IP地址端口号+路由(比如:192.168.2.106:5000/ControlConfig)将此值传递给服务端。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。