CN109739811A - 支持双维度查询海量监测数据的存储方法 - Google Patents

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

Info

Publication number
CN109739811A
CN109739811A CN201811509713.5A CN201811509713A CN109739811A CN 109739811 A CN109739811 A CN 109739811A CN 201811509713 A CN201811509713 A CN 201811509713A CN 109739811 A CN109739811 A CN 109739811A
Authority
CN
China
Prior art keywords
data
block
file
point
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811509713.5A
Other languages
English (en)
Other versions
CN109739811B (zh
Inventor
张鲲鹏
刘伟
石成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Henan Splendor Science and Technology Co Ltd
Original Assignee
Henan Splendor Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Henan Splendor Science and Technology Co Ltd filed Critical Henan Splendor Science and Technology Co Ltd
Priority to CN201811509713.5A priority Critical patent/CN109739811B/zh
Publication of CN109739811A publication Critical patent/CN109739811A/zh
Application granted granted Critical
Publication of CN109739811B publication Critical patent/CN109739811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

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

Description

支持双维度查询海量监测数据的存储方法
技术领域
本发明涉及海量监测数据存储与查询技术领域,具体的说,涉及了一种支持双维度查询海量监测数据的存储方法。
背景技术
铁路信号集中监测系统需要将采集到的状态量数据和模拟量数据,转换为浮点数和整数存储起来。但是,需要采集的路数较多,通常在几千路到几万路不等;且采集周期短,通常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的区别在于:所述索引文件包括索引文件头、文件目录项数目和若干文件目录项;
一个文件目录项对应描述一个数据文件的开始时间、开始记录号、结束时间和结束记录号。
索引文件对多个数据文件中的数据进行描述,描述了各个数据文件中数据的开始和结束时间。查询数据时,先根据索引文件的内容,查找数据文件,可以避免遍历数据文件,加快查找速度。
所述数据文件包括:文件头,目录块,数据块。整个数据文件包括文件头、目录块和数据块,其中,文件头仅有一个,位于文件头部,大小固定。一个目录块描述多个数据块的数据信息,一个目录块可描述的数据块数目固定。当目录块中的目录项写满后,生成新的目录块,各个目录块首尾串接成一个单向链表。数据文件的整体结构如下表所示:
文件头格式:文件头对整个数据文件进行全局性的描述,记录了整个数据文件存储的数据的时间范围,数据文件的物理顺序,首目录块的位置等信息。其中“文件序号”为文件生成的物理顺序,每生成一个新的数据文件,文件号增一。文件头的整体结构如下表所示:
目录块:目录块由目录块标识、版本、目录块描述的数据的开始和结束时间、下一个目录块位置及目录项列表组成。一个目录块描述了固定数目的数据块的信息,具体数目根据需要设定。目录块的格式如下表所示:
目录项列表的格式如下表所示:
数据块:根据系统设定,将一段时间范围(10分钟到两个小时)内的所有数据存储到一条记录数据块中;在数据块中,各个数据点的数据记录顺序存放,数据块的头部有各个数据点的索引信息。数据块的结构如下表所示:
数据点索引表的结构如下表所示:
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。

Claims (5)

1.一种支持双维度查询海量监测数据的存储方法,用于存储工业监测类系统采集的历史数据,其特征在于,包括:
创建数据文件群和索引文件;所述数据文件群包括按时间顺序排列的若干个数据文件;
每个数据文件均包括若干个数据块,按采集点将数据块分为若干个子数据块;
一个子数据块存储一个采集点一段时间的历史数据,每个子数据块按ID顺序存储在数据块中;
获取采集设备的历史数据,将所述历史数据存储在同一个数据块中;
根据预设条件,当一个数据文件存储完毕后,将该数据文件中所有记录的时间信息存储在所述索引文件中。
2.根据权利要求1所述的支持双维度查询海量监测数据的存储方法,其特征在于:将所采集设备抽象处理为模拟量数据或状态量数据;
所述模拟量数据包括开状态数据和模拟量数据,所述状态量数据包括继电器的触点状态、信号灯所显示的颜色信息等可以用计算机整数表示的数据,所述模拟量数据包括电压值和电流值等可以用计算机浮点数表示的数据;
所述数据块包括子数据块1、子数据块2……子数据块n;
所述子数据块n用于存储第n个采集点的历史数据,该第n个采集点的历史数据抽象为:数据点11、数据点12……数据点1n;其中,每个数据点存储数据的值及该值的时间信息。
3.根据权利要求2所述的支持双维度查询海量监测数据的存储方法,其特征在于:每个所述数据块还包括数据点索引表,所述数据点索引表依次存储数据点总数、数据点ID号、数据点的数据偏移和数据点的数据长度。
4.根据权利要求1所述的支持双维度查询的海量监测数据的存储方法,其特征在于:每个所述数据块存储预设时间范围内的所采集的所有设备的历史数据。
5.根据权利要求1所述的支持双维度查询海量监测数据的存储方法,其特征在于:所述索引文件包括索引文件头、文件目录项数目和若干文件目录项;
一个文件目录项对应描述一个数据文件的开始时间、开始记录号、结束时间和结束记录号。
CN201811509713.5A 2018-12-11 2018-12-11 支持双维度查询海量监测数据的存储方法 Active CN109739811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811509713.5A CN109739811B (zh) 2018-12-11 2018-12-11 支持双维度查询海量监测数据的存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811509713.5A CN109739811B (zh) 2018-12-11 2018-12-11 支持双维度查询海量监测数据的存储方法

Publications (2)

Publication Number Publication Date
CN109739811A true CN109739811A (zh) 2019-05-10
CN109739811B CN109739811B (zh) 2023-03-14

Family

ID=66358789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811509713.5A Active CN109739811B (zh) 2018-12-11 2018-12-11 支持双维度查询海量监测数据的存储方法

Country Status (1)

Country Link
CN (1) CN109739811B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110057407A (zh) * 2019-05-27 2019-07-26 山东黄河河务局工程建设中心 一种大坝安全监测方法及系统
CN110968605A (zh) * 2019-12-16 2020-04-07 成都长城开发科技有限公司 电表曲线数据的查找方法、装置
CN112084145A (zh) * 2020-09-04 2020-12-15 深圳科安达电子科技股份有限公司 一种铁路信号集中监测系统数据存储读取方法
CN113312313A (zh) * 2021-01-29 2021-08-27 淘宝(中国)软件有限公司 数据查询方法、非易失性存储介质及电子设备
CN114116795A (zh) * 2021-11-01 2022-03-01 北京力控元通科技有限公司 一种数据存储和查询方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010078760A1 (zh) * 2009-01-09 2010-07-15 成都市华为赛门铁克科技有限公司 一种文件存储方法、装置及文件删除方法和装置
CN102890722A (zh) * 2012-10-25 2013-01-23 国家电网公司 应用于时序历史数据库的索引方法
CN102902797A (zh) * 2012-10-11 2013-01-30 福建亿同世纪软件有限公司 一种大数据量设备实时监测数据的存储及检索方法
CN106844555A (zh) * 2016-12-30 2017-06-13 江苏瑞中数据股份有限公司 一种用于电网wams系统的时序数据存储方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010078760A1 (zh) * 2009-01-09 2010-07-15 成都市华为赛门铁克科技有限公司 一种文件存储方法、装置及文件删除方法和装置
CN102902797A (zh) * 2012-10-11 2013-01-30 福建亿同世纪软件有限公司 一种大数据量设备实时监测数据的存储及检索方法
CN102890722A (zh) * 2012-10-25 2013-01-23 国家电网公司 应用于时序历史数据库的索引方法
CN106844555A (zh) * 2016-12-30 2017-06-13 江苏瑞中数据股份有限公司 一种用于电网wams系统的时序数据存储方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
嵇月强等: "工业历史数据库的研究", 《工业控制计算机》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110057407A (zh) * 2019-05-27 2019-07-26 山东黄河河务局工程建设中心 一种大坝安全监测方法及系统
CN110968605A (zh) * 2019-12-16 2020-04-07 成都长城开发科技有限公司 电表曲线数据的查找方法、装置
CN112084145A (zh) * 2020-09-04 2020-12-15 深圳科安达电子科技股份有限公司 一种铁路信号集中监测系统数据存储读取方法
CN113312313A (zh) * 2021-01-29 2021-08-27 淘宝(中国)软件有限公司 数据查询方法、非易失性存储介质及电子设备
CN113312313B (zh) * 2021-01-29 2023-09-29 淘宝(中国)软件有限公司 数据查询方法、非易失性存储介质及电子设备
CN114116795A (zh) * 2021-11-01 2022-03-01 北京力控元通科技有限公司 一种数据存储和查询方法、装置、存储介质及电子设备
CN114116795B (zh) * 2021-11-01 2022-12-20 北京力控元通科技有限公司 一种数据存储和查询方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN109739811B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
CN109739811A (zh) 支持双维度查询海量监测数据的存储方法
CN109164980B (zh) 一种时序数据的聚合优化处理方法
CN105989129B (zh) 实时数据统计方法和装置
CN104216989B (zh) 一种基于HBase的输电线路综合数据存储方法
JP7257068B2 (ja) 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造
CN104462141B (zh) 一种数据存储与查询的方法、系统及存储引擎装置
CN101667205A (zh) 一种面向快速回放的实时测点数据存储方法
CN103116595B (zh) 面向电网的scada历史数据分布式存储的实现方法
CN107045531A (zh) 一种优化hdfs小文件存取的系统及方法
CN103473229A (zh) 一种内存检索系统和方法、以及实时检索系统和方法
CN106844555A (zh) 一种用于电网wams系统的时序数据存储方法
CN103488709A (zh) 一种索引建立方法及系统、检索方法及系统
CN103744913A (zh) 一种基于搜索引擎技术的数据库检索方法
CN107491495B (zh) 空间属性优先的时空轨迹数据文件在辅助存储设备中的存储方法
CN103186668B (zh) 基于键值数据库的数据处理方法与装置以及数据存储系统
CN106599040A (zh) 一种面向云存储的分层索引方法与检索方法
CN103914462B (zh) 一种数据存储和查询方法以及装置
CN104331432A (zh) 一种适用于截面访问模式的电网海量时序数据存取方法
CN106095952A (zh) 基于键值云存储的时空范围内海量过车记录快速查询方法
CN107894875A (zh) 一种rtu数据存储方法
CN106909623A (zh) 一种支持高效海量数据分析和检索的数据装置及数据存储方法
CN106709029A (zh) 基于Hadoop和MySQL的文件分层处理方法及处理系统
CN106249262A (zh) 一种车辆卫星定位数据的存储方法及装置
CN107766452A (zh) 一种适合电力调度数据高速存取的索引结构及其索引方法
CN108228738B (zh) 监测系统实时数据压缩存储方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant