CN111444117B - 存储空间碎片化实现方法、装置、存储介质及电子设备 - Google Patents
存储空间碎片化实现方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111444117B CN111444117B CN202010208821.XA CN202010208821A CN111444117B CN 111444117 B CN111444117 B CN 111444117B CN 202010208821 A CN202010208821 A CN 202010208821A CN 111444117 B CN111444117 B CN 111444117B
- Authority
- CN
- China
- Prior art keywords
- storage space
- release
- interval
- capacity
- 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.)
- Active
Links
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/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1724—Details of de-fragmentation performed by the file system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种存储空间碎片化实现方法、装置、存储介质及电子设备。该方法包括:获取待处理的第一存储空间;确定释放间隔和释放容量;按照所述释放间隔和所述释放容量释放所述第一存储空间的部分空间,以得到间隔地分布在所述第一存储空间中的多个第二存储空间;获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中。本申请可以减少对存储空间进行碎片化处理的耗时时长。
Description
技术领域
本申请属于电子技术领域,尤其涉及一种存储空间碎片化实现方法、装置、存储介质及电子设备。
背景技术
随着电子技术的快速发展,诸如智能手机或平板电脑等电子设备的使用也越来越广泛。在用户使用电子设备的过程中,经常需要占用存储空间存储数据,并在数据使用完毕时释放占用的存储空间。存储空间的不断被占用和不断被释放,会造成存储空间碎片化。
在电子设备出厂前,需要对存储空间进行碎片化处理,以模拟用户使用电子设备而造成存储空间碎片化的场景,从而提前确定相应的措施来解决存储空间碎片化的问题,进而在用户实际使用电子设备时,利用确定的措施对用户使用电子设备造成的存储空间碎片化的问题进行优化。然而,相关技术所采用的对存储空间进行碎片化处理的方案耗时较多。
发明内容
本申请实施例提供一种存储空间碎片化实现方法、装置、存储介质及电子设备,可以减少对存储空间进行碎片化处理的耗时时长。
本申请实施例提供一种存储空间碎片化实现方法,包括:
获取待处理的第一存储空间;
确定释放间隔和释放容量;
按照所述释放间隔和所述释放容量释放第一存储空间的部分空间,以得到间隔地分布在所述第一存储空间中的多个第二存储空间;
获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中。
本申请实施例提供一种存储空间碎片化实现装置,包括:
获取模块,用于获取待处理的第一存储空间;
确定模块,用于确定释放间隔和释放容量;
释放模块,用于按照所述释放间隔和所述释放容量释放第一存储空间的部分空间,以得到间隔地分布在所述第一存储空间中的多个第二存储空间;
写入模块,用于获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中。
本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本申请实施例提供的存储空间碎片化实现方法中的流程。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本申请实施例提供的存储空间碎片化实现方法中的流程。
本申请实施例中,可获取存储空间中未被申请的第一存储空间,然后,按照一定的间隔和一定的容量释放第一存储空间的部分空间,以得到间隔地分布在第一存储空间中的多个第二存储空间,并将待写入数据写入该多个第二存储空间中,以使第一存储空间碎片化。相对于相关技术的先将数据写入待处理存储空间,再按照一定规则删除待处理存储空间存储的部分数据,并释放相应的存储空间的方案来说,由于本申请实施例提供的存储空间碎片化实现方法需写入存储空间的数据较少,也无需删除部分数据,耗时较少。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1是本申请实施例提供的存储空间碎片化实现方法的第一种流程示意图。
图2是本申请实施例提供的存储空间碎片化实现方法的第二种流程示意图。
图3是本申请实施例提供的存储空间碎片化实现方法的场景示意图。
图4是本申请实施例提供的存储空间碎片化实现装置的结构示意图。
图5是本申请实施例提供的电子设备的第一种结构示意图。
图6是本申请实施例提供的电子设备的第二种结构示意图。
具体实施方式
请参照图示,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
可以理解的是,本申请实施例的执行主体可以是诸如智能手机或平板电脑等电子设备。
请参阅图1,图1是本申请实施例提供的存储空间碎片化实现方法的第一种流程示意图,流程可以包括:
在101中,获取待处理的第一存储空间。
可以理解的是,在用户使用电子设备的过程中,经常需要占用存储空间存储数据,并在数据使用完毕时释放占用的存储空间。存储空间的不断被占用和不断被释放,会造成存储空间碎片化。
在电子设备出厂前,需要对存储空间进行碎片化处理,以模拟用户使用电子设备而造成存储空间碎片化的场景,从而提前确定相应的措施来解决存储空间碎片化的问题,进而在用户实际使用电子设备时,利用确定的措施对用户使用电子设备造成的存储空间碎片化的问题进行优化。
比如,当需要对存储空间进行碎片化处理,以模拟用户使用电子设备而造成存储空间碎片化的场景时,电子设备可获取需要进行碎片化处理的待处理的第一存储空间。其中,该第一存储空间可以为:基于EXT4文件系统或F2FS文件系统等文件系统进行文件管理的存储空间。
可以理解的是,该第一存储空间可以是,基于EXT4文件系统或F2FS文件系统进行文件管理的完整存储空间。即该第一存储空间可以在其他进程向EXT4文件系统或F2FS文件系统申请存储空间之前,由某进程向EXT4文件系统或F2FS文件系统申请完整的存储空间。也就是说,假设EXT4文件系统或F2FS文件系统对应的存储空间的大小为128GB,则该进程申请的存储空间的大小即为128GB,即该第一存储空间的大小为128GB。
在一些实施例中,该第一存储空间也可以是,基于EXT4文件系统或F2FS文件系统进行文件管理的部分连续存储空间。例如,若基于EXT4文件系统或F2FS文件系统进行文件管理的完整存储空间的大小为128GB,但其中有大小为8GB的存储空间被其他进程申请并占用,那么,该第一存储空间可以为剩下的大小为120GB的存储空间。
在102中,确定释放间隔和释放容量。
比如,电子设备可预先接收用户输入的多个间隔和多个容量,并将该多个间隔组合成间隔集合,将该多个容量组合成容量集合。其中,间隔集合中的间隔可以为4KB、8KB等。容量集合中的容量可以为4KB、8KB等。
在本申请实施例中,电子设备还可预先设置用户的生物特征信息与间隔及容量的映射关系。比如,用户的生物特征信息P1可对应间隔S1和容量V1;用户的生物特征信息P2可对应间隔S2和容量V2;用户的生物特征信息P3可对应间隔S3和容量V3……其中,生物特征信息可包括:指纹信息、声纹信息、人脸特征信息、虹膜信息等。
当电子设备获取到待处理的第一存储空间之后,电子设备可获取间隔集合和容量集合,并获取用户输入的生物特征信息。然后将间隔集合和容量集合中与该生物特征信息对应间隔和容量,确定为释放间隔和释放容量。例如,若用户输入的生物特征信息为P3,则释放间隔为S3,释放容量为V3。
在一些实施例中,当获取到待处理的第一存储空间之后,电子设备可获取预先设置的间隔集合和容量集合。电子设备可显示该间隔集合和该容量集合中的间隔和容量。电子设备可接收用户的选取操作,该选取操作用于从显示的间隔和容量中选取间隔和容量。电子设备可将选取操作所选取的间隔和容量确定为释放间隔和释放容量。其中,间隔集合可包括多个间隔,如4KB,8KB等。容量集合可包括多个容量,如4KB,8KB等。间隔集合和容量集合可预先设置于电子设备中。
在另一些实施例中,当获取到待处理的第一存储空间之后,电子设备可接收用户输入的间隔和容量,并将用户输入的间隔和容量作为释放间隔和释放容量。例如,若用户输入的间隔为4KB,用户输入的容量为4KB,则释放间隔为4KB,释放容量为4KB。又例如,若用户输入的间隔为4KB,用户输入的容量为8KB,则释放间隔为4KB,释放容量为8KB。
比如,电子设备还可预先设置一间隔和一容量,并将该间隔和容量设置为释放间隔和释放容量。例如,若电子设备预先设置的间隔为8KB,电子设备预先设置的容量为8KB,则释放间隔为8KB,释放容量为8KB。
在103中,按照释放间隔和释放容量释放第一存储空间的部分空间,以得到间隔地分布在第一存储空间中的多个第二存储空间。
例如,假设释放间隔为4KB,释放容量为4KB,对于待处理的第一存储空间,电子设备可每隔4KB释放大小为4KB的存储空间,以得到间隔地分布在第一存储空间中的多个大小为4KB的第二存储空间。
又例如,假设释放间隔为4KB,释放容量为4KB,对于待处理的第一存储空间,电子设备可先隔4KB释放大小为4KB的存储空间。然后,电子设备可隔8KB释放大小为4KB的存储空间。接着,电子设备可隔12KB释放大小为4KB的存储空间,以此循环,电子设备可继续隔4KB释放大小为4KB的存储空间,电子设备可再隔8KB释放大小为4KB的存储空间……从而得到间隔地分布在第一存储空间中的多个第二存储空间。
例如,假设释放间隔为4KB,释放容量为4KB,对于待处理的第一存储空间,电子设备可先隔4KB释放大小为4KB的存储空间。然后,电子设备可隔8KB释放大小为8KB的存储空间。接着,电子设备可隔12KB释放大小为12KB的存储空间,以此循环,电子设备可继续隔4KB释放大小为4KB的存储空间,电子设备可再隔8KB释放大小为8KB的存储空间……从而得到间隔地分布在第一存储空间中的多个第二存储空间。
又例如,假设释放间隔为4KB,释放容量为4KB,对于待处理的第一存储空间,电子设备可先隔4KB释放大小为4KB的存储空间。然后,电子设备可隔4KB释放大小为8KB的存储空间。接着,电子设备可隔4KB释放大小为12KB的存储空间,以此循环,电子设备可继续隔4KB释放大小为4KB的存储空间,电子设备可再隔4KB释放大小为8KB的存储空间……从而得到间隔地分布在第一存储空间中的多个第二存储空间。
在104中,获取待写入数据,并将待写入数据写入多个第二存储空间中。
其中,待写入数据可由电子设备中的进程产生,也可由电子设备中的线程产生,等等。
比如,假设多个第二存储空间的大小均为4KB,电子设备获取的待写入数据中存在大小为8KB的数据,在写入该待写入数据时,电子设备可将该待写入数据分为两份大小为4KB的数据,分别写入两个相邻或者不相邻的第二存储空间中。
在一些实施例中,假设多个第二存储空间的大小均为4KB,那么,电子设备可获取多个大小为4KB的待写入数据,并将该多个待写入数据中的每一待写入数据分别写入多个第二存储空间中的每一第二存储空间中。其中,第二存储空间的数量与待写入数据的数量相同。
本实施例中,可获取存储空间中未被申请的第一存储空间,然后,按照一定的间隔和一定的容量释放第一存储空间的部分空间,以得到间隔地分布在第一存储空间中的多个第二存储空间,并将待写入数据写入该多个第二存储空间中,以使第一存储空间碎片化。相对于相关技术的先将数据写入存储空间,再按照一定规则删除存储空间存储的部分数据,并释放删除数据后的存储空间的方案来说,由于本申请实施例提供的存储空间碎片化实现方法需写入存储空间的数据较少,也无需删除部分数据,耗时较少。
请参阅图2,图2是本申请实施例提供的存储空间碎片化实现方法的第二种。流程示意图,流程可以包括:
在201中,电子设备接收用户输入的路径信息。
在202中,若路径信息指向的存储空间为目标存储空间,则电子设备发送存储空间分配请求,该存储空间分配请求用于请求目标存储空间中未被分配的存储空间。
在203中,电子设备获取基于存储空间分配请求分配到的存储空间,作为待处理的第一存储空间。
其中,路径信息可为存储空间等在电子设备中的位置。
可以理解的是,在用户使用电子设备的过程中,经常需要占用存储空间存储数据,并在数据使用完毕时释放占用的存储空间。存储空间的不断被占用和不断被释放,会造成存储空间碎片化。
在电子设备出厂前,需要对存储空间进行碎片化处理,以模拟用户使用电子设备而造成存储空间碎片化的场景,从而使得开发人员可提前确定相应的措施来解决存储空间碎片化的问题,并将确定出的措施保存至电子设备中。在用户实际使用电子设备时,电子设备可利用确定的措施对用户使用电子设备造成的存储空间碎片化的问题进行优化。
比如,开发人员可在电子设备中预置一应用程序A。该应用程序A可用于对存储空间进行碎片化处理,以模拟用户使用电子设备而造成存储空间碎片化的场景。当需要对存储空间进行碎片化处理时,开发人员可点击该应用程序A,以启动该应用程序A,以运行该应用程序A。运行中的应用程序A即为一进程,进程可包括多个线程。
当进入该应用程序A后,该应用程序A可弹出一输入框,该输入框用于接收用户输入的路径信息。在一些实施例中,该应用程序A中可设置一路径信息输入按钮,当进入该应用程序A后,开发人员可点击该按钮,以进行路径信息的输入。
当接收到用户输入的路径信息之后,电子设备可检测该路径信息指向的存储空间是否为目标存储空间。其中,目标存储空间为,基于EXT4文件系统或F2FS文件系统进行文件管理的存储空间。目标存储空间的大小可以为128GB、256GB等。目标存储空间的最小单位为4KB。目标存储空间可以为硬盘。
当判定该路径信息指向的存储空间为目标存储空间,电子设备可控制应用程序A的进程向EXT4文件系统或F2FS文件系统发送存储空间分配请求,该存储空间分配请求用于请求目标存储空间中未被分配的存储空间。也即,该存储空间分配请求用于申请目标存储空间中的剩余空间。当接收到该存储空间分配请求时,EXT4文件系统或F2FS文件系统可将目标存储空间的剩余空间分配给该进程。该进程即获取到基于存储空间分配请求分配到的存储空间,该存储空间可作为待处理的第一存储空间。
当判定该路径信息指向的存储空间不为目标存储空间时,电子设备可不作处理;或者,电子设备可生成并显示一提示信息。该提示信息用于提示用户重新输入路径信息。
其中,EXT4是第四代扩展文件系统,是Linux系统下的日志文件系统。F2FS文件系统是专门为基于NAND的存储设备设计的新型开源flash文件系统。
需要说明的是,本申请实施例中的目标存储空间不仅限于为基于EXT4文件系统或F2FS文件系统进行文件管理的存储空间,其还可为其他存储空间,此处不作具体限制。
在204中,电子设备获取间隔集合和容量集合。
在205中,电子设备接收用户输入的生物特征信息。
在206中,电子设备将间隔集合和容量集合中与生物特征信息对应的间隔和容量,确定为释放间隔和释放容量。
比如,电子设备可预先接收用户输入的多个间隔和多个容量,并将该多个间隔组合成间隔集合,将该多个容量组合成容量集合。其中,间隔集合中的间隔可为目标存储空间的最小单位的整数倍。容量集合中的容量可为目标存储空间的最小单位的整数倍。例如,间隔集合中的间隔可以为4KB、8KB、12KB等。容量集合中的容量可以为4KB、8KB、12KB等。
电子设备还可预先设置用户的生物特征信息与间隔及容量的映射关系。比如,用户的生物特征信息P1可对应间隔S1和容量V1;用户的生物特征信息P2可对应间隔S2和容量V2;用户的生物特征信息P3可对应间隔S3和容量V3……其中,生物特征信息可包括:指纹信息、声纹信息、人脸特征信息、虹膜信息等。
在本申请实施例中,当电子设备获取到待处理的第一存储空间之后,电子设备可获取上述间隔集合和容量集合,并获取用户输入的生物特征信息。然后将间隔集合和容量集合中与该生物特征信息对应的间隔和容量,确定为释放间隔和释放容量。例如,若用户输入的生物特征信息为P3,则释放间隔为S3,释放容量为V3。
在一些实施例中,当进入该应用程序A后,该应用程序还可弹出另一输入框,该输入框用于接收用户输入的间隔和容量。电子设备可将用户输入的间隔和容量作为释放间隔和释放容量。
在另一些实施例中,该应用程序A中还可设置一间隔和容量输入按钮,当进入该应用程序A后,开发人员可点击该按钮,以进入间隔和容量的输入。开发人员输入的间隔和容量可作为释放间隔和释放容量。
在207中,电子设备判断释放间隔是否处于预设间隔范围内,且释放容量是否处于预设容量范围内。若是,则进入流程208。
在208中,对于第一存储空间,电子设备每隔释放间隔释放大小等于释放容量的存储空间,以得到间隔地分布在第一存储空间中的多个第二存储空间。
其中,预设间隔范围和预设容量范围可由电子设备根据目标存储空间的剩余空间的大小实时设置。例如,若目标存储空间的剩余空间的大小为120GB,则预设间隔范围为4KB~120GB,预设容量范围为4KB~120GB。
可以理解的是,由于本申请实施例所提供的存储空间碎片化实现方法主要是为了实现存储空间碎片化,因此,释放容量范围中的数值不宜设置得较大。例如,释放容量范围可以为4KB~1MB。
比如,假设释放间隔为4KB,释放容量为8KB,释放容量范围为4KB~120GB,预设容量范围为4KB~120GB。电子设备可判定释放间隔处于预设间隔范围内,且释放容量处于预设容量范围内,则对于第一存储空间,电子设备每隔释放间隔释放大小等于释放容量的存储空间,以得到间隔地分布在第一存储空间中的多个第二存储空间。
例如,为方便画图示例,假设第一存储空间为96KB,释放间隔为4KB,释放容量为8KB,第一存储空间和第二存储空间可以如图3所示。
当释放容量不处于预设间隔范围内,或释放容量不处于预设容量范围内时,电子设备可不作处理;或者,电子设备可生成并显示一提示信息,该提示信息用于提示用户重新输入间隔和容量。
在一些实施例中,可设置间隔集合中的间隔均处于预设间隔范围内,且容量集合中的容量均处于预设容量范围内,当释放间隔和释放容量从间隔集合和容量集合中确定时,在得到释放间隔和释放容量后,电子设备可跳过流程207,直接进入流程208。
在209中,电子设备确定每一第二存储空间的大小。
在210中,电子设备根据每一第二存储空间的大小获取待写入数据,并将待写入数据写入多个第二存储空间中。
例如,假设每一第二存储空间的大小均为4KB,那么,电子设备可获取多个大小为4KB的待写入数据,并将该多个待写入数据中的每一待写入数据分别写入多个第二存储空间中的每一第二存储空间中。其中,第二存储空间的数量与待写入数据的数量相同。
在一些实施例中,电子设备可控制应用程序A的多个线程同时将其产生的大小为4KB的待写入数据,分别写入相应的第二存储空间中,以实现待写入数据的快速写入。
本实施例中,可获取存储空间中未被申请的第一存储空间,然后,按照一定的间隔和一定的容量释放第一存储空间的部分空间,以得到间隔地分布在第一存储空间中的多个第二存储空间,并将待写入数据写入该多个第二存储空间中,以使第一存储空间碎片化。相对于相关技术的先将数据写入存储空间,再按照一定规则删除存储空间存储的部分数据,并释放删除数据后的存储空间的方案来说,由于本申请实施例提供的存储空间碎片化实现方法需写入存储空间的数据较少,也无需删除部分数据,耗时较少。也即,本实施例提供的存储空间碎片化实现方法可实现快速地对存储空间进行碎片化,从而为对应的功能调试和验证提供便利的前置环境。
并且,对于多个电子设备中的存储空间,也可按照上述存储空间碎片化实现方法实现多个电子设备中的存储空间的碎片化。由于上述存储空间碎片化实现方法是先按照释放间隔和释放容量释放获取的存储空间的部分空间,再将待写入数据写入获取的存储空间未被释放的空间中,只要保证多个电子设备获取的存储空间的大小相同,释放间隔和释放容量相同,便可保证多个电子设备中碎片化后的存储空间的空间间隔一致,从而为对应的功能调试和验证提供多个相同的前置环境。
请参阅图4,图4为本申请实施例提供的存储空间碎片化实现装置的结构示意图。存储空间碎片化实现装置300包括:获取模块301,确定模块302,释放模块303及写入模块304。
获取模块301,用于获取待处理的第一存储空间。
确定模块302,用于确定释放间隔和释放容量。
释放模块303,用于按照所述释放间隔和所述释放容量释放第一存储空间的部分空间,以得到间隔地分布在所述第一存储空间中的多个第二存储空间。
写入模块304,用于获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中。
在一些实施例中,释放模块303,可以用于:对于所述第一存储空间,每隔所述释放间隔释放大小等于所述释放容量的存储空间。
在一些实施例中,释放模块303,可以用于:判断所述释放间隔是否处于预设间隔范围内,且所述释放容量是否处于预设容量范围内;若是,则执行对于所述第一存储空间,每隔所述释放间隔释放大小等于所述释放容量的存储空间。
在一些实施例中,写入模块304,可以用于:确定每一所述第二存储空间的大小;根据每一所述第二存储空间的大小获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中。
在一些实施例中,确定模块302,可以用于:获取间隔集合和容量集合;接收用户输入的生物特征信息;将所述间隔集合和所述容量集合中与所述生物特征信息对应的间隔和容量,确定为释放间隔和释放容量。
在一些实施例中,获取模块301,可以用于:接收用户输入的路径信息;若所述路径信息指向的存储空间为目标存储空间,则发送存储空间分配请求,所述存储空间分配请求用于请求目标存储空间中未被分配的存储空间;获取基于所述存储空间分配请求分配到的存储空间,作为待处理的第一存储空间。
在一些实施例中,所述目标存储空间为,基于EXT4文件系统或F2FS文件系统进行文件管理的存储空间。
本实施例中,可由获取模块301获取存储空间中未被申请的第一存储空间,然后,由释放模块303按照确定模块302所确定的间隔和容量释放第一存储空间的部分空间,以得到间隔地分布在第一存储空间中的多个第二存储空间,并由写入模块304获取待写入数据,并将待写入数据写入该多个第二存储空间中,以使第一存储空间碎片化。相对于相关技术的先将数据写入存储空间,再按照一定规则删除存储空间存储的部分数据,并释放删除数据后的存储空间的方案来说,由于本申请实施例提供的存储空间碎片化实现方法需写入存储空间的数据较少,也无需删除部分数据,耗时较少。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的存储空间碎片化实现方法中的流程。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的存储空间碎片化实现方法中的流程。
例如,上述电子设备可以是诸如平板电脑或者智能手机等移动终端。请参阅图5,图5为本申请实施例提供的电子设备的结构示意图。
该电子设备400可以包括存储器401、处理器402等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器401可用于存储应用程序和数据。存储器401存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器402通过运行存储在存储器401的应用程序,从而执行各种功能应用以及数据处理。
处理器402是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器401内的应用程序,以及调用存储在存储器401内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
在本实施例中,电子设备中的处理器402会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器401中,并由处理器402来运行存储在存储器401中的应用程序,从而实现流程:
获取待处理的第一存储空间;
确定释放间隔和释放容量;
按照所述释放间隔和所述释放容量释放所述第一存储空间的部分空间,以得到间隔地分布在所述第一存储空间中的多个第二存储空间;
获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中。
请参阅图6,电子设备400可以包括存储器401、处理器402、输入单元403、输出单元404、显示屏405等部件。
存储器401可用于存储应用程序和数据。存储器401存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器402通过运行存储在存储器401的应用程序,从而执行各种功能应用以及数据处理。
处理器402是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器401内的应用程序,以及调用存储在存储器401内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
输入单元403可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
输出单元404可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。输出单元可包括显示面板。
显示屏405可以用于显示文字、图片等信息。
在本实施例中,电子设备中的处理器402会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器401中,并由处理器402来运行存储在存储器401中的应用程序,从而实现流程:
获取待处理的第一存储空间;
确定释放间隔和释放容量;
按照所述释放间隔和所述释放容量释放所述第一存储空间的部分空间,以得到间隔地分布在所述第一存储空间中的多个第二存储空间;
获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中。
在一些实施方式中,处理器402执行按照所述释放间隔和所述释放容量释放所述第一存储空间的部分空间时,可以执行:对于所述第一存储空间,每隔所述释放间隔释放大小等于所述释放容量的存储空间。
在一些实施方式中,处理器402执行对于所述第一存储空间,每隔所述释放间隔释放大小等于所述释放容量的存储空间之前,还可以执行:判断所述释放间隔是否处于预设间隔范围内,且所述释放容量是否处于预设容量范围内;若是,则执行对于所述第一存储空间,每隔所述释放间隔释放大小等于所述释放容量的存储空间。
在一些实施方式中,处理器402执行获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中时,可以执行:确定每一所述第二存储空间的大小;根据每一所述第二存储空间的大小获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中。
在一些实施方式中,处理器402执行确定释放间隔和释放容量时,还可以执行:获取间隔集合和容量集合;接收用户输入的生物特征信息;将所述间隔集合和所述容量集合中与所述生物特征信息对应的间隔和容量,确定为释放间隔和释放容量。
在一些实施方式中,处理器402执行获取待处理的第一存储空间时,可以执行:接收用户输入的路径信息;若所述路径信息指向的存储空间为目标存储空间,则发送存储空间分配请求,所述存储空间分配请求用于请求目标存储空间中未被分配的存储空间;获取基于所述存储空间分配请求分配到的存储空间,作为待处理的第一存储空间。
在一些实施方式中,所述目标存储空间为,基于EXT4文件系统或F2FS文件系统进行文件管理的存储空间。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对存储空间碎片化实现方法的详细描述,此处不再赘述。
本申请实施例提供的所述存储空间碎片化实现装置与上文实施例中的存储空间碎片化实现方法属于同一构思,在所述存储空间碎片化实现装置上可以运行所述存储空间碎片化实现方法实施例中提供的任一方法,其具体实现过程详见所述存储空间碎片化实现方法实施例,此处不再赘述。
需要说明的是,对本申请实施例所述存储空间碎片化实现方法而言,本领域普通技术人员可以理解实现本申请实施例所述存储空间碎片化实现方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述存储空间碎片化实现方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本申请实施例的所述存储空间碎片化实现装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种存储空间碎片化实现方法、装置、存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种存储空间碎片化实现方法,其特征在于,包括:
获取待处理的第一存储空间,第一存储空间为一段被占用的未存储数据的连续存储空间;
确定释放间隔和释放容量;
不向所述第一存储空间写入任何数据,直接按照所述释放间隔和所述释放容量释放未存储数据的所述第一存储空间的部分空间,以得到间隔地分布在所述第一存储空间中的多个第二存储空间;
获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中。
2.根据权利要求1所述的存储空间碎片化实现方法,其特征在于,所述按照所述释放间隔和所述释放容量释放所述第一存储空间的部分空间,包括:
对于所述第一存储空间,每隔所述释放间隔释放大小等于所述释放容量的存储空间。
3.根据权利要求2所述的存储空间碎片化实现方法,其特征在于,所述对于所述第一存储空间,每隔所述释放间隔释放大小等于所述释放容量的存储空间之前,还包括:
判断所述释放间隔是否处于预设间隔范围内,且所述释放容量是否处于预设容量范围内;
若是,则执行对于所述第一存储空间,每隔所述释放间隔释放大小等于所述释放容量的存储空间。
4.根据权利要求1所述的存储空间碎片化实现方法,其特征在于,所述获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中,包括:
确定每一所述第二存储空间的大小;
根据每一所述第二存储空间的大小获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中。
5.根据权利要求1所述的存储空间碎片化实现方法,其特征在于,所述确定释放间隔和释放容量,包括:
获取间隔集合和容量集合;
接收用户输入的生物特征信息;
将所述间隔集合和所述容量集合中与所述生物特征信息对应的间隔和容量,确定为释放间隔和释放容量。
6.根据权利要求1所述的存储空间碎片化实现方法,其特征在于,所述获取待处理的第一存储空间,包括:
接收用户输入的路径信息;
若所述路径信息指向的存储空间为目标存储空间,则发送存储空间分配请求,所述存储空间分配请求用于请求目标存储空间中未被分配的存储空间;
获取基于所述存储空间分配请求分配到的存储空间,作为待处理的第一存储空间。
7.根据权利要求6所述的存储空间碎片化实现方法,其特征在于,所述目标存储空间为,基于EXT4文件系统或F2FS文件系统进行文件管理的存储空间。
8.一种存储空间碎片化实现装置,其特征在于,包括:
获取模块,用于获取待处理的第一存储空间,第一存储空间为一段被占用的未存储数据的连续存储空间;
确定模块,用于确定释放间隔和释放容量;
释放模块,用于不向所述第一存储空间写入任何数据,直接按照所述释放间隔和所述释放容量释放未存储数据的第一存储空间的部分空间,以得到间隔地分布在所述第一存储空间中的多个第二存储空间;
写入模块,用于获取待写入数据,并将所述待写入数据写入所述多个第二存储空间中。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行权利要求1至7任一项所述的存储空间碎片化实现方法。
10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行权利要求1至7任一项所述的存储空间碎片化实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010208821.XA CN111444117B (zh) | 2020-03-23 | 2020-03-23 | 存储空间碎片化实现方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010208821.XA CN111444117B (zh) | 2020-03-23 | 2020-03-23 | 存储空间碎片化实现方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111444117A CN111444117A (zh) | 2020-07-24 |
CN111444117B true CN111444117B (zh) | 2022-10-21 |
Family
ID=71655680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010208821.XA Active CN111444117B (zh) | 2020-03-23 | 2020-03-23 | 存储空间碎片化实现方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111444117B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199303B (zh) * | 2020-12-03 | 2021-03-16 | 北京紫光青藤微系统有限公司 | 存储空间碎片化的处理方法和装置 |
CN113485969B (zh) * | 2021-05-31 | 2022-05-03 | 荣耀终端有限公司 | 一种存储碎片化方法及装置、终端及计算机存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096722B (zh) * | 2011-03-21 | 2013-03-27 | 华为数字技术(成都)有限公司 | 文件存储方法和装置 |
US9229948B2 (en) * | 2012-11-30 | 2016-01-05 | Oracle International Corporation | Self-governed contention-aware approach to scheduling file defragmentation |
WO2014101086A1 (zh) * | 2012-12-28 | 2014-07-03 | 华为技术有限公司 | 存储空间的处理方法、装置及非易失性计算机可读存储介质 |
CN105630403B (zh) * | 2015-03-27 | 2018-10-12 | 上海磁宇信息科技有限公司 | 文件存储系统及其文件存储控制方法与装置 |
CN108093016B (zh) * | 2016-11-23 | 2020-05-15 | 杭州海康威视数字技术股份有限公司 | 一种图片存储方法、装置及视频监控系统 |
CN107885458B (zh) * | 2017-09-28 | 2021-03-30 | 努比亚技术有限公司 | 一种磁盘碎片的整理方法、终端和计算机可读存储介质 |
CN107729558B (zh) * | 2017-11-08 | 2021-06-29 | 郑州云海信息技术有限公司 | 文件系统碎片整理的方法、系统、装置及计算机存储介质 |
CN110221781B (zh) * | 2019-06-04 | 2022-08-23 | Oppo广东移动通信有限公司 | 一种磁盘碎片的制造方法、装置、存储介质及智能终端 |
CN110244910A (zh) * | 2019-06-19 | 2019-09-17 | 联想(北京)有限公司 | 一种数据处理方法和电子设备 |
-
2020
- 2020-03-23 CN CN202010208821.XA patent/CN111444117B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111444117A (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3805908B1 (en) | Annotation display method, device and apparatus, and storage medium | |
KR20180097674A (ko) | 메모리 리클레임 방법 및 장치 | |
CN111090521A (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN110083399B (zh) | 小程序运行方法、计算机设备及存储介质 | |
CN108829371B (zh) | 界面控制方法、装置、存储介质及电子设备 | |
CN111078408B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN111444117B (zh) | 存储空间碎片化实现方法、装置、存储介质及电子设备 | |
US20210357258A1 (en) | Method, device and medium for allocating resource based on type of pci device | |
CN111078410A (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN111625546A (zh) | 一种数据写入方法、装置、设备、介质 | |
CN115357389A (zh) | 内存管理方法、装置及电子设备 | |
CN113625973A (zh) | 数据写入方法、装置、电子设备及计算机可读存储介质 | |
US8751724B2 (en) | Dynamic memory reconfiguration to delay performance overhead | |
CN111597553A (zh) | 病毒查杀中的进程处理方法、装置、设备及存储介质 | |
CN114138363A (zh) | 程序数据调用方法、装置、设备及存储介质 | |
US20130152049A1 (en) | Warning of register and storage area assignment errors | |
EP2827246A1 (en) | Apparatus for configuring operating system and method therefor | |
KR20140002547A (ko) | 스타일러스 펜을 사용하는 입력 이벤트를 핸들링하는 방법 및 디바이스 | |
CN108009039B (zh) | 终端信息的记录方法、装置、存储介质及电子设备 | |
CN111124627A (zh) | 应用程序的调起者确定方法、装置、终端及存储介质 | |
CN111258676B (zh) | 模块预加载方法、装置、设备及可读存储介质 | |
CN112506592B (zh) | 页面加载时长的确定方法、装置、设备和存储介质 | |
CN114070892A (zh) | 数据传输方法和装置 | |
CN114385368A (zh) | 预写日志的刷写方法和装置 | |
CN114153560A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |