一种基于微服务的ATS系统的制作方法

文档序号:17594923发布日期:2019-05-03 22:23阅读:661来源:国知局
一种基于微服务的ATS系统的制作方法

本发明实施例涉及轨道交通技术领域,尤其涉及一种基于微服务的ats系统。



背景技术:

自动列车监控系统ats系统在轨道交通管理中,实现自动监督、控制线上列车的运行,其主要功能包括:编制运行图,根据运行图自动办理列车进路,自动调整列车运行间隔,记录运行数据等。传统ats系统按照所处位置分为中心ats设备和车站ats设备,中心ats设备通常包括:(1)调度工作站:人机交互界面,用于显示全线站场图和人工控制信号列车;(2)应用服务器:生成当日计划、派班,转发和维护全线站场和列车状态,转发调度的命令给车站分机,生成pis(乘客信息系统)信息等;(3)网关计算机:负责与外部的信号系统通信,进行数据转化;(4)通信前置机:负责与外部的非信号系统通信,进行数据转化。车站ats设备通常包括:(1)车站分机:车次管理、识别号追踪、运行调整、自动触发进路等;(2)tdt(发车计时器)接口机:给tdt发送倒计时等信息。

图1为现有的传统ats系统的主要设备架构图,其中n为正整数,传统ats系统的传统软件功能的分布与设备室的硬件位置紧密相关,中心设备部署在控制中心occ或备用控制中心bocc;车站设备部署在各站,集中站部署有车站分机,所有自然站均部署tdt接口机。以车站分机为例,一台设备室的车站分机只管理本集中站范围内的列车,以及由此衍生出的许多功能,这种功能分配是根据地理位置、为了便于清晰划分权限而设计的,并不是说该车站分机仅有管辖一个集中站的能力。

以系统常见的人工操作(设置扣车)和自动处理(进路自动触发)为例,现有的传统ats系统的架构下的实现策略为:

一、人工操作(设置扣车):前台客户端将扣车命令发送给中心应用服务器,应用收到此命令后解析出应发送给哪个集中区的车站分机,车站分机收到此消息后,根据扣车指令做相应的处理(如取消跳停等),然后将扣车指令发送给联锁。

二、自动处理(进路自动触发):每个集中区的车站分机内部均会维护一份全线的列车概要数据、本集中区内的列车详细数据、一定范围内的站场状态。周期根据列车位置计算是否需要自动触发进路,如果要触发的进路在本集中区内,则自行发送办理进路命令给本集中区联锁,如果要触发的进路不在本集中区内,则发送办理进路指令给相邻集中区车站分机,由该车站分机发送办理进路命令给相邻集中区联锁。

但是,现有的传统ats系统按硬件设备的位置来分配软件功能做法存在以下缺陷:一、软件复杂度高,以车站分机为例,里面集合了车次管理、识别号追踪、运行调整、自动触发进路等多个功能模块,软件架构复杂、功能环环相扣;二、以物理上的硬件位置规定软件管辖的范围,当系统扩容时,只能靠增加硬件设备,来为新增的站线提供运算服务,硬件成本过高(包括初始成本和后续维护成本),为了提高可靠性,往往采取冗余热备的方案来降低硬件故障造成的影响,随着冗余设备由双机升级到四机,冗余热备判决软件的复杂性也成倍升高;三、各个软件内部相同的处理较多,软件之间通信靠udp(用户数据报协议)报文,数据一级级传输,如站场状态从车站分机传输到应用服务器,再由应用服务器传输到调度服务器,存在延时、丢包的风险。以以上两种操作的处理过程为例,当某个集中区车站分机出现了硬件故障,会导致整个集中区的扣车、自动触发功能失效,且不同集中区车站分机间交互的信息较多,线路发生扩展后,需要增加车站分机硬件,成本同等增加。



技术实现要素:

针对现有技术存在的问题,本发明实施例提供一种基于微服务的ats系统。

本发明实施例提供一种基于微服务的ats系统,包括:多个前台操作站、api网关、云端服务器中的多台虚拟机,所述云端服务器中部署有内存数据库;

其中,自动列车监控ats系统后台的功能拆分为多个单独的微服务,微服务之间松耦合,拆分后的所有微服务运行在云端服务器中的多台虚拟机中并周期地向内存数据库注册服务状态,每台虚拟机运行一个或多个微服务,每台虚拟机还设置有数据适配层;

所述api网关接收前台操作站发送的命令,判断所述命令所属的拆分后的微服务,将所述命令发送给所述命令所属的拆分后的微服务;所述命令所属的拆分后的微服务通过本微服务所在虚拟机中的数据适配层,在内存数据库中获取所述命令需要的信息,并根据所述命令对获取的信息进行相应修改处理,将修改处理完的信息通过所述数据适配层上传内存数据库进行数据更新;内存数据库收到修改处理完的信息时,根据当前注册的微服务,将所述修改处理完的信息主动推送给订阅所述信息的微服务,订阅所述信息的微服务若根据收到的所述信息识别出需要发送所述命令,则将所述命令发送给地面的联锁系统。

本发明实施例提供的基于微服务的ats系统,通过将ats系统的强耦合的、信息间接传递的、依赖于硬件位置的软件功能,拆分为弱耦合的、信息传递直接的、以云技术的形式实现的多个独立的微服务,在很大程度上简化了工作流程,降低了工作强度,大大缩减了人力物力投入,确保快速迭代开发,完成软件交付。而且,由云服务器保证硬件的稳定,降低由于分散各地的硬件出现故障引发的人员维护成本,当系统业务量增加或者线路延伸时,原有架构下的硬件成本需要相应增加,且需要去各个实际站点部署,而云架构下如果现有的资源有余量,只需要增加虚拟机即可,无需增加硬件成本,若云硬件需扩展,也比较方便,刀片式服务器仅需要增加插箱即可。结合软件规模的减小,为长期运行、快速部署提供了便利。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为为现有的传统ats系统的主要设备架构图;

图2为本发明一实施例提供的一种基于微服务的ats系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图2示出了本发明一实施例提供的一种基于微服务的ats系统的结构示意图,如图2所示,本实施例的基于微服务的ats系统,包括:多个前台操作站、api(应用程序编程接口)网关、云端服务器中的多台虚拟机,所述云端服务器中部署有内存数据库;

其中,自动列车监控ats系统后台的功能拆分为多个单独的微服务,微服务之间松耦合,拆分后的所有微服务运行在云端服务器中的多台虚拟机中并周期地向内存数据库注册服务状态,每台虚拟机运行一个或多个微服务,每台虚拟机还设置有数据适配层;

所述api网关接收前台操作站发送的命令,判断所述命令所属的拆分后的微服务,将所述命令发送给所述命令所属的拆分后的微服务;所述命令所属的拆分后的微服务通过本微服务所在虚拟机中的数据适配层,在内存数据库中获取所述命令需要的信息,并根据所述命令对获取的信息进行相应修改处理,将修改处理完的信息通过所述数据适配层上传内存数据库进行数据更新;内存数据库收到修改处理完的信息时,根据当前注册的微服务,将所述修改处理完的信息主动推送给订阅所述信息的微服务,订阅所述信息的微服务若根据收到的所述信息识别出需要发送所述命令,则将所述命令发送给地面的联锁系统。

可以理解的是,本实施例设计了一套完整的涵盖全线功能的数据结构,所述内存数据库存储有ats系统的全局数据,而不再将全局数据存储在应用服务器的内存中,以免与应用服务器的业务逻辑混杂,从而加重软件处理的负担。所述全局数据可以包括:全线站场数据、可能出现的所有列车数据、ats系统所有设备的设备状态数据等。在具体应用中,所述内存数据库可以为内存数据库集群中的内存数据库。

可以理解的是,本实施例中的api网关主要功能是连接前台软件和后台服务,负责将前台命令分发给特定的微服务去处理,比如前台操作站发送扣车指令,会发送给停车区域管理服务执行。本实施例所述系统需要保障api网关的稳定性和永久在线。

本实施例提供的基于微服务的ats系统,通过将ats系统的强耦合的、信息间接传递的、依赖于硬件位置的软件功能,拆分为弱耦合的、信息传递直接的、以云技术的形式实现的多个独立的微服务,在很大程度上简化了工作流程,降低了工作强度,大大缩减了人力物力投入,确保快速迭代开发,降低了开发难度,完成软件交付。而且,由云服务器保证硬件的稳定,降低由于分散各地的硬件出现故障引发的人员维护成本,当系统业务量增加或者线路延伸时,原有架构下的硬件成本需要相应增加,且需要去各个实际站点部署,而云架构下如果现有的资源有余量,只需要增加虚拟机即可,无需增加硬件成本,若云硬件需扩展,也比较方便,刀片式服务器仅需要增加插箱即可。结合软件规模的减小,为长期运行、快速部署提供了便利。

进一步地,举例来说,以ats系统中车站分机的软件功能为例,本实施例可将车站分机的软件功能拆分的微服务可以包括:列车追踪服务、车次管理服务、停车区域处理服务、列车定位服务、进路管理服务和外部接口处理服务等。

进一步地,在上述实施例的基础上,所述api网关还具备决策冗余热备服务的主备功能,保证构成冗余热备的主备两系同样的服务同时只有一系对外输出,决策主备两系中哪一系的服务输出;通过判断微服务与api网关的通信情况以及读取内存数据库中各微服务的工作状态,判决更优的主机,所有微服务的主备均听从api网关的指派,微服务内部根据指派而设置自己的主备标志位,若微服务与api网关的通信中断收不到指派,则所述微服务降级为维护态同时修改内存数据库中存储的所述微服务的连接状态为注销态。

其中,所述微服务的工作状态,可以包括:向内存数据库周期注册情况和负载情况等。

可以理解的是,本实施例可以复用既有的冗余决策策略来为api网关计算主备机,并在以往冗余策略基础上增加对负载均衡的判断,负载均衡的算法诸如轮询法、随机法、最小连接法、源地址哈希法等,可根据实际情况进行具体选择,本实施例并不对其进行限制。

进一步地,在上述实施例的基础上,所述数据适配层负责将接口数据或者程序内部数据进行运算转化成内存数据库的数据结构,所有微服务通过数据适配层来存取数据;

所述数据适配层若接收到微服务请求获取所述命令需要的信息的消息,则访问内存数据库取出所述命令需要的信息,将取出的所述命令需要的信息转化成所述微服务所需要的数据结构,当所述微服务根据所述命令对转化成所述微服务所需要的数据结构的取出的信息进行相应修改处理完后,所述数据适配层将修改处理完的信息转化成内存数据库的数据结构后上传至内存数据库进行数据更新。以列车追踪服务为例,需要获取全线站场状态,可以发送消息给数据适配层,数据适配层收到此消息后,访问实时数据库取出全线站场状态,将全线站场状态转化为列车追踪服务所需要的数据结构,当列车追踪服务计算完本周期的列车位置后,将列车位置信息传送给数据适配层,数据适配层将列车位置信息转化成内存数据库中的列车位置格式,修改内存数据库中的值。

进一步地,在上述实施例的基础上,对于拆分后实现ats系统任意自动处理功能的的微服务,所述微服务周期地通过本微服务所在虚拟机中的数据适配层,获取内存数据库中的所述自动处理功能需要的信息,并根据自身的逻辑,对获取的信息进行相应修改处理,将修改处理完的信息通过所述数据适配层上传内存数据库进行数据更新;内存数据库收到修改处理完的信息时,根据当前注册的微服务,将所述修改处理完的信息主动推送给订阅所述信息的微服务,订阅所述信息的微服务若根据收到的所述信息识别出需要发送所述自动处理功能的对应命令,则将所述自动处理功能的对应命令发送给地面的联锁系统。

在具体应用中,以ats系统的设置扣车的人工操作为例,本实施例针对ats系统的设置扣车的人工操作:

所述api网关接收前台操作站发送的扣车命令,判断所述扣车命令属于停车区域处理服务,将所述扣车命令发送给停车区域处理服务;停车区域处理服务通过本微服务所在虚拟机中的数据适配层,获取内存数据库中的站台状态,并根据所述扣车命令对获取的站台状态进行相应修改处理,将修改处理完的站台状态通过所述数据适配层上传内存数据库进行数据更新;内存数据库收到修改处理完的站台状态时,根据当前注册的微服务,将所述修改处理完的站台状态主动推送给订阅站台状态的微服务,订阅站台状态的微服务若根据收到的站台状态识别出需要发送扣车命令,则将扣车命令发送给地面的联锁系统。

在具体应用中,以ats系统的进路自动触发的自动处理操作为例,本实施例针对ats系统的进路自动触发的自动处理操作:

负责实现进路自动触发功能的进路管理服务,周期地通过本微服务所在虚拟机中的数据适配层,获取内存数据库中的列车信息,并根据自身的逻辑,,对获取的列车信息进行相应修改处理,将修改处理完的列车信息通过所述数据适配层上传内存数据库进行数据更新;内存数据库收到修改处理完的列车信息时,根据当前注册的微服务,将所述修改处理完的列车信息主动推送给订阅列车信息的微服务,订阅列车信息的微服务若根据收到的列车信息识别出需要发送办理进路命令,则将办理进路命令发送给地面的联锁系统。

本实施例提供的基于微服务的ats系统,通过将ats系统的强耦合的、信息间接传递的、依赖于硬件位置的软件功能,拆分为弱耦合的、信息传递直接的、以云技术的形式实现的多个独立的微服务,在很大程度上简化了工作流程,降低了工作强度,大大缩减了人力物力投入,确保快速迭代开发,完成软件交付。而且,由云服务器保证硬件的稳定,降低由于分散各地的硬件出现故障引发的人员维护成本,当系统业务量增加或者线路延伸时,原有架构下的硬件成本需要相应增加,且需要去各个实际站点部署,而云架构下如果现有的资源有余量,只需要增加虚拟机即可,无需增加硬件成本,若云硬件需扩展,也比较方便,刀片式服务器仅需要增加插箱即可。结合软件规模的减小,为长期运行、快速部署提供了便利。本实施例使ats系统更有弹性,可以从异常或压力状态中恢复又不会产生显著的影响;使系统更有伸缩性,当线路增长业务量上升时,尽量降低硬件成本;工作复杂度降低后,更能够保证软件的可靠性。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1