分布式集群系统大文件删除方法、装置、设备及存储介质与流程

文档序号:16781496发布日期:2019-02-01 19:10阅读:239来源:国知局
分布式集群系统大文件删除方法、装置、设备及存储介质与流程

本发明实施例涉及分布式集群系统技术领域,特别是涉及一种分布式集群系统大文件删除方法、装置、设备及计算机可读存储介质。



背景技术:

随着云计算、大数据的快速发展,数据呈现爆炸式增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,已经无法满足信息爆炸时代指数倍增长的数据的存储需求,分布式集群系统应用而生。

分布式集群系统(distributedfilesystem)为基于客户端/服务器模式的文件系统管理的物理存储资源,通过计算机网络与节点相连,可以有效解决数据的存储和管理难题。将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。用户在使用分布式集群系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。

目前分布式文件系统在删除大文件(例如2tb的文件)时,为了确保文件被删除且释放空间,通常是选择同步等待删除,不仅时延较高,而且大文件占用大量内存,当删除的文件较多时,极易影响正常业务的运行,严重时甚至会导致系统崩溃。



技术实现要素:

本公开实施例提供了一种分布式集群系统大文件删除方法、装置、设备及计算机可读存储介质,解决分布式文件系统大文件删除过程中内存占用的问题。

为解决上述技术问题,本发明实施例提供以下技术方案:

本发明实施例一方面提供了一种分布式集群系统大文件删除方法,基于客户端,包括:

当接收到大文件删除请求,按照预设文件拆分策略将所述大文件拆分为多个删除单元,并将各删除单元放入待处理请求队列中;

每次从所述待处理请求队列中选取预设个数的删除单元构建删除请求发送至后端进行删除处理,直至所述待处理请求队列为空。

可选的,所述按照预设文件拆分策略将所述大文件拆分为多个删除单元包括:

以预设第一容量值为单位将所述大文件拆分为多个子文件;

将每个子文件拆分为多个容量值为第二容量值的删除单元。

可选的,所述第二容量值为所述后端的存储单元容量值。

可选的,所述接收到大文件删除请求之后,还包括:

在同步落盘的日志中记录所述大文件删除请求的删除操作信息;

其中,所述删除操作信息在接收到所述后端反馈的所有删除请求均完成后被删除。

可选的,所述接收到大文件删除请求之后,还包括:

向前端返回删除成功的信息。

本发明实施例另一方面提供了一种分布式集群系统大文件删除装置,基于客户端,包括:

文件拆分模块,用于当接收到大文件删除请求,按照预设文件拆分策略将所述大文件拆分为多个删除单元,并将各删除单元放入待处理请求队列中;

文件分批删除模块,用于每次从所述待处理请求队列中选取预设个数的删除单元构建删除请求发送至后端进行删除处理,直至所述待处理请求队列为空。

可选的,所述文件拆分模块为以预设第一容量值为单位将所述大文件拆分为多个子文件;将每个子文件拆分为多个容量值为第二容量值的删除单元的模块。

可选的,还包括日志记录删除操作模块,用于在同步落盘的日志中记录所述大文件删除请求的删除操作信息。

本发明实施例还提供了一种分布式集群系统大文件删除设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述分布式集群系统大文件删除方法的步骤。

本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有分布式集群系统大文件删除程序,所述分布式集群系统大文件删除程序被处理器执行时实现如前任一项所述分布式集群系统大文件删除方法的步骤。

本申请提供的技术方案的优点在于,客户端在接收到大文件删除请求后,将大文件首先进行拆分为多个小文件,降低了对大块内存的依赖性,然后对小文件进行多批次删除,采用异步发送删除请求,由客户端控制删除请求下发频率来间接调节删除速率,删除操作不会影响系统读写业务的正常运行,将同步等待删除完成而引发的高时延降到最低,解决了相关技术中大文件删除过程中占用大量内存存在的一些弊端,限制内存占用的同时,增加删除请求的并发率,提高了文件删除处理效率,提高了分布式文件系统整体的删除性能,还有利于提升前端的响应速度。

此外,本发明实施例还针对分布式集群系统大文件删除方法提供了相应的实现装置、设备及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置、设备及计算机可读存储介质具有相应的优点。

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

附图说明

为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种分布式集群系统大文件删除方法的流程示意图;

图2为本发明实施例提供的另一种分布式集群系统大文件删除方法的流程示意图;

图3为本发明实施例提供的分布式集群系统大文件删除装置的一种具体实施方式结构图;

图4为本发明实施例提供的分布式集群系统大文件删除装置的另一种具体实施方式结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。

