亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種消息處理可靠性追蹤方法及裝置的制造方法

文檔序號:9567046閱讀:650來源:國知局
一種消息處理可靠性追蹤方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體地,涉及一種消息處理可靠性追蹤方法及裝置。
【背景技術(shù)】
[0002]隨著大數(shù)據(jù)業(yè)務的快速增長,Storm應運而生,用于實現(xiàn)大規(guī)模數(shù)據(jù)處理的實時計算。Storm為分布式實時計算提供了一組通用原語,可被用于“流處理”之中,實時處理消息并更新數(shù)據(jù)庫。
[0003]在Storm消息處理模型中,消息源spout作為主節(jié)點將消息tuple發(fā)送至其下游的消息處理者bo 11,bo 11作為工作節(jié)點,不斷的接收并處理來自上游節(jié)點的消息。通常,根據(jù)bolt在整個消息處理模型中所處的位置,bolt將來自上游節(jié)點的消息處理完畢后,可視情況將消息發(fā)送至其下游節(jié)點,或者,在不存在下游節(jié)點時bolt不發(fā)送消息,以此表示消息處理結(jié)束。
[0004]為了保證Storm消息處理的可靠性,需要對spout發(fā)出的消息進行追蹤,只有在確定該消息被下游所有相關(guān)bolt處理完畢后,才認為spout發(fā)出的消息被完全處理。
[0005]進行消息處理可靠性追蹤時,spout為每個tuple維護一個校驗值ack_val,且初始設(shè)置為0 ;同時,上游節(jié)點會為其下游節(jié)點生成對應的隨機數(shù)V,連同消息一起發(fā)送至下游節(jié)點,如此,便可通過異或操作以及監(jiān)測ack-val更新值的方式,進行消息處理可靠性追蹤。正常情況下,spout發(fā)出的消息被完全處理時,ack-val被更新還原為0,若ack_val被提前更新為0,則說明追蹤過程中出現(xiàn)沖突。
[0006]通常,ack-val和V可被設(shè)置為int型或者long型,為了盡量減小追蹤過程出現(xiàn)沖突的概率,一般將ack-val和V設(shè)置為long型。結(jié)合圖1所示消息樹,追蹤過程可體現(xiàn)如下,其中,ack-val被初始設(shè)置為ack-val:: 0000。
[0007]1.spout為boltl生成隨機數(shù)Vi= 1001,將V丨和消息AA發(fā)送至boltl。spout利用ack-valJP Vi得到異或結(jié)果1,并將異或結(jié)果1發(fā)送至協(xié)調(diào)者,由協(xié)調(diào)者利用異或結(jié)果1和 ack-val^做異或,將 ack-val 丨更新為 ack-val 2= 1001。
[0008]2.boltl接收到V#,為bolt2生成隨機數(shù)V 2= 1000,為bolt3生成隨機數(shù)V 3 =0100。boltl利用VpVjP V 3得到異或結(jié)果2,并在消息處理完畢后,將異或結(jié)果2發(fā)送至協(xié)調(diào)者,由協(xié)調(diào)者利用異或結(jié)果2和ack-val;^?異或,將ack-val 2更新為ack-val 3= 1100。
[0009]3.基于相同原理,bolt2接收V2并完成消息處理后,協(xié)調(diào)者通過異或處理將ack_val3更新為ack-val 4= 0100 ;bolt3接收V 3并完成消息處理后,協(xié)調(diào)者通過異或處理將ack_val4更新為ack-val 5= 0000。至此,spout監(jiān)控到ack-val被更新還原為0000,可判定spout發(fā)出的消息被完全處理。
[0010]上述通過占用64位空間的long型表示ack-val和V的方案,雖可在一定程度上減小沖突出現(xiàn)的概率,但卻增大了網(wǎng)絡傳輸字節(jié)數(shù),可能會影響Storm消息處理效率。

【發(fā)明內(nèi)容】

[0011]本發(fā)明的消息處理可靠性追蹤方法及裝置,提供一種新的追蹤方案,有助于降低追蹤過程中的網(wǎng)絡傳輸字節(jié)數(shù)。
[0012]第一方面,本發(fā)明實施例提供了一種消息處理可靠性追蹤方法,所述方法包括:
[0013]協(xié)調(diào)者獲得第一位移信息,所述第一位移信息包括第一位移方向和第一位移數(shù),所述第一位移信息用于表示上游節(jié)點向下游節(jié)點發(fā)送消息;
[0014]所述協(xié)調(diào)者獲得第二位移信息,所述第二位移信息包括第二位移方向和第二位移數(shù),所述第二位移信息用于表示所述下游節(jié)點將所述上游節(jié)點發(fā)送的消息處理完畢,所述第一位移方向與所述第二位移方向相反;
[0015]所述協(xié)調(diào)者判斷所述第一位移數(shù)與所述第二位移數(shù)是否相匹配,如果相匹配,所述協(xié)調(diào)者判定消息源發(fā)出的消息被完全處理。
[0016]在第一方面的第一種可能的實現(xiàn)方式中,所述協(xié)調(diào)者維護校驗值,所述協(xié)調(diào)者判定所述第一位移數(shù)與所述第二位移數(shù)相匹配的方式為:
[0017]所述協(xié)調(diào)者按照所述第一位移數(shù)和所述第二位移數(shù)的指示,對所述校驗值進行移位操作;
[0018]所述協(xié)調(diào)者判斷移位操作后是否能得到所述校驗值的初始值,如果是,所述協(xié)調(diào)者判定所述第一位移數(shù)與所述第二位移數(shù)相匹配。
[0019]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述校驗值占用1字節(jié)。
[0020]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述校驗值的初始值設(shè)置為1,所述第一位移方向為向左平移,所述第二位移方向為向右平移。
[0021]結(jié)合第一方面或第一方面的第一種至第三種中的任一種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,Storm采用集中式架構(gòu),包括一個所述協(xié)調(diào)者。
[0022]結(jié)合第一方面或第一方面的第一種至第三種中的任一種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,Storm采用分布式架構(gòu),包括一個主協(xié)調(diào)者和至少兩個從協(xié)調(diào)者;則
[0023]所述協(xié)調(diào)者獲得第一位移信息,包括:所述主協(xié)調(diào)者獲得所述至少兩個從協(xié)調(diào)者發(fā)送的第一位移信息;
[0024]所述協(xié)調(diào)者獲得第二位移信息,包括:所述主協(xié)調(diào)者獲得所述至少兩個從協(xié)調(diào)者發(fā)送的第二位移信息。
[0025]第二方面,本發(fā)明實施例提供了一種消息處理可靠性追蹤裝置,所述裝置屬于協(xié)調(diào)者,所述裝置包括:
[0026]第一獲得單元,用于獲得第一位移信息,所述第一位移信息包括第一位移方向和第一位移數(shù),所述第一位移信息用于表示上游節(jié)點向下游節(jié)點發(fā)送消息;
[0027]第二獲得單元,用于獲得第二位移信息,所述第二位移信息包括第二位移方向和第二位移數(shù),所述第二位移信息用于表示所述下游節(jié)點將所述上游節(jié)點發(fā)送的消息處理完畢,所述第一位移方向與所述第二位移方向相反;
[0028]判斷單元,用于判斷所述第一位移數(shù)與所述第二位移數(shù)是否相匹配,如果相匹配,則判定消息源發(fā)出的消息被完全處理。
[0029]在第二方面的第一種可能的實現(xiàn)方式中,所述協(xié)調(diào)者維護校驗值,
[0030]所述判斷單元,具體用于按照所述第一位移數(shù)和所述第二位移數(shù)的指示,對所述校驗值進行移位操作;判斷移位操作后是否能得到所述校驗值的初始值,如果是,則判定所述第一位移數(shù)與所述第二位移數(shù)相匹配。
[0031]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,Storm采用集中式架構(gòu),包括一個所述協(xié)調(diào)者。
[0032]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,Storm采用分布式架構(gòu),包括一個主協(xié)調(diào)者和至少兩個從協(xié)調(diào)者,所述裝置屬于所述主協(xié)調(diào)者;
[0033]所述第一獲得單元,具體用于獲得所述至少兩個從協(xié)調(diào)者發(fā)送的第一位移信息;
[0034]所述第二獲得單元,具體用于獲得所述至少兩個從協(xié)調(diào)者發(fā)送的第二位移信息。
[0035]本發(fā)明技術(shù)方案中,上游節(jié)點每向下游節(jié)點發(fā)布一次消息,則可執(zhí)行一次移位操作加以記錄,同理,下游節(jié)點將上游節(jié)點發(fā)送的消息處理完畢后,亦可執(zhí)行一次反方向的移位操作進行記錄。通過移位操作的方式,可以準確可靠的追蹤消息發(fā)布和消息處理情況,還有助于降低追蹤過程中網(wǎng)絡傳輸字節(jié)數(shù),保證Storm的消息處理性能。
[0036]本發(fā)明的其他特征和優(yōu)點將在隨后的【具體實施方式】部分予以詳細說明。
【附圖說明】
[0037]附圖是用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與下面的【具體實施方式】一起用于解釋本發(fā)明,但并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0038]圖1是一種消息樹的示意圖;
[0039]圖2是本發(fā)明消息處理可靠性追蹤方法的流程圖;
[0040]圖3是本發(fā)明消息處理可靠性追蹤裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0041]以下結(jié)合附圖對本發(fā)明的【具體實施方式】進行詳細說明。應當理解
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1