CN103534988A - 消息发布与订阅的方法及装置 - Google Patents
消息发布与订阅的方法及装置 Download PDFInfo
- Publication number
- CN103534988A CN103534988A CN201380000499.XA CN201380000499A CN103534988A CN 103534988 A CN103534988 A CN 103534988A CN 201380000499 A CN201380000499 A CN 201380000499A CN 103534988 A CN103534988 A CN 103534988A
- Authority
- CN
- China
- Prior art keywords
- message
- actual subject
- subscriber
- virtual
- publisher
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/212—Monitoring or handling of messages using filtering or selective blocking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种消息发布与订阅的方法及装置,涉及信息处理领域,主要通过为发布者以及订阅者在消息中间件中设置相应的虚拟主题,或者通过对发布者以及订阅者向消息中间件进行语义识别,用以提供更高的信息传输效率和更强的灵活性。
Description
技术领域
本发明涉及信息处理领域,尤其涉及一种消息发布与订阅的方法及装置。
背景技术
消息中间件利用高效可靠的消息传递机制进行与平台无关的数据交流,通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。
在消息中间件的消息传输模式中,发布/订阅模式是最常用的传输机制。发布者和订阅者之间通过主题交换信息:发布者把消息发布到相关主题,订阅者在该主题上注册并接收该主题上的信息,通过这种方式主题把发布者和订阅者连接起来。
传统的发布/订阅***的消息路由方式是一种基于内容和地址相结合的路由方式,在这种路由体系下,首先根据主题内容,并结合预先收集的订阅者,来确定关于同一个主题的消息有或者没有哪些感兴趣的订阅者,以及这些订阅者的目的地服务器和接收队列,然后,再通过静态路由体系确定该消息将被分发至哪些本地接收队列和下一个路由节点。所以在这种路由体系下,发布者与订阅者之间传输的消息必须携带一个主题。
然而,主题的改变,例如主题的名称或者类别的改变,都会影响消息路由的目的地,而发布者或订阅者必须知道这些改变才能发布或订阅到正确的主题上。在大规模应用的场景下,特别是在互联网环境的情况下,这种改变会引发发布者或订阅者大的改变和不必要的网络开销。
发明内容
本发明的实施例提供一种消息发布与订阅的方法及装置,以提供更高的信息传输效率,和更强的灵活性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明提供了一种消息发布的方法,包括:
获取发布者已发送至与所述发布者对应的虚拟主题的消息;
根据已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径;其中,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发;所述实际主题用于发布者和订阅者之间的消息转发;
当查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息;
当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。
结合第一方面,在第一方面的第一种可能实现方式中,还包括:
当未查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,则对所述消息进行语义解析,得到语义解析结果,并根据所述语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
若查找到与所述语义解析结果匹配的实际主题,则生成并存储所述发布者对应的虚拟主题与查找到的实际主题之间的路由规则。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述生成并存储所述发布者对应的虚拟主题与查找到的实际主题之间的路由规则之后,还包括:
根据当前已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径;
当查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息;
当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。
结合第一方面的第一种或第二种可能实现方式,在第三种可能实现方式中,还包括:
若未查找到与所述语义解析结果匹配的实际主题,则创建新的实际主题,并生成并存储所述发布者对应的虚拟主题与新创建的实际主题之间的路由规则。
结合第一方面,在第四种可能实现方式中,在根据当前已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径之前,还包括:
判断获取的所述消息是否为控制消息,所述控制消息用于更新已存储的虚拟主题与实际主题之间的路由规则;
若获取的所述消息不是控制消息,则执行根据当前已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径的步骤;
若确定获取的所述消息是控制消息,则根据所述控制消息,对已存储的虚拟主题与实际主题之间的路由规则进行修改;存储修改后的虚拟主题与实际主题之间的路由规则。
结合第一方面或第一方面的前四种可能实现方式中的任意一种,在第五种可能的实现方式中,在所述根据查找到的所有传输路径,传输所述消息的标识信息之前,还包括:
生成与所述消息对应的标识信息;
则当所述消息的标识信息传输至每一条传输路径的终点时,将该发布者发送的消息发送至传输路径的终点所对应的订阅者包括:
当所述消息的标识信息传输至每一条传输路径的终点时,获取与所述标识信息对应的消息,并将与所述标识信息对应的消息发送至传输路径的终点所对应的订阅者。
第二方面,本发明提供了一种消息发布的方法,包括:
获取发布者已发送的消息;
对获取到的消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
若查找到与所述语义解析结果匹配的实际主题,则在已存储的订阅对应关系中,查找与所述实际主题对应的订阅者;
若查找到所述实际主题对应的订阅者,则将所述获取到的消息发送至所有查找到的订阅者。
结合第二方面,在第一种可能实现方式中,还包括:
若未查找到与所述语义解析结果匹配的实际主题,则创建新的实际主题,并存储新创建的实际主题。
第三方面,本发明提供了一种消息订阅的方法,包括:
获取订阅者已发送至所述订阅者对应的虚拟主题的消息;
根据获取的所述消息,创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则,所述目的实际主题为所述订阅者当前订阅的实际主题;其中,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发;所述目的实际主题用于订阅者对应的虚拟主题之间的消息转发。
结合第三方面,在第一种可能实现方式中,所述根据获取的所述消息,创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则包括:
当获取的所述消息为控制消息时,根据所述控制消息获取目的实际主题,所述控制消息用于更新虚拟主题与所述订阅者选择的实际主题之间的路由规则;
创建所述订阅者对应的虚拟主题与根据所述控制消息获取到的目的实际主题之间的路由规则。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据获取的所述消息,创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则包括:
当获取的所述消息不为控制消息时,对获取的所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
若在已存储的实际主题中查找到与所述语义解析结果匹配的实际主题,则创建所述订阅者对应的虚拟主题与查找到的与所述语义解析结果匹配的实际主题之间的路由规则。
结合第三方面的第二种可能实现方式,在第三种可能实现方式中,还包括:
若在已存储的实际主题中未查找到与所述语义解析结果匹配的实际主题,则创建新的实际主题,并创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则。
第四方面,本发明提供了一种消息订阅的方法,包括:
获取订阅者已发送至与所述订阅者对应的虚拟主题的消息;
对获取的所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
若在已存储的实际主题中查找到与所述语义解析结果匹配的实际主题,则创建查找到的实际主题与所述订阅者的订阅对应关系。
结合第四方面,在第一种可能实现方式中,还包括:
若在已存储的实际主题中未查找到与所述语义解析结果匹配的实际主题,则创建新的实际主题,并创建新创建的实际主题与所述订阅者的订阅对应关系。
第五方面,本发明提供了一种消息发布的装置,包括:
信息处理模块,用于获取发布者已发送至与所述发布者对应的虚拟主题的信息;
主题模块,用于根据已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径;其中,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发;所述实际主题用于发布者和订阅者之间的消息转发;
传输模块,用于当所述主题模块查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息;当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。
结合第五方面,在第五方面的第一种可能实现方式中,还包括:
语义识别模块,用于当所述主题模块未查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,对所述消息进行语义解析,得到语义解析结果,并根据所述语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
所述路由规则生成模块,用于若所述语义识别模块查找到与所述语义解析结果匹配的实际主题,则生成并存储所述发布者对应的虚拟主题与查找到的实际主题之间的路由规则。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式,所述主题模块,用于根据当前所述路由规则生成模块已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径;
所述传输模块,还用于当所述主题模块查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息;当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。
结合第五方面的第一种或第二种可能实现方式,在第三种可能实现方式中,所述主题模块,还用于在未查找到与所述语义解析结果匹配的实际主题时,创建新的实际主题;
所述路由规则生成模块,还用于存储所述发布者对应的虚拟主题与新创建的实际主题之间的路由规则。
结合第五方面,在第三种可能实现方式中,所述信息处理模块,还用于判断获取的所述消息是否为控制消息,所述控制消息用于更新已存储的虚拟主题与实际主题之间的路由规则;
所述主题模块,用于在所述信息处理模块确定获取的所述消息不是控制消息,则根据当前已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径;
所述路由规则生成模块,还用于若所述信息处理模块确定获取的所述消息是控制消息,则根据所述控制消息,对已存储的虚拟主题与实际主题之间的路由规则进行修改;存储修改后的虚拟主题与实际主题之间的路由规则。
结合第三方面或第三方面的前四种可能的实现方式中的任意一种,在第五种可能的实现方式中,所述信息处理模块还用于生成与所述消息对应的标识信息;
所述传输模块,还用于当所述与所述消息对应的标识信息传输至每一条传输路径的终点时,获取与所述标识信息对应的消息,并将与所述标识信息对应的消息发送至传输路径的终点所对应的订阅者。
第六方面,本发明提供了一种消息发布的装置,包括:
获取模块,用于获取发布者已发送的消息;
语义识别模块,用于对获取到的消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
主题模块,用于在查找到与所述语义解析结果匹配的实际主题时,在已存储的订阅对应关系中,查找与所述实际主题对应的订阅者;
传输模块,用于在查找到所述实际主题对应的订阅者时,将所述获取到的消息发送至所有查找到的订阅者。
结合第六方面,在第一种可能实现方式中,所述主题模块,还用于在未查找到与所述语义解析结果匹配的实际主题时,创建新的实际主题,并存储新创建的实际主题。
第七方面,本发明提供了一种消息订阅的装置,包括:
获取模块,用于获取订阅者已发送至所述订阅者对应的虚拟主题的消息;
创建模块,用于根据获取的所述消息,创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则,所述目的实际主题为所述订阅者当前订阅的实际主题;其中,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发;所述目的实际主题用于订阅者对应的虚拟主题之间的消息转发。
结合第七方面,在第一种可能实现方式中,所述创建模块包括:
第一主题子模块,用于当获取的所述消息为控制消息时,根据所述控制消息获取所述目的实际主题,所述控制消息用于更新虚拟主题与所述订阅者选择的实际主题之间的路由规则;以及用于更新所述订阅者对应的虚拟主题与根据所述控制消息获取到的目的实际主题之间的路由规则。
结合第七方面,在第二种可能实现方式中,所述创建模块包括:
语义识别子模块,用于当获取的所述消息不为控制消息时,对获取的所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
第二主题子模块,用于在在已存储的实际主题中查找到与所述语义解析结果匹配的实际主题时,将查找到的实际主题作为目的实际主题,并创建所述订阅者对应的虚拟主题与查找到的与所述语义解析结果匹配的实际主题之间的路由规则。
结合第七方面的第二种可能实现方式,在第三种可能实现方式中,所述第二主题子模块,还用于在在已存储的实际主题中未查找到与所述语义解析结果匹配的实际主题时,创建新的实际主题,并创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则。
第八方面,本发明提供了一种消息订阅的装置,包括:
获取模块,用于获取订阅者已发送的消息;
语义识别模块,用于对获取的所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
主题模块,用于在在已存储的实际主题中查找到与所述语义解析结果匹配的实际主题时,创建查找到的实际主题与所述订阅者的订阅对应关系。
结合第八方面,在第一种可能实现方式中,所述主题模块还用于在在已存储的实际主题中未查找到与所述语义解析结果匹配的实际主题时,创建新的实际主题,并创建新创建的实际主题与所述订阅者的订阅对应关系。
本发明实施例提供的消息发布与订阅的方法,通过为发布者以及订阅者在消息中间件中设置相应的虚拟主题,或者通过对发布者以及订阅者向消息中间件进行语义识别,以保证发布者以及订阅者不需要获知实际主题的具体结构的情况下,仍然保证信息被正确地传输。相比于现有技术中,当消息中间件中的主题发生变化时,发布者以及订阅者必须要获知的变更结果并主动修改路由规则才能完成数据传输的技术方案来讲,本发明实施例提供的技术方案信息传输效率更高,灵活性更强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种消息中间件的组成框图;
图2为本发明实施例提供的另一种消息中间件的组成框图;
图3为本发明实施例提供的一种消息发布的方法流程图;
图4为本发明实施例提供的另一种消息发布的方法流程图;
图5为本发明实施例提供的另一种消息发布的方法流程图;
图6为本发明实施例提供的另一种消息发布的方法流程图;
图7为本发明实施例提供的一种消息订阅的方法流程图;
图8为本发明实施例提供的另一种消息订阅的方法流程图;
图9为本发明实施例提供的另一种消息订阅的方法流程图;
图10为本发明实施例提供的一种消息发布的方法流程图;
图11为本发明实施例提供的另一种消息发布的方法流程图;
图12为本发明实施例提供的另一种消息订阅的方法流程图;
图13为本发明实施例提供的另一种消息订阅的方法流程图;
图14为本发明实施例提供的一种消息发布的装置的组成框图;
图15为本发明实施例提供的另一种消息发布的装置的组成框图;
图16为本发明实施例提供的另一种消息发布的装置的组成框图;
图17为本发明实施例提供的另一种消息订阅的装置的组成框图;
图18为本发明实施例提供的另一种消息订阅的装置的组成框图;
图19为本发明实施例提供的另一种消息订阅的装置的组成框图;
图20为本发明实施例提供的另一种消息订阅的装置的组成框图;
图21为本发明实施例提供的另一种消息中间件的组成框图;
图22为本发明实施例提供的另一种消息中间件的组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的两种消息中间件(message broker)的组成结构图,用以实现本发明实施例提供的消息发布与订阅的方法,一般以可运行于操作***和应用软件之间的软件形式存在,用于进行多个操作***之间、多个应用软件之间以及操作***和应用软件之间的信息传输。
图1为本发明实施例提供的消息中间件的一种实现方式的组成结构图,在此结构中,对应于消息中间件外的每个发布者和订阅者,都各自设置有一个虚拟主题,该虚拟主题的作用相当于发布者或订阅者在消息中间件中的映射设备,具有查找下一跳实际主题和转发消息的功能。具体的,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发。
虚拟主题和发布者之间以及虚拟主题与订阅者之间都设置有一个信息处理模块,该信息处理模块主要用于对发布者或订阅者发送到消息中间件的消息进行识别,和生成与对发布者或订阅者发送到消息中间件的消息相对应的标识信息。
信息处理模块还连接有路由规则生成模块和存储适配模块。路由规则生成模块用于生成虚拟主题和实际主题之间的路由规则,存储适配模块用于存储发布者或订阅者发送到消息中间件的消息。
路由规则生成模块和存储适配模块都连接到路由模块,路由模块用于存储虚拟主题和实际主题之间的路由规则。
消息中间件中还设置有实际主题,该实际主题根据虚拟主题和实际主题之间的路由规则,与若干个虚拟主题建立逻辑连接关系,具有查找下一跳实际主题或下一跳虚拟主题和转发消息的功能。,具体的,所述实际主题用于发布者对应的虚拟主题和订阅者对应的虚拟主题之间的消息转发实际主题也连接到路由模块中。实际主题结构可以采用现有技术常用的树形结构,也可以使用其他的结构,本发明实施例对此不进行限制。
消息中间件中还设置有由语义解析模块和语义匹配模块组成的语义识别模块,该语义识别模块与虚拟主题、路由规则生成模块以及存储适配器相连。
图2为本发明实施例提供的消息中间件的另一种实现方式的组成结构图,该结构中,消息中间件仅具有实际主题、由语义解析模块和语义匹配模块组成的语义识别模块和存储适配器。其中,实际主题与消息中间件外部的订阅者以及语义识别模块相连,语义识别模块可以与实际主题、消息中间件外部的订阅者、消息中间件外部的发布者以及存储适配器相连。各个模块的功能与图1所示的模块功能基本相同。
基于图1所示的信息中间件,本发明实施例提供了一种消息订阅的方法,如图3所示,包括:
101、获取发布者已发送至与所述发布者对应的虚拟主题的消息。
其中,发布者和后续描述的订阅者一般为手机、PC、服务器等终用户终端设备。
102、根据已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径。
其中,已存储的虚拟主题与实际主题之间的路由规则用于表示虚拟主题和实际主题之间的消息传输关系,可以由发布者、订阅者或者网络管理员事先进行设置的,或者是在消息中间件工作时实时更新的。
103、当查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息。
其中,标识信息的生成可以是消息中间件为发布者发送的消息分配的唯一的标识信息,具体的分配方法可以使用顺序排列标号、哈希计算标号等多种方法。此时发布者发送的消息一般需要存储在一个独立的存储器件中,例如,本发明实施例提供的存储适配器。该标识信息主要是用于使所述订阅者对应的虚拟主题能够根据所述标识信息获取所述消息
104、当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。
本发明实施例提供了一种消息发布的方法,在该方法中,发布者可根据自身需要向消息中间件中与自身对应的虚拟主题发送消息,就可以由消息中间件根据自身内部存储的虚拟主题与实际主题之间的路由规则相应的传输路径,并将发布者发送的消息发送至相应的订阅者,从而使得当实际主题发生变化时,只需要由消息中间件的内部对存储的虚拟主题与实际主题之间的路由规则进行修改即可,发布者仍可以向与消息中间件中与自身对应的虚拟主题继续发送消息,而不用做出任何改变。与现有技术中当实际主题发生变化时,发布者必须要更改传输路径才能将消息正确传输的技术方案相比,消息传输效率更高,传输路径的灵活性更强。
进一步的,在如图3所示的方法流程的基础上,本发明实施例还提供了另一种消息发布的方法,如图4所示,执行于步骤102之后,包括:
105、当未查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,则对所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题。若查找到与所述语义解析结果匹配的实际主题,则执行步骤106。否则执行步骤110。
其中,由于实际主题就是用于连接消息发布订阅者的实际主题,其定义方式与现有技术基本相同,因此,每个实际主题一般都对应有相应的字符串、标号等可以用于文字或语义匹配的主题标识,对发布者发送的消息进行语义解析之后,会将消息解析成一系列的关键字。通过这些关键字可以与所有实际主题各自对应的主题标识进行模糊匹配,例如字符串匹配等,用以确定这个消息最可能的传输方向或路径。
106、生成并存储所述发布者对应的虚拟主题与查找到的实际主题之间的路由规则。
107、根据当前已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径。
108、当查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息。
值得说明的是,若此时仍查找不到所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径,则说明此时查找到的实际主题尚无人订阅,因此,直接将该发布者发送的消息进行存储即可,不需要再继续发送。
109、当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。
110、创建新的实际主题,并生成并存储所述发布者对应的虚拟主题与新创建的实际主题之间的路由规则。
在执行步骤110后,不需要将消息继续进行传输,其原因为:若已存储的实际主题中并不存在发布者发送的消息对应的实际主题,说明此时还没有任何订阅者订阅了此主题。
本发明实施例进一步提供的消息发布的方法,在无法查找到相应的传输路径时,对发布者发送的消息进行语义识别,用以匹配与该消息最相近的实际主题,从而建立全新的数据传输路径,以保证消息的正常准确地发布。进一步地让发布者可以完全根据自身需要去发送消息。消息中间件都能够让消息得到正确的传输。
进一步的,为了方便发布者对消息传输路径的控制,因此,本发明一实施例为发布者提供了控制消息,用以修改和删除消息中间件内已存储的原有路由规则或添加新的路由规则。控制消息可以包括:Forward转发指令、Copy复制指令、Subscription订阅指令、Proxy代理指令。Forward指令用于控制路由规则从一个主题完全迁移到同一消息中间件内的另外一个主题,原主题不再获取任何消息。Copy指令用于在保证除了原有获取消息的主题仍获取消息以外,还将作为消息来源的主题与指令指定的其它多个主题建立路由规则。
Subscription指令用于建立实际主题与订阅者对应的虚拟主题之间的路由规则。Proxy指令用于将路由规则从一个主题完全迁移到另外一个不同的消息中间件内中的一个主题,原主题不再获取任何消息。
基于此,在执行步骤102之前,如图5所示,还包括:
111、判断获取的所述消息是否为控制消息。若确定获取的所述消息不是控制消息,则执行步骤102。否则执行步骤112。
112、根据所述控制消息,对已存储的虚拟主题与实际主题之间的路由规则进行修改。
其中,所述控制消息至少包括前述的Forward转发指令、Copy复制指令、Subscription订阅指令、Proxy代理指令四种指令。
113、存储修改后的虚拟主题与实际主题之间的路由规则。
本发明实施例进一步提供的消息发布的方法,可以为订阅者提供对消息中间件的动态控制功能,进一步保证了消息的准确传输。
为了减少消息中间件内消息传输的流量,节省传输资源。消息中间件内部可不传输发布者发送的具体消息,而是为每份具体消息生成一个标识信息,并传输该标识信息,具体参见图6所示的方法流程,包括:
S101、获取发布者已发送至与所述发布至对应的虚拟主题的消息。
S102、生成与所述消息对应的标识信息。
S103、根据已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径。
S104、当查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述标识信息。
S105、当与所述消息对应的标识信息传输至每一条传输路径的终点时,获取与所述标识信息对应的消息。
S106、将所述消息发送至传输路径的终点对应的订阅者。
对应于如图3至图6所示的消息发布的方法流程,本发明实施例提供了相应的消息订阅方法,如图7所示,包括:
201、获取订阅者已发送至所述订阅者对应的虚拟主题的消息。
其中,所述订阅者发送的消息包括控制消息和模糊消息。控制消息是在订阅者明确知道自己想要订阅哪一个或哪些主题时向消息中间件发送的消息,而模糊消息是订阅者并不清楚自己想要订阅的内容属于哪一个或哪些主题时发送的一段文字等消息。
202、根据获取的所述消息,创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则,所述目的实际主题为所述订阅者当前订阅的实际主题。
其中,此处描述路由规则的生成与维护与前述描述的内容基本类似。
值得说明的是,针对201获取到的消息类型步骤,步骤202的具体实现方式也不同,具体包括以下两种:
如图8所示的实现方式一,包括:
A2021、当获取的所述消息为控制消息时,根据所述控制消息获取所述目的实际主题。
其中,控制消息与步骤111中描述的控制消息是同一个指令类型的不同功能。
A2022、创建所述订阅者对应的虚拟主题与根据所述控制消息获取到的目的实际主题之间的路由规则。
如图9所示的实现方式二,包括:
B2021、当获取的所述消息不为控制消息时,对获取的所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题。若在已存储的实际主题中查找到与所述语义解析结果匹配的实际主题,则执行步骤B2022。否则执行步骤B2023。
B2022、创建所述订阅者对应的虚拟主题与查找到的与所述语义解析结果匹配的实际主题之间的路由规则。
B2023、创建新的实际主题,并创建所述订阅者对应的虚拟主题与所述新的实际主题之间的路由规则。
本发明实施例提供的消息订阅方法,订阅者只需要建立所述订阅者对应的虚拟主题与目的实际主题之间的路由规则即可,在后续实际主题发生变化时,只需要消息中间件进行路由规则变更即可,订阅者仍然可以从对应的虚拟主题继续接收消息,而不用做出任何改变。与现有技术中当实际主题发生变化时,订阅者必须要更改传输路径才能将正确接收到想要的消息的技术方案相比,消息传输效率更高,传输路径的灵活性更强。
并且,订阅者可以根据自身需要通过控制消息或模糊消息来进行订阅,增加了订阅者的灵活性。
基于如图2所示的信息中间件,本发明实施例提供了一种消息发布的方法,如图10所示,包括:
301、获取发布者已发送的消息。
302、对获取到的消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题。
303、若查找到与所述语义解析结果匹配的实际主题,则在已存储的订阅对应关系中查找与所述实际主题对应的订阅者。
其中,基于语义解析结果的匹配方法可参照步骤105的有关描述。
304、若查找到所述实际主题对应的订阅者,则将所述获取到的消息发送至所有查找到的订阅者。
另外,如图11所示,在若执行步骤302后,未查找到与所述语义解析结果匹配的实际主题,则执行305、创建新的实际主题,并存储新创建的实际主题。
本发明实施例提供了一种消息发布的方法,可以在互联网中使用,特别是移动互联网某些领域,发布者或订阅者可能不会关心具体的主题什么,是否存在的场景下。该方法可以直接根据发布者发送的消息进行语义识别,来推断发布者可能想要发布的主题,使得发布者根据自己需要发布消息,进而加强了消息传输的效率和灵活性。
对应于如图10至图11所示的消息发布的方法流程,本发明实施例提供了相应的消息订阅方法,如图12所示,包括:
401、获取订阅者已发送的消息。
402、对获取的所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题。
403、若在已存储的实际主题中查找到与所述语义解析结果匹配的实际主题,则创建查找到的实际主题与所述订阅者的订阅对应关系。
另外,如图13所示,在若执行步骤402后,未查找到与所述语义解析结果匹配的实际主题,则执行404、创建新的实际主题,并创建新创建的实际主题与所述订阅者的订阅对应关系。
本发明实施例提供了一种消息订阅的方法,可以在互联网中使用,特别是移动互联网某些领域,发布者或订阅者可能不会关心具体的主题什么,是否存在的场景下。该方法可以直接根据订阅者发送的消息进行语义识别,来推断订阅者可能想要订阅的主题,使得订阅者根据自己需要来订阅消息。不需要知道具体的主题是什么,进而加强了消息传输的效率和灵活性。
进一步值得说明的是,如图2所示的装置结构包含有实际主题,其设置目的在于将多种消息进行整合归类到同一主题下。而在一些特殊的应用场景中,例如微博,微信等场景,并不存在明确的发布者和订阅者的划分,每个用户端都可以是消息的发布者和获取者,并且消息发送的数量巨大很难进行分类,因此在这种场景下,不需要对消息进行整合分类,即如图2所示的装置结构可以设置一个匹配模块来替代原有的实际主题,将将用户端发送到消息中间件内的不同消息进行语义匹配,将成功匹配的多个用户端的消息互相进行传输即可。
本发明提供了一种消息发布的装置,可用于实现如图3至图6所示的消息发布的方法流程,如图14所示,包括:
信息处理模块51,用于获取发布者已发送至与所述发布者对应的虚拟主题的消息。
主题模块52,用于根据已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径;其中,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发;所述实际主题用于发布者和订阅者之间的消息转发。
传输模块53,用于当所述主题模块52查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息;当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。其中,所述标识信息用于使所述订阅者对应的虚拟主题能够根据所述标识信息获取所述消息。
可选的是,如图14所示,该装置还包括:
语义识别模块54,用于所述主题模块52未查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,对所述消息进行语义解析,得到语义解析结果,并根据所述语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题。
路由规则生成模块55,用于若所述语义识别模块54查找到与所述语义解析结果匹配的实际主题,则生成并存储所述发布者对应的虚拟主题与查找到的实际主题之间的路由规则。
可选的是,所述主题模块52,用于根据当前所述路由规则生成模块55已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径。
所述传输模块53,还用于当所述主题模块52查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息;当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。
可选的是,所述主题模块52,还用于在未查找到与所述语义解析结果匹配的实际主题时,创建新的实际主题。
所述路由规则生成模块55,还用于存储所述发布者对应的虚拟主题与新创建的实际主题之间的路由规则。
可选的是,所述信息处理模块51,还用于判断获取的所述消息是否为控制消息,所述控制消息用于更新已存储的虚拟主题与实际主题之间的路由规则。
所述主题模块52,用于在所述信息处理模块51确定获取的所述消息不是控制消息,则根据当前已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径。
所述路由规则生成模块55,还用于在所述信息处理模块52确定获取的所述消息是控制消息,则根据所述控制消息,对已存储的虚拟主题与实际主题之间的路由规则进行修改;存储修改后的虚拟主题与实际主题之间的路由规则。
可选的是,所述信息处理模块51还用于生成与所述消息对应的标识信息。
所述传输模块53,还用于当所述与所述消息对应的标识信息传输至每一条传输路径的终点时,获取与所述标识信息对应的消息,并将与所述标识信息对应的消息发送至传输路径的终点所对应的订阅者。
本发明实施例一种消息发布的装置,可用于实现如图9-10所示的消息发布的方法流程,如图15所示,包括:
获取模块61,用于获取发布者已发送的消息。
语义识别模块62,用于对获取到的消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题。
主题模块63,用于在查找到与所述语义解析结果匹配的实际主题时,在已存储的订阅对应关系中,查找与所述实际主题对应的订阅者。
传输模块64,用于在查找到所述实际主题对应的订阅者时,将所述获取到的消息发送至所有查找到的订阅者。
可选的是,所述主题模块63,还用于在未查找到与所述语义解析结果匹配的实际主题时,创建新的实际主题,并存储新创建的实际主题。
本发明实施例提供了一种消息订阅的装置,可用于实现如图6-8所示的消息订阅的方法流程,如图16所示,包括:
获取模块71,用于获取订阅者已发送至所述订阅者对应的虚拟主题的消息。
创建模块72,用于根据获取的所述消息,创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则,所述目的实际主题为所述订阅者当前订阅的实际主题;其中,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发;所述目的实际主题用于订阅者对应的虚拟主题之间的消息转发。
可选的是,如图17所示,所述创建模块72包括:
第一主题子模块721,用于当获取的所述消息为控制消息时,根据所述控制消息获取所述目的实际主题,所述控制消息用于更新虚拟主题与所述订阅者选择的实际主题之间的路由规则;以及用于更新所述订阅者对应的虚拟主题与根据所述控制消息获取到的目的实际主题之间的路由规则。
可选的是,如图18所示,所述创建模块72包括:
语义识别子模块722,用于当获取的所述消息不为控制消息时,对获取的所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题。
第二主题子模块723,用于在在已存储的实际主题中查找到与所述语义解析结果匹配的实际主题时,将查找到的实际主题作为目的实际主题,并创建所述订阅者对应的虚拟主题与查找到的与所述语义解析结果匹配的实际主题之间的路由规则。
可选的是,所述第二主题子模块723,还用于在在已存储的实际主题中未查找到与所述语义解析结果匹配的实际主题时,创建新的实际主题,并创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则。
本发明实施例还提供了一种消息订阅的装置,可用于实现如图11-12所示的消息订阅的方法流程,如图19所示,包括:
获取模块81,用于获取订阅者已发送的消息。
语义识别模块82,用于对获取的所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题。
主题模块83,用于在在已存储的实际主题中查找到与所述语义解析结果匹配的实际主题时,创建查找到的实际主题与所述订阅者的订阅对应关系。
可选的是,所述主题模块83还用于在在已存储的实际主题中未查找到与所述语义解析结果匹配的实际主题时,创建新的实际主题,并创建新创建的实际主题与所述订阅者的订阅对应关系。
本发明实施例提供的消息发布与订阅的装置,通过为发布者以及订阅者在消息中间件中设置相应的虚拟主题,或者通过对发布者以及订阅者向消息中间件进行语义识别,以保证发布者以及订阅者不需要获知实际主题的具体结构的情况下,仍然保证消息被正确地传输。相比于现有技术中,当消息中间件中的主题发生变化时,发布者以及订阅者必须要获知的变更结果并主动修改路由规则才能完成数据传输的技术方案来讲,本发明实施例提供的技术方案消息传输效率更高,灵活性更强。
本发明实施例提供了一种消息中间件,如图20所示,包括至少一个处理器91、存储器92以及输入输出电路93。所述存储器92被配置有程序代码,所述处理器91用于调用存储器92内的程序代码用以实现如图3至图8所示的消息发布与订阅的方法流程。所述存储器92和处理器91之间通过总线通信。
其中,所述输入输出电路93用于获取发布者已发送至与所述发布者对应的虚拟主题的消息;以及当查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息;以及当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。其中,所述标识信息用于使所述订阅者对应的虚拟主题能够根据所述标识信息获取所述消息。
处理器91用于根据已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径;其中,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发;所述实际主题用于发布者和订阅者之间的消息转发。
所述存储器92用于存储虚拟主题与实际主题之间的路由规则。
所述处理器91还用于当未查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,则对所述消息进行语义解析,得到语义解析结果,并根据所述语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;若查找到与所述语义解析结果匹配的实际主题,则生成并存储所述发布者对应的虚拟主题与查找到的实际主题之间的路由规则。
所述处理器91还用于根据当前已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径。
所述输入输出电路93还用于当查找到以所述发布者对应的虚拟主题为起点,并且以订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息;当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。
所述处理器91还用于若未查找到与所述语义解析结果匹配的实际主题,则创建新的实际主题,并生成并存储所述发布者对应的虚拟主题与新创建的实际主题之间的路由规则。
所述处理器91还用于判断获取的所述消息是否为控制消息,所述控制消息用于更新已存储的虚拟主题与实际主题之间的路由规则;若获取的所述消息不是控制消息,则执行根据当前已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径的步骤;若确定获取的所述消息是控制消息,则根据所述控制消息,对已存储的虚拟主题与实际主题之间的路由规则进行修改。
所述存储器92还用于存储修改后的虚拟主题与实际主题之间的路由规则。
所述处理器91还用于生成与所述消息对应的标识信息;根据查找到的所有传输路径,传输与所述消息对应的标识信息;当所述与所述消息对应的标识信息传输至每一条传输路径的终点时,获取与所述标识信息对应的消息,并将与所述标识信息对应的消息发送至传输路径的终点所对应的订阅者。
所述输入输出电路93还用于获取订阅者已发送至所述订阅者对应的虚拟主题的消息。
所述处理器91还用于根据获取的所述消息,创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则,所述目的实际主题为所述订阅者当前订阅的实际主题;其中,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发;所述目的实际主题用于订阅者对应的虚拟主题之间的消息转发。
所述处理器91还用于当获取的所述消息为控制消息时,根据所述控制消息获取目的实际主题,所述控制消息用于更新虚拟主题与所述订阅者选择的实际主题之间的路由规则;创建所述订阅者对应的虚拟主题与根据所述控制消息获取到的目的实际主题之间的路由规则。
所述处理器91还用于当获取的所述消息不为控制消息时,对获取的所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;若在已存储的实际主题中查找到与所述语义解析结果匹配的实际主题,则创建所述订阅者对应的虚拟主题与查找到的与所述语义解析结果匹配的实际主题之间的路由规则。
所述处理器91还用于若在已存储的实际主题中未查找到与所述语义解析结果匹配的实际主题,则创建新的实际主题,并创建所述订阅者对应的虚拟主题与所述新的实际主题之间的路由规则。
本发明实施例还提供了一种消息中间件,如图21所示,包括至少一个处理器1001、存储器1002、输入输出电路1003。所述存储器1002被配置有程序代码,所述处理器1001用于调用存储器1002内的程序代码用以实现如图9至图12所示的消息发布与订阅的方法流程。所述存储器1002和处理器1001之间通过总线通信。
所述处理器1001用于获取发布者已发送的消息;对获取到的消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;若查找到与所述语义解析结果匹配的实际主题,则在已存储的订阅对应关系中,查找与所述实际主题对应的订阅者;若查找到所述实际主题对应的订阅者,则将所述获取到的消息发送至所有查找到的订阅者。
所述处理器1001还用于若未查找到与所述语义解析结果匹配的实际主题,则创建新的实际主题,并存储新创建的实际主题。
所述处理器1001还用于获取订阅者已发送的消息;对获取的所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;若在已存储的实际主题中查找到与所述语义解析结果匹配的实际主题,则创建查找到的实际主题与所述订阅者的订阅对应关系。
所述处理器1001还用于若在已存储的实际主题中未查找到与所述语义解析结果匹配的实际主题,则创建新的实际主题,并创建新创建的实际主题与所述订阅者的订阅对应关系。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (24)
1.一种消息发布的方法,其特征在于,包括:
获取发布者已发送至与所述发布者对应的虚拟主题的消息;
根据已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的所有传输路径;其中,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发;所述实际主题用于发布者和订阅者之间的消息转发;
当查找到以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息;
当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点后,将所述消息发送至该传输路径的终点所对应的订阅者。
2.根据权利要求1所述的方法,其特征在于,还包括:
当未查找到以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径时,则对所述消息进行语义解析,得到语义解析结果,并根据所述语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
若查找到与所述语义解析结果匹配的实际主题,则生成并存储所述发布者对应的虚拟主题与查找到的实际主题之间的路由规则。
3.根据权利要求2所述的方法,其特征在于,在所述生成并存储所述发布者对应的虚拟主题与查找到的实际主题之间的路由规则之后,还包括:
根据当前已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径;
当查找到以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息;
当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
若未查找到与所述语义解析结果匹配的实际主题,则创建新的实际主题,并生成并存储所述发布者对应的虚拟主题与新创建的实际主题之间的路由规则。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取所述发布者发送的控制消息,所述控制消息用于更新已存储的虚拟主题与实际主题之间的路由规则;
根据所述控制消息,对当前已存储的虚拟主题与实际主题之间的路由规则进行修改,并存储修改后的路由规则。
6.根据权利要求1至5任意一项所述的方法,其特征在于,在查找到的传输路径上,传输与所述消息对应的标识信息之前,还包括:
生成与所述消息对应的标识信息;
相应地,所述当所述与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者,包括:
当与所述消息对应的标识信息传输至每一条传输路径的终点时,获取与所述标识信息对应的消息,并将与所述标识信息对应的消息发送至该传输路径的终点所对应的订阅者。
7.一种消息发布的方法,其特征在于,包括:
获取发布者已发送的消息;
对获取到的消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
若查找到与所述语义解析结果匹配的实际主题,则在已存储的订阅关系表中,查找与所述实际主题对应的订阅者;
若查找到所述实际主题对应的订阅者,则将所述获取到的消息发送至查找到的所有订阅者。
8.根据权利要求7所述的方法,其特征在于,还包括:
若未查找到与所述语义解析结果匹配的实际主题,则创建新的实际主题,并存储创建的所述实际主题。
9.一种消息订阅的方法,其特征在于,包括:
获取订阅者已发送至所述订阅者对应的虚拟主题的消息;
根据获取的所述消息,创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则,所述目的实际主题为所述订阅者当前订阅的实际主题;其中,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发。
10.根据权利要求9所述的方法,其特征在于,所述根据获取的所述消息,创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则,包括:
当获取的所述消息为控制消息时,根据所述控制消息确定所述订阅者订阅的实际主题,并将所述订阅者订阅的实际主题作为目的实际主题,所述控制消息包含所述订阅者订阅的实际主题的消息;
创建所述订阅者对应的虚拟主题与所述目的实际主题之间的路由规则。
11.根据权利要求10所述的方法,其特征在于,还包括:
当获取的所述消息不为控制消息时,对所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
若在已存储的实际主题中查找到与所述语义解析结果匹配的实际主题,则创建所述订阅者对应的虚拟主题与查找到的与所述语义解析结果匹配的实际主题之间的路由规则。
12.根据权利要求11所述的方法,其特征在于,还包括:
若在已存储的实际主题中未查找到与所述语义解析结果匹配的实际主题,则创建新的实际主题,并创建所述订阅者对应的虚拟主题与所述新的实际主题之间的路由规则。
13.一种消息发布的装置,其特征在于,包括:
信息处理模块,用于获取发布者已发送至与所述发布者对应的虚拟主题的消息;
主题模块,用于根据已存储的虚拟主题与所述消息发布的装置包含的各个实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的所有传输路径;其中,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发;所述实际主题用于发布者和订阅者之间的消息转发;
传输模块,用于当所述主题模块查找到以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上,传输所述消息或与所述消息对应的标识信息;当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。
14.根据权利要求13所述的装置,其特征在于,还包括:
语义识别模块,用于当所述主题模块未查找到以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径时,对所述消息进行语义解析,得到语义解析结果,并根据所述语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
路由规则生成模块,用于若所述语义识别模块查找到与所述语义解析结果匹配的实际主题,则生成并存储所述发布者对应的虚拟主题与查找到的所述实际主题之间的路由规则。
15.根据权利要求14所述的装置,其特征在于,所述主题模块,具体用于根据当前已存储的虚拟主题与实际主题之间的路由规则,查找以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径;
所述传输模块,具体用于当所述主题模块查找到以所述发布者对应的虚拟主题为起点,并且以任意一个订阅者对应的虚拟主题为终点的传输路径时,在查找到的传输路径上或与所述消息对应的标识信息;当所述消息或与所述消息对应的标识信息传输至每一条传输路径的终点时,将所述消息发送至该传输路径的终点所对应的订阅者。
16.根据权利要求14或15所述的装置,其特征在于,所述主题模块,还用于在未查找到与所述语义解析结果匹配的实际主题时,创建新的实际主题;
所述路由规则生成模块,还用于存储所述发布者对应的虚拟主题与新创建的实际主题之间的路由规则。
17.根据权利要求13所述的装置,其特征在于,所述信息处理模块,还用于获取发布者发送的控制消息,所述控制消息用于更新已存储的虚拟主题与实际主题之间的路由规则;
所述路由规则生成模块,还用于根据所述控制消息,对当前已存储的虚拟主题与实际主题之间的路由规则进行修改,并存储修改后的路由规则。
18.根据权利要求13至17任意一项所述的装置,其特征在于,所述信息处理模块还用于,在获取发布者发送至与所述发布者对应的虚拟主题的消息之后,生成与所述消息对应的标识信息;
所述传输模块,具体用于当所述与所述消息对应的标识信息传输至每一条传输路径的终点时,获取与所述标识信息对应的消息,并将与所述标识信息对应的消息发送至传输路径的终点所对应的订阅者。
19.一种消息发布的装置,其特征在于,包括:
获取模块,用于获取发布者发送的消息;
语义识别模块,用于对获取到的消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题;
主题模块,用于在查找到与所述语义解析结果匹配的实际主题时,在已存储的订阅关系表中,查找与所述实际主题对应的订阅者;
传输模块,用于在查找到所述实际主题对应的订阅者时,将所述获取到的消息发送至查找到的所有订阅者。
20.根据权利要求19所述的装置,其特征在于,所述主题模块,还用于在未查找到与所述语义解析结果匹配的实际主题时,创建新的实际主题,并存储创建的所述实际主题。
21.一种消息订阅的装置,其特征在于,包括:
获取模块,用于获取订阅者已发送至所述订阅者对应的虚拟主题的消息;
创建模块,用于根据获取到的订阅者发送的消息,创建所述订阅者对应的虚拟主题与目的实际主题之间的路由规则,所述目的实际主题为所述订阅者当前订阅的实际主题;其中,所述虚拟主题用于实际主题和发布者之间的消息转发或者实际主题和订阅者之间的消息转发。
22.根据权利要求21所述的装置,其特征在于,所述创建模块包括:
第一主题子模块,用于当获取到的所述消息为控制消息时,根据所述控制消息确定所述订阅者订阅的实际主题,并将所述订阅者订阅的实际主题作为所述目的实际主题,所述控制消息包含所述订阅者订阅的实际主题的消息;
路由规则模块,用于更新所述订阅者对应的虚拟主题与所述目的实际主题之间的路由规则。
23.根据权利要求22所述的装置,其特征在于,所述第一主题子模块,还用于当获取的所述消息不为控制消息时,对获取的所述消息进行语义解析,并根据语义解析结果,在已存储的实际主题中查找与所述语义解析结果匹配的实际主题,并在查找到与所述语义解析结果匹配的实际主题时,将查找到的实际主题作为目的实际主题。
24.根据权利要求23所述的装置,其特征在于,所述创建模块,还用于当所述第一主题子模块在已存储的实际主题中未查找到与所述语义解析结果匹配的实际主题时,创建新的实际主题作为目的实际主题,并创建所述订阅者对应的虚拟主题与所述新的实际主题之间的路由规则。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/076631 WO2014194452A1 (zh) | 2013-06-03 | 2013-06-03 | 消息发布与订阅的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103534988A true CN103534988A (zh) | 2014-01-22 |
CN103534988B CN103534988B (zh) | 2017-04-12 |
Family
ID=49935412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380000499.XA Active CN103534988B (zh) | 2013-06-03 | 2013-06-03 | 消息发布与订阅的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9110884B2 (zh) |
EP (1) | EP2835938B1 (zh) |
CN (1) | CN103534988B (zh) |
WO (1) | WO2014194452A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243611A (zh) * | 2014-09-30 | 2014-12-24 | 浪潮软件股份有限公司 | 一种基于分发思想的消息服务中间件*** |
WO2016112861A1 (en) * | 2015-01-16 | 2016-07-21 | Huawei Technologies Co., Ltd. | System for high-throughput handling of transactions in data-partitioned, distributed, relational database management system |
WO2017128713A1 (zh) * | 2016-01-29 | 2017-08-03 | 中兴通讯股份有限公司 | 订阅消息的发布方法及装置 |
CN107465735A (zh) * | 2017-07-31 | 2017-12-12 | 杭州多麦电子商务股份有限公司 | 分布式消息*** |
CN109933439A (zh) * | 2019-02-21 | 2019-06-25 | 深圳市珍爱捷云信息技术有限公司 | 消息传输方法、装置、计算机设备和存储介质 |
CN110365587A (zh) * | 2018-03-26 | 2019-10-22 | 阿里巴巴集团控股有限公司 | 设备间通信方法、装置、设备和存储介质 |
CN110875935A (zh) * | 2018-08-30 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 消息发布、处理、订阅方法、装置及*** |
CN112134938A (zh) * | 2020-09-09 | 2020-12-25 | 重庆易宠科技有限公司 | 一种消息处理方法、装置、终端及计算机可读存储介质 |
CN114124454A (zh) * | 2021-10-21 | 2022-03-01 | 深圳致星科技有限公司 | 消息发送方法、***、电子设备、可读存储介质及产品 |
CN114449031A (zh) * | 2021-12-03 | 2022-05-06 | 北京百度网讯科技有限公司 | 信息获取方法、装置、设备和存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10225219B2 (en) * | 2016-02-22 | 2019-03-05 | International Business Machines Corporation | Message delivery in a message system |
CN108319599B (zh) * | 2017-01-17 | 2021-02-26 | 华为技术有限公司 | 一种人机对话的方法和装置 |
CN110278231A (zh) * | 2018-03-16 | 2019-09-24 | 中移(苏州)软件技术有限公司 | 一种数据订阅分发方法及*** |
US11201937B2 (en) | 2018-11-22 | 2021-12-14 | Jeffrey Alan Carley | Message broker customization with user administered policy functions |
CN109684450B (zh) * | 2018-12-20 | 2023-07-14 | 中国科学院沈阳自动化研究所 | 一种基于语义化标识的工业网络数据分发服务***及方法 |
CN111669427B (zh) * | 2020-04-20 | 2022-06-07 | 北京邮电大学 | 一种软件定义网络发布订阅***和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1631016A (zh) * | 2000-04-13 | 2005-06-22 | 英特尔公司 | 用于基于内容交换的网络设备 |
CN101151604A (zh) * | 2005-01-06 | 2008-03-26 | 特维拉有限公司 | 消息发布/订购***中的设置和管理 |
CN101960825A (zh) * | 2008-03-05 | 2011-01-26 | 国际商业机器公司 | 发布/订阅消息中介 |
US20110125921A1 (en) * | 2009-11-24 | 2011-05-26 | Kyriakos Karenos | System and method for providing quality of service in wide area messaging fabric |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2354913B (en) * | 1999-09-28 | 2003-10-08 | Ibm | Publish/subscribe data processing with publication points for customised message processing |
US7853643B1 (en) * | 2001-11-21 | 2010-12-14 | Blue Titan Software, Inc. | Web services-based computing resource lifecycle management |
US7406537B2 (en) * | 2002-11-26 | 2008-07-29 | Progress Software Corporation | Dynamic subscription and message routing on a topic between publishing nodes and subscribing nodes |
US20030135556A1 (en) * | 2001-12-14 | 2003-07-17 | International Business Machines Corporation | Selection of communication strategies for message brokers or publish/subscribe communications |
US8122118B2 (en) * | 2001-12-14 | 2012-02-21 | International Business Machines Corporation | Selection of communication protocol for message transfer based on quality of service requirements |
US8606859B2 (en) * | 2002-10-17 | 2013-12-10 | Tibco Software Inc. | Method and system to communicate messages in a computer network |
US7376832B2 (en) * | 2003-04-21 | 2008-05-20 | International Business Machines Corporation | Distributed method, system and computer program product for establishing security in a publish/subscribe data processing broker network |
US20050021836A1 (en) * | 2003-05-01 | 2005-01-27 | Reed Carl J. | System and method for message processing and routing |
GB0311260D0 (en) * | 2003-05-16 | 2003-06-18 | Ibm | Publish/subscribe messaging system |
US7831693B2 (en) * | 2003-08-18 | 2010-11-09 | Oracle America, Inc. | Structured methodology and design patterns for web services |
US20050086469A1 (en) * | 2003-10-17 | 2005-04-21 | Microsoft Corporation | Scalable, fault tolerant notification method |
US7267275B2 (en) * | 2003-11-04 | 2007-09-11 | Captech Ventures, Inc. | System and method for RFID system integration |
US7685265B1 (en) * | 2003-11-20 | 2010-03-23 | Microsoft Corporation | Topic-based notification service |
US8983966B2 (en) * | 2004-02-27 | 2015-03-17 | Ebay Inc. | Method and system to monitor a diverse heterogeneous application environment |
GB0419231D0 (en) * | 2004-08-28 | 2004-09-29 | Ibm | Methods, apparatus and computer programs for control of publish/subscribe messaging |
US7530077B2 (en) * | 2004-10-07 | 2009-05-05 | International Business Machines Corporation | Dynamic update of changing data in user application via mapping to broker topic |
US7822801B2 (en) * | 2004-10-14 | 2010-10-26 | International Business Machines Corporation | Subscription propagation in a high performance highly available content-based publish/subscribe system |
EP1851646A2 (en) | 2005-01-06 | 2007-11-07 | Tervela Inc. | Intelligent messaging application programming interface |
JP2008527848A (ja) * | 2005-01-06 | 2008-07-24 | テーベラ・インコーポレーテッド | ハードウェア・ベースのメッセージング・アプライアンス |
US8306831B2 (en) | 2005-01-10 | 2012-11-06 | International Business Machines Corporation | Systems with message integration for data exchange, collection, monitoring and/or alerting |
US7706895B2 (en) * | 2005-02-25 | 2010-04-27 | Rockwell Automation Technologies, Inc. | Reliable messaging instruction |
GB0613178D0 (en) * | 2006-07-01 | 2006-08-09 | Ibm | An apparatus for deferred handling of a message |
CN101222449A (zh) * | 2007-01-10 | 2008-07-16 | 国际商业机器公司 | 发布/订阅***和方法 |
US20090089408A1 (en) * | 2007-09-28 | 2009-04-02 | Alcatel Lucent | XML Router and method of XML Router Network Overlay Topology Creation |
US8229736B2 (en) * | 2008-04-16 | 2012-07-24 | International Business Machines Corporation | Transforming a natural language request for modifying a set of subscriptions for a publish/subscribe topic string |
TWI372549B (en) * | 2008-09-15 | 2012-09-11 | Inst Information Industry | Message processing apparatus and processing method thereof |
JPWO2010090027A1 (ja) * | 2009-02-05 | 2012-08-09 | 日本電気株式会社 | 分散型イベント配信システムにおけるブローカノードおよびイベントトピック制御方法 |
US8423619B2 (en) * | 2009-03-20 | 2013-04-16 | International Business Machines Corporation | Message brokering in a consuming broker device |
KR20110065917A (ko) * | 2009-12-10 | 2011-06-16 | 삼성전자주식회사 | 분산컴퓨팅 통신망에서 분산된 모듈 간의 통신을 지원하는 통신시스템 및 그 시스템을 이용한 통신방법 |
CN102859541A (zh) | 2010-04-19 | 2013-01-02 | 国际商业机器公司 | 在发布/订阅通讯中控制消息传递 |
WO2011140562A2 (en) * | 2010-05-07 | 2011-11-10 | Topia Technology | Tcp/ip on-time system |
US8874667B2 (en) * | 2010-05-18 | 2014-10-28 | International Business Machines Corporation | Linking topics in a publish/subscribe messaging environment |
US10002202B2 (en) * | 2010-05-28 | 2018-06-19 | Microsoft Technology Licensing, Llc | Realtime websites with publication and subscription |
US20120030572A1 (en) * | 2010-08-02 | 2012-02-02 | International Business Machines Corporation | Network visualization system |
US8738704B2 (en) * | 2010-09-07 | 2014-05-27 | Xerox Corporation | Publish/subscribe broker messaging system and method |
US8467389B2 (en) * | 2011-02-16 | 2013-06-18 | Solace Systems, Inc. | Subscription Management and Routing Protocol (SMRP) and Method |
US8756288B2 (en) * | 2011-03-11 | 2014-06-17 | International Business Machines Corporation | Publish/subscribe message routing |
US8799469B2 (en) | 2011-03-11 | 2014-08-05 | International Business Machines Corporation | Subscriber message payload handling |
US9313159B2 (en) * | 2011-03-24 | 2016-04-12 | Red Hat, Inc. | Routing messages exclusively to eligible consumers in a dynamic routing network |
US8935330B2 (en) * | 2011-05-11 | 2015-01-13 | International Business Machines Corporation | Redirecting messages in a publish/subscribe messaging system |
US9094803B2 (en) * | 2012-06-13 | 2015-07-28 | All Purpose Networks LLC | Wireless network based sensor data collection, processing, storage, and distribution |
US9125123B2 (en) * | 2012-06-13 | 2015-09-01 | All Purpose Networks LLC | Efficient delivery of real-time asynchronous services over a wireless network |
US9046982B2 (en) * | 2012-07-03 | 2015-06-02 | International Business Machines Corporation | Representing a graphical user interface using a topic tree structure |
GB2504673A (en) * | 2012-08-03 | 2014-02-12 | Ibm | Publish and subscribe messaging system wherein transmission from broker to subscribers is phased over time |
KR101811966B1 (ko) * | 2013-07-02 | 2017-12-22 | 콘비다 와이어리스, 엘엘씨 | 시멘틱 공표 및 탐색을 위한 메커니즘 |
-
2013
- 2013-06-03 WO PCT/CN2013/076631 patent/WO2014194452A1/zh active Application Filing
- 2013-06-03 CN CN201380000499.XA patent/CN103534988B/zh active Active
- 2013-06-03 EP EP13876082.2A patent/EP2835938B1/en active Active
-
2014
- 2014-09-18 US US14/489,743 patent/US9110884B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1631016A (zh) * | 2000-04-13 | 2005-06-22 | 英特尔公司 | 用于基于内容交换的网络设备 |
CN101151604A (zh) * | 2005-01-06 | 2008-03-26 | 特维拉有限公司 | 消息发布/订购***中的设置和管理 |
CN101960825A (zh) * | 2008-03-05 | 2011-01-26 | 国际商业机器公司 | 发布/订阅消息中介 |
US20110125921A1 (en) * | 2009-11-24 | 2011-05-26 | Kyriakos Karenos | System and method for providing quality of service in wide area messaging fabric |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243611A (zh) * | 2014-09-30 | 2014-12-24 | 浪潮软件股份有限公司 | 一种基于分发思想的消息服务中间件*** |
CN104243611B (zh) * | 2014-09-30 | 2017-07-07 | 浪潮软件股份有限公司 | 一种基于分发思想的消息服务中间件*** |
WO2016112861A1 (en) * | 2015-01-16 | 2016-07-21 | Huawei Technologies Co., Ltd. | System for high-throughput handling of transactions in data-partitioned, distributed, relational database management system |
WO2017128713A1 (zh) * | 2016-01-29 | 2017-08-03 | 中兴通讯股份有限公司 | 订阅消息的发布方法及装置 |
CN107465735A (zh) * | 2017-07-31 | 2017-12-12 | 杭州多麦电子商务股份有限公司 | 分布式消息*** |
CN107465735B (zh) * | 2017-07-31 | 2020-08-14 | 杭州多麦电子商务股份有限公司 | 分布式消息*** |
CN110365587A (zh) * | 2018-03-26 | 2019-10-22 | 阿里巴巴集团控股有限公司 | 设备间通信方法、装置、设备和存储介质 |
CN110875935A (zh) * | 2018-08-30 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 消息发布、处理、订阅方法、装置及*** |
CN109933439A (zh) * | 2019-02-21 | 2019-06-25 | 深圳市珍爱捷云信息技术有限公司 | 消息传输方法、装置、计算机设备和存储介质 |
CN109933439B (zh) * | 2019-02-21 | 2024-06-11 | 深圳市珍爱捷云信息技术有限公司 | 消息传输方法、装置、计算机设备和存储介质 |
CN112134938A (zh) * | 2020-09-09 | 2020-12-25 | 重庆易宠科技有限公司 | 一种消息处理方法、装置、终端及计算机可读存储介质 |
CN112134938B (zh) * | 2020-09-09 | 2022-08-26 | 重庆易宠科技有限公司 | 一种消息处理方法、装置、终端及计算机可读存储介质 |
CN114124454A (zh) * | 2021-10-21 | 2022-03-01 | 深圳致星科技有限公司 | 消息发送方法、***、电子设备、可读存储介质及产品 |
CN114449031A (zh) * | 2021-12-03 | 2022-05-06 | 北京百度网讯科技有限公司 | 信息获取方法、装置、设备和存储介质 |
CN114449031B (zh) * | 2021-12-03 | 2023-11-21 | 北京百度网讯科技有限公司 | 信息获取方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2014194452A1 (zh) | 2014-12-11 |
EP2835938A4 (en) | 2015-04-01 |
EP2835938A1 (en) | 2015-02-11 |
WO2014194452A9 (zh) | 2015-09-11 |
EP2835938B1 (en) | 2018-11-07 |
US20150006555A1 (en) | 2015-01-01 |
US9110884B2 (en) | 2015-08-18 |
CN103534988B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103534988A (zh) | 消息发布与订阅的方法及装置 | |
KR101541620B1 (ko) | 분산 시스템에서 지속적 개인 메시징 | |
JP4003763B2 (ja) | 情報ルーティング方法およびシステム | |
US10455090B2 (en) | Intermediary device for data message network routing and enhancement in a contact center environment | |
US10764233B1 (en) | Centralized communication platform with email which organizes communication as a plurality of information streams and which generates a second message based on and a first message and formatting rules associated with a communication setting | |
CN105897888B (zh) | 一种客户端连接方法及*** | |
US8903972B2 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN107665237B (zh) | 数据结构分类装置、非结构化数据的发布订阅***及方法 | |
CN112868004A (zh) | 资源推荐方法、装置、电子设备及存储介质 | |
CN104468363A (zh) | 页面重定向方法、路由设备、终端设备及*** | |
CN113256095B (zh) | 可拖拽配置的敏捷流程服务构建方法、***、设备及介质 | |
CN104702675A (zh) | 用户事件的响应方法及装置 | |
CN102034144A (zh) | 用于在场的群组组成算法 | |
CN108153803A (zh) | 一种数据获取方法、装置及电子设备 | |
CN109753424B (zh) | Ab测试的方法和装置 | |
CN105704001A (zh) | 一种微信服务器消息分发方法及*** | |
CN110647634B (zh) | 媒体资源的查找方法、装置、存储介质及电子装置 | |
CN113452600A (zh) | 跨地域的消息通信方法、装置、电子设备和存储介质 | |
CN113779422A (zh) | 关系链标签的实现方法、装置、电子设备及存储介质 | |
CN112818654A (zh) | 消息存储方法、消息生成方法、装置、电子设备及计算机可读介质 | |
CN111814091B (zh) | 消息分发方法及相关装置 | |
KR20050032649A (ko) | 인공생명을 학습시키는 방법 및 시스템 | |
CN115695512A (zh) | 基于微服务架构的数据订阅方法、***、设备和存储介质 | |
CN109299241A (zh) | 聊天机器人的知识库生成方法及装置 | |
CN105978853B (zh) | 一种会话调度方法、调度服务器及终端 |
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 |