CN110389815B - 任务处理方法、装置及系统 - Google Patents

任务处理方法、装置及系统 Download PDF

Info

Publication number
CN110389815B
CN110389815B CN201810348626.XA CN201810348626A CN110389815B CN 110389815 B CN110389815 B CN 110389815B CN 201810348626 A CN201810348626 A CN 201810348626A CN 110389815 B CN110389815 B CN 110389815B
Authority
CN
China
Prior art keywords
task
target
state
equipment
target task
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
CN201810348626.XA
Other languages
English (en)
Other versions
CN110389815A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810348626.XA priority Critical patent/CN110389815B/zh
Priority to TW108107430A priority patent/TW201944236A/zh
Priority to SG11202010000VA priority patent/SG11202010000VA/en
Priority to US16/388,520 priority patent/US20190324797A1/en
Priority to EP19789551.9A priority patent/EP3782098A4/en
Priority to JP2020555885A priority patent/JP7362650B2/ja
Priority to PCT/US2019/028066 priority patent/WO2019204572A1/en
Publication of CN110389815A publication Critical patent/CN110389815A/zh
Application granted granted Critical
Publication of CN110389815B publication Critical patent/CN110389815B/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/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/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/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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/481Exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Abstract

本发明公开了一种任务处理方法、装置及系统。其中,该方法包括:获取目标任务,上述目标任务为需部署至目标设备的任务;根据上述目标任务,生成对应的确认信号,上述确认信号包含上述目标任务的任务内容;在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,其中,由上述目标设备根据上述任务内容执行上述目标任务。本发明解决了如何将云端计算逻辑及应用部署到靠近数据源一侧的边缘设备上运行的技术问题。

Description

任务处理方法、装置及系统
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种任务处理方法、装置及系统。
背景技术
随着物联网技术的发展,物联网设备接入云端的接入量日益增高、场景越发复杂。现有技术中,都是将设备的全部数据上报到云端,在云端进行计算,占用了大量的云端计算资源,网络带宽成本高。然而,大部分任务的逻辑处理并非需要云端集群分布式计算的能力,大部分云端数据也并非具有直接的计算价值。
相对于云端计算而言,边缘计算就显得尤为重要,边缘计算不仅可以减少设备请求的响应时间,同时,还可以降低设备和云端通信的网络成本,以及云端的服务压力。那么,如何将云端计算逻辑及应用部署到靠近数据源一侧的边缘设备上运行,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种任务处理方法、装置及系统,以至少解决如何将云端计算逻辑及应用部署到靠近数据源一侧的边缘设备上运行的技术问题。
根据本发明实施例的一个方面,提供了一种任务处理方法,包括:获取目标任务,上述目标任务为需部署至目标设备的任务;根据上述目标任务,生成对应的确认信号,上述确认信号包含上述目标任务的任务内容;在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,其中,由上述目标设备根据上述任务内容执行上述目标任务。
根据本发明实施例的另一方面,还提供了一种任务处理方法,包括:将心跳请求发送至调度设备;接收上述调度设备发送的与上述心跳请求对应的确认信号,上述确认信号包含目标任务的任务内容,上述确认信号为上述调度设备获取到上述目标任务后生成的;根据上述任务内容执行上述目标任务。
根据本发明实施例的另一方面,还提供了一种任务处理方法,包括:启动扫描线程;在上述扫描线程中,调用扫描逻辑函数,对待扫描对象进行扫描,获取异常的待扫描对象的数量;若上述数量大于或等于预设阈值,调用异常处理函数对上述待扫描对象进行处理。
根据本发明实施例的另一方面,还提供了一种任务处理装置,包括:获取模块,用于获取目标任务,上述目标任务为需部署至目标设备的任务;生成模块,用于根据上述目标任务,生成对应的确认信号,上述确认信号包含上述目标任务的任务内容;通讯模块,用于在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,其中,由上述目标设备根据上述任务内容执行上述目标任务。
根据本发明实施例的另一方面,还提供了一种任务处理装置,包括:发送模块,用于将心跳请求发送至调度设备;接收模块,用于接收上述调度设备发送的与上述心跳请求对应的确认信号,上述确认信号包含目标任务的任务内容,上述确认信号为上述调度设备获取到上述目标任务后生成的;执行模块,用于根据上述任务内容执行上述目标任务。
根据本发明实施例的另一方面,还提供了一种任务处理装置,包括:启动模块,用于启动扫描线程;扫描模块,用于在上述扫描线程中,调用扫描逻辑函数,对待扫描对象进行扫描,获取异常的待扫描对象的数量;调用模块,用于若上述数量大于或等于预设阈值,调用异常处理函数对上述待扫描对象进行处理。
根据本发明实施例的另一方面,还提供了一种任务处理系统,包括上述的任务处理装置。
根据本发明实施例的另一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行以下功能:获取目标任务,上述目标任务为需部署至目标设备的任务;根据上述目标任务,生成对应的确认信号,上述确认信号包含上述目标任务的任务内容;在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,其中,由上述目标设备根据上述任务内容执行上述目标任务。
根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行以下功能:获取目标任务,上述目标任务为需部署至目标设备的任务;根据上述目标任务,生成对应的确认信号,上述确认信号包含上述目标任务的任务内容;在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,其中,由上述目标设备根据上述任务内容执行上述目标任务。
在本发明实施例中,通过获取目标任务,上述目标任务为需部署至目标设备的任务;根据上述目标任务,生成对应的确认信号,上述确认信号包含上述目标任务的任务内容;在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,其中,由上述目标设备根据上述任务内容执行上述目标任务,达到了提高边缘计算的任务处理速率和边缘运行系统稳定性的目的,从而实现了通过提高边缘计算的任务处理速率,减少设备请求的响应时间的技术效果,进而解决了如何将云端计算逻辑及应用部署到靠近数据源一侧的边缘设备上运行的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种用于实现任务处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本发明实施例的一种任务处理方法的流程图;
图3a是根据本发明实施例的一种可选的状态机的状态转换示意图;
图3b是根据本发明实施例的另一种可选的状态机的状态转换示意图;
图4是根据本发明实施例的一种可选的任务处理方法的流程图;
图5是根据本发明实施例的一种可选的任务处理方法的流程图;
图6是根据本发明实施例的一种可选的任务处理方法的交互示意图;
图7是根据本发明实施例的另一种任务处理方法的流程图;
图8是根据本发明实施例的另一种可选的任务处理方法的流程图;
图9是根据本发明实施例的另一种可选的任务处理方法的流程图;
图10是根据本发明实施例的又一种任务处理方法的流程图;
图11是根据本发明实施例的一种任务处理装置的结构示意图;
图12是根据本发明实施例的一种任务处理装置的结构示意图;以及
图13是根据本发明实施例的一种任务处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
边缘计算:是指一种将云端逻辑调度部署于边缘端运行的技术;在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。
边缘端执行节点:是指一种可以为各种执行引擎提供运行环境的节点,可以部署于边缘网关设备、开源的应用容器(例如,Docker容器)上,其中,引擎驱动支持任意符合标准规范的执行引擎以插件化的方式集成到运行环境中,且多语言描述的执行引擎可通过数据总线进程间通信的方式被管理。
终态:指部署的目标任务处于终止状态。
瞬态:指部署的目标任务处于中间状态,其中,中间状态指目标任务的期望状态与目标任务的实际状态不相同的状态。
扫描器(Scanner):是一类自动检测本地或远程主机安全弱点的程序,可以快速的准确的发现扫描目标存在的漏洞并提供给使用者扫描结果,工作原理是扫描器向目标计算机发送数据包,然后根据对方反馈的信息来判断对方的操作系统类型、开发端口、提供的服务等敏感信息。
实施例1
根据本发明实施例,还提供了一种任务处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现任务处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的任务处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的任务处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Control ler,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
需要说明的是,图1示出的硬件结构框图,不仅可以作为上述计算机终端10(或移动设备)的示例性框图,还可以作为上述服务器的示例性框图,计算机终端10(或移动设备)可以经由数据网络连接或电子连接到一个或多个服务器,例如,云端服务器、安全服务器、资源服务器、游戏服务器等。一种可选实施例中,上述计算机终端10(或移动设备)可以是任意移动计算设备等。数据网络连接可以是局域网连接、广域网连接、因特网连接,或其他类型的数据网络连接。计算机终端10(或移动设备)可以执行以连接到由一个服务器(例如安全服务器)或一组服务器执行的网络服务。网络服务器是基于网络的用户服务,诸如社交网络、云资源、电子邮件、在线支付或其他在线应用。
在本申请所提供的实施例中,通过将数据过滤、格式转换、基本运算、脚本、规则等逻辑单元部署于边缘端网关,不仅可以减少设备请求的响应时间,同时,还可以降低设备和云端之间进行通信的网络成本,以及相应减少了云端的服务压力。
需要说明的是,云端的分布式资源调度设备主要用于统一云端运算资源,为用户提供应用逻辑托管运行能力,其主要功能在于租户资源隔离和资源分配。
但是,由于边缘端运行节点一般由各边缘计算应用者自行提供,租户隔离的问题并不突出。相应的,由于涉及到云端一体化开发的问题,边缘端运行环境相比于云端运行环境恶劣的多,因此,如何保障边缘端运行环境稳定性、数据一致性为当前面临的核心问题。
因此,在云端的运行任务部署至边缘端的运行环境的情况下,需要在边缘端配置自检测机制,以监测边缘端的运行环境是否出现异常情况,并根据具体异常情况进行相应的异常处理;此外,由于上层开发者需要清晰知晓部署任务的生命周期,因此,还需要在边缘端配置一套行之有效的任务状态管理机制,以便于监测部署任务的生命周期和任务状态。
在上述运行环境下,本申请提供了一种如图2所示的任务处理方法。需要说明的是,本申请所提供的任务处理方法可以但不限于在边缘计算场景下运行或执行,本申请通过对边缘端运行环境、部署任务状态、操作信号状态等进行监测和管理,对边缘网关设备的异常进行自检测和补偿,实现了提高边缘端运行环境稳定性、数据一致性的技术效果。
需要说明的是,本申请所提供的任意一种任务处理方法实施例,均可以应用于智能工业、智慧城市、无人超市、智能酒店等新兴物联网领域,以提高边缘计算的任务处理速率,减少设备请求的响应时间。
图2是根据本发明实施例1的一种任务处理方法的流程图,如图2所示,本申请实施例所提供的任务处理方法可以通过如下方法步骤实现:
步骤S202,获取目标任务,上述目标任务为需部署至目标设备的任务。
需要说明的是,本申请实施例的执行主体可以为调度设备,例如,云端的调度设备;该调度设备通过获取需要在边缘部署的目标任务,并根据上述目标任务,生成对应的确认信号,在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,进而由上述目标设备根据上述任务内容执行上述目标任务。
具体的,上述目标任务为可以在目标设备上部署执行的任务,可以但不限于为数据过滤、格式转换、基本运算、脚本、规则、配置、应用等任务;上述目标设备可以为边缘网关设备、基站、云服务器,例如,可以为边缘云服务器;其中,该目标设备上可以部署有用于为各种执行引擎提供运行环境的边缘端执行节点。
作为一种可选的实施例,本申请中可以但不限于通过如下方式,获取上述目标任务:
步骤S2021,接收控制台发送的第一任务,上述第一任务包括调度策略、部署地址及任务内容。
在上述步骤S2021中,上述调度设备可以接收控制台(Console)提交的第一任务,其中,在控制台提交上述第一任务至上述调度设备进行部署时,需要指明上述第一任务中的调度策略、部署地址、任务内容、执行引擎等信息。
步骤S2023,对上述部署地址进行解析,检测上述部署地址所指示的上述目标设备的状态。
在上述步骤S2023中,上述目标设备的状态可以但不限于为目标设备中的执行节点的状态。
在一种可选的实施例中,调度设备通过对上述部署地址进行解析,以及检测目标设备的执行节点的状态,并记录目标设备的任务快照,对任务内容的格式进行检查,以判断上述目标设备的状态是否为正常状态。
步骤S2025,若上述目标设备为正常状态,根据上述任务内容及上述调度策略,生成上述目标任务。
可选的,上述调度策略可以为但不限于以下任意一种调度策略:单点调度、指定调度、全量调度、分布式调度等。
在上述实施例中,若判断结果为上述目标设备为正常状态,则根据上述任务内容及上述调度策略,生成上述目标任务。
步骤S204,根据上述目标任务,生成对应的确认信号,上述确认信号包含上述目标任务的任务内容。
在上述步骤S204中,上述确认信号还包括以下至少之一:任务快照、回复码、消费状态。
可选的,上述调度设备可以通过获取上述目标设备的设备信息;并根据获取到的目标任务及设备信息,生成对应的确认信号。
在一种可选的实施例中,上述确认信号包括回复内容字段,其中,在上述步骤S204中,根据上述目标任务,生成对应的确认信号可以通过如下方法步骤实现:
将上述任务内容添加至上述确认信号的回复内容字段中,得到上述确认信号。
在上述可选的实施例中,上述回复内容字段可以为下表1中的回复内容字段AckContent,通过将上述目标任务的任务内容添加至回复内容字段Ack Content中,进而可以得到上述确认信号。
需要说明的是,若上述回复内容字段Ack Content=10201,则表明调度设备向目标设备提交了一个新的任务,回复内容字段里携带有新的任务信息;若上述回复内容字段Ack Content=10204,则表明调度设备删除了目标设备上指定的任务,回复内容字段AckContent为待删除任务标识。
仍需要说明的是,上述回复内容字段Ack Content的字段取值可以但不限于为上述示例,还可以根据不同的实际情况,选择不同的字段进行表示。其中,作为一种可选的实施例,上述确认信号的数据结构可以但不限于为下表1所示:
表1
属性名称 属性类型 描述信息
运行环境标识runner ID long 调度设备返回码
执行者executor String 返回信息
任务标识Job ID long 任务唯一标识
回复码Ack Code int 回复码
回复内容字段Ack Content String 回复内容信息
作为一种可选的实施例,目标设备在启动时,运行管理器装载各个执行引擎,其中,每一个执行引擎有各自的命名空间,不同语言实现的执行引擎可以通过进程间通信的方式被管理,运行管理器会向数据总线发送广播,各执行引擎进程接收到广播后会向运行管理器地址发起引擎注册请求。
需要说明的是,在调度设备获取上述目标任务之前,上述目标设备可以获取本地的设备信息(例如:CPU、内存大小、磁盘大小、网络链接、软件开发工具包SDK版本号、执行引擎信息、地址信息、同步间隔时间、配置信息等),并将上述设备信息发送至调度设备,进而实现在调度设备侧的注册。
此外,上述调度设备通过存储上述设备信息,完成上述设备信息的持久化,生成与上述目标设备对应的唯一的运行环境标识,并通过回复ACK信息的方式,将与上述目标设备对应的运行环境标识发送至目标设备。
步骤S206,在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,其中,由上述目标设备根据上述任务内容执行上述目标任务。
在一种可选的实施例中,上述心跳请求包括以下至少之一:CPU使用率、内存使用率、磁盘使用率、所有任务执行的状态。
需要说明的是,上述心跳请求可以为目标设备每间隔固定时间(例如,30-40秒,并不局限于此)向调度设备所发送的心跳包,可以用于指示当前目标设备与调度设备之间的连接正常,对于上述心跳请求的包内容,本申请并不具体限定,例如,可以但不限于为仅包含包头的一个空包,可以用于长连接的保活和断线处理即可。
作为一种可选的实施例,若上述目标设备在调度设备上注册成功,则上述目标设备可以在本地启动心跳守护线程,并按照预先配置的心率值的固定频率,向调度设备发送上述心跳请求。
在一种可选的实施例中,在上述步骤S206中,将上述确认信号发送至上述目标设备,可以但不限于通过如下方法步骤实现:
将上述确认信号添加至心跳回复的数据字段中;
将上述添加有上述确认信号的上述心跳回复发送至上述目标设备。
在上述可选的实施例中,在调度设备接收到目标设备发送的心跳请求的情况下,上述调度设备检测本地是否存在对应的确认信号,若存在对应的确认信号,则在本次心跳请求的心跳回复中添加确认信号,并将添加有上述确认信号的上述心跳回复发送至上述目标设备。在一种可选的实施例中,本申请中的调度设备可以将上述任务内容添加至上述确认信号的回复内容字段中,得到上述确认信号,其中,该确认信号的数据结构可以但不限于为上述表1所示,此外,上述确认信号可以但不限于添加至心跳回复的数据data中,其中,该心跳回复的数据结构为下表2所示。
表2
需要说明的是,若调度设备检测本地不存在对应的确认信号,则仅回复接收到上述心跳请求的确认字符至目标设备,以确认接收到了目标设备的心跳请求。
作为另一种可选的实施例,上述调度设备在依据目标任务,生成对应的确认信号之后,除调度设备在接收到目标设备的心跳请求之后,将与上述心跳请求对应的确认信号发送至上述目标设备的拉取模式之外,还可以在生成对应的确认信号之后,主动推送上述确认信号至目标设备,其中,上述确认信号中包含上述目标任务的任务内容。需要说明的是,上述推送模式可能更加适用于一些低性能设备上,可以减少低性能设备的功耗。
另外,本申请实施例中,还可以采用推送模式和拉取模式结合的组合协议方式,发送包含上述任务内容的确认信号至目标设备,进而使得开发者可以根据实际场景进行切换。例如,上述组合协议方式可以但不限于为:在调度设备在生成上述确认信号之后,推送一条消息至目标设备,以通知目标设备到调度设备上拉取携带目标任务的确认信号。
作为一种可选的实施例,上述目标设备在接收到上述确认信号之后,可以对上述确认信号进行解析,得到上述确认信号中包含的目标任务的任务内容,并完成对上述目标任务的部署以及根据上述任务内容执行上述目标任务。
基于上述实施例所限定的方案可以获知,获取目标任务,上述目标任务为需部署至目标设备的任务;根据上述目标任务,生成对应的确认信号,上述确认信号包含上述目标任务的任务内容;在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,其中,由上述目标设备根据上述任务内容执行上述目标任务。
通过本申请上述实施例所提供的方案,达到了提高边缘计算的任务处理速率和边缘运行系统稳定性的目的,从而实现了通过提高边缘计算的任务处理速率,减少设备请求的响应时间的技术效果,进而解决了如何将云端计算逻辑及应用部署到靠近数据源一侧的边缘设备上运行的技术问题。
以下通过一种具体的实现场景,对本申请提供的上述实施例进行解释说明,其中,本申请所提供的调度设备中可以包括但不限于:解析器、部署器、状态机和扫描器等单元模块,其中,上述解析器与上层应用系统连接,接收上层应用系统的逻辑任务批量部署,并接受上述上层应用系统的状态多维度查询。
在一种可选的实施例中,上层应用系统作为控制台可以下发第一任务至调度设备中的解析器,上述第一任务包括:调度策略、部署地址及任务内容;上述解析器通过对上述部署地址进行解析,以检测上述部署地址所指示的上述目标设备的状态;若上述目标设备为正常状态,根据上述任务内容及上述调度策略,生成上述目标任务。
在一种可选的实施例中,上述部署器与上述解析器连接,在接收到上述目标任务之后,部署器可以先对上述目标任务标记双状态,以生成与上述目标状态对应的双状态记录,对上述目标任务进行管理,并存储上述目标任务,构建与上述目标任务对应的ACK信号,以及对目标任务的连接进行授权。
在一种可选的实施例中,上述状态机与上述部署器连接,状态机在接收上述目标设备发送的任务同步请求,根据上述任务同步请求中指示的上述目标任务的执行状态,更新上述双状态记录中的上述实际状态。
在一种可选的实施例中,上述调度设备中部署的状态机可以对目标任务的双状态进行记录和标识,其中,上述状态机用于管理上述目标任务生命周期的状态流转;上述期望状态和实际状态均包括如下至少之一:未运行状态、运行中状态、运行结束状态、运行失败状态、运行挂起状态。
需要说明的是,调度设备在接收到目标设备的任务同步请求之后,可以根据上述任务同步请求中指示的上述目标任务的执行状态,对本地双状态记录中目标任务的实际状态进行更新,并确定目标设备已接收到对应的确认信号,进而将本地的上述确认信号进行删除处理。
在本申请上述可选的实施例中,通过在调度设备中部署解析器、部署器、状态机和扫描器等单元模块,不仅达到了提高边缘计算的任务处理速率和边缘运行系统稳定性的目的,从而实现了通过提高边缘计算的任务处理速率,减少设备请求的响应时间的技术效果,还可以检测目标设备和目标任务是否出现异常情况,并根据具体异常情况进行相应的异常处理,可以有效实现对部署的目标任务的生命周期和任务状态进行监测。
在一种可选的实施例中,为了实现对上述目标任务的执行状态进行检测,在上述步骤S202,即获取目标任务之后,上述方法还包括如下方法步骤:
步骤S203,生成上述目标任务对应的双状态记录。
在上述步骤S203中,调度设备在获取目标任务之后,生成与目标任务对应的双状态记录,上述双状态记录包括期望状态及实际状态,上述期望状态用于指示预测执行上述目标任务的状态,上述实际状态用于指示实际执行上述目标任务的状态。
具体的,可以通过调度设备中的部署器实现目标任务在运行容器中的部署,部署器可以先对上述目标任务标记双状态,以生成与上述目标状态对应的双状态记录。
其中,在上述步骤S206,即将上述确认信号发送至上述目标设备之后,上述方法还包括:
步骤S208,接收上述目标设备发送的任务同步请求;
步骤S210,根据上述任务同步请求中指示的上述目标任务的执行状态,更新上述双状态记录中的上述实际状态。
基于上述步骤S208至步骤S210所提供的方法步骤,目标设备在接收到上述确认信号的情况下,可以解析上述确认信号中携带的目标任务的任务内容,并执行上述目标任务,并将上述目标任务的执行状态以任务同步请求的方式发送至调度设备,以实现调度设备对本地双状态记录中的实际状态进行更新。
在一种可选的实施例中,上述调度设备中部署的状态机可以对目标任务的双状态进行记录和标识,其中,上述状态机用于管理上述目标任务生命周期的状态流转;上述期望状态和实际状态均包括如下至少之一:未运行状态、运行中状态、运行结束状态、运行失败状态、运行挂起状态。
需要说明的是,调度设备在接收到目标设备的任务同步请求之后,可以根据上述任务同步请求中指示的上述目标任务的执行状态,对本地双状态记录中目标任务的实际状态进行更新,并确定目标设备已接收到对应的确认信号,进而将本地的上述确认信号进行删除处理。
仍需要说明的是,上述目标设备与调度设备之间的任务状态同步可以但不限于为以下两种可选方式:主动同步、被动同步。其中:
被动同步,是指当调度设备接收开发者操作生成的操作信号之后,目标设备可以通过发送心跳请求至调度设备,以拉取到目标任务以及目标任务的任务内容,并在执行完成目标任务中的任务内容之后,立即发送任务同步请求至调度设备进行任务状态同步。
主动同步,是指目标设备主动发送任务状态校准请求至调度设备,进行任务状态同步,其中,当上述目标设备重启、断网或异常恢复后,上述目标设备可以采集所有任务的任务状态,生成包含上述所有任务的任务状态的上述任务状态校准请求。
通过上述可选的实施例,本申请通过双状态记录对目标任务的实际状态和目标状态进行标识,以及通过在接收到上述目标设备发送的任务同步请求之后,对上述目标任务的实际状态进行更新,并将本地的上述确认信号进行删除处理,通过双状态标识机制和确认信号消费机制,实现了提高调度设备对目标设备中目标任务处理的稳定性和处理速率。
在一种可选的实施例中,上述调度设备通过双状态记录描述一个目标任务的当前状态,分别为期望状态、实际状态。其中,当上层封装开发者在任意状态下对目标任务做的任意操作,所修改的均为期望状态,并且,上述调度设备可以依据上述期望状态生成操作信号,以控制目标设备依据上述操作信号执行对应的操作,目标设备在执行对应的操作之后,可以通过发送任务同步请求的方式将上述目标任务的执行状态发送至调度设备。
图3a是根据本发明实施例的一种可选的状态机的状态转换示意图,如图3a所示,其中,上述上层封装开发者可以但不限于感知以下状态:未部署状态、部署中状态、部署失败状态、部署成功状态、重置中状态、重置失败状态,其中,未部署状态也即为重置成功状态。其中,允许开发者在任意一种状态时操作部署、重置操作。
在一种可选的实施例中,上述调度设备中部署的状态机可以对目标任务的双状态进行记录和标识,其中,上述状态机用于管理上述目标任务生命周期的状态流转;上述期望状态和实际状态均包括如下至少之一:未运行状态、运行中状态、运行结束状态、运行失败状态、运行挂起状态。
其中,上述图3a中存在连接关系的状态之间的转换关系可以为以下上述:未部署状态可以通过提交部署,转换至部署中状态;部署中状态可以通过部署异常转换至部署失败状态;部署失败状态可以通过重试转换至部署中状态;部署中状态可以在部署正常的情况下,转换至部署成功状态;部署成功状态可以通过重新部署进入部署中状态;部署成功状态可以通过重置操作进入重置中状态;重置中状态可以在重置成功的情况下,进入未部署状态,若在重置异常的情况下,则由重置中状态转至重置失败状态;在重置失败状态之后,还可以通过重试进入重置中状态,再次进行重置处理。
其中,上述上层封装开发者可以感知的各个状态,以及期望状态和实际状态中包括的状态的部分状态映射表可以为以下表3所示,在表3中,任务对应的双状态记录用(期望状态,实际状态)的格式表示为:
表3
状态描述 状态作用域 状态码
部署失败状态 状态转换为(2,4) 31
部署成功状态(运行中状态) 目标设备,状态转换为(2,2) 2
部署中状态 状态转换为(2,1) 11
停止失败状态 状态转换为(0,4) 32
停止中状态 状态转换为(0,2) 12
未部署状态(不存在状态) 目标设备,状态转换为(0,0) 0
未运行状态 调度设备和目标设备内部 1
运行结束状态 可配置 3
运行失败状态 调度设备和目标设备内部 4
挂起状态 可配置 5
图3b是根据本发明实施例的另一种可选的状态机的状态转换示意图,如图3b所示,任务的初始状态为(0,0),结合表1可知,即期望状态为未部署,实际状态为未部署。在提交部署的情况下,任务对应的状态转换为(2,1),即期望状态为部署成功,实际状态为未运行;在部署异常或异常状态转换的情况下,任务对应的状态转换为(2,4);相应地,在重试时可以从(2,4)直接切换至(2,1)。在部署成功的情况下,任务对应的状态转换为(2,2);若需要重新部署任务,任务对应的状态切换至(2,1);在撤回操作的情况下,任务对应的状态从(2,1)切换至(0,2);在任务出现异常的情况下,任务对应的状态转换为(0,4);上述任务对应的状态为(2,4)时,在删除异常的情况下,任务对应的状态转换为(0,4);上述任务对应的状态为(0,4)时,在重试的情况下,任务对应的状态转换为(0,2);上述任务对应的状态为(0,2)时,在撤回成功的情况下,任务对应的状态转换为(0,0);上述任务对应的状态为(0,4)时,在删除异常的情况下,任务对应的状态转换为(0,0)。
其中,需要说明的是,关于本申请未具体解释的上述各个状态作用域的描述,可以参考上述表1中状态作用域与状态描述的具体映射关系。
需要说明的是,上述目标任务的状态描述需要依托于运行环境的同步,而边缘计算场景下的网络阻塞、运行环境不可靠问题,容易导致一个目标任务已经部署于目标设备,但边缘端运行环境却并未响应任何信息。在此种情况下,无法明确该目标任务是在任务下发环节,是在运行环境的任务执行环节,还是在任务状态的回复环节出现的问题。
仍需说明的是,通过本申请中提供的双状态标识机制,上述调度设备可以对所部署的目标任务在任何时刻进行状态描述,对于目标设备不对目标任务的执行状态进行回复处理的情况,调度设备可以将目标任务的执行状态在瞬态和终态之间进行转换,不会出现目标任务的执行状态卡死在瞬态的情况。
在一种可选的实施例中,上述生成上述目标任务对应的双状态记录之后,上述方法还包括如下方法步骤:
通过扫描上述双状态记录,判断上述目标任务是否异常。
可选的,本申请中还可以通过调度设备中的扫描器扫描上述双状态记录,判断上述目标任务是否异常。
需要说明的是,在大量目标设备需要监控的情况下,可以对上述扫描器进行分组,通过一组异步的扫描器线程对调度设备管理的待扫描的目标对象进行扫描。
在一种实施例中,在目标设备在调度设备中注册成功之后,云端的调度设备可以将该目标设备注册到扫描器线程,扫描器可以监测各个目标设备和目标任务。
其中,上述扫描器包括但不限于扫描线程组、待扫描对象集合、扫描逻辑函数、异常处理函数等。扫描一个待扫描的目标对象可以存在两个基本过程,分别为进入管理器、退出管理器,其中,上述退出管理器可以检测到待扫描对象正常退出与异常退出两种情况,当异常退出时,可以触发扫描器中的执行异常处理函数。
在一种可选的实施例中,上述通过扫描上述双状态记录,判断上述目标任务是否异常可以通过如下方法步骤实现:
步骤S302,检测上述期望状态与上述实际状态是否相同;若在预设时间段内上述期望状态与上述实际状态均不相同,触发异常处理机制;或者,
步骤S304,检测上述实际状态是否指示状态异常;若上述实际状态指示状态异常,触发异常处理机制。
在上述步骤S302至步骤S304中,上述状态异常可以包括但不限于:宕机、断网等异常情况,其中,在实际状态已声明任务异常为终态,其他情况为瞬态,实际状态指示状态为终态的情况下,或在上述期望状态与上述实际状态不完全一致,例如,在预设时间段内上述期望状态与上述实际状态均不相同,则确定上述目标任务异常,触发异常处理机制。
基于上述可选的实施例,通过检测目标设备和目标任务是否出现异常情况,并根据具体异常情况进行相应的异常处理,可以有效实现对部署的目标任务的生命周期和任务状态进行监测。
需要说明的是,在实际状态与期望状态一致的情况下,或实际状态已声明任务异常为终态,其他情况为瞬态的情况下,对于处于瞬态的目标任务执行对应的操作,例如,调度设备可以将处于瞬态的目标任务丢弃或放入等待队列中。
此外,本申请中的调度设备可以对处于瞬态的目标任务进行多次检查,当检测到该目标任务对应的目标设备处于正常情况下,但目标任务的实际状态在预定时间内一直处于瞬态时,则可以触发异常处理机制,例如,可以将该目标任务的实际状态强制转化为失败,并生成变更信号同步至目标设备。
在一种可选的实施例中,在扫描器检测到目标设备失联的情况下,调度设备可以检测上述目标设备中当前运行的目标任务,并生成对应的任务快照,并将上述任务快照记录到确认信号中。
在另一种可选的实施例中,在目标设备恢复与调度设备的链接的情况下,调度设备可以将上述确认信号同步至目标设备的运行容器中,从而恢复发生故障之前目标设备中执行的目标任务。在当前调度的目标任务量较多时,调度设备可以但不限于分批次回复目标设备发送的心跳请求。
作为一种可选的实施方式,本申请所提供的上述扫描器可以检测任务维护的双状态中实际状态与期望状态是否一致,若在预设时间段内上述期望状态与上述实际状态均不相同,例如,在预设时间段内持续中间状态(即,上述期望状态与上述实际状态不相同),则触发异常处理机制;或者,上述实际状态指示状态异常,则触发异常处理机制。
作为另一种可选的实施方式,本申请所提供的上述扫描器还可以检测调度设备回复的确认字符的状态(例如,当上述确认字符的状态值为1,可以用于表示存在确认信号,当上述确认字符的状态值为2,可以表示已将上述确认信号同步至目标设备)。
其中,若上述扫描器检测到确认信号已作为心跳请求的回复发送至目标设备,但目标设备一直没有同步接收到上述确认信号之后的目标任务的执行状态,则调度设备可以启动ACK异常处理流程,并标记当前的确认信号,以在目标设备下次发送心跳请求时,再次尝试将确认信号下发至目标设备,如果上述目标设备多次未响应上述调度设备,则标记该目标设备为状态异常。
此外,本申请还提供了另一种可选的实施例,在每隔N次或异常恢复之后,目标设备可以扫描当前节点内所有目标任务的执行状态,并在下次发送至调度设备的心跳请求中追加任务状态集,也即,发送任务同步请求至调度设备。
在一种可选的实施例中,图4是根据本发明实施例的一种可选的任务处理方法的流程图,如图4所示,上述获取目标任务之前,上述方法还包括如下方法步骤:
步骤S402,接收上述目标设备发送的设备信息。
步骤S404,存储上述设备信息,并生成上述目标设备对应的运行环境标识。
步骤S406,将上述运行环境标识发送至上述目标设备。
在一种可选的实施例中,上述设备信息包括以下至少之一:CPU、内存大小、磁盘大小、网络链接、SDK版本号、执行引擎信息、地址信息、同步间隔时间、配置信息。
基于上述可选的实施例,在调度设备获取上述目标任务之前,上述目标设备可以获取设备信息,并将上述设备信息发送至调度设备,进而实现目标设备到调度设备的注册。
并且,上述调度设备可以通过存储上述设备信息,完成目标设备信息的持久化,生成与上述目标设备对应的唯一的运行环境标识,并通过回复ACK信息的方式,将与上述目标设备对应的运行环境标识发送至目标设备。
在一种可选的实施例中,在上述步骤S406,即将上述运行环境标识发送至上述目标设备之后,上述方法还包括如下方法步骤:
步骤S408,通过监测上述目标设备发送的心跳请求,判断上述目标设备是否异常。
基于本申请的一种可选实施例,在目标设备在调度设备中注册成功之后,云端的调度设备可以将该目标设备注册到扫描器线程,扫描器可以监测各个目标设备,例如,可以但不限于通过监测心跳的异常来判断目标设备的异常。
在一种可选的实施例中,图5是根据本发明实施例的一种可选的任务处理方法的流程图,如图5所示,上述步骤S408,即通过监测上述目标设备发送的心跳请求,判断上述目标设备是否异常包括:
步骤S502,在超过预设时长未接收到上述心跳请求的情况下,确定上述目标设备失去连接。
其中,在上述步骤S502中,若调度设备超过预设时长仍未接收到目标设备发送的心跳请求的,则确定上述调度设备与上述目标设备之间失去连接,即确定上述目标设备存在异常。
步骤S504,从预设的对应关系表中,获取上述目标设备当前运行的任务;
步骤S506,将当前运行的任务的描述信息存储至确认信号中;
步骤S508,在接收到上述目标设备发送的上述心跳请求的情况下,将存储有上述描述信息的确认信号发送至上述目标设备。
基于上述步骤S504至步骤S508所提供的可选实施例,在确定上述目标设备存在异常之后,为实现对目标设备的异常进行检测和调用异常处理函数对上述待扫描对象进行处理调度设备可以在预先存储的对应关系表(例如,可以为调度设备的运行环境标识与调度设备中运行的任务所对应关系的缓存表)中,依据上述运行环境标识获取上述目标设备当前运行的任务,并将当前运行的任务的描述信息存储至确认信号中,进而,则可以在调度设备接收到上述目标设备发送的上述心跳请求的情况下,将存储有上述描述信息的确认信号发送至上述目标设备。
在一种可选的实施例中,本申请所提供的任务处理方法还包括如下实施步骤:
步骤S602,接收上述目标设备发送的任务状态校准请求,其中,当上述目标设备重启、断网或异常恢复后,采集所有任务的任务状态,生成包含上述所有任务的任务状态的上述任务状态校准请求;
步骤S604,根据上述任务状态校准请求进行状态校准。
基于上述可选的实施例,在目标设备重启、断网或异常恢复之后,上述目标设备可以采集上述运行环境下所有的任务状态,生成包含上述所有任务的任务状态的上述任务状态校准请求,并通过主动同步接口发送上述状态校准请求至调度设备,以便上述调度设备根据上述任务状态校准请求进行状态校准。
需要说明的是,上述状态校准的方法可以为采用所有目标任务的任务状态更新预先维护的状态记录,也可以为将所有目标任务的任务状态与预先维护的状态记录进行比对,本申请对状态校准的实现方法并不具体限定,其中,若比对结果为状态不同,则对应返回状态校准信息至目标设备。
以下通过一个具体的实施方式,对本申请上述实施例中的任务处理方法进行解释说明,图6是根据本发明实施例的一种可选的任务处理方法的交互示意图,如图6所示,一种可选的任务处理方法可以但不限于通过以下交互方式实现:
步骤S001,控制台获取租户信息。
具体的,在上述步骤S001中,可以但不限于为上层开发者(例如,注册开发者等)基于预先认证的账户信息获取上述租户信息。
步骤S002,目标设备在调度设备上进行注册。
具体的,上述目标设备在调度设备上注册的过程中,可以但不限于发送设备信息至上述调度设备,其中,上述设备信息可以包括以下至少之一:CPU、内存大小、磁盘大小、网络链接、SDK版本号、执行引擎信息、地址信息、同步间隔时间、配置信息。
需要说明的是,在调度设备获取上述目标任务之前,上述目标设备可以获取本地的设备信息(例如:CPU、内存大小、磁盘大小、网络链接、软件开发工具包SDK版本号、执行引擎信息、地址信息、同步间隔时间、配置信息等),并将上述设备信息发送至调度设备,进而实现在调度设备侧的注册。
需要说明的是,上述调度设备在接收到上述设备信息之后,上述调度设备可以通过存储上述设备信息,完成目标设备信息的持久化,生成与上述目标设备对应的唯一的运行环境标识,并通过回复ACK信息的方式,将与上述目标设备对应的运行环境标识发送至目标设备。
在上述实施例中,上述调度设备还可以初始化扫描线程,通过扫描上述双状态记录,判断上述目标任务是否异常。
步骤S003,调度设备接收控制台发送的第一任务。
在上述步骤S003中,上述调度设备可以接收控制台提交的第一任务,其中,在控制台提交上述第一任务至上述调度设备进行部署时,需要指明上述第一任务中的调度策略、部署地址、任务内容、执行引擎等信息。
步骤S004,调度设备对上述部署地址进行解析,检测上述部署地址所指示的上述目标设备的状态。
在上述步骤S004中,上述目标设备的状态可以但不限于为目标设备中的执行节点的状态,并且,在上述目标设备为正常状态的情况下,执行步骤S005。
在一种可选的实施例中,调度设备通过对上述部署地址进行解析,以及检测目标设备的执行节点的状态,并记录目标设备的任务快照,对任务内容的格式进行检查,以判断上述目标设备的状态是否为正常状态。
步骤S005,调度设备根据上述任务内容及上述调度策略,生成上述目标任务。
可选的,上述调度策略可以为但不限于以下任意一种调度策略:单点调度、指定调度、全量调度、分布式调度等。
在上述实施例中,若判断结果为上述目标设备为正常状态,则根据上述任务内容及上述调度策略,生成上述目标任务。
步骤S006,调度设备获取目标任务,上述目标任务为需部署至目标设备的任务。
可选的,本申请实施例中的调度设备可以为云端的调度设备;该调度设备通过获取需要在边缘部署的目标任务,并根据上述目标任务,生成对应的确认信号,在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,进而由上述目标设备根据上述任务内容执行上述目标任务。
具体的,上述目标任务为可以在目标设备上部署执行的任务,可以但不限于为数据过滤、格式转换、基本运算、脚本、规则、配置、应用等任务;上述目标设备可以为边缘网关设备、基站,例如,可以为边缘云服务器;其中,该目标设备上可以部署有用于为各种执行引擎提供运行环境的边缘端执行节点。
步骤S007,调度设备根据上述目标任务,生成对应的确认信号。
在上述步骤S007中,上述确认信号包含上述目标任务的任务内容,上述确认信号还包括以下至少之一:任务快照、回复码、消费状态。
可选的,上述调度设备可以通过获取上述目标设备的设备信息;并根据获取到的目标任务及设备信息,生成对应的确认信号。
在一种可选的实施例中,上述确认信号包括回复内容字段,其中,调度设备可以通过如下方式根据上述目标任务,生成对应的确认信号:
将上述任务内容添加至上述确认信号的回复内容字段中,得到上述确认信号。
在上述可选的实施例中,上述回复内容字段可以为表1中的回复内容字段AckContent,通过将上述目标任务的任务内容添加至回复内容字段Ack Content中,进而可以得到上述确认信号。
作为一种可选的实施例,目标设备在启动时,运行管理器装载各个执行引擎,其中,每一个执行引擎有各自的命名空间,不同语言实现的执行引擎可以通过进程间通信的方式被管理,运行管理器会向数据总线发送广播,各执行引擎进程接收到广播后会向运行管理器地址发起引擎注册请求。
步骤S008,调度设备将上述确认信号发送至上述目标设备。
其中,在接收到目标设备的心跳请求的情况下,调度设备将上述确认信号发送至上述目标设备。
上述步骤S008中,由上述目标设备根据上述任务内容执行上述目标任务。
在一种可选的实施例中,上述心跳请求包括以下至少之一:CPU使用率、内存使用率、磁盘使用率、所有任务执行的状态。
作为一种可选的实施例,若上述目标设备在调度设备上注册成功,则上述目标设备可以在本地启动心跳守护线程,并按照预先配置的心率值的固定频率,向调度设备发送上述心跳请求。
在一种可选的实施例中,本申请中,上述调度设备可以但不限于通过如下方法步骤,实现将上述确认信号发送至上述目标设备:
将上述确认信号添加至心跳回复的数据字段中;
将上述添加有上述确认信号的上述心跳回复发送至上述目标设备。
在上述可选的实施例中,在调度设备接收到目标设备发送的心跳请求的情况下,上述调度设备检测本地是否存在对应的确认信号,若存在对应的确认信号,则在本次心跳请求的心跳回复中添加确认信号,并将添加有上述确认信号的上述心跳回复发送至上述目标设备。
其中,本申请中的调度设备可以将上述任务内容添加至上述确认信号的回复内容字段中,得到上述确认信号,该确认信号的数据结构可以但不限于为上表1所示,此外,上述确认信号可以但不限于添加至心跳回复的数据data中,其中,该心跳回复的数据结构为上表2所示。需要说明的是,若调度设备检测本地不存在对应的确认信号,则仅回复接收到上述心跳请求的确认字符至目标设备,以确认接收到了目标设备的心跳请求。
作为另一种可选的实施例,上述调度设备在依据目标任务,生成对应的确认信号之后,除调度设备在接收到目标设备的心跳请求之后,将与上述心跳请求对应的确认信号发送至上述目标设备的拉取模式之外,还可以在生成对应的确认信号之后,主动推送上述确认信号至目标设备,其中,上述确认信号中包含上述目标任务的任务内容。需要说明的是,上述推送模式可能更加适用于一些低性能设备上,可以减少低性能设备的功耗。
另外,本申请实施例中,还可以采用推送模式和拉取模式结合的组合协议方式,发送包含上述任务内容的确认信号至目标设备,进而使得开发者可以根据实际场景进行切换。例如,上述组合协议方式可以但不限于为:在调度设备在生成上述确认信号之后,推送一条消息至目标设备,以通知目标设备到调度设备上拉取携带目标任务的确认信号。
步骤S009,上述目标设备依据上述确认信号处理执行上述目标任务。
作为一种可选的实施例,上述目标设备在接收到上述确认信号之后,可以对上述确认信号进行解析,得到上述确认信号中包含的目标任务的任务内容,并完成对上述目标任务的部署以及根据上述任务内容执行上述目标任务。
步骤S010,上述调度设备接收上述目标设备发送的任务同步请求。
步骤S011,调度设备根据上述任务同步请求中指示的上述目标任务的执行状态,更新上述双状态记录中的上述实际状态。
基于上述步骤S010至步骤S011所提供的方法步骤,目标设备在接收到上述确认信号的情况下,可以解析上述确认信号中携带的目标任务的任务内容,并执行上述目标任务,并将上述目标任务的执行状态以任务同步请求的方式发送至调度设备,以实现调度设备对本地双状态记录中的实际状态进行更新。
在一种可选的实施例中,上述调度设备中部署的状态机可以对目标任务的双状态进行记录和标识,其中,上述状态机用于管理上述目标任务生命周期的状态流转;上述期望状态和实际状态均包括如下至少之一:未运行状态、运行中状态、运行结束状态、运行失败状态、运行挂起状态。
需要说明的是,调度设备在接收到目标设备的任务同步请求之后,可以根据上述任务同步请求中指示的上述目标任务的执行状态,对本地双状态记录中目标任务的实际状态进行更新,并确定目标设备已接收到对应的确认信号,进而将本地的上述确认信号进行删除处理。
步骤S012,调度设备发送状态同步确认信号至目标设备;
步骤S013,调度设备通过扫描上述双状态记录,判断上述目标任务是否异常。
在上述步骤S013中,上述生成上述目标任务对应的双状态记录之后,本申请实施例还可以通过扫描上述双状态记录,判断上述目标任务是否异常。
在一种可选的实施例中,上述通过扫描上述双状态记录,判断上述目标任务是否异常可以通过如下方法步骤实现:
检测上述期望状态与上述实际状态是否相同;若在预设时间段内上述期望状态与上述实际状态均不相同,触发异常处理机制;或者,
检测上述实际状态是否指示状态异常;若上述实际状态指示状态异常,触发异常处理机制。
在上述可选的实施例中,上述状态异常可以包括但不限于:宕机、断网等异常情况,其中,在实际状态已声明任务异常为终态,其他情况为瞬态,实际状态指示状态为终态的情况下,或在上述期望状态与上述实际状态不完全一致,例如,在预设时间段内上述期望状态与上述实际状态均不相同,则确定上述目标任务异常,触发异常处理机制。
基于上述可选的实施例,通过检测目标设备和目标任务是否出现异常情况,并根据具体异常情况进行相应的异常处理,可以有效实现对部署的目标任务的生命周期和任务状态进行监测。
需要说明的是,在实际状态与期望状态一致的情况下,或实际状态已声明任务异常为终态,其他情况为瞬态的情况下,对于处于瞬态的目标任务执行对应的操作,例如,调度设备可以将处于瞬态的目标任务丢弃或放入等待队列中。
此外,本申请中的调度设备可以对处于瞬态的目标任务进行多次检查,当检测到该目标任务对应的目标设备处于正常情况下,但目标任务的实际状态在预定时间内一直处于瞬态时,则可以触发异常处理机制,例如,可以将该目标任务的实际状态强制转化为失败,并生成变更信号同步至目标设备。
在一种可选的实施例中,在扫描器检测到目标设备失联的情况下,调度设备可以检测上述目标设备中当前运行的目标任务,并生成对应的任务快照,并将上述任务快照记录到确认信号中。
在另一种可选的实施例中,在目标设备恢复与调度设备的链接的情况下,调度设备可以将上述确认信号同步至目标设备的运行容器中,从而恢复发生故障之前目标设备中执行的目标任务。在当前调度的目标任务量较多时,调度设备可以但不限于分批次回复目标设备发送的心跳请求。
步骤S014,调度设备发送任务部署完成的确认信息至控制台。
实施例2
在与上述实施例1相同或相似的运行环境下,本申请提供了另一种如图7所示的任务处理方法。需要说明的是,本申请所提供的任务处理方法可以但不限于在边缘计算场景下运行或执行,本申请通过对边缘端运行环境、部署任务状态、操作信号状态等进行监测和管理,对边缘网关设备的异常进行自检测和补偿,实现了提高边缘端运行环境稳定性、数据一致性的技术效果。
需要说明的是,本申请所提供的任意一种任务处理方法实施例,均可以应用于智能工业、智慧城市、无人超市、智能酒店等新兴物联网领域,以提高边缘计算的任务处理速率,减少设备请求的响应时间。
图7是根据本发明实施例的另一种任务处理方法的流程图,如图7所示,本申请实施例所提供的任务处理方法可以通过如下方法步骤实现:
步骤S702,将心跳请求发送至调度设备。
需要说明的是,本申请实施例的执行主体可以为目标设备,例如,边缘网关设备、基站,例如,可以为边缘云服务器,上述调度设备可以为云端的调度设备;其中,该目标设备上可以部署有用于为各种执行引擎提供运行环境的执行节点。
在一种可选的实施例中,上述心跳请求包括以下至少之一:CPU使用率、内存使用率、磁盘使用率、所有任务执行的状态。
需要说明的是,上述心跳请求可以为目标设备每间隔固定时间(例如,30-40秒,并不局限于此)向调度设备所发送的心跳包,可以用于指示当前目标设备与调度设备之间的连接正常,对于上述心跳请求的包内容本申请并不具体限定,例如,可以但不限于为仅包含包头的一个空包,可以用于长连接的保活和断线处理即可。
作为一种可选的实施例,若上述目标设备在调度设备上注册成功,则上述目标设备可以在本地启动心跳守护线程,并按照预先配置的心率值的固定频率,向调度设备发送上述心跳请求。
步骤S704,接收上述调度设备发送的与上述心跳请求对应的确认信号,上述确认信号包含目标任务的任务内容,上述确认信号为上述调度设备获取到上述目标任务后生成的。
可选的,上述目标任务为可以在目标设备上部署执行的任务,可以但不限于为脚本、规则、配置、应用、数据过滤、格式转换、基本运算等任务。
在上述可选的实施例中,上述调度设备通过获取需在边缘端部署的目标任务,并根据上述目标任务,生成对应的确认信号,在接收到目标设备的心跳请求的情况下,发送与上述心跳请求对应的确认信号至目标设备,进而由上述目标设备根据上述任务内容执行上述目标任务。
其中,上述调度设备可以通过获取上述目标设备的设备信息;并根据获取到的目标任务及设备信息,生成对应的确认信号。
在一种可选的实施例中,上述确认信号包括回复内容字段,其中,上述根据上述目标任务,生成对应的确认信号包括:
将上述任务内容添加至上述确认信号的回复内容字段中,得到上述确认信号。
在一种可选的实施例中,上述将上述确认信号发送至上述目标设备,可以但不限于通过如下方法步骤实现:
将上述确认信号添加至心跳回复的数据字段中;
将上述添加有上述确认信号的上述心跳回复发送至上述目标设备。
在上述可选的实施例中,在调度设备接收到目标设备发送的心跳请求的情况下,上述调度设备检测本地是否存在对应的确认信号,若存在对应的确认信号,则在本次心跳请求的心跳回复中添加确认信号,并将添加有上述确认信号的上述心跳回复发送至上述目标设备。作为一种可选的实施例,若调度设备检测本地不存在对应的确认信号,则仅回复接收到上述心跳请求的确认字符至目标设备。
作为另一种可选的实施例,上述调度设备在依据目标任务,生成对应的确认信号之后,除调度设备在接收到目标设备的心跳请求之后,将与上述心跳请求对应的确认信号发送至上述目标设备的拉取模式之外,还可以在生成对应的确认信号之后,主动推送上述确认信号至目标设备,其中,上述确认信号中包含上述目标任务的任务内容。需要说明的是,上述推送模式可能更加适用于一些低性能设备上,可以减少低性能设备的功耗。
另外,本申请实施例中,还可以采用推送模式和拉取模式结合的组合协议方式,发送包含上述任务内容的确认信号至目标设备,进而使得开发者可以根据实际场景进行切换。例如,上述组合协议方式可以但不限于为:在调度设备在生成上述确认信号之后,推送一条消息至目标设备,以通知目标设备到调度设备上拉取携带目标任务的确认信号。
步骤S706,根据上述任务内容执行上述目标任务。
在一种可选的实施例中,上述目标设备在接收到上述确认信号之后,可以对上述确认信号进行解析,得到上述确认信号中包含的目标任务的任务内容,并完成对上述目标任务的部署以及根据上述任务内容执行上述目标任务。
在一种可选的实施例中,上述根据上述任务内容执行上述目标任务之后,上述方法还包括:
将任务同步请求发送至上述调度设备,上述任务同步请求用于指示上述目标任务的执行状态,以便上述调度设备根据上述任务同步请求中指示的上述目标任务的执行状态,更新上述目标任务对应的双状态记录中的实际状态;
其中,上述双状态记录包括期望状态及实际状态,上述期望状态用于指示预测执行上述目标任务的状态,上述实际状态用于指示实际执行上述目标任务的状态。
基于上述实施例所限定的方案可以获知,通过将心跳请求发送至调度设备;接收上述调度设备发送的与上述心跳请求对应的确认信号,上述确认信号包含目标任务的任务内容,上述确认信号为上述调度设备获取到上述目标任务后生成的;根据上述任务内容执行上述目标任务。
通过本申请上述实施例所提供的方案,达到了提高边缘计算的任务处理速率和边缘运行系统稳定性的目的,从而实现了通过提高边缘计算的任务处理速率,减少设备请求的响应时间的技术效果,进而解决了如何将云端计算逻辑及应用部署到靠近数据源一侧的边缘设备上运行的技术问题。
在一种可选的实施例中,图8是根据本发明实施例的另一种可选的任务处理方法的流程图,如图8所示,在上述步骤S702,即在将心跳请求发送至调度设备之前,上述方法还包括如下方法步骤:
步骤S802,采集设备信息;
步骤S804,将上述设备信息发送至上述调度设备,以便上述调度设备存储上述设备信息,并生成对应的运行环境标识;
步骤S806,接收上述调度设备发送的运行环境标识。
在一种可选的实施例中,上述设备信息包括以下至少之一:CPU、内存大小、磁盘大小、网络链接、SDK版本号、执行引擎信息、地址信息、同步间隔时间、配置信息。
本申请中,作为一种可选的实施例,在调度设备获取上述目标任务之前,上述目标设备可以获取本地的设备信息(例如:CPU、内存大小、磁盘大小、网络链接、软件开发工具包SDK版本号、执行引擎信息、地址信息、同步间隔时间、配置信息等),并将上述设备信息发送至调度设备,进而实现在调度设备侧的注册,以便上述调度设备存储上述设备信息,并生成对应的运行环境标识。
此外,上述调度设备通过存储上述设备信息,完成上述设备信息的持久化,生成与上述目标设备对应的唯一的运行环境标识,并通过回复ACK信息的方式,将与上述目标设备对应的运行环境标识发送至目标设备。
在一种可选的实施例中,在上述步骤S806,即在接收上述调度设备发送的运行环境标识之后,上述方法还包括:
按照预先配置的频率,向上述调度设备发送心跳请求。
其中,上述心跳请求包含以下至少之一:CPU使用率、内存使用率、磁盘使用率。
作为一种可选的实施例,若上述目标设备在调度设备上注册成功,则上述目标设备可以在本地启动心跳守护线程,并按照预先配置的心率值的固定频率,向调度设备发送上述心跳请求。
在一种可选的实施例中,图9是根据本发明实施例的另一种可选的任务处理方法的流程图,如图9所示,本申请所提供的任务处理方法中,还包括如下实施步骤:
步骤S902,当重启、断网或异常恢复后,采集所有任务的任务状态,生成包含上述所有任务的任务状态的任务状态校准请求;
步骤S904,将上述任务状态校准请求发送至上述调度设备,以便上述调度设备根据上述任务状态校准请求进行状态校准。
基于上述步骤S902至步骤S904所提供的可选实施例,在目标设备重启、断网或异常恢复之后,上述目标设备可以采集上述运行环境下所有的任务状态,生成包含上述所有任务的任务状态的上述任务状态校准请求,并通过主动同步接口发送上述状态校准请求至调度设备,以便上述调度设备根据上述任务状态校准请求进行状态校准。
需要说明的是,上述状态校准的方法可以为采用所有目标任务的任务状态更新预先维护的状态记录,也可以为将所有目标任务的任务状态与预先维护的状态记录进行比对,本申请对状态校准的实现方法并不具体限定,其中,若比对结果为状态不同,则对应返回状态校准信息至目标设备。
此外,仍需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例3
在与上述实施例1相同或相似的运行环境下,本申请提供了如图10所示的任务处理方法。需要说明的是,本申请所提供的任务处理方法可以但不限于在边缘计算场景下运行或执行,本申请通过对边缘端运行环境、部署任务状态、操作信号状态等进行监测和管理,对边缘网关设备的异常进行自检测和补偿,实现了提高边缘端运行环境稳定性、数据一致性的技术效果。
需要说明的是,本申请所提供的任意一种任务处理方法实施例,均可以应用于智能工业、智慧城市、无人超市、智能酒店等新兴物联网领域,以提高边缘计算的任务处理速率,减少设备请求的响应时间。
图10是根据本发明实施例的又一种任务处理方法的流程图,如图10所示,本申请实施例所提供的任务处理方法可以通过如下方法步骤实现:
步骤S1002,启动扫描线程。
需要说明的是,本申请实施例的执行主体可以为调度设备,为防止出现同一管理器启动多个扫描线程的问题,可以通过调度设备中的扫描器对管理器启动的各个扫描线程进行扫描,其中,在启动扫描线程之前,本申请实施例中还可以检测当前机器线程的运行情况。
步骤S1004,在上述扫描线程中,调用扫描逻辑函数,对待扫描对象进行扫描,获取异常的待扫描对象的数量。
在一种可选的实施例中,上述待扫描对象包括目标设备、目标任务。
需要说明的是,在大量目标设备需要监控的情况下,可以对上述扫描器进行分组,通过调用扫描逻辑函数,采用一组异步的扫描器线程对调度设备管理的待扫描的目标对象进行扫描。
作为一种可选的实施例,在调度设备启动时,可以根据缓存的对应关系表,通过调度设备中的扫描器对管理器启动的各个扫描线程进行扫描,并且,在启动扫描线程前可以检测当前机器线程的运行情况,以防止出现同一管理器启动多个扫描线程的现象。另外,如果缓存的对应关系表丢失,则可以通过在注册监控平台流程中启动扫描线程。
在本申请实施例中,可以由一个扫描线程管理一组待扫描对象,每隔一定的时间后对待扫描对象集合执行扫描逻辑函数,如果确定当前的待扫描对象存在异常,则调度设备对异常的待扫描对象进行计数,计数的数值可以表征异常的待扫描对象的数量。其中,待扫描对象正常则计数为-1,待扫描对象异常则计数为1,计数的最低值为0。
需要说明的是,在本申请提供的实施例中,上述扫描线程可以但不限于以间隔时间为后缀进行命名,以保障每组扫描的间隔时间不同。
步骤S1006,若上述数量大于或等于预设阈值,调用异常处理函数对上述待扫描对象进行处理。
在本申请中,通过对异常的待扫描对象的进行计数,得到异常的待扫描对象的数量,并将该异常的待扫描对象的数量与预设的阈值进行比较,若上述数量大于或等于预设阈值,调用异常处理函数对上述待扫描对象进行处理;若上述数量小于上述预设阈值,则不进行处理。
此外,在一种可选的实施例中,在目标设备在调度设备中注册成功之后,云端的调度设备可以将该目标设备注册到扫描器线程,扫描器可以监测各个目标设备和目标任务。
其中,上述扫描器包括但不限于扫描线程组、待扫描对象集合、扫描逻辑函数、异常处理函数等。扫描一个待扫描的目标对象可以但不限于包括两个基本过程,分别为进入管理器、退出管理器。
其中,上述进入管理器,一个待扫描对象可以根据一定规则被分配到一个进入管理器下,分配规则可以根据具体情况而不同,本申请并不具体限定。
其中,上述退出管理器可以检测到待扫描对象正常退出与异常退出两种情况,当异常退出时,可以触发扫描器中的执行异常处理函数。
基于上述实施例所限定的方案可以获知,通过启动扫描线程;在上述扫描线程中,调用扫描逻辑函数,对待扫描对象进行扫描,获取异常的待扫描对象的数量;若上述数量大于或等于预设阈值,调用异常处理函数对上述待扫描对象进行处理。
可以明确的是,通过检测目标设备和目标任务是否出现异常情况,并根据具体异常情况进行相应的异常处理,可以有效实现对部署的目标任务的生命周期和任务状态进行监测。
通过本申请上述实施例所提供的方案,达到了提高边缘计算的任务处理速率和边缘运行系统稳定性的目的,从而实现了通过提高边缘计算的任务处理速率,减少设备请求的响应时间的技术效果,进而解决了如何将云端计算逻辑及应用部署到靠近数据源一侧的边缘设备上运行的技术问题。
在一种可选的实施例中,在上述待扫描对象包括上述目标设备的情况下,上述调用异常处理函数对上述待扫描对象进行处理包括如下方法步骤:
步骤S1102,从预设的对应关系表中,获取上述目标设备当前运行的任务。
步骤S1104,将当前运行的任务的描述信息存储至确认信号中;
步骤S1106,在接收到上述目标设备发送的心跳请求的情况下,将存储有上述描述信息的确认信号发送至上述目标设备。
基于上述步骤S1102至步骤S1106所提供的可选实施例,在确定上述目标设备存在异常之后,为实现对目标设备的异常进行检测和调用异常处理函数对上述待扫描对象进行处理,上述调度设备在预先存储的对应关系表(例如,可以为调度设备的运行环境标识与调度设备中运行的任务所对应关系的缓存表)中,依据上述运行环境标识获取上述目标设备当前运行的任务,并将当前运行的任务的描述信息存储至确认信号中,进而,则可以在调度设备接收到上述目标设备发送的上述心跳请求的情况下,将存储有上述描述信息的确认信号发送至上述目标设备。
此外,若调度设备超过预设时长仍未接收到目标设备发送的心跳请求的,则确定上述调度设备与上述目标设备之间失去连接,即确定上述目标设备存在异常,为实现对目标设备的异常进行检测和调用异常处理函数对上述待扫描对象进行处理,仍可以但不限于采用上述处理方法对异常的目标设备进行处理。
作为一种可选的实施例,当目标设备向云端的调度设备进行注册时,进入调度设备的扫描器,检测到目标设备或者目标任务异常之后,异常退出。其中,扫描间隔时间可以为目标设备的注册心率值向上取整之后的乘以2,但并不局限于此,具体以可以实现本申请实施例为准。
另外,在目标设备出现上述异常的情况下,还可以但不限于采用以下处理方式进行处理:抓取该目标设备运行中的目标任务的任务快照,生成操作信号集,并等待目标设备重新联网或者启动之后,重新恢复上述目标任务。
在一种可选的实施例中,在上述待扫描对象包括上述目标任务的情况下,上述调用异常处理函数对上述待扫描对象进行处理,可以包括以下处理方式:
将上述目标任务对应的双状态记录中的实际状态设置为异常状态,其中,上述双状态记录包括期望状态及实际状态,上述期望状态用于指示预测执行上述目标任务的状态,上述实际状态用于指示实际执行上述目标任务的状态。
在一种可选的实施例中,上述确认信号包括回复内容字段,其中,调度设备可以通过如下方式根据上述目标任务,生成对应的确认信号:
将上述任务内容添加至上述确认信号的回复内容字段中,得到上述确认信号。
在一种可选的实施例中,上述调度设备可以但不限于通过如下方法步骤,实现将上述确认信号发送至上述目标设备:
将上述确认信号添加至心跳回复的数据字段中;
将上述添加有上述确认信号的上述心跳回复发送至上述目标设备。
在上述可选的实施例中,在调度设备接收到目标设备发送的心跳请求的情况下,上述调度设备检测本地是否存在对应的确认信号,若存在对应的确认信号,则在本次心跳请求的心跳回复中添加确认信号,并将添加有上述确认信号的上述心跳回复发送至上述目标设备。在一种可选的实施例中,目标设备在接收到上述确认信号的情况下,可以解析上述确认信号中携带的目标任务的任务内容,并执行上述目标任务,并将上述目标任务的执行状态以任务同步请求的方式发送至调度设备,以实现调度设备对本地双状态记录中的实际状态进行更新。
在一种可选的实施例中,上述调度设备中部署的状态机可以对目标任务的双状态进行记录和标识,其中,上述状态机用于管理上述目标任务生命周期的状态流转;上述期望状态和实际状态均包括如下至少之一:未运行状态、运行中状态、运行结束状态、运行失败状态、运行挂起状态。
作为一种可选的实施方式,本申请所提供的上述扫描器可以检测任务维护的双状态中实际状态与期望状态是否一致,若在预设时间段内上述期望状态与上述实际状态均不相同,例如,在预设时间段内持续中间状态(中间状态,即目标任务的实际状态和目标状态不相同的情况),则触发异常处理机制;或者,上述实际状态指示状态异常,则触发异常处理机制。
需要说明的是,调度设备在接收到目标设备的任务同步请求之后,可以根据上述任务同步请求中指示的上述目标任务的执行状态,对本地双状态记录中目标任务的实际状态进行更新,并确定目标设备已接收到对应的确认信号,进而将本地的上述确认信号进行删除处理。
其中,在一种可选的实施例中,上述状态异常可以包括但不限于:宕机、断网等异常情况,其中,在实际状态已声明任务异常为终态,其他情况为瞬态,实际状态指示状态为终态的情况下,或在上述期望状态与上述实际状态不完全一致,例如,在预设时间段内上述期望状态与上述实际状态均不相同,则确定上述目标任务异常,触发异常处理机制。
仍需要说明的是,在实际状态与期望状态一致的情况下,或实际状态已声明任务异常为终态,其他情况为瞬态的情况下,对于处于瞬态的目标任务执行对应的操作,例如,调度设备可以将处于瞬态的目标任务丢弃或放入等待队列中。
此外,本申请中的调度设备可以对处于瞬态的目标任务进行多次检查,当检测到该目标任务对应的目标设备处于正常情况下,但目标任务的实际状态在预定时间内一直处于瞬态时,则可以触发异常处理机制,例如,可以将该目标任务的实际状态强制转化为失败,并生成变更信号同步至目标设备。
作为另一种可选的实施例,当目标任务被目标设备拉取时,目标任务进入调度设备的扫描器,回复目标任务的状态或异常处理完成之后退出。其中,扫描间隔时间可以为固定时间
另外,在目标任务出现上述异常的情况下,还可以但不限于采用以下处理方式进行处理:若发现运行环境链路正常,但目标任务的状态长时间处于中间状态,则将状态转化为终态,也即确定当前目标任务为状态异常。
此外,仍需要说明的是,本实施例的可选或优选实施方式可以参见实施例1和2中的相关描述,此处不再赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例上述的方法。
实施例4
根据本发明实施例,还提供了一种用于实施上述任务处理方法的任务处理装置,图11是根据本发明实施例的一种任务处理装置的结构示意图,如图11所示,该装置包括:获取模块110、生成模块112、通讯模块114,其中,
获取模块110,用于获取目标任务,上述目标任务为需部署至目标设备的任务;
生成模块112,用于根据上述目标任务,生成对应的确认信号,上述确认信号包含上述目标任务的任务内容;
通讯模块114,用于在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,其中,由上述目标设备根据上述任务内容执行上述目标任务。
此处需要说明的是,上述获取模块110、生成模块112、通讯模块114对应于实施例1中的步骤S202至步骤S206,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
此外,仍需要说明的是,本实施例的可选或优选实施方式可以参见实施例1、2和3中的相关描述,此处不再赘述。
实施例5
根据本发明实施例,还提供了另一种用于实施上述任务处理方法的任务处理装置,图12是根据本发明实施例的一种任务处理装置的结构示意图,如图12所示,该装置包括:发送模块120、接收模块122、执行模块124,其中,
发送模块120,用于将心跳请求发送至调度设备;
接收模块122,用于接收上述调度设备发送的与上述心跳请求对应的确认信号,上述确认信号包含目标任务的任务内容,上述确认信号为上述调度设备获取到上述目标任务后生成的;
执行模块124,用于根据上述任务内容执行上述目标任务。
此处需要说明的是,上述发送模块120、接收模块122、执行模块124对应于实施例2中的步骤S702至步骤S706,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
此外,仍需要说明的是,本实施例的可选或优选实施方式可以参见实施例1、2和3中的相关描述,此处不再赘述。
实施例6
根据本发明实施例,还提供了又一种用于实施上述任务处理方法的任务处理装置,图13是根据本发明实施例的一种任务处理装置的结构示意图,如图13所示,该装置包括:启动模块132、扫描模块134、调用模块136,其中,
启动模块132,用于启动扫描线程;
扫描模块134,用于在上述扫描线程中,调用扫描逻辑函数,对待扫描对象进行扫描,获取异常的待扫描对象的数量;
调用模块136,用于若上述数量大于或等于预设阈值,调用异常处理函数对上述待扫描对象进行处理。
此处需要说明的是,上述启动模块132、扫描模块134、调用模块136对应于实施例3中的步骤S1002至步骤S1006,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例3所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
此外,仍需要说明的是,本实施例的可选或优选实施方式可以参见实施例1、2和3中的相关描述,此处不再赘述。
实施例7
根据本发明实施例的另一方面,还提供了一种任务处理系统,可以包括但不限于以下的任务处理装置:
根据本发明实施例,还提供了一种用于实施上述任务处理方法的任务处理装置,该装置包括:获取模块110,用于获取目标任务,上述目标任务为需部署至目标设备的任务;生成模块112,用于根据上述目标任务,生成对应的确认信号,上述确认信号包含上述目标任务的任务内容;通讯模块114,用于在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,其中,由上述目标设备根据上述任务内容执行上述目标任务。
根据本发明实施例,还提供了另一种用于实施上述任务处理方法的任务处理装置,该装置包括:发送模块120,用于将心跳请求发送至调度设备;接收模块122,用于接收上述调度设备发送的与上述心跳请求对应的确认信号,上述确认信号包含目标任务的任务内容,上述确认信号为上述调度设备获取到上述目标任务后生成的;执行模块124,用于根据上述任务内容执行上述目标任务。
根据本发明实施例,还提供了又一种用于实施上述任务处理方法的任务处理装置,该装置包括:启动模块132,用于启动扫描线程;扫描模块134,用于在上述扫描线程中,调用扫描逻辑函数,对待扫描对象进行扫描,获取异常的待扫描对象的数量;调用模块136,用于若上述数量大于或等于预设阈值,调用异常处理函数对上述待扫描对象进行处理。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1、2和3中的相关描述,此处不再赘述。
实施例8
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
本申请实施例1、实施例2、实施例3所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。此处需要说明的是,在一些可选实施例中,上述图1所示的计算机终端10可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机终端10中的部件的类型。
在本实施例中,上述计算机终端可以执行应用程序的任务处理方法中以下步骤的程序代码:获取目标任务,上述目标任务为需部署至目标设备的任务;根据上述目标任务,生成对应的确认信号,上述确认信号包含上述目标任务的任务内容;在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,其中,由上述目标设备根据上述任务内容执行上述目标任务。
可选的,上述处理器还可以执行如下步骤的程序代码:生成上述目标任务对应的双状态记录,上述双状态记录包括期望状态及实际状态,上述期望状态用于指示预测执行上述目标任务的状态,上述实际状态用于指示实际执行上述目标任务的状态;
可选的,上述处理器还可以执行如下步骤的程序代码:接收上述目标设备发送的任务同步请求;根据上述任务同步请求中指示的上述目标任务的执行状态,更新上述双状态记录中的上述实际状态。
可选的,上述处理器还可以执行如下步骤的程序代码:通过扫描上述双状态记录,判断上述目标任务是否异常。
可选的,上述处理器还可以执行如下步骤的程序代码:检测上述期望状态与上述实际状态是否相同;若在预设时间段内上述期望状态与上述实际状态均不相同,触发异常处理机制;或者,检测上述实际状态是否指示状态异常;若上述实际状态指示状态异常,触发异常处理机制。
可选的,上述处理器还可以执行如下步骤的程序代码:接收控制台发送的第一任务,上述第一任务包括调度策略、部署地址及任务内容;对上述部署地址进行解析,检测上述部署地址所指示的上述目标设备的状态;若上述目标设备为正常状态,根据上述任务内容及上述调度策略,生成上述目标任务。
可选的,上述处理器还可以执行如下步骤的程序代码:接收上述目标设备发送的设备信息;存储上述设备信息,并生成上述目标设备对应的运行环境标识;将上述运行环境标识发送至上述目标设备。
可选的,上述处理器还可以执行如下步骤的程序代码:获取上述设备信息;根据上述目标任务及上述设备信息,生成上述确认信号,上述确认信号还包括以下至少之一:任务快照、回复码、消费状态。
可选的,上述处理器还可以执行如下步骤的程序代码:通过监测上述目标设备发送的心跳请求,判断上述目标设备是否异常。
可选的,上述处理器还可以执行如下步骤的程序代码:在超过预设时长未接收到上述心跳请求的情况下,确定上述目标设备失去连接;从预设的对应关系表中,获取上述目标设备当前运行的任务;将当前运行的任务的描述信息存储至确认信号中;在接收到上述目标设备发送的上述心跳请求的情况下,将存储有上述描述信息的确认信号发送至上述目标设备。
可选的,上述处理器还可以执行如下步骤的程序代码:接收上述目标设备发送的任务状态校准请求,其中,当上述目标设备重启、断网或异常恢复后,采集所有任务的任务状态,生成包含上述所有任务的任务状态的上述任务状态校准请求;根据上述任务状态校准请求进行状态校准。
可选的,上述处理器还可以执行如下步骤的程序代码:将心跳请求发送至调度设备;接收上述调度设备发送的与上述心跳请求对应的确认信号,上述确认信号包含目标任务的任务内容,上述确认信号为上述调度设备获取到上述目标任务后生成的;根据上述任务内容执行上述目标任务。
可选的,上述处理器还可以执行如下步骤的程序代码:将任务同步请求发送至上述调度设备,上述任务同步请求用于指示上述目标任务的执行状态,以便上述调度设备根据上述任务同步请求中指示的上述目标任务的执行状态,更新上述目标任务对应的双状态记录中的实际状态;其中,上述双状态记录包括期望状态及实际状态,上述期望状态用于指示预测执行上述目标任务的状态,上述实际状态用于指示实际执行上述目标任务的状态。
可选的,上述处理器还可以执行如下步骤的程序代码:采集设备信息;将上述设备信息发送至上述调度设备,以便上述调度设备存储上述设备信息,并生成对应的运行环境标识;接收上述调度设备发送的运行环境标识。
可选的,上述处理器还可以执行如下步骤的程序代码:按照预先配置的频率,向上述调度设备发送心跳请求,上述心跳请求包含以下至少之一:CPU使用率、内存使用率、磁盘使用率。
可选的,上述处理器还可以执行如下步骤的程序代码:当重启、断网或异常恢复后,采集所有任务的任务状态,生成包含上述所有任务的任务状态的任务状态校准请求;将上述任务状态校准请求发送至上述调度设备,以便上述调度设备根据上述任务状态校准请求进行状态校准。
可选的,上述处理器还可以执行如下步骤的程序代码:启动扫描线程;在上述扫描线程中,调用扫描逻辑函数,对待扫描对象进行扫描,获取异常的待扫描对象的数量;若上述数量大于或等于预设阈值,调用异常处理函数对上述待扫描对象进行处理。
可选的,上述处理器还可以执行如下步骤的程序代码:从预设的对应关系表中,获取上述目标设备当前运行的任务;将当前运行的任务的描述信息存储至确认信号中;在接收到上述目标设备发送的心跳请求的情况下,将存储有上述描述信息的确认信号发送至上述目标设备。
可选的,上述处理器还可以执行如下步骤的程序代码:将上述目标任务对应的双状态记录中的实际状态设置为异常状态,其中,上述双状态记录包括期望状态及实际状态,上述期望状态用于指示预测执行上述目标任务的状态,上述实际状态用于指示实际执行上述目标任务的状态。
本领域普通技术人员可以理解,图1所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobi leInternet Devices,MID)、PAD等终端设备。图1其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图1所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例9
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1、实施例2及实施例3所提供的任务处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取目标任务,上述目标任务为需部署至目标设备的任务;根据上述目标任务,生成对应的确认信号,上述确认信号包含上述目标任务的任务内容;在接收到目标设备的心跳请求的情况下,将上述确认信号发送至上述目标设备,其中,由上述目标设备根据上述任务内容执行上述目标任务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:生成上述目标任务对应的双状态记录,上述双状态记录包括期望状态及实际状态,上述期望状态用于指示预测执行上述目标任务的状态,上述实际状态用于指示实际执行上述目标任务的状态;
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收上述目标设备发送的任务同步请求;根据上述任务同步请求中指示的上述目标任务的执行状态,更新上述双状态记录中的上述实际状态。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:通过扫描上述双状态记录,判断上述目标任务是否异常。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:检测上述期望状态与上述实际状态是否相同;若在预设时间段内上述期望状态与上述实际状态均不相同,触发异常处理机制;或者,检测上述实际状态是否指示状态异常;若上述实际状态指示状态异常,触发异常处理机制。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收控制台发送的第一任务,上述第一任务包括调度策略、部署地址及任务内容;对上述部署地址进行解析,检测上述部署地址所指示的上述目标设备的状态;若上述目标设备为正常状态,根据上述任务内容及上述调度策略,生成上述目标任务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收上述目标设备发送的设备信息;存储上述设备信息,并生成上述目标设备对应的运行环境标识;将上述运行环境标识发送至上述目标设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取上述设备信息;根据上述目标任务及上述设备信息,生成上述确认信号,上述确认信号还包括以下至少之一:任务快照、回复码、消费状态。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:通过监测上述目标设备发送的心跳请求,判断上述目标设备是否异常。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在超过预设时长未接收到上述心跳请求的情况下,确定上述目标设备失去连接;从预设的对应关系表中,获取上述目标设备当前运行的任务;将当前运行的任务的描述信息存储至确认信号中;在接收到上述目标设备发送的上述心跳请求的情况下,将存储有上述描述信息的确认信号发送至上述目标设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收上述目标设备发送的任务状态校准请求,其中,当上述目标设备重启、断网或异常恢复后,采集所有任务的任务状态,生成包含上述所有任务的任务状态的上述任务状态校准请求;根据上述任务状态校准请求进行状态校准。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将心跳请求发送至调度设备;接收上述调度设备发送的与上述心跳请求对应的确认信号,上述确认信号包含目标任务的任务内容,上述确认信号为上述调度设备获取到上述目标任务后生成的;根据上述任务内容执行上述目标任务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将任务同步请求发送至上述调度设备,上述任务同步请求用于指示上述目标任务的执行状态,以便上述调度设备根据上述任务同步请求中指示的上述目标任务的执行状态,更新上述目标任务对应的双状态记录中的实际状态;其中,上述双状态记录包括期望状态及实际状态,上述期望状态用于指示预测执行上述目标任务的状态,上述实际状态用于指示实际执行上述目标任务的状态。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:采集设备信息;将上述设备信息发送至上述调度设备,以便上述调度设备存储上述设备信息,并生成对应的运行环境标识;接收上述调度设备发送的运行环境标识。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:按照预先配置的频率,向上述调度设备发送心跳请求,上述心跳请求包含以下至少之一:CPU使用率、内存使用率、磁盘使用率。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:当重启、断网或异常恢复后,采集所有任务的任务状态,生成包含上述所有任务的任务状态的任务状态校准请求;将上述任务状态校准请求发送至上述调度设备,以便上述调度设备根据上述任务状态校准请求进行状态校准。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:启动扫描线程;在上述扫描线程中,调用扫描逻辑函数,对待扫描对象进行扫描,获取异常的待扫描对象的数量;若上述数量大于或等于预设阈值,调用异常处理函数对上述待扫描对象进行处理。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:从预设的对应关系表中,获取上述目标设备当前运行的任务;将当前运行的任务的描述信息存储至确认信号中;在接收到上述目标设备发送的心跳请求的情况下,将存储有上述描述信息的确认信号发送至上述目标设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将上述目标任务对应的双状态记录中的实际状态设置为异常状态,其中,上述双状态记录包括期望状态及实际状态,上述期望状态用于指示预测执行上述目标任务的状态,上述实际状态用于指示实际执行上述目标任务的状态。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (23)

1.一种任务处理方法,其特征在于,包括:
获取目标任务,所述目标任务为需部署至目标设备的任务,所述目标设备为边缘设备;
根据所述目标任务,生成对应的确认信号,所述确认信号包含所述目标任务的任务内容;
在接收到目标设备的心跳请求的情况下,将所述确认信号发送至所述目标设备,其中,由所述目标设备根据所述任务内容执行所述目标任务;
所述获取目标任务之后,所述方法还包括:
生成所述目标任务对应的双状态记录,所述双状态记录包括期望状态及实际状态,所述期望状态用于指示预测执行所述目标任务的状态,所述实际状态用于指示实际执行所述目标任务的状态;
其中,所述将所述确认信号发送至所述目标设备之后,所述方法还包括:
接收所述目标设备发送的任务同步请求;
根据所述任务同步请求中指示的所述目标任务的执行状态,更新所述双状态记录中的所述实际状态;
所述生成所述目标任务对应的双状态记录之后,所述方法还包括:检测所述期望状态与所述实际状态是否相同;若在预设时间段内所述期望状态与所述实际状态均不相同,触发异常处理机制;或者,检测所述实际状态是否指示状态异常;若所述实际状态指示状态异常,触发异常处理机制。
2.根据权利要求1所述的方法,其特征在于,所述获取目标任务包括:
接收控制台发送的第一任务,所述第一任务包括调度策略、部署地址及任务内容;
对所述部署地址进行解析,检测所述部署地址所指示的所述目标设备的状态;
若所述目标设备为正常状态,根据所述任务内容及所述调度策略,生成所述目标任务。
3.根据权利要求1所述的方法,其特征在于,所述获取目标任务之前,所述方法还包括:
接收所述目标设备发送的设备信息;
存储所述设备信息,并生成所述目标设备对应的运行环境标识;
将所述运行环境标识发送至所述目标设备。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标任务,生成对应的确认信号包括:
获取所述设备信息;
根据所述目标任务及所述设备信息,生成所述确认信号,所述确认信号还包括以下至少之一:任务快照、回复码、消费状态。
5.根据权利要求3所述的方法,其特征在于,所述将所述运行环境标识发送至所述目标设备之后,所述方法还包括:
通过监测所述目标设备发送的心跳请求,判断所述目标设备是否异常。
6.根据权利要求5所述的方法,其特征在于,所述通过监测所述目标设备发送的心跳请求,判断所述目标设备是否异常包括:
在超过预设时长未接收到所述心跳请求的情况下,确定所述目标设备失去连接;
从预设的对应关系表中,获取所述目标设备当前运行的任务;
将当前运行的任务的描述信息存储至确认信号中;
在接收到所述目标设备发送的所述心跳请求的情况下,将存储有所述描述信息的确认信号发送至所述目标设备。
7.根据权利要求1所述的方法,其特征在于,所述确认信号包括回复内容字段,其中,所述根据所述目标任务,生成对应的确认信号包括:
将所述任务内容添加至所述确认信号的回复内容字段中,得到所述确认信号。
8.根据权利要求1所述的方法,其特征在于,所述将所述确认信号发送至所述目标设备包括:
将所述确认信号添加至心跳回复的数据字段中;
将添加有所述确认信号的所述心跳回复发送至所述目标设备。
9.根据权利要求1所述的方法,其特征在于,还包括:
接收所述目标设备发送的任务状态校准请求,其中,当所述目标设备重启、断网或异常恢复后,采集所有任务的任务状态,生成包含所述所有任务的任务状态的所述任务状态校准请求;
根据所述任务状态校准请求进行状态校准。
10.根据权利要求3所述的方法,其特征在于,所述设备信息包括以下至少之一:CPU、内存大小、磁盘大小、网络链接、SDK版本号、执行引擎信息、地址信息、同步间隔时间。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述心跳请求包括以下至少之一:CPU使用率、内存使用率、磁盘使用率、所有任务执行的状态。
12.一种任务处理方法,其特征在于,所述方法应用于边缘设备,所述方法包括:
将心跳请求发送至调度设备;
接收所述调度设备发送的与所述心跳请求对应的确认信号,所述确认信号包含目标任务的任务内容,所述确认信号为所述调度设备获取到所述目标任务后生成的;
根据所述任务内容执行所述目标任务;
所述根据所述任务内容执行所述目标任务之后,所述方法还包括:
将任务同步请求发送至所述调度设备,所述任务同步请求用于指示所述目标任务的执行状态,以便所述调度设备根据所述任务同步请求中指示的所述目标任务的执行状态,更新所述目标任务对应的双状态记录中的实际状态;
其中,所述双状态记录包括期望状态及实际状态,所述期望状态用于指示预测执行所述目标任务的状态,所述实际状态用于指示实际执行所述目标任务的状态,所述双状态记录用于确定所述目标任务是否异常,在预设时间段内所述期望状态与所述实际状态均不相同表示所述目标任务存在异常,或者,所述实际状态指示状态异常表示所述目标任务存在异常。
13.根据权利要求12所述的方法,其特征在于,所述将心跳请求发送至调度设备之前,所述方法还包括:
采集设备信息;
将所述设备信息发送至所述调度设备,以便所述调度设备存储所述设备信息,并生成对应的运行环境标识;
接收所述调度设备发送的运行环境标识。
14.根据权利要求13所述的方法,其特征在于,所述接收所述调度设备发送的运行环境标识之后,所述方法还包括:
按照预先配置的频率,向所述调度设备发送心跳请求,所述心跳请求包含以下至少之一:CPU使用率、内存使用率、磁盘使用率。
15.根据权利要求14所述的方法,其特征在于,
当重启、断网或异常恢复后,采集所有任务的任务状态,生成包含所述所有任务的任务状态的任务状态校准请求;
将所述任务状态校准请求发送至所述调度设备,以便所述调度设备根据所述任务状态校准请求进行状态校准。
16.根据权利要求12所述的方法,其特征在于,所述确认信号包括回复内容字段,其中,所述确认信号为所述调度设备获取到所述目标任务后生成的包括:所述调度设备将所述任务内容添加至所述确认信号的回复内容字段中,得到所述确认信号。
17.根据权利要求12所述的方法,其特征在于,所述接收所述调度设备发送的与所述心跳请求对应的确认信号包括:
接收所述调度设备发送的与所述心跳请求对应的心跳回复,其中,所述心跳回复的数据字段中携带有所述确认信号。
18.根据权利要求13至15中任一项所述的方法,其特征在于,所述设备信息包括以下至少之一:CPU、内存大小、磁盘大小、网络链接、SDK版本号、执行引擎信息、地址信息、同步间隔时间。
19.一种任务处理装置,其特征在于,包括:
获取模块,用于获取目标任务,所述目标任务为需部署至目标设备的任务,所述目标设备为边缘设备;
生成模块,用于根据所述目标任务,生成对应的确认信号,所述确认信号包含所述目标任务的任务内容;
通讯模块,用于在接收到目标设备的心跳请求的情况下,将所述确认信号发送至所述目标设备,其中,由所述目标设备根据所述任务内容执行所述目标任务;
所述获取模块还用于生成所述目标任务对应的双状态记录,所述双状态记录包括期望状态及实际状态,所述期望状态用于指示预测执行所述目标任务的状态,所述实际状态用于指示实际执行所述目标任务的状态;
所述通讯模块还用于接收所述目标设备发送的任务同步请求;根据所述任务同步请求中指示的所述目标任务的执行状态,更新所述双状态记录中的所述实际状态;
所述通讯模块还用于检测所述期望状态与所述实际状态是否相同;若在预设时间段内所述期望状态与所述实际状态均不相同,触发异常处理机制;或者,检测所述实际状态是否指示状态异常;若所述实际状态指示状态异常,触发异常处理机制。
20.一种任务处理装置,其特征在于,所述装置为边缘设备,所述装置包括:
发送模块,用于将心跳请求发送至调度设备;
接收模块,用于接收所述调度设备发送的与所述心跳请求对应的确认信号,所述确认信号包含目标任务的任务内容,所述确认信号为所述调度设备获取到所述目标任务后生成的;
执行模块,用于根据所述任务内容执行所述目标任务;
所述执行模块还用于将任务同步请求发送至所述调度设备,所述任务同步请求用于指示所述目标任务的执行状态,以便所述调度设备根据所述任务同步请求中指示的所述目标任务的执行状态,更新所述目标任务对应的双状态记录中的实际状态;其中,所述双状态记录包括期望状态及实际状态,所述期望状态用于指示预测执行所述目标任务的状态,所述实际状态用于指示实际执行所述目标任务的状态,所述双状态记录用于确定所述目标任务是否异常,在预设时间段内所述期望状态与所述实际状态均不相同表示所述目标任务存在异常,或者,所述实际状态指示状态异常表示所述目标任务存在异常。
21.一种任务处理系统,其特征在于,包括如权利要求19或20所述的任务处理装置。
22.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行以下功能:获取目标任务,所述目标任务为需部署至目标设备的任务,所述目标设备为边缘设备;根据所述目标任务,生成对应的确认信号,所述确认信号包含所述目标任务的任务内容;在接收到目标设备的心跳请求的情况下,将所述确认信号发送至所述目标设备,其中,由所述目标设备根据所述任务内容执行所述目标任务;所述获取目标任务之后,还包括:
生成所述目标任务对应的双状态记录,所述双状态记录包括期望状态及实际状态,所述期望状态用于指示预测执行所述目标任务的状态,所述实际状态用于指示实际执行所述目标任务的状态;其中,所述将所述确认信号发送至所述目标设备之后,还包括:接收所述目标设备发送的任务同步请求;根据所述任务同步请求中指示的所述目标任务的执行状态,更新所述双状态记录中的所述实际状态;所述生成所述目标任务对应的双状态记录之后,还包括:检测所述期望状态与所述实际状态是否相同;若在预设时间段内所述期望状态与所述实际状态均不相同,触发异常处理机制;或者,检测所述实际状态是否指示状态异常;若所述实际状态指示状态异常,触发异常处理机制。
23.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行以下功能:获取目标任务,所述目标任务为需部署至目标设备的任务,所述目标设备为边缘设备;根据所述目标任务,生成对应的确认信号,所述确认信号包含所述目标任务的任务内容;在接收到目标设备的心跳请求的情况下,将所述确认信号发送至所述目标设备,其中,由所述目标设备根据所述任务内容执行所述目标任务;所述获取目标任务之后,还包括:生成所述目标任务对应的双状态记录,所述双状态记录包括期望状态及实际状态,所述期望状态用于指示预测执行所述目标任务的状态,所述实际状态用于指示实际执行所述目标任务的状态;其中,所述将所述确认信号发送至所述目标设备之后,还包括:接收所述目标设备发送的任务同步请求;根据所述任务同步请求中指示的所述目标任务的执行状态,更新所述双状态记录中的所述实际状态;所述生成所述目标任务对应的双状态记录之后,还包括:检测所述期望状态与所述实际状态是否相同;若在预设时间段内所述期望状态与所述实际状态均不相同,触发异常处理机制;或者,检测所述实际状态是否指示状态异常;若所述实际状态指示状态异常,触发异常处理机制。
CN201810348626.XA 2018-04-18 2018-04-18 任务处理方法、装置及系统 Active CN110389815B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201810348626.XA CN110389815B (zh) 2018-04-18 2018-04-18 任务处理方法、装置及系统
TW108107430A TW201944236A (zh) 2018-04-18 2019-03-06 任務處理方法、裝置及系統
US16/388,520 US20190324797A1 (en) 2018-04-18 2019-04-18 Task processing method, apparatus, and system
EP19789551.9A EP3782098A4 (en) 2018-04-18 2019-04-18 METHOD, APPARATUS AND SYSTEM FOR PROCESSING WORK
SG11202010000VA SG11202010000VA (en) 2018-04-18 2019-04-18 Task processing method, apparatus, and system
JP2020555885A JP7362650B2 (ja) 2018-04-18 2019-04-18 タスク処理方法、装置及びシステム
PCT/US2019/028066 WO2019204572A1 (en) 2018-04-18 2019-04-18 Task processing method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810348626.XA CN110389815B (zh) 2018-04-18 2018-04-18 任务处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN110389815A CN110389815A (zh) 2019-10-29
CN110389815B true CN110389815B (zh) 2023-09-12

Family

ID=68236932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810348626.XA Active CN110389815B (zh) 2018-04-18 2018-04-18 任务处理方法、装置及系统

Country Status (7)

Country Link
US (1) US20190324797A1 (zh)
EP (1) EP3782098A4 (zh)
JP (1) JP7362650B2 (zh)
CN (1) CN110389815B (zh)
SG (1) SG11202010000VA (zh)
TW (1) TW201944236A (zh)
WO (1) WO2019204572A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200014591A1 (en) * 2018-07-06 2020-01-09 Hitachi, Ltd. Method and system of device deployment integrating with automatic configuration and asset management
US10834017B2 (en) * 2018-11-11 2020-11-10 International Business Machines Corporation Cloud-driven hybrid data flow and collection
CN112749034A (zh) * 2019-10-31 2021-05-04 北京沃东天骏信息技术有限公司 一种数据异常处理方法、装置、存储介质及电子设备
CN111245909B (zh) * 2019-12-31 2023-04-07 深圳云天励飞技术有限公司 分布式动态调度方法、装置、电子设备及存储介质
CN111209103A (zh) * 2020-01-20 2020-05-29 浙江工商大学 一种进程任务调度方法、装置及设备
CN112084039A (zh) * 2020-09-27 2020-12-15 中国建设银行股份有限公司 资源管理系统、方法和装置
CN112566233A (zh) * 2020-11-16 2021-03-26 漳州立达信光电子科技有限公司 一种基于ZigBee网关的设备状态同步方法及装置
CN112487415B (zh) * 2020-12-09 2023-10-03 华控清交信息科技(北京)有限公司 计算任务的安全性检测方法及装置
CN114745291A (zh) * 2020-12-23 2022-07-12 北京国双科技有限公司 一种异常数据上云方法、装置、电子设备及存储介质
CN113688398B (zh) * 2021-08-24 2024-04-26 杭州迪普科技股份有限公司 漏洞扫描结果的评估方法、装置及系统
CN113687932A (zh) * 2021-08-30 2021-11-23 上海商汤科技开发有限公司 一种任务调度的方法、装置、系统、电子设备及存储介质
CN113806195B (zh) * 2021-09-17 2023-11-10 亿咖通(湖北)技术有限公司 数据处理方法、装置、设备、系统及存储介质
CN114039852A (zh) * 2021-10-26 2022-02-11 深圳毅芯半导体有限公司 一种设备定时执行计划的方法、系统及装置
CN114265343B (zh) * 2021-11-19 2023-09-15 青岛海尔科技有限公司 目标设备处理方法、装置、设备、存储介质及产品
CN114390072B (zh) * 2021-12-17 2023-09-29 武汉慧联无限科技有限公司 一种信息处理方法、装置及存储介质
CN114666332A (zh) * 2022-03-29 2022-06-24 北京奕斯伟计算技术有限公司 数据传输方法、边缘盒子、边缘云及数据传输系统
CN114827197B (zh) * 2022-03-31 2023-09-12 远景智能国际私人投资有限公司 基于物联网的服务通信方法、装置、设备及介质
CN115242798B (zh) * 2022-06-30 2023-09-26 阿里巴巴(中国)有限公司 一种基于边缘云的任务调度方法、电子设备及存储介质
CN115208922B (zh) * 2022-07-15 2023-11-03 鹿马智能科技(上海)有限公司 基于边缘计算的酒店管理系统
CN115002013B (zh) * 2022-08-08 2022-12-06 浙江华创视讯科技有限公司 运行状态的确定方法、装置、存储介质及电子装置
CN115733737B (zh) * 2023-01-10 2023-04-28 苏州浪潮智能科技有限公司 一种管理ip漂移方法和存储机框
CN116360955A (zh) * 2023-05-31 2023-06-30 天翼云科技有限公司 一种异步任务处理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092698A (zh) * 2012-12-24 2013-05-08 中国科学院深圳先进技术研究院 云计算应用自动部署系统及方法
CN103810023A (zh) * 2014-03-06 2014-05-21 中国科学院信息工程研究所 一种云平台中分布式应用的智能部署方法及系统
US20140280805A1 (en) * 2013-03-14 2014-09-18 Rackspace Us, Inc. Two-Sided Declarative Configuration for Cloud Deployment
CN107465548A (zh) * 2017-08-17 2017-12-12 北京云纵信息技术有限公司 代码的部署方法和装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4377744B2 (ja) * 2004-05-13 2009-12-02 本田技研工業株式会社 ロボット制御装置
US7823132B2 (en) * 2004-09-29 2010-10-26 Microsoft Corporation Automated test case verification that is loosely coupled with respect to automated test case execution
WO2008126325A1 (ja) 2007-03-30 2008-10-23 Fujitsu Limited クラスタシステム、ソフトウェア更新方法、サービス提供ノード、およびサービス提供用プログラム
JP5223707B2 (ja) 2009-02-05 2013-06-26 富士通株式会社 ソフトウェア更新指示プログラム、ソフトウェア更新指示方法、および情報処理装置
CN101635728B (zh) * 2009-09-02 2012-09-26 中兴通讯股份有限公司 内容分发网络中数据同步的方法及系统
JP2013097548A (ja) 2011-10-31 2013-05-20 Pfu Ltd 情報処理システム、情報処理装置、クライアント端末、情報処理方法、及びプログラム
US9183016B2 (en) * 2013-02-27 2015-11-10 Vmware, Inc. Adaptive task scheduling of Hadoop in a virtualized environment
CN104111806B (zh) * 2013-04-16 2017-07-21 北大方正集团有限公司 一种打印调度、处理方法、装置和系统
US11062047B2 (en) * 2013-06-20 2021-07-13 Tata Consultancy Services Ltd. System and method for distributed computation using heterogeneous computing nodes
CN106406925A (zh) 2015-08-03 2017-02-15 阿里巴巴集团控股有限公司 用于支持在线升级的设备和方法
US10142174B2 (en) * 2015-08-25 2018-11-27 Oracle International Corporation Service deployment infrastructure request provisioning
US10091283B2 (en) * 2016-03-03 2018-10-02 Flipboard, Inc. Distributed scheduling systems for digital magazine
US10572306B2 (en) * 2016-09-14 2020-02-25 Cloudera, Inc. Utilization-aware resource scheduling in a distributed computing cluster

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092698A (zh) * 2012-12-24 2013-05-08 中国科学院深圳先进技术研究院 云计算应用自动部署系统及方法
US20140280805A1 (en) * 2013-03-14 2014-09-18 Rackspace Us, Inc. Two-Sided Declarative Configuration for Cloud Deployment
CN103810023A (zh) * 2014-03-06 2014-05-21 中国科学院信息工程研究所 一种云平台中分布式应用的智能部署方法及系统
CN107465548A (zh) * 2017-08-17 2017-12-12 北京云纵信息技术有限公司 代码的部署方法和装置

Also Published As

Publication number Publication date
JP2021521528A (ja) 2021-08-26
US20190324797A1 (en) 2019-10-24
TW201944236A (zh) 2019-11-16
EP3782098A1 (en) 2021-02-24
CN110389815A (zh) 2019-10-29
JP7362650B2 (ja) 2023-10-17
EP3782098A4 (en) 2022-09-14
SG11202010000VA (en) 2020-11-27
WO2019204572A1 (en) 2019-10-24

Similar Documents

Publication Publication Date Title
CN110389815B (zh) 任务处理方法、装置及系统
CN110688280B (zh) 一种告警事件的管理系统、方法、设备和存储介质
CN109547524B (zh) 基于物联网的用户行为存储方法、装置、设备及存储介质
CN111737085A (zh) 服务器的监控方法、装置和系统及电子设备
WO2017206678A1 (zh) 信息的获取方法及装置
CN103677988A (zh) 用于软件系统的多进程通讯方法及系统
CN114765706A (zh) 用于从OLT触发vOMCI功能发送OMCI消息的方法和装置
CN116070210A (zh) 异常进程的确定方法、装置及病毒查杀方法
CN112866422B (zh) 一种数据请求处理方法和装置
CN103001832B (zh) 分布式文件系统中节点的检测方法和装置
CN115766715A (zh) 一种高可用的超融合集群监控方法和系统
CN107800754B (zh) 数据传输任务处理、数据传输任务监控方法和装置
CN113596119B (zh) 边缘能力分发方法、系统、设备及计算机可读存储介质
WO2021174730A1 (zh) 网络地址处理方法、计算机设备及存储介质
CN110830305B (zh) 无线设备接入wifi网络的方法、装置、电子设备及存储介质
CN113542424A (zh) 数据处理方法、装置、设备及计算机程序产品
CN112714035A (zh) 监控方法及系统
CN112769889B (zh) 服务数据的推送方法、装置、存储介质以及电子装置
WO2018173698A1 (ja) 監視システム、コンピュータ可読記憶媒体および監視方法
CN110943975A (zh) 服务注册的方法、装置、计算机设备和存储介质
CN113377616B (zh) 接口监控方法、装置以及计算机可读介质
CN106850245B (zh) 一种诊断测试消息处理方法及装置
JP6073211B2 (ja) サーバ監視方法およびサーバ監視システム
CN108959170B (zh) 虚拟设备管理方法、装置、堆叠系统及可读存储介质
CN115065649B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40016205

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant