CN102917067A - 基于客户端自适应并发控制提高响应速度的方法和装置 - Google Patents
基于客户端自适应并发控制提高响应速度的方法和装置 Download PDFInfo
- Publication number
- CN102917067A CN102917067A CN2012104090506A CN201210409050A CN102917067A CN 102917067 A CN102917067 A CN 102917067A CN 2012104090506 A CN2012104090506 A CN 2012104090506A CN 201210409050 A CN201210409050 A CN 201210409050A CN 102917067 A CN102917067 A CN 102917067A
- Authority
- CN
- China
- Prior art keywords
- response
- concurrency control
- client
- domain name
- time
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了基于客户端自适应并发控制提高响应速度的方法和装置,可应用于web服务器和web缓存服务器上,源站将不需要将资源分配到多个域名上,能自适应地动态分配最合适的域名数。其技术方案为:方法包括:源站或缓存服务器将需要响应的数据包发送给该客户端自适应并发控制模块;该客户端自适应并发控制模块对于响应的数据包,修改数据包的响应内容之后再发送给客户端,其中对于响应的第一个数据包,在修改响应内容之前根据页面渲染反馈的响应时间结果选择域名个数以分散资源;在响应结束之后在响应中添加统计页面渲染时间的脚本。
Description
技术领域
本发明涉及一种对HTTP、HTTPS页面提高响应速度的技术,尤其涉及源站或者缓存服务器基于客户端自适应并发控制提高HTTP、HTTPS页面响应速度的方法和装置。
背景技术
根据HTTP/1.1协议rfc2616中的建议:浏览器对每个服务端限制为两个连接。实际应用过程中,不同的浏览器,不同的HTTP协议版本对于服务端的连接数限制不太一样,比如:
1.IE6,7对HTTP/1.1连接数限制为2,对HTTP/1.0限制为4
2.IE8对HTTP/1.1和HTTP/1.0连接数限制均为6
3.Firefox 2对HTTP/1.1连接数限制为2,对HTTP/1.0限制为8
4.Firefox 3对HTTP/1.1和HTTP/1.0连接数限制均为6
5.Opera 9,10对HTTP/1.1和HTTP/1.0连接数限制均为4
利用浏览器请求并发数的特点,网站开发者可以将网站的资源分配到多个域名上,实际上也有很多网站利用了这一特性来提升网站的访问速度,比如百度将图片分配在t[1,2,3].***.com三个域名上,sina将资源分配在i[0,1,2,3].sinaimg.cn,d[1,2,3,4,5].sina.com.cn等几个域名上。
将资源分配到多个域名上,充分利用了浏览器并发连接提高了下载速度,但是同时也增加了域名的dns解析时间,因此如何合理在利用浏览器并发连接特性是关键。比如说如果一个网站仅包含2个资源,它们完全能够在一个域名并发下载,分成多个域名并不合适。
基于客户端并发控制的基本思想是:现在很多网站开发者有意将资源分散到多个域名上,利用浏览器并发特定来提高网站的访问速度。
现有基于客户端并发控制的网站开发实现方案存在三个弊端:
1.网站开发人员需要根据个人经验来决定需要将资源分布在几个域名上,这个过程很可能会因为域名个数使用不合理,域名dns解析太长,影响网站的响应时间;
2.在开发过程中,需要考虑将统一资源的引用分配到统一域名上,否则统一资源会因为域名不一样,而下载多次,影响响应时间,浪费流量。而实际开发过程中,网站开发人员在引用资源的时候,很难确保统一资源分配到统一域名上,特别在资源多的情况下,这个是个很大的工作量,而且容易出错。
3.在网站开发过程中,确定好将资源分配在几个域名后,就固定几个域名了。而不同的浏览器及浏览器版本支持的并发数不一致,因此没办法充分利用不同浏览器不同并发数的特点,使得所有的浏览器访问速度都达到最优效果。
发明内容
本发明的目的在于解决上述问题,提供了一种基于客户端自适应并发控制提高响应速度的方法和装置,可应用于web服务器和web缓存服务器上,源站将不需要将资源分配到多个域名上,能自适应地动态分配最合适的域名数。
本发明的技术方案为:本发明揭示了一种基于客户端自适应并发控制提高响应速度的方法,在源站或者缓存服务器中安装客户端自适应并发控制模块,其中该方法包括:
源站或缓存服务器将需要响应的数据包发送给该客户端自适应并发控制模块;
该客户端自适应并发控制模块对于响应的数据包,修改数据包的响应内容之后再发送给客户端,其中对于响应的第一个数据包,在修改响应内容之前根据页面渲染反馈的响应时间结果选择域名个数以分散资源;
在响应结束之后在响应中添加统计页面渲染时间的脚本。
根据本发明的基于客户端自适应并发控制提高响应速度的方法的一实施例,该脚本在页面渲染结束之后发送页面渲染时间统计的请求到该客户端自适应并发控制模块,以进一步进行反馈处理:
该客户端自适应并发控制模块在接收到请求后从中提取信息,提取到的信息包括渲染页面的URL、浏览器版本、嵌入的资源个数、使用的域名个数、渲染时间;
根据渲染时间,使用历史数据计算该URL对应的浏览器版本在使用相应域名个数的时候所需的时间,并更新对应的响应时间统计值。
根据本发明的基于客户端自适应并发控制提高响应速度的方法的一实施例,在选择域名个数的过程中根据URL进行哈希计算,以使页面的同一个资源分配在同一个域名上。
本发明还揭示了一种基于客户端自适应并发控制提高响应速度的装置,在源站或者缓存服务器中安装客户端自适应并发控制模块,其中该装置包括:
响应数据包发送模块,源站或缓存服务器将需要响应的数据包发送给该客户端自适应并发控制模块;
响应数据包处理模块,该客户端自适应并发控制模块对于响应的数据包,修改数据包的响应内容之后再发送给客户端,其中对于响应的第一个数据包,在修改响应内容之前根据页面渲染反馈的响应时间结果选择域名个数以分散资源;
脚本添加模块,在响应结束之后在响应中添加统计页面渲染时间的脚本。
根据本发明的基于客户端自适应并发控制提高响应速度的装置的一实施例,该装置还包括:
信息提取模块,该客户端自适应并发控制模块在接收到请求后从中提取信息,提取到的信息包括渲染页面的URL、浏览器版本、嵌入的资源个数、使用的域名个数、渲染时间;
响应时间更新模块,根据渲染时间,使用历史数据计算该URL对应的浏览器版本在使用相应域名个数的时候所需的时间,并更新对应的响应时间统计值。
根据本发明的基于客户端自适应并发控制提高响应速度的装置的一实施例,在响应数据包处理模块中,在选择域名个数的过程中根据URL进行哈希计算,以使页面的同一个资源分配在同一个域名上。
本发明对比现有技术有如下的有益效果:本发明的方案是在源站或者缓存服务器中引入客户端自适应并发控制模块,使得源站不需要将资源分配到多个域名上,经过客户端自适应并发控制模块的处理,能自适应地动态分配最合适的域名数。
附图说明
图1示出了本发明的基于客户端自适应并发控制提高响应速度的方法的一实施例的流程图。
图2示出了本发明的基于客户端自适应并发控制提高响应速度的方法中的渲染时间反馈请求处理的流程图。
图3示出了本发明的基于客户端自适应并发控制提高响应速度的装置的一实施例的框图。
图4示出了本发明的基于客户端自适应并发控制提高响应速度的装置的渲染时间反馈请求处理的框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1示出了本发明的基于客户端自适应并发控制提高响应速度的方法的一实施例的流程。请参见图1,下面是对本实施例的方法的各个步骤的详细描述。
步骤S10:在源站或者缓存服务器中安装客户端自适应并发控制模块,源站或缓存服务器将需要响应的数据包发送给客户端自适应并发控制模块。
步骤S11:客户端自适应并发控制模块接收到数据包之后,判断是否为需要响应的第一个数据包,若是则转入步骤S12处理,否则转入步骤S13处理。
步骤S12:根据页面渲染反馈的响应时间结果选择域名个数以分散资源。
在本步骤中,根据URL进行哈希计算,以使页面的同一个资源分配在同一个域名上。这种对资源进行的自动分配,可使网络开发过程中无需考虑将统一资源的引用分配到统一域名上的问题。
客户端自适应并发控制模块会对同一页面、不同的浏览器版本,尝试分配不同的域名个数。根据统计脚本反馈的页面渲染时间进行统计处理,通过这个过程的智能学习,该模块能对一个页面、不同的浏览器版本选择最合适的域名个数。通过这一智能分析合适域名个数的特性,可以解决网站开发者根据个人经验分配域名个数不合理导致域名dns解析时间长,影响网站响应时间问题;同时该模块对资源的域名分配是动态的,将浏览器版本列入考虑因素,因此也解决了网站固定的域名个数无法满足不同浏览器请求并发数不同的问题,使得网站可以在不同版本的浏览器上都能得到很好的响应效果。
步骤S13:修改数据包的响应内容。
步骤S14:判断响应是否结束,若结束则转入步骤S15处理,否则返回到步骤S10进行处理。
步骤S15:在响应结束之后在响应中添加统计页面渲染时间的脚本。
该脚本在页面渲染结束之后发送页面渲染时间统计的请求到客户端自适应并发控制模块,以进一步进行反馈处理。反馈处理的步骤详见图2。
步骤S20:客户端自适应并发控制模块接收统计页面渲染时间请求。
步骤S21:客户端自适应并发控制模块在接收到请求后从中提取信息,提取到的信息包括渲染页面的URL、浏览器版本、嵌入的资源个数、使用的域名个数、渲染时间。
步骤S22:根据渲染时间,使用历史数据计算该URL对应的浏览器版本在使用相应域名个数的时候所需的时间,并更新对应的响应时间统计值。
本发明还揭示了基于客户端自适应并发控制提高响应速度的装置的实施例,在本实施例中,在源站或者缓存服务器中安装客户端自适应并发控制模块。请参见图3,本实施例的装置包括响应数据包发送模块30、响应数据包处理模块32和脚本添加模块34。
响应数据包发送模块30中,源站或缓存服务器将需要响应的数据包发送给客户端自适应并发控制模块。
响应数据包处理模块32中,客户端自适应并发控制模块对于响应的数据包,修改数据包的响应内容之后再发送给客户端,其中对于响应的第一个数据包,在修改响应内容之前根据页面渲染反馈的响应时间结果选择域名个数以分散资源。
在本模块32中,根据URL进行哈希计算,以使页面的同一个资源分配在同一个域名上。这种对资源进行的自动分配,可使网络开发过程中无需考虑将统一资源的引用分配到统一域名上的问题。
客户端自适应并发控制模块会对同一页面、不同的浏览器版本,尝试分配不同的域名个数。根据统计脚本反馈的页面渲染时间进行统计处理,通过这个过程的智能学习,该模块能对一个页面、不同的浏览器版本选择最合适的域名个数。通过这一智能分析合适域名个数的特性,可以解决网站开发者根据个人经验分配域名个数不合理导致域名dns解析时间长,影响网站响应时间问题;同时该模块对资源的域名分配是动态的,将浏览器版本列入考虑因素,因此也解决了网站固定的域名个数无法满足不同浏览器请求并发数不同的问题,使得网站可以在不同版本的浏览器上都能得到很好的响应效果。
脚本添加模块34中,在响应结束之后在响应中添加统计页面渲染时间的脚本。
该脚本在页面渲染结束之后发送页面渲染时间统计的请求到客户端自适应并发控制模块,以进一步进行反馈处理。反馈处理的原理详见图4。本发明的装置还包括:信息提取模块40和响应时间更新模块42。
其中信息提取模块40中,客户端自适应并发控制模块在接收到请求后从中提取信息,提取到的信息包括渲染页面的URL、浏览器版本、嵌入的资源个数、使用的域名个数、渲染时间。
响应时间更新模块42中,根据渲染时间,使用历史数据计算该URL对应的浏览器版本在使用相应域名个数的时候所需的时间,并更新对应的响应时间统计值。
上述实施例是提供给本领域普通技术人员来实现和使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书所提到的创新性特征的最大范围。
Claims (6)
1.一种基于客户端自适应并发控制提高响应速度的方法,在源站或者缓存服务器中安装客户端自适应并发控制模块,其中该方法包括:
源站或缓存服务器将需要响应的数据包发送给该客户端自适应并发控制模块;
该客户端自适应并发控制模块对于响应的数据包,修改数据包的响应内容之后再发送给客户端,其中对于响应的第一个数据包,在修改响应内容之前根据页面渲染反馈的响应时间结果选择域名个数以分散资源;
在响应结束之后在响应中添加统计页面渲染时间的脚本。
2.根据权利要求1所述的基于客户端自适应并发控制提高响应速度的方法,其特征在于,该脚本在页面渲染结束之后发送页面渲染时间统计的请求到该客户端自适应并发控制模块,以进一步进行反馈处理:
该客户端自适应并发控制模块在接收到请求后从中提取信息,提取到的信息包括渲染页面的URL、浏览器版本、嵌入的资源个数、使用的域名个数、渲染时间;
根据渲染时间,使用历史数据计算该URL对应的浏览器版本在使用相应域名个数的时候所需的时间,并更新对应的响应时间统计值。
3.根据权利要求1所述的基于客户端自适应并发控制提高响应速度的方法,其特征在于,在选择域名个数的过程中根据URL进行哈希计算,以使页面的同一个资源分配在同一个域名上。
4.一种基于客户端自适应并发控制提高响应速度的装置,在源站或者缓存服务器中安装客户端自适应并发控制模块,其中该装置包括:
响应数据包发送模块,源站或缓存服务器将需要响应的数据包发送给该客户端自适应并发控制模块;
响应数据包处理模块,该客户端自适应并发控制模块对于响应的数据包,修改数据包的响应内容之后再发送给客户端,其中对于响应的第一个数据包,在修改响应内容之前根据页面渲染反馈的响应时间结果选择域名个数以分散资源;
脚本添加模块,在响应结束之后在响应中添加统计页面渲染时间的脚本。
5.根据权利要求4所述的基于客户端自适应并发控制提高响应速度的装置,其特征在于,该装置还包括:
信息提取模块,该客户端自适应并发控制模块在接收到请求后从中提取信息,提取到的信息包括渲染页面的URL、浏览器版本、嵌入的资源个数、使用的域名个数、渲染时间;
响应时间更新模块,根据渲染时间,使用历史数据计算该URL对应的浏览器版本在使用相应域名个数的时候所需的时间,并更新对应的响应时间统计值。
6.根据权利要求4所述的基于客户端自适应并发控制提高响应速度的装置,其特征在于,在响应数据包处理模块中,在选择域名个数的过程中根据URL进行哈希计算,以使页面的同一个资源分配在同一个域名上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210409050.6A CN102917067B (zh) | 2012-10-24 | 2012-10-24 | 基于客户端自适应并发控制提高响应速度的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210409050.6A CN102917067B (zh) | 2012-10-24 | 2012-10-24 | 基于客户端自适应并发控制提高响应速度的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102917067A true CN102917067A (zh) | 2013-02-06 |
CN102917067B CN102917067B (zh) | 2015-06-10 |
Family
ID=47615297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210409050.6A Active CN102917067B (zh) | 2012-10-24 | 2012-10-24 | 基于客户端自适应并发控制提高响应速度的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102917067B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702592A (zh) * | 2015-01-08 | 2015-06-10 | 三星电子(中国)研发中心 | 流媒体下载方法和装置 |
CN106662986A (zh) * | 2014-06-26 | 2017-05-10 | 谷歌公司 | 优化的浏览器渲染过程 |
CN107797922A (zh) * | 2017-09-27 | 2018-03-13 | 北京金山安全软件有限公司 | 应用页面的测试方法、电子装置及电子设备 |
CN109101303A (zh) * | 2018-07-04 | 2018-12-28 | 杭州涂鸦信息技术有限公司 | 智能图片懒加载方法 |
US10713330B2 (en) | 2014-06-26 | 2020-07-14 | Google Llc | Optimized browser render process |
CN113590410A (zh) * | 2021-06-20 | 2021-11-02 | 济南浪潮数据技术有限公司 | 一种资源请求方法、***、设备以及介质 |
US11328114B2 (en) | 2014-06-26 | 2022-05-10 | Google Llc | Batch-optimized render and fetch architecture |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075909A (zh) * | 2006-09-18 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 网站访问信息统计***以及网站访问信息统计方法 |
US20080228874A1 (en) * | 2005-10-20 | 2008-09-18 | International Business Machines Corporation | Method and Apparatus for Collocating Application Monitoring Reports with Web Applications |
CN102196060A (zh) * | 2011-06-15 | 2011-09-21 | 北京蓝汛通信技术有限责任公司 | 一种Cache服务器选择源站的方法和*** |
-
2012
- 2012-10-24 CN CN201210409050.6A patent/CN102917067B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080228874A1 (en) * | 2005-10-20 | 2008-09-18 | International Business Machines Corporation | Method and Apparatus for Collocating Application Monitoring Reports with Web Applications |
CN101075909A (zh) * | 2006-09-18 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 网站访问信息统计***以及网站访问信息统计方法 |
CN102196060A (zh) * | 2011-06-15 | 2011-09-21 | 北京蓝汛通信技术有限责任公司 | 一种Cache服务器选择源站的方法和*** |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106662986A (zh) * | 2014-06-26 | 2017-05-10 | 谷歌公司 | 优化的浏览器渲染过程 |
US10284623B2 (en) | 2014-06-26 | 2019-05-07 | Google Llc | Optimized browser rendering service |
CN106662986B (zh) * | 2014-06-26 | 2019-06-21 | 谷歌有限责任公司 | 优化的浏览器渲染过程 |
US10713330B2 (en) | 2014-06-26 | 2020-07-14 | Google Llc | Optimized browser render process |
US11328114B2 (en) | 2014-06-26 | 2022-05-10 | Google Llc | Batch-optimized render and fetch architecture |
CN104702592A (zh) * | 2015-01-08 | 2015-06-10 | 三星电子(中国)研发中心 | 流媒体下载方法和装置 |
CN104702592B (zh) * | 2015-01-08 | 2018-09-11 | 三星电子(中国)研发中心 | 流媒体下载方法和装置 |
CN107797922A (zh) * | 2017-09-27 | 2018-03-13 | 北京金山安全软件有限公司 | 应用页面的测试方法、电子装置及电子设备 |
CN107797922B (zh) * | 2017-09-27 | 2021-05-28 | 北京金山安全软件有限公司 | 应用页面的测试方法、电子装置及电子设备 |
CN109101303A (zh) * | 2018-07-04 | 2018-12-28 | 杭州涂鸦信息技术有限公司 | 智能图片懒加载方法 |
CN113590410A (zh) * | 2021-06-20 | 2021-11-02 | 济南浪潮数据技术有限公司 | 一种资源请求方法、***、设备以及介质 |
CN113590410B (zh) * | 2021-06-20 | 2023-12-22 | 济南浪潮数据技术有限公司 | 一种资源请求方法、***、设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102917067B (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102917067A (zh) | 基于客户端自适应并发控制提高响应速度的方法和装置 | |
CN106133688B (zh) | 协调容器布置和执行的服务的实施 | |
CN100481088C (zh) | 网页资源发布方法和发布*** | |
JP4789942B2 (ja) | コネクションを最適化するための装置および方法 | |
CN103714172A (zh) | 页面处理方法、装置及*** | |
CN104038510B (zh) | iOS***透明代理的实现方法及*** | |
CN101997903A (zh) | 用于处理超文本传输协议请求的方法和*** | |
WO2013163926A1 (zh) | 处理用户访问网页的请求的方法及*** | |
CN103825919B (zh) | 一种缓存数据资源的方法、装置及*** | |
CN102577237A (zh) | 网站托管服务调度方法、应用访问处理方法、装置及*** | |
CN104702677B (zh) | 链接处理方法、装置和*** | |
CN101582041A (zh) | 基于web的分布式编译方法及其*** | |
CN102307220A (zh) | 一种跨域网页信息交互方法 | |
CN102148759A (zh) | 通过缓存加速***节省主干网出口带宽的方法 | |
CN108023867A (zh) | 移动端网页广告过滤的方法、网关服务器及过滤服务器 | |
CN103488735B (zh) | 终端浏览器页面刷新显示的方法及终端 | |
CN102143177A (zh) | 一种Portal认证方法、装置、设备及*** | |
CN102510410A (zh) | 在线广告投放方法、***及广告控制设备 | |
CN103475749A (zh) | 一种跨域通信方法及装置 | |
CN102355449B (zh) | 一种隐蔽发送重定向请求的方法、网关和*** | |
CN102622381A (zh) | 一种网页重排版的方法和*** | |
CN102984266A (zh) | 一种数据交互处理方法及装置 | |
CN107645543A (zh) | 应用于缓存服务器http非80缓存端口服务的方法和*** | |
CN103347069A (zh) | 网络访问的实现方法及装置 | |
JP6176161B2 (ja) | 印刷制御装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP02 | Change in the address of a patent holder |
Address after: 200030 Shanghai city Xuhui District Xietu Road No. 2899 Building 5 floor A Kuangchi Cultural Square Patentee after: ChinaNetCenter Co., Ltd. Address before: 200030 Shanghai Xuhui District Xietu Road No. 2669 15 Floor Patentee before: ChinaNetCenter Co., Ltd. |