CN106484564A - 一种采集数据存储方法 - Google Patents
一种采集数据存储方法 Download PDFInfo
- Publication number
- CN106484564A CN106484564A CN201610827961.9A CN201610827961A CN106484564A CN 106484564 A CN106484564 A CN 106484564A CN 201610827961 A CN201610827961 A CN 201610827961A CN 106484564 A CN106484564 A CN 106484564A
- Authority
- CN
- China
- Prior art keywords
- file
- tdms
- data
- queue
- tdms file
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种采集数据存储方法,在计算机的内存中,初始化至少两个队列和至少两份TDMS文件,各队列和TDMS文件一一对应;将读取到内存中的原始采集数据进行复制,分别存储到各队列中,进行缓存;使用轮询的机制,轮流打开各文件,将对应队列中的数据写进该文件中,并关闭该文件。本发明使用轮询的机制写文件,可以确保某一具体的时刻,只有一个文件处于操作中。即便该文件正处于记录数据的状态,工业控制计算机突然断电,控制程序无法继续运行,使得该文件无法关闭,造成该文件无效。但在断电时刻未工作的那份文件是正常的,里面记录了采集过程中的数据。这样就避免了采集数据完全丢失的问题,提高了采集数据存储的可靠性和稳定性。
Description
技术领域
本发明涉及一种采集数据存储方法,尤其涉及一种具有断电保护功能的采集数据存储方法,属于数据采集与存储技术领域。
背景技术
如图1所示,在工业测试领域,为了实现数据采集功能,一般将数据采集设备通过传输线与工业控制计算机相连,同时在工业控制计算机上安装控制程序,实现相应的数据采集与存储。
进行数据采集的过程,实际上就是将采集设备所采集的数据首先放置到工业控制计算机的内存中,然后通过控制程序读取计算机缓存的数据,再对所述数据进行分析、存储等。
目前,控制程序中一般采用的存储方法是:直接将计算机缓存中的数据拿来书写TDMS文件,以实现对采集数据的保存。其中,TDMS(Technical Data ManagementStreaming),即技术数据管理流,是专为存储测量数据设计的一种文件格式。由于内存直接访问技术的引入,TDMS存储方式具有高速的数据吞吐量,因而被大量采用。
TDMS文件正常的访问流程如图2所示,在记录数据之前,需要新建一个文件并打开,然后向该文件中写入数据。终止文件记录前,需要对该文件进行关闭,否则会造成文件破损,使得文件不能被正常打开。
上述TDMS存储方法具有如下缺陷:在数据采集过程中,如果突然断电,也就是记录文件的过程异常中断,文件没有正常关闭,就会导致数据文件破损、无法打开,使采集者丢失断电前所有采集的数据。
发明内容
本发明要解决的技术问题是如何避免突然断电所造成的断电前所有采集数据全部丢失。
为了解决上述技术问题,本发明的技术方案是提供一种采集数据存储方法,其特征在于,该方法由以下3个步骤组成:
步骤1:在计算机的内存中,初始化至少两个队列和至少两份TDMS文件,各队列和TDMS文件一一对应;
步骤2:将读取到内存中的原始采集数据进行复制,分别存储到各队列中,进行缓存;
步骤3:使用轮询的机制,轮流打开各TDMS文件,将对应队列中的数据写进该TDMS文件中,并关闭该TDMS文件。
优选地,所述步骤1中,队列数量和记录TDMS文件的总份数相同。
优选地,所述队列数量和记录TDMS文件的总份数均为二。
更优选地,所述队列和TDMS文件分别命名为:队列1、队列2和TDMS文件1、TDMS文件2;所述步骤3的具体过程为:记录TDMS文件时间间隔设定后,第一次满足该时间间隔后,开始将队列1中的数据写入到TDMS文件1中,书写结束后,将TDMS文件1关闭;再次达到上述时间间隔后,将队列2中的数据写入到TDMS文件2中,书写结束后,将TDMS文件2关闭;再次达到上述时间间隔后,将队列1中的数据写入到TDMS文件1中,书写结束后,将TDMS文件1关闭;……依此轮询的方式,进行书写文件。
进一步地,所述步骤3中,启动一个时钟控制器,进行轮询定时控制。
更进一步地,数据采集任务停止后,将时钟控制器关闭,最后一次写入数据并正常关闭的TDMS文件即存储了所采集的数据。
优选地,在进行采集数据记录的过程中,无论哪一个时刻遭遇断电,都可以保证至少有一份TDMS文件是按照正常的操作流进行工作的,这份TDMS文件中的数据不会因为断电而丢失。
本发明提供的方法克服了现有技术的不足,使用轮询的机制写文件,可以确保某一具体的时刻,只有一个TDMS文件处于操作中。即便该TDMS文件正处于记录数据的状态,工业控制计算机突然断电,控制程序无法继续运行,使得该TDMS文件无法关闭,造成该TDMS文件无效。但在断电时刻未工作的那份TDMS文件是正常的,里面记录了采集过程中的数据。这样就避免了采集数据完全丢失的问题,提高了采集数据存储的可靠性和稳定性。
附图说明
图1为数据采集系统结构示意图;
图2为现有的TDMS存储方法原理图;
图3为本实施例提供的采集数据存储方法原理图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
图3为本实施例提供的采集数据存储方法原理图,所述的采集数据存储方法的具体步骤如下:
步骤1:在工业控制计算机的内存中,初始化两个队列,命名为队列1和队列2;初始化两个TDMS文件,命名为TDMS文件1和TDMS文件2;TDMS文件1与队列1相对应,TDMS文件2与队列2相对应。
步骤2:将读取到内存中的原始采集数据进行复制,分别存储到队列1和队列2中,进行缓存。
步骤3:启动一个时钟控制器,每隔一段时间后,轮流打开TDMS文件1、TDMS文件2,然后将与之对应队列中的数据写进文件并关闭文件。例如,采集一分钟以后,开始将队列1中的数据写入到TDMS文件1中,书写结束后将TDMS文件1关闭;采集两分钟以后,将队列2中的数据写入到TDMS文件2中,书写结束后将TDMS文件2关闭……依此轮询的方式,进行书写文件。
其中,时钟控制器的间隔时间可根据需要自行设定,不限于本实施例所举例的一分钟。
控制程序停止前,可将时钟控制器关闭,按先后顺序将队列中的数据书写到对应的文件中,并正常关闭文件。
按照上述的方法进行采集数据记录的过程中,无论哪一个时刻工业控制计算机遭遇了断电,都可以保证至少有一份TDMS文件是按照正常的操作流进行工作的,这份TDMS文件中的数据不会因为断电而丢失。这样就解决了断电造成的采集数据全部丢失的问题。
Claims (7)
1.一种采集数据存储方法,其特征在于,该方法由以下3个步骤组成:
步骤1:在计算机的内存中,初始化至少两个队列和至少两份TDMS文件,各队列和TDMS文件一一对应;
步骤2:将读取到内存中的原始采集数据进行复制,分别存储到各队列中,进行缓存;
步骤3:使用轮询的机制,轮流打开各TDMS文件,将对应队列中的数据写进该TDMS文件中,并关闭该TDMS文件。
2.如权利要求1所述的一种采集数据存储方法,其特征在于:所述步骤1中,队列数量和记录TDMS文件的总份数相同。
3.如权利要求1或2所述的一种采集数据存储方法,其特征在于:所述队列数量和记录TDMS文件的总份数均为二。
4.如权利要求3所述的一种采集数据存储方法,其特征在于:所述队列和TDMS文件分别命名为:队列1、队列2和TDMS文件1、TDMS文件2;所述步骤3的具体过程为:记录TDMS文件时间间隔设定后,第一次满足该时间间隔后,开始将队列1中的数据写入到TDMS文件1中,书写结束后,将TDMS文件1关闭;再次达到上述时间间隔后,将队列2中的数据写入到TDMS文件2中,书写结束后,将TDMS文件2关闭;再次达到上述时间间隔后,将队列1中的数据写入到TDMS文件1中,书写结束后,将TDMS文件1关闭;……依此轮询的方式,进行书写文件。
5.如权利要求4所述的一种采集数据存储方法,其特征在于:所述步骤3中,启动一个时钟控制器,进行轮询定时控制。
6.如权利要求5所述的一种采集数据存储方法,其特征在于:数据采集任务停止后,将时钟控制器关闭,最后一次写入数据并正常关闭的TDMS文件即存储了所采集的数据。
7.如权利要求1所述的一种采集数据存储方法,其特征在于:在进行采集数据记录的过程中,无论哪一个时刻遭遇断电,都可以保证至少有一份TDMS文件是按照正常的操作流进行工作的,这份TDMS文件中的数据不会因为断电而丢失。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610827961.9A CN106484564B (zh) | 2016-09-18 | 2016-09-18 | 一种采集数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610827961.9A CN106484564B (zh) | 2016-09-18 | 2016-09-18 | 一种采集数据存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484564A true CN106484564A (zh) | 2017-03-08 |
CN106484564B CN106484564B (zh) | 2020-03-31 |
Family
ID=58267215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610827961.9A Active CN106484564B (zh) | 2016-09-18 | 2016-09-18 | 一种采集数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484564B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109922490A (zh) * | 2019-01-28 | 2019-06-21 | 行目数据科技有限公司 | 一种数据防中断持续传输管理系统 |
CN112559198A (zh) * | 2019-09-10 | 2021-03-26 | 北京东土科技股份有限公司 | 总线数据存储到存储器上的方法、存储装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080147933A1 (en) * | 2006-12-19 | 2008-06-19 | Kwok-Yan Leung | Dual-Channel Network Storage Management Device And Method |
CN204790975U (zh) * | 2014-06-20 | 2015-11-18 | 想象技术有限公司 | 数据通路流水线 |
CN105511989A (zh) * | 2015-11-25 | 2016-04-20 | 苏州创智芯电子科技有限公司 | 多读写器共用总线过热冗余自动切换的系统 |
CN105653621A (zh) * | 2015-12-25 | 2016-06-08 | 中国建设银行股份有限公司 | 不间断业务系统及其数据导出方法、流数据服务模块 |
CN105700849A (zh) * | 2016-02-25 | 2016-06-22 | 邦彦技术股份有限公司 | 一种基于fpga实现pcm音频采集装置及系统及方法 |
-
2016
- 2016-09-18 CN CN201610827961.9A patent/CN106484564B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080147933A1 (en) * | 2006-12-19 | 2008-06-19 | Kwok-Yan Leung | Dual-Channel Network Storage Management Device And Method |
CN204790975U (zh) * | 2014-06-20 | 2015-11-18 | 想象技术有限公司 | 数据通路流水线 |
CN105511989A (zh) * | 2015-11-25 | 2016-04-20 | 苏州创智芯电子科技有限公司 | 多读写器共用总线过热冗余自动切换的系统 |
CN105653621A (zh) * | 2015-12-25 | 2016-06-08 | 中国建设银行股份有限公司 | 不间断业务系统及其数据导出方法、流数据服务模块 |
CN105700849A (zh) * | 2016-02-25 | 2016-06-22 | 邦彦技术股份有限公司 | 一种基于fpga实现pcm音频采集装置及系统及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109922490A (zh) * | 2019-01-28 | 2019-06-21 | 行目数据科技有限公司 | 一种数据防中断持续传输管理系统 |
CN109922490B (zh) * | 2019-01-28 | 2022-01-28 | 广东中视信息科技有限公司 | 一种数据防中断持续传输管理系统 |
CN112559198A (zh) * | 2019-09-10 | 2021-03-26 | 北京东土科技股份有限公司 | 总线数据存储到存储器上的方法、存储装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106484564B (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2007062256A3 (en) | Microcontroller based flash memory digital controller system | |
CN104111870B (zh) | 一种中断处理装置及中断处理方法 | |
CN104331487B (zh) | 日志的处理方法及装置 | |
EP3214518B1 (en) | Multiple units offline variable monitoring system and method | |
DE69916583D1 (de) | Medienspeichervorrichtung mit eingebettetem datenfilter zur dynamischen datenverarbeitung während lese- und schreiboperationen | |
CN102521349A (zh) | 一种文件预读方法 | |
CN102761466A (zh) | 一种ieee 1394 总线数据记录处理系统和方法 | |
CN101206614B (zh) | 仿真特殊功能寄存器的仿真器 | |
CN104537074A (zh) | 一种提高数据库系统写日志性能的方法 | |
CN106484564A (zh) | 一种采集数据存储方法 | |
CN114116527A (zh) | 基于可编程融合芯片的NVMe SSD存储方法及系统 | |
CN103809502B (zh) | 控制器及记录介质 | |
CN108959456B (zh) | 一种自动恢复补全数据的方法 | |
CN102289368A (zh) | 一种获取串口打印信息的方法及系统 | |
CN105528314B (zh) | 一种数据处理方法及控制设备 | |
CN102096734A (zh) | 一种验证总线乱序传输的方法和装置 | |
CN106990917B (zh) | 文件读写方法及系统 | |
CN107203433A (zh) | 一种共享内存的多个程序间数据同步方法和装置 | |
CN102664769A (zh) | 网络封包采集与解析系统及其实现方法 | |
CN201278146Y (zh) | 一种基于fpga实现ata接口信号捕获装置 | |
CN106775480A (zh) | 一种基于LabVIEW的实时监控系统数据记录方法 | |
CN104407988B (zh) | 一种提高数据存储效率的方法及系统 | |
CN103957372A (zh) | 基于Windows+RTX的实时图像采集处理系统 | |
CN104714892B (zh) | 数据存取命令执行方法以及使用该方法的快闪存储器装置 | |
CN103488433A (zh) | 一种基于分布式文件系统的批量文件操作方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |