一种轨道交通服务器通信方法及系统转让专利

申请号 : CN201910765549.2

文献号 : CN110535924B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张洲徐淑鹏何治达杨小彦李春剑宋伟魏潇郭飞燕陶玉龙岳俊伟吴金然安明明

申请人 : 郑州地铁集团有限公司

摘要 :

本发明涉及一种轨道交通服务器通信方法及系统,本发明基于多服务器集群系统,多个中心服务器系统互为冗余备份。本发明的方法中,各中心服务器系统的队列服务器和执行服务器互为备份,各中心服务器系统正常状态下处理本中心服务器系统对应的车站相关数据,在本中心服务器系统的队列服务器和执行服务器繁忙无空闲线程时、或者服务器故障时,对应的负载均衡服务器可以在其他中心服务器系统中寻找有空闲线程可用的队列服务器进行分类下发的处理,同时队列服务器也可以在其他中心服务器系统中寻找对应的有空闲线程可用的执行服务器进行处理。

权利要求 :

1.一种轨道交通服务器通信方法,该通信方法基于一种轨道交通服务器系统来实现,该轨道交通服务器系统包括各车站的车站计算机系统和城市轨道交通中心服务器系统,城市轨道交通中心服务器系统包括主中心系统和副中心系统,主中心系统包括主队列服务器、主执行服务器和主负载均衡服务器,副中心系统包括副队列服务器、副执行服务器和副负载均衡服务器;主中心系统的主负载均衡服务器和副中心系统的副负载均衡服务器分别连接与本中心对应的车站计算机系统,主中心系统的主负载均衡服务器和副中心系统的副负载均衡服务器先行接收并处理与本中心对应的车站计算机系统发送过来的数据,其特征在于,主中心系统中的主负载均衡服务器既连接主队列服务器,又连接副队列服务器,副中心系统中的副负载均衡服务器既连接副队列服务器,又连接主队列服务器,主中心系统中的主队列服务器既连接主执行服务器,又连接副执行服务器,副中心系统中的副队列服务器既连接副执行服务器,又连接主执行服务器,主负载均衡服务器将数据优先分配给主队列服务器的空闲线程;主队列服务器中的空闲线程先对所述数据进行分类,再将同一类的数据优先推送到对应的处理相应业务的主执行服务器,由主执行服务器的空闲线程进行处理;所述主中心系统和副中心系统互为备份,当主队列服务器没有空闲线程时,主负载均衡服务器将数据分配给副队列服务器的空闲线程;当处理相应业务的主执行服务器没有空闲线程时,主队列服务器将该类数据推送到对应的处理相应业务的副执行服务器,由副执行服务器空闲线程进行处理;副负载均衡服务器将数据优先分配给副队列服务器的空闲线程,副队列服务器中的空闲线程先对所述数据进行分类,再将同一类的数据优先推送到对应的处理相应业务的副执行服务器,由副执行服务器的空闲线程进行处理;当副队列服务器没有空闲线程时,副负载均衡服务器将数据分配给主队列服务器的空闲线程;当处理相应业务的副执行服务器没有空闲线程时,副队列服务器将该类数据推送到对应的处理相应业务的主执行服务器,由主执行服务器空闲线程进行处理。

2.根据权利要求1所述的轨道交通服务器通信方法,其特征在于,所述车站计算机系统上传的数据包括车站通知数据、车站状态数据和车站交易数据。

3.根据权利要求2所述的轨道交通服务器通信方法,其特征在于,所述主执行服务器包括主业务服务器、主状态服务器和主数据处理服务器;所述主业务服务器用于处理车站通知数据,所述主状态服务器用于处理车站状态数据,所述主数据处理服务器用于处理车站交易数据;所述副执行服务器包括副业务服务器、副状态服务器和副数据处理服务器;所述副业务服务器用于处理车站通知数据,所述副状态服务器用于处理车站状态数据,所述副数据处理服务器用于处理车站交易数据。

4.根据权利要求1、2或3所述的轨道交通服务器通信方法,其特征在于,所述主队列服务器或副队列服务器为RabbitMQ服务器。

