一种数据预取方法、装置、电子设备及存储介质与流程

文档序号:26194390发布日期:2021-08-06 18:48阅读:77来源:国知局
一种数据预取方法、装置、电子设备及存储介质与流程

本申请涉及网络技术领域,尤其涉及一种数据预取方法、装置、电子设备及存储介质。



背景技术:

本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

在进入应用程序的一个应用界面后,当需要访问该界面下的新的网络数据资源时,相关技术中,可通过刷新界面发起网络请求,来获取对应的网络数据资源,然而,在应用程序刷新界面时,长周期的数据获取流程会产生延时,影响用户的操作体验。



技术实现要素:

针对上述技术问题,非常需要一种改进的方法,以降低在进入应用程序的应用界面后,通过刷新界面发起网络请求获取网络数据资源过程中产生的延时。

一方面,本申请一实施例提供了一种数据预取方法,包括:

响应于触发展示应用的第一界面请求,创建预加载所述应用的第二界面的网络资源数据的进程;

按照预设规则基于所述进程向所述第二界面对应的目标服务器发送预加载网络请求;

接收所述目标服务器返回的请求的所述第二界面的网络预加载数据,并缓存所述网络预加载数据,以在进入所述第二界面后从缓存中获取目标网络预加载数据。

在一种可能的实施方式中,所述预加载网络请求中携带有第一数据标识信息;

在基于所述进程向所述第二界面对应的目标服务器发送预加载网络请求之前,还包括:

发起本地数据预加载请求,所述本地预加载请求中携带有所述第一数据标识信息;

在所述缓存中查找所述第一数据标识信息对应的本地预加载数据;

确定查找到的所述第一数据标识信息对应的本地预加载数据不满足预设条件。

在一种可能的实施方式中,在进入所述第二界面后从缓存中获取目标网络预加载数据,具体包括:

当进入所述第二界面后,响应于页面刷新请求,所述页面刷新请求中携带有第二数据标识信息;

当确定进入所述第二界面后针对所述第二数据标识信息的预加载网络请求未成功发起,则从所述缓存中获取所述第二数据标识信息对应的本地预加载数据;

当确定进入所述第二界面后针对所述第二数据标识信息的预加载网络请求已成功发起,若所述第二数据标识信息对应的网络预加载数据已缓存完成,则从所述缓存中获取所述第二数据标识信息对应的网络预加载数据,若所述第二数据标识信息对应的网络预加载数据未缓存完成,则等待所述第二数据标识信息对应的网络预加载数据缓存完成后,从所述缓存中获取所述第二数据标识信息对应的网络预加载数据。

在一种可能的实施方式中,所述方法,还包括:

当确定进入所述第二界面时针对所述第二数据标识信息的预加载网络请求未成功发起,且从所述缓存中未获取到所述第二数据标识信息对应的本地预加载数据,则向所述目标服务器发送网络请求,所述网络请求中携带有所述第二数据标识信息。

在一种可能的实施方式中,向所述第二界面对应的目标服务器发送预加载网络请求,具体包括:

将预加载网络请求添加至等待请求队列中;

从所述等待请求队列中依次获取添加的预加载网络请求,并将所述预加载网络请求发送至所述第二界面对应的目标服务器。

在一种可能的实施方式中,通过以下方式确定针对所述第二数据标识信息的预加载网络请求是否发起:

将所述第二数据标识与所述等待请求队列中包含的预加载网络请求中的第一数据标识进行比对;

当确定所述等待请求队列中包含与所述第二数据标识相同的第一数据标识时,则确定针对所述第二数据标识信息的预加载网络请求已发起;

当确定所述等待请求队列中不包含与所述第二数据标识相同的第一数据标识时,则确定针对所述第二数据标识信息的预加载网络请求未发起。

在一种可能的实施方式中,在发送预加载网络请求之后,还包括:

标记所述预加载网络请求已发起。

在一种可能的实施方式中,所述方法,还包括:

当确定在进入所述第二界面后从所述缓存中获取的所述第二数据标识信息对应的网络预加载数据不可用或获取失败时,删除针对所述第二数据标识信息的预加载网络请求的已发起标记;并

在向所述目标服务器发送网络请求之前,为相应的第二数据标识增加重复请求标识。

一方面,本申请一实施例提供了一种数据预取装置,包括:

预加载进程创建单元,用于响应于触发展示应用的第一界面请求,创建预加载所述应用的第二界面的网络资源数据的进程;

网络预加载单元,用于按照预设规则基于所述进程向所述第二界面对应的目标服务器发送预加载网络请求;

处理单元,用于接收所述目标服务器返回的请求的所述第二界面的网络预加载数据,并缓存所述网络预加载数据,以在进入所述第二界面后从缓存中获取目标网络预加载数据。

在一种可能的实施方式中,所述预加载网络请求中携带有第一数据标识信息;

所述装置,还包括:

本地预加载单元,用于在基于所述进程向所述第二界面对应的目标服务器发送预加载网络请求之前,发起本地数据预加载请求,所述本地预加载请求中携带有所述第一数据标识信息;

查找单元,用于在所述缓存中查找所述第一数据标识信息对应的本地预加载数据;

确定单元,用于确定查找到的所述第一数据标识信息对应的本地预加载数据不满足预设条件。

在一种可能的实施方式中,所述处理单元,具体用于当进入所述第二界面后,响应于页面刷新请求,所述页面刷新请求中携带有第二数据标识信息;

当确定进入所述第二界面后针对所述第二数据标识信息的预加载网络请求未成功发起,则从所述缓存中获取所述第二数据标识信息对应的本地预加载数据;

当确定进入所述第二界面后针对所述第二数据标识信息的预加载网络请求已成功发起,若所述第二数据标识信息对应的网络预加载数据已缓存完成,则从所述缓存中获取所述第二数据标识信息对应的网络预加载数据,若所述第二数据标识信息对应的网络预加载数据未缓存完成,则等待所述第二数据标识信息对应的网络预加载数据缓存完成后,从所述缓存中获取所述第二数据标识信息对应的网络预加载数据。

在一种可能的实施方式中,所述装置,还包括:

发送单元,用于当确定进入所述第二界面时针对所述第二数据标识信息的预加载网络请求未成功发起,且从所述缓存中未获取到所述第二数据标识信息对应的本地预加载数据,则向所述目标服务器发送网络请求,所述网络请求中携带有所述第二数据标识信息。

在一种可能的实施方式中,所述网络预加载单元,具体用于将预加载网络请求添加至等待请求队列中;从所述等待请求队列中依次获取添加的预加载网络请求,并将所述预加载网络请求发送至所述第二界面对应的目标服务器。

在一种可能的实施方式中,所述处理单元,具体用于通过以下方式确定针对所述第二数据标识信息的预加载网络请求是否发起:

将所述第二数据标识与所述等待请求队列中包含的预加载网络请求中的第一数据标识进行比对;

当确定所述等待请求队列中包含与所述第二数据标识相同的第一数据标识时,则确定针对所述第二数据标识信息的预加载网络请求已发起;

当确定所述等待请求队列中不包含与所述第二数据标识相同的第一数据标识时,则确定针对所述第二数据标识信息的预加载网络请求未发起。

在一种可能的实施方式中,所述装置,还包括:

标记单元,用于在发送预加载网络请求之后,标记所述预加载网络请求已发起。

在一种可能的实施方式中,所述装置,还包括:

删除单元,用于当确定在进入所述第二界面后从所述缓存中获取的所述第二数据标识信息对应的网络预加载数据不可用或获取失败时,删除针对所述第二数据标识信息的预加载网络请求的已发起标记;

所述标记单元,还用于在向所述目标服务器发送网络请求之前,为相应的第二数据标识增加重复请求标识。

一方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现本申请所述的数据预取方法。

一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现本申请所述的数据预取方法中的步骤。

本申请实施例提供的数据预取方案,响应于触发展示应用的第一界面请求,创建预加载该应用的第二界面的网络资源数据的进程,按照预设规则基于创建的进程向第二界面对应的目标服务器发送预加载网络请求,接收目标服务器返回的请求的相应第二界面的网络预加载数据并缓存,以在进入第二界面后从缓存中获取目标网络预加载数据。本申请实施例中,当进入应用的第一界面后,通过创建预加载应用的第二界面的网络资源数据的进程,持续预加载应用的第二界面的网络资源数据并缓存,当进入应用的第二界面需要获取当前界面的网络资源数据时(如当发起页面刷新请求时),尤其是当频繁发起页面刷新请求时,则可从缓存中直接获取所需的第二界面的网络资源数据,而无需向第二界面对应的目标服务器发送网络请求,实现了在应用的不同界面之间进行数据预取以及数据的跨界面分享,从而,降低了数据获取过程中产生的延时,提高了数据获取效率。

附图说明

通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:

图1为本申请实施例提供的数据预取方法的应用场景示意图;

图2为本申请一实施例提供的数据预取方法的实施流程示意图;

图3为本申请一实施例提供的向第二界面对应的目标服务器发送预加载网络请求的实施流程示意图;

图4为本申请一实施例提供的在进入第二界面后从缓存中获取目标网络预加载数据的实施流程示意图;

图5为本申请一实施例提供的确定针对第二数据标识信息的预加载网络请求是否发起的实施流程示意图;

图6为本申请一实施例提供的重复网络请求处理流程示意图;

图7为本申请一实施例提供的数据预取装置的结构示意图;

图8为本申请一实施例提供的电子设备的结构示意图。

具体实施方式

下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本申请的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本申请的若干代表性实施方式,详细阐释本申请的原理和精神。

发明概述

本发明人发现,在进入应用程序的一个应用界面后,当需要访问该界面下的新的网络数据资源时,相关技术中,可通过刷新界面发起网络请求,来获取对应的网络数据资源,然而,在应用程序刷新界面时,长周期的数据获取流程会产生延时,而且,现有的数据预加载方案,仅仅在进入应用程序时加载应用界面第一次刷新前所展示的网络资源数据,当用户频繁发起页面刷新请求时,则每一次刷新都需要向应用界面对应的目标服务器发起网络请求,从目标服务器获取刷新所需要的网络数据资源,这样,在数据获取过程中仍会产生较长的延时,影响用户的操作体验。

为了解决上述问题,本申请提出了一种数据预取方法、装置、电子设备及存储介质,响应于触发展示应用的第一界面请求,创建预加载该应用的第二界面的网络资源数据的进程,按照预设规则基于创建的进程向第二界面对应的目标服务器发送预加载网络请求,接收目标服务器返回的请求的相应第二界面的网络预加载数据并缓存,以在进入第二界面后从缓存中获取目标网络预加载数据。本申请实施例中,当进入应用的第一界面后,通过创建预加载应用的第二界面的网络资源数据的进程,持续预加载应用的第二界面的网络资源数据并缓存,当进入应用的第二界面需要获取当前界面的网络资源数据时(如当发起页面刷新请求时),尤其是当频繁发起页面刷新请求时,则可从缓存中直接获取所需的第二界面的网络资源数据,而无需向第二界面对应的目标服务器发送网络请求,实现了在应用的不同界面之间进行数据预取以及数据的跨界面分享,从而,降低了数据获取过程中产生的延时,提高了数据获取效率。

在介绍了本申请的基本原理之后,下面具体介绍本申请的各种非限制性实施方式。

应用场景总览

参考图1,其为本申请实施例提供的数据预取方法的应用场景示意图。该应用场景可以包括终端设备101和服务器102,终端设备101和服务器102之间通过通信网络连接。终端设备101上安装有应用程序,服务器102可为存储应用程序中的不同功能应用界面的网络资源数据的应用服务器,不同功能应用界面可对应不同的应用服务器。

示例性方法

下面结合上述应用场景,来描述根据本申请示例性实施方式的数据预取方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。

参考图2,本申请实施例提供了的一种数据预取方法,可应用于图1所示的终端设备101,具体可包括以下步骤:

s21、响应于触发展示应用的第一界面请求,创建预加载应用的第二界面的网络资源数据的进程。

具体实施时,终端设备安装有应用程序,终端设备响应于用户触发展示该应用的第一界面请求,展示该应用的第一界面,创建预加载应用的第二界面的网络资源数据的进程,其中,第一界面可以为应用的启动页,第二界面可以为应用的具有该应用的某项功能的应用界面,或者,第一界面和第二界面还可以为应用的具有不同功能的应用界面,本申请实施例对此不作限定。以某新闻应用为例,不同功能类型的应用界面可包括:头条新闻界面、娱乐新闻界面、体育新闻界面、财经新闻界面等等。用户可以通过触发应用图标进入作为第一界面的应用的启动页或应用功能界面。当展示第一界面时或者后,创建预加载应用的第二界面的网络资源数据的进程,该用于预加载第二界面的网络资源数据的进程与第一界面的数据运行进程是两个并行的进程,基于此,可实现第一界面的数据运行和第二界面的网络资源数据预加载过程并行执行,在实现跨界面网络资源数据预取的同时而不会影响当前界面的数据运行。

s22、按照预设规则基于所述进程向第二界面对应的目标服务器发送预加载网络请求。

具体实施时,可预先设置预加载规则,按照预加载规则基于建立的预加载应用的第二界面的网络资源数据的进程向第二界面对应的目标服务器发送预加载网络请求,其中,预加载网络请求中携带有请求的数据标识信息,可记为第一数据标识信息。

在实施过程中,数据标识信息可以但不限于为第二界面的网络资源数据对应的url(uniformresourcelocator,统一资源定位符)域名信息,可记为第一url域名信息,本申请实施例中的数据标识只是以url域名为例进行说明,预加载规则可以设置为:批量预加载第二界面的网络资源数据,例如,可以每次预加载20条第二界面的网络资源数据,待预加载完毕后,再次向第二界面对应的目标服务器发送预加载网络请求以加载下一组20条第二界面的网络资源数据,也可以按照预设时间周期批量预加载第二界面的网络资源数据,本申请实施例对每次加载的数据量不作限定。

s23、接收目标服务器返回的请求的第二界面的网络预加载数据,并缓存所述网络预加载数据,以在进入第二界面后从缓存中获取目标网络预加载数据。

具体实施时,接收第二界面对应的目标服务器返回的第一数据标识信息对应的网络预加载数据,即:接收第二界面对应的目标服务器返回的第一url域名信息对应的网络预加载数据,并缓存接收的网络预加载数据,以在进入第二界面后,当用户发起页面刷新请求时,从缓存中获取目标网络预加载数据。在实施过程中,可将接收到的第二界面对应的目标服务器返回的网络预加载数据存储在cache存储器中。

本申请实施例中,当进入应用的第一界面时或者后,通过创建预加载应用的第二界面的网络资源数据的进程,持续批量预加载应用的第二界面的网络资源数据并缓存,当进入应用的第二界面需要获取当前界面的网络资源数据时,如当用户发起页面刷新请求时,则可从缓存中直接获取所需的第二界面的网络资源数据,而无需向第二界面对应的目标服务器发送网络请求,实现了在应用的不同界面之间进行数据预取以及数据的跨界面分享,从而,降低了数据获取过程中产生的延时,提高了数据获取效率。

本申请发明人考虑到当用户频繁重启应用时,在进入第一界面后,缓存中可能已经缓存一些第二界面的网络预加载数据,为了进一步提高数据获取效率,则在向第二界面对应的目标服务器发送携带有第一数据标识信息的预加载网络请求之前,可以先在本地缓存中查找是否已存在欲请求的有效的第二界面的网络资源数据,即第一数据标识信息对应的网络资源数据,如果本地缓存中存在第一数据标识信息对应的有效网络资源数据,则无需向第二界面对应的目标服务器发送请求本次第一数据标识信息对应的网络资源数据,可发起新的预加载网络请求,如果本地缓存中不存在第一数据标识信息对应的有效的网络资源数据,则向第二界面对应的目标服务器发送携带本次第一数据标识信息的预加载网络请求。

基于此,在基于创建的预加载应用的第二界面的网络资源数据的进程向第二界面对应的目标服务器发送预加载网络请求之前,本申请实施例的方法还包括如下步骤:

步骤一、发起本地数据预加载请求,所述本地预加载请求中携带有第一数据标识信息。

具体实施时,发起本地数据预加载请求,所述本地预加载请求中携带有第一数据标识信息,即第一url域名信息。

步骤二、在缓存中查找第一数据标识信息对应的本地预加载数据。

具体实施时,在缓存中查找第一url域名信息对应的网络资源数据,即第一url域名信息对应的本地预加载数据。

步骤三、确定查找到的第一数据标识信息对应的本地预加载数据不满足预设条件。

具体实施时,可预先指定本地数据有效期,用于指示本地预先加载并缓存的第二界面的网络资源数据的有效期限,当确定在缓存中查找到第一url域名信息对应的本地预加载数据时,可进一步基于系统当前时间及本地预加载数据的有效期判断查找到的第一url域名信息对应的本地预加载数据是否已过期,若已过期,则确定查找到的第一url域名信息对应的本地预加载数据无效,即确定查找到的第一url域名信息对应的本地预加载数据不满足预设条件,进而,再基于创建的预加载第二界面的网络资源数据的进程向第二界面对应的目标服务器发送携带有第一数据标识信息(第一url域名信息)的预加载网络请求;若未过期,则向第二界面对应的目标服务器预加载下一批次的第一数据标识信息(第一url域名信息)对应的网络资源数据。

作为一种可能的实施方式,本申请实施例中可按照如图3所示的流程向第二界面对应的目标服务器发送预加载网络请求,具体包括以下步骤:

s31、将预加载网络请求添加至等待请求队列中。

具体实施时,为了避免在网络资源数据预加载过程中出现数据漏加载的情况,可建立等待请求队列,用于缓存收到的预加载网络请求。在基于创建的预加载应用的第二界面的网络资源数据的进程向第二界面对应的目标服务器发送预加载网络请求时,将该预加载网络请求添加至等待请求队列中。

s32、从等待请求队列中依次获取添加的预加载网络请求,并将预加载网络请求发送至第二界面对应的目标服务器。

具体实施时,从等待请求队列中按照接收时间先后顺序依次获取添加的预加载网络请求,并将获取的预加载网络请求依次发送至第二界面对应的目标服务器,并将发送至第二界面对应的目标服务器的预加载网络请求从等待请求队列中删除。

作为一种可能的实施方式,本申请实施例中可按照如图4所示的流程在进入第二界面后从缓存中获取目标网络预加载数据,具体包括以下步骤:

s41、当进入第二界面后,响应于页面刷新请求,页面刷新请求中携带有第二数据标识信息。

具体实施时,当进入第二界面后,用户可通过下拉发起页面刷新请求,页面刷新请求中携带有请求的第二数据标识信息,可为url域名信息,记为第二url域名信息。

s42、当确定进入第二界面后针对第二数据标识信息的预加载网络请求未成功发起,则从缓存中获取第二数据标识信息对应的本地预加载数据。

具体实施时,如果当进入第二界面接收到页面刷新请求时,针对第二数据标识信息的预加载网络请求未发起,则第二数据标识信息对应的网络资源数据可能已基于在第一界面创建的进程预加载完毕并缓存于cache存储器中,也可能还未预加载到,则可先从cache存储器中查找是否已存储有第二数据标识信息对应的本地预加载数据,即第二url域名信息对应的本地预加载数据,如果在cache存储器中查找到第二url域名信息对应的未过期的本地预加载数据,则从cache存储器获取第二url域名信息对应的本地预加载数据。

具体实施过程中,当确定进入第二界面时针对第二数据标识信息的预加载网络请求未成功发起,且从缓存中未获取到第二数据标识信息对应的本地预加载数据,则向第二界面对应的目标服务器发送网络请求,所述网络请求中携带有第二数据标识信息。

具体地,如果当进入第二界面接收到页面刷新请求时,针对第二数据标识信息的预加载网络请求未发起,且从缓存中未获取到第二数据标识信息对应的本地预加载数据,则表明还未预加载第二数据标识信息对应的网络资源数据,即针对第二数据标识信息的预加载网络请求截止目前为止从未发起过,则直接向第二界面对应的目标服务器发送网络请求,所述网络请求中携带有第二数据标识信息,即第二url域名信息。

s43、当确定进入第二界面后针对第二数据标识信息的预加载网络请求已成功发起,若第二数据标识信息对应的网络预加载数据已缓存完成,则从缓存中获取第二数据标识信息对应的网络预加载数据,若第二数据标识信息对应的网络预加载数据未缓存完成,则等待第二数据标识信息对应的网络预加载数据缓存完成后,从缓存中获取第二数据标识信息对应的网络预加载数据。

具体实施时,当确定进入第二界面后针对第二数据标识信息的预加载网络请求已发起,则确定第二数据标识信息对应的网络预加载数据是否已缓存完成,如果已缓存完成,则从缓存中获取第二数据标识信息对应的网络预加载数据,如果未缓存完成,则等待第二数据标识信息对应的网络预加载数据缓存完成后,从缓存中获取第二数据标识信息对应的网络预加载数据,即第二url域名信息对应的网络预加载数据。这样,由于在第一界面中建立的预加载第二界面的网络资源数据的进程中已发起了针对第二数据标识信息的预加载网络请求,相比于直接向第二界面对应的目标服务器发送网络请求,有效地降低了数据获取过程中产生的时延。

在具体实施过程中,为了避免在网络预加载数据缓存过程中丢失数据的情况,可在终端设备内建立缓存队列,用于缓存收到的网络预加载数据,可以将第二界面对应的目标服务器返回的网络预加载数据依次添加至缓存队列中,进而,按照网络预加载数据接收时间的先后顺序依次从缓存队列中获取网络预加载数据并缓存至cache存储器中,并将已缓存的网络预加载数据从缓存队列中删除。

作为一种可能的实施方式,本申请实施例中可按照如图5所示的流程确定针对第二数据标识信息的预加载网络请求是否发起,具体包括以下步骤:

s51、将第二数据标识与等待请求队列中包含的预加载网络请求中的第一数据标识进行比对。

具体实施时,可将第二url域名与等待请求队列中包含的预加载网络请求中的第一url域名进行比对。

s52、当确定等待请求队列中包含与第二数据标识相同的第一数据标识时,则确定针对第二数据标识信息的预加载网络请求已发起。

具体实施时,当确定等待请求队列中包含与第二url域名相同的第一url域名时,则确定针对第二url域名的预加载网络请求已发起。

s53、当确定等待请求队列中不包含与第二数据标识相同的第一数据标识时,则确定针对第二数据标识信息的预加载网络请求未发起。

具体实施时,当确定等待请求队列中不包含与第二url域名相同的第一url域名时,则确定针对第二url域名的预加载网络请求未发起。

作为本申请实施例一种可能的实施方式,在发送预加载网络请求之后,还包括:

标记所述预加载网络请求已发起。

具体实施时,可以在预加载网络请求中包含的第一url域名信息中增加一个标记位,将标记位的值置为第一指定值(如可设置为:01),以标记针对该第一url域名信息的预加载网络请求已发起。这样,在从第二界面直接发起网络请求时,可判断是否有浪费的预加载网络请求。

进一步地,在上述实施方式的基础上,如图6所示,本申请实施例提供的数据预取方法,还包括以下步骤:

s61、当确定在进入第二界面后从缓存中获取的第二数据标识信息对应的网络预加载数据不可用或获取失败时,删除针对第二数据标识信息的预加载网络请求的已发起标记。

具体实施时,当确定在进入第二界面后从缓存中获取的第二url域名信息对应的网络预加载数据不可用或获取失败时,销毁针对第二url域名信息的预加载网络请求的已发起标记。在实施过程中,对从缓存中获取的第二url域名信息对应的网络预加载数据的数据格式、数据内容进行校验,如果校验失败,则获取的第二url域名信息对应的网络预加载数据不可用。

s62、在向目标服务器发送网络请求之前,为相应的第二数据标识增加重复请求标识。

具体实施时,在删除针对第二数据标识信息的预加载网络请求的已发起标记之后,向目标服务器发送网络请求之前,为相应的第二数据标识增加重复请求标识。

本步骤中,可在第二url域名信息中的标记位的值置为第二指定值作为重复请求标识,如可设置为:11,重复请求标识用以标记针对该第二url域名信息的网络请求为重复请求。

示例性设备

在介绍了本申请示例性实施方式的方法之后,接下来,对本申请示例性实施方式的数据预取装置进行介绍。

如图7所示,为本申请实施例提供的数据预取装置70的结构示意图。在一个实施例中,数据预取装置70包括:预加载进程创建单元701、网络预加载单元702和处理单元703。

预加载进程创建单元701,用于响应于触发展示应用的第一界面请求,创建预加载所述应用的第二界面的网络资源数据的进程;

网络预加载单元702,用于按照预设规则基于所述进程向所述第二界面对应的目标服务器发送预加载网络请求;

处理单元703,用于接收所述目标服务器返回的请求的所述第二界面的网络预加载数据,并缓存所述网络预加载数据,以在进入所述第二界面后从缓存中获取目标网络预加载数据。

在一种可能的实施方式中,所述预加载网络请求中携带有第一数据标识信息;

数据预取装置70,还包括:

本地预加载单元,用于在基于所述进程向所述第二界面对应的目标服务器发送预加载网络请求之前,发起本地数据预加载请求,所述本地预加载请求中携带有所述第一数据标识信息;

查找单元,用于在所述缓存中查找所述第一数据标识信息对应的本地预加载数据;

确定单元,用于确定查找到的所述第一数据标识信息对应的本地预加载数据不满足预设条件。

在一种可能的实施方式中,所述处理单元703,具体用于当进入所述第二界面后,响应于页面刷新请求,所述页面刷新请求中携带有第二数据标识信息;

当确定进入所述第二界面后针对所述第二数据标识信息的预加载网络请求未成功发起,则从所述缓存中获取所述第二数据标识信息对应的本地预加载数据;

当确定进入所述第二界面后针对所述第二数据标识信息的预加载网络请求已成功发起,若所述第二数据标识信息对应的网络预加载数据已缓存完成,则从所述缓存中获取所述第二数据标识信息对应的网络预加载数据,若所述第二数据标识信息对应的网络预加载数据未缓存完成,则等待所述第二数据标识信息对应的网络预加载数据缓存完成后,从所述缓存中获取所述第二数据标识信息对应的网络预加载数据。

在一种可能的实施方式中,所述数据预取装置70,还包括:

发送单元,用于当确定进入所述第二界面时针对所述第二数据标识信息的预加载网络请求未成功发起,且从所述缓存中未获取到所述第二数据标识信息对应的本地预加载数据,则向所述目标服务器发送网络请求,所述网络请求中携带有所述第二数据标识信息。

在一种可能的实施方式中,所述网络预加载单元702,具体用于将预加载网络请求添加至等待请求队列中;从所述等待请求队列中依次获取添加的预加载网络请求,并将所述预加载网络请求发送至所述第二界面对应的目标服务器。

在一种可能的实施方式中,所述处理单元703,具体用于通过以下方式确定针对所述第二数据标识信息的预加载网络请求是否发起:

将所述第二数据标识与所述等待请求队列中包含的预加载网络请求中的第一数据标识进行比对;

当确定所述等待请求队列中包含与所述第二数据标识相同的第一数据标识时,则确定针对所述第二数据标识信息的预加载网络请求已发起;

当确定所述等待请求队列中不包含与所述第二数据标识相同的第一数据标识时,则确定针对所述第二数据标识信息的预加载网络请求未发起。

在一种可能的实施方式中,所述数据预取装置70,还包括:

标记单元,用于在发送预加载网络请求之后,标记所述预加载网络请求已发起。

在一种可能的实施方式中,所述数据预取装置70,还包括:

删除单元,用于当确定在进入所述第二界面后从所述缓存中获取的所述第二数据标识信息对应的网络预加载数据不可用或获取失败时,删除针对所述第二数据标识信息的预加载网络请求的已发起标记;

所述标记单元,还用于在向所述目标服务器发送网络请求之前,为相应的第二数据标识增加重复请求标识。

基于与上述数据预取方法相同的发明构思,本申请实施例还提供了一种电子设备80。如图8所示,该电子设备80可以包括处理器801和存储器802。

处理器801可以是通用处理器,例如中央处理器(cpu)、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(randomaccessmemory,ram)、静态随机访问存储器(staticrandomaccessmemory,sram)、可编程只读存储器(programmablereadonlymemory,prom)、只读存储器(readonlymemory,rom)、带电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。

应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。

此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本申请的精神和原理,但是应该理解,本申请并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本申请旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1