一种分布式系统根源故障定位方法及装置制造方法及图纸

技术编号:20592773 阅读:34 留言:0更新日期:2019-03-16 08:59
本发明专利技术涉及一种分布式系统根源故障定位方法及装置,所述方法包括:获取分布式系统测试数据,并选择所述测试数据中被测服务不可用的测试数据;利用所述测试数据中被测服务不可用的测试数据构建故障诊断图,并获取所述故障诊断图中的完全子图;根据所述完全子图进行故障定位,本发明专利技术提供的技术方案,利用本发明专利技术提供的测试数据构建故障诊断图,根据故障诊断图快速准确地诊断分布式系统故障,有效防止系统失效产生的困扰和经济损失。

A Distributed System Root Fault Location Method and Device

The invention relates to a distributed system root fault location method and device. The method includes: acquiring distributed system test data and selecting test data that are not available for the service under test in the test data; constructing fault diagnosis diagram using test data that are not available for the service under test in the test data, and acquiring complete sub-diagrams of the fault diagnosis diagram; and according to the above-mentioned method, acquiring the test data of the distributed system and selecting the test data that are not available for the service under test. Complete subgraph is used for fault location. The technical scheme provided by the invention constructs a fault diagnosis diagram by using the test data provided by the invention. According to the fault diagnosis diagram, the fault of distributed system can be diagnosed quickly and accurately, and the troubles and economic losses caused by system failure can be effectively prevented.