首先参见图1,图1为本发明实施例提供的一种分布式集群系统大文件删除方法的流程示意图,本发明实施例可包括以下内容:

s101:当接收到大文件删除请求,按照预设文件拆分策略将大文件拆分为多个删除单元,并将各删除单元放入待处理请求队列中。

s102:每次从待处理请求队列中选取预设个数的删除单元构建删除请求发送至后端进行删除处理,直至待处理请求队列为空。

本发明实施例的执行主语可为客户端处理器。

大文件为本领域技术人员约定俗成、大小超过一定容量值(例如2t)的文件均称为大文件,可根据判断文件的大小来确定当前删除文件是否为大文件。

前端需要删除大文件时,将删除大文件的请求发送至客户端,客户端在收到大文件的删除请求后,可在同步落盘的日志中保存一条记录,该条记录记录当前大文件删除请求操作信息。为了避免阻塞前端后续请求,提升前端响应速度,客户端可向前端返回删除成功的信息,可以预设删除成功的状态值(例如1)和删除不成功的状态值(例如0),前端接收到客户端反馈的状态值,便可得知文件删除结果。

文件拆分策略为预先设置的将大文件拆分为多个子文件的方法,该策略中可包含拆分后每个子文件的容量值。大文件按照一定的粒度加以拆分,从而降低了对大块内存的依赖性。可选的,将大文件可以预设第一容量值为单位先拆分为多个子文件,然后再将每个子文件拆分为多个容量值为第二容量值的删除单元,其中,第一容量值、第二容量值可根据分布式集群系统实际运行业务和待删除大文件的大小进行预先设定,在一种实施方式中,第二容量值可为后端的存储单元容量值,例如,分布式存储底层为使用对象作为存储方式,且每个对象默认为4mb,那么可将第二容量值设置为4mb。用户通过修改第一容量值和第二容量值可利用客户端实现文件删除速率的调节,把对业务的影响降到最低。

举例来说,大文件拆分过程可为:客户端以2g为单位将2t大文件的数据打散,形成m个子文件,此案中即2*1024/2=1024个子文件,获取第一个子文件,其余1023个子文件可放入等待队列中等待处理,将子文件进一步打散成n个4m的对象,将n个4m对象放入待处理请求队列中,每次取k个对象组建删除请求,发送给后端存储程序进行删除处理。

客户端在构建删除请求时,预设个数值可根据每个删除单元的大小、分布式集群系统正常运行所需内存值及并发删除请求的个数决定。客户端在向后端发送删除请求时,可以一条一条请求的发送,也可多条请求同时发送;可以在接收到已发送请求删除完成的信息后,再发送新的删除请求,也可持续不断发送删除请求,直至待处理请求队列中没有删除请求。客户端可向后端并发发送多条删除请求,从而提升文件删除效率。

后端存储程序接收到删除请求之后,再根据所使用的是纠删算法还是副本模式将该删除请求对应的数据对象进行映射,将磁盘上的数据删除,然后向客户端返回删除结果,删除结果可利用预先设置的状态值进行表示,也即后端可将删除完成的状态值反馈给客户端。

当日志中记录文件删除操作时,客户端在收到所有删除单元完成删除的状态值之后,可将前文日志中记录的删除操作信息清除。利用日志的方式记录删除操作是否完成,确保分布式集群系统中数据一致性。

在本发明实施例提供的技术方案中,客户端在接收到大文件删除请求后,将大文件首先进行拆分为多个小文件,降低了对大块内存的依赖性,然后对小文件进行多批次删除,采用异步发送删除请求,由客户端控制删除请求下发频率来间接调节删除速率,删除操作不会影响系统读写业务的正常运行,将同步等待删除完成而引发的高时延降到最低,解决了相关技术中大文件删除过程中占用大量内存存在的一些弊端,限制内存占用的同时,增加删除请求的并发率,提高了文件删除处理效率,提高了分布式文件系统整体的删除性能,还有利于提升前端的响应速度。

本申请还提供了另外一个实施例,请参见图2,图2为本发明实施例提供的另一种分布式集群系统大文件删除方法的流程示意图,本发明实施例例如可应用于分布式存储集群系统,可包括以下内容:

s201:判断是否接收到大文件删除请求,若是,则执行s202,若否,则继续检测。

s202:在同步落盘的日志中记录大文件删除请求的删除操作信息。

s203:向前端返回删除成功的信息。

s204:以预设第一容量值为单位将大文件拆分为多个子文件,将每个子文件拆分为多个容量值为第二容量值的删除单元,将各删除单元放入待处理请求队列中。

