[发明专利]一种基于服务调用拓扑的分布式应用性能监控方法有效
申请号: | 201610065252.1 | 申请日: | 2016-01-29 |
公开(公告)号: | CN105740133B | 公开(公告)日: | 2018-06-29 |
发明(设计)人: | 蔡亮;苌程;尹可挺;刘敏献;王哲;翟晨 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F11/30;G06F11/32 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于服务调用拓扑的分布式应用性能监控方法,通过监控分布式应用服务的网络调用请求,解析出调用者、被调用者和请求时间,通过建立数学模型,确定服务的处理延时,进一步确定应用的服务调用拓扑。通过应用的服务调用拓扑和服务的延时信息,为运维人员提供可视化的应用状态分析,方便对分布式应用进行调试和性能分析。本发明方法具有通用性,可用于任何分布式应用,且本发明方法是实时的,并不是对收集数据的事后分析,能够及时发现问题和系统瓶颈并反馈给运维人员。本发明方法实现简单,易于操作,具有可扩展性和易于部署的特点,适合为分布式应用提供性能监控。 | ||
搜索关键词: | 分布式应用 服务调用 拓扑 性能监控 运维 调用 处理延时 可扩展性 收集数据 数学模型 网络调用 系统瓶颈 性能分析 延时信息 应用状态 可视化 可用 服务 解析 应用 调试 分析 反馈 监控 部署 发现 | ||
【主权项】:
1.一种基于服务调用拓扑的分布式应用性能监控方法,其特征在于,该方法包括以下步骤:步骤1:监控分布式应用服务节点之间的网络调用请求,解析网络调用请求的网络包头部,将发送者、接收者和发生时间作为一条原始数据存储到一个可以快速索引的存储服务器,其中,发送者和接收者以服务节点所在主机IP或者<主机IP,端口Port>标记;步骤2:读取原始数据,分析当前的应用服务调用关系和服务节点的延时,计算出单节点的服务调用关系;具体包含以下步骤:(2.1)初始化系统;设定时间t1、t2,t1 (2.6.4)使用正的最大值点的平均值乘以Step作为服务延时D;(2.7)判断服务延时D是否合理:如果步骤(2.6)计算的h的最大值不小于MaxValHold且最大值的个数不大于MaxNumHold且存在正的最大值点,那么D合理,执行步骤(2.8),否则执行步骤(2.13);(2.8)按照窗口更新node的延时队列:当node的延时队列的长度小于MaxWindowSize时,新计算出的延时入队;当node的延时队列的长度大于等于MaxWindowSize时,最先计算的延时出队,新计算出的延时入队;(2.9)判断node的延时队列的长度是否大于MinWindowSize,是则执行步骤(2.10);否则执行步骤(2.13);(2.10)以node延时队列中的数据为样本,求出均值d和均方差r;如果当前均值d比之前的延时均值增加超过PAHold,则将node、t1、t2、之前的延时均值和当前的延时均值作为一条警报信息向运维人员发送,并存储于存储服务器;(2.11)根据InMsg、OutMsg、d和r求出node的因果路径,并计算每条单节点因果路径的可能性,具体包括以下子步骤:(2.11.1)选取OutMsg中的一条原始数据,设接收者为dst_node,时间为t3;令T=t3‑d,R=ur,1<=u<=2;选出InMsg中时间在(T‑R,min(T+R,t3))区间内的原始数据,设原始数据共N条,设这些记录的发送者为src_nodei,其中,1<=i<=K,表示有K个不同的发送者,计算出node的单节点因果路径;(2.11.2)计算单节点因果路径的可能性:如果有ni条原始数据的发送者src_nodei,则单节点因果路径的可能性为ni/N;或者按照进入node的时间与T的相隔越短权值越高的方式为每条单节点因果路径赋予权值,最后用发送者src_nodei的权值的总和与所有权值的总和的比值作为对应单节点因果路径的可能性;(2.12)将可能性大于等于MinProb的因果路径存入存储数据库;(2.13)判断是否有未被遍历的服务节点,是则执行步骤(2.3);否则执行步骤(2.14);(2.14)令td=t2‑t1,更新t1为t2,更新t2为t2+td;执行步骤(2.2);步骤3:将步骤2计算得到的单节点因果路径组合成服务调用拓扑图,具体包括以下子步骤:(3.1)构造初始图,将从起始节点开始的单节点因果路径加入拓扑图,所述起始节点为分布式应用开始处理请求的服务节点,为每条路径添加标签:因边添加标签T,并设置状态为已使用,果边添加同一标签T,并设置状态为未使用;所述因边为连接单节点因果路径的前两个节点的有向边,所述果边为连接单节点因果路径的后两个节点的有向边;(3.2)从初始图的果边开始层次遍历拓扑图的边,添加单节点因果路径,直到拓扑图延伸到终止节点;所述终止节点为其所有单节点因果路径为XYX模式的节点;设当前的单节点因果路径为ABC,当前节点的遍历过程如下:(3.2.1)如果B为终止节点,则按层次遍历方法遍历下一个节点,否则继续;(3.2.2)如果C在到达边AB的路径上出现过,则按层次遍历方法遍历下一个节点,否则继续;(3.2.3)判断AB是否有未被使用的标签,如果有,设标签为T1,执行步骤(3.2.4);否则执行步骤(3.2.6);(3.2.4)设置BC标签为T1,且设置T1为未使用;(3.2.5)设置AB的标签T1为已使用,按层次遍历方法遍历下一个节点;(3.2.6)创建新标签T2;(3.2.7)设置BC标签为T2,且设置BC的标签T2为未使用;(3.2.8)为AB和到达AB的路径添加标签T2,且设置这些标签为已使用,按层次遍历方法遍历下一个节点;步骤4:根据拓扑图分析系统性能,在服务性能明显下降的情况下将分析结果发送给运维人员;具体包括以下步骤:(4.1)根据步骤3的计算结果,形成服务调用拓扑图的图形化结果,直观地显示出带标签的因果路径、每个服务的延时和每条因果路径的可能性信息;(4.2)根据步骤2中的警报信息,将经过警报发生节点的因果路径标注出来;(4.3)找到整个拓扑图中服务延时最大的节点,并标记为系统瓶颈;(4.4)将步骤(4.1)‑(4.3)的信息发送给运维人员,从而实现分布式应用性能的监控。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610065252.1/,转载请声明来源钻瓜专利网。
- 上一篇:组合式支撑架的组合元件总成
- 下一篇:系统备份与还原的方法