|智能立体停车库的远程监控系统实现( 二 )


2)界面显示与状态监控在车库正常工作的情况下 , 工作人员登陆系统后可通过GIS 系统点击地图上的立体停车库 , 即可查看该立体停车库的当前状态:是否处于运行状态、托车架所处位置、剩余车位数等 。 监控系统具有故障报警功能 , 如果车库发生故障 , 根据设备上传的故障编号 , 工作人员即可知道故障信息 , 做出针对性的维护 。
3)系统操作
即使工作人员不在监控中心也可以远程通过WEB浏览器实时查看设备信息 , 并将工作人员按照角色划分 , 赋予不同的操作权限 。 数据库服务器用于立体停车库信息数据的存储 , 而WEB 服务器则用于发布、管理和维护监控中心的网站后台 ,监控中心用户可远程通过网络服务器访问监控网站 。 网络设备部分主要包括交换机和路由器 , 它主要实现监控中心内部、监控中心和中层(本地监控层) , 监控中心和远程用户之间的通信 。 远程监控中心系统的软件结构及信息交互如图3 所示 , 由两个系统组成:数据通信管理系统和设备监控系统 。
|智能立体停车库的远程监控系统实现
本文插图

图3 远程监控中心软件结构及信息交互
其中 , 数据通信管理系统由实时通信及数据解析程序实现 , 负责与本地服务器通信、收发数据、数据解析、数据库管理以及设备管理等;设备监控系统由网站程序实现 , 主要以地图的形式 , 集中显示各地设备的总体状态和单独设备的实时运行状态 , 可进行具体的历史数据查询 。
2 远程监控与管理层软件架构
远程监控与管理层有两台服务器:WEB 服务器和数据库服务器 , 分别运行远程监控系统两个上层核心程序——网站后台程序和实时通信及数据解析程序 。
2.1 网站后台程序架构
网站后台架构采用B/S 模式 , 即浏览器/ 服务器模式 , 这种模式可统一客户端 , 尽可能地将系统功能的核心部分放在服务器上运行 , 简化了系统的开发、维护和使用 。 客户机上只要安装了浏览器 , 便能通过WEB 服务器上的后台程序与数据库进行数据交互 。 网站后台主要用来响应用户的HTTP 请求 , 在Tomcat 中发布并运行 。 本研究基于SSH 框架对系统进行层次划分 , 将层次间的耦合降到最低 。 SSH 由Struts、Spring、Hibernate 3 个开源框架组成 。 其中 , Spring 是一个轻量级框架 , 旨在简化JAVA 开发 , 其核心思想是通过依赖注入和面向切面编程类之间的耦合 , 支持集成第三方框架 , 整合为一个复杂系统 , 实现对象生命周期的管理 。 Struts 基于MVC 模式 ,对Model、View 和Controller都提供了对应的组件 。 Struts 通过控制器拦截来自用户的请求 , 调用由用户提供的实现业务逻辑的对应的Action , 将处理结果返回给前端页面显示 。 Hibernate 则是一个数据持久层框架 , 可使用配置文件或注解配置原始映射 , 将接口和Java 对象映射成数据库中的记录 。 SSH 框架的应用使得服务 器开发变得方便快捷 , 且具有优良的拓展性[5] 。 采用SSH 框架后 , 服务器程序层次结构如图4 所示 。
2.2 远程监控层实时通信及数据解析程序架构
通信程序自底向上分为网络层、业务逻辑层和数据访问层 。 网络层主要基于Socket 编写 , Socket 最早是 Unix上推出的一种操作系统调用 , 应用程序使用它来访问通信协议 。 Socket 的种类很多 , 如伯克利Socket、Windows Socket 等 。 Socket 通常也称为“套接字” , 用于绑定 IP 地址和端口 , 使进程间能够相互通信 。 进程在通信前各自建立一个 Socket , 完成准备工作后 , 通过对Socket 缓冲区的读写操作实现网络通信的功能[6] 。
|智能立体停车库的远程监控系统实现
本文插图
图4 服务器程序层次结构
一个完整的 Socket 服务端程序一般包括以下步骤:


推荐阅读