利用HDF5数据格式构建气象预报业务平台数据库
来源:化拓教育网
第37卷第3期 气象与环境科学 Meteorological and Environmental Sciences Vo1.37 NO.3 Aug.2014 2014年8月 利用HDF5数据格式 构建气象预报业务平台数据库 李振锋,李五生,禄永旭,王卫平,马 驰 (洛阳电子装备试验中心,河南洛阳471003) 摘 要:气象预报业务平台是各级气象业务部门预报人员每天要进行操作的平台,其操作的效率和设计人性 化程度直接影响着预报工作的效率和效果。针对目前气象预报业务平台数据库多采用Windows文件系统进行数 据管理,存在的文件零碎、数目多、浏览速度缓慢等不足,分析了HDF5数据格式气象预报业务平台数据库构建方 法,并将其运行性能和采用开源关系数据库FireBird格式数据库的运行性能进行了比较,结果表明:HDF5格式数 据库能够将多种数据格式存储在一个文件中,具有良好的自我描述性和扩展性,方便用户使用和管理。而且,在运 行效率上,对于单机模式和网络比较稳定的情况,HDF5格式数据库存储数据耗时比Firebird数据库节省约50%的 时间;而在读取数据中,HDF5格式数据库耗时为Firebird数据库方式耗时的1/10;对于本地存储这种情况,HDF5 格式数据库仅为Firebird数据库方式耗时的1/50。 关键词:HDF5;数据库;Firebird;气象预报;业务平台 中图分类号:TP392 文献标识码:A 文章编号:1673—7148(2014)03—0114一O6 引 言 气象预报业务平台是各级气象业务部门预报人 员每天要进行操作的平台,其操作的效率和设计人 性化程度直接影响着预报工作的效率和效果。随着 气象探测手段的进步和数值预报业务的不断发展, 提供给预报业务的气象资料种类和数量快速增加, 直观、扩展灵活等特点,但是受Windows系统特点限 制。当一个文件夹下文件个数过多时,系统读取该 文件夹下数据速度就会变慢,特别是对于数值预报 资料,以欧洲数值预报中心的资料为例,每天约 2194个文件,每个文件约3 kB,5 d的资料就会达到 10000多个小文件,若不及时清理,业务系统查看数 据将会变得非常缓慢。为了提高运行效率,系统会 将历史数据自动删除,仅保留最近几天的数据进行 业务应用,致使预报员无法与历史资料进行对比分 析。当今气象业务部门软硬件环境有了较大提高, 因此,如何有效管理这些数据资料,更好地为气象预 报业务提供支撑成为El益突出的问题。 目前,气象资料数据库存储管理方式多以关系 数据库(如Access、SQL等)或者文件系统为主” , 但是,普通的关系数据库在处理卫星遥感数据等大 数据量数据时效率较低,并且,普通的关系数据库由 于死锁或阻塞等特点会严重降低数据存取性能,进 而影响预报业务平台的工作效率。对于目前中国气 象局的Micaps系统 和军队的Wcaps系统两套日 气象科研工作普遍开展,留存历史资料供预报员进 行分析研究具有十分重要的意义。因此,寻找一种 既能快捷方便存储管理历史数据,又能不影响业务 平台工作效率的数据存储方法十分必要。 本文采用由美国国家超级计算应用中心(NC— SA)推出的科学数据管理软件和数据格式库 常预报工作平台而言,均是直接以Windows系统的 文件方式来存储数据资料,尽管文件方式具有操作 收稿日期:2013—07—10;修订日期:2013—12—02 HDF5 来存储气象数据,并将该方法和关系数据库 方法进行对比,以此分析本方法的优缺点。 基金项目:国家自然科学基金项目(41275112)资助 作者简介:李振锋(1984一),男,河南洛阳人,工程师,硕士,从事天气预报保障工作.E-mail:metlizhenfeng@126.corn 第3期 李振锋等:利用HDF5数据格式构建气象预报业务平台数据库 115 1 HDF5数据格式 HDF5i s 是一种新型的分层式数据文件,该 数据格式有别于以往常规资料所用到的二进制文 件、ASCII文件,它提供了一种总体目录结构,采用 了二叉树的方式建立文件内容的“索引”,能够通过 “索引”直接从嵌套的文件中快速获得信息,并且可 以将不同类型的数据源存于一个文件中,同时这些 数据源又可以同时包含其数据信息和其他相关 信息。 HDF5有两种基本对象,分别是组(Group)和数 据集(Dataset),同时有其他的辅助对象类型,即数 据类型(Datatype)、数据空间(Dataspace)和数据属 性(Attribute)。其中,组可以看作一个容器,包含任 意数量的其他组和数据集。在HDF5的逻辑结构 里,整个文件作为一个Root组存在,所有内容均为 Root组的成员(图1)。 HDF5与文本方式表达数据信息的XML格式 非常相似,二者均提供了一个层次式结构框架。 XML通过层次式的文件结构构造出丰富的数据类 型,通过自我描述的方式实现了跨平台。 图l HDF5文件逻辑结构 HDF5提供了6种基本数据类型:光栅图像 (Raster Image)、调色板(Palette)、科学数据集(Sci— entifie Data Set)、注解(Annotation)、虚拟数据(Vda— ta)和虚拟组(Vgroup),并提供了多种数据存储机 制,如数据压缩、数据扩展和数据分块等机制来提高 数据访问、管理与存储效率。而且HDF5通过层次 逻辑结构来表现文件中的不同数据元素之间的逻辑 关系,如包含、被包含、并列等,采用这种格式的数据 库优点主要包括: (1)自述性:对于一个HDF5文件里的每一个 数据对象,有关于该数据的综合信息(元数据),在 没有任何外部信息的情况下,HDF5允许应用程序 解释HDF5文件的结构和内容。 (2)通用性:许多数据类型都可以被嵌入在一 个HDF5文件里。例如,通过使用合适的HDF数据 结构,符号、数字和图形数据可以同时存储在一个 HDF5文件里。 (3)灵活性:HDF5允许用户把相关的数据对象 组合在一起,放到一个分层结构中,向数据对象添加 描述和标签。它还允许用户把科学数据放到多个 HDF5文件里。 (4)扩展性:HDF5极易容纳将来新s ̄Di:i的数据 模式,容易与其他标准格式兼容。 (5)跨平台性:HDF5是一个与平台无关的文件 格式。HDF5文件无需任何转换就可以在不同平台 上使用。 2数据库总体设计与实现方法 2.1 总体设计 气象预报业务数据库总体设计包括用户模块和 数据模块(如图2所示)。由于本文所述数据库采 用HDF5文件存储,而该文件格式不包含任何加密 机制,因此,用户模块主要是为数据库管理系统提供 一个分权限管理平台,而非真正的加密。数据模块 主要是负责数据的收集、质量控制、存储、查询、添 加、修改、删除等功能,服务于数据库后台管理和业 务平台数据查询等。 气象预报业务数据库 用户模块 I l数据模块 添 加 用 白 簧l ll l l l鬟l I嘉I l l蓁 删除数据 图2气象预报业务数据库总体设计 由于HDF5文件的数据集在创建后无法单独删 除,因此,在实现删除操作时,实际上是重新创建一 个文件。如果文件过大,则执行时间过长,所以,本 文在设计数据库时,不同类型的资料(如卫星云图、 数值预报资料、实况资料等)按天存储为不同的 l l6 气象与环境科学 第37卷 HDF5文件,并将这些HDF5文件利用Windows文件 系统进行管理。实际使用中,所有以一天为单位的 数据资料都不会过大,因此删除操作耗时不会太长。 2.2开发环境搭建 美国国家超级计算应用中心NCSA在推出 HDF5数据格式的同时,向用户和软件厂商免费提 供了HDF5的应用程序接口库(API)和针对不同级 别用户的文档,结合API库和开发文档,开发者可以 方便快捷地对HDF5文件进行操作,开发基于HDF5 的软件产品¨。 。目前推出了基于JAVA、C、 c++、Fortran、C#和IDL等的HDF5二次开发库,便 于不同用户进行选择开发。本文仅介绍基于C#语 言的开发环境搭建。 首先,访问HDF dotnet二次开发的官方网站 (http://hdf5.net/default.aspx)得至0 hdf5一hldl1.dll, hd£5dl1.dll,HDF5DotNet.dll,szip.dll,zlib1.dll等 文件。 其次,将以上文件放在程序根目录下,同时添加 对HDF5DotNet.dll的引用,在程序中加入“using HDF5DotNet;”代码,后续可以像运用其他函数一样 对HDF5文件进行操作。 最后,必须要明确开发平台是32位还是64位 环境。同时,由于dotNetFramework环境4.0版本和 以前版本不兼容,所以在搭建开发环境时,需要确定 所开发系统dotNetFramework版本和HDF5 DotNet. dll的dotNetFramework版本一致。 2.3用户管理 为了确保数据库的相对安全,需要对各用户进 行分级,对其拥有的权限进行设置。管理员用户拥 有完全权限,能够创建、插入、修改和删除所有数据, 数据处理负责人员或者高级别预报员具有插入数据 的权限,便于他们在浏览数据时,能够将再加工的数 据产品存人数据库,而对普通的预报员一般只提供 只读权限。 2.4 数据管理 数据管理模块负责数据收集整理,利用相关数 据质量控制方法对数据进行质量控制,然后入库存 储,同时,提供用户查询修改接口,使用户能够实现 数据的增加、修改和删除等功能。另外,HDF5文件 具有属性(Attribute)对象,为用户对不同层次上的 数据描述提供存储节点。 3 与关系数据库运行效率比较 为了验证本文所述数据存储方法的有效性,用 2013年6月19 13中国气象局CMACast下发的欧洲 数值预报中心分辨率为2.5。×2.5。的数值预报数 据进行验证,关系数据库系统采用Firebird数据库 进行存储。 3.1 Firebird数据库 Firebird脱胎于Borland公司的开源版数据库 Interbase6.0,是一个完全非商业化的产品,用c和 C++开发。Firebird使用Mozilla Public License V. 1.1许可证发行 。 Firebird具备一个完整关系数据库管理系统 (RDBMS)的全部优点,而且采用了区别于其他任何 大型关系数据库的多代体系结构(Multi—Generational Architecture:MGA),其性能大幅提升,特别适合涉 及到大量客户的大型在线事务处理(OLTP)和需要 海量数据的数据决策支持(DSS)的混合应用系统。 而且Firebird数据库具有非常高的灵活性、可靠性、 安全性、零维护和可扩充性,是目前世界上安装最快 捷、最简单的大型关系数据库 ,因此,本文选用 此数据库作为比较对象。 3.2试验方案 一般情况下,气象预报业务在单台电脑上进行, 或者在网络连接非常稳定的局域网中进行,只有极 少数情况下(如应急气象保障、临时远程调阅资料 等),气象预报业务工作的网络环境相对复杂。针 对上述情况,本文设计了3种试验方案。 方案1:模拟预报业务工作平台为单机版的情 形。将数据库文件存储在本机硬盘上,并将所有数 据读出,将2194个文件分别存入HDF5文件数据库 和Firebird数据库,然后循环将所有数据从两个数 据库中读出,对比不同数据库在此操作过程中耗费 的时间,后续两种方案进行的操作和本方案相同,只 不过是网络环境不同,下面对数据操作不再赘述。 方案2:模拟简单局域网条件下C/S模式预报业 务工作平台情形。将数据库文件集中放置于局域网 的某一个电脑上,其他客户端通过远程访问的方式获 取数据,局域网的环境为各个电脑位于一个房间内, 通过一个Hub进行连接组网;数据操作同方案1。 方案3:模拟较为复杂局域网条件下C/S模式 预报业务工作平台情形。数据存储和访问的流程和 第3期 李振锋等:利用HDF5数据格式构建气象预报业务平台数据库 3.3 结果分析 ll7 方案2类似,但是网络环境为分属两地(距离约100 km)的电脑,中间有4层交换机;数据操作同方案1。 后两种方案巾,HDF5文件远程访问采用虚拟 硬盘的方式,而Firebird数据库远程访问直接利用 数据库软件自身远程访问功能进行。 为了说明方案2和方案3中网络质量的不同, 本文简单用WindOWS 带的Ping丁具进行测试,冈 测试中,将20l3年6月19日接收到的2l94个 文件存入数据库。然后将这些数据全部读 ,两个过 程耗费时间如表1所示。这里需要指H{的是:在日 常业务中,对同一个数据的读取往往需要进行多次, 而且两个数据库系统软件读取数据时会受到操作系 统随机性的影响, 此,每个方案的数据渎取都进行 r 3次,取平均值进行比较。而对数据存储的速度 要求相对较低,这是 为资料接收后,距离使用资料 会有较长时间,系统可以在后台把资料入库存fc}}.I夫_1 此,这部分丁:作仪进行一・次 南表 T , 存储资料过程中, 种仔储疗案 最省时问的方案均_=l:f=方案1.最耗费叫‘ 的均 7, 3和罔4分别给 J 方案2和方案3两种网络条件 下的测试结果。…I皋1可 ,方案2中的网络延时小 l IlS,且非常稳定.而方案3中的网络延时在6 nls以}:,』=Lfn现2次Jj芏i时,网络较为不稳定。 案3..这说[1Jj 络质最直接影响存储时间 『l^j种 数据库的横向比较巾,HDF5格式数撕阼的力‘式牦 时小于Firebird数据库方式耗时,其q 案1干¨方 案2 I11,HDF5格式数据库耗时约为Fi rt Ili,’d数扒库 耗时的l/2, 力‘案3 rf1,H【)F、5格式数 Firebird数据侔耗¨寸之比为0.83。 图3 方案2中网络质量测试结果图 耗I1lf和 在渎取数据的比较巾,两种数据仔储力‘窠 样 是方案1耗时最短,方案3耗时最长,方案2耗}{1f膳 中。在两种数槲 储方式的横向比较『f1,l{IIF5格式数 据库在方案1巾平均耗时为156.250 Ills, F'irebil- {数 据库的平均耗}I、f为8780.000 ms,二者之比为0.O18; 方案2中,HDF5格式数据库读取耗II、J‘为5838.542 InS,而Firebird数据库读取耗时为5l880.210 Ills,二: 者之比为0.1I 3;方案3中,HDF5格式数据库陵取 耗时为195432.300 Ills,而Firebird数 库读取耗时 为21 31214.000 ms,二者之比为0.092. 图4 方案3中网络质量测试结果图 此f¨『 , 在数据存储过程中,HDF5格式数据库方法比Fire一 Ills 表l 不同方案下存取2l94个文件耗时比较 注:读取文件耗时一列[}j 4组数据依次为第一次、第二次、第 次和3次平均读取耗时 1 18 气象与环境科学 第37卷 bird数据库大约节省50%的时间;在读取数据中, HDF5格式数据库读取耗时约为Firebird数据库方 式耗时的1/10,甚至在方案1中仅为Firebird数据 库方式耗时的1/50,这充分体现了HDF5文件格式 的快速数据I/O性能。具体到实际业务中,每次查 看的数据最多不超过10个文件,将上述方案耗时折 算到l0个文件的结果为:利用HDF5格式数据库方 式3种方案均不足1 S,Firebird数据库方式在方案1 和方案2中也不足1 s,方案3耗时约为9.7 s。可 见在方案1和方案2中两种方式均满足业务要求, 对于方案3,Firebird数据库则难于满足业务需求, 而HDF5格式数据库依然可以满足要求。 4 小 结 本文针对气象预报业务平台的实际需求,分析 了利用HDF5数据格式构建气象预报业务平台数据 库的方法,并同Firebird数据库做了实际对比,结论 如下: (1)HDF5格式数据库能够将多种数据格式存 储在一个文件中,具有良好的自我描述性和扩展性, 方便用户使用和管理。 (2)HDF5格式数据库数据存取速度明显快于 Firebird数据库方式,在存储数据中可以节省50% 的时间,而读取中前者耗时为后者的1/10,在方案1 中,前者耗时甚至为后者的1/50。 (3)HDF5格式数据库在本机存储和网络存储 3种方案中的速度都非常快,折算到读取1O个文件 的速度均小于1 S,这在实际业务使用中,预报员几 乎感觉不到延时,可满足业务需求。 (4)本文仅是对HDF5格式数据库的实现做了 初步探讨,而HDF5文件的并行I/O、压缩存储和更 优方案的网络访问还需要在以后工作中做进一步 研究。 参考文献 [1]张方,于庆学.河南省气候业务数据库系统的设计与实现[J].气 象与环境科学,2011,34(3):88—91. [2]董如根,孙雪丽.历史地面气象资料库的设计及共享[J].软件导 刊,2012(1):98—100. [3]滕水昌,王生元,王荣酷.基层台站地面气象资料数据管理检索 系统[J].气象科技,2012,40(1):61—64. [4]王敏.河南省台站上行气象信息传输质量管理系统的构建与应 用[J].气象与环境科学,2007,30(3):94—95. [5]宋轩,孟翠翠,崔剑.河南省自然保护区信息查询系统设计与实 现[J].气象与环境科学,2010,33(4):71—74. [6]魏国财,郭英香,赵春宁.局域网内实现Micaps资料的检索和传 输[J].青海气象,2010(2):42—44. [7]The HDF Group.Hierarchical data format version 5[EB/OL]. (2013—08—14)[2013—10—10].http:Hwww.hdfgroup.org/HDF5. [8]谢光益.基于层次数据格式海量数据预处理关键技术研究[D]. 长沙:国防科技大学,2005. [9]梅清,李浩.CORBA在远程访问HDF5文件系统中的应用[J]. 湖北工业大学学报,2006,21(4):75—78. [10]冯金花,陈建政,张雄杰.基于HDF5文件格式的数据管理系统 [J].计算机与数字工程,2011,39(2):102—103;112. [11]沈卫超,曹立强,夏芳,等面向数值模拟数据的HDF5性能优 化[J].计算机研究与发展,2012(增刊):314—318. [12]张茂鑫,李国春.基于HDF5文件格式的MERSI影像数据提取 的研究与实现[J].现代农业科学,2009,16(3):189—191. [13]王永韬,刘良明.HDF5格式特点及其对遥感数据格式标准化的 几点启示[J].国土资源遥感,2005(3):39—42. [14]王玲,龚健雅.基于HDF文件的组织方式与影像提取[J].测绘 通报,2003(4):35—37. [15]安然.HDF5文件格式在飞行试验数据管理中的应用[J].中国 科技信息,2013(12):90—91. [16]夏芳,陈虹,宋磊,等.JADLib-科学计算数据高层I/O软件库 [J].计算机工程与科学,2009,31(增刊):227—230;285. [17]杨丽鹏,车永刚.基于HDF5的结构网格计算流体动力学程序 并行I/O技术[J].计算机应用,2013(9):2423—2427. [18]路文海.IDL语言处理HDF格式遥感数据的研究[J].海洋信 息,2006(3):6—7. [19]陈林,牛生杰,仲凌志.Matlab对基于HDF格式的MODIS1B数 据的提取方法与实现[J].气象科学,2006,26(6):676—681. [2O]Firebird Version 2.5 Release Notes[EB/OL].(2013—03—18) [2013—07—10].http:Hwww.firebirdsq1.ors/file/documentation/ releasenotes/html/rlsnotes252.htm1. [21]Firebird database home website[EB/OL].(2013—03—24)[2013一 O7一lO].http:Hwww.firebirdsq1.ors/. [22]苗军..Net平台上Firebird嵌入式应用研究[J].计算机应用与 软件,2011,28(5):265—267. [23]陈玮.利用Firebird嵌入式数据库实现软件保护[J].计算机应 用与软件,2010,27(10):159—161. [24]赵艳霞.FireBird数据库在企业小型应用系统开发中的优势 [J].天津科技,2008(5):67—68. [25]李醅,苑洪亮,郭长国,等.Firebird数据库访问接口的CORBA 封装设计与实现[J].电脑与信息技术,2006,14(1):14—18. [26]田永利.浴火重生的Firebird[J].程序员,2005(6):60—63. [27]徐雷.Firebird数据库及其开发应用[J].华南金融电脑,2004, 12(7):77—79. 第3期 李振锋等:利用HDF5数据格式构建气象预报业务平台数据库 119 Construction of Database for Weather Forecast Operational Platform Based on HDF5 Data Format Li Zhenfeng,Li Wusheng,Lu Yongxu,Wang Weiping,Ma Chi (Luoyang Electronic Equipment Test Center,Luoyang 471003,China) Abstract:The weather forecast operational platform is daily used by forecasters of meteorological de. partments at all levels,and its operating efficiency and humanized design directly affect the eficifency and effectiveness of the forecast work.In most cases,Windows system is adopted in present forecasting plat— forms and in which exist some problems such as files being fragmentary,too many,blowing slow and etc. Aiming at these problems,weather forecast operational platform based on HDF5 data format is construc. ted,and its operating efficiency is compared with the open—source relational database constructed based on Firebird format.The results show that:the database based on HDF5 format.which has good seIf.de. scriptiveness and expansibility,can store multi format data in the same fileis convenient for users to use ,and manage.Moreover,f0r operating efficiency,in the case of single mode and more stable networkthe .time consumed in storing data based on HDF5 data format is half of that based on Firebird formatand ,the time consumed in reading data based on HDF5 data format is 1/10 of that based on Firebird format, or localf storage case,the time consumed in processing data based on HDF5 data format is 1/50 of that based on Firebird format. Key words:HDF5;database;Firebird;weather forecast:operational platform
因篇幅问题不能全部显示,请点此查看更多更全内容