因为业务需要,监控手机客户端对服务器在一分钟内请求的总数和IP访问量(求PV、IP数),要对IP数据进行去重操作,单位时间1分钟的HTTP请求,IP相同的只保留一个IP,少用IF,多用循环。利用Lua语言Table数据结构Key的唯一性,不能重复的特点进行去重操作,代码如下:
Moonscript实现:
Lua实现:
如果此方案有坑,望请大家留言。
与正文不相关的部分(可以忽略不看):
实际上为了简单,我们统计IP总数,并没有统计IP对应的出现次数,如果保存了 IP和IP出现的次数,其实就可以统计单位一分钟内某IP访问的频次,在实际业务当中,一个IP的请求次数是有一定的取值范围的,高出合格峰值很多的话,这个IP是应该被关注,后续可以将上面的方法,进行扩展,实时统计出IP请求量, 与设定的预警值进行比较,如果发现总请求次数与总IP数据过高,发出预警。
也可以将前Top10-100名IP请求的数,进行饼图可视化显示。
领取专属 10元无门槛券
私享最新 技术干货