• cralwer_爬虫代理中心的简要设计


    代理中心:

    简单讲: 精细化控制限制资源的使用,保证有限资源的充分利用及有效性。支持动态增减,实时更新。

    需求

    rest api提供请求输入与输出

    客户端使用代理心跳接收,用于更新代理的使用次数,被占用情况

    监测代理可用情况,检查代理对指定请求的响应

    按客户端,线程名称,请求任务号,分配代理

    代理中心表的curd操作

    主要逻辑

    简单讲: 精细化控制限制资源的使用,保证有限资源的充分利用及有效性。支持动态增减,实时更新。

    回收监控

    代理验证

    数据表

    代理信息表

    主键,代理ip,代理端口(-1时为本机代理),用户名,密码,最多允许多少机器使用,
    代理体眠时间(扔回代理池后,再次被使用),
    代理使用最低间隔(同一个task请求间隔,两者取大),
    代理最后使用时间
    代理使用次数
    代理可用状态
    代理标记位(int数值位)
    创建时间
    最后修改时间
    代理组(用于申请时,可以指定代理组)
    备注


    代理验证申请表

    主键,爬虫任务id,请求url,请求参数,最长响应时间,返回内容检测,检测类型(contains regex)
    创建时间,最后修改时间,申请状态(初始,进行中,已完成,失败),申请代理个数
    创建时已验证代理数,当前已验证代理数,是否在上次申请基础上新增(上次代理数超过时,非新增将不验证)
    代理组(只从某个代理组中获取)

    代理验证表

    验证申请id(pk),爬虫任务id,代理id,验证可用状态,响应时长,验证标记位,
    使用次数,使用成功次数,使用失败次数,最后使用时间,

    代理分配表

    主键,爬虫任务id,验证申请id,代理id,客户端标识,线程标识,
    使用次数,使用成功次数,使用失败次数,最后使用时间,分配状态(已分配,已回收,超时未知)
    创建时间,修改时间,回收时间,心跳次数,最后一次心跳时间

    公用配置表

    代理失效回收时间
    心跳发送间隔

    dao层业务

    爬虫数据库通用dao业务:
    1、各表的单条记录的curd(更改字段属性)
    2、心跳更新(2,3,4扩展dao实现)
    3、查询代理入代理验证表
    4、查询代理验证表到代理分配表

  • 相关阅读:
    slot的使用实例
    vue slot插槽的使用方法
    ES6必知必会 (九)—— Module
    MVC3 项目总结
    项目总结,
    oa项目总结
    项目总结。。。
    Delphi 项目总结
    Ubuntu常用命令大全
    linux系统文件目录解析
  • 原文地址:https://www.cnblogs.com/cphmvp/p/4195124.html
Copyright © 2020-2023  润新知