一种基于云端模板预先加载的网页渲染加速方法和系统的制作方法

文档序号:6513509阅读:188来源:国知局
一种基于云端模板预先加载的网页渲染加速方法和系统的制作方法
【专利摘要】本发明提供了一种基于云端模板预先加载的网页渲染加速方法和系统。浏览器发出的请求通过一个云端的服务器进行代理,云端获得网页的html代码后进行分析,抽取出模板和内容部分别发送到浏览器进行渲染,浏览器之后再有相同目录层级下的网页请求时,在本地预先加载模板部分,云端只返回该网页的内容部分,浏览器再在已有模板的基础上渲染内容部分。利用本发明提供的技术方案,可以降低因访问同一网站目录层级下网页模板重复加载带来的时间消耗,并且同时可以降低流量和电池电量的消耗,提高用户体验。
【专利说明】一种基于云端模板预先加载的网页渲染加速方法和系统
【技术领域】
[0001]本发明提供一种基于云端网页渲染加速的方法和系统,具体涉及一种网页模板提取与内容分离的方法。
【背景技术】
[0002]万维网(WWW)上的每个网站下都有大量内容不同的网页,这些网页通常按照内容的相关性组织在不同的层级目录中。例如同一网站下体育相关信息的网址可能分别是“http://www.test, com/sports/001.htm,,和 “http://www.test, com/sports/002.htm,,,而和购物信息相关的网页分别是 “http: //www.test, com/shopping/001, htm” 和 “http: //www.test, com/shopping/002.htm”。由于内容不相关的信息需要有不同的展现形式,通常网页开发者会用不同的模板对网页进行设计,而内容相关的网页通常由相同的模板生成。由于内容通常按照目录层级组织,因此在网站同一目录层级的网页大多利用同一模板。
[0003]通常用户对网页的浏览在一定时间内会集中在内容相关的网页中,这时相同的模板内容会不断地被下载到浏览器进行渲染,一方面重复渲染会浪费时间,并且会消耗不必要的网络流量,另一方面功耗也会上升,这些问题在移动端尤为明显。

【发明内容】

