一种软件版本风险评估方法、装置、电子设备及存储介质与流程

文档序号:30582174发布日期:2022-06-29 12:57阅读:264来源:国知局
一种软件版本风险评估方法、装置、电子设备及存储介质与流程

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.第二方面,本技术实施例提供了一种软件版本风险评估装置,所述装置包括:
39.第一获取单元,用于获取风险评估请求,所述风险评估请求包括待评估版本号,所述待评估版本号对应预设知识图谱中的第一版本节点;
40.第一确定单元,用于基于所述预设知识图谱中各个版本节点间的第一类边,确定所述第一版本节点所关联的各个第二版本节点,所述第一类边指示所述第一类边连接的版本节点间存在预设版本关系;
41.第二确定单元,用于根据所述预设知识图谱中各个候选版本节点与问题节点间的第二类边,确定所述待评估版本号对应的风险评估结果,所述第二类边指示所述第二类边连接的版本节点与问题节点间存在预设问题关系,所述候选版本节点包括所述第二版本节点和所述第一版本节点。
42.一个实施例中,所述第一确定单元,具体用于:
43.基于所述预设知识图谱中各个版本节点间的第一类边,确定与所述待评估版本号对应的第一版本节点间存在可达路径的版本节点,作为第二版本节点。
44.一个实施例中,所述预设版本关系包括继承关系、包含关系和等价关系中的一种或多种;
45.所述可达路径为:以所述第一版本节点为起点,沿满足预设规则的第一类边游走到其他版本节点所经过的所有第一类边构成的路径,所述其他版本节点为第二版本节点;
46.所述预设规则包括确定第一版本节点存在的未解决问题的第一类规则,和/或确定所述第一版本节点存在的问题是否被解决的第二类规则;
47.所述第一类规则包括以下至少一条规则:
48.规则一,被所述第一版本节点继承的版本节点;
49.规则二,所述第一版本节点包含的版本节点;
50.规则三,被所述第一版本节点包含的版本节点继承的版本节点;
51.规则四,与第一目标版本节点等价的版本节点,所述第一目标版本节点包括所述第一版本节点、满足所述规则一的版本节点、满足所述规则二的版本节点和满足所述规则三的版本节点;
52.规则五,被与所述第一目标版本节点等价的版本节点继承的版本节点;
53.规则六,与所述第一目标版本节点等价的版本节点包含的版本节点;
54.规则七,被与所述第一目标版本节点等价的版本节点包含的版本节点继承的版本节点;
55.所述第二类规则包括以下至少一条规则:
56.规则八,继承所述第一版本节点的版本节点;
57.规则九,继承所述第一版本节点包含的版本节点的版本节点;
58.规则十,继承与所述第一版本节点等价的版本节点;
59.规则十一,与第二目标版本节点等价的版本节点,所述第二目标版本节点包括满足所述规则八的版本节点、满足所述规则九的版本节点和满足所述规则十的版本节点;
60.规则十二,继承与所述第二目标版本节点等价的版本节点的版本节点。
61.一个实施例中,所述预设问题关系包括引入问题关系和解决问题关系;
62.所述第二确定单元,具体用于:
63.基于所述预设知识图谱中各个候选版本节点与问题节点间的第二类边,确定候选问题节点,所述候选问题节点与所述候选版本节点存在指示引入问题关系的第二类边,且所述候选问题节点与所述候选版本节点不存在指示解决问题关系的第二类边;
64.基于所述候选问题节点所指示的问题,生成所述待评估版本号对应的风险评估结果。
65.一个实施例中,所述装置还包括:
66.第二获取单元,用于获取第一查询请求,所述第一查询请求包括所述待评估版本号和待查询问题,所述待查询问题对应所述预设知识图谱中的目标问题节点;
67.第三确定单元,用于从所述预设知识图谱中,确定与所述目标问题节点间存在第二类边的第三版本节点;
68.第一生成单元,用于基于所述预设知识图谱中所述第三版本节点的位置,以及所述待评估版本号对应的所述第一版本节点的位置,生成问题评估结果,所述问题评估结果指示所述待查询问题是否为所述待评估版本号中存在的问题。
69.一个实施例中,所述装置还包括:
70.第三获取单元,用于获取第二查询请求,所述第二查询请求包括待查询版本知识;
71.第二生成单元,用于基于所述预设知识图谱中各个版本节点的布局,生成所述待查询版本知识的查询结果。
72.第三方面,本技术实施例提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现任一所述的软件版本风险评估方法步骤。
73.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的软件版本风险评估方法步骤。
74.本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的软件版本风险评估方法。
75.本技术实施例有益效果:
76.本技术实施例提供的技术方案中,预先设定了知识图谱,该预设知识图谱中包括版本节点以及问题节点,版本节点间通过指示预设版本关系的第一类边连接,版本节点与问题节点间通过指示预设问题关系的第二类边连接。基于预设知识图谱中版本节点、问题节点、第一类边和第二类边,可准确全面地确定待评估版本号关联的版本节点,进而确定待评估版本号所关联的问题节点,这样,就可确定待评估版本号中存在的未解决问题,并且还能获知该未解决问题是在哪个软件版本引入的,以及后续在哪个软件版本被解决,因此,可在一款产品存在多个软件版本的情况下,准确定位软件版本的问题,准确全面地对软件版本进行风险评估。
77.当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
78.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
79.图1为本技术实施例提供的基于版本节点和版本节点间的第一类边构建的版本树的一种结构示意图;
80.图2为对图1所示的版本树的基础中添加问题节点后得到的预设知识图谱的一种结构示意图;
81.图3为本技术实施例提供的软件版本风险评估方法的第一种流程示意图;
82.图4为本技术实施例提供的软件版本风险评估方法的第二种流程示意图;
83.图5为本技术实施例提供的软件版本风险评估方法的第三种流程示意图;
84.图6为本技术实施例提供的软件版本风险评估方法的第四种流程示意图;
85.图7为本技术实施例提供的软件版本风险评估方法的第五种流程示意图;
86.图8为本技术实施例提供的软件版本风险评估装置的一种结构示意图;
87.图9为用来实现本技术实施例提供的软件版本风险评估方法的电子设备的一种结构示意图。
具体实施方式
88.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本技术保护的范围。
89.一款产品发布后,该产品的软件版本会不断的升级更新,进而迭代发布。但是对于用户来说,其并不是随时升级产品的新软件版本,这导致市场上用户安装的同一款产品的软件版本的种类繁多。对于一个软件版本,其可能会继承之前软件版本引入的问题,本身也可能会引入问题,还可能会解决之前软件版本引入的问题等,并且同一软件版本的表达方式具有多样性,因此产品开发人员难以定位每个软件版本存在的未解决的问题,以及这些问题在后续的软件版本中是否已经解决,这使得用户难以得知当前使用的软件版本所存在的风险。
90.为解决上述问题,本技术实施例提供了一种软件版本风险评估方法,该方法中,预先设定了知识图谱,该预设知识图谱中包括版本节点以及问题节点,版本节点间通过指示预设版本关系的第一类边连接,版本节点与问题节点间通过指示预设问题关系的第二类边连接。基于预设知识图谱中版本节点、问题节点、第一类边和第二类边,可准确全面地确定待评估版本号关联的版本节点,进而确定待评估版本号所关联的问题节点,这样,就可确定待评估版本号中存在的未解决问题,并且还能获知该未解决问题是在哪个软件版本引入的,以及后续在哪个软件版本被解决,因此,可在一款产品存在多个软件版本的情况下,准确定位软件版本的问题,准确全面地对软件版本进行风险评估。
91.另外,预设知识图谱中,版本节点间由第一类边连接,第一类边可以指示版本节点间的各种预设版本关系。这种情况下,无论由于表达方式多样,导致一种软件版本存在多种软件版本号,还是软件版本更新,导致一种产品具有多个软件版本号,基于该预设知识图
谱,均可获取到与第一版本节点间存在上述各种关联关系(也可以称为版本关系)的版本节点,得到第一版本节点的所有相关问题,便于对软件版本存在的未解决问题进行定位,提高了软件版本评估的全面性和准确性。
92.下面通过具体实施例对本技术实施例提供的软件版本风险评估方法进行详细说明。为便于理解,下面以电子设备为执行主体进行说明,对此不进行限定。
93.本技术实施例中,电子设备中预先设定了知识图谱,即预设知识图谱,该预设知识图谱包括多个版本节点和多个问题节点。版本节点与软件版本号一一对应。不同的软件版本号可以采用不同类型的版本节点管理,例如,可以用pdtversion(简写为pdtv)管理内核版本节点,用platversion(简写为platv)管理平台版本节点,用bootversion(简写为bootv)管理固件版本节点,用releaseversion(简写为rlsv)管理外部版本节点,可以用buildversion(简写为bv)管理内部版本节点等。其中,rlsv或bv可以理解为一个完整的系统版本,如一个交换机的系统版本;pdtv、platv或bootv可以理解为一个系统版本中各个部件的版本,系统版本包括一个或多个部件的版本,部件的版本间互不隶属。
94.为了便于对版本节点的管理,还可以根据软件版本号自身的版本特点,建立相应的属性信息,例如,“是否为补丁版本”和“版本发布时间”等。
95.预设知识图谱中,版本节点间通过边连接,为便于区分,后续将版本节点间的边称为第一类边,第一类边指示该第一类边所连接的版本节点间存在预设版本关系。该预设版本关系包括继承关系、包含关系和等价关系中的一种或多种。版本节点以及版本节点间的第一类边构成版本树,如图1所示的版本树,版本树为预设知识图谱中的一部分,如图2所示的知识图谱,该知识图谱除包括版本树,还可以包括问题数据。图1和图2中,每个圆圈表示一个节点,如版本节点或问题节点,带“继承”的边表示继承关系,带“包含”的边表示包含关系,带“等价”的边表示等价关系。
96.其中,继承关系可以包括“子版本”关系类数据,如图1所示的rlsv1和rlsv2之间的关系,即rlsv1被rlsv2继承,rlsv2继承rlsv1。继承关系还可以包括“孙版本”关系类数据,如图2所示的rlsv1和rlsv3之间的关系(图2中未示出)。该继承关系可以用来关联两个软件版本号的继承关系。继承关系还可以包括其他继承关系类数据,对此不进行限定。
97.包含关系为“包含”关系类数据。例如,rlsv包含pdtv、platv和bootv等,也就是,pdtv、platv、bootv和rlsv具有唯一映射关系,如图1中,rlsv1包含pdtv5、platv1和bootv5,pdtv5、platv1、bootv5和rlsv1具有唯一映射关系。这种包含关系的建立,可以很清晰的展示每个对外发布的系统版本包含的各部分软件版本的版本号。
98.等价关系为“等价”关系类数据。等价关系用来关联两个软件版本相同但是软件版本号不同的版本节点,例如,同样的软件版本,在面向海外市场时发布的软件版本号为a,面向国内市场时发布的软件版本号为b,那么,预设知识图谱下a节点和b节点之间就是等价关系。若两个等价的版本节点下分别存在多个版本节点,这两个等价的版本节点下的多个版本节点一一对应,这里,对应的两个版本节点即为等价节点,例如,等价的rlsv与bv下的版本节点一一对应,如图1所示,rlsv1与rlsv4等价,rlsv4与bv1等价,rlsv1下包括rlsv2和rlsv5,则bv1应该包括一个与rlsv2对应的版本节点和一个与rlsv5对应的版本节点。
99.本技术实施例中,为使得版本树和知识图谱更为清晰,同一类型的版本节点划分为一个组,并按照该组版本节点间的版本关系,建立该组版本节点对应的版本子树,如图1
和图2所示,每个包括版本节点的矩形框代表一个版本子树。以图1为例进行说明,图1中,pdtv划分为一组,构建了版本子树1;platv划分为一组,构建了版本子树2;bootv划分为一组,构建了版本子树3;rlsv划分为一组,构建了版本子树4;bv划分为一组,构建了版本子树5,等等。
100.预设知识图谱还包括问题节点,一个问题节点指示一个问题,即问题节点用来管理相应的问题。
101.预设知识图谱中,版本节点与问题节点间通过边连接,为便于区分,后续将版本节点与问题节点间的边称为第二类边,第二类边指示该第二类边所连接的版本节点与问题节点间存在预设问题关系。该预设问题关系可以包括引入问题关系和解决问题关系等。
102.其中,引入问题关系为“引入问题”关系类数据,解决问题关系为“解决问题”关系类数据。基于预设问题关系可获知问题的生命周期。如图2所示,问题节点issue1管理的问由版本节点rlsv1引入,并由版本节点rlsv3解决,基于此,可获知问题节点issue1所管理的问题的生命周期为rlsv1-rlsv3。
103.本技术实施例中,预设问题关系还可以包括继承问题关系,对此不进行限定。如图2中,rlsv2处于问题节点issue1所管理的问题的生命周期中的一个软件版本,因此,rlsv2会继承rlsv1引入的问题节点issue1所管理的问题,即问题节点issue1与rlsv2之间会存在一条继承问题关系。
104.本技术实施例中,一个版本节点可能引入一个或多个问题,或解决一个或多个问题。以预设问题关系包括引入问题关系和解决问题关系为例,若版本节点引入多个问题,每个问题对应一个问题节点,则该版本节点会与多个问题节点存在引入问题关系;若版本节点解决多个问题,每个问题对应一个问题节点,则该版本节点会与多个问题节点存在解决问题关系。
105.基于上述预设知识图谱,本技术实施例提供的软件版本风险评估方法,如图3所示,包括如下步骤。
106.步骤s31,获取风险评估请求,风险评估请求包括待评估版本号,待评估版本号对应预设知识图谱中的第一版本节点。
107.本技术实施例中,用户向电子设备输入待评估版本号,电子设备基于待评估版本号生成风险评估请求,该风险评估请求包括待评估版本号。为便于区分和理解,在预设知识图谱中待评估版本号对应的版本节点称为第一版本节点。
108.步骤s32,基于预设知识图谱中各个版本节点间的第一类边,确定第一版本节点所关联的各个第二版本节点,第一类边指示第一类边连接的版本节点间存在预设版本关系。
109.本技术实施例中,预设知识图谱中,版本节点间存在第一类边,如上述指示继承关系、包含关系和等价关系等边。基于预设知识图谱中版本节点间的第一类边,电子设备可根据应用场景的规则,确定第一版本节点所关联的第二版本节点。不同应用场景中确定的第二版本节点的规则,如下。
110.1、在确定第一版本节点存在的未解决问题的应用场景中,确定的第二版本节点的规则,包括:a,被第一版本节点继承的版本节点,如第一版本节点的父版本节点,该父版本节点的父版本节点等;b,第一版本节点包含的版本节点,如版本节点x包含版本节点x1,版本节点x1包含版本节点x11,则版本节点x1和版本节点x11均属于第一版本节点包含的版本
节点;c,被第一版本节点包含的版本节点继承的版本节点;d,与第一目标版本节点(包括第一版本节点、上述应用场景1中规则a、b和c所述的版本节点)等价的版本节点;e,被与第一目标版本节点等价的版本节点继承的版本节点;f,与第一目标版本节点等价的版本节点包含的版本节点;g,被与第一目标版本节点等价的版本节点包含的版本节点继承的版本节点等。
111.2、在确定第一版本节点存在的问题是否被解决时的应用场景中,确定的第二版本节点的规则,包括:a,继承第一版本节点的版本节点,如第一版本节点的子版本节点,该子版本节点的子版本节点等;b,继承第一版本节点包含的版本节点的版本节点;c,继承与第一版本节点等价的版本节点;d,与第二目标版本节点(包括上述应用场景2中规则a、b和c所述的版本节点)等价的版本节点;e,继承与第二目标版本节点等价的版本节点的版本节点等。
112.本技术实施例中,在确定第二版本节点,也可以不考虑应用场景,即电子设备基于预设知识图谱中版本节点间的第一类边,可以将上述应用场景1和2中确定的版本节点均作为第二版本节点。以图2所示的预设知识图谱为例,待评估版本号为rlsv2,则电子设备可确定与rlsv2存在关联关系的第二版本节点可以包括rlsv1和rlsv3,rlsv1包含的各个pdtv、platv和bootv,rlsv3包含的各个pdtv、platv和bootv,以及与上述各个版本节点存在继承关系、包含关系或等价关系的其他节点等。
113.步骤s33,根据预设知识图谱中各个候选版本节点与问题节点间的第二类边,确定待评估版本号对应的风险评估结果,第二类边指示第二类边连接的版本节点与问题节点间存在预设问题关系,候选版本节点包括第二版本节点和第一版本节点。
114.本技术实施例中,电子设备将第二版本节点和第一版本节点作为候选版本节点,根据各个候选版本节点与问题节点间的第二类边,确定待评估版本号继承之前软件版本的未解决问题、引入的问题以及解决的问题等,进而生成待评估版本号对应的风险评估结果。该风险评估结果可以是待评估版本号中存在的未解决问题,如继承之前软件版本的未解决问题、本身引入的问题等。一个实施例中,风险评估结果还可以包括解决待评估版本号中存在的问题的软件版本号,以及所解决的问题等,以协助用户更为准确的了解软件版本的风险,促进软件版本的应用推广。
115.为了便于对问题节点的管理,以及进行风险评估,预设知识图谱中,每个问题节点可以包含“所在问题库”、“产品线”、“问题描述”、“解决方案”、“故障根因”、以及“负责人”等相关问题属性,电子设备可以将待评估版本号中存在的未解决问题的问题属性以及所解决的问题属性添加在风险评估结果中,便于用户更好的了解问题,获得问题的解决方法等。
116.本技术实施例提供的技术方案中,预先设定了知识图谱,该预设知识图谱中包括版本节点以及问题节点,版本节点间通过指示预设版本关系的第一类边连接,版本节点与问题节点间通过指示预设问题关系的第二类边连接。基于预设知识图谱中版本节点、问题节点、第一类边和第二类边,可准确全面地确定待评估版本号关联的版本节点,进而确定待评估版本号所关联的问题节点,这样,就可确定待评估版本号中存在的未解决问题,并且还能获知该未解决问题是在哪个软件版本引入的,以及后续在哪个软件版本被解决,因此,可在一款产品存在多个软件版本的情况下,准确定位软件版本的问题,准确全面地对软件版本进行风险评。
117.另外,预设知识图谱中,版本节点间由第一类边连接,第一类边可以指示版本节点间的预设版本关系。这种情况下,无论由于表达方式多样,导致一种软件版本存在多种软件版本号,还是软件版本更新,导致一种产品具有多个软件版本号,基于该预设知识图谱,电子设备可获取到与第一版本节点间存在上述各种关联关系(也可以称为版本关系)的所有版本节点,进而可以得到第一版本节点的所有相关问题,提高了软件版本评估的全面性和准确性。
118.在本技术的一个实施例中,还提供了一种软件版本风险评估方法,如图4所示,该方法包括步骤s41-s43,步骤s41和步骤s43与上述步骤s31和步骤s33相同,此处不再赘述。
119.步骤s42,基于预设知识图谱中各个版本节点间的第一类边,确定与待评估版本号对应的第一版本节点间存在可达路径的版本节点,作为第二版本节点。
120.本技术实施例中,由第一版本节点为起点,沿满足前述步骤s32中确定第一版本节点所关联的第二版本节点的规则的第一类边游走,可到达另一个版本节点,则这两个版本节点间存在可达路径。上述步骤s42中的可达路径指的是:以第一版本节点为起点,沿满足预设规则的第一类边游走到其他版本节点所经过的所有第一类边构成的路径,所述其他版本节点为第二版本节点。其中,预设规则可以包括前述步骤s32中应用场景1和2中任一条或多条规则。
121.以图1所示的版本树为例,以rlsv1为起点,沿满足前述步骤s32中应用场景1里的规则b的第一类边1和满足前述步骤s32中应用场景1里的规则a的第一类边2游走,可到达platv2,因此,rlsv1与platv2间存在的可达路径,该可达路径包括第一类边1和第一类边2。
122.在获取到待评估版本号后,电子设备基于预设知识图谱中各个版本节点间的第一类边,确定与第一版本节点间存在可达路径的版本节点,作为第二版本节点。第二版本节点的数量可以为一个或多个。
123.本技术实施例提供的技术方案中,电子设备可以基于预设知识图谱中的第一类边,确定与第一版本节点间存在可达路径的第二版本节点,从而得到待评估版本号对应的风险评估结果。这种确定第二版本节点的方法更为直观,且简洁明了,使得电子设备能够快速地确定第二版本节点,进而提高了软件版本风险评估的效率和准确度。
124.在本技术的一个实施例中,预设问题关系包括引入问题关系和解决问题关系,引入问题关系指示版本节点引入了问题节点所指示的问题,解决问题关系指示版本节点解决了问题节点所指示的问题。基于此,本技术实施例还提供了一种软件版本风险评估方法,如图5所示,该方法可以包括步骤s51-s54,步骤s51和步骤s52与上述步骤s31和步骤s32相同,此处不再赘述。
125.步骤s53,基于预设知识图谱中各个候选版本节点与问题节点间的第二类边,确定候选问题节点,候选问题节点与候选版本节点存在指示引入问题关系的第二类边,且候选问题节点与候选版本节点不存在指示解决问题关系的第二类边。
126.本技术实施例中,第二类边指示第二类边连接的版本节点与问题节点间存在预设问题关系,预设问题关系可以包括引入问题关系和解决问题关系。也就是,第二类边连接的各个候选版本节点与问题节点间可以存在引入问题关系和解决问题关系。
127.电子设备可以将上述步骤s32中应用场景1所确定的第二版本节点以及第一版本节点作为候选版本节点,从这些候选版本节点通过第二类边连接的多个问题节点中,确定
与各个候选版本节点间存在引入问题关系且不存在解决问题关系的问题节点,并将这些问题节点作为候选问题节点。
128.步骤s54,基于候选问题节点所指示的问题,生成待评估版本号对应的风险评估结果。
129.本技术实施例中,候选问题节点所指示的问题即为待评估版本号当前存在的未解决的问题。电子设备可以获取各个候选问题节点所指示的问题,并基于这些问题,生成待评估版本号对应的风险评估结果。
130.一个示例中,电子设备可以在获取各个候选问题节点所指示的问题之后,将这些问题直接作为待评估版本号对应的风险评估结果。
131.另一个示例中,电子设备可以预先设置问题个数与风险等级的对应关系。电子设备根据候选问题节点所指示问题的总个数,以及预设问题个数与风险等级的对应关系,确定候选问题节点所指示问题的总个数对应的目标风险等级,由目标风险等级生成待评估版本号对应的风险评估结果。
132.本技术实施例中,电子设备还可以通过其他方法生成风险评估结果,风险评估结果中还可以包括其他信息,对此不进行限定。
133.本技术实施例提供的技术方案中,电子设备可以获取与候选版本节点存在引入问题关系且不存在解决问题关系的候选问题节点,进而确定待评估版本号对应的风险评估结果。这使得电子设备可以对问题节点进行筛选,去除了与候选版本节点存在解决问题关系的问题节点,仅保留了当前第一版本节点未解决的问题对应的问题节点,大大减少所确定的候选问题节点的数量,减少了计算资源的损耗,提高了软件版本风险评估的效率。
134.在本技术的一个实施例中,还提供了一种软件版本风险评估方法,如图6所示,该方法可以包括步骤s61-s63。
135.步骤s61,获取第一查询请求,第一查询请求包括待评估版本号和待查询问题,待查询问题对应预设知识图谱中的目标问题节点。
136.本技术实施例中,预设知识图谱中的每个问题节点指示一个或多个问题。待查询问题对应目标问题节点表示:待查询问题为目标问题节点指示的一个或多个问题中的一个问题。电子设备获取包含有评估版本号和待查询问题的第一查询请求。
137.步骤s62,从预设知识图谱中,确定与目标问题节点间存在第二类边的第三版本节点。
138.预设知识图谱中存在与目标问题节点间存在引入问题关系的版本节点,还可能存在与目标问题节点间存在解决问题关系的版本节点,这些版本节点与目标问题节点间均存在第二类边,为便于区分和理解,与目标问题节点间存在第二类边的这些版本节点称为第三版本节点。
139.在获取到第一查询请求后,电子设备从预设知识图谱中,确定与目标问题节点间存在第二类边的第三版本节点。
140.步骤s63,基于预设知识图谱中第三版本节点的位置,以及待评估版本号对应的第一版本节点的位置,生成问题评估结果,问题评估结果指示待查询问题是否为待评估版本号中存在的问题。
141.电子设备基于预设知识图谱可以得到待评估版本号对应的版本节点的位置。电子
设备可以将待评估版本号对应的版本节点的位置与第三版本节点的位置对比,确定待查询问题是否为待评估版本号中存在的问题,并生成问题评估结果。
142.如图2所示,以issue1为目标问题节点为例,issue1与版本节点rlsv1存在引入问题关系,问题节点issue1与版本节点rlsv3存在解决问题关系,则rlsv1和rlsv3都可以看作为第三版本节点。若待评估版本号对应的版本节点为rlsv2,则基于图2所示的rlsv1、rlsv3和rlsv2的位置,可获知rlsv2继承rlsv1,rlsv3继承rlsv2,进而可确定rlsv2会继承rlsv1引入的问题节点issue1所管理的问题,rlsv3才解决rlsv1引入的问题节点issue1,问题节点issue1所管理的问题为rlsv2中存在的问题,电子设备生成指示问题节点issue1所管理的问题为rlsv2中存在的问题的问题评估结果;若待评估版本号对应的版本节点为rlsv3,则基于图2所示的rlsv1和rlsv3的位置,可确定rlsv3解决rlsv1引入的问题节点issue1所管理的问题,问题节点issue1所管理的问题不是rlsv3中存在的问题,即rlsv3已解决了issue1所指示的问题,电子设备生成指示issue1不是rlsv3中存在的问题的问题评估结果。
143.为便于了解产品的情况,本技术实施例中,问题评估结果还可以包括指示待查询问题为哪个版本节点引入的问题,以及哪个版本节点解决的问题。这样,用户就及时合理的对产品的软件版本进行调整,而不用浪费过多的人力解决已经在后续软件版本已解决的问题。
144.本技术实施例提供的技术方案中,电子设备基于待查询问题对应预设知识图谱中的目标问题节点,确定与目标问题节点间存在第二类边的第三版本节点,从而确定待查询问题是否为待评估版本号中存在的问题。这使得电子设备可以对待查询问题进行快速定位,以确定待评估版本号中是否存在该问题。这提高了问题定位的效率,进而提升了软件版本风险评估方法的效率,并且减少了人力物力的损耗。
145.在本技术的一个实施例中,还提供了一种软件版本风险评估方法,如图7所示,该方法可以包括步骤s71-s72。
146.步骤s71,获取第二查询请求,第二查询请求包括待查询版本知识。
147.本技术实施例中,待查询版本知识可以包括版本节点的对应关系、版本树信息、问题发生时搭载的软件版本号和软件版本号间的关系中的一种或多种。电子设备可以获取包含有待查询版本知识的第二查询请求。
148.步骤s72,基于预设知识图谱中各个版本节点的布局,生成待查询版本知识的查询结果。
149.电子设备可以基于预设知识图谱中各个软件版本号对应的版本节点的布局,对待查询版本知识进行查询,生成待查询版本知识的查询结果。
150.例如,待查询版本知识为版本节点的对应关系。电子设备按照自然语言语法,利用预设知识图谱中待查询版本节点间的第一类边,生成待查询版本知识的查询结果。如图1所示,待查询版本知识为查询rlsv1与platv5的对应关系时,从图1中可知,rlsv1包含platv1,platv1被platv5继承,基于此,电子设备生成的查询结果可以为:platv5为rlsv1包含的platv1的子版本节点。
151.再例如,待查询版本知识为问题发生时搭载的软件版本号。电子设备可以获取指示发生的问题的问题节点,确定与该问题节点存在引入问题关系和解决问题关系的版本节点,进而生成待查询版本知识的查询结果。如图2所示,待查询版本知识为发生的问题1,问
题1为问题节点issue1所管理的一个问题时,问题节点issue1与rlsv1存在引入问题关系,问题节点issue1与rlsv3存在解决问题关系,基于此,电子设备生成的查询结果可以为:rlsv1引入问题1,rlsv3解决了问题1。
152.其他版本知识的查询可参见上述版本节点的对应关系和问题发生时搭载的软件版本号的查询,此处不再赘述。
153.本技术实施例提供的技术方案中,电子设备可以对预设知识图谱中的版本知识进行查询,这增加了软件版本风险评估方法的适用性,在用户需要对预设知识图谱有所了解的时候,用户可以随时对预设知识图谱中的版本知识进行查询,极大的方便了用户对预设知识图谱的认识。
154.与上述软件版本风险评估方法对应,本技术实施例提供了一种软件版本风险评估装置,如图8所示,该装置包括:
155.第一获取单元81,用于获取风险评估请求,风险评估请求包括待评估版本号,待评估版本号对应预设知识图谱中的第一版本节点;
156.第一确定单元82,用于基于预设知识图谱中各个版本节点间的第一类边,确定第一版本节点所关联的各个第二版本节点,第一类边指示第一类边连接的版本节点间存在预设版本关系;
157.第二确定单元83,用于根据预设知识图谱中各个候选版本节点与问题节点间的第二类边,确定待评估版本号对应的风险评估结果,第二类边指示第二类边连接的版本节点与问题节点间存在预设问题关系,候选版本节点包括第二版本节点和第一版本节点。
158.一个实施例中,第一确定单元82,具体可以用于:
159.基于预设知识图谱中各个版本节点间的第一类边,确定与待评估版本号对应的第一版本节点间存在可达路径的版本节点,作为第二版本节点。
160.一个实施例中,预设版本关系包括继承关系、包含关系和等价关系中的一种或多种;
161.可达路径可以为:以第一版本节点为起点,沿满足预设规则的第一类边游走到其他版本节点所经过的所有第一类边构成的路径,其他版本节点为第二版本节点;
162.预设规则包括确定第一版本节点存在的未解决问题的第一类规则,和/或确定第一版本节点存在的问题是否被解决的第二类规则;
163.第一类规则包括以下至少一条规则:
164.规则一,被第一版本节点继承的版本节点;
165.规则二,第一版本节点包含的版本节点;
166.规则三,被第一版本节点包含的版本节点继承的版本节点;
167.规则四,与第一目标版本节点等价的版本节点,第一目标版本节点包括第一版本节点、满足规则一的版本节点、满足规则二的版本节点和满足规则三的版本节点;
168.规则五,被与第一目标版本节点等价的版本节点继承的版本节点;
169.规则六,与第一目标版本节点等价的版本节点包含的版本节点;
170.规则七,被与第一目标版本节点等价的版本节点包含的版本节点继承的版本节点;
171.第二类规则包括以下至少一条规则:
172.规则八,继承第一版本节点的版本节点;
173.规则九,继承第一版本节点包含的版本节点的版本节点;
174.规则十,继承与第一版本节点等价的版本节点;
175.规则十一,与第二目标版本节点等价的版本节点,第二目标版本节点包括满足规则八的版本节点、满足规则九的版本节点和满足规则十的版本节点;
176.规则十二,继承与第二目标版本节点等价的版本节点的版本节点。
177.一个实施例中,预设问题关系可以包括引入问题关系和解决问题关系;
178.第二确定单元83,具体可以用于:
179.基于预设知识图谱中各个候选版本节点与问题节点间的第二类边,确定候选问题节点,候选问题节点与候选版本节点存在指示引入问题关系的第二类边,且候选问题节点与候选版本节点不存在指示解决问题关系的第二类边;
180.基于候选问题节点所指示的问题,生成待评估版本号对应的风险评估结果。
181.一个实施例中,上述软件版本风险评估装置还可以包括:
182.第二获取单元,用于获取第一查询请求,第一查询请求包括待评估版本号和待查询问题,待查询问题对应预设知识图谱中的目标问题节点;
183.第三确定单元,用于从预设知识图谱中,确定与目标问题节点间存在第二类边的第三版本节点;
184.第一生成单元,用于基于预设知识图谱中第三版本节点的位置,以及待评估版本号对应的第一版本节点的位置,生成问题评估结果,问题评估结果指示待查询问题是否为待评估版本号中存在的问题。
185.一个实施例中,上述软件版本风险评估装置还可以包括:
186.第三获取单元,用于获取第二查询请求,第二查询请求包括待查询版本知识;
187.第二生成单元,用于基于预设知识图谱中各个版本节点的布局,生成待查询版本知识的查询结果。
188.本技术实施例提供的技术方案中,预先设定了知识图谱,该预设知识图谱中包括版本节点以及问题节点,版本节点间通过指示预设版本关系的第一类边连接,版本节点与问题节点间通过指示预设问题关系的第二类边连接。基于预设知识图谱中版本节点、问题节点、第一类边和第二类边,可准确全面地确定待评估版本号关联的版本节点,进而确定待评估版本号所关联的问题节点,这样,就可确定待评估版本号中存在的已知问题,并且还能获知该已知问题是在哪个软件版本引入的,以及后续在哪个软件版本被解决,因此,可准确全面地生成风险评估结果,无需耗费人力物力定位问题,解决了在一款产品存在多个软件版本的情况下,由问题定位带来的人力物力的浪费的问题。
189.另外,预设知识图谱中,版本节点间由第一类边连接,第一类边可以指示版本节点间的预设版本关系。这种情况下,无论由于表达方式多样,导致一种软件版本存在多种软件版本号,还是软件版本更新,导致一种产品具有多个软件版本号,基于该预设知识图谱,电子设备可获取到与第一版本节点间存在上述各种关联关系(也可以称为版本关系)的所有版本节点,得到第一版本节点的所有相关问题,提高了软件版本评估的全面性和准确性。
190.与上述软件版本风险评估方法对应,本技术实施例还提供了一种电子设备,如图9所示,包括处理器91和机器可读存储介质92,机器可读存储介质92存储有能够被处理器91
执行的机器可执行指令,处理器91被机器可执行指令促使:实现上述任一软件版本风险评估方法的步骤。
191.机器可读存储介质可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。存储器还可以是至少一个位于远离前述处理器的存储装置。
192.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
193.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一软件版本风险评估方法的步骤。
194.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一软件版本风险评估方法的步骤。
195.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
196.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
197.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、存储介质和计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
198.以上所述仅为本技术的较佳实施例,并非用于限定本技术的保护范围。凡在本申
请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1