CN113098747A - 一种面向智慧轨交系统的实时软总线实现方法 - Google Patents
一种面向智慧轨交系统的实时软总线实现方法 Download PDFInfo
- Publication number
- CN113098747A CN113098747A CN202110465672.XA CN202110465672A CN113098747A CN 113098747 A CN113098747 A CN 113098747A CN 202110465672 A CN202110465672 A CN 202110465672A CN 113098747 A CN113098747 A CN 113098747A
- Authority
- CN
- China
- Prior art keywords
- entity
- subscribing
- publishing
- data
- soft bus
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000006854 communication Effects 0.000 claims abstract description 61
- 238000004891 communication Methods 0.000 claims abstract description 60
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000005192 partition Methods 0.000 claims description 18
- 238000007726 management method Methods 0.000 claims description 9
- 230000002085 persistent effect Effects 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 5
- 238000002955 isolation Methods 0.000 claims description 5
- 230000006399 behavior Effects 0.000 claims description 3
- 230000002688 persistence Effects 0.000 claims description 3
- 230000003139 buffering effect Effects 0.000 claims description 2
- 230000002452 interceptive effect Effects 0.000 abstract description 2
- 238000012544 monitoring process Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000001914 filtration Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 2
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229920009441 perflouroethylene propylene Polymers 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1859—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40293—Bus for use in transportation systems the transportation system being a train
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种面向智慧轨交系统的实时软总线实现方法,该方法包括:定义服务器与通信前置机之间交互的数据类型,其中,定义的数据类型为消息结构体,所述消息结构体包括消息头和消息体;专业子系统分别构建至少一个发布端实体和/或至少一个订阅端实体,其中,发布端实体与其对应的订阅端实体之间进行通信的数据类型为消息结构体。本发明实现各子系统件跨进程、跨区域、跨平台的高效地数据分发,子系统只需要订阅它所关注的数据,或发布它所能提供的数据即可,两者之间并不需要关心对方的地址和数量,实现了空间上的解耦。
Description
技术领域
本发明涉及智慧轨交领域,具体涉及一种面向智慧轨交系统的实时软总线实现方法。
背景技术
智慧轨道交通系统(简称为智慧轨交系统)是以行车为核心的轨道交通综合监控系统,为轨道交通行车安全提供了有力的保障。该系统规模庞大,涉及到许多专业子系统,如何使这些专业子系统相互协调运行,互不干扰是智慧轨道交通系统需要解决的关键问题之一。
各专业子系统包括列车自动监控系统(ATS)、广播系统(PA)、乘客信息系统(PIS)、视频监控系统(CCTV)、环控系统(BAS)、自动售检票系统(AFC)和火灾报警系统(FAS)等,各专业子系统之间通信的数据类型繁多,且数据量庞大。传统的tcp点对点通信方式,会使得整个系统内的网络拓扑结构非常复杂,不利于系统的开发和维护,所以传统的tcp点对点通信方式已经不能满足智慧轨道交通系统对高可靠、高效率以及低维护成本的需求。
随着轨交线路规模的增加,传统分布式软总线主要是通过增加功能来满足系统通信需求,在这种通信方式下各子系统间通信的实时性、可靠性、灵活性将会极大的制约系统的整体性能及规模,因此迫切需要通过一种新的软总线通信形式来适应该形式。
智慧轨道交通系统是以行车为核心的轨道交通综合监控系统,以控制中心-车站式结构为核心的分布式综合监控系统。以智能调度子系统为例,该系统以行车监控功能的ATS系统为核心,并与电力监控、FAS/BAS、CCTV、站台门、AFC进行集成,实现跨专业的联动。在该子系统中,控制中心和车站分别部署多台服务器,各专业子系统分别从控制中心、各车站接入,随着系统规模的不断增大,服务器与通信前置机(FEP)之间通信的数据类型与数量越来越多,网络通信结构也越来越复杂。
发明内容
本发明的目的在于克服上述现有技术存在的缺陷而提供一种面向智慧轨交系统的实时软总线实现方法,该方法是为了解决智慧轨道交通系统各子系统间复杂的通信方式而设计的一种分布式实时通信中间件,该中间件基于数据分发服务技术规范设计,采用了发布/订阅体系架构,使用udp传输协议和共享内存通信,能保障数据实时、高效、灵活的传输,可满足智慧轨交分布式实时通信的应用需求。
为了达到上述目的,本发明采用的技术方案如下:
一种面向智慧轨交系统的实时软总线实现方法,该方法包括:
定义服务器与通信前置机之间交互的数据类型,其中,定义的数据类型为消息结构体,所述消息结构体包括消息头和消息体;
专业子系统分别构建至少一个发布端实体和/或至少一个订阅端实体,其中,发布端实体与其对应的订阅端实体之间进行通信的数据类型为消息结构体。
可选地,所述消息头的结构信息包括接口版本号、消息发送时间、数据校验码、源地址信息、目的地址信息和/或消息类型。
可选地,所述源地址信息和/或所述目的地址信息包括通信前置机所在的域号和/或通信前置机的编号。
可选地,专业子系统分别构建至少一个发布端实体和/或至少一个订阅端实体,具体包括:
在软总线的一个节点上创建发布端实体或订阅端实体时,向软总线注册实体信息;该实体信息被软总线发布出去,软总线的其他节点在接收到该实体信息后,进行参数匹配,只有满足匹配规则后才会被软总线记录并向相应节点返回匹配信息。
可选地,软总线通过域来实现数据隔离,在软总线的一个节点上创建发布实体或订阅实体时需要指定域号,软总线根据该域号来计算组播端口。
可选地,布端实体和订阅端实体分别设置有至少一个分区,只有当发布端实体所的分区与订阅端实体所的分区有交集时二者才能相互通信。
可选地,布端实体和订阅端实体分别关联有至少一个主题,发布端实体通过其关联的主题发布数据,订阅端实体通过其关联的主题获取感兴趣数据。
可选地,专业子系统分别构建至少一个发布端实体和/或至少一个订阅端实体,具体还包括:
创建传输插件,该传输插件用于定义数据通信的传输方式,该传输方式具体为:
若一发布端实体和该发布端实体对应的订阅端实体在同一主机上,二者通过共享内存的方式进行数据通信;
若一发布端实体和该发布端实体对应的订阅端实体在不同主机上,二者通过udp单播或组播的方式进行数据通信。
可选地,专业子系统分别构建至少一个发布端实体和/或至少一个订阅端实体,具体还包括:
创建数据缓存单元,用于缓存数据发布的数据队列及订阅的数据队列。
可选地,专业子系统分别构建至少一个发布端实体和/或至少一个订阅端实体,具体还包括:
创建线程池容器,作为发布端实体和订阅端实体的管理容器,其管理容器的管理方法具体为:
当存在匹配的发布端实体和订阅端实体时,线程池容器负责对匹配的发布端实体和订阅端实体进行创建、使用和查询;
当匹配的发布端实体和订阅端实体断开时,线程池容器负责对失去匹配的发布端实体和订阅端实体进行销毁和回收。
可选地,该方法还包括:
定义Qos服务,发布端实体和订阅端实体内所包含的对象的任何行为均由Qos服务决定。
可选地,所述Qos服务包括可靠性服务和持久性服务。
可选地,所述可靠性服务具体包括如下三种形式:
严格可靠形式:软总线的Qos被配置为严格可靠形式时,当发布端实体和订阅端实体完成匹配后,发布端实体发送的每一包数据都会被软总线可靠并有序的传输到订阅端实体;
最后N包数据可靠形式:软总线的Qos被配置为最后N包数据可靠形式时,则订阅端实体只关心发布端实体发布的最后N+包数据,软总线只会保证发布端实体的最后N包数据被订阅端实体可靠有序的接收,其中,N+为正整数;
尽力而为形式:软总线的Qos被配置为尽力而为形式时,软总线只会保证发布端实体发布的数据被有序的传送给订阅端实体,而不会保证所有数据被完整的送达。
可选地,所述持久性服务具体包括:
当发布端实体发布数据时,其对应的某个订阅端实体可能不在线,该订阅端实体上线后就会错过历史发布过的数据;当软总线的Qos被配置为持久性后,发布端实体的数据会被软总线保存在内存或硬盘中,当发布端实体与新的订阅端实体匹配后,软总线会主动将保存的历史数据发送给订阅端实体。
另一方面,本发明还公开了一种实时软总线,该软总线通过如上述的面向智慧轨交系统的实时软总线实现方法实现,该软总线具体包括软总线资源接口、Qos、软总线事件驱动模块以及共享内存,其中,软总线资源接口包括传输插件接口、线程池容器、数据缓存单元以及实体创建接口。
与现有技术相比,本发明至少具有以下优点之一:
1)软总线采用的发布订阅模型能实现各子系统件跨进程、跨区域、跨平台的高效地数据分发,在该模型下,数据被空间隔离,子系统只需要订阅它所关注的数据,或发布它所能提供的数据即可;
2)发布端实体与其对应的订阅端实体之间的通信完全由软总线来完成,两者之间并不需要关心对方的地址和数量,实现了空间上的解耦;
3)发布端实体或订阅端实体与软总线是异步的,发布端实体只需将数据写到软总线即可,而订阅端实体只会在有数据到来时收到数据触发事件,消除了各通信实体之间的相互依赖,减少带宽延迟,实现数据流解耦;
4)基于Qos服务级别的设计,可以根据业务的重要程度不同,为不同业务数据设置优先级,优先级较高的数据能够优先被网络传输;
5)基于发布订阅模型的无主设计,系统单点故障能够被有效排除。
附图说明
图1为发明一实施例中面向智慧轨交系统的实时软总线结构示意图;
图2为发明一实施例中软总线数据传输示意图;
图3为发明一实施例中发布订阅匹配示意图;
图4为本发明一实施例种提供的软总线应用示意图。
具体实施方式
以下结合附图1~4和具体实施方式对本发明作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需要说明的是,附图采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施方式的目的。为了使本发明的目的、特征和优点能够更加明显易懂,请参阅附图。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、面向智慧轨交系统的实时软总线实现方法、物品或者现场通信前置机不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、面向智慧轨交系统的实时软总线实现方法、物品或者现场通信前置机所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、面向智慧轨交系统的实时软总线实现方法、物品或者现场通信前置机中还存在另外的相同要素。
请参阅图1,图1是本实施例中面向智慧轨交系统的实时软总线的结构示意图,该软总线具体包括软总线资源接口、Qos(Quality of Service,服务质量)模块、软总线事件驱动模块以及共享内存,位于控制中心或车站的应用模块通过软总线资源接口接入软总线。其中,软总线资源接口包括传输插件接口、线程池容器、数据缓存单元以及实体创建接口。
其中,所述智慧轨交系统包括至少一个专业子系统,专业子系统的具体类型包括列车自动监控系统(ATS)、广播系统(PA)、乘客信息系统(PIS)、视频监控系统(CCTV)、环控系统(BAS)、自动售检票系统(AFC)和火灾报警系统(FAS)等,各专业子系统分别通过至少一个控制中心和/或至少一个车站接入软总线进行数据交互。
具体地,车站通过其通信前置机接入软总线,进而与车站的服务器进行交互;控制中心通过其通信前置机接入软总线,进而与控制中心服务器进行交互。
需要指出的是,各车站的通信前置机和各控制中心的前置机接入软总线的节点不同,一个车站/控制中心的通信前置机对应软总线的一个节点。
本实施例提供了一种面向智慧轨交系统的实时软总线实现方法,该方法包括:
S1:定义服务器与通信前置机之间交互的数据类型,该数据类型也是各专业子系统之间进行交互的数据类型,其中,定义的数据类型为消息结构体,所述消息结构体包括消息头和消息体。
S2:专业子系统的应用程序分别在软总线上构建至少一个发布端实体和/或至少一个订阅端实体,其中,发布端实体与其对应的订阅端实体之间可进行通信,消息结构体是发布端实体与其对应的订阅端实体之间最基本的数据传输单元。
S3:定义Qos服务,Qos服务由软总线提供,发布端实体和订阅端实体所包含的对象的任何行为均由Qos服务决定。
本实施例中,该消息结构体采用PROTOBUF结构定义。
本实施例中,所述消息头的结构信息包括接口版本号、消息发送时间、数据校验码、源地址信息、目的地址信息和/或消息类型。
本实施例中,所述源地址信息和/或所述目的地址信息包括通信前置机所在的域号和/或通信前置机的编号。
请参阅图2,图2是本实施例中软总线数据传输示意图。所述步骤S2具体包括:
S201:专业子系统的应用程序在软总线的一个节点上创建发布端实体或订阅端实体时,向软总线注册实体信息;该实体信息被软总线通过广播或共享内存的方式发布出去,软总线的其他节点在接收到该实体信息后,进行参数匹配,只有满足匹配规则后才会被软总线记录并向创建该发布端实体的节点返回匹配信息。发布端实体与其对应的订阅端实体之间通过软总线进行数据通信,应用程序通过创建的这些实体完成各专业子系统之间的数据发送或接收。例如软总线的节点1创建的发布端实体与软总线的节点2、节点3创建的订阅端匹配上了,那么节点2,节点3都接收到节点1发送的数据。
本实施例中,参数匹配过程的身份认证采用TSL协议进行。
本实施例中,软总线通过域来实现数据隔离,在软总线的每个节点上创建发布端实体和/或订阅端实体时需要指定域号,软总线根据该域号来计算单播或组播端口,端口确定后各节点就能在指定端口上进行数据收发。只有当发布端实体以及订阅端实体所在的域相同,二者才能通信,否则将被隔离。
请参阅图4,图4是本实施例提供的软总线在应用时的结构示意图,控制中心服务器、控制中心的通信前置机、车站服务器和车站的通信前置机在同一域内,具有相同的域号,即域号domain=0。
所述消息结构体中源地址信息或目的地址信息的xxx_group_id字段表示具体的车站号,区号是对车站或控制中心的编号,用于区分控制中心、不同车站,将其用于软总线的区号上,实现车站之间的隔离,图4中partion冒号后面字段即为车站或控制中心的区号。发布端实体和订阅端实体都关联了至少一个主题,发布端实体通过其主题发布数据,订阅端通过其主题获取其感兴趣的主题,主题通过字段xxx_occ_xxx和xxx_sta_xxx区分,主题的引入使得应用程序不用再关心底层复杂的网络数据交互过程。
需要指出的是,该区号和发布端实体/订阅端实体设置的分区可以是相同,也可以不同。例如,现有控制中心1和车站1(车站编号为1)、车站2(车站编号为2)、车站3(车站编号为3),控制中心1需要分别与车站1,2,3通信,车站之间不需要通信,那么可以设置控制中心1的分区有3个即1、2、3,而车站1、2、3的分区分别设置为1、2、3即可。又例如,设置车站1、2、3的分区分别设置为16、31、49,控制中心1只需包含这3个分区号就可实现与各车站通信。
本实施例不对区号和分区是否为相同进行具体限定,仅以区号和分区是相同的进行举例说明。
软总线的各节点的发布端实体/订阅端实体之间在匹配前、匹配后等不同阶段通过不同的指定端口进行数据的收发。
具体为,设域号为d(0≤d≤200),发布端实体与订阅端实体之间进行匹配通信时的组播端口计算公式如下:
port1=7720+d×250;
匹配后由订阅端实体指定数据通信时的单播或组播端口,发布端实体和订阅端实体之间进行数据通信时的单播端口计算公式如下:
port2=7720+d×250+hostId×2,hostId为订阅端实体所在位置的通信前置机的编号;
发布端实体和订阅端实体之间进行数据通信时的组播端口计算公式如下:
port3=7720+d×250+1。
其中,单播是一对一通信,发送端实体发送的数据只被一个接收端实体接收,数据的接收和传递只在两个节点之间进行,当有多个节点需要接收数据时,那么发送节点需要给每个接收节点发送一份数据,效率较低。组播是一对一组通信,加入到这个组的节点们可以接收到此组内的所有数据,当有多个接收节点需要接收数据时,发送节点可以实现一次传送所有目标节点的数据,效率较高。
发布端实体或订阅端实体创建成功后,默认的以周期5秒发送自己的实体信息,信息包括唯一标识符uuid(通用唯一识别码),ip地址和端口号,qos信息。当本地发布端实体或订阅端实体接收到远端的发送端实体或订阅端实体发送过来的信息后,通过比较域号,分区,主题信息,如果匹配则将所匹配的实体存入本地数据库,默认的发布端实体或订阅端实体设置的生存时间间隔为10秒,在该间隔内若没有继续接收到远端的实体信息则认为与远端失去匹配,将其从数据库中删除,生存时间间隔的设置需大于其周期发送实体信息的时间间隔。
需要指出的是,本实施例对于发布端实体/订阅端实体的实体信息发送周期以及生存时间间隔不作具体限定,只要该实体信息发送周期大于该生存时间间隔即可,本实施例仅以实体信息发送周期为5秒、生存时间间隔为10秒进行举例说明。
本实施例中,如图3所示,发布端实体和订阅端实体分别设置有至少一个分区,只有当处于相同域内的发布端实体所在的分区与订阅端实体所在的分区有交集时二者才能相互通信,这也使得发布端实体和订阅端实体实现动态的区域隔离。
本实施例中,发布端实体和订阅端实体分别关联有至少一个主题,发布端实体通过其关联的主题发布数据,订阅端实体通过其关联的主题获取感兴趣数据,主题的引入使得应用程序不用再关心底层复杂的网络数据通信过程。
本实施例中,软总线还实现了消息内容过滤功能。订阅端实体在订阅数据时,可以基于数据内容设置订阅条件,这些订阅条件会随着参数匹配过程发送给发布端实体,发布端实体发布数据时只会将满足订阅条件的数据发送给订阅端实体。
本实施例中,以消息结构体中的目的地址信息作为订阅端实体的订阅条件实现内容过滤功能。订阅端实体只能收到发布端实体发布的目的地址信息为其所在域号及通信前置机的编号的消息。如图4所示,控制中心服务器向车站1的FEPA发送控制命令时,目的地址信息字段dest_group_id需填充为1,dest_host_id需填充为通信前置机FEPA的编号,采用主题root_sta_command发送数据,这样车站1的FEPA通过软总线的消息内容过滤功能准确接收到控制中心发送过来的命令。
本实施例中,所述步骤S2具体还包括:
S202:创建传输插件,该传输插件用于定义数据通信的传输方式,该传输方式具体为:
若一发布端实体和该发布端实体对应的订阅端实体位于同一主机上(同一主机指的是在同一机器上),二者通过共享内存的方式进行数据通信,二者的分区也是相同的。需要指出的是,若想使位于同一主机上的发布端实体和该发布端实体对应的订阅端实体通过网络进行通信也行,只是默认在二者位于同一主机上的情况下,二者通过共享内存的方式进行数据通信;
若一发布端实体和该发布端实体对应的订阅端实体在不同主机上,二者通过udp(用户数据报协议)单播或组播的方式进行数据通信。若发布端实体与订阅端实体之间的单播或组播端口被占用,需进行错误提示,以告知调整域号或主机号的设置。
当多个应用程序订阅同一个主题时,为了最大限度的减少网络数据包,发布端实体可以支持组播的形式发送数据,由订阅端实体设置组播地址,以达到负载均衡的目的。如图4所示,控制中心服务器在给车站2的通信前置机FEPA和通信前置机FEPB发送命令时,可以采用组播形式完成发送。这种方式适合于服务器需要给某一车站内的所有FEP发送相同控制命令时使用,在内容过滤条件下服务器发送的数据结构体中目的地址字段dest_group_id需填充为该车站号,dest_host_id填0表示所有主机。
本实施例中,所述步骤S2具体还包括:
S203:创建数据缓存单元,用于缓存发布端实体发布数据的数据队列及订阅端实体接收数据的数据队列。
数据缓存单元存放数据信息和心跳信息,当Qos配置为可靠性服务时,发布端实体对发送的每一包数据进行编号,在发送完第N包数据时,随后发送一个编号为N的心跳信息,目的是为了询问订阅端实体是否收到了这N包数据,订阅端实体回复编号为N的应答信息ACK则表明N包数据全部收到。
如果发布端实体的第N-2(N>2)包数据未收到,则订阅端实体回复该编号未收到的应答信息NACK,告知发布端实体第N-2(N>2)包数据未收到,此后发布端实体重新发送编号为N-2(N>2)的数据包,直到收到编号为N的应答信息为止,默认的N=1。
发布端实体通过心跳信息不仅用于修复丢失的数据包,而且还可以用来预防网络阻塞,当发布端实体的缓存队列满了后就会阻塞网络,订阅端实体收到数据后使用ACK或NACK进行响应,从而解除阻塞,达到流量控制的目的。
本实施例中,所述步骤S2具体还包括:
S204:创建线程池容器,作为发布端实体和订阅端实体的管理容器,其管理容器的管理方法具体为:
当存在匹配的发布端实体和订阅端实体时,线程池容器负责对匹配的发布端实体和订阅端实体进行创建、使用和查询;
当匹配的发布端实体和订阅端实体断开时,线程池容器负责对失去匹配的发布端实体和订阅端实体进行销毁和回收;
线程池容器分为工作线程池容器和备用线程池容器,当有新匹配的发布端实体和订阅端实体需要进行数据通信时,将备用线程池容器中的线程调用到工作线程池容器中,当匹配断开连接时,释放该线程,将其回收到备用线程池容器中。
本实施例中,每个发布端实体或订阅端实体(为便于描述,下文简称“实体”)都包含有一个监听对象,该对象在发布端实体或订阅端实体的状态发生改变时触发,通过状态回调函数来响应不同的软总线事件,具体事件如下:
匹配事件,当某一实体与远端实体匹配时,该实体监听对象会触发匹配事件,状态回调函数会记录下匹配的远端实体信息,如实体名,应用进程号,地址;
连接断开事件,当某一实体与远端实体断开连接时,该实体监听对象会触发连接断开事件,状态回调函数会记录下断开连接的远端实体信息,如实体名,断连时间;
数据接收事件,当订阅端实体接收到数据时,订阅端实体监听对象会触发数据接收事件,状态回调函数会记录下接收到的数据结构体信息。
本实施例中,所述Qos服务包括可靠性服务和持久性服务,Qos服务允许应用程序来管理、设定优先度和约束网络中的数据流。
本实施例中,所述可靠性服务具体包括如下三种形式:
严格可靠形式:软总线的Qos被配置为严格可靠形式时,当发布端实体和订阅端实体完成匹配后,发布端实体发送的每一包数据都会被软总线可靠并有序的传输到订阅端实体;
最后N包数据可靠形式:软总线的Qos被配置为最后N包数据可靠形式时,则订阅端实体只关心发布端实体发布的最后N+包数据,软总线只会保证发布端实体的最后N包数据被订阅端实体可靠有序的接收,但不保证前之前数据的可靠传输,其中,N+为正整数;
尽力而为形式:软总线的Qos被配置为尽力而为形式时,软总线只会保证发布端实体发布的数据被有序的传送给订阅端实体,而不会保证所有数据被完整的送达。
本实施例中,所述持久性服务具体包括:
当发布端实体发布数据时,其对应的某个订阅端实体可能不在线,该订阅端实体上线后就会错过历史发布过的数据;当软总线的Qos被配置为持久性后,发布端实体的数据会被软总线保存在内存或硬盘中,当发布端实体与新的订阅端实体匹配后,软总线会主动将保存的历史数据发送给订阅端实体。
在软总线Qos服务配置下,各发布端实体与各发布端实体对应的订阅端实体之间的Qos需要匹配,例如,应用程序2的订阅端实体的可靠性Qos配置为BEST_EFFORT尽力而为时,与其匹配的应用程序2的发布端实体的可靠性Qos配置也必须为尽力而为,而不能配置为严格可靠。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (16)
1.一种面向智慧轨交系统的实时软总线实现方法,其特征在于,所述智慧轨交系统包括至少一个专业子系统,各专业子系统分别通过至少一个控制中心和/或至少一个车站接入软总线;各车站的通信前置机分别通过软总线的不同节点与车站的服务器进行交互;控制中心的通信前置机通过软总线的其他节点与控制中心服务器进行交互;该方法包括:
定义服务器与通信前置机之间交互的数据类型,其中,该数据类型为包括消息头和消息体的消息结构体。
2.如权利要求1所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,消息头的结构信息包括接口版本号、消息发送时间、数据校验码、源地址信息、目的地址信息和/或消息类型。
3.如权利要求2所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,源地址信息包括源地址所在的域号和/或位于源地址的通信前置机的编号;和/或,目的地址信息包括目的地址所在的域号和/或位于目的地址的通信前置机的编号。
4.如权利要求1所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,该方法还包括:
专业子系统分别构建至少一个发布端实体和/或至少一个订阅端实体。
5.如权利要求4所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,专业子系统分别构建至少一个发布端实体和/或至少一个订阅端实体,具体包括:
在软总线的一个节点上创建发布端实体和/或订阅端实体时,向软总线注册实体信息;该实体信息被软总线发布出去,软总线的其他节点在接收到该实体信息后,进行参数匹配,只有满足匹配规则后才会被软总线记录并向相应节点返回匹配信息。
6.如权利要求5所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,软总线通过域来实现数据隔离,在软总线的一个节点上创建发布实体或订阅实体时需要指定域号,软总线根据该域号来计算组播端口。
7.如权利要求6所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,发布端实体和订阅端实体分别设置有至少一个分区,只有当发布端实体所的分区与订阅端实体所的分区有交集时二者才能相互通信。
8.如权利要求7所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,发布端实体和订阅端实体分别关联有至少一个主题,发布端实体通过其关联的主题发布数据,订阅端实体通过其关联的主题获取感兴趣数据。
9.如权利要求4所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,专业子系统分别构建至少一个发布端实体和/或至少一个订阅端实体,具体还包括:
创建传输插件,该传输插件用于定义数据通信的传输方式,该传输方式具体为:
若一发布端实体和该发布端实体对应的订阅端实体在同一主机上,二者通过共享内存的方式进行数据通信;
若一发布端实体和该发布端实体对应的订阅端实体在不同主机上,二者通过udp单播或组播的方式进行数据通信。
10.如权利要求4所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,专业子系统分别构建至少一个发布端实体和/或至少一个订阅端实体,具体还包括:
创建数据缓存单元,用于缓存数据发布的数据队列及订阅的数据队列。
11.如权利要求4所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,专业子系统分别构建至少一个发布端实体和/或至少一个订阅端实体,具体还包括:
创建线程池容器,作为发布端实体和订阅端实体的管理容器,其管理容器的管理方法具体为:
当存在匹配的发布端实体和订阅端实体时,线程池容器负责对匹配的发布端实体和订阅端实体进行创建、使用和查询;
当匹配的发布端实体和订阅端实体断开时,线程池容器负责对失去匹配的发布端实体和订阅端实体进行销毁和回收。
12.如权利要求1所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,该方法还包括:
定义Qos服务,发布端实体和订阅端实体内所包含的对象的任何行为均由Qos服务决定。
13.如权利要求12所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,所述Qos服务包括可靠性服务和持久性服务。
14.如权利要求13所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,所述可靠性服务具体包括如下三种形式:
严格可靠形式:软总线的Qos被配置为严格可靠形式时,当发布端实体和订阅端实体完成匹配后,发布端实体发送的每一包数据都会被软总线可靠并有序的传输到订阅端实体;
最后N包数据可靠形式:软总线的Qos被配置为最后N包数据可靠形式时,则订阅端实体只关心发布端实体发布的最后N+包数据,软总线只会保证发布端实体的最后N包数据被订阅端实体可靠有序的接收,其中,N+为正整数;
尽力而为形式:软总线的Qos被配置为尽力而为形式时,软总线只会保证发布端实体发布的数据被有序的传送给订阅端实体,而不会保证所有数据被完整的送达。
15.如权利要求13所述的面向智慧轨交系统的实时软总线实现方法,其特征在于,所述持久性服务具体包括:
当发布端实体发布数据时,其对应的某个订阅端实体可能不在线,该订阅端实体上线后就会错过历史发布过的数据;当软总线的Qos被配置为持久性后,发布端实体的数据会被软总线保存在内存或硬盘中,当发布端实体与新的订阅端实体匹配后,软总线会主动将保存的历史数据发送给订阅端实体。
16.一种实时软总线,其特征在于,该软总线通过如权利要求1至15中任一项所述的面向智慧轨交系统的实时软总线实现方法实现,该软总线具体包括软总线资源接口、Qos、软总线事件驱动模块以及共享内存,其中,软总线资源接口包括传输插件接口、线程池容器、数据缓存单元以及实体创建接口。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110465672.XA CN113098747A (zh) | 2021-04-28 | 2021-04-28 | 一种面向智慧轨交系统的实时软总线实现方法 |
US17/793,200 US20240179024A1 (en) | 2021-04-28 | 2021-10-13 | Method for implementing real-time soft bus oriented to intelligent rail transit system |
PCT/CN2021/123472 WO2022227414A1 (zh) | 2021-04-28 | 2021-10-13 | 一种面向智慧轨交系统的实时软总线实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110465672.XA CN113098747A (zh) | 2021-04-28 | 2021-04-28 | 一种面向智慧轨交系统的实时软总线实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113098747A true CN113098747A (zh) | 2021-07-09 |
Family
ID=76680669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110465672.XA Pending CN113098747A (zh) | 2021-04-28 | 2021-04-28 | 一种面向智慧轨交系统的实时软总线实现方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240179024A1 (zh) |
CN (1) | CN113098747A (zh) |
WO (1) | WO2022227414A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756495A (zh) * | 2022-06-16 | 2022-07-15 | 中国人民解放军国防科技大学 | 基于分层消息软总线模型的操作系统及实现方法 |
WO2022227414A1 (zh) * | 2021-04-28 | 2022-11-03 | 卡斯柯信号有限公司 | 一种面向智慧轨交系统的实时软总线实现方法 |
CN116954952A (zh) * | 2023-09-18 | 2023-10-27 | 之江实验室 | 一种机器人的自适应混合通信方法、装置、介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452841A (zh) * | 2016-09-13 | 2017-02-22 | 中国电子科技集团公司第三十二研究所 | 在机器人操作系统中使用传输服务质量的方法 |
CN110104033A (zh) * | 2019-04-26 | 2019-08-09 | 南京南瑞继保电气有限公司 | 基于云平台的轨道交通监控方法及系统 |
CN110266783A (zh) * | 2019-06-13 | 2019-09-20 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种基于dds的铁路ctc系统通信平台 |
CN111913387A (zh) * | 2020-08-07 | 2020-11-10 | 卡斯柯信号有限公司 | 基于软总线的多个采集设备冗余及负载均衡的系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2343932C (en) * | 2000-04-10 | 2006-10-17 | Research In Motion Limited | System and method for bundling information |
EP1393224A4 (en) * | 2001-04-30 | 2005-10-05 | Goldman Sachs & Co | UNIVERSAL INTERFACE FOR A SYSTEM OF FINANCIAL EXCHANGES |
WO2006015245A2 (en) * | 2004-07-29 | 2006-02-09 | Modius, Inc. | Universal configurable device gateway |
US10917263B1 (en) * | 2014-05-29 | 2021-02-09 | Modius Inc. | Universal configurable device gateway |
WO2017213576A1 (en) * | 2016-06-07 | 2017-12-14 | Scania Cv Ab | A system and a method for testing functionalities of a vehicle |
US20200128029A1 (en) * | 2017-03-13 | 2020-04-23 | Nec Corporation | Network device, monitoring and control device, network system, and control method therefor |
US11108542B2 (en) * | 2017-07-07 | 2021-08-31 | Board Of Regents Of The Nevada System Of Higher Education, On Behalf Of The University Of Nevada, Reno | Multi-processor automotive electronic control unit |
KR20210016100A (ko) * | 2019-07-31 | 2021-02-15 | 한국철도기술연구원 | 자율 협업 기반의 동적 열차제어 방법 및 장치 |
CN113938720B (zh) * | 2020-07-13 | 2023-11-17 | 华为技术有限公司 | 多设备协作的方法、电子设备及多设备协作系统 |
CN115150213A (zh) * | 2021-03-31 | 2022-10-04 | 华为技术有限公司 | 一种功能迁移方法和装置 |
CN113098747A (zh) * | 2021-04-28 | 2021-07-09 | 卡斯柯信号有限公司 | 一种面向智慧轨交系统的实时软总线实现方法 |
-
2021
- 2021-04-28 CN CN202110465672.XA patent/CN113098747A/zh active Pending
- 2021-10-13 WO PCT/CN2021/123472 patent/WO2022227414A1/zh active Application Filing
- 2021-10-13 US US17/793,200 patent/US20240179024A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452841A (zh) * | 2016-09-13 | 2017-02-22 | 中国电子科技集团公司第三十二研究所 | 在机器人操作系统中使用传输服务质量的方法 |
CN110104033A (zh) * | 2019-04-26 | 2019-08-09 | 南京南瑞继保电气有限公司 | 基于云平台的轨道交通监控方法及系统 |
CN110266783A (zh) * | 2019-06-13 | 2019-09-20 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种基于dds的铁路ctc系统通信平台 |
CN111913387A (zh) * | 2020-08-07 | 2020-11-10 | 卡斯柯信号有限公司 | 基于软总线的多个采集设备冗余及负载均衡的系统 |
Non-Patent Citations (1)
Title |
---|
卢建宁等: "国产综合监控系统平台XISCS-100的设计和实现", 《软件产业与工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022227414A1 (zh) * | 2021-04-28 | 2022-11-03 | 卡斯柯信号有限公司 | 一种面向智慧轨交系统的实时软总线实现方法 |
CN114756495A (zh) * | 2022-06-16 | 2022-07-15 | 中国人民解放军国防科技大学 | 基于分层消息软总线模型的操作系统及实现方法 |
CN116954952A (zh) * | 2023-09-18 | 2023-10-27 | 之江实验室 | 一种机器人的自适应混合通信方法、装置、介质及设备 |
CN116954952B (zh) * | 2023-09-18 | 2024-01-09 | 之江实验室 | 一种机器人的自适应混合通信方法、装置、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20240179024A1 (en) | 2024-05-30 |
WO2022227414A1 (zh) | 2022-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113098747A (zh) | 一种面向智慧轨交系统的实时软总线实现方法 | |
US5058108A (en) | Local area network for digital data processing system | |
US8041832B2 (en) | Network data distribution system and method | |
CN102037684B (zh) | 使用具有分布式结构的媒体服务器的组通信系统及其方法 | |
CN108965367B (zh) | 一种控制视联网服务器的方法和系统 | |
CN105337923B (zh) | 数据分发方法和系统及数据发送装置和数据接收装置 | |
US9270529B2 (en) | Distributed data transmission in data networks | |
US20100205502A1 (en) | Enabling memory transactions across a lossy network | |
CN106059936B (zh) | 云系统组播文件的方法及装置 | |
CN110209514A (zh) | 在嵌入式传感器接入平台实现dds服务的方法 | |
CN112448826B (zh) | 组播消息的通信方法、装置、可读介质及电子设备 | |
JP2806466B2 (ja) | データ伝送制御方法 | |
CN110166742B (zh) | 基于视联网的视频发布方法和装置 | |
WO2020114512A1 (zh) | 组播报文的传输方法、第一网络设备和第二网络设备 | |
DE102009050767B4 (de) | Verfahren und Vorrichtung zur Datenübertragung | |
JP2009152995A (ja) | 通信システム、通信システムに用いられる送信端末、通信システムに用いられる中継端末、通信システムにおける通信方法及び通信システムに用いられるコンピュータプログラム | |
KR100953507B1 (ko) | 분산 구조의 미디어 서버를 이용한 그룹통신 시스템 및 그방법 | |
CN109586931A (zh) | 组播方法及终端设备 | |
CN101980473A (zh) | 一种组播路径跟踪方法和系统 | |
CN110660205B (zh) | 报警信息处理方法、装置、电子设备及可读存储介质 | |
Chen et al. | A reliable messaging middleware for financial institutions | |
KR20020041851A (ko) | 중계기서버를 이용한 멀티캐스팅 전송 시스템의 오류 제어방법 | |
CN102710801A (zh) | 一种处理实况视频流点播的方法和装置 | |
JP2001326685A (ja) | 同報送信システム及びその宛先データベース管理方式 | |
CN117873758B (zh) | 一种基于消息总线的dcs系统站间通信方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210709 |