CN116938838A - 任务处理流程的执行方法、装置、电子设备和介质 - Google Patents

任务处理流程的执行方法、装置、电子设备和介质 Download PDF

Info

Publication number
CN116938838A
CN116938838A CN202310904366.0A CN202310904366A CN116938838A CN 116938838 A CN116938838 A CN 116938838A CN 202310904366 A CN202310904366 A CN 202310904366A CN 116938838 A CN116938838 A CN 116938838A
Authority
CN
China
Prior art keywords
node
server
parallel
parallel branches
target
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
Application number
CN202310904366.0A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310904366.0A priority Critical patent/CN116938838A/zh
Publication of CN116938838A publication Critical patent/CN116938838A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • H04L47/762Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

提供了一种任务处理流程的执行方法、装置、电子设备和介质,可以应用于云计算技术领域。所述方法应用于第一服务器,其特征在于,所述方法包括:读取任务处理流程的目标任务,获取目标节点;判断所述目标节点的节点类型,其中,所述节点类型包括业务节点和并行器节点,所述并行器节点包括N个并行分支,其中,N为大于1的正整数;若所述目标节点为业务节点,按照预设的第一实现类执行所述业务节点;若所述目标节点为并行器节点,选择N个并行分支中的其中一个,获得第一并行分支;将除所述第一并行分支外的N‑1个并行分支分配到第二服务器;以及按照预设的第二实现类执行所述第一并行分支。

Description

任务处理流程的执行方法、装置、电子设备和介质
技术领域
本发明涉及云计算技术领域,更具体地涉及一种任务处理流程的执行方法、装置、电子设备和介质。
背景技术
随着计算机技术的不断发展和应用需求的增加,任务处理流程的自动化和高效执行成为了许多领域的重要挑战。流程画布是一种常见的任务处理流程定义方式,它可以以图形化的形式展示任务之间的依赖关系和执行逻辑。
然而,目前流程画布的执行通常在单台服务器上进行,导致在处理复杂流程时面临一些挑战。具体地,当流程画布较为复杂且涉及大量的服务调用和多个并行执行流程时,单台服务器的配置可能无法满足任务处理的高效性和高性能要求,这可能导致执行速度变慢、资源利用率降低以及执行效率下降。特别是在大规模任务处理场景中,单台服务器往往无法承载大量的任务同时执行,造成资源浪费和任务执行时间延长。
因此,如何快速执行流程画布流水线成为流程画布任务执行中亟待解决的问题。
发明内容
鉴于上述问题,根据本发明的第一方面,提供了一种任务处理流程的执行方法,应用于第一服务器,其特征在于,所述方法包括:读取任务处理流程的目标任务,获取目标节点;判断所述目标节点的节点类型,其中,所述节点类型包括业务节点和并行器节点,所述并行器节点包括N个并行分支,其中,N为大于1的正整数;若所述目标节点为业务节点,按照预设的第一实现类执行所述业务节点;若所述目标节点为并行器节点,选择N个并行分支中的其中一个,获得第一并行分支;以及将除所述第一并行分支外的并行分支分配到第二服务器,并按照预设的第二实现类执行所述第一并行分支。
根据一些示例性实施例,所述将除所述第一并行分支外的N-1个并行分支分配到第二服务器包括:基于Kubernetes的资源调度器将所述N-1个并行分支分配到第二服务器。
根据一些示例性实施例,所述第二服务器包括M个服务器,其中,M为正整数,所述基于Kubernetes的资源调度器将所述N-1个并行分支分配到第二服务器,具体包括:基于所述资源调度器的状态标签,判断所述M个服务器的服务器状态;若L个服务器的服务器状态为空闲状态,获取L个空闲服务器,其中,L为小于等于M的正整数;以及将所述N-1个并行分支分配到所述L个空闲服务器。
根据一些示例性实施例,所述将所述N-1个并行分支分配到所述L个空闲服务器,具体包括:若L大于或等于N-1,选择所述L个空闲服务器中的N-1个作为目标服务器,将所述N-1个并行分支中的每一个按照第一分配算法分配到所述目标服务器;以及若L小于N-1,将所述L个空闲服务器作为所述目标服务器,并将所述N-1个并行分支按照第二分配算法分配到所述目标服务器。
根据一些示例性实施例,所述第一分配算法包括轮询算法;和/或,所述第二分配算法包括加权轮询算法。
根据一些示例性实施例,进行分配后,每个所述目标服务器的负载量不超过其最大负载量的50%。
根据一些示例性实施例,所述判断所述目标节点的节点类型具体包括:根据节点属性判断所述节点类型;或根据节点标识符判断所述节点类型。
根据本发明的第二方面,提出了一种任务处理流程的执行方法,应用于第二服务器,其特征在于,所述方法包括:获取如第一方面所述的N-1个并行分支;利用docker引擎调用任务执行插件,所述任务执行插件为预先部署在所述第二服务器中的镜像插件;以及基于所述任务执行插件提供的第二实现类,执行所述N-1个并行分支。
根据本发明的第三方面,提供一种服务器集群,所述服务器集群包括第一服务器和第二服务器,其特征在于,所述第一服务器被配置为执行如第一方面所述的方法,所述第二服务器被配置为执行如第二方面所述的方法。
根据本发明的第四方面,提供一种任务处理流程的执行装置,应用于第一服务器,其特征在于,所述装置包括:目标节点获取模块,用于:读取任务处理流程的目标任务,获取目标节点;节点类型判断模块,用于:判断所述目标节点的节点类型,其中,所述节点类型包括业务节点和并行器节点,所述并行器节点包括N个并行分支,其中,N为大于1的正整数;第一执行模块,用于:若所述目标节点为业务节点,按照预设的第一实现类执行所述业务节点;选择模块,用于:若所述目标节点为并行器节点,选择N个并行分支中的其中一个,获得第一并行分支;分配模块,用于:将除所述第一并行分支外的N-1个并行分支分配到第二服务器;第二执行模块,用于:按照预设的第二实现类执行所述第一并行分支。
根据一些示例性实施例,所述分配模块还包括服务器状态判断单元、空闲服务器获取单元和空闲服务器分配模块。
根据一些示例性实施例,所述服务器状态判断单元可以用于基于所述资源调度器的状态标签,判断所述M个服务器的服务器状态。
根据一些示例性实施例,所述空闲服务器获取单元可以用于若L个服务器的服务器状态为空闲状态,获取L个空闲服务器,其中,L为小于等于M的正整数。
根据一些示例性实施例,所述空闲服务器分配模块可以用于将除所述第一并行分支外的N-1个并行分支分配到所述L个空闲服务器。
根据一些示例性实施例,所述空闲服务器分配模块还包括:第一分配单元和第二分配单元。
根据一些示例性实施例,所述第一分配单元可以用于若L大于或等于N-1,选择所述L个空闲服务器中的N-1个作为目标服务器,将所述N-1个并行分支中的每一个按照第一分配算法分配到所述目标服务器。
根据一些示例性实施例,所述第二分配单元可以用于若L小于N-1,将所述L个空闲服务器作为所述目标服务器,并将所述N-1个并行分支按照第二分配算法分配到所述目标服务器。
根据本发明的第五方面,提供一种任务处理流程的执行装置,应用于第二服务器,其特征在于,所述装置包括:N-1个并行分支获取模块,用于:获取如第一方面所述的N-1个并行分支;插件调用模块,用于:利用docker引擎调用任务执行插件,所述任务执行插件为预先部署在所述第二服务器中的镜像插件;以及第三执行模块,用于:基于所述任务执行插件提供的第二实现类,执行所述N-1个并行分支。
根据本发明的第六方面,提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的方法。
根据本发明的第七方面,提供一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的方法。
根据本发明的第八方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
上述一个或多个实施例具有如下优点或有益效果:本发明提供的任务处理流程的执行方法,可以实现任务的分布式执行,这将充分利用服务器集群的计算资源,提高任务处理的效率和速度;同时,对业务节点规定对应的实现类,方便各个业务的开发人员独立开发维护,实现业务解耦。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本发明实施例的任务处理流程的执行方法、装置、设备、介质的应用场景图。
图2示意性示出了根据本发明实施例的任务处理流程的执行方法的流程图。
图3示意性示出了根据本发明的示例性实施例的任务处理流程的执行方法在系统中执行的泳道图。
图4示意性示出了根据本发明的示例性实施例的任务处理流程的执行方法的流程图,所述任务处理流程的执行方法可以应用于第一服务器。
图5示意性示出了根据本发明实施例的将并行分支分配到第二服务器的方法的流程图。
图6示意性示出了根据本发明实施例的将并行分支分配到空闲服务器的方法的流程图。
图7示意性示出了根据本发明的示例性实施例的任务处理流程的执行方法的流程图,所述任务处理流程的执行方法可以应用于第二服务器。
图8示意性示出了根据本发明实施例的任务处理流程的执行装置的结构框图,所述任务处理流程的执行装置可以应用于第一服务器。
图9示意性示出了根据本发明实施例的任务处理流程的执行装置的结构框图,所述任务处理流程的执行装置可以应用于第二服务器。
图10示意性示出了根据本发明实施例的适于实现任务处理流程的执行方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本发明的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本发明实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本发明的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
首先,对本文中记载的技术术语作如下解释和说明。
流程画布(Flowchart)是一种图形化的表示方法,用于展示任务处理流程、业务逻辑或流程控制的顺序和关系。它使用不同的图形符号和箭头来表示不同的步骤、决策和流程路径,帮助人们理解和分析复杂的流程。流程画布都使用固定的节点,然后按照业务逻辑将对应的节点拖拽到画布中,然后进行连线,并在每个节点进行业务配置,最后进行保存。然后该流程会按照事先配置的时间点进行触发,执行流程操作。
Kubernetes(简称K8s)是一个开源的容器编排和管理平台,用于自动化部署、扩展和管理容器化应用程序,其提供了一种方式来描述和定义应用程序的部署、资源分配和服务发现等方面的需求。通过使用Kubernetes的编排能力,可以轻松地管理和编排多个容器化应用程序的部署和运行。
Docker是一种开源的容器化平台,它简化了应用程序的打包、分发和部署过程。Docker利用容器技术将应用程序及其所有依赖项打包到一个独立的容器中。容器提供了一种轻量级的、可移植的运行环境,使应用程序在不同的平台上能够一致地运行,而不受底层操作系统和硬件的影响。
实现类是指实现了接口或抽象类中定义的方法的类,在任务处理流程中,实现类用于提供节点的具体执行逻辑。
在当今的信息技术领域中,任务处理流程的自动化和高效执行是许多应用和系统的关键要素。随着业务流程的复杂性和规模的不断增加,单台服务器上执行任务处理流程可能面临性能瓶颈和效率问题。尤其是在流程涉及到大量的服务调用和复杂的流程操作时,单服务器的执行能力可能无法满足需求,导致任务执行速度下降和资源利用率不高。
流程画布是一种常见的任务处理流程定义方式,它可以以图形化的形式展示任务之间的依赖关系和执行逻辑。然而,目前流程画布的执行通常是在单台服务器上进行,导致在处理复杂流程时面临一些挑战,这种方式可以简化部署和管理,并且对于简单的流程和小规模的应用来说可能是足够的。然而,随着业务的增长和需求的提升,单服务器的执行模式可能无法满足高性能和高效率的要求。
基于此,本发明的实施例提供一种任务处理流程的执行方法,应用于第一服务器,所述方法包括:读取任务处理流程的目标任务,获取目标节点;判断所述目标节点的节点类型,其中,所述节点类型包括业务节点和并行器节点,所述并行器节点包括N个并行分支,其中,N为大于1的正整数;若所述目标节点为业务节点,按照预设的第一实现类执行所述业务节点;若所述目标节点为并行器节点,选择N个并行分支中的其中一个,获得第一并行分支;将除所述第一并行分支外的N-1个并行分支分配到第二服务器;以及按照预设的第二实现类执行所述第一并行分支。在根据本发明实施例的方法中,可以实现任务的分布式执行,这将充分利用服务器集群的计算资源,提高任务处理的效率和速度;同时,对业务节点规定对应的实现类,方便各个业务的开发人员独立开发维护,实现业务解耦。
在一些实施例中,所述任务处理流程的执行方法可以应用于第二服务器,所述方法包括:获取第一服务器分配的N-1个并行分支;利用docker引擎调用任务执行插件,所述任务执行插件为预先部署在所述第二服务器中的镜像插件;以及基于所述任务执行插件提供的第二实现类,执行所述N-1个并行分支。在根据本发明实施例的方法中,可以实现任务的分布式执行,这将充分利用服务器集群的计算资源,提高任务处理的效率和速度。
在一些实施例中,本发明的实施例还提供一种包括第一服务器和第二服务器的服务器集群,其中,第一服务器被配置为执行:读取任务处理流程的目标任务,获取目标节点;判断所述目标节点的节点类型,其中,所述节点类型包括业务节点和并行器节点,所述并行器节点包括N个并行分支,其中,N为大于1的正整数;若所述目标节点为业务节点,按照预设的第一实现类执行所述业务节点;若所述目标节点为并行器节点,选择N个并行分支中的其中一个,获得第一并行分支;将除所述第一并行分支外的N-1个并行分支分配到第二服务器;以及按照预设的第二实现类执行所述第一并行分支。第二服务器被配置为执行:获取第一服务器分配的N-1个并行分支;利用docker引擎调用任务执行插件,所述任务执行插件为预先部署在所述第二服务器中的镜像插件;以及基于所述任务执行插件提供的第二实现类,执行所述N-1个并行分支。在根据本发明实施例的方法中,可以实现任务的分布式执行,这将充分利用服务器集群的计算资源,提高任务处理的效率和速度。
需要说明的是,本发明确定的任务处理流程的执行方法、装置、设备和介质可用于云计算技术领域,也可用于金融领域,还可以用于除云计算技术领域以及金融领域之外的多种领域。本发明的实施例提供的任务处理流程的执行方法、装置、设备和介质的应用领域不做限定。
图1示意性示出了根据本发明实施例的任务处理流程的执行方法、装置、设备、介质的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括终端设备(客户端)101,网络102和服务器103、104、105。网络102用以在终端设备101和服务器103、104、105之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101通过网络102与服务器103、104、105交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器103、104、105可以是提供各种服务的服务器,例如对用户利用终端设备101所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本发明实施例所提供的任务处理流程的执行方法一般可以由服务器103、104、105中的至少一个执行。相应地,本发明实施例所提供的任务处理流程的执行装置一般可以设置于服务器103、104、105中的至少一个中。本发明实施例所提供的任务处理流程的执行方法也可以由不同于服务器103、104、105且能够与终端设备101和/或服务器103、104、105通信的服务器或服务器集群执行。相应地,本发明实施例所提供的任务处理流程的执行装置也可以设置于不同于服务器103、104、105且能够与终端设备101和/或服务器103、104、105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的应用场景,通过图2~图7对本发明的实施例提供的任务处理流程的执行方法进行详细描述。
图2示意性示出了根据本发明实施例的任务处理流程的执行方法的流程图。图3示意性示出了根据本发明的示例性实施例的任务处理流程的执行方法在系统中执行的泳道图。
如图2和图3所示,该实施例的任务处理流程的执行方法200可以包括操作S210~操作S290。
在操作S210,第一服务器读取任务处理流程的目标任务,获取目标节点。
在本发明的实施例中,用户可以根据所需执行的任务或业务流程分析流程逻辑和步骤,并绘制流程画布。其中,可以在流程画布上添加节点,节点可以表示具体的任务步骤、条件判断、并行分支和子流程等;以及可以使用连接线将节点连接起来,形成任务的执行流程。
在本发明的实施例中,可以从目标任务中读取任务处理流程的结构和节点信息,包括节点之间的依赖关系和执行逻辑,并确定当前需要执行的目标节点。
在操作S220,第一服务器判断所述目标节点的节点类型,其中,所述节点类型包括业务节点和并行器节点,所述并行器节点包括N个并行分支,其中,N为大于1的正整数。
在本发明的实施例中,可以对节点类型进行定义,并通过特定的节点属性、标记、命名约定或其他方式来标识业务节点。第一服务器根据节点类型的定义,对目标节点进行判断,可以使用逻辑判断、正则表达式、字符串匹配等方式,根据节点的属性或标识符进行比较和匹配。
在操作S230,若所述目标节点为业务节点,第一服务器按照预设的第一实现类执行所述业务节点。
在本发明的实施例中,可以规定一个配置文件将两类节点(即并行器节点和业务节点)预先规定,两类节点分别对应不同的实现类,程序在启动时可以读取配置文件,并将两类节点加载到程序中。
在本发明的实施例中,可以规定一个配置文件将多种形式的业务节点分别指定实现类,即第一实现类,开发人员提前在第一实现类上写上对应的业务逻辑。因此,在执行到某业务节点时,程序会找到对应的实现类,从而实现对应的业务实现,实现各个节点的业务解耦。每个业务节点独立维护,分别开发、维护、升级。
在本发明的实施例中,预设的第一实现类可以负责执行业务节点所定义的具体业务逻辑,可根据具体的需求和业务规则实现节点的功能。
在操作S240,若所述目标节点为并行器节点,第一服务器选择N个并行分支中的其中一个,获得第一并行分支。
在本发明的实施例中,如果目标节点是并行器节点,可以随机或根据实际需求和策略或根据第一服务器的负载情况来选择其中一个并行分支,以进行后续执行。
在操作S250,第一服务器将除所述第一并行分支外的N-1个并行分支分配到第二服务器。
在本发明的实施例中,可以基于Kubernetes技术实现对并行分支的分配,其中,包括根据docker镜像分发和部署到所述第一服务器和所述第二服务器上;通过Kubernetes技术对所述第一服务器和所述第二服务器集中管理;以及基于Kubernetes的资源调度器对所述并行分支进行分配,以将所述N-1个并行分支分配到第二服务器。
在本发明的实施例中,Kubernetes提供了内置的资源调度器,可以根据节点的资源利用率和负载情况,进行任务的合理分配。通过为并行分支所需的资源(例如CPU、内存、存储)设置适当的资源请求和限制,资源调度器可以根据集群的状况动态分配并行分支到不同的节点上。
根据本发明的实施例,Kubernetes提供了丰富的功能和工具,如自动伸缩、自我修复、负载均衡等,使得流程的部署和管理变得更加简单和可靠。
在操作S260,第一服务器按照预设的第二实现类执行所述第一并行分支。
在本发明的实施例中,对于并行器节点中的并行分支,预设的第二实现类可以负责执行其中每个并行分支的具体逻辑,包括根据具体的并行分支执行需求,为每个分支提供独立的实现逻辑。
此外,对于N-1个并行分支的执行,可以依赖于在第二服务器中的每一个服务器中通过docker镜像部署任务执行插件。具体地,可以在第二服务器中基于任务处理流程的目标任务、第一实现类和第二实现类创建任务执行插件,并利用docker引擎进行调用。
在操作S270,第二服务器获取上述应用于第一服务器的任务处理流程的执行方法所分配的N-1个并行分支。
在操作S280,第二服务器利用docker引擎调用任务执行插件,所述任务执行插件为预先部署在所述第二服务器中的镜像插件。
在本发明的实施例中,需要在第二服务器的每个服务器上创建一个名为Dockerfile的文本文件,用于定义目标镜像的构建过程和配置。其中,在Dockerfile中,可以按照以下步骤编写镜像构建过程的指令:指定基础镜像,选择合适的基础镜像,如Ubuntu、Alpine等;复制文件和依赖项,将所需的文件和依赖项复制到镜像中,可以使用相关指令将第一实现类、第二实现类以及其他必要的文件复制到镜像中;安装所需的依赖项,如果第一实现类和第二实现类依赖于特定的软件包或库,可以使用适当的包管理工具(如apt、yum或pip)来安装这些依赖项。
在本发明的实施例中,在第二服务器的每个服务器上,在Dockerfile所在的目录中,可以使用Docker CLI命令执行构建操作,以生成目标镜像。
在操作S290,基于所述任务执行插件提供的第二实现类,第二服务器执行所述N-1个并行分支。
根据本发明的实施例,通过docker技术简化了应用程序的打包、分发和部署过程,可以在不同的操作系统、云平台和物理机上运行,而无需进行额外的修改。这提供了高度可移植性,使应用程序能够在不同环境中快速部署和迁移。
图4示意性示出了根据本发明的示例性实施例的任务处理流程的执行方法的流程图,所述任务处理流程的执行方法可以应用于第一服务器。
如图4所示,根据该实施例的任务处理流程的执行方法400可以包括操作S410~操作S460。所述任务处理流程的执行方法400可以应用于第一服务器,也就是说,任务处理流程的执行方法400可以应用于判断节点类型或进行并行分支分配的服务器。
在操作S410,读取任务处理流程的目标任务,获取目标节点。
在操作S420,判断所述目标节点的节点类型,其中,所述节点类型包括业务节点和并行器节点,所述并行器节点包括N个并行分支,其中,N为大于1的正整数。
在本发明的实施例中,所述判断所述目标节点的节点类型具体包括:根据节点属性判断所述节点类型;或根据节点标识符判断所述节点类型。
在本发明的实施例中,可以为每个节点定义一个属性,用于标识节点的类型。例如,可以为业务节点定义一个名为"type″的属性,取值为"business";而为并行器节点定义一个名为"type″的属性,取值为″parallel"。在任务处理流程中,可以为每个节点设置相应的属性值,然后在执行过程中根据节点的属性来判断节点类型。
在本发明的实施例中,还可以为每个节点分配一个唯一的标识符或名称,用于标识节点的类型。例如,可以在节点的名称中包含特定的关键词来指示节点类型。例如,以"BUS_″作为业务节点的前缀,以″PAR_″作为并行器节点的前缀。
根据本发明的实施例,节点属性或标识符的命名和设置应具有清晰、一致和易于理解的特点,以便开发人员能够准确判断节点类型,并进行后续的处理。
在操作S430,若所述目标节点为业务节点,按照预设的第一实现类执行所述业务节点。
在操作S440,若所述目标节点为并行器节点,选择N个并行分支中的其中一个,获得第一并行分支。
在操作S450,将除所述第一并行分支外的N-1个并行分支分配到第二服务器。
在本发明的实施例中,所述将除所述第一并行分支外的N-1个并行分支分配到第二服务器包括:基于Kubernetes的资源调度器将所述N-1个并行分支分配到第二服务器。
图5示意性示出了根据本发明实施例的将并行分支分配到第二服务器的方法的流程图。
如图5所示,该实施例的将并行分支分配到第二服务器的方法可以包括操作S510~操作S530。
在操作S510,基于所述资源调度器的状态标签,判断所述M个服务器的服务器状态。
在本发明的实施例中,可以在第二服务器上为每个服务器定义一个状态标签,用于标识节点的空闲状态。例如,可以定义一个名为″status"的标签,取值为"idle"表示服务器空闲,没有正在执行的任务。
根据本发明的实施例,在节点执行任务前后,可以更新节点的状态标签。当节点开始执行任务时,将状态标签更新为"busy"表示节点忙碌;当节点任务执行完成后,将状态标签更新为"idle"表示节点空闲。
在操作S520,若L个服务器的服务器状态为空闲状态,获取L个空闲服务器,其中,L为小于等于M的正整数。
在本发明的实施例中,可以获取第二服务器中的空闲服务器列表,并根据该列表确定是否有空闲服务器以及L个空闲服务器的数量。
在操作S530,将N-1个并行分支分配到所述L个空闲服务器。
在本发明的实施例中,对于除第一并行分支外的N-1个并行分支,可以根据查询到的空闲服务器列表中的空闲服务器数量,选择空闲服务器进行分配。其中,可以使用Kubernetes的调度器来为其中的并行分支选择空闲服务器,并将并行分支的任务部署到该服务器上。
图6示意性示出了根据本发明实施例的将并行分支分配到空闲服务器的方法的流程图。
如图6所示,该实施例的将并行分支分配到空闲服务器的方法可以包括操作S610~操作S620。
在操作S610,若L大于或等于N-1,选择所述L个空闲服务器中的N-1个作为目标服务器,将所述N-1个并行分支中的每一个按照第一分配算法分配到所述目标服务器。
在操作S620,若L小于N-1,将所述L个空闲服务器作为所述目标服务器,并将所述N-1个并行分支按照第二分配算法分配到所述目标服务器。
在本发明的实施例中,所述第一分配算法包括轮询算法;和/或所述第二分配算法包括加权轮询算法。
在本发明的实施例中,若空闲服务器的数量大于或等于N-1个并行分支,可以按照空闲服务器列表确定并行分支的顺序。具体地,可以按照空闲服务器列表的顺序进行轮询,从第一个服务器开始,然后依次分配给下一个服务器,直到所有的并行分支都被分配完毕。
在本发明的实施例中,若空闲服务器的数量小于N-1个并行分支,可以基于性能指标(如CPU使用率、内存占用等)、负载情况或其他指标计算每个空闲服务器的负载权重;根据负载权重,可以将更多的并行分支分配到具有较高负载权重的空闲服务器中执行。
在本发明的实施例中,为了避免空闲服务器被分配的负载过高出现服务中断,还可以规定在进行分配后,每个所述目标服务器的负载量不超过其最大负载量的50%~70%。
需要说明的是,若空闲服务器无法在规定的负载量承载待分配的N-1个并行分支,则会暂停任务分配的行为,任务会在阻塞队列中阻塞,等待空闲服务器有足够资源后再进行任务分配。
返回参照图4,在操作S460,按照预设的第二实现类执行所述第一并行分支。
图7示意性示出了根据本发明的示例性实施例的任务处理流程的执行方法的流程图,所述任务处理流程的执行方法可以应用于第二服务器。
如图7所示,根据该实施例的任务处理流程的执行方法700可以包括操作S710~操作S730。所述任务处理流程的执行方法700可以应用于第二服务器,也就是说,任务处理流程的执行方法700可以应用于执行N-1个并行分支分配的服务器。
在操作S710,获取第一服务器分配的所述的N-1个并行分支。
在操作S720,利用docker引擎调用任务执行插件,所述任务执行插件为预先部署在所述第二服务器中的镜像插件。
在操作S730,基于所述任务执行插件提供的第二实现类,执行所述N-1个并行分支。
本发明提供的任务处理流程的执行方法,将任务处理流程分布到多台服务器上执行,利用分布式计算和资源池化技术来充分利用集群中的计算资源。通过将流程节点分配到空闲服务器上执行,并通过服务调用和数据传递等机制实现节点间的协同和通信,可以实现高效的任务处理流程执行,并带来以下优势:
1.通过将任务处理流程部署在多台服务器上,并利用Kubernetes技术进行分配和管理,可以实现任务的分布式执行,从而提高任务处理流程的执行速度和效率,减少任务执行时间;
2.通过识别并行器节点并将其分配到不同的服务器上执行,并行处理多个分支任务。这可以提高处理复杂任务时的并行度,加快任务的完成时间,并发执行不同分支任务,减少整体执行时间;
3.支持大规模任务处理流程的执行,满足复杂业务需求;
4.提供资源弹性扩展和负载均衡的能力,适应流程规模和负载的变化;
5.提供容错和故障恢复机制,保证流程执行的稳定性和可靠性。
图8示意性示出了根据本发明实施例的任务处理流程的执行装置的结构框图,所述任务处理流程的执行装置可以应用于第一服务器。
如图8所示,根据该实施例的任务处理流程的执行装置800包括目标节点获取模块810、节点类型判断模块820、第一执行模块830、选择模块840、分配模块850和第二执行模块860。
所述目标节点获取模块810可以用于读取任务处理流程的目标任务,获取目标节点。在一实施例中,所述目标节点获取模块810可以用于执行前文描述的操作S410,在此不再赘述。
所述节点类型判断模块820可以用于判断所述目标节点的节点类型,其中,所述节点类型包括业务节点和并行器节点,所述并行器节点包括N个并行分支,其中,N为大于1的正整数。在一实施例中,所述节点类型判断模块820可以用于执行前文描述的操作S420,在此不再赘述。
所述第一执行模块830可以用于若所述目标节点为业务节点,按照预设的第一实现类执行所述业务节点。在一实施例中,所述第一执行模块830可以用于执行前文描述的操作S430,在此不再赘述。
所述选择模块840可以用于若所述目标节点为并行器节点,选择N个并行分支中的其中一个,获得第一并行分支。在一实施例中,所述选择模块840可以用于执行前文描述的操作S440,在此不再赘述。
所述分配模块850可以用于将除所述第一并行分支外的N-1个并行分支分配到第二服务器。在一实施例中,所述分配模块850可以用于执行前文描述的操作S450,在此不再赘述。
所述第二执行模块860可以用于按照预设的第二实现类执行所述第一并行分支。在一实施例中,所述第二执行模块860可以用于执行前文描述的操作S460,在此不再赘述。
在本发明的实施例中,所述第分配模块850还包括服务器状态判断单元、空闲服务器获取单元和空闲服务器分配模块。
所述服务器状态判断单元可以用于基于所述资源调度器的状态标签,判断所述M个服务器的服务器状态。在一实施例中,所述服务器状态判断单元可以用于执行前文描述的操作S510,在此不再赘述。
所述空闲服务器获取单元可以用于若所述服务器状态存在空闲,获取L个空闲服务器,其中,L为小于等于M的正整数。在一实施例中,所述空闲服务器获取单元可以用于执行前文描述的操作S520,在此不再赘述。
所述空闲服务器分配模块可以用于将除所述第一并行分支外的N-1个并行分支分配到所述L个空闲服务器。在一实施例中,所述空闲服务器分配模块可以用于执行前文描述的操作S530,在此不再赘述。
根据本发明的实施例,所述空闲服务器分配模块还包括:第一分配单元和第二分配单元。
所述第一分配单元可以用于若L大于或等于N-1,选择所述L个空闲服务器中的N-1个作为目标服务器,将所述N-1个并行分支中的每一个按照第一分配算法分配到所述目标服务器。在一实施例中,所述第一分配单元可以用于执行前文描述的操作S610,在此不再赘述。
所述第二分配单元可以用于若L小于N-1,将所述L个空闲服务器作为所述目标服务器,并将所述N-1个并行分支按照第二分配算法分配到所述目标服务器。在一实施例中,所述第二分配单元可以用于执行前文描述的操作S620,在此不再赘述。
图9示意性示出了根据本发明实施例的任务处理流程的执行装置的结构框图,所述任务处理流程的执行装置可以应用于第二服务器。
如图9所示,根据该实施例的任务处理流程的执行装置900包括N-1个并行分支获取模块910、插件调用模块920和第三执行模块930。
所述N-1个并行分支获取模块可以用于获取第一服务器分配的N-1个并行分支。在一实施例中,所述N-1个并行分支获取模块可以用于执行前文描述的操作S710,在此不再赘述。
所述插件调用模块可以用于利用docker引擎调用任务执行插件,所述任务执行插件为预先部署在所述第二服务器中的镜像插件。在一实施例中,所述插件调用模块可以用于执行前文描述的操作S720,在此不再赘述。
所述第三执行模块可以用于基于所述任务执行插件提供的第二实现类,执行所述N-1个并行分支。在一实施例中,所述第三执行模块可以用于执行前文描述的操作S730,在此不再赘述。
图10示意性示出了根据本发明实施例的适于实现任务处理流程的执行方法的电子设备的方框图。
如图10所示,根据本发明实施例的电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此相连。处理器1001通过执行ROM 1002和/或RAM1003中的程序来执行根据本发明实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本发明实施例的方法流程的各种操作。
根据本发明的实施例,电子设备1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。电子设备1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本发明实施例的方法。
根据本发明的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本发明的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003和/或ROM 1002和RAM 1003以外的一个或多个存储器。
本发明的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本发明实施例所提供的方法。
在该计算机程序被处理器1001执行时执行本发明实施例的系统/装置中限定的上述功能。根据本发明的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本发明实施例的系统中限定的上述功能。根据本发明的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本发明的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上对本发明的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。不脱离本发明的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本发明的范围之内。

Claims (14)

1.一种任务处理流程的执行方法,应用于第一服务器,其特征在于,所述方法包括:
读取任务处理流程的目标任务,获取目标节点;
判断所述目标节点的节点类型,其中,所述节点类型包括业务节点和并行器节点,所述并行器节点包括N个并行分支,其中,N为大于1的正整数;
若所述目标节点为业务节点,按照预设的第一实现类执行所述业务节点;
若所述目标节点为并行器节点,选择N个并行分支中的其中一个,获得第一并行分支;
将除所述第一并行分支外的N-1个并行分支分配到第二服务器;以及
按照预设的第二实现类执行所述第一并行分支。
2.根据权利要求1所述的方法,其特征在于,所述将除所述第一并行分支外的N-1个并行分支分配到第二服务器包括:
基于Kubernetes的资源调度器将所述N-1个并行分支分配到第二服务器。
3.根据权利要求2所述的方法,其特征在于,所述第二服务器包括M个服务器,其中,M为正整数,所述基于Kubemetes的资源调度器将所述N-1个并行分支分配到第二服务器,具体包括:
基于所述资源调度器的状态标签,判断所述M个服务器的服务器状态;
若L个服务器的服务器状态为空闲状态,获取L个空闲服务器,其中,L为小于等于M的正整数;以及
将所述N-1个并行分支分配到所述L个空闲服务器。
4.根据权利要求3所述的方法,其特征在于,所述将所述N-1个并行分支分配到所述L个空闲服务器,具体包括:
若L大于或等于N-1,选择所述L个空闲服务器中的N-1个作为目标服务器,将所述N-1个并行分支中的每一个按照第一分配算法分配到所述目标服务器;以及
若L小于N-1,将所述L个空闲服务器作为所述目标服务器,并将所述N-1个并行分支按照第二分配算法分配到所述目标服务器。
5.根据权利要求4所述的方法,其特征在于,所述第一分配算法包括轮询算法;和/或,所述第二分配算法包括加权轮询算法。
6.根据权利要求4所述的方法,其特征在于,进行分配后,每个所述目标服务器的负载量不超过其最大负载量的50%。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述判断所述目标节点的节点类型具体包括:根据节点属性判断所述节点类型;或根据节点标识符判断所述节点类型。
8.一种任务处理流程的执行方法,应用于第二服务器,其特征在于,所述方法包括:
获取如权利要求1~7任一项所述的N-1个并行分支;
利用docker引擎调用任务执行插件,所述任务执行插件为预先部署在所述第二服务器中的镜像插件;以及
基于所述任务执行插件提供的第二实现类,执行所述N-1个并行分支。
9.一种服务器集群,所述服务器集群包括第一服务器和第二服务器,其特征在于,所述第一服务器被配置为执行如权利要求1~7中任一项所述的方法,所述第二服务器被配置为执行如权利要求8所述的方法。
10.一种任务处理流程的执行装置,应用于第一服务器,其特征在于,所述装置包括:
目标节点获取模块,用于:读取任务处理流程的目标任务,获取目标节点;
节点类型判断模块,用于:判断所述目标节点的节点类型,其中,所述节点类型包括业务节点和并行器节点,所述并行器节点包括N个并行分支,其中,N为大于1的正整数;
第一执行模块,用于:若所述目标节点为业务节点,按照预设的第一实现类执行所述业务节点;
选择模块,用于:若所述目标节点为并行器节点,选择N个并行分支中的其中一个,获得第一并行分支;
分配模块,用于:将除所述第一并行分支外的N-1个并行分支分配到第二服务器;以及
第二执行模块,用于:按照预设的第二实现类执行所述第一并行分支。
11.一种任务处理流程的执行装置,应用于第二服务器,其特征在于,所述装置包括:
N-1个并行分支获取模块,用于:获取如权利要求1~7任一项所述的N-1个并行分支;
插件调用模块,用于:利用docker引擎调用任务执行插件,所述任务执行插件为预先部署在所述第二服务器中的镜像插件;以及
第三执行模块,用于:基于所述任务执行插件提供的第二实现类,执行所述N-1个并行分支。
12.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~8中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~8中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~8中任一项所述的方法。
CN202310904366.0A 2023-07-21 2023-07-21 任务处理流程的执行方法、装置、电子设备和介质 Pending CN116938838A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310904366.0A CN116938838A (zh) 2023-07-21 2023-07-21 任务处理流程的执行方法、装置、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310904366.0A CN116938838A (zh) 2023-07-21 2023-07-21 任务处理流程的执行方法、装置、电子设备和介质

