摘 要:本文討論了報文交易在落地方是否實時返回處理結果維度來分,可以把交易分成“大圈交易”和“通知交易,分析了大圈交易和通知交易的流程以及適用的業務特點,用圖像解析了大圈交易和通知交易斷點,同時提出了在斷點出現后的數據修復方法。
關鍵詞:大圈交易;通知交易;沖正;重發;反饋
中圖分類號:F832 文獻標識碼:A 文章編號:1674-7712 (2014) 06-0000-01
一、交易分類
交易是一次處理請求和應答的交互過程,一次由發起方機構發起,由落地方機構接收應答或處理結果應答返回給發起方機構的過程。為方便描述各種交易的特點及其處理過程,我們將交易進行分類,按照交易的落地方是否實時返回處理結果維度來分,可以把交易分成“大圈交易”和“通知交易”。大圈交易:落地方機構在接到請求,處理完成后給予處理結果作為應答,返回給發起方機構。通知交易:發起方機構將請求發給落地方機構,落地方機構接到后只是給予其接收確認。
二、交易流程和特點
大圈交易具有實時知道落地方機構處理結果的特點,數據一致性、數據時效性較高,但由于需要等待落地方機構的邏輯處理,接口處理效率相對較低,因此大圈交易比較適合需要落地方機構實時提供服務的場景,正常流程如(圖一):(1)發起方機構向落地方機構發起業務請求,等待接收落地方機構的結果應答,同時進行超時控制;(2)落地方機構接收業務請求后進行落地方機構內部處理;(3)落地方機構將處理結果通過應答報文返回給發起方機構;(4)發起方機構進行內部處理。
通知交易無需實時知道落地方機構處理結果的特點,數據一致性、數據實時性低,但由于無需等待落地方機構的邏輯處理,接口處理效率較高,通知交易比較適合業務邏輯簡單,發起機構需要快速響應,落地方機構數據可以直接根據發起方機構數據修復的場景,正常流程如(圖二):(1)發起方機構先直接內部處理業務數據;(2)發起方機構再向落地方機構發起業務請求,等待接收落地方機構的接收應答,同時進行超時控制;(3)落地方機構收到業務請求后,立即進行接收應答,不返回處理結果;(4)接收應答之后,落地方機構再進行內部處理。
三、交易異常和修復
(一)大圈交易異常。大圈交易常見幾種異常流程如上圖,其中紅色虛線為超時時間,紅色‘x’為出現異常的斷點。(圖三)表示整個處理過程的每個步驟都完成,但處理結果應答超時了,對超時應答,發起方機構處理一般是丟棄該應答結果;(圖五、斷1)表示發起方機構發起業務請求,由于網絡等原因,落地方機構沒有收到業務請求,發起方機構等待超時后當失敗處理;(圖五、斷2)表示落地方機構內部問題,可能內部處理成功或失敗了,沒有應答響應,此時發起方機構沒有數據,落地方機構可能處理成功或失敗;(圖五、斷3)表示由于網絡等原因,落地方機構應答無法返回給發起方機構,發起方機構等待超時后當失敗處理;(圖五、斷4)表示發起方機構內部問題,內部處理失敗了,此時發起方機構需要捕捉內部異常;(圖五、斷1-3)場景的共同特點:因發起方機構沒有收到成功或失敗應答,不知道落地方機構是否處理成功,(圖五、斷4)屬于內部異常,需要捕捉內部異常,以上異常都需要發起方機構發起差錯處理。
(二)通知交易異常。通知交易常見幾種異常流程如上圖,其中紅色虛線為超時時間,紅色‘x’為出現異常的斷點。(圖四)表示發起方機構業務請求正常到達,但落地方機構接收應答超時了,對超時應答,發起方機構處理一般是丟棄該應答;(圖六、斷1)表示發起方機構發起業務請求,由于網絡等原因,落地方機構沒有收到業務請求,不會生成接收應答。發起方機構超時控制按落地方機構沒有收到業務請求處理;(圖六、斷2)表示由于網絡等原因,落地方機構接收應答無法返回給發起方機構,超時控制,發起方機構超時控制按落地方機構沒有收到業務請求處理;(圖六、斷3)表示落地方機構內部問題,內部處理失敗了,此時發起方機構有數據、落地方機構沒有數據;(圖六、斷1-2)場景的共同特點:發起方機構超時控制,發起方機構按落地方機構沒有收到業務請求處理;(圖六、斷3)屬于內部異常,發起方機構有數據、落地方機構沒有數據,以上異常都需要發起方機構發起差錯處理。
(三)交易異常修復。(1)沖正。在系統超時,發起方機構沒有得到結果應答而不能確認落地方機構是否已經處理成功時,通知落地方機構進行交易的回退工作,沖正使用在大圈交易異常時,可以實時控制發起方與落地方機構的數據一致,沖正通常設計為通知交易,流程如(圖七);(2)重發。在通知交易超時,發起方機構沒有得到接收應答而不能確認落地方機構是否收到業務請求時,通知落地方機構進行交易的重處理工作,流程如(圖八);(3)反饋。
交易異常修復只能提高一次交易的成功率,不能保證異常情況的完全修復,因此還需要進一步進行數據一致性的日常處理,如日增量同步、全量同步等機制的保證。
[作者簡介]陳國(1975-),男,福建平潭人,本科,研究方向:業務接口與一致性處理。