CN115344289A - 一种客户端升级方法、装置、终端设备及存储介质 - Google Patents
一种客户端升级方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN115344289A CN115344289A CN202211013936.9A CN202211013936A CN115344289A CN 115344289 A CN115344289 A CN 115344289A CN 202211013936 A CN202211013936 A CN 202211013936A CN 115344289 A CN115344289 A CN 115344289A
- Authority
- CN
- China
- Prior art keywords
- client
- version
- information
- update file
- version information
- 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
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/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
-
- 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/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供一种客户端升级方法、装置、终端设备及存储介质。该方法包括:获取第一客户端的第一版本信息,第一版本信息用于指示第一客户端的当前版本;根据第一版本信息,确定第一客户端待更新;获取第一客户端的第一更新文件,第一更新文件为第一客户端的最新版本的安装文件;向主进程发送第一更新文件。在本公开中,根据获得的第一客户端的第一版本信息,确定第一客户端处于待更新状态时,向主进程发送第一更新文件,同时,由于检测进程和主进程之间的通信连接,能够达到共享更新文件以及版本信息的目的,从而避免了更新过程中服务器下发指令的繁琐操作,提高了客户端的更新效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种客户端升级方法、装置、终端设备及存储介质。
背景技术
随着计算机技术的急速发展,在计算机上运行的客户端种类和数量也越来越多,用户对客户端的要求也越来越高。如此众多的客户端的运行状况也对售后服务提出了一个很大的技术挑战,一种新型适宜的售后方式应运而生,即客户端的在线升级。但现有技术中,开发人员在进行软件升级时,需要完全按照终端设备中的自动升级程序的相关设置进行开发,例如,需要根据自动升级程序中预先设置的获取路径,将特定的更新文件放置在软件升级包的特定位置处,以使得自动升级程序能够获取到该更新文件,这导致开发人员非常被动,灵活性很差。
因此,急需一种效率高且不影响用户使用的客户端升级方法。
发明内容
本公开提供了一种客户端升级方法、装置、终端设备及存储介质,以提高客户端的更新效率。
第一方面,本公开提供一种客户端升级方法,包括:获取第一客户端的第一版本信息,第一版本信息用于指示第一客户端的当前版本;根据第一版本信息,确定第一客户端待更新;获取第一客户端的第一更新文件,第一更新文件为第一客户端的最新版本的安装文件;向主进程发送第一更新文件。
在一些可能的实施方式中,获取第一客户端的第一版本信息之前,方法还包括:获取N个第二客户端的客户端信息,N为正整数;根据客户端信息,构建客户端队列;轮询客户端队列,将N个第二客户端中的第i个第二客户端确定为第一客户端,i为正整数。
在一些可能的实施方式中,根据第一版本信息,确定第一客户端待更新,包括:获取第一客户端的第二版本信息,第二版本信息用于指示第一客户端的最新版本;比对第一版本信息与第二版本信息;当当前版本与最新版本不同时,确定第一客户端待更新。
在一些可能的实施方式中,向主进程发送第一更新文件,包括:获取第一更新文件的第一校验码;将第一校验码与第二校验码进行比较,其中,第二校验码为服务器中第一客户端的最新版本对应的校验码;当第一校验码与第二校验码相同时,向主进程发送第一更新文件。
在一些可能的实施方式中,向主进程发送第一更新文件之后,方法还包括:接收来自主进程的指示信息,指示信息用于指示第一客户端更新为最新版本;根据指示信息,将第一版本信息更新为最新版本对应的第二版本信息。
在一些可能的实施方式中,指示信息中携带有第一客户端的第二版本信息,第二版本信息用于指示最新版本。
第二方面,本公开提供一种客户端升级方法,包括:接收来自检测进程的第一更新文件,第一更新文件为第一客户端的最新版本的安装文件;根据第一更新文件,将第一客户端由当前版本更新为最新版本。
在一些可能的实施方式中,接收来自检测进程的第一更新文件之前,方法还包括:启动检测进程,并等待阻塞同步队列消息。
在一些可能的实施方式中,根据第一更新文件,将第一客户端由当前版本更新为最新版本,包括:挂载第一客户端的第一客户端进程;执行第一更新文件;启动更新后的所述第一客户端。
在一些可能的实施方式中,在根据第一更新文件,将第一客户端由当前版本更新为最新版本之后,方法还包括:向检测进程发送指示信息,指示信息用于指示第一客户端更新为最新版本。
在一些可能的实施方式中,指示信息中携带有第一客户端的第二版本信息,第二版本信息用于指示最新版本。
第三方面,本公开提供一种客户端升级装置,该装置可以为终端设备中的芯片或者片上系统,还可以为终端设备中用于实现第一方面及其任一种可能的实施方式所述方法的功能模块。该客户端升级装置可以实现第一方面及其任一种可能的实施方式所述终端设备所执行的功能,所述功能可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或者多个上述功能相应的模块。该客户端升级装置包括:获取模块,用于获取第一客户端的第一版本信息,第一版本信息用于指示第一客户端的当前版本;确定模块,用于根据第一版本信息,确定第一客户端待更新;获取模块,还用于获取第一客户端的第一更新文件,第一更新文件为第一客户端的最新版本的安装文件;发送模块,用于向主进程发送第一更新文件。
在一些可能的实施方式中,轮询模块,用于获取N个第二客户端的客户端信息,N为正整数;根据客户端信息,构建客户端队列;轮询客户端队列,将N个第二客户端中的第i个第二客户端确定为第一客户端,i为正整数。
在一些可能的实施方式中,确定模块,还用于获取第一客户端的第二版本信息,第二版本信息用于指示第一客户端的最新版本;比对第一版本信息与第二版本信息;当当前版本与最新版本不同时,确定第一客户端待更新。
在一些可能的实施方式中,发送模块,还用于获取第一更新文件的第一校验码;将第一校验码与第二校验码进行比较,其中,第二校验码为服务器中第一客户端的最新版本对应的校验码;当第一校验码与第二校验码相同时,向主进程发送第一更新文件。
在一些可能的实施方式中,确定模块,用于接收来自主进程的指示信息,指示信息用于指示第一客户端更新为最新版本;根据指示信息,将第一版本信息更新为最新版本对应的第二版本信息。
在一些可能的实施方式中,指示信息中携带有第一客户端的第二版本信息,第二版本信息用于指示最新版本。
第四方面,本公开提供一种客户端升级装置,该装置可以为终端设备中的芯片或者片上系统,还可以为终端设备中用于实现第一方面及其任一种可能的实施方式所述方法的功能模块。该客户端升级装置可以实现第一方面及其任一种可能的实施方式所述终端设备所执行的功能,所述功能可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或者多个上述功能相应的模块。该客户端升级装置包括:接收模块,用于接收来自检测进程的第一更新文件,第一更新文件为第一客户端的最新版本的安装文件;更新模块,用于根据第一更新文件,将第一客户端由当前版本更新为最新版本。
在一些可能的实施方式中,启动模块,用于启动检测进程,并等待阻塞同步队列消息。
在一些可能的实施方式中,启动模块,还用于挂载第一客户端的第一客户端进程;执行第一更新文件;启动更新后的第一客户端。
在一些可能的实施方式中,发送模块,用于向检测进程发送指示信息,指示信息用于指示第一客户端更新为最新版本。
在一些可能的实施方式中,指示信息中携带有第一客户端的第二版本信息,第二版本信息用于指示最新版本。
第五方面,本公开提供一种终端设备,包括:存储器和处理器;处理器与存储器连接,被配置为执行存储在存储器上的计算机可执行指令,以实现如第一方面、第二方面及其任一可能的实施方式所述的方法。
第六方面,本公开提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,计算机可执行指令被处理器执行后能够实现如第一方面、第二方面及其任一可能的实施方式所述的方法。
本公开提供的技术方案与现有技术相比存在的有益效果是:
在本公开中,检测进程通过获取第一客户端的第一版本信息,第一版本信息用于指示第一客户端的当前版本;根据第一版本信息,确定第一客户端待更新;获取第一客户端的第一更新文件,第一更新文件为第一客户端的最新版本的安装文件;向主进程发送第一更新文件。如此,根据获得的第一客户端的第一版本信息,确定第一客户端处于待更新状态时,向主进程发送第一更新文件,同时,由于检测进程和主进程之间的通信连接,能够达到共享更新文件的目的,从而避免了更新过程中服务器下发指令的繁琐操作,提高了客户端的更新效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开的保护范围。
附图说明
图1为本公开实施例中的客户端升级框架的结构示意图;
图2为本公开实施例中的客户端升级方法的第一种实施流程示意图;
图3为本公开实施例中的客户端升级方法的第二种实施流程示意图;
图4为本公开实施例中的客户端升级方法的第三种实施流程示意图;
图5为本公开实施例中的客户端升级方法的第四种实施流程示意图;
图6为本公开实施例中的客户端升级方法的第五种实施流程示意图;
图7为本公开实施例中的客户端升级方法的第六种实施流程示意图;
图8为本公开实施例中的客户端升级方法的第七种实施流程示意图;
图9为本公开实施例中的客户端升级装置的一种结构示意图;
图10为本公开实施例中的客户端升级装置的另一种结构示意图;
图11为本公开实施例中的一种终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
随着客户端升级技术的发展和完善,通过服务器获取客户端的升级安装包对客户端进行自动更新,或者通过服务器对执行模块下发更新指令对客户端进行更新,成为当前客户端升级领域的重要方式。而在计算机领域中只要涉及到客户端,则必然会存在客户端升级的需求,对客户端升级是计算机领域中最重要的业务,也是保证客户端正常运行的必要技术。
因此,急需一种较为合适的客户端升级方法。
为了解决上述问题,本公开实施例提供了一种客户端升级框架示意图,参加图1所示。
客户端升级框架是一种多线程运行的框架,是由检测进程100、主进程200和多个客户端进程(如第一客户端进程300、第二客户端进程400等)构成的,其中检测进程100和主进程200维持通信,共享客户端的版本信息,检测进程100主要用于获取客户端的更新文件,主进程200主要用于挂载客户端的进程(即客户端进程),以对客户端进行更新,并在客户端更新后,重启客户端。当然,上述检测进程、主进程以及多个客户端进程也可以理解为检测线程、主线程以及多个客户端线程,本公开实施例中对此不作具体限定。
需要说明的是,客户端升级框架可以应用于操作系统可以是移动操作系统ios系统;可以应用于基于Linux的自由及开放源代码的操作系统Android系统;也可以应用于Windows系统;也可以应用于基于Linux的自由及开放源代码的便携设备操作系统MeeGo系统;也可以应用于一种嵌入式操作系统Palm webOS系统。当然,客户端升级框架也可以应用于其它类型的操作系统,本公开实施例对此不作具体限定。
下面结合上述客户端升级框架,对本公开实施例提供的升级方法进行说明。
本公开实施例提供的客户端升级方法可以应用于上述客户端升级框架中的检测进程100。
图2为本公开实施例中的客户端升级方法的第一种实施流程示意图,参见图2所示,该客户端升级方法可以包括:
S201,获取第一客户端的第一版本信息。
其中,第一版本信息用于指示第一客户端的当前版本。
应理解的,检测进程在进行客户端进程升级之前,可以获取待升级的客户端(即第一客户端)的版本信息(即第一版本信息)。这里,第一客户端可以理解为待更新客户端,第一版本信息可以理解为待更新客户端的当前版本信息。
在一实例中,第一客户端可以为web客户端,如浏览器A、浏览器B、浏览器C等页面浏览器;第一客户端也可以为游戏客户端,如游戏A、游戏B、游戏C等游戏;第一客户端也可以为移动设备客户端,如运行在手机上的聊天软件A、短视频软件B、购物软件C等。当然,第一客户端可以是其它类型的客户端,也可以是其它系统上的客户端,本公开实施例对此不作具体限定。
在一些可能的实施方式中,第一版本信息可以包含第一客户端的客户端名称、客户端版本号、更新内容、兼容性信息等。其中,客户端名称用于表明第一客户端的名称,客户端版本号用于指示第一客户端当前版本的版本号,更新内容用于指示第一客户端当前版本的功能描述,兼容性信息用于指示第一客户端当前版本的兼容信息(如兼容的操作系统的版本信息、兼容的硬件信息、兼容的设备信息等)。
S202,根据第一版本信息,确定第一客户端待更新。
可以理解的,检测进程在得到第一版本信息之后,可以根据第一版本信息确定第一客户端需要更新。示例性的,检测进程比对第一客户端当前版本的版本号与第一客户端最新版本的版本号。若两者不一致时,确定第一客户端需要更新,若两者一致时,确定第一客户端当前版本为新版本,不需要更新。
在一些可能的实施方式中,检测进程可以从服务器获得第一客户端的最新版本信息,如最新版本的版本号。例如,检测进程可以向服务器请求上述最新版本信息,或者,检测进程也可以接收服务器下发的上述最新版本信息。当然,检测进程还可以通过其他方式获得第一客户端的最新版本信息,本公开实施例对此不作具体限定。
在一些可能的实施方式中,检测进程在执行上述S202时,还可以执行S301至S303。具体来说,图3为本公开实施例中的客户端升级方法的第二种实施流程示意图,参见图3所示,在执行S202时,执行S301至S303。
S301,获取第一客户端的第二版本信息。
这里,第二版本信息用于指示第一客户端的最新版本。
可以理解的,检测进程在通过上述S201得到第一版本信息后,还需要获取第一客户端的第二版本信息,即第一客户端的最新版本信息,以便于检测进程可以根据第一版本信息和第二版本信息确定第一客户端是否需要更新。
S302,比对第一版本信息与第二版本信息。
可以理解的,检测进程在通过上述S301得到第二版本信息后,将上述S201得到的第一版本信息与第二版本信息进行比对处理,以此来判断第一客户端的当前版本与最新版本是否相同。
在一些可能的实施方式中,在得到第一版本信息、第二版本信息后,检测进程对第一版本信息、第二版本信息进行信息提取处理。示例性,可以根据版本信息中的客户端序列号进行比对,确定第一版本信息中的客户端序列号与第二版本信息中的客户端序列号的是否相同。
S303,当当前版本与最新版本不同时,确定第一客户端待更新。
可以理解的,在上述S302比对第一版本信息和第二版本信息后,判断当前版本与最新版本是否不同,若第一版本信息和第二版本信息相同,则可以确定第一客户端待更新。若第一版本信息和第二版本信息不相同,则执行上述S303。
在一些可能的实施方式中,当前版本与最新版本不同,可以理解为第二版本信息的客户端序列号高于第一版本信息的客户端序列号。
S203,获取第一客户端的第一更新文件。
其中,第一更新文件为第一客户端的最新版本的安装文件。
可以理解的,检测进程在确认第一客户端需要更新后,可以直接从服务器中获取第一客户端的第一更新文件,其中,第一更新文件可以是预先通过服务器生成的用于存储待更新客户端的安装文件。示例性的,检测进程通过超文本传输协议(hyper texttransfer protocol,HTTP)读取存储于服务器(如云存储服务器)上的第一更新文件。
在一些可能的实施方式中,第一更新文件可以包括更新文件类型、更新文件建立时间、更新文件解压路径、更新文件存放路径、更新备份路径、适用系统版本信息、语言包等。当然,第一更新文件也可以包含其他内容,本公开实施例对此不作具体限定,
S204,向主进程发送第一更新文件。
可以理解的,当检测进程得到第一客户端的第一更新文件后,可以将第一更新文件发送给主进程,以便于主进程可以根据接收的第一更新文件对第一客户端进行更新处理。
由此可见,在本公开实施例中,检测进程在确定第一客户端需要更新后,检测进程直接获取第一客户端的第一更新文件,不需要经由服务器下发命令后再获取更新文件,以提高客户端的更新效率。
在一些可能的实施方式中,检测进程在执行上述S201之前,还可以执行S401至S403。具体来说,图4为本公开实施例中的客户端升级方法的第三种实施流程示意图,参见图4所示,在执行S201之前,执行S401至S403。
S401,获取N个第二客户端的客户端信息;S402,根据客户端信息,构建客户端队列;S403,轮询客户端队列,将N个第二客户端中的第i个第二客户端确定为第一客户端,其中,N为正整数,i为正整数。
可以理解的,在进行客户端升级的过程中,需要先确定一待更新客户端,那么,可以获取N个待更新的客户端(即第二客户端)的客户端信息。此时,对于需要进行升级的客户端来说,根据当前获取的一个或者N个第二客户端的客户端信息,构建客户端队列;并依次轮询客户端队列中的各个第二客户端,将第二客户端中的第i个第二客户端确定为第一客户端。那么,第一客户端可以理解为从客户端队列中确定的一个客户端。
在一些可能的实施方式中,客户端信息可以包括客户端类型,客户端版本信息,客户端更新文件等。当然,客户端信息也可以包括其他用于表示当前客户端的信息,本公开对此不作具体限定。示例性的,上述N个第二客户端可以记为A1、A2、A3、……、AN,A用于指示待更新的第二客户端。
在一些可能的实施方式中,在确定第一客户端待更新后,检测进程可以对第一更新文件进行校验。那么,图5为本公开实施例中的客户端升级方法的第四种实施流程示意图,参见图5所示,在执行S204时,执行S501至S503。
S501,获取第一更新文件的第一校验码。
S502,将第一校验码与第二校验码进行比较。
这里,第二校验码为服务器中第一客户端的最新版本对应的校验码。
S503,当第一校验码与第二校验码相同时,向主进程发送第一更新文件。
可以理解的,检测进程在向主进程发送第一更新文件之前,需要先确定当前得到的第一更新文件是否正确,那么,可以获取第一更新文件的第一校验码以及服务器中第一客户端的最新版本对应的校验码,将第一校验码和第二校验码进行比较,当比较结果显示相同时,则可以确定当前得到的第一更新文件是无误的,然后,将第一更新文件发送给主进程,便于主进程可以根据第一更新文件对第一客户端进行升级处理。
在一些可能的实施方式中,第一校验码和第二校验码可以为MD5值。当然,校验码也可以是其它算法的数值,本公开对此不作具体限定。
需要说明的是,MD5校验原理:在检测进程需要向主进程发送第一更新文件之前,需要对第一更新文件进行提取处理,得到第一更新文件相应的MD5值,同时,还需要从服务器中获取第一客户端最新版本对应的MD5值,将得到的两个校验码进行比较,若该比较结果显示校验码一致,则可以确定检测进程拉取的第一更新文件没有出错,若该比较结果显示校验码不一致,则可以确定检测进程拉取的第一更新文件出错了,需要从新拉取第一更新文件。
在一些可能的实施方式中,检测进程在执行上述S204之后,还可以执行S601至S603。具体来说,图6为本公开实施例中的客户端升级方法的第五种实施流程示意图,参见图6所示,在执行S204之后,还执行S601至S602。
S601,接收来自主进程的指示信息。
这里,指示信息用于指示第一客户端更新为最新版本。
S602,根据指示信息,将第一版本信息更新为最新版本对应的第二版本信息。
可以理解的,检测进程在将第一更新文件发送给主进程之后,还可以接收主进程发送的指示信息,此时,检测进程可以根据接收的指示信息,将第一版本信息更新为第一客户端最新版本对应的第二版本信息,便于检测进程继续轮询客户端队列。
在一些可能的实施方式中,上述指示信息中携带有第一客户端的第一版本信息,第二版本信息用于指示最新版本。
本公开实施例提供的客户端升级方法可以应用于上述客户端升级框架中的主进程200。
那么,图7为本公开实施例中的客户端升级方法的第六种实施流程示意图,参见图7所示,该客户端升级方法可以包括:
S701,接收来自检测进程的第一更新文件。
这里,第一更新文件为第一客户端的最新版本的安装文件。
可以理解的,主进程接收到来自检测进程发送的第一更新文件。
S702,根据第一更新文件,将第一客户端由当前版本更新为最新版本。
可以理解的,主进程可以根据从上述S701得到的第一更新文件,将当前版本的第一客户端更新为最新版本的第一客户端。
在一些可能的实施方式中,主进程在执行上述S701之前,还可以执行:启动检测进程,并等待阻塞同步队列消息。
可以理解的,检测进程会通过阻塞同步队列发送消息给主进程,通知主进程进行下一步操作。
在一些可能的实施方式中,主进程在执行上述S702时,还可以执行S801至S803。具体来说,图8为本公开实施例中的客户端升级方法的第七种实施流程示意图,参见图8所示,在执行S702时,执行S801至S803。
S801,挂载第一客户端的第一客户端进程。
S802,执行第一更新文件。
S803,启动更新后的第一客户端。
可以理解的,主进程在对第一客户端进行更新时,还需要将当前运行中的第一客户端进程挂载起来,之后,执行所接收的第一更新文件,即使用第一客户端的最新版本的安装文件,对第一客户端进行更新处理,更新完成后,重新启动更新后的第一客户端。
在一些可能的实施方式中,主进程在执行上述S702之后,还可以执行:向检测进程发送指示信息,这里,指示信息用于指示第一客户端更新为最新版本。
在一些可能的实施方式中,上述指示信息中携带有第一客户端的第一版本信息,第二版本信息用于指示最新版本。
至此,便完成了客户端的升级过程。
由此可见,在本公开实施例中,可以根据获得的第一客户端的第一版本信息,确定第一客户端处于待更新状态时,向主进程发送第一更新文件,实现第一客户端的更新,避免了服务器下发指令的繁琐过程,提高了客户端的更新效率。另外,检测进程和主进程基于通信的方式,实现了共享客户端的更新文件,不需要经由服务器下发命令后再获取更新文件,提高了客户端的更新效率。
基于相同的发明构思,本公开实施例提供了一种客户端升级装置,该装置可以为终端设备中的芯片或者片上系统,还可以为移动终端设备中用于实现上述各个实施例所述的方法的功能模块。该客户端升级装置可以实现上述各实施例中终端设备所执行的功能,这些功能可以通过硬件执行相应的软件实现。这些硬件或软件包括一个或多个上述功能相应的模块。图9为本公开实施例中的客户端升级装置的一种结构示意图,参见图9所示,客户端升级装置900,可以包括:获取模块901,用于获取第一客户端的第一版本信息,第一版本信息用于指示第一客户端的当前版本;确定模块902,用于根据第一版本信息,确定第一客户端待更新;获取模块901,还用于获取第一客户端的第一更新文件,第一更新文件为第一客户端的最新版本的安装文件;发送模块903,用于向主进程发送第一更新文件。
在一些可能的实施方式中,轮询模块904,用于获取N个第二客户端的客户端信息,N为正整数;根据客户端信息,构建客户端队列;轮询客户端队列,将N个第二客户端中的第i个第二客户端确定为第一客户端,i为正整数。
在一些可能的实施方式中,确定模块902,还用于获取第一客户端的第二版本信息,第二版本信息用于指示第一客户端的最新版本;比对第一版本信息与第二版本信息;当当前版本与最新版本不同时,确定第一客户端待更新。
在一些可能的实施方式中,发送模块903,还用于获取第一更新文件的第一校验码;还用于将第一校验码与第二校验码进行比较,其中,第二校验码为服务器中第一客户端的最新版本对应的校验码;还用于当第一校验码与第二校验码相同时,向主进程发送第一更新文件。
在一些可能的实施方式中,确定模块902,用于接收来自主进程的指示信息,指示信息用于指示第一客户端更新为最新版本;根据指示信息,将第一版本信息更新为最新版本对应的第二版本信息。
需要说明的是,获取模块901、确定模块902、发送模块903和轮询模块904的具体实现过程可参考图2至图6实施例的详细描述,为了说明书的简洁,这里不再赘述。
本公开实施例中提到的获取模块901、确定模块902、发送模块903和轮询模块904可以为一个或者多个处理器。
基于相同的发明构思,本公开实施例提供了一种客户端升级装置,该装置可以为终端设备中的芯片或者片上系统,还可以为终端设备中用于实现上述各个实施例所述的方法的功能模块。该客户端升级装置可以实现上述各实施例中终端设备所执行的功能,这些功能可以通过硬件执行相应的软件实现。这些硬件或软件包括一个或多个上述功能相应的模块。图10为本公开实施例中的客户端升级装置的一种结构示意图,参见图10所示,客户端升级装置1000,可以包括:接收模块1001,用于接收来自检测进程的第一更新文件,第一更新文件为第一客户端的最新版本的安装文件;更新模块1002,用于根据第一更新文件,将第一客户端由当前版本更新为最新版本。
在一些可能的实施方式中,启动模块1003,用于启动检测进程,并等待阻塞同步队列消息。
在一些可能的实施方式中,启动模块1003,还用于挂载第一客户端的第一客户端进程;执行第一更新文件;启动更新后的第一客户端。
在一些可能的实施方式中,发送模块1004,用于向检测进程发送指示信息,指示信息用于指示第一客户端更新为最新版本。
需要说明的是,接收模块1001、更新模块1002、启动模块1003和发送模块1004的具体实现过程可参考图7至图8实施例的详细描述,为了说明书的简洁,这里不再赘述。
本公开实施例中提到的接收模块1001、更新模块1002、启动模块1003和发送模块1004可以为一个或者多个处理器。
基于相同的发明构思,本公开实施例提供一种终端设备,该终端设备可以与上述一个或者多个实施例中所述的对账系统一致。图11为本公开实施例中的一种终端设备的结构示意图,参见图11所示,终端设备1100,可以采用通用的计算机硬件,包括处理器1101、存储器1102。
可选的,处理器1101和存储器1102可以通过总线1103通信。
在一些可能的实施方式中,至少一个处理器1101可以构成具有对一个或多个输入执行逻辑运算的电路的任何物理设备。例如,至少一个处理器可以包括一个或多个集成电路(integrated circuit,IC),包括专用集成电路(application specific integratedcircuit,ASIC)、微芯片、微控制器、微处理器、中央处理单元(central processing unit,CPU)的全部或部分、图形处理单元(graphics processing unit,GPU)、数字信号处理器(digital signal process,DSP)、现场可编程门阵列(field programmable gate array,FPGA)或者适于执行指令或执行逻辑运算的其它电路。由至少一个处理器执行的指令可以例如被预加载到与控制器集成的或嵌入在控制器中的存储器中,或者可以存储在分离的存储器中。存储器可以包括随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、硬盘、光盘、磁介质、闪存,其它永久、固定或易失性存储器,或者能够存储指令的任何其它机制。在一些实施例中,至少一个处理器可以包括多于一个处理器。每个处理器可以具有相似的结构,或者处理器可以具有彼此电连接或断开的不同构造。例如,处理器可以是分离的电路或集成在单个电路中。当使用多于一个处理器时,处理器可以被配置为独立地或协作地操作。处理器可以以电、磁、光学、声学、机械或通过允许它们交互的其它手段来耦合。根据本公开的一个实施例,本公开还提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行上述标定方法的步骤。存储器1102可以包括以易失性和/或非易失性存储器形式的计算机存储媒体,如只读存储器和/或随机存取存储器。存储器1102可以存储操作系统、应用程序、其他程序模块、可执行代码、程序数据、用户数据等。
在一实施例中,上述存储器1102中存储有用于实现图9中的获取模块901、确定模块902、发送模块903、轮询模块904和更新模块905的功能的执行指令。图9中的获取模块901、确定模块902、发送模块903、轮询模块904和更新模块905的功能/实现过程均可以通过图11中的处理器1101调用存储器1102中存储的执行指令来实现,具体实现过程和功能参考上述相关实施例。
在另一实施例中,上述存储器1102中存储有用于实现图10中的接收模块1001、更新模块1002、启动模块1003和发送模块1004的功能的执行指令。图10中的接收模块1001、更新模块1002、启动模块1003和发送模块1004的功能/实现过程均可以通过图11中的处理器1101调用存储器1102中存储的执行指令来实现,具体实现过程和功能参考上述相关实施例。
基于相同的发明构思,本公开实施例提供一种终端设备,包括:存储器和处理器;处理器与存储器连接,被配置为执行存储在存储器上的计算机可执行指令,并能够实现如上述一个或者多个实施例所述的客户端升级方法。
基于相同的发明构思,本公开实施例提供一种计算机存储介质,计算机存储介质存储有计算机可执行指令,计算机可执行指令被处理器执行后,能够实现如上述一个或者多个实施例所述的客户端升级方法。
本领域技术人员可以理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本公开旨在涵盖本发明的任何变形、用途或者适应性变化,这些变形、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的工质常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
以上所述,仅为本公开示例性的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应该以权利要求的保护范围为准。
Claims (24)
1.一种客户端升级方法,其特征在于,所述方法包括:
获取第一客户端的第一版本信息,所述第一版本信息用于指示所述第一客户端的当前版本;
根据所述第一版本信息,确定所述第一客户端待更新;
获取所述第一客户端的第一更新文件,所述第一更新文件为所述第一客户端的最新版本的安装文件;
向主进程发送所述第一更新文件。
2.根据权利要求1所述的方法,其特征在于,所述获取第一客户端的第一版本信息之前,所述方法还包括:
获取N个第二客户端的客户端信息,N为正整数;
根据所述客户端信息,构建客户端队列;
轮询所述客户端队列,将所述N个第二客户端中的第i个第二客户端确定为所述第一客户端,i为正整数。
3.根据根据权利要求1所述的方法,其特征在于,所述根据所述第一版本信息,确定所述第一客户端待更新,包括:
获取所述第一客户端的第二版本信息,所述第二版本信息用于指示所述第一客户端的最新版本;
比对所述第一版本信息与所述第二版本信息;
当所述当前版本与所述最新版本不同时,确定所述第一客户端待更新。
4.根据权利要求1所述的方法,其特征在于,所述向主进程发送所述第一更新文件,包括:
获取所述第一更新文件的第一校验码;
将所述第一校验码与第二校验码进行比较,其中,所述第二校验码为服务器中所述第一客户端的最新版本对应的校验码;
当所述第一校验码与所述第二校验码相同时,向所述主进程发送所述第一更新文件。
5.根据权利要求1所述的方法,其特征在于,所述向主进程发送所述第一更新文件之后,所述方法还包括:
接收来自所述主进程的指示信息,所述指示信息用于指示所述第一客户端更新为所述最新版本;
根据所述指示信息,将所述第一版本信息更新为所述最新版本对应的第二版本信息。
6.根据权利要求1所述的方法,其特征在于,所述指示信息中携带有所述第一客户端的第二版本信息,所述第二版本信息用于指示所述最新版本。
7.一种客户端升级方法,其特征在于,所述方法包括:
接收来自检测进程的第一更新文件,所述第一更新文件为第一客户端的最新版本的安装文件;
根据所述第一更新文件,将所述第一客户端由当前版本更新为所述最新版本。
8.根据权利要求7所述的方法,其特征在于,所述接收来自检测进程的第一更新文件之前,所述方法还包括:
启动所述检测进程,并等待阻塞同步队列消息。
9.根据权利要求7述的方法,其特征在于,所述根据所述第一更新文件,将所述第一客户端由当前版本更新为所述最新版本,包括:
挂载所述第一客户端的第一客户端进程;
执行所述第一更新文件;
启动更新后的所述第一客户端。
10.根据权利要求9所述的方法,其特征在于,在所述根据所述第一更新文件,将所述第一客户端由当前版本更新为所述最新版本之后,所述方法还包括:
向所述检测进程发送指示信息,所述指示信息用于指示所述第一客户端更新为所述最新版本。
11.根据权利要求10所述的方法,其特征在于,所述指示信息中携带有所述第一客户端的第二版本信息,所述第二版本信息用于指示所述最新版本。
12.一种客户端升级装置,其特征在于,所述装置包括:
获取模块,用于获取第一客户端的第一版本信息,所述第一版本信息用于指示所述第一客户端的当前版本;
确定模块,用于根据所述第一版本信息,确定所述第一客户端待更新;
所述获取模块,还用于获取所述第一客户端的第一更新文件,所述第一更新文件为所述第一客户端的最新版本的安装文件;
发送模块,用于向主进程发送所述第一更新文件。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
轮询模块,用于获取N个第二客户端的客户端信息,N为正整数;根据所述客户端信息,构建客户端队列;轮询所述客户端队列,将所述N个第二客户端中的第i个第二客户端确定为所述第一客户端,i为正整数。
14.根据权利要求12所述的装置,其特征在于,所述确定模块,还用于获取所述第一客户端的第二版本信息,所述第二版本信息用于指示所述第一客户端的最新版本;比对所述第一版本信息与所述第二版本信息;当所述当前版本与所述最新版本不同时,确定所述第一客户端待更新。
15.根据权利要求12所述的装置,其特征在于,所述发送模块,还用于获取所述第一更新文件的第一校验码;将所述第一校验码与第二校验码进行比较,其中,所述第二校验码为服务器中所述第一客户端的最新版本对应的校验码;还用于当所述第一校验码与所述第二校验码相同时,向所述主进程发送所述第一更新文件。
16.根据权利要求12所述的装置,其特征在于,所述确定模块,还用于接收来自所述主进程的指示信息,所述指示信息用于指示所述第一客户端更新为所述最新版本;根据所述指示信息,将所述第一版本信息更新为所述最新版本对应的第二版本信息。
17.根据权利要求12所述的装置,其特征在于,所述指示信息中携带有第二版本信息。
18.一种客户端升级装置,其特征在于,所述装置包括:
接收模块,用于接收来自检测进程的第一更新文件,所述第一更新文件为第一客户端的最新版本的安装文件;
更新模块,用于根据所述第一更新文件,将所述第一客户端由当前版本更新为所述最新版本。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
启动模块,用于启动所述检测进程,并等待阻塞同步队列消息。
20.根据权利要求18所述的装置,其特征在于,所述装置还包括:
启动模块,用于挂载所述第一客户端的第一客户端进程;执行所述第一更新文件;启动更新后的所述第一客户端。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:
发送模块,用于向所述检测进程发送指示信息,所述指示信息用于指示所述第一客户端更新为所述最新版本。
22.根据权利要求21所述的装置,其特征在于,所述指示信息中携带有所述第一客户端的第二版本信息,所述第二版本信息用于指示所述最新版本。
23.一种终端设备,其特征在于,包括:存储器和处理器;所述处理器与所述存储器连接,被配置为执行存储在所述存储器上的计算机可执行指令,以实现如权利要求1至11任一项所述的方法。
24.一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行后能够实现如权利要求1至11任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211013936.9A CN115344289A (zh) | 2022-08-23 | 2022-08-23 | 一种客户端升级方法、装置、终端设备及存储介质 |
PCT/CN2023/108975 WO2024041283A1 (zh) | 2022-08-23 | 2023-07-24 | 一种客户端升级方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211013936.9A CN115344289A (zh) | 2022-08-23 | 2022-08-23 | 一种客户端升级方法、装置、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115344289A true CN115344289A (zh) | 2022-11-15 |
Family
ID=83953851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211013936.9A Pending CN115344289A (zh) | 2022-08-23 | 2022-08-23 | 一种客户端升级方法、装置、终端设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115344289A (zh) |
WO (1) | WO2024041283A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024041283A1 (zh) * | 2022-08-23 | 2024-02-29 | 北京比特大陆科技有限公司 | 一种客户端升级方法、装置、终端设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040010786A1 (en) * | 2002-07-11 | 2004-01-15 | Microsoft Corporation | System and method for automatically upgrading a software application |
CN110069266B (zh) * | 2018-01-24 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 应用升级方法、装置、计算机设备以及存储介质 |
CN112099825B (zh) * | 2020-09-11 | 2024-04-09 | 北京金山云网络技术有限公司 | 组件进行升级的方法、装置、设备及存储介质 |
CN112564956A (zh) * | 2020-11-30 | 2021-03-26 | 山东亚华电子股份有限公司 | 一种客户端的远程升级方法及设备、装置、存储介质 |
CN115344289A (zh) * | 2022-08-23 | 2022-11-15 | 北京比特大陆科技有限公司 | 一种客户端升级方法、装置、终端设备及存储介质 |
-
2022
- 2022-08-23 CN CN202211013936.9A patent/CN115344289A/zh active Pending
-
2023
- 2023-07-24 WO PCT/CN2023/108975 patent/WO2024041283A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024041283A1 (zh) * | 2022-08-23 | 2024-02-29 | 北京比特大陆科技有限公司 | 一种客户端升级方法、装置、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024041283A1 (zh) | 2024-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019076037A1 (zh) | 升级固件的方法和装置 | |
EP2375323A1 (en) | Firmware image update and management | |
US10846124B2 (en) | Communication method, apparatus and system for virtual machine and host machine | |
EP2864873B1 (en) | Auto-update while running a client software application with update handshake between versions and runtime validation of the successor version | |
JP6316978B2 (ja) | ファウンテンコードを用いる管理情報のブロードキャスト | |
WO2019140656A1 (zh) | 一种固件升级方法、装置、电子设备及控制设备 | |
CN107291481B (zh) | 一种组件更新方法、装置和系统 | |
WO2017016282A1 (zh) | 软件升级方法及装置、计算机存储介质 | |
CN110730090A (zh) | 云环境中代理端批量更新方法、装置、介质及电子设备 | |
CN110691120A (zh) | 一种定时任务状态检测方法、服务器及检测系统 | |
WO2024041283A1 (zh) | 一种客户端升级方法、装置、终端设备及存储介质 | |
CN111901142A (zh) | 一种用于嵌入式设备集群的固件静默升级方法及装置 | |
CN115202686A (zh) | 虚拟化系统的升级方法、装置、电子设备及存储介质 | |
CN112434278A (zh) | 一种裸机认证方法、装置、设备及介质 | |
CN113391845A (zh) | 一种数据交互方法、装置及相关组件 | |
CN112612498A (zh) | 一种嵌入式设备升级方法和嵌入式设备 | |
CN113412480A (zh) | 挂载处理方法、装置、电子设备及计算机可读取存储介质 | |
CN117389578A (zh) | 云终端系统升级方法、装置、云终端和存储介质 | |
CN111176693B (zh) | 一种数字电视系统的升级方法 | |
CN110727945B (zh) | 病毒扫描方法、设备以及计算机可读介质 | |
JP2014179047A (ja) | 情報処理装置 | |
CN113821248B (zh) | 车机端软件的服务方法、车机端软件及其相关设备 | |
CN114064097B (zh) | 软件升级方法、终端设备及存储介质 | |
CN115686569A (zh) | 一种ota升级的方法及其相关组件 | |
CN115292086A (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 |