System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种多层级的车地无线系统数据存储系统、方法及存储介质技术方案_技高网

一种多层级的车地无线系统数据存储系统、方法及存储介质技术方案

技术编号:40768480 阅读:5 留言:0更新日期:2024-03-25 20:17
本发明专利技术提供一种多层级的车地无线系统数据存储、方法及存储介质。本发明专利技术方法包括:列车发送端发送列车数据帧至服务器;服务器中的Kafka消息队列模块接收列车发送端模块发送的列车数据帧,并将数据以队列的方式存储;服务器中的数据解析服务模块根据协议对Kafka中的数据帧进行解析,将得到数据分成元数据和列车数据,同时元数据和列车数据使用相同的id保证数据的关联性;服务器中的Redis缓存模块将数据解析服务模块解析出的数据缓存到内存中,方便读取和批量存储;服务器中的MySQL存储模块将元数据按照日期进行存储;服务器中的MongoDB存储模块以文件的形式按照相同表名和id存储列车数据。本发明专利技术降低系统耦合性、提高了系统性能,改善了故障排查效率并支持横向扩展。

【技术实现步骤摘要】

本专利技术涉及城市轨道交通,具体而言,尤其涉及一种多层级的车地无线系统数据存储、方法及存储介质。


技术介绍

1、近些年,城市轨道交通得到了飞速发展,随着国内城轨车辆逐步向数据化、智能化的方向发展,列车数据落地与使用也成为了地铁公司关注的焦点。列车的网络控制系统(tcms,train control and management system)作为整车数据的“主干道”起到了汇聚整车数据的作用。而tcms车地无线系统则是通过无线专网将tcms总线上的数据传输到地铁公司的地面服务器上,经过地面服务器解析后地面人员可通过tcms车地无线系统展示的状态数据、历史数据和统计数据对运行车辆进行监控、调度、指挥和管理。采用该种存储方法可实现单机tb级数据的高效存储、读取、统计、展示等全生命周期管理。如图1所示,为整体数据传输通道示意图。

2、如图2所示,现有tcms车地无线系统接收到专网传输的数据包后根据网络协议中进行直接解析,程序将解析后的数据直接存储到mysql关系型数据库,在web应用方面,mysql是最好的关系数据库管理系统之一。但mysql读写效率不满足系统对实时数据的需求,无法快速展示实时数据。该存储方案适用于分钟级发送频率、数据量mb级的tcms车地无线系统。

3、如图3所示,针对现有tcms车地无线系统,增加redis缓存层。redis是一个高性能的key-value数据库,读的速度是110000次/s,写的速度是81000次/s。但受限于mysql数据库,数据库单表存储上限为500gb左右,该存储方案适用于秒级发送频率、数据量gb级的tcms车地无线系统。

4、如图4所示,使用大数据架构,使用hadoop集群作为文件系统,上层使用hbase集群作为数据库,hbase是一个分布式的、面向列的开源数据库,使用kafka消息队列集群缓存列车发送过来的数据帧,kafka是一种高吞吐量的分布式发布订阅消息系统,它支持每秒数百万的消息。使用redis作为系统缓存。该架构适用于超大数据量场景,支持pb级数据存储及高容错,可整合多条地铁线路数据。但该方案需要三台以上服务器资源,硬件成本较高,不适合单条地铁线路。

5、然而上述现有技术存在如下缺陷:

6、1、接收数据性能有限:目前大部分线路接收的数据包周期都在几分钟或几秒之内,字节长度为5000以下居多。大连五号线数据包长度在8000以上,数据收发周期为500ms,普通单一的架构不能满足高性能的需要。

7、2、存储形式单一:大连五号线数据包分为元数据和具体列车数据。其中,元数据包括数据帧识别码、数据包长度、数据包类型、时间戳等;具体列车数据包含列车速度、网压、级位、站点、客室温度等上千种信息。mysql这种单一的存储形式无法展现信息的层级关系,同时列车数据产生过多的字段会导致表结构复杂,增加数据存储和查询的难度,同时也会影响数据库性能。

8、3、扩展性差:现有单机架构下mysql的扩展性差,搭建分布式结构困难。现场目前解析出来的单日数据量超过20gb,节假日可达30gb;无法满足未来大数据场景的需要。

9、4、大数据架构成本过高:大数据架构虽然能满足数据的高频发送和大量存储的要求,但架构太过复杂且硬件要求较高,对于单条线路对硬件成本和维护成本难以接受。


技术实现思路

1、根据上述提出的技术问题,提供一种多层级的车地无线系统数据存储、方法及存储介质。本专利技术根据列车数据帧格式将列车的元数据和数据设计多级存储,使用单机kafka消息队列来解决数据接收的性能瓶颈,使用redis数据库作为缓存来提高高频数据的读写效率;使用mysql数据库来存储数据包的元数据;使用mongodb数据库来存储列车上千种数据。同时为防止数据不断累积造成负载过大,对mysql和mongodb按日期进行分表。这种多级存储架构满足了系统对性能、安全等方面的要求,同时多级存储实现了数据间的解耦,提高了系统的容错性和排查效率。

2、本专利技术采用的技术手段如下:

3、一种多层级的车地无线系统数据存储系统,包括:电性连接的列车发送端模块、kafka消息队列模块、数据解析服务模块、redis缓存模块、mysql存储模块以及mongodb存储模块,其中:

4、所述列车发送端模块,用于发送列车数据帧至服务器;

5、所述kafka消息队列模块,用于接收列车发送端模块发送的列车数据帧,并将数据以队列的方式存储;

6、所述数据解析服务模块,用于根据协议对kafka中的数据帧进行解析,将得到数据分成元数据和列车数据,同时元数据和列车数据使用相同的id和表名,保证数据的关联性;

7、所述redis缓存模块,用于将数据解析服务模块解析出的数据缓存到内存中,方便读取和批量存储;

8、所述mysql存储模块,用于将元数据按照日期进行存储;

9、所述mongodb存储模块,用于以文件的形式按照相同日期表名和id存储列车数据。

10、进一步地,所述kafka消息队列模块的数据存储方式遵循先入先出原则。

11、进一步地,所述数据解析服务模块从队列中获取最早的一条数据进行解析,并将解析出的数据缓存到redis缓存模块后解析下一条,经过2秒后将解析出来的数据批量存储。

12、进一步地,所述元数据包括id、数据长度、数据版本、数据类型、地铁线路号、列车号、列车系统时间戳、飞行时间戳、数据帧长度、服务器时间。

13、进一步地,所述车辆数据包括id和车速、网压等列车相关字段。

14、进一步地,所述列车数据帧是由首部识别码、包头、各个子系统的当前状态数据帧、尾部识别码组成的集合。

15、本专利技术还提供了一种基于上述多层级的车地无线系统数据存储系统实现的多层级的车地无线系统数据存储方法,包括:

16、列车发送端发送列车数据帧至服务器;

17、服务器中的kafka消息队列模块接收列车发送端模块发送的列车数据帧,并将数据以队列的方式存储;

18、服务器中的数据解析服务模块根据协议对kafka中的数据帧进行解析,将得到数据分成元数据和列车数据,同时元数据和列车数据使用相同的id保证数据的关联性;

19、服务器中的redis缓存模块将数据解析服务模块解析出的数据缓存到内存中,方便读取和批量存储;

20、服务器中的mysql存储模块将元数据按照日期进行存储;

21、服务器中的mongodb存储模块以文件的形式按照相同表名和id存储列车数据。

22、本专利技术还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时,执行所述多层级的车地无线系统数据存储方法。

23、较现有技术相比,本专利技术具有以下优点:

24、1、本专利技术提供的多层级的车地无线系统数据存储系统,在成本较低的单机情况下,提高高频数据的接收、存储、本文档来自技高网...

【技术保护点】

1.一种多层级的车地无线系统数据存储系统,其特征在于,包括:电性连接的列车发送端模块、Kafka消息队列模块、数据解析服务模块、Redis缓存模块、MySQL存储模块以及MongoDB存储模块,其中:

2.根据权利要求1所述的多层级的车地无线系统数据存储系统,其特征在于,所述Kafka消息队列模块的数据存储方式遵循先入先出原则。

3.根据权利要求1所述的多层级的车地无线系统数据存储系统,其特征在于,所述数据解析服务模块从队列中获取最早的一条数据进行解析,并将解析出的数据缓存到Redis缓存模块后解析下一条,经过2秒后将解析出来的数据批量存储。

4.根据权利要求3所述的多层级的车地无线系统数据存储系统,其特征在于,所述元数据包括id、数据长度、数据版本、数据类型、地铁线路号、列车号、列车系统时间戳、飞行时间戳、数据帧长度、服务器时间。

5.根据权利要求3所述的多层级的车地无线系统数据存储系统,其特征在于,所述车辆数据包括id和车速、网压等列车相关字段。

6.根据权利要求1所述的多层级的车地无线系统数据存储系统,其特征在于,所述列车数据帧是由首部识别码、包头、各个子系统的当前状态数据帧、尾部识别码组成的集合。

7.一种基于权利要求1-6中任意一项权利要求所述多层级的车地无线系统数据存储系统实现的多层级的车地无线系统数据存储方法,其特征在于,包括:

8.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时,执行所述权利要求7所述的方法。

...

【技术特征摘要】

1.一种多层级的车地无线系统数据存储系统,其特征在于,包括:电性连接的列车发送端模块、kafka消息队列模块、数据解析服务模块、redis缓存模块、mysql存储模块以及mongodb存储模块,其中:

2.根据权利要求1所述的多层级的车地无线系统数据存储系统,其特征在于,所述kafka消息队列模块的数据存储方式遵循先入先出原则。

3.根据权利要求1所述的多层级的车地无线系统数据存储系统,其特征在于,所述数据解析服务模块从队列中获取最早的一条数据进行解析,并将解析出的数据缓存到redis缓存模块后解析下一条,经过2秒后将解析出来的数据批量存储。

4.根据权利要求3所述的多层级的车地无线系统数据存储系统,其特征在于,所述元数据包括id、数...

【专利技术属性】
技术研发人员:李哲马悦李美华
申请(专利权)人:中车大连电力牵引研发中心有限公司
类型:发明
国别省市:

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

1