APP下载

基于云计算微服务架构的地铁广播和乘客信息统一信息发布系统的研究

2020-03-17胡世宏

黑龙江交通科技 2020年2期
关键词:容器车站架构

胡世宏

(古钛(上海)科技有限公司,上海 浦东 201208)

1 传统广播和乘客信息发布系统的技术架构

车站广播设置广播控制器、功放、呼叫站、无源喇叭设备,车站乘客信息设置控制器、LCD(LED)屏,车场只设置广播设备,控制中心设置服务器,处理ATS、时钟等外部接口,并处理业务逻辑,在车站、控制中心的控制终端上可以发布控制指令,实时监控车站、车场广播、乘客信息系统的设备动作及状态。

传统的系统主要是由广播系统、乘客信息系统的厂商提供自有的一套软件系统来实现监控,这面临如下问题:

如果要拓展功能或拓展信息连接,就需要依赖原厂商提供软件升级来实现。

系统升级改造需要设备及应用软件同步升级改造。

随着城市轨道交通向网络化运营、运维一体化的方式转变,要求原系统要能更灵活的进行功能拓展及信息互联,同时还需要降低升级改造的成本。

2 基于云计算微服务技术架构的可行性

2.1 云计算技术

云计算(cloudcomputing)是一种特殊的工作形式,它的主要特点是对与互联网有一定联系的服务进行互相交换、应用和增加,一般经过互联网络来提供资源,资源多为动态的、容易拓展的且不是现实中存在的。在应用云计算后,开发软件的技术、基础框架结构将产生大幅度的改变。一是即将开创的软件需要与云不排斥,且能够很好地在以非现实存在为关键特点的云平台上工作,能够满足计算性能、保存数据的性能随着时间变化;二是保存数据的基础框架机构、中心处理能力必须要能够满足大部分使用者的需求;三是软件的使用环境要在基于互联网的前提下;四是拥有更强大的安全性能,能够抵挡各种攻击,维护个人的敏感文件不被泄露;五是能够适应计算机、手机以及用户终端等,在这些设备上正常工作。

在应用云计算后,开创软件的基础环境、工作方式会产生显著改变。虽然,没有给传统的软件理论带来彻底的变化,但在云平台的基础上,开发软件所用的工具、平台以及环境能够实现快速开发、同一个工程组内部共同合作、在两个地方进行开发。而且在开发工程组内部可以满足基于云平台进行线上开发的要求,并利用云完成储备知识、软件再次利用。

云计算的服务通常被分为以下3个层次,详细介绍见表1所示。

表1 云计算的服务

2.2 微服务技术

微服务基础结构以单个应用软件为单位对应用服务进行处理,每个应用单独运行,进程独立,并与小重量级别的机制进行沟通。服务以处理业务的能力为核心建设,能够利用非手动部署结构部分分开进行放置。这些服务所应用的非独立式管理范围最小,它们的程序代码能够用不同的编辑应用程序的语言编辑,可以采用不同的保存数据的技术。

微服务中每个服务均有各自的处理和小重量级别通信结构部分,一般放置在一个或者几个服务器上,与其他服务的主要区别是零件化、独立治理、去核心化,主要总结为以下几点。

(1)一对一服务

服务种类和范围小,每个服务只负责对一种业务需要的能力进行处理,只专心致志一件事上。

(2)独立布署

每个服务单独进行安排并在一个进程内调试运行。在这种模式下,系统的代码能够更加灵活的进行组织以及发布,方便快捷的交接并能够应对突然的变化。

(3)独立开发和运行

技术可以根据类型灵活选择,传统的系统技术对其没有限制。业务上产生的问题选取选取符合自己条件的技术单独运行。各个服务间采用和语言毫无关联的API统一集中式开创。与单独一体式的结构相比,微服务基础结构是一种适应新型业务的结构应用形式。

(4)独立团队和执行

服务的存活周期由团队负责任,在单独的上文下文环境中工作,自己发布命令自己执行,而不需要与全部服务都相通的中心决策,各个团队之间以零散的小区为单位相互连接。

2.3 容器技术

Linux Container(简称LXC)它是一种内核轻量级的操作系统层虚拟化技术。Linux Container主要由Namespace和Cgroup两大机制来保证实现。容器技术主要有几个特点:

(1)极其轻量;(2)秒级部署;(3)易于移植;(4)弹性伸缩。

