3、任务日志表 (task_logs)
sql
CREATE TABLE task_logs (
log_id BIGINT AUTO_INCREMENT PRIMARY KEY,
task_id INT NOT NULL,
level ENUM('INFO', 'WARNING', 'ERROR') NOT NULL,
message TEXT NOT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (task_id) REFERENCES spider_tasks(task_id),
INDEX idx_task_id (task_id)
) ENGINE=InnoDB PARTITION BY RANGE COLUMNS(create_time) (
PARTITION p2023 VALUES LESS THAN ('2024-01-01'),
PARTITION p2024 VALUES LESS THAN ('2025-01-01')
) COMMENT='任务执行日志';
4、性能指标表 (performance_metrics)
sql
CREATE TABLE performance_metrics (
metric_id BIGINT AUTO_INCREMENT PRIMARY KEY,
task_id INT NOT NULL,
request_url VARCHAR(1024) NOT NULL,
response_time DECIMAL(10,6) COMMENT '响应时间(s)',
success TINYINT(1) DEFAULT 1 COMMENT '是否成功',
error_code INT COMMENT '错误码',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
INDEX idx_task_time (task_id, create_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='请求性能指标';
5、配置管理表 (spider_configs)
sql
CREATE TABLE spider_configs (
config_id INT AUTO_INCREMENT PRIMARY KEY,
task_id INT UNIQUE NOT NULL,
proxy_type ENUM('HTTP', 'SOCKS5', 'NONE') DEFAULT 'NONE',
user_agent TEXT,
cookies TEXT,
headers TEXT,
timeout INT DEFAULT 30,
concurrency INT DEFAULT 5,
FOREIGN KEY (task_id) REFERENCES spider_tasks(task_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='爬虫配置参数';