CN108664378B - 一种微服务最短执行时间的优化方法 - Google Patents
一种微服务最短执行时间的优化方法 Download PDFInfo
- Publication number
- CN108664378B CN108664378B CN201810444913.0A CN201810444913A CN108664378B CN 108664378 B CN108664378 B CN 108664378B CN 201810444913 A CN201810444913 A CN 201810444913A CN 108664378 B CN108664378 B CN 108664378B
- Authority
- CN
- China
- Prior art keywords
- service
- time
- micro
- request
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000013507 mapping Methods 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims abstract description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 9
- 230000003068 static effect Effects 0.000 claims description 7
- 239000013598 vector Substances 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 3
- 238000004904 shortening Methods 0.000 claims description 3
- 241000208140 Acer Species 0.000 claims description 2
- 230000002349 favourable effect Effects 0.000 abstract 1
- 238000004088 simulation Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种微服务最短执行时间的优化方法,其步骤为:1、利用缓存时间计算方法,计算用户请求服务中微服务请求缓存时间;2、利用单个服务业务逻辑的时间公式,计算每个容器中微服务在每个时间内,处理单个服务业务逻辑的时间;3、利用数据库中数据的事物处理时间公式,计算每一个用户在每个时间内访问数据库中数据的事物处理时间;4、计算用户请求服务中微服务的总预测估值时间;5、判断用户请求服务中微服务的总预测估值时间是否满足应用服务的执行时间条件,若是,则执行步骤(8),否则,执行步骤(6);6、映射用户服务中的微服务;7、映射无回路有向图关键路径上不存在的微服务;8、调整用户的预算约束值;9、得到执行微服务最短时间;本发明通过单个微服务性能建模,预测微服务的处理时间,有利于完整的预测系统服务响应时间,降低系统的运行成本,缩短微服务的执行时间,提高用户服务质量。
Description
技术领域
本发明属于计算机技术领域,更进一步涉及微服务调度技术领域中的一种微服务最短执行时间的优化方法。本发明可用于优化用户请求服务中微服务系统功能的执行时间,也可用于在用户预算约束范围内降低用户部署微服务系统的成本。
背景技术
目前,微服务架构(Microservice)具有良好模块扩展性好,能很好满足互联网应用用户量难预测,资源动态分配的需求。但是从微服务的运行和维护的视角来看,应对典型的互联网突变负载(Flash-crowds)场景,保障应用服务质量(QualityofService),缩短用户从请求发起到请求响应的时间依旧面临挑战。
马翠在其撰写的硕士学位论文“基于SOA的系统性能建模研究”(南京邮电大学2012年3月,分类号:TP393.09)中公开了一种面向服务的体系架构系统性能的建模方法。该方法首先分析了影响面向服务的体系结构系统性能的静态因素,例如运行平台,网络因素和服务因素,以及影响系统性能的动态因素—用户负载。然后在这些影响因素中选择适合评估服务性能的分析方法。最后对服务进行原子服务和组合服务分类来评估Web服务的性能,以服务的响应时间作为评价系统性能的指标。但是该方法仍然存在的不足之处是,微服务调度发生在云环境中,该方法未对公共云服务中的应用调度模型进行充分考虑,而是只考虑影响服务系统性能的静态因素和动态因素,并未将生产环境下单个服务的部署环境性能以及系统的运行成本等因素考虑进去,无法适合于第三代微服务架构。
中国科学院软件研究所在其申请的专利文献“一种面向微服务架构的容器级弹性资源供给系统及方法”(专利申请号:CN201510974291.9公开号:CN105631196A申请日期:2015.12.22)中公开了一种面向微服务架构的容器级弹性资源供给方法。该方法通过周期性采集每个容器的CPU、内存、磁盘I/O、网络I/O系统资源使用参数以及每秒用户请求数,利用Jackson开环网络中的性能方程及流量方程进行建模,构建微服务架构下“负载-响应时间”的关联关系,再利用卡尔曼滤波器和Ts模糊函数对比响应时间的预测值与观测值,并根据得出的响应时间预测值是否违背了应用的服务质量为依据,对容器进行资源管理,从而保证用户应用的服务质量。该方法存在的不足是,该方法仅从容器层收集数据对系统性能进行建模来评估系统服务的响应时间,从而导致响应时间预测值存在偏差,没有基于特征进行微服务性能预测,用户服务质量难以保障的情况。
发明内容
本发明的目的是针对上述现有技术的不足,提出了一种微服务最短执行时间的优化方法。
实现本发明目的的思路是,将每个微服务封装到容器中,将每个容器中的微服务映射到虚拟机VM中,通过贪婪递归关键路径算法,映射用户服务中的微服务,利用回归模型预测微服务的执行时间,通过调整用户的预算约束值,得到微服务的最短执行时间。
本发明实现上述目的的具体步骤如下:
(1)利用缓存时间计算方法,计算用户请求服务中微服务请求缓存时间;
(2)利用单个服务业务逻辑的时间公式,计算每个容器中微服务在每个时间内,处理单个服务业务逻辑的时间;
(3)利用数据库中数据的事物处理时间公式,使用在线事物处理系统OLTP,计算每一个用户在每个时间内访问数据库中数据的事物处理时间;
(4)计算用户请求服务中微服务的总预测估值时间:
将用户请求服务中微服务请求缓存时间、容器处理单个服务业务逻辑的时间、用户访问数据库中数据的事物处理时间的三个时间相加,得到用户请求服务中微服务的总预测估值时间;
(5)判断用户请求服务中微服务的总预测估值时间是否满足应用服务的执行时间条件,若是,则执行步骤(8),否则,执行步骤(6);
(6)映射用户服务中的微服务:
(6a)利用贪婪递归关键路径算法,计算用户应用服务中每个微服务的初始执行时间;
(6b)利用动态编程DP的方法,将每个微服务初始执行时间映射到无回路有向图的关键路径上,缩短服务的执行时间;
(6c)将无回路有向图关键路径上存在的微服务映射到虚拟机VM上;
(7)映射无回路有向图关键路径上不存在的微服务:
(7a)使用优先级的贪心算法,寻找执行微服务时间最短的虚拟机VM;
(7b)将无回路有向图关键路径上不存在的微服务,映射到该执行微服务时间最短的虚拟机VM上后执行步骤(4);
(8)调整用户的预算约束值:
(8a)计算每个微服务请求的时间差与部署该微服务所需成本差的比例;
(8b)在用户的预算约束值范围内使用优先级的贪心算法,寻找执行微服务时间最短的虚拟机VM,将每个微服务请求的时间差与部署该微服务所需成本差的最小比例所对应的微服务,映射到虚拟机VM中,得到调整后的用户预算约束值。
(9)得到执行微服务最短时间。
本发明与现有的技术相比具有以下优点:
第一,本发明通过回归模型中的回归曲线,采用计算用户请求服务中微服务的总预测估值时间的方法,将用户访问微服务系统的响应时间准确的进行预测,克服了现有技术仅从容器层收集数据对系统性能进行建模来评估系统服务的响应时间,从而导致响应时间预测值存在偏差,出现用户服务质量难以保障的问题,使得本发明具有完整的预测系统服务响应时间,提高了用户服务质量的可靠性保障;
第二,本发明通过贪婪递归关键路径算法,调整用户的预算约束值,将每个微服务初始执行时间映射到无回路有向图的关键路径上,克服了现有技术并未将生产环境下单个服务的部署环境性能以及系统的运行成本因素考虑进去,使得本发明满足用户部署服务的预算约束,降低系统的运行成本;
第三,本发明通过对微服务的请求缓存性能建模,业务处理性能建模,事务处理性能建模三个方面对微服务性能进行建模,预测微服务的处理时间。克服了现有技术只考虑影响服务系统性能的静态因素和动态因素,预测结果存在偏差,使得本发明具有准确的预测微服务系统执行时间,提供微服务系统的性能。
附图说明
图1是本发明的流程图;
图2是本发明用户在请求服务中微服务系统功能的执行时间流程图;
图3是本发明所提出的贪婪递归路径关键路径算法GRCP的实验结果分析图。
具体实施方式
下面结合附图对本发明做详细描述。
参照附图1对本发明的实现步骤做详细描述。
步骤1,利用缓存时间计算方法,计算用户请求服务中微服务请求缓存时间。
所述缓存时间计算方法的步骤如下:
第1步,按照下式,建立每个用户客户端,自每次开始发送业务请求到每个容器中微服务接受请求结果时间内,硬件配置中的静态配置和动态使用信息文件:
其中,表示第w个用户客户端自第i次开始发送业务请求到第m容器中微服务接收请求结果t时间内的硬件配置文件,表示第w个用户客户端自第i次开始发送业务请求到第m容器中,微服务接收请求结果t时间内的静态特征,表示第w个用户客户端自第i次开始发送业务请求到第m容器中微服务接收结果请求t时间内的动态特征。
第2步,按照下式,计算每个用户每次开始发送业务请求到每个容器中微服务接受请求结果每个时间内,每个容器硬件配置文件的处理速度:
其中,表示第w个用户第i次开始发送业务请求到第m个容器中微服务接受请求结果t时间内,第m个容器硬件配置文件的处理速度,θh表示第w用户客户端自第i次开始发送业务请求到第m个容器中微服务接收请求结果t时间内,第m个容器硬件配置文件中的回归评估系数向量,υh表示第w个用户客户端自第i次开始发送业务请求到第m个容器中微服务接收请求结果t时间内,第m个容器硬件配置文件中的回归常数集合。
第3步,按照下式,计算每个用户每次开始发送业务请求到每个容器中微服务接受请求结果时间内,微服务的请求缓存时间长度:
其中,表示第w个用户客户端自第i次开始发送业务请求到第m个容器中微服务接收请求结果t时间内微服务的请求缓存时间长度,q(t)表示第w个用户客户端,自第i次开始发送业务请求到第m个容器中微服务接收请求结果t时间内,已在微服务队列中排队的请求数量,δ表示第w个用户客户端,自第i次开始发送业务请求到第m个容器中微服务接收请求结果t时间内,微服务中的回归常数。
步骤2,利用单个服务业务逻辑的时间公式,计算每个容器中微服务在每个时间内,处理单个服务业务逻辑的时间。
单个服务业务逻辑的时间长度公式如下:
其中,表示第m个容器中微服务在t时间内,处理单个服务业务逻辑的时间长度,θ1表示微服务中回归评估的系数向量,表示与微服务中输入参数成正比的事物处理复杂度,x表示执行微服务并发请求时的线程,Ω表示由微服务中的回归模型预测的回归曲线的参数;
回归模型预测的回归曲线如下:
y=β0+β1×x+εk
其中,y表示回归模型预测的回归曲线,β0表示预测的参数,β1表示回归模型中的回归系数,x表示回归模型中输入的影响微服务性能特征值,εk表示回归模型中k个相互独立且服从正态分布N(0,σ2)的随机变量。
步骤3,利用数据库中数据的事物处理时间公式,使用在线事物处理系统OLTP,计算每一个用户在每个时间内访问数据库中数据的事物处理时间。
数据库中数据的事物处理时间公式如下:
其中,表示第w个用户访问数据库中数据,在t时间内处理事务的时间,φ1表示数据库回归评估中,查询数据事务所产生开销的系数向量,N(t)表示t时间内数据库中的数据总数,y表示数据库中的一个Maple语言文件,表示数据库中的回归模型预测的回归曲线的参数。
回归模型预测的回归曲线如下:
y=β0+β1×x+εk
其中,y表示回归模型预测的回归曲线,β0表示预测的参数,β1表示回归模型中的回归系数,x表示回归模型中输入的影响微服务性能特征值,εk表示回归模型中k个相互独立且服从正态分布N(0,σ2)的随机变量。
步骤4,计算用户请求服务中微服务的总预测估值时间。
将用户请求服务中微服务请求缓存时间、容器处理单个服务业务逻辑的时间、用户访问数据库中数据的事物处理时间的三个时间相加,得到用户请求服务中微服务的总预测估值时间。
参照附图2,对步骤1中用户请求服务中微服务请求缓存时间、步骤2中每个容器中微服务在每个时间内,处理单个服务业务逻辑的时间、步骤3中每一个用户在每个时间内访问数据库中数据的事物处理时间、步骤4中的用户请求服务中微服务的总预测估值时间,四个时间做进一步的描述。
按照附图2中的箭头指向,用户开始请求服务中微服务系统的功能,队列表示执行用户请求先后顺序,业务处理表示处理微服务业务的线程,事物处理表示处理用户访问数据库中事物的线程,数据库表示存储用户的数据中心,t2-t1表示用户请求服务中微服务请求缓存时间为,t3-t2表示每个容器中微服务在每个时间内,处理单个服务业务逻辑的时间,t4-t3表示每一个用户在每个时间内访问数据库中数据的事物处理时间,t4-t1表示用户请求服务中微服务的总预测估值时间。
步骤5,判断用户请求服务中微服务的总预测估值时间是否满足应用服务的执行时间条件,若是,则执行步骤(8),否则,执行步骤(6)。
应用服务的执行时间条件是指用户在请求应用服务中的微服务功能时,微服务系统返回请求结果给用户的请求反应时间。
步骤6,映射用户服务中的微服务:
利用贪婪递归关键路径算法,计算用户应用服务中每个微服务的初始执行时间。
利用动态编程DP的方法,将每个微服务初始执行时间映射到无回路有向图的关键路径上,缩短服务的执行时间。
将无回路有向图关键路径上存在的微服务映射到虚拟机VM上。
步骤7,映射无回路有向图关键路径上不存在的微服务:
使用优先级的贪心算法,寻找执行微服务时间最短的虚拟机VM。
所述优先级贪心算法步骤如下:
第1步,将无回路有向图关键路径上不存在的微服务随机部署到虚拟机VM中,计算请求每个微服务功能的执行时间。
第2步,将无回路有向图关键路径上不存在的微服务以递归的方式分别映射到不同的虚拟机VM中,计算请求虚拟机中每个微服务的执行时间
第3步,记录执行微服务时间最短的虚拟机VM,将该微服务部署到该虚拟机中。
将无回路有向图关键路径上不存在的微服务,映射到该执行微服务时间最短的虚拟机VM上后执行步骤(4)。
步骤8,调整用户的预算约束值。
计算每个微服务请求的时间差与部署该微服务所需成本差的比例。
在用户的预算约束值范围内使用优先级的贪心算法,寻找执行微服务时间最短的虚拟机VM,将每个微服务请求的时间差与部署该微服务所需成本差的最小比例所对应的微服务,映射到虚拟机VM中,得到调整后的用户预算约束值。
所述优先级贪心算法步骤如下:
第1步,将无回路有向图关键路径上不存在的微服务随机部署到虚拟机VM中,计算请求每个微服务功能的执行时间。
第2步,将无回路有向图关键路径上不存在的微服务以递归的方式分别映射到不同的虚拟机VM中,计算请求虚拟机中每个微服务的执行时间。
第3步,记录执行微服务时间最短的虚拟机VM,将该微服务部署到该虚拟机中。
步骤9,完成执行微服务最短时间的优化。
下面结合仿真实验对本发明的效果做进一步的描述。
1,仿真条件:
本发明的仿真实验使用微软Acme Air作为微服务系统的主体,采用Java 1.8作为运行时语言,运行环境为Docker 1.9.1,采用MongoDB 3.2.0数据库,并使用软件ApacheJMeter 2.13作为工作负载驱动程序,微服务之间使用桥配置模式进行连接,每个部署微服务容器的网络端口连接到虚拟以太网桥,通过iptables将其连接到主机的物理网络。
2,仿真内容:
本发明的仿真实验分别在运行配置为2核,3.30GHz的CPU、8GB内存的windows7系统的测试机器上部署三个业务微服务,在测试机器上创建虚拟机VM实例时,采用软件trend-prof工具计算分别计算出微服务运行过程中的并发请求服务开销,业务处理开销,事务处理开销,给测试机器设置不同的输入数据大小和容器硬件属性,利用回归模型获得微服务的回归曲线,测试微服务的实际处理时间和预测处理时间,利用本发明提出的贪婪递归关键路径算法和现有技术动态编程DP的方法,将每个微服务初始执行时间映射到无回路有向图的关键路径上,利用优先级贪心算法,将无回路有向图关键路径上不存在的微服务以递归的方式分别映射到不同的虚拟机VM中,计算请求虚拟机中每个微服务的执行时间,调整用户的预算约束,获得用户的最佳约束和最短的服务执行时间。
3,仿真结果分析:
由附图3可见,本发明提出的一种微服务最短执行时间的优化方法,在用户的预算约束范围内,利用贪婪递归关键路径算法GRCP针对1000个不同的问题实例所生成的最优方案的数量,即运行的1000个问题实例中生成的最小端到端延迟结果与穷举搜索得到的最优结果的数量,从附图3中可以得出无论在哪个规模的问题下,GRCP算法得到的最优结果的数量均比Greedy A*和BHEFT算法得到的多,即GRCP算法比传统意义上的其他两种算法更可能达到最优。由此可见,本发明的方法与现有技术相比,能够显著的降低用户部署服务成本,优化服务执行时间。
Claims (7)
1.一种微服务最短执行时间的优化方法,将每个微服务封装到容器中,将每个容器中的微服务映射到虚拟机VM中,其特征在于,利用回归模型预测微服务的执行时间,通过贪婪递归关键路径算法,映射用户服务中的微服务,通过调整用户的预算约束值,得到微服务的最短执行时间;该方法的具体步骤包括如下:
(1)利用缓存时间计算方法,计算用户请求服务中微服务请求缓存时间;
(2)利用单个服务业务逻辑的时间公式,计算每个容器中微服务在每个时间内,处理单个服务业务逻辑的时间;
(3)利用数据库中数据的事物处理时间公式,计算每一个用户在每个时间内访问数据库中数据的事物处理时间;
(4)计算用户请求服务中微服务的总预测估值时间:
将用户请求服务中微服务请求缓存时间、容器处理单个服务业务逻辑的时间、用户访问数据库中数据的事物处理时间的三个时间相加,得到用户请求服务中微服务的总预测估值时间;
(5)判断用户请求服务中微服务的总预测估值时间是否满足应用服务的执行时间条件,若是,则执行步骤(8),否则,执行步骤(6);
(6)映射用户服务中的微服务:
(6a)利用贪婪递归关键路径算法,计算用户应用服务中每个微服务的初始执行时间;
(6b)利用动态编程DP的方法,将每个微服务初始执行时间映射到无回路有向图的关键路径上,缩短服务的执行时间;
(6c)将无回路有向图关键路径上存在的微服务映射到虚拟机VM上;
(7)映射无回路有向图关键路径上不存在的微服务:
(7a)使用优先级的贪心算法,寻找执行微服务时间最短的虚拟机VM;
(7b)将无回路有向图关键路径上不存在的微服务,映射到执行微服务时间最短的虚拟机VM上后执行步骤(4);
(8)调整用户的预算约束值:
(8a)计算每个微服务请求的时间差与部署其微服务所需成本差的比例;
(8b)在用户的预算约束值范围内使用优先级的贪心算法,寻找执行微服务时间最短的虚拟机VM,将每个微服务请求的时间差与部署该微服务所需成本差的最小比例所对应的微服务,映射到虚拟机VM中,得到调整后的用户预算约束值;
(9)得到执行微服务最短时间。
2.根据权利要求1所述的一种微服务最短执行时间的优化方法,其特征在于,步骤(1)中所述缓存时间计算方法的步骤如下:
第一步,按照下式,建立每个用户客户端,自每次开始发送业务请求到每个容器中微服务接受请求结果时间内,硬件配置中的静态配置和动态使用信息文件:
其中,表示第w个用户客户端自第i次开始发送业务请求到第m容器中微服务接收请求结果t时间内的硬件配置文件,表示第w个用户客户端自第i次开始发送业务请求到第m容器中,微服务接收请求结果t时间内的静态特征,表示第w个用户客户端自第i次开始发送业务请求到第m容器中微服务接收结果请求t时间内的动态特征;
第二步,按照下式,计算每个用户每次开始发送业务请求到每个容器中微服务接受请求结果每个时间内,每个容器硬件配置文件的处理速度:
其中,表示第w个用户第i次开始发送业务请求到第m个容器中微服务接受请求结果t时间内,第m个容器硬件配置文件的处理速度,θh表示第w用户客户端自第i次开始发送业务请求到第m个容器中微服务接收请求结果t时间内,第m个容器硬件配置文件中的回归评估系数向量,υh表示第w个用户客户端自第i次开始发送业务请求到第m个容器中微服务接收请求结果t时间内,第m个容器硬件配置文件中的回归常数集合;
第三步,按照下式,计算每个用户每次开始发送业务请求到每个容器中微服务接受请求结果时间内,微服务的请求缓存时间长度:
5.根据权利要求3或4中所述的一种微服务最短执行时间的优化方法,其特征在于,所述回归模型预测的回归曲线如下:
y=β0+β1×x+εk
其中,y表示回归模型预测的回归曲线,β0表示预测的参数,β1表示回归模型中的回归系数,x表示回归模型中输入的影响微服务性能特征值,εk表示回归模型中k个相互独立且服从正态分布N(0,σ2)的随机变量。
6.根据权利要求1所述的一种微服务最短执行时间的优化方法,其特征在于,步骤(5)中所述的应用服务的执行时间条件是指用户在请求应用服务中的微服务功能时,微服务系统返回请求结果给用户的请求反应时间。
7.根据权利要求1所述的一种微服务最短执行时间的优化方法,其特征在于,步骤(7a)、步骤(8b)中所述优先级贪心算法步骤如下:
第一步,将无回路有向图关键路径上不存在的微服务随机部署到虚拟机VM中,计算请求每个微服务功能的执行时间;
第二步,将无回路有向图关键路径上不存在的微服务以递归的方式分别映射到不同的虚拟机VM中,计算请求虚拟机中每个微服务的执行时间;
第三步,记录执行微服务时间最短的虚拟机VM,将该微服务部署到该虚拟机中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810444913.0A CN108664378B (zh) | 2018-05-10 | 2018-05-10 | 一种微服务最短执行时间的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810444913.0A CN108664378B (zh) | 2018-05-10 | 2018-05-10 | 一种微服务最短执行时间的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108664378A CN108664378A (zh) | 2018-10-16 |
CN108664378B true CN108664378B (zh) | 2020-04-14 |
Family
ID=63779144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810444913.0A Active CN108664378B (zh) | 2018-05-10 | 2018-05-10 | 一种微服务最短执行时间的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108664378B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992416B (zh) * | 2019-03-20 | 2022-03-18 | 跬云(上海)信息科技有限公司 | 基于预计算olap模型的多租户服务方法及装置 |
CN111949454B (zh) * | 2019-05-14 | 2022-09-16 | 华为技术有限公司 | 一种基于微服务组件的数据库系统及相关方法 |
CN110245797B (zh) * | 2019-06-18 | 2021-07-20 | 哈尔滨汇拓投资中心(有限合伙) | 基于Omid事务分析系统的联机分析处理的方法 |
CN112241350B (zh) * | 2019-07-16 | 2022-11-01 | 中国移动通信集团浙江有限公司 | 微服务评估方法、装置、计算设备及微服务检测系统 |
US11669246B2 (en) * | 2019-08-19 | 2023-06-06 | International Business Machines Corporation | Storage allocation enhancement of microservices |
US10972548B2 (en) | 2019-09-09 | 2021-04-06 | International Business Machines Corporation | Distributed system deployment |
CN110609782B (zh) * | 2019-09-19 | 2022-07-12 | 四川长虹电器股份有限公司 | 基于大数据的微服务优化系统及方法 |
CN110855578B (zh) * | 2019-11-06 | 2022-07-26 | 西安电子科技大学 | 基于相似度的云上微服务资源调度优化方法 |
CN112286675A (zh) * | 2019-12-29 | 2021-01-29 | 中建材信息技术股份有限公司 | 一种Docker虚拟服务网络负载均衡方法 |
CN111083743A (zh) * | 2019-12-31 | 2020-04-28 | 上海无线通信研究中心 | 一种基于5G接入网的分布式QoS预测方法、系统及装置 |
CN111861012A (zh) * | 2020-07-23 | 2020-10-30 | 西安奥卡云数据科技有限公司 | 一种测试任务执行时间预测方法及最优执行节点选择方法 |
CN112272231B (zh) * | 2020-10-23 | 2022-05-13 | 杭州卷积云科技有限公司 | 一种面向智能制造场景的边云协同服务编排方法 |
WO2022178730A1 (zh) * | 2021-02-24 | 2022-09-01 | 西门子股份公司 | 微服务资源分配方法、装置和计算机可读介质 |
CN113434218B (zh) * | 2021-07-06 | 2023-08-15 | 北京百度网讯科技有限公司 | 微服务配置方法、装置、电子设备和介质 |
CN113705859B (zh) * | 2021-08-05 | 2024-04-19 | 深圳须弥云图空间科技有限公司 | 偏差原因影响值的预测方法、装置、电子设备及存储介质 |
CN115941504B (zh) * | 2022-12-08 | 2024-03-22 | 哈尔滨工业大学 | 一种面向微服务系统运行及治理的建模与仿真方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631196A (zh) * | 2015-12-22 | 2016-06-01 | 中国科学院软件研究所 | 一种面向微服务架构的容器级弹性资源供给系统及方法 |
US9916636B2 (en) * | 2016-04-08 | 2018-03-13 | International Business Machines Corporation | Dynamically provisioning and scaling graphic processing units for data analytic workloads in a hardware cloud |
-
2018
- 2018-05-10 CN CN201810444913.0A patent/CN108664378B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631196A (zh) * | 2015-12-22 | 2016-06-01 | 中国科学院软件研究所 | 一种面向微服务架构的容器级弹性资源供给系统及方法 |
US9916636B2 (en) * | 2016-04-08 | 2018-03-13 | International Business Machines Corporation | Dynamically provisioning and scaling graphic processing units for data analytic workloads in a hardware cloud |
Non-Patent Citations (3)
Title |
---|
《 面向云计算的小粒度应用容器模型研究与应用》;白伟华;《华南理工大学》;20171031;第1-197页 * |
《On Performance Modeling and Prediction in Support of》;Qishi Wu, Vivek V. Datla;《2011 IEEE World Congress on Services》;20111231;第161页-168页 * |
《一种资源与服务性能关系的建模方法》;张斌,王林,赵秀涛,张长胜;《东北大学学报(自然科学版)》;20150630;第36卷(第6期);第773-776页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108664378A (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108664378B (zh) | 一种微服务最短执行时间的优化方法 | |
Imdoukh et al. | Machine learning-based auto-scaling for containerized applications | |
Bhattacharjee et al. | Barista: Efficient and scalable serverless serving system for deep learning prediction services | |
CN108089921B (zh) | 用于云端大数据运算架构的服务器及其运算资源最佳化方法 | |
US11614978B2 (en) | Deep reinforcement learning for workflow optimization using provenance-based simulation | |
Abad et al. | Package-aware scheduling of faas functions | |
US7444272B2 (en) | Self-modulation in a model-based automated management framework | |
CN109634744B (zh) | 一种基于云平台资源分配的精确匹配方法,设备及存储介质 | |
US8494806B2 (en) | Method, program and apparatus for optimizing configuration parameter set of system | |
CN110262897B (zh) | 一种基于负载预测的Hadoop计算任务初始分配方法 | |
Mekala et al. | A DRL-based service offloading approach using DAG for edge computational orchestration | |
US10862765B2 (en) | Allocation of shared computing resources using a classifier chain | |
Niehorster et al. | Enforcing SLAs in scientific clouds | |
Beard et al. | Analysis of a simple approach to modeling performance for streaming data applications | |
Uma et al. | Optimized intellectual resource scheduling using deep reinforcement Q‐learning in cloud computing | |
Diao et al. | Comparative studies of load balancing with control and optimization techniques | |
Tsagkaropoulos et al. | Severity: a QoS-aware approach to cloud application elasticity | |
Ludwig et al. | Optimizing multi‐tier application performance with interference and affinity‐aware placement algorithms | |
Marchese et al. | Sophos: A Framework for Application Orchestration in the Cloud-to-Edge Continuum. | |
Medishetti et al. | An Improved Dingo Optimization for Resource Aware Scheduling in Cloud Fog Computing Environment | |
Chraibi et al. | A novel dynamic multi-objective task scheduling optimization based on Dueling DQN and PER | |
CN112148483A (zh) | 一种容器迁移方法及相关装置 | |
Sheikhi et al. | Using a recurrent artificial neural network for dynamic self-adaptation of cluster-based web-server systems | |
Ogden et al. | Layercake: Efficient Inference Serving with Cloud and Mobile Resources | |
Tahmasebi-Pouya et al. | A Blind Load‐Balancing Algorithm (BLBA) for Distributing Tasks in Fog Nodes |
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 |