在高速、低等待时间数据通信环境中同步主动馈送适配器和备用馈送适配器的制作方法

文档序号:7677123阅读:95来源:国知局
专利名称:在高速、低等待时间数据通信环境中同步主动馈送适配器和备用馈送适配器的制作方法
技术领域
本发明的领域是数据处理,或者更明确地,是在高速、低等待时
间数据通信环境中用于同步主动(active)馈送适配器和备用(backup) 馈送适配器的方法、设备和产品。
背景技术
消息传送环境通常用于利用应用消息在消息发送设备和消息接 收设备之间提供数据通信。应用消息是包括一个或多个数据区并从安 装在消息发送设备上的消息产生器传送到安装在消息接收设备上的 消息使用者的 一些数据。应用消息具有由在数据通信协议栈的应用层 中运行的应用软件识别的消息形式一例如与分别在传输层和网络层 中识别的消息形式的传输消息或网络消息相对照。应用消息可以表示 例如数字或文本信息、图像、加密信息和计算机程序指令。
消息传送环境可以支持点对点消息传送,发布和订阅消息传送, 或对两者都支持。在点对点消息传送环境中,消息产生器可以向单个 消息使用者提供应用消息。在发布和订阅消息传送环境中,消息产生 器可以向特殊信道或主题发布应用消息,而订阅该信道或主题的任何 消息使用者都接收消息。由于消息产生器和消息使用者在发布和订阅 环境中经由信道或主题相互之间并非直接通信,所以消息发送与消息 接收分开。因此,产生器和使用者都不需要保存关于彼此的状态,并 且交互的参与者之间的依赖性被减小或消除。因此,发布和订阅环境 可以允许消息发布者和消息订户异步工作。
为了进一步解释消息传送环境,图l显示方块图,示出用于数据 通信的典型消息传送环境,包括消息发送设备(100)、消息接收设备(104)和消息管理服务器(102)。消息发送设备(100)是计算机设备,具 有安装于其上的消息产生器(IIO)、配置用于将应用消息发送给消息管 理服务器(102)以便传递给消息接收设备的一组计算机程序指令。在图 1的例子中,消息产生器(110)在消息流(106)上将应用消息发送给消息 管理服务器(102)。消息发送设备(100)可以通过由消息发送设备自身的 数据或从其他一些源接收到的数据产生应用消息来产生要发送的消 息。消息接收设备(104)是计算机设备,具有安装于其上的消息使用者 (112)、配置用于接收来自消息管理服务器(102)的应用消息的一组计算 机程序指令。在图1的例子中,消息使用者(112)在消息流(108)上接收 来自消息管理服务器(102)的应用消息。在图l的例子中,消息流(106) 和消息流(108)是使用例如用户数据报协议("UDP")和因特网协议 ("IP")实现的数据通信信道。
在点对点消息传送环境或发布和订阅消息传送环境中,从消息发 送设备发送给消息接收设备的应用消息通常经过消息管理服务器 (102)。消息管理服务器(102)是计算机设备,具有安装于其上的消息管 理模块(114)、配置用于管理从消息产生器(110)发送到消息使用者(112) 的消息的计算机程序指令。消息管理模块的例子可以包括IBM WebSphere MQ,来自Sun Microsystem的开方文式消息队列(Open Message Queue ),和来自The OpenJMS Group的开放式Java消息 服务)(OpenJMS)。在点对点消息传送环境中,当消息管理模块(114) 收到由不同消息提供者提交给使用者(112)的应用消息时,消息管理才莫 块(114)为消息使用者(112)提供消息队列。在发布和订阅消息环境中, 消息管理模块(114)对消息产生器发布和消息使用者订阅的不同信道 或主题进行管理。在任一消息环境中,消息管理模块(114)还可以提供 安全服务,以确保只有从消息产生器(110)到达消息使用者(112)的消息 是消息使用者(112)被授权接收且消息产生器(110)被授权发送的那些 消息。另外,在消息产生器(110)上发生错误的情况下,消息管理模块 (114)还可以将来自备用消息产生器的备用消息协调提供给消息使用 者。(IBM和WebSphere是在美国、其他国家、或两者国内的国际商业机器公司 (International Business Machines Corporation)的注册 商标;其他公司、产品或服务名称可能是其他的商标或服务标记)
例如参考诸如图1在以上描述的消息传送环境的当前消息环境 具有某些缺点。由消息发送设备发送给消息管理服务器、用于传递给 消息接收设备的应用消息在消息管理服务器中被延迟,直到消息管理 服务器能够处理该消息。消息管理服务器中发生的消息处理增加了消 息传送环境的整体消息传送等待时间并降低了在数据通信环境中用 于发送数据的整体速度。消息传送等待时间是开始于消息产生器发送 应用消息而结束于消息使用者接收应用消息的时间段。
在许多数据通信环境中,即使消息传送等待时间的轻微增加也是 代价昂贵。例如,考虑金融市场数据环境。金融市场数据环境是用于 通信关于金融市场和金融市场的参与者的信息的数据处理环境。在金 融市场数据环境中,应用消息一般被称为"分笔成交消息(tick)"并表示 金融市场数据,例如金融报价或金融新闻。金融报价包括对任何给定 金融证券的出价和要价。"出价"是指买方愿意为证券支付的最高价 格。"要价"是指卖方愿意为证券接受的最低价格。在金融市场数据环 境中,消息产生器可以基于实时金融市场状况为金融证券的买卖提供 报价,而消息使用者可以基于金融报价来买卖金融证券。当消息使用 者基于由消息产生器提供的报价买卖金融证券时,消息使用者为金融 证券在报价中获得出价或要价的能力受到金融市场数据环境中消息 传送等待时间的很大影响。消息传送等待时间越长,越不可能在金融 报价中报出的价格处或附近执行由消息使用者产生的买卖命令。实际 上,高度不稳定的证券在价格方面可能在几秒钟的时间段内显著波 动。
减少消息传送等待时间的现有解决方案是从消息传送环境中去 除消息管理服务器。在这种现有解决方案中,消息发送设备把应用消 息直接发送给消息接收设备。这种现有解决方案的缺点在于去除消息 管理服务器就从消息传送环境中去除了由消息管理服务器提供的管 理功能。因此,现有解决方案在需要消息管理服务器的管理功能的消
13息传送环境中不能有效提供解决方案。再次考虑上述的金融市场数据 环境例子,在这种示例性金融市场数据环境中,考虑消息接收设备仅
被授权接收某些金融证券的金融报价,或仅被授权接收至少15分钟 之前的金融报价。从这种金融市场数据环境中去除消息管理服务器就 去除了在金融市场数据环境中对由消息接收设备接收的来自消息发 送设备的消息进行管理的能力。
现有消息传送环境的另外的缺点,例如参考图1在以上描述的例 子包含一种情形,其中消息管理服务器接收来自主动消息发送设备和 备用消息发送设备两者的应用消息,以便在主动消息发送设备出故障 的情况下提供冗余。在现有消息传送环境中从主动消息发送设备故障 转移到备用消息发送设备常常花费许多秒并导致整体消息传送等待 时间实际增加。这样,很需要改进现有技术。

发明内容
本发明公开了在高速、低等待时间数据通信环境中用于同步主动 馈送适配器和备用馈送适配器的方法、装置和产品,其包括由流管 理服务器安排从主动馈送适配器建立到订阅客户设备的主动消息流, 主动馈送适配器的特征在于主动馈送适配器状态,主动消息流能够把 主动应用消息通信给订阅客户设备,每个主动应用消息的特征在于主 动源流序列号和主动消息序列号;由流管理服务器安排从备用馈送适 配器建立到订阅客户设备的备用消息流,备用馈送适配器的特征在于 备用馈送适配器状态,备用消息流能够把表示主动应用消息的复制的 备用应用消息通信给订阅客户设备,每个备用应用消息的特征在于备 用源流序列号和备用消息序列号;在备用馈送适配器的备用消息传送 中间件(messaging middleware)中接收来自主动馈送适配器的主动消 息传送中间件的主动馈送适配器状态;由备用馈送适配器确定备用馈 送适配器状态是否与主动馈送适配器状态同步;由备用馈送适配器依 据备用馈送适配器状态是否与主动馈送适配器状态同步来管理备用 馈送适配器的工作。


