[发明专利]服务器吞吐量评估方法以及装置在审
| 申请号: | 201911295668.2 | 申请日: | 2019-12-16 |
| 公开(公告)号: | CN110912781A | 公开(公告)日: | 2020-03-24 |
| 发明(设计)人: | 佘万卫 | 申请(专利权)人: | 云南优鸟科技有限公司 |
| 主分类号: | H04L12/26 | 分类号: | H04L12/26 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 650000 云南省昆明市五华区北市*** | 国省代码: | 云南;53 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 服务器 吞吐量 评估 方法 以及 装置 | ||
1.一种服务器吞吐量评估方法,包括以下步骤:
S101、从来自于客户端的请求序列{r1,r2 r3,...rn}中获取服务器堆积负荷最重的时刻Tmax以及对应的最大负荷Qmax,对每一个请求r,有r=(t,w),其中,t为请求时间,w为该请求所含的负荷;
S102、通过以下公式估算当前一轮服务器相应于所述请求序列{r1,r2 r3,...rn}的服务器吞吐量的下限cmin:
式(一)中,T0为请求序列中当前一轮负荷堆积的起始时间,Tmax为请求序列中服务器堆积负荷最重的时刻,Qmax为请求序列中服务器堆积负荷最重的时刻所对应的最大负荷,表示从T0到Tmax这段时间的请求序列中的负荷之和;
S103、将当前一轮服务器吞吐量的下限cmin带入到请求序列{r1,r2 r3,...rn},以通过以下步骤求出服务器的吞吐量c:
S1031、读取所述请求序列{r1,r2 r3,...rn}中第一个请求r=(t,w),以该第一个请求为基准,将该第一个请求的请求时间t赋值为服务器的负荷堆积起始时间t0,即t0=t,将该第一个请求所含的负荷w赋值为服务器的当前负荷q,即q=w,将该第一个请求的请求时间赋值为上一请求时间t1,即t1=t;
S1032、依次处理后续的每一个请求r=(t,w),以计算出服务器相应于当前一轮的服务器吞吐量下限cmin的堆积负荷最重的时刻tmax及对应的最大负荷qmax,该步骤包括以下子步骤:
S1032a、依序读取所述请求序列中的请求r=(t,w);
S1032b、通过q=q-cmin*(t-t1)计算出服务器相应于当前一个请求的当前负荷q,其中,cmin为S102步骤中所计算得到的当前一轮的吞吐量的下限;
S1032c、判断所述当前负荷q是否小于等于0,若是,则进入S1032d步骤,若否,则转入S1032e步骤;
S1032d、重新赋值所述当前负荷q以及堆积起始时间t0,以使q=0,t0=t,进入S1032e步骤;
S1032e、通过q=q+w计算出新的当前负荷q;
S1032f、判断所述新的当前负荷q是否大于最大负荷qmax,若是,则进入S1032g步骤,若否,则转入S1032h步骤;
S1032g、将所述新的当前负荷q赋值给所述最大负荷qmax,将当前对应的请求时间赋值给所述堆积负荷最重的时刻tmax,即qmax=q,tmax=t;
S1032h、判断所述当前一个请求是否为请求序列的最后一个请求,若是,则进入S1033步骤,若否,则转入S1032a步骤;
S1033、判断S1032步骤中所计算出来的qmax是否等于Qmax,若是,则进入S1034步骤,若否,则转入S1035步骤;
S1034、视为当前一轮的cmin为服务器的吞吐量c,即c=cmin;
S1035、将第一赋值子模块计算得到的最后一个请求的t0赋值给T0,即T0=t0,并转入S102步骤以计算下一轮服务器吞吐量下限cmin。
2.一种服务器吞吐量评估装置,包括获取模块、估算模块以及吞吐量c计算模块;
所述获取模块用于从来自于客户端的请求序列{r1,r2 r3,...rn}中获取服务器堆积负荷最重的时刻Tmax以及对应的最大负荷Qmax,对每一个请求r,有r=(t,w),其中,t为请求时间,w为该请求所含的负荷;
所述估算模块用于通过以下公式估算当前一轮服务器相应于所述请求序列{r1,r2r3,...rn}的服务器吞吐量的下限cmin:
式(一)中,T0为请求序列中当前一轮负荷堆积的起始时间,Tmax为请求序列中服务器堆积负荷最重的时刻,Qmax为请求序列中服务器堆积负荷最重的时刻所对应的最大负荷,表示从T0到Tmax这段时间的请求序列中的负荷之和;
所述吞吐量c计算模块用于将当前一轮服务器吞吐量的下限cmin带入到请求序列{r1,r2r3,...rn},以求出服务器的吞吐量c,其中,所述吞吐量c计算模块包括第一读取子模块、请求处理子模块、吞吐量c验证子模块以及第三赋值子模块;
所述第一读取子模块用于读取所述请求序列{r1,r2 r3,...rn}中第一个请求r=(t,w),以该第一个请求为基准,将该第一个请求的请求时间t赋值为服务器的负荷堆积起始时间t0,即t0=t,将该第一个请求所含的负荷w赋值为服务器的当前负荷q,即q=w,将该第一个请求的请求时间赋值为上一请求时间t1,即t1=t;
所述请求处理子模块用于次处理后续的每一个请求r=(t,w),以计算出服务器相应于当前一轮的服务器吞吐量下限cmin的堆积负荷最重的时刻tmax及对应的最大负荷qmax,其中,所述请求处理子模块包括以下子模块:
第二读取子模块,用于依序读取所述请求序列中的请求r=(t,w);
当前负荷计算子模块,用于通过q=q-cmin*(t-t1)计算出服务器相应于当前一个请求的当前负荷q,其中,cmin为S102步骤中所计算得到的当前一轮的吞吐量的下限;
第一判断子模块,用于判断所述当前负荷q是否小于等于0;
第一赋值子模块,用于当所述第一判断子模块判断得到所述当前负荷q小于等于0时,重新赋值所述当前负荷q以及堆积起始时间t0,以使q=0,t0=t;
新的当前负荷计算子模块,用于当所述第一判断子模块判断得到所述当前负荷q大于0时或者当所述第一赋值模块重新负值后,通过q=q+w计算出新的当前负荷q;
第二判断子模块,用于判断所述新的当前负荷q是否大于最大负荷qmax,若否,则转入S1032h步骤;
第二赋值子模块,用于当所述第二判断子模块判断得到所述新的当前负荷q大于最大负荷qmax时,将所述新的当前负荷q赋值给所述最大负荷qmax,将当前对应的请求时间赋值给所述堆积负荷最重的时刻tmax,即qmax=q,tmax=t;以及
第三判断子模块,用于当所述第二判断子模块判断得到所述新的当前负荷q小于等于qmax时或者当第二赋值子模块重新给qmax赋值后,判断所述当前一个请求是否为请求序列的最后一个请求,若是,则进入第四判断子模块,若否,则转入第二读取子模块;
第四判断子模块,用于判断请求处理子模块所计算出来的qmax是否等于Qmax;
吞吐量c验证子模块,用于当所述第四判断子模块判断得到所述请求处理子模块所计算出来的qmax等于Qmax时,视为当前一轮的cmin为服务器的吞吐量c,即c=cmin;
第三赋值子模块,用于当所述第四判断子模块判断得到所述请求处理子模块所计算出来的qmax不等于Qmax,则将第一赋值子模块计算得到的最后一个请求的t0赋值给T0,即T0=t0,并转入估算模块以计算下一轮服务器吞吐量下限cmin。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南优鸟科技有限公司,未经云南优鸟科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911295668.2/1.html,转载请声明来源钻瓜专利网。





