一种文件存储方法和终端与流程

文档序号:13472321阅读:162来源:国知局
一种文件存储方法和终端与流程

本发明涉及计算机技术领域,尤其涉及一种文件存储方法和终端。



背景技术:

在一些大容量的存储设备中,经常会出现存储的某个文件由于一些未知原因而导致该文件的数据无法读出或者数据损坏。当这些文件是系统文件或者是保存着用户重要资料的文件时,便会对终端系统的运行造成极大地威胁,同时还会对用户造成无法弥补的损失。

因此,文件的安全性引起了广泛关注,对文件的备份显得越来越重要。在现有技术中,会在存储设备中重新开辟一片特定的存储空间,用来存储备份文件,以备不时之需。这样,就需要开辟额外的存储空间,而额外的存储空间势必会占有原存储设备的存储空间,若存储的备份文件的信息过大,会造成存储空间极大地浪费。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种文件存储方法和终端,能够充分、有效地利用存储空间,从而避免了存储空间的浪费现象,进而存储和/或备份更多的重要文件。

本发明的技术方案是这样实现的:

第一方面,提供一种文件存储方法,所述方法包括:

获取待存储文件的文件信息和已存储文件占用的已存储空间,所述文件信息包括所述待存储文件占用的第一空间,所述已存储文件包括已存储源文件和已存储备份文件;

根据所述第一空间和所述已存储空间,释放重要级别最低的已存储备份文 件所占用的释放空间;

存储所述待存储文件。

可选的,所述根据所述第一空间和所述已存储空间,释放重要级别最低的已存储备份文件所占用的释放空间包括:

判断所述第一空间是否大于剩余空间;所述剩余空间为存储设备的总空间中除了所述已存储空间之外的空间;

所述第一空间大于所述剩余空间时,获取已存储文件的文件列表信息;

根据所述文件列表信息,释放所述重要级别最低的已存储备份文件所占用的释放空间。

可选的,所述文件列表信息用于标识所述已存储源文件的重要级别,所述文件列表信息包括所述已存储备份文件对应的源文件的访问频次和创建时间,所述根据所述文件列表信息,释放所述重要级别最低的已存储备份文件所占用的释放空间包括:

获取所有已存储备份文件所对应的源文件的访问频次和创建时间;

根据所述所有已存储备份文件所对应的源文件的访问次数和所述所有已存储备份文件所对应的源文件的创建时间,确定所述重要级别最低的已存储备份文件;

释放所述重要级别最低的已存储备份文件所占用的释放空间。

可选的,所述根据所述所有已存储备份文件所对应的源文件的访问次数和所述所有已存储备份文件所对应的源文件的创建时间,确定所述重要级别最低的已存储备份文件包括:

按所述所有已存储备份文件所对应的源文件的访问次数和所述所有已存储备份文件所对应的源文件的创建时间依次递增的顺序排列所述所有已存储备份文件所对应的源文件,形成源文件序列;

将所述源文件序列中前m个源文件对应的已存储备份文件标记为重要级别最低的m个已存储备份文件,所述重要级别最低的m个已存储备份文件所占的空间大于或等于所述第一空间和所述剩余空间之差,所述m为小于所述已存储 备份文件总个数的正整数。

可选的,所述根据所述第一空间和所述已存储空间,释放重要级别最低的已存储备份文件所占用的释放空间之前,所述方法还包括:

周期性检测所述已存储源文件占用的第二空间;

根据所述第二空间和所述总空间,强制释放所述重要级别最低的已存储备份文件。

第二方面,提供一种终端,所述终端包括:

获取模块,用于获取待存储文件的文件信息和已存储文件占用的已存储空间,所述文件信息包括所述待存储文件占用的第一空间,所述已存储文件包括已存储源文件和已存储备份文件;

释放模块,用于根据所述第一空间和所述已存储空间,释放重要级别最低的已存储备份文件所占用的释放空间;

存储模块,用于存储所述待存储文件。

可选的,所述释放模块包括:

判断单元,用于判断所述第一空间是否大于剩余空间;所述剩余空间为存储设备的总空间中除了所述已存储空间之外的空间;

获取单元,用于所述第一空间大于所述剩余空间时,获取已存储文件的文件列表信息;

释放单元,用于根据所述文件列表信息,释放所述重要级别最低的已存储备份文件所占用的释放空间。

可选的,所述文件列表信息用于标识所述已存储源文件的重要级别,所述文件列表信息包括所述已存储备份文件对应的源文件的访问频次和创建时间,所述释放单元包括:

获取子单元,用于获取所有已存储备份文件所对应的源文件的访问频次和创建时间;

确定子单元,用于根据所述所有已存储备份文件所对应的源文件的访问次数和所述所有已存储备份文件所对应的源文件的创建时间,确定所述重要级别 最低的已存储备份文件;

释放子单元,用于释放所述重要级别最低的已存储备份文件所占用的释放空间。

可选的,所述确定子单元具体用于:

按所述所有已存储备份文件所对应的源文件的访问次数和所述所有已存储备份文件所对应的源文件的创建时间依次递增的顺序排列所述所有已存储备份文件所对应的源文件,形成源文件序列;

将所述源文件序列中前m个源文件对应的已存储备份文件标记为重要级别最低的m个已存储备份文件,所述重要级别最低的m个已存储备份文件所占的空间大于或等于所述第一空间和所述剩余空间之差,所述m为小于所述已存储备份文件总个数的正整数。

可选的,所述终端还包括:

检测模块,用于周期性检测所述已存储源文件占用的第二空间;

所述释放模块还用于根据所述第二空间和所述总空间,强制释放所述重要级别最低的已存储备份文件。

本发明实施例提供了一种文件存储方法和终端,首先,获取待存储文件的文件信息和已存储文件占用的已存储空间,文件信息包括待存储文件占用的第一空间,已存储文件包括已存储源文件和已存储备份文件;之后,根据第一空间和剩余空间,释放重要级别最低的已存储备份文件所占用的释放空间,剩余空间为存储设备的总空间中除了已存储空间之外的空间;最后,在释放空间和剩余空间中,存储待存储文件。这样一来,便可根据待存储文件的文件信息和已存储文件的已存储空间,释放重要级别最低的已存储备份文件,进而存储待存储文件,实现了存储空间高效地动态回收,能够充分、有效地利用存储空间,从而避免了存储空间的浪费现象,最终存储和/或备份更多的重要文件。

附图说明

图1为本发明实施例提供的一种文件存储方法流程图;

图2为本发明实施例提供的一种文件访问流程图;

图3为本发明实施例提供的一种释放占用空间的流程图;

图4为本发明实施例提供的另一种释放占用空间的流程图;

图5为本发明实施例提供的另一种文件存储方法流程图;

图6为本发明实施例提供的一种终端结构示意图;

图7为本发明实施例提供的另一种终端结构示意图;

图8为本发明实施例提供的再一种终端结构示意图;

图9为本发明实施例提供的其他一种终端结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

实施例一

本发明实施例提供的一种文件备份方法,应用于终端,该终端包括手机、笔记本电脑、平板电脑、液晶电视、游戏机甚至包括车载电脑机,如图1所示,该方法包括:

步骤101、获取待存储文件的文件信息和已存储文件占用的已存储空间。

这里,文件信息包括待存储文件占用的第一空间,已存储文件包括已存储源文件和已存储备份文件。其中,已存储源文件是指在存储设备中已经存储的源文件;已存储备份文件是指在存储设备中对重要已存储源文件进行二次存储,形成该重要已存储源文件的备份文件。源文件是指可启动相应软件、并实现对应功能的文件。备份文件相当于对相应源文件的复制。

用户可通过终端访问已存储源文件,当用户通过终端访问已存储源文件时,终端系统发现所要访问的已存储源文件无法读出或已被损坏,则终端系统会转而访问已存储该源文件对应的已存储备份文件,从而实现该访问。同时,终端系统还会利用该已存储备份文件对无法读出或已被损坏的已存储源文件进行修复,以便用户之后的访问。

示例的,如图2所示,以终端访问已存储源文件为例,终端应用层的执行过程包括:

步骤1011、读取已存储源文件。

这里,终端系统的应用层是通过系统的读接口来读取已存储源文件。

步骤1012、判断已存储源文件是否读取成功,若是,则执行步骤1015;否则执行步骤1013。

步骤1013、读取相应的已存储备份文件。

当终端系统发现已存储源文件无法成功读取时,便去读取与该已存储源文件相应的已存储备份文件。具体的,是从闪存(flashmemory)中读取已存储源文件和已存储备份文件。

步骤1014、根据已存储备份文件,修复相应的已存储源文件。

该已存储备份文件不仅能供终端系统读取,还可以对相应的已存储源文件进行修复,以便之后的读取。

值得说明的是,如果读取已存储源文件异常时,可利用已存储备份文件对已存储源文件的修复,也可以将该修复放置在系统空闲状态下完成,

步骤1015、更新该已存储源文件的访问频次。

存储设备中还存放着已存储源文件相关信息,比如访问频次,每当对已存储源文件读取一次,访问频次便累加1。

值得说明的是,源文件和备份文件是存储于相同的存储设备中,即存储在存储空间中。其中,源文件对用户是可见的;而备份文件对用户而言可以是不可见的,仅对终端系统的后台可见。

这里,待存储文件包括待存储源文件和待存储备份文件,这里分两种情况:

情况一:待存储文件为待存储源文件。

这种情况是指首次创建源文件时,待存储文件就为待存储源文件。表明存储设备在之前并没有存储该待存储源文件,现在正准备将该待存储源文件存储至存储设备中。

情况二:待存储文件为待存储备份文件。

一方面,说明已存储源文件是已存储于存储设备中的,那么紧接着或者在预定条件下要对该已存储源文件进行备份,即待存储文件为待存储备份文件。

另一方面,终端系统发现某一个重要的已存储源文件,而在存储空间中并未发现与之对应的备份文件,那么此时终端系统就会对该重要的已存储源文件进行备份,待存储文件就为备份文件。

步骤102、根据第一空间和已存储空间,释放重要级别最低的已存储备份文件所占用的释放空间。

具体的,如图3所示,终端根据第一空间和已存储空间,释放重要级别最低的已存储备份文件所占用的释放空间包括:

步骤1021、判断第一空间是否大于剩余空间;若是,则执行步骤1022;否则执行步骤1024。

这里,剩余空间为存储设备的总空间中除了已存储空间之外的空间。

步骤1022、获取已存储文件的文件列表信息。

步骤1023、根据文件列表信息,释放重要级别最低的已存储备份文件所占用的释放空间。

步骤1024、直接存储待存储文件。

存储待存储文件之前,需要判断存储设备的剩余空间是否够用,即需要比较第一空间是否大于剩余空间。

当第一空间小于或者等于剩余空间时,说明存储设备的剩余空间足以存储该待存储文件,直接将该待存储文件存储于该存储设备中;

当第一空间大于剩余空间时,则表明存储设备的剩余空间过小,存储不下该待存储文件。终端系统可以及时感知到该状况,并且会采取一系列的措施,使得该待存储文件存储于存储设备中。具体的,终端系统会删除存储设备中重要级别最低的已存储备份文件,释放重要级别最低的已存储备份文件所占用的释放空间,从而存储该待存储文件。这样,从某种意义上就使得存储设备中存储了更多重要且有意义的文件,从而更好地为用户服务。

释放重要级别最低的已存储备份文件所占用的释放空间之前,就需要从已 存储文件中辨别出重要级别最低的已存储备份文件,而已存储备份文件的重要级别是取决于与其对应的已存储源文件,当已存储源文件越重要就表明对应的已存储备份文件的重要级别越高。值得说明的是,存储设备中还会存放与一些如文件相关的文件列表信息,该文件列表信息是判别已存储源文件重要性的依据。

对于已存储源文件重要性的判定是一个带有较强主观因素的过程,也可由用户自由定义,是因人而异,可能会与用户的个人职业、爱好、习惯等密切相关,本实施例不做限定。优选的,本实施例中以对已存储源文件的访问频次和已存储源文件的创建时间为判定依据。

这里,文件列表信息用于标识已存储源文件的重要级别,文件列表信息包括已存储备份文件对应的源文件的访问频次和创建时间。具体的,获取所有已存储备份文件所对应的源文件的访问频次和创建时间;根据所有已存储备份文件所对应的源文件的访问次数和所有已存储备份文件所对应的源文件的创建时间,确定重要级别最低的已存储备份文件;释放重要级别最低的已存储备份文件所占用的释放空间。

值得说明的是,在存储设备中,已存储文件包括已存储源文件和已存储备份文件,其中,已存储源文件的总个数大于等于已存储备份文件的总个数。

