一种任务资源约束的利润优化调度方法

文档序号:25279410发布日期:2021-06-01 17:25阅读:67来源:国知局
一种任务资源约束的利润优化调度方法

本发明涉及任务调度领域、能效领域和边缘云计算领域,特别涉及一种任务资源约束的利润优化调度方法。



背景技术:

在大数据和云计算快速发展的当下,每分每秒钟产生的数据量都以指数级的形式进行增长,对计算机的计算性能提出了更高的要求,因此需要大量的计算资源来保障数据能够得到及时处理,于是使用云计算中心的集中化处理数据的方式逐渐普及开来,云计算的强大能力和日益完善的体系架构正在为这庞大的数据处理提供支撑。

由于带宽和网络延迟的影响,使得部分延迟敏感性任务在云计算中心进行处理时,大大延长了用户接收到处理完成任务的时间,降低了用户体验。

边缘云的出现,极大的改善了复杂任务在移动端处理慢、云计算中心处理带宽占用大,延迟高的情况。边缘云节点可以较好的兼顾计算性能与带宽之间的平衡,由于通常应用中的边缘节点够多,使得用户任务在合理调度的情况下,能够很好的保证任务完成时间,同时由于边缘云节点处于距离用户较近的层次,因此能够以较小的网络延迟传输任务。针对边缘节点的任务调度方法是进行边缘计算的关键,合理的任务调度方法能够很好的兼顾边缘节点的计算性能、网络带宽,寻求任务分配的最优解,以便在用户的期望时间的较好的完成任务。

但在用户请求随机、虚拟机资源有限,操作环境开放、动态、复杂的情况下,使得边缘云任务调度优化更加困难。因此如何在有限的虚拟机环境下射击有效的任务调度策略成为一个有挑战性的问题。



技术实现要素:

为了克服现有技术中的不足,本发明提供一种任务资源约束的利润优化调度方法,能够从云服务供应商的角度出发,根据带宽、云服务节点内存、云计算能力的权重比进行最大化利润调度,生成最优调度策略。

为了达到上述发明目的,解决其技术问题所采用的技术方案如下:

一种任务资源约束的利润优化调度方法,包括以下步骤:

步骤s1:状态信息初始化,所述状态信息包括边缘设备将要提交的任务信息和边缘云服务器集群中的服务器信息,依据任务调度规则,生成边缘云服务器集信息和任务集信息;

步骤s2:聚类预处理,对步骤s1所述的任务集进行聚类预处理,得到任务特征相似的若干子任务集,且子任务集中任务数与云服务器数相同;

步骤s3:分类处理,所述分类处理是指对聚类后的任务集进行分类,实现每个子任务集中的任务特征丰富且相等;

步骤s4:利润矩阵确定,所述利润矩阵的确定是指在任务申请的资源小于边缘云服务器提供的资源前提下,预估子任务集与边缘云服务器集间任务的执行利润,建立任务和服务器二部图的利润矩阵;

步骤s5:根据步骤s4中所得利润矩阵,各个任务按照利润最大的调度方式将任务分配给相应的服务器,即为资源约束的利润优化调度方法。

进一步的,步骤s1中所述状态信息初始化,具体包括:

步骤s1.1:根据服务器端和用户端的要求,选取合适的任务特征与服务器特征建立服务器信息集与任务信息集,完成模型计算所需要的信息初始化;

所述任务信息集包括任务序号tid、任务最大完成时间tdeadline、任务运行所需内存tram、任务长度tlength、任务所需计算能力tcomp和任务传输所需带宽tbw;

所述服务器信息集包括服务器序号vmid、虚拟机计算能力vmcomp、虚拟机内存vmram和虚拟机带宽vmbw,i表示为第i个用户,j表示为用户i的第j个任务。

进一步的,步骤s2中所述聚类预处理,具体包括:

步骤s2.1:选取每个任务的任务特征,所述任务特征包括任务长度、任务截止时间、任务执行所需内存;

步骤s2.2:根据每个任务的特征数值的相近程度,利用k均值聚类算法,将任务特征相近的任务划分为k个聚类;

使用k均值聚类算法对处理任务进行聚类改进,将任务分为k个类别中,k值依据下列公式确定,具体计算公式如下:

其中tk表示任务总数,vm表示虚拟机总数。

进一步的,所述聚类预处理是根据任务所需内存、带宽和计算能力的相近程度进行聚类预处理,同样对于服务器的聚类预处理也是根据服务器所拥有的内存、带宽和计算能力的相近程度进行聚类预处理,具体包括:

重复下列步骤直到对任务中的每一个任务都进行了分类;

首先计算两个任务的相近程度,具体计算公式为:

其中,i,j代表用户i的第j个任务,e,f代表用户e的第f个任务,distance(i,j),(e,f)表示这两个不同用户的任务之间的相近程度;

重复计算直到簇中心的值变化幅度小于0.01,计算任务集群中心是否改变,具体计算公式为:

其中,pointi表示由k均值聚类所计算出的聚类簇中心的位置,表示簇中心所代表的任务聚类的内存值,同理表示簇中心所代表的任务聚类的带宽值,代表簇中心所代表的任务聚类的计算能力值,tk表示所有任务的数量,clustercenterj表示第j个聚类中心。

进一步的,步骤s3所述分类处理,具体包括:

步骤s3.1:将任务类按照任务类执行所需的不同资源种类的数量划分为不同等级;

步骤s3.2:根据任务的等级不同,确定与之进行匹配的服务器等级。

进一步的,步骤s4所述利润矩阵,具体包括:

步骤s4.1:计算任务价值,得到每个任务的预估价值;

利用所述任务与云节点信息组对任务最大价值进行预估,所属任务价值具体计算公式为:

其中,valuei,j表示用户i的第j个任务的价值,a,b,c分别表示该任务在价值计算中所占的权重;

步骤s4.2:计算服务器完成成本,得到映射任务在这个服务器上完成的预估成本,所述服务器成本具体计算公式为:

其中,costi,j,k表示用户的任务在第k个虚拟机完成时,云节点预估完成该任务所产生的成本,a,b,c分别表示该虚拟机资源在成本计算中所占的权重;

步骤s4.3:计算利润值,将所述任务预估成本与此任务映射的服务器完成的预估成本相减,得到任务利润值;

所述边缘云节点完成任务所得的利润为任务要求的最大完成的价值与边缘云节点完成任务成本的差值,所述计算任务最大化收益函数具体计算公式为:

其中,maxprofit表示为所求得的最大利润,rq表示用户数量,rqi表示用户i任务数量,vm为虚拟机数量,w表示权重,其中计算时要保证任务所要求的内存必须小于虚拟机所拥有的内存,带宽小于虚拟机所拥有的带宽计,计算能力小于虚拟机所拥有的计算能力;

步骤s4.4:构建利润矩阵,以任务、服务器节点、任务利润构建利润矩阵,对于任务申请的资源大于服务器提供的资源的映射,在矩阵中的利润值一律为0,即可得到任务与服务器映射的利润矩阵。

进一步的,根据利润最大的调度策略,具体包括:

步骤s5.1:根据利润矩阵中任务和服务器的行标;

步骤s5.2:利用匈牙利算法寻找完备任务调度匹配,若未找到完备匹配则修改行标,直到找到利润最大的调度策略。

本发明由于采用以上技术方案,使之与现有技术相比,具有以下的优点和积极效果:

本发明公开的任务资源约束的利润优化任务调度方法,针对运营商对云服务节点内存、带宽、计算能力的重视程度不同,可通过设置不同的权重,来达到按不同利润重点分配的效果,该权重值可根据运营商需要进行设置,任务调度过程中采用的不同权重分配比表明任务调度方法会向着偏重运营商所重视的方面进行最优化调度,从而能分别以最优化云节点内存分配、最优化带宽传输、最优化云节点计算能力三个方面生成最优调度策略。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图中:

图1是本发明一种任务资源约束的利润优化调度方法的实施流程图;

图2是本发明一种任务资源约束的利润优化调度方法的流程框图。

具体实施方式

以下将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整的描述和讨论,显然,这里所描述的仅仅是本发明的一部分实例,并不是全部的实例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。

如图1和2所示,本实施例公开了一种任务资源约束的利润优化调度方法,包括以下步骤:

步骤s1:状态信息初始化,所述状态信息包括边缘设备将要提交的任务信息和边缘云服务器集群中的服务器信息,依据任务调度规则,生成边缘云服务器集信息和任务集信息;

进一步的,步骤s1中所述状态信息初始化,具体包括:

步骤s1.1:根据服务器端和用户端的要求,选取合适的任务特征与服务器特征建立服务器信息集与任务信息集,完成模型计算所需要的信息初始化;

所述任务信息集包括任务序号tid、任务最大完成时间tdeadline、任务运行所需内存tram、任务长度tlength(以每秒百万指令数计)、任务所需计算能力tcomp(以每秒百万次指令计算计)和任务传输所需带宽tbw;

所述服务器信息集包括服务器序号ymid、虚拟机计算能力vmcomp(以每秒百万次指令计算计)、虚拟机内存vmram和虚拟机带宽vmbw,i表示为第i个用户,j表示为用户i的第j个任务。

步骤s2:聚类预处理,对步骤s1所述的任务集进行聚类预处理,得到任务特征相似的若干子任务集,且子任务集中任务数与云服务器数相同;

进一步的,步骤s2中所述聚类预处理,具体包括:

步骤s2.1:选取每个任务的任务特征,所述任务特征包括任务长度、任务截止时间、任务执行所需内存、任务所需存储空间;

步骤s2.2:根据每个任务的特征数值的相近程度,利用k均值聚类算法,将任务特征相近的任务划分为k个聚类;

使用k均值聚类算法对处理任务进行聚类改进,将任务分为k个类别中,k值依据下列公式确定,具体计算公式如下:

其中tk表示任务总数,vm表示虚拟机总数;

进一步的,所述聚类预处理是根据任务所需内存、带宽和计算能力的相近程度进行聚类预处理,同样对于服务器的聚类预处理也是根据服务器所拥有的内存、带宽和计算能力的相近程度进行聚类预处理,具体包括:

重复下列步骤直到对任务中的每一个任务都进行了分类;

首先计算两个任务的相近程度,具体计算公式为:

其中,i,j代表用户i的第j个任务,e,f代表用户e的第f个任务,distance(i,j),(e,f)表示这两个不同用户的任务之间的相近程度;

重复计算直到簇中心的值变化幅度小于0.01,计算任务集群中心是否改变,具体计算公式为:

其中,pointi表示由k均值聚类所计算出的聚类簇中心的位置,表示簇中心所代表的任务聚类的内存值,同理表示簇中心所代表的任务聚类的带宽值,代表簇中心所代表的任务聚类的计算能力值,tk表示所有任务的数量,clustercenterj表示第j个聚类中心。

步骤s3:分类处理,所述分类处理是指对聚类后的任务集进行分类,实现每个子任务集中的任务特征丰富且相等;

进一步的,步骤s3所述分类处理,具体包括:

步骤s3.1:将任务类按照任务类执行所需的不同资源种类的数量划分为不同等级;

步骤s3.2:根据任务的等级不同,确定与之进行匹配的服务器等级。

步骤s4:利润矩阵确定,所述利润矩阵的确定是指在任务申请的资源小于边缘云服务器提供的资源前提下,预估子任务集与边缘云服务器集间任务的执行利润,建立任务和服务器二部图的利润矩阵;

进一步的,步骤s4所述利润矩阵,具体包括:

步骤s4.1:计算任务价值,得到每个任务的预估价值;

利用所述任务与云节点信息组对任务最大价值进行预估,所属任务价值具体计算公式为:

其中,valuei,j表示用户i的第j个任务的价值,a,b,c分别表示该任务在价值计算中所占的权重;

步骤s4.2:计算服务器完成成本,得到映射任务在这个服务器上完成的预估成本,所述服务器成本具体计算公式为:

其中,costi,j,k表示用户的任务在第k个虚拟机完成时,云节点预估完成该任务所产生的成本,a,b,c分别表示该虚拟机资源在成本计算中所占的权重;

步骤s4.3:计算利润值,将所述任务预估成本与此任务映射的服务器完成的预估成本相减,得到任务利润值;

所述边缘云节点完成任务所得的利润为任务要求的最大完成的价值与边缘云节点完成任务成本的差值,所述计算任务最大化收益函数具体计算公式为:

其中,maxprofit表示为所求得的最大利润,rq表示用户数量,rqi表示用户i任务数量,vm为虚拟机数量,w表示权重,其中计算时要保证任务所要求的内存必须小于虚拟机所拥有的内存,带宽小于虚拟机所拥有的带宽计,计算能力小于虚拟机所拥有的计算能力;

步骤s4.4:构建利润矩阵,以任务、服务器节点、任务利润构建利润矩阵,对于任务申请的资源大于服务器提供的资源的映射,在矩阵中的利润值一律为0,即可得到任务与服务器映射的利润矩阵。

步骤s5:根据步骤s4中所得利润矩阵,各个任务按照利润最大的调度方式将任务分配给相应的服务器,即为资源约束的利润优化调度方法。

进一步的,根据利润最大的调度策略,具体包括:

步骤s5.1:根据利润矩阵中任务和服务器的行标;

步骤s5.2:利用匈牙利算法寻找完备任务调度匹配,若未找到完备匹配则修改行标,直到找到利润最大的调度策略。

本实施例公开的任务资源约束的利润优化调度方法,针对运营商对云服务节点内存、带宽、计算能力的重视程度不同,可通过设置不同的权重,来达到按不同利润重点分配的效果,该权重值可根据运营商需要进行设置,任务调度过程中采用的不同权重分配比表明任务调度方法会向着偏重运营商所重视的方面进行最优化调度,从而能分别以最优化云节点内存分配、最优化带宽传输、最优化云节点计算能力三个方面生成最优调度策略。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1