一种基于边缘计算的资源管理方法、系统及电子设备
技术领域
本申请属于边缘计算技术领域,特别涉及一种基于边缘计算的资源管理方法、系统及电子设备。
背景技术
当前是互联网时代,时下应用最多的云计算是将计算服务的集中化,以最简单的形式利用共享数据中心基础设施和规模经济来降低成本。然而由于路由器跳数,虚拟化技术的引入带来的数据包延迟或数据中心内的服务器延迟等问题逐渐凸显。同时,智能终端的数量呈指数型增长,云计算已无法匹配海量数据处理,具体表现为带宽受限、高延时、安全性以及能耗。靠近数据源头的网络边缘建立集计算、存储和应用的开放平台能就近提供服务,其实时性,安全隐私保护,数据优化,应用智能等需求可得到进一步的提升。故边缘计算的作用域逐渐扩大。
在很多情况下,边缘计算和云计算是共生关系。随着物联网、虚拟现实、增强现实等技术的发展与应用,未来将会出现数据大爆炸的状况。完全依赖云计算来进行数据传输和处理将会造成巨大的网络延迟,边缘计算将数据在边缘节点进行处理能够有效减少数据的传输和处理,但通过云计算的远程存储仍然至关重要。搭配了分布式的边缘计算之后,通过智能路由等设备和技术,在不同设备之间传输数据可以有效减少网络流量,降低数据中心的负荷。但另一方面,边缘计算也存在资源管理和利用的相关问题。对于云计算而言,其资源大多是服务器等高性能计算设备,类型比较单一也便于资源整合和管理。但在边缘网络中,其可利用的物理资源种类众多,计算能力差距较大,进行资源调度的对象也与云计算有差别,管理方式也不尽相同。同时,在接收到用户的请求后,如何更快做出响应,更好的对所辖范围内资源利用率最大化成为待解决的主要问题。
云计算对资源的管理和调度可以作为边缘计算的参考,虚拟化技术则是云计算平台进行资源管理的基础。其目标是对物理计算资源进行整合或划分,为全部关键应用、服务等集中分配资源,并且,虚拟化计算资源和存储资源是相互独立的,两者通过虚拟化网络资源连接起来。从而提供了一个单一而又有效的管理环境。云计算管理平台可以同时管理物理机和虚拟机,对物理机提供启动、关闭等基本功能,对虚拟机则提供整个生命周期的管理,包括创建、运行、维护以及迁移等。待平台接收请求后,计算其需要的资源量并独立分配,直至计算结束后返回结果,并完成数据备份。而现有边缘计算的资源管理和调度过程也大致延用云计算的资源处理方式。
目前,由于商业用户和消费者对效率和速度的要求越来越高,低延迟已经成了标配。在应用达到云计算中央处理处时,往往需要经过多层路由,而每层路由又受限于带宽、当前网络状态等不确定性因素,所以计算被慢慢转移至边缘网络;同时,当解决了高延时、安全性等一系列问题后,边缘网络中的设备资源管理和调度相关的问题则又凸显出来。问题在于:其一,边缘网络的资源类型繁多,管理方式不统一;其二,接收请求后,在进行资源调度时,计算资源的计算能力差距较大,而调度的有效性直接决定资源的利用率。
发明内容
本申请提供了一种基于边缘计算的资源管理方法、系统及电子设备,旨在至少在一定程度上解决现有技术中的上述技术问题之一。
为了解决上述问题,本申请提供了如下技术方案:
一种基于边缘计算的资源管理方法,包括以下步骤:
步骤a:获取所有可利用的边缘网络资源的状态信息,并将获取的边缘网络资源的状态信息写入资源信息数据库;
步骤b:接收客户端的任务请求,并获取当前任务的相关信息,根据当前任务的相关信息以及所述资源信息数据库的资源状态信息分别计算当前任务在客户端本地和在边缘计算平台的任务执行时间,并判断客户端本地的任务执行时间是否小于边缘计算平台的任务执行时间,如果客户端本地的任务执行时间小于边缘计算平台的任务执行时间,则拒绝客户端的任务请求;否则,执行步骤c;
步骤c:通过所述边缘计算平台匹配出与当前任务对应的目标计算节点,并通过所述目标计算节点执行当前任务后将执行结果返回至客户端。
本申请实施例采取的技术方案还包括:所述步骤a前还包括:根据资源计算能力和资源设备类型对边缘网络资源进行分类,并根据分类结果对边缘网络资源进行分块管理。
本申请实施例采取的技术方案还包括:所述步骤a还包括:将获取的边缘网络资源的状态信息备份至边缘计算平台的数据备份中心。
本申请实施例采取的技术方案还包括:在所述步骤b中,所述当前任务在客户端本地的任务执行时间为:
tLocal=H(n,r,c)G(f)
上述公式中,n为CPU核心数,r表示为RAM的使用率,f表示CPU主频,c表示CPU当前利用率,H表示任务执行时间与CPU核心数n、RAM的使用率r、CPU当前利用率c的映射关系,G表示任务执行时间与CPU主频f的映射关系。
本申请实施例采取的技术方案还包括:在所述步骤b中,所述当前任务在边缘计算平台的任务执行时间为:
tServer=tTrans+tConn+tRemote
上述公式中,ttrans表示数据传输时间,tConn表示建立连接时间,tRemote表示服务端本地执行时间;其中,所述数据传输时间tTrans为:
上述公式中,B表示当前网络带宽、data表示传输数据量,Noise(ETrans,DTrans)表示传输噪声;
所述建立连接时间tConn为:
tConn=P+Noise(EConn,DConn)
上述公式中,P表示连接时间的期望值,Noise(EConn,DConn)表示连接噪声;
所述服务端本地执行时间tRemote具体为:
tRemote=R(n,r,f,c)
上述公式中,R为远程执行的映射关系。
本申请实施例采取的技术方案还包括:在所述步骤c中,所述通过边缘计算平台匹配出与当前任务对应的目标计算节点,并通过所述目标计算节点执行当前任务后将执行结果返回至客户端具体为:“Masters”接收客户端发送的任务请求,“Head Master”针对当前任务进行资源全局扫描和资源分析,并向“Masters”返回与当前任务对应的目标计算节点的位置信息,“Masters”将当前任务的相关信息传输至所述目标计算节点,并连通所述目标计算节点与客户端,所述目标计算节点执行任务后将执行结果返回至客户端。
本申请实施例采取的另一技术方案为:一种基于边缘计算的资源管理系统,包括:
资源整合模块:用于获取所有可利用的边缘网络资源的状态信息,并将获取的边缘网络资源的状态信息写入资源信息数据库;
调度判断模块:用于接收客户端的任务请求,并获取当前任务的相关信息,根据当前任务的相关信息以及所述资源信息数据库的资源状态信息分别计算当前任务在客户端本地和在边缘计算平台的任务执行时间,并判断客户端本地的任务执行时间是否小于边缘计算平台的任务执行时间,如果客户端本地的任务执行时间小于边缘计算平台的任务执行时间,则拒绝客户端的任务请求;否则,通过调度执行模块执行调度过程;
调度执行模块:通过所述边缘计算平台匹配出与当前任务对应的目标计算节点,并通过所述目标计算节点执行当前任务后将执行结果返回至客户端。
本申请实施例采取的技术方案还包括资源管理模块,所述资源管理模块用于根据资源计算能力和资源设备类型对边缘网络资源进行分类,并根据分类结果对边缘网络资源进行分块管理。
本申请实施例采取的技术方案还包括:所述资源整合模块还用于将获取的边缘网络资源的状态信息备份至边缘计算平台的数据备份中心。
本申请实施例采取的技术方案还包括:所述当前任务在客户端本地的任务执行时间为:
tLocal=H(n,r,c)G(f)
上述公式中,n为CPU核心数,r表示为RAM的使用率,f表示CPU主频,c表示CPU当前利用率,H表示任务执行时间与CPU核心数n、RAM的使用率r、CPU当前利用率c的映射关系,G表示任务执行时间与CPU主频f的映射关系。
本申请实施例采取的技术方案还包括:所述当前任务在边缘计算平台的任务执行时间为:
tServer=tTrans+tConn+tRemote
上述公式中,ttrans表示数据传输时间,tConn表示建立连接时间,tRemote表示服务端本地执行时间;其中,所述数据传输时间tTrans为:
上述公式中,B表示当前网络带宽、data表示传输数据量,Noise(ETrans,DTrans)表示传输噪声;
所述建立连接时间tConn为:
tConn=P+Noise(EConn,DConn)
上述公式中,P表示连接时间的期望值,Noise(EConn,DConn)表示连接噪声;
所述服务端本地执行时间tRemote具体为:
tRemote=R(n,r,f,c)
上述公式中,R为远程执行的映射关系。
本申请实施例采取的技术方案还包括:所述调度执行模块通过边缘计算平台匹配出与当前任务对应的目标计算节点,并通过所述目标计算节点执行当前任务后将执行结果返回至客户端具体为:“Masters”接收客户端发送的任务请求,“Head Master”针对当前任务进行资源全局扫描和资源分析,并向“Masters”返回与当前任务对应的目标计算节点的位置信息,“Masters”将当前任务的相关信息传输至所述目标计算节点,并连通所述目标计算节点与客户端,所述目标计算节点执行任务后将执行结果返回至客户端。
本申请实施例采取的又一技术方案为:一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的基于边缘计算的资源管理方法的以下操作:
步骤a:获取所有可利用的边缘网络资源的状态信息,并将获取的边缘网络资源的状态信息写入资源信息数据库;
步骤b:接收客户端的任务请求,并获取当前任务的相关信息,根据当前任务的相关信息以及所述资源信息数据库的资源状态信息分别计算当前任务在客户端本地和在边缘计算平台的任务执行时间,并判断客户端本地的任务执行时间是否小于边缘计算平台的任务执行时间,如果客户端本地的任务执行时间小于边缘计算平台的任务执行时间,则拒绝客户端的任务请求;否则,执行步骤c;
步骤c:通过所述边缘计算平台匹配出与当前任务对应的目标计算节点,并通过所述目标计算节点执行当前任务后将执行结果返回至客户端。
相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例的基于边缘计算的资源管理方法、系统及电子设备支持资源管理的类型种类增多,资源管理的范围得到放大,局域网络下可利用的计算资源得到进一步的收集,资源利用率也得到提升;在任务请求发生后,首先进行调度判断,有效的减少了资源的浪费,避免了非必要的资源调度,提升了资源利用率;同时,从接收任务请求、响应任至任务执行完成,有效的减少资源之间的请求次数,请求延时得到降低;另外,资源管理与资源调度任务分开独立进行,只在接收任务请求后,进行通信,以获取与请求任务最佳匹配的计算节点IP,整个调度过程更加快速高效的进行,增大了资源利用率,减小了任务执行时间,有效的减轻了服务端的负载压力。
附图说明
图1是本申请实施例的基于边缘计算的资源管理方法的流程图;
图2是本申请实施例的资源整合流程图;
图3为本申请实施例的任务调度判断流程图;
图4为服务端本地、计算迁移、建立连接时间对比图;
图5为随负载计算复杂度的变化,客户端本地执行与计算迁移执行时间对比图;
图6为随负载计算复杂度的变化,客户端本地执行与计算迁移执行时间期望方差对比图;
图7为随负载计算复杂度的变化,建立连接时间呈现的变化规律图;
图8是本申请实施例的调度过程流程图;
图9是本申请实施例的基于边缘计算的资源管理系统的结构示意图;
图10是本申请实施例提供的基于边缘计算的资源管理方法的硬件设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
请参阅图1,是本申请实施例的基于边缘计算的资源管理方法的流程图。本申请实施例的基于边缘计算的资源管理方法包括以下步骤:
步骤100:根据资源计算能力和资源设备类型对边缘网络资源进行分类,根据分类结果对边缘网络资源进行分块管理;
在步骤100中,资源管理是任何人造系统所需的核心功能。作为边缘计算的前身,云计算是一集中化的计算模式,其具体表现在资源集中、计算集中和存储集中。其中最重要的即资源集中,一般意义上,资源往往指的是底层硬件资源和虚拟资源,资源的有效集中化管理是之后的计算集中更加有效完成的基础,同时资源管理也是影响系统评价的三个基本标准:性能、功能和成本。低效资源管理有直接的负面影响,在性能和成本上,它可以也间接地影响系统功能。云计算基础架构是一个复杂的系统,具有大量的共享资源。但同时,所有资源类型具有相似性,例如,处理能力相似、搭载系统相似、资源之间的可移植性强、管理方式相似。
相对于云计算平台资源,边缘网络资源的类型种类繁多,包括搭载不同系统的PC、各种平台的手机设备、带计算能力的路由设备以及其他嵌入式设备等,因此,云计算资源管理工具并不完全适用于边缘网络资源管理。本申请实施例中,根据计算能力和搭载设备类型对边缘网络资源进行分类分块管理,具体为:对于搭载不同系统的PC的资源类型,可将资源设备(PC)看做为小型的服务器,因此可延用云计算资源管理工具,例如:Munin、Graphite、Ganglia、Nagios等;而对于各种平台的手机设备、带计算能力的路由设备以及其他嵌入式设备等其他资源类型,则借助于监控机器与各资源设备之间的Socket通信完成。各资源设备自主周期性的发送自身的资源信息数据至监控机器,监控机器被动型接收所辖范围内的资源信息数据。由于监控机器与各资源设备所建立的链路之间只有一层路由,使得监控信息数据传输的实时性得到保障。
步骤200:获取所有可利用的边缘网络资源的状态信息,并将获取的边缘网络资源的状态信息写入资源信息数据库,实现边缘网络的资源整合;同时,将获取的边缘网络资源的状态信息备份至边缘计算平台的数据备份中心;
在步骤200中,请一并参阅图2,是本申请实施例的资源整合流程图。资源整合是优化配置的决策。寻求资源配置与任务需求的最佳结合点,目的是要通过组织制度安排和管理运作协调来增强平台的竞争优势,提高服务水平,能够有效快速的进行响应,最后给用户良好的使用体验。云计算平台内的可利用资源(包括计算能力、存储能力和交付能力)都是动态的、可伸缩的、被虚拟化的,而且以服务的方式提供,其资源整合技术已趋于完善,边缘计算中与云计算平台相似的资源类型可依旧延用云计算平台的资源整合技术(例如基于X86的物理资源及虚拟化资源)。而对于基于android、windows phone或ios等手机资源以及其他资源类型,受限于各自本身的硬件局限性,可通过蓝牙、WiFi、rfid、http、Web service等接入方式及相关通信协议与边缘计算平台进行信息交流,达到信息共享的功能。因此边缘网络资源整合也是分块整合再进行信息融合的过程,即构建信息资源池的过程。资源整理处理的所有过程均在“Head Master”上进行,一般情况下,云计算平台的资源监控工具将监控数据以各类数据库文件或其他的形式保存在本地,待需要时随时进行读取或者周期性的读取。而在边缘计算平台下,各个资源类型分块异步周期性进行,最终整合至“HeadMaster”,由“Head Master”统一解析分析后,写入资源信息数据库以供其他“Masters”共享,同时,将所有资源状态信息备份至边缘计算平台的数据备份中心,当“Head Master”由于一定的原因发生故障或拥堵时,“Head Master”的备用机器可以立即从边缘计算平台的数据备份中心请求故障之前的备份数据进行响应,完成“Head Master”的替代工作。
本申请实施例中,“Head Master”和“Masters”分别代表负责不同任务的边缘节点,“Head Master”主要负责的是资源监控,监控平台下各可利用资源的使用信息。“Masters”负责处理提交给平台的任务请求,并根据任务类型和平台资源使用情况进行相应的资源分配。获取状态信息即计算资源的资源使用量,包括CPU、内存、磁盘使用率等;本申请支持资源管理的类型种类增多,资源管理的范围得到放大,局域网络下可利用的资源得到进一步的收集,资源利用率也得到提升。在本申请其他实施例中,在边缘网络资源达到一定数量级后,还可进行区域分片处理,具体的区域分片方式包括但不限于IP网段或其他方式。
步骤300:执行任务调度判断:接收客户端(任务请求方)的任务请求,并获取当前任务的相关信息,根据当前任务的相关信息以及资源信息数据库的资源状态信息分别计算当前任务在客户端本地和在边缘计算平台的任务执行时间,并判断客户端本地的任务执行时间是否小于边缘计算平台的任务执行时间,如果客户端本地的任务执行时间小于边缘计算平台的任务执行时间,执行步骤400;否则,执行步骤500;
在步骤300中,当前任务的相关信息具体指任务类型(名称)、任务执行优先级等信息。任务调度判断(即计算迁移)的执行流程如图3所示。在云计算平台中衡量的是接收任务请求后的快速高效处理。但在边缘计算平台中,面向的任务请求复杂度的层次区别较大,而同时当下移动设备等客户端的计算能力也在不断地提升,对于轻量级的任务请求,则需衡量任务执行效率(衡量指标即为任务在客户端本地和边缘计算平台的任务执行时间),并做出合适的调度判断,以减少资源的浪费,避免非必要的资源调度,实现最大化利用资源,提升用户体验。
客户端本地的任务执行时间直接相关于其硬件资源条件,其硬件资源的配置更优,需要的任务执行时间则更短。定义客户端本地的任务执行时间tLocal=F(n,r,f,c),其中,F为客户端本地任务执行的映射关系,n为CPU核心数,r表示为RAM(Random-AccessMemory,随机存取存储器)的使用率,f表示CPU主频,c表示CPU当前利用率。由于调度判断主要针对轻量级的任务请求,对任务所需要的内存空间或计算空间有限,r和c足以满足任务的正常执行,影响执行效率最关键的参数为主频参数f。故客户端本地的任务执行时间tLocal改写为
tLocal=H(n,r,c)G(f) (1)
公式(1)中,H代表任务执行时间与CPU核心数、RAM的使用率、CPU当前利用率的映射关系,G表示任务执行时间与CPU主频的映射关系。
边缘计算平台的任务执行时间tServer由数据传输时间ttrans、建立连接时间tConn、服务端本地执行时间tRemote三部分组成,故执行一次offloading(任务从客户端迁移至服务端)的时间为:
tServer=tTrans+tConn+tRemote (2)
其中,服务端本地执行时间tRemote与客户端类似,直接相关于服务端本地硬件配置,相比于客户端,由于服务端硬件配置成倍优于客户端,故相同任务在服务端的本地执行时间会大大减少。服务端的本地执行时间tRemote具体为:
tRemote=R(n,r,f,c) (3)
上述公式中,R为远程执行的映射关系。
数据传输时间tTrans则相关于当前网络带宽B、传输数据量data以及传输噪声Noise(ETrans,DTrans)(影响数据传输的各类参数的总称),故:
建立连接时间tConn经实测服从PH分布,并且与请求任务的复杂度无关,连接噪声Noise(EConn,DConn),故:
tConn=P+Noise(EConn,DConn) (5)
上述公式中,P表示连接时间的期望值。
具体的测试数据如图4至图7所示,所有的测试数据皆在同一环境下,图4为服务端本地、计算迁移、建立连接时间对比图,图5为随负载计算复杂度的变化,客户端本地执行与计算迁移执行时间对比图,图6为随负载计算复杂度的变化,客户端本地执行与计算迁移执行时间期望方差对比图,图7为随负载计算复杂度的变化,建立连接时间呈现的变化规律图。由图可以看出,计算复杂度低时,客户端本地计算有优势,但随着计算复杂度的提升,远程调度执行的优势凸显。
本申请实施例中,在执行调度判断时,可根据能耗、当前网络性能状况或人为意愿设置的优先级等诸多参数进行融合判断。
步骤400:拒绝客户端的任务请求,并在客户端本地执行任务;
步骤500:服务端启动调度过程,找出与任务对应的目标计算节点,目标计算节点执行任务后将执行结果返回至客户端,完成任务调度工作。
在步骤500中,请一并参阅图8,是本申请实施例的调度过程流程图。调度过程始于调度判断完成之后,即在确认客户端本地无法完成请求任务之后。分布于网络中的诸多“Masters”接收到请求任务后,需找出与任务对应的目标计算节点。同时,由于边缘网络下的资源数量更多,种类更广,所以对所辖范围内的资源进行一个周期的扫描需要的时间较长,资源的处理能力要求也高,而网络中的诸多“Masters”其各自的计算能力有限,因此本申请采用多一层的数据访问来替代“Masters”自身进行全局资源扫描,即单独分出部分专门用来资源收集的节点“Head Master”完成资源全局扫描和资源分析的功能。“Masters”接收到客户端发送的任务请求后,再将任务请求发送至“Head Master”,“Head Master”针对该任务进行资源全局扫描和资源分析后,匹配出每个任务对应的目标计算节点,并向“Masters”返回与每个任务对应的目标计算节点的位置信息,“Masters”将请求任务相关信息传输至该目标计算节点,并连通该目标计算节点与客户端,待该目标计算节点执行任务后将执行结果直接返回至客户端。
本申请实施例中,在执行调度过程中,网络内分布的诸多“Masters”可根据自身资源使用情况或平台其他资源使用情况自动切换身份,身份类型可包含“Master”、“目标计算节点”、“Head Master”,“目标计算节点+Master”、“目标计算节点+Head Master”。
请参阅图9,是本申请实施例的基于边缘计算的资源管理系统的结构示意图。本申请实施例的基于边缘计算的资源管理系统包括资源管理模块、资源整合模块、调度判断模块和调度执行模块。具体地:
资源管理模块:用于根据资源计算能力和资源设备类型对边缘网络资源进行分类,根据分类结果对边缘网络资源进行分块管理;其中,资源管理是任何人造系统所需的核心功能。作为边缘计算的前身,云计算是一集中化的计算模式,其具体表现在资源集中、计算集中和存储集中。其中最重要的即资源集中,一般意义上,资源往往指的是底层硬件资源和虚拟资源,资源的有效集中化管理是之后的计算集中更加有效完成的基础,同时资源管理也是影响系统评价的三个基本标准:性能、功能和成本。低效资源管理有直接的负面影响,在性能和成本上,它可以也间接地影响系统功能。云计算基础架构是一个复杂的系统,具有大量的共享资源。但同时,所有资源类型具有相似性,例如,处理能力相似、搭载系统相似、资源之间的可移植性强、管理方式相似。
相对于云计算平台资源,边缘网络资源的类型种类繁多,包括搭载不同系统的PC、各种平台的手机设备、带计算能力的路由设备以及其他嵌入式设备等,因此,云计算资源管理工具并不完全适用于边缘网络资源管理。本申请实施例中,根据计算能力和搭载设备类型对边缘网络资源进行分类分块管理,具体为:对于搭载不同系统的PC的资源类型,可将资源设备(PC)看做为小型的服务器,因此可延用云计算资源管理工具,例如:Munin、Graphite、Ganglia、Nagios等;而对于各种平台的手机设备、带计算能力的路由设备以及其他嵌入式设备等其他资源类型,则借助于监控机器与各资源设备之间的Socket通信完成。各资源设备自主周期性的发送自身的资源信息数据至监控机器,监控机器被动型接收所辖范围内的资源信息数据。由于监控机器与各资源设备所建立的链路之间只有一层路由,使得监控信息数据传输的实时性得到保障。
资源整合模块:用于获取所有可利用的边缘网络资源的状态信息,并将获取的边缘网络资源的状态信息写入资源信息数据库,实现边缘网络的资源整合;同时,将获取的边缘网络资源的状态信息备份至边缘计算平台的数据备份中心;其中,资源整合是优化配置的决策。寻求资源配置与任务需求的最佳结合点,目的是要通过组织制度安排和管理运作协调来增强平台的竞争优势,提高服务水平,能够有效快速的进行响应,最后给用户良好的使用体验。云计算平台内的可利用资源(包括计算能力、存储能力和交付能力)都是动态的、可伸缩的、被虚拟化的,而且以服务的方式提供,其资源整合技术已趋于完善,边缘计算中与云计算平台相似的资源类型可依旧延用云计算平台的资源整合技术(例如基于X86的物理资源及虚拟化资源)。而对于基于android、windows phone或ios等手机资源以及其他资源类型,受限于各自本身的硬件局限性,可通过蓝牙、WiFi、rfid、http、Web service等接入方式及相关通信协议与边缘计算平台进行信息交流,达到信息共享的功能。因此边缘网络资源整合也是分块整合再进行信息融合的过程,即构建信息资源池的过程。资源整理处理的所有过程均在“Head Master”上进行,一般情况下,云计算平台的资源监控工具将监控数据以各类数据库文件或其他的形式保存在本地,待需要时随时进行读取或者周期性的读取。而在边缘计算平台下,各个资源类型分块异步周期性进行,最终整合至“Head Master”,由“Head Master”统一解析分析后,写入资源信息数据库以供其他“Masters”共享,同时,将所有资源状态信息备份至边缘计算平台的数据备份中心,当“Head Master”由于一定的原因发生故障或拥堵时,“Head Master”的备用机器可以立即从边缘计算平台的数据备份中心请求故障之前的备份数据进行响应,完成“Head Master”的替代工作。
本申请实施例中,“Head Master”和“Masters”分别代表负责不同任务的边缘节点,“Head Master”主要负责的是资源监控,监控平台下各可利用资源的使用信息。“Masters”负责处理提交给平台的任务请求,并根据任务类型和平台资源使用情况进行相应的资源分配。获取状态信息即计算资源的资源使用量,包括CPU、内存、磁盘使用率等;本申请支持资源管理的类型种类增多,资源管理的范围得到放大,局域网络下可利用的资源得到进一步的收集,资源利用率也得到提升。在本申请其他实施例中,在边缘网络资源达到一定数量级后,还可进行区域分片处理,具体的区域分片方式包括但不限于IP网段或其他方式。
调度判断模块:用于接收客户端(任务请求方)的任务请求,并获取当前任务的相关信息,根据当前任务的相关信息以及资源信息数据库的资源状态信息分别计算当前任务在客户端本地和在边缘计算平台的任务执行时间,并判断客户端本地的任务执行时间是否小于边缘计算平台的任务执行时间,如果客户端本地的任务执行时间小于边缘计算平台的任务执行时间,则拒绝客户端的任务请求;否则,通过调度执行模块执行调度过程;其中,在云计算平台中衡量的是接收任务请求后的快速高效处理。但在边缘计算平台中,面向的任务请求复杂度的层次区别较大,而同时当下移动设备等客户端的计算能力也在不断地提升,对于轻量级的任务请求,则需衡量任务执行效率(衡量指标即为任务在客户端本地和边缘计算平台的任务执行时间),并做出合适的调度判断,以减少资源的浪费,避免非必要的资源调度,实现最大化利用资源,提升用户体验。
客户端本地的任务执行时间直接相关于其硬件资源条件,其硬件资源的配置更优,需要的任务执行时间则更短。定义客户端本地的任务执行时间tLocal=F(n,r,f,c),其中,F为客户端本地任务执行的映射关系,n为CPU核心数,r表示为RAM(Random-AccessMemory,随机存取存储器)的使用率,f表示CPU主频,c表示CPU当前利用率。由于调度判断主要针对轻量级的任务请求,对任务所需要的内存空间或计算空间有限,r和c足以满足任务的正常执行,影响执行效率最关键的参数为主频参数f。故客户端本地的任务执行时间tLocal改写为
tLocal=H(n,r,c)G(f) (1)
公式(1)中,H代表任务执行时间与CPU核心数、RAM的使用率、CPU当前利用率的映射关系,G表示任务执行时间与CPU主频的映射关系。
边缘计算平台的任务执行时间tServer由数据传输时间ttrans、建立连接时间tConn、服务端本地执行时间tRemote三部分组成,故执行一次offloading(任务从客户端迁移至服务端)的时间为:
tServer=tTrans+tConn+tRemote (2)
其中,服务端本地执行时间tRemote与客户端类似,直接相关于服务端本地硬件配置,相比于客户端,由于服务端硬件配置成倍优于客户端,故相同任务在服务端的本地执行时间会大大减少。服务端的本地执行时间tRemote具体为:
tRemote=R(n,r,f,c) (3)
上述公式中,R为远程执行的映射关系。
数据传输时间tTrans则相关于当前网络带宽B、传输数据量data以及传输噪声Noise(ETrans,DTrans)(影响数据传输的各类参数的总称),故:
建立连接时间tConn经实测服从PH分布,并且与请求任务的复杂度无关,连接噪声Noise(EConn,DConn),故:
tConn=P+Noise(EConn,DConn) (5)
上述公式中,P表示连接时间的期望值。
调度执行模块:用于启动调度过程,找出与任务对应的目标计算节点,通过目标计算节点执行任务后将执行结果返回至客户端,完成任务调度工作。本申请实施例中,调度过程始于调度判断完成之后,即在确认客户端本地无法完成请求任务之后。分布于网络中的诸多“Masters”接收到请求任务后,需找出与任务对应的目标计算节点。同时,由于边缘网络下的资源数量更多,种类更广,所以对所辖范围内的资源进行一个周期的扫描需要的时间较长,资源的处理能力要求也高,而网络中的诸多“Masters”其各自的计算能力有限,因此本申请采用多一层的数据访问来替代“Masters”自身进行全局资源扫描,即单独分出部分专门用来资源收集的节点“Head Master”完成资源全局扫描和资源分析的功能。“Masters”接收到客户端发送的任务请求后,再将任务请求发送至“Head Master”,“HeadMaster”针对该任务进行资源全局扫描和资源分析后,匹配出每个任务对应的目标计算节点,并向“Masters”返回与每个任务对应的目标计算节点的位置信息,“Masters”将请求任务相关信息传输至该目标计算节点,并连通该目标计算节点与客户端,待该目标计算节点执行任务后将执行结果直接返回至客户端。
图10是本申请实施例提供的基于边缘计算的资源管理方法的硬件设备结构示意图。如图10所示,该设备包括一个或多个处理器以及存储器。以一个处理器为例,该设备还可以包括:输入系统和输出系统。
处理器、存储器、输入系统和输出系统可以通过总线或者其他方式连接,图10中以通过总线连接为例。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的处理方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入系统可接收输入的数字或字符信息,以及产生信号输入。输出系统可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行上述任一方法实施例的以下操作:
步骤a:获取所有可利用的边缘网络资源的状态信息,并将获取的边缘网络资源的状态信息写入资源信息数据库;
步骤b:接收客户端的任务请求,并获取当前任务的相关信息,根据当前任务的相关信息以及所述资源信息数据库的资源状态信息分别计算当前任务在客户端本地和在边缘计算平台的任务执行时间,并判断客户端本地的任务执行时间是否小于边缘计算平台的任务执行时间,如果客户端本地的任务执行时间小于边缘计算平台的任务执行时间,则拒绝客户端的任务请求;否则,执行步骤c;
步骤c:通过所述边缘计算平台匹配出与当前任务对应的目标计算节点,并通过所述目标计算节点执行当前任务后将执行结果返回至客户端。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例提供的方法。
本申请实施例提供了一种非暂态(非易失性)计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行以下操作:
步骤a:获取所有可利用的边缘网络资源的状态信息,并将获取的边缘网络资源的状态信息写入资源信息数据库;
步骤b:接收客户端的任务请求,并获取当前任务的相关信息,根据当前任务的相关信息以及所述资源信息数据库的资源状态信息分别计算当前任务在客户端本地和在边缘计算平台的任务执行时间,并判断客户端本地的任务执行时间是否小于边缘计算平台的任务执行时间,如果客户端本地的任务执行时间小于边缘计算平台的任务执行时间,则拒绝客户端的任务请求;否则,执行步骤c;
步骤c:通过所述边缘计算平台匹配出与当前任务对应的目标计算节点,并通过所述目标计算节点执行当前任务后将执行结果返回至客户端。
本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以下操作:
步骤a:获取所有可利用的边缘网络资源的状态信息,并将获取的边缘网络资源的状态信息写入资源信息数据库;
步骤b:接收客户端的任务请求,并获取当前任务的相关信息,根据当前任务的相关信息以及所述资源信息数据库的资源状态信息分别计算当前任务在客户端本地和在边缘计算平台的任务执行时间,并判断客户端本地的任务执行时间是否小于边缘计算平台的任务执行时间,如果客户端本地的任务执行时间小于边缘计算平台的任务执行时间,则拒绝客户端的任务请求;否则,执行步骤c;
步骤c:通过所述边缘计算平台匹配出与当前任务对应的目标计算节点,并通过所述目标计算节点执行当前任务后将执行结果返回至客户端。
本申请已经过实验验证,证明分析方法的可靠有效性。同时根据分析模型,在对实时边缘计算平台进行测试,资源利用率得到提升,证明本申请实施方案的可行性。
本申请实施例的基于边缘计算的资源管理方法、系统及电子设备支持资源管理的类型种类增多,资源管理的范围得到放大,局域网络下可利用的计算资源得到进一步的收集,资源利用率也得到提升;在任务请求发生后,首先进行调度判断,有效的减少了资源的浪费,避免了非必要的资源调度,提升了资源利用率;同时,从接收任务请求、响应任至任务执行完成,有效的减少资源之间的请求次数,请求延时得到降低;另外,资源管理与资源调度任务分开独立进行,只在接收任务请求后,进行通信,以获取与请求任务最佳匹配的计算节点IP,整个调度过程更加快速高效的进行,增大了资源利用率,减小了任务执行时间,有效的减轻了服务端的负载压力。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。