CN101483599A - 一种基于优先级多连接提高网页浏览效率的方法 - Google Patents
一种基于优先级多连接提高网页浏览效率的方法 Download PDFInfo
- Publication number
- CN101483599A CN101483599A CNA2009100773297A CN200910077329A CN101483599A CN 101483599 A CN101483599 A CN 101483599A CN A2009100773297 A CNA2009100773297 A CN A2009100773297A CN 200910077329 A CN200910077329 A CN 200910077329A CN 101483599 A CN101483599 A CN 101483599A
- Authority
- CN
- China
- Prior art keywords
- priority
- data
- link
- queue
- algorithm
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
一种基于优先级多连接提高网页浏览效率的方法,其特征在于,将传输协议建立的多个连接赋以优先级的特征,给重要的数据赋以较高的优先级,并把高优先级连接的数据优先传递到网络中去。本发明能够针对通过不同连接发送出去的用户消息提供一种有区别的服务,从而有效地改善了重要数据在端到端传输过程中的延迟。通过多连接优先级的设置,可以对用户感兴趣的内容,或者服务中较为重要的部分进行优先传输,对不同类型的数据传输提供不同的服务质量保证,从而提高了用户可感知的QoS需求,降低了用户可感知的时延,从而在端到端带宽有限的情况下,也能够为用户提供满意的服务。
Description
技术领域
本发明属于通信技术中的网络技术领域,涉及一种基于优先级多连接提高网页浏览效率的方法,尤其涉及一种多线程并发式传输的网页浏览服务的实现方法。
背景技术
随着互联网的迅速发展,使用TCP作为传输协议会给服务带来一些性能和安全上的问题,如头端阻塞(HOL)、SYN flooding攻击、小文件传输效率低等。在一次TCP连接中,每一个连接只能绑定一个IP地址,如果要想并行地传输多种逻辑数据,只有使用多条TCP连接,而要想进一步地对多个数据流进行流量控制,则就只有在应用层实现,但是应用层无法了解端到端路径上的拥塞情况,很难有效地进行流量控制,同时给应用程序的设计增加了不必要的复杂性。随着浏览器,服务器,以及各种服务复杂性的不断增加,传统的基于TCP的网页浏览服务已经不适合如此庞大的网络系统。
美国Delaware大学的论文《SCTP:An innovative transport layerprotocol for the web》提出了一种基于SCTP的网页浏览服务技术,通过对Apache服务器和Firefox浏览器进行修改,将HTTP移植到SCTP上,并利用SCTP的多流(连接)特性,采用多线程并发传输方式,加快了网页的传输速率,解决了使用TCP带来的头端阻塞、网络拥塞和SYN攻击等问题。然而,当数据在相互独立的数据流中传输时,会产生由多连接并行传输引发的传输数据混杂现象。传输数据混杂是由于不同连接中的数据在同一时刻没有先后顺序的在同时传输或同时到达。出现传输数据混杂时对象的平均到达时间将会增加,并且在端到端路径带宽较小或者传输的数据对象较大的情况下,传输数据混杂所带来的延迟将进一步增加。传输数据混杂现象产生后,用户需要花较长时间去等待其所需服务被完整地传送过来。
发明内容
本发明的目的是提供一种基于优先级多连接提高网页浏览效率的方法,以保证重要数据能够更高效的发送到接收方。
为此,本发明提供了一种基于优先级多连接提高网页浏览效率的方法,其特征在于,将传输协议建立的多个连接赋以优先级的特征,将重要的数据连接赋以较高的优先级,并将其中的数据优先传递到网络中去。
特别是,多连接优先级的实现分为两个部分:用户交互和优先级调度。用户交互指用户根据自己的需求对各个连接的优先级进行设置,同时选择不同的优先级算法。优先级调度完成队列调度工作。本发明对多个TCP连接进行优先级的调度。用户交互部分包括:通过套接口选项来进行优先级的设置,它的设置可以在关联建立之前或之后进行,套接口选项设置成功返回后,多连接优先级特性就开始影响用户消息的发送。同时,所添加的一个用来表示具有相同优先级的连接集合的结构,将多个具有相同优先级的连接中的数据放在一个队列中,使得这些数据能够按照先来先服务的方式进行调度。
多连接优先级调度部分实现:首先,利用调度算法快速地找到连接号所对应的优先级队列的索引号,接着,根据连接的优先级将其数据插入到对应的优先级队列中,然后,再使用优先级调度算法对输出队列进行调度,将其中的数据出队,最后,出队的数据将被绑定到报文中,向下转递到IP网络层,通过网络发送到对端中去。
考虑到多种应用程序可能需要不同的优先级调度策略来满足某些特殊要求,本发明提出的多连接优先级实现方法提供了两种调度算法:严格优先级队列调度算法和加权轮循队列调度算法。一、严格优先级队列算法
在严格优先级队列算法中,每次从优先级最高的队列开始,如果有数据就将其出队并发送出去,对于最高优先级队列中的数据将获得最低延迟的服务。发送数据时的具体步骤如下:
1、首先检查是否使用了优先级特征:如果使用了优先级特性,则要判断使用的是否为严格优先级队列调度算法;如果没有使用,则按照以往普通的出队方式出队;
2、判断使用的是否为严格优先级队列调度算法:如果使用的是严格优先级队列调度算法,则要进行队列号等参数的初始化,并判断当前队列号是否超过优先级队列的最大队列号;如果没有使用,则默认使用加权轮循队列调度算法进行调度;
3、判断当前队列号是否未超过优先级队列的最大队列号:若没有超过,则进行当前队列的处理,判断当前队列是否不为空,也就是判断当前队列是否有数据存在;若超过,则要结束任务;
4、判断当前优先级队列是否不为空:若不为空,即队列中有待发数据存在,则将队列中的数据取出并发送出去;若为空,也就是没有数据存在,则要开始检查下一个队列,跳到步骤3;
5、完成第4步后,数据的发送过程到此结束,下一次数据的发送同样为以上步骤。
严格优先级队列调度算法总结:通过严格优先级队列调度算法,有效地降低了高优先级连接中数据的传输延迟。但是,同时也会产生一些问题,如果在网络边缘不对高优先级信息进行管制,低优先级信息流由于无限制地等待高优先级信息流服务完毕才能得到服务,导致传输时延大到用户无法忍受的程度。如果高优先级信息流超量,低优先级队列由于长期得不到服务,必然导致队列溢出,后续的低优先级信息流由于溢出而被丢弃。如果发生这种情况,低优先级信息流将被迫进入分组丢失、时延增加、主机系统重新传输分组这样的旋涡中。
从以上分析可以看出,严格优先级队列调度算法的确不适合连续性的优先级数据的传输,这会极大的降低数据的传输效率。本发明使用了加权轮循队列调度算法来对其进行改进。
二、加权轮循队列调度算法
在加权轮循队列调度算法中,为每个优先级队列分配不同的权值,通过这些权值的设置将带宽按比例分配给各个队列。但是,权值应该是MTU的整数倍,并且,各个队列权值的最大公约数应该是MTU。发送一次数据时的具体步骤如下:
1、先初始化各个参数,从第一个队列开始进行判断,判断当前队列号是否未超过所有优先级队列的最大队列号;
2、判断当前队列号是否未超过所有优先级队列的最大队列号:若没有超过,则进行当前队列的处理,判断当前队列是否不为空;若超过,则结束此次任务;
3、判断当前队列是否不为空:若当前队列不为空,即当前队列中有数据存在,则将队列中的数据取出,并更新当前的可用权值,将当前可用权值变为前一时刻的可用权值减去用户数据的字节数,接着,判断是否没有从任何一个队列中取出数据;若当前队列为空,也就是队列中没有数据,则检查当前队列的下一个队列,跳到步骤2;
4、判断是否没有从任何一个队列中取出数据:若没有从任何一个队列中取出数据,则证明所有队列的权值都为0,但此时队列中可能还有没有被取出并发送出去的数据,这时就要进行可用权值及队列号的初始化,跳到步骤1,再重新进行数据的提取;若从队列中取出了数据,则将取出的数据发送出去,结束;
5、完成步骤4后,一次数据的取出和发送过程结束。若要对下一次数据取出和发送,需重新进行以上操作,如此循环。
加权轮循队列调度算法总结:通过对权值的设置,在发送数据的任意时刻,两个队列中的数据都是按照一定的比例被发送出去的,虽然多个队列的调度是轮循进行的,但对每个队列不是固定地分配服务时间片,如果某个队列为空,那么马上换到写一个队列调度,这样带宽资源可以得到充分的利用。
综上所述,严格优先级队列调度算法能够有效地降低高优先级队列中数据的传输延迟,但当高优先级信息流超量时,低优先级队列中的数据就会一直在排队,不能够得以发送。出现这种情况时,可以使用加权轮循队列调度算法,保证各个队列中的数据被循环发送出去。
根据本发明,本质上在传输层中实现了一种对不同类型的数据提供不同服务质量保证的QoS控制技术,使得能够对通过不同连接发送出去的用户消息提供一种有区别的服务,从而有效地改善了重要数据在端到端传输过程中的延迟。本发明的优点在于:通过多连接优先级的设置,可以对用户感兴趣的内容、或者服务中较为重要的部分进行优先传输,对不同类型的数据传输提供不同的服务质量保证,从而提高了用户可感知的QoS需求,降低了用户可感知的时延,从而在端到端带宽有限的情况下,能够为用户提供可接受的服务。随着网络中信息量的爆炸性增加,网络服务的内容将日趋复杂,而诸如服务组合等未来网络杀手级的应用将增加这种趋势。本发明符合这种网络发展的趋势,将为越来越多的网络应用提供一种高效的、人性化的实现环境。
根据本发明,通过对多连接优先级进行调度,解决了传输数据混杂现象,降低了用户的等待延时,加快了网页的传输速率,更好地满足了用户的需求。
为了使多连接优先级特性更好的体现出来,可以将网页浏览服务应用于多连接优先级上。假设一个HTML网页被分成四部分:Java applet程序,多媒体控件,一个图像,及纯文本方式。把这四部分分配到四个独立的连接中,加快HTML网页的传输,但同时也带来了并行传输引发的传输数据混杂现象。通过多连接优先级设置,在多连接的网页浏览应用中,可以人为地根据用户的偏好或者网络环境,将用户感兴趣或更有利于提高网络利用率的连接中的数据设置为高优先级,这些数据将在同一个关联内优先地传输到浏览器,这时用户就能一边浏览此数据内容,一边等待其它内容的到达。从而有效地降低用户的等待时间,更好的为当前网络服务,满足了用户的需求。
附图说明
图1为使用调度算法对输出队列的调整示意图;
图2为严格优先级队列调度算法设计示意图;
图3为加权轮循队列调度算法设计示意图;
图4为使用多线程的Apache Web服务器示意图;以及
图5为本发明Web浏览器与服务器之间的交互过程示意图。
具体实施方式
下面给出本发明的一个实施例,其设计了多线程并发传输式网页浏览服务方法。
在图5中,S101表示DNS查询;S102表示建立多个连接;S103表示发送HTTP请求;S104表示发送HTML格式文本文件请求响应;S105表示解析HTML文本文件,使用pipeling机制发送HTTP请求,获得html资源;S106表示HTTP响应,发送所请求资源。
本实施例选择Firefox作为网页浏览客户端,Apache作为网页浏览服务器,广域网模拟器通过对各项参数的设定,例如网络时延、带宽、丢包率等,来模拟真实的网络环境。通常,浏览器用户通过点击一个超链接或在地址栏中输入URL等方式发起一次浏览器与服务器之间的交互。浏览器与服务器的一次交互的具体步骤如下所述:
阶段1、多线程并发传输浏览器和服务器的设计;
步骤1:多线程并发传输服务器的设计
本发明对原始Apache服务器进行了改进。首先,为了使Apache能够利用多连接特性,首先将获得输入连接的连接号,并将其保存。这样,Apache就能够使用与请求相同的连接来进行响应。Apache原先是使用持久连接和pipelining机制,现在即使请求来自于不同的连接,Apache中的服务线程同样只能顺序地从一个关联中读取HTTP请求并响应。为了使得Apache能够并行地对来自于不同连接的请求发送响应,使用一个监听线程来从不同连接中获取HTTP请求,通过监听线程将对各个连接中请求的响应工作分配给若干个服务线程处理,如图4所示。通过这种多线程处理机制,能够有效地提高响应时的数据吞吐量。
步骤2:多线程并发式传输浏览器的设计
本发明对原始Firefox浏览器也进行了改进。在浏览器与服务器建立关联时,Firefox需要指定浏览器允许的最大出连接和入连接。因为希望使用与HTTP中请求的连接号中相同的连接号来进行响应,将输入连接数设置成输出连接数。浏览器在选择使用哪个连接号来传输HTTP请求时,是使用round-robin算法来循环地在所有的可用连接号中选择可用连接号。
当使用多线程浏览器Firefox和多线程Web服务器Apache分别并行地发送HTTP请求和响应时会发生传输数据混杂现象,这是因为Apache服务器会使用多个服务线程交替地使用网络接口将响应数据发送到浏览器端。通过多连接优先级能有效地解决这一问题。可以人为地根据用户对网页中各个元素的感兴趣程度,将用户感兴趣的元素设置为高优先级,这些元素将在同一个关联中优先地被传输到浏览器端,从而获得尽量小的延迟。
阶段2:多连接优先级的设定
为了将优先级特性应用于Apache和Firefox,在Apache服务器端由网页作者在网页中添加用于说明网页元素重要程度的属性字段,将Apache服务器端连接0设置为高优先级连接,其余的连接为普通优先级,这些连接将按照先来先服务的方式被发送到网络中去。由于在同一连接上传输多个数据依然会发生头端阻塞现象,因此,每个网页中的重要元素不宜设置过多。
阶段3:网页浏览服务工作的具体过程如图8所示
步骤1:在浏览器地址栏中键入所需页面的URL,这里假设用户想要访问的URL是http://eaie.bjtu.edu.cn/index.html;
步骤2:浏览器会对用户提交的URL进行解析。浏览器会找到获取这个URL中的资源需要使用什么协议,即“:”前面的http,然后使用HTTP协议获取资源eaie.bjtu.edu.cn/index.html,这个由字符串代表的资源由两个部分组成:前一部分代表运行着Web服务器的机器域名eaie.bjt,后一部分代表存放在服务器 eaie.bjtu.deu.cn中的资源名字;
步骤3:在完成对URL的解析后,浏览器就开始访问域名系统DNS,查找eaie.bjtu.edu.cn对应的IP地址;
步骤4:通过DNS解析,浏览器获得eaie.bjtu.edu.cn对应的IP地址;
步骤5:浏览器与服务器之间建立多个连接;
步骤6:浏览器传输线程向Web服务器发送HTTP GET请求,告诉Web服务器需要获得/index.html资源;
步骤7:服务器用/index.html作为这次请求的响应的消息主体并将其传送给浏览器。index.html是一个HTML格式的文本文件,其中描述了网页中包含了哪些元素以及这些元素如何布局的结构化信息,还有一些网页中出现的文字信息;
步骤8:为了进一步地获得网页中的其它元素,浏览器会对刚刚收到的index.html进行解析,确定它需要进一步获取哪些资源,并根据由网页作者对各个网页元素的重要程度说明确定各个元素的重要程度,通过高优先级连接去获取这些重要元素,而其它普通元素通过Round-Robin算法使用普通优先级连接去获取;
步骤9:浏览器再次利用pipelining机制向服务器发起若干个HTTP GET请求,从Web服务器中获得需要的资源;
步骤10:Apache服务器接收到来自于不同连接的请求后,用多个服务线程对请求进行处理并响应,Apache使用多个服务线程并行地处理一个关联中不同连接的请求并将响应发回给浏览器;
步骤11:浏览器会使用多个线程分别读取来自不同连接中的响应数据,并将其呈现在窗口上;
步骤12:当网页中所有元素都到达了浏览器端后,一个完整的网页就会呈现在用户面前,至此就完成了一个网页的浏览服务。
Claims (4)
1、一种基于优先级多连接提高网页浏览效率的方法,其特征在于,将传输协议建立的多个连接赋以优先级的特征,将重要的数据连接赋以较高的优先级,并将此连接中的数据优先传递到网络中去。
2、如权利要求1所述的方法,其特征在于,进一步包含:
用户交互,用户根据自己的需求对多连接进行优先级设置,选择优先级调度算法;以及
多连接的优先级调度,其完成多个连接的优先级调度工作。
3、如权利要求2所述的方法,其特征在于,多连接的优先级调度包括以下两个步骤:
(1)将输出队列分为若干个队列,不同队列存放不同优先级连接中的数据;以及
(2)使用优先级调度算法从优先级队列中将数据取出。
4、如权利要求3所述的方法,其特征在于,多连接的优先级调度算法为:
严格优先级队列调度算法:每次严格按照优先级从高到低的次序,优先发送高优先级队列中的分组,当高优先级队列为空时,再发送低优先级队列中的分组;或
加权轮循队列调度算法:为每个队列分配不同的权值,队列之间轮流调度,保证每个队列都得到一定的服务时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100773297A CN101483599A (zh) | 2009-02-18 | 2009-02-18 | 一种基于优先级多连接提高网页浏览效率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100773297A CN101483599A (zh) | 2009-02-18 | 2009-02-18 | 一种基于优先级多连接提高网页浏览效率的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101483599A true CN101483599A (zh) | 2009-07-15 |
Family
ID=40880537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009100773297A Pending CN101483599A (zh) | 2009-02-18 | 2009-02-18 | 一种基于优先级多连接提高网页浏览效率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101483599A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065143A (zh) * | 2010-12-21 | 2011-05-18 | 华为技术有限公司 | 基于http的通信方法及系统、http服务器、http客户端 |
CN105122704A (zh) * | 2013-04-18 | 2015-12-02 | Lg电子株式会社 | 在无线接入系统中发送调度请求的方法和设备 |
CN110351319A (zh) * | 2018-04-04 | 2019-10-18 | 中国移动通信有限公司研究院 | 一种请求消息传输方法、装置及传输设备 |
-
2009
- 2009-02-18 CN CNA2009100773297A patent/CN101483599A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065143A (zh) * | 2010-12-21 | 2011-05-18 | 华为技术有限公司 | 基于http的通信方法及系统、http服务器、http客户端 |
WO2012083806A1 (zh) * | 2010-12-21 | 2012-06-28 | 华为技术有限公司 | 基于http的通信方法及系统、http服务器、http客户端 |
CN102065143B (zh) * | 2010-12-21 | 2014-04-30 | 华为技术有限公司 | 基于http的通信方法及系统、http服务器、http客户端 |
CN105122704A (zh) * | 2013-04-18 | 2015-12-02 | Lg电子株式会社 | 在无线接入系统中发送调度请求的方法和设备 |
US9801164B2 (en) | 2013-04-18 | 2017-10-24 | Lg Electronics Inc. | Methods and devices for transmitting scheduling request in wireless access system |
CN105122704B (zh) * | 2013-04-18 | 2018-02-23 | Lg 电子株式会社 | 在无线接入系统中发送调度请求的方法和设备 |
CN110351319A (zh) * | 2018-04-04 | 2019-10-18 | 中国移动通信有限公司研究院 | 一种请求消息传输方法、装置及传输设备 |
CN110351319B (zh) * | 2018-04-04 | 2022-04-01 | 中国移动通信有限公司研究院 | 一种请求消息传输方法、装置及传输设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kliazovich et al. | CA-DAG: Modeling communication-aware applications for scheduling in cloud computing | |
Munir et al. | Friends, not foes: synthesizing existing transport strategies for data center networks | |
CN102170396B (zh) | 一种基于区分服务的云存储系统QoS控制方法 | |
CN107733689A (zh) | 基于优先级的动态加权轮询调度策略方法 | |
US8238243B2 (en) | System and method for network optimization by managing low priority data transfers | |
EP2321937B1 (en) | Load balancing for services | |
EP3588906B1 (en) | Multi-path management with http/2 | |
JP2009251708A (ja) | I/oノード制御方式及び方法 | |
CA2395444C (en) | Method and apparatus for anonymous subject-based addressing | |
CN107154897B (zh) | Dcn中基于包散射的异构流隔离方法 | |
CN100466593C (zh) | 一种支持多业务的综合队列调度的实现方法 | |
CN101483599A (zh) | 一种基于优先级多连接提高网页浏览效率的方法 | |
Shen et al. | Deadline-aware rate allocation for IoT services in data center network | |
CN102404133A (zh) | 一种ip网络数据交互的方法和装置 | |
Iftikhar et al. | Towards a redundancy-aware network stack for data centers | |
US9128755B2 (en) | Method and apparatus for scheduling resources in system architecture | |
Paul et al. | Balancing Web server load for adaptable video distribution | |
US8194658B2 (en) | Transmitting and receiving method and apparatus in real-time system | |
CN106790632B (zh) | 一种流数据的并发传输方法和装置 | |
Luo et al. | Meeting coflow deadlines in data center networks with policy-based selective completion | |
Victoria et al. | Efficient bandwidth allocation for packet scheduling | |
Banerjee et al. | Experience-based efficient scheduling algorithm (EXES) for serving requests in cloud using SDN controller | |
Wang et al. | Achieving bounded delay on message delivery in publish/subscribe systems | |
WO2022174675A1 (zh) | 算力信息的处理方法、第一网络设备及系统 | |
Li et al. | Research Progress and Trend of Coflow Time-Optimal Scheduling in Data Center Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090715 |