基于LabVIEW的大数据处理技术研究

时间:2022-08-17 05:03:14

基于LabVIEW的大数据处理技术研究

摘 要:随着计算机处理与存储容量的持续增长、硬件与软件成本的降低,根据实际使用需求,收集的数据在采集时呈爆炸式增长。对大数据的有效存储、管理和共享成为如今计算机信息化管理的真正挑战。本文提出了一种基于LABVIEW的大数据处理技术,满足了上述使用需求,经实际项目测试运行良好。

关键词:LabVIEW;大数据处理

中图分类号:TH744.1

随着科技的发展,人们对世界的认识也越来越精确了,越来越多的人关心毫秒、微秒甚至纳秒所发生的事情,这么小的时间间隔内所发生的事件依靠人类的感官是无法捕捉到的,因此人们借助传感器和采集设备来获取更多的信息。以高采样频率较长时间的记录事物的物理特性,会积累大量的试验数据,如何对大量的试验数据进行处理分析,进行有效分类管理并从中抽取有用的信息?本文提出了一种基于LabVIEW的数据处理方法,在实际工作中解决了大数据处理难题。

1 LabVIEW软件开发平台及数据保存

1.1 LabVIEW软件开发平台简介

LabVIEW是虚拟仪器概念的首创者,被称作“G”语言,“G”语言指的是Graphical Programming Language,即图形化编程语言,它是美国国家仪器公司推出的一个通用软件开发平台,在国内外被广泛应用于教学、科研、测试和工业自动化等领域,LabVIEW不仅在数据采集方面具有其他软件语言不可比拟的优点,而且还提供了几乎所有经典的信号处理函数和大量现代的高级信号分析工具,与其它开发软件相比大大缩短了开发周期。

1.2 文件类型简介

计算机文件通常分为二进制文件和文本文件两类,第一种是最常用的文件格式即字节流文件,这种格式按字节对文件进行读写,由于其通用性,有利于与其他应用程序共享数据。文本文件是最常见的文件格式,各种操作系统平台都支持文本文件,从DOS时代的TXT、批处理文件(.BAT),到Windows时代的TXT文件、INI文件,都是典型的文本文件。第二种是二进制文件,图形文件及文字处理程序等计算机程序都属于二进制文件。这些文件含有特殊的格式及计算机代码,内部数据结构复杂,无法对记录数据类别进行有效分类管理。相比较而言,文本文件编码基于字符定长,译码相对容易;二进制文件编码是变长的,所以它灵活,存储空间利用率高,但不能满足用户后续对大量数据维护、管理的实际需求。

2 数据处理方法介绍

2.1 大数据文件在数据处理中的问题

通常将100MB以内的文本数据称为小数据块文本数据,使用通用的数据处理软件可以较轻松的读取处理,如MATLAB,Origin,imPRESSion等数据处理软件在内存大于1GB的计算机上均可在不到1分钟的时间内读取100MB文本数据,但对于超过200MB的文本数据,通用数据处理软件就显得力不从心了。

例如某试验需要以5000Hz采集30通道150秒的温度数据,获得的原始文本数据达到258MB,分别使用MATLAB,Origin,imPRESSion等数据处理软件进行读取处理,MATLAB在经历5分钟的等待后报错“Out of memory”,如图一所示。

图1 MATLAB报错界面

Origin和imPRESSion在经历5分钟的等待后可以读取数据,但每次绘制曲线时,计算机响应速度会非常慢,简单的数据处理过程会长达数小时,而且全部数据处理过程均需人机互动。

当文本文件达到或超过500MB时,几乎所有的通用数据处理软件均无法正常读取,即使在工作站运行也会造成死机等后果。

LabVIEW提供了适用于多种文件类型的数据读写VI,同样也存在读取大数据块时报错甚至死机的问题,如使用“读取电子表格文件”VI读取上述258MB文本文件时,就会提示图二、图三的错误。

图2 LabVIEW报错界面1 图3 LabVIEW报错界面2

2.2 大数据块文本数据在数据处理中出现问题的原因

之所以通用数据处理软件及LabVIEW提供的读取数据VI在读取大数据文件会出现内存不足的问题,原因在于它们和计算机的内存机制形成了冲突,通用数据处理软件及LabVIEW提供的读取数据VI在读取数据时,会要求计算机的内存RAM提供一段连续的存储空间以存放需要读取的数据,如果需要读取的数据超过RAM能提供的最大的连续存储空间,软件就会提示计算机的内存不足,但此时计算机的内存并不一定就真的用完了。

2.3 LabVIEW在读取大数据文件时的解决方法

针对以上问题,可采用Labview提供的TDMS数据管理系统。TDMS文件以二进制形式存储数据,它在具备二进制文件优点时,又具备关系型数据库的优点。文件的逻辑存储模型分为文件、通道组、通道三层。TDMS文件主要分为两个物理文件,一个是主文件,后缀名为.tdms,存储原始数据以及属性等信息;另一个是索引文件,后缀名为.tdms_index,主要存储属性信息,方便查找。通过对组名、通道名的设置,可将海量数据进行分类管理。

LabVIEW的另一个优势就体现在它是一个开发环境,允许用户进行二次开发。可以采用将大数据块数据分割成多个小数据块,多次读取方法解决,多次读取的关键在于分割点的定位,分割点的定位在C语言中称为位置指针,在LabVIEW中称作位置标记,一般情况下,打开文件时,位置标记位于文件的开始处,通过定位文件标记,可以实现文本文件的随机读取。如图四所示,在TDMS文件读取线程中,通过调用TDMS获取文件属性,得知存储文件中数据的个数为19000个,根据实际项目需求,通过对计算机CPU资源进行有效分配,用户可对读取数据文件的偏移量进行定位,同时设置每次读取数据个数,即可实现对大数据进行分段读取显示功能。此模块可应用于事后数据分析软件,也可作为子模块用于状态监测仪,实现数据实时采集、处理、显示、记录并回放。

图4 LabVIEW位置标记

图5 LabVIEW位置标记读取结果

通常在实际应用中可以针对需要读取的整个数据块的大小决定一次读取的数据块的大小,在应用中应注意不应将以此读取的数据块设置的太小或太大,太小则需要循环的次数较多,影响VI及其他线程的运行速度;一次读取的数据块设置的太大则较容易造成 “内存不足”错误。

图6是应用位置标记的方法,使用“Read Lines From File.VI”编写的“通用数据处理软件”后面板局部,该软件可以实现滤波、减初值、滑动平均、剔除毛刺、捕捉特征值、自动生成数据处理报告等功能。使用该软件处理上述258MB文本数据,在100s的时间完成了全部数据处理工作,和MATLAB,Origin,imPRESSion等数据处理软件相比节省了大量时间和精力,图7是使用该软件生成的数据处理报告局部。

图6 通用处理软件后面板局部

图7 通用处理软件处理报告局部1

3 结束语

应用位置标记的方法,通过循环分批读取,解决了基于LabVIEW的大数据块文本数据的快速处理难题,该方法在多次型号任务及民品任务上成功应用,取得了显著的成效,节省了试验人员大量的时间和精力。

参考文献:

[1]雷振山.LabVIEW 7Express实用技术教程[M].北京:中国铁道出版社,2004.

[2]陈树学,刘萱.LabVIEW宝典[M].北京:电子工业出版社,2012.

作者简介:苏娟(1982-),女,河南郑州人,工程师,从事软件架构设计研究。

作者单位:北京航天发射技术研究所,北京 100076

=

上一篇:论云计算在企业职工培训中的作用分析 下一篇:数据库查询优化浅析