LabVIEW应用环境下数据库存储性能测试

2011-05-12 02:46孟繁龙裴志诚赵文俊牛睿哲
网络安全与数据管理 2011年9期
关键词:存储单元程序框图工具包

孟繁龙,裴志诚,苗 晖,赵文俊,牛睿哲

(中国海洋大学 信息科学与工程学院物理系,山东 青岛 266100)

LabVIEW是一种虚拟仪器的主流开发平台,它提供众多输入控件和显示控件,使用户方便地创建用户界面。LabVIEW不仅可与数据采集、视觉、运动控制设备等硬件通信,还可以与PXI以及RS485等仪器通信。应用LabVIEW开发的系统正越来越广泛地应用于各个领域。LabSQL工具包与数据库连接工具包(Database Connectivity Tookit)都是基于MicrosoftADO和SQL的LabVIEW 数据库访问工具包,利用它们几乎可以访问任何类型的数据库,执行各种SQL查询,对记录进行各种操作。TDMS(Technical Data Management Streaming)文件是NI主推的一种二进制记录文件,它兼顾了高速、易存取和方便等多种优势,能够在NI的各种数据分析或挖掘软件之间进行无缝交互,并提供一系列API函数供其他应用程序调用。

图1 数据源程序框图

1 测试方案设计

首先进行数据源设计。设置数据源的具体方法是编辑一个数据源VI,建立一个DAQmx采样任务,采样设备可为一个仿真DAQmx设备 (在Measure&Automation Explorer工具设备和接口中创建仿真设备)。将采样数据存入指定队列[1]中。数据源程序[2]框图如图1所示。

其次进行存储字段的设计。在TDMS数据文件中,数据的存储字段包括时间和对应的值。为保证数据存储单元的一致性,本文对SQL Server 2000和Access 2003的存储字段设计如表1所示。

表1 存储字段设计

最后设计存储程序。Access与SQL Server 2000存储VI的程序框图如图1所示,这里对LabSQL工具包以及数据库连接工具包分别进行测试。图2是使用LabSQL工具包进行数据库存储的程序框图 (对Access以及SQL Server2000均适用)。TDMS存储 VI设计与前者类似。

图2 使用LabSQL工具包进行数据库存储程序框图

存储单元 (SaveUnit)内部设计。图3为使用Parameterized SQL Query方法编写的存储单元程序。而使用SQL Query方法以及LabSQL工具包的SQL Execute子VI使用方式相同,读者可参考LabVIEW相关的示例程序。

程序运行成功后,将存储程序VI的执行系统设置为 “仪器 IO”配置,VI优先级设置为 “标准”。重启LabVIEW进行在线测试,以保证存储程序在单线程模式下运行。

2 测试分析

在双核台式机上进行的测试分析。CPU的主频为2.0 GHz,测试的主要指标有CPU使用率、磁盘读速率以及磁盘写速率。

图4为在采样率为 1 050 Hz时,Access、SQL Server 2000(使用LabSQL工具包中的前述存储方法)以及TDMS数据存储各项测试指标的对比 (由于数据采集VI耗费的CPU极少,不进行磁盘读写,这里可认为各项指标均反映数据存储VI的运行情况)。这里通过增大数据源程序中DAQmx读取VI的每通道采样数,可使CPU使用率。

图4 存储指标对比

表2为使用数据库连接工具包中的Parameterized SQL Query和SQL Query以及LabSQL工具包中的SQL Execute子VI进行数据库存储的各项性能统计。

图3 使用Parameterized SQL Query编写的存储单元程序

表2 数据库存储性能统计

对每种方法进行了反复测试,各种指标相对稳定,最大采样率的误差不超过100 Hz。

从本文的研究可以发现,使用不同的数据库和存储算法,存储性能差异很大。希望本文的研究能为广大应用LabVIEW的研究人员提供参考,提高软件各项性能指标。

[1]阮奇桢.我和 LabVIEW[M].北京:北京航空航天大学出版社,2009:146-147.

[2]白云,高玉鹏,胡小江.基于 LabVIEW的数据采集与处理技术[M].西安:西安电子科技大学出版社,2009:59-64.

猜你喜欢
存储单元程序框图工具包
一种28 nm工艺下抗单粒子翻转SRAM的12T存储单元设计
“顺势而下”破解程序框图
慢性病健康工具包研究进展
一种新型密集堆垛式仓储系统设计
算法与程序框图常考类型
浮点类型有效位数计算与应用分析
谷歌云与Digital Asset合作推出区块链工具包
数据在计算机内存中的存储形式及实验验证
程序框图问题的精彩交汇
运用MATLAB软件求解高中数学中的线性和非线性规划问题