CN114721672A - 一种应用安装方法、计算设备及存储介质 - Google Patents
一种应用安装方法、计算设备及存储介质 Download PDFInfo
- Publication number
- CN114721672A CN114721672A CN202210325391.9A CN202210325391A CN114721672A CN 114721672 A CN114721672 A CN 114721672A CN 202210325391 A CN202210325391 A CN 202210325391A CN 114721672 A CN114721672 A CN 114721672A
- Authority
- CN
- China
- Prior art keywords
- dependency
- package
- packages
- dependent
- installation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009434 installation Methods 0.000 title claims abstract description 112
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000001419 dependent effect Effects 0.000 claims description 99
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011900 installation process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用安装方法、计算设备及存储介质,并包括步骤对待安装应用的安装包进行解析,确定安装包的依赖关系库,依赖关系库包括一个或多个依赖包;根据依赖关系库确定每个依赖包的依赖状态;若依赖关系库中每个依赖包的依赖状态均为满足依赖,则根据依赖关系库加载依赖包,以安装应用。本发明中对安装包的依赖关系进行全面解析,得到安装包的依赖关系库,通过依赖关系库来判断每个依赖包是否满足依赖,而不是仅通过是否存在依赖包判断是否满足依赖,构建依赖关系的判断标准,提高应用适配性和安装成功率。
Description
技术领域
本发明涉及应用开发领域,特别涉及一种应用安装方法、计算设备及存储介质。
背景技术
随着计算机技术的发展,人们越来越多的使用应用实现多种功能;因此应用的安装就成为了应用使用过程中非常重要的一环。在使用安装包安装应用时,通常对应用的安装包进行解析,确定安装包的依赖包;随后判断要安装和使用应用所需要的依赖包是否都已经加载到计算机中,如果都已经加载到计算机中,则继续安装应用。
现有技术中对应用所需要的每一个依赖包均进行判断,若有一个依赖包没有加载到计算机中,则将该依赖包进行加载;若该依赖包不能正常完成加载,则应用不能完成安装。这种对安装包依赖进行判断的方式过于严格,很多时候计算机中只需要加载有一部分应用所需的安装包就能正常安装和运行应用。应用在设计时,有些依赖包就被设计为有其中几个依赖包即可正常安装运行,提高应用的适配性,但现有安装方式无法表现应用的高适配性,反而造成应用安装困难。
为此,需要一种新的应用安装方法。
发明内容
为此,本发明提供一种应用安装方法,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种应用安装方法,适于在计算设备中执行,方法包括步骤:对待安装应用的安装包进行解析,确定安装包的依赖关系库,依赖关系库包括一个或多个依赖包;根据依赖关系库确定每个依赖包的依赖状态;若依赖关系库中每个依赖包的依赖状态均为满足依赖,则根据依赖关系库加载依赖包,以安装应用。
可选地,在根据本发明的方法中,依赖关系库还包括对应于每个依赖包的依赖关系,对待安装应用的安装包进行解析,确定安装包的依赖关系库包括步骤:根据安装包确定安装包的一个或多个依赖关系;根据安装包的依赖关系确定安装包的一个或多个依赖包。
可选地,在根据本发明的方法中,根据依赖关系库确定每个依赖包的依赖状态包括步骤:判断本地是否存在依赖包;若本地存在依赖包,则将依赖包的依赖状态确定为满足依赖。
可选地,在根据本发明的方法中,依赖关系包括非唯一依赖,方法还包括步骤:若本地不存在所述依赖包,则判断依赖包的依赖关系是否为非唯一依赖;若依赖关系为非唯一依赖,则根据依赖包对应的依赖关系确定依赖包的同组依赖包;根据依赖包的同组依赖包确定依赖包的依赖状态。
可选地,在根据本发明的方法中,依赖关系还包括唯一依赖,判断依赖包的依赖关系是否为非唯一依赖还包括步骤:若依赖关系为唯一依赖,则将依赖包的依赖状态确定为不满足依赖。
可选地,在根据本发明的方法中,根据依赖包的同组依赖包确定依赖包的依赖状态,包括步骤:判断本地是否存在同组依赖包;如果本地存在同组依赖包,则将依赖包的依赖状态确定为满足依赖。
可选地,在根据本发明的方法中,还包括步骤:若本地不存在同组依赖包,则将依赖包的依赖状态确定为不满足依赖。
可选地,在根据本发明的方法中,根据依赖关系库加载依赖包包括步骤:判断依赖包是否完成加载;若依赖包未完成安装且依赖包的依赖关系为唯一依赖,则将本地的依赖包添加到安装目录中进行加载。
可选地,在根据本发明的方法中,还包括步骤:若依赖包未完成加载且依赖包的依赖关系为非唯一依赖,则根据依赖包对应的依赖关系确定依赖包的同组依赖包;判断是否有依赖包的同组依赖包完成加载;若没有完成加载的同组依赖包,则判断本地是否有依赖包;若本地有依赖包,则将本地的依赖包添加到安装目录中进行安装。
可选地,在根据本发明的方法中,还包括步骤:若本地没有依赖包,则将本地的同组依赖包添加到安装目录中进行安装。
可选地,在根据本发明的方法中,非唯一依赖的依赖关系对应多个依赖包,根据依赖包对应的依赖关系确定依赖包的同组依赖包包括步骤:将非唯一依赖对应的多个依赖包中,不包括依赖包的其他依赖包作为同组依赖包。
根据本发明的另一个方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的应用安装方法。
根据本发明的再一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本发明的应用安装方法。
本发明公开了一种应用安装方法,适于在计算设备中执行。方法包括步骤:对待安装应用的安装包进行解析,确定安装包的依赖关系库,依赖关系库包括一个或多个依赖包;根据依赖关系库确定每个依赖包的依赖状态;若依赖关系库中每个依赖包的依赖状态均为满足依赖,则根据依赖关系库加载依赖包,以安装应用。本发明中对安装包的依赖关系进行全面解析,得到安装包的依赖关系库,通过依赖关系库来判断每个依赖包是否满足依赖,而不是仅通过是否存在依赖包判断是否满足依赖,构建依赖关系的判断标准,提高应用适配性和安装成功率。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本发明公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了现有技术中安装包安装应用的示意图;
图2示出了根据本发明一个示范性实施例的计算设备200的结构框图;以及
图3示出了根据本发明一个示范性实施例的应用安装方法300的流程示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。相同的附图标记通常指代相同的部件或元素。
图1示出了现有技术中安装包安装应用的示意图。如图1所示,计算设备200中包括安装包和第二依赖包。安装包需要计算设备中包括第一依赖包或第二依赖包,以便正常安装和运行应用。计算设备中构建的第二依赖包已经能够满足安装和运行应用。但在通过安装包安装应用时,判断计算设备中未加载第一依赖包,则即使计算设备中已经加载有第二依赖包,依然判断不满足安装包的依赖环境,缺少必要的依赖包,不能够成功安装和运行应用。为此,本发明提出一种新的应用安装方法300。应用安装方法300适于在计算设备中执行。
图2示出了根据本发明一个示范性实施例的计算设备200的结构框图。如图2所示,在基本配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个程序222以及程序数据228。在一些实施方式中,程序222可以布置为在操作系统上由一个或者多个处理器204利用程序数据228执行根据本发明的方法300的指令223。
计算设备200还可以包括储存接口总线234。储存接口总线234实现了从储存设备232(例如,可移除储存器236和不可移除储存器238)经由总线/接口控制器230到基本配置202的通信。操作系统220、程序222以及数据224的至少一部分可以存储在可移除储存器236和/或不可移除储存器238上,并且在计算设备200上电或者要执行程序222时,经由储存接口总线234而加载到系统存储器206中,并由一个或者多个处理器204来执行。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外围接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为以便经由一个或者多个通信端口264与一个或者多个其他计算设备200通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的设备200中,程序222包括应用安装方法300的多条程序指令,这些程序指令可以指示处理器204执行本发明的计算设备200中运行的应用安装方法300中的部分步骤,以便计算设备200中的各部分通过执行本发明的应用安装方法300来实现安装应用。
计算设备200可以实现为服务器,例如文件服务器、数据库、服务器、应用程序服务器等,这些电子设备可以是诸如个人数字助理(PDA)、无线网络浏览设备、应用专用设备、或者可以包括上面任何功能的混合设备。可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,也在一些实施例中,计算设备200被配置为实现应用安装方法300。
图3示出了根据本发明一个示范性实施例的应用安装方法300的流程示意图。如图3所示,首先执行步骤S310,对待安装应用的安装包进行解析,确定安装包的依赖关系库,依赖关系库包括一个或多个依赖包;具体的:根据安装包确定安装包的一个或多个依赖关系,根据安装包的依赖关系确定安装包的一个或多个依赖包。
计算设备中需要安装的应用为待安装应用,并且计算设备中预先存储有待安装应用的安装包。安装包中记载有安装包对依赖包的依赖关系,依赖关系指示安装包依赖包的依赖方式,每个依赖包和安装包之间均具有一条依赖关系。
对待安装应用的安装包进行解析,可先确定安装包包括的一条或多条依赖关系,每条依赖关系均对应有一个安装包;接着根据每一条依赖关系确定安装包的一个依赖包,得到安装包的一个或多个依赖包。将安装包的每个依赖包和安装包与该依赖包的依赖关系作为依赖关系库的一条数据,得到依赖关系库。
随后,执行步骤S320,根据依赖关系库确定每个依赖包的依赖状态;具体的:判断本地是否存在依赖包,若本地存在依赖包,则将依赖包的依赖状态确定为满足依赖。若本地存储依赖包,则表示该依赖包能够加载或已经被加载完成,计算设备不会因为缺失该依赖包导致应用安装失败。
根据本发明的一个实施例,依赖关系包括唯一依赖和非唯一依赖。当安装包唯一依赖某个依赖包时,表示必须要加载该依赖包才能正常安装和运行应用。当安装包非唯一依赖某个安装包时,表示如果加载能够替代该依赖包的其他依赖包,则该依赖包可以不加载,也能够正常安装和运行应用。
确定每个依赖包的依赖状态时,若本地不存在依赖包,则判断依赖包的依赖关系是否为非唯一依赖,若依赖关系为非唯一依赖,则根据依赖包对应的依赖关系确定依赖包的同组依赖包,以及根据依赖包的同组依赖包确定依赖包的依赖状态。
非唯一依赖的依赖关系对应多个依赖包,根据依赖包对应的依赖关系确定依赖包的同组依赖包时,将非唯一依赖对应的多个依赖包中,不包括依赖包的其他依赖包作为同组依赖包。依赖包的同组依赖包是指若某几个依赖包中,计算设备只需要加载了其中一个依赖包就能够正常安装和运行应用,则将其中某个依赖包的其他可替换的依赖包作为依赖包的同组依赖包,同组依赖包中每个依赖包的依赖关系具有关联性,可根据依赖关系库将具有关联性的依赖关系进行解析,确定依赖包的同组依赖包。同组依赖包中包括一个或多个依赖包。
根据本发明的一个实施例,安装包的依赖关系库中包括第一依赖包,第二依赖包和第三依赖包,并且安装包与第一依赖包、第二依赖包和第三依赖包的为非唯一依赖,且第一依赖包、第二依赖包和第三依赖包的依赖关系具有关性,则对安装包与第一依赖包、第二依赖包和第三依赖包的依赖关系进行解析,可确定第一依赖包的同组依赖包为第二依赖包和第三依赖包;第二依赖包的同组依赖包为第一依赖包和第三依赖包;第三依赖包的同组依赖包为第一依赖包和第二依赖包。
根据依赖包的同组依赖包确定依赖包的依赖状态时,判断本地是否存在同组依赖包,如果本地存在同组依赖包,则将依赖包的依赖状态确定为满足依赖。本地存在同组依赖包是指计算设备中存储或已经加载了同组依赖包中的一个或多个依赖包;只要计算设备中存储或已经加载了同组依赖包中的任一依赖包,即可认为本地存在同组依赖包。
若本地不存在同组依赖包,则将依赖包的依赖状态确定为不满足依赖。若计算设备中没有加载或存储依赖包的同组依赖包中任意一个依赖包,则计算设备中没有安装或存储能够替代依赖包作用的依赖包。不安装该依赖包不能正常运行和安装应用,只能退出安装过程。
根据本发明的一个实施例,计算设备对第一依赖包的依赖状态进行判断时,若计算设备中包括或加载有第一依赖包,则判断第一依赖包的依赖状态为满足依赖;
若计算设备中未包括或加载有第一依赖包,则对第一依赖包的同组依赖包进行依次判断,只要计算设备中包括或加载有第二依赖包或第三依赖包中的任意一项,则判断第一依赖包的依赖状态为满足依赖;
若计算设备中未包括或加载有第一依赖包,未包括或加载有第二依赖包,并且未包括或加载有第三依赖包,则第一依赖包的依赖状态为不满足依赖。
若依赖关系为唯一依赖,则将依赖包的依赖状态确定为不满足依赖。不能够正常通过安装包安装应用,退出安装过程。只有当计算设备中存储了该唯一依赖的依赖包,能够加载时才能正常安装应用。
最后,执行步骤S330,若依赖关系库中每个依赖包的依赖状态均为满足依赖,则根据依赖关系库加载依赖包,以安装应用。根据依赖关系库加载依赖包时,先判断依赖包是否完成加载,若依赖包未完成加载且依赖包的依赖关系为唯一依赖,则将本地的依赖包添加到安装目录中进行加载。若该依赖包的依赖关系为唯一依赖且为完成加载,则只能将依赖包进行加载,以便安装和运行应用。
若依赖包未完成加载且依赖包的依赖关系为非唯一依赖,则根据依赖包对应的依赖关系确定依赖包的同组依赖包,判断是否有依赖包的同组依赖包完成加载,若没有完成加载的同组依赖包,则判断本地是否有依赖包;若本地有依赖包,则将本地的依赖包添加到安装目录中进行安装。
在对同组依赖包中的依赖包进行加载时,即使当前判断的依赖包没有加载,也有限判断是否已经加载了同组依赖包中的其他依赖包,若已经加载了其他依赖包,则当前判断的依赖包就不需要加载,避免重复加载需要的依赖包,造成计算机资源浪费。只有当没有加载同组依赖包的其他依赖包时,才加载当前判断的依赖包。
若本地没有依赖包,则将本地的同组依赖包添加到安装目录中进行安装。若本地没有当前判断的依赖包,则加载本地的同组依赖包,以便实现替代当前判断的依赖包实现相应功能。同组依赖包加载完成则视为当前判断的依赖包完成加载。
根据本发明的一个实施例,计算设备在加载第一依赖包时,若计算设备中未加载第一依赖包,则判断是否已经加载了第二依赖包或第三依赖包,若计算设备中已经加载了第二依赖包或第三依赖包,则计算设备已经加载了与第一依赖包起到同样作用的依赖包,就不再加载第一依赖包,视为第一依赖包已经完成加载,可继续加载其他安装包,加载和运行应用。
若计算设备中未加载第二依赖包或第三依赖包,则加载第一依赖包。若计算设备中未包括第一依赖包,则加载第二依赖包或第三依赖包,以便加载和运行应用。
本发明公开了一种应用安装方法,适于在计算设备中执行。方法包括步骤:对待安装应用的安装包进行解析,确定安装包的依赖关系库,依赖关系库包括一个或多个依赖包;根据依赖关系库确定每个依赖包的依赖状态;若依赖关系库中每个依赖包的依赖状态均为满足依赖,则根据依赖关系库加载依赖包,以安装应用。本发明中对安装包的依赖关系进行全面解析,得到安装包的依赖关系库,通过依赖关系库来判断每个依赖包是否满足依赖,而不是仅通过是否存在依赖包判断是否满足依赖,构建依赖关系的判断标准,提高应用适配性和安装成功率。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的应用安装方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的。
Claims (13)
1.一种应用安装方法,适于在计算设备中执行,所述方法包括步骤:
对待安装应用的安装包进行解析,确定所述安装包的依赖关系库,所述依赖关系库包括一个或多个依赖包;
根据所述依赖关系库确定每个依赖包的依赖状态;
若所述依赖关系库中每个依赖包的依赖状态均为满足依赖,则根据所述依赖关系库加载依赖包,以安装应用。
2.如权利要求1所述的方法,其中,所述依赖关系库还包括对应于每个依赖包的依赖关系,所述对待安装应用的安装包进行解析,确定所述安装包的依赖关系库包括步骤:
根据所述安装包确定所述安装包的一个或多个依赖关系;
根据所述安装包的依赖关系确定所述安装包的一个或多个依赖包。
3.如权利要求1或2所述的方法,其中,所述根据所述依赖关系库确定每个依赖包的依赖状态包括步骤:
判断本地是否存在所述依赖包;
若本地存在所述依赖包,则将所述依赖包的依赖状态确定为满足依赖。
4.如权利要求3所述的方法,其中,所述依赖关系包括非唯一依赖,所述方法还包括步骤:
若本地不存在所述依赖包,则判断所述依赖包的依赖关系是否为非唯一依赖;
若所述依赖关系为非唯一依赖,则根据所述依赖包对应的依赖关系确定所述依赖包的同组依赖包;
根据所述依赖包的同组依赖包确定所述依赖包的依赖状态。
5.如权利要求4所述的方法,其中,所述依赖关系还包括唯一依赖,所述判断所述依赖包的依赖关系是否为非唯一依赖还包括步骤:
若所述依赖关系为唯一依赖,则将所述依赖包的依赖状态确定为不满足依赖。
6.如权利要求4或5所述的方法,其中,所述根据所述依赖包的同组依赖包确定所述依赖包的依赖状态包括步骤:
判断本地是否存在同组依赖包;
如果本地存在同组依赖包,则将所述依赖包的依赖状态确定为满足依赖。
7.如权利要求6所述的方法,其中,所述方法还包括步骤:
若本地不存在同组依赖包,则将所述依赖包的依赖状态确定为不满足依赖。
8.如权利要求5-7所述的方法,其中,所述根据所述依赖关系库加载依赖包包括步骤:
判断所述依赖包是否完成加载;
若所述依赖包未完成安装且依赖包的依赖关系为唯一依赖,则将本地的依赖包添加到安装目录中进行加载。
9.如权利要求8所述的方法,所述方法还包括步骤:
若所述依赖包未完成加载且所述依赖包的依赖关系为非唯一依赖,则根据所述依赖包对应的依赖关系确定所述依赖包的同组依赖包;
判断是否有所述依赖包的同组依赖包完成加载;
若没有完成加载的同组依赖包,则判断本地是否有所述依赖包;
若本地有所述依赖包,则将本地的依赖包添加到安装目录中进行安装。
10.如权利要求9所述的方法,所述方法还包括步骤:
若本地没有依赖包,则将本地的同组依赖包添加到安装目录中进行安装。
11.如权利要求4-10中任一项所述的方法,其中,所述非唯一依赖的依赖关系对应多个依赖包,所述根据所述依赖包对应的依赖关系确定所述依赖包的同组依赖包包括步骤:
将所述非唯一依赖对应的多个依赖包中,不包括所述依赖包的其他依赖包作为同组依赖包。
12.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个装置,所述一个或多个装置包括用于执行根据权利要求1-11中任一项所述的方法的指令。
13.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210325391.9A CN114721672A (zh) | 2022-03-29 | 2022-03-29 | 一种应用安装方法、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210325391.9A CN114721672A (zh) | 2022-03-29 | 2022-03-29 | 一种应用安装方法、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114721672A true CN114721672A (zh) | 2022-07-08 |
Family
ID=82239231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210325391.9A Pending CN114721672A (zh) | 2022-03-29 | 2022-03-29 | 一种应用安装方法、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114721672A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028108A (zh) * | 2023-03-31 | 2023-04-28 | 深圳复临科技有限公司 | 一种依赖包安装用时分析方法、装置、设备及存储介质 |
-
2022
- 2022-03-29 CN CN202210325391.9A patent/CN114721672A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028108A (zh) * | 2023-03-31 | 2023-04-28 | 深圳复临科技有限公司 | 一种依赖包安装用时分析方法、装置、设备及存储介质 |
CN116028108B (zh) * | 2023-03-31 | 2023-06-06 | 深圳复临科技有限公司 | 一种依赖包安装用时分析方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114003291A (zh) | 一种应用程序运行方法、装置、计算设备及存储介质 | |
CN112379888A (zh) | 一种代码变更分析方法 | |
CN113342475A (zh) | 一种服务器集群构建方法、计算设备及存储介质 | |
CN114610337A (zh) | 一种多系统安装方法、计算设备及存储介质 | |
CN113885936A (zh) | 一种定制镜像中软件包依赖的解决方法 | |
CN114721672A (zh) | 一种应用安装方法、计算设备及存储介质 | |
CN114461404B (zh) | 一种进程迁移方法、计算设备及可读存储介质 | |
US20100257521A1 (en) | Simultaneous Installation of Multiple Portions of a Software Application on a Computer System | |
CN114003289A (zh) | 一种应用程序运行方法、计算设备及存储介质 | |
CN114691226A (zh) | 一种多操作系统切换运行方法、计算设备及存储介质 | |
CN113204385A (zh) | 一种插件加载方法、装置、计算设备及可读存储介质 | |
CN110955719A (zh) | 一种数据存取处理设备、系统和方法 | |
CN113961086B (zh) | 一种快捷键实现方法、计算设备及存储介质 | |
CN114003290A (zh) | 一种涉及指令替换的应用程序运行方法和装置 | |
CN115242563B (zh) | 一种网络通信方法、计算设备及可读存储介质 | |
US9280626B2 (en) | Efficiently determining Boolean satisfiability with lazy constraints | |
CN113849245A (zh) | 一种应用程序运行方法、计算设备及存储介质 | |
CN112181516A (zh) | 应用软件的执行方法及计算设备 | |
CN113485769B (zh) | 一种应用程序运行方法、计算设备及存储介质 | |
CN114168489B (zh) | 一种函数信息获取方法、计算设备及存储介质 | |
CN111897741B (zh) | 一种应用软件的检测方法及计算设备 | |
CN114217904A (zh) | 一种多版本应用运行方法、计算设备及存储介质 | |
CN112947976B (zh) | 一种操作系统升级方法、计算设备及存储介质 | |
CN111913814B (zh) | 对象拷贝方法及计算设备 | |
CN113835927B (zh) | 一种指令执行方法、计算设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |