# 项目说明书:104规约数据获取系统
## 一、项目概述
本项目用于处理和分析风电场SCADA数据、故障报警数据等,通过定时任务实现数据的自动获取、解析与存储,为风电场运行状态监控和数据分析提供支持。
## 二、项目结构
项目根目录位于,主要包含以下文件和目录:
### 核心文件
- :项目主程序入口,负责协调数据处理流程
- :SCADA数据解析脚本
- :故障报警数据解析脚本
- :数据库分区管理脚本
- :数据库表创建脚本
### 主要目录
1. **conf/**:配置文件目录
- :系统配置文件
- 多个Excel文件:包含测点表、故障代码表等业务配置数据
2. **data/**:数据处理核心模块
- :数据读取与存储管理
- :数据分类标识
- :风电场日数据统计
3. **service/**:服务层模块
- :数据库连接管理
- :数据传输服务
4. **utils/**:工具类模块
- :配置文件读取工具
- :MySQL数据库连接工具
- :日志管理工具
## 三、核心功能
### 1. 数据处理流程
项目核心数据处理逻辑在类中实现,主要流程包括:
- 读取历史数据表信息
- 多线程处理风机数据
- 数据清洗与转换
- 数据分类标识
- 结果存储与临时表清理
### 2. 定时任务调度
系统通过crontab配置定时任务,实现自动化数据处理:
- 每10分钟执行SCADA数据解析:`0/10 * * * * /home/trans/script/start.sh parse_scada_data.py`
- 每10分钟执行故障报警数据解析:`0/10 * * * * /home/trans/script/start.sh parse_warn_fault_data.py`
- 每天1点执行数据转化:`0 1 * * * /home/trans/script/start.sh app_run.py`
- 每月1号1点执行分区管理:`0 1 1 * * sh /home/trans/script/start.sh add_or_remove_partition.py`
### 3. 数据库交互
通过实现数据库连接,在中定义了全局数据库连接实例。
## 四、环境要求与安装
### 环境要求
- Python 3.x
- 依赖包:详见
### 安装步骤
1. 克隆项目到本地
2. 安装依赖包:
```bash
pip install -r requirements.txt
```
3. 配置文件
4. 设置定时任务(参考README中的定时任务配置)
## 五、配置说明
系统配置主要通过文件进行,包括数据库连接参数、数据处理配置等。可通过函数读取配置内容。
## 六、关键代码说明
### 数据处理核心方法
方法实现了多进程处理数据的逻辑:
```python:/d:/project/energy-online-data/data/ReadAndSaveDb.py
def run(self):
with multiprocessing.Pool(2) as pool:
pool.map(self.read_and_save_db, self.yesterday_tables)
```
### 配置文件读取
函数提供了统一的配置读取接口:
```python:/d:/project/energy-online-data/utils/conf/read_conf.py
def read_conf(dict_conf, col, default_value=None):
if col in dict_conf:
res = dict_conf[col]
if res is None and default_value is not None:
return default_value
return res
else:
return default_value
```