一种测速服务器的排队方法、测速服务器和客户端的制作方法

文档序号:9870094阅读:478来源:国知局
一种测速服务器的排队方法、测速服务器和客户端的制作方法
【技术领域】
[0001]本发明涉及测速技术领域,特别是涉及一种测速服务器的排队方法、测速服务器和客户端。
【背景技术】
[0002]带宽测速是一种为用户提供与其接入网络环境最为匹配的服务器进行上传和下载测速,最终获取其带宽情况的测速方法。其主要目标为:对国内各网络接入运营商的实际接入情况进行实际测试,收集全国各个运营商的用户实际带宽速率第一手数据。
[0003]目前通常采用服务器集群的方式来建立测速服务器。通过一台控制服务器进行客户端连接管理,对其它测速服务器进行资源分配。该控制服务器负责验证客户端的相关信息,并根据客户端的信息选择某个测速服务器进行测试,如果没有合适的测速服务器则提示客户端当前无法进行测速。控制服务器作为服务器集群的管理节点,在进行资源分配操作的同时还需要进行资源管理,对于长期被占用的测速服务器实施资源管控,实时地释放资源。
[0004]对于每台测速服务器只实现测速的数据上下行传输功能,当客户端需要进行测速任务时,首先向控制服务器发送资源请求信息,控制服务器对当地的测速服务器进行巡检,以确定是否存在合适的测速服务器。如果具有合适的测速服务器则向客户端返回对应的服务器讯息,客户端通过该服务器进行相应的测速工作。如果当前没有可供使用的服务器,则通知客户端不可进行测速任务。
[0005]上述采用服务器集群的方式建立测速服务器,在测速过程中存在以下问题:测速服务器面临较大的客户端测速请求并发压力。由于测速系统的建设要求,需要测速用户通过系统的测速客户端以具有一定周期性的方式进行挂机循环测速。由于客观上对测速任务有周期性的要求,将导致测速服务器周期性的面临并发压力。

【发明内容】

[0006]本发明提供了一种测速服务器的排队方法、测速服务器和客户端,以解决测速服务器所面临的客户端测速请求并发压力大、测速效率低的问题。
[0007]为了解决上述问题,本发明公开了一种测速服务器的排队方法,包括:
[0008]测速服务器接收客户端发送的测速请求;
[0009]所述测速服务器根据运行情况生成状态密钥,所述状态密钥包括:允许密钥、等待密钥和禁止密钥;
[0010]当所述测速服务器生成允许密钥时,将所述测速请求插入测速队列,并将所述允许密钥发送给所述客户端;
[0011]当所述测速服务器生成等待密钥时,将所述测速请求插入等待队列,更改所述客户端发送所述测速请求时的测速周期,并将所述等待密钥发送给所述客户端;
[0012]当所述测速服务器生成禁止密钥时,将所述禁止密钥发送给所述客户端。
[0013]可选地,当所述测速请求不包含插队标识时,所述测速服务器根据运行情况生成状态密钥,包括:
[0014]判断等待队列是否已满且所述测速请求不在所述等待队列中;
[0015]当所述等待队列已满且所述测速请求不在所述等待队列中时,生成禁止密钥;
[0016]当所述等待队列未满或所述测速请求不在所述等待队列中时,判断测速队列是否已满;
[0017]当所述测速队列已满时,生成等待密钥;
[0018]当所述测速队列未满时,判断等待队列是否为空;
[0019]当所述等待队列为空时,生成允许密钥;
[0020]当所述等待队列不为空时,判断所述测速请求是否在所述等待队列中且等待次数最大;
[0021]若所述测速请求在所述等待队列中且等待次数最大,则生成允许密钥;
[0022]若所述测速请求不在所述等待队列中或所述测速请求在等
[0023]待队列中但等待次数不是最大,则生成等待密钥。
[0024]可选地,所述判断测速队列是否已满,包括:
[0025]判断测速队列中的测速请求个数是否达到预设的测速阈值;
[0026]若所述测速队列中的测速请求个数达到所述测速阈值,则判断所述测速队列已满;
[0027]若所述测速队列中的测速请求个数未达到所述测速阈值,则判断所述测速队列未满。
[0028]可选地,所述将所述测速请求插入等待队列,包括:判断所述测速请求是否在等待队列中;
[0029]若所述测速请求在等待队列中,则将所述测速请求的等待次数加一;
[0030]若所述测速请求不在等待队列中,则将所述测速请求插入等待队列。
[0031]可选地,所述更改所述客户端发送所述测速请求时的测速周期,包括:
[0032]缩短所述客户端发送所述测速请求时的测速周期。
[0033]可选地,当所述测速请求包含插队标识时,所述测速服务器根据运行情况生成状态密钥,包括:
[0034]判断测速队列是否已满;
[0035]当所述测速队列未满时,生成允许密钥;
[0036]当所述测速队列已满时,生成禁止密钥。
[0037]本发明还公开了一种测速服务器,包括:
[0038]接收模块,用于接收客户端发送的测速请求;
[0039]密钥生成模块,与所述接收模块相连,用于根据运行情况生成状态密钥,所述状态密钥包括:允许密钥、等待密钥和禁止密钥;
[0040]允许测速模块,与所述密钥生成模块相连,用于当所述密钥生成模块生成允许密钥时,将所述测速请求插入测速队列,并将所述允许密钥发送给所述客户端;
[0041]等待测速模块,与所述密钥生成模块相连,用于当所述密钥生成模块生成等待密钥时,将所述测速请求插入等待队列,更改所述客户端发送所述测速请求时的测速周期,并将所述等待密钥发送给所述客户端;
[0042]禁止测速模块,与所述密钥生成模块相连,用于当所述密钥生成模块生成禁止密钥时,将所述禁止密钥发送给所述客户端。
[0043]可选地,所述密钥生成模块包括:挂机子模块,用于当所述测速请求不包含插队标识时,根据运行情况生成状态密钥;
[0044]所述挂机子模块包括:
[0045]第一判断子单元,用于判断等待队列是否已满且所述测速请求不在所述等待队列中;
[0046]禁止生成子单元,与所述第一判断子单元相连,用于当所述第一判断子单元判断所述等待队列已满且所述测速请求不在所述等待队列中时,生成禁止密钥;
[0047]第二判断子单元,与所述第一判断子单元相连,用于当所述第一判断子单元判断所述等待队列未满或所述测速请求不在所述等待队列中时,判断测速队列是否已满;
[0048]等待生成子单元,与所述第二判断子单元相连,用于当所述第二判断子单元判断所述测速队列已满时,生成等待密钥;
[0049]第三判断子单元,与所述第二判断子单元相连,用于当所述第二判断子单元判断测速队列未满时,判断等待队列是否为空;
[0050]允许生成子单元,与所述第三判断子单元相连,用于当所述第三判断子单元判断所述等待队列为空时,生成允许密钥;
[0051]第四判断子单元,与所述第三判断子单元相连,用于当所述第三判断子单元判断所述等待队列不为空时,判断所述测速请求是否在所述等待队列中且等待次数最大;
[0052]所述允许生成子单元,还与所述第四判断子单元相连,还用于当所述第四判断子单元判断所述测速请求在所述等待队列中且等待次数最大时,生成允许密钥;
[0053]所述等待生成子单元,还与所述第四判断子单元相连,还用于当所述第四判断子单元判断所述测速请求不在所述等待队列中或所述测速请求在等待队列中但等待次数不是最大时,生成等待密钥。
[0054]可选地,所述密钥生成模块包括:插队子模块,用于当所述测速请求包含插队标识时,根据运行情况生成状态密钥;
[0055]所述插队子模块包括:
[0056]判断子单元,用于判断测速队列是否已满;
[0057]允许子单元,与所述判断子单元相连,用于当所述测速队列未满时,生成允许密钥;
[0058]禁止子单元,与所述判断子单元相连,用于当所述测速队列已满时,生成禁止密钥。
[0059]本发明还公开了一种客户端,包括:
[0060]发送模块,用于向测速服务器发送测速请求;
[0061]密钥接收模块,用于接收所述测速服务器发送的状态密钥,所述状态密钥包括:允许密钥、等待密钥和禁止密钥;
[0062]允许处理模块,分别与所述发送模块和所述密钥接收模块相连,用于当所述密钥接收模块接收到所述允许密钥时,通过所述发送模块发送所述允许密钥进行测速;
[0063]等待处理模块,分别与所述发送模块和所述密钥接收模块相连,用于当所述密钥接收模块接收到所述等待密钥时,在更改后的测速周期到达时通过所述发送模块重新发送测速请求;
[0064]禁止处理模块,分别与所述发送模块和所述密钥接收模块相连,用于当所述密钥接收模块接收到所述禁止密钥时,在测速周期到达时通过所述发送模块重新发送测速请求。
[0065]与现有技术相比,本发明包括以下优点:
[0066]首先,本发明提供的测速服务器的排队方法,测速服务器接收客户端发送的测速请求后,根据运行情况生成允许密钥、等待密钥和禁止密钥,即对测速
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1