一种调度HTTP请求的方法和浏览器装置制造方法及图纸

技术编号:9840503 阅读:94 留言:0更新日期:2014-04-02 03:43
本发明专利技术实施例提供一种调度HTTP请求的方法和浏览器装置,浏览器中包括HTML解析单元,各个待发送请求位于队列中;方法包括:对于每个正在访问的Web服务器,读取并发的TCP连接的资源状态,已发送但尚未响应的请求的请求列表与连接分发信息;根据资源状态,请求列表与连接分发信息,来自HTML解析单元的各个待发送请求的优先级,形成并输出决策结果;根据决策结果,对从队列中选定的待发送请求执行决策结果中的调度操作。利用传输层的拥塞检测与控制信息,获取资源状态,请求列表与连接分发信息;辅助应用层HTTP请求在单连接/多连接的浏览器上实现并发动态决策,根据决策结果,调整来自HTML解析单元的待发送请求的队列。

【技术实现步骤摘要】
一种调度HTTP请求的方法和浏览器装置
本专利技术涉及网络技术,特别是指一种调度HTTP请求的方法和浏览器装置。
技术介绍
移动用户访问无线互联网应用的过程中,接近四分之三流量为传输控制协议(TCP)实现,TCP是基于IP协议提供的无连接的端到端的报文传输服务为基础,通过数据分段、发送编号、接收确认、超时重传、乱序重组、丢弃重复包、流量控制等机制向应用层提供面向连接的、可靠的字节流服务。TCP对所传输的数据都做了序号标记,序号是按照字节数来增长的,TCP的接收方在接到数据后发出一个确认(ACK)给对端,ACK里面包含一个序列号,这个序列号n表示序号在n之前的数据已经全部收到了,现在期待序号为n的数据到来。由于网络中路由器处理能力限制、链路错误等原因都会导致数据包的丢弃。TCP对发出去的数据包都保留有计时器,如果计时器到还没有收到确认时,会进行重传。TCP使用确认和超时重传机制保障了数据的可靠性传输。结合接收端本地对于乱序包的重组和重复包的丢弃,确保了递交给应用层的是一个可靠的数据流。由于数据的发送方和接收方并不一定有相同的数据处理能力,为了避免数据发送过快而超过对方的接收能力,TCP采用了流量控制机制,接收方在TCP的包头里通告发送方自己的接收窗口。当网络中存在过多的报文时,网络的性能会相应下降而出现拥塞。如图1所示,当负载较小时,吞吐量的增长与负载相比基本呈线性关系,如图1所示的响应时间(纵坐标)会缓慢增长,但是当负载超过拐点(Knee)后,吞吐量增长十分缓慢,但是延迟却增长较快,当负载超过网络的最大负载点(Cliff)之后,吞吐量就急剧下降,响应时间急剧上升,网络的整体性能就大打折扣。而负载在Knee点附近时网络的使用效率是最高的,此时吞吐量高,响应时间也比较快。对于多个并发的TCP连接而言,网络资源有限时会相互争抢可用带宽,出现网络拥塞后造成可用带宽成比例降低。因此对于针对应用层同一会话而言,是否建立多个并发TCP连接,如何在多个并发TCP连接之间调度请求,均可通过参照连接层拥塞控制状态来进行优化协调。现有技术存在如下问题:在传输控制协议的拥塞控制机制中,HTTP协议不考虑实际可用的带宽而盲目执行并发请求/响应行为,这会带来不必要的抖动现象,甚至造成用户体验下降的负面效应。
技术实现思路
本专利技术要解决的技术问题是提供一种调度HTTP请求的方法和浏览器装置,用于解决在传输层协议TCP的拥塞控制机制中,HTTP协议不考虑实际可用的带宽而盲目执行并发请求/响应行为所带来的不必要的抖动现象。为解决上述技术问题,本专利技术的实施例提供一种调度HTTP请求的方法,应用于浏览器,浏览器中包括HTML解析单元,各个待发送请求位于队列中;方法包括:步骤一,对于每个正在访问的Web服务器,读取并发的TCP连接的资源状态,已发送但尚未响应的请求的请求列表与连接分发信息;步骤二,根据所述资源状态,请求列表与连接分发信息,来自HTML解析单元的各个待发送请求的优先级,形成并输出决策结果;步骤三,根据所述决策结果,对从所述队列中选定的所述待发送请求执行所述决策结果中的调度操作。所述的方法中,步骤二具体包括:当所述资源状态表明当前没有已建立的TCP连接时,形成的决策结果包括:为待发送请求新建立一个TCP连接。所述的方法中,步骤二具体包括:当所述资源状态表明当前没有可用的已建立的TCP连接,且请求列表与连接分发信息表明并发的TCP连接的数目未到配置上限时,形成的决策结果包括:为待发送请求新建立一个TCP连接。所述的方法中,步骤二具体包括:当所述待发送请求的优先级为预先定义的高优先级,形成的决策结果包括:关闭一个已建立的TCP连接,为待发送请求新建立一个TCP连接。所述的方法中,步骤二具体包括:当所述待发送请求的优先级为预先定义的低优先级,形成的决策结果包括:跳过所述待发送请求,并转入所述队列中的下一个待发送请求。所述的方法中,步骤二具体包括:当所述请求列表与连接分发信息表明一个已建立的TCP连接的状态更新为可用时,形成的决策结果包括:利用所述TCP连接发送所述队列中位于队头的请求。所述的方法中,步骤二具体包括:当所述资源状态表明存在一条可用的TCP连接,形成的决策结果包括:将待发送请求调度在可用的TCP连接上发送;当所述资源状态表明存在多条可用的TCP连接,形成的决策结果包括:根据各个可用的TCP连接的拥塞状态选择其中一个发送所述待发送请求。所述的方法中,所述当前没有可用的已建立TCP连接中,判决一个TCP连接可用的依据包括:所述TCP连接未被Web服务器报告零窗口错误;且该TCP连接的Web服务器的拥塞状态为慢启动或拥塞避免;且该TCP连接上所述已发送但尚未响应的请求的个数未达到流水配置上限;且该TCP连接上待发送请求的流水封包未达到TCP设置的MTU上限。所述的方法中,关闭一个已建立的TCP连接的依据包括:所述TCP连接上所有所述已发送但尚未响应的请求的优先级均低于当前的所述待发送请求;所述TCP连接上其他的待发送请求的优先级低于当前的所述待发送请求。一种浏览器装置,包括HTML解析单元,还包括:状态监测单元,用于对于每个正在访问的Web服务器,读取并发的TCP连接的资源状态,已发送但尚未响应的请求的请求列表与连接分发信息;综合决策单元,用于根据所述资源状态,请求列表与连接分发信息,来自HTML解析单元的各个待发送请求的优先级,形成并输出决策结果;请求分派单元,用于根据所述决策结果,对所述待发送请求所在的队列中各个所述待发送请求执行对应的调度操作。所述的装置中,综合决策单元包括:第一决策模块,用于当前没有已建立的TCP连接时,为待发送请求新建立一个TCP连接;第二决策模块,用于当前没有可用的已建立TCP连接时,且并发TCP连接的数目未到配置上限,为待发送请求新建立一个TCP连接;第三决策模块,用于待调度的待发送请求的优先级为预先定义的高优先级时,关闭一个已建立的TCP连接,为待发送请求新建立一个TCP连接;第四决策模块,用于待调度的待发送请求的优先级为预先定义的低优先级时,跳过待发送请求,并调度队列中的下一个待发送请求;第五决策模块,用于等待一个已建立TCP连接状态更新为可用后,利用所述TCP连接发送所述队列中位于队头的请求;第六决策模块,用于当所述资源状态表明存在一条可用的TCP连接时,将待发送请求调度在可用的TCP连接上发送;第七决策模块,用于当资源状态表明存在多条可用的TCP连接时,根据各个可用的TCP连接的拥塞状态选择其中一个发送所述待发送请求。所述的装置中,综合决策单元包括:TCP连接判决模块,与第二决策模块连接,用于根据如下依据判决一个TCP连接可用:所述TCP连接未被Web服务器报告零窗口错误;且该TCP连接的拥塞状态为慢启动或拥塞避免;且该TCP连接上所述已发送但尚未响应的请求的个数未达到流水配置上限;且该TCP连接上待发送请求的流水封包未达到TCP设置MTU上限。所述的装置中,综合决策单元包括:TCP连接关闭模块,与第三决策模块连接,用于根据如下依据判决关闭一个已建立的TCP连接:所述TCP连接上所有所述已发送但尚未响应的请求的优先级均低于当前的所述待发送请求;所述TCP连接上其他的待发送请求的优先级低本文档来自技高网
...
一种调度HTTP请求的方法和浏览器装置

【技术保护点】
一种调度HTTP请求的方法,应用于浏览器,其特征在于,浏览器中包括HTML解析单元,各个待发送请求位于队列中;方法包括:步骤一,对于每个正在访问的Web服务器,读取并发的TCP连接的资源状态,已发送但尚未响应的请求的请求列表与连接分发信息;步骤二,根据所述资源状态,请求列表与连接分发信息,来自HTML解析单元的各个待发送请求的优先级,形成并输出决策结果;步骤三,根据所述决策结果,对从所述队列中选定的所述待发送请求执行所述决策结果中的调度操作。

【技术特征摘要】
1.一种调度HTTP请求的方法,应用于浏览器,其特征在于,浏览器中包括HTML解析单元,各个待发送请求位于队列中;方法包括:步骤一,对于每个正在访问的Web服务器,读取并发的TCP连接的资源状态,已发送但尚未响应的请求的请求列表与连接分发信息;步骤二,根据所述资源状态,请求列表与连接分发信息,来自HTML解析单元的各个待发送请求的优先级,形成并输出决策结果;这包括:当所述资源状态表明当前没有已建立的TCP连接时,形成的决策结果包括:为待发送请求新建立一个TCP连接;步骤三,根据所述决策结果,对从所述队列中选定的所述待发送请求执行所述决策结果中的调度操作。2.根据权利要求1所述的方法,其特征在于,步骤二具体包括:当所述资源状态表明当前没有可用的已建立的TCP连接,且所述请求列表与连接分发信息表明并发的TCP连接的数目未到配置上限时,形成的决策结果包括:为待发送请求新建立一个TCP连接。3.根据权利要求1所述的方法,其特征在于,步骤二具体包括:当所述待发送请求的优先级为预先定义的高优先级,形成的决策结果包括:关闭一个已建立的TCP连接,为待发送请求新建立一个TCP连接。4.根据权利要求1所述的方法,其特征在于,步骤二具体包括:当所述待发送请求的优先级为预先定义的低优先级,形成的决策结果包括:跳过所述待发送请求,并转入所述队列中的下一个待发送请求。5.根据权利要求1所述的方法,其特征在于,步骤二具体包括:当所述请求列表与连接分发信息表明一个已建立的TCP连接的状态更新为可用时,形成的决策结果包括:利用所述TCP连接发送所述队列中位于队头的请求。6.根据权利要求1所述的方法,其特征在于,步骤二具体包括:当所述资源状态表明存在一条可用的TCP连接,形成的决策结果包括:将待发送请求调度在可用的TCP连接上发送;当所述资源状态表明存在多条可用的TCP连接,形成的决策结果包括:根据各个可用的TCP连接的拥塞状态选择其中一个发送所述待发送请求。7.根据权利要求2所述的方法,其特征在于,所述当前没有可用的已建立TCP连接中,判决一个TCP连接可用的依据包括:所述TCP连接未被Web服务器报告零窗口错误;且该TCP连接的Web服务器的拥塞状态为慢启动或拥塞避免;且该TCP连接上所述已发送但尚未响应的请求的个数未达到流水配置上限;且该TCP连接上待发送请求的流水封包未达到TCP设置的MTU上限。8.根据权利要求3所述的方法,其特征在于,关闭一个已建立的TCP连接的依据包括:所述TCP连...

【专利技术属性】
技术研发人员:邓灵莉陆璐彭晋
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京;11

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

1