CN113656087A - 小程序启动方法、装置、设备及存储介质 - Google Patents

小程序启动方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113656087A
CN113656087A CN202010354360.7A CN202010354360A CN113656087A CN 113656087 A CN113656087 A CN 113656087A CN 202010354360 A CN202010354360 A CN 202010354360A CN 113656087 A CN113656087 A CN 113656087A
Authority
CN
China
Prior art keywords
applet
target
candidate
data
caching
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
CN202010354360.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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010354360.7A priority Critical patent/CN113656087A/zh
Publication of CN113656087A publication Critical patent/CN113656087A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

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

Abstract

本申请公开了一种小程序启动方法、装置、设备及存储介质,涉及计算机领域。该方法包括:确定宿主程序中待启动的候选小程序;当宿主程序处于运行状态时,预缓存候选小程序的小程序数据,小程序数据是小程序冷启动阶段所要加载的数据;接收小程序开启指令,小程序开启指令用于指示开启目标小程序;响应于目标小程序属于候选小程序,加载目标小程序对应的目标小程序数据;根据目标小程序数据冷启动目标小程序。采用本申请实施例提供的方法,目标设备可以直接加载预缓存的小程序数据并冷启动目标小程序,无需通过网络实时下载,避免因网络环境复杂导致数据下载耗时过长,导致小程序冷启动速度过慢的问题,有助于提高宿主程序中小程序的冷启动速度。

Description

小程序启动方法、装置、设备及存储介质
技术领域
本申请涉及计算机领域,特别涉及一种小程序启动方法、装置、设备及存储介质。
背景技术
小程序是一种依赖于宿主程序运行的程序。用户只需要安装宿主程序,即可在宿主程序中随时添加和使用各种各样的小程序。
小程序的启动过程可以分为冷启动和热启动。相关技术中,当接收到对宿主程序中小程序的开启指令,且小程序需要冷启动时,宿主程序需要通过网络请求的方式,下载小程序相关的属性和代码包等数据,并在完成数据加载后执行冷启动流程。
对于即时通信应用程序一类的宿主程序,由于此类宿主程序通常安装在移动终端中,而移动终端具有良好的网络支持,因此小程序冷启动速度较快。然而,存在部分安装在共享设备上的宿主程序,由于此类共享设备所处的网络环境较为复杂,导致小程序的冷启动较慢。
发明内容
本申请实施例提供了一种小程序启动方法、装置、设备及存储介质,可以提高小程序的冷启动速度。所述技术方案如下:
一方面,本申请实施例提供了一种小程序启动方法,所述方法用于安装运行有宿主程序的目标设备,所述宿主程序用于为小程序提供运行环境,所述方法包括:
确定所述宿主程序中待启动的候选小程序;
当所述宿主程序处于运行状态时,预缓存所述候选小程序的小程序数据,所述小程序数据是小程序冷启动阶段所要加载的数据;
接收小程序开启指令,所述小程序开启指令用于指示开启目标小程序;
响应于所述目标小程序属于所述候选小程序,加载所述目标小程序对应的目标小程序数据;
根据所述目标小程序数据冷启动所述目标小程序。
另一方面,本申请实施例提供了一种小程序启动装置,其所述装置包括:
确定模块,用于确定宿主程序中待启动的候选小程序;
预缓存模块,用于当所述宿主程序处于运行状态时,预缓存所述候选小程序的小程序数据,所述小程序数据是小程序冷启动阶段所要加载的数据;
接收模块,用于接收小程序开启指令,所述小程序开启指令用于指示开启目标小程序;
加载模块,用于响应于所述目标小程序属于所述候选小程序,加载所述目标小程序对应的目标小程序数据;
第一启动模块,用于根据所述目标小程序数据冷启动所述目标小程序。
可选的,确定模块,包括:
请求发送单元,用于向配置平台发送配置获取请求,所述配置平台用于为不同设备配置所述宿主程序中待启动的所述候选小程序;
接收单元,用于接收所述配置平台发送的小程序配置信息,所述小程序配置信息中包含所述候选小程序的小程序标识。
可选的,请求发送单元,用于:
按照第一频率向所述配置平台发送所述配置获取请求;
预缓存模块,用于:
响应于所述小程序配置信息与历史配置信息相同,按照第二频率预缓存所述历史配置信息中所述候选小程序的小程序数据,所述第一频率高于所述第二频率。
可选的,预缓存模块,还用于:
响应于所述小程序配置信息与所述历史配置信息不同,预缓存所述小程序配置信息中所述候选小程序的小程序数据。
可选的,所述配置获取请求中包含所述目标设备的设备标识;或,所述目标设备所属设备簇的簇标识,其中,同一设备簇中各个设备对应相同小程序配置信息。
可选的,加载模块,用于:
响应于所述目标小程序属于所述候选小程序,且不存在所述目标小程序对应的实例缓存,加载所述目标小程序对应的所述目标小程序数据;
所述装置还包括:
第二启动模块,用于响应于所述目标小程序属于所述候选小程序,且存在所述目标小程序对应的所述实例缓存,通过加载所述实例缓存热启动所述目标小程序。
可选的,所述装置还包括:
第一获取模块,用于获取各个所述候选小程序的使用频率;
频率确定模块,用于根据所述使用频率确定各个所述候选小程序对应的预缓存频率,其中,所述预缓存频率与所述使用频率呈正相关关系。
可选的,所述装置还包括:
第二获取模块,用于获取相邻两次预缓存时所述候选小程序的版本信息;
第一调整模块,用于响应于所述版本信息指示版本更新次数高于第一次数阈值,上调所述预缓存频率,上调后的预缓存频率高于上调前的预缓存频率;
第二调整模块,用于响应于所述版本信息指示版本更新次数小于第二次数阈值,下调所述预缓存频率,下调后的预缓存频率低于下调前的预缓存频率。
另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的小程序启动方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的小程序启动方法。
另一方面,本申请实施例提供了一种小程序系统,所述系统包括计算机设备、配置平台和小程序服务器,所述计算机设备分别与所述配置平台和所述小程序服务器建立数据连接;
所述计算机设备中安装运行有宿主程序,所述宿主程序用于为小程序提供运行环境;
所述配置平台用于为所述宿主程序提供服务,所述小程序服务器用于为所述宿主程序中运行的小程序提供服务;
所述计算机设备用于实现如上述方面所述的小程序启动方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述方面所述的小程序启动方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例中,通过确定宿主程序中待启动的候选小程序,在宿主程序处于运行状态时,对候选小程序的小程序数据进行预缓存,后续接收到对候选小程序中目标小程序的开启指令时,由于已预缓存目标小程序对应的目标小程序数据,因此目标设备可以直接加载目标小程序数据并冷启动目标小程序,无需通过网络实时下载,避免因网络环境复杂导致数据下载耗时过长,导致小程序冷启动速度过慢的问题,有助于提高宿主程序中小程序的冷启动速度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的小程序系统的系统结构图;
图2示出了本申请一个示例性实施例提供的小程序启动方法的流程图;
图3是一个示例性实施例示出的小程序启动方法的实施示意图;
图4示出了本申请另一个示例性实施例提供的小程序启动方法的流程图;
图5示出了本申请另一个示例性实施例提供的小程序启动方法的流程图;
图6是一个示例性实施例提供的调整预缓存频率过程的流程图;
图7是是一个示例性实施例提供的调整预缓存频率过程的实施示意图;
图8是本申请一个示例性实施例提供的小程序启动装置的结构框图;
图9示出了本申请一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了方便理解,下面对本申请实施例中涉及的名词进行介绍:
小程序:小程序是一种基于编程语言开发完成、依赖于宿主程序运行的应用程序,是一种介于传统网页与传统应用程序之间的应用形态,用户无需下载和安装小程序就可以在宿主程序中运行该小程序。
宿主程序:在计算机环境下,软件赖以生存的软件环境被称作是宿主环境,环境称作宿主。本申请实施例中的宿主程序即用于为小程序提供运行环境的应用程序。该宿主应用程序可以为安卓(Android)应用程序或者苹果操作系统(iPhone Operation System,iOS)。
宿主程序可以是安装在个人设备中的即时通信应用程序、支付类应用程序、新闻阅读类应用程序或社交应用程序等等;也可以是安装在共享设备中的刷脸应用程序、签到应用程序等等。
对于安装在个人设备中的宿主程序,用户可以根据自身需要在宿主程序中选择所要运行的小程序;而对于安装在共享设备中的宿主程序,用户只能从宿主小程序指定的小程序中选择所要运行的小程序。比如,对于安装在刷脸支付设备中的刷脸应用程序,该刷脸应用程序中仅安装有刷脸会员小程序以及刷脸支付小程序,用户只能选择运行刷脸会员小程序以实现会员验证功能,选择刷脸支付小程序以实现支付功能。
小程序数据:本申请实施例中的小程序数据指小程序在冷启动阶段所要加载的数据。可选的,该小程序数据包括小程序属性、APKG包和小程序数据库。其中,小程序属性用于描述小程序的相关属性,包括图标、版本信息、启动页面、是否分包等等;APKG包为小程序的代码包,包括小程序设置、用户界面(User Interface,UI)和小程序业务逻辑等等。
请参考图1,其示出了本申请一个示例性实施例提供的小程序系统的系统架构图。该小程序系统中包括:计算机设备110、配置平台120和小程序服务器130。
计算机设备110为安装运行有宿主程序的电子设备,且该宿主程序具有小程序运行功能,用于为小程序提供运行环境。在一种可能的实施方式中,如图1所示,该计算机设备110为刷脸扫码设备(设置有结构光摄像头111以及扫码组件112),相应的,计算机设备110中宿主程序运行的小程序包括刷脸支付小程序和刷码支付小程序。
可选的,计算机设备110可以为超市收银设备、商户点餐设备、商场导航设备等等,本申请实施例并不对计算机设备110的具体类型进行限定。
配置平台120通过有线网络或无线网络与计算机设备110相连,并建立数据连接。
配置平台120包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。在一种可能的实施方式中,配置平台120为计算机设备110中宿主程序的后台平台,用于为宿主程序提供服务。
可选的,配置平台120为不同设备中的宿主程序配置小程序。计算机设备110的拥有者可以通过配置平台120更新(增加或删除)计算机设备110(宿主程序)中所能运行的小程序。
小程序服务器130通过有线网络或无线网络与计算机设备110相连,并建立数据连接。
小程序服务器130用于为小程序提供服务(即为小程序的后台服务器),其包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。宿主程序中运行小程序时,小程序即与对应的小程序服务器130进行数据通信,以实现相应的小程序功能。
在一种可能的应用场景下,如图1所示,计算机设备110通过宿主程序请求从配置平台120拉取为当前设备中宿主程序配置的可运行小程序。接收到配置平台120反馈的小程序配置信息后,宿主程序即根据小程序配置信息中包含的小程序标识,从相应的小程序服务器130处拉起小程序数据,并进行预缓存。当用户在使用计算机设备110过程中指示开启小程序时,宿主程序即加载预缓存的小程序数据,并冷启动小程序,无需实时从小程序服务器130处下载小程序数据,提高小程序的冷启动速度。
下述各个实施例以小程序启动方法用于图1所示的计算机设备110为例进行说明。
请参考图2,其示出了本申请一个示例性实施例提供的小程序启动方法的流程图。本实施例以该方法用于图1所示小程序系统中的计算机设备110(下述实施例中用目标设备指代)为例进行说明,该方法包括如下步骤。
步骤201,确定宿主程序中待启动的候选小程序。
对于个人设备而言,由于个人设备的使用者较为单一,且所能实现的功能众多,因此个人设备中宿主程序所能运行的小程序不受限制,用户可以根据需要指定所要运行的小程序。比如,在使用安装有即时通信应用程序(宿主程序)的终端时,用户可以选择在即时通信应用程序中运行游戏小程序、外卖小程序或点评小程序。可见,个人设备宿主程序中运行的小程序具有不确定性。
而对于共享设备而言,由于共享设备被不同用户使用,且用于实现特定功能(与自身的硬件配置相关),因此用户只能运行宿主程序指定的若干小程序。比如,在使用安装有刷脸扫码应用程序(宿主程序)的超市收银设备时,用户只能够在刷脸扫码应用程序中选择运行刷脸支付小程序或者刷脸会员小程序,无法运行上述小程序以外的其他小程序(比如游戏小程序、外卖小程序等等)。可见,共享设备宿主程序中运行的小程序相对固定。
因此,本申请实施例提供的小程序启动方法可以应用于安装有宿主程序的共享设备,该宿主程序用于为预配置的小程序提供运行环境。
在一种可能的实施方式中,目标设备开机并启动宿主程序后,宿主程序确定待启动的候选小程序(即预配置的小程序)。其中,候选小程序的数量为至少一个。
在其他可能的实施方式中,在宿主程序运行过程中,每隔预定时间间隔确定待启动的候选小程序。
步骤202,当宿主程序处于运行状态时,预缓存候选小程序的小程序数据,小程序数据是小程序冷启动阶段所要加载的数据。
运行状态下,宿主程序进行小程序数据预缓存,其中,该预缓存过程静默执行,即从宿主程序的用户界面无法感知。
小程序启动包括冷启动和热启动,由于热启动过程是将处于后台运行状态的小程序调度至前台运行(并不受数据加载的影响),而冷启动过程则需要加载小程序数据并对各项基础运行环境进行初始化(受数据加载速度的影响),因此本申请实施例中,目标设备对候选小程序在冷启动阶段所要加载的数据进行预缓存。
在一种可能的实施方式中,目标设备通过宿主程序,从候选小程序对应的小程序服务器处拉取小程序数据,并进行预缓存。
针对预缓存小程序数据的过程,在一种可能的实施方式中,目标设备通过宿主程序从小程序服务器处拉取小程序属性,并对小程序数据进行存储,进而拉取小程序更新信息。当小程序更新信息指示小程序需要更新时,宿主程序即从小程序服务器拉取小程序代码更新包;当小程序更新信息指示小程序无需更新,且本地未缓存小程序代码包时,宿主程序即从小程序服务器拉取完整的小程序代码包。
可选的,当小程序数据的缓存时长达到预设时长后,目标设备删除该小程序数据。
可选的,宿主程序在运行过程中重复执行上述步骤,保证预缓存的小程序数据的时效性。
步骤203,接收小程序开启指令,小程序开启指令用于指示开启目标小程序。
可选的,该当接收到对宿主程序中目标功能的开启操作时,宿主程序接收到小程序开启指令。比如,当宿主程序为刷脸扫码应用程序时,当接收到对刷脸功能的开启操作时,宿主程序即接收到指示开启刷脸支付小程序的小程序开启指令;当接收到对扫码功能的开启操作时,宿主程序即接收到指示开启扫码支付小程序的小程序开启指令。
步骤204,响应于目标小程序属于候选小程序,加载目标小程序对应的目标小程序数据。
在一种可能的实施方式中,目标设备检测该目标小程序是否属于候选小程序,若属于候选小程序,由于已预缓存候选小程序的小程序数据,因此,目标设备直接从本地加载目标小程序对应的目标小程序数据,而无需通过网络请求的方式从小程序服务器处下载小程序数据。
在一种可能的实施方式中,当目标小程序属于候选小程序时,目标设备还需要对目标小程序数据进行完整性校验(可能存在在预缓存过程中接收到小程序开启指令的情况),并在目标小程序数据完整时进行数据加载。若目标小程序数据不完整,目标设备即继续从小程序服务器处实时下载剩余小程序数据。
步骤205,根据目标小程序数据冷启动目标小程序。
完成目标小程序数据加载后,目标设备进一步执行后续冷启动流程,直至目标小程序启动完毕。
采用本申请实施例提供的方法,当目标设备中的宿主程序仅运行预配置的小程序时,通过预缓存机制,将小程序数据下载和加载过程分离,使得用户后续开启小程序时,宿主程序能够直接加载预缓存的小程序数据,避免采用实时网络请求的方式下载小程序数据,对于设置在餐厅、商场、商户中的共享设备(所处的网络环境复杂)而言,能够提高小程序的冷启动速度,缓解小程序启动缓慢甚至启动失败的问题。
综上所述,本申请实施例中,本申请实施例中,通过确定宿主程序中待启动的候选小程序,在宿主程序处于运行状态时,对候选小程序的小程序数据进行预缓存,后续接收到对候选小程序中目标小程序的开启指令时,由于已预缓存目标小程序对应的目标小程序数据,因此目标设备可以直接加载目标小程序数据并冷启动目标小程序,无需通过网络实时下载,避免因网络环境复杂导致数据下载耗时过长,导致小程序冷启动速度过慢的问题,有助于提高宿主程序中小程序的冷启动速度。
在一个示例性的例子中,如图3所示,商户中设置有刷脸设备310,该刷脸设备310中运行的宿主程序311支持刷脸支付和刷脸会员功能。预缓存阶段,宿主程序311运行过程中,从第一小程序服务器320处拉取刷脸支付小程序的小程序数据并缓存,从第二小程序服务器330处拉取刷脸会员小程序的小程序数据并缓存。小程序启动阶段,当用户选择使用宿主程序311中的刷脸支付功能时,宿主程序311对当前用户进行人脸验证,并在人脸验证通过后,开启刷码支付小程序。由于已进行了数据预缓存,因此刷码支付小程序在冷启动过程中,直接加载预缓存的小程序数据,并执行冷启动流程,最终在完成冷启动后显示刷码支付小程序界面312。
在一种可能的实施方式中,安装在不同设备中的同一宿主程序所能运行的小程序不同,而小程序的配置可以在配置平台处完成。相应的,在预缓存阶段,目标设备即与配置平台交互,以确定当前设备宿主程序中待启动的候选小程序。下面采用示例性的实施例进行说明。
请参考图4,其示出了本申请另一个示例性实施例提供的小程序启动方法的流程图。本实施例以该方法用于图1所示小程序系统中的计算机设备110(下述实施例中用目标设备指代)为例进行说明,该方法包括如下步骤。
步骤401,向配置平台发送配置获取请求,配置平台用于为不同设备配置宿主程序中待启动的候选小程序。
可选的,配置平台为宿主程序的后台平台,用于管理并为安装在不同设备中的宿主程序配置候选小程序。目标设备中的宿主程序在运行过程中,通过发送配置获取请求的方式,从配置平台处获取为宿主程序配置的小程序。
在一种可能的实施方式中,设备投放方可以根据需求,通过配置平台逐一为设备中运行的宿主程序配置候选小程序,相应的,向配置平台发送的配置获取请求中包含目标设备的设备标识,该设备标识用于唯一标识设备。
对应的,配置平台接收到配置获取请求后,即根据设备标识查询目标设备对应的候选小程序。示意性的,配置平台中设备标识与候选小程序之间的对应关系如表一所示。
表一
设备标识 候选小程序
设备001 刷码支付小程序、刷脸支付小程序
设备002 刷脸会员小程序
设备003 盲盒小程序、刷脸会员小程序
在另一种可能的实施方式中,设备投放方分批进行设备投放,若通过配置平台为设备逐一配置候选小程序,配置量大且效率较低,因此为了提高配置效率,可以通过配置平台设置设备簇,并未设备簇中的设备配置统一的候选小程序。相应的,向配置平台发送的配置获取请求中包含目标设备所属设备簇的簇标识。其中,该设备簇可以是设备所属投放方的标识、设备投放商户的商户标识等等,本实施例对此不作限定。
对应的,配置平台接收到配置获取请求后,即根据簇标识查询目标设备对应的候选小程序。示意性的,配置平台中簇标识与候选小程序之间的对应关系如表二所示。
表二
簇标识 候选小程序
XX超市 刷码支付小程序、刷脸支付小程序
XX电影 购票小程序、刷码支付小程序
XX快餐 点单小程序、刷码支付小程序
步骤402,接收配置平台发送的小程序配置信息,小程序配置信息中包含候选小程序的小程序标识。
配置平台接收到配置获取后,即将包含小程序标识的小程序配置信息发送至目标设备。可选的,该小程序配置信息中还可以包括小程序对应后台服务器的服务器地址,以便目标设备根据该服务器地址进行小程序数据预缓存。
可选的,该小程序配置信息中包含为目标设备单独配置的候选小程序,或者,该小程序配置信息中包含为目标设备所属设备簇中各个设备配置的候选小程序。
步骤403,当宿主程序处于运行状态时,预缓存候选小程序的小程序数据。
步骤404,接收小程序开启指令,小程序开启指令用于指示开启目标小程序。
上述步骤403至404的实施方式可以参考上述步骤202至203,本实施例在此不再赘述。
步骤405,响应于目标小程序属于候选小程序,且存在目标小程序对应的实例缓存,通过加载实例缓存热启动目标小程序。
小程序由前台运行状态转换为后台运行状态后,宿主程序将会保持小程序的实例缓存,当超过一定时长,或内存警告时,宿主程序将会清除实例缓存。若在实例缓存期间再次开启小程序,宿主程序可以直接加载该实例缓存,实现小程序热启动。因此,当接收到小程序开启指令,且目标小程序属于候选小程序时,目标设备进一步检测是否存在目标小程序对应的实例缓存,若存在,表明目标小程序处于后台运行状态,只需要将目标小程序调度至前台即可实现目标小程序热启动。
在一种可能的实施方式中,由于实例缓存可能并非对应目标小程序的最新版本,因此目标设备可以检测实例缓存对应的小程序版本是否低于目标小程序数据对应的小程序版本,若低于,则清除实例缓存并加载目标小程序数据,若等于,加载实例缓存热启动目标小程序。
步骤406,响应于目标小程序属于候选小程序,且不存在目标小程序对应的实例缓存,加载目标小程序对应的目标小程序数据。
当目标设备未检测到目标小程序对应的实例缓存时,表明目标小程序未开启,因此目标设备需要加载小程序数据以进行小程序冷启动。本步骤的实施方式可以参考上述步骤204,本实施例在此不再赘述。
步骤407,根据目标小程序数据冷启动目标小程序。
本步骤的实施方式可以参考上述步骤205,本实施例在此不再赘述。
在一种可能的应用场景下,设备投放方可以通过配置平台,调整设备中宿主程序所运行的小程序,相应的,设备需要清除预缓存的小程序数据,并重新进行缓存。在一种可能的实施方式中,在图4的基础上,如图5所示,步骤401可以被替换为步骤4011,步骤403可以被替换为步骤4031和步骤403。
步骤4011,按照第一频率向配置平台发送配置获取请求。
为了能够及时获取到更新后的小程序配置信息,目标设备按照第一频率向配置平台发送配置获取请求。其中,该第一频率可以由配置平台默认设置,也可以由目标设备自定义。比如,该第一频率为5分钟/次。
当然,除了通过发送配置获取请求这一方式更新小程序配置信息外,在其他可能的实施方式中,目标设备还可以与配置平台保持心跳连接,并通过心跳连接接收配置平台下发的小程序配置信息。
步骤4031,响应于小程序配置信息与历史配置信息相同,按照第二频率预缓存历史配置信息中候选小程序的小程序数据,第一频率高于第二频率。
可选的,目标设备会对最近一次接收到的小程序配置信息进行存储,当接收到最新的小程序配置信息后,目标设备即检测小程序配置信息与历史配置信息是否相同,若相同,表明为目标设备配置的小程序未发生变化,从而按照第二频率进行小程序数据预缓存。
其中,第二频率可以由配置平台默认设置,也可以由目标设备自定义,且第二频率低于第一频率(由于小程序更新的频率较低)。比如,第二频率为3小时/次。
步骤4032,响应于小程序配置信息与历史配置信息不同,预缓存小程序配置信息中候选小程序的小程序数据。
可选的,当小程序配置信息与历史配置信息不同时,由于预缓存的小程序数据可能无法继续使用,因此目标设备需要立即对小程序配置信息中的候选小程序进行数据预缓存。
可选的,目标设备在预缓存小程序数据前,清除已缓存的小程序数据。
在一种可能的实施方式中,为了降低预缓存数据量,目标设备确定小程序配置信息与历史配置信息中的交集小程序,并保留交集小程序的小程序数据,仅对非交集小程序进行清除(属于历史配置信息,而不属于小程序配置信息)或重新预缓存(属于小程序配置信息,而不属于历史配置信息)。
比如,目标设备接收到的小程序配置信息中包含小程序B和小程序C,而历史配置信息中包含小程序A和小程序B。目标设备即清除小程序A的小程序数据,保留小程序B的小程序数据,并对小程序C的小程序数据进行预加载。
需要说明的是,在配置的小程序发生变更的情况下完成数据预缓存后,目标设备将重新按照第二频率进行数据预缓存。
上述实施例中以目标设备按照固定频率进行数据预缓存为例进行说明。在一种可能的实施方式中,目标设备可以对小程序的使用频率进行统计,并根据使用频率动态调整小程序的预缓存频率,保证高使用频率小程序的更新及时性。
可选的,目标设备获取各个候选小程序的使用频率,并根据使用频率确定各个候选小程序对应的预缓存频率,从而根据预缓存频率进行小程序数据缓存。其中,预缓存频率与使用频率呈正相关关系。
比如,候选小程序A的使用频率为20次/小时,候选小程序B的使用频率为3次/小时,目标设备根据将候选小程序A的预缓存频率设置为1小时/次,将候选小程序B的预缓存频率设置为3小时/次。
本实施例中,目标设备通过检测当前小程序配置信息与历史配置信息是否相同,确定是否需要立即进行小程序数据预缓存,保证为目标设备配置的小程序发生变更时,能够及时更新缓存的小程序数据,提高后续新配置小程序的冷启动速度。
在一种可能的场景下,若候选小程序在短时间内进行了多次版本更新,若目标设备仍旧按照固定频率进行预缓存,可能会出现用户长时间无法使用最新版本小程序的问题。为了解决上述问题,在一种可能的实施方式中,如图6所示,步骤202、403、4031或4032之后,还可以包括如下步骤。
步骤601,获取相邻两次预缓存时候选小程序的版本信息。
在一种可能的实施方式中,每次进行预缓存后,目标设备获取相邻两次预缓存时候选小程序的版本信息,并通过比较两个版本信息,得到相邻两次预缓存期间候选小程序的版本更新次数。
可选的,目标设备通过计算版本号的差值确定版本更新次数。比如,第n(n≥1)次预缓存时候选小程序的版本号为1.1,而第n+1次预缓存时候选小程序的版本号为1.3,目标设备确定版本更新次数为2次。
步骤602,响应于版本信息指示版本更新次数高于第一次数阈值,上调预缓存频率,上调后的预缓存频率高于上调前的预缓存频率。
当相邻两次预缓存期间候选小程序的版本更新次数高于第一次数阈值时,为了提高缓存到最新版本小程序对应小程序数据的概率,目标设备上调预缓存频率。
示意性的,如图7所示,比如,第n次预缓存与第n+1次预缓存期间,候选小程序的版本更新次数为3次(大于2次),因此目标设备将预缓存频率由3小时/次上调为2小时/次。
可选的,预缓存频率的上调幅度可以根据版本更新次数确定,比如,上调幅度与版本更新次数呈正相关关系。
在其他可能的实施方式中,当版本信息指示版本更新次数大于第三次数阈值(第三次数阈值大于第二次数阈值)时,目标设备恢复传统的冷启动流程(即在接收到小程序开启指令时进行实时数据下载)。
步骤603,响应于版本信息指示版本更新次数小于第二次数阈值,下调预缓存频率,下调后的预缓存频率低于下调前的预缓存频率。
当相邻两次预缓存期间候选小程序的版本更新次数小于第二次数阈值时,为了避免频繁预缓存造成处理资源浪费,目标设备下调预缓存频率。
示意性的,如图7所示,比如,第n+1次预缓存与第n+2次预缓存期间,候选小程序的版本更新次数为1次(小于2次),因此目标设备将预缓存频率由2小时/次下调为3小时/次。
可选的,预缓存频率的下调幅度可以根据版本更新次数确定,比如,下调幅度与版本更新次数呈负相关关系。
本实施例中,目标设备通过统计相邻两次预缓存期间内小程序的版本更新次数,并根据版本更新次数动态调整预缓存频率,提高小程序频繁更新期间的预缓存频率,提高用户使用到最新版本小程序的概率。
图8是本申请一个示例性实施例提供的小程序启动装置的结构框图,该装置包括:
确定模块801,用于确定宿主程序中待启动的候选小程序;
预缓存模块802,用于当所述宿主程序处于运行状态时,预缓存所述候选小程序的小程序数据,所述小程序数据是小程序冷启动阶段所要加载的数据;
接收模块803,用于接收小程序开启指令,所述小程序开启指令用于指示开启目标小程序;
加载模块804,用于响应于所述目标小程序属于所述候选小程序,加载所述目标小程序对应的目标小程序数据;
第一启动模块805,用于根据所述目标小程序数据冷启动所述目标小程序。
可选的,确定模块801,包括:
请求发送单元,用于向配置平台发送配置获取请求,所述配置平台用于为不同设备配置所述宿主程序中待启动的所述候选小程序;
接收单元,用于接收所述配置平台发送的小程序配置信息,所述小程序配置信息中包含所述候选小程序的小程序标识。
可选的,请求发送单元,用于:
按照第一频率向所述配置平台发送所述配置获取请求;
所述预缓存模块802,用于:
响应于所述小程序配置信息与历史配置信息相同,按照第二频率预缓存所述历史配置信息中所述候选小程序的小程序数据,所述第一频率高于所述第二频率。
可选的,预缓存模块802,还用于:
响应于所述小程序配置信息与所述历史配置信息不同,预缓存所述小程序配置信息中所述候选小程序的小程序数据。
可选的,所述配置获取请求中包含所述目标设备的设备标识;或,
所述目标设备所属设备簇的簇标识,其中,同一设备簇中各个设备对应相同小程序配置信息。
可选的,加载模块804,用于:
响应于所述目标小程序属于所述候选小程序,且不存在所述目标小程序对应的实例缓存,加载所述目标小程序对应的所述目标小程序数据;
所述装置还包括:
第二启动模块,用于响应于所述目标小程序属于所述候选小程序,且存在所述目标小程序对应的所述实例缓存,通过加载所述实例缓存热启动所述目标小程序。
可选的,所述装置还包括:
第一获取模块,用于获取各个所述候选小程序的使用频率;
频率确定模块,用于根据所述使用频率确定各个所述候选小程序对应的预缓存频率,其中,所述预缓存频率与所述使用频率呈正相关关系。
可选的,所述装置还包括:
第二获取模块,用于获取相邻两次预缓存时所述候选小程序的版本信息;
第一调整模块,用于响应于所述版本信息指示版本更新次数高于第一次数阈值,上调所述预缓存频率,上调后的预缓存频率高于上调前的预缓存频率;
第二调整模块,用于响应于所述版本信息指示版本更新次数小于第二次数阈值,下调所述预缓存频率,下调后的预缓存频率低于下调前的预缓存频率。
本申请实施例中,通过确定宿主程序中待启动的候选小程序,在宿主程序处于运行状态时,对候选小程序的小程序数据进行预缓存,后续接收到对候选小程序中目标小程序的开启指令时,由于已预缓存目标小程序对应的目标小程序数据,因此目标设备可以直接加载目标小程序数据并冷启动目标小程序,无需通过网络实时下载,避免因网络环境复杂导致数据下载耗时过长,导致小程序冷启动速度过慢的问题,有助于提高宿主程序中小程序的冷启动速度。
需要说明的是,上述小程序启动装置中模块仅为示意性说明,其可以划分为更多功能模块,以实现上述各个实施例提供的小程序启动方法,本实施例对此不作限定。
请参考图9,其示出了本申请一个示例性实施例提供的计算机设备的结构示意图。具体来讲:所述计算机设备900包括中央处理单元(Central Processing Unit,CPU)901、包括随机存取存储器902和只读存储器903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。所述计算机设备900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)906,和用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备907。
所述基本输入/输出系统906包括有用于显示信息的显示器908和用于用户输入信息的诸如鼠标、键盘之类的输入设备909。其中所述显示器908和输入设备909都通过连接到系统总线905的输入输出控制器910连接到中央处理单元901。所述基本输入/输出系统906还可以包括输入输出控制器910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器910还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。所述大容量存储设备907及其相关联的计算机可读介质为计算机设备900提供非易失性存储。也就是说,所述大容量存储设备907可以包括诸如硬盘或者驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括随机存取记忆体(RAM,Random Access Memory)、只读存储器(ROM,Read Only Memory)、闪存或其他固态存储其技术,只读光盘(Compact Disc Read-Only Memory,CD-ROM)、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元901执行,一个或多个程序包含用于实现上述方法的指令,中央处理单元901执行该一个或多个程序实现上述各个方法实施例提供的方法。
根据本申请的各种实施例,所述计算机设备900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备900可以通过连接在所述系统总线905上的网络接口单元911连接到网络912,或者说,也可以使用网络接口单元911来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的方法中由计算机设备所执行的步骤。
本领域技术人员可以理解,图9中示出的结构并不构成对计算机设备900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述任一实施例所述的小程序启动方法。
本申请还提供了一种计算机程序产品,当计算机程序产品在计算机设备上运行时,使得计算机执行上述各个方法实施例提供的小程序启动方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种小程序启动方法,其特征在于,所述方法用于安装运行有宿主程序的目标设备,所述宿主程序用于为小程序提供运行环境,所述方法包括:
确定所述宿主程序中待启动的候选小程序;
当所述宿主程序处于运行状态时,预缓存所述候选小程序的小程序数据,所述小程序数据是小程序冷启动阶段所要加载的数据;
接收小程序开启指令,所述小程序开启指令用于指示开启目标小程序;
响应于所述目标小程序属于所述候选小程序,加载所述目标小程序对应的目标小程序数据;
根据所述目标小程序数据冷启动所述目标小程序。
2.根据权利要求1所述的方法,其特征在于,所述确定所述宿主程序中待启动的候选小程序,包括:
向配置平台发送配置获取请求,所述配置平台用于为不同设备配置所述宿主程序中待启动的所述候选小程序;
接收所述配置平台发送的小程序配置信息,所述小程序配置信息中包含所述候选小程序的小程序标识。
3.根据权利要求2所述的方法,其特征在于,所述向配置平台发送配置获取请求,包括:
按照第一频率向所述配置平台发送所述配置获取请求;
所述预缓存所述候选小程序的小程序数据,包括:
响应于所述小程序配置信息与历史配置信息相同,按照第二频率预缓存所述历史配置信息中所述候选小程序的小程序数据,所述第一频率高于所述第二频率。
4.根据权利要求3所述的方法,其特征在于,所述预缓存所述候选小程序的小程序数据,还包括:
响应于所述小程序配置信息与所述历史配置信息不同,预缓存所述小程序配置信息中所述候选小程序的小程序数据。
5.根据权利要求2所述的方法,其特征在于,所述配置获取请求中包含所述目标设备的设备标识;或,
所述目标设备所属设备簇的簇标识,其中,同一设备簇中各个设备对应相同小程序配置信息。
6.根据权利要求1至5任一所述的方法,其特征在于,所述响应于所述目标小程序属于所述候选小程序,加载所述目标小程序对应的目标小程序数据,包括:
响应于所述目标小程序属于所述候选小程序,且不存在所述目标小程序对应的实例缓存,加载所述目标小程序对应的所述目标小程序数据;
所述方法还包括:
响应于所述目标小程序属于所述候选小程序,且存在所述目标小程序对应的所述实例缓存,通过加载所述实例缓存热启动所述目标小程序。
7.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
获取各个所述候选小程序的使用频率;
根据所述使用频率确定各个所述候选小程序对应的预缓存频率,其中,所述预缓存频率与所述使用频率呈正相关关系。
8.根据权利要求7所述的方法,其特征在于,所述当所述宿主程序处于运行状态时,预缓存所述候选小程序的小程序数据之后,所述方法还包括:
获取相邻两次预缓存时所述候选小程序的版本信息;
响应于所述版本信息指示版本更新次数高于第一次数阈值,上调所述预缓存频率,上调后的预缓存频率高于上调前的预缓存频率;
响应于所述版本信息指示版本更新次数小于第二次数阈值,下调所述预缓存频率,下调后的预缓存频率低于下调前的预缓存频率。
9.一种小程序启动装置,其特征在于,所述装置包括:
确定模块,用于确定宿主程序中待启动的候选小程序;
预缓存模块,用于当所述宿主程序处于运行状态时,预缓存所述候选小程序的小程序数据,所述小程序数据是小程序冷启动阶段所要加载的数据;
接收模块,用于接收小程序开启指令,所述小程序开启指令用于指示开启目标小程序;
加载模块,用于响应于所述目标小程序属于所述候选小程序,加载所述目标小程序对应的目标小程序数据;
第一启动模块,用于根据所述目标小程序数据冷启动所述目标小程序。
10.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至8任一项所述的小程序启动方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至8任一项所述的小程序启动方法。
12.一种小程序系统,其特征在于,所述系统包括计算机设备、配置平台和小程序服务器,所述计算机设备分别与所述配置平台和所述小程序服务器建立数据连接;
所述计算机设备中安装运行有宿主程序,所述宿主程序用于为小程序提供运行环境;
所述配置平台用于为所述宿主程序提供服务,所述小程序服务器用于为所述宿主程序中运行的小程序提供服务;
所述计算机设备用于实现如权利要求1至8任一所述的小程序启动方法。
CN202010354360.7A 2020-04-29 2020-04-29 小程序启动方法、装置、设备及存储介质 Pending CN113656087A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010354360.7A CN113656087A (zh) 2020-04-29 2020-04-29 小程序启动方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010354360.7A CN113656087A (zh) 2020-04-29 2020-04-29 小程序启动方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113656087A true CN113656087A (zh) 2021-11-16

Family

ID=78488629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010354360.7A Pending CN113656087A (zh) 2020-04-29 2020-04-29 小程序启动方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113656087A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114398094A (zh) * 2021-12-21 2022-04-26 中国银联股份有限公司 小程序启动方法、装置、设备及计算机可读存储介质
CN114895974A (zh) * 2022-04-24 2022-08-12 支付宝(杭州)信息技术有限公司 小程序打开速度的提升方法和装置
CN114924807A (zh) * 2022-04-28 2022-08-19 支付宝(杭州)信息技术有限公司 小程序运行速度的提升方法和装置
WO2023178924A1 (zh) * 2022-03-24 2023-09-28 中国银联股份有限公司 支付方法、用户终端、装置、设备、系统及介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114398094A (zh) * 2021-12-21 2022-04-26 中国银联股份有限公司 小程序启动方法、装置、设备及计算机可读存储介质
CN114398094B (zh) * 2021-12-21 2023-08-18 中国银联股份有限公司 小程序启动方法、装置、设备及计算机可读存储介质
WO2023178924A1 (zh) * 2022-03-24 2023-09-28 中国银联股份有限公司 支付方法、用户终端、装置、设备、系统及介质
CN114895974A (zh) * 2022-04-24 2022-08-12 支付宝(杭州)信息技术有限公司 小程序打开速度的提升方法和装置
CN114895974B (zh) * 2022-04-24 2024-03-26 支付宝(杭州)信息技术有限公司 小程序打开速度的提升方法和装置
CN114924807A (zh) * 2022-04-28 2022-08-19 支付宝(杭州)信息技术有限公司 小程序运行速度的提升方法和装置
CN114924807B (zh) * 2022-04-28 2023-12-01 支付宝(杭州)信息技术有限公司 小程序运行速度的提升方法和装置

Similar Documents

Publication Publication Date Title
CN113656087A (zh) 小程序启动方法、装置、设备及存储介质
US11146502B2 (en) Method and apparatus for allocating resource
WO2019174595A1 (zh) 资源配置方法、装置、终端及存储介质
US9871756B1 (en) Methods for displaying notifications
US9183072B1 (en) Error troubleshooting using a correlated knowledge base
US20170078160A1 (en) Method for processing services and electronic device for the same
CN109327490B (zh) 一种部署云服务组件的方法和服务器
CN107423128B (zh) 信息处理方法及其系统
CN111008032A (zh) 一种页面数据更新方法及装置
US11297156B1 (en) System for processing data using distributed messaging system and data processing method thereof
CN110113176B (zh) 用于配置服务器的信息同步方法及装置
US11272356B2 (en) Nomination of a primary cell phone from a pool of cell phones
US11709685B2 (en) System and method for leveraging a persistent enhanced notification via a software development kit
EP3374860B1 (en) Communicating information about an update of an application
CN112182400B (zh) 消息处理方法、消息处理装置、电子设备及存储介质
US11258838B2 (en) Method, system, and non-transitory computer readable record medium for processing chatroom based on usage
CN113934437A (zh) 云手机安装应用的方法、系统和客户端云手机
CN111580882B (zh) 应用程序启动方法、装置、计算机系统和介质
CN115004667A (zh) 信息推送方法、装置、电子设备及计算机可读介质
US11977922B2 (en) Resource reuse for pipeline workloads
CN112861041B (zh) 一种媒体内容的展示方法、装置、电子设备及存储介质
CN116089020B (zh) 虚拟机运行方法、扩容方法、扩容系统
CN117883789B (zh) 数据获取方法、装置、设备、可读存储介质及程序产品
CN113835733B (zh) 云应用更新方法、装置、电子设备以及存储介质
US20230401095A1 (en) Intelligent autostopping of resources in computing environments

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: 40055292

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination