CN110333912B - 一种小程序数据预取的方法、装置及计算机可读存储介质 - Google Patents
一种小程序数据预取的方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110333912B CN110333912B CN201910625169.9A CN201910625169A CN110333912B CN 110333912 B CN110333912 B CN 110333912B CN 201910625169 A CN201910625169 A CN 201910625169A CN 110333912 B CN110333912 B CN 110333912B
- Authority
- CN
- China
- Prior art keywords
- applet
- server
- prefetched
- materials
- prefetch
- 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
Images
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提出一种小程序数据预取的方法、装置及计算机可读存储介质,其中方法包括:接收来自于第一服务器的小程序的预取物料的地址;向与所述地址对应的第二服务器发送预取请求;接收所述第二服务器返回的所述预取物料;加载所述小程序的框架;在调用所述小程序的生命周期函数的过程中加载所述预取物料。在小程序启动前预先获取预取物料,在小程序被访问时,从客户端缓存中调取预取物料。此外,调取的步骤可以和加载所述小程序的框架的步骤并行,从而提高小程序的开启速度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种小程序数据预取的方法、装置及计算机可读存储介质。
背景技术
小程序可以包括不需要下载安装即可使用的应用。在设备已经安装的应用中可以嵌入小程序。
在小程序启动的过程一般包括,先加载小程序的框架,调用小程序的生命周期,在一个生命周期后获取物料。该物料可以包括小程序被开启后的首屏渲染数据。即,小程序的业务请求数据被封装在小程序内部业务逻辑中。并且预取的物料是小程序宿主应用定制的,不支持开发者的自定义预取。小程序宿主应用可以是展示小程序入口的应用,通过在小程序宿主点击小程序入口,触发小程序启动。由于无法破壳获取对小程序业务请求,因此无法做到对小程序物料的预取。需要小程序开发者在用户打开小程序的相关生命周期事件回调中方可调用,时机相对较晚,用户感知明显。
因此,小程序的启动过程是串行的过程,导致小程序启动速度慢,用户体验不好。
发明内容
本发明实施例提供一种小程序数据预取的方法、装置及计算机可读存储介质,以解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种小程序数据预取的方法,包括:
接收来自于第一服务器的小程序的预取物料的地址;
向与所述地址对应的第二服务器发送预取请求;
接收所述第二服务器返回的所述预取物料;
加载所述小程序的框架;
在调用所述小程序的生命周期函数的过程中加载所述预取物料。
在一种实施方式中,还包括:
接收来自第一服务器的小程序的预取物料的配置参数,所述配置参数用于划定在预取物料的地址中需要下载的预取物料;
向与所述地址对应的第二服务器发送预取请求中包括所述预取物料的配置参数;
接收所述第二服务器返回的与所述预取物料的配置参数对应的预取物料。
在一种实施方式中,还包括:
接收来自于所述第一服务器的所述小程序的卡片数据;
根据所述小程序的卡片数据显示所述小程序的卡片。
在一种实施方式中,所述向与所述地址对应的第二服务器发送预取请求,包括:
响应于对所述小程序的卡片的点击操作,向所述第二服务器发送所述预取请求。
在一种实施方式中,所述向与所述地址对应的第二服务器发送预取请求,包括:
在显示所述小程序的卡片的情况下,向所述第二服务器发送所述预取请求。
在一种实施方式中,加载所述小程序的框架,包括:
响应于对所述小程序的卡片的点击操作,产生访问指令;
响应于所述访问指令加载所述小程序的框架。
在一种实施方式中,还包括:
在数据库中,根据各所述小程序的标识信息,将所述小程序的预取物料采用沙箱隔离的方式存储至数据库。
第二方面,本发明实施例提供了一种小程序数据预取的装置,包括:
地址接收模块,用于接收来自于第一服务器的小程序的预取物料的地址;
预取请求发送模块,用于向与所述地址对应的第二服务器发送预取请求;
预取物料接收模块,用于接收所述第二服务器返回的所述预取物料;
框架加载模块,用于加载所述小程序的框架;
预取物料加载模块,用于在调用所述小程序的生命周期函数的过程中加载所述预取物料。
在一种实施方式中,还包括:
配置参数接收模块,用于接收来自第一服务器的小程序的预取物料的配置参数,所述配置参数用于划定在预取物料的地址中需要下载的预取物料;
所述预取请求发送模块向与所述地址对应的第二服务器发送预取请求中包括所述预取物料的配置参数;
所述预取物料接收模块接收所述第二服务器返回的所述预取物料中包括与所述预取物料的配置参数对应的预取物料。
在一种实施方式中,还包括:
卡片数据接收模块,用于接收来自于所述第一服务器的所述小程序的卡片数据;
卡片显示模块,用于根据所述小程序的卡片数据显示所述小程序的卡片。
在一种实施方式中,所述预取请求发送模块,包括:
预取请求第一发送子模块,用于响应于对所述小程序的卡片的点击操作,向所述第二服务器发送所述预取请求。
在一种实施方式中,所述预取请求发送模块,包括:
预取请求第二发送子模块,用于在显示所述小程序的卡片的情况下,向所述第二服务器发送所述预取请求。
在一种实施方式中,所述框架加载模块,包括:
访问指令产生子模块,用于响应于对所述小程序的卡片的点击操作,产生访问指令;
加载执行子模块,用于响应于所述访问指令加载所述小程序的框架。
在一种实施方式中,还包括:
存储模块,用于在数据库中,根据各所述小程序的标识信息,将所述小程序的预取物料采用沙箱隔离的方式存储至数据库。
第三方面,本发明实施例提供了一种小程序数据预取的装置,所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述装置的结构中包括处理器和存储器,所述存储器用于存储支持所述装置执行上述小程序数据预取的方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述装置还可以包括通信接口,用于与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储小程序数据预取的装置所用的计算机软件指令,其包括用于执行上述小程序数据预取的方法所涉及的程序。
上述技术方案中的一个技术方案具有如下优点或有益效果:在小程序启动前预取物料,在小程序被访问时,从客户端缓存中调取预取物料。此外,调取的步骤可以和加载所述小程序的框架的步骤并行,从而提高小程序的开启速度。
上述技术方案中的另一个技术方案具有如下优点或有益效果:通过预取物料的配置参数对预取的物料进行约束,以实现在预取物料时,可以根据开发者的意图从全部可预取的物料中进行自由配置,从而支持开发者根据投放场景灵活配置预取物料。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1示出根据本发明实施例的小程序数据预取的方法的流程图。
图2示出根据本发明实施例的小程序数据预取的方法的流程图。
图3示出根据本发明实施例的小程序数据预取的方法的流程图。
图4示出根据本发明实施例的小程序数据预取的方法的流程图。
图5示出根据本发明实施例的小程序数据预取的方法的流程图。
图6示出根据本发明实施例的小程序数据预取的方法的流程图。
图7示出根据本发明实施例的小程序数据预取的装置的结构框图。
图8示出根据本发明实施例的小程序数据预取的装置的结构框图。
图9示出根据本发明实施例的小程序数据预取的装置的结构框图。
图10示出根据本发明实施例的小程序数据预取的装置的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1示出根据本发明实施例的小程序数据预取的方法的流程图。如图1所示,该方法包括以下步骤:
S101:接收来自于第一服务器的小程序的预取物料的地址。
小程序的开发者可以在开发者平台配置小程序的预取物料的地址。预取物料的地址可以是统一资源定位符(URL,Uniform Resource Locator),作为预取物料的下载链接。通过开发者平台可以向第一服务器上传小程序的预取物料的地址。
S102:向与所述地址对应的第二服务器发送预取请求。
客户端基于预取物料的地址向第二服务器发起预取请求。第二服务器可以是开发者服务器或第三方服务器等。
S103:接收所述第二服务器返回的所述预取物料。
第二服务器响应客户端的预取请求,将预取物料下发给客户端。在预取请求仅包括小程序的预取物料的地址的情况下,第二服务器将该预取物料的地址中的所有预取物料下发给客户端。预取物料可以包括小程序被开启后的首屏渲染数据。首屏渲染数据可以是包括文字信息、图片数据或视频数据的首屏渲染数据,也可以是纯文字信息的首屏渲染数据。
S104:加载所述小程序的框架。
小程序在接收到访问指令后,其启动过程包括加载小程序的框架。在加载完成后调用小程序的生命周期函数,在生命周期函数执行的过程中将预取物料加载至所述小程序的页面。小程序的框架可以是小程序生命周期函数的架构,即小程序是运行在小程序框架上的,小程序的生命周期函数在小程序的框架加载完毕后触发。小程序的生命周期函数可以包括onLaunch、onShow、onHide等生命周期函数。例如,生命周期函数onLaunch用于监听小程序初始化,当小程序初始化完成时,会触发生命周期函数onLaunch。生命周期函数onShow用于监听小程序显示,当小程序启动,或者从后台进入前台显示时,会触发生命周期函数onShow。生命周期函数onHide用于监听小程序隐藏,当小程序从前台进入后台,会触发生命周期函数onHide。
S105:在调用所述小程序的生命周期函数的过程中加载所述预取物料
上述实施方式可以在小程序启动前预取物料,在小程序被访问时,从客户端缓存中调取预取的物料。此外,调取的步骤可以和加载所述小程序的框架的步骤并行,从而提高小程序的开启速度。
如图2所示,在一种实施方式中,该方法还包括:
S201:接收来自第一服务器的小程序的预取物料的配置参数。
小程序的开发者在开发者平台配置小程序的预取物料的配置参数。预取物料的配置参数用于划定在预取物料的地址中需要下载的预取物料。预取物料的配置参数可以是静态数据描述,采用可扩展标记语言(xml)或轻量级的数据交换格式(json)。开发者可以基于不同场景调整预取物料的配置参数,从而灵活调整需要下载的预取物料。例如XX小程序被打开时,其展示页中可以包括文字、若干幅图片和一段视频等预取物料。基于不同场景调整预取物料的配置参数,以实现对不同物料的预取。可以预制多套配置参数,以分别适配不同场景。例如在4G场景下采用小程序的第一套配置参数,仅获取纯文字信息的首屏渲染数据,在WiFi场景下采用小程序的第二套配置参数,获取包括文字信息、图片数据或视频数据的首屏渲染数据。
S202:向与所述地址对应的第二服务器发送预取请求中包括所述预取物料的配置参数。
在预取请求包括小程序的预取物料的地址和预取物料的配置参数的情况下,第二服务器可以根据预取物料的配置参数选择对应的预取物料下发给客户端。
S203:接收所述第二服务器返回的与所述预取物料的配置参数对应的预取物料。
上述实施方式通过预取物料的配置参数对预取的物料进行约束,以实现在预取物料时,可以根据开发者的意图从全部可预取的物料中进行自由配置,从而支持开发者根据投放场景灵活配置预取物料。摆脱了预取物料只能是小程序宿主平台定制,不支持开发者的自定义预取的缺陷,同时避免了资源浪费。
如图3所示,在一种实施方式中,该方法还包括:
S301:接收来自于所述第一服务器的所述小程序的卡片数据。
小程序的开发者在开发者平台配置小程序的卡片数据。客户端接收到小程序的卡片数据后,可以在客户端的Feed流场景或搜索场景中通过卡片的形式展示小程序内容。Feed流可以包括持续更新并呈现给用户内容的信息流。
S302:根据所述小程序的卡片数据显示所述小程序的卡片。
小程序的卡片中可以展示小程序的动态(或静态)示意图和文字提要等信息。另外,小程序的卡片还作为小程序的访问入口。例如,如果小程序的卡片被点击,可以触发小程序的启动。在一种实施方式中,小程序的入口还可以是信息条弹窗形式、或者弹幕的形式等。
上述实施方式通过小程序的卡片作为小程序的入口。由于小程序的卡片可以展示小程序内容的动态(或静态)示意图和文字提要等信息,相比于信息条弹窗或者弹幕等方式,可以更为直观的显示小程序的内容。
在一种实施方式中,可以将卡片数据、预取物料的地址和预取物料的配置参数一起发送给客户端。也可以按照一定的次序发送给客户端。例如,先发送卡片数据,等待客户端发来获取请求后,再向客户端发送预取物料的地址和预取物料的配置参数等。还可以只发送预取物料的地址,或只发送卡片数据和预取物料的地址的集合等。
在客户端显示小程序的卡片后,进行数据预取的方式示例如下:
方式一:点击卡片触发预取
在该方式中,步骤S102包括:响应于对所述小程序的卡片的点击操作,向所述第二服务器发送所述预取请求。
在用户点击小程序的卡片后,小程序被访问。响应于小程序被点击的操作可以产生触发指令,加载被访问小程序的框架,并向第二服务器发送所述预取请求。在小程序的框架加载完成后,可以调用小程序的生命周期函数,将预取物料加载至小程序的页面。
与加载被访问小程序的框架并行执行的步骤可以包括基于小程序的预取物料的地址向第二服务器发起预取请求。在接收到所述第二服务器返回的所述预取物料后,在调用所述小程序的生命周期函数的过程中加载所述预取物料。
方式二:显示卡片后自动预取
在该方式中,步骤S102包括:在显示所述小程序的卡片的情况下,向所述第二服务器发送所述预取请求。
客户端接收到第一服务器的发送的小程序的卡片数据、预取物料的地址和预取物料的配置参数。在客户端的Feed流场景或搜索场景中展示小程序的卡片。以小程序的卡片被展示为触发指令,基于预取物料的地址向第二服务器发起预取请求。在接收到所述第二服务器返回的预取物料后,将其缓存。等待用户点击小程序的卡片,在用户点击小程序的卡片的情况下,加载被访问小程序的框架。与加载被访问小程序的框架并行执行的步骤包括读取缓存的预取物料。在调用所述小程序的生命周期函数的过程中加载预取物料。
在缓存的对象包括多个小程序的预取物料的情况下,可以利用用户点击的小程序的标识信息,在缓存的多个小程序的预取物料中进行匹配查询。标识信息可以是小程序的卡片、预取物料所具有的相同信息。例如小程序的ID信息或者预取物料的地址信息等。
上述两个方式的差别在于向第二服务器发起预取请求的时机不同。基于时机不同,会造成命中率和小程序开启速度的差异。
例如客户端在Feed流场景或搜索场景中展示了小程序A和小程序B。在小程序A被点击前,已经向第二服务器发起预取请求并获取到了预取物料。而小程序B在被点击前并未向第二服务器发起预取请求。最终用户点击了小程序B,此时小程序A便处于未命中状态。由于小程序B在点击前未进行预取,则小程序B基于点击动作触发向第二服务器发起预取请求。如果小程序在被点击前已经向第二服务器发起预取请求,那么在小程序被点击时,其开启的速度最快。反之在小程序被点击时向第二服务器发起预取请求,则小程序的命中率最高。
在获取小程序的预取物料之后,也可以通过点击卡片的方式加载小程序的框架。如图4所示,在一种实施方式中,步骤S104包括:
S401:响应于对所述小程序的卡片的点击操作,产生访问指令。
S402:响应于所述访问指令加载所述小程序的框架。
在一种实施方式中,为了实现不同小程序的预取物料存储在不同的存储空间中,互不干扰,该方法还包括:
在数据库中,根据各所述小程序的标识信息,将所述小程序的预取物料采用沙箱隔离的方式存储至数据库。
沙箱隔离的方式可以包括:将各小程序的预取物料分别存储在一个隔离的空间内,采用沙箱隔离存储的预取物料只可进行读操作而不可进行写操作,从而避免与其他小程序预取物料的交叉影响。
如图5、图6所示,在一种实施方式中,小程序数据预取的方法还可以包括以下流程:
S501:小程序开发者通过开发者平台设置小程序的卡片数据、预取物料的地址和预取物料的配置参数,上传到第一服务器,例如云端的服务器。
S502:第一服务器将小程序的卡片数据、预取物料的地址和预取物料的配置参数下发至客户端。
S503:客户端在Feed流或客户端的搜索场景中展示小程序的卡片,调取小程序预取工作器。调取小程序预取工作器的信息中可以包括预取物料的地址和预取物料的配置参数。
例如,图6中被圈中的内容为客户端在Feed流展示小程序的卡片的示例。
S504:小程序预取工作器获取预取物料的地址和预取物料的配置参数。
S505:小程序预取工作器根据预取物料的地址向第二服务器发起预取请求。该预取请求可以为包括小程序的配置参数的预取请求。
S506:接收第二服务器返回的预取物料。
S507:根据小程序的唯一标识对预取物料进行沙箱隔离。保证不同小程序的预取物料存储在不同的存储空间中,互不干扰。
S508:小程序启动后,优先从存储空间中获取预取物料,在命中的情况下加载预取物料。
图7示出根据本发明实施例的小程序数据预取的装置的结构框图。如图7所示,该装置包括:
地址接收模块701,用于接收来自于第一服务器的小程序的预取物料的地址。
预取请求发送模块702,用于向与所述地址对应的第二服务器发送预取请求。
预取物料接收模块703,用于接收所述第二服务器返回的所述预取物料。
框架加载模块704,用于加载所述小程序的框架。
预取物料加载模块705,用于在调用所述小程序的生命周期函数的过程中加载所述预取物料。
在一种实施方式中,该装置还包括:
配置参数接收模块,用于接收来自第一服务器的小程序的预取物料的配置参数,所述配置参数用于划定在预取物料的地址中需要下载的预取物料。
所述预取请求发送模块702向与所述地址对应的第二服务器发送预取请求中包括所述预取物料的配置参数。
所述预取物料接收模块703接收所述第二服务器返回的所述预取物料中包括与所述预取物料的配置参数对应的预取物料。
如图8所示,在一种实施方式中,该装置还包括:
卡片数据接收模块801,用于接收来自于所述第一服务器的所述小程序的卡片数据。
卡片显示模块802,用于根据所述小程序的卡片数据显示所述小程序的卡片。
在一种实施方式中,所述预取请求发送模块702包括:
预取请求第一发送子模块,用于响应于对所述小程序的卡片的点击操作,向所述第二服务器发送所述预取请求。
在一种实施方式中,所述预取请求发送模块702包括:
预取请求第二发送子模块,用于在显示所述小程序的卡片的情况下,向所述第二服务器发送所述预取请求。
如图9所示,在一种实施方式中,所述框架加载模块704包括:
访问指令产生子模块7041,用于响应于对所述小程序的卡片的点击操作,产生访问指令;
加载执行子模块7042,用于响应于所述访问指令加载所述小程序的框架。
在一种实施方式中,该装置还包括存储模块,用于在数据库中,根据各所述小程序的标识信息,将所述小程序的预取物料采用沙箱隔离的方式存储至数据库。
图10示出根据本发明实施例的小程序数据预取的装置的结构框图。如图10所示,该装置包括:存储器1010和处理器1020,存储器1010内存储有可在处理器1020上运行的计算机程序。所述处理器1020执行所述计算机程序时实现上述实施例中的小程序数据预取的方法。所述存储器1010和处理器1020的数量可以为一个或多个。
该装置还包括:
通信接口1030,用于与外界设备进行通信,进行数据交互传输。
存储器1010可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器1010、处理器1020和通信接口1030独立实现,则存储器1010、处理器1020和通信接口1030可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component Interconnect)总线或扩展工业标准体系结构(EISA,ExtendedIndustry Standard Architecture)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1010、处理器1020及通信接口1030集成在一块芯片上,则存储器1010、处理器1020及通信接口1030可以通过内部接口完成相互间的通信。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种小程序数据预取的方法,其特征在于,包括:
接收来自于第一服务器的小程序的预取物料的地址;其中,所述预取物料包括小程序被开启后的首屏渲染数据;
向与所述地址对应的第二服务器发送预取请求;
接收所述第二服务器返回的所述预取物料;
加载所述小程序的框架;
调用所述小程序的生命周期函数并在调用所述小程序的生命周期函数的过程中加载所述预取物料;
其中,所述方法还包括:
接收来自于所述第一服务器的所述小程序的卡片数据;
根据所述小程序的卡片数据显示所述小程序的卡片;
其中,所述向与所述地址对应的第二服务器发送预取请求,包括:
在所述小程序的卡片被展示的情况下,基于所述预取物料的地址向所述第二服务器发送所述预取请求。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收来自第一服务器的小程序的预取物料的配置参数,所述配置参数用于划定在预取物料的地址中需要下载的预取物料;
向与所述地址对应的第二服务器发送预取请求中包括所述预取物料的配置参数;
接收所述第二服务器返回的与所述预取物料的配置参数对应的预取物料。
3.根据权利要求1所述的方法,其特征在于,所述向与所述地址对应的第二服务器发送预取请求,包括:
响应于对所述小程序的卡片的点击操作,向所述第二服务器发送所述预取请求。
4.根据权利要求1所述的方法,其特征在于,加载所述小程序的框架,包括:
响应于对所述小程序的卡片的点击操作,产生访问指令;
响应于所述访问指令加载所述小程序的框架。
5.根据权利要求1所述的方法,其特征在于,还包括:
在数据库中,根据各所述小程序的标识信息,将所述小程序的预取物料采用沙箱隔离的方式存储至数据库。
6.一种小程序数据预取的装置,其特征在于,包括:
地址接收模块,用于接收来自于第一服务器的小程序的预取物料的地址;其中,所述预取物料包括小程序被开启后的首屏渲染数据;
预取请求发送模块,用于向与所述地址对应的第二服务器发送预取请求;
预取物料接收模块,用于接收所述第二服务器返回的所述预取物料;
框架加载模块,用于加载所述小程序的框架;
预取物料加载模块,用于调用所述小程序的生命周期函数并在调用所述小程序的生命周期函数的过程中加载所述预取物料;
其中,所述装置还包括:
卡片数据接收模块,用于接收来自于所述第一服务器的所述小程序的卡片数据;
卡片显示模块,用于根据所述小程序的卡片数据显示所述小程序的卡片;
其中,所述预取请求发送模块包括:
预取请求第二发送子模块,用于在所述小程序的卡片被展示的情况下,基于所述预取物料的地址向所述第二服务器发送所述预取请求。
7.根据权利要求6所述的装置,其特征在于,还包括:
配置参数接收模块,用于接收来自第一服务器的小程序的预取物料的配置参数,所述配置参数用于划定在预取物料的地址中需要下载的预取物料;
所述预取请求发送模块向与所述地址对应的第二服务器发送预取请求中包括所述预取物料的配置参数;
所述预取物料接收模块接收所述第二服务器返回的所述预取物料中包括与所述预取物料的配置参数对应的预取物料。
8.根据权利要求6所述的装置,其特征在于,所述预取请求发送模块,还包括:
预取请求第一发送子模块,用于响应于对所述小程序的卡片的点击操作,向所述第二服务器发送所述预取请求。
9.根据权利要求6所述的装置,其特征在于,所述框架加载模块,包括:
访问指令产生子模块,用于响应于对所述小程序的卡片的点击操作,产生访问指令;
加载执行子模块,用于响应于所述访问指令加载所述小程序的框架。
10.根据权利要求6所述的装置,其特征在于,还包括:
存储模块,用于在数据库中,根据各所述小程序的标识信息,将所述小程序的预取物料采用沙箱隔离的方式存储至数据库。
11.一种小程序数据预取的装置,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述的方法。
12.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910625169.9A CN110333912B (zh) | 2019-07-11 | 2019-07-11 | 一种小程序数据预取的方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910625169.9A CN110333912B (zh) | 2019-07-11 | 2019-07-11 | 一种小程序数据预取的方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110333912A CN110333912A (zh) | 2019-10-15 |
CN110333912B true CN110333912B (zh) | 2023-04-18 |
Family
ID=68146374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910625169.9A Active CN110333912B (zh) | 2019-07-11 | 2019-07-11 | 一种小程序数据预取的方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110333912B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783543B (zh) * | 2019-11-11 | 2023-10-03 | 百度在线网络技术(北京)有限公司 | 小程序分发物料的生成方法、装置、设备及介质 |
CN110879728A (zh) * | 2019-11-18 | 2020-03-13 | 口碑(上海)信息技术有限公司 | 小程序的启动方法及装置 |
CN111031376B (zh) * | 2019-11-25 | 2020-09-25 | 上海哔哩哔哩科技有限公司 | 基于微信小程序的弹幕处理方法和系统 |
CN111078324B (zh) * | 2019-12-16 | 2023-06-06 | 百度在线网络技术(北京)有限公司 | 用于预取页面数据的方法和装置 |
CN111158799A (zh) * | 2019-12-31 | 2020-05-15 | 北京百度网讯科技有限公司 | 一种页面渲染方法、装置、电子设备及存储介质 |
CN111258586B (zh) * | 2020-01-10 | 2023-04-18 | 北京小米移动软件有限公司 | 快应用运行、编译方法、装置、电子设备和存储介质 |
CN111338714B (zh) * | 2020-02-19 | 2024-05-17 | 北京百度网讯科技有限公司 | 小程序物料处理方法、装置、电子设备和介质 |
CN112000394B (zh) * | 2020-08-27 | 2024-01-09 | 北京百度网讯科技有限公司 | 用于访问小程序的方法、装置、设备以及存储介质 |
CN112784200B (zh) * | 2021-01-28 | 2024-08-13 | 百度在线网络技术(北京)有限公司 | 页面数据处理方法、装置、设备、介质和计算机程序产品 |
CN114398094B (zh) * | 2021-12-21 | 2023-08-18 | 中国银联股份有限公司 | 小程序启动方法、装置、设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408150A (zh) * | 2018-10-30 | 2019-03-01 | 维沃移动通信有限公司 | 一种快应用加载方法及移动终端 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010051927A1 (en) * | 2000-06-08 | 2001-12-13 | Blinkspeed, Inc. | Increasing web page browsing efficiency by periodically physically distributing memory media on which web page data are cached |
CN109829077B (zh) * | 2017-08-29 | 2023-10-24 | 阿里巴巴集团控股有限公司 | 一种页面显示方法、装置和设备 |
CN109726076B (zh) * | 2018-12-03 | 2023-01-06 | 百度在线网络技术(北京)有限公司 | 一种小程序生命周期管理方法和系统 |
CN109857486B (zh) * | 2019-02-02 | 2022-09-09 | 北京字节跳动网络技术有限公司 | 一种程序页面数据的处理方法、装置、设备和介质 |
CN109976973B (zh) * | 2019-02-19 | 2021-05-25 | 深圳点猫科技有限公司 | 一种小程序线上异常监控方法及电子设备 |
-
2019
- 2019-07-11 CN CN201910625169.9A patent/CN110333912B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408150A (zh) * | 2018-10-30 | 2019-03-01 | 维沃移动通信有限公司 | 一种快应用加载方法及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN110333912A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110333912B (zh) | 一种小程序数据预取的方法、装置及计算机可读存储介质 | |
CN110187931B (zh) | 小程序的运行方法及装置 | |
CN109358936B (zh) | 信息处理方法、装置、存储介质、电子设备及系统 | |
CN108363528B (zh) | 应用页面的启动方法、装置、存储介质及电子设备 | |
CN110457038B (zh) | 附属应用端的卡片显示方法、装置、设备以及存储介质 | |
CN104268019A (zh) | 一种软件运行方法、装置及终端 | |
CN113055702A (zh) | 一种展示业务组件的方法、系统、以及客户端 | |
CN107957837B (zh) | 网页应用程序的快捷方式生成方法、装置和终端设备 | |
CN107301182B (zh) | 一种展示内嵌图片的网页的方法和装置 | |
CN107798064B (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN105183890B (zh) | 基于浏览器的网页加载方法和浏览器装置 | |
CN113703893B (zh) | 一种页面渲染方法、装置、终端及存储介质 | |
US20160019046A1 (en) | Light app offline updating method, device and terminal | |
CN110533464A (zh) | 一种广告监播方法、装置、系统及计算设备 | |
CN110502699B (zh) | 用于获取信息的方法和装置 | |
CN111367518B (zh) | 页面布局方法、装置、计算设备及计算机存储介质 | |
CN110609714A (zh) | 一种数据预取方法、装置、设备及存储介质 | |
CN113076499A (zh) | 一种页面互动方法、装置、设备、介质及程序产品 | |
CN104978378A (zh) | 一种网页访问方法和装置 | |
CN110134410B (zh) | 冷启动用户的个性化信息关联方法、装置及存储介质 | |
CN110750744A (zh) | 页面呈现方法及装置 | |
CN108563476B (zh) | 应用程序运行方法、装置、存储介质及电子设备 | |
CN114510667A (zh) | 页面缓存方法、页面显示方法及装置、存储介质 | |
CN114090083B (zh) | 一种可视化组件配置方法、装置、设备及存储介质 | |
CN111782993B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |