数据处理方法和装置、存储介质和电子设备与流程

文档序号:25542502发布日期:2021-06-18 20:39阅读:97来源:国知局
数据处理方法和装置、存储介质和电子设备与流程

本公开涉及数据存储技术领域,具体地,涉及一种数据处理方法和装置、存储介质和电子设备。



背景技术:

在进行数据存储时,通常会将一个应用程序对应的数据存储在一个指定的路径下,磁盘中各分区可能对应存储有不同的应用程序的数据内容。但是,不同的应用程序的使用频率存在差异,部分应用程序的使用频率很高,导致其数据的调用频率也较高,从而导致该应用程序所在的磁盘分区的擦写频率变高,与此同时,使用频率较低的应用程序所在的磁盘分区的擦写频率也较低,从而导致了磁盘不同分区的擦写频率不一致的问题,使得磁盘的使用寿命达不到理论值。

目前,可以通过定期确定磁盘各分区的擦写频率以及各数据的调用频率,并将高使用频率的数据迁移至低使用频率的分区的方式来均衡磁盘各区的擦写频率,但是,这种方法需要定期对所有的磁盘和所有数据进行繁琐的统计,数据的来回迁移也会为磁盘增添无必要的擦写负担,并且,原本应当处于相同存储位置的数据会分散于各磁盘中的各个存储位置,导致了数据调用的不便。



技术实现要素:

本公开的目的是提供一种数据处理方法和装置、存储介质和电子设备,以解决上述的技术问题。

为了实现上述目的,本公开的第一方面,提供一种数据处理方法,包括:通过文件系统拦取发送至目标高频分区的数据存储指令和待存入数据,所述目标高频分区为与该文件系统对应的目标高频分区;确定与所述目标高频分区对应的目标空闲文件夹;将所述待存入数据存入所述目标空闲文件夹;其中,磁盘中包括至少一个所述文件系统,每个文件系统对应一个高频分区,所述文件系统存储有高频分区与该高频分区对应的目标空闲文件夹的对应关系,所述目标空闲文件夹位于所述磁盘的低频分区,所述高频分区的擦写频率高于所述低频分区的擦写频率。

可选地,所述将所述待存入数据存入所述目标空闲文件夹,包括:确定所述目标空闲文件夹的剩余容量,并判断所述目标空闲文件夹的剩余容量是否满足预设容量条件,在所述目标空闲文件夹的剩余容量满足所述预设容量条件的情况下,将所述待存入数据存入所述目标空闲文件夹,在所述目标空闲文件夹的剩余容量不满足所述预设容量条件的情况下,将所述待存入数据存入所述目标高频分区。

可选地,所述将所述待存入数据存入所述目标空闲文件夹,包括:确定所述低频分区的擦写频率,并判断所述低频分区的擦写频率是否满足第一擦写条件,在所述低频分区的擦写频率满足所述第一擦写条件的情况下,将所述待存入数据存入所述目标空闲文件夹,在所述低频分区的擦写频率不满足所述第一擦写条件的情况下,将所述待存入数据存入所述目标高频分区;或者,确定所述目标高频分区的擦写频率和所述低频分区的擦写频率,并判断所述目标高频分区的擦写频率和所述低频分区的擦写频率的比值或差值是否满足第二擦写条件,在所述目标高频分区的擦写频率和所述低频分区的擦写频率的比值或差值满足所述第二擦写条件的情况下,将所述待存入数据存入所述目标空闲文件夹,在所述目标高频分区的擦写频率和所述低频分区的擦写频率的比值或差值不满足所述第二擦写条件的情况下,将所述待存入数据存入所述目标高频分区。

可选地,所述目标高频分区的擦写频率是基于所述目标高频分区的操作记录文件确定的,所述目标空闲文件夹的擦写频率是基于所述目标空闲文件夹的操作记录文件确定的;所述方法还包括:在对所述目标高频分区或所述目标空闲文件夹执行数据写入、数据读取和数据删除操作时,在所述目标高频分区或所述目标空闲文件夹对应的操作记录文件中记录操作次数和数据变化量。

可选地,所述方法还包括:获取针对所述目标高频分区的数据处理指令;在所述目标高频分区和所述目标空闲文件夹中查找待处理的目标数据;基于所述数据处理指令的类型,对所述目标数据进行数据处理操作,其中,所述数据处理操作包括开启操作、修改操作、删除操作中的至少一种。

可选地,所述方法还包括:基于所述目标空闲文件夹的剩余容量和/或擦写频率,确定是否将处理后的所述目标数据存入所述目标空闲文件夹。

可选地,所述在所述目标高频分区和所述目标空闲文件夹中查找待处理数据,包括:在所述磁盘的缓存区域中查找所述待处理数据,在所述磁盘的缓存区域中不存在所述待处理数据的情况下,在所述目标高频分区和所述目标空闲文件夹中查找所述待处理数据。

可选地,所述数据存储指令还包括目标目录,所述目标目录为所述目标高频分区中的任意子目录;所述将所述待存入数据存入所述目标空闲文件夹,包括;将所述待存入数据存入所述目标空闲文件夹中与所述目标目录对应的子文件夹中。

可选地,所述方法还包括:获取针对所述目标高频分区的目录新建指令或目录删除指令;在所述目标高频分区中新建所述目录新建指令对应的目录,并在所述目标空闲文件夹中新建与所述目录新建指令对应的目录;或,删除所述目标高频分区中与所述目录删除指令对应的目录,并在所述目标空闲文件夹中删除与所述目录删除指令对应的目录。

可选地,所述方法还包括:获取针对所述目标高频分区的数据展示指令,所述数据展示指令包括待展示目录;确定所述目标高频分区的所述待展示目录中的待展示数据和所述目标空闲文件夹中与所述待展示目录对应的子文件夹中的待展示数据;将所述目标高频分区中的待展示数据和所述目标空闲文件夹中的待展示数据合并,并展示合并后的数据。

可选地,所述方法还包括:响应于针对所述低频分区的数据展示指令,确定所述低频分区中的待展示数据和所述目标空闲文件夹中的数据;展示所述低频分区中的待展示数据,其中,所述目标空闲文件中的数据处于隐藏状态。

可选地,所述方法还包括:确定各高频分区对应的空闲文件夹和文件系统;将高频分区和该高频分区对应的空闲文件夹的目录信息和操作函数存入与该高频分区对应的文件系统;所述文件系统用于拦取针对所述文件系统所对应的高频分区的数据操作指令,并响应于所述数据操作指令,基于所述数据操作指令对应的操作函数对该高频分区或该高频分区对应的空闲文件夹中的数据进行操作,其中,所述数据操作指令包括数据存储指令、数据操作指令、数据展示指令中的至少一种。

第二方面,本公开提供一种数据处理装置,所述装置包括:存储指令获取模块,用于通过文件系统拦取发送至目标高频分区的数据存储指令和待存入数据,所述目标高频分区为与该文件系统对应的目标高频分区;文件夹确定模块,用于确定与所述目标高频分区对应的目标空闲文件夹;数据存储模块,用于将所述待存入数据存入所述目标空闲文件夹;其中,磁盘中包括至少一个所述文件系统,每个文件系统对应一个高频分区,所述文件系统存储有高频分区与该高频分区对应的目标空闲文件夹的对应关系,所述目标空闲文件夹位于所述磁盘的低频分区,所述高频分区的擦写频率高于所述低频分区的擦写频率。

可选地,所述数据存储模块,用于确定所述目标空闲文件夹的剩余容量,并判断所述目标空闲文件夹的剩余容量是否满足预设容量条件,在所述目标空闲文件夹的剩余容量满足所述预设容量条件的情况下,将所述待存入数据存入所述目标空闲文件夹,在所述目标空闲文件夹的剩余容量不满足所述预设容量条件的情况下,将所述待存入数据存入所述目标高频分区。

可选地,所述数据存储模块,用于确定所述低频分区的擦写频率,并判断所述低频分区的擦写频率是否满足第一擦写条件,在所述低频分区的擦写频率满足所述第一擦写条件的情况下,将所述待存入数据存入所述目标空闲文件夹,在所述低频分区的擦写频率不满足所述第一擦写条件的情况下,将所述待存入数据存入所述目标高频分区;或者,确定所述目标高频分区的擦写频率和所述低频分区的擦写频率,并判断所述目标高频分区的擦写频率和所述低频分区的擦写频率的比值或差值是否满足第二擦写条件,在所述目标高频分区的擦写频率和所述低频分区的擦写频率的比值或差值满足所述第二擦写条件的情况下,将所述待存入数据存入所述目标空闲文件夹,在所述目标高频分区的擦写频率和所述低频分区的擦写频率的比值或差值不满足所述第二擦写条件的情况下,将所述待存入数据存入所述目标高频分区。

