当前位置: 首页 > 专利查询>兰雨晴专利>正文

软件包依赖关系建模方法技术

技术编号:6305830 阅读:277 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种软件包依赖关系建模方法,该方法包括:解析软件包中的依赖关系并表示为统一软件包元数据格式Package格式;将表示为统一软件包元数据格式Package格式的依赖关系用扩展的GraphML语言描述,并将其可视化。本发明专利技术对不同的软件包管理系统进行建模,可以对可安装软件包依赖关系进行管理,可以提高软件包依赖关系管理的效率,可以降低软件包之间的依赖关系管理的复杂度。

【技术实现步骤摘要】

本专利技术涉及软件包管理
特别是指一种适用于Linux操作系统的,对 Linux下的软件包中存在的依赖关系进行提取并统一建模的方法。
技术介绍
随着Linux操作系统的广泛发展,Linux操作系统的管理越来越受到人们的重视 一个Linux操作系统分发版是由大量的可安装的软件包组成的。伴随着互联网的发展, Linux操作系统的规模也越来越大,所包含的软件包的数量也越来越多。软件包之间存在着 大量复杂的依赖关系。同时,Linux系统拥有多种分发版本,有多种不同的软件包格式。如Redhat Linux 软件包为RPM格式,Debian Linux为DEB格式,软件包也可以为tgz或pkg格式。不同的 软件包格式有着较大差异。这同样增加了 Linux软件包管理的难度。具体来说,Linux下的软件包管理可分为客户端软件包管理和分发池软件包管理 两中不同的类型,分别负责软件包的本地安装维护、依赖关系处理(根据依赖关系计算结 果自动从分发系统中获取所需的软件包)和分发端的软件包维护。由于Linux操作系统的规模和复杂性通常一个分发版本由几千个可安装单元包 组成,这使得可安装软件包分发池的规模庞大,软件包之间的依赖关系更为复杂。通过可安 装软件包依赖关系管理保证每个可安装软件包的可安装性、Linux操作系统分发版本和分 发池的依赖完整性。由人工来完成可安装软件包依赖关系管理的话,分发池的规模,以及 频繁的版本变更和更新,使得该任务在集成和更新支持过程中为一个成本很高的活动。所 以,分发池的软件包管理工作就变得非常重要。在国外,国外著名的Linux分发厂商如Red Hat、Wxmtu等,都拥有自己的分发池管理工具,但这些工具都属于企业的保密资源。在国 内,对于分发池的管理还都是由工作人员人工来完成。目前,对于软件包依赖建模的工具数量并不是很多,而且多数都属于企业专用的 工具。在客户端却存在几个可以展示包依赖关系的工具。1. apt-rdepends :apt_rd印ends可以提取软件包的依赖信息,并将所提取的依赖 信息格式化为Dot语言文件。它与Graphviz的组件Dot—起工作就可以显示出某个软件 包的依赖关系。这个工具功能上有较多的限制,它只能显示的软件包的依赖信息,不能显示 冲突信息。在元数据提取上,它并没有解析所有的包的元数据,而只是对Depends关系进行 了解析。2. Linux包依赖的可视化工具在网上有一个人做了一个关于Linux包依赖的可 视化工具,它是一个web系统,服务端用Python语言框架Django写成,将包的依赖信息提 取后格式化为json的数据格式。客户端使用Mootools包解析json数据,其可视化结果是 通过利用JavaScriptlnfoVis ToolKit包来实现的。3. Ignominy Ignominy是在项目CMS IGUANA中开发出来的一个工具,它是用来对 软件系统进行分析的。它的主要部分是一个构件依赖关系的查看器,这个查看器会将依赖关系详细的解析成为可读的格式。它同时还包括了可视化收集到的数据为图像的工具。这 个工具主要用途是能够查看自己开发的软件可能出现的结构错误,来改进软件的质量。同 时它还可以对现在正在使用的外部组件进行评估和研究学习。但是,上述可以展示包依赖关系建模工具都是基于客户端软件包管理,并非分发 池软件包管理,而基于客户端软件包管理主要负责软件包的本地安装维护、依赖关系处理, 并不适用于分发端的软件包依赖关系管理。对于分发端软件包依赖关系建模技术来说,尚 没有公开的Linux下的。
技术实现思路
有鉴于此,本专利技术的主要目的在于针对Linux软件包格式众多、依赖关系复杂的 情况,提供一种基于统一软件包元数据格式和扩展的GraphML语言的统一建模方法,所要 解决的技术问题是如何对分发端的软件包依赖关系进行建模,以提高软件包依赖关系管理 的效率,降低软件包之间的依赖关系管理的复杂度。本专利技术的目的及解决其技术问题是采用以下技术方案来实现的。依据本专利技术提出 的一种基于统一软件包元数据格式和扩展的GraphML语言的统一建模方法,其包括以下步 骤步骤10 解析软件包中的依赖关系表示为统一软件包元数据格式Package格式;步骤 20 将表示为统一软件包元数据格式lockage格式的依赖关系用扩展的GraphML语言描述, 并将其可视化;其中,该统一的软件包元数据格式从依赖关系建模的角度提出,只包含了依 赖关系建模所需的必须信息;该扩展的GraphML是基于GraphML,通过为其元素增加属性和 增加<data>元素内容的方式对其进行了扩展。本专利技术的目的及解决其技术问题还可以采用以下技术措施进一步实现。前述的基于统一软件包元数据格式和扩展的GraphML语言的统一建模方法,其中 所述的步骤10还包括步骤101 根据各种不同的Linux软件包格式,从依赖关系建模的角 度,提出一种统一的软件包元数据格式Package格式及其XML表示方法;步骤102 根据输 入的软件包格式,读取此种软件包格式的包基的软件包文件或包基的描述文件,解析并提 取软件包元数据的依赖信息;步骤103 将获得的依赖信息转换为统一软件包元数据格式 Package格式,并用XML表示为统一软件包元数据描述的包基描述文件。前述的基于统一软件包元数据格式和扩展的GraphML语言的统一建模方法,其中 所述的步骤101进一步包括步骤1011 根据各种不同的Linux软件包格式,从依赖关系建 模角度给出统一软件包元数据格式Package格式所包含的元素;步骤1012 给出Package 格式中所包含的元素的描述性定义;步骤1013 根据Package格式,给出Package格式的 XML表示方法;所述的步骤102进一步包括步骤1021 根据输入的软件包格式,判断软件 包基的格式;步骤1022 根据包基的格式,读取此种格式的包基的软件包文件或包基的描 述文件;步骤1023 根据读取的软件包文件或包基的描述文件,解析并提取软件包元数据 的依赖信息;步骤103进一步包括步骤1031 将提取的软件包元数据的依赖信息转换为 面向依赖建模的Package结构;步骤1032 将Package结构转换为用XML表示的统一软件 包元数据描述的包基描述文件。前述的基于统一软件包元数据格式和扩展的GraphML语言的统一建模方法,其 中所述的步骤20还包括步骤201 基于包基建模需求,对GraphML进行扩展,得到扩展的GraphML格式;步骤202 将Package结构转换为扩展的GraphML文件格式描述,生成 graphmlxml文件;步骤203 读取graphml. xml并将其可视化。本专利技术与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本专利技术 基于统一软件包元数据格式和扩展的GraphML语言的统一建模方法有下列优点及有益效 果1.本专利技术支持多种不同软件包格式元数据的提取;2.本专利技术采用统一软件包元数据表示依赖关系,使用扩展的GraphML对依赖关系 进行统一建模,可以降低分发端软件包管理的难度和软件包维护成本,以及提高集成和更 新支持效率;3.本专利技术面向图形方式描述软件包依本文档来自技高网
...

【技术保护点】
1.一种软件包依赖关系建模方法,其是基于统一软件包元数据格式和扩展的GraphML语言的统一建模方法,其特征在于包括以下步骤:步骤10:解析软件包中的依赖关系表示为统一的软件包元数据格式Package格式;步骤20:将表示为统一软件包元数据格式Package格式的依赖关系用扩展的GraphML语言描述,并将其可视化。

【技术特征摘要】

【专利技术属性】
技术研发人员:兰雨晴匡明霞
申请(专利权)人:兰雨晴
类型:发明
国别省市:11[中国|北京]

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

1