CN112860421A - 用于作业处理的方法、设备和计算机程序产品 - Google Patents

用于作业处理的方法、设备和计算机程序产品 Download PDF

Info

Publication number
CN112860421A
CN112860421A CN201911187922.7A CN201911187922A CN112860421A CN 112860421 A CN112860421 A CN 112860421A CN 201911187922 A CN201911187922 A CN 201911187922A CN 112860421 A CN112860421 A CN 112860421A
Authority
CN
China
Prior art keywords
processing
processing devices
resources
tasks
job
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.)
Granted
Application number
CN201911187922.7A
Other languages
English (en)
Other versions
CN112860421B (zh
Inventor
聂雨虹
吴鹏飞
刘金鹏
贾真
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201911187922.7A priority Critical patent/CN112860421B/zh
Priority to US16/801,473 priority patent/US11900155B2/en
Publication of CN112860421A publication Critical patent/CN112860421A/zh
Application granted granted Critical
Publication of CN112860421B publication Critical patent/CN112860421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/486Scheduler internals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

本公开涉及用于处理作业的方法、设备和计算机程序产品。在一种方法中,获取作业中的第一部分中的第一组任务,第一组任务可以由第一组处理设备来并行地执行。基于分布式处理系统中的多个处理设备中的处理设备的处理资源的状态,分别向多个处理设备设置多个优先级,处理资源包括计算资源以及存储资源中的至少任一项。基于多个优先级,从多个处理设备中选择第一组处理设备。分别向第一组处理设备分配第一组任务,使得第一组处理设备分别利用各自的处理资源来处理第一组任务以生成第一组任务结果。可以利用分布式处理系统中的具有较高优先级的处理设备来执行任务。根据本公开的示例性实现方式,提供了相应的设备和计算机程序产品。

Description

用于作业处理的方法、设备和计算机程序产品
技术领域
本公开的各实现方式涉及作业(job)处理,更具体地,涉及用于以分布式方式来处理作业的方法、设备和计算机程序产品。
背景技术
随着分布式处理技术的发展,目前已经出现了提供分布式处理能力的云服务架构。云服务架构可以由云服务提供商来提供,以便处理来自客户端的作业。根据作业的描述,作业可以被划分为一个或多个部分,并且每个部分可以被划分为多个任务(task)。在此多个任务可以以并行方式运行于云架构中的多个处理设备中。多个处理设备可以分别返回各自的处理结果,以便用于生成针对作业的最终作业结果。
通常而言,云服务提供商拥有大量的处理设备、可以提供强大的处理能力,并且在安全性和处理速度方面可以提供可靠的服务。目前,在网络环境中还存在具有空闲处理设备的大量个人和/或小型组织等。这些空闲处理设备可以被连接至网络环境被向用户提供处理服务。然而,由于个人和/或小型组织不具有构建云服务架构的能力,并且广大用户可能并不信任他们所提供的处理设备,这导致并不能有效地利用网络环境中的空闲处理能力。
目前已经提出了基于区块链技术来连接个人和/或小型组织处的处理设备以提供基于区块链的处理系统。基于区块链的处理系统可以与基于云的处理系统一起来处理来自用户的作业。然而,在两种处理系统之间将会存在大量的通信,这导致处理作业的性能并不令人满意。因而,如何以更为有效的方式管理处理设备以便提供处理作业的更高能力,成为一个研究热点。
发明内容
因而,期望能够开发并实现一种以更为有效的方式来处理作业的技术方案。期望该技术方案能够与现有的用于分布式处理的技术方案相兼容,并且通过改造现有的分布式处理系统的各种配置,来以更为有效的方式处理作业。
根据本公开的第一方面,提供了一种用于处理作业的方法。在该方法中,获取作业中的第一部分中的第一组任务,第一组任务可以由第一组处理设备来并行地执行。基于分布式处理系统中的多个处理设备中的处理设备的处理资源的状态,分别向多个处理设备设置多个优先级,处理资源包括计算资源以及存储资源中的至少任一项。基于多个优先级,从多个处理设备中选择第一组处理设备。分别向第一组处理设备分配第一组任务,使得第一组处理设备分别利用各自的处理资源来处理第一组任务以生成第一组任务结果。
根据本公开的第二方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器耦合的存储器,存储器具有存储于其中的指令,指令在被至少一个处理器执行时使得设备执行用于处理作业的动作。该动作包括:获取作业中的第一部分中的第一组任务,第一组任务可以由第一组处理设备来并行地执行;基于分布式处理系统中的多个处理设备中的处理设备的处理资源的状态,分别向多个处理设备设置多个优先级,处理资源包括计算资源以及存储资源中的至少任一项;基于多个优先级,从多个处理设备中选择第一组处理设备;以及分别向第一组处理设备分配第一组任务,使得第一组处理设备分别利用各自的处理资源来处理第一组任务以生成第一组任务结果。
根据本公开的第三方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的第一方面的方法。
附图说明
结合附图并参考以下详细说明,本公开各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实现方式。在附图中:
图1示意性示出了根据一个技术方案的用于处理作业的应用环境的框图;
图2示意性示出了其中可以实现本公开的示例性实现方式的应用环境的框图;
图3A示意性示出了根据一个技术方案的的用于处理作业的过程的框图;
图3B示意性示出了根据本公开的示例性实现方式的用于处理作业的过程的框图;
图4示意性示出了根据本公开的示例性实现方式的用于处理作业的方法的流程图;
图5示意性示出了根据本公开的示例性实现方式的作业描述的数据结构的框图;
图6示意性示出了根据本公开的示例性实现方式的基于资源的服务期来划分的不同类型的资源的框图;
图7示意性示出了根据本公开的示例性实现方式的用于处理被拒绝的任务的方法的流程图;
图8示意性示出了根据本公开的示例性实现方式的包括不同类型资源的处理设备的分类的框图;
图9示意性示出了根据本公开的示例性实现方式的在处理任务期间用于读取待处理数据的过程的框图;
图10示意性示出了根据本公开的示例性实现方式的用于验证任务结果的方法的流程图;
图11示意性示出了根据本公开的示例性实现方式的在处理任务期间用于写入任务结果的过程的框图;
图12示意性示出了根据本公开的示例性实现方式的在处理任务期间用于备份任务结果的过程的框图;以及
图13示意性示出了根据本公开的示例性实现的用于处理作业的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实现。虽然附图中显示了本公开的优选实现,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实现所限制。相反,提供这些实现是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实现”和“一个实现”表示“至少一个示例实现”。术语“另一实现”表示“至少一个另外的实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
目前已经出现了提供基于云服务的处理系统,在下文中将参见图1概要描述基于云服务的处理系统。图1示意性示出了根据一个技术方案的用于处理作业的应用环境100的框图。客户端110可以利用基于云服务的处理系统120中的计算能力来处理任务。通常而言,云服务提供商可以提供基于云服务的处理系统120。该处理系统120可以包括多个处理设备122、…、124。由于云服务提供商具有较强的技术实力和经济实力,因而可以自己构建单独的处理系统。
客户端110可以经由网络130来使用处理系统120中的各个处理设备中的处理能力。例如,客户端110可以向处理系统120发送将要被处理的作业的作业描述,以便调用多个处理设备122、…、124的处理能力来执行作业。目前已经提供了用于实现分布式处理的多种引擎。这些引擎可以被部署在处理系统120中,并且用于将接收到的作业划分为以并行或者串行方式执行的多个任务。
除了由云服务提供商提供的大型处理系统以外,在网络环境中还存在具有空闲处理设备的大量个人和/或小型组织等。这些空闲处理设备可以被连接至网络环境以便向用户提供处理服务。然而,由于个人和/或小型组织不具有构建云服务架构的能力,并且广大用户可能并不信任他们所提供的处理设备,这导致并不能有效地利用网络环境中的空闲处理能力。期望可以以更为可靠并且有效的方式管理网络环境中的各种处理设备以便提供处理作业的能力。
图2示意性示出了其中可以实现本公开的示例性实现方式的应用环境200的框图。网络环境200中还可以存在处理设备212、…、以及214等,这些处理设备可以来自个人和/或小型组织。在图2中,处理设备212、…、以及214可以加入基于区块链的处理系统210以形成处理系统210中的计算节点。由于广大用户对于处理设备212、…、以及214等并不信任,因而造成难以利用这些处理设备中的空闲处理能力。
目前已经提出了用于处理作业的技术方案。该技术方案可以利用多个处理系统中的处理设备来处理作业,以此方式,可以更为充分地利用来自云服务提供商以及来自其他个人和/或小型组织的空闲处理资源。图3A示意性示出了根据一个技术方案的的用于处理作业的过程的框图300A。如图3A所示,可以从客户端接收作业描述310,在此的作业描述310定义了有关作业的多方面的信息,例如,需要执行的操作、将被处理的数据等等。可以基于作业描述310中定义的信息,获取作业320中的一个或多个部分(图3中仅示出了第一部分330,还可以存在第二部分等)。
进一步,可以获取第一部分330中的一组任务332、…、334以及336。将会理解,在此的一组任务332、…、334以及336是可以并行地执行的一组任务。假设作业描述310定义期望计算某产品一年的销售收入,则此时可以获得12个任务,并且每个任务涉及计算该产品在每个月的销售收入。将会理解,在此并不限定以何种方式来获取一组任务,而是可以基于作业描述310来直接执行划分以获得一组任务,还可以从已有的引擎来获取一组任务。
为了并行地执行一组任务,可以向分布式处理系统中的一组处理设备分配一组任务,使得一组处理设备生成针对一组任务的一组任务结果。在此的一组处理设备分别位于基于云的第一处理系统(例如,处理系统120)以及基于区块链的第二处理系统(例如,处理系统210)中。如图3所示,在此的一组处理设备可以包括处理设备122、…以及处理设备212,并且处理设备122可以位于处理系统120中,而处理设备212可以位于处理系统210中。
将会理解,一组处理设备122、…以及212可以针对待处理数据340并行地处理被分配的任务,并且返回处理任务的任务结果。继而,可以分别接收来自一组处理设备的针对一组任务的一组任务结果,并且至少部分地基于一组任务结果,生成针对作业的作业结果。尽管该技术方案可以充分利用多个不同处理系统中的可用计算资源。然而,由于一组处理设备可以跨越不同的处理系统120和210,这导致位于处理系统210中的处理设备212、…、以及处理设备214读取位于处理系统120中的待处理数据340,这导致在两个处理系统120和210之间产生大量通信。
鉴于分布式处理系统中的上述不足,本公开提出了一种用于处理作业的方法。在该方法中,提出了处理设备的优先级的概念。具体地,可以基于处理设备中的处理资源的状态来为处理设备设置优先级,并且可以基于处理设备的优先级来选择由哪些处理设备执行一组任务。在下文中,将参见图3B描述根据本公开的示例性实现方式的方法的概要。
图3B示意性示出了根据本公开的示例性实现方式的用于处理作业的过程300B的框图。如图3B所示,第一部分330可以包括一组任务332、…、334以及336,其中任务332被分配给基于云服务的处理系统120中的处理设备,并且任务334和336分别被分配给基于区块链的处理系统210中的处理设备212和214。将会理解,由于基于云服务的处理系统120已经具备用于分配和处理任务的完善功能,在下文中将重点描述在基于区块链的处理系统210中执行的操作的更多细节。
根据本公开的示例性实现方式,在此的处理设备的处理资源包括计算资源以及存储资源中的至少任一项。计算资源是指计算能力,例如处理设备中的用于执行计算的处理器的计算能力。存储资源是指用于提供数据存储的存储空间,例如处理设备中的可用于提供存储服务的暂态存储器和/或持久性存储器。例如,处理设备212可以包括计算资源350和存储资源352,处理设备214可以包括计算资源360和存储资源362。
根据本公开的示例性实现方式,可以基于处理设备中的处理资源的状态来为处理设备设置优先级。例如,如果处理设备的处理资源较为丰富,则可以为该处理设备设置较高优先级;如果处理设备的处理资源较为短缺,则可以为该处理设备设置较低优先级。可以优先地选择具有较高优先级的处理设备来处理一组任务中的任务。利用本公开的示例性实现方式,可以尽量利用具有较高优先级的处理设备中的丰富资源(包括计算资源和处理资源),以便提高处理作业的性能。
进一步,利用本公开的示例性实现方式,可以将与作业相关的待处理的原始数据和/或中间数据存储至处理系统210中的处理设备的存储资源中。以此方式,可以尽量降低在处理系统120和处理系统210之间的数据传输量,进而提高处理作业的性能。在下文中,将参见图4描述根据本公开的示例性实现方式的更多细节。
图4示意性示出了根据本公开的示例性实现方式的用于处理作业的方法400的流程图。根据本公开的示例性实现方式,可以建立作业管理器来执行方法400。在此,作业管理器可以运行程序以便执行方法400中所示的各个步骤。将会理解,在此并不限制在分布式处理系统中的何处执行方法400。根据本公开的示例性实现方式,可以将作业管理器部署在基于云的处理系统120中以便执行方法400中的各个步骤。由于该处理系统120具有较高可靠性并且具有充足的处理资源,在处理系统120处运行作业管理器可以确保以可靠并且高效的方式管理作业处理。
根据本公开的示例性实现方式,可以将作业管理器部署在基于区块链的处理系统210中以便执行方法400中的各个步骤。将作业管理器部署在处理系统210中可以尽量利用处理系统210中的空闲资源,降低作业管理器与处理系统210中的各个处理设备之间的通信开销,进而提高处理作业的性能。
在图4中的框410处,可以获取作业320中的第一部分330中的第一组任务,在此第一组任务可以由第一组处理设备来并行地执行。具体地,可以基于来自客户端的针对所述作业320的作业描述310,获取所述作业320中的第一部分330中的第一组任务322、…、334以及336。可以通过分析作业描述310,来将该作业320划分为多个部分,并且针对每个部分进行进一步划分。具体地,图5示意性示出了根据本公开的示例性实现方式的作业描述310的数据结构的框图500。
如图5所示,作业描述310可以包括可执行文件510以用于定义将要执行的操作集合。通过分析可执行文件510,可以将必须串行执行的内容作为一个部分。将会理解,在下文中将仅以作业中的第一部分330为示例进行描述,并且针对其他部分的操作可以是类似的。可以针对第一部分330进行划分,以便获取可以并行执行的第一组任务。根据本公开的示例性实现方式,还可以以有向无环图(Directed Acyclic Graph)的方式来描述将要执行的操作,并且可以基于该图中描述的时间关系确定第一组任务。
如图5所示,作业描述310还可以进一步包括:数据大小512,用于指示将要被处理的数据量;奖励514,用于指示给予执行与作业相关的任务的处理设备的奖励;以及时间限制516,用于指示期望获取作业结果的时间。
根据本公开的示例性实现方式,客户端110可以通过发布新的话题(topic)的方式,来提出处理作业的请求。可以设置处理设备的列表,列表中的各个处理设备可以订阅作业处理相关的话题,并且感兴趣的处理设备可以参与处理第一组任务中的任务。在此的第一组任务可以被分配至处理系统120和210两者中的一组处理设备。
在框420处,可以基于分布式处理系统中的多个处理设备中的处理设备的处理资源的状态,分别向多个处理设备设置多个优先级。在此,处理资源包括计算资源以及存储资源中的至少任一项。根据本公开的示例性实现方式,可以基于处理设备承诺服务于作业的时间长度来设置优先级。换言之,可以基于处理资源的服务期来设置优先级。例如,可以向感兴趣的多个处理设备发送邀请,并且从多个处理设备分别接收可以提供的处理资源的状态。
例如,某些处理设备可以长期服务于作业,即,可以在较长时间段内提供处理资源来用于处理与作业相关联的多个任务。此时可以向此类处理设备分配长期优先级。又例如,某些处理设备不能长期服务于作业,但是可以处理与作业相关联的仅一个任务,可以向此类处理设备分配一次性优先级。
根据本公开的示例性实现方式,由于处理资源可以包括计算资源和存储资源中的任一项,设置优先级时还可以考虑资源的类型。例如,某些处理设备可以包括计算资源和存储资源两者,某些处理设备可以仅包括计算资源,而某些处理设备可以仅包括存储资源。将会理解,由于需要计算资源来处理任务,在本公开的上下文中,可以认为计算资源是选择处理设备时必须满足的条件,因而下文中将不涉及选择仅包括存储资源的处理设备的情况。可以选择包括计算资源和存储资源两者的处理设备,备选地和/或附加地,还可以选择仅包括计算资源的处理设备。
在下文中,将参见图6来描述有关处理设备的更多类型,该图6示意性示出了根据本公开的示例性实现方式的基于资源的服务期来划分的不同类型的资源的框图600。如图6所示,合约设备610可以包括长期设备和短期设备,在此的长期设备和短期设备具有计算资源和存储资源两者。具体地,可以分别向合约设备610中的长期设备和短期设备分配不同的优先级。在此的长期设备和短期设备均包括计算资源和存储资源两者。还可以存在一次性设备620,一次性设备可以包括多功能设备(包括计算资源和存储资源两者)和纯计算设备(仅包括计算资源)。
根据本公开的示例性实现方式,可以向处理设备分配长期优先级。在此的长期优先级可以包括第一优先级和第二优先级。如果确定处理资源可用于处理与作业相关联的被分配的全部任务,向处理设备分配第一优先级。在此第一优先级可以指示处理设备不能拒绝执行与作业相关联的任一任务。换言之,如果处理设备具有第一优先级,则要求该处理设备在作业被执行期间(即,在与作业的每个部分中的各个任务被执行期间)不能停止对于作业的服务。只要向该处理设备分配任务,则该处理设备必须接受。此时,具有第一优先级的处理设备与作业之间建立长期服务协议。根据本公开的示例性实现方式,由于具有第一优先级的处理设备始终服务于该作业,可以将作业管理器部署在具有第一优先级的处理设备上。以此方式,可以在长期服务于作业的处理设备上运行方法400,进而确保负责处理作业的方法400不会被中断。
根据本公开的示例性实现方式,根据确定处理资源可用于处理与作业相关联的被分配的至少两个任务,可以向处理设备分配第二优先级。此时,具有第二优先级的处理设备与作业之间建立短期服务协议。当处理设备已经处理了两个任务之后,可以选择继续服务或者退出服务。
根据本公开的示例性实现方式,可以向处理设备分配一次性优先级。在此的一次性优先级可以包括第三优先级和第四优先级。在一个实现方式中,如果处理资源包括计算资源和存储资源两者,并且处理资源可用于处理与作业相关联的被分配的仅一个任务,则可以向处理设备分配第三优先级。在另一实现方式中,如果处理资源仅包括计算资源,并且处理资源可用于处理与作业相关联的被分配的仅一个任务,则可以向处理设备分配第四优先级。在此的第三/第四优先级可以指示处理设备仅执行与作业相关联的一个任务。此时,具有第三/第四优先级的处理设备与作业之间建立一次性服务合同。一旦该处理设备已经处理了一个任务,则该处理设备可以不再接受与作业相关的任何任务。
在作业启动的初始阶段,可以询问处理系统210中的各个处理设备选择哪种类型的优先级。假设处理设备212长期空闲,则可以向该处理设备212赋予第一优先级;假设处理设备214的工作负载较重,则可以向该处理设备214赋予第三优先级;假设处理设备的工作负载中等,则可以向该处理设备赋予第二优先级。根据本公开的示例性实现方式,可以基于各个处理设备的优先级,来选择用于处理第一组任务的第一组处理设备。
在框430处,可以基于多个优先级,从多个处理设备中选择第一组处理设备。可以优先地选择具有较高优先级的处理设备。例如,在上文描述的第一优先级至第四优先级的实现方式中,可以优先选择具有第一优先级的处理设备。具体地,可以优先选择具有第一优先级的处理设备。由于此类处理设备不能拒绝与作业相关的任何任务,可以确保向此类处理设备分配任务时不会出现被拒绝的情况。进一步,在具有第一优先级的处理设备的数量不足的情况下,还可以优先选择具有第二优先级的处理设备。在具有第一优先级或者第二优先级的处理设备的数量均不足的情况下,可以选择具有第二优先级的处理设备。由于与处理设备进行沟通并且协商是否接受任务将会导致额外的时间开销和处理资源的开销。利用本公开的示例性实现方式,优先地向具有较高优先级的处理设备分配任务,这可以降低处理任务相关的开销进而提高效率。
将会理解,在此的优先级是与处理作业时间段相关联的,一旦已经完成了作业,则不再需要处理设备来执行与作业相关的任务。根据本公开的示例性实现方式,如果确定已经完成了与作业相关联的全部任务,则可以通知具有第一优先级和第二优先级的处理设备退出。此时,处理设备对于作业的服务期结束。
在框440处,可以分别向第一组处理设备分配第一组任务,使得第一组处理设备分别利用各自的处理资源来处理第一组任务以生成第一组任务结果。返回图3B,在此的第一组处理设备可以包括处理设备122、…以及处理设备212和214,并且处理设备122可以位于处理系统120中,而处理设备212和214可以位于处理系统210中。
根据本公开的示例性实现方式,可以向处理系统210中的各个处理设备展示可以被并行处理的第一组任务。感兴趣的处理设备可以接受任务并且执行任务。根据本公开的示例性实现方式,在分配第一组任务的过程中,可能会出现任务被拒绝的情况,此时需要重新分配被拒绝的任务。将会理解,可能存在多种原因导致任务被拒绝。例如,在作业描述310所指定的时间期限之内,可能并不存在空闲处理设备;又例如,处理设备的所有者对于完成任务的奖励可能并不满意,等等。此时,需要将任务被拒绝的情况通知客户端,以便作业的发起者可以调整作业描述310中的相关内容。在下文中,可以参见图7描述有关处理被拒绝任务的更多细节。
图7示意性示出了根据本公开的示例性实现方式的用于处理被拒绝的任务的方法700的流程图。可以首先确定任务是否被拒绝,在框710处,如果确定任务被拒绝,则方法700前进至框720处,可以通知客户端110以更新作业描述310。在此的作业描述310可以包括与执行作业的相关任务的处理设备的协议。例如,协议可以包括上文参见图5描述的各项内容:将要被处理的数据的大小、针对作业的奖励以及期待作业被完成的时间等。根据本公开的示例性实现方式,在此的协议可以是与整个作业相关的协议。
例如,假设的作业发起者指定需要在1小时内获得结果,然而当前没有空闲处理设备,这导致任务被拒绝。作业的发起者可以更新作业描述310的内容,例如,可以将时间限制从1小时修改为2小时。又例如,假设处理设备的所有者认为发起者给予的奖励过低,则发起者可以提高奖励。继而,在框730处,可以基于来自客户端110的更新的作业描述,向分布式处理系统中的处理设备重新分配被拒绝的任务。继续上文示例,由于发起者已经更新了时间限制和/或提高了奖励,当再次分配被拒绝的任务时,如果存在处理设备认为可以接受更新的时间限制和/或奖励,则该处理设备可以接受被重新分配的任务。
根据本公开的示例性实现方式,向处理设备分配任务可以包括两部分:向处理设备传输任务本身(例如,一组指令),以及通知处理设备从何处获取将要被处理的输入数据。对于前者,可以直接向具有较高优先级的处理设备传输用于执行任务的一组指令。对于后者,可以向该处理设备传输待处理数据的地址。
首先,可以基于与作业320相关联的原始数据,分别生成与第一组任务相关联的第一组数据划分(partition)。在此,每个任务可以对应于一个数据划分。为了降低在两个处理系统120和210之间的数据传输,可以尽量将待处理的数据划分存储至第一组处理设备所在的处理系统中。此时,可以将第一组数据划分存储至第一组处理设备中的存储资源中,并且指示第一组处理设备分别从第一组处理设备中的存储资源获取第一组数据划分。
返回图3B,假设将任务334分配给处理设备212,则可以将将要由处理设备212处理的数据划分存储至该处理设备212中的存储资源352中。以此方式,计算资源350可以直接从自身的存储资源352中读取待处理的数据划分,进而避免了从处理设备212外部的其他位置读取数据划分所造成的带宽和时间开销。
备选地和/或附加地,还可以将待处理的数据划分存储至处理系统210中的其他处理设备的存储资源中,例如,可以将数据划分存储在处理设备214的存储资源362中。通常而言,如果将数据存储至基于云的处理系统中,则在向云中写入数据、在云中保持数据以及从云中读取数据,都需要占用云服务的各种资源并且向云服务的提供者支付费用。利用本公开的示例性实现方式,处理系统210中的多个处理设备可以分布在不同的地理位置,尽管存储和读取数据划分可能会产生带宽和时间上的开销,这种存储方式可以向用户提供更为多样的备选存储方式。在下文中,将参见图8描述有关处理设备的更多细节。
图8示意性示出了根据本公开的示例性实现方式的包括不同类型资源的处理设备的分类的框图800。如图8所示,处理设备可以包括多种类型:纯计算设备812,此类设备可以仅包括计算资源;纯存储设备822,此类设备可以仅包括存储资源;以及多功能设备814,此类设备可以包括计算资源和存储资源。此时,涉及计算的设备810可以包括纯计算设备812和多功能设备814,并且涉及存储的设备820可以包括纯存储设备822和多功能设备814。
根据本公开的示例性实现方式,涉及计算的设备810可以从涉及存储的设备820中的指定位置处读取待处理的数据划分。图9示意性示出了根据本公开的示例性实现方式的在处理任务期间用于读取待处理数据的过程的框图900。如图9所示,图中的箭头910、912、914和916分别示意性示出了被读取的数据划分的传输方向。纯计算设备812中的计算资源可以从多功能设备814中的存储资源读取数据划分,此时读取的数据划分的过程如箭头910所示。纯计算设备812中的计算资源可以从纯存储设备822中的存储资源读取数据划分,此时读取的数据划分的过程如箭头914所示。多功能设备814中的计算资源可以从多功能设备814中的存储资源读取数据划分,此时读取的数据划分的过程如箭头916所示。多功能设备814中的计算资源可以从纯存储设备822中的存储资源读取数据划分,此时读取的数据划分的过程如箭头912所示。
假设处理系统210中的处理设备212接受了任务,则该处理设备212可以基于被分配的任务来执行处理。将会理解,任务是与特定的待处理数据相关联的。假设任务为计算产品在一个月中的销售收入,则待处理的原始数据例如可以是各个商店在1月、2月、…、12月的销售输入。根据本公开的示例性实现方式,可以基于与作业相关联的原始数据,分别生成与第一组任务相关联的第一组数据划分。将会理解,一组数据划分中的一个数据划分可以对应于被分配给一个处理设备的一个任务。换言之,处理设备可以针对数据划分来执行被分配的任务。继而,每个处理设备可以分别处理一个月的销售收入。
为了确保各个处理设备可以获取各自的待处理的原始数据,可以将第一组数据划分存储至处理系统210中的存储资源。此时,向分布式处理系统中的第一组处理设备分配第一组任务期间,可以指示第一组处理设备从相应的存储资源中获取第一组数据划分。具体地,可以向处理设备通知数据划分被存储的地址(例如用于访问数据划分的路径),以便获取数据划分。
接受任务的处理设备可以利用自身的计算资源来针对数据划分执行由任务定义的一组指令,以便生成相对应的任务结果。一个处理设备可以读取一个数据划分,并且生成一个任务结果。将会理解,由于来自个人和/或小型组织的处理设备的安全性较低并且可能易于受到黑客或者恶意程序的攻击,因而这些处理设备的可信程度可能较低。因而,并不能完全相信来自这些处理设备的任务结果,而是需要提供附加的验证方式,以确保处理设备提供的任务结果是真正针对数据划分执行了任务后获得的结果。
根据本公开的示例性实现方式,针对来自基于区块链的处理系统210中的处理设备的任务结果,提供了双重验证方式。首先,在第一验证过程中,可以基于计算验证(computation verification)规则来确定任务结果是否可信。如果任务结果通过了第一层验证,则表示该任务结果是可信的。如果任务结果未通过第一层验证,则可以将可以启动投票过程,以针对未通过第一验证的任务结果进行投票。如果投票结果满足预定条件,则可以确认任务结果为可信,否则可以将任务结果标记为不可信。在下文中,将参见图10描述有关验证操作的更多细节。
图10示意性示出了根据本公开的示例性实现方式的用于验证任务结果的方法1000的流程图。可以针对从基于区块链的处理系统210中的处理设备获取的每个任务结果执行方法1000。如图10所示,在框1010处,可以基于计算验证规则,确定任务结果是否可信。在此的计算验证规则是目前已经提出的一种用于验证计算结果是否可信的技术方案,本公开的上下文中将省略有关计算验证规则的具体描述。在框1020处,如果任务结果通过验证,则表示该任务结果是可信的,并且方法1000可以前进至框1060处。如果任务结果未通过验证,则表示该任务结果不可信并且方法1000可以前进至框1030以便启动第二层验证。
在框1030处,可以向多个处理设备发送用于确认任务结果是否可信的投票的请求。例如,可以向基于区块链的处理系统210中的多个处理设备发送投票的请求。此时,多个处理设备可以基于预定算法判断任务结果是否是针对数据划分执行所分配的任务而获得的结果,并且多个处理设备可以基于自身的判断来返回投票结果。如果来自多个处理设备的多个投票满足预定条件(例如,超过50%的投票结果为肯定),则可以确定任务结果为可信。
在框1040处,可以基于框1030处的输出来确定任务结果是否可信,如果任务结果通过验证,则表示该任务结果是可信的,并且方法1000可以前进至框1060处。如果任务结果未通过验证,则表示该任务结果不可信并且方法1000可以前进至框1050,以便向分布式处理系统中的处理设备重新分配与不可信的任务结果相关联的任务。此时,可以从基于云服务的处理系统120中选择处理设备,以确保可以获得可信的任务结果。根据本公开的示例性实现方式,还可以再次向处理系统210中的处理设备分配任务。
利用本公开的示例性实现方式,通过双重验证方式可以确保来自个人和/或小型组织的处理设备的任务结果是可信的。进一步,在确认任务结果不可信的情况下,还可以重新选择处理设备来处理任务,以便确保作业处理的顺利执行。
根据本公开的示例性实现方式,可以向生成可信任务结果的处理设备提供奖励。例如,可以在处理设备接收任务时承诺向处理设备基于奖励,例如可以将奖励设置为锁定状态。一旦验证处理设备提供的任务结果为可信,则将奖励解锁。
在已经确认任务结果可信的情况下,处理设备可以将任务结果写入预定的存储空间,并且返回任务结果在存储空间中的地址。根据本公开的示例性实现方式,可以将任务结果写入多种位置。例如,可以将任务结果写入至基于云服务的处理系统120中的存储空间。备选地和/或附加地,还可以将任务结果写入处理设备的本地存储空间。在此的本地存储空间可以是处理设备的存储器中的空间。由于任务结果还将作为输入数据而被后续部分中的任务来读取,将任务结果驻留在本地存储器中可以降低读取输入数据的时间开销。
根据本公开的示例性实现方式,上文描述的方法400可以进一步包括:指示处理设备将任务结果存储至第一组处理设备的存储资源中。此时,处理设备可以从多个处理设备中选择用于存储任务结果的存储资源。图11示意性示出了根据本公开的示例性实现方式的在处理任务期间用于写入任务结果的过程的框图1100。
如图11所示,图中的箭头1110、1112、1114和1116分别示意性示出了任务结果被写入的方向。纯计算设备812中的计算资源可以向多功能设备814中的存储资源写入任务结果,此时写入任务结果的过程如箭头1110所示。纯计算设备812中的计算资源可以向纯存储设备822中的存储资源写入任务结果,此时写入任务结果的过程如箭头1114所示。多功能设备814中的计算资源可以向多功能设备814中的存储资源写入任务结果,此时写入任务结果的过程如箭头1116所示。多功能设备814中的计算资源可以向纯存储设备822中的存储资源写入任务结果,此时写入任务结果的过程如箭头1112所示。
在下文中,将返回图3B来描述有关向处理设备中的存储资源写入任务结果的过程的更多细节。如图3B所示,处理设备212可以获取待处理的数据划分(例如从存储资源352中获取)并且执行任务,以便获得任务结果。由于生成的任务结果可能会作为后续任务的待处理数据,并且后续任务有可能被处理系统210中的处理设备212或者其他处理设备来执行,因而处理设备212可以将获得的任务结果存储至该处理设备212本地的存储资源352中。备选地和/或附加地,处理设备212可以将获得的任务结果存储至处理系统210中的其他处理设备214本地的存储资源362中。例如,可以将任务结果存储在具有第一优先级和第二优先级的处理设备中。
利用本公开的示例性实现方式,可以尽量利用执行任务的处理设备中的存储资源,也即,利用处理设备中的计算资源来处理存储资源中的数据。以此方式,一方面可以降低对于带宽的需求,降低数据传输占用的时间进而提高处理作业的性能。另一方面,通过使用处理系统210中的各个处理设备中的存储资源,可以提供去中心化的存储方式。用户可以根据自身的需求来定制更为适合于自身的存储方式。
根据本公开的示例性实现方式,可以基于优先级来确定将任务结果存储至何处。概括而言,由于具有较高优先级(例如,第一优先级和第二优先级)的处理设备之后可能还会被分配任务,因而可以将由这种处理设备生成的任务结果存储至处理设备本地的存储空间中。可以指示处理设备将任务结果存储至第一组处理设备中的具有长期优先级的处理设备的存储资源中。由于具有较低优先级(例如,第三优先级和第四优先级)的处理设备之后可能不会被分配任务,因而可以将由这种处理设备生成的任务结果存储至基于云服务的处理系统120中。备选地和/或附加地,还可以将生成的任务结果存储至第一组处理设备中的具有长期优先级的处理设备的存储资源中。
根据本公开的示例性实现方式,如果确定第一组处理设备中的处理设备具有第一优先级和第二优先级中的任一优先级,可以指示处理设备将由处理设备生成的任务结果存储至处理设备的存储空间中。利用本公开的示例性实现方式,即使后续的任务被分配给其他处理设备,由于其他处理设备和后续任务的待处理数据均位于处理系统210中,可以避免在两个处理系统120和210之间频繁传输任务结果和待处理的数据划分的情况。
根据本公开的示例性实现方式,如果确定第一组处理设备中的处理设备具有第三优先级,可以指示处理设备将任务结果存储至该处理设备的本地的存储资源中。相比于向其他处理设备中的存储资源存储任务结果而言,此方式可以降低存储任务结果的带宽和时间开销。
无论将任务结果存储在何处,可以利用结果地址来指示用于访问任务结果的路径。处理设备可以返回指向生成的任务结果的地址,以便使得后续的操作流程可以访问任务结果。作业管理器可以分别接收来自第一组处理设备的针对第一组任务的第一组任务结果。在此,可以基于任务结果的地址来获取相关的任务结果。
将会理解,由于作业可以涉及一个或多个部分,如果作业仅涉及上文描述的第一部分,则可以基于获得的第一组任务结果,即可生成针对整个作业的作业结果。如果作业涉及多个部分,则可以以类似方式来针对后续的第二部分、第三部分等进行处理。
根据本公开的示例性实现方式,可以获取作业中的第二部分中的第二组任务,第二组任务可以由第二组处理设备来并行地执行。例如,可以基于作业描述310,获取作业中的第二部分中的第二组任务。继而,可以基于多个优先级,从多个处理设备中选择第二组处理设备,并且分别向第二组处理设备分配第二组任务,使得第二组处理设备分别利用各自的处理资源来处理第二组任务以生成第二组任务结果。在此针对第二组任务的操作类似于上文参见图4描述的针对第一组任务的操作,因而不再赘述。进一步,可以分别接收来自第二组处理设备的针对第二组任务的第二组任务结果。继而,可以至少部分地基于第二组任务结果,生成作业结果。
将会理解,第二组任务的待处理数据是基于第一组任务结果形成的。此时,可以基于第一组任务结果的第一组结果地址,确定将要由第二组处理设备处理的第二组数据划分的第二组地址。通常而言,对于第二组任务中的每个任务,需要接收来自第一组任务的多个任务结果。假设第一组任务结果被存储在处理设备的本地,可以尽量分配由与第一组处理设备相同的处理设备来执行第二组任务中的任务。
此时处理设备可以从自身本地的存储空间中快速读取待处理数据中的一部分,处理设备还可以从其他处理设备的本地存储空间中读取待处理数据中的其他部分。利用本公开的示例性实现方式,可以尽可能地利用处理设备本地的存储空间,以避免在两个处理系统中频繁地写入和/或读取数据的情况。
具体而言,可以基于作业描述310来生成将要由第二组处理设备处理的第二组数据划分。例如,可以将来自第一组处理设备的多个任务结果的多个地址传输至用于执行第二组任务中的一个任务的处理设备。继而,该处理设备可以基于多个地址来获取待处理的数据划分,进而针对获得的数据划分执行任务并且生成任务结果。
利用本公开的示例性实现方式,一方面可以尽量利用基于区块链的处理系统210中的处理设备的处理能力,另一方面还可以尽量利用这些处理设备中的存储空间,进而降低数据传输的各项开销并且提高处理作业的效率。
将会理解,由于处理系统210中的处理设备的可靠性并不能确保存储的任务结果的完全可靠,因而还可以利用一组处理设备中的存储资源来存储任务结果的备份。图12示意性示出了根据本公开的示例性实现方式的在处理任务期间用于备份任务结果的过程的框图1200。如图12中的箭头1210、1212和1214所示,处理设备812中的计算资源可以分别向存储资源1220、1222和1224存储任务结果。根据本公开的示例性实现方式,还可以比较重新生成任务结果和存储多个副本的各项开销,并且选择具有较低开销的方式。
在上文中已经参见图2至图12详细描述了根据本公开的方法的示例,在下文中将描述相应的装置的实现。根据本公开的示例性实现,提供了一种用于处理作业的装置。该装置包括获取模块,配置用于获取作业中的第一部分中的第一组任务,第一组任务可以由第一组处理设备来并行地执行;设置模块,配置用于基于分布式处理系统中的多个处理设备中的处理设备的处理资源的状态,分别向多个处理设备设置多个优先级,处理资源包括计算资源以及存储资源中的至少任一项;选择模块,配置用于基于多个优先级,从多个处理设备中选择第一组处理设备;以及分配模块,配置用于分别向第一组处理设备分配第一组任务,使得第一组处理设备分别利用各自的处理资源来处理第一组任务以生成第一组任务结果。
根据本公开的示例性实现方式,分配模块包括:长期分配模块,配置用于针对多个处理设备中的处理设备,根据确定处理设备的处理资源可用于处理与作业相关联的多个任务,向处理设备分配长期优先级;以及短期分配模块,配置用于根据确定处理设备的处理资源可用于处理与作业相关联的仅一个任务,向处理设备分配一次性优先级。
根据本公开的示例性实现方式,处理资源包括计算资源和存储资源两者,以及所述长期分配模块包括:第一分配模块,配置用于根据确定处理资源可用于处理与作业相关联的被分配的全部任务,向处理设备分配第一优先级;以及第二分配模块,配置用于根据确定处理资源可用于处理与作业相关联的被分配的至少两个任务,向处理设备分配第二优先级。
根据本公开的示例性实现方式,该装置进一步包括指示模块,配置用于指示处理设备将任务结果存储至第一组处理设备的存储资源中。
根据本公开的示例性实现方式,该指示模块包括:第一指示模块,配置用于指示处理设备将任务结果存储至第一组处理设备中的具有长期优先级的处理设备的存储资源中;以及第二指示模块,配置用于指示处理设备将任务结果存储至处理设备的存储资源中。
根据本公开的示例性实现方式,短期分配模块包括:第三分配模块,配置用于根据确定处理资源可用于处理与作业相关联的被分配的仅一个任务,向处理设备分配第三优先级,处理资源包括计算资源和存储资源;以及第四模块,配置用于根据确定处理资源可用于处理与作业相关联的被分配的仅一个任务,向处理设备分配第四优先级,处理资源仅包括计算资源。
根据本公开的示例性实现方式,该分配模块包括:划分模块,配置用于基于与作业相关联的原始数据,分别生成与第一组任务相关联的第一组数据划分;存储模块,配置用于将第一组数据划分存储至第一组处理设备中的存储资源中;以及指示模块,配置用于指示第一组处理设备分别从第一组处理设备中的存储资源获取第一组数据划分。
根据本公开的示例性实现方式,该装置进一步包括:接收模块,配置用于接收来自第一组处理设备的与第一组任务的第一组任务结果相关联的第一组结果地址;以及结果获取模块,配置用于基于第一组结果地址获取第一组任务结果。
根据本公开的示例性实现方式,该获取模块进一步配置用于获取作业中的第二部分中的第二组任务,第二组任务可以由第二组处理设备来并行地执行;该选择模块进一步配置用于基于多个优先级,从多个处理设备中选择第二组处理设备;以及该分配模块进一步配置用于分别向第二组处理设备分配第二组任务,使得第二组处理设备分别利用各自的处理资源来处理第二组任务以生成第二组任务结果。
根据本公开的示例性实现方式,该分配模块进一步包括:地址确定模块,配置用于基于第一组任务结果的第一组结果地址,确定将要由第二组处理设备处理的第二组数据划分的第二组地址;以及指示模块,配置用于分别指示第二组处理设备基于第二组地址执行第二组任务。
图13示意性示出了根据本公开的示例性实现的用于管理应用系统的设备1300的框图。如图所示,设备1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的计算机程序指令或者从存储单元1308加载到随机访问存储器(RAM)1303中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1303中,还可存储设备1300操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
设备1300中的多个部件连接至I/O接口1305,包括:输入单元1306,例如键盘、鼠标等;输出单元1307,例如各种类型的显示器、扬声器等;存储单元1308,例如磁盘、光盘等;以及通信单元1309,例如网卡、调制解调器、无线通信收发机等。通信单元1309允许设备1300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法400、700和1000,可由处理单元1301执行。例如,在一些实现中,方法400、700和1000可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1308。在一些实现中,计算机程序的部分或者全部可以经由ROM 1302和/或通信单元1309而被载入和/或安装到设备1300上。当计算机程序被加载到RAM 1303并由CPU 1301执行时,可以执行上文描述的方法400、700和1000的一个或多个步骤。备选地,在其他实现中,CPU 1301也可以以其他任何适当的方式被配置以实现上述过程/方法。
根据本公开的示例性实现,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器耦合的存储器,存储器具有存储于其中的指令,指令在被至少一个处理器执行时使得电子设备执行用于处理作业的动作。该动作包括:获取作业中的第一部分中的第一组任务,第一组任务可以由第一组处理设备来并行地执行;基于分布式处理系统中的多个处理设备中的处理设备的处理资源的状态,分别向多个处理设备设置多个优先级,处理资源包括计算资源以及存储资源中的至少任一项;基于多个优先级,从多个处理设备中选择第一组处理设备;以及分别向第一组处理设备分配第一组任务,使得第一组处理设备分别利用各自的处理资源来处理第一组任务以生成第一组任务结果。
根据本公开的示例性实现方式,分别向第一组处理设备分配第一组任务包括:针对多个处理设备中的处理设备,根据确定处理设备的处理资源可用于处理与作业相关联的多个任务,向处理设备分配长期优先级;以及根据确定处理设备的处理资源可用于处理与作业相关联的仅一个任务,向处理设备分配一次性优先级。
根据本公开的示例性实现方式,处理资源包括计算资源和存储资源两者,以及其中向处理设备分配长期优先级包括以下中的至少任一项:根据确定处理资源可用于处理与作业相关联的被分配的全部任务,向处理设备分配第一优先级;以及根据确定处理资源可用于处理与作业相关联的被分配的至少两个任务,向处理设备分配第二优先级。
根据本公开的示例性实现方式,该动作进一步包括:指示处理设备将任务结果存储至第一组处理设备的存储资源中。
根据本公开的示例性实现方式,指示处理设备将任务结果存储至第一组处理设备的存储资源中包括以下中的至少任一项:指示处理设备将任务结果存储至第一组处理设备中的具有长期优先级的处理设备的存储资源中;以及指示处理设备将任务结果存储至处理设备的存储资源中。
根据本公开的示例性实现方式,向处理设备分配一次性优先级包括以下中的至少任一项:根据确定处理资源可用于处理与作业相关联的被分配的仅一个任务,向处理设备分配第三优先级,处理资源包括计算资源和存储资源;以及根据确定处理资源可用于处理与作业相关联的被分配的仅一个任务,向处理设备分配第四优先级,处理资源仅包括计算资源。
根据本公开的示例性实现方式,分别向第一组处理设备分配第一组任务包括:基于与作业相关联的原始数据,分别生成与第一组任务相关联的第一组数据划分;将第一组数据划分存储至第一组处理设备中的存储资源中;以及指示第一组处理设备分别从第一组处理设备中的存储资源获取第一组数据划分。
根据本公开的示例性实现方式,动作进一步包括:接收来自第一组处理设备的与第一组任务的第一组任务结果相关联的第一组结果地址;以及基于第一组结果地址获取第一组任务结果。
根据本公开的示例性实现方式,动作进一步包括:获取作业中的第二部分中的第二组任务,第二组任务可以由第二组处理设备来并行地执行;基于多个优先级,从多个处理设备中选择第二组处理设备;以及分别向第二组处理设备分配第二组任务,使得第二组处理设备分别利用各自的处理资源来处理第二组任务以生成第二组任务结果。
根据本公开的示例性实现方式,分别向第二组处理设备分配第二组任务包括:基于第一组任务结果的第一组结果地址,确定将要由第二组处理设备处理的第二组数据划分的第二组地址;以及分别指示第二组处理设备基于第二组地址执行第二组任务。
根据本公开的示例性实现,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的方法。
根据本公开的示例性实现,提供了一种计算机可读介质。计算机可读介质上存储有机器可执行指令,当机器可执行指令在被至少一个处理器执行时,使得至少一个处理器实现根据本公开方法。
本公开可以是方法、设备、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实现中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实现的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各实现。

Claims (20)

1.一种用于处理作业的方法,包括:
获取所述作业中的第一部分中的第一组任务,所述第一组任务可以由第一组处理设备来并行地执行;
基于分布式处理系统中的多个处理设备中的处理设备的处理资源的状态,分别向所述多个处理设备设置多个优先级,所述处理资源包括计算资源以及存储资源中的至少任一项;
基于所述多个优先级,从所述多个处理设备中选择所述第一组处理设备;以及
分别向所述第一组处理设备分配所述第一组任务,使得所述第一组处理设备分别利用各自的处理资源来处理所述第一组任务以生成第一组任务结果。
2.根据权利要求1所述的方法,其中分别向所述第一组处理设备分配所述第一组任务包括:针对所述多个处理设备中的处理设备,
根据确定所述处理设备的处理资源可用于处理与所述作业相关联的多个任务,向所述处理设备分配长期优先级;以及
根据确定所述处理设备的所述处理资源可用于处理与所述作业相关联的仅一个任务,向所述处理设备分配一次性优先级。
3.根据权利要求2所述的方法,其中所述处理资源包括计算资源和存储资源两者,以及其中向所述处理设备分配所述长期优先级包括以下中的至少任一项:
根据确定所述处理资源可用于处理与所述作业相关联的被分配的全部任务,向所述处理设备分配第一优先级;以及
根据确定所述处理资源可用于处理与所述作业相关联的被分配的至少两个任务,向所述处理设备分配第二优先级。
4.根据权利要求2所述的方法,进一步包括:指示所述处理设备将所述任务结果存储至所述第一组处理设备的存储资源中。
5.根据权利要求4所述的方法,其中指示所述处理设备将所述任务结果存储至所述第一组处理设备的存储资源中包括以下中的至少任一项:
指示所述处理设备将所述任务结果存储至所述第一组处理设备中的具有所述长期优先级的处理设备的存储资源中;以及
指示所述处理设备将所述任务结果存储至所述处理设备的存储资源中。
6.根据权利要求2所述的方法,其中向所述处理设备分配所述一次性优先级包括以下中的至少任一项:
根据确定所述处理资源可用于处理与所述作业相关联的被分配的仅一个任务,向所述处理设备分配第三优先级,所述处理资源包括计算资源和存储资源;以及
根据确定所述处理资源可用于处理与所述作业相关联的被分配的仅一个任务,向所述处理设备分配第四优先级,所述处理资源仅包括计算资源。
7.根据权利要求1所述的方法,其中分别向所述第一组处理设备分配所述第一组任务包括:
基于与所述作业相关联的原始数据,分别生成与所述第一组任务相关联的第一组数据划分;
将所述第一组数据划分存储至所述第一组处理设备中的存储资源中;以及
指示所述第一组处理设备分别从所述第一组处理设备中的所述存储资源获取所述第一组数据划分。
8.根据权利要求4所述的方法,进一步包括:
接收来自所述第一组处理设备的与所述第一组任务的第一组任务结果相关联的第一组结果地址;以及
基于所述第一组结果地址获取所述第一组任务结果。
9.根据权利要求8所述的方法,进一步包括:
获取所述作业中的第二部分中的第二组任务,所述第二组任务可以由第二组处理设备来并行地执行;
基于所述多个优先级,从所述多个处理设备中选择所述第二组处理设备;以及
分别向所述第二组处理设备分配所述第二组任务,使得所述第二组处理设备分别利用各自的处理资源来处理所述第二组任务以生成第二组任务结果。
10.根据权利要求9所述的方法,其中分别向所述第二组处理设备分配所述第二组任务包括:
基于所述第一组任务结果的第一组结果地址,确定将要由所述第二组处理设备处理的第二组数据划分的第二组地址;以及
分别指示所述第二组处理设备基于所述第二组地址执行所述第二组任务。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被所述至少一个处理器执行时使得所述电子设备执行用于处理作业的动作,所述动作包括:
获取所述作业中的第一部分中的第一组任务,所述第一组任务可以由第一组处理设备来并行地执行;
基于分布式处理系统中的多个处理设备中的处理设备的处理资源的状态,分别向所述多个处理设备设置多个优先级,所述处理资源包括计算资源以及存储资源中的至少任一项;
基于所述多个优先级,从所述多个处理设备中选择所述第一组处理设备;以及
分别向所述第一组处理设备分配所述第一组任务,使得所述第一组处理设备分别利用各自的处理资源来处理所述第一组任务以生成第一组任务结果。
12.根据权利要求11所述的电子设备,其中分别向所述第一组处理设备分配所述第一组任务包括:针对所述多个处理设备中的处理设备,
根据确定所述处理设备的处理资源可用于处理与所述作业相关联的多个任务,向所述处理设备分配长期优先级;以及
根据确定所述处理设备的所述处理资源可用于处理与所述作业相关联的仅一个任务,向所述处理设备分配一次性优先级。
13.根据权利要求12所述的电子设备,其中所述处理资源包括计算资源和存储资源两者,以及其中向所述处理设备分配所述长期优先级包括以下中的至少任一项:
根据确定所述处理资源可用于处理与所述作业相关联的被分配的全部任务,向所述处理设备分配第一优先级;以及
根据确定所述处理资源可用于处理与所述作业相关联的被分配的至少两个任务,向所述处理设备分配第二优先级。
14.根据权利要求12所述的电子设备,其中所述动作进一步包括:指示所述处理设备将所述任务结果存储至所述第一组处理设备的存储资源中。
15.根据权利要求14所述的电子设备,其中指示所述处理设备将所述任务结果存储至所述第一组处理设备的存储资源中包括以下中的至少任一项:
指示所述处理设备将所述任务结果存储至所述第一组处理设备中的具有所述长期优先级的处理设备的存储资源中;以及
指示所述处理设备将所述任务结果存储至所述处理设备的存储资源中。
16.根据权利要求12所述的电子设备,其中向所述处理设备分配所述一次性优先级包括以下中的至少任一项:
根据确定所述处理资源可用于处理与所述作业相关联的被分配的仅一个任务,向所述处理设备分配第三优先级,所述处理资源包括计算资源和存储资源;以及
根据确定所述处理资源可用于处理与所述作业相关联的被分配的仅一个任务,向所述处理设备分配第四优先级,所述处理资源仅包括计算资源。
17.根据权利要求11所述的电子设备,其中分别向所述第一组处理设备分配所述第一组任务包括:
基于与所述作业相关联的原始数据,分别生成与所述第一组任务相关联的第一组数据划分;
将所述第一组数据划分存储至所述第一组处理设备中的存储资源中;以及
指示所述第一组处理设备分别从所述第一组处理设备中的所述存储资源获取所述第一组数据划分。
18.根据权利要求14所述的电子设备,其中所述动作进一步包括:
接收来自所述第一组处理设备的与所述第一组任务的第一组任务结果相关联的第一组结果地址;以及
基于所述第一组结果地址获取所述第一组任务结果。
19.根据权利要求18所述的电子设备,其中所述动作进一步包括:
获取所述作业中的第二部分中的第二组任务,所述第二组任务可以由第二组处理设备来并行地执行;
基于所述多个优先级,从所述多个处理设备中选择所述第二组处理设备;以及
分别向所述第二组处理设备分配所述第二组任务,使得所述第二组处理设备分别利用各自的处理资源来处理所述第二组任务以生成第二组任务结果。
20.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令用于执行根据权利要求1-10中的任一项所述的方法。
CN201911187922.7A 2019-11-28 2019-11-28 用于作业处理的方法、设备和计算机程序产品 Active CN112860421B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911187922.7A CN112860421B (zh) 2019-11-28 2019-11-28 用于作业处理的方法、设备和计算机程序产品
US16/801,473 US11900155B2 (en) 2019-11-28 2020-02-26 Method, device, and computer program product for job processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911187922.7A CN112860421B (zh) 2019-11-28 2019-11-28 用于作业处理的方法、设备和计算机程序产品

Publications (2)

Publication Number Publication Date
CN112860421A true CN112860421A (zh) 2021-05-28
CN112860421B CN112860421B (zh) 2024-05-07

Family

ID=75985357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911187922.7A Active CN112860421B (zh) 2019-11-28 2019-11-28 用于作业处理的方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11900155B2 (zh)
CN (1) CN112860421B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114995984B (zh) * 2022-07-19 2022-10-25 深圳市乐易网络股份有限公司 一种分布式超并发云计算系统
CN115292055B (zh) * 2022-10-09 2023-01-20 南方电网数字电网研究院有限公司 电力芯片的资源分配方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567086A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 一种任务调度的方法、设备和系统
CN103164189A (zh) * 2011-12-16 2013-06-19 伊姆西公司 用于实时数据处理的方法和设备
CN104252391A (zh) * 2013-06-28 2014-12-31 国际商业机器公司 用于在分布式计算系统中管理多个作业的方法和装置
CN106326003A (zh) * 2016-08-11 2017-01-11 中国科学院重庆绿色智能技术研究院 一种作业调度和计算资源分配方法
CN108337109A (zh) * 2017-12-28 2018-07-27 中兴通讯股份有限公司 一种资源分配方法及装置和资源分配系统
CN110389824A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 处理计算任务的方法、设备和计算机程序产品

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143762A1 (en) * 2005-12-16 2007-06-21 Arnold Kevin M Assigning tasks in a distributed system based on ranking
US20130290972A1 (en) * 2012-04-27 2013-10-31 Ludmila Cherkasova Workload manager for mapreduce environments
US9342376B2 (en) * 2012-06-27 2016-05-17 Intel Corporation Method, system, and device for dynamic energy efficient job scheduling in a cloud computing environment
US9183016B2 (en) * 2013-02-27 2015-11-10 Vmware, Inc. Adaptive task scheduling of Hadoop in a virtualized environment
IN2013MU02180A (zh) * 2013-06-27 2015-06-12 Tata Consultancy Services Ltd
US20150067019A1 (en) * 2013-08-28 2015-03-05 Soeren Balko Method and system for using arbitrary computing devices for distributed data processing
US9444695B2 (en) * 2014-01-30 2016-09-13 Xerox Corporation Methods and systems for scheduling a task
US9471369B2 (en) * 2014-04-01 2016-10-18 Xerox Corporation Methods and systems for sharing computational resources
US9794136B1 (en) * 2015-01-21 2017-10-17 Pivotal Software, Inc. Distributed resource allocation
US10873540B2 (en) * 2016-07-06 2020-12-22 Cisco Technology, Inc. Crowd-sourced cloud computing resource validation
US10360606B2 (en) * 2016-07-19 2019-07-23 Cisco Technology, Inc. Crowd-sourced cloud computing in a multiple resource provider environment
US10331479B2 (en) * 2017-01-13 2019-06-25 Microsoft Technology Licensing, Llc Computing on transient resources
WO2018226740A2 (en) * 2017-06-05 2018-12-13 Balanced Media Technology, LLC Platform for collaborative processing of computing tasks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567086A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 一种任务调度的方法、设备和系统
CN103164189A (zh) * 2011-12-16 2013-06-19 伊姆西公司 用于实时数据处理的方法和设备
CN104252391A (zh) * 2013-06-28 2014-12-31 国际商业机器公司 用于在分布式计算系统中管理多个作业的方法和装置
CN106326003A (zh) * 2016-08-11 2017-01-11 中国科学院重庆绿色智能技术研究院 一种作业调度和计算资源分配方法
CN108337109A (zh) * 2017-12-28 2018-07-27 中兴通讯股份有限公司 一种资源分配方法及装置和资源分配系统
CN110389824A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 处理计算任务的方法、设备和计算机程序产品

Also Published As

Publication number Publication date
US11900155B2 (en) 2024-02-13
CN112860421B (zh) 2024-05-07
US20210165685A1 (en) 2021-06-03

Similar Documents

Publication Publication Date Title
US10394477B2 (en) Method and system for memory allocation in a disaggregated memory architecture
US9722886B2 (en) Management of cloud provider selection
US10338970B2 (en) Multi-platform scheduler for permanent and transient applications
US20120239810A1 (en) System, method and computer program product for clustered computer environment partition resolution
US20210157655A1 (en) Container load balancing and availability
US11005951B2 (en) Gateway device allowing multiple infrastructural services to access multiple IoT devices
CN112860421B (zh) 用于作业处理的方法、设备和计算机程序产品
US10521381B2 (en) Self-moderating bus arbitration architecture
CN114489954A (zh) 基于虚拟化平台的租户创建方法、租户访问方法及设备
US20220278944A1 (en) Method for allocating resources of a network infrastructure
US20190164242A1 (en) Point-based license sharing
US10956228B2 (en) Task management using a virtual node
CN112860422B (zh) 用于作业处理的方法、设备和计算机程序产品
US9628401B2 (en) Software product instance placement
US20220224660A1 (en) Autoscaling a distributed streaming platform in an event-driven microservice architecture
US20200301755A1 (en) Deadlock resolution between distributed processes
US11768704B2 (en) Increase assignment effectiveness of kubernetes pods by reducing repetitive pod mis-scheduling
US11113119B2 (en) Managing computer resources
US11953972B2 (en) Selective privileged container augmentation
US11036563B2 (en) Deadlock resolution between distributed processes using process and group information
US20240012692A1 (en) Dynamic light-weighted multi-tenancy
US20230102654A1 (en) Relative displaceable capacity integration
US20240103903A1 (en) Dynamic pod priority inference utilizing service mesh telemetry data
US20200310895A1 (en) Aggregation messaging within an integration environment

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
GR01 Patent grant
GR01 Patent grant