CN115904640A - 分布式任务处理系统及方法 - Google Patents
分布式任务处理系统及方法 Download PDFInfo
- Publication number
- CN115904640A CN115904640A CN202110902444.4A CN202110902444A CN115904640A CN 115904640 A CN115904640 A CN 115904640A CN 202110902444 A CN202110902444 A CN 202110902444A CN 115904640 A CN115904640 A CN 115904640A
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- node
- processing
- client
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种分布式任务处理系统及方法。该分布式任务处理系统包括任务客户端、主节点以及与主节点连接的多个虚拟节点,每个虚拟节点包括至少一个处理节点,任务客户端与主节点通信连接;任务客户端,用于向主节点提交待处理任务;主节点,用于当检测到任务客户端的待处理任务后,确定与待处理任务存在任务依赖关系的上游任务、以及检测上游任务的执行结果;主节点,还用于将待处理任务分配至虚拟节点;虚拟节点,用于从主节点读取执行结果;虚拟节点,还用于当上游任务执行完成时,调用虚拟节点中的处理节点根据执行结果完成待处理任务的处理。本申请中保证了分布式系统中任务间的精确地依赖,避免了分布式系统中的任务空跑现象。
Description
技术领域
本申请涉及分布式技术领域,具体涉及一种分布式任务处理系统及方法。
背景技术
随着大数据时代的到来,开始诞生了以数据为驱动的业务处理系统,例如分布式系统。在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。分布式系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。
随着数据规模呈指数增长,企业中运行的业务伴随着计算密集、业务复杂等问题,现有的分布式系统在面对当前的复杂作业管理仍有一些局限性。比如,当客户端有代码侵入时,分布式系统中任务间不能精确地依赖,而导致了任务空跑的现象。
发明内容
本申请提供一种分布式任务处理系统及方法,旨在解决分布式系统中任务间不能精确地依赖而导致的任务空跑问题。
第一方面,本申请提供一种分布式任务处理系统,所述分布式任务处理系统包括任务客户端、主节点以及与所述主节点连接的多个虚拟节点,每个所述虚拟节点包括至少一个处理节点,所述任务客户端与所述主节点通信连接;
所述任务客户端,用于向所述主节点提交待处理任务;
所述主节点,用于当检测到任务客户端的待处理任务后,确定与所述待处理任务存在任务依赖关系的上游任务、以及检测所述上游任务的执行结果;
所述主节点,还用于将所述待处理任务分配至所述虚拟节点;
所述虚拟节点,用于从所述主节点读取所述执行结果;
所述虚拟节点,还用于当所述上游任务执行完成时,调用所述虚拟节点中的处理节点根据所述执行结果完成所述待处理任务的处理。
在本申请一种可能的实现方式中,所述分布式任务处理系统还包括文件中心和数据库;
所述分布式任务处理系统,用于当检测到任务客户端的待处理任务后,将所述待处理任务的执行文件存储至所述分布式任务处理系统的文件中心,将所述待处理任务的任务元数据持久化至所述分布式任务处理系统的数据任务队列中;
所述虚拟节点,还用于从所述数据任务队列中获取所述任务元数据;根据所述任务元数据从所述文件中心读取所述执行文件;根据所述执行文件和所述执行结果,完成所述待处理任务的处理。
在本申请一种可能的实现方式中,所述主节点还用于:获取所述待处理任务所在的目标任务链,将所述目标任务链反馈至所述任务客户端;
所述任务客户端,用于显示所述目标任务链。
在本申请一种可能的实现方式中,所述主节点还用于:获取所述待处理任务的驱动状态,并将所述驱动状态反馈至所述任务客户端;
所述任务客户端,还用于显示所述驱动状态。
在本申请一种可能的实现方式中,所述主节点还用于:检测多个所述虚拟节点的空闲度;根据多个所述虚拟节点的空闲度,动态调整多个所述虚拟节点的的工作节点数量。
在本申请一种可能的实现方式中,所述主节点还用于:获取所述上游任务的自定义操作时间;根据所述自定义操作时间检测所述上游任务的执行结果。
在本申请一种可能的实现方式中,所述主节点还用于:获取所述待处理任务的任务类型;
所述虚拟节点还用于从所述主节点读取所述待处理任务的任务类型,根据所述待处理任务的任务类型,调用预设驱动动态创建所述待处理任务的执行环境。
在本申请一种可能的实现方式中,所述虚拟节点中的处理节点还用于:启动预设的任务执行容器,通过所述任务执行容器根据所述执行结果完成所述待处理任务的处理。
第二方面,本申请还提供一种分布式任务处理方法,所述方法应用于分布式任务处理系统,所述分布式任务处理系统包括任务客户端、主节点以及与所述主节点连接的多个虚拟节点,每个所述虚拟节点包括至少一个处理节点,所述方法包括:
当检测到任务客户端的待处理任务后,通过所述主节点确定与所述待处理任务存在任务依赖关系的上游任务;
通过所述主节点检测所述上游任务的执行结果;
当检测到所述上游任务执行完成时,通过所述主节点将所述待处理任务分配至多个所述虚拟节点中的目标虚拟节点;
通过所述目标虚拟节点中的处理节点,根据所述执行结果完成所述待处理任务的处理。
在本申请一种可能的实现方式中,所述方法还包括:
当检测到任务客户端的待处理任务后,获取所述待处理任务的任务元数据和所述待处理任务的执行文件;
通过所述主节点,将所述任务元数据持久化至所述分布式任务处理系统的数据任务队列中;
将所述执行文件存储至所述分布式任务处理系统的文件中心;
在本申请一种可能的实现方式中,所述通过所述目标虚拟节点中的处理节点,根据所述执行结果完成所述待处理任务的处理,包括:
通过所述目标虚拟节点,从所述数据任务队列中获取所述任务元数据;
通过所述目标虚拟节点,根据所述任务元数据,从所述文件中心获取所述执行文件;
通过所述目标虚拟节点的处理节点,根据所述执行文件和所述执行结果,完成所述待处理任务的处理。
在本申请一种可能的实现方式中,所述方法还包括:
获取所述待处理任务所在的目标任务链;
通过所述任务客户端显示所述目标任务链。
在本申请一种可能的实现方式中,所述方法还包括:
获取所述待处理任务的驱动状态;
通过所述任务客户端显示所述待处理任务的驱动状态。
在本申请一种可能的实现方式中,所述方法还包括:
检测多个所述虚拟节点的空闲度;
根据多个所述虚拟节点的空闲度,动态调整多个所述虚拟节点的工作节点数量。
在本申请一种可能的实现方式中,所述通过所述主节点检测所述上游任务的执行结果,包括:
获取所述上游任务的自定义操作时间;
通过所述主节点,根据所述自定义操作时间检测所述上游任务的执行结果。
在本申请一种可能的实现方式中,所述方法还包括:
获取所述待处理任务的任务类型;
根据所述待处理任务的任务类型,调用预设驱动动态创建所述待处理任务的执行环境。
在本申请一种可能的实现方式中,所述通过所述目标虚拟节点中的处理节点,根据所述执行结果完成所述待处理任务的处理,包括:
通过所述目标虚拟节点中的处理节点启动预设的任务执行容器;
通过所述任务执行容器根据所述执行结果完成所述待处理任务的处理。
本申请在检测到任务客户端的待处理任务后,通过主节点确定与待处理任务存在任务依赖关系的上游任务、检测待处理任务的上游任务的执行结果;当待处理任务的上游任务执行完成时,通过虚拟节点调用虚拟节点中的处理节点根据执行结果完成待处理任务的处理;由于在创建待处理任务时确定了与待处理任务存在任务依赖关系的上游任务,并在检测到上游任务执行完成时依据上游任务的执行结果完成待处理任务的处理,可以保证待处理任务可以有效地依赖上游任务的执行结果,避免了分布式系统中任务间不能精确地依赖的问题,从而避免了任务空跑的现象,保证了分布式系统中任务调度的高可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例所提供的分布式任务处理系统的一种场景示意图;
图2是本申请实施例中提供的任务客户端101的任务操作接口的一种说明示意图;
图3是本申请实施例中提供的待处理任务的驱动状态的一种说明示意图;
图4是本申请实施例所提供的分布式任务处理系统的另一种场景示意图;
图5是本申请实施例提供的任务客户端101显示任务实例的一种说明示意图;
图6是本申请实施例提供的分布式任务处理方法的一种流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的过程进行详细阐述,以避免不必要的细节使本申请实施例的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请实施例所公开的原理和特征的最广范围相一致。
大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。通过大数据技术分布式系统可结合更多的可用资源为用户提供便捷的服务。
本申请实施例提供一种分布式任务处理系统及方法。
下面先介绍本申请实施例中提供的分布式任务处理系统,参见图1,图1是本申请实施例所提供的分布式任务处理系统的一种场景示意图。分布式任务处理系统100包括任务客户端101、主节点102、以及与主节点102连接的多个虚拟节点103,每个虚拟节点103包括至少一个处理节点slaver,任务客户端101与主节点102通信连接。
为了方便理解,下面先介绍主节点102的主要功能,本申请实施例中,主节点102主要功能如下:
1、基于任务客户端101的待处理任务生成任务实例,并在生成任务实例时,根据任务间的依赖关系生成任务关系表。其中,任务关系表用于指示待处理任务所在的目标任务链,具体是用于指示与待处理任务存在任务依赖关系的上游任务、下游任务。任务间存在依赖关系是指当前任务的执行需要依赖当前任务的上游任务的执行结果,或者当前任务的下游任务的执行需要依赖当前任务的执行结果。
2、分配任务至虚拟节点103。
3、监测与至连接的多个虚拟节点103的心跳信息,比如,虚拟节点103的内存、正在执行任务的进度等。
4、根据虚拟节点103的心跳信息、任务的分配情况等,更新任务的驱动状态,并将任务的驱动状态反馈至任务客户端101。
5、将任务客户端101提交的任务持久化至数据库105的数据任务队列中。
6、轮询持久化至数据库105的数据任务队列中的任务的周期信息,按照任务的周期信息、任务是否可并行、任务间的依赖关系是否满足、虚拟节点103的队列资源是否足够等约束条件,进行任务启动前置条件的检查。
任务客户端101,用于向主节点102提交待处理任务。
其中,待处理任务是指用户在任务客户端101创建的任务。具体地,用户可以在任务客户端101上创建任务,并将所创建的任务提交至主节点102,以便主节点102将任务客户端101提交的任务分配给虚拟节点103执行。用户在任务客户端101上创建的任务的任务类型可以是周期性任务,也可以是临时任务。例如,用户在任务客户端101创建每天12点更新的周期性任务。
进一步地,如图2所示,图2是本申请实施例中提供的任务客户端101的任务操作接口的一种说明示意图,任务客户端101还可以提供了用于对分布式任务处理系统中任务进行查询、编辑、新增、冻结、解冻、删除等操作的接口,用户可以基于任务客户端101对分布式任务处理系统中任务进行查询、编辑、新增、冻结、解冻、删除等操作。
进一步地,如图3所示,图3是本申请实施例中提供的待处理任务的驱动状态的一种说明示意图,任务客户端101在将待处理任务提交至主节点102后,主节点102会将待处理任务的驱动状态以及执行完成情况,及时反馈至任务客户端101,比如,主节点102会将待处理任务的初始化状态Init、等待状态Wait、就绪状态Ready、队列状态Queue、执行状态Exec反馈至任务客户端101。并在待处理任务执行完成后,将待处理任务的执行完成情况,比如成功Success、失败Fail、杀掉Killed反馈至任务客户端101。
进一步地,任务客户端101还用于显示主节点102反馈的待处理任务的驱动状态,如初始化状态Init、等待状态Wait、就绪状态Ready、队列状态Queue、执行状态Exec。
进一步地,任务客户端101还用于显示待处理任务的执行完成情况,如成功Success、失败Fail、杀掉Killed。
主节点102,用于当检测到任务客户端101的待处理任务后,确定与待处理任务存在依赖关系的上游任务、以及检测上游任务的执行结果。
具体地,用户在任务客户端101上完成待处理任务的创建后,将待处理任务提交至主节点102中。此时,主节点102基于任务客户端101的待处理任务生成任务实例,并将任务客户端101的待处理任务的执行文件上传至文件中心104中、将任务客户端101的待处理任务的任务元数据持久化至数据库105的数据任务队列中。主节点102还会根据任务关系表确定与待处理任务存在依赖关系的上游任务,并基于虚拟节点103反馈的心跳信息,确定待处理任务的上游任务是否执行完成、以及待处理任务的上游任务的执行结果。
主节点102,还用于将待处理任务分配至虚拟节点103。
示例性地,用户在创建任务时会指定用于执行待处理任务的目标虚拟节点103,主节点102会将待处理任务分配给用户指定的目标虚拟节点103。
虚拟节点103,用于从主节点102读取待处理任务的上游任务的执行结果。
其中,主节点102在将待处理任务分配给用户指定的目标虚拟节点103后,接收到待处理任务的虚拟节点103将从主节点102读取待处理任务的上游任务的执行结果;其中,目标虚拟节点103是指接收到主节点102分配的待处理任务的虚拟节点103。虚拟节点103从主节点102读取待处理任务的上游任务的执行结果的方式有多种,示例性地,包括:
(1)主节点102在监测到待处理任务的上游任务执行完成时,主节点102将待处理任务下发至虚拟节点103,同时主动将待处理任务的上游任务的执行结果发送至虚拟节点103。
(2)主节点102进行待处理任务的启动前置条件的检查,虚拟节点103通过轮询数据库105的数据任务队列的方式,从轮询数据库105的数据任务队列中领取分配给自己的任务。当待处理任务符合启动前置条件时,虚拟节点103向主节点102发送待处理任务的上游任务的执行结果的读取请求;主节点102基于虚拟节点103发送的读取请求向虚拟节点103发送待处理任务的上游任务的执行结果。
虚拟节点103,还用于当待处理任务的上游任务执行完成时,调用虚拟节点103中的处理节点根据待处理任务的上游任务的执行结果完成待处理任务的处理。
示例性地,当上游任务执行完成时,虚拟节点103将根据其下各处理节点slaver的处理状态,比如当前是否在执行任务,将待处理任务分配至具体虚拟节点103中的处理节点进行执行,以使得虚拟节点103中的处理节点根据待处理任务的上游任务的执行结果完成待处理任务的处理。
本申请实施例中,在检测到任务客户端101的待处理任务后,通过主节点102确定与待处理任务存在任务依赖关系的上游任务、检测待处理任务的上游任务的执行结果;当待处理任务的上游任务执行完成时,通过虚拟节点103调用虚拟节点103中的处理节点根据执行结果完成待处理任务的处理;由于在创建待处理任务时确定了与待处理任务存在任务依赖关系的上游任务,并在检测到上游任务执行完成时依据上游任务的执行结果完成待处理任务的处理,可以保证待处理任务可以有效地依赖上游任务的执行结果,避免了分布式系统中任务间不能精确地依赖的问题,从而避免了任务空跑的现象,保证了分布式系统中任务调度的高可靠性。
进一步地,虚拟节点103还用于向其所属的主节点102汇报虚拟节点103的心跳信息,比如,虚拟节点103的内存、正在执行任务的进度等。比如,当待处理任务执行完成时,将待处理任务执行完成的执行结果反馈至主节点102。虚拟节点103通过向其所属的主节点102汇报其心跳信息,使得主节点102可以掌握分布式任务处理系统各个虚拟节点103的心跳信息。从而使得主节点102可以及时获取到各个任务的处理进度以及处理结果、虚拟节点103的内存等信息,进而可以根据各虚拟节点103的内存、各任务的处理进度即处理结果,进行下一待处理任务启动前置条件的检查、以及进行下一个待处理任务的分配。
进一步地,如图4所示,图4是本申请实施例所提供的分布式任务处理系统的另一种场景示意图,分布式任务处理系统还包括文件中心104和数据库105。当检测到任务客户端101的待处理任务后,主节点102还用于将待处理任务的执行文件存储至分布式任务处理系统100的文件中心104,将待处理任务的任务元数据持久化至分布式任务处理系统的数据任务队列中。虚拟节点103,还用于从数据库105的数据任务队列中获取待处理任务的任务元数据;根据待处理任务的任务元数据从文件中心104读取待处理任务的执行文件,并根据待处理任务的执行文件和待处理任务的上游任务的执行结果,完成待处理任务的处理。
其中,虚拟节点103获取待处理任务的任务元数据的方式有多种,示例性地,包括:
(1)虚拟节点103通过轮询数据库105的数据任务队列的方式,从轮询数据库105的数据任务队列中领取分配给自己的待处理任务的任务元数据。
(2)主节点102在基于任务客户端101的待处理任务生成任务实例之后,将待处理任务的任务元数据直接下发至虚拟节点103。
虚拟节点103在获取到分配给其的待处理任务的任务元数据之后,根据待处理任务的任务元数据从文件中心104中下载待处理任务的执行文件。再根据待处理任务的执行文件、以及待处理任务的上游任务的执行结果,完成待处理任务的处理。
通过主节点102将待处理任务的任务元数据持久化至分布式任务处理系统100的数据库105的数据任务队列中,可以在待处理任务未符合任务启动前置条件时,保证待处理任务不被丢失,进而保证待处理任务的执行的高可靠性。
通过将待处理任务的执行文件上传至分布式任务处理系统100的文件中心104、将待处理任务的任务元数据持久化至分布式任务处理系统100的数据库105的数据任务队列中,从而保证虚拟节点103可以根据待处理任务的任务元数据从文件中心104精准地获取到待处理任务的执行文件,进而保证有效地完成待处理任务的处理。
进一步地,为了便于任务客户端101的用户可以及时了解到待处理任务的任务依赖关系,主节点102还可以用于获取待处理任务所在的目标任务链,将待处理任务所在目标任务链反馈至任务客户端101。任务客户端101还用于显示待处理任务所在的目标任务链。
其中,任务链是指任务间存在依赖关系的多个任务。目标任务链是指包含待处理任务的任务链。目标任务链可以用于反映与待处理任务存在任务依赖关系的上游任务、下游任务。
进一步地,主节点102还用于获取待处理任务所在的目标任务链上任务的执行进度反馈至任务客户端101,任务客户端101在显示目标任务链的同时,还可以显示所在的目标任务链上任务的执行进度,以便于任务客户端101的用户可以及时查看到待处理任务的执行进度、预计待处理任务的完成时间等,方便了任务客户端101的用户了解待处理任务的处理情况。
例如,如图5所示,图5是本申请实施例提供的任务客户端101显示任务实例的一种说明示意图。待处理任务在提交至主节点102生成任务实例后,可以在任务客户端101提供待处理任务的任务实例的显示窗口,用户在任务客户端101点击“查询”可以查看对应的任务实例,点击“详情”即可查看待处理任务的驱动状态和执行完成情况,点击“依赖关系”即可查看待处理任务所在的目标任务链。
进一步地,如图5所示,可以在任务客户端101显示待处理任务的任务实例,任务客户端101还可以提供任务实例的操作接口,任务客户端101提交至主节点102中的任务在生成实例执行后,用户可以在任务客户端101选择对任务实例进行刷新、补录、重跑、杀掉等操作。
进一步地,为了任务客户端101的用户可以及时了解到待处理任务的驱动状态,主节点102还用于获取待处理任务的驱动状态,并将待处理任务的驱动状态反馈至任务客户端101。任务客户端101还用于显示待处理任务的驱动状态。
其中,驱动状态是用于指示待处理任务执行情况的信息。示例性地,驱动状态可以包括初始化状态Init、等待状态Wait、就绪状态Ready、队列状态Queue、执行状态Exec。
如图3所示,具体地,主节点102可以根据虚拟节点103反馈的心跳信息,更新待处理任务的驱动状态,例如,主节点102基于虚拟节点103反馈的心跳信息发现待处理任务的上游任务还处于“执行状态Exec”时,主节点102将会更新待处理任务的驱动状态为“等待状态Wait”,并将待处理任务的驱动状态为“等待状态Wait”反馈至任务客户端101,任务客户端101将显示待处理任务的驱动状态为“等待状态Wait”。当发现待处理任务的上游任务执行完成时,主节点102将会更新待处理任务的驱动状态为“就绪状态Ready”,并将待处理任务的驱动状态为“就绪状态Ready”反馈至任务客户端101,任务客户端101将显示待处理任务的驱动状态为“就绪状态Ready”。
进一步地,为了在保证任务客户端101提交的任务能得到及时处理的基础上,提高虚拟节点103的资源利用率,主节点102还用于检测与之连接的多个虚拟节点103的空闲度;根据与之连接的多个虚拟节点103的空闲度,动态调整与之连接的多个虚拟节点103的工作节点数量。
其中,空闲度是指虚拟节点103的繁忙程度。
其中,工作节点数量是指用于工作的虚拟节点103的数量。
具体地,主节点102根据虚拟节点103反馈的心跳信息,确定虚拟节点103的空闲度。当虚拟节点103的空闲度提高时,主节点102动态减少与之连接的多个虚拟节点103的工作节点数量,以节约虚拟节点103资源。当虚拟节点103的空闲度降低时,主节点102动态扩展与之连接的多个虚拟节点103的工作节点数量,以保证任务客户端101提交的任务可以得到及时处理。
在一些实施例中,如下表1所示,工作节点数量与空闲度存在映射关系,当主节点102检测到与之相连的多个虚拟节点103的空闲度为A1,主节点102调整与之连接的多个虚拟节点103的工作节点数量为n1。
表1
空闲度 | 工作节点数量 |
A1 | n1 |
A2 | n2 |
… | … |
进一步地,为了提高待处理任务的上游任务的执行结果的检测效率,用户在任务客户端101创建任务时,还可以输入任务的操作时间。以便主节点102可以根据用户输入的待处理任务的上游任务的操作时间,获取虚拟节点103的心跳信息确定待处理任务的上游任务的执行结果。即,主节点102还用于获取待处理任务的上游任务的自定义操作时间;根据待处理任务的上游任务的自定义操作时间,检测待处理任务的上游任务的执行结果。进而保证待处理任务可以有效地依赖上游任务,从而有效避免分布式系统中任务间不能精确地依赖的问题、避免了任务空跑现象。
其中,自定义操作时间是指用户自定义的上游任务的预计处理时长。
进一步地,为了满足任务客户端101任务的语言环境需求,本申请实施例中分布式任务处理系统还可以动态创建待处理任务的执行环境。具体地,任务客户端101在向主节点102提交待处理任务时,还可以向主节点102发送待处理任务的任务类型。主节点102还用于获取待处理任务的任务类型。虚拟节点还用于从主节点102读取待处理任务的任务类型,根据待处理任务的任务类型,调用预设驱动动态创建待处理任务的执行环境。
其中,任务类型是指待处理任务的执行环境类型。例如,ETL类型、shell类型、hive类型、zip类型。
进一步地,为了避免虚拟节点103中的处理节点slaver升级时,正在执行的待处理任务会受到影响,在一些实施例中,还可以将待处理任务封装进分布式任务处理系统的容器container执行。具体地,虚拟节点103中的处理节点还用于启动预设的任务执行容器,通过任务执行容器根据待处理任务的上游任务的执行结果,完成待处理任务的处理。这样,即使正在执行待处理任务的处理节点slaver升级时,也不会因为处理节点slaver升级停止服务导致待处理任务的执行,保证了分布式任务处理系统的高可用性,避免了待处理任务容易受到处理节点slaver升级影响的问题。
其中,预设的任务执行容器是指分布式任务处理系统的容器container。
进一步地,为了保证分布式任务处理系统的高可用性,主节点可以包括包括两个,如包括当前工作的主节点和备用的主节点,本申请实施例中只需要一个主节点处于工作状态即可保证任务客户端提交的任务可以有效地执行。通过设置两个主节点,若当前工作的主节点出现宕机状况时,可以启用备用的主节点接替原主节点的工作,从而保证任务客户端提交的任务可以有效地执行,进而保证分布式任务处理系统的高可用性。
下面,开始介绍本申请实施例提供的分布式任务处理方法,本申请实施例提供的分布式任务处理方法可以应用于上述的分布式任务处理系统中,本申请实施例中以分布式任务处理系统作为执行主体,如图1所示,该分布式任务处理系统100可以包括任务客户端101、主节点102、以及与主节点102连接的多个虚拟节点103,每个虚拟节点103包括至少一个处理节点slaver,任务客户端101与主节点102通信连接。进一步地,如图4所示,该分布式任务处理系统100还可以进一步包括文件中心104和数据库105。其中,任务客户端101、主节点102、虚拟节点103、文件中心104和数据库105的实现及功能可以参照上述分布式任务处理系统100的介绍,为了简化表述,此处不再赘述。
该分布式任务处理方法包括:当检测到任务客户端101的待处理任务后,通过所述主节点102确定与所述待处理任务存在任务依赖关系的上游任务;通过所述主节点102检测所述上游任务的执行结果;当检测到所述上游任务执行完成时,通过所述主节点102将所述待处理任务分配至多个所述虚拟节点103中的目标虚拟节点103;通过所述目标虚拟节点103中的处理节点,根据所述执行结果完成所述待处理任务的处理。
参照图6,图6是本申请实施例提供的分布式任务处理方法的一种流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。该分布式任务处理方法包括步骤601~604,其中:
601、当检测到任务客户端101的待处理任务后,通过所述主节点102确定与所述待处理任务存在任务依赖关系的上游任务。
其中,上游任务是指待处理任务执行所需依赖的任务。
任务间存在依赖关系是指当前任务的执行需要依赖当前任务的上游任务的执行结果,或者当前任务的下游任务的执行需要依赖当前任务的执行结果。
其中,待处理任务是指用户在任务客户端101创建的任务。
示例性地,用户可以在任务客户端101上创建任务,并将所创建的任务提交至主节点102,以便主节点102将任务客户端101提交的任务分配给虚拟节点103执行。用户在任务客户端101上创建的任务的任务类型可以是周期性任务,也可以是临时任务。例如,用户在任务客户端101创建每天12点更新的周期性任务。
主节点102基于任务客户端101提交的待处理任务生成任务实例,并在生成任务实例时,根据任务间的依赖关系生成任务关系表。分布式任务处理系统100中将会维护该任务关系表。
其中,任务关系表用于指示待处理任务所在的目标任务链,具体是用于指示与待处理任务存在任务依赖关系的上游任务、下游任务。
主节点102可以根据任务关系表确定与待处理任务存在任务依赖关系的上游任务。
602、通过所述主节点102检测所述上游任务的执行结果。
其中,执行结果是指待处理任务的上游任务的执行后所得到的结果。
虚拟节点103用于向其所属的主节点102汇报虚拟节点103的心跳信息,比如,虚拟节点103的内存、正在执行任务的进度等。比如,当待处理任务执行完成时,将待处理任务执行完成的执行结果反馈至主节点102。
虚拟节点103通过向其所属的主节点102汇报其心跳信息,使得主节点102可以掌握分布式任务处理系统100各个虚拟节点103的心跳信息。从而使得主节点102可以及时获取到各个任务的处理进度以及处理结果、虚拟节点103的内存等信息,进而可以根据各虚拟节点103的内存、各任务的处理进度即处理结果,进行下一待处理任务启动前置条件的检查、以及进行下一个待处理任务的分配。
示例性地,主节点102通过收集与之连接的多个虚拟节点103的心跳信息,可以实现对待处理任务的上游任务的执行情况进行检测,包括检测待处理任务的上游任务的执行进度、执行结果等。
603、当检测到所述上游任务执行完成时,通过所述主节点102将所述待处理任务分配至多个所述虚拟节点103中的目标虚拟节点。
当主节点102检测到上游任务执行完成时,主节点102将待处理任务分配至多个虚拟节点103中的目标虚拟节点。
其中,目标虚拟节点是指用于执行待处理任务的虚拟节点103。在一些实施例中,用户在创建任务时会指定用于执行待处理任务的目标虚拟节点,主节点102会将待处理任务分配给用户指定的目标虚拟节点。在另一些实施例中,主节点102会根据与之连接的虚拟节点103的心跳信息,监测虚拟节点103的内存及负载;主节点102根据虚拟节点103的内存及负载情况,将待处理任务分配给负载能力高的目标虚拟节点。
604、通过所述目标虚拟节点中的处理节点,根据所述执行结果完成所述待处理任务的处理。
当待处理任务的上游任务执行完成时,目标虚拟节点调用目标虚拟节点中的处理节点根据待处理任务的上游任务的执行结果完成待处理任务的处理。
本申请实施例中,在检测到任务客户端101的待处理任务后,通过主节点102确定与待处理任务存在任务依赖关系的上游任务、检测待处理任务的上游任务的执行结果;当待处理任务的上游任务执行完成时,通过目标虚拟节点中的处理节点根据执行结果完成待处理任务的处理;由于在创建待处理任务时确定了与待处理任务存在任务依赖关系的上游任务,并在检测到上游任务执行完成时依据上游任务的执行结果完成待处理任务的处理,可以保证待处理任务可以有效地依赖上游任务的执行结果,避免了分布式系统中任务间不能精确地依赖的问题,从而避免了任务空跑的现象,保证了分布式系统中任务调度的高可靠性。
可见,本申请实施例保证了分布式系统中任务间的精确地依赖,避免了分布式系统中的任务空跑现象。
进一步地,该分布式任务处理方法还包括:当检测到任务客户端101的待处理任务后,获取所述待处理任务的任务元数据和所述待处理任务的执行文件;通过所述主节点102,将所述任务元数据持久化至所述分布式任务处理系统100的数据任务队列中;将所述执行文件存储至所述分布式任务处理系统100的文件中心104。
示例性地,用户在任务客户端101上完成待处理任务的创建后,将待处理任务提交至主节点102中。当检测到任务客户端101的待处理任务后,主节点102基于任务客户端101的待处理任务生成任务实例的同时,主节点102还会将任务客户端101的待处理任务的执行文件上传至文件中心104中、将任务客户端101的待处理任务的任务元数据持久化至数据库105的数据任务队列中。
接着,主节点102会根据任务关系表确定与待处理任务存在依赖关系的上游任务;并基于虚拟节点103反馈的心跳信息,确定待处理任务的上游任务是否执行完成、以及待处理任务的上游任务的执行结果。
此时,上述步骤604具体可以包括:通过所述目标虚拟节点,从所述数据任务队列中获取所述任务元数据;通过所述目标虚拟节点,根据所述任务元数据,从所述文件中心104获取所述执行文件;通过所述目标虚拟节点的处理节点,根据所述执行文件和所述执行结果,完成所述待处理任务的处理。
其中,目标虚拟节点获取待处理任务的任务元数据的方式有多种,示例性地,包括:
(1)目标虚拟节点通过轮询数据库105的数据任务队列的方式,从轮询数据库105的数据任务队列中领取分配给自己的待处理任务的任务元数据。
(2)主节点102在基于任务客户端101的待处理任务生成任务实例之后,将待处理任务的任务元数据直接下发至目标虚拟节点。
目标虚拟节点在获取到分配给其的待处理任务的任务元数据之后,根据待处理任务的任务元数据从文件中心104中下载待处理任务的执行文件。再根据待处理任务的执行文件、以及待处理任务的上游任务的执行结果,完成待处理任务的处理。
通过主节点102将待处理任务的任务元数据持久化至分布式任务处理系统100的数据库105的数据任务队列中,可以在待处理任务未符合任务启动前置条件时,保证待处理任务不被丢失,进而保证待处理任务的执行的高可靠性。
通过将待处理任务的执行文件上传至分布式任务处理系统100的文件中心104、将待处理任务的任务元数据持久化至分布式任务处理系统100的数据库105的数据任务队列中,从而保证目标虚拟节点可以根据待处理任务的任务元数据从文件中心104精准地获取到待处理任务的执行文件,进而保证有效地完成待处理任务的处理。
进一步地,为了便于任务客户端101的用户可以及时了解到待处理任务的任务依赖关系,该分布式任务处理方法还包括:获取所述待处理任务所在的目标任务链;通过所述任务客户端101显示所述目标任务链。
其中,任务链是指任务间存在依赖关系的多个任务。目标任务链是指包含待处理任务的任务链。目标任务链可以用于反映与待处理任务存在任务依赖关系的上游任务、下游任务。
示例性地,主节点102还可以用于获取待处理任务所在的目标任务链,将待处理任务所在目标任务链反馈至任务客户端101。任务客户端101用于显示待处理任务所在的目标任务链。
进一步地,主节点102还用于获取待处理任务所在的目标任务链上任务的执行进度反馈至任务客户端101,任务客户端101在显示目标任务链的同时,还可以显示所在的目标任务链上任务的执行进度,以便于任务客户端101的用户可以及时查看到待处理任务的执行进度、预计待处理任务的完成时间等,方便了任务客户端101的用户了解待处理任务的处理情况。
进一步地,为了任务客户端101的用户可以及时了解到待处理任务的驱动状态,该分布式任务处理方法还包括:获取所述待处理任务的驱动状态;通过所述任务客户端101显示所述待处理任务的驱动状态。
其中,驱动状态是用于指示待处理任务执行情况的信息。示例性地,驱动状态可以包括初始化状态Init、等待状态Wait、就绪状态Ready、队列状态Queue、执行状态Exec。
示例性地,主节点102还用于获取待处理任务的驱动状态,并将待处理任务的驱动状态反馈至任务客户端101。任务客户端101还用于显示待处理任务的驱动状态。主节点102可以根据目标虚拟节点反馈的心跳信息,更新待处理任务的驱动状态。
例如,主节点102基于目标虚拟节点反馈的心跳信息发现待处理任务的上游任务还处于“执行状态Exec”时,主节点102将会更新待处理任务的驱动状态为“等待状态Wait”,并将待处理任务的驱动状态为“等待状态Wait”反馈至任务客户端101,任务客户端101将显示待处理任务的驱动状态为“等待状态Wait”。当发现待处理任务的上游任务执行完成时,主节点102将会更新待处理任务的驱动状态为“就绪状态Ready”,并将待处理任务的驱动状态为“就绪状态Ready”反馈至任务客户端101,任务客户端101将显示待处理任务的驱动状态为“就绪状态Ready”。
进一步地,为了在保证任务客户端101提交的任务能得到及时处理的基础上,提高虚拟节点103的资源利用率,该分布式任务处理方法还包括:检测多个所述虚拟节点103的空闲度;根据多个所述虚拟节点103的空闲度,动态调整多个所述虚拟节点103的工作节点数量。
其中,空闲度是指虚拟节点103的繁忙程度。
其中,工作节点数量是指用于工作的虚拟节点103的数量。
具体地,主节点102根据虚拟节点103反馈的心跳信息,确定虚拟节点103的空闲度。当虚拟节点103的空闲度提高时,主节点102动态减少与之连接的多个虚拟节点103的工作节点数量,以节约虚拟节点103资源。当虚拟节点103的空闲度降低时,主节点102动态扩展与之连接的多个虚拟节点103的工作节点数量,以保证任务客户端101提交的任务可以得到及时处理。
进一步地,为了提高待处理任务的上游任务的执行结果的检测效率,用户在任务客户端101创建任务时,还可以输入任务的操作时间。以便主节点102可以根据用户输入的待处理任务的上游任务的操作时间,获取虚拟节点103的心跳信息确定待处理任务的上游任务的执行结果。即,上述步骤602具体可以包括:获取所述上游任务的自定义操作时间;通过所述主节点,根据所述自定义操作时间检测所述上游任务的执行结果。
其中,自定义操作时间是指用户自定义的上游任务的预计处理时长。
示例性地,主节点102还用于获取待处理任务的上游任务的自定义操作时间;根据待处理任务的上游任务的自定义操作时间,检测待处理任务的上游任务的执行结果。进而保证待处理任务可以有效地依赖上游任务,从而有效避免分布式系统中任务间不能精确地依赖的问题、避免了任务空跑现象。
进一步地,为了满足任务客户端101任务的语言环境需求,本申请实施例中分布式任务处理系统100还可以动态创建待处理任务的执行环境。具体地,任务客户端101在向主节点102提交待处理任务时,还可以向主节点102发送待处理任务的任务类型。即,该分布式任务处理方法还包括:获取所述待处理任务的任务类型;根据所述待处理任务的任务类型,调用预设驱动动态创建所述待处理任务的执行环境。
其中,任务类型是指待处理任务的执行环境类型。例如,ETL类型、shell类型、hive类型、zip类型。
示例性地,主节点102还用于获取待处理任务的任务类型。虚拟节点还用于从主节点102读取待处理任务的任务类型,根据待处理任务的任务类型,调用预设驱动动态创建待处理任务的执行环境。
进一步地,为了避免虚拟节点103中的处理节点slaver升级时,正在执行的待处理任务会受到影响,在一些实施例中,还可以将待处理任务封装进分布式任务处理系统100的容器container执行。即,该分布式任务处理方法还包括:通过所述目标虚拟节点中的处理节点启动预设的任务执行容器;通过所述任务执行容器根据所述执行结果完成所述待处理任务的处理。
其中,预设的任务执行容器是指分布式任务处理系统100的容器container。
示例性地,目标虚拟节点中的处理节点还用于启动预设的任务执行容器,通过任务执行容器根据待处理任务的上游任务的执行结果,完成待处理任务的处理。这样,即使正在执行待处理任务的处理节点slaver升级时,也不会因为处理节点slaver升级停止服务导致待处理任务的执行,保证了分布式任务处理系统100的高可用性,避免了待处理任务容易受到处理节点slaver升级影响的问题。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种分布式任务处理方法中的步骤。例如,该计算机程序可以执行如下步骤:
当检测到任务客户端的待处理任务后,通过所述主节点确定与所述待处理任务存在任务依赖关系的上游任务;
通过所述主节点检测所述上游任务的执行结果;
当检测到所述上游任务执行完成时,通过所述主节点将所述待处理任务分配至多个所述虚拟节点中的目标虚拟节点;
通过所述目标虚拟节点中的处理节点,根据所述执行结果完成所述待处理任务的处理。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种分布式任务处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种分布式任务处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种分布式任务处理系统、方法及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种分布式任务处理系统,其特征在于,所述分布式任务处理系统包括任务客户端、主节点以及与所述主节点连接的多个虚拟节点,每个所述虚拟节点包括至少一个处理节点,所述任务客户端与所述主节点通信连接;
所述任务客户端,用于向所述主节点提交待处理任务;
所述主节点,用于当检测到任务客户端的待处理任务后,确定与所述待处理任务存在任务依赖关系的上游任务、以及检测所述上游任务的执行结果;
所述主节点,还用于将所述待处理任务分配至所述虚拟节点;
所述虚拟节点,用于从所述主节点读取所述执行结果;
所述虚拟节点,还用于当所述上游任务执行完成时,调用所述虚拟节点中的处理节点根据所述执行结果完成所述待处理任务的处理。
2.根据权利要求1所述的分布式任务处理系统,其特征在于,所述分布式任务处理系统还包括文件中心和数据库;
所述分布式任务处理系统,用于当检测到任务客户端的待处理任务后,将所述待处理任务的执行文件存储至所述分布式任务处理系统的文件中心,将所述待处理任务的任务元数据持久化至所述分布式任务处理系统的数据任务队列中;
所述虚拟节点,还用于从所述数据任务队列中获取所述任务元数据;根据所述任务元数据从所述文件中心读取所述执行文件;根据所述执行文件和所述执行结果,完成所述待处理任务的处理。
3.根据权利要求1所述的分布式任务处理系统,其特征在于,所述主节点还用于:获取所述待处理任务所在的目标任务链,将所述目标任务链反馈至所述任务客户端;
所述任务客户端,用于显示所述目标任务链。
4.根据权利要求1所述的分布式任务处理系统,其特征在于,所述主节点还用于:获取所述待处理任务的驱动状态,并将所述驱动状态反馈至所述任务客户端;
所述任务客户端,还用于显示所述驱动状态。
5.根据权利要求1所述的分布式任务处理系统,其特征在于,所述主节点还用于:检测多个所述虚拟节点的空闲度;根据多个所述虚拟节点的空闲度,动态调整多个所述虚拟节点的的工作节点数量。
6.根据权利要求1所述的分布式任务处理系统,其特征在于,所述主节点还用于:获取所述上游任务的自定义操作时间;根据所述自定义操作时间检测所述上游任务的执行结果。
7.根据权利要求1所述的分布式任务处理系统,其特征在于,所述主节点还用于:获取所述待处理任务的任务类型;
所述虚拟节点还用于从所述主节点读取所述待处理任务的任务类型,根据所述待处理任务的任务类型,调用预设驱动动态创建所述待处理任务的执行环境。
8.根据权利要求1-7任一项所述的分布式任务处理系统,其特征在于,所述虚拟节点中的处理节点还用于:启动预设的任务执行容器,通过所述任务执行容器根据所述执行结果完成所述待处理任务的处理。
9.一种分布式任务处理方法,其特征在于,所述方法应用于分布式任务处理系统,所述分布式任务处理系统包括任务客户端、主节点以及与所述主节点连接的多个虚拟节点,每个所述虚拟节点包括至少一个处理节点,所述方法包括:
当检测到任务客户端的待处理任务后,通过所述主节点确定与所述待处理任务存在任务依赖关系的上游任务;
通过所述主节点检测所述上游任务的执行结果;
当检测到所述上游任务执行完成时,通过所述主节点将所述待处理任务分配至多个所述虚拟节点中的目标虚拟节点;
通过所述目标虚拟节点中的处理节点,根据所述执行结果完成所述待处理任务的处理。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当检测到任务客户端的待处理任务后,获取所述待处理任务的任务元数据和所述待处理任务的执行文件;
通过所述主节点,将所述任务元数据持久化至所述分布式任务处理系统的数据任务队列中;
将所述执行文件存储至所述分布式任务处理系统的文件中心;
所述通过所述目标虚拟节点中的处理节点,根据所述执行结果完成所述待处理任务的处理,包括:
通过所述目标虚拟节点,从所述数据任务队列中获取所述任务元数据;
通过所述目标虚拟节点,根据所述任务元数据,从所述文件中心获取所述执行文件;
通过所述目标虚拟节点的处理节点,根据所述执行文件和所述执行结果,完成所述待处理任务的处理。
11.根据权利要求9或10所述的方法,其特征在于,所述通过所述目标虚拟节点中的处理节点,根据所述执行结果完成所述待处理任务的处理,包括:
通过所述目标虚拟节点中的处理节点启动预设的任务执行容器;
通过所述任务执行容器根据所述执行结果完成所述待处理任务的处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110902444.4A CN115904640A (zh) | 2021-08-06 | 2021-08-06 | 分布式任务处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110902444.4A CN115904640A (zh) | 2021-08-06 | 2021-08-06 | 分布式任务处理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904640A true CN115904640A (zh) | 2023-04-04 |
Family
ID=86478249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110902444.4A Pending CN115904640A (zh) | 2021-08-06 | 2021-08-06 | 分布式任务处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904640A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116702885A (zh) * | 2023-08-02 | 2023-09-05 | 浪潮电子信息产业股份有限公司 | 同步数据并行训练控制方法、系统、装置、设备及介质 |
-
2021
- 2021-08-06 CN CN202110902444.4A patent/CN115904640A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116702885A (zh) * | 2023-08-02 | 2023-09-05 | 浪潮电子信息产业股份有限公司 | 同步数据并行训练控制方法、系统、装置、设备及介质 |
CN116702885B (zh) * | 2023-08-02 | 2023-11-07 | 浪潮电子信息产业股份有限公司 | 同步数据并行训练控制方法、系统、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11250025B2 (en) | Methods and systems for bulk uploading of data in an on-demand service environment | |
JP6190389B2 (ja) | 分散型計算環境において計算を実行する方法およびシステム | |
JP6185486B2 (ja) | 分散型計算環境において負荷均衡化を実行する方法 | |
WO2018149221A1 (zh) | 一种设备管理方法及网管系统 | |
US8209701B1 (en) | Task management using multiple processing threads | |
CN111897638B (zh) | 分布式任务调度方法及系统 | |
US7933995B2 (en) | Computer program and apparatus for controlling computing resources, and distributed processing system | |
US20160275123A1 (en) | Pipeline execution of multiple map-reduce jobs | |
US8639792B2 (en) | Job processing system, method and program | |
US9870269B1 (en) | Job allocation in a clustered environment | |
JP4970939B2 (ja) | マルチノードシステムにおけるリソースの動的な割当の階層的管理 | |
JP2019008417A (ja) | 情報処理装置、メモリ制御方法およびメモリ制御プログラム | |
EP3556053A1 (en) | System and method to handle events using historical data in serverless systems | |
CN109992373B (zh) | 资源调度方法、信息管理方法和装置及任务部署系统 | |
US12008402B2 (en) | Determining computer resource usage at multiple levels of a container orchestration system hierarchy | |
GB2584980A (en) | Workload management with data access awareness in a computing cluster | |
CN115904640A (zh) | 分布式任务处理系统及方法 | |
CN113485830A (zh) | 一种电网监控系统微服务自动扩容方法 | |
US12028269B2 (en) | Method for optimal resource selection based on available GPU resource analysis in large-scale container platform | |
US20220414577A1 (en) | System and method for performance-centric workload placement in a hybrid cloud environment | |
US20230185631A1 (en) | Embedded capacity-computer module for microservice load balancing and distribution | |
US20200028739A1 (en) | Method and apparatus for closed-loop and dynamic capacity management in a web-scale data center | |
US20050086430A1 (en) | Method, system, and program for designating a storage group preference order | |
CN113342511A (zh) | 一种分布式任务管理系统及方法 | |
US20220413987A1 (en) | System and method for accelerator-centric workload placement |
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 |