APP下载

基于微服务架构的智慧云平台任务分配研究

2021-11-19徐瑛楠孙景睿

计算机仿真 2021年10期
关键词:分配节点文献

徐瑛楠,孙景睿

(1.吉林建筑科技学院管理工程学院,吉林长春 130114;2.长春理工大学人工智能学院,吉林长春 130022)

1 引言

云平台亦称云计算平台,其服务是基于硬件和软件资源相结合的方式,为用户提供计算、资源分配等功能,伴随着计算机和网络等方面技术的不断发展[1],云计算技术被越来越多的人熟知。由于目前用户需求具有复杂性和多变性,目前的服务器端设备和任务均为异构形式,且各个企业提供的任务分配标准不同,其任务分配方式也不尽相同[2],因此增加了云计算的任务分配难度。

针对任务分配所存在的一系列问题,陈健等人[3]提出的工业设计云服务平台协同任务模块化重组与分配方法,该方法利用定量分析方式研究各个任务之间关系,建立并转化趋向矩阵完成任务分配,当各个任务之间相对重要度相同时,需经过大量运算方可实现任务分配,所用时间较长,分配效率稍低。束柬等人[4]研究基于信任的云服务系统多目标任务分配,该任务分配方法利用传感器实现任务信息采集,利用多目标分配模型实现任务分配,其传感器任务采集方式存在一定缺陷,造成任务信息不够准确,导致最终分配效果不理想。

微服务架构作为云中部署服务的新技术,该技术可独立运行自己的程序,通过API实现服务间沟通,其中Spring Cloud作为新型微服务架构开发平台,可实现在特定服务增减某一项具体功能,且不影响整体进程的架构。动态规划算法是计算决策过程最优化算法,该算法被广泛应用在工程、经济、计算机等领域,可实现资源管理、分配等问题[5]。结合动态规划算法,研究基于微服务架构的智慧云平台任务分配相关问题,为智慧云平台发展提供相应数据支撑。

2 基于微服务架构的智慧云平台任务分配

2.1 Spring Cloud微服务智慧云平台结构

Spring Cloud可为平台使用者提供在配置管理、任务发现、集群状态管理等方面快速构建工具,属于技术含量较高的微服务架构,也是框架的有序集合,用户通过Spring Cloud微服务架构实现快速启动任务、建立应用和云平台资源对接等功能[6],本文利用Spring Cloud微服务架构建立基于Spring Cloud微服务智慧云平台,平台结构如图1所示。

图1 基于Spring Cloud微服务智慧云平台结构示意图

该平台主要由服务网关层、任务分配层、服务层和配置集群层等组成,pc端通过服务网关层调用服务层和任务分配层服务与用户层,而任务分配层通过GIT仓库拉取配置后,建立云任务分配模型,利用配置集群层获取配置完成任务分配功能[7]。

2.2 云任务分配模型

目前,最为新兴的商业化计算模式为云计算模式,该服务均以用户满意度(Qos)为前提[8],为用户提供标准服务,因此智慧云平台的任务分配需满足Qos标准,智慧云平台的任务分配层采用云任务分配模型完成任务分配,智慧云平台的任务分配模型示意图如图2所示。

图2 智慧云平台的任务分配模型示意图

任务分配模型的主要由任务分配层和云数据中心层组成,任务分配流程在任务分配层完成,依据用户需求调用云数据库内任务数据,利用任务分配动态规划算法完成为用户分配相对应的任务。

在建立任务分配数学模型之前,需明确和动态规划相关的概念[9]。假设依据时间或空间划分表示决策顺序的离散量称为阶段变量,由k表示;对每一个状态取值的变量由状态变量Ok表示;由一个状态过渡到下一个状态的过程为dk(Ok),由决策dk表示;以状态Ok为基础,决策dk形成的第k个阶段指标由阶段指标函数Vk(Ok,dk)表示;以状态Ok为基础,决策dk,dk+1,…,dn形成过程指标由V(Ok,dk,dk+1,…,dn)表示,其中动态规划过程指标具有分离性,指标表达公式如下

Vk,n(Ok,dk,dk+1,…,dn)=Vk(Ok,dk)+

Vk+1(Ok+1,dk+1,…,dn)

(1)

当动态规划过程指标为式(1)时,则该指标具有可加性[10-11]。此时动态规划最优分配方案的递归模型:假设Pk,n表示所有的策略,以状态Ok为基础,过程指标的最优值为最优指标函数,其由fk(ok)表示,则最优指标函数表达公式如下

(2)

上述公式中k=1,2,…n。

当动态规划指标具有可加性时,最优指标函数的加权函数表达公式如下:

(3)

依据动态规划基本概念所建立的数学模型可称为任务图到智慧云平台的映射过程,其过程如下:

第一:令R表示用户需求和等待分配任务集合,则该集合可由R(T,Q)表示成任务图,其中,T={t1,t2,…tn},任务集、节点的权重、子任务运行时间分别由T、Ti、i表示;Q={q1,q2,…qm},其中通信集qi=(ti,tk)由Q表示,是两个节点之间边的权,表示两个子任务之间的通信量。

第二:智慧云平台属于并行计算平台,平台关系图H=(P,E)表示该平台,其中,虚拟机集合由P表示。

第三:令矩阵EET表示n个任务分配到m个虚拟机完成时间,第i行表示第i个任务分配到各个虚拟机上的分配完成时间,EETij则表示第i个任务在第j个虚拟机上的分配完成时间。矩阵表达式如下

(4)

第四:在终端机上,以任务分配层分配任务时间最长的虚拟机分配完成时间作为任务分配完成的目标[12],其终端条件计算公式如下

(5)

依据上述递归模型和动态规划模式计算多任务多处理机制的分配算法,假设R个任务集合内存在p个任务,且p为整数,建立最短分配时间函数Gi(o),且0≤i≤n,0≤x≤p,分配第i个任务给所有节点的全局最短时间表达公式如下

(6)

其中

(7)

在式(7)中,G(p)最小oi分配方案为:将每个节点依据其顺序进行编号后,第o个任务分配给第i节点的最短时间fi(o)和分配给第i节点最短时间的任务份额数di(o),其计算步骤如下:

第一步:在一个节点上,分配o个任务,其计算公式如下

f1(o)=G1(o)

(8)

其中,x=d1(o),且满足0≤o≤p。

第二步:在第一个节点和第二个节点上分配o个任务,其计算公式如下:

(9)

上述公式中,0≤z≤x。

依据式(9)可知,前i个节点分配到o个任务计算公式如下:

假设bi表示第i个阶段最短分配完成时间,其计算公式如下

bi=min{fi(1),fi(2),…,fi(p)}

(10)

假设li是使第i个阶段最短分配完成时间的前个节点的任务份额

li=fi(o)

(11)

在每个任务分配步骤中,将计算得到的第i个阶段最短分配完成时间、第i个阶段最短分配完成时间的前个节点的任务份额、第o个任务分配给第i节点的最短时间和分配给第i节点最短时间的任务份额数保存。当最后一个任务分配完成后,假设mint表示全部任务分配完成最短时间,其计算公式如下

mint=min(b1,b2,…,bn)

(12)

当全部任务分配完成后,此时分配任务节点的最大编号为k,此时分配给前面k个节点的最优份额计算公式如下

lk=fk(o)

(13)

通过上述计算步骤,可实现任务分配求解,先计算将x个任务分配给前i个节点的最短分配完成时间和该节点分配到的任务份额数,再计算每个节点的最短完成时间、全部任务分配完成时间和总份额以及最大编号k值,完成所有任务分配。

3 实验分析

为验证本文方法在智慧云平台任务分配过程中的各项性能,并考虑云计算环境的复杂性,使用Cloudsim4.0仿真软件,处理器为AMD Athlon(tm)IIX250 Processor,内存为4.0GB,64位操作系统。通过Cloudsim模拟云计算局部域,虚拟机节点数量为8,设置待分配任务数为100个,分别运行本文方法、文献[3]方法和文献[4]方法,测试三种方法实际使用性能,其中文献[3]方法表示工业设计云服务平台协同任务模块化重组与分配方法,文献[4]方法表示基于信任的云服务系统多目标任务分配方法。

3.1 不同方法的任务耗时对比

统计三种方法分配100个任务耗时情况,结果如图3所示。

图3 三种方法任务分配耗时

分析图3可知,三种方法分配任务完成时间均随着任务数量的增加而增加,本文算法在任务数为10~30个之间时,其任务分配完成时间为8s左右,任务分配完成时间无明显增加,当任务数为40~100个之间时,任务分配完成时间逐渐增加,且增加幅度较小,而文献[3]方法与文献[4]方法在100个任务分配过程中,二者分配完成时间均较高,且增长幅度较大,当分配任务为100个时,本文算法任务分配完成时间为45s,较文献[3]方法与文献[4]方法任务分配完成时间分别低26s和38s,由此可知,本文方法在任务数量相同时,其在任务分配时间上具有较高优势。

3.2 不同方法的平均负载对比

以平均负载为指标,统计三种方法在分配任务数为20个、40个、80个时负载情况。平均负载为单位时间内,系统处于可运行状态和不可中断状态的进程数。结果如图4所示。

图4 三种方法分配任务负载情况

由图4三组图形数据中可知,当任务数量增加时,三种方法分配任务时的负载值也随之增加,通过对比三种方法在任务数量相同时的负载值,可知本文方法较文献[3]方法和文献[4]方法而言具备较高的负载平衡性。

3.3 不同方法的任务利用率对比

上述实验是在有负载情况下,验证本文方法的负载平衡性,处于无负载情况时,以任务分配利用率作为衡量三种分配方法可靠性指标,统计8个虚拟机节点任务分配率情况,结果如图5所示。

图5 三种方法任务分配利用率

综合分析图5可知,当在无负载情况下,本文方法的资源使用率较平稳,其分配合理性较高,而文献[3]方法和文献[4]方法的任务利用率波动较大,对虚拟机节点压力相对较大,可见文献[3]方法和文献[4]方法运行处于运行不稳定状态,由此可知,本文方法任务分配合理且具有较高可靠性。

3.3 不同方法的负影响因子数值对比

统计三种方法在任务分配过程中的负影响因子数值,研究三种方法任务分配效率情况,结果如表1所示。

表1 三种方法的负影响因子数值情况

分析表1可知,三种方法在进行任务分配时,其负影响因子数值与任务数量成正比,当任务数量相同时,本文方法的负影响因子数值均低于文献[3]方法与文献[4]方法,其中当任务数量为100时,三种方法的负影响因子数值之间差值最大,本文算法负影响因子数值仅为0.16,由此可知,本文算法任务分配效率最高。

4 结论

在云计算里,任务分配的有效度相当重要,对智慧云平台的整体服务性能来说影响巨大。为此,研究基于微服务架构的智慧云平台任务分配方法,将Spring Cloud微服务架构与动态规划算法相结合,实现任务分配。实验结果表明:该算法在任务量相同时,在任务分配时间上具有较高优势且分配负载数值较低,负载平衡性能强;在无负载情况时,分配合理性较高,可靠性强等。

本文方法虽然能有效实现任务分配功能,且具有分配时间短、负载平衡性强等特点,但在网络技术日新月异的情况下,本文方法仍存在一定不足之处,如在分配过程中存在的冗余性,不仅消耗分配时间,也提升了分配复杂度,对于任务存储类型不够宽泛,因此还需在基于用户需求的基础上,更加完善任务分配方法。

猜你喜欢

分配节点文献
基于RSSI测距的最大似然估计的节点定位算法
基于图连通支配集的子图匹配优化算法
Hostile takeovers in China and Japan
结合概率路由的机会网络自私节点检测算法
Cultural and Religious Context of the Two Ancient Egyptian Stelae An Opening Paragraph
Crying Foul
基于点权的混合K-shell关键节点识别方法
遗产的分配
The Application of the Situational Teaching Method in English Classroom Teaching at Vocational Colleges
The Role and Significant of Professional Ethics in Accounting and Auditing