CN115794378A - 批量任务处理方法、装置、系统和计算机设备 - Google Patents
批量任务处理方法、装置、系统和计算机设备 Download PDFInfo
- Publication number
- CN115794378A CN115794378A CN202211389571.XA CN202211389571A CN115794378A CN 115794378 A CN115794378 A CN 115794378A CN 202211389571 A CN202211389571 A CN 202211389571A CN 115794378 A CN115794378 A CN 115794378A
- Authority
- CN
- China
- Prior art keywords
- function
- target
- job
- definition information
- batch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请涉及一种批量任务处理方法、装置、系统、计算机设备、存储介质和计算机程序产品,涉及分布式技术领域,可用于金融科技领域或其他领域。所述方法包括:获取针对目标批量任务的作业定义信息,作业定义信息包括执行目标批量任务的程序镜像信息;基于作业定义信息,确定函数定义信息,并将函数定义信息发送给函数计算平台;函数定义信息用于函数计算平台基于函数定义信息,创建作业函数名称对应的作业函数;向函数计算平台发送针对目标批量任务的执行指令;执行指令用于指示函数计算平台运行各作业函数名称中目标作业函数名称对应的目标作业函数实例。采用本方法能够节省分布式批量平台的计算资源消耗。
Description
技术领域
本申请涉及分布式技术领域,特别是涉及一种批量任务处理方法、装置、系统、计算机设备、存储介质和计算机程序产品。
背景技术
随着金融业务种类以及交易数据量的与日俱增,银行等金融机构对批量任务处理的需求逐渐增多,如交易数据统计分析、对账等。目前,银行的各业务应用系统可以在分布式批量平台创建批量任务,通过分布式批量平台的多个计算节点执行批量任务。
然而,随着接入分布式批量平台的业务应用系统增多,需要处理的批量任务逐渐增多,导致分布式批量平台的计算资源消耗较大。
发明内容
基于此,有必要针对上述技术问题,提供一种能够节省分布式批量平台的计算资源消耗的批量任务处理方法、装置、系统、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种批量任务处理方法。所述方法包括:
获取针对目标批量任务的作业定义信息,所述作业定义信息包括执行所述目标批量任务的程序镜像信息;
基于所述作业定义信息,确定函数定义信息,并将所述函数定义信息发送给函数计算平台;所述函数定义信息包括所述程序镜像信息、以及所述程序镜像信息对应的作业函数名称;所述函数定义信息用于所述函数计算平台基于所述函数定义信息,创建所述作业函数名称对应的作业函数;
向所述函数计算平台发送针对所述目标批量任务的执行指令;所述执行指令用于指示所述函数计算平台运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例。
在其中一个实施例中,所述作业定义信息还包括所述程序镜像信息对应的第一实例数量;所述向所述函数计算平台发送针对所述目标批量任务的执行指令,包括:
在各所述作业函数名称中确定目标作业函数名称,基于所述目标作业函数名称、以及所述目标作业函数名称对应的所述第一实例数量,生成针对所述目标批量任务的执行指令,并向所述函数计算平台发送所述执行指令。
在其中一个实施例中,所述作业定义信息还包括作业启动条件;所述向所述函数计算平台发送针对所述目标批量任务的执行指令之前,还包括:
根据所述作业启动条件,确定预启动时间;
在当前时间达到所述预启动时间的情况下,向所述函数计算平台发送针对所述目标批量任务的预启动指令;所述预启动指令包含所述目标作业函数名称和所述目标作业函数名称对应的第二实例数量;所述预启动指令用于指示所述函数计算平台基于所述目标作业函数名称对应的程序镜像信息,启动所述第二实例数量个目标作业函数实例。
在其中一个实施例中,所述向所述函数计算平台发送针对所述目标批量任务的预启动指令之后,还包括:
在接收到所述函数计算平台发送的目标作业函数实例信息的情况下,对所述目标作业函数实例信息进行注册;所述目标作业函数实例信息包括实例标识;
所述向所述函数计算平台发送针对所述目标批量任务的执行指令,包括:
在已注册的各所述实例标识中确定目标实例标识,基于所述目标实例标识生成针对所述目标批量任务的执行指令,并向所述函数计算平台发送所述执行指令。
在其中一个实施例中,所述基于所述作业定义信息,确定函数定义信息,并将所述函数定义信息发送给函数计算平台,包括:
基于所述作业定义信息,确定函数定义信息,并构建包含所述函数定义信息的函数定义文件;
通过文件流方式,将所述函数定义文件发送给所述函数计算平台。
第二方面,本申请还提供了另一种批量任务处理方法。所述方法包括:
接收分布式批量平台发送的函数定义信息;所述函数定义信息为所述分布式批量平台根据目标批量任务的作业定义信息确定的,所述作业定义信息包括执行所述目标批量任务的程序镜像信息;所述函数定义信息包括所述程序镜像信息和所述程序镜像信息对应的作业函数名称;
基于所述函数定义信息,创建所述作业函数名称对应的作业函数;
在接收到所述分布式批量平台发送的针对所述目标批量任务的执行指令的情况下,运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例。
在其中一个实施例中,所述作业定义信息还包括作业启动条件;所述在接收到所述分布式批量平台发送的针对所述目标批量任务的执行指令的情况下,运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例之前,还包括:
在接收到所述分布式批量平台发送的针对所述目标批量任务的预启动指令的情况下,确定所述预启动指令包含的所述目标作业函数名称和所述目标作业函数名称对应的目标实例数量,并基于所述目标作业函数名称对应的程序镜像信息,启动所述目标实例数量个目标作业函数实例。
在其中一个实施例中,所述基于所述目标作业函数名称对应的程序镜像信息,启动所述目标实例数量个目标作业函数实例之后,还包括:
将所述目标作业函数实例对应的目标作业函数实例信息发送给所述分布式批量平台,所述目标作业函数实例信息包括实例标识;所述目标作业函数实例信息用于所述分布式批量平台对所述目标作业函数实例信息进行注册,在已注册的各所述实例标识中确定目标实例标识,基于所述目标实例标识生成针对所述目标批量任务的执行指令,并向所述函数计算平台发送所述执行指令;
所述在接收到所述分布式批量平台发送的针对所述目标批量任务的执行指令的情况下,运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例,包括:
在接收到所述分布式批量平台发送的针对所述目标批量任务的执行指令的情况下,确定所述执行指令包含的所述目标实例标识,并运行所述目标实例标识对应的目标作业函数实例。
第三方面,本申请还提供了一种批量任务处理装置。所述装置包括:
获取模块,用于获取针对目标批量任务的作业定义信息,所述作业定义信息包括执行所述目标批量任务的程序镜像信息;
第一发送模块,用于基于所述作业定义信息,确定函数定义信息,并将所述函数定义信息发送给函数计算平台;所述函数定义信息包括所述程序镜像信息、以及所述程序镜像信息对应的作业函数名称;所述函数定义信息用于所述函数计算平台基于所述函数定义信息,创建所述作业函数名称对应的作业函数;
第二发送模块,用于向所述函数计算平台发送针对所述目标批量任务的执行指令;所述执行指令用于指示所述函数计算平台运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例。
在其中一个实施例中,所述作业定义信息还包括所述程序镜像信息对应的第一实例数量;所述第二发送模块具体用于:
在各所述作业函数名称中确定目标作业函数名称,基于所述目标作业函数名称、以及所述目标作业函数名称对应的所述第一实例数量,生成针对所述目标批量任务的执行指令,并向所述函数计算平台发送所述执行指令。
在其中一个实施例中,所述作业定义信息还包括作业启动条件;所述装置还包括:
确定模块,用于根据所述作业启动条件,确定预启动时间;
第三发送模块,用于在当前时间达到所述预启动时间的情况下,向所述函数计算平台发送针对所述目标批量任务的预启动指令;所述预启动指令包含所述目标作业函数名称和所述目标作业函数名称对应的第二实例数量;所述预启动指令用于指示所述函数计算平台基于所述目标作业函数名称对应的程序镜像信息,启动所述第二实例数量个目标作业函数实例。
在其中一个实施例中,所述装置还包括:
注册模块,用于在接收到所述函数计算平台发送的目标作业函数实例信息的情况下,对所述目标作业函数实例信息进行注册;所述目标作业函数实例信息包括实例标识;
相应的,所述第二发送模块具体用于:
在已注册的各所述实例标识中确定目标实例标识,基于所述目标实例标识生成针对所述目标批量任务的执行指令,并向所述函数计算平台发送所述执行指令。
在其中一个实施例中,所述第一发送模块具体用于:
基于所述作业定义信息,确定函数定义信息,并构建包含所述函数定义信息的函数定义文件;通过文件流方式,将所述函数定义文件发送给所述函数计算平台。
第四方面,本申请还提供了另一种批量任务处理装置。所述装置包括:
接收模块,用于接收分布式批量平台发送的函数定义信息;所述函数定义信息为所述分布式批量平台根据目标批量任务的作业定义信息确定的,所述作业定义信息包括执行所述目标批量任务的程序镜像信息;所述函数定义信息包含所述程序镜像信息和所述程序镜像信息对应的作业函数名称;
创建模块,用于根据所述函数定义信息,创建所述作业函数名称对应的作业函数;
运行模块,用于在接收到所述分布式批量平台发送的针对所述目标批量任务的执行指令的情况下,运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例。
在其中一个实施例中,所述作业定义信息还包括作业启动条件;所述装置还包括启动模块,用于:
在接收到所述分布式批量平台发送的针对所述目标批量任务的预启动指令的情况下,确定所述预启动指令包含的所述目标作业函数名称和所述目标作业函数名称对应的目标实例数量,并基于所述目标作业函数名称对应的程序镜像信息,启动所述目标实例数量个目标作业函数实例。
在其中一个实施例中,所述装置还包括发送模块,用于:
将所述目标作业函数实例对应的目标作业函数实例信息发送给所述分布式批量平台,所述目标作业函数实例信息包括实例标识;所述目标作业函数实例信息用于所述分布式批量平台对所述目标作业函数实例信息进行注册,在已注册的各所述实例标识中确定目标实例标识,基于所述目标实例标识生成针对所述目标批量任务的执行指令,并向所述函数计算平台发送所述执行指令;
相应的,所述运行模块具体用于:
在接收到所述分布式批量平台发送的针对所述目标批量任务的执行指令的情况下,确定所述执行指令包含的所述目标实例标识,并运行所述目标实例标识对应的目标作业函数实例。
第五方面,本申请还提供了一种批量任务处理系统。所述批量任务处理系统包括分布式批量平台和函数计算平台,其中:
所述分布式批量平台,用于获取针对目标批量任务的作业定义信息,所述作业定义信息包括执行所述目标批量任务的程序镜像信息;基于所述作业定义信息,确定函数定义信息,并将所述函数定义信息发送给所述函数计算平台;所述函数定义信息包括所述程序镜像信息、以及所述程序镜像信息对应的作业函数名称;
所述函数计算平台,用于接收所述函数定义信息,并基于所述函数定义信息,创建所述作业函数名称对应的作业函数;
所述分布式批量平台,还用于向所述函数计算平台发送针对所述目标批量任务的执行指令;
所述函数计算平台,还用于在接收到所述执行指令的情况下,运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例。
第六方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面或第二方面所述的方法的步骤。
第七方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的方法的步骤。
第八方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面或第二方面所述的方法的步骤。
上述批量任务处理方法、装置、系统、计算机设备、存储介质和计算机程序产品,通过分布式批量平台根据针对目标批量任务的作业定义信息确定函数定义信息,并将函数定义信息发送给函数计算平台,使函数计算平台创建作业函数,然后向函数计算平台发送针对目标批量任务的执行指令,指示函数计算平台运行目标作业函数实例,以完成目标批量任务的处理。本方法中,分布式批量平台是将批量任务的执行指令发送给函数计算平台,通过函数计算平台进行计算,可以有效节省分布式批量平台的计算资源消耗。并且,分布式批量平台的开发模式可以保持不变,节省开发成本的同时,可以进一步利用分布式批量平台的编排、调度、监控等功能,结合函数计算平台在计算资源调度方面的高弹性和高灵活性特点,可以实现计算资源配置的优化,达到降本增效的效果。
附图说明
图1为一个示例中批量任务处理系统的结构示意图;
图2为一个实施例中批量任务处理方法的流程示意图;
图3为另一个实施例中批量任务处理方法的流程示意图;
图4为一个实施例中发送函数定义信息的流程示意图;
图5为另一个实施例中批量任务处理方法的流程示意图;
图6为另一个示例中批量任务处理系统的结构示意图;
图7为一个实施例中批量任务处理装置的结构框图;
图8为另一个实施例中批量任务处理装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
首先,在具体介绍本申请实施例的技术方案之前,先对本申请实施例基于的技术背景或者技术演进脉络进行介绍。随着金融业务种类以及交易数据量的与日俱增,银行等金融机构对批量任务处理的需求逐渐增多,如交易数据统计分析、对账等。目前,银行的各业务应用系统可以通过分布式批量平台处理批量任务。分布式批量平台包括多个计算节点,通过各计算节点执行批量任务。然而,随着接入分布式批量平台的业务应用系统增多,需要处理的批量任务逐渐增多,导致分布式批量平台的计算资源消耗较大。例如,某金融机构内部的分布式批量平台已经接入200多个应用,涉及4万多个批量任务,日均一百多万次批量调度,并且还有持续增长的趋势,导致分布式批量平台难以应对逐渐增长的计算资源消耗。基于该背景,申请人通过长期的研发以及实验验证,提出本申请的批量任务处理方法,可以节省分布式批量平台的计算资源消耗,还能提升计算资源利用率。另外,需要说明的是,本申请技术问题的发现以及下述实施例介绍的技术方案,申请人均付出了大量的创造性劳动。
本申请实施例提供的批量任务处理方法,可以应用于如图1所示的批量任务处理系统100。批量任务处理系统100包括分布式批量平台102和函数计算平台104。其中,分布式批量平台102通过网络与函数计算平台104进行通信。分布式批量平台102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。函数计算平台104是基于无服务器技术(Serverless)构建的,用于进行函数计算。
在一个实施例中,如图2所示,提供了一种批量任务处理方法,以该方法应用于图1中的分布式批量平台102为例进行说明,包括以下步骤:
步骤201,获取针对目标批量任务的作业定义信息。
其中,作业定义信息包括执行目标批量任务的程序镜像信息。
在实施中,用户可以在分布式批量平台创建目标批量任务,并设置作业定义信息,则分布式批量平台可以获取到针对目标批量任务的作业定义信息。其中,作业定义信息包括执行目标批量任务的程序镜像信息。程序镜像信息可以包含镜像地址信息,根据镜像地址信息可以从镜像仓库中获取到对应的程序镜像文件。基于批量任务的业务数据运行程序镜像文件中的程序,可以执行对应的批量任务。目标批量任务一般包含多个作业,可以是需并行处理的作业,或具有程序依赖而需先后处理的作业。一般一个作业对应一个程序镜像信息。因此,作业定义信息中还可以包含作业名称、各作业名称对应的程序镜像信息、实例数量、作业启动条件(如定时启动)等信息。
步骤202,基于作业定义信息,确定函数定义信息,并将函数定义信息发送给函数计算平台。
其中,函数定义信息包括程序镜像信息、以及程序镜像信息对应的作业函数名称。
在实施中,分布式批量平台可以基于作业定义信息,确定函数定义信息。例如,分布式批量平台可以根据预先建立的程序镜像信息和作业函数名称的对应关系,确定作业定义信息中的各程序镜像信息对应的作业函数名称。然后,分布式批量平台可以基于程序镜像信息和对应的作业函数名称,生成函数定义信息,并将函数定义信息发送给函数计算平台,如通过超文本传输协议(HTTP协议)发送。其中,函数定义信息包括程序镜像信息、以及程序镜像信息对应的作业函数名称。函数定义信息用于函数计算平台基于函数定义信息,创建各作业函数名称对应的作业函数。一个作业函数可以对应批量任务的一个作业。例如,作业函数名称可以是数据获取函数、数据加工-转换函数、数据加工-对比函数、数据持久化-调帐函数、数据持久化-文件生成函数、数据回传函数等。
步骤203,向函数计算平台发送针对目标批量任务的执行指令。
在实施中,分布式批量平台可以根据作业定义信息包含的启动条件,在达到启动条件时(如当前时间达到启动时间时),向函数计算平台发送针对目标批量任务的执行指令。或者可以响应于用户触发的启动指令,向函数计算平台发送针对目标批量任务的执行指令。
函数计算平台接收到执行指令后,可以运行目标作业函数名称对应的目标作业函数实例。目标作业函数名称为函数定义信息包含的各作业函数名称中的全部或部分作业名称。由于目标批量任务一般包含多个作业,分布式批量平台可能会多次发送执行指令。具体的,分布式批量平台可以根据作业定义信息(如作业启动条件、作业依赖信息等),在函数定义信息包含的各作业函数名称中确定目标作业函数名称,作为本次执行指令对应的目标作业函数名称。函数计算平台可以在函数定义信息中确定目标作业函数名称对应的目标程序镜像信息(如镜像地址信息),然后从镜像仓库中下载目标程序镜像文件,之后基于已创建的目标作业函数名称对应的目标作业函数和目标程序镜像文件,运行目标作业函数实例,以完成批量任务的处理。
上述批量任务处理方法中,通过分布式批量平台根据针对目标批量任务的作业定义信息确定函数定义信息,并将函数定义信息发送给函数计算平台,使函数计算平台创建作业函数,然后向函数计算平台发送针对目标批量任务的执行指令,指示函数计算平台运行目标作业函数实例,以完成目标批量任务的处理。本方法中,分布式批量平台是将批量任务的执行指令发送给函数计算平台,通过函数计算平台进行计算,可以有效节省分布式批量平台的计算资源消耗。并且,分布式批量平台的开发模式可以保持不变,节省开发成本的同时,可以进一步利用分布式批量平台的编排、调度、监控等功能,结合函数计算平台在计算资源调度方面的高弹性和高灵活性特点,实现计算资源配置的优化,达到降本增效的效果。
在一个实施例中,作业定义信息还包括程序镜像信息对应的第一实例数量。步骤203发送执行指令的过程具体包括如下步骤:在各作业函数名称中确定目标作业函数名称,基于目标作业函数名称、以及目标作业函数名称对应的第一实例数量,生成针对目标批量任务的执行指令,并向函数计算平台发送执行指令。
在实施中,分布式批量平台可以根据作业定义信息(如作业启动条件、作业依赖信息等),在函数定义信息包含的各作业函数名称中确定目标作业函数名称,作为本次执行指令对应的目标作业函数名称。然后基于目标作业函数名称和目标作业函数名称对应的第一实例数量(作业函数名称、程序镜像信息、第一实例数量三者具有对应关系),生成针对目标批量任务的执行指令,并发送给函数计算平台。函数计算平台可以根据执行指令包含的目标作业函数名称和对应的第一实例数量,基于已创建的目标作业函数名称对应的目标作业函数,启动并运行第一实例数量个目标作业函数实例。
本实施例中,分布式批量平台可以根据作业定义信息,确定目标作业函数名称和对应的实例数量(第一实例数量),然后生成执行指令发送给函数计算平台,进而通过函数计算平台运行第一实例数量个目标作业函数实例,以执行批量任务,由此可以有效节省分布式批量平台的计算资源消耗。
在一个实施例中,作业定义信息还包括作业启动条件。如图3所示,步骤203发送执行指令之前还包括如下步骤:
步骤301,根据作业启动条件,确定预启动时间。
在实施中,用户设置的作业定义信息中,可以包含作业启动条件,如设置作业启动时间(定时启动)。分布式批量平台可以根据作业启动条件,确定预启动时间。例如,可以将相比作业启动时间提前预设时长(如10分钟)的时间,作为预启动时间。由于批量任务一般包含多个作业,各作业可以不是同时启动,因此作业启动条件可以有多个。可以根据各作业启动条件分别确定预启动时间,以针对性预启动目标作业函数实例。
步骤302,在当前时间达到预启动时间的情况下,向函数计算平台发送针对目标批量任务的预启动指令。
其中,预启动指令包含目标作业函数名称和目标作业函数名称对应的第二实例数量。预启动指令用于指示函数计算平台基于目标作业函数名称对应的程序镜像信息,启动第二实例数量个目标作业函数实例。
在实施中,分布式批量平台可以对预启动时间进行监控。在当前时间达到预启动时间时,分布式批量平台可以向函数计算平台发送针对目标批量任务的预启动指令。预启动指令包含目标作业函数名称和目标作业函数名称对应的第二实例数量。第二实例数量可以基于作业定义信息确定。例如,用户设置作业定义信息时,可以设置各程序镜像信息对应的实例数量,即作业定义信息可以包含各程序镜像信息对应的实例数量。分布式批量平台可以将目标作业函数名称对应的程序镜像信息的实例数量确定为第二实例数量,也可以根据情况,设置比定义的实例数量更多(如需要预留备用实例的情况)或更少(如函数计算平台已启动有部分目标作业函数实例的情况)的第二实例数量。
函数计算平台接收到预启动指令后,可以基于目标作业函数名称对应的程序镜像信息,启动第二实例数量个目标作业函数实例。具体的,函数计算平台可以根据目标作业函数名称对应的目标程序镜像信息(如镜像地址信息),获取目标程序镜像文件,然后基于已创建的目标作业函数名称对应的目标作业函数、目标程序镜像文件以及第二实例数量,启动第二实例数量个目标作业函数实例。
本实施例中,通过在发送执行指令之前,先向函数计算平台发送预启动指令,使函数计算平台在正式执行作业之前,先启动目标数量个(第二实例数量个)目标作业函数实例。由此,分布式批量平台向函数计算平台发送执行指令时,函数计算平台可以直接运行目标作业函数实例,节省分布式批量平台的计算资源消耗的同时,保障批量任务的顺利执行和执行效率。
在一个实施例中,步骤302发送预启动指令之后还包括如下步骤:在接收到函数计算平台发送的目标作业函数实例信息的情况下,对目标作业函数实例信息进行注册。相应的,步骤203发送执行指令的过程具体包括如下步骤:在已注册的各实例标识中确定目标实例标识,基于目标实例标识生成针对目标批量任务的执行指令,并向函数计算平台发送执行指令。
在实施中,分布式批量平台向函数计算平台发送预启动指令后,若接收到函数计算平台发送的目标作业函数实例信息,则可以对目标作业函数示例信息进行注册。具体的,函数计算平台接收预启动指令,并启动目标作业函数实例之后,可以将已启动的目标作业函数实例的信息(目标作业函数实例信息)发送给分布式批量平台。目标作业函数实例信息包括实例标识(实例ID),还可以包括作业函数名称、实例状态(如启动状态、运行状态、暂停状态、停止状态等,此时为启动状态)、实例启动时间、实例数量等信息。
相应的,分布式批量平台可以根据作业定义信息(如作业启动条件、作业依赖信息、程序镜像信息对应的实例数量等),在函数定义信息包含的各作业函数名称中确定目标作业函数名称和对应的实例数量(可称为目标数量)。然后,分布式批量平台可以在已注册的各实例标识中,确定目标作业函数名称对应的实例标识。分布式批量平台可以直接将该确定出的实例标识作为目标实例标识,也可以基于该确定出的实例标识和其它选取策略,从确定出的实例标识中选取出目标实例标识。例如,可以根据实例标识对应的实例状态、实例内存大小,选取出实例状态为启动状态、内存大小最大或内存大小符合要求的目标实例标识。并且,若确定出的实例标识的数量大于目标数量,还可以根据预设选取策略(如随机、或根据实例状态或内存大小等条件)选取出目标数量个目标实例标识。然后,分布式批量平台可以基于目标实例标识生成针对目标批量任务的执行指令,并发送给函数计算平台。函数计算平台接收执行指令后,可以解析出执行指令包含的目标实例标识,进而运行目标实例标识对应的目标作业函数实例。
本实施例中,分布式批量平台可以接收函数计算平台发送的目标作业函数实例信息并进行注册,然后,分布式批量平台可以根据作业定义信息,在已注册的实例标识中确定目标实例标识,进而生成包含目标实例标识的执行指令,使函数计算平台可以根据执行指令,运行目标实例标识对应的目标作业函数实例。本方法中,通过将已启动的作业函数实例信息进行注册,使得分布式批量平台可以根据函数实例注册信息,调度函数计算平台已启动的作业函数实例,以执行目标批量任务,使得资源配置更优化合理,且保障批量任务的顺利执行。并且,函数计算平台可以将目标作业函数实例的实时状态和内存大小发送给分布式批量平台,使得分布式批量平台可以实时监控计算资源的使用情况,进而更合理调度计算资源。
在一个实施例中,如图4所示,步骤202中发送函数定义信息的过程具体包括如下步骤:
步骤401,基于作业定义信息,确定函数定义信息,并构建包含函数定义信息的函数定义文件。
在实施中,分布式批量平台可以基于作业定义信息,确定函数定义信息。例如,可以根据作业定义信息包含的程序镜像信息,在预先存储的对应关系中,确定出程序镜像信息对应的作业函数名称。并将程序镜像信息、程序镜像信息对应的作业函数名称,以及作业定义信息包含的实例数量、实例内存大小等信息,一并作为函数定义信息。函数定义信息还可以包含各作业函数名称对应的超时时间信息(可以设为默认值,或根据作业定义信息确定)。然后,分布式批量平台可以根据函数定义信息构建包含函数定义信息的函数定义文件。例如,分布式批量平台可以基于函数定义信息生成yaml文件,作为函数定义文件。
步骤402,通过文件流方式,将函数定义文件发送给函数计算平台。
在实施中,分布式批量平台可以通过文件流方式,将函数定义文件发送给函数计算平台。以使函数计算平台接收函数定义文件后,解析函数定义文件中的函数定义信息,进而根据函数定义信息,创建函数定义信息中各作业函数名称对应的作业函数。
本实施例中,由于目标批量任务涉及的函数定义信息可能较多,即涉及的参数较多,则分布式批量平台可以通过文件流的方式,将包含大量函数定义信息的函数定义文件发送给函数计算平台,以保障批量任务顺利执行。
在一个实施例中,如图5所示,提供了另一种批量任务处理方法,以该方法应用于图1中的函数计算平台104为例进行说明,包括以下步骤:
步骤501,接收分布式批量平台发送的函数定义信息。
在实施中,函数计算平台可以接收分布式批量平台发送的函数定义信息。其中,函数定义信息为分布式批量平台根据目标批量任务的作业定义信息确定的,详见前述实施例中步骤201的详细描述,在此不再赘述。作业定义信息包括执行目标批量任务的程序镜像信息。函数定义信息包括程序镜像信息和程序镜像信息对应的作业函数名称。
步骤502,基于函数定义信息,创建作业函数名称对应的作业函数。
在实施中,函数计算平台可以基于函数定义信息,根据函数定义信息包含的作业函数名称、程序镜像信息等,创建作业函数名称对应的作业函数。一个作业函数与一个程序镜像信息对应。
步骤503,在接收到分布式批量平台发送的针对目标批量任务的执行指令的情况下,运行各作业函数名称中目标作业函数名称对应的目标作业函数实例。
在实施中,函数计算平台在接收到分布式批量平台发送的针对目标批量任务的执行指令的情况下,运行目标作业函数名称对应的目标作业函数实例。目标作业函数名称为函数定义信息包含的各作业函数名称中的全部或部分作业名称,具体可以根据执行指令确定。例如,分布式批量平台可以根据作业定义信息(如作业启动条件、作业依赖信息等),在函数定义信息包含的各作业函数名称中确定目标作业函数名称,作为本次执行指令对应的目标作业函数名称,进而可以基于目标作业函数名称生成执行指令。具体的,函数计算平台可以在函数定义信息中确定目标作业函数名称对应的目标程序镜像信息(如镜像地址信息),然后从镜像仓库中下载目标程序镜像文件,之后基于已创建的目标作业函数名称对应的目标作业函数、以及目标程序镜像文件,运行目标作业函数实例,以完成批量任务的处理。
本实施例中,通过函数计算平台接收分布式批量平台发送的函数定义信息,进而创建作业函数,然后在接收到分布式批量平台发送的针对目标批量任务的执行指令的情况下,运行目标作业函数名称对应的目标作业函数实例,以通过函数计算平台实现批量任务的处理,由此可以有效节省分布式批量平台的计算资源消耗。并且,分布式批量平台的开发模式可以保持不变,节省开发成本的同时,可以进一步利用分布式批量平台的编排、调度、监控等功能,结合函数计算平台在计算资源调度方面的高弹性和高灵活性特点,实现计算资源配置的优化,达到降本增效的效果。
在一个实施例中,作业定义信息还包括作业启动条件。步骤503中运行目标作业函数实例之前,还包括如下步骤:在接收到分布式批量平台发送的针对目标批量任务的预启动指令的情况下,确定预启动指令包含的目标作业函数名称和目标作业函数名称对应的目标实例数量,并基于目标作业函数名称对应的程序镜像信息,启动目标实例数量个目标作业函数实例。
在实施中,分布式批量平台可以向函数计算平台发送针对目标批量任务的预启动指令,具体过程详见前述实施例中步骤301和步骤302的详细描述。函数计算平台在接收到预启动指令的情况下,可以确定预启动指令包含的目标作业函数名称和目标作业函数名称对应的目标实例数量(对应步骤302中的第二实例数量)。然后,函数计算平台可以基于目标作业函数名称对应的程序镜像信息,启动目标实例数量个目标作业函数实例。具体的,函数计算平台可以根据目标作业函数名称对应的目标程序镜像信息(如镜像地址信息),从镜像仓库中下载目标程序镜像文件,然后基于已创建的目标作业函数名称对应的目标作业函数、目标程序镜像文件和目标实例数量,启动目标实例数量个目标作业函数实例(未运行实例中的程序)。
本实施例中,函数计算平台可以在接收到分布式批量平台发送的预启动指令的情况下,启动目标作业函数实例,由此,在接收到分布式批量平台发送的执行指令时,函数计算平台可以直接运行目标作业函数实例中的程序,节省分布式批量平台的计算资源消耗的同时,保障批量任务的顺利执行和执行效率。
在一个实施例中,启动目标作业函数实例之后,还包括如下步骤:将目标作业函数实例对应的目标作业函数实例信息发送给分布式批量平台,目标作业函数实例信息包括实例标识;目标作业函数实例信息用于分布式批量平台对目标作业函数实例信息进行注册,在已注册的各实例标识中确定目标实例标识,基于目标实例标识生成针对目标批量任务的执行指令,并向函数计算平台发送执行指令。相应的,在接收到执行指令的情况下运行目标作业函数实例的过程具体包括如下步骤:在接收到分布式批量平台发送的针对目标批量任务的执行指令的情况下,确定执行指令包含的目标实例标识,并运行目标实例标识对应的目标作业函数实例。
在实施中,函数计算平台启动目标作业函数实例之后,可以将已启动的目标作业函数实例的信息(目标作业函数实例信息)发送给分布式批量平台进行注册。目标作业函数实例信息包括实例标识(实例ID),还可以包括作业函数名称、实例状态(如启动状态、运行状态、暂停状态、停止状态等,此时为启动状态)、实例启动时间、实例数量等信息。分布式批量平台对目标作业函数示例信息进行注册后,可以在已注册的各实例标识中,确定目标作业函数名称对应的实例标识,并基于目标实例标识生成针对目标批量任务的执行指令,发送给函数计算平台。分布式批量平台确定目标实例标识的过程详见前述实施例中的描述,在此不再赘述。
函数计算平台在接收到分布式批量平台发送的针对目标批量任务的执行指令的情况下,可以解析出执行指令包含的目标实例标识,进而运行目标实例标识对应的目标作业函数实例。
本实施例中,函数计算平台在启动目标作业函数实例之后,可以将目标作业函数实例信息发送给分布式批量平台进行注册,然后分布式批量平台可以在已注册的实例标识中确定目标实例标识,进而生成包含目标实例标识的执行指令,使函数计算平台可以根据执行指令,直接运行目标实例标识对应的目标作业函数实例。本方法中,通过将已启动的作业函数实例信息进行注册,使得分布式批量平台可以根据函数实例注册信息,调度函数计算平台已启动的作业函数实例,以执行目标批量任务,使得资源配置更优化合理,且保障批量任务的顺利执行。并且,函数计算平台可以将目标作业函数实例的实时状态和内存大小发送给分布式批量平台,使得分布式批量平台可以实时监控计算资源的使用情况,进而更合理调度计算资源。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的批量任务处理方法的批量任务处理系统。该系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个批量任务处理系统实施例中的具体限定可以参见上文中对于批量任务处理方法的限定,在此不再赘述。
在一个实施例中,如图1所示,提供了一种批量任务处理系统100,包括分布式批量平台102和函数计算平台104,其中:
分布式批量平台102用于获取针对目标批量任务的作业定义信息,作业定义信息包括执行目标批量任务的程序镜像信息;基于作业定义信息,确定函数定义信息,并将函数定义信息发送给函数计算平台104;函数定义信息包括程序镜像信息、以及程序镜像信息对应的作业函数名称。
函数计算平台104用于接收函数定义信息,并基于函数定义信息,创建作业函数名称对应的作业函数。
分布式批量平台102还用于向函数计算平台104发送针对目标批量任务的执行指令。
函数计算平台104还用于在接收到执行指令的情况下,运行各作业函数名称中目标作业函数名称对应的目标作业函数实例。
在一个实施例中,如图6所示,还提供了另一种批量任务处理系统600,包括分布式批量平台102和函数计算平台104。分布式批量平台102包括控制器1021和协调器1022(如zookeeper),控制器、协调器和函数计算平台相互通信连接。其中:
控制器1021用于获取针对目标批量任务的作业定义信息,基于作业定义信息,确定函数定义信息,并将函数定义信息发送给函数计算平台104。其中,作业定义信息包括执行目标批量任务的程序镜像信息和作业启动条件;函数定义信息包括程序镜像信息、以及程序镜像信息对应的作业函数名称。
函数计算平台104用于接收函数定义信息,并基于函数定义信息,创建作业函数名称对应的作业函数。
控制器1021还用于根据作业启动条件,确定预启动时间;在当前时间达到预启动时间的情况下,向函数计算平台104发送针对目标批量任务的预启动指令。预启动指令包含目标作业函数名称和目标作业函数名称对应的目标实例数量。
函数计算平台104还用于在接收到预启动指令的情况下,基于目标作业函数名称对应的程序镜像信息,启动目标实例数量个目标作业函数实例,并将目标作业函数实例对应的目标作业函数实例信息发送给协调器1022。其中,目标作业函数实例信息包括实例标识。
协调器1022用于在接收到函数计算平台104发送的目标作业函数实例信息的情况下,对目标作业函数实例信息进行注册。
控制器1021还用于向协调器1022发送针对目标批量任务的执行请求。
其中,执行请求可以包含目标作业函数名称和对应的实例数量。
协调器1022还用于在接收到执行请求的情况下,在已注册的各实例标识中确定目标实例标识,基于目标实例标识生成针对目标批量任务的执行指令,并向函数计算平台104发送执行指令。
函数计算平台104还用于在接收到执行指令的情况下,确定执行指令包含的目标实例标识,并运行目标实例标识对应的目标作业函数实例。
控制器和协调器的执行过程,可以参照上述实施例中提供的批量任务处理方法的详细说明。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的批量任务处理方法的批量任务处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个批量任务处理装置实施例中的具体限定可以参见上文中对于批量任务处理方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种批量任务处理装置700,包括:获取模块701、第一发送模块702和第二发送模块703,其中:
获取模块701,用于获取针对目标批量任务的作业定义信息,作业定义信息包括执行目标批量任务的程序镜像信息。
第一发送模块702,用于基于作业定义信息,确定函数定义信息,并将函数定义信息发送给函数计算平台;函数定义信息包括程序镜像信息、以及程序镜像信息对应的作业函数名称;函数定义信息用于函数计算平台基于函数定义信息,创建作业函数名称对应的作业函数。
第二发送模块703,用于向函数计算平台发送针对目标批量任务的执行指令;执行指令用于指示函数计算平台运行各作业函数名称中目标作业函数名称对应的目标作业函数实例。
在一个实施例中,作业定义信息还包括程序镜像信息对应的第一实例数量。第二发送模块703具体用于:在各作业函数名称中确定目标作业函数名称,基于目标作业函数名称、以及目标作业函数名称对应的第一实例数量,生成针对目标批量任务的执行指令,并向函数计算平台发送执行指令。
在一个实施例中,作业定义信息还包括作业启动条件。该装置还包括确定模块和第三发送模块,其中:
确定模块,用于根据作业启动条件,确定预启动时间。
第三发送模块,用于在当前时间达到预启动时间的情况下,向函数计算平台发送针对目标批量任务的预启动指令;预启动指令包含目标作业函数名称和目标作业函数名称对应的第二实例数量;预启动指令用于指示函数计算平台基于目标作业函数名称对应的程序镜像信息,启动第二实例数量个目标作业函数实例。
在一个实施例中,该装置还包括注册模块,用于在接收到函数计算平台发送的目标作业函数实例信息的情况下,对目标作业函数实例信息进行注册;目标作业函数实例信息包括实例标识。
相应的,第二发送模块703具体用于:在已注册的各实例标识中确定目标实例标识,基于目标实例标识生成针对目标批量任务的执行指令,并向函数计算平台发送执行指令。
在一个实施例中,第一发送模块702具体用于:基于作业定义信息,确定函数定义信息,并构建包含函数定义信息的函数定义文件;通过文件流方式,将函数定义文件发送给函数计算平台。
在一个实施例中,如图8所示,还提供了一种批量任务处理装置800,包括:接收模块801、创建模块802和运行模块803,其中:
接收模块801,用于接收分布式批量平台发送的函数定义信息;函数定义信息为分布式批量平台根据目标批量任务的作业定义信息确定的,作业定义信息包括执行目标批量任务的程序镜像信息;函数定义信息包含程序镜像信息和程序镜像信息对应的作业函数名称。
创建模块802,用于根据函数定义信息,创建作业函数名称对应的作业函数。
运行模块803,用于在接收到分布式批量平台发送的针对目标批量任务的执行指令的情况下,运行各作业函数名称中目标作业函数名称对应的目标作业函数实例。
在一个实施例中,作业定义信息还包括作业启动条件。该装置还包括启动模块,用于在接收到分布式批量平台发送的针对目标批量任务的预启动指令的情况下,确定预启动指令包含的目标作业函数名称和目标作业函数名称对应的目标实例数量,并基于目标作业函数名称对应的程序镜像信息,启动目标实例数量个目标作业函数实例。
在一个实施例中,该装置还包括发送模块,用于将目标作业函数实例对应的目标作业函数实例信息发送给分布式批量平台,目标作业函数实例信息包括实例标识;目标作业函数实例信息用于分布式批量平台对目标作业函数实例信息进行注册,在已注册的各实例标识中确定目标实例标识,基于目标实例标识生成针对目标批量任务的执行指令,并向函数计算平台发送执行指令。
相应的,运行模块803具体用于:在接收到分布式批量平台发送的针对目标批量任务的执行指令的情况下,确定执行指令包含的目标实例标识,并运行目标实例标识对应的目标作业函数实例。
上述批量任务处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行上述批量任务处理方法所需的或产生的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种批量任务处理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本申请提供的批量任务处理方法、装置、系统、计算机设备、存储介质和计算机程序产品涉及分布式技术领域,可用于金融科技领域或其他领域,本申请对批量任务处理方法、装置、系统、计算机设备、存储介质和计算机程序产品的应用领域不做限定。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (14)
1.一种批量任务处理方法,其特征在于,所述方法包括:
获取针对目标批量任务的作业定义信息,所述作业定义信息包括执行所述目标批量任务的程序镜像信息;
基于所述作业定义信息,确定函数定义信息,并将所述函数定义信息发送给函数计算平台;所述函数定义信息包括所述程序镜像信息、以及所述程序镜像信息对应的作业函数名称;所述函数定义信息用于所述函数计算平台基于所述函数定义信息,创建所述作业函数名称对应的作业函数;
向所述函数计算平台发送针对所述目标批量任务的执行指令;所述执行指令用于指示所述函数计算平台运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例。
2.根据权利要求1所述的方法,其特征在于,所述作业定义信息还包括所述程序镜像信息对应的第一实例数量;所述向所述函数计算平台发送针对所述目标批量任务的执行指令,包括:
在各所述作业函数名称中确定目标作业函数名称,基于所述目标作业函数名称、以及所述目标作业函数名称对应的所述第一实例数量,生成针对所述目标批量任务的执行指令,并向所述函数计算平台发送所述执行指令。
3.根据权利要求1所述的方法,其特征在于,所述作业定义信息还包括作业启动条件;所述向所述函数计算平台发送针对所述目标批量任务的执行指令之前,还包括:
根据所述作业启动条件,确定预启动时间;
在当前时间达到所述预启动时间的情况下,向所述函数计算平台发送针对所述目标批量任务的预启动指令;所述预启动指令包含所述目标作业函数名称和所述目标作业函数名称对应的第二实例数量;所述预启动指令用于指示所述函数计算平台基于所述目标作业函数名称对应的程序镜像信息,启动所述第二实例数量个目标作业函数实例。
4.根据权利要求3所述的方法,其特征在于,所述向所述函数计算平台发送针对所述目标批量任务的预启动指令之后,还包括:
在接收到所述函数计算平台发送的目标作业函数实例信息的情况下,对所述目标作业函数实例信息进行注册;所述目标作业函数实例信息包括实例标识;
所述向所述函数计算平台发送针对所述目标批量任务的执行指令,包括:
在已注册的各所述实例标识中确定目标实例标识,基于所述目标实例标识生成针对所述目标批量任务的执行指令,并向所述函数计算平台发送所述执行指令。
5.根据权利要求1所述的方法,其特征在于,所述基于所述作业定义信息,确定函数定义信息,并将所述函数定义信息发送给函数计算平台,包括:
基于所述作业定义信息,确定函数定义信息,并构建包含所述函数定义信息的函数定义文件;
通过文件流方式,将所述函数定义文件发送给所述函数计算平台。
6.一种批量任务处理方法,其特征在于,所述方法包括:
接收分布式批量平台发送的函数定义信息;所述函数定义信息为所述分布式批量平台根据目标批量任务的作业定义信息确定的,所述作业定义信息包括执行所述目标批量任务的程序镜像信息;所述函数定义信息包括所述程序镜像信息和所述程序镜像信息对应的作业函数名称;
基于所述函数定义信息,创建所述作业函数名称对应的作业函数;
在接收到所述分布式批量平台发送的针对所述目标批量任务的执行指令的情况下,运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例。
7.根据权利要求6所述的方法,其特征在于,所述作业定义信息还包括作业启动条件;所述在接收到所述分布式批量平台发送的针对所述目标批量任务的执行指令的情况下,运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例之前,还包括:
在接收到所述分布式批量平台发送的针对所述目标批量任务的预启动指令的情况下,确定所述预启动指令包含的所述目标作业函数名称和所述目标作业函数名称对应的目标实例数量,并基于所述目标作业函数名称对应的程序镜像信息,启动所述目标实例数量个目标作业函数实例。
8.根据权利要求7所述的方法,其特征在于,所述基于所述目标作业函数名称对应的程序镜像信息,启动所述目标实例数量个目标作业函数实例之后,还包括:
将所述目标作业函数实例对应的目标作业函数实例信息发送给所述分布式批量平台,所述目标作业函数实例信息包括实例标识;所述目标作业函数实例信息用于所述分布式批量平台对所述目标作业函数实例信息进行注册,在已注册的各所述实例标识中确定目标实例标识,基于所述目标实例标识生成针对所述目标批量任务的执行指令,并向所述函数计算平台发送所述执行指令;
所述在接收到所述分布式批量平台发送的针对所述目标批量任务的执行指令的情况下,运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例,包括:
在接收到所述分布式批量平台发送的针对所述目标批量任务的执行指令的情况下,确定所述执行指令包含的所述目标实例标识,并运行所述目标实例标识对应的目标作业函数实例。
9.一种批量任务处理系统,其特征在于,所述批量任务处理系统包括分布式批量平台和函数计算平台,其中:
所述分布式批量平台,用于获取针对目标批量任务的作业定义信息,所述作业定义信息包括执行所述目标批量任务的程序镜像信息;基于所述作业定义信息,确定函数定义信息,并将所述函数定义信息发送给所述函数计算平台;所述函数定义信息包括所述程序镜像信息、以及所述程序镜像信息对应的作业函数名称;
所述函数计算平台,用于接收所述函数定义信息,并基于所述函数定义信息,创建所述作业函数名称对应的作业函数;
所述分布式批量平台,还用于向所述函数计算平台发送针对所述目标批量任务的执行指令;
所述函数计算平台,还用于在接收到所述执行指令的情况下,运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例。
10.一种批量任务处理装置,其特征在于,所述装置包括:
获取模块,用于获取针对目标批量任务的作业定义信息,所述作业定义信息包括执行所述目标批量任务的程序镜像信息;
第一发送模块,用于基于所述作业定义信息,确定函数定义信息,并将所述函数定义信息发送给函数计算平台;所述函数定义信息包括所述程序镜像信息、以及所述程序镜像信息对应的作业函数名称;所述函数定义信息用于所述函数计算平台基于所述函数定义信息,创建所述作业函数名称对应的作业函数;
第二发送模块,用于向所述函数计算平台发送针对所述目标批量任务的执行指令;所述执行指令用于指示所述函数计算平台运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例。
11.一种批量任务处理装置,其特征在于,所述装置包括:
接收模块,用于接收分布式批量平台发送的函数定义信息;所述函数定义信息为所述分布式批量平台根据目标批量任务的作业定义信息确定的,所述作业定义信息包括执行所述目标批量任务的程序镜像信息;所述函数定义信息包含所述程序镜像信息和所述程序镜像信息对应的作业函数名称;
创建模块,用于根据所述函数定义信息,创建所述作业函数名称对应的作业函数;
运行模块,用于在接收到所述分布式批量平台发送的针对所述目标批量任务的执行指令的情况下,运行各所述作业函数名称中目标作业函数名称对应的目标作业函数实例。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5或6至8中任一项所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5或6至8中任一项所述的方法的步骤。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5或6至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211389571.XA CN115794378A (zh) | 2022-11-08 | 2022-11-08 | 批量任务处理方法、装置、系统和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211389571.XA CN115794378A (zh) | 2022-11-08 | 2022-11-08 | 批量任务处理方法、装置、系统和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794378A true CN115794378A (zh) | 2023-03-14 |
Family
ID=85436031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211389571.XA Pending CN115794378A (zh) | 2022-11-08 | 2022-11-08 | 批量任务处理方法、装置、系统和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794378A (zh) |
-
2022
- 2022-11-08 CN CN202211389571.XA patent/CN115794378A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713088B2 (en) | Event-driven scheduling using directed acyclic graphs | |
US10635502B2 (en) | Scalable, multi-tenant machine learning architecture for cloud deployment | |
JP5897747B2 (ja) | フォールトトレラントバッチ処理 | |
US20160335352A1 (en) | Query dispatch and execution architecture | |
WO2020082611A1 (zh) | 基于区块链平台进行深度学习的方法、电子装置 | |
CN109067841B (zh) | 基于ZooKeeper的服务限流方法、系统、服务器及存储介质 | |
CN112488745A (zh) | 一种智能费控管理方法、装置、设备和存储介质 | |
CN111124644B (zh) | 任务调度资源的确定方法、装置及系统 | |
CN115421920A (zh) | 金融产品的任务管理方法及装置、电子设备、存储介质 | |
CN116401024A (zh) | 基于云计算的集群扩缩容方法、装置、设备及介质 | |
CN114356549A (zh) | 多容器集群中容器资源的调度方法、装置和系统 | |
CN117149382A (zh) | 虚拟机调度方法、装置、计算机设备和存储介质 | |
CN116719646A (zh) | 热点数据处理方法、装置、电子装置和存储介质 | |
CN111767125A (zh) | 任务执行方法、装置、电子设备、存储介质 | |
CN115794378A (zh) | 批量任务处理方法、装置、系统和计算机设备 | |
CN114116256A (zh) | 变量调用方法、装置、计算机设备和存储介质 | |
CN114416438A (zh) | 数据导出方法、装置、计算机设备及调度服务系统 | |
CN114840347A (zh) | 一种mpc平台、算力池分配方法及电子设备 | |
Zhang et al. | An effective heuristic for due-date-constrained bag-of-tasks scheduling problem for total cost minimization on hybrid clouds | |
CN116032928B (zh) | 数据协同计算方法、装置、系统、电子装置和存储介质 | |
Boutammine et al. | An adaptive scheduling method for grid computing | |
CN117455501A (zh) | 请求处理方法、装置、计算机设备和存储介质 | |
CN117389715A (zh) | 资源分配方法、资源分配装置、计算机设备和存储介质 | |
CN118093116A (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
CN115543568A (zh) | 定时任务处理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |