雏鹰训练营第三次作业

一、热身

1、安装VMware

https://pan.baidu.com/s/1G_vOoWCn-8wG4SAgRkeAlw#list/path=%2F
提取码:hyn2

2、安装ubuntu系统

我安装的是16.04.5

安装成功

3、写helloworld程序

首先在ubuntu终端编程的需要vim编辑器和gcc
安装vim编辑器
终端输入
sudo apt-get install vim


这里检测到gcc已经安装就无需再次安装了

安装gcc:
sudo apt-get install gcc

以上准备完之后,开始写程序,这里我用c语言。
先打开编辑器(输入vim helloworld.c)


按下i键进入insert模式,开始编辑。
代码如下:

最后按esc键退出,并按:wq保存代码。

二、新技术

1、了解sketch

  • **定义:Sketch是一种紧凑的用于流量数据统计亚线性数据结构,其使用哈希将数据映射到Sketch。 **
  • **优点:能进行大流和异常流的检测 不占用过多的计算和空间资源 **
    (因为采用抽样技术选取部分报文来推断网络流量总体的性能参数)
  • 缺点:数据的不完整性对测量结果的准确性造成了很大影响

2、count-min-sketch

  • 算法:

创建一个长度为 x 的数组,用来计数,初始化每个元素的计数值为 0;
对于一个新来的元素,哈希到 0 到 x 之间的一个数,比如哈希值为 i,作为数组的位置索引;
这是,数组对应的位置索引 i 的计数值加 1;
那么,这时要查询某个元素出现的频率,只要简单的返回这个元素哈希望后对应的数组的位置索引的计数

  • 注意事项:

对于低频的元素,估算值相对的错误可能会很大。

3、在虚拟机跑通count-min-sketch

**在虚拟机中跑通cms前,需先将测试文件导入虚拟机里,这里就涉及到共享文件,安装vmtools等。
方法参考:https://www.cnblogs.com/woodyoilove/p/8479458.html
我的安装过程

共享成功

最后,这是我在GitHub上找到cms.c的代码

最后没跑出来,error是找不到countminsketch这个函数
原因:没有安装countminsketch。
终极原因:我还没找到安装cms的方法。

posted @ 2019-11-27 13:20  ErikaSakii  阅读(205)  评论(0编辑  收藏  举报