一种基于删除队列的分布式数据删除方法、装置及设备与流程

文档序号:22124720发布日期:2020-09-04 17:03阅读:229来源:国知局
一种基于删除队列的分布式数据删除方法、装置及设备与流程

本申请涉及计算机技术领域,特别涉及一种基于删除队列的分布式数据删除方法、装置、设备及可读存储介质。



背景技术:

目前,分布式集群存储广泛应用于多种大数据场景下,如视频监控、广电媒资、高性能等。分布式文件系统中存在海量数据,用户对于计算产生的临时数据需要及时清理,尤其基因计算等大数据场景,一次基因测算会产生海量中间文件,如何及时删除临时文件成为计算的瓶颈。

可见,如何提升分布式集群的数据删除效率,是亟待本领域技术人员解决的问题。



技术实现要素:

本申请的目的是提供一种基于删除队列的分布式数据删除方法、装置、设备及可读存储介质,用以解决当前分布式集群在大数据场景下会生成大量临时数据,影响分布式集群的计算性能的问题。具体方案如下:

第一方面,本申请提供了一种基于删除队列的分布式数据删除方法,包括:

根据待删除文件对象生成删除信息项,其中所述待删除文件对象为大数据计算场景下的中间结果,所述删除信息项包括待删除的元数据对象的存储信息和数据对象的存储信息;

将所述删除信息项追加至删除队列;

将所述删除队列以日志文件的形式进行落盘,并在落盘完成后向业务层发送删除完成的消息;

根据落盘后的删除队列,执行异步删除操作。

优选的,在所述根据待删除文件对象生成删除信息项之前,还包括:

接收来自业务层的删除请求;

根据所述删除请求确定待删除文件对象。

优选的,在所述根据待删除文件对象生成删除信息项之前,还包括:

遍历大数据计算场景下的中间结果,判断当前遍历到的文件对象的链接数是否为0,其中所述链接数表示挂载到文件对象的inode的数量;

若是,则判定所述当前遍历到的文件对象为待删除文件对象。

优选的,所述根据待删除文件对象生成删除信息项,其中所述待删除文件对象为大数据计算场景下的中间结果,所述删除信息项包括待删除的元数据对象的存储信息和数据对象的存储信息,包括:

根据待删除文件对象生成删除信息项,其中所述待删除文件对象为大数据计算场景下的中间结果,所述删除信息项包括待删除的元数据对象的存储信息和数据对象的存储信息,所述存储信息包括节点号、偏移量和对象大小。

优选的,所述将所述删除队列以日志文件的形式进行落盘,包括:

将所述删除队列以日志文件的形式进行增量落盘,其中所述删除队列与所述日志文件一一对应。

优选的,所述根据落盘后的删除队列,执行异步删除操作,包括:

判断当前数据对象删除速度是否小于等于预设的最大数据对象删除速度,并判断当前元数据对象删除速度是否小于等于预设的最大元数据对象删除速度;

若均小于,则根据落盘后的删除队列,执行异步删除操作;

否则,暂停异步删除操作。

优选的,所述根据落盘后的删除队列,执行异步删除操作,包括:

在检测到当前设备重新启动后,读取所述日志文件,根据所述日志文件恢复得到删除队列,并根据所述删除队列执行异步删除操作。

第二方面,本申请提供了一种基于删除队列的分布式数据删除装置,包括:

信息项生成模块:用于根据待删除文件对象生成删除信息项,其中所述待删除文件对象为大数据计算场景下的中间结果,所述删除信息项包括待删除的元数据对象的存储信息和数据对象的存储信息;

信息项追加模块:用于将所述删除信息项追加至删除队列;

落盘模块:用于将所述删除队列以日志文件的形式进行落盘,并在落盘完成后向业务层发送删除完成的消息;

异步删除模块:用于根据落盘后的删除队列,执行异步删除操作。

第三方面,本申请提供了一种基于删除队列的分布式数据删除设备,包括:

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

处理器:用于执行所述计算机程序,以实现如上所述的基于删除队列的分布式数据删除方法的步骤。

第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的基于删除队列的分布式数据删除方法的步骤。

本申请所提供的一种基于删除队列的分布式数据删除方法,包括:根据待删除文件对象生成删除信息项;将删除信息项追加至删除队列;将删除队列以日志文件的形式进行落盘,并在落盘完成后向业务层发送删除完成的消息;根据落盘后的删除队列,执行异步删除操作。可见,该方法引入删除队列,采用日志文件方式记录删除队列,实现异步删除操作,避免大数据计算场景下中间结果的删除任务对计算过程的影响,提升分布式集群的计算性能。

