CN110764805B - 客户端无感升级的方法、装置、终端及存储介质 - Google Patents
客户端无感升级的方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN110764805B CN110764805B CN201911033615.3A CN201911033615A CN110764805B CN 110764805 B CN110764805 B CN 110764805B CN 201911033615 A CN201911033615 A CN 201911033615A CN 110764805 B CN110764805 B CN 110764805B
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- upgrade
- client
- terminal
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 128
- 230000001939 inductive effect Effects 0.000 title abstract description 18
- 230000008569 process Effects 0.000 claims abstract description 80
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 13
- 238000009434 installation Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000001976 improved effect Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种客户端无感升级的方法、装置、终端及存储介质,属于计算机技术领域,所述方法包括:本申请实施例应用在终端中,接收到服务器下发的升级资源,新建目标进程,通过目标进程加载升级资源,并显示基于升级资源的用户界面。其中,升级资源对应的本地资源是除目标客户端主逻辑和固定界面资源外的资源。由于升级资源排除了目标客户端主逻辑和固定界面资源,由于本申请创建在客户端运行的同时新建了目标进程,使得目标客户端能够直接加载升级资源,并显示基于该升级资源的用户界面。可见,本申请能够实现客户端的无感升级,提高了新版的客户端为用户提供服务的效率,增强了客户端软件在更新状态下的可用性。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种客户端无感升级的方法、装置、终端及存储介质。
背景技术
随着计算机软件技术的快速发展,客户端越来越能通过调用终端本地的资源执行相应的操作,因此,计算机软件能够通过客户端的形式为终端提供丰富的功能。
在一些可能的实现场景中,当客户端出现新版本时,开发人员将对应的安装文件上传到服务器中。服务器通过推送或者客户端自主检测,来发现该新版本对应的安装文件。当用户确认更新客户端时,终端下载该安装文件,并通过该安装文件完成客户端的更新。
然而,客户端的下载时间和安装时间均较为漫长,造成使用新版本的时间负担较重。
发明内容
本申请实施例提供了一种客户端无感升级的方法、装置、终端及存储介质,可以解决的问题。所述技术方案如下:
根据本申请的一方面内容,提供了一种客户端无感升级的方法,应用于终端中,所述终端中安装有目标客户端,所述方法包括:
接收到服务器下发的升级资源,所述升级资源用于替换所述目标客户端中对应的本地资源,所述本地资源是除所述目标客户端的主逻辑和固定界面资源外的资源;
当接收到所述升级资源时,新建目标进程;
通过所述目标进程加载所述升级资源;
显示基于所述升级资源的用户界面。
根据本申请的另一方面内容,提供了一种客户端无感升级的装置,应用于终端中,所述终端中安装有目标客户端,所述装置包括:
资源接收模块,用于接收到服务器下发的升级资源,所述升级资源用于替换所述目标客户端中对应的本地资源,所述本地资源是除所述目标客户端的主逻辑和固定界面资源外的资源;
进程新建模块,用于当接收到所述升级资源时,新建目标进程;
资源加载模块,用于通过所述目标进程加载所述升级资源;
界面显示模块,用于显示基于所述升级资源的用户界面。
根据本申请的另一方面内容,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如本申请实施提供的客户端无感升级的方法。
根据本申请的另一方面内容,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如本申请实施提供的客户端无感升级的方法。
本申请实施例提供的技术方案带来的有益效果可以包括:
通过应用在终端中,接收到服务器下发的升级资源,新建目标进程,通过目标进程加载升级资源,并显示基于升级资源的用户界面。其中,升级资源对应的本地资源是除目标客户端主逻辑和固定界面资源外的资源。由于升级资源排除了目标客户端主逻辑和固定界面资源,因此,终端下载升级资源的时间将大大缩短,并且,由于本申请创建在客户端运行的同时新建了目标进程,使得目标客户端能够直接加载升级资源,并显示基于该升级资源的用户界面。可见,本申请能够实现客户端的无感升级,提高了新版的客户端为用户提供服务的效率,增强了客户端软件在更新状态下的可用性。
附图说明
为了更清楚地介绍本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的一种终端的结构框图;
图2是本申请一个示例性实施例提供的一种客户端无感升级的方法的流程图;
图3是本申请另一个示例性实施例提供的一种客户端无感升级的方法流程图;
图4是本申请实施例提供的一种客户端无感升级的方法的流程图;
图5是基于图4所示实施例提供的一种目标客户端升级的界面示意图;
图6是基于图4所示实施例提供的一种系统框图;
图7是本申请一个示例性实施例提供的一种客户端无感升级的装置的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
为了本申请实施例所示方案易于理解,下面对本申请实施例中出现的若干名词进行介绍。
目标客户端:指运行在终端中的软件实体,该目标客户端集成有指定的功能,能够基于终端提供的操作系统运行并实现上述指定的功能。在一种可能的实现方式中,该目标客户端采用Electron作为客户端容器,目标客户端的运行逻辑存放在云端服务器中。当目标客户端启动之后,该目标客户端能够从服务器中拉取升级资源。在另一种可能的实现方式中,终端还可以接收服务器推送的升级资源,本申请实施例不对升级资源的获取方式进行限定。
本地资源:是用于支持目标客户端的运行的资源,该资源存储在终端的本地中。在一种可能的实现方式中,目标客户端在运行时能够通过访问本地中存储的本地资源直接实现指定的功能。需要说明的是,在本申请实施例中,本地资源是除目标客户端的主逻辑和固定界面资源之外的资源。
升级资源:用于替换目标客户端中对应的本地资源。在一种可能的实现方式中,由于目标客户端的版本升级等原因,目标客户端需要重新更新相应的本地资源,此时,目标客户端将升级资源替换掉本地资源,完成目标客户端的更新。
在一种可能的实现方式中,升级资源包括运行逻辑和/或资源文件。可选地,当目标客户端仅需要运行逻辑时,升级资源中可以仅包括运行逻辑。当目标客户端仅需要资源文件时,升级资源可以仅包括资源文件。当目标客户端同时需要资源文件和运行逻辑时,升级资源同时包括资源文件和运行逻辑。
目标进程:是目标客户端中的一个进程,用于加载升级资源。当目标客户端获取到升级资源之后,终端能够新建该目标进程,并通过该目标进程加载升级资源,进而令目标客户端显示基于升级资源的用户界面。
示例性地,本申请实施例所示的客户端无感升级的方法,可以应用在终端中,该终端具备显示屏且具备客户端无感升级的功能。终端可以包括手机、平板电脑、膝上型电脑、台式电脑、电脑一体机、服务器、工作站、电视、机顶盒、智能眼镜、智能手表、数码相机、MP4播放终端、MP5播放终端、学习机、点读机、电纸书、电子词典、车载终端、虚拟现实(VirtualReality,VR)播放终端或增强现实(Augmented Reality,AR)播放终端等。
请参考图1,图1是本申请一个示例性实施例提供的一种终端的结构框图,如图1所示,该终端包括处理器120、存储器140和显示组件160,所述存储器140中存储有至少一条指令,所述指令由所述处理器120加载并执行以实现如本申请各个方法实施例所述的客户端无感升级的方法。显示组件160用于显示处理器120渲染后的图像帧的组件。
在本申请中,终端100是具备运行客户端功能的电子设备。当终端100中安装有目标客户端时,终端100能够在接收到服务器下发的升级资源时,新建目标进程,通过该目标进程加载升级资源,显示基于升级资源的用户界面。其中,升级资源用于替换目标客户端中对应的本地资源,本地资源是除目标客户端的主逻辑和固定界面资源外的资源。
处理器120可以包括一个或者多个处理核心。处理器120利用各种接口和线路连接整个终端100内的各个部分,通过运行或执行存储在存储器140内的指令、程序、代码集或指令集,以及调用存储在存储器140内的数据,执行终端100的各种功能和处理数据。可选的,处理器120可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器120可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器120中,单独通过一块芯片进行实现。
存储器140可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,缩写:ROM)。可选的,该存储器140包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器140可用于存储指令、程序、代码、代码集或指令集。存储器140可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储下面各个方法实施例中涉及到的数据等。
显示组件160,可以是触摸屏、投影组件或立体显示组件中至少一种显示组件,该显示组件160能够将处理器120渲染后的图像帧通过可见光的形式显示,令用户能够获取相应的图像信息。其中,图像信息可以包括照片和视频,本申请实施例对此不作限制。
请参考图2,图2是本申请一个示例性实施例提供的一种客户端无感升级的方法的流程图。该客户端无感升级的方法可以应用在上述所示的终端中。在图2中,客户端无感升级的方法包括:
步骤210,接收到服务器下发的升级资源,升级资源用于替换目标客户端中对应的本地资源,本地资源是除目标客户端的主逻辑和固定界面资源外的资源。
在本申请实施例中,终端中安装有目标客户端,该目标客户端可以是采用Electron作为客户端容器的客户端。在一种获取升级资源的方式中,若终端接收到用于启动目标客户端的启动信号,则终端向服务器发起版本信息核对请求,该核对请求中可以包括终端标识和版本信息。当服务器确认终端中安装的目标客户端的版本信息和应当安装的目标客户端的版本信息相同时,服务器向终端返回版本一致信息,终端则根据本地资源直接启动。当服务器确认终端中安装的目标客户端的版本信息和应当安装的目标客户端的版本信息不同时,服务器向终端发送应当安装的目标客户端的升级资源。
在另一种获取升级资源的方式中,当目标客户端的开发人员将新的版本的目标客户端的安装文件或者升级资源上传到服务器中后,服务器可以主动向终端推送升级资源。在一种推送升级资源的方式中,服务器中存储有需要安装新的升级资源的终端的名单,服务器根据该名单向相应的终端推送升级资源。在另一种推送升级资源的方式中,服务器向安装有目标客户端的终端发送升级资源。
在一种可能的实现方式中,服务器能够根据目标客户端的版本信息和GUID(英文:Globally Unique Identifier,中文:全局唯一标识符)确定目标客户端是否需要升级或者进行灰度升级。当服务器确定目标客户端需要升级或者进行灰度升级,则服务器向终端下发新的升级资源的CDN(英文:Content Delivery Network,中文:内容分发网络)的URL(英文:Uniform Resource Locator,中文:统一资源定位符),当终端根据该URL访问升级资源时,服务器向终端下发升级资源。
步骤220,当接收到升级资源时,新建目标进程。
在本申请实施例中,终端在接收到升级资源时,能够通过指示目标客户端新建目标进程。需要说明的是,在一种可能的方式中,目标客户端可以在运行状态下,自主新建目标进程。在另一种可能的方式中,目标客户端可以在主逻辑不运行的情况下,通过第三方应用新建目标进程,例如,通过浏览器等应用新建目标进程。在另一种可能的方式中,目标客户端可以在主逻辑不运行的情况下,由终端的操作系统直接新建目标进程,本申请实施例对此不作限定。
步骤230,通过目标进程加载升级资源。
在本申请实施例中,终端能够通过目标进程加载升级资源。需要说明的是,目标客户端根据实际的应用需要,选择运行目标进程的方式。
在一种可能的实现方式中,终端能够在目标客户端的主逻辑运行时,通过目标进程加载升级资源。
在另一种可能的实现方式中,终端能够在目标客户端的主逻辑不运行时,在后台独立运行目标进程,以实现加载升级资源的效果。
步骤240,显示基于升级资源的用户界面。
在本申请实施例中,终端还能够显示基于升级资源的用户界面。在一种可能的方式中,由于终端加载了升级资源,终端显示的用户界面可以是根据加载了升级资源后的目标客户端显示的。
综上所述,本实施例提供的客户端无感升级的方法,通过应用在终端中,接收到服务器下发的升级资源,新建目标进程,通过目标进程加载升级资源,并显示基于升级资源的用户界面。其中,升级资源对应的本地资源是除目标客户端主逻辑和固定界面资源外的资源。由于升级资源排除了目标客户端主逻辑和固定界面资源,因此,终端下载升级资源的时间将大大缩短,并且,由于本申请创建在客户端运行的同时新建了目标进程,使得目标客户端能够直接加载升级资源,并显示基于该升级资源的用户界面。可见,本申请能够实现客户端的无感升级,提高了新版的客户端为用户提供服务的效率,增强了客户端软件在更新状态下的可用性。
基于上一个实施例所公开的方案,终端还能够在目标客户端中指定的目标资源需要被调用时加载升级资源,请参考如下实施例。
请参见图3,图3是本申请另一个示例性实施例提供的一种客户端无感升级的方法流程图。该客户端无感升级的方法可以应用在上述所示的终端中。在图3中,该客户端无感升级的方法包括:
步骤311,启动目标客户端。
在本申请实施例中,终端能够在运行的过程中线启动目标客户端。
在一种可能的启动方式中,终端能够按照用户的指令启动目标客户端。用户的指令可以包括点击目标客户端的启动图标时生成的指令,或者,启动目标客户端的语音指令。
在另一种可能的启动方式中,目标客户端可以是随着终端的启动而自动运行的应用。在该运行场景中,目标客户端随着终端的启动而启动。
步骤312,向服务器发送升级请求,升级请求用于校验目标客户端是否需要升级。
在本申请实施例中,终端向服务器发送升级请求,该升级请求用于校验目标客户端是否需要升级。可选地,升级请求中可以包括目标客户端的版本信息和终端的标识。需要说明的是,终端能够在启动目标客户端之后,加载基础配置文件,随后根据配置文件访问服务器。
在一种可能的验证方式中,服务器将根据目标客户端的版本信息直接验证该目标客户端是否需要升级。在该场景中,若目标客户端的版本信息不是最新的版本信息,则目标客户端需要进行升级。
在另一种可能的验证方式中,服务器将根据目标客户端的版本信息和终端的标识验证目标客户端是否需要升级。在该场景中,服务器将根据终端的标识获取该终端所支持的最新的版本信息,若目标客户端的版本信息和该终端所支持的最新的版本信息相同,则目标客户端不需要升级;若目标客户端的版本信息和该终端所支持的最新的版本信息不同,则目标客户端需要升级。
在本申请实施例中,终端能够通过执行步骤(a1)、步骤(a2)和步骤(a3)来实现向服务器发送升级请求的操作。
步骤(a1),检测终端当前的数据传输速率。
在本申请实施例中,终端能够检测终端当前的数据传输速率。需要说明的是,该数据传输速率可以仅指示下行速率,该下行速率用于指示终端从网络中接收数据的速率。
在另一种可能的实现方式中,终端可以同时检测当前的上行速率和下行速率。
步骤(a2),当数据传输速率小于预设阈值时,检测目标客户端是否申请调用目标资源。
在本申请实施例中,当数据传输速率小于预设阈值时,终端能够检测目标客户端是否申请调用目标资源。其中,预设阈值可以是开发人员设置的常数值。预设阈值可以是1mbps、0.5mbps或0.25mbps等常数值,本申请对此不作限定。
需要说明的是,当目标客户端运行时,目标客户端能够根据实际的需求调用不同的资源。例如,目标客户端在运行时可能调用的资源包括资源r1、资源r2、资源r3、资源r4和资源r5。其中,服务器对资源r3和资源r4进行了更新。资源r1、资源r2和资源r5是固定界面资源。当目标客户端正常运行并调用资源r1、资源r2和资源r5时,目标客户端没有调用资源r3和资源r4,也即目标客户端没有申请调用目标资源。当目标客户端调用资源r3或资源r4时,终端确定目标客户端申请调用目标资源。
步骤(a3),当目标客户端申请调用目标资源时,向服务器发送目标客户端的标识和资源标识,资源标识用于指示目标资源。
在本申请实施例中,当目标客户端申请调用目标资源时,终端向服务器发送目标客户端的标识和资源标识。在本申请实施例中,资源标识用于指示需要更新的目标资源。
步骤320,接收服务器下发的升级资源。
在本申请实施例中,步骤320的执行过程和步骤220的执行过程相同,此处不再赘述。
步骤330,当接收到升级资源时,新建目标进程。
在本申请实施例中,步骤330的执行过程和步骤230的执行过程相同,此处不再赘述。
步骤340,通过目标进程根据升级资源替换目标资源。
在本申请实施例中,终端能够通过目标进程根据升级资源替换目标资源。在方案的实际执行过程中,终端能够在目标进程新建后,令目标进程自主运行。该目标进程具备删除目标资源,并将升级资源完全替代原本的目标资源。例如,将目标客户端中涉及目标资源的使用逻辑统一替换为升级资源。
步骤351,通过目标进程加载运行逻辑。
在本申请实施例中,终端通过目标进程加载运行逻辑,该目标进程可以是目标客户端中被专门开发用来执行本申请实施例提供的用户无感升级方案的进程。当目标客户端从服务器中下载到新的运行逻辑后,目标进程将加载该新的运行逻辑。
步骤352,根据运行逻辑调用资源文件。
在本申请实施例中,终端根据运行逻辑调用资源文件。需要说明的是,运行逻辑用于处理各种资源文件。终端能够根据运行逻辑中包含的各条指令,调用资源文件进行指定的操作。
步骤353,显示通过运行逻辑调用资源文件后生成的用户界面。
在本申请实施例中,终端可以显示运行逻辑调用资源文件后生成的用户界面。需要说明的是,该用户界面可以是目标客户端的主界面、子界面或者其它界面,本申请实施例对此不作限定。
综上所述,本实施例根据终端是否调用目标资源来确定从服务器下载升级资源的时机,实现了终端在目标客户端确实需要调用目标资源时,获取最新的资源,提高了终端获取升级资源的效率,避免目标客户端获取的升级资源闲置。
本实施例提供的客户端无感升级的方法,还能够在目标客户端获取升级资源后,及时显示基于升级资源显示的用户界面,提高了目标客户端根据最新的资源显示用户界面的效果,提高了用户使用目标客户端的效率。
基于上述实施例所示的方法,本申请实施例还提供一种客户端无感升级的方法,能够在无需执行文件安装过程的情况下,令目标客户端按照最新版本运行。请参考如下实施例。
请参考图4,图4是本申请实施例提供的一种客户端无感升级的方法的流程图,该方法可以应用在如图1所示的终端中,图4中包括终端41和服务器42,在图4中包括如下步骤:
步骤401,终端启动目标客户端。
在本申请实施例中,终端能够启动目标客户端,该目标客户端采用Electron作为客户端容器。可选地,Electron是一种打包了浏览器内核webkit和nodejs的运行环境。该技术可以使用例如javascript、html和css等web开发技术来开发目标客户端。当目标客户端开发完成后,开发人员能够将根据javascript和html,css开发的H5程序和Electron提供的运行环境一起打包成为安装包,上传到服务器中供用户下载。当用户获取到该安装包并完成安装时,目标客户端将成功地安装到用户的终端中。其中,用户的终端可以包括PC和移动终端等,本申请实施例对此不作限定。需要说明的是,根据Electron技术开发的目标客户端是跨平台的,提高了目标客户端的兼容性。
在一种可能的实施方式中,Electron技术提供有指定容器,该指定容器在运行时可以从本地加载javascript、html和css等技术开的文件,该技术不受沙盒的限制,Electron技术中的网页能够与本地资源之间进行数据交互,访问本地资源。
在本申请的一种设置方案中,通过Electron技术开发目标客户端。目标客户端运行的容器,将分离主要逻辑和界面资源文件,升级资源不包括主逻辑和固定界面资源。
在本申请实施例中,终端将主动或者根据用户的指令启动目标客户端。
在一种可能的实施方式中,终端还能够显示初始用户界面。需要说明的是,该初始用户界面是目标应用中的主逻辑根据固定界面资源生成的用户界面。从另一个角度介绍,该初始用户界面可以是是一个欢迎界面或者一个显示目标客户端的标识的页面。由于本申请实施例加载升级资源的速度很快。因此,目标客户端显示该初始用户界面的持续时间通常也较短。例如,终端可以在启动目标客户端后,显示3至5秒左右的初始用户界面。
步骤402,终端加载基础配置文件。
在本申请实施例中,基础配置文件包括主逻辑和固定界面资源。在一种可能的方式中,基础配置文件中包括服务器接口信息、目标客户端的GUID和版本信息等数据。针对终端显示的内容而言,终端此时加载的界面资源是原始安装包中附带的固定界面资源,随后显示加载窗口。
在本申请实施例的另一种可能的实现方式中,终端能够获取目标客户端的全局唯一标识符和目标客户端的版本信息。终端能够从基础配置文件中获取上述GUID和版本信息。
步骤403,终端根据目标配置文件访问服务器。
在本申请实施例中,目标配置文件是基础配置文件中的文件。终端能够携带本地版本信息和目标客户端的GUID访问指定后台服务器接口。
可选地,终端能够向服务器发送升级请求,升级请求用于指示服务器根据GUID和版本信息校验目标客户端是否需要升级。
步骤404,服务器根据目标客户端的版本信息和GUID,判断目标客户端是否需要升级或灰度升级。
在本申请实施例中,灰度升级用于指示目标客户端的GUID处于新的客户端版本的灰度名单中。需要说明的是,该灰度名单可以在服务器后台动态调整,以便针对整个目标客户端的使用终端实现灰度测试。
步骤405,当目标客户端需要升级或灰度升级时,服务器下发新的客户端资源CDN的URL。
步骤406,当目标客户端不需要升级或灰度升级时,终端在接收到服务器的反馈后,加载并运行本地资源。
在本申请实施例中,终端还能够新建目标进程来加载升级资源中的运行逻辑。终端在获取服务器的反馈后,能够确定目标客户端不需要升级或者灰度升级,此时终端将加载并运行本地资源。针对用户界面的显示,终端将当前显示的用户界面(例如,一个窗口)切换为新的用户界面,该新的用户界面是目标进程根据运行逻辑调用目标资源后显示的用户界面。
步骤407,客户端在接收到新的客户端资源CDN的URL时,根据该URL下载升级资源。
在本申请的一个可能实现的方式中,目标客户端在完成升级资源的下载后,可以将升级资源保存在终端的缓存中。目标客户端中将运行一个目标进程,并通过目标进程读取该升级资源的原始数据,通过目标进程加载该原始数据
请参考图5,图5是基于图4所示实施例提供的一种目标客户端升级的界面示意图。在图5中,当终端100中的目标客户端启动后,终端100可以显示初始用户界面510,初始用户界面510中可以显示版本号和目标客户端的标识。与此同时,终端100将目标客户端的GUID和版本号发送至服务器5A,服务器5A根据版本号确定目标客户端是否处于最新的版本,若是则直接返回上一次保存的资源;若否,则再根据GUID确认目标客户端是否是需要升级的客户端,若是,则向终端返回升级资源520。终端100中的目标进程将直接读取升级资源520的原始数据,并加载该原始数据后显示升级资源520的用户界面530。
需要说明的是,由于本申请中的目标客户端能够在需要升级的场景中,先启动并在启动状态显示初始用户界面,并在获取到升级资源后,由目标直接读取并加载从服务器中下载的升级资源的原始数据,即可显示基于升级资源的用户界面,整个过程无需用户退出目标客户端进行目标客户端的重新安装,实现了目标客户端的无感升级。
请参见图6,图6是基于图4所示实施例提供的一种系统框图。在图6中,服务器42用于执行步骤610,终端41用于执行步骤620和步骤630。各个步骤介绍如下:
步骤610,服务器将升级资源打包完毕,并设定相应升级策略。
步骤620,终端启动目标客户端,自动加载最新的升级资源。
步骤630,终端确认完成升级。
终上所述,终端还能够通过上述方式分离容器和程序的主要逻辑及资源。由于主要逻辑和资源文件的数据量都较小,因此,终端能够在数秒之内加载完成升级资源。可见,本申请实施例提供的方案能够实现目标客户端的快速执行最新的资源,避免了目标客户端的下载安装过程,提高了用户使用最新版本的目标客户端的效率。
另外,本申请提供的方案还能够实现更新时间大幅降低,且令用户在感官上几乎无法察觉到升级的过程,提高了目标客户端升级的效果。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图7,图7是本申请一个示例性实施例提供的一种客户端无感升级的装置的结构框图。该客户端无感升级的装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置包括:
资源接收模块710,用于接收到服务器下发的升级资源,所述升级资源用于替换所述目标客户端中对应的本地资源,所述本地资源是除所述目标客户端的主逻辑和固定界面资源外的资源;
进程新建模块720,用于当接收到所述升级资源时,新建目标进程;
资源加载模块730,用于通过所述目标进程加载所述升级资源;
界面显示模块740,用于显示基于所述升级资源的用户界面。
在一个可选的实施例中,所述装置还包括启动模块和请求发送模块;所述启动模块,用于启动所述目标客户端;所述请求发送模块,用于向服务器发送升级请求,所述升级请求用于校验所述目标客户端是否需要升级。
在一个可选的实施例中,所述装置涉及的所述升级资源包括运行逻辑和/或资源文件。
在一个可选的实施例中,所述装置中涉及的升级资源包括所述运行逻辑和所述资源文件,所述资源加载模块630,用于通过所述目标进程加载所述运行逻辑;根据所述运行逻辑调用所述资源文件;所述界面显示模块640,用于显示通过所述运行逻辑调用所述资源文件后生成的所述用户界面。
在一个可选的实施例中,所述请求发送模块,用于检测所述目标客户端是否申请调用目标资源;当所述目标客户端申请调用所述目标资源时,向所述服务器发送所述目标客户端的标识和资源标识,所述资源标识用于指示所述目标资源。
在一个可选的实施例中,所述装置还包括速率检测模块;所述速率检测模块,用于检测终端当前的数据传输速率;所述请求发送模块,用于当所述数据传输速率小于预设阈值时,检测所述目标客户端是否申请调用目标资源。
在一个可选的实施例中,所述资源加载模块630,用于通过所述目标进程根据所述升级资源替换所述目标资源。
在一个可选的实施例中,所述请求发送模块,用于向所述服务器发送所述目标客户端的标识和版本信息,所述版本信息用于所述服务器校验所述目标客户端是否需要升级。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的客户端无感升级的方法。
需要说明的是:上述实施例提供的客户端无感升级的装置在执行客户端无感升级的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的客户端无感升级的装置与客户端无感升级的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的能够实现的示例性的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (6)
1.一种客户端无感升级的方法,其特征在于,所述方法包括:
启动目标客户端;显示初始用户界面,所述初始用户界面是主逻辑根据固定界面资源生成的用户界面;
检测终端当前的数据传输速率;当所述数据传输速率小于预设阈值时,检测所述目标客户端是否申请调用目标资源;当所述目标客户端申请调用所述目标资源时,向服务器发送所述目标客户端的标识和资源标识,所述资源标识用于指示需要更新的目标资源;
在所述目标客户端申请调用所述目标资源的情况下,所述服务器根据所述目标客户端的标识和所述资源标识下发升级资源,所述升级资源用于替换所述目标客户端中对应的本地资源,所述本地资源是除所述目标客户端的主逻辑和固定界面资源外的资源;
或,所述服务器主动向所述终端推送所述升级资源;
当所述终端接收所述升级资源时,所述目标客户端在运行状态下,自主新建目标进程,所述升级资源包括运行逻辑和资源文件中的至少一种,所述目标进程是所述目标客户端中的一个进程,用于加载所述升级资源;
在所述主逻辑不运行的情况下,通过第三方应用新建所述目标进程,在后台独立运行所述目标进程,通过所述目标进程加载所述升级资源,根据所述升级资源替换所述目标资源;
显示基于所述升级资源的用户界面。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述目标进程加载所述运行逻辑;
根据所述运行逻辑调用所述资源文件;
所述显示基于所述升级资源的用户界面,包括:
显示通过所述运行逻辑调用所述资源文件后生成的所述用户界面。
3.一种客户端无感升级的装置,其特征在于,所述装置包括:
启动模块,用于启动目标客户端;
界面显示模块,用于显示初始用户界面,所述初始用户界面是主逻辑根据固定界面资源生成的用户界面;
速率检测模块,用于检测终端当前的数据传输速率;
请求发送模块,用于当所述数据传输速率小于预设阈值时,检测所述目标客户端是否申请调用目标资源;
所述请求发送模块,用于当所述目标客户端申请调用所述目标资源时,向服务器发送所述目标客户端的标识和资源标识,所述资源标识用于指示需要更新的目标资源;
资源接收模块,用于在所述目标客户端申请调用所述目标资源的情况下,所述服务器根据所述目标客户端的标识和所述资源标识下发升级资源,所述升级资源用于替换所述目标客户端中对应的本地资源,所述本地资源是除所述目标客户端的主逻辑和固定界面资源外的资源;
或,所述服务器主动向所述终端推送所述升级资源;
进程新建模块,用于当所述终端接收所述升级资源时,所述目标客户端在运行状态下,自主新建目标进程,所述升级资源包括运行逻辑和资源文件中的至少一种,所述目标进程是所述目标客户端中的一个进程,用于加载所述升级资源;
资源加载模块,用于在所述主逻辑不运行的情况下,通过第三方应用新建所述目标进程,在后台独立运行所述目标进程,通过所述目标进程,根据所述升级资源替换所述目标资源;
界面显示模块,用于显示基于所述升级资源的用户界面。
4.根据权利要求3所述的装置,其特征在于,
所述资源加载模块,用于通过所述目标进程加载所述运行逻辑;根据所述运行逻辑调用所述资源文件;
所述界面显示模块,用于显示通过所述运行逻辑调用所述资源文件后生成的所述用户界面。
5.一种终端,其特征在于,所述终端包括处理器和与所述处理器相连的存储器,以及存储在所述存储器上的程序指令,所述处理器执行所述程序指令时实现如权利要求1或2所述的客户端无感升级的方法。
6.一种计算机可读存储介质,所述存储介质中存储有程序指令,其特征在于,所述程序指令被处理器执行时实现如权利要求1或2所述的客户端无感升级的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911033615.3A CN110764805B (zh) | 2019-10-28 | 2019-10-28 | 客户端无感升级的方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911033615.3A CN110764805B (zh) | 2019-10-28 | 2019-10-28 | 客户端无感升级的方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110764805A CN110764805A (zh) | 2020-02-07 |
CN110764805B true CN110764805B (zh) | 2024-01-23 |
Family
ID=69334157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911033615.3A Active CN110764805B (zh) | 2019-10-28 | 2019-10-28 | 客户端无感升级的方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764805B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486520A (zh) * | 2020-12-07 | 2021-03-12 | 深圳市欢太科技有限公司 | 应用程序升级方法及其装置、移动终端和服务器 |
CN112463198B (zh) * | 2020-12-09 | 2021-06-22 | 深圳智药科技有限公司 | 基于Electron的更新方法及系统 |
CN113064609B (zh) * | 2021-03-05 | 2024-05-28 | 深圳市欢太科技有限公司 | 一种资源加载方法及客户端、服务器、存储介质 |
CN117539521B (zh) * | 2024-01-10 | 2024-05-07 | 中航国际金网(北京)科技有限公司 | 应用程序升级方法、装置、非易失性存储介质及电子设备 |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级系统以及客户端 |
CN102955702A (zh) * | 2011-08-23 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 一种软件安装及升级方法和装置 |
CN103023941A (zh) * | 2011-09-26 | 2013-04-03 | 腾讯科技(深圳)有限公司 | 基于Web页面的终端应用程序的更新方法及更新系统 |
WO2013185570A1 (zh) * | 2012-06-13 | 2013-12-19 | 腾讯科技(深圳)有限公司 | 软件更新方法、软件更新系统及计算机存储介质 |
CN104778063A (zh) * | 2015-04-16 | 2015-07-15 | 小米科技有限责任公司 | 资源更新方法和装置 |
CN105389182A (zh) * | 2015-11-02 | 2016-03-09 | 广州华多网络科技有限公司 | 一种软件升级方法及装置 |
CN106371875A (zh) * | 2016-08-31 | 2017-02-01 | 南威软件股份有限公司 | 一种基于html5的手机应用更新机制 |
WO2017124976A1 (zh) * | 2016-01-22 | 2017-07-27 | 阿里巴巴集团控股有限公司 | 一种应用资源获取方法及装置 |
CN106990975A (zh) * | 2016-01-21 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种应用热部署方法、装置和系统 |
WO2017129016A1 (zh) * | 2016-01-28 | 2017-08-03 | 阿里巴巴集团控股有限公司 | 一种资源访问方法、装置及系统 |
CN107256161A (zh) * | 2017-06-13 | 2017-10-17 | 广发证券股份有限公司 | 基于electron技术的客户端升级方法 |
CN107291481A (zh) * | 2016-03-30 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 一种组件更新方法、装置和系统 |
CN107291495A (zh) * | 2017-06-01 | 2017-10-24 | 努比亚技术有限公司 | 一种共享资源加载方法、终端及计算机可读存储介质 |
CN107301072A (zh) * | 2017-06-22 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种升级文件的自动加载方法及装置 |
CN107846465A (zh) * | 2017-11-13 | 2018-03-27 | 北京趣拿软件科技有限公司 | 更新客户端资源包的方法和装置 |
CN108241496A (zh) * | 2016-12-23 | 2018-07-03 | 北京奇虎科技有限公司 | 应用程序的平滑升级方法及装置 |
CN108536461A (zh) * | 2018-03-13 | 2018-09-14 | Oppo广东移动通信有限公司 | 资源更新方法、装置、终端及存储介质 |
WO2019154172A1 (zh) * | 2018-02-12 | 2019-08-15 | 华为技术有限公司 | 一种软件升级管理的方法、服务器、终端、装置及存储介质 |
CN110377321A (zh) * | 2019-07-22 | 2019-10-25 | 平安科技(深圳)有限公司 | 应用程序升级的方法、装置、终端及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040098361A1 (en) * | 2002-11-18 | 2004-05-20 | Luosheng Peng | Managing electronic file updates on client devices |
-
2019
- 2019-10-28 CN CN201911033615.3A patent/CN110764805B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级系统以及客户端 |
CN102955702A (zh) * | 2011-08-23 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 一种软件安装及升级方法和装置 |
CN103023941A (zh) * | 2011-09-26 | 2013-04-03 | 腾讯科技(深圳)有限公司 | 基于Web页面的终端应用程序的更新方法及更新系统 |
WO2013185570A1 (zh) * | 2012-06-13 | 2013-12-19 | 腾讯科技(深圳)有限公司 | 软件更新方法、软件更新系统及计算机存储介质 |
CN104778063A (zh) * | 2015-04-16 | 2015-07-15 | 小米科技有限责任公司 | 资源更新方法和装置 |
CN105389182A (zh) * | 2015-11-02 | 2016-03-09 | 广州华多网络科技有限公司 | 一种软件升级方法及装置 |
CN106990975A (zh) * | 2016-01-21 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种应用热部署方法、装置和系统 |
WO2017124976A1 (zh) * | 2016-01-22 | 2017-07-27 | 阿里巴巴集团控股有限公司 | 一种应用资源获取方法及装置 |
WO2017129016A1 (zh) * | 2016-01-28 | 2017-08-03 | 阿里巴巴集团控股有限公司 | 一种资源访问方法、装置及系统 |
CN107291481A (zh) * | 2016-03-30 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 一种组件更新方法、装置和系统 |
CN106371875A (zh) * | 2016-08-31 | 2017-02-01 | 南威软件股份有限公司 | 一种基于html5的手机应用更新机制 |
CN108241496A (zh) * | 2016-12-23 | 2018-07-03 | 北京奇虎科技有限公司 | 应用程序的平滑升级方法及装置 |
CN107291495A (zh) * | 2017-06-01 | 2017-10-24 | 努比亚技术有限公司 | 一种共享资源加载方法、终端及计算机可读存储介质 |
CN107256161A (zh) * | 2017-06-13 | 2017-10-17 | 广发证券股份有限公司 | 基于electron技术的客户端升级方法 |
CN107301072A (zh) * | 2017-06-22 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种升级文件的自动加载方法及装置 |
CN107846465A (zh) * | 2017-11-13 | 2018-03-27 | 北京趣拿软件科技有限公司 | 更新客户端资源包的方法和装置 |
WO2019154172A1 (zh) * | 2018-02-12 | 2019-08-15 | 华为技术有限公司 | 一种软件升级管理的方法、服务器、终端、装置及存储介质 |
CN108536461A (zh) * | 2018-03-13 | 2018-09-14 | Oppo广东移动通信有限公司 | 资源更新方法、装置、终端及存储介质 |
CN110377321A (zh) * | 2019-07-22 | 2019-10-25 | 平安科技(深圳)有限公司 | 应用程序升级的方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110764805A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110764805B (zh) | 客户端无感升级的方法、装置、终端及存储介质 | |
CN106445583B (zh) | 一种页面显示方法、设备及系统 | |
CN105389222B (zh) | 一种动态调用原生接口的方法、装置和系统 | |
US9519654B2 (en) | Method, device, processing center and system for desktop synchronization | |
CN113312037B (zh) | 应用于微服务的数据处理方法、装置、设备和存储介质 | |
CN108111555B (zh) | 用于控制安装包下载过程的方法及系统 | |
CN107741844B (zh) | 一种应用安装包的生成方法和装置 | |
US8978027B2 (en) | Method of disseminating updated drivers to mobile computing devices and a dissemination system therefor | |
TWI626593B (zh) | 一種軟體升級的方法及裝置 | |
CN111722885B (zh) | 程序运行方法、装置以及电子设备 | |
CN104965723B (zh) | 应用程序的运行方法及装置 | |
CN109992406B (zh) | 图片请求方法、响应图片请求的方法及客户端 | |
CN104995927A (zh) | 用于构建和使用混合移动应用的系统和方法 | |
EP4119207A1 (en) | Vibration control method and apparatus, and electronic device and computer-readable storage medium | |
CN110968331B (zh) | 应用程序运行的方法和装置 | |
KR101868386B1 (ko) | 어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버 | |
EP3298756B1 (en) | Interfacing with servers having different apis to obtain advertisement data | |
US10193737B2 (en) | Method for performing communication between browser and mobile terminal, and browser apparatus | |
CN110807162A (zh) | 加载占位图的方法和装置 | |
CN112379933B (zh) | 应用程序启动方法、装置、介质及电子设备 | |
CN115878226A (zh) | 一种h5离线包加载方法及装置 | |
CN115080109A (zh) | 基于混合开发的多云端环境联调方法、装置、系统和设备 | |
CN114610446A (zh) | 一种自动注入探针的方法、装置及系统 | |
CN115129339A (zh) | 基于Flutter的小程序动态更新方法、装置及介质 | |
JP6423413B2 (ja) | プログラム及びプログラム配信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022986 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |