那些年我參與智慧電網相關專案血淚史 - 李昀陞

Loading embed note

投影片

講者介紹

Peter
GitHub 活躍開源開發者

  • Active open source contributor
  • LaravelConf Taiwan Member
  • An associate engineer
    • DevOps
    • Back-end
    • System Architecture Research
    • Web Application Security
    • PHP, Python and JavaScript
  • Smart Grid technology (2017~)
  • Slide:https://slides.com/peter279k/mopcon-2020

臺灣智慧電網 Smart Grid

  • 法規制度
  • 產業發展
  • 資通訊基礎建設
  • 發電調度

為多方領域匯集的領域
輸電配電售電

What is Smart Grid?

  • 龐大複雜的電網整合系統
  • 各國依照電力系統狀況,發展涵蓋不同的重點

Introduction to Demand Response System

  1. 需量競價措施

    • 管理電力需求的一種方法,開放用戶把節省的電力賣回電力公司
    • 是指電力系統高載時期
    • 開放用戶把節省下來的電賣回給電力公司由用戶出價競標,電力公司則採愈低報價者先
    • 得標方式決定得標者,若得標者於抑低用電期間確實減少用電量,則可獲得電費扣減
  2. 接手需量競價平台

    • 沒有文件,只有程式碼(沒有完整記錄)
    • 每天被 PM 追殺
    • 系統時常不穩定
    • 系統平台前後端有很多隱藏的Bug
    • 連個系統架構圖都沒有
  3. 識別主要問題

    • 從開發角度
    • 從系統角度來看
      • System Architecture
        • Network
        • Data Exchanging
        • Demand Response System Architecture(Original Data Exchanging)
      • Data Parsing
      • Data Exchanging
      • Database backup
        • 資料交換後寫不進去
        • df -lh
          • VPS 主機硬碟滿了?
          • 因為 MySql Dump 指令備份資料儲存在 local 端
        • du -h /data |sort -g
          • ./backup/databases
      • System Monitoring
        • 使用 SQL 語法獲得 DB 的健康狀況
        • 不用記錄健康狀況
      • System Reliability & System Maintainability
        • 利用 Agent 既有的 Legacy 系統架構上進行監控
        • 最終進入維護模式

用這麼多程式語言目的

資料解析 -> 讀檔與解析
資料交換 -> HTTP 請求

發現其實單一語言就可以解決上述問題
有些既有的資料交換程式是半殘的
許多交換步驟甚至是半手動
過多程式語言反而讓系統更加複雜

用戶開票系統 - NBS

NBS new billing system

Introduction to CIM and Smart Grid

  • CIM
    • Common infromation Model
    • 通用信息模型
    • 訊息格式與方法可以標準化
  • IEC
    • 國際電工協會
    • 想像成是IEFT RFC
    • 大約1991 found

DR System with no IEC Standards
轉變成 -> CIM System

CIM System Architecture

  • Containerize SOAP Adapter
  • 簡單物件選取協定

IEC-62325 with SOAP

  • 機組六段式機組報價
  • SOAP develop = SOAP header + SOAP body

CIM System DevOps

  1. SOAP push to bitBucket
  2. bitBucket ci to circleci
  3. bitBucket hook to slack

Introduction to Load Characteristic Analysis System

  • 需量競價負載分析系統
  • 加入資料科學,整合系統功能
  • 無法直接存取用戶服務數據大平台
    • 中間卡個 SAS,SAS 送資料到 FTP Server
  • 無法資料流監控問題
    • 合作的廠商負責用 SAS 串接但不做資料監控
    • PM 時常追殺:資料倉儲所儲存的原始資料有問題

CI/CD

教練 我想自動部署
Speaker

總結

  • 專案應該要 issue 化,可追蹤化
  • 交換資料或擷取資料都要有管線
  • 設計任何系統
    • Think twice
  • 任何系統都要有 log 與監控
    • 被 PM 追殺時才可以馬上知道問題
  • 將系統容器化在離線部署上會較方便
tags: MOPCON 2020
Select a repo