此外,本申请还提供了一种基于删除队列的分布式数据删除装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。

附图说明

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

图1为本申请所提供的一种基于删除队列的分布式数据删除方法实施例一的实现流程图;

图2为本申请所提供的一种基于删除队列的分布式数据删除方法实施例二的实现流程图;

图3为本申请所提供的一种基于删除队列的分布式数据删除装置实施例的功能框图;

图4为本申请所提供的一种基于删除队列的分布式数据删除设备实施例的结构示意图。

具体实施方式

本申请的核心是提供一种基于删除队列的分布式数据删除方法、装置、设备及可读存储介质,通过引入删除队列,并采用日志文件方式记录删除队列,实现异步删除操作,避免大数据计算场景下中间计算结果的删除任务对计算过程的影响,提升分布式集群的计算性能。

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

下面对本申请提供的一种基于删除队列的分布式数据删除方法实施例一进行介绍,参见图1,实施例一包括:

s101、根据待删除文件对象生成删除信息项,其中所述待删除文件对象为大数据计算场景下的中间结果,所述删除信息项包括待删除的元数据对象的存储信息和数据对象的存储信息;

s102、将所述删除信息项追加至删除队列;

s103、将所述删除队列以日志文件的形式进行落盘,并在落盘完成后向业务层发送删除完成的消息;

s104、根据落盘后的删除队列,执行异步删除操作。

本实施例中,待删除文件对象是指大数据计算场景下生成的中间结果。在实际应用中,待删除文件对象可以根据业务层发出的删除请求来确定,也可以通过主动扫描大数据计算场景下的中间结果而得到,本实施例对此不做限定。

本实施例能够根据待删除文件对象生成删除信息项,并设置有删除队列,该删除队列用于存储删除信息项。其中删除信息项用于记录待删除文件对象的存储信息,包括节点号、偏移量、对象大小size。当待删除文件对象为目录时,对象大小size记为0。存储偏移量具体可以包括条带大小、数据池id等。

删除队列通过独立的日志文件进行记录,具体的,删除队列与用于记录删除队列的日志文件一一对应。删除信息项以追加的方式添加至删除队列,然后将删除队列以日志文件的形式进行落盘。作为一种优选的实施方式,生成删除队列的增量日志文件,对增量日志文件进行落盘。

在将删除队列以日志形式落盘之后,本实施例会向业务层发送一个删除完成的提示消息,在系统空闲的时候再根据日志文件执行相应的异步删除操作,从而避免删除操作对分布式集群计算性能的影响。

实际应用中,每个元数据服务器上存储一个日志文件,元数据服务器启动时首先读取日志文件恢复出删除队列。元数据服务器根据删除队列中的删除信息项逐个对待删除文件对象进行删除操作。

本实施例所提供一种基于删除队列的分布式数据删除方法,包括:根据待删除文件对象生成删除信息项;将删除信息项追加至删除队列;将删除队列以日志文件的形式进行落盘,并在落盘完成后向业务层发送删除完成的消息;根据落盘后的删除队列,执行异步删除操作。可见,该方法引入删除队列,采用日志文件方式记录删除队列,实现异步删除操作,避免大数据计算场景中删除任务对计算过程的影响,提升分布式集群的计算性能。

下面开始详细介绍本申请提供的一种基于删除队列的分布式数据删除方法实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。

具体的,首先,实施例二能够主动扫描中间结果,从而确定待删除文件对象,避免业务层检测需要删除的文件对象的过程,提升分布式集群的计算性能。此外,本实施例在对日志文件进行落盘的时候,采用增量落盘的方式,减少落盘数据量,提升落盘效率。最后,本实施例在执行异步删除操作的时候,设置了节流阀,即当且仅当数据对象删除速度和元数据对象删除速度满足一定限制条件时,才执行异步删除操作,避免删除过程对底层存储系统的影响。

参见图2,实施例二具体包括:

s201、遍历大数据计算场景下的中间结果,判断当前遍历到的文件对象的链接数是否为0,其中所述链接数表示挂载到文件对象的inode的数量;若是,则跳转至s202,否则遍历下一文件对象;

本实施例能够主动遍历中间结果,评估遍历得到的文件对象是否为待删除文件对象。具体的评估方式为:判断文件对象的链接数是否为0(nlink=0)或文件对象是否有其他前端业务访问,若链接数为0或没有其他前端业务访问,则认为该文件对象为待删除文件对象。

s202、判定当前遍历到的文件对象为待删除文件对象,根据待删除文件对象生成删除信息项;

其中所述待删除文件对象为大数据计算场景下的中间结果,所述删除信息项包括待删除的元数据对象的存储信息和数据对象的存储信息,所述存储信息包括节点号、偏移量和对象大小。

具体的,待删除文件对象可以根据文件或目录的类型区分,生成相应的删除信息项。

s203、将所述删除信息项追加至删除队列;

本实施例中,删除队列记为purgequeue,删除信息项记为purgeitem,purgequeue存放多个purgeitem,其中每个purgeitem包含以下信息:

(1)inode:待删除对象的节点号;

(2)size:待删除对象的大小,如果待删除对象为目录,则size为0;

(3)layout:待删除对象的存储信息,包括条带大小、数据池id等。

s204、将所述删除队列以日志文件的形式进行增量落盘,其中所述删除队列与所述日志文件一一对应;在落盘完成后向业务层发送删除完成的消息;

s205、判断当前数据对象删除速度是否小于等于预设的最大数据对象删除速度,并判断当前元数据对象删除速度是否小于等于预设的最大元数据对象删除速度;若均小于,则跳转至s206,否则暂停异步删除操作;

s206、根据落盘后的删除队列,执行一次异步删除操作,跳转至s205,直至完成日志文件记录的全部待删除文件对象的删除操作。

为了降低删除过程对底层存储系统的影响,本实施例设置有节流阀。通过最大数据对象删除速度、最大元数据对象删除速度两个参数限制删除过程。

当判定可以进行删除时,从purgequeue中读取一个删除信息项,解析删除信息项,执行删除下发;根据inode号和size可得出待删除的所有数据对象,待数据对象删除完成后,删除元数据对象;继续执行下一个对象删除,直至完成全部删除操作。

除此之外,考虑到故障场景可能导致删除操作中断。本实施例还包括:在检测到当前设备重新启动后,读取所述日志文件,根据所述日志文件恢复得到删除队列,并根据所述删除队列执行异步删除操作。也就是说,在服务故障恢复后,首先读取日志文件恢复删除队列,继续执行删除,从而保证删除任务的完整性。

可见,本实施例提供的一种基于删除队列的分布式数据删除方法,利用删除队列记录需要删除的内容,并以日志文件的形式进行落盘,最终根据日志文件执行异步删除操作。可见,该方法引入删除队列,采用日志文件方式记录删除队列,实现异步删除操作,避免大数据计算场景中删除任务对计算过程的影响,提升分布式集群的计算性能。

下面对本申请实施例提供的一种基于删除队列的分布式数据删除装置进行介绍,下文描述的一种基于删除队列的分布式数据删除装置与上文描述的一种基于删除队列的分布式数据删除方法可相互对应参照。

如图3所示,本实施例的基于删除队列的分布式数据删除装置,包括:

信息项生成模块301:用于根据待删除文件对象生成删除信息项,其中所述待删除文件对象为大数据计算场景下的中间结果,所述删除信息项包括待删除的元数据对象的存储信息和数据对象的存储信息;

信息项追加模块302:用于将所述删除信息项追加至删除队列;

落盘模块3003:用于将所述删除队列以日志文件的形式进行落盘,并在落盘完成后向业务层发送删除完成的消息;

异步删除模块304:用于根据落盘后的删除队列,执行异步删除操作。

本实施例的基于删除队列的分布式数据删除装置用于实现前述的基于删除队列的分布式数据删除方法,因此该装置中的具体实施方式可见前文中的基于删除队列的分布式数据删除方法的实施例部分,例如,信息项生成模块301、信息项追加模块302、落盘模块3003、异步删除模块304,分别用于实现上述基于删除队列的分布式数据删除方法中步骤s101,s102,s103,s104。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。

另外,由于本实施例的基于删除队列的分布式数据删除装置用于实现前述的基于删除队列的分布式数据删除方法,因此其作用与上述方法的作用相对应,这里不再赘述。

此外,本申请还提供了一种基于删除队列的分布式数据删除设备,如图4所示,包括:

存储器100:用于存储计算机程序;

处理器200:用于执行所述计算机程序,以实现如上文所述的基于删除队列的分布式数据删除方法的步骤。

最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的基于删除队列的分布式数据删除方法的步骤。

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

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

以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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