CN106484564B - 一种采集数据存储方法 - Google Patents
一种采集数据存储方法 Download PDFInfo
- Publication number
- CN106484564B CN106484564B CN201610827961.9A CN201610827961A CN106484564B CN 106484564 B CN106484564 B CN 106484564B CN 201610827961 A CN201610827961 A CN 201610827961A CN 106484564 B CN106484564 B CN 106484564B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- tdms
- queue
- writing
- 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.)
- Active
Links
Images
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 (2)
1.一种采集数据存储方法,其特征在于,该方法由以下3个步骤组成:
步骤1:在计算机的内存中,初始化至少两个队列和至少两份TDMS文件,各队列和TDMS文件一一对应;
步骤2:将读取到内存中的原始采集数据进行复制,分别存储到各队列中,进行缓存;
步骤3:使用轮询的机制,轮流打开各TDMS文件,将对应队列中的数据写进该TDMS文件中,并关闭该TDMS文件;
在进行采集数据记录的过程中,无论哪一个时刻遭遇断电,都可以保证至少有一份TDMS文件是按照正常的操作流进行工作的,这份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文件即存储了所采集的数据。
2.如权利要求1所述的一种采集数据存储方法,其特征在于:所述步骤1中,队列数量和记录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 CN106484564A (zh) | 2017-03-08 |
CN106484564B true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109922490B (zh) * | 2019-01-28 | 2022-01-28 | 广东中视信息科技有限公司 | 一种数据防中断持续传输管理系统 |
CN112559198A (zh) * | 2019-09-10 | 2021-03-26 | 北京东土科技股份有限公司 | 总线数据存储到存储器上的方法、存储装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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音频采集装置及系统及方法 |
Family Cites Families (1)
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 |
-
2016
- 2016-09-18 CN CN201610827961.9A patent/CN106484564B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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音频采集装置及系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106484564A (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI628542B (zh) | 快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置 | |
US8572337B1 (en) | Systems and methods for performing live backups | |
US9785642B2 (en) | Reducing a backup time of a backup of data files | |
US7900003B2 (en) | System, method and computer program product for storing an information block | |
US9910608B2 (en) | Storage system with update frequency based replication | |
US7567994B2 (en) | Method and apparatus to proactively capture and transmit dense diagnostic data of a file system | |
CN103514112B (zh) | 一种数据存储方法及系统 | |
US20040117690A1 (en) | Method and apparatus for using a hardware disk controller for storing processor execution trace information on a storage device | |
JP2017079053A (ja) | ストレージジャーナリングを改善する方法およびシステム | |
CN102981944B (zh) | 一种基于文件系统的日志存储方法 | |
JP2014120179A (ja) | 停電障害状況におけるイベントトレース情報の復旧 | |
JP6348671B2 (ja) | Emuトレーンのmpuのためのオフラインの変量のモニタリングシステムおよび方法 | |
TWI439925B (zh) | 內嵌式系統及其執行緒與緩衝區管理方法 | |
US20120084503A1 (en) | Disk control apparatus, disk control method, and storage medium storing disk control program | |
CN108089971A (zh) | 基于嵌入式实时系统的日志服务方法和系统 | |
CN106484564B (zh) | 一种采集数据存储方法 | |
JP2006277078A (ja) | ログ情報管理装置、ログ情報管理方法およびログ情報管理プログラム | |
US20120047387A1 (en) | Cache control device and cache control method | |
CN105095418B (zh) | 一种处理写请求的方法和装置 | |
CN110221932A (zh) | 计算机及其控制方法 | |
WO2015198600A1 (ja) | 解析装置、解析方法、および、解析プログラムが記録された記憶媒体 | |
CN106775480A (zh) | 一种基于LabVIEW的实时监控系统数据记录方法 | |
EP2270663A1 (en) | Method and apparatus for dealing with write errors when writing information data into flash memory devices | |
KR100713769B1 (ko) | 디스크 관리 장치 및 디스크 관리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 | |
US20150249708A1 (en) | System and method for asynchronous replication of a storage in a computing environment |
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 |