一种城铁列车的微机网络大数据存取方法技术

技术编号:38349526 阅读:10 留言:0更新日期:2023-08-02 09:29
本发明专利技术涉及数据存储技术领域,尤其是一种城铁列车的微机网络大数据存取方法,包括以下步骤:采集列车总线数据并将其压入循环缓冲队列;在内存中开辟一段内存池,并将所有数据导入内存池中;启动一个子进程,使用内存池的数据对池内数据进行压缩处理;检测是否断电:若断电,子进程则直接退出;若未断电,则将数据存盘并给主进程发布通知,主进程接收到通知后,删除内存池统计字典中的对应元素,当检测到设备断电信号后,将剩余元素直接存盘处理。本发明专利技术充分利用CPU内存,最小化磁盘擦写放大因子,最大化磁盘使用寿命,使得磁盘使用寿命根据压缩比率进行成倍提升。缩比率进行成倍提升。缩比率进行成倍提升。

【技术实现步骤摘要】
一种城铁列车的微机网络大数据存取方法


[0001]本专利技术涉及数据存储
,尤其涉及一种城铁列车的微机网络大数据存取方法。

技术介绍

[0002]随着我国城铁列车技术的不断升级,用于列车寿命预测,故障诊断等功能的列车健康诊断系统(PHM系统)已经成为列车标配系统。PHM系统通常是由车载微机网络的各个子系统(车门、牵引、制动等20余种子系统),车载PHM专家系统主机,车地通讯无线通道和地面PHM运维服务器组成。
[0003]其中车载PHM专家系统主机作为系统核心,实现高速数据采集、存储、模型计算和数据远传的功能。其中,由于列车中的子系统较多,通讯数据量大,实时性高,实时采集的数据规模一般都较大,又因为无论对模型计算还是数据远传的原始数据帧丢包回滚,大规模数据的存取都是车载PHM专家系统主机的运作核心。
[0004]目前该技术使用的普遍方法是:在PHM专家系统主机中使用工业级固态硬盘作为存取介质,使用以太网和MVB车辆总线,高速采集所有列车子系统的数据,采集后打入时间戳,然后经过短暂缓存(一般为1s),将数据实时写入磁盘存储。
[0005]由于工业级固态硬盘通常较小,而数据采集的吞吐量通常较大,因此,磁盘会在较短时间内写满,然后滚动擦除旧数据写入新数据。但是由于写入数据的碎片较多,磁盘擦写的写入放大因子较大,磁盘寿命减少过快,影响列车的整体维护和检修成本。
[0006]因此,设计一种城铁列车的微机网络大数据存取方法成为了本领域技术人员亟待解决的技术问题。

技术实现思路

