CN115268794A - 数据存储方法及相关装置 - Google Patents
数据存储方法及相关装置 Download PDFInfo
- Publication number
- CN115268794A CN115268794A CN202210938490.4A CN202210938490A CN115268794A CN 115268794 A CN115268794 A CN 115268794A CN 202210938490 A CN202210938490 A CN 202210938490A CN 115268794 A CN115268794 A CN 115268794A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- index
- index number
- index table
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据存储方法及相关装置,包括:根据获取的第一数据信息的数据类型获取包含对应的存储区的首地址的存储地址索引表,若存储地址索引表包含至少一个与存储数据对应的第一索引号,且存在待删除的存储数据,则获取待删除的存储数据的第二索引号,将排列在第二索引号之后的第一索引号移动到第二索引号之前,根据第二索引号与首地址确定第二分区,并删除第二分区内的存储数据,将第一数据信息按照预设处理方法处理后获得第一存储数据,并将第一存储数据存入第二分区。本申请中通过调节存储地址索引表内索引号的顺序,使被删除的分区对应的索引号位于最后一位,便于快速查找,提高新的存储数据写入效率。
Description
技术领域
本申请属于数据存储技术领域,具体涉及一种数据存储方法及相关装置。
背景技术
Flash存储器属于内存器件的一种,是一种非易失性内存,该类存储器具有集成度高、读取速度快、单一供电、再编程次数多等显著优点,在没有电流供应的条件下也能够长久地保持数据。
但是现有的Flash存储器内,数据标定方法大多采用一一对应的映射方式对数据进行标定。Flash资源比较丰富,一一对应的方式导致标定结果较多,导致查询效率低,进而降低删除与存入效率,影响用户使用体验。
发明内容
本申请提供一种数据存储方法及相关装置,通过将存储地址索引表内待删除的存储数据的索引号移动到存储地址索引表最后一位,使该待删除的存储数据的分区对应的索引号位于存储地址索引表末尾,便于查询,提高新的存储数据写入的效率。
第一方面,本申请提供一种数据存储方法,包括:
获取第一数据信息,并确定所述第一数据信息的数据类型;
根据所述数据类型获取存储地址索引表,所述存储地址索引表可容纳N个索引号,所述存储地址索引表包含对应的存储区的首地址;
判断所述存储地址索引表内是否包含至少一个与存储数据对应的第一索引号,所述存储数据为根据预设处理方法将第二数据信息进行处理后获得的数据,所述存储数据根据进入所述终端设备的顺序依次获得对应的第一索引号,所述存储数据存储于根据所述第一索引号与所述首地址确定的第一分区内,所述第一索引号根据存入所述存储地址索引表的顺序依次排列,所述第一分区为所述存储区内的存储区域;
若包含,则判断是否存在待删除的存储数据;
若存在,则获取所述待删除的存储数据的第二索引号;
将排列在所述第二索引号之后的第一索引号移动到所述第二索引号之前,获得更新后的存储地址索引表;
根据所述第二索引号与所述首地址确定所述第二分区,并删除所述第二分区内的存储数据;
根据所述预设处理方法将第一数据信息进行处理,获得第一存储数据;
将所述第一存储数据存入所述第二索引号对应的所述第二分区。
第二方面,本申请提供一种数据存储装置,包括:
第一获取单元,用于获取第一数据信息,并确定所述第一数据信息的数据类型;
第二获取单元,用于根据所述数据类型获取存储地址索引表,所述存储地址索引表可容纳N个索引号,所述存储地址索引表包含对应的存储区的首地址;
第一判断单元,用于判断所述存储地址索引表内是否包含至少一个与存储数据对应的第一索引号,所述存储数据为根据预设处理方法将第二数据信息进行处理后获得的数据,所述存储数据根据进入所述终端设备的顺序依次获得对应的第一索引号,所述存储数据存储于根据所述第一索引号与所述首地址确定的第一分区内,所述第一索引号根据存入所述存储地址索引表的顺序依次排列,所述第一分区为所述存储区内的存储区域;
第二判断单元,用于判断是否存在待删除的存储数据;
第三获取单元,用于获取所述待删除的存储数据的第二索引号;
移动单元,用于将排列在所述第二索引号之后的第一索引号移动到所述第二索引号之前,获得更新后的存储地址索引表;
确定单元,用于根据所述第二索引号与所述首地址确定所述第二分区,并删除所述第二分区内的存储数据;
处理单元,用于根据所述预设处理方法将第一数据信息进行处理,获得第一存储数据;
存储单元,用于将所述第一存储数据存入所述第二索引号对应的所述第二分区。
第三方面,本申请提供一种电子设备,包括:
一个或多个处理器;
一个或多个存储器,用于存储程序,
所述一个或多个存储器和所述程序被配置为,由所述一个或多个处理器控制所述电子设备执行如本申请实施例第一方面任一方法中或第二方面的步骤的指令。
第四方面,本申请提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如本申请实施例第一方面任一方法中或第二方面所描述的部分或全部步骤。
第五方面,本申请提供一种计算机程序,其中,所述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中或第二方面所描述的部分或全部步骤。该计算机程序可以为一个软件安装包。
可以看出,本申请实施例中,在获取到第一数据信息后,确定第一数据信息的数据类型,以获得该数据类型的数据信息对应的存储地址索引表,便于将不同类型的数据信息的索引号分表存储,提高查询的效率。获得的存储地址索引表内包含至少一个与存储数据对应的第一索引号,且存在待删除的存储数据,则获取所述待删除的存储数据的第二索引号。将排列在所述第二索引号之后的第一索引号移动到所述第二索引号之前,获得更新后的存储地址索引表,根据第二索引号与首地址确定第二分区,并删除第二分区内的存储数据,将第一数据信息进行处理后存入第二分区。通过将存储地址索引表内待删除的存储数据对应的索引号移动到存储地址索引表最后一位,并删除该索引号对应的分区内的存储数据,使分区对应的索引号位于索引表末尾,在新的存储数据待写入时,无需遍历存储地址索引表即可快速查询到空白分区,提高查询效率,进而提高存储效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种终端设备的结构示意图;
图2是本申请实施例提供的一种数据存储方法的流程图;
图3是本申请实施例提供的一种未接来电索引表的结构示意图;
图4是本申请实施例提供的存储地址索引表索引号顺序变化示意图;
图5是本申请实施例提供的第一存储数据的结构示意图;
图6是本申请实施例提供的不同数据类型对应的不同索引表的连接示意图;
图7是本申请实施例提供的一种数据存储装置的功能单元组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参阅图1,图1是本申请实施例提供的一种终端设备的结构示意图。如图所示,该终端设备中包含单片机10,该单片机10包括处理器120与存储器130;该终端设备还包括通信模块140、以及一个或多个程序131,单片机10通过内部通信总线与该通信模块140通信连接。
其中,该一个或多个程序131被存储在上述存储器130中,且被配置由上述处理器120执行,该一个或多个程序131包括用于执行下述方法实施例中任一步骤的指令。
其中,处理器120例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable GateArray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。处理器120也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元可以是通信模块140、收发器、收发电路等。
其中存储器130为非易失性存储器,可以是Flash存储器。通过示例性但不是限制性说明,非易失性存储器还可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存,本方案中存储器130为Flash存储器为例进行说明。可以理解的是,本申请实施例中的终端设备还可以包括其他类型的用于存储一个或多个程序131的存储器,具体此处不作限制。
其中,该终端设备可以是手机、固定电话、平板电脑、笔记本电脑、桌上型电脑、可穿戴设备、头戴设备、车载终端等智能终端,终端设备的种类具体此处不作限制。本申请实施例中,终端设备为固定电话为例进行说明。
请参阅图2,图2是本申请实施例提供的一种数据存储方法的流程图。下面,将结合图2对本申请实施例涉及到的应用于终端设备中的数据存储方法进行详细说明。如图2所示,一种数据存储方法,包括:
步骤210:获取第一数据信息,并确定所述第一数据信息的数据类型。
其中,终端设备接收到待存储的第一数据信息后,判断第一数据信息的数据类型。例如,若该终端设备为固定电话,且预先将接收到的通讯记录的数据信息分为三种类型,即已接来电数据信息,未接来电数据信息和已拨打电话数据信息。根据固定电话的用户的操作确定数据信息的数据类型。例如:终端设备在接收到其他通讯设备发送的通讯请求后,用户未接收该通讯请求,故获取的通讯记录的数据信息的数据类型为未接来电数据信息。可以理解的是,数据类型的设置可以根据实际需求进行设置,此处不作限制。
步骤220:根据所述数据类型获取存储地址索引表。所述存储地址索引表可容纳N个索引号,所述存储地址索引表包含对应的存储区的首地址。
其中,终端设备根据获取到的数据类型获取对应的存储地址索引表,该存储地址索引表可以容纳N个索引号。可以理解的是,存储地址索引表可以容纳的索引号的数量可以根据实际需求进行设置,具体此处不作限制。例如,请参阅图3,图3是本申请实施例提供的一种未接来电索引表的结构示意图。若该终端设备为固定电话,且确定第一数据信息的数据类型为未接来电数据信息,故获取如图3所示的未接来电索引表,该取未接来电索引表包括已存储标志位,个数N,索引号以及存储区的首地址,该个数N用于表征可存储的索引号的个数。其中,该未接来电索引表设定可以容纳20个索引号,或者,可以根据实际需求,设置可以容纳10个索引号,具体容纳数量此处不作限制。
步骤230:判断所述存储地址索引表内是否包含至少一个与存储数据对应的第一索引号。所述存储数据为根据预设处理方法将第二数据信息进行处理后获得的数据,所述存储数据根据进入所述终端设备的顺序依次获得对应的第一索引号,所述存储数据存储于根据所述第一索引号与所述首地址确定的第一分区内,所述第一索引号根据存入所述存储地址索引表的顺序依次排列,所述第一分区为所述存储区内的存储区域。
其中,需判断存储地址索引表内是否包含至少一个与存储数据对应的第一索引号。具体的,第二数据信息与第一数据信息的数据类型相同,且先于第一数据信息存入该终端设备的信息。若存储地址索引表内不包含第一索引号,则该存储地址索引表对应的存储区未存入数据信息,终端设备可以直接获取该第一数据信息的索引号,存入存储地址索引表,并将该第一数据信息处理后存入该索引号对应的存储区的分区内。
步骤240:判断是否存在待删除的存储数据。
其中,若存储地址索引表内存在第一索引号,则需判断是否存在待删除的存储数据。若不存在待删除的存储数据,且存储地址索引表内的索引号未存满,则可根据第一数据信息进入终端设备的顺序获取索引号,将索引号依次存入该存储地址索引表,并将第一数据信息处理后存入根据该索引号与首地址确定的存储区的分区,或者,若不存在待删除的存储数据,且存储地址索引表内的索引号已存满,则将存储地址索引表内第一位的索引号移动到最后一位,并删除该索引号对应的存储区内的存储数据,将第一数据信息处理后存入根据该存储区。
步骤250:获取所述待删除的存储数据的第二索引号。
其中,若判断存储地址索引表内存在待删除的存储数据,则获取该待删除的存储数据的第二索引号。
步骤260:将排列在所述第二索引号之后的第一索引号移动到所述第二索引号之前,获得更新后的存储地址索引表。
其中,将存储地址索引表内排列在第二索引号之后的第一索引号移动到第二索引号之前,获得更新后的存储地址索引表。
步骤270:根据所述第二索引号与所述首地址确定所述第二分区,并删除所述第二分区内的存储数据。
其中,在获取到待删除的存储数据的第二索引号之后,根据第二索引号与首地址确定该存储数据存储的第二分区。具体的,根据首地址确定存储区,并根据第二索引号确定该第二分区的首地址与存储区的首地址的偏移量,进而确定第二索引号对应的第二分区。
步骤280:根据所述预设处理方法将第一数据信息进行处理,获得第一存储数据。
步骤290:将所述第一存储数据存入所述第二索引号对应的所述第二分区。
其中,根据预设处理方法将第一数据信息进行处理,获得第一存储数据后,获取第一存储数据对应的索引号,该索引号为第二索引号,并根据第二索引号与首地址确定第二分区,将第一存储数据存入第二分区内。
可见,本示例中,在存储数据信息之前,判断待存储的数据信息的数据类型,从而获取对应的存储地址索引表,将不同类型的数据信息的索引号分表存储,提高检索时的效率。并且,若存在待删除的存储数据,将待删除的存储数据对应的索引号移动到存储地址索引表的末尾,以使新的待存储数据存入时,直接从存储地址索引表的末尾处即可获得可存储的分区对应的检索号,节约检索时间,提高存储效率。
在一种可能的示例中,所述判断是否存在待删除的存储数据,包括:判断是否接收到用户的删除指令,所述删除指令包括所述用户的查询操作,所述删除指令用于指示删除所述用户的查询操作所对应的存储数据;若接收到,则判断存在所述待删除的存储数据;若未接收到,则判断不存在所述待删除的存储数据。
具体示例中,若终端设备接收到用户的删除指令,则判断存在待删除的存储数据。若未接收到该存储数据,则判断不存在待删除的存储数据。
可见,本示例中,根据用户的删除指令进行删除操作,更加准确,提高用户的使用体验。
在一种可能的示例中,所述获取所述待删除的存储数据的第二索引号,包括:统计所述存储地址索引表内所述第一索引号的第一数量值;根据所述用户的查询操作获取所述用户当前时刻正查阅的存储数据的查询序号的数值,所述查询序号用于表征所述存储数据的显示顺序;计算所述第一数值减去所述查询序号的数值的差值;获取所述存储地址索引表内排列顺序为所述差值的位置上的索引号,获得所述待删除的存储数据的第二索引号。
本申请实施例中,存储地址索引表内的索引号根据存入存储地址索引表的顺序进行排列,用户查询时,终端设备根据从存储地址索引表末尾的索引号到存储地址索引表开头的索引号的顺序依次为用户呈现索引号对应的分区内的存储数据,从而为用户快速提供最新的存储数据。若终端设备接收到用户的删除指令,删除指令包括用户的查询操作,在获取到用户的查询操作后,由于存储地址索引表内的索引号按照存入顺序排列,故可以根据查询操作确定用户正查阅的存储数据的查询序号的数值,查询序号为从存储地址索引表末尾的索引号到存储地址索引表开头的索引号的顺序依次序增加的序号。根据该数值与存储地址索引表内已经存储的第一索引号的第一数值,可以确定用户正查阅的存储数据对应的索引号。存储数据虽然根据存入顺序依次获得索引号,但是在使用过程中索引号对应的存储数据可能会被用户删除,故存储地址索引表内索引号的顺序因此会被打乱。例如:存储地址索引表一共存储有4个第一索引号,分别为索引号a、索引号c、索引号d与索引号f,并依次存储在存储地址索引表内,终端设备获取到用户共点击三次查阅下一条的按钮,确定用户正查阅的存储数据的查询序号的数值为3,故第二数值为4-3+1=2,获得存储地址索引表内排列顺序为2的位置上的索引号为索引号c。
具体的,请参阅图4,图4是本申请实施例提供的存储地址索引表索引号顺序变化示意图。在确定待删除的存储数据的第二索引号为索引号c后,将索引号c移动到索引号f之后,可以理解的是,终端设备显示的方式可以根据实际需求进行设置,例如可以从存储地址索引表首位末尾的索引号进行显示,具体此处不作限制。
可见,本示例中,可以根据用户的查询操作确定待删除的存储数据的索引号,提高确定的待删除的存储数据的索引号的准确性,避免由于索引号顺序在乱序的情况下,无法查找到待删除的存储数据的索引号。
在一种可能的示例中,所述判断是否存在待删除的存储数据,包括:判断所述存储地址索引表内的索引号的数量的值是否为N;若是,则判断存在所述待删除的存储数据;若否,则判断不存在所述待删除的存储数据。
具体示例中,若存储地址索引表已被存满,则判断存在所述待删除的存储数据,例如,该存储地址索引表可以容纳20个索引号,在获取到第一数据信息后,检测到存储地址索引表内已经存满20个索引号,则判定待删除的存储数据。
可见,本示例中,通过检测存储地址索引表是否存满,进而确定是否删除已存储的存储数据,为存入新的数据腾出存储空间,自动合理规划数据的删除与存储,提高用户使用体验。
在一种可能的示例中,所述获取所述待删除的存储数据的第二索引号,包括:确定所述存储地址索引表内排列在第一位的第三索引号,所述第三索引号即为所述待删除的存储数据的所述第二索引号。
具体示例中,在确定存储空间存满后,将排列在存储地址索引表第一位的索引号确定为第三索引号,该第三索引号为待删除的存储数据的第二索引号。在确定第二索引号之后,将确定的第二索引号移动到存储地址索引表的最后一位,并将该第二索引号对应的存储区的分区内的存储数据删除,以便于新的存储数据的写入。
可见,本示例中,优先删除排列在存储地址索引表第一位的索引号,及时清除冗余信息的同时,为新的存储数据的存入腾出空间,合理利用存储资源,且该待删除的存储数据对应的索引号被移动到存储地址索引表的末尾,便于新的存储数据的存入,节约检索时间,提高存入的效率。
在一种可能的示例中,所述根据所述预设处理方法将第一数据信息进行处理,获得第一存储数据,包括:获取所述第一数据信息内时间信息与至少一个关键数据;获取所述至少一个关键数据内的字节数量;根据所述时间信息、所述至少一个关键数据信息与所述字节数量创建所述第一存储数据。
具体示例中,获取第一数据信息后,提取第一数据信息内的时间信息,至少一个关键数据信息以及该关键信息的字节数量,根据字节数量,设定校验值。根据时间信息,至少一个关键数据信息以及校验值创建第一存储数据。例如,若终端设备为固定设备,且第一数据信息为未接来电数据信息,请参阅图5,图5是本申请实施例提供的第一存储数据的结构示意图。提取固定设备的未接来电数据信息,提取该未接来电数据信息内的时间信息,关键信息,该关键信息包括号码1,号码2……号码n,提取关键信息内号码的字节总数,统计字节总数中奇数位的字节的数量,该奇数位的字节的数量为校验值。如图5所示,第一存储数据包括年、月、日、时、分、号码1、号码2、……号码n以及校验值,其中,第一存储数据还包括已读标志和个数T,个数T用于统计第一存储数据的字节总数,防止存储数据超过分区容量。例如,一个Flash块区均分为多个分区,每个分区容量相同,便于定位,提高定位精度。例如,将每个512字节的Flash块区均匀分为8个分区,可以存储8条存储数据,若出现第九条存储数据,则存入下一个Flash块区的分区。每一分区信息占用64个字节,若故每一存储数据的大小不能超过64字节。可以理解的是,第一存储数据的具体内容可以根据实际需求进行增减,例如,若第一数据信息为已接来电数据信息,则可以省略已读标志,第一存储数据的内容具体此处不作限制。
可见,本示例中,通过提取数据信息内的时间信息和关键信息,创建存储数据,使存入存储区的数据的格式一致,便于查找,提高检索时的效率以及便于读取存储数据内容。
在一种可能的示例中,所述将所述第一存储数据存入所述第二索引号对应的所述第二分区之后,所述方法还包括:获取备用索引表;复制所述更新后的存储地址索引表内的第一信息;获取所述更新后的存储地址索引表对应的存储区内的第二存储数据;获取所述第二存储数据内的校验字节内的校验和与关键数据;计算所述关键数据的校验和;比较所述关键数据的校验和与所述校验字节内的校验和是否相同;若相同,则擦除所述备用索引表内的数据,并将所述第一信息写入所述备用索引表。
具体示例中,在将获取到的第一存储数据存入第二分区后,获取更新后的存储地址索引表内的第一信息,该第一信息包括但不限于索引号以及索引号的顺序,每个索引号对应的存储区内的分区,存储区首地址等信息。以及,获取更新后的存储地址索引表对应的存储区内的第二存储数据,提取第二存储数据内关键数据与校验字节内的校验和,计算关键数据内的校验和,比较关键数据内的校验和与校验字节内的校验和是否相同,进而确定存储数据是否正确,若相同,则将第一信息写入备用索引表内,以便于存储地址索引表丢失或者被误删后,可以通过备用索引表进行还原,或者直接使用备用索引表进行索引。
可见,本示例中,及时更新备用索引表,通过备份,防止索引号丢失,进而提高存储的安全性。
在一种可能的示例中,若检索到存储地址索引表内存储的索引号已达到最大容量,且同时接受到用户的删除指令,则优先执行用户的删除指令,以提高用户的使用体验。
在一种可能的示例中,终端设备通过索引号与首地址确定待显示的存储数据并进行显示时,终端设备读取该存储数据内的第一校验值以及关键信息,计算关键信息内的第二校验值,比较第一校验值与第二校验值是否相同,从而确定该存储数据是否正确,若不相同,重复执行获取校验值并进行比较的步骤,在重复次数达到预设次数后,仍不相同,则不进行显示。筛除错误存储数据,节约用户时间。
在一种可能的示例中,不同数据类型对应的存储地址索引表对应的存储区的地址可以连接,合理利用存储资源,便于查找。例如,若终端设备为固定电话,请参阅图6,图6是本申请实施例提供的不同数据类型对应的不同索引表的连接示意图。若终端设备包括未接来电索引表,已接来电索引表和已拨索引表,若终端设备包括未接来电索引表,已接来电索引表和已拨索引表之间的地址连续,且每个索引表都包含对应的存储区的首地址,便于快速查找存储数据,提高查找效率。
本申请实施例可以根据上述方法示例对数据存储装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能单元的情况下,图7是本申请实施例提供的一种数据存储装置的功能单元组成框图,包括:
第一获取单元710,用于获取第一数据信息,并确定所述第一数据信息的数据类型;
第二获取单元720,用于根据所述数据类型获取存储地址索引表,所述存储地址索引表可容纳N个索引号,所述存储地址索引表包含对应的存储区的首地址;
第一判断单元730,用于判断所述存储地址索引表内是否包含至少一个与存储数据对应的第一索引号,所述存储数据为根据预设处理方法将第二数据信息进行处理后获得的数据,所述存储数据根据进入所述终端设备的顺序依次获得对应的第一索引号,所述存储数据存储于根据所述第一索引号与所述首地址确定的第一分区内,所述第一索引号根据存入所述存储地址索引表的顺序依次排列,所述第一分区为所述存储区内的存储区域;
第二判断单元740,用于判断是否存在待删除的存储数据;
第三获取单元750,用于获取所述待删除的存储数据的第二索引号;
移动单元760,用于将排列在所述第二索引号之后的第一索引号移动到所述第二索引号之前,获得更新后的存储地址索引表;
确定单元770,用于根据所述第二索引号与所述首地址确定所述第二分区,并删除所述第二分区内的存储数据;
处理单元780,用于根据所述预设处理方法将第一数据信息进行处理,获得第一存储数据;
存储单元790,用于将所述第一存储数据存入所述第二索引号对应的所述第二分区。
在一种可能的示例中,所述第二判断单元740,还用于判断是否接收到用户的删除指令,所述删除指令包括所述用户的查询操作,所述删除指令用于指示删除所述用户的查询操作所对应的存储数据;若接收到,则判断存在所述待删除的存储数据;若未接收到,则判断不存在所述待删除的存储数据。
在一种可能的示例中,所述第三获取单元750,还用于统计所述存储地址索引表内所述第一索引号的第一数量值;以及根据所述用户的查询操作获取所述用户当前时刻正查阅的存储数据的查询序号的数值,所述查询序号用于表征所述存储数据的显示顺序;以及计算所述第一数值减去所述查询序号的数值的差值;以及将所述差值加一,获得第二数值;以及获取所述存储地址索引表内排列顺序为所述第二数值的位置上的索引号,获得所述第二索引号。
在一种可能的示例中,所述第二判断单元740,还用于判断所述存储地址索引表内的索引号的数量的值是否为N;若是,则判断存在所述待删除的存储数据;若否,则判断不存在所述待删除的存储数据。
在一种可能的示例中,所述第三获取单元750,还用于确定所述存储地址索引表内排列在第一位的第三索引号,所述第三索引号即为所述待删除的存储数据的所述第二索引号。
在一种可能的示例中,所述处理单元780,还用于获取所述第一数据信息内时间信息与至少一个关键数据;以及获取所述至少一个关键数据内的字节数量;以及根据所述时间信息、所述至少一个关键数据信息与所述字节数量创建所述第一存储数据。
在一种可能的示例中,所述装置还包括第四获取单元,用于获取备用索引表;以及复制所述更新后的存储地址索引表内的第一信息;以及获取所述更新后的存储地址索引表对应的存储区内的第二存储数据;以及获取所述第二存储数据内的校验字节内的校验和与关键数据;以及计算所述关键数据的校验和;以及比较所述关键数据的校验和与所述校验字节内的校验和是否相同;以及擦除所述备用索引表内的数据,并将所述第一信息写入所述备用索引表。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。
该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型,这些改进和润饰也视为本申请的保护范围。
Claims (10)
1.一种数据存储方法,应用于终端设备,其特征在于,包括:
获取第一数据信息,并确定所述第一数据信息的数据类型;
根据所述数据类型获取存储地址索引表,所述存储地址索引表可容纳N个索引号,所述存储地址索引表包含对应的存储区的首地址;
判断所述存储地址索引表内是否包含至少一个与存储数据对应的第一索引号,所述存储数据为根据预设处理方法将第二数据信息进行处理后获得的数据,所述存储数据根据进入所述终端设备的顺序依次获得对应的第一索引号,所述存储数据存储于根据所述第一索引号与所述首地址确定的第一分区内,所述第一索引号根据存入所述存储地址索引表的顺序依次排列,所述第一分区为所述存储区内的存储区域;
若包含,则判断是否存在待删除的存储数据;
若存在,则获取所述待删除的存储数据的第二索引号;
将排列在所述第二索引号之后的第一索引号移动到所述第二索引号之前,获得更新后的存储地址索引表;
根据所述第二索引号与所述首地址确定所述第二分区,并删除所述第二分区内的存储数据;
根据所述预设处理方法将第一数据信息进行处理,获得第一存储数据;
将所述第一存储数据存入所述第二索引号对应的所述第二分区。
2.根据权利要求1所述的数据存储方法,其特征在于,所述判断是否存在待删除的存储数据,包括:
判断是否接收到用户的删除指令,所述删除指令包括所述用户的查询操作,所述删除指令用于指示删除所述用户的查询操作所对应的存储数据;
若接收到,则判断存在所述待删除的存储数据;
若未接收到,则判断不存在所述待删除的存储数据。
3.根据权利要求2所述的数据存储方法,其特征在于,所述获取所述待删除的存储数据的第二索引号,包括:
统计所述存储地址索引表内所述第一索引号的第一数量值;
根据所述用户的查询操作获取所述用户当前时刻正查阅的存储数据的查询序号的数值,所述查询序号用于表征所述存储数据的显示顺序;
计算所述第一数值减去所述查询序号的数值的差值;
将所述差值加一,获得第二数值;
获取所述存储地址索引表内排列顺序为所述第二数值的位置上的索引号,获得所述第二索引号。
4.根据权利要求1所述的数据存储方法,其特征在于,所述判断是否存在待删除的存储数据,包括:
判断所述存储地址索引表内的索引号的数量的值是否为N;
若是,则判断存在所述待删除的存储数据;
若否,则判断不存在所述待删除的存储数据。
5.根据权利要求4所述的数据存储方法,其特征在于,所述获取所述待删除的存储数据的第二索引号,包括:
确定所述存储地址索引表内排列在第一位的第三索引号,所述第三索引号即为所述待删除的存储数据的所述第二索引号。
6.根据权利要求1所述的数据存储方法,其特征在于,所述根据所述预设处理方法将第一数据信息进行处理,获得第一存储数据,包括:
获取所述第一数据信息内时间信息与至少一个关键数据;
获取所述至少一个关键数据内的字节数量;
根据所述时间信息、所述至少一个关键数据信息与所述字节数量创建所述第一存储数据。
7.根据权利要求1所述的数据存储方法,其特征在于,所述将所述第一存储数据存入所述第二索引号对应的所述第二分区之后,所述方法还包括:
获取备用索引表;
复制所述更新后的存储地址索引表内的第一信息;
获取所述更新后的存储地址索引表对应的存储区内的第二存储数据;
获取所述第二存储数据内的校验字节内的校验和与关键数据;
计算所述关键数据的校验和;
比较所述关键数据的校验和与所述校验字节内的校验和是否相同;
若相同,则擦除所述备用索引表内的数据,并将所述第一信息写入所述备用索引表。
8.一种数据存储装置,其特征在于,包括:
第一获取单元,用于获取第一数据信息,并确定所述第一数据信息的数据类型;
第二获取单元,用于根据所述数据类型获取存储地址索引表,所述存储地址索引表可容纳N个索引号,所述存储地址索引表包含对应的存储区的首地址;
第一判断单元,用于判断所述存储地址索引表内是否包含至少一个与存储数据对应的第一索引号,所述存储数据为根据预设处理方法将第二数据信息进行处理后获得的数据,所述存储数据根据进入所述终端设备的顺序依次获得对应的第一索引号,所述存储数据存储于根据所述第一索引号与所述首地址确定的第一分区内,所述第一索引号根据存入所述存储地址索引表的顺序依次排列,所述第一分区为所述存储区内的存储区域;
第二判断单元,用于判断是否存在待删除的存储数据;
第三获取单元,用于获取所述待删除的存储数据的第二索引号;
移动单元,用于将排列在所述第二索引号之后的第一索引号移动到所述第二索引号之前,获得更新后的存储地址索引表;
确定单元,用于根据所述第二索引号与所述首地址确定所述第二分区,并删除所述第二分区内的存储数据;
处理单元,用于根据所述预设处理方法将第一数据信息进行处理,获得第一存储数据;
存储单元,用于将所述第一存储数据存入所述第二索引号对应的所述第二分区。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,在所述处理器执行所述计算机指令的情况下,所述电子设备执行如权利要求1至7中任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,在所述程序指令被处理器执行的情况下,使所述处理器执行如权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210938490.4A CN115268794A (zh) | 2022-08-05 | 2022-08-05 | 数据存储方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210938490.4A CN115268794A (zh) | 2022-08-05 | 2022-08-05 | 数据存储方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115268794A true CN115268794A (zh) | 2022-11-01 |
Family
ID=83749726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210938490.4A Pending CN115268794A (zh) | 2022-08-05 | 2022-08-05 | 数据存储方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115268794A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108022A (zh) * | 2023-04-12 | 2023-05-12 | 石家庄科林电气股份有限公司 | 一种电能表数据存储方法、装置、终端及存储介质 |
-
2022
- 2022-08-05 CN CN202210938490.4A patent/CN115268794A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108022A (zh) * | 2023-04-12 | 2023-05-12 | 石家庄科林电气股份有限公司 | 一种电能表数据存储方法、装置、终端及存储介质 |
CN116108022B (zh) * | 2023-04-12 | 2023-06-13 | 石家庄科林电气股份有限公司 | 一种电能表数据存储方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI406130B (zh) | 資料處理系統、控制器及其搜尋特定記憶體區的方法 | |
CN110399380B (zh) | 一种数据处理方法、电子装置及存储介质 | |
CN108664482B (zh) | Flash存储器及存储文件管理方法 | |
CN112597153B (zh) | 一种基于区块链的数据存储方法、装置及存储介质 | |
CN111414362A (zh) | 数据读取方法、装置、设备及存储介质 | |
CN112463020A (zh) | 基于Flash的数据存取方法、装置及设备 | |
CN115268794A (zh) | 数据存储方法及相关装置 | |
CN107608630B (zh) | 数据读写方法及装置 | |
CN111061802A (zh) | 一种电力数据管理处理方法、装置及存储介质 | |
CN114020193A (zh) | 跨页勾选确定方法、装置、电子设备及存储介质 | |
CN111857600B (zh) | 一种数据读写方法及装置 | |
CN111625600B (zh) | 数据存储的处理方法、系统、计算机设备及存储介质 | |
CN116301614A (zh) | 存储器数据存取方法、系统、设备和存储介质 | |
CN115630100A (zh) | 单元和多元时序数据的混合处理方法、装置及计算机设备 | |
CN112015791B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN112015672A (zh) | 一种存储系统中数据处理方法、装置、设备及存储介质 | |
CN112380174A (zh) | 含删除文件的xfs文件系统解析方法、终端设备及存储介质 | |
CN116055464B (zh) | 下载保存路径选择方法、装置及介质 | |
CN112395243B (zh) | 处理器的访问方法及装置 | |
CN115826868A (zh) | NAND Flash中查询数据、存储数据的方法、装置和设备 | |
CN113609076B (zh) | 一种文件存储方法和文件读取方法 | |
CN109101436A (zh) | 数据动态寻址存储方法、装置及存储介质、终端设备 | |
CN111078714B (zh) | 数据处理的方法及装置 | |
CN114329640B (zh) | 计数值读取方法、计数方法、装置、电子设备及存储介质 | |
CN113297232B (zh) | 一种基于数据库分区的数据更新方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |