CN107291913B - 超文本标记语言网页加载方法及装置 - Google Patents

超文本标记语言网页加载方法及装置 Download PDF

Info

Publication number
CN107291913B
CN107291913B CN201710499814.8A CN201710499814A CN107291913B CN 107291913 B CN107291913 B CN 107291913B CN 201710499814 A CN201710499814 A CN 201710499814A CN 107291913 B CN107291913 B CN 107291913B
Authority
CN
China
Prior art keywords
web page
page resources
client
caching
address
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
Application number
CN201710499814.8A
Other languages
English (en)
Other versions
CN107291913A (zh
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.)
Yami Technology Guangzhou Co ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710499814.8A priority Critical patent/CN107291913B/zh
Priority to PCT/CN2017/107041 priority patent/WO2019000722A1/zh
Publication of CN107291913A publication Critical patent/CN107291913A/zh
Application granted granted Critical
Publication of CN107291913B publication Critical patent/CN107291913B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及应用开发技术领域,尤其涉及超文本标记语言网页加载方法及装置,包括针对基于超文本标记语言的网页而言,获取网页资源地址;基于网页资源地址,判断网页资源地址对应的网页资源是否已缓存在客户端中;若网页资源已缓存在客户端中,则从客户端中读取网页资源并加载显示;若网页资源未缓存在客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使网络服务器和客户端之间建立数据传输管道流;在读取数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,对当前读取到的网络资源数据进行同步缓存。本申请仅需要一次网络请求即可实现对未缓存的网络资源进行加载缓存,提高了加载缓存效率,节省了流量。

Description

超文本标记语言网页加载方法及装置
技术领域
本发明涉及应用开发技术领域,尤其涉及超文本标记语言网页加载方法及装置。
背景技术
超文本标记语言(HyperText Markup Language,HTML)是一种应用在网页中的标记语言,通过该标记语言能够实现网页的创建。针对利用HTML创建的网页而言,为了降低对物理数据源访问的频次,提高运行性能,这类网页在加载的同时将会被缓存。
然而,现有技术在对HTML网页进行加载和缓存的过程中,需要向网络服务器发起两次网络请求,这两次网络请求分别为:用于网页加载的网络请求和用于网页缓存的网络请求,不仅存在加载缓存效率低的问题,而且还浪费流量。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的超文本标记语言网页加载方法及装置。
本发明实施例提供一种超文本标记语言网页加载方法,应用于客户端中,所述方法包括:
针对基于超文本标记语言的网页而言,获取网页资源地址;
基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中;
若所述网页资源已缓存在所述客户端中,则从所述客户端中读取所述网页资源并加载显示;
若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流;
在读取所述数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存。
优选的,所述网页的类型为HTML5。
优选的,所述若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,包括:
若所述网页资源未缓存在所述客户端中,则分别判断所述网页资源是否属于缓存白名单和缓存黑名单,其中,所述缓存白名单具有允许资源缓存的第一缓存条件,所述缓存黑名单内具有不允许资源缓存的第二缓存条件,所述第一缓存条件与第二缓存条件不同;
若所述网页资源属于所述缓存白名单且不属于所述缓存黑名单,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,否则,返回空,不对所述网页资源进行缓存。
优选的,所述基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中,包括:
在缓存数据库包含的缓存数据中查找是否存在所述网页资源地址;
其中,若所述缓存数据库中存在所述网页资源地址,则表明所述网页资源已缓存在所述客户端中,若所述缓存数据库中不存在所述网页资源地址,则所述网页资源未缓存在所述客户端中。
优选的,在所述在缓存数据库包含的缓存数据中查找是否存在所述网页资源地址之前,所述方法还包括:
从所述缓存数据库中获取所述缓存数据,并将所述缓存数据存放到Map集合中。
优选的,所述方法还包括:
获取缓存在所述客户端中的网页资源的缓存时间;
判断所述缓存时间是否超过预设缓存周期;
若所述缓存时间超过所述预设缓存周期,则对所述缓存在所述客户端中的网页资源进行删除。
优选的,所述对当前读取到的网络资源数据进行同步缓存,包括:
将当前读取到的网络资源数据所对应的网页资源地址同步缓存到缓存数据库中。
本发明实施例还提供一种超文本标记语言网页加载装置,所述装置包括:
获取模块,用于针对基于超文本标记语言的网页而言,获取网页资源地址;
判断模块,用于基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中;
加载模块,用于若所述网页资源已缓存在所述客户端中,则从所述客户端中读取所述网页资源并加载显示;
请求发起模块,用于若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流;
加载缓存模块,用于在读取所述数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
针对基于超文本标记语言的网页而言,获取网页资源地址;
基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中;
若所述网页资源已缓存在所述客户端中,则从所述客户端中读取所述网页资源并加载显示;
若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流;
在读取所述数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
针对基于超文本标记语言的网页而言,获取网页资源地址;
基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中;
若所述网页资源已缓存在所述客户端中,则从所述客户端中读取所述网页资源并加载显示;
若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流;
在读取所述数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
本申请针对HTML网页,在加载HTML网页的过程中,先获取网页资源地址,接着判断网页资源地址对应的网页资源是否已缓存在客户端本地,若网页资源已缓存在客户端本地,则从客户端本地读取该网页资源并加载显示,若网页资源未缓存在客户端本地,则利用OkHttp框架向网络服务器发起网络请求,以使网络服务器和客户端之间建立数据传输管道流,并在客户端读取数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存,本申请仅需要一次网络请求即可实现对未缓存的网络资源进行加载缓存,提高了加载缓存效率,节省了流量,同时由于利用OkHttp框架发起该网络请求,能够自动过滤掉重复的网络请求。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:
图1示出了本发明实施例中的一种超文本标记语言网页加载方法的流程图;
图2示出了本发明实施例中的一种超文本标记语言网页加载装置的结构图;
图3示出了本发明实施例中的计算机设备的实体结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本申请实施例提供一种超文本标记语言网页加载方法,应用于客户端中,如图1所示,所述方法包括:
步骤101:针对基于超文本标记语言的网页而言,获取网页资源地址。
步骤102:基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中。
步骤103:若所述网页资源已缓存在所述客户端中,则从所述客户端中读取所述网页资源并加载显示;若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流。
步骤104:在读取所述数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存。
本申请针对HTML网页,在加载HTML网页的过程中,先获取网页资源地址,接着判断网页资源地址对应的网页资源是否已缓存在客户端本地,若网页资源已缓存在客户端本地,则从客户端本地读取该网页资源并加载显示,若网页资源未缓存在客户端本地,则利用OkHttp框架向网络服务器发起网络请求,以使网络服务器和客户端之间建立数据传输管道流,并在客户端读取数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存,本申请仅需要一次网络请求即可实现对未缓存的网络资源进行加载缓存,提高了加载缓存效率,节省了流量,同时由于利用OkHttp框架发起该网络请求,能够自动过滤掉重复的网络请求。
在本申请中,网页的类型可以为HTML5。
本申请的方法可以建立在BasicWebViewClient类中,从而利用该BasicWebViewClient类替换现有技术中的WebViewClient,下面将对BasicWebViewClient类内部加载过程进行详细描述。
针对步骤101而言,首先,可以通过shouldInterceptRequest拦截待加载的网页中的网页资源地址(Uniform Resource Locator,URL),以实现对URL的获取,接着,执行步骤102。步骤102的一种优选的实施方式包括:
在缓存数据库包含的缓存数据中查找是否存在所述网页资源地址。
其中,缓存数据库位于客户端本地,缓存数据库中存储有已缓存过的缓存数据,缓存数据包括URL、缓存的网页资源以及两者之间的对应关系,例如,缓存数据库中包括URL1、URL1对应的第一图片、URL2和URL2对应的第二图片。本申请通过在缓存数据库包含的缓存数据中查找是否存在网页资源地址,能够确定与该网页资源地址对应的网页资源是否已被缓存在客户端本地,若缓存数据库包含的缓存数据中存在该网页资源地址,则表明该网页资源地址对应的网页资源已缓存在客户端本地,若缓存数据库包含的缓存数据中不存在该网页资源地址,则表明该网页资源地址对应的网页资源未缓存在客户端本地。
本申请在执行在缓存数据库包含缓存数据中查找是否存在所述网页资源地址之前,还包括步骤:从所述缓存数据库中获取所述缓存数据,并将所述缓存数据存放到Map集合中。本申请通过将缓存数据从缓存数据库中提取出并存入Map集合中,避免了每次查找网页资源都需要调用缓存数据库所带来的查找效率低的问题。
进一步,在步骤103中,若网页资源地址对应的网页资源已缓存在客户端本地,则,从客户端本地读取该网页资源并加载显示,若网页资源地址对应的网页资源未缓存在客户端本地,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流。
在一种优选的实施方式中,所述若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,包括:
若所述网页资源未缓存在所述客户端中,则分别判断所述网页资源是否属于缓存白名单和缓存黑名单,其中,所述缓存白名单具有允许资源缓存的第一缓存条件,所述缓存黑名单内具有不允许资源缓存的第二缓存条件,所述第一缓存条件与第二缓存条件不同;
若所述网页资源属于所述缓存白名单且不属于所述缓存黑名单,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,否则,返回空,不对所述网页资源进行缓存。
在具体实施过程中,若网页资源地址对应的网页资源未缓存在客户端本地,则判断该网页资源是否属于缓存白名单,同时判断该网页资源是否属于缓存黑名单,缓存白名单和缓存黑名单均可以是域名的集合,另外,缓存白名单具有第一缓存条件,缓存黑名单具有第二缓存条件,第一缓存条件和第二缓存条件不同。
具体地,若网页资源属于缓存白名单且不属于缓存黑名单,则表明该网页资源具有缓存资格,若网页资源属于缓存黑名单,则表明该网页资源不具有缓存资格,若网页资源不属于缓存白名单也不属于缓存黑名单,则表明该网页资源不具有缓存资格。
例如,若缓存白名单中的第一缓存条件为域名为***,缓存黑名单中的第二缓存条件为后缀为JPG,而,第一网页资源的域名为***后缀为PNG,则第一网页资源具有缓存资格,利用OkHttp框架向网络服务器发起网络请求,第二网页资源的域名为***后缀为JPG,则第二网页资源不具有缓存资格,返回空,不对第二网页资源进行缓存,第三网页资源的域名为***后缀为PNG,则第三网页资源也不具有缓存资格,返回空,不对第二网页资源进行缓存。
进一步,本申请利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,数据传输管道流包含输入管道流(PipedInputStream)和输出管道流(PipedOutputStream),本申请利用数据传输管道流实现主线程和子线程之间的直接通信,能够实现边下载边显示,具体地,在读取数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存,对于同步缓存的过程而言,本申请将当前读取到的网络资源数据所对应的网页资源地址同步缓存到缓存数据库中。在本申请中,数据管道流中有多少数据,网页中就会显示多少内容,网页资源加载完,缓存数据也写入完毕,最后,将会把缓存好的缓存数据的路径以及存入时间写入缓存数据库中。
本申请的超文本标记语言网页加载方法还包括:
获取缓存在所述客户端中的网页资源的缓存时间;
判断所述缓存时间是否超过预设缓存周期;
若所述缓存时间超过所述预设缓存周期,则对所述缓存在所述客户端中的网页资源进行删除。
在具体实施过程中,缓存在客户端本地的网页资源的属性信息能够在数据库缓存列表中查找到,缓存在客户端本地的网页资源的缓存时间为存入时间与当前时间的差值,如果存入时间与当前时间的差值大于预设缓存周期,则将缓存在客户端本地的网页资源删除,如果缓存时间没有超过预设缓存周期,则继续保留,预设缓存周期可以设置为一天、一周或一个月。
需要说明的是,本申请在获取URL之后,且在基于网页资源地址判断网页资源地址对应的网页资源是否已缓存在客户端本地之前,还包括方法:判断URL是否是正常的URL,若是,则执行后续加载缓存过程,若否,则直接返回空,不进行加载缓存过程。
基于同一发明构思,本发明实施例还提供一种超文本标记语言网页加载装置,如图2所示,所述装置包括:
获取模块201,用于针对基于超文本标记语言的网页而言,获取网页资源地址;
判断模块202,用于基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中;
加载模块203,用于若所述网页资源已缓存在所述客户端中,则从所述客户端中读取所述网页资源并加载显示;
请求发起模块204,用于若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流;
加载缓存模块205,用于在读取所述数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存。
优选的,所述网页的类型为HTML5。
优选的,请求发起模块204,具体用于:
若所述网页资源未缓存在所述客户端中,则分别判断所述网页资源是否属于缓存白名单和缓存黑名单,其中,所述缓存白名单具有允许资源缓存的第一缓存条件,所述缓存黑名单内具有不允许资源缓存的第二缓存条件,所述第一缓存条件与第二缓存条件不同;
若所述网页资源属于所述缓存白名单且不属于所述缓存黑名单,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,否则,返回空,不对所述网页资源进行缓存。
优选的,判断模块203,包括:
在缓存数据库包含的缓存数据中查找是否存在所述网页资源地址;
其中,若所述缓存数据库中存在所述网页资源地址,则表明所述网页资源已缓存在所述客户端中,若所述缓存数据库中不存在所述网页资源地址,则所述网页资源未缓存在所述客户端中。
优选的,所述装置还包括:
存放模块,用于从所述缓存数据库中获取所述缓存数据,并将所述缓存数据存放到Map集合中。
优选的,所述方法还包括:
时间获取模块,用于获取缓存在所述客户端中的网页资源的缓存时间;
周期判断模块,用于判断所述缓存时间是否超过预设缓存周期;
删除模块,用于若所述缓存时间超过所述预设缓存周期,则对所述缓存在所述客户端中的网页资源进行删除。
优选的,所述加载缓存模块,具体用于:
将当前读取到的网络资源数据所对应的网页资源地址同步缓存到缓存数据库中。
基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
针对基于超文本标记语言的网页而言,获取网页资源地址;
基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中;
若所述网页资源已缓存在所述客户端中,则从所述客户端中读取所述网页资源并加载显示;
若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流;
在读取所述数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存。
本发明实施例还提供了一种计算机设备,如图3所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以计算机设备为手机为例:
图3示出的是与本发明实施例提供的计算机设备相关的部分结构的框图。参考图3,该计算机设备包括:存储器301和处理器302。本领域技术人员可以理解,图3中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图3对计算机设备的各个构成部件进行具体的介绍:
存储器301可用于存储软件程序以及模块,处理器302通过运行存储在存储器301的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储数据(比如音频数据、电话本等)等。此外,存储器301可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器302是计算机设备的控制中心,通过运行或执行存储在存储器301内的软件程序和/或模块,以及调用存储在存储器301内的数据,执行各种功能和处理数据。可选的,处理器302可包括一个或多个处理单元;优选的,处理器302可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。
在本发明实施例中,该计算机设备所包括的处理器302可以具有以下功能:
针对基于超文本标记语言的网页而言,获取网页资源地址;
基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中;
若所述网页资源已缓存在所述客户端中,则从所述客户端中读取所述网页资源并加载显示;
若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流;
在读取所述数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存。
总之,本申请针对HTML网页,在加载HTML网页的过程中,先获取网页资源地址,接着判断网页资源地址对应的网页资源是否已缓存在客户端本地,若网页资源已缓存在客户端本地,则从客户端本地读取该网页资源并加载显示,若网页资源未缓存在客户端本地,则利用OkHttp框架向网络服务器发起网络请求,以使网络服务器和客户端之间建立数据传输管道流,并在客户端读取数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存,本申请仅需要一次网络请求即可实现对未缓存的网络资源进行加载缓存,提高了加载缓存效率,节省了流量,同时由于利用OkHttp框架发起该网络请求,能够自动过滤掉重复的网络请求。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、***中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (7)

1.一种超文本标记语言网页加载方法,其特征在于,应用于客户端中,所述方法包括:
针对基于超文本标记语言的网页而言,获取网页资源地址;
基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中;
若所述网页资源已缓存在所述客户端中,则从所述客户端中读取所述网页资源并加载显示;
若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流;
在读取所述数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存;
所述基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中,包括:
在缓存数据库包含的缓存数据中查找是否存在所述网页资源地址;
其中,若所述缓存数据库中存在所述网页资源地址,则表明所述网页资源已缓存在所述客户端中,若所述缓存数据库中不存在所述网页资源地址,则所述网页资源未缓存在所述客户端中;
所述若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,包括:
若所述网页资源未缓存在所述客户端中,则分别判断所述网页资源是否属于缓存白名单和缓存黑名单,其中,所述缓存白名单具有允许资源缓存的第一缓存条件,所述缓存黑名单内具有不允许资源缓存的第二缓存条件,所述第一缓存条件与第二缓存条件不同;
若所述网页资源属于所述缓存白名单且不属于所述缓存黑名单,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,否则,返回空,不对所述网页资源进行缓存;
在所述在缓存数据库包含的缓存数据中查找是否存在所述网页资源地址之前,所述方法还包括:
从所述缓存数据库中获取所述缓存数据,并将所述缓存数据存放到Map集合中。
2.如权利要求1所述的方法,其特征在于,所述网页的类型为HTML5。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取缓存在所述客户端中的网页资源的缓存时间;
判断所述缓存时间是否超过预设缓存周期;
若所述缓存时间超过所述预设缓存周期,则对所述缓存在所述客户端中的网页资源进行删除。
4.如权利要求1所述的方法,其特征在于,所述对当前读取到的网络资源数据进行同步缓存,包括:
将当前读取到的网络资源数据所对应的网页资源地址同步缓存到缓存数据库中。
5.一种超文本标记语言网页加载装置,其特征在于,所述装置包括:
获取模块,用于针对基于超文本标记语言的网页而言,获取网页资源地址;
判断模块,用于基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在客户端中;
加载模块,用于若所述网页资源已缓存在所述客户端中,则从所述客户端中读取所述网页资源并加载显示;
请求发起模块,用于若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流;
加载缓存模块,用于在读取所述数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存;
所述基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中,包括:
在缓存数据库包含的缓存数据中查找是否存在所述网页资源地址;
其中,若所述缓存数据库中存在所述网页资源地址,则表明所述网页资源已缓存在所述客户端中,若所述缓存数据库中不存在所述网页资源地址,则所述网页资源未缓存在所述客户端中;
所述若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,包括:
若所述网页资源未缓存在所述客户端中,则分别判断所述网页资源是否属于缓存白名单和缓存黑名单,其中,所述缓存白名单具有允许资源缓存的第一缓存条件,所述缓存黑名单内具有不允许资源缓存的第二缓存条件,所述第一缓存条件与第二缓存条件不同;
若所述网页资源属于所述缓存白名单且不属于所述缓存黑名单,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,否则,返回空,不对所述网页资源进行缓存;
在所述在缓存数据库包含的缓存数据中查找是否存在所述网页资源地址之前,还包括:
从所述缓存数据库中获取所述缓存数据,并将所述缓存数据存放到Map集合中。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:
针对基于超文本标记语言的网页而言,获取网页资源地址;
基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在客户端中;
若所述网页资源已缓存在所述客户端中,则从所述客户端中读取所述网页资源并加载显示;
若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流;
在读取所述数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存;
所述基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中,包括:
在缓存数据库包含的缓存数据中查找是否存在所述网页资源地址;
其中,若所述缓存数据库中存在所述网页资源地址,则表明所述网页资源已缓存在所述客户端中,若所述缓存数据库中不存在所述网页资源地址,则所述网页资源未缓存在所述客户端中;
所述若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,包括:
若所述网页资源未缓存在所述客户端中,则分别判断所述网页资源是否属于缓存白名单和缓存黑名单,其中,所述缓存白名单具有允许资源缓存的第一缓存条件,所述缓存黑名单内具有不允许资源缓存的第二缓存条件,所述第一缓存条件与第二缓存条件不同;
若所述网页资源属于所述缓存白名单且不属于所述缓存黑名单,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,否则,返回空,不对所述网页资源进行缓存;
在所述在缓存数据库包含的缓存数据中查找是否存在所述网页资源地址之前,还包括:
从所述缓存数据库中获取所述缓存数据,并将所述缓存数据存放到Map集合中。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
针对基于超文本标记语言的网页而言,获取网页资源地址;
基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在客户端中;
若所述网页资源已缓存在所述客户端中,则从所述客户端中读取所述网页资源并加载显示;
若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流;
在读取所述数据传输管道流返回的网络资源数据的过程中,对当前读取到的网络资源数据进行同步加载显示,同时,对当前读取到的网络资源数据进行同步缓存;
所述基于所述网页资源地址,判断所述网页资源地址对应的网页资源是否已缓存在所述客户端中,包括:
在缓存数据库包含的缓存数据中查找是否存在所述网页资源地址;
其中,若所述缓存数据库中存在所述网页资源地址,则表明所述网页资源已缓存在所述客户端中,若所述缓存数据库中不存在所述网页资源地址,则所述网页资源未缓存在所述客户端中;
所述若所述网页资源未缓存在所述客户端中,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,包括:
若所述网页资源未缓存在所述客户端中,则分别判断所述网页资源是否属于缓存白名单和缓存黑名单,其中,所述缓存白名单具有允许资源缓存的第一缓存条件,所述缓存黑名单内具有不允许资源缓存的第二缓存条件,所述第一缓存条件与第二缓存条件不同;
若所述网页资源属于所述缓存白名单且不属于所述缓存黑名单,则利用OkHttp框架向网络服务器发起网络请求,以使所述网络服务器和所述客户端之间建立数据传输管道流,否则,返回空,不对所述网页资源进行缓存;
在所述在缓存数据库包含的缓存数据中查找是否存在所述网页资源地址之前,还包括:
从所述缓存数据库中获取所述缓存数据,并将所述缓存数据存放到Map集合中。
CN201710499814.8A 2017-06-27 2017-06-27 超文本标记语言网页加载方法及装置 Active CN107291913B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710499814.8A CN107291913B (zh) 2017-06-27 2017-06-27 超文本标记语言网页加载方法及装置
PCT/CN2017/107041 WO2019000722A1 (zh) 2017-06-27 2017-10-20 超文本标记语言网页加载方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710499814.8A CN107291913B (zh) 2017-06-27 2017-06-27 超文本标记语言网页加载方法及装置

Publications (2)

Publication Number Publication Date
CN107291913A CN107291913A (zh) 2017-10-24
CN107291913B true CN107291913B (zh) 2019-03-15

Family

ID=60098192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710499814.8A Active CN107291913B (zh) 2017-06-27 2017-06-27 超文本标记语言网页加载方法及装置

Country Status (2)

Country Link
CN (1) CN107291913B (zh)
WO (1) WO2019000722A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992428B (zh) * 2017-12-29 2022-06-07 北京京东尚科信息技术有限公司 数据处理方法及***
CN109800370A (zh) * 2018-12-14 2019-05-24 平安普惠企业管理有限公司 网页页面的显示方法、装置、计算机设备及存储介质
CN111035927A (zh) * 2019-12-12 2020-04-21 珠海海鸟科技有限公司 一种资源管理方法、装置及可读存储介质
CN111427641A (zh) * 2020-02-27 2020-07-17 深圳壹账通智能科技有限公司 多语言适配方法、装置、***、计算机设备及存储介质
CN112214701A (zh) * 2020-10-14 2021-01-12 青岛海尔科技有限公司 页面的展示方法及***、存储介质、电子装置
CN113094612A (zh) * 2021-04-08 2021-07-09 中国工商银行股份有限公司 客户端加载网页的方法、装置、电子设备及介质
CN113626740A (zh) * 2021-06-30 2021-11-09 济南浪潮数据技术有限公司 一种客户端数据刷新方法、装置及设备
CN114827271B (zh) * 2022-04-26 2024-05-03 土巴兔集团股份有限公司 一种多级缓存在线控制方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760405A (zh) * 2014-12-19 2016-07-13 阿里巴巴集团控股有限公司 用于加载web页面的网络资源获取方法、缓存方法及装置
CN106354879A (zh) * 2016-09-27 2017-01-25 北京奇虎科技有限公司 网页缓存方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455478A (zh) * 2012-05-21 2013-12-18 腾讯科技(深圳)有限公司 加速网页访问的方法和装置
CN105022750B (zh) * 2014-04-28 2019-05-10 腾讯科技(北京)有限公司 资源文件加载方法和装置
CN104536849B (zh) * 2015-01-20 2017-10-20 成都携恩科技有限公司 一种基于云计算的数据备份方法
US20160344831A1 (en) * 2015-05-21 2016-11-24 Google Inc. Proxy service for content requests
US10505709B2 (en) * 2015-06-01 2019-12-10 Nxp B.V. White-box cryptography interleaved lookup tables
CN106022870A (zh) * 2016-05-16 2016-10-12 南京邮电大学 Android平台下基于地理位置信息的购物***
CN106055720A (zh) * 2016-07-18 2016-10-26 北京小米移动软件有限公司 网页显示方法及装置
CN106547833A (zh) * 2016-10-11 2017-03-29 乐视控股(北京)有限公司 网页浏览方法及装置
CN106790687A (zh) * 2017-02-17 2017-05-31 和创(北京)科技股份有限公司 网页呈现方法、网页数据处理方法和服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760405A (zh) * 2014-12-19 2016-07-13 阿里巴巴集团控股有限公司 用于加载web页面的网络资源获取方法、缓存方法及装置
CN106354879A (zh) * 2016-09-27 2017-01-25 北京奇虎科技有限公司 网页缓存方法及装置

Also Published As

Publication number Publication date
CN107291913A (zh) 2017-10-24
WO2019000722A1 (zh) 2019-01-03

Similar Documents

Publication Publication Date Title
CN107291913B (zh) 超文本标记语言网页加载方法及装置
CN103218434B (zh) 一种加载静态资源的方法和装置
CN106528432B (zh) 测试场景数据的构建方法及装置、埋点测试方法
CN102722563B (zh) 页面显示方法及装置
CN101763357B (zh) 一种用于浏览器加载互联网资源的方法及***
CA2878207C (en) Evaluating application compatibility
CN105095280B (zh) 一种浏览器缓存方法和装置
CN105022750B (zh) 资源文件加载方法和装置
CN110096660B (zh) 用于加载页面图片的方法、装置和电子设备
CN107463613A (zh) 页面加载方法及装置
US20150012915A1 (en) Client-side script bundle management system
CN104572777B (zh) 基于UIWebView组件的网页加载方法及装置
CN107807937B (zh) 一种网站seo处理方法、装置及***
CN104426985B (zh) 显示网页的方法、装置及***
CN110442815B (zh) 页面生成方法、***、装置及计算机可读存储介质
KR20160024293A (ko) 통신 시스템에서 페이지 로딩 시간 단축 방법 및 장치
CN107590145A (zh) 一种页面静态资源的处理方法和装置
CN108932332A (zh) 静态资源的加载方法及装置
CN103152367A (zh) 一种缓存的动态维护更新方法及***
CN111881394B (zh) 一种应用中间层的请求处理方法及***
CN111881391B (zh) 静态网络资源预加载的方法、数据模型训练的方法及装置
CN108256014A (zh) 页面展示方法及装置
CN109325192A (zh) 一种广告防屏蔽的方法和装置
CN109325194B (zh) 页面访问方法、装置、设备以及存储介质
CN113742551A (zh) 一种基于scrapy和puppeteer的动态数据抓取方法

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240129

Address after: Room 801, 85 Kefeng Road, Huangpu District, Guangzhou City, Guangdong Province

Patentee after: Yami Technology (Guangzhou) Co.,Ltd.

Country or region after: China

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China