孟 欣,游 彬,陈科明
(杭州电子科技大学电子信息学院,浙江 杭州 310018)
基于分布式存储的照明系统实时同步机制
孟 欣,游 彬,陈科明
(杭州电子科技大学电子信息学院,浙江 杭州 310018)
以服务器为中心的集中式信息同步机制已无法满足现代智能照明系统多用户、内外网同时操作的需求,提出了一种基于分布式存储的照明系统实时信息同步机制,实现了多用户之间信息的实时同步,同时也实现了多用户局域网或互联网的同时操控.实际应用测试表明,系统的同步良好.
分布式;信息同步;智能照明系统
近年来,智能技术与LED照明技术的结合创造了崭新的照明文化.智能照明系统向多平台、多用户、多网络的方向发展.目前典型的室内智能照明系统中,照明灯具通过WiFi、ZigBee、私有协议等与网关互联互通[1-2],网关统一接入互联网,与服务器、手机等进行通信[3].基于此架构,系统满足多终端(微信、苹果、安卓)对照明灯具的操作,并实现了多用户局域网或互联网的同时操控[4].但是,系统的机制无法实现信息的实时同步.
智能系统的实时信息同步机制已经有大量的研究成果,文献[5-6]结合云计算和消息队列遥测传输(Message Queuing Telemetry Transport, MQTT)技术,订阅者通过订阅特定话题,得到话题的所有消息,从而实现了信息的实时同步.文献[7]采用HTTP协议,客户端通过对云端数据库的查询获得系统的实时信息.以上机制都是将系统信息存储于服务器,用户所需信息必须通过互联网从服务器获取,不能在局域网内运行,无法满足用户内外网同时操作的需求.为此,本文提出了基于分布式存储的照明系统,实现了多用户之间的信息实时同步,在没有互联网的情况下,系统也能正常工作.
目前,在家庭智能照明系统中,用户主要通过手机APP来控制灯具的状态.系统的信息同步主要指手机APP上的用户信息和系统实际状态的同步.在系统运行中,信息同步主要包括两个方面:APP在开启时,通过查询方式获得系统的实时状态,实现信息同步;灯具状态变化时,系统主动向多个用户通知状态的改变,从而实现信息同步.
1.1 信息的分布式存储方案
传统的集中式信息存储如图1所示,用户通过互联网从服务器获得系统信息.本文提出的分布式信息存储如图2所示.在用户家庭中,手机与网关处于同一个局域网内,不需要服务器和互联网的参与就能直接进行信息的交互,交互速度更快,运行成本更低.本文将用户控制所需的系统信息分成3部分:服务器存储灯具与房间的逻辑关系;网关保存无线网络的状态信息;智能灯具保留灯具的状态.灯具与房间的逻辑关系可由用户设置,用户APP通过互联网与服务器进行同步.当用户无法连接互联网时,用户先在本地保存相关信息,等待下次互联网网络质量良好时再进行信息的同步.无线网络的状态信息包括集中器地址、节点地址等,可直接通过局域网获得.由于受到多个用户的操控,用户通过局域网访问网关得到灯具状态的实时信息,灯具的状态包括开关、亮度、颜色等.
图1 集中式信息存储
图2 分布式信息存储
1.2 信息同步的实现
用户信息的同步实现主要包括两个方面.一方面,在APP开启时,进行网络检测,同步灯具与房间的逻辑关系,向网关查询无线网络的状态信息后,向智能灯具读取灯具的最新状态,实现用户开启APP时的系统信息的实时同步;另一方面,当APP对智能灯具进行操作时,发送命令帧到灯具,灯具进行反馈,网关主动广播给同一网关的其他用户,从而实现多用户的信息实时同步.
1.2.1 APP开启时信息的同步
当APP被用户打开后,整个系统信息同步的流程图如图3所示.
1)通过与服务器的信息交互,完成灯具与房间的逻辑关系更新.用户完成登录后,软件后台判断是否能够连入互联网,若不能,使用本地数据库的信息,直接跳到步骤2.若可以连接,发送当前网关的版本号请求,请求成功后,与本地数据库版本号进行比较,若版本号一致,则本地数据库的逻辑关系为最新信息,直接跳到步骤2.否则将发送网关信息请求,将云端返回的JSON数据进行解析,覆盖本地数据库信息,如图4所示.
2)与网关进行通信,完成无线网络的状态信息更新.APP后台发送查询命令到网关,网关返回无线网络信息.返回的信息包括入网灯具的IP和MAC地址,是否在线等信息.
3)与灯具进行信息交互,完成灯具的状态查询更新.依次将步骤2读取到地址的全部灯具按照查询帧的格式发送给网关,网关得到数据后,轮询发送给该网关的灯具,灯具将数据打包返回给网关,网关将数据返回到客户端.APP进行数据处理后,将用户界面进行更新.此时完成APP开启时的系统信息同步.
图3 APP开启时信息更新流程图
图4 更新灯具与房间的逻辑关系流程图
1.2.2 APP对智能灯具操作时的信息同步
图5 多用户灯具的状态同步
当客户端处于内(外)网模式时,客户端通过局域网(互联网)发送灯具的命令帧到网关,网关解析命令帧中的目标地址,通过射频信号发送到特定的智能灯具.智能灯具执行命令后,回复状态帧到网关,网关将此状态帧主动广播给其余客户端,客户端接收到状态帧后,解析处理,完成多用户数据信息的同步.因此,单用户使用APP对灯具进行操作时,该网关的所有在线用户均可得到该智能灯具状态的实时信息.
多用户同步如图5所示,假设用户A对智能灯具1进行操控,同一局域网的用户B,C,F将接收到网关主动广播的灯具1的状态回复帧,用户D,E也将收到由互联网转发过来的状态帧.此时若网关不能连入互联网,用户A,B,C,F也能实现多用户对系统的准确操作.
本文提出的机制已成功应用于某科技有限公司的智能照明系统,系统实现了多用户、多终端同时操控,支持内网(局域网)模式和外网(互联网)模式.搭建小型测试系统,系统包括6盏智能灯具、3只手机客户端、1个智能网关,分别进行服务器集中式存储和分布式存储的信息同步时间的测试.
2.1 APP开启时的信息同步时间
本文进行了1 000次APP开启时系统信息更新的平均时间的测量.用户打开APP获取系统信息的实时时间如表1所示.
表1 APP开启时的信息同步时间 ms/次
从表1中可以看出,采用服务器集中式存储比分布式存储平均多消耗近1 000 ms.
2.2 APP对灯操作时的信息同步时间
本文进行了1 000次的单用户对智能灯具操作,多用户灯具信息同步的平均时间测量,如表2所示.
表2 APP对灯操作时的信息同步时间 ms/次
从表2中可以看出,采用服务器集中式存储是分布式存储对灯操作信息同步时间的近3倍.通过以上分析可知,采用分布式存储信息的照明系统同步速度快.在实际使用中,用户可以同时操控100盏照明灯具,系统工作稳定,性能良好.
在照明系统应用中,本文采用基于分布式存储的实时信息同步机制,实现了系统信息的实时同步,满足了内外网、多用户、多平台同时操作的需求,符合现在智能家居的发展方向,具有较高的市场应用价值.
[1]乔季军,王德宇,李玉琳,等.融合ZigBee与WiFi无线技术智能家居系统的设计[J].自动化仪表,2015,36(12):48-51.
[2]GAO Q, LI X, SUI Y, et al. Design and implementation of LED intelligent lighting system based on the technology of PoE[C]//The 27th Chinese Control and Decision Conference (2015 CCDC). IEEE, 2015: 2628-2633.
[3]BANNAMAS S, JIRAPONG P. An intelligent lighting energy management system for commercial and residential buildings[C]//Smart Grid Technologies-Asia (ISGT ASIA), 2015 IEEE Innovative. IEEE, 2015: 1-6.
[4]邵鹏飞,王喆,张宝儒.面向移动互联网的智能家居系统研究[J].计算机测量与控制,2012,20(2):474-476.
[5]KIM S M, CHOI H S, RHEE W S. IoT home gateway for auto-configuration and management of MQTT devices[C]//Wireless Sensors (ICWiSe), 2015 IEEE Conference on. IEEE, 2015: 12-17.
[6]陈玮,秦会斌,曹曙光,等.基于Android平台的智能家居系统设计[J].电子技术应用,2015,41(10):52-54.
[7]莫太平,胡俊波,赵佩斯.基于Android的智能家居系统的设计与实现[J].自动化与仪表,2015,30(1):33-36.
A Mechanism of Real-time Synchronization Based on Distributed Storage in Lighting System
MENG Xin, YOU Bin, CHEN Keming
(SchoolofElectronicInformation,HangzhouDianziUniversity,HangzhouZhejiang310018,China)
The centralized synchronization based on a central server mode can’t meet the requirement of the intelligent lighting system, in which more than one user simultaneously operates between the internal and external networks. A real-time information synchronization mechanism for lighting system based on distributed storage is proposed, which not only can realize the real-time synchronization of information among multiple users, but also can allow multi-users to control through local area network or the internet at the same time. The practical application test shows that the synchronization of the system is pretty good.
distributed; information synchronization; intelligent lighting system
10.13954/j.cnki.hdu.2017.01.007
2016-09-14
孟欣(1991-),女,江苏徐州人,硕士研究生,物联网技术.通信作者:游彬副教授,E-mail:youbin@hdu.edu.cn.
TP273+.5
A
1001-9146(2017)01-0029-03