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

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

Info

Publication number
CN104572812A
CN104572812A CN201410686481.6A CN201410686481A CN104572812A CN 104572812 A CN104572812 A CN 104572812A CN 201410686481 A CN201410686481 A CN 201410686481A CN 104572812 A CN104572812 A CN 104572812A
Authority
CN
China
Prior art keywords
storage
day
data
month
historical data
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
Application number
CN201410686481.6A
Other languages
English (en)
Other versions
CN104572812B (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 true CN104572812A (zh) 2015-04-29
CN104572812B 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)

Cited By (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无线水文水生态监测系统研究", 《中国农村水利水电》 *
殷峰松: "GPRS在水文监测系统中的应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (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 天津同阳科技发展有限公司 数据存储方法、数据索引方法及装置

Also Published As

Publication number Publication date
CN104572812B (zh) 2018-02-16

Similar Documents

Publication Publication Date Title
US9632880B2 (en) Data storage device and flash memory control method
CN110188030A (zh) 一种测试数据生成方法、装置及计算机设备、存储介质
CN103455437A (zh) 数据储存装置与数据储存装置操作方法
CN111078701B (zh) 基于关系型数据库的数据抽取方法及装置
CN104572812A (zh) 一种历史数据存储及索引方法
JP2012224024A5 (zh)
CN106294026A (zh) 一种固态盘异常掉电后的映射表恢复方法及其系统
CN110162540B (zh) 区块链账本数据的查询方法、电子装置及存储介质
CN108595523A (zh) 设备数据检索模型构建方法、装置及计算机设备
EP2770507A3 (en) Memory circuits, method for accessing a memory and method for repairing a memory
CN103176952A (zh) 文档显示方法和装置
CN110134839B (zh) 时序数据特征处理方法、装置及计算机可读存储介质
CN109325868A (zh) 问卷数据处理方法、装置、计算机设备和存储介质
US9454557B2 (en) Unit of work based incremental data processing
CN105512313B (zh) 一种增量式数据处理的方法和装置
CN104391804B (zh) 一种nand flash数据存储方法
CN109669627A (zh) 数据储存装置以及非挥发式存储器操作方法
CN104283932A (zh) 文件同步系统及方法
CN103258047A (zh) 一种面向药企作业成本控制数据仓库的数据组织方法
CN102043639A (zh) 一种从nand flash启动处理系统的方法及装置
CN105335095B (zh) 闪存文件系统的处理方法及装置
CN202473263U (zh) 支持高擦写次数的flash存储器电路
CN104462206A (zh) 一种通用的数据库序列生成方法
CN111339105B (zh) 数据存储方法、装置及服务器
CN102065180A (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
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.