MQ典型使用场景MQ在高速公路联网收费系统中的应用_高速公路联网收费系统
MQ典型使用场景MQ在高速公路联网收费系统中的应用由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“高速公路联网收费系统”。
MQ典型使用场景---MQ在高速公路联网收费系统中的应用
MQ典型使用场景
---MQ在高速公路联网收费系统中的应用
前言
ApusicMQ介绍系列主要用来向中间件的技术支持人员、市场营销人员,以及对MQ感兴趣的同事做的一个完整体系化的介绍。
在中间件的产品家族里面,消息中间件是一个比较特殊的产品,它既不像应用服务器那样有着广泛的用户基础,也没有云计算、SOA那样的噱头,很多人根本就不知道消息中间件是个什么东西,有什么用。事实上,消息中间件是一个古老而经久不衰的产品,说它古老是因为它产生的时间甚至早于应用服务器,且一出来就备受推崇;说它经久不衰是因为现在只要涉及到数据通信它仍然是首选。这是一个经过时间验证的产品,它的用途已经在行业内形成了广泛的共识,不再需要额外的炒作。
公司早在2006年便开始了Apusic消息中间件的开发,即便如此,这个时间也比IBM、东方通晚了十多年。之后便一直处于断断续续发展的境地,再加上它实在是太底层、太基础了,以至于很多同事都对它不太了解。从2010年下半年开始,公司加大了对它的投入,形成了一个稳定的开发团队来加速它的发展,并于2010年底发行了一个稳定性和健壮性都大幅提升的版本:Apusic MQ7.5。
本系列致力于完整的介绍MQ产品,从而改变人们对它不了解的现状,主要内容将会包括MQ概念介绍、MQ运作原理和术语介绍、Apusic MQ功能和性能介绍、典型使用场景和案例分析等。
本文档是该系列的第四篇,主要描述MQ在高速公路联网收费系统中的应用。该案例不对整个系统和业务进行介绍,而只是针对其中的数据传输模块进行阐述。
背景介绍
我国的高速公路经过多年的发展,规模日趋完善,但高速公路的管理却明显跟不上高速公路自身的发展。由于投资体制、管理体制等多方面的原因,我国高速公路基本上都是分段建设,一路一公司,分散管理。在我国高速公路里程不断增加且逐步贯通成网的情况下,这种分段割据的管理状况,一方面严重影响了路网的统一性;另一方面增大了管理成本。如一些地方同一路线上多个合资公司并存,互相独立,分段收费,造成主线站设置过密,影响畅通。
为了打破这种分散式管理的局面,交通部颁布了《高速公路联网收费的技术要求》。车辆只需在高速公路的出入口停车收费,即使跨区段行使也是如此,分段计费、财务结算和分割由计算机自动完成,驾驶员无需在同一高速公路上分段停车缴费,从而提升通行效率。
系统介绍
高速公路联网收费系统一般由车道收费与控制系统、收费站系统、路公司分中心系统、收费结算中心系统构成。
联网收费系统示意图
其中,车道和收费站之间是局域网,其他的都是广域网。
上述各系统间存在大量的数据通信,例如车道系统每天需要将原始缴费记录和对一些违章违法车辆的抓拍图像逐级上传到结算中心,结算中心除了负责定期财务结算外还负责日常的管理,结算中心需要将各种通知、命令、费率表以及配置信息及时的逐级下发到各个车道,因此系统中的通信模块在其中的作用至关重
要。
MQ解决方案
经过分析,该案例的数据通信具有如下特点:
通信系统之间是典型的树形结构;
任意两级系统之间最好采用异步的通信模式,异步通信的好处在于当对方系
统和网络状况正常的时候会很快的将数据传递过去,否则会将数据暂存起来,等到正常后再发送。以车道系统和收费站系统为例,当两者之间的网络故障时(尽管是局域网,仍然有可能故障),车道系统会将数据缓存起来,等到故障排除后再进行发送;如果采用同步的方式,则必须等到故障排除后才能进行下一步操作,这对过往的车主来说是无法忍受的。
另外,根据这个案例的业务特点,相关的通信需求如下:
由于涉及到资金等关键业务数据,因此必须保证数据的可靠传输。例如在发
生各种突发故障时(如网路断线,机器掉电等故障)保证数据不丢失,并在故障排除后能够被继续传输;
由于系统需要7*24小时的收费运营,必须保证通信子系统的稳定运行; 收费站在某些时候可能会有大量的车辆通过,如节假日,这就要求通信子系
统要具有长时间传输大量数据的能力;
随着车流量的不断增加,收费系统的业务量也会不断增加,现有的主机处理
能力可能难以满足需求,这就要求通信子系统具备很好的扩展能力,在不影响现有系统的前提下能够动态的增删车道、收费站、路公司分中心节点。综合上述这些需求和特点:异步通信、层次化或网状的通信网络、可靠传输、大数据量传输、动态扩展…等,我们可以发现:消息中间件是这个案例中通信子系统的最好选择。以下就是基于MQ的解决方案:
MQ解决方案示意图
整个数据流程如下:
1)车道收费系统将车辆原始缴费信息等提交到与之关联的MQ Server;
2)车道MQServer将记录暂存在本地并返回;同时MQServer会检查收费站的MQ Server是否可达,如果可达则将原始的缴费记录投递过去;
3)收费站MQ Server定期(一般是一天传一次)将本收费站所有车道的原始
记录投递到路公司分中心进行统计汇总;
4)路公司分中心MQ Server定期将汇总信息上传到结算中心;
5)结算中心定期进行结算、财务分割,后端还可能与银行、车辆通行卡管理中
心进行对接,进行资金划拨和通行卡账户金额管理。与这些系统对接也最好通过MQ来完成,本文档为了简单起见就不再展开来描述。
后续根据业务需求如果需要增加车道或收费站,对通信子系统来说,只需要在相应的节点上增加一个MQ Server,并分别配置一条传输通道到它的上级节点和下级节点即可,对现有系统不需要做任何改动。
案例总结
以上只是对高速公路联网收费系统的简单描述,实际使用场景可能会有一定的出入,比如系统的组网可能会更加复杂,除了树状的组网外还有网状结构,也有可能组网的层次会更多,但组网越复杂越能体现MQ的优势。
从这个例子我们也可以看到,MQ虽然是一个底层的中间件产品,但并非难以理解,它提供的功能其实非常单一,就是“提供可靠的数据传输”。在这个网络高度发达的时代,这种应用之间的通信场景比比皆是,以本案例所在的交通行业为例,除了高速收费外,在公安局的停车场监管系统、海事局的水上交通安全
管理系统,以及地铁、城市交通等系统中,都能找到大量的MQ使用场景。