CN112506644B - 基于云边端混合计算模式系统的任务调度方法和系统 - Google Patents

基于云边端混合计算模式系统的任务调度方法和系统 Download PDF

Info

Publication number
CN112506644B
CN112506644B CN202011201376.0A CN202011201376A CN112506644B CN 112506644 B CN112506644 B CN 112506644B CN 202011201376 A CN202011201376 A CN 202011201376A CN 112506644 B CN112506644 B CN 112506644B
Authority
CN
China
Prior art keywords
task
time
computing
bst
ast
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
Application number
CN202011201376.0A
Other languages
English (en)
Other versions
CN112506644A (zh
Inventor
徐健
梁昌勇
顾东晓
赵树平
陆文星
蒋丽
董骏峰
王彬有
马一鸣
张驰
邵建芳
王颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN202011201376.0A priority Critical patent/CN112506644B/zh
Publication of CN112506644A publication Critical patent/CN112506644A/zh
Application granted granted Critical
Publication of CN112506644B publication Critical patent/CN112506644B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Abstract

本发明提供一种基于云边端混合计算模式系统的任务调度方法和系统,涉及云计算领域。本发明基于参数包、任务调度矩阵的约束条件和任务调度目标,采用两阶段优化算法获取云边端混合计算模式系统中的最佳任务调度方案。其中,任务调度矩阵包括业务实时计算任务的卸载执行计算设备调度决策矩阵和业务实时计算任务与应用更新计算任务在场景内中继边缘服务器调度决策矩阵,业务实时计算任务包括单体业务实时计算任务和微服务型业务实时计算任务。本发明能将计算任务分为业务实时计算任务和应用更新计算任务,业务实时计算任务分为单体业务实时计算任务和微服务业务实时计算任务,对不同的任务进行不同的调配,从而满足业务实时计算任务对时效性的要求。

Description

基于云边端混合计算模式系统的任务调度方法和系统
技术领域
本发明涉及云计算技术领域,具体涉及一种基于云边端混合计算的任务调度方法和系统。
背景技术
目前云计算已经成为大规模信息处理、数据存储和模式挖掘的基础信息处理形式。随着各类应用智能化的提升、计算任务实时性要求的提高、特定时空区域下信息处理和数据安全需求的加强,需要将云计算下沉到贴近用户端的网络边缘形成提供轻量级云的边缘计算,同时随着智能终端越来越强的性能,也能成为提供快速信息处理的独立计算单元。
在现有方法中,主要通过边缘计算、云计算与终端计算的协作,对计算任务进行迁移,以实现最小化所有终端设备的总等待时延问题为目标,完成任务调度。
然而,本发明的申请人发现,现有的任务调度方法得出的调度方案对本申请讨论的研究情景的计算任务的调配并不合理,导致现有的任务调度方法不能满足业务实时计算任务对时效性的要求。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种基于云边端混合计算模式系统的任务调度方法和系统,解决了现有的任务调度方法不能满足业务实时计算任务对时效性的要求的技术问题。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:
本发明提供了一种基于云边端混合计算模式系统的任务调度方法,所述方法包括以下步骤:
S1、获取云边端混合计算服务系统的参数包;
S2、获取云边端混合计算模式系统中的任务调度矩阵的约束条件和任务调度目标,所述任务调度矩阵包括业务实时计算任务的卸载执行计算设备调度决策矩阵和业务实时计算任务与应用更新计算任务在场景内中继边缘服务器调度决策矩阵,所述业务实时计算任务包括单体业务实时计算任务和微服务型业务实时计算任务;
S3、基于参数包、任务调度矩阵的约束条件和任务调度目标,采用两阶段优化算法获取云边端混合计算模式系统中的最佳任务调度方案。
优选的,所述参数包包括:
为了支持多场景系统的智能信息处理的智能工作场景数量,
所需连接的云计算中心资源数量,
每个云计算中心单位时间内能够提供的性能,
场景中所部署的边缘服务器数量和场景内终端数量,
以及每个具体的边缘服务器和终端设备单位时间内能够提供的算计算性能,
智能终端T和边缘服务器E间的总网络传输速度、E之间的网络传输速度、E和云计算中心C之间的网络传输速度,以及C之间的网络传输速度;
当前时刻已经达到计算设备的计算任务OC-CT、还在传输中的计算任务OT-CT和需要进行优化调度计算任务CT。
优选的,所述任务调度矩阵的约束条件包括:
满足X和Y都为01矩阵且
Figure BDA0002755288260000021
BST卸载执行计算设备调度决策矩阵X应遵循BST卸载规则;
X可以取1的元素个数对应于每个BST依据卸载规则可以作为其候选执行计算设备的个数,Y可以取1的元素个数对应于每个由T发出到E或者C的BST和AST在场景中所有边缘服务器的个数;
X和Y中取1的元素对应的计算设备j就是BST候选执行计算设备和候选中继边缘服务器;
其中:
BST表示业务实时计算任务,AST表示应用更新计算任务;
X和Y是计算任务的调度变量,X表示BST的卸载计算设备选择,Y表示BST和AST在计算任务发出方计算设备所在场景内中继边缘服务器选择;
X和Y中的元素
Figure BDA0002755288260000022
Figure BDA0002755288260000023
的i,j分别对应所在的行和列,
Figure BDA0002755288260000024
或者
Figure BDA0002755288260000025
为1表示计算任务i选择计算设备j来执行计算或者进行中继,0表示计算任务i不在计算单元j上的执行计算或进行中继;
所述BST卸载规则表示T、E、C上产生的BST不卸载到T,BST包括单体业务实时计算任务UBST和微服务计算任务MBST,一个在T上产生的微服务计算任务MBST被触发,会激发同场景若干个E产生微服务子任务MBSST,一个E只产生一个MBSST,当执行完一个微服务计算任务MBST激发的所有微服务子任务MBSST后,通过对所有微服务子任务MBSST的结果耦合,完成微服务计算任务MBST;由T、E、C上产生的BST,包括T、E、C上产生的单体业务实时计算任务UBST和由T触发的在E上产生的微服务子任务MBSST的候选卸载执行计算设备为云边端混合计算模式系统中所有的E和C;
所述BST的卸载规则的传输类型集合包括7种卸载路径,所述7种卸载路径包括:同场景内T产生的BST到E的卸载、同场景内E产生的BST在E之间的卸载、不同场景内E产生的BST在E之间的卸载、E和C产生的BST在E和C之间的卸载、C产生的BST在C之间的卸载、一个场景T上产生的BST经过同场景的E再卸载到另一个场景E上、T上产生的BST经过同场景的E再卸载到C上;
AST任务的传输类型集合包括8种传递路径,8种传递路径包括:同场景内T产生的AST在不同T之间的传递、同场景内T和E产生的AST在T和E之间的传递、T和C产生的AST经过与T同场景的E在T和C之间的传递、同场景内E产生的AST在不同E之间的传递、E和C产生的AST在E和C之间的传递、C产生的AST在C之间的传递;
7种BST卸载路径和8种AST传递路径组成四种场景。
优选的,任务调度目标包括:
业务实时计算任务卸载执行计算设备调度决策矩阵和业务实时计算任务与应用更新计算任务在场景内中继边缘服务器调度决策矩阵下使得云边端混合计算模式系统中总计算任务运行时间和总微服务型业务实时计算任务运行时间都为都为帕累托最小优化;其中,总计算任务运行时间为所有计算设备上产生的单体业务实时计算任务、微服务子任务型业务实时计算任务和应用更新计算任务的总运行时间,总微服务型业务实时计算任务运行时间是指所有智能终端上的微服务型业务实时计算任务激发对应边缘服务器上产生的所有微服务子任务型业务实时计算任务的总运行时间。
优选的,所述基于参数包、任务调度矩阵的约束条件和任务调度目标,采用两阶段优化算法获取云边端混合计算模式系统中的最佳任务调度方案,包括:
S301、获取两阶段优化算法的输入参数和执行参数,所述输入参数包括参数包中的参数,所述执行参数包括第一阶段迭代次数、第二阶段迭代次数、基因种群大小,转入S302;
S302、初始记录空间RS为空,整理应用更新计算任务AST传输类型集合,转入S303;
S303、依据业务实时计算任务的卸载执行计算设备调度决策矩阵X的约束条件随机生成BSTpgn个决策矩阵X基因构成种群BSTP,转步骤与304;
S304、判断第一阶段X决策矩阵优化是否达到迭代次数,若是转S328,否则转S305;
S305、对BSTP进行交叉和变异操作,得到种群MCBSTP,转S306;
S306、将交叉和变异后的种群MCBSTP加入BSTP中,构成MergeBSTP,转S307;
S307、取出MergeBSTP中的第一个基因作为目前计算的基因BSTgene,转S308;
S308、判断BSTgene是否为MergeBSTP最后一个基因且已经获得其任务总运行时间,若是转步骤S326,否则转步骤S309;
S309、判断BSTgene是否在记录空间RS中,若是转S325,否则转S310;
S310、对BSTgene对应的X决策矩阵进行解析获得BST传输类型集合,转步骤S311;
S311、融合BSTgene对应的BST传输类型集合、S302获得的AST传输类型集合以及OC-CT,计算所有计算任务的计算时间和等待时间,转步骤S312;
S312、取出BSTgene和AST对应的四种场景内中继边缘服务器选择的传输路径任务,分场景依据业务实时计算任务与应用更新计算任务在场景内中继边缘服务器调度决策矩阵Y的约束条件随机生成Linkpgn个决策矩阵Y基因构成种群LinkEP,转步骤S313;
S313、判断第二阶段LinkEP进化是否达到迭代次数且已获得LinkEP对应任务总运行时间,若是转步骤S323,否则转步骤S314;
S314、对每个场景的LinkEP进行交叉和变异操作,得到种群MCLinkEP,转步骤S315;
S315、将交叉和变异后的种群加入对应场景的LinkEP中来构成相应的MergeLinkEP,转步骤S316;
S316、取出MergeLinkEP中的第一个基因作为目前计算的基因BSTgene对应下的第二阶段场景内中继边缘服务器选择的目标基因LinkEgene,转步骤S317;
S317、判断LinkEgene是否为MergeLinkEP的最后一个基因,并且这个基因对应的总任务时间已经得到计算,那么转步骤S322,否则转步骤S318;
S318、结合步骤S307得到的BSTgene和步骤S301输入的AST信息对LinkEgene进行解析对LinkEgene进行解析获得四种场景内需要选择中继E的传输路径,转步骤S319;
S319、结合参数包中的OT-CT计算LinkEgene对应下的所有计算任务的传输时间,转步骤S320;
S320、综合BSTgene对应的计算时间、等待时间,和BSTgene时LinkEgene对应的传输时间,获得在BSTgene和LinkEgene对应下的任务总运行时间和MBST总运行时间,转步骤S321;
S321、取出MergeLinkEP中的下一个基因赋给LinkEgene,转步骤S317;
S322、依据任务总运行时间为适应值,采用竞标赛法对MergeLinkEP进行精英保留,留取找那个运行时间最小的LinKEP种群个数个基因存入LinkEP中,转步骤S313;
S323、将BSTgene的第二阶段完成迭代后的对应种群LinkEP和总任务运行时间最小对应的基因,以及这个基因对应的总任务运行时间和总MBST运行时间都记入记录空间RS,转步骤S324;
S324、取出第一阶段的迭代种群MergeBSTP中的下一个基因赋给BSTgene,转步骤S308;
S325、将上一次迭代记录在RS中的BSTgene对应的第二阶段完成迭代后的对应种群LinkEP和对应的每个基因的总任务运行时间和总MBST运行时间重新赋给这个基因,转步骤S324;
S326、对MergeBSTP中每个基因对应的LinkEP种群中最小总任务运行时间和对应的MBST任务时间进行快速非支配排序,转步骤S327;
S327、结合非支配序和拥挤度对MergeBSTP中基因进行帕累托选优的精英选择,获得保留种群赋给BSTP,转步骤S304;
S328、输出BSTP中非支配序最优的帕累托最优解。
优选的,在S305中,所述对BSTP进行交叉和变异操作,得到种群MCBSTP,包括:
对第一阶段基因种群BSTP,按照公式(15)对种群BSTP中随机抽取两个基因gene1和gene2做交叉操作,做完后获得交叉后基因cgene1和cgene2,直到BSTP中所有基因都成对进行交叉操作完成获得完成交叉操作的种群CBSTP:
Figure BDA0002755288260000041
其中:xBrci为第一阶段BSTP进化的随机生成的交叉点,交叉点个数Brci是与基因长度正相关的获取的,BSTgenepc是第一阶段BSTP的交叉概率;
按照公式(16)对CBSTP中的基因cgene进行变异操作,做完后获得基因mcgene,完成所有的变异后得到种群MCBSTP:
Figure BDA0002755288260000042
其中:xBrmi为第一阶段BSTP进化的随机生成的变异点,变异点个数Brmi是与基因长度正相关的获取的,BSTgenepm是第一阶段BSTP的变异概率;
和/或
在S314中,所述对每个场景的LinkEP进行交叉和变异操作,得到种群MCLinkEP,包括:
对第二阶段基因种群LinkEP分场景,按照公式(17)对种群LinkEP中分场景随机抽取两个基因gene1和gene2做交叉操作,做完后获得交叉后基因cgene1和cgene2,直到LinkEP中所有基因都成对进行交叉操作完成获得完成交叉操作的种群CLinkEP:
Figure BDA0002755288260000051
其中:xLrci为第二阶段LinkEP进化的随机生成的交叉点,交叉点个数Lrci是与分场景基因长度正相关的获取的,LinkEgenepc是第一阶段第二阶段LinkEP的交叉概率;
按照公式(18)对CLinkEP中的基因cgene进行变异操作,做完后获得基因mcgene,完成所有的变异后得到种群MCLinkEP:
Figure BDA0002755288260000052
其中:xLrmi为第二阶段LinkEP进化的随机生成的变异点,变异点个数Lrmi是与基因长度正相关的获取的,BSTgenepm是第二阶段LinkEP的变异概率;
获得MCLinkEP后,转步骤S315。
优选的,
在S311中,所述计算时间的计算方法包括:
根据三种计算设备T、E、C的计算性能和各个任务的计算量按照公式(10)-公式(12)得到所述的各个计算任务在三种计算设备T、E、C的计算时间
CTime(CT_S(nS)T(nT))、CTime(CT_S(nS)E(nE))和CTime(CT_C(nC)):
CTime(CT_S(nS)T(nT))=CP(S(nS)T(nT))/CA((CT_S(nS)T(nT))) (10)
CTime(CT_S(nS)E(nE))=CP(S(nS)E(nE))/(CA(CT_S(nS)E(nE))×|CT_S(nS)E(nE)|) (11)
CTime(CT_C(nC))=CP(C(nC))/(CA(C(nC)_CT)×|CT_C(nC)|) (12)
其中:
CT_S(nS)T(nT)、CT_S(nS)E(nE)和CT_C(nC)分别表示了在智能终端S(nS)T(nT)、边缘服务器S(nS)E(nE)和云计算中心C(nC)上进行计算的任务,CA((CT_S(nS)T(nT)))、CA(CT_S(nS)E(nE))、CA(C(nC)_CT)分别是对应任务的计算量,CP(S(nS)T(nT))、CP(S(nS)E(nE))和CP(C(nC))表示了终端S(nS)T(nT)、边缘服务器S(nS)E(nE)和云计算中心C(nC)的计算性能,|CT_S(nS)E(nE)|和|CT_C(nC)|是在边缘服务器S(nS)E(nE)和云计算中心C(nC)上进行计算的总个数;
在S311中,所述等待时间的计算方法包括:
得到的在终端S(nS)T(nT)上执行的计算任务的计算时间后,按照公式(13)得到在终端S(nS)T(nT)上执行的计算的第k个任务CT(k)_S(nS)T(nT)的所有排队情况的平均等待时间:
当nCT为偶数时
Figure BDA0002755288260000061
当nCT为奇数时
Figure BDA0002755288260000062
其中:
nCT为在终端S(nS)T(nT)上执行的任务个数|CT(k)_S(nS)T(nT)|;
CT(i)_S(nS)T(nT)为除第k个在终端S(nS)T(nT)上执行的任务外的其他在终端S(nS)T(nT)上执行的任务。
优选的,在S320中,所述获得在BSTgene和LinkEgene对应下的任务总运行时间的计算方法包括:
采用如下方式计算各个任务的运行时间,任务总运行时间为TIME(BST)和TIME(AST)之和:
TIME(BST)=2·TTime(BST)+CTime(BST)+WTime(BST)
TIME(AST)=TTime(AST)+CTime(AST)+WTime(AST)
其中:
TIME(BST)为每个BST的运行时间;TIME(AST)为每个AST的运行时间;TTime(BST)每个BST传输时间;TTime(AST)每个AST的传输时间;CTime(BST)每个BST的计算时间;与CTime(AST)每个AST的计算时间;WTime(BST)每个BST等待时间;WTime(AST)为每个AST的等待时间。
本发明还提供了一种基于云边端混合计算模式系统的任务调度系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现如上述所述的方法。
(三)有益效果
本发明提供了一种基于云边端混合计算模式系统的任务调度方法和系统。与现有技术相比,具备以下有益效果:
本发明通过获取云边端混合计算服务系统的参数包、云边端混合计算模式系统中的任务调度矩阵的约束条件和任务调度目标,所述任务调度矩阵包括业务实时计算任务的卸载执行计算设备调度决策矩阵和业务实时计算任务与应用更新计算任务在场景内中继边缘服务器调度决策矩阵,所述业务实时计算任务包括单体业务实时计算任务和微服务型业务实时计算任务;基于参数包、任务调度矩阵的约束条件和任务调度目标,采用两阶段优化算法获取云边端混合计算模式系统中的最佳任务调度方案。本发明能将计算任务分为业务实时计算任务和应用更新计算任务,业务实时计算任务分为传统的单体业务实时计算任务和微服务业务实时计算任务,对不同的任务进行不同的调配,从而满足业务实时计算任务对时效性的要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种基于云边端混合计算模式系统的任务调度方法的框图;
图2为云边端混合计算模式系统的结构示意图;
图3为两阶段优化算法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例通过提供一种基于云边端混合计算模式系统的任务调度方法,解决了现有的任务调度方法不能满足业务实时计算任务对时效性的要求的技术问题,实现对不同的任务进行不同的调配,从而满足业务实时计算任务对时效性的要求。
本申请实施例中的技术方案为解决上述技术问题,总体思路如下:
本发明实施例设计了一个综合云计算、边缘计算和终端计算的多层混合计算服务系统,这个系统可以依据不同计算设备类型的特征与优势更加合理地处理各类智能信息服务。同时依据业务类型的不同将系统中处理的计算服务任务分为对实时性要求高的业务实时计算任务,以及实现系统中各个计算设备中智能决策支持应用进行升级的应用更新计算任务。并依据这两种任务的不同设计了服务模式调配策略和计算任务调度策略,通过对业务实时计算任务的卸载目标选择和两者的迁移路径选择实现任务的合理调配来达到计算任务处理时间的负载均衡。同时本发明实施例还考虑了业务实时任务中新型的微服务架构任务的任务特征,实现了在总任务处理时间与微服务计算任务处理时间的两目标优化。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
本发明实施例提供了一种基于云边端混合计算模式系统的任务调度方法,该方法由计算机执行,如图1所示,该方法包括步骤S1~S3:
S1、获取云边端混合计算服务系统的参数包;
S2、获取云边端混合计算模式系统中的任务调度矩阵的约束条件和任务调度目标,所述任务调度矩阵包括业务实时计算任务的卸载执行计算设备调度决策矩阵和业务实时计算任务与应用更新计算任务在场景内中继边缘服务器调度决策矩阵,所述业务实时计算任务包括单体业务实时计算任务和微服务型业务实时计算任务;
S3、基于参数包、任务调度矩阵的约束条件和任务调度目标,采用两阶段优化算法获取云边端混合计算模式系统中的最佳任务调度方案。
本发明实施例能将计算任务分为业务实时计算任务和应用更新计算任务,业务实时计算任务分为普通单体业务实时计算任务和微服务业务实时计算任务,对不同的任务进行不同的调配,从而满足业务实时计算任务对时效性的要求。
在一实施例中,S1、获取云边端混合计算服务系统的参数包。具体实施过程如下:
在同一智能工作场景中所有智能终端T和部署在这个场景中的边缘服务器E之间根据业务逻辑设计通过基站或光纤与路由器网端等搭建形成有线或者无线局域网络来实现智能信息场景协同处理。在不同场景间的边缘服务器E和边缘服务器E与云计算中心C,以及云计算中心C之间则通过基站、专属通讯光纤,甚至卫星互联网搭建高速通信网络来实现多场景智能信息全局协同处理。由此将云计算、边缘计算和终端计算的各种设备连接形成云边端混合计算模式系统。所述云边端混合计算模式系统如图2所示。
需要说明的是,在本发明实施例中业务实时计算任务BST(Business real-timecomputing task)是指各种计算单元需要实时处理获取结果的服务,除了计算单元自身运行服务外,还包括为了响应智能信息服务而由各计算单元上决策支持应用产生的实时信息处理任务,如数据采集、决策计算和指令操作等。应用更新计算任务AST(Applicationupdate computing task)是指通过各类计算抽象层数据训练得到决策模型、模式和模块,在各计算单元上进行决策支持应用的协同、更新与补充,从而能够支持各类智能决策服务的计算任务。
参数包包括为了支持多场景系统的智能信息处理的智能工作场景数量,所需连接的云计算中心资源数量,每个云计算中心单位时间内能够提供的性能,场景中所部署的边缘服务器数量和场景内终端数量,以及每个具体的边缘服务器和终端设备单位时间内能够提供的计算性能。T和E间的总网络传输速度、E之间的网络传输速度、E和C之间的网络传输速度,以及C之间的网络传输速度。
根据云边端混合计算服务系统的业务实时性需求强度,根据公式(1)设置在TP时刻应用更新计算任务从任务发出方计算设备(工作场景中的云、边、端设备)发出执行的个数,
NTP-AST=(NTP-ALLAST/(NTP-ALLBST+NTP-ALLAST))k×NTP-ALLAST (1)
其中:
NTP-ALLAST和NTP-ALLBST是TP时刻系统中产生的AST、BST总数,NTP-AST是系统在TP时刻执行的AST总数,即有NTP-ALLAST-NTP-AST个AST任务被保存在存储介质中等到后续时刻执行,从而保障在TP时刻所有产生的NTP-ALLBST个BST任务得到更好的执行。k∈[0,+∞)是AST控制强度因子,当k值越大时表明越多的AST被保存,越倾向于更多的系统资源来处理BST。
参数包还包括:在检测时间点TP时刻系统内的所有计算任务,按照计算任务处理阶段分为:已经达到计算设备的计算任务OC-CT、还在传输中的计算任务OT-CT和需要进行优化调度计算任务CT,以及这些计算任务的基本参数,包括了每个CT、OC-CT、OT-CT的类型、计算量、数据量、任务发出方计算设备、AST的任务执行方计算设备、OC-CT和OT-CT的任务执行方计算设备和OT-CT的传输路径。
需要说明的是,云边端混合计算模式系统中至少包含一个场景、一个云计算中心、一个边缘服务器和一个终端。
在一实施例中,S2、获取云边端混合计算模式系统中的任务调度矩阵的约束条件和任务调度目标,所述任务调度矩阵包括业务实时计算任务的卸载执行计算设备调度决策矩阵和业务实时计算任务与应用更新计算任务在场景内中继边缘服务器调度决策矩阵,所述业务实时计算任务包括单体业务实时计算任务和微服务型业务实时计算任务。具体实施过程如下:
需要说明书的是,对于业务实时计算任务BST按照业务部署形式是单体架构还是微服务架构分为单体业务实时计算任务UBST(Unitary business real-time computingservice task)和微服务型业务实时计算任务MBST(Microservices business real-timecomputing service task)。微服务型业务实时计算任务是指业务拆分为多个松耦合的微型子任务MBSST(Microservices business real-time service sub-task),并将这些微型子任务的应用部署在多个边缘服务器上,通过计算这些独立部署、运行和升级的微型子任务,最终通过微型子任务MBSST结果组合来完成微服务型业务实时计算任务MBST。
任务调度矩阵是指BST卸载执行计算设备调度决策矩阵
Figure BDA0002755288260000091
和BST与AST在场景内中继边缘服务器调度决策矩阵
Figure BDA0002755288260000092
任务调度矩阵的约束条件包括:
①要满足X和Y都为01矩阵且
Figure BDA0002755288260000093
②BST卸载执行计算设备调度决策矩阵X应遵循BST卸载规则;
③X可以取1的元素个数对应于每个BST依据卸载规则可以作为其候选执行计算设备的个数,Y可以取1的元素个数对应于每个由T发出到E或者C的BST和AST在同场景中所有边缘服务器的个数;
④X和Y中取1的元素对应的计算设备j就是BST候选执行计算设备和候选中继边缘服务器。
其中X和Y是计算任务的调度变量,X表示BST的卸载计算设备选择,Y表示BST和AST在计算任务发出方计算设备所在场景内中继边缘服务器选择。X和Y中的元素
Figure BDA0002755288260000105
Figure BDA0002755288260000106
的i,j分别对应所在的行(需调度的计算任务)和列(候选计算设备)。若
Figure BDA0002755288260000107
或者
Figure BDA0002755288260000108
为1表示计算任务i选择计算设备j来执行计算或者进行中继,反之为0表示计算任务i不在计算单元j上的执行计算或进行中继。
其中所述BST卸载规则表示T、E、C上产生的BST不卸载到T,即
Figure BDA0002755288260000101
Figure BDA0002755288260000102
Figure BDA0002755288260000103
其中BST包括了单体业务实时计算任务UBST和微服务计算任务MBST,S(nS)T(nT)表示共NS个场景中的第nS个上共NT个T中的第nT个T,S(nS)T(nT)_UBST(nUB)表示S(nS)T(nT)上产生的共NUB个UBST中的第nUB个UBST,
Figure BDA0002755288260000104
和nT表示不同的T。同样地S(nS)E(nE)表示第nS个场景上共NE个E中的第nE个E,C(nC)表示共NC个C的第nC个C。对于微服务业务实时计算任务MBST来说,一个在T上产生的微服务计算任务MBST被触发,就会激发同场景若干个E产生微服务子任务MBSST,一个E只产生一个MBSST。S(nS)T(nT)_MBST(nMB):E(nE)_SMBST(nSMB)表示了在S(nS)T(nT)上触发的共NMB个MBST中的第nMB个MBST激发的共NSMB个微服务子任务MBSST中在S(nS)E(nE)上产生的第nSMB个MBSST。当执行完一个微服务计算任务MBST激发的所有微服务子任务MBSST后,通过对所有微服务子任务MBSST的结果耦合,就完成了微服务计算任务MBST。由T、E、C上产生的BST,包括了T、E、C上产生的单体业务实时计算任务UBST,和由T触发的在E上产生的微服务子任务MBSST的候选卸载执行计算设备为系统中所有的E和C。
为了实现场景和全局的BST运行时间负载均衡,其中所述BST的卸载规则的传输类型集合包括了7种卸载路径。即同场景内T产生的BST到E的卸载BST(ST→SE)、同场景内E产生的BST在E之间的卸载
Figure BDA0002755288260000111
不同场景内E产生的BST在E之间的卸载
Figure BDA0002755288260000112
E和C产生的BST在E和C之间的卸载
Figure BDA00027552882600001115
C产生的BST在C之间的卸载
Figure BDA0002755288260000113
一个场景T上产生的BST经过同场景的E再卸载到另一个场景E上
Figure BDA0002755288260000114
T上产生的BST经过同场景的E再卸载到C上BST(ST→SE→C)。在本发明实施例中,有7种卸载路径的原因是:T上产生的BST(只有单体业务实时计算任务UBST)可以向所有E和C上卸载;E上产生的BST(包括单体业务实时计算任务UBST和微服务子任务MBSST)可以向其他E和C上卸载;C上产生的BST(只有单体业务实时计算任务UBST)可以向E和其他C卸载。即T上的BST可以卸载到E和C,但是不接受对E和C的卸载。
为了实现场景协同的独立性和实现全局协同的整体性,其中所述AST任务的传输类型集合包括包括8种传递路径。即同场景内T产生的AST在不同T之间的传递
Figure BDA0002755288260000115
同场景内T和E产生的AST在T和E之间的传递
Figure BDA0002755288260000116
T和C产生的AST经过与T同场景的E在T和C之间的传递
Figure BDA0002755288260000117
同场景内E产生的AST在不同E之间的传递
Figure BDA0002755288260000118
E和C产生的AST在E和C之间的传递
Figure BDA0002755288260000119
C产生的AST在C之间的传递
Figure BDA00027552882600001110
在本发明实施例中,有8种传递路径的原因:T、E、C上都会产生AST,也都会向其他T、E、C上传递,为了实现各个场景的独立性与安全性,场景内的AST信息只在场景内进行协同,因此T和E上的AST只会向同场景内的其他T和E传递,不会向其他场景的T和E传递。但是为了实现多场景之间的协同,所有场景内的T和E上的AST都会向C传递。因此这里只有这8种传递路径。
7种BST卸载路径和8种AST传递路径组成四种场景。即综合7种BST卸载路径和8种AST传递路径,得到
Figure BDA00027552882600001111
的前段BST(ST→SE)、BST(ST→SE→C)的前段BST(ST→SE)、
Figure BDA00027552882600001112
正向传递AST(ST→SE→C)的前段AST(ST→SE)、
Figure BDA00027552882600001113
反向传递AST(ST←SE←C)的后段AST(ST←SE)四种传输中在场景内需要进行中继边缘服务器选择的任务类型。
任务调度目标包括:BST卸载执行计算设备调度决策矩阵
Figure BDA00027552882600001114
和BST与AST在场景内中继边缘服务器调度决策矩阵
Figure BDA0002755288260000121
下使得云边端混合计算模式系统中总计算任务运行时间和总MBST运行时间都为帕累托最小优化,其中总计算任务运行时间为所有计算设备上产生的UBST、MBSST和AST的总运行时间,总MBST运行时间是指所有T上的MBST激发对应E上产生的所有MBSST的总运行时间。
在本发明实施例中,对于云边端混合计算模式系统内产生的各种计算任务,按照是否为处理实时性业务产生还是为了完成T、E、C计算设备上的决策支持应用的更新分为业务实时计算任务BST和应用更新计算任务AST,对于业务实时计算任务按照业务部署形式是单体架构还是微服务架构分为单体业务实时计算任务UBST和微服务型业务实时计算任务MBST,而微服务型业务实时计算任务MBST实际执行的任务形式是由MBST激发的微服务子任务型业务实时计算任务MBSST。并设置了业务实时计算任务的卸载规则和应用更新计算任务的传递规则。以及在存储介质中设置卸载路径与传递路径类型空间用于记录优化路径任务。在具体实施过程中,存储介质是指计算机可读的存储介质,如ROM/RAM、磁碟、光盘等。
在一实施例中,S3、基于参数包、任务调度矩阵的约束条件和任务调度目标,采用两阶段优化算法获取云边端混合计算模式系统中的最佳任务调度方案,如图3所示。具体实施例过程如下:
S301、获取两阶段优化算法的输入参数和执行参数,所述输入参数包括参数包中的参数,所述执行参数包括第一阶段迭代次数、第二阶段迭代次数、基因种群大小,转入S302。具体为:
输出参数主要包括:
云边端混合计算模式系统的场景信息、T、E、C的数量性能、网络传输等参数,由AST控制强度因子产生TP时刻的BST和AST组成CT,每个CT、OC-CT、OT-CT的类型、计算量、数据量、任务发出方计算设备、AST的任务执行方计算设备、OC-CT和OT-CT的任务执行方计算设备和OT-CT的传输路径。
S302、初始记录空间RS为空,整理应用更新计算任务AST传输类型集合,转入S303。
S303、依据业务实时计算任务的卸载执行计算设备调度决策矩阵X的约束条件随机生成BSTpgn个决策矩阵X基因构成种群BSTP,转步骤与304。
S304、判断第一阶段X决策矩阵优化是否达到迭代次数,若是转S328,否则转S305。
S305、对BSTP进行交叉和变异操作,得到种群MCBSTP,转S306。具体为:
对第一阶段基因种群BSTP,按照公式(15)对种群BSTP中随机抽取两个基因gene1和gene2做交叉操作,做完后获得交叉后基因cgene1和cgene2,直到BSTP中所有基因都成对进行交叉操作完成获得完成交叉操作的种群CBSTP。
Figure BDA0002755288260000122
其中xBrci为第一阶段BSTP进化的随机生成的交叉点,交叉点个数Brci是与基因长度正相关的获取的,BSTgenepc是第一阶段BSTP的交叉概率。
按照公式(16)对CBSTP中的基因cgene进行变异操作,做完后获得基因mcgene,完成所有的变异后得到种群MCBSTP。
Figure BDA0002755288260000131
其中xBrmi为第一阶段BSTP进化的随机生成的变异点,变异点个数Brmi是与基因长度正相关的获取的,BSTgenepm是第一阶段BSTP的变异概率。
获得MCBSTP后,转步骤S306。
S306、将交叉和变异后的种群MCBSTP加入BSTP中,构成MergeBSTP,转S307。具体为:
然后将MCBSTP和原BSTP融合在一起构成种群MergeBSTP,这一步是为了把交叉变异后的子代种群和原父代种群BSTP都一起保留进行精英基因判断,因为子代交叉变异后的基因不一定变的更好,因此还是要保留BSTP,因为除第一代是随机产生的外上一次迭代进化的最优基因都保存在BSTP中,转步骤S307。
S307、取出MergeBSTP中的第一个基因作为目前计算的基因BSTgene,转S308。
S308、判断BSTgene是否为MergeBSTP最后一个基因且已经获得其任务总运行时间,若是转步骤S326,否则转步骤S309。
S309、判断BSTgene是否在记录空间RS中,若是转S325,否则转S310。
S310、对BSTgene对应的X决策矩阵进行解析获得BST传输类型集合,转步骤S311。
S311、融合BSTgene对应的BST传输类型集合、S302获得的AST传输类型集合以及OC-CT,计算所有计算任务的计算时间和等待时间,转步骤S312。具体为:
计算时间的计算方法包括:
根据三种计算设备T、E、C的计算性能和各个任务的计算量按照公式(10)-公式(12)得到所述的各个计算任务在三种计算设备T、E、C的计算时间
CTime(CT_S(nS)T(nT))、CTime(CT_S(nS)E(nE))和CTime(CT_C(nC)):
CTime(CT_S(nS)T(nT))=CP(S(nS)T(nT))/CA((CT_S(nS)T(nT))) (10)
CTime(CT_S(nS)E(nE))=CP(S(nS)E(nE))/(CA(CT_S(nS)E(nE))×|CT_S(nS)E(nE)|) (11)
CTime(CT_C(nC))=CP(C(nC))/(CA(C(nC)_CT)×|CT_C(nC)|) (12)
其中:
CT_S(nS)T(nT)、CT_S(nS)E(nE)和CT_C(nC)分别表示了在智能终端S(nS)T(nT)、边缘服务器S(nS)E(nE)和云计算中心C(nC)上进行计算的任务,CA((CT_S(nS)T(nT)))、CA(CT_S(nS)E(nE))、CA(C(nC)_CT)分别是对应任务的计算量。CP(S(nS)T(nT))、CP(S(nS)E(nE))和CP(C(nC))表示了终端S(nS)T(nT)、边缘服务器S(nS)E(nE)和云计算中心C(nC)的计算性能。|CT_S(nS)E(nE)|和|CT_C(nC)|是在边缘服务器S(nS)E(nE)和云计算中心C(nC)上进行计算的总个数。
等待时间的计算方法包括:
得到的在终端S(nS)T(nT)上执行的计算任务的计算时间后,按照公式(13)得到在终端S(nS)T(nT)上执行的计算的第k个任务CT(k)_S(nS)T(nT)的所有排队情况的平均等待时间。
当nCT为偶数时
Figure BDA0002755288260000141
当nCT为奇数时
Figure BDA0002755288260000142
其中:nCT为在终端S(nS)T(nT)上执行的任务个数|CT(k)_S(nS)T(nT)|,CT(i)_S(nS)T(nT)为除第k个在终端S(nS)T(nT)上执行的任务外的其他在终端S(nS)T(nT)上执行的任务。
S312、取出BSTgene和AST对应的四种场景内中继边缘服务器选择的传输路径任务,分场景依据业务实时计算任务与应用更新计算任务在场景内中继边缘服务器调度决策矩阵Y的约束条件随机生成Linkpgn个决策矩阵Y基因构成种群LinkEP,转步骤S313。具体为:
分析得到BSTgene和AST对应的四种场景内需要进行中继边缘服务器选择的任务类型,分场景依据场景内中继边缘服务器调度决策矩阵Y约束条件进行候选中继边缘服务器序号整数编码。从而获得场景内中继边缘服务器调度决策矩阵Y进行整数编码随机生成Linkpgn个Y决策矩阵基因,并由此构建四种场景内需要进行中继边缘服务器选择的任务中继边缘服务器选择基因种群LinkEP。并开始第二阶段对Y决策矩阵的进化。转步骤S313。
S313、判断第二阶段LinkEP进化是否达到迭代次数且已获得LinkEP对应任务总运行时间,若是转步骤S323,否则转步骤S314。
S314、对每个场景的LinkEP进行交叉和变异操作,得到种群MCLinkEP,转步骤S315。具体为:
对第二阶段基因种群LinkEP分场景(因Y遵守规则是对每个场景内的边缘服务器选择),按照公式(17)对种群LinkEP中分场景随机抽取两个基因gene1和gene2做交叉操作,做完后获得交叉后基因cgene1和cgene2,直到LinkEP中所有基因都成对进行交叉操作完成获得完成交叉操作的种群CLinkEP。
Figure BDA0002755288260000151
其中xLrci为第二阶段LinkEP进化的随机生成的交叉点,交叉点个数Lrci是与分场景基因长度正相关的获取的,LinkEgenepc是第一阶段第二阶段LinkEP的交叉概率。
按照公式(18)对CLinkEP中的基因cgene进行变异操作,做完后获得基因mcgene,完成所有的变异后得到种群MCLinkEP。
Figure BDA0002755288260000152
其中xLrmi为第二阶段LinkEP进化的随机生成的变异点,变异点个数Lrmi是与基因长度正相关的获取的,BSTgenepm是第二阶段LinkEP的变异概率。
获得MCLinkEP后,转步骤S315。
S315、将交叉和变异后的种群加入对应场景的LinkEP中来构成相应的MergeLinkEP,转步骤S316;
S316、取出MergeLinkEP中的第一个基因作为目前计算的基因BSTgene对应下的第二阶段场景内中继边缘服务器选择的目标基因LinkEgene。转步骤S317;
S317、判断LinkEgene是否为MergeLinkEP的最后一个基因,并且这个基因对应的总任务时间已经得到计算,那么转步骤S322,否则转步骤S318;
S318、结合步骤S307得到的BSTgene和步骤S301输入的AST信息对LinkEgene进行解析对LinkEgene进行解析获得四种场景内需要选择中继E的传输路径,转步骤S319;
S319、结合参数包中的OT-CT计算LinkEgene对应下的所有计算任务的传输时间,转步骤S320。具体为:
按照公式(4)-公式(9)得到所述的各个BST和AST的传输时间TTime(BST)和TTime(AST)。
Figure BDA0002755288260000153
其中
Figure BDA0002755288260000154
包括了BST(ST→SE)、
Figure BDA0002755288260000155
Figure BDA0002755288260000156
和BST(ST→SE→C)的前段传输BST(ST→SE),以及
Figure BDA0002755288260000157
的前段传输
Figure BDA0002755288260000158
五种场景内T和E之间传输路径的任务类型。
Figure BDA0002755288260000159
Figure BDA00027552882600001510
分别表示了每个任务的数据量、任务总个数和这个路径的网络传输速度。
Figure BDA0002755288260000161
Figure BDA0002755288260000162
Figure BDA0002755288260000163
分别表示了同场景局域网T之间传输路径上每个AST的数据量和这个路径的网络传输速度。
Figure BDA0002755288260000164
其中
Figure BDA0002755288260000165
包括了
Figure BDA0002755288260000166
两种场景内E之间传输路径的任务类型,
Figure BDA0002755288260000167
Figure BDA0002755288260000168
分别表示了传输路径上每个任务的数据量和网络传输速度。
Figure BDA0002755288260000169
其中
Figure BDA00027552882600001610
包括了
Figure BDA00027552882600001611
的后段传输
Figure BDA00027552882600001612
两种不同场景E之间传输路径的任务类型,
Figure BDA00027552882600001613
Figure BDA00027552882600001614
分别表示了传输路径上每个任务的数据量和网络传输速度。
Figure BDA00027552882600001615
其中
Figure BDA00027552882600001616
包括了
Figure BDA00027552882600001617
BST(ST→SE→C)和
Figure BDA00027552882600001618
的后段传输
Figure BDA00027552882600001619
Figure BDA00027552882600001620
四种不同E和C之间传输路径的任务类型,
Figure BDA00027552882600001621
Figure BDA00027552882600001622
分别表示了传输路径上每个任务的数据量和网络传输速度。
Figure BDA00027552882600001623
其中
Figure BDA00027552882600001624
包括了
Figure BDA00027552882600001625
Figure BDA00027552882600001626
两种不同C之间传输路径的任务类型,
Figure BDA00027552882600001627
Figure BDA00027552882600001628
分别表示了传输路径上每个任务的数据量和网络传输速度。
另外,对于
Figure BDA00027552882600001629
BST(ST→SE→C)、
Figure BDA00027552882600001630
传输路径上的任务的传输时间表现为所述相关路径的传输时间之和:
Figure BDA00027552882600001631
TTime(BST(ST→SE→C))=TTime(BST(ST→SE))+TTime(BST(SE→C))
Figure BDA0002755288260000171
以及对于没有发生卸载而是直接在产生任务计算设备上执行的任务传输时间为0。
S320、综合BSTgene对应的计算时间、等待时间,和BSTgene时LinkEgene对应的传输时间,获得在BSTgene和LinkEgene对应下的任务总运行时间和MBST总运行时间,转步骤S321。具体为:
获得在BSTgene和LinkEgene对应下的任务总运行时间的计算方法包括:
采用如下方式计算各个任务的运行时间,任务总运行时间为TIME(BST)和TIME(AST)之和:
TIME(BST)=2·TTime(BST)+CTime(BST)+WTime(BST) (2)
TIME(AST)=TTime(AST)+CTime(AST)+WTime(AST) (3)
其中:
TIME(BST)和TIME(AST)为每个BST和AST的运行时间,TTime(BST)与TTime(AST)、CTime(BST)与CTime(AST)、WTime(BST)与WTime(AST)分别为每个BST和AST的传输时间、计算时间和等待时间。
S321、取出MergeLinkEP中的下一个基因赋给LinkEgene,转步骤S317。
S322、依据任务总运行时间为适应值,采用竞标赛法对MergeLinkEP进行精英保留,留取找那个运行时间最小的LinKEP种群个数个基因存入LinkEP中,转步骤S313。
S323、将BSTgene的第二阶段完成迭代后的对应种群LinkEP和总任务运行时间最小对应的基因,以及这个基因对应的总任务运行时间和总MBST运行时间都记入记录空间RS,转步骤S324。
S324、取出第一阶段的迭代种群MergeBSTP中的下一个基因赋给BSTgene,转步骤S308。
S325、将上一次迭代记录在RS中的BSTgene对应的第二阶段完成迭代后的对应种群LinkEP和对应的每个基因的总任务运行时间和总MBST运行时间重新赋给这个基因,转步骤S324。具体为:
将上一次迭代记录在RS中的BSTgene对应的第二阶段完成迭代后的对应种群LinkEP和对应的每个基因的总任务运行时间和总MBST运行时间重新赋给这个基因,避免重复计算步骤S310到步骤S323。转步骤S324。
S326、对MergeBSTP中每个基因对应的LinkEP种群中最小总任务运行时间和对应的MBST任务时间进行快速非支配排序,转步骤S327。
S327、结合非支配序和拥挤度对MergeBSTP中基因进行帕累托选优的精英选择,获得保留种群赋给BSTP,转步骤S304。具体为:
结合MergeBSTP的快速非支配排序结果,选出与BSTP种群个数相同的总任务运行时间和总MBST运行时间帕累托最小解,按照非支配序最优开始把对应基因放入BSTP中,对于BSTP种群个数介于两个非支配序之间的情况,计算这个非支配序对应的基因的总任务运行时间和总MBST运行时间二维数值体现的拥挤度,按照拥挤度排序刚好选满BSTP种群个数个基因为止。转步骤S304。
S328、输出BSTP中非支配序最优的帕累托最优解。具体为:
在第一阶段迭代结束后从BSTP中选出非支配序为1的所有基因,即构成了两阶段优化算法总任务运行时间和总MBST运行时间帕累托最优解。
本发明实施例还提供一种基于云边端混合计算模式系统的任务调度系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现上述方法的步骤。
本发明实施例还一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时可实现上述方法的步骤。
可理解的是,本发明实施例提供的上述基于云边端混合计算模式系统的任务调度系统、计算机可读存储介质与上述基于云边端混合计算模式系统的任务调度方法相对应,其有关内容的解释、举例、验证等部分可以参考基于云边端混合计算模式系统的任务调度方法中的相应内容,此处不再赘述。
综上所述,与现有技术相比,具备以下有益效果:
1、本发明实施例能将计算任务分为业务实时计算任务和应用更新计算任务,业务实时计算任务分为传统的单体业务实时计算任务和微服务业务实时计算任务,对不同的任务进行不同的调配,从而满足业务实时计算任务对时效性的要求。
2、本发明实施例给出了集成云计算、边缘计算和终端计算的整合架构系统,以及在实现场景协同和多场景全局协同上的部署模式,从而能够支持场景内和多场景之间的智能决策支持的信息交互处理。
3、本发明实施例设计了一个能够实现总任务运行时间和总微服务运行时间的同时优化的两阶段优化算法,从而获得业务实时任务的卸载计算设备与所有任务场景内网络迁移路径的优化选择方案。
需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
在本发明实施例中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种基于云边端混合计算模式系统的任务调度方法,其特征在于,包括:
S1、获取云边端混合计算服务系统的参数包;
S2、获取云边端混合计算模式系统中的任务调度矩阵的约束条件和任务调度目标,所述任务调度矩阵包括业务实时计算任务的卸载执行计算设备调度决策矩阵和业务实时计算任务与应用更新计算任务在场景内中继边缘服务器调度决策矩阵,所述业务实时计算任务包括单体业务实时计算任务和微服务型业务实时计算任务;
S3、基于参数包、任务调度矩阵的约束条件和任务调度目标,采用两阶段优化算法获取云边端混合计算模式系统中的最佳任务调度方案,具体包括:
其中,所述任务调度矩阵的约束条件包括:
满足X和Y都为01矩阵且
Figure FDA0003803875590000011
BST卸载执行计算设备调度决策矩阵X应遵循BST卸载规则;
X可以取1的元素个数对应于每个BST依据卸载规则可以作为其候选执行计算设备的个数,Y可以取1的元素个数对应于每个由T发出到E或者C的BST和AST在场景中所有边缘服务器的个数;
X和Y中取1的元素对应的计算设备j就是BST候选执行计算设备和候选中继边缘服务器;
其中:
BST表示业务实时计算任务,AST表示应用更新计算任务;
X和Y是计算任务的调度变量,X表示BST的卸载计算设备选择,Y表示BST和AST在计算任务发出方计算设备所在场景内中继边缘服务器选择;
X和Y中的元素
Figure FDA0003803875590000012
Figure FDA0003803875590000013
的i,j分别对应所在的行和列,
Figure FDA0003803875590000014
或者
Figure FDA0003803875590000015
为1表示计算任务i选择计算设备j来执行计算或者进行中继,0表示计算任务i不在计算单元j上的执行计算或进行中继;
所述BST卸载规则表示T、E、C上产生的BST不卸载到T,BST包括单体业务实时计算任务UBST和微服务计算任务MBST,一个在T上产生的微服务计算任务MBST被触发,会激发同场景若干个E产生微服务子任务MBSST,一个E只产生一个MBSST,当执行完一个微服务计算任务MBST激发的所有微服务子任务MBSST后,通过对所有微服务子任务MBSST的结果耦合,完成微服务计算任务MBST;由T、E、C上产生的BST,包括T、E、C上产生的单体业务实时计算任务UBST和由T触发的在E上产生的微服务子任务MBSST的候选卸载执行计算设备为云边端混合计算模式系统中所有的E和C;
所述BST的卸载规则的传输类型集合包括7种卸载路径,所述7种卸载路径包括:同场景内T产生的BST到E的卸载、同场景内E产生的BST在E之间的卸载、不同场景内E产生的BST在E之间的卸载、E和C产生的BST在E和C之间的卸载、C产生的BST在C之间的卸载、一个场景T上产生的BST经过同场景的E再卸载到另一个场景E上、T上产生的BST经过同场景的E再卸载到C上;
AST任务的传输类型集合包括8种传递路径,8种传递路径包括:同场景内T产生的AST在不同T之间的传递、同场景内T和E产生的AST在T和E之间的传递、T和C产生的AST经过与T同场景的E在T和C之间的传递、同场景内E 产生的AST在不同E之间的传递、E和C产生的AST在E和C之间的传递、C产生的AST在C之间的传递;
7种BST卸载路径和8种AST传递路径组成四种场景;
S301、获取两阶段优化算法的输入参数和执行参数,所述输入参数包括参数包中的参数,所述执行参数包括第一阶段迭代次数、第二阶段迭代次数、基因种群大小,转入S302;
S302、初始记录空间RS为空,整理应用更新计算任务AST传输类型集合,转入S303;
S303、依据业务实时计算任务的卸载执行计算设备调度决策矩阵X的约束条件随机生成BSTpgn个决策矩阵X基因构成种群BSTP,转步骤与304;
S304、判断第一阶段X决策矩阵优化是否达到迭代次数,若是转S328,否则转S305;
S305、对BSTP进行交叉和变异操作,得到种群MCBSTP,转S306;
S306、将交叉和变异后的种群MCBSTP加入BSTP中,构成MergeBSTP,转S307;
S307、取出MergeBSTP中的第一个基因作为目前计算的基因BSTgene,转S308;
S308、判断BSTgene是否为MergeBSTP最后一个基因且已经获得其任务总运行时间,若是转步骤S326,否则转步骤S309;
S309、判断BSTgene是否在记录空间RS中,若是转S325,否则转S310;
S310、对BSTgene对应的X决策矩阵进行解析获得BST传输类型集合,转步骤S311;
S311、融合BSTgene对应的BST传输类型集合、S302获得的AST传输类型集合以及OC-CT,计算所有计算任务的计算时间和等待时间,转步骤S312;
S312、取出BSTgene和AST对应的四种场景内中继边缘服务器选择的传输路径任务,分场景依据业务实时计算任务与应用更新计算任务在场景内中继边缘服务器调度决策矩阵Y的约束条件随机生成Linkpgn个决策矩阵Y基因构成种群LinkEP,转步骤S313;
S313、判断第二阶段LinkEP进化是否达到迭代次数且已获得LinkEP对应任务总运行时间,若是转步骤S323,否则转步骤S314;
S314、对每个场景的LinkEP进行交叉和变异操作,得到种群MCLinkEP,转步骤S315;
S315、将交叉和变异后的种群加入对应场景的LinkEP中来构成相应的MergeLinkEP,转步骤S316;
S316、取出MergeLinkEP中的第一个基因作为目前计算的基因BSTgene对应下的第二阶段场景内中继边缘服务器选择的目标基因LinkEgene,转步骤S317;
S317、判断LinkEgene是否为MergeLinkEP的最后一个基因,并且这个基因对应的总任务时间已经得到计算,那么转步骤S322,否则转步骤S318;
S318、结合步骤S307得到的BSTgene和步骤S301输入的AST信息对LinkEgene进行解析对LinkEgene进行解析获得四种场景内需要选择中继E的传输路径,转步骤S319;
S319、结合参数包中的OT-CT计算LinkEgene对应下的所有计算任务的传输时间,转步骤S320;
S320、综合BSTgene对应的计算时间、等待时间,和BSTgene时LinkEgene对应的传输时间,获得在BSTgene和LinkEgene对应下的任务总运行时间和MBST 总运行时间,转步骤S321;
S321、取出MergeLinkEP中的下一个基因赋给LinkEgene,转步骤S317;
S322、依据任务总运行时间为适应值,采用竞标赛法对MergeLinkEP进行精英保留,留取找那个运行时间最小的LinKEP种群个数个基因存入LinkEP中,转步骤S313;
S323、将BSTgene的第二阶段完成迭代后的对应种群LinkEP和总任务运行时间最小对应的基因,以及这个基因对应的总任务运行时间和总MBST运行时间都记入记录空间RS,转步骤S324;
S324、取出第一阶段的迭代种群MergeBSTP中的下一个基因赋给BSTgene,转步骤S308;
S325、将上一次迭代记录在RS中的BSTgene对应的第二阶段完成迭代后的对应种群LinkEP和对应的每个基因的总任务运行时间和总MBST运行时间重新赋给这个基因,转步骤S324;
S326、对MergeBSTP中每个基因对应的LinkEP种群中最小总任务运行时间和对应的MBST任务时间进行快速非支配排序,转步骤S327;
S327、结合非支配序和拥挤度对MergeBSTP中基因进行帕累托选优的精英选择,获得保留种群赋给BSTP,转步骤S304;
S328、输出BSTP中非支配序最优的帕累托最优解。
2.如权利要求1所述的基于云边端混合计算模式系统的任务调度方法,其特征在于,所述参数包包括:
为了支持多场景系统的智能信息处理的智能工作场景数量,
所需连接的云计算中心资源数量,
每个云计算中心单位时间内能够提供的性能,
场景中所部署的边缘服务器数量和场景内终端数量,
以及每个具体的边缘服务器和终端设备单位时间内能够提供的算计算性能,
智能终端T和边缘服务器E间的总网络传输速度、E之间的网络传输速度、E和云计算中心C之间的网络传输速度,以及C之间的网络传输速度;
当前时刻已经达到计算设备的计算任务OC-CT、还在传输中的计算任务OT-CT和需要进行优化调度计算任务CT。
3.如权利要求1所述的基于云边端混合计算模式系统的任务调度方法,其特征在于,任务调度目标包括:
业务实时计算任务卸载执行计算设备调度决策矩阵和业务实时计算任务与应用更新计算任务在场景内中继边缘服务器调度决策矩阵下使得云边端混合计算模式系统中总计算任务运行时间和总微服务型业务实时计算任务运行时间都为帕累托最小优化;其中,总计算任务运行时间为所有计算设备上产生的单体业务实时计算任务、微服务子任务型业务实时计算任务和应用更新计算任务的总运行时间,总微服务型业务实时计算任务运行时间是指所有智能终端上的微服务型业务实时计算任务激发对应边缘服务器上产生的所有微服务子任务型业务实时计算任务的总运行时间。
4.如权利要求1所述的基于云边端混合计算模式系统的任务调度方法,其特征在于,在S305中,所述对BSTP进行交叉和变异操作,得到种群MCBSTP,包括:
对第一阶段基因种群BSTP,按照公式(15)对种群BSTP中随机抽取两个基因gene1和gene2做交叉操作,做完后获得交叉后基因cgene1和cgene2,直到BSTP 中所有基因都成对进行交叉操作完成获得完成交叉操作的种群CBSTP:
Figure FDA0003803875590000041
其中:xBrci为第一阶段BSTP进化的随机生成的交叉点,交叉点个数Brci是与基因长度正相关的获取的,BSTgenepc是第一阶段BSTP的交叉概率;
按照公式(16)对CBSTP中的基因cgene进行变异操作,做完后获得基因mcgene,完成所有的变异后得到种群MCBSTP:
Figure FDA0003803875590000042
其中:xBrmi为第一阶段BSTP进化的随机生成的变异点,变异点个数Brmi是与基因长度正相关的获取的,BSTgenepm是第一阶段BSTP的变异概率;
和/或
在S314中,所述对每个场景的LinkEP进行交叉和变异操作,得到种群MCLinkEP,包括:
对第二阶段基因种群LinkEP分场景,按照公式(17)对种群LinkEP中分场景随机抽取两个基因gene1和gene2做交叉操作,做完后获得交叉后基因cgene1和cgene2,直到LinkEP中所有基因都成对进行交叉操作完成获得完成交叉操作的种群CLinkEP:
Figure FDA0003803875590000043
其中:xLrci为第二阶段LinkEP进化的随机生成的交叉点,交叉点个数Lrci是与分场景基因长度正相关的获取的,LinkEgenepc是第一阶段第二阶段LinkEP的交叉概率;
按照公式(18)对CLinkEP中的基因cgene进行变异操作,做完后获得基因mcgene,完成所有的变异后得到种群MCLinkEP:
Figure FDA0003803875590000044
其中:xLrmi为第二阶段LinkEP进化的随机生成的变异点,变异点个数Lrmi是与基因长度正相关的获取的,BSTgenepm是第二阶段LinkEP的变异概率;
获得MCLinkEP后,转步骤S315。
5.如权利要求1所述的基于云边端混合计算模式系统的任务调度方法,其特征在于,
在S311中,所述计算时间的计算方法包括:
根据三种计算设备T、E、C的计算性能和各个任务的计算量按照公式(10)-公式(12)得到各个计算任务在三种计算设备T、E、C的计算时间CTime(CT_S(nS)T(nT))、CTime(CT_S(nS)E(nE))和CTime(CT_C(nC)):
CTime(CT_S(nS)T(nT))=CP(S(nS)T(nT))/CA((CT_S(nS)T(nT))) (10)
CTime(CT_S(nS)E(nE))=CP(S(nS)E(nE))/(CA(CT_S(nS)E(nE))×|CT_S(nS)E(nE)|)(11)
CTime(CT_C(nC))=CP(C(nC))/(CA(C(nC)_CT)×|CT_C(nC)|) (12)
其中:
CT_S(nS)T(nT)、CT_S(nS)E(nE)和CT_C(nC)分别表示了在智能终端S(nS)T(nT)、边缘服务器S(nS)E(nE)和云计算中心C(nC)上进行计算的任务,CA((CT_S(nS)T(nT)))、CA(CT_S(nS)E(nE))、CA(C(nC)_CT)分别是对应任务的计算量,CP(S(nS)T(nT))、CP(S(nS)E(nE))和CP(C(nC))表示了终端S(nS)T(nT)、边缘服务器S(nS)E(nE)和云计算中心C(nC)的计算性能,|CT_S(nS)E(nE)|和|CT_C(nC)|是在边缘服务器S(nS)E(nE)和云计算中心C(nC)上进行计算的总个数;
在S311中,所述等待时间的计算方法包括:
得到的在终端S(nS)T(nT)上执行的计算任务的计算时间后,按照公式(13)得到在终端S(nS)T(nT)上执行的计算的第k个任务CT(k)_S(nS)T(nT)的所有排队情况的平均等待时间:
当nCT为偶数时
Figure FDA0003803875590000051
当nCT为奇数时
Figure FDA0003803875590000052
其中:
nCT为在终端S(nS)T(nT)上执行的任务个数|CT(k)_S(nS)T(nT)|;
CT(i)_S(nS)T(nT)为除第k个在终端S(nS)T(nT)上执行的任务外的其他在终端S(nS)T(nT)上执行的任务。
6.如权利要求1所述的基于云边端混合计算模式系统的任务调度方法,其特征在于,在S320中,所述获得在BSTgene和LinkEgene对应下的任务总运行时间的计算方法包括:
采用如下方式计算各个任务的运行时间,任务总运行时间为TIME(BST)和TIME(AST)之和:
TIME(BST)=2·TTime(BST)+CTime(BST)+WTime(BST)
TIME(AST)=TTime(AST)+CTime(AST)+WTime(AST)
其中:
TIME(BST)为每个BST的运行时间;TIME(AST)为每个AST的运行时间;TTime(BST)每个BST传输时间;TTime(AST)每个AST的传输时间;CTime(BST)每个BST的计算时间;与CTime(AST)每个AST的计算时间;WTime(BST)每个BST等待时间;WTime(AST)为每个AST的等待时间。
7.一种基于云边端混合计算模式系统的任务调度系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1~6任一所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时可实现如权利要求1~6任一项所述的方法。
CN202011201376.0A 2020-11-02 2020-11-02 基于云边端混合计算模式系统的任务调度方法和系统 Active CN112506644B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011201376.0A CN112506644B (zh) 2020-11-02 2020-11-02 基于云边端混合计算模式系统的任务调度方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011201376.0A CN112506644B (zh) 2020-11-02 2020-11-02 基于云边端混合计算模式系统的任务调度方法和系统

Publications (2)

Publication Number Publication Date
CN112506644A CN112506644A (zh) 2021-03-16
CN112506644B true CN112506644B (zh) 2022-09-30

Family

ID=74954869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011201376.0A Active CN112506644B (zh) 2020-11-02 2020-11-02 基于云边端混合计算模式系统的任务调度方法和系统

Country Status (1)

Country Link
CN (1) CN112506644B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113037877B (zh) * 2021-05-26 2021-08-24 深圳大学 云边端架构下时空数据及资源调度的优化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239213A (zh) * 2014-09-29 2014-12-24 北京航空航天大学 一种面向航天器自动化测试的并行测试任务两阶段调度方法
CN104539744A (zh) * 2015-01-26 2015-04-22 中国科学技术大学 一种两阶段协作的媒体边缘云调度方法及装置
CN109918201A (zh) * 2019-03-05 2019-06-21 中国联合网络通信集团有限公司 任务卸载的控制方法和系统
CN110147274A (zh) * 2019-05-21 2019-08-20 武汉轻工大学 多目标云任务均衡调度方法、服务器及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239213A (zh) * 2014-09-29 2014-12-24 北京航空航天大学 一种面向航天器自动化测试的并行测试任务两阶段调度方法
CN104539744A (zh) * 2015-01-26 2015-04-22 中国科学技术大学 一种两阶段协作的媒体边缘云调度方法及装置
CN109918201A (zh) * 2019-03-05 2019-06-21 中国联合网络通信集团有限公司 任务卸载的控制方法和系统
CN110147274A (zh) * 2019-05-21 2019-08-20 武汉轻工大学 多目标云任务均衡调度方法、服务器及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Dynamic Cloud Task Scheduling Based on a Two-Stage Strategy";PeiYun Zhang等;《IEEE Transactions on Automation Science and Engineering》;20180430;第15卷(第2期);第772-783页 *
"面向件批耦合铸造生产的两阶段协同车间调度研究";陈荣;《中国优秀硕士学位论文全文数据库 工程科技I辑》;20200715(第07期);第B022-178页 *
边缘环境下计算密集型应用的卸载技术研究;刘炎培等;《计算机工程与应用》;20200801;第56卷(第15期);全文 *

Also Published As

Publication number Publication date
CN112506644A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
Shen et al. Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems
CN109840154B (zh) 一种移动云环境下基于任务依赖的计算迁移方法
CN108880663A (zh) 基于改进遗传算法的天地一体化网络资源分配方法
CN109165808B (zh) 一种电力通信网现场运维工单派发方法
CN109597965B (zh) 基于深度神经网络的数据处理方法、系统、终端及介质
CN108874525A (zh) 一种面向边缘计算环境的服务请求分配方法
CN112416585A (zh) 面向深度学习的gpu资源管理与智能化调度方法
CN108427602B (zh) 一种分布式计算任务的协同调度方法及装置
CN110780985A (zh) 一种有限时间的并行任务调度方法与装置
CN112506644B (zh) 基于云边端混合计算模式系统的任务调度方法和系统
CN109684088A (zh) 云平台资源约束的遥感大数据快速处理任务调度方法
He Optimization of edge delay sensitive task scheduling based on genetic algorithm
Djedović et al. Optimization of business processes by automatic reallocation of resources using the genetic algorithm
CN113139639B (zh) 一种基于mombi面向智慧城市应用多目标计算迁移方法和装置
Peng et al. Genetic algorithm-based task scheduling in cloud computing using mapreduce framework
CN110851247A (zh) 一种带约束云工作流的成本优化调度方法
CN104933110B (zh) 一种基于MapReduce的数据预取方法
CN115421885B (zh) 一种分布式多目标云任务的调度方法、装置及云服务系统
CN111090510A (zh) 混合启发式和遗传算法的两阶段云工作流调度优化方法
CN111047040A (zh) 基于IFPA算法的Web服务组合方法
CN113297310B (zh) 一种物联网中区块链分片验证者选取的方法
CN116339932A (zh) 资源调度方法、装置和服务器
Dai et al. Collaborative task scheduling with new task arrival in cloud manufacturing using improved multi-population biogeography-based optimization
CN110689320A (zh) 一种基于协同进化算法的大规模多目标项目调度方法
CN117201319B (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