CN109597575B - 一种基于hdf5的分块式数据存储及读取方法 - Google Patents

一种基于hdf5的分块式数据存储及读取方法 Download PDF

Info

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
Application number
CN201811439672.7A
Other languages
English (en)
Other versions
CN109597575A (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.)
Hefei Science Island Holdings Co ltd
Original Assignee
Hefei Institutes of Physical Science of CAS
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 Hefei Institutes of Physical Science of CAS filed Critical Hefei Institutes of Physical Science of CAS
Priority to CN201811439672.7A priority Critical patent/CN109597575B/zh
Publication of CN109597575A publication Critical patent/CN109597575A/zh
Application granted granted Critical
Publication of CN109597575B publication Critical patent/CN109597575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed 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的分块式数据存储及读取方法
技术领域
本发明涉及电源的数据存储与读取,具体是一种基于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的分块式数据存储及读取方法,其特征在于:所述复合数据类型包括整形、浮点型和长整形数据类型。
CN201811439672.7A 2018-11-29 2018-11-29 一种基于hdf5的分块式数据存储及读取方法 Active CN109597575B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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优化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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