CN111324429A - 一种基于多代血统参考距离的微服务组合调度方法 - Google Patents
一种基于多代血统参考距离的微服务组合调度方法 Download PDFInfo
- Publication number
- CN111324429A CN111324429A CN201910957452.1A CN201910957452A CN111324429A CN 111324429 A CN111324429 A CN 111324429A CN 201910957452 A CN201910957452 A CN 201910957452A CN 111324429 A CN111324429 A CN 111324429A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- resource
- resource center
- user
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于多代血统参考距离的微服务组合调度方法,包括获取资源中心相关数据、微服务相关数据和用户相关数据;建立微服务组合部署调度的多目标优化模型;采用基于多代血统参考距离的多目标优化算法NSGA‑III对所述的多目标优化模型进行求解;计算出每一个资源中心需要启动的微服务数量向量;根据所述的微服务数量向量对资源中心的微服务进行组合调度。本发明将基于多代血统参考距离的改进NSGA‑III算法引入到了微服务的组合调度问题中,使得该算法能够更加适用于微服务组合调度问题求解,通过理论和实验对方法进行综合评估,证明引入多代血统参考距离的NSGA‑III方法对问题的求解能够取得很好效果。
Description
技术领域
本发明属于高性能云计算服务领域,具体涉及一种基于多代血统参考距离 的微服务组合调度方法。
背景技术
微服务是SOA架构发展与云技术发展与应用到一定成熟阶段的产物。传统 的单体应用存在诸多缺点,尤其是针对分布在不同地域、不同业务需求的大量 用户并发条件下,单体应用的扩展性、容错性、稳定性和抗毁性显然已经无法 满足移动互联网中大规模分布式用户并发需求,因此基于微服务的应用研究成 为了热点。微服务将传统的单体应用进行服务拆分,按照业务和功能需求从横 向或者纵向分解成为相互独立的微型服务。每个服务都能够单独的运行多个实 例,服务之间尽可能的逻辑独立。微服务具备灵活性、可扩展性以及高可用性 的特点,灵活性是各个服务实例能够根据网络通信开销、计算和存储资源开销 等因素,灵活在多个服务器或者云资源中心部署;扩展性是根据能够根据用户 的并发需求灵活的启动和关闭实例,并且这些启动和关闭可以是针对某个专用 的服务模块。比如在电子商务微服务中,某个特定时间,用户支付业务并发量 突然增加,只需增加支付业务微服务的服务数量来满足用户并发需求,而不必 像传统单体应用那样必须对整个业务线服务进行同时扩展,这样灵活的扩展机 制在能够节省资源的同时,为用户提供高并发的服务;高可用性是微服务的又 一典型特征,由于微服务启动实例所需资源相对较小,每个服务可以同时启动 多个实例,在资源有限的条件下,能够对某些关键服务进行多服务热备操作, 从而使得整个应用具备很强的稳定性。因此,由于微服务具备以上特点,在移 动互联网以及物联网条件下,是解决用户和接入设备数量巨大以及海量并发请 求的有效手段。
目前国内外许多大型网络应用公司或企业(亚马逊、IBM、Ebay、Twitter、 淘宝、腾讯等)都开始逐步采用基于微服务的架构。在军用领域,大数据工程 应用服务***也正逐步走向微服务的架构。在微服务带来强大的灵活扩展和稳 定应用的同时,也存在急需解决的问题。其中最为关键的一个问题就是服务的 实例部署与启动优化问题。其问题主要描述如下:多个地点的多个微服务实例 需要启动,为分布在广域空间的大量用户提供服务,如何在充分考虑硬件资源、 服务延时以及服务可靠性的前提下,为多个服务中心配置和调度不同微服务或 者微服务组合的启动和运行策略,就是该问题的核心。该技术问题的难点在于: a)计算存储资源利用率、服务效率以及各个服务器以及服务中心之间的负载 均衡指标相互制约,难以同时达到最优;b)计算复杂度较高,难以采用传统 的优化算法在多项式时间内求得最优解;c)微服务的实例启动与服务请求具 备一定的动态性,求解策略需要快速求解完成才能满足实际需求。
发明内容
有鉴于此,本发明的目的在于提供一种基于多代血统参考距离的微服务组 合调度方法,所述方法在服务端对基于多目标优化的微服务组合调度问题进行 建模,并引入改进后的非支配排序遗传算法(Non-dominated Sorted Genetic Algorithm)NSGA-III对该问题进行求解,能够解决微服务的部署和调度过程中, 涉及的目标函数众多,约束复杂,对结果的计算要求实时性强,且性能指标高 的问题,较好地为微服务的部署调度提供支撑。
基于上述目的,一种基于多代血统参考距离的微服务组合调度方法,包括 以下步骤:
步骤1,获取资源中心属性数据、微服务属性数据和用户属性数据;
步骤2,建立微服务组合部署调度的多目标优化模型,模型表示如下:
其中F(x)为该模型的目标函数,h表示子目标函数的个数,gi(x)表示不等 式约束条件,m表示不等式约束的个数,hj(x)表示等式约束条件,n表示等式 约束条件的个数;
步骤3,采用基于多代血统参考距离的多目标优化算法NSGA-III对所述的 多目标优化模型进行求解,计算出每一个资源中心需要启动的微服务数量向 量;
步骤4,根据所述的微服务数量向量对资源中心的微服务进行组合调度;
所述资源中心属性数据包括资源中心集合,以及每一个资源中心的资源信 息和位置信息,所述的资源信息包括计算资源信息和存储资源信息,所述的位 置信息包括所述资源中心的经度和纬度;所述的微服务属性关数据包括微服务 集合,以及每一个微服务启动一个实例所需要的计算资源和存储资源;所述的 用户属性数据包括用户集,以及每一个用户的服务请求信息和位置信息;模型 的目标函数F(x)中子目标函数,包括计算资源空闲率最小化、存储资源的空闲 率最小化、微服务的实际空闲率最小化、计算负载均衡率最小化和存储负载均 衡率最小化;约束条件包括服务的完备性约束、计算资源总量约束、存储资源 总量约束和服务序列总量约束。
进一步地,资源中心集表示为RC={rc1,rc2,...,rcN},N为资源中心的数量,第i个资源中心的信息表示为rci=(RRes(r_comi,r_stoi),RLoc(r_lati,r_loni)),其中i∈[1,N], RRes(r_comi,r_stoi)表示第i个资源中心包含计算资源r_comi和存储资源r_stoi,RLoc(r_lati,r_loni)表示第i个资源中心所处的位置信息经度r_lati和纬度r_loni;微 服务集合表示为MS={s1,s2,...,sK},K为微服务的种类数量,第j个微服务表示为 sj=(SRes(r_comj,r_stoj)),j∈[1,K],其中SRes(r_comj,r_stoj)表示第j个微服务启动一 个实例需要耗费的计算资源r_comj和存储资源r_stoj;用户集合表示为 Users={u1,u2,...,uM},M为用户的数量,第q个用户表示为 uq=(UReq(Sq(sp,..,sk)),ULoc(u_latq,u_lonq)),q∈[1,M],0<p<k<K,其中,UReq(Sq(sp,..,sk))表 示第q个用户对于微服务组合的请求需求,ULoc(u_latq,u_lonq)表示服务当前所处 的位置信息经度u_latq和纬度u_lonq;微服务数量向量表示为Strategy(RC,MS), Strategy(RC,MS)=[rc1(x11,...,x1K),rc2(x21,...,x2K),...,rcN(xN1,...,xNK)]T其中,rci(xi1,...,xiK)表示微服务 MS在资源中心i中的组合运行策略;
计算资源空闲率f1(x)的计算公式为:
其中rci(xi1,...,xiK)表示在第i个资源中心实际启动的微服务数量向量, SRes(r_com1,...,r_comK)表示微服务实际消耗的计算资源数值向量,RRes(r_comi)表 示第i个资源中心的计算资源值;
存储资源的空闲率f2(x)的计算公式为:
SRes(r_sto1,...,r_stoK)表示微服务实际消耗的存储资源数值向量,RRes(r_stoi) 表示第i个资源中心的存储资源值;
微服务的实际空闲率f3(x)计算公式为:
计算负载均衡率f4(x)的计算公式为:
存储负载均衡率f5(x)的计算公式为:
进一步地,完备性约束g1(x),即必须保证所有的微服务至少启动一个实例, 要求:
g1(x):xij≥1,1≤i≤N,1≤j≤K;
其中N是资源中心数量,K是单体服务科拆分微服务数量;
计算资源总量约束g2(x),即每个资源中心服务实例运行所占用的计算资源 总量不能超过其拥有总量,要求:
g2(x):rci(xi1,...,xiK)·SRes(r_sto1,...,r_stoK)T<RRes(r_stoi),1≤i≤N;
存储资源总量约束g3(x),即每个资源中心服务实例运行所占用的存储资源 总量不能超过其拥有总量,要求:
g3(x):rci(xi1,...,xiK)·SRes(r_com1,...,r_comK)T<RRes(r_comi),1≤i≤N;
服务序列总量约束g4(x),即所有已经启动的微服务实例的服务总量要大于 用户对于微服务的需求总量,要求:
其中,UserReq(ui,sj)表示第i个用户是否请求了服务sj,如果是,则返回1, 如果没有,则返回0;
对于解空间决策向量x∈Ω,表示为:
所述的多目标优化模型表示如下:
具体地,RealUserNum(sj,rci)即微服务sj在资源中心rci中实际的服务用户数量的计算采用基于距离优先的服务选择算法,对于每一个用户而言,首先按照位 置最近原则,寻找最近可用的微服务,判断该微服务是否达到了最大服务负载, 如果没有,请求使用该服务;否则,则进一步按照最近距离原则搜索最近的服 务,直到该用户发现可用的微服务,其计算步骤如下:
初始化每个资源中心运行的服务数量和剩余的用户数量参数以及已经服 务的用户数组;
初始化资源中心的实际微服务启动向量realMicroServicesStart、资源中心的剩余 资源向量remMicSerAbility、资源中心服务列表userServiced;
遍历每一个用户,寻找最合适的资源中心服务:对于用户服务请求列表中 的服务请求,初始化每个资源中心的访问标识;
根据用户位置递归寻找最近的满足条件的资源服务中心,如果寻找到了, 继续寻找下一个服务;如果没有,则返回false;
当所有用户的所有服务都在资源中心找到服务提供者以后,返回true。
具体地,所述的多目标优化算法中采用二进制编码规则,编码的长度跟每 个资源中心能够启动的微服务实例最大数量来决定,种群迭代的过程包括以下 步骤:
步骤101,初始化种群集合,血统集合Lineraget,然后对父代种群进行交叉 变异,并将交叉变异后的血统保留下来存储到后代血统集合中Zt;
步骤102,然后将父代与子代进行合并到JointPt+1中,按照NSGA-III中对解 的支配顺序进行排序,并将排序结果作为血统代号存入到当前代数的血统集合 Lineraget+1中;
步骤103,选择前i个等级的支配解,直到前i+1个等级的解数量大于最大 种群数量,从第i+1个等级的解中选择若干解,使得种群规模等于最大种群数 量;
步骤104,首先计算理想点和极值点,然后形成参考点和参考向量,遍历 那些具有最小最近解的参考向量,寻找离参考向量最近的解作为候选集放入到 下一代种群中。
具体地,在步骤101中,对血统交叉过程进行计算,步骤如下:步骤10101, 首先初始化结果列表Ot,血统列表Lineraget;步骤10102,然后遍历所有种群, 取相邻两个体按照传统策略进行交叉;为了保证血统的列表数量不会随着进化 代数的增加而出现指数***的情况,引入了截断策略,通过事先约定好种群的 血统列表数量MaxLineageNum,当父代种群数量超过这一约定数量时,删除到距离 自己较远MaxLineageNum/2个祖先血统值,同时也保证血统的新鲜程度;步骤 10103,让后将父代血统列表中的内容进行合并,通过概率来决定是否进行变 异,然后存储到后代血统类别中。
具体地,在步骤104中,根据参考点去选择最优对象时,需要根据血统来 排序选择,步骤如下:首先判断参考点rp的最近距离种群集合,如果该集合大 于0,则存在两种情况,第一种是rp在Qt中的最近距离种群集合为0,此时选择 rp在Fl中的最近距离种群;第二种是rp在Qt中的最近距离种群集合大于0,则根 据平均血统rank排序,选择历史血统更为优良的种群。
具体地,根据用户位置递归寻找最近的满足条件的资源服务中心的步骤包 括,首先根据用户的位置寻找没有访问过的最近的资源中心,返回资源中心的 序号neLoCenter;如果返回-1,则表示所有资源中心都已经访问过了,没有解, 返回false;然后判断该资源中心是否存在与用户需求匹配的可用服务;如果该 服务数量大于等于1,将该用户放入到服务用户列表,将该资源中心的可用服 务数量列表更新;否则将该资源中心的访问标识改为1,递归寻找该用户最近 的服务。
本发明实施例首次将基于多代血统参考距离的改进NSGA-III算法引入到了 微服务的组合调度问题中,使得该算法能够更加适用于微服务组合调度问题求 解,具体地,本发明首先深入分析资源中心集合、微服务集合、用户集合以及 微服务实例组合运行策略等相关实体的属性,其次,详细构建了微服务的组合 调度问题的多目标优化模型,包括五个子目标函数和四个约束条件,再次,采 用改进的NSGA-III算法对模型进行求解,获得多组帕累托最优解,最后,在 实验中验证了帕累托最优解的组合调度策略比传统部署策略在资源中心计算 存储资源、负载均衡率以及服务实际使用率均有较大提升。
附图说明
图1为本发明实施例的微服务组合调度问题的示意图;
图2为本发明实施例的微服务组合部署与调度方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中涉及到资源中心(Resource Centers,RC)、微服务集合(MircoServices,MS)、用户集合(Users,U)、微服务实例组合运行策略等几 个名词,首先对这几个名词的定义及其属性进行说明。
本实施例的资源中心是能够为微服务的实例启动和运行提供环境的实体, 包含分布在不同位置的计算和存储资源。空间中存在N个资源中心表示为 RC={rc1,rc2,...,rcN},每个资源中心包含两类信息:资源信息和位置信息, rci=(RRes(r_comi,r_stoi),RLoc(r_lati,r_loni)),i∈[1,N],其中RRes(r_comi,r_stoi)表示第i个 资源中心包含的计算资源r_comi和存储资源r_stoi。为了便于模型计算求解,这 里的计算和存储资源全部归一量化为某一个特定的实数值,RLoc(r_lati,r_loni)表 示第i个资源中心所处的位置经纬度。
本实施例的服务集合特指某一个单体应用经过逻辑拆分以后的微服务集 合。其符号化描述如下:MS={s1,s2,...,sK}表示单体应用MS拆分为K个功能相互独 立的微服务,第j个微服务表示为sj=(SRes(r_comj,r_stoj)),j∈[1,K], SRes(r_comj,r_stoj)表示第j个微服务启动一个实例需要耗费计算资源r_comj和存 储资源r_stoj。
本实施例的用户集合特指微服务的服务消费者集合,每个用户可能会使用 某一个微服务或者某几个微服务的服务序列,用户之间是相对独立的个体。用 户集合表示为Users={u1,u2,...,uM},M为用户的数量,每个用户也包含两类信息,服 务请求信息和位置信息,uq=(UReq(Sq(sp,..,sk)),ULoc(u_latq,u_lonq)),q∈[1,M],0<p<k<K 其中,UReq(Sq(sp,..,sk))表示第q个用户对于微服务组合的请求需求, ULoc(u_latq,u_lonq)表示服务当前所处的位置。
对于N个资源中心RC={rc1,rc2,...,rcN},以及拟运行的微服务MS={s1,s2,...,sK}而 言,其微服务实例组合运行策略用Strategy(RC,MS)表示,其数学表达式如下:Strategy(RC,MS)=[rc1(x11,...,x1K),rc2(x21,...,x2K),...,rcN(xN1,...,xNK)]T其中,rc1(x11,...,x1K)表示微服务 MS在资源中心1中的组合运行策略。
微服务组合调度问题如图1所示,在空间中分布着多个资源中心(RC), 每个资源中心有计算和存储两种资源。每启动一个微服务实例会耗费一定的资 源。同时,空间中还分布了大量的服务用户,每个用户会使用一个或多个微服 务的组合。微服务的组合调度问题实际上就是在给定的资源中心、微服务集合 以及用户需求的前提下,寻求微服务实例在个资源中心的启动和运行策略,使 得在同时考虑节省资源和资源中心负载均衡的同时,能够为用户提供高效快捷 的服务。
由此,微服务组合调度问题的多目标优化模型如下:
假设在空间区域内,存在N个资源中心RC={rc1,rc2,...,rcN},K个功能相互独立的微服务MS={s1,s2,...,sK},以及M个用户Users={u1,u2,...,uM},决策向量为: x=Strategy(RC,MS)为自变量的连续搜索空间。为了便于算法编码,本发明将原始 模型决策向量从二维向量压缩为一维变量。模型总体描述如下式。
其中F(x)为该模型的目标函数,gi(x)和hj(x)表示两种不同类型的约束条件。 基于多目标优化的微服务组合调度模型一共有五个目标函数,分别表征计算以 及存储资源利用效率,微服务实际空闲率、微服务负载总方差以及用户服务完 整性。下面对这四个目标函数进行建模。
第一个目标函数就是计算资源空闲率,记为f1(x)。
其中rci(xi1,...,xiK)表示在第i个资源中心实际启动的微服务数量向量, SRes(r_com1,...,r_comK)表示微服务实际消耗的计算资源数值向量,RRes(r_comi)表 示第i个资源中心的计算资源值。
第二个目标函数存储资源的空闲率计算方式为f2(x)。
第三个目标函数是微服务的实际空闲率f3(x)。一般来讲,启动一个微服务 实例可以为若干个服务请求提供服务。当服务请求数量超过单个微服务实例的 最大负载,则需要启动新的实例来提供有效服务。假设每个微服务可以允许的 最大服务用户数量向量(微服务最大负载向量)为MSMaxUsers=[mu1,mu2,...,muK]。微 服务实例一旦启动,则希望该微服务能够得到充分使用,这样才不会浪费资源, 否则可以选择不启动该微服务实例。
关于微服务的实际空闲率定义如f3(x)。
需要特别说明的是,这里的RealUserNum(sj,rci)是微服务sj在资源中心rci中实际的服务用户数量。
在这种用户的服务发现策略前提下,由于在本发明中寻求的可行解必须满足 约束条件,用户一定会发现至少一个可用的微服务,与此同时,每个资源中心 启动的微服务实例也能够获取到自己所要服务的用户数量RealUserNum(sj,rci)。
第四个目标函数是对资源中心的计算负载均衡率f4(x)。资源中心的负载均 衡指标主要是衡量多个资源中心在运行过程中能够保持均衡的程度。不能出现 有的资源中心长期保持高负荷运转状态,而有的资源中心却一直处于闲置状 态。
负载均衡率的计算方式如f4(x)。
第五个目标函数是对资源中心存储负载均衡率f5(x),存储负载均衡率用来 衡量资源中心的存储使用情况。一般来讲,由于各个资源中心之间存在或多或 少的数据同步任务,数据存储量较大的资源中心可能会向数据量较小的资源中 心同步或者转移数据,占用大量的通信资源,可能造成服务的拥堵。因此,为 了减小数据同步开销,在服务部署和运行的时候就应当考虑到资源中心的存储 负载均衡。
存储的负载均衡计算方式如f5(x)。
在基于多目标的微服务组合调度策略问题中,存在结果约束条件,详细描 述如下:
第一个约束条件g1(x)是服务的完备性约束,即必须保证所有的微服务至少 启动一个实例。数学表达式如下:
g1(x):xij≥1,1≤i≤N,1≤j≤K
其中N是资源中心数量,K是单体服务科拆分微服务数量。
第二个约束条件g2(x)是计算资源总量约束,即每个资源中心服务实例运行 所占用的计算资源总量不能超过其拥有总量。即:
g2(x):rci(xi1,...,xiK)·SRes(r_sto1,...,r_stoK)T<RRes(r_stoi),1≤i≤N
第三个约束条件g3(x)是存储资源总量约束,即每个资源中心服务实例运行 所占用的存储资源总量不能超过其拥有总量。即:
g3(x):rci(xi1,...,xiK)·SRes(r_com1,...,r_comK)T<RRes(r_comi),1≤i≤N
第四个约束条件是服务序列总量约束,即所有已经启动的微服务实例的服 务总量要大于用户对于微服务的需求总量。表达式如下:
其中,UserReq(ui,sj)表示第i个用户是否请求了服务sj,如果是,则返回1, 如果没有,则返回0。
综上所述,基于多目标优化的微服务组合调度模型描述如下:
假设微服务集合O={o1,o2,...,oK},对于解空间决策向量x∈Ω,
从问题描述可知,该问题属于典型的NP难问题,采用传统的多项式解决 方法难以对问题进行求解,因此,需要寻求进化计算法方法解决。
非支配排序遗传算法(Non-dominated Sorted Genetic Algorithm,NSGA) 及其变种算法是目前多目标优化问题求解最为经典的算法之一。NSGA是基于 遗传算法的多目标优化算法,该方法基于pareto前沿来对多目标进行优化。 NSGA-II算法,又称为带精英策略的非支配排序的遗传算法,该方法将种群进行 了分层,按照后代之间的支配关系保留哪些具有绝对优势的精英解作为下一代 交叉变异的父代。NSGA-III,又称为基于参考点非支配排序遗传算法,在NSGA-II 计算框架的基础上,将精英保留策略进行进一步改进,在保持种群多样性的基 础上,利用参考点策略提高了在非支配层中寻求多样精英解的计算效率。
本实施例基于多目标优化的微服务组合调度策略方法,提出基于多代血统 血统参考距离的多目标优化算法(MGA-NSGA-III),该算法集成了NSGA-III的进 化机制,在进化的机制中加入了血统的概念,使得在考虑种群之间的支配关系 和拥挤度的同时,根据种群的血统对种群进行精英策略选择。同等情况下,选 择那些血统纯正Rank更高的种群作为迭代对象。
本实施例采用二进制编码规则,编码的长度跟每个资源中心能够启动的微 服务实例最大数量来决定。本实施例假设每个资源中心能够最大允许启动某一 个微服务实例为16。因此用四位二进制编码就可以表达某一个资源中心启动的 某一个微服务实例的数量。显然,该二进制编码的总长度为4×N×K。
本实施例种群迭代步骤如下:步骤101,初始化种群集合,血统集合Lineraget, 然后对父代种群进行交叉变异,并将交叉变异后的血统保留下来存储到后代血 统集合中Zt;步骤102,然后将父代与子代进行合并到JointPt+1中,按照NSGA-III 中对解的支配顺序进行排序,并将排序结果作为血统代号存入到当前代数的血 统集合Lineraget+1中,步骤103,选择前i个等级的支配解,直到前i+1个等级的 解数量大于最大种群数量,从第i+1个等级的解中选择若干解,使得种群规模 等于最大种群数量;步骤104,首先计算理想点和极值点,然后形成参考点和 参考向量,遍历那些具有最小最近解的参考向量,寻找离参考向量最近的解作 为候选集放入到下一代种群中。
本实施例在传统的交叉变异策略基础上,增加了父代的血统交叉策略,通 过对父代***的非支配排序结果来确定该种群的血统,然后在交叉过程中将血 统进行聚合遗传到下一代个体中。同时,为了保持血统的新鲜程度,采用对较 远距离的祖先血统的丢失机制。
在步骤101中,对血统交叉过程进行计算,步骤如下:步骤10101,首先 初始化结果列表Ot,血统列表Lineraget,步骤10102,然后遍历所有种群,取相 邻两个体按照传统策略进行交叉;为了保证血统的列表数量不会随着进化代数 的增加而出现指数***的情况,这里引入了截断策略,通过事先约定好种群的 血统列表数量MaxLineageNum,当父代种群数量超过这一约定数量时,删除到距离 自己较远MaxLineageNum/2个祖先血统值,同时也保证血统的新鲜程度;步骤 10103,让后将父代血统列表中的内容进行合并,通过概率来决定是否进行变 异,然后存储到后代血统类别中。
本实施例采取的种群选择策略采用在NSGA-III基于参考点距离计算的基础 上,增加了对候选集的血统计算,优先选择那些历史排序更高的解,从而使得 收敛速度更快。
在步骤104中,根据参考点去选择最优对象时,需要根据血统来排序选择, 步骤如下:首先判断参考点rp的最近距离种群集合,如果该集合大于0,则存 在两种情况,第一种是rp在Qt中的最近距离种群集合为0,此时选择rp在Fl中的 最近距离种群;第二种是rp在Qt中的最近距离种群集合大于0,则根据平均血 统rank排序,选择历史血统更为优良的种群。
在本实施例中,用户服务策略采用基于距离优先的服务选择算法,即对于 每一个用户而言,首先按照位置最近原则,寻找最近可用的微服务,判断该微 服务是否达到了最大服务负载,如果没有,请求使用该服务;否则,则进一步 按照最近距离原则搜索最近的服务,直到该用户发现可用的微服务。
其计算过程,包括以下步骤,初始化每一个资源中心的实际微服务启动数 量向量realMicroServicesStart、资源中心的剩余资源向量remMicSerAbility、资源中心所服 务的用户列表userServiced;接下来遍历每一个用户,寻找最合适的资源中心服务: 对于用户服务请求列表中的服务请求,初始化每个资源中心的访问标识;根据 用户位置递归寻找最近的满足条件的资源服务中心,如果寻找到了,继续寻找 下一个服务;如果没有,则返回false;当所有用户的所有服务都在资源中心找 到服务提供者以后,返回true。
根据用户位置递归寻找最近的满足条件的资源服务中心的步骤包括,首先 根据用户的位置寻找没有访问过的最近的资源中心,返回资源中心的序号 neLoCenter;如果返回-1,则表示所有资源中心都已经访问过了,没有解,返回 false;然后判断该资源中心是否存在与用户需求匹配的可用服务;如果该服务 数量大于等于1,将该用户放入到服务用户列表,将该资源中心的可用服务数 量列表更新;否则将该资源中心的访问标识改为1,递归寻找该用户最近的服 务。
本实施例方法复杂度分析如下:由于每一代迭代需要调用上述步骤1次。 步骤101的复杂度为O(N)+O(M·K)(这里假设每个用户都包含对所有K个微服 务的请求,实际情况中会小于该数量),步骤104的本质是一次递归计算,复 杂度为O(M)。假设在算法中,T表示目标函数的数目,Q代表种群的数目,U 表示基于分解多目标优化算法的每个邻居权重向量的数量,H代表参考点数量, 种群血统的最大允许数量为G时。对于种群2Q的血统的***计算时间复杂度 是O(Q)logT-2Q,在极端情况下(即每一次血统都需要计算选择,每个血统都拥 有最大允许数量),血统的每次交叉与合并计算时间是O(Q·G2),单次迭代血统 的选择计算复杂度为O(Q·G),由于每次血统的选择计算都是需要在传统NSGA-III 的参考点计算和标准化之后,因此基于传统的参考点计算复杂度O(T·Q·H),则 所有血统选择的计算复杂度为:O(T·Q2·H·G),由于MGR-NSGA-III的总复杂度为 O(Q2)logT-2Q,在期间需要对血统进行***和选择,因此本实施例方法中的计算 复杂度为O(Q2+Q·G+G2)logT-2Q·(O(N)+O(M·K))。
本实施例采用两个真实数据集进行了实验,一个是纽约社交网络用户CheckIn数据集,用来模拟在空间中存在的不同用户同时对数据中心进行服务 请求,另一个是东京社交网络用户CheckIn数据集。微服数据采用一个典型的 数据应用服务***,一个单体应用***拆分为用户中心微服务、报表中心微服 务、管理员中心微服务、GIS微服务、报文传输微服务、数据质量审核微服务、 数据采集微服务、数据综合维护与管理微服务、数据可视化展现组件微服务以 及权限控制微服务等10个微服务。
假设在纽约和东京各存在5个资源中心专门用于作战数据服务微服务*** 的运行,每个资源中心具备3000个单位的计算资源和3000个单位的存储资源; 每个微服务启动1个实例需要消耗2个单位的计算资源和1个单位的存储资源, 能够同时为100个用户提供服务。
采用本实施例提出的方法对微服务组合调度问题进行求解,其实验参数取 值如下:
实验环境:本发明所采用的实验背景为:电脑主要配置为:Pentium(R) Dual-core3.06CPU,4G RAM内存。
在以上实验数据与参数的取值下,采用本发明提出的多目标优化算法对该 问题进行求解,实验结果可知,该问题求解能够较好的收敛到帕累托前沿,同 时求解算法的时间性能也很好。本发明实施例首次将基于多代血统参考距离的 改进NSGA-III算法引入到了微服务的组合调度问题中,使得该算法能够更加适 用于微服务组合调度问题求解,通过实验对算法时间效率、解收敛程度以及计 算效果多个方面进行综合评估,证明引入多代血统参考距离的NSGA-III方法对 问题的求解能够取得很好效果。
由发明内容和实施例可知,本发明基于多代血统参考距离的微服务组合调 度方法,首先,深入分析资源中心集合、微服务集合、用户集合以及微服务实 例组合运行策略等相关实体的属性,其次,构建基于多目标优化的微服务组合 调度问题模型,明确问题的目标函数和约束条件;再此,然后提出基于多代血 统参考距离的NSGA-III改进算法,使得该算法能够更加适用于微服务组合调度 问题求解,在理论层面和实验层面验证了帕累托最优解的组合调度策略比传统 部署策略在资源中心计算存储资源、负载均衡率以及服务实际使用率均有较大 提升。
Claims (8)
1.一种基于多代血统参考距离的微服务组合调度方法,其特征在于,包括以下步骤:
步骤1,获取资源中心属性数据、微服务属性数据和用户属性数据;
步骤2,建立微服务组合部署调度的多目标优化模型,模型表示如下:
其中F(x)为该模型的目标函数,h表示子目标函数的个数,gi(x)表示不等式约束条件,m表示不等式约束的个数,hj(x)表示等式约束条件,n表示等式约束条件的个数;
步骤3,采用基于多代血统参考距离的多目标优化算法NSGA-III对所述的多目标优化模型进行求解,计算出每一个资源中心需要启动的微服务数量向量;
步骤4,根据所述的微服务数量向量对资源中心的微服务进行组合调度;
所述资源中心属性数据包括资源中心集合,以及每一个资源中心的资源信息和位置信息,所述的资源信息包括计算资源信息和存储资源信息,所述的位置信息包括所述资源中心的经度和纬度;所述的微服务属性关数据包括微服务集合,以及每一个微服务启动一个实例所需要的计算资源和存储资源;所述的用户属性数据包括用户集,以及每一个用户的服务请求信息和位置信息;模型的目标函数F(x)中子目标函数,包括计算资源空闲率最小化、存储资源的空闲率最小化、微服务的实际空闲率最小化、计算负载均衡率最小化和存储负载均衡率最小化;约束条件包括服务的完备性约束、计算资源总量约束、存储资源总量约束和服务序列总量约束。
2.根据权利要求1所述的微服务组合调度方法,其特征在于,所述的资源中心集表示为RC={rc1,rc2,...,rcN},N为资源中心的数量,第i个资源中心的信息表示为rci=(RRes(r_comi,r_stoi),RLoc(r_lati,r_loni)),其中i∈[1,N],RRes(r_comi,r_stoi)表示第i个资源中心包含计算资源r_comi和存储资源r_stoi,RLoc(r_lati,r_loni)表示第i个资源中心所处的位置信息经度r_lati和纬度r_loni;微服务集合表示为MS={s1,s2,...,sK},K为微服务的种类数量,第j个微服务表示为sj=(SRes(r_comj,r_stoj)),j∈[1,K],其中SRes(r_comj,r_stoj)表示第j个微服务启动一个实例需要耗费的计算资源r_comj和存储资源r_stoj;用户集合表示为Users={u1,u2,...,uM},M为用户的数量,第q个用户表示为uq=(UReq(Sq(sp,..,sk)),ULoc(u_latq,u_lonq)),q∈[1,M],0<p<k<K,其中,UReq(Sq(sp,..,sk))表示第q个用户对于微服务组合的请求需求,ULoc(u_latq,u_lonq)表示服务当前所处的位置信息经度u_latq和纬度u_lonq;微服务数量向量表示为Strategy(RC,MS),Strategy(RC,MS)=[rc1(x11,...,x1K),rc2(x21,...,x2K),...,rcN(xN1,...,xNK)]T其中,rci(xi1,...,xiK)表示微服务MS在资源中心i中的组合运行策略;
计算资源空闲率f1(x)的计算公式为:
其中rci(xi1,...,xiK)表示在第i个资源中心实际启动的微服务数量向量,SRes(r_com1,...,r_comK)表示微服务实际消耗的计算资源数值向量,RRes(r_comi)表示第i个资源中心的计算资源值;
存储资源的空闲率f2(x)的计算公式为:
SRes(r_sto1,...,r_stoK)表示微服务实际消耗的存储资源数值向量,RRes(r_stoi)表示第i个资源中心的存储资源值;
微服务的实际空闲率f3(x)计算公式为:
计算负载均衡率f4(x)的计算公式为:
存储负载均衡率f5(x)的计算公式为:
完备性约束g1(x),即必须保证所有的微服务至少启动一个实例,要求:
g1(x):xij≥1,1≤i≤N,1≤j≤K;
其中N是资源中心数量,K是单体服务科拆分微服务数量;
计算资源总量约束g2(x),即每个资源中心服务实例运行所占用的计算资源总量不能超过其拥有总量,要求:
g2(x):rci(xi1,...,xiK)·SRes(r_sto1,...,r_stoK)T<RRes(r_stoi),1≤i≤N;
存储资源总量约束g3(x),即每个资源中心服务实例运行所占用的存储资源总量不能超过其拥有总量,要求:
g3(x):rci(xi1,...,xiK)·SRes(r_com1,...,r_comK)T<RRes(r_comi),1≤i≤N;
服务序列总量约束g4(x),即所有已经启动的微服务实例的服务总量要大于用户对于微服务的需求总量,要求:
其中,UserReq(ui,sj)表示第i个用户是否请求了服务sj,如果是,则返回1,如果没有,则返回0。
4.根据权利要求1或3所述的微服务组合调度方法,其特征在于,所述的多目标优化算法中采用二进制编码规则,编码的长度跟每个资源中心能够启动的微服务实例最大数量来决定,种群迭代的过程包括以下步骤:
步骤101,初始化种群集合,血统集合Lineraget,然后对父代种群进行交叉变异,并将交叉变异后的血统保留下来存储到后代血统集合中Zt;
步骤102,然后将父代与子代进行合并到JointPt+1中,按照NSGA-III中对解的支配顺序进行排序,并将排序结果作为血统代号存入到当前代数的血统集合Lineraget+1中;
步骤103,选择前i个等级的支配解,直到前i+1个等级的解数量大于最大种群数量,从第i+1个等级的解中选择若干解,使得种群规模等于最大种群数量;
步骤104,首先计算理想点和极值点,然后形成参考点和参考向量,遍历那些具有最小最近解的参考向量,寻找离参考向量最近的解作为候选集放入到下一代种群中。
5.根据权利要求4所述的微服务组合调度方法,其特征在于,在步骤101中,对血统交叉过程进行计算,步骤如下:步骤10101,首先初始化结果列表Ot,血统列表Lineraget;步骤10102,然后遍历所有种群,取相邻两个体按照传统策略进行交叉;为了保证血统的列表数量不会随着进化代数的增加而出现指数***的情况,引入了截断策略,通过事先约定好种群的血统列表数量MaxLineageNum,当父代种群数量超过这一约定数量时,删除到距离自己较远MaxLineageNum/2个祖先血统值,同时也保证血统的新鲜程度;步骤10103,让后将父代血统列表中的内容进行合并,通过概率来决定是否进行变异,然后存储到后代血统类别中。
6.根据权利要求4所述的微服务组合调度方法,其特征在于,在步骤104中,根据参考点去选择最优对象时,需要根据血统来排序选择,步骤如下:首先判断参考点rp的最近距离种群集合,如果该集合大于0,则存在两种情况,第一种是rp在Qt中的最近距离种群集合为0,此时选择rp在Fl中的最近距离种群;第二种是rp在Qt中的最近距离种群集合大于0,则根据平均血统rank排序,选择历史血统更为优良的种群。
7.根据权利要求2或4所述的微服务组合调度方法,其特征在于,RealUserNum(sj,rci)即微服务sj在资源中心rci中实际的服务用户数量的计算采用基于距离优先的服务选择算法,对于每一个用户而言,首先按照位置最近原则,寻找最近可用的微服务,判断该微服务是否达到了最大服务负载,如果没有,请求使用该服务;否则,则进一步按照最近距离原则搜索最近的服务,直到该用户发现可用的微服务,其计算步骤如下:
初始化每个资源中心运行的服务数量和剩余的用户数量参数以及已经服务的用户数组;
初始化资源中心的实际微服务启动向量realMicroServicesStart、资源中心的剩余资源向量remMicSerAbility、资源中心服务列表userServiced;
遍历每一个用户,寻找最合适的资源中心服务:对于用户服务请求列表中的服务请求,初始化每个资源中心的访问标识;
根据用户位置递归寻找最近的满足条件的资源服务中心,如果寻找到了,继续寻找下一个服务;如果没有,则返回false;
当所有用户的所有服务都在资源中心找到服务提供者以后,返回true。
8.根据权利要求7所述的微服务组合调度方法,其特征在于,根据用户位置递归寻找最近的满足条件的资源服务中心的步骤包括,首先根据用户的位置寻找没有访问过的最近的资源中心,返回资源中心的序号neLoCenter;如果返回-1,则表示所有资源中心都已经访问过了,没有解,返回false;然后判断该资源中心是否存在与用户需求匹配的可用服务;如果该服务数量大于等于1,将该用户放入到服务用户列表,将该资源中心的可用服务数量列表更新;否则将该资源中心的访问标识改为1,递归寻找该用户最近的服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910957452.1A CN111324429B (zh) | 2019-10-09 | 2019-10-09 | 一种基于多代血统参考距离的微服务组合调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910957452.1A CN111324429B (zh) | 2019-10-09 | 2019-10-09 | 一种基于多代血统参考距离的微服务组合调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111324429A true CN111324429A (zh) | 2020-06-23 |
CN111324429B CN111324429B (zh) | 2023-03-24 |
Family
ID=71163150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910957452.1A Active CN111324429B (zh) | 2019-10-09 | 2019-10-09 | 一种基于多代血统参考距离的微服务组合调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324429B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817725A (zh) * | 2021-02-06 | 2021-05-18 | 成都飞机工业(集团)有限责任公司 | 一种基于高效全局优化算法的微服务划分及优化方法 |
CN112969144A (zh) * | 2021-02-02 | 2021-06-15 | 武汉大学 | 一种面向移动边缘计算的微服务预部署方法及*** |
CN115987998A (zh) * | 2022-11-24 | 2023-04-18 | 中国人民解放军国防科技大学 | 微服务***领袖者选举方法、***、存储介质和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070005522A1 (en) * | 2005-06-06 | 2007-01-04 | Wren William E | Resource assignment optimization using direct encoding and genetic algorithms |
CN104842564A (zh) * | 2015-05-12 | 2015-08-19 | 南京师范大学 | 一种基于nsga-ii的三维打印多任务优化调度方法 |
CN108334986A (zh) * | 2018-02-06 | 2018-07-27 | 东华大学 | 一种基于可塑性机制的重调度方法的多智能体多目标优化方法 |
CN109190857A (zh) * | 2018-10-30 | 2019-01-11 | 武汉大学 | 一种基于多目标资源受限项目调度模型的优化算法 |
CN109361725A (zh) * | 2018-08-14 | 2019-02-19 | 西安电子科技大学 | 基于多目标遗传算法的车联网云***资源分配方法 |
CN109522104A (zh) * | 2018-10-15 | 2019-03-26 | 华南理工大学 | 利用差分进化算法优化Iaas两目标任务调度的方法 |
-
2019
- 2019-10-09 CN CN201910957452.1A patent/CN111324429B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070005522A1 (en) * | 2005-06-06 | 2007-01-04 | Wren William E | Resource assignment optimization using direct encoding and genetic algorithms |
CN104842564A (zh) * | 2015-05-12 | 2015-08-19 | 南京师范大学 | 一种基于nsga-ii的三维打印多任务优化调度方法 |
CN108334986A (zh) * | 2018-02-06 | 2018-07-27 | 东华大学 | 一种基于可塑性机制的重调度方法的多智能体多目标优化方法 |
CN109361725A (zh) * | 2018-08-14 | 2019-02-19 | 西安电子科技大学 | 基于多目标遗传算法的车联网云***资源分配方法 |
CN109522104A (zh) * | 2018-10-15 | 2019-03-26 | 华南理工大学 | 利用差分进化算法优化Iaas两目标任务调度的方法 |
CN109190857A (zh) * | 2018-10-30 | 2019-01-11 | 武汉大学 | 一种基于多目标资源受限项目调度模型的优化算法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112969144A (zh) * | 2021-02-02 | 2021-06-15 | 武汉大学 | 一种面向移动边缘计算的微服务预部署方法及*** |
CN112969144B (zh) * | 2021-02-02 | 2022-04-26 | 武汉大学 | 一种面向移动边缘计算的微服务预部署方法及*** |
CN112817725A (zh) * | 2021-02-06 | 2021-05-18 | 成都飞机工业(集团)有限责任公司 | 一种基于高效全局优化算法的微服务划分及优化方法 |
CN112817725B (zh) * | 2021-02-06 | 2023-08-11 | 成都飞机工业(集团)有限责任公司 | 一种基于高效全局优化算法的微服务划分及优化方法 |
CN115987998A (zh) * | 2022-11-24 | 2023-04-18 | 中国人民解放军国防科技大学 | 微服务***领袖者选举方法、***、存储介质和电子设备 |
CN115987998B (zh) * | 2022-11-24 | 2024-05-03 | 中国人民解放军国防科技大学 | 微服务***领袖者选举方法、***、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111324429B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111027736B (zh) | 多目标优化下的微服务组合部署与调度方法 | |
Deng et al. | Optimal application deployment in resource constrained distributed edges | |
Liu et al. | A task scheduling algorithm based on classification mining in fog computing environment | |
US8302100B2 (en) | System for balance distribution of requests across multiple servers using dynamic metrics | |
CN111324429B (zh) | 一种基于多代血统参考距离的微服务组合调度方法 | |
US7856572B2 (en) | Information processing device, program thereof, modular type system operation management system, and component selection method | |
CN104995870A (zh) | 多目标服务器布局确定 | |
CN109104464B (zh) | 一种边缘计算环境下面向协同存储的分布式数据更新方法 | |
CN111538570B (zh) | 一种面向节能和QoS保障的VNF部署方法及装置 | |
Kang et al. | Virtual network function allocation to maximize continuous available time of service function chains with availability schedule | |
CN111258980A (zh) | 一种云存储***中基于组合预测的动态文件放置方法 | |
Li et al. | Resource scheduling based on improved spectral clustering algorithm in edge computing | |
Ma et al. | Multi-objective microservice deployment optimization via a knowledge-driven evolutionary algorithm | |
CN109873772A (zh) | 基于稳定匹配的流调度方法、装置、计算机设备及存储介质 | |
CN111044062B (zh) | 路径规划、推荐方法和装置 | |
CN105282045B (zh) | 一种基于一致性哈希算法的分布式计算和储存方法 | |
Sun et al. | SORD: A new strategy of online replica deduplication in Cloud-P2P | |
Vahidi et al. | Optimization of resource allocation in cloud computing by grasshopper optimization algorithm | |
Beigrezaei et al. | Minimizing data access latency in data grids by neighborhood‐based data replication and job scheduling | |
Du et al. | An efficient indexing and query mechanism for ubiquitous IoT services | |
WO2015055502A2 (en) | Method of partitioning storage in a distributed data storage system and corresponding device | |
Asheralieva et al. | Ultra-reliable low-latency slicing in space-air-ground multi-access edge computing networks for next-generation internet of things and mobile applications | |
Wen et al. | Load balancing consideration of both transmission and process responding time for multi-task assignment | |
CN107360210B (zh) | 云计算数据中心兼顾能耗与访问延迟的虚拟机分配方法 | |
Ghafoor et al. | An efficient model of dynamic task scheduling for distributed systems |
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 |