DB13/T 5519.6-2022 轨道交通 AFC 系统线网技术要求 第6部分:数据传输.pdf
- 文档部分内容预览:
DB13/T 5519.6-2022 轨道交通 AFC 系统线网技术要求 第6部分:数据传输
4.3.2连接方式与报文格式
4. 3.2. 1通信链路的建立与响应
客户端与服务器端通信链路的建立与响应,应满足: 客户端在启动时,应主动向服务器端发起连接请求; 若在规定的时间内无法与服务器端建立连接,则客户端应产生报警并主动取消连接请求; C 服务器端不应主动断开与客户端的连接; Q 若客户端与服务端连接中断或客户端与服务端没有建立连接,则客户端应产生报警并等待 段时间后重新向服务端发起连接请求; e 以上流程直至双方成功建立了通信链路为止
锅炉标准规范范本4.3.2. 3数据交换
通信链路建立以后,连接的双方均可以连续向对方发送多条命令并接收应答。 报文传输方式见图1
DB 13/T5519.62022
为避免实时通信过程中跨层响应的不确定性,应采用相邻层直接给出消息应答(MACK)的机制, 消息请求内容的最终回复由最终接收方重启一条消息请求报文。 任何一端发出数据包后,若在时限内没有收到对方确认的MACK应答,则发送方应在等待一定的 时间间隔后需重复发出该数据包。 重复发送对方没有确认的数据包示例见图2
图2重复发送对方没有确认的数据包示例
数据包重复发出次数由实时通信参数RetryTimes设定,应满足: 8 若数据包按照设定次数重复发出后,对方仍然没有反应,发送方则停止发送;(例如,假 设RetryTimes=3,则重复发出3次,加上第一次共发送数据4次) 停止重发报文时,不应断开当前连接,但应产生告警; C 重要报文应在下次重新建立起连接后补发或保存到文件中,通过数据备份介质导入或导出 数据。
4. 3. 2. 4 心跳与通信中断
心跳与通信中断的机制及参数设定,应满足: 处于通讯的下级节点在一段无通讯报文上送时,应主动发送心跳报文; 心跳周期,由实时通信参数AlivePeriod设定: 若实时通信应答超时后,未收到目的节点反馈的应答消息,则表示应答失败,应重新发起 心跳报文: d 实时通信应答周期,由实时通信参数TimeoutwithoutAnswer设定; 处于通讯的下级节点连续MaxIdlePeriodAmount次后仍应答超时,心跳报文发送失败,则 认为通信故障,下层节点应主动断开当前连接,重新发起连接请求; 最大空闲周期数,由实时通信参数MaxIdlePeriodAmount设定; 处于通信的上级节点在检测到一条连接长时间空闲时,上级节点应主动断开连接: 服务器端或客户端在连续接收到MaxInvalidMessageAmount次无效报文后,应主动断开当 前连接,客户端在与服务端连接中断时,应主动向服务器端发起连接请求; 最多连续无效报文数,由实时通信参数MaxInvalidMessageAmount设定。
4.4通用报文结构定义
4.4通用报文结构定义
4.4.1报文格式定义
接口》,报文格式应满足: a)所有报文中的字段均采用大端格式存储; b)所有报文采用单包,且最大长度为8K字节
DB13/T5519.62022
发送方发出的报文必须满足请求报文格式,如请求代码、发送信息、接收信息等; 报文的完整性验证; 根据CRC算法来验证报文中的数据没有发生丢失和被篡改; CRC算法分为CRC8,CRC16,CRC16F以及CRC32等几种算法; AFC系统中的CRC算法采用CRC16校验方式: g CRC校验码根据数据包(报文头+报文体,不包含CRC校验字段本身)的内容生成,应先将 Header+Body导入内存流,然后计算CRC校验,最后将CRC赋值到结构体的CRC字段。
AFC系统各层级系统间的实时通信,应包括: ACC与LC之间的实时通信,ACC与LC应互为服务,任何一方有报文发送需要时都可以立即 向对方发送: b) LC与SC之间的实时通信,与ACC与LC的实时通信基本一致,更加侧重于与设备级的通信: 主要增加了设备模块的状态上传和查询,设备钱箱和票箱信息的上传和查询: C SLE与SC之间的实时通信,与SC与LC的实时通信基本一致,主要是客流统计数据
DB 13/T 5519. 62022
表4通讯报文列表(续
设备重启时、日始和网络恢复时,设备均应发起设备签到。 设备签到流程,应包括: a)第一步,时钟同步; b) 第二步,建立通信连接; c) 第三步,SC下发当前车站运营模式; d) 第四步,参数同步; e) 第五步,上传所属车站模式、参数版本、设备状态、软件版本; f) 第六步,上传文件。 ACC级EOD参数、TP参数如果不能同步,则该设备须进入暂停服务,并发报警信息, 其他参数不能同步时仅发报警信息
ACC与LC之间采用通信中间件作为实时数据传输的通道, 应在ACC通信服务器上部署中间件服务管理器,各条线路中心部署中间件客户端,通过中间件建 立的通道进行实时数据交换。
4. 10. 1物理接口
连接方式应由ACC与LC协商决定。
之间的通信传递宜采用支持互联互通的通信中间
4.10.3消息中间件架构
4. 10. 3. 1队列部署
4. 10.3.2队列管理器定义
DB 13/T5519.62022
表5需构建的队列管理
4.10.3.3通道配置
通道命名规则:QCH.LC.ACC.<线路编号> 端口约定,例如:端口号=1500+线路编号,则按此约定:一号线端口号1501,二号线端口号1502, 三号线端口号1503 通道配置举例见表7
4.10.3.4侦听器配置
ACC端的侦听器命名规则如下:
.<协议名称>. .<侦听端口号 从安全角度考虑,实际部署时每个客户端应采用独立的侦听端口,以能保证通信上的独立性 全性。 ACC队列管理器中侦听器列表见表8。 表8ACC队列管理器中侦听器列表
DB 13/T 5519. 62022
4.10.3.5队列定义
表9队列命名规则字段
通过使用MQMD结构,应可访问消息中的控制信息。 消息描述符结构见表10。
表10消息描述符结构
DB 13/T5519.62022
表10消息描述符结构(续)
4.10.4. 2消息种类
4.10.4. 2消息种类
主要利用WebSphereMQ传送实时通信报文实现,ACC与LC之间传输的实时报文结构与线路内的报 文结构一致。
4.10.4.3消息控制信息和消息数据的格式
队列管理器应严格控制消息控制信息格式。 处理消息的程序既应控制消息的控制信息,也应控制消息数据格式 a)消息控制信息格式
DB 13/T 5519. 62022
DB 13/T 5519. 62022
4.10.4.4消息优先级
4.10.4.5消息组
个消息组是由一个或多个逻辑消息组成的 个逻辑消息是由一个或多个物理消息组成。 a) 1) 每个组是通过GroupId来标识的; 2) 它是由一个或多个包含同样GroupId的消息组成; 这些消息可以存放在队列中的任何位置。 组逻辑消息示例图见图4
图4一组逻辑消息示例图
b)逻辑消息 1) 在组里的逻辑消息应是通过GroupId和MsgSeqNumber来标识的; 在一个组里的第一个消息的MsgSeqNumber值应是从1开始; 3) 若组里的逻辑消息没有被分成段,则组里的逻辑消息应是由一个物理消息组成。 段(Segment) 1)段是用来处理对于应用程序或队列管理器来说过大的消息:
2)消息中的段是由GroupId,MsgSeqNumber和Offset来标识的; 3)每个段是由一个物理消息组成。 分段消息示例图见图5。
4.10.4.6消息持久性
DB 13/T5519.62022
装修设计教程DB13/T5519.62022
永久消息的应用,应满足: a)永久消息应写在日志和队列文件中; b) 当队列管理器失败后重新启动时,它将会从日志数据中恢复所需要的永久消息; C 如果队列管理器停止,非永久性消息将被丢弃。 当创建消息时,若使用缺省值初始化消息描述符(MQMD),应满足: d)消息的永久性是由MQOPEN的队列的DefPersistence所决定的; e)可以使用MQMD中的Persistence字段来设置消息的永久性。 若使用永久性消息将会影响应用程序的性能,影响的程度由系统I/0子系统的特性和使用的同步 点选项所决定的
4. 10. 4. 7检索消息
a 为从队列中获得一个特殊消息,应使用消息描述符中的MsgId和CorrelId字段; b) 若使用了版本2的MQMD结构,还应使用GroupId字段; c) 当消息被放到队列中时,队列管理器应将消息封装上消息描述符; d 应用程序通过ImqPutMessageOptions可以设置消息的MsgId在队列管理器范围内应是唯 一的; e)除此之外应用程序应可以设置消息描述符中其他的值。
4.10.4.8交付失败的消息
当消息不能放到队列时,可能出现下列情况: a)再次把消息放到队列中; b)返回失败并把消息返回到发送方; c)消息被放到死信队列中。
报文消息定义:应用数据即为报文数据。 MQ消息格式见图6:
测绘标准DB 13/T 5519. 62022
....- 交通标准 技术标准 数据标准
- 相关专题: