本技术涉及流量监控,特别涉及一种流量监控方法、系统及存储介质。
背景技术:
1、现有的网络流量监控方案中,为了提升网络交互的安全性,减少破坏性流量,通常采用令牌桶算法对突增流量进行限制,该令牌桶算法是一种常用的流量控制技术,其基本原理为固定大小的令牌桶会持续累计令牌数量,即令牌会自动以一定的速率放入令牌桶中。当令牌桶填满后令牌会从桶中溢出。当有数据包到来后会消耗令牌桶中的令牌来传输数据,当令牌桶中的令牌数量小于数据包大小时则不发送流量,即如果没有足够的令牌发送数据包,这个数据包就会等待,直到有足够的令牌之后再发送该数据包。此种方法能够对数据传输速度过快的情况进行监控和限制,以使数据平稳发送。由于令牌桶中的令牌有数量上限,因此,在该数量上限之内能够允许一定的流量突增,但是不能超过限制。
2、也就是说,现有的网络传输监控方案只能对数据传输速度过快的情况进行监控,而无法实现对数据传输速度过慢的情况进行监控。
技术实现思路
1、本技术提供一种流量监控方法、装置、系统及存储介质,用以实现对数据传输速度过慢的情况进行监控。
2、本技术提供一种流量监控方法,包括:
3、当检测到有数据包传输成功且目标令牌桶不为空时,向目标令牌桶中添加令牌,其中,添加的令牌数量与数据包大小正相关,所述目标令牌桶初始状态为满令牌状态,所述目标令牌桶中的令牌数量随着时间推移而减少;
4、当所述目标令牌桶中剩余令牌数量小于预设值时,确定当前处于流量异常状态,其中,所述流量异常状态所对应的流量速率低于预设速率。
5、本技术的有益效果在于:在数据包传输成功时能够向目标令牌桶中添加令牌,且目标令牌桶中的令牌数量随着时间推移而减少,因此,如果数据传输速度过慢,则会导致令牌的添加速度小于消耗速度,就会导致令牌桶中的剩余令牌数量越来越少,当所述目标令牌桶中剩余令牌数量小于预设值时,确定当前处于流量异常状态,从而实现对数据传输速度过慢情况的监控。
6、在一个实施例中,在所述确定当前处于流量异常状态之后,所述方法还包括:
7、发出流量过低的预警信息,以及重置所述目标令牌桶。
8、在一个实施例中,所述重置所述目标令牌桶,包括:
9、将所述目标令牌桶重置为满令牌状态。
10、在一个实施例中,所述方法还包括:
11、获取上一个数据包到达时目标令牌桶中的令牌数目及所述目标令牌桶的令牌消耗速度;
12、将所述上一个数据包到达时的令牌数目以及所述令牌消耗速度代入第一预设公式中计算目标令牌桶中的剩余令牌数量;
13、当所述目标令牌桶中的剩余令牌数量大于0时,确定所述目标令牌桶不为空。
14、在一个实施例中,所述将所述上一个数据包到达时的令牌数目以及所述令牌消耗速度代入第一预设公式中计算目标令牌桶中的剩余令牌数量,包括:
15、根据所述目标令牌桶的令牌消耗速度计算上一个数据包到达时刻到当前时刻的时间段内目标令牌桶中令牌的理论消耗数量;
16、计算上一个数据包到达时目标令牌桶中的令牌数目与所述理论消耗数量之间的差值是否大于0;
17、当上一个数据包到达时目标令牌桶中的令牌数目与所述理论消耗数量之间的差值大于0时,确定上一个数据包到达时目标令牌桶中的令牌数目与所述理论消耗数量之间的差值为目标令牌桶中的剩余令牌数量。
18、在一个实施例中,所述方法还包括:
19、当上一个数据包到达时目标令牌桶中的令牌数目与所述理论消耗数量之间的差值小于0时,确定目标令牌桶中的剩余令牌数量为0。
20、在一个实施例中,所述向目标令牌桶中添加令牌,包括:
21、确定传输成功的数据包的大小;
22、将所述数据包大小代入第二预设公式中计算应向目标令牌桶中添加令牌的数量;
23、根据应向目标令牌桶中添加令牌的数量向所述目标令牌桶中添加令牌。
24、本技术还提供一种流量监控装置,包括:
25、添加模块,用于当检测到有数据包传输成功且目标令牌桶不为空时,向目标令牌桶中添加令牌,其中,添加的令牌数量与数据包大小正相关,所述目标令牌桶初始状态为满令牌状态,所述目标令牌桶中的令牌数量随着时间推移而减少;
26、第一确定模块,用于当所述目标令牌桶中剩余令牌数量小于预设值时,确定当前处于流量异常状态,其中,所述流量异常状态所对应的流量速率低于预设速率。
27、在一个实施例中,所述装置还包括:
28、重置模块,用于发出流量过低的预警信息,以及重置所述目标令牌桶。
29、在一个实施例中,所述重置模块,包括:
30、重置子模块,用于将所述目标令牌桶重置为满令牌状态。
31、在一个实施例中,所述装置还包括:
32、获取模块,用于获取上一个数据包到达时目标令牌桶中的令牌数目及所述目标令牌桶的令牌消耗速度;
33、代入模块,用于将所述上一个数据包到达时的令牌数目以及所述令牌消耗速度代入第一预设公式中计算目标令牌桶中的剩余令牌数量;
34、第二确定模块,用于当所述目标令牌桶中的剩余令牌数量大于0时,确定所述目标令牌桶不为空。
35、在一个实施例中,所述代入模块,包括:
36、第一计算子模块,用于根据所述目标令牌桶的令牌消耗速度计算上一个数据包到达时刻到当前时刻的时间段内目标令牌桶中令牌的理论消耗数量;
37、第二计算子模块,用于计算上一个数据包到达时目标令牌桶中的令牌数目与所述理论消耗数量之间的差值是否大于0;
38、确定子模块,用于当上一个数据包到达时目标令牌桶中的令牌数目与所述理论消耗数量之间的差值大于0时,确定上一个数据包到达时目标令牌桶中的令牌数目与所述理论消耗数量之间的差值为目标令牌桶中的剩余令牌数量。
39、在一个实施例中,所述装置还包括:
40、第三确定模块,用于当上一个数据包到达时目标令牌桶中的令牌数目与所述理论消耗数量之间的差值小于0时,确定目标令牌桶中的剩余令牌数量为0。
41、在一个实施例中,所述添加模块,包括:
42、确定子模块,用于确定传输成功的数据包的大小;
43、第二代入子模块,用于将所述数据包大小代入第二预设公式中计算应向目标令牌桶中添加令牌的数量;
44、添加子模块,用于根据应向目标令牌桶中添加令牌的数量向所述目标令牌桶中添加相应数量的令牌。
45、本技术还提供一种电子设备,包括:
46、至少一个处理器;以及,
47、与所述至少一个处理器通信连接的存储器;其中,
48、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行以实现上述任意一项实施例所记载的流量监控方法。
49、本技术还提供一种计算机可读存储介质,当存储介质中的指令由电子设备对应的处理器执行时,使得电子设备能够实现上述任意一项实施例所记载的流量监控方法。
50、本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
51、下面通过附图和实施例,对本技术的技术方案做进一步的详细描述。