CN104657408A - 具有多个正交主题树的发布订阅代理器 - Google Patents

具有多个正交主题树的发布订阅代理器 Download PDF

Info

Publication number
CN104657408A
CN104657408A CN201410665877.2A CN201410665877A CN104657408A CN 104657408 A CN104657408 A CN 104657408A CN 201410665877 A CN201410665877 A CN 201410665877A CN 104657408 A CN104657408 A CN 104657408A
Authority
CN
China
Prior art keywords
theme
message
node
subject
subject tree
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
Application number
CN201410665877.2A
Other languages
English (en)
Other versions
CN104657408B (zh
Inventor
H·D·彼得
G·怀特
A·S·费尔特哈姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104657408A publication Critical patent/CN104657408A/zh
Application granted granted Critical
Publication of CN104657408B publication Critical patent/CN104657408B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Abstract

本发明公开了一种具有多个正交主题树的发布订阅代理器,其包括:接收器,用于接收消息和两个或更多个正交消息主题,其中主题是主题树的分支;订阅引擎,用于识别其订阅主题与两个或更多个相关联的消息主题相匹配的所有订阅者;以及消息发送器,用于将消息仅发送给所识别的订阅者,而不发送给仅具有相关联的主题中的一个的订阅者。实施例允许消息被发布给多个正交主题,以及允许订阅者依次订阅这些树的交叉部分。这不是到两个分离的主题的发布,而是到两个分离的主题树上的两个主题分支的交叉部分的发布。

Description

具有多个正交主题树的发布订阅代理器
技术领域
本发明涉及用于具有多个正交主题树的发布订阅代理器(broker)的方法及装置。
背景技术
已知的发布订阅代理器使用主题树来管理数据从发布者到订阅者的传播。数据将被发布到树的叶子,例如“传感器/UK”,然后,订阅者可以订阅单个主题或者使用通配符订阅来订阅多个主题,例如“传感器/#”。这对于许多简单的应用可以很好地工作,但是,当主题树由于多个不同的对主题分类的方式而超载时,这会变得更加复杂。
例如,多个不同类型的传感器可能发布到不同的主题,诸如“传感器/UK/温度”或者可能是“传感器/位置/UK/传感器类型/温度”。通过以这种方式使主题树超载,订阅者仍然有可能订阅所有的UK传感器(“传感器/UK/+”或“传感器/位置/UK/传感器类型/+”)和所有的温度传感器(“传感器/+/温度”或“传感器/位置/+/传感器类型/温度”),但是,该方法存在两个缺点。1)如果在主题名称中有许多不同的分类,则主题名称会迅速变得笨重。2)例如,如果期望传感器位置被进一步分类到“/传感器/UK/温彻斯特”,则将失去所有使用树的灵活性。
“传感器/UK/+”中的加号(+)是可代表主题树中特定级别的任意子主题的通配符令牌。“传感器/UK/#”中的井号(#)是代表主题树中特定级别的所有子主题的通配符令牌,以使得“传感器/+/+”等同于“传感器/#”。
发明内容
在本发明的第一个方面,提供了一种发布订阅代理器,其包括:接收器,用于接收消息和两个或更多个正交消息主题,其中主题是主题树的分支;订阅引擎,用于识别其订阅主题与两个或更多个相关联的消息主题相匹配的所有订阅者;以及消息发送器,用于将消息仅发送给所识别的订阅者,而不发送给仅具有相关联的主题中的一个的订阅者。
在本发明的第二个方面,提供了一种用于发布订阅代理器的方法,其包括:接收消息和两个或更多个正交消息主题,其中主题是主题树的分支;识别其订阅主题与两个或更多个所接收的消息主题相匹配的所有订阅者;以及将消息仅发送给所识别的订阅者,而不发送给仅具有相关联的主题中的一个的订阅者。
有利地,主题树是主题的固定向量。
更有利地,每个主题树具有顺序,所接收的消息主题必须使用主题树顺序。
还更有利地,主题树是命名主题的列表。所接收的消息主题的顺序不重要,并非所有主题都需要被指定。
再更有利地,主题树可以是固定向量和命名主题的列表的混合。
优选地,主题包括主题树的分支,分支包括主题节点的序列。
还更优选地,主题节点可包括通配符节点,其用于代表在该通配符节点的位置处的任意主题节点。
再更优选地,主题节点可包括扩展通配符节点,其用于代表在该扩展通配符节点的位置处以及在该位置后的主题节点的任意组合。
实施例允许消息被发布给多个正交主题,并允许订阅者依次订阅这些树的交叉部分。这不是到两个分离的主题的发布,而是到两个分离的主题树上的两个主题分支的交叉部分的发布。
在本发明的第三个方面,提供了一种用于发布订阅代理器的计算机程序产品,该计算机程序产品包括计算机可读存储介质,其具有具体化的计算机可读程序代码,计算机可读程序代码被配置为执行方法的所有步骤。
计算机程序产品包括一系列计算机可读指令,该指令或者固定在诸如计算机可读介质的有形介质上,例如光盘、磁盘、固态驱动器,或者使用调制解调器或其它接口设备通过或者有形介质(包括但不限于光学或模拟通信线路)或者无形地使用无线技术(包括但不限于微波、红外或其它传输技术)而能够传输到计算机系统。这一系列计算机可读指令实现此前描述的全部或部分功能。
本领域技术人员将认识到,这种计算机可读指令可以用多个编程语言编写以与许多计算机体系结构或操作系统一起使用。另外,这种指令可使用现在或将来的任何存储器技术进行存储,包括但不限于半导体、磁或光学,或者使用现在或将来的任何通信技术进行传输,包括但不限于光、红外或微波。这样的计算机程序产品可以被分发为可移动介质,其具有例如在系统ROM或固定磁盘上用计算机系统预先加载的附带印刷或电子文档,例如压缩打包软件,或者通过网络(例如,因特网或万维网)从服务器或电子公告板分发。
在本发明的第四个方面,提供了一种在计算机可读介质上存储并可加载到计算机的内存中的计算机程序,其包括当所述程序在计算机上运行时用于执行方法权利要求的所有步骤的软件代码部分。
在本发明的第五个方面,提供了优选实施例的数据载体方面,其包括在被加载到计算机系统中并进而操作时使得所述计算机系统能够执行方法权利要求的所有步骤的功能性计算机数据结构。合适的数据载体可以是固态存储器、磁驱动器或光盘。用于传输数据的通道可同样包括所有描述的存储介质以及信号承载介质,诸如有线或无线信号承载介质。
附图说明
现在将参照以下附图仅作为例子描述本发明的优选实施例,其中:
图1是优选实施例的部署图;
图2是优选实施例的组件图;
图3是优选实施例的过程的流程图。
具体实施方式
参照图1,描述了优选实施例在计算机处理系统10中的部署。计算机处理系统10能够与许多其它通用或专用计算系统环境或配置一起操作。适合于与计算机处理系统10一起使用的已知计算处理系统、环境和/或配置的例子包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、小型计算机系统、大型计算机系统和包括任意以上的系统或设备的分布式云计算环境。
计算机处理系统10可以在由计算机处理器执行的计算机系统可执行指令的一般上下文中描述,诸如程序模块。一般地,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑和数据结构。计算机处理系统10可以具体化在任务由通过通信网络链接的远程处理设备执行的分布式云计算环境中。在分布式云计算环境中,程序模块可位于包括存储器存储装置的本地和远程计算机系统存储介质两者中。
计算机处理系统10包括:通用计算机服务器12以及直接连接到计算机服务器12的一个或多个输入设备14和输出设备16。计算机处理系统10使用输入设备14和输出设备16与用户18进行通信。输入设备14包括以下的一个或多个:键盘、扫描仪、鼠标、轨迹球或其它定点设备。输出设备16包括显示器或打印机中的一个或多个。计算机处理系统10通过网络20与网络设备(未示出)进行通信。网络20可以是局域网(LAN)、广域网(WAN)或因特网。计算机处理系统10连接到网络20。连接到网络20的是多个发布订阅节点50A、50B至50N。每个节点50A至50N用于与计算机服务器12进行通信。
计算机服务器12包括:中央处理单元(CPU)22;网络适配器24;设备适配器26;总线28和存储器30。
CPU 22从存储器30中加载机器指令,并响应于这些指令而执行机器操作。这样的机器操作包括:增加或减少寄存器中(未示出)的值;将值从存储器30传送到寄存器,反之亦然;如果条件是真或假,则分叉到存储器中的不同位置(也称为条件分支指令);以及将两个不同寄存器中的值相加或相减,并在另一个寄存器中加载结果。典型的CPU可以执行许多不同的机器操作。一组机器指令被称为机器代码程序,机器指令采用被称为低级语言的机器代码语言编写。采用高级语言编写的计算机程序需要在它能够运行前被编译为机器代码程序。可选地,诸如虚拟机或解释器的机器代码程序可以解释有关机器操作的高级语言。
网络适配器24连接到总线28和网络20以用于使得计算机服务器12和网络设备之间能够进行通信。
设备适配器26连接到总线28以及输入设备14和输出设备16以用于使得计算机服务器12与输入设备14和输出设备16之间能够进行通信。
总线28将包括存储器30的主要系统组件一起连接到CPU 22。总线28表示任意若干类型的总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口和使用各种总线体系结构的任意一个的处理器或局部总线。作为例子而非限制,这种体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线。
存储器30包括采用易失性存储器32和非易失性或持久性存储器34形式的计算机系统可读介质。易失性存储器32的例子是随机存取存储器(RAM)36和缓存器38。通常使用易失性存储器是因为它速度更快,通常使用非易失性存储器是因为它将更长时间地保存数据。计算机处理系统10还可包括其它可移动和/或不可移动、易失性和/或非易失性的计算机系统存储介质。仅作为例子,持久性存储器34可被提供以用于从不可移动的非易失性磁性介质(未示出,通常是磁性硬盘或固态驱动器)中读取和写入。虽然未示出,但可提供其它存储介质,包括:用于可移动非易失性固态存储器的外部端口;用于从诸如紧凑盘(CD)、数字视频光盘(DVD)或蓝光光盘的可移动非易失性光盘中读取或写入的光盘驱动器。在这种情况下,每一个可以由一个或多个数据介质接口连接到总线28。如将在下面进一步描述和说明的,存储器30可包括具有被配置为执行本发明的实施例的功能的一组(例如,至少一个)程序模块的至少一个程序产品。
被配置为执行优选实施例的功能的程序模块包括正交发布订阅模块200。支持优选实施例但未示出的其它程序模块包括固件、引导程序、操作系统和支持应用。操作系统、支持应用、其它程序模块和程序数据或其某些组合的每一个可包括网络环境的实现。
计算机处理系统10经由网络适配器24与至少一个网络20(诸如局域网(LAN)、通用广域网(WAN)和/或类似因特网的公共网络)进行通信。网络适配器24经由总线28与计算机服务器12的其它组件进行通信。应当理解,虽然未示出,但其它硬件和/或软件组件可结合计算机处理系统10来使用。例子包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动器阵列、独立磁盘冗余阵列(RAID)、磁带驱动器和数据归档存储系统。
参照图2,正交发布订阅模块200包括以下组件:消息接收器202;消息和消息主题寄存器204;订阅和订阅主题阵列206;订阅集合阵列208;订阅引擎210;和消息发送器212。
消息接收器202用于接收消息。
消息和消息主题寄存器204用于存储所接收的消息和消息主题。
订阅和订阅主题阵列206用于存储订阅者和相关联的主题。
订阅集合阵列208用于存储所识别的订阅者。
订阅引擎210包括在下面更详细描述的正交发布订阅方法300。
消息发送器212用于向所识别的订阅者发送消息。
参照图3,正交发布订阅方法300包括逻辑处理步骤302至316。
步骤302是方法的开始,其中由系统接收消息和消息主题。消息具有与其相关联的主题阵列,每一个订阅也同样如此。所接收的消息主题是消息主题集合。订阅字符串可以包含一个或多个通配符令牌。
步骤304用于定义订阅集合以保存所识别的订阅。订阅集合被存储在订阅集合阵列206中。
步骤306用于定义遍及所有订阅的订阅环路。
步骤308用于在订阅主题集合与消息主题集合匹配的情况下,分支到步骤310。否则,分支到步骤312。
步骤310用于将所匹配的订阅添加到订阅集合中。
步骤312用于在存在下一个订阅的情况下环回到步骤308。
步骤314用于向订阅集合发布消息。
步骤316是正交发布订阅方法300的结束。
以上的示意性实施例使用要求固定主题顺序的主题树的固定向量。
例如,实验室中的温度传感器可发布消息如下:
PUBLISH["位置/UK/温彻斯特","传感器类型/温度"]
PAYLOAD:"21度"
这不是到两个分离的主题的发布,而是到两个分离的主题树上的两个主题分支的交叉部分的发布。
订阅者可以发出订阅如下:
SUBSCRIBE["位置/UK/温彻斯特","传感器类型/温度"]
或者订阅所有温度传感器而不管位置如何:
SUBSCRIBE["#","传感器类型/温度"]
与发布例子类似,这些订阅调用并不包含分离的订阅,而是客户端正在订阅两个不同主题树的交叉部分。
设想使用命名主题树的另一个实施例。使用命名主题树,发布者和订阅者不需要指定(或者甚至知道)在代理器上存在的所有不同的主题树。例如,发布者可发布如下:
PUBLISH[位置="位置/UK/温彻斯特"]
PAYLOAD:"21度"
这可被解释为:
PUBLISH[位置="位置/UK/温彻斯特",传感器类型=空]
PAYLOAD:"21度"
同样,订阅者只需要指定他们感兴趣的主题树:
SUBSCRIBE[位置="位置/UK/温彻斯特"]
取决于所选择的实现,这样的订阅调用可以用两种方式解释,或者是:
SUBSCRIBE[位置="位置/UK/温彻斯特",传感器类型="#"]
或者是:
SUBSCRIBE[位置="位置/UK/温彻斯特",传感器类型=空]
应当注意,上述的第一个将匹配所有的订阅而不管它们的传感器类型主题;第二个将仅仅匹配没有所指定的传感器类型主题而发布的消息。在整个说明中,为了一致性,位置和前缀已经显示在主题名称中,但实际上这些是冗余的,可以被除去。
现在描述本发明的其它实施例。本领域技术人员将清楚的是,优选实施例的全部或部分逻辑处理步骤可以可选地具体化在包括被设置为执行方法的逻辑处理步骤的逻辑单元的单个或多个逻辑装置中,这种逻辑单元可包括硬件组件、固件组件或其组合。
本领域技术人员将同样清楚的是,优选实施例的全部或部分逻辑组件可以可选地具体化在包括执行本方法的步骤的逻辑单元的逻辑装置中,这种逻辑单元可包括诸如在例如可编程逻辑阵列或专用集成电路中的逻辑门的组件。这种逻辑配置还可以具体化在用于使用例如虚拟硬件描述符语言(其可使用固定的或可传输的载体介质存储或传输)在这种阵列或电路中临时或永久地建立逻辑结构的使能单元中。
在进一步的可选实施例中,本发明可以采用计算机实现的部署服务的方法的形式来实现,该方法包括部署当被部署在计算机基础结构中并在其上被执行时用于促使计算机系统执行方法的所有步骤的计算机程序代码的步骤。
应当理解,优选实施例的方法和组件可以可选地完全或部分地具体化在包括两个或更多个处理器以用于执行并行软件的并行计算系统中。
本领域技术人员将清楚的是,可以在不脱离本发明的范围和精神的情况下,对前述的示例性实施例进行许多改进和修改。

