CN109756552B - 一种乘客信息系统消息分发方法和装置及乘客信息系统 - Google Patents
一种乘客信息系统消息分发方法和装置及乘客信息系统 Download PDFInfo
- Publication number
- CN109756552B CN109756552B CN201810958623.8A CN201810958623A CN109756552B CN 109756552 B CN109756552 B CN 109756552B CN 201810958623 A CN201810958623 A CN 201810958623A CN 109756552 B CN109756552 B CN 109756552B
- Authority
- CN
- China
- Prior art keywords
- message
- issued
- packet
- queue
- information system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种乘客信息系统消息分发方法和装置以及乘客信息系统。其中方法包括:接收来自乘客信息系统的中心管理装置的下发消息,对所述下发消息进行第一预处理得到下发消息包,将所述下发消息包发送到消息队列中间件;消息队列中间件获取所述下发消息的主题,并根据所述下发消息的主题将所述下发消息包发布到目标消息队列,所述目标消息队列包括所述主题对应的消息队列;以及根据接收装置的预设订阅主题,将所述消息队列中间件的消息队列中的下发消息包发送到对应的目标接收装置。中心管理装置、消息队列中间件和接收装置三层分离独立,降低中心管理装置和接收装置的耦合,保证整个系统稳定。消息队列中间件的高可用性可保证数据的完整性。
Description
技术领域
本发明涉及轨道交通技术领域,更确切地说,涉及乘客信息系统中乘客信息系统消息分发方法和装置及乘客信息系统。
背景技术
乘客信息系统(passenger information system,简称PIS)是一种在现代城市轨道交通行业中普遍使用,用来为乘客提供多样化多媒体信息服务的系统。例如,可以通过乘客信息系统提供列车运营信息、网络运营信息、便民信息或紧急疏散信息等。典型的乘客信息系统可包括与运行控制中心(operating control center,OCC),车站子系统,车载子系统,网络子系统等相关的部分。由中心管理装置实现媒体设计、多媒体编播管理、设备播放监控、对外接口等功能。设置于各个子系统的播放控制器则用于各种播放设备的具体播放控制。
乘客信息系统运行过程中,中心管理装置到播控器的消息分发是非常重要的环节。所述消息可包括运营信息、紧急信息、视频播表、接口管理等,不但种类繁多,数量也较大。当有多个播放设备同时运行时,往往会有大量并发信息数据同时下发。
现有乘客信息系统大都采用基于socket(套接字)方式的通信来实现消息分发。基于socket方式的通信,当单位时间数据量较大时,无法保证数据不丢失和数据的时效性。并且,当网络不通的情况下,也无法缓存消息。
发明内容
本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。提供一种能够保证消息可靠传输,防止消息丢失的乘客信息系统消息分发方法。
为了达到上述目的,根据本发明第一方面的实施例提出了一种乘客信息系统消息分发方法,用于乘客信息系统的中心管理装置和接收装置之间的信息分发,其包括:
接收来自乘客信息系统的中心管理装置的下发消息,对所述下发消息进行第一预处理得到下发消息包,将所述下发消息包发送到消息队列中间件;
消息队列中间件获取所述下发消息的主题,并根据所述下发消息的主题将所述下发消息包发布到目标消息队列,所述目标消息队列包括所述主题对应的消息队列;以及
根据接收装置的预设订阅主题,将所述消息队列中间件的消息队列中的下发消息包发送到对应的目标接收装置。
在一些实施例中,所述接收来自乘客信息系统的中心管理装置的下发消息,并对下发消息进行第一预处理得到下发消息包,将所述下发消息包发送到消息队列中间件,还包括:
在接收来自乘客信息系统的中心管理装置的下发消息之后,对所述中心管理装置进行权限鉴定;以及
当所述权限鉴定的结果为鉴权成功时,对所述下发消息进行第一预处理得到下发消息包,将所述下发消息包发送到消息队列中间件;鉴权失败则不进行操作。
在一些实施例中,所述对所述下发消息进行第一预处理得到下发消息包,包括:
对下发消息进行加密和打包获得下发消息包。
在一些实施例中,所述下发消息的设定特征包括下发消息的预设目标接收装置和/或下发消息的内容类型,
所述对所述下发消息进行第一预处理得到下发消息包,还包括:
按照下发消息的设定特征确定所述下发消息的主题,其中,按照下发消息的预设目标接收装置为所述下发消息包添加主题;和/或
按照下发消息的内容类型为所述下发消息包添加主题。
在一些实施例中,所述消息队列中间件获取所述下发消息的主题,并根据所述下发消息的主题将所述下发消息包发布到目标消息队列,包括:
根据所述下发消息的主题,将所述下发消息包发布到所有订阅了所述主题的目标消息队列;
其中,所述乘客信息系统中的每个接收装置对应一个消息队列;且将所述接收装置预设的订阅主题作为其对应的消息队列的订阅主题。
在一些实施例中,所述根据目标接收装置的预设订阅主题,将所述消息队列中间件的消息队列中的下发消息包发送到对应的目标接收装置,包括:
根据接收装置预设的订阅主题,确定消息队列中的下发消息包所对应的目标接收装置;
对下发消息包进行第二预处理;以及
将第二预处理后的下发消息发送到其对应的目标接收装置。
在一些实施例中,所述对下发消息包进行第二预处理包括:
对所述下发消息包进行解包和解密;以及
根据所述下发消息的设定特征判断所述下发消息的类型。
使用本发明的乘客信息系统消息分发方法,通过将PIS系统管理系统中的中心管理装置、消息队列中间件和接收装置设置为三层分离独立的结构,可以降低中心管理装置和各个接收装置之间的耦合,保证整个系统的稳定性。同时,利用消息队列中间件的高可用性,可保证数据的完整性,解决了网络不可靠时的消息丢失问题和高并发情况下的性能瓶颈,以及消息洪流出现时对下游消息接收组件造成的流量冲击。并且利用消息队列的高可靠性信息传输,保证PIS系统的中心管理装置或者其它各设备的下发文件及信息能够不丢包,信息不丢失。此外,消息队列的读写速度的高性能,也能保证PIS服务系统在信息繁忙时信息数据的快速收发。
根据本发明第二方面的实施例提供了一种乘客信息系统消息分发装置,其包括:
消息分发组件,用于接收来自乘客信息系统的中心管理装置的下发消息,对下发消息进行第一预处理得到下发消息包,将所述下发消息包发送到消息队列中间件;
消息队列中间件,用于获取所述下发消息的主题,并根据所述下发消息的主题将所述下发消息包发布到目标消息队列,所述目标消息队列包括所述主题对应的消息队列;以及
消息接收组件,用于根据接收装置的预设订阅主题,将所述消息队列中间件的消息队列中的下发消息包发送到对应的目标接收装置。
在一些实施例中,所述消息分发组件包括:
鉴权单元,用于在接收来自乘客信息系统的中心管理装置的下发消息之后,对所述中心管理装置进行权限鉴定;
第一预处理单元,用于对下发消息进行加密和打包获得下发消息包,和/或按照下发消息的设定特征确定所述下发消息的主题;以及
第一消息转发单元,用于将第一预处理单元获得的下发消息包发送到消息队列中间件。
在一些实施例中,所述消息队列中间件包括:
消息接收单元,用于接收下发消息包;
消息队列配置单元,用于根据所述下发消息的主题将下发消息包发布到所述主题对应的目标消息队列;
消息队列存储单元,用于存储各个消息队列的下发消息包;以及
消息发送单元,用于根据订阅信息将各个消息队列中的下发消息包发送出去。
在一些实施例中,所述消息接收组件包括:
消息获取单元,用于从消息队列中间件获取下发消息包;
第二预处理单元,用于对下发消息包进行解包和解密;和/或根据下发消息的设定特征判断下发消息的类型;以及
第二消息转发单元,用于将第二预处理后的下发消息包发送到目标接收装置。
使用本发明的乘客信息系统消息分发装置,通过将PIS系统管理系统中的中心管理装置、消息队列中间件和接收装置设置为三层分离独立的结构,可以降低中心管理装置和各个接收装置之间的耦合,保证整个系统的稳定性。同时,利用消息队列中间件的高可用性,可保证数据的完整性,解决了网络不可靠时的消息丢失问题和高并发情况下的性能瓶颈,以及消息洪流出现时对下游消息接收组件造成的流量冲击。并且利用消息队列的高可靠性信息传输,保证PIS系统的中心管理装置或者其它各设备的下发文件及信息能够不丢包,信息不丢失。此外,消息队列的读写速度的高性能,也能保证PIS服务系统在信息繁忙时信息数据的快速收发。
根据本发明第三方面的实施例提供了一种乘客信息系统,包括通信连接的中心管理装置、消息分发装置和多个消息接收装置,其特征在于,所述消息分发装置为根据本发明第二方面实施例所述的消息分发装置。
根据本发明第三方面的实施例的乘客信息系统,具有与第一方面和第二方面的方法和装置类似的有益效果,不再赘述。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是基于发布-订阅模式的消息队列工作原理示意图;
图2是根据本发明的一个实施例的乘客信息系统的结构框图;
图3是根据本发明实施例的乘客信息系统消息分发方法的流程示意图;
图4是根据本发明的一个实施例的消息队列的存储结构示意图;
图5是根据本发明的另一个实施例的乘客信息系统的结构框图;
图6是根据本发明实施例的消息队列中间件的结构框图;
图7是根据本发明实施例的乘客信息系统消息分发过程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
现有的现有乘客消息系统大都采用基于Socket(套接字)方式的通信来实现消息分发。Socket(套接字)可以视为一种抽象层,应用程序通过它来发送和接收数据,使用Socket可以将应用程序添加到网络中,与处于同一网络中的其他应用程序进行通信。简单来说,Socket提供了程序内部与外界通信的端口并为通信双方的提供了数据传输通道,使网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端也称为一个Socket。
在应用于乘客消息系统时,基于现有Socket的消息通信机制需要创建播控器到管理中心的长连接,而服务器维持这些连接状态需要花费较多的系统资源。由于Socket方式在消息的传递过程中没有暂存机制,当网络不通或者阻塞时,无法将消息缓存,从而当网络恢复时也无法再将消息从中心传递到播控终端,如此将导致消息的丢失。而自定义Socket需要定义通信握手的细节,实现较复杂,自定义Socket由于编写的缺陷也极易导致消息无法百分百传递到播控器。
此外,在现有的乘客消息系统中基于Socket的通信方式,中心管理装置与播放控制器直接对接,二者之间过高的耦合关系也给中心管理装置服务器的数据并发处理能力提出了很高的要求。当连接的播放控制器数量较多,消息量较大时,使得服务器压力过大,处理不及时时数据会堆积在服务器,容易造成数据丢失的问题。同时,这种结构也不利于系统的扩展和修改。
基于对以上技术问题的认知,本发明提出了一种当乘客消息系统大量设备同时在线时,可保证设备数据处理的及时性和安全性,不丢失数据,以及将中心管理装置和播放控制器(以下也简称为播控器)之间的直接耦合减小,便于系统修改和扩展的信息分发方法和装置。
本公开主要技术思路包括:设置消息队列中间件,将乘客消息系统的中心管理装置和消息的目标接收装置解耦。具体而言,中心管理装置将下发消息发送到消息队列中间件;消息队列中间件获取所述下发消息的主题,并根据所述下发消息的主题将所述下发消息包发布到目标消息队列;之后,消息队列中间件根据接收装置的订阅信息,将各个消息队列中的消息发送到对应的目标接收装置。
为了便于对本公开的理解,首先介绍消息队列技术的一些基本概念和发布-订阅模型的工作原理进行简单介绍。要说明的是,在本公开中,涉及消息队列技术中的各种概念,以本领域通用含义为准,以下介绍仅仅是为了便于对本公开的理解,而不能视为是对各个概念的全部内涵和/或外延的限制。
消息生产者(producer):发送消息到消息队列。
消息消费者(consumer):从消息队列接收消息。
消息队列(queue):一个先进先出的消息存储区域。消息按照顺序发送接收,一旦消息被消费处理,该消息将从队列中删除。
消息(message)是消息队列传输机制中的数据传输单位,一条消息本质上就是一段数据,它能被一个或者多个应用程序所理解,是应用程序之间传递的信息载体。
主题(topic):可以视为消息的一种标识。消息的生产者可以为消息添加主题,并按照主题发布到消息队列中间件,消息消费者订阅所需的主题。本领域中,有时也直接以topic来表示发布-订阅模型或者此种工作模式。通过消息的主题和发布-订阅模型,可以支持将一条消息发送到多个订阅者的机制。
点对点/queue消息队列模型:一个生产者向一个特定的队列发送消息,一个消费者从该队列中接收消息。消息的生产者和消费者可以不同时处于运行状态。每一个成功处理的消息都由消息消费者签收确认(acknowledge)。这种模式下,每条消息发往一个消息消费者。
发布-订阅消息模型:发布-订阅模型中,消息生产者可根据一个特定的消息主题发布消息。消息消费者可能对接收来自特定消息主题的消息感兴趣,可以通过订阅感兴趣的主题来获得该主题下相应的消息。每条消息可以有一个或多个主题,每个主题可能有0个、1个或多个订阅者。在这种模型下,发布者和订阅者可以彼此可以解耦,彼此不知道对方的存在。
参见图1,其中示出了消息队列中,按照主题设置队列的一种发布-订阅模式的工作原理。由消息生产者产生带有主题的消息,将消息发布到其主题对应的消息队列。消息队列中的消息将被发送到所有订阅了该消息主题的消息消费者,例如消息消费者1和消息消费者2。从而,可以将一条消息发送到多个接收者。
下面参考附图对本发明实施例的方法和装置进行详细的说明。
图2是根据本发明一个实施例的乘客信息系统结构示意图。一般来说,乘客信息系统10可包括一个中心处理装置100和多个接收装置300,消息分发的目的是将来自中心处理装置的下发消息分发到多个相应的接收装置。接收装置可包括位于轨道交通车辆以及站台等各个位置的播放装置对应的播放控制器,以及位于轨道交通系统各个子系统中需要接受乘客信息系统的信息的装置。其中,从中心处理装置到播控器的消息分发,是乘客信息系统中一个重要环节,也是消息量最大的环节。消息内容可包括运营信息、紧急信息、视频播表、接口管理等类型。
现有技术中,中心处理装置100直接和接收装置300进行通信,并发送消息。本发明则通过设置消息分发装置200,将中心处理装置100直接和接收装置300解耦,使消息的产生和送达可以异步进行。
首先结合方法实施例,对本发明消息分发的原理和过程进行说明。参见图3,图3是根据本发明一个实施例的乘客信息系统消息分发方法的流程示意图。其中,本发明乘客信息系统消息分发方法可以包括步骤S110到S130。所述步骤可以视为是以消息分发装置为执行主体所执行的操作。
S110,接收来自乘客信息系统的中心管理装置的下发消息,对下发消息进行第一预处理得到下发消息包,将所述下发消息包发送到消息队列中间件。
所述下发消息可以包括各类信息和控制指令,例如运营信息、紧急信息、视频播表、接口管理等。
由于乘客信息系统涉及到行车安全,因此,在一些实施例中可对消息发送者进行鉴权,以保证消息的来源可靠。在接收来自乘客信息系统的中心管理装置的下发消息之后,对所述中心管理装置进行权限鉴定;当所述权限鉴定的结果为鉴权成功时,对所述下发消息进行第一预处理得到下发消息包,将所述下发消息包发送到消息队列中间件;鉴权失败则不进行操作。
管理中心与播控器之间可以按照一定的协议规范进行通信,例如,可以采用MQTT(message queuing telemetry transport,消息队列遥测传输)或其他自消息队列的通信协议,或者也可以采用自定义的协议。从而,在第一预处理时,可以根据不同的协议规范,设置相应的数据处理细节,进行消息核心内容提取等操作,生成下发消息包。
为了便于消息的传输安全和减少数据传输量,所述第一预处理还可以包括对下发消息进行加密和打包获得下发消息包。
在消息队列中间件需要按照主题进行消息发布,消息的主题可以由中心管理装置在生成下发消息时同时设定,并与下发消息一同发送到消息分发装置。对于根据已有的乘客信息系统按照本发明进行改造等场景,或者是为了减轻中心管理装置的负荷,也可以在消息分发装置中对下发消息的主题进行设置。
例如,可按照下发消息的设定特征确定所述下发消息的主题。所述下发消息的设定特征可包括下发消息的预设目标接收装置和/或下发消息的内容类型。从而,按照下发消息的设定特征确定所述下发消息的主题,可包括:按照下发消息的预设目标接收装置为所述下发消息包添加主题;和/或按照下发消息的内容类型为所述下发消息包添加主题。
例如,最直接的方式,按照目标接收装置添加主题,设定特征中明确指定要由第一接收装置接收的下发消息,主题可以设置为“第一接收装置”,如果只有第一接收装置订阅了这个主题,则本消息会被发送到第一接收装置。又或者,例如,下发消息的类型是紧急通知,此时,可以将主题设置为“紧急通知”。随后的步骤中,所有订阅了“紧急通知”主题的接收装置都会受到这条消息。再或者,例如,下发消息的设定特征包括向所有播控器发送,则主题可以设置为“播控器”,则后续步骤中,所有订阅了“播控器”主题的接收装置将接收到此消息。
S120,消息队列中间件获取所述下发消息的主题,并根据所述下发消息的主题将所述下发消息包发布到目标消息队列,所述目标消息队列包括所述主题对应的消息队列。
消息队列可以采用图1所示的形式,按照主题建立队列。接收到下发消息包之后,将之发布到相应的主题队列之中,然后各个主题的队列按照接收装置对该主题的订阅信息,将下发消息包发送到目标接收装置。
或者,可选地,为了使各个接收装置接收的下发消息的时间顺序与消息的发布顺序具有更好的一致性,可以按照乘客信息系统中所有的接收装置的数量N,建立相应的N个消息队列。参见图4,图4是根据本发明的一个实施例的消息队列的存储结构示意图。其中所述乘客信息系统中的每个接收装置对应一个消息队列;将所述接收装置预设的订阅主题作为其对应的消息队列的订阅主题。所述消息队列中间件获取所述下发消息的主题,并根据所述下发消息的主题将所述下发消息包发布到目标消息队列,包括:根据所述下发消息的主题,将所述下发消息包发布到所有订阅了所述主题的目标消息队列。
例如,乘客信息系统中,共有n个接收装置,对应每个接收装置分别建立消息队列M1,M2到Mn。每个消息队列Mp的订阅主题设置为与接收装置p的订阅主题一致,p∈[1,n],p为自然数。当一个新的下发消息包到达消息队列中间件时,将根据其主题,被发布到所有订阅了该主题的消息队列,例如可以按照接收装置的标识(ID值,如1到n)顺序发布。从而,每个消息队列的长度可以是不同的,例如,消息队列M1中包括下发消息包M11到M1i,M11到M1i的主题为接收装置1订阅的主题;消息队列M2中包括下发消息包M21到M2j,M21到M2j的主题为接收装置2订阅的主题;消息队列Mn中包括下发消息包Mn1到Mnk,Mn1到Mnk的主题为接收装置n订阅的主题。
通过上述消息队列的构建方式,可以保证,对于每个消息队列,其中的各个下发消息包都是按照时间顺序排列的。从而根据消息队列的工作原理,各个消息队列中的下发消息包可按照时间顺序被相应的目标接收装置获取。保证对于同一个目标接收装置,信息及指令按照顺序进行发送和接收,而不同目标接收装置的消息及指令可以是无序的。
S130,根据接收装置的预设订阅主题,将所述消息队列中间件的消息队列中的下发消息包发送到对应的目标接收装置。
其中,可以根据接收装置预设的订阅主题,确定消息队列中的下发消息包所对应的目标接收装置;对下发消息包进行第二预处理;将第二预处理后的下发消息发送到其对应的目标接收装置。
对于按照主题建立消息队列的实施方式,需要根据主题的订阅信息,确定目标接收装置。对于图4所示的按照目标接收装置的数量建立相应个数的消息队列的实施方式,每个接收装置p预设的订阅主题与对应消息队列Mp的订阅主题一致,因此,可以直接将每个消息队列Mp中的消息推送到接收装置p,p∈[1,n],p为自然数。
对应于在第一预处理操作中,形成下发消息包的操作,所述对下发消息包进行第二预处理可包括:对所述下发消息包进行解包和解密。在一些实施例中,还可以进一步包括根据所述下发消息的设定特征判断所述下发消息的类型。
例如,可以根据第一预处理中的加密和打包方式,进行相应的解密和解包,并根据通信协议对数据进行解析,从而还原出乘客信息系统的中心管理装置的下发消息。并且,还可以进一步根据所述下发消息的设定特征判断所述下发消息的类型,便于目标接收装置根据下发消息进行操作。例如,下发消息的类型可包括信息显示类型及指令消息类型。以目标接收装置播控器为例,信息显示类型的下发消息用于在播控器对下发消息的内容进行显示;而指令消息类型的下发消息则用于控制接收装置(例如播控器)的运行。
使用本发明的乘客信息系统消息分发方法,通过将PIS系统管理系统中的中心管理装置、消息队列中间件和接收装置设置为三层分离独立的结构,可以降低中心管理装置和各个接收装置之间的耦合,保证整个系统的稳定性。同时,利用消息队列中间件的高可用性,可保证数据的完整性,解决了网络不可靠时的消息丢失问题和高并发情况下的性能瓶颈,以及消息洪流出现时对下游消息接收组件造成的流量冲击。并且利用消息队列的高可靠性信息传输,保证PIS系统的中心管理装置或者其它各设备的下发文件及信息能够不丢包,信息不丢失。此外,消息队列的读写速度的高性能,也能保证PIS服务系统在信息繁忙时信息数据的快速收发。
为了实现上述第一方面实施例中的方法,本发明第二方面的实施例提出了乘客信息系统消息分发装置。
所述装置的实现可包括一个或多个计算设备,所述计算设备包括处理器和存储器,所述存储器上存储有包括可在所述处理器上运行的计算机程序指令的应用程序。所述应用程序可以划分为多个程序模块,用于系统各个组成部分的相应功能。其中,程序的模块的划分是逻辑上的而非物理上的,每个程序模块可以运行在一个或多个计算设备上,一个计算设备上也可以运行一个或一个以上的程序模块。以下对本发明的系统按照程序模块的功能逻辑划分进行详细说明。
参见图5,图5是根据本发明实施例的乘客信息系统的结构框图。其中,乘客信息系统10包括中心管理装置100,消息分发装置200和接收装置300。消息分发装置200包括消息分发组件210、消息队列中间件220和消息接收组件230。
消息分发组件210,用于接收来自乘客信息系统的中心管理装置的下发消息,对下发消息进行第一预处理得到下发消息包,将所述下发消息包发送到消息队列中间件。
其中,所述消息分发组件可进一步包括:鉴权单元、第一预处理单元和第一消息转发单元。
鉴权单元,用于在接收来自乘客信息系统的中心管理装置的下发消息之后,对所述中心管理装置进行权限鉴定。
第一预处理单元,对下发消息进行加密和打包获得下发消息包,和/或按照下发消息的设定特征确定所述下发消息的主题。
第一消息转发单元,用于将第一预处理单元获得的下发消息包发送到消息队列中间件。
消息队列中间件220,用于获取所述下发消息的主题,并根据所述下发消息的主题将所述下发消息包发布到目标消息队列,所述目标消息队列包括所述主题对应的消息队列。
参见图6,图6是根据本发明实施例的消息队列中间件的结构框图。所述消息队列中间件220可进一步包括:消息接收单元221、消息队列配置单元222、消息队列存储单元223和消息发送单元224。
消息接收单元221,用于接收下发消息包。
消息队列配置单元222,用于根据所述下发消息的主题将下发消息包发布到所述主题对应的目标消息队列。
消息队列存储单元223,用于存储各个消息队列的下发消息包。
消息发送单元224,用于根据订阅信息将各个消息队列中的下发消息包发送出去。
其中,所述消息队列220可以采用图4所示的存储结构。为乘客信息系统中的每个接收装置对应设置一个消息队列;且将所述接收装置预设的订阅主题作为其对应的消息队列的订阅主题。
消息接收组件230,用于根据接收装置的预设订阅主题,将所述消息队列中间件的消息队列中的下发消息包发送到对应的目标接收装置。
其中,所述消息接收组件可进一步包括:消息获取单元、第二预处理单元和第二消息转发单元。
消息获取单元,用于从消息队列中间件获取下发消息包。
第二预处理单元,用于对下发消息包进行解包和解密;和/或根据下发消息的设定特征判断下发消息的类型。
第二消息转发单元,用于将第二预处理后的下发消息包发送到目标接收装置。
参见图7,图7是根据本发明实施例的乘客信息系统消息分发过程示意图。
首先,在中心管理装置100生成各种下发消息,例如下发消息可以包括运营信息、紧急信息、接口信息和视频播表等。接下来,中心管理装置的下发消息被发送到消息分发组件210,在此,对中心管理装置进行鉴权,鉴权通过后,对接收的下发消息进行第一预处理,并将第一预处理后的消息(例如,下发消息包)发送到消息队列220。
消息队列中间件220中,按照接收装置的个数n建立相应的n个消息队列,队列M1到队列Mn。每个队列的订阅主题为相应接收装置的订阅主题。从而,可将下发消息包按照其主题发布到相应的订阅了该主题的消息队列。实现1对多的发布和每个接收装置的消息都是按照时间顺序排列。
随后,按照订阅关系,将每个消息队列中的下发消息包经由消息接收组件230发送到其对应的目标接收装置300。消息接收组件230可以设置为单个或者多个,在一些实施例中,可对应每个目标接收装置,分别设置一个消息接收组件230,用于实现消息的订阅,处理和传输。
消息接收组件230用于订阅并接收消息队列的下发消息包,对接收的下发消息包消息进行第二预处理得到下发消息的内容,以及判断下发消息的消息类型。从而在目标接收装置300可根据消息类型执行相应的操作。例如对信息显示类型的下发消息进行信息显示;或者是对指令消息类型的下发消息进行指令接收等。
本发明乘客信息系统消息分发装置的各个组件或模块的具体实现可以参见相应的方法实施例,在此不再赘述。
使用本发明的乘客信息系统消息分发装置,通过将PIS系统管理系统中的中心管理装置、消息队列中间件和接收装置设置为三层分离独立的结构,可以降低中心管理装置和各个接收装置之间的耦合,保证整个系统的稳定性。同时,利用消息队列中间件的高可用性,可保证数据的完整性,解决了网络不可靠时的消息丢失问题和高并发情况下的性能瓶颈,以及消息洪流出现时对下游消息接收组件造成的流量冲击。并且利用消息队列的高可靠性信息传输,保证PIS系统的中心管理装置或者其它各设备的下发文件及信息能够不丢包,信息不丢失。此外,消息队列的读写速度的高性能,也能保证PIS服务系统在信息繁忙时信息数据的快速收发。
需要说明的是,在本说明书的描述中,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
本技术领域的普通技术人员可以理解实现上述实施例的方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一个实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (11)
1.一种乘客信息系统消息分发方法,用于乘客信息系统的中心管理装置和接收装置之间的信息分发,其特征在于,包括:
接收来自乘客信息系统的中心管理装置的下发消息,对所述下发消息进行第一预处理得到下发消息包,将所述下发消息包发送到消息队列中间件;其中,所述第一预处理包括核心内容提取;
消息队列中间件获取所述下发消息的主题,并根据所述下发消息的主题将所述下发消息包发布到目标消息队列,所述目标消息队列包括所述主题对应的消息队列;其中,根据所述下发消息的主题,将所述下发消息包发布到所有订阅了所述主题的目标消息队列;其中,所述乘客信息系统中的每个接收装置对应一个消息队列;且将所述接收装置预设的订阅主题作为其对应的消息队列的订阅主题;以及
根据接收装置的预设订阅主题,将所述消息队列中间件的消息队列中的下发消息包发送到对应的目标接收装置。
2.根据权利要求1所述的乘客信息系统消息分发方法,其特征在于,
所述接收来自乘客信息系统的中心管理装置的下发消息,并对下发消息进行第一预处理得到下发消息包,将所述下发消息包发送到消息队列中间件,还包括:
在接收来自乘客信息系统的中心管理装置的下发消息之后,对所述中心管理装置进行权限鉴定;以及
当所述权限鉴定的结果为鉴权成功时,对所述下发消息进行第一预处理得到下发消息包,将所述下发消息包发送到消息队列中间件;鉴权失败则不进行操作。
3.根据权利要求1所述的乘客信息系统消息分发方法,其特征在于,所述对所述下发消息进行第一预处理得到下发消息包,包括:
对下发消息进行加密和打包获得下发消息包。
4.根据权利要求3所述的乘客信息系统消息分发方法,其特征在于,
所述对所述下发消息进行第一预处理得到下发消息包,还包括:按照下发消息的设定特征确定所述下发消息的主题,所述下发消息的设定特征包括下发消息的预设目标接收装置和/或下发消息的内容类型;其中,按照下发消息的预设目标接收装置为所述下发消息包添加主题;和/或
按照下发消息的内容类型为所述下发消息包添加主题。
5.根据权利要求1所述的乘客信息系统消息分发方法,其特征在于,所述根据接收装置的预设订阅主题,将所述消息队列中间件的消息队列中的下发消息包发送到对应的目标接收装置,包括:
根据接收装置预设的订阅主题,确定消息队列中的下发消息包所对应的目标接收装置;
对下发消息包进行第二预处理;以及
将第二预处理后的下发消息发送到其对应的目标接收装置。
6.根据权利要求5所述的乘客信息系统消息分发方法,其特征在于,所述对下发消息包进行第二预处理包括:
对所述下发消息包进行解包和解密;以及
根据所述下发消息的设定特征判断所述下发消息的类型。
7.一种乘客信息系统消息分发装置,其特征在于,包括:
消息分发组件,用于接收来自乘客信息系统的中心管理装置的下发消息,对下发消息进行第一预处理得到下发消息包,将所述下发消息包发送到消息队列中间件;其中,所述第一预处理包括核心内容提取;
消息队列中间件,用于获取所述下发消息的主题,并根据所述下发消息的主题将所述下发消息包发布到目标消息队列,所述目标消息队列包括所述主题对应的消息队列;其中,根据所述下发消息的主题,将所述下发消息包发布到所有订阅了所述主题的目标消息队列;其中,所述乘客信息系统中的每个接收装置对应一个消息队列;且将所述接收装置预设的订阅主题作为其对应的消息队列的订阅主题;以及
消息接收组件,用于根据接收装置的预设订阅主题,将所述消息队列中间件的消息队列中的下发消息包发送到对应的目标接收装置。
8.根据权利要求7所述的乘客信息系统消息分发装置,其特征在于,所述消息分发组件包括:
鉴权单元,用于在接收来自乘客信息系统的中心管理装置的下发消息之后,对所述中心管理装置进行权限鉴定;
第一预处理单元,用于对下发消息进行加密和打包获得下发消息包,和/或按照下发消息的设定特征确定所述下发消息的主题;以及
第一消息转发单元,用于将第一预处理单元获得的下发消息包发送到消息队列中间件。
9.根据权利要求7所述的乘客信息系统消息分发装置,其特征在于,所述消息队列中间件包括:
消息接收单元,用于接收下发消息包;
消息队列配置单元,用于根据所述下发消息的主题将下发消息包发布到所述主题对应的目标消息队列;
消息队列存储单元,用于存储各个消息队列的下发消息包;以及
消息发送单元,用于根据订阅信息将各个消息队列中的下发消息包发送出去。
10.根据权利要求7所述的乘客信息系统消息分发装置,其特征在于,所述消息接收组件包括:
消息获取单元,用于从消息队列中间件获取下发消息包;
第二预处理单元,用于对下发消息包进行解包和解密;和/或根据下发消息的设定特征判断下发消息的类型;以及
第二消息转发单元,用于将第二预处理后的下发消息包发送到目标接收装置。
11.一种乘客信息系统,包括通信连接的中心管理装置、消息分发装置和多个接收装置,其特征在于,所述消息分发装置为根据权利要求7-10中任意一项所述的消息分发装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810958623.8A CN109756552B (zh) | 2018-08-22 | 2018-08-22 | 一种乘客信息系统消息分发方法和装置及乘客信息系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810958623.8A CN109756552B (zh) | 2018-08-22 | 2018-08-22 | 一种乘客信息系统消息分发方法和装置及乘客信息系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109756552A CN109756552A (zh) | 2019-05-14 |
CN109756552B true CN109756552B (zh) | 2020-03-31 |
Family
ID=66402469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810958623.8A Active CN109756552B (zh) | 2018-08-22 | 2018-08-22 | 一种乘客信息系统消息分发方法和装置及乘客信息系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109756552B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708247B (zh) * | 2019-09-27 | 2022-03-22 | 浙江大搜车软件技术有限公司 | 消息路由方法、装置、计算机设备和存储介质 |
CN112906012A (zh) * | 2019-12-03 | 2021-06-04 | 株洲中车时代电气股份有限公司 | 一种针对不同结构数据的处理方法、装置和电子设备 |
CN113055272B (zh) * | 2019-12-27 | 2023-03-24 | 成都鼎桥通信技术有限公司 | 基于双系统的消息提醒方法、装置和终端设备 |
CN111464598A (zh) * | 2020-03-19 | 2020-07-28 | 中国人民财产保险股份有限公司 | 一种数据推送方法及装置 |
CN111510474B (zh) * | 2020-03-26 | 2023-09-29 | 中国平安人寿保险股份有限公司 | 基于消息中间件的数据传输方法及相关设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580073A (zh) * | 2013-10-14 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种用于在异构系统之间实现消息传递的方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8401848B2 (en) * | 2009-12-15 | 2013-03-19 | At&T Intellectual Property I, L.P. | System and method for audible text center subsystem |
CN103024014B (zh) * | 2012-12-03 | 2015-08-19 | 北京京东世纪贸易有限公司 | 通过消息队列的海量数据分发处理的方法和系统 |
CN104092767B (zh) * | 2014-07-21 | 2017-06-13 | 北京邮电大学 | 一种增加消息队列模型的发布/订阅系统及其工作方法 |
CN105429858B (zh) * | 2015-12-11 | 2018-08-03 | 中国人民解放军国防科学技术大学 | 一种多机器人间实时消息传递方法 |
CN105592152B (zh) * | 2015-12-20 | 2018-09-21 | 北京民航信息科技有限公司 | 一种应用于航空公司的高频数据服务系统 |
CN106789587B (zh) * | 2016-12-28 | 2021-05-18 | 国家计算机网络与信息安全管理中心 | 一种云计算环境下可靠消息的通信装置及方法 |
-
2018
- 2018-08-22 CN CN201810958623.8A patent/CN109756552B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580073A (zh) * | 2013-10-14 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种用于在异构系统之间实现消息传递的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109756552A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109756552B (zh) | 一种乘客信息系统消息分发方法和装置及乘客信息系统 | |
CN110858850B (zh) | 一种轨道交通系统综合网管方法、装置及系统 | |
CN111539726B (zh) | 区块链共识系统及方法 | |
CN104092719B (zh) | 文件传输方法、装置及分布式集群文件系统 | |
CN110493116B (zh) | 一种车联网数据传输方法及装置 | |
CN101179392B (zh) | 一种上传文件的方法和系统 | |
CN112003937B (zh) | 卫星数据传输方法、装置、计算机设备、存储介质 | |
CN104580158A (zh) | 一种分布式平台文件与内容分发方法及系统 | |
CN104572411A (zh) | 一种日志数据的处理方法及装置 | |
CN110505315A (zh) | 数据处理方法、装置、设备及存储介质 | |
EP2439890A1 (en) | Method and system for processing mobile multimedia data broadcasting service | |
WO2023016241A1 (zh) | 一种车辆远程诊断方法、装置及系统 | |
CN114185582A (zh) | 基于quic协议的汽车软件在线升级系统及方法 | |
CN106899605B (zh) | 基于stomp协议的通信方法和装置 | |
CN111756782B (zh) | 基于异构操作系统的消息传输系统、方法和车辆 | |
CN110138753B (zh) | 分布式消息服务系统、方法、设备及计算机可读存储介质 | |
CN113381889B (zh) | 一种网络切片的确定方法、装置、电子设备及存储介质 | |
CN114900515A (zh) | 一种列车文件回传方法、列车主机、站点及控制中心 | |
CN113115262A (zh) | 一种公交数据的传输方法及装置 | |
WO2023231723A1 (zh) | 流媒体数据处理方法及系统 | |
CN108306815A (zh) | 一种获取消息的方法、装置、设备及计算机可读存储介质 | |
CN111787494A (zh) | 一种基于微服务的短信发送可靠方法 | |
CN101552735A (zh) | 基于订阅模式的可插拔消息总线装置及其实现方法 | |
CN113992609B (zh) | 一种处理多链路业务数据乱序的方法及系统 | |
CN107872479B (zh) | 云管理平台与控制器集成方法和系统以及相关模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |