- 相关推荐
家庭安防系统数据通信问题的研究
【摘 要】当今社会,家庭的安全防盗成为了重大的问题,为了维护家庭的生命财产安全,及时发现危险情况,安装一套家庭安防系统是很有必要的,家庭安防系统的重点在于安防数据的通信,以便实时预警。本文阐述了安防系统的整个数据通信过程,并对具体的通信部分提出了解决方案,有利于实现更加安全、高效率的安防系统。
【关键词】家庭安防;数据通信;Mina框架;WebService技术;手机推送
引言
随着社会经济的飞速发展,社会结构和社会治安都日趋复杂,入室抢窃、偷盗等诸多社会问题时有发生,使得人们对家庭生命财产的安全越来越重视。为了满足人们对家庭安全防范的更高要求,及时发现入室抢劫等危险情况,并在第一时间内迅速通知给用户,将险情遏制在萌芽阶段,从而更好的保护住宅用户的利益。家庭安防系统应运而生,家庭安防系统的研究,可以使用户跨越时间、空间的阻隔进行远程监控工作[1],提高了住宅的安全防盗性能,可以有效的保护用户的生命财产安全,具有较高的应用价值。
家庭安防系统是基于网络的,系统功能实现的重点在于数据通信,数据通信是通信技术和计算机技术相结合而产生的一种新的通信方式。需要把文本、图像、视频、音频等元素与二进制数据进行转换传输。本文在实现了一套家庭安防系统的基础上,着重对系统的数据通信问题做出研究,并提供了一套有效的解决方案。
1 开发工具简介
1.1 MyEclipse
MyEclipse是一个功能十分强大的企业级集成开发环境,是在eclipse的基础上集成自己的插件开发而成的,主要用于Java还有Java EE和移动应用的开发。MyEclipse拥有完备的编码、调试、测试和发布功能,完整支持HTML, CSS, Javascript, Struts, JSF, SQL, Hibernate。MyEclipse在结构上可以被分为7类特征:(1)J2EE模型;(2)WEB开发工具;(3)EJB开发工具;(4)应用程序服务器的连接器;(5)J2EE项目部署服务;(6)数据库服务;(7)MyEclipse整合帮助。MyEclipse通过各种各样的的插件来提供以上的功能。MyEclipse具有模块化的结构,能够对任一模块实现单独的升级和扩展。
1.2 Android
Android是一种操作系统,是基于Linux开发而成,开放源码,它主要被使用于移动设备,如平板电脑和智能手机。Anroid平台对第三方软件是完全开放的,开发者可以更加自由的在平台上开发程序。Android系统是不收费的,这样可以节省开发者开发的成本。Android平台主要拥有5大特点:(1)开放性:Android联盟允许所有的移动终端设备厂商加入到 Android平台;(2)摆脱运营商的制约:用户能够更方便地去连接网络,减少了运营商对用户的束缚;(3)硬件选择更加丰富:众多的Android设备厂商提供了五花八门、功能各式各样的产品;(4)开发商不会受到任何的限制:Android平台拥有一个非常宽泛、十分自由的生态环境,使得开发商不会被太多的条条框框而阻扰;(5)Google应用:Android平台设备可以非常方便的使用Google服务。
2 系统功能简介
家庭安防系统主要由三部分组成,硬件端采集系统、服务器管理系统和手机移动终端。硬件端利用温度传感器、振动传感器与摄像头,实现对家庭安全防盗信息的采集;服务器端对数据进行存储分析;手机端对数据进行展示,以及防盗报警。系统主要功能是实现对家庭内部的监控,能够采集家庭内的温度、振动、图像信息,并且能将这些信息发送到服务器上。当家庭内有异常(陌生人非正常进入)时,可以检测出异常,然后通过服务器将报警信息发送到用户的手机上。用户可以通过手机登录服务器来查看家中的温度、振动、图像信息,并且可以发送特定的指令信息给服务器,修改家庭内监控网络的一些参数(采集频率、开关状态等)。
3 通信功能实现
家庭安防系统的数据通信功能主要分为三个模块:(1)硬件端与服务器端通信:硬件端网关把采集的数据分析压缩后上传到服务器端,服务器端向硬件端发送监控参数设置信息;(2)服务器端与手机端通信:服务器端对硬件端上传的数据进行存储分析,向手机端提供数据调用的展示和异常时的报警,手机端向服务器端设置监控参数;(3)服务器端与PC客户端通信:服务器端向PC客户端提供数据调用的展示,PC客户端向服务器端传送数据操作生成的数据信息。具体的系统数据通信框架如图1。
图1 系统数据通信框架图
3.1 硬件端与服务器端通信
家庭安防系统面对的用户群非常广泛,同一时间需要支持大量的硬件端数据上传,而且数据上传的频率非常高,因此,服务器需要支持大规模的并发连接。传统的Socket通信是阻塞的、非异步的,连接数较多将会出现资源不足的情况,程序响应出现延迟,甚至崩溃。Apache Mina是一个网络通信应用框架,也就是说,它主要是基于UDP/IP和TCP/IP协议栈的通信框架,我们可以使用Mina 快速的开发高性能并且高扩展性的网络通信应用,Mina 提供了基于事件驱动和异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型[2]。messageReceived是Mina中用于接收消息的方法,在此方法中进行消息的处理。核心代码如下:
public void messageReceived(IoSession session, Object message)
throws Exception {
IoBuffer buffer = (IoBuffer) message;
Context ctx = getContext(session);
byte[] b = new byte[buffer.limit()];
buffer.get(b);
System.out.println(b.length);
DataOutputStream dos = ctx.getDos();
boolean isopen = ctx.isIsopen();
System.out.println(isopen);
int len = b.length;
for(int k=0;k ...
}
}
3.2 服务器端与手机端通信
3.2.1 WebService调用
WebService是一种跨编程语言和跨操作系统平台的远程调用技术[3],WebService使用HTTP协议进行数据传输,采用XML格式来封装数据(在XML中要说明调用远程服务对象的什么方法,传递的是什么参数,还有服务对象会返回什么结果)。家庭安防系统服务器端将已经开发好的功能和数据发布到网络上某个地址,手机客户端通过访问这个地址获取所需的功能。WebService发布的核心代码如下:
public void init() {
System.out.println("Start Server...");
TestImpl implementor = new TestImpl();
String address = "http://127.0.0.1:8080/Test";
Endpoint.publish(address, implementor);
System.out.println("Server ready...");
}
服务器端提供了和手机端进行交互的各式各样的方法,具体的WebService方法如图2。
图2 WebService方法
3.2.2 推送报警信息
家庭安防系统很重要的一个功能就是服务器端向手机端实时推送报警信息,目前的推送技术有几种常用的解决方案[4]。(1)轮询(Pull)方式:手机端会不间断的主动连接服务器,查询是否有推送消息到达,选取这个方式需要注意的是轮询频率的选择,如果太慢,消息可能会遭到延迟,假如太快,电量和网络会被大量消耗;(2)SMS(Push)方式:在使用Android平台的设备上,通过对SMS消息的拦截,程序可以分析服务器推送消息的意图,并对消息内容进行分析和处理。选取这个方案,可以完全的实现实时操作,但是运营成本是比较高的,目前基本上没有可以免费发送短消息的网关来实现这个方案;(3)持久连接(Push)方式:这个方案能够解决由轮询方式带来的消息延迟问题,但是还是会消耗手机的网络带宽和电池电量,也会大大增加服务器的并发连接压力。家庭安防系统的主要目的是实时预警,及时的发现危险情况,因此推送信息的实时性是必须要保证的。考虑到报警信息所需的实时性、偶然性和信息的重要性,项目采用了第二种解决方案,通过调用短消息发送网关来实现报警信息的推送功能。
3.3 服务器端与PC客户端通信
服务器端与PC客户端的通信主要采用了AJAX技术,AJAX(异步JavaScript和XML)是一种创建交互式网页应用的网页开发技术[5]。AJAX的优点:(1)无刷新的更新数据:AJAX最大的一个优点是可以与服务器交换很少量的数据,而不用去刷新整个前端页面;(2)与服务器异步通信:AJAX采用异步的方式和服务器进行通信,不会中断用户的操作,响应能力更加迅速;(3)前端与后端负载平衡:AJAX客户端闲置时,可以为服务器端负担一些工作,节约宽带成本;(4)基于标准并且被广泛支持:AJAX基于被广泛支持而且标准化的技术,不必下载小程序或者安装浏览器插件,但是客户需要允许在浏览器上运行JavaScript代码;(5)应用与界面分离:有利于提高开发效率,减少程序错误。
4 结语
本文从实际需求出发,阐述了一套家庭安防系统的实现,并对家庭安防系统的数据通信部分做了重点研究,提出了一系列的解决方案。实验结果表明,系统的数据通信能力、预警的实时性都得到了显著提高。随着WIFI等无线通信技术的不断发展,硬件设备的不断更新,系统数据的传送速率和利用效率会大大提高,家庭安防系统将会有更大的前景。
【参考文献】
[1]王静茹,宋绍成.城市安防领域视频监控技术的发展与趋势[J].黑龙江科技信息,2013,32:153+155.
[2]丛凤侠,杨玉强.基于MINA框架的高性能短x猫服务平台设计[J].计算机技术与发展,2013,04:213-216.
[3]李凤云,黄迎春,冯永新.基于WebService的SOA实现技术研究[J].科技视界,2012,23:17-19.
[4]孙伟,胡霞.Android推送技术综合分析[J].科技广场,2013,10:126-129.
[5]安勤玲.Ajax原理、性能及其应用[J].网络安全技术与应用,2012,02:23-25+28.
【家庭安防系统数据通信问题的研究】相关文章:
系统法学研究的若干问题03-19
某工厂智能安防系统设计方案03-18
DTTB系统中LDPC译码量化问题研究03-07
对数据通信技术的研究03-19
地铁信号系统数据通信论文11-09
cdma2000系统中导频干扰问题的研究03-07
公务法人问题研究12-06
防卫限度问题研究12-12