wap底层技术资料(四)

来源:互联网 发布:网络电影数据 编辑:程序博客网 时间:2024/06/05 05:59

2.4.4.2   其他参数分析

    业务模型建立的原则之一是模型尽可能简单,所以需要剔除一些冗余的参数,但是某些参数对于分析用户行为、网关性能等都具有一定的实际意义,因此,我们也对其做出了分析,这些参数列表如下:
表2.10 其他的待分析参数列表
参数
终端的主对象请求间隔
终端的内置对象请求间隔
服务器返回网关的主对象大小
服务器返回网关的内置对象大小
网关返回对象间隔(包括主对象与内置对象)
多用户对于整个系统各部分的流量影响
重定向报文比例
 
 
 
 
 
参数解释:
1. 终端的主对象请求间隔:即终端向网关发出的相邻两次主对象请求的时间间隔。每次主对象请求对
应用户浏览新的网页,所以主对象请求是由用户发起的。统计数据根据网关连续收到两次主对象请求的时间
间隔。
2. 终端的内置对象请求间隔:终端向网关发出的相邻两次内置对象请求的时间间隔。终端收到网关返
回的主对象后,对主对象解析并根据其中包含的内置对象的URL地址向网关发送内置对象请求。因此,内置
对象的请求是由终端而非用户发起的。统计数据根据网关连续收到两次内置对象请求的时间间隔。
3.  服务器返回网关的主对象大小:终端由用户发起的请求都是作为主对象请求看待的,从已有数据来看,
主对象的数据量以占了数据传输量的很大一部分,一般主对象都分为3或4个包,这一般由主对象大小
确定。并且这些数据都可以从网关截取的数据得到其分布参数。
4. 服务器返回网关的内置对象大小:和主对象一起,二者构成了WAP业务中数据流量的绝大多部分。
在现有的WAP业务中,内置对象一般都是网页内包含的一些图片。终端就是根据主对象脚本中的包含URL发起对内置对象的连接的。但前面讨论过,终端对内置对象发起连接的个数并不完全由脚本中内置对象的个数
决定,而受到多方面的影响,比如终端的Cache,用户的设置等等。从发起内置对象的作用效果来说,我们也不需要关心一个主对象中包含了具体多少内置对象,而只需要知道终端在收到一个主对象后一般会发起多少次内置对象请求。所以在服务器这端我们并不去讨论主对象中包括的内置对象的数目,而只是对内置对象的大小分布感兴趣。一个内置对象都能用一个包传输完毕,并且其大小比较稳定。另外,统计服务器返回的对象大小与网关返回的对象大小也可以计算网关对数据的压缩比例。
5.  网关返回终端的对象间隔:网关向终端发送Reply的时间间隔,包括主对象和内置对象的Reply。这是从网关端考虑发送数据时需要的参数,可以与网关响应时间一起用于衡量网关的处理性能。该参数包括当
前对象的网关响应时间和上一次对象的终端处理时间。
6. 重定向报文比例:WAP网关会收到服务器发来的一类URL重定向报文,网关对这类报文的处理流程
如图2.27,
图2.27 重定向时序图
从上图可见,在这种情况下,WAP网关需要向多个服务器请求数据。这就使得WAP网关的工作量增大,从部分数据中分析得到重定向在连接请求中的比例在11%左右,这就要求我们必须将这类URL重定向的情况单独考虑。至于重定向包数在实际通信中的准确比例需要进一步采集数据分析确认。
7.  多用户时的数据请求和流量模型:指随着用户数的变化,由于用户请求而产生的数据包传送能够产生多大的流量,用以确定系统各个段(包括无线段和有线断)的数据流量随着用户数的变化规则。同时我们还需要统计当不同的用户数在线时用户端发起请求数的规律,这点很重要,因为发起的请求数是包含由于差错而引起的重传的。这对衡量不同用户数时对网关的承受负载性能也很关键。
8. 关于如何处理差错和丢包的问题,从已采集的数据报文可见,因为出错或超时都会引起终端请求的重发,从这个角度而言,我们可以将出错和重发视为一次新的请求连接,不过这个请求连接是随着网络状态的变化而发起的,这样我们只需要根据网路状态动态确定用户端模型就能发应出由于丢包或超时而引起的重发。比如说,当用户数少而网路状态好时,出错概率就会小,这时用户端发起对象请求肯定会和用户数多而网络状态差时会不一样,而这种差异我们是可以通过截取不同的闲忙时数据包加以分析出来的。从网关这部分来看,这种差错率也指体现在网关收到的请求分布的不一样,而网关是无须辨认收到的某个请求是否因为出错而引起的重发的。因此对于差错和丢包等异常情况,我们将其视为数据包请求和传送的一部分,不对其进行专门的考虑。

3 模型验证方法

   模型参数的验证方法主要使用卡方拟合度检验( Chi-square Goodness-of-fit Test )结合最大似然
估计( Maximum Likelihood Estimation ),并且使用QQ图(Quantile-Quantile Plot)证明验证结果。
具体的说,就是先假定采集的样本数据符合某一分布,通过最大似然估计方法估计出该分布的参数,然后
代入并用卡方检验计算相对于该分布的偏差。实践中我们对于一组样本数据,计算所有常见分布的偏差值,
选取偏差最小的分布做为该样本的拟合结果。另外,从QQ图直观上看,该分布做为拟合结果描绘出的曲线
必须近似为接近参考线的直线(见3.3),否则我们就将数据拆分为多个部分进行分段的拟合(如对终端请
求包大小的拟合)。

3.1 卡方拟合度检验

卡方检验是一种大样本假设检验法,用于检验随机事件中提出的样本数据是否符合某一给定分布。
它需要较
大量的样本数据及已知的待检验概率分布函数。

3.1.1 卡方检验原理

对于一个服从二项分布的随机变量Y服从Binomial( n, p) ,均值为,方差
由中心极限定理,符合标准正态分布N (0, 1),所以服从自由度为1的卡方分布
服从Binomial( n, p1 ),  , , 则有              
所以   
同理对于k个随机变量,均值分别为,               
在数据拟合时,先对数据分组,每组数据的实际个数即为随机变量
,则数据拟合即为判断是否符合分布,
该卡方分布的自由度为k-1-nep(k为随机变量个数,nep为估计参数的个数)。

3.1.2  卡方检验步骤:

假定样本服从某一给定分布。

根据样本数据用最大似然法估计分布的密度函数参数。
设定置信度,对n个样本数据排序。
把排序后的数据分成k组,确定每组的上下限,(上下限确定方法不同对验证能力有影响,
每组数据不少于5个),为了方便起见,本项目中采用平均划分分组间隔,即使为常数,
对于所有的成立。
计算每组数据实际个数,第i组实际个数为
计算每组数据期望个数,第i组期望个数为:                                
连续:,其中F(x)为待验证的概率分布函数,          
离散:
计算
理论上说如果,则数据符合分布函数为F(x)的分布,
其中,nep为估计的参数的个数。但是由于实际采集的数据并非完全地符合某一分布,
总存在一定的偏差,计算出的值并不满足这个条件,
所以我们使用的拟合标准为采用卡方估计值最小的分布作为验证结果。

3.2 最大似然估计

最大似然估计是目前应用最为广泛的一种估计方法,作为点估计的一种,它的性能良好,原理比较简单。

3.2.1 最大似然估计原理

为取自概率函数的母体的一个子样,子样
的联合概率函数在取已知观测值时的值是的函数,
即    ,
我们用表示,称作这个子样的似然函数。
于是只要寻找使,这样的即为的最大似然估计值。
由于是L的单调函数,所以只需要求使(似然方程)的即可,
但并不是所有的似然方程都有实数解,所以有时也会使用一些其他的方法求
如根据数据曲线或者根据实际情况估计参数。

3.2.2 最大似然估计步骤

一般说来,对于各个分布函数参数的最大似然估计步骤相同,即求解似然方程。但是由于微分运算难以使用VC实现,所以我们先计算出来似然方程,然后在VC中对其求解。

3.2.2.1 似然方程的求解方法

3.2.2.1.1 显式求解
有一些分布函数的似然方程比较简单,可以求得显式解,如正态分布,指数分布等,对于这些方程先求出其显式解的公式,写入程序计算出参数估计值。(见参数估计附录)
3.2.2.1.2      迭代法求解
     Gamma, Weibull, Cauchy分布的似然方程很复杂,用简单的数学运算无法求解,
因此我们先求出其似然方程组,然后使用迭代法对方程求解(似然方程见参数估计附录)。
    在Weibull和Cauchy分布的参数估计中,求方程解使用梯度法。
    在Gamma分布的参数估计中,由于方程形式对未知数要求较高,如出现ln( x )不允许x<0,
因此采用对分法。
    另外,Gamma分布似然方程非常复杂,难以使用迭代法求解,所以采用了矩估计的方法。

3.3  Quantile-Quantile Plot方法

Quantile即分位数,定义为,其中为某一概率值。Quantile-Quantile Plot简称为QQ图,是一种确定两组数据是否符合同一分布的图形工具。
     在我们的使用中,先产生一个标准的分布序列,然后与待检验数据一起画出QQ图,曲线的每一点对应一个特定的值,横坐标为标准分布序列的分位数点,纵坐标是待检验数据的分位数点。如果待检验数据符合产生分布的概率函数,则画出的QQ图为:
图3.1 数据符合待验证分布的QQ图
其中的与横轴夹角45º的直线为参考线,由上图可见,画出的曲线近似为一条直线,与参考线十分接近。

4 验证结论

4.1 数据采集

数据在联通公司上海WAP网关上采集,采集时间从2004年3月到2004年4月共一个月,由于是在商用网络上采集数据,为了使数据的采集不至于给WAP网关带来额外的负担,采集时间一般是在凌晨0点至次日早上8点之间。其中的在线用户时间在联通AAA认证服务器上采集,采集时间为2004年3月到2004年5月共两个月。经过处理,确定模型中提取的每一个对象的具体分布,并分析某些特殊情况出现的原因。
    在实际的数据分析过程中,我们针对体现不同对象的网络传输报文进行分析的。这些报文都包括了各自协议的头部,比如终端到WAP网关的报文使用WSP和WTP协议,其报文组成即为:
                                  IP包头+WTP包头+WSP包头
WAP网关和CP服务器之间数据传输报文使用TCP和HTTP协议,其报文组成为:
                                 IP包头+TCP包头+HTTP包头

4.2 项目模型参数

4.2.1 终端请求包大小

  终端请求包在WAP1.2业务中的主要为包含用户端请求URL的数据报文。3GPP2业务模型将该对象作为固定大小对待。但我们在实际采集的数据中发现,由于存在着不同的CP内容提供商,以及网站开发人员的开发习惯各异,使得不同的CP其URL链接呈现出不同的长度,请求包报文大小从最短的几十个bytes到上千bytes不等。同时由于不同业务(比如游戏,图片下载,新闻浏览等)的用户数不同,造成请求URL在不同长度范围内聚集。实际采集的数据其URL分布图如下(其中横轴表示包大小,纵轴表示不同大小上的包的个数):
                                  图4.1  用户端请求包大小分布图
图4.1中基本参数如表4.1:
                              表4.1终端请求的基本参数
请求包个数
最小值
(byte)
最大值
(byte)
62~211
212~400
400~940
样本均值
样本方差
个数
比例
个数
比例
个数
比例
140176
62
506
108027
77.1%
31638
22.5%
564
0.4%
155
5225
从图4.1和表4.1显示的图形和数据来看,大于353bytes的请求包个数仅占全部请求包数的1.5%;而小于211bytes的请求包个数为总数的77.1%,占绝大多数。由于请求包在两个不同的区间内聚集,因此在数据处理中我们将这两部分区别对待,分别进行拟合。其数据分布图如下:
            图4.2  大小为62~211bytes长的请求包大小分布
                         图4.3大小为210~867bytes长的请求包大小分布

4.2.1.1   数据拟合结果

原数据按照以上分析分成两段分别进行参数拟合,结果如下:
第一段,包大小从62bytes到211bytes,原始数据为图4.2
拟合结果为函数,为对数正态分布
           
公式 4.1
                              表4.2  公式4.1 参数表
参数名
拟合参数值
62
3.99
0.50
对应图4.2的拟合曲线为:
                          图4.4  62~211 段原始数据的拟合曲线
 
                               表4.3  62~211 段拟合结果
分布名
卡方估计值
卡方理论值(α=0.05)
数据数
最大值
最小值
均值
方差
QQ
拟合图形
对数正态分布
33667
93.95
108934
211
62
120.05
793.23
图4.5
图4.4
 
进行QQ检验后的图形如下:
                       图4.5 对应图4.4 的QQ图
第二段,包大小从211tytes到940bytes,原始数据为图4.3
拟合结果为为正态分布
                         公式4.2
                         
表4.4  公式4.2 参数表
参数名
拟合参数值
246.70
62.02
 
拟合曲线如图4.6所示:
 
                       图4.6  211bytes到940bytes段拟合曲线
 
卡方检验后的结论如下表:
                               表4.5  211~940 段拟合结果
分布名
卡方估计值
卡方理论值(α=0.05)
数据数
最大值
最小值
均值
方差
QQ
拟合图形
正态分布
33667
93.95
108934
940
211
120.05
793.23
4.7
图4.6
对应图4.6在210bytes到940bytes整个区间内进行检验后的QQ 图为图4.7
 
                     图4.7  请求包大小为210~900范围内的QQ检验图
由图4.7可以看出,在211~400bytes范围内,实际数据符合正态分布;当报文长度大于400bytes时,
实际出现的报文分布与生成的数据的QQ曲线比较图
                 图4.8 对应图4.6在211~400范围内的取值
综上,WAP业务终端数据请求报文长度分布如下:
                         公式 4.3
由表4.1可得:
         公式 4.4
    即:      公式 4.5
     公式4.6
 

4.2.1.2  结果分析

●由原始数据图4.1可以看出,在实际的WAP业务中,用户端的请求包大小在62bytes~940bytes的范围内变化。但主要请求报文长度都小于400bytes。由于请求包的长度分别在120bytes和250bytes附近形成了两个峰,为使模型准确,我们在进行数据处理时将这两部分分别进行数据拟合,分别符合对数正态分布和正态分布。
●观察第一段原始数据图4.2,可以明显看到在132~134之间有一个冲激。经过对采集的数据包分析,确定此冲激是WAP业务中的一些热门CP业务,比如游戏、新闻浏览等恰好拥有长度近似的URL引起的。
●对于请求包长度在210bytes到940bytes第二段的拟合结果,由于实际应用中的WAP业务请求包大小绝大多数小于400bytes,小于400bytes的请求包数量占到总请求包数量的99.6%以上,因此虽然第二段拟合中数据包长大于400bytes时并不符合正态分布,但由于该部分出现的可能性很小(仅0.4%),我们仍然认为该拟合结果正确。

4.2.2  网关响应时间

网关响应时间指WAP网关从收到终端发来的请求报文到将服务器送回的对应的响应报文返回给终端的时间。具体定义见2.5节。
由于该部分数据反应了整个WAP业务中WAP网关和Internet有线网上CP服务器的响应速度,因此该部分响应时间对WAP业务的响应时延有重要影响。
响应时间的原始数据图如下:(该图横轴表示响应时间,纵轴表示对应时间长度的数据出现个数。)
图4.9  网关响应时间数据原图

4.2.2.1                     数据拟合结果

经过对原始数据进行处理,符合对数正态分布,公式为:
           公式4.7
拟合结果参数为:
                             表4.6  公式4.7 参数表
参数名
拟合参数值
0
-0.57
1.38
 
拟合曲线与原始数据比较图为:
图4.10 网关响应时间拟合曲线
 
表4.7 网关响应时间拟合结果表
分布名
卡方估计值
卡方理论值(α=0.01)
数据数
最大值
最小值
均值
方差
QQ
拟合图形
对数正态分布
4169
93.95
34505
7.02
0.00023
0.52
0.80
图4.11
图4.10
 
由于网关响应时延的数值绝大多数都集中在1s内,因此我们重点观察拟合曲线在1s内与原始数据的符合度,其QQ图如下:
                                            图4.11 网关响应时间拟合结果QQ图
综上得WAP业务网关响应时延的数学分布表达式为: