CN116737676A - 文件存储方法、装置、电子设备及可读存储介质 - Google Patents
文件存储方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116737676A CN116737676A CN202311021749.XA CN202311021749A CN116737676A CN 116737676 A CN116737676 A CN 116737676A CN 202311021749 A CN202311021749 A CN 202311021749A CN 116737676 A CN116737676 A CN 116737676A
- Authority
- CN
- China
- Prior art keywords
- file
- target
- files
- queue
- preset
- 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 51
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 101100478633 Escherichia coli O157:H7 stcE gene Proteins 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 101150115529 tagA gene Proteins 0.000 description 3
- 101150047697 tagB gene Proteins 0.000 description 3
- 101150009385 tcpI gene Proteins 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
Classifications
-
- 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/172—Caching, prefetching or hoarding of files
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- 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/1737—Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件存储方法、装置、电子设备及可读存储介质,涉及文件存储技术领域,以解决释放存储空间的效率较低的问题。该方法包括:将多个待处理文件中存在时长小于或等于第一阈值的待处理文件确定为第一文件,以及将所述多个待处理文件中存在时长大于所述第一阈值的待处理文件确定为第二文件;基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值,所述目标文件包括所述第二文件;基于所述目标文件的权重值对所述目标文件进行排序,得到目标队列;将所述第一文件与所述目标队列中前N个目标文件存储在本地存储空间,N为正整数。本发明实施例可提高释放存储空间的效率。
Description
技术领域
本发明涉及文件存储技术领域,尤其涉及一种文件存储方法、装置、电子设备及可读存储介质。
背景技术
服务器在开发人员使用过程中会产生很多的临时文件和因为一些集中的活动导致激增大量无法及时被定期处理掉的文件,从而产生文件占用过多内存的情况,使得存储空间没有得到充分地利用。
为了释放服务器的存储空间,一般会定期删除临时存储文件、一些存储残留和一些应用缓存文件,需要人力进行定期的维护,且本质上是通过删除了一些无用存储文件来达到释放空间的目的,释放存储空间的效率较低。
发明内容
本发明实施例提供一种文件存储方法、装置、电子设备及可读存储介质,以解决释放存储空间的效率较低的问题。
第一方面,本发明实施例提供了一种文件存储方法,包括:
将多个待处理文件中存在时长小于或等于第一阈值的待处理文件确定为第一文件,以及将所述多个待处理文件中存在时长大于所述第一阈值的待处理文件确定为第二文件;
基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值,所述目标文件包括所述第二文件,所述访问次数用于表征所述目标文件在第一预设时段内被访问的次数;
基于所述目标文件的权重值对所述目标文件进行排序,得到目标队列;
将所述第一文件与所述目标队列中前N个目标文件存储在本地存储空间,N为正整数。
可选地,所述目标队列为链表形式的队列,所述目标队列对应的链表的长度为N,所述基于所述目标文件的权重值对所述目标文件进行排序,得到目标队列,包括:
基于所述目标文件的权重值对所述目标文件进行排序,将排序后的前N个目标文件放入所述链表,得到目标队列。
可选地,所述方法还包括:
将待上传文件上传至服务端,并获取所述待上传文件对应的存储信息,所述待上传文件为所述目标队列中除所述目标队列中前N个目标文件外的目标文件,所述存储信息包括预览信息和/或下载链接,所述预览信息用于预览所述待上传文件,所述下载链接用于从所述服务端下载所述待上传文件;
将所述存储信息存储在本地存储空间。
可选地,所述基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值之前,所述方法还包括:
判断所述第一文件的数量是否大于或等于M,M为正整数;
在所述第一文件的数量大于或等于M的情况下,按照所述第一文件的文件大小从大到小对所述第一文件进行排序;
将除排序后的前M个的第一文件外的第一文件确定为第三文件;
其中,所述目标文件还包括所述第三文件。
可选地,所述预设标签的数量为至少一个,每一个所述预设标签对应一个预设系数,所述基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值,包括:
确定目标文件的标签权重,所述标签权重基于所述目标文件对应的所有预设标签的预设系数之和确定;
基于所述目标文件的标签权重、访问次数和文件存在时长确定目标文件的权重值。
可选地,所述基于所述目标文件的权重值对所述目标文件进行排序,得到目标队列,包括:
基于所述目标文件的权重值对所述目标文件进行排列,得到初始队列;
判断是否存在更新访问文件,所述更新访问文件为在得到所述初始队列后被访问过的目标文件;
在存在所述更新访问文件的情况下,将所述更新访问文件更新至所述初始队列的首位,得到目标队列。
可选地,所述在存在所述更新访问文件的情况下,将所述更新访问文件更新至所述初始队列的首位,得到目标队列,包括:
判断所述更新访问文件是否排列在所述初始队列的前N个目标文件内;
在所述更新访问文件排列在所述初始队列的前N个目标文件内的情况下,基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的更新权重值;
将所述更新访问文件排列在所述初始队列的首位,并基于所述更新权重值对除所述更新访问文件外的目标文件进行排序,得到目标队列。
第二方面,本发明实施例提供了一种文件存储装置,包括:
第一确定模块,用于将多个待处理文件中存在时长小于或等于第一阈值的待处理文件确定为第一文件,以及将所述多个待处理文件中存在时长大于所述第一阈值的待处理文件确定为第二文件;
第二确定模块,用于基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值,所述目标文件包括所述第二文件,所述访问次数用于表征所述目标文件在第一预设时段内被访问的次数;
第一排序模块,用于基于所述目标文件的权重值对所述目标文件进行排序,得到目标队列;
存储模块,用于将所述第一文件与所述目标队列中前N个目标文件存储在本地存储空间,N为正整数。
第三方面,本发明实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;
所述处理器,用于读取存储器中的程序实现如第一方面所述的方法中的步骤。
第四方面,本发明实施例提供了一种可读存储介质,用于存储程序,所述程序被处理器执行时实现如第一方面所述的方法中的步骤。
在本申请实施例中,将多个待处理文件中存在时长小于或等于第一阈值的待处理文件确定为第一文件,以及将多个待处理文件中存在时长大于第一阈值的待处理文件确定为第二文件;基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值;基于目标文件的权重值对目标文件进行排序,得到目标队列;将第一文件与目标队列中前N个目标文件存储在本地存储空间。通过上述方法,一方面优先将近期生成的文件存储在本地存储空间,另一方面基于文件的预设标签、访问次数和文件存在时长对生成时间较长的文件的重要性进行判断,将较为重要的历史文件也存储在本地存储空间,实现了本地存储文件的一部分存储资源的自动的释放,提高了本地存储空间利用率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的文件存储方法的流程图之一;
图2是本发明实施例提供的文件与预设标签的关系说明示意图;
图3是本发明实施例提供的文件存储方法的流程图之三;
图4是本发明实施例提供的文件处理方式的流程图;
图5是本发明实施例提供的文件存储装置的结构图;
图6是本发明实施例提供的电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,本发明提供了一种文件存储方法,用于对设备的本地存储文件进行处理。图1是本发明实施例提供的文件存储方法的流程图之一,如图1所示,所述方法具体包括以下步骤:
步骤101,将多个待处理文件中存在时长小于或等于第一阈值的待处理文件确定为第一文件,以及将所述多个待处理文件中存在时长大于所述第一阈值的待处理文件确定为第二文件。
待处理文件可以为待处理服务器上存储的文件,待处理文件的数量通常为多个,通过本发明实施例提供的文件存储方法可以对服务器上存储的多个待处理文件进行处理,释放服务器上的存储空间。
文件的存在时长为文件生成时刻与当前时刻之间的时长。第一阈值的具体取值可以根据实际情况进行设置和调整,示例性地,第一阈值可以被默认为两周(14天),用户可以随时对第一阈值的取值进行缩短或延长。在具体实现时,一旦用户修改了第一阈值的取值,则需要对多个待处理文件重新进行划分。
基于文件的存在时长将待处理文件划分为第一文件和第二文件,其中第一文件也可以称为近期文件,这类文件的存在时长较短,是近期创建的文件,大概率是用户需要经常访问的重要文件。第二文件也可以称为历史文件,这类文件的存在时长较长,大概率是用户访问频率较低的文件。
在具体实现时,基于文件对象的流动性,可以根据预设周期不断更新文件存储情况。例如周期性地对第一文件和第二文件的划分进行更新,定期执行本方法以使得文件存储情况更符合实际需求。
步骤102,基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值,所述目标文件包括所述第二文件,所述访问次数用于表征所述目标文件在第一预设时段内被访问的次数。
应理解的是,文件在存储时均携带有预设标签,预设标签的数量在此不做限定。作为一种可选的实施方式,预设标签的数量为多个,预设标签的具体内容可以根据用户的需求进行自定义。
示例性地,预设标签可以是重要程度、访问频率高低等标签,例如,预设标签包括以下至少一者:重要、一般、高访问频率和低访问频率。每个文件可以进行预设标签标记,预设标签与文件之间的关系是多对多关系,一个文件可以有多个预设标签。
访问次数为第一预设时间段内该目标文件被访问的次数,其中第一预设时间段的长度在此不做限定。通常,第一预设时间段为从当前时刻起的一段时间内。访问次数越高可以认为该目标文件的重要程度越高。
目标文件包括第二文件,因此对于所有的第二文件,均需要基于其对应的预设标签、访问次数和文件存在时长确定目标文件的权重值。
可选地,在一些实施例中,所述步骤102之前,所述方法还包括:
判断所述第一文件的数量是否大于或等于M,M为正整数;
在所述第一文件的数量大于或等于M的情况下,按照所述第一文件的文件大小从大到小对所述第一文件进行排序;
将除排序后的前M个的第一文件外的第一文件确定为第三文件;
其中,所述目标文件还包括所述第三文件。
根据第一阈值的取值不同,第一文件的数量也可能不同。在第一文件的数量过大的时候可能会占用较多的本地存储空间。因此,在本实施例中设置有M,M可以理解为第一文件的存储的最大值参数。
M的具体取值可以根据实际情况进行设置和调整,示例性地,M可以被默认为100,用户可以随时对M的取值进行增加或者减少。在具体实现时,一旦用户修改了M的取值,则需要重新确定第三文件。
在第一文件的数量大于或等于M的情况下,根据第一文件的大小进行优先级的参考(文件越大优先级越高),将文件大小不在前M个的第一文件确定位第三文件。第三文件也可以被称为不处理的近期文件。
作为一种可选的实施方式,目标文件还包括第三文件,即对于所有的第二文件和第三文件,均需要基于其对应的预设标签、访问次数和文件存在时长确定目标文件的权重值。在本实施方式中,将不处理的近期文件与历史文件一起进行处理。
作为另一种可选的实施方式,将第三文件上传至服务端,并获取第三文件对应的存储信息,存储信息包括预览信息和/或下载链接,预览信息用于预览第三文件,下载链接用于从服务端下载第三文件;将第三文件对应的存储信息存储在本地存储空间。在具体实现时,存储信息也可以被称为快捷方式。
在本实施例中,对直接存储在本地存储空间的第一文件的最大数量进行了限制,避免了第一文件占用过大的存储空间,提高了对文件类型进行划分的准确度,进一步地提高了释放本地存储空间的效率。
可选地,在一些实施例中,所述预设标签的数量为至少一个,每一个所述预设标签对应一个预设系数,所述步骤102包括:
确定目标文件的标签权重,所述标签权重基于所述目标文件对应的所有预设标签的预设系数之和确定;
基于所述目标文件的标签权重、访问次数和文件存在时长确定目标文件的权重值。
预设标签的数量为多个,根据每一个预设标签的内容预先确定有该预设标签的预设系数,该预设系数可以理解为该标签的权重。其中,预设系数的具体取值范围在此不做限定。
作为一种可选的实施方式,预设标签所对应的文件重要程度越高,该预设标签的预设系数越大。示例性地,预设标签包括:“重要”、“一般”、“高访问频率”和“低访问频率”。其中,“重要”对应的预设系数应大于“一般”对应的预设系数,同理,“高访问频率”对应的预设系数应大于“低访问频率”对应的预设系数。
作为另一种可选的实施方式,设置字符串数组存储预设标签的优先顺序,按照普遍优先级将预设标签放入数组中,用户可自定义预设标签的内容和优先顺序。比如,标签可以是重要程度、访问频率高低等标签,对重要程度高和访问频率较高的文件存储在靠前的位置。应理解,此处的优先顺序指的是数组下标,预设标签的存储位置越靠前则优先级越高,该预设标签的预设系数越大。
为了方便理解,下面将结合图2进行说明。假设预设标签的数量为N,分别记为
tagA、tagB、……、tagN,且预设标签在数组内按照上述顺序依次存储,因此,tagA、
tagB、……、tagN对应的数组下标(记为)依次为0、1、……、n。基于预设标签对应的数
组下标计算每一个预设标签的预设系数,其中预设系数。
每一个目标文件所携带的预设标签的数量和类型可能相同也可能不同。例如,文件A携带有tagA和tagB,文件B携带有tagA和tagN,文件C仅携带有tagB。
基于每一个目标文件对应的所有预设标签的预设系数之和确定该目标文件的标
签权重。示例性地,文件A的标签权重满足:
;
文件B的标签权重满足:
;
文件C的标签权重满足:
;
目标文件的标签权重代表了用户预设标签所表征的该目标文件的重要性。基于目标文件的标签权重、访问次数和文件存在时长确定目标文件的权重值的具体方式在此不做限定。
作为一种可选的实施方式,标签权重与目标文件的权重值呈正相关,访问次数与目标文件的权重值呈正相关,文件存在时长与目标文件的权重值呈反相关。
作为一个具体的实施例中,为每一个文件设置访问次数(记为Visits)参数,文件对象在第一预设时段内每被访问一次就在原先的数值基础上加1,其初始值为0。目标文件的权重值(记为Value)的计算过程如下:
首先,计算,其中,用于表征目
标文件的文件存在时长,基于目标文件的创建时间与当前时间的差值进行确认,并通过预
处理转换为可以计算的形式。用于表征目标文件对应的第i个预设标签的预设
系数,k为目标文件对应的预设标签的总数。
作为一种可选的实施方式,的计算方式可以参见前述内容,即,为目标文件对应的第i个预设标签的数组下标(或称为该
预设标签在标签的优先级排序数组里面的索引值)。
然后,计算。在本实施方式中,使用标准化函数tanh()(激
活函数)对计算出来的数值进行处理,使得计算结果分布在0~1之间,便于后续基于Value值
进行排序。
定期地对文件对象的权重值进行刷新,示例性地,刷新周期为14天(默认值,用户可进行自定义)。在一些实施例中,对文件对象的权重进行刷新的周期可以与对第一文件和第二文件进行划分的周期一致。
步骤103,基于所述目标文件的权重值对所述目标文件进行排序,得到目标队列。
作为一种可选的实施例,目标文件的权重值越高表征该目标文件的重要程度越高,因此基于目标文件的权重值从大到小对目标文件进行排序,得到目标队列,该目标队列中的文件从前到后重要程度逐渐降低。
作为一种可选的实施方式,所述目标队列为链表形式的队列,所述目标队列对应的链表的长度为N,所述步骤103包括:
基于所述目标文件的权重值对所述目标文件进行排序,将排序后的前N个目标文件放入所述链表,得到目标队列。
在一些实施例中,链表可以为双向链表。通过将文件放入和移除链表等操作最终得到N个目标文件。
在本实施方式中,目标队列为链表形式的队列,通过上述设置,可以便于后续对目标队列中的文件进行查找和管理,提高了文件存储的灵活性和便捷性。
可选地,在一些实施例中,所述步骤103包括:
基于所述目标文件的权重值对所述目标文件进行排列,得到初始队列;
判断是否存在更新访问文件,所述更新访问文件为在得到所述初始队列后被访问过的目标文件;
在存在所述更新访问文件的情况下,将所述更新访问文件更新至所述初始队列的首位,得到目标队列。
需要说明的是,目标队列为动态队列,根据服务器上文件的状态更新目标队列也在实时进行调整。在基于目标文件的权重值对所述目标文件进行排列,得到初始队列后,文件的状态可能还会变更。
在某一个文件近期被访问过的情况下,尽管该文件的权重值可能较低,该文件大概率也是重要的文件,用户在近期内再次访问该文件的概率较大,因此应该优先考虑将该文件存储在本地存储空间。因此,在存在所述更新访问文件的情况下,将所述更新访问文件更新至所述初始队列的首位,得到目标队列。
在本实施例中,在基于目标文件的权重值对目标文件进行排列,得到初始队列后,如果有某个目标文件被访问了,则将该目标文件更新至初始队列的首位,得到目标队列。通过上述方法,可以对提高近期内访问过的文件的排列位置,优先存储近期访问过的文件,从而使得目标队列的排序更加合理。
可选地,在一些实施例中,所述在存在所述更新访问文件的情况下,将所述更新访问文件更新至所述初始队列的首位,得到目标队列,包括:
判断所述更新访问文件是否排列在所述初始队列的前N个目标文件内;
在所述更新访问文件排列在所述初始队列的前N个目标文件内的情况下,基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的更新权重值;
将所述更新访问文件排列在所述初始队列的首位,并基于所述更新权重值对除所述更新访问文件外的目标文件进行排序,得到目标队列。
在一种情况下,更新访问文件本身已经排列在初始队列的前N个目标文件内。在这种情况下,重新计算其他目标文件的权重值,将更新访问文件排列在初始队列的首位,并基于更新权重值对除更新访问文件外的目标文件进行排序,得到目标队列。
在另一种情况下,更新访问文件未排列在初始队列的前N个目标文件内。在这种情况下,将更新访问文件排列在初始队列的首位,其他目标文件的排序依次后移。
作为一个具体的实施例,对目标文件设置访问标志(VisitSign)参数,VisitSign的赋值可以为0或者1,目标文件在得到所述初始队列后被访问过的情况下,将该目标文件的VisitSign置1。在本实施例中,目标队列为双向链表形式的队列。
初始队列中按照Value值从队首到队尾从大到小依次顺序排列。当产生新的“VisitSign”赋值为“1”的目标文件时,若是该目标文件不在队列里面就直接将该目标文件添加在队首,若是队列满了就将队尾的文件“VisitSign”设为“0”并进行出队操作。若是该目标文件在队列里面就将该该目标文件挪到队首,并对队列里面其余所有文件对象的Value值进行更新并重新排序。
步骤104,将所述第一文件与所述目标队列中前N个目标文件存储在本地存储空间,N为正整数。
N的取值可以根据实际情况进行设置,用户可以对N这个参数进行设置和调整,目标队列中前N个目标文件也可以被称为常用历史文件。示例性地,在一些实施例中,N的取值为50。
目标队列中前N个目标文件也可以称为常用历史文件,将近期文件和常用历史文件存储在本地存储空间,便于用户对这类文件进行访问,同时起到释放存储空间的效果。
在具体实现时,预先设置有更新周期(例如默认更新周期为一周)。按照更新周期对文件的权重值进行更新计算,更新计算时同时将文件的存在时长进行更新,以便更好地排列文件对象优先级。
作为一种可选的实施方式,可以将除第一文件与目标队列中前N个目标文件外的其他文件删除。作为另一种可选的实施方式,可以将除第一文件与目标队列中前N个目标文件外的其他文件进行压缩处理、或将该文件上传至云存储或对象存储服务进行存储空间的释放。
可选地,作为另一种可选的实施方式,所述方法还包括:
将待上传文件上传至服务端,并获取所述待上传文件对应的存储信息,所述待上传文件为所述目标队列中除所述目标队列中前N个目标文件外的目标文件,所述存储信息包括预览信息和/或下载链接,所述预览信息用于预览所述待上传文件,所述下载链接用于从所述服务端下载所述待上传文件;
将所述存储信息存储在本地存储空间。
将所有待处理文件遍历完成后,除去第一文件和目标队列中前N个目标文件之外,其余的文件可以被称为“不常用历史文件”。在一些实施例中,目标文件包括第二文件和第三文件,在这个实施例中,待上传文件即为“不常用历史文件”。
将待上传文件上传至服务端进行云存储,避免待上传文件占用本地存储空间。将待上传文件上传后可以生成对应的存储信息,基于存储信息可以生成“快捷方式”,将上述“快捷方式”存储在本地存储空间。
用户可以通过点击“快捷方式”查看预览信息,进一步地可以选择是否基于下载链接将待上传文件恢复到本地存储空间。
在一些实施例中,基于存储信息生成的“快捷方式”的名称可以使用待处理文件的原名称,也可以采用“预设标签+原名称”的形式。通过上述设置,用户在查看云存储上的文件时通过标签+名称很快捷的找到需要查找的文件。
在实施方式中,第一文件和目标队列中前N个目标文件依然会存储在本地,其他文件则会通过生成访问快捷方式存储在本地,其原文件则会存储到云存储服务端,可以删除本地存储文件,释放本地存储空间。在查找文件的时候通过快捷方式找到需要查找的文件之后,可以拉取原文件进行其他操作,比如下载或预览操作。
在本实施方式中,将目标队列中除目标队列中前N个目标文件外的目标文件上传至服务端,并获取待上传文件对应的存储信息。将存储信息存储在本地存储空间。通过上述方式,在提高释放本地存储空间的效率的同时,对这些不常访问的文件进行云备份,避免误操作造成文件丢失,提高了文件存储的可靠性。
在本申请实施例中,将多个待处理文件中存在时长小于或等于第一阈值的待处理文件确定为第一文件,以及将多个待处理文件中存在时长大于第一阈值的待处理文件确定为第二文件;基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值;基于目标文件的权重值对目标文件进行排序,得到目标队列;将第一文件与目标队列中前N个目标文件存储在本地存储空间。通过上述方法,一方面优先将近期生成的文件存储在本地存储空间,另一方面基于文件的预设标签、访问次数和文件存在时长对生成时间较长的文件的重要性进行判断,将较为重要的历史文件也存储在本地存储空间,实现了本地存储文件的一部分存储资源的自动的释放,提高了本地存储空间利用率。
请参见图3和图4,下面将以一个具体的实施例为例进行说明。
对所有的待处理文件进行筛选处理,根据文件的存在时长判断文件为近期文件(第一文件)或历史文件(第二文件)。对于近期文件,判断近期文件的数量是否超过最大存储值(M),如果近期文件的数量超过M,基于近期文件的文件大小对近期文件进行优先级排序,将排列在前M个的近期文件存储在本地存储空间。如果近期文件的数量未超过M,则直接将所有近期文件存储在本地存储空间。
对历史文件以及排列在前M个以外的近期文件基于权重值进行排序,筛选出目标队列以外的文件。将目标队列中的文件存储在本地存储空间,对筛选出的文件进行“生成快捷访问方式”处理。具体地,将待上传文件的原件上传到文件存储或对象存储服务之后删除本地原件(只保留快捷访问参数),本地仅存储待上传文件的访问和下载快捷方式。
对历史文件以及排列在前M个以外的近期文件基于权重值进行排序,筛选出目标队列以外的文件的具体流程可以参见图4。设置双向链表作为队列,队列长度用户可进行管理。设置预设标签的预设系数,并对每一个文件对象(简称对象)的Visits、Existence和Value等值进行计算。基于对象的Value判断对象是否可以进入队列。在新产生访问标志为1的对象时,判断对象是否在队列中,如果是的话将对象挪到队首。如果不是的话,将对象设置为队首并判断队列是否满了,如果满了的话将对尾的对象的访问标志置为1并移出队列,然后重置队列内文件的Value值,将除了队首外的其他对象重新排序。如果队列没有满则判断是否还存在没有遍历的文件对象,没有则结束流程,否则继续计算对象的Visits、Existence和Value等值。
在本实施例中,基于先进先出(First In First Out,FIFO)算法,在对文件的初筛阶段,为文件添加重要程度、访问频率等标签,对文件进行初步优先级排序;在划分历史常用文件和不常用文件阶段,根据文件标签权重、访问次数及存在时长等计算文件的权重值,并根据权重值确定历史常用文件或历史不常用文件;在文件快捷方式建立阶段,通过标签+文件名建立快捷方式,在用户查看云存储上的文件时通过标签+名称很快捷的找到需要查找的文件。同时,本实施例提供的方法可以更加灵活的满足个性化的定义文件对象的优先级,能较好的适应短期内文件激增情况的处理以及多种应用场景。
如图5所示,本发明实施例还提供一种文件存储装置500,包括:
第一确定模块501,用于将多个待处理文件中存在时长小于或等于第一阈值的待处理文件确定为第一文件,以及将所述多个待处理文件中存在时长大于所述第一阈值的待处理文件确定为第二文件;
第二确定模块502,用于基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值,所述目标文件包括所述第二文件,所述访问次数用于表征所述目标文件在第一预设时段内被访问的次数;
第一排序模块503,用于基于所述目标文件的权重值对所述目标文件进行排序,得到目标队列;
存储模块504,用于将所述第一文件与所述目标队列中前N个目标文件存储在本地存储空间,N为正整数。
可选地,所述目标队列为链表形式的队列,所述目标队列对应的链表的长度为N,所述第一排序模块503具体用于:
基于所述目标文件的权重值对所述目标文件进行排序,将排序后的前N个目标文件放入所述链表,得到目标队列。
可选地,所述文件存储装置500还包括:
上传模块,用于将待上传文件上传至服务端,并获取所述待上传文件对应的存储信息,所述待上传文件为所述目标队列中除所述目标队列中前N个目标文件外的目标文件,所述存储信息包括预览信息和/或下载链接,所述预览信息用于预览所述待上传文件,所述下载链接用于从所述服务端下载所述待上传文件;
存储模块,用于将所述存储信息存储在本地存储空间。
可选地,所述文件存储装置500还包括:
判断模块,用于判断所述第一文件的数量是否大于或等于M,M为正整数;
第二排序模块,用于在所述第一文件的数量大于或等于M的情况下,按照所述第一文件的文件大小从大到小对所述第一文件进行排序;
第三确定模块,用于将除排序后的前M个的第一文件外的第一文件确定为第三文件;
其中,所述目标文件还包括所述第三文件。
可选地,所述预设标签的数量为至少一个,每一个所述预设标签对应一个预设系数,所述第二确定模块502具体用于:
确定目标文件的标签权重,所述标签权重基于所述目标文件对应的所有预设标签的预设系数之和确定;
基于所述目标文件的标签权重、访问次数和文件存在时长确定目标文件的权重值。
可选地,所述第一排序模块503包括:
排列单元,用于基于所述目标文件的权重值对所述目标文件进行排列,得到初始队列;
判断单元,用于判断是否存在更新访问文件,所述更新访问文件为在得到所述初始队列后被访问过的目标文件;
更新单元,用于在存在所述更新访问文件的情况下,将所述更新访问文件更新至所述初始队列的首位,得到目标队列。
可选地,所述更新单元具体用于:
判断所述更新访问文件是否排列在所述初始队列的前N个目标文件内;
在所述更新访问文件排列在所述初始队列的前N个目标文件内的情况下,基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的更新权重值;
将所述更新访问文件排列在所述初始队列的首位,并基于所述更新权重值对除所述更新访问文件外的目标文件进行排序,得到目标队列。
本发明实施例提供的文件存储装置500能够实现图1所示的方法实施例实现的各个过程,且能够取得相同的有益效果,为避免重复,这里不再赘述。
如图6所示,本发明实施例还提供一种电子设备600,包括处理器601,存储器602,存储在存储器602上并可在处理器601上运行的程序或指令,该程序或指令被处理器601执行时实现如图1所示方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种可读存储介质,可读存储介质上存储有程序,该程序被处理器执行时实现上述如图1所示方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U 盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种文件存储方法,其特征在于,包括:
将多个待处理文件中存在时长小于或等于第一阈值的待处理文件确定为第一文件,以及将所述多个待处理文件中存在时长大于所述第一阈值的待处理文件确定为第二文件;
基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值,所述目标文件包括所述第二文件,所述访问次数用于表征所述目标文件在第一预设时段内被访问的次数;
基于所述目标文件的权重值对所述目标文件进行排序,得到目标队列;
将所述第一文件与所述目标队列中前N个目标文件存储在本地存储空间,N为正整数。
2.根据权利要求1所述的方法,其特征在于,所述目标队列为链表形式的队列,所述目标队列对应的链表的长度为N,所述基于所述目标文件的权重值对所述目标文件进行排序,得到目标队列,包括:
基于所述目标文件的权重值对所述目标文件进行排序,将排序后的前N个目标文件放入所述链表,得到目标队列。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将待上传文件上传至服务端,并获取所述待上传文件对应的存储信息,所述待上传文件为所述目标队列中除所述目标队列中前N个目标文件外的目标文件,所述存储信息包括预览信息和/或下载链接,所述预览信息用于预览所述待上传文件,所述下载链接用于从所述服务端下载所述待上传文件;
将所述存储信息存储在本地存储空间。
4.根据权利要求1所述的方法,其特征在于,所述基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值之前,所述方法还包括:
判断所述第一文件的数量是否大于或等于M,M为正整数;
在所述第一文件的数量大于或等于M的情况下,按照所述第一文件的文件大小从大到小对所述第一文件进行排序;
将除排序后的前M个的第一文件外的第一文件确定为第三文件;
其中,所述目标文件还包括所述第三文件。
5.根据权利要求1所述的方法,其特征在于,所述预设标签的数量为至少一个,每一个所述预设标签对应一个预设系数,所述基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值,包括:
确定目标文件的标签权重,所述标签权重基于所述目标文件对应的所有预设标签的预设系数之和确定;
基于所述目标文件的标签权重、访问次数和文件存在时长确定目标文件的权重值。
6.根据权利要求1所述的方法,其特征在于,所述基于所述目标文件的权重值对所述目标文件进行排序,得到目标队列,包括:
基于所述目标文件的权重值对所述目标文件进行排列,得到初始队列;
判断是否存在更新访问文件,所述更新访问文件为在得到所述初始队列后被访问过的目标文件;
在存在所述更新访问文件的情况下,将所述更新访问文件更新至所述初始队列的首位,得到目标队列。
7.根据权利要求6所述的方法,其特征在于,所述在存在所述更新访问文件的情况下,将所述更新访问文件更新至所述初始队列的首位,得到目标队列,包括:
判断所述更新访问文件是否排列在所述初始队列的前N个目标文件内;
在所述更新访问文件排列在所述初始队列的前N个目标文件内的情况下,基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的更新权重值;
将所述更新访问文件排列在所述初始队列的首位,并基于所述更新权重值对除所述更新访问文件外的目标文件进行排序,得到目标队列。
8.一种文件存储装置,其特征在于,包括:
第一确定模块,用于将多个待处理文件中存在时长小于或等于第一阈值的待处理文件确定为第一文件,以及将所述多个待处理文件中存在时长大于所述第一阈值的待处理文件确定为第二文件;
第二确定模块,用于基于目标文件的预设标签、访问次数和文件存在时长确定目标文件的权重值,所述目标文件包括所述第二文件,所述访问次数用于表征所述目标文件在第一预设时段内被访问的次数;
第一排序模块,用于基于所述目标文件的权重值对所述目标文件进行排序,得到目标队列;
存储模块,用于将所述第一文件与所述目标队列中前N个目标文件存储在本地存储空间,N为正整数。
9.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,
所述处理器,用于读取存储器中的程序实现如权利要求1至7中任一项所述的方法中的步骤。
10.一种可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311021749.XA CN116737676A (zh) | 2023-08-15 | 2023-08-15 | 文件存储方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311021749.XA CN116737676A (zh) | 2023-08-15 | 2023-08-15 | 文件存储方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116737676A true CN116737676A (zh) | 2023-09-12 |
Family
ID=87908340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311021749.XA Pending CN116737676A (zh) | 2023-08-15 | 2023-08-15 | 文件存储方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737676A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975484A (zh) * | 2016-04-25 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种文件管理方法及装置 |
CN108932271A (zh) * | 2017-05-27 | 2018-12-04 | 大唐移动通信设备有限公司 | 一种文件管理方法及装置 |
US10983873B1 (en) * | 2017-09-27 | 2021-04-20 | Amazon Technologies, Inc. | Prioritizing electronic backup |
CN113766230A (zh) * | 2021-11-04 | 2021-12-07 | 广州易方信息科技股份有限公司 | 媒体文件编码方法、装置、计算机设备和存储介质 |
CN114647619A (zh) * | 2020-12-21 | 2022-06-21 | 广州视源电子科技股份有限公司 | 存储设备的数据处理方法及装置 |
CN115203130A (zh) * | 2022-07-28 | 2022-10-18 | 济南浪潮数据技术有限公司 | 一种分布式文件系统的文件清理方法、装置、设备及介质 |
CN115718732A (zh) * | 2022-12-01 | 2023-02-28 | 北京网太科技发展有限公司 | 一种磁盘文件管理方法、装置、设备及存储介质 |
CN115905110A (zh) * | 2022-11-01 | 2023-04-04 | 中国银行股份有限公司 | 一种日志文件动态清理方法、装置和计算机设备 |
-
2023
- 2023-08-15 CN CN202311021749.XA patent/CN116737676A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975484A (zh) * | 2016-04-25 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种文件管理方法及装置 |
CN108932271A (zh) * | 2017-05-27 | 2018-12-04 | 大唐移动通信设备有限公司 | 一种文件管理方法及装置 |
US10983873B1 (en) * | 2017-09-27 | 2021-04-20 | Amazon Technologies, Inc. | Prioritizing electronic backup |
CN114647619A (zh) * | 2020-12-21 | 2022-06-21 | 广州视源电子科技股份有限公司 | 存储设备的数据处理方法及装置 |
CN113766230A (zh) * | 2021-11-04 | 2021-12-07 | 广州易方信息科技股份有限公司 | 媒体文件编码方法、装置、计算机设备和存储介质 |
CN115203130A (zh) * | 2022-07-28 | 2022-10-18 | 济南浪潮数据技术有限公司 | 一种分布式文件系统的文件清理方法、装置、设备及介质 |
CN115905110A (zh) * | 2022-11-01 | 2023-04-04 | 中国银行股份有限公司 | 一种日志文件动态清理方法、装置和计算机设备 |
CN115718732A (zh) * | 2022-12-01 | 2023-02-28 | 北京网太科技发展有限公司 | 一种磁盘文件管理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8386512B2 (en) | System for managing data collection processes | |
US10929341B2 (en) | Iterative object scanning for information lifecycle management | |
US7333502B2 (en) | Services processor having a queue operations unit and an output scheduler | |
US7117294B1 (en) | Method and system for archiving and compacting data in a data storage array | |
CN108629029B (zh) | 一种应用于数据仓库的数据处理方法和装置 | |
US20100057765A1 (en) | Email attachment storage method and system | |
JP2005056420A (ja) | キャッシュに格納されたオブジェクトを管理するためのシステムおよび方法 | |
CN109804354A (zh) | 用于消息队列的消息高速缓存管理 | |
KR20070045326A (ko) | 데이터의 유틸리티를 기반으로 하여 데이터 저장장소로부터 데이터를 선택하는 시스템 | |
CN110753112A (zh) | 云服务的弹性伸缩方法和装置 | |
US11842068B2 (en) | Automatically tuning a quality of service setting for a distributed storage system with a deep reinforcement learning agent | |
CN105095495A (zh) | 一种分布式文件系统缓存管理方法和系统 | |
CN113094392A (zh) | 数据缓存的方法和装置 | |
CN112650449B (zh) | 缓存空间的释放方法、释放系统、电子设备及存储介质 | |
CN106990914A (zh) | 数据删除方法及装置 | |
CN113726842A (zh) | 一种文件上传方法和装置、电子设备及存储介质 | |
CN105574008B (zh) | 应用于分布式文件系统的任务调度方法和设备 | |
CN116737676A (zh) | 文件存储方法、装置、电子设备及可读存储介质 | |
CN113347238A (zh) | 基于区块链的消息分区方法及系统、设备、存储介质 | |
CN112925472A (zh) | 请求处理方法、装置、电子设备及计算机存储介质 | |
CN112667847A (zh) | 数据缓存方法、数据缓存装置和电子设备 | |
CN111510771A (zh) | 清晰度切换算法的选择方法、系统、设备及介质 | |
US20130179533A1 (en) | Data storage control system, data storage control method, and data storage control program | |
CN108628540A (zh) | 数据存储装置及方法 | |
CN111444183B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230912 |