数据采集的方法及系统的制作方法

文档序号:7723640阅读:231来源:国知局
专利名称:数据采集的方法及系统的制作方法
技术领域
本发明涉及计算机数据采集技术领域,特别是数据采集的方法及系统。
背景技术
在计算机数据采集领域,经常需要将某一信号通过传感器转化为模拟信号,然后经数据 采集装置再将其转换为计算机可以识别的数字信号,最后导入计算机进行分析处理并加以存 储。随着信息科技的进步,计算机数据采集技术的应用已经深入到各行各业,需求的迅猛增 长也促进该技术在各方面得以快速发展,特别是传感器、数据采集装置和计算机存储等方面
在传感器领域,从开发最早、应用最广泛的温度传感器开始,先后诞生了满足各种领域 需求的传感器,如压力、速度、位移、生物传感器等,这些传感器通常产生容易观察和处理 的模拟或数字电信号。目前的应用所产生的数据更多来自于影像和声音等多媒体信息,其中 获取影像资料最常用的器件是CCD (Charge Coupled Device,电荷耦合器件)和CM0S ( Complementary Metal Oxide Semiconductor,互补金属氧化物半导化)传感器。CCD从 1969年开始,经历30多年的发展,已经从最初的十万像素级发展到千万像素级;CM0S在灵敏 度上略逊于CCD,但在高速成像领域应用广泛,其成像速度可以达到500帧/秒到10000帧/秒
数据采集卡是使用最为广泛的数据采集装置,它通常是计算机获取信号的媒介。为了获 得更大的采集速率,目前数据采集卡的发展趋势体现在更多的通道数、更高的采样率以及功 能的多样化,特别是用于图像和视频采集的相关接口卡。如加拿大IO Industries公司推出 的CLFC Full系列高速记录卡,采用5通道设计、66腿z的采样率能够获得高达850M/s的理论 最大采集速率。用于视频采集的采集卡能够在数据获取的同时对数据进行压縮,不仅免除了 获取数据后再专门进行压縮处理的不便,而且有效降低了采集数据的存储空间需求。
在计算机数据采集过程中,外部传输线缆和计算机总线发展也十分重要。在外部高速线 缆方面,先后产生了LVDS和Camera Link等标准,用于解决数字摄像机和图像采集卡之间的 高速数据传输问题,其中,Camera Link标准支持的最高数据传输率可达680MB/s。另外,在 计算机内部,计算机总线的发展也经历着从低速到高速的变革,从早先的ISA (Industrial Standard Architecture, 工业标准结构总线),至IJPCI (Peripheral Component Interconnechttp:〃corp. itl68. com/corp/88—index, shtmlt,夕卜设咅I5件互连标准)和AGP (Accelerated Graphics Port,加速图形端口),再到现在的PCI-E,总线也从32位向64位或 更高的带宽发展,总的传输速率有很大提高。
数据采集所得的数据一般需要保存到计算机主存用于处理,处理完毕后一般需要采用海 量存储设备长期保存。计算机软件的发展以及中央处理器性能的提升,对计算机主存容量以 及工作频率有了更高的要求,其容量从最开始的KB级逐步发展到现今常见的GB级,工作频率 也从早期的几十Hz发展到几百甚至几千MHz,这使得计算机总体性能有了巨大提升;人类社 会产生的越来越多的数据,使得单一的硬盘在容量和速度方面都难以满足需求,以磁盘阵列 为典范的海量存储设备应运而生,它与传统硬盘相比,总体速度和容量几乎是单个硬盘效能 的叠加。
通过上述技术的高速发展,使人们有条件对海量的外部信息进行获取,针对这一问题, 目前主要有两类解决方案
第一类方案高速传感器获取的电信号,经数据采集装置转换为专有数据格式,在不经
任何处理的情况下通过专用传输线缆保存到外部海量存储设备。 一个典型的案例是io
Industries公司推出的,用于研究高速运动物体的高速长时记录系统,系统主要由高分辨率 高速CM0S相机、10 Industries公司的高性能图像采集记录卡、相应的图像采集记录分析软 件及高速存储单元组成。这类方案能够解决海量数据连续采集与存储问题,采集速度很高、 连续工作时间长、存储空间足够大,但缺点在于经济成本较高。
第二类方案传感器获取的电信号,首先经过具有压縮编码模块的数据采集装置转换为 专有数据格式,并进行压縮编码,再通过计算机外部总线进入计算机,最后保存到计算机附 带的外部存储器。这类方案能以较低的经济成本解决海量数据连续采集与存储问题,但由于 数据采集装置附带的压縮编码模块本身的缺点,如自身附带的数据缓存容量有限,使它很难 胜任高速数据采集需求。
在实际工业生产和科学研究中,还存在一类特别的需求,即对海量、高速、间歇性产生 的数据进行获取。对于这类需求,上述两类方案都难以较好地满足。

发明内容
有鉴于此,本发明的目的在于提供数据采集的方法及系统,用于实现对海量、高速、间 歇性产生的数据进行采集。
为实现上述目的,本发明提供了一种数据采集的系统,包括 传感器模块,用于将外部信号转换为模拟或数字电信号;
数据采集模块,用于提供所述传感器模块与大容量高速缓存模块之间的数据接口;大容量高速缓存模块,用于接收和临时保存所述数据采集模块发送的数据; 压縮编码模块,用于对所述大容量高速缓存模块中的数据进行压縮编码处理; 专用存储模块,用于保存所述经过压縮编码处理的数据。 本发明还提供了一种数据采集方法,包括
将外部信号转换为模拟或数字电信号,并写入大容量高速缓存,对所述大容量高速缓存 中的数据进行压縮编码处理,保存到专用存储模块中。
本发明通过利用大容量高速缓存模块和压縮编码模块共同对获取的数据进行压縮编码, 能够大大降低专用存储模块的空间需求,也降低海量数据存储的经济成本。


图l为本发明实施例中实现海量、高速、间歇性的数据采集的系统结构图; 图2为本发明实施例中利用图1系统实现海量、高速、间歇性的数据采集的方法流程图; 图3为本发明的实施例中对数据进行写入和压縮处理的方法流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细 描述。
图l为本发明实施例中实现海量、高速、间歇性的数据采集的系统结构图,该系统包括 传感器模块、数据采集模块、大容量高速缓存模块、压縮编码模块以及专用存储模块,其中
传感器模块,可以为各种能够输出电信号的传感器,如CCD、 CM0S、加速度传感器、光 电倍增管等,用于将外部信号转换为模拟或数字电信号。
数据采集模块,位于计算机中,根据所述传感器的类型选择使用,可以为各种数据采集 卡、记录卡或视频卡,提供所述传感器模块和计算机总线之间的接口,必要时对数据进行一 定的变换,如将模拟信号转换为数字信号。
大容量高速缓存模块,位于计算机中,可以为计算机主存储器或是硬盘,用于接收和临 时保存计算机获得的大量数据,并参与压縮编码计算。
压縮编码模块,常常位于计算机中,可以为计算机内部单个或多个中央处理器、外部计 算机集群系统,甚至是DSP (digital singnal processor,数字信号处理器)等专用硬件处 理卡,用于对所述大容量高速缓存模块中的数据进行压縮编码处理。该压縮编码处理可使用 各种压縮算法,如对于图像数据可以为JPEG、 PNG等;对于视频音频数据,可以为RM、 AVI、 WMA等;对于普通一维信号,可以为游程编码等。专用存储模块,用于保存最终获取的数据, 一般要求具有一定的容量,可以为通过专用 接口与计算机相连的本地硬盘,或是通过计算机网络与该数据采集系统相连的异地存储设备
通过以上系统,利用大容量高速缓存模块和压縮编码模块共同对获取的数据进行压縮编 码,能够大大降低专用存储模块的空间需求,也降低海量数据存储的经济成本。
图2是利用图1系统实现海量、高速、间歇性的数据采集的方法流程图,该方法具体包括 以下步骤
步骤201、 一个外部信号源能够产生周期性或非周期性间歇信号,所述传感器模块从该 外部信号源获取模拟或数字电信号。本实施例主要对间歇性数据进行采集处理。
步骤202、数据采集模块接收传感器获取的电信号,如果是模拟信号则将其转换为数字 信号,并将产生的数据写入大容量高速缓存模块。
步骤203、数据在大容量高速缓存模块和压縮编码模块的配合下进行压縮编码处理。由 于外部信号来源的间歇性,数据产生和数据压縮都以间歇性方式进行,后一事件的存在取决 于大容量高速缓存模块中是否有数据,只要缓存中存在数据,就要对其进行压縮处理。具体 处理过程如图3所示,包括以下步骤
步骤2030、在主存储器中申请N块高速缓存存储区域作为缓存区。这一步骤是一个预处 理的步骤,在整个流程开始前就已执行,数据采集模块采集到的数据被直接写入该区域。
步骤2031、初始化m^。 m值是缓存的计数器,表示将数据存入哪一块存储区域。
步骤2032、持续检测数据采集模块是否有数据写入,当有写入时,执行下一步。
步骤2033、获取该数据,向缓存区申请缓存块m,并将数据写入该缓存块。
步骤2034、判断是否还有其它数据写入,如果有,则令m,+ l,判断m是否大于N,如果 大于,则令m^,并执行步骤2033;否则直接执行步骤2033。如果没有其它数据写入,则结 束本流程。这一步骤的作用是将新数据写入下一缓存块,当m〉N时,表明缓存区的最后一个 缓存块都已分配完,如果再有新数据到达,则将计数器归l,将以前写入的并已完成压縮保 存的第一个缓存块覆盖。
以上流程是向缓存器写入数据的流程,与此同时,还执行对缓存区中数据进行压縮保存 的流程,该流程包括以下步骤
步骤2031'、初始化!!=1。 n值是压縮存储的计数器,表示将哪一块存储区域中的数据进 行压縮保存。
步骤2032'、判断缓存块n中是否保存有数据,如果有,则执行下一步;否则令『n+l,令!!=1。本步骤的目的主要是从第一个缓存块起,査找被写入数 据的缓存块,当n〉N时,表明整个缓存区已査找完,此时应重新査找第一个块。
步骤2033'、将缓存块n中的数据压縮编码并保存到专用存储模块中,并释放缓存块n。 步骤2034'、令11=11+1,执行步骤2032'。如果n〉N,则令11=1。 持续执行以上步骤,直到对缓存区中的所有数据都完成压縮保存。
通过以上流程,写入到大容量高速缓存模块中的数据在大容量高速缓存模块和压縮编码 模块的配合下经过一系列压縮编码处理,最后被保存到专用存储模块中。
该方法利用两个独立的线程对整个数据采集过程进行控制, 一方面对数据产生过程进行 控制,即控制数据采集模块将传感器模块获取的数据写入大容量高速缓存模块;另一方面对 数据压縮保存过程进行控制,即控制压縮编码模块对大容量高速缓存模块中的数据进行压縮 编码。这两个独立的线程中分别对上述两个过程进行控制,两个线程通过共享高速缓存的方 式进行同步,以便实现数据产生与数据压縮保存的并行化。
本发明涉及两种速率, 一种是数据采集的平均速率Vh即单位时间内传感器模块从外部 信号源获取并最终写入大容量高速缓存模块的数据量。对于周期间歇性数据采集,可表示为 :在外部信号源的一个工作周期内,传感器模块获取、并被最终写入大容量高速缓存模块的 数据量Sh与外部信号源的工作周期h的比值;另一种是连续工作状态下数据压縮与保存的 平均速率V2,即单位时间内从大容量高速缓存模块持续导出并写入专用存储模块的数据量, 具体表示为,当大容量高速缓存模块中具有足够多的数据量时,处理一定的数据量S2,与所 消耗时间T2的比值。理论上,在数据采集过程中,只要使V2》V1,即可保证数据采集的正常 进行,实际实施过程中,为了确保数据安全,应使V2和V1间保留一段安全距离。
通过以上实施例,在两个线程的控制下,利用大容量高速缓存模块和压縮编码模块共同 对获取的数据进行压縮编码,能够大大降低专用存储模块的空间需求,即降低海量数据存储 的经济成本。
本发明通过软件实现了数据产生与数据压縮保存的并行化,主要适用于海量、高速、间 歇性数据采集。另外对于海量、高速、连续性数据采集需求,如果也符合V2》V1的条件,本 发明同样适用,即在经济条件允许时,采用更高性能的高速缓存模块、压縮编码模块以及专 用存储模块,可以提高数据压縮与保存的平均速率V2,使本发明的适用范围更广。
下面以另一实施例来阐述本发明如何应用。
本实施例中的传感器模块包含信号获取和信号传输两个部分。信号获取部分采用高灵敏 线阵CCD,最大行频52KHz,有效像素2048,理论最大数据采集速率约104MBps;信号传输部分可选base配置或medium配置的Camera Link接口线缆。
数据采集模块采用加拿大IO Industries公司的图像采集卡,采用33MHz/32位PCI总线设计,理论突发性数据带宽峰值132MBps,实际稳定带宽可达95MBps。
大容量高速缓存模块采用计算机内部主存储器,具体采用2根DDR 400型、SDRAM芯片、2GB内存条,主存总线频率400腿z,理论最大带宽1.6GBps。
压縮编码模块采用计算机内部单核心中央处理器,2.8GHz CPU,前端总线频率800腿z,理论最大带宽3. 2GBps。
专用存储模块采用SCSI硬盘,转速7200RPM,缓存8MB,平均读写速率约60MBps。
软件部分采用基于图像采集卡配套的软件开发包(SDK)开发而来的图像采集控制软件。所述图像采集控制软件基于多线程实现,主线程主要用于向计算机主存储器申请若干个内存块,构成通过一定方式进行管理的内存池。另外包含两个子线程,子线程l用来控制CL160图像采集卡将线阵CCD获取的图像数据持续分块写入内存池。在每次写入数据之前,首先要从内存池申请一个内存块用于存放数据。子线程2利用中央处理器,对内存池中的数据进行持续分块压縮编码并保存,每次数据保存后,需将存放当前数据的内存块释放并归还给内存池;两个子线程通过共享内存池的方式进行同步,以此实现数据产生与数据压縮保存的并行化。
本实施例有一个作周期性直线运动的待测目标,每个周期内,所述目标在^时间段内作匀速直线运动,在t2时间段内回到起始位置或不运动,在子线程l的控制下,线阵CCD仅在^时间段内才会对待测目标成像,因此该目标构成一个间歇性信号源。
在待测目标的一个运动周期,即一个完整的数据采集周期内,在子线程l的控制下,线阵CCD在^时间段内采集到的图像数据,将经过Camera Link接口线缆持续到达图像采集卡,再经PCI总线和计算机系统总线进入内存池,保存为原始格式(RAW格式)。在子线程2的控制下, 一旦内存池中存在数据,中央处理器便开始将RAW格式数据压縮成JPEG格式数据,最后经计算机内部总线保存到SCSI硬盘,同时内存池的空间得到释放。上述过程中,数据产生与数据压縮保存通过图像采集软件的控制得以并行进行,因存在V2》V^勺约束条件,数据的压縮保存将在t2时间段内完成。
实际测试中,考察一个完整的数据采集周期,子线程l控制线阵CCD在tf4s内对待测目标持续成像并将图像数据写入内存池,共产生117MB的数据。为兼顾图像品质和图像尺寸,在子线程2中,选择压縮比率为10的JPEG压縮算法,实测在t2时间段的第3s (即图像压縮总共用去7s)即可将内存池中的全部图像数据压縮并保存至SCSI硬盘(占用所述SCSI硬盘空间约1.74MB,节省99%的空间),另t2时间段总长为8s。由此可以推算,
Vfll7MB/12s二9. 75MBps, V2=l 17MB/7s=16. 7MBps,满足V2》V!的前提条件,因此整个间歇性数据采集过程可以正常进行。
上述采集过程中,如果待测目标作连续直线运动,S卩tf0,则上述问题转化为连续性数据采集问题;根据上述条件,可以推算连续性数据采集时,V尸29.25MBps, V2=16. 7MBps,由于不满足V2》V^勺约束条件,故进行连续性数据采集时会发生数据丢失。但如果经济条件允许,采用更高性能的数据压縮相关设备,如压縮编码模块采用多核心中央处理器或计算机集群系统,进一步提高V2,使之高于Vh则连续性数据采集过程也可正常进行。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
权利要求1一种数据采集系统,其特征在于,包括传感器模块,用于将外部信号转换为模拟或数字电信号;数据采集模块,用于提供所述传感器模块与大容量高速缓存模块之间的数据接口;大容量高速缓存模块,用于接收和临时保存所述数据采集模块发送的数据;压缩编码模块,用于对所述大容量高速缓存模块中的数据进行压缩编码处理;专用存储模块,用于保存所述经过压缩编码处理的数据。
2.根据权利要求l所述的系统,其特征在于,所述传感器模块为电荷 耦合器件、CM0S传感器、加速度传感器或光电倍增管。
3.根据权利要求1或2所述的系统,其特征在于,所述数据采集模块 根据所述传感器的类型选择使用,为数据采集卡、记录卡或视频卡。
4.根据权利要求1或2所述的系统,其特征在于,所述高速缓存模块 为计算机主存储器或硬盘。
5.根据权利要求1或2所述的系统,其特征在于,所述压縮编码模块 为计算机内部单个或多个中央处理器或图形处理器、外部计算机集群系统,或数字信号处理器。
6.根据权利要求1或2所述的系统,其特征在于,所述压縮编码的方法为对于图像数据该压縮编码方法为联合图像专家组JPEG或便携式网络图片PNG算法;对于视频音频数据该压縮编码方法为RM、 AVI或WMA算法; 对于普通一维信号该压縮编码方法为游程编码。
7 根据权利要求1或2所述的系统,其特征在于,所述专用存储模块 为通过专用接口与计算机相连的本地硬盘,或是通过计算机网络与该数据采集系统相连的异 地存储设备。
8 一种数据采集方法,其特征在于,包括 将外部信号转换为模拟或数字电信号,并写入大容量高速缓存,对所述大容量高速缓 存中的数据进行压縮编码处理,保存到专用存储模块中。
9 根据权利要求8所述的方法,其特征在于,该方法进一步包括: 在主存储器中申请N块高速缓存存储区域作为大容量高速缓存。
10 根据权利要求9所述的方法,其特征在于,所述写入大容量高速 缓存具体包括设置待写入缓存块的计数器值111=1;当有数据要写入大容量高速缓存时,向所述大容量高速缓存申请缓存块m,并将数据写 入该缓存块;判断是否还有其它数据写入,如果有,则令m,+ l,并执行上一步;否则结束本流程。
11 根据权利要求10所述的方法,其特征在于,该方法进一步包括: 判断m是否大于N,如果大于,则令m^。
12 根据权利要求9或10所述的方法,其特征在于,所述对大容量高速缓存中的数据进行压縮编码处理并保存的步骤具体包括 设置待压縮存储缓存块的计数器值11=1;判断缓存块n中是否保存有数据,如果有,则执行下一步;否则令『n+l,并继续执行 本步骤;将缓存块n中的数据压縮编码并保存到专用存储模块中,释放缓存块n,令『n+l,并执行上一步。
13 根据权利要求12所述的方法,其特征在于,该方法进一步包括: 判断n是否大于N,如果大于,则令!!=1。
14 根据权利要求8至11中任意一项所述的方法,其特征在于,单位 时间内从大容量高速缓存模块持续导出并写入专用存储模块的数据量不少于单位时间内从外 部获取并最终写入大容量高速缓存模块的数据量。
全文摘要
本发明公开了一种数据采集系统,包括传感器模块,将外部信号转换为模拟或数字电信号;数据采集模块,提供传感器模块与大容量高速缓存模块之间的数据接口;大容量高速缓存模块,接收和临时保存数据采集模块发送的数据;压缩编码模块,对大容量高速缓存模块中的数据进行压缩编码处理;专用存储模块,保存经过压缩编码处理的数据。本发明还公开了一种数据采集方法,包括将外部信号转换为模拟或数字电信号,并写入大容量高速缓存,对所述大容量高速缓存中的数据进行压缩编码处理,保存到专用存储模块中。本发明能够大大降低专用存储模块的空间需求,也降低海量数据存储的经济成本。
文档编号H04N5/30GK101478643SQ200910300109
公开日2009年7月8日 申请日期2009年1月8日 优先权日2009年1月8日
发明者程 严, 斌 张, 李安安, 骆清铭, 辉 龚 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1