5.一种轨道交通服务器系统,其特征在于,该轨道交通服务器系统包括各车站的车站计算机系统和城市轨道交通中心服务器系统,城市轨道交通中心服务器系统包括主中心系统和副中心系统,主中心系统和副中心系统分别连接对应的车站的车站计算机系统,主中心系统包括主队列服务器、主执行服务器和主负载均衡服务器,副中心系统包括副队列服务器、副执行服务器和副负载均衡服务器;主中心系统中的主负载均衡服务器既连接主队列服务器,又连接副队列服务器,副中心系统中的副负载均衡服务器既连接副队列服务器,又连接主队列服务器,主中心系统中的主队列服务器既连接主执行服务器,又连接副执行服务器,副中心系统中的副队列服务器既连接副执行服务器,又连接主执行服务器;所述主中心系统和副中心系统执行实现如下方法的指令:主中心系统的主负载均衡服务器和副中心系统的副负载均衡服务器先行接收并处理与本中心对应的车站计算机系统发送过来的数据,主负载均衡服务器将数据优先分配给主队列服务器的空闲线程;主队列服务器中的空闲线程先对所述数据进行分类,再将同一类的数据优先推送到对应的处理相应业务的主执行服务器,由主执行服务器的空闲线程进行处理;所述主中心系统和副中心系统互为备份,当主队列服务器没有空闲线程时,主负载均衡服务器将数据分配给副队列服务器的空闲线程;当处理相应业务的主执行服务器没有空闲线程时,主队列服务器将该类数据推送到对应的处理相应业务的副执行服务器,由副执行服务器空闲线程进行处理;副负载均衡服务器将数据优先分配给副队列服务器的空闲线程,副队列服务器中的空闲线程先对所述数据进行分类,再将同一类的数据优先推送到对应的处理相应业务的副执行服务器,由副执行服务器的空闲线程进行处理;当副队列服务器没有空闲线程时,副负载均衡服务器将数据分配给主队列服务器的空闲线程;当处理相应业务的副执行服务器没有空闲线程时,副队列服务器将该类数据推送到对应的处理相应业务的主执行服务器,由主执行服务器空闲线程进行处理。

6.根据权利要求5所述的轨道交通服务器系统,其特征在于,所述车站计算机系统上传的数据包括车站通知数据、车站状态数据和车站交易数据。

7.根据权利要求6所述的轨道交通服务器系统,其特征在于,所述主执行服务器包括主业务服务器、主状态服务器和主数据处理服务器;所述主业务服务器用于处理车站通知数据,所述主状态服务器用于处理车站状态数据,所述主数据处理服务器用于处理车站交易数据;所述副执行服务器包括副业务服务器、副状态服务器和副数据处理服务器;所述副业务服务器用于处理车站通知数据,所述副状态服务器用于处理车站状态数据,所述副数据处理服务器用于处理车站交易数据。

8.根据权利要求5、6或7所述的轨道交通服务器系统,其特征在于,所述主队列服务器或副队列服务器为RabbitMQ服务器。

说明书 :

一种轨道交通服务器通信方法及系统

技术领域

[0001] 本发明涉及一种轨道交通服务器通信方法及系统,属于轨道交通通信技术领域。

背景技术

[0002] 随着电子商务和云计算的飞速发展,企业越来越注重数据服务的可靠性,如果数据丢失或损坏将会对企业造成巨大损失,而双机系统技术作为近些年来出现的新技术能确保系统持续提供服务,是保障企业服务可靠性的关键技术。
[0003] 在城市轨道交通领域,国内各地针对AFC系统(城市轨道交通自动售检票系统)的架构和未来定义都在进行不断探索和尝试,以便更快适应新的支付方式、多个运营主体和管理模式的变化。既有系统缺少灵活的适应性,不能完全适应运营需求。
[0004] 由于郑州市轨道交通自动售检票线网管理中心(ANCC)系统与各车站在业务功能和运营运行上的紧密耦合性,以及ANCC需管理众多线路的众多车站,ANCC的正常运行将对众多线路所属车站产生重大影响,基于此,ANCC首先要保证极高的可靠性和运行速度。
[0005] 对于城市轨道交通来说,服务器出现故障会导致严重的问题,服务器故障的原因有很多,有可能是设备故障,有可能是操作系统故障,还有可能是软件故障,当服务器出现故障时,要一一对故障进行排除,才能使服务器重新正常运行,正常运行前服务器停机少则几十分钟,多则几十小时。对于人流量极大的城市轨道交通系统来说,任何服务器故障导致的服务器系统无法正常工作,都会导致严重的后果。

