一种基于云-端协同的移动浏览器资源加载优化方法
【技术领域】
[0001] 本发明是一种基于云-端协同的移动浏览器资源加载优化方法,属于软件技术领 域。
【背景技术】
[0002] 根据中国互联网络信息中心于2015年1月发布的《第35次中国互联网络发展状况 统计报告》,截至2014年12月,我国手机网民规模达5.57亿,网民中使用手机上网的人群占 比已达到85.8%。连续几年来,手机网民规模保持稳定增长,手机也早已成为第一大上网终 端。
[0003] 越来越多的人们正在利用手机或者平板电脑来通过Wi-Fi或3G网络上网,随之而 来的,Web浏览器成为了移动设备上最常用的应用之一。据研究表明,浏览器占据了移动设 备63%的显示时间。但是,现有移动浏览器的用户体验却远不尽如人意。资源加载是影响浏 览器性能重要因素之一,有实验表明,网页加载65%的时间都消耗在资源加载上。由于移动 设备的网络状况通常并不理想,尤其是可能出现网络拥挤或是用户正在移动的状况,这个 问题就变得更为严重了。此外,下载资源的过程本身会消耗许多电量,而电量恰恰是移动设 备上最为稀缺的资源。
[0004] 为了加速Web资源加载,缓存机制被广泛运用。通过缓存的方法,可以为用户减少 资源下载量,从而提高Web浏览性能。这种缓存机制给移动设备带来的好处更大,因为在移 动设备上,该机制不仅可以减少网页加载时间,还可以减少网络流量和电量消耗。然而在实 际运用中,缓存却常常并未被很好地配置与实现。有研究表明,缓存机制的理论性能与实际 性能之间有很大差距因此当前有这样一个需求,在不改变现有浏览器与服务器实现的前提 下,对现有的缓存机制进行优化,提高缓存的利用效果。希望可以以此进一步提高移动设备 用户在浏览网页时的体验,减少用户的流量与电量消耗。
【发明内容】
[0005] 针对现有技术中存在的问题,本发明的目的在于提供一种基于云-端协同的移动 浏览器资源加载优化方法。本发明是在不改变现有用户浏览习惯与Web应用缓存原有配置 的前提下,最大程度减少Web资源的传输流量并提高加载速度。其核心思想是:在原有的Web 应用架构的基础上,在手机端搭建代理服务器,并借助云服务器预取Web资源,即将原有的 从浏览器到服务器的两层架构改变为四层架构。
[0006] 该系统在手机端搭建HTTP代理服务器,并将手机端浏览器的HTTP代理配置为该手 机端代理服务器;在个人云上为每个手机用户搭建云服务器。手机端代理服务器接收手机 端浏览器的请求,并向手机端浏览器返回资源响应。手机端代理服务器并不直接向互联网 请求资源,而向在个人云上搭建的云服务器请求资源,由云服务器从互联网上下载资源,并 有选择地向手机端进行推送。在此过程中,通过URL匹配算法、资源校验码比对、数据压缩与 网站预取等手段达到最大程度减少传输流量并提高加载速度的目的。
[0007] 本发明的技术方案为:
[0008] -种云_端协同的移动浏览器缓存优化方法,具体步骤为:
[0009] 1)在手机端建立代理服务器,该代理服务器可以接收浏览器的请求,并解析请求, 对于代理服务器已缓存的资源,或者通过URL匹配算法计算出存在对应的资源,可以直接将 资源返回给浏览器;对于本地未存储的资源,向云端服务器进行资源的查询。
[0010] 2)在云端为每个手机用户建立一个云服务器,该云服务器可以进行Internet连 接。云服务器可以预取网站的资源,并接收手机端代理服务器的资源请求。如果资源已经被 缓存在云服务器上,则云服务器直接向手机端代理服务器返回该资源,如果没有,则向目标 网站进行请求并将结果返回。
[0011] 3)用户在手机端将浏览器的代理配置为手机端的代理服务器。
[0012] 进一步的,每一个资源都会在云服务器端计算出该文件的校验值,作为标识资源 内容的唯一依据,可以依据该值对缓存资源进行检索。在服务器端将资源传回手机端时,会 先检索该校验值的文件是否已存在于手机端的缓存中,如果已存在,则仅返回该资源的校 验值,手机端代理服务器会根据该校验值提取资源。
[0013] 进一步的,云端服务器会定时预取用户可能访问的网站,提前建立网站的缓存以 供用户访问。
[0014] 进一步的,所有服务器到手机端的传输均经过压缩,以节省未经压缩资源的传输 流量。
[0015] 使用本发明的框架,资源访问主要包含三个步骤:
[0016] 1.预取目标资源:云服务器端会定期对用户可能访问的资源进行预取。
[0017] 2 .接收浏览器请求并检查手机端缓存:手机端代理服务器接收浏览器请求,如果 手机端没有缓存资源,则向云端服务器请求资源;如果该缓存存在或可以根据URL匹配算法 找到相应资源,则直接向浏览器返回资源。
[0018] 3.检查云服务器端缓存:如果云服务器端没有缓存资源,则向原网站请求,然后将 资源传回手机端代理服务器。手机端代理服务器再将结果依照HTTP响应的结构发回浏览 器。
[0019] 上述步骤的具体技术方案如下:
[0020] 1.预取目标资源:服务器端会对用户可能访问的资源进行提前预取,具体的资源 列表会根据用户的访问习惯产生。服务器会将预取好的资源存储,同时计算好校验值,并将 条目整理到数据库中。
[0021] 2.代理服务器接收浏览器请求并检查手机端缓存:本发明可以与浏览器的原有缓 存同时使用,浏览器会将原本需要向远程服务器请求的资源发到手机端代理服务器上。手 机端的代理服务器会接收请求并根据HTTP协议对请求进行解析。之后在本地检测资源是否 已被手机端代理服务器缓存。如果缓存不存在,手机会将解析到的资源URL通过URL匹配算 法在缓存列表中进行查询,如果查询到相关资源,则返回资源,否则将资源请求通过HTTP2 或SPDY协议发送给服务器。
[0022] URL匹配算法包含两部分,URL模式识别与URL匹配查询,其中模式识别在云服务器 端进行,匹配查询在手机端进行。
[0023] 云服务器会对同一网站定时进行的抓取与解析,由此可以得到URL和资源的对应 列表。同一资源对应的URL可能会有多个。本算法的目的在于根据URL检索到潜在对应的资 源,因此需要建立每个资源对应的URL模式。算法首先对URL根据常见URL分隔符进行切分, 对于同一资源,计算得出URL每一部分发生变化时,该资源保持不变的可能性,这个值我们 称为段落关键系数,计算方法为:
[0025] 对于所有资源,该值永远介于0至1之间。
[0026]当服务器将资源与其URL发回手机端时,该URL中所有段落的关键系数都将被传 回。
[0027]当手机端代理服务接收到一个URL的请求时,会首先进行匹配查询,将该URL与相 应网站的所有URL记录进行相似度的对比(先根据该URL找到相应网站,然后将该网站的所 有URL记录进行对比),相似度的计算方法如下:
[0029]其中Ct1表示检索中的待请求URL的段落是否与目标URL的段落匹配,如果不匹配则 为1,匹配则为0。特别地,当待请求URL与目标URL完全相同时,该相似度结果为1。当相似度 结果大于〇. 5时,我们认为目标URL的资源就是待请求U