s205:从待处理请求队列中选取预设个数的删除单元构建删除请求发送至后端进行删除处理。

s206:判断待处理请求队列是否还有待处理请求,若是,则返回s205,若否,则执行s207。

s207:判断是否接收到所有删除请求完成的信息,若是,则执行s208,若否,则继续检测。

s208:删除日志记录的大文件删除请求的删除操作信息。

本发明实施例与上述实施例相同的步骤或方法可参阅上述实施例记载的实现过程,此处,便不再赘述。

由上可知,本发明实施例采用化整为零的思路将大文件的删除操作拆解为若干部分,细分之后的微粒度请求可以并发发送到后端,大大提高操作执行效率,由客户端控制删除请求下发频率来间接调节删除速率,删除操作不会影响系统读写业务的正常运行,将同步等待删除完成而引发的高时延降到最低,提高了分布式文件系统整体的删除性能,有利于提升前端响应速度;利用日志文件记录删除操作,有利于确保分布式文件系统的一致性;客户端及时向前端反馈删除成功的信息,避免阻塞后续请求,有利于提升分布式文件系统的整体性能。

本发明实施例还针对分布式集群系统大文件删除方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的分布式集群系统大文件删除装置进行介绍,下文描述的分布式集群系统大文件删除装置与上文描述的分布式集群系统大文件删除方法可相互对应参照。

参见图3,图3为本发明实施例提供的分布式集群系统大文件删除装置在一种具体实施方式下的结构图,该装置可包括:

文件拆分模块301,用于当接收到大文件删除请求,按照预设文件拆分策略将大文件拆分为多个删除单元,并将各删除单元放入待处理请求队列中。

文件分批删除模块302,用于每次从待处理请求队列中选取预设个数的删除单元构建删除请求发送至后端进行删除处理,直至待处理请求队列为空。

可选的,在本实施例的一些实施方式中,请参阅图4,所述装置还可以包括日志记录删除操作模块303,用于在同步落盘的日志中记大文件删除请求的删除操作信息。

在本发明实施例的一些实施方式中,所述装置还可包括操作记录删除模块304,用于在接收到后端反馈的所有删除请求均完成后,删除日志记录的大文件删除请求的删除操作信息。

可选的,所述装置例如还可包括删除成功反馈模块305,用于当接收到大文件删除请求,向前端返回删除成功的信息。

此外,所述文件拆分模块301还可为以预设第一容量值为单位将所述大文件拆分为多个子文件;将每个子文件拆分为多个容量值为第二容量值的删除单元的模块。

本发明实施例所述分布式集群系统大文件删除装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例采用异步发送删除请求,由客户端控制删除请求下发频率来间接调节删除速率,删除操作不会影响系统读写业务的正常运行,将同步等待删除完成而引发的高时延降到最低,提高了分布式文件系统整体的删除性能,有利于提升前端响应速度;利用日志文件记录删除操作,有利于确保分布式文件系统的一致性;客户端及时向前端反馈删除成功的信息,避免阻塞后续请求,有利于提升分布式文件系统的整体性能。

本发明实施例还提供了一种分布式集群系统大文件删除设备,具体可包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序以实现如上任意一实施例所述分布式集群系统大文件删除方法的步骤。

本发明实施例所述分布式集群系统大文件删除设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例采用异步发送删除请求,由客户端控制删除请求下发频率来间接调节删除速率,删除操作不会影响系统读写业务的正常运行,将同步等待删除完成而引发的高时延降到最低,提高了分布式文件系统整体的删除性能,有利于提升前端响应速度;利用日志文件记录删除操作,有利于确保分布式文件系统的一致性;客户端及时向前端反馈删除成功的信息,避免阻塞后续请求,有利于提升分布式文件系统的整体性能。

本发明实施例还提供了一种计算机可读存储介质,存储有分布式集群系统大文件删除程序,所述分布式集群系统大文件删除程序被处理器执行时如上任意一实施例所述分布式集群系统大文件删除方法的步骤。

本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例采用异步发送删除请求,由客户端控制删除请求下发频率来间接调节删除速率,删除操作不会影响系统读写业务的正常运行,将同步等待删除完成而引发的高时延降到最低,提高了分布式文件系统整体的删除性能,有利于提升前端响应速度;利用日志文件记录删除操作,有利于确保分布式文件系统的一致性;客户端及时向前端反馈删除成功的信息,避免阻塞后续请求,有利于提升分布式文件系统的整体性能。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种分布式集群系统大文件删除方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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