智能家居多移动终端数据同步与推送系统的制作方法

文档序号:9288064阅读:487来源:国知局
智能家居多移动终端数据同步与推送系统的制作方法
【技术领域】
[0001]本发明涉及智能家居移动终端的数据同步设计领域,具体是一种基于ApacheMINA的智能家居多移动终端数据同步与推送系统。
【背景技术】
[0002]近年来随着物联网技术的兴起,以及移动互联网的蓬勃发展,人们也在智能家居控制方面有了新的需求,家居智能化优化人们的生活方式,为人们带来了生活上的便捷体验。许多互联网公司也不断地与家电厂商合作创新,推出各式各样的智能家居控制产品。在这些产品中,大多数都集成了家电控制、监控、管理等功能,在远程移动终端控制方面,尚未做到家居电器的实时信息反馈与多终端同步,实时性欠佳。
[0003]目前智能家居控制方面的技术,主流的有基于WIF1、Zigbee,433Mhz等通信技术,其家庭主控一般有基于ARM架构或Intel X86架构的控制终端,移动终端主要以Android、1S、Windows Phone操作系统为主,但是在移动终端上没有提供较好的多终端实时数据同步系统,会导致家电状态无法及时获知,甚至导致多终端控制的状态错乱。
[0004]因此,有必要做进一步改进。

【发明内容】

