铁路信号电气设备数据的快速存储与查询方法技术

技术编号:21059939 阅读:25 留言:0更新日期:2019-05-08 06:49
本发明专利技术提供了一种铁路信号电气设备数据的快速存储与查询方法,该铁路信号电气设备数据的快速存储方法包括:创建空数据文件;根据数据类型,将数据记录按时间顺序存储在空数据文件的数据块中;将数据块分为若干子数据块;抽取子数据块中的第一条数据记录的存储时间和位置偏移量作为索引记录;将索引记录存储在空数据文件的索引块中;该铁路信号电气设备数据的查询方法包括:文件读取器根据输入的数据类型获得所有对应的索引块,再根据输入的时间参数获得所述索引块中对应的索引记录;根据所述索引记录遍历相应的数据块,搜索到相应的子数据块,解压缩所述子数据块的数据记录,返回数据集合。本发明专利技术具有实用性强、循环存储和快速定位的优点。

【技术实现步骤摘要】
铁路信号电气设备数据的快速存储与查询方法
本专利技术涉及数据存储与查询
,具体的说,涉及了一种铁路信号电气设备数据的快速存储与查询方法。
技术介绍
铁路信号设备的数据主要分为开关量、模拟量和记录曲线数据,这三种数据的形态各不相同。开关量是有三种模态:未知、吸起和落下;模拟量是连续的线性数据;记录曲线是多组数据的集合。这类数据即庞大又繁杂,需要满足循环存储且能适应车站不同数据版本的需求,版本不同各类数据的总量及顺序也不同,迫切需要找一种数据存储方式能够完整记录这三种类型的数据并且具备快速存储和查询的功能。为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
技术实现思路
本专利技术的目的是针对现有技术的不足,从而提供一种铁路信号电气设备数据的快速存储与查询方法。为了实现上述目的,本专利技术所采用的技术方案是:一种铁路信号电气设备数据的快速存储与查询方法,该铁路信号电气设备数据的快速存储方法包括:创建空数据文件,以循环存储铁路信号电气设备数据;所述空数据文件包括若干数据块和若干索引块;将待存储的铁路信号电气设备数据转换为二进制数组后,进行压缩处理,作为数据记录;根据数据类型,将所述数据记录按时间顺序存储在所述空数据文件的数据块中;将所述数据块分为若干子数据块;每个所述子数据块包含N条数据记录;抽取所述子数据块中的第一条数据记录的存储时间和位置偏移量作为索引记录;将所述索引记录存储在所述空数据文件的索引块中;该铁路信号电气设备数据的查询方法包括:创建文件读取器,用户输入数据类型和时间参数;所述文件读取器根据输入的数据类型获得所有对应的索引块,再根据输入的时间参数获得所述索引块中对应的索引记录;根据所述索引记录遍历相应的数据块,搜索到相应的子数据块,解压缩所述子数据块的数据记录,返回数据集合。基于上述,所述数据块分为开关量数据块、模拟量数据块和记录曲线数据块;所述索引块分为开关量索引块、模拟量索引块和记录曲线索引块;所述开关量数据块与开关量索引块,所述模拟量数据块与所述模拟量索引块,所述记录曲线数据块与所述记录曲线索引块,一一对应。基于上述,所述空数据文件包括数据块数量、数据块大小、索引间隔和数据类型集合。基于上述,所述铁路信号电气设备数据的快速存储方法具体包括以下步骤:步骤a,输入待存储的数据记录,若所述数据记录的数据类型为已定义的数据类型,则转步骤b;否则将所述数据记录的数据类型存储在所述数据类型集合中,并为该数据类型分配空的数据块和索引块,然后转步骤b;步骤b,若所述数据类型不是事件类型,则转步骤c;否则在所有数据类型的数据块中增加一条事件记录,结束铁路信号电气设备数据的存储流程;步骤c,若所述数据类型对应的数据块或者索引块均未写满,则转步骤e;否则,获取下一个空数据文件的写入器,写入溢出数据记录,结束铁路信号电气设备数据的存储流程;步骤e,若不满足写索引记录的要求,则获取所述数据类型对应的数据块,转步骤f;否则获取所述数据类型对应的索引块,判断所述索引块的剩余空间是否满足存储需要:若满足存储需要,则直接将所述索引记录压缩后写入所述索引块中,更新所述索引块的已用空间,转步骤h;若不满足存储需要,则分配新的索引块,将所述索引记录压缩后写入所述索引块中,更新所述索引块的已用空间,转步骤h;步骤f,若所述数据块的剩余空间满足存储需要,则步骤g;否则,分配新的数据块,然后转步骤g;步骤g,将待存储的铁路信号电气设备数据转换为二进制数组后,进行压缩处理,写入所述数据块中;更新所述数据类型的写入偏移指针,然后转步骤h;步骤h,更新文件头、数据类型表和块分配表,结束铁路信号电气设备数据的存储流程。本专利技术相对现有技术具有突出的实质性特点和显著的进步,具体的说,本专利技术提供了一种铁路信号电气设备数据的快速存储与查询方法,设计了一套带压缩的二进制文件存储结构,将所有数据转换成二进制数组,循环存储不同类型的数据;读取时利用要获取的数据类型和时间范围先读取索引块,从索引块中读取到临近的索引记录,根据索引记录的记录信息从而快速定位到数据记录,实现高效的数据查询获取方式。附图说明图1是本专利技术的数据存储方法的流程示意图。图2是本专利技术的数据查询方法的流程示意图。具体实施方式下面通过具体实施方式,对本专利技术的技术方案做进一步的详细描述。实施例1如附图1和附图2所示,一种铁路信号电气设备数据的快速存储与查询方法,该铁路信号电气设备数据的快速存储方法包括:创建空数据文件,以循环存储铁路信号电气设备数据;所述空数据文件包括若干数据块和若干索引块;将待存储的铁路信号电气设备数据转换为二进制数组后,进行压缩处理,作为数据记录;根据数据类型,将所述数据记录按时间顺序存储在所述空数据文件的数据块中;将所述数据块分为若干子数据块;每个所述子数据块包含N条数据记录;抽取所述子数据块中的第一条数据记录的存储时间和位置偏移量作为索引记录;将所述索引记录存储在所述空数据文件的索引块中;该铁路信号电气设备数据的查询方法包括:创建文件读取器,用户输入数据类型和时间参数;所述文件读取器根据输入的数据类型获得所有对应的索引块,再根据输入的时间参数获得所述索引块中对应的索引记录;根据所述索引记录遍历相应的数据块,搜索到相应的子数据块,解压缩所述子数据块的数据记录,返回数据集合。具体的,所述数据块分为开关量数据块、模拟量数据块和记录曲线数据块;所述索引块分为开关量索引块、模拟量索引块和记录曲线索引块;所述开关量数据块与开关量索引块,所述模拟量数据块与所述模拟量索引块,所述记录曲线数据块与所述记录曲线索引块,一一对应。具体的,所述数据记录为预设时间区域内开关量数据、模拟量数据或者记录曲线数据的数据集合。索引记录便于在读取中能够通过索引记录能够快速定位到目的数据记录上,提升读取速度。实施例2所述铁路信号电气设备数据的快速存储方法具体包括以下步骤:步骤a,输入待存储的数据记录,若所述数据记录的数据类型为已定义的数据类型,则转步骤b;否则将所述数据记录的数据类型存储在所述数据类型集合中,并为该数据类型分配空的数据块和索引块,然后转步骤b;步骤b,若所述数据类型不是事件类型,则转步骤c;否则在所有数据类型的数据块中增加一条事件记录,结束铁路信号电气设备数据的存储流程;步骤c,若所述数据类型对应的数据块或者索引块均未写满,则转步骤e;否则,获取下一个空数据文件的写入器,写入溢出数据记录,结束铁路信号电气设备数据的存储流程;步骤e,若不满足写索引记录的要求,则获取所述数据类型对应的数据块,转步骤f;否则获取所述数据类型对应的索引块,判断所述索引块的剩余空间是否满足存储需要:若满足存储需要,则直接将所述索引记录压缩后写入所述索引块中,更新所述索引块的已用空间,转步骤h;若不满足存储需要,则分配新的索引块,将所述索引记录压缩后写入所述索引块中,更新所述索引块的已用空间,转步骤h;步骤f,若所述数据块的剩余空间满足存储需要,则步骤g;否则,分配新的数据块,然后转步骤g;步骤g,将待存储的铁路信号电气设备数据转换为二进制数组后,进行压缩处理,写入所述数据块中;更新所述数据类型的写入偏移指针,然后转步骤h;步骤h,更新文件头、数据类型表和块分配表,结束铁路信号电气设备数据的存储流程。每本文档来自技高网...

