CN109491776A - 任务编排方法和系统 - Google Patents

任务编排方法和系统 Download PDF

Info

Publication number
CN109491776A
CN109491776A CN201811312691.3A CN201811312691A CN109491776A CN 109491776 A CN109491776 A CN 109491776A CN 201811312691 A CN201811312691 A CN 201811312691A CN 109491776 A CN109491776 A CN 109491776A
Authority
CN
China
Prior art keywords
task
instruction
data packet
unit
node
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
CN201811312691.3A
Other languages
English (en)
Other versions
CN109491776B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201811312691.3A priority Critical patent/CN109491776B/zh
Publication of CN109491776A publication Critical patent/CN109491776A/zh
Priority to US16/562,266 priority patent/US11403152B2/en
Application granted granted Critical
Publication of CN109491776B publication Critical patent/CN109491776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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
    • 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/5072Grid computing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4868Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with creation or replication
    • 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]
    • 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
    • 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/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/5083Techniques for rebalancing the load in a distributed system
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了任务编排方法和系统。该方法的一具体实施方式包括:任务总控单元将与应用容器中的模块相关的任务的执行指令提供给与应用容器绑定的辅助应用容器中的节点代理服务单元;节点代理服务单元响应于获取到任务的执行指令,执行用于完成所述任务的命令。实现了资源管理与任务编排管理的解耦,以应用容器中的模块粒度组织文件和数据,利用辅助容器中的节点代理服务单元完成热变更,相当于提供了诸如Kubernetes的云原生容器编排引擎无法提供的容器粒度数据热更新的功能,统一了部署任务、定时任务、数据配送任务、一次性命令任务等多个类型的任务的调度,可以进行实例粒度的调度,针对中大型应用的实例规模,提供完备容错功能和较高的并发性能。

Description