Publications (1)

Publication Number Publication Date
CN116938838A true CN116938838A (zh) 2023-10-24

Family

ID=88389228

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310904366.0A Pending CN116938838A (zh) 2023-07-21 2023-07-21 任务处理流程的执行方法、装置、电子设备和介质

Country Status (1)

Country Link
CN (1) CN116938838A (zh)

Similar Documents

Publication Publication Date Title
US11425194B1 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
CN108182111B (zh) 任务调度系统、方法和装置
US10514960B2 (en) Iterative rebalancing of virtual resources among VMs to allocate a second resource capacity by migrating to servers based on resource allocations and priorities of VMs
US10965733B2 (en) Efficient, automated distributed-search methods and systems
US9276987B1 (en) Identifying nodes already storing indicated input data to perform distributed execution of an indicated program in a node cluster
US20200218579A1 (en) Selecting a cloud service provider
US8930731B2 (en) Reducing power consumption in data centers having nodes for hosting virtual machines
CN107102788B (zh) 应用程序通知
US8321558B1 (en) Dynamically monitoring and modifying distributed execution of programs
JP5352890B2 (ja) 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体
CN110166507B (zh) 多资源调度方法和装置
US10728169B1 (en) Instance upgrade migration
CN113645262A (zh) 云计算服务系统和方法
CN113448743A (zh) 用于任务处理的方法、电子设备以及计算机程序产品
US20200279173A1 (en) Data pipeline prioritization and prediction
CN115686805A (zh) Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置
Turin et al. A formal model of the kubernetes container framework
CN113485830A (zh) 一种电网监控系统微服务自动扩容方法
Weidner et al. Rethinking high performance computing platforms: Challenges, opportunities and recommendations
CN112860396A (zh) 一种基于分布式深度学习的gpu调度方法及系统
CN114116149A (zh) 一种任务调度方法、装置、设备及介质
CN105100180A (zh) 集群节点动态加载的方法、装置及系统
CN113448650A (zh) 直播功能插件加载方法、装置、设备及存储介质
CN117608760A (zh) 应用于Kubernetes的云上应用混合部署方法
US20230418681A1 (en) Intelligent layer derived deployment of containers

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