2019寒假训练营第三次作业

学习视频课程

学习笔记

实验题

所用的count_min_sketch

热身题

思路
以ubuntu系统自带的gedit编辑器写好代码,然后打开终端用gcc的指令编译并运行代码。

结果

基本题

了解新技术

1.简单描述什么是sketch:
sketch就是利用哈希值来估算数据流中任意元素频率的方法。要计算元素的频率,可以给所有元素都设置一个计数器,但面对大量的元素,这种方法会消耗大量的存储空间。而sketch利用hash函数计算相应的哈希值,并根据哈希值的范围开数组存储元素出现的次数,大大节约空间。

2.描述Count-min sketch的算法过程:
0.比sketch更准确,使用的空间也更多。

1.选定d个hash函数,开一个 dxm 的二维整数数组作为哈希表。

2.对于每个元素,分别使用d个hash函数计算相应的哈希值,然后在对应的位置上增1,二维数组中的各个整数称为sketch。

3.要查询某个元素的频率时,只需要取出d个sketch, 返回最小的那一个(其实d个sketch都是该元素的近似频率,返回最小的那个以减小误差)

实现新技术

思路
打开GitHub,搜索Count-min sketch,结合搜索引擎挑选代码,复制代码,运行代码。

结果

获取用户请求

思路
借助搜索引擎了解tcpdump,然后打开终端输入命令,得到请求文件。

结果

请求格式处理

思路
0.不懂题目的意思没有思路。

1.决定加上过滤条件,重新抓取数据包重定向到请求文件中。

2.编写程序,读取请求文件,找出符合条件的请求并按相应格式输出到新文件中。

结果

测试新技术

思路
1.首先大胆猜测题目应该跟上次是一样的意思,多个用户向bob发出请求,于是重新处理文件,每行保留一个ip地址和一个数据包的长度。

2.先用程序大致跑一遍,知道应该设置多大的T。

3.在程序中每次读取新的请求都判断是否超出阈值,超出则保存到黑名单中。

4.输出黑名单。

结果

开放题

理论部分:

1.解释为什么 sketch 可以省空间:
sketch借助hash把字符串都转换成了固定范围内的整型常量,作为数组的下标来索引该字符串,并不直接存储字符串,使得不定长的字符串更易查询与计数。
而且sketch所用的数组是定长的一维数组,不会随处理量的增加而增加,因此节省空间。

2.用流程图描述Count-min sketch的算法过程

3.拿它和你改进后方法进行对比,分析优劣
优:比改进后的方法更快更省空间,并且可以处理很长的字符串。
劣:用的技术更高级,用到一堆没学过的,而且代码并不好找,还需要花时间理解。

4.吐槽Count-min sketch
方法本身挺好,没有什么想吐槽的

实践部分:

0.0.实践中使用【tcpdump -n -t -q -i any udp >> pakcet_capture.txt】过滤格式清楚的udp协议包,便于处理使用。
0.1.udp包好少啊啊啊啊啊,要等好久,偶尔还会有ip6的包...。
0.2.发现count_min_sketch用Devc++默认的cpp文件编译出错,c则正常。

1.现阶段至少也要读取文件一次,查不到怎么把tcpdump的信息直接给程序使用,也找不到tcpdump直接过滤得到所需格式的指令。只能是把处理pakcet_capture.txt的程序和后面的找黑客程序拼在一起,在冥思苦想之下尽可能实现了手动实时处理(?)

2.就是不停地抓包,然后手动多次启动程序(再实现自动启动程序不就自动实时处理了么??) ,随着抓到的包增加,黑客也会一个个浮出水面......如图所示

我就是代码

我就是图:

本文作者:心有所向,日复一日,必有精进

本文链接:https://www.cnblogs.com/Stareven233/p/10370285.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   NoNoe  阅读(312)  评论(4编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 Relaxロウきゅーぶ 渡辺剛
  2. 2 カントリーマーチ 栗コーダーカルテット
  3. 3 BGM-M7 かみむら周平
  4. 4 八百万の風が吹く Foxtail-Grass Studio
  5. 5 雲流れ Foxtail-Grass Studio
  6. 6 Melody 梶浦由記
  7. 7 ロック风アレンジ Angel Beats
  8. 8 ヨスガノソラ メインテーマ -遠い空へ- Bruno Wen-li
  9. 9 Servante du feu Matthieu Ladouce
  10. 10 Lost my pieces (Piano Ver.) 橋本由香利
  11. 11 潮鳴り 折戸伸治
  12. 12 雪風 Foxtail-Grass Studio
  13. 13 Bloom of Youth 清水淳一
  14. 14 落月随山隐 饭碗的彼岸,夜莺与玫瑰
  15. 15 Autumn Journey Eric Chiryoku
  16. 16 Alpha C418
  17. 17 Money之歌 神楽Mea
カントリーマーチ - 栗コーダーカルテット
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

暂无歌词