一种信息存储与读取方法技术

技术编号:8682610 阅读:164 留言:0更新日期:2013-05-09 02:38
本发明专利技术涉及一种信息存储与读取方法,采用一个文件对信息进行循环存储的方式,首先设定信息存储文件的最大存储量,并将待存储信息作为一条信息记录进行存储,每条信息记录存储时按照逐条加1的方式编号,当信息存储文件中存储的信息记录达到其最大存储量时,就删除最旧的历史信息,并将新的信息记录存储在删除的最旧的历史信息记录对应的存储位置,如果没有超出其最大存储量,则直接将该信息记录存储在文件中相应的位置即可,这种循环存储的方式避免了文件存储量的无限增长和文件碎片的产生,而且通过校验保证了存储信息的正确性,同时基于信息文件备份,实现了系统掉电等故障情况下受损信息的有效恢复。

【技术实现步骤摘要】

本专利技术涉及ー种信息存储与读取方法
技术介绍
随着信息化的程度越来越高,通过各种通信介质传播的数据越来越多,对信息存储的可靠性、有效性、可读性都要求越来越高。在ー些智能終端设备中,往往需要存储ー些具有很强时效性的信息,这些信息在不断更新并需要能够保存。同时,这些智能終端设备的存储资源有限,如果不加限制的存储将导致内存崩溃。目前,已有的对这类信息进行存储和读取的方法主要有数据库方式和文件方式两种。基于数据库方式,可以直接利用数据库驱动程序管理信息,实现存储、删除和读取功能。但数据库软件占用资源量大,其访问速度受到CPU性能限制,其运行还会影响智能终端设备的即时响应和实时控制处理,大大降低了其它功能的性能。基于文件存储方式,如果只是简单添加信息数据,对大量时变信息存储时,会导致文件增长,如果存储空间溢出,会导致系统崩溃,如果采用多个文件分别管理每条信息,通过旧信息文件的删除,释放空间,一方面文件过多,自动命名和管理逻辑比较复杂,另一方面多个文件建立、删除和双备份处理过程如果受到系统掉电等干扰,系统会积累文件碎片,导致系统运行不稳定。
技术实现思路
本专利技术的目的是提供ー种信息存储与读取方法,用以解决现有信息存储方式管理逻辑复杂、系统运行不稳定的问题。为实现上述目的,本专利技术的方案是:ー种信息存储方法,步骤如下:(I)设定信息存储文件中存储的信息记录至少包括如下属性:信息编号、信息内容和信息存储位置序号,将待存入信息存储文件中的信息打包为所述信息记录的形式,所述信息编号为每条信息记录在信息存储文件中按照逐条加I的方式进行的顺序编号,所述信息内容为用户输入的信息数据,所述信息存储位置序号是对信息记录在信息存储文件中存储位置的顺序编号;(2)判断信息存储文件中已存储的信息记录是否已达到其所能存储的最大信息记录条数;(3)如果否,则将待存入信息存储文件的信息记录写入信息存储文件中相应的存储位置,并将其信息存储位置序号和信息编号分别加1,如果是,则删除信息存储文件存储的信息记录中信息编号最小的那条信息记录,将待存入信息存储文件的信息记录写入删除的那条信息记录对应的存储位置,其信息存储位置序号等于删除的信息记录对应的信息存储位置序号,信息编号加I ;(4)在信息记录存储到信息存储文件后,计算信息存储文件的校验码,将该校验码写入到信息存储文件中;(5)将信息记录同时备份至信息备份文件中。进ー步地,判断信息存储文件中已存储的信息记录是否已达到其所能存储的最大信息记录条数的方法为:获取信息存储文件中已存储的信息记录的信息编号的最大值Nmax和最小值Nmin,M为信息存储文件能存储的最大信息记录条数,若Nmax-Nmin ( M-2,则没有达至1J最大彳目息记录条数,如果Nmax-Nmin > M-2,则达到了最大彳目息记录条数。进ー步地,所述信息记录属性还包括信息长度,所述信息长度为用户输入的信息数据的总字节数,该总字节数不得超过用户定义的最大信息长度。本专利技术还提供ー种信息读取方法,步骤如下:(I)当对信息进行读取吋,首先检验信息存储文件的校验码,如果信息存储文件正常且校验码正确,则继续读取信息,进入步骤(2);如果信息存储文件损坏或校验码错误,将信息备份文件中信息记录重新恢复至信息存储文件中;(2)根据输入的信息存储文件中信息的存储位置序号,捜索该存储位置序号对应的信息记录,如果存在对应的信息记录,则读取并输出该信息记录的信息,并且输出读取成功的状态指示;如果不存在对应的信息记录时,则无信息输出,并且输出读取失败的状态指/Jn o本专利技术达到的有益效果:本专利技术采用一个文件对信息进行循环存储的方式,当信息存储文件存储的信息记录达到其最大存储量时,就删除最旧的历史信息,并将新的信息记录存储在相应的位置,避免了文件存储量的无限增长和文件碎片的产生。而且,本专利技术通过校验保证了存储信息的正确性,同时基于信息文件备份,实现了系统掉电等故障情况下受损信息的有效恢复,通过建立信息存储管理体系,也方便信息的读取,节省CPU运行资源,提高读取速度和可靠性。附图说明图1是イ目息记录存储流程图;图2是イ目息记录备份恢复流程图。具体实施例方式下面结合附图对本专利技术做进ー步详细的说明。本专利技术的信息存储方法实施例:针对信息存储的具体需要,建立数据的循环存储管理系统,同时具有数据校验、文件备份和恢复功能,实现信息的可靠存储,该方法包含对信息的循环存储与读取,如图1所示,在对信息进行循环存储时,步骤如下:步骤1,将用户输入的信息数据打包为一条待存储的信息记录;每条信息记录包括信息编号、信息内容、信息长度、信息存储位置共4项数据;其中,信息编号的数据类型为无符号整数,信息记录按照信息编号逐条增I的顺序存储;信息内容为用户输入的信息数据;信息长度为用户输入的信息数据的总字节数,总字节数不得超过用户定义的最大信息长度;信息存储位置的数据类型为无符号整数,用于记录信息记录在信息存储文件中的存储位置;步骤2,获取信息存储文件中已存储的信息记录的最大信息编号值Nmax与最小信息编号值Nmin,M为预定义的最大信息存储位置序号,Ntl为当前信息存储位置序号,如果(Nfflax-Nfflin)小于等于(M-2),则将步骤I中待写入的信息记录的信息编号置为(N_+l),并将该信息记录写入信息存储文件中凡+1对应的存储位置;如果(Nmax-Nmin)大于(M-2),则首先将信息编号为Nmin的信息记录删除,然后将步骤I中待写入的信息记录的信息编号置为(N_+l),并将该条信息记录写入信息存储文件中Nmin对应的存储位置;写入信息记录完成后,获取当前信息存储文件的存储位置编号,并将当前文件存储位置编号返回;步骤3,计算信息存储文件的校验值,并将校验值写到信息存储文件的前N个字节中,其中N为非负整数,信息存储文件的前N个字节为预留出来的存储空间,用以保存文件的校验值;步骤4,将信息记录备份至信息备份文件中,当信息存储文件损坏时,将信息备份文件中信息记录重新恢复至信息存储文件中。例如,设置信息存储文件的最大存储位置编号为256,当前信息记录在信息存储文件中的存储位置编号为I。信息存储的具体过程如下:(I)将待存储的信息打包为一条信息记录,信息编号为N1,信息存储位置序号为N0;(2)读取信息存储文件,获取最大信息编号N2和最小信息编号N3 ;如果N2-N3小于等于254,则N1等于N2+l,然后将Ntl加I后把此信息记录直接写入到信息存储文件的ル+1的位置;如果N2 - N3大于254,则将N3对应的信息记录删除,并且令N1等于N2+l、N0等于N3对应的存储位置编号,然后将此信息记录写入到信息存储文件中,并将此信息记录的存储位置编号返回;(3)使用CRC32的校验方法计算信息存储文件的校验码,并将此校验码写入到信息存储文件的前4个字节中;本专利技术的信息读取方法实施例:如图2,本专利技术信息读取方法步骤如下:( I)当对信息进行读取吋,首先检验信息存储文件的校验码,如果信息存储文件正常且校验码正确,则继续读取信息,进入步骤(2);如果信息存储文件损坏或校验码错误,将信息备份文件中信息记录重新恢复至信息存储文件中;(2)根据输入的信息存储位置序号,捜索信息存储文件中该存储位置编本文档来自技高网...

【技术保护点】
一种信息存储方法,其特征在于,步骤如下:(1)设定信息存储文件中存储的信息记录至少包括如下属性:信息编号、信息内容和信息存储位置序号,将待存入信息存储文件中的信息打包为所述信息记录的形式,所述信息编号是对信息记录按照逐条加1的方式进行的顺序编号,所述信息内容为用户输入的信息数据,所述信息存储位置序号是对信息记录在信息存储文件中存储位置的顺序编号;(2)判断信息存储文件中已存储的信息记录是否已达到其所能存储的最大信息记录条数;(3)如果否,则将待存入信息存储文件的信息记录写入信息存储文件中相应的存储位置,并将其信息存储位置序号和信息编号分别加1,如果是,则删除信息存储文件存储的信息记录中信息编号最小的那条信息记录,将待存入信息存储文件的信息记录写入删除的那条信息记录对应的存储位置,其信息存储位置序号等于删除的信息记录对应的信息存储位置序号,信息编号加1;(4)在信息记录存储到信息存储文件后,计算信息存储文件的校验码,将该校验码写入到信息存储文件中;(5)将信息记录同时备份至信息备份文件中。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨帆庞浩张长江马永武王振举张涛侯高雷邢新超王文超李如坤刘磊磊许保太姜会平
申请(专利权)人:许继集团有限公司河南许继仪表有限公司国家电网公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1