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

文档序号:9870094阅读:来源:国知局
请求进行了排队处理。当测速请求同时到来时,通过排队使得部分测试请求立即执行,即生成允许密钥;部分测速请求则进行了等待处理稍后进行,即生成等待密钥;部分测速请求则在当轮测速中被舍弃,即生成禁止密钥。而在下轮测速中,通过根据上轮的排队处理情况,对测试请求的处理时序进行了相应调整,这样在后续的测速中不会再次出现集中到来的情况,实现了对多个同时到来的测速请求进行时间的重新分配,减小了测速服务器所面临的周期性的访问压力。
[0067]其次,本发明提供的排队方法更改客户端的测速周期后,客户端将按照更改后的测速周期向测速服务器发送测速请求,即对测速请求的处理时序进行了调整,避免了多个同时到来的测速请求再次集中出现。通常可以缩短客户端的测速周期,这样等待的时间将小于原有的测速周期,提高了测速服务器的测速效率。更改所述客户端发送所述测速请求时的测速周期,在提高测速效率的同时,使得测速服务器处理测速请求具有较高的均衡性。
[0068]最后,本发明提供的上述排队方法通过对单个测速服务器进行自身资源管理,对测速服务器接收到的测速请求进行排队处理,减轻了测速服务器所面对的访问压力。而且整个排队过程被分摊到每台独立的测速服务器上,因此当服务器出现异常只会影响到局部的单个服务器。避免了采用一台控制服务器进行服务器连接管理所存在的由于单点故障导致整个测速系统瘫痪的风险。
【附图说明】
[0069]图1是本发明实施例一种测速服务器的排队方法的流程图;
[0070]图2是本发明实施例当测速请求不包含插队标识时,测速服务器根据运行情况生成状态密钥的流程图;
[0071]图3是本发明实施例当测速请求包含插队标识时,测速服务器根据运行情况生成状态密钥的流程图;
[0072]图4是本发明实施例一种测速服务器的排队方法的总体流程图;
[0073]图5是本发明实施例一种测速服务器的结构框图;
[0074]图6是本发明实施例挂机子模块的结构框图;
[0075]图7是本发明实施例插队子模块的结构框图;
[0076]图8是本发明实施例密钥生成模块的结构框图;
[0077]图9是本发明实施例一种客户端的结构框图。
【具体实施方式】
[0078]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0079]参照图1,示出了本发明一种测速服务器的排队方法的流程图,本实施例具体可以包括以下步骤:
[0080]步骤101,测速服务器接收客户端发送的测速请求。
[0081]客户端通常以自动周期性测速为主,在自动测速的情况下,客户端按照测速周期发送测速请求,即客户端在测速周期到达时周期性地向测速服务器发送测速请求。即需要测速的用户通过客户端以具有一定周期性的方式进行循环测速。由于客观上对测速任务有周期性的要求,将不可避免导致测速服务器周期性的面临并发压力,本实施例正是将这种周期性的压力进行均摊,以解决测速服务器面临的访问压力大的问题。
[0082]步骤102,所述测速服务器根据运行情况生成状态密钥,所述状态密钥包括:允许密钥、等待密钥和禁止密钥。
[0083]测速服务器接收到客户端发送的测速请求后,并不是都立即进行测速处理,需要根据测速服务器自身的运行情况对测速请求进行不同处理。具体可以根据当前自身运行情况向客户端返回不同的状态密钥,如:允许密钥、等待密钥和禁止密钥。状态密钥包括密钥和状态关键字,状态关键字表示了测试者是否可以测试,区分为允许、等待、禁止状态。当状态关键字为允许时,测试者可以输入密钥进行测速;当状态关键字为等待时,允许测试者间隔一小段时间后重新询问状态,并根据询问次数获得不同的测速优先级,询问次数越多,测速优先级越高;当状态关键字为禁止时,表示当前不允许测速,需要稍后重新发送测速请求进行测速。
[0084]步骤103,当所述测速服务器生成允许密钥时,将所述测速请求插入测速队列,并将所述允许密钥发送给所述客户端。
[0085]测速服务器生成允许密钥,代表允许客户端进行测速,此时测速服务器将测速请求插入测速队列,进行上传下载测速。相应地,当所述客户端接收到所述允许密钥时,根据所述允许密钥进行测速。
[0086]步骤104,当所述测速服务器生成等待密钥时,将所述测速请求插入等待队列,更改所述客户端发送所述测速请求时的测速周期,并将所述等待密钥发送给所述客户端。
[0087]测速服务器生成等待密钥,代表该测速请求不能立即执行,需要等待一段时间后再执行,此时测速服务器将该测速请求插入等待队列,更改客户端发送所述测速请求时的测速周期。相应地,当所述客户端接收到所述等待密钥时,在更改后的测速周期到达时重新发送测速请求。
[0088]客户端通常按照测速周期向测速服务器发送测速请求,更改客户端的测速周期后,客户端将按照更改后的测速周期向测速服务器发送测速请求,即对测速请求的处理时序进行了调整,避免了多个同时到来的测速请求再次集中出现。通常可以缩短客户端的测速周期,这样等待的时间将小于原有的测速周期,提高了测速服务器的测速效率。而且等待的次数越多,测速周期越来越缩短,即根据等待时间设置了优先级。更改所述客户端发送所述测速请求时的测速周期,在提高测速效率的同时,使得测速服务器处理测速请求具有较高的均衡性。
[0089]需要说明的是,在本发明的一种优选实施例中,所述将所述测速请求插入等待队列,具体可以通过以下方式实现:判断所述测速请求是否在等待队列中;若所述测速请求在等待队列中,则将所述测速请求的等待次数加一;若所述测速请求不在等待队列中,则将所述测速请求插入等待队列。因为测速请求可能是第一次访问该测速服务器,该测速请求并不在该测速服务器的等待队列中,此时直接将该测速请求插入等待队列即可。但是,测速请求也可能不是第一次访问该测速服务器,这时说明该测速请求之前已经在等待队列中了,此时不用再将该测速请求插入等待队列了,而需要将该测速请求的等待次数加一,因为本发明是根据等待次数设置优先级的,等待次数越多,优先级越高,将该测速请求的等待次数加一,即提高了该测速请求的优先级,避免了测速请求长期等待所造型的测速效率低的问题。
[0090]需要说明的是,在本发明的一种优选实施例中,所述更改所述客户端发送所述测速请求时的测速周期,具体可以包括:缩短所述客户端的测速周期。例如:客户端原来的测速周期是10分钟,生成等待密钥,同时更改客户端的测速周期为5分钟,可以加快客户端测速周期的到达,5分钟之后客户端就可以再次向测速服务器发送测速请求了,与原有周期10分钟相比,提高了测速效率。并且更改测速周期,也可以避免同时出现的测速请求在10分钟之后再次同时出现,降低了测速服务器面临的访问压力。
[0091]更改所述客户端发送所述测速请求时的测速周期,可以将客户端的测速请求以一种“弱周期性”的方式进行压力分摊。这里的“弱周期性”指这种循环测速过程具有一定的周期重复性,但周期并不是一个严格的固定值,只是在长期情况下每个局部形成周期性执行的特征。通过这种方式来进行压力的分摊,调整了客户端请求并发压力,同时使得更多用户能尽可能均享测速服务。
[0092]步骤105,当所述测速服务器生成禁止密钥时,将所述禁止密钥发送给所述客户端。
[0093]测速服务器生成禁止密钥,代表当前不允许测速,该测速请求在当轮测速中被舍弃,不执行。相应地,当所述客户端接收到所述禁止密钥时,测速结束,在测速周期到达时重新发送测速请求。需要说明的是,测速服务器生成禁止密钥时,并不改变客户端的测速周期,客户端仍然按照原有的测速周期,在测速周期到达时,向测速服务器发送测速请求。
[0094]需要说明的是,本实施例提供的测速服务器的排队方法,所依据的思想如下:考虑到测速以自动周期性测速功能为主要积累数据的手段,既然无法避免在某一时刻有大量的用户同时请求测速资源,那么则在在此次集中出现测试请求以后的后续测试过程中让测试者的测速请求岔开进行,是一种对测试者重新进行测试时间分配的思想来解决此问题,即本实施例中接收到测速请求后,根据运行情况生成允许密钥、等待密钥和禁止密钥。
[0095]本实施例提供的测速服务器的排队方法,测速服务器接收客户端发送的测速请求后,根据运行情况生成允许密钥、等待密钥和禁止密钥,即对测速请求进行了排队处理。当测速请求同时到来时,通过排队使得部分测试请求立即执行,即生成允许密钥;部分测速请求则进行了等待处理稍后进行,即生成等待密钥;部分测速请求则在当轮测速中被舍弃,即生成禁止密钥。而在下轮测速中,通过根据上轮的排队处理情况,对测试请求的处理时序进行了相应调整,这样在后续的测速中不会再次出现集中到来的情况,实现了对多个同时到来的测速请求进行时间的重新分配,减小了测速服务器所面临的访问压力。本实施例提供的上述排队方法通过对单个测速服务器进行自身资源管理,对测速服务器接收到的测速请求进行排队处理,减轻了测速服务器所面对的访问压力。
[0096]而且整个排队过程被分摊到每台独立的测速服务器上,因此当服务器出现异常只会影响到局部的单个服务器。避免了采用一台控制服务器进行服务器连接管理所存在的由于单点故障导致整个测速系统瘫痪的风险。
[0097
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1