发明内容

[0006] 本发明的目的是提供一种轨道交通服务器通信方法及系统,用以解决服务器故障而导致轨道交通服务器系统无法正常工作的问题。
[0007] 为实现上述目的,本发明的方案包括:
[0008] 本发明提供一种轨道交通服务器通信方法,包括主中心系统和副中心系统,主中心系统包括主队列服务器、主执行服务器和主负载均衡服务器,副中心系统包括副队列服务器、副执行服务器和副负载均衡服务器;主负载均衡服务器接收车站计算机系统上传的数据,主负载均衡服务器将数据分配给主队列服务器的空闲线程;主队列服务器中的空闲线程先对所述数据进行分类,再将同一类的数据推送到对应的处理相应业务的主执行服务器,由主执行服务器的空闲线程进行处理;所述主中心系统和副中心系统互为备份,当处理相应业务的主执行服务器没有空闲线程时,主队列服务器将该类数据推送到对应的处理相应业务的副执行服务器,由副执行服务器空闲线程进行处理;当主队列服务器没有空闲线程时,主负载均衡服务器将数据分配给副队列服务器的空闲线程;当处理相应业务的主执行服务器没有空闲线程时,副队列服务器将该类数据推送到对应的处理相应业务的副执行服务器,由副执行服务器空闲线程进行处理。
[0009] 本发明还提供了一种轨道交通服务器系统,包括主中心系统和副中心系统,主中心系统包括主队列服务器、主执行服务器和主负载均衡服务器,副中心系统包括副队列服务器、副执行服务器和副负载均衡服务器;所述主中心系统和副中心系统执行实现上述轨道交通服务器通信方法的指令。
[0010] 本发明的有益效果:本发明的城市轨道交通服务器通信方法基于多服务器集群系统,多个中心服务器系统互为冗余备份,本中心服务器系统中的负载均衡服务器连接本中心服务器系统的队列服务器,还连接其他中心服务器系统的队列服务器;本中心服务器系统的队列服务器连接本中心服务器系统的执行服务器,还连接其他中心服务器系统的执行服务器。各中心服务器系统的负载均衡服务器连接与本中心服务器系统对应的车站计算机系统(车站SC)。本发明的方法中,各中心服务器系统的队列服务器和执行服务器互为备份,各中心服务器系统正常状态下处理本中心服务器系统对应的车站相关数据,在本中心服务器系统的队列服务器和执行服务器繁忙无空闲线程时、或者服务器故障时,对应的负载均衡服务器可以在其他中心服务器系统中寻找有空闲线程可用的队列服务器进行分类下发的处理,同时队列服务器也可以在其他中心服务器系统中寻找对应的有空闲线程可用的执行服务器进行处理。
[0011] 本发明最大程度的调用了城市轨道交通服务器系统的资源,避免中心服务器系统有的因对应车站某一时段繁忙、自身处理能力不足而导致数据滞留,而同时有的中心服务器系统资源闲置。同时,在某中心服务器系统中某服务器故障时,可以通过其他中心服务器系统中的对应服务器处理,而不会导致该中心服务器系统无法正常工作。
[0012] 作为通信方法和服务器系统的进一步改进,所述车站计算机系统上传的数据包括车站通知数据、车站状态数据和车站交易数据。
[0013] 作为通信方法和服务器系统的进一步改进,所述主执行服务器包括主业务服务器、主状态服务器和主数据处理服务器;所述主业务服务器用于处理车站通知数据,所述主状态服务器用于处理车站状态数据,所述主数据处理服务器用于处理车站交易数据;所述副执行服务器包括主业务服务器、主状态服务器和主数据处理服务器;所述主业务服务器用于处理车站通知数据,所述主状态服务器用于处理车站状态数据,所述主数据处理服务器用于处理车站交易数据。
[0014] 作为通信方法和服务器系统的进一步改进,所述主队列服务器或副队列服务器为RabbitMQ服务器。
[0015] 通过RabbitMQ进行数据收发,充分发挥了RabbitMQ高并发和集群部署简单的优势,提高了数据分类收发的可靠性和系统的稳定性。

附图说明

[0016] 图1是本发明的轨道交通服务器系统示意图;
[0017] 图2是SC‑LC建立连接交互示意图。

具体实施方式

[0018] 下面结合附图对本发明做进一步详细的说明。
[0019] 轨道交通服务器系统实施例:
[0020] 如图1所示的本发明的一种轨道交通服务器系统,包括各车站的车站计算机系统(车站SC)、城市轨道交通中心服务器系统(以下简称中心系统或中心),城市内的中心系统有多个,例如本实施例中有两个,分别对应图1中的“中心服务器系统一”和“中心服务器系统二”。中心系统中包括负载均衡服务器、队列服务器、执行服务器以及数据库,负载均衡服务器用于向有空闲线程的队列服务器分配数据;队列服务器对数据进行分类,并将同一类数据推送进处理该类数据的执行服务器的空闲线程;数据库与执行服务器相连,用于数据的存储与调用。
[0021] 每个中心系统连接对应的车站的车站计算机系统,例如连接地理上更接近的本区域内的车站的车站SC。每个中心系统的负载均衡服务器除了对应连接本中心的队列服务器外,还连接其他中心系统的队列服务器;队列服务器除了对应连接本中心的执行服务器外,还连接其他中心系统的执行服务器。每个中心的执行服务器包括三种不同的执行服务器,分别为:1)业务服务器,业务服务器用于处理车站通知数据;2)状态服务器,状态服务器用于处理车站状态数据;3)数据处理服务器,数据处理服务器用于处理车站交易数据。每种执行服务器均可多线程处理。每个中心均具备数据库,每个中心的数据库互为备份且可随时进行内容同步,其储存的数据内容均相同;每个中心的执行服务器除了对应连接本中心的数据库,还连接其他中心的数据库。一般来说,仅有一个中心的数据库为主数据库,其他中心的数据库为辅助数据库(备数据库),即所有中心的执行服务器在储存数据或调取数据时,均调用主数据库,只有在主数据库故障无法读写时,才调用辅助数据库。
[0022] 每个中心的负载均衡服务器、队列服务器、业务服务器、状态服务器和数据处理服务器均可以是服务器集群,包含多个同类型的服务器,每个服务器均可以多线程处理,有空闲线程的服务器均可认为是空闲的服务器。
[0023] 每个车站的车站计算机系统发送数据到对应的中心系统,由对应中心系统的负载均衡服务器先行接收并进行处理,具体处理方法将在轨道交通服务器通信方法实施例中介绍,此处不再赘述。
[0024] 轨道交通服务器通信方法实施例:
[0025] 本实施例以两个中心服务器系统为例,分别为主中心服务器系统(可以对应图1中中心服务器系统一,以下简称主中心或主中心系统)和副中心服务器(可以对应图1中中心服务器系统二,以下简称副中心或副中心系统)。主中心服务器系统和副中心服务器系统在硬件上相似且互为备份。
[0026] 某主中心对应连接的车站的车站计算机系统发送数据到主中心系统的负载均衡服务器,由负载均衡服务器进行分配,优先分配给本中心空闲的队列服务器,若本中心没有空闲的队列服务器,则分配给副中心的队列服务器。队列服务器将数据按照通知数据、状态数据和交易数据进行分类,具体为根据对应数据上绑定的key进行区分,然后按照key进行分发,将带有通知key的数据分发到执行服务器中的空闲业务服务器,将带有状态key的数据分发到执行服务器中的空闲状态服务器,将带有交易key的数据分发到执行服务器中的空闲数据处理服务器。
[0027] 主中心的队列服务器优先将某类数据分发到本中心(即主中心)中空闲的对应执行服务器中(例如对于状态数据来说,中心系统中有空闲线程的状态服务器才代表该中心有空闲的对应执行服务器),若主中心没有空闲的对应执行服务器,则将某类数据分发到副中心中空闲的对应执行服务器。
[0028] 若主中心没有空闲的队列服务器,则数据的分类是由副中心的队列服务器执行,副中心的队列服务器可以优先分发不同分类的数据回到主中心的对应空闲执行服务器(即数据来源车站对应的中心系统的执行服务器),也可以优先分发不同分类的数据到本中心(即副中心)的对应空闲执行服务器。
[0029] 队列服务器的对应线程在完成分类分发任务后重新成为空闲线程。
[0030] 不同的执行服务器接收到队列服务器发来的分类数据后,进行业务逻辑处理,并可以随时从数据库调取数据(例如查询车站状态)或者储存数据入库。主中心服务器系统与副中心服务器系统在按需调取查询数据,以及储存入库数据时,均优先选择主数据库进行,若主数据库出现故障,则再选择备数据库。
[0031] 由队列服务器分类的数据包括通知数据、状态数据和交易数据,其中通知数据包括车站模式通知,例如车站运营模式变更的通知、24小时运营通知以及延长运营时间通知等。状态数据。状态数据用于记录车站及设备的状态,例如设备状态的变更。交易数据包括日常交易数据,例如退卡交易、正常进出站交易及员工卡交易等。
[0032] 每一类执行服务器(业务服务器、状态服务器及数据处理服务器等)都会跟队列服务器创建一个连接,这个连接是持久性的,即使服务器停止工作这个连接也是一直存在的,车站计算机系统发来的数据还是会向该队列发送。
[0033] 车站计算及系统上送来到的各种数据,通过上送的key来区分属于哪一类的数据,对于业务服务器来说,业务服务器会在自身链接上绑定所需要处理数据的key,队列服务器会把相应的数据通过这条链接推送到业务服务器上,实现了消息的有序分发。
[0034] 车站计算机系统会通过对应的负载均衡服务器与队列服务器创建一个临时连接,当车站计算机系统断开时该连接也会随之消失,车站计算机系统连接会绑定以自身车站id为key的消息键,队列服务器会将对应车站的消息推送到车站连接队列上。
[0035] 车站SC与LC(中心服务器系统)之间在创建连接中有很多上下位之间的交互。此处以车站SC与LC之间创建连接为实例,描述车站计算机系统与中心服务器系统之间的通信交互。具体如图2所示。
[0036] ·当SC向LC发送连接认证请求数据时,即标识此序列开始。LC检查SC的合法性并反馈。当SC不合法时,LC返回认证失败,由SC断开与线路RabbitMQ的连接;当SC合法时,继续此序列。
[0037] ·SC使用NTP协议与LC进行时钟同步;如果时钟同步前后运营日不一致,则首先进行本地运营日切换。
[0038] ·执行参数同步的子时序。
[0039] ·子时序完成后,SC向LC上报SC运营状态;包括车站的运营模式、24小时运营状态和延长运营状态。
[0040] ·LC检查SC运营状态是否和SC运营状态一致。
[0041] ·若SC运营模式和LC不一致,LC向SC补发运营模式控制命令。
[0042] ·SC向LC上传运营模式状态变更数据。
[0043] ·若SC 24小时运营状态和LC不一致,LC向SC补发24小时运营控制命令。
[0044] ·SC向LC上传24小时运营状态变更数据。
[0045] ·若SC延长运营状态和LC不一致,LC向SC补发延长运营时间命令。
[0046] ·SC向LC上传延长运营状态变更数据。
[0047] ·在LC认为不需要再发送新的运营状态控制命令时,发送上位同步数据完成通知给SC,表示时序中LC已经发送完成所有信息。
[0048] ·SC向LC上报所属所有在线的SLE的当前状态。
[0049] ·SC向LC上报SC完整状态;此时即表明整个时序结束;此时,SC可以继续自身下一步的工作,如果未上送的数据,则立即开始上送这些数据。
[0050] ·SC上送未上送的交易/业务数据(包含时序中生成的时钟差异业务数据、程序/参数版本变更业务数据)。
[0051] 图2中:
[0052] 注1:需要检查SC IP地址、SC设备ID等信息与系统中的部署信息是否一致,如果不一致则应当中止此同步序列。
[0053] 注2:上报本SC完整状态,该完整状态包括SC当前运营状态(即:模式状态、24小时运营状态、延长运营状态)。
[0054] 注3:对注2总上报的运营状态进行检查,对与上位要求不一致的状态下发相应控制命令。
[0055] 注4:只有在相应运营状态不一致时,才进行注4中运营控制命令的下发和对应状态变更数据的上传。
[0056] 注5:在LC认为不需要再发送新的运营状态控制命令时,发送“上位同步数据完成通知”给SC,表示同步时序中LC已经发送完成所有信息。
[0057] 注6:SC接收到LC发送的“上位同步数据完成通知”后,SC向LC上报所属车站在线的SLE的当前状态,不在线的不需上报。
[0058] 注7:向LC发送本SC完整状态。之后,“SC‑LC建立连接”同步时序正常结束。