裝置事件
以 Landis+Gyr 格式的檔案從前端系統匯出的裝置事件資料會作為「裝置事件」載入 Oracle Utilities 中。其中一個組態任務是自訂裝置事件處理。基準產品以兩個 OSB 專案提供必要的功能:
-
SGG-D3-EVENT-BASE 包含會負責「實際」處理傳入資料的元件。您將來可以讓此專案升級,而且不會影響到您在 SGG-D3-EVENT-CM 專案中完成的自訂項目及環境設定。
-
SGG-D3-EVENT-CM 可讓您自訂,還能簡化未來的升級。
SGG-D3-EVENT-CM 專案的執行時間組態設定會儲存在 EnvironmentSettings.xq XQuery 檔案中。您可以利用此檔案,來調整裝置事件資料處理。例如,假設您要載入原始資料,請將 populateRaw 元素的內容指定為 “true”。下表說明包含在 EnvironmentSettings.xq 檔案中的元素:
元素 |
描述 |
有效值 |
---|---|---|
populateRaw |
決定是否要以原始資料的形式來植入裝置事件資料。 |
true false |
callPreProcessing |
決定是否要呼叫前處理的 Proxy 服務。 |
true false |
callPostProcessing |
決定是否要呼叫後處理的 Proxy 服務。 |
true false |
destinationRootElement |
保留裝置事件匯集器之內送 Web 服務的名稱。 |
|
modifyResultXMLInput |
指定 XQuery 文件的名稱 (不含 "xq" 副檔名),此文件可用來將採用「純」XML 格式的其他欄位,對應至作為裝置事件資料來傳送的結果 XML 格式。如需詳細資訊,請參閱對應其他欄位。 |
|
dateTimeInUTC |
指出 Landis+Gyr 系統以 UTC (真) 或裝置的當地時間 (假) 傳送日期/時間資訊。若未提供,預設行為將會是裝置的當地時間。 |
true false |
publishServices/service |
指定在 OSB 專案中,用來發布外部系統 (例如 Oracle DataRaker) 資料之業務服務的名稱。 |
|
filterEvents |
決定是否要篩選事件。 |
true false |
發布事件
您可以設定 SGG 來發布裝置事件,以便用於 Oracle DataRaker 或其他外部系統。我們透過 OSB 元件與 BPEL 複合的組合來支援此功能。
啟用裝置事件發布功能
<publishServices>
<service>[publisherBusinessService]</service>
</publishServices>
SGG-D3-EVENT-CM OSB 專案隨附的下列元件,可用來將裝置事件資料發布至 Oracle DataRaker:
-
DataRakerBusinessService 業務服務用來將資料傳送至預先設定的 JMS 佇列 (定義為端點 URI),資料將從該佇列發布。這是您必須要在 EnvironmentSettings.xq 檔案中指定的業務服務。
-
DataRakerServiceAccount 服務帳戶用來定義和維護存取 DataRakerBusinessService 業務服務中定義之 JMS 佇列所需的使用者名稱和密碼。
設定裝置事件發布輸出
SGGDRIntegration BPEL 複合會處理將資料發布至 Oracle DataRaker 或其他系統的作業。裝置事件資料是採用「原生」裝置事件資料格式 (裝置事件匯集器業務物件的格式) 發布。此格式包含正規化的裝置事件代碼。如需深入瞭解此格式,請參閱 Oracle Utilities Smart Grid Gateway Adapter Development Kit 管理使用者指南。
下列參數可用來詳細設定如何將資料提供給 Oracle DataRaker,包括用來記入檔案以供 Oracle DataRaker 使用的目錄、每個檔案的記錄數目、輪詢頻率等等。這些參數都是在安裝期間定義的。如需深入瞭解如何定義這些參數的值,請參閱 Oracle Utilities Smart Grid Gateway 安裝指南。
參數 |
描述 |
預設值 |
---|---|---|
SGG_DR_INT_QUEUE |
發布 SGG 承載之佇列的 JNDI 名稱。 這是 DataRakerBusinessService 業務服務中定義的 JMS 佇列。這不應變更。 |
DataRakerQueue |
SOA_DR_PUBLISH_SIZE |
在已發布檔案中累積的記錄數 (SGG 承載)。 |
100 |
SOA_DR_FILE_SIZE |
累積 (SGG 承載) 檔案的最大檔案大小 (KB)。 |
524288 |
SOA_DR_ELAPSED_TIME |
超過此期間 (秒數) 將建立新的傳出檔案。 |
600 |
SOA_DR_POLLING_FREQ |
新檔案的暫存目錄輪詢頻率 (秒數)。 |
60 |
SOA_DR_STAGING_DIR |
累積 SGG 承載檔案之暫存目錄的掛載點/目錄。 這是內部使用的,不應變更。 |
/spl/sploutput/staging |
SOA_DR_INTEGRATION_DIR |
Oracle DataRaker 將從中使用已轉換之 XML 檔案的掛載點/目錄。 |
/spl/sploutput/int |
篩選事件
<filterEvents>true</filterEvents>
當您啟用篩選功能時,只有其 <externalEventName> 與您在 Landis+Gyr 裝置事件對應可延伸查尋 (D3-DeviceEventMappingLookup) 中定義的其中一個值相符之裝置事件,才會被傳送至系統以供處理。
訂閱即時裝置事件
Landis+Gyr Command Center 可讓您在其線上介面中「訂閱」裝置事件。訂閱方法是在 Command Center 建立擁有相關聯回呼 URL 的訂閱者,以及該訂閱者想要接收之事件類型的列表。當訂閱的事件發生時,事件就會即時傳送至回呼 URL。
在 L+G 中,事件會有下列其中一個「警示」設定。這些設定值會決定將事件傳送給訂閱者的頻率:
-
Alarm (警示):立刻從計量表傳遞
-
Advisory (諮詢):根據傳遞排程來傳送
-
Log Only (只記錄):只會在收到要求時傳送 (不適用於我們的實作即時事件處理)
Command Center 利用會將訊息描述為名詞/動詞組合的 CIM 格式來傳遞事件。事件本身的明細會包含在標準結構的「承載」元素中。承載將使用 EndDeviceEvent 訊息結構進行格式化。此訊息會利用 CIM 四部分類目編號,來識別裝置事件。這些編號是以逗點分隔的 4 個數字,用來描述裝置及事件的類型。例如:3.33.1.257 代表「懷疑嘗試竄改」。
-
分段 1:終端裝置事件網域代碼 (例如,3. 計量表/10. 收集器/11. 路由器/12.家域網路裝置)
-
分段 2:終端裝置事件網域零件代碼 (例如,1.Access/2.電池)
-
分段 3:終端裝置事件類型代碼 (例如,1.Alarm/2.警示管理)
-
分段 4:終端裝置事件索引 (例如,1.Abort/2.存取嘗試)
如需有關「CIM 類目編號」的明細,請參考 Landis+Gyr 文件。您必須利用「Landis+Gyr 裝置事件對應」可延伸查詢,將「CIM 類目編號」對應至標準裝置事件名稱。
SGG 會透過 BPEL 複合來接收這些訊息,而該 BPEL 複合會將傳入要求儲存成可讓 OSB 取得的檔案。
AMIEventSubscriber 複合會負責根據您在 L+G Command Center 中定義的訂閱,來接收事件訊息。Command Center 中針對訂閱所設定的回呼 URL 必須指向此 BPEL 複合。
下列 OSB 專案會剖析訊息中的個別裝置事件,並執行「裝置事件匯集器格式」的驗證與資訊對應。
-
SGG-D3-CIM-EVENT-BASE 包含會負責「實際」處理傳入資料的元件。您將來可以讓此專案升級,而且不會影響到您在 SGG-D3-CIM-EVENT-CM 專案中完成的自訂項目及環境設定。
-
SGG-D3-CIM-EVENT-CM 可讓您自訂,還能簡化未來的升級。
SGG-D3-CIM-EVENT-CM 專案的執行時間組態設定會儲存在 EnvironmentSettings.xq XQuery 檔案中。您可以利用此檔案,來調整裝置事件資料處理。例如,假設您要載入原始資料,請將 populateRaw 元素的內容指定為 “true”。
下表說明包含在 EnvironmentSettings.xq 檔案中的元素:
元素 |
描述 |
有效值 |
---|---|---|
populateRaw |
決定是否要以原始資料的形式來植入裝置事件資料。 |
true false |
callPreProcessing |
決定是否要呼叫前處理的 Proxy 服務。 |
true false |
callPostProcessing |
決定是否要呼叫後處理的 Proxy 服務。 |
true false |
destinationRootElement |
保留裝置事件匯集器之內送 Web 服務的名稱。 |
|
publishServices/service |
指定在 OSB 專案中,用來發布外部系統 (例如 Oracle DataRaker) 資料之業務服務的名稱。 |
|
filterEvents |
決定是否要篩選事件。 |
true false |
處理統計資料的收集是針對即時事件,這些事件的接收方式 (即使訊息中只有一個事件) 與透過純文字檔介面接收裝置事件的方式相同。
有優先順序的裝置事件處理
SGG 轉接器會為利用智慧計量表指令及/或完成事件所建立的裝置事件處理設定優先順序,方法是將這些裝置事件類型中的「執行方法」標誌設定為「即時」(D1RT)。此外,收到「執行方法」標誌設為「即時」的裝置事件會即時處理,而不是透過批次處理。如需詳細資訊,請參閱 Oracle Utilities Meter Data Management / Smart Grid Gateway 業務使用者指南中的裝置事件優先順序設定。
設定承載處理通知
根據預設,「承載統計資料」、「承載錯誤通知」及「承載摘要」通知活動會傳送至 Oracle Service Bus 內的「通知佇列」。您可以設定 Smart Grid Gateway 轉接器來限制傳送這些活動,方法是在適當的 OSB 專案中,定義選擇性的 JCA 傳輸動態特性。下列選擇性 JCA 傳輸動態特性可用來控制是否要傳送這些通知活動:
- SGG_SEND_STATISTICS:控制是否要傳送「承載統計資料」活動 (True:傳送,False:不傳送)
- SGG_SEND_ERROR:控制是否要傳送「承載錯誤通知」活動 (True:傳送,False:不傳送)
- SGG_SEND_SUMMARY:控制是否要傳送「承載摘要」活動 (True:傳送,False:不傳送)
這些特性設定為 False 時,相對應的承載通知不會傳送到 JMS 佇列。請注意,預設不會植入這些特性,若省略,預設值會是 True。
如何建立這些特性:
-
導覽至 Oracle Service Bus 主控台中的 SGG-D3-CIM-EVENT-CM 專案。
-
展開 Proxy 服務資料夾。
-
選取 InboundProxyService Proxy 服務 (而不是「管線」或 WSDL)。
-
按一下建立以建立新的階段作業。
-
選取傳輸明細。
-
按一下動態端點特性區段中的加號。此時,畫面會顯示空白的資料列。
-
在特性資料欄中,輸入您要定義的特性。
-
在值欄中,輸入 "false"。
-
針對您要定義的每個特性,重複執行步驟 6 至 8。
-
按一下啟用以儲存並啟用變更。