Claims (17)

1.一种发布订阅代理器,包括:
接收器,用于接收消息和两个或更多个正交消息主题,其中,主题是主题树的分支;
订阅引擎,用于识别其订阅主题与两个或更多个相关联的消息主题相匹配的所有订阅者;以及
消息发送器,用于将所述消息仅发送给所识别的订阅者,而不发送给仅具有相关联的主题中的一个的订阅者。
2.根据权利要求1所述的发布订阅代理器,其中,主题树是主题的固定向量。
3.根据权利要求2所述的发布订阅代理器,其中,每个主题树具有顺序,所接收的消息主题必须使用主题树顺序。
4.根据权利要求1所述的发布订阅代理器,其中,主题树是命名主题的列表。
5.根据权利要求2或4所述的发布订阅代理器,其中,主题树是固定向量和命名主题的列表的混合。
6.根据权利要求1至5的任一权利要求所述的发布订阅代理器,其中,主题包括主题树的分支,分支包括主题节点的序列。
7.根据权利要求6所述的发布订阅代理器,其中,主题节点包括通配符节点,其用于代表在所述通配符节点的位置处的任意主题节点。
8.根据权利要求6所述的发布订阅代理器,其中,主题节点包括扩展通配符节点,其用于代表在所述扩展通配符节点的位置处以及在所述位置后的主题节点的任意组合。
9.一种用于发布订阅代理器的方法,包括:
接收消息和两个或更多个正交消息主题,其中,主题是主题树的分支;
识别其订阅主题与两个或更多个所接收的消息主题相匹配的所有订阅者;以及
将所述消息仅发送给所识别的订阅者,而不发送给仅具有相关联的主题中的一个的订阅者。
10.根据权利要求9所述的方法,其中,主题树是主题的固定向量。
11.根据权利要求10所述的方法,其中,每个主题树具有顺序,所接收的消息主题必须使用主题树顺序。
12.根据权利要求9所述的方法,其中,主题树是命名主题的列表。
13.根据权利要求11或12所述的方法,其中,主题树是固定向量和命名主题的列表的混合。
14.根据权利要求9至13的任一权利要求所述的方法,其中,主题包括主题树的分支,分支包括主题节点的序列。
15.根据权利要求14所述的方法,其中,主题节点包括通配符节点,其用于代表在所述通配符节点的位置处的任意主题节点。
16.根据权利要求14所述的方法,其中,主题节点包括扩展通配符节点,其用于代表在所述扩展通配符节点的位置处以及在所述位置后的主题节点的任意组合。
17.一种装置,包括:被配置为执行任一方法权利要求的模块。
CN201410665877.2A 2013-11-22 2014-11-19 具有多个正交主题树的发布订阅代理器 Expired - Fee Related CN104657408B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1320621.4A GB2520515A (en) 2013-11-22 2013-11-22 Publish and subscribe broker with multiple orthogonal topic trees
GB1320621.4 2013-11-22

