Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
WEBPAGE PRELOADING METHOD AND DEVICE
Document Type and Number:
WIPO Patent Application WO/2015/058546
Kind Code:
A1
Abstract:
Disclosed are a webpage preloading method and device. The method comprises: according to a current preloading policy, conducting webpage preloading, wherein the preloading policy comprises: a preloading time range, a preloading region, a preloading page depth and an available caching space for preloading; counting historical data within a pre-set time period, wherein the historical data comprises information about an accessed webpage, information about a preloaded webpage and local cache state information; and according to the historical data, updating the preloading policy. In the present invention, by way of counting the preloading historical data within a pre-set length of time, and according to the changes in the historical data, a preloading policy is automatically updated, so that the preloading policy can adapt to a network and a user access condition in real time, thereby improving the hit accuracy rate of preloading.

Inventors:
LIANG JIE (CN)
Application Number:
PCT/CN2014/080890
Publication Date:
April 30, 2015
Filing Date:
June 26, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UC MOBILE CO LTD (CN)
International Classes:
G06F17/30
Foreign References:
CN103729438A2014-04-16
CN102663012A2012-09-12
CN103369508A2013-10-23
CN102591963A2012-07-18
Download PDF:
Claims:
权 利 要 求 书

1、 一种网页预加载方法, 其特征在于, 所述方法包括:

根据当前预加载策略进行网页预加载, 所述预加载策略包括: 预加载时间范围、 预 加载区域、 预加载页面深度和预加载可用缓存空间; 在预设的时间周期内统计历史数据, 所述历史数据包括: 被访问网页的信息、 预加 载网页的信息和本地缓存状态信息; 根据所述历史数据, 更新所述预加载策略。

2、 根据权利要求 1所述的方法, 其特征在于, 所述被访问网页的信息包括: 被访问网页的访问量、 访问的时间范围和执行访问的 终端所属的服务部署区域;

所述预加载网页信息包括: 预加载网页的访问量; 所述本地缓存状态信息包括: 本地缓存的当前空闲空间的容量和本地缓存中可被重 复利用空间的容量。

3、 根据权利要求 2所述的方法, 其特征在于, 根据所述历史数据, 更新预加载策 略包括:

根据所述被访问网页的访问量和访问的时间范围, 计算访问量大于第一阈值的时间 范围, 根据所述访问量大于第一阈值的时间范围调整所述预加载的时间范围; 根据所述被访问网页的访问量和执行访问的终端所属的服务部署区域, 计算预设区 域内的访问量是否大于第二阈值, 如果是, 将所述区域设置为预加载区域, 如果否, 将 所述区域从所述预加载区域中排除;

根据所述被访问网页的访问量和预加载网页的访问量计算预加载网页的用户使用 率, 根据所述用户使用率调整所述预加载页面深度;

计算本地缓存中的当前空闲空间的容量和可被重复利用空间的容量, 生成目标空间 容量, 根据所述目标空间容量调整所述预加载可用缓存空间的容量。

4、 根据权利要求 1至 3中任意一项权利要求所述的方法, 其特征在于, 所述根据 当前预加载策略进行预加载, 包括: 当预加载处于初始状态时, 从预设的域名列表中, 根据域名选择的优先级选择目标 域名, 从所述目标域名包含的网页中选择预加载网页。

5、 根据权利要求 4所述的方法, 其特征在于, 还包括: 在预设的时间周期内统计与所述域名列表对应的域名的访问参数, 所述访问参数包 括: 网页浏览量, 和 /或域名用户量, 和 /或用户平均访问量, 和 /或用户停留时长; 根据所述访问参数调整所述域名在所述域名列表中的域名的优先级。

6、 一种网页预加载装置, 包括存储器、 一个或多个处理器, 其特征在于, 所述装 置包括:

预加载单元, 存储于存储器中, 并且被一个或多个处理器执行用于根据当前预加载 策略进行网页预加载, 所述预加载策略包括: 预加载时间范围、 预加载区域、 预加载页 面深度和预加载可用缓存空间;

统计单元, 存储于存储器中, 并且被一个或多个处理器执行用于在预设的时间周期 内统计历史数据, 所述历史数据包括: 被访问网页的信息、 预加载网页的信息和本地缓 存状态信息;

更新单元, 存储于存储器中, 并且被一个或多个处理器执行用于根据所述统计单元 统计的历史数据, 更新所述预加载策略。

7、 根据权利要求 6所述的装置, 其特征在于, 所述统计单元包括: 第一统计子单元, 用于统计所述被访问网页的信息, 包括: 被访问网页的访问量、 访问的时间范围和进行访问的终端所属的服务部署区域;

第二统计子单元, 用于统计所述预加载网页信息, 包括: 预加载网页的访问量; 第三统计子单元, 用于统计本地缓存状态信息, 包括: 本地缓存的当前空闲空间的 容量和本地缓存中可被重复利用空间的容量。

8、 根据权利要求 7所述的装置, 其特征在于, 所述更新单元包括:

第一计算子单元, 用于根据所述被访问网页的访问量和访问的时间范围, 计算访问 量大于第一阈值的时间范围;

第一调整子单元, 用于根据所述第一计算子单元计算的所述访问量大于第一阈值的 时间范围调整所述预加载的时间范围;

第二计算子单元, 用于根据所述被访问网页的访问量和执行访问的终端所属的服务 部署区域, 计算预设区域内的访问量是否大于第二阈值; 第二调整子单元, 用于当所述预设区域内的访问量大于所述第二阈值时, 将所述区 域设置为预加载区域, 否则, 将所述区域从预加载区域中排除;

第三计算子单元, 用于根据所述被访问网页的访问量和预加载网页的访问量计算预 加载网页的用户使用率;

第三调整子单元, 用于根据所述第三计算子单元计算的所述用户使用率调整所述预 加载页面深度;

第四计算子单元, 用于计算本地缓存中的当前空闲空间的容量和可被重复利用空间 的容量;

第四调整子单元, 用于根据所述第四计算子单元计算的当前空闲空间的容量和可被 重复利用空间的容量, 生成目标空间容量, 根据所述目标空间容量调整所述预加载可用 缓存空间的容量。

9、 根据权利要求 6至 8中任意一项权利要求所述的装置, 其特征在于, 所述预加载单元, 用于当预加载处于初始状态时, 从预设的域名列表中, 根据域名 选择的优先级选择目标域名, 从所述目标域名包含的网页中选择预加载网页。

10、 根据权利要求 9所述的装置, 其特征在于, 所述统计单元还包括: 第四统计子单元, 用于在预设的时间周期内统计与所述域名列表对应的域名的访问 参数, 所述访问参数包括: 网页浏览量, 和 /或域名用户量, 和 /或用户平均访问量, 和 / 或用户停留时长;

所述更新单元还包括:

第五调整子单元, 用于根据所述访问参数的变化调整所述域名在所述域名列表中的 优先级。

11、 一种计算机可读存储介质, 其中存储有计算机可执行指令, 当处理器执行所述 计算机可执行指令时, 处理器完成以下步骤: 根据当前预加载策略进行网页预加载, 所述预加载策略包括: 预加载时间范围、 预 加载区域、 预加载页面深度和预加载可用缓存空间; 在预设的时间周期内统计历史数据, 所述历史数据包括: 被访问网页的信息、 预加 载网页的信息和本地缓存状态信息; 根据所述历史数据, 更新所述预加载策略。

12、一种网页预加载方法, 其特征在于, 包括以下步骤: 获取包含被访问网页的信息、 预加载网页的信息和本地缓存状态信息中的一种或多 种信息的历史数据;

在预设周期内统计所述历史数据,更新预读策略; 根据所述预读策略进行网页预加载。

13、 如权利要求 12所述的网页预加载方法, 其特征在于, 所述网页预加载包括: 解析参考页面中的 URL, 根据所述预读策略选择一个或多个页面的 URL发送至 URL 队列当中;

预加载与所述 URL队列中的 URL对应的页面数据。

14、 如权利要求 12或 13所述的网页预加载方法, 其特征在于, 所述历史数据包括 被访问的网页信息,所述被访问的网页信息包括被访问网页的访问量和访问的时间范围。

15、 如权利要求 14所述的网页预加载方法, 其特征在于, 根据在预定周期内的统 计的历史数据, 更新所述预读策略包括: 根据所述被访问网页的访问量和访问的时间范 围, 计算访问量大于第一阈值的时间范围, 根据所述访问量大于第一阈值的时间范围调 整所述预加载的时间范围。

16、 如权利要求 12或 13所述的网页预加载方法, 其特征在于, 所述历史数据包括 被访问的网页信息, 所述被访问的网页信息包括被访问网页的访问量和预加载网页的访 问量。

17、 如权利要求 16所述的网页预加载方法, 其特征在于, 根据在预定周期内的统 计的历史数据,更新所述预读策略包括:根据所述被访问网页的访问量和 /或预加载网页 的访问量计算预加载网页的用户使用率,根据所述用户使用率调整所述预加载页面深度。

18、 如权利要求 12或 13所述的网页预加载方法, 其特征在于, 所述历史数据包括 执行访问的终端所属服务部署区域。

19、 如权利要求 18所述的网页预加载方法, 其特征在于, 根据在预定周期内的统 计的历史数据, 更新所述预读策略包括: 根据所述被访问网页的访问量和执行访问的终端所属的服务部署区域, 计算预设区 域内的访问量是否大于第二阈值;

如果是, 将所述区域设置为预加载区域; 如果否, 将所述区域从所述预加载区域中排除。

20、 如权利要求 12或 13所述的网页预加载方法, 其特征在于, 所述历史数据包括 本地缓存状态信息,所述本地缓存状态信息包括本地缓存的当前控制空间的容量和 /或本 地缓存中可被重复利用空间的容量。

21、 如权利要求 20所述的网页预加载方法, 其特征在于, 根据在预定周期内的统 计的历史数据, 更新所述预读策略包括:

计算本地缓存中的当前空闲空间的容量和可被重复利用空间的容量, 生成目标空间 容量, 根据所述目标空间容量调整所述预加载可用缓存空间的容量。 22、 根据权利要求 12或 13所述的网页预加载方法, 其特征在于, 还包括: 在初始 状态下从预设的域名列表中, 选择一域名并加载与该域名对应的页面作为参考页面。

23、 如权利要求 22 所述的网页预加载方法, 其特征在于, 根据域名因素选择所述 域名列表中的域名, 所述域名因素包括域名访问量, 域名 RTT, 域名用户量, 用户平均 停留时长, 用户平均访问 URL数中的一种或多种。

24、 如权利要求 23所述的网页预加载方法, 其特征在于, 依次根据域名访问量、 域名用户量、 用户平均访问 URL数、 用户平均停留时长、 域名 RTT的先后顺序选择域名 列表中的域名。

25、一种网页预加载系统, 包括存储器、 一个或多个处理器; 数据获取单元, 存储在存储器中, 并且被一个或多个处理器执行用于获取包含被访 问网页的信息、预加载网页的信息和本地缓存状态信息中的一种或多种信息的历史数据; 更新单元, 存储在存储器中, 并且被一个或多个处理器执行用于在预设周期内统计 所述历史数据, 更新预读策略;

预加载单元, 存储在存储器中, 并且被一个或多个处理器执行用于根据所述预读策 略进行网页预加载。

26、 如权利要求 25所述的一种网页预加载系统, 其特征在于, 所述历史数据包括 被访问的网页信息,所述被访问的网页信息包括被访问网页的访问量和访问的时间范围。

27、 如权利要求 26所述的网页预加载系统, 其特征在于, 所述数据获取单元包括 第一统计子单元, 所述第一统计子单元用于根据所述被访问网页的访问量和访问的时间 范围, 计算访问量大于第一阈值的时间范围, 根据所述访问量大于第一阈值的时间范围 调整所述预加载的时间范围。

28、 如权利要求 25所述的网页预加载系统, 其特征在于, 所述历史数据包括被访 问的网页信息,所述被访问的网页信息包括被访问网页的访问量和预加载网页的访问量。

29、 如权利要求 28所述的网页预加载系统, 其特征在于, 所述数据获取单元包括 第二统计子单元,所述第二统计子单元用于根据所述被访问网页的访问量和 /或预加载网 页的访问量计算预加载网页的用户使用率, 根据所述用户使用率调整所述预加载页面深 度。

30、 如权利要求 25所述的网页预加载系统, 其特征在于, 所述历史数据包括执行 访问的终端所属服务部署区域。

31、 如权利要求 30所述的网页预加载系统, 其特征在于, 所述数据获取单元包括 第三统计子单元, 所述第三统计子单元用于: 根据所述被访问网页的访问量和执行访问的终端所属的服务部署区域, 计算预设区 域内的访问量是否大于第二阈值;

如果是, 将所述区域设置为预加载区域;

如果否, 将所述区域从所述预加载区域中排除。

32、 如权利要求 25所述的网页预加载系统, 其特征在于, 所述历史数据包括本地 缓存状态信息,所述本地缓存状态信息包括本地缓存的当前控制空间的容量和 /或本地缓 存中可被重复利用空间的容量。

33、 如权利要求 32所述的网页预加载系统, 其特征在于, 所述数据获取单元包括 第四统计子单元, 所述第四统计子单元用于:

计算本地缓存中的当前空闲空间的容量和可被重复利用空间的容量, 生成目标空间 容量, 根据所述目标空间容量调整所述预加载可用缓存空间的容量。

34、 根据权利要求 25至 33中任意一项权利要求所述的网页预加载系统, 其特征在 于, 还包括预加载单元, 所述预加载单元存储在所述存储器中, 被一个或多个处理器执 行用于在初始状态下从预设的域名列表中, 选择一域名并加载与该域名对应的页面作为 参考页面。

35、 如权利要求 34所述的网页预加载系统, 其特征在于, 所述预加载单元包括域 名选择单元, 所述域名选择单元用于根据域名因素选择所述域名列表中的域名。

36、 如权利要求 35 所述的网页预加载系统, 其特征在于, 所述域名因素包括域名 访问量, 域名 RTT, 域名用户量, 用户平均停留时长, 用户平均访问 URL数中的一种或 多种。

37、 如权利要求 25所述的网页预加载系统, 其特征在于, 依次根据域名访问量、 域名用户量、 用户平均访问 URL数、 用户平均停留时长、 域名 RTT的先后顺序选择域名 列表中的域名。

38、 一种计算机可读存储介质, 其中存储有计算机可执行指令, 当处理器执行所述 计算机可执行指令时, 处理器处理完成以下步骤: 获取包含被访问网页的信息、 预加载网页的信息和本地缓存状态信息中的一种或多 种的历史数据; 在预设周期内统计所述历史数据, 更新预读策略; 根据所述预读策略进行网页预加载。

39、 一种计算机可读存储介质, 其中存储有计算机可执行指令, 当处理器执行所述 计算机可执行指令时, 处理器完成以下步骤: 获取包含被访问网页的信息、 预加载网页的信息和本地缓存状态信息中的一种或多 种信息的历史数据; 在预设周期内统计所述历史数据, 更新预读策略;

根据所述预读策略进行网页预加载, 其中, 根据所述历史数据更新预读策略包含以下一种或多种:

当所述历史数据包括被访问的网页信息, 所述被访问的网页信息包括被访问网页的 访问量和访问的时间范围时, 根据在预定周期内的统计的历史数据, 更新所述预读策略 包括: 根据所述被访问网页的访问量和访问的时间范围, 计算访问量大于第一阈值的时 间范围, 根据所述访问量大于第一阈值的时间范围调整所述预加载的时间范围; 当所述历史数据包括被访问的网页信息, 所述被访问的网页信息包括被访问网页的 访问量和预加载网页的访问量时, 根据在预定周期内的统计的历史数据, 更新所述预读 策略包括:根据所述被访问网页的访问量和 /或预加载网页的访问量计算预加载网页的用 户使用率, 根据所述用户使用率调整所述预加载页面深度; 当所述历史数据包括执行访问的终端所属服务部署区域时, 根据在预定周期内的统 计的历史数据, 更新所述预读策略包括根据所述被访问网页的访问量和执行访问的终端 所属的服务部署区域, 计算预设区域内的访问量是否大于第二阚值; 如果是, 将所述区 域设置为预加载区域; 如果否, 将所述区域从所述预加载区域中排除; 当所述历史数据包括本地缓存状态信息, 所述本地缓存状态信息包括本地缓存的当 前控制空间的容量和 /或本地缓存中可被重复利用空间的容量时,所述根据所述历史数据 更新预加载策略包括计算本地缓存中的当前空闲空间的容量和可被重复利用空间的容 量, 生成目标空间容量, 根据所述目标空间容量调整所述预加载可用缓存空间的容量。

Description:
网页预加载方法及装置 技术领域 本发明涉及互联网技术领域, 特别是涉及一种网页预加载方法及装置。 背景技术 在用户浏览网页时, 为了缩短网页数据的加载时间, 通常浏览器会对网页进行预加 载, 即在载入当前页面后, 利用用户浏览当前页面的这段时间, 浏览器预测用户下一步可能 要访问的目标网页, 将该目标网页数据下载下来, 并保存到本地缓存中。 一旦用户打开这个 目标网页的链接时, 浏览器直接从缓存中将该目标网页数据提取出 来, 快速呈现给用户。 网页数据的预加载技术通常会根据一些固定的 策略和规则来识别一部分需要预加载 的目标网页, 如统计近段时间比较热门的话题网页, 含有某些关键字的网页等。 这些方 法都是基于统计结果,从目标网页的选择方面 先决性地告诉系统需要去预加载哪些网页, 然后将这些网页保存在本地缓存空间, 等待用户下次访问时读取。

发明人在对现有技术研宄后发现, 这些预加载网页的方法中对预加载的页面的预 测 规则都相对比较固定, 一旦统计结果发生改变, 需要人工设定新的规则, 缺乏灵活性, 而且由于预加载规则的滞后也容易导致预加载 网页 "命中" 的准确率降低。

另外, 在移动终端 Android应用开发中, 都会遇到后期功能拓展增强与应用程序代 码变更的现实矛盾, 也就是程序的灵活度问题。 解决这种矛盾可以借鉴传统软件中扩展 程序的方法, 也就是插件的实现。 一个现成的应用程序需要与插件进行交互, 需要在这 个应用程序中集成一个插件系统。 目前现有的移动终端应用程序插件系统, 都是作为应用程序的一部分而开发的, 插 件系统依赖于这个应用程序而存在。 目前的现有的插件系统的架构, 应用程序和插件系 统依赖性非常严重, 并且两者之间也密不可分。 插件系统所具备的功能: 插件加载、 卸 载、 管理、 插件调用、 插件接口等功能都依赖于应用程序。 无论插件调用应用程序还是 应用程序调用插件都必须经过插件系统, 应用程序与插件系统的耦合性非常髙。 因此, 现有的插件系统, 各部分之间的依赖性过强, 一个部分的改变会导致其他很 多部分的改变, 导致开发和设计工作量大, 应用灵活性差, 而且经常改动也容易使得插 件系统不稳定。 发明内容 本发明实施例中提供了一种网页预加载方法及 对应的装置, 以解决现有技术中对预 加载的页面的预测规则都相对比较固定, 一旦统计结果发生改变, 需要人工设定新的规 则, 缺乏灵活性, 而且由于预加载规则的滞后也容易导致预加载 网页 "命中"的准确率 降低问题。

为了解决上述技术问题, 本发明实施例公开了如下技术方案:

一方面, 提供了一种网页预加载方法, 所述方法包括:

根据当前预加载策略进行网页预加载, 所述预加载策略包括: 预加载时间范围、 预 加载区域、 预加载页面深度和预加载可用缓存空间; 在预设的时间周期内统计历史数据, 所述历史数据包括: 被访问网页的信息、 预加 载网页的信息和本地缓存状态信息; 根据所述历史数据, 更新所述预加载策略。

另一方面, 提供一种网页预加载装置, 包括存储器、 一个或多个处理器, 所述装置 包括:

预加载单元, 存储于存储器中, 并且被一个或多个处理器执行用于根据当前预 加载 策略进行网页预加载, 所述预加载策略包括: 预加载时间范围、 预加载区域、 预加载页 面深度和预加载可用缓存空间;

统计单元, 存储于存储器中, 并且被一个或多个处理器执行用于在预设的时 间周期 内统计历史数据, 所述历史数据包括: 被访问网页的信息、 预加载网页的信息和本地缓 存状态信息;

更新单元, 存储于存储器中, 并且被一个或多个处理器执行用于根据所述统 计单元 统计的历史数据, 更新所述预加载策略。

又一方面, 本发明还公开了一种网页预加载方法, 包括以下步骤: 获取包含被访问网页的信息、 预加载网页的信息和本地缓存状态信息中的一 种或多 种信息的历史数据; 在预设周期内统计所述历史数据,更新预读策 略;

根据所述预读策略进行网页预加载。

又一方面, 本发明还公开了一种网页预加载系统, 包括存储器、一个或多个处理器; 数据获取单元, 存储在存储器中, 并且被一个或多个处理器执行用于获取包含被 访 问网页的信息、预加载网页的信息和本地缓存 状态信息中的一种或多种信息的历史数据; 更新单元, 存储在存储器中, 并且被一个或多个处理器执行用于在预设周期 内统计 所述历史数据, 更新预读策略;

预加载单元, 存储在存储器中, 并且被一个或多个处理器执行用于根据所述预 读策 略进行网页预加载。 另外, 本发明还公开了一种计算机可读存储介质, 其中存储有计算机可执行指令, 当处理器执行所述计算机可执行指令时, 处理器处理完成以下步骤: 获取包含被访问网页的信息、 预加载网页的信息和本地缓存状态信息中的一 种或多 种的历史数据; 在预设周期内统计所述历史数据, 更新预读策略;

根据所述预读策略进行网页预加载。

另外一方面, 还公开了一种插件系统, 所述插件系统用于移动终端, 包括: 引擎模块和适配模块;

引擎模块, 独立于应用程序, 用于提供与插件相关的核心功能, 在插件加载过程中 与适配模块进行交互;

适配模块, 用于将应用程序的不同功能以接口的方式提供 给插件使用, 在通过所述 接口接收到所述插件调用所述应用程序的应用 程序调用消息后, 将应用程序调用消息传 递给应用程序进行处理, 在接收到所述应用程序发送的插件调用消息后 , 通过所述接口 将所述插件调用消息传递给所述插件进行处理 。 优选的, 所述引擎模块包括:

插件管理模块、 插件加载模块、 适配对接模块、 第一应用程序对接模块、 插件通道 建立模块;

插件管理模块, 用于接收到插件配置信息和生成插件镜像的消 息后, 根据插件配置 信息生成插件镜像, 接收由适配对接模块传递过来的插件加载请求 信息发送给所述插件 加载模块, 接收所述插件加载模块发送的完成插件加载的 信息; 插件加载模块, 用于接收插件管理模块发送的插件加载请求信 息, 根据所述插件加 载请求信息加载插件, 且将完成插件加载的信息发送给插件管理模块 , 其中所述插件加 载请求信息是当适配模块收到应用程序发出的 插件调用消息后査询该插件没有加载时发 送给适配对接模块且由适配对接模块传递给插 件管理模块的; 适配对接模块, 用于传输引擎模块与适配模块之间的交互信息 ; 第一应用程序对接模块, 用于传输所述引擎模块与应用程序之间的交互 信息; 插件通道建立模块, 用于建立插件与应用程序间的插件通信通道。 优选的, 所述引擎模块还包括以下的一个或多个模块,

插件检测模块, 用于检测新插件, 获取插件配置信息, 向插件管理模块发送插件配 置信息和生成插件镜像的消息; 插件存储模块, 用于存储所述插件管理模块生成的插件镜像。

优选的, 其中, 所述引擎模块还包括以下的一个或多个模块,

插件合法性管理模块 ,用于根据所述插件管理模块发送的插件合法 性判断信息进行 插件合法性判断, 且将合法性判断结果发送给插件管理模块; 插件权限管理模块, 用于根据所述插件管理模块发送的插件权限校 验信息进行插件 权限校验, 校验通过, 则生成插件权限列表, 且将校验结果发送给插件管理模块。 优选的, 所述适配模块包括:

第二应用程序对接模块、 引擎对接模块、 插件对接模块; 第二应用程序对接模块, 用于在接收所述插件对接模块发送的插件对应 用程序进行 调用的应用程序调用信息后, 将所述应用程序调用信息发送至应用程序, 在接收到应用 程序对插件进行调用的插件调用消息后, 生成当前插件是否已经加载的判断请求, 且将 判断请求发送给引擎对接模块,该插件已经加 ,则将插件调用消息发送给插件,如果该 插件没有加载则等待插件加载, 加载完成后将插件调用消息发送给插件;

引擎模块对接模块, 用于传输引擎模块与适配模块之间的交互信息 , 判断当前插件 是否已经加载, 若没有加载, 则向引擎模块的适配对接模块发送插件加载请 求; 插件对接模块, 用于接收第二应用程序对接模块发送过来的插 件调用消息, 且将所 述插件调用消息发给插件, 接收插件发送的应用程序调用消息, 将所述应用程序调用消 息发送给第二应用程序对接模块。 优选的, 所述适配模块包括,

插件 SDK模块, 设置于插件对接模块与插件之间, 用于接收插件对应用程序的应用 程序调用消息, 将所述应用程序调用消息发送给所述第二应用 程序对接模块, 接收由所 述插件对接模块发送过来的应用程序对插件的 插件调用消息, 将所述插件调用消息发送 给插件进行处理。

此外, 本发明还提供了一种插件管理方法, 包括:

在插件系统中设置适配模块和独立于应用程序 的引擎模块; 应用程序对插件进行调用的插件调用消息依次 经过所述引擎模块和适配模块对插件 进行调用;

插件对应用程序进行调用的应用程序调用消息 通过所述适配模块对所述应用程序进 行调用。

优选的, 包括: 当所述引擎模块检测到新插件时, 获取所述插件的配置信息, 根据插件配置信息生 成插件镜像, 存储插件镜像。

优选的, 包括: 当适配模块收到应用程序调用插件消息时, 判断当前被调用插件是否已经加载; 如 果当前被调用插件没有加载, 适配模块通知引擎模块进行插件加载, 引擎模块收到插件 加载请求后,解读当前被调用的插件的插件镜 像,获得当前被调用插件的插件配置信息, 根据插件的配置信息, 找到当前被调用的插件, 并加载当前被调用的插件。

优选的, 包括: 所述引擎模块对插件进行插件合法性判断, 若插件合法, 则加载插件。

优选的, 包括: 所述引擎模块对插件进行插件权限校验, 若校验通过, 则生成插件的权限列表, 且 将所述插件的权限列表发送给所述插件管理模 块。

其中, 所述当适配模块收到应用程序对插件调用的插 件调用消息时, 将所述插件调 用消息传递至所述插件进行处理包括: 适配模块的第二应用程序对接模块接收到所述 插件调用消息, 将所述插件调用消息 发送至适配模块的插件对接模块; 所述插件对接模块收到所述插件调用消息, 将所述插件调用消息发送至所述插件进 行处理。

其中, 所述当适配模块收到插件对应用程序调用的应 用程序调用消息时, 将所述应 用程序调用消息传递至应用程序进行处理包括 : 所述适配模块的插件对接模块接收到插件对应 用程序调用的应用程序消息, 将所述 应用程序调用消息发送至所述适配模块第二应 用程序对接模块;

所述第二应用程序对接模块接收所述应用程序 调用消息, 将所述应用程序调用消息 发送至应用程序进行处理。 由以上技术方案可见, 本发明通过统计预设时间内的预加载历史数据 , 根据历史数 据的变化自动更新预加载策略, 使预加载策略能够实时适应网络及用户访问情 况, 提高 预加载的命中准确率。 附图说明 为了更清楚地说明本发明实施例或现有技术中 的技术方案, 下面将对实施例或现有 技术描述中所需要使用的附图作简单地介绍, 显而易见地, 对于本领域普通技术人员而 言, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。

图 1A为本发明一种网页预加载方法提供的一个实 例的流程示意图;

图 1B为预加载页面深度的示意图; 图 2A为本发明一种网页预加载方法提供的另一个 施例的流程示意图;

图 2B为预加载的一个具体流程的示意图; 图 3为本发明一种网页预加载装置提供的一个实 例的结构示意图; 图 4为统计单元的一个结构示意图;

图 5为更新单元的一个结构示意图; 图 6为统计单元的另一个结构示意图;

图 7为更新单元的另一个结构示意图; 图 8是本发明所述一种网页预加载系统的实施方 的结构示意图

图 9示出了本发明的插件系统的总的方框示意图 图 10示出了本发明的插件系统的引擎模块的第一 施例方框示意图; 图 11示出了本发明的插件系统的引擎模块的第二 施例方框示意图;

图 12示出了本发明的插件系统的适配模块的方框 意图; 图 13 示出了移动终端应用程序利用本发明的实施例 的插件系统进行插件调用的流 程图;

图 14示出了移动终端的插件利用本发明的实施例 插件系统进行应用程序调用的 流程图;

图 15 示出了根据本发明的实施例的插件系统进行插 件安装和插件加载实施例流程 示意图。 具体实施方式 为了使本技术领域的人员更好地理解本发明中 的技术方案, 下面将结合本发明实施 例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实 施例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领 域普通技术人员在没有做出创造性劳动前提下 所获得的所有其他实施例, 都应当属于本 发明保护的范围。

参见图 1A, 为本发明实施例提供的一种网页预加载方法的 流程示意图, 本实施例包 括以下步骤:

S101 : 根据当前预加载策略进行网页预加载, 所述预加载策略包括: 预加载时间范 围、 预加载区域、 预加载页面深度和预加载可用缓存空间;

可以根据当前的预加载策略进行网页的预加载 , 例如, 当前的预加载的时间范围为 早上八点至十一点, 晚上七点至十点; 预加载区域为华东地区、 华北地区、 东北地区、 华南地区的所有城市; 相对于入口页面的预加载页面深度为 3 (假设包括当前页面); 预 加载可用缓存空间为 100M。 当前时间在预加载时间范围内、 区域属于预加载区域时, 并且本地可用的缓存空间 大于 100M时, 开启预加载操作。 在此需要说明的是, 可以在全网内统一设置预加载时间范围、 预加载区域、 预加载 页面深度, 也可以根据不同的域名、 特定的网页类型及区域设置相应的预加载时间 及预 加载页面深度。 本发明中所称的域名为广义上的域名, 可以为子域名或某些域名下的子 目录网页。 例如, 可以先以域名来划分, 在百度域名下, 可以设置华东、 华北、 华南三个预加 载区域, 每个预加载区域都有各自相应的预加载时间范 围及预加载页面深度, 当然, 也 可以先以区域来划分, 如在华北地区, 可以设置百度、 搜狐、 新浪等域名, 在每个域名 都可以设置对应的预加载时间范围及预加载页 面深度。

在此解释一下预加载页面深度的概念, 页面深度是指用户沿着一个网页链接深入访 问的网页的层数。 举例来说, 参考图 1B, 为预加载页面深度的示意图。 首先指定一个当 前页面作为参考页面, 也称入口页面, 如百度首页, 将该页面称为 Pagel, 从百度首页 中选择一个或多个链接, 如 "百度新闻", 称为 Page2, 再从 "百度新闻"中选择一个或 多个链接, 如 "互联网"和 "科技", 称为 Page3。 Pagel为第一层, Page2为第二层, Page3为第三层。 将 Page2、 Page3页面都作为预加载页面, 此时预加载页面深度为 3, 即表示预加载的最底层页面与参考页面的距离 为 3 (认为包括参考页面), 也有一些文献 或技术中认为这种情况下的页面深度为 2 (即认为不包括参考页面)。 预加载可以根据关键字方法、 白名单方法等进行预加载页面的选择, 在此就不再赘 述。 在进行预加载过程中, 选择预加载的页面后, 对该页面(参考页面)进行解析获取, 将预加载的页面的地址标识如 URL发送到预加载队列中; 从预加载队列中取出该 URL, 该队列可以是 FIFO队列, 也可以是基于优先级的 FIFO队列, 然后向网络发起请求获得 该页面的数据, 在得到网络发出的肯定的应答后, 从服务器中获得该页面的数据, 并将 该页面数据保存在本地缓存当中, 当用户访问到该网页时, 从缓存中取出页面数据, 呈 现给用户。

在此需要说明的是, 在本发明的其他实施例中, 预加载策略中包含的预加载时间范 围、 预加载区域、 预加载页面深度和预加载可用缓存空间这几个 参数, 可以有选择性的 选择一个或多个, 本实施例将这几个参数都作为预加载策略, 是优选的方案。

S102 : 在预设的时间周期内统计历史数据,所述历史 数据包括:被访问网页的信息、 预加载网页的信息和本地缓存状态信息;

可以根据在预设的一段时间内统计历史数据, 也可以设定一定的预加载次数, 如经 过 50次预加载之后统计一次历史数据。 具体的被访问网页的信息包括, 被访问网页的访问量、 访问的时间范围和执行访问 的终端所属的服务部署区域;

预加载网页信息包括: 预加载网页的访问量;

本地缓存状态信息包括: 本地缓存的当前空闲空间的容量和本地缓存中 可被重复利 用空间的容量。 在这里解释一下本地缓存中可被重复利用空间 ,在缓存中存储的预加载页面数据中, 有一部分可能在很长一段时间内未被用户访问 , 或访问量很小, 因此, 这一部分页面数 据可以定期被清理出去, 其所占的内存空间即为可重复利用空间。

S103 :根据所述历史数据, 更新所述预加载策略。 根据所述被访问网页的访问量和被访问的时间 范围, 计算访问量大于第一阈值的时 间范围, 根据所述访问量大于第一阈值的时间范围调整 所述预加载的时间范围; 根据所述被访问网页的访问量和执行访问的终 端所属的服务部署区域, 计算预设区 域内的访问量是否大于第二阈值, 如果是, 将所述区域设置为预加载区域, 如果否, 将 所述区域从预加载区域中排除; 根据所述被访问网页的访问量和预加载网页的 访问量计算预加载网页的用户使用 率, 根据所述用户使用率调整所述预加载页面深度 ; 计算本地缓存中的当前空闲空间的容量和可被 重复利用空间的容量, 生成目标空间 容量, 根据所述目标空间容量调整所述预加载可用缓 存空间的容量。 在预加载的初始, 可以根据预设的域名列表, 从中选择一个目标域名, 再从目标域 名中选择一个网页作为预加载网页。另可以预 设一些域名访问参数, 如网页浏览量, 和 / 或域名用户量, 和 /或用户平均访问量, 和 /或用户停留时长, 根据域名的访问参数决定 域名列表中的各个域名的访问优先级, 因此在更新历史数据时, 也可以通过更新域名访 问参数来调整各个域名的访问优先级。

在此需要说明的是, 根据预加载策略实际包含的参数的个数进行更 新, 如预加载策 略中可能包含预加载时间范围、 预加载区域、 预加载页面深度和预加载可用缓存空间这 几个参数中的一个或多个, 可以有选择性的更新其中的一个或若干个参数 。 本实施例将 这几个参数都更新, 是优选的方案。

在下一次预加载周期时, 将根据更新后的预加载策略进行预加载。

参见图 2A, 为本发明一种网页预加载方法提供的另一实施 例的流程示意图, 本实施 例包括以下步骤:

S201: 根据当前网页及预加载策略进行预加载;

步骤 S201的预加载操作具体可以包括以下步骤 S2011至 S20110, 参见图 2B, 为预 加载的具体流程图。

S2011: 判断当前区域是否属于预加载区域, 如果是, 执行步骤 S2012, 否则不执行 预加载, 流程结束;

S2012: 判断当前时间是否在预加载的时间范围内, 如果是, 执行步骤 S2013, 否则 不执行预加载, 流程结束;

可以在预设的预加载区域内分别设置预加载时 间,预加载区域的设置可以以若干省、 市、 地区等为单位, 也可以根据网络部署自行划分。 在一天中, 可以设置若干个预加载 时间范围。

S2013:判断当前缓存中的可用空间容量是否大于 预加载可用缓存空间的容量,如果 是, 执行步骤 S2014, 否则不执行预加载, 流程结束; 当前缓存中可用空间的容量包含两部分, 一部分是当前缓存中空闲空间的容量, 另 一部分为可被重复利用空间的容量, 可被重复利用空间的概念在实施例 1中已做说明, 在此不再赘述。

需要说明的是, 本发明对于步骤 S2011、 S2012及 S2013的执行顺序不作限制, 本实 施例中的步骤只是其中的优选方案。 在本发明的其他实施例中,也可以选择性的执 行 S2011、 S2012及 S2013中的一个或 两个步骤, 本实施例中三个步骤均执行只是其中的优选方 案。

S2014: 判断预加载是否处于初始状态, 如果是, 执行步骤 S2015至 S2016, 否则执 行步骤 S2017; 一般情况下, 可以设置当前页面为参考页面进行解析。 预加载处于初始状态是指系 统刚启动, 或没有当前页面, 不能根据当前页面进行预加载, 只能从预设的域名列表中 选择预加载网页。

S2015 : 从预设的域名列表中, 根据域名选择的优先级选择目标域名;

S2016: 从所述目标域名包含的网页中选择一个或多个 网页作为预加载网页; 当系统处于初始状态时, 不存在当前页面, 可以从预设的域名配置列表中选择若干 个域名, 例如选择百度这个域名, 在该域名包含的网页中选择若干网页, 如百度首页, 或百度新闻首页等, 作为预加载网页。

在域名列表中有若干个域名, 各个域名的优先级是由一系列域名的访问参数 来决定 的, 该访问参数包括网页浏览量 PV, 和 /或域名用户量, 和 /或用户平均访问量, 和 /或 用户停留时长。 如可以规定, 在选择域名时, 可以优先考虑网页浏览量, 其次是域名用 户量, 其次是用户平均访问量, 再次是用户停留时长。 当两个域名的网页浏览量相差不 多时, 再判断域名用户量, 当域名用户量相差不多时, 再考虑用户平均访问量, 最后考 虑用户停留时长。 当然顺序也可以变换, 在此不作限制。 又或者, 可以给各个参数设定 权重, 通过计算各参数与权重的乘积之和来确定优先 级顺序。 域名配置列表中预存的域名为广义上的域名, 可以为子域名或某些域名下的子目录 网页。

S2017: 根据当前网页和预加载页面深度选择预加载的 网页; 预加载可以根据关键字方法、 白名单方法等进行预加载页面的选择, 在此就不再赘 述。

S2018: 将所述预加载的网页的地址标识发送到预加载 队列中;

预加载队列可以是 FIFO队列, 也可以是基于优先级的 FIFO队列, 网页的地址标识 可以是网页的 URL等标识。

S2019: 根据预加载队列中的地址标识向网络请求获取 预加载网页的数据; 在得到网络的肯定应答后, 根据所述预加载网页的地址标识获取该预加载 网页的相 关数据。 S20110: 将所述预加载网页的数据保存到本地缓存中。 之后等待用户访问预加载的网页时, 从本地缓存中将该网页数据提取出来, 呈现给 用户。

在预设的时间周期内, 或预设次数的预加载后, 执行如下的步骤 S202至 S212。

S202: 根据被访问网页的访问量和被访问的时间范围 , 计算访问量大于第一阈值的 时间范围。

可以以预加载区域或网络部署的各个大区, 或特定类型的网页为统计对象, 设置第 一阈值, 分别统计在该对象内的网页的访问量大于第一 阈值的时间范围, 也可以以全网 为对象进行统计。

S203: 根据访问量大于第一阀值的时间范围调整预加 载的时间范围; 当统计得到的时间范围与现有的预加载的时间 范围有较大偏差时, 可以调整该预加 载的时间范围。 举例来说, 在某个时间段内, 网络的访问量最髙峰的时间可能会偏移, 比如经过统 计发现, 正常情况下, 工作日早上八点至十点, 人们对于新闻、 时事等网页的访问量比 较大, 晚上七点至十一点, 人们可能会比较多的访问娱乐、 视频等网站, 在周末, 人们 访问网页的时间可能就没那么集中。 而在奥运会或世界杯期间, 人们往往会根据赛事的 时间来浏览相应的新闻或视频网站, 在网络访问量的髙峰期进行预加载的效果较好 , 因 此需要实时统计网络访问量的高峰期, 从而及时调整开启预加载的时间范围。

S204: 根据所述被访问网页的访问量和执行访问的终 端所属的服务部署区域, 判断 预设区域内的网页访问量是否大于第二阈值, 如果是,执行步骤 S205,否则执行步骤 206。

S205: 将所述区域设置为预加载区域;

S206: 将所述区域从预加载区域中排除; 当该区域的网页访问量大于第二阈值时, 如果该区域为当前预加载的区域时, 仍将 该区域设为预加载区域, 如果该区域不是当前预加载的区域时, 将该区域添加到预加载 区域中。

当该区域的网页访问量不大于第二阚值时, 如果该区域为当前预加载的区域时, 将 该区域从预加载区域中删除。

S207: 根据所述被访问网页的访问量和预加载网页的 访问量计算预加载网页的用户 使用率;

在此解释一下用户使用率, 结合实施例 1中提到的页面深度的概念, 假设在预加载 的最后一层的网页中预加载了 M个网页, 但实际用户只访问了其中的 N个, 则用户使用 率为 N/M。

S208: 根据所述用户使用率调整所述预加载页面深度 ;

当 N/M小于预设的第三阈值时, 可将预加载的页面深度减小, 当 N/M大于预设的第 四阈值时, 可将预加载的页面深度增加。

需要注意的是, 预加载的最后一层网页的下一层网页, 如页面深度为 3, 在 Page3 网页的下一层, Page4 网页中, 有一部分网页被用户访问到, 并且访问的次数大于第四 阈值时, 可以将页面深度增加。

S209: 计算本地缓存中的当前空闲空间的容量和可被 重复利用空间的容量, 生成目 标空间容量;

S210: 根据所述目标空间容量调整所述预加载可用缓 存空间容量;

S211 : 统计域名的访问参数的变化; 域名的访问参数即为从域名列表中选择域名的 访问参数, 包括: 网页浏览量 PV, 和 /或域名用户量, 和 /或用户平均访问量, 和 /或用户停留时长。

S212: 根据域名的访问参数的变化调整域名在域名列 表中的优先级。

需要说明的是, S202和 S203为一组, S204、 S205和 S206为一组, S207和 S208为 一组, S209和 S210为一组, S211和 S212为一组, 共五组, 本发明对这五组步骤的执行 顺序不作限制, 在本发明的其他实施例中, 可以选择性的执行其中的一组或多组步骤, 本实施例中执行五组步骤只是其中的优选方案 。 与本发明提供的网页预加载方法实施例相对应 , 本发明还提供了一种网页预加载装 置的实施例。

参见图 3, 为本发明实施例提供的一种网页预加载装置的 结构示意图。 为了描述的方便, 描述本实施例装置时以功能分为各种单元分别 描述。 当然, 在实 施本发明时可以把各单元的功能在同一个或多 个软件和 /或硬件中实现。

本实施例装置包括: 预加载单元 301, 统计单元 302, 更新单元 303。 其中, 预加载单元 301, 用于根据当前预加载策略进行网页预加载, 所述预加载策 略包括: 预加载时间范围、 预加载区域、 预加载页面深度和预加载可用缓存空间; 可以在预设的预加载区域内分别设置预加载时 间,预加载区域的设置可以以若干省、 市、 地区等为单位, 也可以根据网络部署自行划分。 在一天中, 可以设置若干个预加载 时间范围。 在此需要说明的是, 在本发明的其他实施例中, 预加载单元 301使用的预加载策略 中, 预加载时间范围、预加载区域、预加载页面深 度和预加载可用缓存空间这几个参数, 可以有选择性的选择一个或多个, 本实施例将这几个参数都作为预加载策略, 是优选的 方案。

统计单元 302, 用于在预设的时间周期内统计历史数据, 所述历史数据包括: 被访 问网页的信息、 预加载网页的信息和本地缓存状态信息;

更新单元 303, 用于根据所述统计单元 302统计的历史数据, 更新所述预加载策略。 如图 4所示, 所述统计单元 302可以包括: 第一统计子单元 3021 , 用于统计所述被访问网页的信息, 包括: 被访问网页的访问 量、 访问的时间范围和进行访问的终端所属的服务 部署区域;

第二统计子单元 3022,用于统计所述预加载网页信息,包括: 加载网页的访问量; 第三统计子单元 3023, 用于统计本地缓存状态信息, 包括: 本地缓存的当前空闲空 间的容量和本地缓存中可被重复利用空间的容 量。

如图 5所示, 所述更新单元 303可以包括: 第一计算子单元 3031, 用于根据所述被访问网页的访问量和访问的时 间范围, 计算 访问量大于第一阈值的时间范围; 可以以预加载区域或网络部署的各个大区, 或特定类型的网页为统计对象, 设置第 一阈值, 分别统计在该对象内的网页的访问量大于第一 阈值的时间范围, 也可以以全网 为对象进行统计。

第一调整子单元 3032, 用于根据所述第一计算子单元 3031计算的所述访问量大于 第一阈值的时间范围调整所述预加载的时间范 围;

当统计得到的时间范围与现有的预加载的时间 范围有较大偏差时, 可以调整该预加 载的时间范围。

第二计算子单元 3033,用于根据所述被访问网页的访问量和执 访问的终端所属的 区域, 计算预设区域内的访问量是否大于第二阈值;

第二调整子单元 3034, 用于当所述预设区域内的访问量大于所述第二 阈值时, 将所 述区域设置为预加载区域, 否则, 将所述区域从预加载区域中排除;

第三计算子单元 3035,用于根据所述被访问网页的访问量和预 载网页的访问量计 算预加载网页的用户使用率;

第三调整子单元 3036, 用于根据所述第三计算子单元 3035计算的所述用户使用率 调整所述预加载页面深度;

如何调整预加载的页面深度在方法的实施例中 已有描述, 在此不再赘述。

第四计算子单元 3037,用于计算本地缓存中的当前空闲空间的容 和可被重复利用 空间的容量;

第四调整子单元 3038, 用于根据所述第四计算子单元 3037计算的当前空闲空间的 容量和可被重复利用空间的容量, 生成目标空间容量, 根据所述目标空间容量调整所述 预加载可用缓存空间的容量。

需要说明的是, 3031和 3032为一组, 3033和 3034为一组, 3035和 3036为一组, 3037和 3038为一组, 在本发明的其他实施例中可以选择性的包括其 中的一组或多组, 本发明不作限制。

所述预加载单元 301 , 具体用于当预加载处于初始状态时, 从预设的域名列表中, 根据域名选择的优先级选择目标域名, 从所述目标域名包含的网页中选择预加载网页 , 非初始状态时, 根据已有的方法进行预加载, 详细的过程在方法的实施例中已有描述, 在此不再赘述。

如图 6所示, 所述统计单元 302还可以包括: 第四统计子单元 3024,用于在预设的时间周期内统计与所述域名 表对应的域名的 访问参数, 所述访问参数包括: 网页浏览量, 和 /或域名用户量, 和 /或用户平均访问量, 和 /或用户停留时长。

如图 7所示, 所述更新单元 303还包括: 第五调整子单元 3039,用于根据所述访问参数的变化调整所述域 在所述域名列表 中的优先级。 如何根据访问参数的变化调整优先级在方法实 施例中已做描述, 在此不再 赘述。

本发明的实施方式中可以看出, 通过统计预设时间内的预加载历史数据, 根据历史 数据的变化自动更新预加载策略, 使预加载策略能够实时适应网络及用户访问情 况, 提 高预加载的命中准确率。 另外, 本发明的实施例还教导了一种计算机可读存储 介质, 其中存储有计算机可执 行指令, 当处理器执行所述计算机可执行指令时, 完成以下步骤: 获取包含被访问网页的信息、 预加载网页的信息和本地缓存状态信息中的一 种或多 种信息的历史数据; 在预设周期内统计所述历史数据,更新预读策 ; 根据所述预读策略进行网页预加载。

此外, 参见图 8, 图 8是本发明所述一种网页预加载系统的实施方 的结构示意图。 在图 8示出的网页预加载系统的实施方式中, 其包括存储器、 一个或多个处理器;

数据获取单元, 存储在存储器中, 并且被一个或多个处理器执行用于获取包含被 访 问网页的信息、预加载网页的信息和本地缓存 状态信息中的一种或多种信息的历史数据; 更新单元, 存储在存储器中, 并且被一个或多个处理器执行用于在预设周期 内统计 所述历史数据, 更新预读策略;

预加载单元, 存储在存储器中, 并且被一个或多个处理器执行用于根据所述预 读策 略进行网页预加载。

其中, 所述历史数据包括被访问的网页信息, 所述被访问的网页信息包括被访问网 页的访问量和访问的时间范围。 所述预读评估器包括第一统计子单元, 所述第一统计子 单元用于根据所述被访问网页的访问量和访问 的时间范围, 计算访问量大于第一阈值的 时间范围, 根据所述访问量大于第一阈值的时间范围调整 所述预加载的时间范围。 优选的, 所述历史数据包括被访问的网页信息, 所述被访问的网页信息包括被访问 网页的访问量和预加载网页的访问量。 所述预读评估器包括第二统计子单元, 所述第二 统计子单元用于根据所述被访问网页的访问量 和 /或预加载网页的访问量计算预加载网 页的用户使用率, 根据所述用户使用率调整所述预加载页面深度 。

当所述历史数据包括执行访问的终端所属服务 部署区域时, 所述预读评估器包括第 三统计子单元, 所述第三统计子单元用于: 根据所述被访问网页的访问量和执行访问的 终端所属的服务部署区域, 计算预设区域内的访问量是否大于第二阏值; 如果是, 将所 述区域设置为预加载区域; 如果否, 将所述区域从所述预加载区域中排除。 当所述历史数据包括本地缓存状态信息时, 所述本地缓存状态信息包括本地缓存的 当前控制空间的容量和 /或本地缓存中可被重复利用空间的容量,所 预读评估器包括第 四统计子单元, 所述第四统计子单元用于: 计算本地缓存中的当前空闲空间的容量和可 被重复利用空间的容量, 生成目标空间容量, 根据所述目标空间容量调整所述预加载可 用缓存空间的容量。 此外, 还包括预加载单元, 所述预加载单元存储在所述存储器中, 被一个或多个处 理器执行用于在初始状态下从预设的域名列表 中, 选择一域名并加载与该域名对应的页 面作为参考页面。 所述预加载单元包括域名选择单元, 所述域名选择单元用于根据域名 因素选择所述域名列表中的域名。 所述域名因素包括域名访问量, 域名 RTT, 域名用户 量, 用户平均停留时长, 用户平均访问 URL数中的一种或多种。 优选情况下, 可以依次 根据域名访问量、 域名用户量、 用户平均访问 URL数、 用户平均停留时长、 域名 RTT的 先后顺序选择域名列表中的域名。 另外, 本发明实施方式还公开了一种计算机可读存储 介质, 其中存储有计算机可执 行指令, 当处理器执行所述计算机可执行指令时, 处理器处理完成以下步骤: 获取包含被访问网页的信息、 预加载网页的信息和本地缓存状态信息中的一 种或多 种的历史数据; 在预设周期内统计所述历史数据, 更新预读策略;

根据所述预读策略进行网页预加载。 最后, 本发明实施例还公开了一种计算机可读存储介 质, 其中存储有计算机可执行 指令, 当处理器执行所述计算机可执行指令时, 处理器完成以下步骤: 获取包含被访问网页的信息、 预加载网页的信息和本地缓存状态信息中的一 种或多 种信息的历史数据;

在预设周期内统计所述历史数据, 更新预读策略; 根据所述预读策略进行网页预加载,

其中, 根据所述历史数据更新预读策略包含以下一种 或多种: 当所述历史数据包括被访问的网页信息, 所述被访问的网页信息包括被访问网页的 访问量和访问的时间范围时, 根据在预定周期内的统计的历史数据, 更新所述预读策略 包括: 根据所述被访问网页的访问量和访问的时间范 围, 计算访问量大于第一阈值的时 间范围, 根据所述访问量大于第一阈值的时间范围调整 所述预加载的时间范围; 当所述历史数据包括被访问的网页信息, 所述被访问的网页信息包括被访问网页的 访问量和预加载网页的访问量时, 根据在预定周期内的统计的历史数据, 更新所述预读 策略包括:根据所述被访问网页的访问量和 /或预加载网页的访问量计算预加载网页的用 户使用率, 根据所述用户使用率调整所述预加载页面深度 ; 当所述历史数据包括执行访问的终端所属服务 部署区域时, 根据在预定周期内的统 计的历史数据, 更新所述预读策略包括根据所述被访问网页的 访问量和执行访问的终端 所属的服务部署区域, 计算预设区域内的访问量是否大于第二阈值; 如果是, 将所述区 域设置为预加载区域; 如果否, 将所述区域从所述预加载区域中排除;

当所述历史数据包括本地缓存状态信息, 所述本地缓存状态信息包括本地缓存的当 前控制空间的容量和 /或本地缓存中可被重复利用空间的容量时, 述根据所述历史数 据, 更新预加载策略包括计算本地缓存中的当前空 闲空间的容量和可被重复利用空间的 容量,生成目标空间容量,根据所述目标空间 容量调整所述预加载可用缓存空间的容量。 图 9示出了根据本发明的插件系统的方框示意图 如图 9所示本发明的插件系统包括引擎模块 100和适配模块 101。 引擎模块 100, 独立于应用程序, 用于提供与插件相关的核心功能。 在插件加载过 程中与适配模块进行交互, 插件相关的核心功能主要包括插件的检测、 加载、 存储、 管 理功能等。其中的管理功能主要包括插件权限 管理、插件版本管理、插件合法性判断等。 这些功能都在图 2或者图 3所示的不同的功能模块中完成。 适配模块 101, 用于将应用程序的不同功能以接口的方式提供 给插件使用, 在通过 所述接口接收到所述插件调用所述应用程序的 应用程序调用消息后, 将应用程序调用消 息传递给应用程序进行处理, 在接收到所述应用程序发送的插件调用消息后 , 通过所述 接口将所述插件调用消息传递给所述插件进行 处理。

其中, 适配模块 101与应用程序相连接。 所有与应用程序相关的依赖和逻辑都在适 配模块 101实现。应用程序、 引擎模块 100、适配模块 101、插件之间通过消息接口进行 数据的流转以及消息的传递。

本发明的插件系统, 插件调用应用程序的消息通过适配模块直接传 递给应用程序, 而不需要经过引擎模块; 应用程序调用插件的消息直接发送到适配模块 , 再由适配模块 将消息传递给插件, 也不需要经过引擎模块。 引擎模块是独立于应用程序, 提供与插件 相关的核心功能。 同时, 本发明将与具体的移动终端的应用程序相关的 逻辑集中在适配 模块, 使得当不同的应用程序需要集成本插件系统时 , 引擎模块的内容不用改写, 只需 改写适配模块中与具体应用程序相关的逻辑, 因此插件系统灵活性非常好, 极大的减少 了插件系统开发人员的开发难度和设计难度, 减少了工作量, 并且由于引擎模块不用改 动, 使得插件系统更稳定。

图 10示出了本发明的插件系统的引擎模块的第一 施例方框示意图;

如图 10所示, 所述引擎模块包括: 插件管理模块 200、第一应用程序对接模块 201、 插件加载模块 202、 插件通道建立模块 203、 适配对接模块 204;

插件管理模块 200, 用于接收到插件配置信息和生成插件镜像的消 息后, 根据插件 配置信息生成插件镜像, 接收由适配对接模块 204传递过来的插件加载请求信息, 发送 给所述插件加载模块 202, 接收所述插件加载模块 202发送的完成插件加载的信息。

插件加载模块 202, 用于接收插件管理模块 200发送的插件加载请求信息, 根据所 述插件加载请求信息加载插件, 且将完成插件加载的信息发送给插件管理模块 200, 其 中所述插件加载请求信息是当适配模块 101收到应用程序发出的插件调用消息后査询该 插件没有加载时发送给适配对接模块 204且由适配对接模块 204传递给插件管理模块 200的。 适配对接模块 204, 用于传输引擎模块 100与适配模块 101之间的交互信息; 第一应用程序对接模块 201, 用于传输所述引擎模块 100与应用程序之间的交互信 息;

插件通道建立模块 203, 用于建立插件与应用程序间的插件通信通道。 即利用跨进 程通信技术, 将插件和应用程序之间进行绑定, 建立起插件与应用程序间的通信通道。

图 11示出了本发明的插件系统的引擎模块的第二 施例方框示意图;

如图 11所示, 所述引擎模块除了包含如图 10所示的插件管理模块 200、 插件加载 模块 202、 适配对接模块 204、 第一应用程序对接模块 201、 插件通道建立模块 203外还 包括:

插件存储模块 305, 用于存储所述插件管理模块 200生成的插件镜像;

插件检测模块 306, 用于检测新插件, 获取插件配置信息, 向插件管理模块 200发 送插件配置信息和生成插件镜像的消息。 插件合法性管理模块 307, 用于根据所述插件 管理模块 200发送的插件合法性判断信息进行插件合法性 判断, 且将判断结果发送给插 件管理模块 200。 插件权限管理模块 308, 用于根据所述插件管理模块 200发送的插件权限管理信息 进行插件权限校验, 校验通过, 则生成插件权限列表, 且将所述插件的权限列表发送给 所述插件管理模块 200。

图 12示出了本发明的插件系统的适配模块的方框 意图; 如图 12所示适配模块包括第二应用程序对接模块 400、 引擎对接模块 401、 插件对 接模块 402、 插件 SDK模块 403。 第二应用程序对接模块 400, 用于在接收插件对接模块 402发送的插件对应用程序 进行调用的应用程序调用信息后, 将所述应用程序调用信息发送至应用程序, 在接收应 用程序对插件进行调用的插件调用消息后, 生成当前插件是否已经加载的判断请求, 且 将判断请求发送给引擎对接模块 401该插件已经加载, 则将插件调用消息发送给插件; 如果该插件没有加载则等待插件加载, 加载完成后将插件调用消息发送给插件。

引擎对接模块 401, 用于传输引擎模块 100与适配模块 101之间的交互信息, 判断 当前插件是否已经加载。 交互信息包括加载信息和管理信息。 接收到第二应用程序对接 模块 400收到应用程序对插件的插件调用消息时发送 的判断当前调用插件是否已经加载 的消息后,判断当前插件是否已经加载,没有 加载则向引擎模块 100的适配对接模块 204 发送插件加载请求。

插件对接模块 402,用于接收第二应用程序对接模块 400发送过来的插件调用消息, 且将所述插件调用消息发给插件 SDK模块 403; 接收插件 SDK模块 403发送的应用程序 调用消息, 将所述应用程序调用消息发送给第二应用程序 对接模块 400。

插件 SDK模块 403, 设置于插件对接模块 402与插件之间, 提供插件调用的 API接 口, 用于接收插件对应用程序的应用程序调用消息 , 将所述应用程序调用消息发送给所 述第二应用程序对接模块 400, 接收由所述插件对接模块 402发送过来的应用程序对插 件的插件调用消息, 将所述插件调用消息发送给插件供插件进行处 理。 上述内容详细介绍了本发明的插件系统,以下 结合系统结构介绍本发明的方法流程。 本发明的插件管理方法主要包括以下步骤:

在插件系统中设置适配模块和独立于应用程序 的引擎模块;

当所述适配模块收到应用程序对插件调用的插 件调用消息时, 将所述插件调用消息 传递至所述插件进行处理; 当所述适配模块收到插件对应用程序调用的应 用程序调用消息时, 将所述应用程序 调用消息传递至应用程序进行处理。

其中,图 13示出了移动终端的应用程序利用本发明的实 例的插件系统进行插件调 用的流程图。

图 14示出了移动终端的插件利用本发明的实施例 插件系统进行应用程序调用的 流程图。

当应用程序需要调用插件时, 如图 13所示, 包括步骤: 步骤 S500, 首先本发明的插件系统的适配模块的第二应用 程序对接模块接收到所述 插件调用消息, 将所述插件调用消息发送至适配模块的插件对 接模块。

步骤 S501 , 插件对接模块收到所述插件调用消息, 将所述件插件调用消息发送至所 述插件。

当插件接收到插件调用消息后,插件将响应所 述插件调用消息,对应进行相应操作。 当插件需要调用应用程序时, 如图 14所示, 包括步骤:

步骤 S600, 首先是本发明的插件系统的适配模块的插件 SDK模块接收到插件对应用 程序调用的应用程序消息, 将所述应用程序调用消息发送至适配模块的插 件对接模块。

步骤 S601, 适配模块的插件对接模块收到应用程序调用消 息后, 将所述应用程序调 用消息发送至适配模块的第二应用程序对接模 块。

步骤 S602, 第二应用程序对接模块接收所述应用程序调用 消息, 将所述应用程序调 用消息发送至应用程序。 当应用程序接收到应用程序调用消息后, 将会相应应用程序调用消息, 对应进行相 应的操作。

可以发现, 本发明的插件管理方法将与具体应用程序相关 的逻辑集中在适配模块, 引擎模块独立于应用程序, 提供与插件相关的核心功能, 实现插件调用应用程序的消息 通过适配模块直接传递给应用程序, 而不需要经过引擎模块。 应用程序调用插件的消息 直接发送到适配模块, 再由适配模块将消息传递给插件。 当不同的应用程序需要集成本 插件系统时, 从而提高了插件管理灵活性, 极大的减少了插件系统开发人员的开发难度 和设计难度, 减少了工作量, 并且由于引擎模块不用改动, 使得插件系统更稳定。

图 15 示出了根据本发明的实施例的插件系统进行插 件安装和插件加载实施例流程 示意图。

首先是步骤 S700, 插件引擎模块的插件检测模块检测到插件后, 获取所述插件的配 置信息。 即首先是读取插件的配置文件, 解析配置文件, 将插件的配置信息从配置文件 中提取出来。这里的插件配置文件至少包括: 插件的 ID、插件的安装地址、插件的图标、 插件的描述信息、 插件在应用程序中展示的位置、 插件的所关联的具体的事件。

之后是步骤 S701 ,插件检测模块向插件引擎模块的插件管理模 发送插件的配置信 息和生成插件镜像的消息, 通知插件管理模块进行插件合法性判断和插件 权限校验。

之后是步骤 S702, 插件管理模块接收到进行插件合法性判断和插 件权限校验通知 后, 向所述引擎模块的合法性判断模块对插件进行 合法性判断请求, 向所述引擎模块的 权限校验模块发送权限校验请求。

步骤 S703, 合法性判断模块对插件进行合法性判断, 且将判断结果发送给插件管理 模块。

步骤 S704, 权限校验模块对插件进行权限校验, 校验通过, 则生成插件权限列表, 且将校验结果发送给插件管理模块。 如果校验不通过则校验结果包含标志校验不通 过的 信息, 如果校验通过则校验结果包含标志校验通过的 信息和插件权限列表。

需说明的是, 步骤 S703和步骤 S704没有必然的顺序关系, 可以分开独立进行。 之后步骤 S705, 如果插件管理模块收到插件合法且校验通过的 消息, 根据插件配置 信息生成所述插件的插件镜像, 如果收到插件不合法或校验不通过, 则不生成所述插件 的插件镜像, 直接结束流程。 插件镜像被插件管理模块作为真正插件的替身 进行管理, 插件管理模块调用插件存储模块对插件镜像进 行存储。插件镜像是插件信息存储的实体, 用来存储插件的所有信息。

图 15步骤 S700至 S705步骤实现的是插件的安装过程。插件安装 后等到应用程序 需要调用插件时, 就进入步骤 S706。 完成插件安装后, 应用程序在界面上根据插件在 配置文件中所声明的位置信息, 将插件的图标和名字显示在该位置上。

步骤 S706, 适配模块的第二应用程序对接模块是否收到插 件调用消息, 收到所述插 件调用消息则向适配模块的引擎对接模块发送 判断当前插件是否已经加载的请求, 之后 进入步骤 S708, 没有收到所述插件调用消息则进入步骤 S707, 等待插件调用消息。 步骤 S708引擎对接模块根据收到的判断当前插件是 已经加载的请求后,判断当前 被调用的插件是否已经加载, 如果未加载, 则进入步骤 S709。 如果本步骤中判断结果为 插件已经加载则直接结束本加载流程, 通知第二应用程序对接模块当前插件已经加载 , 则开始执行插件调用。

步骤 S709为插件管理模块解读当前被调用的插件的 件镜像,获得当前被调用的插 件的插件配置信息。

然后步骤 S710插件管理模块根据插件的配置信息,找到 前被调用的插件,并通知 插件加载模块加载当前被调用的插件。

在收到步骤 S710的插件管理模块发送的进行插件加载的通 后步骤 S711插件加载 模块加载被调用的插件, 本发明中插件的加载是运行插件。

完成插件加载后, 应用程序可以执行插件调用。

图 15的流程中的步骤 S702至步骤 S704是实现插件的合法性判断和权限校验,保 了插件的合法性和安全性, 增了本插件系统的安全性能。

需说明的是, 在不考虑插件的合法性和安全性的情况下, 本发明的插件的安装过程 可以不需要步骤 S702至 S704。 通过上述流程实现插件加载, 能够保证插件的安全性。 本发明在识别出插件时首先对插件进行安装, 即, 去读取插件配置文件, 解析配置 文件, 从配置文件中提取插件的相关必要信息即插件 配置信息, 然后在插件管理模块中 生成这个插件的插件镜像, 将插件的配置信息保存到这个插件镜像中, 以插件镜像作为 插件来进行管理和显示。 等到应用程序第一次调用插件时, 插件管理模块先找到插件的 插件镜像, 依赖插件镜像保存的插件的配置信息找该插件 镜像对应的插件, 然后加载该 插件, 让插件运行起来, 再执行调用的操作, 从而避免出现每次应用程序启动都会同时 把所有的插件都启动的问题, 如果一个插件从来没被调用过, 则该插件就一直都不会被 加载, 因此本发明利用插件的配置文件实现插件的延 迟加载, 在真正需要调用插件的时 候才加载运行插件, 避免系统资源浪费。 本说明书中的各个实施例均采用递进的方式描 述, 各个实施例之间相同相似的部分 互相参见即可, 每个实施例重点说明的都是与其他实施例的不 同之处。 尤其, 对于装置 或系统实施例而言, 由于其基本相似于方法实施例, 所以描述得比较简单, 相关之处参 见方法实施例的部分说明即可。 以上所描述的装置及系统实施例仅仅是示意性 的, 其中 所述作为分离部件说明的单元可以是或者也可 以不是物理上分开的, 作为单元显示的部 件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分 或者全部模块来实现本实施例方案的目的。 本领域普通技术人员在不付出创造性劳动的情 况下, 即可以理解并实施。

通过以上的方法实施例的描述, 所属领域的技术人员可以清楚地了解到本发明 可借 助软件加必需的通用硬件平台的方式来实现, 当然也可以通过硬件, 但很多情况下前者 是更佳的实施方式。 基于这样的理解, 本发明的技术方案本质上或者说对现有技术做 出 贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中, 包括若干指令用以使得一台计算机设备(可以 是个人计算机, 服务器, 或者网络设备等) 执行本发明各个实施例所述方法的全部或部分 步骤。 而前述的存储介质包括: 只读存储 器 (R0M)、 随机存取存储器 (RAM)、 磁碟或者光盘等各种可以存储程序代码的介质 。 以上所述仅是本发明的具体实施方式, 使本领域技术人员能够理解或实现本发明。 对这些实施例的多种修改对本领域的技术人员 来说将是显而易见的, 本文中所定义的一 般原理可以在不脱离本发明的精神或范围的情 况下, 在其它实施例中实现。 因此, 本发 明将不会被限制于本文所示的这些实施例, 而是要符合与本文所公开的原理和新颖特点 相一致的最宽的范围。