CN106130882A - 用于传输消息的方法和装置 - Google Patents
用于传输消息的方法和装置 Download PDFInfo
- Publication number
- CN106130882A CN106130882A CN201610552293.3A CN201610552293A CN106130882A CN 106130882 A CN106130882 A CN 106130882A CN 201610552293 A CN201610552293 A CN 201610552293A CN 106130882 A CN106130882 A CN 106130882A
- Authority
- CN
- China
- Prior art keywords
- message
- client
- subscription
- transmitting
- theme
- 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
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/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/043—Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
-
- 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/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了用于传输消息的方法和装置。所述方法的一具体实施方式包括:接收发布客户端发布的消息;查找订阅客户端,其中,所述订阅客户端所订阅的消息的主题和所述发布的消息的主题一致;检测所查找到的订阅客户端上所设置的会话清理标识的值;响应于所查找到的订阅客户端上所设置的会话清理标识的值为假值,将所述消息存储在分布式系统中,再将存储在所述分布式系统中的所述消息发送给所查找到的订阅客户端。该实施方式实现了分布式配置消息队列遥测传输服务并解决消息拥塞问题。
Description
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及用于传输消息的方法和装置。
背景技术
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一个已知的即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当作传感器和致动器的通信协议。
现有可用的方案大部分都是单机版本的MQTT服务,单机版本的MQTT服务的缺点是存在单点故障,并且单机的MQTT服务无法支撑更多的用户连接以及消息发送。目前有些公司是采用的MQTT服务是代理方式实现,只是把MQTT的消息转发到另外一个消息队列,这些消息队列是共享的,同时不支持通配符的路由功能不是一个完整的MQTT服务。同时由于MQTT的订阅功能不支持分区,这样会导致订阅一个主题的消息只能被每个连接独立处理(每个连接收到的消息都是完全一样,无法做到每个客户端收到的消息不一样的),就会存在消息拥塞的问题。
发明内容
本申请的目的在于提出一种改进的用于传输消息的方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于传输消息的方法,其特征在于,所述方法包括:接收发布客户端发布的消息;查找订阅客户端,其中,所述订阅客户端所订阅的消息的主题和所述发布的消息的主题一致;检测所查找到的订阅客户端上所设置的会话清理标识的值,其中,所述会话清理标识的真值用于标识客户端断开连接后、不保存客户端订阅的主题所对应的消息,而假值用于标识客户端断开连接后、保存客户端订阅的主题所对应的消息;响应于所查找到的订阅客户端上所设置的会话清理标识的值为假值,将所述消息存储在分布式系统中,再将存储在所述分布式系统中的所述消息发送给所查找到的订阅客户端。
在一些实施例中,所述方法还包括:响应于所查找到的订阅客户端上所设置的会话清理标识的值为真值,将所述消息存储在所述订阅客户端的缓存中,再将存储在所述缓存中的所述消息发送给所述订阅客户端。
在一些实施例中,所述将存储在所述分布式系统中的所述消息发送给所查找到的订阅客户端,包括:通知所述订阅客户端从所述分布式系统读取所述消息;响应于收到所述订阅客户端的读取请求,读取所述消息并将所读取的消息发送给所述订阅客户端,其中,所述读取请求包括指示所述订阅客户端的已经处理的数据的位置的偏移。
在一些实施例中,所述将所述消息存储在分布式系统中,包括:记录所述消息的存储位置。
在一些实施例中,所述响应于收到所述订阅客户端的读取请求,读取所述消息并将所读取的消息发送给所述订阅客户端,包括:根据所述消息的存储位置和所述偏移确定是否需要读取所述消息;响应于确定需要读取所述消息,则读取所述消息并将所读取的消息发送给所述订阅客户端。
在一些实施例中,所述方法还包括:采用单词查找树存储订阅信息,其中,所述订阅信息包括:订阅主题和订阅所述主题的订阅客户端地址。
在一些实施例中,所述分布式系统是kafka系统。
在一些实施例中,所述接收发布客户端发布的消息还包括:为所述发布的消息按发布时间的先后顺序分配消息序列号。
第二方面,本申请提供了一种用于传输消息的装置,其特征在于,所述装置包括:接收单元,配置用于接收发布客户端发布的消息;查找单元,配置用于查找订阅客户端,其中,所述订阅客户端所订阅的消息的主题和所述发布的消息的主题一致;检测所查找到的订阅客户端上所设置的会话清理标识的值,其中,所述会话清理标识的真值用于标识客户端断开连接后、不保存客户端订阅的主题所对应的消息,而假值用于标识客户端断开连接后、保存客户端订阅的主题所对应的消息;发送单元,配置用于;响应于所查找到的订阅客户端上所设置的会话清理标识的值为假值,将所述消息存储在分布式系统中,再将存储在所述分布式系统中的所述消息发送给所查找到的订阅客户端。
在一些实施例中,所述装置还包括:缓存单元,配置用于响应于所查找到的订阅客户端上所设置的会话清理标识的值为真值,将所述消息存储在所述订阅客户端的缓存中,再将存储在所述缓存中的所述消息发送给所述订阅客户端。
在一些实施例中,所述发送单元进一步配置用于:通知所述订阅客户端从所述分布式系统读取所述消息;响应于收到所述订阅客户端的读取请求,读取所述消息并将所读取的消息发送给所述订阅客户端,其中,所述读取请求包括指示所述订阅客户端的已经处理的数据的位置的偏移。
在一些实施例中,所述发送单元进一步配置用于:记录所述消息的存储位置。
在一些实施例中,所述发送单元进一步配置用于:根据所述消息的存储位置和所述偏移确定是否需要读取所述消息;响应于确定需要读取所述消息,则读取所述消息并将所读取的消息发送给所述订阅客户端。
在一些实施例中,所述装置还包括:存储单元,配置用于采用单词查找树存储订阅信息,其中,所述订阅信息包括:订阅主题和订阅所述主题的订阅客户端地址。
在一些实施例中,所述分布式系统是kafka系统。
在一些实施例中,所述接收单元进一步配置用于:
为所述发布的消息按发布时间的先后顺序分配消息序列号。
本申请提供的用于传输消息的方法和装置,通过将发布客户端发布的消息存储在分布式系统中再发送给订阅客户端,解决了订阅服务的拥塞问题,保证了MQTT服务的可靠性以及数据备份的需求。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用于传输消息的方法的一个实施例的流程图;
图3是根据本申请的用于传输消息的方法的一个应用场景的示意图;
图4是根据本申请的用于传输消息的方法的又一个实施例的流程图;
图5是根据本申请的用于传输消息的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于传输消息的方法或用于传输消息的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括客户端101、102、103、104,网络105和服务器106。网络105用以在客户端101、102、103、104和服务器106之间提供通信链路的介质。网络105可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用客户端101、102通过网络105和服务器106与客户端103、104交互,以发布或订阅消息等。客户端101、102、103、104上安装有客户端代理(broker)。
客户端101、102、103、104可以是具有网络通信功能的各种电子设备,包括但不限于智能手机、冰箱、电视、平板电脑、膝上型便携计算机和台式计算机等等。
服务器106可以是提供各种服务的服务器,例如对客户端101、102、103、104发布或订阅的消息提供转发功能的后台云端服务器。后台云端服务器可以将从发布客户端收到的消息转发给订阅客户端。后台云端服务器还可以具备zookeeper功能,其中,zookeeper是一种分布式的、开放源码的分布式应用程序协调服务。MQTT的broker之间的会话数据都会同步到zookeeper,zookeeper用于协调broker之间各种关系,存储一些重要的元数据,并且监控broker的状态,例如与客户端断开连接。
需要说明的是,本申请实施例所提供的用于传输消息的方法一般由服务器106执行,相应地,用于传输消息的装置一般设置于服务器106中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于传输消息的方法的一个实施例的流程200。所述的用于传输消息的方法,包括以下步骤:
步骤201,接收发布客户端发布的消息。
在本实施例中,用于传输消息的方法运行于其上的电子设备(例如图1所示的服务器)可通过有线连接方式或者无线连接方式从用户利用其进行MQTT服务的客户端接收发布客户端发布的消息。
MQTT协议基于发布消息和订阅主题的原则,多个客户端连接到一个代理器上并且订阅他们感兴趣的主题,一个客户端连接到代理器上并且在一个主题上发布消息,其他的客户端可以订阅相同的主题并且接收到他们请求的信息。MQTT代理充当了一个简单的共同的接口供其他设备去连接。主题是由斜杠(/)来划分层次,就跟文件系统一样。例如,各种的计算机会发布他们的硬件驱动的温度信息在如下的主题上,他们计算机和硬件的名字被适当的替换:
“sensors/COMPUTER_NAME/temperature/HARDDRIVE_NAME”。
步骤202,查找订阅客户端。
在本实施例中,需要找到一个订阅的消息的主题和所述发布的消息的主题一致的订阅客户端。在MQTT服务中,客户端可以通过创建一个订阅来接收消息。订阅必须要指明主题,并且只能接收到指定主题的消息。根据发布的消息的主题可以找到与该主题的名称匹配订阅客户端。可以在查找主题中使用通配符,MQTT容许“+”和“#”两个通配符。作为一层的通配符。它可以如下面操作来订阅上文中提到的所有计算机和硬件驱动的信息:“+sensors/+/temperature/+”。
另外,如主题“a/b/c/d”,以下给出的订阅是符合的:“+a/b/c/d”,“++/b/c/d”,“+a/+/c/d”,“+a/+/+/d”,“++/+/+/+”。
以下的示例是不符合的:“+a/b/c”,“+b/+/c/d”,“++/+/+”。
“#”可以作为所有剩下的层的通配符。这意味着它必须在主题的最后一个字符。对于“a/b/c/d”主题,以下的示例订阅是符合的:“a/b/c/d+#”,“+a/#”,“+a/b/#”,“+a/b/c/#”,“++/b/c/#”。
零长度的主题层是有效的,但是会导致一些不明显的行为。例如,主题“a//topic”会被匹配到一个相反的“a/+/topic”主题上。零长度的主题层可以存在在一个主题字符串的开头和结尾,所以,“/a/topic”会匹配到“+/a/topic”、“#”或者“/#”主题。“a/topic/”主题会匹配到其他相反的“a/topic/+”或“a/topic/#”主题。
在本实施例的一些可选的实现方式中,采用单词查找树存储订阅信息,其中,所述订阅信息包括:订阅主题和订阅所述主题的订阅客户端地址。MQTT数据信息的路由最大难点在于主题支持通配符,目前支持的通配符包括#和+,#表示匹配所有,+表示匹配特定层级的所有主题,为了解决这些问题,MQTT服务采用tries tree(单词查找树或者前缀树,是一种用于快速检索的多叉树结构)的方式保存订阅的主题信息,tries tree可以提供高效的查询速度,broker之间的数据传输也是采用tries tree的方式保存其他broker需要订阅的主题,以及需要转发消息的broker名称,这样相对于广播的方式显著降低了broker之间消息传递数目,有效减少带宽使用。如果brokerA有客户端订阅一个新的主题,通过zookeeper将这个消息推送给其他broker,其他broker会将对应的主题添加到tries tree上,如果有客户端取消订阅某个主题,也会通过zookeeper来通知其他broker删除对应的主题。
步骤203,检测所查找到的订阅客户端上所设置的会话清理标识的值。
在本实施例中,检测所查找到的订阅客户端上所设置的会话清理(cleansession)标识的值。其中,所述会话清理标识的真值用于标识客户端断开连接后、不保存客户端订阅的主题所对应的消息,而假值用于标识客户端断开连接后、保存客户端订阅的主题所对应的消息。如果会话清理标识的值为真,则在客户端主动断开,或者超过预定的时间没有收到心跳时,清除属于该客户端的会话信息。
步骤204,将消息存储在分布式系统中,再将存储在分布式系统中的消息发送给所查找到的订阅客户端。
在本实施例中,如果订阅客户端上所设置的会话清理标识的值为假值,那么不管该客户端是否在线,都需要将所有应该发送给这个客户端的数据保存在分布式系统中。分布式系统(distributed system)是建立在网络之上的软件系统。分布式系统具有高度的内聚性和透明性。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。
在本实施例的一些可选的实现方式中,上述分布式系统是kafka系统(一种已知的、高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据)。对于某些特定的应用,比如消息推送方式,允许采用redis(一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库),或者Hbase(一个分布式的、面向列的开源数据库)存储消息,这种场景是处理消息数目比较少,用来通讯的场景,比如聊天,消息推送。
在本实施例中,将存储在分布式系统中的消息发送给所查找到的订阅客户端。分布式系统中备份了待发送的消息,如果客户端断开或者超过预定的时间没有收到心跳时,可从分布式系统中读取待发送的消息发给订阅客户端。
在本实施例的一些可选的实现方式中,响应于所查找到的订阅客户端上所设置的会话清理标识的值为真值,将所述消息存储在所述订阅客户端的缓存中,再将存储在所述缓存中的所述消息发送给所述订阅客户端。如果该客户端断开,或者超过预定的时间没有收到心跳,则清除属于该客户端的会话信息,包括缓存里面还没有被发送出去的消息。
在本实施例的一些可选的实现方式中,上述将存储在所述分布式系统中的所述消息发送给所查找到的订阅客户端,包括:通知所述订阅客户端从所述分布式系统读取所述消息;响应于收到所述订阅客户端的读取请求,读取所述消息并将所读取的消息发送给所述订阅客户端,其中,所述读取请求包括指示所述订阅客户端的已经处理的数据的位置的偏移(offset),“offset”记录每条日志的偏移量。
在本实施例的一些可选的实现方式中,记录所述消息的存储位置。每次写入kafka的数据都会返回一个指示消息的存储位置的偏移。
在本实施例的一些可选的实现方式中,上述响应于收到所述订阅客户端的读取请求,读取所述消息并将所读取的消息发送给所述订阅客户端,包括:根据所述消息的存储位置和所述偏移确定是否需要读取所述消息;响应于确定需要读取所述消息,则读取所述消息并将所读取的消息发送给所述订阅客户端。可以通过将发送给这个客户端的数据保存到kafka的主题,每个客户端都会分配一个唯一的kafka主题,然后启动一个任务去从这个唯一的kafka主题读取数据。由于kafka是采用拉(pull)的方式消费(consume)数据,在本申请中采用事件驱动的方式实现,每次写入kafka的数据都会返回一个指示消息的存储位置的偏移,同时会记录订阅客户端消费数据的位置偏移用于在读取请求中发送,如果kafka最上面的消息的存储位置的偏移大于订阅客户端消费数据的位置偏移,就会有一个任务不停的去读取数据,如果相等之后就停止,如果有新的数据,就会重新启动这个任务,kafka读写数据的操作都是O(1)的性能,所以即使有很多数据的写入也不会存在任何性能的问题。
将数据优先写入kafka后,如果当前订阅客户端的消费数据(即已经处理的数据)的位置偏移和kafka中消息的存储位置的偏移是相等的话,那么意味当前设备已经消费了kafka队列里面的所有数据,所以现在发送给kafka的数据就是最上面的数据了,可以直接发送给对应的客户端,可以极大的降低延迟。
如果当一个broker出现异常,那么就无法保证数据发送到对应的客户端了,特别是会话清理标识的值为假值的客户端,为了解决这个问题,可以将会话清理标识的值为假值的所有客户端的信息同步到其他机器,这样可以通过发送消息的broker来直接将数据写入到kafka的主题。只要某个broker和zookeeper失去连接,就认为该broker出现异常情况,zookeeper是维护会话信息的中央,如果失去连接,那么这个broker上面的状态信息就不准确,该broker会主动断开所有和他保持连接的客户端。对于会话清理标识的值为假值的客户端会连接到其他机器,然后重新构建会话信息,从kafka消费数据,整个过程中没有丢失任何数据,也不会阻塞其他客户端的消息发送。
如果一个broker和其他broker及zookeeper都失去连接,那么这个broker的状态就不是最新的,无法和其他broker保持一致,我们可以认为该broker是出在一种不正常的状态,他会自动断开和其他节点的连接,同时也会断开和MQTT客户端的连接。
如果一个broker和其他broker失去连接,但和zookeeper保持连接,则自动关闭成员数最少的分区组,这样断开连接的客户端会重新和最新的网络保持连接。
继续参见图3,图3是根据本实施例的用于传输消息的方法的应用场景的一个示意图。在图3的应用场景中,将设备发布的消息通过MQTT代理写入kafka,然后从kafka订阅消息,由于kafka是支持分区(partition)的,所以我们可以采用多台机器来处理不同分区的消息。这样的话,当消息达到一定数量之后,客户端不会出现溢出的情况,避免消息丢失,或者磁盘写满。
本申请的上述实施例提供的方法,不仅实现了一个完整的分布式MQTT服务,同时还解决MQTT在物联网场景中的一些限制,比如MQTT的订阅功能是存在单点不可扩展的问题,比如100万个客户端同时往一个主题发消息,那么订阅这个主题的客户端只和MQTT服务有一个连接,这样的话,单个连接能传输的数据上限受到带宽以及单个机器的处理能力的限制无法横向扩展,维持,本申请提出将消息存储到分布式系统中,比如Kafka,每个机器直接往kafka发送消息,Kafka本身是一个可以分布式系统,支持分区,这样就可以很好的解决扩展性的问题,然后客户端从kafka订阅消息处理消息。
进一步参考图4,其示出了用于传输消息的方法的又一个实施例的流程400。该用于传输消息的方法的流程400,包括以下步骤:
步骤401,接收发布客户端发布的消息。
该步骤与步骤201基本相同,因此不再赘述。
步骤402,为发布的消息按发布时间的先后顺序分配消息序列号。
在本实施例中,为发布的消息按发布时间的先后顺序分配消息序列号,以保证任何客户端收到的消息顺序都是一致的,支持同一客户端发布消息顺序性。保证每个订阅客户端收到来自同一个broker上发送的同一个主题的消息的有序性。并且不同broker发送消息顺序取决于他们发送到这个broker的时间决定的。
为此我们的设计思想是每个broker都是一个独立的主服务器,这个主服务器为发送给该主服务器的消息分配有序的消息序列号,然后该主服务器会将这些有序的消息转发给其他broker,这样我们就可以解决单点的拥挤问题,同时也保证同一个设备发送消息的有序性,现实中我们对消息的有序性大部分都是基于一个设备发送消息的有序性来定义的。
步骤403,查找订阅客户端。
步骤404,检测所查找到的订阅客户端上所设置的会话清理标识的值。
步骤405,将消息存储在分布式系统中,再将存储在分布式系统中的消息发送给所查找到的订阅客户端。
步骤403-405与步骤202-204基本相同,因此不再赘述。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用于传输消息的方法的流程400突出了确保订阅客户端收到的消息顺序一致性的步骤。未采用统一的计算单元来为每一个消息生成唯一的序列号,因此不会导致大量的请求会被阻塞,也不会出现所有发给同一个主题的数据都会被发往一个特定的broker来分配序列号的情况,这样就会减少网络带宽的消耗,提高系统的可靠性。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于传输消息的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所述的用于传输消息的装置500包括:接收单元501、查找单元502、检测单元503和发送单元504。其中,接收单元501配置用于接收发布客户端发布的消息;查找单元502配置用于查找订阅客户端,其中,所述订阅客户端所订阅的消息的主题和所述发布的消息的主题一致;检测单元503配置用于检测所查找到的订阅客户端上所设置的会话清理标识的值,其中,所述会话清理标识的真值用于标识客户端断开连接后、不保存客户端订阅的主题所对应的消息,而假值用于标识客户端断开连接后、保存客户端订阅的主题所对应的消息;发送单元504配置用于响应于所查找到的订阅客户端上所设置的会话清理标识的值为假值,将所述消息存储在分布式系统中,再将存储在所述分布式系统中的所述消息发送给所查找到的订阅客户端。
在本实施例中,查找单元502根据接收单元501接收的消息查找订阅客户端。
在本实施例中,检测单元503根据查找单元502查找到的订阅客户端的会话清理标识的值确定是否将接收到的消息发给发送单元504处理。
在本实施例的一些可选的实现方式中,装置500还包括:缓存单元,配置用于响应于所查找到的订阅客户端上所设置的会话清理标识的值为真值,将所述消息存储在所述订阅客户端的缓存中,再将存储在所述缓存中的所述消息发送给所述订阅客户端。
在本实施例的一些可选的实现方式中,发送单元504进一步配置用于:通知所述订阅客户端从所述分布式系统读取所述消息;响应于收到所述订阅客户端的读取请求,读取所述消息并将所读取的消息发送给所述订阅客户端,其中,所述读取请求包括指示所述订阅客户端的已经处理的数据的位置的偏移。
在本实施例的一些可选的实现方式中,发送单元504进一步配置用于:记录所述消息的存储位置。
在本实施例的一些可选的实现方式中,发送单元504进一步配置用于:根据所述消息的存储位置和所述偏移确定是否需要读取所述消息;响应于确定需要读取所述消息,则读取所述消息并将所读取的消息发送给所述订阅客户端。
在本实施例的一些可选的实现方式中,装置500还包括:存储单元,配置用于采用单词查找树存储订阅信息,其中,所述订阅信息包括:订阅主题和订阅所述主题的订阅客户端地址。
在本实施例的一些可选的实现方式中,所述分布式系统是kafka系统。
在本实施例的一些可选的实现方式中,接收单元501进一步配置用于:为所述发布的消息按发布时间的先后顺序分配消息序列号。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、查找单元、检测单元和发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收发布客户端发布的消息的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入客户端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:接收发布客户端发布的消息;查找订阅客户端,其中,所述订阅客户端所订阅的消息的主题和所述发布的消息的主题一致;检测所查找到的订阅客户端上所设置的会话清理标识的值,其中,所述会话清理标识的真值用于标识客户端断开连接后、不保存客户端订阅的主题所对应的消息,而假值用于标识客户端断开连接后、保存客户端订阅的主题所对应的消息;响应于所查找到的订阅客户端上所设置的会话清理标识的值为假值,将所述消息存储在分布式系统中,再将存储在所述分布式系统中的所述消息发送给所查找到的订阅客户端。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (16)
1.一种用于传输消息的方法,其特征在于,所述方法包括:
接收发布客户端发布的消息;
查找订阅客户端,其中,所述订阅客户端所订阅的消息的主题和所述发布的消息的主题一致;
检测所查找到的订阅客户端上所设置的会话清理标识的值,其中,所述会话清理标识的真值用于标识客户端断开连接后、不保存客户端订阅的主题所对应的消息,而假值用于标识客户端断开连接后、保存客户端订阅的主题所对应的消息;
响应于所查找到的订阅客户端上所设置的会话清理标识的值为假值,将所述消息存储在分布式系统中,再将存储在所述分布式系统中的所述消息发送给所查找到的订阅客户端。
2.根据权利要求1所述的用于传输消息的方法,其特征在于,所述方法还包括:
响应于所查找到的订阅客户端上所设置的会话清理标识的值为真值,将所述消息存储在所述订阅客户端的缓存中,再将存储在所述缓存中的所述消息发送给所述订阅客户端。
3.根据权利要求1所述的用于传输消息的方法,其特征在于,所述将存储在所述分布式系统中的所述消息发送给所查找到的订阅客户端,包括:
通知所述订阅客户端从所述分布式系统读取所述消息;
响应于收到所述订阅客户端的读取请求,读取所述消息并将所读取的消息发送给所述订阅客户端,其中,所述读取请求包括指示所述订阅客户端的已经处理的数据的位置的偏移。
4.根据权利要求3所述的用于传输消息的方法,其特征在于,所述将所述消息存储在分布式系统中,包括:
记录所述消息的存储位置。
5.根据权利要求4所述的用于传输消息的方法,其特征在于,所述响应于收到所述订阅客户端的读取请求,读取所述消息并将所读取的消息发送给所述订阅客户端,包括:
根据所述消息的存储位置和所述偏移确定是否需要读取所述消息;
响应于确定需要读取所述消息,则读取所述消息并将所读取的消息发送给所述订阅客户端。
6.根据权利要求1所述的用于传输消息的方法,其特征在于,所述方法还包括:
采用单词查找树存储订阅信息,其中,所述订阅信息包括:订阅主题和订阅所述主题的订阅客户端地址。
7.根据权利要求1所述的用于传输消息的方法,其特征在于,所述分布式系统是kafka系统。
8.根据权利要求1所述的用于传输消息的方法,其特征在于,所述接收发布客户端发布的消息还包括:
为所述发布的消息按发布时间的先后顺序分配消息序列号。
9.一种用于传输消息的装置,其特征在于,所述装置包括:
接收单元,配置用于接收发布客户端发布的消息;
查找单元,配置用于查找订阅客户端,其中,所述订阅客户端所订阅的消息的主题和所述发布的消息的主题一致;
检测单元,配置用于检测所查找到的订阅客户端上所设置的会话清理标识的值,其中,所述会话清理标识的真值用于标识客户端断开连接后、不保存客户端订阅的主题所对应的消息,而假值用于标识客户端断开连接后、保存客户端订阅的主题所对应的消息;
发送单元,配置用于响应于所查找到的订阅客户端上所设置的会话清理标识的值为假值,将所述消息存储在分布式系统中,再将存储在所述分布式系统中的所述消息发送给所查找到的订阅客户端。
10.根据权利要求9所述的用于传输消息的装置,其特征在于,所述装置还包括:
缓存单元,配置用于响应于所查找到的订阅客户端上所设置的会话清理标识的值为真值,将所述消息存储在所述订阅客户端的缓存中,再将存储在所述缓存中的所述消息发送给所述订阅客户端。
11.根据权利要求9所述的用于传输消息的装置,其特征在于,所述发送单元进一步配置用于:
通知所述订阅客户端从所述分布式系统读取所述消息;
响应于收到所述订阅客户端的读取请求,读取所述消息并将所读取的消息发送给所述订阅客户端,其中,所述读取请求包括指示所述订阅客户端的已经处理的数据的位置的偏移。
12.根据权利要求11所述的用于传输消息的装置,其特征在于,所述发送单元进一步配置用于:
记录所述消息的存储位置。
13.根据权利要求12所述的用于传输消息的装置,其特征在于,所述发送单元进一步配置用于:
根据所述消息的存储位置和所述偏移确定是否需要读取所述消息;
响应于确定需要读取所述消息,则读取所述消息并将所读取的消息发送给所述订阅客户端。
14.根据权利要求9所述的用于传输消息的装置,其特征在于,所述装置还包括:
存储单元,配置用于采用单词查找树存储订阅信息,其中,所述订阅信息包括:订阅主题和订阅所述主题的订阅客户端地址。
15.根据权利要求9所述的用于传输消息的装置,其特征在于,所述分布式系统是kafka系统。
16.根据权利要求9所述的用于传输消息的装置,其特征在于,所述接收单元进一步配置用于:
为所述发布的消息按发布时间的先后顺序分配消息序列号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610552293.3A CN106130882B (zh) | 2016-07-13 | 2016-07-13 | 用于传输消息的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610552293.3A CN106130882B (zh) | 2016-07-13 | 2016-07-13 | 用于传输消息的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106130882A true CN106130882A (zh) | 2016-11-16 |
CN106130882B CN106130882B (zh) | 2019-04-30 |
Family
ID=57282715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610552293.3A Active CN106130882B (zh) | 2016-07-13 | 2016-07-13 | 用于传输消息的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106130882B (zh) |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107360082A (zh) * | 2017-07-28 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种发布/订阅方法及装置 |
CN107391672A (zh) * | 2017-07-21 | 2017-11-24 | 中国联合网络通信集团有限公司 | 数据的读写方法及消息化的分布式文件系统 |
CN107592351A (zh) * | 2017-09-06 | 2018-01-16 | 北京锐安科技有限公司 | 一种基于Redis的多用户发布订阅方法及系统 |
CN107835445A (zh) * | 2017-11-01 | 2018-03-23 | 青岛海信电器股份有限公司 | 基于mqtt协议的电视控制方法、移动终端及电视 |
CN108063803A (zh) * | 2017-12-04 | 2018-05-22 | 深圳狗尾草智能科技有限公司 | 基于分布式订阅发布消息系统的消息管理方法及系统 |
CN108270995A (zh) * | 2017-01-03 | 2018-07-10 | 中国移动通信有限公司研究院 | 一种终端与视频监控设备之间的通信方法及系统 |
CN108289055A (zh) * | 2018-01-05 | 2018-07-17 | 创盛视联数码科技(北京)有限公司 | 一种基于Redis订阅服务的分布式实时聊天系统及方法 |
CN108628688A (zh) * | 2018-03-30 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种消息处理方法、装置及设备 |
CN108768826A (zh) * | 2018-05-16 | 2018-11-06 | 华南理工大学 | 基于MQTT和Kafka高并发场景下的消息路由方法 |
CN108924183A (zh) * | 2018-05-31 | 2018-11-30 | 北京百度网讯科技有限公司 | 用于处理信息的方法及装置 |
CN108965447A (zh) * | 2018-07-27 | 2018-12-07 | 四川爱创科技有限公司 | 数据采集和远程控制的方法及系统 |
CN108989157A (zh) * | 2017-06-05 | 2018-12-11 | 北京京东尚科信息技术有限公司 | 用于智能设备控制的方法、装置 |
CN109032534A (zh) * | 2018-08-30 | 2018-12-18 | 百度在线网络技术(北京)有限公司 | 一种消息传输方法、装置、设备和介质 |
CN109428922A (zh) * | 2017-08-29 | 2019-03-05 | 华为技术有限公司 | 一种订阅发布方法及服务器 |
CN109522116A (zh) * | 2018-10-11 | 2019-03-26 | 北京达佳互联信息技术有限公司 | 一种对象关注方法、装置和服务器 |
CN109862063A (zh) * | 2018-11-12 | 2019-06-07 | 平安科技(深圳)有限公司 | 基于mqtt的发布订阅匹配方法、装置及存储介质 |
CN110012083A (zh) * | 2019-03-26 | 2019-07-12 | 青岛聚好联科技有限公司 | 一种数据传输方法、服务器及数据传输装置 |
CN110062004A (zh) * | 2019-04-30 | 2019-07-26 | 全球能源互联网研究院有限公司 | 一种基于物联网协议的报文处理系统及方法 |
CN110138860A (zh) * | 2019-05-16 | 2019-08-16 | 广州云智易物联网有限公司 | 一种基于物联网的数据通讯方法及装置 |
CN110166487A (zh) * | 2019-06-19 | 2019-08-23 | 深圳聚点互动科技有限公司 | 局域网设备信息传输方法、主设备、存储介质及智能设备 |
CN110381023A (zh) * | 2019-06-14 | 2019-10-25 | 浪潮软件股份有限公司 | 一种基于mqtt协议的消息存储方法 |
CN110392120A (zh) * | 2019-08-15 | 2019-10-29 | 锐捷网络股份有限公司 | 一种消息推送过程中故障的恢复方法及装置 |
WO2019218763A1 (zh) * | 2018-05-17 | 2019-11-21 | 华为技术有限公司 | 一种通信方法、系统和装置 |
CN110493340A (zh) * | 2019-08-21 | 2019-11-22 | 北京小米移动软件有限公司 | 分布式系统中的会话方法及装置 |
CN110557423A (zh) * | 2018-06-04 | 2019-12-10 | 珠海全志科技股份有限公司 | 一种消息推送方法及系统 |
CN110622485A (zh) * | 2017-05-15 | 2019-12-27 | 瑞典爱立信有限公司 | Mqtt网络中的主题处理 |
CN110673502A (zh) * | 2019-10-14 | 2020-01-10 | 珠海格力电器股份有限公司 | 智能设备的快速响应方法及系统、存储介质和网络侧设备 |
CN110771123A (zh) * | 2017-06-23 | 2020-02-07 | 韦斯特尔电子工业和贸易有限责任公司 | 用于分发发布-订阅消息的方法和装置 |
CN110768882A (zh) * | 2019-11-07 | 2020-02-07 | 青岛合启立智能科技有限公司 | 一种数据监控方法、系统、监听设备及车辆 |
CN111131501A (zh) * | 2019-12-31 | 2020-05-08 | 郑州信大捷安信息技术股份有限公司 | 一种基于mqtt协议的消息推送系统及方法 |
CN111385346A (zh) * | 2019-04-12 | 2020-07-07 | 鸿合科技股份有限公司 | 一种互动答题方法及客户端、电子设备 |
CN111562992A (zh) * | 2020-04-14 | 2020-08-21 | 广东博智林机器人有限公司 | 客户端的消息消费方法、装置、电子设备及存储介质 |
CN111651476A (zh) * | 2020-05-18 | 2020-09-11 | 青岛海洋科学与技术国家实验室发展中心 | 一种物联网关中mqtt主题的快速匹配方法及系统 |
CN112073398A (zh) * | 2020-08-27 | 2020-12-11 | 北京金山云网络技术有限公司 | 消息队列的处理方法、装置和系统、存储介质和电子装置 |
CN112071106A (zh) * | 2020-09-18 | 2020-12-11 | 四川长虹电器股份有限公司 | 地磁设备异常离线的实时监控系统及方法 |
CN112328417A (zh) * | 2020-11-27 | 2021-02-05 | 杭州海兴电力科技股份有限公司 | 一种嵌入式多程序通讯方法和系统 |
CN112383629A (zh) * | 2020-11-16 | 2021-02-19 | 四川长虹电器股份有限公司 | 一种高效可迁移的MQTT Broker订阅树实现方法 |
CN113783838A (zh) * | 2021-08-05 | 2021-12-10 | 山东有人物联网股份有限公司 | 一种订阅方法、订阅控制装置及计算机可读存储介质 |
CN113965612A (zh) * | 2021-02-01 | 2022-01-21 | 南京云思创智信息科技有限公司 | 基于消息队列遥测传输的微表情识别方法 |
CN114710463A (zh) * | 2020-12-31 | 2022-07-05 | 腾讯科技(深圳)有限公司 | 一种消息订阅、发布方法、装置、介质及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857406A (zh) * | 2012-07-23 | 2013-01-02 | 大唐移动通信设备有限公司 | 一种jbm系统的消息处理方法及装置 |
CN104580226A (zh) * | 2015-01-15 | 2015-04-29 | 上海瀚之友信息技术服务有限公司 | 一种共享会话数据的系统和方法 |
CN104639625A (zh) * | 2015-01-27 | 2015-05-20 | 华南理工大学 | 一种基于mqtt的数据集中器采集控制方法、装置及系统 |
CN104836723A (zh) * | 2015-03-31 | 2015-08-12 | 青岛海尔智能家电科技有限公司 | 基于mqtt主题订阅机制的通信方法以及接入网关 |
CN105741134A (zh) * | 2016-01-26 | 2016-07-06 | 北京百分点信息科技有限公司 | 跨数据源的营销人群在市场营销中应用的方法及装置 |
-
2016
- 2016-07-13 CN CN201610552293.3A patent/CN106130882B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857406A (zh) * | 2012-07-23 | 2013-01-02 | 大唐移动通信设备有限公司 | 一种jbm系统的消息处理方法及装置 |
CN104580226A (zh) * | 2015-01-15 | 2015-04-29 | 上海瀚之友信息技术服务有限公司 | 一种共享会话数据的系统和方法 |
CN104639625A (zh) * | 2015-01-27 | 2015-05-20 | 华南理工大学 | 一种基于mqtt的数据集中器采集控制方法、装置及系统 |
CN104836723A (zh) * | 2015-03-31 | 2015-08-12 | 青岛海尔智能家电科技有限公司 | 基于mqtt主题订阅机制的通信方法以及接入网关 |
CN105741134A (zh) * | 2016-01-26 | 2016-07-06 | 北京百分点信息科技有限公司 | 跨数据源的营销人群在市场营销中应用的方法及装置 |
Cited By (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270995A (zh) * | 2017-01-03 | 2018-07-10 | 中国移动通信有限公司研究院 | 一种终端与视频监控设备之间的通信方法及系统 |
CN108270995B (zh) * | 2017-01-03 | 2021-01-15 | 中国移动通信有限公司研究院 | 一种终端与视频监控设备之间的通信方法及系统 |
CN110622485B (zh) * | 2017-05-15 | 2021-12-24 | 瑞典爱立信有限公司 | Mqtt网络中的主题处理的方法和节点 |
CN110622485A (zh) * | 2017-05-15 | 2019-12-27 | 瑞典爱立信有限公司 | Mqtt网络中的主题处理 |
CN108989157A (zh) * | 2017-06-05 | 2018-12-11 | 北京京东尚科信息技术有限公司 | 用于智能设备控制的方法、装置 |
CN110771123A (zh) * | 2017-06-23 | 2020-02-07 | 韦斯特尔电子工业和贸易有限责任公司 | 用于分发发布-订阅消息的方法和装置 |
CN107391672B (zh) * | 2017-07-21 | 2020-04-28 | 中国联合网络通信集团有限公司 | 数据的读写方法及消息化的分布式文件系统 |
CN107391672A (zh) * | 2017-07-21 | 2017-11-24 | 中国联合网络通信集团有限公司 | 数据的读写方法及消息化的分布式文件系统 |
CN107360082B (zh) * | 2017-07-28 | 2020-08-25 | 苏州浪潮智能科技有限公司 | 一种发布/订阅方法及装置 |
CN107360082A (zh) * | 2017-07-28 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种发布/订阅方法及装置 |
CN109428922B (zh) * | 2017-08-29 | 2020-09-08 | 华为技术有限公司 | 一种订阅发布方法及服务器 |
CN109428922A (zh) * | 2017-08-29 | 2019-03-05 | 华为技术有限公司 | 一种订阅发布方法及服务器 |
CN107592351A (zh) * | 2017-09-06 | 2018-01-16 | 北京锐安科技有限公司 | 一种基于Redis的多用户发布订阅方法及系统 |
CN107592351B (zh) * | 2017-09-06 | 2021-01-12 | 北京锐安科技有限公司 | 一种基于Redis的多用户发布订阅方法及系统 |
CN107835445A (zh) * | 2017-11-01 | 2018-03-23 | 青岛海信电器股份有限公司 | 基于mqtt协议的电视控制方法、移动终端及电视 |
CN107835445B (zh) * | 2017-11-01 | 2020-06-16 | 海信视像科技股份有限公司 | 基于mqtt协议的电视控制方法、移动终端及电视 |
CN108063803A (zh) * | 2017-12-04 | 2018-05-22 | 深圳狗尾草智能科技有限公司 | 基于分布式订阅发布消息系统的消息管理方法及系统 |
CN108063803B (zh) * | 2017-12-04 | 2020-10-13 | 苏州狗尾草智能科技有限公司 | 基于分布式订阅发布消息系统的消息管理方法及系统 |
CN108289055A (zh) * | 2018-01-05 | 2018-07-17 | 创盛视联数码科技(北京)有限公司 | 一种基于Redis订阅服务的分布式实时聊天系统及方法 |
CN108628688B (zh) * | 2018-03-30 | 2022-11-18 | 创新先进技术有限公司 | 一种消息处理方法、装置及设备 |
CN108628688A (zh) * | 2018-03-30 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种消息处理方法、装置及设备 |
CN108768826A (zh) * | 2018-05-16 | 2018-11-06 | 华南理工大学 | 基于MQTT和Kafka高并发场景下的消息路由方法 |
CN108768826B (zh) * | 2018-05-16 | 2021-03-19 | 华南理工大学 | 基于MQTT和Kafka高并发场景下的消息路由方法 |
US11689606B2 (en) | 2018-05-17 | 2023-06-27 | Huawei Technologies Co., Ltd. | Communication method, system and apparatus |
WO2019218763A1 (zh) * | 2018-05-17 | 2019-11-21 | 华为技术有限公司 | 一种通信方法、系统和装置 |
CN108924183A (zh) * | 2018-05-31 | 2018-11-30 | 北京百度网讯科技有限公司 | 用于处理信息的方法及装置 |
CN110557423A (zh) * | 2018-06-04 | 2019-12-10 | 珠海全志科技股份有限公司 | 一种消息推送方法及系统 |
CN110557423B (zh) * | 2018-06-04 | 2022-02-11 | 珠海全志科技股份有限公司 | 一种消息推送方法及系统 |
CN108965447A (zh) * | 2018-07-27 | 2018-12-07 | 四川爱创科技有限公司 | 数据采集和远程控制的方法及系统 |
US11366707B2 (en) | 2018-08-30 | 2022-06-21 | Apollo Intelligent Driving Technology (Beijing) Co., Ltd. | Message transmission method and apparatus, device and medium |
CN109032534B (zh) * | 2018-08-30 | 2022-09-13 | 阿波罗智能技术(北京)有限公司 | 一种无人车消息传输方法、装置、设备和介质 |
CN109032534A (zh) * | 2018-08-30 | 2018-12-18 | 百度在线网络技术(北京)有限公司 | 一种消息传输方法、装置、设备和介质 |
CN109522116A (zh) * | 2018-10-11 | 2019-03-26 | 北京达佳互联信息技术有限公司 | 一种对象关注方法、装置和服务器 |
CN109862063A (zh) * | 2018-11-12 | 2019-06-07 | 平安科技(深圳)有限公司 | 基于mqtt的发布订阅匹配方法、装置及存储介质 |
CN110012083A (zh) * | 2019-03-26 | 2019-07-12 | 青岛聚好联科技有限公司 | 一种数据传输方法、服务器及数据传输装置 |
CN111385346A (zh) * | 2019-04-12 | 2020-07-07 | 鸿合科技股份有限公司 | 一种互动答题方法及客户端、电子设备 |
CN110062004A (zh) * | 2019-04-30 | 2019-07-26 | 全球能源互联网研究院有限公司 | 一种基于物联网协议的报文处理系统及方法 |
CN110138860A (zh) * | 2019-05-16 | 2019-08-16 | 广州云智易物联网有限公司 | 一种基于物联网的数据通讯方法及装置 |
CN110138860B (zh) * | 2019-05-16 | 2022-02-22 | 广州云智易物联网有限公司 | 一种基于物联网的数据通讯方法及装置 |
CN110381023B (zh) * | 2019-06-14 | 2022-02-18 | 浪潮软件股份有限公司 | 一种基于mqtt协议的消息存储方法 |
CN110381023A (zh) * | 2019-06-14 | 2019-10-25 | 浪潮软件股份有限公司 | 一种基于mqtt协议的消息存储方法 |
CN110166487A (zh) * | 2019-06-19 | 2019-08-23 | 深圳聚点互动科技有限公司 | 局域网设备信息传输方法、主设备、存储介质及智能设备 |
CN110166487B (zh) * | 2019-06-19 | 2022-04-19 | 深圳聚点互动科技有限公司 | 局域网设备信息传输方法、主设备、存储介质及智能设备 |
CN110392120B (zh) * | 2019-08-15 | 2022-06-21 | 锐捷网络股份有限公司 | 一种消息推送过程中故障的恢复方法及装置 |
CN110392120A (zh) * | 2019-08-15 | 2019-10-29 | 锐捷网络股份有限公司 | 一种消息推送过程中故障的恢复方法及装置 |
CN110493340B (zh) * | 2019-08-21 | 2023-08-04 | 北京小米移动软件有限公司 | 分布式系统中的会话方法及装置 |
CN110493340A (zh) * | 2019-08-21 | 2019-11-22 | 北京小米移动软件有限公司 | 分布式系统中的会话方法及装置 |
CN110673502A (zh) * | 2019-10-14 | 2020-01-10 | 珠海格力电器股份有限公司 | 智能设备的快速响应方法及系统、存储介质和网络侧设备 |
CN110768882A (zh) * | 2019-11-07 | 2020-02-07 | 青岛合启立智能科技有限公司 | 一种数据监控方法、系统、监听设备及车辆 |
CN111131501B (zh) * | 2019-12-31 | 2022-03-15 | 郑州信大捷安信息技术股份有限公司 | 一种基于mqtt协议的消息推送系统及方法 |
CN111131501A (zh) * | 2019-12-31 | 2020-05-08 | 郑州信大捷安信息技术股份有限公司 | 一种基于mqtt协议的消息推送系统及方法 |
CN111562992A (zh) * | 2020-04-14 | 2020-08-21 | 广东博智林机器人有限公司 | 客户端的消息消费方法、装置、电子设备及存储介质 |
CN111651476A (zh) * | 2020-05-18 | 2020-09-11 | 青岛海洋科学与技术国家实验室发展中心 | 一种物联网关中mqtt主题的快速匹配方法及系统 |
CN112073398A (zh) * | 2020-08-27 | 2020-12-11 | 北京金山云网络技术有限公司 | 消息队列的处理方法、装置和系统、存储介质和电子装置 |
CN112071106A (zh) * | 2020-09-18 | 2020-12-11 | 四川长虹电器股份有限公司 | 地磁设备异常离线的实时监控系统及方法 |
CN112383629B (zh) * | 2020-11-16 | 2022-02-01 | 四川长虹电器股份有限公司 | 一种高效可迁移的MQTT Broker订阅树实现方法 |
CN112383629A (zh) * | 2020-11-16 | 2021-02-19 | 四川长虹电器股份有限公司 | 一种高效可迁移的MQTT Broker订阅树实现方法 |
CN112328417A (zh) * | 2020-11-27 | 2021-02-05 | 杭州海兴电力科技股份有限公司 | 一种嵌入式多程序通讯方法和系统 |
CN112328417B (zh) * | 2020-11-27 | 2023-12-12 | 杭州海兴电力科技股份有限公司 | 一种嵌入式多程序通讯方法和系统 |
CN114710463A (zh) * | 2020-12-31 | 2022-07-05 | 腾讯科技(深圳)有限公司 | 一种消息订阅、发布方法、装置、介质及设备 |
CN114710463B (zh) * | 2020-12-31 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 一种消息订阅、发布方法、装置、介质及设备 |
CN113965612A (zh) * | 2021-02-01 | 2022-01-21 | 南京云思创智信息科技有限公司 | 基于消息队列遥测传输的微表情识别方法 |
CN113783838A (zh) * | 2021-08-05 | 2021-12-10 | 山东有人物联网股份有限公司 | 一种订阅方法、订阅控制装置及计算机可读存储介质 |
CN113783838B (zh) * | 2021-08-05 | 2024-02-06 | 山东有人物联网股份有限公司 | 一种订阅方法、订阅控制装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106130882B (zh) | 2019-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106130882A (zh) | 用于传输消息的方法和装置 | |
US7636764B1 (en) | Cloud resource usage in data forwarding storage | |
KR101031942B1 (ko) | 접속 소스들로부터 수집된 접속 정보를 찾아내는 시스템 및방법 | |
CN108712332B (zh) | 一种通信方法、系统和装置 | |
US7631045B2 (en) | Content router asynchronous exchange | |
US8819080B2 (en) | System and method for collection, retrieval, and distribution of data | |
CN115004673B (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
US7676812B2 (en) | Large scale event notification system | |
CN113452592B (zh) | 混合云架构下的跨云数据访问方法及装置 | |
CN101192942A (zh) | 控制发布保持的方法以及发布/订购代理器 | |
US20070014277A1 (en) | Content router repository | |
US20070014307A1 (en) | Content router forwarding | |
US8095495B2 (en) | Exchange of syncronization data and metadata | |
JP2006236319A (ja) | 複数の連絡先ソースからの連絡先情報を集約するための方法およびシステム | |
CN103109273B (zh) | 用于管理数据的方法和装置 | |
FR3001849A1 (fr) | Procede pour router des donnees, programme d'ordinateur, controleur de reseau et reseaux associes | |
CN111917687A (zh) | 一种循环推送提醒消息的方法和装置 | |
US8214475B1 (en) | System and method for managing content interest data using peer-to-peer logical mesh networks | |
CN108377247A (zh) | 一种消息推送方法和装置 | |
CN109873855A (zh) | 一种基于区块链网络的资源获取方法和系统 | |
CN113452600A (zh) | 跨地域的消息通信方法、装置、电子设备和存储介质 | |
WO2019231645A1 (en) | Change notifications for object storage | |
CN110798495B (zh) | 用于在集群架构模式下端到端的消息推送的方法和服务器 | |
CN112822528B (zh) | 直播列表服务系统、直播列表管理方法、服务器及介质 | |
US20200259847A1 (en) | Providing secure data-replication between a master node and tenant nodes of a multi-tenancy architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |