萬物生長——漸進式開發光伏云系統實踐(一)

“光伏云”是近年來在新能源領域興起的概念,通過運用現代互聯網技術,光伏云系統可以深度分析客戶運營數據,幫助用戶智能化的管理光伏資產,甚至提供電量、電站交易,社區交互等功能。

從Web系統的角度來看,光伏云系統主要有以下特點:

1.單用戶數據量較高。以常見的每5分鐘記錄一次為例,單個設備每年的原始數據量為10萬條,采用中小型逆變器的電站各類需采集的設備接近上百,單個電站的數據量每年就在1000萬條左右。因此對于擁有多個電站的區域投資商用戶來講,僅設備原始數據數量就很可觀。

2.數據可視化為交互重點。類似其他偏中后臺的分析管理系統,由于面向專業用戶,光伏云系統的交互更注重功能性,目前功能開發的熱點大多基于數據的分析,數據可視化是光伏云系統前端交互設計的重點。

在光伏云系統的開發實踐中,我們發現由于以下的原因,傳統的“確定需求——設計架構——開發”方式難以正常的運作:

1.業務形式多樣,定制化需求要求高。作為一個新興的概念,光伏云系統尚未形成標準的業務模式,存在云端數據中心提供接入、區域集控中心部署等多種業務模式。具體功能需求也尚在摸索之中,往往用戶會提出定制化的需求。故光伏云系統的開發是一個持續的、不斷積累與改進的過程。

2.領域專業處于不斷研發中,功能變動頻繁。不同于一般的互聯網產品,光伏云系統的功能設計高度依賴電氣、氣象等領域專業,算法設計往往由其他專門的研發部門承擔,開發往往需要與領域專業的研發工作異步并行。

3.電站實況千差萬別,設備數據模型碎片化。光伏云系統往往定位的是“后市場”,即目標用戶是已建成的電站,接入方式(就地通訊管理機、電站二次監控、設備通訊模塊等)也任由用戶選擇,這就導致了設備接入的數據難有統一的標準。傳統的構建統一的原始數據表結構的嘗試要么無法覆蓋所有實際設備,要么過于冗余影響性能,且新電站、新型號的設備還在不斷加入,因此并不合適。

基于對以上問題的思考,我們借鑒近年來在前端領域廣為應用的“漸進式”理念對光伏云系統的開發進行實驗性的重構。

植物總是從土壤中的一粒種子長出,種子伸出的根系必須穩固枝葉才能繁茂,我們提出“核數據”的概念作為光伏云系統的“種子”與“根系”。核數據是按照底層實際設備型號組織的原始數據,數據模型如實反映實際設備上送點表的結構。它是底層千差萬別的設備在光伏云系統中的存在形式,是光伏云系統與電站的交界面接口。

徐飛觀點的啟發,核數據按照“主張最少”原則對設備數據模型進行約定。傳統的做法在數據入庫時會對設備會進行歸類與抽象,對特定類別的設備數據會有一定的要求,這種要求就是“主張”,因為要考慮各種情況,主張往往帶來數據項冗余或缺失,無法優雅的代表底層。核數據不對設備進行任何的歸類與抽象,不同型號設備的數據點表單獨的映射在數據庫中,力求主張最少,忠實的反映底層設備的原貌。

明確了根基,就可以按照類似Vue.js的“自底向上增量開發”方式構建系統。通過檔案數據集合中存儲的各種關系與映射,核數據可以被抽象為“虛設備”數據供給上層業務功能使用。類似于數據模型與領域模型之別,核數據僅面向底層各種設備,而虛設備數據僅面向上層業務功能,它按照光伏云系統的常見結構,設有虛逆變器、虛并網接口設備、虛環境監測儀、虛匯流箱等。

一種虛設備,可對應多個實際設備的型號,因此虛設備可起到傳統標準設備數據表歸類和標準化實際設備的作用;

同時一種實際設備的型號也可對應為多種不同的虛設備,很多集成多種功能的設備通信只會有一張點表,在數據庫中只對應一個核數據集合,但根據業務的需要可映射到不同的標準虛設備數據模型。通過這種多對多的靈活方式,在滿足業務需求的情況下,最大化避免數據庫的不足與冗余。

從ODM層獲取核數據與檔案數據后,組裝虛設備數據的過程通過Repository層封裝,上層業務功能調用的是Repository層的接口,這樣實現數據庫與業務的解耦,方便根據用戶要求部署不同數據庫。

鑒于光伏云業務的摸索與領域專業的研發進度,開發的需求會動態增長,因此我們計劃首先專注于一點作為功能模塊開發的起點。“數據分析與可視化”在光伏云系統所有當前和未來的的業務中居于基礎而核心的地位,其他諸如預測、管理、交易等業務都源于此基礎,我們以此作為漸進式展開功能模塊的起點。

在技術棧的選擇上,由于本次實驗性重構開發不存在遷移成本與生產環境壓力,我們希望探索次世代Web技術的應用,按照“大前端”的理念,盡可能采用基于JavaScript的方案統一全棧,畢竟“可以由JavaScript實現的需求,最終都將有JavaScript實現”。后續隨著開發實踐的過程,本系列將對各個部分進行闡述與總結。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容