初始測量資料標頭匯出
系統會透過「特殊」匯出支援從「初始測量資料」維護物件匯出標頭資料。如需有關特殊資料匯出的詳細資訊,請參閱 Application Framework 管理使用者指南中的特殊資料匯出。
「初始測量資料」維護物件設定為透過下列選項支援資料匯出:
選項類型 |
選項值 |
---|---|
資料匯出類別 |
F1SE (特殊) |
匯出批次控制 |
D1-SIMDC (特殊初始測量資料標頭擷取目前) |
初始與目前與歷史擷取
「初始測量資料」維護物件使用三種類型的擷取:
- 初始擷取會收集初始測量資料標頭的初始擷取,藉由提供應擷取之初始測量資料標頭的開始與結束日期時間來控制。在使用每日目前與每日歷史擷取之前,應使用此處理執行資料的初始擷取。
- 每日目前擷取會收集過去 30 天內新增或變更之測量的測量資料。此擷取是以「初始測量資料」資料表上的上次更新時間戳記欄位,以及「資料匯出控制」記錄上的匯出截止日期/時間欄位為基準 (請參閱下方),僅包含自上次擷取後的變更。
-
每日歷史擷取會收集早於過去 30 天新增或變更之初始測量的資料。為了避免需要掃描整個「初始測量資料」資料表,此擷取是以「變更資料擷取」為基準。在初始測量資料處理期間,如果初始測量的測量時間早於 30 天,則會在「一般處理」資料表中建立「變更資料擷取」記錄。 啟用歷史變更資料擷取需要設定下列演算法參數:
- 擷取歷史測量變更:真
- 歷史初始測量資料擷取批次控制:D1-SMDEH (特殊初始測量資料標頭擷取 - 歷史)
這些參數應按照下列演算法中的描述進行設定:- 使用耗用量同步來更新測量元件上的最新測量日期/時間 (D1-UPD-DTMC)
- 使用耗用量同步來更新定量測量元件上的最新測量日期/時間 (D1-UDTSCMCRE)
- 從未來測量更新測量元件上的最新日期/時間 (D1-UPD-DTMCF)
- 更新定量測量元件上的最新日期/時間 (D1-UPDDTSCMC)
維護物件的資料匯出控制記錄
從「初始測量資料」維護物件匯出資料需要「資料匯出控制」記錄。此記錄指定應匯出「初始測量資料」維護物件,並追蹤到目前為止的資料匯出日期與時間,以便後續的匯出處理僅匯出增量變更。
如需有關建立「資料匯出控制」記錄的詳細資訊,請參閱 Application Framework 管理使用者指南中的定義資料匯出控制。
批次控制
匯出資料與建立匯出檔案是由下列批次控制執行:
- 特殊初始測量資料標頭初始擷取 (D1-SIMDI):用於初始測量資料的初始擷取。與目前擷取不同,此批次是直接透過提供應擷取之初始測量資料標頭的開始與結束日期時間控制。在使用目前擷取 (D1-SIMDC) 和歷史擷取 (D1-SIMDH) 之前,應使用此處理執行初始測量資料標頭資料的初始擷取。為了獲得最佳效能,建議將初始擷取期間分成多個較小的期間,並為每個期間使用多個執行緒。系統會擷取初始測量資料終止日期/時間晚於輸入開始日期/時間,且早於或等於輸入結束日期/時間的所有初始測量資料標頭。
- 特殊初始測量資料標頭資料擷取 - 目前 (D1-SIMDC):用於目前 (新的) 初始測量資料的每日擷取。此處理會擷取自上次擷取處理執行後已變更的資料 (根據「資料匯出控制」記錄上的匯出截止日期/時間欄位)。此處理會在批次處理開始時更新匯出截止日期/時間欄位,以消除在處理時段未透過「變更資料擷取」將初始測量設定為歷史測量的可能性。
- 特殊初始測量資料標頭擷取 - 歷史 (D1-SIMDH):用於歷史初始測量資料的每日擷取。此處理會針對「一般處理」資料表中的「變更資料擷取」記錄執行。
批次處理會依「初始測量資料 ID」進行執行緒處理,並根據處理的執行緒數與批次控制參數建立一或多個檔案。
檔案建立與命名
擷取處理使用兩個控制來決定要建立的檔案數:
- 每個執行緒至少建立 1 個檔案 (執行緒越多,檔案越小)
- 檔案大小限制參數可用來指定要包含在任何指定檔案中的初始測量資料列數。這可能會導致單一執行緒產生多個檔案。
每個檔案中的資料都未排序,每個執行緒都會擷取一組「初始測量資料 ID」的初始測量資料,但除此之外,將無法控制資料載入檔案的方式。
檔案命名
由於每個執行緒可以產生多個檔案,且無法預測每個執行緒的檔案數,因此檔案名稱也會包含執行緒中第一個檔案以及最後一個檔案的指標。
- IMD_EXPORT_<file prefix batch parameter>_<batch number>_<batch thread number>_<total thread count>_<file number>_<last file indicator>_<process date>.csv.gz
其中:
- <file prefix batch parameter> 是使用檔案名稱前綴批次控制參數定義的選擇性檔案前綴
- <batch number> 是處理的批次編號
- <batch thread number> 是建立檔案的執行緒編號
- <total thread count> 是執行緒總數
- <file number> 是檔案的編號
- <last file indicator>:識別執行緒所建立的最後一個檔案 (E)
- <process date tim> 是建立檔案的日期與時間,格式為 YYYYMMDDhhmmss (YYYY = 年、MM = 月、DD = 日、hh = 小時、mm = 分鐘、ss = 秒)
範例:批次編號 135 包含 10 個執行緒:
- 10 個執行緒中第 3 個執行緒的第 1 個檔案:IMD_EXPORT_SOME_PREFIX_135_3_10_1_20191104173233.csv.gz
- 10 個執行緒中第 3 個執行緒的最後 1 個檔案之前的所有檔案:IMD_EXPORT_SOME_PREFIX_135_3_10_2_20191104173233.csv.gz
- 10 個執行緒中第 3 個執行緒的最後 1 個檔案:IMD_EXPORT_SOME_PREFIX_135_3_10_E_20191104173233.csv.gz
檔案格式
適用性 |
||||||
---|---|---|---|---|---|---|
欄位 |
資料類型 |
範例內容 |
描述 |
區間 |
定量 |
相減區間 |
INIT_MSRMT_DATA_ID |
CHAR(12) |
52482245116604 |
初始測量的主索引鍵 |
X |
X |
X |
MEASR_COMP_ID |
CHAR(12) |
000004769213 |
初始測量之測量元件的主索引鍵 |
X |
X |
X |
IMD_EXT_ID |
CHAR(12) |
external_file |
初始測量的外部 ID。通常是接收初始測量資料之檔案的名稱。 |
X |
X |
X |
BUS_OBJ_CD |
CHAR(12) |
D1-ManualIMDInterval |
管理初始測量的業務物件 |
X |
X |
X |
BO_STATUS_CD |
VARCHAR(30) |
COMPLETED |
初始測量的狀態 |
X |
X |
X |
BO_STATUS_REASON_CD |
VARCHAR(30) |
FORCE COMPLETE |
狀態的原因代碼。通常會在驗證、編輯和估算例外被置換,且初始測量已完成但未修正錯誤時植入。 |
X |
X |
X |
D1_FROM_DTTM |
DATE/TIME |
2019-01-01T00:00:00Z |
初始測量涵蓋的期間開始。 對於相減定量資料,這代表計算耗用量時將用作開始抄表值的先前測量。 對於區間資料,這代表初始測量的第一個區間開始。備註:不會為此日期/時間建立測量,因為 MDM 將區間表示為區間的結束。因此,初始測量的第一個區間將是此日期/時間加上區間大小 (例如,如果區間大小為 15 分鐘,則第一個區間將是此日期/時間之後的 15 分鐘)。 |
X |
X |
X |
D1_TO_DTTM |
DATE/TIME |
2019-01-02T00:00:00Z |
初始測量涵蓋的期間結束。 對於定量資料,此日期/時間將與測量相符。 對於區間資料,這將與上次區間測量的日期/時間相符。 |
X |
X |
X |
CRE_DTTM |
DATE/TIME |
2019-01-03T00:00:00Z |
最初建立初始測量的日期與時間 |
X |
X |
X |
STATUS_UPD_DTTM |
DATE/TIME |
2019-01-03T00:00:00Z |
上次更新初始測量狀態的日期與時間 |
X |
X |
X |
LAST_UPDATE_DTTM |
DATE/TIME |
2019-01-03T00:00:00Z |
上次更新初始測量的日期與時間。 備註:更新可能在狀態變更之外進行,因此更新時間可能比 STATUS_UPD_DTTM 更近。 |
X |
X |
X |
範例匯出檔案
以下是包含初始測量標頭記錄的範例匯出檔案。請注意,這並不包含標籤或資料欄標頭,但資料的順序與上述檔案格式小節中的資料欄描述相同。
55394295586154,553275345711,external file1,D1-ManualIMDScalar,ERROR,,2020-01-02T08:00:00Z,2022-01-01T08:00:00Z,2020-08-17T18:47:41Z,2020-08-17T18:47:41Z,2020-08-17T18:48:54Z
55392270285377,553886220134,external file2,D1-ManualIMDInterval,ERROR,,2022-01-01T08:00:00Z,2022-01-02T08:00:00Z,2020-08-15T04:18:43Z,2020-08-15T04:25:57Z,2020-08-15T04:25:57Z
55383485376359,553886220134,external file3,D1-ManualIMDInterval,ERROR,,2022-01-01T08:00:00Z,2022-01-02T08:00:00Z,2020-08-15T04:47:36Z,2020-08-15T04:55:03Z,2020-08-15T04:55:03Z