CN115390916A - 一种软件程序处理方法、装置及电子设备 - Google Patents
一种软件程序处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115390916A CN115390916A CN202110572371.7A CN202110572371A CN115390916A CN 115390916 A CN115390916 A CN 115390916A CN 202110572371 A CN202110572371 A CN 202110572371A CN 115390916 A CN115390916 A CN 115390916A
- Authority
- CN
- China
- Prior art keywords
- software program
- parameter
- parameters
- external
- external interface
- 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
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 16
- 238000013461 design Methods 0.000 description 32
- 230000008859 change Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 238000009434 installation Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000001356 surgical procedure Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 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/70—Software maintenance or management
- G06F8/77—Software metrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种软件程序处理方法、装置及电子设备,该方法包括:确定第一软件程序包括的多个外部接口的第一参数,其中,所述第一软件程序通过所述多个外部接口与其它软件程序通信;确定更新后的第一软件程序的所述多个外部接口的第二参数;根据所述第一参数和所述第二参数,确定所述多个外部接口中参数发生变化的目标外部接口,对与所述目标外部接口通信的第二软件程序进行更新。本申请提供的软件程序处理方法,可以准确判断在软件程序更新时会受影响的其它软件程序,进而对其它软件程序进行更新,该方法能够避免一些软件程序的冗余编译及更新,提高软件编译效率。
Description
技术领域
本申请涉及软件技术领域,尤其涉及一种软件程序处理方法、装置及电子设备。
背景技术
操作系统中一般包含众多软件程序,不同软件程序之间可能存在接口和命令调用的依赖关系,其中某一个软件程序如果发生变化,对其它对应存在依赖关系的软件程序的影响较大。
当前的软件编译系统如开源编译服务(open build service,OBS)系统在编译软件程序时,可以通过存储有软件程序信息的规格(spec)文件所记录的依赖关系,来确定某个软件程序变化时受影响的其它软件程序。
但是,规格文件所记录的依赖关系比较宽泛,据此无法准确判断在某个软件程序发生变化时真正受影响的其它软件程序。因此,上述方法容易造成对软件程序的冗余编译。
发明内容
本申请提供一种软件程序处理方法、装置及电子设备,用以判断在软件程序更新时会受影响的其它软件程序,进而避免一些软件程序的冗余编译及更新,提高软件编译效率。
第一方面,本申请提供一种软件程序处理方法,该方法包括:
确定第一软件程序包括的多个外部接口的第一参数,其中,所述第一软件程序通过所述多个外部接口与其它软件程序通信;确定更新后的第一软件程序的所述多个外部接口的第二参数;根据所述第一参数和所述第二参数,确定所述多个外部接口中参数发生变化的目标外部接口,对与所述目标外部接口通信的第二软件程序进行更新。
在该方法中,通过获取第一软件程序更新前后采用的外部接口的参数,能够确定第一软件程序包括的外部接口在所述第一软件程序更新前后有参数变化的目标外部接口,进一步可以根据目标外部接口准确的确定在第一软件程序更新时需对应更新的第二软件程序,因此在第一软件程序发生变化更新时,可以避免对一些实际不受第一软件程序影响的其它软件程序的不必要的编译和更新过程,进而避免软件程序的冗余编译和更新,提高软件程序编译效率。
在一种可能的设计中,所述根据所述第一参数和所述第二参数,确定所述多个外部接口中参数发生变化的目标外部接口,包括:判断所述多个外部接口中的至少一个外部接口的第一参数和第二参数是否相同,如果不相同,则确定所述至少一个外部接口为所述目标外部接口。
在该方法中,通过比较第一软件程序在更新前所包括的至少一个外部接口的第一参数,和所述第一软件程序在更新后所包括的所述至少一个外部接口的第二参数,能够快速准确的确定在所述第一软件程序更新前后,所述至少一个外部接口是否发生变化。
在一种可能的设计中,任一个外部接口的第一参数或第二参数包含以下至少一项:接口标识、接口配置参数和接口输出参数。
在该方法中,可以基于多维度不同的参数对第一软件程序更新前后的外部接口参数进行比较,进而更全面准确的确定所述第一软件程序更新前后的外部接口变化情况。
在一种可能的设计中,所述确定第一软件程序包括的多个外部接口的第一参数,包括:获取被保存的所述多个外部接口的第一参数。
在该方法中,采用获取被保存的多个外部接口的第一参数的方式,能够快速及时的确定第一软件程序的多个外部接口的第一参数,便于加快处理进程。
在一种可能的设计中,所述确定更新后的第一软件程序的所述多个外部接口的第二参数,包括:从操作系统获取所述多个外部接口的第二参数,其中,所述操作系统用于运行所述第一软件程序。
在该方法中,从用于运行第一软件程序的操作系统中,可以直接快捷的获取更新后的第一软件程序的所述多个外部接口的第二参数。
在一种可能的设计中,所述方法还包括:用所述多个外部接口的第二参数替换所述多个外部接口的第一参数;或者,用所述目标外部接口的第二参数替换所述目标外部接口的第一参数。
在该方法中,在确定第一软件程序包括的多个外部接口的第二参数后,利用所述多个外部接口的第二参数来更新第一软件程序更新前的多个外部接口的第一参数,因此,在第一软件程序更新后,能够同步更新所述第一软件程序的多个外部接口的相关参数,保证存储的所述第一软件程序的所述多个外部接口的相关参数的准确度。或者利用所述目标外部接口的第二参数来更新第一软件程序更新前的所述目标外部接口的第一参数,可以在第一软件程序更新后,仅同步更新所述第一软件的多个外部接口中参数发生变化的目标外部接口的相关参数,能够进一步减少数据处理量和资源占用。
在一种可能的设计中,对与所述目标外部接口通信的第二软件程序进行更新,包括:重新编译所述第二软件程序,得到更新后的第二软件程序,并安装更新后的第二软件程序。
在该方法中,在确定第一软件程序更新时需对应进行更新的第二软件程序后,通过重新编译和安装的方式对第二软件程序进行更新,能够消除第一软件程序更新时对第二软件程序造成的影响,保证第二软件程序的正常运行。
第二方面,本申请提供一种软件程序处理方法,该方法包括:
确定更新前的第一软件程序包括的多个外部接口的第三参数,其中,所述第一软件程序通过所述多个外部接口与其它软件程序通信;确定更新后的第一软件程序包括的多个外部接口的第四参数;根据所述第三参数和所述第四参数,确定更新前的第一软件程序包括的多个外部接口中被删除的目标外部接口;对与所述目标外部接口通信的第二软件程序进行更新。
在该方法中,通过获取第一软件程序更新前后采用的外部接口的参数,能够在第一软件程序包括的外部接口中,确定所述第一软件程序更新后被删除的目标外部接口,进一步可以根据目标外部接口准确的确定在第一软件程序更新时需对应更新的第二软件程序,因此在第一软件程序发生变化更新时,可以避免对一些实际不受第一软件程序影响的其它软件程序的不必要的编译和更新过程,进而避免软件程序的冗余编译和更新,提高软件程序编译效率。
在一种可能的设计中,根据所述第三参数和所述第四参数,确定更新前的第一软件程序包括的多个外部接口中被删除的目标外部接口,包括:针对所述多个外部接口中的至少一个外部接口,判断在更新后的第一软件程序包括的多个外部接口的第四参数中,是否存在与所述至少一个外部接口的第三参数相同的第四参数,若不存在,则确定所述至少一个外部接口为所述目标外部接口。
在该方法中,通过比较第一软件程序在更新前所包括的外部接口的第三参数,和所述第一软件程序在更新后所包括的外部接口的第四参数,能够快速准确的确定所述第一软件程序在更新后是否有外部接口被删除。
第三方面,本申请提供一种软件程序处理装置,该装置包括:
第一参数确定单元,用于确定第一软件程序包括的多个外部接口的第一参数,其中,所述第一软件程序通过所述多个外部接口与其它软件程序通信;第二参数确定单元,用于确定更新后的第一软件程序的所述多个外部接口的第二参数;软件程序处理单元,用于根据所述第一参数和所述第二参数,确定所述多个外部接口中参数发生变化的目标外部接口,对与所述目标外部接口通信的第二软件程序进行更新。
在一种可能的设计中,所述软件程序处理单元根据所述第一参数和所述第二参数,确定所述多个外部接口中参数发生变化的目标外部接口时,具体用于:判断所述多个外部接口中的至少一个外部接口的第一参数和第二参数是否相同,如果不相同,则确定所述至少一个外部接口为所述目标外部接口。
在一种可能的设计中,任一个外部接口的第一参数或第二参数包含以下至少一项:接口标识、接口配置参数和接口输出参数。
在一种可能的设计中,所述第一参数确定单元确定第一软件程序包括的多个外部接口的第一参数时,具体用于:获取被保存的所述多个外部接口的第一参数。
在一种可能的设计中,所述第二参数确定单元确定更新后的第一软件程序的所述多个外部接口的第二参数时,具体用于:从操作系统获取所述多个外部接口的第二参数,其中,所述操作系统用于运行所述第一软件程序。
在一种可能的设计中,所述软件程序处理单元还用于:用所述多个外部接口的第二参数替换所述多个外部接口的第一参数;或者,用所述目标外部接口的第二参数替换所述目标外部接口的第一参数。
在一种可能的设计中,所述软件程序处理单元对与所述目标外部接口通信的第二软件程序进行更新时,具体用于:重新编译所述第二软件程序,得到更新后的第二软件程序,并安装更新后的第二软件程序。
第四方面,本申请提供一种软件程序处理装置,该装置包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器中存储的计算程序,实现上述第一方面或第一方面的任一可能的设计所描述的方法,或者实现上述第二方面或第二方面的任一可能的设计所描述的方法。
第五方面,本申请提供一种电子设备,包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器中存储的计算程序,实现上述第一方面或第一方面的任一可能的设计所描述的方法,或者实现上述第二方面或第二方面的任一可能的设计所描述的方法。
第六方面,本申请提供一种电子设备,包括至少一个处理器和接口;所述接口,用于为所述至少一个处理器提供程序指令或者数据;所述至少一个处理器用于执行所述程序指令,实现上述第一方面或第一方面的任一可能的设计所描述的方法,或者实现上述第二方面或第二方面的任一可能的设计所描述的方法。
第七方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在软件程序处理装置或电子设备上运行时,使得所述软件程序处理装置或电子设备执行上述第一方面或第一方面的任一可能的设计所描述的方法。
第六方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序或指令,当所述计算机程序或指令被软件程序处理装置或电子设备执行时,实现上述第一方面或第一方面的任一可能的设计所描述的方法,或者实现上述第二方面或第二方面的任一可能的设计所描述的方法。
第八方面,本申请提供一种芯片系统,该芯片系统包括至少一个处理器和接口,所述接口用于为所述至少一个处理器提供程序指令或者数据,所述至少一个处理器用于执行所述程序指令,实现上述第一方面或第一方面的任一可能的设计所描述的方法,或者实现上述第二方面或第二方面的任一可能的设计所描述的方法。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于存储程序指令和数据。
在一种可能的设计中,所述芯片系统由芯片构成,或者包括芯片和其他分立器件。
上述第三方面到第八方面的有益效果,请参见上述第一方面或第二方面的有益效果的描述,这里不再重复赘述。
附图说明
图1为本申请实施例提供的一种软件程序处理方法的示意图;
图2为本申请实施例提供的一种软件程序处理方法的流程示意图;
图3a为本申请实施例提供的一种确定在第一软件程序更新时受影响的第二软件程序的方法示意图;
图3b为本申请实施例提供的一种软件程序更新结果的示意图;
图4为本申请实施例提供的一种软件程序处理方法的示意图;
图5为本申请实施例提供的一种软件程序处理装置的示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。其中,在本申请实施例的描述中,以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
为了便于理解,示例性的给出了与本申请相关概念的说明以供参考。
1)、软件程序:软件程序是能够提供所要求的功能和性能、按照特定顺序组织的一系列计算机指令和计算机数据的集合,软件程序中可以包括与计算机系统操作有关的计算机程序、规程、规则,以及可能相关的文件、文档及数据等。
需要说明的是,在本申请实施例中,软件程序也可以称为软件、应用、应用程序等。
2)、开源编译服务(open build service,OBS):OBS是开放的、完整的软件程序开发和发布平台。OBS提供了用于创建软件程序的基础架构,并支持广泛的操作系统和硬件架构。用户可以通过网络接口或命令行或应用程序接口等方式来访问OBS。OBS能直接从源代码管理系统获取源程序代码。OBS中的源程序代码是供用户自由获取和使用的。
3)、编译(compilation/compile):编译是指根据源语言编写的源程序产生目标程序的过程,即将采用某一种程序设计语言的程序,转换成采用另一种程序设计语言的程序。例如,编译可以将编写源程序时使用的高级语言变成机器(如计算机)能够识别的二进制语言,以便机器识别并执行。
4)、软件包管理器(redhat package manager,RPM):RPM是一种软件程序的安装工具。RPM的主要功能包括安装、卸载、升级(或更新)、管理软件程序,以及软件程序之间关系的处理等。利用RPM可以建立、安装、请求、确认、卸载软件程序等。
应理解,本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一(项)个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a、b、c可以是单个,也可以是多个。
当前大多操作系统中包含众多的软件程序,例如,简单的嵌入式系统中可能包含上百个软件程序,标准的服务器操作系统可能包含上千甚至上万个软件程序。而不同软件程序之间可能存在依赖性关系,该依赖性关系具体表现为:当某一个软件程序发生变化时,另外一些软件程序会受到影响,则这些软件程序需要进行相应的变化,以保证其正常运行。
目前软件程序的配置文件中一般包含规格(spec)文件,该spec文件记录的软件程序的信息包含了与该软件程序存在依赖关系的其它软件程序的清单。因此,基于软件程序的spec文件,可以确定在该软件程序发生变化时可能会受影响的其它软件程序,进而可以对受影响的其它软件程序进行一些处理,来避免这些软件程序的功能受到影响。
但是,一个软件程序发生的变化并不一定会影响到与该软件程序存在依赖性关系的所有软件程序,而根据上述方法,软件程序的spec文件中记录的所有软件程序都会被确定为该软件程序发生变化时可能会受影响的软件程序。因此,上述方法的判断粒度较粗,无法准确判断在某个软件程序发生变化时真正受影响的其它软件程序,容易造成软件的冗余编译,导致软件编译效率较低。
基于此,本申请实施例提供一种软件程序处理方法,用于准确判断在软件程序发生变化时会受影响的其它软件程序,进而避免一些软件程序的冗余编译,提高软件编译效率。
下面结合附图对本申请实施例提供的软件程序处理方法进行详细介绍。
为了便于说明,下文中以软件程序处理装置执行软件程序处理方法为例,对本申请实施例提供的软件程序处理方法进行介绍。
本申请实施例中,所述软件程序处理装置可以为电子设备,电子设备可以执行本申请实施例提供的软件程序处理方法,所述软件程序处理装置也可以部署在电子设备上,例如所述软件程序处理装置可以为安装在电子设备上的RPM,则本申请实施例提供的软件程序处理方法可以以插件的方式注入到RPM中,由RPM执行。所述电子设备还可以为能够执行本申请实施例提供的软件程序处理方法的其它装置或设备,此处不再一一说明。
本申请实施例中,电子设备还可以称为终端设备或终端,电子设备包括但不限于手机(Mobile Phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MobileInternet Device,MID)、可穿戴设备,或者车辆、车载设备、虚拟现实(Virtual Reality,VR)设备、增强现实(Augmented Reality,AR)设备、工业控制(Industrial Control)中的无线终端、智能家居设备、智能机器人、车间设备、无人驾驶(Self Driving)中的无线终端、远程手术(Remote Medical Surgery)中的无线终端、智能电网(Smart Grid)中的无线终端、运输安全(Transportation Safety)中的无线终端、智慧城市(Smart City)中的无线终端,或者智慧家庭(Smart Home)中的无线终端、飞行设备等。
图1为本申请实施例提供的一种软件程序处理方法的示意图。如图1中所示,所述方法包括:
S101:软件程序处理装置确定第一软件程序包括的多个外部接口的第一参数,其中,所述第一软件程序通过所述多个外部接口与其它软件程序通信。
本申请实施例中,软件程序可以通过外部接口与其它的软件程序通信,因此,软件程序与其它的软件程序之间的依赖关系可以通过这些外部接口有所体现,软件程序在更新前后可能会发生变化,若软件程序发生的变化涉及到该软件程序所包括的外部接口的变化,则采用这些外部接口与该软件通信的其它软件程序就会受到影响,因此,本申请实施例中可以基于软件程序更新后的外部接口变化情况,来确定某一软件程序发生变化时受影响的其它软件程序。
需要说明的是,本申请实施例中所述的更新可以理解为通过对软件程序的一些内容进行操作(例如增加、删除或修改内容),使该软件程序发生一定的变化,从而得到新版本的该软件程序的过程。例如,软件程序的更新可以但不限于包括软件程序的重新编译、重新安装、版本升级、故障消除、功能优化等涉及软件配置更改的过程。
软件程序处理装置在确定第一软件程序发生变化时受影响的其它软件程序时,首先获取所述第一软件程序包括的多个外部接口的第一参数,其中,所述第一软件程序可以通过所述多个外部接口与其它的软件程序通信。
需要说明的是,所述第一软件程序通过所述多个外部接口与其它的软件程序通信,也可以理解为其它的软件程序调用所述第一软件程序包括的所述多个外部接口。
在本申请一些实施例中,所述第一软件程序的任一个接口的第一参数包含如下至少一项:接口标识、接口配置参数和接口输出参数。其中,所述接口标识可以为外部接口的名称或者其它能够唯一标识该外部接口的信息等。所述接口输出参数为外部接口被调用后输出的返回值。
在本申请一些实施例中,软件程序处理装置会保存所述第一软件程序包括的多个外部接口的第一参数,可选的,所述多个外部接口的第一参数可以存储在本地或数据库中,则所述软件程序处理装置可以从本地或数据库中获取所述多个外部接口的第一参数。
在本申请一些实施例中,所述第一软件程序的所述多个外部接口为二进制外部接口(application binary interface,ABI)。
本申请实施例中,所述软件程序处理装置获取到的所述第一软件程序包括的多个外部接口的第一参数为所述第一软件程序在更新前包括的所述多个外部接口的参数,所述软件程序处理装置可以在所述第一软件程序更新前获取被保存的所述多个外部接口第一参数,也可以在所述第一软件更新后再获取被保存的所述多个外部接口的第一参数。
S102:软件程序处理装置确定更新后的第一软件程序的所述多个外部接口的第二参数。
所述第一软件程序发生变化时,软件程序处理装置可以对所述第一软件程序进行更新。
在一种可能的场景中,所述软件程序处理装置具备编译软件程序的功能(例如所述软件程序装置为OBS设备),则所述软件程序处理装置可以在所述第一软件程序发生变化时,从操作系统获取更新后的第一软件程序,并安装更新后的第一软件程序,以实现对第一软件程序的更新,其中,所述操作系统为所述软件程序处理装置采用的操作系统,所述操作系统可以用于运行所述第一软件程序。
在另一种可能的场景中,所述软件程序处理装置仅具备软件程序安装功能,而不具备软件程序编译功能(例如所述软件程序处理装置为手机、平板、电脑等电子设备),则所述软件程序处理装置可以从第一软件程序的发布端获取更新后的第一软件程序并安装,从而完成对第一软件程序的更新。
在本申请一些实施例中,所述第一软件程序的发布端可以为除所述软件程序处理装置采用的操作系统之外的其它操作系统、服务器、云端或者其它装置、设备等,这里不做具体限定。
以下以第一服务器作为所述第一软件程序的发布端为例进行说明。其中,所述第一服务器用于管理所述第一软件程序,例如所述第一服务器可以作为所述第一软件程序的开发平台,可以用于编译、升级或更新、发布第一软件程序等。在所述第一软件程序发生变化时,所述第一服务器可以编译得到更新的第一软件程序,同时生成更新后的第一软件程序包括的多个外部接口的信息即所述多个外部接口的第二参数并保存。
可选的,所述第一服务器可以为OBS系统。
可选的,所述软件程序处理装置或所述第一服务器可以通过接口基线文件记录更新的第一软件程序包括的多个外部接口的第二参数。
在所述软件程序处理装置具备编译软件程序的功能时,所述软件程序处理装置可以在从采用的操作系统中获取更新后的第一软件程序的同时,从所述操作系统获取更新后的第一软件程序包含的所述多个外部接口的第二参数。
在所述软件程序处理装置仅具备软件程序安装功能,而不具备软件程序编译功能时,所述软件程序处理装置可以从所述第一服务器获取更新后的第一软件程序包括的所述多个外部接口的第二参数。
在本申请一些实施例中,更新的第一软件程序的任一个接口的第二参数包含如下至少一项:接口标识、接口配置参数和接口输出参数。其中,所述接口标识可以为外部接口的名称或者其它能够唯一标识该外部接口的信息等。所述接口输出参数为外部接口被调用后输出的返回值。
在本申请一些实施例中,所述第一软件程序的所述多个外部接口为二进制外部接口。
S103:软件程序处理装置根据所述第一参数和所述第二参数,确定所述多个外部接口中参数发生变化的目标外部接口,对与所述目标外部接口通信的第二软件程序进行更新。
上述软件处理装置获取所述第一软件包括的多个外部接口的第一参数,及更新的第一软件程序包括的所述多个外部接口的第二参数后,就可以根据所述第一参数和所述第二参数,确定出在所述第一软件程序更新后受影响的第二软件程序。
具体的,软件程序处理装置可以判断所述多个外部接口中的至少一个外部接口的第一参数和第二参数是否相同,如果不相同,则确定所述至少一个外部接口为所述目标外部接口,如果相同,则无需将所述至少一个外部接口确定为所述目标外部接口。通过比较所述多个外部接口中至少一个外部接口的第一参数和第二参数,软件程序处理装置可以确定所述至少一个外部接口的参数在所述第一软件程序更新前后是否发生了变化,进而从所述多个外部接口选择出所述第一软件更新后发生变化的目标外部接口。当然,所述软件处理装置也可以判断所述多个外部接口中的每个外部接口的第一参数和第二参数是否相同,如果不相同,则确定该外部接口为所述目标外部接口,如果相同,则无需将该外部接口确定为所述目标外部接口。
软件程序处理装置确定目标外部接口后,确定与所述目标外部接口通信的第二软件程序为所述第一软件程序更新后受影响的其它软件程序。
作为一种可选的实施方式,软件程序处理装置可以在包含的所有软件程序中,选择出与所述目标接口通信的第二软件程序。
作为另一种可选的实施方式,软件程序处理装置可以在与所述第一软件程序通信或具有依赖关系的至少一个软件程序中,选择与所述目标外部接口进行通信的所述第二软件程序。具体的,由于软件程序的spec文件中记录了与该软件程序存在依赖关系的其它软件程序(即与所述软件程序通信的其它软件程序)的清单,因此,软件程序处理装置可以在所述第一软件程序的spec文件中记录的与所述第一软件程序存在依赖关系的其它软件程序中,选择出与所述目标接口通信的第二软件程序。
需要说明的是,所述第二软件程序与所述目标外部接口通信,也可以理解为所述第二软件程序调用所述目标外部接口。
作为一种可选的实施方式,在所述软件程序处理装置获取到更新的第一软件程序的所述多个外部接口的第二参数之后,或者在所述软件程序处理装置确定所述第一软件程序更新后受影响的第二软件程序之后,可以用所述多个外部接口的第二参数替换所述多个外部接口的第一参数,例如,所述软件程序处理装置可以将所述多个外部接口的第二参数作为更新后的所述多个外部接口的第一参数存储到本地或数据库中,并删除本地或数据库中原本存储的更新前的所述多个外部接口的第一参数。通过该方式,软件程序处理装置可以在第一软件程序更新后,同步更新所述第一软件程序的多个外部接口的相关参数,保证存储的所述第一软件程序的所述多个接口的相关参数的准确度。
作为另一种可选的实施方式,在所述软件程序处理装置确定目标外部接口之后,可以用所述目标外部接口的第二参数替换所述目标外部接口的第一参数。例如,所述软件程序处理装置可以将所述多个目标外部接口的第二参数作为更新后的所述多个目标外部接口的第一参数存储到本地或数据库中,并删除本地或数据库中原本存储的更新前的所述多个目标外部接口的第一参数。通过该方式,软件程序处理装置可以在第一软件程序更新后,仅同步更新所述第一软件的多个外部接口中参数发生变化的目标外部接口的相关参数,能够减少一定的数据处理量和资源占用。
在本申请一些实施例中,所述软件程序处理装置确定所述第一软件程序更新后受影响的第二软件程序后,可以重新编译所述第二软件程序,得到更新后的第二软件程序并安装,从而实现对第二软件程序的更新。或者,所述软件程序处理装置也可以输出对所述第二软件程序进行更新的提示信息,该提示信息可以用于提示用户对更新所述第二软件进行相应控制。
根据以上实施例提供的方法,软件程序处理装置在第一软件程序更新后,可以根据所述第一软件的多个接口的参数变化情况,确定参数发生变化的外部接口,进而确定受影响的第二软件程序。
基于以上方法,软件程序处理装置还可以在第一软件程序更新后,根据所述第一软件程序的多个接口的参数变化情况,确定所述第一软件程序更新后被删除的外部接口,进而确定受影响的第二软件程序。
具体的,软件程序处理装置可以分别确定更新前的第一软件程序包括的多个外部接口的第三参数,及更新后的第一软件程序包括的多个外部接口的第四参数,再根据所述第三参数和所述第四参数,确定更新前的第一软件程序包括的多个外部接口中被删除的目标外部接口,进而可以对与所述目标外部接口通信的第二软件程序进行更新。
在确定更新前的第一软件程序包括的多个外部接口中被删除的目标外部接口时,软件程序处理装置可以针对所述多个外部接口中的至少一个外部接口,判断在更新后的第一软件程序包括的多个外部接口的第四参数中,是否存在与所述至少一个外部接口的第三参数相同的第四参数,若不存在,则确定所述至少一个外部接口为所述目标外部接口。
上述方法中,软件程序处理装置确定更新前的第一软件程序包括的多个外部接口的第三参数,及更新后的第一软件程序包括的多个外部接口的第四参数时,可以分别参照前文中软件程序处理装置确定所述第一软件程序的多个外部接口的第一参数及第二参数的方法,此处不再赘述。
在本申请一些实施例中,软件程序处理装置确定更新前的第一软件程序包括的多个外部接口中被删除的目标外部接口之后,将已保存的所述第一软件程序包括的所述目标外部接口的参数删除,从而同步更新所述第一软件程序的多个外部接口的相关信息。
上述实施例中,软件程序处理装置通过获取第一软件程序更新前后采用的外部接口的参数,能够确定第一软件程序包括的外部接口在所述第一软件程序更新前后的变化情况,进一步可以准确的确定在第一软件程序发生变化时会受到影响的第二软件程序,该方案相比现有技术,在某个软件程序发生变化时,可以避免对一些实际上不受该软件程序影响的其它软件的不必要的编译和更新过程,进而避免软件程序的冗余编译,提高软件程序编译效率。
下面结合具体实例对本申请实施例提供的软件程序处理方法进行介绍。
图2为本申请实施例提供的一种软件程序处理方法的流程示意图。
以下以软件程序处理装置仅具备软件程序安装功能,而不具备软件程序编译功能为例,对软件程序处理装置可执行的软件程序处理方法进行介绍。
如图2中所示,本申请实施例中,软件处理装置中可以包括获取单元、处理单元和更新单元,其中,所述获取单元可以用于确定第一软件程序更新前后所包括的多个接口的相关参数。所述处理单元可以用于根据所述第一软件程序更新前后所包括的多个接口的相关参数,确定在所述第一软件程序更新前后,所述第一软件程序的外部接口中参数发生变化或者被删除的外部接口,进而根据这些外部接口确定在所述第一软件程序更新后受影响的第二软件程序,并可以对所述第二软件程序进行更新。所述更新单元可以用于将更新后的第一软件程序的多个外部接口的相关参数存储到本地或数据库,来替换本地或数据库中存储的所述第一软件程序更新前包括的多个外部接口的相关参数。
参阅图2所示,本申请实施例提供的一种软件程序处理方法的流程可以包括:
S201:软件程序处理装置的获取单元从本地或数据库中获取第一软件程序包含的外部接口的参数。
所述获取单元从本地或数据库中获取的外部接口的参数为所述第一软件程序更新前所包括的外部接口的参数,所述获取单元获取所述外部接口的参数后上报到处理单元。
示例性的,图3a为本申请实施例提供的一种确定在第一软件程序更新时受影响的第二软件程序的方法示意图。如图3a所示,例如所述第一软件程序为软件程序A,软件程序A在更新之前包括的外部接口分别为外部接口1、外部接口2、外部接口3和外部接口4。则获取单元获取到的软件程序A更新前的外部接口的参数包括外部接口1、外部接口2、外部接口3和外部接口4的参数。
另外,如图3a中所示,与所述软件程序A存在依赖性关系的其它软件程序包括软件程序B、软件程序C、软件程序D和软件程序E,其中,软件程序B和软件程序C通过软件程序A的外部接口1与软件程序A通信,软件程序D通过软件程序A的外部接口2与软件程序A通信,软件程序E通过软件程序A的外部接口3与软件程序A通信。则在软件程序A发生变化(例如软件程序A更新)时,软件程序B、软件程序C、软件程序D和软件程序E中的部分或全部软件程序可能会受到影响。
S202:软件程序处理装置的获取单元从第一服务器获取更新后的第一软件程序包含的外部接口的参数。
所述获取单元从第一服务器获取的外部接口的参数为所述第一软件程序更新后所包括的外部接口的参数,所述获取单元获取所述外部接口的参数后上报到处理单元。
示例性的,如图3a所示,软件程序A更新之后包括的外部接口分别为外部接口2、外部接口3和外部接口4,其中,外部接口3的配置参数发生了变化,但外部接口3的标识未发生变化。则获取单元获取到的软件程序A更新后的外部接口的参数包括外部接口2、配置参数发生变化后的外部接口3和外部接口4的参数。
需要说明的是,在本申请一些实施例中,若软件安装程序是初次安装所述第一软件程序,则对软件安装程序来说,不存在所述第一软件程序包括的多个外部接口的第一参数或者所述第一软件程序包括的多个外部接口的第一参数为空,因此,软件程序处理装置可以不执行上述步骤S201,直接执行上述步骤S202即可,软件程序处理装置执行上述步骤S202后,将获取到的更新的第一软件程序包含的多个外部接口的第二参数作为所述多个外部接口的第一参数进行保存。后续软件程序处理装置更新所述第一软件程序时,再执行完整的方法流程。
S203:软件程序处理装置的处理单元确定所述第一软件程序更新后发生变化的目标外部接口。
所述处理单元根据所述获取单元获取到的更新前的第一软件程序包括的外部接口的参数,可以确定所述第一软件程序在更新前所包括的外部接口的信息;所述处理单元根据所述获取单元获取到的更新后的第一软件程序包括的外部接口的参数,可以确定所述第一软件程序在更新后所包括的外部接口的信息;通过对比所述第一软件程序更新前后所包括的外部接口的信息,能够确定所述第一软件程序更新前后的外部接口的变化情况,得到所述第一软件程序更新后发生变化的目标外部接口。其中,具体实施方式可参照前文实施例中的相关介绍,此处不再赘述。
示例性的,如图3a中所示,通过对比软件程序A更新前后的外部接口的信息,可以确定软件程序A在更新后发生的外部接口的变化包括:外部接口1被删除,外部接口3的配置参数更改。则软件程序A更新后发生变化的外部接口包括外部接口1和外部接口3。
S204:所述处理单元确定与所述目标外部接口通信的第二软件程序。
示例性的,如图3a中所示,由于软件程序A更新后发生变化的外部接口包括外部接口1和外部接口3,因此可以确定与外部接口1通信的软件程序B、软件程序C,以及与外部接口3通信的软件程序4均作为第二软件程序,即在软件程序A更新后,软件程序B、软件程序C和软件程序E均会受到影响,需要进行更新。
其中,为了避免软件程序A的更新对软件程序B、软件程序C和软件程序E的影响,更新后的软件程序B、软件程序C不再与软件程序A的外部接口1进行通信,软件程序E则需要采用变化后的外部接口3与所述软件程序A进行通信。
示例性的,对软件程序B、软件程序C和软件程序E进行更新后的结果如图3b中所示,其中,软件程序A更新后与更新前的状态相比,其外部接口中的外部接口1被删除,外部接口3的配置参数更改。对应的,软件程序B、软件程序C在更新前是与软件程序A的外部接口1通信的,在该外部接口1被删除后,软件程序B、软件程序C更新,且软件程序B、软件程序C更新后不再与软件程序A的外部接口1通信,软件程序D在更新前是与软件程序A的外部接口3通信的,在该外部接口3的配置参数更改后,软件程序D更新,且软件程序D更新后能够与更新后的软件程序A的外部接口3继续通信。
可选的,软件程序处理装置确定所述第一软件程序更新时受影响的第二软件程序的方法,可以在所述第一软件程序更新之前(即软件程序处理装置获取到更新后的第一软件程序之后、安装更新后的第一软件之前)执行,也可以在所述第一软件程序更新完成后再执行。
示例性的,图4为本申请实施例提供的一种软件程序处理方法的示意图。如图4中所示,软件程序处理装置确定所述第一软件程序更新时受影响的第二软件程序的方法在所述第一软件程序更新之前执行时,软件程序处理装置可以在获取到更新后的所述第一软件程序(相关代码)之后,对所述第一软件程序进行外部接口检查(即执行上述步骤S201~步骤S204)。
其中,通过获取更新前的第一软件程序的外部接口的接口基线文件,可以得到更新前的第一软件程序的外部接口的第一参数,进而可以确定更新前的第一软件程序包括的外部接口清单,通过获取更新后的第一软件程序的外部接口的接口基线文件,可以得到更新后的第一软件程序的外部接口的第二参数,进而可以确定更新后的第一软件程序包括的外部接口清单。通过比较第一软件程序更新前后的外部接口的参数或外部接口清单,可以确定接口差异清单,该接口差异清单包括所述第一软件程序更新后发生变化的外部接口的清单。进一步的,根据接口差异清单可以确定采用该接口差异清单中的外部接口与所述第一软件程序通信的其它软件程序,即在所述第一软件程序更新后受影响的第二软件程序。软件程序处理装置确定所述第二软件程序后,可以继续执行对所述第一软件程序的更新操作。
S205:所述处理单元对所述第二软件程序进行更新。
所述处理单元确定需要更新的第二软件程序后,可以获取更新后的第二软件程序,并安装更新后的第二软件程序,完成对第二软件程序的更新。
S206:软件程序处理装置的更新单元将更新后的第一软件程序包含的外部接口的参数存储到本地或数据库,并删除本地或数据库存储的本次更新前的第一软件程序包含的外部接口的参数。
需要说明的是,上述实例中的各步骤的执行顺序仅为执行流程的一种示例,并不构成对步骤执行的先后顺序的限制,上述实例中相互之间没有时序依赖关系的步骤之间没有严格的执行顺序。例如,上述步骤S205与步骤S206执行时,可以是步骤S205先于步骤S206执行,也可以是步骤S206先于步骤S205执行,还也可以是两个步骤选择性同时执行。
此外,上述实例中对软件程序处理装置中的单元的划分是示意性的,仅仅为一种逻辑功能划分的示例,实际实现时可以有另外的划分方式。
上述实例中,在第一软件程序更新后,软件程序处理装置若确定所述第一软件程序的外部接口未发生变化,则与所述外部接口进行通信的其它软件程序不需要更新,若确定所述第一软件程序的外部接口发生变化,则与发生变化的外部接口进行通信的其它软件程序需要更新。根据该方法,在软件程序发生变化时,能够通过检查出的软件程序外部接口的变化,在较短时间内快速准确的确定该软件程序的变化会影响的其它软件程序,进而精确的触发其它软件程序的编译更新,极大减少了软件程序的冗余编译问题。
基于以上实施例及相同构思,本申请实施例还提供了一种软件程序处理装置,如图5所示,所述软件程序处理装置500可以包括:
第一参数确定单元501,用于确定第一软件程序包括的多个外部接口的第一参数,其中,所述第一软件程序通过所述多个外部接口与其它软件程序通信;第二参数确定单元502,用于确定更新后的第一软件程序的所述多个外部接口的第二参数;软件程序处理单元503,用于根据所述第一参数和所述第二参数,确定所述多个外部接口中参数发生变化的目标外部接口,对与所述目标外部接口通信的第二软件程序进行更新。
在一种可能的设计中,所述软件程序处理单元503根据所述第一参数和所述第二参数,确定所述多个外部接口中参数发生变化的目标外部接口时,具体用于:判断所述多个外部接口中的至少一个外部接口的第一参数和第二参数是否相同,如果不相同,则确定所述至少一个外部接口为所述目标外部接口。
在一种可能的设计中,任一个外部接口的第一参数或第二参数包含以下至少一项:接口标识、接口配置参数和接口输出参数。
在一种可能的设计中,所述第一参数确定单元501确定第一软件程序包括的多个外部接口的第一参数时,具体用于:获取被保存的所述多个外部接口的第一参数。
在一种可能的设计中,所述第二参数确定单元502确定更新后的第一软件程序的所述多个外部接口的第二参数时,具体用于:从操作系统获取所述多个外部接口的第二参数,其中,所述操作系统用于运行所述第一软件程序。
在一种可能的设计中,所述软件程序处理单元503还用于:用所述多个外部接口的第二参数替换所述多个外部接口的第一参数;或者,用所述目标外部接口的第二参数替换所述目标外部接口的第一参数。
在一种可能的设计中,所述软件程序处理单元503对与所述目标外部接口通信的第二软件程序进行更新时,具体用于:重新编译所述第二软件程序,得到更新后的第二软件程序,并安装更新后的第二软件程序。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
图5中的各个单元的只一个或多个可以软件、硬件、固件或其结合实现。所述软件或固件包括但不限于计算机程序指令或代码,并可以被硬件处理器所执行。所述硬件包括但不限于各类集成电路,如中央处理单元(CPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或专用集成电路(ASIC)。
基于以上实施例及相同构思,本申请实施例还提供了一种电子设备,用于实现本申请实施例提供的软件程序处理方法。如图6所示,所述软件程序处理装置600可以包括:一个或多个处理器601,存储器602,以及一个或多个计算机程序(图中未示出)。作为一种实现方式,上述各器件可以通过一个或多个通信线路603耦合。其中,存储器602中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令;处理器601调用存储器602中存储的所述指令,使得软件程序处理装置600执行本申请实施例提供的软件程序处理方法。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置。
作为一种实现方式,所述软件程序处理装置600还可以包括通信接口604,用于通过传输介质和其它装置进行通信,例如,所述软件程序处理装置600可以通过所述通信接口604,与第一服务器、第二服务器或数据库等进行信息或数据交互。在本申请实施例中,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。在本申请实施例中,通信接口为收发器时,收发器可以包括独立的接收器、独立的发射器;也可以集成收发功能的收发器、或者是接口电路。
在本申请一些实施例中,所述处理器601、存储器602以及通信接口604可以通过通信线路603相互连接;通信线路603可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。所述通信线路603可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,简称DVD)、或者半导体介质(例如,SSD)等。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种软件程序处理方法,其特征在于,所述方法包括:
确定第一软件程序包括的多个外部接口的第一参数,其中,所述第一软件程序通过所述多个外部接口与其它软件程序通信;
确定更新后的第一软件程序的所述多个外部接口的第二参数;
根据所述第一参数和所述第二参数,确定所述多个外部接口中参数发生变化的目标外部接口,对与所述目标外部接口通信的第二软件程序进行更新。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一参数和所述第二参数,确定所述多个外部接口中参数发生变化的目标外部接口,包括:
判断所述多个外部接口中的至少一个外部接口的第一参数和第二参数是否相同,如果不相同,则确定所述至少一个外部接口为所述目标外部接口。
3.根据权利要求1或2所述的方法,其特征在于,任一个外部接口的第一参数或第二参数包含以下至少一项:
接口标识、接口配置参数和接口输出参数。
4.根据权利要求1~3任一所述的方法,其特征在于,所述确定第一软件程序包括的多个外部接口的第一参数,包括:
获取被保存的所述多个外部接口的第一参数。
5.根据权利要求1~4任一所述的方法,其特征在于,所述确定更新后的第一软件程序的所述多个外部接口的第二参数,包括:
从操作系统获取所述多个外部接口的第二参数,其中,所述操作系统用于运行所述第一软件程序。
6.根据权利要求1~5任一所述的方法,其特征在于,所述方法还包括:
用所述多个外部接口的第二参数替换所述多个外部接口的第一参数;或者
用所述目标外部接口的第二参数替换所述目标外部接口的第一参数。
7.根据权利要求1~6任一所述的方法,其特征在于,对与所述目标外部接口通信的第二软件程序进行更新,包括:
重新编译所述第二软件程序,得到更新后的第二软件程序,并安装更新后的第二软件程序。
8.一种软件程序处理装置,其特征在于,包括:
第一参数确定单元,用于确定第一软件程序包括的多个外部接口的第一参数,其中,所述第一软件程序通过所述多个外部接口与其它软件程序通信;
第二参数确定单元,用于确定更新后的第一软件程序的所述多个外部接口的第二参数;
软件程序处理单元,用于根据所述第一参数和所述第二参数,确定所述多个外部接口中参数发生变化的目标外部接口,对与所述目标外部接口通信的第二软件程序进行更新。
9.根据权利要求8所述的装置,其特征在于,所述软件程序处理单元根据所述第一参数和所述第二参数,确定所述多个外部接口中参数发生变化的目标外部接口时,具体用于:
判断所述多个外部接口中的至少一个外部接口的第一参数和第二参数是否相同,如果不相同,则确定所述至少一个外部接口为所述目标外部接口。
10.根据权利要求8或9所述的装置,其特征在于,任一个外部接口的第一参数或第二参数包含以下至少一项:
接口标识、接口配置参数和接口输出参数。
11.根据权利要求8~10任一所述的装置,其特征在于,所述第一参数确定单元确定第一软件程序包括的多个外部接口的第一参数时,具体用于:
获取被保存的所述多个外部接口的第一参数。
12.根据权利要求8~11任一所述的装置,其特征在于,所述第二参数确定单元确定更新后的第一软件程序的所述多个外部接口的第二参数时,具体用于:
从操作系统获取所述多个外部接口的第二参数,其中,所述操作系统用于运行所述第一软件程序。
13.根据权利要求8~12任一所述的装置,其特征在于,所述软件程序处理单元还用于:
用所述多个外部接口的第二参数替换所述多个外部接口的第一参数;或者
用所述目标外部接口的第二参数替换所述目标外部接口的第一参数。
14.根据权利要求8~13任一所述的装置,其特征在于,所述软件程序处理单元对与所述目标外部接口通信的第二软件程序进行更新时,具体用于:
重新编译所述第二软件程序,得到更新后的第二软件程序,并安装更新后的第二软件程序。
15.一种电子设备,其特征在于,包括存储器和至少一个处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器中存储的计算机程序,实现如权利要求1~7中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在软件程序处理装置或电子设备上运行时,使得所述软件程序处理装置或电子设备执行如权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110572371.7A CN115390916A (zh) | 2021-05-25 | 2021-05-25 | 一种软件程序处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110572371.7A CN115390916A (zh) | 2021-05-25 | 2021-05-25 | 一种软件程序处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115390916A true CN115390916A (zh) | 2022-11-25 |
Family
ID=84114527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110572371.7A Pending CN115390916A (zh) | 2021-05-25 | 2021-05-25 | 一种软件程序处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115390916A (zh) |
-
2021
- 2021-05-25 CN CN202110572371.7A patent/CN115390916A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025559B (zh) | 一种业务处理方法及装置 | |
US9513891B2 (en) | Method and device for publishing and implementing wireless application | |
CN109062617B (zh) | 一种支持多类型设备的平台的应用方法、移动终端 | |
US7263699B2 (en) | Preparation of a software configuration using an XML type programming language | |
US11556348B2 (en) | Bootstrapping profile-guided compilation and verification | |
CN101040552A (zh) | 控制软件版本更新的方法和系统 | |
CN111897570A (zh) | 一种基于Maven插件的多依赖项文件提取方法及装置 | |
US9367299B2 (en) | Preventing application downgrade in an application store | |
US20230418585A1 (en) | Method for generating update package of software | |
CN111679852B (zh) | 一种冲突依赖库的检测方法及装置 | |
CN114489676A (zh) | 源代码的处理方法、系统、存储介质及电子设备 | |
CN109144620B (zh) | 一种悬浮窗权限设置界面的跳转方法及装置 | |
CN110968339B (zh) | 前端构建工具的方法、装置以及电子设备 | |
CN114490103A (zh) | 一种操作系统接口调用方法、装置以及电子设备 | |
CN112748949A (zh) | 一种操作系统的软件包管理方法、装置、设备及存储介质 | |
CN115390916A (zh) | 一种软件程序处理方法、装置及电子设备 | |
CN111831301A (zh) | 支持无分叉升级的区块链运行时环境系统、方法 | |
CN112947956B (zh) | 一种应用软件升级方法 | |
CN115309421A (zh) | 单点系统的静态变量同步方法、装置、设备及存储介质 | |
CN111651195B (zh) | 一种系统依赖包冲突检测方法及装置 | |
US10958514B2 (en) | Generating application-server provisioning configurations | |
CN113050962A (zh) | 移动服务升级方法、装置和终端 | |
CN104978216A (zh) | 应用确定方法和应用确定装置 | |
CN117472401A (zh) | 一种云端升级管理方法、装置、系统及可读存储介质 | |
CN116627536A (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 |