一种面向边缘计算环境的服务请求分配方法与流程

文档序号:16067438发布日期:2018-11-24 12:48阅读:216来源:国知局

本发明属于软件优化技术领域,具体涉及一种面向边缘计算环境的服务请求分配方法。

背景技术

近年来,随着移动设备的普及和移动通讯技术的大力发展,移动设备的应用越来越广泛,功能日益强大,给我们的日常生活带来了诸多便利。然而,移动设备的资源有限,不能满足日益复杂、多变的用户需求;移动边缘计算技术的提出,使得移动设备可以将其复杂应用卸载到周围的边缘设备上执行。边缘设备是指网络边缘的基站、路由器、交换机等设备,边缘设备提供服务的方式一方面大大减小了移动服务的执行时间,扩展了移动设备的资源和计算能力;另一方面,相对于移动云计算来说,由于数据传输距离缩短,大大减小了数据传输所带来的时间、能耗开销和网络风险。

然而,移动边缘计算同时也面临许多挑战,与强大的云计算服务中心相比,边缘设备资源和计算能力相对有限,其部署的服务数量有限,因此只能提供有限种类的服务。另外,边缘计算系统中会出现部分边缘服务器过载而部分服务器空闲的情况,当边缘服务器过载时,会引起排队时间过长,在此情况下,服务响应时间甚至超过云服务的响应时间。因此,需要对边缘计算环境中的服务请求作出全局统一合理的分配,以优化边缘服务器的资源利用,缩短服务响应时间;云服务由于执行时间较短,在边缘服务器过载或执行时间过长的情况下,也会成为服务请求的可选方案。

为了解决上述服务请求的分配问题,降低服务的响应时间,需要从服务请求的分配和服务请求的调度两个方面同时进行优化。服务请求的分配要求综合考虑系统中各边缘服务器的资源情况、部署的服务种类、服务请求执行情况、各边缘服务器之间及其与云服务器之间的连接情况以及服务请求相关数据传输等因素,将所有服务请求进行全局合理的分配,均衡各个边缘服务器的负载,以达到优化服务请求总体响应时间的目的。服务请求的调度是指在边缘服务器内部,根据各服务请求的资源需求和执行时长,对所有的服务请求进行调度,调整服务请求的执行顺序,充分利用边缘服务器资源,最终达到最小化总体响应时间的目的。



技术实现要素:

鉴于上述,本发明提供了一种面向边缘计算环境的服务请求分配方法,能够解决边缘计算环境中的服务请求分配和服务调度等问题。

一种面向边缘计算环境的服务请求分配方法,包括如下步骤:

(1)实时监测系统中各边缘服务器的可用资源信息和服务请求执行信息;

(2)收集当前系统中所有边缘服务器新收到的服务请求;

(3)应用gasd(combinedgeneticalgorithmandsimulatedannealingalgorithmforservicerequestdispatching)算法为收集到的所有服务请求选择分配最优的执行设备,所述执行设备为边缘服务器或云服务器;

(4)对所有服务请求分配到的执行设备进行服务请求调度。

进一步地,所述步骤(1)中的可用资源信息包括边缘服务器关于cpu、内存、带宽的剩余可用数量,服务请求执行信息包括边缘服务器上已执行的各个服务请求的开始执行时间、结束执行时间以及所占用的资源情况。

进一步地,所述步骤(2)中的服务请求包含对应服务执行所需要的资源及其数量、执行占用时长、接收该请求的边缘服务器备编号、可执行该请求的服务器集合以及输入和输出数据量。

进一步地,所述步骤(3)中gasd算法的具体执行过程如下:

3.1初始化一定规模的种群,计算种群中每个染色体的适应度,取适应度最高的染色体作为最优染色体;所述染色体包含有n个基因,n为当前所有待分配服务请求的数量,所述基因与待分配服务请求为对应关系即表示为对应服务请求所分配到的服务器编号,则染色体即对应为关于所有服务请求的一整套分配方案;

3.2使种群中的染色体进行交叉变异,对于交叉变异过程中生成的任一子染色体,则计算该子染色体的适应度并使其与对应的父染色体进行比较:若子染色体的适应度小于等于父染色体的适应度,则使子染色体按概率η替换父染色体;若子染色体的适应度大于父染色体的适应度,则使子染色体替换父染色体,进而使该子染色体与最优染色体进行适应度比较,若子染色体的适应度大于最优染色体的适应度,则使子染色体替换最优染色体;所述概率η基于模拟退火算法确定;

3.3以设定的冷却速率对模拟退火算法中的当前温度进行降温;

3.4根据步骤3.2~3.3反复进行遗传迭代直至温度降至设定的最低温度阈值,输出种群中的最优染色体并根据其对应的分配方案为所有服务请求分配最优的执行设备。

进一步地,所述步骤3.1中对于初始化种群每一染色体的基因,则从可执行对应服务请求的服务器集合中随机选取,并将所选服务器的编号赋予对应的基因。

进一步地,所述步骤3.1中计算每个染色体的适应度,即采用染色体所对应的分配方案为每个服务请求分配对应的执行设备,进而对这些执行设备进行服务请求调度后计算确定每个服务请求的响应时间,所有服务请求的响应时间总和即表示为染色体的适应度,响应时间总和越小则适应度越高。

进一步地,所述步骤3.2中基于模拟退火算法确定概率η的计算表达式如下:

其中:k为给定常数,t为当前温度,is和if分别为子染色体和父染色体的适应度。

本发明应用遗传算法不断产生新的服务请求分配方案,然后针对每个分配方案对服务请求进行调度并计算整体响应时间,对这些分配方案进行选择,保留较优的方案,淘汰较差的方案,重复迭代过程,对分配方案进行交叉、变异、选择,最终得到最后的分配方案。

相对于现有技术,本发明方法可以在边缘计算环境中服务请求过多,服务响应时间敏感的环境中对服务请求进行分配和调度,从服务请求的分配和调度两个角度出发对服务的响应时间进行优化;本发明采用启发式方法,在遗传算法中引入模拟退火方法的温度控制机制,可以在算法初始阶段减慢算法的收敛速度,有效避免陷入局部最优,在算法的终止阶段加快收敛速度,提高算法的效率。

附图说明

图1为本发明方法的整体流程示意图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。

现有的服务请求分配方法不适用于边缘计算环境,经过研究发现,主要是因为强大的云服务器默认能处理所有的服务请求,且服务请求在服务器内排队时间较短,因此服务请求不需要在服务器之间分配。而相比于云服务器,边缘设备资源有限,只能满足部分服务请求,而且当过载时会严重影响服务请求的响应时间。为此本发明提出面向边缘计算环境的服务请求分配方法,在边缘计算环境中对服务请求进行分配,并在分配的同时将服务请求在边缘服务器内部进行调度,进一步减小服务的总体响应时间。

如图1所示,本发明面向边缘计算环境的服务请求分配方法,包括如下步骤:

(1)实时监测系统中各边缘设备的可用资源和服务请求执行情况,可用资源情况信息包括边缘设备关于cpu、内存、带宽的剩余可用数量,服务请求执行情况包括边缘设备上各个服务请求的开始执行时间、结束执行时间,以及所占用的资源情况。

(2)收集系统中所有边缘设备收到的服务请求,服务请求包含有服务所需要的资源及其数量、执行占用时长、接收到该请求的边缘服务器、可以执行该请求的服务器集合以及输入、输出数据量。

(3)应用gasd算法为所有服务请求选择最优边缘服务器或云服务器,包含如下过程:

s301:将服务与平台选择问题建模为遗传模型,遗传模型包括:染色体表示可行解,染色体对应服务请求分配方案;基因表示可以满足对应服务请求的边缘服务器或云服务器,基因的位置对应服务请求,染色体的适应度表示服务请求的总体响应时间,染色体的适应度越高对应服务请求方案的服务请求总体响应时间越低。

s302:对gasd算法进行初始化,初始化参数包括初始种群大小、交叉概率、变异概率、初始温度、最低温度、冷却速率等。初始化参数决定了遗传迭代过程的执行情况,初始温度、最低温度、冷却速率决定了算法的迭代次数,迭代次数越高,则最终得到的解可能越优,相应地,算法执行的时间也越长;同样地,种群大小、交叉概率以及变异概率也会影响到最终的分配方案的优劣和算法的执行时间。因此,初始化参数的选定要综合考虑解的优劣程度、算法的执行效率等因素。

s303:根据初始化数据产生初始种群,初始种群中的每个染色体代表一个可行分配方案,它包含多个基因,基因的个数与系统收到的服务请求个数相同,染色体上的每个位置对应每个服务请求,该位置上的基因表示分配的边缘服务器或云服务器,初始化种群的大小在算法的初始化参数设置中决定。

s304:对初始种群进行评价、选择,从而保留较优个体,淘汰较劣个体。种群的选优过程受到对应的分配方案下服务请求的总体响应时间的影响,具体表示为所有服务请求响应时间之和,适应度越高的染色体被保留的可能性越高,适应度越低的染色体被淘汰的可能性越大。

s305:将保留的个体进行交叉操作,从而产生新的个体,交叉的过程即基因重组的过程,交叉过程涉及两个染色体。本发明采用经典的单点交叉操作,即在染色体上选择一个点位,两条染色体上位于该点位之前的基因保持不变,该点位之后的基因进行交换,每次交叉将产生两条新的个体,新的个体对两个母体的基因进行了重组,其适应度有可能比两个母体都要高,因此通过交叉可能会产生适应度更高的染色体,在此问题中对应产生了更优的服务请求分配方案。

交叉的次数由初始化时产生的交叉概率决定,具体过程为对每个染色体随机产生一个0到1之间的实数,如果该实数小于交叉概率,则随机选择另外一个染色体进行交叉操作。

s306:将个体进行变异操作,变异的过程同样是产生新染色体的过程,不同的是,变异过程仅涉及一个染色体;变异操作同样在染色体上选择一个点位,并把该点位上的基因随机更换为另一个基因,每次变异将产生一条新的个体,新的个体对母体的基因进行了变异,其适应度有可能比母体要高,因此通过变异可能会产生适应度更高的染色体,在此问题中对应产生了更好的服务请求分配方案,即服务请求的总体响应时间更低。

变异的次数由初始化时产生的变异概率决定,具体过程为对每个染色体随机产生一个0到1之间的实数,如果该实数小于变异概率,则对该染色体进行变异操作。

s307:根据服务请求的分配方案对每个边缘服务器进行服务请求的调度,从而使调度后的所有服务请求的总体相应时间最低;对于每个新分配的服务请求,具体实现办法如下:

a.计算服务请求的输入数据到达时间t,具体按如下公式计算:

服务请求的到达时间=服务请求接收时间+服务输入数据量/传输速度

服务请求的接收时间是指服务请求由用户发送到临近的边缘服务器上时,该服务请求到达边缘服务器的时间点;服务输入数据量是指服务执行需要的输入数据的大小,传输速度是指服务请求的接收服务器和分配服务器之间的数据传输速率。

b.对t后的每一个时间点t',执行下述操作:

c.将该服务请求插入到t'之后满足其资源要求的时间片段中,后续执行的服务请求后移。由于服务执行具有资源要求,对于给定一个时间点t',边缘服务器的部分资源会被t'之前开始执行的服务请求占用,因此不一定满足其资源需求,所以需要寻找t'之后满足服务执行资源要求的时间片段,对t'之后执行的服务请求,在该服务请求插入之后重新插入到排队序列中。

d.计算将服务请求插入后的总体服务响应时间,该总体响应时间既包含新插入的服务请求的响应时间,也包含边缘服务器中其它服务请求的影响时间。由于新服务请求的插入,其它服务请求的执行时间受到影响,因此需要重新计算。为了简化计算,可以将优化总体响应时间等价转换为优化新插入服务的响应时间与其它服务的影响时间差(即每一个服务请求在新服务插入前和插入后响应时间之差)之和。

e.选择下一个t',重复上述过程;

f.选择使得总体服务响应时间最小的t'作为服务请求的插入时间点,通过上述迭代过程,穷举了新服务的每一个插入点得到的总体响应时间,最低响应时间对应的插入点即为该服务请求的最优插入点。

s308:对新的种群进行评价、选择。对边缘服务器调度之后,就可以计算通过交叉和变异产生的新染色体的适应度,如果产生的新染色体的适应度高于原染色体的适应度,则用新染色体替换原染色体;如果衍生的新染色体的适应度低于原染色体,则计算替换概率:

替换概率=exp(-(子染色体适应度-父染色体适应度)/k×当前温度)

其中:k为一固定常数;选择的原则是优胜劣汰,适应度变高的新染色体替换原染色体,而适应度变低的染色体在其适应度与原染色体相差不大,或者当前温度很高的情况下也会大概率替换原染色体。这样一来,既能实现优胜劣汰,也可以充分利用温度属性,在算法初始阶段温度较高时扩大搜索范围,防止陷入局部最优,在算法终止阶段温度较低时加快收敛速度,提高算法的效率。

s309:不断重复遗传迭代过程直至温度降至最低温度,得到最优服务选择方案。遗传迭代是不断地交叉、变异,以及选优的过程,它是gasd算法的主要过程,每轮迭代以后,温度按照冷却速度降低,减小算法搜索范围,提高收敛速度。gasd算法的遗传迭代过程就是对以上交叉、变异、调度、选择过程的不断重复执行,一次迭代完成之后,如果温度没有降至最低温度,则算法继续,开始新一轮的迭代执行;如果温度已达到最低温度,则迭代过程完成,返回历史最优染色体,算法结束。

(4)对所有边缘服务器进行服务请求调度,即按照分配过程中调度算法得到的调度方案对所有边缘服务器进行服务请求的调度。

上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

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