TWI828433B - 串流資料之處理設備、處理方法及執行處理方法之電腦程式產品 - Google Patents
串流資料之處理設備、處理方法及執行處理方法之電腦程式產品 Download PDFInfo
- Publication number
- TWI828433B TWI828433B TW111144444A TW111144444A TWI828433B TW I828433 B TWI828433 B TW I828433B TW 111144444 A TW111144444 A TW 111144444A TW 111144444 A TW111144444 A TW 111144444A TW I828433 B TWI828433 B TW I828433B
- Authority
- TW
- Taiwan
- Prior art keywords
- consumer
- channel
- given
- message
- data center
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 238000004590 computer program Methods 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 3
- 241001522296 Erithacus rubecula Species 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 6
- 238000005192 partition Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本案揭示一種串流資料之處理設備、處理方法及執行處理方法之電腦程式產品,資料中心叢集將來自製作者之串流資料的多個訊息,依其各自的指定分派至資料中心叢集之多個頻道中的各指定頻道,資料中心叢集以循環制依序將各頻道中的各訊息逐一指派至多個消費者的一有空者,資料中心叢集等待給定消費者對於給定頻道中給定訊息之處理成功通知直到發生超時,啟動錯誤消費者以將給定訊息指派至錯誤消費者,以令給定頻道不參與循環制,俾於收到錯誤消費者對於給定頻道中給定訊息之處理完成通知時,令給定頻道回歸參與循環制。
Description
本案係關於一種資料處理技術,詳而言之,係關於一種互聯網中串流資料的處理技術。
為了處理互聯網上的即時資料,目前提供有一種高吞吐、低延遲的處理架構。如圖1A所示,該技術領域之製作者(producer)101、102、103將訊息(message)發佈到叢集(cluster)10,其中,這些訊息以序列附加的方式存放到不同頻道(topic)11、12、13下的不同分區(partition)111、112、121、122、131、132,且各個分區可分散式存放在不同的機器(broker)中,而該技術領域之消費者(consumer)104、105則自叢集10訂閱以消費訊息。
各頻道11、12、13的訊息容量不同,舉例而言,請參閱圖1B,頻道11中每個訊息容量為10 KB且其訊息僅提供消費者104,如訊息1-1和1-2已至消費者104而下一個訊息1-3尚在等待中;頻道12中每個訊息容量為1
KB且其訊息僅提供消費者105,如訊息2-1已至消費者105而下一個訊息2-2尚在等待中;頻道13中每個訊息容量為5KB且其訊息僅給消費者105,如訊息3-1已至消費者105而下一個訊息3-2尚在等待中。另外,消費者104、105處理完成訊息之後會回覆處理成功通知至所接收之訊息的頻道,例如消費者104回應頻道11,而消費者105則回應頻道12和13,讓各頻道11、12、13中的偏移量(offset)110、120、130移到下一個訊息。
然而,由於頻道11中的訊息容量相較於頻道12和13中的訊息容量為大,導致頻道11中的訊息1-6之等待時間很久,可能長達10*6個單位時間。即使新增消費者106來分擔頻道11的訊息,如圖1C所示,但因為各消費者104、105、106為隨機讀取各頻道11、12、13的訊息來消費,故頻道11中的訊息1-6的等待時間還是非常久。
因此,如何避免大資料容量的頻道之長時間的等待以減少其等待時間,為目前尚待解決的問題。
為解決上述問題及其他問題,本案揭示一種串流資料之處理方法、電腦程式產品、電腦可讀取記錄媒體、以及串流資料之處理設備。
本案所揭之串流資料之處理方法係包括:藉由資料中心叢集將來自製作者之串流資料的多個訊息,依各該訊息的指定分派至該資料中心叢集中多個頻道的各指定頻道;藉由該資料中心叢集以循環制依序將各該頻道中的各該訊息,逐一指派至多個消費者的一有空者;當該資料中心叢集在給定時間內未收到給定消費者對於給定頻道中給定訊息之處理成功通知時,藉由該資料中心
叢集啟動錯誤消費者,以將該給定訊息指派至該錯誤消費者,俾令該給定頻道不參與循環制;以及當該資料中心叢集收到該錯誤消費者對於該給定頻道中該給定訊息之處理完成通知時,令該給定頻道回歸參與循環制。
於一實施例中,本案所揭之串流資料之處理方法更包括:當該資料中心叢集收到該錯誤消費者對於該給定頻道中該給定訊息之處理完成通知時,刪除該錯誤消費者。
於一實施例中,當該錯誤消費者處理該給定頻道中該給定訊息的過程符合錯誤規則庫中的中止條件時,回傳該處理完成通知。於一實施例中,當該資料中心叢集收到該錯誤消費者對於該給定頻道中該給定訊息之處理完成通知時,令該給定頻道的偏移量的位置移至該給定頻道的下一個訊息。
於一實施例中,該資料中心叢集等待該給定消費者對於該給定頻道中該給定訊息之處理成功通知,直到超過該給定時間,便進行重平衡,以觸發啟動該錯誤消費者。
於一實施例中,當該資料中心叢集收到各該消費者對於目前頻道中目前訊息之處理成功通知時,令該目前頻道的偏移量的位置移至該目前頻道的下一個訊息。
本案所揭之電腦程式產品,經電腦載入程式以執行本案所揭之串流資料之處理方法。
本案所揭之電腦可讀取記錄媒體,儲存有程式,在電腦執行該程式以執行本案所揭之串流資料之處理方法。
本案所揭之串流資料之處理設備係包括:資料中心叢集,包括多個頻道,該資料中心叢集將來自製作者之串流資料的多個訊息,依各該訊息的指
定分派至該多個頻道中的各指定頻道;以及多個消費者,係經該資料中心叢集的指派而處理各該頻道中的各該訊息;其中,該資料中心叢集以循環制依序將各該頻道中的各訊息,逐一指派至多個消費者的一有空者;其中,當該資料中心叢集在給定時間內未收到給定消費者對於給定頻道中給定訊息之處理成功通知時,該資料中心叢集係啟動錯誤消費者,以將該給定訊息指派至該錯誤消費者,俾令該給定頻道不參與循環制;其中,當該資料中心叢集收到該錯誤消費者對於該給定頻道中該給定訊息之處理完成通知時,令該給定頻道回歸參與循環制。
於一實施例中,當該資料中心叢集收到該錯誤消費者對於該給定頻道中該給定訊息之處理完成通知時,刪除該錯誤消費者。
於一實施例中,當該錯誤消費者處理該給定頻道中該給定訊息的過程符合錯誤規則庫中的中止條件時,回傳該處理完成通知。於一實施例中,當該資料中心叢集收到該錯誤消費者對於該給定頻道中該給定訊息之處理完成通知時,令該給定頻道的偏移量的位置移至該給定頻道的下一個訊息。
於一實施例中,該資料中心叢集等待該給定消費者對於該給定頻道中該給定訊息之處理成功通知,直到超過該給定時間,便進行重平衡,以觸發啟動該錯誤消費者。
於一實施例中,當該資料中心叢集收到各該消費者對於目前頻道中目前訊息之處理成功通知時,令該目前頻道的偏移量的位置移至該目前頻道的下一個訊息。
換言之,本案之串流資料之處理方法、電腦程式產品、電腦可讀取記錄媒體、以及串流資料之處理設備係具有容錯能力,採用循環(Round-robin)機制,讓各消費者以輪詢的方式讀取頻道的訊息,從而解決了先前技術中訊息等
待過久之問題,達到讓各訊息能以平均的等待時間被處理之功效。另外,本案更採用錯誤消費者(Error Consumer)機制,將遲遲無法收到處理成功通知的頻道鎖定在一個錯誤消費者身上,而當錯誤解除後,該頻道即回歸參與循環制,以繼續等待消費者來消費訊息,如此即能避免該遲遲無法收到處理成功通知的頻道影響了整個頻道群。
10:叢集
11、12、13:頻道
110、120、130、210、220、230:偏移量
111、112、121、122、131、132:分區
101、102、103:製作者
104、105、106:消費者
1-1、1-2、1-3、1-6、2-1、2-2、2-3、3-1、3-2、3-3:訊息
21、22、23:頻道
24:錯誤規則庫
31、32、33:消費者
34:錯誤消費者
40:資料中心叢集
41、42、43、44、45、46:頻道
47:錯誤資料庫
50:消費者群
51、52、53、54:消費者
55:錯誤消費者
60A、60B:物聯網設備
61、62、63、64、65、66:感測器
S301~S305:步驟
圖1A為先前技術中對於即時資料的處理架構。
圖1B和1C為先前技術中對於即時資料的處理方法及其所面臨的問題。
圖2為本案之即時資料之處理方法之流程示意圖。
圖3為本案之即時資料之處理方法之循環制的示意圖。
圖4為本案之即時資料之處理方法之重平衡的示意圖。
圖5為本案之即時資料之處理方法之啟動錯誤消費者的示意圖。
圖6為本案之即時資料之處理方法之消費者回歸循環制的示意圖。
圖7為本案之即時資料之處理方法之具體實施例之架構示意圖。
以下藉由特定的實施例說明本案之實施方式,熟習此項技藝之人士可由本文所揭示之內容輕易地瞭解本案之其他優點及功效。本說明書所附圖式所繪示之結構、比值、大小等均僅用於配合說明書所揭示之內容,以供熟悉此
技藝之人士之瞭解與閱讀,非用於限定本案可實施之限定條件,故任何修飾、改變或調整,在不影響本案所能產生之功效及所能達成之目的下,均應仍落在本案所揭示之技術內容得能涵蓋之範圍內。
於本文中所用之術語「包括」、「包含」、「具有」、「含有」或其任何其他變體都旨在涵蓋非排他性的包含。例如,由一系列步驟組成的方法不一定只限於這些步驟,還可能包括沒有明確列出的其他步驟,或這些方法所固有的步驟。此外,除非另有說明,單數形式的措辭,如「一」、「一個」、「該」也適用於複數形式,而「或」、「及/或」等措辭可互換使用。
請參閱圖2,其為本案之即時資料之處理方法之流程示意圖,主要包括步驟S301~S305。
於步驟S301中,資料中心叢集將來自製作者之串流資料中的各訊息,依其各自的指定,分派至資料中心叢集中的各頻道。接著進至步驟S302。於一實施例中,製作者的數量可為一個或多個,有各次的串流資料,而各串流資料中有多個訊息。於另一實施例中,依其各自的指定分派可為依其種類或容量來分類至不同的頻道,且每個頻道可具有一個或多個分區。
於步驟S302中,資料中心叢集以循換制,依序將多個頻道中的各訊息逐一指派至多個消費者的一有空的消費者。接著進至步驟S303。在此,有空的消費者係指已處理完訊息或沒有在處理訊息之消費者,且資料中心叢集所包含的多個頻道中的多個訊息係具有順序,當該多個消費者中出現一有空的消費者時,即將該順序中的首位順序的訊息指派至該有空的消費者。
於步驟S303中,資料中心叢集判斷在給定時間內,是否收到給定消費者對於給定頻道的給定訊息的處理成功通知,若有收到,返回步驟S302以
繼續循環制;若沒有收到,則進至步驟S304。一般而言,各個消費者處理完目前頻道的目前訊息後,會回傳對於目前頻道中目前訊息之處理成功通知至資料中心叢集的該目前頻道,而該資料中心叢集收到各該消費者對於目前頻道中目前訊息之處理成功通知時,令該目前頻道的偏移量的位置移至該目前頻道的下一個訊息,以供繼續以循環制的方式指派制有空的消費者。換言之,資料中心叢集會等待各消費者對於目前頻道的目前訊息的處理成功通知,直到超過給定時間,其中表示可能是資料發生問題或消費者發生問題。於一實施例中,該資料中心叢集的各頻道具有各自默認的給定時間,可視其訊息容量而定,例如訊息容量較大的頻道可能具有較長的默認給定時間,反之亦然。
於步驟S304中,資料中心叢集啟動錯誤消費者,將給定訊息指派至錯誤消費者,令給定頻道不參與循環制。接著進至步驟S305。詳言之,該資料中心叢集在該給定時間內沒有收到給定消費者對於給定頻道的給定訊息的處理成功通知,表示可能是資料發生錯誤或消費者發生錯誤,則進行重平衡,以觸發啟動該錯誤消費者,使給定頻道不參與循環制。於一實施例中,該給定消費者發生錯誤,或該給定頻道的給定訊息發生錯誤,則該給定訊息指派至該錯誤消費者,而該給定消費者無法參與循環制。換言之,只要是該消費發生過一次錯誤,可能是給定訊息錯誤或是消費者發生錯誤,一概視為錯誤,則頻道指到錯誤消費者。
於步驟S305中,資料中心叢集收到錯誤消費者對於給定頻道的給定訊息之處理完成通知,令給定頻道回歸參與循環制,刪除錯誤消費者。於此步驟中,當該錯誤消費者處理該給定頻道中該給定訊息的過程符合錯誤規則庫中的中止條件時,回傳該處理完成通知至該資料中心叢集。於一實施例中,該錯
誤消費者可由該資料中心叢集在收到該處理完成通知後刪除之,或由該資料中心叢集設定以於該錯誤消費者回傳該處理完成通知後,該錯誤消費者消失。於又一實施例中,該錯誤規則庫定義訊息種類、中止判斷條件、和錯誤處理方式(例如丟棄)。於再一實施例中,當該資料中心叢集收到該錯誤消費者對於該給定頻道的該給定訊息之處理完成通知時,令給定頻道回歸參與循環制,以令該給定頻道的偏移量的位置移至該給定頻道的下一個訊息。
在上述之資料處理方法中,製作者用於不斷地向頻道發送訊息,例如執行在一個或多個伺服器或具處理器的裝置(例如,物聯網設備的感測器)上的程序,而消費者用於處理製作者產生的訊息,例如執行在計算裝置(例如,處理器或電腦或伺服器)上的程序。
請參閱圖3,其為本案之即時資料之處理方法之循環制(round-robin)的示意圖。
在每個消費者31、32、33的處理能力相同的狀況下,依序讀取每個頻道21、22、23的偏移量的位置以處理下一訊息,此方式稱為循環制(Round-robin)。依時間順序來說,1):消費者31讀取頻道21的訊息1-1,2):消費者32讀取頻道22的訊息2-1,3):消費者33讀取頻道23的訊息3-1,4):消費者32讀取頻道21的訊息1-2,5):消費者33讀取頻道22的訊息2-2,6):消費者33讀取頻道23的訊息3-2,7):即將要被讀取的頻道21的訊息1-3,8):即將要被讀取的頻道22的2-3,9):即將要被讀取的頻道23的3-3。
須說明的是,資料中心叢集以偏移量(offset)的位置來指定下一個要配指派的訊息,也可以理解為消費者來讀取每個頻道21、22、23的偏移量的位置中的訊息。在圖3所示的實施例中,頻道22的訊息容量較小,處理時間亦
較短,故消費者32處理完訊息2-1之後即成為有空的消費者,接著便處理訊息容量較大的頻道21的訊息1-2,而消費者33處理完訊息3-1後,消費者31和32仍在處理訊息中,故消費者33即成為有空的消費者,便接著處理訊息2-2。藉此,每個頻道21、22、23的訊息等待時間都是公平的,避免大容量串流資料的頻道(例如頻道21)需要等待過久時間才能被完全消費掉。
上述資料處理過程中,遇到問題的一處理流程如圖4所示。請參閱圖4,其為本案之即時資料之處理方法之重平衡的示意圖。消費者31、32、33讀取頻道21、22、23的訊息,如正常處理完成便回傳成功通知,若處理的時候發生問題而無法完成,此時消費者將進行重試(Retry),例如消費者33處理訊息時發生問題則進行重試,如圖中顯示為圓弧箭頭。若問題始終無法正常處理完成也送不出處理成功通知,對應的頻道等不到處理成功通知直到超過給定時間(Time out),則此Time out會啟動重平衡(Rebalance),如圖顯示為虛線框機制,由於無法認定是資料還是消費者發生問題,此機制會中斷需參與重平衡的頻道與消費者群,通常是具有相同群編號(Group ID)的消費者群與其正在消費的頻道都要參與,圖4所示為頻道21、22、23與消費者31、32、33。重平衡(Rebalance)係用於重新分配消費者來消費(或稱處理)哪一個頻道,而目前正在被處理的訊息也必須中斷且重新等待被消費,不管是不是有出現問題的那個頻道,即各頻道21、22、23的偏移量(offset)210、220、230停留原本的位置訊息1-1、2-1、3-1,而沒有跳下一個。例如訊息1-1本來給消費者32、訊息2-1本來給消費者31、訊息3-1本來給消費者33,但消費者33處理訊息3-1發生問題而一直重試,頻道23等不到處理成功通知直到超過給定時間(time out),觸發重平衡(Rebalance)
以重新分配,於是訊息1-1給消費者31、訊息2-1給消費者32、訊息1-3給消費者33。
上述資料處理過程中,遇到問題的另一處理流程如圖5所示。圖4可能會發生一直重平衡而導致相關頻道資料都受到影響,又重新處理,因此本案更提出如圖5所示的方法來避免此狀況發生。
請參閱圖5,其為本案之即時資料之處理方法之啟動錯誤消費者的示意圖。如圖5所示,當頻道23等不到消費成功通知直到超過給定時間(Time out),進行一次重平衡,啟動一錯誤消費者(Error Consumer)34來處理頻道23,此時頻道23不參與上述圖3之資料處理的循環制。錯誤消費者34等同一個獨立的消費者,其資源與正常的消費者相同,而頻道23的offset停留在剛剛因為錯誤而中斷消費的位置訊息3-1,沒有跳下一個。藉此,訊息的重送與消費的重試可以在這個連結中循環,不致於影響其他的頻道與消費者。另外,錯誤重試循環的中止判斷條件與錯誤處理方式可由一個錯誤規則庫(Error Rules)24來記錄。當錯誤消費者34處理的過程中符合該中止條件時,進行對應的錯誤處理方式,以通知資料中心叢集該頻道可回歸到正常的管道,如圖6所示,頻道23的offset跳下一個到訊息3-2,且錯誤消費者34被回收(或稱刪除或消失),頻道23等待其他正常消費者21、22、23來消費訊息,也就是頻道23與消費者21、22、23回歸參與循環制。
須說明的是,本案之方法可執行在例如伺服器、電腦或其他具有資料處理、運算、儲存、網路通聯等功能的一個單獨或多個集合之設備中,其中,該伺服器、電腦或設備包括中央處理器、硬碟、記憶體等。
另外,本案之電腦程式產品係經由電腦載入程式後執行該方法。另外,電腦程式(產品)除可儲存於記錄媒體外,亦可在網路上直接傳輸提供,電腦程式(產品)係為載有電腦可讀取之程式且不限外在形式之物。所述電腦包括但不限於具有處理器之電子裝置,例如手機或平板等。
此外,本案還提供一種電腦可讀取記錄媒體,係應用於具有處理器及/或記憶體之計算設備或電腦中,且電腦可讀取記錄媒體儲存有指令,並可利用計算設備或電腦透過處理器及/或記憶體執行電腦可讀取記錄媒體,以於執行電腦可讀取記錄媒體時執行上述方法及/或內容。所述電腦可讀取紀錄媒體(例如硬碟、軟碟、光碟、USB隨身碟)係儲存有該電腦程式(產品)。
請參閱圖7,其為本案之即時資料之處理方法之具體實施例之架構示意圖。例如水錶之物聯網設備60A、60B,其中,各水錶中有三個感測器持續傳送訊息(即串流資料),例如用水度數、時間、電池電量、請求/回應訊息、圖片上傳等,到物聯網感測資料處理設備的資料中心叢集40,其中物聯網設備60A的感測器61為度數感測器,其每小時上傳一次大小為1KB,物聯網設備60A的感測器62為請求與回應指令感測器,其視需要時傳送(較不定時),物聯網設備60A的感測器63為圖片感測器,每日上傳一次大小為10MB。物聯網設備60B的感測器64、65、66與物聯網設備60A的感測器64、65、66相似而不予以贅述。
如圖7所示,資料中心叢集40將物聯網設備60A的訊息依照各感測器61、62、63送到對應的頻道41、42、43,將物聯網設備60B的訊息依照各感測器64、65、66送到對應的頻道44、45、46。物聯網感測資料處理設備內有四個消費者51、52、53、54運作為同一個消費者群50,而資料中心叢集40以
輪詢的方式,即從頻道41到頻道46再從頻道41又開始,指派空的消費者去消費訊息。換言之,頻道41、42、43、44、45、46中的訊息上的數字用於表示順序,當消費者51、52、53、54中任一者有空時,多個訊息中數字順序教小者為優先被指派至該有空的消費者,各頻道以其各自的偏移量的位置來標識下一個要被指派(或稱讀取)的訊息。此為本案所述之循環制(round-robin)。
假設消費者51消費頻道41,解開得知此筆訊息的種類為度數,則需儲存到數據倉儲,儲存成功代表處理完成則回傳處理成功通知給頻道41,則頻道41的offset往下跳一個等待下一個消費者來消費,消費者51可去消費另一個頻道。另外,假設消費者54消費頻道46,解開訊息得知此筆訊息的種類為度數,則需儲存到數據資料庫,但消費者54連結到數據資料庫卻失敗,數據無法儲存,處理沒有完成,消費者54再次嘗試連結到數據資料庫又失敗,頻道46一直沒有收到處理成功通知息到Time Out,於是觸發Rebalance機制,啟動一錯誤消費者55來處理頻道46,此時頻道46並不參與循環制,錯誤消費者55先讀取頻道46中種類為度數的錯誤資料庫47,得知如果再次失敗則直接丟棄數據,錯誤消費者55再次嘗試連結到數據資料庫,又失敗,則丟棄數據,錯誤消費者55消失,回傳處理成功通知給頻道46、回傳錯誤處理完成通知給資料中心叢集40,讓頻道46的offset往下跳一個等待下一個消費者來消費,即頻道46回歸參與循環制。此為本案所述之錯誤消費者(error consumer)制。
綜上所述,本案之串流資料之處理方法、電腦程式產品、電腦可讀取記錄媒體、以及串流資料之處理設備係具有容錯能力,採用Round Robin Scheduling讓消費者輪詢讀取頻道,此可讓不同性質不同大小的串流資料在不同的頻道以平均的等待時間等著被消費,如此一來可避免在同一頻道中因為一過
大串流資料消費者在消化時導致後方的串流資料過久的等待。另外,本案更採用錯誤消費者(error consumer)的機制來阻斷錯誤循環,避免因消費者處理一錯誤訊息與重送訊息、重新平衡的循環,導致同頻道與相關頻道的其他串流資料被迫停等,直到time out或者錯誤消失,且錯誤消費者在處理完錯誤後會消失。
上述實施例僅例示性說明本案之功效,而非用於限制本案,任何熟習此項技藝之人士均可在不違背本案之精神及範疇下對上述該些實施態樣進行修飾與改變。因此本案之權利保護範圍,應如後述之申請專利範圍所列。
S301~S305:步驟
Claims (11)
- 一種串流資料之處理方法,係包括:藉由資料中心叢集將來自製作者之串流資料的多個訊息,依各該訊息的指定分派至該資料中心叢集中多個頻道的各指定頻道;藉由該資料中心叢集以循環制依序將各該頻道中的各該訊息,逐一指派至多個消費者的一有空者,其中,該循環制係為允許各該消費者依序讀取各該頻道的偏移量的位置以處理各該頻道中的各該訊息;當該資料中心叢集在給定時間內未收到給定消費者對於給定頻道中給定訊息之處理成功通知時,啟動錯誤消費者以將該給定訊息指派至該錯誤消費者,俾令該給定頻道不參與循環制;以及當該資料中心叢集收到該錯誤消費者對於該給定頻道中該給定訊息之處理完成通知時,令該給定頻道回歸參與循環制。
- 如請求項1所述之處理方法,更包括:當該資料中心叢集收到該錯誤消費者對於該給定頻道中該給定訊息之處理完成通知時,刪除該錯誤消費者。
- 如請求項1所述之處理方法,其中,當該錯誤消費者處理該給定頻道中該給定訊息的過程符合錯誤規則庫中的中止條件時,回傳該處理完成通知。
- 如請求項1所述之處理方法,其中,當該資料中心叢集收到該錯誤消費者對於該給定頻道中該給定訊息之處理完成通知時,令該給定頻道的偏移量的位置移至該給定頻道的下一個訊息。
- 如請求項1所述之處理方法,其中,當該資料中心叢集收到各該消費者對於目前頻道中目前訊息之處理成功通知時,令該目前頻道的偏移量的位置移至該目前頻道的下一個訊息。
- 一種電腦程式產品,經電腦載入程式後以執行如請求項1至5任一項所述之串流資料之處理方法。
- 一種串流資料之處理設備,係包括:資料中心叢集,包括多個頻道,該資料中心叢集將來自製作者之串流資料的多個訊息,依各該訊息的指定分派至該多個頻道中的各指定頻道;以及多個消費者,係經該資料中心叢集的指派而處理各該頻道中的各該訊息;其中,該資料中心叢集以循環制依序將各該頻道中的各訊息,逐一指派至多個消費者的一有空者,其中,該循環制係為允許各該消費者依序讀取各該頻道的偏移量的位置以處理各該頻道中的各該訊息;其中,當該資料中心叢集在給定時間內未收到給定消費者對於給定頻道中給定訊息之處理成功通知時,該資料中心叢集係啟動錯誤消費者,以將該給定訊息指派至該錯誤消費者,俾令該給定頻道不參與循環制;其中,當該資料中心叢集收到該錯誤消費者對於該給定頻道中該給定訊息之處理完成通知時,令該給定頻道回歸參與循環制。
- 如請求項7所述之處理設備,其中,當該資料中心叢集收到該錯誤消費者對於該給定頻道中該給定訊息之處理完成通知時,刪除該錯誤消費者。
- 如請求項7所述之處理設備,其中,當該錯誤消費者處理該給定頻道中該給定訊息的過程符合錯誤規則庫中的中止條件時,回傳該處理完成通知。
- 如請求項7所述之處理設備,其中,當該資料中心叢集收到該錯誤消費者對於該給定頻道中該給定訊息之處理完成通知時,令該給定頻道的偏移量的位置移至該給定頻道的下一個訊息。
- 如請求項7所述之處理設備,其中,當該資料中心叢集收到各該消費者對於目前頻道中目前訊息之處理成功通知時,令該目前頻道的偏移量的位置移至該目前頻道的下一個訊息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111144444A TWI828433B (zh) | 2022-11-21 | 2022-11-21 | 串流資料之處理設備、處理方法及執行處理方法之電腦程式產品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111144444A TWI828433B (zh) | 2022-11-21 | 2022-11-21 | 串流資料之處理設備、處理方法及執行處理方法之電腦程式產品 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI828433B true TWI828433B (zh) | 2024-01-01 |
TW202423097A TW202423097A (zh) | 2024-06-01 |
Family
ID=90458935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111144444A TWI828433B (zh) | 2022-11-21 | 2022-11-21 | 串流資料之處理設備、處理方法及執行處理方法之電腦程式產品 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI828433B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201328247A (zh) * | 2011-12-21 | 2013-07-01 | Inventec Corp | 系統錯誤處理方法與使用其之伺服器系統 |
TW201333722A (zh) * | 2012-02-03 | 2013-08-16 | Chunghwa Telecom Co Ltd | 大量多元資料篩選管理的機制與方法 |
US20160092220A1 (en) * | 2014-09-26 | 2016-03-31 | Intel Corporation | Instruction and Logic for Machine Check Interrupt Management |
US20190205221A1 (en) * | 2017-12-28 | 2019-07-04 | Lendingclub Corporation | Error handling for services requiring guaranteed ordering of asynchronous operations in a distributed environment |
US20210089415A1 (en) * | 2019-09-25 | 2021-03-25 | Sap Se | High availability for a relational database management system as a service in a cloud platform |
US20210258358A1 (en) * | 2017-07-12 | 2021-08-19 | Cisco Technology, Inc. | Conference session access using reachability information for distributed clusters of media nodes |
-
2022
- 2022-11-21 TW TW111144444A patent/TWI828433B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201328247A (zh) * | 2011-12-21 | 2013-07-01 | Inventec Corp | 系統錯誤處理方法與使用其之伺服器系統 |
TW201333722A (zh) * | 2012-02-03 | 2013-08-16 | Chunghwa Telecom Co Ltd | 大量多元資料篩選管理的機制與方法 |
US20160092220A1 (en) * | 2014-09-26 | 2016-03-31 | Intel Corporation | Instruction and Logic for Machine Check Interrupt Management |
US20210258358A1 (en) * | 2017-07-12 | 2021-08-19 | Cisco Technology, Inc. | Conference session access using reachability information for distributed clusters of media nodes |
US20190205221A1 (en) * | 2017-12-28 | 2019-07-04 | Lendingclub Corporation | Error handling for services requiring guaranteed ordering of asynchronous operations in a distributed environment |
US20210089415A1 (en) * | 2019-09-25 | 2021-03-25 | Sap Se | High availability for a relational database management system as a service in a cloud platform |
Also Published As
Publication number | Publication date |
---|---|
TW202423097A (zh) | 2024-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109471705B (zh) | 任务调度的方法、设备及系统、计算机设备 | |
CN106161537B (zh) | 远程过程调用的处理方法、装置、系统及电子设备 | |
US7689694B2 (en) | Process management apparatus, computer systems, distributed processing method, and computer program for avoiding overhead in a process management device | |
US20190335010A1 (en) | Systems and methods for providing messages to multiple subscribers | |
US10019408B2 (en) | Remote direct memory access (RDMA) high performance producer-consumer message processing | |
CN104572974B (zh) | 业务请求处理方法和装置 | |
US20100211954A1 (en) | Practical contention-free distributed weighted fair-share scheduler | |
EP1768024B1 (en) | Processing management device, computer system, distributed processing method, and computer program | |
CN106603692B (zh) | 一种分布式存储系统中的数据存储方法及装置 | |
EP3114589B1 (en) | System and method for massively parallel processing database | |
WO2016145904A1 (zh) | 一种资源管理方法、装置和系统 | |
CN107562685B (zh) | 一种基于延时补偿的多核处理器核心间数据交互的方法 | |
CN105554142B (zh) | 消息推送的方法、装置及系统 | |
CN102638402A (zh) | 流媒体双缓存技术中填充数据的方法及装置 | |
CN112463400A (zh) | 一种基于共享内存的实时数据分发方法及装置 | |
CN111282263B (zh) | 事件消息的处理方法、装置、电子设备及可读存储介质 | |
TWI828433B (zh) | 串流資料之處理設備、處理方法及執行處理方法之電腦程式產品 | |
EP2951691B1 (en) | System and method for supporting work sharing muxing in a cluster | |
CN117407159A (zh) | 内存空间的管理方法及装置、设备、存储介质 | |
WO2023193527A1 (zh) | 线程执行方法、装置、电子设备及计算机可读存储介质 | |
CN115118676B (zh) | 基于中心平台的异构系统数据通信交互方法、系统及终端 | |
CN111111216A (zh) | 一种匹配方法、装置、服务器及存储介质 | |
CN110895517B (zh) | 基于fpga的传输数据的方法、设备及系统 | |
US10656967B1 (en) | Actor and thread message dispatching | |
US8869171B2 (en) | Low-latency communications |