基于SOA和工作流的铁路客运站管理系统研究
2014-12-23徐春婕史天运刘硕研
徐春婕,史天运,刘硕研,王 静
(中国铁道科学研究院 电子计算技术研究所,北京100081)
0 引 言
铁路客运站是多种交通方式及大量客流转换的场所,客运站管理和服务水平直接决定着铁路的运营质量。有效创新和优化车站的各项生产流程和管理作业,合理使用和管理各项资源,建立统一的铁路客运站管理系统,以满足车站业务管理和旅客服务的需求,提高铁路客运站的管理水平和工作效率,提高决策的科学性,及旅客的满意度,对铁路的安全运营和提升运输市场中的竞争力具有重要的现实意义和研究意义。
铁路客运站管理系统 (the management system for railway passenger station,CMSRPS)是指利用信息技术、集成技术、接口技术、GIS等技术,通过对调度系统、客票系统、实时采集的设备和视频信息及人事管理相关数据进行数据挖掘、统计、分析,具有计划管理、作业管理、设备监控、安全监控、人员管理等基本功能,形成统一指挥、集中管控、分级负责的综合指挥体系,完成旅客出行路线、乘降信息、车站服务设施位置等旅客服务信息的发布,实现设备运行状况、作业执行状态、安全风险、人员绩效考核等的综合监控及车站突发事故的应急处理程序,满足客运车站管理和旅客服务的全面要求的综合管理系统。
目前,部分铁路局、车站根据本单位的工作实际,开发了不同层次的业务管理系统,主要包括旅客服务信息系统、客运组织信息集成管理平台、设备管理系统等。旅客服务信息系统实现了对与旅客服务业务密切相关的广播、引导、监控、查询、求助和寄存等系统的数据、网络、内外部接口的集中管理,为客运组织工作人员的日常作业提供集中式的管理方式[1]。客运组织信息集成管理平台实现了对工作人员排班、考勤、客流乘降监控、运行任务监控及系统的维护、对人员工作量进行统计等功能、人员工作安排及工作人员到岗情况、列车的实时运行情况及股道等占用情况的实时展示。设备管理系统对站内的设备包括照明、电梯等设备进行统一的管理。
但是这些系统尚存在诸多问题:①系统主要是面向功能的实现与集成,而不是按客户需要的业务流程进行驱动服务。②车站的各信息系统自成体系,没有形成集成化、统一化管理。车站现有系统功能繁多,且内部程序的开发平台、编程语言等各不相同,在维持各系统逻辑功能基础上,进行集成化、统一化管理非常困难。③难以适应系统业务灵活变化的需求。现有系统大多是紧耦合、封闭式、相互独立的,基本上都是一次性交付一次性使用,难以进行业务重组和改造。④系统功能完善程度低。现有的系统功能各有侧重,但尚不能满足车站的统一管控的全方面需求。
鉴于此,本文采用SOA 和工作流的架构设计方法,提出了全新的铁路客运站管理系统。SOA 的架构具有松散耦合、粗粒度、标准化、共享服务等优势,能够快速共享现有的信息系统。本系统对上述系统进行服务封装、共享、重用和组合,重新构建并发布到统一的平台上,具有更强的灵活性和开放性。解决了现有系统间的协作共享及业务灵活变化的问题,满足客运业务管理和旅客服务的需求,同时考虑到系统的安全性、扩展性等方面的要求。
1 SOA 技术及工作流系统
1.1 SOA技术概述
SOA (service-oriented architecture)即面向服务体系结构,是一种组件模型。它将应用程序的不同功能单元 (服务)通过服务间的定义良好的接口和契约联系起来。它通过服务提供者、服务请求者、服务注册中心3个角色之间的交互实现服务调用,典型的SOA 模型如图1所示。
服务接口采用中立的方式进行定义,独立于服务的硬件平台、操作系统和编程语言。SOA 要求在设计应用软件时应充分考虑服务集成以及服务的重用性,也可以利用企业现有的各种软件,可以随着业务的变化,灵活地结合现有服务而组成新的软件重新整合并构建起一套新的软件架构。与传统架构相比,SOA 具有更多优势:松散耦合、粗粒度、基于标准、共享服务[2]。利用SOA 技术可以按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需要,并可以从多渠道获取服务,从而可以快速的适应业务发展的需要[3]。
图1 SOA 模型
1.2 工作流技术
工作流 (work flow)是工作流程的计算模型,根据一套程序化的规则,将任务、信息或文档在模型中进行传递,自动运作完成业务过程部分或整体。SOA 的工作流管理系统完成工作流的定义与管理,并按照在计算机中预先定义好的工作流逻辑执行工作流实例,它通过工作流引擎和SOA 定义的服务交互完成应用。
2 基于SOA和工作流的铁路客运站管理系统设计
铁路客运站管理系统是车站运营指挥中枢,系统安全是车站正常运营的重要保障。系统网络安全利用防火墙、网闸、安全通讯部件等安全设备实现车站的内外网的隔离,车站网络结构分为3部分:内部网络、车站外网及互联网。车站内网业务服务器与车站外网服务器之间通过物理隔离网闸隔开,车站外网与互联网之间利用防火墙进行防护。系统内部采用基于角色的访问控制、密钥技术、数字签名、日志审计、数据备份等安全保障措施。通过统一的身份认证,统一的人员管理和统一权限管理,实现系统用户的单点登录,利用防火墙、网闸、安全通讯部件等安全设备、入侵监测、数据加密及日志审计等方法,对进入系统的实体 (包括用户、网络设备等)、访问日志、消息传输实现角色的授权管理及统一访问机制,同时系统采用基于存储阵列盘阵复制技术完成异地间的数据备份,保障了系统的可靠性、机密性、完整性和容灾容错能力。本文在充分考虑系统安全的基础上,分析系统的功能,构建了系统的架构。
2.1 系统功能设计
由于高铁的高密度、高速度的运营模式要求各车站之间的业务联动,以局为单位进行统一指挥和统一管理,这就要求铁路客运站管理系统以集中管控为前提,以调度系统、客票系统、实时采集的设备和视频信息的自动采集为基础,生成客运组织计划,从而实现为旅客提供导向、广播查询等信息服务,同时对车站人员、设备实现统一管理。系统从功能角度可以划分为过计划管理子系统、作业管理子系统、设备管理子系统、人事管理子系统、安全管理子系统、统计分析子系统和旅客服务子系统。
(1)计划管理子系统
鉴于目前客运车站信息系统的现状,计划管理子系统主要实现对列车运行计划及客运组织计划的管理,系统通过MQ (message queue)通道的消息通信和应用服务(TDMS端)从调度指挥系统 (TDMS)接收基本图、日班计划、阶段计划、列车到发信息等调度数据,接收客票系统的列车时刻表、客票席位、票价等信息,生成列车实时的运行计划,并在此基础上生成广播计划、导向计划、客运组织计划,实现对旅客的引导、广播、查询等信息服务,并用图形化界面实时展示列车的到发计划、调度客运计划和客运员工作组织计划等。
(2)作业管理子系统
作业管理子系统主要实现客运车站广播、导向、班组安排、上水吸污等任务模板的配置、任务监控、预览和维护等功能,同时系统支持WIFI无线接入技术,将客运员的任务计划下发到手机终端,通过短信、电话,图像等手段,将任务完成状态及设备故障情况进行及时反馈,完成作业的闭环管理。
(3)设备监控与管理子系统
设备管理子系统实现闸机、自动售票机、自动取票机、查询机、导向屏、电梯、安检仪、照明设备、空调设备、视频监控设备、移动终端设备、上水吸污设备、消防设备、办公设备等的统一控制和故障管理等功能。在故障管理方面系统侧重于运行状况实时监测、故障的快速定位、故障原因分析和故障修复等,当产生故障时,系统快速定位故障影响的业务,确定对业务的影响程度,及时通知业务管理人员进行相关处理工作。
(4)人员管理子系统
人员管理子系统主要实现员工统一的身份认证和权限管理、员工岗位及职责、以及班次的定义、员工排班、考勤汇总计算等功能,系统支持支持请假、出差、加班、补休、调班、等考勤业务管理。
(5)安全管理子系统
安全管理子系统实现应急预案管理、安全风险管理以及智能视频监控功能。应急预案管理根据事故判别的条件及响应等级,通过GIS技术和3D 模拟场景,利用数字车站提供模拟场景及应急响应方案,并通过手机终端发送给相应的车站工作人员。安全风险管理主要实现岗位风险信息的发布、登记、查询电子文档的编制归档,安全检查计划和安全检查记录的动态管理,实现危险源的管理和评定,以及隐患整改、反馈的动态管理。智能视频监控实现车站客流量及遗留物、入侵等异常事件的检测,提高车站的安全预警能力。
(6)统计分析子系统
统计分析子系统是方便车站工作人员及决策领导迅速找到自己需要的数据报表,有效提高业务人员及统计管理工作的效率的报表管理系统。系统提供客流统计、列车早晚点统计、绩效考核等基本报表功能,还集成了定时推送、列车晚点管理等辅助功能。定时推送是用户根据自己的需要从系统中订阅需要的图表,系统以电子邮件或短信的方式,发送到订阅人。列车晚点管理主要实现列车晚点时,考虑旅客中转所需要的驻留时间从而对客户的满意度进行评估。
(7)旅客服务子系统
旅客服务子系统是实现旅客通过接入车站WIFI无线网络,方便的查询车站主要服务设施的位置 (如检票口、出站口、进站大厅、候车室等)和检票时间和地点、列车停靠站台及车厢位置、客票当前的发售信息、列车到发信息(如到发和晚点、检票信息、站台停靠信息、运行路线等)、列车中转换乘信息、行包信息、客运公告等信息。
2.2 基于SOA和工作流的系统架构设计
根据车站运营业务及铁路局集中管控的要求,铁路客运站管理系统采用路局-车站两级架构,通过灵活配置实现路局集中管控、车站应急处理、大站代理小站及车站独立运行等多种业务模式。在路局集中管控、大站代理小站模式下,路局或大站设置集群的数据库服务器、应用服务器、接口服务器等设备,实现各站设备、业务等的统一管控。在车站独立管控模式下,可根据实际情况设置数据库服务器、应用服务器、接口服务器等。
系统软件架构采用SOA 的设计思想,将数据与服务组件和应用系统分开,基于数据资源可构建不同的服务组件,通过调用不同的服务和数据资源构建各种应用业务流程,设计的系统架构如图2所示。整个系统按层次划分为表现层、业务处理层、服务层、数据层和基础设施层5个层次。
(1)表现层:表现层提供用户所需要的各种功能系统,包括计划管理、作业管理、设备管理、人员管理、安全管理和统计分析等业务的各应用子系统。
(2)业务处理层:业务处理层是用户交互的接口,用户通过SOAP接口向工作流执行服务发起服务请求,在工作流执行过程中通过过程定义接口,利用工作流管理组件定义业务流程。工作流的执行服务由多个工作流引擎组成,通过Web服务接口调用相关工作流执行服务。工作流引擎通过用户服务配置文件,绑定集成服务层的服务以及制定事件处理规则,通过服务注册中心发现、查找服务的位置和内容,并将服务输出结果发布给用户。
(3)服务层:服务层包括公共服务和业务服务,是系统所有服务的集合。服务层通过ESB 标准的适配器和接口,提供各程序和组件之间的互操作功能。其中公共服务有工作流管理服务和系统管理服务,包括工作流组件、用户与授权组件、文件上传下载、数据交换组件、短信组件等。业务服务包括广播、导向、客流乘降监控、客运组织等服务,由客运组织计划组件、列车时刻表组件、列车配置组件、业务广播组件、广播模板组件、业务导向组件等组成。系统根据业务流程对系统组件通过接口进行访问、封装,在服务层被用户进行调用。
图2 基于SOA 和工作流的系统架构
(4)数据层
数据层实现统一的数据访问和接入,包括各类异构数据库,诊断模型数据库、流程数据库连接和数据库事务的管理以及方法。
(5)基础设施层
基础设施层是系统工作的基础平台,它包括系统二次开发平台、正常运行的软、硬件环境。系统二次开发包括开发应用的主要技术方法及标准协议,如J2EE、企业服务总线 (ESB)、业 务 流 程 管 理 (BPM)、Java 消 息 服 务(JMS)、SOAP、SOA 标准及XML 等。软件环境主要包括数据共享和存储平台、数据传输和安全服务平台、网络和操作系统。硬件环境包括系统的所有硬件:网络设备、服务器、存储设备、业务终端、工控机、大屏幕显示设备、摄像头及外围设备等。
3 系统关键技术
3.1 数据集成
图3 数据集成框架
客运站管理系统各子系统间数据共享机制采用数据库集群技术,通过规范的数据接口进行交换。集群利用数据服务总线 (DSB)通过SOA 集成及数据仓库的ETL实现业务组件的调用。数据服务总线包括数据服务和复制服务。数据集成框架如图3所示。
(1)数据服务通过数据引擎调用不同的适配器,完成数据的操作[4]。
数据引擎完成操作语句的调度、分解和检查。语句检查判断传入SQL语句的正确性,如果语句错误则直接返回出错信息,否则将SQL语句传送给后续的工作模块。
语句分解对跨库操作的SQL 语句进行分解,主要根据语句中是否存在多个数据库表名进行分割,并存放在字符串对象中。对只涉及一个数据源的SQL 语句则直接转发给相应的适配器。
语句调度完成对分解后的SQL 操作语句分配执行顺序,并转发给相应的适配器。
适配器主要是执行传入的SQL操作语句。
(2)复制服务基于存储阵列盘阵复制技术完成异地间的数据传输。利用存储阵列自身的盘阵对盘阵的底层数据镜像,以实时方式将系统的业务信息传输到异地盘阵,使源和目标位置有完全相同的数据映像,实现数据的网络远程存储。
3.2 Web服务封装
Web Services封装是系统重构的主要技术手段[5],在基于SOA 的系统架构中,可以重新集成原有系统的Web服务,从而满足系统内部及系统间的互操作性、可维护性等的非功能性需求。
服务封装以业务规则为基础,设计服务接口。通过WSDL定义服务描述,使用SOAP 生成系统能理解的消息传输方式与服务使用者交互。利用Web Services技术封装有效屏蔽了系统实现的细节,满足了系统业务逻辑灵活变化的需求,实现了对原有系统服务的调用。系统对业务逻辑和数据库的封装[5],如图4所示。
图4 现有系统的封装
3.3 业务流程设计
由于系统内部应用软件的复杂性,通过工作流定义模块对过程和数据服务进行编排和组合,从而对灵活多变的业务做出快速反应,增加服务的灵活性、重用性和集成性。业务流程执行语言 (BPEL 或BPEL4WS)是基于XML 的用来描写业务过程的编程语言,被描写的业务过程的每个单一步骤则由Web服务来实现,由BPEL 引擎部署执行流程执行文件[6]。
以客票系统运行图变化与系统中业务交互为例,BPEML对系统内部提供的Web服务进行了编排,服务流程如图5所示。
图5 运行图调整流程
(1)客票系统通过与系统的接口服务,发送列车运行图信息修改消息请求;
(2)系统接收到请求后,调用系统中列车时刻表比对服务,若比对结果相同,则返回拒绝同步请求,否则,则发送确认信息同步请求,流程进行下一步;
(3)旅客服务子系统调用列车时刻表修改服务,若成功则发送接收成功,反之则发送接收失败;
(4)若接收成功,旅客服务子系统调用更新客运组织计划服务,并向客运组织子系统发出运行图修改请求;
(5)客运组织子系统接收到旅客服务子系统发送的请求,调用排班服务对排班计划进行重新组织,并返回 “接收成功”请求。
4 结束语
本文采用SOA 设计思想,对现有车站信息系统进行改造,最大限度地重用已有的业务资源和数据资源。建立了基于SOA 和工作流的系统架构,通过工作流定义实现了服务编排和组合,将人事考勤、列车计划监控、客流乘降监控、广播计划等应用按SOA 规范定义为标准的接口服务集成在系统平台上。解决了原有系统间的协作共享及业务灵活变化的问题,满足了客运业务管理和旅客服务的要求,同时考虑到系统的安全性、扩展性等方面的要求。现场取得了良好的效果,提高了服务质量,保证了工作效率和实现减员增效。
[1]LIU Yuxin,ZHANG Yan,CHEN Jing,et al.Design of railway passenger service integrated management system [J].Railway Computer Application,2010,19 (5):17-19 (in Chinese).[刘育欣,张彦,陈靖,等.铁路旅客服务集成管理系统设计 [J].铁路计算机应用.2010,19 (5):17-19.]
[2]DUAN Huining,CHEN Deyun,PEI Shujun.Workflow management system based on SOA [J].Journal of Harbin University of Science and Technology,2009,14 (5):72-76(in Chinese).[段会宁,陈德运,裴树军.SOA 的工作流管理系统的研究与设计[J].哈尔滨理工大学学报,2009,14 (5):72-76.]
[3]LIU Ni,QIAN Xiaoqun.Application research on passenger service oriented railway information system based on SOA [J].Railway Computer Application,2008,17 (6):18-20 (in Chinese).[刘霓,钱晓群.SOA 技术在铁路旅客服务信息系统的应用研究 [J].铁路计算机应用,2008,17 (6):18-20.]
[4]HE Rongmao,QIN Futong,HU Ran,et al.Research and design on heterogeneous data integration middleware based on SOA [J].Ship Electronic Engineering,2012,32 (1):77-79(in Chinese).[何荣茂,秦富童,胡然,等.基于SOA 的异构数据集成中间件的研究与设计 [J].舰船电子工程,2012,32 (1):77-79.]
[5]JING Zequan,LI Tingjun,FU Yunhai.Legacy system reconstruction research based on SOA and Web Services[J].Digital Technology and Applications,2012,30 (9):37-39 (in Chinese).[荆泽泉,李庭俊,符云海.基于SOA 和Web Services的遗留系统重构研究 [J].数字技术及应用,2012,30 (9):37-39.]
[6]TAN Hao,ZHANG Xiong,LIAO Jun.Workflow platform design and implementation based on BPEIAWS [J].Computer Application,2006,26 (6):1245-1247 (in Chinese).[谭浩,张雄,廖军.基于BPEIAWS 的工作流平台的设计和实现[J].计算机应用,2006,26 (6):1245-1247.]
[7]FANG Kai,SHI Tianyun,LI Bing,Passenger train service integration innovation analysis based on SOA [J].Journal of Transportation Systems Engineering and Information Technology,2010,10 (3):171-175 (in Chinese). [方凯,史天运,李冰.基于SOA 的列车客运服务系统集成创新研究 [J].交通运输系统工程与信息,2010,10 (3):171-175.]
[8]SOA and Web Services introduce to novice [OL]. [2009-02-10].http://www.ibm.com/developerworks/cn/webservices/newto/(in Chinese).[SOA and Web Services新 手入 门[OL].[2009-02-10].http://www.ibm.com/developerworks/cn/webservices/newto/.]
[9]Olafsson S,Li X N,Wu S N.Operations research and data mining[J].European Journal of Operational Research,2008,186 (3):1429-1448.
[10]Workflow Management Coalition.Workflow management coalition terminology and gloss ary [OL].[1999-11-5].http://www.wfmc.org/standards/docs/TC-1011_term_glossary_v3.pdf.