本发明专利技术提供一种基于故障相似度的服务可靠性保障方法,包括:解析一执行追踪,构建有向带权图;将所述有向带权图与通过若干正常执行追踪构建的若干正常有向带权图比较,判断该执行追踪是否正常;若该执行追踪为故障执行追踪,将执行追踪中所调用的服务根据调用顺序,得到未知故障请求字符串;提取已知故障数据库中故障调用字符串,并与未知故障请求字符串进行相似度计算,得到该执行追踪的故障原因;依据故障原因,检测所述服务失效类型是否存在;所述服务失效类型若存在,则重启服务;所述服务失效类型若不存在,则获取服务容器度量指标,进行服务容器的自适应匹配。本发明专利技术基于定向故障注入,实现执行追踪与故障原因相挂钩,判断监测节点故障。
【技术实现步骤摘要】
一种基于故障相似度的服务可靠性保障方法
本专利技术属于软件
,具体涉及一种基于故障相似度的服务可靠性保障方法。
技术介绍
面对互联网时代的海量请求,短时间内的服务失效会导致用户体验和评价的下降,而长时间的服务失效甚至会使企业面临严重的经济损失。随着云计算数据量的迅速增长,集群规模的不断膨胀,集群的高可靠性成为了一个变得越来越重要的技术。服务可靠性是指在给定时间内,特定环境下软件无错运行的概率,准确度量可靠性需要对时间、运行环境与条件、以及功能进行规定。服务的监测与故障技术帮助运维人员监测分布式服务集群中容器的运行情况,进行资源的调配,保证整个服务系统的可靠运行。服务可靠性保障方法主要包含分析度量信息、日志文件和执行追踪等三种方法。基于度量信息分析的方法收集某个逻辑计量单元或某时间段内的计量值,可以通过设定固定的指标或是通过一系列运算设定动态变化的指标,以此作为系统异常的报警规则,向运维人员发送异常警告,或是作为集群任务的调度规则。具有代表性的方法包括文献(S.ChouliarasandS.Sotiriadis,"Real-TimeAnomalyDetectionofNoSQLSystemsBasedonResourceUsageMonitoring,"inIEEETransactionsonIndustrialInformatics,vol.16,no.9,pp.6042-6049,Sept.2020,doi:10.1109/TII.2019.2958606.),该方法基于实时监控资源使用情况,将不同的机器学习模型与NoSQL系统运行的设计模式进行比较,并根据资源使用情况监视和过程信息提取对它们进行表征,识别不同的异常模式。这类方法对于系统内部的服务的结构和关系不需要进行了解,但需要事先知道异常的类型和异常特征,灵活性较差。基于日志文件分析的方法收集离散的日志文件中的元数据信息,日志文件记录了系统运行中海量的零散事件或是请求信息,通过设定检索模式,可以找到运行中的错误报告,有效排查系统的异常原因。具有代表性的方法包括文献(Y.Yuan,W.Shi,B.LiangandB.Qin,"AnApproachtoCloudExecutionFailureDiagnosisBasedonExceptionLogsinOpenStack,"2019IEEE12thInternationalConferenceonCloudComputing(CLOUD),Milan,Italy,2019,pp.124-131,doi:10.1109/CLOUD.2019.00031),该方法专注于识别系统任务产生的异常日志,轻量级的比较异常日志与系统历史任务日志,从而识别特定种类的异常。这类方法需要收集大量零散的日志文件,并从中提取出关键的故障信息,日志的收集和信息提取存在滞后性,难以实时分析系统存在的故障。基于执行追踪的方法收集单次请求内的全部信息,构建系统内部的结构特征,当系统异常发生时会引起请求处理轨迹发生偏移,通过对处理轨迹分析以达到异常定位和故障原因诊断的目的。具有代表性的方法包括文献(S.Zhang,Y.Wang,W.LiandX.Qiu,"Servicefailurediagnosisinservicefunctionchain,"201719thAsia-PacificNetworkOperationsandManagementSymposium(APNOMS),Seoul,2017,pp.70-75,doi:10.1109/APNOMS.2017.8094181),该方法通过提出一种低成本的检测方法,包括计算网络功能的拓扑,避免重复探测网络功能之间的链接,向网络标头添加时间戳以分析服务质量。这类方法可用于排查系统性能问题,但是监测粒度过细会带来巨大的监测和分析的资源开销,存在监测粒度与监测开销之间难以平衡的问题。综述所述,现有服务可靠性保障方法存在以下问题:(1)服务可靠性保障方法存在多种监控方式,基于度量信息分析的方法和基于日志文件分析的方法需要预先知道异常的特征信息,难以应对突发异常,而基于执行追踪的方法缺少对系统运行指标(如CPU、内存、磁盘、网络等)的监测。(2)相同请求的执行追踪具有相似性,缺少衡量执行追踪间的相似度指标,因此已有技术难以通过分析执行追踪间的相似程度来发现服务异常,从而造成不能够快速发现和诊断故障。(3)故障原因的诊断依赖系统历史故障的特征信息,缺乏对未知故障的可能原因的诊断方法,因此已有技术需要不断迭代故障特征诊断规则,对未知故障的诊断依赖运维人员的技术和经验,从而造成可靠性保障方法灵活性差,难以应对罕见的系统故障。
技术实现思路
针对以上所述现有服务可靠性保障方法所存在的缺乏对突发异常的系统运行时指标监测方法、服务请求的执行追踪信息比较规则的设定和灵活应对未知故障的故障原因检测方法设计问题,本专利技术提供一种基于故障相似度的服务可靠性保障方法,采用预先向系统注入故障的方式,收集故障的执行追踪,并通过采用字符串编辑距离表示执行追踪间相似度,比较已知故障与异常请求间的相似度,报告可能的故障原因,对于出现服务失效或性能衰减的服务,分别进行服务重启与自动扩展副本,以保障服务可靠性。本专利技术技术解决方案包括:一种基于故障相似度的服务可靠性保障方法,其步骤包括:1)解析系统运行时生成的一执行追踪,构建有向带权图,其中,有向带权图中的顶点使用一[服务id,服务请求端id,调用服务端id,请求消耗时间,方法其他信息]多元组表示,方法其他信息使用一[服务名称,开始时间戳,请求所包含的标签]多元组表示。有向边为a代表服务请求端标识符,b代表调用服务端标识符,有向边权重向量为请求消耗时间;2)将所述有向带权图与通过若干正常执行追踪构建的若干正常有向带权图比较,通过请求消耗时间与正常请求消耗时间,判断该执行追踪是否正常;3)若该执行追踪为故障执行追踪,将执行追踪中所调用的服务根据调用顺序,依次将各服务名称转化为对应的定长字符串,并依据调用顺序进行拼接,得到未知故障请求字符串;4)提取已知故障数据库中已知故障的所有故障调用字符串,并将未知故障请求字符串与各故障调用字符串进行相似度计算,得到该执行追踪的故障原因;5)依据故障原因,获取相应的服务失效类型,检测所述服务失效类型是否存在;6)所述服务失效类型若存在,则重启服务;所述服务失效类型若不存在,则获取服务容器度量指标,进行服务容器的自适应匹配。进一步地,通过将Mixer指定的执行追踪收集组件接口zipkin-address-url设为Jaeger的开放接口,收集所述执行追踪。进一步地,所述已知故障数据库通过下述步骤建立:a)将若干样本故障注入正常运行时的系统,发送若干请求,得到若干已知故障执行追踪;b)构建若干该已知故障执行追踪的已知故障有向带权图;c)对所有已知故障有向带权图根据其故障原因进行归类,得到若干已知故障有向带权图组合,形成已知故障数据库。进一步地,本文档来自技高网...
【技术保护点】
1.一种基于故障相似度的服务可靠性保障方法,其步骤包括:/n1)解析系统运行时生成的一执行追踪,构建有向带权图,其中,有向带权图中的顶点使用一[服务id,服务请求端id,调用服务端id,请求消耗时间,方法其他信息]多元组表示,方法其他信息使用一[服务名称,开始时间戳,请求所包含的标签]多元组表示。有向边为
【技术特征摘要】
1.一种基于故障相似度的服务可靠性保障方法,其步骤包括:
1)解析系统运行时生成的一执行追踪,构建有向带权图,其中,有向带权图中的顶点使用一[服务id,服务请求端id,调用服务端id,请求消耗时间,方法其他信息]多元组表示,方法其他信息使用一[服务名称,开始时间戳,请求所包含的标签]多元组表示。有向边为a代表服务请求端标识符,b代表调用服务端标识符,有向边权重向量为请求消耗时间;
2)将所述有向带权图与通过若干正常执行追踪构建的若干正常有向带权图比较,通过请求消耗时间与正常请求消耗时间,判断该执行追踪是否正常;
3)若该执行追踪为故障执行追踪,将执行追踪中所调用的服务根据调用顺序,依次将各服务名称转化为对应的定长字符串,并依据调用顺序进行拼接,得到未知故障请求字符串;
4)提取已知故障数据库中已知故障的所有故障调用字符串,并将未知故障请求字符串与各故障调用字符串进行相似度计算,得到该执行追踪的故障原因;
5)依据故障原因,获取相应的服务失效类型,检测所述服务失效类型是否存在;
6)所述服务失效类型若存在,则重启服务;所述服务失效类型若不存在,则获取服务容器度量指标,进行服务容器的自适应匹配。
2.如权利要求1所述的方法,其特征在于,通过将Mixer指定的执行追踪收集组件接口zipkin-address-url设为Jaeger的开放接口,收集所述执行追踪。
3.如权利要求1所述的方法,其特征在于,所述已知故障数据库通过下述步骤建立:
a)将若干样本故障注入正常运行时的系统,发送若干请求,得到若干已知故障执行追踪;
b)构建若干该已知故障执行追踪的已知故障有向带权图;
c)对所有已知故障有向带权图根据其故障原因进行归类,得到若干已知故障有向带权图组合,形成已知故障数据库。
4.如权利要求1所述的方法,其特征在于,通过以下步骤判断该执行追踪是否正常:
1)通过若干正常有向带权图的各有向边权重向量,计算正常请求消耗时间的上限值和下限值其中表示n个正常执行追踪的正常请求消耗时间平均执...
【专利技术属性】
技术研发人员:王焘,陈皓,张文博,许源佳,
申请(专利权)人:中国科学院软件研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。