任务处理方法、装置、非易失性存储介质及处理器与流程

文档序号:26003814发布日期:2021-07-23 21:21阅读:93来源:国知局
任务处理方法、装置、非易失性存储介质及处理器与流程

本发明涉及大数据领域,具体而言,涉及一种任务处理方法、装置、非易失性存储介质及处理器。



背景技术:

随着互联网的高速度发展,海量非结构化数据需要存储,对象存储能够提供海量存储的解决方案。在很多应用场景中对象存储数据需要在热、温、冷数据之间流动,以追求更低的成本。因此,对对象生命周期进行管理非常重要,为了帮助用户实现数据分层业务,需要建立分层任务以达到上述的目的,降低成本,满足业务需求。此外,同一对象的多个分层任务应当按照一定的顺序执行,才能保证满足对象存储的业务需求。然而相关技术中,对象的多个分层任务无法做到严格按照业务要求的顺序执行,容易产生错漏。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种任务处理方法、装置、非易失性存储介质及处理器,以至少解决分布式存储服务中的分层任务难以保序执行的技术问题。

根据本发明实施例的一个方面,提供了一种任务处理方法,包括:确定存储桶和目标分层任务配置天数,其中,所述存储桶为分布式存储服务中用于存储对象的容器;根据所述目标分层任务配置天数,确定所述存储桶中的数据对象;确定与所述数据对象对应的生命周期任务,其中,所述生命周期任务用于改变所述数据对象的存储状态,所述生命周期任务包括至少一个分层任务;在所述生命周期任务中包括第一分层任务的情况下,确定所述数据对象的第一分层任务的执行状态,其中,所述第一分层任务的配置天数小于所述目标分层任务配置天数;在确定所述数据对象的所述第一分层任务已执行的情况下,执行所述生命周期任务中的第二分层任务对所述数据对象进行分层,其中,所述第二分层任务的配置天数大于所述第一分层任务的配置天数。

可选地,确定所述数据对象的第一分层任务的执行状态,其中,所述第一分层任务的配置天数小于所述目标分层任务配置天数,包括:读取所述数据对象的分层属性,其中,所述分层属性存储于所述数据对象的元数据中;在所述分层属性包括与所述第一分层任务对应的分层数据的情况下,确定所述数据对象已执行所述第一分层任务;或,在所述分层属性不包括与所述第一分层任务对应的分层数据的情况下,确定所述数据对象未执行所述第一分层任务。

可选地,确定与所述数据对象对应的生命周期任务,其中,所述生命周期任务用于改变所述数据对象的存储状态,所述生命周期任务包括至少一个分层任务,包括:读取所述存储桶的生命周期任务;根据所述目标分层任务配置天数,从所述存储桶的生命周期任务中筛选得到与所述数据对象对应的生命周期任务,其中,与所述数据对象对应的生命周期任务包括所述第二分层任务,所述第二分层任务的配置天数与所述目标分层任务配置天数相同。

可选地,根据所述目标分层任务配置天数,确定存储桶中的数据对象,包括:根据所述目标分层任务配置天数,读取所述存储桶在第一目标日期的日志,得到在所述第一目标日期上传至所述存储桶的所述数据对象,其中,所述第一目标日期为过去的日期,且与当前日期的时间间隔为所述目标分层任务配置天数。

可选地,在所述分层任务信息还包括所述生命周期任务的日志检查日期的情况下,还可以通过如下方式确定存储桶中的数据对象:根据所述目标分层任务配置天数和所述生命周期任务的日志检查日期,读取所述存储桶在第二目标日期内的日志,得到所述数据对象,其中,所述数据对象在所述第二目标日期中上传至所述存储桶,所述第二目标日期包括所述日志检查日期至所述第一目标日期之间的日期。

可选地,在确定所述数据对象的所述第一分层任务已执行的情况下,执行所述生命周期任务中的第二分层任务对所述数据对象进行分层,包括:确定所述数据对象的上传天数,其中,所述上传天数为所述数据对象上传至所述存储桶的日期至所述存储桶当前日期的天数;在所述上传天数等于所述第二分层任务的配置天数的情况下,执行所述第二分层任务对所述数据对象进行分层。

可选地,在确定所述数据对象未执行所述第一分层任务的情况下,跳过执行所述第二分层任务并反馈报告。

可选地,确定存储桶和目标分层任务配置天数,包括:获取目标生命周期对象中存储的目标分层任务信息,其中,所述目标生命周期对象中存储有至少一条分层任务信息,所述分层任务信息至少包括:存储桶的名称,分层任务配置天数;根据所述目标分层任务信息,确定所述存储桶和所述目标分层任务配置天数。

可选地,在获取生命周期对象中存储的目标分层任务信息之前,还包括:创建n个生命周期对象,其中,n为不小于1的自然数;确定与所述存储桶对应的所述目标生命周期对象,其中,所述目标生命周期对象为所述n个生命周期对象之一;根据所述存储桶的名称和所述存储桶中存储的生命周期任务,生成至少一条分层任务信息,其中,每个所述生命周期任务至少包括一个分层任务,所述分层任务信息至少包括:存储桶的名称,分层任务配置天数,所述分层任务配置天数至少与所述存储桶的一个分层任务的配置天数相同;将所述至少一条分层任务信息存入所述目标生命周期对象。

可选地,确定与所述存储桶对应的所述目标生命周期对象,其中,所述目标生命周期对象为所述n个生命周期对象之一,包括:获取所述存储桶的桶名称;确定所述桶名称对应的哈希值,将所述哈希值对n取模,得到所述存储桶对应的序号;根据所述序号,确定与所述存储桶对应的所述目标生命周期对象,其中,所述目标生命周期对象为所述n个生命周期对象中与所述序号对应的生命周期对象。

根据本发明实施例的另一方面,还提供了一种任务处理装置,包括:第一确定模块,用于确定存储桶和目标分层任务配置天数,其中,所述存储桶为分布式存储服务中用于存储对象的容器;第二确定模块,用于根据所述目标分层任务配置天数,确定所述存储桶中的数据对象;第三确定模块,用于确定与所述数据对象对应的生命周期任务,其中,所述生命周期任务用于改变所述数据对象的存储状态,所述生命周期任务包括至少一个分层任务;第四确定模块,用于在所述生命周期任务中包括第一分层任务的情况下,确定所述数据对象的第一分层任务的执行状态,其中,所述第一分层任务的配置天数小于所述目标分层任务配置天数;执行模块,用于在确定所述数据对象的所述第一分层任务已执行的情况下,执行所述生命周期任务中的第二分层任务对所述数据对象进行分层,其中,所述第二分层任务的配置天数大于所述第一分层任务的配置天数。

根据本发明实施例的又一方面,还提供了一种非易失性存储介质,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行上述任意一项所述任务处理方法。

根据本发明实施例的再一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述任务处理方法。

在本发明实施例中,采用确定分层任务的执行状态的方式,通过确定存储桶中的数据对象的生命周期任务,在生命周期任务中的第一分层任务的配置天数小于目标分层任务配置天数的情况下确定第一分层任务的执行状态,达到了确保在第一分层任务已执行的情况下再执行第二分层任务的目的,从而实现了确保分布式存储服务中的分层任务严格保序执行的技术效果,进而解决了分布式存储服务中的分层任务难以保序执行技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例提供的任务处理方法的流程示意图;

图2是根据本发明可选实施方式提供的生命周期任务的示意图;

图3是根据本发明可选实施方式提供的分层任务信息拼接方式示意图;

图4是根据本发明可选实施方式提供的存储桶-生命周期对象对应关系示意图;

图5是根据本发明可选实施方式提供的日志检查流程示意图;

图6是根据本发明可选实施方式提供的第一分层任务执行状态检查的流程示意图;

图7是根据本发明实施例提供任务处理装置的的结构框图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种任务处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例提供的任务处理方法的流程示意图,如图1所示,该方法包括如下步骤:

步骤s101,确定存储桶和目标分层任务配置天数,其中,存储桶为分布式存储服务中用于存储对象的容器。在分布式存储服务中,可能包括海量的存储桶,有时甚至可能有上亿个存储桶。存储桶可以用于存储对象,每一个桶理论上空间无上限,在每个桶中可以创建文件夹目录,目录下可以有多个文件,其中,每个文件为一个对象。为了与存储生命周期任务规则的对象区分,本申请中将存储桶中存储的文件对象称为数据对象,将存储生命周期任务规则的对象称为生命周期对象。目标分层任务配置天数可以为确定的存储桶中的与待检查或者待执行的分层任务相关的配置天数。

此外,目标分层任务配置天数可以与数据对象的分层任务的配置天数对应,分层任务为与数据对象对应的生命周期任务中的子任务。作为一种可选的实施例,分层任务可以包括多种类型,例如,可以包括复制、分层、归档或者删除。其中,复制可以将本地的数据对象拷贝到次级存储,可以将数据对象的数据和元数据都迁移走;分层可以将本地的数据对象的数据拷贝到次级存储,并删除数据对象在本地的数据,保留指向次级存储的指针;归档可以将本地数据对象拷贝至次级存储,并将数据对象在本地的数据和元数据都删除;删除则将本地数据对象的数据和元数据都直接删除。

图2是根据本发明可选实施方式提供的生命周期任务的示意图。如图2所示,rule1、rule2和rule5分别为多个生命周期任务的命名,每个生命周期任务中可以包括一个或者多个分层任务,例如,生命周期任务rule1中,包括复制、分层、归档和删除四个分层任务,并且为每个分层任务设置了配置天数,具体的,1天后执行复制,15天后执行分层,20天后执行归档,50天后执行删除。正常情况下,当对一个数据对象执行完一个生命周期任务时,这个数据对象就按照配置天数的先后顺序执行完了该生命周期任务中的全部分层任务。图2中所示,每个生命周期任务中都有一个前缀,该前缀用于确定存储桶中的数据对象与该存储桶中的生命周期任务的对应关系,例如,当存储桶中有海量数据对象,而仅有少数的生命周期任务的情况下,每一个数据对象会按照与其相对应的生命周期任务执行该生命周期任务中包括的分层任务,并将执行记录进行保存。

步骤s102,根据目标分层任务配置天数,确定存储桶中的数据对象。作为一种可选的实施例,可以根据目标分层任务配置天数,从存储桶中筛选出在目标分层任务配置天数之前或当天存入存储桶的数据对象。

步骤s103,确定与数据对象对应的生命周期任务,其中,生命周期任务用于改变数据对象的存储状态,生命周期任务包括至少一个分层任务。如前,在存储桶中,数据对象与生命周期任务对应,生命周期任务包括至少一个分层任务。作为一种可选的实施方式,可以采用图2中所示的生命周期任务的前缀确定与数据对象对应的生命周期任务。此外,当一个数据对象通过前缀对应到至少两个生命周期任务时,可以根据预定的规则确定哪一个才是与该数据对象对应的生命周期任务,例如,可以将该数据对象与前缀更长的生命周期任务对应。

步骤s104,在生命周期任务中包括第一分层任务的情况下,确定数据对象的第一分层任务的执行状态,其中,第一分层任务的配置天数小于目标分层任务配置天数。

生命周期任务中的多个分层任务的保序执行非常关键,如果不能做到严格保序,则会使得对数据对象的生命周期管理出现混乱,影响业务。本步骤中通过确定数据对象中的配置天数小于目标分层任务配置天数的分层任务已经执行,实现了执行配置天数大于或等于目标分层任务配置天数的分层任务时的严格保序,即确保在生命周期任务中的配置天数更小的分层任务已经执行完成的情况下,再执行配置天数更大的分层任务。

步骤s105,在确定数据对象的第一分层任务已执行的情况下,执行生命周期任务中的第二分层任务对数据对象进行分层,其中,第二分层任务的配置天数大于第一分层任务的配置天数。当确定了数据对象的第一分层任务已执行,则再执行配置天数更大的第二分层任务时可以确保数据对象执行第二分层任务时的顺序是正确的,实现了对数据对象执行分层任务的严格保序。

通过上述步骤,采用确定分层任务的执行状态的方式,通过确定存储桶中的数据对象的生命周期任务,在生命周期任务中的第一分层任务的配置天数小于目标分层任务配置天数的情况下确定第一分层任务的执行状态,达到了确保在第一分层任务已执行的情况下再执行第二分层任务的目的,从而实现了确保分布式存储服务中的分层任务严格保序执行的技术效果,进而解决了分布式存储服务中的分层任务难以保序执行技术问题。

作为一种可选的实施例,在获取生命周期对象中存储的目标分层任务信息之前,可以首先创建多个生命周期对象,然后将信息存储到多个生命周期对象中。使用生命周期对象可以实现对海量存储桶中海量的生命周期任务和分层任务的高效管理。创建生命周期对象可以采用如下方式:创建n个生命周期对象,其中,n为不小于1的自然数;确定与存储桶对应的目标生命周期对象,其中,目标生命周期对象为n个生命周期对象之一;根据存储桶的名称和存储桶中存储的生命周期任务,生成至少一条分层任务信息,其中,每个生命周期任务至少包括一个分层任务,分层任务信息至少包括:存储桶的名称,分层任务配置天数,分层任务配置天数至少与存储桶的一个分层任务的配置天数相同;将至少一条分层任务信息存入目标生命周期对象。

具体的,生成生命周期对象中存储的分层任务信息可以采用如下方式:读取存储桶的名称和存储桶的所有生命周期任务,然后读取生命周期任务的所有分层任务;读取所有分层任务的配置天数,仅将不同的配置天数提取出来而不关注分层任务的类型,例如,当存储桶中存在一个5天的复制任务、5天的分层任务和10天的复制任务的情况下,提取出两个分层任务配置天数分别为5天和10天;将存储桶的桶名称和多个分层任务配置天数进行组合,生成多条分层任务信息,例如,在上面的例子中,该生命周期对象中最终存入了两条分层任务信息,分别是{桶名称:5天}和{桶名称:10天}。

图3是根据本发明可选实施方式提供的分层任务信息拼接方式示意图,如图3所示,分层任务信息中还可以包括多种其他信息并拼接而成,例如可以包括桶的名称、桶的id和任务的执行状态。具体的拼接过程以图3为例,将存储桶中的一个生命周期任务象中的四个分层任务结合其他信息拼接成四个分层任务信息,其中,“t::bucket1:4a83220a4.110906:1”为一条分层任务信息,“t”表示该分层任务尚未执行,“bucket1”表示该存储桶的名称,“4a83220a4.110906”为该存储桶的桶id,该桶id全局唯一,结尾的“1”表示该分层任务信息对应的分层任务的配置天数为1天。将该生命周期任务的四个分层任务生成了四条分层任务信息后,在生命周期对象中将上述四条分层任务信息按照字典序排序后进行存储,如图所示,该生命周期对象命名为lc.2。

此外,在该生命周期对象lc.2中,每一条分层任务信息可以以k-v对(key-value键值对,简称k-v对)的形式进行存储,在key部分中,可以将上述“t::bucket1:4a83220a4.110906:1”存储在内,而value部分中存储有每个具体的分层任务的执行状况。例如,由于key部分存储的信息的格式如上,因此同一个分层任务信息可以对应同一个存储桶中的多个不同的分层任务,而将多个分层任务各自的执行状况信息可以存储在value部分中。图3中的“前缀bucket1/aa,数据流向,class7,当前执行日志,log1adfgw”示出了value部中的一条分层任务的执行状况信息,结合key部分的信息可以确定,上述信息表示该执行状况信息对应桶id为4a83220a4.110906的存储桶中的前缀为bucket1/aa的一个生命周期任务中的分层任务,该分层任务的配置天数为1天,且该分层任务的数据流向为class7(流向了class7对应的存储桶),以及当前的日志检查执行到了何处。

作为一种可选的实施例,确定与存储桶对应的目标生命周期对象,其中,目标生命周期对象为n个生命周期对象之一,包括:获取存储桶的桶名称;确定桶名称对应的哈希值,将哈希值对n取模,得到存储桶对应的序号;根据序号,确定与存储桶对应的目标生命周期对象,其中,目标生命周期对象为n个生命周期对象中与序号对应的生命周期对象。通过本可选的实施例,可以实现将海量的存储桶中的分层任务存储到有限数量的生命周期对象中,便于对生命周期对象的管理,提高了查找和计算效率。

图4是根据本发明可选实施方式提供的存储桶-生命周期对象对应关系示意图,如图4所示,在用于存储生命周期任务的生命周期对象为32个的情况下,创建与bucket1对应的生命周期任务之后,首先对存储桶bucket1的桶id计算哈希值,得到与该桶id对应的哈希值;然后将上述哈希值对32取模,得到一个对应的序号;然后根据序号从32个生命周期对象中确定与该存储桶对应的生命周期对象,例如,对应的生命周期对象可以为lc.2。得到存储桶与生命周期对象的对应关系之后,可以根据存储桶中的生命周期任务rule1中的分层任务生成4条lc配置项,即4条分层任务信息,并写入生命周期对象lc.2中,并将存储桶与生命周期对象的对应关系单独记入一个lc-bucket对象中,便于管理和调用。

作为一种可选的实施例,通过获取目标生命周期对象中存储的目标分层任务信息,可以实现根据目标分层任务信息,确定存储桶和目标分层任务配置天数,其中,目标生命周期对象中存储有至少一条分层任务信息,分层任务信息至少包括存储桶的名称,分层任务配置天数。例如,根据分层任务信息的固定拼接方式,可以从中确定需要的信息。具体的,当分层任务信息的信息拼接方式为“t::bucket1:4a83220a4.110906:1”时,该拼接结构可以为“任务执行状况::桶名称:桶id:分层任务配置天数”。根据上述固定拼接方式可知,该信息对应的存储桶的桶id为4a83220a4.110906,且对应的分层任务配置天数为1天。

作为一种可选的实施例,根据目标分层任务配置天数,确定存储桶中的数据对象,可以根据目标分层任务配置天数,读取存储桶在第一目标日期的日志,得到在第一目标日期上传至存储桶的数据对象,其中,第一目标日期为过去的日期,且与当前日期的时间间隔为目标分层任务配置天数。例如,当目标分层任务配置天数为5天的情况下,可以先读取存储桶过去的且与当前日期间隔为5天的日志,在通过读取5天前的日志,在日志中查找到在上述日期中存入存储桶的数据对象,即为确定的数据对象。当存储桶在上述日期中存入了多个数据对象时,可以依次对多个数据对象执行分层任务的检查。

作为一种可选的实施例,在分层任务信息还包括生命周期任务的日志检查日期的情况下,还可以根据目标分层任务配置天数和生命周期任务的日志检查日期,读取存储桶在第二目标日期内的日志,得到数据对象,其中,数据对象在第二目标日期中上传至存储桶,第二目标日期包括日志检查日期至第一目标日期之间的日期。图5是根据本发明可选实施方式提供的日志检查流程示意图,如图5所示,可以通过如下步骤得到数据对象并确定待执行保序检查流程的分层任务:

首先,读取分层任务信息,得到“bucket1执行4天分层到class8”,表示待执行保序检查流程的存储桶为bucket1,且对应的分层任务的配置天数为4天,并且该分层任务的数据流向为将数据对象分层到class8。

其次通过计算当前日期减去4天,得到上述的第一目标日期。

再次,根据存储桶前缀和时间戳匹配日志,其中,时间戳即为该分层任务信息包括的一条分层任务在上一次执行保序检查的时间,日志为存储桶的日志文件。例如,当存储桶bucket1中的一个分层任务的时间戳为20201007时,表示该分层任务在20201007这个日期时执行过一次保序检查,因此在当前日期对该分层任务执行保序检查时,可以不再读去20201007这一日期以前的日志,而只读取20201007这一日期至第一目标日期之间的第二目标日期,在本可选实施例中,20201007为日志检查日期,20201011则为第一目标日期,20201007至20201011的4天为第二目标日期。在确定了第二目标日期之后,可以仅读取第二目标日期中的日志来查找符合要求的数据对象,而不用再重复对日志检查日期以前的日志进行数据对象的查找,大大简化了通过日志查找数据对象的工作流程。

作为一种可选的实施例,在确定数据对象的第一分层任务已执行的情况下,执行生命周期任务中的第二分层任务对数据对象进行分层,可以通过如下方式实现:确定数据对象的上传天数,其中,上传天数为数据对象上传至存储桶的日期至存储桶当前日期的天数;在上传天数等于第二分层任务的配置天数的情况下,执行第二分层任务对数据对象进行分层。通过读取存储桶的日志文件,可以确定数据对象上传到存储桶的日期,并计算出从上传到当前日期的天数。

作为一种可选的实施例,确定与数据对象对应的生命周期任务,其中,生命周期任务用于改变数据对象的存储状态,生命周期任务包括至少一个分层任务,可以通过如下方式:读取存储桶的生命周期任务;根据目标分层任务配置天数,从存储桶的生命周期任务中筛选得到与数据对象对应的生命周期任务,其中,与数据对象对应的生命周期任务包括第二分层任务,第二分层任务的配置天数与目标分层任务配置天数相同。

作为一种可选的实施方式,一个存储桶中可以包括多个生命周期任务,每个生命周期任务中又可以包括多个分层任务。因此,可以首先遍历存储桶中所有的生命周期任务,确定包括的所有分层任务的配置天数,当生命周期任务包括的分层任务的配置天数与目标分层任务配置天数相同时,确定该分层任务所属的生命周期任务为与该目标分层任务配置天数相对应的生命周期任务。

此外,当同一数据对象对应了多个生命周期任务,且多个生命周期任务均包括配置天数为目标分层任务配置天数的分层任务时,可以通过匹配数据对象和多个生命周期任务的前缀的方式,确定多个生命周期任务中与数据对象匹配的唯一的生命周期任务。

作为一种可选的实施例,确定数据对象的第一分层任务的执行状态,其中,第一分层任务的配置天数小于目标分层任务配置天数,可以通过如下方式实现:读取数据对象的分层属性,其中,分层属性存储于数据对象的元数据中;在分层属性包括与第一分层任务对应的分层数据的情况下,确定数据对象已执行第一分层任务;或,在分层属性不包括与第一分层任务对应的分层数据的情况下,确定数据对象未执行第一分层任务。

图6是根据本发明可选实施方式提供的第一分层任务执行状态检查的流程示意图,如图6所示,可以将分层任务的执行状态存储在数据对象的元数据中,其中,将分层任务的执行状态以分层属性的方式进行存储。例如,对于图6左侧的生命周期任务rule1,当其执行了1天复制到class7的分层任务之后,rule1对应的数据对象的元数据的分层属性中会记录“class7”,表示该数据对象已经执行过1天复制的分层任务,当进行4天分层的保序检查前,只需要读取该数据对象的分层属性,确定其中是否有class7的记录即可,若有,则表示1天复制的分层任务已经执行过,如果没有class7的记录,则表示1天复制的分层任务没有执行过。

作为一种可选的实施例,在确定数据对象未执行第一分层任务的情况下,跳过执行第二分层任务并反馈报告。通过跳过执行第二分层任务,可以确保数据对象的生命周期任务整体的保序执行,避免生命周期任务中的分层任务没有实现按照配置天数的时间顺序依次执行。

实施例2

根据本发明实施例,还提供了一种用于实施上述任务处理方法的任务处理装置,图7是根据本发明实施例提供的任务处理装置的结构框图,如图7所示,该任务处理装置包括:第一确定模块71,第二确定模块72,第三确定模块73,第四确定模块74,和执行模块75,下面对该任务处理装置进行说明。

第一确定模块71,用于确定存储桶和目标分层任务配置天数,其中,存储桶为分布式存储服务中用于存储对象的容器;

第二确定模块72,连接于上述第一确定模块71,用于根据目标分层任务配置天数,确定存储桶中的数据对象;

第三确定模块73,连接于上述第二确定模块72,用于确定与数据对象对应的生命周期任务,其中,生命周期任务用于改变数据对象的存储状态,生命周期任务包括至少一个分层任务;

第四确定模块74,连接于上述第三确定模块73,用于在生命周期任务中包括第一分层任务的情况下,确定数据对象的第一分层任务的执行状态,其中,第一分层任务的配置天数小于目标分层任务配置天数;

执行模块75,连接于上述第四确定模块74,用于在确定数据对象的第一分层任务已执行的情况下,执行生命周期任务中的第二分层任务对数据对象进行分层,其中,第二分层任务的配置天数大于第一分层任务的配置天数。

此处需要说明的是,上述第一确定模块71,第二确定模块72,第三确定模块73,第四确定模块74,和执行模块75对应于实施例1中的步骤s101至步骤s105,多个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。

实施例3

本发明的实施例可以提供一种计算机设备,可选地,在本实施例中,上述计算机设备可以位于计算机网络的多个网络设备中的至少一个网络设备。该计算机设备包括存储器和处理器。

其中,存储器可用于存储软件程序以及模块,如本发明实施例中的任务处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及任务处理,即实现上述的任务处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:确定存储桶和目标分层任务配置天数,其中,存储桶为分布式存储服务中用于存储对象的容器;根据目标分层任务配置天数,确定存储桶中的数据对象;确定与数据对象对应的生命周期任务,其中,生命周期任务用于改变数据对象的存储状态,生命周期任务包括至少一个分层任务;在生命周期任务中包括第一分层任务的情况下,确定数据对象的第一分层任务的执行状态,其中,第一分层任务的配置天数小于目标分层任务配置天数;在确定数据对象的第一分层任务已执行的情况下,执行生命周期任务中的第二分层任务对数据对象进行分层,其中,第二分层任务的配置天数大于第一分层任务的配置天数。

可选的,上述处理器还可以执行如下步骤的程序代码:确定数据对象的第一分层任务的执行状态,其中,第一分层任务的配置天数小于目标分层任务配置天数,包括:读取数据对象的分层属性,其中,分层属性存储于数据对象的元数据中;在分层属性包括与第一分层任务对应的分层数据的情况下,确定数据对象已执行第一分层任务;或,在分层属性不包括与第一分层任务对应的分层数据的情况下,确定数据对象未执行第一分层任务。

可选的,上述处理器还可以执行如下步骤的程序代码:确定与数据对象对应的生命周期任务,其中,生命周期任务用于改变数据对象的存储状态,生命周期任务包括至少一个分层任务,包括:读取存储桶的生命周期任务;根据目标分层任务配置天数,从存储桶的生命周期任务中筛选得到与数据对象对应的生命周期任务,其中,与数据对象对应的生命周期任务包括第二分层任务,第二分层任务的配置天数与目标分层任务配置天数相同。

可选的,上述处理器还可以执行如下步骤的程序代码:根据目标分层任务配置天数,确定存储桶中的数据对象,包括:根据目标分层任务配置天数,读取存储桶在第一目标日期的日志,得到在第一目标日期上传至存储桶的数据对象,其中,第一目标日期为过去的日期,且与当前日期的时间间隔为目标分层任务配置天数。

可选的,上述处理器还可以执行如下步骤的程序代码:在分层任务信息还包括生命周期任务的日志检查日期的情况下,还可以通过如下方式确定存储桶中的数据对象:根据目标分层任务配置天数和生命周期任务的日志检查日期,读取存储桶在第二目标日期内的日志,得到数据对象,其中,数据对象在第二目标日期中上传至存储桶,第二目标日期包括日志检查日期至第一目标日期之间的日期。

可选的,上述处理器还可以执行如下步骤的程序代码:在确定数据对象的第一分层任务已执行的情况下,执行生命周期任务中的第二分层任务对数据对象进行分层,包括:确定数据对象的上传天数,其中,上传天数为数据对象上传至存储桶的日期至存储桶当前日期的天数;在上传天数等于第二分层任务的配置天数的情况下,执行第二分层任务对数据对象进行分层。

可选的,上述处理器还可以执行如下步骤的程序代码:在确定数据对象未执行第一分层任务的情况下,跳过执行第二分层任务并反馈报告。

可选的,上述处理器还可以执行如下步骤的程序代码:确定存储桶和目标分层任务配置天数,包括:获取目标生命周期对象中存储的目标分层任务信息,其中,目标生命周期对象中存储有至少一条分层任务信息,分层任务信息至少包括:存储桶的名称,分层任务配置天数;根据目标分层任务信息,确定存储桶和目标分层任务配置天数。

可选的,上述处理器还可以执行如下步骤的程序代码:在获取生命周期对象中存储的目标分层任务信息之前,还包括:创建n个生命周期对象,其中,n为不小于1的自然数;确定与存储桶对应的目标生命周期对象,其中,目标生命周期对象为n个生命周期对象之一;根据存储桶的名称和存储桶中存储的生命周期任务,生成至少一条分层任务信息,其中,每个生命周期任务至少包括一个分层任务,分层任务信息至少包括:存储桶的名称,分层任务配置天数,分层任务配置天数至少与存储桶的一个分层任务的配置天数相同;将至少一条分层任务信息存入目标生命周期对象。

可选的,上述处理器还可以执行如下步骤的程序代码:确定与存储桶对应的目标生命周期对象,其中,目标生命周期对象为n个生命周期对象之一,包括:获取存储桶的桶名称;确定桶名称对应的哈希值,将哈希值对n取模,得到存储桶对应的序号;根据序号,确定与存储桶对应的目标生命周期对象,其中,目标生命周期对象为n个生命周期对象中与序号对应的生命周期对象。

采用本发明实施例,提供了一种图像处理的方案。通过,从而达到了目的,进而解决了相关技术中,的技术问题。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

实施例4

本发明的实施例还提供了一种非易失性存储介质。可选地,在本实施例中,上述非易失性存储介质可以用于保存上述实施例1所提供的任务处理方法所执行的程序代码。

可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:确定存储桶和目标分层任务配置天数,其中,存储桶为分布式存储服务中用于存储对象的容器;根据目标分层任务配置天数,确定存储桶中的数据对象;确定与数据对象对应的生命周期任务,其中,生命周期任务用于改变数据对象的存储状态,生命周期任务包括至少一个分层任务;在生命周期任务中包括第一分层任务的情况下,确定数据对象的第一分层任务的执行状态,其中,第一分层任务的配置天数小于目标分层任务配置天数;在确定数据对象的第一分层任务已执行的情况下,执行生命周期任务中的第二分层任务对数据对象进行分层,其中,第二分层任务的配置天数大于第一分层任务的配置天数。

可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:确定数据对象的第一分层任务的执行状态,其中,第一分层任务的配置天数小于目标分层任务配置天数,包括:读取数据对象的分层属性,其中,分层属性存储于数据对象的元数据中;在分层属性包括与第一分层任务对应的分层数据的情况下,确定数据对象已执行第一分层任务;或,在分层属性不包括与第一分层任务对应的分层数据的情况下,确定数据对象未执行第一分层任务。

可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:确定与数据对象对应的生命周期任务,其中,生命周期任务用于改变数据对象的存储状态,生命周期任务包括至少一个分层任务,包括:读取存储桶的生命周期任务;根据目标分层任务配置天数,从存储桶的生命周期任务中筛选得到与数据对象对应的生命周期任务,其中,与数据对象对应的生命周期任务包括第二分层任务,第二分层任务的配置天数与目标分层任务配置天数相同。

可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:根据目标分层任务配置天数,确定存储桶中的数据对象,包括:根据目标分层任务配置天数,读取存储桶在第一目标日期的日志,得到在第一目标日期上传至存储桶的数据对象,其中,第一目标日期为过去的日期,且与当前日期的时间间隔为目标分层任务配置天数。

可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在分层任务信息还包括生命周期任务的日志检查日期的情况下,还可以通过如下方式确定存储桶中的数据对象:根据目标分层任务配置天数和生命周期任务的日志检查日期,读取存储桶在第二目标日期内的日志,得到数据对象,其中,数据对象在第二目标日期中上传至存储桶,第二目标日期包括日志检查日期至第一目标日期之间的日期。

可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在确定数据对象的第一分层任务已执行的情况下,执行生命周期任务中的第二分层任务对数据对象进行分层,包括:确定数据对象的上传天数,其中,上传天数为数据对象上传至存储桶的日期至存储桶当前日期的天数;在上传天数等于第二分层任务的配置天数的情况下,执行第二分层任务对数据对象进行分层。

可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在确定数据对象未执行第一分层任务的情况下,跳过执行第二分层任务并反馈报告。

可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:确定存储桶和目标分层任务配置天数,包括:获取目标生命周期对象中存储的目标分层任务信息,其中,目标生命周期对象中存储有至少一条分层任务信息,分层任务信息至少包括:存储桶的名称,分层任务配置天数;根据目标分层任务信息,确定存储桶和目标分层任务配置天数。

可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在获取生命周期对象中存储的目标分层任务信息之前,还包括:创建n个生命周期对象,其中,n为不小于1的自然数;确定与存储桶对应的目标生命周期对象,其中,目标生命周期对象为n个生命周期对象之一;根据存储桶的名称和存储桶中存储的生命周期任务,生成至少一条分层任务信息,其中,每个生命周期任务至少包括一个分层任务,分层任务信息至少包括:存储桶的名称,分层任务配置天数,分层任务配置天数至少与存储桶的一个分层任务的配置天数相同;将至少一条分层任务信息存入目标生命周期对象。

可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:确定与存储桶对应的目标生命周期对象,其中,目标生命周期对象为n个生命周期对象之一,包括:获取存储桶的桶名称;确定桶名称对应的哈希值,将哈希值对n取模,得到存储桶对应的序号;根据序号,确定与存储桶对应的目标生命周期对象,其中,目标生命周期对象为n个生命周期对象中与序号对应的生命周期对象。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

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

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

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

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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