CN112506875A - 文件存储方法、相关装置及文件存储系统 - Google Patents
文件存储方法、相关装置及文件存储系统 Download PDFInfo
- Publication number
- CN112506875A CN112506875A CN202011479173.8A CN202011479173A CN112506875A CN 112506875 A CN112506875 A CN 112506875A CN 202011479173 A CN202011479173 A CN 202011479173A CN 112506875 A CN112506875 A CN 112506875A
- Authority
- CN
- China
- Prior art keywords
- file
- weight
- storage area
- data storage
- files
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种文件存储方法、装置、设备、存储介质及文件存储系统,该方法包括:以文件对应的业务类型作为第一权重影响参数,以文件的被访问频率和/或文件存储时长作为第二权重影响参数,利用第一和第二权重影响参数,更新在第一数据存储区存储的文件的权重;基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至第二数据存储区;其中,所述第二数据存储区的读写性能与所述第一数据存储区的读写性能不同;所述预设的迁移存储条件与文件的权重相关。上述方法使得对存储器中的文件存储管理更科学、更全面,利于提升文件存储秩序和文件读写性能。
Description
技术领域
本申请涉及文件存储技术领域,尤其涉及一种文件存储方法、装置、设备、存储介质及文件存储系统。
背景技术
随着智能化和网络化服务的发展,越来越多的信息被数据化,尤其是伴随着Internet的发展,数据呈爆炸式增长。
存储到同一存储器的数据文件具有差异性,如果各种文件完全随意地存储到同一存储器,会导致文件混乱,影响文件读写性能。因此,应当对存储至同一存储器的各种数据文件进行存储管理,以便使文件存储更有序,提高文件读写性能。
发明内容
为了解决上述需求,本申请提出一种文件存储方法、装置、设备、存储介质及文件存储系统,能够实现对文件存储的有序管理,利于提升文件读写性能。
一种文件存储方法,包括:
以文件对应的业务类型作为第一权重影响参数,以文件的被访问频率和/或文件存储时长作为第二权重影响参数,利用第一和第二权重影响参数,更新在第一数据存储区存储的文件的权重;
基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至第二数据存储区;
其中,所述第二数据存储区的读写性能与所述第一数据存储区的读写性能不同;所述预设的迁移存储条件与文件的权重相关。
一种文件存储系统,包括:
相互连接的文件存储模块、监控中心和物理缓存池;
其中,所述文件存储模块,用于计算接收的文件的权重;将接收的文件的权重添加到该文件的标识中,以及将接收的文件发送至所述物理缓存池进行存储,并将接收的文件的标识发送给所述监控中心;
所述监控中心,用于以文件对应的业务类型作为第一权重影响参数,以文件的被访问频率和/或文件存储时长作为第二权重影响参数,利用第一和第二权重影响参数,更新在所述物理缓存池的第一数据存储区存储的文件的权重;根据所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至所述物理缓存池的第二数据存储区;其中,所述第二数据存储区的读写性能与所述第一数据存储区的读写性能不同;所述预设的迁移存储条件与文件的权重相关;
所述物理缓存池,用于存储文件。
一种文件存储装置,包括:
权重更新单元,用于以文件对应的业务类型作为第一权重影响参数,以文件的被访问频率和/或文件存储时长作为第二权重影响参数,利用第一和第二权重影响参数,更新在第一数据存储区存储的文件的权重;
文件迁移单元,用于基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至第二数据存储区;
其中,所述第二数据存储区的读写性能与所述第一数据存储区的读写性能不同;所述预设的迁移存储条件与文件的权重相关。
一种文件存储设备,包括:
存储器和处理器;
其中,所述存储器与所述处理器连接,用于存储程序;
所述处理器,用于通过运行所述存储器中的程序,实现上述的文件存储方法。
一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的文件存储方法。
本申请提出的文件存储方法,综合考虑文件对应的业务类型、文件的被访问频率和/或文件存储时长,对第一数据存储区中存储的文件的权重进行更新,然后基于第一数据存储区存储的文件的更新后的权重,将符合预设的迁移存储条件的文件从第一数据存储区迁移到第二数据存储区进行存储。上述处理过程将文件在不同数据存储区进行迁移存储的过程中,充分考虑了文件对应的业务类型,以及文件的被访问频率和/或文件存储时长,其考虑因素更全面,使得对存储器中的文件存储管理更科学、更全面,利于提升文件存储秩序和文件读写性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请实施例提供的一种存储器结构示意图;
图2是本申请实施例提供的一种文件存储方法的流程示意图;
图3是本申请实施例提供的另一种文件存储方法的流程示意图;
图4是本申请实施例提供的第一数据存储区的文件标识缓存池的示意图;
图5是本申请实施例提供的在文件标识缓存池内为不同业务部门划分文件标识存储区域的示意图;
图6是本申请实施例提供的由文件标识构成的平衡二叉树的示意图;
图7是本申请实施例提供的一种文件存储系统的结构示意图;
图8是本申请实施例提供的一种文件存储设备的结构示意图。
具体实施方式
本申请实施例提出的文件存储方法,适用于将文件存储至存储器并进行存储管理的应用场景,采用本申请实施例技术方案,能够实现对存储至存储器的文件的有序管理。
通常情况下,存储至同一存储器的各种数据文件,在被存储后可能会被反复访问,对此,领域内对存储器进行分区设置,不同的数据存储区的读写性能不同,需要经常被读取的文件,存储在高读写性能的存储区,而读写频率相对较低的文件,则可以存储在读写性能相对较低的存储区。
例如,参见图1所示,其示出了为存储器设置不同服务器的方案,各服务器分别构成不同性能的数据资源池,也就是构成不同读写性能的数据存储区。其中,高性能服务器构成热数据资源池,该热数据资源池具有更高的读写性能,能够支持高频访问,经常被访问或读写的数据,应当存储在该服务器中;大容量服务器构成温数据资源池,该温数据资源池具有更大的数据容量,并且能够支持低频访问,被访问频率较低的数据,应当存储在该服务器中;低功耗大容量服务器构成冷数据资源池,该冷数据资源池具有较大的数据容量,并且功耗较低,适用于数据归档存储,因此,长期不被访问的数据,应当归档存储到该服务器中。
按照上述的数据存储区划分方案,参见图1所示,当数据被存入存储器时,先存储至存储器的热数据资源池,在一定时长内,如果该数据在热数据资源池被访问的频率小于一定阈值,则将该数据迁移至温数据资源池;在该数据存储于温数据资源池的一定时长内,如果该数据被访问的频率小于一定阈值,则将该数据迁移至冷数据资源池进行归档存储。
上述的对存储器进行数据存储区划分,并且对数据进行迁移存储的方案,实现了对存储器所存储数据的有序管理,不同数据存储区应对不同特点的数据存储,有利于提高存储器的整体读写性能。
但是,上述的分区存储数据的方案,仅仅考虑了数据文件的被访问频率而对数据文件进行迁移存储,其并没有全面考虑各种客观因素而对文件存储进行管理。有些文件,虽然被访问的频率较低,但是重要程度较高,或者每次被访问时对访问效率要求较高,此时就应当在上述的热数据资源池进行存储,但是按照现有方案,其很可能会很快被迁移到温数据资源池存储。
因此,现有的文件存储管理方案不够合理。
对此,本申请实施例提出一种新的文件存储方法,该方法可示例性的应用于如图1所示的分区域的存储器架构中。采用本申请实施例技术方案,能够更全面地衡量文件的重要程度,并基于文件重要程度,对文件在不同存储区域的迁移进行控制,能够更细致地对存储器的文件存储进行管理。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图2所示,本申请实施例提出的文件存储方法,包括:
S201、以文件对应的类型作为第一权重影响参数,以文件的被访问频率和/或文件存储时长作为第二权重影响参数,至少利用所述第一和第二权重影响参数,更新在第一数据存储区存储的文件的权重。
上述的文件,可以是任意类型的数据文件,比如可以为图像文件、音频文件、视频文件、文本文件等。
上述的文件对应的类型,可以是文件本身的类型,例如是图像文件、音频文件、文本文件等,也可以是文件所对应的业务类型。
上述的文件对应的业务类型,是指应用或产生该文件的业务的类型,业务的类型可以按照业务的工作内容的不同而区分,也可以按照业务的执行部门的不同而区分,或者是按照业务的优先级、重要程度等进行区分。例如,假设上述文件为图像文件,则与该文件对应的业务类型可以为图像处理业务;假设上述文件为音频文件,则与该文件对应的业务类型可以是音频识别等业务;假设上述文件为关键业务产生的文件,则该文件对应的业务类型为关键业务。
通常情况下,不同类型的业务的重要程度不同,这就导致了不同业务类型对应的文件的重要程度不同。例如,关键部门存储的文件的重要程度高于普通部门存储的文件的重要程度;重要业务产生的文件的重要程度高于一般业务产生的文件的重要程度等。
同时,不同类型的文件的重要程度也不同。例如,假设关键业务是音频处理业务,则,音频文件的重要程度比文本文件的重要程度更高。
因此,文件对应的类型,可以体现文件的重要程度。即,文件本身的类型的重要程度较高时,文件的重要程度也较高;文件对应的业务类型为重要业务时,该文件的重要程度较高;文件本身的类型的重要程度较低时,文件的重要程度也就较低;文件对应的业务类型为非重要业务时,该文件的重要程度较低。
基于上述设定,本申请实施例将文件对应的类型,作为衡量文件重要程度的指标,并将文件对应的类型作为影响文件的权重的参数之一,即,第一权重影响参数。
上述的文件的被访问频率,是指文件存入存储器后,被访问的频率。上述的文件存储时长,是指文件在存储器中存储的时长,即从文件存入存储器的时刻开始计时的时长。
上文已经说明,本申请实施例技术方案可应用于如图1所示的由不同存储区域构成的存储器架构中。上述的第一数据存储区,可以是热数据资源池或者是温数据资源池。
应当理解,本申请实施例技术方案并不限于只能应用于如图1所示的存储器架构中,基于海量文件存储需求,存储器内部可以被划分为更多的数据存储区域,例如基于图1所示的存储器架构,可以设置更多的数据资源池,从而提供更细致的文件分区域存储。此时,上述的第一数据存储区,可以是存储器中的任意一个可以实现数据迁移存储的数据存储区。
本申请实施例以第一数据存储区中存储的文件对应的类型作为第一权重影响参数,以该文件在第一数据存储区存储的过程中的被访问频率,和/或该文件在第一数据存储区存储的时长作为第二权重影响参数,利用该文件的第一权重影响参数和第二权重影响参数,计算确定该文件的权重。
由于该文件在第一数据存储区存储的过程中,其被访问频率和存储时长是实时更新的,因此,实时地利用上述的第一权重影响参数和第二权重影响参数,计算确定该文件的权重,即实现了对该文件在第一数据存储区的权重的实时更新。
作为一种示例性的实现方式,当文件存入第一数据存储区时,至少根据该文件的第一权重影响参数,确定该文件的权重。
例如,本申请实施例设定,与文件对应的类型的重要程度越高,则文件的第一权重影响参数的值越大。基于该设定,当文件存入第一数据存储区时,根据文件的第一权重影响参数确定文件的权重,具体是按照文件的权重与文件对应的类型的重要程度成正比的规则,确定该文件的权重。
另外,还可以将文件的第一权重影响参数与文件大小等其他因素结合,共同用于确定该文件的权重。
按照上述处理,当文件存入第一数据存储区时确定的该文件的权重,作为该文件在第一数据存储区存储的初始权重。
该文件在第一数据存储区存储的过程中,根据第一权重影响参数和第二权重影响参数,共同对文件的权重进行更新。
具体的,可以按照该文件的权重与该文件在第一数据存储区存储过程汇总的被访问频率成正比,和/或按照该文件的权重与该文件在第一数据存储区的存储时长成反比的规则,对该文件的权重进行更新。
例如,当该文件存入第一数据存储区后,如果该文件被访问的频率较低,则以较大幅度降低该文件的权重,如果该文件被访问的频率较高,则以较小幅度降低该文件的权重,或者,如果该文件被访问的频率极高,则还可以调高该文件的权重。
同时,按照该文件在第一数据存储区的存储时长越长,该文件的权重越低的规则,对该文件的权重进行更新。
例如,当该文件在第一数据存储区的存储时长达到设定时长时,比如已存储t小时,则按照预设比例降低该文件的权重,其中,该预设比例与该设定时长成正比。
假设该设定时长为t小时,设定当该文件在第一数据存储区存储t小时后,其权重降低t*10%,则,当该文件在第一数据存储区存储t小时后,其权重变为原始权重的90%,再存储t小时后,其权重变为原始权重的80%。按照上述方式,文件在第一数据存储区的存储时长越长,其权重越低。
上述两种权重更新手段,可以择一应用,或者组合应用。
示例性的,第一权重影响参数,可以影响第二权重影响参数对文件权重的影响程度。
比如,假设A文件的第一权重影响参数比B文件的第一权重影响参数大,则说明A文件对应的类型比B文件对应的类型的重要程度更高,也就是A文件比B文件更重要。此时,如果A文件的第二权重影响参数和B文件的第二权重影响参数发生相同变化,假设该变化导致A文件和B文件的权重下降,本申请实施例设定,A文件的权重的下降值小于B文件的权重的下降值,也就是使更新后的A文件的权重大于B文件的权重,从而体现A文件的重要性。
由此可知,本申请改进后的方案,在对存储于第一数据存储区的文件的权重进行更新时,充分考虑了文件对应的类型,也就是充分考虑了文件的重要程度,同时考虑了文件的被访问频率和/或文件存储时长等因素,共同确定第一数据存储区中存储的文件的权重。
S202、基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至第二数据存储区。
其中,所述第二数据存储区的读写性能与所述第一数据存储区的读写性能不同;所述预设的迁移存储条件与文件的权重相关。
具体的,基于图1所示的分区域的存储器架构,文件在存储器的不同存储区域迁移存储,能够充分发挥不同存储区域的读写性能优势,同时保证整个存储器的数据存储秩序。
为了达到上述目的,本申请实施例设定,每次对第一数据存储区存储的文件的权重进行更新后,基于第一数据存储区存储的文件的更新后的权重,将第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至第二数据存储区。
上述的第二数据存储区,是与第一数据存储区的读写性能不同的数据存储区。例如,上述的第一数据存储区可以是图1所示的存储器中的热数据资源池,上述的第二数据存储区可以是图1所示的存储器中的温数据资源池;或者,第一数据存储区是温数据资源池,而第二数据存储区是热数据资源池。
上述的迁移存储条件与文件的权重相关,该迁移存储条件可以是文件权重与文件权重阈值之间构成特定的大小关系,例如文件权重大于或小于或等于文件权重阈值等。
按照上述的文件迁移存储规则,本申请实施例在每次对第一数据存储区存储的文件的权重进行更新后,从第一数据存储区选择符合预设的迁移存储条件的文件,并将选出的文件存储至第二数据存储区。
通过上述介绍可见,本申请实施例综合考虑文件对应的类型、文件的被访问频率和/或文件存储时长,对第一数据存储区中存储的文件的权重进行更新,然后基于第一数据存储区存储的文件的更新后的权重,将符合预设的迁移存储条件的文件从第一数据存储区迁移到第二数据存储区进行存储。上述处理过程将文件在不同数据存储区进行迁移存储的过程中,充分考虑了文件对应的类型,以及文件的被访问频率和/或文件存储时长,其考虑因素更全面,使得对存储器中的文件存储管理更科学、更全面,利于提升文件存储秩序和文件读写性能。
作为一种示例性的实现方式,上述的预设的迁移存储条件,可以是文件权重在预设的权重范围内。
则上述的基于第一数据存储区存储的文件的更新后的权重,将第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至第二数据存储区,具体为,基于第一数据存储区存储的文件的更新后的权重,将第一数据存储区中存储的预设权重范围内的文件存储至第二数据存储区。
上述的预设权重范围,可以基于第一数据存储区和第二数据存储区的读写性能的相互关系而确定。
例如,假设第二数据存储区的读写性能低于第一数据存储区的读写性能,则应当将第一数据存储区中的、较低权重范围内的文件存储至第二数据存储区,也就是将第一数据存储区中的不太重要的、不经常被访问或者存储时长较长的文件,迁移到第二数据存储区进行存储,从而为第一数据存储区腾出更多空间用于对重要的、经常被访问的文件的存储。
假设第二数据存储区的读写性能高于第一数据存储区的读写性能,则应当将第一数据存储区中的、最高权重范围内的文件存储至第二数据存储区,也就是将第一数据存储区中的最重要的,或者经常被访问的文件,迁移到第二数据存储区进行存储,从而可以使用户通过第二数据存储区,更高效地对该文件进行读写。
示例性的,当第二数据存储区的读写性能低于第一数据存储区的读写性能时,上述的基于所述第一数据存储区存储的文件的更新后的权重,将第一数据存储区中存储的预设权重范围内的文件存储至第二数据存储区,具体可以是:
基于第一数据存储区存储的文件的更新后的权重,从第一数据存储区中筛选权重小于预设的权重阈值的文件,并将筛选出的文件存储至第二数据存储区。
进一步的,参见图3所示,其示出了本申请实施例提出的文件存储方法的一种处理流程示意图。
当通过执行步骤S302、基于所述第一数据存储区存储的文件的更新后的权重,从所述第一数据存储区中筛选权重小于预设的权重阈值的文件之后,本申请实施例还执行步骤S303:
S303、判断筛选出的文件的数据量是否达到设定数据量。
其中,上述的筛选出的文件的数据量,是指筛选出的所有文件的总的数据量。
当筛选出的文件的数据量达到设定数据量时,执行步骤S304、将筛选出的文件存储至第二数据存储区。
否则,返回重新执行步骤S301,直到当执行步骤S303时判断筛选出的文件的数据量达到设定数据量时,执行步骤S304,将筛选出的文件存储至第二数据存储区。
上述方案实现了文件的批量迁移存储,批量的迁移存储,可以大大减少文件迁移处理的执行频率,从而避免文件迁移存储对文件读写带来的影响,利于更进一步的保证存储器的文件读写性能。
作为另一种优选的实现方式,当第二数据存储区的读写性能低于第一数据存储区的读写性能时,本申请实施例按照如下步骤S1~S3,执行第一数据存储区中存储的预设权重范围内的文件向第二数据存储区的迁移存储:
S1、基于第一数据存储区存储的文件的更新后的权重,对第一数据存储区存储的文件所对应的权重区间进行更新。
其中,第一数据存储区对应多个互不重叠的权重区间。
具体的,本申请实施例为第一数据存储区设置多个互不重叠的权重区间,权重区间的取值,与文件的权重的取值范围相匹配。例如,假设文件的权重的取值范围在[1,100],则可以设置多个互不重叠的权重区间[1,20]、[21,40]、[41,60]、[61,80]、[81,100]。
在此基础上,对于第一数据存储区存储的每个文件,利用与该文件对应的第一权重影响参数和第二权重影响参数,对该文件的权重进行更新后,基于该文件的更新后的权重,对该文件对应的权重区间进行更新。
其中,该文件对应的权重区间,即为该文件的权重所属的权重区间。例如,假设该文件更新后的权重为70,则该文件对应的权重区间为[61,80]这一权重区间。
按照上述规则,对第一数据存储区存储的文件,均基于其更新后的权重,对其所对应的权重区间进行更新。
S2、判断对应所述第一数据存储区的最低权重区间的所有文件的总数据量,是否达到设定数据量。
具体的,按照上述步骤S1的处理,在分别明确第一数据存储区存储的文件对应的权重区间后,即可确定与每个权重区间对应的所有文件。
由于第二数据存储区的读写性能低于第一数据存储区的读写性能,则应当将第一数据存储区中存储的权重最低的文件,先迁移到第二数据存储区。因此,在分别明确与每个权重区间对应的所有文件后,本申请实施例进一步判断,对应第一数据存储区的最低权重区间的所有文件的总数据量,是否达到设定数据量。
当对应所述第一数据存储区的最低权重区间的所有文件的总数据量达到设定数据量时,执行步骤S3、将对应第一数据存储区的最低权重区间的所有文件,存储至第二数据存储区。
即,当对应第一数据存储区的最低权重区间的所有文件的总数据量达到设定数据量时,将对应该最低权重区间的所有文件,全部迁移至第二数据存储区存储。
如果对应所述第一数据存储区的最低权重区间的所有文件的总数据量未达到设定数据量,则返回执行更新第一数据存储区存储的文件的权重的处理,以及重新执行上述步骤S1~S3。
即,在对第一数据存储区中存储的文件的权重进行更新的过程中,只要对应最低权重区间的文件的总数据量未达到设定数据量,就不执行文件迁移处理,只有经过不断地对第一数据存储区中存储的文件的权重进行更新,使得对应最低权重区间的文件的总数据量达到设定数据量是,才将对应该最低权重区间的所有文件全部转移存储至第二数据存储区间。
与上述的处理过程相类似的,当第二数据存储区的读写性能高于第一数据存储区的读写性能时,应当是将第一数据存储区中存储的权重较高的文件存储至第二数据存储区。此时,参照本申请上述实施例介绍的处理方式,应当是将对应第一数据存储区的最高权重区间的所有文件,迁移存储至第二数据存储区,其具体处理过程可参见上述实施例,此处不再详述。
上述处理实现了对第一数据存储区中的文件的批量迁移存储。在对第一数据存储区中存储的文件进行实时更新的过程中,可能会陆续地有越来越多的文件与最低权重区间相对应。此时,如果每当有一个文件与最低权重区间相对应时,就将该文件存储至第二数据存储区,就需要频繁地将第一数据存储区的文件迁移至第二数据存储区存储。频繁的文件迁移操作,会影响存储器的文件读写性能。而本申请实施例的上述处理,设定当对应最低权重区间的文件达到一定量后,将对应最低权重区间的所有文件全部迁移至第二数据存储区,该批量迁移处理可以大大降低执行文件迁移操作的频率,从而可以有效避免文件迁移操作对存储器读写性能带来影响,保证存储器的读写性能。
可以理解,在存储器的读写性能允许的情况下,也可以跳过上述步骤S2直接执行S3,即不用考虑对应最低权重区间的文件的数据总量是否达到设定数量,在每次确定与最低权重区间对应的文件后,就将对应该最低权重区间的文件迁移至第二数据存储区进行存储。
作为一种可选的实现方式,本申请实施例为第一数据存储区设置多个文件标识缓存池,用于存储第一数据存储区中存储的文件的标识。
具体的,参见图4所示,第一数据存储区对应多个文件标识缓存池pool1~pool5,其中,各个文件标识缓存池分别用于存储不同权重区间内的文件的标识。例如,pool1用于存储权重属于权重区间[81,100]的文件的标识,pool2用于存储权重属于权重区间[61,80]的文件的标识,pool3用于存储权重属于权重区间[41,60]的文件的标识,pool4用于存储权重属于权重区间[21,40]的文件的标识,pool5用于存储权重属于权重区间[1,20]的文件的标识。
上述的文件的标识,可以包括文件名、文件大小、文件权重、文件创建日期等内容中的一项或多项。
基于上述设置,当对第一数据存储区的文件的权重进行更新后,基于第一数据存储区存储的文件的更新后的权重,将第一数据存储区的文件的标识,存储到与该文件的权重对应的文件标识缓存池,为了便于区分,本申请实施例将该文件标识缓存池命名为第一文件标识缓存池。
例如,假设第一数据存储区中的某一文件的权重在经过一次更新后,其权重更新为66,则可以确定该文件的更新后的权重对应的文件标识缓存池为pool2,则将该文件的标识存储到pool2,例如将该文件id存储到pool2。
按照上述处理,在对第一数据存储区的文件的权重进行更新的过程中,各个文件的标识所在的文件标识缓存池会发生变化。
当对第一数据存储区的文件所对应的权重区间进行更新时,可以查询当前时刻该文件的标识所在的文件标识缓存池,确定该文件所对应的权重区间。
例如,假设当前时刻需要对文件A所对应的权重区间进行更新,则可以查询文件A的标识当前时刻在哪个文件标识缓存池,假设在文件标识缓存池pool3,则可以更新文件A所对应的权重区间为[41,60]这一权重区间。
则可以理解,随着第一数据存储区的文件的权重的实时更新,第一数据存储区的文件的标识在各个文件标识缓存池中进行转移存储,当需要确定与某一权重区间对应的文件时,只需确定与该权重区间对应的文件标识缓存池中存储的文件的标识即可。从而便于后续将与某一权重区间对应的文件迁移至其他存储区进行存储。
另外,在第一数据存储区的文件的权重进行更新的过程中,本申请实施例只是对文件标识缓存池中的文件标识进行迁移,而并非对存储区的文件进行迁移,这样可以避免由于对存储区的文件进行迁移而影响存储区数据读写性能。
可选的,由于存储于第一数据存储区的文件对应的业务类型可能各不相同,而且不同业务可能对应不同的业务部门。为了更细致地对不同业务类型的文件进行分别存储,本申请实施例在每个文件标识缓存池,分别为不同业务部门划分文件标识存储区域。例如图5所示,在一个文件标识缓存池pool内部,针对各个业务部门,分别划分文件标识存储区域。
则,例如,当对应业务部门1的文件的标识存储到该文件标识缓存池时,将该文件的表述存储到与业务部门1对应的文件标识存储区域。
进一步的,在每个文件标识缓存池内部,通过创建bucket来缓存文件标识。具体的,同一时刻新存入文件标识缓存池的文件标识,存入同一新建的bucket中。例如,随着第一数据存储区的文件的权重的实时更新,当文件A的文件标识被存入文件标识缓存池pool2时,在文件标识缓存池pool2中新建一个bucket,用于存储文件A的文件标识。
其中,上述的bucket是有生命周期的,从bucket被创建并且存入文件标识开始,每当到达其生命周期时,就按照设定比例降低其中存储的文件标识对应的文件的权重。当bucket中存储的文件标识对应的文件的权重超出该bucket所在的文件标识缓存池所对应的权重区间时,就将该文件的标识从该bucket中移出,转移到其当前对应的文件标识缓存池中。
例如,假设文件A的文件标识当前时刻存储于pool2的某一bucket中,随着文件A的权重的不断更新,当文件A的权重超出pool2对应的权重区间,变为对应pool3对应的权重区间,则将文件A的文件标识从pool2的bucket中移除,转而存储到pool3中,此时,在pool3中新建一个bucket,用于存储文件A的文件标识。
需要说明的是,上述的随着bucket的生命周期的到来,降低其中存储的文件标识对应的文件的权重,实际上实现了根据文件在存储器中存储的时长,对文件的权重进行更新。该更新处理,实际上与根据文件的被访问频率、文件对应的业务类型等对文件的权重进行更新是相互配合执行的。本申请实施例没有一一列举对文件权重进行更新时所考虑的各项音素,仅仅是示例性的介绍通过bucket生命周期对文件权重进行更新,从而实现基于文件存储时长对文件权重进行更新的实现方式。
作为一种可选的实施方式,在同一时刻,当多个文件同时存入第一数据存储区,并且该多个文件的权重均对应第一数据存储区的第一文件标识缓存池时,根据该多个文件中的每个文件的权重,将该多个文件的文件标识,按照平衡二叉树的形式,存储到第一文件标识缓存池的同一bucket中。该平衡二叉树中的每个节点,分别表示一个文件的标识,并且,每个节点对应的文件的权重,小于其左子树节点对应的文件的权重,而大于其右子树节点对应的文件的权重。其中,根据各个文件的权重,将各个文件的标识组织成平衡二叉树的具体处理方式,可参见常规的平衡二叉树构建方式执行,本实施例不再详述。
例如,假设文件A、B、C、D、E、F、G的文件标识同时存入第一数据存储区的pool1,则本申请实施例根据文件A、B、C、D、E、F、G的各自的权重,在pool1中新建bucket,并将文件A、B、C、D、E、F、G的文件标识按照图6所述的平衡二叉树的形式,存储到pool1的该新建bucket中。
在此基础上,基于该多个文件中的每个文件的权重的更新,当任一文件的权重对应第二文件标识缓存池时,将该平衡二叉树中的、该文件的标识所在的节点及其右子树节点,同时存储到第二文件标识缓存池。
例如,假设在经过一段时间的文件权重更新后,图6所示的平衡二叉树中的文件C的权重,超出了该平衡二叉树所在的文件标识缓存池pool1对应的权重区间,并且对应文件标识缓存池pool2对应的权重区间,则将文件C的标识所在的节点以及其右子节点,即文件C和文件D的标识,同时转移到pool2进行存储。
当文件C和文件D的标识存入pool2时,在pool2内部新建bucket,并将文件C、文件D的标识,以及其他同一时刻存入pool2的文件的标识,根据其权重,按照平衡二叉树的形式存储在该新建的bucket中。
平衡二叉树的结构体现了各节点代表的文件的权重关系,即,每个节点的右子树节点对应的文件的权重必定小于该节点对应的文件的权重。因此,基于平衡二叉树的结构,按照上述规则对二叉树的子树节点进行关联迁移,能够减少判断是否迁移节点的判断次数,同时提高迁移效率。
显然,第一数据存储区的文件的标识,也可以自由、零散地存入各自对应的文件标识缓存池,然后,基于各文件的权重的更新,对各文件的标识所在的文件标识缓存池进行调整。
当时,无论采用上述的哪种方式,本申请实施例始终是对文件的标识,执行在不同文件标识缓存池之间的迁移存储,这一迁移存储过程并不影响文件在第一数据存储区的存储位置,也不影响第一数据存储区的文件读写性能。
通过上述介绍可见,本申请实施例技术方案,考虑了更多方面的因素来度量文件的权重,并且为第一数据存储区构建了对应不同权重区间的多个文件标识缓存池,用于存储第一数据存储区中存储的文件的标识,以及,基于对文件权重的更新,对文件标识在各个文件标识缓存池之间进行迁移存储。基于上述的文件标识的迁移存储,本申请实施例在执行文件迁移存储时,可以在某一文件标识缓存池中存储的所有文件标识对应的文件的数据量达到阈值时,将该文件标识缓存池中存储的所有文件标识对应的文件进行集体迁移,即实现了文件的集体迁移处理。该处理方式可以对不同业务的文件进行区分,对文件标识进行迁移存储的过程,不会影响文件本身的存储。
上文只举例说明了针对第一数据存储区,设置文件标识缓存池,以及对第一数据存储区存储的文件的权重进行更新,并对文件标识进行迁移存储、对第一数据存储区的文件进行集体迁移等处理。上述的处理内容,也可以应用于第二数据存储区,本申请实施例不再详述。
例如图1所示的存储器,可以为热数据资源池和温数据资源池分别设置多个文件标识缓存池,用于对各资源池中存储的文件的标识进行迁移存储。当热数据资源池的最低权重区间对应的文件标识缓存池中的文件标识对应的文件总数据量达到设定数据量时,将该文件标识缓存池存储的所有文件标识对应的文件,全部迁移到温数据资源池中存储。当温数据资源池的最低权重区间对应的文件标识缓存池中的文件标识对应的文件总数据量达到设定数据量时,将该文件标识缓存池存储的所有文件标识对应的文件,全部迁移到冷数据资源池中归档存储。
基于上述的文件标识缓存池的设置,当需要从存储器中读取文件时,首先从各个文件标识缓存池中检索待读取文件的文件标识,从而确定待读取文件的标识所在的文件标识缓存池,然后确定该待读取文件的标识所在的文件标识缓存池所对应的数据存储区,进而可以从确定的数据存储区读取该待读取文件。
进一步的,本申请实施例还对存储存储器的小文件的存储进行管理。
在文件不断地存入第一数据存储区的过程中,统计存储第一数据存储区的所有小文件的文件总量。
其中,上述的小文件,即为文件大小小于设定阈值的文件。所有小文件的文件总量,即为所有小文件的数据量总和。
参照本申请上述实施例介绍的对文件权重进行更新的方式,本申请实施例在小文件存入第一数据存储区,以及在第一数据存储区存储的过程中,也对每个小文件的权重进行更新。
当统计确定第一数据存储区中存储的小文件的文件总量达到预设数据量时,将存储的所有小文件合并得到合并文件。
以及,根据该合并文件中的每个小文件的权重的更新,对该合并文件的权重进行更新。
示例性的,上述的合并文件的权重,等于其包含的每个小文件的权重的加权平均。当每个小文件的权重更新时,该合并文件的权重也随之更新。
本申请实施例设定,将上述的合并文件作为独立的文件,参与文件标识在各个文件标识缓存池的迁移存储,以及文件在不同数据存储区的迁移存储。
当需要从存储器查找某一小文件时,先确定包含该小文件的合并文件,然后根据合并文件的文件标识,查找该合并文件,进而可以从中读取该小文件。
上述的将小文件合并后进行存储管理的方案,可以减少对小文件的频繁操作而对存储器底层集群性能和稳定性带来影响。
本申请另一实施例还提出一种文件存储系统,参见图7所示,该系统包括:
相互连接的文件存储模块100、监控中心200和物理缓存池300;
其中,所述文件存储模块100,用于计算接收的文件的权重;将接收的文件的权重添加到该文件的标识中,以及将接收的文件发送至所述物理缓存池300进行存储,并将接收的文件的标识发送给所述监控中心200;
所述监控中心200,用于以文件对应的类型作为第一权重影响参数,以文件的被访问频率和/或文件存储时长作为第二权重影响参数,至少利用第一和第二权重影响参数,更新在所述物理缓存池300的第一数据存储区存储的文件的权重;根据所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至所述物理缓存池300的第二数据存储区;其中,所述第二数据存储区的读写性能与所述第一数据存储区的读写性能不同;所述预设的迁移存储条件与文件的权重相关;
所述物理缓存池,用于存储文件。
示例性的,上述的物理缓存池300按照物理介质能力划分为不同的数据存储区,例如第一数据存储区、第二数据存储区等,或者划分为热、温、冷三个存储区。物理缓存池300由使用奥腾的swit或者ceph对应存储集群构成,各个存储区使用统一的keystone认证,实现对异构的对象存储集群swift、ceph的支持,使用openresty实现跨集群转发。
图7中的openresty构成整个文件存储系统的文件存储模块100,其作为文件存储的统一入口,对所有存入的文件进行接收、拦截,计算接收的文件的权重,并将接收的文件的权重添加到文件的标识中,以及将接收的文件发送至物理缓存池300进行存储,并将接收的文件的标识发送给监控中心200。
监控中心200包括元数据中心201,元数据中心201用于对文件进行管理,例如存储文件标识,包括文件大小、创建日期、文件权重、文件名等,如果是合并文件,还存储合并文件的文件名、文件大小,及其包含的各个小文件的相关信息。元数据中心201还执行文件标识在不同的文件标识缓存池的迁移存储。
监控中心200以文件对应的类型作为第一权重影响参数,以文件的被访问频率和/或文件存储时长作为第二权重影响参数,利用第一和第二权重影响参数,更新在所述物理缓存池300的第一数据存储区存储的文件的权重;根据所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至所述物理缓存池300的第二数据存储区。
具体的,上述的文件存储模块100、监控中心200和物理缓存池300联合执行的文件权重更新、文件在不同数据存储区的迁移存储等处理内容,可参见上述各方法实施例的具体介绍,此处不再详述。
本实施例提出的文件存储系统,综合考虑文件对应的类型、文件的被访问频率和/或文件存储时长,对第一数据存储区中存储的文件的权重进行更新,然后基于第一数据存储区存储的文件的更新后的权重,将符合预设的迁移存储条件的文件从第一数据存储区迁移到第二数据存储区进行存储。该系统将文件在不同数据存储区进行迁移存储的过程中,充分考虑了文件对应的类型,以及文件的被访问频率和/或文件存储时长,其考虑因素更全面,使得对存储器中的文件存储管理更科学、更全面,利于提升文件存储秩序和文件读写性能。
本申请实施例还提出一种文件存储装置,该装置包括:
权重更新单元,用于以文件对应的类型作为第一权重影响参数,以文件的被访问频率和/或文件存储时长作为第二权重影响参数,至少利用第一和第二权重影响参数,更新在第一数据存储区存储的文件的权重;
文件迁移单元,用于基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至第二数据存储区;
其中,所述第二数据存储区的读写性能与所述第一数据存储区的读写性能不同;所述预设的迁移存储条件与文件的权重相关。
本申请实施例提出的文件存储装置,综合考虑文件对应的类型、文件的被访问频率和/或文件存储时长,对第一数据存储区中存储的文件的权重进行更新,然后基于第一数据存储区存储的文件的更新后的权重,将符合预设的迁移存储条件的文件从第一数据存储区迁移到第二数据存储区进行存储。上述处理过程将文件在不同数据存储区进行迁移存储的过程中,充分考虑了文件对应的类型,以及文件的被访问频率和/或文件存储时长,其考虑因素更全面,使得对存储器中的文件存储管理更科学、更全面,利于提升文件存储秩序和文件读写性能。
可选的,所述基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至第二数据存储区,包括:
基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的预设权重范围内的文件存储至第二数据存储区。
可选的,所述第二数据存储区的读写性能低于所述第一数据存储区的读写性能;
所述基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的预设权重范围内的文件存储至第二数据存储区,包括:
基于所述第一数据存储区存储的文件的更新后的权重,从所述第一数据存储区中筛选权重小于预设的权重阈值的文件,并将筛选出的文件存储至第二数据存储区。
可选的,在将筛选出的文件存储至第二数据存储区之前,所述文件迁移单元还用于:
判断筛选出的文件的数据量是否达到设定数据量;
当筛选出的文件的数据量达到设定数据量时,将筛选出的文件存储至第二数据存储区。
可选的,所述第二数据存储区的读写性能低于所述第一数据存储区的读写性能;
所述基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的预设权重范围内的文件存储至第二数据存储区,包括:
基于所述第一数据存储区存储的文件的更新后的权重,对所述第一数据存储区存储的文件所对应的权重区间进行更新;其中,所述第一数据存储区对应多个互不重叠的权重区间;
将对应所述第一数据存储区的最低权重区间的所有文件,存储至第二数据存储区。
可选的,在将对应所述第一数据存储区的最低权重区间的所有文件,存储至第二数据存储区之前,所述文件迁移单元还用于:
判断对应所述第一数据存储区的最低权重区间的所有文件的总数据量,是否达到设定数据量;
当对应所述第一数据存储区的最低权重区间的所有文件的总数据量达到设定数据量时,将对应所述第一数据存储区的最低权重区间的所有文件存储至第二数据存储区。
可选的,基于所述第一数据存储区存储的文件的更新后的权重,对所述第一数据存储区存储的文件所对应的权重区间进行更新,包括:
基于所述第一数据存储区存储的文件的更新后的权重,将所述文件的标识存储到与所述文件的权重对应的第一文件标识缓存池;其中,所述第一数据存储区对应多个文件标识缓存池,各个文件标识缓存池分别用于存储不同权重区间内的文件的标识;
根据所述文件的标识所在的文件标识缓存池,更新所述文件所对应的权重区间。
可选的,当存储于所述第一数据存储区的文件为同时存入的多个文件,并且每个文件的权重均对应第一文件标识缓存池时,所述将所述文件的标识存储到与所述文件的权重对应的第一文件标识缓存池,包括:
根据所述多个文件中的每个文件的权重,将所述多个文件的文件标识,按照平衡二叉树的形式存储到所述第一文件标识缓存池。
可选的,所述文件迁移单元还用于:
基于所述多个文件中的每个文件的权重的更新,当任一文件的权重对应第二文件标识缓存池时,将所述平衡二叉树中的、该文件的标识所在的节点及其右子树节点,同时存储到所述第二文件标识缓存池。
可选的,所述利用第一和第二权重影响参数,更新在第一数据存储区存储的文件的权重,包括:
当文件存入第一数据存储区时,至少根据第一权重影响参数,确定所述文件的权重;
在所述文件存储于所述第一数据存储区的过程中,根据所述第一权重影响参数和所述第二权重影响参数,对所述文件的权重进行更新。
可选的,根据第一权重影响参数,确定所述文件的权重,包括:
按照所述文件的权重与所述文件对应的类型的重要程度成正比的规则,确定所述文件的权重;
根据所述第一权重影响参数和所述第二权重影响参数,对所述文件的权重进行更新,包括:
按照所述文件的权重与所述文件在所述第一数据存储区存储的过程中的被访问频率成正比,和/或按照所述文件的权重与所述文件在所述第一数据存储区的存储时长成反比的规则,对所述文件的权重进行更新。
可选的,按照所述文件的权重与所述文件在所述第一数据存储区的存储时长成反比的规则,对所述文件的权重进行更新,包括:
当所述文件在所述第一数据存储区的存储时长到达设定时长时,按照预设比例降低所述文件的权重;其中,所述预设比例与所述设定时长成正比。
可选的,所述装置还包括:
文件读取单元,用于确定待读取文件的标识所在的文件标识缓存池,以及确定所述待读取文件的标识所在的文件标识缓存池所对应的数据存储区;
从所确定的数据存储区中,读取所述待读取文件。
可选的,所述装置还包括:
小文件处理单元,用于统计存入所述第一数据存储区的所有小文件的文件总量;其中,所述小文件为文件大小小于设定阈值的文件;
当所述第一数据存储区中存储的小文件的文件总量达到预设数据量时,将存储的所有小文件合并得到合并文件;
根据所述合并文件中的每个小文件的权重的更新,对所述合并文件的权重进行更新。
具体的,上述的文件存储装置的各个单元的具体工作内容,请参加上述的文件存储方法的各个实施例的内容,此次不再重复。
本申请另一实施例还提出一种文件存储设备,参见图8所示,该设备包括:
存储器200和处理器210;
其中,所述存储器200与所述处理器210连接,用于存储程序;
所述处理器210,用于通过运行所述存储器200中存储的程序,实现上述任一实施例公开的文件存储方法。
具体的,上述文件存储设备还可以包括:总线、通信接口220、输入设备230和输出设备240。
处理器210、存储器200、通信接口220、输入设备230和输出设备240通过总线相互连接。其中:
总线可包括一通路,在计算机系统各个部件之间传送信息。
处理器210可以是通用处理器,例如通用中央处理器(CPU)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
处理器210可包括主处理器,还可包括基带芯片、调制解调器等。
存储器200中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器200可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
输入设备230可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
输出设备240可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
通信接口220可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。
处理器2102执行存储器200中所存放的程序,以及调用其他设备,可用于实现本申请实施例所提供的文件存储方法的各个步骤。
本申请另一实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时,实现上述任一实施例提供的文件存储方法的各个步骤。
具体的,上述的文件存储设备的各个部分的具体工作内容,以及上述的存储介质上的计算机程序被处理器运行时的具体处理内容,均可以参见上述的文件存储方法的各个实施例的内容,此处不再赘述。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。
本申请各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (18)
1.一种文件存储方法,其特征在于,包括:
以文件对应的类型作为第一权重影响参数,以文件的被访问频率和/或文件存储时长作为第二权重影响参数,至少利用所述第一和第二权重影响参数,更新在第一数据存储区存储的文件的权重;
基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至第二数据存储区;
其中,所述第二数据存储区的读写性能与所述第一数据存储区的读写性能不同。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至第二数据存储区,包括:
基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的预设权重范围内的文件存储至第二数据存储区。
3.根据权利要求2所述的方法,其特征在于,所述第二数据存储区的读写性能低于所述第一数据存储区的读写性能;
所述基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的预设权重范围内的文件存储至第二数据存储区,包括:
基于所述第一数据存储区存储的文件的更新后的权重,从所述第一数据存储区中筛选权重小于预设的权重阈值的文件,并将筛选出的文件存储至第二数据存储区。
4.根据权利要求3所述的方法,其特征在于,在将筛选出的文件存储至第二数据存储区之前,所述方法还包括:
判断筛选出的文件的数据量是否达到设定数据量;
当筛选出的文件的数据量达到设定数据量时,将筛选出的文件存储至第二数据存储区。
5.根据权利要求2所述的方法,其特征在于,所述第二数据存储区的读写性能低于所述第一数据存储区的读写性能;
所述基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的预设权重范围内的文件存储至第二数据存储区,包括:
基于所述第一数据存储区存储的文件的更新后的权重,对所述第一数据存储区存储的文件所对应的权重区间进行更新;其中,所述第一数据存储区对应多个互不重叠的权重区间;
将对应所述第一数据存储区的最低权重区间的所有文件,存储至第二数据存储区。
6.根据权利要求5所述的方法,其特征在于,在将对应所述第一数据存储区的最低权重区间的所有文件,存储至第二数据存储区之前,所述方法还包括:
判断对应所述第一数据存储区的最低权重区间的所有文件的总数据量,是否达到设定数据量;
当对应所述第一数据存储区的最低权重区间的所有文件的总数据量达到设定数据量时,将对应所述第一数据存储区的最低权重区间的所有文件存储至第二数据存储区。
7.根据权利要求5所述的方法,其特征在于,基于所述第一数据存储区存储的文件的更新后的权重,对所述第一数据存储区存储的文件所对应的权重区间进行更新,包括:
基于所述第一数据存储区存储的文件的更新后的权重,将所述文件的标识存储到与所述文件的权重对应的第一文件标识缓存池;其中,所述第一数据存储区对应多个文件标识缓存池,各个文件标识缓存池分别用于存储不同权重区间内的文件的标识;
根据所述文件的标识所在的文件标识缓存池,更新所述文件所对应的权重区间。
8.根据权利要求7所述的方法,其特征在于,当存储于所述第一数据存储区的文件为同时存入的多个文件,并且每个文件的权重均对应第一文件标识缓存池时,所述将所述文件的标识存储到与所述文件的权重对应的第一文件标识缓存池,包括:
根据所述多个文件中的每个文件的权重,将所述多个文件的文件标识,按照平衡二叉树的形式存储到所述第一文件标识缓存池。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
基于所述多个文件中的每个文件的权重的更新,当任一文件的权重对应第二文件标识缓存池时,将所述平衡二叉树中的、该文件的标识所在的节点及其右子树节点,同时存储到所述第二文件标识缓存池。
10.根据权利要求1所述的方法,其特征在于,所述利用第一和第二权重影响参数,更新在第一数据存储区存储的文件的权重,包括:
当文件存入第一数据存储区时,至少根据第一权重影响参数,确定所述文件的权重;
在所述文件存储于所述第一数据存储区的过程中,根据所述第一权重影响参数和所述第二权重影响参数,对所述文件的权重进行更新。
11.根据权利要求10所述的方法,其特征在于,根据第一权重影响参数,确定所述文件的权重,包括:
按照所述文件的权重与所述文件对应的类型的重要程度成正比的规则,确定所述文件的权重;
根据所述第一权重影响参数和所述第二权重影响参数,对所述文件的权重进行更新,包括:
按照所述文件的权重与所述文件在所述第一数据存储区存储的过程中的被访问频率成正比,和/或按照所述文件的权重与所述文件在所述第一数据存储区的存储时长成反比的规则,对所述文件的权重进行更新。
12.根据权利要求11所述的方法,其特征在于,按照所述文件的权重与所述文件在所述第一数据存储区的存储时长成反比的规则,对所述文件的权重进行更新,包括:
当所述文件在所述第一数据存储区的存储时长到达设定时长时,按照预设比例降低所述文件的权重;其中,所述预设比例与所述设定时长成正比。
13.根据权利要求7所述的方法,其特征在于,所述方法还包括:
确定待读取文件的标识所在的文件标识缓存池,以及确定所述待读取文件的标识所在的文件标识缓存池所对应的数据存储区;
从所确定的数据存储区中,读取所述待读取文件。
14.根据权利要求1所述的方法,其特征在于,所述方法还包括:
统计存入所述第一数据存储区的所有小文件的文件总量;其中,所述小文件为文件大小小于设定阈值的文件;
当所述第一数据存储区中存储的小文件的文件总量达到预设数据量时,将存储的所有小文件合并得到合并文件;
根据所述合并文件中的每个小文件的权重的更新,对所述合并文件的权重进行更新。
15.一种文件存储系统,其特征在于,包括:
相互连接的文件存储模块、监控中心和物理缓存池;
其中,所述文件存储模块,用于计算接收的文件的权重;将接收的文件的权重添加到该文件的标识中,以及将接收的文件发送至所述物理缓存池进行存储,并将接收的文件的标识发送给所述监控中心;
所述监控中心,用于以文件对应的类型作为第一权重影响参数,以文件的被访问频率和/或文件存储时长作为第二权重影响参数,至少利用所述第一和第二权重影响参数,更新在所述物理缓存池的第一数据存储区存储的文件的权重;根据所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至所述物理缓存池的第二数据存储区;其中,所述第二数据存储区的读写性能与所述第一数据存储区的读写性能不同;
所述物理缓存池,用于存储文件。
16.一种文件存储装置,其特征在于,包括:
权重更新单元,用于以文件对应的类型作为第一权重影响参数,以文件的被访问频率和/或文件存储时长作为第二权重影响参数,至少利用所述第一和第二权重影响参数,更新在第一数据存储区存储的文件的权重;
文件迁移单元,用于基于所述第一数据存储区存储的文件的更新后的权重,将所述第一数据存储区中存储的、符合预设的迁移存储条件的文件存储至第二数据存储区;
其中,所述第二数据存储区的读写性能与所述第一数据存储区的读写性能不同。
17.一种文件存储设备,其特征在于,包括:
存储器和处理器;
其中,所述存储器与所述处理器连接,用于存储程序;
所述处理器,用于通过运行所述存储器中的程序,实现如权利要求1至14中任意一项所述的文件存储方法。
18.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至14中任意一项所述的文件存储方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202011479173.8A CN112506875B (zh) | 2020-12-15 | 2020-12-15 | 文件存储方法、相关装置及文件存储系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202011479173.8A CN112506875B (zh) | 2020-12-15 | 2020-12-15 | 文件存储方法、相关装置及文件存储系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN112506875A true CN112506875A (zh) | 2021-03-16 |
| CN112506875B CN112506875B (zh) | 2023-01-17 |
Family
ID=74973841
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202011479173.8A Active CN112506875B (zh) | 2020-12-15 | 2020-12-15 | 文件存储方法、相关装置及文件存储系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN112506875B (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116974990A (zh) * | 2023-08-30 | 2023-10-31 | 北京奇艺世纪科技有限公司 | 文件处理方法、装置、计算机设备及存储介质 |
| CN117076387A (zh) * | 2023-08-22 | 2023-11-17 | 北京天华星航科技有限公司 | 基于磁带的海量小文件的快速归档恢复系统 |
| CN119536616A (zh) * | 2023-08-29 | 2025-02-28 | 长江存储科技有限责任公司 | 存储系统、操作方法和电子设备 |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1503303A2 (en) * | 2003-08-01 | 2005-02-02 | Microsoft Corporation | System and method for managing objects stored in a cache |
| CN104021159A (zh) * | 2014-05-26 | 2014-09-03 | 北京金山安全软件有限公司 | 一种客户端文件清理方法和装置 |
| CN106202070A (zh) * | 2015-04-29 | 2016-12-07 | 中国电信股份有限公司 | 文件存储处理方法与系统 |
| CN107608631A (zh) * | 2017-09-12 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种数据文件存储方法、装置、设备以及存储介质 |
| CN109324763A (zh) * | 2018-10-18 | 2019-02-12 | 王梅 | 识别移动互联网内移动终端中低重要度文件的方法及系统 |
| CN110347651A (zh) * | 2019-06-11 | 2019-10-18 | 平安科技(深圳)有限公司 | 基于云存储的数据同步方法、装置、设备及存储介质 |
| CN110457575A (zh) * | 2019-07-08 | 2019-11-15 | 视联动力信息技术股份有限公司 | 文件推送方法、装置及存储介质 |
| CN110532451A (zh) * | 2019-06-26 | 2019-12-03 | 平安科技(深圳)有限公司 | 针对政策文本的检索方法和装置、存储介质、电子装置 |
| CN111367469A (zh) * | 2020-02-16 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种分层存储数据迁移方法和系统 |
-
2020
- 2020-12-15 CN CN202011479173.8A patent/CN112506875B/zh active Active
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1503303A2 (en) * | 2003-08-01 | 2005-02-02 | Microsoft Corporation | System and method for managing objects stored in a cache |
| CN104021159A (zh) * | 2014-05-26 | 2014-09-03 | 北京金山安全软件有限公司 | 一种客户端文件清理方法和装置 |
| CN106202070A (zh) * | 2015-04-29 | 2016-12-07 | 中国电信股份有限公司 | 文件存储处理方法与系统 |
| CN107608631A (zh) * | 2017-09-12 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种数据文件存储方法、装置、设备以及存储介质 |
| CN109324763A (zh) * | 2018-10-18 | 2019-02-12 | 王梅 | 识别移动互联网内移动终端中低重要度文件的方法及系统 |
| CN110347651A (zh) * | 2019-06-11 | 2019-10-18 | 平安科技(深圳)有限公司 | 基于云存储的数据同步方法、装置、设备及存储介质 |
| CN110532451A (zh) * | 2019-06-26 | 2019-12-03 | 平安科技(深圳)有限公司 | 针对政策文本的检索方法和装置、存储介质、电子装置 |
| CN110457575A (zh) * | 2019-07-08 | 2019-11-15 | 视联动力信息技术股份有限公司 | 文件推送方法、装置及存储介质 |
| CN111367469A (zh) * | 2020-02-16 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种分层存储数据迁移方法和系统 |
Non-Patent Citations (1)
| Title |
|---|
| 杨双军: ""面向web应用的小文件存储技术研究"", 《万方数据知识服务平台》 * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117076387A (zh) * | 2023-08-22 | 2023-11-17 | 北京天华星航科技有限公司 | 基于磁带的海量小文件的快速归档恢复系统 |
| CN117076387B (zh) * | 2023-08-22 | 2024-03-01 | 北京天华星航科技有限公司 | 基于磁带的海量小文件的快速归档恢复系统 |
| CN119536616A (zh) * | 2023-08-29 | 2025-02-28 | 长江存储科技有限责任公司 | 存储系统、操作方法和电子设备 |
| CN116974990A (zh) * | 2023-08-30 | 2023-10-31 | 北京奇艺世纪科技有限公司 | 文件处理方法、装置、计算机设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112506875B (zh) | 2023-01-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102462781B1 (ko) | Kvs 트리 데이터베이스 | |
| CN104067216B (zh) | 用于实施可扩展数据存储服务的系统和方法 | |
| US10817203B1 (en) | Client-configurable data tiering service | |
| CN105354315B (zh) | 分布式数据库中子表分裂的方法、子表节点和系统 | |
| CN112506875B (zh) | 文件存储方法、相关装置及文件存储系统 | |
| CN103473365B (zh) | 一种基于hdfs的文件存储方法、装置及分布式文件系统 | |
| CN108829344A (zh) | 数据存储方法、装置及存储介质 | |
| CN109144791A (zh) | 数据转存方法、装置和数据管理服务器 | |
| CN110196847A (zh) | 数据处理方法和装置、存储介质及电子装置 | |
| US20130275669A1 (en) | Apparatus and method for meeting performance metrics for users in file systems | |
| WO2017016423A1 (zh) | 一种实时新增数据更新方法和装置 | |
| WO2021056243A1 (zh) | 管理分区表的数据的方法、装置、管理节点及存储介质 | |
| CN119292962B (zh) | 共享缓存的管理方法、装置及存储介质 | |
| CN114697683A (zh) | 流媒体文件的智能调度方法、设备和计算机程序产品 | |
| CN112947860A (zh) | 一种分布式数据副本的分级存储与调度方法 | |
| JP7192645B2 (ja) | 情報処理装置、分散処理システム及び分散処理プログラム | |
| WO2026002160A1 (zh) | 一种元数据的寻址方法、装置、介质以及产品 | |
| CN115904263B (zh) | 一种数据迁移方法、系统、设备及计算机可读存储介质 | |
| CN115640274A (zh) | 数据库模型动态调整的方法、设备及存储介质 | |
| US11429311B1 (en) | Method and system for managing requests in a distributed system | |
| CN101483668A (zh) | 热点数据的网络存储和访问方法、设备及系统 | |
| US11455556B2 (en) | Framework for measuring telemetry data variability for confidence evaluation of a machine learning estimator | |
| CN119248889A (zh) | 用于数据处理的方法、装置、设备、存储介质和程序产品 | |
| CN106406766A (zh) | 一种数据存储方法及装置 | |
| CN116010474B (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 |