APP下载

基于SOA 的机务段生产调度管理系统研究

2013-12-23焦青青周廷美莫易敏陈东晋

关键词:机务段调用机车

焦青青,周廷美,黄 丰,莫易敏,陈东晋,周 浩

(武汉理工大学 机电工程学院,湖北 武汉430070)

随着铁路运输任务的不断加重,传统的内燃型机车已经无法满足运输需求,和谐型大功率电力机车的引进在缓解运输任务的同时给机务段作业带来了新的挑战[1]。

机车运行计划的安排是保证机车安全运行的前提[2],机务段运用科作为排车计划的核心部门需要根据铁路局下达的机车阶段计划中的机车开点安排叫开时间,并根据整备场报送的机车状态安排机车计划,运转车间和股道自动化系统收到运用科下达的机车计划后,分别安排乘车员出勤计划和机车出段股道,并将信息反馈回运转车间。由于机车整备场、检修库、运用科、运转车间、股道自动化系统和铁路局位于不同的位置,传统的依靠纸质传递和电话通信的方式会导致信息流通不畅,阻碍机务段的发展。为保证机务段管理科学化,工作效率化,引进信息化系统已经刻不容缓。

基于SOA 的生产调度管理系统是为解决机务段安排机车运行中存在的问题而提出的,该系统以面向服务的架构SOA 为导向,不涉及底层编程和通信模型,服务之间通过简单、精确定义的接口进行通信[3],不仅实现了机车状态传递的信息化,提高了机车运行计划安排的效率,而且还具有良好的可扩展性和可维护性。

1 面向服务架构技术

1.1 SOA 的基本概念

面向服务架构是一种基于粗粒度和松耦合的应用程序体系架构[4],它提出用服务来完成企业业务需求,通过定义中立的服务接口和服务契约的方式,实现对应程序中各种不同服务的封装,从而实现对不同开发语言、不同运行平台和不同实现方式的业务服务之间的资源整合和共享。

1.2 SOA 的基本结构

SOA 的体系架结构包括3 种角色,即服务提供者、服务消费者和服务注册中心[5]。其模型如图1 所示。

图1 SOA 体系结构

3 种角色的具体功能如下:

(1)服务消费者是一个应用程序或者一个软件模块,它按照消费需求在注册中心查询需要的服务,通过与服务提供者传输绑定的服务实现服务的调用。

(2)服务提供者是一个可通过网络寻址的实体,接受和执行来自服务消费者的请求,并将自己的服务和接口契约发布到服务注册中心,以便服务消费者可以发现和访问该服务。

(3)服务注册中心是服务的存储机构,提供对服务的分类和查找功能,为服务消费者的查询提供条件。

SOA 体系结构中的每个实体都扮演着服务提供者、服务消费者和服务注册中心3 种角色中的某一种或多种。它们之间的操作如下:

(1)发布。为确保服务能被访问,需要发布服务描述信息以使服务消费者能够发现并调用。

(2)查询。服务消费者根据一定的需求标准,查询服务注册中心的服务以找到满足标准的服务。

(3)绑定和调用。在检索完服务描述之后,服务请求者继续根据服务描述中的信息来调用服务。

1.3 SOA 的实现平台及Web 服务的关键技术

SOA 作为一种软件体系架构,并不依赖于某一项技术才能实现,它超越了计算范围,可以适用于任何技术和平台,包括Web 服务,JINI,Session Bean,WCF 等,目前应用较多的是Web 服务技术[6]。

Web 服务可以看作是一个应用程序,用于不同网络、不同主机之间的相互操作。Web 服务自身包含解释、自包含和模块化的特性,如果一个Web 服务被部署,就可以被另一个Web 服务发现并调用。其基本结构如图2 所示。

图2 Web 服务结构

如图2 所示,Web 服务的对象由服务提供者、服务请求者和注册库组成[7]。服务提供者将自己提供的服务以WSDL 文档的形式进行描述并发布到注册库,注册库根据UDDI 规范定期进行服务目录的更新,以供服务请求者调用,服务请求者向注册库发布请求查找服务,该请求在注册库中分析WSDL 文档,查找相应的服务,查找到的服务通过SOAP 协议与服务提供者实现服务的调用。实现Web 服务的几个关键技术如下:

(1)SOAP(simple object access protocol)即简单对象访问协议,是一种轻量级的、基于XML 的协议,用于在分布式环境中传输、交换数据。SOAP 消息由SOAP 封装、SOAP 编码规则和SOAP RPC 表示3 部分组成,执行从发送端到接收端的信息交流。

(2)WSDL(Web services description language)即网络服务描述语言,使用XML 格式描述Web服务并说明如何与Web 服务建立通信。WSDL文档由顶部抽象定义和底部具体描述组成,顶部抽象部分将SOAP 消息定义成一系列独立于平台和语言的服务,底部描述了服务的调用规范,实现SOAP 消息之间的相互交换[8]。