具体的,按所有已存储备份文件所对应的源文件的访问次数和所有已存储备份文件所对应的源文件的创建时间依次递增的顺序排列所有已存储备份文件所对应的源文件,形成源文件序列;将源文件序列中前m个源文件对应的已存储备份文件标记为重要级别最低的m个已存储备份文件,重要级别最低的m个已存储备份文件所占的空间大于或等于第一空间和剩余空间之差,m为小于已存储备份文件总个数的正整数。

当释放重要级别最低的m个已存储备份文件所占的空间后,该重要级别最低的m个已存储备份文件所占的空间和原先的剩余空间共同组成新的剩余空间,此时,新的剩余空间一定大于或等于第一空间。换句话说,重要级别最低的m个已存储备份文件所占的空间是大于或等于第一空间和剩余空间之差的绝对值, 使得存储空间能够存储该待存储文件。值得说明的是,当仅释放重要级别最低的m-1个已存储备份文件所占的空间后,新的剩余空间和释放前一样,仍然小于第一空间,即重要级别最低的m-1个已存储备份文件所占的空间是小于第一空间和剩余空间之差的绝对值,存储设备无法存储该待存储文件。

步骤103、存储待存储文件。

在释放空间和剩余空间中,完成待存储文件的存储,即存储待存储文件。

在步骤102之前,所述方法还包括:周期性检测已存储源文件占用的第二空间;根据第二空间和总空间,强制释放重要级别最低的已存储备份文件。

具体的,如图4所示,终端根据第二空间和总空间,强制释放重要级别最低的已存储备份文件包括:

步骤1021’、获取第二空间和总空间。

步骤1022’、计算第二空间占总空间的占比。

步骤1023’、判断占比是否大于预设阈值;若是,则执行步骤1024’;否则执行步骤1021’。

优选的,预设阈值取50%。

步骤1024’、获取重要级别最低的已存储备份文件。

这里,所获取的重要级别最低的已存储备份文件的个数由用户预先设置,可以为介于1和已存储备份文件总个数之间的任意自然数。

步骤1025’、释放重要级别最低的已存储备份文件。

这里,特指释放步骤1024’中的重要级别最低的已存储备份文件。

在步骤103之后,所述方法还包括,及时更新存储设备中的文件列表信息。

这样一来,便可根据待存储文件的文件信息和已存储文件的已存储空间,释放重要级别最低的已存储备份文件,进而存储待存储文件,实现了存储空间高效地动态回收,能够充分、有效地利用存储空间,从而避免了存储空间的浪费现象,最终存储和/或备份更多的重要文件。

实施例二

本发明实施例提供一种文件备份方法,应用于终端,假设以用户u在终端 t上创建某一重要系统文件为例,本实施例中将该重要系统文件的源文件记为d,并将该重要系统文件的备份文件记为d’。如图5所示,该方法包括:

步骤201、t接收u创建d的请求。

首先,u会向t发出创建d的请求;接着,t就接收到u需要创建d的请求。这些动作可以通过u的点击操作和t的内部运作完成。

步骤202、t的应用层调用系统写接口。

在t的内部,是通过系统写接口对文件进行存储,即将文件存储于t的存储设备中。具体的,t是通过应用层调用系统写接口,实现写操作。

这里,应用层是开放式系统互联(opensystemsinterconnectionreference,osi)的第七层,应用层是与其他计算机进行通讯的一个应用,是对应应用程序的通信服务。其中,osi模型定义了不同计算机互联的标准,是设计和描述计算机网络通讯的基本框架。

步骤203、t计算d占用的空间。

计算出d所需占用的空间,即计算出存储d时,需要的存储空间是多少。

步骤204、t获取存储设备的剩余空间。

同时,t会自动获取到自身存储设备的剩余空间。具体的,首先获取存储设备的总空间;接着,获取到已存储文件所占用的已存储空间;最后,用总空间减去已存储空间,所得的差值就为存储设备的剩余空间,值得说明的是,已存储文件不仅包括已存储源文件,还包括已存储备份文件,也就是说,已存储空间包括已存储源文件占用空间和已存储备份文件占用空间。

步骤205、t判断d所需占用的空间是否大于存储设备的剩余空间,若是,则执行步骤206;否则执行步骤207。

步骤206、t释放存储设备中重要级别最低的已存储备份文件所占用的释放空间。

在该情况下,说明t的存储设备的剩余空间不够存储d。当t检测到该状况时,会自动启动存储空间回收机制,具体的,t会执行释放存储设备中重要级别最低的已存储备份文件所占用的释放空间的操作,即删除重要级别最低的 已存储备份文件,从而获得比释放前更多的剩余空间,最终使得可以将d存储于t的存储设备中。值得说明的是,删除重要级别最低的已存储备份文件的方法可以是每次删除1个,直至新的剩余空间可以存储d。每次删除的个数也可由用户指定。

步骤207、t在存储设备中创建d。

将d存储与t的存储设备中,也就是说在t的存储设备中创建d。同时,在t的存储设备中形成了d的文件列表信息,一方面,该文件列表信息包括用于标识d的重要程度的信息;另一方面,该文件列表信息还包括对d的索引信息,以便于u需要访问d时,t可以通过索引信息迅速地找到d。

步骤208、t在存储设备中存储d’。

由于d为重要的系统文件,所以在创建d之后,需要对其相应的备份文件d’进行存储。

值得说明的是,在实际操作时,存储d’可以在d创建完毕后立刻进行,也可以将存储d’安排在系统空闲状态下由t的文件系统完成,本实施例对该过程不做限制。

这样一来,便可根据待存储文件的文件信息和已存储文件的已存储空间,释放重要级别最低的已存储备份文件,进而存储待存储文件,实现了存储空间高效地动态回收,能够充分、有效地利用存储空间,从而避免了存储空间的浪费现象,最终存储和/或备份更多的重要文件。

实施例三

本发明实施例提供的一种终端30,如图6所示,该终端30包括:

获取模块301,用于获取待存储文件的文件信息和已存储文件占用的已存储空间,文件信息包括待存储文件占用的第一空间,已存储文件包括已存储源文件和已存储备份文件;

释放模块302,用于根据第一空间和已存储空间,释放重要级别最低的已存储备份文件所占用的释放空间;

存储模块303,用于存储待存储文件。

这样一来,便可根据待存储文件的文件信息和已存储文件的已存储空间,释放重要级别最低的已存储备份文件,进而存储待存储文件,实现了存储空间高效地动态回收,能够充分、有效地利用存储空间,从而避免了存储空间的浪费现象,最终存储和/或备份更多的重要文件。

具体的,如图7所示,释放模块302包括:

判断单元3021,用于判断第一空间是否大于剩余空间;剩余空间为存储设备的总空间中除了已存储空间之外的空间;

获取单元3022,用于第一空间大于剩余空间时,获取已存储文件的文件列表信息;

释放单元3023,用于根据文件列表信息,释放重要级别最低的已存储备份文件所占用的释放空间。

具体的,文件列表信息用于标识所述已存储源文件的重要级别,文件列表信息包括已存储备份文件对应的源文件的访问频次和创建时间,如图8所示,释放单元3023包括:

获取子单元30231,用于获取所有已存储备份文件所对应的源文件的访问频次和创建时间;

确定子单元30232,用于根据所有已存储备份文件所对应的源文件的访问次数和所有已存储备份文件所对应的源文件的创建时间,确定重要级别最低的已存储备份文件;

释放子单元30233,用于释放重要级别最低的已存储备份文件所占用的释放空间。

具体的,确定子单元30232具体用于:

按所有已存储备份文件所对应的源文件的访问次数和所有已存储备份文件所对应的源文件的创建时间依次递增的顺序排列所有已存储备份文件所对应的源文件,形成源文件序列;

将源文件序列中前m个源文件对应的已存储备份文件标记为重要级别最低的m个已存储备份文件,重要级别最低的m个已存储备份文件所占的空间大于 或等于第一空间和剩余空间之差,m为小于已存储备份文件总个数的正整数。

具体的,如图9所示,该终端30还包括:

检测模块304,用于周期性检测已存储源文件占用的第二空间;

所述释放模块303还用于根据第二空间和总空间,强制释放重要级别最低的已存储备份文件。

在实际应用中,所述获取模块301、释放模块302、存储模块303、检测模块304、判断单元3021、获取单元3022、释放单元3023、获取子单元30231、确定子单元30232和释放子单元30233均可由位于终端30中的中央处理器(centralprocessingunit,cpu)、微处理器(microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)、或现场可编程门阵列(fieldprogrammablegatearray,fpga)等实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流 程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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