任务编排方法和系统
技术领域
本申请涉及计算机领域,具体涉及云计算领域,尤其涉及任务编排方法和系统。
背景技术
在云原生场景中,通过将在线应用托管在诸如Kubernetes的容器编排引擎上来满足在线应用在云化场景下的托管需求。目前,当采用容器编排引擎完成任务编排时,存在任务编排与资源编排无法解耦、不支持容器程序热更新、缺少对数据配送任务的支持等问题。
发明内容
本申请实施例提供了任务编排方法和系统。
第一方面,本申请实施例提供了任务编排方法,该方法包括:任务总控单元将与应用容器中的模块相关的任务的执行指令提供给与所述应用容器绑定的辅助应用容器中的节点代理服务单元,所述辅助应用容器与所述应用容器共享文件系统;所述节点代理服务单元响应于获取到所述任务的执行指令,执行用于完成所述任务的命令。
第二方面,本申请实施例提供了任务编排系统,该任务编排系统包括:任务总控单元,被配置为将与应用容器中的模块相关的任务的执行指令提供给与所述应用容器绑定的辅助应用容器中的节点代理服务单元,所述辅助应用容器与所述应用容器共享文件系统;所述节点代理服务单元,被配置为响应于获取到所述任务的执行指令,执行用于完成所述任务的命令。
本申请实施例提供的任务编排方法和系统,通过任务总控单元将与应用容器中的模块相关的任务的执行指令提供给与所述应用容器绑定的辅助应用容器中的节点代理服务单元,所述辅助应用容器与所述应用容器共享文件系统;所述节点代理服务单元响应于获取到所述任务的执行指令,执行用于完成所述任务的命令。实现了资源管理与任务编排管理的解耦,以应用容器中的模块粒度组织文件和数据,利用辅助容器中的节点代理服务单元完成热变更,相当于提供了诸如Kubernetes的云原生容器编排引擎无法提供的容器粒度数据热更新的功能,进一步的,统一了部署任务、定时任务、数据配送任务、一次性命令任务等多个类型的任务的调度,可以进行实例粒度的调度,针对中大型应用的实例规模,提供完备容错功能和较高的并发性能。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了适于用来实现本申请的实施例的示例性系统架构;
图2示出了根据本申请的任务编排方法的一个实施例的流程图;
图3示出了执行部署任务的一个示例性流程图;
图4示出了执行定时任务的一个示例性流程图;
图5示出了执行数据配送任务的一个流程示意图;
图6示出了执行初始化追单任务的一个流程示意图;
图7示出了根据本申请的任务编排系统的一个实施例的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,其示出了适于用来实现本申请的实施例的示例性系统架构。
如图1所示,系统架构包括客户端101、网络102、任务编排系统103。客户端可以为运维工程师使用的终端。任务编排系统可以负责任务类的编排调度。任务编排系统可以运行在任何Unix环境下的分布式系统,任务编排系统可以提供大型一体式在线应用模型在云化场景下的任务编排和调度支持。从而,满足云原生场景托管一体式应用时的多任务类型、中大型的业务规模(万级别实例)、热更新与动态调用等需求。任务编排系统可以与容器编排引擎Kubernetes结合,为容器编排引擎Kubernetes提供增强的复杂编排调度功能。任务编排系统可以与Kubernetes搭配使用。例如,应用基于虚拟机托管,任务编排系统可以与各公有云IaaS系统搭配使用。任务编排系统自身可以支持Kubernetes托管方式。任务编排系统自身的托管支持在Kubernetes中的容器化部署。任务编排系统中的各个单元均可以采用容器化部署方式。任务编排系统中的各个单元均可以通过镜像交付,可以预先定义service、statefulset等资源类型,通过Kubernetes的资源调度功能一键化部署完成。
请参考图2,其示出了根据本申请的任务编排方法的一个实施例的流程。该方法包括以下步骤:
步骤201,任务总控单元将任务的执行指令提供给节点代理服务单元。
在本实施例中,任务编排系统包含任务总控单元、节点代理服务单元等与任务编排相关的单元。当对任务进行编排时,可以利用任务总控单元接收客户端发送的与任务编排相关的请求,与任务编排相关的请求包括:与应用容器中的模块相关的任务的标识;将任务的执行指令提供给与应用容器绑定的辅助应用容器中的节点代理服务单元,辅助应用容器与应用容器共享文件系统。
在本实施例中,每一个应用容器分别绑定一个辅助容器。一个辅助容器中可以部署一个节点代理服务单元,用于完成与应用容器中的模块相关的任务,例如,对应用容器中的模块进行更新的任务。节点代理服务单元可以伴随每个应用容器启动,可以采用Kubernetes中的Pod辅助容器模式外挂在应用容器的namespace中,共享应用容器的文件系统,拥有热更新文件的能力。
在本实施例中,一个任务的任务指令可以同时分发至多个节点代理服务单元,由每一个节点代理服务服务单元同时执行用于完成该任务的命令。例如,多个应用容器中部署有相同的应用,相应的,多个应用容器中部署有该应用的模块。同时,多个应用容器中各自绑定的辅助容器中均部署有一个节点代理服务单元。假设一个任务为对该应用的模块进行更新的任务,则该任务的执行指令可以同时分发至多个节点代理服务单元,每一个节点代理服务单元在接收到该任务的指令之后,均执行用于完成该任务的命令。
步骤202,节点代理服务单元响应于获取到任务的执行指令,执行用于完成任务的命令。
在本实施例中,任务总控单元在将任务的执行指令提供给节点代理服务单元之后,节点代理服务单元可以获取到任务的执行指令。节点代理服务单元在获取到任务的执行指令之后,可以确定用于完成任务的命令,执行用于完成任务的命令来完成任务。
在本实施例中,可以以模块粒度组织文件和数据,采用辅助容器完成热变更。由于需要支持容器内部数据的热更新,任务的编排单位可以定义为小于容器粒度的模块粒度。模块主要对应到容器内的指定目录。辅助容器通过共享应用容器的数据目录,有权限完成目录和文件的热变更。
在本实施例中,辅助容器可以运行在辅助容器绑定的应用容器的namespace下,可以由部署在辅助容器中的节点代理服务单元完成与在应用容器中的模块相关的任务。节点代理服务单元可以通过执行用于完成任务的命令来完成任务。命令执行可以采用单机版部署器,应用容器本身可以开放监听回环地址的ssh服务,节点代理服务单元可以通过ssh透传用于完成任务的命令。因此,容器间的任务动作完全并发,并且类似于物理机上的业务作业,执行复杂度由两层降为一层。
在本实施例中,通过由部署在辅助容器中的节点代理服务单元完成与在应用容器中的模块相关的任务,实现了资源管理与任务编排管理解耦、以应用容器中的模块粒度组织文件和数据,采用辅助容器中的节点代理服务单元完成热变更,相当于提供了诸如Kubernetes的云原生容器编排引擎无法提供的容器粒度数据热更新的功能。
在本实施例的一些可选的实现方式中,可以利用任务编排系统中的状态存储单元存储任务执行情况信息,任务执行情况信息包括:任务的执行结果、任务执行之后应用容器中的模块的版本信息。任意一个节点代理服务单元在执行任意一个任务之后,均可以将指示执行成功或执行失败的相应的执行结果和任务执行之后应用容器中的模块的版本信息存储在状态存储单元。
状态存储单元相当于提供对任务执行结果的异步保存服务,异步保存服务可以为具有目录树存储结构的HTTP服务,具有支持高可用大并发最终一致性的特点。可以利用状态存储单元按照目录树隔离不同应用组织的不同类型任务的状态数据。具有定时自动数据擦除的机制。清理策略一般为系统承诺的最长审计时间如30天。异步保存服务可以与Kubernetes的对象API类似,支持增加、删除、查找、修改、监听等类型的操作接口。
通过状态存储单元任务编排系统中的状态存储单元存储任务的执行结果、任务执行之后应用容器中的模块的版本信息等,相当于节点代理服务单元维护节点代理服务单元所在的辅助容器绑定的应用容器中的模块的版本信息,降低任务总控单元对实例信息记录的不一致性问题。同时,节点代理服务单元自身可以保存应用容器中的各个模块的当前的版本状态、任务记录,可以用于细粒度的任务历史审计。通过自维护元数据,模块上线锁由实例维护,可以有效避免相同模块冲突部署的场景。应用容器中的相同模块可以按照任务模板id通过有限长度队列缓存,在单实例内实现负载可控。部署的状态和结果由节点代理服务同步到状态存储单元中,保证数据的时效性和持久性,同时也可以降低任务总控单元无状态设计的难度。
在本实施例的一些可选的实现方式中,可以利用任务编排系统中的状态异步校准单元检测出丢失、状态异常、版本落后等需要进行任务补偿的情况,当检测到需要进行任务补偿的情况时,进行实例粒度的任务补偿。
以部署任务为例,一个部署任务的执行指令被分发至多个节点代理服务单元,当部分节点代理服务单元未完成任务时,可以计算出执行任务失败的节点代理服务单元的数量占据该任务被分发至的所有节点代理服务单元的数量的比例。当失败比例小于比例阈值。状态异步校准单元可以生成该任务的任务补偿指令,将任务补偿指令提供给任务总控单元,来触发任务总控单元重新向执行任务失败的节点代理服务单元发送该任务的执行指令进行任务补偿。
通过状态异步校准单元检测出丢失、状态异常、版本落后等需要进行任务补偿的情况,当检测到需要进行任务补偿的情况时,进行实例粒度的任务补偿。从而,在任务编排系统在大并发场景下例如在实例数达到万级别以上的规模的场景下,能够在秒级别发现状态不一致的情况,进行任务补偿。从而,提供完备的容错功能和较高的并发性能。
在本实施例的一些可选的实现方式中,可以利用消息总线单元将预设类型的指令发送至与预设类型的指令相关联的单元,预设类型的指令包括以下之一:执行指令、数据包制作指令、任务补偿指令。
消息总线单元可以为消息中间件,通过消息总线单元将指令发送至相应的节点代理服务单元,可以确保指令的实时性。
当任务总控单元在将任务的执行指令提供给节点代理服务单元时,任务总控单元可以首先将任务的执行指令发送至消息总线单元,消息总线单元在接收到任务的执行指令之后,可以将任务的执行指令发送至相应的节点代理服务单元,节点代理服务单元可以接收到任务的执行指令,从而,节点代理服务单元可以获取到任务的执行指令。
当需要制作与部署任务、数据配送任务等任务的执行中需要的与任务相关的数据包时,任务总控单元可以将数据包制作指令发送至消息总线单元,消息总线单元在接收到数据包制作指令之后,可以将数据包制作指令发送至包制作单元。
当状态异步校准单元可以生成任务的补偿指令,将任务补偿指令提供给任务总控单元时,状态异步校准单元可以首先将任务的补偿指令发送至消息总线单元,消息总线单元在接收到任务的补偿指令之后,可以将任务的补偿指令发送至任务总控单元,来触发任务总控单元重新向执行任务失败的节点代理服务单元发送该任务的执行指令进行任务补偿。
在本实施例的一些可选的实现方式中,部署任务、数据配送任务等任务的执行中需要与任务相关的数据包,可以利用数据包制作单元接收任务总控单元发送的数据包制作指令;制作与任务相关的满足预设规范的数据包;将与任务相关的满足预设规范的数据包发送至对象存储系统。
以制作满足预设规范的与部署任务相关的数据包为例,数据包制作单元可以通过将持续集成产品库产出与部署元信息目录Metades结合,制作出满足预设规范的与部署任务相关的数据包。与部署任务相关的满足预设规范的数据包可以称之为部署包。
数据包制作单元可以进行多模块合并以及打包。数据包制作单元可以创建临时目录tmp_foo;将默认的metades包解压到tmp_foo;依次针对每一个生成部署包所基于的模块包,执行以下操作,直至分别基于每一个模块包得到所有部署包:创建与/home/work/的相对部署路径,例如,部署路径为/home/work/tomcat/webapps,则需要在tmp_foo目录下再创建tomcat/webapps目录;对齐解压模块包,将模块包解压至tomcat/webapps目录下;移动metades文件将tmp_foo/tomcat/webapps/metades/*拷贝到tmp_foo/metades/下,并删除tmp_foo/tomcat/webapps/metades目录,得到部署包。制作出的部署包存储在云场景中的对象存储中,可以避免自定义模块的临时下载地址失效的情况,依靠对象存储系统大吞吐量支持全网大并发的部署包的拉取。
在本实施例的一些可选的实现方式中,当任务为部署任务时,当任务为部署任务时,客户端可以发起部署任务。客户端可以向任务总控单元发送与应用容器中的模块相关联的部署任务的创建请求,任务总控单元在接收到与应用容器中的模块相关联的部署任务的创建请求之后,任务总控单元可以向数据包制作单元发送数据包制作指令。数据包制作单元制作出满足预设规范的与部署任务相关的数据包,例如制作出包含对应用容器中的模块进行更新所需的数据的数据包。数据包制作单元在制作出满足预设规范的与部署任务相关的数据包之后,数据包制作单元向任务总控单元发送指示与部署任务的相关的满足预设规范的数据包制作完成的打包结果,同时,数据包制作单元将制作出满足预设规范的与部署任务相关的数据包发送至对象存储系统进行存储。任务总控单元在接收到指示与部署任务的相关的满足预设规范的数据包制作完成的打包结果之后,任务总控单元确认部署任务所针对的应用容器中的模块即与该任务相关的模块未处于部署状态,向部署在与该任务相关的模块所在的应用容器绑定的辅助容器中的节点代理服务单元发送部署任务的执行指令。将部署任务的执行指令提供给辅助应用容器中的节点代理服务单元,例如通过消息总线单元发送至节点代理服务单元,节点代理服务单元接收到部署任务的执行指令。节点代理服务单元在获取到部署任务的执行指令之后,可以检查模块、版本有效性。当模块、版本均有效时,该节点代理服务单元可以从对象存储系统拉取部署包。该节点代理服务单元可以解压部署包。节点代理服务单元利用部署包以及执行用于完成部署任务的命令完成部署任务,节点代理服务单元可以在完成部署任务后执行回调命令。当部署任务执行成功时,部署任务相关的模块的版本信息被更新。节点代理服务单元可以向状态存储单元同步部署任务的执行结果和执行部署任务后与部署任务相关的模块的最新的版本信息,即将部署任务的执行结果和执行部署任务后与部署任务相关的模块的最新版本信息发送至状态存储单元,在状态存储单元存储部署任务的执行结果和执行部署任务后与部署任务相关的模块的最新的版本信息。
请参考图3,其示出了执行部署任务的一个示例性流程图。
在本实施例的一些可选的实现方式中,当任务为定时任务时,客户端可以发起定时任务。客户端可以向任务总控单元发送定时任务创建请求。任务总控单元在接收到定时任务创建请求之后,可以创建定时任务,单个定时任务的执行过程可以相当于没有部署包的部署任务的执行过程。定时任务可以每间隔预设时长触发一次。可以通过程序内部定时器开始计时,每到达一个定时任务的触发时刻,即每间隔预设时长,触发定时任务的一次执行过程。
任务总控单元每间隔预设时长向部署在与该定时任务相关的模块所在的应用容器绑定的辅助容器中的节点代理服务发送定时任务的执行指令。任务总控单元每间隔预设时长向该节点代理服务单元发送定时任务的执行指令。节点代理服务单元在每一次获取到定时任务的执行指令之后,节点代理服务单元可以响应于获取到定时任务的执行指令,立即向应用容器发起ssh会话,执行用于完成任务的命令来完成任务。节点代理服务单元可以执行超时放弃、失败重试等容错逻辑。节点代理服务单元可以向状态存储单元同步定时任务的执行结果和执行定时任务后与定时任务相关的模块的最新的版本信息,即将定时任务的执行结果和执行定时任务后与定时任务相关的模块的最新版本信息发送至状态存储单元,在状态存储单元存储定时任务的执行结果和执行定时任务后与定时任务相关的模块的最新的版本信息。
请参考图4,其示出了执行定时任务的一个示例性流程图。
在本实施例的一些可选的实现方式中,当任务为数据配送任务时,客户端可以发起数据配送任务。客户端可以向任务总控单元发送与应用容器中的模块相关联的数据配送任务的创建请求,该请求中包含用于生成配送数据包的数据源的下载地址。任务总控单元在接收到与应用容器中的模块相关联的数据配送任务的创建请求之后,任务总控单元可以向数据包制作单元发送配送数据包制作指令。数据包制作单元配送数据包制作指令之后,可以根据数据源的下载地址,拉取数据源,解压检查数据源的合法性,在确定数据源合法时,制作出满足预设规范的配送数据包,也可称之标准配送数据包,并发送至对象存储系统进行存储。
数据包制作单元发送指示满足预设规范的配送数据包制作完成的打包结果。任务总控单元在接收数据包制作单元发送的指示满足预设规范的配送数据包制作完成的打包结果之后,向部署在与该数据配送任务相关的模块所在的应用容器绑定的辅助容器中的节点代理服务单元发送数据配送任务的执行指令。该节点代理服务单元响应于获取到数据配送任务的执行指令,从对象存储系统拉取满足预设规范的配送数据包。该节点代理服务单元可以解压配送数据包,将解压后的数据向应用容器中的目标目录进行投递,得到数据配送任务的执行结果;将数据配送任务的执行结果同步到状态存储单元。
请参考图5,其示了执行数据配送任务的一个流程示意图。
在本实施例中,存储的与各个类型的任务相关的数据结构均可以分为元数据结构和状态数据结构,状态数据结构为用于存储任务的执行结果、模块的版本信息等任务执行情况信息的数据结构。将各个类型的任务相关的数据仅在元数据结构中进行差异扩展,从而,统一了部署任务、定时任务、数据配送任务、一次性命令任务等多个类型的任务的调度。在调度标准上,可以对多个类型的任务进行实例粒度的调度。
在本实施例中,针对当应用扩容时,可能出现的创建新的实例即新的应用容器与任务执行碰撞的情况,由于实例没有就绪无法正常执行任务的,可以利用状态异步校准单元发起对创建的新的实例的任务补偿。状态异步校准单元可以检测创建的新的实例是否完成初始化,在检测出创建的新的实例完成初始化之后,状态异步校准单元可以发起对创建的新的实例的一次性任务补偿。
请参考图6,其示了执行初始化追单任务的一个流程示意图。
可以由状态异步校准单元发起初始化任务追单任务,由状态异步校准单元可以将未执行的与创建的新的实例的中的模块相关联的任务的任务补偿指令发送至任务总控单元。任务总控单元可以合并未执行的与创建的新的实例的中的模块相关联的任务,任务总控单元向数据包制作单元发送用于完成合并的任务中的每一个任务时各自所需的部署包的制作请求,由数据包制作单元制作出完成每一个任务时各自所需的部署包,将制作出的部署包存储在对象存储系统中。任务总控单元向与该创建的新的实例相关联的节点代理服务单元发送初始化任务追单任务的执行指令,该节点代理服务单元从对象存储系统中获取部署包,节点代理服务单元完成未执行的与创建的新的实例的中的模块相关联的任务。
请参考图7,作为对上述各图所示方法的实现,本申请提供了一种任务编排系统的一个实施例,该方法实施例与图2所示的方法实施例相对应。
如图7所示,本实施例的任务编排系统包括:任务总控单元701,节点代理服务单元702。其中,任务总控单元701被配置为:将与应用容器中的模块相关的任务的执行指令提供给与所述应用容器绑定的辅助应用容器中的节点代理服务单元,所述辅助应用容器与所述应用容器共享文件系统;节点代理服务单元702被配置为:响应于获取到所述任务的执行指令,执行用于完成所述任务的命令。
在本实施例的一些可选的实现方式中,任务编排系统还包括:状态存储单元,被配置为:任务执行情况信息,任务执行情况信息包括:任务的执行结果、任务执行之后应用容器中的模块的版本信息。
在本实施例的一些可选的实现方式中,任务编排系统还包括:状态异步校准单元,被配置为:从状态存储单元获取任务的任务执行情况信息;基于获取到任务执行情况信息,检测是否存在需要进行任务补偿的情况;响应于检测出存在需要进行任务补偿的情况,向任务总控单元发送所述任务的任务补偿指令。
在本实施例的一些可选的实现方式中,任务编排系统还包括:消息总线单元,被配置为:将预设类型的指令发送至与预设类型的指令相关联的单元,预设类型的指令包括以下之一:执行指令、数据包制作指令、任务补偿指令。
在本实施例的一些可选的实现方式中,任务编排系统还包括:数据包制作单元,被配置为:接收任务总控单元发送的数据包制作指令;制作与任务相关的满足预设规范的数据包;将与任务相关的满足预设规范的数据包发送至对象存储系统。
在本实施例的一些可选的实现方式中,任务为部署任务;任务总控单元进一步被配置为:向数据包制作单元发送部署数据包制作指令;接收数据包制作单元发送的指示与部署任务的相关的满足预设规范的数据包制作完成的打包结果,其中,所述与部署任务的相关的满足预设规范的数据包存储在对象存储系统中;将部署任务的执行指令提供给所述节点代理服务单元;所述节点代理服务单元进一步被配置为:响应于获取到部署任务的执行指令;从对象存储系统拉取与部署任务的相关的满足预设规范的数据包;执行用于完成部署任务的命令,得到部署任务的执行结果;将部署任务的执行结果和所述模块的版本信息同步至状态存储单元。
在本实施例的一些可选的实现方式中,任务为定时任务;所述任务总控单元进一步被配置为:每间隔预设时长向节点代理服务单元发送定时任务的执行指令,其中,节点代理服务单元响应于获取到定时任务的执行指令,执行用于完成定时任务的命令,得到定时任务的执行结果,以及将定时任务的执行结果和所述模块的版本信息同步至状态存储单元。
在本实施例的一些可选的实现方式中,任务为数据配送任务;任务总控单元被配置为:向数据包制作单元发送配送数据包制作指令;接收数据包制作单元发送的指示满足预设规范的配送数据包制作完成的打包结果,其中,满足预设规范的配送数据包存储在对象存储系统中;向节点代理服务单元发送数据配送任务的执行指令;节点代理服务单元被配置为:响应于获取到数据配送任务的执行指令,从对象存储系统中拉取满足预设规范的配送数据包;解压配送数据包,以及将解压后得到的数据向应用容器中的目标目录进行投递,得到数据配送任务的执行结果;将数据配送任务的执行结果同步至状态存储单元。
本申请还提供了一种计算机可读介质,上述计算机可读介质承载有一个或者多个程序,当一个或者多个程序被电子设备执行时,使得电子设备执行上述实施例中描述的操作。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、方法或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被消息执行系统、方法或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由消息执行系统、方法或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行消息。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机消息的组合来实现。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (17)

1.一种任务编排方法,包括:
任务总控单元将与应用容器中的模块相关的任务的执行指令提供给与所述应用容器绑定的辅助应用容器中的节点代理服务单元,所述辅助应用容器与所述应用容器共享文件系统;
所述节点代理服务单元响应于获取到所述任务的执行指令,执行用于完成所述任务的命令。
2.根据权利要求1所述的方法,所述方法还包括:
利用状态存储单元存储任务执行情况信息,任务执行情况信息包括:任务的执行结果、任务执行之后应用容器中的模块的版本信息。
3.根据权利要求2所述的方法,所述方法还包括:
利用状态异步校准单元从状态存储单元获取任务的任务执行情况信息;
基于获取到任务执行情况信息,检测是否存在需要进行任务补偿的情况;
响应于检测出存在需要进行任务补偿的情况,向任务总控单元发送所述任务的任务补偿指令。
4.根据权利要求3所述的方法,所述方法还包括:
利用消息总线单元将预设类型的指令发送至与预设类型的指令相关联的单元,预设类型的指令包括以下之一:执行指令、数据包制作指令、任务补偿指令。
5.根据权利要求4所述的方法,所述方法还包括:
利用数据包制作单元接收任务总控单元发送的数据包制作指令;
制作与任务相关的满足预设规范的数据包;
将与任务相关的满足预设规范的数据包发送至对象存储系统。
6.根据权利要求5所述的方法,所述任务为部署任务;以及
所述方法还包括:
任务总控单元向数据包制作单元发送部署数据包制作指令;接收数据包制作单元发送的指示与部署任务的相关的满足预设规范的数据包制作完成的打包结果,其中,所述与部署任务的相关的满足预设规范的数据包存储在对象存储系统中;将部署任务的执行指令提供给所述节点代理服务单元;
所述节点代理服务单元响应于获取到部署任务的执行指令;从对象存储系统拉取与部署任务的相关的满足预设规范的数据包;执行用于完成部署任务的命令,得到部署任务的执行结果;将部署任务的执行结果和所述模块的版本信息同步至状态存储单元。
7.根据权利要求5所述的方法,所述任务为定时任务;以及
所述方法还包括:
任务总控单元每间隔预设时长向节点代理服务单元发送定时任务的执行指令,其中,节点代理服务单元响应于获取到定时任务的执行指令,执行用于完成定时任务的命令,得到定时任务的执行结果,以及将定时任务的执行结果和所述模块的版本信息同步至状态存储单元。
8.根据权利要求5所述的方法,所述任务为数据配送任务;以及
所述方法还包括:
任务总控单元向数据包制作单元发送配送数据包制作指令;接收数据包制作单元发送的指示满足预设规范的配送数据包制作完成的打包结果,其中,满足预设规范的配送数据包存储在对象存储系统中;向节点代理服务单元发送数据配送任务的执行指令;
节点代理服务单元响应于获取到数据配送任务的执行指令,从对象存储系统中拉取满足预设规范的配送数据包;解压配送数据包,以及将解压后得到的数据向应用容器中的目标目录进行投递,得到数据配送任务的执行结果;将数据配送任务的执行结果同步至状态存储单元。
9.一种任务编排系统,包括:
任务总控单元,被配置为:将与应用容器中的模块相关的任务的执行指令提供给与所述应用容器绑定的辅助应用容器中的节点代理服务单元,所述辅助应用容器与所述应用容器共享文件系统;
节点代理服务单元,被配置为:响应于获取到所述任务的执行指令,执行用于完成所述任务的命令。
10.根据权利要求9所述的系统,所述任务编排系统还包括:
状态存储单元,被配置为:任务执行情况信息,任务执行情况信息包括:任务的执行结果、任务执行之后应用容器中的模块的版本信息。
11.根据权利要求10所述的系统,所述任务编排系统还包括:
状态异步校准单元,被配置为:从状态存储单元获取任务的任务执行情况信息;基于获取到任务执行情况信息,检测是否存在需要进行任务补偿的情况;响应于检测出存在需要进行任务补偿的情况,向任务总控单元发送所述任务的任务补偿指令。
12.根据权利要求11所述的系统,所述任务编排系统还包括:
消息总线单元,被配置为:将预设类型的指令发送至与预设类型的指令相关联的单元,预设类型的指令包括以下之一:执行指令、数据包制作指令、任务补偿指令。
13.根据权利要求12所述的系统,所述任务编排系统还包括:
数据包制作单元,被配置为:接收任务总控单元发送的数据包制作指令;制作与任务相关的满足预设规范的数据包;将与任务相关的满足预设规范的数据包发送至对象存储系统。
14.根据权利要求13所述的系统,所述任务为部署任务;任务总控单元进一步被配置为:向数据包制作单元发送部署数据包制作指令;接收数据包制作单元发送的指示与部署任务的相关的满足预设规范的数据包制作完成的打包结果,其中,所述与部署任务的相关的满足预设规范的数据包存储在对象存储系统中;将部署任务的执行指令提供给所述节点代理服务单元;所述节点代理服务单元进一步被配置为:响应于获取到部署任务的执行指令;从对象存储系统拉取与部署任务的相关的满足预设规范的数据包;执行用于完成部署任务的命令,得到部署任务的执行结果;将部署任务的执行结果和所述模块的版本信息同步至状态存储单元。
15.根据权利要求13所述的系统,所述任务为定时任务;所述任务总控单元进一步被配置为:每间隔预设时长向节点代理服务单元发送定时任务的执行指令,其中,节点代理服务单元响应于获取到定时任务的执行指令,执行用于完成定时任务的命令,得到定时任务的执行结果,以及将定时任务的执行结果和所述模块的版本信息同步至状态存储单元。
16.根据权利要求13所述的系统,所述任务为数据配送任务;任务总控单元被配置为:向数据包制作单元发送配送数据包制作指令;接收数据包制作单元发送的指示满足预设规范的配送数据包制作完成的打包结果,其中,满足预设规范的配送数据包存储在对象存储系统中;向节点代理服务单元发送数据配送任务的执行指令;节点代理服务单元被配置为:响应于获取到数据配送任务的执行指令,从对象存储系统中拉取满足预设规范的配送数据包;将配送数据包向应用容器中的目标目录进行投递,得到数据配送任务的执行结果;将数据配送任务的执行结果同步至状态存储单元。
17.一种计算机可读介质,其特征在于,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN201811312691.3A 2018-11-06 2018-11-06 任务编排方法和系统 Active CN109491776B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811312691.3A CN109491776B (zh) 2018-11-06 2018-11-06 任务编排方法和系统
US16/562,266 US11403152B2 (en) 2018-11-06 2019-09-05 Task orchestration method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811312691.3A CN109491776B (zh) 2018-11-06 2018-11-06 任务编排方法和系统

Publications (2)

Publication Number Publication Date
CN109491776A true CN109491776A (zh) 2019-03-19
CN109491776B CN109491776B (zh) 2022-05-31

Family

ID=65693909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811312691.3A Active CN109491776B (zh) 2018-11-06 2018-11-06 任务编排方法和系统

Country Status (2)

Country Link
US (1) US11403152B2 (zh)
CN (1) CN109491776B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110311831A (zh) * 2019-06-14 2019-10-08 平安科技(深圳)有限公司 基于容器云的系统资源监控方法及相关设备
CN111158708A (zh) * 2019-12-25 2020-05-15 上海精鲲计算机科技有限公司 一种任务编排引擎系统
CN111177160A (zh) * 2019-11-06 2020-05-19 腾讯云计算(北京)有限责任公司 服务更新方法、装置、服务器及介质
CN111459612A (zh) * 2020-03-27 2020-07-28 新浪网技术(中国)有限公司 针对Kubernetes系统中Pod的更新方法及装置
CN111552496A (zh) * 2020-05-07 2020-08-18 上海道客网络科技有限公司 一种基于添加临时容器实现无缝升级边车的系统与方法
CN114356214A (zh) * 2021-11-30 2022-04-15 新浪网技术(中国)有限公司 一种针对kubernetes系统提供本地存储卷的方法及系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11550628B2 (en) * 2019-12-18 2023-01-10 Mastercard International Incorporated Performing runbook operations for an application based on a runbook definition
US11144362B1 (en) * 2020-05-05 2021-10-12 International Business Machines Corporation Container scheduling in a container orchestration system
CN111694666B (zh) * 2020-06-10 2023-11-07 中国建设银行股份有限公司 一种任务分发管理方法、装置、设备及介质
CN111782370B (zh) * 2020-06-30 2022-12-06 平安科技(深圳)有限公司 一种kubernetes多集群管理系统、方法、终端及存储介质
CN113296932B (zh) * 2020-07-27 2024-02-13 阿里巴巴集团控股有限公司 实现内存换出-换入的系统及方法
CN112328359B (zh) * 2020-10-30 2022-06-17 烽火通信科技股份有限公司 避免容器集群启动拥塞的调度方法和容器集群管理平台
CN112527455A (zh) * 2020-12-10 2021-03-19 武汉联影医疗科技有限公司 业务容器的部署方法、计算机设备和存储介质
CN113672368A (zh) * 2021-08-18 2021-11-19 上海哔哩哔哩科技有限公司 任务调度方法及系统
CN114356542A (zh) * 2021-11-30 2022-04-15 杭州光云科技股份有限公司 海量任务异步处理方法、装置、计算机设备及存储介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090177887A1 (en) * 2006-09-22 2009-07-09 Huawei Technologies Co., Ltd. Method and apparatus for binding update between mobile node and correspondent node
US20130227563A1 (en) * 2012-02-29 2013-08-29 Michael P. McGrath Mechanism for Creating and Maintaining Multi-Tenant Applications in a Platform-as-a-Service (PaaS) Environment of a Cloud Computing System
CN103475677A (zh) * 2012-06-07 2013-12-25 中兴通讯股份有限公司 一种PaaS云平台中管理虚拟节点的方法、装置及系统
CN103810023A (zh) * 2014-03-06 2014-05-21 中国科学院信息工程研究所 一种云平台中分布式应用的智能部署方法及系统
CN104657214A (zh) * 2015-03-13 2015-05-27 华存数据信息技术有限公司 一种基于多队列和多优先级的大数据任务管理系统和方法
CN106802807A (zh) * 2017-02-20 2017-06-06 深圳市冬泉谷信息技术有限公司 基于容器平台的应用交付方法、容器平台及应用交付系统
CN107493191A (zh) * 2017-08-08 2017-12-19 深信服科技股份有限公司 一种集群节点及自调度容器集群系统
CN107533469A (zh) * 2015-05-29 2018-01-02 英特尔公司 对图形处理单元资源的容器访问
US20180020077A1 (en) * 2016-07-15 2018-01-18 International Business Machines Corporation Live migration of containers based on geo-location
CN107608706A (zh) * 2017-09-26 2018-01-19 南京哈卢信息科技有限公司 一种基于功能模块的应用程序自动热更新方法
CN107924324A (zh) * 2015-06-30 2018-04-17 华睿泰科技有限责任公司 数据访问加速器
US20180113770A1 (en) * 2016-10-21 2018-04-26 International Business Machines Corporation Scalable fault tolerant support in a containerized environment
CN108170820A (zh) * 2018-01-02 2018-06-15 联想(北京)有限公司 一种容器处理方法、控制服务器及分布式集群
CN108205481A (zh) * 2016-12-19 2018-06-26 华为技术有限公司 应用的容器实例创建方法和装置
CN108733455A (zh) * 2018-05-31 2018-11-02 上海交通大学 基于ARM TrustZone的容器隔离性增强系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043923B2 (en) * 2012-12-27 2015-05-26 Empire Technology Development Llc Virtual machine monitor (VMM) extension for time shared accelerator management and side-channel vulnerability prevention
CN105579959B (zh) * 2013-09-24 2019-06-07 渥太华大学 硬件加速器虚拟化
US10397283B2 (en) * 2015-07-15 2019-08-27 Oracle International Corporation Using symmetric and asymmetric flow response paths from an autonomous system
EP3366011B1 (en) * 2015-10-21 2022-04-06 Intel Corporation Mobile edge compute dynamic acceleration assignment
CN108287723B (zh) * 2016-12-30 2022-07-12 华为技术有限公司 一种应用交互方法、装置、物理机及系统
US11334391B2 (en) * 2017-04-17 2022-05-17 Red Hat, Inc. Self-programmable and self-tunable resource scheduler for jobs in cloud computing
US10372497B1 (en) * 2017-09-05 2019-08-06 Parallels International Gmbh Offloading GPU computations for computers and virtual machines
CN108319563B (zh) * 2018-01-08 2020-01-03 华中科技大学 一种基于fpga的网络功能加速方法和系统
US10379846B1 (en) * 2018-01-25 2019-08-13 Walmart Apollo, Llc Systems and methods for real time version control for integrating updated web-based components with a native application
US10705914B2 (en) * 2018-05-29 2020-07-07 EMC IP Holding Company LLC Group-based container checkpoint generation

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090177887A1 (en) * 2006-09-22 2009-07-09 Huawei Technologies Co., Ltd. Method and apparatus for binding update between mobile node and correspondent node
US20130227563A1 (en) * 2012-02-29 2013-08-29 Michael P. McGrath Mechanism for Creating and Maintaining Multi-Tenant Applications in a Platform-as-a-Service (PaaS) Environment of a Cloud Computing System
CN103475677A (zh) * 2012-06-07 2013-12-25 中兴通讯股份有限公司 一种PaaS云平台中管理虚拟节点的方法、装置及系统
CN103810023A (zh) * 2014-03-06 2014-05-21 中国科学院信息工程研究所 一种云平台中分布式应用的智能部署方法及系统
CN104657214A (zh) * 2015-03-13 2015-05-27 华存数据信息技术有限公司 一种基于多队列和多优先级的大数据任务管理系统和方法
CN107533469A (zh) * 2015-05-29 2018-01-02 英特尔公司 对图形处理单元资源的容器访问
CN107924324A (zh) * 2015-06-30 2018-04-17 华睿泰科技有限责任公司 数据访问加速器
US20180020077A1 (en) * 2016-07-15 2018-01-18 International Business Machines Corporation Live migration of containers based on geo-location
US20180113770A1 (en) * 2016-10-21 2018-04-26 International Business Machines Corporation Scalable fault tolerant support in a containerized environment
CN108205481A (zh) * 2016-12-19 2018-06-26 华为技术有限公司 应用的容器实例创建方法和装置
CN106802807A (zh) * 2017-02-20 2017-06-06 深圳市冬泉谷信息技术有限公司 基于容器平台的应用交付方法、容器平台及应用交付系统
CN107493191A (zh) * 2017-08-08 2017-12-19 深信服科技股份有限公司 一种集群节点及自调度容器集群系统
CN107608706A (zh) * 2017-09-26 2018-01-19 南京哈卢信息科技有限公司 一种基于功能模块的应用程序自动热更新方法
CN108170820A (zh) * 2018-01-02 2018-06-15 联想(北京)有限公司 一种容器处理方法、控制服务器及分布式集群
CN108733455A (zh) * 2018-05-31 2018-11-02 上海交通大学 基于ARM TrustZone的容器隔离性增强系统

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
CHIA-CHEN CHANG等: "A Kubernetes-Based Monitoring Platform for Dynamic Cloud Resource Provisioning", 《GLOBECOM 2017 - 2017 IEEE GLOBAL COMMUNICATIONS CONFERENCE》, 15 January 2018 (2018-01-15), pages 1 - 6 *
JIMMY RAY: "Using Kubernetes ConfigMap Resources forDynamic Apps", 《HTTPS://MEDIUM.COM/CAPITAL-ONE-TECH/USING-KUBERNETES-CONFIGMAP-RESOURCES-FOR-DYNAMIC-APPS-9E23EF589121》 *
JIMMY RAY: "Using Kubernetes ConfigMap Resources forDynamic Apps", 《HTTPS://MEDIUM.COM/CAPITAL-ONE-TECH/USING-KUBERNETES-CONFIGMAP-RESOURCES-FOR-DYNAMIC-APPS-9E23EF589121》, 2 November 2018 (2018-11-02), pages 1 - 6 *
UMCLOUD优铭云 PAVEL CHEKIN: "多容器POD及Kubernetes容器通信", 《HTTPS://WWW.KUBERNETES.ORG.CN/2767.HTML》 *
UMCLOUD优铭云 PAVEL CHEKIN: "多容器POD及Kubernetes容器通信", 《HTTPS://WWW.KUBERNETES.ORG.CN/2767.HTML》, 25 September 2017 (2017-09-25), pages 1 - 2 *
吴晟: "基于Docker的PaaS云取证技术研究与应用", 《中国优秀硕士学位论文全文数据库 社会科学Ⅰ辑》, no. 3, 15 March 2017 (2017-03-15), pages 113 - 228 *
孙庚泽: "基于Docker的混合云应用编排方案研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
孙庚泽: "基于Docker的混合云应用编排方案研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 3, 15 March 2017 (2017-03-15), pages 139 - 343 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110311831A (zh) * 2019-06-14 2019-10-08 平安科技(深圳)有限公司 基于容器云的系统资源监控方法及相关设备
CN110311831B (zh) * 2019-06-14 2022-03-25 平安科技(深圳)有限公司 基于容器云的系统资源监控方法及相关设备
CN111177160A (zh) * 2019-11-06 2020-05-19 腾讯云计算(北京)有限责任公司 服务更新方法、装置、服务器及介质
CN111177160B (zh) * 2019-11-06 2023-08-04 腾讯云计算(北京)有限责任公司 服务更新方法、装置、服务器及介质
CN111158708A (zh) * 2019-12-25 2020-05-15 上海精鲲计算机科技有限公司 一种任务编排引擎系统
CN111459612A (zh) * 2020-03-27 2020-07-28 新浪网技术(中国)有限公司 针对Kubernetes系统中Pod的更新方法及装置
CN111552496A (zh) * 2020-05-07 2020-08-18 上海道客网络科技有限公司 一种基于添加临时容器实现无缝升级边车的系统与方法
CN114356214A (zh) * 2021-11-30 2022-04-15 新浪网技术(中国)有限公司 一种针对kubernetes系统提供本地存储卷的方法及系统
CN114356214B (zh) * 2021-11-30 2023-12-01 新浪技术(中国)有限公司 一种针对kubernetes系统提供本地存储卷的方法及系统

Also Published As

Publication number Publication date
CN109491776B (zh) 2022-05-31
US11403152B2 (en) 2022-08-02
US20190391844A1 (en) 2019-12-26

Similar Documents

Publication Publication Date Title
CN109491776A (zh) 任务编排方法和系统
CN107579931B (zh) 一种基于Kubernetes的区块链即服务资源适配方法
CN106951233B (zh) 混合模式智能手机应用开发框架系统
CN105515872B (zh) 配置信息的更新方法、装置及系统
CN109194538A (zh) 基于分布式协调的测试方法、装置、服务器及存储介质
CN109582466A (zh) 一种定时任务执行方法、分布式服务器集群及电子设备
CN108733476A (zh) 一种执行多任务的方法和装置
CN110262902B (zh) 信息处理方法及系统、介质和计算设备
CN110752947A (zh) 一种k8s集群部署方法及装置,一种部署平台
CN106126332A (zh) 分布式定时任务调度系统及方法
CN109391664A (zh) 用于多集群容器部署的系统和方法
CN109683826A (zh) 用于分布式存储系统的扩容方法和装置
CN105205143B (zh) 一种文件存储及处理方法、设备和系统
CN109992354A (zh) 容器处理方法、装置、主体服务器、系统和存储介质
CN108322496A (zh) 镜像文件分发方法及系统、计算机可读存储介质、电子设备
WO2018166398A1 (zh) 一种nfv网络中许可证的管理系统
EP2031507A1 (en) Systems and/or methods for location transparent routing and execution of processes
CN108874828A (zh) 数据迁移的方法和装置
CN115145683B (zh) 云服务实现方法及装置
CN109814902A (zh) 一种配置文件更新方法、装置、电子设备及存储介质
CN110362318A (zh) 应用部署方法、装置、设备和存储介质
CN114675935A (zh) 联盟链中部署链码的方法和系统
CN109918381A (zh) 用于存储数据的方法和装置
JP5420477B2 (ja) 情報サービスシステム
CN109858257A (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
GR01 Patent grant
GR01 Patent grant