Publications (2)

Publication Number Publication Date
CN104657408A true CN104657408A (zh) 2015-05-27
CN104657408B CN104657408B (zh) 2019-01-04

Family

ID=49918034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410665877.2A Expired - Fee Related CN104657408B (zh) 2013-11-22 2014-11-19 具有多个正交主题树的发布订阅代理器

Country Status (3)

Country Link
US (1) US20150149569A1 (zh)
CN (1) CN104657408B (zh)
GB (1) GB2520515A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106060154A (zh) * 2016-06-30 2016-10-26 江苏省现代企业信息化应用支撑软件工程技术研发中心 基于主题模型的订阅发布匹配方法及装置
CN108924183A (zh) * 2018-05-31 2018-11-30 北京百度网讯科技有限公司 用于处理信息的方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674131B1 (en) 2015-12-04 2017-06-06 International Business Machines Corporation Message delivery system
DE102016122384A1 (de) * 2016-11-21 2018-05-24 Beckhoff Automation Gmbh Konzept zum steuern einer nachrichtenübermittlung zwischen kommunikationsteilnehmern eines automatisierungssystems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021843A1 (en) * 2003-05-16 2005-01-27 International Business Machines Corporation Publish/subscribe messaging system
CN101035093A (zh) * 2006-01-06 2007-09-12 国际商业机器公司 用于处理消息的方法和系统
US20100306264A1 (en) * 2009-06-02 2010-12-02 International Business Machines Corporation Optimizing publish/subscribe matching for non-wildcarded topics
US20110289163A1 (en) * 2010-05-18 2011-11-24 International Business Machines Corporation Linking topics in a publish/subscribe messaging environment

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6158007A (en) * 1997-09-17 2000-12-05 Jahanshah Moreh Security system for event based middleware
GB0115404D0 (en) * 2001-06-23 2001-08-15 Ibm Method and apparatus for message routing in a computer system
WO2004036382A2 (en) * 2002-10-17 2004-04-29 Tibco Software Inc. Method and system to communicate messages in a computer network
CN101288067B (zh) * 2005-08-09 2012-04-04 沙力股份有限公司 从电子文档组装、提取和配置内容的方法和装置
GB0521355D0 (en) * 2005-10-19 2005-11-30 Ibm Publish/subscribe system and method for managing subscriptions
US8752045B2 (en) * 2006-10-17 2014-06-10 Manageiq, Inc. Methods and apparatus for using tags to control and manage assets
GB0623914D0 (en) * 2006-11-30 2007-01-10 Ibm Flexible topic identification in a publish/subscribe system
US8375051B2 (en) * 2008-01-21 2013-02-12 International Business Machines Corporation Apparatus for controlling subscriptions
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
US9369988B1 (en) * 2012-02-13 2016-06-14 Urban Airship, Inc. Push reporting

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021843A1 (en) * 2003-05-16 2005-01-27 International Business Machines Corporation Publish/subscribe messaging system
CN101035093A (zh) * 2006-01-06 2007-09-12 国际商业机器公司 用于处理消息的方法和系统
US20100306264A1 (en) * 2009-06-02 2010-12-02 International Business Machines Corporation Optimizing publish/subscribe matching for non-wildcarded topics
US20110289163A1 (en) * 2010-05-18 2011-11-24 International Business Machines Corporation Linking topics in a publish/subscribe messaging environment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106060154A (zh) * 2016-06-30 2016-10-26 江苏省现代企业信息化应用支撑软件工程技术研发中心 基于主题模型的订阅发布匹配方法及装置
CN106060154B (zh) * 2016-06-30 2019-04-19 江苏省现代企业信息化应用支撑软件工程技术研发中心 基于主题模型的订阅发布匹配方法及装置
CN108924183A (zh) * 2018-05-31 2018-11-30 北京百度网讯科技有限公司 用于处理信息的方法及装置

Also Published As

Publication number Publication date
US20150149569A1 (en) 2015-05-28
GB2520515A (en) 2015-05-27
GB201320621D0 (en) 2014-01-08
CN104657408B (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
US10735536B2 (en) Scalable data enrichment for cloud streaming analytics
CN1645841B (zh) 使用插入消息更改向代码自适应地分派接收消息
CN109194736B (zh) 消息去重方法、装置、电子设备、介质和无人车
US10592314B2 (en) Message queueing in middleware by a message broker
CN110276194B (zh) 信息处理方法、信息处理装置和电子设备
CN104657408A (zh) 具有多个正交主题树的发布订阅代理器
US9357007B2 (en) Controlling storing of data
CN100583043C (zh) 提供共享Web模块的系统和方法
CN101777005A (zh) 重定向物理设备控制器的中断而提供多个虚拟设备控制器
US10599440B2 (en) Method for sharing processing modules between pipelines
US11868819B2 (en) System and method for constructing filter graph-based media processing pipelines in a browser
CN104205071A (zh) 信息处理系统、信息处理方法、通信终端、服务器和控制方法以及其控制程序
WO2023104183A1 (en) Methods and systems for event management
CN115373869A (zh) 基于aar的进程处理方法、装置及电子设备
US11340949B2 (en) Method and node for managing a request for hardware acceleration by means of an accelerator device
CN107656877B (zh) 信息处理方法及其设备
US20150067053A1 (en) Managing message distribution in a networked environment
CN104620563B (zh) 一种用于减少计算设备的网络使用的方法和系统
US10542108B2 (en) Data transfer in a federated publish/subscribe system
CN116820354B (zh) 数据存储方法、数据存储装置和数据存储系统
US10884937B2 (en) Reference cache maintenance optimizer
CN110099122B (zh) 用于发送网络请求的方法和装置
WO2012050416A1 (en) A method of caching application
CN109981554B (zh) 信息处理方法、系统和电子设备
CN116737690A (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190104