CN116860275A - 客户端更新方法、终端设备以及计算机可读存储介质 - Google Patents

客户端更新方法、终端设备以及计算机可读存储介质 Download PDF

Info

Publication number
CN116860275A
CN116860275A CN202310958104.2A CN202310958104A CN116860275A CN 116860275 A CN116860275 A CN 116860275A CN 202310958104 A CN202310958104 A CN 202310958104A CN 116860275 A CN116860275 A CN 116860275A
Authority
CN
China
Prior art keywords
client
update
updating
new version
update package
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
CN202310958104.2A
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.)
China Merchants Bank Co Ltd
Original Assignee
China Merchants Bank 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 China Merchants Bank Co Ltd filed Critical China Merchants Bank Co Ltd
Priority to CN202310958104.2A priority Critical patent/CN116860275A/zh
Publication of CN116860275A publication Critical patent/CN116860275A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了客户端更新方法、终端设备以及计算机可读存储介质,该方法包括:检测是否存在新版本客户端;若存在所述新版本客户端,获取所述新版本客户端对应的新版本号;将所述新版本号与当前客户端版本号进行比较;若所述新版本号与所述当前客户端版本号之差大于或者等于预设值,确定客户端更新方法为全量更新;否则,确定所述客户端更新方法为增量更新。解决了客户端更新时速度慢,效率低的问题。达到了提高客户端更新效率的效果。

Description

客户端更新方法、终端设备以及计算机可读存储介质
技术领域
本申请涉及计算机领域,尤其涉及客户端更新方法、终端设备以及计算机可读存储介质。
背景技术
前端开发框架在客户端程序的开发中应用的越来越多,客户端程序使用过程中,通常需要更新以满足使用需求。相关技术中对客户端程序进行更新时通常是使用全量更新。
全量更新需要下载整个新的安装包,Windows平台对应的是.exe文件,MacOS平台对应的是.dmg文件,在新的安装程序执行完成之后,新的程序会替换已有的旧版本。
然而全量更新时通常由于安装包较大,下载时间长,进而导致程序更新的速度慢。
发明内容
本申请实施例通过提供一种客户端更新方法、终端设备以及计算机可读存储介质,解决了相关技术中,在对客户端进行升级时,通常是全量更新导致客户端升级速度慢的问题,实现了提高客户端的升级效率。
本申请实施例提供了一种客户端更新方法,所述客户端更新方法方法包括:
检测是否存在新版本客户端;
若存在所述新版本客户端,获取所述新版本客户端对应的新版本号;
将所述新版本号与当前客户端版本号进行比较;
若所述新版本号与所述当前客户端版本号之差大于或者等于预设值,确定客户端更新方法为全量更新;
否则,确定所述客户端更新方法为增量更新。
可选地,所述确定所述客户端更新方法为增量更新的步骤之后,还包括:
检测内容分发网络上是否存在对应的更新包;
若存在所述更新包,则获取所述更新包对应的内容分发网络地址;
若不存在所述更新包,则根据当前客户端与所述新版本客户端的版本控制文件,生成动态更新包。
可选地,所述根据当前客户端与所述新版本客户端的版本控制文件,生成动态更新包的步骤之后,包括:
将所述动态更新包上传到所述内容分发网络服务器,生成所述动态更新包的内容分发网络地址;
基于所述内容分发网络地址下载所述动态更新包,并将所述动态更新包更新到所述当前客户端对应的目标文件夹中。
可选地,所述基于所述内容分发网络地址下载所述动态更新包,并将所述动态更新包更新到目标文件夹中的步骤包括:
判断所述当前客户端的资源文件夹中是否存在预设文件;
若存在,则将所述预设文件解压为所述目标文件夹;
并将所述增量更新包覆盖到所述目标文件夹中。
可选地,所述根据当前客户端与所述新版本客户端的版本控制文件,生成动态更新包的步骤包括:
将所述当前客户端的版本控制文件与所述新版本客户端中的版本控制文件进行比较;
将所述版本控制文件中,版本号不一致的模块合并,生成所述动态更新包。
可选地,所述若所述新版本号与所述当前客户端版本号之差大于或者等于预设值,确定客户端更新方法为全量更新的步骤之后,包括:
若所述更新方式为全量更新,则获取全量更新包;
根据所述全量更新包对应的安装方式,对所述当前客户端进行更新。
可选地,所述若所述更新方式为全量更新,则获取全量更新包的步骤包括:
获取所述当前客户端的操作系统用户权限;
若更新所述当前客户端需要管理员权限,判断当前操作系统用户是否具备所述管理员权限;
若不具备所述管理员权限,确定使用文件覆盖方式进行全量更新;
若具备所述管理员权限或者更新所述客户端不需要管理员权限,确定使用覆盖式安装方式进行全量更新。
可选地,所述若不具备所述管理员权限,确定使用文件覆盖方式进行全量更新的步骤包括:
获取所述当前客户端对应的压缩文件全量更新包;
对所述当前客户端中原文件夹重命名,并将所述压缩文件全量更新包更新到所述客户端中,完成所述当前客户端的更新。
此外,为实现上述目的,本发明实施例还提供一种终端设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的客户端更新程序,所述处理器执行所述客户端更新程序时,实现如上所述的方法。
此外,为实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有客户端更新程序,所述客户端更新程序被处理器执行时,实现如上所述的方法。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
当检测到存在新版本客户端时,获取新版本客户端的新版本号,将新版本号与当前客户端的版本号进行比较,若新版本号与当前版本号之差大于或者等于预设值,确定更新方法为全量更新,否则,确定客户端更新方法为增量更新。当新旧版本间差异较大时,使用增量更新方法,可能更新效率较慢。当新旧版本间差异较小时,仅通过增量更新即可满足客户端的更新,无需下载安装包较大的全量更新包,从而达到提高客户端更新效率的效果。
附图说明
图1为本申请客户端更新方法实施例一的流程示意图;
图2为本申请客户端更新方法实施例二的流程示意图;
图3为本申请一实施例方案涉及的硬件运行环境的终端结构示意图。
具体实施方式
客户端在自动更新时,通常是采用全量覆盖安装的方法,需要下载整个安装包,所耗费的带宽流量较大,且由于更新包大,下载时间长,导致客户端覆盖安装的速度慢。为了解决客户端更新时效率较低的问题,本申请提供一种客户端更新方法。检测是否存在新版本客户端,根据当前客户端版本号和新版本客户端的版本号,判断是通过全量更新还是增量更新来完成对客户端的更新。由于系统可以根据实际情况判断是使用增量更新还是全量更新来对客户端进行升级,可以防止每次更新都为全量更新,全量更新包下载速度慢导致降低客户端的更新效率;或者每次更新都为增量更新,生成增量更新包的速度慢导致降低客户端的更新效率。达到提高客户端更新效率的效果。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
在本实施例中,提供一种客户端更新方法。
参照图1,本实施例的客户端更新方法包括以下步骤:
步骤S100:检测是否存在新版本客户端;
在本实施例中,新版本指的是可供更新的软件的版本,客户端当前安装的软件版本为旧版本。
作为一种可选实施方式,可以由客户端向服务器发起新版本检测请求,也可以由服务器自动检测是否存在新版本客户端。当服务器检测到存在新版本客户端时,向对应的客户端发送新版本消息。
示例性地,由客户端向升级服务器发起新版本检查请求,客户端从升级服务器获得一个版本描述文件,该文件定义了服务器上最新版本客户端的状态、版本号、发布时间、文件大小等。客户端将版本描述文件和本地版本应用进行比较,判断是否要进行升级。客户端可以根据当前客户端的实际使用情况,判断是否发起新版本检查请求。若检测不到新版本客户端,则可以生成客户端功能升级请求报告,请求开发人员修复当前客户端存在的缺陷。
步骤S200:若存在所述新版本客户端,获取所述新版本客户端对应的新版本号;
在本实施例中,在检测到新版本客户端后,先获取新版本客户端对应的版本信息,根据新版本客户端的版本信息与当前客户端的版本信息,判断是否要升级,以及判断使用什么方式进行升级。根据当前客户端版本号与新版本客户端的版本号来判断升级的方式,可以有效节省升级的时间。
作为一种可选实施方式,当检测到存在新版本客户端后,可以获取新版本客户端的版本号以及新版本客户端对应的功能。判断新版本客户端是否具备当前客户端所需的功能,若不具备,则无需下载新版本客户端。
示例性地,检测到新版本客户端后,客户端可根据实际情况选择是否下载更新。例如新版本客户端缺失了部分目前已有的功能,或者新版本客户端所更新的功能是当前设备不需要的。为了保证当前客户端可以不中断工作,当前客户端可以选择不更新应用。
作为另一种可选实施方式,在检测到新版本客户端后,确定新版本客户端对应的权限,判断是否允许当前客户端下载并使用所述新版本客户端。若允许,再执行获取新版本客户端版本信息的步骤。
示例性地,在检测到新版本客户端后,获取新版本客户端的权限表,检测当前客户端对应的用户编码是否存在于所述权限表中。若不存在,表明当前更新的版本不适用于当前客户端;若存在,则从所述权限表中获取当前客户端对应的权限码。根据所述权限码,访问新版本客户端并获取新版本客户端的版本信息。由于新版本客户端存在使用权限,只有具备相应权限的用户才能下载并安装新版本客户端,防止新版本客户端中的权限功能被普通用户使用,进而达到保护权限数据安全性的作用。例如普通用户的客户端防火墙功能相对于权限用户的客户端防火墙功能较弱,因此不允许普通用户访问权限数据,以防止数据泄露。
步骤S300:将所述新版本号与当前客户端版本号进行比较;
步骤S400:若所述新版本号与所述当前客户端版本号之差大于或者等于预设值,确定客户端更新方法为全量更新;
在本实施例中,可以根据新版本客户端与当前客户端的版本号来判断升级的方式。由于不是所有检测到的新版本软件,客户端都会进行升级,因此新版本客户端与当前客户端的版本号可能存在较大的差值。
作为一种可选实施方式,客户端向服务器发起更新请求,服务器根据客户端传递的更新请求信息,判断当前客户端与服务器中最新版客户端的版本号之差是否大于或者等于预设的差值,若是,则确定需要进行全量更新。
示例性地,服务端根据客户端传递的信息,包括当前客户端版本号以及用户信息等,若当前版本号符合预设条件,则确定使用全量更新对当前客户端进行升级。例如,若最新版客户端版本号为6.5.0,则限定版本号在6.0.0以下的客户端必须通过全量更新才能升级到6.5.0。而版本号在6.0.0到6.5.0之间的客户端,则可以通过增量更新的方式进行升级。
作为另一种可选实施方式,由于是对客户端进行升级,当前的操作系统用户可能无权限进行覆盖安装,也即无法进行全量更新。例如办公场景中,有些软件是由管理员通过域控等方式统一安装的,安装时使用管理员权限,而实际办公用户不具备相应的管理员权限,导致实际办公用户可能无法对客户端进行全量更新。因此在确定全量更新的更新方式后,客户端需要先进行客户端安装方式及操作系统用户权限判断。根据判断结果确定全量更新的更新方式,全量更新方式包括覆盖安装方式和文件覆盖方式。
示例性地,若当前客户端是通过管理员权限安装的,如域控、公司转用软件商店、装机时管理员安装等方式。而当前操作系统用户又无管理员权限,则下载zip全量更新包,通过文件覆盖的方式进行更新。若当前操作系统用户具备管理员权限,则下载exe全量更新包,通过覆盖安装的方式完成客户端的更新。需要说明的是,zip全量更新包下载后,需要解压到原客户端相同的安装目录,如原安装目录为C:\mysoft,全量更新zip包解压成C:\mysoft-new。
可选地,若为覆盖安装方式,则直接唤起exe全量更新包,静默覆盖安装即可。静默覆盖安装本质上是卸载重装,卸载需要删除磁盘文件,通常需要删除整个原有的安装包,耗时较多。而本实施例在卸载时仅需将原有的应用文件夹重命名为待删除文件夹,在重装时,直接将新版本的应用安装包安装进原来的文件夹内,无需等待原有的安装包删除完再安装新版本软件。待安装完成后再异步删除或者在登录成功后,后台静默删除应用文件夹。
可选地,若为文件覆盖安装方式进行全量更新,则更新进程将原安装目录C:\mysoft重命名为C:\mysoft-back,再建立C:\mysoft文件夹,将新版本安装包安装到C:\mysoft文件夹中,C:\mysoft-back文件夹可用于回退。由于无需等待原文件夹卸载清除完毕再安装新应用,使客户端的更新速度较快。使用文件覆盖方式可以解决全量更新时,操作系统用户无权限的问题。使当前用户在无权限的情况下,可以通过更换文件进行客户端更新,避免因客户端更新不及时而阻碍数据处理进场。
步骤S500:否则,确定所述客户端更新方法为增量更新。
在本实施例中,若当前客户端与服务器中最新版客户端的版本差小于预设差值时,确定更新方式为增量更新。增量更新指的是在进行更新操作时,只更新存在变动的模块,没有变动的模块或者已经更新过的模块则不会重复更新。
作为一种可选实施方式,在增量更新时,需要获取新版本程序文件和当前版本程序文件,将两个文件进行比较,确定差异文件,将差异文件压缩为一个升级包。
示例性地,获取新版本升级包,对新版本升级包进行拆分,得到新程序包;再对当前版本文件进行拆分,得到当前程序包。对新程序包进行解压缩,得到新程序文件,对当前程序包进行解压缩,得到当前程序文件。再将新程序文件和当前程序文件进行比较,确定出差异文件,将差异文件进行压缩,生成增量升级包。
作为另一种可选实施方式,由于增量更新包的制作过程较耗时,因此在生成增量更新包之后,可以将增量更新包上传至服务器。当服务器再次接收到同样的增量升级请求时,可以直接获取已有的增量更新包,提高更新效率。
示例性地,在生成增量更新包后,可以提取增量更新包中包含的各个模块的特征,将所述特征作为增量更新包的属性,将所述属性和增量更新包关联存储到服务器中。当再次接收到增量更新请求时,服务器可以根据增量更新请求与所述属性的匹配关系,判断是否存在已有的增量更新包,若存在,则直接下载对应的增量更新包。若不存在,则执行生成增量更新包的步骤。
在本实施例中,在接收到更新请求,或者服务器主动检测到存在新版本客户端时,获取新版本客户端对应的新版本号,将当前客户端版本号与新版本号进行比较,若新版本号与当前客户端版本号之差大于或者等于预设值,则确定客户端的更新方法为全量更新。否则,确定客户端的更新方法为增量更新。通过版本号的差值来判断客户端的更新方式,避免全部使用全量更新导致每次升级时的升级效率低;或者全部使用增量更新时,增量升级包制作时间长导致升级效率低。达到提高客户端升级效率的效果。
实施例二
基于实施例一,提出本申请的另一实施例,参照图2,在确定客户端更新方法为增量更新的步骤之后,还包括以下步骤:
步骤S600:检测内容分发网络上是否存在对应的更新包;
步骤S700:若存在所述更新包,则获取所述更新包对应的内容分发网络地址;
在本实施例中,增量更新只需要更新resources文件夹,因为客户端安装后,resources文件夹以外的文件均为electron框架文件,只要electron文件框架版本不升级,则无需变动electron的相关文件。当electron开发框架版本升级,则需要进行全量更新。内容分发网络即服务器。
作为一种可选实施方式,增量更新包在生成后都会上传至服务器,以便其它客户端需要升级时,可以直接使用该增量更新包,提高升级效率。
示例性地,若需要增量更新,则先判断服务器上是否已经有对应版本的增量更新包,即“版本A-版本B”的更新包。若有,则将增量更新包的服务器地址返回至客户端,若没有,则读取两个版本客户端的版本控制文件,进行比对后,生成相应的增量更新包并上传至服务器,同时将生成的增量更新包对应的服务器地址返回至待升级客户端。
作为另一种可选实施方式,增量更新时,需要先判断当前客户端的资源文件夹,也即resources文件夹中是否存在预设文件,若存在预设文件,则将所述预设文件解压为所述目标文件夹,并将所述增量更新包覆盖到所述目标文件夹中。
示例性地,增量更新时,确定服务器上存在对应的增量更新包后,需要先判断安装目录resources文件夹下是否有app.asar文件,如果有则解压成appupdate文件夹。如果没有app.asar,但有app文件夹,则复制一份app文件夹,并将复制后的app文件夹命名为appupdate的文件夹,然后解压从服务器下载下来的增量更新zip包,覆盖到appupdate文件夹中。在增量更新过程中,需要将resources文件夹内的app.asar或者app文件夹重命名为app.asar.back或app.back,并将resources\appupdate文件夹重命名为resources\app。其中,app.asar.back或app.back方便回退。
步骤S800:若不存在所述更新包,则根据当前客户端与所述新版本客户端的版本控制文件,生成动态更新包。
在本实施例中,版本控制文件指的是一种xml文件,文件中包含resources文件和electron框架文件。本申请将版本控制的粒度扩大到文件夹级别,即node_modules文件夹下的每个子文件夹对应一个版本号,与相关技术中每个文件对应一个版本号不同。可以解决安装文件多,导致版本控制文件难以维护的问题。
作为一种可选实施方式,在生成增量更新包时,将当前客户端的版本控制文件与新版本控制文件的模块列表进行比对,找出所有版本不一致的模块,合并打包成一个zip压缩包,即为增量更新包。
示例性地,版本控制文件中每个<upfile>节点对应描述一个模块,name代表模块名,type代表模块组织形式,即文件夹或文件,path代表模块在磁盘上的路径,version代表模块的版本号。将两个客户端的版本控制文件的模块列表进行比对,找出所有version不同的模块,将新版本的版本控制文件中的所述模块提取出来并合并成一个zip压缩包,生成增量更新包。在生成增量更新包后,将增量更新包上传到服务器,避免下个客户端请求更新时重复制作所述增量更新包,耗时较长。将增量更新包上传到服务器后,生成对应的动态更新包服务器地址,基于所述服务器地址下载动态更新包,也即增量更新包,并将动态更新包更新到客户端对应的目标文件夹中。
在本实施例中,增量更新时,只更新electron框架文件下的resources文件夹。并且将版本控制的粒度扩大到文件夹级别,即node_modules文件夹下的每个子文件夹对应一个版本号,而不是一个子文件对应一个版本号,可以有效简化对版本控制文件的维护。同时生成后的增量更新包上传到服务器,当再次遇到相同的客户端增量更新任务时,可直接在服务器中下载对应的增量更新包,节省时间,提高客户端的更新效率。
实施例三
在本申请实施例中,提出一种客户端更新装置。
参照图3,图3为本申请一实施例方案涉及的硬件运行环境的终端结构示意图。
如图3所示,该控制终端可以包括:处理器1001,例如CPU,网络接口1003,存储器1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1003可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图3中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、网络通信模块、以及客户端更新程序。
在图3所示的客户端更新设备硬件结构中,处理器1001可以调用存储器1004中存储的客户端更新程序,并执行以下操作:
检测是否存在新版本客户端;
若存在所述新版本客户端,获取所述新版本客户端对应的新版本号;
将所述新版本号与当前客户端版本号进行比较;
若所述新版本号与所述当前客户端版本号之差大于或者等于预设值,确定客户端更新方法为全量更新;
否则,确定所述客户端更新方法为增量更新。
可选地,处理器1001可以调用存储器1004中存储的客户端更新程序,还执行以下操作:
检测内容分发网络上是否存在对应的更新包;
若存在所述更新包,则获取所述更新包对应的内容分发网络地址;
若不存在所述更新包,则根据当前客户端与所述新版本客户端的版本控制文件,生成动态更新包。
可选地,处理器1001可以调用存储器1004中存储的客户端更新程序,还执行以下操作:
将所述动态更新包上传到所述内容分发网络服务器,生成所述动态更新包的内容分发网络地址;
基于所述内容分发网络地址下载所述动态更新包,并将所述动态更新包更新到所述当前客户端对应的目标文件夹中。
可选地,处理器1001可以调用存储器1004中存储的客户端更新程序,还执行以下操作:
判断所述当前客户端的资源文件夹中是否存在预设文件;
若存在,则将所述预设文件解压为所述目标文件夹;
并将所述增量更新包覆盖到所述目标文件夹中。
可选地,处理器1001可以调用存储器1004中存储的客户端更新程序,还执行以下操作:
将所述当前客户端的版本控制文件与所述新版本客户端中的版本控制文件进行比较;
将所述版本控制文件中,版本号不一致的模块合并,生成所述动态更新包。
可选地,处理器1001可以调用存储器1004中存储的客户端更新程序,还执行以下操作:
若所述更新方式为全量更新,则获取全量更新包;
根据所述全量更新包对应的安装方式,对所述当前客户端进行更新。
可选地,处理器1001可以调用存储器1004中存储的客户端更新程序,还执行以下操作:
获取所述当前客户端的操作系统用户权限;
若更新所述当前客户端需要管理员权限,判断当前操作系统用户是否具备所述管理员权限;
若不具备所述管理员权限,确定使用文件覆盖方式进行全量更新;
若具备所述管理员权限或者更新所述客户端不需要管理员权限,确定使用覆盖式安装方式进行全量更新。
可选地,处理器1001可以调用存储器1004中存储的客户端更新程序,还执行以下操作:
获取所述当前客户端对应的压缩文件全量更新包;
对所述当前客户端中原文件夹重命名,并将所述压缩文件全量更新包更新到所述客户端中,完成所述当前客户端的更新。
此外,为实现上述目的,本发明实施例还提供一种终端设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的客户端更新程序,所述处理器执行所述客户端更新程序时,实现如上所述的客户端更新方法。
此外,为实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有客户端更新程序,所述客户端更新程序被处理器执行时,实现如上所述的客户端更新方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种客户端更新方法,其特征在于,所述客户端更新方法包括以下步骤:
检测是否存在新版本客户端;
若存在所述新版本客户端,获取所述新版本客户端对应的新版本号;
将所述新版本号与当前客户端版本号进行比较;
若所述新版本号与所述当前客户端版本号之差大于或者等于预设值,确定客户端更新方法为全量更新;
否则,确定所述客户端更新方法为增量更新。
2.如权利要求1所述的客户端更新方法,其特征在于,所述确定所述客户端更新方法为增量更新的步骤之后,还包括:
检测内容分发网络上是否存在对应的更新包;
若存在所述更新包,则获取所述更新包对应的内容分发网络地址;
若不存在所述更新包,则根据当前客户端与所述新版本客户端的版本控制文件,生成动态更新包。
3.如权利要求2所述的客户端更新方法,其特征在于,所述根据当前客户端与所述新版本客户端的版本控制文件,生成动态更新包的步骤之后,包括:
将所述动态更新包上传到所述内容分发网络服务器,生成所述动态更新包的内容分发网络地址;
基于所述内容分发网络地址下载所述动态更新包,并将所述动态更新包更新到所述当前客户端对应的目标文件夹中。
4.如权利要求3所述的客户端更新方法,其特征在于,所述基于所述内容分发网络地址下载所述动态更新包,并将所述动态更新包更新到目标文件夹中的步骤包括:
判断所述当前客户端的资源文件夹中是否存在预设文件;
若存在,则将所述预设文件解压为所述目标文件夹;
并将所述增量更新包覆盖到所述目标文件夹中。
5.如权利要求2所述的客户端更新方法,其特征在于,所述根据当前客户端与所述新版本客户端的版本控制文件,生成动态更新包的步骤包括:
将所述当前客户端的版本控制文件与所述新版本客户端中的版本控制文件进行比较;
将所述版本控制文件中,版本号不一致的模块合并,生成所述动态更新包。
6.如权利要求1所述的客户端更新方法,其特征在于,所述若所述新版本号与所述当前客户端版本号之差大于或者等于预设值,确定客户端更新方法为全量更新的步骤之后,包括:
若所述更新方式为全量更新,则获取全量更新包;
根据所述全量更新包对应的安装方式,对所述当前客户端进行更新。
7.如权利要求6所述的客户端更新方法,其特征在于,所述若所述更新方式为全量更新,则获取全量更新包的步骤包括:
获取所述当前客户端的操作系统用户权限;
若更新所述当前客户端需要管理员权限,判断当前操作系统用户是否具备所述管理员权限;
若不具备所述管理员权限,确定使用文件覆盖方式进行全量更新;
若具备所述管理员权限或者更新所述客户端不需要管理员权限,确定使用覆盖式安装方式进行全量更新。
8.如权利要求7所述的客户端更新方法,其特征在于,所述若不具备所述管理员权限,确定使用文件覆盖方式进行全量更新的步骤包括:
获取所述当前客户端对应的压缩文件全量更新包;
对所述当前客户端中原文件夹重命名,并将所述压缩文件全量更新包更新到所述客户端中,完成所述当前客户端的更新。
9.一种终端设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的客户端更新程序,所述处理器执行所述客户端更新程序时,实现权利要求1-8任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有客户端更新程序,所述客户端更新程序被处理器执行时,实现权利要求1-8任一所述的方法。
CN202310958104.2A 2023-07-31 2023-07-31 客户端更新方法、终端设备以及计算机可读存储介质 Pending CN116860275A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310958104.2A CN116860275A (zh) 2023-07-31 2023-07-31 客户端更新方法、终端设备以及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310958104.2A CN116860275A (zh) 2023-07-31 2023-07-31 客户端更新方法、终端设备以及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN116860275A true CN116860275A (zh) 2023-10-10

Family

ID=88234108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310958104.2A Pending CN116860275A (zh) 2023-07-31 2023-07-31 客户端更新方法、终端设备以及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN116860275A (zh)

Similar Documents

Publication Publication Date Title
CN108108181B (zh) 应用程序的功能更新方法、装置及计算机可读存储介质
JP5658283B2 (ja) アプリケーションの稼働方法、装置及びシステム
US10114630B2 (en) Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine
US7703090B2 (en) Patch un-installation
CN105786538B (zh) 基于安卓系统的软件升级方法和装置
KR100952251B1 (ko) 서비스 패키지에 의해 소프트웨어 제품을 업데이트하는 방법, 컴퓨터로 구현되는 방법, 컴퓨터 판독가능 저장 매체, 및 서비스 패키지
US8938735B2 (en) Bootstrapper and software download manager
EP1318452A1 (en) Installing software on a mobile computing device using the rollback and security features of a configuration manager
US20070143379A1 (en) Metadata driven deployment of applications
WO2006110991A1 (en) Method and system for controlling software version updates
CN106921731B (zh) 漏洞修复方法及装置
WO2018039875A1 (zh) 应用升级包获取方法及装置
KR20040002739A (ko) 영향을 주지 않는 방식으로 소프트웨어 애플리케이션을인스톨하기 위한 시스템 및 방법
WO2005022357A2 (en) Computing device configuration manager
CN106775876B (zh) 安卓系统快速启动应用的方法
CN111679888A (zh) 一种代理容器的部署方法及装置
US8769521B2 (en) Calendar aware adaptive patching of a computer program
CN115543429A (zh) 项目环境的搭建方法、电子设备及计算机可读存储介质
CN109032617B (zh) 一种自动删除安装包的控制方法及控制装置
CN106293790B (zh) 基于Firefox操作系统的应用程序升级方法和装置
US8250558B2 (en) Dynamic linked library add-on features
CN106445601A (zh) 一种插件升级的方法及装置
CN116860275A (zh) 客户端更新方法、终端设备以及计算机可读存储介质
CN115934198A (zh) Sdk加载方法、装置、设备及存储介质
JP4788128B2 (ja) 実行環境整備システム、実行環境整備装置および実行環境整備方法

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