文静 曹妍 张同婕
[摘 要] 目前危险品监控还是停留在对车辆行驶位置的监控上,即使有针对危险品状态的监控,也并不全面。因此本文设计了一个基于Web的危险品运输监控系统,对危险品本身的状态、泄漏状态、罐体状态、车辆状态进行全方位跟踪监测。该系统已在危险品运输企业中得到具体应用。
[关键词] 危险品运输;监控系统;WSH框架;Ajax
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2014 . 16. 022
[中图分类号] F253.9 [文献标识码] A [文章编号] 1673 - 0194(2014)16- 0035- 02
1 引 言
危险品,即化学危险品的简称,是指具有易爆、易燃、具有腐蚀性等危险性质的化学物品[1]。伴随我国经济的快速发展,危险品的产量和运量逐年上升,在这些危险品中,又以易燃易爆且有毒的气体为主体。与此同时,危险品运输车辆发生事故的频率也呈现提升的事态,事故一旦发生,除对车辆以及交通本身的危害之外,还会对周边的居民、车辆、房屋、公共设施造成伤害和破坏,甚至对环境造成污染,污染河流、空气、土壤,对居民的生活造成长期不利的影响[2-3]。
针对危险品的危险性及事故的多发性,本文设计了一个能够对危险品运输状态进行监控的系统,实时监测危险品的状态信息(包括装载危险品的油罐温度、液面倾斜角度等等),一旦数据状态发生异常,就进行报警,为管理员和司机提供及时的信息,避免事故的发生。
2 系统开发技术介绍
2.1 系统开发采用WSH(Web work + Spring + Hibernate)框架
将应用框架按其逻辑划分为3层结构:Web表示层、业务逻辑层、持久层。各个层次之间具有不同的功能,并保持清晰的隔离,以使彼此独立存在。但各层之间采用接口进行通信,屏蔽了内部的实现细节。
(1)Web表示层:应用中Web表示层显示模型数据,并负责和提供用户界面同用户交互。使用Web work作为表示层框架:管理用户的请求和响应,根据处理结果提取需要的模型数据,选择合适的视图表现,转移到用户设定的页面。
(2)业务逻辑层:典型的Web应用的中间组件一般是业务层或服务层。使用Spring作为业务层框架,通过读取配置文件,Spring容器自动生成Bean实例,供业务逻辑使用;管理事务操作;提供了与表现层交互的接口;管理业务级对象之间的依赖性;隔离了表示层与持久层等。
(3)持久层:持久层是Web应用中直接与数据库打交道的逻辑单元,实现了O/R映射,将面向对象的操作转化为面向关系的操作。使用Hibernate作为持久层架构能完全屏蔽具体的数据库实现:通过Hibernate提供的API和HQL查询接口使操作数据更有效、便捷;向下屏蔽了不同数据库的差异;向上为业务逻辑层提供需要的访问接口。
2.2 Eclipse开发平台
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。它是功能丰富的JavaEE 集成开发环境,包括完备的编码、调试、测试和发布功能, 完整支持HTML、Web work、JSP、CSS、JavaScript、SQL、Hibernate 和Spring 。
2.3 MySQL
MySQL 是关系型数据库管理系统,被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点, 许多中小型网站为了降低网站开发成本而选择了MySQL 作为网站数据库。
2.4 Ajax
通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
3 系统的设计与实现
3.1 业务功能模块设计
危险品运输监控系统包括Web门户管理登录监控车辆位置信息管理,监控危险品报警信息管理,车辆实时调度管理,监控车辆历史轨迹管理。
3.2 系统安全性设计
3.2.1 数据安全性设计
数据安全[4]有对立的两方面的含义:①数据本身的安全,主要是指采用现代密码算法对数据进行主动保护,如数据保密、数据完整性、双向强身份认证等;②数据防护的安全,主要是采用现代信息存储手段对数据进行主动防护,如通过磁盘阵列、数据备份、异地容灾等手段保证数据的安全。
在该平台中,对这两方面的安全性都有设计,下面分别进行说明。
(1)使用数据加密确保数据本身的安全;
(2)使用数据备份确保数据防护的安全。
在平台中,设计了对于数据库中的数据的定期备份,对于数据量不大的表,采用1个月1次的备份方案,对于存储gps海量数据的表,采用1星期备份1次的备份方案。将备份的表格数据存储到固定的硬盘,便于查看和转储;其次,还提供了明确的备份文件,用户可以根据需求随时运行备份文件,进行备份,满足备份的及时性需求。
3.2.2 代码安全性设计
在平台中,加密的方式有两种。
3.2.2.1 将代码文件进行压缩封装
对于需要代码安全性保护的文件进行压缩封装,如将普通的Java文件压缩成为jar包,经过压缩后的文件不影响功能的使用,只是不能被直观地读,这种加密方法很简单。
3.2.2.2 代码本身的加密
对于代码本身进行加密,使得代码阅读起来呈现乱码的形式,只有通过解析,才能表现出正确的含义,这样的加密不影响功能的运行,只影响代码的可读性。
3.2.3 程序安全性设计
程序安全性是从程序的角度进行安全性考虑,要保证程序运行的稳定性,具有一定能力的容错性,不能通过URL地址直接访问。
程序安全性主要从以下两个方面设计:
(1)采用异常抛出机制;
(2)对直接使用URL地址访问的约束。
3.2.4 应用安全性设计
应用安全性从软件安全性角度和软件操作安全性角度进行设计。
3.2.4.1 软件安全性设计
平台应用的安全性我们从以下几个方面进行设计实现:用户身份认证;权限管理和角色管理;日志监控和管理等。对用户操作以及数据进行监控并形成日志文件,一旦发现异常操作或者异常数据,就会产生报警数据,提醒相关人员进行及时的处理,完善平台使用时的安全性。
3.2.4.2 软件操作安全性设计
软件操作安全性设计是指从用户的操作的角度进行的安全性设计,系统设计出后文的功能和说明来确保软件操作的安全性。
3.3 系统实时性设计
为了满足平台实时性需求,我们采用Ajax技术,充分利用Ajax的局部动态刷新技术来提高实时性。在第二节技术介绍中,已经对Ajax技术进行说明,运用Ajax能够实现对界面的局部刷新,提高数据在页面上的显示速度,减少整个界面加载所耗费的时间,满足平台的实时性需求。
3.4 系统对海量数据处理能力设计
在平台中,平台需要接收和操作的数据是海量的车辆状态数据(这些数据包含的属性有:设备号、车牌号、状态接收时间、状态发送时间、经度、纬度、报警状态、速度、方位角、加速度等),这些数据存在名为GPS信息表的表中,当面对海量数据时,对表中的数据进行快速的访问和操作显得十分重要,为了提高数据访问性能,我们采用了如下手段:①建立附表。用对表中个别属性的操作来代替对表中所有属性的操作。②建立索引。对于频繁使用的字段建立按照时间检索的功能,提高数据访问效率。③创建视图。视图能简化用户对于数据的理解,提高数据的安全性,而且,对于视图的操作不影响本身数据库中的表的内容。④执行备份。当GPS报警信息表存储的数据量很大时,即使已经采用上述3个方案,还是会严重影响访问性能,为了解决这一问题,会对两个表中的数据进行定时备份,控制表中的数据量。当需要使用已经存入备份文件的数据时,再从备份文件中将这些数据读取到数据库中,采用“随用随取”的策略,提高读取数据的性能。
4 结 论
实践证明,本文中采用的DWSH框架体系,在保持软件低耦合度的同时将Ajax技术融入了软件系统中,而Ajax的引入并不影响原来搭设程序逻辑结构。层层分离的体系,使软件具有很高的灵活性和可重用性。
主要参考文献
[1]胡艳菊,胡艳玲,张伟.危险化学品突发泄漏事故应急决策系统研究[J].吉林化工学院学报,2010,27(1):69-72.
[2]程志端.基于多传感器的危险品运输监控系统研究与实现[D].武汉:武汉理工大学,2011.
[3]曹满金.基于uC/OS-Ⅱ的车载危险品运输监控终端的设计与实现[D].成都:电子科技大学,2011.
[4]百度百科.数据安全[EB/OL].http://baike.baidu.com/view/2308446.htm#ref_[1]_2308446.