TW202021313A - 訊息佇列發佈與訂閱之同步方法及其系統 - Google Patents
訊息佇列發佈與訂閱之同步方法及其系統 Download PDFInfo
- Publication number
- TW202021313A TW202021313A TW107141663A TW107141663A TW202021313A TW 202021313 A TW202021313 A TW 202021313A TW 107141663 A TW107141663 A TW 107141663A TW 107141663 A TW107141663 A TW 107141663A TW 202021313 A TW202021313 A TW 202021313A
- Authority
- TW
- Taiwan
- Prior art keywords
- message
- data
- synchronization
- intermediary media
- queue
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本發明揭露一種訊息佇列發佈與訂閱之同步方法及其系統,其方法包括:提供一訊息資料中介媒體叢集,該訊息資料中介媒體叢集包括複數個具有暫存訊息佇列與同步訊息佇列之訊息資料中介媒體;於該訊息資料中介媒體叢集中任一訊息資料中介媒體提出同步需求時,由一協調伺服器選擇該訊息資料中介媒體叢集中其中一個訊息資料中介媒體來執行資料同步;設定資料讀取鎖定,將全部該複數個訊息資料中介媒體之暫存訊息佇列的資料內容依序寫入至所選定之該訊息資料中介媒體之同步訊息佇列;以及將所選定之該訊息資料中介媒體之同步訊息佇列中的完整資料內容複製至其他該訊息資料中介媒體之同步訊息佇列中,使得各該訊息資料中介媒體之同步訊息佇列內的資料內容一致。
Description
本發明係有關中介媒體之間訊息佇列(Message Queue,MQ)的同步機制,特別是關於一種訊息佇列發佈與訂閱之同步方法及其系統。
因應巨量資料即時傳輸與存取目的,裝置與裝置之間的資料傳輸型態愈來愈多元,為追求高吞吐量資料傳輸與降低資料的延遲時間,同時確保訊息佇列內容的同步與後端應用程式資料內容存取的一致性,於是逐步發展為分散式的資料發佈與訂閱(Publish/Subscribe, PUB/SUB)。
分散式訊息佇列(Distributed Message Queue)資料發佈與訂閱機制,係將訊息多等份切割,平行式的向多個分散資料中介媒體(Broker)同時發佈與訂閱存取,藉以提升訊息資料傳輸吞吐量,其中,可透過管理員(Zookeeper)統一管理,並依規則(Round Robin、Range或Hash)固定資料發佈與訂閱存取特定Broker位址,分散式訊息佇列資料發佈與資料訂閱,雖然提升訊息資料傳輸吞吐量,但Zookeeper的位址規則限定資料發佈與訂閱存取平行度,簡單來說,資料發佈與訂閱可參考網路頻寬、仲介狀態或距離遠近等動態環境因素,不限定資料中介媒體,以大幅提升資料訊息傳輸吞吐量,但需解決各資料中介媒體之間的訊息內容同步。
現有技術中,資料分散服務 (Data Distribution Service,DDS)致力於非代理(broker-less)訊息遞送技術,雖大幅提升訊息遞送的吞吐量(High Throughput)與降低資料的延遲(Low Latency),但資料內容不保證送達,訂閱端資料內容也無法一致;RabbitMQ致力於中介媒體訊息路由規則(Routing Rules)與轉寄(Forwarding)技術,雖提升訊息遞送的準確性,但仍無平行發佈與訂閱機制;Kafka致力於分散式資料通道仲介(Brokers Cluster)技術與訊息分割(Topic Partitioning),雖能提升訊息資料傳輸吞吐量,但也無完整資料內容同步。
綜上,既有分散式PUB/SUB 訊息佇列系統雖具備高吞吐量資料傳輸與低延遲特性,但資料僅能透過固定資料中介媒體發佈與訂閱,導致資料平行化傳輸無法提升,若不限定客戶(PUB/SUB)端對資料中介媒體(broker)的訊息佇列發佈與存取,則需解決多個資料中介媒體之間訊息佇列(MQ)的同步問題,以保有多個資料需求端所處理的資料內容一致。
由上可知,在現有分散式PUB/SUB 訊息佇列系統,如何提供解決資料中介媒體之間的訊息佇列內容同步問題,確保每一個客戶端所存取資料相同,此將成為目前本技術領域人員急欲解決之技術問題。
本發明係提出一種可提高分散式PUB/SUB 訊息佇列系統傳輸吞吐量的方法,用於解決資料中介媒體之間的訊息佇列內容同步問題,藉此確保客戶端於網路環境等多項參數條件下,能自行任意選擇一最佳資料中介媒體進行發佈與存取資料,同時令每一個客戶端所存取的資料內容皆具有一致性。
本發明提出一種訊息佇列發佈與訂閱之同步方法,其包括:提供一訊息資料中介媒體叢集,該訊息資料中介媒體叢集包括複數個具有暫存訊息佇列與同步訊息佇列之訊息資料中介媒體;於該訊息資料中介媒體叢集中任一訊息資料中介媒體提出同步需求時,由一協調伺服器選擇該訊息資料中介媒體叢集中其中一個訊息資料中介媒體來執行資料同步;設定資料讀取鎖定,將全部該複數個訊息資料中介媒體之暫存訊息佇列的資料內容依序寫入至所選定之該訊息資料中介媒體之同步訊息佇列;以及將所選定之該訊息資料中介媒體之同步訊息佇列中的完整資料內容複製至其他該訊息資料中介媒體之同步訊息佇列中,使得各該訊息資料中介媒體之同步訊息佇列內的資料內容一致。
本發明復提出一種訊息佇列發佈與訂閱之同步系統,其包括:訊息資料中介媒體叢集以及協調伺服器。訊息資料中介媒體叢集包含複數個訊息資料中介媒體,且各該訊息資料中介媒體包括暫存訊息佇列與同步訊息佇列,而協調伺服器係連接該訊息資料中介媒體叢集,該協調伺服器於該訊息資料中介媒體叢集中任一訊息資料中介媒體提出同步需求時,選擇該訊息資料中介媒體叢集中其中一個訊息資料中介媒體來執行資料同步,其中,該資料同步之執行包括設定資料讀取鎖定,以令全部該複數個訊息資料中介媒體之暫存訊息佇列的資料內容依序寫入至所選定之該訊息資料中介媒體之同步訊息佇列,接著將所選定之該訊息資料中介媒體之同步訊息佇列中的完整資料內容複製至其他該訊息資料中介媒體之同步訊息佇列中,以使各該訊息資料中介媒體之同步訊息佇列內的資料內容一致。
本發明提出之訊息佇列發佈與訂閱之同步方法及其系統,透過不限定訊息發佈端或訊息訂閱端之資料訊息遞送與存取的訊息資料中介媒體,客戶端可自行參考網路狀態、距離、中介媒體(例如回應時間)等狀態參數,選擇主題相關任一訊息資料中介媒體進行資料訊息發佈或訂閱,以提高整體資料傳輸平行度與吞吐量,另外,訊息資料中介媒體具備暫存訊息佇列(Buffer Queue) 與同步訊息佇列(Data Queue)兩種資料佇列(Message Queues),分別做為發佈端遞送與訂閱端存取資料用途,如此能讓於任一訊息資料中介媒體在提出同步需求時,依舊保有資料訊息可持續發佈,避免因訊息資料中介媒體於資料同步時,所衍生傳輸吞吐效能下降等問題。
本揭露的示範性實施例可包括本文中所描述(包括具體實施方式中所描述)和/或圖式中所展示的新穎特徵中的任何一個或一個以上。如本文中所使用,“至少一個”、“一個或一個以上”和“和/或”為在操作中既連接又分離的開端表達。舉例來說,表達“A、B和C中的至少一個”、“A、B或C中的至少一個”、“A、B和C中的一個或一個以上”、“A、B或C中的一個或一個以上”和“A、B和/或C”中的每一個意味單獨A、單獨B、單獨C、A和B一起、A和C一起、B和C一起或A、B和C一起。
應注意,術語“一”實體指一個或一個以上所述實體。因此,術語“一”、“一個或一個以上”和“至少一個”可在本文中互換使用。
第1圖說明本發明之訊息佇列發佈與訂閱之同步系統的系統架構圖。如圖所示,訊息佇列發佈與訂閱之同步系統1能讓其內部各訊息資料中介媒體的資料內容一致,使得訊息訂閱端3能取得所需資料,其中,訊息佇列發佈與訂閱之同步系統1包括訊息資料中介媒體叢集11和協調伺服器12。
訊息資料中介媒體叢集11包含複數個訊息資料中介媒體111,且各該訊息資料中介媒體111包括暫存訊息佇列(Buffer Queue)1111與同步訊息佇列(Data Queue)1112兩種不同訊息佇列(Message Queue),並能依主題(Topic),使多個訊息資料中介媒體111組成一群組,即訊息資料中介媒體叢集(Broker Cluster)11,藉此分散(平行)接受資料發佈與訂閱。
協調伺服器12連接該訊息資料中介媒體叢集11,該協調伺服器12於該訊息資料中介媒體叢集11中任一訊息資料中介媒體111提出同步需求時,選擇該訊息資料中介媒體叢集11中其中一個訊息資料中介媒體111來執行資料同步,其中,該資料同步包括設定資料讀取鎖定(Lock),以令全部訊息資料中介媒體111之暫存訊息佇列1111的資料內容依序寫入至所選定之訊息資料中介媒體111之同步訊息佇列1112,接著將所選定之該訊息資料中介媒體111之同步訊息佇列1112中的完整資料內容複製至其他訊息資料中介媒體111之同步訊息佇列1112中,以使各該訊息資料中介媒體111之同步訊息佇列1112內的資料內容一致。
具體來說,協調伺服器12除負責管理資料訊息主題(Topic)管理、資料仲介之間備援(Fail Over)、資料寫入磁碟備份時間等控制工作之外,協調伺服器12還能設定資料同步讀取鎖定(Lock)與執行管理訊息資料中介媒體111之同步訊息佇列1112之間的同步工作。
於一實施例中,協調伺服器12能透過兩種方式來進行資料內容同步。第一種係協調伺服器12依據所有訊息資料中介媒體111間之暫存訊息佇列1111的資料內容的產生時間、序列識別號(seq. id),以將全部訊息資料中介媒體111之暫存訊息佇列1111的資料內容依序寫入至所選定之訊息資料中介媒體111之同步訊息佇列1112;第二種為以時間週期為單位,依各訊息資料中介媒體111之次序批次同步,以令協調伺服器12將全部訊息資料中介媒體111之暫存訊息佇列1111的資料內容批次寫入所選定之訊息資料中介媒體111之同步訊息佇列1112中。
由上可知,協調伺服器12進行訊息資料中介媒體111之間的資料同步時,能依據時間週期或是訊息訂閱端(Subscribers)存取同步訊息佇列1112內資料內容至末端等兩種情況作為同步啟動時間點,由訊息資料中介媒體111向協調伺服器12發起同步訊息佇列1112資料同步需求,協調伺服器12遴選一個訊息資料中介媒體111進行資料同步並設定資料讀取同步鎖定,即將所選定之訊息資料中介媒體111之同步訊息佇列1112鎖定,避免同步過程被訊息訂閱端3進行讀取。
訊息發佈端2連線訊息資料中介媒體叢集11,該訊息發佈端2能依據傳輸狀態任選主題相關之訊息資料中介媒體111發佈訊息,即訊息發佈端2所選定之訊息資料中介媒體111收到訊息發佈端2所發佈之資料訊息後,會依序新增至訊息發佈端2所選定之訊息資料中介媒體111其暫存訊息佇列1111之尾端。另外,傳輸狀態包括網路狀態、距離、中介媒體回應時間。
訊息訂閱端3連線訊息資料中介媒體叢集11,訊息訂閱端3也依據傳輸狀態任選主題相關之訊息資料中介媒體111訂閱存取訊息,即訊息訂閱端3所選定之訊息資料中介媒體111收到訊息訂閱端3所發出之資料存取後,會依序傳送訊息訂閱端3所選定之訊息資料中介媒體111其同步訊息佇列1112中的資料內容並紀錄該訊息訂閱端3之讀取位置,以利於之後該訊息訂閱端3繼續讀取所選定之訊息資料中介媒體111中的內容資料。
第2圖說明本發明之訊息佇列發佈與訂閱之同步方法的步驟圖。如圖所示,本發明之訊息佇列發佈與訂閱之同步方法主要說明訊息資料中介媒體叢集內各訊息資料中介媒體可能分別存放不同資料內容,當訊息資料中介媒體任一者無法提供訊息訂閱端取得資料時會請求進行同步,即使各訊息資料中介媒體內資料內容一致,藉此達到訊息資料傳輸高吞吐量和平行化存取的目的。
於步驟S21中,提供一訊息資料中介媒體叢集,該訊息資料中介媒體叢集包括複數個具有暫存訊息佇列與同步訊息佇列之訊息資料中介媒體。為了達到訊息資料具有高傳輸吞吐量,故採用複數個訊息資料中介媒體的設計,另外,每一個訊息資料中介媒體具有接收新進資料內容之暫存訊息佇列以及供訂閱者讀取資料內容之同步訊息佇列,並透過兩個佇列使用,不影響資料傳輸吞吐量下執行訊息資料的同步,進而達到提升資料訊息平行存取的目的。
於步驟S22中,於該訊息資料中介媒體叢集中任一訊息資料中介媒體提出同步需求時,由一協調伺服器選擇該訊息資料中介媒體叢集中其中一個訊息資料中介媒體來執行資料同步。於本步驟中,訂閱者通常會選擇一個訊息資料中介媒體來讀取資料內容,但完整資料訊息內容可能散布在多個不同訊息資料中介媒體,因而當任一訊息資料中介媒體無法滿足訂閱者需求時,即訂閱者無法取得資料內容時,則訊息資料中介媒體會發出同步需求,並由協調伺服器指定一個訊息資料中介媒體執行資料同步。
於步驟S23中,設定資料讀取鎖定,將全部該訊息資料中介媒體之暫存訊息佇列的資料內容依序寫入至所選定之該訊息資料中介媒體之同步訊息佇列。於本步驟中,會先鎖定協調伺服器所指定/選定的訊息資料中介媒體的同步訊息佇列讀取,接著將全部該複數個訊息資料中介媒體其暫存訊息佇列的資料內容寫入所選定之訊息資料中介媒體之同步訊息佇列,此時所選定之訊息資料中介媒體之同步訊息佇列即包含所有資料內容。
於步驟S24中,將所選定之該訊息資料中介媒體之同步訊息佇列中的完整資料內容複製至其他該訊息資料中介媒體之同步訊息佇列中,使得各該訊息資料中介媒體之同步訊息佇列內的資料內容一致。本步驟即將所選定之訊息資料中介媒體之同步訊息佇列所包含的完整資料內容再複製到其他未被選擇的訊息資料中介媒體的同步訊息佇列中,如此所有的訊息資料中介媒體之同步訊息佇列其資料內容將會一致。
於一實施例,有關前述同步機制中,當將全部訊息資料中介媒體之暫存訊息佇列的資料內容依序寫入至所選定之訊息資料中介媒體之同步訊息佇列時,可透過兩種方式進行,一種是依據暫存訊息佇列的資料內容的產生時間、序列識別號(seq. id)而使該資料內容依序寫入,此方式是基於各暫存訊息佇列內資料內容會有產生時間或是序列識別號(即先後順序),因而可據此依據各暫存訊息佇列內資料內容的產生先後順序,依序寫入所選定之訊息資料中介媒體之同步訊息佇列中。
另一種為以時間週期為單位,依各訊息資料中介媒體之次序批次同步,以令協調伺服器將各訊息資料中介媒體之暫存訊息佇列的資料內容批次寫入所選定之訊息資料中介媒體之同步訊息佇列中。此方式透過一時間週期(例如10秒或1分鐘),鎖定所選擇之的訊息資料中介媒體的同步訊息佇列,並依序由其餘訊息資料中介媒體的暫存訊息佇列取出所有資料內容,並寫入所選擇之的訊息資料中介媒體的同步訊息佇列中。
於一實施例中,各訊息資料中介媒體之次序能以環狀(Ring)、星狀(Star)或其他網路拓樸結構方式來進行,並依序將每一個訊息資料中介媒體的暫存訊息佇列中的所有資料內容批次寫入至所選擇之的訊息資料中介媒體的同步訊息佇列中。
上述兩種同步方式的差別是,所選擇之的訊息資料中介媒體的同步訊息佇列內的資料內容順序可能不同,但資料內容所包含內容會是相同,順序不同原因在於前一種方式是考量各暫存訊息佇列內每一個資料內容產生時間或序列識別號,舉例來說,第一個暫存訊息佇列可能放資料內容編號1、3、4,第二個暫存訊息佇列可能放資料內容編號2、5,則所有資料內容存入所選擇之的訊息資料中介媒體的同步訊息佇列內順序會維持1、2、3、4、5,但若採用後一種方式,則是先取得一個暫存訊息佇列的所有資料內容(編號1、3、4),再取得下一個暫存訊息佇列的所有資料內容(編號2、5),這樣所有資料內容存入所選擇之的訊息資料中介媒體的同步訊息佇列內順序則為維持1、3、4、2、5,但不論如何,所有資料內容皆會存入所選擇之的訊息資料中介媒體的同步訊息佇列中,且各資料中介媒體之同步訊息佇列一致。
另外,前述暫存訊息佇列係供一訊息發佈端將其資料內容依序新增至該些暫存訊息佇列之尾端。簡單來說,當訊息發佈端發佈新的資料內容時,該些資料內容會依據網路狀態、距離、中介媒體回應時間之傳輸狀態,任選主題相關之訊息資料中介媒體發佈訊息,以使該些新的資料內容寫入所選擇訊息資料中介媒體之暫存訊息佇列的尾端。
同理,前述同步訊息佇列係依據訊息訂閱端(即前述訂閱者)之資料存取,依序傳送該些同步訊息佇列的資料內容並紀錄該訊息訂閱端之讀取位置。同樣地,訊息訂閱端會依據網路狀態、距離、中介媒體回應時間之傳輸狀態,任選主題相關之訊息資料中介媒體訂閱存取訊息。也就是說,若訊息訂閱端提出資料存取需求,則可由所選擇之訊息資料中介媒體的同步訊息佇列取得所需資料內容,此時會同步紀錄訊息訂閱端之讀取位置,以便後續再繼續讀取資料。
第3A-3C圖說明本發明之訊息佇列發佈與訂閱方法具體細節的運作流程圖。如第3A圖所示,係說明訊息發佈端或訊息訂閱端發出訊息要求發佈或訂閱資料,其中,於流程S311-S312中,一個裝置(訊息發佈端或訊息訂閱端)嘗試發佈訊息至某個主題或訂閱讀取某個主題,即訊息發佈端發佈訊息至某個主題的訊息資料中介媒體,或是訊息訂閱端訂閱讀取某個主題的訊息資料中介媒體內資料內容,此時訊息發佈端或訊息訂閱端會選擇最佳的訊息資料中介媒體來進行資料發佈或訂閱。
於流程S313-S315中,判斷資料訊息是否為發佈,若是,於流程S314執行資料訊息推播,接著進入流程S315,資料將以FIFO方式新增至訊息資料中介媒體的暫存訊息佇列。
反之,若資料訊息不是發佈,表示要讀取,則進入流程S316,判斷所選擇之訊息資料中介媒體的同步訊息佇列是否讀取到最後,若否,則進入流程S317,表示所選擇之訊息資料中介媒體還能提供訊息訂閱端所需的資料內容,若所選擇之訊息資料中介媒體已無訊息訂閱端所需的資料內容,則進入流程S318,查看其他訊息資料中介媒體的暫存訊息佇列是否為空,若是則進入流程S319,回覆無資料訊息,並結束流程。
另外,於流程S318中,若發現其他訊息資料中介媒體的暫存訊息佇列不為空,表示有些資料並未被放入同步訊息佇列,所以無法被讀取,故進入於流程S310中,訊息資料中介媒體向協調伺服器提出資料同步需求,並於同步後會到流程S317,回覆資料訊息。
如第3B圖所示,係說明資料同步的前段程序,其對應第2圖步驟S22和S23。於流程S320中,訊息資料中介媒體向協調伺服器提出資料同步需求,接著進入流程S321- S322中,協調伺服器由主題群組(Broker Cluster)中選定一訊息資料中介媒體做為資料同步暫存之用,並且設定選定之訊息資料中介媒體的同步訊息佇列資料讀取鎖定(lock),避免同步時有人執行讀取。
於流程S323中,以時間週期為單位,由訊息資料中介媒體次序批次執行,或是依據訊息資料中介媒體間之暫存訊息佇列內資料內容產生時間、序列識別號先後順序以進行資料同步,接著,進入流程S324,其餘暫存訊息佇列完成複製,最後,進入流程S325,移除同步訊息佇列的讀取鎖定。
如第3C圖所示,說明資料同步的後段程序,其對應第2圖步驟S24。於流程S331中,移除同步訊息佇列的讀取鎖定,接著進入流程S332,判斷主題內所有訊息資料中介媒體之同步訊息佇列已完成同步,若是,表示完成同一主題內訊息資料中介媒體之同步,同步程序結束,若否,則進入流程S333。
於流程S333-336中,先選定進行資料同步的訊息資料中介媒體,接著,設定選定的訊息資料中介媒體的同步訊息佇列資料讀取鎖定,之後,複製資料同步暫存至選定的訊息資料中介媒體的同步訊息佇列,也就是,將作為同步暫存用之訊息資料中介媒體其同步訊息佇列的資料內容複製給未同步者,最後,移除選定的訊息資料中介媒體的同步訊息佇列的讀取鎖定,並且回到流程S332直到所有訊息資料中介媒體的同步訊息佇列的資料內容一致,才結束整個同步程序。
第4A-4G圖說明本發明之訊息佇列發佈與訂閱方法一具體實施例有關同步機制的示意圖。如第4A圖所示,係說明本發明所採技術概念的一實施例,收集一廠區U的機台V的震動感測,訊號可以每秒100K筆的資料產出,此時透過多個訊息發佈端A-C來進行資料發佈,並由多個訊息訂閱端D-F來進行訂閱,例如廠區U的機台V產出編號17-19的資料內容,編號17-19的資料內容可隨機或依規則送至訊息發佈端A-C,此時多個訊息發佈端A-C可依據傳輸狀態選擇一個訊息資料中介媒體來發佈資料。在此實施例中,訊息資料中介媒體叢集中包括三個訊息資料中介媒體I、J、K,如圖所示,編號18的資料內容被傳送至訊息發佈端B,而訊息發佈端B將編號18的資料內容依據傳輸狀態選一訊息資料中介媒體傳送,也就是說,每一個訊息資料中介媒體I、J、K都可能儲存有不同資料內容,例如訊息資料中介媒體I之暫存訊息佇列具有編號13、14的資料內容,訊息資料中介媒體J之暫存訊息佇列具有編號15的資料內容,訊息資料中介媒體K之暫存訊息佇列具有編號16的資料內容,而暫存訊息佇列內資料無法被讀取,僅有同步訊息佇列(目前皆有編號1-3的資料內容)能供訂閱讀取,因而多個訊息訂閱端D-F可進行輪詢(polling)並依據傳輸狀態選擇一個訊息資料中介媒體I、J、K來訂閱並讀取資料內容,如此,不限定訊息發佈端或訊息訂閱端進行資料訊息遞送與存取的訊息資料中介媒體,客戶端可自行選擇主題相關任一訊息資料中介媒體,以提高整體資料傳輸平行度與吞吐量。
然上述狀態有可能某一訊息訂閱端無法由其選定之訊息資料中介媒體取得所需資料,舉例來說,目前三個訊息資料中介媒體I、J、K都無法取得編號17-19的資料內容,因而當無法滿足訊息訂閱端D-F時,被要求讀取的訊息資料中介媒體會提出同步需求。資料內容寫入到訊息資料中介媒體的同步訊息佇列中可透過兩種形式來執行,一種是採用訊息資料中介媒體間之暫存訊息佇列內資料內容時間與序列,也就是依據每一個暫存訊息佇列內資料內容產出時間或者序列編號(序列識別號)來決定寫入到所選定之訊息資料中介媒體的同步訊息佇列的先後,另一種則是依據訊息資料中介媒體次序批次,也就是所有訊息資料中介媒體批次將暫存訊息佇列的資料內容寫入到所選定之訊息資料中介媒體的同步訊息佇列中,即將暫存訊息佇列所有資料內容一次寫入。下面透過第4B-4D以及和4E-4G圖來呈現兩者差異。
如第4B-4D圖所示,係說明本案第一種資料內容同步機制。如圖所示,所示三個訊息資料中介媒體I、J、K的同步訊息佇列皆具有編號1-3的資料內容,此同步訊息佇列所存放者是表示已同步過的資料,而訊息訂閱端D-F也僅能讀取同步訊息佇列內資料內容,另外,所示三個訊息資料中介媒體的暫存訊息佇列分別儲存不同資料內容,在編號17-19的資料內容在存放至訊息資料中介媒體I、J、K(此存放僅是舉例)後,如訊息資料中介媒體I的暫存訊息佇列存放編號13、14、17的資料內容,訊息資料中介媒體J的暫存訊息佇列存放編號15、18的資料內容,訊息資料中介媒體K的暫存訊息佇列存放編號16、19的資料內容,當訊息訂閱端D-F無法由任一個訊息資料中介媒體I-K取得標號1-3以外的資料內容時,訊息資料中介媒體I-K即須進行同步。
首先,假若由任一個訊息資料中介媒體I-K提出請求同步後,協調伺服器會選定一個訊息資料中介媒體作為同步暫存之用,舉例來說,當選擇訊息資料中介媒體I時,會把訊息資料中介媒體I的同步訊息佇列讀取鎖定,避免同步過程被讀取,接著將訊息資料中介媒體I-K的暫存訊息佇列的資料內容皆寫入訊息資料中介媒體I的同步訊息佇列中,也就是,訊息資料中介媒體I的同步訊息佇列中除了原本標號1-3的資料內容外,將會加入編號13、14、17、15、18、16、19等資料內容。
本實施例在是採用訊息資料中介媒體間之暫存訊息佇列內資料內容時間與序列,也就是依據每一個暫存訊息佇列內資料內容產出時間或者序列編號(序列識別號)來決定寫入到所選定之訊息資料中介媒體的同步訊息佇列的先後。在訊息資料中介媒體I的同步訊息佇列讀取鎖定,接著由三個訊息資料中介媒體I-K的暫存訊息佇列中資料內容序列編號來決定誰先被取出,可透過比較三個暫存訊息佇列I-K中資料內容序列編號前後,編號前面者先被取出,訊息資料中介媒體I的編號13資料內容,次一個還是訊息資料中介媒體I內的編號14資料內容,再下一個才是訊息資料中介媒體J內的編號15資料內容。最終,訊息資料中介媒體I的同步訊息佇列會包含標號1、2、3、13、14、15、16、17、18、19順序的資料內容。
接著,如第4C圖所示,訊息資料中介媒體I的同步訊息佇列已包含所有資料內容,接著解除訊息資料中介媒體I的讀取鎖定,並分別將訊息資料中介媒體J、K進行讀取鎖定,以將訊息資料中介媒體I的同步訊息佇列的資料內容分別複製給訊息資料中介媒體J、K,即完成同步程序,讀取鎖定可採一次一個訊息資料中介媒體,最終如第4D圖所示,訊息資料中介媒體I、J、K的同步訊息佇列的資料內容皆相同,此時訊息訂閱端D-F也能由訊息資料中介媒體I、J、K任一者取得所需資料內容。
第4E-4G圖說明本案第二種資料內容同步機制,是依據訊息資料中介媒體次序批次,也就是所有訊息資料中介媒體批次將暫存訊息佇列的資料內容寫入到訊息資料中介媒體I的同步訊息佇列,即將暫存訊息佇列所有資料內容一次寫入。
如第4E圖所示,訊息資料中介媒體I的同步訊息佇列讀取鎖定,三個訊息資料中介媒體I-K依序將其暫存訊息佇列中資料內容寫入至訊息資料中介媒體I的同步訊息佇列,次序並不限定,能以環狀、星狀或其他分散式網路拓樸結構方式來進行,故與資料內容產出先後無關,舉例來說,照著訊息資料中介媒體I-K的順序來進行資料複製,即訊息資料中介媒體I將編號13、14、17一次寫入訊息資料中介媒體I的同步訊息佇列,接著才換訊息資料中介媒體J,以此類推。
最終,如第4F圖所示,訊息資料中介媒體I的同步訊息佇列已包含所有資料內容,即包含標號1、2、3、13、14、17、15、18、16、19順序的資料內容,接著解除訊息資料中介媒體I的讀取鎖定,並分別將訊息資料中介媒體J、K進行讀取鎖定,之後分別將訊息資料中介媒體I的同步訊息佇列的資料內容複製給其他的訊息資料中介媒體J、K,即完成同步程序,最終如第4G圖所示,訊息資料中介媒體I、J、K的同步訊息佇列的資料內容皆相同,訊息訂閱端D-F也能由訊息資料中介媒體I、J、K任一者取得所需資料內容。
第5A-5D圖說明本發明之訊息佇列發佈與訂閱方法有關同步機制的序列圖。如第5A圖所示,訊息發佈端具有裝置R,訊息訂閱端具有裝置S,裝置R任選一訊息資料中介媒體發佈資料,例如將資料發佈至訊息資料中介媒體Y,即透過FIFO將資料存入暫存訊息佇列。另外,裝置S也任選一訊息資料中介媒體訂閱讀取,例如訂閱訊息資料中介媒體Y並發送資料讀取的請求,即透過FIFO由同步訊息佇列讀取資料,接著由訊息資料中介媒體Y的得到資料訊息的回覆。
如果發生裝置S讀取訊息資料中介媒體Y的同步訊息佇列到最後,但仍無法取得所需資料內容時,則訊息資料中介媒體Y會向協調伺服器要求資料同步。此時,協調伺服器會擇一訊息資料中介媒體來做為資料同步暫存,如圖為例,協調伺服器選擇訊息資料中介媒體X,此時協調伺服器會將訊息資料中介媒體X的同步訊息佇列讀取鎖定,並將訊息資料中介媒體X、Y和Z的暫存訊息佇列的資料內容複製到訊息資料中介媒體X的同步訊息佇列中。
第5B和5C圖則分別呈現依據訊息資料中介媒體間之暫存訊息佇列內資料內容時間與序列以及依據訊息資料中介媒體次序批次等兩種方式進行資料同步的序列圖。
如第5B圖所示,當發生裝置S至訊息資料中介媒體X的同步訊息佇列讀取資料到同步訊息佇列最後時,但仍無法取得所需資料內容時,則訊息資料中介媒體X會向協調伺服器要求資料同步。此時,協調伺服器會擇一訊息資料中介媒體來做為資料同步暫存,如圖所示,協調伺服器選擇訊息資料中介媒體X,此時協調伺服器會將訊息資料中介媒體X的同步訊息佇列讀取鎖定,接著透過FIFO方式讀取訊息資料中介媒體X、Y和Z的暫存訊息佇列的資料內容,接著比對該些資料內容的時間或序列編號,藉此知悉該些資料內容先後順序,最後協調伺服器再將所有資料內容複製到訊息資料中介媒體X的同步訊息佇列中。
如第5C圖所示,一樣是裝置S無法由訊息資料中介媒體X取得資料,訊息資料中介媒體X向協調伺服器要求資料同步。此時,協調伺服器會擇一訊息資料中介媒體來做為資料同步暫存,如圖所示,協調伺服器選擇訊息資料中介媒體X,此時協調伺服器會將訊息資料中介媒體X的同步訊息佇列讀取鎖定,接著一樣透過FIFO方式讀取訊息資料中介媒體X、Y和Z的暫存訊息佇列的資料內容,即以固定時間批次複製每一暫存訊息佇列的資料內容,最後協調伺服器再將所有資料內容複製到訊息資料中介媒體X的同步訊息佇列中。
如第5D圖所示,協調伺服器在訊息資料中介媒體X請求資料同步,經訊息資料中介媒體X的同步訊息佇列讀取鎖定,完成資料同步複製後,由協調伺服器解除訊息資料中介媒體X同步訊息佇列的鎖定,接著,協調伺服器分別向訊息資料中介媒體Y和Z的同步訊息佇列讀取鎖定,接著,訊息資料中介媒體X的同步訊息佇列的資料內容複製到訊息資料中介媒體Y和Z的同步訊息佇列,使得訊息資料中介媒體X、Y和Z的同步訊息佇列的資料內容一致,最後協調伺服器再解除訊息資料中介媒體Y和Z的同步訊息佇列的鎖定。
本發明所述伺服器、訊息發佈端、訊息訂閱端等組件包括微處理器及記憶體,而演算法、資料、程式等係儲存記憶體或晶片內,微處理器可從記憶體載入資料或演算法或程式進行資料分析或計算等處理,在此不予贅述。
綜上所述,本發明之訊息佇列發佈與訂閱之同步方法及其系統,主要是透過訊息發佈端與訊息訂閱端視狀況任意選擇一訊息資料中介媒體進行資料發佈與訂閱,以提高資料傳輸的平行化與存取吞吐量,同時,為解決訊息資料中介媒體之間的訊息佇列資料同步問題,本發明復提出訊息資料中介媒體中設有暫存訊息佇列與同步訊息佇列,藉以執行訊息資料中介媒體群組之間的資料內容同步交換,允許訊息發佈端與訊息訂閱端任意選擇一訊息資料中介媒體對主題訊息資料的發佈與訂閱存取,訊息發佈端於資料同步時不需任何寫入鎖定,但資料訂閱端於同步存取時,可能因訊息資料中介媒體的同步因素,遭遇資料讀取鎖定的設定,據此以不影響其對其他訊息資料中介媒體存取資料環境下,採用分次分批同步方式,降低同步所衍生的傳輸吞吐量效能問題,以進一步提升訊息佇列資料傳輸吞吐量與內容同步。
雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露,任何所屬技術領域中具有通常知識者,在不脫離本揭露的精神和範圍內,當可作些許的更動與潤飾,故本揭露的保護範圍當視後附的申請專利範圍所界定者為準。
1:訊息佇列發佈與訂閱之同步系統11:訊息資料中介媒體叢集111:訊息資料中介媒體1111:暫存訊息佇列1112:同步訊息佇列12:協調伺服器2:訊息發佈端3:訊息訂閱端A、B、C:訊息發佈端D、E、F:訊息訂閱端I、J、K:訊息資料中介媒體R、S:裝置S21~S24:步驟S310~S319:流程S320~S325:流程S331~S336:流程U:廠區V:機台X、Y、Z:訊息資料中介媒體
第1圖為本發明之訊息佇列發佈與訂閱之同步系統的系統架構圖;
第2圖為本發明之訊息佇列發佈與訂閱之同步方法的步驟圖;
第3A-3C圖為本發明之訊息佇列發佈與訂閱方法具體細節的運作流程圖;
第4A-4G圖為本發明之訊息佇列發佈與訂閱方法一具體實施例有關同步機制的示意圖;以及
第5A-5D圖為本發明之訊息佇列發佈與訂閱方法有關同步機制的序列圖。
S21~S24:步驟
Claims (13)
- 一種訊息佇列發佈與訂閱之同步方法,其包括: 提供一訊息資料中介媒體叢集,該訊息資料中介媒體叢集包括複數個具有暫存訊息佇列與同步訊息佇列之訊息資料中介媒體; 於該訊息資料中介媒體叢集中任一訊息資料中介媒體提出同步需求時,由一協調伺服器選擇該訊息資料中介媒體叢集中其中一個訊息資料中介媒體來執行資料同步; 設定資料讀取鎖定,將全部該複數個訊息資料中介媒體之暫存訊息佇列的資料內容依序寫入至所選定之該訊息資料中介媒體之同步訊息佇列;以及 將所選定之該訊息資料中介媒體之同步訊息佇列中的完整資料內容複製至其他該訊息資料中介媒體之同步訊息佇列中,使得各該訊息資料中介媒體之同步訊息佇列內的資料內容一致。
- 如申請專利範圍第1項所述之訊息佇列發佈與訂閱之同步方法,其中,將全部該複數個訊息資料中介媒體之暫存訊息佇列的資料內容依序寫入至所選定之該訊息資料中介媒體之同步訊息佇列係指依據所有該訊息資料中介媒體之暫存訊息佇列的該資料內容的產生時間、序列識別號而使該資料內容依序寫入。
- 如申請專利範圍第1項所述之訊息佇列發佈與訂閱之同步方法,其中,將全部該複數個訊息資料中介媒體之暫存訊息佇列的資料內容依序寫入至所選定之該訊息資料中介媒體之同步訊息佇列係指以時間週期為單位,依各該訊息資料中介媒體之次序批次同步,以令該協調伺服器將各該訊息資料中介媒體之暫存訊息佇列的該資料內容批次寫入所選定之該訊息資料中介媒體之同步訊息佇列中。
- 如申請專利範圍第3項所述之訊息佇列發佈與訂閱之同步方法,其中,各該訊息資料中介媒體之次序係以環狀(Ring)或星狀(Star)之分散式網路拓樸結構方式,依序將該資料內容寫入。
- 如申請專利範圍第1項所述之訊息佇列發佈與訂閱之同步方法,其中,各該訊息資料中介媒體之暫存訊息佇列係供訊息發佈端將其資料內容依序新增至該些暫存訊息佇列之尾端。
- 如申請專利範圍第5項所述之訊息佇列發佈與訂閱之同步方法,其中,該訊息發佈端依據網路狀態、距離、中介媒體回應時間之傳輸狀態,任選主題相關之該訊息資料中介媒體發佈訊息。
- 如申請專利範圍第1項所述之訊息佇列發佈與訂閱之同步方法,其中,各該訊息資料中介媒體之同步訊息佇列係依據訊息訂閱端之資料存取,依序傳送該些同步訊息佇列的資料內容並紀錄該訊息訂閱端之讀取位置。
- 如申請專利範圍第7項所述之訊息佇列發佈與訂閱之同步方法,其中,該訊息訂閱端依據網路狀態、距離、中介媒體回應時間之傳輸狀態,任選主題相關之該訊息資料中介媒體訂閱存取訊息。
- 一種訊息佇列發佈與訂閱之同步系統,其包括: 訊息資料中介媒體叢集,係包含複數個訊息資料中介媒體,且各該訊息資料中介媒體包括暫存訊息佇列與同步訊息佇列;以及 協調伺服器,係連接該訊息資料中介媒體叢集,該協調伺服器於該訊息資料中介媒體叢集中任一訊息資料中介媒體提出同步需求時,選擇該訊息資料中介媒體叢集中其中一個訊息資料中介媒體來執行資料同步,其中,該資料同步之執行包括設定資料讀取鎖定,以令全部該複數個訊息資料中介媒體之暫存訊息佇列的資料內容依序寫入至所選定之該訊息資料中介媒體之同步訊息佇列,接著將所選定之該訊息資料中介媒體之同步訊息佇列中的完整資料內容複製至其他該訊息資料中介媒體之同步訊息佇列中,以使各該訊息資料中介媒體之同步訊息佇列內的資料內容一致。
- 如申請專利範圍第9項所述之訊息佇列發佈與訂閱之同步系統,其中,該協調伺服器係依據所有該訊息資料中介媒體之暫存訊息佇列的該資料內容的產生時間、序列識別號,以將全部該複數個訊息資料中介媒體之暫存訊息佇列的資料內容依序寫入至所選定之該訊息資料中介媒體之同步訊息佇列。
- 如申請專利範圍第9項所述之訊息佇列發佈與訂閱之同步系統,其中,該協調伺服器係以時間週期為單位,依各該訊息資料中介媒體之次序批次同步,以令該協調伺服器將全部該複數個訊息資料中介媒體之暫存訊息佇列的資料內容批次寫入所選定之該訊息資料中介媒體之同步訊息佇列中。
- 如申請專利範圍第9項所述之訊息佇列發佈與訂閱之同步系統,復包括連線該訊息資料中介媒體叢集之訊息發佈端,該訊息發佈端依據傳輸狀態任選主題相關之該訊息資料中介媒體發佈訊息,以使該訊息發佈端所發佈之資料內容依序新增至該訊息發佈端所選定之該訊息資料中介媒體其暫存訊息佇列之尾端。
- 如申請專利範圍第9項所述之訊息佇列發佈與訂閱之同步系統,復包括連線該訊息資料中介媒體叢集之訊息訂閱端,該訊息訂閱端依據傳輸狀態任選主題相關之該訊息資料中介媒體訂閱存取訊息,以令該訊息訂閱端所選定之該訊息資料中介媒體依序傳送其同步訊息佇列中的資料內容並紀錄該訊息訂閱端之讀取位置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107141663A TWI678087B (zh) | 2018-11-22 | 2018-11-22 | 訊息佇列發佈與訂閱之同步方法及其系統 |
CN201910009195.9A CN111212100B (zh) | 2018-11-22 | 2019-01-04 | 消息队列发布与订阅的同步方法及其系统 |
US16/385,041 US10841390B2 (en) | 2018-11-22 | 2019-04-16 | Method and system for synchronizing publication and subscription of message queues |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107141663A TWI678087B (zh) | 2018-11-22 | 2018-11-22 | 訊息佇列發佈與訂閱之同步方法及其系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI678087B TWI678087B (zh) | 2019-11-21 |
TW202021313A true TW202021313A (zh) | 2020-06-01 |
Family
ID=69189089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107141663A TWI678087B (zh) | 2018-11-22 | 2018-11-22 | 訊息佇列發佈與訂閱之同步方法及其系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10841390B2 (zh) |
CN (1) | CN111212100B (zh) |
TW (1) | TWI678087B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021061659A1 (en) * | 2019-09-23 | 2021-04-01 | Armory, Inc. | Methods and systems for continuous asynchronous code deployment |
CN111131512B (zh) * | 2019-12-31 | 2023-02-10 | 中消云(北京)物联网科技研究院有限公司 | 设备信息的处理方法、装置、存储介质及处理器 |
US11609803B2 (en) * | 2020-09-16 | 2023-03-21 | Red Hat, Inc. | Managing event delivery in a serverless computing environment |
CN112328545B (zh) * | 2020-11-03 | 2022-11-22 | 河北幸福消费金融股份有限公司 | 对账文件生成方法、系统、装置和存储介质 |
CN112434243B (zh) * | 2020-11-09 | 2023-04-07 | 杭州小电科技股份有限公司 | 一种同步数据的方法、装置和计算机可读存储介质 |
KR102357376B1 (ko) * | 2021-03-16 | 2022-02-08 | 한전케이디엔주식회사 | 메시지 릴레이 허브, 이를 이용하여 데이터를 연계하는 배전전력설비 진단시스템 및 그 방법 |
CN114285699B (zh) * | 2021-12-20 | 2023-06-06 | 徐工汉云技术股份有限公司 | 一种实现终端在分布式网关session唯一的方法及装置 |
CN114297109B (zh) * | 2021-12-28 | 2024-05-24 | 中汽创智科技有限公司 | 一种基于订阅发布模式的数据处理方法、装置、电子设备及存储介质 |
CN114500655B (zh) * | 2022-04-15 | 2022-07-26 | 武汉中科通达高新技术股份有限公司 | 接口请求处理方法、装置、微服务框架的集群系统及介质 |
US11729142B1 (en) * | 2022-08-25 | 2023-08-15 | Google Llc | System and method for on-demand edge platform computing |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555396A (en) * | 1994-12-22 | 1996-09-10 | Unisys Corporation | Hierarchical queuing in a system architecture for improved message passing and process synchronization |
US6029204A (en) * | 1997-03-13 | 2000-02-22 | International Business Machines Corporation | Precise synchronization mechanism for SMP system buses using tagged snoop operations to avoid retries |
US6779002B1 (en) * | 2000-06-13 | 2004-08-17 | Sprint Communications Company L.P. | Computer software framework and method for synchronizing data across multiple databases |
US7856420B2 (en) | 2001-04-19 | 2010-12-21 | Hewlett-Packard Development Company, L.P. | Zero latency enterprise enriched publish/subscribe |
US20030135556A1 (en) * | 2001-12-14 | 2003-07-17 | International Business Machines Corporation | Selection of communication strategies for message brokers or publish/subscribe communications |
US7796885B2 (en) * | 2002-11-05 | 2010-09-14 | Lightfleet Corporation | Distribution optical elements and compound collecting lenses for broadcast optical interconnect |
US7249229B2 (en) * | 2004-03-31 | 2007-07-24 | Gemini Mobile Technologies, Inc. | Synchronous message queues |
US7899907B2 (en) * | 2004-06-30 | 2011-03-01 | Siebel Systems, Inc. | Access and synchronization with enterprise applications using remote hosted solution |
US7734785B2 (en) * | 2004-12-09 | 2010-06-08 | International Business Machines Corporation | On demand message based financial network integration middleware |
CN101133380A (zh) * | 2005-01-06 | 2008-02-27 | 特维拉有限公司 | 基于硬件的消息传递设备 |
US7644087B2 (en) | 2005-02-24 | 2010-01-05 | Xeround Systems Ltd. | Method and apparatus for data management |
US8191078B1 (en) * | 2005-03-22 | 2012-05-29 | Progress Software Corporation | Fault-tolerant messaging system and methods |
US7533095B2 (en) * | 2005-04-19 | 2009-05-12 | International Business Machines Corporation | Data mining within a message handling system |
US7865684B2 (en) * | 2005-06-27 | 2011-01-04 | Ab Initio Technology Llc | Managing message queues |
US7630371B2 (en) | 2005-09-22 | 2009-12-08 | Compressus, Inc. | Autonomous routing of network messages within a healthcare communication network |
US7899783B1 (en) | 2006-05-30 | 2011-03-01 | Cisco Technology, Inc | Monitoring data integrity |
GB0623914D0 (en) | 2006-11-30 | 2007-01-10 | Ibm | Flexible topic identification in a publish/subscribe system |
US7774356B2 (en) * | 2006-12-04 | 2010-08-10 | Sap Ag | Method and apparatus for application state synchronization |
US9166941B2 (en) * | 2007-04-24 | 2015-10-20 | Microsoft Technology Licensing, Llc | Synchronizing email messages between external and local email servers and/or a wireless device |
US8139596B2 (en) * | 2007-06-15 | 2012-03-20 | International Business Machines Corporation | Communicating prioritized messages to a destination queue from multiple source queues using source-queue-specific priority values |
TWI376127B (en) | 2007-12-03 | 2012-11-01 | Univ Nat Taipei Technology | A dependable web service invocation framework with asynchronous communication |
US9311378B2 (en) * | 2009-10-09 | 2016-04-12 | International Business Machines Corporation | Data synchronization between a data management system and an external system |
US8738704B2 (en) * | 2010-09-07 | 2014-05-27 | Xerox Corporation | Publish/subscribe broker messaging system and method |
CN103154944A (zh) | 2010-09-29 | 2013-06-12 | 国际商业机器公司 | 适应性基于内容的发行/订阅消息传递 |
US8489694B2 (en) | 2011-02-24 | 2013-07-16 | International Business Machines Corporation | Peer-to-peer collaboration of publishers in a publish-subscription environment |
TWI459766B (zh) * | 2011-05-05 | 2014-11-01 | Univ Nat Taipei Technology | 基於智慧型手機及訊息導向中介軟體之社群行蹤交換平台 |
GB2509390B (en) * | 2011-05-18 | 2018-02-21 | Ibm | Managing a message subscription in a publish/subscribe messaging system |
TWM432075U (en) | 2011-10-25 | 2012-06-21 | Chunghwa Telecom Co Ltd | Monitoring device and monitoring system applicable to cloud algorithm |
US9319267B1 (en) * | 2012-10-04 | 2016-04-19 | Solace Systems, Inc. | Replication in assured messaging system |
US9792317B2 (en) * | 2013-05-03 | 2017-10-17 | Kony, Inc. | Accelerated data integrity through broker orchestrated peer-to-peer data synchronization |
US9824130B1 (en) * | 2013-12-13 | 2017-11-21 | Open Text Corporation | Optimizing synchronization of enterprise content management systems |
CN104753817B (zh) * | 2013-12-25 | 2019-02-05 | 中国移动通信集团公司 | 一种云计算消息队列服务本地模拟方法和系统 |
US9654571B2 (en) | 2014-01-21 | 2017-05-16 | Time Warner Cable Enterprises Llc | Publish-subscribe messaging in a content network |
US9547706B2 (en) * | 2014-03-10 | 2017-01-17 | Dropbox, Inc. | Using colocation hints to facilitate accessing a distributed data storage system |
CN104092767B (zh) | 2014-07-21 | 2017-06-13 | 北京邮电大学 | 一种增加消息队列模型的发布/订阅系统及其工作方法 |
US9680761B2 (en) * | 2014-08-14 | 2017-06-13 | Dropbox, Inc. | Consolidating messages in a message queue |
US9674127B2 (en) * | 2014-09-23 | 2017-06-06 | International Business Machines Corporation | Selective message republishing to subscriber subsets in a publish-subscribe model |
CN105656959A (zh) | 2014-11-13 | 2016-06-08 | 中国科学院沈阳计算技术研究所有限公司 | 基于路由机制的多终端pub/sub消息同步方法 |
CN107430606B (zh) * | 2014-12-01 | 2021-06-29 | 信息科学有限责任公司 | 具有并行持久性的消息代理系统 |
CN105095364B (zh) * | 2015-06-26 | 2018-11-23 | 车智互联(北京)科技有限公司 | 一种数据同步系统和方法 |
WO2017004190A1 (en) * | 2015-06-30 | 2017-01-05 | K4Connect Inc. | Home automation system including cloud and home message queue synchronization and related methods |
CN106294741B (zh) * | 2016-08-10 | 2019-09-10 | 深圳市彬讯科技有限公司 | 一种自动化数据查询同步存储系统 |
CN106250543B (zh) * | 2016-08-10 | 2019-09-10 | 深圳市彬讯科技有限公司 | 一种自动化数据查询同步存储方法 |
US9667681B1 (en) | 2016-09-23 | 2017-05-30 | Machine Zone, Inc. | Systems and methods for providing messages to multiple subscribers |
CN106547629B (zh) * | 2016-11-03 | 2020-05-26 | 中山大学 | 一种状态机副本管理模型的优化方法 |
US10645181B2 (en) * | 2016-12-12 | 2020-05-05 | Sap Se | Meta broker for publish-subscribe-based messaging |
CN106815354A (zh) * | 2017-01-22 | 2017-06-09 | 上海易贷网金融信息服务有限公司 | 一种数据库数据缓冲处理方法 |
CN106899605B (zh) * | 2017-03-15 | 2020-03-20 | 东软集团股份有限公司 | 基于stomp协议的通信方法和装置 |
US10592314B2 (en) * | 2017-07-13 | 2020-03-17 | International Business Machines Corporation | Message queueing in middleware by a message broker |
CN108055343B (zh) * | 2017-12-26 | 2021-07-13 | 北京奇虎科技有限公司 | 用于机房的数据同步方法及装置 |
CN108390919B (zh) * | 2018-01-26 | 2021-06-25 | 昆明昆船逻根机场物流系统有限公司 | 一种用于高可靠双机热备的消息同步系统及方法 |
-
2018
- 2018-11-22 TW TW107141663A patent/TWI678087B/zh active
-
2019
- 2019-01-04 CN CN201910009195.9A patent/CN111212100B/zh active Active
- 2019-04-16 US US16/385,041 patent/US10841390B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN111212100B (zh) | 2022-07-19 |
US20200169616A1 (en) | 2020-05-28 |
US10841390B2 (en) | 2020-11-17 |
CN111212100A (zh) | 2020-05-29 |
TWI678087B (zh) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI678087B (zh) | 訊息佇列發佈與訂閱之同步方法及其系統 | |
CN106953901B (zh) | 一种提高消息传递性能的集群通信系统及其方法 | |
US9235623B2 (en) | Policy-based storage structure distribution | |
CN106202387B (zh) | 一种数据一致性并行维护方法 | |
WO2013018808A1 (ja) | 分散ストレージシステムおよび方法 | |
CN103870570B (zh) | 一种基于远程日志备份的 HBase 数据可用性及持久性的方法 | |
CN107888657A (zh) | 低延迟分布式存储系统 | |
CN104113597A (zh) | 一种多数据中心的hdfs数据读写系统及方法 | |
CN104735110B (zh) | 元数据管理方法和系统 | |
CN110648178A (zh) | 一种增加kafka消费能力的方法 | |
CN105516284B (zh) | 一种集群数据库分布式存储的方法和装置 | |
CN101027634B (zh) | 数据传送机制 | |
CN108616556B (zh) | 数据处理方法、装置和系统 | |
CN107220271A (zh) | 一种分布式数字资源存储处理与管理的方法及系统 | |
CN103763368A (zh) | 一种跨数据中心的数据同步方法 | |
CN103365740B (zh) | 一种数据冷备方法及装置 | |
US20070179929A1 (en) | System and method for producing data replica | |
CN106855869A (zh) | 一种实现数据库高可用的方法、装置和系统 | |
JP3288213B2 (ja) | サーバ | |
CN110196680A (zh) | 数据处理方法、装置及存储介质 | |
CN116304390B (zh) | 时序数据处理方法、装置、存储介质及电子设备 | |
CN106657350A (zh) | 数据复制方法及装置 | |
CN111669629A (zh) | 视频cdn节点即时扩容方法、调度器及cnd存储系统 | |
CN113220473B (zh) | 数据存储方法及系统 | |
CN111161069A (zh) | 区块链系统 |