[发明专利]基于冲突的软件包依赖关系检查方法无效
申请号: | 201010241131.0 | 申请日: | 2010-07-30 |
公开(公告)号: | CN102073582A | 公开(公告)日: | 2011-05-25 |
发明(设计)人: | 兰雨晴;匡明霞 | 申请(专利权)人: | 兰雨晴 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京汇智英财专利代理事务所 11301 | 代理人: | 潘光兴 |
地址: | 100084 北京市海淀区圆*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 冲突 软件包 依赖 关系 检查 方法 | ||
技术领域
本发明涉及软件包管理技术领域,特别是指适用于Linux分发端的,对Linux下的软件包依赖关系可满足性检查的方法。
背景技术
当前管理软件包之间复杂依赖关系的工具或方法从用途上来说主要分为两种:基于客户端的包依赖管理工具和基于分发端的包依赖管理工具。在客户端包依赖管理工具方面,通常Linux分发版本都提供客户端依赖管理工具以支持客户端的包管理,如Debian Linux的apt-get,RedHatLinux的yum,Suse Linux的red carpet等,而且有研究人员针对apt-get和yum存在的不完整性等问题,研究形成了优化的或性能更好的客户端包管理工具,如Smart和Optimal。分发端包依赖管理工具方面,目前没有相关的工具,大多都是复用客户端的软件包管理工具,由维护人员进行进一步的管理。但是随着分发端的规模不断扩大,现有的软件包管理工具并不能完成分发端的软件包依赖完整性检查,维护人员工作量日益庞大。
因此,随着Linux功能的不断扩充和增长,如何有效地维护数量庞大的软件包之间的依赖关系,是所有Linux操作系统厂商面临的共同挑战:新软件包是否与原有软件包集合中的各软件包存在冲突?新软件包依赖的所有软件包在原有软件包集合中是否存在?当原有软件包集合中的某个软件包获得更新时,原来的依赖关系是否依然存在,或是否导致冲突?当原有软件包集合中的某个软件包被删除或弃用时,原来的依赖关系是否仍然能够保持,或需要重新调整,或导致局部依赖链被破坏?根据行业用户的特殊需求,如何快速制定出一个专用的Linux操作系统发布版本,其中只包含所需的软件包?而当用户安装、卸载、更新软件包时,软件包集合依赖关系的更新维护对用户来说应该是透明的。
这些问题的解决可以归结为:在一个软件包集合中,任意一个软件包是否依赖可满足?
而对于软件包依赖关系检查技术来说,尚没有关于可以利用软件包之间的冲突关系来检查软件包依赖关系的方法。
本发明基于冲突的依赖关系检查方法是基于在实际检查环境中引发依赖不满足的原因和虚假冲突的大量存在而提出的,本发明考虑到DEB包格式中的复合依赖设定了优先级的概念,同样适用于DEB和RPM两种包格式分发端的依赖完整性检查,由于RPM包格式分发端中的虚假依赖比例很高,应用本发明可以达到很高的效率,故本发明多用于RPM包格式分发端的依赖完整性检查。
发明内容
有鉴于此,本发明的主要目的在于解决上述问题,减轻维护人员工作强度,提高分发端软件包管理的自动化程度,提供一种基于冲突的软件包依赖关系检查方法,所要解决的技术问题如何对Linux分发端软件包依赖完整性进行检查,以提高软件包依赖关系管理的效率,降低软件包之间的依赖关系管理的复杂度。
对于上述技术问题,本发明是这样加以解决的。基于冲突的软件包依赖关系检查方法,包括以下步骤:步骤10:从软件包依赖关系描述文件graphml.xml中读取依赖信息并生成软件包依赖关系树;步骤20:根据依赖信息树,提取软件包的依赖包集,并对依赖包集中的每一项进行存在性检查;步骤30:根据依赖包集获取冲突包集;步骤40:依次处理冲突包集的冲突;步骤50:若所有冲突都能够解决,则软件包依赖可满足,反之则不满足。
本发明的目的及解决其技术问题还可以采用以下技术措施进一步实现。
前述的基于冲突的软件包依赖关系检查方法,其中所述的步骤10中的软件包依赖关系描述文件graphml.xml是依据专利发明申请书《一种软件包依赖关系建模方法》得到的软件包依赖关系描述文件,该描述文件采用扩展的GraphML文件格式描述。
《一种软件包依赖关系建模方法》,其步骤包括:
第一步,解析软件包中的依赖关系表示为统一软件包元数据格式Package格式,这一步可以细分为以下三个小步骤根据各种不同的Linux软件包格式,从依赖关系建模的角度,提出一种统一的软件包元数据格式Package格式及其XML表示方法;根据输入的软件包格式,读取此种软件包格式的包基的软件包文件或包基的描述文件,解析并提取软件包元数据的依赖信息;将获得的依赖信息转换为统一软件包元数据格式Package格式,并用XML表示为统一软件包元数据描述的包基描述文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于兰雨晴,未经兰雨晴许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010241131.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种护板吊运结构
- 下一篇:大型电机整体吊装简易支撑架