CN111767234A - 数据存储方法、装置、电子产品以及计算机可读存储介质 - Google Patents
数据存储方法、装置、电子产品以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111767234A CN111767234A CN202010599278.0A CN202010599278A CN111767234A CN 111767234 A CN111767234 A CN 111767234A CN 202010599278 A CN202010599278 A CN 202010599278A CN 111767234 A CN111767234 A CN 111767234A
- Authority
- CN
- China
- Prior art keywords
- storage
- byte length
- data
- sector
- stored
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013500 data storage Methods 0.000 title claims abstract description 44
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据存储方法,该方法包括:获取目标存储地址,所述目标存储地址之后连续空闲存储空间对应的字节长度大于或等于预设字节长度;获取待存储数据的第一字节长度;根据所述第一字节长度以及所述预设字节长度,在所述目标存储地址之后的相邻存储地址存储所述待存储数据,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。本发明通过预设字节长度可以定位待存储数据的存储地址,不需要在存储空间中存储待存储数据的存储地址,节省了存储空间。此外还提出了一种数据存储装置、电子产品以及计算机可读存储介质。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据存储方法、装置、电子产品以及计算机可读存储介质。
背景技术
闪存是一种非易失存储器,产品广泛应用闪存作为数据存储器。将闪存作为数据存储器进行数据存储时,由于存储的数据会经常发生改变,因此需要频繁进行数据写入或擦除等操作。在进行数据写入或擦除等操作时,需要对之前的写入的数据进行定位。
现有技术中,闪存在写入在进行数据写入时,为了对数据进行定位,需要在闪存中存储最后一个数据对应的位置信息,导致对闪存的存储空间的浪费。
发明内容
本发明的主要目的在于提供一种数据存储方法、装置、电子产品以及计算机可读存储介质,旨在解决闪存的存储空间的浪费的问题。
为实现上述目的,本发明提供的一种焊接控制方法,所述焊接控制方法包括以下步骤:
获取目标存储地址,所述目标存储地址之后连续空闲存储空间对应的字节长度大于或等于预设字节长度;
获取待存储数据的第一字节长度;
根据所述第一字节长度以及所述预设字节长度,在所述目标存储地址之后的相邻存储地址存储所述待存储数据,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
在一实施例中,所述获取目标存储地址的步骤包括:
获取存储器中各个存储扇区中的目标存储扇区,所述目标存储扇区中具备字节长度大于或等于预设字节长度的连续空闲存储空间;
获取所述目标存储扇区中各个存储地址之后的连续空闲存储空间对应的字节长度;
根据所述字节长度确定所述目标存储地址。
在一实施例中,所述获取存储器中各个存储扇区中的目标存储扇区,所述目标存储扇区中具备字节长度大于或等于预设字节长度的连续空闲存储空间的步骤包括:
获取各个存储扇区中预设存储地址对应的存储区域的状态,所述预设存储地址连续且位于所述存储扇区的末尾,所述预设存储地址对应的存储区域的字节长度为所述预设字节长度;
将所述状态为空闲状态的所述存储扇区作为目标存储扇区。
在一实施例中,所述根据所述第一字节长度以及所述预设字节长度,在所述目标存储地址之后的相邻存储地址存储所述待存储数据的步骤包括:
获取所述第一字节长度和所述预设字节长度的和值;
在所述和值小于或等于所述目标存储扇区中的空闲存储空间对应的字节长度时,将所述待存储数据存储于目标存储地址的相邻存储地址。
在一实施例中,所述根据所述第一字节长度以及所述预设字节长度,在所述目标存储地址之后的相邻存储地址存储所述待存储数据的步骤还包括:
在所述和值大于所述目标存储扇区中的空闲存储空间对应的字节长度时,获取所述目标存储扇区的相邻存储扇区;
根据所述空闲存储空间对应的字节长度,将所述待存储数据中的部分数据存储于目标存储扇区目标存储地址的相邻存储地址;
将剩余的待存储数据存储于所述目标存储扇区的相邻存储扇区,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
在一实施例中,所述根据所述空闲存储空间对应的字节长度,将所述待存储数据中的部分数据存储于目标存储扇区目标存储地址的相邻存储地址的步骤之后,还包括:
判断所述相邻存储扇区是否为空闲存储空间;
若所述相邻存储扇区为空闲存储空间,则执行所述将剩余的待存储数据存储于所述目标存储扇区的相邻存储扇区,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度的步骤;
若所述相邻存储扇区不为空闲存储空间,则对所述相邻存储扇区进行擦除操作;
将剩余的待存储数据存储于擦除操作后的所述相邻存储扇区,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
在一实施例中,所述获取所述目标存储扇区的相邻存储扇区的步骤包括:
在所述目标存储扇区为最后一个存储扇区时,确定所述相邻存储扇区为第一个存储扇区。
一种数据存储装置,所述数据存储装置包括:
第一获取模块,用于获取目标存储地址,所述目标存储地址之后连续空闲存储空间对应的字节长度大于或等于预设字节长度;
第二获取模块,用于获取待存储数据的第一字节长度;
存储模块,用于根据所述第一字节长度以及所述预设字节长度,在所述目标存储地址之后的相邻存储地址存储所述待存储数据,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
为实现上述目的,本发明还提供一种电子产品,所述电子产品包括存储器、处理器以及存储在所述存储器并可在所述处理器上执行的数据存储程序,所述数据存储程序被所述处理器执行时实现如上所述的数据存储方法的各个步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有数据存储程序,所述数据存储程序被处理器执行时实现如上所述的数据存储方法的各个步骤。
本发明提供的数据存储方法、装置、电子产品以及计算机可读存储介质,获取目标存储地址,目标存储地址之后连续空闲存储空间对应的字节长度大于或等于预设字节长度;获取待存储数据的第一字节长度;根据第一字节长度以及预设字节长度,在目标存储地址之后的相邻存储地址存储待存储数据,以使待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。由于在待存储数据的存储地址后留有预设字节长度,通过预设字节长度可以定位待存储数据的存储地址,不需要在存储空间中存储待存储数据的存储地址,节省了存储空间。
附图说明
图1为本发明实施例涉及的电子产品的硬件结构示意图;
图2为本发明数据存储方法的第一实施例的流程示意图;
图3为本发明数据存储方法的第二实施例中步骤S10的细化流程示意图;
图4为本发明中存储器中的存储扇区的结构示意图;
图5为本发明数据存储方法的第三实施例中步骤S11的细化流程示意图;
图6为本发明数据存储方法的第四实施例中步骤S30的细化流程示意图;
图7为本发明数据存储方法的第五实施例中步骤S30的细化流程示意图;
图8为本发明数据存储方法的第六实施例中步骤S30的细化流程示意图;
图9为本发明数据存储装置的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:获取目标存储地址,所述目标存储地址之后连续空闲存储空间对应的字节长度大于或等于预设字节长度;获取待存储数据的第一字节长度;根据所述第一字节长度以及所述预设字节长度在所述目标存储地址的相邻存储地址存储所述待存储数据,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
由于在待存储数据的存储地址后留有预设字节长度,通过预设字节长度可以定位待存储数据的存储地址,不需要在存储空间中存储待存储数据的存储地址,节省了存储空间。
作为一种实现方案,电子产品可以如图1所示。
本发明实施例方案涉及的是电子产品,电子产品包括:处理器101,例如CPU,存储器102,通信总线103。其中,通信总线103用于实现这些组件之间的连接通信。这里的电子产品具体可以是智能手表、智能手环、智能戒指等智能穿戴设备,以及智能耳机、智能音箱、跟踪器、游戏手柄、智能家居、智能头戴等需要进行数据存储的电子产品。
存储器102可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。如图1所示,作为一种计算机可读存储介质的存储器102中可以包括数据存储程序;而处理器101可以用于调用存储器102中存储的数据存储程序,并执行以下操作:
获取目标存储地址,所述目标存储地址之后连续空闲存储空间对应的字节长度大于或等于预设字节长度;
获取待存储数据的第一字节长度;
根据所述第一字节长度以及所述预设字节长度,在所述目标存储地址之后的相邻存储地址存储所述待存储数据,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
在一实施例中,处理器101可以用于调用存储器102中存储的数据存储程序,并执行以下操作:
获取存储器中各个存储扇区中的目标存储扇区,所述目标存储扇区中具备字节长度大于或等于预设字节长度的连续空闲存储空间;
获取所述目标存储扇区中各个存储地址之后的连续空闲存储空间对应的字节长度;
根据所述字节长度确定所述目标存储地址。
在一实施例中,处理器101可以用于调用存储器102中存储的数据存储程序,并执行以下操作:
获取各个存储扇区中预设存储地址对应的存储区域的状态,所述预设存储地址连续且位于所述存储扇区的末尾,所述预设存储地址对应的存储区域的字节长度为所述预设字节长度;
将所述状态为空闲状态的所述存储扇区作为目标存储扇区。
在一实施例中,处理器101可以用于调用存储器102中存储的数据存储程序,并执行以下操作:
获取所述第一字节长度和所述预设字节长度的和值;
在所述和值小于或等于所述目标存储扇区中的空闲存储空间对应的字节长度时,将所述待存储数据存储于目标存储地址的相邻存储地址。
在一实施例中,处理器101可以用于调用存储器102中存储的数据存储程序,并执行以下操作:
在所述和值大于所述目标存储扇区中的空闲存储空间对应的字节长度时,获取所述目标存储扇区的相邻存储扇区;
根据所述空闲存储空间对应的字节长度,将所述待存储数据中的部分数据存储于目标存储扇区目标存储地址的相邻存储地址;
将剩余的待存储数据存储于所述目标存储扇区的相邻存储扇区,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
在一实施例中,处理器101可以用于调用存储器102中存储的数据存储程序,并执行以下操作:
判断所述相邻存储扇区是否为空闲存储空间;
若所述相邻存储扇区为空闲存储空间,则执行所述将剩余的待存储数据存储于所述目标存储扇区的相邻存储扇区,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度的步骤;
若所述相邻存储扇区不为空闲存储空间,则对所述相邻存储扇区进行擦除操作;
将剩余的待存储数据存储于擦除操作后的所述相邻存储扇区,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
在一实施例中,处理器101可以用于调用存储器102中存储的数据存储程序,并执行以下操作:
在所述目标存储扇区为最后一个存储扇区时,确定所述相邻存储扇区为第一个存储扇区。
基于上述电子产品的硬件构架,提出数据存储方法的实施例。
参照图2,图2为本发明数据存储方法的第一实施例,所述数据存储方法包括以下步骤:
步骤S10:获取目标存储地址,所述目标存储地址之后连续空闲存储空间对应的字节长度大于或等于预设字节长度。
具体的,目标存储地址是待存储数据的上一个存储数据存储的地址,上一个存储数据可以是工作日志;预设字节长度用于确定上一个存储数据的存储地址,当存储地址之后存在大于或等于预设字节长度的连续空闲存储空间时,将该存储地址作为目标存储地址。
步骤S20:获取待存储数据的第一字节长度。
具体的,第一字节长度为待存储数据的字节长度。待存储数据可以是日志文件,日志文件主要记录了系统和用户之间交互的信息,日志文件用于为服务器、工作站、防火墙和应用软件等互联网技术资源相关活动记录信息,例如,软件安装过程中生成的记录,以便将来卸载的时候可以提供给卸载程序使用,文件名一般为uninstall.log;用于记录软件运行中的错误信息,文件名一般为error.log。待存储数据不限于日志文件,待存储数据还可以是其他数据,例如,视频文件或音频文件等数据。
步骤S30:根据所述第一字节长度以及所述预设字节长度,在所述目标存储地址之后的相邻存储地址存储所述待存储数据,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
具体的,根据待存储数据的第一字节长度以及预设字节长度,判断目标存储地址的相邻存储地址是否能存储下待存储数据,并在待存储数据中最后一个字节之后的预留字节长度大于或等于预设字节长度的连续空闲存储空间。
在本实施例提供的技术方案中,将待存储数据存储在目标存储地址之后,由于在待存储数据的存储地址后留有预设字节长度,通过预设字节长度可以定位待存储数据的存储地址,不需要在存储空间中存储待存储数据的存储地址,节省了存储空间,也避免了频繁对数据的写入和擦除,缩短存储器的寿命。
参照图3,图3为本发明数据存储方法的第二实施例,基于第一实施例,所述步骤S10包括:
步骤S11:获取存储器中各个存储扇区中的目标存储扇区,所述目标存储扇区中具备字节长度大于或等于预设字节长度的连续空闲存储空间。
具体的,存储器是用于保存信息的记忆设备,存储器可以是闪存、优卡或数字胶卷等。其中,各个存储扇区在存储器中的分布情况和存储状态的三个例子,可以由图4所示,其中,case1是依次对空闲的存储扇区进行数据的存储,case2和case3是对已经存储数据的存储扇区进行待存储数据的存放。在存储器中各个存储扇区确定存在字节长度大于或等于预设字节长度的存储扇区,将该存储扇区作为目标存储扇区。其中目标存储扇区中是存储了上一个存储数据的存储扇区。
步骤S12:获取所述目标存储扇区中各个存储地址之后的连续空闲存储空间对应的字节长度。
具体的,获取目标存储扇区中各个存储地址之后的连续空闲存储空间对应的字节长度,各个存储地址之后的字节长度可以为预设字节长度,可以为零到预设字节长度之间的字节长度,也可以为大于预设字节长度的字节长度。因此可以通过各个存储地址之后的连续空闲存储空间对应的字节长度对目标存储地址进行判断。
步骤S13:根据所述字节长度确定所述目标存储地址。
具体的,当各个存储地址之后的连续空闲存储空间对应的字节长度满足预设条件,则确定满足预设条件的字节长度对应的存储地址为目标存储地址。这里的预设条件,可以是各个存储地址之后的连续空闲存储空间对应的字节长度等于预设字节长度,也可以是各个存储地址之后的连续空闲存储空间对应的字节长度满足预设的字节长度范围。
在本实施例提供的技术方案中,通过获取存储器中各个存储扇区中连续空闲存储空间对应的字节长度大于或等于预设字节长度的目标存储扇区,对目标存储扇区中的各个存储地址之后的连续空闲存储空间对应的字节长度进行判断,确定上一个存储数据对应的目标存储地址,从而确定了待存储数据的存储位置。
参照图5,图5为本发明数据存储方法的第三实施例,基于第一或第二实施例,所述步骤S11包括:
步骤S111:获取各个存储扇区中预设存储地址对应的存储区域的状态,所述预设存储地址连续且位于所述存储扇区的末尾,所述预设存储地址对应的存储区域的字节长度为所述预设字节长度。
步骤S112:将所述状态为空闲状态的所述存储扇区作为目标存储扇区。
具体的,目标存储扇区是存储有上一个存储数据的存储扇区。在各个存储扇区中确定预设存储地址对应的存储区域的状态,其中预设存储地址是位于存储扇区的末尾,且预设存储地址为连续的存储区域,并且该存储区域的字节长度为预设字节长度。并且预设存储地址对应的存储区域的状态可以是空闲状态,也可以是非空闲状态,即存储有数据的状态。
通过对各个存储扇区中预设存储地址对应的存储区域的状态进行选择,将状态为空闲状态的存储扇区作为目标存储扇区。
如果状态为空闲状态的存储扇区有多个,则将第一个为空闲状态的存储扇区作为目标存储扇区。
在本实施例提供的技术方案中,通过在多个存储扇区中确定上一个存储数据存储的目标存储扇区,从而在所述目标扇区中确定上一个存储数据对应的目标存储地址,缩小了目标存储地址的范围。
参照图6,图6为本发明数据存储方法的第四实施例,基于第一至第三中任一实施例,所述步骤S30包括:
步骤S31:获取所述第一字节长度和所述预设字节长度的和值。
步骤S32:在所述和值小于或等于所述目标存储扇区中的空闲存储空间对应的字节长度时,将所述待存储数据存储于目标存储地址的相邻存储地址。
具体的,计算第一字节长度和预设字节长度的和值与目标存储扇区中的空闲存储空间对应的字节长度进行比较,第一字节长度和预设字节长度的和值小于或等于目标存储地址之后连续空闲存储空间对应的字节长度,也就是说目标存储地址之后有足够的存储空间,来存放待存储数据并且可以保证待存储数据之后可以有预设字节长度的存储空间。
在本实施例提供的技术方案中,根据待存储数据的第一字节长度和预设字节长度的情况确定了待存储数据的存储地址,将待存储数据存放至目标存储扇区中目标存储地址的相邻存储地址,并保证在该存储地址之后留预设字节长度的存储空间。
参照图7,图7为本发明数据存储方法的第五实施例,基于第一至第四中任一实施例,所述步骤S30包括:
步骤S33:在所述和值大于所述目标存储扇区中的空闲存储空间对应的字节长度时,获取所述目标存储扇区的相邻存储扇区。
具体的,在第一字节长度和预设字节长度的和值大于目标存储地址之后连续空闲存储空间对应的字节长度时,目标存储地址之后的连续空闲存储空间不能存储下第一字节长度的待存储数据,或者能够存储下第一字节长度的待存储数据,但是不能在待存储数据之后留下预设字节长度的存储空间,因此需要确定目标存储扇区的相邻存储扇区。
步骤S34:根据所述空闲存储空间对应的字节长度,将所述待存储数据中的部分数据存储于目标存储扇区目标存储地址的相邻存储地址。
具体的,在第一字节长度大于目标存储地址之后连续空闲存储空间对应的字节长度时,将所述待存储数据存储于目标存储区域和相邻存储区域,也就是将所述待存储数据存储于目标存储地址的相邻存储地址,以及相邻存储扇区中的存储地址中。
将待存储数据中的部分数据存储于目标存储扇区目标存储地址的相邻存储地址,其中的部分数据的字节长度与空闲存储空间对应的字节长度一致。
步骤S35:将剩余的待存储数据存储于所述目标存储扇区的相邻存储扇区,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
具体的,将剩余的待存储数据存储于目标存储扇区的相邻存储扇区,其中剩余的待存储数据为待存储数据的字节长度与空闲存储空间对应的字节长度之差。
在第一字节长度小于目标存储地址之后连续空闲存储空间对应的字节长度时,将所述待存储数据存储于目标存储区域,待存储数据后的预设字节长度存储于目标存储区域,或者,目标存储区域和相邻存储区域。
在本实施例提供的技术方案中,根据待存储数据的第一字节长度和预设字节长度的情况确定了待存储数据的存储地址,将待存储数据存储至目标存储扇区以及相邻存储扇区,并保证在该存储地址之后留预设字节长度的存储空间。
参照图8,图8为本发明数据存储方法的第六实施例,基于第五实施例,所述步骤S34之后,还包括:
步骤S341:判断所述相邻存储扇区是否为空闲存储空间。
具体的,目标存储空间的相邻存储空间可以是空闲的存储空间,这时候待存储数据可以直接存放至相邻存储扇区;也可以是已经存储数据的存储空间,这时候待存储数据不能直接存放进相邻存储扇区。因此,在相邻存储空间中存放待存储数据之前,需要对相邻存储扇区是否为空闲存储空间进行判断。
步骤S342:若所述相邻存储扇区为空闲存储空间,则执行所述将剩余的待存储数据存储于所述目标存储扇区的相邻存储扇区,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度的步骤。
具体的,在相邻存储扇区为空闲存储空间时,将待存储数据存放至目标存储地址的相邻存储地址,以及相邻存储扇区中的存储地址中。
步骤S343:若所述相邻存储扇区不为空闲存储空间,则对所述相邻存储扇区进行擦除操作;将剩余的待存储数据存储于擦除操作后的所述相邻存储扇区,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
具体的,相邻存储扇区不为空闲存储空间时,对相邻存储扇区进行擦除操作,擦除操作用于清空相邻存储扇区中原本存储的数据,使得待存储数据能够存放至相邻存储扇区。进行擦除操作之后,将剩余的待存储数据存储于擦除操作后的所述相邻存储扇区。
在所述目标存储扇区为最后一个存储扇区时,确定所述相邻存储扇区为第一个存储扇区。如图4所示,各个存储扇区为多个连续的存储扇区,数据依次从第一个存储扇区存储到最后一个存储扇区。当目标存储扇区为最后一个存储扇区时,目标存储扇区的相邻存储扇区则为第一个存储扇区。
在本实施例提供的技术方案中,对相邻存储扇区的存储状态进行了判断,对存储有数据的相邻存储扇区进行了擦除操作,从而使得待存储数据能够存放至目标存储扇区以及相邻存储扇区。
参照图9,图9为本发明的数据存储装置,所述数据存储装置包括:
第一获取模块100,用于获取目标存储地址,所述目标存储地址之后连续空闲存储空间对应的字节长度大于或等于预设字节长度;
第二获取模块200,用于获取待存储数据的第一字节长度;
存储模块300,用于根据所述第一字节长度以及所述预设字节长度,在所述目标存储地址之后的相邻存储地址存储所述待存储数据,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
本发明还提供一种电子产品,所述电子产品包括存储器、处理器以及存储在所述存储器并可在所述处理器上执行的数据存储程序,所述数据存储程序被所述处理器执行时实现如上实施例所述的数据存储方法的各个步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有数据存储程序,所述数据存储程序被处理器执行时实现如上实施例所述的数据存储方法的各个步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据存储方法,其特征在于,所述数据存储方法包括:
获取目标存储地址,所述目标存储地址之后连续空闲存储空间对应的字节长度大于或等于预设字节长度;
获取待存储数据的第一字节长度;
根据所述第一字节长度以及所述预设字节长度,在所述目标存储地址之后的相邻存储地址存储所述待存储数据,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
2.如权利要求1所述的数据存储方法,其特征在于,所述获取目标存储地址的步骤包括:
获取存储器中各个存储扇区中的目标存储扇区,所述目标存储扇区中具备字节长度大于或等于预设字节长度的连续空闲存储空间;
获取所述目标存储扇区中各个存储地址之后的连续空闲存储空间对应的字节长度;
根据所述字节长度确定所述目标存储地址。
3.如权利要求2所述的数据存储方法,其特征在于,所述获取存储器中各个存储扇区中的目标存储扇区,所述目标存储扇区中具备字节长度大于或等于预设字节长度的连续空闲存储空间的步骤包括:
获取各个存储扇区中预设存储地址对应的存储区域的状态,所述预设存储地址连续且位于所述存储扇区的末尾,所述预设存储地址对应的存储区域的字节长度为所述预设字节长度;
将所述状态为空闲状态的所述存储扇区作为目标存储扇区。
4.如权利要求1所述的数据存储方法,其特征在于,所述根据所述第一字节长度以及所述预设字节长度,在所述目标存储地址之后的相邻存储地址存储所述待存储数据的步骤包括:
获取所述第一字节长度和所述预设字节长度的和值;
在所述和值小于或等于所述目标存储扇区中的空闲存储空间对应的字节长度时,将所述待存储数据存储于目标存储地址的相邻存储地址。
5.如权利要求4所述的数据存储方法,其特征在于,所述根据所述第一字节长度以及所述预设字节长度,在所述目标存储地址之后的相邻存储地址存储所述待存储数据的步骤还包括:
在所述和值大于所述目标存储扇区中的空闲存储空间对应的字节长度时,获取所述目标存储扇区的相邻存储扇区;
根据所述空闲存储空间对应的字节长度,将所述待存储数据中的部分数据存储于目标存储扇区目标存储地址的相邻存储地址;
将剩余的待存储数据存储于所述目标存储扇区的相邻存储扇区,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
6.如权利要求5所述的数据存储方法,其特征在于,所述根据所述空闲存储空间对应的字节长度,将所述待存储数据中的部分数据存储于目标存储扇区目标存储地址的相邻存储地址的步骤之后,还包括:
判断所述相邻存储扇区是否为空闲存储空间;
若所述相邻存储扇区为空闲存储空间,则执行所述将剩余的待存储数据存储于所述目标存储扇区的相邻存储扇区,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度的步骤;
若所述相邻存储扇区不为空闲存储空间,则对所述相邻存储扇区进行擦除操作;
将剩余的待存储数据存储于擦除操作后的所述相邻存储扇区,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
7.如权利要求5所述的数据存储方法,其特征在于,所述获取所述目标存储扇区的相邻存储扇区的步骤包括:
在所述目标存储扇区为最后一个存储扇区时,确定所述相邻存储扇区为第一个存储扇区。
8.一种数据存储装置,其特征在于,所述数据存储装置包括:
第一获取模块,用于获取目标存储地址,所述目标存储地址之后连续空闲存储空间对应的字节长度大于或等于预设字节长度;
第二获取模块,用于获取待存储数据的第一字节长度;
存储模块,用于根据所述第一字节长度以及所述预设字节长度,在所述目标存储地址之后的相邻存储地址存储所述待存储数据,以使所述待存储数据中最后一个字节之后的连续空闲存储空间对应的字节长度大于或等于预设字节长度。
9.一种电子产品,其特征在于,所述电子产品包括存储器、处理器以及存储在所述存储器并可在所述处理器上执行的数据存储程序,所述数据存储程序被所述处理器执行时实现如权利要求1-7任一项所述的数据存储方法的各个步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有数据存储程序,所述数据存储程序被处理器执行时实现如权利要求1-7任一项所述的数据存储方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010599278.0A CN111767234A (zh) | 2020-06-28 | 2020-06-28 | 数据存储方法、装置、电子产品以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010599278.0A CN111767234A (zh) | 2020-06-28 | 2020-06-28 | 数据存储方法、装置、电子产品以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111767234A true CN111767234A (zh) | 2020-10-13 |
Family
ID=72722461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010599278.0A Pending CN111767234A (zh) | 2020-06-28 | 2020-06-28 | 数据存储方法、装置、电子产品以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767234A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6041386A (en) * | 1998-02-10 | 2000-03-21 | International Business Machines Corporation | Data sharing between system using different data storage formats |
CN103116552A (zh) * | 2013-03-18 | 2013-05-22 | 华为技术有限公司 | 用于在分布式存储系统中分配存储空间的方法和装置 |
CN103838679A (zh) * | 2012-11-22 | 2014-06-04 | 中兴通讯股份有限公司 | 一种缓存处理方法及装置 |
CA2881206A1 (en) * | 2014-02-07 | 2015-08-07 | Andrew WARFIELD | Methods, systems and devices relating to data storage interfaces for managing address spaces in data storage devices |
-
2020
- 2020-06-28 CN CN202010599278.0A patent/CN111767234A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6041386A (en) * | 1998-02-10 | 2000-03-21 | International Business Machines Corporation | Data sharing between system using different data storage formats |
CN103838679A (zh) * | 2012-11-22 | 2014-06-04 | 中兴通讯股份有限公司 | 一种缓存处理方法及装置 |
CN103116552A (zh) * | 2013-03-18 | 2013-05-22 | 华为技术有限公司 | 用于在分布式存储系统中分配存储空间的方法和装置 |
CA2881206A1 (en) * | 2014-02-07 | 2015-08-07 | Andrew WARFIELD | Methods, systems and devices relating to data storage interfaces for managing address spaces in data storage devices |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107247722B (zh) | 一种文件扫描方法、装置及智能终端 | |
CN103345411A (zh) | 卸载应用程序的方法及装置 | |
CN109213450B (zh) | 一种基于闪存阵列的关联元数据删除方法、装置及设备 | |
CN111596945B (zh) | 嵌入式系统动态多分区固件的差分升级方法 | |
CN112860953A (zh) | 图数据库的数据导入方法、装置、设备及存储介质 | |
CN105159692A (zh) | 应用的标识方法、装置及服务器 | |
CN111142997A (zh) | 一种应用显示方法、车机及计算机存储介质 | |
CN111177075B (zh) | 一种垃圾数据的识别方法、系统、电子设备及存储介质 | |
CN110780944B (zh) | 一种应用权限的启动方法、设备及机器可读存储介质 | |
CN111767234A (zh) | 数据存储方法、装置、电子产品以及计算机可读存储介质 | |
CN109271194B (zh) | 基于分布式版本控制系统的分支访问方法和装置 | |
CN108446144A (zh) | 一种应用程序启动方法、装置、终端及存储介质 | |
CN112764897B (zh) | 任务请求的处理方法、装置、系统及计算机可读存储介质 | |
CN115454933A (zh) | 文件处理方法、装置、设备、存储介质及程序产品 | |
CN111435342B (zh) | 海报的更新方法、更新系统以及管理系统 | |
CN110795389B (zh) | 基于存储快照的拷贝方法、用户设备、存储介质及装置 | |
CN111049887A (zh) | 基于动态搜索策略的下载控制方法、系统及存储介质 | |
CN112947991A (zh) | 版本差异代码文件的获取方法、装置、计算机设备和介质 | |
CN109947721B (zh) | 一种小文件处理方法和装置 | |
CN106951343B (zh) | 非特定对象的延迟还原方法及延迟还原组件 | |
CN111225075A (zh) | 物联网定向访问业务的配置方法及装置 | |
CN111026466A (zh) | 文件处理方法、装置、计算机可读存储介质及电子设备 | |
CN105608089A (zh) | 一种文件存储方法及装置 | |
CN114518844B (zh) | 一种数据处理方法 | |
CN112947862B (zh) | 设备、Flash存储器及其数据存储方法 |
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 |