(3)UDDI(universal description discovery and integration)是一种目录服务,用来描述Web 服务的一些信息,可以实现Web 服务的注册和搜索。UDDI 定义Web 服务的查找方式,为注册中心提供标准规范,以便服务请求者查找服务。

2 系统设计

2.1 需求分析

机务段运用科根据铁路局下达的阶段计划与整备场反馈的机车状态,给运转车间及股道自动化系统下达排车计划,机车运用业务流程如图3所示。目前运用科只能通过电话联系获得机车状态,根据经验估计机车入库时间,对机车在途信息掌握不详,导致调度工作难度大。基于SOA 的生产调度管理系统可以解决上述存在问题,从而减轻工作人员的劳动强度,提高工作效率。

图3 机车运用业务流程图

2.2 系统功能

生产调度管理系统可为调度人员提供决策依据,其运行于生产调度指挥中心。该系统通过对机车运用信息、机车整备信息和机车检修信息的整合与调用得到机车在机务段内部及运行途中的各种状态信息,并对机车故障信息进行搜集,为故障机车检修提供诊断依据。

生产调度管理系统由机车状态综合信息系统、机车运用综合信息系统、股道自动化信息系统、车站信息系统、机车远程监控系统和专家诊断系统6 个部分组成[9],其中机车状态综合信息系统、机车运用综合信息系统、股道自动化信息系统、车站信息系统和机车远程监控系统用来显示机车状态并反馈给管理人员,专家诊断系统为机车检修提供方法和建议。生产调度管理系统工作流程如图4 所示。

图4 生产调度管理系统工作流程图

由图4 可知,当机车进入机务段后,由股道自动化信息系统获得机车入段信息,并将其显示在调度大厅的大屏幕中;机车进入整备状态时,股道自动化信息系统通过不同颜色区分机车整备状态(红色表示检修中,黄色表示整备中,绿色表示整备完成);如果机车需要检修,机车状态综合信息系统将这些机车显示出来,同时股道自动化信息系统将这些机车显示为非运用机车;检修完成,股道自动化信息系统将其显示为运用机车;机车运用安全系统用于安排机车出勤计划,安排好机车计划之后,机车出段等待装货,此时可通过站场信息系统得到机车的位置和状态信息;货物装好之后,机车出站,进入运行途中,由机车运用综合信息系统可查看机车在途的实时位置和机车信息,包括机车车型、车次、司机、开车日期等信息;机车运行途中,通过机车远程监控系统实时监测机车状态,当机车在途中出现故障时,可通过专家诊断系统为机车提供一定的远程协助。

2.3 基于SOA 的生产调度管理系统架构

基于SOA 的生产调度管理系统架构如图5所示。

该架构由数据访问层、业务逻辑层、服务发布层、表示层和信息安全保障层组成,各层之间的功能如下:

(1)表示层也称服务消费者,可为用户提供丰富的界面元素,方便用户执行一系列操作,用于接收用户指令和搜集用户提交的数据等。用户通过操作界面发送请求,请求被送至服务发布层进行服务查找,查找到匹配的服务后将结果返回到表示层,用户通过终端显示器可看到相应的处理结果。

图5 生产调度管理系统总体架构

(2)服务发布层将业务逻辑层中的各种具体的服务分类聚合成粗粒度服务,以便表示层调用,这些服务主要有用户管理服务、机车排班服务和机车远程协助服务,通过Web 实现发布功能。其中用户管理服务可供其他系统同时调用,机车排班服务和机车远程协助服务只能由授权人员调用。服务发布层接收来自表示层的请求,在服务管理中心将请求集成为系统所认识的服务,该服务被转至UDDI 注册中心查询所匹配的服务,查找到的服务被送至业务逻辑层进行业务处理。

(3)业务逻辑层将各种具体的业务封装成细粒度的服务,由服务发布层调用并实现。其中用户管理服务由用户注册服务、授权管理服务和用户登录服务组成。机车排班服务由机车阶段计划服务和司机出勤计划服务组成。远程协助服务由机车故障诊断和专家决策服务组成。该层从数据层抽取数据,将处理的结果传送至表示层,显示给用户。

(4)数据层在机车运用、整备、检修数据库中提取所需的数据,存储到中间数据库中,并对这些数据进行封装,以便数据的重用。数据的管理与应用应分离,以保证数据的安全性和系统的稳定性。

(5)信息安全保障层对整个过程中信息传递的安全性和可靠性进行监测,最大限度地保证信息安全,防止信息被泄露或被篡改。

3 系统实现

3.1 系统实现过程

根据生产调度管理系统的SOA 架构模型,以Web 服务实现该系统的过程[10]如图6 所示。

图6 基于Web 服务实现的生产调度管理系统

图6 中,公用数据接口存储可公开发布的信息,私有数据接口只有特定权限的系统才可进行访问,这些接口接受Web 服务的调用。Web 服务和接口以Web 服务形式提供数据的访问、处理及调用过程,通过它应用程序可以调用相应的数据,数据库和接口将调用结果返回给它,它再将结果返回到服务请求者,起着中间转换的作用。

参照Web 服务实现过程,以服务传递过程来说明系统的具体实现过程[11]。由服务请求者可查询的服务包括3 种粗粒度服务:用户管理服务、机车排班服务和远程协助服务。其中用户管理服务可以供所有的应用程序调用,机车排班服务只能由机车状态综合信息系统、机车运用综合信息系统、股道自动化信息系统和车站信息系统调用,远程协助服务只能由机车远程监控系统和专家诊断系统调用。

用户通过应用程序界面输入查询条件(机车运用情况、机车检修情况、司机出勤状况等),系统自动将查询请求送至Web 服务层调用用户管理服务和司机排班服务,并将查询结果返回用户查询界面。在Web 服务层,根据用户输入的查询条件,先进行机车运用情况查询,若是非运用情况则机车处于检修或是备用情况,无需进行详细追踪,若机车处于运用情况,则需通过站场信息系统查询机车是否在运行途中,若不在运行途中并处于运用状态则可调用该机车。将该查询过程转化为服务的过程可以描述如下:

服务请求者发布请求信息,该信息被转化为服务的形式送至UDDI 注册中心,UDDI 注册中心根据服务的请求内容先寻找与之匹配的粗粒度服务,然后从粗粒度服务中细化得到细粒度服务,系统从该细粒度服务对应的WSDL 文档中解析服务的存放地址、接口信息及调用参数信息,由服务的调用参数及存放地址及接口信息系统向该服务发送SOAP 消息实现调用,收到调用信息的服务将以SOAP 消息的形式将结果返回调用者,最终将结果以可视化界面的形式返回给用户[12]。

3.2 设计效果

图7 为专家诊断系统的界面。该界面主要完成故障信息的查询和决策信息的查询,为机车检修及在途故障提供诊断方法,方便检修人员快速处理故障。目前该系统已经在机务段运行,效果良好,达到了预期目的。

图7 专家诊断系统界面图

4 结论

基于SOA 的生产调度管理系统大大提高了机车运行计划的安排效率,降低了工作人员的劳动强度,同时也提高了机车运行计划、信息传递的准确性,为机车安全、快速出行提供了保证。

[1] 吴春复,张培彬. 铁路机务段信息系统的设计与实践[J].内燃机车,2000(9):28-30.

[2] 王德刚.机务段综合信息管理平台的开发建设[J].铁路计算机应用,2007(16):31-34.

[3] 沈惠璋,赵继娣.基于SOA 的分布式服务供应链信息共享平台研究与实践[J]. 计算机应用研究,2010,27(2):606-610.

[4] 韩谦. 基于SOA 的铁水联运信息共享平台架构的研究[J].上海铁道科技,2012(2):105-107.

[5] 王建伟.基于Web Services 的SOA 架构设计方法的研究[D].大连:大连海事大学图书馆,2006.

[6] 卢世忠,周炎,朱瑞军.基于Web 的设备维修生产调度管理系统[J].中国设备工程,2004(3):19-20.

[7] 王楠,刘心雄,陈和平.Web Service 技术研究[J].计算机与数字工程,2006(7):189-191.

[8] 彭强兵.基于Web Services 的成教管理信息系统的设计[J].计算机工程与设计,2007,28(1):177-178.

[9] 潘云平,杨文娟. 和谐型机车运用维修段综合信息平台的研究[J].武汉理工大学学报:信息与管理工程版,2011,33(3):389-392.

[10]颜巧林,周廷美,黄丰,等.基于WCF 的机车活件提报系统设计与实现[J].武汉理工大学学报:信息与管理工程版,2011,33(5):746-749.

[11]PAUL H.Building Web services from exciting application[J].Eai Journal,2002(9):45-47.

[12]CHUANG J Y,LIN K J,RICHARD G M.Web services computing:advancing software interoperability[J].Computer,2003,36(10):35-37.

猜你喜欢

机务段调用机车
大连机车
广州机务段生活小区唐代砖室墓M30的发掘
核电项目物项调用管理的应用研究
基于CTC3.0系统机车摘挂功能的实现
电子联锁在机务段综合管控系统中的应用
贯通式机务段加油产生火花原因分析及解决
一种机车联接箱工艺开发
基于系统调用的恶意软件检测技术研究
机务段在调整列车运行图中的运用组织
机车“神医”育人忙