1.本公开实施例涉及计算机软件技术领域,尤其涉及一种软件系统的
性能分析方法及设备。
背景技术:
2.计算机软件系统用于通过软件向用户提供服务,计算机软件系统可以简称为软件系统。例如,软件系统可以为互联网系统,用于通过网络向用户提供各种新闻资讯、购物服务、社交服务等。
3.现有技术中,软件系统通常是一个很复杂的系统,包括多个服务器,例如,分布式软件系统。不同服务器之间相互配合使用,以提高软件系统的性能。在软件系统的运行过程中,软件开发工程师可以对软件系统的性能测试结果进行分析,以确定软件系统是否需要优化,以及如何优化。
4.然而,上述方案对软件系统的性能提成有限。
技术实现要素:
5.本公开实施例提供一种软件系统的性能分析方法及设备,以更好的提高软件系统的性能。
6.第一方面,本公开实施例提供一种软件系统的性能分析方法,
所述方法包括:
7.在交互界面中显示多个已训练机器
模型;
8.接收用户在所述多个已训练机器模型中选取的目标机器模型,以及,所述用户在所述交互界面中输入的所述软件系统的性能状态
数据,所述性能状态数据包括:所述软件系统的资源状态数据、所述软件系统对任务的处理性能数据、所述软件系统的运行环境数据;
9.通过所述目标机器模型预测所述性能状态数据对应的优化策略,所述优化策略用于对所述软件系统进行优化;
10.在所述交互界面中显示所述优化策略。
11.可选地,所述在交互界面中显示多个已训练机器模型之前,还包括:
12.在所述交互界面中显示多个可支持机器模型;
13.接收用户从所述多个可支持机器模型中选取的待训练机器模型;
14.对选取的所述待训练机器模型进行训练,得到所述已训练机器模型。
15.可选地,所述方法还包括:
16.在所述交互界面中显示以下至少一种模型状态数据:所述目标机器模型对所述优化策略的预测进度、所述待训练机器模型的训练进度、所述已训练机器模型的准确度。
17.可选地,所述通过所述目标机器模型预测所述性能状态数据对应的优化策略,包括:
18.计算所述性能状态数据与样本集中的样本性能状态数据之间的相似度;
19.从相似度最大的k个样本性能状态数据分别对应的样本标签中,选取数量最多的样本标签作为所述性能状态数据对应的预测标签;
20.将所述预测标签对应的优化策略确定为所述性能状态数据对应的优化策略。
21.可选地,所述对选取的所述待训练机器模型进行训练,得到所述已训练机器模型,包括:
22.将样本集中的样本性能状态数据划分到多个子集合中;
23.通过各所述子集合依次对所述弱分类器进行训练,后一个子集合对前一个子集合训练得到的弱分类器继续进行训练;
24.将各所述子集合训练得到的弱分类器合并为强分类器,以将所述强分类器作为所述已训练机器模型。
25.可选地,所述对选取的所述待训练机器模型进行训练,得到所述已训练机器模型,包括:
26.将样本集中的样本性能状态数据划分到多个子集合中;
27.通过各所述子集合对多个孤立树进行训练,每个所述子集合用于训练一个孤立树,以将多个所述孤立树作为所述已训练机器模型,不同孤立树之间的训练相互独立;
28.所述通过所述目标机器模型预测所述性能状态数据对应的优化策略,包括:
29.将所述性能状态数据对应的向量输入到每个所述孤立树中,得到预测标签;
30.将各所述孤立树得到的预测标签进行加权平均得到预测标签;
31.将所述预测标签对应的优化策略作为所述性能状态数据的优化策略。
32.可选地,所述对选取的所述待训练机器模型进行训练,得到所述已训练机器模型,包括:
33.将样本集中的样本性能状态数据的向量输入到决策树中,得到预测标签;
34.根据所述预测标签和所述样本性能状态数据对应的样本标签,确定损失值;
35.若所述损失值不满足预设收敛条件,则对所述决策树进行调整,以返回所述将样本集中的样本性能状态数据的向量输入到决策树中,得到预测标签的步骤,直至所述损失值满足预设收敛条件时,将当前的决策树作为训练得到的决策树。
36.第二方面,本公开实施例提供一种软件系统的性能分析装置,包括:
37.已训练模型显示模块,用于在交互界面中显示多个已训练机器模型;
38.目标模型选取模块,用于接收用户在所述多个已训练机器模型中选取的目标机器模型,以及,所述用户在所述交互界面中输入的所述软件系统的性能状态数据,所述性能状态数据包括:所述软件系统的资源状态数据、所述软件系统对任务的处理性能数据、所述软件系统的运行环境数据;
39.优化策略预测模块,用于通过所述目标机器模型预测所述性能状态数据对应的优化策略,所述优化策略用于对所述软件系统进行优化;
40.优化策略显示模块,用于在所述交互界面中显示所述优化策略。
41.可选地,还包括:
42.可训练模型显示模块,用于在交互界面中显示多个已训练机器模型之前,在所述交互界面中显示多个可支持机器模型;
43.待训练模型接收模块,用于接收用户从所述多个可支持机器模型中选取的待训练
机器模型;
44.模型训练模块,用于对选取的所述待训练机器模型进行训练,得到所述已训练机器模型。
45.可选地,所述装置还包括:
46.模型状态数据显示模块,用于在所述交互界面中显示以下至少一种模型状态数据:所述目标机器模型对所述优化策略的预测进度、所述待训练机器模型的训练进度、所述已训练机器模型的准确度。
47.可选地,所述优化策略预测模块还用于:
48.计算所述性能状态数据与样本集中的样本性能状态数据之间的相似度;
49.从相似度最大的k个样本性能状态数据分别对应的样本标签中,选取数量最多的样本标签作为所述性能状态数据对应的预测标签;
50.将所述预测标签对应的优化策略确定为所述性能状态数据对应的优化策略。
51.可选地,所述模型训练模块还用于:
52.将样本集中的样本性能状态数据划分到多个子集合中;
53.通过各所述子集合依次对所述弱分类器进行训练,后一个子集合对前一个子集合训练得到的弱分类器继续进行训练;
54.将各所述子集合训练得到的弱分类器合并为强分类器,以将所述强分类器作为所述已训练机器模型。
55.可选地,所述模型训练模块还用于:
56.将样本集中的样本性能状态数据划分到多个子集合中;
57.通过各所述子集合对多个孤立树进行训练,每个所述子集合用于训练一个孤立树,以将多个所述孤立树作为所述已训练机器模型,不同孤立树之间的训练相互独立;
58.所述通过所述目标机器模型预测所述性能状态数据对应的优化策略,包括:
59.将所述性能状态数据对应的向量输入到每个所述孤立树中,得到预测标签;
60.将各所述孤立树得到的预测标签进行加权平均得到预测标签;
61.将所述预测标签对应的优化策略作为所述性能状态数据的优化策略。
62.可选地,所述模型训练模块还用于:
63.将样本集中的样本性能状态数据的向量输入到决策树中,得到预测标签;
64.根据所述预测标签和所述样本性能状态数据对应的样本标签,确定损失值;
65.若所述损失值不满足预设收敛条件,则对所述决策树进行调整,以返回所述将样本集中的样本性能状态数据的向量输入到决策树中,得到预测标签的步骤,直至所述损失值满足预设收敛条件时,将当前的决策树作为训练得到的决策树。
66.第三方面,本公开实施例还提供一种电子设备,包括:至少一个处理器和存储器;
67.所述存储器存储计算机执行指令;
68.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备实现第一方面所述的方法。
69.第四方面,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当计算设备执行所述计算机执行指令时,使计算设备实现如第一方面所述的方法。
70.第五方面,本公开实施例还提供一种计算机程序产品,所述计算机程序产品用于执行第一方面所述的方法。
71.本公开实施例提供的软件系统的性能分析方法及设备,包括:在交互界面中显示多个已训练机器模型;接收用户在多个已训练机器模型中选取的目标机器模型,以及,用户在交互界面中输入的软件系统的性能状态数据,性能状态数据包括:软件系统的资源状态数据、软件系统对任务的处理性能数据、软件系统的运行环境数据;通过目标机器模型预测性能状态数据对应的优化策略,优化策略用于对软件系统进行优化;在交互界面中显示优化策略。一方面,性能状态数据用于从多个维度上对软件系统的性能进行描述,以准确的表示软件系统的性能,可以提高优化策略准确度,更好的提高软件系统的性能。另一方面,机器模型可以全面的学习到性能状态数据和优化策略之间的关系,以根据性能状态数据得到较全面的优化策略,也可以更好的提高软件系统的性能。
附图说明
72.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开实施例的实施例,并与说明书一起用于解释本公开实施例的原理。
73.图1是本公开实施例提供的软件系统的结构示意图;
74.图2是本公开实施例提供的一种软件系统的性能分析方法的步骤流程图;
75.图3是本公开实施例提供的一种交互界面的结构示意图;
76.图4是本公开实施例提供的一种性能状态数据的向量和k个样本性能状态数据的向量之间的关系示意图;
77.图5是本公开实施例提供的一种强分类器的训练过程示意图;
78.图6是本公开实施例提供的一种随机森林的训练及应用过程示意图;
79.图7是本公开实施例提供的软件系统的性能分析工具的分层示意图;
80.图8是本公开实施例提供的一种软件系统的性能分析装置的结构示意图;
81.图9是本公开实施例提供的一种电子设备的结构框图。
82.通过上述附图,已示出本公开实施例明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开实施例构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开实施例的概念。
具体实施方式
83.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开实施例的一些方面相一致的装置和方法的例子。
84.本公开实施例可以应用于软件系统中,用于对软件系统进行分析,以获取到软件系统的优化策略,使开发工程师根据该优化策略对软件系统进行优化,以提升软件系统的性能。图1是本公开实施例提供的软件系统的结构示意图,图1示例性给出了软件系统具有以下四个服务器:s1、s2、s3和s4。其中,服务器s1、s2、s3和s4是对数据访问请求进行处理的服务器,包括但不限于:接收数据访问请求和返回响应数据。访问客户端用于将数据访问请
求发送给服务器进行处理,并接收服务器返回的响应数据。
85.本公开实施例可以通过机器模型根据软件系统的性能状态数据预测软件系统的优化策略。一方面,性能状态数据包括从多个维度上对软件系统的性能进行描述的数据,可以准确的表示软件系统的性能,有助于提高软件系统的优化策略准确度,更好的提高软件系统的性能。另一方面,机器模型可以全面的学习到性能状态数据和优化策略之间的关系,以根据性能状态数据得到较全面的优化策略,也可以更好的提高软件系统的性能。
86.此外,相较于开发工程师分析以确定优化策略,本公开实施例的机器模型预测优化策略可以节约人工成本,提高确定优化策略的效率。并且可以避免人为因素导致的错误,有助于提高准确度。
87.图2是本公开实施例提供的一种软件系统的性能分析方法的步骤流程图,图2所示的软件系统的性能分析方法可以由图1中的管理客户端执行,或其余任意客户端。图1所示的管理客户端可以用于对图1中的软件系统进行管理,例如,对软件系统中包括的服务器数量、服务器性能参数进行配置、新增服务器、删除服务器等。在本公开实施例中,上述管理客户端还可以用于从软件系统中获取软件系统的性能状态数据,以分析优化策略。当然,本公开实施例的软件系统的性能分析方法还可以由其余客户端执行,本公开实施例对执行软件系统的性能分析方法的设备不加以限制。
88.请参照图2所示,上述软件系统的性能分析方法包括:
89.s201:在交互界面中显示多个已训练机器模型。
90.图3是本公开实施例提供的一种交互界面的结构示意图。参照图3所示,交互界面中显示有多个已训练机器模型:k最近邻、决策树和随机森林,并显示有对应提示信息“请选择目标机器模型”,以提示用户从这三个已训练机器模型中选取预测优化策略所用的目标机器模型。
91.本公开实施例可以通过交互界面向用户提供多个已训练机器模型,以供用户选取识别预测标签所使用的目标机器模型,这样,可以使用户根据实际应用场景灵活的选取目标机器模型,有助于提高目标机器模型和场景的匹配度。
92.需要说明的是,上述已训练机器模型是已经训练好的机器模型,用户可以从这些已训练机器模型中选取目标机器模型。还可以从可支持机器模型中选取一个作为待训练机器模型重新进行训练之后作为目标机器模型,选取的待训练机器模型可以为已训练机器模型或未训练机器模型。
93.例如,参照图3所示,在交互界面中显示多个可支持机器模型:k最近邻、决策树、随机森林和adaboost,用户可以从这多个可支持机器模型中选取待训练机器模型,以对选取的待训练机器模型进行训练,得到已训练机器模型。
94.其中,可支持机器模型是本公开实施例可支持的所有机器模型,在可以支持更多的机器模型时,可以将新增的可支持机器模型添加到图3所示的区域r1中。当然,还可以从图3所示的区域r1中删除可支持机器模型,删除的机器模型不再是可支持机器模型。
95.可以理解的是,当用户选取的待训练机器模型为已训练机器模型时,可以对已训练机器模型继续进行训练,以进一步的提高已训练机器模型的准确度。当用户选取的待训练机器模型为未训练机器模型时,在该待训练机器模型训练结束并得到已训练机器模型时,图3所示的区域r2中会新增显示该已训练机器模型。例如,当用户从区域r1中选取
adaboost作为待训练机器模型,那么在训练结束之后,adaboost可以在区域r2中显示。
96.在一些实施方式中,还可以在上述交互界面中显示以下至少一种模型状态数据:目标机器模型对优化策略的预测进度、待训练机器模型的训练进度、已训练机器模型的准确度。
97.参照图3所示,在区域r3中显示训练进度,在区域r4中显示预测进度,两者均可以用图3所示的进度条表示,当然,还可以用百分比表示。图3在区域r5中显示待训练机器模型在训练结束时的准确度。图3中的准确度可以用百分比表示,例如,93.1%。准确度可以是根据预测标签和样本标签确定的,用于表示两者之间的一致程度。具体地,在训练机器模型结束时,机器模型对样本集中的样本性能状态数据得到预测标签,从而可以将预测标签和样本标签进行比较,并将一致的预测标签的占比作为准确度。例如,样本集中包括的样本性能状态数据有m个,那么会得到m个预测标签和m个样本标签,一个预测标签对应一个样本标签,若n个预测标签和对应的样本标签一致,那么机器模型的准确度可以为n/m。
98.需要说明的是,预测进度、训练进度和准确度均可以对应显示有机器模型的名称,以更好的提示用户。
99.上述样本集是根据历史时间内的性能状态数据得到的,可以根据经验将历史时间内的性能状态数据作为样本集中的样本性能状态数据,并且对每条样本性能状态数据设置样本标签。我们可以将样本集保存到样本数据文件中,样本数据文件可以为文本文件格式(.txt),其中的相邻性能状态数据之间用分隔符分隔开。
100.在一些实施方式中,上述样本集可以参照表1所示,表1示例性给出了五条样本性能数据。
101.表1
102.属性a属性b属性c属性d样本标签a1b1c1d11a2b2c2d22a3b3c3d33a4b4c4d41a5b5c5d52
103.s202:接收用户在多个已训练机器模型中选取的目标机器模型,以及,用户在交互界面中输入的软件系统的性能状态数据,性能状态数据包括:软件系统的资源状态数据、软件系统对任务的处理性能数据、软件系统的运行环境数据。
104.其中,资源状态数据包括:软件系统的服务器的cpu(central processing unit,中央处理单元)使用率、服务器的cpu使用趋势、服务器的内存使用率、服务器的输入输出(input-output,io)性能数据、服务器的网络性能数据。处理性能数据包括:对任务的响应时长、对任务的处理成功率、单位时间处理的任务的数量,运行环境数据包括:软件系统依赖的数据库连接池数量、软件系统使用的虚拟服务器的状态数据。
105.上述处理性能数据可以通过对软件系统进行性能测试得到,性能测试可以通过自动化的测试工具实现,具体地,可以模拟软件系统的正常工作情况、峰值工作情况以及异常负载工作情况,以对系统的各项性能进行测试,得到多项上述处理性能数据。
106.s203:通过目标机器模型预测性能状态数据对应的优化策略,优化策略用于对软
件系统进行优化。
107.具体地,可以首先将性能状态数据进行标准化处理,得到性能状态数据的向量,然后将性能状态数据的向量输入到目标机器模型中得到预测标签,最后,将预测标签对应的优化策略作为性能状态数据对应的优化策略。
108.其中,预测标签和优化策略之间的对应关系是预先设置的,例如,如下表2所示,示例性给出了5组优化策略和标签之前的对应关系,还可以设置其余对应关系。
109.表2
[0110][0111][0112]
当上述已训练机器模型为k最近邻算法时,上述通过目标机器模型预测性能状态数据对应的优化策略,包括:首先,计算性能状态数据与样本集中的样本性能状态数据之间的相似度;然后,从相似度最大的k个样本性能状态数据分别对应的样本标签中,选取数量最多的样本标签作为性能状态数据对应的预测标签;最后,将预测标签对应的优化策略确定为性能状态数据对应的优化策略。
[0113]
其中,性能状态数据与样本集中的样本性能状态数据之间的相似度的确定过程可以包括:先将性能状态数据和样本性能状态数据分别转换为初始向量,然后,对初始向量分别进行单位化,也就是将初始向量除以自身的模,得到的向量作为性能状态数据的向量,同样的方法可以得到样本性能状态数据的向量,最后,将性能状态数据额向量与一个样本性能状态数据的向量输入到相似度函数中,得到性能状态数据和样本性能状态数据之间的相似度。上述相似度函数可以为余弦相似度、欧氏距离的相似度等。
[0114]
在得到上述相似度之后,可以获取相似度最高的k个样本性能状态数据对应的k个样本标签,这k个样本标签中部分样本标签可能相同,部分样本标签可能不同。图4是本公开实施例提供的一种性能状态数据的向量和k个样本性能状态数据的向量之间的关系示意图。参照图4所示,k可以为10,圆点为性能状态数据对应的向量v1,三角形为一类样本状态数据对应的向量v2,正方形为一类样本状态数据对应的向量v3,椭圆形为一类样本状态数据对应的向量v4。v2至v4是举例v1最近的k个样本性能状态数据的向量,从图4中可以看出,v2至v4中v3出现次数最多,也就是v4对应的样本状态数据最多,从而v4对应的样本状态数据对应的样本标签为性能状态数据对应的预测标签。
[0115]
当上述已训练机器模型为adaboost对应的强分类器时,待训练机器模型也为强分类器,其训练过程包括:首先,将样本集中的样本性能状态数据划分到多个子集合中;然后,通过各子集合依次对弱分类器进行训练,后一个子集合对前一个子集合训练得到的弱分类器继续进行训练;最后,通过各子集合训练得到的弱分类器合并为强分类器,以将训练得到的强分类器作为已训练机器模型。
[0116]
图5是本公开实施例提供的一种强分类器的训练过程示意图。参照图5所示,可以
将样本集划分为三个子集合st1、st2和st3。通过子集合st1中的样本性能状态数据对初始的弱分类器cr1进行训练,得到弱分类器cr2。通过子集合cr2中的样本性能状态数据对弱分类器cr2进行训练,得到弱分类器cr3。通过子集合st3中的样本性能状态数据对弱分类器cr3进行训练,得到弱分类器cr4。最后,将弱分类器cr2、cr3和cr4合并为强分类器cr。
[0117]
上述弱分类器和强分类器可以理解为多个数学函数,强分类器可以是弱分类器的加权结果。
[0118]
上述弱分类器的训练过程可以包括:首先,将样本性能状态数据的向量输入到弱分类器中,得到样本性能状态数据对应的预测标签;然后,将预测标签和样本性能状态数据对应的样本标签输入到损失函数中,得到损失值;最后,确定损失值是否满足预设收敛条件,若损失值不满足预设收敛条件,则对弱分类器的参数进行调整,以进入将样本性能状态数据的向量输入到弱分类器中,得到样本性能状态数据对应的预测标签的步骤,进行下一轮迭代,直至损失值满足预设收敛条件时,将当前弱分类器作为训练好的弱分类器。
[0119]
其中,损失函数可以为交叉熵损失函数、均方值损失函数等。上述预设收敛条件可以包括:损失值小于或等于预设损失值阈值,和/或,多轮迭代之后损失值不再继续减小。
[0120]
在通过上述过程训练得到强分类器之后,对于待预测优化策略的性能状态数据,可以将这里的性能状态数据的向量输入到强分类器中得到预测标签,然后将预测标签对应的优化策略作为性能状态数据的优化策略。
[0121]
当上述已训练机器模型为随机森林算法对应的孤立树时,待训练机器模型也为孤立树,其训练过程包括:首先,将样本集中的样本性能状态数据划分到多个子集合中;然后,通过各子集合对多个孤立树进行训练,每个子集合用于训练一个孤立树,以将多个孤立树作为已训练机器模型,不同孤立树之间的训练相互独立。从而,对于待预测优化策略的性能状态数据,可以将这里的性能状态数据的向量输入到各孤立树中得到预测标签,然后,将各孤立树得到的预测标签进行加权平均得到预测标签;最后,将预测标签对应的优化策略作为性能状态数据的优化策略。
[0122]
图6是本公开实施例提供的一种随机森林的训练及应用过程示意图。参照图6所示,将样本集划分为子集合st1、st2和st3。通过子集合st1对孤立树t1进行训练,通过子集合st2对孤立树t2进行训练,通过子集合st3对孤立树t3进行训练,t1至t3的训练相互独立,互不影响。在得到三个孤立树t1至t3之后,对于待预测优化策略的性能状态数据,可以将这里的性能状态数据的向量输入到各孤立树t1至t3中得到预测标签l1、l2和l3,并将l1、l2和l3的加权平均值作为预测标签l,以将l对应的优化策略作为性能状态数据的优化策略。
[0123]
上述孤立树的训练过程可以包括:首先,将样本性能状态数据的向量输入到孤立树中,得到样本性能状态数据对应的预测标签;然后,将预测标签和样本性能状态数据对应的样本标签输入到损失函数中,得到损失值;最后,确定损失值是否满足预设收敛条件,若损失值不满足预设收敛条件,则对孤立树进行调整,以进入将样本性能状态数据的向量输入到孤立树中,得到样本性能状态数据对应的预测标签的步骤,进行下一轮迭代,直至损失值满足预设收敛条件时,将当前孤立树作为训练好的孤立树。
[0124]
本公开实施例可以通过上述随机森林算法为性能状态数据是预测的预测标签是根据多个独立的孤立树得到的,可以避免预测标签不会过多依赖某个孤立树。并且将样本集随机划分为子集合,并作为训练每棵孤立树的子集合,可以防止孤立树之间的相关性过
高,有助于提高每个孤立树对预测标签的贡献度,通过不相关的孤立树预测预测标签可以提高预测标签的准确度。
[0125]
当上述已训练机器模型为决策树时,待训练机器模型也为决策树,其训练过程包括:首先,将样本集中的样本性能状态数据的向量输入到决策树中,得到预测标签;然后,根据预测标签和样本性能状态数据对应的样本标签,确定损失值;最后,确定损失函数是否满足预设收敛条件。若损失值不满足预设收敛条件,则对决策树进行调整,以返回将样本集中的样本性能状态数据的向量输入到决策树中,得到预测标签的步骤,直至损失值满足预设收敛条件时,将当前的决策树作为训练得到的决策树。
[0126]
在得到上述决策树之后,对于待预测优化策略的性能状态数据,可以将这里的性能状态数据的向量输入到决策树中得到预测标签,然后将预测标签对应的优化策略作为性能状态数据的优化策略。
[0127]
s204:在交互界面中显示优化策略。
[0128]
如图3所示,可以在区域r6中显示优化策略。当然,在区域r6中可以显示预测优化策略的机器模型,以给出更好的提示效果。优化策略可以为:优化数据库索引、优化数据库锁资源竞争、优化垃圾回收机制、优化日志隔离级别、优化程序逻辑等。
[0129]
当然,还可以将优化策略存储到优化策略文件中,文件格式支持txt文本格式、csv逗号分隔值文件格式,测试人员可以随时查看获取。
[0130]
综上所述,本公开实施例的上述软件系统的性能分析方法可以集成到一起,以形成一个软件系统的性能分析工具。该工具可以划分为多个层,图7是本公开实施例提供的软件系统的性能分析工具的分层示意图。参照图7所示,软件系统的性能分析工具主要分为三层:可视化层、核心功能层、数据层。这样,可以实现对软件系统的性能分析工具的分层管理和维护,可以方便对性能分析工具的管理和维护成本,有助于对性能分析工具的管理和维护成本。
[0131]
其中,可视化层用于与用户进行交互,包括但不限于:交互界面可视化、数据可视化、智能预测可视化、其他属性图。例如,前述交互界面可视化可以为在性能分析工具中显示交互界面。数据可视化可以为在交互界面中显示优化策略等数据。智能预测可视化是指在交互界面中显示预测进度。其他属性图可以为在交互界面中显示其他属性。
[0132]
核心功能层划分为原始数据处理和模型训练以及智能预测与分析,其中,原始数据处理可以为将样本集中的样本性能状态数据转换为向量,模型训练用于将待训练机器模型进行训练得到已训练机器模型。智能预测与分析用于根据用户选中的目标机器模型预测优化策略。
[0133]
数据层划分为异常数据存储库和数据文件的组织管理和存储两部分,其中,异常数据存储库用于存储软件系统出现异常时的性能状态数据,数据文件的组织管理和存储用于对这些性能状态数据进行管理,以及存储。
[0134]
对应于上述方法实施例,图8是本公开实施例提供的一种软件系统的性能分析装置的结构示意图。请参照图8,上述软件系统的性能分析装置400,包括:
[0135]
已训练模型显示模块401,用于在交互界面中显示多个已训练机器模型。
[0136]
目标模型选取模块402,用于接收用户在所述多个已训练机器模型中选取的目标机器模型,以及,所述用户在所述交互界面中输入的所述软件系统的性能状态数据,所述性
能状态数据包括:所述软件系统的资源状态数据、所述软件系统对任务的处理性能数据、所述软件系统的运行环境数据。
[0137]
优化策略预测模块403,用于通过所述目标机器模型预测所述性能状态数据对应的优化策略,所述优化策略用于对所述软件系统进行优化。
[0138]
优化策略显示模块404,用于在所述交互界面中显示所述优化策略。
[0139]
可选地,还包括:
[0140]
可训练模型显示模块,用于在交互界面中显示多个已训练机器模型之前,在所述交互界面中显示多个可支持机器模型。
[0141]
待训练模型接收模块,用于接收用户从所述多个可支持机器模型中选取的待训练机器模型。
[0142]
模型训练模块,用于对选取的所述待训练机器模型进行训练,得到所述已训练机器模型。
[0143]
可选地,所述装置还包括:
[0144]
模型状态数据显示模块,用于在所述交互界面中显示以下至少一种模型状态数据:所述目标机器模型对所述优化策略的预测进度、所述待训练机器模型的训练进度、所述已训练机器模型的准确度。
[0145]
可选地,所述优化策略预测模块403还用于:
[0146]
计算所述性能状态数据与样本集中的样本性能状态数据之间的相似度。
[0147]
从相似度最大的k个样本性能状态数据分别对应的样本标签中,选取数量最多的样本标签作为所述性能状态数据对应的预测标签。
[0148]
将所述预测标签对应的优化策略确定为所述性能状态数据对应的优化策略。
[0149]
可选地,所述模型训练模块还用于:
[0150]
将样本集中的样本性能状态数据划分到多个子集合中;
[0151]
通过各所述子集合依次对所述弱分类器进行训练,后一个子集合对前一个子集合训练得到的弱分类器继续进行训练;
[0152]
将各所述子集合训练得到的弱分类器合并为强分类器,以将所述强分类器作为所述已训练机器模型。
[0153]
可选地,所述模型训练模块还用于:
[0154]
将样本集中的样本性能状态数据划分到多个子集合中。
[0155]
通过各所述子集合对多个孤立树进行训练,每个所述子集合用于训练一个孤立树,以将多个所述孤立树作为所述已训练机器模型,不同孤立树之间的训练相互独立。
[0156]
所述优化策略预测模块还用于:
[0157]
将所述性能状态数据对应的向量输入到每个所述孤立树中,得到预测标签。
[0158]
将各所述孤立树得到的预测标签进行加权平均得到预测标签;
[0159]
将所述预测标签对应的优化策略作为所述性能状态数据的优化策略。
[0160]
可选地,所述模型训练模块还用于:
[0161]
将样本集中的样本性能状态数据的向量输入到决策树中,得到预测标签。
[0162]
根据所述预测标签和所述样本性能状态数据对应的样本标签,确定损失值。
[0163]
若所述损失值不满足预设收敛条件,则对所述决策树进行调整,以返回所述将样
本集中的样本性能状态数据的向量输入到决策树中,得到预测标签的步骤,直至所述损失值满足预设收敛条件时,将当前的决策树作为训练得到的决策树。
[0164]
上述装置实施例是与前述方法实施例对应的实施例,具有与方法实施例相同的技术效果。该装置实施例的详细说明可以参照前述方法实施例的详细说明,在此不再赘述。
[0165]
图9是本公开实施例提供的一种电子设备的结构框图。该电子设备600包括存储器602和至少一个处理器601。
[0166]
其中,存储器602存储计算机执行指令。
[0167]
至少一个处理器601执行存储器602存储的计算机执行指令,使得电子设备600实现前述软件系统的性能分析方法。
[0168]
此外,该电子设备还可以包括接收器603和发送器604,接收器603用于接收从其余装置或设备的信息,并转发给处理器601,发送器604用于将信息发送到其余装置或设备。
[0169]
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当计算设备执行计算机执行指令时,使计算设备实现软件系统的性能分析方法。
[0170]
本公开实施例还提供一种计算机程序产品,计算机程序产品用于执行上述软件系统的性能分析方法。
[0171]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0172]
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0173]
以上仅为本公开实施例的优选实施例,并非因此限制本公开实施例的专利范围,凡是利用本公开实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本公开实施例的专利保护范围内。
技术特征:
1.一种软件系统的性能分析方法,其特征在于,所述方法包括:在交互界面中显示多个已训练机器模型;接收用户在所述多个已训练机器模型中选取的目标机器模型,以及,所述用户在所述交互界面中输入的所述软件系统的性能状态数据,所述性能状态数据包括:所述软件系统的资源状态数据、所述软件系统对任务的处理性能数据、所述软件系统的运行环境数据;通过所述目标机器模型预测所述性能状态数据对应的优化策略,所述优化策略用于对所述软件系统进行优化;在所述交互界面中显示所述优化策略。2.根据权利要求1所述的方法,其特征在于,所述在交互界面中显示多个已训练机器模型之前,还包括:在所述交互界面中显示多个可支持机器模型;接收用户从所述多个可支持机器模型中选取的待训练机器模型;对选取的所述待训练机器模型进行训练,得到所述已训练机器模型。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述交互界面中显示以下至少一种模型状态数据:所述目标机器模型对所述优化策略的预测进度、所述待训练机器模型的训练进度、所述已训练机器模型的准确度。4.根据权利要求1至3任一项所述的方法,其特征在于,所述通过所述目标机器模型预测所述性能状态数据对应的优化策略,包括:计算所述性能状态数据与样本集中的样本性能状态数据之间的相似度;从相似度最大的k个样本性能状态数据分别对应的样本标签中,选取数量最多的样本标签作为所述性能状态数据对应的预测标签;将所述预测标签对应的优化策略确定为所述性能状态数据对应的优化策略。5.根据权利要求1至3任一项所述的方法,其特征在于,所述对选取的所述待训练机器模型进行训练,得到所述已训练机器模型,包括:将样本集中的样本性能状态数据划分到多个子集合中;通过各所述子集合依次对弱分类器进行训练,后一个子集合对前一个子集合训练得到的弱分类器继续进行训练;将各所述子集合训练得到的弱分类器合并为强分类器,以将所述强分类器作为所述已训练机器模型。6.根据权利要求1至3任一项所述的方法,其特征在于,所述对选取的所述待训练机器模型进行训练,得到所述已训练机器模型,包括:将样本集中的样本性能状态数据划分到多个子集合中;通过各所述子集合对多个孤立树进行训练,每个所述子集合用于训练一个孤立树,以将多个所述孤立树作为所述已训练机器模型,不同孤立树之间的训练相互独立;所述通过所述目标机器模型预测所述性能状态数据对应的优化策略,包括:将所述性能状态数据对应的向量输入到每个所述孤立树中,得到预测标签;将各所述孤立树得到的预测标签进行加权平均得到预测标签;将所述预测标签对应的优化策略作为所述性能状态数据的优化策略。7.根据权利要求1至3任一项所述的方法,其特征在于,所述对选取的所述待训练机器
模型进行训练,得到所述已训练机器模型,包括:将样本集中的样本性能状态数据的向量输入到决策树中,得到预测标签;根据所述预测标签和所述样本性能状态数据对应的样本标签,确定损失值;若所述损失值不满足预设收敛条件,则对所述决策树进行调整,以返回所述将样本集中的样本性能状态数据的向量输入到决策树中,得到预测标签的步骤,直至所述损失值满足预设收敛条件时,将当前的决策树作为训练得到的决策树。8.一种软件系统的性能分析装置,其特征在于,包括:已训练模型显示模块,用于在交互界面中显示多个已训练机器模型;目标模型选取模块,用于接收用户在所述多个已训练机器模型中选取的目标机器模型,以及,所述用户在所述交互界面中输入的所述软件系统的性能状态数据,所述性能状态数据包括:所述软件系统的资源状态数据、所述软件系统对任务的处理性能数据、所述软件系统的运行环境数据;优化策略预测模块,用于通过所述目标机器模型预测所述性能状态数据对应的优化策略,所述优化策略用于对所述软件系统进行优化;优化策略显示模块,用于在所述交互界面中显示所述优化策略。9.一种电子设备,其特征在于,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备实现如权利要求1至7任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当计算设备执行所述计算机执行指令时,使计算设备实现如权利要求1至7任一项所述的方法。
技术总结
本公开提供一种软件系统的性能分析方法及设备,包括:在交互界面中显示多个已训练机器模型;接收用户在多个已训练机器模型中选取的目标机器模型,用户在交互界面中输入的软件系统的性能状态数据,性能状态数据包括:软件系统的资源状态数据、软件系统对任务的处理性能数据、软件系统的运行环境数据;通过目标机器模型预测性能状态数据对应的优化策略,优化策略用于对软件系统进行优化;在交互界面中显示优化策略。性能状态数据用于从多个维度上对软件系统的性能进行准确的描述,可以提高优化策略准确度,并且机器模型可以全面的学习到性能状态数据和优化策略之间的关系,以根据性能状态数据得到较全面的优化策略,可以更好的提高软件系统的性能。高软件系统的性能。高软件系统的性能。
技术研发人员:
徐海燕 金宝珠
受保护的技术使用者:
中国农业银行股份有限公司
技术研发日:
2022.09.26
技术公布日:
2022/12/30