CN109597575B - 一种基于hdf5的分块式数据存储及读取方法 - Google Patents
一种基于hdf5的分块式数据存储及读取方法 Download PDFInfo
- Publication number
- CN109597575B CN109597575B CN201811439672.7A CN201811439672A CN109597575B CN 109597575 B CN109597575 B CN 109597575B CN 201811439672 A CN201811439672 A CN 201811439672A CN 109597575 B CN109597575 B CN 109597575B
- Authority
- CN
- China
- Prior art keywords
- data
- hdf5
- block
- thread
- reading
- 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.)
- Active
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 title claims abstract description 11
- 239000002131 composite material Substances 0.000 claims abstract description 14
- 238000012800 visualization Methods 0.000 claims abstract description 5
- 238000007493 shaping process Methods 0.000 claims description 6
- 238000013480 data collection Methods 0.000 claims description 4
- 238000007599 discharging Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010791 quenching Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Testing Relating To Insulation (AREA)
Abstract
本发明公开了一种基于HDF5的分块式数据存储及读取方法,运行于Linux操作系统,使用HDF5分层数据格式,设计复合数据类型的分块属性数据集,对一次放电时间按照1s的长度进行分割,进行分块式存储与读取,以实现实时数据存储与数据读取;使用HDF5的可视化工具Hdfview查看存储的数据及属性,Qt读取HDF5文件,并进行波形显示与分析。本发明将分层数据格式HDF5应用于存储和管理数据的模型中,其数据存储规模可以无限大,具有可移植性。
Description
技术领域
本发明涉及电源的数据存储与读取,具体是一种基于HDF5的分块式数据存储及读取方法。
背景技术
EAST(Experimental Advanced Super-conducting Tokamak)超导托卡马克聚变实验装置是国家九五重大科学工程,极向场电源系统是EAST装置的核心子系统之一,它为等离子体的产生、约束、维持、加热、以及等离子体电流、位置、形状的控制,提供必要的工程基础和控制手段。极向场电源系统由12套电源组成,每套电源主要有AC/DC整流器、晶闸管开关网络、失超保护系统、隔离开关组成。
目前极向场电源系统没有独立的数据存储与显示系统,而极向场在EAST装置中有着非常重要的作用,所以需研制一套适合极向场电源的数据存储与显示。极向场电源系统有接近200道信号,每个信号按照4个字节计算,数据采集频率为10KHz,放电时长为100s时的总数据量为800MB,放电时长为1000s时的数据量为8GB。如此庞大的数据量,并且具有脉冲特性的信号存储,关系数据库或者非关系数据库等不能满足需求,而MDSplus和HDF5都是存储长脉冲大数据的数据库,国际热核聚变ITER(International ThermonuclearExperimental Reactor)使用HDF5存储数据,为了与国际接轨,我们也将使用HDF5存储EAST极向场电源系统的所有数据。
分层数据格式HDF5实现了一种用于存储和管理数据的模型。HDF5旨在为诸如地球科学和气象学等领域提供通用数据格式。HDF5数据以分级格式存储,并且数据模型支持各种各样的数据类型和数据空间组织。HDF5提供Java、C和FORTRAN数据访问库,本文使用C接口库。数据存储规模可以无限大,具有可移植性,HDF5库没有限制存储数据文件大小,数据文件的内部组织结构可以任意复杂。HDF5库数据模型具有简单、通用的特点。HDF5文件包含两个主要结构:组(group)和数据集(dataset)。为了方便数据的组织,HDF5文件通过组的方式组织成树状结构,每个组都是树的节点。分组结构包含零个或多个组或数据集的实例。每一个数据集包含两部分的数据,元数据(Metadata)和多维数组(Data)。其中元数据包含多维数组相关的信息,比如维度信息、数据类型、属性等,而多维数组则包含数据本身。
发明内容
本发明是为了完善EAST极向场电源系统,提供一种基于HDF5的分块式数据存储及读取方法。
本发明是通过以下技术方案实现的:
一种基于HDF5的分块式数据存储及读取方法,其特征在于包括以下步骤:
(1)当放电开始时,创建HDF5文件,创建数据空间,设置分块属性,创建复合数据类型,使用所述分块属性和复合数据类型创建数据集;
(2)将一次放电时长按照1s的长度进行分割,循环存储数据,存储线程记当前存储的数据为第N块,接收数据线程根据TCP协议接收数据并存储到缓存中,当1s数据搜集完成时,存储线程将第N块数据写入到HDF5文件,接收数据线程则开始搜集第N+1块的数据,读取线程打开HDF5文件,打开数据集,获取数据空间,获取数据集维度,获取数据类型,然后等待存储线程发送的标志位;
(3)当第N块数据写完成后,存储线程发送标志位以及块索引号到读取线程,读取线程获取第N块数据集属性,并根据块索引号选择第N块,实现实时数据读取;
(4)通过HDF5的可视化工具Hdfview查看存储的数据,通过Qt读取HDF5文件,并绘制和分析波形。
所述的一种基于HDF5的分块式数据存储及读取方法,其特征在于:所述复合数据类型包括整形、浮点型和长整形数据类型。
本发明的优点是:
本发明将分层数据格式HDF5应用于存储和管理数据的模型中,其数据存储规模可以无限大,具有可移植性,HDF5库没有限制存储数据文件大小,数据文件的内部组织结构可以任意复杂,HDF5库具有C/C++、Java、Fortran90程序接口,支持在不同计算环境中访问数据。本发明采用的HDF5具有通用的数据模型、高效灵活的I/O机制、灵活的数据存储机制、多样化的数据类型,并且HDF5读写数据效率很高。
EAST不定期放电的特点,使得极向场电源信号具有脉冲特性,普通的关系数据库或者非关系数据库不适合脉冲信号的存储。本发明对HDF5存储脉冲信号的研究,将应用在EAST极向场电源系统中,使EAST在数据存储方面与ITER接轨。
HDF5数据格式对文件大小不进行限制,可存储文件大小取决于硬件,而不是HDF5本身,所以后续会搭建存储服务器,专门用于放置HDF5文件。
附图说明
图1为测试程序总体框架。
图2为复合数据类型与分块属性的数据集设计图示。
图3(a)为分块写数据占用时间测试图。
图3(b)为分块读数据占用时间测试图。
图4(a)为Hdfview工具查看数据集示意图。
图4(b)为Qt读取HDF5文件的波形显示图。
具体实施方式
如图1、2、3、4所示,一种基于HDF5的分块式数据存储及读取方法,通过设计复合数据类型的分块属性数据集,对一次放电时长按照1s的长度进行分割,进行分块式存储与读取,以实现实时数据存储与读取,具体步骤为:
(1)当放电开始时,创建HDF5文件,创建数据空间,设置分块属性,创建复合数据类型5,使用所述分块属性和复合数据类型创建数据集4;
(2)将一次放电时长按照1s的长度进行分割,循环存储数据,存储线程2记当前存储的数据为第N块,接收数据线程1根据TCP协议接收数据并存储到缓存中,当1s数据搜集完成时,存储线程2将第N块数据写入到HDF5文件,接收数据线程1则开始搜集第N+1块的数据,读取线程3打开HDF5文件,打开数据集4,获取数据空间,获取数据集维度,获取数据类型,然后等待存储线程发送的标志位;
(3)当第N块数据写完成后,存储线程2发送标志位以及块索引号到读取线程3,读取线程3获取第N块数据集属性,并根据块索引号选择第N块,实现实时数据读取;
(4)通过HDF5的可视化工具Hdfview查看存储的数据,通过Qt读取HDF5文件,并绘制和分析波形。
数据集4是HDF5最重要的部分,数据类型是数据集必不可少的属性,本发明设计复合数据类型5,数据类型包括单一数据类型和复合数据类型,而脉冲电源的信号很多,拥有多个数据类型,所以设计包括整形、浮点型和长整形的复合数据类型5。EAST极向场电源有200路采集信号,还有时间戳信号和块索引号,共202路信号,设计图2中的复合数据类型。
EAST放电时长已超过100s,要求放电时能够实时显示波形,所以设计分块属性数据集。将一次放电时长按照1s的长度进行分割,当前数据记为第N块,当1s数据搜集完成,则存储线程2将数据写入HDF5文件,接收数据线程1则开始搜集第N+1块的数据,读取线程3读取第N块数据,通过该方式实现实时数据存储与读取。实现上述分块存储,需要将数据集设置为分块方式。数据采集频率为10KHz,1s内每个信号有10000个数据点,所以将块维度设置为10000。对于100s放电时长,每写入一块数据,数据集维度增加10000,即数据集维度不断增加,最大值为1000000,如图1和图2所示。
数据采集频率为10KHz,1s写一次数据,写入数据集202路信号,计算得写入一次数据为8MB,如图3所示为写数据时间测试以及读HDF5文件时间测试,写每块数据的平均时间为9.4ms,读每块数据的平均时间为19.9ms,可见读写效率较高。TCP数据通信周期选择100ms最为合适,有足够的时间准备数据、写数据和读取数据。
如图4,存储与读取数据查看,通过HDF5的可视化工具Hdfview 6查看存储的数据,通过Qt 7读取HDF5文件,并绘制和分析波形。Hdfview作为辅助工具,查看写入到数据集的数据的正确性,Qt对HDF5文件的读取、波形绘制与分析将作为后期数据处理的重点。
Claims (2)
1.一种基于HDF5的分块式数据存储及读取方法,其特征在于包括以下步骤:(1)当放电开始时,创建HDF5文件,创建数据空间,设置分块属性,创建复合数据类型,使用所述分块属性和复合数据类型创建数据集;(2)将一次放电时长按照1s的长度进行分割,循环存储数据,存储线程记当前存储的数据为第N块数据,接收数据线程根据TCP协议接收数据并存储到缓存中,当1s数据搜集完成时,存储线程将第N块数据写入到HDF5文件,接收数据线程则开始搜集第N+1块的数据,读取线程打开HDF5文件,打开数据集,获取数据空间,获取数据集维度,获取数据类型,然后等待存储线程发送的标志位;(3)当第N块数据写完成后,存储线程发送标志位以及块索引号到读取线程,读取线程获取第N块数据集属性,并根据块索引号选择第N块,实现实时数据读取;(4)通过HDF5的可视化工具Hdfview查看存储的数据,通过Qt读取HDF5文件,并绘制和分析波形。
2.根据权利要求1所述的一种基于HDF5的分块式数据存储及读取方法,其特征在于:所述复合数据类型包括整形、浮点型和长整形数据类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811439672.7A CN109597575B (zh) | 2018-11-29 | 2018-11-29 | 一种基于hdf5的分块式数据存储及读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811439672.7A CN109597575B (zh) | 2018-11-29 | 2018-11-29 | 一种基于hdf5的分块式数据存储及读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109597575A CN109597575A (zh) | 2019-04-09 |
CN109597575B true CN109597575B (zh) | 2021-09-28 |
Family
ID=65958932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811439672.7A Active CN109597575B (zh) | 2018-11-29 | 2018-11-29 | 一种基于hdf5的分块式数据存储及读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109597575B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966629A (zh) * | 2020-06-28 | 2020-11-20 | 电子科技大学 | 粒子模拟数据存储方法 |
CN115297183B (zh) * | 2022-07-29 | 2023-11-03 | 天翼云科技有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015103568A1 (en) * | 2014-01-03 | 2015-07-09 | White Knight Investments, Inc. | Interactive multimodal display platform |
CN108346265A (zh) * | 2018-01-24 | 2018-07-31 | 三峡大学 | 一种危险目标识别报警方法及装置 |
CN108490318A (zh) * | 2018-02-05 | 2018-09-04 | 天津大学 | 基于波形匹配的局部放电全站综合定位方法及传感器 |
CN108762763A (zh) * | 2018-05-16 | 2018-11-06 | 中山大学 | 面向大规模复杂数据应用领域的并行i/o优化方法 |
-
2018
- 2018-11-29 CN CN201811439672.7A patent/CN109597575B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015103568A1 (en) * | 2014-01-03 | 2015-07-09 | White Knight Investments, Inc. | Interactive multimodal display platform |
CN108346265A (zh) * | 2018-01-24 | 2018-07-31 | 三峡大学 | 一种危险目标识别报警方法及装置 |
CN108490318A (zh) * | 2018-02-05 | 2018-09-04 | 天津大学 | 基于波形匹配的局部放电全站综合定位方法及传感器 |
CN108762763A (zh) * | 2018-05-16 | 2018-11-06 | 中山大学 | 面向大规模复杂数据应用领域的并行i/o优化方法 |
Non-Patent Citations (1)
Title |
---|
《ITER数据归档系统的应用》;黄连生;《核技术》;20151231;第38卷(第12期);120401-1---120401-8 * |
Also Published As
Publication number | Publication date |
---|---|
CN109597575A (zh) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10176208B2 (en) | Processing time series data from multiple sensors | |
CN107038162A (zh) | 基于数据库日志的实时数据查询方法和系统 | |
CN109597575B (zh) | 一种基于hdf5的分块式数据存储及读取方法 | |
CN106649670A (zh) | 基于流式计算的数据监控方法及装置 | |
CN103678491A (zh) | 一种基于Hadoop中小文件优化和倒排索引的方法 | |
CN102890721B (zh) | 基于列存储技术的数据库建立方法及系统 | |
CN110765154A (zh) | 火电厂海量实时生成数据的处理方法及装置 | |
CN104035956A (zh) | 一种基于分布式列存储的时间序列数据存储方法 | |
CN102779138A (zh) | 实时数据的硬盘存取方法 | |
CN105787090A (zh) | 一种电力数据的olap系统的索引建立方法和系统 | |
CN104376119A (zh) | 一种适应超大规模列存数据库的数据访问方法及装置 | |
CN102937956A (zh) | 一种智能变电站中实时报文的存储方法及其装置 | |
CN114238248A (zh) | 多通道测水激光雷达高速数据实时采集及存储系统 | |
CN110134690B (zh) | Oracle数据库超大数据快速存储方法及系统 | |
CN108427750A (zh) | 一种基于epics的数据归档与浏览方法 | |
CN110311817B (zh) | 用于Kubernetes集群的容器日志处理系统 | |
Mei et al. | A survey on bitmap index technologies for large-scale data retrieval | |
CN109189656A (zh) | 一种基于标准差算法分析存储设备iops性能数据的方法 | |
CN112306421B (zh) | 一种用于存储分析测量数据格式mdf文件的方法和系统 | |
TWI522827B (zh) | Real-time storage and real-time reading of huge amounts of data for non-related databases | |
CN105677853A (zh) | 一种基于大数据技术框架的数据存储方法及装置 | |
McCamish et al. | Managing pmu data sets with bitmap indexes | |
CN117056134B (zh) | 一种快速备份能耗监测系统中数据库数据的方法 | |
CN111144755A (zh) | 一种科研仪器实验结果溯源管理系统及方法 | |
CN110096235A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240423 Address after: 230031 Building 2, Dongpu Island, Hefei City, Anhui Province Patentee after: Hefei Science Island Holdings Co.,Ltd. Country or region after: China Address before: 230031 No. 350 Lake Road, Hefei, Anhui, Shushan Patentee before: HEFEI INSTITUTES OF PHYSICAL SCIENCE, CHINESE ACADEMY OF SCIENCES Country or region before: China |
|
TR01 | Transfer of patent right |