CN113010385B - 一种任务状态更新方法、装置、设备及介质 - Google Patents

一种任务状态更新方法、装置、设备及介质 Download PDF

Info

Publication number
CN113010385B
CN113010385B CN202110290936.2A CN202110290936A CN113010385B CN 113010385 B CN113010385 B CN 113010385B CN 202110290936 A CN202110290936 A CN 202110290936A CN 113010385 B CN113010385 B CN 113010385B
Authority
CN
China
Prior art keywords
state
event
pod
task
updating
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.)
Active
Application number
CN202110290936.2A
Other languages
English (en)
Other versions
CN113010385A (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.)
Shandong Yingxin Computer Technology Co Ltd
Original Assignee
Shandong Yingxin Computer 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 Shandong Yingxin Computer Technology Co Ltd filed Critical Shandong Yingxin Computer Technology Co Ltd
Priority to CN202110290936.2A priority Critical patent/CN113010385B/zh
Publication of CN113010385A publication Critical patent/CN113010385A/zh
Priority to PCT/CN2022/074599 priority patent/WO2022193855A1/zh
Priority to US18/268,307 priority patent/US11915035B1/en
Application granted granted Critical
Publication of CN113010385B publication Critical patent/CN113010385B/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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Neurology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种任务状态更新方法、装置、设备及介质,应用于深度学***台中相应的目标任务的Pod状态,并生成任务状态更新事件;利用任务状态更新***监听任务状态更新事件,当监听到任务状态更新事件,将当前目标任务的状态更新为目标任务的Pod状态。本申请通过监听并实时分析K8S事件来更新任务状态,提高大规模集群、多用户并行使用、大量任务运行场景下的任务状态更新的实时性和准确度,同时也提高查询任务状态的响应速度。

Description

一种任务状态更新方法、装置、设备及介质
技术领域
本发明涉及计算机技术领域,特别涉及一种任务状态更新方法、装置、设备及介质。
背景技术
目前,以深度学***台。深度学***台的任务进行管控,其中最重要的一点就是对任务的生命周期进行管理,这些都是依赖任务的状态更新机制。
在目前的技术中,大部分深度学***台任务状态的更新的,主要通过两种方式来实现训练任务的状态更新,一种是通过实时查询底层kubernetes(以下简称K8S)平台提供的API实时返回Pod的状态信息,然后平台进行映射返回任务的状态信息;另外一种是后台定时任务定时通过查询底层K8S平台提供的API实时返回Pod的状态信息,然后平台进行映射后得到任务的状态信息保存到平台的数据库中。上述两种任务更新方式不能很好的适应大规模集群、多用户并行使用、大量任务运行的场景下的任务状态更新,甚至可能会导致训练任务无法准确的结束,无法正确的展示任务的状态信息以及相关的其他信息,导致用户使用深度学***台逐步完善的关键之举。
发明内容
有鉴于此,本发明的目的在于提供一种任务状态更新方法、装置、设备及介质,提高了大规模集群、多用户并行使用、大量任务运行场景下的任务状态更新的实时性和准确度,同时也提高了查询任务状态的响应速度。其具体方案如下:
本申请的第一方面提供了一种任务状态更新方法,应用于深度学习平台,包括:
创建K8S事件***、Pod状态更新***和任务状态更新***;
利用所述K8S事件***对K8S事件进行监听,得到Pod状态变更事件,并基于所述Pod状态变更事件生成及发布相应的Pod状态更新事件;
利用所述Pod状态更新***对所述Pod状态更新事件进行监听,当所述Pod状态更新***监听到所述Pod状态更新事件,则将所述Pod状态更新事件对应的Pod状态确定为所述深度学习平台中相应的目标任务的Pod状态,并生成及发布与所述目标任务对应的任务状态更新事件;
利用所述任务状态更新***对所述任务状态更新事件进行监听,当所述任务状态更新***监听到所述任务状态更新事件,则将当前所述目标任务的状态更新为所述目标任务的Pod状态。
可选的,所述利用所述K8S事件***对K8S事件进行监听,得到Pod状态变更事件,包括:
利用所述K8S事件***对所述K8S事件进行监听,对监听到的所述K8S事件进行过滤,得到Pod状态变更事件。
可选的,所述对监听到的所述K8S事件进行过滤,包括:
根据监听到的所述K8S事件的空间名称对所述K8S事件进行过滤。
可选的,所述基于所述Pod状态变更事件生成及发布相应的Pod状态更新事件,包括:
从与所述Pod状态变更事件对应的数据报文中提取出目标数据,并利用所述目标数据重构数据报文;
根据重构后的数据报文生成相应的Pod状态更新事件并进行发布。
可选的,所述将所述Pod状态更新事件对应的Pod状态确定为所述深度学习平台中相应的目标任务的Pod状态,包括:
通过Pod状态映射器将所述Pod状态更新事件对应的Pod状态数据映射为所述深度学习平台中相应的目标任务的Pod状态。
可选的,所述将当前所述目标任务的Pod状态更新为所述目标任务的Pod状态,包括:
通过任务状态映射器将所述目标任务的Pod状态映射为当前所述目标任务的状态。
可选的,所述将当前所述目标任务的状态更新为所述目标任务的Pod状态之后,还包括:
对所述K8S事件***、所述Pod状态更新***和所述任务状态更新***进行销毁操作。
本申请的第二方面提供了一种任务状态更新装置,应用于深度学习平台,包括:
创建模块,用于创建K8S事件***、Pod状态更新***和任务状态更新***;
第一监听模块,用于利用所述K8S事件***对K8S事件进行监听,得到Pod状态变更事件,并基于所述Pod状态变更事件生成及发布相应的Pod状态更新事件;
第二监听模块,用于利用所述Pod状态更新***对所述Pod状态更新事件进行监听,当所述Pod状态更新***监听到所述Pod状态更新事件,则将所述Pod状态更新事件对应的Pod状态确定为所述深度学习平台中相应的目标任务的Pod状态,并生成及发布与所述目标任务对应的任务状态更新事件;
第三监听模块,用于利用所述任务状态更新***对所述任务状态更新事件进行监听,当所述任务状态更新***监听到所述任务状态更新事件,则将当前所述目标任务的状态更新为所述目标任务的Pod状态。
本申请的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述任务状态更新方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任务状态更新方法。
本申请中,先创建K8S事件***、Pod状态更新***和任务状态更新***;然后利用所述K8S事件***对K8S事件进行监听,得到Pod状态变更事件,并基于所述Pod状态变更事件生成及发布相应的Pod状态更新事件;接着利用所述Pod状态更新***对所述Pod状态更新事件进行监听,当所述Pod状态更新***监听到所述Pod状态更新事件,则将所述Pod状态更新事件对应的Pod状态确定为所述深度学习平台中相应的目标任务的Pod状态,并生成及发布与所述目标任务对应的任务状态更新事件;最后利用所述任务状态更新***对所述任务状态更新事件进行监听,当所述任务状态更新***监听到所述任务状态更新事件,则将当前所述目标任务的状态更新为所述目标任务的Pod状态。本申请利用K8S事件***、Pod状态更新***和任务状态更新***分别对任务状态更新过程中的K8S事件、Pod状态更新事件和任务状态更新事件进行监听并实时分析来更新任务的状态,上述步骤深度集成K8S的能力,提高了大规模集群、多用户并行使用、大量任务运行场景下的任务状态更新的实时性和准确度,同时也提高了查询任务状态的响应速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种任务状态更新方法流程图;
图2为本申请提供的一种具体的任务状态更新方法示意图;
图3为本申请提供的一种任务与Pod的对应关系示意图;
图4为本申请提供的一种事件生成及发布过程示意图;
图5为本申请提供的一种具体的任务状态更新方法流程图;
图6为本申请提供的一种映射过程示意图;
图7为本申请提供的一种任务状态更新装置结构示意图;
图8为本申请提供的一种任务状态更新电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的通过实时查询底层K8S平台提供的API,实时返回Pod的状态信息并映射为任务状态信息并返回的任务状态更新方式,或是后台定时任务,定时通过查询底层K8S平台提供的API,实时返回Pod的状态信息并映射为任务状态信息,保存至平台数据库中的任务状态更新方式,均不能很好的适应大规模集群、多用户并行使用、大量任务运行的场景下的任务状态更新。针对上述技术缺陷,本申请提供一种任务状态更新方案,利用K8S事件***、Pod状态更新***和任务状态更新***分别对任务状态更新过程中的K8S事件、Pod状态更新事件和任务状态更新事件进行监听并实时分析来更新任务的状态,通过深度集成K8S的能力,提高了大规模集群、多用户并行使用、大量任务运行场景下的任务状态更新的实时性和准确度,同时也提高了查询任务状态的响应速度。
图1为本申请实施例提供的一种任务状态更新方法流程图,应用于深度学习平台。参见图1所示,该任务状态更新方法包括:
S11:创建K8S事件***、Pod状态更新***和任务状态更新***。
本实施例中,在所述深度学***台发布的事件(Filter Event)进行监听,所述Pod状态更新***用于对Pod状态更新事件进行监听,所述任务状态更新***用于对任务状态更新时间进行监听。K8S是一个用于管理云平台中多个主机上的容器化的开源应用,K8S提供了一种对应用进行部署、规划、更新、维护的机制,通过定义各种类型的资源来实现管理服务的各项功能,目的是让部署容器化的应用简单并且高效。在K8S集群中,Pod是所有业务类型的基础,它是一个或多个容器的组合,这些容器共享存储、网络和命名空间,以及如何运行的规范。在Pod中,所有容器都被统一安排和调度,并运行在共享的上下文中,也即Pod是任务运行的容器,一个任务可能由多个Pod同时进行运行,但一个Pod同时只能运行一个任务,Pod与任务的对应关系具体如图3所示。K8S事件存储在Etcd中,记录了集群运行中的各大事件,如Pod、Node、Kubelet等资源对象的Event,也可以是一些自定义资源对象的Event,作为调度基本单元的Pod是一种资源,本实施例仅关注Pod资源对象的Event。
需要说明的是,***和事件之间的监听机制是配套。以AIStation为例,AIStation是一种为训练任务提供智能的AI容器化部署以及更具效率的分布式训练的深度学***台,可实现容器化部署、可视化开发、集中化管理等功能,为用户提供极致高性能的AI计算资源,实现高效的计算力支撑、精准的资源管理和调度、敏捷的数据整合及加速、流程化的AI场景及业务整合,有效打通开发环境、计算资源与数据资源,提升开发效率,用户通过AIStation平台能够创建不同的深度学***台快速提交到训练平台,达到开发训练一体化解决方案。K8S的事件只能用基于K8S机制的***进行监听,深度学***台的事件进行监听。所述Pod状态更新***是基于所述深度学***台的Spring的事件机制创建的,对任务状态更新时间进行监听。另外,可以根据事件数量、实际运行任务数量等灵活设置所述K8S事件***、所述Pod状态更新***和所述任务状态更新***的数量,以提高事件监听效率。
S12:利用所述K8S事件***对K8S事件进行监听,得到Pod状态变更事件,并基于所述Pod状态变更事件生成及发布相应的Pod状态更新事件。
本实施例中,启动所述K8S事件***并利用所述K8S事件***对所述K8S事件进行监听,得到Pod状态变更事件,然后基于所述Pod状态变更事件生成及发布相应的Pod状态更新事件。如前所述,所述K8S事件记录了集群运行中的各大事件,包括但不限于Pod资源对象的相关事件,能表征任务状态的资源是Pod资源,因此本实施例中,需要从全部的K8S事件中筛选出合规的与Pod状态相关的变更事件,也即所述Pod状态变更事件。在此基础上,基于所述Pod状态变更事件生成相应的所述Pod状态更新事件并进行发布。所述Pod状态更新事件的事件源是所述Pod状态变更事件,所述Pod状态更新事件由所述Pod状态变更事件触发生成,并由广播器进行发布,如图4所示。
一方面,从类型上来说,由于创建所述Pod状态变更事件与创建所述Pod状态更新事件之间的逻辑架构不同,导致所述Pod状态变更事件与所述Pod状态更新事件之间的监听机制类型不同,本实施例中,所述Pod状态更新事件的创建基础是Spring框架。另一方面,从信息量上来说,所述Pod状态更新事件包含的是所述Pod状态变更事件的部分数据,可以认为所述Pod状态变更事件包含所述Pod状态更新事件的精简信息。
S13:利用所述Pod状态更新***对所述Pod状态更新事件进行监听,当所述Pod状态更新***监听到所述Pod状态更新事件,则将所述Pod状态更新事件对应的Pod状态确定为所述深度学习平台中相应的目标任务的Pod状态,并生成及发布与所述目标任务对应的任务状态更新事件。
本实施例中,启动所述Pod状态更新***并利用所述Pod状态更新***对所述深度学***台中相应的目标任务的Pod状态。同时,所述深度学习平台生成与所述目标任务对应的任务状态更新事件并进行发布,所述任务状态更新事件的生成及发布方法与前述Pod状态更新事件的生成及发布方法一致,所述任务更新事件由所述Pod状态更新事件触发生成,并由广播器进行发布。
S14:利用所述任务状态更新***对所述任务状态更新事件进行监听,当所述任务状态更新***监听到所述任务状态更新事件,则将当前所述目标任务的状态更新为所述目标任务的Pod状态。
本实施例中,启动任务状态更新***并利用所述任务状态更新***对所述任务状态更新事件进行实时监听,同样的,所述Pod状态更新***的数量可以根据所述Pod状态更新事件的数量灵活设置,如所述任务状态更新***的数量与所述任务更新事件呈正相关关系。当所述任务状态更新***监听到所述任务状态更新事件时,则将当前所述目标任务的状态更新为所述目标任务的Pod状态。如前所述,所述目标任务与Pod之间存在对应关系,同一个所述目标任务可能对应多个Pod,也即同一个所述目标任务可能同时由多个Pod运行,但同一个Pod同一时刻只能与一个所述目标任务对应。当所述目标任务仅对应一个Pod时,也即当所述目标任务由一个Pod运行时,毫无疑问将该Pod对应的状态确定为所述目标任务的Pod状态。但当所述目标任务同时对应多个Pod时,也即当所述目标任务同时由多个Pod运行时,需要根据预设规则对多个Pod对应的状态进行相应的逻辑判断后综合确定当前所述目标任务的状态并进行更新。一方面,相对于现有技术中通过实时查询底层K8S平台提供的API,实时返回Pod的状态信息来确定对应任务的状态信息,本实施例中所述的任务更新方法能更加快速更新任务状态,另一方面,相对于现有技术中定时查询底层K8S平台提供的API,返回Pod的状态信息并存储至深度学习平台数据库来确定对应任务的状态信息,本实施例中所述的任务更新方法能更加准确更新任务状态。
可见,本申请实施例先创建K8S事件***、Pod状态更新***和任务状态更新***;然后利用所述K8S事件***对K8S事件进行监听,得到Pod状态变更事件,并基于所述Pod状态变更事件生成及发布相应的Pod状态更新事件;接着利用所述Pod状态更新***对所述Pod状态更新事件进行监听,当所述Pod状态更新***监听到所述Pod状态更新事件,则将所述Pod状态更新事件对应的Pod状态确定为所述深度学习平台中相应的目标任务的Pod状态,并生成及发布与所述目标任务对应的任务状态更新事件;最后利用所述任务状态更新***对所述任务状态更新事件进行监听,当所述任务状态更新***监听到所述任务状态更新事件,则将当前所述目标任务的状态更新为所述目标任务的Pod状态。本申请实施例利用K8S事件***、Pod状态更新***和任务状态更新***分别对任务状态更新过程中的K8S事件、Pod状态更新事件和任务状态更新事件进行监听并实时分析来更新任务的状态,上述步骤深度集成K8S的能力,提高了大规模集群、多用户并行使用、大量任务运行场景下的任务状态更新的实时性和准确度,同时也提高了查询任务状态的响应速度。
图5为本申请实施例提供的一种具体的任务状态更新方法流程图,应用于深度学习平台。参见图5所示,该任务状态更新方法包括:
S21:创建K8S事件***、Pod状态更新***和任务状态更新***。
本实施例中,关于步骤S21的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。
S22:利用所述K8S事件***对所述K8S事件进行监听,对监听到的所述K8S事件进行过滤,得到Pod状态变更事件。
本实施例中,启动并利用所述K8S事件***对所述K8S事件进行监听,对监听到的所述K8S事件进行过滤,得到Pod状态变更事件。所述过滤的过程,即是从全部的所述K8S事件中筛选出所述Pod状态变更事件的过程。具体的,可以根据监听到的所述K8S事件的空间名称对所述K8S事件进行过滤。一般来说,由于K8S事件是Kubelet负责用来记录多个容器运行过程中的事件,所述空间名称由被记录的对象和时间戳构成,能够反映所述空间名称下的事件是否为Pod状态变更事件,因此可以根据K8S事件的空间名称对所述K8S事件进行人工过滤,以得到合规的所述Pod状态变更事件。
S23:从与所述Pod状态变更事件对应的数据报文中提取出目标数据,利用所述目标数据重构数据报文,并根据重构后的数据报文生成相应的Pod状态更新事件并进行发布。
本实施例中,首先从与所述Pod状态变更事件对应的数据报文中提取出目标数据,并利用所述目标数据重构数据报文,然后根据重构后的数据报文生成相应的Pod状态更新事件并进行发布。所述K8S事件和所述Pod状态变更事件均以数据报文的格式存在,其中存储有大量信息,由于K8S事件包含所有的K8S平台底层的一些事件,数据量比较大,对应的报文也比较大,因此需要过滤筛选提取其中的有效内容也即所述目标数据,最终利用该有效内容并基于所述深度学习平台的Spring的事件机制生成精简事件的数据报文,以此得到所述Pod状态更新事件并利用广播器进行发布。
S24:利用所述Pod状态更新***对所述Pod状态更新事件进行监听,当所述Pod状态更新***监听到所述Pod状态更新事件,则通过Pod状态映射器将所述Pod状态更新事件对应的Pod状态数据映射为所述深度学习平台中相应的目标任务的Pod状态,并生成及发布与所述目标任务对应的任务状态更新事件。
本实施例中,启动并利用所述Pod状态更新***对所述Pod状态更新事件进行监听,当所述Pod状态更新***监听到所述Pod状态更新事件,则通过Pod状态映射器将所述Pod状态更新事件对应的Pod状态数据映射为所述深度学习平台中相应的目标任务的Pod状态,同时生成及发布与所述目标任务对应的任务状态更新事件。
S25:利用所述任务状态更新***对所述任务状态更新事件进行监听,当所述任务状态更新***监听到所述任务状态更新事件,则通过任务状态映射器将所述目标任务的Pod状态映射为当前所述目标任务的状态。
本实施例中,在上述基础上,启动并利用所述任务状态更新***对所述任务状态更新事件进行监听,当所述任务状态更新***监听到所述任务状态更新事件,则通过任务状态映射器将所述目标任务的Pod状态映射为当前所述目标任务的状态。所述任务状态映射器将所述目标任务的Pod状态映射为当前所述目标任务的状态的过程是一个对前述实施例中所述的预设规则的响应过程,也即根据所述预设规则由所述目标任务的Pod状态确定当前所述目标任务的状态的过程。具体如图6所示,当所述目标任务只对应一个Pod时,则具有唯一的Pod状态,直接将该Pod状态确定为当前所述目标任务的状态。当所述目标任务对应N个Pod(Pod1、Pod2、…、Podn)时,所述目标任务具有N个Pod状态(Pod1状态、Pod2状态、…、Podn状态),此时所述预设规则可以为“存在一个Pod状态为运行中,当前任务状态为运行中”或者“存在一个Pod状态为错误,当前任务状态为错误”,所述预设规则可以根据实际业务需求自行设定,本实施例对此不进行限定。
S26:对所述K8S事件***、所述Pod状态更新***和所述任务状态更新***进行销毁操作。
本实施例中,所述深度学***台管控的任务的状态,从而对平台运行任务的生命周期进行管控。当所述深度学***台资源。具体的,通过预先定义的类实现接口调用里面的销毁方法,对所述K8S事件***、所述Pod状态更新***和所述任务状态更新***进行销毁。
可见,本申请实施例主要提供一种深度学***台任务状态更新机制,适用于大规模集群下的深度学***台中任务状态更新的场景,在解决大规模集群、多用户并行使用、大量任务运行的场景下,如何准确、实时、有效的更新任务状态以及查询任务状态响应慢的问题的情况下,同时也避免了由于训练任务状态更新不及时使得训练任务无法准确结束,从而无法正确的展示任务的状态信息以及相关的其他信息,导致用户使用深度学习平台时出现问题。
参见图7所示,本申请实施例还相应公开了一种任务状态更新装置,应用于深度学习平台,包括:
创建模块11,用于创建K8S事件***、Pod状态更新***和任务状态更新***;
第一监听模块12,用于利用所述K8S事件***对K8S事件进行监听,得到Pod状态变更事件,并基于所述Pod状态变更事件生成及发布相应的Pod状态更新事件;
第二监听模块13,用于利用所述Pod状态更新***对所述Pod状态更新事件进行监听,当所述Pod状态更新***监听到所述Pod状态更新事件,则将所述Pod状态更新事件对应的Pod状态确定为所述深度学习平台中相应的目标任务的Pod状态,并生成及发布与所述目标任务对应的任务状态更新事件;
第三监听模块14,用于利用所述任务状态更新***对所述任务状态更新事件进行监听,当所述任务状态更新***监听到所述任务状态更新事件,则将当前所述目标任务的状态更新为所述目标任务的Pod状态。
可见,本申请实施例先创建K8S事件***、Pod状态更新***和任务状态更新***;然后利用所述K8S事件***对K8S事件进行监听,得到Pod状态变更事件,并基于所述Pod状态变更事件生成及发布相应的Pod状态更新事件;接着利用所述Pod状态更新***对所述Pod状态更新事件进行监听,当所述Pod状态更新***监听到所述Pod状态更新事件,则将所述Pod状态更新事件对应的Pod状态确定为所述深度学习平台中相应的目标任务的Pod状态,并生成及发布与所述目标任务对应的任务状态更新事件;最后利用所述任务状态更新***对所述任务状态更新事件进行监听,当所述任务状态更新***监听到所述任务状态更新事件,则将当前所述目标任务的状态更新为所述目标任务的Pod状态。本申请实施例利用K8S事件***、Pod状态更新***和任务状态更新***分别对任务状态更新过程中的K8S事件、Pod状态更新事件和任务状态更新事件进行监听并实时分析来更新任务的状态,上述步骤深度集成K8S的能力,提高了大规模集群、多用户并行使用、大量任务运行场景下的任务状态更新的实时性和准确度,同时也提高了查询任务状态的响应速度。
在一些具体实施例中,所述第一监听模块12,具体包括:
过滤单元,用于利用所述K8S事件***对所述K8S事件进行监听,对监听到的所述K8S事件进行过滤,得到Pod状态变更事件。
提取单元,用于从与所述Pod状态变更事件对应的数据报文中提取出目标数据,并利用所述目标数据重构数据报文;
重构单元,用于根据重构后的数据报文生成相应的Pod状态更新事件并进行发布。
在一些具体实施例中,所述第二监听模块13,具体还用于通过Pod状态映射器将所述Pod状态更新事件对应的Pod状态数据映射为所述深度学习平台中相应的目标任务的Pod状态。
在一些具体实施例中,所述第三监听模块14,具体还用于通过任务状态映射器将所述目标任务的Pod状态映射为当前所述目标任务的状态。
在一些具体实施例中,所述任务状态更新装置还包括销毁模块,用于对所述K8S事件***、所述Pod状态更新***和所述任务状态更新***进行销毁操作。
进一步的,本申请实施例还提供了一种电子设备。图8是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图8为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的任务状态更新方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作***221、计算机程序222及状态变更数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作***221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量状态变更数据223的运算与处理,其可以是WindowsServer、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的任务状态更新方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的状态变更数据。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的任务状态更新方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的任务状态更新方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种任务状态更新方法,其特征在于,应用于深度学习平台,包括:
创建K8S事件***、Pod状态更新***和任务状态更新***;
利用所述K8S事件***对K8S事件进行监听,得到Pod状态变更事件,并基于所述Pod状态变更事件生成及发布相应的Pod状态更新事件;
利用所述Pod状态更新***对所述Pod状态更新事件进行监听,当所述Pod状态更新***监听到所述Pod状态更新事件,则将所述Pod状态更新事件对应的Pod状态确定为所述深度学习平台中相应的目标任务的Pod状态,并生成及发布与所述目标任务对应的任务状态更新事件;
利用所述任务状态更新***对所述任务状态更新事件进行监听,当所述任务状态更新***监听到所述任务状态更新事件,则将当前所述目标任务的状态更新为所述目标任务的Pod状态。
2.根据权利要求1所述的任务状态更新方法,其特征在于,所述利用所述K8S事件***对K8S事件进行监听,得到Pod状态变更事件,包括:
利用所述K8S事件***对所述K8S事件进行监听,对监听到的所述K8S事件进行过滤,得到Pod状态变更事件。
3.根据权利要求2所述的任务状态更新方法,其特征在于,所述对监听到的所述K8S事件进行过滤,包括:
根据监听到的所述K8S事件的空间名称对所述K8S事件进行过滤。
4.根据权利要求1所述的任务状态更新方法,其特征在于,所述基于所述Pod状态变更事件生成及发布相应的Pod状态更新事件,包括:
从与所述Pod状态变更事件对应的数据报文中提取出目标数据,并利用所述目标数据重构数据报文;
根据重构后的数据报文生成相应的Pod状态更新事件并进行发布。
5.根据权利要求1所述的任务状态更新方法,其特征在于,所述将所述Pod状态更新事件对应的Pod状态确定为所述深度学习平台中相应的目标任务的Pod状态,包括:
通过Pod状态映射器将所述Pod状态更新事件对应的Pod状态数据映射为所述深度学习平台中相应的目标任务的Pod状态。
6.根据权利要求1所述的任务状态更新方法,其特征在于,所述将当前所述目标任务的Pod状态更新为所述目标任务的Pod状态,包括:
通过任务状态映射器将所述目标任务的Pod状态映射为当前所述目标任务的状态。
7.根据权利要求1至6任一项所述的任务状态更新方法,其特征在于,所述将当前所述目标任务的状态更新为所述目标任务的Pod状态之后,还包括:
对所述K8S事件***、所述Pod状态更新***和所述任务状态更新***进行销毁操作。
8.一种任务状态更新装置,其特征在于,应用于深度学习平台,包括:
创建模块,用于创建K8S事件***、Pod状态更新***和任务状态更新***;
第一监听模块,用于利用所述K8S事件***对K8S事件进行监听,得到Pod状态变更事件,并基于所述Pod状态变更事件生成及发布相应的Pod状态更新事件;
第二监听模块,用于利用所述Pod状态更新***对所述Pod状态更新事件进行监听,当所述Pod状态更新***监听到所述Pod状态更新事件,则将所述Pod状态更新事件对应的Pod状态确定为所述深度学习平台中相应的目标任务的Pod状态,并生成及发布与所述目标任务对应的任务状态更新事件;
第三监听模块,用于利用所述任务状态更新***对所述任务状态更新事件进行监听,当所述任务状态更新***监听到所述任务状态更新事件,则将当前所述目标任务的状态更新为所述目标任务的Pod状态。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的任务状态更新方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的任务状态更新方法。
CN202110290936.2A 2021-03-18 2021-03-18 一种任务状态更新方法、装置、设备及介质 Active CN113010385B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110290936.2A CN113010385B (zh) 2021-03-18 2021-03-18 一种任务状态更新方法、装置、设备及介质
PCT/CN2022/074599 WO2022193855A1 (zh) 2021-03-18 2022-01-28 一种任务状态更新方法、装置、设备及介质
US18/268,307 US11915035B1 (en) 2021-03-18 2022-01-28 Task state updating method and apparatus, device, and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110290936.2A CN113010385B (zh) 2021-03-18 2021-03-18 一种任务状态更新方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113010385A CN113010385A (zh) 2021-06-22
CN113010385B true CN113010385B (zh) 2022-10-28

