The object of the present invention is to provide a method, an apparatus, a computing node, and a computer program product for troubleshooting in a streaming computing system. Among them, the compute nodes in a, the original data records from the upstream of the compute nodes of the arrival order; the original data according to a predetermined period of persistent operation; when the failure and recovery after the restart, in accordance with the memory of the data to be calculated from the persistence operation of the original data and / or the upstream nodes arrival order records, and the recovery of data to be calculated and calculated according to the playback before arrival order; each calculated results according to the data before the failure of a persistent operating cycle and the number of results to offset according to the encoding and sent to the next node. Compared with the prior art, the invention provides a fault-tolerant mechanism for realizing the flow calculation in the frame layer without losing weight without output, and can cope with various hardware and software faults and guarantee the high accuracy of the output results.
【技術實現步驟摘要】
流式計算系統中計算節點的故障處理
本專利技術涉及流式計算
,尤其涉及一種用于流式計算系統中的故障處理技術。
技術介紹
目前而言,常見流式計算系統提供計算結果到傳輸系統三種可選語義:1)至多一次(atmostonce):保證計算結果在計算過程中遇到節點故障后,計算恢復前后結算結果至多發送到傳輸系統一次。2)至少一次(atleastonce):保證計算結果在計算過程中遇到節點故障后,計算恢復前后結算結果至少發送到傳輸系統一次。例如Strom。3)受限的嚴格一次(exactlyonce):依賴計算結果發布的存儲支持update冪等功能,且update依據的key一般由業務方指定,實現計算結果直接記入存儲,不再支持結果繼續進行流式計算。例如Flink使用Cassandra作為存儲。至多一次(atmostonce)或者至少一次(atleastonce)只是嚴格一次(exactlyonce)某一個方面的實現保證。用戶使用中,只能選擇不重或者不丟來折中業務計算需求。受限的嚴格一次(exactlyonce)語義支持計算結果發布update冪等存儲,但是不支持后續計算結果繼續流式計算分析等復雜app級聯等業務場景。而在很多領域,例如金融、計費、反作弊、廣告等,業務場景天然需求數據計算至傳輸都保證不重不丟,以滿足精準的數據完整性需求,同時有復雜的業務計算場景,計算結果簡單存入update冪等存儲不能滿足需求。為此,用戶需要在業務層增加額外復雜的數據重放及校驗去重邏輯來保證計算數據結果的不重不丟,但是此方案對用戶要求很高,極易出現數據不一致等問題,增大了用戶的開發成本。而 ...
【技術保護點】
一種用于流式計算系統中的故障處理方法,其中,在一個計算節點,該方法包括以下步驟:?記錄來自上游計算節點的各原始數據的到達順序;?將所述各原始數據按照預定的周期進行持久化操作;?當發生故障而重啟后,按照所記錄的到達順序從經持久化操作的原始數據和/或所述上游計算節點恢復內存中的待計算數據,并將所恢復的待計算數據按照其之前的到達順序進行重放和計算;?將每條計算完畢的結果數據按照故障前上一持久化操作周期的結果數據的偏移量繼續編碼并發送至下一節點。
【技術特征摘要】
1.一種用于流式計算系統中的故障處理方法,其中,在一個計算節點,該方法包括以下步驟:-記錄來自上游計算節點的各原始數據的到達順序;-將所述各原始數據按照預定的周期進行持久化操作;-當發生故障而重啟后,按照所記錄的到達順序從經持久化操作的原始數據和/或所述上游計算節點恢復內存中的待計算數據,并將所恢復的待計算數據按照其之前的到達順序進行重放和計算;-將每條計算完畢的結果數據按照故障前上一持久化操作周期的結果數據的偏移量繼續編碼并發送至下一節點。2.根據權利要求1所述的方法,其中,當發生故障而重啟后,首先獲取上一持久化操作周期的原始數據,并比較所獲取的原始數據的到達順序與所記錄的所述各原始數據的到達順序,以確定是否尚有丟失數據,如是,從所述丟失數據所來自的上游計算節點獲取所述丟失數據,從而恢復故障前內存中的待計算數據。3.根據權利要求1所述的方法,其中,根據故障前上一持久化操作周期的結果數據的偏移量進度信息,確定重啟后第一條計算完畢的結果數據的編碼偏移量。4.根據權利要求1至3中任一項所述的方法,其中,所述各原始數據的持久化操作通過checkpoint機制來按照預定的周期執行。5.根據權利要求4所述的方法,其中,所述各原始數據通過checkpoint機制被存儲于外部的分布式存儲系統,從而實現持久化操作。6.根據權利要求4所述的方法,其中,當發生故障而重啟后,首先從checkpoint點恢復上一周期的原始數據,并比較所獲取的原始數據的到達順序與所記錄的所述各原始數據的到達順序,以確定是否尚有丟失數據,如是,從所述丟失數據所來自的上游計算節點獲取所述丟失數據,從而恢復故障前內存中的待計算數據。7.根據權利要求4所述的方法,其中,當發生故障而重啟后,從checkpoint點恢復上一周期的結果數據的偏移量進度信息。8.根據權利要求1所述的方法,其中,所述下一節點包括當前計算節點的下級計算節點或外部傳輸系統。9.一種用于流式計算系統中的故障處理裝置,其中,故障處理裝置被布置于所述流式計算系統中的一個計算節點中,該故障處理裝置包括:用于記錄來自上游計算節點的各原始數據的到達順序的裝置;用于將所述各原始數據按照預定的周期進行持久化操作的裝置;用于當發生故障而重啟后,按照所記錄的到達順序...
【專利技術屬性】
技術研發人員:石然,程怡,張建偉,高偉康,
申請(專利權)人:北京百度網訊科技有限公司,
類型:發明
國別省市:北京,11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。