[0004]发明的目的是提供一种新的方法,使得浏览器通过和云端交互,不必重复加载相同的网页模板,只需加载网页的内容部分,来达到网页加载速度的提升,同时能降低浏览器的流量和能耗的消耗。
[0005]本发明的原理是:浏览器发出的请求通过一个云端的服务器进行代理,云端获得网页的html代码后进行分析,抽取出模板和内容部分别发送到浏览器进行渲染,浏览器之后再有相同目录层级下的网页请求时,在本地预先加载模板部分,云端只返回该网页的内容部分,浏览器再在已有模板的基础上渲染内容部分。
[0006]本发明提供的技术方案如下:
[0007]—种基于云端模板预先加载的网页渲染加速方法,其特征是,
[0008]I)浏览器向云端发送网页请求信息;
[0009]2)云端从网站获取网页代码并将之解析为内容和模板两部分;
[0010]3)云端根据浏览器发送的请求信息判断是否需要向浏览器发送模板,如果需要,则发送模板和内容,否则,仅发送内容;
[0011]4)浏览器对模板和内容进行渲染。
[0012]所述的网页渲染加速方法,其特征是,所述浏览器根据网站的层级目录保存相应的网页模板。
[0013]所述的网页渲染加速方法,其特征是,浏览器向云端发送的网页请求信息包括:网页的网址;还包括,需要模板标志(即需要云端返回模板,这意味着浏览器本地无相应的模板,需要从云端获取),或者,本地模板的哈希码;[0014]如果是需要模板标志,则云端返回模板;如果是本地模板的哈希码,则云端用此哈希码和云端计算出的哈希码进行对比,如果二者相同,则仅返回网页内容,如果二者不同,则返回网页内容和模板。
[0015]一种基于云端模板预先加载的网页渲染加速方法,其特征是,
[0016]A.当浏览器访问某个网址,且不存在当前网站层级下的模板时,执行如下操作:
[0017]Al.同时向云端请求该网址网页的内容及模板;
[0018]A2.云端获取网页的html文本,并解析出模板和内容;
[0019]A3.云端将解析出的模板和内容发送到浏览器;
[0020]A4.浏览器组装模板和内容进行渲染,并将模板保存;
[0021]B.当浏览器访问某个网址,且存在当前网站层级目录下的模板时,执行如下操作:
[0022]B1.向云端请求该网址的内容,并发送本地模板的哈希值;
[0023]B2.浏览器端预先渲染模板;
[0024]B3.云端获取网页的html文本,并解析出模板和内容;
[0025]B4.若云端模板哈希值和浏览器端一致,执行如下操作:
[0026]B4.1.云端仅发送网页内容到浏览器;
[0027]B4.2.浏览器将接收到的网页内容和本地的模板整合并渲染;
[0028]B5.若云端模板哈希值和浏览器端不一致,执行如下操作:
[0029]B5.1.云端将模板和内容发送到浏览器,并提示浏览器更新模板;
[0030]B5.2.浏览器重新组合模板和内容,并重新渲染;
[0031]B5.3.浏览器更新模板,保存新的模板。
[0032]所述的网页渲染加速方法,其特征是,所述云端的执行流程如下:
[0033]I)接受浏览器请求;
[0034]2)获取网页文本;
[0035]3 )把网页文本解析出模板和内容两部分;
[0036]4)判断浏览器请求中是否包括模板,如果是,则发送模板和内容到浏览器;否则,根据浏览器端发送的模板哈希码和云端的模板哈希码进行判断,如果二者一致,则仅发送内容到浏览器,如果二者不一致,则发送模板和内容到浏览器,同时要求浏览器更新模板。
[0037]本发明同时提供一种基于云端模板预先加载的网页渲染加速系统,包括,位于客户端的浏览器,位于云端的网站服务器装置,其特征是,还包括位于云端的服务器代理单元;
[0038]所述浏览器,向云端发送网页请求;接收从云端返回的网页内容,或者网页内容及模板;对网页内容及模板进行渲染;根据网站层级目录储存网页模板;
[0039]所述服务器代理单元,接收从浏览器发来的网页请求;从所述网站服务器装置获取网页;将网页解析成内容和模板两部分;根据浏览器的请求情况,向浏览器仅返回内容,或者返回内容及模板。
[0040]所述的网页渲染加速系统,其特征是,所述浏览器为个人电脑上的浏览器或者智能手机上的浏览器。
[0041]所述的网页渲染加速系统,其特征是,当浏览器已包含相应网页模板时,在发送网页请求的同时渲染本地模板,以加快渲染速度,提高用户体验。
[0042]本发明的有益效果:利用本发明提供的技术方案,可以降低因访问同一网站目录层级下网页模板重复加载带来的时间消耗,并且同时可以降低流量和电池电量的消耗,提闻用户体验。
【专利附图】

【附图说明】
[0043]图1是本发明浏览器端无模板浏览器端加载网页的流程。
[0044]图2是本发明浏览器端有模板浏览器端加载网页的流程。
[0045]图3是本发明云端辅助浏览器端的流程图。
【具体实施方式】
[0046]本发明的【具体实施方式】如下:
[0047]A.当浏览器访问某个网址,且不存在当前网站层级下的模板时,执行如下操作:(如图1)
[0048]Al.同时向云端请求该网址网页的内容及模板;
[0049]A2.云端获取网页的html文本,并解析出模板部分和内容部分,在分离模板和内容方面现在已经有很多成熟的算法和实例;
[0050]A3.云端将模板和内容发送到浏览器;
[0051]A4.浏览器组装模板和内容进行渲染,并将模板保存,计算模板的哈希值,用于今后的模板校验。(参考实例I)
[0052]B.当浏览器访问某个网址,且存在当前网站层级目录下的模板时,执行如下操作(如图2):
[0053]B1.向云端请求该网址的内容,并发送本地模板的哈希值,用于校验本地模板是否正确或者过期;
[0054]B2.浏览器端预先渲染网页模板部分,和发送请求过程并行,可以提高加载速度;
[0055]B3.云端获取网页的html文本,并解析出模板部分和内容部分,;
[0056]B4.若云端模板哈希值和浏览器端一致,说明本地存在该网页的模板,执行如下操作:
[0057]B4.1.云端仅发送网页内容部分,省略掉模板部分以节省流量;
[0058]B4.2.浏览器将网页内容部分和模板部分整合并渲染。
[0059]B5.若云端模板哈希值和浏览器端不一致,说明模板不正确或者过期,执行如下操作:
[0060]B5.1.云端将模板和内容发送到浏览器,并提示浏览器更新模板;
[0061]B5.2.浏览器重新组合模板部分和内容部分,并重新渲染;
[0062]B5.3.浏览器更新模板,保存新的模板。(参考实例2)
[0063]云端执行的操作流程如图3所示,包括如下步骤:
[0064]5)接受浏览器请求;
[0065]6)获取网页文本;
[0066]7 )把网页文本解析出模板和内容两部分;[0067]8)判断浏览器请求中是否包括模板,如果是,则发送模板和内容到浏览器;否则,根据浏览器端发送的模板哈希码和云端的模板哈希码进行判断,如果二者一致,则仅发送内容到浏览器,如果二者不一致,则发送模板和内容到浏览器,同时要求浏览器更新模板。
[0068]下面通过实例对本发明做进一步说明。
[0069]实施例1:
[0070]假定一个按照目录分层存放网页的网站http://www.test, com下的目录a下有若干个网页,用户访问其中的某一个网页http://www.test, com/a/001, html,此时浏览器端没有缓存的模板。此例中浏览器需要向云端同时请求网页的模板和内容,对模板和内容进行组装渲染,并保存模板。
[0071]网页加载的流程图如图1所示,包括如下步骤:
[0072]I)查找当前浏览器模板,没有发现http:// www.test, com/a/ 的模板;
[0073]2)向云端发送http://www.test, com/a/001, html模板和内容的请求;
[0074]3)云端解析网页的模板和内容,并发送给浏览器;
[0075]4)浏览器将http://www.test, com/a/001, html的模板和内容组合并进行渲染;
[0076]5)浏览器端保存模板并计算模板的哈希值,对以后属于http:// www.test, com/a/目录下的网页预先渲染此模板。
[0077]实施例2:
[0078]如实施例1所述,不同之处在于:此时用户浏览器端存在http://www.test, com/a/的模板。
[0079]此时浏览器端需要发送模板的哈希值和云端进行校验,如果模板正确则云端只需发送网页内容部分数据即可由浏览器端组装出完整的网页。若模板不正确则云端重新发送模板,浏览器端更新模板。
[0080]网页加载的流程图如图2所示,包括如下步骤:
[0081 ] I)查找当前浏览器端模板,发现存在http: // www.test, com/a/ 的模板;
[0082]2)向云端发送http://www.test, com/a/001, html内容的请求,以及浏览器端对应模板的哈希值;
[0083]3)云端解析网页的模板和内容,将云端的模板哈希值和浏览器端模板的哈希值进行比较;
[0084]4)云端检测哈希值相同,只返回网页内容;
[0085]5)浏览器将本地得到的http://www.test, com/a/002, html的模板和从云端接收的内容组合并进行渲染;
[0086]实施例3:
[0087]—种基于云端模板预先加载的网页渲染加速系统,包括,位于客户端的浏览器,位于云端的网站服务器装置,位于云端的服务器代理单元;
[0088]所述浏览器,向云端发送网页请求;接收从云端返回的网页内容,或者网页内容及模板;对网页内容及模板进行渲染;根据网站层级目录储存网页模板;
[0089]所述服务器代理单元,接收从浏览器发来的网页请求;从所述网站服务器装置获取网页;将网页解析成内容和模板两部分;根据浏览器的请求情况,向浏览器仅返回内容,或者返回内容及模板。[0090]所述浏览器为个人电脑上的浏览器或者智能手机上的浏览器。
[0091]当浏览器已包含相应网页模板时,在发送网页请求的同时渲染本地模板,以加快渲染速度,提高用户体验。
[0092]由上可知,通过本发明所述的方法,可以降低因访问同一网站目录层级下网页模板重复加载带来的时间消耗,并且同时可以降低网络的流量以及电池电量的消耗,提高了用户体验。本发明可以用于个人电脑的浏览器网站访问,也可用于智能手机等智能电子设备的浏览器访问。
【权利要求】
1.一种基于云端模板预先加载的网页渲染加速方法,其特征是, .1)浏览器向云端发送网页请求信息; .2)云端从网站获取网页代码并将之解析为内容和模板两部分; .3)云端根据浏览器发送的请求信息判断是否需要向浏览器发送模板,如果需要,则发送模板和内容,否则,仅发送内容; . 4)浏览器对模板和内容进行渲染。
2.如权利要求1所述的网页渲染加速方法,其特征是,所述浏览器根据网站的层级目录保存相应的网页模板。
3.如权利要求1所述的网页渲染加速方法,其特征是,浏览器向云端发送的网页请求信息包括:网页的网址;还包括,需要模板标志,或者,本地模板的哈希码; 如果是需要模板标志,则云端返回模板;如果是本地模板的哈希码,则云端用此哈希码和云端计算出的哈希码进行对比,如果二者相同,则仅返回网页内容,如果二者不同,则返回网页内容和模板。
4.一种基于云端模板预先加载的网页渲染加速方法,其特征是, A.当浏览器访问某个网址,且不存在当前网站层级下的模板时,执行如下操作: Al.同时向云端请求该网址网页的内容及模板; A2.云端获取网页的html文本,并解析出模板和内容; A3.云端将解析出的模板和内容发送到浏览器; A4.浏览器组装模板和内容进行渲染,并将模板保存; B.当浏览器访问某个网址,且存在当前网站层级目录下的模板时,执行如下操作: B1.向云端请求该网址的内容,并发送本地模板的哈希值; B2.浏览器端预先渲染模板; B3.云端获取网页的html文本,并解析出模板和内容; B4.若云端模板哈希值和浏览器端一致,执行如下操作: B4.1.云端仅发送网页内容到浏览器; B4.2.浏览器将接收到的网页内容和本地的模板整合并渲染; B5.若云端模板哈希值和浏览器端不一致,执行如下操作: B5.1.云端将模板和内容发送到浏览器,并提示浏览器更新模板; B5.2.浏览器重新组合模板和内容,并重新渲染; B5.3.浏览器更新模板,保存新的模板。
5.如权利要求4所述的网页渲染加速方法,其特征是,所述云端的执行流程如下: 1)接受浏览器请求; 2)获取网页文本; 3)把网页文本解析出模板和内容两部分; 4)判断浏览器请求中是否包括模板,如果是,则发送模板和内容到浏览器;否则,根据浏览器端发送的模板哈希码和云端的模板哈希码进行判断,如果二者一致,则仅发送内容到浏览器,如果二者不一致,则发送模板和内容到浏览器,同时要求浏览器更新模板。
6.一种基于云端模板预先加载的网页渲染加速系统,包括,位于客户端的浏览器,位于云端的网站服务器装置,其特征是,还包括位于云端的服务器代理单元;所述浏览器,向云端发送网页请求;接收从云端返回的网页内容,或者网页内容及模板;对网页内容及模板进行渲染;根据网站层级目录储存网页模板; 所述服务器代理单元,接收从浏览器发来的网页请求;从所述网站服务器装置获取网页;将网页解析成内容和模板两部分;根据浏览器的请求情况,向浏览器仅返回内容,或者返回内容及模板。
7.如权利要求6所述的网页渲染加速系统,其特征是,所述浏览器为个人电脑上的浏览器或者智能手机上的浏览器。
8.如权利要求6所述的网页渲染加速系统,其特征是,当浏览器已包含相应网页模板时,在发送网页请求的同时渲染本地模板。
【文档编号】G06F17/30GK103500199SQ201310449318
【公开日】2014年1月8日 申请日期:2013年9月24日 优先权日:2013年9月24日
【发明者】郭耀, 刘梦馨, 王浩宇, 吕骁博, 陈向群 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1