CN110716806B - 边缘节点计算能力确定方法、电子设备、系统及介质 - Google Patents
边缘节点计算能力确定方法、电子设备、系统及介质 Download PDFInfo
- Publication number
- CN110716806B CN110716806B CN201910927890.3A CN201910927890A CN110716806B CN 110716806 B CN110716806 B CN 110716806B CN 201910927890 A CN201910927890 A CN 201910927890A CN 110716806 B CN110716806 B CN 110716806B
- Authority
- CN
- China
- Prior art keywords
- edge node
- cpu
- task
- slot number
- disk space
- 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
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Power Sources (AREA)
Abstract
本发明提供了一种边缘节点计算能力确定方法、电子设备、系统及介质。该方法能够根据每个边缘节点的CPU核数及磁盘空间、正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间及每个边缘节点剩余的CPU核数及磁盘空间,量化每个边缘节点的可用CPU槽位数及可用IO槽位数,进而根据每个边缘节点的可用CPU槽位数及可用IO槽位数部署任务。本发明能够准确地量化边缘节点的计算能力,进而能够使边缘节点上任务的分配更加合理。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及边缘节点计算能力确定方法、电子设备、系统及介质。
背景技术
在边缘计算环境中,每个边缘设备的硬件配置和网络环境不尽相同,因此每个边缘节点的计算能力也就不同,如果不能合理评估边缘节点的计算能力,那么将容易导致下述问题:
1.当评估值低于实际值时,边缘节点所分配的计算任务太少,导致边缘节点的计算资源得不到充分利用;
2.当评估值高于实际值时,边缘节点所分配的计算任务过多,导致边缘节点超负荷运行,影响边缘节点的寿命。
因此,如何准确的确定边缘节点的计算能力成为了亟需解决的问题。
发明内容
本发明的主要目的在于提供边缘节点计算能力确定方法、电子设备、系统及介质,能够准确地量化边缘节点的计算能力,进而能够使边缘节点上任务的分配更加合理。
为实现上述目的,本发明提供一种边缘节点计算能力确定方法,所述方法包括:
获取每个边缘节点的CPU核数及磁盘空间,并计算每个边缘节点的CPU槽位数及IO槽位数;
获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间;
根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型;
根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数,并确定每个边缘节点已占用的CPU槽位数及IO槽位数;
获取每个边缘节点剩余的CPU核数及磁盘空间,并确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数;
根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数;
根据每个边缘节点的可用CPU槽位数及可用IO槽位数部署任务。
优选地,所述根据每个边缘节点的CPU核数及磁盘空间,计算每个边缘节点的CPU槽位数及IO槽位数包括:
以每个边缘节点的CPU核数作为每个边缘节点的CPU槽位数;
计算每个边缘节点的磁盘空间与预设阈值的商;
对计算得到的商执行向下取整运算,得到每个边缘节点的IO槽位数。
优选地,所述根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型包括:
对于每个任务中的任意任务,获取该任务的对应边缘节点,及每个对应边缘节点的CPU核数及磁盘空间;
根据每个对应边缘节点的CPU核数及磁盘空间,计算该任务的对应边缘节点的总CPU核数及总磁盘空间;
根据该任务在对应边缘节点上所占用的CPU核数及磁盘空间,计算该任务在对应边缘节点上所占用的总的CPU核数及磁盘空间;
确定该任务的对应边缘节点的数量;
根据该任务在对应边缘节点上所占用的总的CPU核数及总磁盘空间,以及该任务的对应边缘节点的数量,计算该任务所需的平均CPU核数及平均磁盘空间;
计算所述平均CPU核数与所述总CPU核数的第一比值;
计算所述平均磁盘空间与所述总磁盘空间的第二比值;
计算所述第二比值与所述第一比值的商,得到第三比值;
当所述第三比值大于第一阈值时,确定该任务为IO密集型;或者
当所述第三比值小于第二阈值时,确定该任务为CPU密集型;或者
当所述第三比值大于或者等于所述第二阈值且小于或者等于所述第一阈值时,确定该任务为双密集型。
优选地,所述根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数包括:
对于每个任务中的任意任务,当该任务为IO密集型时,确定该任务的CPU槽位数为0,计算所述平均磁盘空间与所述预设阈值的商,对计算得到的商执行向下取整运算,得到该任务的IO槽位数;或者
当该任务为CPU密集型时,确定该任务的CPU槽位数为所述平均CPU核数,及确定该任务的IO槽位数为0;或者
当该任务为双密集型时,确定该任务的CPU槽位数为所述平均CPU核数,计算所述平均磁盘空间与所述预设阈值的商,对计算得到的商执行向下取整运算,得到该任务的IO槽位数。
优选地,所述根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数包括:
对于每个边缘节点,计算该边缘节点的CPU槽位数与该边缘节点已占用的CPU槽位数的第一差值,得到该边缘节点的空闲CPU槽位数;
计算该边缘节点的IO槽位数与该边缘节点已占用的IO槽位数的第二差值,得到该边缘节点的空闲IO槽位数;
获取所述空闲CPU槽位数与所述剩余CPU槽位数中的较小值作为所述可用CPU槽位数;
获取所述空闲IO槽位数与所述剩余IO槽位数中的较小值作为所述可用IO槽位数。
优选地,所述方法还包括:
当接收到待分配任务时,获取所述待分配任务所需的目标CPU槽位数及目标IO槽位数;
获取所述可用CPU槽位数大于所述CPU槽位数且所述可用IO槽位数大于所述目标IO槽位数的所有边缘节点;
根据所述可用CPU槽位数及所述可用IO槽位数,对所述所有边缘节点进行评分;
将所述待分配任务部署至评分最高的边缘节点。
为实现上述目的,本发明进一步提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现所述边缘节点计算能力确定方法。
优选地,所述电子设备为组成内容分发网络或者区块链网络的节点。
为实现上述目的,本发明进一步提供一种边缘节点计算能力确定系统,所述系统包括:
计算单元,用于获取每个边缘节点的CPU核数及磁盘空间,并计算每个边缘节点的CPU槽位数及IO槽位数;
获取单元,用于获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间;
确定单元,用于根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型;
所述计算单元,还用于根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数,并确定每个边缘节点已占用的CPU槽位数及IO槽位数;
所述确定单元,还用于获取每个边缘节点剩余的CPU核数及磁盘空间,并确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数;
所述确定单元,还用于根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数;
部署单元,用于根据每个边缘节点的可用CPU槽位数及可用IO槽位数部署任务。
优选地,所述计算单元根据每个边缘节点的CPU核数及磁盘空间,计算每个边缘节点的CPU槽位数及IO槽位数包括:
以每个边缘节点的CPU核数作为每个边缘节点的CPU槽位数;
计算每个边缘节点的磁盘空间与预设阈值的商;
对计算得到的商执行向下取整运算,得到每个边缘节点的IO槽位数。
优选地,所述确定单元具体用于:
对于每个任务中的任意任务,获取该任务的对应边缘节点,及每个对应边缘节点的CPU核数及磁盘空间;
根据每个对应边缘节点的CPU核数及磁盘空间,计算该任务的对应边缘节点的总CPU核数及总磁盘空间;
根据该任务在对应边缘节点上所占用的CPU核数及磁盘空间,计算该任务在对应边缘节点上所占用的总的CPU核数及磁盘空间;
确定该任务的对应边缘节点的数量;
根据该任务在对应边缘节点上所占用的总的CPU核数及总磁盘空间,以及该任务的对应边缘节点的数量,计算该任务所需的平均CPU核数及平均磁盘空间;
计算所述平均CPU核数与所述总CPU核数的第一比值;
计算所述平均磁盘空间与所述总磁盘空间的第二比值;
计算所述第二比值与所述第一比值的商,得到第三比值;
当所述第三比值大于第一阈值时,确定该任务为IO密集型;或者
当所述第三比值小于第二阈值时,确定该任务为CPU密集型;或者
当所述第三比值大于或者等于所述第二阈值且小于或者等于所述第一阈值时,确定该任务为双密集型。
优选地,所述计算单元根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数包括:
对于每个任务中的任意任务,当该任务为IO密集型时,确定该任务的CPU槽位数为0,计算所述平均磁盘空间与所述预设阈值的商,对计算得到的商执行向下取整运算,得到该任务的IO槽位数;或者
当该任务为CPU密集型时,确定该任务的CPU槽位数为所述平均CPU核数,及确定该任务的IO槽位数为0;或者
当该任务为双密集型时,确定该任务的CPU槽位数为所述平均CPU核数,计算所述平均磁盘空间与所述预设阈值的商,对计算得到的商执行向下取整运算,得到该任务的IO槽位数。
优选地,所述计算单元根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数包括:
对于每个边缘节点,计算该边缘节点的CPU槽位数与该边缘节点已占用的CPU槽位数的第一差值,得到该边缘节点的空闲CPU槽位数;
计算该边缘节点的IO槽位数与该边缘节点已占用的IO槽位数的第二差值,得到该边缘节点的空闲IO槽位数;
获取所述空闲CPU槽位数与所述剩余CPU槽位数中的较小值作为所述可用CPU槽位数;
获取所述空闲IO槽位数与所述剩余IO槽位数中的较小值作为所述可用IO槽位数。
优选地,所述获取单元,还用于当接收到待分配任务时,获取所述待分配任务所需的目标CPU槽位数及目标IO槽位数;
所述获取单元,还用于获取所述可用CPU槽位数大于所述CPU槽位数且所述可用IO槽位数大于所述目标IO槽位数的所有边缘节点;
所述系统还包括:
评分单元,用于根据所述可用CPU槽位数及所述可用IO槽位数,对所述所有边缘节点进行评分;
所述部署单元,还用于将所述待分配任务部署至评分最高的边缘节点。
综上所述,本发明能够获取每个边缘节点的CPU核数及磁盘空间,并计算每个边缘节点的CPU槽位数及IO槽位数,进一步获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型,并根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数,并确定每个边缘节点已占用的CPU槽位数及IO槽位数,获取每个边缘节点剩余的CPU核数及磁盘空间,并确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数,进一步根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数,根据每个边缘节点的可用CPU槽位数及可用IO槽位数部署任务。本发明能够准确地量化边缘节点的计算能力,进而能够使边缘节点上任务的分配更加合理。
附图说明
图1为本发明一实施例的流程示意图;
图2为本发明一实施例揭露的电子设备的内部结构示意图;
图3为本发明边缘节点计算能力确定系统的功能模块示意图;
主要元件符号说明
电子设备 | 1 |
存储器 | 12 |
处理器 | 13 |
边缘节点计算能力确定系统 | 11 |
获取单元 | 110 |
计算单元 | 111 |
确定单元 | 112 |
评分单元 | 113 |
部署单元 | 114 |
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种边缘节点计算能力确定方法。
参照图1,为本发明一实施例的流程示意图。根据不同的需求,该流程示意图中步骤的顺序可以改变,某些步骤可以省略。
所述边缘节点计算能力确定方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,所述电子设备的硬件设备包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
在一实施例中,该方法包括:
S11,获取每个边缘节点的CPU(central processing unit,中央处理器)核数及磁盘空间,并计算每个边缘节点的CPU槽位数及IO槽位数。
在本发明的至少一个实施例中,所述电子设备可以通过在每个边缘节点上预先安装的agent程序调用系统提供的相关API(Application Programming Interface,应用程序接口)函数,进而获取到每个边缘节点的CPU核数及磁盘空间。
在本发明的至少一个实施例中,所述电子设备根据每个边缘节点的CPU核数及磁盘空间,计算每个边缘节点的CPU槽位数及IO槽位数包括:
所述电子设备以每个边缘节点的CPU核数作为每个边缘节点的CPU槽位数,进一步地,所述电子设备计算每个边缘节点的磁盘空间与预设阈值的商,并对计算得到的商执行向下取整运算,得到每个边缘节点的IO槽位数。
其中,根据大量实验可得,所述预设阈值可以为100。
具体地,所述电子设备可以采用math.floor()函数对计算得到的商执行向下取整运算。
例如:当边缘节点A的磁盘空间为350M时,350/100为3.5,那么3.5经过math.floor()函数处理后,得到整数3,所述电子设备将整数3确定为所述边缘节点A的IO槽位数。
S12,获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间。
在本发明的至少一个实施例中,所述电子设备同样可以通过在每个边缘节点上预先安装的agent程序调用系统提供的相关API函数,进而获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间。
S13,根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型。
在本发明的至少一个实施例中,所述电子设备根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型包括:
所述电子设备对于每个任务中的任意任务,获取该任务的对应边缘节点,及每个对应边缘节点的CPU核数及磁盘空间,所述电子设备根据每个对应边缘节点的CPU核数及磁盘空间,计算该任务的对应边缘节点的总CPU核数及总磁盘空间,进一步地,所述电子设备根据该任务在对应边缘节点上所占用的CPU核数及磁盘空间,计算该任务在对应边缘节点上所占用的总的CPU核数及磁盘空间,所述电子设备确定该任务的对应边缘节点的数量,并根据该任务在对应边缘节点上所占用的总的CPU核数及总磁盘空间,以及该任务的对应边缘节点的数量,计算该任务所需的平均CPU核数及平均磁盘空间,所述电子设备计算所述平均CPU核数与所述总CPU核数的第一比值,并计算所述平均磁盘空间与所述总磁盘空间的第二比值,所述电子设备计算所述第二比值与所述第一比值的商,得到第三比值,进一步地:
(1)当所述第三比值大于第一阈值时,所述电子设备确定该任务为IO密集型。
(2)当所述第三比值小于第二阈值时,所述电子设备确定该任务为CPU密集型。
(3)当所述第三比值大于或者等于所述第二阈值且小于或者等于所述第一阈值时,所述电子设备确定该任务为双密集型。
需要说明的是,IO密集型的任务占用的CPU较少,可以忽略不计,CPU密集型的任务占用磁盘空间较少,也可以忽略不计,双密集型的任务则既需要占用CPU,又需要占用磁盘空间。
S14,根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数,并确定每个边缘节点已占用的CPU槽位数及IO槽位数。
在本发明的至少一个实施例中,在所述电子设备根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数时,对于每个任务中的任意任务,包括以下任意一种情况:
(1)当该任务为IO密集型时,所述电子设备确定该任务的CPU槽位数为0,进一步地,所述电子设备计算所述平均磁盘空间与所述预设阈值的商,并对计算得到的商执行向下取整运算,得到该任务的IO槽位数。
(2)当该任务为CPU密集型时,所述电子设备确定该任务的CPU槽位数为所述平均CPU核数,及确定该任务的IO槽位数为0。
(3)当该任务为双密集型时,所述电子设备确定该任务的CPU槽位数为所述平均CPU核数,进一步地,所述电子设备计算所述平均磁盘空间与所述预设阈值的商,并对计算得到的商执行向下取整运算,得到该任务的IO槽位数。
通过上述实施方式,所述电子设备能够根据不同类型任务的不同特点有针对性地对不同的任务进行量化,进而更加准确地确定每个任务的CPU槽位数及IO槽位数。
在本发明的至少一个实施例中,所述电子设备根据每个任务的CPU槽位数及IO槽位数,确定每个边缘节点已占用的CPU槽位数及IO槽位数包括:
对于每个边缘节点中的任意边缘节点,所述电子设备获取该边缘节点的所有任务,并计算所述所有任务的CPU槽位数总和作为该边缘节点已占用的CPU槽位数,及计算所述所有任务的IO槽位数总和作为该边缘节点已占用的IO槽位数。
S15,获取每个边缘节点剩余的CPU核数及磁盘空间,并确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数。
在本发明的至少一个实施例中,所述电子设备同样可以通过在每个边缘节点上预先安装的agent程序调用系统提供的相关API函数,进而获取每个边缘节点剩余的CPU核数及磁盘空间。
在本发明的至少一个实施例中,所述电子设备根据每个边缘节点剩余的CPU核数及磁盘空间,确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数包括:
所述电子设备以每个边缘节点剩余的CPU核数作为每个边缘节点的剩余CPU槽位数,进一步地,所述电子设备计算每个边缘节点剩余的磁盘空间与所述预设阈值的商,并对计算得到的商执行向下取整运算,得到每个边缘节点的剩余IO槽位数。
S16,根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数。
在本发明的至少一个实施例中,所述电子设备根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数包括:
对于每个边缘节点,所述电子设备计算该边缘节点的CPU槽位数与该边缘节点已占用的CPU槽位数的第一差值,得到该边缘节点的空闲CPU槽位数,进一步计算该边缘节点的IO槽位数与该边缘节点已占用的IO槽位数的第二差值,得到该边缘节点的空闲IO槽位数,所述电子设备获取所述空闲CPU槽位数与所述剩余CPU槽位数中的较小值作为所述可用CPU槽位数,并获取所述空闲IO槽位数与所述剩余IO槽位数中的较小值作为所述可用IO槽位数。
通过上述实施方式,在计算得到的空闲值与采集到的可用值之间取较小值,能够进一步确保计算的可用槽位数的准确性,避免出现误判(如:将可用槽位数评估过高等),造成任务分配异常。
S17,根据每个边缘节点的可用CPU槽位数及可用IO槽位数部署任务。
在本发明的至少一个实施例中,在确定了每个边缘节点的可用CPU槽位数及可用IO槽位数,所述电子设备即可进行任务部署。
具体地,当接收到待分配任务时,所述电子设备获取所述待分配任务所需的目标CPU槽位数及目标IO槽位数,并获取所述可用CPU槽位数大于所述CPU槽位数且所述可用IO槽位数大于所述目标IO槽位数的所有边缘节点,所述电子设备根据所述可用CPU槽位数及所述可用IO槽位数,对所述所有边缘节点进行评分,并将所述待分配任务部署至评分最高的边缘节点。
通过上述实施方式,在基于边缘节点的性能确定结果已经获取到可用的边缘节点后,还能够通过性能评分,进一步将待分配任务分配到性能最佳的边缘节点上,使所述待分配任务被更好的执行。
综上所述,本发明能够获取每个边缘节点的CPU核数及磁盘空间,并计算每个边缘节点的CPU槽位数及IO槽位数,进一步获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型,并根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数,并确定每个边缘节点已占用的CPU槽位数及IO槽位数,获取每个边缘节点剩余的CPU核数及磁盘空间,并确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数,进一步根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数,根据每个边缘节点的可用CPU槽位数及可用IO槽位数部署任务。本发明能够准确地量化边缘节点的计算能力,进而能够使边缘节点上任务的分配更加合理。
参见图2,在本实施例中,所述电子设备1可以是组成内容分发网络或者区块链网络的节点。
所述电子设备1可以包括存储器12、处理器13和总线,还可以包括存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如边缘节点计算能力确定程序。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,所述电子设备1既可以是总线型结构,也可以是星形结构,所述电子设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如所述电子设备1还可以包括输入输出设备、网络接入设备等。
需要说明的是,所述电子设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器12还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如边缘节点计算能力确定程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是所述电子设备1的控制核心(Control Unit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行边缘节点计算能力确定程序等),以及调用存储在所述存储器12内的数据,以执行电子设备1的各种功能和处理数据。
所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个边缘节点计算能力确定方法实施例中的步骤,例如图1所示的步骤S11、S12、S13、S14、S15、S16。
或者,所述处理器13执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如:获取每个边缘节点的CPU核数及磁盘空间,并计算每个边缘节点的CPU槽位数及IO槽位数;获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间;根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型;根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数,并确定每个边缘节点已占用的CPU槽位数及IO槽位数;获取每个边缘节点剩余的CPU核数及磁盘空间,并确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数;根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数;根据每个边缘节点的可用CPU槽位数及可用IO槽位数部署任务。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成获取单元110、计算单元111、确定单元112、评分单元113以及部署单元114。
总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及所述至少一个处理器13等之间的连接通信。
尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与至少一个处理器13逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
图2仅示出了具有组件12-13,以及边缘节点计算能力确定程序的电子设备1,本领域技术人员可以理解的是,图2示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种边缘节点计算能力确定方法,所述处理器13可执行所述多个指令从而实现:获取每个边缘节点的CPU核数及磁盘空间,并计算每个边缘节点的CPU槽位数及IO槽位数;获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间;根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型;根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数,并确定每个边缘节点已占用的CPU槽位数及IO槽位数;获取每个边缘节点剩余的CPU核数及磁盘空间,并确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数;根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数;根据每个边缘节点的可用CPU槽位数及可用IO槽位数部署任务。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
参照图3,为本发明边缘节点计算能力确定系统的功能模块示意图。所述边缘节点计算能力确定系统11包括获取单元110、计算单元111、确定单元112、评分单元113以及部署单元114。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
计算单元111获取每个边缘节点的CPU(central processing unit,中央处理器)核数及磁盘空间,并计算每个边缘节点的CPU槽位数及IO槽位数。
在本发明的至少一个实施例中,所述计算单元111可以通过在每个边缘节点上预先安装的agent程序调用系统提供的相关API(Application Programming Interface,应用程序接口)函数,进而获取到每个边缘节点的CPU核数及磁盘空间。
在本发明的至少一个实施例中,所述计算单元111根据每个边缘节点的CPU核数及磁盘空间,计算每个边缘节点的CPU槽位数及IO槽位数包括:
所述计算单元111以每个边缘节点的CPU核数作为每个边缘节点的CPU槽位数,进一步地,所述计算单元111计算每个边缘节点的磁盘空间与预设阈值的商,并对计算得到的商执行向下取整运算,得到每个边缘节点的IO槽位数。
其中,根据大量实验可得,所述预设阈值可以为100。
具体地,所述计算单元111可以采用math.floor()函数对计算得到的商执行向下取整运算。
例如:当边缘节点A的磁盘空间为350M时,350/100为3.5,那么3.5经过math.floor()函数处理后,得到整数3,所述计算单元111将整数3确定为所述边缘节点A的IO槽位数。
获取单元110获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间。
在本发明的至少一个实施例中,所述获取单元110同样可以通过在每个边缘节点上预先安装的agent程序调用系统提供的相关API函数,进而获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间。
确定单元112根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型。
在本发明的至少一个实施例中,所述确定单元112根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型包括:
对于每个任务中的任意任务,所述确定单元112获取该任务的对应边缘节点,及每个对应边缘节点的CPU核数及磁盘空间,所述确定单元112根据每个对应边缘节点的CPU核数及磁盘空间,计算该任务的对应边缘节点的总CPU核数及总磁盘空间,进一步地,所述确定单元112根据该任务在对应边缘节点上所占用的CPU核数及磁盘空间,计算该任务在对应边缘节点上所占用的总的CPU核数及磁盘空间,所述确定单元112确定该任务的对应边缘节点的数量,并根据该任务在对应边缘节点上所占用的总的CPU核数及总磁盘空间,以及该任务的对应边缘节点的数量,计算该任务所需的平均CPU核数及平均磁盘空间,所述确定单元112计算所述平均CPU核数与所述总CPU核数的第一比值,并计算所述平均磁盘空间与所述总磁盘空间的第二比值,所述确定单元112计算所述第二比值与所述第一比值的商,得到第三比值,进一步地:
(1)当所述第三比值大于第一阈值时,所述确定单元112确定该任务为IO密集型。
(2)当所述第三比值小于第二阈值时,所述确定单元112确定该任务为CPU密集型。
(3)当所述第三比值大于或者等于所述第二阈值且小于或者等于所述第一阈值时,所述确定单元112确定该任务为双密集型。
需要说明的是,IO密集型的任务占用的CPU较少,可以忽略不计,CPU密集型的任务占用磁盘空间较少,也可以忽略不计,双密集型的任务则既需要占用CPU,又需要占用磁盘空间。
所述计算单元111根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数,并确定每个边缘节点已占用的CPU槽位数及IO槽位数。
在本发明的至少一个实施例中,在所述计算单元111根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数时,对于每个任务中的任意任务,包括以下任意一种情况:
(1)当该任务为IO密集型时,所述计算单元111确定该任务的CPU槽位数为0,进一步地,所述计算单元111计算所述平均磁盘空间与所述预设阈值的商,并对计算得到的商执行向下取整运算,得到该任务的IO槽位数。
(2)当该任务为CPU密集型时,所述计算单元111确定该任务的CPU槽位数为所述平均CPU核数,及确定该任务的IO槽位数为0。
(3)当该任务为双密集型时,所述计算单元111确定该任务的CPU槽位数为所述平均CPU核数,进一步地,所述计算单元111计算所述平均磁盘空间与所述预设阈值的商,并对计算得到的商执行向下取整运算,得到该任务的IO槽位数。
通过上述实施方式,所述计算单元111能够根据不同类型任务的不同特点有针对性地对不同的任务进行量化,进而更加准确地确定每个任务的CPU槽位数及IO槽位数。
在本发明的至少一个实施例中,所述计算单元111根据每个任务的CPU槽位数及IO槽位数,确定每个边缘节点已占用的CPU槽位数及IO槽位数包括:
对于每个边缘节点中的任意边缘节点,所述计算单元111获取该边缘节点的所有任务,并计算所述所有任务的CPU槽位数总和作为该边缘节点已占用的CPU槽位数,及计算所述所有任务的IO槽位数总和作为该边缘节点已占用的IO槽位数。
所述确定单元112获取每个边缘节点剩余的CPU核数及磁盘空间,并确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数。
在本发明的至少一个实施例中,所述确定单元112同样可以通过在每个边缘节点上预先安装的agent程序调用系统提供的相关API函数,进而获取每个边缘节点剩余的CPU核数及磁盘空间。
在本发明的至少一个实施例中,所述确定单元112根据每个边缘节点剩余的CPU核数及磁盘空间,确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数包括:
所述确定单元112以每个边缘节点剩余的CPU核数作为每个边缘节点的剩余CPU槽位数,进一步地,所述确定单元112计算每个边缘节点剩余的磁盘空间与所述预设阈值的商,并对计算得到的商执行向下取整运算,得到每个边缘节点的剩余IO槽位数。
所述确定单元112根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数。
在本发明的至少一个实施例中,所述确定单元112根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数包括:
对于每个边缘节点,所述确定单元112计算该边缘节点的CPU槽位数与该边缘节点已占用的CPU槽位数的第一差值,得到该边缘节点的空闲CPU槽位数,进一步计算该边缘节点的IO槽位数与该边缘节点已占用的IO槽位数的第二差值,得到该边缘节点的空闲IO槽位数,所述确定单元112获取所述空闲CPU槽位数与所述剩余CPU槽位数中的较小值作为所述可用CPU槽位数,并获取所述空闲IO槽位数与所述剩余IO槽位数中的较小值作为所述可用IO槽位数。
通过上述实施方式,在计算得到的空闲值与采集到的可用值之间取较小值,能够进一步确保计算的可用槽位数的准确性,避免出现误判(如:将可用槽位数评估过高等),造成任务分配异常。
部署单元114根据每个边缘节点的可用CPU槽位数及可用IO槽位数部署任务。
在本发明的至少一个实施例中,在确定了每个边缘节点的可用CPU槽位数及可用IO槽位数,所述部署单元114即可进行任务部署。
具体地,当接收到待分配任务时,所述获取单元110获取所述待分配任务所需的目标CPU槽位数及目标IO槽位数,并获取所述可用CPU槽位数大于所述CPU槽位数且所述可用IO槽位数大于所述目标IO槽位数的所有边缘节点,评分单元113根据所述可用CPU槽位数及所述可用IO槽位数,对所述所有边缘节点进行评分,所述部署单元114将所述待分配任务部署至评分最高的边缘节点。
通过上述实施方式,在基于边缘节点的性能确定结果已经获取到可用的边缘节点后,还能够通过性能评分,进一步将待分配任务分配到性能最佳的边缘节点上,使所述待分配任务被更好的执行。
综上所述,本发明能够获取每个边缘节点的CPU核数及磁盘空间,并计算每个边缘节点的CPU槽位数及IO槽位数,进一步获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型,并根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数,并确定每个边缘节点已占用的CPU槽位数及IO槽位数,获取每个边缘节点剩余的CPU核数及磁盘空间,并确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数,进一步根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数,根据每个边缘节点的可用CPU槽位数及可用IO槽位数部署任务。本发明能够准确地量化边缘节点的计算能力,进而能够使边缘节点上任务的分配更加合理。
在上述实施例中,可以全部或部分地通过软件、硬件设备、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、移动硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态移动硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件设备的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动移动硬盘、只读存储器(ROM,Read-OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种边缘节点计算能力确定方法,其特征在于,所述方法包括:
获取每个边缘节点的CPU核数及磁盘空间,并计算每个边缘节点的CPU槽位数及IO槽位数;计算每个边缘节点的磁盘空间与预设阈值的商;对计算得到的商执行向下取整运算,得到每个边缘节点的IO槽位数;
获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间;
根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型;对于每个任务中的任意任务,获取该任务的对应边缘节点,及每个对应边缘节点的CPU核数及磁盘空间;根据每个对应边缘节点的CPU核数及磁盘空间,计算该任务的对应边缘节点的总CPU核数及总磁盘空间;根据该任务在对应边缘节点上所占用的CPU核数及磁盘空间,计算该任务在对应边缘节点上所占用的总的CPU核数及磁盘空间;确定该任务的对应边缘节点的数量;根据该任务在对应边缘节点上所占用的总的CPU核数及磁盘空间,以及该任务的对应边缘节点的数量,计算该任务所需的平均CPU核数及平均磁盘空间;
根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数,并确定每个边缘节点已占用的CPU槽位数及IO槽位数;
获取每个边缘节点剩余的CPU核数及磁盘空间,并确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数;
根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数;
根据每个边缘节点的可用CPU槽位数及可用IO槽位数部署任务;
其中,所述根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数,包括:
对于每个任务中的任意任务,当该任务为IO密集型时,确定该任务的CPU槽位数为0,计算所述平均磁盘空间与所述预设阈值的商,对计算得到的商执行向下取整运算,得到该任务的IO槽位数;或者
当该任务为CPU密集型时,确定该任务的CPU槽位数为所述平均CPU核数,及确定该任务的IO槽位数为0;或者
当该任务为双密集型时,确定该任务的CPU槽位数为所述平均CPU核数,计算所述平均磁盘空间与所述预设阈值的商,对计算得到的商执行向下取整运算,得到该任务的IO槽位数。
2.如权利要求1所述的边缘节点计算能力确定方法,其特征在于,所述计算每个边缘节点的CPU槽位数包括:
以每个边缘节点的CPU核数作为每个边缘节点的CPU槽位数。
3.如权利要求2所述的边缘节点计算能力确定方法,其特征在于,所述根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型包括:
计算所述平均CPU核数与所述总CPU核数的第一比值;
计算所述平均磁盘空间与所述总磁盘空间的第二比值;
计算所述第二比值与所述第一比值的商,得到第三比值;
当所述第三比值大于第一阈值时,确定该任务为IO密集型;或者
当所述第三比值小于第二阈值时,确定该任务为CPU密集型;或者
当所述第三比值大于或者等于所述第二阈值且小于或者等于所述第一阈值时,确定该任务为双密集型。
4.如权利要求1所述的边缘节点计算能力确定方法,其特征在于,所述根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数包括:
对于每个边缘节点,计算该边缘节点的CPU槽位数与该边缘节点已占用的CPU槽位数的第一差值,得到该边缘节点的空闲CPU槽位数;
计算该边缘节点的IO槽位数与该边缘节点已占用的IO槽位数的第二差值,得到该边缘节点的空闲IO槽位数;
获取所述空闲CPU槽位数与所述剩余CPU槽位数中的较小值作为所述可用CPU槽位数;
获取所述空闲IO槽位数与所述剩余IO槽位数中的较小值作为所述可用IO槽位数。
5.如权利要求1所述的边缘节点计算能力确定方法,其特征在于,所述方法还包括:
当接收到待分配任务时,获取所述待分配任务所需的目标CPU槽位数及目标IO槽位数;
获取所述可用CPU槽位数大于所述CPU槽位数且所述可用IO槽位数大于所述目标IO槽位数的所有边缘节点;
根据所述可用CPU槽位数及所述可用IO槽位数,对所述所有边缘节点进行评分;
将所述待分配任务部署至评分最高的边缘节点。
6. 一种电子设备,其特征在于,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现如权利要求1至5中任意一项所述的边缘节点计算能力确定方法。
7.根据权利要求6所述的电子设备,其特征在于,所述电子设备为组成内容分发网络或者区块链网络的节点。
8.一种边缘节点计算能力确定系统,其特征在于,所述系统包括:
计算单元,用于获取每个边缘节点的CPU核数及磁盘空间,并计算每个边缘节点的CPU槽位数及IO槽位数;计算每个边缘节点的磁盘空间与预设阈值的商;对计算得到的商执行向下取整运算,得到每个边缘节点的IO槽位数;
获取单元,用于获取正在运行的每个任务在对应边缘节点上所占用的CPU核数及磁盘空间;
确定单元,用于根据每个边缘节点的CPU核数及磁盘空间、每个任务在对应边缘节点上所占用的CPU核数及磁盘空间,确定每个任务的类型;对于每个任务中的任意任务,获取该任务的对应边缘节点,及每个对应边缘节点的CPU核数及磁盘空间;根据每个对应边缘节点的CPU核数及磁盘空间,计算该任务的对应边缘节点的总CPU核数及总磁盘空间;根据该任务在对应边缘节点上所占用的CPU核数及磁盘空间,计算该任务在对应边缘节点上所占用的总的CPU核数及磁盘空间;确定该任务的对应边缘节点的数量;根据该任务在对应边缘节点上所占用的总的CPU核数及磁盘空间,以及该任务的对应边缘节点的数量,计算该任务所需的平均CPU核数及平均磁盘空间;
所述计算单元,还用于根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数,并确定每个边缘节点已占用的CPU槽位数及IO槽位数;
所述确定单元,还用于获取每个边缘节点剩余的CPU核数及磁盘空间,并确定每个边缘节点的剩余CPU槽位数及剩余IO槽位数;
所述确定单元,还用于根据每个边缘节点的CPU槽位数及IO槽位数、每个边缘节点已占用的CPU槽位数及IO槽位数,及每个边缘节点的剩余CPU槽位数及剩余IO槽位数,确定每个边缘节点的可用CPU槽位数及可用IO槽位数;
部署单元,用于根据每个边缘节点的可用CPU槽位数及可用IO槽位数部署任务;
所述计算单元根据每个任务的类型,计算每个任务的CPU槽位数及IO槽位数时,包括:对于每个任务中的任意任务,当该任务为IO密集型时,确定该任务的CPU槽位数为0,计算所述平均磁盘空间与所述预设阈值的商,对计算得到的商执行向下取整运算,得到该任务的IO槽位数;或者
当该任务为CPU密集型时,确定该任务的CPU槽位数为所述平均CPU核数,及确定该任务的IO槽位数为0;或者
当该任务为双密集型时,确定该任务的CPU槽位数为所述平均CPU核数,计算所述平均磁盘空间与所述预设阈值的商,对计算得到的商执行向下取整运算,得到该任务的IO槽位。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有边缘节点计算能力确定程序,所述边缘节点计算能力确定程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的边缘节点计算能力确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910927890.3A CN110716806B (zh) | 2019-09-27 | 2019-09-27 | 边缘节点计算能力确定方法、电子设备、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910927890.3A CN110716806B (zh) | 2019-09-27 | 2019-09-27 | 边缘节点计算能力确定方法、电子设备、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110716806A CN110716806A (zh) | 2020-01-21 |
CN110716806B true CN110716806B (zh) | 2023-05-12 |
Family
ID=69211077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910927890.3A Active CN110716806B (zh) | 2019-09-27 | 2019-09-27 | 边缘节点计算能力确定方法、电子设备、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110716806B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427679B (zh) * | 2020-03-25 | 2023-12-22 | 中国科学院自动化研究所 | 面向边缘计算的计算任务调度方法、系统、装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491775A (zh) * | 2018-11-05 | 2019-03-19 | 中山大学 | 一种用于边缘计算环境下的任务处理与调度方法 |
CN109918205A (zh) * | 2019-03-25 | 2019-06-21 | 深圳市网心科技有限公司 | 一种边缘设备调度方法、系统、装置及计算机存储介质 |
CN110198339A (zh) * | 2019-04-17 | 2019-09-03 | 浙江大学 | 一种基于QoE感知的边缘计算任务调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10839096B2 (en) * | 2016-03-28 | 2020-11-17 | International Business Machines Corporation | Cryptographically provable zero-knowledge content distribution network |
-
2019
- 2019-09-27 CN CN201910927890.3A patent/CN110716806B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491775A (zh) * | 2018-11-05 | 2019-03-19 | 中山大学 | 一种用于边缘计算环境下的任务处理与调度方法 |
CN109918205A (zh) * | 2019-03-25 | 2019-06-21 | 深圳市网心科技有限公司 | 一种边缘设备调度方法、系统、装置及计算机存储介质 |
CN110198339A (zh) * | 2019-04-17 | 2019-09-03 | 浙江大学 | 一种基于QoE感知的边缘计算任务调度方法 |
Non-Patent Citations (2)
Title |
---|
Marius Noreikis等.Qos-oriented capacity planning for edge computing.《IEEE》.2017,正文第1-5页. * |
李邱苹等.移动边缘计算中的计算卸载和资源管理方案.《电信科学》.2019,正文第36-44页. * |
Also Published As
Publication number | Publication date |
---|---|
CN110716806A (zh) | 2020-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3223491A1 (en) | Method and device for mapping virtual data centre resources | |
CN110083494B (zh) | 在多核心环境中管理硬件错误的方法和装置 | |
US10819603B2 (en) | Performance evaluation method, apparatus for performance evaluation, and non-transitory computer-readable storage medium for storing program | |
EP3171274B1 (en) | Resource leak detecting method and apparatus | |
CN109960575B (zh) | 一种计算能力共享方法、系统及相关设备 | |
US10635765B2 (en) | Cluster drawing on divided display region allocated to cluster | |
CN108255673B (zh) | 应用程序占用资源的检测方法、装置和存储介质 | |
CN112434308B (zh) | 应用漏洞检测方法、装置、电子设备及计算机存储介质 | |
CN103257898A (zh) | 嵌入式系统中资源分配方法和系统 | |
EP2775665A1 (en) | Network system, node device group, computer device, and method for transmitting and receiving sensor data | |
CN110647409B (zh) | 消息写入方法、电子设备、系统及介质 | |
CN110716806B (zh) | 边缘节点计算能力确定方法、电子设备、系统及介质 | |
CN113383364B (zh) | 验证人节点选择方法、电子设备、系统及介质 | |
CN106020984B (zh) | 电子设备中进程的创建方法及装置 | |
CN103959252A (zh) | 主计算装置控制部件状态显示器 | |
US10628338B2 (en) | Selection of a location for installation of a CPU in a compute node using predicted performance scores | |
CN111405052A (zh) | 基于端口预测的p2p穿透方法、电子设备及介质 | |
US9038084B2 (en) | Managing utilization of physical processors of a shared processor pool in a virtualized processor environment | |
CN110688073B (zh) | 数据存储方法、电子设备、系统及介质 | |
CN115174223B (zh) | 一种工控主机安全防护方法、系统、智能终端及存储介质 | |
CN111245948A (zh) | Dht网络连接方法、电子设备及介质 | |
CN110879743B (zh) | 基于边缘计算环境的任务剔除方法、设备、系统及介质 | |
CN115629853A (zh) | 一种任务调度的方法和装置 | |
CN113485838A (zh) | 服务器分配方法及装置、电子设备和计算机可读存储介质 | |
CN110716939B (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 |