说明书.md 5.6 KB

# 项目说明书: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. 安装依赖包:

    pip install -r requirements.txt
    
    1. 配置文件
    2. 设置定时任务(参考README中的定时任务配置)

    五、配置说明

    系统配置主要通过文件进行,包括数据库连接参数、数据处理配置等。可通过函数读取配置内容。

    六、关键代码说明

    数据处理核心方法

    方法实现了多进程处理数据的逻辑:

    def run(self):
    with multiprocessing.Pool(2) as pool:
        pool.map(self.read_and_save_db, self.yesterday_tables)
    

配置文件读取

函数提供了统一的配置读取接口:

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