支持双维度查询海量监测数据的存储方法技术

技术编号:21089493 阅读:29 留言:0更新日期:2019-05-11 09:56
本发明专利技术提供了一种支持双维度查询海量监测数据的存储方法,用于工业监测类系统实时采集数据时历史数据的存储及查询。该存储方法包括:创建数据文件群和索引文件;所述数据文件群包括按时间顺序排列的若干个数据文件;每个数据文件均包括若干数据块,每个数据块按采集点分为若干个子数据块;每个子数据块按采集点的ID顺序存储,同时存储有数据点的目录及索引信息;将一段时间内采集的历史数据存储在数据文件的同一数据块中;索引文件记录数据文件中数据的时间信息。该存储方式具有支持双维度查询和检索高效的优点。

Storage Method for Supporting Two-Dimensional Query of Massive Monitoring Data

【技术实现步骤摘要】
支持双维度查询海量监测数据的存储方法
本专利技术涉及海量监测数据存储与查询
,具体的说,涉及了一种支持双维度查询海量监测数据的存储方法。
技术介绍
铁路信号集中监测系统需要将采集到的状态量数据和模拟量数据,转换为浮点数和整数存储起来。但是,需要采集的路数较多,通常在几千路到几万路不等;且采集周期短,通常1秒钟左右,有时可能会更短。那么,采集的数据量就很大,一年最高就可达上万亿条数据,对于采集后数据的存储和后续的查询,都提出了很高的要求。目前,铁路信号集中监测系统铁路信号集中监测系统需要对存储后的历史数据从两个不同的维度进行查询,分别为:(1)从单点数据的维度:查询单个或几个少数数据点长时间跨度的数据,时间范围从几分钟到几天不等,可以认为从“纵向”对数据进行查询。(2)从多点数据的维度:查询多个数据点或所有数据点一个较短时间范围内的数据,查询范围通常在一个小时以内,可以认为从“横向”对数据进行查询。但是,通常采用的关系型数据库,按库表的方式存储,无法满足上述要求。为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
技术实现思路
本专利技术的目的是针对现有技术的不足,从而提供一种支持双维度查询海量监测数据的存储方法。为了实现上述目的,本专利技术所采用的技术方案是:一种支持双维度查询海量监测数据的存储方法,用于存储工业监测类系统采集的历史数据,包括:创建数据文件群和索引文件;所述数据文件群包括按时间顺序排列的若干个数据文件;每个数据文件均包括若干个数据块,按采集点将数据块分为若干个子数据块;一个子数据块存储一个采集点一段时间的历史数据,每个子数据块按ID顺序存储在数据块中;获取采集设备的历史数据,将所述历史数据存储在同一个数据块中;根据预设条件,当一个数据文件存储完毕后,将该数据文件中所有记录的时间信息存储在所述索引文件中。基于上述,将所采集设备抽象处理为模拟量数据或状态量数据;所述模拟量数据包括开状态数据和模拟量数据,所述状态量数据包括继电器的触点状态、信号灯所显示的颜色信息等可以用计算机整数表示的数据,所述模拟量数据包括电压值和电流值等可以用计算机浮点数表示的数据;所述数据块包括子数据块1、子数据块2……子数据块n;所述子数据块n用于存储第n个采集点的历史数据,该第n个采集点的历史数据抽象为:数据点11、数据点12……数据点1n;其中,每个数据点存储数据的值及该值的时间信息。本专利技术相对现有技术具有突出的实质性特点和显著的进步,具体的说:1)本专利技术提供了一种支持双维度查询海量监测数据的存储方法,用于存储工业监测类系统所采集的历史数据,满足了对存储后的历史数据从两个不同的维度进行查询;2)纵向数据查询为:查询单个或几个数据点长时间跨度的数据,此类查询的特点是时间跨度长,数据点少;由于,本专利技术中单个数据点的数据记录在数据文件的数据块中是存放在一起的,一次便可以读取单个数据点一段时间的所有数据,极大地提高了单点数据的查询速度;3)横向数据查询为:查询多个数据点或所有数据点在一个较短时间范围内的数据,时间范围从几秒钟到几个小时不等,此类查询的特点是时间跨度比较短,数据点多;由于,本专利技术中一个数据块中存放了所有数据点在一个时间段内的所有历史数据,进一步加快了数据的查询速度。具体实施方式下面通过具体实施方式,对本专利技术的技术方案做进一步的详细描述。实施例1一种支持双维度查询海量监测数据的存储方法,用于存储工业监测类系统所采集的历史数据,包括:创建数据文件群和索引文件;所述数据文件群包括按时间顺序排列的若干个数据文件;每个数据文件均包括若干个数据块,按采集点将数据块分为若干个子数据块;一个子数据块存储一个采集点一段时间的历史数据,每个子数据块按ID顺序存储在数据块中。获取采集设备的历史数据,将所述历史数据存储在同一个数据块中;其中,将所采集设备抽象处理为模拟量数据或状态量数据;所述模拟量数据包括开状态数据和模拟量数据,所述状态量数据包括继电器的触点状态、信号灯所显示的颜色信息等可以用计算机整数表示的数据,所述模拟量数据包括电压值和电流值等可以用计算机浮点数表示的数据;所述数据块包括子数据块1、子数据块2……子数据块n;所述子数据块n用于存储第n个采集点的历史数据,该第n个采集点的历史数据抽象为:数据点11、数据点12……数据点1n;其中,每个数据点存储数据的值及该值的时间信息。根据预设条件,当一个数据文件存储完毕后,将该数据文件中所有记录的时间信息存储在所述索引文件中。具体的,每个所述数据块还包括数据点索引表,所述数据点索引表依次存储数据点总数、数据点ID号、数据点的数据偏移和数据点的数据长度。每个所述数据块存储预设时间范围内的火车车站的地面电气设备及信号设备的历史数据。所述预设时间范围根据实际情况,从几分钟到24小时灵活调整。对存储后的历史数据从两个不同的维度进行查询;(1)纵向数据查询为:查询单个数据点长时间跨度的数据,时间跨度从几秒钟到一个月甚至一年;此类查询的特点是时间跨度长,数据点少;查询方法为:输入待查询数据点的名称和时间范围;根据该时间范围读取索引文件,遍历从时间范围的开始时间到结束时间中包含的数据文件列表;逐个读取数据文件列表中的数据文件,从数据文件中获取需要查询历史数据,然后按顺序合并数据即可;单个数据文件的读取流程如下:1)打开数据文件,读取该数据文件的目录块,获取该数据文件的开始时间和结束时间范围内的所有目录项列表;2)遍历所述目录列表中的数据块,根据所述目录列表中的“数据块在文件中的偏移”信息,将文件读取指针移动到数据块在该数据文件中的偏移位置,读取该数据块头部的数据点索引表,获得待查询数据点在该数据块中的偏移位置,然后读取数据点的数据;3)按顺序合并所有数据块中的数据;返回本数据文件中读取到的数据;由于,在每个数据块的数据点索引表中的数据点是按ID顺序存放,在查询时,可用二分法加快查找速度。由于,本专利技术中单个数据点的数据记录在数据文件的数据块中是存放在一起的,一次便可以读取单个数据点一段时间的所有数据,极大地提高了单点数据的查询速度;(2)横向数据查询为:查询多个数据点或所有数据点在一个较短时间范围内的数据,时间范围从几秒钟到几个小时不等,此类查询的特点是时间跨度比较短,数据点多;查询方法为:输入多个待查询的数据点的名称和时间范围;根据该时间范围读取索引文件,遍历从时间范围的开始时间到结束时间中包含的数据文件列表;逐个读取数据文件列表中的数据文件,从数据文件中获取所有符合条件的数据点历史数据,然后按顺序合并数据即可;单个数据文件的读取流程如下:1)打开数据文件,读取该数据文件的目录块,获取该数据文件的开始时间和结束时间范围内的所有目录项列表;2)遍历所述目录列表中的数据块,根据所述目录列表中的“数据块在文件中的偏移”信息,将文件读取指针移动到数据块在该数据文件中的偏移位置,将整个数据块读取到计算机的内存中;3)根据内存中数据块的数据点的数据点索引表,从数据点索引表中筛选待查询的数据点的数据;由于此时是在内存中操作,挑选数据点速度不受磁盘的限制;4)按顺序合并所有内存中符合条件的数据;返回本数据文件中读取到的数据。实施例2本实施例与实施例1的区别在于:所述索引文件包括索引文件头、文本文档来自技高网...

