CN103154944A - 适应性基于内容的发行/订阅消息传递 - Google Patents
适应性基于内容的发行/订阅消息传递 Download PDFInfo
- Publication number
- CN103154944A CN103154944A CN2011800474159A CN201180047415A CN103154944A CN 103154944 A CN103154944 A CN 103154944A CN 2011800474159 A CN2011800474159 A CN 2011800474159A CN 201180047415 A CN201180047415 A CN 201180047415A CN 103154944 A CN103154944 A CN 103154944A
- Authority
- CN
- China
- Prior art keywords
- subscription
- queue
- utilization
- distribution
- message
- 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.)
- Pending
Links
- 230000003044 adaptive effect Effects 0.000 title 1
- 230000014509 gene expression Effects 0.000 claims abstract description 56
- 238000001914 filtration Methods 0.000 claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims abstract description 8
- 230000000977 initiatory effect Effects 0.000 claims abstract description 3
- 230000015572 biosynthetic process Effects 0.000 claims description 58
- 230000007246 mechanism Effects 0.000 claims description 21
- 238000005755 formation reaction Methods 0.000 description 49
- 230000015654 memory Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种传递发行/订阅消息的方法、系统和计算机程序产品。该方法的包括:发起订阅,其包括指定将要放置与订阅有关的发行消息的订阅队列;对该订阅限定多个基于内容的过滤器表达式,对订阅队列的给定利用限定每个过滤表达式。该方法的另一个方面包括:接收与该订阅有关的发行的消息;检查该订阅中指定的订阅队列的利用;确定对该订阅队列的给定利用而限定的基于内容的过滤表达式;以及应用该基于内容的过滤表达式。
Description
技术领域
本发明涉及传递发行/订阅消息领域。特别地,本发明涉及适应性基于内容的发行/订阅消息传递。
背景技术
发行订阅处理模型是在其中信息的产生者(发行者)和同样信息的消费者(订阅者)彼此不直接连接的模型。双方之间的信息通道由发行引擎或中介(broker)处理。发行引擎或中介的责任是将被发行的信息匹配给感兴趣的一方。由于并非所有的订阅者都必然想接收所有发行消息,因此基于主题(topic)和内容路由的技术被用来控制订阅者接收什么内容。
基于主题的路由使用被实现为层级树的简单分类机构。订阅者可订阅以在该树的特定点处接收消息。该特定点可以是根部,从而接收所有的消息,或可以是叶节点,在该情况下,将仅接收发行给该叶节点的消息。
基于内容的路由提供一种机构,由此订阅者能够提供过滤器表达式(filterexpression),其将被应用到匹配主题树中被命名点的所有消息。该过滤器通常是类似结构化查询语言(SQL)的表达式,其将引用消息的标题或主题中的信息。如果过滤器条件估算为真,则发行消息将被写到订阅者队列。如果其估算为假,则其将不被写到订阅者队列。
基于内容的过滤是有用的,因为其提供了额外的过滤机构。在当前的实施方式中,仅提供一个过滤器表达式,尽管该表达式可以是复杂的表达式。尽管应用设计者或商业用户可以仔细地考虑用于订阅者的过滤器语句的构造,但是这种一个过滤器是可用于控制接收的信息量唯一的机构,因为他们不能影响发行消息制作的速率。
当订阅者指定的队列排满发行的消息时,在增加队列大小、订阅应用从队列中消耗消息或操作员或自动命令从队列中清除部分或全部消息之前,都不能再接收消息。
因此,在本技术领域中有解决上述问题的需要。
发明内容
根据本发明的第一方面,提供了一种用于发送发行/订阅消息的方法,包括:发起订阅,其包括指定订阅队列,与订阅有关的发行消息将被放置到所述订阅队列;限定用于所述订阅的多个基于内容的过滤表达式,每个过滤表达式被限定用于所述订阅队列的给定利用(utilisation)。
根据本发明的第二方面,提供了一种传递发行/订阅消息的方法,包括:接收与订阅有关的发行消息;检查所述订阅中指定的订阅队列的利用;确定为所述订阅队列的给定利用所限定的基于内容的过滤表达式;以及应用所述基于内容的过滤表达式。
根据本发明的第三方面,提供了一种传递发行/订阅消息的计算机程序产品,该产品包括计算机可读存储介质,其具有实施于其中的计算机可读程序代码,该计算机可读程序代码配置为:发起订阅,其包括指定订阅队列,与订阅有关的发行消息将被放置到所述订阅队列;限定用于所述订阅的多个基于内容的过滤表达式,每个过滤表达式被限定用于所述订阅队列的给定利用。
根据本发明的第四方面,提供了一种用于发行/订阅消息传递的计算机软件产品,该产品包括计算机可读存储介质,其具有实施于其中的计算机可读程序代码,该计算机可读程序代码配置为:接收与订阅有关的发行消息;检查所述订阅中指定的订阅队列的利用;确定为所述订阅队列的给定利用所限定的基于内容的过滤表达式;以及应用所述基于内容的过滤表达式。
根据本发明的第五方面,提供了一种传递发行/订阅消息的系统,包括:发行引擎,包括订阅机构,该订阅机构包括:订阅队列指定组件,用于指定订阅队列,与订阅有关的发行消息将被放置到所述订阅队列;基于内容的过滤器设置组件,用于为订阅限定多个基于内容的过滤表达式,所述过滤表达式的每个被限定给所指定的订阅队列的给定利用。
根据本发明的第六方面,提供了一种传递发行/订阅消息的系统,包括:发行引擎,其包括:发行消息接收组件,用于接收与订阅有关的发行消息;队列利用检查组件(153),用于检查在所述订阅中指定的订阅队列的利用;过滤器确定组件,用于确定为订阅队列的给定利用所限定的基于内容的过滤表达式;以及过滤器应用组件,用于应用所述基于内容的过滤表达式。
从又一个方面来看,本发明提供了一种存储在计算机可读介质上并可加载到数字式计算机内存中的计算机程序,其包括软件代码部分,在计算机上运行所述程序时,其用于执行本发明的步骤。
在说明书的结束部分特别指出并明显地提出了被认为是本发明的主题。本发明,作为操作的组织和方法,及其对象、特征和优点,可通过在阅读附图时参考以下详细描述时得到最佳理解,其中:
附图说明
下面仅以举例方式参照下图中所图释的优选实施例描述本发明:
图1是根据本发明的系统的框图;
图2是其中实施本发明的计算机系统的框图;
图3是根据本发明一个方面的订阅者登记的流程图;以及
图4是根据本发明一个方面的消息过滤的流程图。
具体实施方式
应理解的是,为了描述的简明起见,附图中示出的元件不一定按比例绘制。例如,为了清楚起见,一些元件的尺寸可能相对于其他元件被夸大。此外,在认为适当的情况下,可在附图中重复参考标记以指示相应或类似的特征。
在以下详细的描述中,阐述了许多特定的细节以提供对本发明的透彻理解。然而,本领域的技术人员应理解可不用这些特定细节而实现本发明。在其它情况下,没有具体描述众所周知的方法、过程和部件以便不会淹没本发明。
传统的基于主题和内容的发行/订阅处理没有考虑队列中(on queue)已有的数据量,并且可能更重要地是没有考虑当前的队列深度有多靠近队列的容量。当订阅者的队列充满(fill)时,通常会发生:如果该消息是持续且被处理(transacted),则发行引擎会退回(rollback)已发行的消息,或者如果该消息是非持续的,则该消息会丢失。因此,已发行的消息以不可预料的基础被接收和处理,而这是不期望的。通常地,订阅应用不具有在队列极限开始迫近时改变过滤器表达式的能力。
作为订阅者的用户,例如商业用户或应用设计者,很高兴内容过滤器在其知道队列接近容量时变得更多约束(restrictive),而不是从队列充满的那点开始继续开放(loose)所有发行消息。
对用户而言有价值的是,当订阅队列充满时,对保留什么和丢弃什么具有更多的影响,而不是具有由发行引擎的处理(transactional)行为所强加(impose)的条件。
所描述的系统和方法提供了一种机构,其允许用户提供一系列过滤器用于基于内容的发行/订阅,以考虑更高的队列利用。特定过滤器的执行取决于单个订阅队列的利用。该利用由在发行消息时执行的发行引擎和适当的过滤器确定。订阅队列利用可包括:剩余的队列容量、队列使用率、队列中当前的数据量,或测量该队列使用(usage)的其它方法。
由于在过滤器表达式方面的更多约束,在已经达到某个队列利用时用户能够指定接受较少或甚至不再接受新消息。这给了用户是否接受更多发行消息的权力,而不是将发行消息强加给他们,因为订阅队列已经充满了。
优点是,订阅应用实际上将在更长时间内依然看到新发行消息,因为通过减少新发行的消息被接受到订阅队列中的速率,队列充满条件将在更长时间内被避免(avert)。
在描述的方法和系统中,当提供过滤器用于基于内容的发行/订阅时,订阅者指定过滤器表达式的集合以及队列利用(或其它队列阈值/特性),对该队列利用应用每个过滤器表达式。
订阅者提供过滤器但并不实施过滤器。发行引擎负责应用不同的过滤器。在对基于内容的发行消息调用过滤器之前,发行引擎检查该订阅队列的队列利用并且然后应用适当的过滤器。
仅订阅用户理解正被消费的信息的商业上下文,并且也仅该订阅用户能够判断其准备怎样限制以便在试图(try)并避免队列充满条件的同时看到尽可能多的新发行消息。
参照图1,框图示出用于适应性基于内容的发行/订阅消息传递的示例系统100。
发行引擎110作为发行者101和订阅者102之间的中间媒介(intermediary)。订阅者102向发行引擎110登记,发行引擎110在发行者101和订阅者102之间提供路由和过滤。在一些情况下,可能有仅进行发行/订阅处理的发行引擎。在另一情况下,发行/订阅功能可作为多功能中介中许多个功能之一。术语发行引擎旨在包括包含消息中介的任何发行/订阅处理机构。
发行引擎110包括订阅者机构111,订阅者102在订阅者机构111处登记订阅。订阅者机构111包括订阅者设置120,订阅者设置120包括用于接收发行消息的订阅队列103的名称121,以及订阅者标准122。订阅者标准122包括订阅者感兴趣的发行消息的一个或多个主题。
订阅队列103是发行引擎110发送与特定订阅匹配的消息的目的地。当订阅者102登记到某个主题时,其向发行引擎110指示其想要发行消息将被转发到哪个队列。一个队列可由多个登记使用。该队列在登记订阅者命令的参数中一个参数中被指明。
此外,在描述的系统100中,订阅者机构111的订阅者设置120包括基于内容的过滤器设置123,所述基于内容的过滤器设置123包括将被应用到不同订阅队列利用126、127的多个过滤器表达式124、125。
发行引擎110包括发行消息接收机构130,用于从发行者101接收发行消息,并确定对发行消息的订阅。该发行消息接收机构130包括发行队列131,用于接收发行引擎110处的发行消息。
订阅者机构111包括队列组件150,用于保留(hold)要被放置到订阅队列103的消息。在示例实施中,留出(set aside)盘区用以为特定的队列保留消息。当有可用的通信程序和链接时,消息将被转发到订阅队列103。由于队列组件150看到(see)对该队列的包括消息中的字节数的所有写请求和所有检索请求,队列组件150跟踪订阅队列103的当前队列深度。队列利用检查组件153在将消息放置到订阅队列104之前计算订阅队列103的利用。
在一个实施例中,发行引擎110、发行者101和订阅者102可以可选地包括用于管理器本地队列的队列管理者。
提供基于内容的过滤器机构140,其包括过滤器表达式确定组件141和过滤应用组件142,过滤器表达式确定组件141用于基于由队列利用检查组件153确定的订阅队列103的利用来确定应用过滤器表达式124、125中的哪个。
过滤机构140从发行者101接收发行消息,在订阅者机构111中标识出该消息对其有效的订阅。随后过滤机构140获取订阅队列103的名称,并且在过滤应用组件142对在基于内容的过滤器设置123中指定的所述队列利用应用适当的基于内容的过滤器设置之前,队列利用检查组件153检查队列的利用。
参照图2,用于实现本发明的方面的示例性系统可包括适于存储和/或执行程序代码的数据处理系统200,其包括至少一个处理器201,处理器201通过总线系统203直接或间接地耦接到存储器元件。存储器元件可以包括在程序代码实际执行期间所使用的本地存储器、大容量储存器以及高速缓存存储器,该高速缓存存储器提供至少一些程序代码的临时储存,从而减少执行期间必须从大容量储存器取回代码次数。
存储器元件可包括具有只读存储器(ROM)204和随机存取存储器(RAM)205形式的系统存储器202。基本输入/输出系统(BIOS)206可存储在ROM204中。系统软件207可存储在包括操作系统软件208的RAM205中。软件应用210还可存储在RAM205中。
系统200还可包括诸如磁硬盘驱动器的主存储装置211和诸如磁盘驱动器和光盘驱动器的次存储装置212。所述驱动器及其相关联的计算机可读介质为系统200提供了计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。软件应用可存储在主和次存储装置211、212以及系统存储器202上。
计算系统200可经由网络适配器216使用到一个或多个远程计算机的逻辑连接在网络化环境中操作。
输入/输出设备213可直接或通过中间的I/O控制器耦接到该系统。用户可通过诸如键盘、定点设备或其它输入设备(例如,麦克风、操纵杆、游戏垫(game pad)、碟状卫星天线、扫描仪等)的输入设备来向系统200输入命令和信息。输出设备可包括扬声器、打印机等。显示设备214还经由诸如视频适配器215的接口连接到系统总线213。
数据处理系统的实现不一定具有所有的上述组件。有小型或微型中介运行在有限容量的设备上,该设备诸如是电话或管道监视设备,其可使用描述的系统并且具有描述功能的有限集合。
参照图3,流程图300示出描述的方法和系统中订阅者登记的实施例。发起301新订阅。该订阅指定302用于接收信息的订阅队列的名称。该订阅指定303主题。除基于主题的订阅外还应用304内容过滤器,并且内容过滤器指定305具有相关联的队列利用的多个过滤器表达式。
参照图4,流程图400示出描述的方法和系统中发行机构处消息过滤的实施例。接收401发行消息并标识402订阅。该订阅可用于所指明的主题。
对订阅中指定的订阅队列检查403其利用或容量。给定特定的队列利用,根据预定义的过滤器表达式中确定404适当的内容过滤器。
根据内容过滤器确定405是否要将消息传送到订阅者。如果不要传送该消息,则该处理进行循环以等待下一个消息。如果要传送该消息,则将该消息放置407在订阅队列中并且该处理进行循环406以等待下一个消息。
用于表达发行引擎所需的用于基于内容的过滤的逻辑的所允许的语言根据发行引擎的实现而改变。在一个示例中,消息选择器可允许使用嵌入的SQL(ESQL)表达式以对整个的消息过滤。
内容过滤需要一种指向要被发行的消息的标题和主体的部分的方法。在一个实施中,在用于基于内容的过滤的过滤器中使用字段参考。为了参考过滤器中的字段,必须指定路径。路径的每个元件包括可能有索引的字段名称。
以下为作为示例实施的示例字段名称和相关性名称标识符。这些标识符代表作为层级句法(syntax)元件树的所有消息。每个路径标识通过该树的路线,其通向特定的句法元件,从指代(refer to)每个消息具有的固定点的预定的相关性名称之一开始。表1中示出的以下相关性名称被支持用于基于内容的过滤。
表1
表2中示出字段参考及其含义的一些示例。
Body.Person.Address | 指代消息主体中个人实体中的第一地址字段 |
Perperties.Topic | 指代消息的标准特性中的“主题”字段 |
Root.MQMD.UserIdentifier | 指代消息的MQMD中的用户标识符字段 |
表3中示出基于内容过滤的一些例子。
在描述的方法和系统中,基于内容的过滤器包括取决于订阅队列的利用而应用的多个过滤器表达式。可以根据使用的容量百分比限定订阅队列的利用。
例如,如果提供过滤器整数范围,则当队列利用增加时该范围可更受限制。以这种方式,当订阅队列利用增加且已经减少容量时实现更具有选择性的过滤。
示例
在第一示例中,系统查看购物者的花费习惯。订阅者想要捕获一次花费超过100美元的所有购物者的细节用于进一步分析其花费习惯。由于订阅者队列深度随着利用增长而增加,订阅过滤器适应以仅捕获非常高花费的购物者。在构造过滤器时作出商业决定以便在这种情况下放掉(loose)较低花费的购物者。然而,订阅者必然不想放掉(loose)花费非常高的购物者的风险,且这反映在了过滤器的构造中。
If Message.Body.ReceiptTotal>$100作为内容过滤器的缺省表达式;
如果队列利用达到70%,则If Message.Body.ReceiptTotal>”2*100”;
如果队列利用达到90%,则If Message.Body.ReceiptTotal>”3*100”;
如果队列利用达到95%,则If Message.Body.ReceiptTotal>”30*100”。
第二个示例是想要捕获其价格每天变化很大的股票从而有可能将来用交易股票的视图来进行对这些股票分析的系统。
最初,订阅者高兴地捕获具有+/-5%变化的股票。然而,当队列深度由于使用增加而减少时,订阅者准备好仅捕获仅为最不稳定的(volatile)。在构造过滤器时再次做出商业决定从而仅捕获最不稳定的,该过滤器意味着其可以忍受丢弃更多数据。
If Message.Body.PriceSwingToday>5%作为内容过滤器的缺省表达式;
如果队列利用达到70%,则If Message.Body.PriceSwingToday>”2*5%”;
如果队列利用达到90%,则If Message.Body.PriceSwingToday>”3*5%”;
如果队列利用达到95%,则If Message.Body.PriceSwingToday>”10*5%”。
在这些示例中,随队列利用增加,过滤器仅接受越来越大的值。这不会总是这种情况。在其它情况下,适当的是,随队列使用增长其仅接受越来越小的值。
在这些实例中,为参数(在第一实例总,花费值,以及在第二实例中,变量值)设置阈值并根据多个阈值改变过滤器表达式。这是过滤器表达式可以相对于队列利用改变的实例。也可以使用其他方法。
可提供适应性基于内容的发行/订阅系统作为对网络上消费者的服务。
本发明可采用完全硬件实施例、完全软件实施例或包含硬件和软件元件两者的实施例的形式。在优选的实施例中,以软件实现本发明,该软件包括但不限于固件、驻留软件、微代码等。
本发明可采用计算机程序产品的形式,可从提供用于由计算机或任何指令执行系统使用或与计算机或任何指令执行系统关联的程序代码的计算机可使用或计算机可读介质得到该计算机程序产品。为了本描述的目的,计算机可使用或计算机可读介质可以是任何包含、存储、通信、传播或传输用于由指令执行系统、装置或设备使用或与指令执行系统、装置或设备关联的装置的程序的装置。
该介质可以是电、磁、光、电磁、红外或半导体系统(或装置或设备)或传播媒介。计算机可读介质的例子包括半导体或固态存储器、磁带、可移除的计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘目前的例子包括只读型光盘(CD-ROM)、读/写型光盘(CD-ROM)和DVD。
在不偏离本发明的范围的情况下可对前述进行改进和修改。
Claims (18)
1.一种用于发送发行/订阅消息的方法,包括以下步骤:
发起(301)订阅,其包括指定订阅队列,与订阅有关的发行消息将被放置到所述订阅队列;
限定(305)用于所述订阅的多个基于内容的过滤表达式,每个过滤表达式被限定用于所述订阅队列的给定利用。
2.根据权利要求1所述的方法,其中所述多个过滤表达式是为所述订阅队列的递增利用所限定的愈加限制的过滤器。
3.根据权利要求1或2所述的方法,还包括步骤:限定为其限定了过滤表达式的订阅队列利用参数。
4.根据权利要求3所述的方法,其中所述订阅队列利用参数包括以下组的一个或多个:剩余的队列容量、队列使用率、队列中当前的数据量。
5.一种传递发行/订阅消息的方法,包括以下步骤:
接收(401)与订阅有关的发行消息;
检查(403)所述订阅中指定的订阅队列的利用;
确定(404)为所述订阅队列的给定利用所限定的基于内容的过滤表达式;以及
应用(405)所述基于内容的过滤表达式。
6.一种传递发行/订阅消息的计算机程序产品,该计算机程序产品包括可由处理电路读取计算机可读存储介质,并存储用于由处理电路执行的指令,用来进行根据权利要求1至5的任何一个所述的方法。
7.一种传递发行/订阅消息的系统,包括:
发行引擎(110),包括订阅机构(111),该订阅机构(111)包括:
订阅队列指定组件(121),用于指定订阅队列,与订阅有关的发行消息将被放置到所述订阅队列;
基于内容的过滤器设置组件(123),用于为订阅限定多个基于内容的过滤表达式(124,125),所述过滤表达式(126,127)的每个被限定给所指定的订阅队列的给定利用(126,127)。
8.根据权利要求7所述的系统,其中所述多个过滤表达式(124,125)是为对订阅队列(103)的递增利用所限定的愈加限制的过滤器。
9.根据权利要求7或8所述的系统,其中所述基于内容的过滤器设置组件(123)还可操作用于限定为其限定过滤表达式(124,125)的订阅队列利用参数。
10.根据权利要求9所述的系统,其中所述订阅队列利用参数包括以下组的一个或多个:剩余的队列容量、队列使用率、队列中当前的数据量。
11.一种传递发行/订阅消息的系统,包括:
发行引擎(110),包括:
发行消息接收组件(130),用于接收与订阅有关的发行消息;
队列利用检查组件(153),用于检查在所述订阅中指定的订阅队列(103)的利用;
过滤器确定组件(141),用于确定为订阅队列(103)的给定利用(126,,17)所限定的基于内容的过滤表达式(124,125);以及
过滤器应用组件(142),用于应用所述基于内容的过滤表达式(124,125)。
12.根据权利要求11所述的系统,其中所述队列利用检查组件(153)
可操作用于通过看到对所述订阅队列(103)的所有写请求和所有检索请求而跟踪所述订阅队列(103)的利用。
13.一种用于发行/订阅消息传递的装置,包括:
用于发起(301)订阅的装置,其包括用于指定订阅队列的装置,与订阅有关的发行消息将被放置到所述订阅队列;以及
用于为所述订阅限定(305)多个基于内容的过滤表达式的装置,每个过滤表达式可被限定用于所述订阅队列的给定利用。
14.根据权利要求13所述的装置,其中所述多个过滤表达式是为订阅队列的递增利用所限定的愈加限制的过滤器。
15.根据权利要求13或14所述的装置,还包括:
用于限定可为其限定过滤表达式的订阅队列利用参数的装置。
16.根据权利要求15所述的装置,其中订阅队列利用参数包括以下组的一个或多个:剩余的队列容量、队列使用率、队列中当前的数据量。
17.一种传递发行/订阅消息的装置,包括:
用于接收(401)与订阅有关的发行消息的装置;
用于检查(403)所述订阅中指定的订阅队列的利用的装置;
用于确定(404)可限定用于所述订阅队列的给定利用的基于内容的过滤表达式的装置;以及
用于应用(405)所述基于内容的过滤表达式的装置。
18.一种存储在计算机可读介质上并可加载到数字式计算机内储中的计算机程序,包括软件代码部分,当所述程序在计算机上运行时用于执行权利要求1至5的任何一个所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10182332 | 2010-09-29 | ||
EP10182332.6 | 2010-09-29 | ||
PCT/EP2011/064187 WO2012041596A1 (en) | 2010-09-29 | 2011-08-17 | Adaptive content-based publish/subscribe messaging |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103154944A true CN103154944A (zh) | 2013-06-12 |
Family
ID=44503849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800474159A Pending CN103154944A (zh) | 2010-09-29 | 2011-08-17 | 适应性基于内容的发行/订阅消息传递 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10558716B2 (zh) |
CN (1) | CN103154944A (zh) |
DE (1) | DE112011103288B4 (zh) |
GB (1) | GB2497263A (zh) |
WO (1) | WO2012041596A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103944924A (zh) * | 2014-05-15 | 2014-07-23 | 重庆邮电大学 | 一种基于RESTful的泛在网发布订阅中间件模型 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8438229B2 (en) * | 2007-03-07 | 2013-05-07 | True Engineering Technology, Llc | System and method of supporting constructive discourse on computers and mobile devices |
US9779082B2 (en) * | 2008-01-02 | 2017-10-03 | True Engineering Technology, Llc | Portable self-describing representations of measurements |
EP3291147A1 (en) | 2016-08-30 | 2018-03-07 | Hitachi, Ltd. | System, method and server apparatus for distribution of service requests associated with maintenance services required for maintenance of industrial assets |
DE102016122384A1 (de) | 2016-11-21 | 2018-05-24 | Beckhoff Automation Gmbh | Konzept zum steuern einer nachrichtenübermittlung zwischen kommunikationsteilnehmern eines automatisierungssystems |
US10382307B1 (en) * | 2016-12-22 | 2019-08-13 | Amazon Technologies, Inc. | Transmission of subscription-based messages to Internet of Things (IoT) devices |
TWI678087B (zh) | 2018-11-22 | 2019-11-21 | 財團法人工業技術研究院 | 訊息佇列發佈與訂閱之同步方法及其系統 |
WO2023287439A1 (en) * | 2021-07-16 | 2023-01-19 | Tracelink, Inc. | Variable selection of different versions of an event handler |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030135556A1 (en) * | 2001-12-14 | 2003-07-17 | International Business Machines Corporation | Selection of communication strategies for message brokers or publish/subscribe communications |
US20050198285A1 (en) * | 2004-01-27 | 2005-09-08 | Sun Microsystems, Inc. | Overload management in an application-based server |
CN101159711A (zh) * | 2007-11-27 | 2008-04-09 | 航天东方红卫星有限公司 | 自适应的实时消息订阅与发布系统及方法 |
CN101510213A (zh) * | 2009-03-23 | 2009-08-19 | 杭州电子科技大学 | 基于本体的大规模发布订阅流水线匹配方法 |
CN101785263A (zh) * | 2007-05-18 | 2010-07-21 | 韦伯森斯郝斯特德研发有限公司 | 用于电子邮件过滤的方法和设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061365A1 (en) * | 2001-03-14 | 2003-03-27 | Microsoft Corporation | Service-to-service communication for network services |
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 |
US20060179059A1 (en) * | 2005-02-07 | 2006-08-10 | International Business Machines Corporation | Cluster monitoring system with content-based event routing |
US8554846B2 (en) * | 2005-09-27 | 2013-10-08 | Oracle International Corporation | System and method for providing a messaging kernel |
US7950011B2 (en) * | 2005-10-10 | 2011-05-24 | Oracle International Corporation | Leveraging advanced queues to implement event based job scheduling |
US20070121499A1 (en) * | 2005-11-28 | 2007-05-31 | Subhasis Pal | Method of and system for physically distributed, logically shared, and data slice-synchronized shared memory switching |
US20080037553A1 (en) * | 2005-12-22 | 2008-02-14 | Bellsouth Intellectual Property Corporation | Systems and methods for allocating bandwidth to ports in a computer network |
US8037093B2 (en) * | 2006-09-12 | 2011-10-11 | Facebook, Inc. | Feeding updates to landing pages of users of an online social network from external sources |
US9230002B2 (en) * | 2009-01-30 | 2016-01-05 | Oracle International Corporation | High performant information sharing and replication for single-publisher and multiple-subscriber configuration |
US8339957B2 (en) * | 2009-06-26 | 2012-12-25 | Google Inc. | Aggregate transport control |
US9054996B2 (en) * | 2009-12-24 | 2015-06-09 | Juniper Networks, Inc. | Dynamic prioritized fair share scheduling scheme in over-subscribed port scenario |
-
2011
- 2011-08-17 DE DE112011103288.9T patent/DE112011103288B4/de active Active
- 2011-08-17 CN CN2011800474159A patent/CN103154944A/zh active Pending
- 2011-08-17 GB GB1306652.7A patent/GB2497263A/en not_active Withdrawn
- 2011-08-17 WO PCT/EP2011/064187 patent/WO2012041596A1/en active Application Filing
- 2011-09-06 US US13/226,288 patent/US10558716B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030135556A1 (en) * | 2001-12-14 | 2003-07-17 | International Business Machines Corporation | Selection of communication strategies for message brokers or publish/subscribe communications |
US20050198285A1 (en) * | 2004-01-27 | 2005-09-08 | Sun Microsystems, Inc. | Overload management in an application-based server |
CN101785263A (zh) * | 2007-05-18 | 2010-07-21 | 韦伯森斯郝斯特德研发有限公司 | 用于电子邮件过滤的方法和设备 |
CN101159711A (zh) * | 2007-11-27 | 2008-04-09 | 航天东方红卫星有限公司 | 自适应的实时消息订阅与发布系统及方法 |
CN101510213A (zh) * | 2009-03-23 | 2009-08-19 | 杭州电子科技大学 | 基于本体的大规模发布订阅流水线匹配方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103944924A (zh) * | 2014-05-15 | 2014-07-23 | 重庆邮电大学 | 一种基于RESTful的泛在网发布订阅中间件模型 |
CN103944924B (zh) * | 2014-05-15 | 2017-04-19 | 重庆邮电大学 | 一种基于RESTful的泛在网发布订阅中间件模型的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20120079044A1 (en) | 2012-03-29 |
GB201306652D0 (en) | 2013-05-29 |
DE112011103288T5 (de) | 2013-07-11 |
DE112011103288B4 (de) | 2021-06-10 |
WO2012041596A1 (en) | 2012-04-05 |
US10558716B2 (en) | 2020-02-11 |
GB2497263A (en) | 2013-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103154944A (zh) | 适应性基于内容的发行/订阅消息传递 | |
US8762456B1 (en) | Generating prefetching profiles for prefetching data in a cloud based file system | |
US8762480B2 (en) | Client, brokerage server and method for providing cloud storage | |
US11126741B2 (en) | Computer-implemented methods, systems comprising computer-readable media, and electronic devices for querying restricted-access datasources | |
US8126914B2 (en) | Selecting a resource manager to satisfy a service request | |
CN101213544B (zh) | 基于查询的同步 | |
CN103368867A (zh) | 高速缓存经网络与辅助站点通信的对象的方法和系统 | |
US8732355B1 (en) | Dynamic data prefetching | |
CN106708912B (zh) | 垃圾文件识别及管理方法、识别装置、管理装置和终端 | |
CN109767274B (zh) | 一种对海量发票数据进行关联存储的方法及系统 | |
CA2733857A1 (en) | Automated insurance policy form generation and completion | |
US9380126B2 (en) | Data collection and distribution management | |
CN111629062A (zh) | 一种消息推送方法及装置 | |
CN103501341A (zh) | 一种Web服务的创建方法及装置 | |
CN112559646A (zh) | 一种报表下载方法和装置 | |
WO2023104183A1 (en) | Methods and systems for event management | |
CN101588389B (zh) | 选择存储设备的方法、应用服务器和存储设备 | |
CN112632266B (zh) | 数据写入方法、装置、计算机设备及可读存储介质 | |
CN113760854A (zh) | Hdfs内存中数据的识别方法及相关设备 | |
CN113010514A (zh) | 热加载方法及装置 | |
CN101819589A (zh) | 一种控制文件输入输出缓存的方法及装置 | |
CN101355772B (zh) | 业务判别方法、装置及系统 | |
CN111163088B (zh) | 消息处理方法、系统、装置及电子设备 | |
CN110688222B (zh) | 资源处理请求的排序方法、装置、介质及电子设备 | |
CN113344706A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130612 |