>
首页 » 技术文章 » 基于Java的嵌入式远程监控系统

基于Java的嵌入式远程监控系统

作者:胡葭,方勇  时间:2006-12-23 20:26  来源:
文摘:针对目前远程监控系统中存在的程序复杂,并且不能保证所获监控数据的准确性和实时性问题,提出一种基于Java技术的嵌入式远程监控系统的设计方案,描述该系统的实现方法和工作流程,文中对流行的Browser/Web Server/Database网络模式进行改进,通过构建分布式体系的网络结构及利用蓝牙无线通信机制等手段,使远程监控系统的监控简便而可靠。

关键字:Java;Java Servlet;Java Applet;远程监控

前言

在Internet上建立基于Web平台的嵌入式监控系统,可以使管理人员不必亲临现场,就能通过Internet及时了解企业中各个被监控设备的状态,做出实时决策。对于网络监控系统所要求的实时、准确和无漏控等指标,Browser/Web Server/Database是最佳解决方案。

Browser/WebServer/Database模式是网络应用的一种常用模式。在这种模式中,一部分应用进程(客户)获得另一组应用进程(服务器)提供的服务,一台计算机采集数据,并将数据传递给其他的计算机。此时,它是一个服务器;同时作为一个客户,这台计算机又接受其他计算机传来的指令和数据。多台计算机执行不同的功能,实现不同的服务器和客户角色,通过网络环境,就可实现数据的远程监控与处理。

通过试验测试和实际应用,证实了本系统完全能够采集到被监控设备的当前状态、监控设备低电压、监控设备网络连线被破坏、监控设备被非法关闭、监控系统被非法入侵、监控设备被非法拆除等数据信息,并将异常的信息数据及时上报给远端工作人员;同时能执行远端工作人员从高层应用软件发送过来的查询被监控设备状态、监控设备的状态,配置监控设备的状态等指令,从而可以满足无人值守环境下对被监控设备的实时性管理。

基于Java的嵌入式监控模型

Java技术优势
现在,Browser/Web Server/Database三层体系结构的实现有许多不同的解决方案。从技术发展的角度来看,以前进行Web程序设计及访问数据库的唯一渠道是CGI方式,随后出现了ISAPI、NSAPI等技术方案,近来又流行ASP、Java技术。虽然目前有多种技术,但并非各种方案都适合监控系统的设计。

CGI虽是传统的动态Web技术,但是运行在无状态环境中的CGI程序可能会同时被多个浏览器唤醒,导致多个实例运行,从而降低服务器系统的性能。同时,CGI对客户网页的变化无能为力。APl技术的性能最好,但是比较复杂且受平台限制。微软的ASP技术虽然具有简便、高效、交互性强的特点,但是属于NT平台技术,受平台的限制。

Java具有跨平台、简单、面向对象、与Internet联系紧密、多线程、健壮、安全等特点。同时作为计算机平台,Java体现的是三层分布式企业计算架构。Java为每个层次都提供了强大的技术,Java平台JDBC、Servlet、JSP、EJB在内的多种技术能够让用户快速开发分布式应用。通过以上的比较和在实际中的应用看到,Java是实现Browser/Web Server/Database模式最理想的方案。


嵌入式远程监控系统的构成

以往的监控系统大都在监控端采用红外设备或者家用射频设备。红外设备方向单一,只能在一定角度范围内实现监控。家用射频设备功能小,不能自行组网。因此,带来诸多缺点,使产品的使用范围受限。本系统以功能强大的蓝牙嵌入式系统为核心,即以应用为中心,以计算机技术为基础。应用系统对功能、可靠性、成本、体积、功耗要求严格。系统结构主要分为监控中心、多个嵌入蓝牙的外围站和被测控蓝牙从机组成。监控中心和多个外围站之间通过定义好的协议在Internet进行通信握手和数据传输。一个嵌入蓝牙的外围站可以和多个蓝牙测控从机构成微微网在网内通信。单个外围站最多可以携带二百多个蓝牙从机,监控范围最远可达方圆一百米。同时,在蓝牙从机中还安装了水银传感器,能够灵敏地将外界的移动信息以中断的形式传递到蓝牙从机的处理器中,通过软件对中断的处理来将信息上报给监控中心。嵌入式远程监控系统的结构图示于图1。

单片机采用MSP430X449型,该单片机具有6个并行口,2个串行口,是一种功能强大的16位单片机。采用该芯片作为嵌入式监控系统的CPU,使外围电路十分简单。单片机通过汇编语言实现编程,单片机软件实现的流程图示于图2。


分布式监控模型

在传统的三层体系结构中,中间层Web服务器一般独立Java应用,具有很强的通用性,一般用RMI(Remote Mothed lnvocation)实现客户与中间层的通信。中间层服务器的操作包括创建RMI对象和注册RMI对象,用RMI对象注册提供安全机制,但是这样做比较复杂。本系统选用Java来进行分布式Browser/Web Server/Database网络模式的设计,亦即使用JavaSoft的JavaWeb Server和Servlet。Servlet是处理服务器端编 程的一种基于Java的解决方案,在JavaWeb Server上运行,JavaWeb Server提供ServletAPI。客户通过URL调用Servlet,动态产生HTML页面,处理与数据库间的事务等工作。Servlet与前端的交互示于图3。


客户与Servlet之间用HTTP作为通信机制。这里用RMI和Servlet结合的方式实现客户与中间层通信,即用RMI对象形式实现应用相关逻辑,用Servlet返回到客户的RMI对象,从而显著地改善了客户程序操作复杂的服务器端对象的能力。这样可以利用JavaWeb Server和Servlet消除RMI对象注册,简化三层体系结构。

在改进后的三层体系结构中,用户浏览器可从Web服务器上下载JavaApplet到本地浏览器,并由客户端的Java虚拟机来执行JavaApplet的指令,该指令与硬件无关确保了JavaApplet的跨平台性。同样,Servlet也是一个跨平台的服务方构件,并在简化的三层模型中运行于Java WebServer上,实现了与Applet的交互。Applet与Servlet的结合构成了客户端服务器的Web应用模式以及客户端和服务器端的交互式应用。同时,后台数据库选取创建和维护方便、安全性高的关系型数据库,能够满足大的数据处理系统,保证JavaServlet和Web数据库之间的高效、安全连接。其监控中心软件的简单流程图示于图4。


监控系统实现方法和工作流程

Servlet是JavaWeb Server的灵魂,它被集成到服务器中,可以实现网络上远程动态加载。Servlet可以被认为是运行在服务器端的Applet,但它没有与用户进行交互的接口。Java虚拟机(JVM)在第一次调用Servlet时下载它并使它一直留在系统核心中,所以以后调用时可直接从内存访问,响应速度较快。同时,一个Servlet可以在多个请求之间维系系统资源,避免了对数据库连接的申请—使用—释放的循环,可节约大量的CPU时间。采用Servlet技术时,利用JDBC访问Web数据库,实现Java程序与数据库系统的无缝连接。JDBC提供给了一个统一的接口,对任意数据库JDBCAPl都是一致的,它能够独立于特定的数据库系统而实现与网络数据库的互连。Applet是执行在客户端的Java小应用程序。

Applet与Servlet之间的联系一般是间接的,如页面请求由浏览器发送给Servlet,Servlet将结果生成HTML文档发送给浏览器。许多时候,Applet与Servlet不直接建立连接。但是,在显示一些实时的动态数据或在较为复杂的分布式Java应用中,直接连接是必不可少的。客户端与服务器端这种交互方式主要有:通过HTML传递参数,用Java.net包建立直接网络连接,RMI和CORBA技术。如前所述,本文采用RMI的改进三层体系结构进行互联。

监控系统工作流程示于图5。Web浏览器向Web Server发HTTP请求,Web Server在收到请求后,通过分发器将请求分配给被请求的Servlet,若Servlet不在本地Web Server上,也可远程调用;被请求的Servlet通过JDBC访问Web数据库,由Servlet处理访问结果,最后通过Web服务器将结果送到浏览器。


客户机向服务器发送请求,服务器监听来自客户机的请求,并为客户机提供响应服务。Applet负责提供用户界面与Web服务器端的Java Servlet进行通信。当Applet与Servlet建立TCP连接后,Web服务器会保留此连接直到客户端与服务器的通信完毕为止。在此期间,客户端与服务器的通信均通过此连接进行,不必为客户机的每个连接请求都建立新连接。由于在监控过程中,客户端会向Web服务器请求最新的数据,单一的TCP连接可以大大提高通信的效率。

结束语

本文介绍的嵌入式监控系统的设计利用Java实现了分布式体系结构,从而极大地简化了监控系统的复杂度,满足了整个系统的实时性要求。实践证明,由于蓝牙通信机制的可靠性和全方位通信的特点,使系统能够准确地采集到监控数据,克服了系统误报和错报的问题,具有很高的可靠性;分布式体系结构的引入,使系统在实际通信过程中花费的时间更短,能够及时上报监控信息,减小了系统的网络时延,很大地提升了系统的性能,并受到了用户的认可。

Java程序具有很好的跨平台、可移植、可伸缩的特性,更适合于监控系统资源有限的特点以及实时准确的要求,并且在该领域也必将有所发展。同时,本Java分布式结构的设计方案也可用于如电子商务、工业控制、信息家电等其他领域。

相关推荐

苹果发布两个Java插件更新

苹果  Java  2012-10-17

恩智浦为智能移动设备打造移动票务功能

恩智浦  嵌入式  Java  2012-04-25

基于GPRS的汽车远程监控系统的研究

GPRS  远程监控  2011-08-17

智能家居远程监控系统的设计及实现

远程监控  智能家居  2011-03-31

基于ARM7无线传输的热电偶远程监控系统

ARM  热电偶  无线传输  远程监控  2010-05-31

基于现场总线的嵌入式远程监控系统设计

在线研讨会
焦点