【技术实现步骤摘要】
一种分布式系统根源故障定位方法及装置
本专利技术涉及数据挖掘
,具体涉及一种分布式系统根源故障定位方法及装置。
技术介绍
随着云计算和大数据等互联网技术的飞速发展,大型企业分布式信息系统的规模越来越庞大。例如,截止2014年,亚马逊已经建成了11个云端区域,28个数据中心组,200万台服务器。截止2014年,Google已经在全球数据中心拥有了100万台服务器。一旦这些承载了大量与经济生产和社会生活息息相关的业务系统出现故障、遭受网络攻击,就会给社会的生产生活带来极大的不便和经济损失,甚至导致严重的社会安全事件。例如,2015年5月27日,拥有近3亿活跃用户的支付宝出现了大面积瘫痪;携程网于2015年5月28日长达12小时无法访问,经济损失约5000万元人民币。因此,在大规模信息系统中,快速有效地进行故障自动检测与诊断在研究和实践中都是非常重要的。目前分析分布式系统根源故障的方法包括基于图的方法、基于专家系统的方法、分析模型、数据驱动方法。基于图论的故障诊断方法主要包括符号有向图(Signeddirectedgraph,SDG)方法和故障树方法。SDG是一种描述系统因果关系的图形化模型,节点表示事件或者变量,有向边表示变量之间的因果关系。发生故障时,根据节点变化间的因果关系,并结合一定的搜索策略判断故障发生的原因。故障树是一种由果到因的逻辑图,它从系统的故障状态出发,逐级进行推理确定故障发生的基本原因、影响程度和发生概率。基于专家系统的故障诊断方法利用领域专家的实践经验建立知识库,并进行推理和决策过程进行故障诊断。专家知识常用确定性的IF-THEN规则表示。由于专家知识具有不确定性,模糊专家系统引入了模糊隶属度的概念,并利用模糊逻辑进行推理,能够很好地处理专家知识中的不确定性。基于解析模型的故障诊断方法利用系统精确的数学模型描述系统期望行为,通过对比实际的输入输出量是否一致进行故障诊断,主要包括状态估计方法、参数估计方法、基于等价空间的方法。基于状态估计的方法主要包括滤波器方法和观测器方法,利用假设检验等方法进行故障诊断。基于参数估计的方法认为故障会引起模型参数的变化,并通过检测模型中的参数变化来进行故障诊断。数据驱动的故障诊断方法通过对系统运行数据进行分析处理进行故障诊断,不需知道系统精确解析模型,主要分为机器学习类方法、多元统计分析类方法等。机器学习类方法是利用系统在正常和各种故障情况下的历史数据训练神经网络或者支持向量机等机器学习算法用于故障诊断。基于多元统计分析的方法是利用多个变量之间的相关性进行故障诊断,主要有PCA方法。PCA方法将变量的样本矩阵投影到低维空间,反映了过程变量的主要变化,并通过给定的检测指标进行故障诊断。现有的分布式信息系统故障诊断方法仍存在很大局限性,主要有以下两方面原因:一方面,针对可用性测试失效的分布式系统故障诊断方法不够直观,实际中,由于分布式信息系统越来越复杂,故障点难以全面被检测到,因此很难准确的诊断故障,需要有更加直观的分析和诊断工具;另一方面,现有的故障诊断方法难以解决实时、无监督的故障诊断问题。图论的方法、专家系统的方法和基于数据驱动的方法需要系统结构知识或训练数据,基于解析的方法难以对复杂系统建模,而实际中这些数据或知识难以获得,同时,这些方法也没有利用系统业务可用性测试的信息,而这些信息对于有效故障诊断有重要价值。
技术实现思路
本专利技术提供一种分布式系统根源故障定位方法及装置,其目的是利用本专利技术提供的测试数据构建故障诊断图,根据故障诊断图快速准确地诊断分布式系统故障,有效防止系统失效产生的困扰和经济损失。本专利技术的目的是采用下述技术方案实现的:一种分布式系统根源故障定位方法,其改进之处在于,包括:获取分布式系统测试数据,并选择所述测试数据中被测服务不可用的测试数据;利用所述测试数据中被测服务不可用的测试数据构建故障诊断图,并获取所述故障诊断图中的完全子图;根据所述完全子图进行故障定位。优选的,所述分布式系统测试数据,包括:测试条件属性及其对应的测试结果属性,所述测试条件属性包括:外部属性及其对应的内部属性,所述外部属性包括:测试地址、运营商和被测服务,所述外部属性对应的内部属性包括:网络设备状态、操作系统状态和应用程序状态,其中,所述外部属性对应的内部属性根据所述外部属性,利用数据流跟踪法获取。进一步的,所述选择所述测试数据中被测服务不可用的测试数据,包括:若所述测试数据的测试条件属性对应的测试结果属性的属性值为不可用,则选择该测试数据。优选的,所述利用所述测试数据中被测服务不可用的测试数据构建故障诊断图,并获取所述故障诊断图中的完全子图,包括:以所述测试数据中被测服务不可用的测试数据作为节点,若节点间的所述测试数据中被测服务不可用的测试数据中的属性对应的属性值相同,则将节点间该属性对应的属性值连接,获取故障诊断图;提取所述故障诊断图中节点的单个属性对应的单个属性值间的连接图作为完全子图。优选的,所述根据所述完全子图进行故障定位,包括:验证所述完全子图的可靠性,获取满足可靠性要求的完全子图;根据所述完全子图的节点数进行故障定位。进一步的,所述验证所述完全子图的可靠性,获取满足可靠性要求的完全子图,包括:对第k个完全子图进行F检验,按下式确定第k个完全子图的检验值Fk:Fk=(SSAk/fSSAk)/(SSEk/fSSEk)上式中,SSAk为第k个完全子图的组内平方和,fSSAk为SSAk的自由度,SSEk为第k个完全子图的组间平方和,fSSEk为SSEk的自由度;若所述第k个完全子图的检验值Fk大于F检验值阈值,则所述第k个完全子图满足可靠性要求。进一步的,按下式确定所述第k个完全子图的组内平方和SSAk:按下式确定所述第k个完全子图的组间平方和SSEk:nk为与第k个完全子图对应的属性的属性值相同的测试数据的个数,为与第k个完全子图对应的属性的属性值相同的测试数据的测试结果的属性值为不可用的占有率,为测试数据中测试结果的属性值为不可用的占有率,为与第k个完全子图对应的属性的属性值不同的测试数据的个数,为与第k个完全子图对应的属性的属性值不同的测试数据的测试结果的属性值为不可用的占有率,xkMi为与第k个完全子图对应的属性的属性值相同的测试数据的测试结果的属性值系数,为与第k个完全子图对应的属性的属性值不同的测试数据的测试结果的属性值系数,测试数据的测试结果的属性值为可用时,其对应的测试数据的测试结果的属性值系数为0,测试数据的测试结果的属性值为不可用时,其对应的测试数据的测试结果的属性值系数为1。进一步的,所述根据所述完全子图的节点数进行故障定位,包括:获取满足可靠性要求的完全子图中节点数最大的完全子图C1,并将C1对应的属性的属性值加入故障集合中;比较满足可靠性要求的完全子图中的第x个完全子图Cx的节点与所述C1的节点的重合率,若该重合率大于相关度阈值,则将Cx对应的属性的属性值加入所述故障集合中,其中,x∈[1,X],X为满足可靠性要求的完全子图总数;将所述故障集合中的属性值作为故障原因。一种分布式系统根源故障定位装置,其改进之处在于,所述装置包括:获取单元,用于获取分布式系统测试数据,并选择所述测试数据中被测服务不可用的测试数据;构建本文档来自技高网
...

【技术保护点】
1.一种分布式系统根源故障定位方法,其特征在于,所述方法包括:获取分布式系统测试数据,并选择所述测试数据中被测服务不可用的测试数据;利用所述测试数据中被测服务不可用的测试数据构建故障诊断图,并获取所述故障诊断图中的完全子图;根据所述完全子图进行故障定位。

【技术特征摘要】
1.一种分布式系统根源故障定位方法,其特征在于,所述方法包括:获取分布式系统测试数据,并选择所述测试数据中被测服务不可用的测试数据;利用所述测试数据中被测服务不可用的测试数据构建故障诊断图,并获取所述故障诊断图中的完全子图;根据所述完全子图进行故障定位。2.如权利要求1所述的方法,其特征在于,所述分布式系统测试数据,包括:测试条件属性及其对应的测试结果属性,所述测试条件属性包括:外部属性及其对应的内部属性,所述外部属性包括:测试地址、运营商和被测服务,所述外部属性对应的内部属性包括:网络设备状态、操作系统状态和应用程序状态,其中,所述外部属性对应的内部属性根据所述外部属性,利用数据流跟踪法获取。3.如权利要求2所述的方法,其特征在于,所述选择所述测试数据中被测服务不可用的测试数据,包括:若所述测试数据的测试条件属性对应的测试结果属性的属性值为不可用,则选择该测试数据。4.如权利要求1所述的方法,其特征在于,所述利用所述测试数据中被测服务不可用的测试数据构建故障诊断图,并获取所述故障诊断图中的完全子图,包括:以所述测试数据中被测服务不可用的测试数据作为节点,若节点间的所述测试数据中被测服务不可用的测试数据中的属性对应的属性值相同,则将节点间该属性对应的属性值连接,获取故障诊断图;提取所述故障诊断图中节点的单个属性对应的单个属性值间的连接图作为完全子图。5.如权利要求1所述的方法,其特征在于,所述根据所述完全子图进行故障定位,包括:验证所述完全子图的可靠性,获取满足可靠性要求的完全子图;根据所述完全子图的节点数进行故障定位。6.如权利要求5所述的方法,其特征在于,所述验证所述完全子图的可靠性,获取满足可靠性要求的完全子图,包括:对第k个完全子图进行F检验,按下式确定第k个完全子图的检验值Fk:Fk=(SSAk/fSSAk)/(SSEk/fSSEk)上式中,SSAk为第k个完全子图的组内平方和,fSSAk为SSAk的自由度,SSEk为第k个完...

【专利技术属性】
技术研发人员:赵丽王泽郭三川柳哲何慧虹徐太忠潘欣雨
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1