【技术保护点】
1.一种铁路信号电气设备数据的快速存储与查询方法,其特征在于,该铁路信号电气设备数据的快速存储方法包括:创建空数据文件,以循环存储铁路信号电气设备数据;所述空数据文件包括若干数据块和若干索引块;将待存储的铁路信号电气设备数据转换为二进制数组后,进行压缩处理,作为数据记录;根据数据类型,将所述数据记录按时间顺序存储在所述空数据文件的数据块中;将所述数据块分为若干子数据块;每个所述子数据块包含N条数据记录;抽取所述子数据块中的第一条数据记录的存储时间和位置偏移量作为索引记录;将所述索引记录存储在所述空数据文件的索引块中;该铁路信号电气设备数据的查询方法包括:创建文件读取器,用户输入数据类型和时间参数;所述文件读取器根据输入的数据类型获得所有对应的索引块,再根据输入的时间参数获得所述索引块中对应的索引记录;根据所述索引记录遍历相应的数据块,搜索到相应的子数据块,解压缩所述子数据块的数据记录,返回数据集合。

【技术特征摘要】
1.一种铁路信号电气设备数据的快速存储与查询方法,其特征在于,该铁路信号电气设备数据的快速存储方法包括:创建空数据文件,以循环存储铁路信号电气设备数据;所述空数据文件包括若干数据块和若干索引块;将待存储的铁路信号电气设备数据转换为二进制数组后,进行压缩处理,作为数据记录;根据数据类型,将所述数据记录按时间顺序存储在所述空数据文件的数据块中;将所述数据块分为若干子数据块;每个所述子数据块包含N条数据记录;抽取所述子数据块中的第一条数据记录的存储时间和位置偏移量作为索引记录;将所述索引记录存储在所述空数据文件的索引块中;该铁路信号电气设备数据的查询方法包括:创建文件读取器,用户输入数据类型和时间参数;所述文件读取器根据输入的数据类型获得所有对应的索引块,再根据输入的时间参数获得所述索引块中对应的索引记录;根据所述索引记录遍历相应的数据块,搜索到相应的子数据块,解压缩所述子数据块的数据记录,返回数据集合。2.根据权利要求1所述的铁路信号电气设备数据的快速存储与查询方法,其特征在于:所述数据块分为开关量数据块、模拟量数据块和记录曲线数据块;所述索引块分为开关量索引块、模拟量索引块和记录曲线索引块;所述开关量数据块与开关量索引块,所述模拟量数据块与所述模拟量索引块,所述记录曲线数据块与所述记录曲线索引块,一一对应。3.根据权利要求1所述的铁路信号电气设备数据的快速存储与查询方法,其特征在于:所述空数据文件包括数据块数量、数据块大小、索引间隔和数据类型集合。4....

【专利技术属性】
技术研发人员:张硕刘伟石成
申请(专利权)人:河南辉煌科技股份有限公司
类型:发明
国别省市:河南,41

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

1