裝置事件

以 Landis+Gyr 格式的檔案從前端系統匯出的裝置事件資料會作為「裝置事件」載入 Oracle Utilities 中。其中一個組態任務是自訂裝置事件處理。基準產品以兩個 OSB 專案提供必要的功能:

  1. SGG-D3-EVENT-BASE 包含會負責「實際」處理傳入資料的元件。您將來可以讓此專案升級,而且不會影響到您在 SGG-D3-EVENT-CM 專案中完成的自訂項目及環境設定。

  2. 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 複合的組合來支援此功能。

啟用裝置事件發布功能

若要啟用發布資料的功能,請在 EnvironmentSettings.xq 檔案的 publishServices/service 元素中,參考發布者業務服務,如下所示:
<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

篩選事件

您可以設定 SGG 轉接器來篩選傳遞至 SGG 和 Oracle Utilities Meter Data Management 應用程式的事件資料。將 EnvironmentSettings.xq 檔案中的 <filterEvents> 元素設定為 "True" 即可啟用篩選,如下所示:
<filterEvents>true</filterEvents>

當您啟用篩選功能時,只有其 <externalEventName> 與您在 Landis+Gyr 裝置事件對應可延伸查尋 (D3-DeviceEventMappingLookup) 中定義的其中一個值相符之裝置事件,才會被傳送至系統以供處理。

訂閱即時裝置事件

Landis+Gyr Command Center 可讓您在其線上介面中「訂閱」裝置事件。訂閱方法是在 Command Center 建立擁有相關聯回呼 URL 的訂閱者,以及該訂閱者想要接收之事件類型的列表。當訂閱的事件發生時,事件就會即時傳送至回呼 URL。

在 L+G 中,事件會有下列其中一個「警示」設定。這些設定值會決定將事件傳送給訂閱者的頻率:

  1. Alarm (警示):立刻從計量表傳遞

  2. Advisory (諮詢):根據傳遞排程來傳送

  3. 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 專案會剖析訊息中的個別裝置事件,並執行「裝置事件匯集器格式」的驗證與資訊對應。

  1. SGG-D3-CIM-EVENT-BASE 包含會負責「實際」處理傳入資料的元件。您將來可以讓此專案升級,而且不會影響到您在 SGG-D3-CIM-EVENT-CM 專案中完成的自訂項目及環境設定。

  2. 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。

如何建立這些特性:

  1. 導覽至 Oracle Service Bus 主控台中的 SGG-D3-CIM-EVENT-CM 專案。

  2. 展開 Proxy 服務資料夾。

  3. 選取 InboundProxyService Proxy 服務 (而不是「管線」或 WSDL)。

  4. 按一下建立以建立新的階段作業。

  5. 選取傳輸明細

  6. 按一下動態端點特性區段中的加號。此時,畫面會顯示空白的資料列。

  7. 特性資料欄中,輸入您要定義的特性。

  8. 欄中,輸入 "false"。

  9. 針對您要定義的每個特性,重複執行步驟 6 至 8。

  10. 按一下啟用以儲存並啟用變更。

備註:
只會在 SGG_​EXT_​ID_​PATTERN 不存在或是一般表示式沒有任何擷取結果時使用這些特性。當一般表示式擷取到群組資料時,SGG_​EXT_​ID_​PATTERN 就會置換這些特性。