一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种分布式系统的稳定性分析方法、装置、系统及介质与流程

2022-03-04 22:52:40 来源:中国专利 TAG:


1.本发明实施例涉及分布式系统技术领域,特别是涉及一种分布式系统的稳定性分析方法、装置、系统及计算机可读存储介质。


背景技术:

2.分布式系统是由多个物理或者虚拟节点组成的分布式集群,通常组成节点的物理硬件设备具备大规模和故障常态化的特点,因此需要依靠集群内节点间的协同设计来保证系统的稳定、可靠运行。
3.分布式系统设计中需要考虑节点可能发生的任何故障所带来的影响,如节点磁盘损坏、网络闪断,节点电源模块故障等;因此系统的稳定性很大程度上取决于分布式系统的设计,对于不同的设计,如何评价其稳定性就需要系统分析和大量的测试用例验证;而在大规模的分布式系统中会存在着大量的物理设备,这些物理设备又具备不同的故障场景,物理设备内部又由于软件的运行导致其具备不同的状态,因此需要一种系统的、可实施的方法来对分布式系统进行分析,通过分析发现问题以便优化设计,从而提高分布式系统的稳定性。
4.鉴于此,如何提供一种实现分布式系统的稳定性分析方法、装置、系统及计算机可读存储介质成为本领域技术人员需要解决的问题。


技术实现要素:

5.本发明实施例的目的是提供一种实现分布式系统的稳定性分析方法、装置、系统及计算机可读存储介质,在使用过程中有利于提高分布式系统的稳定性。
6.为解决上述技术问题,本发明实施例提供了一种实现分布式系统的稳定性分析方法,包括:
7.调用预先建立的各个故障场景;
8.对各个所述故障场景进行多重正交分析,得到多个故障场景组合;
9.针对每个所述故障场景组合对分布式系统进行分析,得到所述分布式系统对每个所述故障场景组合的实际处理结果;
10.调用预先建立的与每个所述故障场景组合各自对应的预期处理结果;
11.将每个所述故障场景组合的实际处理结果与对应的预期处理结果进行对比分析,根据分析结果确定出所述分布式系统的待优化项。
12.可选的,所述各个故障场景的预先建立过程为:
13.预先将分布式系统中的软硬件资源按照资源类型抽象化为多个模块;
14.针对每个所述模块,按照对应的资源类型确定出与所述模块对应的各个故障场景。
15.可选的,所述预先将分布式系统中的软硬件资源按照资源类型抽象化为多个模块的过程为:
16.预先采用分层抽象的方法将分布式系统中的软硬件资源按照资源类型抽象化为多个模块。
17.可选的,所述将每个所述故障场景组合的实际处理结果与对应的预期处理结果进行对比分析,根据分析结果确定出所述分布式系统的待优化项的过程为:
18.针对每个所述故障场景组合,将所述故障场景组合的实际处理结果与对应的预期处理结果进行对比,当所述实际处理结果与所述预期处理结果不符时,根据所述实际处理结果及所述预期处理结果确定出所述分布式系统的待优化项。
19.本发明实施例还提供了一种实现分布式系统的稳定性分析装置,包括:
20.第一调用模块,用于调用预先建立的各个故障场景;
21.正交模块,用于对各个所述故障场景进行多重正交分析,得到多个故障场景组合;
22.第一分析模块,用于针对每个所述故障场景组合对分布式系统进行分析,得到所述分布式系统对每个所述故障场景组合的实际处理结果;
23.第二调用模块,用于调用预先建立的与每个所述故障场景组合各自对应的预期处理结果;
24.第二分析模块,用于将每个所述故障场景组合的实际处理结果与对应的预期处理结果进行对比分析,根据分析结果确定出所述分布式系统的待优化项。
25.可选的,还包括:
26.抽象模块,用于预先将分布式系统中的软硬件资源按照资源类型抽象化为多个模块;
27.建立模块,用于针对每个所述模块,按照对应的资源类型确定出与所述模块对应的各个故障场景。
28.可选的,所述抽象模块,具体用于预先采用分层抽象的方法将分布式系统中的软硬件资源按照资源类型抽象化为多个模块。
29.可选的,所述第二分析模块包括:
30.对比单元,用于针对每个所述故障场景组合,将所述故障场景组合的实际处理结果与对应的预期处理结果进行对比;
31.分析单元,用于当所述实际处理结果与所述预期处理结果不符时,根据所述实际处理结果及所述预期处理结果确定出所述分布式系统的待优化项。
32.本发明实施例提供了一种实现分布式系统的稳定性分析系统,包括:
33.存储器,用于存储计算机程序;
34.处理器,用于执行所述计算机程序时实现如上述所述实现分布式系统的稳定性分析方法的步骤。
35.本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述实现分布式系统的稳定性分析方法的步骤。
36.本发明实施例提供了一种实现分布式系统的稳定性分析方法、装置、系统及计算机可读存储介质,该方法预先建立各个故障场景,通过调用各个故障场景对各个故障场景进行多重正交分析,得到多个故障场景组合,并针对每个故障场景组合对分布式系统进行分析,以得到分布式系统对每个故障场景组合的实际处理结果,然后再调用预先建立的与
每个故障场景组合各自对应的预期处理结果,将每个故障场景组合的实际处理结果与对应的预期处理结果进行对比分析,根据分析结果确定出分布式系统的待优化项,以便后续根据待优化项对分布式系统的设计进行优化,有利于提高分布式系统的稳定性。
附图说明
37.为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1为本发明实施例提供的一种实现分布式系统的稳定性分析方法的流程示意图;
39.图2为本本发明实施例提供的一种分布式系统的结构示意图;
40.图3为本发明实施例提供的一种实现分布式系统的稳定性分析装置的结构示意图。
具体实施方式
41.本发明实施例提供了一种实现分布式系统的稳定性分析方法、装置、系统及计算机可读存储介质,在使用过程中有利于提高分布式系统的稳定性。
42.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.请参照图1,图1为本发明实施例提供的一种实现分布式系统的稳定性分析方法的流程示意图。该方法包括:
44.s110:调用预先建立的各个故障场景;
45.需要说明的是,本发明实施例中预先建立分布式系统的各种故障类型,具体的可以预先将分布式系统中的软硬件资源按照资源类型抽象化为多个模块,然后再针对每个模块,按照对应的资源类型确定出与模块对应的各个故障场景,从而可以确定出与每个模块各自对应的多个故障场景。
46.其中,上述预先将分布式系统中的软硬件资源按照资源类型抽象化为多个模块的过程,具体可以为:
47.预先采用分层抽象的方法将分布式系统中的软硬件资源按照资源类型抽象化为多个模块。
48.例如,可以先从数据中心层出发,接着分析机房层,服务器层,网络层,存储层等,可以采用从上到下分层的方法对软硬件资源进行抽象,形成多个模块。例如,形成数据中心模块、机房模块、服务器模块、网络模块、存储模块等,具体的抽象为哪些模块可以根据实际需要进行确定,并且具体从哪一层开始对该层及该层以下的各个资源抽象化为模块,均可以根据实际需要进行确定,本发明实施例对此不作特殊限定。
49.具体的,在抽象出各个模块后,针对每个模块,均可以通过故障分析确定出针对该
模块可能出现的各个故障场景,并且与该模块进行对应记录。例如,针对网络模块,可能出现的故障场景可以包括:网络延时、网卡闪断、丢包、网络分区等。当然,针对其他的模块的故障场景均可以根据实际情况进行确定。
50.s120:对各个故障场景进行多重正交分析,得到多个故障场景组合;
51.具体的,在确定出每个模块各自对应的故障场景后,可以对各个故障场景进行多重正交分析,从而得到多个故障场景组合。具体可以从两重故障出发,例如在网络分区的情况下,出现节点掉电的场景,通过多重正交分析,可以得到很多故障场景组合,可以将这些故障场景组合作为分布式系统稳定性的测试用例集。
52.s130:针对每个故障场景组合对分布式系统进行分析,得到分布式系统对每个故障场景组合的实际处理结果;
53.需要说明的是,本发明实施例中可以依次针对每个故障场景组合对分布式文件系统进行分析,具体可以分析分布式系统在设计上的处理策略得到分布式系统针对对应的故障场景组合的实际处理结果。
54.s140:调用预先建立的与每个故障场景组合各自对应的预期处理结果;
55.具体的,在确定出每个故障场景组合后,可以预先建立与每个故障场景组合各自对应的预期处理结果,然后在得到与每个故障场景组合各自对应的实际处理结果后,可以调用各个预期处理结果。
56.s150:将每个故障场景组合的实际处理结果与对应的预期处理结果进行对比分析,根据分析结果确定出分布式系统的待优化项。
57.具体的,将与每个故障场景组合各自对应的实际处理结果与对应的预期处理结果相比较,具体可以针对每个故障场景组合,将故障场景组合的实际处理结果与对应的预期处理结果进行对比,当实际处理结果与预期处理结果不符时,根据实际处理结果及预期处理结果确定出分布式系统的待优化项。
58.具体的,针对一种故障场景组合来说,当实际处理结果与预期处理结果不符时,也即分布式系统针对该故障场景组合处理失败时,存在以下两种情况:
59.第一种情况,分布式系统不对该故障场景组合进行处理,如果该故障场景组合不是分布式系统处理的重点,可以允许处理失败,并且在针对该故障场景组合处理失败后分布式系统具备恢复的能力,则可以将该故障场景组合从所有的故障场景组合中移除,然后可以继续针对下一组故障场景组合进行分析。
60.第二种情况,分布式系统对该故障场景组合进行了处理,但是处理失败,这种情况需要分析逻辑上处理失败的原因,得到分布式系统的待优化项,从而根据该待优化项从故障场景组合出发优化分布式系统的设计,使其具备处理该故障场景组合的能力,从而提高分布式系统的稳定性。具体的,可以在对所有的故障场景组合均分析完成后、,且根据各个待优化项对分布式系统进行优化后,结束本轮分析,并可以根据分析结果定义分布式系统的稳定性指标。
61.在实际应用中,可以在根据每个故障场景组合确定出的待优化项对分布式系统的设计进行优化后,可以再次对分布式系统当前的软硬件资源,执行将分布式系统中的软硬件资源按照资源类型抽象化为多个模块的步骤,以便开始下一轮的分析和优化,直至分布式系统的设计满足预期要求结束,以更好的提高分布式系统的稳定性。
62.下面以一个具体的实例进行说明:如图2所示的分布式系统,包括三个物理服务器节点,节点之间已物理交换机互联,每个节点上存在着物理磁盘,网卡,电源等硬件设备。
63.首先,可以将分布式系统中存在的软硬件资源进行模块化抽象,例如从集群角度,可以抽象的资源包括物理节点,交换机,按照资源类型也即抽象出的模块包括物理节点模块和交换机模块;从物理节点角度可以抽象资源包括磁盘、网卡、电源,按照资源类型也即抽象出的模块包括磁盘模块、网卡模块和电源模块;从分布式系统角度抽象资源包括系统对外提供的服务,则按照资源类型也即抽象出的服务模块。
64.其次,分析抽象化出的各个模块的可能存在的故障场景,如磁盘模块可能存在的故障场景包括插入、拔出、慢盘、磁盘坏道、磁盘空间不足等故障场景;可以针对这些故障场景分析分布式系统在设计中能够处理每一种场景,如磁盘拔出,通常可以通过监控linux系统驱动提供的事件被动获取;同时,更好的方式下,也可以通过发生在该磁盘上的io错误计数主动获取,然后进行处理,这就是系统设计中是否对这种场景进行了优化,如果针对这种故障场景分布式系统设计中未处理,则参考上述记载的两种情况进行分析和优化。
65.再次,将上述各种故障场景进行正交分析,简单的可以从同一模块内部同种资源的正交,如节点1上发生两块磁盘同时或者并发出现故障、或者一块拔出与另一块插入等正交场景分析;接着,分析同一个节点内不同模块间的故障,如节点1上的网卡闪断和块磁盘发生坏道同时或者先后发生时的场景分析;最后,分析不同节点上的模块故障,如节点1上发生网络延时、节点2上发生磁盘拔出场景的正交;分析在一种正交场景(也即故障场景组合)下系统设计的处理行为是什么,也即得到分布式系统的实际处理结果,根据对应的预期处理结来确定实际处理结果是否满足预期处理结果;如果不满足,则参考上述记载的两种情况进行分析和优化。
66.最后,还可以在根据每个故障场景组合确定出的待优化项对分布式系统的设计进行优化后,可以再次对分布式系统当前的软硬件资源,执行将分布式系统中的软硬件资源按照资源类型抽象化为多个模块的步骤,以便开始下一轮的分析和优化,直至分布式系统的设计满足预期要求结束,以更好的提高分布式系统的稳定性。
67.可见,本发明预先建立各个故障场景,通过调用各个故障场景对各个故障场景进行多重正交分析,得到多个故障场景组合,并针对每个故障场景组合对分布式系统进行分析,以得到分布式系统对每个故障场景组合的实际处理结果,然后再调用预先建立的与每个故障场景组合各自对应的预期处理结果,将每个故障场景组合的实际处理结果与对应的预期处理结果进行对比分析,根据分析结果确定出分布式系统的待优化项,以便后续根据待优化项对分布式系统的设计进行优化,有利于提高分布式系统的稳定性。
68.在上述实施例的基础上,本发明实施例还提供了一种实现分布式系统的稳定性分析装置,具体请参照图3。该装置包括:
69.第一调用模块21,用于调用预先建立的各个故障场景;
70.正交模块22,用于对各个故障场景进行多重正交分析,得到多个故障场景组合;
71.第一分析模块23,用于针对每个故障场景组合对分布式系统进行分析,得到分布式系统对每个故障场景组合的实际处理结果;
72.第二调用模块24,用于调用预先建立的与每个故障场景组合各自对应的预期处理结果;
73.第二分析模块25,用于将每个故障场景组合的实际处理结果与对应的预期处理结果进行对比分析,根据分析结果确定出分布式系统的待优化项。
74.进一步的,还包括:
75.抽象模块,用于预先将分布式系统中的软硬件资源按照资源类型抽象化为多个模块;
76.建立模块,用于针对每个模块,按照对应的资源类型确定出与模块对应的各个故障场景。
77.进一步的,抽象模块,具体用于预先采用分层抽象的方法将分布式系统中的软硬件资源按照资源类型抽象化为多个模块。
78.进一步的,第二分析模块包括:
79.对比单元,用于针对每个故障场景组合,将故障场景组合的实际处理结果与对应的预期处理结果进行对比;
80.分析单元,用于当实际处理结果与预期处理结果不符时,根据实际处理结果及预期处理结果确定出分布式系统的待优化项。
81.需要说明的是,本发明实施例中提供的实现分布式系统的稳定性分析装置具有与上述实施例中所提供的实现分布式系统的稳定性分析方法相同的有益效果,并且对于本发明实施例中所涉及到的实现分布式系统的稳定性分析方法的具体介绍请参照上述实施例,本发明在此不再赘述。
82.在上述实施例的基础上,本发明实施例提供了一种实现分布式系统的稳定性分析系统,该系统包括:
83.存储器,用于存储计算机程序;
84.处理器,用于执行计算机程序时实现如上述实现分布式系统的稳定性分析方法的步骤。
85.例如,本发明实施例中的处理器具体可以用于实现调用预先建立的各个故障场景;对各个故障场景进行多重正交分析,得到多个故障场景组合;针对每个故障场景组合对分布式系统进行分析,得到分布式系统对每个故障场景组合的实际处理结果;调用预先建立的与每个故障场景组合各自对应的预期处理结果;将每个故障场景组合的实际处理结果与对应的预期处理结果进行对比分析,根据分析结果确定出分布式系统的待优化项。
86.在上述实施例的基础上,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述实现分布式系统的稳定性分析方法的步骤。
87.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(randomaccess memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
88.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
89.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将
一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
90.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
91.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其他形式的存储介质中。
92.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献