大数据任务执行方法、装置、存储介质以及服务器
文献发布时间:2023-06-19 09:54:18
技术领域
本申请涉及计算机技术领域,尤其涉及一种大数据任务执行方法、装置、存储介质以及服务器。
背景技术
随着科学技术的发展,大数据的应用越来越彰显其优势,应用大数据的领域也越来越多,例如电子商务、O2O、物流配送等。任务作为大数据平台中数据处理中的最小单元,其数量也呈现出爆发性的增长,因此关于任务的执行操作也成本领域人员研究的重点之一。
在相关技术中,现有的任务调度方案中定义了的任务接口,仅可以实现快速将任务接入开发当中,但是该任务接口主要是针对普通后端任务而设计的,并不是针对大数据任务设计的,无法很好的适应入高延迟、低并发等场景。
发明内容
本申请提供一种大数据任务执行方法、装置、存储介质以及服务器,可以解决相关技术中的任务接口对大数据任务处理效果较差的技术问题。
第一方面,本申请实施例提供一种大数据任务执行方法,所述方法包括:
创建大数据任务,以及将所述大数据任务拆解为至少两个子任务;
根据所述大数据任务创建至少一个记录事件,所述记录事件用于记录各子任务被执行时的信息;
根据预设子任务执行定义执行各子任务。
可选地,所述将所述大数据任务拆解为至少两个子任务之后,还包括:根据所述大数据任务对应的目标场景创建触发事件,所述触发事件用于在预设时间点触发执行所述根据预设子任务执行定义执行各子任务。
可选地,所述将所述大数据任务拆解为至少两个子任务之后,还包括:根据所述大数据任务对应的目标场景生成所述预设子任务执行定义;所述预设子任务执行定义包括各子任务的执行逻辑、各子任务的执行时的状态与所述大数据任务的状态之间的对应关系。
可选地,当所述各子任务的执行逻辑为串行执行时,所述各子任务的执行时的状态与所述大数据任务的状态之间的对应关系,包括:当各子任务中的第一个子任务处于运行中的状态时,确定所述大数据任务的状态为任务运行中,并执行第一事件;当各子任务中的最后一个子任务处于完成的状态时,确定所述大数据任务的状态为任务完成,并执行第二事件;当各子任务中的任意一个子任务处于停止的状态时,确定所述大数据任务的状态为任务停止,并执行第三事件;当各子任务中的任意一个子任务处于错误的状态时,确定所述大数据任务的状态为任务错误,并执行第四事件。
可选地,所述将所述大数据任务拆解为至少两个子任务之后,还包括:分别创建各子任务对应的各心跳事件,各心跳事件用于检查对应的各子任务的状态,各心跳事件的状态与对应的各子任务的状态一致;生成针对各心跳事件的心跳线程,所述心跳线程用于周期性更新各心跳事件,以使得各心跳事件周期性检查对应各子任务的状态;生成针对各心跳事件的探测线程,所述探测线程用于在检测到目标心跳事件处于停止状态或者错误状态时,重启所述目标心跳事件对应的目标子任务。
可选地,所述子任务执行多次的结果与所述子任务执行一次的结果相同。
可选地,所述根据预设子任务执行定义执行各子任务,包括:根据所述各子任务的执行逻辑执行各子任务,以及根据所述各子任务的执行时的状态与所述大数据任务的状态之间的对应关系获取所述大数据任务的状态。
第二方面,本申请实施例提供一种大数据任务执行装置,该装置包括:
任务拆解模块,用于创建大数据任务,以及将所述大数据任务拆解为至少两个子任务;
记录模块,用于根据所述大数据任务创建至少一个记录事件,所述记录事件用于记录各子任务被执行时的信息;
执行模块,用于根据预设子任务执行定义执行各子任务。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法的步骤。
第四方面,本申请实施例提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法的步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供一种大数据任务执行方法,首先创建大数据任务,以及将大数据任务拆解为至少两个子任务;然后根据大数据任务创建至少一个记录事件,记录事件用于记录各子任务被执行时的信息;最后根据预设子任务执行定义执行各子任务。由于在创建大数据任务之后,可以将大数据任务中庞大的数据任务拆解为至少两个子任务,也即通过执行子任务去分担执行大数据任务的压力,有效提高了对大数据任务的处理效率,且还可以通过记录事件对各子任务的记录,便于对各子任务跟踪以及错误排查。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种大数据任务执行方法的示例性系统架构图;
图2为本申请实施例提供的一种大数据任务执行方法的系统交互图;
图3为本申请另一实施例提供的大数据任务执行方法的流程示意图;
图4为本申请另一实施例提供的一种大数据任务执行方法的流程示意图;
图5为本申请另一实施例提供的一种大数据任务执行装置的结构示意图;
图6为本申请另一实施例提供的一种大数据任务执行装置的结构示意图;
图7为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使得本申请的特征和优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种大数据任务执行方法的示例性系统架构图。
如图1所示,系统架构可以包括至少一个终端110、一个服务器120以及通信链路130,其中通信链路130用于在终端110和服务器120之间提供通信链路的介质。通信链路130可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆的,无线通信链路包括蓝牙通信链路、近场通信链路、Wi-Fi通信链路或微波通信链路等。
终端110可以是硬件,也可以是软件。当终端110为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携式计算机和台式计算机等。当终端110为软件时,可以是安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。终端110上可以安装有各种通信客户端应用,例如:绘图应用、视频录制应用、视频播放应用、语音采集应用、语音交互应用、搜索类应用、及时通信工具、邮箱客户端以及社交平台软件等。
服务器120可以是提供各种服务的业务服务器。需要说明的是,服务器120可以是硬件,也可以是软件。当服务器120为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器120为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。
应理解,图1中的终端、服务器以及通信链路的数目仅是示意性的。根据实现需要,可以是任意数量的终端、服务器以及通信链路。请参阅图2,图2为本申请实施例提供的一种大数据任务执行方法的系统交互图,下面将结合图1和图2介绍一种大数据任务执行方法中系统交互过程。
S201、终端发送目标场景以及需求至服务器。
S202、服务器根据目标场景以及需求创建大数据任务,以及将大数据任务拆解为至少两个子任务。
可选地,将大数据任务拆解为至少两个子任务之后,还包括:根据大数据任务对应的目标场景创建触发事件,触发事件用于在预设时间点触发执行根据预设子任务执行定义执行各子任务。
可选地,将大数据任务拆解为至少两个子任务之后,还包括:根据大数据任务对应的目标场景生成预设子任务执行定义;预设子任务执行定义包括各子任务的执行逻辑、各子任务的执行时的状态与大数据任务的状态之间的对应关系。
可选地,当各子任务的执行逻辑为串行执行时,各子任务的执行时的状态与大数据任务的状态之间的对应关系,包括:当各子任务中的第一个子任务处于运行中的状态时,确定大数据任务的状态为任务运行中,并执行第一事件;当各子任务中的最后一个子任务处于完成的状态时,确定大数据任务的状态为任务完成,并执行第二事件;当各子任务中的任意一个子任务处于停止的状态时,确定大数据任务的状态为任务停止,并执行第三事件;当各子任务中的任意一个子任务处于错误的状态时,确定大数据任务的状态为任务错误,并执行第四事件。
可选地,将大数据任务拆解为至少两个子任务之后,还包括:分别创建各子任务对应的各心跳事件,各心跳事件用于检查对应的各子任务的状态,各心跳事件的状态与对应的各子任务的状态一致;生成针对各心跳事件的心跳线程,心跳线程用于周期性更新各心跳事件,以使得各心跳事件周期性检查对应各子任务的状态;生成针对各心跳事件的探测线程,探测线程用于在检测到目标心跳事件处于停止状态或者错误状态时,重启目标心跳事件对应的目标子任务。
可选地,其特征在于,子任务执行多次的结果与子任务执行一次的结果相同。
S203、服务器根据大数据任务创建至少一个记录事件,记录事件用于记录各子任务被执行时的信息。
S204、服务器根据预设子任务执行定义执行各子任务。
可选地,根据预设子任务执行定义执行各子任务,包括:根据各子任务的执行逻辑执行各子任务,以及根据各子任务的执行时的状态与大数据任务的状态之间的对应关系获取大数据任务的状态。
在本申请实施例中,首先创建大数据任务,以及将大数据任务拆解为至少两个子任务;然后根据大数据任务创建至少一个记录事件,记录事件用于记录各子任务被执行时的信息;最后根据预设子任务执行定义执行各子任务。由于在创建大数据任务之后,可以将大数据任务中庞大的数据任务拆解为至少两个子任务,也即通过执行子任务去分担执行大数据任务的压力,有效提高了对大数据任务的处理效率,且还可以通过记录事件对各子任务的记录,便于对各子任务跟踪以及错误排查。
请参阅图3,图3为本申请另一实施例提供的大数据任务执行方法的流程示意图。
S301、创建大数据任务,以及将大数据任务拆解为至少两个子任务。
可以理解的,本申请中所提到的方法步骤可以认为是一种任务执行接口,也即调用该任务执行接口,相当于执行任务执行接口对应的方法步骤。本申请实施例的执行主体可以认为是服务器,服务器可以与多个终端进行交互,当终端根据实际业务场景需要进行较大数据容量的大数据任务时,一般不会直接在终端内部进行,因为这会耗费相当长的时间,因此终端可以将当前业务场景也即目标场景以及需求发送至服务器,以使得服务器根据目标场景以及需求创建大数据任务,以及对大数据任务进行执行处理,由于服务器具有更高的配置以及处理速度,可以大大提高对大数据任务的处理效率,例如,当多个终端中的某一购物客户端同时需要购物物品时,各终端可以将购物场景以及需要购物的信息送至服务器,服务器可以根据购物场景以及购物信息创建相对应的大数据任务。在本申请实施例中,对大数据任务并没有严格意义上的要求,对于大数据任务可以认为是处理数据量超过预设值的任务,另外本申请也可以处理普通任务,但是对于大数据任务更能发挥出效果。
在创建大数据任务之后,还可以将大数据任务拆解为至少两个子任务,其中将大数据任务拆解为子任务的目的是,由于大数据任务普遍具有较多数据需要进行处理,那么将大数据任务拆解为至少两个子任务后,也即将原来大数据任务中较多数据处理量分摊给多个子任务进行处理,减轻了服务器对大数据任务的处理压力。还可以对子任务执行时的逻辑以及处理状态进行定义,也即生成预设子任务执行定义,便于后续在执行子任务时,可以提高子任务的执行效率,相当于提高了对大数据任务的处理效率。
可选地,在本申请实施例中,根据大数据任务的实际任务量,也可以大数据任务拆解为一个子任务。
S302、根据大数据任务创建至少一个记录事件,记录事件用于记录各子任务被执行时的信息。
由于将大数据任务拆解为至少两个子任务,如果采用现有技术中通过日志记录大数据任务的执行时的信息,那么日志只能记录子任务被执行时的基础信息,例如,执行开始以及执行结果,而不能记录子任务按照预设子任务执行定义执行时的详细信息,因此在本申请实施例中,还可以根据大数据任务创建至少一个记录事件,记录事件与预设子任务执行定义对应,其中记录事件用于记录各子任务被执行时的各种信息,记录事件的数量可以根据预设子任务执行定义包括的具体执行定义的数量进行设定。例如,当预设子任务执行定义包括关于子任务被执行时的五种执行定义,那么可以设置记录事件的数量为五个,这个五个记录事件分别用于记录各子任务按照五种执行定义执行时的信息。
S303、根据预设子任务执行定义执行各子任务。
在上述步骤中,不仅将大数据任务拆解为至少两个子任务,还针对子任务设置了预设子任务执行定义,因此可以根据预设子任务执行定义去执行各子任务,以实现子任务按照预设子任务执行定义中包括的预设逻辑进行运行,以及执行相关事件,便于记录事件对子任务被执行的各种信息。
在本申请实施例中,首先创建大数据任务,以及将大数据任务拆解为至少两个子任务;然后根据大数据任务创建至少一个记录事件,记录事件用于记录各子任务被执行时的信息;最后根据预设子任务执行定义执行各子任务。由于在创建大数据任务之后,可以将大数据任务中庞大的数据任务拆解为至少两个子任务,也即通过执行子任务去分担执行大数据任务的压力,有效提高了对大数据任务的处理效率,且还可以通过记录事件对各子任务的记录,便于对各子任务跟踪以及错误排查。
请参阅图4,图4为本申请另一实施例提供的一种大数据任务执行方法的流程示意图。
S401、创建大数据任务,以及将大数据任务拆解为至少两个子任务。
关于步骤S401,请参阅步骤S301中的详细记载,此处不再赘述。
S402、根据大数据任务对应的目标场景创建触发事件,触发事件用于在预设时间点触发执行根据预设子任务执行定义执行各子任务。
可选地,在本申请实施例中还可以根据大数据任务对应的目标场景创建触发事件,在上述实施例中已经介绍了,服务器是根据终端发送的目标场景以及需求创建的大数据任务,因此服务器还可以获取大数据任务对应的目标场景,而目标场景代表了大数据任务的类型,那么根据大数据任务对应的目标场景可以自定义创建并设置触发事件的触发时机,其中触发事件用于在预设时间点触发执行根据预设子任务执行定义执行各子任务,预设时间点可以当前时间,那么触发事件也就用于在服务器创建大数据任务之后,立即执行根据预设子任务执行定义执行各子任务;预设时间点还可以是延迟预设时间,那么触发事件也就用于在服务器创建大数据任务之后,延迟预设时间后执行根据预设子任务执行定义执行各子任务。
S403、根据大数据任务对应的目标场景生成预设子任务执行定义。
在上述步骤中由于将大数据任务拆解为至少两个子任务,因此关于各子任务的执行逻辑以及各子任务的执行状态,需要进行限定或者定义,便于各子任务高效有序地执行。在上述实施例中已经介绍了,服务器是根据终端发送的目标场景以及需求创建的大数据任务,因此服务器还可以获取大数据任务对应的目标场景,而目标场景代表了大数据任务的类型,那么可以根据大任务数据对应的目标场景生成预设子任务执行定义,当子任务根据预设子任务执行定义执行子任务时,可以更加符合目标场景的逻辑或者更加符合使用者的需求。
可选地,预设子任务执行定义可以包括各子任务的执行逻辑、各子任务的执行时的状态与大数据任务的状态之间的对应关系。各子任务的执行逻辑是指各子任务在执行时的顺序,各子任务的执行逻辑可以是串行执行,也即各子任务依次执行,例如,当子任务包括第一子任务、第二子任务、第三子任务以及第四子任务时,各子任务的执行逻辑是串行执行是指,第一子任务、第二子任务、第三子任务以及第四子任务在执行时,是先执行第一子任务,等第一子任务执行完成后,再执行第二子任务,等第二子任务执行完成后,再执行第三子任务,等第三子任务执行完成后,在执行第四子任务,当第四子任务执行完毕后,整个大数据任务执行完成;各子任务的执行逻辑还可以是并行执行,也即各子任务不分先后同时执行,例如,当子任务包括第一子任务、第二子任务、第三子任务以及第四子任务时,各子任务的执行逻辑是并行执行是指,第一子任务、第二子任务、第三子任务以及第四子任务同时进行执行时,当第一子任务、第二子任务、第三子任务以及第四子任务均完成后,整个大数据任务执行完成。
在实际应用中,用户可以根据实际需要选择合适子任务的执行方式,为方便描述,在本申请实施例中以各子任务的执行逻辑为串行执行为例,介绍预设子任务执行定义,当各子任务的执行逻辑为串行执行时,可以确定各子任务的执行时的状态与大数据任务的状态之间的对应关系,具体包括:当各子任务中的第一个子任务处于运行中的状态时,确定大数据任务的状态为任务运行中,并执行第一事件;当各子任务中的最后一个子任务处于完成的状态时,确定大数据任务的状态为任务完成,并执行第二事件;当各子任务中的任意一个子任务处于停止的状态时,确定大数据任务的状态为任务停止,并执行第三事件;当各子任务中的任意一个子任务处于错误的状态时,确定大数据任务的状态为任务错误,并执行第四事件。
由上述记载可以得知,在本申请实施例中各子任务的执行逻辑为串行执行,那么可以便于后续记录事件可以详细记录各子任务的处理过程,也便于对各子任务单独进行处理。并且由于定义了各子任务的执行时的状态与大数据任务的状态之间的对应关系,那么一旦子任务在执行过程中处于不同状态时,可以快速确定大数据任务的状态,并执行相关事件,相关事件可以是提醒、报警等提示信息,还可以是执行相关补救程序,以减少子任务在处理过程中可能出现的意外带来的损失。
S404、分别创建各子任务对应的各心跳事件,各心跳事件用于检查对应的各子任务的状态,各心跳事件的状态与对应的各子任务的状态一致。
可选地,还可以创建各子任务对应的心跳事件,在计算机领域心跳事件跟人的心跳是一样的,程序中的心跳事件一般用来判断服务端和客户端之间的通信情况,如果没有了心跳,则说明服务端和客户端之间断开连接了,有的话则说明没有断开连接。而在本申请实施例中,各心跳事件用于检查对应的各子任务的状态,各心跳事件的状态与对应的各子任务的状态一致,例如当某一心跳事件对其对应的子任务处于停止状态时,那么该心跳事件也处于停止状态。
S405、生成针对各心跳事件的心跳线程,心跳线程用于周期性更新各心跳事件,以使得各心跳事件周期性检查对应各子任务的状态。
由于子任务在进行串行执行时需要一定的时间,如果设置心跳事件持续对子任务的状态进行监测,那么会导致心跳事件耗费较多的资源,因此可以生成针对各心跳事件的心跳线程,心跳线程用于周期性更新各心跳事件,以使得各心跳事件周期性检查对应各子任务的状态,也即心跳线程每隔预设事件对各心跳事件进行更新,各心跳事件对其对应的子任务的状态进行检查,这样可以大大减少心跳事件耗费的资源。
S406、生成针对各心跳事件的探测线程,探测线程用于在检测到目标心跳事件处于停止状态或者错误状态时,重启目标心跳事件对应的目标子任务。
由于在本申请中各子任务的执行逻辑是串行执行,因此当各子任务中的任意一个子任务处于停止状态或者错误状态时,那么处于停止状态或者错误状态的子任务之后的子任务,也会处于停止状态,此时可以重启目标心跳事件对应的目标子任务,便于子任务可以继续执行下去,提高大数据任务的对于意外情况的自适应处理能力。
其中,子任务执行多次的结果与子任务执行一次的结果相同,也即各子任务都是幂等的,这样可以防止子任务在重启时,重复输出结果。
S407、根据大数据任务创建至少一个记录事件,记录事件用于记录各子任务被执行时的信息。
关于步骤S407,请参阅步骤S302中的详细记载,此处不再赘述。
S408、根据各子任务的执行逻辑执行各子任务,以及根据各子任务的执行时的状态与大数据任务的状态之间的对应关系获取大数据任务的状态。
在上述实施例中记载了,预设子任务执行定义包括各子任务的执行逻辑、各子任务的执行时的状态与大数据任务的状态之间的对应关系,因此根据预设子任务执行定义执行各子任务时,需要根据各子任务的执行逻辑执行各子任务,并且各子任务的执行时的状态与大数据任务的状态之间的对应关系已经确定了,因此可以直接通过记录事件获取大数据任务的状态。
在本申请实施例中,首先创建大数据任务,以及将大数据任务拆解为至少两个子任务;然后根据大数据任务创建至少一个记录事件,记录事件用于记录各子任务被执行时的信息;最后根据预设子任务执行定义执行各子任务。由于在创建大数据任务之后,可以将大数据任务中庞大的数据任务拆解为至少两个子任务,也即通过执行子任务去分担执行大数据任务的压力,有效提高了对大数据任务的处理效率,且还可以通过记录事件对各子任务的记录,便于对各子任务跟踪以及错误排查。
请参阅图5,图5为本申请另一实施例提供的一种大数据任务执行装置的结构示意图。
如图5所示,大数据任务执行装置500包括:
任务拆解模块510,用于创建大数据任务,以及将大数据任务拆解为至少两个子任务。
记录模块520,用于根据大数据任务创建至少一个记录事件,记录事件用于记录各子任务被执行时的信息。
执行模块530,用于根据预设子任务执行定义执行各子任务。
请参阅图6,图6为本申请另一实施例提供的一种大数据任务执行装置的结构示意图。
如图6所示,大数据任务执行装置600包括:
任务拆解模块610,用于创建大数据任务,以及将大数据任务拆解为至少两个子任务。
触发模块620,用于根据大数据任务对应的目标场景创建触发事件,触发事件用于在预设时间点触发执行根据预设子任务执行定义执行各子任务
定义生成模块630,用于根据大数据任务对应的目标场景生成预设子任务执行定义。
心跳事件模块640,用于分别创建各子任务对应的各心跳事件,各心跳事件用于检查对应的各子任务的状态,各心跳事件的状态与对应的各子任务的状态一致。
心跳线程模块650,用于生成针对各心跳事件的心跳线程,心跳线程用于周期性更新各心跳事件,以使得各心跳事件周期性检查对应各子任务的状态。
探测线程模块660,用于生成针对各心跳事件的探测线程,探测线程用于在检测到目标心跳事件处于停止状态或者错误状态时,重启目标心跳事件对应的目标子任务。
记录模块670,用于根据大数据任务创建至少一个记录事件,记录事件用于记录各子任务被执行时的信息;
执行模块680,用于根据各子任务的执行逻辑执行各子任务,以及根据各子任务的执行时的状态与大数据任务的状态之间的对应关系获取大数据任务的状态。
本申请实施例提供一种大数据任务执行装置包括:任务拆解模块,用于创建大数据任务,以及将大数据任务拆解为至少两个子任务;记录模块,用于根据大数据任务创建至少一个记录事件,记录事件用于记录各子任务被执行时的信息;执行模块,用于根据预设子任务执行定义执行各子任务。由于在创建大数据任务之后,可以将大数据任务中庞大的数据任务拆解为至少两个子任务,也即通过执行子任务去分担执行大数据任务的压力,有效提高了对大数据任务的处理效率,且还可以通过记录事件对各子任务的记录,便于对各子任务跟踪以及错误排查。
本申请实施例还提供了一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行如上述实施例中的任一项的方法的步骤。
进一步地,请参见图7,图7为本申请实施例提供了一种服务器的结构示意图。如图7所示,服务器700可以包括:至少一个中央处理器701,至少一个网络接口704,用户接口703,存储器705,至少一个通信总线702。
其中,通信总线702用于实现这些组件之间的连接通信。
其中,用户接口703可以包括显示屏(Display),可选用户接口703还可以包括标准的有线接口、无线接口。
其中,网络接口704可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,中央处理器701可以包括一个或者多个处理核心。中央处理器701利用各种接口和线路连接整个服务器700内的各个部分,通过运行或执行存储在存储器705内的指令、程序、代码集或指令集,以及调用存储在存储器705内的数据,执行服务器700的各种功能和处理数据。可选的,中央处理器701可以采用数字信号处理(Digital SignalProcessing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。中央处理器701可集成中央中央处理器(Central Processing Unit,CPU)、图像中央处理器(GraphicsProcessing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到中央处理器701中,单独通过一块芯片进行实现。
其中,存储器705可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器705包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器705可用于存储指令、程序、代码、代码集或指令集。存储器705可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器705可选的还可以是至少一个位于远离前述中央处理器701的存储装置。如图7所示,作为一种计算机存储介质的存储器705中可以包括操作系统、网络通信模块、用户接口模块以及大数据任务执行程序。
在图7所示的服务器700中,用户接口703主要用于为用户提供输入的接口,获取用户输入的数据;而中央处理器701可以用于调用存储器705中存储的大数据任务执行程序,并具体执行以下操作:
创建大数据任务,以及将大数据任务拆解为至少两个子任务;
根据大数据任务创建至少一个记录事件,记录事件用于记录各子任务被执行时的信息;
根据预设子任务执行定义执行各子任务。
中央处理器701在执行将大数据任务拆解为至少两个子任务之后,还具体执行以下步骤:根据大数据任务对应的目标场景创建触发事件,触发事件用于在预设时间点触发执行根据预设子任务执行定义执行各子任务。
中央处理器701在执行将大数据任务拆解为至少两个子任务之后,还具体执行以下步骤:根据大数据任务对应的目标场景生成预设子任务执行定义;预设子任务执行定义包括各子任务的执行逻辑、各子任务的执行时的状态与大数据任务的状态之间的对应关系。
其中,当各子任务的执行逻辑为串行执行时,各子任务的执行时的状态与大数据任务的状态之间的对应关系,包括:当各子任务中的第一个子任务处于运行中的状态时,确定大数据任务的状态为任务运行中,并执行第一事件;当各子任务中的最后一个子任务处于完成的状态时,确定大数据任务的状态为任务完成,并执行第二事件;当各子任务中的任意一个子任务处于停止的状态时,确定大数据任务的状态为任务停止,并执行第三事件;当各子任务中的任意一个子任务处于错误的状态时,确定大数据任务的状态为任务错误,并执行第四事件。
中央处理器701在执行将大数据任务拆解为至少两个子任务之后,还具体执行以下步骤:分别创建各子任务对应的各心跳事件,各心跳事件用于检查对应的各子任务的状态,各心跳事件的状态与对应的各子任务的状态一致;生成针对各心跳事件的心跳线程,心跳线程用于周期性更新各心跳事件,以使得各心跳事件周期性检查对应各子任务的状态;生成针对各心跳事件的探测线程,探测线程用于在检测到目标心跳事件处于停止状态或者错误状态时,重启目标心跳事件对应的目标子任务。
其中,子任务执行多次的结果与子任务执行一次的结果相同。
中央处理器701在执行根据预设子任务执行定义执行各子任务时,具体执行以下步骤:根据各子任务的执行逻辑执行各子任务,以及根据各子任务的执行时的状态与大数据任务的状态之间的对应关系获取大数据任务的状态。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的一种大数据任务执行方法、装置、存储介质以及服务器的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
- 大数据任务的执行方法和装置、服务器及存储介质
- 任务执行方法、任务执行服务器和存储介质