基于J2EE的城域网公交一卡通系统设计
0 引 言
城市公交系统与人们的生活息息相关,能否高效地进行公交系统的运营和管理,关系到社会的稳定。针对公交系统数据量大、更新快、安全性要求高等特点,建设一个覆盖市级的管理信息网络和开发一个功能强大、性能可靠的软件系统具有十分明显的社会效益。本文提出了一个城域网环境下的基于J2EE平台的公交管理信息系统的设计方案。该方案已经成功运于珠海市公交管理和服务工作中,并正在逐步向其它地区推广。
1 系统网络架构
城市公交一卡通系统的系统大致组织架构为一级核算,二级管理。在公司总部成立IC卡系统信息中心,负责系统的整体运作和系统管理,管理系统下属的各个采集点和售卡充值点。由此,每天的IC卡营运数据通过网络上传到信息中心的数据库,其它营运数据则由各个分公司和相关职能部门录入系统。各个分公司可以通过网络查看和使用本公司的营运数据。根据系统需求以及城域网的特点,选用城域网作为骨干网,采用TCP/IP协议实现互联通信,将城市里不同地点的主机,以及局域网等互相联接起来。分公司每台营运车辆的现金收入数据,收款中心的投币数据,供应部的加油数据都通过城域网的新型技术虚拟专用网“ (virtual private network,VPN)与IC卡服务器相连;售卡充值点的数据每天通过ISDN传至IC卡服务器中。
总公司与分公司之间数据交流以光纤网来实现,网络内各工作站通过交换机与主干网相连。结算中心内部,结算中心与总公司通过局域网互相连接:结算中心与各个分公司通过局域网连接;各个数据采集点通过拨号方式与结算中心连接;整个公司内部建成了一个有机的网络平台,如图1所示。
图1 公交一卡通系统拓扑结构
2 系统体系结构与选型
系统尽可能采用浏览器/服务器(browser/server,B/S结构) 模式,而其中采用专用硬件设备操作的部分采用C/S模式,具体如:IC卡业务模块采用C/S模式,基础数据采集模块采用B/S模式。在此方案中,系统使用一台专用的Web服务器,作
为主要的网站服务器,所有的网站网页源程序(动态网页与静态网页)都放在此服务器中,与数据库的操作是通过Oracle9数据引擎来完成的。
系统的后台网络系统选用技术领先的POWER4+处理器的IBM p650/p630,以最佳的性能提供最低总运行成本。同时采用IBM3582磁带库为p650/p630提供了高速的数据备份,保证系统的可靠。其中数据库服务器采用IBM7133磁盘阵列,还可以提供PPRC,FlashCopy等先进功能,为数据存储集中,远程容灾提供了技术保障。
另外,为整个系统提高最高可靠性,运行HACMP高可靠群集。采用UPS供电系统中和TivoliTSM数据备份系统。系统主要采用浏览器/N务器方式的应用体系结构。服务器端采用AIX5L操作系统和Oracle公司的Oracle9I数据库管理系统(DBMS)。浏览器端采用基于IE6.0的网页浏览器。
3 软件设计
考虑到原有旧系统成熟的硬件应用类库,系统采用B/S与C/S相结合的模式0 ,系统中,除了手持设备以及财务点钞有关的数据录入模块采用C/S模块,其它模块均采用B/S方式。公司总部管理系统数据服务器,各个部门和分公司通过城域网登录总公司服务器,系统为每个操作人员分配权限,并通过用户名和密码进行控制,不同部门的人员,不同职位人员具有不同的权限。系统功能采用模块设计,根据公交公司的管理和营运模式,建立整个公交公司的系统功能,分公司不需要再单独安装系统,只需要通过浏览器登录系统。系统初期,管理人员将根据每个部门,每个工作人员的工作权限和工作范围分配可以使用的功能模块,并且每个分公司只能使用和查询本公司的营运数据。系统软件体系结构图如图2所示。
图2 公交一卡通系统软件体系结构
3.1 C/S结构的运用
对于如POS机以及IC卡等设备的业务应用模块采用C/S结构。① 对于这些设备采用成熟通用的原有C/S软件结构,加快了软件的开发进度,直接使用现有的成熟开发类库,避免了与硬件结合的高难度测试;②能有效平衡服务器和客户机的负载,可以使复杂的运算得以分布处理,即服务器可以集中于数据库的后台数据处理(数据查询和数据操纵),而客户机则可以专注于前端人机界而的响应,特别是在海量数据流情况下,这种模式有效地提高了系统的整体性能:③能大规模地减轻网络线路的通信负载。由于服务器与客户机之问的通信仅限于最终处理的结染数据,而免除了中间过程的数据传输,因此,加上良好的软件设计,可以最低限度地减少网上的数据流量。
3.2 B/S结构的运用
虽然在与一些硬件设备结合紧密的模块采用C/S结构,系统的大部分应用基于B/S结构,主要体现在管理信息系统和办公自动化系统上。在这里采用的是J2EE“ (Java 2 platform enterprise edition)平台,它所提供的多层结构分布式应用程序模型和基于XML(extensiblemarkuplanguage)的数据交换,以及统一的安全模式和灵活的事物控制,非常合适用以开发公交系统这样拥有复杂事务和大量数据流的综合应用系统;由于采用J2EE的体系结构,相对原有的C/S的旧管理系统,流行的B/S模式具有突出的优点:① 良好的用户界面。由于采用单一的浏览器界面,用户的操作实际上成了页面的简单浏览,这样,大大减轻了软件的操作难度;② 软件维护简单。由于程序统一运行在Web服务器端,程序的更改只要在服务器端进行即可,这对于分布在众多站点机的程序维护显得尤为重要。
4 系统安全设计
由于系统包含有大量的实时操作和关键的业务数据,对系统的任何破坏都有可能造成不可估量的损失。同时,由于系统覆盖面广、接点多,并且还有因特网接口,如果不加以仔细地考虑和科学地设计,系统到处都有可能存在着安全隐患。所以,建立完善的安全体系对于系统是至关重要的,如图3中所建立的一个典型的安全解决方案,并从以下4个角度进行了提高安全性的设计 。
图3 公交系统的网络安全体系
(1)系统安全性
从图3中可以看到此公交系统的基本网络安全体系在一定程度上体现了IATF(美国信息保障技术框架— — 美国国家安全局于2000年颁布3.0版)分层防御思想,在多个位置部署了保护机制。这样在攻击者成功地破坏了某个保护机制的情况下,其它的保护机制能够提供附加的保护,如当攻击者绕开了防火墙实施的访问控制时,入侵检测系统能够检测出异常行为,或者在主机的终端保护能阻止访问请求。
但我们注意到这里对于在保护网络和基础设施方面是比较薄弱的环节,对网络上传输的各种数据流— — 用户数据、控制数据、管理数据该如何保护,没有基本的安全防护策略。而这一部分则是通过后面验证安全性中的软件设计角度来实现对于数据和资源的保护。
(2)数据安全性
在保证了系统的安全性之后,我们要确定数据的安全性,完整性和可恢复性。对于数据服务器可采用双机热备份。一台作为主机,另一台作为备用机。备用机一直监视主机的工作状态,主机一旦出现故障,备用机取代主机。这样可以保障系统的安全运行。
对服务器系统采用数据备份策略。为系统运行过程设计如下3种备份功能:① 数据实时备份:凡是信息中心接收到的数据作在线备份;②数据定时备份:定时将磁盘上的数据备份在磁带上,备份时间长短由数据的重要性决定。关键数据做到异地备份, 或者备份到Web服务器上或分公司的服务器上;③系统灾难性备份:信息中心的系统软件做到两套以上的灾难备份,最好做到异地备份或者外部存储备份。在遇到破坏时,就可从本地或外部磁带保存地点获得灾难备份磁带,安装应用服务器操作系统并配置网络,配置存储设备,装上灾难备份磁带,从存储设备中取得最新的引导信息,恢复数据库,确认数据库为最新版本,批准系统运行,进行灾难恢复。
系统管理员可以通过操作系统和数据库软件提供的数据备份功能,结合相应的硬件和存储设备,对数据备份进行集中管理,以此实现自动化的备份,文件归档,数据分级存储以及灾难恢复等。
(3)验证安全性
由于在系统安全性中没有解决对于数据流的保护,则从软件角度建立系统安全会话,资源管理以及各项控制和服务管理来保证数据的安全性。可建立系统管理员权限,组建专职系统管理小组,在系统运行期间对系统的超级用户权限,口令进行严格控制管理。利用系统监视器,监视用户对系统资源占有情况。对系统用户限定资源占用频度和使用权限。建立系统资源日志管理,对系统资源使用情况进行记录分析,以利于及时排除并发现系统隐患,同时为调整系统性能参数提供依据。软件安全体系结构模型如图4所示。
图4 公交系统的软件安全体系结构模型
(4)系统日志
比如:启用Oracle数据库的事务日志,并做好日志的存储备份;在重要记录上,设计“操作员代码”和“操作时间”字段, 记录插入或修改的操作情况。
5 结束语
随着计算机相关技术的不断进步和公交管理工作的进一步智能化,整个公交一卡能系统的建设永无止境。相比旧的主要基于C/S的系统,基于J2EE的系统在集成性,交互性,可维护性上有了长足地进步;采用虚拟专用网(YeN)技术,保证了IC卡服务器传送数据的安全性;引入数据字典加强对系统数据资源的监测、分析和决策支持。目前,此平台已在珠海公交系统中投入使用,并到得了非常好的效果。
作者简介:
郑贵林(1963-),男,山西太原人,教授,博士生导师,研究方向为检测传感技术、工业过程自动化等;
夏丹(1985-),女,湖北仙桃人,硕士,研究方向为Web技术、数据库优化;
岳林(1982-),男,湖北宜昌人,硕士,研究方向为Web技术、计算机网络。
参考文献:
[1] 李别.构建虚拟专用网(VPN)的技术策略[J].中国西部科技,2004.3(8):5—6、
[2] 张友生.软件体系结构[M].北京:清华大学出版社,2004.
[3] 曹晟,蔡自兴.基于C/S与B/S混合软件体系结构的封闭式管理系统的设计[J].计算机工程与应用,2004,40(5):224—226.
[4] Sun Microsystems.Developing enterprise applications using the J2EE platform[Z].2002.
[5] 杨心强,邵军力.数据通信与计算机网络.北京:电子工业出版社。2002.
[6] Craig A Berry.实用J2EE设计模式编程指南[1州.邱仲潘,译.北京:电子工业出版社,2003:16.18.
[7] 何玉云.校园一卡通智能管理系统的设计与实现_计算机工程与应用,2004,40(5):170—171.
[8] 徐恪.IC卡应用管理系统的安全设计与实现 计算机工程与应用,1999,35(3):54—59.