一种浏览器缓存方法、装置、电子设备及存储介质制造方法及图纸

技术编号:34453209 阅读:41 留言:0更新日期:2022-08-06 16:56
本申请公开了一种浏览器缓存方法、装置、电子设备及存储介质,涉及计算机应用技术领域,尤其涉及数据库技术。具体实现方案为:通过浏览器分别向数据缓存管理系统和后端服务器发送数据请求消息;若在预定时间段内分别接收到数据缓存管理系统返回的第一响应数据和后端服务器消息返回的第二响应数据,针对第一响应数据和第二响应数据进行一致性检测,得到第一响应数据和第二响应数据的一致性检测结果;基于第一响应数据和第二响应数据的一致性检测结果,获取数据请求消息所对应的目标数据。本申请实施例可以明显地减少浏览器的等待时间,避免白屏现象发生,而且生效场景不限于HTTPS网站,数据结构更加灵活多样。数据结构更加灵活多样。数据结构更加灵活多样。

【技术实现步骤摘要】
一种浏览器缓存方法、装置、电子设备及存储介质


[0001]本公开涉及计算机应用
,进一步涉及数据库技术,尤其是一种浏览器缓存方法、装置、电子设备及存储介质。

技术介绍

[0002]随着互联网技术的不断发展,浏览器在Web开发中的地位日益凸显,用户对访问网站的体验要求也越来越高。出于对体验和性能的考虑,网页中大部分数据可以使用浏览器缓存技术来存储,缓存技术在Web技术体系中扮演着非常重要的角色,而浏览器会话、本地缓存存储在网页开发中使用的最为广泛。
[0003]Service Worker API和简单的使用Local Storage等存储介质,是现有的浏览器缓存的两种方法。Service Worker本质上充当浏览器与网络之间的代理服务器。这个API旨在创建有效的离线体验,它会拦截网络请求并根据网络是否可用来采取适当的动作、更新来自服务器的资源。出于安全性的考虑,该方案只能由HTTPS承载。也就是说Service Worker API只能在HTTPS网站中生效,而很多内网交付的网页,是无法获取HTTPS证书的,从而导致无法使用Service Worker API。此外,Local Storage只是浏览器提供的一种存储介质,它可以用于保存后端返回数据。但是它提供的数据结构非常有限,而且市场上并没有成熟的封装格式,使用此方案需要开发人员自己实现一套缓存的存储、读取、删除等功能。

技术实现思路

[0004]本公开提供了一种浏览器缓存方法、装置、电子设备以及存储介质。
[0005]第一方面,本申请提供了一种浏览器缓存方法,所述方法包括:
[0006]通过浏览器分别向数据缓存管理系统和后端服务器发送数据请求消息;
[0007]若在预定时间段内分别接收到所述数据缓存管理系统返回的第一响应数据和所述后端服务器消息返回的第二响应数据,针对所述第一响应数据和所述第二响应数据进行一致性检测,得到所述第一响应数据和所述第二响应数据的一致性检测结果;
[0008]基于所述第一响应数据和所述第二响应数据的一致性检测结果,获取所述数据请求消息所对应的目标数据。
[0009]第二方面,本申请提供了一种浏览器缓存装置,所述装置包括:请求模块、检测模块和获取模块;其中,
[0010]所述请求模块,用于通过浏览器分别向数据缓存管理系统和后端服务器发送数据请求消息;
[0011]所述检测模块,用于若在预定时间段内分别接收到所述数据缓存管理系统返回的第一响应数据和所述后端服务器消息返回的第二响应数据,针对所述第一响应数据和所述第二响应数据进行一致性检测,得到所述第一响应数据和所述第二响应数据的一致性检测结果;
[0012]所述获取模块,用于基于所述第一响应数据和所述第二响应数据的一致性检测结
果,获取所述数据请求消息所对应的目标数据。
[0013]第三方面,本申请实施例提供了一种电子设备,包括:
[0014]一个或多个处理器;
[0015]存储器,用于存储一个或多个程序,
[0016]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请任意实施例所述的浏览器缓存方法。
[0017]第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请任意实施例所述的浏览器缓存方法。
[0018]第五方面,提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时实现本申请任意实施例所述的浏览器缓存方法。
[0019]根据本申请的技术解决了现有技术中Service Worker API只能在HTTPS网站中生效的技术问题,以及Local Storage提供的数据结构非常有限,没有成熟的封装格式,需要开发人员自己实现相关功能的技术问题,本申请提供的技术方案,可以明显地减少浏览器的等待时间,避免白屏现象发生,而且生效场景不限于HTTPS网站,数据结构更加灵活多样。
[0020]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0021]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0022]图1是本申请实施例提供的浏览器缓存方法的第一流程示意图;
[0023]图2是本申请实施例提供的浏览器缓存方法的第二流程示意图;
[0024]图3是本申请实施例提供的数据缓存管理系统的结构示意图;
[0025]图4是本申请实施例提供的浏览器缓存方法的第三流程示意图;
[0026]图5是本申请实施例提供的浏览器缓存方法的第四流程示意图;
[0027]图6是本申请实施例提供的浏览器缓存装置的结构示意图;
[0028]图7是用来实现本申请实施例的浏览器缓存方法的电子设备的框图。
具体实施方式
[0029]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0030]实施例一
[0031]图1是本申请实施例提供的浏览器缓存方法的第一流程示意图,该方法可以由浏览器缓存装置或者电子设备来执行,该装置或者电子设备可以由软件和/或硬件的方式实现,该装置或者电子设备可以集成在任何具有网络通信功能的智能设备中。如图1所示,浏览器缓存方法可以包括以下步骤:
[0032]S101、通过浏览器分别向数据缓存管理系统和后端服务器发送数据请求消息。
[0033]在本步骤中,客户端可以通过浏览器分别向数据缓存管理系统和后端服务器发送
数据请求消息;具体地,本申请实施例中的数据缓存管理系统可以是包括本地数据库的数据缓存管理系统;其中,本地数据库可以是IndexedDB,也可以是其他类型的数据库,即IndexedDB是本地数据库的一个特例,当使用JavaScript编程语言编写浏览器时,本地数据库为IndexedDB。本申请实施例中的IndexedDB是浏览器提供的本地数据库,它可以被网页脚本创建和操作。IndexedDB允许储存大量数据,提供查找接口,还能建立索引。这些都是Local Storage所不具备的。IndexedDB的存储大小可以为大于250M;IndexedDB的存储时间为手动更新或者删除;IndexedDB的数据结构采用对象仓库直接存入的形式,包括但不限于JavaScript对象。具体地,IndexedDB是浏览器提供的本地数据库,它可以包括索引和该索引对应的数据库内容;索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。例如,IndexedDB可以以键值对(Key
...

【技术保护点】

【技术特征摘要】
1.一种浏览器缓存方法,所述方法包括:通过浏览器分别向数据缓存管理系统和后端服务器发送数据请求消息;若在预定时间段内分别接收到所述数据缓存管理系统返回的第一响应数据和所述后端服务器消息返回的第二响应数据,针对所述第一响应数据和所述第二响应数据进行一致性检测,得到所述第一响应数据和所述第二响应数据的一致性检测结果;基于所述第一响应数据和所述第二响应数据的一致性检测结果,获取所述数据请求消息所对应的目标数据。2.根据权利要求1所述的方法,其中,所述数据缓存管理系统为包括本地数据库的数据缓存管理系统;所述本地数据库的存储大小为大于250M;所述本地数据库的存储时间为手动更新或者删除;所述本地数据库的数据结构采用对象仓库直接存入的形式,包括但不限于JavaScript对象。3.根据权利要求1所述的方法,其中,针对所述数据缓存管理系统返回的第一响应数据和所述后端服务器返回的第二响应数据进行一致性检测,包括:若所述第一响应数据和所述第二响应数据相同,则判定所述第一响应数据和所述第二响应数据一致;若所述第一响应数据和所述第二响应数据不相同,则判定所述第一响应数据和所述第二响应数据不一致;或者,若所述第一响应数据和所述第二响应数据的相似度大于或者等于预定阈值,则判定所述第一响应数据和所述第二响应数据一致;若所述第一响应数据和所述第二响应数据的相似度小于所述预定阈值,则判定所述第一响应数据和所述第二响应数据不一致。4.根据权利要求1所述的方法,基于所述第一响应数据和所述第二响应数据的一致性检测结果,获取所述数据请求消息所对应的目标数据,包括:若所述第一响应数据和所述第二响应数据一致,则将所述第一响应数据作为所述数据请求消息所对应的目标数据;或者,将所述第二响应数据作为所述数据请求消息所对应的目标数据;若所述第一响应数据和所述第二响应数据不一致,则将所述第二响应数据作为所述数据请求消息所对应的目标数据。5.根据权利要求1所述的方法,所述方法还包括:通过主线程以外的线程定期删除所述数据缓存管理系统中已过期的缓存数据;或者,通过所述浏览器向所述数据缓存管理系统发送数据删除指令,使得所述数据缓存管理系统响应于所述数据删除指令删除所述数据缓存管理系统中已过期的缓存数据。6.根据权利要求1所述的方法,所述方法还包括:通过应用程序编程接口向所述数据缓存管理系统存储数据;或者,通过所述应用程序编程接口在所述数据缓存管理系统中删除数据。7.一种浏览器缓存装置,所述装置包括:请求模块、检测模块和获取模块;其中,所述请求模块,用于通过浏览器分别向数据缓存管理系统和后端服务器发送数据请求消息;所述检测模块,用于若在预定时间段内分别接收到所述数据缓存管理系统返回的第一响应数据和所述后端服务器消息返回的第二响应数据,...

【专利技术属性】
技术研发人员:陈绍汉廖剑飞
申请(专利权)人:阿波罗智联北京科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1