CN112612493A - 用于软件集合的软件升级方法、装置、设备及存储介质 - Google Patents

用于软件集合的软件升级方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112612493A
CN112612493A CN202011554475.7A CN202011554475A CN112612493A CN 112612493 A CN112612493 A CN 112612493A CN 202011554475 A CN202011554475 A CN 202011554475A CN 112612493 A CN112612493 A CN 112612493A
Authority
CN
China
Prior art keywords
software
installation
upgraded
version number
virtual
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
Application number
CN202011554475.7A
Other languages
English (en)
Inventor
程勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Shiyuan Electronics Thecnology Co Ltd, Guangzhou Shirui Electronics Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN202011554475.7A priority Critical patent/CN112612493A/zh
Publication of CN112612493A publication Critical patent/CN112612493A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种用于软件集合的软件升级方法、装置、设备及存储介质。该方法包括:基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址;根据软件ID确定软件在操作系统中当前安装版本的安装版本号;基于升级检测软件确定软件的最新版本号;比较安装版本号与最新版本号,确定待升级软件以及待升级软件对应的安装包下载地址和安装目录;从待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。基于上述技术手段,在安装包下载和安装的过程中,由于只需要下载和安装待升级软件的安装包,节约了OTA的升级流量和升级时间。

Description

用于软件集合的软件升级方法、装置、设备及存储介质
技术领域
本申请实施例涉及软件升级技术领域,尤其涉及一种用于软件集合的软件升级方法、装置、设备及存储介质。
背景技术
传统的会议平板上存在许多预置软件,为方便管理,将所有的软件存储在一起形成一个软件集合,软件集合就是多个应用软件的集合,其包括了每个应用软件的安装包。
发明人在OTA对现有软件集合进行软件升级时发现,OTA会做许多无用功。比如,每一次的OTA有大量应用是不会更新的,在一些特殊情况下,可能只会更新一到两个应用软件,但是软件集合的形式导致了即使只更新少量应用也必须将其它没有更新的应用一起更新。一次小的更新要下载和安装整个软件集合,浪费大量的时间和流量。
发明内容
本发明实施例提供一种用于软件集合的软件升级方法、装置、设备及存储介质,节约OTA的升级流量和升级时间。
在第一方面,本发明实施例提供了一种用于软件集合的软件升级方法,包括:
基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,所述虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址;
根据所述软件ID确定所述软件在操作系统中当前安装版本的安装版本号;
基于所述升级检测软件确定所述软件的最新版本号;
比较所述安装版本号与最新版本号,确定待升级软件以及所述待升级软件对应的安装包下载地址和安装目录;
从所述待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。
在第二方面,本发明实施例提供了一种用于软件集合的软件升级装置,包括:
获取模块,被配置为基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,所述虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址;
安装版本号确定模块,被配置为根据所述软件ID确定所述软件在操作系统中当前安装版本的安装版本号;
最新版本号确定模型,被配置为基于所述升级检测软件确定所述软件的最新版本号;
升级确定模块,被配置为比较所述安装版本号与最新版本号,确定待升级软件以及所述待升级软件对应的安装包下载地址和安装目录;
安装模块,被配置为从所述待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。
在第三方面,本发明实施例提供了一种电子设备,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的软件升级方法。
在第四方面,本发明实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的软件升级方法。
本发明实施例通过基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址;根据软件ID确定软件在操作系统中当前安装版本的安装版本号;基于升级检测软件确定软件的最新版本号;比较安装版本号与最新版本号,确定待升级软件以及待升级软件对应的安装包下载地址和安装目录;从待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。通过上述技术手段,将软件信息和软件安装包分开,将软件信息存储在虚拟软件集合中,虚拟软件集合和软件集合分别存储在不同的内存空间,在软件升级时,只需要通过虚拟软件集合中的软件ID,确定待升级软件,并根据虚拟软件集合中的安装包下载地址下载待升级软件的安装包,将安装包安装在对应的安装目录下,即可完成待升级软件的软件升级。在安装包下载和安装的过程中,由于只需要下载和安装待升级软件的安装包,相比于现有软件集合升级方法需对软件集合中的所有软件的安装包进行下载安装,本申请实施例提供的软件升级方法减少了OTA软件升级时的下载流量和下载时间,还减少了安装时间。
附图说明
图1是本发明实施例一提供的一种用于软件集合的软件升级方法的流程图;
图2是全家桶示意图;
图3是虚拟全家桶示意图;
图4是Windows操作系统中软件的一种可选的具体版本确定流程图;
图5是Linux操作系统中软件的一种可选的具体版本确定流程图;
图6是待升级软件的一种可选的具体确定流程图;
图7是本发明实施例一提供的另一种用于软件集合的软件升级方法的流程图;
图8是本发明实施例二提供的一种用于软件集合的软件升级方法的流程图;
图9是本发明实施例三提供的一种用于软件集合的软件升级装置的结构示意图;
图10是本发明实施例四提供的一种用于软件集合的软件升级设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本发明实施例提供的用于软件集合的软件升级方法、装置、设备及存储介质,旨在通过基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址;根据软件ID确定软件在操作系统中当前安装版本的安装版本号;基于升级检测软件确定软件的最新版本号;比较安装版本号与最新版本号,确定待升级软件以及待升级软件对应的安装包下载地址和安装目录;从待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。相对于传统的OTA软件升级方法,其在软件升级时,是将软件集合中的所有软件一起更新,其中包括了其他没有更新的软件,这导致一次小的更新要下载和安装整个软件集合,浪费大量的时间和流量。基于此,本申请实施例提出一种用于软件集合的软件升级方法、装置、设备及存储介质,以解决OAT软件升级时流量和时间浪费的问题。
实施例一:
图1是本发明实施例一提供的一种用于软件集合的软件升级方法的流程图。实施例中提供的用于软件集合的软件升级方法可以基于用于软件集合的软件升级设备执行,该用于软件集合的软件升级设备可以通过软件和/或硬件的方式实现,该用于软件集合的软件升级设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。例如,用于软件集合的软件升级设备可以是电脑和会议平板等。
为了便于理解,实施例中以会议平板为用于软件集合的软件升级设备进行示例性描述。
具体的,参考图1,本发明实施例提供的用于软件集合的软件升级方法包括:
S110、基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址。
会议平板上安装许多预置软件,所有的软件存储在一起形成了一个全家桶,全家桶就是多个软件的软件集合,其包括了每个软件的安装包。示例性的,参考图2,图2是全家桶示意图。如图2所示,全家桶包括了软件集合中每个软件的安装包。全家桶的作用是拉平软件之间的依赖,也就是说一个全家桶里面的所有软件的版本是确定的,因此全家桶的本质是软件信息的集合,而不是软件的集合。基于此,为解决OTA升级的问题,将软件安装包和软件信息分开,使得全家桶只包括软件信息,而软件安装包存储至其它位置。为了和包括软件安装包的全家桶区分,将包括软件信息的全家桶称作虚拟全家桶,即虚拟软件集合。进一步的,参考图3,图3是虚拟全家桶示意图。如图3所示,虚拟全家桶包括对应的全家桶中所有软件的软件信息,该软件信息包括软件ID和软件安装包的下载地址,通过软件ID可以确定软件的安装版本号,通过下载地址可以下载最新的安装包。本申请实施例提供的软件升级方法,在全家桶的基础上,增加了对应的虚拟全家桶,通过虚拟全家桶里面的软件信息可以按需下载和安装软件,而不用每一次都将所有软件安装包下载安装。且虚拟全家桶和全家桶设置在不同的存储位置,独立使用,虚拟全家桶的运行不影响全家桶的正常使用。
进一步的,升级检测软件实时向服务器发送软件最新版本请求,服务器响应升级检测软件的请求,并向升级检测软件发送操作系统中软件的最新版本号,由升级检测软件将最新版本号和当前的安装版本号进行对比,判断软件是否需要升级。具体的,服务器将最新版本号和虚拟全家桶发送至升级检测软件,由升级检测软件根据软件信息和最新版本号确定待升级软件和对应的下载地址。
可选的,事先在会议平板上配置好虚拟全家桶,虚拟全家桶以压缩方式进行存储,可得到虚拟全家桶的压缩包,在升级检测软件的运行过程中解压虚拟全家桶的压缩包,并获取虚拟全家桶中的软件信息。在升级检测软件解压虚拟全家桶时,升级检测软件根据虚拟全家桶中所有的软件,向服务器发送软件最新版本请求,使得服务器将虚拟全家桶中所有软件的最新版本号下发至升级检测软件。升级检测软件根据软件信息和最新版本号确定待升级软件和对应的下载地址。
S120、根据软件ID确定软件在操作系统中当前安装版本的安装版本号。
为了区分虚拟全家桶中的每个软件对应软件信息,需要软件ID来标记每一个软件,同时也能够通过软件ID确定操作系统中当前安装的版本号。除此之外,本申请实施例通过软件ID关联软件当前安装的安装版本号,只需要在虚拟全家桶中添加软件ID即可确定对应的安装版本号,免去了在虚拟全家桶中添加安装版本号时,需实时对虚拟全家桶进行安装版本号更新的操作。
进一步的,会议平板的操作系统可以配置Windows操作系统,也可以配置Linux操作系统,对于不同的操作系统,确定操作系统中的软件的安装版本号的方式不同。
示例性的,参考图4,图4是Windows操作系统安装软件的一种可选的版本确定流程图。如图4所示,Windows操作系统中软件的版本确定流程包括:
S1201、获取虚拟软件集合中软件的product code;
S1202、根据软件的product code,从注册表中获取软件在Windows操作系统中当前安装版本的安装版本号。
对于Windows操作系统,Windows操作系统中的软件ID用product code表示,product code在Windows操作系统中是唯一的,并且可以通过product code在注册表中找到对应软件的安装版本号。
示例性的,参考图5,图5是Linux操作系统中软件的一种可选的具体版本确定流程图。如图5所示,Linux操作系统中软件的版本确定流程包括:
S1203、获取虚拟软件集合中软件的deb包名;
S1204、根据软件的deb包名,从对应的deb包中获取软件在Linux操作系统中当前安装版本的安装版本号。
对于Linux操作系统,Linux操作系统中的软件ID用deb包的包名表示,deb包的包名在Linux操作系统中是唯一的,并且可以通过deb包的包名找到对应软件的安装版本号。
S130、基于升级检测软件确定软件的最新版本号。
具体的,升级检测软件实时向服务器发送软件最新版本请求,服务器向升级检测软件发送软件的最新版本号和虚拟全家桶,升级检测软件通过最新版本号和安装版本号来判断虚拟全家桶中的软件是否需要更新。可选的,升级检测软件在解压虚拟全家桶时,根据虚拟全家桶中所有的软件,向服务器发送软件最新版本请求,使得服务器将虚拟全家桶中所有软件的最新版本号下发至升级检测软件,升级检测软件通过最新版本号来判断虚拟全家桶中的软件是否需要更新。
S140、比较安装版本号与最新版本号,确定待升级软件以及待升级软件对应的安装包下载地址和安装目录。
在获取到全家桶中软件的安装版本号和最新版本号之后,可确定待升级的软件,针对待升级的软件,下载对应的安装包以及确定对应的安装目录。具体的,参考图6,图6是待升级软件的一种可选的具体确定流程图。如图6所示,待升级软件的确定流程包括:
S1401、基于升级检测软件,将虚拟软件集合中每个软件的安装版本号依次和对应的最新版本号进行比较,将最新版本号高于安装版本号的软件确定为待升级软件;
S1402、基于升级检测软件,从虚拟软件集合中获取待升级软件的安装包下载地址;
S1403、基于升级检测软件,根据待升级软件的软件ID,确定软件集合中软件的安装目录,将软件集合中软件的安装目录作为待升级软件的安装目录。
升级检测软件依次将虚拟全家桶中软件的安装版本号和对应的最新版本号进行比较,如果软件的最新版本号比安装版本号高,则确定该软件需要升级。在确定待升级软件后,根据待升级软件的软件ID获取虚拟全家桶中的安装包下载地址,以及确定待升级软件的安装目录,可理解的,待升级软件的安装目录就是全家桶的安装目录。
S150、从待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。
升级检测软件从待升级软件对应的安装包下载地址下载安装包,可理解的,待升级软件的安装包存储在全家桶对应的存储位置。进一步的,由于安装的安装包中可能包括升级检测软件,如果是升级检测软件执行安装操作,那么在升级检测软件安装时,升级检测软件会中途退出,因此由另外的软件执行安装操作。
可选的,虚拟全家桶中的软件信息还记录有软件的安装优先级。在进行软件安装包安装时,根据待升级软件的安装优先级,从高到低依次将对应的安装包安装到对应的安装目录。具体的,针对常用的软件,可设置较高的安装优先级,一般软件是下载后即可安装,优先安装表示优先下载,在流量不稳定或流量不足的情况下,优先下载常用软件,可保证常用软件一般处于最新版本状态。
具体的,参考图7,图7是本发明实施例一提供的另一种用于软件集合的软件升级方法的流程图。如图7所示,服务器将虚拟全家桶和虚拟全家桶中软件对应的最新版本号发送至升级检测软件,升级检测软件解压虚拟全家桶的压缩包,获取到虚拟全家桶中软件对应的软件ID,并根据软件ID,循环获取软件对应的安装版本号。升级检测软件将安装版本号和最新版本号进行比较,确定待升级软件呢,并根据虚拟全家桶中待升级软件对应的安装包下载地址,下载安装包,并将安装包存储至全家桶对应的存储空间。在下载完安装包后,将待升级软件的安装包安装在全家桶对应的安装目录下,至此完成软件升级。
综上,通过基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址;根据软件ID确定软件在操作系统中当前安装版本的安装版本号;基于升级检测软件确定软件的最新版本号;比较安装版本号与最新版本号,确定待升级软件以及待升级软件对应的安装包下载地址和安装目录;从待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。通过上述技术手段,将软件信息和软件安装包分开,将软件信息存储在虚拟软件集合中,虚拟软件集合和软件集合分别存储在不同的内存空间,在软件升级时,只需要通过虚拟软件集合中的软件ID,确定待升级软件,并根据虚拟软件集合中的安装包下载地址下载待升级软件的安装包,将安装包安装在对应的安装目录下,即可完成待升级软件的软件升级。在安装包下载和安装的过程中,由于只需要下载和安装待升级软件的安装包,相比于现有软件集合升级方法需对软件集合中的所有软件的安装包进行下载安装,本申请实施例提供的软件升级方法减少了OTA软件升级时的下载流量和下载时间,还减少了安装时间。
实施例二
图8是本发明实施例二提供的一种用于软件集合的软件升级方法的流程图。如图8所示,用于软件集合的软件升级方法包括:
S210、建立升级检测软件与虚拟软件集合之间的文件关联关系。
虚拟全家桶本身只是一个文件,无法自行安装和运行,因此需要升级检测软件来安装运行虚拟全家桶。为了方便,升级检测软件可事先注册关联文件,直接双击虚拟全家桶即可通过升级检测软件安装运行虚拟全家桶。
S220、基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址。
S230、根据软件ID确定软件在操作系统中当前安装版本的安装版本号。
S240、基于升级检测软件确定软件的最新版本号。
S250、比较安装版本号与最新版本号,确定待升级软件以及待升级软件对应的安装包下载地址和安装目录。
S260、从待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。
步骤S220到S260具体实现过程可以参考步骤S110到S150。
S270、根据待升级软件的安装重启请求,判断待升级软件在安装完毕后是否需要重启。
S280、若待升级软件需要重启,则在所有待升级软件升级完毕后,响应安装重启请求。
虚拟全家桶中的软件信息还记录有软件的安装重启请求,安装重启请求用于表示软件在完成安装后需进行重启操作。对应的,通过虚拟全家桶中的安装重启请求对应的“是”或“否”的关联信息表征对应的软件在升级后是否需要重启。通过关联信息,判断待升级软件更新后的是否需要重启,若需要重启,则在所有带升级软件升级完毕后,响应安装重启请求。可理解的,虚拟全家桶中的软件还可以记录其它的附加信息,不限制于安装重启请求和软件优先级,通过对软件关联的附加信息进行分析处理,实现除软件升级外的其它功能。
综上,通过基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址;根据软件ID确定软件在操作系统中当前安装版本的安装版本号;基于升级检测软件确定软件的最新版本号;比较安装版本号与最新版本号,确定待升级软件以及待升级软件对应的安装包下载地址和安装目录;从待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。通过上述技术手段,将软件信息和软件安装包分开,将软件信息存储在虚拟软件集合中,虚拟软件集合和软件集合分别存储在不同的内存空间,在软件升级时,只需要通过虚拟软件集合中的软件ID,确定待升级软件,并根据虚拟软件集合中的安装包下载地址下载待升级软件的安装包,将安装包安装在对应的安装目录下,即可完成待升级软件的软件升级。在安装包下载和安装的过程中,由于只需要下载和安装待升级软件的安装包,相比于现有软件集合升级方法需对软件集合中的所有软件的安装包进行下载安装,本申请实施例提供的软件升级方法减少了OTA软件升级时的下载流量和下载时间,还减少了安装时间。除此之外,本申请实施例通过在虚拟全家桶中添加一些软件的附加信息,可通过这些附加信息给基于虚拟全家桶的软件升级方法添加了附加功能。
实施例三
图9是本发明实施例三提供的一种用于软件集合的软件升级装置的结构示意图。参考图9,该用于软件集合的软件升级装置包括:获取模块21、安装版本号确定模块22、最新版本号确定模型23、升级确定模块24和安装模块25。
其中,获取模块21,被配置为基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址;
安装版本号确定模块22,被配置为根据软件ID确定软件在操作系统中当前安装版本的安装版本号;
最新版本号确定模型23,被配置为基于升级检测软件确定软件的最新版本号;
升级确定模块24,被配置为比较安装版本号与最新版本号,确定待升级软件以及待升级软件对应的安装包下载地址和安装目录;
安装模块25,被配置为从待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。
在上述实施例的基础上,操作系统为Windows操作系统,安装在Windows操作系统中软件的软件ID为product code,对应的,安装版本号确定模块22包括:软件ID第一获取单元,用于获取虚拟软件集合中软件的product code;安装版本号第一确定单元,用于根据软件的product code,从注册表中获取软件在Windows操作系统中当前安装版本的安装版本号。
在上述实施例的基础上,操作系统为Linux操作系统,安装在Linux操作系统上中软件的软件ID为deb包名,对应的,安装版本号确定模块22包括:软件ID第二获取单元,用于获取虚拟软件集合中软件的deb包名;安装版本号第二确定单元,用于根据软件的deb包名,从对应的deb包中获取软件在Linux操作系统中当前安装版本的安装版本号。
在上述实施例的基础上,升级确定模块24包括:带升级软件确定单元,用于基于升级检测软件,将虚拟软件集合中每个软件的安装版本号依次和对应的最新版本号进行比较,将最新版本号高于安装版本号的软件确定为待升级软件;下载地址获取单元,用于基于升级检测软件,从虚拟软件集合中获取待升级软件的安装包下载地址;安装目录确定单元,用于基于升级检测软件,根据待升级软件的软件ID,确定软件集合中软件的安装目录,将软件集合中软件的安装目录作为待升级软件的安装目录。
在上述实施例的基础上,用于软件集合的软件升级装置还包括:文件关联关系建立模块,被配置为建立升级检测软件与虚拟软件集合之间的文件关联关系。
在上述实施例的基础上,虚拟软件集合还记录有软件的安装优先级,对应的,安装模块25包括:下载单元,用于基于升级检测软件从待升级软件对应的安装包下载地址下载安装包;安装单元,用于根据待升级软件的安装优先级,从高到低依次将对应的安装包安装到对应的安装目录。
在上述实施例的基础上,虚拟软件集合还记录有软件的安装重启请求,对应的,用于软件集合的软件升级装置还包括:确认重启模块,被配置为根据待升级软件的安装重启请求,判断待升级软件在安装完毕后是否需要重启;响应重启模块,被配置为若待升级软件需要重启,则在所有待升级软件升级完毕后,响应安装重启请求。
上述,通过基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址;根据软件ID确定软件在操作系统中当前安装版本的安装版本号;基于升级检测软件确定软件的最新版本号;比较安装版本号与最新版本号,确定待升级软件以及待升级软件对应的安装包下载地址和安装目录;从待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。通过上述技术手段,将软件信息和软件安装包分开,将软件信息存储在虚拟软件集合中,虚拟软件集合和软件集合分别存储在不同的内存空间,在软件升级时,只需要通过虚拟软件集合中的软件ID,确定待升级软件,并根据虚拟软件集合中的安装包下载地址下载待升级软件的安装包,将安装包安装在对应的安装目录下,即可完成待升级软件的软件升级。在安装包下载和安装的过程中,由于只需要下载和安装待升级软件的安装包,相比于现有软件集合升级方法需对软件集合中的所有软件的安装包进行下载安装,本申请实施例提供的软件升级方法减少了OTA软件升级时的下载流量和下载时间,还减少了安装时间。
本发明实施例提供的用于软件集合的软件升级装置包含在用于软件集合的软件升级设备中,且可用于执行上述任意实施例提供的用于软件集合的软件升级方法,具备相应的功能和有益效果。
实施例四
图10为本发明实施例四提供的一种用于软件集合的软件升级设备的结构示意图。如图10所示,该用于软件集合的软件升级设备包括处理器30、存储器31、输入装置32、输出装置33以及显示屏34;用于软件集合的软件升级设备中处理器30的数量可以是一个或多个,图10中以一个处理器30为例;用于软件集合的软件升级设备中显示屏34的数量可以是一个或多个,图10中以一个显示屏34为例;用于软件集合的软件升级设备中的处理器30、存储器31、输入装置32、输出装置33以及显示屏34可以通过总线或其他方式连接,图10中以通过总线连接为例。
存储器31作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的用于软件集合的软件升级方法对应的程序指令/模块(例如,用于软件集合的软件升级装置中的获取模块21、安装版本号确定模块22、最新版本号确定模型23、升级确定模块24和安装模块25)。处理器30通过运行存储在存储器31中的软件程序、指令以及模块,从而执行用于软件集合的软件升级设备的各种功能应用以及数据处理,即实现上述用于软件集合的软件升级方法。
存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据用于软件集合的软件升级设备的使用所创建的数据等。此外,存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器31可进一步包括相对于处理器30远程设置的存储器,这些远程存储器可以通过网络连接至用于软件集合的软件升级设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置32可用于接收输入的数字或字符信息,以及产生与用于软件集合的软件升级设备的用户设置以及功能控制有关的键信号输入。输出装置33可包括扬声器等音频输出设备。显示屏34为具有触摸功能的显示屏,其可以是电容屏、电磁屏或者红外屏。可选的,当显示屏34为红外屏时,其还包括红外触摸框,该红外触摸框设置在显示屏34的四周,其还可以用于接收红外信号,并将该红外信号发送至处理器30或者其他设备。显示屏可以根据处理器的指令显示其他的内容。
本实施例中,用于软件集合的软件升级设备可以是会议平板。
上述用于软件集合的软件升级设备包含用于软件集合的软件升级装置,可以用于执行任意用于软件集合的软件升级方法,具备相应的功能和有益效果。
实施例五
本发明实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种用于软件集合的软件升级方法,该方法包括:
基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址;
根据软件ID确定软件在操作系统中当前安装版本的安装版本号;
基于升级检测软件确定软件的最新版本号;
比较安装版本号与最新版本号,确定待升级软件以及待升级软件对应的安装包下载地址和安装目录;
从待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的用于软件集合的软件升级方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
值得注意的是,上述基于用于软件集合的软件升级装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种用于软件集合的软件升级方法,其特征在于,包括:
基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,所述虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址;
根据所述软件ID确定所述软件在操作系统中当前安装版本的安装版本号;
基于所述升级检测软件确定所述软件的最新版本号;
比较所述安装版本号与最新版本号,确定待升级软件以及所述待升级软件对应的安装包下载地址和安装目录;
从所述待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。
2.根据权利要求1所述的方法,其特征在于,所述操作系统为Windows操作系统,安装在Windows操作系统中软件的软件ID为product code;
对应的,所述根据所述软件ID确定所述软件在操作系统中当前安装版本的安装版本号包括:
获取所述虚拟软件集合中所述软件的product code;
根据所述软件的product code,从注册表中获取所述软件在Windows操作系统中当前安装版本的安装版本号。
3.根据权利要求1所述的方法,其特征在于,所述操作系统为Linux操作系统,安装在Linux操作系统上中软件的软件ID为deb包名;
对应的,所述基于升级检测软件解压虚拟软件集合,获取所述虚拟软件集合中的软件ID,并根据所述软件ID,确定操作系统当前安装软件的版本号包括:
获取所述虚拟软件集合中所述软件的deb包名;
根据软件的deb包名,从对应的deb包中获取所述软件在Linux操作系统中当前安装版本的安装版本号。
4.根据权利要求1所述的方法,其特征在于,所述比较所述安装版本号与最新版本号,确定待升级软件以及所述待升级软件对应的安装包下载地址和安装目录,包括:
基于所述升级检测软件,将所述虚拟软件集合中每个软件的安装版本号依次和对应的最新版本号进行比较,将最新版本号高于安装版本号的软件确定为待升级软件;
基于所述升级检测软件,从所述虚拟软件集合中获取所述待升级软件的安装包下载地址;
基于所述升级检测软件,根据待升级软件的软件ID,确定所述软件集合中软件的安装目录,将所述软件集合中软件的安装目录作为所述待升级软件的安装目录。
5.根据权利要求1所述的方法,其特征在于,在所述基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合之前,还包括:
建立所述升级检测软件与所述虚拟软件集合之间的文件关联关系。
6.根据权利要求1所述的方法,其特征在于,所述虚拟软件集合还记录有软件的安装优先级;
对应的,所述从所述待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录,包括:
基于所述升级检测软件从所述待升级软件对应的安装包下载地址下载安装包;
根据所述待升级软件的安装优先级,从高到低依次将对应的安装包安装到对应的安装目录。
7.根据权利要求1所述的方法,其特征在于,所述虚拟软件集合还记录有软件的安装重启请求;
对应的,在所述从所述待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录之后,还包括:
根据所述待升级软件的安装重启请求,判断所述待升级软件在安装完毕后是否需要重启;
若所述待升级软件需要重启,则在所有待升级软件升级完毕后,响应所述安装重启请求。
8.一种用于软件集合的软件升级装置,其特征在于,包括:
获取模块,被配置为基于升级检测软件获取升级过程中从服务器接收的虚拟软件集合,所述虚拟软件集合记录有软件集合中多个软件的软件ID及其对应的安装包下载地址;
安装版本号确定模块,被配置为根据所述软件ID确定所述软件在操作系统中当前安装版本的安装版本号;
最新版本号确定模型,被配置为基于所述升级检测软件确定所述软件的最新版本号;
升级确定模块,被配置为比较所述安装版本号与最新版本号,确定待升级软件以及所述待升级软件对应的安装包下载地址和安装目录;
安装模块,被配置为从所述待升级软件对应的安装包下载地址下载安装包,并安装到对应的安装目录。
9.一种电子设备,其特征在于,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的软件升级方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一所述的软件升级方法。
CN202011554475.7A 2020-12-24 2020-12-24 用于软件集合的软件升级方法、装置、设备及存储介质 Pending CN112612493A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011554475.7A CN112612493A (zh) 2020-12-24 2020-12-24 用于软件集合的软件升级方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011554475.7A CN112612493A (zh) 2020-12-24 2020-12-24 用于软件集合的软件升级方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112612493A true CN112612493A (zh) 2021-04-06

Family

ID=75244855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011554475.7A Pending CN112612493A (zh) 2020-12-24 2020-12-24 用于软件集合的软件升级方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112612493A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443117A (zh) * 2021-08-17 2022-05-06 荣耀终端有限公司 一种应用程序的处理方法及电子设备
CN115934141A (zh) * 2022-12-30 2023-04-07 北京泰迪熊移动科技有限公司 一种软件的升级方法、装置、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753524A (zh) * 2008-12-15 2010-06-23 青岛海信传媒网络技术有限公司 一种软件升级方法及系统
CN101872309A (zh) * 2010-01-15 2010-10-27 腾讯科技(深圳)有限公司 一种软件安装包下载方法、系统及客户端
TW201224814A (en) * 2010-12-07 2012-06-16 Hon Hai Prec Ind Co Ltd System and method for updating software on android
US20140304697A1 (en) * 2011-12-01 2014-10-09 Tencent Technology (Shenzhen) Company Limited Method and system for upgrading software
KR20150011404A (ko) * 2012-09-04 2015-01-30 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 소프트웨어-업그레이드 추천을 위한 시스템 및 방법
CN105335183A (zh) * 2014-08-06 2016-02-17 乐视致新电子科技(天津)有限公司 一种软件升级方法及系统
CN106603311A (zh) * 2017-01-18 2017-04-26 北京洋浦伟业科技发展有限公司 Ota升级方法、客户端、服务器和系统
CN106997301A (zh) * 2017-03-31 2017-08-01 广东欧珀移动通信有限公司 一种软件升级方法、装置和电子装置
CN109710265A (zh) * 2018-12-28 2019-05-03 北京金山安全软件有限公司 一种软件安装包的获取方法、装置及电子设备
US10802815B1 (en) * 2019-04-17 2020-10-13 EMC IP Holding Company LLC Managing upgrades of clients having different installed versions of a software product

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753524A (zh) * 2008-12-15 2010-06-23 青岛海信传媒网络技术有限公司 一种软件升级方法及系统
CN101872309A (zh) * 2010-01-15 2010-10-27 腾讯科技(深圳)有限公司 一种软件安装包下载方法、系统及客户端
TW201224814A (en) * 2010-12-07 2012-06-16 Hon Hai Prec Ind Co Ltd System and method for updating software on android
US20140304697A1 (en) * 2011-12-01 2014-10-09 Tencent Technology (Shenzhen) Company Limited Method and system for upgrading software
KR20150011404A (ko) * 2012-09-04 2015-01-30 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 소프트웨어-업그레이드 추천을 위한 시스템 및 방법
CN105335183A (zh) * 2014-08-06 2016-02-17 乐视致新电子科技(天津)有限公司 一种软件升级方法及系统
CN106603311A (zh) * 2017-01-18 2017-04-26 北京洋浦伟业科技发展有限公司 Ota升级方法、客户端、服务器和系统
CN106997301A (zh) * 2017-03-31 2017-08-01 广东欧珀移动通信有限公司 一种软件升级方法、装置和电子装置
CN109710265A (zh) * 2018-12-28 2019-05-03 北京金山安全软件有限公司 一种软件安装包的获取方法、装置及电子设备
US10802815B1 (en) * 2019-04-17 2020-10-13 EMC IP Holding Company LLC Managing upgrades of clients having different installed versions of a software product

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443117A (zh) * 2021-08-17 2022-05-06 荣耀终端有限公司 一种应用程序的处理方法及电子设备
CN114443117B (zh) * 2021-08-17 2023-08-22 荣耀终端有限公司 一种定制包的处理方法及电子设备
CN115934141A (zh) * 2022-12-30 2023-04-07 北京泰迪熊移动科技有限公司 一种软件的升级方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN107992308B (zh) 一种安卓终端应用程序的插件化管理方法
EP2998861B1 (en) Implementing and deleting method and device for intelligent terminal multi-operation system
US9223559B2 (en) Information processing apparatus, electronic control unit, information processing method, and program
US11979300B2 (en) Standardized format for containerized applications
CN110543327B (zh) 业务组件复用方法、装置、计算机设备及存储介质
CN106951284B (zh) 基于安卓系统应用的用户界面升级方法、装置及智能终端
KR20110082585A (ko) 디바이스상의 컴포넌트들을 자동으로 처리하기 위한 시스템
CN112612493A (zh) 用于软件集合的软件升级方法、装置、设备及存储介质
CN110597542A (zh) 软件自动ota升级方法及装置、电子设备
CN104918114A (zh) 一种操作系统升级方法及装置
CN111427596A (zh) 一种软件升级的方法、装置及终端设备
CN113760306B (zh) 安装软件的方法、装置、电子设备及存储介质
US10827034B2 (en) Providing application versions via delta volumes
CN112615758A (zh) 一种应用识别方法、装置、设备及存储介质
CN110413292B (zh) 应用程序的轻应用安装方法、移动终端及存储介质
US20160378553A1 (en) Resource Management Method and Device for Terminal System
CN113110851A (zh) 资源的加载方法、装置、电子设备和介质
US11431795B2 (en) Method, apparatus and storage medium for resource configuration
CN110610080B (zh) 应用的隔离实现方法、移动终端、计算机设备和存储介质
CN113721936B (zh) 一种应用管理方法及智能终端、装置及存储介质
CN113094077A (zh) 一种系统差分升级方法、装置、智能终端及存储介质
CN113900679A (zh) 一种补丁安装方法、装置、计算机设备和存储介质
CN113515299A (zh) 软件开发工具包sdk热升级方法、装置、设备及存储介质
CN109165067B (zh) Android横竖屏数据同步方法、装置、终端及可读介质
CN112947991A (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