可选地,所述目标高频分区的擦写频率是基于所述目标高频分区的操作记录文件确定的,所述目标空闲文件夹的擦写频率是基于所述目标空闲文件夹的操作记录文件确定的;所述装置还包括记录模块,用于在对所述目标高频分区或所述目标空闲文件夹执行数据写入、数据读取和数据删除操作时,在所述目标高频分区或所述目标空闲文件夹对应的操作记录文件中记录操作次数和数据变化量。

可选地,所述装置还包括数据处理模块,用于获取针对所述目标高频分区的数据处理指令;在所述目标高频分区和所述目标空闲文件夹中查找待处理的目标数据;基于所述数据处理指令的类型,对所述目标数据进行数据处理操作,其中,所述数据处理操作包括开启操作、修改操作、删除操作中的至少一种。

可选地,所述数据处理模块,还用于基于所述目标空闲文件夹的剩余容量和/或擦写频率,确定是否将处理后的所述目标数据存入所述目标空闲文件夹。

可选地,所述数据处理模块,还用于在所述磁盘的缓存区域中查找所述待处理数据,在所述磁盘的缓存区域中不存在所述待处理数据的情况下,在所述目标高频分区和所述目标空闲文件夹中查找所述待处理数据。

可选地,数据存储指令还包括目标目录,所述目标目录为所述目标高频分区中的任意子目录;所述数据存储模块,用于将所述待存入数据存入所述目标空闲文件夹中与所述目标目录对应的子文件夹中。

可选地,所述装置还包括目录处理模块,用于获取针对所述目标高频分区的目录新建指令或目录删除指令;在所述目标高频分区中新建所述目录新建指令对应的目录,并在所述目标空闲文件夹中新建与所述目录新建指令对应的目录;或,删除所述目标高频分区中与所述目录删除指令对应的目录,并在所述目标空闲文件夹中删除与所述目录删除指令对应的目录。

可选地,所述装置还包括第一展示模块,用于获取针对所述目标高频分区的数据展示指令,所述数据展示指令包括待展示目录;确定所述目标高频分区的所述待展示目录中的待展示数据和所述目标空闲文件夹中与所述待展示目录对应的子文件夹中的待展示数据;将所述目标高频分区中的待展示数据和所述目标空闲文件夹中的待展示数据合并,并展示合并后的数据。

可选地,所述装置还包括第二展示模块,用于响应于针对所述低频分区的数据展示指令,确定所述低频分区中的待展示数据和所述目标空闲文件夹中的数据;展示所述低频分区中的待展示数据,其中,所述目标空闲文件中的数据处于隐藏状态。

可选地,所述装置还包括设置模块,用于确定各高频分区对应的空闲文件夹和文件系统;将高频分区和该高频分区对应的空闲文件夹的目录信息和操作函数存入与该高频分区对应的文件系统;所述文件系统用于拦取针对所述文件系统所对应的高频分区的数据操作指令,并响应于所述数据操作指令,基于所述数据操作指令对应的操作函数对该高频分区或该高频分区对应的空闲文件夹中的数据进行操作,其中,所述数据操作指令包括数据存储指令、数据操作指令、数据展示指令中的至少一种。

第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。

第四方面,本公开提供一种电子设备,包括存储器和处理器,存储器上存储有计算机程序,处理器用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。

通过上述技术方案,至少可以达到以下技术效果:

可以将待存入高频分区的数据存入位于低频分区的目标空闲文件夹内,通过将高频分区承载的数据转移至低频分区中,达到均衡磁盘各分区的擦写频率的效果,并且,由于高频分区和目标空闲文件夹具有对应关系,数据的存储位置更规律,更利于数据调用。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性公开实施例示出的一种数据处理方法的流程图。

图2是根据一示例性公开实施例示出的一种操作系统的结构示意图。

图3是根据一示例性公开实施例示出的一种用户视角下的文件位置和真实文件位置的对应关系的示意图。

图4是根据一示例性公开实施例示出的一种数据处理装置的框图。

图5是根据一示例性公开实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1是根据一示例性公开实施例示出的一种数据处理方法的流程图,如图1所示,所述方法包括以下步骤:

s11、通过文件系统拦取发送至目标高频分区的数据存储指令和待存入数据,所述目标高频分区为与该文件系统对应的目标高频分区。

该目标高频分区为磁盘中擦写频率较高的分区,该磁盘可以为装载于车辆、移动终端、服务器设备等任意设备中的磁盘,该磁盘可以是用于存储普通数据的磁盘,也可以是用于承载应用程序并对应用程序相关的数据进行记录的磁盘。

该针对磁盘的目标高频分区的数据存储指令可以是用户进行直接指向的指令,例如,用户通过磁盘的展示界面选择了数据的存储路径,该存储路径位于目标高频分区中;该数据存储指令还可以是基于应用程序进行指向的指令,例如,在需要对某存储区域位于磁盘的目标高频分区中的应用程序进行数据存入时,该数据存入所用的数据存储指令为针对磁盘的目标高频分区的数据存储指令。

该待存入的数据可以为图片、文档、视频、系统文件、系统日志等任意形式的数据,本公开对磁盘中存储的数据的形式不做限定。

所述磁盘中包括至少一个文件系统,确定各高频分区对应的空闲文件夹和文件系统;将该高频分区和该空闲文件夹的目录信息和操作函数存入该文件系统;所述文件系统用于拦取针对所述文件系统所对应的高频分区的数据操作指令,并响应于所述数据操作指令,基于所述数据操作指令对应的操作函数对该高频分区或该高频分区对应的空闲文件夹中的数据进行操作,其中,所述数据操作指令包括数据存储指令、数据操作指令、数据展示指令中的至少一种。

如图2所示的是一种操作系统的结构示意图,如图2所示,用户态和内核态分别通过systemcall与虚拟文件系统进行交互,routfs为本公开中用于执行上述方法s11至s14的文件系统,该文件系统为堆叠式文件系统,挂载于高频分区a上,并存储有高频分区a对应的低频分区b、c等分区的路径,在用户访问高频分区a时,通过systemcall调用到虚拟文件系统,由于文件系统routfs挂载于普通文件系统之上,所以虚拟文件系统会把数据操作指令转交给文件系统routfs处理,由文件系统routfs确定数据操作指令对应的真实的数据路径,并进行相应的数据操作。

文件系统可以于开机的时候进行挂载,其挂载的参数为高频分区以及对应的目标空闲文件夹的目录,在文件系统获取到各目录的路径后,可以通过系统的superblock保存路径信息,并将高频分区及低频分区中的文件操作函数和文件夹操作函数保存到文件系统的superblock中。检查目标空闲文件夹所在的低频分区中是否存在record记录文件,如果存在则加载其中记录的文件操作记录,如果不存在则在低频分区中新建record记录文件。在进行数据调用时,通过文件系统的接口获取对应的数据以及对应的操作接口,并通过已存储的操作函数对数据进行操作。s12、确定与所述高频分区对应的目标空闲文件夹。

所述目标空闲文件夹位于所述磁盘的低频分区。所述高频分区的擦写频率高于所述低频分区的擦写频率。

值得说明的是,该高频分区和低频分区的区分是基于高频分区和空闲文件夹的对应关系确立的时刻各分区的擦写频率决定的,在后续进行了数据存储、调用等操作后,低频分区的擦写频率可能会高于或等于高频分区,在这种情况下,可以选择限制向低频分区中存入数据,或者在其他的低频分区中为高频分区重新确定对应的空闲文件夹。

在一种可能的实施方式中,一个高频分区还可以对应多个目标空闲文件夹,这些目标空闲文件夹可以位于不同的低频分区中,该高频分区的不同子目录可以对应不同的低频分区中不同空闲文件夹,也可以对应相同低频分区中的不同空闲文件夹,还可以对应相同低频分区中的相同空闲文件夹,可以通过数据存储指令,确定待存入数据在目标高频分区中的目标子目录,并确定目标子目录对应的目标空闲文件夹。例如,目标高频分区a具有子目录a1、a2、a3,其中,a1对应低频分区b中的空闲文件夹b1,a2对应低频分区c中的空闲文件夹c1,a3对应低频分区c中的空闲文件夹c2,则在获取到向子目录a2存入数据的指令后,可以确定目标高频分区对应的目标空闲文件夹为低频分区c中的空闲文件夹c1。

s13、将所述待存入数据存入所述目标空闲文件夹。

由于目标空闲文件夹位于磁盘擦写频率较低的低频分区中,因此,可以将待存入目标高频分区的文件存入目标空闲文件夹中,以减少对目标高频分区的磁盘消耗,将对目标高频分区的磁盘消耗转移到低频分区中。

考虑到多次将待存入数据存入目标空闲文件夹后,低频分区的磁盘损耗将会上升,或者目标空闲文件夹的剩余容量可能不足,因此,在一种可能的实施方式中,可以根据目标空闲文件夹的剩余容量确定是否将数据存入目标空闲文件夹,在另一种可能的实施方式中,可以根据所述低频分区的擦写频率确定是否将数据存入目标空闲文件夹。

可以确定所述目标空闲文件夹的剩余容量,并判断所述目标空闲文件夹的剩余容量是否满足预设容量条件,在所述目标空闲文件夹的剩余容量满足所述预设容量条件的情况下,将所述待存入数据存入所述目标空闲文件夹,在所述目标空闲文件夹的剩余容量不满足所述预设容量条件的情况下,将所述待存入数据存入所述目标高频分区。

目标空闲文件夹的剩余容量为目标文件夹的额定容量与已占用容量的差值,该额定容量可以是预先分配的容量,或者,该额定容量可以是低频分区的剩余容量,本公开对此不做限制。例如,低频分区的总容量为1024mb,其他文件已占用24mb,该额定容量可以为1000mb(即低频分区的剩余容量),也可以为预先分配的500mb,在后续使用中,该低频分区的其他文件占用的容量变为124mb,则该额定容量可以为900mb(即低频分区的剩余容量),也可以为预先分配的500mb。

该预设容量条件可以是指剩余容量达到预设的容量阈值,或者目标空闲文件夹的剩余容量与总容量的比值(即占用率)不足预设的占用率阈值,或者剩余容量高于待存入的数据量,或者,还可以是目标空闲文件夹的占用率和目标高频分区的占用率的大小满足大小条件。

例如,该预设容量条件为剩余容量达到1g,则在剩余容量只有900mb的情况下,将待存入文件存入目标高频分区而不是目标空闲文件夹;该预设容量条件为占用率不足80%,则在额定容量为1000mb,已占用容量为900mb的情况下,目标空闲文件夹的占用率达到90%,则将待存入文件存入目标高频分区而不是目标空闲文件夹;该预设容量条件可以为目标空闲文件夹的占用率低于目标高频分区的占用率,则在目标空闲文件夹的占用率为80%而目标高频分区的占用率为40%的情况下,将待存入文件存入目标高频分区而不是目标空闲文件夹。

可以确定所述低频分区的擦写频率,并判断所述低频分区的擦写频率是否满足第一擦写条件,在所述低频分区的擦写频率满足所述第一擦写条件的情况下,将所述待存入数据存入所述目标空闲文件夹,在所述低频分区的擦写频率不满足所述第一擦写条件的情况下,将所述待存入数据存入所述目标高频分区。

该第一擦写条件可以为低频分区的擦写频率低于预设的擦写频率阈值,或者小于等于预设的擦写频率阈值。

或者,可以确定所述目标高频分区的擦写频率和所述低频分区的擦写频率,并判断所述目标高频分区的擦写频率和所述低频分区的擦写频率的比值或差值是否满足第二擦写条件,在所述目标高频分区的擦写频率和所述低频分区的擦写频率的比值或差值满足所述第二擦写条件的情况下,将所述待存入数据存入所述目标空闲文件夹,在所述目标高频分区的擦写频率和所述低频分区的擦写频率的比值或差值不满足所述第二擦写条件的情况下,将所述待存入数据存入所述目标高频分区。

例如,该第二擦写条件可以为目标高频分区的擦写频率和低频分区的擦写频率的比值大于比值阈值,或者,该第二擦写条件可以为目标高频分区的擦写频率和低频分区的擦写频率的差值大于差值阈值。也就是说,在低频分区的擦写频率上升的情况下,为了平衡目标高频分区和低频分区的磁盘消耗,可以限制往低频分区中存入文件。

在一种可能的实施方式中,可以基于目标高频分区的擦写频率、低频分区的擦写频率以及目标空闲文件夹的剩余容量,确定是否向目标空闲文件夹中存入数据。具体的存入条件可以根据存储需求进行适应性调整,作为一种示例,可以将目标空闲文件夹的占用率作为第一指标,将目标高频分区和低频分区的擦写频率的比值作为第二指标,根据存储需求的不同为第一指标和第二指标赋予不同的权重,基于加权后的第一指标和第二指标的和确定向目标高频分区中存储数据还是向目标空闲文件夹中存入数据。

所述目标高频分区的擦写频率是基于所述目标高频分区的操作记录文件确定的,所述目标空闲文件夹的擦写频率是基于所述目标空闲文件夹的操作记录文件确定的,该操作记录文件可以为record文件形式的文件,其中记录有对该文件所在的目录的调用记录,调用记录可以包括数据的调用形式、数据的调用量、数据的调用路径等。在对所述目标高频分区或所述目标空闲文件夹执行数据写入、数据读取和数据删除操作时,在所述目标高频分区或所述目标空闲文件夹对应的操作记录文件中记录操作次数和数据变化量。

