- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CBTC综合维护管理系统中基于Web实时通信方法
CBTC综合维护管理系统中基于Web的实时通信方法
摘 要:本文提出了一种CBTC综合维护管理系统(MMS)中前端页面模块与后端服务模块的实时信息交换方法,该方法应用层采用stomp协议,基于websocket通信。在基于B/S架构的轨道交通综合维护管理系统中,服务器系统分为两部分:后端服务模块和前端页面显示模块。后端服务模块实时向前端页面模块发送消息,前端页面显示模块收到消息之后,解析并实时显示状态更新。本方法,通过在CBTC综合维护管理系统中增加消息代理服务器,对服务器的后端服务模块和前端页面展示模块进行了解耦,并提供了后端服务模块和前端页面显示模块的通用应用层协议封装,提供了客户端消息定义的管理和自动发布功能。增强了后端服务模块的扩展能力,简化了后端服务模块开发,通过向客户端广播实时消息,节省了带宽,减少了后端服务模块的负载。
关键词:CBTC 综合维护管理系统 Websocket Stomp Active MQ 消息代理
中图分类号:TP27 文献标识码:A 文章编号:1672-3791(2018)02(a)-0042-05
城市轨道交通控制系统包含CBI、ZC、ATS、OBCU,他们共同协作,完成轨道交通的运营。在轨道交通信号系统建设完成之后,对这些控制子系统的和信号设备、机房设备的运行维护成为工作的重点。保障和提供运维的水平和效率,对轨道交通系统的正常运营具有重要意义。因此,需要有一个系统,能够接收、整合所有控制子系统的维护信息,能够及时监测信号设备和机房设备的运行状态,并能够对实时报警和趋势性预警信息及时提供报警提示。
在此背景下,采用B/S架构的CBTC综合维护管理系统(MMS,Maintenance Management System)应运而生。
1 背景分析
目前的web应用中,后端服务器系统与前端页面的数据交互,通常采用方法有Ajax、轮询、websocket以及其他技术。
采用Ajax,解决了页面部分刷新、服务器负载分担的问题,客户端和服务器异步通信,使得服务器可以更快的响应页面操作;采用轮询方式,服务器和页面实现逻辑简单,易于操作;采用websocket,可以保证应用的实时性;采用其他方式,也都具有各自的特点。
在以上这些方法中,有一个共同的特点:由前端页面发起请求到服务器,由服务器处理所有页面的请求和客户端的管理。由此也带来了一些问题,主要表现为:
(1)服务器不能及时把数据变化推送到客户端,实时性差。主要表现在采用Ajax和轮询方式。采用轮询方式,还占用了比较多的带宽和服务器资源,重复请求等,浪费比较多的资源。
(2)后端服务模块和前端页面展示模块耦合度较高,导致服务器的扩展性较差。
(3)后端服务模块要管理所有客户端的信息订阅,及信息发布,导致服务器开发复杂,且服务器负载较高。
MQ全称为Message Queue,消息?列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。
在事件驱动架构的异步系统中,经常采用MQ作为事件驱动架构的主干,从而解耦不同的模块应用,提高服务器负载、高可用性以及更好的系统扩展性。
本文方法采用的消息服务器是消息中间件MQ,采用开源ActiveMQ实现。ActiveMQ是Apache出品,最流行的、能力强劲的开源消息总线,也是一个中间件产品。它是JMS的一个实现。AcitveMQ提供了两种消息传递模型,PTP(即点对点模型)和Pub/Sub(即发布/订阅模型),分别称作:PTP Domain和Pub/Sub Domain。
(1)PTP(使用Queue,即队列目标)消息从一个生产者传送至一个消费者。在此传送模型中,目标是一个队列。消息首先被传送至队列目标,然后根据队列传送策略,从该队列将消息传送至向此队列进行注册的某一个消费者,一次只传送一条消息。可以向队列目标发送消息的生产者的数量没有限制,但每条消息只能发送至、并由一个消费者成功使用。如果没有已经向队列目标注册的消费者,队列将保留它收到的消息,并在某个消费者向该队列进行注册时将消息传送给该消费者。
(2)Pub/Sub(使用Topic,即主题目标)消息从一个生产者传送至任意数量的消费者。在此传送模型中,目标是一个主题。消息首先被传送至主题目标,然后传送至所有已订阅此主题的活动消费者。可以向主题目标发送消息的生产者的数量没有限制,
文档评论(0)