對應其他欄位
從前端系統接收的測量與裝置事件檔案可包含其他欄位,其中包含要匯入至 Oracle Utilities Smart Grid Gateway 的資料。這些額外欄位必須對應至 Smart Grid Gateway 所處理之測量與裝置事件內的元素。
可透過「SGG 承載處理組態」可延伸查尋中指定的「在結果列表」使用者出口攔截器,使用自訂 Groovy 指令檔執行此對應。
承載處理概要
本節概述對應傳入測量或裝置事件中的資料時的承載處理邏輯。
Oracle 公用程式計量表資料架構步驟
- 檔案上傳處理程式開始讀取檔案。
- 上傳處理建立「SGG 承載處理組態」可延伸查尋上指定之「承載處理常式」類別的實例。此類別會處理與「使用者出口攔截器」指令檔的互動。
- 上傳處理叫用「在結果列表」使用者出口攔截器。這會執行「處理常式」Groovy 程式庫指令檔,此指令檔會傳回實作 com.splwg.d1.domain.sgg.dg.processing.PayloadProcessingCMHandler 介面之類別的實例。
此「CM 承載處理常式」使用為傳入檔案開啟的資料流,以及「SGG 承載處理組態」可延伸查尋的業務物件實例進行初始化。
- 上傳處理將傳入文件的資料剖析為「純 XML」格式,將純 XML 資料轉換為「原生」XML 格式的一組初始測量 (IMD) 或 (和) 裝置事件,並以新增至「結果列表」上階節點的下階節點形式傳回每個資料。
- 上傳處理叫用 CM 承載處理常式,並傳遞「結果列表」上階節點。
- CM 承載處理常式根據「處理常式」指令檔中的邏輯,轉換「結果列表」上階節點的資料。請參閱下方的 CM 承載處理常式步驟。
- 上傳處理為「結果列表」的所有下階節點建立業務物件實例。
- 重複處理步驟 (4-7),直到處理在步驟 4 傳回 NULL (當沒有更多記錄要處理時)。
CM 承載處理常式步驟
- CM 承載處理常式會在「結果列表」節點內讀取指定的測量或裝置事件。
- CM 承載處理常式會根據處理常式指令檔中的邏輯,轉換測量或裝置事件內的特定資料元素 (例如以標準 <UOM> 元素取代 <externalUOM> 元素),並相應地更新「結果列表」。
CM 處理常式承載處理使用者出口攔截器指令檔
對應資料是透過 Groovy 程式庫指令檔執行,該指令檔會在承載處理期間透過使用者出口叫用。此處理中使用的指令檔稱為「處理常式」指令檔。
處理常式指令檔
「處理常式」指令檔負責轉換和對應測量與裝置事件中的資料元素。
此指令檔應包含 gethandler 方法,此方法會傳回實作 ccom.splwg.d1.domain.sgg.processing.PayloadProcessingCMHandler 介面之類別的實例。
若要在 Javadocs Viewer 中檢視 PayloadProcessingCMHandler 介面的明細,請依序選取管理和實作工具。選取右上方面板中的 com.splwg.d1.domain.sgg.dg.processing Java 套件,然後從介面列表中選取 PayloadProcessingCMHandler。
應在「SGG 承載處理組態」可延伸查尋的「使用者出口攔截器」區段中,為「在結果列表」承載處理使用者出口類型定義「處理常式」指令檔。如需詳細資訊,請參閱建立 SGG 承載處理可延伸查尋值。
組態步驟
設定 Smart Grid Gateway 轉接器以支援非標準資料的對應涉及下列步驟:
- 建立一個「處理常式指令檔」,以轉換和對應測量或裝置事件內的特定資料元素 (例如使用標準 <UOM> 元素取代 <externalUOM> 元素)。如需詳細資訊,請參閱 CM 處理常式承載處理使用者出口攔截器指令檔。
- 建立「SGG 承載處理組態」可延伸查尋值。承載處理常式類別名稱應參考承載處理常式類別與參數區段中所列的其中一個用量或事件 "PayloadHandler" 類別。如需有關建立這些可延伸查尋值的詳細資訊,請參閱建立 SGG 承載處理可延伸查尋值。
- 在「SGG 承載處理組態」可延伸查尋的使用者出口攔截器區段中,指定「在結果列表」承載處理使用者出口類型的指令檔。如需詳細資訊,請參閱建立 SGG 承載處理可延伸查尋值。
- 建立用於承載處理的其他物件與資料,包含:
- 金鑰環與金鑰組 (請參閱建立金鑰環與金鑰組)
- Object Storage 位置 (請參閱建立 Object Storage 位置)
- 檔案儲存可延伸查尋值 (請參閱建立檔案儲存可延伸查尋值)
- 前端系統 (請參閱建立前端系統)
- 承載處理批次控制 (請參閱建立承載處理批次控制)