分布式环境下保障应用服务质量的方法及系统的制作方法

文档序号:7823915阅读:188来源:国知局
分布式环境下保障应用服务质量的方法及系统的制作方法
【专利摘要】本发明提供一种分布式环境下定位瓶颈节点和保障应用服务质量的方法及系统。定位瓶颈节点的方法包括计算服务的关键路径上的每个节点在其处理阶段的延迟波动值;并且根据延迟波动值确定瓶颈节点。其中,服务的关键路径是根据一段时间内处理对该服务的请求的关键路径得到的;延迟波动值是根据一段时间内节点在其处理阶段处理请求的时间得到的。保障应用服务质量的方法包括对于存在长尾延迟的服务定位瓶颈节点;以及,检查瓶颈节点的延迟波动值是否超过预定阈值,根据检查结果执行故障诊断或者对该瓶颈节点的服务请求执行请求调度或加速。本发明降低了请求响应时间波动并且减少了长尾延迟,此外还减少了逐级逐个对节点进行优化的开销。
【专利说明】分布式环境下保障应用服务质量的方法及系统

【技术领域】
[0001] 本发明设及分布式计算【技术领域】,更具体地,设及一种分布式环境下定位瓶颈节 点和保障应用服务质量的方法及系统。

【背景技术】
[000引 目前,诸如电子邮件、捜索、网络购物、社交网络、在线视频、网络地图等的互联网 应用已经成为人们生活的一部分。该些应用往往要为上亿用户服务,意味着互联网应用已 变成如电力一样的社会公共服务,而支撑拥有海量用户互联网应用的各种分布式计算环境 也成为如同发电厂一样的社会核屯、基础设施。
[0003] 在分布式环境下,一般地,互联网应用会被划分由许多服务节点(或称服务模块) 进行分步处理,并且该些服务模块会被部署到多个服务器上。尽管资源共享方式能够显著 提高资源利用率,但同时也会带来应用之间相互干扰的问题,从而会影响到一些应用的服 务质量(QoS)。例如,在分布式环境下,请求响应时间的长尾延迟效应会被进一步放大。举 例来说明长尾延迟效应;假设一台机器处理请求的平均响应时间为1ms,只有1 %的请求处 理时间会大于Is,但如果一个请求需要由100个该样的节点一起处理,那么就可能会出现 63%的请求响应时间大于Is。对于部署在分布式环境下的应用服务(简称服务)来说, 服务之间的禪合模式包括划分/聚合(Partition/Aggregate)和依赖/串行值巧endent/ Sequential)等。对于前者来说,请求的响应时间取决于所访问的最慢的服务器,该种模式 面临严重的长尾延迟效应;对于后者来说,由于服务节点都在关键路径上,每个节点的处理 延迟会累加,从而该种模式会放大长尾延迟效应。
[0004] 现有的一种保障应用服务质量的方法是将请求响应时间约束在每一个处理阶段 进行动态传播,同时根据每个阶段的处理消耗更新传播的响应时间约束,使用该约束对请 求的优先级进行调整。然而,该种方法会在请求传递路径上的每个节点都进行优先级动态 调整,并且只适用于依赖/串行模式,当应用到划分/聚合模式时,会有比较大的开销。


【发明内容】

[0005] 为解决上述问题,根据本发明的一个实施例,提供一种分布式环境下定位瓶颈节 点的方法。其中,节点是在分布式环境下划分应用服务得到的在一个或多个处理阶段处理 请求的服务模块,所述方法包括:
[0006] 步骤1)、计算服务的关键路径上的每个节点在其处理阶段的延迟波动值;其中, 服务的关键路径是根据一段时间内处理对该服务的请求的关键路径得到的;延迟波动值是 根据一段时间内节点在其处理阶段处理请求的时间得到的;
[0007] 步骤2)、根据延迟波动值确定瓶颈节点。
[000引可选的,采用下式计算节点在其处理阶段的延迟波动值:
[0009]

【权利要求】
1. 一种分布式环境下定位瓶颈节点的方法,其中,节点是在分布式环境下划分应用服 务得到的在一个或多个处理阶段处理请求的服务模块,所述方法包括: 步骤1)、计算服务的关键路径上的每个节点在其处理阶段的延迟波动值;其中,服务 的关键路径是根据一段时间内处理对该服务的请求的关键路径得到的;延迟波动值是根据 一段时间内节点在其处理阶段处理请求的时间得到的; 步骤2)、根据延迟波动值确定瓶颈节点。
2. 根据权利要求1所述的方法,其中,采用下式计算节点在其处理阶段的延迟波动值:
其中,m表示一段时间内该节点在其处理阶段处理请求的时间不小于其处理请求时间 均值E(ProcessinTime)的请求个数;ProcessinTimej表示该节点在其处理阶段处理请求j 的时间;并且
,其中,n表示一段时间内该节 点在其处理阶段处理的请求个数。
3. 根据权利要求1或2所述的方法,其中,对于服务间采用划分/聚合模式,步骤1)还 包括: 查找服务的关键路径。
4. 根据权利要求3所述的方法,其中,查找服务的关键路径包括: 对于一段时间内对该服务的每个请求,查找处理该请求的关键路径,从而得到每个请 求对应的一个或多个关键路径; 在预定的时间窗口内,将出现次数最多的关键路径作为该服务的关键路径。
5. 根据权利要求1或2所述的方法,其中,步骤1)还包括: 记录一段时间内对服务的请求的相关信息。
6. 根据权利要求5所述的方法,其中,对服务的请求的相关信息包括: 处理阶段,以及在该处理阶段在节点上处理该请求的开始时间和完成时间。
7. 根据权利要求6所述的方法,其中,对服务的请求的相关信息还包括: 使当前节点处理该请求的开始时间最大的前一个处理阶段的节点。
8. 根据权利要求7所述的方法,其中,步骤1)还包括根据所记录的使节点处理该请求 的开始时间最大的前一个处理阶段的节点的信息,得到该请求对应的关键路径。
9. 一种分布式环境下定位瓶颈节点的装置,其中,节点是在分布式环境下划分应用服 务得到的在一个或多个处理阶段处理请求的服务模块,所述装置包括: 瓶颈节点定位设备,用于计算服务的关键路径上的每个节点在其处理阶段的延迟波动 值;以及用于根据延迟波动值确定瓶颈节点; 其中,服务的关键路径是根据一段时间内处理对该服务的请求的关键路径得到的;延 迟波动值是根据一段时间内节点在其处理阶段处理请求的时间得到的。
10. 根据权利要求9所述的装置,还包括: 关键路径查找设备,用于查找服务的关键路径。
11. 根据权利要求9或10所述的装置,还包括: 请求跟踪设备,用于记录一段时间内对服务的请求的相关信息。
12. -种分布式环境下保障应用服务质量的方法,包括: 步骤A)、对于存在长尾延迟的服务,采用如权利要求1-8中任何一个所述的方法定位 瓶颈节点; 步骤B)、检查瓶颈节点的延迟波动值是否超过预定阈值;如果超过则对该瓶颈节点执 行故障诊断,如果不超过则对该瓶颈节点的服务请求执行请求调度或加速。
13. 根据权利要求12所述的方法,其中,步骤A)还包括: 对于每一个服务,判断该服务是否存在长尾延迟。
14. 根据权利要求13所述的方法,其中,根据以下步骤判断服务是否存在长尾延迟: 根据对该服务的请求的响应时间的历史数据,得到服务请求的响应时间的累积分布函 数; 如果响应时间大于预期响应时间的累积分布函数值大于预定阈值,则认为该服务存在 长尾延迟。
15. 根据权利要求12所述的方法,其中,在执行步骤B)后返回步骤A)。
16.-种分布式环境下保障应用服务质量的系统,包括: 如权利要求9-11中任何一个所述的分布式环境下定位瓶颈节点的装置;以及 请求调度/加速设备,用于对瓶颈节点的服务请求执行请求调度或加速。
17. 根据权利要求16所述的系统,还包括: 长尾延迟判定设备,用于对于每一个服务判断该服务是否存在长尾延迟。
【文档编号】H04L29/08GK104486129SQ201410821077
【公开日】2015年4月1日 申请日期:2014年12月24日 优先权日:2014年12月24日
【发明者】任睿, 马久跃, 包云岗, 隋秀峰 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1