一种检测用户宽带质量的方法、电子设备及介质与流程

文档序号:27943983发布日期:2021-12-11 13:33阅读:87来源:国知局
一种检测用户宽带质量的方法、电子设备及介质与流程

1.本技术涉及宽带检测的领域,尤其是涉及一种检测用户宽带质量的方法、电子设备及介质。


背景技术:

2.目前宽带运营商的竞争越来越激烈,需要及时了解宽带用户的质量,并从中判断可能的故障点,提前排障实现优化用户体验的效果。
3.目前随着信息技术的发展,运营商宽带接入越来越多宽带用户,但当用户宽带质量出现问题时,只能通过用户主动上报故障来发现质量问题,从而在检测用户宽带的质量上较为不方便。


技术实现要素:

4.为了便于检测用户宽带的质量,本技术提供一种检测用户宽带质量的方法、电子设备及介质。
5.第一方面,本技术提供一种检测用户宽带质量的方法,采用如下的技术方案:一种检测用户宽带质量的方法,包括:获取多个用户ip地址;从所述多个用户ip地址中确定至少一个在线用户ip地址;向所述至少一个在线用户ip地址发送icmp报文;接收所述至少一个在线用户ip地址发送的对应的响应icmp报文;基于每个在线用户ip地址、所述每个ip地址对应的icmp报文以及所述每个在线用户ip地址对应的响应icmp报文确定所述每个在线用户ip地址对应的宽带质量检测数据,所述宽带质量检测数据包括丢包数和/或时延;基于所述每个在线用户ip地址的宽带质量检测数据确定所述每个在线用户ip地址对应的宽带质量数据,所述宽带质量数据包括丢包率、平均时延以及时延抖动值中的至少一项;基于所述每个在线用户ip地址对应的宽带质量数据进行质量计算并得到所述每个在线用户ip地址各自对应的质量分。
6.通过采用上述技术方案,电子设备获取到多个用户ip地址后,由于多个用户ip地址并不是全部同时在线的,因此先确定出至少一个在线用户ip地址,从而节省带宽,减少资源的浪费,向至少一个在线用户ip地址发送icmp报文,根据至少一个在线用户ip地址发送的响应icmp报文来确定出至少一个在线ip地址分别对应的宽带质量检测数据,基于宽带质量检测数据确定出宽带质量数据。宽带质量数据包括用户ip地址的丢包率、平均时延以及时延抖动值中的至少一项,根据在线用户ip地址对应的宽带质量数据进行质量计算得到在线用户ip地址的质量分,通过质量分能够更直观方便地得知用户的宽带质量。
7.在另一种可能实现的方式中,所述获取多个用户ip地址,之后还包括:
基于所述多个用户ip地址建立第一hash桶;对每个用户ip地址生成所述每个用户ip地址分别对应的结构体,所述结构体中包括所述每个用户ip地址以及所述每个用户ip地址分别对应的宽带质量检测数据;将所述每个用户ip地址对应的结构体插入所述第一hash桶。
8.通过采用上述技术方案,基于多个用户ip地址建立第一hash桶,并基于多个用户ip地址生成对应的结构体,从而方便快速地在多个用户ip地址中寻找出想要的用户ip地址,并且在得到宽带质量数据后,能够快速地找到对应的用户ip地址并将宽带质量数据插入对应的结构体中。
9.在另一种可能实现的方式中,所述从所述多个用户ip地址中确定至少一个在线用户ip地址,包括:向所述第一hash桶中的所述多个用户ip地址通过遍历的方式发送icmp报文;若在第一预设时间内未接收到至少一个用户ip地址对应的响应icmp报文,则确定丢包用户ip地址,所述丢包用户ip地址为未接收到所述多个用户ip地址中对应的响应icmp报文的用户ip地址;循环执行向所述第一hash桶中的所述多个用户ip地址通过遍历的方式发送icmp报文,若在第一预设时间内未接收到至少一个用户ip地址对应的响应icmp报文,则确定丢包用户ip地址的步骤,直至达到第一预设轮数;确定所述多个用户ip地址中的至少一个掉线用户ip地址,所述至少一个掉线用户ip地址为至少一个连续第一预设轮数均为丢包用户ip地址的用户ip地址;基于所述多个用户ip地址以及所述至少一个掉线用户ip地址进确定出至少一个在线用户ip地址。
10.通过采用上述技术方案,向多个用户ip地址发送第一预设轮数的icmp报文,电子设备未接收到至少一个用户ip地址发送的第一预设轮数的响应icmp报文,则确定至少一个用户ip地址为掉线用户ip地址,从而便于在多个用户ip地址中筛选出在线用户ip地址。
11.在另一种可能实现的方式中,所述向所述至少一个在线用户ip地址发送icmp报文,包括:向所述第一hash桶中的所述在线用户ip地址通过遍历的方式发送icmp报文;若向所述第一hash桶中的所述在线用户ip地址发送icmp报文未达到第二预设轮数,则循环执行向所述第一hash桶中的所述在线用户ip地址通过遍历的方式发送icmp报文的步骤,直至达到第二预设轮数。
12.通过采用上述技术方案,向至少一个在线用户ip地址发送第二预设轮数的icmp报文,并接收至少一个在线用户ip地址对应的响应icmp报文,从而便于从响应icmp报文中确定在线ip用户对应的宽带质量数据。
13.在另一种可能实现的方式中,所述基于每个在线用户ip地址、所述每个ip地址对应的icmp报文以及所述每个在线用户ip地址对应的响应icmp报文确定所述每个在线用户ip地址对应的宽带质量检测数据,所述宽带质量检测数据包括丢包数和/或时延,包括:基于所述每个在线用户ip地址对应的响应icmp报文,在第一hash桶中寻找所述响应icmp报文对应的用户ip地址;将所述每个在线用户ip地址对应的宽带质量检测数据插入所述每个在线用户ip
地址对应的结构体中对应的位置。
14.通过采用上述技术方案,接收到的响应icmp报文通过hash桶便于寻找到响应icmp报文对应的在线用户ip地址,并将至少一个在线用户ip地址对应的宽带质量数据插入对应的结构体中,从而提高了运行效率。
15.在另一种可能实现的方式中,所述基于所述每个在线用户ip地址对应的宽带质量数据进行质量计算并得到所述每个在线用户ip地址各自对应的质量分,包括以下至少一项:基于所述每个在线用户ip地址对应的丢包率确定所述每个在线用户ip地址对应的丢包率得分,和/或,基于所述每个在线用户ip地址对应的平均时延确定所述每个在线用户ip地址对应的平均时延得分,和/或,基于所述在线用户ip地址对应的时延抖动值确定所述每个在线用户ip地址对应的抖动值得分;基于所述每个在线用户ip地址对应的丢包率得分、所述平均时延得分以及时延抖动值得分中的至少一项,确定所述每个在线用户ip地址对应的质量分。
16.通过采用上述技术方案,丢包率为响应icmp报文数与发送的icmp报文数的比值,时延为发送icmp报文到接收到响应icmp报文之间的时间差,平均时延为多组发送icmp报文与响应icmp报文对应时延时平均值,时延抖动值为最大时延与最小时延的差值,通过对丢包率、平均时延以及时延抖动值中的至少一项进行质量计算得到在线用户ip对应的质量分,通过质量分能够更好地体现在线用户ip地址的质量。
17.在另一种可能实现的方式中,所述方法还包括:若任一在线ip地址的质量分低于第一预设分值,则对所述任一在线ip地址进行路由探测并得到经过所述任一在线ip地址的至少一个节点ip地址;基于所述至少一个节点ip地址建立第二hash桶;对所述至少一个节点ip地址生成每个节点ip地址分别对应的结构体,所述结构体中包括所述每个节点ip地址以及所述每个节点ip地址分别对应的宽带质量检测数据,所述每个节点ip地址分别对应的宽带质量检测数据包括所述每个节点ip地址对应的丢包数和/或时延;将所述每个节点ip地址对应的结构体插入所述第二hash桶;向所述第二hash桶中的所述至少一个节点ip地址通过遍历的方式发送icmp报文;若在第二预设时间内未接收到所述第二hash桶中至少一个节点ip地址对应的响应icmp报文,则确定丢包节点ip地址,所述丢包节点ip地址为所述未接收到至少一个节点ip地址对应的响应icmp报文的节点ip地址;循环执行向所述第二hash桶中的所述至少一个节点ip地址通过遍历的方式发送icmp报文,若在第二预设时间内未接收到至少一个节点ip地址发送的响应icmp报文,则确定丢包用户ip地址的步骤,直至达到第三预设轮数;确定所述至少一个节点ip地址中的至少一个掉线节点ip地址,所述至少一个掉线节点ip地址为至少一个连续第三预设轮数均为丢包节点ip地址的节点ip地址;基于所述多个节点ip地址以及所述至少一个掉线节点ip地址进确定出至少一个
在线节点ip地址;向所述第二hash桶中的所述在线节点ip地址通过遍历的方式发送icmp报文;若向所述第二hash桶中的所述在线节点ip地址发送icmp报文未达到第四预设轮数,则循环执行向所述第二hash桶中的所述在线节点ip地址通过遍历的方式发送icmp报文的步骤,直至达到第四预设轮数;基于所述每个在线节点ip地址对应的响应icmp报文,在第二hash桶中寻找所述响应icmp报文对应的节点ip地址;将所述每个在线节点ip地址对应的宽带质量检测数据插入所述每个在线节点ip地址对应的结构体中对应的位置;基于所述每个在线节点ip地址对应的宽带质量检测数据确定所述每个在线节点ip地址的宽带质量数据,所述每个在线节点ip地址的宽带质量数据包括每个在线节点ip地址对应的丢包率、平均时延以及时延抖动值中的至少一项;基于所述每个在线节点ip地址对应的丢包率确定所述每个在线节点ip地址对应的丢包率得分,和/或,基于所述每个在线节点ip地址对应的平均时延确定所述每个在线节点ip地址对应的平均时延得分,和/或,基于所述每个在线节点ip地址对应的时延抖动值确定所述每个在线节点ip地址对应的时延抖动值得分;基于所述每个在线节点ip地址对应的丢包率得分、所述平均时延得分以及所述时延抖动值得分中的至少一项计算所述每个在线节点ip地址对应的质量分;将所述每个在线节点ip地址以及对应的宽带质量数据和/或质量分上传至数据库。
18.通过采用上述技术方案,若某一在线用户ip地址的质量分低于第一预设分值则说明该在线用户ip地址可能出现故障或者异常,对低于第一预设分值的在线用户ip地址进行路由探测,得到在线用户ip地址对应的中间节点ip地址。按照对用户ip地址进行质量检测方法对中间节点ip地址进行质量检测,从而检测出中间节点ip地址的质量分,进而便于工作人员得知在线用户ip地址对应的中间节点ip地址的质量。将每个在线节点ip地址对应的宽带质量数据和/或质量分上传至数据库,便于工作人员查看每个在线节点ip地址的历史宽带质量数据和/或质量分。
19.在另一种可能实现的方式中,包括:将所述每个在线节点ip地址的质量分分别与第二预设分值进行比较;若任一在线节点ip地址的质量分低于第二预设分值;则控制显示所述任一在线节点ip地址和/或输出告警信息。
20.通过采用上述技术方案,将每个在线节点ip地址的质量分与第二预设分值进行比较,从而便于判断出可能发生故障的在线节点ip地址,控制显示可能发生故障的在线节点ip地址并输出告警信息便于工作人员及时得知可能发生故障的在线节点ip地址。
21.第二方面,本技术提供一种检测用户宽带质量的装置,采用如下的技术方案:一种检测用户宽带质量的装置,包括:获取模块,用于获取多个用户ip地址;
第一确定模块,用于从所述多个用户ip地址中确定至少一个在线用户ip地址;第一发送模块,用于向所述至少一个在线用户ip地址发送icmp报文;接收模块,用于接收所述至少一个在线用户ip地址发送的对应的响应icmp报文;第二确定模块,用于基于每个在线用户ip地址、所述每个ip地址对应的icmp报文以及所述每个在线用户ip地址对应的响应icmp报文确定所述每个在线用户ip地址对应的宽带质量检测数据,所述宽带质量检测数据包括丢包数和/或时延;第三确定模块,用于基于所述每个在线用户ip地址的宽带质量检测数据确定所述每个在线用户ip地址对应的宽带质量数据,所述宽带质量数据包括丢包率、平均时延以及时延抖动值中的至少一项;第一计算模块,用于基于所述每个在线用户ip地址对应的宽带质量数据进行质量计算并得到所述每个在线用户ip地址各自对应的质量分。
22.通过采用上述技术方案,获取模块获取到多个用户ip地址后,由于多个用户ip地址并不是全部同时在线的,因此第一确定模块先确定出至少一个在线用户ip地址,从而节省带宽,减少资源的浪费,第一发送模块向至少一个在线用户ip地址发送icmp报文,接收模块接收至少一个在线用户ip地址对应的响应icmp报文,第二确定模块基于至少一个在线用户ip地址对应的响应icmp报文来确定出至少一个在线ip地址分别对应的宽带质量检测数据,第三确定模块基于宽带质量检测数据确定宽带质量数据,宽带质量数据包括用户ip地址的丢包率、平均时延以及时延抖动值中的至少一项,第一计算模块根据在线用户ip地址对应的宽带质量数据进行质量计算得到在线用户ip地址的质量分,通过质量分能够更直观方便地得知用户的宽带质量。
23.在另一种可能的实现方式中,所述装置还包括:第一建立模块,用于基于所述多个用户ip地址建立第一hash桶;第一生成模块,用于对每个用户ip地址生成所述每个用户ip地址分别对应的结构体,所述结构体中包括所述每个用户ip地址以及所述每个用户ip地址分别对应的宽带质量检测数据;第一插入模块,用于将所述每个用户ip地址对应的结构体插入所述第一hash桶。
24.在另一种可能的实现方式中,第一确定模块在从所述多个用户ip地址中确定至少一个在线用户ip地址时,具体用于:向所述第一hash桶中的所述多个用户ip地址通过遍历的方式发送icmp报文;若在第一预设时间内未接收到至少一个用户ip地址对应的响应icmp报文,则确定丢包用户ip地址,所述丢包用户ip地址为未接收到所述多个用户ip地址中对应的响应icmp报文的用户ip地址;循环执行向所述第一hash桶中的所述多个用户ip地址通过遍历的方式发送icmp报文,若在第一预设时间内未接收到至少一个用户ip地址对应的响应icmp报文,则确定丢包用户ip地址的步骤,直至达到第一预设轮数;确定所述多个用户ip地址中的至少一个掉线用户ip地址,所述至少一个掉线用户ip地址为至少一个连续第一预设轮数均为丢包用户ip地址的用户ip地址;基于所述多个用户ip地址以及所述至少一个掉线用户ip地址进确定出至少一个在线用户ip地址。
25.在另一种可能的实现方式中,第一发送模块在向所述至少一个在线用户ip地址发送icmp报文时,具体用于:向所述第一hash桶中的所述在线用户ip地址通过遍历的方式发送icmp报文;若向所述第一hash桶中的所述在线用户ip地址发送icmp报文未达到第二预设轮数,则循环执行向所述第一hash桶中的所述在线用户ip地址通过遍历的方式发送icmp报文的步骤,直至达到第二预设轮数。
26.在另一种可能的实现方式中,所述第二确定模块在基于每个在线用户ip地址、所述每个ip地址对应的icmp报文以及所述每个在线用户ip地址对应的响应icmp报文确定所述每个在线用户ip地址对应的宽带质量检测数据时,具体用于:基于所述每个在线用户ip地址对应的响应icmp报文,在第一hash桶中寻找所述响应icmp报文对应的用户ip地址;将所述每个在线用户ip地址对应的宽带质量检测数据插入所述每个在线用户ip地址对应的结构体中对应的位置。
27.在另一种可能的实现方式中,所述第一计算模块在基于所述每个在线用户ip地址对应的宽带质量数据进行质量计算并得到所述每个在线用户ip地址各自对应的质量分时,具体用于以下至少一项:基于所述每个在线用户ip地址对应的丢包率确定所述每个在线用户ip地址对应的丢包率得分,和/或,基于所述每个在线用户ip地址对应的平均时延确定所述每个在线用户ip地址对应的平均时延得分,和/或,基于所述在线用户ip地址对应的时延抖动值确定所述每个在线用户ip地址对应的抖动值得分;基于所述每个在线用户ip地址对应的丢包率得分、所述平均时延得分以及时延抖动值得分中的至少一项,确定所述每个在线用户ip地址对应的质量分。
28.在另一种可能的实现方式中,所述装置还包括:探测模块,用于当任一在线ip地址的质量分低于第一预设分值时,则对所述任一在线ip地址进行路由探测并得到经过所述任一在线ip地址的至少一个节点ip地址;第二建立模块,用于基于所述至少一个节点ip地址建立第二hash桶;第二生成模块,用于对所述至少一个节点ip地址生成每个节点ip地址分别对应的结构体,所述结构体中包括所述每个节点ip地址以及所述每个节点ip地址分别对应的宽带质量检测数据,所述每个节点ip地址分别对应的宽带质量检测数据包括所述每个节点ip地址对应的丢包数和/或时延;第二插入模块,用于将所述每个节点ip地址对应的结构体插入所述第二hash桶;第二发送模块,用于向所述第二hash桶中的所述至少一个节点ip地址通过遍历的方式发送icmp报文;第四确定模块,用于当在第二预设时间内未接收到所述第二hash桶中至少一个节点ip地址对应的响应icmp报文时,确定丢包节点ip地址,所述丢包节点ip地址为所述未接收到至少一个节点ip地址对应的响应icmp报文的节点ip地址;第一循环模块,用于循环执行向所述第二hash桶中的所述至少一个节点ip地址通
过遍历的方式发送icmp报文,若在第二预设时间内未接收到至少一个节点ip地址发送的响应icmp报文,则确定丢包用户ip地址的步骤,直至达到第三预设轮数;第五确定模块,用于确定所述至少一个节点ip地址中的至少一个掉线节点ip地址,所述至少一个掉线节点ip地址为至少一个连续第三预设轮数均为丢包节点ip地址的节点ip地址;第六确定模块,用于基于所述多个节点ip地址以及所述至少一个掉线节点ip地址进确定出至少一个在线节点ip地址;第三发送模块,用于向所述第二hash桶中的所述在线节点ip地址通过遍历的方式发送icmp报文;第二循环模块,用于当向所述第二hash桶中的所述在线节点ip地址发送icmp报文未达到第四预设轮数时,循环执行向所述第二hash桶中的所述在线节点ip地址通过遍历的方式发送icmp报文的步骤,直至达到第四预设轮数;寻找模块,用于基于所述每个在线节点ip地址对应的响应icmp报文,在第二hash桶中寻找所述响应icmp报文对应的节点ip地址;第三插入模块,用于将所述每个在线节点ip地址对应的宽带质量检测数据插入所述每个在线节点ip地址对应的结构体中对应的位置;第七确定模块,用于基于所述每个在线节点ip地址对应的宽带质量检测数据确定所述每个在线节点ip地址的宽带质量数据,所述每个在线节点ip地址的宽带质量数据包括每个在线节点ip地址对应的丢包率、平均时延以及时延抖动值中的至少一项;第八确定模块,用于基于所述每个在线节点ip地址对应的丢包率确定所述每个在线节点ip地址对应的丢包率得分,和/或,基于所述每个在线节点ip地址对应的平均时延确定所述每个在线节点ip地址对应的平均时延得分,和/或,基于所述每个在线节点ip地址对应的时延抖动值确定所述每个在线节点ip地址对应的时延抖动值得分;第二计算模块,用于基于所述每个在线节点ip地址对应的丢包率得分、所述平均时延得分以及所述时延抖动值得分中的至少一项计算所述每个在线节点ip地址对应的质量分;上传模块,用于将所述每个在线节点ip地址以及对应的宽带质量数据和/或质量分上传至数据库。
29.在另一种可能的实现方式中,所述装置还包括:比较模块,用于将所述每个在线节点ip地址的质量分分别与第二预设分值进行比较;控制模块,用于当任一在线节点ip地址的质量分低于第二预设分值时;控制显示所述任一在线节点ip地址和/或输出告警信息。
30.第三方面,本技术提供一种电子设备,采用如下的技术方案:一种电子设备,该电子设备包括:一个或多个处理器;存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第一方面任一中可能的实现方式所示的一种检测用户宽带质量的方法。
31.第四方面,本技术提供一种计算机可读存储介质,采用如下的技术方案:一种计算机可读存储介质,包括:存储有能够被处理器加载并执行实现第一方面任一种可能的实现方式所示的一种检测用户宽带质量的方法的计算机程序。
32.综上所述,本技术包括以下至少一种有益技术效果:1. 电子设备获取到多个用户ip地址后,由于多个用户ip地址并不是全部同时在线的,因此先确定出至少一个在线用户ip地址,从而节省带宽,减少资源的浪费,向至少一个在线用户ip地址发送icmp报文,根据至少一个在线用户ip地址发送的响应icmp报文来确定出至少一个在线ip地址分别对应的宽带质量检测数据,基于宽带质量检测数据确定出宽带质量数据。宽带质量数据包括用户ip地址的丢包率、平均时延以及时延抖动值中的至少一项,根据在线用户ip地址对应的宽带质量数据进行质量计算得到在线用户ip地址的质量分,通过质量分能够更直观方便地得知用户的宽带质量;2. 若某一在线用户ip地址的质量分低于第一预设分值则说明该在线用户ip地址可能出现故障或者异常,对低于第一预设分值的在线用户ip地址进行路由探测,得到在线用户ip地址对应的中间节点ip地址。按照对用户ip地址进行质量检测方法对中间节点ip地址进行质量检测,从而检测出中间节点ip地址的质量分,进而便于工作人员得知在线用户ip地址对应的中间节点ip地址的质量。将每个在线节点ip地址对应的宽带质量数据和/或质量分上传至数据库,便于工作人员查看每个在线节点ip地址的历史宽带质量数据和/或质量分。
附图说明
33.图1是本技术实施例的一种检测用户宽带质量的方法的流程示意图。
34.图2是本技术实施例的一种检测用户宽带质量的装置的结构示意图。
35.图3是本技术实施例的一种电子设备的结构示意图。
具体实施方式
36.以下结合附图对本技术作进一步详细说明。
37.领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本技术的权利要求范围内都受到专利法的保护。
38.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
39.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
40.下面结合说明书附图对本技术实施例作进一步详细描述。
41.本技术实施例提供了一种检测用户宽带质量的方法可以基于dpdk架构运行,还可以基于netmap架构运行。其中,dpdk全称intel data plane development kit,是intel提供的数据平面开发工具集。netmap是一个高效的收发报文的 i/o 框架。
42.本技术实施例提供了一种检测用户宽带质量的方法,由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此,该终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例在此不做限制,如图1所示,该方法包括步骤s101、步骤s102、步骤s103、步骤s104、步骤s105、步骤s106以及步骤s107,其中s101,获取多个用户ip地址。
43.其中,获取多个用户ip地址可以从运营商处拿到所有宽带用户ip地址。例如可以将多个用户ip地址拷贝到u盘中,然后再通过u盘输入至电子设备中,以使得电子设备获取到多个用户ip地址。或者从运营商处拉取所有宽带用户ip地址的表格,将表格导入电子设备中以使得电子设备获取到多个用户ip地址。工作人员可通过定时从运营商处获取宽带用户ip地址,以使得电子设备能够获取到新增的用户ip地址。
44.s102,从多个用户ip地址中确定至少一个在线用户ip地址。
45.对于本技术实施例,假设多个用户ip地址的数量为两千万个,两千万个用户ip地址中包括在线ip地址以及掉线用户ip地址,假设平均在线用户ip地址数为五百万个,其余一千五百万个用户ip地址为掉线用户ip地址。为了减少检测用户ip地址质量时带宽占用并且提高检测效率,因此,需对掉线用户ip地址进行筛选,并确定处全部在线用户ip地址,仅对在线用户ip地址进行质量探测。
46.s103,向至少一个在线用户ip地址发送icmp报文。
47.对于本技术实施例,为了检测在线用户ip地址的质量,需向在线用户ip地址发送icmp报文,icmp是tcp/ip协议族的一个子协议,用于在ip地址、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。控制消息对于用户数据的传递起着重要的作用。电子设备向在线用户ip地址发送icmp报文,请求在线用户ip地址响应。
48.s104,接收至少一个在线用户ip地址发送的对应的响应icmp报文。
49.对于本技术实施例,在线用户ip地址接收到icmp报文后发送响应icmp报文,电子设备通过响应icmp报文以及发送的icmp报文来检测在线用户ip地址的质量。若电子设备未接收到在线用户ip地址发送的响应icmp报文,则说明在线用户ip地址发生丢包。
50.s105,基于每个在线用户ip地址、每个ip地址对应的icmp报文以及每个在线用户ip地址对应的响应icmp报文确定每个在线用户ip地址对应的宽带质量检测数据,宽带质量检测数据包括丢包数和/或时延。
51.其中,丢包数为电子设备未接收到某一在线用户ip地址对应的响应icmp报文的次数,时延为电子设备发送一个icmp报文到接收到某一在线用户ip地址的响应icmp报文之间的时间差。例如,电子设备向某一在线用户ip地址发送一个icmp报文后,在1s后接收到该在线用户ip地址对应的响应icmp报文,则该在线用户ip地址对应的本次时延为1s。
52.s106,基于每个在线用户ip地址的宽带质量检测数据确定每个在线用户ip地址对应的宽带质量数据,宽带质量数据包括丢包率、平均时延以及时延抖动值中的至少一项。
53.其中,丢包率、平均时延以及时延抖动值均由在线用户ip地址、发送的icmp报文以及响应icmp报文得出。丢包率由向某一在线用户ip地址发送的icmp报文数以及接收到该在线用户ip地址对应的响应icmp报文数的比值确定,例如电子设备向某一在线用户ip地址发送200个icmp报文,接收到该在线用户ip地址发送的响应icmp的数量为199。该在线用户ip地址对应的丢包率=未接收到的响应icmp报文数/发送的icmp报文数=1/200=0.005。
54.平均时延为某一在线用户ip地址对应的至少一次时延的平均值。例如,某一在线用户ip地址的5次时延分别为1s、2s、0.5s、0.8s以及1s,则该在线用户ip地址对应的平均时延=(1s+2s+0.5s+0.8s+1s)/5=1.06s。
55.时延抖动值为某一在线用户ip地址对应的至少一次时延中,最大时延与最小时延的差值,例如,某一在线用户ip地址对应了5次时延,其中最大时延为2s,最小时延为0.2s,则该在线用户ip地址对应的时延抖动值为1.8s。
56.对于本技术实施例,丢包率、平均时延以及时延抖动值中的至少一项用于表征在线用户ip地址的质量更准确直观。
57.s107,基于每个在线用户ip地址对应的宽带质量数据进行质量计算并得到每个在线用户ip地址各自对应的质量分。
58.对于本技术实施例,对宽带质量数据中的丢包率、平均时延以及时延抖动值中的至少一项进行打分计算,进而得到每个在线用户ip地址对应的质量分。通过每个在线用户ip地址的质量分便于查看和区分每个在线用户ip地址的质量。
59.本技术实施例的一种可能的实现方式,步骤s101之后包括步骤s108(图中未示出)、步骤s109(图中未示出)以及步骤s110(图中未示出),其中,s108,基于多个用户ip地址建立第一hash桶。
60.其中,hash桶是盛放不同key链表的容器,hash桶也是一种hash表,在这里我们可以把每个key的位置看作是一个桶,桶里放了一个链表。在本技术实施例中,key由用户ip地址生成,hash函数由用户ip地址映射到用户ip地址对应的宽带质量检测数据。基于多个用户ip地址建立第一hash桶能够便于电子设备更快地找到需要的用户ip地址。
61.s109,对每个用户ip地址生成每个用户ip地址分别对应的结构体,结构体中包括每个用户ip地址以及每个用户ip地址分别对应的宽带质量检测数据。
62.对于本技术实施例,例如某一在线用户ip地址为192.168.1.1。创建该在线用户ip地址对应的结构体,结构体即为该在线用户ip地址对应的需要存放的宽带质量检测数据。
63.s110,将每个用户ip地址对应的结构体插入第一hash桶。
64.对于本技术实施例,将各个用户ip地址对应的结构体插入第一hash桶中,从而使得结构体与用户ip地址进行对应。以便于在得到宽带质量检测数据后将宽带质量检测数据快速找到对应的用户ip地址,并将宽带质量检测数据存入结构体中。
65.本技术实施例的一种可能的实现方式,步骤s102在从多个用户ip地址中确定至少一个在线用户ip地址时,具体包括步骤s1021(图中未示出)、步骤s1022(图中未示出)、步骤s1023(图中未示出)、步骤s1024(图中未示出)以及步骤s1025(图中未示出),其中,s1021,向第一hash桶中的多个用户ip地址通过遍历的方式发送icmp报文。
66.其中,遍历是指沿着某条搜索路线,依次对树、图和表中每个节点均做一次访问。访问节点所做的操作依赖于具体的应用问题,具体的访问操作可能是检查节点的值、更新节点的值等。在本技术实施例中,遍历的方式即为按照多个用户ip地址在第一hash桶的的排列顺序依次进行访问。访问操作为向多个用户ip地址发送icmp报文。
67.s1022,若在第一预设时间内未接收到至少一个用户ip地址对应的响应icmp报文,则确定丢包用户ip地址,丢包用户ip地址为未接收到多个用户ip地址中对应的响应icmp报文的用户ip地址。
68.对于本技术实施例,假设第一hash桶中存有两千万个用户ip地址,依次向每个用户ip地址发送icmp报文。向其中一个用户ip地址发送一个icmp报文后,在3s内未接收到该用户ip地址对应的响应icmp报文,则说明该用户ip地址发生丢包,并且确定该用户ip地址为丢包用户ip地址。
69.s1023,循环执行向第一hash桶中的多个用户ip地址通过遍历的方式发送icmp报文,若在第一预设时间内未接收到至少一个用户ip地址对应的响应icmp报文,则确定丢包用户ip地址的步骤,直至达到第一预设轮数。
70.对于本技术实施例,以步骤s1022为例,假设第一预设轮数为3次,向第一hash桶中的两千万个用户ip地址通过遍历的方式发送完1轮后,可间隔3s,间隔3s的作用为等待接收响应icmp报文。在3s后再次向第一hash桶中的两千万用户ip地址发送一轮icmp报文。再次间隔3s后,向第一hash桶中的两千万用户ip地址发送一轮icmp报文,此时发送icmp报文的轮数达到三轮。通过循坏发送3轮icmp报文来确定掉线用户ip地址,第一预设轮数越多,检测用户ip地址掉线越准确。
71.s1024,确定多个用户ip地址中的至少一个掉线用户ip地址,至少一个掉线用户ip地址为至少一个连续第一预设轮数均为丢包用户ip地址的用户ip地址。
72.对于本技术实施例,以步骤s1023为例,假设电子设备发送完3轮icmp报文后,连续3轮均未接收到某一用户ip地址对应的响应icmp报文,则该用户ip地址连续3轮均为丢包用户ip地址,说明该用户ip地址掉线,该用户ip地址为掉线用户ip地址。
73.s1025,基于多个用户ip地址以及至少一个掉线用户ip地址进确定出至少一个在线用户ip地址。
74.对于本技术实施例,假设电子设备发送完3轮icmp报文后,从两千万用户ip地址中确定出了一千五百万掉线用户ip地址,则剩余五百万用户ip地址为在线用户ip地址。
75.本技术实施例的一种可能的实现方式,步骤s103在向至少一个在线用户ip地址发送icmp报文时,具体包括步骤s1031(图中未示出)以及步骤s1032(图中未示出),其中,s1031,向第一hash桶中的在线用户ip地址通过遍历的方式发送icmp报文。
76.对于本技术实施例,以步骤s1025为例,假设从第一hash桶中确定出了一千五百万个掉线用户ip地址,则对该一千五百万个掉线用户ip地址进行掉线标注并更新第一hash桶。电子设备在向第一hash桶中的用户ip地址发送icmp报文时,不再向一千五百万掉线用户ip地址发送icmp报文。从而减少了带宽占用,并提高了检测效率。
77.s1032,若向第一hash桶中的在线用户ip地址发送icmp报文未达到第二预设轮数,则循环执行向第一hash桶中的在线用户ip地址通过遍历的方式发送icmp报文的步骤,直至达到第二预设轮数。
78.对于本技术实施例,确定出第一hash桶中的在线用户ip地址后,向每个在线用户ip地址通过遍历的方式发送icmp报文。假设第二预设轮数为197轮,电子设备循环通过遍历的方式向五百万在线用户ip地址发送197轮icmp报文,直至达到197轮。以其中一个在线用户ip地址为例,电子设备向该在线用户ip地址每发送一轮icmp报文,电子设备接收该在线用户ip地址对应的响应icmp报文。电子设备向该在线用户ip地址发送完197轮icmp报文后,基于发送的icmp报文以及接收到的响应icmp报文来确定该在线用户ip地址对应的宽带质量检测数据。
79.本技术实施例的一种可能的实现方式,步骤s105在基于每个在线用户ip地址、每个ip地址对应的icmp报文以及每个在线用户ip地址对应的响应icmp报文确定每个在线用户ip地址对应的宽带质量检测数据时,具体包括步骤s1051以及步骤s1052,其中,宽带质量检测数据包括丢包数和/或时延,其中,s1051,基于每个在线用户ip地址对应的响应icmp报文,在第一hash桶中寻找响应icmp报文对应的用户ip地址。
80.对于本技术实施例,例如,电子设备接收到某一在线用户ip地址对应的响应icmp报文,电子设备判断该响应icmp报文是否为合法报文,若该响应icmp报文为合法报文,则电子设备基于hash函数寻找该响应icmp报文对应的在线用户ip地址,通过hash函数寻找该响应icmp报文对应的在线用户ip地址更快捷。
81.s1052,将每个在线用户ip地址对应的宽带质量检测数据插入每个在线用户ip地址对应的结构体中对应的位置。
82.对于本技术实施例,例如电子设备接收到某一在线用户ip地址对应的响应icmp报文,电子设备在发送icmp报文后1s接收到了该在线用户ip地址对应的响应icmp报文,则该在线用户ip地址本轮的时延为1s。电子设备将1s插入该在线用户ip地址对应的结构体中时延的位置。
83.以步骤s1022以及步骤s1032为例,电子设备发送完第一预设次数和第二预设次数后统计该在线用户ip地址作为丢包用户ip地址的轮数。假设电子设备发送完3+197=200轮icmp报文后,该在线用户ip地址作为丢包用户ip地址的轮数为198轮,则说明该在线用户ip地址丢包数为198。电子设备将198次插入该在线用户ip地址对应的结构体中丢包数的位置。
84.本技术实施例的一种可能的实现方式,步骤s107在基于每个在线用户ip地址对应的宽带质量数据进行质量计算并得到每个在线用户ip地址各自对应的质量分时,包括步骤s1071(图中未示出)、步骤s1072(图中未示出)以及步骤s1073(图中未示出)中的至少一项,还包括步骤s1074(图中未示出),其中,s1071,基于每个在线用户ip地址对应的丢包率确定每个在线用户ip地址对应的丢包率得分。
85.对于本技术实施例,丢包率处于不同区间时,丢包率得分并不相同,例如,假设丢包率为x,0≤x≤0.02时,丢包率得分=100

10/0.02
×
丢包率。例如丢包率为0.02,则丢包率得分=100

10=90。0.02<x≤0.05时,丢包率得分=90

10/0.03
×
(x

0.02)。例如丢包率为0.05,丢包率得分=90

10=80。0.05<x≤0.08时,丢包率得分=80

20/0.03
×
(x

0.05)。例如丢包率为0.08,丢包率得分=80

20=60。0.08<x≤1时,丢包率得分=60

20/0.92
×
(x

0.08)。例如丢包率为1,丢包率得分=60

20/0.92
×
0.02≈43.5。1<x<3时,丢包率得分=40

40/2
×
(x

1)。x≥3时,丢包率得分=0。
86.s1072,基于每个在线用户ip地址对应的平均时延确定每个在线用户ip地址对应的平均时延得分。
87.对于本技术实施例,假设某一在线用户ip地址产生了5次时延,5次时延分别为1s、0.5s、0.8s、1.1s以及0.6s,则该在线用户ip地址对应的平均时延=(1s+0.5s+0.8s+1.1s+0.6s)/5=0.8s。平均时延得分处于不同区间时,平均时延得分均不同。假设平均时延为y,当0≤y≤20时,平均时延得分=100。当20<y≤30时,平均时延得分=100

10/10
×
(y

20)。当30<y≤40时,平均时延得分=90

10/10
×
(y

30)。当40<y≤50时,平均时延得分=80

20/10
×
(y

40)。当50<y≤60时,平均时延得分=60

20/10
×
(y

50)。当60<y<100时,平均时延得分=40

40/40
×
(y

60)。当y≥100时,平均时延得分=0。
88.s1073,基于在线用户ip地址对应的时延抖动值确定每个在线用户ip地址对应的时延抖动值得分。
89.对于本技术实施例,以步骤s1072为例,假设某一在线用户ip地址产生了5次时延,5次时延分别为1s、0.5s、0.8s、1.1s以及0.6s。该在线用户ip地址的时延抖动值=1.1s

0.5s=0.6s。当时延抖动值位于不同区间时,时延抖动值得分均不同。假设该在线用户ip地址的时延抖动值为z,当0≤z≤0.5时,时延抖动值得分=100。当0<z≤1时,时延抖动值得分=100

10/0.5
×
(z

0.5)。当1<z≤2时,时延抖动值得分=90

10/1
×
(z

1)。当2<z≤20时,时延抖动值得分=80

20/18
×
(z

2)。当20<z≤30时,时延抖动值得分=60

20/10
×
(z

20)。当30<z<60时,时延抖动值得分=40

40/30
×
(z

30)。当z≥60时,时延抖动值得分=0。
90.本技术实施例中,z=0.6,该在线用户ip地址对应的时延抖动值得分=100

10/0.5
×
0.1=98。
91.s1074,基于每个在线用户ip地址对应的丢包率得分、平均时延得分以及时延抖动值得分中的至少一项,确定每个在线用户ip地址对应的质量分。
92.对于本技术实施例,假设宽带质量数据包括丢包率、平均时延以及时延抖动值。以步骤s1071、步骤s1072以及步骤s1073为例,该在线用户ip地址对应的丢包率得分为90,该在线用户ip地址对应的平均时延得分为100,该在线用户ip地址对应的时延抖动值得分为98。该在线用户ip地址对应的质量分=1/2
×
90+7/20
×
100+3/20
×
98=45+35+14.7=94.7。其中,质量分的计算公式可提前根据需要设定,并将质量分的计算公式输入至该电子设备中。
93.对于本技术实施例,当包括步骤s1071、步骤s1072以及步骤s1073中的至少两项时,对步骤s1071、步骤s1072以及步骤s1073中的至少两项的执行顺序不做限定。
94.本技术实施例的一种可能的实现方式,步骤s107之后包括步骤s111(图中未示出)、步骤s112(图中未示出)、步骤s113(图中未示出)、步骤s114(图中未示出)、步骤s115(图中未示出)、步骤s116(图中未示出)、步骤s117(图中未示出)、步骤s118(图中未示出)、步骤s119(图中未示出)、步骤s120(图中未示出)、步骤s121(图中未示出)、步骤s122(图中未示出)、步骤s123(图中未示出)、步骤s124(图中未示出)、步骤s125(图中未示出)、步骤s126(图中未示出)以及步骤s127(图中未示出),其中,s111,若任一在线用户ip地址的质量分低于第一预设分值,则对任一在线用户ip地址进行路由探测并得到经过任一在线用户ip地址的至少一个节点ip地址。
95.对于本技术实施例,假设第一预设分值为80分,例如某一在线用户ip地址的质量分为79分,则对经过该在线用户ip地址的路由节点进行探测。在本技术实施例中,探测该在线用户ip地址的路由节点可使用tracert工具。假设对该在线用户ip地址进行路由探测后得到10个路由节点,并获取10个路由节点的节点ip地址。
96.s112,基于至少一个节点ip地址建立第二hash桶。
97.对于本技术实施例,基于至少一个节点ip地址建立第二hash桶能够便于电子设备更快地找到需要的节点ip地址。
98.s113,对至少一个节点ip地址生成每个节点ip地址分别对应的结构体,结构体中包括每个节点ip地址以及每个节点ip地址分别对应的宽带质量检测数据,每个节点ip地址分别对应的宽带质量检测数据包括每个节点ip地址对应的丢包数和/或时延。
99.对于本技术实施例,对于本技术实施例,例如某一节点ip地址为10.0.0.1。创建该节点ip地址对应的结构体,结构体即为该节点ip地址对应的需要存放的宽带质量检测数据。
100.s114,将每个节点ip地址对应的结构体插入第二hash桶。
101.对于本技术实施例,将每个节点ip地址对应的结构体插入第二hash桶中,从而使得结构体与节点ip地址进行对应。以便于在得到节点ip地址对应的宽带质量检测数据后将宽带质量检测数据快速找到对应的节点ip地址,并将宽带质量检测数据存入结构体中。
102.s115,向第二hash桶中的至少一个节点ip地址通过遍历的方式发送icmp报文。
103.在本技术实施例中,遍历的方式即为按照至少一个节点ip地址在第二hash桶的的排列顺序依次进行访问。访问操作为向至少一个节点ip地址发送icmp报文。
104.s116,若在第二预设时间内未接收到第二hash桶中至少一个节点ip地址对应的响应icmp报文,则确定丢包节点ip地址,丢包节点ip地址为未接收到至少一个节点ip地址对应的响应icmp报文的节点ip地址。
105.对于本技术实施例,以步骤s111为例,依次向每个节点ip地址发送icmp报文,对每个节点ip地址均发送一次icmp报文后为一轮。向其中一个用户ip地址发送一个icmp报文后,假设在3s内未接收到该节点ip地址对应的响应icmp报文,则说明该节点ip地址发生丢包,并且确定该节点ip地址为丢包节点ip地址。
106.s117,循环执行向第二hash桶中的至少一个节点ip地址通过遍历的方式发送icmp报文,若在第二预设时间内未接收到至少一个节点ip地址发送的响应icmp报文,则确定丢包用户ip地址的步骤,直至达到第三预设轮数。
107.对于本技术实施例,以步骤s116为例,假设第三预设轮数为3次,向第二hash桶中的十个节点ip地址通过遍历的方式发送完1轮后,可间隔3s,间隔3s的作用为等待接收响应icmp报文。在3s后再次向第二hash桶中的十个节点ip地址发送一轮icmp报文。再次间隔3s后,向第二hash桶中的十个节点ip地址发送一轮icmp报文,此时发送icmp报文的轮数达到三轮。通过循坏发送3轮icmp报文来确定掉线节点ip地址,第三预设轮数越多,检测节点ip地址掉线越准确。
108.s118,确定至少一个节点ip地址中的至少一个掉线节点ip地址,至少一个掉线节点ip地址为至少一个连续第三预设轮数均为丢包节点ip地址的节点ip地址。
109.对于本技术实施例,以步骤s117为例,假设电子设备发送完3轮icmp报文后,连续3
轮均未接收到某一节点ip地址对应的响应icmp报文,则该节点ip地址连续3轮均为丢包节点ip地址,说明该节点ip地址掉线,该节点ip地址为掉线节点ip地址。
110.s119,基于多个节点ip地址以及至少一个掉线节点ip地址进确定出至少一个在线节点ip地址。
111.对于本技术实施例,假设电子设备发送完3轮icmp报文后,从十个节点ip地址中确定出了一个掉线节点ip地址,则剩余九个节点ip地址为在线节点ip地址。
112.s120,向第二hash桶中的在线节点ip地址通过遍历的方式发送icmp报文。
113.对于本技术实施例,以步骤s119为例,假设从第二hash桶中确定出了一个掉线节点ip地址,则对该一个掉线节点ip地址进行掉线标注并更新第二hash桶。电子设备在向第二hash桶中的用户ip地址发送icmp报文时,不再向一个掉线节点ip地址发送icmp报文。从而减少了带宽占用,并提高了检测效率。
114.s121,若向第二hash桶中的在线节点ip地址发送icmp报文未达到第四预设轮数,则循环执行向第二hash桶中的在线节点ip地址通过遍历的方式发送icmp报文的步骤,直至达到第四预设轮数。
115.对于本技术实施例,确定出第二hash桶中的在线节点ip地址后,向每个在线节点ip地址通过遍历的方式发送icmp报文。假设第四预设轮数为197轮,电子设备循环通过遍历的方式向九个在线节点ip地址发送197轮icmp报文,直至达到197轮。以其中一个在线节点ip地址为例,电子设备向该在线节点ip地址每发送一轮icmp报文,电子设备接收该在线节点ip地址对应的响应icmp报文。电子设备向该在线节点ip地址发送完197轮icmp报文后,基于发送的icmp报文以及接收到的响应icmp报文来确定该在线节点ip地址对应的宽带质量检测数据。
116.s122,基于每个在线节点ip地址对应的响应icmp报文,在第二hash桶中寻找响应icmp报文对应的节点ip地址。
117.对于本技术实施例,例如,电子设备接收到某一在线节点ip地址对应的响应icmp报文,电子设备判断该响应icmp报文是否为合法报文,若该响应icmp报文为合法报文,则电子设备基于hash函数寻找该响应icmp报文对应的在线节点ip地址,通过hash函数寻找该响应icmp报文对应的在线节点ip地址更快捷。
118.s123,将每个在线节点ip地址对应的宽带质量检测数据插入每个在线节点ip地址对应的结构体中对应的位置。
119.对于本技术实施例,例如电子设备接收到某一在线节点ip地址对应的响应icmp报文,电子设备在发送icmp报文后1s接收到了该在线节点ip地址对应的响应icmp报文,则该在线节点ip地址本轮的时延为1s。电子设备将1s插入该在线节点ip地址对应的结构体中时延的位置。电子设备再向该在线节点ip地址发送完200轮icmp报文后,仅接收到199个该在线节点ip地址对应的响应icmp报文,则丢包数为1,电子设备将1插入该在线节点ip地址对应的结构体中丢包数的位置。
120.s124,基于每个在线节点ip地址对应的宽带质量检测数据确定每个在线节点ip地址的宽带质量数据,每个在线节点ip地址的宽带质量数据包括每个在线节点ip地址对应的丢包率、平均时延以及时延抖动值中的至少一项;对于本技术实施例,丢包率、平均时延以及时延抖动值均由在线节点ip地址、发送
的icmp报文以及响应icmp报文得出。丢包率由向某一在线节点ip地址发送的icmp报文数以及接收到该在线节点ip地址对应的响应icmp报文数的比值确定,例如电子设备向某一在线节点ip地址发送200个icmp报文,接收到该在线节点ip地址发送的响应icmp的数量为199。该在线节点户ip地址对应的丢包率=未接收到的响应icmp报文数/发送的icmp报文数=1/200=0.005。
121.平均时延为某一在线节点ip地址对应的至少一次时延的平均值。例如,某一在线节点ip地址的5次时延分别为1s、2s、0.5s、0.8s以及1s,则该在线节点ip地址对应的平均时延=(1s+2s+0.5s+0.8s+1s)/5=1.06s。
122.时延抖动值为某一在线节点ip地址对应的至少一次时延中,最大时延与最小时延的差值,例如,某一在线节点ip地址对应了5次时延,其中最大时延为2s,最小时延为0.2s,则该在线节点ip地址对应的时延抖动值为1.8s。
123.在本技术实施例中,丢包率、平均时延以及时延抖动值中的至少一项用于表征在线节点ip地址的质量更准确直观。
124.s125,基于每个在线节点ip地址对应的丢包率确定每个在线节点ip地址对应的丢包率得分,和/或,基于每个在线节点ip地址对应的平均时延确定每个在线节点ip地址对应的平均时延得分,和/或,基于每个在线节点ip地址对应的时延抖动值确定每个在线节点ip地址对应的时延抖动值得分。
125.对于本技术实施例,计算某一在线节点ip地址的宽带质量检测数据得分的步骤参照步骤s1071、步骤s1072以及步骤s1073中的至少一项,在此不再赘述。
126.s126,基于每个在线节点ip地址对应的丢包率得分、平均时延得分以及时延抖动值得分中的至少一项确定每个在线节点ip地址对应的质量分。
127.对于本技术实施例,计算每个在线节点ip地址的步骤参照步骤s1074,在此不再赘述;s127,将每个在线节点ip地址以及对应的宽带质量数据和/或质量分上传至数据库。
128.对于本技术实施例,电子设备将每个在线节点ip地址对应的宽带质量数据和/或质量分上传至数据库。例如得到某一在线节点ip地址的宽带质量数据为“丢包率0.02,平均时延0.8s,时延抖动值0.6s”,该在线节点ip地址的质量分为94.7。将该在线节点ip地址、“丢包率0.02,平均时延0.8s,时延抖动值0.6s”以及质量分94.7上传至数据库中。从而便于工作人员查看该在线节点ip地址的宽带质量数据以及质量分。
129.本技术实施例的一种可能的实现方式,步骤s127之后包括步骤s128(图中未示出)以及步骤s129(图中未示出),其中,s128,将每个在线节点ip地址的质量分分别与第二预设分值进行比较。
130.对于本技术实施例,假设第二预设分值为90,某一在线节点ip地址的质量分为89,将该在线节点ip地址的质量分与第二预设分值进行比较,得到89小于90。
131.s129,若任一在线节点ip地址的质量分低于第二预设分值;则控制显示任一在线节点ip地址和/或输出告警信息。
132.对于本技术实施例,以步骤s128为例,该在线节点ip地址小于90分,则说明该在线节点ip地址可能出现故障。电子设备控制显示屏显示“该在线节点ip地址可能发生故障”的信息,电子设备还可以发出“该在线节点ip地址可能发生故障”的语音告警信息。从而使得工作人员快速得知该在线节点ip地址可能发射故障。
133.上述实施例从方法流程的角度介绍一种检测用户宽带质量的方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种检测用户宽带质量的装置,具体详见下述实施例。
134.本技术实施例提供一种检测用户宽带质量的装置,如图2所示,该一种检测用户宽带质量的装置20具体可以包括:获取模块201,用于获取多个用户ip地址;第一确定模块202,用于从多个用户ip地址中确定至少一个在线用户ip地址;第一发送模块203,用于向至少一个在线用户ip地址发送icmp报文;接收模块204,用于接收至少一个在线用户ip地址发送的对应的响应icmp报文;第二确定模块205,用于基于每个在线用户ip地址、每个ip地址对应的icmp报文以及每个在线用户ip地址对应的响应icmp报文确定每个在线用户ip地址对应的宽带质量检测数据,宽带质量检测数据包括丢包数和/或时延;第三确定模块206,用于基于每个在线用户ip地址的宽带质量检测数据确定每个在线用户ip地址对应的宽带质量数据,宽带质量数据包括丢包率、平均时延以及时延抖动值中的至少一项;第一计算模块207,用于基于每个在线用户ip地址对应的宽带质量数据进行质量计算并得到每个在线用户ip地址各自对应的质量分。
135.对于本技术实施例,201获取模块获取到多个用户ip地址后,由于多个用户ip地址并不是全部同时在线的,因此第一确定模块202先确定出至少一个在线用户ip地址,从而节省带宽,减少资源的浪费,第一发送模块203向至少一个在线用户ip地址发送icmp报文,接收模块204接收至少一个在线用户ip地址对应的响应icmp报文,第二确定模块205基于至少一个在线用户ip地址对应的响应icmp报文来确定出至少一个在线用户ip地址分别对应的宽带质量检测数据,第三确定模块206基于宽带质量检测数据确定宽带质量数据,宽带质量数据包括用户ip地址的丢包率、平均时延以及时延抖动值中的至少一项,第一计算模块207根据在线用户ip地址对应的宽带质量数据进行质量计算得到在线用户ip地址的质量分,通过质量分能够更直观方便地得知用户的宽带质量。
136.本技术实施例的一种可能的实现方式,装置20还包括:第一建立模块,用于基于多个用户ip地址建立第一hash桶;第一生成模块,用于对每个用户ip地址生成每个用户ip地址分别对应的结构体,结构体中包括每个用户ip地址以及每个用户ip地址分别对应的宽带质量检测数据;第一插入模块,用于将每个用户ip地址对应的结构体插入第一hash桶。
137.本技术实施例的一种可能的实现方式,第一确定模块202在从多个用户ip地址中确定至少一个在线用户ip地址时,具体用于:向第一hash桶中的多个用户ip地址通过遍历的方式发送icmp报文;若在第一预设时间内未接收到至少一个用户ip地址对应的响应icmp报文,则确定
丢包用户ip地址,所述丢包用户ip地址为未接收到所述多个用户ip地址中对应的响应icmp报文的用户ip地址;循环执行向第一hash桶中的多个用户ip地址通过遍历的方式发送icmp报文,若在第一预设时间内未接收到至少一个用户ip地址对应的响应icmp报文,则确定丢包用户ip地址的步骤,直至达到第一预设轮数;确定多个用户ip地址中的至少一个掉线用户ip地址,至少一个掉线用户ip地址为至少一个连续第一预设轮数均为丢包用户ip地址的用户ip地址;基于多个用户ip地址以及至少一个掉线用户ip地址进确定出至少一个在线用户ip地址。
138.本技术实施例的一种可能的实现方式,第一发送模块203在向至少一个在线用户ip地址发送icmp报文时,具体用于:向第一hash桶中的在线用户ip地址通过遍历的方式发送icmp报文;若向第一hash桶中的在线用户ip地址发送icmp报文未达到第二预设轮数,则循环执行向第一hash桶中的在线用户ip地址通过遍历的方式发送icmp报文的步骤,直至达到第二预设轮数。
139.本技术实施例的一种可能的实现方式,第二确定模块在基于每个在线用户ip地址、每个ip地址对应的icmp报文以及每个在线用户ip地址对应的响应icmp报文确定每个在线用户ip地址对应的宽带质量检测数据时,具体用于:基于每个在线用户ip地址对应的响应icmp报文,在第一hash桶中寻找响应icmp报文对应的用户ip地址;将每个在线用户ip地址对应的宽带质量检测数据插入每个在线用户ip地址对应的结构体中对应的位置。
140.本技术实施例的一种可能的实现方式,第一计算模块207在基于每个在线用户ip地址对应的宽带质量数据进行质量计算并得到每个在线用户ip地址各自对应的质量分时,具体用于以下至少一项:基于每个在线用户ip地址对应的丢包率确定每个在线用户ip地址对应的丢包率得分,和/或,基于每个在线用户ip地址对应的平均时延确定每个在线用户ip地址对应的平均时延得分,和/或,基于在线用户ip地址对应的时延抖动值确定每个在线用户ip地址对应的抖动值得分;基于每个在线用户ip地址对应的丢包率得分、平均时延得分以及时延抖动值得分中的至少一项,确定每个在线用户ip地址对应的质量分。
141.本技术实施例的一种可能的实现方式,装置20还包括:探测模块,用于当任一在线ip地址的质量分低于第一预设分值时,则对任一在线ip地址进行路由探测并得到经过任一在线ip地址的至少一个节点ip地址;第二建立模块,用于基于至少一个节点ip地址建立第二hash桶;第二生成模块,用于对至少一个节点ip地址生成每个节点ip地址分别对应的结构体,结构体中包括每个节点ip地址以及每个节点ip地址分别对应的宽带质量检测数据,每
个节点ip地址分别对应的宽带质量检测数据包括每个节点ip地址对应的丢包数和/或时延;第二插入模块,用于将每个节点ip地址对应的结构体插入第二hash桶;第二发送模块,用于向第二hash桶中的至少一个节点ip地址通过遍历的方式发送icmp报文;第四确定模块,用于当在第二预设时间内未接收到所述第二hash桶中至少一个节点ip地址对应的响应icmp报文时,确定丢包节点ip地址,所述丢包节点ip地址为所述未接收到至少一个节点ip地址对应的响应icmp报文的节点ip地址;第一循环模块,用于循环执行向第二hash桶中的至少一个节点ip地址通过遍历的方式发送icmp报文,若在第二预设时间内未接收到至少一个节点ip地址发送的响应icmp报文,则确定丢包用户ip地址的步骤,直至达到第三预设轮数;第五确定模块,用于确定至少一个节点ip地址中的至少一个掉线节点ip地址,至少一个掉线节点ip地址为至少一个连续第三预设轮数均为丢包节点ip地址的节点ip地址;第六确定模块,用于基于多个节点ip地址以及至少一个掉线节点ip地址进确定出至少一个在线节点ip地址;第三发送模块,用于向第二hash桶中的在线节点ip地址通过遍历的方式发送icmp报文;第二循环模块,用于当向第二hash桶中的在线节点ip地址发送icmp报文未达到第四预设轮数时,循环执行向第二hash桶中的在线节点ip地址通过遍历的方式发送icmp报文的步骤,直至达到第四预设轮数;寻找模块,用于基于每个在线节点ip地址对应的响应icmp报文,在第二hash桶中寻找响应icmp报文对应的节点ip地址;第三插入模块,用于将每个在线节点ip地址对应的宽带质量检测数据插入每个在线节点ip地址对应的结构体中对应的位置;第七确定模块,用于基于每个在线节点ip地址对应的宽带质量检测数据确定每个在线节点ip地址的宽带质量数据,每个在线节点ip地址的宽带质量数据包括每个在线节点ip地址对应的丢包率、平均时延以及时延抖动值中的至少一项;第八确定模块,用于基于每个在线节点ip地址对应的丢包率确定每个在线节点ip地址对应的丢包率得分,和/或,基于每个在线节点ip地址对应的平均时延确定每个在线节点ip地址对应的平均时延得分,和/或,基于每个在线节点ip地址对应的时延抖动值确定每个在线节点ip地址对应的时延抖动值得分;第二计算模块,用于基于每个在线节点ip地址对应的丢包率得分、平均时延得分以及时延抖动值得分中的至少一项计算每个在线节点ip地址对应的质量分;上传模块,用于将每个在线节点ip地址以及对应的宽带质量数据和/或质量分上传至数据库。
142.本技术实施例的一种可能的实现方式,装置20还包括:比较模块,用于将每个在线节点ip地址的质量分分别与第二预设分值进行比较;
控制模块,用于当任一在线节点ip地址的质量分低于第二预设分值时;控制显示任一在线节点ip地址和/或输出告警信息。
143.对于本技术实施例,第一确定模块202、第二确定模块205、第三确定模块206、第四确定模块、第五确定模块、第六确定模块、第七确定模块以及第八确定模块可以是相同的确定模块,也可以为不同的确定模块,也可以为部分相同的确定模块。第一计算模块207以及第二计算模块可以是相同的计算模块也可以是不同的计算模块。第一插入模块、第二插入模块以及第三插入模块可以为相同的插入模块,也可以为不同的插入模块,也可以为部分相同的插入模块。第一建立模块以及第二建立模块可以为相同的建立模块,也可以为不同的建立模块。第一循环模块以及第二循环模块可以是相同的循环模块,也可以是不同的循环模块。第一发送模块203、第二发送模块以及第三发送模块可以是相同的发送模块,也可以是不同的发送模块,也可以是部分相同的发送模块。第一生成模块以及第二生成模块可以是相同的生成模块,也可以是不同的生成模块。
144.本技术实施例提供了一种检测用户宽带质量的装置20,适用于上述方法实施例,在此不在赘述。
145.本技术实施例中提供了一种电子设备,如图3所示,图3所示的电子设备30包括:处理器301和存储器303。其中,处理器301和存储器303相连,如通过总线302相连。可选地,电子设备300还可以包括收发器304。需要说明的是,实际应用中收发器304不限于一个,该电子设备30的结构并不构成对本技术实施例的限定。
146.处理器301可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器301也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
147.总线302可包括一通路,在上述组件之间传送信息。总线302可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
148.存储器303可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd

rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
149.存储器303用于存储执行本技术方案的应用程序代码,并由处理器301来控制执
行。处理器301用于执行存储器303中存储的应用程序代码,以实现前述方法实施例所示的内容。
150.其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。还可以为服务器等。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
151.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与相关技术相比,本技术实施例中电子设备获取到多个用户ip地址后,由于多个用户ip地址并不是全部同时在线的,因此先确定出至少一个在线用户ip地址,从而节省带宽,减少资源的浪费,向至少一个在线用户ip地址发送icmp报文,根据至少一个在线用户ip地址发送的响应icmp报文来确定出至少一个在线ip地址分别对应的宽带质量检测数据,基于宽带质量检测数据确定出宽带质量数据。宽带质量数据包括用户ip地址的丢包率、平均时延以及时延抖动值中的至少一项,根据在线用户ip地址对应的宽带质量数据进行质量计算得到在线用户ip地址的质量分,通过质量分能够更直观方便地得知用户的宽带质量。
152.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
153.以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1