CN115904671A - 一种边缘计算环境下的任务调度方法、装置、设备及介质 - Google Patents
一种边缘计算环境下的任务调度方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115904671A CN115904671A CN202310137229.9A CN202310137229A CN115904671A CN 115904671 A CN115904671 A CN 115904671A CN 202310137229 A CN202310137229 A CN 202310137229A CN 115904671 A CN115904671 A CN 115904671A
- Authority
- CN
- China
- Prior art keywords
- node
- task
- queue
- idle
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004364 calculation method Methods 0.000 claims abstract description 9
- 230000015654 memory Effects 0.000 claims description 125
- 238000004590 computer program Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 14
- 238000009826 distribution Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 6
- 238000001514 detection method Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 239000000872 buffer Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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
-
- 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]
-
- 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)
- Multi Processors (AREA)
Abstract
本发明属于大数据技术领域,具体涉及一种边缘计算环境下的任务调度方法、装置、设备及介质,本发明通过将中心节点和边缘节点进行信息绑定,获取边缘节点的相关资源信息,并计算得到各边缘节点的资源平均使用率,接着对边缘节点的类型进行判定,将边缘节点存到为判定结果的空闲队列中等待任务分配,对待处理任务进行分类,并将任务调度到分类结果的空闲队列中的边缘节点内。能够使中心节点同步了解边缘节点的状态,并能够对任务进行分类,然后和边缘节点进行类型的匹配,并让每个边缘节点都能执行任务,使得整个计算流程尽可能的以最优的方式完成,实时性较强,且执行效率高、适应性强。
Description
技术领域
本发明属于大数据技术领域,具体涉及一种边缘计算环境下的任务调度方法、装置、设备及介质。
背景技术
边缘计算是一种将更高处理和存储能力的智能扩展到网络边缘的手段,从而减少网络拥塞、提高资源优化以及用户体验和网络整体性能。边缘计算可以将任务分配到附近可以分配的边缘节点终端进行处理,边缘节点承载了边缘侧的计算与存储能力,由不同的异构物理设备与硬件资源组成。然而在边缘计算的任务卸载处理过程中,异构边缘节点的资源特征及其性能表现难以被准确感知,缺少真实工作环境下异构边缘节点的类型检测方法。于边缘计算而言,任务调度与执行是影响性能的关键因素,边缘节点资源性能特征的缺失成为限制边缘节点任务调度算法发展与边缘计算性能提升的重要因素。
目前,在边缘计算对边缘节点的任务调度研究还较少,在异构环境中,每个边缘节点处理不同类型的任务的能力不一样,如果没有一定专门的任务调度方法,会导致出现网络要求高的任务被调度到网络较差的边缘节点中,或者一种计算型任务被调度到了磁盘占用低的边缘节点中等边缘节点与任务类型不匹配的情况。无法让特定类型的边缘节点处理相同类型的任务,导致整个计算流程可能出现高时延、处理速度慢、效率低等情况,不能够满足实时性等要求,难以满足某些企业的业务需要。
发明内容
本发明的目的在于提供一种边缘计算环境下的任务调度方法、装置、设备及介质,以解决现有技术中,各个边缘节点存在着计算处理能力的差异,随机分配很容易将需要特定资源处理的任务分配到不匹配的边缘节点中,降低整个业务的处理能力和效率的问题。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一方面,提供了一种边缘计算环境下的任务调度方法,包括如下步骤:
在中心节点NodeCenter中定义一信息绑定哈希表InfoBindMap;其中,所述信息绑定哈希表InfoBindMap的键为边缘节点nodei的IP地址IPKeyi,值为节点类型集合typeListi;
确定所述边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi;
依据所述边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi分别与预设标准的大小关系,确定所述边缘节点nodei的类型,并将所述边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi中;
依据所述节点类型集合typeListi中的类型,将所述边缘节点nodei分别加入到对应边缘节点类型的空闲队列中;
获取待分配任务集合Task,对所述待分配任务集合Task中的每个待分配任务taski进行分类;
计算每个所述待分配任务taski的优先级priorityLeveli,所述待分配任务taski的分配顺序为按照优先级priorityLeveli从大到小的顺序;
基于所述待分配任务taski的类型和分配顺序,选择对应待分配任务taski类型的空闲队列,将选择的所述空闲队列位于队首的空闲节点出队,出队后的所述空闲节点记为工作节点taskNode,将所述待分配任务taski分配至所述工作节点taskNode,将已分配过任务的所述工作节点taskNode入队到空闲队列的队尾。
进一步的,在将所述待分配任务taski分配至所述工作节点taskNode的步骤之前,还包括步骤:
在每个所述边缘节点nodei中定义优先级执行队列priorityQueuei;
获取所述工作节点taskNode中的优先级执行队列priorityQueuei的大小;其中,所述优先级执行队列priorityQueuei中包括已分配至所述工作节点taskNode的任务;
当所述工作节点taskNode中优先级执行队列priorityQueuei大于或等于预设的优先执行队列大小阈值sizeLimit时,为所述待分配任务taski重新分配空闲队列中的其他空闲节点。
进一步的,在将所述待分配任务taski分配至所述工作节点taskNode的步骤之后,还包括步骤:
将分配至所述工作节点taskNode的任务依次入队优先级执行队列priorityQueuei,并同步记录进入优先级执行队列priorityQueuei的时间;其中,所述优先级执行队列priorityQueuei中任务的顺序按照任务的优先级priorityLeveli从大到小排列;
计算所述优先级执行队列priorityQueuei中任务的等待时间waitTimei,当所述等待时间waitTimei大于执行期限时间timeLimit时,将所述任务退出所述优先级执行队列priorityQueuei并为所述任务分配空闲队列中的其他空闲节点。
进一步的,所述依据所述边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi分别与预设标准的大小关系,确定所述边缘节点nodei的类型,并将所述边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi中的步骤,具体包括:
所述预设标准包括CPU使用率阈值limitCPU、内存使用率阈值limitMemory、磁盘读写阈值limitDisk和网络IO速度阈值limitNetIO;
若CPU平均使用率averageCpui<CPU使用率阈值limitCPU,则记边缘节点nodei的类型为CPU空闲节点cpuIdleNode;若内存平均使用率averageMemoryi<内存使用率阈值limitMemory,则记边缘节点nodei的类型为内存空闲节点memoryIdleNode;若磁盘平均使用率averageDiski<磁盘读写阈值limitDisk,则记边缘节点nodei的类型为磁盘空闲节点diskIdleNode;若网络IO平均速度averageNetIOi>网络IO速度阈值limitNetIO,则记边缘节点nodei的类型为网络IO空闲节点netIOIdleNode;
分别将边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi中。
进一步的,所述依据所述节点类型集合typeListi中的类型,将所述边缘节点nodei分别加入到对应边缘节点类型的空闲队列中的步骤,具体包括:
所述空闲队列包括CPU空闲节点队列cpuIdleQueue、内存空闲节点队列memoryIdleQueue、磁盘空闲节点队列diskIdleQueue和网络IO空闲节点队列netIOIdleQueue;
遍历所述节点类型集合typeListi;
若节点类型集合typeListi中存在CPU空闲节点cpuIdleNode,则将该CPU空闲节点cpuIdleNode加入CPU空闲节点队列cpuIdleQueue;
若节点类型集合typeListi中存在内存空闲节点memoryIdleNode,则将该内存空闲节点memoryIdleNode加入内存空闲节点队列memoryIdleQueue;
若节点类型集合typeListi中存在磁盘空闲节点diskIdleNode,则将该磁盘空闲节点diskIdleNode加入磁盘空闲节点队列diskIdleQueue;
若节点类型集合typeListi中存在网络IO空闲节点netIOIdleNode,则将该网络IO空闲节点netIOIdleNode加入网络IO空闲节点队列netIOIdleQueue。
进一步的,所述计算每个所述待分配任务taski的优先级priorityLeveli的步骤中,所述待分配任务taski的优先级priorityLeveli按照下式计算:
其中,priorityLevel为待分配任务taski的优先级,α=0.4,β=0.3,γ=0.2,δ=0.1;cpuNeed表示待分配任务taski需要的CPU利用率;memoryNeed表示待分配任务taski需要的内存利用率;ioNeed表示待分配任务taski需要的网络IO速度netIOSpeedj;diskNeed表示待分配任务taski需要的磁盘利用率。
进一步的,所述基于所述待分配任务taski的类型和分配顺序,选择对应待分配任务taski类型的空闲队列,将选择的所述空闲队列位于队首的空闲节点出队,出队后的所述空闲节点记为工作节点taskNode,将所述待分配任务taski分配至所述工作节点taskNode的步骤,具体包括:
所述待分配任务taski类型包括CPU型任务cpuTask、内存型任务memoryTask、磁盘型任务diskTask和网络IO型任务netIOTask;
如果待分配任务taski为CPU型任务cpuTask,则CPU空闲节点队列cpuIdleQueue队首出队得到CPU空闲节点cpuIdleNode,将CPU空闲节点cpuIdleNode记为工作节点taskNode并将待分配任务taski分配至工作节点taskNode;
如果待分配任务taski为内存型任务memoryTask,则内存空闲节点队列memoryIdleQueue队首出队得到内存空闲节点memoryIdleNode,将内存空闲节点memoryIdleNode记为工作节点taskNode并将待分配任务taski分配至工作节点taskNode;
如果待分配任务taski为磁盘型任务diskTask,则磁盘空闲节点队列diskIdleQueue队首出队得到磁盘空闲节点diskIdleNode,将磁盘空闲节点diskIdleNode记为工作节点taskNode并将待分配任务taski分配至工作节点taskNode;
如果待分配任务taski为网络IO型任务netIOTask,则网络IO空闲节点队列netIOIdleQueue队首出队得到网络IO空闲节点netIOIdleNode,将网络IO空闲节点netIOIdleNode记为工作节点taskNode并将待分配任务taski分配至工作节点taskNode。
本发明的第二方面,提供了一种边缘计算环境下的任务调度装置,包括:
信息绑定模块,用于在中心节点NodeCenter中定义一信息绑定哈希表InfoBindMap;其中,所述信息绑定哈希表InfoBindMap的键为边缘节点nodei的IP地址IPKeyi,值为节点类型集合typeListi;
第一获取模块,用于确定所述边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi;
第一计算模块,用于依据所述边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi分别与预设标准的大小关系,确定所述边缘节点nodei的类型,并将所述边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi中;
队列生成模块,用于依据所述节点类型集合typeListi中的类型,将所述边缘节点nodei分别加入到对应边缘节点类型的空闲队列中;
任务分类模块,用于获取待分配任务集合Task,对所述待分配任务集合Task中的每个待分配任务taski进行分类;
第二计算模块,用于计算每个所述待分配任务taski的优先级priorityLeveli,所述待分配任务taski的分配顺序为按照优先级priorityLeveli从大到小的顺序;
任务分配模块,用于基于所述待分配任务taski的类型和分配顺序,选择对应待分配任务taski类型的空闲队列,将选择的所述空闲队列位于队首的空闲节点出队,出队后的所述空闲节点记为工作节点taskNode,将所述待分配任务taski分配至所述工作节点taskNode,将已分配过任务的所述工作节点taskNode入队到空闲队列的队尾。
本发明的第三方面,提供了一种电子设备,包括处理器和存储器,处理器用于执行存储器中存储的计算机程序以实现上述的边缘计算环境下的任务调度方法。
本发明的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有至少一个指令,至少一个指令被处理器执行时实现上述的边缘计算环境下的任务调度方法。
与现有技术相比较,本发明的有益效果如下:
本发明提供的边缘计算环境下的任务调度方法,通过将中心节点和边缘节点进行信息绑定,获取边缘节点的相关资源信息,并计算得到各边缘节点的资源平均使用率,接着对边缘节点的类型进行判定,将边缘节点存到为判定结果的空闲队列中等待任务分配,然后对待处理任务进行分类,并将任务调度到分类结果的空闲队列中的边缘节点内。能够使中心节点同步了解边缘节点的状态,并能够对任务进行分类,然后和边缘节点进行类型的匹配,并让每个边缘节点都能执行任务,使得整个计算流程尽可能的以最优的方式完成,实时性较强,且执行效率高、适应性强。
附图说明
构成本申请的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例一种边缘计算环境下的任务调度方法流程示意图;
图2为本发明实施例一种边缘计算环境下的任务调度装置的结构框图;
图3为本发明实施例一种电子设备的结构框图。
具体实施方式
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本申请所属领域的一般技术人员的通常理解的含义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。
实施例1
如图1所示,一种边缘计算环境下的任务调度方法,包括如下步骤:
S1、在中心节点NodeCenter中定义一信息绑定哈希表InfoBindMap;其中,信息绑定哈希表InfoBindMap的键为边缘节点nodei的IP地址IPKeyi,值为节点类型集合typeListi。
具体的,本方案中将中心节点定义为NodeCenter,将中心节点NodeCenter的边缘节点定义为nodei。信息绑定哈希表InfoBindMap用于将中心节点与边缘节点进行信息绑定。
S2、确定边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi。
具体的,先获取边缘节点nodei的相关资源信息;其中,相关资源信息包括CPU相关信息、内存相关信息、磁盘相关信息和网络端口的读写数据量。然后,基于边缘节点nodei的相关资源信息,计算边缘节点nodei的CPU使用率cpuUsagej、内存使用率memoryUsagej、磁盘使用率diskUsagej和网络IO速度netIOSpeedj;然后基于边缘节点nodei的CPU使用率cpuUsagej、内存使用率memoryUsagej、磁盘使用率diskUsagej和网络IO速度netIOSpeedj,计算得到边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi。
S3、依据边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi分别与预设标准的大小关系,确定边缘节点nodei的类型,并将边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi中。
本方案中,预设标准包括CPU使用率阈值limitCPU、内存使用率阈值limitMemory、磁盘读写阈值limitDisk和网络IO速度阈值limitNetIO。
具体的,依据边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi分别与预设标准的大小关系,确定边缘节点nodei的类型,具体步骤为:若CPU平均使用率averageCpui<CPU使用率阈值limitCPU,则记边缘节点nodei为CPU空闲节点cpuIdleNode,并将CPU空闲节点cpuIdleNode加入节点类型集合typeListi;若内存平均使用率averageMemoryi<内存使用率阈值limitMemory,则记边缘节点nodei为内存空闲节点memoryIdleNode,并将内存空闲节点memoryIdleNode加入节点类型集合typeListi;若磁盘平均使用率averageDiski<磁盘读写阈值limitDisk,则记边缘节点nodei为磁盘空闲节点diskIdleNode,并将磁盘空闲节点diskIdleNode加入节点类型集合typeListi;若网络IO平均速度averageNetIOi>网络IO速度阈值limitNetIO,则记边缘节点nodei为网络IO空闲节点netIOIdleNode,并将网络IO空闲节点netIOIdleNode加入节点类型集合typeListi。
本方案中,将边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi之前,需要先获取信息绑定哈希表InfoBindMap中键为边缘节点nodei的IP地址对应的节点类型集合typeListi;其中,节点类型集合typeListi存储有该边缘节点的类型信息。
S4、依据节点类型集合typeListi中的类型,将边缘节点nodei分别加入到对应边缘节点类型的空闲队列中。
具体的,空闲队列包括CPU空闲节点队列cpuIdleQueue、内存空闲节点队列memoryIdleQueue、磁盘空闲节点队列diskIdleQueue和网络IO空闲节点队列netIOIdleQueue;
具体的,遍历节点类型集合typeListi;若节点类型集合typeListi中存在CPU空闲节点cpuIdleNode,则将该CPU空闲节点cpuIdleNode加入CPU空闲节点队列cpuIdleQueue;若节点类型集合typeListi中存在内存空闲节点memoryIdleNode,则将该内存空闲节点memoryIdleNode加入内存空闲节点队列memoryIdleQueue;若节点类型集合typeListi中存在磁盘空闲节点diskIdleNode,则将该磁盘空闲节点diskIdleNode加入磁盘空闲节点队列diskIdleQueue;若节点类型集合typeListi中存在网络IO空闲节点netIOIdleNode,则将该网络IO空闲节点netIOIdleNode加入网络IO空闲节点队列netIOIdleQueue。
S5、获取待分配任务集合Task,对待分配任务集合Task中的每个待分配任务taski进行分类。
具体的,待分配任务taski类型包括CPU型任务cpuTask、内存型任务memoryTask、磁盘型任务diskTask和网络IO型任务netIOTask;
S6、计算每个待分配任务taski的优先级priorityLeveli,待分配任务taski的分配顺序为按照优先级priorityLeveli从大到小的顺序。
具体的,待分配任务taski的优先级priorityLeveli按照下式计算:
其中,priorityLevel为待分配任务taski的优先级,α=0.4,β=0.3,γ=0.2,δ=0.1;cpuNeed表示待分配任务taski需要的CPU利用率;memoryNeed表示待分配任务taski需要的内存利用率;ioNeed表示待分配任务taski需要的网络IO速度netIOSpeedj;diskNeed表示待分配任务taski需要的磁盘利用率。
S7、基于待分配任务taski的类型,选择对应类型的空闲队列,将选择的空闲队列位于队首的空闲节点出队,出队后的空闲节点记为工作节点taskNode,将待分配任务taski分配至工作节点taskNode,将已分配过任务的工作节点taskNode入队到空闲队列的队尾。
具体的,如果待分配任务taski为CPU型任务cpuTask,则CPU空闲节点队列cpuIdleQueue队首出队得到CPU空闲节点cpuIdleNode,将CPU空闲节点cpuIdleNode记为工作节点taskNode,将任务分配至记为工作节点taskNode的CPU空闲节点cpuIdleNode;如果待分配任务taski为内存型任务memoryTask,则内存空闲节点队列memoryIdleQueue队首出队得到内存空闲节点memoryIdleNode,将内存空闲节点memoryIdleNode记为工作节点taskNode,将任务分配至记为工作节点taskNode的内存空闲节点memoryIdleNode;如果待分配任务taski为磁盘型任务diskTask,则磁盘空闲节点队列diskIdleQueue队首出队得到磁盘空闲节点diskIdleNode,将磁盘空闲节点diskIdleNode记为工作节点taskNode,将任务分配至记为工作节点taskNode的磁盘空闲节点diskIdleNode;如果待分配任务taski为网络IO型任务netIOTask,则网络IO空闲节点队列netIOIdleQueue队首出队得到网络IO空闲节点netIOIdleNode,将网络IO空闲节点netIOIdleNode记为工作节点taskNode,将任务分配至记为工作节点taskNode的网络IO空闲节点netIOIdleNode。
在其他的一些实施例中,在将待分配任务taski分配至工作节点taskNode的步骤之前,还包括步骤:在每个边缘节点nodei中定义优先级执行队列priorityQueuei;获取工作节点taskNode中的优先级执行队列priorityQueuei的大小;其中,优先级执行队列priorityQueuei中包括已分配至工作节点taskNode的任务;当工作节点taskNode中优先级执行队列priorityQueuei的大小大于或等于预设的优先执行队列大小阈值sizeLimit时,为待分配任务taski重新分配空闲队列中的其他空闲节点。
在其他的一些实施例中,在将待分配任务taski分配至工作节点taskNode的步骤之后,还包括步骤:将分配至工作节点taskNode的任务依次入队优先级执行队列priorityQueuei,并同步记录进入优先级执行队列priorityQueuei的时间;其中,优先级执行队列priorityQueuei中任务的顺序按照任务的优先级priorityLeveli从大到小排列;计算优先级执行队列priorityQueuei中任务的等待时间waitTimei,当等待时间waitTimei大于执行期限时间timeLimit时,将任务退出优先级执行队列priorityQueuei并为任务分配空闲队列中的其他空闲节点。
实施例2
本发明另一实施例提供了一种边缘计算环境下的任务调度方法,包括如下:
步骤1:遍历每个边缘节点记为nodei,在中心节点NodeCenter中定义一个信息绑定哈希表InfoBindMap,其中键为边缘节点nodei的IP地址IPKeyi,值为节点类型集合typeListi。
定义:CPU使用率阈值limitCPU,内存使用率阈值limitMemory,磁盘读写阈值limitDisk,网络IO速度阈值limitNetIO;定义检测计数器detectCounter,初值为0。
步骤2:在边缘节点nodei中,通过命令获取边缘节点nodei中CPU相关信息,利用公式(1)求解该边缘节点nodei的CPU使用率,记为cpuUsagej,保存在CPU使用率队列cpuRateQueue中,如果CPU使用率队列cpuRateQueue大小超过15,则将队首出队。
(1)
其中,user表示系统从启动时刻到检测时刻的用户态CPU时间;nice表示系统从启动时刻到检测时刻nice值为负的进程所占用的CPU时间;system表示系统从启动时刻到检测时刻系统模式运行时间;idle表示系统从启动时刻到检测时刻除磁盘IO和网络IO外的等待时间;iowait表示系统从启动时刻到检测时刻磁盘IO和网络IO的等待时间;irq表示系统从启动时刻到检测时刻硬件中断时间;softirq表示系统从启动时刻到检测时刻软件中断时间;totalCpuTime表示CPU的总时间。
步骤3:在边缘节点nodei中,通过命令获取边缘节点nodei中内存相关信息,并利用公式(2)求解该边缘节点nodei的内存使用率,记为memoryUsagej,保存在内存使用率队列memoryRateQueue中,如果内存使用率队列memoryRateQueue大小超过15,则将队首出队。
(2)
其中,MemTotal表示系统总内存;MemFree表示空闲内存数;Buffers表示内存缓冲区,用于缓存文件或系统常量;Cached表示高速缓冲区,系统高速存储器用的内存。
步骤4:在边缘节点nodei节点中,通过命令获取边缘节点nodei中磁盘相关信息,并利用公式(3)求解该边缘节点nodei的磁盘使用率diskUsagej,保存在磁盘使用率队列diskRateQueue中,如果磁盘使用率队列diskRateQueue大小超过15,则将队首出队。
(3)
其中,operateTime表示输入/输出操作花费的毫秒数;Time表示查看信息的系统时间。
步骤5:使用网络检测速度工具检测边缘节点nodei某端口的读写数据量,并利用公式(4)计算得到网络IO速度,记为netIOSpeedj,保存在网络IO速度队列netIORateQueue中,如果网络IO速度队列netIORateQueue大小超过15,则将队首出队。
(4)
其中,receivei表示第ti时刻网络端口接收字节数;sendi表示第ti时刻网络端口发送字节数;ti表示记录的系统时间。
步骤6:检测计数器detectCounter自增1,如果检测计数器detectCounter<10则跳转至步骤2,否则将检测计数器detectCounter重置为0。然后分别遍历CPU使用率队列cpuRateQueue、内存使用率队列memoryRateQueue、磁盘使用率队列diskRateQueue和网络IO速度队列netIORateQueue;利用公式(5)分别求得边缘节点nodei的CPU平均使用率averageCpui,内存平均使用率averageMemoryi,磁盘平均使用率averageDiski,网络IO平均速度averageNetIOi。
(5)
其中,cpuUsagek是CPU使用率队列cpuRateQueue中记录的第k次CPU使用率;cpuRateQueue.size是cpuRateQueue的大小;averageUsagek是内存使用率队列memoryRateQueue中记录的第k次CPU使用率;memoryRateQueue.size是cpuRateQueue的大小;diskUsagek是磁盘使用率队列diskRateQueue中记录的第k次磁盘使用率;diskRateQueue.size是diskRateQueue的大小;netIOUsagek是网络IO速度队列netIORateQueue中记录的第k次网络IO速度;netIORateQueue.size是cpuRateQueue的大小。
步骤7:根据边缘节点nodei的IP地址,获取信息绑定哈希表InfoBindMap中键为IP地址IPKeyi对应的节点类型集合typeListi。
若CPU平均使用率averageCpui<CPU使用率阈值limitCPU,则记边缘节点nodei的类型为CPU空闲节点cpuIdleNode,并将边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi;
若内存平均使用率averageMemoryi<内存使用率阈值limitMemory,则记边缘节点nodei的类型为内存空闲节点memoryIdleNode,并将边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi;
若磁盘平均使用率averageDiski<磁盘读写阈值limitDisk,则记边缘节点nodei的类型为磁盘空闲节点diskIdleNode,并将边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi;
若网络IO平均速度averageNetIOi>网络IO速度阈值limitNetIO,则记边缘节点nodei的类型为网络IO空闲节点netIOIdleNode,并将边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi。
步骤8:定义CPU空闲节点队列cpuIdleQueue,内存空闲节点队列memoryIdleQueue,磁盘空闲节点队列diskIdleQueue,网络IO空闲节点队列netIOIdleQueue。
遍历中心节点NodeCenter中信息绑定哈希表InfoBindMap,获取每个边缘节点nodei对应的值节点类型集合typeListi,并遍历节点类型集合typeListi;
若节点类型集合typeListi中存在CPU空闲节点cpuIdleNode,则将该CPU空闲节点cpuIdleNode加入CPU空闲节点队列cpuIdleQueue;
若节点类型集合typeListi存在内存空闲节点memoryIdleNode,则将该内存空闲节点memoryIdleNode加入内存空闲节点队列memoryIdleQueue;
若节点类型集合typeListi中存在磁盘空闲节点diskIdleNode,则将该磁盘空闲节点diskIdleNode加入磁盘空闲节点队列diskIdleQueue;
若节点类型集合typeListi中存在网络IO空闲节点netIOIdleNode,则将该网络IO空闲节点netIOIdleNode加入网络IO空闲节点队列netIOIdleQueue。
步骤9:开启一个辅助线程。主线程停顿2s跳转至步骤2,辅助线程跳转至步骤10。
步骤10:使用Linux性能测试软件phoronix-test-suite依次对待分配任务集合Task中的每个待分配任务taski进行分类,并获取待分配任务taski的相关信息参数,分类结果可以是CPU型任务cpuTask、内存型任务memoryTask、磁盘型任务diskTask和网络IO型netIOTask;利用公式(6)求得每个待分配任务taski的优先级priorityLeveli,优先级priorityLeveli大的优先执行。
(6)
其中α=0.4,β=0.3,γ=0.2,δ=0.1;cpuNeed表示待分配任务taski需要的CPU利用率;memoryNeed表示待分配任务taski需要的内存利用率;ioNeed表示待分配任务taski需要的网络IO速度;diskNeed表示待分配任务taski需要的磁盘利用率。
步骤11:如果待分配任务taski为CPU型任务cpuTask,则CPU空闲节点队列cpuIdleQueue队首出队得到CPU空闲节点cpuIdleNode,该CPU空闲节点cpuIdleNode记为工作节点taskNode,将待分配任务taski分配至工作节点taskNode,然后把工作节点taskNode再入队CPU空闲节点队列cpuIdleQueue队尾。
如果待分配任务taski为内存型任务memoryTask,则内存空闲节点队列memoryIdleQueue队首出队得到内存空闲节点memoryIdleNode,该内存空闲节点memoryIdleNode记为工作节点taskNode,将待分配任务taski分配至工作节点taskNode,然后把工作节点taskNode再入队内存空闲节点队列memoryIdleQueue队尾。
如果待分配任务taski为磁盘型任务diskTask,则磁盘空闲节点队列diskIdleQueue队首出队得到磁盘空闲节点diskIdleNode,该磁盘空闲节点diskIdleNode记为工作节点taskNode,将待分配任务taski分配至工作节点taskNode,然后把工作节点taskNode再入队磁盘空闲节点队列diskIdleQueue队尾。
如果待分配任务taski为网络IO型任务netIOTask,则网络IO空闲节点队列netIOIdleQueue队首出队得到网络IO空闲节点netIOIdleNode,该网络IO空闲节点netIOIdleNode记为工作节点taskNode,将待分配任务taski分配至工作节点taskNode,然后把工作节点taskNode再入队网络IO空闲节点队列netIOIdleQueue队尾。
步骤12:在每个边缘节点nodei中定义优先级执行队列priorityQueuei、优先执行队列大小阈值sizeLimit和执行期限时间timeLimit。
获取工作节点taskNode中的priorityQueuei的优先级执行队列大小size,若size≥sizeLimit,则跳转至步骤11重新分配空闲节点;否则继续步骤13。
步骤13:将分配至工作节点taskNode的任务taski依次入队优先级执行队列priorityQueuei,并同步记录任务taski进入优先级执行队列priorityQueuei的时间startTimei,在优先级执行队列priorityQueuei内部默认按照每个taski的优先级priorityLeveli进行从大到小排列。
步骤14:遍历优先级执行队列priorityQueuei,利用公式(7)求得该优先级执行队列priorityQueuei中的任务taski的等待时间waitTimei,若存在任务taski的等待时间waitTimei>执行期限时间timeLimit,则将该任务taski出队,并跳转至步骤11重新分配空闲节点。
(7)
其中,currentTime是当前的系统时间。
实施例3
如图2所示,基于与上述实施例相同的发明构思,本发明还提供了一种边缘计算环境下的任务调度装置,包括:
信息绑定模块,用于在中心节点NodeCenter中定义一信息绑定哈希表InfoBindMap;其中,信息绑定哈希表InfoBindMap的键为边缘节点nodei的IP地址IPKeyi,值为节点类型集合typeListi;
第一获取模块,用于确定边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi;
第一计算模块,用于依据边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi分别与预设标准的大小关系,确定边缘节点nodei的类型,并将边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi中;
队列生成模块,用于依据节点类型集合typeListi中的类型,将边缘节点nodei分别加入到对应边缘节点类型的空闲队列中;
任务分类模块,用于获取待分配任务集合Task,对待分配任务集合Task中的每个待分配任务taski进行分类;
第二计算模块,用于计算每个待分配任务taski的优先级priorityLeveli,待分配任务taski的分配顺序为按照优先级priorityLeveli从大到小的顺序;
任务分配模块,用于基于待分配任务taski的类型和分配顺序,选择对应待分配任务taski类型的空闲队列,将选择的空闲队列位于队首的空闲节点出队,出队后的空闲节点记为工作节点taskNode,将待分配任务taski分配至工作节点taskNode,将已分配过任务的工作节点taskNode入队到空闲队列的队尾。
在其他的一些实施例中,还包括第一校验模块和第二校验模块。
第一校验模块,具体用于在将待分配任务taski分配至工作节点taskNode之前,在每个边缘节点nodei中定义优先级执行队列priorityQueuei;
获取工作节点taskNode中的优先级执行队列priorityQueuei的大小;其中,优先级执行队列priorityQueuei中包括已分配至工作节点taskNode的任务;
当工作节点taskNode中优先级执行队列priorityQueuei的大小大于或等于预设的优先执行队列大小阈值sizeLimit时,为待分配任务taski重新分配空闲队列中的其他空闲节点。
第二校验模块,具体用于在将待分配任务taski分配至工作节点taskNode之后,将分配至工作节点taskNode的任务依次入队优先级执行队列priorityQueuei,并同步记录进入优先级执行队列priorityQueuei的时间;其中,优先级执行队列priorityQueuei中任务的顺序按照任务的优先级priorityLeveli从大到小排列;计算优先级执行队列priorityQueuei中任务的等待时间waitTimei,当等待时间waitTimei大于执行期限时间timeLimit时,将任务退出优先级执行队列priorityQueuei并为任务分配空闲队列中的其他空闲节点。
实施例4
如图3所示,基于与上述实施例相同的发明构思,本发明还提供了一种用于实现上述实施例中一种边缘计算环境下的任务调度方法的电子设备100;电子设备100包括存储器101、至少一个处理器102、存储在存储器101中并可在至少一个处理器102上运行的计算机程序103及至少一条通讯总线104。存储器101可用于存储计算机程序103,处理器102通过运行或执行存储在存储器101内的计算机程序,以及调用存储在存储器101内的数据,实现上述实施例一种边缘计算环境下的任务调度方法步骤。
存储器101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备100的使用所创建的数据(比如音频数据)等。此外,存储器101可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
至少一个处理器102可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器102可以是微处理器或者该处理器102也可以是任何常规的处理器等,处理器102是电子设备100的控制中心,利用各种接口和线路连接整个电子设备100的各个部分。
电子设备100中的存储器101存储多个指令以实现一种边缘计算环境下的任务调度方法,处理器102可执行多个指令从而实现:
在中心节点NodeCenter中定义一信息绑定哈希表InfoBindMap;其中,信息绑定哈希表InfoBindMap的键为边缘节点nodei的IP地址IPKeyi,值为节点类型集合typeListi;
确定边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi;
依据边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi分别与预设标准的大小关系,确定边缘节点nodei的类型,并将边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi中;
依据节点类型集合typeListi中的类型,将边缘节点nodei分别加入到对应边缘节点类型的空闲队列中;
获取待分配任务集合Task,对待分配任务集合Task中的每个待分配任务taski进行分类;
计算每个待分配任务taski的优先级priorityLeveli,待分配任务taski的分配顺序为按照优先级priorityLeveli从大到小的顺序;
基于待分配任务taski的类型和分配顺序,选择对应待分配任务taski类型的空闲队列,将选择的空闲队列位于队首的空闲节点出队,出队后的空闲节点记为工作节点taskNode,将待分配任务taski分配至工作节点taskNode,将已分配过任务的工作节点taskNode入队到空闲队列的队尾。
实施例5
电子设备100集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器及只读存储器(ROM,Read-OnlyMemory)。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种边缘计算环境下的任务调度方法,其特征在于,包括如下步骤:
在中心节点NodeCenter中定义一信息绑定哈希表InfoBindMap;其中,所述信息绑定哈希表InfoBindMap的键为边缘节点nodei的IP地址IPKeyi,值为节点类型集合typeListi;
确定所述边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi;
依据所述边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi分别与预设标准的大小关系,确定所述边缘节点nodei的类型,并将所述边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi中;
依据所述节点类型集合typeListi中的类型,将所述边缘节点nodei分别加入到对应边缘节点类型的空闲队列中;
获取待分配任务集合Task,对所述待分配任务集合Task中的每个待分配任务taski进行分类;
计算每个所述待分配任务taski的优先级priorityLeveli,所述待分配任务taski的分配顺序为按照优先级priorityLeveli从大到小的顺序;
基于所述待分配任务taski的类型和分配顺序,选择对应待分配任务taski类型的空闲队列,将选择的所述空闲队列位于队首的空闲节点出队,出队后的所述空闲节点记为工作节点taskNode,将所述待分配任务taski分配至所述工作节点taskNode,将已分配过任务的所述工作节点taskNode入队到空闲队列的队尾。
2.根据权利要求1所述的边缘计算环境下的任务调度方法,其特征在于,在将所述待分配任务taski分配至所述工作节点taskNode的步骤之前,还包括步骤:
在每个所述边缘节点nodei中定义优先级执行队列priorityQueuei;
获取所述工作节点taskNode中的优先级执行队列priorityQueuei的大小;其中,所述优先级执行队列priorityQueuei中包括已分配至所述工作节点taskNode的任务;
当所述工作节点taskNode中优先级执行队列priorityQueuei大于或等于预设的优先执行队列大小阈值sizeLimit时,为所述待分配任务taski重新分配空闲队列中的其他空闲节点。
3.根据权利要求1所述的边缘计算环境下的任务调度方法,其特征在于,在将所述待分配任务taski分配至所述工作节点taskNode的步骤之后,还包括步骤:
将分配至所述工作节点taskNode的任务依次入队优先级执行队列priorityQueuei,并同步记录进入优先级执行队列priorityQueuei的时间;其中,所述优先级执行队列priorityQueuei中任务的顺序按照任务的优先级priorityLeveli从大到小排列;
计算所述优先级执行队列priorityQueuei中任务的等待时间waitTimei,当所述等待时间waitTimei大于执行期限时间timeLimit时,将所述任务退出所述优先级执行队列priorityQueuei并为所述任务分配空闲队列中的其他空闲节点。
4.根据权利要求1所述的边缘计算环境下的任务调度方法,其特征在于,所述依据所述边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi分别与预设标准的大小关系,确定所述边缘节点nodei的类型,并将所述边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi中的步骤,具体包括:
所述预设标准包括CPU使用率阈值limitCPU、内存使用率阈值limitMemory、磁盘读写阈值limitDisk和网络IO速度阈值limitNetIO;
若CPU平均使用率averageCpui< CPU使用率阈值limitCPU,则记边缘节点nodei的类型为CPU空闲节点cpuIdleNode;若内存平均使用率averageMemoryi< 内存使用率阈值limitMemory,则记边缘节点nodei的类型为内存空闲节点memoryIdleNode;若磁盘平均使用率averageDiski< 磁盘读写阈值limitDisk,则记边缘节点nodei的类型为磁盘空闲节点diskIdleNode;若网络IO平均速度averageNetIOi>网络IO速度阈值limitNetIO,则记边缘节点nodei的类型为网络IO空闲节点netIOIdleNode;
分别将边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi中。
5.根据权利要求1所述的边缘计算环境下的任务调度方法,其特征在于,所述依据所述节点类型集合typeListi中的类型,将所述边缘节点nodei分别加入到对应边缘节点类型的空闲队列中的步骤,具体包括:
所述空闲队列包括CPU空闲节点队列cpuIdleQueue、内存空闲节点队列memoryIdleQueue、磁盘空闲节点队列diskIdleQueue和网络IO空闲节点队列netIOIdleQueue;
遍历所述节点类型集合typeListi;
若节点类型集合typeListi中存在CPU空闲节点cpuIdleNode,则将该CPU空闲节点cpuIdleNode加入CPU空闲节点队列cpuIdleQueue;
若节点类型集合typeListi中存在内存空闲节点memoryIdleNode,则将该内存空闲节点memoryIdleNode加入内存空闲节点队列memoryIdleQueue;
若节点类型集合typeListi中存在磁盘空闲节点diskIdleNode,则将该磁盘空闲节点diskIdleNode加入磁盘空闲节点队列diskIdleQueue;
若节点类型集合typeListi中存在网络IO空闲节点netIOIdleNode,则将该网络IO空闲节点netIOIdleNode加入网络IO空闲节点队列netIOIdleQueue。
6.根据权利要求1所述的边缘计算环境下的任务调度方法,其特征在于,所述计算每个所述待分配任务taski的优先级priorityLeveli的步骤中,所述待分配任务taski的优先级priorityLeveli按照下式计算:
其中,priorityLevel为待分配任务taski的优先级,α=0.4,β=0.3,γ=0.2,δ=0.1;cpuNeed表示待分配任务taski需要的CPU利用率;memoryNeed表示待分配任务taski需要的内存利用率;ioNeed表示待分配任务taski需要的网络IO速度netIOSpeedj;diskNeed表示待分配任务taski需要的磁盘利用率。
7.根据权利要求1所述的边缘计算环境下的任务调度方法,其特征在于,所述基于所述待分配任务taski的类型和分配顺序,选择对应待分配任务taski类型的空闲队列,将选择的所述空闲队列位于队首的空闲节点出队,出队后的所述空闲节点记为工作节点taskNode,将所述待分配任务taski分配至所述工作节点taskNode的步骤,具体包括:
所述待分配任务taski类型包括CPU型任务cpuTask、内存型任务memoryTask、磁盘型任务diskTask和网络IO型任务netIOTask;
如果待分配任务taski为CPU型任务cpuTask,则CPU空闲节点队列cpuIdleQueue队首出队得到CPU空闲节点cpuIdleNode,将CPU空闲节点cpuIdleNode记为工作节点taskNode并将待分配任务taski分配至工作节点taskNode;
如果待分配任务taski为内存型任务memoryTask,则内存空闲节点队列memoryIdleQueue队首出队得到内存空闲节点memoryIdleNode,将内存空闲节点memoryIdleNode记为工作节点taskNode并将待分配任务taski分配至工作节点taskNode;
如果待分配任务taski为磁盘型任务diskTask,则磁盘空闲节点队列diskIdleQueue队首出队得到磁盘空闲节点diskIdleNode,将磁盘空闲节点diskIdleNode记为工作节点taskNode并将待分配任务taski分配至工作节点taskNode;
如果待分配任务taski为网络IO型任务netIOTask,则网络IO空闲节点队列netIOIdleQueue队首出队得到网络IO空闲节点netIOIdleNode,将网络IO空闲节点netIOIdleNode记为工作节点taskNode并将待分配任务taski分配至工作节点taskNode。
8.一种边缘计算环境下的任务调度装置,其特征在于,包括:
信息绑定模块,用于在中心节点NodeCenter中定义一信息绑定哈希表InfoBindMap;其中,所述信息绑定哈希表InfoBindMap的键为边缘节点nodei的IP地址IPKeyi,值为节点类型集合typeListi;
第一获取模块,用于确定所述边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi;
第一计算模块,用于依据所述边缘节点nodei的CPU平均使用率averageCpui、内存平均使用率averageMemoryi、磁盘平均使用率averageDiski和网络IO平均速度averageNetIOi分别与预设标准的大小关系,确定所述边缘节点nodei的类型,并将所述边缘节点nodei的类型加入到该边缘节点nodei的节点类型集合typeListi中;
队列生成模块,用于依据所述节点类型集合typeListi中的类型,将所述边缘节点nodei分别加入到对应边缘节点类型的空闲队列中;
任务分类模块,用于获取待分配任务集合Task,对所述待分配任务集合Task中的每个待分配任务taski进行分类;
第二计算模块,用于计算每个所述待分配任务taski的优先级priorityLeveli,所述待分配任务taski的分配顺序为按照优先级priorityLeveli从大到小的顺序;
任务分配模块,用于基于所述待分配任务taski的类型和分配顺序,选择对应待分配任务taski类型的空闲队列,将选择的所述空闲队列位于队首的空闲节点出队,出队后的所述空闲节点记为工作节点taskNode,将所述待分配任务taski分配至所述工作节点taskNode,将已分配过任务的所述工作节点taskNode入队到空闲队列的队尾。
9.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至7中任意一项所述的边缘计算环境下的任务调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至7中任意一项所述的边缘计算环境下的任务调度方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310137229.9A CN115904671B (zh) | 2023-02-20 | 2023-02-20 | 一种边缘计算环境下的任务调度方法、装置、设备及介质 |
PCT/CN2024/085007 WO2024175127A1 (zh) | 2023-02-20 | 2024-03-29 | 一种边缘计算环境下的任务调度方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310137229.9A CN115904671B (zh) | 2023-02-20 | 2023-02-20 | 一种边缘计算环境下的任务调度方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115904671A true CN115904671A (zh) | 2023-04-04 |
CN115904671B CN115904671B (zh) | 2023-06-27 |
Family
ID=86489939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310137229.9A Active CN115904671B (zh) | 2023-02-20 | 2023-02-20 | 一种边缘计算环境下的任务调度方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115904671B (zh) |
WO (1) | WO2024175127A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302456A (zh) * | 2023-05-24 | 2023-06-23 | 浙江毫微米科技有限公司 | 元宇宙计算资源调度系统 |
WO2024175127A1 (zh) * | 2023-02-20 | 2024-08-29 | 中国华能集团清洁能源技术研究院有限公司 | 一种边缘计算环境下的任务调度方法、装置、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080282253A1 (en) * | 2007-05-10 | 2008-11-13 | Gerrit Huizenga | Method of managing resources within a set of processes |
CN102567086A (zh) * | 2010-12-30 | 2012-07-11 | 中国移动通信集团公司 | 一种任务调度的方法、设备和系统 |
US20160110227A1 (en) * | 2014-10-21 | 2016-04-21 | Fujitsu Limited | System, method of controlling to execute a job, and apparatus |
CN107656805A (zh) * | 2017-10-20 | 2018-02-02 | 广东电网有限责任公司电力调度控制中心 | 一种基于Hadoop平台的电力数据作业调度方法 |
CN110362392A (zh) * | 2019-07-15 | 2019-10-22 | 深圳乐信软件技术有限公司 | 一种etl任务调度方法、系统、设备及存储介质 |
CN114356531A (zh) * | 2022-01-12 | 2022-04-15 | 重庆邮电大学 | 基于K-means聚类和排队理论的边缘计算任务分类调度方法 |
CN114610499A (zh) * | 2022-03-22 | 2022-06-10 | 深圳须弥云图空间科技有限公司 | 任务调度方法、装置、计算机可读存储介质及电子设备 |
CN115237568A (zh) * | 2022-07-27 | 2022-10-25 | 杭州电子科技大学 | 一种面向边缘异构设备的混合权重任务调度方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107977268B (zh) * | 2017-10-13 | 2021-07-20 | 北京百度网讯科技有限公司 | 人工智能的异构硬件的任务调度方法、装置及可读介质 |
CN112887345A (zh) * | 2019-11-29 | 2021-06-01 | 上海交通大学 | 边缘计算环境的节点负载均衡调度方法 |
CN111381950B (zh) * | 2020-03-05 | 2023-07-21 | 南京大学 | 一种面向边缘计算环境基于多副本的任务调度方法和系统 |
CN114528092A (zh) * | 2022-01-04 | 2022-05-24 | 中国神华能源股份有限公司神朔铁路分公司 | 边缘节点任务调度方法、装置、计算机设备和存储介质 |
CN115904671B (zh) * | 2023-02-20 | 2023-06-27 | 中国华能集团清洁能源技术研究院有限公司 | 一种边缘计算环境下的任务调度方法、装置、设备及介质 |
-
2023
- 2023-02-20 CN CN202310137229.9A patent/CN115904671B/zh active Active
-
2024
- 2024-03-29 WO PCT/CN2024/085007 patent/WO2024175127A1/zh unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080282253A1 (en) * | 2007-05-10 | 2008-11-13 | Gerrit Huizenga | Method of managing resources within a set of processes |
CN102567086A (zh) * | 2010-12-30 | 2012-07-11 | 中国移动通信集团公司 | 一种任务调度的方法、设备和系统 |
US20160110227A1 (en) * | 2014-10-21 | 2016-04-21 | Fujitsu Limited | System, method of controlling to execute a job, and apparatus |
CN107656805A (zh) * | 2017-10-20 | 2018-02-02 | 广东电网有限责任公司电力调度控制中心 | 一种基于Hadoop平台的电力数据作业调度方法 |
CN110362392A (zh) * | 2019-07-15 | 2019-10-22 | 深圳乐信软件技术有限公司 | 一种etl任务调度方法、系统、设备及存储介质 |
CN114356531A (zh) * | 2022-01-12 | 2022-04-15 | 重庆邮电大学 | 基于K-means聚类和排队理论的边缘计算任务分类调度方法 |
CN114610499A (zh) * | 2022-03-22 | 2022-06-10 | 深圳须弥云图空间科技有限公司 | 任务调度方法、装置、计算机可读存储介质及电子设备 |
CN115237568A (zh) * | 2022-07-27 | 2022-10-25 | 杭州电子科技大学 | 一种面向边缘异构设备的混合权重任务调度方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024175127A1 (zh) * | 2023-02-20 | 2024-08-29 | 中国华能集团清洁能源技术研究院有限公司 | 一种边缘计算环境下的任务调度方法、装置、设备及介质 |
CN116302456A (zh) * | 2023-05-24 | 2023-06-23 | 浙江毫微米科技有限公司 | 元宇宙计算资源调度系统 |
CN116302456B (zh) * | 2023-05-24 | 2023-08-29 | 浙江毫微米科技有限公司 | 元宇宙计算资源调度系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115904671B (zh) | 2023-06-27 |
WO2024175127A1 (zh) | 2024-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115904671B (zh) | 一种边缘计算环境下的任务调度方法、装置、设备及介质 | |
CN107038069B (zh) | Hadoop平台下动态标签匹配DLMS调度方法 | |
CN105511954B (zh) | 一种报文处理方法及装置 | |
CN105808328B (zh) | 任务调度的方法、装置和系统 | |
CN111352736A (zh) | 大数据资源的调度方法、装置、服务器及存储介质 | |
WO2021109767A1 (zh) | 网络设备及其降低传输时延的方法 | |
CN106775948B (zh) | 一种基于优先级的云任务调度方法及装置 | |
CN110502321A (zh) | 一种资源调度方法及系统 | |
WO2014114072A1 (zh) | 虚拟化平台下i/o通道的调整方法和调整装置 | |
US20200125516A1 (en) | Input/output command rebalancing in a virtualized computer system | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN111190541B (zh) | 存储系统的流控方法以及计算机可读存储介质 | |
CN118509399A (zh) | 一种报文处理方法、装置、电子设备及存储介质 | |
CN113626173B (zh) | 调度方法、装置及存储介质 | |
WO2024032783A1 (zh) | 任务调度的方法和电子设备 | |
CN112214299B (zh) | 多核处理器及其任务调度方法和装置 | |
CN114338559B (zh) | 一种报文保序的方法及装置 | |
CN112468414B (zh) | 一种云计算多级调度方法、系统及存储介质 | |
JP2020154391A (ja) | 情報処理システムおよびプログラム | |
CN112130974B (zh) | 云计算资源配置方法、装置、电子设备与存储介质 | |
CN115061729A (zh) | 一种指令分发方法、装置及电子设备 | |
CN114637594A (zh) | 多核处理设备、任务分配方法、装置及存储介质 | |
CN114924848A (zh) | Io调度方法、装置及设备 | |
CN111966513B (zh) | 无先验知识Coflow的多级队列调度方法、装置及其调度设备 | |
CN115686799B (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 |