CN101252451B - 保证服务质量的Web服务器系统请求区分服务方法与中间件 - Google Patents
保证服务质量的Web服务器系统请求区分服务方法与中间件 Download PDFInfo
- Publication number
- CN101252451B CN101252451B CN200810073506XA CN200810073506A CN101252451B CN 101252451 B CN101252451 B CN 101252451B CN 200810073506X A CN200810073506X A CN 200810073506XA CN 200810073506 A CN200810073506 A CN 200810073506A CN 101252451 B CN101252451 B CN 101252451B
- Authority
- CN
- China
- Prior art keywords
- service
- queue
- client requests
- value
- service queue
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明是保证服务质量的Web服务器系统请求区分服务方法与中间件,涉及到互联网上Web服务器系统技术领域。本发明方法包括主控初始化、请求分类、实时调度与页面定位四个步骤。首先按其服务类别分类到达的客户请求到对应服务队列中;其次读取优先级最高的服务队列中客户请求,按其响应方式选取对应质量页面进行响应;最后调整各个服务队列的历史日志、绝对质量、响应方式、相对质量与优先级参数。此外,根据本发明方法设计的中间件通过主控初始化、请求分类、实时调度与页面定位四个模块来实现上述四个步骤。总之,本发明方法与中间件都采用“非一视同仁”区分服务方式,实现了Web服务器系统对客户请求的区分服务、负荷平衡与服务质量保证。
Description
(一)技术领域:
本发明涉及互联网上Web服务器系统的技术领域,具体是一种保证服务质量的Web服务器系统请求区分服务方法,以及根据本发明方法设计的一种保证服务质量的Web服务器系统请求区分服务中间件,以解决Web服务器系统无区分服务、负荷平衡与服务质量保证的问题。
(二)背景技术:
目前,互联网上Web(World Wide Web,简称WWW或Web)服务发展迅速,建立在Web服务上的电子商务业务,使传统的商业活动焕然一新,人们可以通过Web服务在网上进行商业交易、商业调查、信息发布等。然而,Web服务器系统作为电子商务与Web服务的核心设施之一,它对客户请求的响应处理与服务质量的好坏,直接影响到电子商务的进一步发展。根据美国Zona研究中心调查,一个电子商务网站必须保证客户请求在7秒内得到响应处理,否则它将会在未来丢失约30%左右的客户访问量。在2006年至2007年期间,因客户请求被拒绝响应处理或响应处理延迟等因素,导致全球电子商务市场约400亿美元的销售损失。但是,客户对Web服务器系统的访问行为是一个随机事件,至今为止仍然没有很好的方法预测客户的访问行为,这给如何实现Web服务器系统的区分服务与服务质量保证带来了许多技术困难。这些技术困难主要体现在:如何使Web服务器系统对客户请求实现区分服务;如何使Web服务器系统在合理降低优先级低的客户请求的响应率与服务质量同时,优先保证优先级高的客户请求的响应率与服务质量;如何平衡Web服务器系统网络端口的客户请求负荷,合理分配Web服务器系统网络端口的带宽等问题。
然而,大多数Web服务器系统无法对客户请求提供区分服务、负荷平衡与服务质量保证。例如在电子商务与Web服务中普遍使用的Apache Web服务器系统,它对到达的客户请求采用“一视同仁”的请求先来先服务方法,当客户请求进入Web服务器系统的TCP监听队列后,Web服务器系统按先来先服务方法响应处理客户请求,这种先来先服务方法无法做到优先响应处理哪些客户请求,延迟响应处理哪些客户请求,容易造成优先级高 的客户请求的响应率与服务质量降低,而优先级低的客户请求的响应率与服务质量也没有得到提高。可是,电子商务与Web服务今后发展,需要Web服务器系统能够针对不同类型的客户请求,实现客户请求的区分服务、负荷平衡与服务质量保证。因此,Web服务器系统“一视同仁”的请求先来先服务方法,在技术上不符合未来电子商务与Web服务的发展趋势。针对这些问题,一种有效的办法就是使Web服务器系统对客户请求不再遵循“一视同仁”的服务方法,而是采用“非一视同仁”的区分服务方法。
目前,针对Web服务器系统的区分服务、负荷平衡与服务质量保证的研究十分活跃,各国的研究组织和IT公司都非常重视这方面的研究工作,一些针对Web服务器系统区分服务、负荷平衡与服务质量保证的方法主要是建立综合服务和区分服务的体系结构,其主要可以分成如下两种类型的方法:
①区分的Web服务机制与策略:通过定义客户请求的类别,确定客户服务优先级,利用基于优先级的客户请求分配策略和资源监控与调度机制来保证对不同客户请求的不同Web服务水平。
②Web服务器系统体系结构设计:通过增加内存和CPU来扩大单个Web服务器系统的处理能力;在局域范围内通过复制服务器系统页面建立Web服务器系统集群,以增强本地Web服务器系统的处理能力;在地理上广域分布的范围内,通过复制服务器系统集群来扩大全局处理能力。
针对上述的解决方法,相继出现了一些模型或方法来解决Web服务器系统的区分服务和服务质量保证的问题,例如:美国威斯康星-麦迪逊大学提出的优先调度方法;美国波士顿大学提出的最短连接优先策略;美国密歇根大学提出的按比例分配网络带宽给客户端的Web服务器系统模型;HP实验室提出的支持分层的Web服务器系统结构;美国维吉尼亚大学提出的Web服务器系统相对延迟保证的技术;美国赖斯大学利用集群技术来提高Web服务器系统性能以改善Web服务质量方法。然而,这些模型或方法仍然存在一些不足之处:
①过多依赖操作系统与Web服务器系统软件结构,对操作系统与Web服务器系统软件修改太多;
②没有很好地把区分服务、负荷平衡与服务质量保证结合起来,更没有提出基于“非一视同仁”的区分服务方法,不能针对不同类型的客户请 求用不同质量页面进行响应处理;
③无法实时针对不同类型客户请求负荷,合理分配Web服务器系统网络端口的带宽给不同质量标准的客户请求。
(三)发明内容:
本发明目的是设计一种保证服务质量的Web服务器系统请求区分服务方法,以取代Web服务器系统中请求先来先服务方法,本方法采用“非一视同仁”的区分服务方法,针对不同类型的客户请求,采用不同质量的页面对其进行响应处理,保证Web服务器系统对客户请求的响应率与服务质量。同时,本发明方法通过区分服务,可以平衡Web服务器系统网络端口的客户请求负荷,合理分配Web服务器系统网络端口的带宽。
本发明另一目的是根据本发明方法,设计了一种保证服务质量的Web服务器系统请求区分服务中间件,通过在Web服务器系统中安装该中间件后,可以使Web服务器系统具有区分服务、负荷平衡与服务质量保证的功能。
本发明方法包括主控初始化、请求分类、实时调度与页面定位四个步骤,这些步骤首先把到达Web服务器系统客户请求,按其源IP地址查询客户类别库,并根据其服务类别分类它们到对应服务队列中;其次读取优先级最高的服务队列中客户请求,按其响应方式选取对应质量页面进行响应处理;最后实时调整各个服务队列的历史日志、绝对质量、响应方式、相对质量与优先级参数。主控初始化、请求分类、实时调度和页面定位步骤均为安装在Web服务器系统中独立运行的进程,且它们的运行初始时钟都是t=T,T是一个时间单位,单位是秒。本发明方法的主控初始化、请求分类、实时调度与页面定位四个步骤涉及到的库、队列、参数与公式介绍如下:
I.客户类别库
客户类别库是一个二维表,包括:服务类别、服务队列序号、客户端源IP地址、绝对质量标准四个字段。服务类别表示Web服务器系统向客户请求提供的响应服务种类,服务类别决定了Web服务器系统以何种服务质量标准响应处理所属服务类别的客户请求。服务队列序号表示服务队列的一个顺序编号,每个服务队列只有一个唯一的编号。客户端源IP地址表示发出客户请求的那个客户端IP地址,它可以是单个IP地址,也可以是一批IP地址。绝对质量标准表示Web服务器系统向客户请求提供的响应服务的质量高低,每种服务类别对应一种绝对质量标准,绝对质量标准与服务类别构成一一对应关系,其数量分别为n。客户类别库以服务类别作为关键字索引,其初始化值由系统管理员根据提供的服务类别手工设置。
II.缓存队列
缓存队列是一个先进先出循环队列,其队列长度是“100”,它用于保存请求分类步骤中因服务队列满而暂时无法进入服务队列的客户请求,当客户请求入队或出队时,缓存队列的队尾指针或队头指针按模“100”运算调整。没有为缓存队列设置优先级,其初始化值是不包含任何客户请求的一个空循环队列。
III.服务队列
服务队列是一个先进先出循环队列,其队列长度是“100”,它用于保存被请求分类步骤分类的客户请求,当客户请求入队或出队时,服务队列的队尾指针或队头指针按模“100”运算调整。每种服务类别对应一个服务队列,服务队列与服务类别构成一一对应关系,其数量分别为n。服务队列的初始化值是不包含任何客户请求的n个空循环队列,n是服务队列的总数。
IV.绝对质量标准
每个服务队列都有一个绝对质量标准,它表示Web服务器系统响应处理一个服务队列中客户请求的质量标准,其取值是大于0小于等于100的一个正整数,最大值“100”代表Web服务器系统应该100%响应处理该服务队列中客户请求。绝对质量标准的初始化值由系统管理员根据Web服务器系统提供的服务类别手工设置。
V.相对质量标准
每个服务队列都有一个相对质量标准,它表示一个服务队列的绝对质量标准占所有服务队列的绝对质量标准总和的百分比,第i个服务队列相对质量标准值的计算公式如下:
VI.服务队列序号
每个服务队列都有一个服务队列序号,它表示服务队列的一个顺序编号,每个服务队列只有一个唯一的序号,其取值范围是大于等于1小于等于n,n是服务队列的总数。服务队列序号分配原则:把各个服务队列按其绝对质量标准从高至低进行排列,这样排列得到的各个服务队列顺序号就是对应服务队列序号。
VII.历史日志
每个服务队列都有一个历史日志队列,历史日志队列是一个先进先出循环队列,其队列长度是“100”,它用于保存服务队列中最近100个客户请求的响应方式值。每个服务队列的历史日志队列中响应方式值,随着客户请求不断得到响应处理而实时更新,历史日志队列中响应方式值的更新方法是:当一个客户请求得到响应处理时,历史日志队列队头第一位响应方式值出队,该客户请求所属服务队列的响应方式值入队历史日志队列,以队列长度100为模运算调整历史日志队列队头指针与队尾指针。对历史日志队列的初始化就是从队尾依次进入100个“0”,初始化后历史日志队列各位都是“0”。历史日志值就是从队尾至队头逐位累加各位响应方式值得到的总和,其初始化值是“0”。第t时刻第i个服务队列历史日志值的计算公式如下:
历史日志值i(t)=∑(1≤p≤100)[历史日志队列i(t)]p,其中:p是历史日志队列i(t)中指向各个响应方式值的指针,i是服务队列的序号,1≤i≤n,n是服务队列的总数。
VIII.绝对质量
每个服务队列都有一个绝对质量,它表示一个服务队列中客户请求得到Web服务器系统响应处理的自身质量,其初始化值是对应绝对质量标准值。第t时刻第i个服务队列绝对质量值的计算公式如下:
绝对质量值i(t)=绝对质量值i(t-1)-历史日志值i(t-1)+历史日志值 i(t),其中:i是服务队列的序号,1≤i≤n,n是服务队列的总数。
IX.相对质量
每个服务队列都有一个相对质量,它表示一个服务队列的绝对质量占所有服务队列的绝对质量总和的百分比,其初始化值是对应相对质量标准值,其中n是服务队列的总数。第t时刻第i个服务队列相对质量值的计算公式如下:
其中:i,k是服务队列的序号,1≤i≤n,n是服务队列的总数。
X.优先级
每个服务队列都有一个优先级,它表示一个服务队列得到Web服务器系统响应处理优先次序,处于同一个服务队列中客户请求具有相同的优先级。优先级取值是大于等于1小于等于2n的一个整数,n是服务队列的总数。优先级值越小表示对应服务队列中客户请求得到Web服务器系统响应处理越优先。每个服务队列优先级初始值是对应服务队列序号。第t时刻第i个服务队列优先级值的计算公式如下:
其中:i是服务队列的序号,1≤i≤n,n是服务队列的总数。
XI.响应方式
每个服务队列都有一个响应方式,它表示一个服务队列中客户请求用什么质量页面进行响应处理。响应方式有三种:客户请求精确响应,用高质量页面响应处理该客户请求;客户请求近似响应,用低质量页面响应处理该客户请求;客户请求出现超时,直接丢弃不响应处理该客户请求。为了实现服务队列的响应方式,本方法把Web服务器系统中页面设计成两种质量等级:高质量页面和低质量页面。未删除Flash或图片或音乐等信息的页面是高质量页面,已删除Flash或图片或音乐等信息的页面是低质量页面。响应方式初始值是“1”。响应方式取值也有三种,第t时刻第i个服务队列响应方式值的计算公式如下:
其中:i是服务队列的序号,1≤i≤n,n是服务队列的总数。
基于上述客户类别库、缓存队列、服务队列、绝对质量标准、相对质量标准、服务队列序号、历史日志、绝对质量、相对质量、优先级与响应 方式的定义与公式,本发明方法的主控初始化、请求分类、实时调度与页面定位步骤的操作如下:
第一、主控初始化
主控初始化步骤首先对请求分类、实时调度和页面定位步骤的参数初始化,然后调用请求分类、实时调度和页面定位步骤并传递时钟t给这三个步骤。主控初始化步骤的具体操作如下:
①按上述IV至XI定义与公式初始化绝对质量标准、相对质量标准、服务队列序号、历史日志、绝对质量、相对质量、优先级、响应方式的各个参数值。其中:绝对质量标准、相对质量标准与服务队列序号的参数值在请求分类、实时调度和页面定位步骤执行中不变,绝对质量、相对质量、历史日志、优先级、响应方式的参数值随请求分类、实时调度和页面定位步骤的执行更新。
②主控初始化步骤调用请求分类、实时调度和页面定位步骤。
③传递时钟t参数给请求分类、实时调度和页面定位步骤。
④如果主控初始化步骤未结束,时钟t步长增加1,则转③操作;否则传递“结束”参数给请求分类、实时调度和页面定位步骤,结束。
第二、请求分类
请求分类步骤把到达Web服务器系统客户请求,按其源IP地址查询客户类别库,并根据其服务类别分类它们到对应服务队列中。请求分类步骤的具体操作如下:
①读取主控初始化步骤传递来的参数,如果参数是“结束”,则结束;否则转②操作。
②如果缓存队列未空,则读取缓存队列中客户请求(t),按其源IP地址查询客户类别库,根据其服务类别确定其所属服务队列x,转③操作;否则转④操作。
③如果客户请求(t)所属服务队列x未满,则客户请求(t)进入服务队列x中,从缓存队列中删除客户请求(t),转④操作;否则转④操作。
④如果TCP监听队列未空,则读取TCP监听队列中客户请求(t),按其源IP地址查询客户类别库,根据其服务类别确定其所属服务队列y,转⑤操作;否则转①操作。
⑤如果客户请求(t)所属服务队列y未满,则客户请求(t)进入服务队 列y中,从TCP监听队列中删除客户请求(t),转①操作;否则转⑥操作。
⑥如果缓存队列未满,则客户请求(t)进入缓存队列中,从TCP监听队列中删除客户请求(t),转①操作;否则转①操作。
第三、实时调度
实时调度步骤按服务队列的优先级高低,首先读取优先级最高的服务队列中客户请求,然后传递其客户请求到页面定位步骤进行处理。每当服务队列中一个客户请求得到响应处理后,实时调度步骤根据上述本方法各个参数的计算公式,实时更新服务队列的历史日志、绝对质量、相对质量、优先级、响应方式的值。实时调度步骤的具体操作如下:
①读取主控初始化步骤传递来的参数,如果参数是“结束”,则结束;否则转②操作。
②如果服务队列都是空,则转①操作;否则转③操作。
③在n个服务队列中,选取一个优先级最高的非空服务队列top,读取其客户请求top(t),转④操作。
④如果客户请求top(t)超时,则执行a、b、c、d、e操作;否则执行f、g、h、j操作。
a.队头第一位响应方式值top(t-1)出队历史日志队列top(t-1),“0”入队历史日志队列top(t-1),以队列长度100为模运算调整历史日志队列top (t-1)队头指针与队尾指针,历史日志队列top(t-1)变成为历史日志队列top (t)。
b.历史日志值top(t)=∑(1≤p≤100)[历史日志队列top(t)]p,其中:p是历史日志队列top(t)中指向各个响应方式值的指针。
c.绝对质量值top(t)=绝对质量值top(t-1)-历史日志值top(t-1)+历史日志值top(t)。
e.转⑤操作。
f.把客户请求top(t)传递给页面定位步骤。
g.队头第一位响应方式值top(t-1)出队历史日志队列top(t-1),响应方式值top(t)入队历史日志队列top(t-1),以队列长度100为模运算调整历史 日志队列top(t-1)队头指针与队尾指针,历史日志队列top(t-1)变成为历史日志队列top(t)。
h.历史日志值top(t)=∑(1≤p≤100)[历史日志队列top(t)]p,其中:p是历史日志队列top(t)中指向各个响应方式值的指针。
i.绝对质量值top(t)=绝对质量值top(t-1)-历史日志值top(t-1)+历史日志值top(t)。
⑤如果相对质量值top(t)<相对质量标准值top,则从除服务队列top之外的n-1个服务队列中,选取一个优先级最低且响应方式值是“1”的非空服务队列low,置其响应方式值low(t)=0.5,转⑥操作;否则从n个服务队列中,选取一个相对质量值pick(t)大于等于相对质量标准值pick且优先级最高且响应方式值是“0.5”的非空服务队列pick,置其响应方式值pick(t)=1。
⑥按优先级计算公式,计算更新n个服务队列优先级的值,转①操作。
第四、页面定位
为了实现服务队列的响应方式,Web服务器系统中页面设计成两种质量等级:高质量页面和低质量页面,高质量页面是指那些未删除Flash或图片或音乐等信息的页面,低质量页面是指那些已删除Flash或图片或音乐等信息的页面。同时,设计了一种页面定位步骤,它采用通用网关接口的脚本语言(例如Perl、PHP、C/C++、Visual Basic等)编写其实现程序,并通过通用网关接口与Web服务器系统中页面数据库建立连接。页面定位步骤的具体操作如下:
①读取主控初始化步骤传递来的参数,如果参数是“结束”,则结束;否则转②操作。
②接收从实时调度步骤传递的客户请求top(t),解析客户请求top(t)的统一资源定位符,以客户请求top(t)的统一资源定位符为关键字,在Web服务器系统中页面数据库查找对应页面。
③如果查找到对应页面,则转④操作;否则以“页面不存在”响应客户请求top(t),转①操作。
④如果客户请求top(t)所属服务队列top的响应方式值top(t)=1,则用 高质量页面响应客户请top(t),转①操作;否则转⑤操作。
⑤如果客户请求top(t)所属服务队列top的响应方式值top(t)=0.5,则用低质量页面响应客户请求top(t),转①操作;否则拒绝响应处理,转①操作。
根据本发明方法和中间件技术设计的保证服务质量的Web服务器系统请求区分服务中间件,在Web服务器系统安装了该中间件,可以使Web服务器系统具有区分服务、负荷平衡与服务质量保证的功能。本发明的中间件包括主控初始化模块、请求分类模块、实时调度模块与页面定位模块四个部分,它们的具体内容如下:
第一部分:主控初始化模块是整个中间件的主控模块,它包括运行时钟单元、参数初始化单元、模块调用单元及模块结束单元。运行时钟单元含有时钟设置程序和时钟传递程序,参数初始化单元含有手工设置客户类别库与绝对质量标准参数操作程序,以及缓存队列、服务队列、相对质量标准、服务队列序号、绝对质量、相对质量、历史日志、优先级与响应方式的参数的初始化程序,模块调用单元含有请求分类模块、实时调度模块、页面定位模块的模块调用程序,模块结束单元含有请求分类模块、实时调度模块、页面定位模块的结束运行程序。
本发明的中间件在开始运行时,首先运行时钟单元设置的时钟初始值t=1(秒)。其次参数初始化单元初始化客户类别库、缓存队列、服务队列、绝对质量标准、相对质量标准、服务队列序号、绝对质量、相对质量、历史日志、优先级、响应方式的参数值。然后模块调用单元调用请求分类模块、实时调度模块、页面定位模块开始运行,运行时钟单元同时把时钟t传递给请求分类模块、实时调度模块与页面定位模块,并负责下一个时钟t的更新与传递。当需要结束本中间件的运行时,模块结束单元通过传递“结束”参数给请求分类模块、实时调度模块、页面定位模块,结束它们的运行。
第二部分:请求分类模块包括请求分类单元、客户类别库、n个长度为“100”的服务队列和一个长度为100的缓存队列。请求分类单元与TCP监听队列连接,从TCP监听队列读取客户请求,并按客户请求源IP地址查询客户类别库,根据其服务类别分类它们到对应的服务队列中。
第三部分:实时调度模块包括读取请求单元、参数调整单元和请求传 递单元。
读取请求单元与请求分类模块的服务队列相接,含有服务队列优先级排序程序与客户请求读取程序;参数调整单元含有t时刻绝对质量、相对质量、优先级与响应方式的参数值的计算程序;请求传递单元与页面定位模块连接。在开始运行时,首先请求读取单元读取一个优先级最高的非空服务队列中客户请求。其次参数调整单元根据客户请求是否超时及响应方式,调整该客户请求对应服务队列的历史日志值、绝对质量值、相对质量值,以及根据相对质量值是否满足相对质量标准,合理调整其他服务队列的响应方式值,以保证优先级最高的非空服务队列中客户请求的服务质量。最后请求传递单元把请求读取单元读取的客户请求传送给页面定位模块。
第四部分:页面定位模块包括请求接收单元与请求定位单元。在开始运行时,首先请求接收单元接收实时调度模块传递过来的客户请求;其次请求定位单元在Web服务器系统的页面数据库中查找到对应质量页面,并根据此刻需要响应的客户请求所属服务队列的响应方式,读取对应质量页面响应该客户请求。
本发明保证服务质量的Web服务器系统请求区分服务方法的优点是:基于“非一视同仁”的请求区分服务方法,可以取代Web服务器系统基于“一视同仁”的请求先来先服务方法。它针对不同类型的客户请求,在优先保证优先级高客户请求的响应率与服务质量前提下,尽量保证优先级低客户请求的响应率与服务质量。它在提高Web服务器系统的客户请求响应率与服务质量同时,通过区分服务又可以平衡Web服务器系统网络端口的客户请求负荷,合理分配Web服务器系统网络端口的带宽。本发明方法适合用于各种Web服务器系统,便于应用推广。根据本发明方法设计的保证服务质量的Web服务器系统请求区分服务中间件,独立于操作系统软件,在Web服务器系统安装该中间件后,可以使Web服务器系统具有区分服务、负荷平衡与服务质量保证的功能。本发明的中间件适合用于各种Web服务器系统,便于应用推广。
(四)附图说明:
图1是本发明方法主控初始化步骤的程序框图;
图2是图1中请求分类步骤的程序框图;
图3是图1中实时调度步骤的程序框图;
图4是图1中页面定位步骤的程序框图;
图5是请求先来先服务方法与本发明方法的请求响应对比实施例;
图6是本发明方法服务类别A、B、E的请求响应对比实施例;
图7是本发明方法服务类别C、D、F的请求响应对比实施例;
图8是本发明方法设计的中间件实施例的总体结构示意图;
图9是图8中主控初始化模块的结构示意图;
图10是图8中请求分类模块的结构示意图;
图11是图8中实时调度模块的结构示意图;
图12是图8中页面定位模块的结构示意图。
(五)具体实施方式:
一、保证服务质量的Web服务器系统请求区分服务方法的实施例
在Web服务器系统中,本实施例为客户请求提供6种服务类别的绝对质量标准,它们分别是:服务类别A、服务类别B、服务类别C、服务类别D、服务类别E、服务类别F,每种服务类别一一对应一个服务队列。本发明方法实施例的初始时钟是t=1(秒)时刻,并且在t=1(秒)时刻,通过上述客户类别库、缓存队列、服务队列、绝对质量标准、相对质量标准、服务队列序号、历史日志、绝对质量、相对质量、优先级与响应方式的定义与公式,得到本发明方法实施例的库、队列与参数的初始化值,具体如下:
I.客户类别库
通过上述客户类别库的定义,系统管理员根据Web服务器系统提供的服务类别,在Web服务器系统数据库中手工构建一个客户类别库,其中包括:服务类别、服务队列序号、客户端源IP地址、绝对质量标准字段。所构建的客户类别库以服务类别作为索引,客户类别库如表1所示。
表1:客户类别库
服务类别 | 服务队列序号 | 客户端源IP地址 | 绝对质量标准 |
A | 1 | 191.210.02.255 | 100 |
B | 3 | 1.10.09.218 | 80 |
C | 2 | 128.04.10.0 | 90 |
D | 4 | 192.0.10.01 | 62 |
E | 5 | 223.05.20.255 | 45 |
F | 6 | 126.09.10.01 | 23 |
II.缓存队列
通过上述缓存队列的定义,缓存队列的初始化值是不包含任何客户请求的一个空循环队列,其队列长度是“100”。
III.服务队列
通过上述服务队列的定义,6个服务队列的初始化值是不包含任何客户请求的6个空循环队列,其队列长度是“100”。
VI.绝对质量标准
通过上述绝对质量标准的定义,系统管理员根据Web服务器系统提供的6种服务类别,手工设置为6个服务队列对应的绝对质量标准初始化值,它们分别是:绝对质量标准值1=100,绝对质量标准值3=80,绝对质量标准值2=90,绝对质量标准值4=62,绝对质量标准值5=45,绝对质量标准值6=23。
V.相对质量标准
通过上述相对质量标准的计算公式,可以计算得到6个服务队列对应的相对质量标准初始化值分别是:相对质量标准值1(1)=25.00%,相对质量标准值3(1)=20.00%,相对质量标准值2(1)=22.50%,相对质量标准值4(1)=15.50%,相对质量标准值5(1)=11.25%,相对质量标准值6(1)=5.75%。
IV.服务队列序号
通过上述服务队列序号的定义,6个服务队列按其绝对质量标准从高至低进行排列,这样排列得到的各个服务队列顺序号就是对应服务队列序号,通过这种方式得到6种服务类别相应的6个服务队列的服务队列序号见表1所示。
V.历史日志
通过上述历史日志的定义,历史日志队列初始化就是从队尾依次进入100个“0”,初始化后历史日志队列各位都是“0”,6个服务队列的历史日志队列初始化值是“0”。
VI.绝对质量
通过上述绝对质量的定义,6个服务队列绝对质量初始化值是对应绝对质量标准值。
VII.相对质量
通过上述相对质量的定义,6个服务队列相对质量初始化值是对应相对质量标准值。
IX.优先级
通过上述优先级的定义,6个服务队列优先级初始值是其对应的服务队列序号,它们分别是:优先级值1(1)=1,优先级值3(1)=3,优先级值2(1)=2,优先级值4(1)=4,优先级值5(1)=5,优先级值6(1)=6。
X.响应方式
通过上述响应方式的定义,6个服务队列响应方式初始值是“1”。
基于上述客户类别库、缓存队列、服务队列、绝对质量标准、相对质量标准、服务队列序号、历史日志、绝对质量、相对质量、优先级与响应方式的参数初始化值,下面介绍主控初始化、请求分类、实时调度和页面定位四个步骤的实施例。
第一、主控初始化
当t=1(秒)时刻,主控初始化步骤的程序框图见图1所示,其具体操作如下:
①在t=1时刻,按上述IV至XI定义与公式初始化绝对质量标准、相对质量标准、服务队列序号、历史日志、绝对质量、相对质量、优先级、响应方式的各个参数值。其中:绝对质量标准、相对质量标准与服务队列序号的参数值在请求分类、实时调度和页面定位步骤执行中不变,绝对质量、相对质量、历史日志、优先级、响应方式的参数值随请求分类、实时调度和页面定位步骤的执行更新,其初始化结果见表2所示。
②主控初始化步骤调用请求分类、实时调度和页面定位步骤。
③传递时钟t=1(秒)参数给请求分类、实时调度和页面定位步骤。
④主控初始化步骤未结束,时钟t步长增加1,则转③操作。
表2:t=1(秒)各个参数初始化值
在表2中:服务队列1的优先级值=1(最高),服务队列2的优先级值=3,服务队列3的优先级值=2,服务队列4的优先级值=4,服务队列5的优先级值=5,服务队列6的优先级值=6(最低)。
第二、请求分类
当t=1446(秒)时刻,请求分类步骤的程序框图见图2所示,其具体操作如下:
①请求分类步骤读取主控初始化步骤传递来的参数,因参数不是“结束”,是“时钟t=1446(秒)”,那么根据实时调度步骤的②至⑥操作,分类TCP监听队列中8个客户请求的操作如下,其分类结果见表3所示。
②缓存队列是空,转④操作。
④TCP监听队列未空,则读取TCP监听队列中客户请求(1446):R11、R12、R13、R21、R22、R31、R41、R51,按其源IP地址查询客户类别库,根据其服务类别确定其所属服务队列1、服务队列2、服务队列3、服务队列4、服务队列5,转⑤操作。
⑤客户请求(1446):R11、R12、R13、R21、R22、R31、R41、R51所属服务队列1 、服务队列2、服务队列3、服务队列4、服务队列5未满,则客户请求(1446):R11、R12、R13、R21、R22、R31、R41、R51进入服务队列1、服务队列2、服务队列3 、服务队列4、服务队列5中,分别是:R11、R12、R13进入服务队列1,R21、R22进入服务队列2,R31进入服务队列3、R41进入服务队列4、R51进入服务队列5,从TCP监听队列中删除该客户请求(1446):R11、R12、R13、R21、R22、R31、R41、R51,转①操作。
表3:t=1446(秒)8个客户请求到对应服务队列情况
进入各个服务队列中客户请求 | 服务类别 | 服务队列序号 | 客户端源IP地址 |
R11、R12、R13 | A | 1 | 191.210.02.255 |
R21、R22 | B | 3 | 1.10.09.218 |
R31 | C | 2 | 128.04.10.0 |
R41 | D | 4 | 192.0.10.01 |
R51 | E | 5 | 223.05.20.255 |
F | 6 | 126.09.10.01 |
同时,在t=1446(秒)时刻,本发明方法实施例的各个参数值变化情况如表4所示。
表4:t=1446(秒)各个参数值变化情况
第三、实时调度
在t=1447(秒)时刻,实时调度步骤的程序框图见图3所示,其具体操作如下:
①实时调度步骤读取主控初始化步骤传递来的参数,因参数不是“结束”,是时钟t=1447(秒),那么根据实时调度步骤的②至⑥操作,调度服务队列中8个客户请求操作如下:
②服务队列1至服务队列5都不是空,则转③操作。
③在6个服务队列中,选取服务队列2,读取其客户请求(1447):R31,转④操作。
④客户请求(1447):R31超时,则执行a、b、c、d、e操作。
a.“1”出队历史日志队列2(1446),“0”入队历史日志队列2(1446),以队列长度100为模运算调整历史日志队列2(1446)队头指针与队尾指针,历史日志队列2(1446)变成为历史日志队列2(1447)。
b.历史日志值2(1447)=∑(1≤p≤100)[历史日志队列2(1447)]p=88-1+0=87。
c.绝对质量值2(1447)=绝对质量值2(1446)-历史日志值2(1446)+历史日志值2(1447)=88-88+87=87。
e.转⑤操作。
⑤相对质量值2(1447)=22.03%<相对质量标准值2=22.50%,则从除服务队列2之外的5个服务队列中,选取一个优先级最低且响应方式值是“1”的非空服务队列3,置其响应方式值3(1447)=0.5,转⑥操作。
⑥按优先级计算公式,计算更新6个服务队列优先级的值(见表5所示),转①操作。
表5:t=1447(秒)各个参数更新情况
①在t=1448(秒)时刻,根据上述实时调度步骤的具体操作:首先实时调度步骤读取主控初始化步骤传递来的参数。因参数不是“结束”,是时钟t=1448(秒),那么根据实时调度步骤的②至⑥操作,调度服务队列中7个客户请求操作如下:
②服务队列1、服务队列3、服务队列4、服务队列5都不是空,则转③操作。
③在5个服务队列中,选取服务队列5,读取其客户请求5(1448):R51,转④操作。
④客户请求5(1448):R51没有超时,则执行f、g、h、i、j操作。
f.把客户请求5(1448):R51传递给页面定位步骤。
g.“0.5”出队历史日志队列5(1447),“1”入队历史日志队列5(1447),以队列长度100为模运算调整历史日志队列5(1447)队头指针与队尾指针,历史日志队列5(1447)变成为历史日志队列5(1448)。
h.历史日志值5(1448)=∑(1≤p≤100)[历史日志队列5(1448)]p=43-0.5+1=43.5。
i.绝对质量值5(1448)=绝对质量值5(1447)-历史日志值5(1447)+历史日志值5(1448)=43-43+43.5=43.5。
⑤相对质量值5(1448)=11.00%<相对质量标准值5=11.25%,则从除服务队列2之外的5个服务队列中,选取一个优先级最低且响应方式值是“1”的非空服务队列1,置其响应方式值1(1448)=0.5,转⑥操作。
⑥按优先级计算公式,计算更新6个服务队列优先级的值(见表6所示),转①操作。
表6:t=1448(秒)各个参数更新情况
第四、页面定位
在t=1448(秒)时刻,页面定位步骤的程序框图见图4所示,其具体操作如下:
①在t=1448(秒)时刻,根据上述页面定位步骤的具体操作:首先页面定位步骤读取主控初始化步骤传递来的参数,参数不是“结束”,是时钟t=1448(秒);然后根据页面定位步骤的②至⑤操作,响应实时调度步骤传递过来的客户请求5(1448):R51操作如下:
②接收从实时调度步骤传递的客户请求5(1448):R51,解析客户请求5 (1448):R51的统一资源定位符,以客户请求5(1448):R51的统一资源定位符为关键字,在Web服务器系统中页面数据库查找对应页面。
③查找到对应页面,则转④操作。
④客户请求5(1448):R51所属服务队列5的响应方式值5(1448)=0.5,则用低质量页面响应客户请求5(1448):R51,转①操作。
下面是综合本发明方法的主控初始化、请求分类、实时调度与页面定位四个步骤的四个实施例,其目的是对比请求先来先服务方法与本发明方法的请求响应率、本发明方法服务类别A、B、E的请求响应率、本发明方法服务类别C、D、F的请求响应率,这些实施例的具体说明如下:
请求先来先服务方法与本发明方法的请求响应对比实施例
为了分析请求先来先服务方法与本发明方法的性能差异,下面介绍请求先来先服务方法与本发明方法的客户请求响应对比实施例,实施例时钟单位是秒。实施例在1800(秒)时间内,按客户请求步长=600(请求数量/秒)不断增加客户请求到达数量,其中客户请求到达范围从2900(请求数量/秒)至9900(请求数量/秒)。客户请求到达量为2900(请求数量/秒)代表正常情况下Web服务器系统的客户请求访问量,客户请求到达量为9500(请求数量/秒)代表高峰期间Web服务器系统的客户请求访问量。客户请求响应率是指某时刻客户请求响应成功的比例,显然客户请求响应率越高,客户请求响应质量就越好。
图5是请求先来先服务方法与本发明方法的客户请求响应对比实施例,其纵坐标为客户请求响应率,单位为%,横坐标为客户请求数量,单位为请求数量/秒。在图5中,■曲线为本发明方法的实施例曲线,▲曲线为请求先来先服务方法的实施例曲线。从图5中数据可以知道,在客户请求数量≤2900(请求数量/秒)较低客户请求访问量时,请求先来先服务方法与本发明方法都有较低的客户请求丢失率。例如,当客户请求数量=2900(请求数量/秒)时,请求先来先服务方法与本发明方法的客户请求响应率=99%。随着客户请求数量不断增加,客户请求响应率不断下降,当客户请求数量=5900(请求数量/秒)时,请求先来先服务方法的客户请求响应率=76%,本发明方法的客户请求响应率=87%,明显地,请求先来先服务方法的客户请求响应率低于本发明方法的客户请求响应率,本发明方法的客户请求响应率-请求先来先服务方法的客户请求响应率=87-76%= 11%。随着客户请求数量进一步的增加,请求先来先服务方法的客户请求响应率与本发明方法的客户请求响应率差值进一步增大,当客户请求数量=9500(请求数量/秒)时,本发明方法的客户请求响应率=68%,请求先来先服务方法的客户请求响应率=50%,本发明方法的客户请求响应率-请求先来先服务方法的客户请求响应率=68%-50%=18%,此时的本发明方法的客户请求响应率与请求先来先服务方法的客户请求响应率差值18%,明显大于当客户请求数量=5900(请求数量/秒)时,本发明方法的客户请求响应率与请求先来先服务方法的客户请求响应率差值11%。因此,本发明方法的客户请求响应率高于请求先来先服务方法的客户请求响应率。
本发明方法服务类别A、B、E的请求响应对比实施例
为了分析本发明方法的性能,下面介绍本发明方法的客户请求属于服务类别A、B、E的响应对比实施例,实施例时钟单位是秒。实施例在1800(秒)时间内,按客户请求步长=600(请求数量/秒)不断增加客户请求到达数量,其中客户请求到达范围从2900(请求数量/秒)至9900(请求数量/秒)。客户请求到达数量为2900(请求数量/秒)代表正常情况下Web服务器系统的客户请求访问量,客户请求到达数量为9500(请求数量/秒)代表高峰期间Web服务器系统的客户请求访问量。客户请求响应率是指某时刻客户请求响应成功的比例,显然客户请求响应率越高,客户请求响应质量就越好。
图6是本发明方法的客户请求属于服务类别A、B、E的响应对比实施例,其纵横坐标与图5相同。在图6中,◆曲线为服务类别A实施例曲线,■曲线为服务类别B实施例曲线,▲曲线为服务类别E实施例曲线。从上述表1可以知道,服务类别A的绝对质量标准=100%,即服务类别A的客户请求响应率是100%;服务类别B的绝对质量标准=80%,即服务类别B的客户请求响应率是80%;服务类别E的绝对质量标准=45%,即服务类别E的客户请求响应率是45%。从图6数据可以知道,属于服务类别A、B、E的平均客户请求响应率情况如下:
①服务类别A的平均客户请求响应率
=[(100%×12)/12]%≈100%
达到了服务类别A的绝对质量标准=100%。
②服务类别B的平均客户请求响应率
=[100%+99%×4+98%+86%+64%+68%+66%+79%+71%)/12]×100%≈85.7%
超过了服务类别B的绝对质量标准=80%。
③服务类别E的平均请求响应率
=[(100%+73%+71%×2+69%+77%+38%×6)/12]×100%≈57.4%
超过了服务类别E的绝对质量标准=45%。
因此,本发明方法使服务类别A、B、E的客户请求响应率达到了它们的绝对质量标准。
本发明方法服务类别C、D、F的请求响应对比实施例
为了分析本发明方法的性能,下面介绍本发明方法请求属于服务类别C、D、F的响应对比实施例,实施情况与上述服务类别A、B、C的响应对比实施例相同。
图7是本发明方法的客户请求属于服务类别C、D、F的响应对比实施例,其纵横坐标与图5相同。在图7中,◆曲线为服务类别C实施例曲线,■曲线为服务类别D实施例曲线,▲曲线为服务类别F实施例曲线。从上述表1可以知道,服务类别C的绝对质量标准=90%,即服务类别C的客户请求响应率是90%;服务类别D的绝对质量标准=62%,即服务类别D的客户请求响应率是62%;服务类别F的绝对质量标准=23%,即服务类别F的客户请求响应率是23%。从图7数据可以知道,属于服务类别C、D、F的平均客户请求响应率情况如下:
①服务类别C的平均请求响应率
=[(100%×6+98%×3+96%+99%+95%)/12]×100%≈98.7%
超过了服务类别C的绝对质量标准=90%。
②服务类别D的平均请求响应率
=[(100%+87%×2+82%+86%+85%+46%×2+52%+48%+44%+45%)/12]×100%
≈67.3%
超过了服务类别D的绝对质量标准=62%。
③服务类别F的平均请求响应率
=[(96%+36%×2+38%+32%+35%+25%×2+23%×3+24%)/12]×100%≈34.7%
超过了服务类别F的绝对质量标准=23%。
因此,本发明方法使服务类别C、D、F的客户请求响应率达到并超过了它们的绝对质量标准。
从上述图5至图7的实施例知道,请求先来先服务方法的客户请求响应率比本发明方法的客户请求响应率低。因此,本发明方法在实现了客户请求“非一视同仁”的区分服务同时,比请求先来先服务方法提高了客户请求的响应率与服务质量,特别是那些优先级高的客户请求的响应率与服务质量。同时,本发明方法通过区分服务平衡了Web服务器系统网络端口的客户请求负荷,实现了合理分配Web服务器系统网络端口的带宽。
二、根据上述本发明方法设计的保证服务质量的Web服务器系统请求区分服务中间件实施例
本实施例是根据本发明方法与中间件技术,将本发明方法设计成为一种独立于操作系统的中间件。本中间件的总体结构示意图8所示,包括主控初始化模块、请求分类模块、实时调度模块和页面定位模块四个部分,它们的具体内容分别介绍如下:
第一部分:主控初始化模块是整个中间件的主控模块,它包括运行时钟单元、参数初始化单元、模块调用单元及模块结束单元。运行时钟单元含有时钟设置程序和时钟传递程序,参数初始化单元含有手工设置客户类别库与绝对质量标准参数操作程序,以及缓存队列、服务队列、相对质量标准、服务队列序号、绝对质量、相对质量、历史日志、优先级、响应方式的参数的初始化程序,模块调用单元含有请求分类模块、实时调度模块、页面定位模块的模块调用程序,模块结束单元含有请求分类模块、实时调度模块、页面定位模块的结束运行程序。
本发明方法的中间件在开始运行时:第一步,运行时钟单元设置时钟初始值t=1(秒)。第二步,参数初始化单元向系统管理员提供手工设置客户类别库与绝对质量标准参数操作界面,通过这个界面系统管理员手工设置客户类别库与绝对质量标准初始值。当客户类别库与绝对质量标准初始值设置完成后,参数初始化单元按照缓存队列、服务队列、服务队列序号与历史日志的定义与公式,生成缓存队列、服务队列、服务队列序号、历史日志队列,以及计算相对质量标准、绝对质量、相对质量、优先级与响应方式的参数初始值。第三步,模块调用单元调用请求分类模块、实时调度模块、页面定位模块开始运行,运行时钟传递单元同时把时钟参数t传递给请求分类模块、实时调度模块与页面定位模块,并负责下一个时钟 t的更新与传递。当需要结束本中间件的运行时,模块结束单元通过传递“结束”参数给请求分类模块、实时调度模块、页面定位模块,结束它们的运行。
第二部分:请求分类模块包括请求分类单元、客户类别库、n个长度为“100”的服务队列和一个长度为100的缓存队列。请求分类单元与TCP监听队列连接。在开始运行时:第一步,请求分类单元从TCP监听队列读取客户请求。第二步,请求分类单元按客户请求源IP地址查询客户类别库,根据其服务类别分类它们到对应的服务队列中。
第三部分:实时调度模块包括读取请求单元、参数调整单元和请求传递单元。读取请求单元与请求分类模块的服务队列相接,含有队列优先级排序程序和客户请求读取程序;参数调整单元含有t时刻绝对质量、相对质量、优先级、响应方式的参数值的计算程序;请求传递单元与页面定位模块连接。
在开始运行时:第一步,请求读取单元读取一个优先级最高的非空服务队列中客户请求。第二步,参数调整单元根据客户请求是否超时及响应方式,调整该客户请求对应服务队列的历史日志值、绝对质量值、相对质量值,以及根据相对质量值是否满足相对质量标准,合理调整其他服务队列的响应方式值,以保证优先级最高的非空服务队列中客户请求的服务质量。第三步,请求传递单元把请求读取单元读取的客户请求传送给页面定位模块。
第四部分:页面定位模块包括请求接收单元与请求定位单元。
在开始运行时:第一步,请求接收单元接收实时调度模块传递过来的客户请求。第二步,请求定位单元在Web服务器系统的页面数据库中查找到对应质量页面,并根据此刻需要响应的客户请求所属服务队列的响应方式,读取对应质量页面响应该客户请求。
Claims (6)
1.一种保证服务质量的Web服务器系统请求区分服务方法,其特征在于:
包括主控初始化、请求分类、实时调度和页面定位四个步骤,它们都是安装在Web服务器系统中独立运行的进程,其主要实现过程是:首先把到达Web服务器系统客户请求,按其源IP地址查询客户类别库,根据其服务类别分类它们到对应服务队列中;其次读取优先级最高的服务队列中客户请求,按其响应方式选取对应质量页面进行响应处理;最后实时调整各个服务队列的历史日志、绝对质量、响应方式、相对质量与优先级参数;
所述主控初始化、请求分类、实时调度与页面定位四个步骤涉及到的库、队列、参数与公式如下:
I.客户类别库
客户类别库是一个二维表,包括:服务类别、服务队列序号、客户端源IP地址、绝对质量标准四个字段;服务类别表示Web服务器系统向客户请求提供的响应服务种类,服务队列序号表示服务队列的一个顺序编号,每个服务队列只有一个唯一的编号;客户端源IP地址表示发出客户请求的那个客户端IP地址,绝对质量标准表示Web服务器系统向客户请求提供的响应服务的质量高低,每种服务类别对应一种绝对质量标准,绝对质量标准与服务类别构成一一对应关系,其数量分别为n;客户类别库以服务类别作为关键字索引,其初始化值由系统管理员根据提供的服务类别手工设置;
II.缓存队列
缓存队列是一个先进先出循环队列,其队列长度是“100”,它用于保存请求分类步骤中因服务队列满而暂时无法进入服务队列的客户请求,当客户请求入队或出队时,缓存队列的队尾指针或队头指针按模“100”运算调整,其初始化值是不包含任何客户请求的一个空循环队列;
III.服务队列
服务队列是一个先进先出循环队列,其队列长度是“100”,它用于保存被请求分类步骤分类的客户请求,当客户请求入队或出队时,服务队列的队尾指针或队头指针按模“100”运算调整;服务队列的初始化值是不包含任何客户请求的n个空循环队列,n是服务队列的总数;
IV.绝对质量标准
每个服务队列都有一个绝对质量标准,它表示Web服务器系统响应处理一个服务队列中客户请求的质量标准,其取值是大于0小于等于100的一个正整数,最大值“100”代表Web服务器系统应该100%响应处理该服务队列中客户请求;绝对质量标准的初始化值由系统管理员根据Web服务器系统提供的服务类别手工设置;
V.相对质量标准
每个服务队列都有一个相对质量标准,它表示一个服务队列的绝对质量标准占所有服务队列的绝对质量标准总和的百分比,第i个服务队列相对质量标准值的计算公式如下:
VI.服务队列序号
每个服务队列有一个唯一的序号,其取值范围是大于等于1小于等于n,各个服务队列按其绝对质量标准从高至低进行排列,得到的各个服务队列顺序号就是对应服务队列序号;
VII.历史日志
每个服务队列都有一个历史日志队列,历史日志队列是一个先进先出循环队列,其队列长度是“100”,它用于保存服务队列中最近100个客户请求的响应方式值;每个服务队列的历史日志队列中响应方式值,随着客户请求不断得到响应处理而实时更新,历史日志队列中响应方式值的更新方法是:当一个客户请求得到响应处理时,历史日志队列队头第一位响应方式值出队,该客户请求所属服务队列的响应方式值入队历史日志队列,以队列长度100为模运算调整历史日志队列队头指针与队尾指针;初始化后历史日志队列各位都是“0”;历史日志值是从队尾至队头逐位累加各位响应方式值得到的总和,其初始化值是“0”;第t时刻第i个服务队列历史日志值的计算公式如下:
历史日志值i(t)=∑(1≤p≤100)[历史日志队列i(t)]p,其中:p是历史日志队列i(t)中指向各个响应方式值的指针;
VIII.绝对质量
每个服务队列都有一个绝对质量,它表示一个服务队列中客户请求得到Web服务器系统响应处理的自身质量,其初始化值是对应绝对质量标准值;第t时刻第i个服务队列绝对质量值的计算公式如下:
绝对质量值i(t)=绝对质量值i(t-1)-历史日志值i(t-1)+历史日志值i(t);
IX.相对质量
每个服务队列都有一个相对质量,它表示一个服务队列的绝对质量占所有服务队列的绝对质量总和的百分比,其初始化值是对应相对质量标准值;第t时刻第i个服务队列相对质量值的计算公式如下:
X.优先级
每个服务队列都有一个优先级,它表示一个服务队列得到Web服务器系统响应处理优先次序,处于同一个服务队列中客户请求具有相同的优先级;优先级取值是大于等于1小于等于2n的一个整数,优先级值越小表示对应服务队列中客户请求得到Web服务器系统响应处理越优先;每个服务队列优先级初始值是对应服务队列序号;第t时刻第i个服务队列优先级值的计算公式如下:
XI.响应方式
每个服务队列都有一个响应方式,它表示一个服务队列中客户请求用什么质量页面进行响应处理;响应方式有三种:客户请求精确响应,用高质量页面响应处理该客户请求;客户请求近似响应,用低质量页面响应处理该客户请求;客户请求出现超时,直接丢弃不响应处理该客户请求;为了实现服务队列的响应方式,本方法把Web服务器系统中页面设计成两种质量等级:高质量页面和低质量页面;未删除Flash或图片或音乐信息的页面是高质量页面,已删除Flash或图片或音乐信息的页面是低质量页面;响应方式初始值是“1”;响应方式取值有三种,第t时刻第i个服务队列响应方式值的计算公式如下:
上述绝对质量标准、相对质量标准与服务队列序号的参数值在请求分类、实时调度和页面定位步骤执行中不变,绝对质量、相对质量、历史日志、优先级、响应方式的参数值随请求分类、实时调度和页面定位步骤的执行更新。
2.根据权利要求1所述的保证服务质量的Web服务器系统请求区分服务方法,其特征在于:
所述的主控初始化步骤第t时刻操作如下:
①按本方法设置的初始化值和计算公式初始化绝对质量标准、相对质量标准、服务队列序号、绝对质量、相对质量、历史日志、优先级、响应方式值;
②主控初始化步骤调用请求分类、实时调度和页面定位步骤;
③传递时钟t参数给请求分类、实时调度和页面定位步骤;
④如果主控初始化步骤未结束,时钟t步长增加1,则转③操作;否则传递“结束”参数给请求分类、实时调度和页面定位步骤,结束。
3.根据权利要求1或2所述的保证服务质量的Web服务器系统请求区分服务方法,其特征在于:
所述请求分类步骤第t时刻操作如下:
①读取主控初始化步骤传递来的参数,如果参数是“结束”,则结束;否则转②操作;
②如果缓存队列未空,则读取缓存队列中客户请求(t),按其源IP地址查询客户类别库,根据其服务类别确定其所属服务队列x,转③操作;否则转④操作;
③如果客户请求(t)所属服务队列x未满,则客户请求(t)进入服务队列x中,从缓存队列中删除客户请求(t),转④操作;否则转④操作;
④如果TCP监听队列未空,则读取TCP监听队列中客户请求(t),按其源IP地址查询客户类别库,根据其服务类别确定其所属服务队列y,转⑤操作;否则转①操作;
⑤如果客户请求(t)所属服务队列y未满,则客户请求(t)进入服务队列y中,从TCP监听队列中删除客户请求(t),转①操作;否则转⑥操作;
⑥如果缓存队列未满,则客户请求(t)进入缓存队列中,从TCP监听队列中删除客户请求(t),转①操作;否则转①操作。
4.根据权利要求1或2所述的保证服务质量的Web服务器系统请求区分服务方法,其特征在于:
所述的实时调度步骤第t时刻操作如下:
①读取主控初始化步骤传递来的参数,如果参数是“结束”,则结束;否则转②操作;
②如果服务队列都是空,则转①操作;否则转③操作;
③在n个服务队列中,选取一个优先级最高的非空服务队列top,读取其客户请求top(t),转④操作;
④如果客户请求top(t)超时,则执行a、b、c、d、e操作;否则执行f、g、h、i、j操作;
a.队头第一位响应方式值top(t-1)出队历史日志队列top(t-1),“0”入队历史日志队列top(t-1),以队列长度100为模运算调整历史日志队列top(t-1)队头指针与队尾指针,历史日志队列top(t-1)变成为历史日志队列top(t);
b.历史日志值top(t)=∑(1≤p≤100)[历史日志队列top(t)]p,其中:p是历史日志队列top(t)中指向各个响应方式值的指针;
c.绝对质量值top(t)=绝对质量值top(t-1)-历史日志值top(t-1)+历史日志值top(t);
e.转⑤操作;
f.把客户请求top(t)传递给页面定位步骤;
g.队头第一位响应方式值top(t-1)出队历史日志队列top(t-1),响应方式值top(t)入队历史日志队列top(t-1),以队列长度100为模运算调整历史日志队列top(t-1)队头指针与队尾指针,历史日志队列top(t-1)变成为历史日志队列top(t);
h.历史日志值top(t)=∑(1≤p≤100)[历史日志队列top(t)]p,其中:p是历史日志队列top(t)中指向各个响应方式值的指针;
i.绝对质量值top(t)=绝对质量值top(t-1)-历史日志值top(t-1)+历史日志值top(t);
⑤如果相对质量值top(t)<相对质量标准值top,则从除服务队列top之外的n-1个服务队列中,选取一个优先级最低且响应方式值是“1”的非空服务队列low,置其响应方式值low(t)=0.5,转⑥操作;否则从n个服务队列中,选取一个相对质量值pick(t)大于等于相对质量标准值pick且优先级最高且响应方式值是“0.5”的非空服务队列pick,置其响应方式值pick(t)=1;
⑥按优先级计算公式,计算更新n个服务队列优先级的值,转①操作。
5.根据权利要求1或2所述的保证服务质量的Web服务器系统请求区分服务方法,其特征在于:
所述的页面定位步骤第t时刻操作如下:
①读取主控初始化步骤传递来的参数,如果参数是“结束”,则结束;否则转②操作;
②接收从实时调度步骤传递的客户请求top(t),解析客户请求top(t)的统一资源定位符,以客户请求top(t)的统一资源定位符为关键字,在Web服务器系统中页面数据库查找对应页面;
③如果查找到对应页面,则转④操作;否则以“页面不存在”响应客户请求top(t),转①操作;
④如果客户请求top(t)所属服务队列top的响应方式值top(t)=1,则用高质量页面响应客户请求top(t),转①操作;否则转⑤操作;
⑤如果客户请求top(t)所属服务队列top的响应方式值top(t)=0.5,则用低质量页面响应客户请求top(t),转①操作;否则拒绝响应处理,转①操作。
6.根据权利要求1或2所述的保证服务质量的Web服务器系统请求区分服务方法的中间件,其特征在于:
本中间件包括主控初始化模块、请求分类模块、实时调度模块与页面定位模块四个部分,它们的具体内容如下:
第一部分:主控初始化模块是整个中间件的主控模块,它包括运行时钟单元、参数初始化单元、模块调用单元及模块结束单元;运行时钟单元含有时钟设置程序和时钟传递程序,参数初始化单元含有手工设置客户类别库与绝对质量标准参数操作程序,以及缓存队列、服务队列、相对质量标准、服务队列序号、绝对质量、相对质量、历史日志、优先级与响应方式的参数的初始化程序,模块调用单元含有请求分类模块、实时调度模块、页面定位模块的模块调用程序,模块结束单元含有请求分类模块、实时调度模块、页面定位模块的结束运行程序;
本中间件在开始运行时,首先运行时钟单元设置的时钟初始值t=1(秒);其次参数初始化单元初始化客户类别库、缓存队列、服务队列、绝对质量标准、相对质量标准、服务队列序号、绝对质量、相对质量、历史日志、优先级、响应方式的参数值;然后模块调用单元调用请求分类模块、实时调度模块、页面定位模块开始运行,运行时钟单元同时把时钟t传递给请求分类模块、实时调度模块与页面定位模块,并负责下一个时钟t的更新与传递;当需要结束本中间件的运行时,模块结束单元通过传递“结束”参数给请求分类模块、实时调度模块、页面定位模块,结束它们的运行;
第二部分:请求分类模块包括请求分类单元、客户类别库、n个长度为“100”的服务队列和一个长度为100的缓存队列;请求分类单元与TCP监听队列连接,从TCP监听队列读取客户请求,并按客户请求源IP地址查询客户类别库,根据其服务类别分类它们到对应的服务队列中;
第三部分:实时调度模块包括读取请求单元、参数调整单元和请求传递单元;读取请求单元与请求分类模块的服务队列相接,含有服务队列优先级排序程序与客户请求读取程序;参数调整单元含有t时刻绝对质量、相对质量、优先级与响应方式的参数值的计算程序;请求传递单元与页面定位模块连接;在开始运行时,首先请求读取单元读取一个优先级最高的非空服务队列中客户请求;其次参数调整单元根据客户请求是否超时及响应方式,调整该客户请求对应服务队列的历史日志值、绝对质量值、相对质量值,以及根据相对质量值是否满足相对质量标准,合理调整其他服务队列的响应方式值,以保证优先级最高的非空服务队列中客户请求的服务质量;最后请求传递单元把请求读取单元读取的客户请求传送给页面定位模块;
第四部分:页面定位模块包括请求接收单元与请求定位单元;在开始运行时,首先请求接收单元接收实时调度模块传递过来客户请求;其次请求定位单元在Web服务器系统的页面数据库中查找到对应质量页面,并根据此刻需要响应的客户请求所属服务队列的响应方式,读取对应质量页面响应该客户请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810073506XA CN101252451B (zh) | 2008-03-22 | 2008-03-22 | 保证服务质量的Web服务器系统请求区分服务方法与中间件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810073506XA CN101252451B (zh) | 2008-03-22 | 2008-03-22 | 保证服务质量的Web服务器系统请求区分服务方法与中间件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101252451A CN101252451A (zh) | 2008-08-27 |
CN101252451B true CN101252451B (zh) | 2011-04-20 |
Family
ID=39955648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810073506XA Expired - Fee Related CN101252451B (zh) | 2008-03-22 | 2008-03-22 | 保证服务质量的Web服务器系统请求区分服务方法与中间件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101252451B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013163223A1 (en) * | 2012-04-23 | 2013-10-31 | Marvell World Trade Ltd. | ADJUSTING THREAD PRIORITY TO IMPROVE THROUGHPUT BETWEEN Peer-to-peer (P2P) DEVICES |
CN102739281B (zh) | 2012-06-30 | 2015-04-15 | 华为技术有限公司 | 一种调度的实现方法、装置及系统 |
CN103036806B (zh) * | 2012-10-30 | 2016-12-21 | 武汉大学 | 一种基于动态索引的按需数据广播调度方法 |
CN103428272B (zh) * | 2013-07-16 | 2016-06-15 | 无限极(中国)有限公司 | 一种中间件线程的监控调度系统及方法 |
CN105868554B (zh) * | 2016-03-28 | 2018-03-27 | 朱洲森 | 一种基于大数据复杂运算的接力计算方法 |
CN107918613B (zh) * | 2016-10-08 | 2022-01-21 | 上海宝存信息科技有限公司 | 因应服务质量的固态硬盘访问方法以及使用该方法的装置 |
CN112700067B (zh) * | 2021-01-14 | 2024-05-24 | 安徽师范大学 | 不可靠移动边缘环境下服务质量的预测方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1516396A (zh) * | 2003-01-07 | 2004-07-28 | ��Ϊ��������˾ | 基于同步数字传送网的数据传送方法 |
CN1536820A (zh) * | 2003-04-09 | 2004-10-13 | 华为技术有限公司 | 提高网络拥塞时数据传输性能的方法 |
-
2008
- 2008-03-22 CN CN200810073506XA patent/CN101252451B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1516396A (zh) * | 2003-01-07 | 2004-07-28 | ��Ϊ��������˾ | 基于同步数字传送网的数据传送方法 |
CN1536820A (zh) * | 2003-04-09 | 2004-10-13 | 华为技术有限公司 | 提高网络拥塞时数据传输性能的方法 |
Non-Patent Citations (3)
Title |
---|
周娅,黄桂敏."通过内容自适应改善Web服务器服务质量".计算机工程与设计27 2.2006,27(2),第255-258,267页. |
周娅,黄桂敏."通过内容自适应改善Web服务器服务质量".计算机工程与设计27 2.2006,27(2),第255-258,267页. * |
黄桂敏,杨明福."基于区分服务的Web服务器服务质量机制".计算机工程与应用.2005,第146页左栏第4段至第149页左栏最后1段及图1和3. |
Also Published As
Publication number | Publication date |
---|---|
CN101252451A (zh) | 2008-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101252451B (zh) | 保证服务质量的Web服务器系统请求区分服务方法与中间件 | |
CN107563572B (zh) | 一种订单分配方法、装置、计算机设备和存储介质 | |
Cho | Tourism forecasting and its relationship with leading economic indicators | |
CN102197395B (zh) | 存储器端存储请求管理 | |
CN104794003B (zh) | 一种整合实时和非实时模式的大数据分析系统 | |
AU657877B1 (en) | Availability processor and method | |
CN105139505B (zh) | 一种银行业务办理的非定时预约远程排队方法及系统 | |
CN110264039A (zh) | 一种工作报表的生成方法及设备 | |
CN101216783A (zh) | 一种针对多事务进行优化排序处理的方法 | |
CN105243169B (zh) | 一种数据查询方法及系统 | |
CN103064744B (zh) | 一种基于SLA的面向多层Web应用的资源优化方法 | |
CN104462432A (zh) | 自适应的分布式计算方法 | |
CN107885743A (zh) | 一种基于缓存的航班余位查询方法 | |
CN111752678A (zh) | 面向边缘计算中分布式协同学习的低功耗容器放置方法 | |
CN108762687A (zh) | Io服务质量控制方法、装置、设备及存储介质 | |
CN109726237A (zh) | 一种针对多路实时流数据的关联补全方法 | |
CN115842822A (zh) | 一种低碳自适应云主机资源配置系统 | |
CN104899725A (zh) | 一种决策支持与事件反馈的智能工作流系统及其流转方法 | |
Shen et al. | Vehicle scheduling based on variable trip times with expected on‐time performance | |
CN117371883A (zh) | 一种基于大数据的跨境电商物流订单管理方法 | |
US20120290495A1 (en) | System and method for establishing transshipment of a product between stocking locations | |
CN110276691A (zh) | 一种基于大数据平台的数据处理方法及装置 | |
CN103023986A (zh) | 一种对多用户提供rdbms服务的系统和方法 | |
CN105872109A (zh) | 云平台负载运行方法 | |
US7461019B2 (en) | System and method for integration of material costs of a product |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170728 Address after: 510000, Guangdong, Guangzhou Baiyun District, Guang Yuen Road, Jingtai straight street, East Lane 2, No. 4, building two Patentee after: Guangzhou yaxinda English Network Technology Co. Ltd. Address before: Guilin City, the Guangxi Zhuang Autonomous Region Jinji road 541004 No. 1 Patentee before: Guilin University of Electronic Technology |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110420 Termination date: 20200322 |