CN109582649A - 一种元数据存储方法、装置、设备及可读存储介质 - Google Patents
一种元数据存储方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN109582649A CN109582649A CN201811463301.2A CN201811463301A CN109582649A CN 109582649 A CN109582649 A CN 109582649A CN 201811463301 A CN201811463301 A CN 201811463301A CN 109582649 A CN109582649 A CN 109582649A
- Authority
- CN
- China
- Prior art keywords
- metadata
- full dose
- file destination
- file
- queue
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种元数据存储方法,该方法包括以下步骤:接收元数据存储请求,确定元数据存储请求对应的目标文件;判断目标文件是否具有运行状态的目标业务;如果否,则获取目标文件的技术元数据,并将技术元数据作为目标文件的精简元数据存入缓存;在目标业务的运行期间,命中精简元数据时,将精简元数据转化为全量元数据,以支持目标业务的正常运行。提高分布式文件系统的文件命中率,提升系统性能。本发明还公开了一种元数据存储装置、设备及可读存储介质,具有相应的技术效果。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种元数据存储方法、装置、设备及可读存储介质。
背景技术
随着科技的发展,大数据,云计算等科技的日益发展,需要在分布式存储系统中存储的数据日益增加,在文件增加的前景下,海量访问文件的场景应运而生。
为提高文件的访问速度,很多时候会在缓存中存储全量元数据的方式,来提高用户访问文件过程中的文件命中率,从而提高文件的访问速度,以快速应答用户的访问请求。其中,全量元数据包括技术元数据和业务元数据。提供增加缓存中的元数据的数量,可提高文件命中率。但是,在缓存中存储更多的元数据,在提高缓存的同时意味着占用大量缓存资源。占用了缓存的存储资源,则会使得分布式存储系统的系统并发量处理性能下降,反而不利于提高文件命中率。
综上所述,如何有效地提高文件命中率等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种元数据存储方法、装置、设备及可读存储介质,以提高文件命中率,以快速应答用户的访问请求。
为解决上述技术问题,本发明提供如下技术方案:
一种元数据存储方法,包括:
接收元数据存储请求,确定所述元数据存储请求对应的目标文件;
判断所述目标文件是否具有运行状态的目标业务;
如果否,则获取所述目标文件的技术元数据,并将所述技术元数据作为所述目标文件的精简元数据存入缓存;
在所述目标业务的运行期间,命中所述精简元数据时,将所述精简元数据转化为全量元数据,以支持所述目标业务的正常运行。
优选地,在判断所述目标文件是否存在运行状态的目标业务之后,还包括:
如果是,则获取运行所述目标业务产生的业务元数据;
将所述业务元数据和所述技术元数据作为所述目标文件的全量元数据,并将所述全量元数据存入所述缓存。
优选地,在所述接收元数据存储请求,确定所述元数据存储请求对应的目标文件之后,还包括:
将所述全量元数据存入磁盘中。
优选地,命中所述精简元数据时,将所述精简元数据转化为所述全量元数据,包括:
接收访问请求,并确定所述访问请求对应的指定文件;
判断所述缓存中是否存储有所述指定文件的所述全量元数据;
如果无所述全量元数据,则判断所述缓存中是否存储有所述指定文件的所述精简元数据;
如果有所述精简元数据,则对所述精简元数据进行转化,获得所述全量元数据。
优选地,对所述精简元数据进行转化,获得所述全量元数据,包括:
将所述精简元数据从所述缓存的精简队列中移出;
在所述精简元数据中添加所述目标业务运行期间产生的业务元数据后,获得所述全量元数据;
将所述全量元数据,添加到所述缓存的全量队列中。
优选地,还包括:
判断所述全量队列是否老化;
如果是,则在所述全量队列中确定出目标全量元数据,并将所述目标全量元数据移出所述全量队列;
将所述目标全量元数据中的所述技术元数据作为目标精简元数据;
将所述目标精简元数据添加到所述精简队列中。
优选地,所述判断全量队列是否老化,包括:
判断所述全量队列的队列长度是否大于预设阈值;
如果是,则确定所述全量队列已老化;
如果否,则确定所述全量队列未老化。
一种元数据存储装置,包括:
存储请求接收模块,用于接收元数据存储请求,确定所述元数据存储请求对应的目标文件;
业务判断模块,用于判断所述目标文件是否具有运行状态的目标业务;
精简元数据存储模块,用于如果否,则获取所述目标文件的技术元数据,并将所述技术元数据作为所述目标文件的精简元数据存入缓存;
元数据转化模块,用于在所述目标业务的运行期间,命中所述精简元数据时,将所述精简元数据转化为全量元数据,以支持所述目标业务的正常运行。
一种元数据存储设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述元数据存储方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述元数据存储方法的步骤。
应用本发明实施例所提供的方法,接收元数据存储请求,确定元数据存储请求对应的目标文件;判断目标文件是否具有运行状态的目标业务;如果否,则获取目标文件的技术元数据,并将技术元数据作为目标文件的精简元数据存入缓存;在目标业务的运行期间,命中精简元数据时,将精简元数据转化为全量元数据,以支持目标业务的正常运行。
分布式文件系统在接收到元数据存储请求时,首先利用该元数据存储请求确定请求存储的元数据对应的目标文件。确定出目标文件之后,判断目标文件是否具有运行状态的目标业务。如果是,则表明此时在缓存中已存储了目标文件的全量元数据,其中全量元数据包括业务元数据和技术元数据,此时可无操作。如果否,则表明当前无需访问目标文件,此时可获取目标文件的技术元数据。将技术元数据作为目标文件的精简元数据,然后在缓存中存储该精简元数据。在目标业务的运行期间,当命中精简元数据时,则将精简元数据转化为全量元数据,以支持目标业务的正常运行。
也就是说,当目标文件无运行状态的业务时,此时可仅在缓存中存储其精简元数据,由于精简元数据中无业元数据,因此精简元数据相对于全量元数据的数据量更少,可减少占用缓存空间。即,对于同样大小的缓存空间,可存储数量更多的文件的精简元数据,而在业务运行期间,命中精简元数据时,对精简元数据进行转化,便可获得可支持业务运行的全量元数据。在目标业务未运行时,在缓存中仅存储精简元数据,在业务运行时,将精简元数据转化为全量元数据。又因,通常具有运行状态的业务的文件,仅占海量文件中的一部分,且针对同一个文件,通常业务运行时间比无业务运行时间短。如此,便可通过减少每一个文件的在缓存中存储的数据量,进而存储更多文件的元数据,以提高分布式文件系统的文件命中率,提升系统性能。
相应地,本发明实施例还提供了与上述元数据存储方法相对应的元数据存储装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种元数据存储方法的实施流程图;
图2为本发明实施例中一种基于精简元数据处理访问请求的流程示意图;
图3为本发明实施例中一种元数据存储装置的结构示意图;
图4为本发明实施例中一种元数据存储设备的结构示意图;
图5为本发明实施例中一种元数据存储设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
请参考图1,图1为本发明实施例中一种元数据存储方法的流程图,该方法可应用于分布式存储系统中,该方法包括以下步骤:
S101、接收元数据存储请求,确定元数据存储请求对应的目标文件。
接收到元数据存储请求时,首先确定该元数据存储请求对应的目标文件。即,确定待存储的元数据属于哪一个目标文件。其中,目标文件可为即将存入分别时存储系统或已存储在分布式存储系统的任意一个文件。具体的,可在首次将目标文件存入分布式存储系统时,视为接收到元数存储请求,也可在对目标文件进行修改之后,导致目标文件的元数据发生变化之后,视为接收到元数据存储请求。
优选地,由于存储在缓存中的数据在掉电之后会丢失,因此,为了保障数据的安全性,在接收元数据存储请求,确定元数据存储请求对应的目标文件之后,将全量元数据存入磁盘中。其中,全量元数据包括业务元数据和技术元数据。
S102、判断目标文件是否具有运行状态的目标业务。
确定目标文件之后,首先判断该目标文件是否具有运行状态的目标业务。也就是说,确定当前是否有业务正在或即将访问目标文件。例如,可通过判断目标文件是否被锁定,进而确定该目标文件是否具有运行状态的目标业务。当然,还可以通过判断是否有线程对目标文件进行操作进而确定目标文件是否有运行状态的目标业务。如果是,则表明此时在缓存中已存储了目标文件的全量元数据,其中全量元数据包括业务元数据和技术元数据,此时可无操作。
如果否,则表明当前无需访问目标文件,此时可执行步骤S103的操作。
优选地,为便于管理,在确定目标文件具有运行状态的目标业务时,则获取运行目标业务产生的业务元数据;将业务元数据和技术元数据作为目标文件的全量元数据,并将全量元数据存入缓存。也就是说,将技术元数据和业务元数据作为目标元数据的全量元数据,即作为一个整体进行存储。
S103、获取目标文件的技术元数据,并将技术元数据作为目标文件的精简元数据存入缓存。
获取目标文件的技术元数据,然后将技术元数据作为目标文件的精简元数据存入缓存。需要说明的是,目标文件的全量元数据包括技术元数据和业务元数据。也就是说,精简元数据相对于全量元数据,减少了业务元数据,即精简元数据的数据量比全量元数据更小。且,业务元数据量越大,则精简元数据相对于全量元数据则越小。由于不同的文件的业务元数据的量有所区别,因此,精简元数据相对于全量元数据的精简量与文件本身的元数据量相关。
S104、在目标业务的运行期间,命中精简元数据时,将精简元数据转化为全量元数据,以支持目标业务的正常运行。
将目标文件的全量元数据进行精简之后,即在缓存中存储了目标文件的精简元数据之后,若目标文件的目标业务被运行,则在目标业务的运行期间,命中精简元数据时,可将精简元数据转换为全量元数据,以支持该目标业务的正常运行。具体的,即在缓存中存储技术元数据和业务运行期间产生的业务元数据。即此时,在缓存中存储的目标文件的元数据即为包括技术元数据和业务元数据的全量元数据。
其中,命中精简元数据,即在缓存中查找到该精简元数据。命中精简元数据时,将精简元数据转化为全量元数据,具体包括:
步骤一、接收访问请求,并确定访问请求对应的指定文件;
步骤二、判断缓存中是否存储有指定文件的全量元数据;
步骤三、如果无全量元数据,则判断缓存中是否存储有指定文件的精简元数据;
步骤四、如果有精简元数据,则对精简元数据进行转化,获得全量元数据。
为便于描述,下面将上述四个步骤结合起来进行说明。
当接收到访问请求时,首先确定该访问请求的指定文件,即确定请求访问的指定文件。该指定文件可为分布式存储系统中的任意一个文件。然后,判断该指定文件在缓存中是否有全量元数据,如果有全量元数据,则可直接利用全量元数据对该访问请求进行处理。如果没有全量元数据,则可在缓存中查找是否有精简元数据,如果找到精简元数据则可对精简元数据进行转换,获得全量元数据。
优选地,为了便于对缓存中的全量元数据和精简元数据进行管理,可分别在缓存中创建全量队列和精简队列。然后分别在全量队列和精简队列中存储对应的全量元数据和精简元数据。即对精简元数据进行转化,获得全量元数据,包括:
步骤一、将精简元数据从缓存的精简队列中移出;
步骤二、在精简元数据中添加目标业务运行期间产生的业务元数据后,获得全量元数据;
步骤三、将全量元数据,添加到缓存的全量队列中。
为了便于描述,下面将上述三个步骤结合起来进行说明。
首先将指定文件对应的精简元数据从缓存的奖金队列中移出,然后在精简元数据中添加上目标业务运行期间产生的业务元数据,如此,便可获得全量元数据。然后将全量元数据添加到缓存的全量队列中。
优选地,为了避免因在缓存中存储过量的全量元数据,还可对缓存中的全量队列进行老化处理。老化处理过程如下:
步骤一、判断全量队列是否老化;
步骤二、如果是,则在全量队列中确定出目标全量元数据,并将目标全量元数据移出全量队列;
步骤三、将目标全量元数据中的技术元数据作为目标精简元数据;
步骤四、将目标精简元数据添加到精简队列中。
为便于描述,下面将上述四个步骤结合起来进行说明。
在判断缓存内的全量队列是否老化时,可通过判断全量队列的队列长度是否大于预设阈值,来确定该全量队列是否老化。即,判断全量队列的队列长度是否大于预设阈值,如果是,则确定全量队列已老化;如果否,则确定全量队列未老化。其中,预设阈值可根据缓存的空间大小,以及用户的需求而定。
应用本发明实施例所提供的方法,接收元数据存储请求,确定元数据存储请求对应的目标文件;判断目标文件是否具有运行状态的目标业务;如果否,则获取目标文件的技术元数据,并将技术元数据作为目标文件的精简元数据存入缓存;在目标业务的运行期间,命中精简元数据时,将精简元数据转化为全量元数据,以支持目标业务的正常运行。
分布式文件系统在接收到元数据存储请求时,首先利用该元数据存储请求确定请求存储的元数据对应的目标文件。确定出目标文件之后,判断目标文件是否具有运行状态的目标业务。如果是,则表明此时在缓存中已存储了目标文件的全量元数据,其中全量元数据包括业务元数据和技术元数据,此时可无操作。如果否,则表明当前无需访问目标文件,此时可获取目标文件的技术元数据。将技术元数据作为目标文件的精简元数据,然后在缓存中存储该精简元数据。在目标业务的运行期间,当命中精简元数据时,则将精简元数据转化为全量元数据,以支持目标业务的正常运行。
也就是说,当目标文件无运行状态的业务时,此时可仅在缓存中存储其精简元数据,由于精简元数据中无业元数据,因此精简元数据相对于全量元数据的数据量更少,可减少占用缓存空间。即,对于同样大小的缓存空间,可存储数量更多的文件的精简元数据,而在业务运行期间,命中精简元数据时,对精简元数据进行转化,便可获得可支持业务运行的全量元数据。在目标业务未运行时,在缓存中仅存储精简元数据,在业务运行时,将精简元数据转化为全量元数据。又因,通常具有运行状态的业务的文件,仅占海量文件中的一小部分,且针对同一个文件,通常业务运行时间比无业务运行时间短。如此,便可通过减少每一个文件的在缓存中存储的数据量,进而存储更多文件的元数据,以提高分布式文件系统的文件命中率,提升系统性能。
实施例二:
为便于本领域技术人员更好的理解本发明实施例所提供的技术方案,下面以在缓存中存储了精简元数据的情况下,对访问请求进行处理的过程为例,对本发明实施例所提供的技术方案进行详细说明。
请参考图2,图2为本发明实施例中一种基于精简元数据处理访问请求的流程示意图。该处理过程包括:
S201、接收目标用户的访问请求,并利用访问请求确定目标用户请求访问的目标文件。
当接收到目标用户的访问请求时,利用该访问请求可确定出目标用户请求访问的目标文件。具体的,可根据访问请求中的文件标识符确定出目标用户请求访问的目标文件。访问请求具体可为请求对目标文件的查看、修改、删除等常见的访问请求。
S202、判断缓存中是否存储有目标文件的全量元数据。
在本发明实施例中,为了提高文件命中率,可将用户经常访问的热点文件的全量元数据存储在缓存中,即将热点文件的技术元数据和业务元数据存储在内存中。如此,利用访问请求确定出目标文件之后,若该目标文件为热点文件,则可直接从缓存中读取到目标文件的全量元数据,如此,便可避免从磁盘中读取元数据信息,直接利用全量元数据便可快速命中目标文件。具体的,在判断是否存在目标文件的全量元数据时,可通过判断全量队列中是否有目标文件的文件标识符的对象,如果有,则表明缓存中有目标文件的全量元数据;如果没有,则表明缓存中无目标文件的全量元数据。
然后,根据缓存是否存在目标文件的全量元数据的判断结果,确定下一步操作。具体的,如果是,则执行步骤S205;如果否,即缓存中无全量元数据,则可执行步骤S203的步骤。
S203、判断缓存中是否存储有目标文件的精简元数据。
其中,精简元数据具体为技术元数据。
在本发明实施例中,在存储文件时,可在缓存中仅存储文件的精简元数据。精简元数据是相对于全量元数据数据量更小的元数据。在精简元数据中无业务元数据。其中,技术元数据与全量元数据中的技术元数据一致。相对于业务元数据而言,精简元数的数据量会相对较小,如此,在同样大小的缓存空间内,便可存储更多文件的精简元数据。又因在命中精简元数据时,可对精简元数据进行转化,得到业务元数据,也就是说,对精简元数据进行转化之后,便可获得全量元数据。在缓存中进行数据转化,显然要比跨网络从磁盘中读取全量元数据更为快速,即精简元数据在一定程度上,相当于全量元数据,但精简元数占用的缓存空间更小。
优选地,由于精简元数据的数据量更小,因此,可在写入文件的并发量达到预设精简阈值时,在缓存中存储各个文件的精简元数据。如此,及时是需要存储海量文件时,也可在缓存中存储下可快速、准确地访问文件的精简元数据,且不会占用大量的缓存空间,而导致分布式存储系统瘫痪等情况。
在缓存中无目标文件的全量元数据时,则可判断缓存中是否存储有目标文件的精简元数据。具体的,可在精简队列中查找是否有与目标文件的标识符一致的对象,如果有,则表明缓存中存储了目标文件的精简元数据;如果无,则表明缓存中未存储目标文件的精简元数据。
然后,可根据缓存中是否存在目标元数据的精简元数据的判断结果,确定执行的下一个操作步骤。具体的,如果是,即缓存中有精简元数据,可执行步骤S204的操作;如果是,即如果无精简元数据,则执行步骤S206,即从磁盘中读取全量元数据。在缓存中未存储与目标文件相关的元数据信息,此时可磁盘中读取目标文件的全量元数据,以保障能够应答目标用户的访问请求。
S204、对精简元数据进行转化,获得全量元数据。
当缓存中存储了目标文件的精简元数据时,则可将精简元数据进行转换,得到全量元数据。
在得到全量元数据之后,便可执行步骤S205的操作。需要说明的是,这里的得到全量元数据可包括从缓存中直接获得全量元数据,将缓存中的精简元数据转化之后得到全量元数,或跨网络从磁盘中读取到全量元数据中的任意一种。
S205、利用全量元数据,向目标用户提供目标文件的访问服务。
得到全量元数据之后,便可利用全量元数据向目标用户提供目标文件的访问服务。具体的访问访问提供方式可参见常见的基于全量元数据的文件访问服务方式,在此不再赘述。
优选地,考虑到无论是全量元数据或精简元数据过多之后,均会占用缓存空间,进而导致分布式存储系统崩溃或瘫痪的情况,因此,本发明实施例还提供了限制元数据在缓存中占有的缓存空间的量的控制管理。具体的,控制管理规程包括:
步骤一、判断缓存内的全量队列是否老化;
步骤二、如果是,则利用全量队列确定出目标全量元数据;
步骤三、将目标全量元数据转化为精简元数据。
为便于描述,下面将上述三个步骤结合起来进行说明。
在缓存中建立一个长度有限的全量队列,在该全量队列中的对象可具体为文件描述符,也就是说,在缓存中存储了一个文件的全量元数据时,即可将文件的文件描述符作为对象存入全量队列中。然后对全量队列进行实时监测,即判断全量队列是否老化。具体的,判断全量队列是否老化,具体可为判断全量队列中的全量元数据数量是否大于预设阈值;如果是,则确定全量队列已老化;如果否,则确定全量队列未老化。其中预设阈值便可为该全量元数据的长度,也就是全量队列中最多可包容的对象个数。当发现全量队列老化时,则从全量队列中确定出可移出的目标对象,进一步根据目标对象确定出目标全量元数据。具体的,可将全量队列中的当前无业务访问的任意一个对象,或无业务访问时长最近的对象确定为目标对象。将目标对象从全量队列中移除,然后将目标全量元数据转换为精简元数据。
相应地,也可为精简元数据设置一个精简队列,即在转换目标全量元数据为精简元数据时,可直接将技术元数据作为精简元数据,并保存在缓存内的精简队列中。
相应的,对精简元数据进行管理控制,对精简元数据的管理控制可参照对全量元数据的管理控制工程,其区别在于,当精简队列老化时,在确定出目标精简元数据时,则直接将目标精简元数据从缓存中删除。
因精简元数据中仅有技术元数据,相较于业务元数据,数据量相对较小,且对精简元数据进行转化之后,可获得全量元数据,因此,在缓存中存储比全量元数据小的精简元素数据仍然可提高文件命中率,进一步可快速应答用户的访问请求。与此同时,由于精简元数据的数据量更小,对于同样大小的缓存空间,可存储更多的文件的精简元数据,则在大量文件访问时,大量的精简元数据还可进一步提高文件命中率,可提高系统处理并发量。
实施例三:
相应于上面的方法实施例,本发明实施例还提供了一种元数据存储装置,下文描述的元数据存储装置与上文描述的元数据存储方法可相互对应参照。
参见图3所示,该装置包括以下模块:
存储请求接收模块101,用于接收元数据存储请求,确定元数据存储请求对应的目标文件;
业务判断模块102,用于判断目标文件是否具有运行状态的目标业务;
精简元数据存储模块103,用于如果否,则获取目标文件的技术元数据,并将技术元数据作为目标文件的精简元数据存入缓存;
元数据转化模块104,用于在目标业务的运行期间,命中精简元数据时,将精简元数据转化为全量元数据,以支持目标业务的正常运行。
应用本发明实施例所提供的装置,接收元数据存储请求,确定元数据存储请求对应的目标文件;判断目标文件是否具有运行状态的目标业务;如果否,则获取目标文件的技术元数据,并将技术元数据作为目标文件的精简元数据存入缓存;在目标业务的运行期间,命中精简元数据时,将精简元数据转化为全量元数据,以支持目标业务的正常运行。
分布式文件系统在接收到元数据存储请求时,首先利用该元数据存储请求确定请求存储的元数据对应的目标文件。确定出目标文件之后,判断目标文件是否具有运行状态的目标业务。如果是,则表明此时在缓存中已存储了目标文件的全量元数据,其中全量元数据包括业务元数据和技术元数据,此时可无操作。如果否,则表明当前无需访问目标文件,此时可获取目标文件的技术元数据。将技术元数据作为目标文件的精简元数据,然后在缓存中存储该精简元数据。在目标业务的运行期间,当命中精简元数据时,则将精简元数据转化为全量元数据,以支持目标业务的正常运行。
也就是说,当目标文件无运行状态的业务时,此时可仅在缓存中存储其精简元数据,由于精简元数据中无业元数据,因此精简元数据相对于全量元数据的数据量更少,可减少占用缓存空间。即,对于同样大小的缓存空间,可存储数量更多的文件的精简元数据,而在业务运行期间,命中精简元数据时,对精简元数据进行转化,便可获得可支持业务运行的全量元数据。在目标业务未运行时,在缓存中仅存储精简元数据,在业务运行时,将精简元数据转化为全量元数据。又因,通常具有运行状态的业务的文件,仅占海量文件中的一小部分,且针对同一个文件,通常业务运行时间比无业务运行时间短。如此,便可通过减少每一个文件的在缓存中存储的数据量,进而存储更多文件的元数据,以提高分布式文件系统的文件命中率,提升系统性能。
在本发明的一种具体实施方式中,还包括:
全量元数据缓存模块,用于在判断目标文件是否存在运行状态的目标业务之后,如果是,则获取运行目标业务产生的业务元数据;将业务元数据和技术元数据作为目标文件的全量元数据,并将全量元数据存入缓存。
在本发明的一种具体实施方式中,还包括:
全量元数据存储模块,用于在接收元数据存储请求,确定元数据存储请求对应的目标文件之后,将全量元数据存入磁盘中。
在本发明的一种具体实施方式中,元数据转化模块104,具体用于接收访问请求,并确定访问请求对应的指定文件;判断缓存中是否存储有指定文件的全量元数据;如果无全量元数据,则判断缓存中是否存储有指定文件的精简元数据;如果有精简元数据,则对精简元数据进行转化,获得全量元数据。
在本发明的一种具体实施方式中,元数据转化模块104,具体用于将精简元数据从缓存的精简队列中移出;在精简元数据中添加目标业务运行期间产生的业务元数据后,获得全量元数据;将全量元数据,添加到缓存的全量队列中。
在本发明的一种具体实施方式中,还包括:
老化处理模块,用于判断全量队列是否老化;如果是,则在全量队列中确定出目标全量元数据,并将目标全量元数据移出全量队列;将目标全量元数据中的技术元数据作为目标精简元数据;将目标精简元数据添加到精简队列中。
在本发明的一种具体实施方式中,老化处理模块,具体用于判断全量队列的队列长度是否大于预设阈值;如果是,则确定全量队列已老化;
如果否,则确定全量队列未老化。
实施例四:
相应于上面的方法实施例,本发明实施例还提供了一种元数据存储设备,下文描述的一种元数据存储设备与上文描述的一种元数据存储方法可相互对应参照。
参见图4所示,该元数据存储设备包括:
存储器D1,用于存储计算机程序;
处理器D2,用于执行计算机程序时实现上述方法实施例的元数据存储方法的步骤。
具体的,请参考图5,图5为本实施例提供的一种元数据存储设备的具体结构示意图,该元数据存储设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在元数据存储设备301上执行存储介质330中的一系列指令操作。
元数据存储设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。上文所描述的元数据存储方法中的步骤可以由元数据存储设备的结构实现。
实施例五:
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种元数据存储方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的元数据存储方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (10)
1.一种元数据存储方法,其特征在于,包括:
接收元数据存储请求,确定所述元数据存储请求对应的目标文件;
判断所述目标文件是否具有运行状态的目标业务;
如果否,则获取所述目标文件的技术元数据,并将所述技术元数据作为所述目标文件的精简元数据存入缓存;
在所述目标业务的运行期间,命中所述精简元数据时,将所述精简元数据转化为全量元数据,以支持所述目标业务的正常运行。
2.根据权利要求1所述的元数据存储方法,其特征在于,在判断所述目标文件是否存在运行状态的目标业务之后,还包括:
如果是,则获取运行所述目标业务产生的业务元数据;
将所述业务元数据和所述技术元数据作为所述目标文件的全量元数据,并将所述全量元数据存入所述缓存。
3.根据权利要求1所述的元数据存储方法,其特征在于,在所述接收元数据存储请求,确定所述元数据存储请求对应的目标文件之后,还包括:
将所述全量元数据存入磁盘中。
4.根据权利要求1至3任一项所述的元数据存储方法,其特征在于,命中所述精简元数据时,将所述精简元数据转化为所述全量元数据,包括:
接收访问请求,并确定所述访问请求对应的指定文件;
判断所述缓存中是否存储有所述指定文件的所述全量元数据;
如果无所述全量元数据,则判断所述缓存中是否存储有所述指定文件的所述精简元数据;
如果有所述精简元数据,则对所述精简元数据进行转化,获得所述全量元数据。
5.根据权利要求4所述的元数据存储方法,其特征在于,对所述精简元数据进行转化,获得所述全量元数据,包括:
将所述精简元数据从所述缓存的精简队列中移出;
在所述精简元数据中添加所述目标业务运行期间产生的业务元数据后,获得所述全量元数据;
将所述全量元数据,添加到所述缓存的全量队列中。
6.根据权利要求5所述的元数据存储方法,其特征在于,还包括:
判断所述全量队列是否老化;
如果是,则在所述全量队列中确定出目标全量元数据,并将所述目标全量元数据移出所述全量队列;
将所述目标全量元数据中的所述技术元数据作为目标精简元数据;
将所述目标精简元数据添加到所述精简队列中。
7.根据权利要求6所述的元数据存储方法,其特征在于,所述判断所述全量队列是否老化,包括:
判断所述全量队列的队列长度是否大于预设阈值;
如果是,则确定所述全量队列已老化;
如果否,则确定所述全量队列未老化。
8.一种元数据存储装置,其特征在于,包括:
存储请求接收模块,用于接收元数据存储请求,确定所述元数据存储请求对应的目标文件;
业务判断模块,用于判断所述目标文件是否具有运行状态的目标业务;
精简元数据存储模块,用于如果否,则获取所述目标文件的技术元数据,并将所述技术元数据作为所述目标文件的精简元数据存入缓存;
元数据转化模块,用于在所述目标业务的运行期间,命中所述精简元数据时,将所述精简元数据转化为全量元数据,以支持所述目标业务的正常运行。
9.一种元数据存储设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述元数据存储方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述元数据存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811463301.2A CN109582649B (zh) | 2018-12-03 | 2018-12-03 | 一种元数据存储方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811463301.2A CN109582649B (zh) | 2018-12-03 | 2018-12-03 | 一种元数据存储方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109582649A true CN109582649A (zh) | 2019-04-05 |
CN109582649B CN109582649B (zh) | 2022-02-18 |
Family
ID=65926533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811463301.2A Active CN109582649B (zh) | 2018-12-03 | 2018-12-03 | 一种元数据存储方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109582649B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109471843A (zh) * | 2018-12-24 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种元数据缓存方法、系统及相关装置 |
CN111078593A (zh) * | 2019-12-29 | 2020-04-28 | 浪潮电子信息产业股份有限公司 | 一种对象元数据的访问方法、系统及相关装置 |
CN112732192A (zh) * | 2021-01-09 | 2021-04-30 | 苏州浪潮智能科技有限公司 | 一种磁盘分布信息裁剪方法、系统、设备以及介质 |
CN115391293A (zh) * | 2022-08-17 | 2022-11-25 | 昆仑数智科技有限责任公司 | 文件获取方法、装置、服务器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761275A (zh) * | 2014-01-09 | 2014-04-30 | 浪潮电子信息产业股份有限公司 | 一种分布式文件系统中元数据的管理方法 |
CN104750681A (zh) * | 2013-12-25 | 2015-07-01 | 中国移动通信集团辽宁有限公司 | 一种海量数据的处理方法及装置 |
US20150286693A1 (en) * | 2014-04-08 | 2015-10-08 | International Business Machines Corporation | Analyzing a query and provisioning data to analytics |
-
2018
- 2018-12-03 CN CN201811463301.2A patent/CN109582649B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750681A (zh) * | 2013-12-25 | 2015-07-01 | 中国移动通信集团辽宁有限公司 | 一种海量数据的处理方法及装置 |
CN103761275A (zh) * | 2014-01-09 | 2014-04-30 | 浪潮电子信息产业股份有限公司 | 一种分布式文件系统中元数据的管理方法 |
US20150286693A1 (en) * | 2014-04-08 | 2015-10-08 | International Business Machines Corporation | Analyzing a query and provisioning data to analytics |
Non-Patent Citations (1)
Title |
---|
刘利静等: "基于Spring MVC的灵活查询技术在水路运政业务中的研究与应用", 《数字通信世界》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109471843A (zh) * | 2018-12-24 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种元数据缓存方法、系统及相关装置 |
CN109471843B (zh) * | 2018-12-24 | 2021-08-10 | 郑州云海信息技术有限公司 | 一种元数据缓存方法、系统及相关装置 |
CN111078593A (zh) * | 2019-12-29 | 2020-04-28 | 浪潮电子信息产业股份有限公司 | 一种对象元数据的访问方法、系统及相关装置 |
CN111078593B (zh) * | 2019-12-29 | 2022-08-19 | 浪潮电子信息产业股份有限公司 | 一种对象元数据的访问方法、系统及相关装置 |
CN112732192A (zh) * | 2021-01-09 | 2021-04-30 | 苏州浪潮智能科技有限公司 | 一种磁盘分布信息裁剪方法、系统、设备以及介质 |
CN112732192B (zh) * | 2021-01-09 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种磁盘分布信息裁剪方法、系统、设备以及介质 |
CN115391293A (zh) * | 2022-08-17 | 2022-11-25 | 昆仑数智科技有限责任公司 | 文件获取方法、装置、服务器及存储介质 |
CN115391293B (zh) * | 2022-08-17 | 2023-09-12 | 昆仑数智科技有限责任公司 | 文件获取方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109582649B (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11106579B2 (en) | System and method to manage and share managed runtime memory for java virtual machine | |
JP5425286B2 (ja) | データ処理システムのメモリ使用状況を追跡する方法 | |
US10496548B2 (en) | Method and system for user-space storage I/O stack with user-space flash translation layer | |
CN109582649A (zh) | 一种元数据存储方法、装置、设备及可读存储介质 | |
US9489293B2 (en) | Techniques for opportunistic data storage | |
US8521986B2 (en) | Allocating storage memory based on future file size or use estimates | |
US10095615B2 (en) | Garbage collection based on total resource usage and managed object metrics | |
JP5744707B2 (ja) | メモリ使用量照会ガバナのためのコンピュータ実装方法、コンピュータ・プログラム、およびシステム(メモリ使用量照会ガバナ) | |
US9798655B2 (en) | Managing a cache on storage devices supporting compression | |
EP3367251A1 (en) | Storage system and solid state hard disk | |
US9665485B2 (en) | Logical and physical block addressing for efficiently storing data to improve access speed in a data deduplication system | |
US9639459B2 (en) | I/O latency and IOPs performance in thin provisioned volumes | |
WO2021093365A1 (zh) | 一种gpu显存管理控制方法及相关装置 | |
CN104598394A (zh) | 一种可动态分配的数据缓存方法及系统 | |
CN112631504A (zh) | 利用堆外内存实现本地缓存的方法和装置 | |
CN110413228A (zh) | 一种映射表管理方法、系统及电子设备和存储介质 | |
CN109947667B (zh) | 数据访问预测方法和装置 | |
CN112214162A (zh) | 存储装置和控制方法 | |
CN107179883B (zh) | 一种基于SSD和HDD的混合存储系统的Spark架构优化方法 | |
CN115934002B (zh) | 固态硬盘的访问方法、固态硬盘、存储系统及云服务器 | |
EP4120060A1 (en) | Method and apparatus of storing data,and method and apparatus of reading data | |
US20230100110A1 (en) | Computing resource management method, electronic equipment and program product | |
US8966133B2 (en) | Determining a mapping mode for a DMA data transfer | |
US9223689B2 (en) | Apparatus and method for managing memory | |
CN114610575B (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 |