【技术保护点】
1.一种支持双维度查询海量监测数据的存储方法,用于存储工业监测类系统采集的历史数据,其特征在于,包括:创建数据文件群和索引文件;所述数据文件群包括按时间顺序排列的若干个数据文件;每个数据文件均包括若干个数据块,按采集点将数据块分为若干个子数据块;一个子数据块存储一个采集点一段时间的历史数据,每个子数据块按ID顺序存储在数据块中;获取采集设备的历史数据,将所述历史数据存储在同一个数据块中;根据预设条件,当一个数据文件存储完毕后,将该数据文件中所有记录的时间信息存储在所述索引文件中。

【技术特征摘要】
1.一种支持双维度查询海量监测数据的存储方法,用于存储工业监测类系统采集的历史数据,其特征在于,包括:创建数据文件群和索引文件;所述数据文件群包括按时间顺序排列的若干个数据文件;每个数据文件均包括若干个数据块,按采集点将数据块分为若干个子数据块;一个子数据块存储一个采集点一段时间的历史数据,每个子数据块按ID顺序存储在数据块中;获取采集设备的历史数据,将所述历史数据存储在同一个数据块中;根据预设条件,当一个数据文件存储完毕后,将该数据文件中所有记录的时间信息存储在所述索引文件中。2.根据权利要求1所述的支持双维度查询海量监测数据的存储方法,其特征在于:将所采集设备抽象处理为模拟量数据或状态量数据;所述模拟量数据包括开状态数据和模拟量数据,所述状态量数据包括继电器的触点状态、信号灯所显示的颜色信息等可以用计算机整数表示的数据,所述模拟量数据包括电压值和电流值等可以用计算...

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

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

1