一种维护软件包依赖关系的方法及系统技术方案

技术编号:14526682 阅读:52 留言:0更新日期:2017-02-02 06:22
本发明专利技术涉及软件包维护领域,尤其涉及一种维护软件包依赖关系的方法及系统。本发明专利技术通过解析目标程序所需的程序库;为所述程序库中的接口分配版本号;获取所述接口依赖的软件包信息;关联所述接口的版本号和所述软件包信息,形成依赖关系;获取目标程序所需接口的版本号,得到第一版本号;添加与所述第一版本号相应的依赖关系至依赖文件。通过自动维护目标程序中的接口所依赖的软件包的信息,实现可自动获取目标程序所依赖的软件包。

【技术实现步骤摘要】

本专利技术涉及软件包维护领域,尤其涉及一种维护软件包依赖关系的方法及系统
技术介绍
随着国内电子支付市场和支付技术的发展,支付终端的软件系统也日益复杂。目前的支付终端,大都使用了基于Linux甚至Android的复杂操作系统,并支持包括IC卡、磁卡、射频卡、各种通讯方式等多种外设驱动,并实现了GUI、设备服务、管理以及多应用等多种软件功能。这些功能由于涉及不同开发部门,升级频率也不同,所以难以统一管理。基于这个特性,通常把相关一类软件做成软件模块统一管理。比如:打印驱动、IC卡驱动等。常用的维护软件模块的方式是做成软件包,比如:ipkg格式软件包。这些软件包通过版本信息进行维护。这样就实现了以软件包为单位进行维护。在软件包之间存在这一定的依赖关系,所谓软件包依赖关系,就是一个软件包只有在终端上特定一些软件模块存在且版本满足一定要求才能安装到该终端上。以1.3.1版本的软件包testapp的依赖关系为例:testsdk1(>=0.9),testsdk2(>=1.3),testsdk3(>=1.0)。在这个依赖关系中,该软件包需要依赖三个软件包:testsdk1、testsdk2和testsdk3。三者版本要求分别是:不低于0.9,不低于1.3,不低于1.0。只有满足上面条件的终端才能安装1.3.1版本的软件包。比较常见的依赖是一个软件包中的程序或库调用了另外一个软件包中的库。目前常见方法是生成软件包时,手工填写该软件包对其他软件包的依赖关系。但是,手工填写软件包依赖关系的方法具有如下缺点:首先,如果一个软件包中程序和库依赖于其它库的数量较多,则依赖关系容易漏填。其次,随着软件升级,许多库要新增接口,手工填写易出错。再者,支付终端上的应用程序由客户开发,应用软件包对依赖关系的填写更难以控制,会造成无法正常运行程序等问题。
技术实现思路
本专利技术所要解决的技术问题是:提供一种维护软件包依赖关系的方法及系统,实现可自动获取目标程序关联的软件包。为了解决上述技术问题,本专利技术采用的技术方案为:本专利技术提供一种维护软件包依赖关系的方法,包括:解析目标程序所需的程序库;为所述程序库中的接口分配版本号;获取所述接口依赖的软件包信息;关联所述接口的版本号和所述软件包信息,形成依赖关系;获取目标程序所需接口的版本号,得到第一版本号;添加与所述第一版本号相应的依赖关系至依赖文件。本专利技术还提供一种维护软件包依赖关系的系统,包括:解析模块,用于解析目标程序所需的程序库;第一分配模块,用于为所述程序库中的接口分配版本号;第一获取模块,用于获取所述接口依赖的软件包信息;第一关联模块,用于关联所述接口的版本号和所述软件包信息,形成依赖关系;第二获取模块,用于获取目标程序所需接口的版本号,得到第一版本号;第一添加模块,用于添加与所述第一版本号相应的依赖关系至依赖文件。本专利技术的有益效果在于:通过为程序库中的接口分配版本号,有利于对程序库中的接口进行统一管理;通过关联程序库中的接口的版本号与所述接口依赖的软件包的信息,有利于维护程序库中的接口与其它软件包的依赖关系;通过聚集与目标程序所需接口相对应的依赖关系,形成依赖文件,有利于通过所述依赖文件获知目标程序所依赖的软件包的信息;实现可根据依赖文件自动获取目标程序所依赖的软件包。附图说明图1为本专利技术一种维护软件包依赖关系的方法的流程框图;图2为本专利技术一种维护软件包依赖关系的系统的结构框图;标号说明:1、解析模块;2、第一分配模块;3、第一获取模块;4、第一关联模块;5、第二获取模块;6、第一添加模块;7、第三获取模块;8、第四获取模块;9、第二关联模块;10、第二添加模块;11、封装模块;12、新增模块;13、第二分配模块;14、第五获取模块;15、第三关联模块;16、第三添加模块;17、更新模块。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。本专利技术最关键的构思在于:通过自动维护目标程序中的接口所依赖的软件包的信息,实现可自动获取目标程序所依赖的软件包。如图1所示,本专利技术提供一种维护软件包依赖关系的方法,包括:解析目标程序所需的程序库;为所述程序库中的接口分配版本号;获取所述接口依赖的软件包信息;关联所述接口的版本号和所述软件包信息,形成依赖关系;获取目标程序所需接口的版本号,得到第一版本号;添加与所述第一版本号相应的依赖关系至依赖文件。进一步地,为所述程序库中的接口分配版本号,具体为:为所述程序库中具有相同依赖关系的接口分配相同的版本号。由上述描述可知,可对具有相同依赖关系的接口进行统一的管理,当目标程序所需的程序库较多时,有利于维护目标程序依赖的软件包信息。进一步地,所述软件包信息,包括软件包名称和软件包版本号。由上述描述可知,通过软件包名称和软件包版本号可明确接口的依赖关系。一般地,在软件包之间存在这一定的依赖关系,所谓软件包依赖关系,就是一个软件包只有在终端上特定一些软件模块存在且版本满足一定要求才能安装到该终端上。因此在描述目标程序所需接口的依赖关系时,应说明所依赖的软件包名称及其要求的版本号。进一步地,所述软件包版本号为能支持所述程序库中的接口正常运行的软件包的最低版本号。由上述描述可知,软件包通常可向前兼容,即更高版本的软件包包含较低版本的所有功能,因此通过接口所依赖的软件包的最低版本号可获知可支持接口正常运行的所有软件包的版本号。进一步地,还包括:获取依赖文件中具有相同软件包名称的软件包版本号,形成软件包版本号集合;获取软件包版本号集合中最高的软件包版本号,得到最优版本号;关联所述软件包名称和所述最优版本号,形成最优依赖关系;添加所述最优依赖关系至所述依赖文件。由上述描述可知,实现可减少获取目标程序依赖的软件包的数量。依赖文件描述的是目标程序中所有接口所依赖的软件包的信息,可能存在有些接口依赖的软件包相同但软件包版本号不同的情况,由于软件包通常可向前兼容,则只需获取依赖文件中与最高要求版本号相应的软件包,即可满足所有依赖同一软件包的接口的需求。进一步地,还包括:封装所述目标程序和依赖文件为目标软件包。由上述描述可知,目标软件包可根据依赖文件中描述的依赖关系自动获取目标程序依赖的软件包。进一步地,还包括:新增接口至所述程序库;为所述新增接口分配版本号;获取所述新增接口依赖的软件包信息;关联所述新增接口的版本号和所述软件包信息,形成新增依赖关系;添加所述新增依赖关系至所述依赖文件;更新所述目标软件包中的依赖文件。由上述描述可知,当目标程序的程序库新增接口时,自动将新增接口的依赖关系更新至依赖文件。如图2所示,本专利技术还提供一种维护软件包依赖关系的系统,包括:解析模块1,用于解析目标程序所需的程序库;第一分配模块2,用于为所述程序库中的接口分配版本号;第一获取模块3,用于获取所述接口依赖的软件包信息;第一关联模块4,用于关联所述接口的版本号和所述软件包信息,形成依赖关系;第二获取模块5,用于获取目标程序所需接口的版本号,得到第一版本号;第一添加模块6,用于添加与所述第一版本号相应的依赖关系至依赖文件。进一步地,还包括:第三获取模块7,用于获取依赖文件中具有相同软件包名称的软件包版本号,形成软件包版本号集合;第四获取本文档来自技高网
...

【技术保护点】
一种维护软件包依赖关系的方法,其特征在于,包括:解析目标程序所需的程序库;为所述程序库中的接口分配版本号;获取所述接口依赖的软件包信息;关联所述接口的版本号和所述软件包信息,形成依赖关系;获取目标程序所需接口的版本号,得到第一版本号;添加与所述第一版本号相应的依赖关系至依赖文件。

【技术特征摘要】
1.一种维护软件包依赖关系的方法,其特征在于,包括:解析目标程序所需的程序库;为所述程序库中的接口分配版本号;获取所述接口依赖的软件包信息;关联所述接口的版本号和所述软件包信息,形成依赖关系;获取目标程序所需接口的版本号,得到第一版本号;添加与所述第一版本号相应的依赖关系至依赖文件。2.根据权利要求1所述的一种维护软件包依赖关系的方法,其特征在于,为所述程序库中的接口分配版本号,具体为:为所述程序库中具有相同依赖关系的接口分配相同的版本号。3.根据权利要求1所述的一种维护软件包依赖关系的方法,其特征在于,所述软件包信息,包括软件包名称和软件包版本号。4.根据权利要求1所述的一种维护软件包依赖关系的方法,其特征在于,所述软件包版本号为能支持所述程序库中的接口正常运行的软件包的最低版本号。5.根据权利要求4所述的一种维护软件包依赖关系的方法,其特征在于,还包括:获取依赖文件中具有相同软件包名称的软件包版本号,形成软件包版本号集合;获取软件包版本号集合中最高的软件包版本号,得到最优版本号;关联所述软件包名称和所述最优版本号,形成最优依赖关系;添加所述最优依赖关系至所述依赖文件。6.根据权利要求1所述的一种维护软件包依赖关系的方法,其特征在于,还包括:封装所述目标程序和依赖文件为目标软件包。7.根据权利要求6所述的一种维护软件包依赖关系的方法,其特征在于,还包括:新增接口至所述程序库;为所述新增接口分配版本号;获取所述新增接口依赖的软件包信息;关联所述新增接口的版本号和所述软...

【专利技术属性】
技术研发人员:吴旋陈庆斌王斌
申请(专利权)人:福建联迪商用设备有限公司
类型:发明
国别省市:福建;35

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

1