System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于linux,特别是涉及到一种基于图数据库的linux生态依赖关系图谱构建方法及应用。
技术介绍
1、随着国产化系统的迅速发展和国产化应用生态的快速扩充,应用版本的迭代更新速度也在加快。然而,面对大量的应用,需要快速评估应用在新版系统中的兼容性问题,以确保应用能够在新版系统中正常运行。传统的应用兼容性评估方法通常需要安装测试环境并运行自动化测试工具或人工执行测试用例进行验证,耗费大量的时间和人力物力资源,无法满足快速评估的需求。
2、目前在linux系统中,可以使用apt、apt-rdepends等工具来构建单个应用的依赖树。然而,这些工具只能生成单个应用的依赖关系树,无法在一张图中同时构建多种操作系统版本和多种架构版本的生态依赖关系。
3、现有的应用兼容性评估方法需要依赖系统环境进行评估,无法脱离系统环境的依赖,且这种方式无法进行持续性评估,并且会占用大量资源。
技术实现思路
1、本专利技术的目的在于提出一种基于图数据库的linux生态依赖关系图谱构建方法及应用,将linux完整的生态依赖关系构建在一张图中,可以快速、高效地评估应用的兼容性。
2、为了实现上述目的,本专利技术的技术方案是这样实现的:
3、一种基于图数据库的linux生态依赖关系图谱构建方法,包括:
4、s1、获取操作系统全部库包信息以节点形式存入图数据库中,若节点已经存在,向节点增加所述操作系统的属性和标签;属性包含‘依赖’属性;
6、s3、获取应用软件源全部的应用信息以节点形式存入图数据库中,若节点已经存在,向节点增加所述应用信息的属性和标签;属性包含‘依赖’属性;
7、s4、遍历图数据库中的所有节点,获取每一个节点的‘依赖’属性,并在图数据库中查询是否存在与‘依赖’属性值相同的节点名称;
8、若是,在两个节点之间创建关系,并在关系中增加属性和标签;
9、若否,创建一个与‘依赖’属性值相同名称的节点并为其增加属性和标签;然后在两个节点之间创建关系,并在关系中增加属性和标签;
10、s5、重复执行步骤s1-s4,直至存储完成所有版本及所有架构的操作系统信息,构建完成linux生态依赖关系图谱。
11、进一步的,步骤s3中还包括:若节点已经存在,判断节点对应的应用版本是否小于图数据库中已经存在的应用版本:若是,不作处理;若否,向节点增加指定应用的属性和标签。
12、进一步的,步骤s4中,所述在两个节点之间创建关系,关系方向由被遍历的节点指向与节点‘依赖’属性值相同名称的节点。
13、本专利技术还提出了基于linux生态依赖关系图谱的应用兼容性评估方法;所述linux生态依赖关系图谱根据上述任一项所述基于图数据库的linux生态依赖关系图谱构建方法构建而成;包括:
14、s10、在所述linux生态依赖关系图谱中查询应用节点的所有直接或间接的依赖关系,作为应用的依赖树;所述应用节点是存入图数据库的应用信息对应的节点;
15、s11、依次对所述依赖树的每一段关系进行操作系统库包、仓库源库包的存在性和版本符合性检查;
16、s12、根据检查结果得到应用兼容性评估结果。
17、本专利技术还提出了基于linux生态依赖关系图谱的生态影响域评估方法;所述linux生态依赖关系图谱根据上述任一项所述基于图数据库的linux生态依赖关系图谱构建方法构建而成;包括:
18、s21、在所述linux生态依赖关系图谱中存入多个版本的系统信息;
19、s22、通过查询节点的标签中所包含的系统名称进行筛选,筛选出对应不同版本系统的新增或删除的节点,并分别标记为新增或删除;
20、s23、当节点标签中同时包含多个版本的系统名称时,判断节点属性的系统版本号是否相等;若是,将节点标记为未改动;若否,将节点标记为变动;
21、s24、遍历被标记为删除和变动的库包,查询出所有被直接或间接依赖的应用节点名称,作为系统库包变动而产生的生态影响域;所述应用节点是存入图数据库的应用信息对应的节点;
22、s25、在所述linux生态依赖关系图谱中查询所述生态影响域中的应用节点的所有直接或间接的依赖关系,作为应用的依赖树;依次对所述依赖树的每一段关系进行操作系统库包、仓库源库包的存在性和版本符合性检查;根据检查结果得到评估结果。
23、本专利技术另一方面还提出了一种基于图数据库的linux生态依赖关系图谱构建系统,包括:
24、系统节点单元:获取操作系统全部库包信息以节点形式存入图数据库中,若节点已经存在,向节点增加所述操作系统的属性和标签;属性包含‘依赖’属性;
25、仓库源节点单元:获取仓库源中全部库包信息以节点形式存入图数据库中,若节点已经存在,向节点增加所述仓库源的属性和标签;属性包含‘依赖’属性;
26、应用节点单元:获取应用软件源全部的应用信息以节点形式存入图数据库中,若节点已经存在,向节点增加所述应用信息的属性和标签;属性包含‘依赖’属性;
27、关系创建单元:遍历图数据库中的所有节点,获取每一个节点的‘依赖’属性,并在图数据库中查询是否存在与‘依赖’属性值相同的节点名称;若是,在两个节点之间创建关系,并在关系中增加属性和标签;若否,创建一个与‘依赖’属性值相同名称的节点并为其增加属性和标签;然后在两个节点之间创建关系,并在关系中增加属性和标签;
28、图谱单元:通过系统节点单元、仓库源节点单元、应用节点单元、关系创建单元存储完成所有版本及所有架构的操作系统信息,构建完成linux生态依赖关系图谱。
29、进一步的,应用节点单元中还包括:
30、版本判断模块:若节点已经存在,判断节点对应的应用版本是否小于图数据库中已经存在的应用版本:若是,不作处理;若否,向节点增加指定应用的属性和标签。
31、进一步的,关系创建单元中,所述在两个节点之间创建关系,关系方向由被遍历的节点指向与节点‘依赖’属性值相同名称的节点。
32、本专利技术还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述的基于图数据库的linux生态依赖关系图谱构建方法。
33、与现有技术相比,本专利技术具有如下的有益效果:
34、1.本专利技术通过节点、关系的标签和属性,能够在同一张生态依赖关系图谱中准确区分多个版本和多个架构的linux操作系统生态依赖关系;有助于更全面地了解不同版本和架构之间的依赖关系,便于进行快速的横向对比和差异分析,从而更好地管理和评估系统的兼容性。
35、2.本专利技术将多个版本和多个架构的linux操作系统生态依赖图谱存储在本文档来自技高网...
【技术保护点】
1.一种基于图数据库的linux生态依赖关系图谱构建方法,其特征在于,包括:
2.根据权利要求1所述的基于图数据库的linux生态依赖关系图谱构建方法,其特征在于,步骤S3中还包括:若节点已经存在,判断节点对应的应用版本是否小于图数据库中已经存在的应用版本:若是,不作处理;若否,向节点增加指定应用的属性和标签。
3.根据权利要求1所述的基于图数据库的linux生态依赖关系图谱构建方法,其特征在于,步骤S4中,所述在两个节点之间创建关系,关系方向由被遍历的节点指向与节点‘依赖’属性值相同名称的节点。
4.一种基于linux生态依赖关系图谱的应用兼容性评估方法;其特征在于,所述linux生态依赖关系图谱应用权利要求1-3任一项所述方法构建而成;包括:
5.一种基于linux生态依赖关系图谱的生态影响域评估方法;其特征在于,所述linux生态依赖关系图谱应用权利要求1-3任一项所述方法构建而成;包括:
6.一种基于图数据库的linux生态依赖关系图谱构建系统,其特征在于,包括:
7.根据权利要求6所述的基于图数据库
8.根据权利要求6所述的基于图数据库的linux生态依赖关系图谱构建系统,其特征在于,关系创建单元中,所述在两个节点之间创建关系,关系方向由被遍历的节点指向与节点‘依赖’属性值相同名称的节点。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如权利要求1-3任一项所述的基于图数据库的linux生态依赖关系图谱构建方法。
...【技术特征摘要】
1.一种基于图数据库的linux生态依赖关系图谱构建方法,其特征在于,包括:
2.根据权利要求1所述的基于图数据库的linux生态依赖关系图谱构建方法,其特征在于,步骤s3中还包括:若节点已经存在,判断节点对应的应用版本是否小于图数据库中已经存在的应用版本:若是,不作处理;若否,向节点增加指定应用的属性和标签。
3.根据权利要求1所述的基于图数据库的linux生态依赖关系图谱构建方法,其特征在于,步骤s4中,所述在两个节点之间创建关系,关系方向由被遍历的节点指向与节点‘依赖’属性值相同名称的节点。
4.一种基于linux生态依赖关系图谱的应用兼容性评估方法;其特征在于,所述linux生态依赖关系图谱应用权利要求1-3任一项所述方法构建而成;包括:
5.一种基于lin...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。