本申請公開了一種數據處理架構中消息的處理方法和裝置。其中,該方法包括:獲取目標消息,其中,目標消息為指示第一處理塊鏈接至第二處理塊的消息,第二處理塊為第一處理塊的下一層塊;判斷目標消息是否滿足初始鏈接條件,其中,初始鏈接條件為第一處理塊鏈接到第二處理塊的條件;當判斷出目標消息不滿足初始鏈接條件時,將目標消息投遞至目標處理塊中。本申請解決了現有技術中由于不滿足鏈接條件導致整個數據處理架構進入假死狀態的技術問題。
【技術實現步驟摘要】
數據處理架構中消息的處理方法和裝置
本申請涉及計算機領域,具體而言,涉及一種數據處理架構中消息的處理方法和裝置。
技術介紹
數據處理架構(TPLDataflow)是微軟提供的進行流式處理的框架,適合需要高并發、高性能的應用程序。TPLDataflow中最基礎的組件是塊(Block),Block相當于一個處理單元,每個Block定義了如何進行數據處理的邏輯。將多個Block鏈接起來,就組成了系統處理管道,只需要在管道開始處輸入數據,接下來整個管道自動開始運行,從一個Block開始執行自己的處理邏輯,處理完成后將得到的數據投遞到下一個或多個Block,最終完成整個管道的處理。參見圖1,分詞程序的處理管道的輸入可以是多個文件,首先通過文件讀取Block讀取文件,并將文件傳遞至下一層Block(即,圖1中分行Block);分行Block再將文件傳遞至下一層Block(即,分詞Block);分詞Block再將文件傳遞至單詞計數Block。其中,文件讀取Block,分行Block,分詞Block和單詞計數Block構成一個完整的數據處理管道。傳統的TPLDataflow,將一個Block鏈接到另外一個Block時,可以指定鏈接條件,只有消息滿足該鏈接條件時,消息才會從一個Block投遞到另外一個Block。如圖2所示,文件讀取Block負責讀取文件,將文件內容投遞到下一層Block(即,分行Block)。其中,設置的文件讀取Block和分行Block之間的鏈接條件為:文件行數是奇數和文件行數是偶數。當文件讀取Block讀取到的文件行數為奇數時,將文件內容投遞到分行Block1;當文件行數為偶數時,將文件內容投遞到分行Block2。如果在實現文件讀取Block和分行Block之間的鏈接時指定多個條件,若遇到不滿足所有條件的消息時,則消息無法投遞。該消息會一直駐留在源Block中,Dataflow停止任何處理,進入假死狀態。例如,如圖3所示,文件讀取Block和分行Block之間的鏈接條件為行數%3=1和行數%3=0,當獲取到的消息為文件行數%3=2時,確定該消息不滿足上述任何鏈接條件,此時,該消息不會投遞到任何一個Block,此時文件內容無法投遞,Dataflow假死。針對上述的問題,目前尚未提出有效的解決方案。
技術實現思路
本申請實施例提供了一種數據處理架構中消息的處理方法和裝置,以至少解決現有技術中由于不滿足鏈接條件導致整個數據處理架構進入假死狀態的技術問題。根據本申請實施例的一個方面,提供了一種數據處理架構中消息的處理方法,包括:獲取目標消息,其中,所述目標消息為指示第一處理塊鏈接至第二處理塊的消息,所述第二處理塊為所述第一處理塊的下一層塊;判斷所述目標消息是否滿足初始鏈接條件,其中,所述初始鏈接條件為所述第一處理塊鏈接到所述第二處理塊的條件;以及當判斷出所述目標消息不滿足所述初始鏈接條件時,將所述目標消息投遞至目標處理塊中。進一步地,所述目標處理塊包括第一預設處理塊,當判斷出所述目標消息不滿足所述初始鏈接條件時,將所述目標消息投遞至目標處理塊中包括:獲取所述初始鏈接條件,其中,每個所述第一處理塊和每個所述第二處理塊之間包含一個所述初始鏈接條件;根據所述初始鏈接條件生成目標鏈接條件;以及當確定所述目標消息滿足所述目標鏈接條件時,將所述目標消息投遞至所述第一預設處理塊中,通過所述第一預設處理塊按照預先定義處理規則對所述目標消息進行處理。進一步地,當所述初始鏈接條件的數量為一個時,根據所述初始鏈接條件生成目標鏈接條件包括:將所述初始鏈接條件進行邏輯非運算,得到所述目標鏈接條件。進一步地,當所述初始鏈接條件的數量為多個時,根據所述初始鏈接條件生成目標鏈接條件包括:將多個所述初始鏈接條件進行邏輯非運算,得到多個中間鏈接條件;以及依次將運算之后的多個所述中間鏈接條件進行邏輯與運算,得到所述目標鏈接條件。進一步地,所述目標處理塊包括第二預設處理塊,當判斷出所述目標消息不滿足所述初始鏈接條件時,將所述目標消息投遞至目標處理塊中包括:判斷獲取到的所述目標消息是否攜帶第一標識,其中,所述第一標識為表示忽略所述目標消息的標識;以及在判斷出所述目標消息中攜帶所述第一標識情況下,將所述目標消息投遞至所述第二預設處理塊中,其中,所述第二預設處理塊為對所述目標消息不進行任何操作的塊。進一步地,所述目標處理塊包括第三預設處理塊,當判斷出所述目標消息不滿足所述初始鏈接條件時,將所述目標消息投遞至目標處理塊中包括:判斷獲取到的所述目標消息是否攜帶第二標識,其中,所述第二標識為表示記錄所述目標消息的錯誤信息的標識;以及在判斷出所述目標消息中攜帶所述第二標識情況下,將所述目標消息投遞至所述第三預設處理塊中,其中,所述第三預設處理塊為記錄所述錯誤信息的塊。根據本申請實施例的另一方面,還提供了一種數據處理架構中消息的處理裝置,包括:獲取單元,用于獲取目標消息,其中,所述目標消息為指示第一處理塊鏈接至第二處理塊的消息,所述第二處理塊為所述第一處理塊的下一層塊;判斷單元,用于判斷所述目標消息是否滿足初始鏈接條件,其中,所述初始鏈接條件為所述第一處理塊鏈接到所述第二處理塊的條件;以及投遞單元,用于當判斷出所述目標消息不滿足所述初始鏈接條件時,將所述目標消息投遞至目標處理塊中。進一步地,所述目標處理塊包括第一預設處理塊,所述投遞單元包括:第一獲取模塊,用于獲取所述初始鏈接條件,其中,每個所述第一處理塊和每個所述第二處理塊之間包含一個所述初始鏈接條件;生成模塊,用于根據所述初始鏈接條件生成目標鏈接條件;以及第一投遞模塊,用于當確定所述目標消息滿足所述目標鏈接條件時,將所述目標消息投遞至所述第一預設處理塊中,通過所述第一預設處理塊按照預先定義處理規則對所述目標消息進行處理。進一步地,所述目標處理塊包括第二預設處理塊,所述投遞單元包括:第一判斷模塊,用于判斷獲取到的所述目標消息是否攜帶第一標識,其中,所述第一標識為表示忽略所述目標消息的標識;以及第二投遞模塊,用于在判斷出所述目標消息中攜帶所述第一標識情況下,將所述目標消息投遞至所述第二預設處理塊中,其中,所述第二預設處理塊為對所述目標消息不進行任何操作的塊。進一步地,所述目標處理塊包括第三預設處理塊,所述投遞單元包括:第二判斷模塊,用于判斷獲取到的所述目標消息是否攜帶第二標識,其中,所述第二標識為表示記錄所述目標消息的錯誤信息的標識;以及第三投遞模塊,用于在判斷出所述目標消息中攜帶所述第二標識情況下,將所述目標消息投遞至所述第三預設處理塊中,其中,所述第三預設處理塊為記錄所述錯誤信息的塊。在本申請實施例中,采用獲取目標消息,其中,所述目標消息為指示第一處理塊鏈接至第二處理塊的消息,所述第二處理塊為所述第一處理塊的下一層塊;判斷所述目標消息是否滿足初始鏈接條件,其中,所述初始鏈接條件為所述第一處理塊鏈接到所述第二處理塊的條件;當判斷出所述目標消息不滿足所述初始鏈接條件時,將所述目標消息投遞至目標處理塊中的方式。通過判斷獲取到的目標消息是否滿足鏈接條件,當判斷出目標消息不滿足鏈接條件時,則將該目標消息投遞至指定處理塊中,相對于現有技術中遇到不滿足鏈接條件的目標消息時,數據處理架構將本文檔來自技高網...

