一种文件持久化方法、删除方法以及相关装置与流程

文档序号:11829860阅读:131来源:国知局
一种文件持久化方法、删除方法以及相关装置与流程

本发明涉及文件管理领域,尤其涉及一种文件持久化方法、删除方法以及相关装置。



背景技术:

随着科学技术的发展,混合分布式文件系统的应用也越发普及。混合分布式文件系统整合了分布式磁盘文件系统和分布式内存文件系统,通过把分布式内存文件系统当成分布式磁盘文件系统的缓存区,可以实现内存级别的访问速度和磁盘级别的容量。

当混合分布式文件系统故障时,内存中的缺失文件可以根据内存或磁盘中的其他文件来进行恢复。此外,混合分布式文件系统在系统空闲时,还会按照文件的生成时间,将内存中的文件写入到分布式磁盘文件系统中实现持久化。这样,当系统故障时,缺失文件还可以通过读取磁盘而被恢复。

由于混合分布式文件系统用于持久化的资源有限,因此如何高效的进行内存文件的持久化,对于提升系统的性能而言具有重要意义。但是现阶段的技术仅按照文件生成的时间来进行内存文件的持久化,这种方法效率较低,使得混合分布式文件系统的性能不能满足用户的要求。



技术实现要素:

本发明实施例提供了一种文件持久化方法,用于提高持久化操作的效率与混合分布式文件系统的性能。

本发明实施例的第一方面提供了一种文件持久化方法,适用于混合分布式文件系统,包括:

在所述混合分布式文件系统的内存中,确定一个或多个待持久化的目标文件;

确定根据所述混合分布式文件系统中的文件,构造所述目标文件所需的第一时间;

确定所述目标文件写入磁盘所需的第二时间;

计算所述目标文件的持久化收益,所述持久化收益为所述第一时间与所述第二时间的差值;

若所述持久化收益为正值,则将所述目标文件写入所述混合分布式文件系统的磁盘。

结合本发明实施例的第一方面,本发明实施例的第一方面的第一种实现方式中,所述混合分布式文件系统的内存中保存有多种类别的文件,所述类别包括任务中间结果文件、任务结果文件、查询结果文件中的一项或多项,其中,不同的类别对应有不同的优先级;

所述在所述混合分布式文件系统的内存中,确定一个或多个待持久化的目标文件包括:将所述混合分布式文件系统的内存中,优先级最高类别的文件,确定为目标文件。

结合本发明实施例的第一方面或第一方面的第一种实现方式,本发明实施例的第一方面的第二种实现方式中,

所述目标文件的个数为多个,所述若所述持久化收益为正值,则将目标文件写入所述混合分布式文件系统的磁盘包括:

按照持久化收益由大到小的顺序,将多个所述目标文件中,持久化收益为正值的目标文件写入所述混合分布式文件系统的磁盘。

本发明实施例的第二方面提供了一种文件删除方法,适用于混合分布式文件系统,包括:

在所述混合分布式文件系统的内存中,确定一个或多个待删除的目标文件;

确定每个所述目标文件的重构代价,所述重构代价用于表示当所述目标文件丢失时,恢复所述目标文件所需的时间;

确定每个所述目标文件的热点程度,所述热点程度用于表示所述目标文件在预置时间段内的被访问次数;

确定每个所述目标文件的文件大小;

根据每个所述目标文件的重构代价、热点程度与文件大小,计算每个所述目标文件的删除开销,其中,所述目标文件的重构代价越大、热点程度越 高、文件大小越小,则所述目标文件的文件删除开销越大;所述目标文件的重构代价越小、热点程度越低、文件大小越大,则所述目标文件的文件删除开销越小;

删除所述一个或多个待删除的目标文件中,删除开销最小的前N个文件,所述N为预置数值。

结合本发明实施例的第二方面,本发明实施例的第二方面的第一种实现方式中,所述混合分布式文件系统的内存中保存有多种类别的文件,所述类别包括任务中间结果文件、任务结果文件、查询结果文件中的一项或多项,其中,不同的类别对应有不同的优先级;

所述在所述混合分布式文件系统的内存中,确定一个或多个待持久化的目标文件包括:将所述混合分布式文件系统的内存中,优先级最高类别的文件,确定为目标文件。

结合本发明实施例的第二方面或第二方面的第一种实现方式,本发明实施例的第二方面的第二种实现方式中,所述确定每个所述目标文件的重构代价包括:

判断每个所述目标文件是否已被写入所述混合分布式文件系统的磁盘中;

若判断结果为否,则将根据所述混合分布式文件系统中的文件,构造所述目标文件的所需时间,确定为所述目标文件的重构代价;

若判断结果为是,则将根据所述混合分布式文件系统中的文件构造所述目标文件的所需时间,以及从所述磁盘中读取所述目标文件的所需时间的最小值,确定为所述目标文件的重构代价。

结合本发明实施例的第二方面、第二方面的第一种或第二种实现方式,本发明实施例的第二方面的第三种实现方式中,所述删除所述一个或多个待删除的目标文件中,删除开销最小的前N个文件包括:

按照删除开销由小到大的顺序,删除所述一个或多个待删除的目标文件中,删除开销最小的前N个文件。

本发明实施例的第三方面提供了一种文件持久化装置,适用于混合分布式文件系统,包括:

目标确定模块,用于在所述混合分布式文件系统的内存中,确定一个或多个待持久化的目标文件;

时间计算模块,用于确定根据所述混合分布式文件系统中的文件,构造所述目标文件所需的第一时间,并确定所述目标文件写入磁盘所需的第二时间;

收益计算模块,用于计算所述目标文件的持久化收益,所述持久化收益为所述第一时间与所述第二时间的差值;

持久化模块,用于当所述持久化收益为正值时,将所述目标文件写入所述混合分布式文件系统的磁盘。

结合本发明实施例的第三方面,本发明实施例的第三方面的第一种实现方式中,所述混合分布式文件系统的内存中保存有多种类别的文件,所述类别包括任务中间结果文件、任务结果文件、查询结果文件中的一项或多项,其中,不同的类别对应有不同的优先级;

所述目标确定模块具体用于:将所述混合分布式文件系统的内存中,优先级最高类别的文件,确定为目标文件。

结合本发明实施例的第三方面或第三方面的第一种实现方式,本发明实施例的第三方面的第二种实现方式中,所述目标文件的个数为多个,所述持久化模块具体用于:

按照持久化收益由大到小的顺序,将多个所述目标文件中,持久化收益为正值的目标文件写入所述混合分布式文件系统的磁盘。

本发明实施例的第四方面提供了一种文件删除装置,适用于混合分布式文件系统,其特征在于,包括:

确定目标模块,用于在所述混合分布式文件系统的内存中,确定一个或多个待删除的目标文件;

参数确定模块,用于确定每个所述目标文件的重构代价,所述重构代价用于表示当所述目标文件丢失时,恢复所述目标文件所需的时间;

所述参数确定模块还用于确定每个所述目标文件的热点程度,所述热点程度用于表示所述目标文件在预置时间段内的被访问次数;

所述参数确定模块还用于确定每个所述目标文件的文件大小;

开销计算模块,用于根据每个所述目标文件的重构代价、热点程度与文件大小,计算每个所述目标文件的删除开销,其中,所述目标文件的重构代价越大、热点程度越高、文件大小越小,则所述目标文件的文件删除开销越大;所述目标文件的重构代价越小、热点程度越低、文件大小越大,则所述目标文件的文件删除开销越小;

文件删除模块,用于删除所述一个或多个待删除的目标文件中,删除开销最小的前N个文件,所述N为预置数值。

结合本发明实施例的第四方面,本发明实施例的第四方面的第一种实现方式中,所述混合分布式文件系统的内存中保存有多种类别的文件,所述类别包括任务中间结果文件、任务结果文件、查询结果文件中的一项或多项,其中,不同的类别对应有不同的优先级;

所述确定目标模块具体用于:将所述混合分布式文件系统的内存中,优先级最高类别的文件,确定为目标文件。

结合本发明实施例的第四方面或第四方面的第一种实现方式,本发明实施例的第四方面的第二种实现方式中,所述参数确定模块通过如下方法确定每个所述目标文件的重构代价:

判断每个所述目标文件是否已被写入所述混合分布式文件系统的磁盘中;

若判断结果为否,则将根据所述混合分布式文件系统中的文件,构造所述目标文件的所需时间,确定为所述目标文件的重构代价;

若判断结果为是,则将根据所述混合分布式文件系统中的文件构造所述目标文件的所需时间,以及从所述磁盘中读取所述目标文件的所需时间的最小值,确定为所述目标文件的重构代价。

结合本发明实施例的第四方面、第四方面的第一种或第二种实现方式,本发明实施例的第四方面的第三种实现方式中,所述文件删除模块具体用于:

按照删除开销由小到大的顺序,删除所述一个或多个待删除的目标文件中,删除开销最小的前N个文件。

本发明实施例提供的文件持久化方法包括:在混合分布式文件系统的内存中确定一个或多个待持久化的目标文件;确定根据混合分布式文件系统中 的文件构造目标文件所需的第一时间;确定目标文件写入磁盘所需的第二时间;计算目标文件的持久化收益;若持久化收益为正值,则将目标文件写入混合分布式文件系统的磁盘。其中,由于持久化收益为正值的目标文件对应的第一时间大于第二时间,而磁盘的读写特性决定了第二时间大于从磁盘读取数据的时间,因此对持久化收益为正值的目标文件进行持久化操作,可以使得在系统故障时,原本需要花费第一时间来重新构造的文件能够直接从磁盘中被读取,节约了文件的恢复时间。而持久化收益不为正值的目标文件不会被持久化。本发明实施例提供的方法按照内存文件的持久化收益来进行持久化操作,使得混合分布式文件系统用于持久化的资源尽可能的被分配给持久化收益为正值的文件,而不会被分配给持久化收益不为正值的文件,这样就使得持久化操作能为混合分布式文件系统节约更多的文件恢复时间,提高了持久化操作的效率与混合分布式文件系统的性能。

附图说明

图1为混合分布式文件系统架构示意图;

图2为本发明实施例中文件持久化方法一个实施例流程图;

图3为Lineage中文件依赖关系示意图;

图4为本发明实施例中文件删除方法一个实施例流程图;

图5为本发明实施例中文件持久化装置一个实施例结构图;

图6为本发明实施例中文件删除装置一个实施例结构图;

图7为本发明实施例中文件持久化装置或文件删除装置一个实施例结构图。

具体实施方式

本发明实施例提供了一种文件持久化方法,用于提高持久化操作的效率与混合分布式文件系统的性能。本发明实施例还提供了一种文件删除方法以及相关装置,以下将分别进行描述。

分布式文件系统包括三类:分布式磁盘文件系统、分布式内存文件系统以及混合分布式文件系统。其中,分布式磁盘文件系统使用磁盘存储文件, 采用基于备份的容错机制。它的优点是磁盘价格便宜、容量大、功耗低,但是磁盘访问速度慢,容错机制开销大,不能满足目前大数据系统对流计算、实时计算、交互计算等应用的需求。不同于分布式磁盘文件系统,分布式内存文件系统使用内存存储文件,采用基于文件血统(Lineage)的容错机制。分布式内存文件系统的Lineage管理单元中保存了内存中文件的来源信息,主要包括输入文件、获得文件的计算程序以及相对应的配置参数、文件依赖关系等。当系统出错时,系统可以根据Lineage管理单元中维护的信息重新构造丢失的文件。分布式内存文件系统的内存访问速度快,容错机制开销小,能满足目前大数据系统对流计算、实时计算、交互计算等应用的需求,但内存价格贵,容量小,功耗高,不合适大规模布局。

混合分布式文件系统是一种整合了分布式磁盘文件系统和分布式内存文件系统的文件系统,通过把内存当成磁盘的缓存区,可以实现内存级别的访问速度和磁盘级别的容量。混合分布式文件系统的基本架构可以参阅图1,图1中,混合分布式文件系统的内存为分布式的内存,混合分布式文件系统的磁盘为分布式的磁盘。从图1中可以看出,混合分布式文件系统在内存与磁盘之间还设置了三个管理单元,分别为持久化管理单元、内存管理单元和负责维护Lineage信息的Lineage管理单元。

混合分布式文件系统的内存采用基于Lineage的容错机制,随着内存文件的增多,系统出错时的文件恢复时间也会增加。为了减少系统出错时的文件恢复时间,持久化管理组件会把一些内存中的文件写入磁盘中实现持久化。这样当混合分布式文件系统故障时不仅可以通过Lineage重新构造缺失文件,也可以从磁盘中直接读取持久化的文件。为了不影响混合分布式文件系统的正常运行,持久化方法通常在后台运行,只有当混合分布式文件系统空闲时,持久化管理组件才会执行持久化操作。此外,由于混合分布式文件系统的内存资源很限。所以当内存资源紧缺时,内存管理单元需要删除内存中的部分文件,被删除的文件在被访问时可以通过Lineage重新构造。有此可以看出,为了提升混合分布式文件系统的性能,需要为持久化管理单元制定高效的文件持久化方法,并为内存管理单元制定高效的文件删除方法。

基于上述混合分布式文件系统,本发明实施例提供了一种高效的文件持 久化方法,其基本流程请参阅图2:

201、在混合分布式文件系统的内存中,确定一个或多个待持久化的目标文件;

本实施例中涉及到一种文件持久化装置,用于实现混合分布式文件系统中持久化管理单元的功能。其中,文件持久化装置在混合分布式文件系统的内存中确定一个或多个待持久化的目标文件。确定目标文件的具体方法将在后面的实施例中详述,此处不做限定。

202、确定根据混合分布式文件系统中的文件,构造目标文件所需的第一时间;

文件持久化装置确定:根据混合分布式文件系统内存中和/或磁盘中的文件,构造目标文件所需的第一时间。其中,能够构造目标文件的方法有很多,如可以通过Lineage来构造目标文件,也可以为其他方法,本实施例中不做限定。其中,文件持久化装置确定第一时间的方法有很多,将在后面的实施例中详述,此处不做限定。

203、确定目标文件写入磁盘所需的第二时间;

文件持久化装置确定将内存中的目标文件写入磁盘所需的第二时间。文件持久化装置确定第二时间的方法有很多,例如将目标文件的大小与磁盘写速度的比值作为第二时间,也可以为其他方法,此处不做限定。

204、计算目标文件的持久化收益;

文件持久化装置计算第一时间与第二时间的差值,并将该差值作为目标文件的持久化收益。

205、若持久化收益为正值,则将目标文件写入混合分布式文件系统的磁盘。

一般地,磁盘的读速度要快于写速度,即:将文件写入磁盘的时间要大于从磁盘中读取该文件的时间。可以理解的,若持久化收益为正值,则说明重构目标文件的第一时间要大于将目标文件写入磁盘的第二时间,因此也大于从磁盘中读取目标文件的时间。本实施例中,若持久化收益为正值,则文件持久化装置将目标文件写入混合分布式文件系统的磁盘。这样在混合分布式文件系统故障时,原本需要花费第一时间来重新构造的文件能够花费更少 的时间直接从磁盘中被读取。

本实施例中,文件持久化装置在混合分布式文件系统的内存中确定一个或多个待持久化的目标文件;确定根据混合分布式文件系统中的文件构造目标文件所需的第一时间;确定目标文件写入磁盘所需的第二时间;计算目标文件的持久化收益;若持久化收益为正值,则将目标文件写入混合分布式文件系统的磁盘。本实施例提供的方法可以使得在系统故障时,原本需要花费第一时间来重新构造的目标文件能够花费更少的时间直接从磁盘中被读取,节约了文件的恢复时间。而持久化收益不为正值的目标文件不会被持久化。本实施例提供的方法按照内存文件的持久化收益来进行持久化操作,使得混合分布式文件系统用于持久化的资源尽可能的被分配给持久化收益为正值的文件,而不会被分配给持久化收益不为正值的文件,这样就使得持久化操作能为混合分布式文件系统节约更多的文件恢复时间,提高了持久化操作的效率与混合分布式文件系统的性能。

可以理解的,步骤201至205中的一步或几步可以在混合分布式文件系统空闲时执行。

优选地,作为本发明的又一个实施例,混合分布式文件系统的内存中可以保存有多种类别的文件,这些类别包括任务中间结果文件、任务结果文件、查询结果文件中的一项或多项。其中,不同的类别可以对应有不同的优先级;文件持久化装置在确定一个或多个待持久化的目标文件时,可以将优先级最高类别的文件确定为目标文件。例如,混合分布式文件系统中有多个中间结果文件、任务结果文件和查询结果文件,其中混合分布式文件系统预置有各类文件的优先级为:任务中间结果文件<任务结果文件<查询结果文件。于是文件持久化装置可以直接将内存中的查询结果文件确定为目标文件,当内存中的所有查询结果文件确定为目标文件。更为优选的,文件持久化装置在确定目标文件时,可以仅考虑没有持久化过的文件,例如:文件持久化装置将内存中未经持久化的查询结果文件确定为目标文件,当内存中所有的查询结果文件都被持久化后,文件持久化装置将内存中的任务结果文件确定为目标文件。

步骤202中,文件持久化装置确定根据混合分布式文件系统中的文件, 构造目标文件所需的第一时间。其中,构造目标文件可以通过Lineage中的文件依赖关系来进行。如图3所示,图3表示混合分布式文件系统中文件1、2、3、4、5的依赖关系,具体的:文件1是文件2与3的父文件(即文件2与3是文件1的子文件),文件2是文件4与5的父文件,文件3是文件4的父文件。其中,有阴影的文件2、4、5表示在系统故障时缺失的文件。其中,子文件可以由父文件来重新构造来实现恢复,即:若需要恢复文件2,只需要通过文件1来重新构造文件2即可,根据文件1来重新构造文件2的时间就是文件2的第一时间。特别的,若一个父文件为缺失的文件,且该父文件有多个子文件,则在计算子文件的第一时间时,可以将父文件的第一时间平均分配到各个子文件上,例如图3中,文件4的第一时间为:根据文件2与3来重新构造文件4的时间+1/2文件2的第一时间。其中,计算目标文件的第一时间也可以为其它算法,此处不做限定。

一般的,文件持久化装置都会确定多个目标文件。因此优选的,作为本发明的又一个实施例,步骤205中,文件持久化装置可以按照持久化收益由大到小的顺序,将该多个目标文件中,持久化收益为正值的目标文件写入混合分布式文件系统的磁盘。由于持久化收益越大,重新构造的目标文件第一时间与从磁盘中读取目标文件的时间的差值越大,因此在系统发生故障时,恢复目标文件所节省的时间越多。本实施例按照持久化收益的大小来安排文件的持久化顺序,可以将混合分布式文件系统用于持久化的资源尽可能的被分配给持久化收益较大的文件,节约更多的文件恢复时间,最大限度的提升混合分布式文件系统的持久化性能。

本发明实施例在图1所示的混合分布式文件系统的基础上还提供了一种高效的文件删除方法,其基本流程请参阅图4:

401、在混合分布式文件系统的内存中,确定一个或多个待删除的目标文件;

本实施例中涉及到一种文件删除装置,用于实现混合分布式文件系统中内存管理单元的功能。其中,文件删除装置在混合分布式文件系统的内存中确定一个或多个待删除的目标文件。确定目标文件的具体方法将在后面的实施例中详述,此处不做限定。

402、确定每个目标文件的重构代价;

文件删除装置确定每个目标文件的重构代价,其中,重构代价用于表示当混合分布式文件系统发生故障,导致目标文件丢失时,恢复该目标文件所需的时间。其中,目标文件可以由内存中和/或磁盘中的其它文件通过Lineage重新构造来恢复,若内存中的目标文件被持久化到磁盘中,则也可以通过直接读取磁盘来恢复,也可以通过其他方式来恢复,本实施例中不做限定。

其中,根据内存中和/或磁盘中的其它文件的方法与图3所示的通过Lineage中的文件依赖关系来重新构造目标文件的方法基本相同,此处不做赘述。

403、确定每个目标文件的热点程度;

文件删除装置确定每个目标文件的热点程度,其中,热点程度用于表示目标文件在预置时间段内的被访问次数。其中,预置时间段的选择有很多,可以为混合分布式启动开始后的时间,这样热点程度即为目标文件的历史被访问次数;预置时间段也可以为单位时间长度的时间段,这样热点程度即为目标文件的被访问频率。也可以通过其他方式来选择预置时间段,此处不做限定。

404、确定每个目标文件的文件大小;

文件删除装置确定每个目标文件的文件大小。

405、根据每个目标文件的重构代价、热点程度与文件大小,计算每个目标文件的删除开销。

文件删除装置根据每个目标文件的重构代价、热点程度与文件大小,计算每个目标文件的删除开销。可以理解的,删除开销用于衡量删除目标文件对混合分布式文件系统的性能影响。其中,目标文件的重构代价越大、热点程度越高、文件大小越小,则目标文件的文件删除开销越大;目标文件的重构代价越小、热点程度越低、文件大小越大,则目标文件的文件删除开销越小。

计算每个目标文件的删除开销的方法有很多,例如可以依照如下公式计算:

删除开销=重构代价×热点程度÷文件大小

根据每个目标文件的重构代价、热点程度与文件大小,计算每个目标文件的删除开销也可以为其他算法,本实施例中不做限定。

406、删除该一个或多个待删除的目标文件中,删除开销最小的前N个文件。

文件删除装置删除该一个或多个待删除的目标文件中,删除开销最小的前N个文件,其中N为预置数值。

本实施例提供了一种文件删除方法,其中,文件删除装置在混合分布式文件系统的内存中,确定一个或多个待删除的目标文件,并确定每个目标文件的重构代价、热点程度与文件大小;并根据每个目标文件的重构代价、热点程度与文件大小计算每个所述目标文件的删除开销;最后删除该一个或多个待删除的目标文件中,删除开销最小的前N个文件。本实施例提供的方法优先删除内存中删除开销较小的目标文件,使得目标文件重构代价越小、热点程度越低、文件大小越大就越容易被删除,利于节约混合分布式文件系统恢复缺失文件的时间、提高内存中文件的命中率并节约内存。

优选地,作为本发明的又一个实施例,混合分布式文件系统的内存中可以保存有多种类别的文件,这些类别包括任务中间结果文件、任务结果文件、查询结果文件中的一项或多项。其中,不同的类别可以对应有不同的优先级;文件删除装置在确定一个或多个待持久化的目标文件时,可以将优先级最高类别的文件确定为目标文件。例如,混合分布式文件系统中有多个中间结果文件、任务结果文件和查询结果文件,其中混合分布式文件系统预置有各类文件的优先级为:任务中间结果文件<任务结果文件<查询结果文件。于是文件删除装置可以直接将内存中的查询结果文件确定为目标文件,当内存中的所有查询结果文件确定为目标文件。

因此优选的,步骤402中可以通过如下方法确定每个目标文件的重构代价:判断每个目标文件是否已被写入混合分布式文件系统的磁盘中;若判断结果为否,则将根据混合分布式文件系统中的文件,构造该目标文件的所需时间,确定为目标文件的重构代价;若判断结果为是,则将根据混合分布式文件系统中的文件构造目标文件的所需时间,以及从磁盘中读取该目标文件的所需时间,这两者时间中的最小值,确定为所述目标文件的重构代价。特 别地,若本实施例所在的混合分布式文件系统使用了图2所示的文件持久化方法,则说明对于持久化到磁盘中的文件来说,直接从磁盘中读取该文件的时间要小于重新构造该文件的时间,这种情况下若判断结果为是,则可以直接将从磁盘中读取该目标文件的所需时间确定为目标文件的重构代价。

一般的,文件删除装置都会确定多个目标文件。因此优选的,作为本发明的又一个实施例,步骤406中,文件删除装置可以按照删除开销由小到大的顺序,删除该一个或多个待删除的目标文件中删除开销最小的前N个文件。由于删除开销用于衡量删除目标文件对混合分布式文件系统的性能影响,因此本实施例按照删除开销的大小来安排文件的持久化顺序,可以优先将混合分布式文件系统中删除开销较小的文件删除,减小对混合分布式文件系统的性能的影响。

为了便于理解上述实施例,下面将以上述实施例的一个具体的应用场景为例进行描述。

混合分布式文件系统的内存中保存有100个中间结果文件、60个任务结果文件、40个查询结果文件。在混合分布式文件系统空闲时,文件持久化装置确定该40个查询结果文件为待持久化的目标文件。

对于每个查询结果文件,文件持久化装置确定根据Lineage来构造该文件的第一时间,和将该文件写入磁盘的第二时间。文件持久化装置将每个查询结果文件的第一时间与第二时间相减,得到每个查询结果文件的持久化收益。其中,有20个查询结果文件的持久化收益为正值,20个查询结果文件的持久化收益为负值。

文件持久化装置按照持久化收益由大到小的顺序,将持久化收益为正值的20个查询结果文件写入磁盘,实现持久化。

当混合分布式文件系统内存不足时,文件删除装置确定内存中40个查询结果文件为待删除的目标文件。

对于每个查询结果文件,文件删除装置确定该查询结果文件的重构代价、历史被访问次数和文件大小,并按照公式删除开销=重构代价×热点程度÷文件大小,计算每个查询结果文件的删除开销。

文件删除装置按照删除开销由小到大的顺序,删除该一个或多个待删除 的查询结果文件中删除开销最小的前10个文件。

本发明实施例还提供了相关的文件持久化装置,用于实现图2所示的实施例所提供的文件持久化方法。其基本结构请参阅图5,包括:

目标确定模块501,用于在混合分布式文件系统的内存中,确定一个或多个待持久化的目标文件;

时间计算模块502,用于确定根据混合分布式文件系统中的文件,构造目标文件所需的第一时间,和确定目标文件写入磁盘所需的第二时间;

收益计算模块503,用于计算目标文件的持久化收益,其中,持久化收益为第一时间与第二时间的差值;

持久化模块504,用于当持久化收益为正值时,将目标文件写入混合分布式文件系统的磁盘。

本实施例中,目标确定模块501在混合分布式文件系统的内存中确定一个或多个待持久化的目标文件;时间计算模块502确定根据混合分布式文件系统中的文件构造目标文件所需的第一时间,并确定目标文件写入磁盘所需的第二时间;收益计算模块503计算目标文件的持久化收益;若持久化收益为正值,则持久化模块504将目标文件写入混合分布式文件系统的磁盘。本实施例提供的装置可以使得在系统故障时,原本需要花费第一时间来重新构造的目标文件能够花费更少的时间直接从磁盘中被读取,节约了文件的恢复时间。而持久化收益不为正值的目标文件不会被持久化。本实施例提供的装置按照内存文件的持久化收益来进行持久化操作,使得混合分布式文件系统用于持久化的资源尽可能的被分配给持久化收益为正值的文件,而不会被分配给持久化收益不为正值的文件,这样就使得持久化操作能为混合分布式文件系统节约更多的文件恢复时间,提高了持久化操作的效率与混合分布式文件系统的性能。

优选地,作为本发明的又一个实施例,混合分布式文件系统的内存中保存有多种类别的文件,该类别包括任务中间结果文件、任务结果文件、查询结果文件中的一项或多项,其中,不同的类别对应有不同的优先级;目标确定模块501具体用于:将混合分布式文件系统的内存中,优先级最高类别的文件,确定为目标文件。

优选地,在本发明的又一个实施例中,目标文件的个数为多个,持久化模块504具体用于:按照持久化收益由大到小的顺序,将多个目标文件中,持久化收益为正值的目标文件写入混合分布式文件系统的磁盘。

本发明实施例还提供了相关的文件删除装置,用于实现图4所示的实施例所提供的文件删除方法。其基本结构请参阅图6,包括:

确定目标模块601,用于在混合分布式文件系统的内存中,确定一个或多个待删除的目标文件;

参数确定模块602,用于确定每个目标文件的重构代价,其中,重构代价用于表示当目标文件丢失时,恢复所述目标文件所需的时间;

参数确定模块602还用于确定每个目标文件的热点程度,其中,热点程度用于表示目标文件在预置时间段内的被访问次数;

参数确定模块602还用于确定每个目标文件的文件大小;

开销计算模块603,用于根据每个目标文件的重构代价、热点程度与文件大小,计算每个目标文件的删除开销,其中,目标文件的重构代价越大、热点程度越高、文件大小越小,则目标文件的文件删除开销越大;目标文件的重构代价越小、热点程度越低、文件大小越大,则目标文件的文件删除开销越小;

文件删除模块604,用于删除一个或多个待删除的目标文件中,删除开销最小的前N个文件,所述N为预置数值。

本实施例提供了一种文件删除装置,其中,确定目标模块601在混合分布式文件系统的内存中,确定一个或多个待删除的目标文件,参数确定模块602确定每个目标文件的重构代价、热点程度与文件大小;开销计算模块603根据每个目标文件的重构代价、热点程度与文件大小计算每个所述目标文件的删除开销;最后文件删除模块604删除该一个或多个待删除的目标文件中,删除开销最小的前N个文件。本实施例提供的装置优先删除内存中删除开销较小的目标文件,使得目标文件重构代价越小、热点程度越低、文件大小越大就越容易被删除,利于节约混合分布式文件系统恢复缺失文件的时间、提高内存中文件的命中率并节约内存。

优选地,作为本发明的又一个实施例,混合分布式文件系统的内存中保 存有多种类别的文件,该类别包括任务中间结果文件、任务结果文件、查询结果文件中的一项或多项,其中,不同的类别对应有不同的优先级;确定目标模块601具体用于:将混合分布式文件系统的内存中,优先级最高类别的文件,确定为目标文件。

优选地,在本发明的又一个实施例中,参数确定模块通过如下方法确定每个目标文件的重构代价:

判断每个目标文件是否已被写入混合分布式文件系统的磁盘中;

若判断结果为否,则将根据混合分布式文件系统中的文件,构造目标文件的所需时间,确定为目标文件的重构代价;

若判断结果为是,则将根据混合分布式文件系统中的文件构造目标文件的所需时间,以及从磁盘中读取目标文件的所需时间的最小值,确定为目标文件的重构代价。

优选地,在本发明的又一个实施例中,文件删除模块具体用于:按照删除开销由小到大的顺序,删除该一个或多个待删除的目标文件中,删除开销最小的前N个文件。

为了便于理解上述实施例,下面将以上述实施例的一个具体的应用场景为例进行描述。

混合分布式文件系统的内存中保存有100个中间结果文件、60个任务结果文件、40个查询结果文件。在混合分布式文件系统空闲时,文件持久化装置的目标确定模块501确定该40个查询结果文件为待持久化的目标文件。

对于每个查询结果文件,文件持久化装置的时间计算模块502确定根据Lineage来构造该文件的第一时间,和将该文件写入磁盘的第二时间。文件持久化装置的收益计算模块503将每个查询结果文件的第一时间与第二时间相减,得到每个查询结果文件的持久化收益。其中,有20个查询结果文件的持久化收益为正值,20个查询结果文件的持久化收益为负值。

文件持久化装置的持久化模块504按照持久化收益由大到小的顺序,将持久化收益为正值的20个查询结果文件写入磁盘,实现持久化。

当混合分布式文件系统内存不足时,文件删除装置的确定目标模块601确定内存中40个查询结果文件为待删除的目标文件。

对于每个查询结果文件,文件删除装置的参数确定模块602确定该查询结果文件的重构代价、历史被访问次数和文件大小,开销计算模块603按照公式删除开销=重构代价×热点程度÷文件大小,计算每个查询结果文件的删除开销。

文件删除装置的文件删除模块604按照删除开销由小到大的顺序,删除该一个或多个待删除的查询结果文件中删除开销最小的前10个文件。

上面从模块化功能实体的角度对本发明实施例中的文件持久化装置进行了描述,下面从硬件处理的角度对本发明实施例中的文件持久化装置进行描述,请参阅图7,本发明实施例中的文件持久化装置700另一实施例包括:

输入装置701、输出装置702、处理器703和存储器704(其中文件持久化装置700中的处理器703的数量可以一个或多个,图7中以一个处理器703为例)。在本发明的一些实施例中,输入装置701、输出装置702、处理器703和存储器704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。

其中,通过调用存储器704存储的操作指令,处理器703用于执行如下步骤:

在所述混合分布式文件系统的内存中,确定一个或多个待持久化的目标文件;

确定根据所述混合分布式文件系统中的文件,构造所述目标文件所需的第一时间;

确定所述目标文件写入磁盘所需的第二时间;

计算所述目标文件的持久化收益,所述持久化收益为所述第一时间与所述第二时间的差值;

若所述持久化收益为正值,则将目标文件写入所述混合分布式文件系统的磁盘。

本发明的一些实施例中,所述混合分布式文件系统的内存中保存有多种类别的文件,所述类别包括任务中间结果文件、任务结果文件、查询结果文件中的一项或多项,其中,不同的类别对应有不同的优先级;处理器703还执行如下步骤:

将所述混合分布式文件系统的内存中,优先级最高类别的文件,确定为目标文件。

本发明的一些实施例中,所述目标文件的个数为多个,处理器703还执行如下步骤:

按照持久化收益由大到小的顺序,将多个所述目标文件中,持久化收益为正值的目标文件写入所述混合分布式文件系统的磁盘。

下面再从硬件处理的角度对本发明实施例中的文件删除装置进行描述,请仍参阅图7,本发明实施例中的文件删除装置700另一实施例包括:

输入装置701、输出装置702、处理器703和存储器704(其中文件删除装置700中的处理器703的数量可以一个或多个,图7中以一个处理器703为例)。在本发明的一些实施例中,输入装置701、输出装置702、处理器703和存储器704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。

其中,通过调用存储器704存储的操作指令,处理器703用于执行如下步骤:

在所述混合分布式文件系统的内存中,确定一个或多个待删除的目标文件;

确定每个所述目标文件的重构代价,所述重构代价用于表示当所述目标文件丢失时,恢复所述目标文件所需的时间;

确定每个所述目标文件的热点程度,所述热点程度用于表示所述目标文件在预置时间段内的被访问次数;

确定每个所述目标文件的文件大小;

根据每个所述目标文件的重构代价、热点程度与文件大小,计算每个所述目标文件的删除开销,其中,所述目标文件的重构代价越大、热点程度越高、文件大小越小,则所述目标文件的文件删除开销越大;所述目标文件的重构代价越小、热点程度越低、文件大小越大,则所述目标文件的文件删除开销越小;

删除所述一个或多个待删除的目标文件中,删除开销最小的前N个文件,所述N为预置数值。

本发明的一些实施例中,所述混合分布式文件系统的内存中保存有多种类别的文件,所述类别包括任务中间结果文件、任务结果文件、查询结果文件中的一项或多项,其中,不同的类别对应有不同的优先级;处理器703还执行如下步骤:

将所述混合分布式文件系统的内存中,优先级最高类别的文件,确定为目标文件。

本发明的一些实施例中,处理器703还执行如下步骤:

判断每个所述目标文件是否已被写入所述混合分布式文件系统的磁盘中;

若判断结果为否,则将根据所述混合分布式文件系统中的文件,构造所述目标文件的所需时间,确定为所述目标文件的重构代价;

若判断结果为是,则将根据所述混合分布式文件系统中的文件构造所述目标文件的所需时间,以及从所述磁盘中读取所述目标文件的所需时间的最小值,确定为所述目标文件的重构代价。

本发明的一些实施例中,处理器703还执行如下步骤:

按照删除开销由小到大的顺序,删除所述一个或多个待删除的目标文件中,删除开销最小的前N个文件。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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