由Google,Docker、CoreOS、IBM、微软、红帽等厂商联合发起的OCI(Open Container Initiative)于2016年4月推出了第一个开放容器标准。标准主要包括runtime运行时标准和image镜像标准。容器技术主要解决了PAAS的层的技术实现。目前主流的有以下几种:

(1)容器化传统应用不仅能提高现有应用的安全性和可移植性,还能节约成本。每个企业的环境中都有一套较旧的应用来服务于客户或自动执行业务流程。即使是大规模的单体应用,通过容器隔离的增强安全性、以及可移植性特点,也能从Docker中获益,从而降低成本。一旦容器化之后,这些应用可以扩展额外的服务或者转变到微服务架构之上。

(2)微服务加速应用架构现代化进程。应用架构正在从采用瀑布模型开发法的单体代码库转变为独立开发和部署的松耦合服务。成千上万个这样的服务相互连接就形成了应用。Docker允许开发人员选择最适合于每种服务的工具或技术栈,隔离服务以消除任何潜在的冲突,从而避免“地狱式的矩阵依赖”。这些容器可以独立于应用的其他服务组件,轻松地共享、部署、更新和瞬间扩展。Docker的端到端安全功能让团队能够构建和运行最低权限的微服务模型,服务所需的资源(其他应用、涉密信息、计算资源等)会适时被创建并被访问。

(4)IT基础设施优化充分利用基础设施,节省资金。Docker和容器有助于优化IT基础设施的利用率和成本。优化不仅仅是指削减成本,还能确保在适当的时间有效地使用适当的资源。容器是一种轻量级的打包和隔离应用工作负载的方法,所以Docker允许在同一物理或虚拟服务器上毫不冲突地运行多项工作负载。企业可以整合数据中心,将并购而来的IT资源进行整合,从而获得向云端的可迁移性,同时减少操作系统和服务器的维护工作。

2.4 新的广播和乘客信息发布系统技术架构

新的架构符合云计算的IaaS、PaaS、SaaS的标准架构模式,整体系统可部署在IaaS上,采用kubernetes等PaaS层的容器云平台,以SaaS的方式实现广播、乘客信息系统的应用功能,运用docker容器技术,实现应用功能、通信服务的微服务化,技术架构。

3 验证测试实验及结论

3.1 主要测试代码

本次研究开发工具,前端页面采用html5、css3、javascript,服务端采用nodejs,容器采用docker,服务器操作系统为linux(centos7.5)。

微服务部署,201、202为控制中心服务器,101、102为车站服务器;控制中心服务器部署调度控制微服务(papis-o-dd),实现调度控制中心功能;车站服务器部署车控室控制微服务(papis-s-cz),车站设备网管微服务(papis-s-wg),车站移动控制微服务(papis-m-cz),车站PIS设备通信微服务(pisapp),车站PA设备通信微服务(sagabc1)。

本次研究实现的主要实现了控制中心控制、车控室控制、车站网管、车站移动控制功能:

例如:车控室控制界面:

以控制中心微服务为例,其中index.html为功能页面,papis-o-dd.js为客户端,papis-o-dd-server.js为服务端。

功能页面实现PIS信息发布,代码如下:

客户端程序通过ajax接口与服务端通信,代码如下:服务端调用PIS通信微服务接口,实现对PIS设备的控制,代码如下:

3.2 测试效果及结论

通过浏览器访问应用微服务(192.168.1.111:3010),迅速进入功能界面,通过交互界面,输入广播、乘客信息的控制指令后,在1秒内实现广播、乘客信息设备的控制动作,测试了LCD屏显示告警信息,开关LCD屏,开关PIS控制器,广播直播开关等,所有控制动作均在1 s内完成。

经过本次测试研究,可以确定采用云计算、微服务、容器技术,可以实现新架构下的地铁车站广播、乘客信息系统功能。

同时也可以推断地铁CCTV、电话、门禁、屏蔽门等机电系统,也可以采用本次实验研究的技术架构来实现。

猜你喜欢

容器车站架构
基于FPGA的RNN硬件加速架构
容器倒置后压力压强如何变
车站一角
功能架构在电子电气架构开发中的应用和实践
难以置信的事情
构建富有活力和效率的社会治理架构
在北京,一个车站的治理有多难
VoLTE时代智能网架构演进研究
取米
地铁车站