[0005]本发明的目的旨在提供一种架构简单合理、智能化、多终端数据同步、有条不乱的基于Apache MINA的智能家居多移动终端数据同步与推送系统,以克服现有技术中的不足之处。
[0006]按此目的设计的一种智能家居多移动终端数据同步与推送系统,包括家庭主控数据采集模块、服务端消息处理模块、Android移动端网络数据处理模块,其特征在于:所述家庭主控数据采集模块包括:家电控制数据采集程序;其运行于基于x86架构的家庭主控,用于收集智能家居中Wifi节点板通过以太网络反馈的家电状态数据、安防传感警报数据;所述服务端消息处理模块包括:基于Apache MINA的服务端消息处理程序,用于维护移动终端接入的TCP长连接,消息的接收、解析与发送,消息数据逻辑处理,数据库访问;所述Android移动端网络数据处理模块包括:Android应用程序中的长连接维护模块,用于维护与服务器间的TCP长连接;消息接收解析模块,用于正确接收来自服务端的家电状态数据、安防警报信息等,并通知上层UI显示给用户。
[0007]所述家庭主控数据采集模块、服务端消息处理模块和Android移动端网络数据处理模块之间通过TCP长连接进行通信,并使用特定的消息协议进行消息传输,使用2字节的心跳包维护连接状态,智能家居的家电状态数据、安防传感警报数据可以通过此种消息,从家庭主控经由服务端推送至多个移动终端,并在UI上显示,多移动终端的状态同步。
[0008]消息协议包括4字节长度的消息头以及不定长的消息负载,在4字节的消息头中,第I个字节代表消息类型,第2个字节为预留,第3、4字节为消息长度,确定了消息负载的长度。
[0009]Apache MINA 的服务端消息处理程序包含 Long Connect1n Handler、LogicHandler以及Database Helper子模块,其将移动终端接入的长连接,通过1Sess1n的ID作为连接主要标识,存于LongConnHolder的Map以及数据库中。
[0010]Database Helper子模块基于Hibernate开源框架,通过DAO访问数据库。
[0011]Logic Handler在遵循消息协议的基础上,进行逻辑扩展,支持更多类型消息。
[0012]本发明主要通过开源框架Apache MINA并提出了基于该框架的一种面向智能家居控制的多移动终端数据同步、数据推送系统的解决方案,主要包括家庭主控数据采集模块、服务端数据处理模块以及Android移动终端处理模块。其中,家庭主控数据采集模块用于收集家电状态数据和安防传感警报数据;服务端数据处理模块用于维护移动终端接入的TCP长连接,消息的接收、解析与发送,消息数据逻辑处理,数据库访问;Android移动终端处理模块用于接收家电状态数据、安防警报信息等,并通知上层UI显示给用户。其具有架构简单合理、智能化、多终端数据同步、有条不乱的特点。
【附图说明】
[0013]图1为本发明一实施例中的智能家居数据同步、推送解决方案总体设计图。
[0014]图2为本发明一实施例中的智能家居控制状态数据同步总体架构图。
[0015]图3为本发明一实施例中基于Apache MINA的数据同步、推送服务端程序设计图。
[0016]图4为本发明一实施例中的智能家居控制状态数据同步协作图。
[0017]图5为本发明一实施例中的自定义消息协议说明。
【具体实施方式】
[0018]下面结合附图及实施例对本发明作进一步描述。
[0019]为了实现本发明,采用的技术方案如下:
[0020]参见图1,本智能家居多移动终端数据同步与推送系统,主要有三大模块:在家庭主控机上部署基于TCP/IP传输协议的家庭主控数据采集模块、在服务器上部署基于Apache MINA的消息同步、推送的服务端消息处理模块,在Android移动终端运行智能家居应用程序的Android移动端网络数据处理模块。三个模块间均基于TCP/IP网络通信协议。在服务端中的核心模块,引入的Apache MINA开源框架,是基于JAVA异步网络10接口,提供了网络传输上抽象的事件驱动的异步API,模块基于该框架,维护了多终端与服务器之间的TCP长连接,并为家庭主控提供了家电数据反馈的服务接口。
[0021]其中,家庭主控数据采集模块包括:家电控制数据采集程序;其运行于基于x86架构的家庭主控,用于收集智能家居中Wifi节点板通过以太网络反馈的家电状态数据、安防传感警报数据;
[0022]服务端消息处理模块包括:基于Apache MINA的服务端消息处理程序,用于维护移动终端接入的TCP长连接,消息的接收、解析与发送,消息数据逻辑处理,数据库访问;
[0023]Android移动端网络数据处理模块包括:Android应用程序中的长连接维护模块,用于维护与服务器间的TCP长连接;消息接收解析模块,用于正确接收来自服务端的家电状态数据、安防警报信息等,并通知上层UI显示给用户。
[0024]家庭主控数据采集模块、服务端消息处理模块和Android移动端网络数据处理模块之间通过TCP长连接进行通信,并使用特定的消息协议进行消息传输,使用2字节的心跳包维护连接状态,智能家居的家电状态数据、安防传感警报数据可以通过此种消息,从家庭主控经由服务端推送至多个移动终端,并在UI上显示,多移动终端的状态同步。
[0025]本发明的主要内容包括基于Apache MINA框架的一种智能家居控制中数据同步、数据推送的设计方案,如下:
[0026]I)基于Apache MINA的服务端消息处理模块
[0027]该模块是基于Apache MINA开源网络框架的Java应用程序,其服务端消息处理程序主要包括的子模块有:Long Connect1n Handler (TCP长连接维护)、Logic Handler以及基于Hibernate的数据库访问模块Database Helper,其将移动终端接入的长连接,通过1Sess1n的ID作为连接主要标识,存于LongConnHolder的Map以及数据库中。DatabaseHelper子模块基于Hibernate开源框架,通过DAO访问数据库。Logic Handler在遵循消息协议的基础上,进行逻辑扩展,支持更多类型消息。
[0028]具体工作方式如下:LongConnect1n Handler 通过 Apache MINA 的 1sess1n来维护移动终端与服务器之间的TCP长连接,该子模块是基于Apache MINA的1HandlerAdapter来处理网络数据10,并将消息进行解析,区分消息类型,如果是来自客户端应用程序的心跳包,则进行心跳包回复,如果是属于带有数据载荷的消息,则交给Logic Handler的Message Dispatcher进行消息分发,随后由不同的逻辑模块去处理消息。各种消息包括了智能家居用户的登录身份验证消息、家庭主控的注册消息、各种类型的推送消息(如状态信息同步的推送消息)等。Logic Handler子模块根据不同类型的消息,进行相应的逻辑处理,在处理消息的过程中,将使用到数据库访问模块。数据库访问子模块基于开源的数据对象关系映射框架Hibernate,提供了简便快捷的数据库访问。
[0029]2)在家庭主控上部署的家电主控数据采集模块
[0030]该模块是一个基于TCP\IP网络通信的应用程序,部署于家庭主控上,负责家电控制状态数据、安防传感设备数据的采集工作。
[0031]具体工作方式如下:家庭主控是一台x86架构的微型计算机,在智能家居解决方案中将放置于对应的家庭居住环境里,其与WIFI节点板块通过WIFI通信互联,WIFI板块作为家电控制数据的中转站,将家庭主控中的控制程序发来的指令,通过433Mhz通信来控制家电。与此同时,家电设备以及安防设备可以通过433Mhz并经由WIFI节点板块传输给家庭主控中的控制程序。而作为控制程序的一部分,主控上部署的家电数据采集模块,可以从中采集到家电设备反馈的设备状态,以及安防设备反馈的传感器数据值。这些数据值再通过固定格式的消息,发往服务器进行消息处理,并推送到多个移动终端。
[0032]3) Android移动终端上部署的Android移动端网络数据处理模块
[0033]该模块部署于Android移动终端上,并将最新的家电设备状态信息、智能家居安防传感器数据信息进行处理后,通过用户界面展现给智能家居移动终端用户,用户将实时了解家电的最新状态以及安防系统的实时报警状态。
[0034]具体工作方式如下:在Android移动终端上的网络数据处理模块,包括运行于Android应用程序的后台Service,其与消息处理服务端建立TCP长连接,同时Connect1nHandler通过心跳包与服务端来维持TCP长连接,保障通信链路的畅通,提高了状态数据同步的实时性。每当接收到从服务端推送过来的消息,将进行解析并处理。如果接收到的是安防传感器的警报数据,将通过Android的响铃或者震动方式提醒用户,如果接收到的是家电设备状态信息,通过Android的Activity UI显示给用户。
[0035]本发明基于Apache MINA开源框架,并通过TCP长连接来进行智能家居中多移动终端的数据同步,具有以下几个优点:
[0036]I)高并发访问,减少服务端资源开销。Apache MINA开源网络应用程序框架,是通过JAVA的异步网络1提供了 TCP/IP和UDP/IP的支持的,而异步网络1处理,根据网络socket的状态轮询结果来进行处理,单进程也可以做到高并发访问,相较于传统的多线程处理网络连接的模型,更节约服务器资源,不用为每个请求连接安排独立的线程去
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1