发布/订阅数据处理设备、方法和计算机程序产品技术

技术编号:2887515 阅读:325 留言:0更新日期:2012-04-11 18:40
一种发布/订阅数据处理代理设备具有:用于自发布应用程序接收由发布应用程序在限定主题的流中发布的数据消息的装置;及用于将收到的发布数据消息分配至订阅应用程序的装置,该订阅应用程序曾请求接收曾在其中发布过发布消息的流中的消息;其中有一个流是为用于描述代理设备的配置改变的管理消息保留的。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及数据处理领域,更具体地涉及用于将消息自数据消息供应者(此后称为“发布者”)分配给这类消息的消费者(此后称为“订户”)的数据处理。发布/订阅数据处理系统近年来日益普及,用作将数据消息自发布计算机分配至订户计算机的一种手段。将世界各地种类各异的计算机连接起来的因特网的不断增长的普及程度有助于使这类发布/订阅系统更为普及。因特网的全球网浏览器应用程序(“应用程序”或“过程”一词系指在计算机上运行的软件程序或其一部分)可与发布者或订户一起用于图形地显示消息。当由发布者提供的数据经常变化及大量订户要求快速地用最新数据更新时,这类系统特别有用。也许说明它有用的最佳例子是股票交易数据的分配。在这类系统中,数据消息发布应用程序不必知道将要接收消息的订阅应用程序的标识或地点。发布者只须连至一个发布/订阅分配代理过程,该过程包含于一组用于组成代理系统(此后称为代理程序)的这类过程中,它将消息送至分配代理过程,并说明送至分配代理过程的消息主题。该分配代理过程然后将发布的消息分配至订阅应用程序,这些订阅应用程序以前曾向代理程序表示过它们希望接收特定主题的数据消息。因此,订户也不必知道发布者的标识或地点。订户只须连至分配代理过程即可。附图说明图1中显示当今使用的一种这类发布/订阅系统。发布者11和12连至发布/订阅代理程序2并将所发布消息送至代理程序2,后者将消息分配至订户31、32、33、34。作为输出数据消息的数据处理应用程序的发布者11和12使用周知的称为远程过程调用(或RPC)的应用程序间数据连接协议连至代理程序2。每个发布应用程序可在单独的机器上运行,或者备择地,单个机器也可执行多个发布应用程序。代理程序2由多个分配代理(21至27)组成,后者用下面称之为“树结构”的层次方式连接起来。这些分配代理中可以每个在单独的机器上运行,它们是将数据消息自发布者通过代理程序2分配至订户的数据处理应用程序。订阅应用程序31、32、33和34通过RPC连至代理程序2以便接收发布的消息。发布者11和12首先通过RPC直接连至一个根分配代理21,它又通过RPC连至第二层分配代理22和23,后者又通过RPC连至第三层分配代理24、25、26和27(亦称为“叶分配代理”,因为它们是树结构中的最后分配代理)。每个分配代理可在它自己的机器上运行,或者备择地,一个机器上可运行数组分配代理。叶分配代理通过RPC连至订阅应用程序31至34,后者之中每个可在它自己机器上运行。为使代理程序2能确定哪个发布消息应送至哪个订户,发布者向根分配代理21提供每个发布消息的分配流名称。分配流(此后称为“流”)是具有名称的消息的有序序列(例如股票交易报价的流名称是“股票”),该名称用于将一个流与其它流区别开。类似地,订户向叶分配代理31至34提供它们希望订阅的流的名称。以此方式,代理程序2一直留意着哪个订户对哪个流感兴趣,因此当发布者向这些流发布消息时,这些消息就可以分配至相应的订户。也允许订户向代理程序提供筛选表示以限制在具体流中接收的消息(例如,只对IBM股票报价感兴趣的订户31可用以下方式向“股票”流订阅向叶分配代理24发出RPC调用并包括筛选表示,要求只将“股票”流中与IBM股票有关的消息送至订户31)。任何时候只要代理程序2的配置改变(例如,增加或删除流或者增加或删除分配代理),系统管理程序必须将此改变通知每个分配代理,以使整个代理程序2能以改变后配置数据的统一方式运行。在过去曾要求系统管理程序与每个分配代理联系以改变它的配置数据。因此对于系统管理程序来说,修改代理程序2的配置是非常耗时的。根据一个方面,本专利技术提供一个发布/订阅数据处理代理设备,它具有一个用于自发布应用程序接收由发布应用程序发布的限定主题流中的数据消息的装置;以及一个用于将收到的所发布数据消息分配给一个曾请求接收曾发布过所发布消息的流中的消息的订阅应用程序的装置;其中有一个流是为用于描述代理设备的配置改变的管理消息保留的。因此,本专利技术使系统管理程序改变代理程序配置的工作变得容易得多。例如,系统管理程序只须将配置改变作为一条消息发布给管理消息专用的流。然后代理程序的每个分配代理向此流订阅并接收全部所发布的配置改变。因此系统管理程序一直能用最新配置数据组来更新代理程序中的每个分配代理而不必个别地联系每个分配代理。这也大大减少了实施配置改变机制的费用。此外,本专利技术也提高了所更新配置数据的可用性。也即,一旦系统管理程序向代理体系结构的第一部分发布了更新的配置数据,该更新的配置数据就自动地分配遍及代理体系结构。这导致改变的配置信息非常可能快速地分配遍及代理体系结构。还有一个优点是所更新配置数据消息总是顺序地在流中发送,因而保证代理体系结构内所有过程按照完全相同的顺序接收全部配置改变,这就提供了结果的高度稳定性和可预测性。用于分配的装置最好包括多个分配代理数据处理过程及每个分配代理数据处理过程向为管理消息保留的流订阅。系统管理发布应用程序最好发布管理消息,该管理消息描述供管理消息备用的流的配置改变。发布应用程序或订阅应用程序中至少一个程序最好利用因特全球网浏览器以使所发布消息在因特网上发送或接收。根据第二方面,本专利技术提供一个数据处理方法,它的方法步骤对应于本专利技术第一方面的数据处理设备的每个部件。根据第三方面,本专利技术提供一个具有存放于其上的计算机程序的计算机可读存储媒体,当在计算机上运行时,该计算机程序执行本专利技术第二方面的数据处理方法功能。通过参照结合附图描述的优选实施例的详细描述,将能更好地理解本专利技术,附图中图1显示与本专利技术优选实施例有关的发布/订阅系统的体系结构;图2显示向一个称为“管理”的流发布的消息的格式,系统管理程序根据本专利技术优选实施例发布该消息以便改变图1代理程序的配置数据。图3是用于显示当系统管理程序改变图1代理程序的配置数据时,图1代理程序根据本专利技术优选实施例所采取的步骤的流程图;以及图4是用于显示当将新分配代理加入代理树结构中时,图1代理程序根据本专利技术优选实施例所采取的步骤的流程图。图1中在计算机上运行的发布应用程序11是例如现场股票交易数据报价的供应者。也即,发布应用程序11提供用于报道股票价格当前值的经常消息。此例中,发布应用程序11正在发行早已在代理程序2中配置好的称为“股票”的流中的消息。众所周知,当发布者11希望向“股票”流发布股票报价消息时,发布者11向位于代理树结构顶层的根分配代理21发出RPC调用。此例中,在另一计算机上运行的订阅应用程序32已通过RPC调用向位于树结构底层的叶分配代理24发送一个订阅请求,以标示订户32希望向“股票”流订阅。因此,任何时候当发布者11向“股票”流发布数据消息时,代理程序2的分配树结构将消息通过根分配代理21往下送,通过任何中间分配代理(例如图1例中的22)及通过叶分配代理24送至订户32。这涉及一系列在图1中连接发布者11与订户32的每个连续圆圈之间所发生的RPC调用(即11至21,21至22,22至24和24至32)。迄今已描述了现有技术发布/订阅代理程序的操作。现将引进第二发布者12,从而描述本专利技术优选实施例。可能在不同计算机上运行的发布应用程序12是例如一个系统管理程序。它发布包含发布/订阅代理程本文档来自技高网...

【技术保护点】
一种发布/订阅数据处理代理设备包括:用于自发布应用程序接收由发布应用程序在限定主题的流中发布的数据消息的装置;以及用于将收到的发布数据消息分配至订阅应用程序的装置,该订阅应用程序曾请求接收曾在其中发布过发布消息的流中的消息;其中 有一个流是为用于描述代理设备的配置改变的管理消息保留的。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:安德鲁布莱尔哈斯廷斯山克尔拉马斯瓦米唐纳德埃德温施密茨王清华音译迈克尔怀恩扬
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1