CN117056010A - 一种跨云平台任务调度方法和装置 - Google Patents
一种跨云平台任务调度方法和装置 Download PDFInfo
- Publication number
- CN117056010A CN117056010A CN202210492675.7A CN202210492675A CN117056010A CN 117056010 A CN117056010 A CN 117056010A CN 202210492675 A CN202210492675 A CN 202210492675A CN 117056010 A CN117056010 A CN 117056010A
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- container
- configuration information
- cache server
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012545 processing Methods 0.000 claims abstract description 13
- 230000036541 health Effects 0.000 claims description 12
- 239000012634 fragment Substances 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及业务支撑领域,尤其涉及一种跨云平台任务调度方法。一种跨云平台任务调度方法,所述方法应用于上位机,所述上位机中部署有任务调度器、任务监控器和任务配置器,所述任务调度器执行所述方法,包括:定时扫描缓存服务器中的任务配置信息,将到期需要执行的待处理任务分发至所述缓存服务器中的任务队列;读取所述任务列队中的待处理任务的任务配置信息,根据所述任务配置信息,确定用于执行所述待处理任务的云平台为容器或虚拟机;将所述待处理任务分发至所述容器或所述虚拟机执行。本发明实施例通过部署多个云平台,在应用调度中可以根据待处理任务的实际情况分发至合适的云平台进行处理。
Description
【技术领域】
本申请涉及业务支撑领域,尤其涉及一种跨云平台任务调度方法和装置。
【背景技术】
在现有的后台任务调度技术中,需要手工插入或者手工编写周期任务以实现后台任务的周期性管理,且只能运行在单一的云平台上面。现有的后台任务调度管理,存在任务配置不灵活、任务展示不清晰、监控分析缺乏等问题,同时任务调度无法跨平台调度,无法根据任务信息选择合适的平台执行,导致无法最大化利用资源,对业务支撑体系的业务连续性具有极大的挑战。
【发明内容】
有鉴于此,本发明实施例提供了一种跨云平台任务调度方法和装置,用以实现待处理任务的跨云平台调度。
第一方面,本发明实施例提供了一种跨云平台任务调度方法,所述方法应用于上位机,所述上位机中部署有任务调度器、任务监控器和任务配置器,所述任务调度器执行所述方法,包括:
定时扫描缓存服务器中的任务配置信息,将到期需要执行的待处理任务分发至所述缓存服务器中的任务队列;
读取所述任务列队中的待处理任务的任务配置信息,根据所述任务配置信息,确定用于执行所述待处理任务的云平台为容器或虚拟机;
将所述待处理任务分发至所述容器或所述虚拟机执行。
可选的,所述定时扫描缓存服务器中的任务配置信息之前,所述方法还包括:
通过上位机中的所述任务配置器,将所述任务配置信息录入所述缓存服务器,并将所述任务配置信息录入配置数据库进行记录。
可选的,所述根据所述任务配置信息,确定用于执行所述待处理任务的云平台为容器或虚拟机,所述方法包括:
根据所述任务配置信息中的线程需求量确定用于执行所述待处理任务的云平台为容器或虚拟机;
如果从所述任务配置信息中确定执行所述待处理任务所需的线程需求量大于预设的第一阈值,则确定执行所述待处理任务的云平台为虚拟机;
如果从所述任务配置信息中确定执行所述待处理任务所需的线程需求量小于或等于预设的第一阈值,则确定执行所述待处理任务的云平台为容器。
可选的,所述将所述待处理任务分发至所述容器执行,所述方法包括:
根据不同业务类型在容器中设置不同业务分片;
将所述待处理任务分发至容器执行时,根据所述待处理任务所对应的任务类型,将所述待处理任务分发至对应的业务分片中执行。
可选的,所述将所述待处理任务分发至所述容器执行,所述方法还包括:
通过资源调度接口向容器发送启动指令,所述启动指令用于所述容器启动,并向所述缓存服务器注册心跳配置信息和执行器信息;
所述心跳配置信息用于描述所述容器的健康状态,所述执行器信息用于所述缓存服务器向所述容器中对应的执行器下发待处理任务进行处理;
所述容器用于从所述缓存服务器获取具体的待处理任务,并通过所述执行器执行所述待处理任务。
可选的,所述执行所述待处理任务之后,所述方法包括:
通过上位机中的所述任务监控器定时扫描所述缓存服务器中的任务队列信息和所述容器上报的心跳配置信息;
根据所述任务队列信息确定所述待处理任务的执行情况,根据所述心跳配置信息确定所述容器的健康状态和运行状态;
其中,所述容器定时向所述缓存服务器上报心跳配置信息,并在执行完成所述待处理任务后向所述缓存服务器更新所述任务队列信息。
可选的,所述根据所述心跳配置信息确定所述容器的健康状态和运行状态,所述方法包括:
当根据所述容器上报的心跳配置信息确定所述容器中的执行器出现异常时,释放所述异常执行器所在的容器,并重新分发所述异常执行器所执行的待处理任务。
可选的,所述将所述待处理任务分发至所述虚拟机执行,所述方法包括:
读取各个虚拟机的资源信息,并根据所述各个虚拟机的资源信息确定出目标执行实例执行所述待处理任务;
将所述确定出的目标执行实例信息和待处理任务发送至任务执行分发节点,用于所述目标执行实例从所述任务执行分发节点获取需要执行的待处理任务,并从所述缓存服务器获取待处理任务的任务配置信息后开始执行。
第二方面,本发明实施例提供了一种跨云平台任务调度装置,其特征在于,包括:
扫描模块,定时扫描缓存服务器中的任务配置信息,将到期需要执行的待处理任务分发至所述缓存服务器中的任务队列;
确定模块,读取所述任务列队中的待处理任务的任务配置信息,根据所述任务配置信息,确定用于执行所述待处理任务的云平台为容器或虚拟机;
分发模块,将所述待处理任务分发至所述容器或所述虚拟机执行。
第三方面,本发明实施例提供了一种跨云平台任务调度设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面任一项所述的方法。
根据上述方法,可以根据待处理任务的实际情况分发至合适的云平台进行处理。同时可以实时监控云平台的健康状况以随时重新分发待处理任务。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种跨云平台任务调度系统的结构示意图;
图2为本发明实施例提供的一种跨云平台任务调度方法的流程图;
图3为本发明实施例提供的另一种跨云平台任务调度方法的流程图;
图4为本发明实施例提供的另一种跨云平台任务调度方法的流程图;
图5为本发明实施例提供的一种跨云平台任务调度装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
云平台包括虚拟机平台和容器平台,与虚拟机相比,容器消耗更少的系统资源,这意味着相同的服务器上,能够部署更多的容器,更高的资源利用率。当任务配置信息中的线程需求量表示待处理任务所需要的资源较少时,可以分配至虚拟机中执行,当线程需求量表示待处理任务需要更多的资源时,可以分配至虚拟机中执行。其中,容器平台一般可以是k8s平台和马拉松平台,虚拟机一般可以是x86集群。
本发明实施例首先提供了一种跨云平台任务调度系统。如图1所示,跨云平台任务调度系统包括:上位机101、配置数据库102、缓存服务器103和不同云平台104。其中,上位机101中部署有任务调度器、任务监控器和任务配置器,云平台包括虚拟机和容器。
上位机101中的任务配置器用于将任务配置信息录入配置数据库102进行存储,并将任务配置信息录入缓存服务器以分发至不同云平台104执行。
上位机101中的任务调度器用于定时扫描录入缓存服务器中的任务配置信息,根据任务配置信息将到期需要执行的待处理任务分发至缓存服务器中的任务列队。读取任务列队中待处理任务的任务配置信息,根据任务配置信息中的线程需求量确定用于执行待处理任务的云平台104为虚拟机或是容器,并将待处理任务分发至对应云平台104执行。
可选的,当任务调度器确定将待处理任务分配至虚拟机执行时,还用于根据待处理任务的资源占用量以及虚拟机的线程池资源剩余量确定出目标执行实例执行待处理任务。
上位机101中的任务监控器用于监控缓存服务器中任务列队中的任务队列信息以获取待处理任务的执行情况,并随时通过缓存服务器监控各容器定时上报的心跳配置信息以随时获取容器的健康状态。
配置数据库102用于在任务配置器将待处理任务的任务配置信息录入缓存服务器进行分发时,对待处理任务的任务配置信息进行记录以方便日后查询。
缓存服务器用于暂时存储任务配置器录入的任务配置信息,并在任务队列中通过任务调度器将各待处理任务分发至不同平台执行。同时缓存服务器还用于暂时存储容器上报的心跳配置信息,供任务监控器定时读取,以随时确定各容器的健康状态。
云平台104中的容器用于执行分发的待处理任务。其中,容器平台通常以容器组的形式出现,一个容器平台通常包含不同容器组用于执行不同业务维度的任务,如可以根据个人业务分组和平台业务分组在容器平台中设置不同的容器组以分别执行个人业务任务和平台业务任务。在一个容器组内部还可继续划分出若干容器用于执行不同分片的任务,如可以按照账户ID、手机号码、数据分表、分段等维度配置应用任务分片信息,并设置具体容器用于执行。容器平台在接收待处理任务时,会根据任务配置信息将待处理任务分发至对应的分片所在的容器中执行。
云平台104中的虚拟机同样用于执行分发的待处理任务。当根据上位机101中的任务调度器确定出需要将待处理任务分发至虚拟机执行,且确定了用于执行待处理任务的目标执行实例后,需要将待处理任务分发至任务执行分发节点。目标执行实例需要分别从任务执行分发节点和缓存服务器获取待处理任务和任务配置信息后开始执行待处理任务。
结合图1所示的跨云平台任务调度系统,本发明实施例提供了一种跨云平台任务调度方法,所述方法应用于上位机,如图2所示,该方法的处理步骤包括:
201,将任务配置信息录入缓存服务器,并在任务配置数据库进行记录。
具体的,上位机中的任务配置器,根据接收到的用户操作指令,将待处理任务的任务配置信息录入缓存服务器,用于上位机中的任务调度器根据任务配置信息确定用于执行待处理任务的平台并分发。并同时将待处理任务的任务配置信息录入配置数据库,以实现对跨云平台任务调度的记录。
202,定时扫描缓存服务器中的任务配置信息,将到期需要执行的待处理任务分发至缓存服务器中的任务队列。
具体的,缓存服务器中存储有若干由任务配置器录入的待处理任务的任务配置信息。上位机中的任务调度器定时扫描缓存服务器中的任务配置信息,根据任务配置信息中的待处理任务需要被执行的时间,将到期需要执行的待处理任务分发至缓存服务器中的任务队列。只有当待处理任务被分发至任务队列中才会被分发至不同平台并执行。
其中,任务调度器扫描任务配置信息时,触发待处理任务生成任务明细,且生成的任务明细需要支持持久化。任务明细中记录有待处理任务的优先级,以及需要被执行的时间,根据待处理任务需要被执行的时间分发至任务列队,并根据任务优先级确定待处理任务的执行顺序。
203,读取任务列队中的待处理任务的任务配置信息,根据任务配置信息,确定用于执行待处理任务的云平台为容器或虚拟机。
具体的,任务调度器读取任务队列中待处理任务的任务配置信息,根据任务配置信息中的线程需求量确定用于执行待处理任务的云平台为容器或虚拟机。
如果从任务配置信息中确定执行待处理任务所需的线程需求量大于预设的第一阈值,则确定执行待处理任务的云平台为虚拟机平台;如果从任务配置信息中确定执行待处理任务所需的线程需求量小于或等于预设的第一阈值,则确定执行待处理任务的云平台为容器平台。
204,将待处理任务分发至容器或虚拟机执行。
具体的,容器平台可以是k8s平台或马拉松平台,虚拟机可以是x86集群。
本发明实施例通过部署多个云平台,在应用调度中可以根据待处理任务的实际情况分发至合适的云平台进行处理。
结合图1所示的跨云平台任务调度系统,本发明实施例提供了另一种跨云平台任务调度方法,所述方法中任务调度器会根据任务配置信息中的线程需求量确定将待处理任务分发至容器执行,如图3所示,该方法的处理步骤包括:
301,上位机将任务配置信息录入缓存服务器,并在任务配置数据库进行记录。
302,上位机定时扫描缓存服务器中的任务配置信息,将到期需要执行的待处理任务分发至缓存服务器中的任务队列。
303,上位机读取任务列队中的待处理任务的任务配置信息,根据任务配置信息,确定用于执行待处理任务的云平台为容器平台。
304,上位机将待处理任务分发至容器执行,并通过资源调度接口向容器发送启动指令。
具体的,启动指令中会包含容器需要执行的待处理任务以及任务数量等信息,启动指令用于启动对应容器组中对应分片的容器以及对应容器中的执行器。
305,容器接收上位机中资源调度器发送的启动指令并完成启动。
具体的,容器在接收上位机中资源调度器发送的启动指令并完成启动后,会向缓存服务器注册用于执行待处理任务的执行器信息,以及用于表征容器健康状态的心跳配置信息。
306,容器从缓存服务器获取具体的待处理任务,并通过执行器执行待处理任务。
具体的,对应容器分片中的执行器启动后连接缓存服务器中的任务队列,接收具体的待处理任务,并执行待处理任务。
当容器执行完分配到的待处理任务后,主动将相应待处理任务的任务状态设置为完成并在缓存服务器的任务队列信息中进行更新。同时通知任务调度器任务执行器完成运行,释放容器资源。
307,上位机定时扫描缓存服务器中的任务队列信息和心跳配置信息。
具体的,上位机中的任务监控器定时扫描缓存服务器中的任务队列信息,以随时获取任务队列中的待处理任务的执行情况。
同时上位机中的任务监控器还需要定时扫描各个容器上报至缓存服务器的心跳配置信息,以获取执行待处理任务的各个容器以及容器内部执行器的健康状态。当根据心跳配置信息确定容器或容器中的执行器出现异常时,需要将异常容器内正在执行的待处理任务重新分发至其他容器执行。
本发明实施例通过将待处理任务分发至容器中执行,支持业务上的分片配置,使得任务管理更加灵活。同时还可自动监控各容器及执行器的健康状态,在容器或执行器出现异常时将正在执行的待处理任务分发至其他容器执行。
结合图1所示的跨云平台任务调度系统,本发明实施例提供了另一种跨云平台任务调度方法,所述方法中任务调度器会根据任务配置信息中的线程需求量确定将待处理任务分发至虚拟机执行,如图4所示,该方法的处理步骤包括:
401,上位机将任务配置信息录入缓存服务器,并在任务配置数据库进行记录。
402,上位机定时扫描缓存服务器中的任务配置信息,将到期需要执行的待处理任务分发至缓存服务器中的任务队列。
403,上位机读取任务列队中的待处理任务的任务配置信息,根据任务配置信息,确定用于执行待处理任务的云平台为容器或虚拟机。
404,上位机将待处理任务分发至虚拟机执行。
405,上位机读取各个虚拟机的资源信息,并根据各个虚拟机的资源信息确定出目标执行实例执行待处理任务。
具体的,任务调度器读取各虚拟机的资源监控信息,包括虚拟机资源剩余量,以及线程池剩余量等信息。资源调度器根据资源占用量以及线程池资源剩余量确定出最优的执行实例即目标执行实例用来执行待处理任务。
上位机中的任务配置器将确定出的目标执行实例信息和待处理任务发送至任务分发节点,用于目标执行实例从任务执行分发节点获取需要执行的待处理任务,并从缓存服务器获取待处理任务的任务配置信息后开始执行。
其中,任务分发节点一般部署于zookeeper集群,用于根据任务调度器确定的分发结果将待处理任务分发至目标执行实例。
406,虚拟机接收待处理任务和待处理任务的任务配置信息后,执行待处理任务。
具体的,虚拟机中的目标执行实例从任务分发节点接收待处理任务,并从缓存服务器接收任务配置信息后开始执行待处理任务。
本发明实施例通过选举机制,在各个虚拟机中选择最优的目标执行实例执行待处理任务,最大化的利用利用了云化资源。
对应上述跨云平台任务调度方法,本发明实施例还提供了一种跨云平台任务调度装置。参见图5,所述跨云平台任务调度装置可以包括:扫描模块501、确定模块502和分发模块503。
扫描模块501,定时扫描缓存服务器中的任务配置信息,将到期需要执行的待处理任务分发至所述缓存服务器中的任务队列。
确定模块502,读取所述任务列队中的待处理任务的任务配置信息,根据所述任务配置信息,确定用于执行所述待处理任务的云平台为容器或虚拟机。
分发模块503,将所述待处理任务分发至所述容器或所述虚拟机执行。
图5所示实施例提供的跨云平台任务调度装置可用于执行本说明书所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
图6为本说明书电子设备一个实施例的结构示意图,电子设备可以是跨云平台任务调度设备。如图6所示,上述电子设备可以包括至少一个处理器;以及与上述处理单元通信连接的至少一个存储器,其中:存储器存储有可被处理单元执行的程序指令,上述处理器调用上述程序指令能够执行本实施例提供的跨云平台任务调度方法。
其中,上述电子设备可以为能够与用户进行智能对话的设备,例如:云服务器,本说明书实施例对上述电子设备的具体形式不作限定。可以理解的是,这里的电子设备即为方法实施例中提到的机器。
图6示出了适于用来实现本说明书实施方式的示例性电子设备的框图。图6显示的电子设备仅仅是一个示例,不应对本说明书实施例的功能和使用范围带来任何限制。
如图6所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器610、通信接口620、存储器630,连接不同系统组件(包括存储器630、通信接口620和处理器610)的通信总线640。
通信总线640表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器630可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。电子设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。存储器630可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本说明书各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器630中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本说明书所描述的实施例中的功能和/或方法。
处理器610通过运行存储在存储器630中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书所示实施例提供的跨云平台任务调度方法。
本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书所示实施例提供的跨云平台任务调度方法。
上述非暂态计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(Erasable ProgrammableRead Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明实施例还提供了一种智能眼镜。智能眼镜用于执行上述跨云平台任务调度方法,以帮助用户在没有触摸屏的情况下实现对跨云平台任务调度。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本说明书实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer;以下简称:PC)、个人数字助理(Personal Digital Assistant;以下简称:PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
在本说明书所提供的实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本说明书各个实施例所述方法的部分步骤。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种跨云平台任务调度方法,其特征在于,所述方法应用于上位机,所述上位机中部署有任务调度器、任务监控器和任务配置器,所述任务调度器执行所述方法,包括:
定时扫描缓存服务器中的任务配置信息,将到期需要执行的待处理任务分发至所述缓存服务器中的任务队列;
读取所述任务列队中的待处理任务的任务配置信息,根据所述任务配置信息,确定用于执行所述待处理任务的云平台为容器或虚拟机;
将所述待处理任务分发至所述容器或所述虚拟机执行。
2.根据权利要求1所述的方法,其特征在于,所述定时扫描缓存服务器中的任务配置信息之前,所述方法还包括:
通过上位机中的所述任务配置器,将所述任务配置信息录入所述缓存服务器,并将所述任务配置信息录入配置数据库进行记录。
3.根据权利要求1所述的方法,其特征在于,所述根据所述任务配置信息,确定用于执行所述待处理任务的云平台为容器或虚拟机,所述方法包括:
根据所述任务配置信息中的线程需求量确定用于执行所述待处理任务的云平台为容器或虚拟机;
如果从所述任务配置信息中确定执行所述待处理任务所需的线程需求量大于预设的第一阈值,则确定执行所述待处理任务的云平台为虚拟机;
如果从所述任务配置信息中确定执行所述待处理任务所需的线程需求量小于或等于预设的第一阈值,则确定执行所述待处理任务的云平台为容器。
4.根据权利要求1所述的方法,其特征在于,所述将所述待处理任务分发至所述容器执行,所述方法包括:
根据不同业务类型在容器中设置不同业务分片;
将所述待处理任务分发至容器执行时,根据所述待处理任务所对应的任务类型,将所述待处理任务分发至对应的业务分片中执行。
5.根据权利要求1所述的方法,其特征在于,所述将所述待处理任务分发至所述容器执行,所述方法还包括:
通过资源调度接口向容器发送启动指令,所述启动指令用于所述容器启动,并向所述缓存服务器注册心跳配置信息和执行器信息;
所述心跳配置信息用于描述所述容器的健康状态,所述执行器信息用于所述缓存服务器向所述容器中对应的执行器下发待处理任务进行处理;
所述容器用于从所述缓存服务器获取具体的待处理任务,并通过所述执行器执行所述待处理任务。
6.根据权利要求5所述的方法,其特征在于,所述执行所述待处理任务之后,所述方法包括:
通过上位机中的所述任务监控器定时扫描所述缓存服务器中的任务队列信息和所述容器上报的心跳配置信息;
根据所述任务队列信息确定所述待处理任务的执行情况,根据所述心跳配置信息确定所述容器的健康状态和运行状态;
其中,所述容器定时向所述缓存服务器上报心跳配置信息,并在执行完成所述待处理任务后向所述缓存服务器更新所述任务队列信息。
7.根据权利要求6所述的方法,其特征在于,所述根据所述心跳配置信息确定所述容器的健康状态和运行状态,所述方法包括:
当根据所述容器上报的心跳配置信息确定所述容器中的执行器出现异常时,释放所述异常执行器所在的容器,并重新分发所述异常执行器所执行的待处理任务。
8.根据权利要求1所述的方法,其特征在于,所述将所述待处理任务分发至所述虚拟机执行,所述方法包括:
读取各个虚拟机的资源信息,并根据所述各个虚拟机的资源信息确定出目标执行实例执行所述待处理任务;
将所述确定出的目标执行实例信息和待处理任务发送至任务执行分发节点,用于所述目标执行实例从所述任务执行分发节点获取需要执行的待处理任务,并从所述缓存服务器获取待处理任务的任务配置信息后开始执行。
9.一种跨云平台任务调度装置,其特征在于,包括:
扫描模块,定时扫描缓存服务器中的任务配置信息,将到期需要执行的待处理任务分发至所述缓存服务器中的任务队列;
确定模块,读取所述任务列队中的待处理任务的任务配置信息,根据所述任务配置信息,确定用于执行所述待处理任务的云平台为容器或虚拟机;
分发模块,将所述待处理任务分发至所述容器或所述虚拟机执行。
10.一种跨云平台任务调度设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492675.7A CN117056010A (zh) | 2022-05-07 | 2022-05-07 | 一种跨云平台任务调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492675.7A CN117056010A (zh) | 2022-05-07 | 2022-05-07 | 一种跨云平台任务调度方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117056010A true CN117056010A (zh) | 2023-11-14 |
Family
ID=88652350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210492675.7A Pending CN117056010A (zh) | 2022-05-07 | 2022-05-07 | 一种跨云平台任务调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056010A (zh) |
-
2022
- 2022-05-07 CN CN202210492675.7A patent/CN117056010A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107885762B (zh) | 智能大数据系统、提供智能大数据服务的方法和设备 | |
CN108537543B (zh) | 区块链数据的并行处理方法、装置、设备和存储介质 | |
CN110096344B (zh) | 任务管理方法、系统、服务器集群和计算机可读介质 | |
US9015724B2 (en) | Job dispatching with scheduler record updates containing characteristics combinations of job characteristics | |
CN109324977A (zh) | 应用程序卡顿的检测方法、装置及电子设备 | |
US8352946B2 (en) | Managing migration ready queue associated with each processor based on the migration ready status of the tasks | |
CN111831410A (zh) | 任务处理方法、装置、存储介质及电子设备 | |
CN110287146B (zh) | 应用下载的方法、设备和计算机存储介质 | |
CN109104491A (zh) | 一种微服务调用方法、装置、服务器及存储介质 | |
CN109240802B (zh) | 请求处理方法和装置 | |
CN110673959A (zh) | 用于处理任务的系统、方法和装置 | |
CN111679911A (zh) | 云环境中gpu卡的管理方法、装置、设备及介质 | |
CN112395097A (zh) | 一种消息处理方法、装置、设备和存储介质 | |
CN114327894A (zh) | 资源分配方法、装置、电子设备及存储介质 | |
CN110033242B (zh) | 工作时间确定方法、装置、设备和介质 | |
CN111831411A (zh) | 任务处理方法、装置、存储介质及电子设备 | |
CN110515749B (zh) | 信息发送的队列调度的方法、装置、服务器和存储介质 | |
CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
CN112749062A (zh) | 服务端程序监控方法、装置、计算机设备及存储介质 | |
US9645637B2 (en) | Managing a free list of resources to decrease control complexity and reduce power consumption | |
US8707449B2 (en) | Acquiring access to a token controlled system resource | |
CN117056010A (zh) | 一种跨云平台任务调度方法和装置 | |
CN112035460A (zh) | 一种标识分配方法、装置、设备和存储介质 | |
CN113391896B (zh) | 任务处理方法及装置、存储介质及电子设备 | |
CN115576685A (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 |