CN113448758A - 处理任务的方法、装置及终端设备 - Google Patents

处理任务的方法、装置及终端设备 Download PDF

Info

Publication number
CN113448758A
CN113448758A CN202110743071.0A CN202110743071A CN113448758A CN 113448758 A CN113448758 A CN 113448758A CN 202110743071 A CN202110743071 A CN 202110743071A CN 113448758 A CN113448758 A CN 113448758A
Authority
CN
China
Prior art keywords
task
processing
active
actuator
executor
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
CN202110743071.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.)
Weikun Shanghai Technology Service Co Ltd
Original Assignee
Weikun Shanghai Technology Service 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 Weikun Shanghai Technology Service Co Ltd filed Critical Weikun Shanghai Technology Service Co Ltd
Priority to CN202110743071.0A priority Critical patent/CN113448758A/zh
Publication of CN113448758A publication Critical patent/CN113448758A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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/0709Error 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 distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/0793Remedial or corrective actions
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请适用于云监控技术领域,提供了处理任务的方法、装置、终端设备及存储介质,其中,一种处理任务的方法,包括:在检测到关于待处理的任务的指令之后,通过至少两个执行器中的活跃执行器处理任务,并且在处理任务的过程中,实时获取至少两个执行器上报的心跳数据;根据心跳数据,检测至少两个执行器的状态,状态包括可用状态和不可用状态;若检测到活跃执行器的状态为不可用状态,则将活跃执行器切换为备用执行器,并将目标备用执行器切换为活跃执行器,目标备用执行器对应的状态为可用状态;基于切换前的活跃执行器针对任务的处理信息,通过切换后的活跃执行器处理任务。

Description

处理任务的方法、装置及终端设备
技术领域
本申请涉及云监控技术领域,尤其涉及处理任务的方法、装置、终端设备及计算机可读存储介质。
背景技术
随着大数据的发展,大数据处理在各个应用领域均有广泛的应用。在实际应用过程中,通常是通过服务器集群对大数据进行处理,以执行相应的任务。而目前,在通过服务器集群处理任务的过程中,若出现异常,通常会导致任务直接失败。可见,目前,通过服务器集群处理任务时容易受到任务执行过程中的异常的影响,可靠性较低。
发明内容
有鉴于此,本申请实施例提供了处理任务的方法、处理任务的装置、终端设备及计算机可读存储介质,以解决目前通过服务器集群处理任务时容易受到任务执行过程中的异常的影响,可靠性较低的问题。
第一方面,本申请实施例提供了一种处理任务的方法,包括:
在检测到关于待处理的任务的指令之后,通过至少两个执行器中的活跃执行器处理任务,并且在处理任务的过程中,实时获取至少两个执行器上报的心跳数据,服务器集群部署有至少两个执行器,至少两个执行器包括一个活跃执行器和至少一个备用执行器;
根据心跳数据,检测至少两个执行器的状态,状态包括可用状态和不可用状态;
若检测到活跃执行器的状态为不可用状态,则将活跃执行器切换为备用执行器,并将目标备用执行器切换为活跃执行器,目标备用执行器对应的状态为可用状态;
基于切换前的活跃执行器针对任务的处理信息,通过切换后的活跃执行器处理任务。
第二方面,本申请实施例提供了一种处理任务的装置,包括:
第一处理模块,用于在检测到关于待处理的任务的指令之后,通过至少两个执行器中的活跃执行器处理任务,并且在处理任务的过程中,实时获取至少两个执行器上报的心跳数据,服务器集群部署有至少两个执行器,至少两个执行器包括一个活跃执行器和至少一个备用执行器;
检测模块,用于根据心跳数据,检测至少两个执行器的状态,状态包括可用状态和不可用状态;
切换模块,用于若检测到活跃执行器的状态为不可用状态,则将活跃执行器切换为备用执行器,并将目标备用执行器切换为活跃执行器,目标备用执行器对应的状态为可用状态;
第二处理模块,用于基于切换前的活跃执行器针对任务的处理信息,通过切换后的活跃执行器处理任务。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器、显示器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现如第一方面的处理任务的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如第一方面的处理任务的方法。
实施本申请实施例提供的处理任务的方法具有以下有益效果:通过本申请实施例,在检测到关于待处理的任务的指令之后,通过至少两个执行器中的活跃执行器处理任务,并且在处理任务的过程中,实时获取至少两个执行器上报的心跳数据,服务器集群部署有至少两个执行器,至少两个执行器包括一个活跃执行器和至少一个备用执行器;然后,根据心跳数据,检测至少两个执行器的状态,状态包括可用状态和不可用状态;若检测到活跃执行器的状态为不可用状态,则将活跃执行器切换为备用执行器,并将目标备用执行器切换为活跃执行器,再基于切换前的活跃执行器针对任务的处理信息,通过切换后的活跃执行器处理任务。此时,在处理任务的过程中,可以通过实时上传的心跳数据检测服务器集群中的各个执行器的状态,从而对执行器进行探活,以及时发现活跃执行器不可用等异常情况,并在发现异常情况之后,能够基于目标备用执行器及时进行活跃执行器的切换,从而使得任务可以继续执行,而无需重新查找资源并重头开始处理任务,提升了服务器集群处理任务的处理速度和可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种处理任务的方法的流程示意图;
图2是本申请一实施例提供的一种系统架构示意图;
图3是本申请一实施例提供的服务器集群配置信息的一种示意图;
图4是本申请一实施例提供的一种信息交互示意图;
图5是本申请一实施例提供的一种处理任务的装置的结构示意图;
图6是本申请一实施例提供的终端设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的处理任务的方法可以应用于服务器、台式电脑、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
如图1所示,为本申请实施例的一种示例性的系统架构示意图。
其中,在一种具体示例中,终端设备可以包括控制模块,该控制模块可以部署于系统后端。
控制模块可以与服务器集群的执行器进行信息交互,以实现任务在执行器中的分配和管理。
此外,控制模块还可以从包含元数据的数据库中获取当前元数据,并管理元数据。该当前元数据包括:当前要执行的作业(Job)的元数据、Job状态信息、心跳数据以及当前的集群信息等等。控制模块还可以从指定存储空间(如第三方存储空间)中获取对应任务的执行数据等信息,以用于诸如执行器重启等操作。
执行器可以从控制模块获取相关任务的配置文件、元数据等信息,以处理任务,并通过回调函数实现处理任务时产生的特定事件(如任务执行完成事件)和状态(如异常状态)的回调。此外,执行器还可以向控制模块上报心跳数据。
执行器处理任务时的相关数据可以由对应的服务器集群采集之后上报至分布式日志系统,并可以在分布式日志系统中通过搜索引擎进行信息检索,以快速地定位异常问题,再将定位到的异常问题上报给终端设备中的控制模块。
此外,服务器集群还可以通过时序数据库实现对服务器集群中的运行指标等数据的统计,并上报至实时监控工具,以可以实现对服务器集群的实时监控以及可视化展示。
需要说明的是,图1中只显示了一个服务器集群以及该服务器集群的一个执行器,在本申请实施例的具体方案中,服务器集群以及服务器集群中的执行器的数量可以不止一个,例如,一个服务器集群可以有至少两个执行器。
请参阅图2,图2示出了本申请实施例提供的一种处理任务的方法的流程图。
如图2所示,本实施例提供的一种处理任务的方法可以包括:
步骤S201,在检测到关于待处理的任务的指令之后,通过至少两个执行器中的活跃执行器处理任务,并且在处理任务的过程中,实时获取至少两个执行器上报的心跳数据,服务器集群部署有至少两个执行器,至少两个执行器包括一个活跃执行器和至少一个备用执行器。
其中,执行器(Executor)是一个进程,该进程负责执行相应的任务(task),并且可以将处理任务的相关数据存储至内存或者磁盘上。一个执行器中可以通过至少一个线程来运行对应的任务,每个执行器所能够并行运行的任务的个数可以基于分配给该执行器的中央处理器(central processing unit,CPU)的个数来确定。
执行器所执行的任务的个数可以根据实际场景需求以及执行器所能分配到的CPU的个数来确定。各个任务可以由执行器中的线程并行地执行。
在实际应用中,各个任务可以由作业(Job)划分而得到,每个作业可以包括一个任务,也可以包括多个并行的任务,作业可以用于执行特定的数据处理工作以实现特定的功能。针对不同的应用场景,作业的具体内容可以不同。
本申请实施例中,服务器集群中可以包括至少两个执行器,其中,具体可以包括一个活跃执行器和至少一个备用执行器,活跃执行器可以用于执行当前待处理的任务,而至少一个备用执行器可以为任务执行过程中的异常情况提供作为冗余的计算资源。在一种示例中,备用执行器的数量可以为1。
在实际应用中,可以通过终端设备中的控制模块向终端设备中的活跃执行器发送控制指令,以指示至少两个执行器中的活跃执行器处理任务。
本实施例中,可以通过终端设备实时地自动获取至少两个执行器上报的心跳数据,也可以是执行器自动地实时上传心跳数据至终端设备。
在一些实施例中,该方法还包括:
若检测到目标确认指令,则根据目标页面的第一区域中的信息,确定任务的执行逻辑信息,并根据目标页面的第二区域的信息,确定任务的资源部署信息;
生成关于待处理的任务的指令,指令中携带有执行逻辑信息和资源部署信息。
其中,目标确认指令可以其他终端发送给终端设备的,也可以是将终端设备检测到的前端页面的确认指令作为目标确认指令。
任务的执行逻辑信息可以包括任务对应的代码。通过运行任务对应的代码,指示相应执行器可以基于代码中的执行逻辑信息处理任务。资源部署信息可以包括部署的服务器集群的数量、地址以及服务器集群中的执行器的数量、地址等信息。
第一区域和第二区域在目标页面中的具体位置可以由相关研发人员根据实际场景需求来确定。示例性地,第一区域可以位于目标页面的左侧,用户可以通过编辑第一区域中的代码来设置任务的执行逻辑。第二区域可以位于目标页面的右侧,用户可以在对应的文本框中输入任务的资源部署信息。
在一些示例中,用户还可以在目标页面的第一区域和第二区域反复修改所输入的信息,在用户输入确认指令之后,再将当前的目标页面中的执行逻辑信息和资源部署信息确认为待处理的任务的最终配置版本,并将最终配置版本提交到终端设备中。终端设备在获取到待处理的任务的最终配置版本中的执行逻辑信息和资源部署信息之后,可以生成关于待处理的任务的指令。
步骤S202,根据心跳数据,检测至少两个执行器的状态,状态包括可用状态和不可用状态。
本申请实施例中,可用状态可以指相应的执行器能够处理任务,不可用状态可以指相应的执行器不能够处理任务。
在获取到至少两个执行器上报的心跳数据之后,可以通过终端设备中预设的应用工具(如Hunter等工具)以指定周期根据心跳数据判断活跃执行器和备用执行器的状态,从而及时发现异常。该异常可能是相应执行器出现卡顿、反复重启或者停止运行等状态。当相应执行器出现上述异常时,可以将相应执行器的状态标识为不可用状态。
执行器的状态可以通过预设标识来确定。其中,不同的预设标识可以表示执行器的不同状态。预设标识可以包含文字、数字和/或编码。
服务器集群的执行器的具体配置信息可以基于用户在前端页面中所输入的信息来确定,此外,服务器集群的执行器的具体配置信息也可以显示于前端页面,以便于用户进行确认和调整。
如图3所示,一种具体示例,前端页面中显示的服务器集群中的执行器的一种具体配置信息可以包括服务器集群的名称、地址以及该服务器集群的状态、内存以及CPU的使用情况等等,此外,还可以显示该服务器集群下的活跃服务器和备用服务器的情况,包括活跃服务器和备用服务器各自对应的名称、地址、状态、创建时间、上次使用时间以及响应时长等信息。
步骤S203,若检测到活跃执行器的状态为不可用状态,则将活跃执行器切换为备用执行器,并将目标备用执行器切换为活跃执行器,目标备用执行器对应的状态为可用状态。
本申请实施例中,若检测到活跃执行器的状态为不可用状态,则可以对当前的活跃执行器和备用执行器进行切换,其中,由于执行本申请实施例的终端设备可以实时获取备用执行器的心跳数据,因此,可以根据实时获取的备用执行器的心跳数据,快速高效地从备用执行器中确定处于目标备用执行器,而无需重新在当前的服务器集群甚至其他服务器集群中重新查找和分配资源,大大提升了异常情况下的处理速度。
步骤S204,基于切换前的活跃执行器针对任务的处理信息,通过切换后的活跃执行器处理任务。
在一些示例中,在切换执行器之后,对应的任务在切换后的执行器中的启动、执行、停止以及相关处理信息的提交可以通过超文本传输协议(Hypertext TransferProtocol,HTTP)传输至终端设备的控制模块中,以使得控制模块可以控制切换后的活跃执行器执行任务。
此时,服务器集群中的活跃执行器可以根据任务在执行过程中的异常情况灵活地在多个执行器中进行选择,并且,活跃执行器的切换可以通过后台实现,用户在前台页面进行浏览时通常无法感觉到任务执行过程中的异常。当然,在一些实施例中,活跃执行器和备用执行器的切换也可以通过后台维护人员手动执行。
本申请实施例中,在处理任务的过程中,可以通过实时上传的心跳数据检测服务器集群中的各个执行器的状态,从而对执行器进行探活,以及时发现活跃执行器不可用等异常情况,并在发现异常情况之后,能够基于目标备用执行器及时进行活跃执行器的切换,从而使得任务可以继续执行,而无需重新查找资源并重头开始处理任务,提升了服务器集群处理任务的处理速度和可靠性。
目前,若执行器出现异常,通常只能依赖执行器自身的重启策略来进行重启,并重头开始处理任务。可见,传统的服务器集群处理异常的方式会导致任务的处理效率大大降低,且相应的处理系统容易受到任务执行过程中的异常的影响,可靠性较低。
而在一些实施例中,可以通过多级的异常重启策略来进行处理,以针对执行器处理任务的过程中的异常情况合理调用资源。
具体地,在一些实施例中,该方法还包括:
若在处理任务的过程中,检测到服务器集群中的活跃服务器的切换次数大于预设次数阈值,则基于第一策略执行重启操作,第一策略指示对活跃执行器进行重启,N为大于1的整数;
若基于第一策略执行重启操作成功,则通过重启后的活跃服务器处理任务。
其中,若在处理任务的过程中,检测到服务器集群中的活跃服务器的切换次数大于预设次数阈值,则说明在处理任务的过程中,执行器出现异常的频率较高,通过切换活跃服务器很可能也无法解决该异常情况。因此,在检测到通过切换活跃服务器也无法解决的异常情况之后,可以通过第一策略进行重启操作,以尝试克服当前的异常情况。第一策略可以认为是一种对服务器资源影响较小的重启策略。
在一些示例中,基于第一策略执行重启操作失败的条件为:连续N次尝试对活跃执行器执行重启操作失败,或者,在指定时间段内,目标比值大于预设比值阈值,目标比值为指定时间段内,对活跃执行器执行重启操作失败的次数与对活跃执行器执行重启操作的总次数的比值。反之,则可以认为基于第一策略执行重启操作成功。
第一策略中,对活跃服务器执行的重启操作可以是有状态的任务重启操作或者无状态的任务重启操作。
其中,有状态的任务重启操作为:相应的执行器从指定存储空间(例如第三方存储空间)中获取对应任务的历史处理数据,从而根据历史处理数据对相应执行器执行重启操作。该历史处理数据可以为重启前的活跃执行器针对任务的最新的处理数据,或者,也可以是该重启前的活跃执行器的其他历史时间节点对应的处理数据。
而无状态的任务重启操作为:相应的执行器初始化任务,而不读取对应的任务的历史处理数据。
在一些实施例中,在基于第一策略执行重启操作之后,还包括:
若基于第一策略执行重启操作失败,则基于第二策略执行重启操作,第二策略指示对服务器集群中的备用执行器执行重启操作,基于第一策略执行重启操作失败的条件为:连续N次尝试对活跃执行器执行重启操作失败,或者,在指定时间段内,目标比值大于预设比值阈值,目标比值为指定时间段内,对活跃执行器执行重启操作失败的次数与对活跃执行器执行重启操作的总次数的比值;
若基于第二策略执行重启操作成功,则通过重启后的备用服务器处理任务。
本申请实施例中,若基于第一策略执行重启操作失败,可以认为当前情况下,用于处理任务的活跃服务器无法通过重启来解决当前的异常。因此,可以合理拓展至服务器集群中的其他资源(即服务器集群中的备用执行器),尝试通过第二策略对备用执行器执行重启操作来解决当前的异常。
第二策略中,对备用服务器执行的重启操作可以是有状态的任务重启操作或者无状态的任务重启操作。
在一些示例中,基于第二策略执行重启操作失败的条件为:连续M次尝试对备用执行器执行重启操作失败,或者,在指定时间段内,第二目标比值大于预设比值阈值,第二目标比值为指定时间段内,对备用执行器执行重启操作失败的次数与对备用执行器执行重启操作的总次数的比值。反之,则可以认为基于第二策略执行重启操作成功。
需要说明的是,若备用执行器的个数不止一个,可以依次对各个备用执行器执行本申请实施例中的若基于第一策略执行重启操作失败,则基于第二策略执行重启操作的步骤,直到基于第二策略针对某一备用执行器执行重启操作成功,或者,直到基于第二策略针对每个备用执行器执行重启操作均失败。
在一些实施例中,在基于第二策略执行重启操作之后,还包括:
若基于第二策略执行重启操作失败,则基于第三策略执行重启操作,第三策略指示对服务器集群之外的其他服务器集群进行任务重启操作;
若基于第三策略执行重启操作成功,则通过重启后的其他服务器集群处理任务。
本申请实施例中,若基于第二策略执行重启操作失败,可以认为当前情况下,用于处理任务的服务器集群中的各个执行器无法通过重启来解决当前的异常。因此,可以合理拓展至其他服务器集群资源,尝试通过第三策略对其他服务器集群执行重启操作来解决当前的异常。
第三策略中,对其他服务器集群执行的重启操作可以是有状态的任务重启操作或者无状态的任务重启操作。
可见,本申请实施例可以通过统计切换次数,监控到通过切换活跃执行器很可能也无法解决的异常情况,并通过多级别的重启策略来进行处理,以针对当前异常情况合理调用资源来进行处理,为任务的成功处理以及服务器集群的持续运行提供保证。
需要说明的是,本申请实施例中,可以是执行本申请实施例的终端设备分别向活跃执行器、备用执行器和其他服务器集群发送重启指令,以指示根据对应的策略执行重启操作。
在一些实施例中,若基于第三策略执行重启操作成功,则通过重启后的其他服务器集群处理任务,包括:
若基于第三策略执行重启操作成功,则从预设存储空间将目标执行文件读取至其他服务器集群,其中,目标执行文件包含服务器集群在指定时间段针对任务的处理信息;
基于目标执行文件,通过重启后的其他服务器集群处理任务。
本申请实施例中,在处理任务的过程中,服务器集群针对任务的处理信息以预设周期同步至预设存储空间,预设存储空间中存储的目标执行文件可以包含最新同步至预设存储空间的处理信息。
如图4所示,为本申请实施例中信息交互的一种示例性示意图。
其中,终端设备的控制模块可以分别与服务器集群A和服务器集群B进行信息交互。当前的待处理的任务可以由服务器集群A进行处理。服务器集群A在处理任务的过程中,以预设周期,将存储有针对任务的处理信息的执行文件同步至预设存储空间,并替换上一周期的执行文件。因此,预设存储空间中存储的目标执行文件可以包含最新同步至预设存储空间的处理信息。
在服务器集群A出现异常,并基于第三策略对服务器集群B执行重启操作成功之后,重启后的服务器集群B可以读取预设存储空间中的目标执行文件,以根据读取到的目标执行文件处理任务,而无需重头开始处理任务,提升了任务处理效率。
请参阅图5,图5是本申请实施例提供的一种处理任务的装置的结构框图。本实施例中该终端设备包括的各单元用于执行上述各个处理任务的方法实施例中的各步骤。具体请参阅上述处理任务的方法所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参照图5,该处理任务的装置5包括:
第一处理模块501,用于在检测到关于待处理的任务的指令之后,通过至少两个执行器中的活跃执行器处理任务,并且在处理任务的过程中,实时获取至少两个执行器上报的心跳数据,服务器集群部署有至少两个执行器,至少两个执行器包括一个活跃执行器和至少一个备用执行器;
检测模块502,用于根据心跳数据,检测至少两个执行器的状态,状态包括可用状态和不可用状态;
切换模块503,用于若检测到活跃执行器的状态为不可用状态,则将活跃执行器切换为备用执行器,并将目标备用执行器切换为活跃执行器,目标备用执行器对应的状态为可用状态;
第二处理模块504,用于基于切换前的活跃执行器针对任务的处理信息,通过切换后的活跃执行器处理任务。
可选地,该装置5还包括:
第一重启模块,用于若在处理任务的过程中,检测到服务器集群中的活跃服务器的切换次数大于预设次数阈值,则基于第一策略执行重启操作,第一策略指示对活跃执行器进行重启;
第三处理模块,用于若基于第一策略执行重启操作成功,则通过重启后的活跃服务器处理任务。
可选地,该装置5还包括:
第二重启模块,用于若基于第一策略执行重启操作失败,则基于第二策略执行重启操作,第二策略指示对服务器集群中的备用执行器执行重启操作,基于第一策略执行重启操作失败的条件为:连续N次尝试对活跃执行器执行重启操作失败,或者,在指定时间段内,目标比值大于预设比值阈值,目标比值为指定时间段内,对活跃执行器执行重启操作失败的次数与对活跃执行器执行重启操作的总次数的比值,N为大于1的整数;
第四处理模块,用于若基于第二策略执行重启操作成功,则通过重启后的备用服务器处理任务。
可选地,该装置5还包括:
第三重启模块,用于若基于第二策略执行重启操作失败,则基于第三策略执行重启操作,第三策略指示对服务器集群之外的其他服务器集群进行任务重启操作;
第五处理模块,用于若基于第三策略执行重启操作成功,则通过重启后的其他服务器集群处理任务。
可选地,第五处理模块包括:
读取单元,用于若基于第三策略执行重启操作成功,则从预设存储空间将目标执行文件读取至其他服务器集群,其中,目标执行文件包含服务器集群在指定时间段针对任务的处理信息;
处理单元,用于基于目标执行文件,通过重启后的其他服务器集群处理任务。
可选地,该装置5还包括:
确定模块,用于若检测到目标确认指令,则根据目标页面的第一区域中的信息,确定任务的执行逻辑信息,并根据目标页面的第二区域的信息,确定任务的资源部署信息;
生成模块,用于生成关于待处理的任务的指令,指令中携带有执行逻辑信息和资源部署信息。
通过本申请实施例,在检测到关于待处理的任务的指令之后,通过至少两个执行器中的活跃执行器处理任务,并且在处理任务的过程中,实时获取至少两个执行器上报的心跳数据,服务器集群部署有至少两个执行器,至少两个执行器包括一个活跃执行器和至少一个备用执行器;然后,根据心跳数据,检测至少两个执行器的状态,状态包括可用状态和不可用状态;若检测到活跃执行器的状态为不可用状态,则将活跃执行器切换为备用执行器,并将目标备用执行器切换为活跃执行器,再基于切换前的活跃执行器针对任务的处理信息,通过切换后的活跃执行器处理任务。此时,在处理任务的过程中,可以通过实时上传的心跳数据检测服务器集群中的各个执行器的状态,从而对执行器进行探活,以及时发现活跃执行器不可用等异常情况,并在发现异常情况之后,能够基于目标备用执行器及时进行活跃执行器的切换,从而使得任务可以继续执行,而无需重新查找资源并重头开始处理任务,提升了服务器集群处理任务的处理速度和可靠性。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图6是本申请另一实施例提供的一种终端设备的结构框图。如图6所示,该实施例的终端设备6包括:处理器61、存储器62以及存储在存储器62中并可在处理器61上运行的计算机程序63,例如处理任务的方法的程序。处理器61执行计算机程序63时实现上述各个处理任务的方法各实施例中的步骤,例如图1所示的S101至S104。或者,处理器61执行计算机程序63时实现上述图5对应的实施例中各模块/单元的功能,例如,图5所示的模块501至504的功能,具体请参阅图5对应的实施例中的相关描述,此处不赘述。
示例性的,计算机程序63可以被分割成一个或多个单元,一个或者多个单元被存储在存储器62中,并由处理器61执行,以完成本申请。一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序63在终端设备60中的执行过程。例如,计算机程序63可以被分割成第一获取单元、第一确定单元、第一调整单元、第二调整单元以及执行单元,各单元具体功能如上。
终端设备可包括,但不仅限于,处理器61、存储器62。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如转台设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器61可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器62可以是终端设备6的内部存储单元,例如终端设备6的硬盘或内存。存储器62也可以是终端设备6的外部存储设备,例如终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器62还可以既包括终端设备6的内部存储单元也包括外部存储设备。存储器62用于存储计算机程序以及转台设备所需的其他程序和数据。存储器62还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例中,上述处理器60执行上述计算机程序62以实现上述任意各个处理任务的方法实施例中的步骤时,在检测到关于待处理的任务的指令之后,通过至少两个执行器中的活跃执行器处理任务,并且在处理任务的过程中,实时获取至少两个执行器上报的心跳数据,服务器集群部署有至少两个执行器,至少两个执行器包括一个活跃执行器和至少一个备用执行器;然后,根据心跳数据,检测至少两个执行器的状态,状态包括可用状态和不可用状态;若检测到活跃执行器的状态为不可用状态,则将活跃执行器切换为备用执行器,并将目标备用执行器切换为活跃执行器,再基于切换前的活跃执行器针对任务的处理信息,通过切换后的活跃执行器处理任务。此时,在处理任务的过程中,可以通过实时上传的心跳数据检测服务器集群中的各个执行器的状态,从而对执行器进行探活,以及时发现活跃执行器不可用等异常情况,并在发现异常情况之后,能够基于目标备用执行器及时进行活跃执行器的切换,从而使得任务可以继续执行,而无需重新查找资源并重头开始处理任务,提升了服务器集群处理任务的处理速度和可靠性。
本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现可实现上述各个处理任务的方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个处理任务的方法实施例中的步骤。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种处理任务的方法,其特征在于,包括:
在检测到关于待处理的任务的指令之后,通过至少两个执行器中的活跃执行器处理所述任务,并且在处理所述任务的过程中,实时获取所述至少两个执行器上报的心跳数据,服务器集群部署有所述至少两个执行器,所述至少两个执行器包括一个活跃执行器和至少一个备用执行器;
根据所述心跳数据,检测所述至少两个执行器的状态,所述状态包括可用状态和不可用状态;
若检测到所述活跃执行器的状态为不可用状态,则将活跃执行器切换为备用执行器,并将目标备用执行器切换为活跃执行器,所述目标备用执行器对应的状态为可用状态;
基于切换前的活跃执行器针对所述任务的处理信息,通过切换后的活跃执行器处理所述任务。
2.如权利要求1所述的方法,其特征在于,还包括:
若在处理所述任务的过程中,检测到所述服务器集群中的活跃服务器的切换次数大于预设次数阈值,则基于第一策略执行重启操作,所述第一策略指示对所述活跃执行器进行重启;
若基于第一策略执行重启操作成功,则通过重启后的活跃服务器处理所述任务。
3.如权利要求2所述的方法,其特征在于,在基于第一策略执行重启操作之后,还包括:
若基于第一策略执行重启操作失败,则基于第二策略执行重启操作,所述第二策略指示对所述服务器集群中的备用执行器执行重启操作,基于第一策略执行重启操作失败的条件为:连续N次尝试对活跃执行器执行重启操作失败,或者,在指定时间段内,目标比值大于预设比值阈值,所述目标比值为指定时间段内,对活跃执行器执行重启操作失败的次数与对活跃执行器执行重启操作的总次数的比值,N为大于1的整数;
若基于第二策略执行重启操作成功,则通过重启后的备用服务器处理所述任务。
4.如权利要求3所述的方法,其特征在于,在基于第二策略执行重启操作之后,还包括:
若基于第二策略执行重启操作失败,则基于第三策略执行重启操作,所述第三策略指示对所述服务器集群之外的其他服务器集群进行任务重启操作;
若基于第三策略执行重启操作成功,则通过重启后的其他服务器集群处理所述任务。
5.如权利要求4所述的方法,其特征在于,所述若基于第三策略执行重启操作成功,则通过重启后的其他服务器集群处理所述任务,包括:
若基于第三策略执行重启操作成功,则从预设存储空间将目标执行文件读取至所述其他服务器集群,其中,所述目标执行文件包含所述服务器集群在指定时间段针对所述任务的处理信息;
基于所述目标执行文件,通过重启后的其他服务器集群处理所述任务。
6.如权利要求1至5任意一项所述的方法,其特征在于,还包括:
若检测到目标确认指令,则根据目标页面的第一区域中的信息,确定所述任务的执行逻辑信息,并根据目标页面的第二区域的信息,确定所述任务的资源部署信息;
生成关于待处理的任务的指令,所述指令中携带有所述执行逻辑信息和所述资源部署信息。
7.一种处理任务的装置,其特征在于,包括:
第一处理模块,用于在检测到关于待处理的任务的指令之后,通过至少两个执行器中的活跃执行器处理所述任务,并且在处理所述任务的过程中,实时获取所述至少两个执行器上报的心跳数据,服务器集群部署有所述至少两个执行器,所述至少两个执行器包括一个活跃执行器和至少一个备用执行器;
检测模块,用于根据所述心跳数据,检测所述至少两个执行器的状态,所述状态包括可用状态和不可用状态;
切换模块,用于若检测到所述活跃执行器的状态为不可用状态,则将活跃执行器切换为备用执行器,并将目标备用执行器切换为活跃执行器,所述目标备用执行器对应的状态为可用状态;
第二处理模块,用于基于切换前的活跃执行器针对所述任务的处理信息,通过切换后的活跃执行器处理所述任务。
8.如权利要求7所述的装置,其特征在于,还包括:
重启模块,用于若在处理所述任务的过程中,检测到所述服务器集群中的活跃服务器的切换次数大于预设次数阈值,则基于第一策略执行重启操作,所述第一策略指示对所述活跃执行器进行重启;
第三处理模块,用于若基于第一策略执行重启操作成功,则通过重启后的活跃服务器处理所述任务。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的处理任务的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的处理任务的方法。
CN202110743071.0A 2021-06-30 2021-06-30 处理任务的方法、装置及终端设备 Pending CN113448758A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110743071.0A CN113448758A (zh) 2021-06-30 2021-06-30 处理任务的方法、装置及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110743071.0A CN113448758A (zh) 2021-06-30 2021-06-30 处理任务的方法、装置及终端设备

Publications (1)

Publication Number Publication Date
CN113448758A true CN113448758A (zh) 2021-09-28

Family

ID=77814621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110743071.0A Pending CN113448758A (zh) 2021-06-30 2021-06-30 处理任务的方法、装置及终端设备

Country Status (1)

Country Link
CN (1) CN113448758A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116339958A (zh) * 2023-05-30 2023-06-27 支付宝(杭州)信息技术有限公司 一种任务执行方法、装置以及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116339958A (zh) * 2023-05-30 2023-06-27 支付宝(杭州)信息技术有限公司 一种任务执行方法、装置以及设备
CN116339958B (zh) * 2023-05-30 2023-09-08 支付宝(杭州)信息技术有限公司 一种任务执行方法、装置以及设备

Similar Documents

Publication Publication Date Title
JP6756924B2 (ja) ブロックチェーンを基にしたコンセンサス方法およびデバイス
US20170147469A1 (en) Correlation of source code with system dump information
US8996925B2 (en) Managing error logs in a distributed network fabric
CN109614276B (zh) 故障处理方法、装置、分布式存储系统和存储介质
CN105204979A (zh) 安卓日志的记录方法及移动终端
US9354964B2 (en) Tag based selection of test scripts for failure analysis
CN109033814B (zh) 智能合约触发方法、装置、设备及存储介质
CN113312153B (zh) 一种集群部署方法、装置、电子设备及存储介质
CN111324423A (zh) 容器内进程的监控方法、装置、存储介质和计算机设备
CN112506915A (zh) 一种应用数据的管理系统以及处理方法、装置和服务器
CN113157347A (zh) 一种探针的自动部署方法、电子设备和存储介质
CN111046024A (zh) 一种共享存储数据库的数据处理方法、装置、设备及介质
CN111538585B (zh) 一种基于node.js的服务器进程调度方法、系统和装置
CN113448758A (zh) 处理任务的方法、装置及终端设备
CN110196749B (zh) 虚拟机的恢复方法及装置、存储介质及电子装置
CN108241543B (zh) 业务操作断点执行的方法、业务服务器及系统
CN110990179B (zh) 一种任务处理方法、装置及设备
CN112231403A (zh) 数据同步的一致性校验方法、装置、设备和存储介质
CN110908824A (zh) 一种故障识别方法、装置及设备
CN115952227A (zh) 数据采集系统及方法、电子设备和存储介质
CN114047976A (zh) 插件加载方法、装置、电子设备、存储介质
CN112328423A (zh) 一种搜索服务漏洞的处理方法、装置和存储介质
CN111444033A (zh) 基于springbatch的任务容错处理方法及相关设备
CN110647526B (zh) 批量数据处理方法、装置、计算机设备及存储介质
CN110209884B (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