【技術保護點】
一種數據處理架構中消息的處理方法,其特征在于,包括:獲取目標消息,其中,所述目標消息為指示第一處理塊鏈接至第二處理塊的消息,所述第二處理塊為所述第一處理塊的下一層塊;判斷所述目標消息是否滿足初始鏈接條件,其中,所述初始鏈接條件為所述第一處理塊鏈接到所述第二處理塊的條件;以及當判斷出所述目標消息不滿足所述初始鏈接條件時,將所述目標消息投遞至目標處理塊中。
【技術特征摘要】
1.一種數據處理架構中消息的處理方法,其特征在于,包括:獲取目標消息,其中,所述目標消息為指示第一處理塊鏈接至第二處理塊的消息,所述第二處理塊為所述第一處理塊的下一層塊;判斷所述目標消息是否滿足初始鏈接條件,其中,所述初始鏈接條件為所述第一處理塊鏈接到所述第二處理塊的條件;以及當判斷出所述目標消息不滿足所述初始鏈接條件時,將所述目標消息投遞至目標處理塊中。2.根據權利要求1所述的方法,其特征在于,所述目標處理塊包括第一預設處理塊,當判斷出所述目標消息不滿足所述初始鏈接條件時,將所述目標消息投遞至目標處理塊中包括:獲取所述初始鏈接條件,其中,每個所述第一處理塊和每個所述第二處理塊之間包含一個所述初始鏈接條件;根據所述初始鏈接條件生成目標鏈接條件;以及當確定所述目標消息滿足所述目標鏈接條件時,將所述目標消息投遞至所述第一預設處理塊中,通過所述第一預設處理塊按照預先定義處理規則對所述目標消息進行處理。3.根據權利要求2所述的方法,其特征在于,當所述初始鏈接條件的數量為一個時,根據所述初始鏈接條件生成目標鏈接條件包括:將所述初始鏈接條件進行邏輯非運算,得到所述目標鏈接條件。4.根據權利要求2所述的方法,其特征在于,當所述初始鏈接條件的數量為多個時,根據所述初始鏈接條件生成目標鏈接條件包括:將多個所述初始鏈接條件進行邏輯非運算,得到多個中間鏈接條件;以及依次將運算之后的多個所述中間鏈接條件進行邏輯與運算,得到所述目標鏈接條件。5.根據權利要求1所述的方法,其特征在于,所述目標處理塊包括第二預設處理塊,當判斷出所述目標消息不滿足所述初始鏈接條件時,將所述目標消息投遞至目標處理塊中包括:判斷獲取到的所述目標消息是否攜帶第一標識,其中,所述第一標識為表示忽略所述目標消息的標識;以及在判斷出所述目標消息中攜帶所述第一標識情況下,將所述目標消息投遞至所述第二預設處理塊中,其中,所述第二預設處理塊為對所述目標消息不進行任何操作的塊。6.根據權利要求1所述的方法,其特征在于,所述目標處理塊包括第三預設處理塊,當判斷出所述目標消息不滿足所述初始鏈接條件時,將所述目標消息投遞至目標處理塊中包括:判斷...
【專利技術屬性】
技術研發人員:何愷鐸,
申請(專利權)人:北京國雙科技有限公司,
類型:發明
國別省市:北京,11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。