本发明的示例性实施例将仅仅作为例子并参考附图进行描述
图l显示方块图,示出用于数据通信的典型消息传送环境。
图2显示网络和方块图,示出在根据本发明示例性实施例的高
速、低等待时间数据通信环境中用于同步主动馈送适配器和备用馈送
适配器的示例性计算机数据处理系统。
图3显示自动计算机器的方块图,包括在根据本发明示例性实施
例的高速、低等待时间数据通信环境中用于同步主动馈送适配器和备
用馈送适配器的订阅客户设备的例子。
图4显示流程图,示出在根据本发明示例性实施例的高速、低等
待时间数据通信环境中用于同步主动馈送适配器和备用馈送适配器
的示例性方法。
图5显示流程图,示出在根据本发明示例性实施例的高速、低等 待时间数据通信环境中用于同步主动馈送适配器和备用馈送适配器 的另一种示例性方法。
图6显示流程图,示出在根据本发明示例性实施例的高速、低等 待时间数据通信环境中用于同步主动馈送适配器和备用馈送适配器 的又一种示例性方法。
图7显示流程图,示出在根据本发明示例性实施例的高速、低等 待时间数据通信环境中用于同步主动馈送适配器和备用馈送适配器 的再一种示例性方法。
图8显示流程图,示出在根据本发明示例性实施例的高速、低等 待时间数据通信环境中用于同步主动馈送适配器和备用馈送适配器 的再一种示例性方法。
相同的附图标记通常表示本发明示例性实施例的相同部分。
具体实施例方式
从图2开始,参考附图描述在根据本发明实施例的高速、低等待
15时间数据通信环境中用于同步主动馈送适配器和备用馈送适配器的
示例性方法、装置和产品。图2显示网络和方块图,示出在根据本发 明实施例的高速、低等待时间数据通信环境(201)中用于同步主动馈送 适配器和备用馈送适配器的示例性计算机数据处理系统。图2的系统 通常工作在根据本发明实施例的高速、低等待时间数据通信环境中用 于同步主动馈送适配器和备用馈送适配器,如下所述流管理服务器 (212)安排从主动馈送适配器(208)建立到订阅客户设备(210)的主动消 息流(280),其中主动馈送适配器(208)的特征在于主动馈送适配器状 态。馈送适配器状态是馈送适配器在任何给定时刻用于执行数据处理 的计算机存储器中值的集合。主动消息流(280)能够把主动应用消息通 信给订阅客户设备(210),其中每个主动应用消息的特征在于主动源流 序列号和主动消息序列号。流管理服务器(212)安排从备用馈送适配器 (206)建立到订阅客户设备(210)的备用消息流(282),其中备用馈送适 配器(206)的特征在于备用馈送适配器状态。备用消息流(282)能够把表 示主动应用消息的复制的备用应用消息通信给订阅客户设备。每个备 用应用消息的特征在于备用源流序列号和备用消息序列号。备用馈送 适配器(206)的备用消息传送中间件(277)接收来自主动馈送适配器 (208)的主动消息传送中间件(276)的主动馈送适配器状态。备用馈送适 配器(206)确定备用馈送适配器状态是否与主动馈送适配器状态同步。 备用馈送适配器(206)依据备用馈送适配器状态是否与主动馈送适配 器状态同步来管理备用馈送适配器(206)的工作。
图2中示出的高速、低等待时间数据通信环境(201)包括高速、低 等待时间数据通信网络(200)。网络(200)包括主动馈送适配器(208)、 备用馈送适配器(206)、流管理服务器(212)和订阅客户设备(210),以 及将这些设备(206, 208, 212, 210)连接在一起用于数据通信的基础 设施。图2的网络(200)被称为"高速、低等待时间",这是因为在与网 络(200)相连的设备之间在由流管理服务器(212)管理的消息流上发送 的应用消息旁路通过流管理月l务器(212)。例如,在主动消息流(280) 上从主动馈送适配器(208)到订阅客户设备(210)的应用消息旁路通过流管理服务器(212)。类似地,在备用消息流(282)上从备用馈送适配器 (206)到订阅客户设备(210)的应用消息旁路通过流管理服务器(212)。 虽然对于流管理服务器(212)中的处理而言这种消息不被延迟,但是流 管理服务器(212)在与高速、低等待时间数据通信网络(200)相连的设备 之间保留对流(280, 282)的管理。
进一步有助于网络(200)的"高速、低等待时间"性,读者将注意 到网络(200)不包括路由器,其是一种计算机网络设备,主要功能是将 数据包向前传送到它们的目的地。相反,每个设备(206, 208, 212, 210)通过与连接到网络(200)的其它设备直接连接来提供它自身用于 数据通信的路由功能。因为网络(200)不包括专用于路由数据包的计算 机网络设备,所以可以将图2的网络(200)称为"最小化路由网络"。
虽然图2中示出的示例性网络(200)不包括路由器,但是这种最小 化路由网络仅用于说明。实际上,在根据本发明实施例的高速、低等 待时间数据通信环境中用于同步主动馈送适配器和备用馈送适配器 的一些高速、低等待时间网络可以包括路由器。
如上所述,图2中描绘的高速、低等待时间数据通信环境(201)包 括两个消息流(280, 282)。消息流是发送i殳备的通信端点和至少一个 接收设备的通信端点之间的数据通信信道。通信端点包括用于发送设 备或接收设备的网址和端口 。可以将消息流实施为多点传送数据通信 信道。在多点传送数据通信信道中,"一对多"关系存在于消息的目的 地地址和接收设备的通信端点之间。即,每个目的地地址识别一组4妄 收设备的通信端点,流的每个消息被复制到所述接收设备上。可以使 用例如用户数据报协议("UDP")和因特网协议("IP")实现多点传送数 据通信信道。除了多点传送数据通信信道之外,还可以将消息流实现 为单点传送数据通信信道。在单点传送数据通信信道中,"一对一"关 系存在于消息的目的地地址和接收设备的通信端点之间。即,每个目 的地地址唯一识别单个接收设备的单个通信端点。可以使用例如传输 控制协议("TCP")和IP来实现单点传送数据通信信道。
图2的示例性系统包括通过有线连接(262)与高速、低等待时间数据通信网络(200)相连的流管理服务器(212)。图2的流管理服务器(212) 是计算机设备,具有安装于其上的流管理模块(228)、馈送适配器库 (202)、认证模块(230)、授权模块(234)和授权策略(235)。流管理模块 (228)是一组计算机程序指令,配置成用于在根据本发明实施例的高 速、低等待时间数据通信环境中同步主动馈送适配器和备用馈送适配 器。通过安排从主动馈送适配器(208)建立到订阅客户设备(210)的主动 消息流(280)、以及安排从备用馈送适配器(206)建立到订阅客户设备 (210)的备用消息流(282),流管理模块(228)通常工作用于在根据本发 明实施例的高速、低等待时间数据通信环境中同步主动馈送适配器和 备用馈送适配器。另外,流管理模块(228)可以通过提供例如认证订阅 客户设备(210)并授权该订阅客户设备(210)在消息流(280, 282)上接收 来自馈送适配器(206 , 208)的应用消息的安全服务来管理消息流。
可以使用馈送适配器库(202)来实施流管理才莫块(228)和馈送适配 器(206, 208)之间的通信。馈送适配器库(202)是通过馈送适配器库 API(204)提供给流管理模块(228)的动态链接库或静态链接库中包含 的一组函数。流管理服务器(212)的流管理模块(228)可以通过馈送适配 器库(202)来管理馈送适配器(206, 208),包括向馈送适配器(206, 208) 提供来自订阅客户设备的对于消息流的请求。由流管理模块(228)使用 的馈送适配器库(202)的函数可以经由网络(200)通过使用JavaTM远程 方法调用("RMI")API、使用网络服务、或本领域技术人员想到的任 何其它通信实施方式调用CORBA对象的成员方法(member method)、 调用远程对象的成员方法而与主动馈送适配器(208)通信(Java和所有 基于Java的商标和标识都是在美国、其他国家、或两者国内的Sun Microsystems公司的商标。)
"CORBA,,是指公共对象请求代理体系结构, 一种由对象管理组 ("OMG,,)生产的用于可互操作企业应用的计算才几工业规范。CORBA 是用于由OMG在1991年首次z^布的远程过程调用的标准。CORBA可 以祐j人为是一种产生远程过程调用的面向对象的方式,虽然CORBA 也支持在传统RPC中不存在的特征。CORBA使用陈述性语言,接口
18定义语言("IDL"),来描述对象的接口 。 IDL方式的接口描述被编译以 产生用于客户方面的"存根,,和服务器方面上的"骨架"。使用这种产生 的代码,在例如C十+或Java的面向对象编程语言中实现的远程方法调 用看似在局域对象中局域成员方法的调用。
JavaTM远程方法调用API是一种用于执行由Sun MicrosystemsTM 公布的远程程序调用的Java应用程序接口 。 JavaTM RMI API是一种在 独立Java虚拟机器(通常在独立计算机上运行)中存在的Java对象之间 进行远程程序调用的面向对象的方式。Ja vaTM RMI API使用远程程序 对象接口来描述驻留在服务器上的远程对象。远程程序对象接口在 RMI注册表中被公布,Java客户可以在这里获得对远程Java对象的远 程接口的参考。使用为客户方面编译的"存根"和服务器方面上的"骨 架"来提供网络连接操作,Java RMI允许Java客户象任何其他本地 Java对象那样访问远程Java对象。
除了管理馈送适配器(206, 208)之外,图2的流管理模块(228)通 过提供安全服务,例如认证订阅客户设备(210)和授权订阅客户设备 (210)在消息流(280, 282)上接收来自馈送适配器(206, 208)的应用消 息,而对消息流进行管理。图2的认证模块(230)是能够通过暴露的认 证应用编程接口 ("API")(232)把认证安全服务提供给流管理模块(228) 的一组计算机程序指令。认证是一种验证实体身份的过程。在图2的 示例性系统中,认证模块(230)验证订阅客户设备(210)的身份。认证模 块(230)可以使用例如共享密钥基础设施或公共密钥基础设施的多种 安全基础设施来提供认证安全服务。
图2的授权模块(234)是能够通过暴露的授权API(236)给流管理模 块(228)提供授权安全服务的一组计算机程序指令。授权是只允许资源 被已经获得授权使用该资源的资源使用者使用的 一种过程。在图2的 例子中,授权模块(234)对订阅客户设备(210)被授权在消息流(280, 282)上接收的应用消息进行识别。图2的授权模块(234)使用授权策略 (235)来提供授权安全服务。授权策略(235)是管理认证实体的特权、以 在消息流上发送或接收应用消息的一组规则。在金融市场数据环境中,例如,可以授权认证实体接收包括用于一些金融证券而非其他证
券的金融报价的应用消息。授权策略(235)可以基于个别实体或组中实 体成员关系准予特权。
在图2的示例性系统中,主动馈送适配器(208)通过有线连接(260) 与高速、低等待时间数据通信网络(200)相连。主动馈送适配器(208) 是计算机设备,有将具有第一格式的主动馈送适配器源流(214)上的应 用消息转换成具有第二格式的主动馈送适配器输出流(216)上的应用 消息、并将主动馈送适配器输出流(216)上的应用消息发送给订阅客户 设备的能力。图2的主动馈送适配器源流(214)是从馈送源到主动馈送 适配器(208)的消息流。图2的主动馈送适配器输出流(216)是受到流管 理服务器(212)管理从主动馈送适配器(208)到订阅客户设备(210)的消 息流。虽然主动馈送适配器在主动馈送适配器源流(214)上接收具有第 一格式的应用消息并在主动馈送适配器输出流(216)上发送具有第二 格式的应用消息,但是读者应该注意到在馈送适配器源流上接收的应 用消息在本说明书中被称为"源流消息",以将这种消息与在馈送适配 器输出流上发送给订阅客户设备的应用消息区分开。
在图2的例子中,主动馈送适配器(208)在主动馈送适配器源流 (214)上接收来自馈送源(213)的主动源流消息。馈送源(213)是计算机 设备,能够将数据聚集到源流消息中并在一个或多个馈送适配器源流 上将该消息发送给馈送适配器。在金融市场数据环境中,例如,可以 将馈送源(213)实施为受期权价格报告管理局(Options Price Reporting Anthority)("OPRA,,)控制的馈送源。OPRA是用于由美国国 内证券期权的交易产生的金融市场信息的证券信息处理器。OPRA发 布的核心信息是最近的卖出报告和报价。金融市场数据环境中馈送源 的其他例子可以包括受控于证券买卖汇总记录带协会("CTA,,)或 Nasdaq Stock Market^^司的馈送源。CTA监一见纽约股票交易所和美国 股票交易所中所列证券的实时交易和报价信息的散布。Nasdaq Stock Market公司操作NASDAQ Market CenterSM,其是美国国内基于电子 屏幕的权益证券市场。在金融市场数据环境中,馈送适配器源流被称为"金融市场数据馈送"。
读者将注意到图2示出两个主动馈送适配器源流(214)。图2的每 个馈送适配器源流(214)在主动馈送适配器中由主动源流标识符进行 识别。图2的馈送源(213)可以使用多于 一个的馈送适配器源流将源流 消息发送给主动馈送适配器(208),这是因为在单个源流上发送消息所 需的带宽是不可用的。在金融市场数据环境中,例如,馈送源可以在 一个消息流上为其订单符号开始于字母"A"至"M,,的金融证券发送分 笔成交消息,而在另一个消息流上为开始于字母"N"至"Z"的金融证券 发送分笔成交消息。
图2的主动馈送适配器(208)具有安装在其上的转换模块(220)、转 换器表(222)、转换器函数(224)、消息(284)、消息模型(244)、消息传 送中间件(276)和传输引擎(278)。转换模块(220)是软件组件,包括计 算机程序指令,配置用于将具有第一格式在主动馈送适配器源流(214) 上接收的源流消息转换成具有第二格式的应用消息,以用于在主动馈 送适配器输出流(216)上发送给订阅设备。转换模块(220)还包括计算机 程序指令,配置成用于保存、访问和修改例如主动消息转换应用状态
和主动消息转换应用健康状态的主动馈送适配器状态。
主动消息转换应用状态是主动馈送适配器的计算机存储器中存 储的值的集合,转换模块(220)使用所述主动馈送适配器以将源流上接 收的源流消息转换成用于在输出流上发送的应用消息。图2的转换模 块(220)可以在源流消息上增加主动消息转换应用状态的值以产生应 用消息,或可以使用主动消息转换应用状态的值执行管理服务。通常 主动消息转换应用状态包括从一系列源流消息推导出的计算值。在金 融市场数据环境中,例如,主动消息转换应用状态可以包括表示证券 的日交易量、该日证券交易的最高价格、或该日证券交易的最低价格 的值。
主动消息转换应用健康状态是由主动馈送适配器或一些其他馈 送适配器使用的主动馈送适配器的一个或多个度量,用于估计与其他 馈送适配器相比主动馈送适配器的相对性能。可以将主动消息转换应用健康状态实施为主动馈送适配器上可用的计算机存储器、主动馈送 适配器的处理器使用率、对主动馈送适配器的误差计数、对主动馈送 适配器的消息传送速率、或对本领域技术人员想到的任何其他度量的 测量。
转换模块(220)根据转换器表(222)将应用消息从第一格式转换到 第二格式。图2的转换器表(222)是指定能够将应用消息从一种格式转 换到另一种格式的转换器函数(224)的表格。利用多个转换器表,转换 模块(220)就可以将消息从多种输入格式转换到多种输出格式。在图2 的例子中,转换器表(222)指定能够将接收到的主动源流消息从具有第 一格式的主动馈送适配器源流(214)转换到具有第二格式的应用消息, 以用于在主动馈送适配器输出流(216)上发送给订阅客户设备的转换 器函数(224)。可以使用例如可扩展标记语言("XML")文档的结构化文 档实施图2的转换器表(222)。
图2中的转换器函数(224)是能够将应用消息中的数据区从一种 格式转换成另 一种格式、或将数据区的值从一个值转换成另 一个值的 函数。转换器函数(224)可以例如将16位整数转换成32位整数,将存储 在字符串区中的数转换成64位双浮点值,通过本领域技术人员想到的 一种或任何其他的转换来增加特定数据区的值。图2的转换模块(220) 通过由转换器函数(224)暴露的 一组转换器函数API(226)访问转换器 函数(224)。
在图2的例子中,转换模块(220)使用转换器函数(224)将主动源流 消息转换成主动应用消息(284)。图2的主动应用消息(284)表示用于发 送给订阅客户设备(210)的主动应用消息。消息(284)的格式在消息模型 (244)中被指定。消息模型(244)是定义消息(284)的结构和格式的元数 据。可以将消息模型(244)附于主动应用消息(284)并与后者一起发送给 订阅客户设备(210)。但是,通常当流管理服务器(212)安排消息流(280) 时,订阅客户设备(210)和馈送适配器(206, 208)可以从流管理服务器 (212)接收消息模型(244)或其标识符。可以使用例如XML文档、Java 对象、C+十对象的结构化文档、或本领域技术人员想到的任何其他实
22施方式来实施消息模型。
在图2的转换模块(220)在源流消息上执行数据处理之前,转换模 块(220)从馈送源(213)接收源流消息。图2的转换模块(220)可以通过主 动馈送适配器(208)的接收传输引擎(未示出)来接收源流消息。接收传 输51擎是在网络堆栈的传输层中工作的软件模块,并可以根据TCP/IP 协议、UDP/IP协议、或本领域技术人员想到的任何其他数据通信协议 来实施。接收传输引擎可以把接收到的源流消息直接提供给转换模块 (220)或提供给消息传送中间件(276),其随后将源流消息提供给转换模 块。
在图2的转换模块(220)对从馈送源(213)接收的应用消息执行数 据处理之后,转换模块(220)将该应用消息提供给消息传送中间件 (276)。图2的消息传送中间件(276)是软件组件,包括配置成用于管理 从转换模块(220)接收的应用消息并将该应用消息提供给传输引擎 (278)、以在主动馈送适配器输出流(216)上发送给订阅客户设备的计算 机程序指令。转换模块(220)通过由消息传送中间件(276)暴露的消息传 送中间件API(266)与消息传送中间件(276)交互。
除了管理应用消息之外,图2的消息传送中间件(276)还在主动馈 送适配器(208)、备用馈送适配器(206)和订阅客户设备(210)之间提供 高度可应用的服务,并在主动馈送适配器(208)和备用馈送适配器(206) 之间提供同步服务。这种同步服务包括将主动馈送适配器状态发送给 备用馈送适配器。图2的消息传送中间件(276)通过主动馈送适配器 (208)和备用馈送适配器(206)之间的数据通信信道使用例如RMI对象 的成员方法、CORBA对象的成员方法、网络服务、或本领域技术人 员想到的任何其他通信实施方式提供同步服务。
如上所述,主动馈送适配器状态是主动馈送适配器在任何给定时 刻用于执行数据处理的计算机存储器中值的集合。主动馈送适配器状 态可以包括例如以上讨论的主动消息转换应用状态或主动消息转换 应用健康状态。但是,主动馈送适配器状态可以包括在数据处理中使 用的其他值,例如主动消息流状态。主动消息流状态是从主动馈送适配器(208)到订阅客户设备(210)的主动消息流(280)的状态。主动消息 流状态的特征可在于用于发送给订阅客户设备(210)的主动消息传送 中间件(276)中下一个主动应用消息的主动消息序列号的值和主动源 流序列号的值。
可以通过对每个消息流状态的消息序列号和源流序列号的值进 行比较,使用两个馈送适配器的消息流状态来确定来自两个馈送适配 器的消息流是否同步。源流序列号唯一标识特定应用消息的内容。具 有相同源流序列号的两个消息具有相同内容。无论消息的内容怎样, 由馈送适配器发送的每个应用消息都被分配消息序列号。当备用消息 流和主动消息流上消息的相同消息序列号是指具有相同内容的消息 时,i^为备用消息流与主动消息流同步。即,当主动消息流状态的主 动消息序列号和主动源流序列号的值的组合与备用消息流状态的备 用消息序列号和备用源流序列号的值的组合匹配时,消息流被称为 "同步"。
图2的传输引擎(278)是在由国际标准化组织发布的OSI协议堆栈 的传输层和网络层中工作的软件组件。传输引擎(278)在网络连接设备 之间提供数据通信服务。可以根据UDP/IP协议、TCP/IP协议或本领 域技术人员想到的任何其他数据通信协议实施传输引擎。传输引擎 (278)包括能够将由消息传送中间件(276)提供的应用消息封装到包中 并通过主动消息流(280)将包发送给订阅客户i殳备(210)的 一组计算机 程序指令。消息传送中间件(276)经过由传输引擎(278)暴露的传输 API(268)来操作传输引擎(278)。
在图2的示例性系统中,通过有线连接(270)使备用馈送适配器 (206)与高速、低等待时间数据通信网络(200)相连。备用馈送适配器 (206)是计算机设备,拥有将备用馈送适配器源流(218)上具有第一格式 的备用消息转换成备用馈送适配器输出流(217)上具有第二格式的备 用消息、并将备用馈送适配器输出流(217)上的备用消息发送给订阅客 户设备的能力。备用馈送适配器源流(218)是从馈送源(213)到备用馈送 适配器(206)的消息流。备用馈送适配器输出流(217)是受流管理服务器
24(212)管理、从备用馈送适配器(206)到订阅客户设备(210)的消息流。
图2的备用馈送适配器(206)已经在其上安装了转换模块(221)、转 换器表(223)、暴露转换器函数API(290)的转换器函数(225)、用于从备 用馈送适配器(206)发送给订阅客户设备(210)的备用应用消息(288)、 消息模型(244)、暴露消息传送中间件API(267)的消息传送中间件 (277)、和暴露传输引擎API(269)的传输引擎(279)。安装在备用馈送适 配器(206)上的组件以类似于安装在主动馈送适配器(208)上组件的方 式进行工作。
另外,图2的备用馈送适配器(206)的消息传送中间件(277)包括一 组计算机程序指令,用于在根据本发明实施例的高速、低等待时间数 据通信环境中同步主动馈送适配器和备用馈送适配器。图2的消息传 送中间件(277)—般在根据本发明实施例的高速、低等待时间数据通信 环境中用于通过接收来自主动馈送适配器的主动消息传送中间件的 主动馈送适配器状态、确定备用馈送适配器状态是否与主动馈送适配 器状态同步、依据备用馈送适配器状态是否与主动馈送适配器状态同 步来管理备用馈送适配器的工作、以及接收多个备用馈送适配器的每 个的备用消息转换应用健康状态,同步主动馈送适配器和备用馈送适 配器。例如,备用馈送适配器的消息传送中间件(277)可以接收来自主 动馈送适配器的主动消息流状态,确定主动消息流状态是否与备用消 息流状态匹配,并将备用消息流状态i殳置成与主动消息流状态匹配。
类似于消息传送中间件(277),图2例子中备用馈送适配器(206) 的转换模块(221)还包括一组计算机程序指令,用于在根据本发明实施 例的高速、低等待时间数据通信环境中同步主动馈送适配器和备用馈 送适配器。图2的转换模块(221)—般在根据本发明实施例的高速、低 等待时间数据通信环境中用于通过确定备用馈送适配器状态是否与 主动馈送适配器状态同步、并依据备用馈送适配器状态是否与主动馈 送适配器状态同步来管理备用馈送适配器的工作,同步主动馈送适配 器和备用馈送适配器。例如,备用馈送适配器的转换模块(221)可以接 收来自备用馈送适配器的消息传送中间件的主动消息转换应用状态,确定主动消息转换应用状态是否与备用消息转换应用状态匹配,并设 置备用消息转换应用状态与主动消息转换应用状态匹配。
图2示例性系统中的订阅客户设备(210)通过有线连接(264)与高 速、低等待时间数据通信网络(200)相连。图2的订阅客户设备(210)是 能够订阅由不同馈送适配器发送的消息流的计算机设备。在金融市场 数据环境中,例如,订阅客户设备可以在由受金融证券经纪人控制的 馈送适配器提供的消息流上订阅分笔成交消息来接收对特定证券的 出价和要价。
在图2的例子中,订阅客户设备(210)已经在其上安装了应用 (238)、消息库(248)、流管理库(272)、消息传送中间件(252)和传输引 擎(256)。图2的应用(238)是对从馈送适配器(208, 206)之一接收的应 用消息(240)中包含的数据进行处理的软件组件。应用(238)可以处理数 据以便由订阅客户设备(210)自身使用、以便将数据供给另一个馈送适 配器、或以便将数据供给一些其他设备。在金融市场数据环境中,安 装在订阅客户设备上的应用可以是基于分笔成交消息中包含的报价 来买卖金融证券的程序交易应用。该应用也可以是增值型应用,其为 分笔成交消息供给例如用于特定证券的最佳出价和要价的信息,这通 常不包括在由馈送源(213)提供的分笔成交消息中。接着订阅客户设备 可以将该分笔成交消息发送给馈送适配器,以便再卖给其他订阅客户 设备。
在图2的例子中,应用消息(240)表示从馈送适配器(206, 208)中 之一接收且具有由消息模型(244)指定的格式的应用消息。图2的应用 (238)使用消息库(248)处理包含在应用消息(240)中的数据。消息库 (248)是作为用于根据消息模型(244)产生、访问和操纵消息(240)的计 算机程序指令的一组函数。消息库(248)可通过由消息库(248)暴露的消 息API(250)而由应用(238)访问。
可以使用流管理库(272)实施订阅客户设备(210)和流管理服务器 (212)之间的通信。流管理库(272)是通过流管理库API(274)提供给应用 (238)的动态链接库或静态链接库中包含的一组函数。订阅客户设备(210)的应用(238)可以通过流管理库(272)例如请求订阅来自馈送适配 器的消息、修改现存消息订阅、或取消消息订阅。应用(238)使用的流 管理库(272)的函数可以经由网络(200)通过使用Java RMI API、使用 网络服务、或本领域技术人员想到的任何其它通信实施方式调用 CORBA对象的成员方法、调用远程对象的成员方法来与流管理服务 器(212)通信。
在应用(238)处理消息(240)中包含的数据之前,应用(238)从消息 传送中间件(252)接收消息(240),消息传送中间件(252)随后通过传输 引擎(256)接收来自馈送适配器(208, 206)之一的应用消息(240)。消息 传送中间件(252)是在订阅客户设备、主动馈送适配器(208)和备用馈送 适配器(206)之间提供高度可用服务的软件组件。另外,消息传送中间 件(252)为流管理服务器(212)提供消息管理服务。这种消息管理服务可 以包括将应用(238)在消息流上收发消息的能力限制到满足某些约束 的消息。应用(238)和流管理库(272)通过消息传送中间件API(254)与消 息传送中间件(252)交互。
图2的传输引擎(256)是在由国际标准化组织发布的OSI协议堆栈 的传输层和网络层中工作的软件组件。传输引擎(256)在网络连接设备 之间提供数据通信服务。可以根据UDP/IP协议、TCP/IP协议或本领 域技术人员想到的任何其他数据通信协议实施传输引擎。传输引擎 (256)包括从馈送适配器(208, 206)通过消息流(280, 282)接收包、由 接收到的包解封装应用消息、并将应用消息提供给消息传送中间件 (252)的一组计算机程序指令。消息传送中间件(252)通过由传输引擎 (256)暴露的传输API(258)操作传输引擎(256)。
图2的示例性系统中示出的服务器和其他设备只用于说明,而非 限制。可以使用例如计算机服务器或工作站的通用计算机、例如个人 数字助理("PDA,,)或移动电话的手持计算机设备、或本领域技术人员 想到的配置用于根据本发明实施例的数据处理的任何其他自动计算 机器来实施在根据本发明实施例的高速、低等待时间数据通信环境中 用于同步主动馈送适配器和备用馈送适配器的设备。构成图2中所示示例性系统的服务器和其他设备的布置只用于说 明,而非限制。虽然与图2中网络(200)的连接被描绘和描述成有线连 接的方式,但是读者将注意到可以根据本发明的多种实施例使用无线 连接。另外,用于根据本发明多种实施例的数据处理系统可以包括本 领域技术人员想到的图2中未示出的其他服务器、路由器、其他设备 和对等结构。这种数据处理系统中的网络可以支持许多数据通信协 议,包括例如传输控制协议("TCP")、因特网协议("IP")、超文本传输 协议("HTTP")、无线接入协i义("WAP")、手持"i殳备传输协"i义 ("HDTP,,)、和本领域技术人员想到的其他协议。在除了图2中所示之 外,本发明的多种实施例还可以在多种硬件平台上实施。
在某些实施例中,在根据本发明的高速、低等待时间数据通信环 境中同步主动馈送适配器和备用馈送适配器可以利用一个或多个订 阅客户设备、流管理服务器、和馈送适配器、计算机,即自动计算机 器来实施。因此,为了进一步解释,图3显示自动计算机器的方块图, 包括在根据本发明实施例的高速、低等待时间数据通信环境中用于同 步主动馈送适配器和备用馈送适配器的订阅客户设备(210)的例子。图 3的订阅客户设备(210)包括至少一个计算机处理器(156)或"CPU"以及 随机存取存储器(168)("RAM"),其通过高速存储总线(166)和总线适配 器(158)连接至处理器(156)和订阅客户设备的其他组件。
RAM(168)中存储的是应用(238)、应用消息(240)、消息模型(244)、 消息库(248)、消息传送中间件(252)、流管理库(272)和传输引擎(256)。 每个应用消息(240)是包括一个或多个数据区并在消息流上从一个设 备发送给另一个设备的一定量的数据。应用消息通常由网络协议堆栈
述,应用消息可以表示数字或文本信息、图像、加密信息、计算机程 序指令等。例如,在金融市场数据环境中,消息通常被称为"分笔成
交消息"并表示例如金融报价或金融新闻的金融市场数据。可以使用 例如XML文档、Java对象、€++对象的结构化文档、或本领域:技术人 员想到的任何其他实施方式来实施每个应用消息(240)。消息模型(244)是定义消息(240)的结构和格式的元数据。也可以使用例如XML文档、 Java对象、C十+对象的结构化文件、或本领域技术人员想到的任何其 他实施方式来实施消息模型(244)。图3中示出的应用(238)、消息库 (248)、消息传送中间件(252)、流管理库(272)和传输引擎(256)都是软 件组件,即计算机程序指令,如参考图2所上所述地工作。
RAM(168)中还存储操作系统(154)。用于根据本发明实施例的订 阅客户设备中的操作系统包括UNIX 、 Linux 、 Microsoft Windows NT 、 IBM的AIX⑧、IBM的i5/OS⑧,和本领域技术人员 想到的其他操作系统。图3例子中的操作系统(154)、应用(238)、消息 (240)、消息模型(244)、消息库(248)、消息传送中间件(252)和传输引 擎(256)都在RAM(168)中示出,但是这种软件的许多组件通常也存储 在非易失性存储器中,例如存储在盘驱动器(170)上。
UNIX是美国和其他国家国内The Open Group的注册商标; Linux是美国、其他国家或两者国内Linus Torvalds的注册商标; Microsoft Windows和Windows NT是美国、其他国家或两者国内 Microsoft Corporation的商标;而IBM, AlX和i5/OS是美国、其他国 家或两者国内国际商业机器乂>司(International Business Machines Corporation)的注册商标。
图3的示例性订阅客户设备(210)包括总线适配器(158)、包含用于 高速总线的驱动电子装置的计算机硬件组件、前侧总线(162)、视频总 线(164)和存储总线(166)、以及用于更慢扩展总线(160)的驱动电子装 置。根据本发明实施例使用订阅客户设备中的总线适配器的例子包括 Intel Northbridge、 Intel Memory Controller Hub、 Intel Southbridge 和Intel I/O Controller Hub。用于根据本发明实施例的订阅客户设备 中所用的扩展总线的例子可以包括外围设备互连("PCI")总线和PCI Express("PCIe,,)总线。
图3的示例性订阅客户设备(210)还包括通过扩展总线(160)和总 线适配器(158)与处理器(156)和示例性订阅客户设备(210)的其他组件 相连接的盘驱动适配器(172)。盘驱动适配器(172)以盘驱动器(170)的
29形式将非易失数据储存器连接到示例性订阅客户设备(210)。用于订阅 客户设备的盘驱动适配器包括电子集成驱动器("IDE")适配器、小型
计算机系统接口("scsr,)适配器、以及本领域技术人员想到的其他适 配器。另外,非易失性计算机存储器可以为订阅客户设备实施为光盘
驱动器、电可擦除可编程只读存储器(被称为"EEPROM"或"Flash"存 储器)、RAM驱动器等,如本领域技术人员所想到的。
图3的示例性订阅客户设备(210)包括 一 个或多个输入/输出 ("I/0")适配器(178)。订阅客户设备中的I/0适配器通过例如软件驱动 器和计算机硬件实施面向用户的输入/输出,所述软件驱动器和计算机 硬件用于控制输出到例如计算机显示屏的显示设备、以及来自例如键 盘和鼠标的用户输入设备(l 81)的用户输入。图3的示例性订阅客户设 备(210)包括视频适配器(209),其是I/0适配器的一个例子,特别设计 用于图形输出到例如显示屏或计算机监视器的显示设备(l80)。视频适 配器(209)通过高速视频总线(164)、总线适配器(158)和同样是高速总 线的前侧总线(162)与处理器(156)相连。
图3的示例性订阅客户设备(210)包括通信适配器(167),用于与其 他计算机(182)数据通信和用于与高速、低等待时间数据通信网络(200) 数据通信。这种数据通信可以通过RS-232连接、通过例如通用串行总 线("USB")的外部总线、通过例如IP数据通信网络的数据通信网络、 以及本领域技术人员想到的其他方式来串行执行。通信适配器实施数 据通信的硬件级,通过数据通信的硬件级一 台计算机直接或通过数据 通信网络将数据通信发送给另 一 台计算机。在根据本发明实施例的高 速、低等待时间数据通信环境中用于同步主动馈送适配器和备用馈送 适配器的通信适配器的例子包括用于有线拨号通信的调制解调器、用 于有线数据通信网络通信的IEEE 802.3以太网适配器、和用于无线数 据通信网络通信的IEEE 802.11b适配器。
虽然参考示例性订阅客户设备讨论了图3 ,但是读者将注意到包 含在根据本发明实施例的高速、低等待时间数据通信环境中用于同步 主动馈送适配器和备用馈送适配器的示例性流管理服务器和示例性
30馈送适配器的自动计算机器类似于图3的示例性订阅客户设备(210)。 即,这种示例性流管理服务器和馈送适配器包括一个或多个处理器、 总线适配器、总线、RAM、视频适配器、通信适配器、1/0适配器、 盘驱动适配器和本领域技术人员想到的类似于图3的示例性订阅客户 设备(210)的其他组件。
为了进一步解释,图4显示流程图,示出在根据本发明实施例的 高速、低等待时间数据通信环境中用于同步主动馈送适配器和备用馈 送适配器的示例性方法。图4的方法包括由流管理服务器安排(400) 从主动馈送适配器建立到订阅客户设备的主动消息流(280)。主动馈送 适配器的特征在于主动馈送适配器状态(406)。图4的主动馈送适配器 状态(406)表示计算机存储器中指定主动馈送适配器的特定状态的值。 主动馈送适配器状态可以包括例如如上所述的主动消息流状态、主动 消息转换应用状态、或主动消息转换应用健康状态。
图4的主动消息流(280)表示订阅客户设备的通信端点和馈送适 配器的通信端点之间的数据通信信道。消息流可以被实施为使用 UDP/IP协议的多点传送数据通信信道或使用TCP/IP协议的单点传送 数据通信信道,如上参考图2所述。主动消息流(280)能够从主动馈送 适配器到订阅客户设备通信主动应用消息(404)。每个主动应用消息 (404)表示用于由主动馈送适配器在主动消息流(280)上发送给订阅客 户设备的应用消息。
图4的每个主动应用消息(404)的特;f正在于主动源流序列号(408) 和主动消息序列号(410)。图4的主动源流序列号(408)表示在由主动馈 送适配器在相同源流上接收的其他主动源流消息之中,唯一标识由主 动馈送适配器接收的源流消息的序列号,所述源流消息被转换成主动 应用消息(404)。主动源流序列号(408)也为特定主动源流消息提供相对 于主动馈送适配器中接收的其他主动源流消息的相关发送顺序。
图4的主动消息序列号(410)表示在用于从特定主动馈送适配器 发送给订阅客户设备的其他应用消息之中唯一标识主动应用消息的 序列号。类似于主动源流序列号(408),主动消息序列号(410)为特定主动应用消息提供相对于从主动馈送适配器发送的其他主动应用消息 的相关发送顺序。
在图4的方法中,由流管理服务器安排(400)从主动馈送适配器建 立到订阅客户设备的主动消息流(280)可以通过接收来自订阅客户设 备的订阅请求以订阅来自馈送适配器的消息来执行。可以将订阅请求 实施为XML文档、在订阅客户设备上对RMI对象的成员方法的调用、 或本领域技术人员想到的任何其他实施方法。订阅请求可以包括订阅 客户设备请求从馈送适配器接收的消息的主题。主题表示订阅客户设 备请求的消息的特征。订阅客户设备可以使用主题来指定用于从馈送 适配器接收的消息的组。在金融市场数据环境中,例如,订阅客户设 备可以使用主题从OPRA馈送源请求分笔成交消息,所述OPRA馈送 源包括在芝加哥期权交易所 (Chicago Board Options Exchange"CBOE")上交易的IBM期权的报价,其包括在CBOE上对 IBM期权的最佳出价和最佳要价。
根据图4的方法由流管理服务器安排(400)从主动馈送适配器建 立到订阅客户设备的主动消息流(280)还可以包括向订阅客户设备提 供馈送适配器的目的地地址。用于馈送适配器的目的地地址是订阅客 户设备用于收听来自馈送适配器的消息的多点传送地址或单点传送 地址。订阅客户设备可以使用由流管理服务器提供的目的地地址来建 立从馈送适配器到订阅客户设备的主动消息流(280)。
在流管理服务器为馈送适配器提供目的地地址之前,图4例子中 的流管理服务器可以执行几个安全服务,以确保订阅客户设备仅接收 订阅客户设备被授权接收的来自馈送适配器的消息。在图4的方法中, 由流管理服务器安排(400)从主动馈送适配器建立到订阅客户设备的 主动消息流(280)也可以通过认证订阅客户设备并授权订阅客户设备 在消息流(280)上接收来自馈送适配器的消息来执行。可以通过验证由 订阅客户设备利用订阅请求提供的客户安全证书来执行认证订阅客 户设备。可以将客户安全证书实施成公共密钥基础设施中的数字签 名、安全令牌、或本领域技术人员想到的任何其他安全数据,用于认
32证订阅请求发起者的身份。授权订阅客户设备在消息流(280)上接收来 自馈送适配器的消息可以通过依据授权策略来识别与被认证订阅客 户设备有关的特权来执行。授权策略是对请求从馈送适配器接收数据 的被认证订阅客户设备的特权进行管理的 一组规则。
图4的方法还包括由流管理服务器安排(402)从备用馈送适配器 建立到订阅客户设备的备用消息流(282)。备用馈送适配器的特征在于 备用馈送适配器状态(416)。图4的备用馈送适配器状态(416)表示计算 机存储器中指定备用馈送适配器的特定状态的值。类似于主动馈送适 配器状态,备用馈送适配器状态可以包括例如备用消息流状态、备用 消息转换应用状态、或备用消息转换应用健康状态。在图4的方法中, 由流管理服务器安排(402)从备用馈送适配器建立到订阅客户设备的 备用消息流(282)可以用类似于通过流管理服务器安排(400)从主动馈 送适配器建立到订阅客户设备的主动消息流(280)的方式执行,如上所 述。
图4的备用消息流(282)表示订阅客户设备的通信端点和馈送适 配器的通信端点之间的数据通信信道。备用消息流(282)能够通信备用 应用消息(414),其表示主动应用消息(404)从备用馈送适配器到订阅客 户设备的复制。每个备用应用消息(414)表示由备用馈送适配器在备用 消息流(282)上发送给订阅客户设备的应用消息。
图4的每个备用应用消息(414)的特征在于备用源流序列号(418) 和备用消息序列号(420)。图4的备用源流序列号(418)表示在由备用馈 送适配器在相同源流上接收的其他备用源流消息之中,唯一标识由备 用馈送适配器接收的源流消息的序列号,所述源流消息被转换成备用 应用消息(414)。备用源流序列号(418)也为特定备用源流消息提供相对 于备用馈送适配器中接收的其他备用源流消息的相关发送顺序。
图4的备用消息序列号(420)表示在用于从特定备用馈送适配器 发送给订阅客户设备的其他应用消息之中唯一标识备用应用消息的 序列号。类似于备用源流序列号(418),备用消息序列号(420)为特定备 用应用消息提供相对于从备用馈送适配器发送的其他备用应用消息的相关发送顺序。
图4的方法还包括在备用馈送适配器的备用消息传送中间件中接 收(422 )来自主动馈送适配器的主动消息传送中间件的主动馈送适 配器状态。根据图4方法在备用馈送适配器的备用消息传送中间件中 接收(422)来自主动馈送适配器的主动消息传送中间件的主动馈送适 配器状态可以包括由主动消息传送中间件取回主动馈送适配器状态、 并由主动消息传送中间件通过数据通信信道将主动馈送适配器状态 发送给备用消息传送中间件,使用例如RMI对象的成员方法、CORBA 对象的成员方法、网络服务、或本领域技术人员想到的任何其他实施 方式实施所述数据通信信道。主动消息传送中间件可以从主动消息传 送中间件自身中存储的值、或从主动馈送适配器的消息转换应用获得 主动馈送适配器状态。
图4的方法还包括由备用馈送适配器确定(424)备用馈送适配器 状态(416)是否与主动馈送适配器状态(406)同步。由备用馈送适配器根 据图4的方法确定(424)备用馈送适配器状态(416)是否与主动馈送适配 器状态(406)同步可以通过确定主动消息流状态是否匹配备用消息流 状态、并确定主动消息转换应用状态的值是否匹配备用消息转换应用 状态(706)的值来执行,如下参考图5和图7所述。
图4的方法还包括由备用馈送适配器依据备用馈送适配器状态是 否与主动馈送适配器状态同步来管理(426)备用馈送适配器的工作。由 备用馈送适配器依据备用馈送适配器状态是否与主动馈送适配器状 态同步来管理(426)备用馈送适配器的工作可以通过下述方法执行, 即,如果备用馈送适配器状态与主动馈送适配器状态不同步则将备用 消息流状态的值设置成匹配主动消息流状态的值;如果备用馈送适配 器之前已经发送了备用应用消息,其具有与主动消息流状态的主动源 序列号的值匹配的备用源序列号的值,则降低备用馈送适配器的备用 流发送速率;如果备用馈送适配器状态与主动馈送适配器状态不同 步,则将备用消息转换应用状态的值设置成匹配主动消息转换应用状 态的值;而如果备用馈送适配器状态与主动馈送适配器状态不同步,则依据每个备用馈送适配器的备用消息转换应用健康状态(804)中断 多个备用馈送适配器之一;如参考图5、 6、 7和8在下面讨论的那样。
因此,为了进一步解释,图5显示流程图,示出在根据本发明实 施例的高速、低等待时间数据通信环境中用于同步主动馈送适配器和 备用馈送适配器的另一种示例性方法,其包括如果备用馈送适配器 状态(506)与主动馈送适配器状态(504)不同步,则将备用消息流状态 (506)i殳置(502)成匹配主动消息流状态(504)。图5方法类似于图4方法 之处在于,图5的方法包括由流管理服务器安排(400)从主动馈送适配 器建立到订阅客户设备的主动消息流(280),由流管理服务器安排(402) 从备用馈送适配器建立到订阅客户设备的备用消息流(282),在备用馈 送适配器的备用消息传送中间件中接收(422)来自主动馈送适配器的 主动消息传送中间件的主动馈送适配器状态,由备用馈送适配器确定 (424)备用馈送适配器状态(416)是否与主动馈送适配器状态(406)同 步,和由备用馈送适配器依据备用馈送适配器状态是否与主动馈送适 配器状态同步来管理(426)备用馈送适配器的工作。
图5例子类似于图4例子之处还在于,图5的主动馈送适配器的 特征在于主动馈送适配器状态(406),主动消息流(280)能够将主动应用 消息(404)通信给订阅客户设备,每个主动应用消息(404)的特征在于主 动源流序列号(408)和主动消息序列号(410),图5的备用馈送适配器的 特征在于备用馈送适配器状态(416),备用消息流(282)能够将表示主动 应用消息(404)的复制的备用应用消息(414)通信给订阅客户设备,而每 个备用应用消息(414)的特征在于备用源流序列号(418)和备用消息序 列号(420)。
在图5的例子中,主动馈送适配器状态(504)包括主动消息流状 态(504)。主动消息流状态(504)表示从主动馈送适配器到订阅客户设备 的主动消息流(280)的状态。图5的主动消息流状态(504)的特征在于用 于发送给订阅客户设备的、在主动消息传送中间件中下一个主动应用 消息的主动消息序列号的值和主动源流序列号的值。主动馈送适配器 的消息传送中间件通过从存储下 一 个应用消息的主动消息序列号的数据区或寄存器取回主动消息序列号的值,可以识别用于发送给订阅 客户设备的下一个主动应用消息,其中下一个应用消息待由主动馈送 适配器进行处理以供发送。
在图5的例子中,备用馈送适配器状态(506)包括备用消息流状态 (506)。图5的备用消息流状态(506)表示从备用馈送适配器到订阅客户 设备的备用消息流(282)的状态。图5的备用消息流状态(506)的特征在 于用于发送给订阅客户设备的备用消息传送中间件中下一个备用应 用消息的备用消息序列号的值和备用源流序列号的值。备用馈送适配 器的消息传送中间件通过从存储下一个应用消息的备用消息序列号 的数据区或寄存器取回备用消息序列号的值,可以识别用于发送给订 阅客户设备的下一个备用应用消息,其中下一个应用消息待由备用馈 送适配器进行处理以供发送。
在图5的方法中,由备用馈送适配器确定(424)备用馈送适配器 状态(416)是否与主动馈送适配器状态(406)同步包括确定(500)主动消 息流状态(504)是否匹配备用消息流状态(506)。根据图5方法确定(500) 主动消息流状态(504)是否匹配备用消息流状态(506)可以通过对主动 消息流状态(504)的主动消息序列号和主动源流序列号的值与备用消 息流状态(506)的备用消息序列号和备用源流序列号的值进行比较来 执行。如果主动消息流状态(504)的主动消息序列号和主动源流序列号 的值的组合与备用消息流状态(506)的备用消息序列号和备用源流序 列号的值的组合匹配,则备用馈送适配器状态(416)与主动馈送适配器 状态(406)同步。如果主动消息流状态(504)的主动消息序列号和主动源 流序列号的值的组合与备用消息流状态(506)的备用消息流序列号和 备用源流序列号的值的组合不匹配,则备用馈送适配器状态(416)与主 动馈送适配器状态(406)不同步。
在图5的方法中,由备用馈送适配器依据备用馈送适配器状态是 否与主动馈送适配器状态同步来管理(426)备用馈送适配器的工作包 括如果备用馈送适配器状态(506)与主动馈送适配器状态(504)不同 步,则将备用消息流状态(506)设置(502)成匹配主动消息流状态(504)。根据图5的方法将备用消息流状态(506)设置(502)成匹配主动消息流状 态(504)可以通过下列方法执行,即,如果备用馈送适配器之前没有发 送具有与主动源流序列号数值相同的备用源流序列号(418)的备用应 用消息(414),则调节消息序列号计数器,以使备用馈送适配器将主动 消息流状态(504)的主动消息序列号的值分配给备用应用消息(414)的 备用消息序列号,所述备用应用消息(414)具有与主动消息流状态(504) 的主动源流序列号数值相同的备用源流序列号(418)。消息序列号计数 器是产生将要分配给应用消息的下一个备用消息序列号的备用消息 传送中间件中的逻辑电路。
当备用馈送适配器之前已经发送了具有与主动源流序列号数值 相同的备用源流序列号的备用应用消息时,可以通过降低备用馈送适 配器的备用流发送速率来执行备用馈送适配器的管理工作。因此,为 了进一步解释,图6显示流程图,示出在根据本发明实施例的高速、 低等待时间数据通信环境中用于同步主动馈送适配器和备用馈送适 配器的又一种示例性方法,其中备用馈送适配器的管理(426)工作包 括如果备用馈送适配器之前已经发送了备用应用消息,其具有与主 动消息流状态的主动源序列号的数值匹配的备用源序列号的值,则降 低(600)备用馈送适配器的备用流发送速率(602)。在图6的例子中,备 用流发送速率(602)表示备用馈送适配器在一段时间内发送给订阅客 户设备的备用应用消息的数量。备用流发送速率(602)可以用例如"消 息/秒"的单位来表达。
在图6的例子中,如果备用馈送适配器之前已经发送了具有与主 动消息流状态的主动源序列号的数值匹配的备用源序列号的值的备 用应用消息、则降低(600)备用馈送适配器的备用流发送速率(602)可以 通过在预定时间段中反复暂停备用应用消息的发送来执行。备用馈送 适配器可以在发送每个备用应用消息之后、发送每个其他备用应用消 息之后、或本领域技术人员想到的任何其他频率下暂停发送。降低备 用馈送适配器的备用流发生速率使主动馈送适配器能够在给订阅客 户设备发送信息的发送序列中超前于备用馈送适配器。当在发送序列中主动馈送适配器超前于备用馈送适配器时,备用馈送适配器可以再 次确定主动消息流状态是否匹配备用消息流状态,而如果备用馈送适 配器状态与主动馈送适配器不同步,则将备用消息流状态设置成匹配
主动消息流状态,如上参考图5的方法所述。
图6方法中的其他步骤以类似于图5方法的方式工作。图6的方法 包括由流管理服务器安排(400)从主动馈送适配器建立到订阅客户设 备的主动消息流(280),由流管理服务器安排(402)从备用馈送适配器建 立到订阅客户设备的备用消息流(282),在备用馈送适配器的备用消息 传送中间件中接收(422)来自主动馈送适配器的主动消息传送中间件 的主动馈送适配器状态,由备用馈送适配器确定(424)备用馈送适配器 状态(416)是否与主动馈送适配器状态(406)同步,由备用馈送适配器依 据备用馈送适配器状态是否与主动馈送适配器状态同步来管理(426) 备用馈送适配器的工作。图6例子类似于图5例子之处还在于,图6的 主动馈送适配器的特征在于包括主动消息流状态(504)的主动馈送适 配器状态(406),主动消息流(280)能够将主动应用消息(404)通^f言给订 阅客户设备,每个主动应用消息(404)的特征在于主动源流序列号(408) 和主动消息序列号(410),图6的备用馈送适配器的特征在于包括备用 消息流状态(506)的备用馈送适配器状态(416),备用消息流(282)能够 将表示主动应用消息(404)的复制的备用应用消息(414)通信给订阅客 户设备,而每个备用应用消息(414)的特征在于备用源流序列号(418) 和备用消息序列号(420)。
如上所述,依据备用馈送适配器状态是否与主动馈送适配器状态 同步的备用馈送适配器的管理工作可以通过下列方法执行,即,如果 备用馈送适配器状态与主动馈送适配器状态不同步,则将备用消息转 换应用状态的值设置成匹配主动消息转换应用状态的值。因此,为了 进一步解释,图7显示流程图,示出在根据本发明实施例的高速、低 等待时间数据通信环境中用于同步主动馈送适配器和备用馈送适配 器的再一种示例性方法,其包括,如果备用馈送适配器状态(416)与主 动馈送适配器状态(406)不同步,则将备用消息转换应用状态(706)的值i殳置(702)成匹配主动消息转换应用状态(704)的值。
图7方法类似于图4方法之处在于,图7的方法包括由流管理服务 器安排(400)从主动馈送适配器建立到订阅客户设备的主动消息流 (280),由流管理服务器安排(402)从备用馈送适配器建立到订阅客户设 备的备用消息流(282),在备用馈送适配器的备用消息传送中间件中接 收(422)来自主动馈送适配器的主动消息传送中间件的主动馈送适配 器状态,由备用馈送适配器确定(424)备用馈送适配器状态(416)是否与 主动馈送适配器状态(406)同步,和由备用馈送适配器依据备用馈送适 配器状态是否与主动馈送适配器状态同步来管理(426)备用馈送适配 器的工作。图7例子类似于图4例子之处还在于,图7的主动馈送适配 器的特征在于主动馈送适配器状态(406),主动消息流(280)能够将主动 应用消息(404)通信给订阅客户设备,每个主动应用消息(404)的特征在 于主动源流序列号(408)和主动消息序列号(410),图7的备用馈送适配 器的特征在于备用馈送适配器状态(416),备用消息流(282)能够将表示 主动应用消息(404)的复制的备用应用消息(414)通信给订阅客户设备, 而每个备用应用消息(414)的特征在于备用源流序列号(418)和备用消 息序列号(420)。
在图7的例子中,主动馈送适配器状态(406)包括主动馈送适配器 的主动消息转换应用的主动消息转换应用状态(704)。如上所述,主动 消息转换应用状态(704)表示由主动消息转换应用用于将馈送适配器 中接收的源流消息转换成要发送给订阅客户设备的应用消息的、在主 动馈送适配器的计算机存储器中存储的值的集合。主动消息转换应用 的例子可以包括参考图2的上述主动馈送适配器的转换模块。主动消 息转换应用可以给源流消息增加主动消息转换应用状态(704)的值以 产生应用消息,或可以使用主动消息转换应用状态的值来执行管理服 务。主动消息转换应用状态(704)通常包括从一 系列源流消息推导出的 计算值。例如,在金融市场数据环境中,主动消息转换应用状态可以 包括表示证券的日交易量、当日证券交易的最高价格、或当日证券交 易的最低价格的值。在图7的例子中,备用馈送适配器状态(416)包括备用馈送适配器 的备用消息转换应用的备用消息转换应用状态(706)。类似于主动消息 转换应用状态(704),备用消息转换应用状态(706)表示由备用消息转换 应用用于将馈送适配器中接收的源流消息转换成要发送给订阅客户 设备的应用消息的、在备用馈送适配器的计算机存储器中存储的值的 集合。备用消息转换应用的例子可以包括参考图2的上述备用馈送适 配器的转换模块。
在图7的方法中,由备用馈送适配器确定(424)备用馈送适配器状 态(416)是否与主动馈送适配器状态(406)同步可以通过确定(700)主动 消息转换应用状态(704)的值是否匹配备用消息转换应用状态(706)的 值来执行。根据图7方法确定(700)主动消息转换应用状态(704)的值是 否匹配备用消息转换应用状态(706)的值可以通过下列方法执行,即, 由备用消息转换应用从备用馈送适配器的备用消息传送中间件接收 主动消息转换应用状态(704),并由备用消息转换应用对主动消息转换 应用状态(704)的值与备用消息转换应用状态(706)的值进行比较。如果 主动消息转换应用状态(704)的值与备用消息转换应用状态(706)的值 相等,则备用馈送适配器状态(416)与主动馈送适配器状态(406)同步。 如果主动消息转换应用状态(704)的值与备用消息转换应用状态(706) 的值不等,则备用馈送适配器状态(416)与主动馈送适配器状态(406) 不同步。
在图7的方法中,由备用馈送适配器依据备用馈送适配器状态是 否与主动馈送适配器状态同步来管理(426)备用馈送适配器的工作包 括如果备用馈送适配器状态(416)与主动馈送适配器状态(406)不同 步,则将备用消息转换应用状态(706)的值设置(702)成匹配主动消息转 换应用状态(704)的值。根据图7方法将备用消息转换应用状态(706)的 值设置(702)成匹配主动消息转换应用状态(704)的值可以通过由备用 消息转换应用利用主动消息转换应用状态(704)的值对备用消息转换 应用状态(706)的值进行更新来执行。
如上所述,本发明的一些示例性实施例可以包括多个备用馈送适配器,其中每个备用馈送适配器都能够在备用消息流上将备用应用消 息发送给订阅客户设备。当备用馈送适配器之一反复确定备用馈送适 配器状态与主动馈送适配器状态不同步时,备用馈送适配器的备用消 息传送中间件可以工作,以便中断备用馈送适配器。即,备用馈送适 配器的备用消息传送中间件使备用馈送适配器离线,从而该备用馈送 适配器不再可用于提供冗余。不过,另一个备用馈送适配器常比其备 用馈送适配器状态反复与主动馈送适配器状态不同步的备用馈送适 配器执行得更差。因此在中断反复不同步的备用馈送适配器之前,备 用消息传送中间件可考虑其他备用馈送适配器的健康状态。因此,为
了进一步解释,图8显示流程图,示出在根据本发明实施例的高速、 低等待时间数据通信环境中用于同步主动馈送适配器和备用馈送适 配器的还一种示例性方法,其包括如果备用馈送适配器状态与主动 馈送适配器状态不同步,则依据每个备用馈送适配器(802)的备用消息 转换应用健康状态(804)中断(806)备用馈送适配器之一 。
图8的例子包括多个备用馈送适配器(802)。每个备用馈送适配器 (802)表示计算机设备,其拥有将具有第一格式的备用馈送适配器源流 上的备用源流消息转换成具有第二格式的备用馈送适配器输出流上 的备用应用消息、并在备用消息流上将该备用应用消息发送给订阅客 户设备的能力。每个备用馈送适配器(802)的特征在于备用馈送适配器 状态(416)。如上所述,备用馈送适配器状态(416)表示备用馈送适配器 用于在任何给定时刻执行数据处理的计算机存储器中的值的集合。
图8的备用馈送适配器状态(416)包括备用消息转换应用健康状 态(804)。备用消息转换应用健康状态(804)表示由备用馈送适配器使用 用于评估与其他馈送适配器相比较该备用馈送适配器的相对性能的
备用馈送适配器的一个或多个度量。可以将备用消息转换应用健康状 态实施为对备用馈送适配器上可用的计算机存储器、备用馈送适配器 上处理器的使用率、备用馈送适配器的误差计数、备用馈送适配器的 消息传送速率的测量,或本领域技术人员想到的任何其他度量。
图8的方法包括在每个备用馈送适配器的备用消息传送中间件中
41接收(800)每个备用馈送适配器(802)的备用消息转换应用健康状态 (804)。在每个备用馈送适配器的备用消息传送中间件中接收(800)每个 备用馈送适配器(802)的备用消息转换应用健康状态(804)可以通过由 每个备用馈送适配器(802)的备用消息传送中间件从每个备用馈送适 配器(802)的备用消息转换应用取回备用消息转换应用健康状态(804) 来执行。当由备用消息转换应用轮询(poll)时,备用消息传送中间 件可以通过调用由备用消息转换应用的API暴露的函数、或通过请求 备用消息转换应用健康状态(804)而取回备用消息转换应用健康状态 (804)。在每个备用馈送适配器的备用消息传送中间件中接收(800)每个 备用馈送适配器(802)的备用消息转换应用健康状态(804)可以进一步 通过下列方法执4亍,即,通过4吏用例如RMI对象的成员方法、CORBA 对象的成员方法、网络服务、或本领域技术人员想到的任何其他实施 方式实施的数据通信信道,将备用消息转换应用健康状态(804)从每个 备用馈送适配器(802)的备用消息传送中间件发送到其他备用馈送适 配器(802)的备用消息传送中间件。
在图8的方法中,由备用馈送适配器依据备用馈送适配器状态是 否与主动馈送适配器状态同步来管理(426)备用馈送适配器的工作包 括如果备用馈送适配器状态与主动馈送适配器状态不同步,则依据 每个备用馈送适配器(802)的备用消息转换应用健康状态(804)而中断 (806)备用馈送适配器之一。根据图8方法依据每个备用馈送适配器 (802)的备用消息转换应用健康状态(804)而中断(806)备用馈送适配器 之一可以通过下列方法执行,即,如果被管理的备用馈送适配器的备 用消息转换应用健康状态(804)的值在从每个其他备用馈送适配器接 收的备用消息转换应用健康状态中是最低的,则从与其他馈送适配器 的消息传送中间件的通信中去除该备用馈送适配器。
读者将注意到,如果被管理的备用馈送适配器的备用消息转换应 用健康状态(804)的值在从每个其他备用馈送适配器接收的备用消息 转换应用健康状态中是最低的、则从与其他馈送适配器的消息传送中 间件的通信中去除该备用馈送适配器只用于解释,而非限制。实际上,根据图8方法依据每个备用馈送适配器(802)的备用消息转换应用健康 状态(804)而中断(806)备用馈送适配器之一还可以通过下列方法执行, 即,如果被管理的备用馈送适配器的备用消息转换应用健康状态(804) 的值仅比从其他备用馈送适配器接收的备用消息转换应用健康状态 的值的其中之一要低、或满足本领域技术人员想到的任何其他方式, 则从与其他馈送适配器的消息传送中间件的通信中去除该备用馈送 适配器。
鉴于本文中上述给出的解释,读者将认识到在根据本发明实施例 的高速、低等待时间数据通信环境中实践主动馈送适配器和备用馈送 适配器的同步提供下列好处
.从主动馈送适配器故障转移到备用馈送适配器所需的时间从很 多秒降低到几毫秒,这是因为来自馈送适配器的消息流保持同步,
*由冗佘馈送适配器提供给订阅客户设备的数据是相同的,并且
.如果现存所有其他备用馈送适配器的执行情况都更差,则不中 断与主动馈送适配器反复不同步的备用馈送适配器。
主要在高速、低等待时间数据通信环境中用于同步主动馈送适配 器和备用馈送适配器的全功能计算机系统的情况下描述了本发明的 示例性实施例。不过,本领域技术人员读者将认识到本发明还可以实 施成在单个承载介质上布置的可用于任何适当的数据处理系统的计 算机程序产品。这种单个承栽介质可以是用于机器可读信息的发送介 质或可记录介质,包括磁性介质、光学介质或其他适当的介质。可记 录介质的例子包括硬盘驱动器或磁盘中的磁性盘、用于光驱的致密 盘、磁带、和本领域技术人员想到的其他介质。发送介质的例子包括 用于语音通信的电话网络和数字数据通信网络,例如以太网和利用因 特网协议通信的网络和万维网,以及无线发送介质,例如根据IEEE 802.11规范家族实施的网络。本领域技术人员将立刻意识到具有适当 编程装置的任何计算机系统都将能够执行本发明方法的步骤,正如程 序产品中实施的那样。本领域技术人员将立刻意识到,虽然本说明书 中描述的 一些示例性实施例面向计算机硬件上安装和执行的软件,然而,实施为固件或硬件的可选实施例也是在本发明的范围内。
由上述描述将理解,在不背离本发明真实精神的情况下可以在本 发明的多种实施例中进行更改和变化。本说明书中的描述只是以说明 为目的而不构成限制。本发明的范围仅由所附根据权利要求的语言进 行限制。
权利要求
1、一种在高速、低等待时间数据通信环境中同步主动馈送适配器和备用馈送适配器的方法,该方法包括以下步骤由流管理服务器安排从主动馈送适配器建立到订阅客户设备的主动消息流,所述主动馈送适配器的特征在于主动馈送适配器状态,所述主动消息流能够把主动应用消息通信给订阅客户设备,每个主动应用消息的特征在于主动源流序列号和主动消息序列号;由所述流管理服务器安排从备用馈送适配器建立到所述订阅客户设备的备用消息流,所述备用馈送适配器的特征在于备用馈送适配器状态,所述备用消息流能够把表示所述主动应用消息的复制的备用应用消息通信给所述订阅客户设备,每个备用应用消息的特征在于备用源流序列号和备用消息序列号;在所述备用馈送适配器的备用消息传送中间件中接收来自所述主动馈送适配器的主动消息传送中间件的所述主动馈送适配器状态;由所述备用馈送适配器确定所述备用馈送适配器状态是否与所述主动馈送适配器状态同步;和由所述备用馈送适配器依据所述备用馈送适配器状态是否与所述主动馈送适配器状态同步来管理所述备用馈送适配器的工作。
2、 根据权利要求1所述的方法,其中所述高速、低等待时间数 据通信环境包括高速、低等待时间数据通信网络,所述网络进一步包 括所述主动馈送适配器、所述备用馈送适配器、所述流管理服务器、 至少一个订阅客户设备,而没有路由器。
3、 根据权利要求1或2所述的方法,其中每个馈送适配器包括 一种设备,其拥有将具有第一格式的馈送适配器源流上的消息转换成 具有第二格式的馈送适配器输出流上的消息并将所述馈送适配器输出流上的所述消息发送给订阅客户设备的能力。
4、 根据权利要求l、 2或3所述的方法,其中 所述主动馈送适配器状态包括主动消息流状态,其特征在于,在所述主动消息传送中间件中用于发送给所述订阅客户设备的下一个 主动应用消息的所述主动消息序列号和所述主动源流序列号;和所述备用馈送适配器状态包括备用消息流状态,其特征在于,在 所述备用消息传送中间件中用于发送给所述订阅客户设备的下一个 备用应用消息的所述备用消息序列号和所述备用源流序列号。
5、 根据上述任一项权利要求所述的方法,其中 所述主动馈送适配器状态包括主动消息流状态; 所述备用馈送适配器状态包括备用消息流状态; 确定所述备用馈送适配器状态是否与所述主动馈送适配器状态同步的步骤进一步包括确定所述主动消息流状态是否匹配所述备用 消息流状态;和管理所述备用馈送适配器的工作的步骤进一步包括如果所述备 用馈送适配器状态与所述主动馈送适配器状态不同步,则将所述备用 消息流状态设置成匹配所述主动消息流状态。
6、 根据权利要求5所述的方法,其中管理所述备用馈送适配器 的工作的步骤进一步包括如果所述备用馈送适配器之前已经发送了具有与所述主动消息流状态的主动源序列号的值匹配的所述备用源 序列号的值的备用应用消息,则降低所述备用馈送适配器的备用流发 送速率。
7、 根据上述任一项权利要求所述的方法,其中 所述主动馈送适配器状态进一步包括所述主动馈送适配器的主动消息转换应用的主动消息转换应用状态;所述备用馈送适配器状态进一步包括所述备用馈送适配器的备用消息转换应用的备用消息转换应用状态;确定所述备用馈送适配器状态是否与所述主动馈送适配器状态 同步的步骤进一步包括确定所述主动消息转换应用状态是否匹配所 述备用消息转换应用状态;和管理所述备用馈送适配器的工作的步骤进一步包括如果所述备 用馈送适配器状态与所述主动馈送适配器状态不同步,则将所述备用 消息转换应用状态设置成匹配所述主动消息转换应用状态。
8、 根据上述任一项权利要求所述的方法,其中所述高速、低等 待时间数据通信环境进一步包括多个备用馈送适配器,每个备用馈送适配器能够在备用消息流上 将备用应用消息发送给订阅客户设备,每个备用馈送适配器的特征在 于备用馈送适配器状态,所述备用馈送适配器状态包括备用消息转换 应用健康状态,所述方法进一步包括在每个备用馈送适配器的备用消息传送中间件中接收每个备用 馈送适配器的所述备用消息转换应用健康状态;其中管理所述备用馈送适配器的工作的步骤进一步包括如果所 述备用馈送适配器状态与所述主动馈送适配器状态不同步,则依据每 个备用馈送适配器的备用消息转换应用健康状态来中断所述备用馈 送适配器之一。
9、 一种在高速、低等待时间数据通信环境中同步主动馈送适配 器和备用馈送适配器的设备,该设备包括一个或多个计算机处理器、 可操作地连接到所述一个或多个计算机处理器的一个或多个计算机 存储器,所述一个或多个计算机存储器具有布置在其中的计算机程序 指令,其能够由流管理服务器安排从主动馈送适配器建立到订阅客户设备的 主动消息流,所述主动馈送适配器的特征在于主动馈送适配器状态, 所述主动消息流能够把主动应用消息通信给所述订阅客户设备,每个主动应用消息的特征在于主动源流序列号和主动消息序列号;由所述流管理服务器安排从备用馈送适配器建立到所述订阅客 户设备的备用消息流,所述备用馈送适配器的特征在于备用馈送适配 器状态,所述备用消息流能够把表示所述主动应用消息的复制的备用 应用消息通信给所述订阅客户设备,每个备用应用消息的特征在于备 用源流序列号和备用消息序列号;在所述备用馈送适配器的备用消息传送中间件中接收来自所述 主动馈送适配器的主动消息传送中间件的所述主动馈送适配器状态;由所述备用馈送适配器确定所述备用馈送适配器状态是否与所 述主动馈送适配器状态同步;和由所述备用馈送适配器依据所述备用馈送适配器状态是否与所 述主动馈送适配器状态同步来管理所述备用馈送适配器的工作。
10、 根据权利要求9所述的设备,其中所述高速、低等待时间数 据通信环境包括高速、低等待时间数据通信网络,所述网络进一步包 括所述主动馈送适配器、所述备用馈送适配器、所述流管理服务器、 至少一个订阅客户设备,而没有路由器。
11、 根据权利要求9或10所述的设备,其中每个馈送适配器包 括一种设备,其拥有将具有第一格式的馈送适配器源流上的消息转换 成具有第二格式的馈送适配器输出流上的消息并将所述馈送适配器输出流上的所述消息发送给订阅客户设备的能力。
12、 根据权利要求9、 10或11所述的设备,其中 所述主动馈送适配器状态包括主动消息流状态,其特征在于,在所述主动消息传送中间件中用于发送给所述订阅客户设备的下 一 个 主动应用消息的所述主动消息序列号和所述主动源流序列号;和所述备用馈送适配器状态包括备用消息流状态,其特征在于,在 所述备用消息传送中间件中用于发送给所述订阅客户设备的下一个备用应用消息的所述备用消息序列号和所述备用源流序列号。
13、 根据权利要求9、 10、 11或12所述的设备,其中 所述主动馈送适配器状态包括主动消息流状态; 所述备用馈送适配器状态包括备用消息流状态; 确定所述备用馈送适配器状态是否与所述主动馈送适配器状态同步进一步包括确定所述主动消息流状态是否匹配所述备用消息流状态;和管理所述备用馈送适配器的工作进一步包括如果所述备用馈送 适配器状态与所述主动馈送适配器状态不同步,则将所述备用消息流 状态设置成匹配所述主动消息流状态。
14、 根据权利要求13所述的设备,其中管理所述备用馈送适配 器的工作进一步包括如果所述备用馈送适配器之前已经发送了具有 与所述主动消息流状态的主动源序列号的值匹配的所述备用源序列 号的值的备用应用消息,则降低所述备用馈送适配器的备用流发送速 率。
15、 根据权利要求9至14中任一项所述的设备,其中 所述主动馈送适配器状态进一步包括所述主动馈送适配器的主动消息转换应用的主动消息转换应用状态;所述备用馈送适配器状态进一步包括所述备用馈送适配器的备 用消息转换应用的备用消息转换应用状态;确定所述备用馈送适配器状态是否与所述主动馈送适配器状态 同步进一步包括确定所述主动消息转换应用状态是否匹配所述备用消息转换应用状态;和管理所述备用馈送适配器的工作进一步包括如果所述备用馈送 适配器状态与所述主动馈送适配器状态不同步,则将所述备用消息转 换应用状态设置成匹配所述主动消息转换应用状态。
16、 根据权利要求9至15中任一项所述的设备,其中所述高速、 低等待时间数据通信环境进一步包括多个备用馈送适配器,每个备用馈送适配器能够在备用消息流上 将备用应用消息发送给所述订阅客户设备,每个备用馈送适配器的特 征在于备用馈送适配器状态,所述备用馈送适配器状态包括备用消息 转换应用健康状态,所述设备进一步包括计算机程序指令,其能够在每个备用馈送适配器的备用消息传送中间件中接收每个备用 馈送适配器的所述备用消息转换应用健康状态;其中管理所述备用馈送适配器的工作进一步包括如果所述备用 馈送适配器状态与所述主动馈送适配器状态不同步,则依据每个备用 馈送适配器的所述备用消息转换应用健康状态来中断所述备用馈送 适配器之一。
17、 一种在高速、低等待时间数据通信环境中同步主动馈送适配 器和备用馈送适配器的计算机程序产品,所述计算机程序产品被布置 在信号承载介质上,所述计算机程序产品包括计算机程序指令,其能 够由流管理服务器安排从主动馈送适配器建立到订阅客户设备的 主动消息流,所述主动馈送适配器的特征在于主动馈送适配器状态, 所述主动消息流能够把主动应用消息通信给所述订阅客户设备,每个 主动应用消息的特征在于主动源流序列号和主动消息序列号;由所述流管理服务器安排从备用馈送适配器建立到所述订阅客 户设备的备用消息流,所述备用馈送适配器的特征在于备用馈送适配 器状态,所述备用消息流能够把表示所述主动应用消息的复制的备用 应用消息通信给所述订阅客户设备,每个备用应用消息的特征在于备 用源流序列号和备用消息序列号;在所述备用馈送适配器的备用消息传送中间件中接收来自所述 主动馈送适配器的主动消息传送中间件的所述主动馈送适配器状态;由所述备用馈送适配器确定所述备用馈送适配器状态是否与所述主动馈送适配器状态同步;和由所述备用馈送适配器依据所述备用馈送适配器状态是否与所 述主动馈送适配器状态同步来管理所述备用馈送适配器的工作。
18、 根据权利要求17所述的计算机程序产品,其中所述信号承 载介质包括可记录介质。
19、 根据权利要求17或18所述的计算机程序产品,其中所述信 号承载介质包括发送介质。
20、 根据权利要求17、 18或19所述的计算机程序产品,其中所 述高速、低等待时间数据通信环境包括高速、低等待时间数据通信网 络,所述网络进一步包括所述主动馈送适配器、所述备用馈送适配器、 所述流管理服务器、至少一个订阅客户设备,而没有路由器。
21、 根据权利要求17、 18、 19或20所述的计算机程序产品,其 中每个馈送适配器包括一种设备,其拥有将具有第一格式的馈送适配 器源流上的消息转换成具有第二格式的馈送适配器输出流上的消息 并将所述馈送适配器输出流上的所述消息发送给订阅客户设备的能 力。
22、 根据权利要求17至21中任一项所述的计算机程序产品,其中所述主动馈送适配器状态包括主动消息流状态,其特征在于,在 所述主动消息传送中间件中用于发送给所述订阅客户设备的下一个 主动应用消息的所述主动消息序列号和所述主动源流序列号;和所述备用馈送适配器状态包括备用消息流状态,其特征在于,在 所述备用消息传送中间件中用于发送给所述订阅客户设备的下一个备用应用消息的所述备用消息序列号和所述备用源流序列号。
23、 根据权利要求17至23中任一项所述的计算机程序产品,其中所述主动馈送适配器状态包括主动消息流状态; 所述备用馈送适配器状态包括备用消息流状态; 确定所述备用馈送适配器状态是否与所述主动馈送适配器状态 同步进一步包括确定所述主动消息流状态是否匹配所述备用消息流状态;和管理所述备用馈送适配器的工作进一步包括如果所述备用馈送 适配器状态与所述主动馈送适配器状态不同步,则将所述备用消息流 状态设置成匹配所述主动消息流状态。
24、 根据权利要求23所述的计算机程序产品,其中管理所述备 用馈送适配器的工作进一步包括如果所述备用馈送适配器之前已经 发送了具有与所述主动消息流状态的主动源序列号的值匹配的所述 备用源序列号的值的备用应用消息,则降低所述备用馈送适配器的备 用流发送速率。
25、 根据权利要求17至24中任一项所述的计算机程序产品,其中所述主动馈送适配器状态进一步包括所述主动馈送适配器的主 动消息转换应用的主动消息转换应用状态;所述备用馈送适配器状态进一步包括所述备用馈送适配器的备 用消息转换应用的备用消息转换应用状态;确定所述备用馈送适配器状态是否与所述主动馈送适配器状态 同步进一 步包括确定所述主动消息转换应用状态是否匹配所述备用消息转换应用状态;和管理所述备用馈送适配器的工作进一步包括如果所述备用馈送适配器状态与所述主动馈送适配器状态不同步,则将所述备用消息转 换应用状态设置成匹配所述主动消息转换应用状态。
26、 根据权利要求17至25中任一项所述的计算机程序产品,其 中所述高速、低等待时间数据通信环境进一步包括多个备用馈送适配器,每个备用馈送适配器能够在备用消息流上 将备用应用消息发送给所述订阅客户设备,每个备用馈送适配器的特 征在于备用馈送适配器状态,所述备用馈送适配器状态包括备用消息 转换应用健康状态,所述设备进一步包括计算机程序指令,其能够在每个备用馈送适配器的备用消息传送中间件中接收每个备用 馈送适配器的所述备用消息转换应用健康状态;其中管理所述备用馈送适配器的工作进一步包括如果所述备用 馈送适配器状态与所述主动馈送适配器状态不同步,则依据每个备用 馈送适配器的所述备用消息转换应用健康状态而中断所述备用馈送 适配器之一。
27、 一种计算机程序,包含当所述程序在计算机上运行时适于执 行权利要求1至8中任一项所述的方法的程序代码装置。
全文摘要
本发明公开了在高速、低等待时间数据通信环境中用于同步主动馈送适配器和备用馈送适配器的方法、装置和产品,其包括由流管理服务器安排从主动馈送适配器建立到订阅客户设备的主动消息流,主动消息流能够通信主动应用消息;由服务器安排从备用馈送适配器建立到客户设备的备用消息流,备用消息流能够通信备用应用消息;在备用适配器的备用消息传送中间件中接收来自主动适配器的主动消息传送中间件的主动馈送适配器状态;由备用馈送适配器确定备用馈送适配器状态是否与主动馈送适配器状态同步;并由备用馈送适配器依据该确定来管理备用适配器的工作。
文档编号H04L29/14GK101455060SQ200780018890
公开日2009年6月10日 申请日期2007年6月14日 优先权日2006年6月27日
发明者A·克里茨, E·德克尔, F·O·奥昆森德, G·格尔辛斯基, H·A·皮克, J·J·杜伊根宁, N·纳曼, 小C·赖特 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1