一些名詞
聯機:就意味著系統對外直接提供的交互,該類交互具有:
1)事務性——可回滾;
2)實時性——有生命周期,并有超時機制等,調用方需實時等待被調方的反饋,成功或失敗皆有反饋;
3)并發性——同一類甚至同一個可同時被多個線程調用,相互間有鎖處理機制。
批量:則意味著該交互相關的參數、系統狀態已經鎖定,系統需要進行的是某一類操作,該類操作具有統一性——使用相同的規則處理大量數據;串行性——并不是說批量交互過程中不能有并發,而是有固定的步驟,先做哪一步,再做哪一步,每一步都有對某些條件的依賴;可重復性——這個不是必須的,系統的批量程序在設計之初就已經考慮可重復運行。
批量框架的應用組成部分的說明:
? 外部應用:外部應用通過框架的接口發起聯機批量交互。
? 手動配置批量:對于需要長期運行的周期任務,需要使用手動配置的方式定義。
? 任務持久化:手動配置的定時批量任務需要長期運行,因此作業本身需要被持久化。
? 服務訪問層:提供發起批量交互的通訊接口。
? 定時器:完成定時任務的觸發操作。
? 策略庫:定義了一組與拆分和調度相關的策略參數,供應用選擇和配置。
? 調度器實體:執行批量任務的拆分和發送的線程。
? 消息服務:框架提供的消息服務中間件,用于存儲和轉發任務。
? 應用服務器集群:任務的真正執行者。
例如:
? 場景描述
自動排課:文件上傳至某一個地方并告知批量框架,或者直接傳遞交易數據給批量框架,批量框架接到任務后會立即啟動拆分并將拆分的結果經由消息服務器發送給應用處理。
? 提交數據
排課結果數據以批量文件或Json格式的方式提供給批量框架。
? 返回數據
對于上傳文件的形式消息中的請求數據以字符串(數組)的形式存在,對于Json的方式消息中的結果數據仍以Json的方式存在。

浙公網安備 33010602011771號