CN111212100A - 消息队列发布与订阅的同步方法及其系统 - Google Patents
消息队列发布与订阅的同步方法及其系统 Download PDFInfo
- Publication number
- CN111212100A CN111212100A CN201910009195.9A CN201910009195A CN111212100A CN 111212100 A CN111212100 A CN 111212100A CN 201910009195 A CN201910009195 A CN 201910009195A CN 111212100 A CN111212100 A CN 111212100A
- Authority
- CN
- China
- Prior art keywords
- message
- data
- media
- message data
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000001360 synchronised effect Effects 0.000 claims abstract description 76
- 238000003860 storage Methods 0.000 claims abstract description 25
- 230000005540 biological transmission Effects 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 7
- 239000000543 intermediate Substances 0.000 description 52
- 238000010586 diagram Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 6
- 230000001404 mediated effect Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
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
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致力于分散式数据信道中介(BrokersCluster)技术与消息分割(Topic Partitioning),虽能提升消息数据传输吞吐量,但可能造成中介媒体之间无完整数据内容同步。
综上,既有分散式PUB/SUB消息队列系统虽具备高吞吐量数据传输与低延迟特性,但数据仅能通过固定数据中介媒体发布与订阅,导致数据并行化传输无法提升,若不限定客户(PUB/SUB)端对数据中介媒体(broker)的消息队列发布与存取,则需解决多个数据中介媒体之间消息队列(MQ)的同步问题,以保有多个数据需求端所处理的数据内容一致。
由上可知,在现有分散式PUB/SUB消息队列系统,如何提供解决数据中介媒体之间的消息队列内容同步问题,确保每一个客户端所存取数据相同,此将成为目前本技术领域人员急欲解决的技术问题。
发明内容
本发明提出一种可提高分散式PUB/SUB消息队列系统传输吞吐量的方法,用于解决数据中介媒体之间的消息队列内容同步问题,借此确保客户端于网络环境等多项参数条件下,能自行任意选择一最佳数据中介媒体进行发布与存取数据,同时令每一个客户端所存取的数据内容皆具有一致性。
本发明提出一种消息队列发布与订阅的同步方法,其包括:提供一消息数据中介媒体集群,该消息数据中介媒体集群包括多个具有暂存消息队列与同步消息队列的消息数据中介媒体;在该消息数据中介媒体集群中任一消息数据中介媒体提出同步需求时,由一协调服务器选择该消息数据中介媒体集群中其中一个消息数据中介媒体来执行数据同步;设定数据读取锁定,将全部该多个消息数据中介媒体的暂存消息队列的数据内容依序写入至所选定的该消息数据中介媒体的同步消息队列;以及将所选定的该消息数据中介媒体的同步消息队列中的完整数据内容复制至其他该消息数据中介媒体的同步消息队列中,使得各该消息数据中介媒体的同步消息队列内的数据内容一致。
本发明还提出一种消息队列发布与订阅的同步系统,其包括:消息数据中介媒体集群以及协调服务器。消息数据中介媒体集群包含多个消息数据中介媒体,且各该消息数据中介媒体包括暂存消息队列与同步消息队列,而协调服务器连接该消息数据中介媒体集群,该协调服务器在该消息数据中介媒体集群中任一消息数据中介媒体提出同步需求时,选择该消息数据中介媒体集群中其中一个消息数据中介媒体来执行数据同步,其中,该数据同步的执行包括设定数据读取锁定,以令全部该多个消息数据中介媒体的暂存消息队列的数据内容依序写入至所选定的该消息数据中介媒体的同步消息队列,接着将所选定的该消息数据中介媒体的同步消息队列中的完整数据内容复制至其他该消息数据中介媒体的同步消息队列中,以使各该消息数据中介媒体的同步消息队列内的数据内容一致。
本发明提出的消息队列发布与订阅的同步方法及其系统,通过不限定消息发布端或消息订阅端的数据消息递送与存取的消息数据中介媒体,客户端可自行参考网络状态、距离、中介媒体(例如响应时间)等状态参数,选择主题相关任一消息数据中介媒体进行数据消息发布或订阅,以提高整体数据传输并行度与吞吐量,另外,消息数据中介媒体具备暂存消息队列(Buffer Queue)与同步消息队列(Data Queue)两种数据队列(MessageQueues),分别做为发布端递送与订阅端存取数据用途,如此能让于任一消息数据中介媒体在提出同步需求时,依旧保有数据消息可持续发布,避免因消息数据中介媒体于数据同步时,所衍生传输吞吐效能下降等问题。
附图说明
图1为本发明的消息队列发布与订阅的同步系统的系统架构图;
图2为本发明的消息队列发布与订阅的同步方法的步骤图;
图3A-图3C为本发明的消息队列发布与订阅方法具体细节的运作流程图;
图4A-图4G为本发明的消息队列发布与订阅方法一具体实施例有关同步机制的示意图;以及
图5A-图5D为本发明的消息队列发布与订阅方法有关同步机制的序列图。
符号说明
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 消息数据中介媒体。
具体实施方式
本公开的示范性实施例可包括本文中所描述(包括具体实施方式中所描述)和/或图式中所展示的新颖特征中的任何一个或一个以上。如本文中所使用,“至少一个”、“一个或一个以上”和“和/或”为在操作中既连接又分离的开端表达。举例来说,表达“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的同步消息队列的锁定。
本发明所述服务器、消息发布端、消息订阅端等组件包括微处理器及存储器,而算法、数据、程序等为存储于存储器或芯片内,微处理器可从存储器载入数据或算法或程序进行数据分析或计算等处理,在此不予赘述。
综上所述,本发明的消息队列发布与订阅的同步方法及其系统,主要是通过消息发布端与消息订阅端视状况任意选择一消息数据中介媒体进行数据发布与订阅,以提高数据传输的并行化与存取吞吐量,同时,为解决消息数据中介媒体之间的消息队列数据同步问题,本发明提出消息数据中介媒体中设有暂存消息队列与同步消息队列,借以执行消息数据中介媒体群组之间的数据内容同步交换,允许消息发布端与消息订阅端任意选择一消息数据中介媒体对主题消息数据的发布与订阅存取,消息发布端于数据同步时不需任何写入锁定,但数据订阅端于同步存取时,可能因消息数据中介媒体的同步因素,遭遇数据读取锁定的设定,据此以不影响其对其他消息数据中介媒体存取数据环境下,采用分次分批同步方式,降低同步所衍生的传输吞吐量效能问题,以进一步提升消息队列数据传输吞吐量与内容同步。
虽然本公开已以实施例公开如上,然其并非用以限定本公开,本领域技术人员,在不脱离本公开的精神和范围内,当可作些许的更动与润饰,故本公开的保护范围当视权利要求书所界定者为准。
Claims (13)
1.一种消息队列发布与订阅的同步方法,其特征在于,包括:
提供一消息数据中介媒体集群,该消息数据中介媒体集群包括多个具有暂存消息队列与同步消息队列的消息数据中介媒体;
在该消息数据中介媒体集群中任一消息数据中介媒体提出同步需求时,由一协调服务器选择该消息数据中介媒体集群中其中一个消息数据中介媒体来执行数据同步;
设定数据读取锁定,将全部该多个消息数据中介媒体的暂存消息队列的数据内容依序写入至所选定的该消息数据中介媒体的同步消息队列;以及
将所选定的该消息数据中介媒体的同步消息队列中的完整数据内容复制至其他该消息数据中介媒体的同步消息队列中,使得各该消息数据中介媒体的同步消息队列内的数据内容一致。
2.根据权利要求1所述的消息队列发布与订阅的同步方法,其特征在于,将全部该多个消息数据中介媒体的暂存消息队列的数据内容依序写入至所选定的该消息数据中介媒体的同步消息队列是指依据所有该消息数据中介媒体的暂存消息队列的该数据内容的产生时间、序列识别号而使该数据内容依序写入。
3.根据权利要求1所述的消息队列发布与订阅的同步方法,其特征在于,将全部该多个消息数据中介媒体的暂存消息队列的数据内容依序写入至所选定的该消息数据中介媒体的同步消息队列是指以时间周期为单位,依各该消息数据中介媒体的次序批次同步,以令该协调服务器将各该消息数据中介媒体的暂存消息队列的该数据内容批次写入所选定的该消息数据中介媒体的同步消息队列中。
4.根据权利要求3所述的消息队列发布与订阅的同步方法,其特征在于,各该消息数据中介媒体的次序为以环状(Ring)或星状(Star)的分散式网络拓扑结构方式,依序将该数据内容写入。
5.根据权利要求1所述的消息队列发布与订阅的同步方法,其特征在于,各该消息数据中介媒体的暂存消息队列用于供消息发布端将其数据内容依序新增至这些暂存消息队列的尾端。
6.根据权利要求5所述的消息队列发布与订阅的同步方法,其特征在于,该消息发布端依据网络状态、距离、中介媒体响应时间的传输状态,任选主题相关的该消息数据中介媒体发布消息。
7.根据权利要求1所述的消息队列发布与订阅的同步方法,其特征在于,各该消息数据中介媒体的同步消息队列用于依据消息订阅端的数据存取,依序传送这些同步消息队列的数据内容并记录该消息订阅端的读取位置。
8.根据权利要求7所述的消息队列发布与订阅的同步方法,其特征在于,该消息订阅端依据网络状态、距离、中介媒体响应时间的传输状态,任选主题相关的该消息数据中介媒体订阅存取消息。
9.一种消息队列发布与订阅的同步系统,其特征在于,包括:
消息数据中介媒体集群,其包含多个消息数据中介媒体,且各该消息数据中介媒体包括暂存消息队列与同步消息队列;以及
协调服务器,其连接该消息数据中介媒体集群,该协调服务器在该消息数据中介媒体集群中任一消息数据中介媒体提出同步需求时,选择该消息数据中介媒体集群中其中一个消息数据中介媒体来执行数据同步,其中,该数据同步的执行包括设定数据读取锁定,以令全部该多个消息数据中介媒体的暂存消息队列的数据内容依序写入至所选定的该消息数据中介媒体的同步消息队列,接着将所选定的该消息数据中介媒体的同步消息队列中的完整数据内容复制至其他该消息数据中介媒体的同步消息队列中,以使各该消息数据中介媒体的同步消息队列内的数据内容一致。
10.根据权利要求9所述的消息队列发布与订阅的同步系统,其特征在于,该协调服务器用于依据所有该消息数据中介媒体的暂存消息队列的该数据内容的产生时间、序列识别号,以将全部该多个消息数据中介媒体的暂存消息队列的数据内容依序写入至所选定的该消息数据中介媒体的同步消息队列。
11.根据权利要求9所述的消息队列发布与订阅的同步系统,其特征在于,该协调服务器以时间周期为单位,依各该消息数据中介媒体的次序批次同步,以令该协调服务器将全部该多个消息数据中介媒体的暂存消息队列的数据内容批次写入所选定的该消息数据中介媒体的同步消息队列中。
12.根据权利要求9所述的消息队列发布与订阅的同步系统,其特征在于,该同步系统还包括连线该消息数据中介媒体集群的消息发布端,该消息发布端依据传输状态任选主题相关的该消息数据中介媒体发布消息,以使该消息发布端所发布的数据内容依序新增至该消息发布端所选定的该消息数据中介媒体其暂存消息队列的尾端。
13.根据权利要求9所述的消息队列发布与订阅的同步系统,其特征在于,该同步系统还包括连线该消息数据中介媒体集群的消息订阅端,该消息订阅端依据传输状态任选主题相关的该消息数据中介媒体订阅存取消息,以令该消息订阅端所选定的该消息数据中介媒体依序传送其同步消息队列中的数据内容并记录该消息订阅端的读取位置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107141663A TWI678087B (zh) | 2018-11-22 | 2018-11-22 | 訊息佇列發佈與訂閱之同步方法及其系統 |
TW107141663 | 2018-11-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111212100A true CN111212100A (zh) | 2020-05-29 |
CN111212100B CN111212100B (zh) | 2022-07-19 |
Family
ID=69189089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910009195.9A Active CN111212100B (zh) | 2018-11-22 | 2019-01-04 | 消息队列发布与订阅的同步方法及其系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10841390B2 (zh) |
CN (1) | CN111212100B (zh) |
TW (1) | TWI678087B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112434243A (zh) * | 2020-11-09 | 2021-03-02 | 杭州小电科技股份有限公司 | 一种同步数据的方法、装置和计算机可读存储介质 |
CN114297109A (zh) * | 2021-12-28 | 2022-04-08 | 中汽创智科技有限公司 | 一种基于订阅发布模式的数据处理方法、装置、电子设备及存储介质 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3155256A1 (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 | 河北幸福消费金融股份有限公司 | 对账文件生成方法、系统、装置和存储介质 |
KR102357376B1 (ko) * | 2021-03-16 | 2022-02-08 | 한전케이디엔주식회사 | 메시지 릴레이 허브, 이를 이용하여 데이터를 연계하는 배전전력설비 진단시스템 및 그 방법 |
CN114285699B (zh) * | 2021-12-20 | 2023-06-06 | 徐工汉云技术股份有限公司 | 一种实现终端在分布式网关session唯一的方法及装置 |
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 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060248033A1 (en) * | 2005-04-19 | 2006-11-02 | International Business Machines Corporation | Data mining within a message handling system |
US20080008472A1 (en) * | 2002-11-05 | 2008-01-10 | Dress William B | Distribution optical elements and compound collecting lenses for broadcast optical interconnect |
CN103562890A (zh) * | 2011-05-18 | 2014-02-05 | 国际商业机器公司 | 在发布/订阅消息系统中管理消息订阅 |
CN104753817A (zh) * | 2013-12-25 | 2015-07-01 | 中国移动通信集团公司 | 一种云计算消息队列服务本地模拟方法和系统 |
CN105095364A (zh) * | 2015-06-26 | 2015-11-25 | 车智互联(北京)科技有限公司 | 一种数据同步系统和方法 |
US20160087922A1 (en) * | 2014-09-23 | 2016-03-24 | International Business Machines Corporation | Selective message republishing to subscriber subsets in a publish-subscribe model |
US9319267B1 (en) * | 2012-10-04 | 2016-04-19 | Solace Systems, Inc. | Replication in assured messaging system |
CN106250543A (zh) * | 2016-08-10 | 2016-12-21 | 深圳市彬讯科技有限公司 | 一种自动化数据查询同步存储方法 |
CN106294741A (zh) * | 2016-08-10 | 2017-01-04 | 深圳市彬讯科技有限公司 | 一种自动化数据查询同步存储系统 |
CN106547629A (zh) * | 2016-11-03 | 2017-03-29 | 中山大学 | 一种状态机副本管理模型的优化方法 |
CN106899605A (zh) * | 2017-03-15 | 2017-06-27 | 东软集团股份有限公司 | 基于stomp协议的通信方法和装置 |
US9824130B1 (en) * | 2013-12-13 | 2017-11-21 | Open Text Corporation | Optimizing synchronization of enterprise content management systems |
CN107430606A (zh) * | 2014-12-01 | 2017-12-01 | 信息科学有限责任公司 | 具有并行持久性的消息代理系统 |
US9928125B1 (en) * | 2017-07-13 | 2018-03-27 | International Business Machines Corporation | Message queueing in middleware by a message broker |
CN108055343A (zh) * | 2017-12-26 | 2018-05-18 | 北京奇虎科技有限公司 | 用于机房的数据同步方法及装置 |
US20180167476A1 (en) * | 2016-12-12 | 2018-06-14 | Sap Se | Meta broker for publish-subscribe-based messaging |
CN108390919A (zh) * | 2018-01-26 | 2018-08-10 | 昆明昆船逻根机场物流系统有限公司 | 一种用于高可靠双机热备的消息同步系统及方法 |
Family Cites Families (34)
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 |
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 |
CN101069384B (zh) * | 2004-12-09 | 2010-05-05 | 国际商业机器公司 | 在网络环境中管理基于消息的工作负荷的方法和系统 |
CN101124566A (zh) * | 2005-01-06 | 2008-02-13 | 特维拉有限公司 | 端到端的发布/订购中间件体系结构 |
EP1851662A2 (en) | 2005-02-24 | 2007-11-07 | Xeround Systems Ltd. | Method and apparatus for distributed data management in a switching network |
US8191078B1 (en) * | 2005-03-22 | 2012-05-29 | Progress Software Corporation | Fault-tolerant messaging system and methods |
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 |
GB2497263A (en) | 2010-09-29 | 2013-06-05 | Ibm | Adaptive content-based publish/subscribe messaging |
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 | 基於智慧型手機及訊息導向中介軟體之社群行蹤交換平台 |
TWM432075U (en) | 2011-10-25 | 2012-06-21 | Chunghwa Telecom Co Ltd | Monitoring device and monitoring system applicable to cloud algorithm |
US9792317B2 (en) * | 2013-05-03 | 2017-10-17 | Kony, Inc. | Accelerated data integrity through broker orchestrated peer-to-peer data synchronization |
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 |
CN105656959A (zh) | 2014-11-13 | 2016-06-08 | 中国科学院沈阳计算技术研究所有限公司 | 基于路由机制的多终端pub/sub消息同步方法 |
JP6739456B2 (ja) * | 2015-06-30 | 2020-08-12 | ケー4コネクト インコーポレイテッド | クラウド及びホームメッセージキュー同期を含むホームオートメーションシステム、並びに関連方法 |
US9667681B1 (en) | 2016-09-23 | 2017-05-30 | Machine Zone, Inc. | Systems and methods for providing messages to multiple subscribers |
CN106815354A (zh) * | 2017-01-22 | 2017-06-09 | 上海易贷网金融信息服务有限公司 | 一种数据库数据缓冲处理方法 |
-
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
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080008472A1 (en) * | 2002-11-05 | 2008-01-10 | Dress William B | Distribution optical elements and compound collecting lenses for broadcast optical interconnect |
US20060248033A1 (en) * | 2005-04-19 | 2006-11-02 | International Business Machines Corporation | Data mining within a message handling system |
CN103562890A (zh) * | 2011-05-18 | 2014-02-05 | 国际商业机器公司 | 在发布/订阅消息系统中管理消息订阅 |
US9319267B1 (en) * | 2012-10-04 | 2016-04-19 | Solace Systems, Inc. | Replication in assured messaging system |
US9824130B1 (en) * | 2013-12-13 | 2017-11-21 | Open Text Corporation | Optimizing synchronization of enterprise content management systems |
CN104753817A (zh) * | 2013-12-25 | 2015-07-01 | 中国移动通信集团公司 | 一种云计算消息队列服务本地模拟方法和系统 |
US20160087922A1 (en) * | 2014-09-23 | 2016-03-24 | International Business Machines Corporation | Selective message republishing to subscriber subsets in a publish-subscribe model |
CN107430606A (zh) * | 2014-12-01 | 2017-12-01 | 信息科学有限责任公司 | 具有并行持久性的消息代理系统 |
CN105095364A (zh) * | 2015-06-26 | 2015-11-25 | 车智互联(北京)科技有限公司 | 一种数据同步系统和方法 |
CN106294741A (zh) * | 2016-08-10 | 2017-01-04 | 深圳市彬讯科技有限公司 | 一种自动化数据查询同步存储系统 |
CN106250543A (zh) * | 2016-08-10 | 2016-12-21 | 深圳市彬讯科技有限公司 | 一种自动化数据查询同步存储方法 |
CN106547629A (zh) * | 2016-11-03 | 2017-03-29 | 中山大学 | 一种状态机副本管理模型的优化方法 |
US20180167476A1 (en) * | 2016-12-12 | 2018-06-14 | Sap Se | Meta broker for publish-subscribe-based messaging |
CN106899605A (zh) * | 2017-03-15 | 2017-06-27 | 东软集团股份有限公司 | 基于stomp协议的通信方法和装置 |
US9928125B1 (en) * | 2017-07-13 | 2018-03-27 | International Business Machines Corporation | Message queueing in middleware by a message broker |
CN108055343A (zh) * | 2017-12-26 | 2018-05-18 | 北京奇虎科技有限公司 | 用于机房的数据同步方法及装置 |
CN108390919A (zh) * | 2018-01-26 | 2018-08-10 | 昆明昆船逻根机场物流系统有限公司 | 一种用于高可靠双机热备的消息同步系统及方法 |
Non-Patent Citations (2)
Title |
---|
REZA SHERAFAT KAZEMZADEH: ""Reliable and Highly Available Distributed Publish/Subscribe Service"", 《2009 28TH IEEE INTERNATIONAL SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS》 * |
李乐平,吴泉源: ""消息代理中间件InforBroker中集群技术的应用"", 《微计算机信息》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112434243A (zh) * | 2020-11-09 | 2021-03-02 | 杭州小电科技股份有限公司 | 一种同步数据的方法、装置和计算机可读存储介质 |
CN112434243B (zh) * | 2020-11-09 | 2023-04-07 | 杭州小电科技股份有限公司 | 一种同步数据的方法、装置和计算机可读存储介质 |
CN114297109A (zh) * | 2021-12-28 | 2022-04-08 | 中汽创智科技有限公司 | 一种基于订阅发布模式的数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111212100B (zh) | 2022-07-19 |
TWI678087B (zh) | 2019-11-21 |
TW202021313A (zh) | 2020-06-01 |
US20200169616A1 (en) | 2020-05-28 |
US10841390B2 (en) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111212100B (zh) | 消息队列发布与订阅的同步方法及其系统 | |
Fu et al. | A fair comparison of message queuing systems | |
US7076553B2 (en) | Method and apparatus for real-time parallel delivery of segments of a large payload file | |
CN107888657B (zh) | 低延迟分布式存储系统 | |
CN104113597B (zh) | 一种多数据中心的hdfs数据读写方法 | |
CN112527525B (zh) | 基于消息队列的分布式事件总线处理方法、终端及介质 | |
JP5943430B2 (ja) | 分散記憶システムおよび分散記憶方法 | |
AU2017331066A1 (en) | Systems and methods for providing messages to multiple subscribers | |
JPH09163353A (ja) | ノードを選択する方法および分散ビデオ・サーバー・システム | |
JP2010061559A (ja) | 情報処理システム、データ更新方法およびデータ更新プログラム | |
CN114363407B (zh) | 消息服务方法及装置、可读存储介质及电子设备 | |
KR102192442B1 (ko) | 쿠버네티스 클러스터에서의 리더 분산 방법 및 리더 분산 시스템 | |
CN110968586A (zh) | 分布式事务处理方法及装置 | |
CA3131954C (en) | Information synchronization method, system, apparatus, computer device and storage medium | |
JP6405255B2 (ja) | 通信システム、キュー管理サーバ、及び、通信方法 | |
US20110131288A1 (en) | Load-Balancing In Replication Engine of Directory Server | |
Sethi et al. | Design and Optimization of a Zookeeper and Kafka-Based Messaging Broker for Asynchronous Processing in High Availability and Low Latency Applications | |
US11487736B2 (en) | Blockchain transaction processing systems and methods | |
US20190372825A1 (en) | Communication apparatus, communication method, and recording medium | |
JP4271967B2 (ja) | 分散ファイルシステム及び分散ファイルシステムの運用方法 | |
US8799212B2 (en) | Repository synchronization in a ranked repository cluster | |
US9578120B1 (en) | Messaging with key-value persistence | |
CN110196680A (zh) | 数据处理方法、装置及存储介质 | |
CN116304390A (zh) | 时序数据处理方法、装置、存储介质及电子设备 | |
CN114785662B (zh) | 一种存储管理方法、装置、设备及机器可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |