一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于分布式架构的网络测速方法和装置与流程

2022-05-06 10:00:38 来源:中国专利 TAG:


1.本发明涉及网络测速领域,尤其涉及一种基于分布式架构的网络测速方法和装置。


背景技术:

2.目前网络测速的架构主要采用中心化,即每个网络测速用户端都到某一台中心的测速服务器进行测试网络速度。例如,某一测速客户端app启动后,app向中心服务器发起注册,然后由中心服务器下发某台在线的服务器,再由客户端向这台服务器发起测速,而同一时间,也有可能存在其他的客户端向这台服务器发起测试请求。这种架构增加了中心测速服务器的访问压力,降低了测速的准确性;另外,当中心服务器出现故障,会影响到整个用户群体的服务质量;随着网络带宽的价格和服务器硬件价格的不断提升以及用户端接入网速的增加,现有的中心化架构的网络测速方法无法满足实际应用的需求。


技术实现要素:

3.本发明提供了一种基于分布式架构的网络测速方法和装置,以解决根据带宽情况合理安排测速客户端进行网络测速的技术问题。
4.为了解决上述技术问题,本发明实施例提供了一种基于分布式架构的网络测速方法,包括:
5.根据预设的调度策略筛选出若干个符合第一预设条件的候选客户端;
6.将筛选出的候选客户端互相连接;
7.获取待测速客户端的带宽猜测值,根据预设分配策略,结合所述带宽猜测值选择若干个候选客户端作为测速客户端;
8.使用所述测速客户端对所述待测速客户端进行网络测速。
9.进一步的,所述根据预设的调度策略筛选出若干个符合第一预设条件的候选客户端,具体为:
10.通过预设规则获取各客户端的评分;
11.选择评分在第一预设区间的客户端标记为a级客户端,评分在第二预设区间的客户端标记为b级客户端;调度第一预设数量的a级客户端作为候选客户端;当所述a级客户端的数量少于所述第一预设数量时,则调度第二预设数量的b级客户端,以及所有a级客户端作为候选客户端;其中,所述第二预设区间小于所述第一预设区间。
12.进一步的,所述根据预设分配策略,结合所述带宽猜测值选择若干个候选客户端作为测速客户端,具体为:
13.选择第三预设数量的候选客户端提供测试服务,判断被选择的候选客户端是否处于满载状态;其中,被选择的候选客户端的带宽总和计算值大于所述带宽猜测值;
14.当被选择的第三预设数量的候选客户端在预设时间内有不少于一个未满载,则将被选择的第三预设数量的候选客户端作为测速客户端;
15.当被选择的候选客户端在预设时间内均已满载时,则重新选择带宽总和计算值大于所述带宽猜测值的第四预设数量的候选客户端提供测试服务,直至被选择的第三预设数量的候选客户端在所述预设时间内有不少于一个未满载时,将未满载的各候选客户端作为测速客户端。
16.进一步的,所述获取所述待测速客户端的带宽猜测值,具体为:
17.获取所述待测速客户端的地区、运营商和历史测速数据,计算出与所述待测速客户端同地区同运营商的平均下载速率,将所述平均下载速率作为所述带宽猜测值。
18.进一步的,所述将筛选出的候选客户端互相连接,具体为:
19.将筛选出的候选客户端通过p2p传输技术互相连接。
20.相应的,本发明实施例还提供了一种基于分布式架构的网络测速装置,包括筛选模块、连接模块、选择模块和测速模块;其中,
21.所述筛选模块用于根据所述预设调度策略筛选出若干个符合第一预设条件的候选客户端;
22.所述连接模块用于将筛选出的候选客户端互相连接;
23.所述选择模块用于获取待测速客户端的带宽猜测值,根据预设分配策略,结合所述带宽猜测值选择若干个候选客户端作为测速客户端;
24.所述测速模块用于使用所述测速客户端对所述待测速客户端进行网络测速。
25.进一步的,所述筛选模块根据所述预设调度策略筛选出若干个符合第一预设条件的候选客户端,具体为:
26.所述筛选模块通过预设规则获取各客户端的评分;
27.选择评分在第一预设区间的客户端标记为a级客户端,评分在第二预设区间的客户端标记为b级客户端;调度第一预设数量的a级客户端作为候选客户端;当所述a级客户端的数量少于所述第一预设数量时,则调度第二预设数量的b级客户端,以及所有a级客户端作为候选客户端;其中,所述第二预设区间小于所述第一预设区间。
28.进一步的,所述选择模块根据预设分配策略,结合所述带宽猜测值选择若干个候选客户端作为测速客户端,具体为:
29.所述选择模块选择第三预设数量的候选客户端提供测试服务,判断被选择的候选客户端是否处于满载状态;其中,被选择的候选客户端的带宽总和计算值大于所述带宽猜测值;
30.当被选择的第三预设数量的候选客户端在预设时间内有不少于一个未满载,则将被选择的第三预设数量的候选客户端作为测速客户端;
31.当被选择的候选客户端在预设时间内均已满载时,则重新选择带宽总和计算值大于所述带宽猜测值的第四预设数量的候选客户端提供测试服务,直至被选择的第三预设数量的候选客户端在所述预设时间内有不少于一个未满载时,将未满载的各候选客户端作为测速客户端。
32.进一步的,所述选择模块获取所述待测速客户端的带宽猜测值,具体为:
33.所述选择模块获取所述待测速客户端的地区、运营商和历史测速数据,计算出与所述待测速客户端同地区同运营商的平均下载速率,将所述平均下载速率作为所述带宽猜测值。
34.进一步的,所述连接模块将筛选出的候选客户端互相连接,具体为:
35.所述连接模块将筛选出的候选客户端通过p2p传输技术互相连接。
36.相比于现有技术,本发明实施例具有如下有益效果:
37.本发明提供了一种基于分布式架构的网络测速方法和装置,所述方法包括:根据预设的调度策略筛选出若干个符合第一预设条件的候选客户端;将筛选出的候选客户端互相连接;获取所述待测速客户端的带宽猜测值,根据预设分配策略,结合所述带宽猜测值选择若干个候选客户端作为测速客户端;使用所述测速客户端对待测速客户端进行网络测速。本发明不需要中心测速服务器,而是通过分布式的架构智能分配各客户端的带宽对待测速客户端进行网络测速,当其中一个测速客户端出现故障也不会影响对待测速客户端的网络测速,相比于现有技术降低了带宽的压力、提高了测速效率和准确性,降低了硬件投入成本、带宽运营成本,同时可以一次测速满足多个客户端的测速需求。
附图说明
38.图1:为本发明基于分布式架构的网络测速方法提供的一种实施例的流程示意图。
39.图2:为现有技术中心化测速架构的示意图。
40.图3:为本发明实施例基于分布式架构的网络测速方法提供的一种实施例的分布式点对点测速架构的示意图。
41.图4:为本发明实施例基于分布式架构的网络测速方法提供的一种实施例的分布式点对点测速架构的简化示意图。
42.图5:为本发明基于分布式架构的网络测速装置提供的一种实施例的结构示意图。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.实施例一:
45.请参照图1,图1为本发明实施例提供的一种基于分布式架构的网络测速方法,包括步骤s1至s4;其中,
46.步骤s1,在对待测速客户端进行注册、鉴权和认证之后,根据预设的调度策略筛选出若干个符合第一预设条件的候选客户端;
47.在本实施例中,通过预设规则获取各客户端的评分,具体地:
48.获取待评分客户端的带宽a、延迟b、在线时间c和丢包率d,计算所述待评分客户端的评分:
49.s=0.4*a 0.2*b 0.2*c 0.2*d;
50.其中,s为所述待评分客户端的评分;
51.选择评分s在第一预设区间(9-10分区间)的客户端标记为a级客户端,评分s在第二预设区间(8-9分区间)的客户端标记为b级客户端;调度第一预设数量的a级客户端作为候选客户端;当所述a级客户端的数量少于所述第一预设数量时,则调度第二预设数量的b
级客户端,以及所有a级客户端作为候选客户端;本实施例中,调度b级客户端数量为a级客户端短缺数量两倍。
52.作为本实施例的一种举例,对客户端从带宽a、延迟b、在线时间c和丢包率d四个维度,通过历史数据进行打分,对每个维度分配不同的权重进行加权平均,得到一个综合的分数。
53.表1打分规则表
[0054][0055][0056]
按照a客户端的历史数据,带宽为150mbps,延迟8ms,平均每次在线时间80s,丢包率0.1%,根据规则表和公式计算出a的分数s=9.2。
[0057]
步骤s2,将筛选出的候选客户端互相连接;本实施例通过分布式的p2p传输技术互相连接。
[0058]
步骤s3,获取所述待测速客户端的带宽猜测值,根据预设分配策略,结合所述带宽猜测值选择若干个候选客户端作为测速客户端;
[0059]
在本实施例中,获取所述待测速客户端的地区、运营商和历史测速数据,计算出与所述待测速客户端同地区同运营商的平均下载速率,将所述平均下载速率作为所述带宽猜测值。步骤s2获取的各候选客户端并不是所有客户端的带宽都对等,也不是所有候选客户端都参与到测速中,因此本发明实施例提供了一种智能的流量分配策略,具体地:
[0060]
选择第三预设数量的候选客户端提供测试服务,判断被选择的候选客户端是否处于满载状态;其中,被选择的候选客户端的带宽总和计算值大于所述带宽猜测值;
[0061]
当被选择的第三预设数量的候选客户端在预设时间内有不少于一个未满载,则将被选择的第三预设数量的候选客户端作为测速客户端;
[0062]
当被选择的候选客户端在预设时间内均已满载时,则重新选择带宽总和计算值大于所述带宽猜测值的第四预设数量的候选客户端提供测试服务,直至被选择的第三预设数量的候选客户端在所述预设时间内有不少于一个未满载时,将未满载的各候选客户端作为测速客户端。
[0063]
作为本实施例的一种举例,a为新接入的待测速客户端且未经过评分,其带宽猜测值为100mbs。
[0064]
根据猜测值选出候选客户端b、c、d,三台客户端带宽总和略大于100mbs,但是三台客户段的带宽各不相等。因此根据他们的历史带宽数据计算出带宽分配权重,然后根据权重去分配流量。如果在测速的2s内,b、c、d三台客户端的带宽均已满载,那么可以认为a的真实带宽比猜测值大,这时候从余下的客户端再选e、f、g过来一起提供测速服务,e、f、g带宽总和为b、c、d的1.5倍,且三者的带宽也不相等,也是根据权重进行流量分配。
[0065]
以此类推,如果b、c、d、e、f、g仍满足不了a的测速需求,这时候会继续选择若干台
客户端(假设是h、i、j)过来一起提供测速服务,使得被选取的客户端的带宽总和是e、f、g带宽总和的1.5倍。
[0066]
智能流量分配策略会根据a网络情况智能动态分配客户端数量以及客户端之间的流量,保证客户端a的带宽能满载运行,也不会造成客户端资源浪费,这种智能流量分配策略会使得测速更加准确。
[0067]
步骤s4,使用所述测速客户端对待测速客户端进行网络测速。
[0068]
区别于传统的中心化测速架构,本发明使用的是分布式点对点测速架构。
[0069]
参照图2,传统网络测速技术方案都是使用测速客户端到单一测速服务器进行集中式测速。当测速客户端启动后,测速客户端向调度服务器发起注册,然后调度服务器会下发某台在线的测速服务器,然后再由测速客户端向这台测速服务器发起测速。当用户量很大的时候,同一时间点就会出现多台客户端同时访问同一台测速服务器,这就会给中心测速服务器的网络带宽和cpu性能造成很大压力。一旦中心测速服务器出现故障,所有客户端都不能使用。
[0070]
参照图3,本发明使用的是分布式p2p(peer to peer点对点)测速架构,这个架构没有中心测速服务器,测速客户端的手机载体既可以发起测速,又可以当做服务器给其他客户端提供测速服务。当用户启动测速客户端后,测速客户端向调度服务器发起注册,调度服务器负责鉴权和认证,并且调度同样在线的多个测速客户端通过p2p传输技术互相连接,这些测速客户端同时又承担测速服务器的功能。将模型简化后如图4所示,假设是单点连接,测速客户端a和测速客户端b通过p2p技术直连,不经过中心测速服务器。测速客户端a进行上行测速的同时,又在给测速客户端b提供下载服务;同样地,测速客户端b进行上行测速的同时,也在给测速客户端a提供下载服务。这样就可以做到一次流量可以同时满足两个用户的测速需求,提高了测速的效率。
[0071]
相应的参照图5,本发明实施例还提供了一种基于分布式架构的网络测速装置,包括筛选模块101、连接模块102、选择模块103和测速模块104;其中,
[0072]
所述筛选模块101用于根据所述预设调度策略筛选出若干个符合第一预设条件的候选客户端;
[0073]
所述连接模块102用于将筛选出的候选客户端互相连接;
[0074]
所述选择模块103用于获取所述待测速客户端的带宽猜测值,根据预设分配策略,结合所述带宽猜测值选择若干个候选客户端作为测速客户端;
[0075]
所述测速模块104用于使用所述测速客户端对待测速客户端进行网络测速。
[0076]
进一步的,所述筛选模块101根据所述预设调度策略筛选出若干个符合第一预设条件的候选客户端,具体为:
[0077]
所述筛选模块101通过预设规则获取各客户端的评分;
[0078]
选择评分在第一预设区间的客户端标记为a级客户端,评分在第二预设区间的客户端标记为b级客户端;调度第一预设数量的a级客户端作为候选客户端;当所述a级客户端的数量少于所述第一预设数量时,则调度第二预设数量的b级客户端,以及所有a级客户端作为候选客户端;其中,所述第二预设区间小于所述第一预设区间。
[0079]
进一步的,所述选择模块103根据预设分配策略,结合所述带宽猜测值选择若干个候选客户端作为测速客户端,具体为:
[0080]
所述选择模块103选择第三预设数量的候选客户端提供测试服务,判断被选择的候选客户端是否处于满载状态;其中,被选择的候选客户端的带宽总和计算值大于所述带宽猜测值;
[0081]
当被选择的第三预设数量的候选客户端在预设时间内有不少于一个未满载,则将被选择的第三预设数量的候选客户端作为测速客户端;
[0082]
当被选择的候选客户端在预设时间内均已满载时,则重新选择带宽总和计算值大于所述带宽猜测值的第四预设数量的候选客户端提供测试服务,直至被选择的第三预设数量的候选客户端在所述预设时间内有不少于一个未满载时,将未满载的各候选客户端作为测速客户端。
[0083]
进一步的,所述选择模块103获取所述待测速客户端的带宽猜测值,具体为:
[0084]
所述选择模块103获取所述待测速客户端的地区、运营商和历史测速数据,计算出与所述待测速客户端同地区同运营商的平均下载速率,将所述平均下载速率作为所述带宽猜测值。
[0085]
进一步的,所述连接模块102将筛选出的候选客户端互相连接,具体为:
[0086]
所述连接模块102将筛选出的候选客户端通过p2p传输技术互相连接。
[0087]
相比于现有技术,本发明实施例具有如下有益效果:
[0088]
本发明提供了一种基于分布式架构的网络测速方法和装置,所述方法包括:根据预设的调度策略筛选出若干个符合第一预设条件的候选客户端;将筛选出的候选客户端互相连接;获取所述待测速客户端的带宽猜测值,根据预设分配策略,结合所述带宽猜测值选择若干个候选客户端作为测速客户端;使用所述测速客户端对待测速客户端进行网络测速。本发明不需要中心测速服务器,而是通过分布式的架构智能分配各客户端的带宽对待测速客户端进行网络测速,当其中一个测速客户端出现故障也不会影响对待测速客户端的网络测速,相比于现有技术降低了带宽的压力、提高了测速效率和准确性,降低了硬件投入成本、带宽运营成本,同时可以一次测速满足多个客户端的测速需求。
[0089]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献