CN113238841B - 一种基于云计算技术的任务调度方法 - Google Patents
一种基于云计算技术的任务调度方法 Download PDFInfo
- Publication number
- CN113238841B CN113238841B CN202110512913.1A CN202110512913A CN113238841B CN 113238841 B CN113238841 B CN 113238841B CN 202110512913 A CN202110512913 A CN 202110512913A CN 113238841 B CN113238841 B CN 113238841B
- Authority
- CN
- China
- Prior art keywords
- task
- cloud computing
- node
- nodes
- information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000005516 engineering process Methods 0.000 title claims abstract description 15
- 238000012384 transportation and delivery Methods 0.000 claims abstract description 19
- 239000002243 precursor Substances 0.000 claims abstract description 17
- 239000000284 extract Substances 0.000 claims abstract description 4
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000003139 buffering effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002618 waking effect Effects 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/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
-
- 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/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于云计算技术的任务调度方法,包括如下步骤:S1、建立云计算调度系统,获取任务流程,对任务流程的每一步进行拆分,并构建任务流程内所有任务节点的有向图;S2、依次记录有向图中每一节点的任务信息到云计算数据库的链表中;S3、系统触发有向图内所有无前驱节点的节点任务,并提取该类节点的任务信息至预投递区,并申请开启一定数量的虚拟机;S4、已开启的虚拟机申请任务,并在执行完成后反馈任务结果;S5、执行完成的任务节点更新节点状态为完成;S6、动态检测有向图中所有节点,提取出前驱节点都为完成状态的节点任务至云计算调度系统的预投递区;S7、动态调整虚拟机开启数量;S8、重复步骤S4‑S7,直到完成任务调度。
Description
技术领域
本发明涉及云计算资源管理技术领域,尤其是涉及一种基于云计算技术的任务调度方法。
背景技术
随着云计算技术的日益普及,日常云计算需求日益增加,当前已有的集群管理及任务管理模式已无法满足过量的任务执行需求,使得大量的云计算资源浪费和算力的损耗。
以往的云计算技术在任务调度执行上为任务寻找资源,使得任务连续性不强,任务开启及等待时间过久,算力空开等问题日益加重。往往在面对这样问题时的解决方案都是增加新的计算资源扩充算力。
因此,为最大程度的使用资源,减少算力浪费等问题,目前亟需一种提升算力利用率和资源管理的调度方法。
发明内容
为解决上述背景技术中提出的问题,本发明的目的在于提供一种基于云计算技术的任务调度方法。
为实现上述目的,本发明采取的技术方案为:
一种基于云计算技术的任务调度方法,包括如下步骤:
S1、建立云计算调度系统,获取任务流程,对任务流程的每一步进行拆分,以拆分为多个任务节点,并构建任务流程内所有任务节点的有向图;
S2、依次记录步骤S1中构建的有向图中每一节点的任务信息到云计算数据库的链表中,其中,任务信息包括预设资源信息、前驱节点信息和后置节点信息,前驱节点指任务触发的前一步流程,后置节点指任务结果可以触发的后一步流程;
S3、云计算调度系统触发有向图内所有无前驱节点的节点任务,并从云计算数据库的链表中提取该类节点的任务信息至云计算调度系统的预投递区,并向计算队列申请开启一定数量的虚拟机;
S4、计算队列内已开启的虚拟机向云计算调度系统申请任务,以执行云计算调度系统的预投递区内的任务,并在执行完成后反馈任务结果;
S5、执行完成的任务节点更新节点状态为完成;
S6、动态检测有向图中所有节点,提取出前驱节点都为完成状态的节点任务至云计算调度系统的预投递区;
S7、判断当前预投递区任务数量,以动态调整虚拟机开启数量;
S8、重复步骤S4-S7,直到数据库中所有节点任务状态都为完成,该任务流程调度结束,清空该任务流程数据库信息,反馈该任务流程完成。
在一些实施例中,在步骤S3和S7中,虚拟机的开启数量由预设的最小开机量、最大开机量以及当前预投递区的数据缓存量决定。
在一些实施例中,在步骤S8后,虚拟机维持最小开机量,并等待新任务。
在一些实施例中,若任务在某一节点报错,则当前正在执行的任务停止,新任务停止进入计算队列,并反馈报错的节点,保留已执行任务的生成文件,总体任务停止运行,并清空数据库内的相应数据。
与现有技术中的传统调度方法相比,本发明提供的基于云计算技术的任务调度方法的有益效果是:1、本发明在执行过程中为开启的虚拟机主动拉取任务,并非常规被动响应任务而开机,减少因计算队列机器开关机和环境调试过程造成的时间资源损耗,尤其针对大型连续和批量式的任务执行;2、本发明选用了有向图结构模型,在整个调度过程中动态更新有向图结构模型,以最大限度提高异步并行能力,相较于常规任务队列调度提高任务执行效率;3、本发明对于用户推动分步式任务,相较于常规对待不同资源需求的步骤,大大节省资源空耗的浪费,使操作者可以灵活动态调整不同环节的资源需求,并清晰不同环节任务执行细节,提高任务调度效率。
附图说明
图1为本发明提供的基于云计算技术的任务调度方法的流程图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合附图和具体实施方式,进一步阐述本发明是如何实施的。
参照图1所示,本发明提供了一种基于云计算技术的任务调度方法,包括如下步骤:
S1、建立云计算调度系统,获取任务流程,对任务流程的每一步进行拆分,以拆分为多个任务节点,并构建任务流程内所有任务节点的有向图;
S2、依次记录步骤S1中构建的有向图中每一节点的任务信息到云计算数据库的链表中,其中,任务信息包括预设资源信息、前驱节点信息和后置节点信息,前驱节点指任务触发的前一步流程,后置节点指任务结果可以触发的后一步流程;
S3、云计算调度系统触发有向图内所有无前驱节点的节点任务,并从云计算数据库的链表中提取该类节点的任务信息至云计算调度系统的预投递区,并向计算队列申请开启一定数量的虚拟机;
S4、计算队列内已开启的虚拟机向云计算调度系统申请任务,以执行云计算调度系统的预投递区内的任务,并在执行完成后反馈任务结果;
S5、执行完成的任务节点更新节点状态为完成;
S6、动态检测有向图中所有节点,提取出前驱节点都为完成状态的节点任务至云计算调度系统的预投递区;
S7、判断当前预投递区任务数量,以动态调整虚拟机开启数量;
S8、重复步骤S4-S7,直到数据库中所有节点任务状态都为完成,该任务流程调度结束,清空该任务流程数据库信息,反馈该任务流程完成。
优选地,在步骤S3和S7中,虚拟机的开启数量由预设的最小开机量、最大开机量以及当前预投递区的数据缓存量决定。
例如,任务执行过程中,当前任务量由当前预投递区的数据缓存量决定,若发现当前任务量远小于计算队列虚拟机开启数量时,由调度系统逐步关闭空闲虚拟机,直至满足当前任务执行的最小虚拟机开启量,或者已达到预设的最小开机量。相应地,若发现当前任务量远大于计算队列虚拟机开启数量时,由调度系统逐步开启虚拟机,直至满足当前任务执行的最小虚拟机开启量,或者已达到预设的最大开机量。本发明通过动态扩容和收缩计算资源。避免计算资源的浪费,任务量大时也能满足需求。
可以理解的是,虚拟机由任务需求调起,可根据预设规则分别开启不同型号的虚拟机,开启的不同型号的虚拟机的主动拉取多维状态下可以执行的任务。
优选地,在步骤S8后,虚拟机维持最小开机量,并等待新任务。
进一步地,若任务在某一节点报错,则当前正在执行的任务停止,新任务停止进入计算队列,并反馈报错的节点,保留已执行任务的生成文件,总体任务停止运行,并清空数据库内的相应数据。
在一个实施例中,步骤S1中,建立的有向图可表示为G=(V,E),每个任务定义为有向图内节点Vi,任务间有衔接关系的连接定义为有向图的边Ei;可以得到该流程任务节点集V=(V1,V2,V3,......),基于有向图边的边集E=(E1,E2,E3,......);
步骤S2中,基于节点集和对应边集,按节点记录所有有向图节点的入度和出度信息,定义每个节点入度和出度信息集为M=((I1,O1),(I2,O2),(I3,O3),......),Ii表示入度信息(即前驱节点数量),Oi表示出度信息(即后置节点数量),若不存在相应的信息,则对应的值为0;赋予每个节点唯一的ID,通过ID对每个节点任务的所有相关元数据使用链表存储在云计算数据库A中;
步骤S3中,建立独立的数据库S作为预投递区,调度在数据库A中存储的M集,标记所有满足Ii=0的节点,即所有无前驱节点的节点任务,将该部分节点缓存进数据库S,并向计算队列申请开启一定数量的虚拟机;
步骤S4中,所有任务在执行过程中,由计算队列内已开启的虚拟机向云计算调度系统发起执行任务申请,并从数据库S获取资源需求适合的任务,在执行完成后反馈任务结果;
步骤S5中,执行完成后,对应任务节点的状态反馈信息在调度指导下,数据库A中的对应任务节点状态信息将会更新为完成;
步骤S6中,更新数据库A中存储的所有任务节点Vi的入度Ii和出度Oi信息,对所有已完成任务节点Vi的后置节点执行Ii=Ii-1,更新完成后,标记所有满足当前状态下Ii=0的节点,即所有前驱节点都为完成状态的未执行节点任务,将该部分节点缓存进数据库S;
步骤S7中,依照预设的最大开机量、最小开机量以及当前数据库S的缓存量智能动态调整虚拟机开启数量;
步骤S8中,重复步骤S4-S7,直到完成全部任务;
可见,本发明提供的基于云计算技术的任务调度方法,能够减少算力资源浪费,提升任务执行效率,有效利用计算调度和数据库的交互以加强任务执行过程的资源合理分配利用。在云计算调度中,通过拆分任务次序并依次唤醒虚拟机获取任务执行,可以凭借指定数量的计算资源最大限度设置任务队列和调整任务执行。基于数据库多维度的信息存储及链表的数据关联,本发明在任务流程创建之始便建立所有任务顺序和任务细节信息,数据库可以基于队列反馈信息及时更新任务状态信息,用于及时调度新的任务执行。本发明还能够通过预设资源需求,调整指定计算队列内相应机型的开机数量,赋予计算队列内每台虚拟机向调度系统申请任务执行的权利。本发明有助于提高云计算资源利用效率,且增强云端计算调度能力的边缘计算能力。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围中。
Claims (4)
1.一种基于云计算技术的任务调度方法,其特征在于,包括如下步骤:
S1、建立云计算调度系统,获取任务流程,对任务流程的每一步进行拆分,以拆分为多个任务节点,并构建任务流程内所有任务节点的有向图;
S2、依次记录步骤S1中构建的有向图中每一节点的任务信息到云计算数据库的链表中,其中,任务信息包括预设资源信息、前驱节点信息和后置节点信息,前驱节点指任务触发的前一步流程,后置节点指任务结果可以触发的后一步流程;
S3、云计算调度系统触发有向图内所有无前驱节点的节点任务,并从云计算数据库的链表中提取该类节点的任务信息至云计算调度系统的预投递区,并向计算队列申请开启一定数量的虚拟机;
S4、计算队列内已开启的虚拟机向云计算调度系统申请任务,以执行云计算调度系统的预投递区内的任务,并在执行完成后反馈任务结果;
S5、执行完成的任务节点更新节点状态为完成;
S6、动态检测有向图中所有节点,提取出前驱节点都为完成状态的节点任务至云计算调度系统的预投递区;
S7、判断当前预投递区任务数量,以动态调整虚拟机开启数量;
S8、重复步骤S4-S7,直到数据库中所有节点任务状态都为完成,该任务流程调度结束,清空该任务流程数据库信息,反馈该任务流程完成。
2.根据权利要求1所述的基于云计算技术的任务调度方法,其特征在于,在步骤S3和S7中,虚拟机的开启数量由预设的最小开机量、最大开机量以及当前预投递区的数据缓存量决定。
3.根据权利要求2所述的基于云计算技术的任务调度方法,其特征在于,在步骤S8后,虚拟机维持最小开机量,并等待新任务。
4.根据权利要求1所述的基于云计算技术的任务调度方法,其特征在于,若任务在某一节点报错,则当前正在执行的任务停止,新任务停止进入计算队列,并反馈报错的节点,保留已执行任务的生成文件,总体任务停止运行,并清空数据库内的相应数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110512913.1A CN113238841B (zh) | 2021-05-11 | 2021-05-11 | 一种基于云计算技术的任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110512913.1A CN113238841B (zh) | 2021-05-11 | 2021-05-11 | 一种基于云计算技术的任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113238841A CN113238841A (zh) | 2021-08-10 |
CN113238841B true CN113238841B (zh) | 2023-12-12 |
Family
ID=77133488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110512913.1A Active CN113238841B (zh) | 2021-05-11 | 2021-05-11 | 一种基于云计算技术的任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113238841B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909751B (zh) * | 2023-09-11 | 2023-12-01 | 北京蓝耘科技股份有限公司 | 一种云计算系统中的资源分配方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126317A (zh) * | 2016-06-24 | 2016-11-16 | 安徽师范大学 | 应用于云计算环境的虚拟机调度方法 |
CN106775932A (zh) * | 2016-11-29 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 一种云计算系统中随机事件触发的实时工作流调度方法 |
CN107025139A (zh) * | 2017-03-21 | 2017-08-08 | 北京天云融创软件技术有限公司 | 一种基于云计算的高性能计算调度框架 |
CN107291536A (zh) * | 2017-05-23 | 2017-10-24 | 南京邮电大学 | 一种云计算环境下应用任务流调度方法 |
CN107341041A (zh) * | 2017-06-27 | 2017-11-10 | 南京邮电大学 | 基于优先队列的云任务多维约束回填调度方法 |
-
2021
- 2021-05-11 CN CN202110512913.1A patent/CN113238841B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126317A (zh) * | 2016-06-24 | 2016-11-16 | 安徽师范大学 | 应用于云计算环境的虚拟机调度方法 |
CN106775932A (zh) * | 2016-11-29 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 一种云计算系统中随机事件触发的实时工作流调度方法 |
CN107025139A (zh) * | 2017-03-21 | 2017-08-08 | 北京天云融创软件技术有限公司 | 一种基于云计算的高性能计算调度框架 |
CN107291536A (zh) * | 2017-05-23 | 2017-10-24 | 南京邮电大学 | 一种云计算环境下应用任务流调度方法 |
CN107341041A (zh) * | 2017-06-27 | 2017-11-10 | 南京邮电大学 | 基于优先队列的云任务多维约束回填调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113238841A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2024060789A1 (zh) | 面向智能计算的分布式训练任务调度方法、系统和装置 | |
WO2021159638A1 (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
WO2020233262A1 (zh) | 一种基于Spark的多中心数据协同计算的流处理方法 | |
US20090113440A1 (en) | Multiple Queue Resource Manager | |
CN113238841B (zh) | 一种基于云计算技术的任务调度方法 | |
CN106897133B (zh) | 一种基于pbs作业调度管理集群负载的实现方法 | |
CN115237580B (zh) | 面向智能计算的流水并行训练自适应调整系统、方法 | |
CN114579270A (zh) | 一种基于资源需求预测的任务调度方法及系统 | |
CN115878260A (zh) | 一种低碳自适应云主机任务调度系统 | |
Song et al. | A deep reinforcement learning-based task scheduling algorithm for energy efficiency in data centers | |
CN108415766A (zh) | 一种渲染任务动态调度方法 | |
CN116028193B (zh) | 一种混部集群的大数据任务动态高能效调度方法和系统 | |
WO2023193653A1 (zh) | 内容操作方法、装置、服务器及存储介质 | |
CN116340393A (zh) | 数据库饱和度的预测方法、存储介质及数据库系统 | |
WO2023193527A1 (zh) | 线程执行方法、装置、电子设备及计算机可读存储介质 | |
CN117251044A (zh) | 一种基于arima技术的云服务器动态能耗管理方法和系统 | |
CN115686830A (zh) | 边缘计算资源弹性调度方法及系统 | |
CN115562812A (zh) | 面向机器学习训练的分布式虚拟机调度方法、装置和系统 | |
CN111813512B (zh) | 一种基于动态分区的高能效Spark任务调度方法 | |
CN110532091B (zh) | 基于图形处理器的图计算边向量负载平衡方法及装置 | |
CN110515729B (zh) | 基于图形处理器的图计算节点向量负载平衡方法及装置 | |
CN109298917A (zh) | 一种适用于实时系统混合任务的自适应调度方法 | |
CN112052087A (zh) | 动态资源调整与迁移的深度学习训练系统及方法 | |
CN108563497B (zh) | 一种高效的多维度算法调度方法、任务服务器 | |
CN106293000B (zh) | 一种面向云环境的虚拟机存储子系统节能方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |