发明内容
本发明所要解决的技术问题是提供一种能够提前加载预测网页资源的的浏览器网页信息的智能加载方法及系统。
本发明解决上述技术问题的技术方案如下:一种浏览器网页信息的智能加载方法,包括以下步骤:
步骤1:根据用户输入的待访问网址,预测与待访问网页相关的预测网页信息;
步骤2:浏览器向待访问网址发送网址访问请求,请求获取与待访问网址对应的HTML文档,并将获取的HTML文档发送给HTML解析器;
步骤3:浏览器根据预测网页信息发送网址DNS解析请求,请求获取与待访问网址对应的预测域名解析集合中所有域名对应的IP;
步骤4:浏览器根据预测网页信息发送TCP连接请求,请求获取与待访问网址对应的预测连接域名集合中的所有域名,并分别在浏览器与每个域名之间建立TCP连接;
步骤5:浏览器根据预测网页信息发送资源下载请求,请求下载与待访问网址对应的预测网页资源;
步骤6:浏览器中的HTML解析器解析获取的HTML文档,得到组成HTML文档的所有待获取网页资源;
步骤7:将待获取网页资源与预测网页资源进行对比,得到待获取网页资源中与预测网页资源不同的差异网页资源,根据获取的IP、建立的TCP连接和预测网页资源,逐个获取差异网页资源;
步骤8:浏览器将预测网页资源与获取的差异网页资源进行显示。
本发明的有益效果是:本发明提前预测网页加载过程中需要DNS解析的域名,需要TCP连接的域名和需要加载的资源,通过优化资源加载流水线,从而提高整个网页加载的速度,网页加载速度平均改进15-25%,在资源预测加载基础上,引入DNS预测解析和TCP预测连接,网页加载速度平均改进约10%。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述网页信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源。
进一步,所述步骤1具体包括以下步骤:
步骤1.1:对于互联网中预定范围内的所有网络站点,从每个网络站点中随机抓取预定数量的抓取网页,保存与所有抓取网页对应的抓取网页信息;
步骤1.2:获取预定时间段内用户访问的历史网页,保存与所有历史网页对应的历史网页信息;
步骤1.3:根据所有抓取网页和历史网页构建访问记录,并从每个网络站点中抓取的网页和历史网页中分别抽取网址特征,并根据抓取的网页和历史网页及分别与抓取的网页和历史网页对应的网址特征的集合建立倒排索引;
步骤1.4:获取用户输入的待访问网址,判断用户输入的待访问网址是否在访问记录中,如果是,根据倒排索引获取与待访问网址相关的历史网页信息或者抓取网页信息,结束处理,如果不是,抽取待访问网址的网址特征;
步骤1.5:根据抽取的待访问网址的网址特征的集合构建候选集,所述候选集为倒排索引中所有网址特征的集合的并集的特征候选集;
步骤1.6:计算待访问网址与特征候选集中每一个网址的相似度,根据相似度权重排序,选取相似度权重最高的网址特征对应的历史访问网址;
步骤1.7:将历史访问网址对应的网址信息作为预测候选集,计算预测候选集中每一个网址信息的概率,并选取概率最大的网址信息作为预测网页信息返回。
进一步,所述抓取网页信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源;
所述历史网页信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源;
所述网址信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源。
进一步,所述步骤1.6中计算待访问网址与特征候选集中每一个网址的相似度具体为,根据待访问网址与特征候选集中任一个网址的特征向量计算余弦距离。
进一步,一种浏览器网页信息的智能加载系统,包括预测模块、第一请求获取模块、第二请求获取模块、第三请求获取模块、请求下载模块、解析模块、获取模块和显示模块;
所述预测模块,用于根据用户输入的待访问网址,预测与待访问网页相关的预测网页信息;
所述第一请求获取模块,用于浏览器向待访问网址发送网址访问请求,请求获取与待访问网址对应的HTML文档,并将获取的HTML文档发送给HTML解析器;
所述第二请求获取模块,用于使浏览器根据预测网页信息发送网址DNS解析请求,请求获取与待访问网址对应的预测域名解析集合中所有域名对应的IP;
所述第三请求获取模块,用于使浏览器根据预测网页信息发送TCP连接请求,请求获取与待访问网址对应的预测连接域名集合中的所有域名,并分别在浏览器与每个域名之间建立TCP连接;
所述请求下载模块,用于使浏览器根据预测网页信息发送资源下载请求,请求下载与待访问网址对应的预测网页资源;
所述解析模块,用于使浏览器中的HTML解析器解析获取的HTML文档,得到组成HTML文档的所有待获取网页资源;
所述获取模块,用于将待获取网页资源与预测网页资源进行对比,得到待获取网页资源中与预测网页资源不同的差异网页资源,根据获取的IP、建立的TCP连接和预测网页资源,逐个获取差异网页资源;
所述显示模块,用于使浏览器将预测网页资源与获取的差异网页资源进行显示。
进一步,所述网页信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源。
进一步,所述预测模块具体包括:抓取模块、获取保存模块、抽取模块、判断模块、构建模块、计算模块和返回模块;
所述抓取模块,用于对于互联网中预定范围内的所有网络站点,从每个网络站点中随机抓取预定数量的抓取网页,保存与所有抓取网页对应的抓取网页信息;
所述获取保存模块,用于获取预定时间段内用户访问的历史网页,保存与所有历史网页对应的历史网页信息;
所述抽取模块,用于根据所有抓取网页和历史网页构建访问记录,并从每个网络站点中抓取的网页和历史网页中分别抽取网址特征,并根据抓取的网页和历史网页及分别与抓取的网页和历史网页对应的网址特征的集合建立倒排索引;
所述判断模块,用于获取用户输入的待访问网址,判断用户输入的待访问网址是否在访问记录中,如果是,根据倒排索引获取与待访问网址相关的历史网页信息或者抓取网页信息,结束处理,如果不是,抽取待访问网址的网址特征;
所述构建模块,用于根据抽取的待访问网址的网址特征的集合构建候选集,所述候选集为倒排索引中所有网址特征的集合的并集的特征候选集;
所述计算模块,用于计算待访问网址与特征候选集中每一个网址的相似度,根据相似度权重排序,选取相似度权重最高的网址特征对应的历史访问网址;
所述返回模块,用于将历史访问网址对应的网址信息作为预测候选集,计算预测候选集中每一个网址信息的概率,并选取概率最大的网址信息作为预测网页信息返回。
进一步,所述抓取网页信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源;
所述历史网页信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源;
所述网址信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源。
进一步,所述计算模块中计算待访问网址与特征候选集中每一个网址的相似度具体为,根据待访问网址与特征候选集中任一个网址的特征向量计算余弦距离。
实施例1
一种浏览器网页信息的智能加载方法,包括以下步骤:
步骤1:根据用户输入的待访问网址,预测与待访问网页相关的预测网页信息;
步骤2:浏览器向待访问网址发送网址访问请求,请求获取与待访问网址对应的HTML文档,并将获取的HTML文档发送给HTML解析器;
步骤3:浏览器根据预测网页信息发送网址DNS解析请求,请求获取与待访问网址对应的预测域名解析集合中所有域名对应的IP;
步骤4:浏览器根据预测网页信息发送TCP连接请求,请求获取与待访问网址对应的预测连接域名集合中的所有域名,并分别在浏览器与每个域名之间建立TCP连接;
步骤5:浏览器根据预测网页信息发送资源下载请求,请求下载与待访问网址对应的预测网页资源;
步骤6:浏览器中的HTML解析器解析获取的HTML文档,得到组成HTML文档的所有待获取网页资源;
步骤7:将待获取网页资源与预测网页资源进行对比,得到待获取网页资源中与预测网页资源不同的差异网页资源,根据获取的IP、建立的TCP连接和预测网页资源,逐个获取差异网页资源;
步骤8:浏览器将预测网页资源与获取的差异网页资源进行显示。
所述网页信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源。
所述步骤1具体包括以下步骤:
步骤1.1:对于互联网中预定范围内的所有网络站点,从每个网络站点中随机抓取预定数量的抓取网页,保存与所有抓取网页对应的抓取网页信息;
步骤1.2:获取预定时间段内用户访问的历史网页,保存与所有历史网页对应的历史网页信息;
步骤1.3:根据所有抓取网页和历史网页构建访问记录,并从每个网络站点中抓取的网页和历史网页中分别抽取网址特征,并根据抓取的网页和历史网页及分别与抓取的网页和历史网页对应的网址特征的集合建立倒排索引;
步骤1.4:获取用户输入的待访问网址,判断用户输入的待访问网址是否在访问记录中,如果是,根据倒排索引获取与待访问网址相关的历史网页信息或者抓取网页信息,结束处理,如果不是,抽取待访问网址的网址特征;
步骤1.5:根据抽取的待访问网址的网址特征的集合构建候选集,所述候选集为倒排索引中所有网址特征的集合的并集的特征候选集;
步骤1.6:计算待访问网址与特征候选集中每一个网址的相似度,根据相似度权重排序,选取相似度权重最高的网址特征对应的历史访问网址;
步骤1.7:将历史访问网址对应的网址信息作为预测候选集,计算预测候选集中每一个网址信息的概率,并选取概率最大的网址信息作为预测网页信息返回。
所述抓取网页信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源;
所述历史网页信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源;
所述网址信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源。
所述步骤1.6中计算待访问网址与特征候选集中每一个网址的相似度具体为,根据待访问网址与特征候选集中任一个网址的特征向量计算余弦距离。
在具体实施中,采取以下方式:
引入智能预测模型之后的网页加载流程:
1.启动浏览器的时候初始化并加载智能预测模型PageLoadOracle
2.用户输入访问的网址url_webpage(如:http://www.sina.com.cn/);
3.浏览器询问智能预测模型PageLoadOracle:访问url_webpage(http://www.sina.com.cn)过程中可能需要解析的域名有哪些?可能需要建立连接的域名有哪些?可能需要下载的资源有哪些?
4.智能预测模型PageLoadOracle返回她的预测结果:网址url_webpage(如:http://www.sina.com.cn)访问过程中可能需要解析的域名集合dns_domain_set(如:news.sina.com.cn,login.sina.com.cn),可能需要连接的域名集合tcp_domain_set(如:sax.sina.com.cn)和可能需要加载的资源集合subresource_set(如:http://i3.sinaimg.cn/home/2014/0108/U4167P30DT20140108175729.png,http://d1.sina.com.cn/js/index/14/sync.js);
5.浏览器发送网络请求获取url_webpage对应的HTML文档;
6.浏览器发送DNS解析请求,提前获取可能需要进行DNS解析的域名集合dns_domain_set(如:news.sina.com.cn,login.sina.com.cn)中的所有域名对应的ip;
7.浏览器发送TCP连接请求,提前为可能需要进行TCP连接的域名集合tcp_domain_set(如:sax.sina.com.cn)中的所有域名创建浏览器与这些域名之间的TCP连接;
8.浏览器发送网络请求,提前获取可能需要下载的资源集合subresource_set(如:http://i3.sinaimg.cn/home/2014/0108/U4167P30DT20140108175729.png,http://d1.sina.com.cn/js/index/14/sync.js)中的资源;
9.HTMLParser分析HTML文档,得到网页必须的资源subresource_1,subresource_2,……;
10.逐次发送网络请求获取没有出现在提前获取的预测网页资源中的剩余资源subresource_1,subresource_2,……;
11.逐次获取上述剩余资源subresource_1,subresource_2,……之后,通知智能预测模型网页加载过程中请求的资源,以用于后续智能预测模型的更新和改进;
12.浏览器根据加载的资源进行页面布局,渲染并最终把渲染结果网页呈现给用户。
浏览器关闭时或定期,智能预测模型根据收集的网页加载历史记录,更新智能预测模型并保持到持久化存储设备中。
一种浏览器网页信息的智能加载系统,包括预测模块1、第一请求获取模块2、第二请求获取模块3、第三请求获取模块4、请求下载模块5、解析模块6、获取模块7和显示模块8;
所述预测模块1,用于根据用户输入的待访问网址,预测与待访问网页相关的网页信息;
所述第一请求获取模块2,用于控制浏览器发送网址访问请求,请求获取与待访问网址对应的HTML文档;
所述第二请求获取模块3,用于控制浏览器根据预测网页信息发送网址DNS解析请求,请求获取与待访问网址对应的预测域名解析集合中所有域名对应的IP;
所述第三请求获取模块4,用于控制浏览器根据预测网页信息发送TCP连接请求,请求获取与待访问网址对应的预测连接域名集合中的所有域名,并分别在浏览器与每个域名之间建立TCP连接;
所述请求下载模块5,用于控制浏览器根据预测网页信息发送资源下载请求,请求下载与待访问网址对应的预测网页资源;
所述解析模块6,用于控制浏览器中的HTML解析器解析获取的HTML文档,得到组成HTML文档的所有网页资源的信息;
所述获取模块7,用于根据所有网页资源的信息、通过访问获取的IP和建立的TCP连接逐个获取网页资源中没有出现在预测网页资源中的剩余资源;
所述显示模块8,用于控制浏览器根据加载的网页资源显示结果网页。
所述网页信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源。
所述预测模块1具体包括:抓取模块、获取保存模块、抽取模块、判断模块、构建模块、计算模块和返回模块;
所述抓取模块,用于对于互联网中预定范围内的所有网络站点,从每个网络站点中随机抓取预定数量的抓取网页,保存与所有抓取网页对应的抓取网页信息;
所述获取保存模块,用于获取预定时间段内用户访问的历史网页,保存与所有历史网页对应的历史网页信息;
所述抽取模块,用于根据所有抓取网页和历史网页构建访问记录,并从每个网络站点中抓取的网页和历史网页中分别抽取网址特征,并根据抓取的网页和历史网页及分别与抓取的网页和历史网页对应的网址特征的集合建立倒排索引;
所述判断模块,用于获取用户输入的待访问网址,判断用户输入的待访问网址是否在访问记录中,如果是,根据倒排索引获取与待访问网址相关的历史网页信息或者抓取网页信息,结束处理,如果不是,抽取待访问网址的网址特征;
所述构建模块,用于根据抽取的待访问网址的网址特征的集合构建候选集,所述候选集为倒排索引中所有网址特征的集合的并集的特征候选集;
所述计算模块,用于计算待访问网址与特征候选集中每一个网址的相似度,根据相似度权重排序,选取相似度权重最高的网址特征对应的历史访问网址;
所述返回模块,用于将历史访问网址对应的网址信息作为预测候选集,计算预测候选集中每一个网址信息的概率,并选取概率最大的网址信息作为预测网页信息返回。
所述抓取网页信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源;
所述历史网页信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源;
所述网址信息包括DNS解析的域名、待创建连接的域名和/或待加载的资源。
所述计算模块1-6中计算待访问网址与特征候选集中每一个网址的相似度具体为,根据待访问网址与特征候选集中任一个网址的特征向量计算余弦距离。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。