1.本发明属于自动开关站技术领域,具体涉及一种基于消息发布和订阅的智慧车站自动开关站系统及方法。
背景技术:2.智慧车站除了能够为乘客提供更加智慧、人性化的服务外,还能帮助车站运营人员提高工作效率,自动开关站就是一个典型的提升车站运营效率的新技术。自动开关站可以快速的实现车站开关的安全确认、系统自检、设备动作和状态反馈,降低人力成本,提升车站设备管理的时效性,完善车站智能化运行和运营管理功能,为车站管理提供智慧化的优质服务。
3.传统的自动开关站系统,其自动开关站服务端与自动开关站客户端采用直接连接的方式通信,自动开关站服务端与自动开关站客户端紧密耦合,二者依赖性过强,不利于模块化处理,不便于自动开关站系统的多工作面高效开发。
4.另外,当考虑增加备用自动开关站服务时,会导致维护自动开关站客户端、自动开关站服务端、备用自动开关站服务端三者之间通信的复杂度非常高,不利于系统的可扩展性及高可用性。
技术实现要素:5.针对于上述现有技术的不足,本发明的目的在于提供一种基于消息发布和订阅的智慧车站自动开关站系统及方法,通过实时数据库的发布、订阅,将数据通信及数据同步从自动开关站客户端与自动开关站服务端中解耦出来,便于自动开关站系统的模块化处理,一定程度上提升了自动开关站系统的开发、维护效率。通过实时数据库的订阅、发布,简化了备用自动开关站服务端的接入工作,同时提高了自动开关站系统的可扩展性。
6.为达到上述目的,本发明采用的技术方案如下:
7.本发明的一种基于消息发布和订阅的智慧车站自动开关站系统,包括:自动开关站客户端、实时数据库、主自动开关站服务端、备自动开关站服务端及自动开关站设备终端;
8.自动开关站客户端,用于向实时数据库发布自动开关站系统的执行状态,以通知主自动开关站服务端或备自动开关站服务端控制自动开关站设备终端;及向实时数据库订阅自动开关站系统的执行状态,以显示自动开关站设备终端的状态;
9.主自动开关站服务端,用于向实时数据库订阅自动开关站系统的执行状态,以实现对自动开关站设备终端的控制;及向实时数据库发布自动开关站系统的执行状态,以通知自动开关站客户端更新显示自动开关站设备终端的状态;
10.备自动开关站服务端,用于向实时数据库订阅自动开关站系统的执行状态及主自动开关站服务端的工作状态信号;当主自动开关站服务端故障时,接管主自动开关站服务端的工作;
11.实时数据库,用于接收主自动开关站服务端和自动开关站客户端对自动开关站系统执行状态的发布,存储自动开关站系统的执行状态;接收主自动开关站服务端、备自动开关站服务端和自动开关站客户端对自动开关站系统的执行状态的订阅,获取自动开关站设备终端执行状态的变化,并将变化后的执行状态发送给订阅者;转发主自动开关站服务端对自动开关站设备终端的控制信号,并将自动开关站设备终端的指令执行结果返回给主自动开关站服务端;
12.自动开关站设备终端,实时接收实时数据库转发的主自动开关站服务端的控制信号并执行相应的指令动作。
13.进一步地,所述自动开关站系统的执行状态具体包括:控制指令和自动开关站终端设备的指令执行结果,其中,控制指令包括开始、执行完成、执行结束三种状态。
14.进一步地,所述对自动开关站系统执行状态的发布指主自动开关站服务端或自动开关站客户端将自动开关站系统执行状态发送到实时数据库,实时数据库更新已经存储的自动开关站系统的执行状态。
15.进一步地,所述接收对自动开关站系统的执行状态的订阅指实时数据库保存所有订阅者与实时数据库的socket连接列表,当实时数据库存储的自动开关站系统的执行状态发生更新时,实时数据库会将更新的自动开关站的执行状态发送给所有订阅者。
16.进一步地,所述订阅者指主自动开关站服务端、备自动开关站服务端和自动开关站客户端。
17.本发明的一种基于消息发布和订阅的智慧车站自动开关站实现方法,基于上述系统,步骤如下:
18.1)自动开关站客户端向实时数据库发布自动开关站系统的执行状态;
19.2)实时数据库向主自动开关站服务端、备自动开关站服务端发送自动开关站系统的执行状态;
20.3)主自动开关站服务端向实时数据库发送自动开关站设备终端的执行指令;
21.4)实时数据库转发自动开关站设备终端的执行指令给自动开关站设备终端;
22.5)自动开关站设备终端接收指令并执行;
23.6)自动开关站设备终端将执行结果发送给实时数据库;
24.7)实时数据库将自动开关站设备终端执行结果发送给主自动开关站服务端;
25.8)主自动开关站服务端向实时数据库发布自动开关站系统的执行状态;
26.9)实时数据库向自动开关站客户端、备自动开关站服务端发送自动开关站系统的执行状态;
27.10)自动开关站客户端更新显示自动开关站设备终端的状态;
28.11)自动开关站客户端判断是否所有自动开关站设备终端执行完成,若是,则流程结束,若否,则返回步骤1)。
29.进一步地,所述步骤1)具体包括:自动开关站客户端存储自动开关站系统的执行状态,即控制指令设置为开始,自动开关站终端设备的指令执行结果设置为初始值;自动开关客户端将存储的自动开关站系统的执行状态发布到实时数据库。
30.进一步地,所述步骤2)具体包括:实时数据库存储自动开关站客户端发布的自动开关站系统的执行状态,并将其发送给订阅者,即主、备自动开关站服务端。
31.进一步地,所述步骤3)具体包括:主自动开关站服务端解析自动开关站系统的执行状态,解析得到控制指令为开始后,则向实时数据库发送具体的自动开关站设备终端的执行指令。
32.进一步地,所述步骤8)具体包括:主自动开关站服务端存储自动开关站系统的执行状态,即控制指令设置为执行完成,自动开关站终端设备的指令执行结果设置为实际执行结果;主自动开关站服务端将存储的自动开关站系统的执行状态发布到实时数据库。
33.进一步地,所述步骤9)具体包括:实时数据库存储主自动开关站服务端发布的自动开关站系统的执行状态,并将其发送给订阅者,即备自动开关站服务端、自动开关站客户端。
34.进一步地,所述步骤10)具体包括:自动开关站客户端解析自动开关站系统的执行状态,解析得到控制指令为执行完成后,则根据自动开关站终端设备的指令执行结果更新显示自动开关站设备终端状态。
35.本发明的有益效果:
36.本发明基于消息发布、订阅实现了自动开关站客户端与自动开关站服务端的解耦,降低了自动开关站客户端、自动开关站服务端的维护复杂度,提高了自动开关站系统的开发、维护效率,简化了自动开关站客户端与自动开关站服务端之间的数据同步与共享,降低了备用自动开关站服务端接入系统的复杂度,提高了自动开关站系统的可扩展性。
附图说明
37.图1为本发明系统结构示意图;
38.图2为本发明方法的流程示意图。
具体实施方式
39.为了便于本领域技术人员的理解,下面结合实施例与附图对本发明作进一步的说明,实施方式提及的内容并非对本发明的限定。
40.参照图1所示,本发明的一种基于消息发布和订阅的智慧车站自动开关站系统,包括:自动开关站客户端、实时数据库、主自动开关站服务端、备自动开关站服务端及自动开关站设备终端;
41.自动开关站客户端,用于向实时数据库发布自动开关站系统的执行状态,以通知主自动开关站服务端或备自动开关站服务端控制自动开关站设备终端;及向实时数据库订阅自动开关站系统的执行状态,以显示自动开关站设备终端的状态;
42.主自动开关站服务端,用于向实时数据库订阅自动开关站系统的执行状态,以实现对自动开关站设备终端的控制;及向实时数据库发布自动开关站系统的执行状态,以通知自动开关站客户端更新显示自动开关站设备终端的状态;
43.备自动开关站服务端,用于向实时数据库订阅自动开关站系统的执行状态及主自动开关站服务端的工作状态信号;当主自动开关站服务端故障时,接管主自动开关站服务端的工作;
44.实时数据库,用于接收主自动开关站服务端和自动开关站客户端对自动开关站系统执行状态的发布,存储自动开关站系统的执行状态;接收主自动开关站服务端、备自动开
关站服务端和自动开关站客户端对自动开关站系统的执行状态的订阅,获取自动开关站设备终端执行状态的变化,并将变化后的执行状态发送给订阅者(指主自动开关站服务端、备自动开关站服务端和自动开关站客户端);转发主自动开关站服务端对自动开关站设备终端的控制信号,并将自动开关站设备终端的指令执行结果返回给主自动开关站服务端;
45.自动开关站设备终端,实时接收实时数据库转发的主自动开关站服务端的控制信号并执行相应的指令动作。
46.其中,所述自动开关站系统的执行状态具体包括:控制指令和自动开关站终端设备的指令执行结果,其中,控制指令包括开始、执行完成、执行结束三种状态。
47.其中,所述对自动开关站系统执行状态的发布指主自动开关站服务端或自动开关站客户端将自动开关站系统执行状态发送到实时数据库,实时数据库更新已经存储的自动开关站系统的执行状态。
48.其中,所述接收对自动开关站系统的执行状态的订阅指实时数据库保存所有订阅者与实时数据库的socket连接列表,当实时数据库存储的自动开关站系统的执行状态发生更新时,实时数据库会将更新的自动开关站的执行状态发送给所有订阅者。
49.参照图2所示,本发明的一种基于消息发布和订阅的智慧车站自动开关站实现方法,基于上述系统,步骤如下:
50.1)自动开关站客户端向实时数据库发布自动开关站系统的执行状态;具体包括:自动开关站客户端存储自动开关站系统的执行状态,即控制指令设置为开始,自动开关站终端设备的指令执行结果设置为初始值;自动开关客户端将存储的自动开关站系统的执行状态发布到实时数据库。
51.2)实时数据库向主自动开关站服务端、备自动开关站服务端发送自动开关站系统的执行状态;具体包括:实时数据库存储自动开关站客户端发布的自动开关站系统的执行状态,并将其发送给订阅者,即主、备自动开关站服务端。
52.3)主自动开关站服务端向实时数据库发送自动开关站设备终端的执行指令;具体包括:主自动开关站服务端解析自动开关站系统的执行状态,解析得到控制指令为开始后,则向实时数据库发送具体的自动开关站设备终端的执行指令,如开启、关闭。
53.4)实时数据库转发自动开关站设备终端的执行指令给自动开关站设备终端;
54.5)自动开关站设备终端接收指令并执行;
55.6)自动开关站设备终端将执行结果发送给实时数据库;
56.7)实时数据库将自动开关站设备终端执行结果发送给主自动开关站服务端;
57.8)主自动开关站服务端向实时数据库发布自动开关站系统的执行状态;具体包括:主自动开关站服务端存储自动开关站系统的执行状态,即控制指令设置为执行完成,自动开关站终端设备的指令执行结果设置为实际执行结果;主自动开关站服务端将存储的自动开关站系统的执行状态发布到实时数据库。
58.9)实时数据库向自动开关站客户端、备自动开关站服务端发送自动开关站系统的执行状态;具体包括:实时数据库存储主自动开关站服务端发布的自动开关站系统的执行状态,并将其发送给订阅者,即备自动开关站服务端、自动开关站客户端。
59.10)自动开关站客户端更新显示自动开关站设备终端的状态;具体包括:自动开关站客户端解析自动开关站系统的执行状态,解析得到控制指令为执行完成后,则根据自动
开关站终端设备的指令执行结果更新显示自动开关站设备终端状态。
60.11)自动开关站客户端判断是否所有自动开关站设备终端执行完成,若是,则流程结束,若否,则返回步骤1)。
61.主、副自动开关站服务端启动后,会向实时数据库注册,先注册的自动开关站服务端为主自动开关站服务端,后注册的自动开关站服务端为备自动开关站服务端。主自动开关站服务端、备自动开关站服务端定期向实时数据库发送状态信息。当实时数据库获取到主自动开关站服务端发生故障时,实时数据库向备自动开关站服务端发送消息,通知其升级为主自动开关站服务端。当原有的故障主自动开关站服务端重新向实时数据库注册成功,并工作时,将被通知为备自动开关站服务端。
62.本发明具体应用途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。
技术特征:1.一种基于消息发布和订阅的智慧车站自动开关站系统,其特征在于,包括:自动开关站客户端、实时数据库、主自动开关站服务端、备自动开关站服务端及自动开关站设备终端;自动开关站客户端,用于向实时数据库发布自动开关站系统的执行状态,以通知主自动开关站服务端或备自动开关站服务端控制自动开关站设备终端;及向实时数据库订阅自动开关站系统的执行状态,以显示自动开关站设备终端的状态;主自动开关站服务端,用于向实时数据库订阅自动开关站系统的执行状态,以实现对自动开关站设备终端的控制;及向实时数据库发布自动开关站系统的执行状态,以通知自动开关站客户端更新显示自动开关站设备终端的状态;备自动开关站服务端,用于向实时数据库订阅自动开关站系统的执行状态及主自动开关站服务端的工作状态信号;当主自动开关站服务端故障时,接管主自动开关站服务端的工作;实时数据库,用于接收主自动开关站服务端和自动开关站客户端对自动开关站系统执行状态的发布,存储自动开关站系统的执行状态;接收主自动开关站服务端、备自动开关站服务端和自动开关站客户端对自动开关站系统的执行状态的订阅,获取自动开关站设备终端执行状态的变化,并将变化后的执行状态发送给订阅者;转发主自动开关站服务端对自动开关站设备终端的控制信号,并将自动开关站设备终端的指令执行结果返回给主自动开关站服务端;自动开关站设备终端,实时接收实时数据库转发的主自动开关站服务端的控制信号并执行相应的指令动作。2.根据权利要求1所述的基于消息发布和订阅的智慧车站自动开关站系统,其特征在于,所述自动开关站系统的执行状态具体包括:控制指令和自动开关站终端设备的指令执行结果,其中,控制指令包括开始、执行完成、执行结束三种状态。3.根据权利要求1所述的基于消息发布和订阅的智慧车站自动开关站系统,其特征在于,所述对自动开关站系统执行状态的发布指主自动开关站服务端或自动开关站客户端将自动开关站系统执行状态发送到实时数据库,实时数据库更新已经存储的自动开关站系统的执行状态。4.根据权利要求1所述的基于消息发布和订阅的智慧车站自动开关站系统,其特征在于,所述接收对自动开关站系统的执行状态的订阅指实时数据库保存所有订阅者与实时数据库的socket连接列表,当实时数据库存储的自动开关站系统的执行状态发生更新时,实时数据库会将更新的自动开关站的执行状态发送给所有订阅者。5.根据权利要求1所述的基于消息发布和订阅的智慧车站自动开关站系统,其特征在于,所述订阅者指主自动开关站服务端、备自动开关站服务端和自动开关站客户端。6.一种基于消息发布和订阅的智慧车站自动开关站实现方法,基于权利要求1-5中任意一项所述系统,其特征在于,步骤如下:1)自动开关站客户端向实时数据库发布自动开关站系统的执行状态;2)实时数据库向主自动开关站服务端、备自动开关站服务端发送自动开关站系统的执行状态;3)主自动开关站服务端向实时数据库发送自动开关站设备终端的执行指令;
4)实时数据库转发自动开关站设备终端的执行指令给自动开关站设备终端;5)自动开关站设备终端接收指令并执行;6)自动开关站设备终端将执行结果发送给实时数据库;7)实时数据库将自动开关站设备终端执行结果发送给主自动开关站服务端;8)主自动开关站服务端向实时数据库发布自动开关站系统的执行状态;9)实时数据库向自动开关站客户端、备自动开关站服务端发送自动开关站系统的执行状态;10)自动开关站客户端更新显示自动开关站设备终端的状态;11)自动开关站客户端判断是否所有自动开关站设备终端执行完成,若是,则流程结束,若否,则返回步骤1)。7.根据权利要求6所述的基于消息发布和订阅的智慧车站自动开关站实现方法,其特征在于,所述步骤1)具体包括:自动开关站客户端存储自动开关站系统的执行状态,即控制指令设置为开始,自动开关站终端设备的指令执行结果设置为初始值;自动开关客户端将存储的自动开关站系统的执行状态发布到实时数据库。8.根据权利要求6所述的基于消息发布和订阅的智慧车站自动开关站实现方法,其特征在于,所述步骤8)具体包括:主自动开关站服务端存储自动开关站系统的执行状态,即控制指令设置为执行完成,自动开关站终端设备的指令执行结果设置为实际执行结果;主自动开关站服务端将存储的自动开关站系统的执行状态发布到实时数据库。9.根据权利要求6所述的基于消息发布和订阅的智慧车站自动开关站实现方法,其特征在于,进一步地,所述步骤10)具体包括:自动开关站客户端解析自动开关站系统的执行状态,解析得到控制指令为执行完成后,则根据自动开关站终端设备的指令执行结果更新显示自动开关站设备终端状态。
技术总结本发明公开了一种基于消息发布和订阅的智慧车站自动开关站系统及方法,包括:自动开关站客户端、实时数据库、主自动开关站服务端、备自动开关站服务端及自动开关站设备终端;本发明通过实时数据库的发布、订阅,将数据通信及数据同步从自动开关站客户端与自动开关站服务端中解耦出来,便于自动开关站系统的模块化处理,一定程度上提升了自动开关站系统的开发、维护效率。通过实时数据库的订阅、发布,简化了备用自动开关站服务端的接入工作,同时提高了自动开关站系统的可扩展性。高了自动开关站系统的可扩展性。高了自动开关站系统的可扩展性。
技术研发人员:陈开东 闫刚 陈琳 沈鑫
受保护的技术使用者:南京轨道交通系统工程有限公司
技术研发日:2022.07.18
技术公布日:2022/11/1