CN104407988B - 一种提高数据存储效率的方法及系统 - Google Patents
一种提高数据存储效率的方法及系统 Download PDFInfo
- Publication number
- CN104407988B CN104407988B CN201410640923.3A CN201410640923A CN104407988B CN 104407988 B CN104407988 B CN 104407988B CN 201410640923 A CN201410640923 A CN 201410640923A CN 104407988 B CN104407988 B CN 104407988B
- Authority
- CN
- China
- Prior art keywords
- data
- fifo buffer
- file
- high speed
- size
- 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
Landscapes
- Storing Facsimile Image Data (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明通过将数据先写入一个高速先入先出缓存器,再写入一个临时先入先出缓存器的方式,对需要存储的数据进行缓存。在数据写满高速先入先出存储器后,再将高速先入先出存储器的数据写入临时先入先出缓存器,同时打开文件,存储数据。存储完毕后,关闭文件。这样就避免了对单个数据进行打开文件和关闭文件的操作,而是对一批数据集中进行一次打开文件和关闭文件的操作,提高了存储数据的效率。存储数据的效率提高,不再降低了对数据采样速度的限制,也从而整体提高了采集‑存储过程的速度。
Description
技术领域
本发明涉及自动控制领域,特别是涉及一种提高数据存储效率的方法及系统。
背景技术
自动化控制技术目前已经适用于社会生活的各个领域。对于自动化控制来说,数据的采集和存储都是必须的,也是十分重要的。尤其是要提高工作效率,必然对数据的采集和存储有一定的要求。
目前,一般的采集-存储过程中,都要对单个数据进行采集、打开文件、存储单个数据、关闭文件的操作。在这个过程中,因为对每个数据都要进行打开文件和关闭文件的操作,因而即使提高数据采样频率,整个采集-存储的周期也会因为在存储过程中需要不断打开文件和关闭文件所消耗的时间而增大。
发明内容
本发明的目的是提供一种提高数据存储效率的方法及系统,以达到提高数据存储效率的目的。
一种提高数据存储效率的方法,包括:
采集数据;
将所述数据写入高速先入先出缓存器中;
判断所述高速先入先出缓存器中的数据是否达到预定大小;
如果达到预定大小,则将所述高速先入先出缓存器中的数据写入临时先入先出缓存器并打开文件;
存储所述写入临时先入先出缓存器的数据;
关闭所述文件。
优选地,还包括:若所述高速先入先出缓存器中的数据未达到预定大小,则继续写入数据。
优选地,所述采集数据包括:按照预定周期性采集数据。
优选地,所述采集数据之后,还包括:对采集的数据进行数字滤波。
一种提高数据存储效率的系统,包括:
数据采集模块,用于采集数据;
第一数据写入模块,用于将所述数据写入高速先入先出缓存器;
高速先入先出缓存器,用于缓存所述数据;
判断单元,用于判断所述数据大小是否达到预定大小;
第二写入单元,用于若所述数据达到所述预定大小,则将所述数据写入临时先入先出缓存器,并打开文件;
临时先入先出缓存器,用于存储所述第二写入单元写入的所述数据;
第二判断单元,判断所述存储所述第二写入单元写入所述数据是否完成,如果完成则关闭文件。
优选地,还包括数字滤波单元,用于对所述采集的数据进行数字滤波。
优选地,所述高速先入先出缓存器的大小为:A=(B+C)×E×F/D,
其中,A为所述高速先入先出缓存器的大小,B为打开文件和关闭文件的动作时间,C为所述数据写入的时间,D为所述采集数据的采集周期,E为所述采集周期内采集到的数据大小,F为第一预设系数。
优选地,所述临时先入先出缓存器的大小为:A=(B+C)×E×G/D,
其中,A为所述临时先入先出缓存器的大小,B为打开文件和关闭文件的动作时间,C为所述数据写入的时间,D为所述采集数据的采集周期,E为所述采集周期内采集到的数据大小,G为第二预设系数。
优选地,若所述高速先入先出缓存器中的数据未达到预定大小,则所述第一数据写入模块继续写入采集到的数据。
因此,本发明具有如下有益效果:
本发明通过将数据先写入一个高速先入先出缓存器,再写入一个临时先入先出缓存器的方式,对需要存储的数据进行缓存。在数据写满高速先入先出存储器后,再将高速先入先出存储器的数据写入临时先入先出缓存器,同时打开文件,存储数据。存储完毕后,关闭文件。这样就避免了对单个数据进行打开文件和关闭文件的操作,而是对一批数据集中进行一次打开文件和关闭文件的操作,提高了存储数据的效率。存储数据的效率提高,不再降低了对数据采样速度的限制,也从而整体提高了采集-存储过程的速度。
附图说明
图1为本发明提供的一种提高数据存储效率的方法流程图;
图2为本发明提供的另一种提高数据存储效率的方法流程图;
图3为本发明提供的一种提高数据存储效率的系统结构示意图;
图4为本发明提供的另一种提高数据存储效率的系统结构示意图。
具体实施方式
本发明的核心是提供一种提高数据存储效率的系统及方法。
为了使本技术领域的人员更好地理解本发明的方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
在本发明公开了一种提高数据存储效率的方法中,参见图1,该实施例包括以下步骤:
S101、采集数据。
对数据进行采集和记录的过程中,首先在于数据采集。采集的过程取决于控制器的采样频率。但采集-记录的整个过程所需要的时间不仅取决于控制器的采样频率,还在于数据记录的速度。数据记录的速度低,会限制控制器的采样效率。
S102、将所述数据写入高速先入先出缓存器中。
数据存储的过程中,需要不断地打开和关闭文件。如果对每一个写入的数据都进行一次打开文件和关闭文件的操作,是非常耗时的,极大地降低了数据采集-记录的整体效率。
因此,本发明现将采集的数据写入高速先入先出缓存器中,避免对每个数据直接存入记录单元时,对每个数据都进行打开文件和关闭文件的操作。
S103、判断所述高速先入先出缓存器中的数据是否达到预定大小。
在这里,需要对高速先入先出缓存器的大小进行设定。为了提高存储效率,可以根据控制器的采样频率设计高速先入先出缓存器。
S104、如果达到预定大小,则将所述高速先入先出缓存器中的数据写入临时先入先出缓存器并打开文件。
高速先入先出缓存器写满后,即将缓存的数据一次导入临时先入先出缓存器。同时,打开文件,准备存储导入临时先入先出缓存器的数据。
S105、存储所述写入临时先入先出缓存器的数据。
对导入临时先入先出缓存器的数据进行存储。
S106、关闭所述文件。
数据存储完毕,关闭文件。
在本发明提供的方法中,先对采样到的数据缓存,在将缓存的数据一次性存储,这样只需对一次性存储的所有数据进行一次打开文件和关闭文件的动作。本发明的方案不需要再存储数据时,对每一个数据进行一次打开文件和关闭文件的操作,因此提高了存储数据的效率。
本发明还公开了一种提高存储效率的方法,参见图2,该实施例包含以下内容:
S201、采集数据。
在本发明提供的一个具体的实施例中,采集数据时按照固定的采样周期对数据进行采集。
在本发明提供的其他实施例中,还可以在采集的数据后,对采集到的数据进行数字滤波。当然,根据实际情况,可以设计不同的滤波方法。
S202、将数据写入高速先入先出缓存器中。
S203、判断高速先入先出缓存器中的数据是否达到预定大小。
在这里,高速先入先出缓存器的预定大小的设计可以根据采样频率进行调整。在一个具体的场景下,可以采取以下的设计方法:高速先入先出缓存器的大小为:A=(B+C)×E×F/D,其中,A为所述高速先入先出缓存器的大小,B为打开文件和关闭文件的动作时间,C为所述数据写入的时间,D为所述采集数据的采集周期,E为所述采集周期内采集到的数据大小,F为第一预设系数。
具体的,可以令F=1.5,当然,在实际情况中,也可以采用其他数值。
S204、如果达到预定大小,则将所述高速先入先出缓存器中的数据写入临时先入先出缓存器并打开文件。
对临时先入先出缓存器的大小可以设计为:A=(B+C)×E×G/D,其中,A为所述临时先入先出缓存器的大小,B为打开文件和关闭文件的动作时间,C为所述数据写入的时间,D为所述采集数据的采集周期,E为所述采集周期内采集到的数据大小,G为第二预设系数。在这里,G的具体取值可以是1.5。当然,在实际中,可以根据需要取值。
具体的,当F=G时,临时先入先出缓存器的大小与高速先入先出缓存器大小一致,由此可以保持数据由高速先入先出缓存器导入临时先入先出缓存器时,一次导入完毕。
S205、若高速先入先出缓存器中的数据未达到预定大小,则继续写入数据。
在这里,在高速先入先出存储器未写满时,则继续写入采集到的数据,直到将其写满。在一个具体的场景下,也可以是继续写入经过数字滤波的数据。
S206、存储写入临时先入先出缓存器的数据。
S207、关闭文件。
本发明还公开了一种提高数据存储效率的系统,参见图3,该系统包括:
数据采集模块10,用于采集数据。
第一数据写入模块20,用于将数据写入高速先入先出缓存器30。
高速先入先出缓存器30,用于缓存所述数据。
判断单元40,用于判断数据大小是否达到预定大小。
第二写入单元50,用于若数据达到所述预定大小,则将所述数据写入临时先入先出缓存器60,并打开文件。
临时先入先出缓存器60,用于存储第二写入单元50写入的数据。
第二判断单元70,判断存储所述第二写入单元50写入所述数据是否完成,如果完成则关闭文件。
本发明通过一个高速先入先出缓存器和临时先入先出缓存器,在对数据采集后,先将其存入高速先入先出缓存器,再导入临时先入先出缓存器。在数据进入临时先入先出缓存器的同时,写入单元打开文件。写入工作完成后,关闭文件。本发明不再对单个数据进行打开文件和关闭文件,而是针对一定大小的数据进行一次打开文件和关闭文件。因此提高了存储数据的效率。
本发明还公开了一种提高数据存储效率的系统,参见图4,该系统包括:
数据采集模块10,用于采集数据。
在一个具体的实施例中,数据采集模块为按照预定周期采集数据的数据采集模块。当然,可以根据实际情况选定采集数据的周期。
数字滤波单元80,用于对采集的数据进行数字滤波。
数字滤波单元能够对采集到的数据进行处理,使其符合一定的数字存储的要求。它能满足对幅度和相位特性的严格要求,克服电压和温度漂移以及噪声等问题。
第一数据写入模块20,用于将滤波后的数据写入高速先入先出缓存器。
在另外的一个实施例中,若高速先入先出缓存器30中的数据未达到预定大小,则所述第一数据写入模块20继续写入采集到的数据
高速先入先出缓存器30,用于缓存所述数据。
在一个实施例中,高速先入先出缓存器的大小为可以设计为 A=(B+C)×E×F/D;
其中,A为高速先入先出缓存器的大小,B为打开文件和关闭文件的动作时间,C为所述数据写入的时间,D为所述采集数据的采集周期,E为所述采集周期内采集到的数据大小,F为第一预设系数。具体的,F可取1.5。当然,也可以根据实际需要取值。
判断单元40,用于判断所述数据大小是否达到预定大小。
第二写入单元50,用于若所述数据达到所述预定大小,则将所述数据写入临时先入先出缓存器,并打开文件。
临时先入先出缓存器60,用于存储所述第二写入单元写入的所述数据。
在另一个实施例中,对临时先入先出缓存器的大小可以设计为: A=(B+C)×E×G/D,其中,A为所述临时先入先出缓存器的大小,B 为打开文件和关闭文件的动作时间,C为所述数据写入的时间,D为所述采集数据的采集周期,E为所述采集周期内采集到的数据大小, G为第二预设系数。在这里,G的具体取值可以是1.5,也可以根据高速先入先出缓存器的大小,涉及与其同等大小的临时先入先出缓存器。当然,在实际中,也可以根据需要取值。
当然,还可以将临时先入先出缓存器的大小设计为与高速先入先出缓存器的大小一致,以便写满的数据自高速先入先出缓存器一次导入临时先入先出缓存器。
第二判断单元70,判断存储第二写入单元写入所述数据是否完成,如果完成则关闭文件。
以上对于本发明提供的提高存储效率的系统,其具体的工作原理和实现方法请参照前述的方法实施例,此处不再赘述。
以上对本发明所提供的提高数据存储效率的方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的原理及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (6)
1.一种提高数据存储效率的方法,其特征在于,包括:
采集数据;其中,所述采集数据包括:按照预定周期性采集数据;
将所述数据写入高速先入先出缓存器中;
判断所述高速先入先出缓存器中的数据是否达到预定大小;其中,所述高速先入先出缓存器的大小为:A=(B+C)×E×F/D,
其中,A为所述高速先入先出缓存器的大小,B为打开文件和关闭文件的动作时间,C为所述数据写入的时间,D为所述采集数据的采集周期,E为所述采集周期内采集到的数据大小,F为第一预设系数;
如果达到预定大小,则将所述高速先入先出缓存器中的数据写入临时先入先出缓存器并打开文件;
存储所述写入临时先入先出缓存器的数据;
关闭所述文件。
2.如权利要求1所述的方法,其特征在于,还包括:若所述高速先入先出缓存器中的数据未达到预定大小,则继续写入数据。
3.如权利要求1所述的方法,其特征在于,所述采集数据之后,还包括:对采集的数据进行数字滤波。
4.一种提高数据存储效率的系统,其特征在于,包括:
数据采集模块,用于采集数据;其中,所述数据采集模块为按照预定周期采集数据的数据采集模块;
第一数据写入模块,用于将所述数据写入高速先入先出缓存器;
高速先入先出缓存器,用于缓存所述数据;
判断单元,用于判断所述数据大小是否达到预定大小;所述高速先入先出缓存器的大小为:A=(B+C)×E×F/D,
其中,A为所述高速先入先出缓存器的大小,B为打开文件和关闭文件的动作时间,C为所述数据写入的时间,D为所述采集数据的采集周期,E为所述采集周期内采集到的数据大小,F为第一预设系数;
第二写入单元,用于若所述数据达到所述预定大小,则将所述数据写入临时先入先出缓存器,并打开文件;
临时先入先出缓存器,用于存储所述第二写入单元写入的所述数据;
第二判断单元,判断所述存储所述第二写入单元写入所述数据是否完成,如果完成则关闭文件。
5.如权利要求4所述的系统,其特征在于,还包括数字滤波单元,用于对所述采集的数据进行数字滤波。
6.如权利要求4所述的系统,其特征在于,所述临时先入先出缓存器的大小为:A=(B+C)×E×G/D,
其中,A为所述临时先入先出缓存器的大小,B为打开文件和关闭文件的动作时间,C为所述数据写入的时间,D为所述采集数据的采集周期,E为所述采集周期内采集到的数据大小,G为第二预设系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410640923.3A CN104407988B (zh) | 2014-11-13 | 2014-11-13 | 一种提高数据存储效率的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410640923.3A CN104407988B (zh) | 2014-11-13 | 2014-11-13 | 一种提高数据存储效率的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104407988A CN104407988A (zh) | 2015-03-11 |
CN104407988B true CN104407988B (zh) | 2018-09-25 |
Family
ID=52645621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410640923.3A Active CN104407988B (zh) | 2014-11-13 | 2014-11-13 | 一种提高数据存储效率的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104407988B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11977456B2 (en) * | 2016-11-23 | 2024-05-07 | 2236008 Ontario Inc. | File system framework |
CN112181973B (zh) * | 2019-07-01 | 2023-05-30 | 北京涛思数据科技有限公司 | 一种时序数据的存储方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515291A (zh) * | 2009-03-26 | 2009-08-26 | 北京泰合佳通信息技术有限公司 | 一种将数据批量导入数据库的方法及系统 |
CN101794297A (zh) * | 2010-01-15 | 2010-08-04 | 北京中创信测科技股份有限公司 | 一种处理信息数据的方法与系统 |
CN101882130A (zh) * | 2009-05-07 | 2010-11-10 | 安凯(广州)微电子技术有限公司 | 一种fat格式文件系统中加速打开/关闭文件的方法 |
CN103761227A (zh) * | 2010-12-31 | 2014-04-30 | 新奥特(北京)视频技术有限公司 | 一种基于文件的缓存方法和装置 |
-
2014
- 2014-11-13 CN CN201410640923.3A patent/CN104407988B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515291A (zh) * | 2009-03-26 | 2009-08-26 | 北京泰合佳通信息技术有限公司 | 一种将数据批量导入数据库的方法及系统 |
CN101882130A (zh) * | 2009-05-07 | 2010-11-10 | 安凯(广州)微电子技术有限公司 | 一种fat格式文件系统中加速打开/关闭文件的方法 |
CN101794297A (zh) * | 2010-01-15 | 2010-08-04 | 北京中创信测科技股份有限公司 | 一种处理信息数据的方法与系统 |
CN103761227A (zh) * | 2010-12-31 | 2014-04-30 | 新奥特(北京)视频技术有限公司 | 一种基于文件的缓存方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104407988A (zh) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102222071B (zh) | 数据同步处理方法、设备及系统 | |
CN104935786B (zh) | 一种基于软处理器的图像信号源及其处理图像信号的方法 | |
CN103164511B (zh) | 一种存储事件日志自动过滤重复抖动数据的方法 | |
CN103761056A (zh) | 一种视频监控应用中流式数据的存储方法 | |
CN103713972B (zh) | 一种增量备份系统和方法 | |
CN107368257B (zh) | 固态存储器中的数据巡检方法及装置 | |
CN104407988B (zh) | 一种提高数据存储效率的方法及系统 | |
CN110431526A (zh) | 用于自动化动态字线开始电压的设备与方法 | |
CN104699415A (zh) | 固态硬盘写入控制方法和装置 | |
CN104657358B (zh) | 实现网页程序离线缓存的方法和系统 | |
CN103064749B (zh) | 一种进程间通信方法 | |
CN106250429A (zh) | 一种基于sqoop的数据抽取方法 | |
CN104391804B (zh) | 一种nand flash数据存储方法 | |
CN102841894A (zh) | 一种文件分配表的数据存储方法 | |
CN107870739A (zh) | 磁盘文件存储方法和系统 | |
CN103475768A (zh) | 一种移动终端的录音方法和系统 | |
CN104750621A (zh) | 缓存方法及控制系统 | |
CN102103643A (zh) | 芯片测试中存储测试向量的方法 | |
CN105528302B (zh) | 一种基于逻辑卷的动态管理磁盘的方法及系统 | |
CN104268274A (zh) | 一种记录数据库日志的方法、装置及系统 | |
CN103176891A (zh) | 一种linux下利用内核模块与应用模块结合完成软件日志的方法 | |
CN103076990A (zh) | 一种基于fifo缓存结构的数据回放装置 | |
CN105117177B (zh) | 一种基于单硬盘多分区的大数据管理方法 | |
CN104572903B (zh) | 一种Hbase数据库的控制数据入库的方法 | |
CN104866285A (zh) | 可编程序控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Chengyang District of Shandong city of Qingdao province Jinhong road 266111 No. 88 Applicant after: CRRC QINGDAO SIFANG CO., LTD. Address before: Chengyang District of Shandong city of Qingdao province Jinhong road 266111 No. 88 Applicant before: CSR Qingdao Sifang Locomotive and Rolling Stock Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |