CN103678181A - 一种缓存数据的保护方法 - Google Patents
一种缓存数据的保护方法 Download PDFInfo
- Publication number
- CN103678181A CN103678181A CN201310664424.3A CN201310664424A CN103678181A CN 103678181 A CN103678181 A CN 103678181A CN 201310664424 A CN201310664424 A CN 201310664424A CN 103678181 A CN103678181 A CN 103678181A
- Authority
- CN
- China
- Prior art keywords
- data
- temporary file
- temporary
- file
- program
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及计算机领域,特别涉及一种缓存数据的保护方法。本发明在程序启动时,在电脑的任意位置生成一个任意名字的临时文件夹来保存临时文件,当程序接收到数据时在所述临时文件夹中生成一个临时文件,一直到这个临时文件中写满了数据,接下来将接收到的数据写入另一个临时文件;然后另开启线程读取前一个已满的临时文件中的数据插入到所述程序的数据库中,插入成功后则删除此临时文件,从而在出现意外关机等异常情况时候,硬盘中的数据不会丢失,起到了缓存的保护作用。本发明的技术方案采用硬盘做缓存,把缓存保存到硬盘的文件中,当出现意外关机等异常情况时候,内存中的数据会丢失而硬盘中的数据不会丢失,因此起到了缓存的保护作用。
Description
技术领域
本发明涉及计算机领域,特别涉及一种缓存数据的保护方法。
背景技术
目前行业中使用的数据缓存,都是把缓存放在计算机内存中,当数据达到一定程度后再往目的数据库中录入数据。但是当遇到断电或者突然死机等突发情况时,缓存中的数据来不及写入目的数据库中,当计算机再启动时缓存中的数据已经丢失,因此非常需要一种缓存数据的保护方法来对数据存储过程中的数据缓存提供安全保障。
发明内容
本发明所要解决的技术问题是提供一种缓存数据的保护方法,解决了现有技术中遇到突发情况时,缓存中的数据难以得到保障的技术问题。
本发明解决上述技术问题的技术方案如下:一种缓存数据的保护方法,包括以下步骤:
a)启动任一程序;
b)判断计算机中是否存在与所述程序相对应的临时文件夹,若不存在,则在计算机的任意位置建立所述临时文件夹,并在所述程序的配置文件中记录所述临时文件夹的位置,然后进入步骤c;若存在,则直接进入步骤c;
c)所述程序开始接收数据;
d)判断所述临时文件夹中是否存在未存满数据的临时文件,若不存在,则在所述临时文件夹下面随机命名生成临时文件,并记录所建立临时文件的的文件名和临时文件所写入的数据量,所述新生成的临时文件的数据量计为0,然后进入步骤e;若存在,则直接进入步骤e;
e)将所接收的数据写入所述未存满数据的临时文件,每接收一条数据,所述临时文件的数据量加1;
f)判断所述临时文件中的数据量是否达到预先设定的最大值,若没有达到最大值,则跳转进入步骤c,继续接收数据;若达到最大值,则所述临时文件存储数据已满,读取所述已满的临时文件中的数据插入所述程序的数据库;
g)判断所述读取的数据是否插入成功,若插入成功则进入步骤h;若插入不成功,则所述数据继续保留在所述临时文件中,并跳转至步骤c;
h)判断所述已满的临时文件中是否存在未成功插入的数据,若存在,则跳转至步骤f;若不存在,则删除所述已满的临时文件,并进入步骤c,继续接收数据。
进一步,步骤b中,所述临时文件夹建立在所述程序的根目录下。
进一步,步骤d中,采用变量file_name记录新生成的临时文件的文件名;若临时文件夹中没有临时文件,则所述变量file_name置为空。
进一步,步骤d中,采用变量count来对所述临时文件中写入的数据量进行计算,每写入一条数据,所述变量count加1。
进一步,步骤f中,所述预先设定的数据量的最大值为50~100。
进一步,步骤f中,若数据量达到最大值,读取所述已满的临时文件中的数据插入所述程序的数据库后,所述file_name置为空,所述变量count置为0。
进一步,步骤f中,若数据量没有达到最大值,则先判断距离上次接收数据的时间间隔是否达到设定间隔,若达到设定间隔,则读取所述临时文件中的数据插入所述程序的数据库,且所述file_name置为空,所述变量count置为0;若没有达到设定间隔,则跳转至步骤c,继续接收数据。
进一步,所述时间间隔设为20s。
本发明的有益效果是:本发明采用硬盘做缓存,把缓存保存到硬盘的文件中,当出现意外关机等异常情况时候,内存中的数据会丢失而硬盘中的数据不会丢失,因此起到了缓存的保护作用。
附图说明
图1为本发明一种缓存数据的保护方法的流程示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明的技术方案能够在程序启动时,在电脑的任意位置生成一个任意名字的临时文件夹来保存临时文件,当程序接收到数据时在此文件夹中生成一个临时文件,一直到这个临时文件写入了一定量的数据,接下来接收到的数据写入另一个临时文件。然后另开启线程读取前一个已满的临时文件中的数据插入到所述程序的数据库中,插入成功后则删除此临时文件,从而在出现意外关机等异常情况时候,硬盘中的数据不会丢失,起到了缓存的保护作用。
如图1所示,为本发明一种缓存数据的保护方法的流程示意图。
以下以“治安卡口服务”程序来对本发明技术方案的步骤进行具体描述。包括以下步骤:
步骤1、启动“治安卡口服务”程序。
步骤2、判断所述“治安卡口服务”程序的根目录下面是否存在临时文件夹DB,如果不存在,则在“治安卡口服务”程序的根目录下面生成临时文件夹DB,并在“治安卡口服务”程序的配置文件中记录临时文件夹DB的位置,然后进入步骤3;若存在,则直接进入步骤3。在其他实施例中,所述临时文件夹可以任意命名,并建立在计算机的任意位置。
步骤3、遍历所述临时文件夹DB,检测所述临时文件夹DB中是否存在已存满数据的临时文件,若有,则开启一个单独线程进入步骤7,并新建一记录临时文件文件名的变量file_name,此时临时文件夹中没有临时文件,file_name置为空;并新建一个变量count来对所述临时文件中写入的数据量进行计算,此时没有临时文件,变量count置为0,以后每写入一条数据,所述变量count加1。
步骤4、建立网络通信开始接收相机传输过来的过往车辆数据,当接收到一条数据时,判断所述临时文件夹中变量file_name是否为空,若为空,则在所述临时文件夹下面,按时间生成一个临时文件例如20131125093011.txt,这表示2013-11-259:30:11,并用变量file_name记录下此文件名,进入下一步;若不为空,则直接进入下一步。本步骤中,相机为安装在公路上的卡口相机,所述卡口相机会记录下每个过往车辆的信息,每一辆车对应一条信息,车辆的信息通过网络协议传输到“治安卡口服务”程序中。
步骤5、把程序接收到的数据写入所述临时文件中,每写入一个数据,所述count变量计数加1。
步骤6、设定count变量的最大值为100,判断变量count的值是否已经达到设定的最大值100,如果达到最大值则进入下一步,并把file_name置为空,count置为0;如果没达到最大值,则判断距离上次接收数据的时间间隔是否达到设定间隔20s,若达到设定间隔20,则进入步骤7;若没有达到设定间隔,则继续接收数据,并将所述接收的数据存入所述未满的临时文件中。
步骤7、读取所述临时文件中的数据,并将读取的数据插入所述程序的数据库中,且所述file_name置为空,所述变量count置为0。
步骤8、判断数据是否插入成功,若插入成功则继续判断所述已满的临时文件中是否存在未成功插入的数据,若不存在未成功插入的数据,则删除此临时文件,若存在未成功插入的数据,则跳转进入步骤6;如果插入不成功则跳到步骤4继续接收数据,未插入成功的数据继续保留在临时文件中。
本发明的技术方案采用硬盘做缓存,把缓存保存到硬盘的文件中,当出现意外关机等异常情况时候,内存中的数据会丢失而硬盘中的数据不会丢失,因此起到了缓存的保护作用。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种缓存数据的保护方法,包括以下步骤:
a)启动任一程序;
b)判断计算机中是否存在与所述程序相对应的临时文件夹,若不存在,则在计算机的任意位置建立所述临时文件夹,并在所述程序的配置文件中记录所述临时文件夹的位置,然后进入步骤c;若存在,则直接进入步骤c;
c)所述程序开始接收数据;
d)判断所述临时文件夹中是否存在未存满数据的临时文件,若不存在,则在所述临时文件夹下面随机命名生成临时文件,并记录所建立临时文件的的文件名和临时文件所写入的数据量,所述新生成的临时文件的数据量计为0,然后进入步骤e;若存在,则直接进入步骤e;
e)将所接收的数据写入所述未存满数据的临时文件,每接收一条数据,所述临时文件的数据量加1;
f)判断所述临时文件中的数据量是否达到预先设定的最大值,若没有达到最大值,则跳转进入步骤c,继续接收数据;若达到最大值,则所述临时文件存储数据已满,读取所述已满的临时文件中的数据插入所述程序的数据库;
g)判断所述读取的数据是否插入成功,若插入成功则进入步骤h;若插入不成功,则所述数据继续保留在所述临时文件中,并跳转至步骤c;
h)判断所述已满的临时文件中是否存在未成功插入的数据,若存在,则跳转至步骤f;若不存在,则删除所述已满的临时文件,并进入步骤c,继续接收数据。
2.根据权利要求1所述的数据缓存保护方法,其特征在于:步骤b中,所述临时文件夹建立在所述程序的根目录下。
3.根据权利要求1所述的数据缓存保护方法,其特征在于:步骤d中,采用变量file_name记录新生成的临时文件的文件名;若临时文件夹中没有临时文件,则所述变量file_name置为空。
4.根据权利要求1所述的数据缓存保护方法,其特征在于:步骤d中,采用变量count来对所述临时文件中写入的数据量进行计算,每写入一条数据,所述变量count加1。
5.根据权利要求1所述的数据缓存保护方法,其特征在于:步骤f中,所述预先设定的数据量的最大值为50~100。
6.根据权利要求3~5任一所述的数据缓存保护方法,其特征在于:步骤f中,若数据量达到最大值,读取所述已满的临时文件中的数据插入所述程序的数据库后,所述file_name置为空,所述变量count置为0。
7.根据权利要求3~5任一所述的数据缓存保护方法,其特征在于:步骤f中,若数据量没有达到最大值,则先判断距离上次接收数据的时间间隔是否达到设定间隔,若达到设定间隔,则读取所述临时文件中的数据插入所述程序的数据库,且所述file_name置为空,所述变量count置为0;若没有达到设定间隔,则跳转至步骤c,继续接收数据。
8.根据权利要求7所述的数据缓存保护方法,其特征在于:所述时间间隔设为20s。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310664424.3A CN103678181B (zh) | 2013-12-10 | 2013-12-10 | 一种缓存数据的保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310664424.3A CN103678181B (zh) | 2013-12-10 | 2013-12-10 | 一种缓存数据的保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103678181A true CN103678181A (zh) | 2014-03-26 |
CN103678181B CN103678181B (zh) | 2016-08-17 |
Family
ID=50315806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310664424.3A Active CN103678181B (zh) | 2013-12-10 | 2013-12-10 | 一种缓存数据的保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103678181B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228109A (zh) * | 2018-01-17 | 2018-06-29 | 合肥联宝信息技术有限公司 | 一种电子设备的保护数据方法、装置及计算机存储介质 |
CN112929463A (zh) * | 2021-01-26 | 2021-06-08 | 网宿科技股份有限公司 | 一种基于dns的流量代理方法、服务器及系统 |
CN112965950A (zh) * | 2021-03-09 | 2021-06-15 | 浪潮云信息技术股份公司 | 一种实现流式数据写入对象存储的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107357A1 (en) * | 2001-03-28 | 2004-06-03 | Jeon Young Uck | Apparatus and method for protecting data on computer hard disk and computer readable recording medium having computer readable programs stored therein |
CN101833489A (zh) * | 2010-05-06 | 2010-09-15 | 北京邮电大学 | 一种文件实时监控和智能备份的方法 |
CN101187887B (zh) * | 2006-11-15 | 2012-05-16 | 鸿富锦精密工业(深圳)有限公司 | 具有数据临时保护功能的存储装置及方法 |
CN102841674A (zh) * | 2012-07-25 | 2012-12-26 | 中国科学院上海微系统与信息技术研究所 | 基于新型存储器的嵌入式系统及其进程的休眠与唤醒方法 |
-
2013
- 2013-12-10 CN CN201310664424.3A patent/CN103678181B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107357A1 (en) * | 2001-03-28 | 2004-06-03 | Jeon Young Uck | Apparatus and method for protecting data on computer hard disk and computer readable recording medium having computer readable programs stored therein |
CN101187887B (zh) * | 2006-11-15 | 2012-05-16 | 鸿富锦精密工业(深圳)有限公司 | 具有数据临时保护功能的存储装置及方法 |
CN101833489A (zh) * | 2010-05-06 | 2010-09-15 | 北京邮电大学 | 一种文件实时监控和智能备份的方法 |
CN102841674A (zh) * | 2012-07-25 | 2012-12-26 | 中国科学院上海微系统与信息技术研究所 | 基于新型存储器的嵌入式系统及其进程的休眠与唤醒方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228109A (zh) * | 2018-01-17 | 2018-06-29 | 合肥联宝信息技术有限公司 | 一种电子设备的保护数据方法、装置及计算机存储介质 |
CN108228109B (zh) * | 2018-01-17 | 2021-05-25 | 合肥联宝信息技术有限公司 | 一种电子设备的保护数据方法、装置及计算机存储介质 |
CN112929463A (zh) * | 2021-01-26 | 2021-06-08 | 网宿科技股份有限公司 | 一种基于dns的流量代理方法、服务器及系统 |
CN112965950A (zh) * | 2021-03-09 | 2021-06-15 | 浪潮云信息技术股份公司 | 一种实现流式数据写入对象存储的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103678181B (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093149B2 (en) | Method to efficiently store object data of an object storage service on a magnetic disk drive and magnetic SMR disk drive | |
CN106484761B (zh) | 用于改进储存日志的方法和系统 | |
CN104462563B (zh) | 一种文件存储方法和系统 | |
US8806173B2 (en) | Elimination of duplicate written records | |
CN104811645B (zh) | 一种嵌入式录像数据存储方法 | |
CN109710572B (zh) | 一种基于HBase的文件分片方法 | |
US20140136575A1 (en) | Log-structured garbage collection | |
CN101707633B (zh) | 一种基于文件系统的消息中间件持久消息的存储方法 | |
CN105426127A (zh) | 一种分布式集群系统的文件存储方法及装置 | |
CN102136290A (zh) | 一种嵌入式实时视频文件存储方法 | |
CN103164528B (zh) | 一种音视频数据的索引建立方法 | |
US20120110291A1 (en) | System and method for i/o command management | |
CN106910528A (zh) | 一种固态硬盘数据巡检的优化方法及装置 | |
CN103226965A (zh) | 基于时间位图的音视频数据存取方法 | |
US10642508B2 (en) | Method to limit impact of partial media failure of disk drive and detect/report the loss of data for objects due to partial failure of media | |
CN103678181A (zh) | 一种缓存数据的保护方法 | |
US11409720B2 (en) | Metadata reduction in a distributed storage system | |
CN103617008B (zh) | 车载视频监控终端的双sd卡多媒体文件存储系统及方法 | |
CN107122140A (zh) | 一种基于元数据信息的文件智能存储方法 | |
CN105095418B (zh) | 一种处理写请求的方法和装置 | |
Zimmermann et al. | Forensic analysis of YAFFS2 | |
CN106406771B (zh) | 日志记录方法及日志记录器 | |
CN102750342B (zh) | 一种集群文件系统数据一致性的方法 | |
CN103077187A (zh) | 日志管理方法和日志管理系统 | |
CN104504349B (zh) | 一种录像数据安全存储装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211022 Address after: 541001 floor 1, building 2, block b5b6, No. 27, Zhongyin Road, Xiufeng District, Guilin City, Guangxi Zhuang Autonomous Region Patentee after: Guangxi Great Wall Computer Technology Co.,Ltd. Address before: 541001 the Guangxi Zhuang Autonomous Region Changhai Xiufeng District, Guilin City Road No. 3 Patentee before: GUILIN SEATECH Co.,Ltd. |