一种基于Netty框架及Kafka机制的城轨信号智能运维数据系统技术方案

技术编号:38741003 阅读:18 留言:0更新日期:2023-09-08 23:25
本发明专利技术涉及一种基于Netty框架及Kafka机制的城轨信号智能运维数据系统,属于轨道交通领域。本发明专利技术的轨道交通高效的数据采集平台专用于轨道交通智能运维的平台,利用Netty框架NIO异步非阻塞的通讯模式,能够支持扩展TCP、UDP和HTTP等多种通信方式,既能增加系统的吞吐量,也能丰富系统接收数据的通信方式。本发明专利技术采用分布式存储机制,分布式存储机制是指数据采集平台在存储相关数据源信息时,采用Kafka高吞吐量的分布式发布订阅消息系统,能够针对性的解决轨道交通数据实时性、频率快以及单点传统存储机制所带来的问题。及单点传统存储机制所带来的问题。及单点传统存储机制所带来的问题。

【技术实现步骤摘要】
一种基于Netty框架及Kafka机制的城轨信号智能运维数据系统


[0001]本专利技术属于轨道交通领域,具体涉及一种基于Netty框架及Kafka机制的城轨信号智能运维数据系统。

技术介绍

[0002]随着城市轨道交通(简称“城轨”)的快速发展,传统运维服务模式的保障能力已达极限,很难适应城市轨道交通设备运维日益增长的数量、服务品质、响应率和效率的需求。2020年中国城市轨道交通协会发布的《中国城市轨道交通智慧城轨发展纲要》提出,到2025年,车辆、能源、通信及信号等智能运维数据系统在全行业推广应用,日常检修效率和车辆整体可靠性达到世界先进水平,运营安全事故率降低30%,信号设备故障率降低15%。探索基于大数据技术的数字化、标准化和智能化的信号设备运维数据平台,从而构建运、检、修一体化的城市轨道交通信号设备智能运维服务体系,实现从计划修、故障修到状态修的转变,确保城市轨道交通信号设备的安全运营。数据采集是系统架构中最重要的一环,数据采集层处理数据的性能是智能运维数据系统运行良好的基础。增大数据采集平台数据吞吐量能够更加高效的处理来自不同系统和设备的数据。
[0003]在实际应用中,信号各子系统业务不断产生大量的原始数据,原始数据被分析和处理再加工、再存储后,数据规模和数据吞吐量将变得更为庞大。数据规模的剧增对传统模式的采集方式造成了巨大影响。传统模式的采集方式采用单节点数据存储,而传统单点存储带来的问题如下:
[0004](1)性能问题。由于数据量较大,系统的数据索引效率较低。
[0005](2)成本问题。大型主机成本较高,导致硬件成本、运维成本、能耗成本增加。
[0006](3)单点问题。传统存储由于没有采用分布式文件系统,当单块磁盘损坏时,将面临数据丢失的情况。
[0007]为能应对不断产生大量的原始数据以及单点存储问题,我们提出利用Netty框架来增加数据采集平台的数据处理能力,解决不断产生大量原始数据接收问题;利用Kafka高吞吐量的分布式发布订阅消息系统解决单点存储所带来的问题。

技术实现思路

[0008](一)要解决的技术问题
[0009]本专利技术要解决的技术问题是如何提供一种基于Netty框架及Kafka机制的城轨信号智能运维数据系统,以解决不断产生大量的原始数据以及单点存储问题。
[0010](二)技术方案
[0011]为了解决上述技术问题,本专利技术提出一种基于Netty框架及Kafka机制的城轨信号智能运维数据系统,该智能运维数据系统包括:数据采集平台、Kafka集群、Spark实时消费者和HDFS持久化消费者;其中,数据采集平台包括:数据采集模块、CRC校验模块、数据存储
模块、数据解析模块、数据组包模块和数据源通信监听模块;
[0012]数据采集平台用于数据的采集以及转发,数据源为区域控制器ZC子系统、联锁CI子系统、车载控制器VOBC子系统、列车自动监督系统ATS子系统、数据通信系统DCS以及各个地面设备;
[0013]数据采集模块用于采集数据,在采集到相关的原始数据后,由CRC校验模块对数据进行CRC校验,判断数据的正确性以及完整性;在通过CRC校验后,分成两个数据流,第一个数据流发送到数据存储模块,数据存储模块对数据进行持久化存储,包括:对非日志报文进行Mysql存储、对日志报文格式转换后进行TXT文件磁盘存储,第二个数据流通过数据解析模块,得到解析后的实体;数据组包模块从解析后的实体中摘取相应的信息,按照约定好的Proto数据格式对信息进行整合处理,然后进行Kafka推送;
[0014]在Kafka集群中,每种数据对应一个相应的Topic,以便于Spark实时消费者和HDFS持久化消费者对数据进行消费。
[0015]进一步地,数据采集模块进行数据采集包括:实时数据采集和日志数据采集;
[0016]实时数据采集,指由各信号子系统及设备通过地铁维护网使用UDP向通信组件集发送实时数据,如需要解码,则由数据解析模块进行解析后,按约定的数据格式写入Kafka集群;
[0017]日志数据采集,指各信号子系统按照日志格式的需求将数据转换成消息或落地成文件进行存储分析。
[0018]进一步地,数据采集模块包括通信服务组件,通信服务组件包括:日志采集模块以及各子系统采集线程。
[0019]进一步地,数据采集模块采用Netty框架NIO异步非阻塞通讯模式封装的UDP、TCP或HTTP对原始数据进行采集,Netty框架的IO聚合了多路复用选择器Selector,能并发处理成百上千个数据源连接;当采集线程从某数据源Socket通道进行读写数据时,若没有数据可用时,该采集线程进行其他任务;采集线程将非阻塞IO的空闲时间用于在其他通道上执行IO操作,从而,单独的采集线程能管理多个输入和输出通道。
[0020]进一步地,CRC校验模块使用的校验规则为循环冗余校验CRC,版本为CRC32;若是采集的数据通过CRC的校验,则进行后续的解析、日志存储以及Kafka信息推送流程;若是采集的数据未通过CRC的校验,则数据采集平台将该数据视为脏数据,进行摒弃处理。
[0021]进一步地,数据存储模块在数据采集平台启动时会自动建立各个子系统对应的文件夹,每个文件夹下包含31个子文件夹,子文件夹编号由1到31,对应着1号到31号,数据采集平台在进行磁盘持久化存储时,会根据当天的日期,将日志以TXT文件存储到相对应的文件夹下;当某个日志TXT文件大小超过60MB后,数据采集平台会自动新建一个TXT存储后续的日志内容,从而保证TXT文件打开时正常;平台会自动清除30日以前的日志文件,保证磁盘使用率始终保持在一个健康状态。
[0022]进一步地,数据解析模块用于将通过CRC校验的数据根据需求解析为相应数据实体;不同子系统的数据拥有不同的解析协议,数据采集平台采用设计模式中的策略模式,针对一个子系统数据协议,将一个子系统数据解析代码封装到具有共同接口的独立的类中,从而使得它们可以相互替换;如果数据采集平台需要引入新系统的数据,数据采集平台在不影响现有代码的情况下,单独对新系统数据解析模块进行代码编写;在数据采集以及通
过CRC校验之后,数据采集平台会根据数据的来源自动匹配数据解析模块,从而实现数据报文的解析,并输出特定解析后的数据实体。
[0023]进一步地,数据组包模块从数据解析模块接收解析后的数据实体,按约定的Proto数据格式向Kafka集群实时推送信息;不同来源的数据具有不同的主题Topic,数据采集平台在推送Kafka消息时,会按照采集数据的来源对消息的主题Topic进行设置,从而推送到Kafka集群中对应的Kafka消息队列中。
[0024]进一步地,Kafka集群使用分布式消息队列,消息生产者无须等待就可以返回,确保系统具有更好的响应时间;Spark实时消费者能通过Spark程序消费Kafka消息,以供前端需要,实时监测各个设备的状态,Spark实时消费者在消费Ka本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Netty框架及Kafka机制的城轨信号智能运维数据系统,其特征在于,该智能运维数据系统包括:数据采集平台、Kafka集群、Spark实时消费者和HDFS持久化消费者;其中,数据采集平台包括:数据采集模块、CRC校验模块、数据存储模块、数据解析模块、数据组包模块和数据源通信监听模块;数据采集平台用于数据的采集以及转发,数据源为区域控制器ZC子系统、联锁CI子系统、车载控制器VOBC子系统、列车自动监督系统ATS子系统、数据通信系统DCS以及各个地面设备;数据采集模块用于采集数据,在采集到相关的原始数据后,由CRC校验模块对数据进行CRC校验,判断数据的正确性以及完整性;在通过CRC校验后,分成两个数据流,第一个数据流发送到数据存储模块,数据存储模块对数据进行持久化存储,包括:对非日志报文进行Mysql存储、对日志报文格式转换后进行TXT文件磁盘存储,第二个数据流通过数据解析模块,得到解析后的实体;数据组包模块从解析后的实体中摘取相应的信息,按照约定好的Proto数据格式对信息进行整合处理,然后进行Kafka推送;在Kafka集群中,每种数据对应一个相应的Topic,以便于Spark实时消费者和HDFS持久化消费者对数据进行消费。2.如权利要求1所述的基于Netty框架及Kafka机制的城轨信号智能运维数据系统,其特征在于,数据采集模块进行数据采集包括:实时数据采集和日志数据采集;实时数据采集,指由各信号子系统及设备通过地铁维护网使用UDP向通信组件集发送实时数据,如需要解码,则由数据解析模块进行解析后,按约定的数据格式写入Kafka集群;日志数据采集,指各信号子系统按照日志格式的需求将数据转换成消息或落地成文件进行存储分析。3.如权利要求2所述的基于Netty框架及Kafka机制的城轨信号智能运维数据系统,其特征在于,数据采集模块包括通信服务组件,通信服务组件包括:日志采集模块以及各子系统采集线程。4.如权利要求3所述的基于Netty框架及Kafka机制的城轨信号智能运维数据系统,其特征在于,数据采集模块采用Netty框架NIO异步非阻塞通讯模式封装的UDP、TCP或HTTP对原始数据进行采集,Netty框架的IO聚合了多路复用选择器Selector,能并发处理成百上千个数据源连接;当采集线程从某数据源Socket通道进行读写数据时,若没有数据可用时,该采集线程进行其他任务;采集线程将非阻塞IO的空闲时间用于在其他通道上执行IO操作,从而,单独的采集线程能管理多个输入和输出通道。5.如权利要求1

4任一项所述的基于Netty框架及Kafka机制的城轨信号智能运维数据系统,其特征在于,CRC校验模块使用的校验规则为循环冗余校验CRC,版本为CRC32;若是采集的数据通过CRC的校验,则进行后续的解析、日志存储以及Kafka信息推送流程;若是采集的数据未通过CRC的校验,则数据采集平台...

【专利技术属性】
技术研发人员:吴秋颜杨琛刘腾付观华赵红王会发刘春洋
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1