文件处理方法、装置和设备与流程

文档序号:12612082阅读:220来源:国知局
文件处理方法、装置和设备与流程

本公开涉及数据处理技术领域,尤其涉及一种文件处理方法、装置和设备。



背景技术:

在分布式多副本文件系统中,为了保证数据的可用性,数据会在多个节点上保留多个副本.这样做会导致系统存储空间的占用率呈几何倍数增长。

现有技术中,为了降低存储空间的消耗,一般会对文件做Raid处理,.所谓Raid,就是对同一个文件的不同数据块进行编码形成一些冗余块,等到文件的数据块丢失时,可以通过这些冗余块重新解码出原始数据块,通过Raid处理可以达到与多副本同样的数据可靠性,但是只需要很少的存储空间。以6+3的编码为例,raid可以对文件的6个数据块编码,形成3个冗余数据块,后续这9个数据块中的任何3个块损坏,都可以通过这些数据块重新解码出来,而如果单纯通过数据多副本,要达到能容忍任意3个数据块损坏的目标,需要为每个数据块保存4个副本,则总共需要消耗24个数据块.而通过raid方式则只需要消耗9个数据块。

但是在现有Raid方案中,都是对系统的所有文件或某些固定目录的文件做Raid处理,被编码的文件如果真的损坏,则在读取时就需要较长的时间等待解码,用户访问延迟较大。



技术实现要素:

本公开提供一种文件处理方法、装置和设备,用以提高分布式多副本文件系统的存储空间利用率,减少访问损坏文件时的时间延迟。

根据本公开实施例的第一方面,提供一种文件处理方法,包括:

获取文件的筛选条件;

根据所述筛选条件对数据库中的文件进行筛选,获得目标文件;

对所述目标文件进行Raid处理。

该技术方案可以包括以下有益效果:通过从数据库中筛选出符合特定筛选条件的文件作为目标文件,并对目标文件进行Raid处理,能够降低进行Raid处理的文件的数量,从而缩短了Raid处理的耗时,减少了对系统资源的占用。并且,由于进行Raid处理的文件仅是符合特定筛选条件的文件,而不是系统的所有文件,因此,经过Raid处理后,生成的冗余数据块的数量就减少了,节约了系统的存储空间。而且用户在访问损坏文件时,也会因为冗余数据块的减少,减少等待的时间。

在第一方面的第一种可能的实现方式中,所述获取文件的筛选条件,包括:

从数据库中获取预先存储的筛选条件,或者;

从用户交互界面上获取用户输入的筛选条件。

该技术方案可以包括以下有益效果:通过从数据库中获取预先设置的筛选条件或者直接从用户交互界面上获取用户实时输入的筛选条件,能够实现文件筛选的个性化。同时又能避免由于对所有文件进行Raid处理所导致的存储空间浪费的问题,提高了存储空间的利用率。

根据第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述筛选条件包括如下条件中的至少一种:文件类型、文件属性、文件名称、文件内容;

所述根据所述筛选条件对数据库中的文件进行筛选,获得目标文件,包括:

从数据库中筛选出同时符合所述至少一种条件的文件作为目标文件。

根据第一方面的第二中可能的实现方式,在第一方面的第三中可能的实现方式中,所述从数据库中筛选出同时符合所述至少一种条件的文件作为目标文件,包括:

采用标准深度优选遍历方法或广度优先遍历方法,周期性的从所述数据库中筛选出同时符合所述至少一种条件的文件作为目标文件。

该技术方案可以包括以下有益效果:通过设置多个筛选的条件,能够实现对目标文件的准确定位,并且能够进一步的缩小目标文件的范围和数量,达到节约存储空间,提高存储空间利用率的目的。且由于Raid处理的文件的减少,能够有效减少用户访问损坏文件的等待时间,提高了用户体验。并且通过周期性筛选的方式,能够避免符合筛选条件的文件被漏掉,提高了系统的可靠性。

根据本公开实施例的第二方面,提供一种文件处理装置,包括:

获取模块,被配置为获取文件的筛选条件;

筛选模块,被配置为根据所述筛选条件对数据库中的文件进行筛选,获得目标文件;

处理模块,被配置为对所述目标文件进行Raid处理。

该技术方案可以包括以下有益效果:通过从数据库中筛选出符合特定筛选条件的文件作为目标文件,并对目标文件进行Raid处理,能够降低进行Raid处理的文件的数量,从而缩短了Raid处理的耗时,减少了对系统资源的占用。并且,由于进行Raid处理的文件仅是符合特定筛选条件的文件,而不是系统的所有文件,因此,经过Raid处理后,生成的冗余数据块的数量就减少了,节约了系统的存储空间。而且用户在访问损坏文件时,也会因为冗余数据块的减少,减少等待的时间。

在第二方面的第一种可能的实现方式中,所述获取模块包括:

第一获取子模块,被配置为从数据库中获取预先存储的筛选条件。或者,

第二获取子模块,被配置为从用户交互界面上获取用户输入的筛选条件。

该技术方案可以包括以下有益效果:通过从数据库中获取预先设置的筛选条件或者直接从用户交互界面上获取用户实时输入的筛选条件,能够实现文件筛选的个性化。同时又能避免由于对所有文件进行Raid处理所导致的存储空间浪费的问题,提高了存储空间的利用率。

根据第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述筛选条件包括如下条件中的至少一种:文件类型、文件属性、文件名称、文件内容;

所述筛选模块包括:

第一筛选子模块,被配置为从数据库中筛选出同时符合所述至少一种条件的文件作为目标文件。

根据第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一筛选子模块,还被配置为采用标准深度优选遍历方法或广度优先遍历方法,周期性的从所述数据库中筛选出同时符合所述至少一种条件的文件作为目标文件。

该技术方案可以包括以下有益效果:通过设置多个筛选的条件,能够实现对目标文件的准确定位,并且能够进一步的缩小目标文件的范围和数量,达到节约存储空间,提高存储空间利用率的目的。且由于Raid处理的文件的减少,能够有效减少用户访问损坏文件的等待时间,提高了用户体验。并且通过周期性筛选的方式,能够避免符合筛选条件的文件被漏掉,提高了系统的可靠性。

根据本公开实施例的第三方面,提供一种文件处理设备,包括:

处理器;

被配置为存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取文件的筛选条件;

根据所述筛选条件对数据库中的文件进行筛选,获得目标文件;

对所述目标文件进行Raid处理。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是根据一示例性实施例示出的一种文件处理方法实施例一的流程图;

图2是根据一示例性实施例示出的一种文件处理方法实施例二的流程图;

图3是根据一示例性实施例示出的一种文件处理装置实施例一的框图;

图4是根据一示例性实施例示出的一种文件处理装置实施例二的框图;

图5是根据一示例性实施例示出的一种文件处理设备的框图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种文件处理方法实施例一的流程图,该方法可以由文件处理装置来执行,该文件处理装置可以集成在服务器等文件处理设备中,如图1所示,该方法包括以下步骤:

在步骤101中,获取文件的筛选条件。

本公开实施例中所涉及的文件可以被具体为分布式多副本文件系统(以下简称系统)中的文件。

筛选条件是用户根据实际需要或对文件的理解所设定的,用于筛选出某些符合特定特征的文件的条件。实际应用中,筛选条件可以是预先设定并存储在数据库中的。当对系统文件进行筛选时,直接从数据库中调用。筛选条件也可以是用户通过文件处理设备上的人机交互界面实时输入的。当用户触发输入时,文件处理装置从人机交互界面上获取用户输入的筛选条件。

本实施例中,筛选条件包括如下条件中的至少一种:文件类型,比如,压缩文件、归档备份文件等;文件属性,比如文件的最后一次修改时间,文件的大小等;文件名称;文件内容,比如在文件头部是某特定内容的文件,或者在文件结尾是某特定内容的文件等。当然此处仅为示例说明而不是对本公开的唯一限定。

在步骤101中通过从数据库中获取预先设置的筛选条件或者直接从用户交互界面上获取用户实时输入的筛选条件,能够实现文件筛选的个性化。同时又能避免由于对所有文件进行Raid处理所导致的存储空间浪费的问题,提高了存储空间的利用率。

在步骤102中,根据所述筛选条件对数据库中的文件进行筛选,获得目标文件。

本实施例中,目标文件是指待进行Raid处理的文件。

举例来说,假设用户设定的筛选条件为文件类型、文件属性和文件内容,其中文件类型包括压缩文件、文件属性包括文件大小的指定范围(25kb,100kb)。在获得该筛选条件后,文件处理装置从系统的数据库中选择同时符合上述文件属性条件和文件类型条件的文件作为目标文件,比如,一压缩文件,其大小为80kb,则将该文件作为目标文件,以此类推,直至从系统数据库中筛选出所有符合条件的文件为止。

在步骤103中,对所述目标文件进行Raid处理。

Raid处理的目的是对目标文件的数据块进行编码,生成预设个数的冗余数据块。当目标文件中的某个或某些数据块损坏时,可以根据该些数据块和冗余数据块重新编码获得完好的数据块。本公开实施例中,对目标文件进行Raid处理的方法与现有技术类似,在这里不再赘述。

本实施例中,通过从数据库中筛选出符合特定筛选条件的文件作为目标文件,并对目标文件进行Raid处理,能够降低进行Raid处理的文件的数量,从而缩短了Raid处理的耗时,减少了对系统资源的占用。并且,由于进行Raid处理的文件仅是符合特定筛选条件的文件,而不是系统的所有文件,因此,经过Raid处理后,生成的冗余数据块的数量就减少了,节约了系统的存储空间。而且用户在访问损坏文件时,也会因为冗余数据块的减少,减少等待的时间。

图2是根据一示例性实施例示出的一种文件处理方法实施例二的流程图,如图2所示,该方法可以包括如下的步骤:

在步骤201中,获取文件的筛选条件,其中,所述筛选条件包括如下条件中的至少一种:文件类型、文件属性、文件名称、文件内容。

本公开实施例中所涉及的文件可以被具体为分布式多副本文件系统(以下简称系统)中的文件。

筛选条件是用户根据实际需要或对文件的理解所设定的,用于筛选出某些符合特定特征的文件的条件。实际应用中,筛选条件可以是预先设定并存储在数据库中的。当对系统文件进行筛选时,直接从数据库中调用。筛选条件也可以是用户通过文件处理设备上的人机交互界面实时输入的。当用户触发输入时,文件处理装置从人机交互界面上获取用户输入的筛选条件。

本实施例中,筛选条件包括如下条件中的至少一种:文件类型,比如,压缩文件、归档备份文件等;文件属性,比如文件的最后一次修改时间,文件的大小等;文件名称;文件内容,比如在文件头部是某特定内容的文件,或者在文件结尾是某特定内容的文件等。当然此处仅为示例说明而不是对本公开的唯一限定。

在步骤201中通过从数据库中获取预先设置的筛选条件或者直接从用户交互界面上获取用户实时输入的筛选条件,能够实现文件筛选的个性化。同时又能避免由于对所有文件进行Raid处理所导致的存储空间浪费的问题,提高了存储空间的利用率。

在步骤202中,从数据库中筛选出同时符合所述至少一种条件的文件作为目标文件。

本实施例中,目标文件是指待进行Raid处理的文件。

实际应用中,可以采用标准深度优先遍历的方法或广度优先遍历的方法,对数据库中的文件进行遍历,并将符合所有筛选条件的文件作为目标文件。其中,上述遍历可以是周期性的,也可以是按照人为设定的策略执行的,本实施例中不做限定。举例来说,假设用户设定的筛选条件为文件类型、文件属性和文件内容,其中文件类型包括压缩文件、文件属性包括文件大小的指定范围(25kb,100kb)。在获得该筛选条件后,文件处理装置从系统的数据库中选择同时符合上述文件属性条件和文件类型条件的文件作为目标文件,比如,一压缩文件,其大小为80kb,则将该文件作为目标文件,以此类推,直至从系统数据库中筛选出所有符合条件的文件为止。

在步骤203中,对所述目标文件进行Raid处理。

Raid处理的目的是对目标文件的数据块进行编码,生成预设个数的冗余数据块。当目标文件中的某个或某些数据块损坏时,可以根据该些数据块和冗余数据块重新编码获得完好的数据块。本公开实施例中,对目标文件进行Raid处理的方法与现有技术类似,在这里不再赘述。

本实施例中,通过设置多个筛选的条件,能够实现对目标文件的准确定位,并且能够进一步的缩小目标文件的范围和数量,达到节约存储空间,提高存储空间利用率的目的。且由于Raid处理的文件的减少,能够有效减少用户访问损坏文件的等待时间,提高了用户体验。并且通过周期性筛选的方式,能够避免符合筛选条件的文件被漏掉,提高了系统的可靠性。

图3是根据一示例性实施例示出的一种文件处理装置实施例一的框图,如图3所示,该装置包括:

获取模块11,被配置为获取文件的筛选条件;

筛选模块12,被配置为根据所述筛选条件对数据库中的文件进行筛选,获得目标文件;

处理模块13,被配置为对所述目标文件进行Raid处理。

其中,所述获取模块11包括:

第一获取子模块111,被配置为从数据库中获取预先存储的筛选条件。

第二获取子模块112,被配置为从用户交互界面上获取用户输入的筛选条件。

本实施例提供的文件处理装置可以用于执行图1所示方法实施例的技术方案,其执行方式和有益效果类似,在这里不再赘述。

图4是根据一示例性实施例示出的一种文件处理装置实施例二的框图,如图4所示,在图3所示实施例的基础上,所述所述筛选条件包括如下条件中的至少一种:文件类型、文件属性、文件名称、文件内容。

所述筛选模块12包括:

第一筛选子模块121,被配置为从数据库中筛选出同时符合所述至少一种条件的文件作为目标文件。

其中,所述第一筛选子模块121,还被配置为采用标准深度优先遍历方法或广度优先遍历方法,周期性的从所述数据库中筛选出同时符合所述至少一种条件的文件作为目标文件。

本实施例提供的文件处理装置可以用于执行图2所示方法实施例的技术方案,其执行方式和有益效果类似,在这里不再赘述。

关于上述实施例中的文件处理装置,其中各个模块、子模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

以上描述了文件处理装置的内部功能和结构,如图5所示,实际中,该文件处理装置可实现为服务器等文件处理设备,包括:

处理器;

被配置为存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取文件的筛选条件;

根据所述筛选条件对数据库中的文件进行筛选,获得目标文件;

对所述目标文件进行Raid处理。

本实施例中,通过从数据库中筛选出符合特定筛选条件的文件作为目标文件,并对目标文件进行Raid处理,能够降低进行Raid处理的文件的数量,从而缩短了Raid处理的耗时,减少了对系统资源的占用。并且,由于进行Raid处理的文件仅是符合特定筛选条件的文件,而不是系统的所有文件,因此,经过Raid处理后,生成的冗余数据块的数量就减少了,节约了系统的存储空间。而且用户在访问损坏文件时,也会因为冗余数据块的减少,减少等待的时间。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括存储指令的存储器,上述指令可由文件处理设备的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由文件处理设备的处理器执行时,使得文件处理设备能够执行一种文件处理方法,所述方法包括:

获取文件的筛选条件;

根据所述筛选条件对数据库中的文件进行筛选,获得目标文件;

对所述目标文件进行Raid处理。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

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