值得说明的是,通过操作记录文件可以查看到操作记录文件所在目录的数据情况,而目标空闲文件夹位于低频分区中,因此,可以在对低频分区的查看、调用等过程中隐藏目标空闲文件夹的操作记录文件,从而使得低频分区中的数据操作记录不受目标空闲文件夹中的数据调用操作的影响,以避免记录混乱,更利于用户对低频分区的数据进行查看和调用。

在一种可能的实施方式中,所述数据存储指令还包括目标目录,所述目标目录为所述目标高频分区中的任意子目录,将所述待存入数据存入所述目标空闲文件夹中与所述目标目录对应的子文件夹中。在目标高频分区中不存在目标目录对应的子目录的情况下,可以在目标高频分区中新建目标目录对应的子目录,在目标空闲文件夹中不存在目标目录对应的子文件夹的情况下,可以在目标空闲文件夹中新建目标目录对应的子文件夹。例如,目标高频分区为a区,该目标高频分区对应的目标空闲文件夹为b区的a1文件夹,待存入数据的目标目录为/a/a/c(即a区目录a中的目录c),而a区的目录a中不存在目录c,则可以在目录a中新建目录c,b区的a1文件夹中不存在子文件夹a,则在a1文件夹中新建子文件夹a,并在子文件夹a下新建子文件夹c,从而得到真实的存储路径为/b/a1/a/c。

在一种可能的实施方式中,获取针对所述目标高频分区的目录新建指令或目录删除指令;在所述目标高频分区中新建所述目录新建指令对应的目录,并在所述目标空闲文件夹中新建与所述目录新建指令对应的目录;或,删除所述目标高频分区中与所述目录删除指令对应的目录,并在所述目标空闲文件夹中删除与所述目录删除指令对应的目录。

这样,在目标空闲文件夹中建立与目标高频分区中的目录所对应的子文件夹,将文件分类进行存储,使得文件排列更有序,提高数据的调用效率。

在一种可能的实施方式中,可以获取针对所述目标高频分区的数据展示指令,所述数据展示指令包括待展示目录,确定所述目标高频分区的所述待展示目录中的待展示数据和所述目标空闲文件夹中与所述待展示目录对应的子文件夹中的待展示数据,将所述目标高频分区中的待展示数据和所述目标空闲文件夹中的待展示数据合并,并展示合并后的数据。

例如,当数据展示指令中的待展示目录为/a/c/c1的情况下,可以查找高频分区a中的目录c/c1中的所有数据,并在低频分区b中确定与高频分区a对应的目标空闲文件夹b/a,并确定与目录c/c1对应的子文件夹/b/a/c/c1中的所有数据,并将/a/c/c1和/b/a/c/c1中的数据合并进行展示。

值得说明的是,该待展示目录可以为目标高频分区的最大目录,例如,该待展示目录可以为/a,则待展示目录为高频分区a,在这种情况下,将高频分区a以及高频分区a对应的目标空闲文件夹中的数据进行合并展示。

值得说明的是,数据展示指令可以是基于用户的选择操作进行的,例如,当用户选择了高频分区a,则数据展示指令中的待展示目录为/a,在展示了目录/a在目标高频分区和低频分区中对应的所有文件(包括子文件夹)之后,还可以进一步获取用户针对目录/a的选择操作,将用户选择的子目录作为待展示目录。例如,当用户进一步选择了目录/a中的子目录/c的情况下,生成新的数据展示指令,新的数据展示指令对应的待展示目录为/a/c。上述的展示文件和获取用户的选择操作的过程可以持续循环,直至没有可以进一步展示的子目录。

在一种可能的实施方式中,可以响应于针对所述低频分区的数据展示指令,确定所述低频分区中的待展示数据和所述目标空闲文件夹中的数据,展示所述低频分区中的待展示数据,其中,所述目标空闲文件中的数据处于隐藏状态。

这样,可以将低频分区中存储的目标高频分区对应的文件进行隐藏,从而提升数据的整齐度,更利于用户对数据的查找和调用。

在对数据进行写入之后,可以基于不同的数据操作指令对数据进行操作。

在一种可能的实施方式中,可以获取针对所述目标高频分区的数据处理指令,在所述目标高频分区和所述目标空闲文件夹中查找待处理的目标数据,基于所述数据处理指令的类型,对所述目标数据进行数据处理操作,其中,所述数据处理操作包括开启操作、修改操作、删除操作中的至少一种。在对数据进行处理后,可以基于所述目标空闲文件夹的剩余容量和/或擦写频率,确定是否将处理后的所述目标数据存入所述目标空闲文件夹。也就是说,在创建目标数据时,可以基于步骤s13的数据存储规则确定在目标高频分区中存储该目标数据还是在目标空闲文件夹中存储该目标数据,在此不做赘述。

例如,该数据操作指令可以为openfile指令,则系统可以调用寻找接口,在目标高频分区和目标空闲文件夹中查找目标数据,如果查找到目标数据,则调用底层文件系统打开目标数据对应的文件,如果指令中存在“truncate”指令,则可以删除目标数据,并在目标高频分区或目标空闲文件夹中创建新的目标数据;当未查找到目标数据时,如果指令中存在“创建”指令,则可以在目标高频分区或目标空闲文件夹中创建目标数据。

该数据操作指令可以为read指令,则可以确定目标数据的存储位置,并调用目标数据所在的文件系统接口读取数据。

该数据操作指令可以为write指令,则可以确定目标数据的存储位置,并调用目标数据所在的文件系统接口调用并修改数据,并将文件调用的记录存储到该存储位置对应的record文件中;同时,还可以调用目标文件的close接口,基于用户的关闭操作对目标数据进行关闭,并将文件的开启的记录存储到该record文件中。

值得说明的是,数据可能存在与目标高频分区也可能存在与目标空闲文件夹,对两者进行查找的顺序设置没有明显的优劣,因此,在进行数据查找时,本公开不对目标高频分区和目标空闲文件夹的查找顺序进行限定。但是,由于数据还可能存在于缓存区域中,尚未存入具体的目录中,因此,在对目标高频分区或目标空闲文件夹进行查找之前,可以在所述磁盘的缓存区域中查找所述待处理数据,在所述磁盘的缓存区域中不存在所述待处理数据的情况下,在所述目标高频分区和所述目标空闲文件夹中查找所述待处理数据。

如图3所示的是一种用户视角下的文件位置和真实文件位置的对应关系图,如图3所示,在用户视角中,高频分区a中包括了路径为/a/data/tmp/test的文件夹,其下存在路径为/a/data/tmp/test1的文件、路径为/a/data/tmp/test2的文件和路径为/a/data/tmp/test3的文件,而真实的磁盘中,高频分区a中包括了路径为/a/data/tmp/test的文件夹,其中包括了路径为/a/data/tmp/test1的文件,低频分区b中包括了路径为/b/a/data/tmp/test的文件夹,其中包括了路径为/b/a/data/tmp/test2的文件和路径为/b/a/data/tmp/test3的文件。这样,在用户视角看来,高频分区中的文件为一体的,并不存在存储位置分布于磁盘各个分区中的使用体验。

通过上述技术方案,至少可以达到以下技术效果:

可以将待存入高频分区的数据存入位于低频分区的目标空闲文件夹内,通过将高频分区承载的数据转移至低频分区中,达到均衡磁盘各分区的擦写频率的效果,并且,由于高频分区和目标空闲文件夹具有对应关系,数据的存储位置更规律,更利于数据调用。

图4是根据一示例性公开实施例示出的一种数据处理装置400的框图,如图4所示,所述装置400包括:

存储指令获取模块410,用于通过文件系统拦取发送至的数据存储指令和待存入数据,所述目标高频分区为与该文件系统对应的目标高频分区。

文件夹确定模块420,用于确定与所述目标高频分区对应的目标空闲文件夹。

数据存储模块430,用于将所述待存入数据存入所述目标空闲文件夹。

其中,磁盘中包括至少一个所述文件系统,每个文件系统对应一个高频分区,所述文件系统存储有高频分区与该高频分区对应的目标空闲文件夹的对应关系,所述目标空闲文件夹位于所述磁盘的低频分区,所述高频分区的擦写频率高于所述低频分区的擦写频率。

可选地,所述数据存储模块430,用于确定所述目标空闲文件夹的剩余容量,并判断所述目标空闲文件夹的剩余容量是否满足预设容量条件,在所述目标空闲文件夹的剩余容量满足所述预设容量条件的情况下,将所述待存入数据存入所述目标空闲文件夹,在所述目标空闲文件夹的剩余容量不满足所述预设容量条件的情况下,将所述待存入数据存入所述目标高频分区。

可选地,所述数据存储模块430,用于确定所述低频分区的擦写频率,并判断所述低频分区的擦写频率是否满足第一擦写条件,在所述低频分区的擦写频率满足所述第一擦写条件的情况下,将所述待存入数据存入所述目标空闲文件夹,在所述低频分区的擦写频率不满足所述第一擦写条件的情况下,将所述待存入数据存入所述目标高频分区;或者,确定所述目标高频分区的擦写频率和所述低频分区的擦写频率,并判断所述目标高频分区的擦写频率和所述低频分区的擦写频率的比值或差值是否满足第二擦写条件,在所述目标高频分区的擦写频率和所述低频分区的擦写频率的比值或差值满足所述第二擦写条件的情况下,将所述待存入数据存入所述目标空闲文件夹,在所述目标高频分区的擦写频率和所述低频分区的擦写频率的比值或差值不满足所述第二擦写条件的情况下,将所述待存入数据存入所述目标高频分区。

可选地,所述目标高频分区的擦写频率是基于所述目标高频分区的操作记录文件确定的,所述目标空闲文件夹的擦写频率是基于所述目标空闲文件夹的操作记录文件确定的;所述装置400还包括记录模块,用于在对所述目标高频分区或所述目标空闲文件夹执行数据写入、数据读取和数据删除操作时,在所述目标高频分区或所述目标空闲文件夹对应的操作记录文件中记录操作次数和数据变化量。

可选地,所述装置400还包括数据处理模块,用于获取针对所述目标高频分区的数据处理指令;在所述目标高频分区和所述目标空闲文件夹中查找待处理的目标数据;基于所述数据处理指令的类型,对所述目标数据进行数据处理操作,其中,所述数据处理操作包括开启操作、修改操作、删除操作中的至少一种。

可选地,所述数据处理模块,还用于基于所述目标空闲文件夹的剩余容量和/或擦写频率,确定是否将处理后的所述目标数据存入所述目标空闲文件夹。

可选地,所述数据处理模块,还用于在所述磁盘的缓存区域中查找所述待处理数据,在所述磁盘的缓存区域中不存在所述待处理数据的情况下,在所述目标高频分区和所述目标空闲文件夹中查找所述待处理数据。

可选地,数据存储指令还包括目标目录,所述目标目录为所述目标高频分区中的任意子目录;所述数据存储模块,用于将所述待存入数据存入所述目标空闲文件夹中与所述目标目录对应的子文件夹中。

可选地,所述装置400还包括目录处理模块,用于获取针对所述目标高频分区的目录新建指令或目录删除指令;在所述目标高频分区中新建所述目录新建指令对应的目录,并在所述目标空闲文件夹中新建与所述目录新建指令对应的目录;或,删除所述目标高频分区中与所述目录删除指令对应的目录,并在所述目标空闲文件夹中删除与所述目录删除指令对应的目录。

可选地,所述装置400还包括第一展示模块,用于获取针对所述目标高频分区的数据展示指令,所述数据展示指令包括待展示目录;确定所述目标高频分区的所述待展示目录中的待展示数据和所述目标空闲文件夹中与所述待展示目录对应的子文件夹中的待展示数据;将所述目标高频分区中的待展示数据和所述目标空闲文件夹中的待展示数据合并,并展示合并后的数据。

可选地,所述装置400还包括第二展示模块,用于响应于针对所述低频分区的数据展示指令,确定所述低频分区中的待展示数据和所述目标空闲文件夹中的数据;展示所述低频分区中的待展示数据,其中,所述目标空闲文件中的数据处于隐藏状态。

可选地,所述装置还包括设置模块,用于确定各高频分区对应的空闲文件夹和文件系统;将高频分区和该高频分区对应的空闲文件夹的目录信息和操作函数存入与该高频分区对应的文件系统;所述文件系统用于拦取针对所述文件系统所对应的高频分区的数据操作指令,并响应于所述数据操作指令,基于所述数据操作指令对应的操作函数对该高频分区或该高频分区对应的空闲文件夹中的数据进行操作,其中,所述数据操作指令包括数据存储指令、数据操作指令、数据展示指令中的至少一种。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

通过上述技术方案,至少可以达到以下技术效果:

可以将待存入高频分区的数据存入位于低频分区的目标空闲文件夹内,通过将高频分区承载的数据转移至低频分区中,达到均衡磁盘各分区的擦写频率的效果,并且,由于高频分区和目标空闲文件夹具有对应关系,数据的存储位置更规律,更利于数据调用。

图5是根据一示例性实施例示出的一种电子设备500的框图。如图5所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(i/o)接口504,以及通信组件505中的一者或多者。

其中,处理器501用于控制该电子设备500的整体操作,以完成上述的数据处理方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件505可以包括:wi-fi模块,蓝牙模块,nfc模块等等。

在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据处理方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的数据处理方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1