CN112148420A - 基于容器技术的异常任务处理方法、服务器及云平台 - Google Patents

基于容器技术的异常任务处理方法、服务器及云平台 Download PDF

Info

Publication number
CN112148420A
CN112148420A CN201910579177.4A CN201910579177A CN112148420A CN 112148420 A CN112148420 A CN 112148420A CN 201910579177 A CN201910579177 A CN 201910579177A CN 112148420 A CN112148420 A CN 112148420A
Authority
CN
China
Prior art keywords
target task
task container
target
container
debugging
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
CN201910579177.4A
Other languages
English (en)
Other versions
CN112148420B (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910579177.4A priority Critical patent/CN112148420B/zh
Publication of CN112148420A publication Critical patent/CN112148420A/zh
Application granted granted Critical
Publication of CN112148420B publication Critical patent/CN112148420B/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供了基于容器技术的异常任务处理方法、服务器及云平台,该方法包括:在检测到目标任务容器异常时,挂起目标任务容器;获取目标任务容器对应的目标客户端发送的针对目标任务容器的调试信息;根据调试信息调试目标任务容器中的任务数据;在获取到针对目标任务容器的重启指令时,重启目标任务容器。在本申请实施例的基于容器技术的异常任务处理方法中,当任务容器异常时,不是直接删除该任务容器,则是将该任务容器挂起,同时允许用户对该任务容器进行调试,以提高容器重启之后的正常运行概率,并能省去任务的重新排队和重新调度的过程,提高云平台的工作效率,提升用户体验。

Description

基于容器技术的异常任务处理方法、服务器及云平台
技术领域
本申请涉及计算机技术领域,特别是涉及基于容器技术的异常任务处理方法、服务器及云平台。
背景技术
随着人工智能技术的发展,在线深度学习成为普通用户创建自身特有的深度学习算法的主要途径。
相关技术中,大规模深度学习服务云平台的示意图如图1所示,云平台主要包括Web后端服务器、任务队列服务器、Kubernetes管理集群以及多个物理机节点。用户在Web前端提交训练任务,Web前端将该训练任务的各项参数信息提交到Web后端服务器,Web后端服务器根据用户训练任务的参数。将该任务提交到任务队列服务器的指定的任务队列中进行排队。Kubernetes管理集群根据任务所需的物理机节点信息,将任务绑定到指定的物理机节点,并根据任务信息创建任务容器。在任务容器创建失败或任务容器的进程异常时,Kubernetes管理集群会将该任务容器删除,并将任务重新加入任务队列进行排队,当物理机节点中再有资源时重新创建该任务的任务容器。
但是采用上传方法,因为云平台中往往存在着大量的排队任务,对于用户来说,任务失败后重新排队往往是不可接受的,并且不能保证下次任务容器的创建能够成功,任务容器的反复创建严重影响云平台的工作效率,并且会导致用户体验差。
发明内容
本申请实施例的目的在于提供一种基于容器技术的异常任务处理方法、服务器及云平台,以实现提高深度学习服务云平台的工作效率,增加用户体验。具体技术方案如下:
第一方面,本申请实施例提供了一种基于容器技术的异常任务处理方法,所述方法包括:
在检测到目标任务容器异常时,挂起所述目标任务容器;
获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息;
根据所述调试信息调试所述目标任务容器中的任务数据;
在获取到针对所述目标任务容器的重启指令时,重启所述目标任务容器。
可选的,所述在检测到目标任务容器异常时,挂起所述目标任务容器,包括:
在目标任务容器运行的过程中,通过所述目标任务容器中的监控进程对所述目标任务容器中的任务进程进行监控;
在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,挂起所述目标任务容器。
可选的,所述在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,挂起所述目标任务容器,包括:
在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,使所述目标任务容器中的监控进程进入休眠状态。
可选的,在所述挂起所述目标任务容器之后,所述方法还包括:
在所述目标任务容器的挂起时长达到预设时长阈值时,删除所述目标任务容器。
可选的,在所述挂起所述目标任务容器之后,所述方法还包括:
向所述目标客户端发送所述目标任务容器的异常提醒信息,以使所述目标客户端在Web页面中展示所述目标任务容器的异常提醒信息。
可选的,所述获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息,包括:
在获取到所述目标客户端发送的针对所述目标任务容器的调试请求时,向所述目标客户端发送所述目标任务容器的调试页面信息,以使所述目标客户按照所述调试页面信息展示所述目标任务容器的调试页面;
获取所述目标客户端通过所述目标任务容器的调试页面输入的针对所述目标任务容器的调试信息。
可选的,所述获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息,包括:
获取所述目标任务容器对应的目标客户端通过exec函数簇发送的针对所述目标任务容器的调试信息。
可选的,保留挂起后的所述目标任务容器所占用的系统资源。
第二方面,本申请实施例提供了一种服务器,包括存储器及至少一个处理器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利如下步骤:
在检测到目标任务容器异常时,挂起所述目标任务容器;
获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息;
根据所述调试信息调试所述目标任务容器中的任务数据;
在获取到针对所述目标任务容器的重启指令时,重启所述目标任务容器。
可选的,所述在检测到目标任务容器异常时,挂起所述目标任务容器,包括:
在目标任务容器运行的过程中,通过所述目标任务容器中的监控进程对所述目标任务容器中的任务进程进行监控;
在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,挂起所述目标任务容器。
可选的,所述在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,挂起所述目标任务容器,包括:
在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,使所述目标任务容器中的监控进程进入休眠状态。
可选的,在所述挂起所述目标任务容器之后,所述处理器还用于执行如下步骤:
在所述目标任务容器的挂起时长达到预设时长阈值时,删除所述目标任务容器。
可选的,在所述挂起所述目标任务容器之后,所述处理器还用于执行如下步骤:
向所述目标客户端发送所述目标任务容器的异常提醒信息,以使所述目标客户端在Web页面中展示所述目标任务容器的异常提醒信息。
可选的,所述获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息,包括:
在获取到所述目标客户端发送的针对所述目标任务容器的调试请求时,向所述目标客户端发送所述目标任务容器的调试页面信息,以使所述目标客户按照所述调试页面信息展示所述目标任务容器的调试页面;
获取所述目标客户端通过所述目标任务容器的调试页面输入的针对所述目标任务容器的调试信息。
可选的,所述获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息,包括:
获取所述目标任务容器对应的目标客户端通过exec函数簇发送的针对所述目标任务容器的调试信息。
可选的,所述处理器还用于执行如下步骤:保留挂起后的所述目标任务容器所占用的系统资源。
第三方面,本申请实施例提供了一种云平台,所述云平台包括Kubernetes管理集群以及多个如上述第二方面任一所述的服务器。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的基于容器技术的异常任务处理方法。
本申请实施例提供的基于容器技术的异常任务处理方法、服务器及云平台,在检测到目标任务容器异常时,挂起目标任务容器;获取目标任务容器对应的目标客户端发送的针对目标任务容器的调试信息;根据调试信息调试目标任务容器中的任务数据;在获取到针对目标任务容器的重启指令时,重启目标任务容器。在任务容器异常时,不是直接删除该任务容器,则是将该任务容器挂起,同时允许用户对该任务容器进行调试,以提高容器重启之后的正常运行概率,并能省去任务的重新排队和重新调度的过程,提高云平台的工作效率,提升用户体验。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术中深度学习服务云平台的一种示意图;
图2为本申请实施例的基于容器技术的异常任务处理方法的第一种示意图;
图3为本申请实施例的监控进程休眠的一种示意图;
图4为本申请实施例的基于容器技术的异常任务处理方法的第二种示意图;
图5为本申请实施例的基于容器技术的异常任务处理方法的第三种示意图;
图6为本申请实施例的基于容器技术的异常任务处理装置的一种示意图;
图7本申请实施例的服务器的一种示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,对本申请实施例中的专业术语进行解释:
Docker:开源的应用容器引擎,可以帮助开发者打包自己的应用程序及相关依赖到一个可移植容器包中,然后发布到其他运行Linux系统的机器上。
Kubernetes:分布式的容器管理编排开源系统。用于容器集群的自动化部署、扩容以及运维的开源平台。通过Kubernetes,可以快速有效地响应用户需求;快速而有预期地部署应用;极速地扩展应用;无缝对接新应用功能;节省资源,优化硬件资源的使用。
为了提高深度学习服务云平台的工作效率,增加用户体验,本申请实施例提供了一种基于容器技术的异常任务处理方法,参见图2,该方法包括:
S201,在检测到目标任务容器异常时,挂起上述目标任务容器。
本申请实施例的基于容器技术的异常任务处理方法应用于深度学习服务云平台,具体可以通过云平台中的服务器实现。
目标任务容器为云平台中的任一任务容器,在云平台检测到目标任务容器异常时,挂起该目标任务容器,而不是直接删除该目标任务容器。为了方便目标任务容器的调试,在一种可能的实施方式中,保留挂起后的上述目标任务容器所占用的系统资源。保留挂起的目标任务容器所占用的系统资源,暂停目标任务容器的运行。
在一种可能的实施方式中,参见图4,上述在检测到目标任务容器异常时,挂起上述目标任务容器,包括:
S2011,在目标任务容器运行的过程中,通过上述目标任务容器中的监控进程对上述目标任务容器中的任务进程进行监控。
S2012,在上述目标任务容器中的监控进程监控到上述目标任务容器中的任务进程异常时,挂起上述目标任务容器。
目标任务容器中除了运行用户应于深度学习训练的任务进程外,还可以运行有监控进程,该监控进程用于对任务进程进行监控。在目标任务容器中的监控进程监控到目标任务容器中的任务进程异常时,挂起该目标任务容器,而不是直接删除该目标任务容器。
可选的,上述在上述目标任务容器中的监控进程监控到上述目标任务容器中的任务进程异常时,挂起上述目标任务容器,包括:
在上述目标任务容器中的监控进程监控到上述目标任务容器中的任务进程异常时,使上述目标任务容器中的监控进程进入休眠状态。
例如图3所示,任务容器内部存在任务进程和监控进程,当监控进程检测到任务进程的异常退出时(其中,Exitcode!=0表示进程退出错误码不为0),监控进程进入休眠状态,以阻止任务容器被删除。用户可以监控进程休眠状态过程进行代码调试以及修改启动脚本等方式,确保下次重启任务容器能正常运行。
为了防止目标任务容器无限期休眠,在一种可能的实施方式中,在上述挂起上述目标任务容器之后,上述方法还包括:
在上述目标任务容器的挂起时长达到预设时长阈值时,删除上述目标任务容器。
预设时长阈值可以根据实际情况进行设定,例如设置为1小时、3小时或1天等。在目标任务容器的挂起时长达到预设时长阈值,且用户仍未针对目标任务容器进行调试时,删除该目标任务容器。从而防止因用户忘记调试而导致目标任务容器长期占用云平台的资源。在一种可能的实施方式中,可以将监控进程休眠状态的持续时间设为预设时长阈值,在监控进程恢复运行状态后向管理集群,例如Kubernetes管理集群,报告目标任务容器的异常,从而删除目标任务容器。
在一种可能的实施方式中,在上述挂起上述目标任务容器之后,上述方法还包括:
向上述目标客户端发送上述目标任务容器的异常提醒信息,以提醒对上述目标任务容器进行调试。
在目标任务容器被挂起后,向目标客户端发送目标任务容器的异常提醒信息,从而提醒用户对目标任务容器进行调试。目标客户端为目标任务容器对应的客户端,即请求建立目标任务容器的客户端。
S202,获取上述目标任务容器对应的目标客户端发送的针对上述目标任务容器的调试信息。
用户通过目标客户端向云平台发送针对目标任务容器的调试信息,云平台获取该调试信息。其中调试信息可以包括代码调试信息及启动脚本调试信息等。
在一种可能的实施方式中,上述获取上述目标任务容器对应的目标客户端发送的针对上述目标任务容器的调试信息,包括:
步骤一,在获取到上述目标客户端发送的针对上述目标任务容器的调试请求时,向上述目标客户端发送上述目标任务容器的调试页面信息,以使上述目标客户按照上述调试页面信息展示上述目标任务容器的调试页面。
步骤二,获取上述目标客户端通过上述目标任务容器的调试页面输入的针对上述目标任务容器的调试信息。
在一种可能的实施方式中,上述获取上述目标任务容器对应的目标客户端发送的针对上述目标任务容器的调试信息,包括:
获取上述目标任务容器对应的目标客户端通过exec函数簇发送的针对上述目标任务容器的调试信息。
目标客户端可以通过exec函数簇直接进入目标容器中,通过exec函数簇发送调试信息,从而实现对目标任务容器的调试。
S203,根据上述调试信息调试上述目标任务容器中的任务数据。
云平台按照目标客户端发送的调试信息对目标任务容器中的任务数据进行调试。具体的,可以按照调试信息对目标任务容器中的任务数据的任务代码及启动脚本进行调试。
S204,在获取到针对上述目标任务容器的重启指令时,重启上述目标任务容器。
在目标任务容器调试完成后,用户可以利用目标客户端向云平台发送针对目标任务容器的重启指令,在云平台获取到针对目标任务容器的重启指令时,重启目标任务容器。
在本申请实施例中,在任务容器异常时,不是直接删除该任务容器,则是将该任务容器挂起,同时允许用户对该任务容器进行调试,以提高容器重启之后的正常运行概率,并能省去任务的重新排队和重新调度的过程,提高云平台的工作效率,提升用户体验。
本申请实施例的基于容器技术的异常任务处理方法还可以如图5所示,Kubernetes会先从etcd(一种键值存储仓库,用于配置共享和服务器发现)中查询符合要求的物理机节点,并将任务与该物理机节点绑定。调用Kubernetes的API(ApplicationProgramming Interface,应用程序编程接口)接口,创建任务容器并将任务调度到该物理机节点。当任务容器中的任务正常运行后,将任务状态上报给Web前端,用户可看到任务状态为running状态。当容器中的任务启动异常时,上报任务异常状态至Web前端。用户在收到任务异常提醒后,可通过Samba服务进入容器的挂载目录,通过调试程序代码,修改启动脚本等方式对任务进行调试,确保下次任务容器启动时任务能正常运行。修改完成后,用户可在Web前端的页面点击重启按钮,即可实现容器的重启。
本申请实施例还提供了一种基于容器技术的异常任务处理装置,参见图6,该装置包括:
任务容器挂起模块601,用于在检测到目标任务容器异常时,挂起所述目标任务容器;
调试信息获取模块602,用于获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息;
任务容器调试模块603,用于根据所述调试信息调试所述目标任务容器中的任务数据;
任务容器重启模块604,用于在获取到针对所述目标任务容器的重启指令时,重启所述目标任务容器。
可选的,所述任务容器挂起模块601,包括:
进程监控子模块,用于在目标任务容器运行的过程中,通过所述目标任务容器中的监控进程对所述目标任务容器中的任务进程进行监控;
异常挂起子模块,用于在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,挂起所述目标任务容器。
可选的,所述异常挂起子模块,具体用于:在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,以使上述目标客户端在Web页面中展示上述目标任务容器的异常提醒信息。
可选的,本申请实施例的基于容器技术的异常任务处理装置还包括:
容器删除模块,用于在所述目标任务容器的挂起时长达到预设时长阈值时,删除所述目标任务容器。
可选的,本申请实施例的基于容器技术的异常任务处理装置还包括:
容器异常提示模块,用于向所述目标客户端发送所述目标任务容器的异常提醒信息,以提醒对所述目标任务容器进行调试。
可选的,所述调试信息获取模块602,具体用于:
在获取到所述目标客户端发送的针对所述目标任务容器的调试请求时,向所述目标客户端发送所述目标任务容器的调试页面信息,以使所述目标客户按照所述调试页面信息展示所述目标任务容器的调试页面;
获取所述目标客户端通过所述目标任务容器的调试页面输入的针对所述目标任务容器的调试信息。
可选的,所述调试信息获取模块602,具体用于:获取所述目标任务容器对应的目标客户端通过exec函数簇发送的针对所述目标任务容器的调试信息
本申请实施例还提供了一种服务器,其特征在于,包括存储器及至少一个处理器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利如下步骤:
在检测到目标任务容器异常时,挂起所述目标任务容器;
获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息;
根据所述调试信息调试所述目标任务容器中的任务数据;
在获取到针对所述目标任务容器的重启指令时,重启所述目标任务容器。
可选的,所述在检测到目标任务容器异常时,挂起所述目标任务容器,包括:
在目标任务容器运行的过程中,通过所述目标任务容器中的监控进程对所述目标任务容器中的任务进程进行监控;
在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,挂起所述目标任务容器。
可选的,所述在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,挂起所述目标任务容器,包括:
在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,使所述目标任务容器中的监控进程进入休眠状态。
可选的,在所述挂起所述目标任务容器之后,所述处理器还用于执行如下步骤:
在所述目标任务容器的挂起时长达到预设时长阈值时,删除所述目标任务容器。
可选的,在所述挂起所述目标任务容器之后,所述处理器还用于执行如下步骤:
向所述目标客户端发送所述目标任务容器的异常提醒信息,以使所述目标客户端在Web页面中展示所述目标任务容器的异常提醒信息。
可选的,所述获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息,包括:
在获取到所述目标客户端发送的针对所述目标任务容器的调试请求时,向所述目标客户端发送所述目标任务容器的调试页面信息,以使所述目标客户按照所述调试页面信息展示所述目标任务容器的调试页面;
获取所述目标客户端通过所述目标任务容器的调试页面输入的针对所述目标任务容器的调试信息。
可选的,所述获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息,包括:
获取所述目标任务容器对应的目标客户端通过exec函数簇发送的针对所述目标任务容器的调试信息。
可选的,所述处理器还用于执行如下步骤:保留挂起后的所述目标任务容器所占用的系统资源。
可选的,参见图7,本申请实施例的服务器还包括通信接口702和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。
可选的,上述处理器用于执行上述存储器存放的计算机程序时,还能够实现上述任一基于容器技术的异常任务处理方法。
上述服务器提到的通信总线可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述服务器与其他设备之间的通信。
存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种云平台,该云平台包括:Kubernetes管理集群以及多个如上述实施例所述的服务器。
Kubernetes管理集群用于根据任务所需的服务器信息,将任务绑定到指定的服务器,并根据任务信息创建任务容器。
可选的,上述云平台还包括Web后端模块及任务队列模块,任务队列模块运行有多个任务队列。Web后端模块用于与客户端进行通信,获取客户端提交的任务,根据任务的参数,将该任务提交任务队列模块的指定任务队列中。任务队列模块用于利用任务队列存储各任务。
本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质内存储有计算机程序,上述计算机程序被处理器执行时实现如下步骤:
在检测到目标任务容器异常时,挂起上述目标任务容器;
获取上述目标任务容器对应的目标客户端发送的针对上述目标任务容器的调试信息;
根据上述调试信息调试上述目标任务容器中的任务数据;
在获取到针对上述目标任务容器的重启指令时,重启上述目标任务容器。
在本申请实施例中,任务队列中的任务可以是深度学习任务,可以包括神经网络模型的训练任务,也可以包括利用神经网络进行目标识别(人脸识别、人体识别、车辆识别、车牌识别等)、行为识别、目标跟踪、语音识别等各项功能的任务,也可以包括其他深度学习相关的任务,在此不做限定。
可选的,上述计算机程序被处理器执行时,还能够实现上述任一基于容器技术的异常任务处理方法。
需要说明的是,在本文中,各个可选方案中的技术特征只要不矛盾均可组合来形成方案,这些方案均在本申请公开的范围内。诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、服务器、存储介质及云平台的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (17)

1.一种基于容器技术的异常任务处理方法,其特征在于,所述方法包括:
在检测到目标任务容器异常时,挂起所述目标任务容器;
获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息;
根据所述调试信息调试所述目标任务容器中的任务数据;
在获取到针对所述目标任务容器的重启指令时,重启所述目标任务容器。
2.根据权利要求1所述的方法,其特征在于,所述在检测到目标任务容器异常时,挂起所述目标任务容器,包括:
在目标任务容器运行的过程中,通过所述目标任务容器中的监控进程对所述目标任务容器中的任务进程进行监控;
在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,挂起所述目标任务容器。
3.根据权利要求2所述的方法,其特征在于,所述在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,挂起所述目标任务容器,包括:
在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,使所述目标任务容器中的监控进程进入休眠状态。
4.根据权利要求1所述的方法,其特征在于,在所述挂起所述目标任务容器之后,所述方法还包括:
在所述目标任务容器的挂起时长达到预设时长阈值时,删除所述目标任务容器。
5.根据权利要求1所述的方法,其特征在于,在所述挂起所述目标任务容器之后,所述方法还包括:
向所述目标客户端发送所述目标任务容器的异常提醒信息,以使所述目标客户端在Web页面中展示所述目标任务容器的异常提醒信息。
6.根据权利要求1所述的方法,其特征在于,所述获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息,包括:
在获取到所述目标客户端发送的针对所述目标任务容器的调试请求时,向所述目标客户端发送所述目标任务容器的调试页面信息,以使所述目标客户按照所述调试页面信息展示所述目标任务容器的调试页面;
获取所述目标客户端通过所述目标任务容器的调试页面输入的针对所述目标任务容器的调试信息。
7.根据权利要求1所述的方法,其特征在于,所述获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息,包括:
获取所述目标任务容器对应的目标客户端通过exec函数簇发送的针对所述目标任务容器的调试信息。
8.根据权利要求1所述的方法,其特征在于,保留挂起后的所述目标任务容器所占用的系统资源。
9.一种服务器,其特征在于,包括存储器及至少一个处理器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利如下步骤:
在检测到目标任务容器异常时,挂起所述目标任务容器;
获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息;
根据所述调试信息调试所述目标任务容器中的任务数据;
在获取到针对所述目标任务容器的重启指令时,重启所述目标任务容器。
10.根据权利要求9所述的服务器,其特征在于,所述在检测到目标任务容器异常时,挂起所述目标任务容器,包括:
在目标任务容器运行的过程中,通过所述目标任务容器中的监控进程对所述目标任务容器中的任务进程进行监控;
在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,挂起所述目标任务容器。
11.根据权利要求10所述的服务器,其特征在于,所述在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,挂起所述目标任务容器,包括:
在所述目标任务容器中的监控进程监控到所述目标任务容器中的任务进程异常时,使所述目标任务容器中的监控进程进入休眠状态。
12.根据权利要求9所述的服务器,其特征在于,在所述挂起所述目标任务容器之后,所述处理器还用于执行如下步骤:
在所述目标任务容器的挂起时长达到预设时长阈值时,删除所述目标任务容器。
13.根据权利要求9所述的服务器,其特征在于,在所述挂起所述目标任务容器之后,所述处理器还用于执行如下步骤:
向所述目标客户端发送所述目标任务容器的异常提醒信息,以使所述目标客户端在Web页面中展示所述目标任务容器的异常提醒信息。
14.根据权利要求9所述的服务器,其特征在于,所述获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息,包括:
在获取到所述目标客户端发送的针对所述目标任务容器的调试请求时,向所述目标客户端发送所述目标任务容器的调试页面信息,以使所述目标客户按照所述调试页面信息展示所述目标任务容器的调试页面;
获取所述目标客户端通过所述目标任务容器的调试页面输入的针对所述目标任务容器的调试信息。
15.根据权利要求9所述的服务器,其特征在于,所述获取所述目标任务容器对应的目标客户端发送的针对所述目标任务容器的调试信息,包括:
获取所述目标任务容器对应的目标客户端通过exec函数簇发送的针对所述目标任务容器的调试信息。
16.根据权利要求9所述的服务器,其特征在于,所述处理器还用于执行如下步骤:保留挂起后的所述目标任务容器所占用的系统资源。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的基于容器技术的异常任务处理方法。
CN201910579177.4A 2019-06-28 2019-06-28 基于容器技术的异常任务处理方法、服务器及云平台 Active CN112148420B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910579177.4A CN112148420B (zh) 2019-06-28 2019-06-28 基于容器技术的异常任务处理方法、服务器及云平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910579177.4A CN112148420B (zh) 2019-06-28 2019-06-28 基于容器技术的异常任务处理方法、服务器及云平台

Publications (2)

Publication Number Publication Date
CN112148420A true CN112148420A (zh) 2020-12-29
CN112148420B CN112148420B (zh) 2024-04-02

Family

ID=73891384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910579177.4A Active CN112148420B (zh) 2019-06-28 2019-06-28 基于容器技术的异常任务处理方法、服务器及云平台

Country Status (1)

Country Link
CN (1) CN112148420B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485896A (zh) * 2021-07-22 2021-10-08 京东方科技集团股份有限公司 容器状态的监控方法、装置、系统和介质

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521099A (zh) * 2011-11-24 2012-06-27 深圳市同洲视讯传媒有限公司 一种进程监控方法及进程监控系统
CN103491134A (zh) * 2013-08-30 2014-01-01 华为技术有限公司 一种监控容器的方法、装置与代理服务系统
CN104915285A (zh) * 2015-06-30 2015-09-16 北京奇虎科技有限公司 一种容器进程监控方法、装置及系统
CN104915263A (zh) * 2015-06-30 2015-09-16 北京奇虎科技有限公司 基于容器技术的进程故障处理方法及装置
US20160182315A1 (en) * 2014-12-22 2016-06-23 Rovio Entertainment Ltd. Container manager
CN105933137A (zh) * 2015-12-21 2016-09-07 中国银联股份有限公司 一种资源管理方法、装置及系统
CN106126419A (zh) * 2016-06-21 2016-11-16 浪潮电子信息产业股份有限公司 一种应用程序的调试方法及装置
US20170286153A1 (en) * 2016-04-05 2017-10-05 Microsoft Technology Licensing, Llc Managing Container Pause And Resume
CN107391313A (zh) * 2017-07-31 2017-11-24 郑州云海信息技术有限公司 一种容器的运行方法及装置
CN107908457A (zh) * 2017-11-08 2018-04-13 河海大学 一种基于稳定匹配的容器化云资源分配方法
CN108039963A (zh) * 2017-12-05 2018-05-15 腾讯科技(深圳)有限公司 一种容器配置方法、装置及存储介质
CN108121595A (zh) * 2016-11-28 2018-06-05 中国科学院声学研究所 一种Docker容器多进程管理方法及系统
US20180173502A1 (en) * 2016-12-21 2018-06-21 Aon Global Operations Ltd (Singapore Branch) Methods, Systems, and Portal Using Software Containers for Accelerating Aspects of Data Analytics Application Development and Deployment
CN108241545A (zh) * 2016-12-27 2018-07-03 中移(苏州)软件技术有限公司 系统故障的调试方法及装置
CN108664291A (zh) * 2017-03-30 2018-10-16 中国移动通信集团山西有限公司 容器组的构建方法和装置
CN108875289A (zh) * 2017-05-08 2018-11-23 腾讯科技(深圳)有限公司 一种算法调试方法、客户端、后台服务器及系统
CN109032828A (zh) * 2018-07-20 2018-12-18 网宿科技股份有限公司 应用异常处理方法及终端
CN109039729A (zh) * 2018-07-25 2018-12-18 浪潮电子信息产业股份有限公司 一种云平台的故障检测方法及装置
US20190034313A1 (en) * 2017-07-31 2019-01-31 Oracle International Corporation System and method to execute and manage load tests using containers
CN109298962A (zh) * 2018-09-03 2019-02-01 中国平安人寿保险股份有限公司 定时任务的监控方法、计算机可读存储介质和终端设备
CN109582487A (zh) * 2018-11-30 2019-04-05 北京百度网讯科技有限公司 用于发送信息的方法和装置
CN109828830A (zh) * 2019-01-18 2019-05-31 北京百度网讯科技有限公司 用于管理容器的方法和装置
US20190179726A1 (en) * 2016-12-08 2019-06-13 Tencent Technology (Shenzhen) Company Limited Monitoring method and apparatus of server, and storage medium

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521099A (zh) * 2011-11-24 2012-06-27 深圳市同洲视讯传媒有限公司 一种进程监控方法及进程监控系统
CN103491134A (zh) * 2013-08-30 2014-01-01 华为技术有限公司 一种监控容器的方法、装置与代理服务系统
US20160182315A1 (en) * 2014-12-22 2016-06-23 Rovio Entertainment Ltd. Container manager
CN104915263A (zh) * 2015-06-30 2015-09-16 北京奇虎科技有限公司 基于容器技术的进程故障处理方法及装置
CN104915285A (zh) * 2015-06-30 2015-09-16 北京奇虎科技有限公司 一种容器进程监控方法、装置及系统
CN105933137A (zh) * 2015-12-21 2016-09-07 中国银联股份有限公司 一种资源管理方法、装置及系统
US20170286153A1 (en) * 2016-04-05 2017-10-05 Microsoft Technology Licensing, Llc Managing Container Pause And Resume
CN106126419A (zh) * 2016-06-21 2016-11-16 浪潮电子信息产业股份有限公司 一种应用程序的调试方法及装置
CN108121595A (zh) * 2016-11-28 2018-06-05 中国科学院声学研究所 一种Docker容器多进程管理方法及系统
US20190179726A1 (en) * 2016-12-08 2019-06-13 Tencent Technology (Shenzhen) Company Limited Monitoring method and apparatus of server, and storage medium
US20180173502A1 (en) * 2016-12-21 2018-06-21 Aon Global Operations Ltd (Singapore Branch) Methods, Systems, and Portal Using Software Containers for Accelerating Aspects of Data Analytics Application Development and Deployment
CN108241545A (zh) * 2016-12-27 2018-07-03 中移(苏州)软件技术有限公司 系统故障的调试方法及装置
CN108664291A (zh) * 2017-03-30 2018-10-16 中国移动通信集团山西有限公司 容器组的构建方法和装置
CN108875289A (zh) * 2017-05-08 2018-11-23 腾讯科技(深圳)有限公司 一种算法调试方法、客户端、后台服务器及系统
US20190034313A1 (en) * 2017-07-31 2019-01-31 Oracle International Corporation System and method to execute and manage load tests using containers
CN107391313A (zh) * 2017-07-31 2017-11-24 郑州云海信息技术有限公司 一种容器的运行方法及装置
CN107908457A (zh) * 2017-11-08 2018-04-13 河海大学 一种基于稳定匹配的容器化云资源分配方法
CN108039963A (zh) * 2017-12-05 2018-05-15 腾讯科技(深圳)有限公司 一种容器配置方法、装置及存储介质
CN109032828A (zh) * 2018-07-20 2018-12-18 网宿科技股份有限公司 应用异常处理方法及终端
CN109039729A (zh) * 2018-07-25 2018-12-18 浪潮电子信息产业股份有限公司 一种云平台的故障检测方法及装置
CN109298962A (zh) * 2018-09-03 2019-02-01 中国平安人寿保险股份有限公司 定时任务的监控方法、计算机可读存储介质和终端设备
CN109582487A (zh) * 2018-11-30 2019-04-05 北京百度网讯科技有限公司 用于发送信息的方法和装置
CN109828830A (zh) * 2019-01-18 2019-05-31 北京百度网讯科技有限公司 用于管理容器的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
75221F946EC3: "docker启动容器相关操作", 《简书》, 5 March 2019 (2019-03-05), pages 1 - 2 *
张松;疏官胜;李京;: "容器微云监控系统的设计和实现", 中国科学技术大学学报, no. 08, 15 August 2017 (2017-08-15), pages 4 - 11 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485896A (zh) * 2021-07-22 2021-10-08 京东方科技集团股份有限公司 容器状态的监控方法、装置、系统和介质

Also Published As

Publication number Publication date
CN112148420B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
CN110781007B (zh) 任务处理方法、装置、服务器、客户端、系统和存储介质
US8954579B2 (en) Transaction-level health monitoring of online services
CN107016480B (zh) 任务调度方法、装置及系统
CN106201672B (zh) 一种定时任务设置系统及其定时任务运行方法
US20140181816A1 (en) Methods and apparatus to manage virtual machines
CN107589951B (zh) 一种集群升级方法及装置
CN111143133B (zh) 虚拟机备份方法和备份虚拟机恢复方法
US11132274B2 (en) Establishing and monitoring programming environments
US20170046234A1 (en) Method and system for data recovery in a data system
CN112416581B (zh) 定时任务的分布式调用系统
CN111324423B (zh) 容器内进程的监控方法、装置、存储介质和计算机设备
US10230820B2 (en) Analytics driven update notification
CN110109741B (zh) 循环任务的管理方法、装置、电子设备及存储介质
CN114661319A (zh) 软件升级稳定性推荐
CN111190732A (zh) 定时任务处理系统及方法、存储介质和电子设备
CN111752822A (zh) 一种容器化压测调度方法、计算机设备及可读存储介质
JP2021121921A (ja) 人工知能開発プラットフォームの管理方法及び装置、媒体
CN107577527B (zh) 任务生成、调度方法及装置
CN113886069A (zh) 一种资源分配方法、装置、电子设备及存储介质
CN110502399B (zh) 故障检测方法及装置
CN111831424B (zh) 一种任务处理方法、系统及装置
CN110569104A (zh) 深度学习系统中任务训练的管理方法和计算机存储介质
CN114237852A (zh) 一种任务调度方法、装置、服务器及存储介质
CN112148420B (zh) 基于容器技术的异常任务处理方法、服务器及云平台
CN111147541B (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