CN103685387B - 一种调度http请求的方法和浏览器装置 - Google Patents
一种调度http请求的方法和浏览器装置 Download PDFInfo
- Publication number
- CN103685387B CN103685387B CN201210337790.3A CN201210337790A CN103685387B CN 103685387 B CN103685387 B CN 103685387B CN 201210337790 A CN201210337790 A CN 201210337790A CN 103685387 B CN103685387 B CN 103685387B
- Authority
- CN
- China
- Prior art keywords
- request
- sent
- tcp
- decision
- tcp connections
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种调度HTTP请求的方法和浏览器装置,浏览器中包括HTML解析单元,各个待发送请求位于队列中;方法包括:对于每个正在访问的Web服务器,读取并发的TCP连接的资源状态,已发送但尚未响应的请求的请求列表与连接分发信息;根据资源状态,请求列表与连接分发信息,来自HTML解析单元的各个待发送请求的优先级,形成并输出决策结果;根据决策结果,对从队列中选定的待发送请求执行决策结果中的调度操作。利用传输层的拥塞检测与控制信息,获取资源状态,请求列表与连接分发信息;辅助应用层HTTP请求在单连接/多连接的浏览器上实现并发动态决策,根据决策结果,调整来自HTML解析单元的待发送请求的队列。
Description
技术领域
本发明涉及网络技术,特别是指一种调度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请求在单连接/多连接的浏览器上实现并发动态决策,根据决策结果,调整来自HTML解析单元的待发送请求的队列,由于考虑了优先级,因而能根据资源请求优先级动态调整后续请求的提交次序,实现关键内容的优先请求和响应;避免了应用层的并发请求所导致的网络拥塞。
附图说明
图1表示网络中的负载与响应时间之间的关系示意图;
图2表示浏览器与Web服务器之间的工作原理示意图;
图3表示一种调度HTTP请求的方法流程示意图;
图4表示一种浏览器装置的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图2所示,用户通过浏览器的人机交互单元访问其指定的网页地址URL,人机交互单元通过数据通信单元405构建对应的HTTP请求消息,数据通信单元405调用底层的TCP协议栈建传输连接,发送HTTP请求以及接收响应数据。
来自服务器的第一个响应数据被数据通信单元405写入临时数据存储区,响应数据包含了HTML语言编写的页面信息;HTML语言解释单元404通过解析第一个响应数据,了解到网页的组成对象的信息:对应URI和所在服务器域名。HTML语言解释单元404随即向数据通信单元405发送针对页面组成对象的请求发送控制指令,数据通信单元405为每个页面对象生成对应的HTTP请求,并实施后续数据发送和接收工作,接收到的对象将通过HTML语言解释单元404提交给Web页面显示单元,Web页面显示单元最终交给人机交互单元并呈现在用户打开的网页中。
本发明中结合传输层的拥塞检测状态,HTTP协议客户端在与同一服务器之间的多条并发TCP连接之间,考察当前网络状态、TCP连接状态、请求优先级等信息,进行动态HTTP请求综合调度。
本发明实施例提供一种调度HTTP请求的方法,如图3所示,应用于浏览器,所述浏览器中包括HTML解析单元404;
方法包括:
步骤301(步骤一),对于每个正在访问的Web服务器,读取并发的TCP连接的资源状态,已发送但尚未响应的请求的请求列表与连接分发信息;
步骤302(步骤二),根据所述资源状态,请求列表与连接分发信息,来自HTML解析单元404的各个待发送请求的优先级,形成并输出决策结果;
步骤303(步骤三),根据所述决策结果,对从所述队列中选定的所述待发送请求执行所述决策结果中的调度操作。
应用所提供的技术方案,利用传输层的拥塞检测与控制信息,获取资源状态,请求列表与连接分发信息;辅助应用层HTTP请求在单连接/多连接的浏览器上实现并发动态决策,根据决策结果,调整来自HTML解析单元404的待发送请求的队列,由于考虑了优先级,因而能根据资源请求优先级动态调整后续请求的提交次序,实现关键内容的优先请求和响应;避免了应用层的并发请求所导致的网络拥塞。
浏览器中,HTML解析单元404与数据通信单元405之间通过连接关系传输各种数据。
在一个优选实施例中,步骤二具体包括:
当所述资源状态表明当前没有已建立的TCP连接时,形成的决策结果包括:为待发送请求新建立一个TCP连接。
在一个优选实施例中,步骤二具体包括:
当所述资源状态表明当前没有可用的已建立TCP连接,且所述请求列表与连接分发信息表明并发TCP连接的数目未到配置上限时,形成的决策结果包括:为待发送请求新建立一个TCP连接。
资源状态表明当前有已建立的TCP连接,但是所有的已建立的TCP连接中,没有TCP连接可以被待发送请求所使用。
在一个优选实施例中,步骤二具体包括:
当所述待发送请求的优先级为预先定义的高优先级,形成的决策结果包括:关闭一个已建立的TCP连接,为待发送请求新建立一个TCP连接。
在一个优选实施例中,步骤二具体包括:
当所述待发送请求的优先级为预先定义的低优先级,形成的决策结果包括:跳过所述待发送请求,并转入所述队列中的下一个待发送请求。
高优先级和低优先级可以在实现技术方案的过程人为规定,例如涉及关键内容的待发送请求设定为高优先级。具体地,待发送请求的优先级为高优先级,表明这个待发送请求的优先级至少高于并发TCP连接中的至少一个TCP连接的优先级;待发送请求的优先级为低优先级,可以认为这个待发送请求的优先级为低优先级低于并发TCP连接中的优先级最低的待发送请求的优先级。
在一个优选实施例中,步骤二具体包括:当所述请求列表与连接分发信息表明一个已建立的TCP连接的状态更新为可用时,形成的决策结果包括:利用所述TCP连接发送所述队列中位于队头的请求。
在一个优选实施例中,步骤二具体包括:
当所述资源状态表明存在一条可用的TCP连接,形成的决策结果包括:将待发送请求调度在可用的TCP连接上发送;
当所述资源状态表明存在多条可用的TCP连接,形成的决策结果包括:根据各个可用的TCP连接的拥塞状态选择其中一个发送所述待发送请求。
为帮助本领域技术人员进一步理解本发明的技术方案,可以将决策结果中的具体的调度操作与形成该调度操作的依据-资源状态,请求列表与连接分发信息,来自HTML解析单元404的各个待发送请求的优先级进行分别描述,即,首先将资源状态,请求列表与连接分发信息归类,根据归类并根据各个待发送请求的优先级寻找到对应的决策结果:
决策结果A,为待发送请求新建立一个TCP连接;
决策结果B,将待发送请求分派在当前已建立的一个TCP连接上;由所述TCP连接立即发送给服务器,或者,等待预定条件成立时再发送给服务器;
决策结果C,等待预定长度的时间后再次调度待发送请求;
决策结果D,跳过待发送请求,并调度队列中的下一个待发送请求。
在一个优选实施例中,根据资源状态,请求列表与连接分发信息,来自HTML解析单元404的各个待发送请求的优先级,采用并输出决策结果,具体包括:
当前没有已建立的TCP连接,采用决策结果A;
当前没有可用的已建立TCP连接,且并发TCP连接数未到配置上限,采用决策结果A;
待调度的待发送请求的优先级较高,关闭一个已建立的TCP连接,并采用决策结果A;
待调度的待发送请求的优先级较低,采用决策结果D;
等待一个已建立TCP连接状态更新为可用后,采用决策结果C。
其中,根据各个可用的TCP连接的拥塞状态选择其中一个发送请求时,应当选择发送窗口最大且重传率最小的可用的TCP连接。
在一个优选实施例中,判决一个TCP连接可用的依据包括:
所述TCP连接未被Web服务器报告零窗口(zerowindow)错误;且
该TCP连接的拥塞状态为慢启动或拥塞避免;且
该TCP连接上所述已发送但尚未响应的请求的个数未达到流水配置上限;且
该TCP连接上待发送请求的流水封包未达到TCP设置MTU上限。
在一个优选实施例中,关闭一个已建立的TCP连接的依据包括:
所述TCP连接上所有所述已发送但尚未响应的请求的优先级均低于当前的所述待发送请求;
其他的待发送请求的优先级低于当前的所述待发送请求。
在一个优选实施例中,调度浏览器的数据通信单元与Web服务器之间执行连接建立操作,并对从队列中选定的待发送请求执行请求发送操作。
在一个应用场景中,应用上述实施例提供的技术,修改HTTP协议客户端,在浏览器的HTML语言解释单元404与数据通信单元405之间的控制信息交互接口,增加状态监测单元、综合决策单元和请求分派单元,实现在资源受限场景下并发动态调度待发送请求的策略,其中,
状态监测单元,针对每个正在访问的Web服务器站点(host),读取当前并发TCP连接状态、已发送但尚未响应请求信息;提交给综合决策单元用于执行后续的调度。
综合决策单元,参考当前已建立并发TCP连接上的资源状态和请求列表与连接分发信息,综合当前访问会话的待发送请求的优先级,决策:
决策结果A:为该待发送请求新建立一个TCP连接;或者
决策结果B:将该待发送请求分派在当前已建立的某个TCP连接上,或立即发送给服务器或等待某个条件成立再发送给服务器;或者
决策结果C:暂不调度该待发送请求,等待一段时间;或者
决策结果D:跳过该请求调度下一个待发送请求。
请求分派单元,接收来自浏览器原有的HTML解析单元的待发送对象请求,根据综合决策单元输出调整当前待发送请求队列,并调度浏览器原有的数据通信单元执行相应的连接建立和请求发送操作。
其次,修改TCP协议栈API,为状态监测单元提供相应的TCP连接状态查询数据接口,例如,当前连接的拥塞控制状态、当前发送窗口大小、消息往返时延RTT等。
本发明实施例提供一种浏览器装置,如图4所示,包括HTML解析单元404和数据通信单元405,还包括:
状态监测单元401,用于对于每个正在访问的Web服务器,读取并发的TCP连接的资源状态,已发送但尚未响应的请求的请求列表与连接分发信息;
综合决策单元402,用于根据所述资源状态,请求列表与连接分发信息,来自HTML解析单元的各个待发送请求的优先级,形成并输出决策结果;所述待发送请求与所述已发送但尚未响应的请求不同;
请求分派单元403,用于根据所述决策结果,对所述待发送请求所在的队列中各个所述待发送请求执行对应的调度操作。
在一个优选实施例中,综合决策单元402包括:
第一决策模块,用于当前没有已建立的TCP连接,为待发送请求新建立一个TCP连接;
第二决策模块,用于当前没有可用的已建立TCP连接时,且并发TCP连接的数目未到配置上限,为待发送请求新建立一个TCP连接;
第三决策模块,用于待调度的待发送请求的优先级为预先定义的高优先级时,关闭一个已建立的TCP连接,为待发送请求新建立一个TCP连接;
第四决策模块,用于待调度的待发送请求的优先级为预先定义的低优先级时,跳过待发送请求,并调度队列中的下一个待发送请求;
第五决策模块,用于等待一个已建立TCP连接状态更新为可用后,利用所述TCP连接发送所述队列中位于队头的请求;
第六决策模块,用于当所述资源状态表明存在一条可用的TCP连接时,将待发送请求调度在可用的TCP连接上发送;
第七决策模块,用于当所述资源状态表明存在多条可用的TCP连接时,根据各个可用的TCP连接的拥塞状态选择其中一个发送所述待发送请求。
在一个优选实施例中,综合决策单元402包括:
TCP连接判决模块,用于根据如下依据判决一个TCP连接可用:
所述TCP连接未被Web服务器报告零窗口错误;且
该TCP连接的拥塞状态为慢启动或拥塞避免;且
该TCP连接上所述已发送但尚未响应的请求的个数未达到流水配置上限;且
该TCP连接上待发送请求的流水封包未达到TCP设置MTU上限。
在一个优选实施例中,综合决策单元402包括:
TCP连接关闭模块,用于根据如下依据判决关闭一个已建立的TCP连接:
所述TCP连接上所有所述已发送但尚未响应的请求的优先级均低于当前的所述待发送请求;
所述TCP连接上其他的待发送请求的优先级低于当前的所述待发送请求。
采用本方案之后的优势是:利用传输层拥塞检测与控制信息,获取资源状态,请求列表与连接分发信息;辅助应用层HTTP请求在单连接/多连接的浏览器上实现并发动态决策,根据决策结果,调整来自HTML解析单元的待发送请求的队列,避免盲目的应用层高并发触发资源受限环境下的网络拥塞;由于考虑了优先级,因而能根据资源请求优先级动态调整后续请求的提交次序,实现关键内容的优先请求和响应。实现请求高并发的同时尽量避免网络拥塞,提升了资源受限场景下用户浏览网页的体验。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
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连接上所有所述已发送但尚未响应的请求的优先级均低于当前的所述待发送请求;
所述TCP连接上其他的待发送请求的优先级低于当前的所述待发送请求。
9.一种浏览器装置,其特征在于,包括HTML解析单元,还包括:
状态监测单元,用于对于每个正在访问的Web服务器,读取并发的TCP连接的资源状态,已发送但尚未响应的请求的请求列表与连接分发信息;
综合决策单元,用于根据所述资源状态,请求列表与连接分发信息,来自HTML解析单元的各个待发送请求的优先级,形成并输出决策结果;所述综合决策单元包括:第一决策模块,用于当前没有已建立的TCP连接时,为待发送请求新建立一个TCP连接;
请求分派单元,用于根据所述决策结果,对所述待发送请求所在的队列中各个所述待发送请求执行对应的调度操作。
10.根据权利要求9所述的装置,其特征在于,综合决策单元包括:
第二决策模块,用于当前没有可用的已建立TCP连接时,且并发TCP连接的数目未到配置上限,为待发送请求新建立一个TCP连接;
第三决策模块,用于待调度的待发送请求的优先级为预先定义的高优先级时,关闭一个已建立的TCP连接,为待发送请求新建立一个TCP连接;
第四决策模块,用于待调度的待发送请求的优先级为预先定义的低优先级时,跳过待发送请求,并调度队列中的下一个待发送请求;
第五决策模块,用于等待一个已建立TCP连接状态更新为可用后,利用所述TCP连接发送所述队列中位于队头的请求;
第六决策模块,用于当所述资源状态表明存在一条可用的TCP连接时,将待发送请求调度在可用的TCP连接上发送;
第七决策模块,用于当所述资源状态表明存在多条可用的TCP连接时,根据各个可用的TCP连接的拥塞状态选择其中一个发送所述待发送请求。
11.根据权利要求10所述的装置,其特征在于,综合决策单元包括:
TCP连接判决模块,与第二决策模块连接,用于根据如下依据判决一个TCP连接可用:
所述TCP连接未被Web服务器报告零窗口错误;且
该TCP连接的拥塞状态为慢启动或拥塞避免;且
该TCP连接上所述已发送但尚未响应的请求的个数未达到流水配置上限;且
该TCP连接上待发送请求的流水封包未达到TCP设置MTU上限。
12.根据权利要求10所述的装置,其特征在于,综合决策单元包括:
TCP连接关闭模块,与第三决策模块连接,用于根据如下依据判决关闭一个已建立的TCP连接:
所述TCP连接上所有所述已发送但尚未响应的请求的优先级均低于当前的所述待发送请求;
所述TCP连接上其他的待发送请求的优先级低于当前的所述待发送请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210337790.3A CN103685387B (zh) | 2012-09-12 | 2012-09-12 | 一种调度http请求的方法和浏览器装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210337790.3A CN103685387B (zh) | 2012-09-12 | 2012-09-12 | 一种调度http请求的方法和浏览器装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103685387A CN103685387A (zh) | 2014-03-26 |
CN103685387B true CN103685387B (zh) | 2017-05-03 |
Family
ID=50321691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210337790.3A Active CN103685387B (zh) | 2012-09-12 | 2012-09-12 | 一种调度http请求的方法和浏览器装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685387B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743934B (zh) * | 2014-12-08 | 2019-01-01 | 网宿科技股份有限公司 | 一种http访问可用性的优化方法和移动智能终端 |
CN104536819A (zh) * | 2014-12-29 | 2015-04-22 | 同程网络科技股份有限公司 | 基于web服务的任务调度方法 |
CN105490956A (zh) * | 2015-12-07 | 2016-04-13 | 方正移动传媒技术(北京)有限公司 | 一种网络请求处理方法及装置 |
CN107104822B (zh) * | 2017-03-29 | 2020-09-08 | 恒生电子股份有限公司 | 服务器备灾处理方法、装置、存储介质及电子设备 |
CN108040095B (zh) * | 2017-12-04 | 2020-10-13 | 北京小米移动软件有限公司 | 通信方法、装置及电子设备 |
CN110888704A (zh) * | 2019-11-08 | 2020-03-17 | 北京浪潮数据技术有限公司 | 一种高并发接口处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1225472A (zh) * | 1998-02-04 | 1999-08-11 | 国际商业机器公司 | 服务器内调度和分派排队客户请求的装置和方法 |
WO2004030314A1 (en) * | 2002-09-27 | 2004-04-08 | Matsushita Electric Industrial Co., Ltd. | Server, device, and communication system connected to the internet |
CN101196934A (zh) * | 2008-01-03 | 2008-06-11 | 中兴通讯股份有限公司 | 优化嵌入式浏览器用户交互性能的方法及装置 |
CN102255895A (zh) * | 2011-06-29 | 2011-11-23 | 北京思创银联科技股份有限公司 | 客户端和服务端之间的数据通信方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101366803B1 (ko) * | 2007-04-16 | 2014-02-24 | 삼성전자주식회사 | Http를 이용한 통신 방법 및 장치 |
-
2012
- 2012-09-12 CN CN201210337790.3A patent/CN103685387B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1225472A (zh) * | 1998-02-04 | 1999-08-11 | 国际商业机器公司 | 服务器内调度和分派排队客户请求的装置和方法 |
WO2004030314A1 (en) * | 2002-09-27 | 2004-04-08 | Matsushita Electric Industrial Co., Ltd. | Server, device, and communication system connected to the internet |
CN101196934A (zh) * | 2008-01-03 | 2008-06-11 | 中兴通讯股份有限公司 | 优化嵌入式浏览器用户交互性能的方法及装置 |
CN102255895A (zh) * | 2011-06-29 | 2011-11-23 | 北京思创银联科技股份有限公司 | 客户端和服务端之间的数据通信方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103685387A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685387B (zh) | 一种调度http请求的方法和浏览器装置 | |
CN106027412B (zh) | 一种基于拥塞队列长度的tcp拥塞控制方法 | |
CN103250462B (zh) | 用于实现移动电信网络中的业务加速的方法 | |
CN107864084A (zh) | 数据包的传输方法和装置 | |
CN100407698C (zh) | 无线链路控制层的数据传输方法 | |
CN108270682A (zh) | 一种报文传输方法、终端、网络设备及通信系统 | |
US20020156896A1 (en) | System and method for providing a gateway between mobile two-way messaging devices and remote computer networks | |
CN105871736A (zh) | 一种封包低延迟传输方法 | |
CN108494817A (zh) | 数据传输方法、相关装置及系统 | |
CN102006283A (zh) | 数据传输的方法和装置 | |
CN101902450A (zh) | 实现页面推送和控制的网络、页面推送方法、控制方法 | |
Ciubotaru et al. | Advanced Network Programming–Principles and Techniques: Network Application Programming with Java | |
WO2013183649A1 (ja) | 通信装置、通信システム、通信方法及びプログラム | |
CN110191066A (zh) | 一种确定最大传输单元pmtu的方法、设备及系统 | |
CN103384181A (zh) | 数据包的传输方法和设备 | |
Liri et al. | Robustness of iot application protocols to network impairments | |
CN108234149A (zh) | 一种网络请求的管理方法和装置 | |
Zuo et al. | Low-latency networking: Architecture, techniques, and opportunities | |
CN103338184A (zh) | 数据发送方法及装置、数据接收装置以及数据传输系统 | |
CN101621532A (zh) | 一种使用线程池实现超文本传输协议应用的方法 | |
Liu et al. | An UDP-based protocol for internet robots | |
CN102055774B (zh) | 基于包处理的http服务器及其数据处理方法 | |
CN102143040A (zh) | 流量控制的方法和装置 | |
CN102263618A (zh) | 无线网络拥塞控制方法、装置及系统 | |
CN107124482A (zh) | 一种dns数据包转发方法、系统及路由器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |