# 项目说明书: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 ```