CN104572812B - 一种历史数据存储及索引方法 - Google Patents

一种历史数据存储及索引方法 Download PDF

Info

Publication number
CN104572812B
CN104572812B CN201410686481.6A CN201410686481A CN104572812B CN 104572812 B CN104572812 B CN 104572812B CN 201410686481 A CN201410686481 A CN 201410686481A CN 104572812 B CN104572812 B CN 104572812B
Authority
CN
China
Prior art keywords
storage
day
data
per hour
month
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
Application number
CN201410686481.6A
Other languages
English (en)
Other versions
CN104572812A (zh
Inventor
夏兆勇
周震宇
陈秋煌
周奕勤
赵帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lierda Science & Technology Group Co ltd
Original Assignee
Lierda Science & Technology Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lierda Science & Technology Group Co Ltd filed Critical Lierda Science & Technology Group Co Ltd
Priority to CN201410686481.6A priority Critical patent/CN104572812B/zh
Publication of CN104572812A publication Critical patent/CN104572812A/zh
Application granted granted Critical
Publication of CN104572812B publication Critical patent/CN104572812B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种历史数据存储及索引方法。该存储方法包括以下步骤:获取当前存储数据的时刻为A年B月C日D时;根据公式:E=A‑4×N,N=0,1,2……,2000≤E≤2003,计算得到E,计算出2000年1月1日0时到E年B月C日D时之间的小时数b;将数据存储在存储芯片物理地址(a+b×c)至【a+b×c+(c‑1)】内,a为存储芯片的存储基地址,b为存储小时变量,c为预设的每小时存储数据量的上限值。该索引方法原理与存储方法相同。本发明占用MCU的RAM和ROM很小,适用于RAM和ROM较小的MCU,降低了MCU成本,缩短了编程人员的项目开发时间。

Description

一种历史数据存储及索引方法
技术领域
本发明涉及数据存储技术领域,尤其涉及一种历史数据存储及索引方法。
背景技术
对于很多数据采集设备都需要具有历史数据的存储及索引查找功能,用于历史数据的恢复,方便使用者查询之前设备的数据采集信息,在某些情况下服务器数据丢失后可通过历史数据的恢复调用完成数据分析。现有历史数据存储及索引方法较复杂,占用MCU的RAM空间和ROM空间较大,对MCU的要求比较高,且存储时间和索引时间较长。
发明内容
本发明的目的是克服现有历史数据存储及索引方法对MCU的RAM和ROM要求高,提高了MCU成本的技术问题,提供了一种简单的历史数据存储及索引方法,其占用MCU的RAM和ROM很小,适用于RAM和ROM较小的MCU,降低了MCU成本,缩短了编程人员的项目开发时间。
本发明的一种历史数据存储方法,包括以下步骤:
S1:获取当前存储数据的时刻为A年B月C日D时;
S2:将A数值代入公式:E=A-4×N,N=0,1,2,3,4……,2000≤E≤2003,计算得到E,计算出2000年1月1日0时到E年B月C日D时之间的小时数b,从而得到存储小时变量b;
S3:计算出该时刻数据存储的物理地址的首地址= a+ b×c,a为存储芯片的存储基地址,b为存储小时变量,c为预设的每小时存储数据量的上限值;
S4:将该时刻需要存储的数据依次存储在存储芯片物理地址(a+ b×c)至【a+b×c+(c-1)】内。
在本技术方案中,该方法支持连续4年的历史小时数据存储和索引,每四年进行一次循环存储。以2000年、2001年、2002年、2003年作为一个循环,2004年、2005年、2006年、2007年作为下一个循环,以此类推。2000≤E≤2003,其中,2000年为闰年,2001年、2002年和2003年都为平年,2000年2月的天数为29,2001年2月、2002年2月和2003年2月的天数为28,2000年的全年小时数为8784,2001年、2002年和2003年的全年小时数都为8760。该方法按照时间确定存储地址,每四年进行一次循环存储,简单高效,缩短了历史数据的存储时间和索引时间,对应的程序小,使用的变量少,占用MCU的RAM和ROM很小,适用于RAM和ROM较小的MCU,降低了MCU成本。
作为优选,所述步骤S2中计算2000年1月1日0时到E年B月C日D时之间的小时数b的方法包括以下步骤:将2000年至E-1年中每年的小时数相加得到b1,将E年1月至E年B-1月中每月的小时数相加得到b2,将E年B月1日至E年B月C-1日中每日的小时数相加得到b3,计算出存储小时变量b= b1+ b2+ b3+D。
作为优选,所述存储芯片为外部FLASH芯片或SD卡。
作为优选,所述存储基地址为存储芯片的首地址或预设的存储芯片物理地址。
本发明的一种历史数据索引方法,包括以下步骤:
N1:获取一个索引请求,其包含索引的历史数据的存储时间为A年B月C日D时;
N2:将A数值代入公式:E=A-4×N,N=0,1,2,3,4……,2000≤E≤2003,计算得到E,计算出2000年1月1日0时到E年B月C日D时之间的小时数b,从而得到存储小时变量b;
N3:计算出该数据存储的物理地址的首地址= a+b×c,a为存储芯片的存储基地址,b为存储小时变量,c为预设的每小时存储数据量的上限值;
N4:确定索引的历史数据依次存储在存储芯片物理地址(a+ b×c)至【a+b×c+(c-1)】内,并将这些物理地址内存储的数据提取出来。
本发明的实质性效果是:按照时间确定存储地址,每四年进行一次循环存储,简单高效,缩短了历史数据的存储时间和索引时间,对应的程序小,使用的变量少,占用MCU的RAM和ROM很小,适用于RAM和ROM较小的MCU,降低了MCU成本(大RAM、ROM的MCU成本较高),减小了存储模块的开发难度。
附图说明
图1是本发明的历史数据存储方法的流程图;
图2是本发明的历史数据索引方法的流程图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:本实施例的一种历史数据存储方法,如图1所示,包括以下步骤:
S1:获取当前存储数据的时刻为A年B月C日D时;
S2:将A数值代入公式:E=A-4×N,N=0,1,2,3,4……,2000≤E≤2003,计算得到E,计算出2000年1月1日0时到E年B月C日D时之间的小时数b,从而得到存储小时变量b;
S3:计算出该时刻数据存储的物理地址的首地址= a+ b×c,a为存储芯片的存储基地址,b为存储小时变量,c为预设的每小时存储数据量的上限值;
S4:将该时刻需要存储的数据依次存储在存储芯片物理地址(a+ b×c)至【a+b×c+(c-1)】内。
步骤S2中计算2000年1月1日0时到E年B月C日D时之间的小时数b的方法包括以下步骤:将2000年至E-1年中每年的小时数相加得到b1,将E年1月至E年B-1月中每月的小时数相加得到b2,将E年B月1日至E年B月C-1日中每日的小时数相加得到b3,计算出存储小时变量b= b1+ b2+ b3+D。
该方法支持连续4年的历史小时数据存储和索引,每四年进行一次循环存储。先将A数值循环减4,直到得到的数值大于等于2000小于等于2003,该得到的数值为E。以2000年、2001年、2002年、2003年作为一个循环,2004年、2005年、2006年、2007年作为下一个循环,以此类推。2000≤E≤2003,其中,2000年为闰年,2001年、2002年和2003年都为平年,2000年2月的天数为29,2001年2月、2002年2月和2003年2月的天数为28,2000年的全年小时数为8784,2001年、2002年和2003年的全年小时数都为8760。该方法按照时间确定存储地址,每四年进行一次循环存储,简单高效,缩短了历史数据的存储时间和索引时间,对应的程序小,使用的变量少,占用MCU的RAM和ROM很小,适用于RAM和ROM较小的MCU,降低了MCU成本。
以16Mbit的外部FLASH芯片为存储芯片,该存储芯片的存储基地址为0x030000,设定每小时存储数据量的上限值为30字节,对2014年8月8日8点的历史数据进行存储。
将A=2014代入公式:E=A-4×N,N=0,1,2,3,4……,2000≤E≤2003,计算得到E=2002。计算出2000年1月1日0时到2002年1月1日0时之间的小时数b1=8784+8760,2002年1月1日0时到2002年8月1日0时的小时数b2=(31+28+31+30+31+30+31)*24=5088,2002年8月1日0时到2002年8月8日0时的小时数b3=7*24=168,从而得到存储小时变量b=8784+8760+5088+168+8=22808,计算出该时刻数据存储的物理地址的首地址= 0x030000+22808*30=0xD70D0。将该时刻需要存储的数据依次存储在存储芯片物理地址0xD70D0至0xD70ED内。
本实施例的一种基于上述历史数据存储方法的历史数据索引方法,包括以下步骤:
N1:获取一个索引请求,其包含索引的历史数据的存储时间为A年B月C日D时;
N2:将A数值代入公式:E=A-4×N,N=0,1,2,3,4……,2000≤E≤2003,计算得到E,计算出2000年1月1日0时到E年B月C日D时之间的小时数b,从而得到存储小时变量b;
N3:计算出该数据存储的物理地址的首地址= a+b×c,a为存储芯片的存储基地址,b为存储小时变量,c为预设的每小时存储数据量的上限值;
N4:确定索引的历史数据依次存储在存储芯片物理地址(a+ b×c)至【a+b×c+(c-1)】内,并将这些物理地址内存储的数据提取出来。
索引2014年8月8日8点存储的历史数据。将A=2014代入公式:E=A-4×N,N=0,1,2,3,4……,2000≤E≤2003,计算得到E=2002。计算出2000年1月1日0时2002年8月8日0时的小时数b=8784+8760+5088+168+8=22808,计算出该时刻数据存储的物理地址的首地址=0x030000+22808*30=0xD70D0。将存储芯片物理地址0xD70D0至0xD70ED内的数据提取出来。

Claims (5)

1.一种历史数据存储方法,其特征在于,包括以下步骤:
S1:获取当前存储数据的时刻为A年B月C日D时;
S2:将A数值代入公式:E=A-4×N,N=0,1,2,3,4……,2000≤E≤2003,计算得到E,计算出2000年1月1日0时到E年B月C日D时之间的小时数b,从而得到存储小时变量b;
S3:计算出该时刻数据存储的物理地址的首地址= a+ b×c,a为存储芯片的存储基地址,b为存储小时变量,c为预设的每小时存储数据量的上限值;
S4:将该时刻需要存储的数据依次存储在存储芯片物理地址(a+ b×c)至[a+b × c+( c-1 ) ] 内。
2.根据权利要求1所述的一种历史数据存储方法,其特征在于,所述步骤S2中计算2000年1月1日0时到E年B月C日D时之间的小时数b的方法包括以下步骤:将2000年至E-1年中每年的小时数相加得到b1,将E年1月至E年B-1月中每月的小时数相加得到b2,将E年B月1日至E年B月C-1日中每日的小时数相加得到b3,计算出存储小时变量b= b1+ b2+ b3+D。
3.根据权利要求1或2所述的一种历史数据存储方法,其特征在于:所述存储芯片为外部FLASH芯片或SD卡。
4.根据权利要求1或2所述的一种历史数据存储方法,其特征在于:所述存储基地址为存储芯片的首地址或预设的存储芯片物理地址。
5.一种基于权利要求1所述历史数据存储方法的历史数据索引方法,其特征在于,包括以下步骤:
N1:获取一个索引请求,其包含索引的历史数据的存储时间为A年B月C日D时;
N2:将A数值代入公式:E=A-4×N,N=0,1,2,3,4……,2000≤E≤2003,计算得到E,计算出2000年1月1日0时到E年B月C日D时之间的小时数b,从而得到存储小时变量b;
N3:计算出该数据存储的物理地址的首地址= a+b×c,a为存储芯片的存储基地址,b为存储小时变量,c为预设的每小时存储数据量的上限值;
N4:确定索引的历史数据依次存储在存储芯片物理地址(a+ b×c)至【a+b×c+(c-1)】内,并将这些物理地址内存储的数据提取出来。
CN201410686481.6A 2014-11-26 2014-11-26 一种历史数据存储及索引方法 Active CN104572812B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410686481.6A CN104572812B (zh) 2014-11-26 2014-11-26 一种历史数据存储及索引方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410686481.6A CN104572812B (zh) 2014-11-26 2014-11-26 一种历史数据存储及索引方法

Publications (2)

Publication Number Publication Date
CN104572812A CN104572812A (zh) 2015-04-29
CN104572812B true CN104572812B (zh) 2018-02-16

Family

ID=53088874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410686481.6A Active CN104572812B (zh) 2014-11-26 2014-11-26 一种历史数据存储及索引方法

Country Status (1)

Country Link
CN (1) CN104572812B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391395A (zh) * 2017-09-04 2017-11-24 北京国华世纪电子科技有限公司 一种嵌入式系统的长寿命曲线记录方法
CN111881138A (zh) * 2020-07-29 2020-11-03 北京微步在线科技有限公司 一种数据存储方法及装置
CN114661722A (zh) * 2022-03-23 2022-06-24 天津同阳科技发展有限公司 数据存储方法、数据索引方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673192A (zh) * 2009-10-26 2010-03-17 北京世纪互联宽带数据中心有限公司 时序化的数据处理方法、装置及系统
CN102215286A (zh) * 2011-04-06 2011-10-12 扬州大学 一种嵌入式多通道电话录音录时系统
CN102254013A (zh) * 2011-07-21 2011-11-23 深圳市华力特电气股份有限公司 一种数据处理方法及数据处理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673192A (zh) * 2009-10-26 2010-03-17 北京世纪互联宽带数据中心有限公司 时序化的数据处理方法、装置及系统
CN102215286A (zh) * 2011-04-06 2011-10-12 扬州大学 一种嵌入式多通道电话录音录时系统
CN102254013A (zh) * 2011-07-21 2011-11-23 深圳市华力特电气股份有限公司 一种数据处理方法及数据处理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GPRS在水文监测系统中的应用;殷峰松;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110315;第2011年卷(第03期);第I140-375页 *
GPRS无线水文水生态监测系统研究;李靖等;《中国农村水利水电》;20090815;第2009年卷(第8期);第70页第2栏 *

Also Published As

Publication number Publication date
CN104572812A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN105159777B (zh) 进程的内存回收方法及装置
CN104572812B (zh) 一种历史数据存储及索引方法
JP2012224024A5 (zh)
CN103455437A (zh) 数据储存装置与数据储存装置操作方法
EP2770507A3 (en) Memory circuits, method for accessing a memory and method for repairing a memory
WO2015020900A3 (en) Method and device for error correcting code (ecc) error handling
CN104252526A (zh) 基于冗余消除的遥测存储方法
CN107092655A (zh) 用于Android宽屏设备中组图的循环展示方法及系统
CN110969000B (zh) 数据合并的处理方法及装置
CN109918400A (zh) 绩效自动考核方法、装置、计算机设备及存储介质
CN103607668B (zh) 一种视频播放方法及装置
CN106293825A (zh) 一种基于硬件信号量的多核启动同步方法
CN109669627A (zh) 数据储存装置以及非挥发式存储器操作方法
CN104391804B (zh) 一种nand flash数据存储方法
CN104424214B (zh) 一种自定义提取目录内容的方法和装置
CN105045725B (zh) 一种移动终端多存储卡存储实现方法及系统
CN105320609A (zh) 一种基于移动终端的数据存储方法及系统
CN104331460A (zh) 一种基于Hbase的数据读写操作方法及系统
CN104835092A (zh) 根据病人性别自动生成电子病历内容的方法
CN103902371B (zh) 一种用户态程序获取内核jiffies的方法和系统
CN103530353B (zh) 一种导航用户数据格式的自识别方法
CN102147771A (zh) 查找闪存设备中固件程序存放位置的方法
CN107132993B (zh) 一种将数据写入内存的方法及装置
CN105939373B (zh) 删除无效arp表项的方法及装置
CN105630541B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180402

Address after: Hangzhou City, Zhejiang province Yuhang District 311121 West Street warehouse before No. 1326 Building No. 1 room 1301

Patentee after: HANGZHOU GREEN WHALE TECHNOLOGY Co.,Ltd.

Address before: 310011 Gongshu District, Hangzhou Province, the United States and the United States hospital A District, building 1201, room 18, room

Patentee before: LIERDA SCIENCE & TECHNOLOGY GROUP Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230829

Address after: 310000 room 1201, area a, building 18, hemeyuan, Gongshu District, Hangzhou City, Zhejiang Province

Patentee after: LIERDA SCIENCE & TECHNOLOGY GROUP Co.,Ltd.

Address before: Room 1301, building 1, 1326 Wenyi West Road, Cangqian street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee before: HANGZHOU GREEN WHALE TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right