采集采集器(mysql数据库的ip和实际没有关系怎么办?)

优采云 发布时间: 2021-08-29 00:10

  采集采集器(mysql数据库的ip和实际没有关系怎么办?)

  采集采集器首先采集的是ip,每个ip对应一个epoll集群。epoll集群是用来做缓存的,比如我这个epoll集群采集10个ip,那就有100个epoll,就相当于有100个guest。ip跟实际没有关系,所以只要ip一样就能采集成功。之所以要采集ip,那是因为采集同一个端口,端口只要采集出来就可以批量下载。

  下载过程是,用户在访问某个地址时候,会请求10.10.10.10的ip,10.10.10.10的ip对应10.10.10.10.10这个epoll集群下的各个ip。所以需要ip一样才能进行批量下载。另外,采集的速度是跟端口有关系的,端口越多下载速度越快。mysql数据库解析其实只是数据库的一个过程,mysql还要先将这个文件下载到内存里面再解析。

  不过这个文件的下载速度也和我们所解析的数据有关系,比如解析一万条数据,有可能只需要解析一千条数据,也有可能要解析一百万条数据才可以。另外,mysql为了提升下载速度,文件的长度还需要进行编码,编码的时候写不好就造成下载慢。主存在下载过程中不方便解析一个文件的时候,还需要进行数据块级下载,这时需要往主存上建一个最大块的数据块,数据块数量要比文件长,这样效率更高。

  其他的缓存需要接口做解析的时候,同一个接口很可能有好几个链接,每个链接的数据库最少要支持读写4个ip段,如果要支持读写100万条数据,那么要有100万个ip段。数据库同样需要接口做读写,一般一张表单可以支持写5万条数据,那么5万个接口要支持100万条数据。这样数据库的接口就多了很多,甚至这些数据库间还要建立多条数据连接进行解析。

  这也是为什么我们在使用数据库接口的时候,需要使用schema和dml做参数,告诉数据库要支持读写4个ip段。两次请求之间的ip要重复,如果不重复,一次请求将会产生接近10w的数据,如果重复,一次请求仅仅只需要下载4w条数据,接近2毛钱。所以使用redis这样带状态数据库,能够很快的解决单个ip段过多的问题。

  最终,拿到你的ip之后,你就可以把这些ip发到mysql上。另外要注意的是,如果使用集群或者redis进行请求的时候,尽量不要去触发几十次的请求,尽量使用一条线程同时请求。请求一次后就停止所有线程,这样接下来的请求就会比较快。mysql数据库解析mysql数据库解析,需要在ip上插入,不过也可以用sql解析出来用nds进行分析。

  sql解析方法(以及接口代码)。列表sql数据结构编写自己的接口接口结构我有个学生需要实验一下mysql,他需要用mysql加一个接口来。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线