>[0007]本专利技术所要解决的技术问题是克服现有技术中存在的不足,提供一种城铁列车的微机网络大数据存取方法,包括以下步骤:
[0008]S1:使用车载PHM专家系统主机在主进程内采集列车总线数据并将数据压入循环缓冲队列;
[0009]S2:主进程定期检测S1中的循环缓冲队列,当循环缓冲队列有数据,则在内存中开辟一段内存池,随后清空循环缓冲队列并将所有数据导入内存池中;
[0010]S3:在CPU的其他处理核内启动一个子进程,子进程完全复制主CPU的应用环境,并将S2中内存池的数据传入子进程接口;
[0011]S4:S3的子进程的启动后,使用S2中内存池的数据对池内数据进行压缩处理,压缩完毕后立刻释放内存池缓冲内存;
[0012]S5:检测是否断电:若断电,子进程则直接退出;若未断电,则将在内存中压缩好的数据内容存盘;
[0013]S6:数据内容存盘完成后,通过系统的消息队列给主进程发布通知,主进程接收到
通知后,删除内存池统计字典中的对应元素,并当检测到设备断电信号后,将数据池字典中的剩余所有元素不经压缩直接存盘处理,当设备再次通电后,主程序会分出子线程检测是否存在未压缩的数据,将其压缩后并删除原数据。
[0014]根据上述技术方案,优选地,步骤S2中主进程每间隔500ms检测S1中的循环缓冲队列。
[0015]根据上述技术方案,优选地,步骤S2与步骤S3之间需间隔15分钟。
[0016]根据上述技术方案,优选地,步骤S6中检测到设备断电信号后,需延迟1.5s,再将数据池字典中的剩余所有元素不经压缩直接存盘处理。
[0017]根据上述技术方案,优选地,子进程为多个。
[0018]本专利技术的有益效果是:本专利技术通过将内存池中的数据进行压缩处理、删除内存池统计字典中的对应元素以及删除压缩后原数据等方式,充分利用CPU内存,从而最小化磁盘擦写放大因子,最大化磁盘使用寿命,与目前的现有技术相比,能够使得磁盘的使用寿命根据压缩比率进行成倍提升。
附图说明
[0019]图1是本专利技术的流程图;
[0020]图2为原始数据帧提取格式的示意图。
具体实施方式
[0021]为了使本
的技术人员更好地理解本专利技术的技术方案,下面结合附图和最佳实施例对本专利技术作进一步的详细说明。基于专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于专利技术保护的范围。
[0022]如图1所示,本专利技术提供了一种城铁列车的微机网络大数据存取方法,包括以下步骤:
[0023]S1:使用车载PHM专家系统主机在主进程内采集列车总线数据并将数据压入循环缓冲队列;
[0024]S2:主进程定期检测S1中的循环缓冲队列,当循环缓冲队列有数据,则在内存中开辟一段内存池,随后清空循环缓冲队列并将所有数据导入内存池中;
[0025]S3:在CPU的其他处理核内启动一个子进程,子进程完全复制主CPU的应用环境,并将S2中内存池的数据传入子进程接口;
[0026]S4:S3的子进程的启动后,使用S2中内存池的数据对池内数据进行压缩处理,压缩完毕后立刻释放内存池缓冲内存;
[0027]S5:检测是否断电:若断电,子进程则直接退出;若未断电,则将在内存中压缩好的数据内容存盘;
[0028]S6:数据内容存盘完成后,通过系统的消息队列给主进程发布通知,主进程接收到通知后,删除内存池统计字典中的对应元素,并当检测到设备断电信号后,将数据池字典中的剩余所有元素不经压缩直接存盘处理,当设备再次通电后,主程序会分出子线程检测是否存在未压缩的数据,将其压缩后并删除原数据。
[0029]根据上述实施例,优选地,步骤S2中主进程每间隔500ms检测步骤S1中的循环缓冲
队列。
[0030]根据上述实施例,优选地,步骤S2与步骤S3之间需间隔15分钟。
[0031]根据上述实施例,优选地,步骤S6中检测到设备断电信号后,需延迟1.5s,再将数据池字典中的剩余所有元素不经压缩直接存盘处理。
[0032]根据上述实施例,优选地,由于数据压缩时间较长,数据压缩期间可能产生其他内存池并行处理,因此子进程为多个,各个子进程完成所有处理后自行退出。
[0033]因为主进程需要处理的内容较多,数据压缩又会特别占用CPU,通常会将主进程所在处理核占满,导致主进程其他处理延迟。所以需要利用多核CPU的特性,分核处理数据压缩核存盘,这样最大化处理效率。由于所有压缩在内存操作,并将压缩内容一并存盘,磁盘写入放大因子最小,最大化磁盘使用寿命。
[0034]适用于上述方法的硬件为在电源部分增加电源管理芯片和超级电容的车载PHM专家系统主机,使得主机能够检测电源给电或者断电状态,并在设备断电期间通过超级电容实现短暂续航(大约15~30秒),从而使主机获得在断电情况下,有足够时间处理执行内部软件的能力。
[0035]地铁某线使用的车载PHM专家系统主机搭配64G硬盘,2核处理器,1G内存,对全车MVB总线和以太网总线进行完整的数据抓取同时存储和远传,数据存储量为每半个小时110MByte。存储后在硬盘内完成压缩后删除原数据,压缩后数据量为每半个小时18MByte左右。运营1年零2个月后,磁盘寿命已经消耗掉了31%,按照这个速度,磁盘整个寿命将不到4年。而当其更新为本专利技术本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种城铁列车的微机网络大数据存取方法,其特征在于,包括以下步骤:S1:使用车载PHM专家系统主机在主进程内采集列车总线数据并将数据压入循环缓冲队列;S2:主进程定期检测S1中的循环缓冲队列,当循环缓冲队列有数据,则在内存中开辟一段内存池,随后清空循环缓冲队列并将所有数据导入内存池中;S3:在CPU的其他处理核内启动一个子进程,子进程完全复制主CPU的应用环境,并将S2中内存池的数据传入子进程接口;S4:S3的子进程的启动后,使用S2中内存池的数据对池内数据进行压缩处理,压缩完毕后立刻释放内存池缓冲内存;S5:检测是否断电:若断电,子进程则直接退出;若未断电,则将在内存中压缩好的数据内容存盘;S6:数据内容存盘完成后,通过系统的消息队列给主进程发布通知,主进程接收到通知后,删除内存池统计字典...

【专利技术属性】
技术研发人员:张钰李卓函王小东李华龙
申请(专利权)人:苏州连世创智科技有限公司
类型:发明
国别省市:

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

1