Family

ID=76409701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110290936.2A Active CN113010385B (zh) 2021-03-18 2021-03-18 一种任务状态更新方法、装置、设备及介质

Country Status (3)

Country Link
US (1) US11915035B1 (zh)
CN (1) CN113010385B (zh)
WO (1) WO2022193855A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010385B (zh) * 2021-03-18 2022-10-28 山东英信计算机技术有限公司 一种任务状态更新方法、装置、设备及介质

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107666525A (zh) * 2017-09-08 2018-02-06 北京京东尚科信息技术有限公司 集群容器ip分配的方法和装置
CN109831500A (zh) * 2019-01-30 2019-05-31 无锡华云数据技术服务有限公司 Kubernetes集群中配置文件与Pod的同步方法
CN110213309A (zh) * 2018-03-13 2019-09-06 腾讯科技(深圳)有限公司 一种绑定关系管理的方法、设备及存储介质
CN110321115A (zh) * 2018-03-30 2019-10-11 中移(苏州)软件技术有限公司 一种Pod创建方法及设备
CN110502340A (zh) * 2019-08-09 2019-11-26 广东浪潮大数据研究有限公司 一种资源动态调整方法、装置、设备及存储介质
CN110912972A (zh) * 2019-11-07 2020-03-24 北京浪潮数据技术有限公司 一种业务处理方法、***、电子设备及可读存储介质
CN111352717A (zh) * 2020-03-24 2020-06-30 广西梯度科技有限公司 一种实现kubernetes自定义调度器的方法
CN111431740A (zh) * 2020-03-16 2020-07-17 深信服科技股份有限公司 数据的传输方法、装置、设备及计算机可读存储介质
CN111427665A (zh) * 2020-03-27 2020-07-17 合肥本源量子计算科技有限责任公司 一种量子应用云平台及量子计算任务的处理方法
CN111538563A (zh) * 2020-04-14 2020-08-14 北京宝兰德软件股份有限公司 一种对Kubernetes的事件分析方法及装置
CN111897625A (zh) * 2020-06-23 2020-11-06 新浪网技术(中国)有限公司 一种基于Kubernetes集群的资源事件回溯方法、***及电子设备
CN112039963A (zh) * 2020-08-21 2020-12-04 广州虎牙科技有限公司 一种处理器的绑定方法、装置、计算机设备和存储介质
CN112068935A (zh) * 2020-09-15 2020-12-11 北京值得买科技股份有限公司 kubernetes程序部署监控方法、装置以及设备
CN112087522A (zh) * 2020-09-18 2020-12-15 北京航空航天大学 一种面向工业机器人数据处理的边云协同流程编排***
CN112104486A (zh) * 2020-08-31 2020-12-18 中国—东盟信息港股份有限公司 一种基于Kubernetes容器的网络端点切片的方法及其***
CN112104723A (zh) * 2020-09-07 2020-12-18 腾讯科技(深圳)有限公司 一种多集群的数据处理***及方法
CN112433818A (zh) * 2020-11-30 2021-03-02 上海天旦网络科技发展有限公司 使Kubernetes持久化的方法和***

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140013247A1 (en) * 2012-07-03 2014-01-09 salesforce.com,inc. Systems and methods for providing a customized user interface for publishing into a feed
CN108039975B (zh) * 2017-12-21 2020-08-28 北京搜狐新媒体信息技术有限公司 容器集群管理***及其应用方法
CN108062246B (zh) * 2018-01-25 2019-06-14 北京百度网讯科技有限公司 用于深度学习框架的资源调度方法和装置
US11269728B2 (en) * 2019-03-20 2022-03-08 International Business Machines Corporation Scalable multi-framework multi-tenant lifecycle management of deep learning applications
CN110162471B (zh) * 2019-04-28 2023-08-11 中国工商银行股份有限公司 一种基于容器云的压力测试方法及***
CN111741257B (zh) * 2020-05-21 2022-01-28 深圳市商汤科技有限公司 数据处理方法及装置、电子设备及存储介质
CN112000363A (zh) * 2020-07-30 2020-11-27 苏州浪潮智能科技有限公司 一种管理大数据组件配置文件的方法及***
CN112486634A (zh) * 2020-12-09 2021-03-12 浪潮云信息技术股份公司 一种实现容器云平台整体监控的方法
CN113010385B (zh) * 2021-03-18 2022-10-28 山东英信计算机技术有限公司 一种任务状态更新方法、装置、设备及介质

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107666525A (zh) * 2017-09-08 2018-02-06 北京京东尚科信息技术有限公司 集群容器ip分配的方法和装置
CN110213309A (zh) * 2018-03-13 2019-09-06 腾讯科技(深圳)有限公司 一种绑定关系管理的方法、设备及存储介质
CN110321115A (zh) * 2018-03-30 2019-10-11 中移(苏州)软件技术有限公司 一种Pod创建方法及设备
CN109831500A (zh) * 2019-01-30 2019-05-31 无锡华云数据技术服务有限公司 Kubernetes集群中配置文件与Pod的同步方法
CN110502340A (zh) * 2019-08-09 2019-11-26 广东浪潮大数据研究有限公司 一种资源动态调整方法、装置、设备及存储介质
CN110912972A (zh) * 2019-11-07 2020-03-24 北京浪潮数据技术有限公司 一种业务处理方法、***、电子设备及可读存储介质
CN111431740A (zh) * 2020-03-16 2020-07-17 深信服科技股份有限公司 数据的传输方法、装置、设备及计算机可读存储介质
CN111352717A (zh) * 2020-03-24 2020-06-30 广西梯度科技有限公司 一种实现kubernetes自定义调度器的方法
CN111427665A (zh) * 2020-03-27 2020-07-17 合肥本源量子计算科技有限责任公司 一种量子应用云平台及量子计算任务的处理方法
CN111538563A (zh) * 2020-04-14 2020-08-14 北京宝兰德软件股份有限公司 一种对Kubernetes的事件分析方法及装置
CN111897625A (zh) * 2020-06-23 2020-11-06 新浪网技术(中国)有限公司 一种基于Kubernetes集群的资源事件回溯方法、***及电子设备
CN112039963A (zh) * 2020-08-21 2020-12-04 广州虎牙科技有限公司 一种处理器的绑定方法、装置、计算机设备和存储介质
CN112104486A (zh) * 2020-08-31 2020-12-18 中国—东盟信息港股份有限公司 一种基于Kubernetes容器的网络端点切片的方法及其***
CN112104723A (zh) * 2020-09-07 2020-12-18 腾讯科技(深圳)有限公司 一种多集群的数据处理***及方法
CN112068935A (zh) * 2020-09-15 2020-12-11 北京值得买科技股份有限公司 kubernetes程序部署监控方法、装置以及设备
CN112087522A (zh) * 2020-09-18 2020-12-15 北京航空航天大学 一种面向工业机器人数据处理的边云协同流程编排***
CN112433818A (zh) * 2020-11-30 2021-03-02 上海天旦网络科技发展有限公司 使Kubernetes持久化的方法和***

Also Published As

Publication number Publication date
CN113010385A (zh) 2021-06-22
US11915035B1 (en) 2024-02-27
US20240054003A1 (en) 2024-02-15
WO2022193855A1 (zh) 2022-09-22

Similar Documents

Publication Publication Date Title
CN105608203B (zh) 一种基于Hadoop平台的物联网日志处理方法和装置
US9858322B2 (en) Data stream ingestion and persistence techniques
CN110650038B (zh) 面向多类监管对象的安全事件日志采集处理方法和***
CN110019255A (zh) 数据查询方法、装置、服务器及存储介质
US20150135255A1 (en) Client-configurable security options for data streams
US9626223B2 (en) Provisioning IaaS services
US20080263082A1 (en) Recovery segment identification in a computing infrastructure
CN108595316B (zh) 分布式应用的生命周期管理方法、管理器、设备和介质
CN105706086A (zh) 用于获取、存储和消费大规模数据流的管理服务
CN106210124B (zh) 一种统一的云数据中心监控***
CN107491371B (zh) 一种监控部署的方法以及装置
CN114443435A (zh) 一种面向容器微服务的性能监控告警方法及告警***
EP2984551A1 (en) Creating global aggregated namespaces for storage management
CN106548288A (zh) 电力多场景多态实例管理***及方法
CN104731943A (zh) 一种服务器和数据处理方法
CN114706690B (zh) 一种Kubernetes容器共享GPU方法及***
CN113704790A (zh) 一种异常日志信息汇总方法及计算机设备
Branco et al. Managing very large distributed data sets on a data grid
Trunov et al. Legacy applications model integration to support scientific experiment
CN113010385B (zh) 一种任务状态更新方法、装置、设备及介质
CN116708266A (zh) 一种云服务拓扑图实时更新方法、装置、设备及介质
CN114565502A (zh) Gpu资源管理方法、调度方法、装置、电子设备及存储介质
CN112181049B (zh) 集群时间同步方法、装置、***、设备及可读存储介质
CN114528270A (zh) 云环境下实时流数据与业务维度信息自动关联***及方法
Singh Cluster-level logging of containers with containers: Logging challenges of container-based cloud deployments

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