智能信息传播的制作方法

文档序号:6456815阅读:131来源:国知局
专利名称:智能信息传播的制作方法
技术领域
本发明涉及在计算机系统中的数据分发。尤其是,本发明涉及在高性能交易系统中的信息传播(dissemination )。
技术背景现今,通过计算机网络发送信息是非常普遍的。由于技术的进步, 所发送的信息量迅速地增加,使得与从前相比有可能以更高的速度发送 和处理更多信息。此外,与从前相比,新的应用需要更大量的信息。进 一步,信息的重要性已经开启了商业的新领域,在该领域中可以出售信 息。计算机系统一其中信息传播是最重要的部分之一一的例子是电子 交易系统。证券、衍生物(derivatives )、商品和其它金融工具(financial instrument)的电子交易导致必须^皮分发(distribute)给用户大量信 息,这些用户需要该信息来做出交易决定、统计计算和其它评估 (assessment )。此外,连接到这样的中央交易系统的用户希望尽可能 快地拥有信息。在这些情况下,为了摆脱系统中的瓶颈或者其它潜在问 题,仅通过例如更新硬件来提高中央系统的性能可能是不够的。通常, 这些瓶颈总之在用户侧结束,因为用户拥有的更新他们与中央系统的连 接的可能性可能有限。因此,这种类型的中央系统必须在交易日期间不但要在连续的基础 上而且还要在特定的时刻和场合为许多不同的用户产生并分发大量数 据,所以必须以有效方式完成。用于提供电子信息的系统的例子在US2005/0273421中有所说明。 该文献说明了一种不同的系统,其中交易信息和多种类型的电子信息在 相同的数据流中发送。在相同的数据流上提供电子交易信息和电子信息 明显地提高了在目标装置(target device)上所需要的计算和由服务 器进行的计算,所述服务器由电子交易供应商使用以分隔信息。在US2005/0273421中公开的系统通过将第一数据流分成可以由用户有选 择性地请求、显示和使用的多个第二数据流来解决这个问题。这些多个 第二数据流中的每一个包括一个或者多个与第一数据流类型不同的多 类型的电子交易信息。因此使得单个的目标装置对在第二数据流中的一 个或者多个多类型的电子交易信息的请求、接收和使用比使用来自第一 数据流的相同电子交易信息要快。然而,这种类型的过滤通常太粗糙了,因为用户/客户端也很有可 能对其它数据流感兴趣。因此,上述系统具有缺点,尤其是在具有有限 带宽连接的环境中,因为该系统基于电子信息类型来分离信息。因此,上面的系统在针对用户连接的数据速率是有限的并且在不同 用户之间有所不同的网络中是无用的。某个交易系统具有用于分发信息的其它功能。然而,这些解决方案 的问题在于这些解决方案要求系统产生并发送重复的信息。这些解决方 案可以例如为(具有强连接的)用户A产生包含整个深度的消息流,而 为(具有弱连接的)用户B产生包含市场的有限描述(最上面的X个等 级)的消息流。因此,这两个消息包含针对最上面的X个等级的重复信 息。这既导致中央系统性能上的额外负荷又导致在中央网络和外围网络 上的通信量的额外负荷。电子信息系统的另 一个问题在于,通常存在收集信息并分发该信息 的中央处理器。由于该处理器必须使用时间来收集和传播重复信息,因 此用于例如接收信息的其它任务的时间较少,从而可能在系统的其它部 分中出现瓶颈。现有系统的另一个问题在于,这些系统在分发数据时不考虑由客户 提供的计数性能(counter performance )。因此, 一些客户可能经受不 公平的对待。发明内容因此,本发明的目的在于,提供用于以更有效的方式传播数据的解 决方案。本发明的另一个目的在于提供解决方案,该解决方案用于将数据发 送给具有数据连接的不同数据速率的用户。本发明的另一个目的在于,提供用于以带宽有效的方式发送数据的解决方案。本发明的另一个目的在于,提供用于不需要复制数据就发送数据的 解决方案。本发明的另一个目的在于,在发送数据时考虑客户的计数性能。 根据本发明的第一方面,上述目的和其它目的由计算机系统将数据集通过网络发送给多个客户端来实现,该计算机系统包括一存储器,该存储器包含分类数据元的超集,一提取器,该提取器与存储器相关联,用于从分类数据的超集中提 取数据元的第一子集和数据元的笫二子集,第二子集与第一子集不同,—选择器,该选择器与存储器相关联,用于选择笫一组客户端和第 二组客户端,笫二组客户端是第一组客户端的子集,以及—通信器,该通信器与提取器和选择器相关联,用于将第一子集发 送给所选择的第一组客户端,并且用于将第二子集发送给所选择的第二 组客户端。上述计算机系统所具有的优点在于,该计算机系统提供了使得可以 用更有效的方式传播数据的解决方案。该系统使得可以使用更少带宽 (数据速率)和计算机系统中的更少性能来发送数据,因为优选地不提 取或者不发送复制消息。系统中的装置通过接口相互连接。有两种类型的接口硬件接口和 软件接口。硬件接口是插头、插座、电缆以及通过它们传送的电信号。例如USB、 FireWire (法尔接口 )、 Ethernet (以太网)、ATA/IDE、 SCSI、 PCI等 等。软件接口(编程接口)是程序用来相互通信并与硬件通信的语言、 代码和消息。例如Windows、 Mac和Linux操作系统、SMTP电子邮件、IP网络协议和激活外围设备的软件驱动器。为了使计算机系统/网络中的内部设备和外部设备相互通信,这两 种类型的接口都需要。术语数据元可以被认为是对数据单元的命名,所述数据单元在一些 环境中被认为是不可分割的,而在其它环境中可以由数据项组成。在本 文献中,数据元既能够被认为是不可分割的,也可以由数据项组成。优 选地,根据排列规则对在本文献中的数据元进行分类。例如,可以对数、价格和时间、在市场庄 家(market maker )之前的交易商、反价格(inverted price )或者通 过容量等等进行分类,或者通过上述排列规则的任何组合进行分类。超集可以包含将被分发给多个客户端的多个数据元。优选地,将数 据元的超集保存在例如主存储器(例如高速緩沖存储器、RAM、 DRAM等 等)或者第二存储器(例如硬盘、USB存储器等等)的存储器中。然而, 因为与第二存储器相比主存储器的速度更快,所以主存储器更适于本任务。数据元可以包含与在命令薄中的命令有关的数据。命令典型地是由 客户端发布的指令。通常,命令是针对特定的或者多个金融工具的买进 或卖出命令。然而,存在许多不同类型的命令,因此在本文献中,命令 不限于买进或者卖出命令。数据元的优选内容的例子是下述数据中的至少一个交易商身份、 序列(series )、出价(bid)或询问、价格、数量、账户(account) 或者客户。数据元也可以包括其它字段,例如空文本字段等。子集可以包含数据超集的提取部分。优选地,子集不在数据元方面 相互重叠。因此,超集可以由多个子集表示。每个子集应该包含多少数据元可以由系统管理员在中央计算机系 统处进行选择。例如,表示超集的第一部分的子集可以包含5级数据元, 表示超集的第二部分的子集可以包含接下来的10级数据元,而表示超 集的第三部分的子集可以包含超集中剩余的数据元。这只是一个实施例 的例子,在其它实施例中,可以使用包含更少数据元的更多子集或者使 用包含更多数据元的更少子集来表示超集。在本发明进一步的实施例中,客户端可以预订包含由客户端选择的 多个数据元的子集。因此,为单独的客户需要来调整子集的大小是有可 能的。子集的大小和数量也可以基于客户的计数性能,例如付款、交易 数量等等。更多例子在下面在文章中提及。计算机系统中的选择器优选地基于下面的至少 一项来选择客户端组—客户端与网络的连接的数据速率, —与客户端关联的预订.这样,可以以智能/选择的方式完成对数据的传播,因为计算机系统能够检测在通向客户端的连接上的数据速率。这可以通过测量该数据 连接上的数据速率,或者通过从客户端接收到的信息,或者通过来自消 息总线的信息等等来完成。因此,选择器可以基于数据速率和预订的组 合或者基于它们中的单独一个来选择客户端组。在其它情况下,选择器 可以基于基础设施负荷来选择客户端组。关于数据速率或者"基础设施负荷"的数据可以通过测量该数据连 接上的数据速率、在中央系统处的处理器负荷来获得,或者通过从客户 端计算机接收到的与应用程序有关的信息来获得,或者通过来自例如智 能消息总线的信息来获得,所述智能消息总线具有通过使用网络监视工 具在不同位置处测量当前带宽情况的能力。因此,基础设施负荷可能与 在市场中关于电子交易的任何活动有关。此外,客户端也可以向中央系统提供关于在该连接上的数据速率的变化等级(change-levels),因此,如果在该连接上测得的数据速率超 过变化等级上限,则连接正忙,并且更少的信息可以通过该连接发送。 如果在该连接上测得的数据速率下降到低于变化等级下限,则连接不 忙,并且可以发送更多的信息。通过提供这个功能,系统可以一直确保 特定的客户端基于数据速率接收到最佳信息服务。中央系统也可以基于上述内容控制该中央系统的信息传播,从而不 防止从客户端发送的命令进入该中央系统。因此,如果在通向客户端的 连接上测得的数据速率是高的,则中央系统可以决定等待或者取消将被 发送给客户端的一些信息。通过提供这个功能,该系统可以一直确保进 入中央系统的特定客户的命令/请求将更快地到达,因为连接没有忙于 从交易发送来的其它信息。优选地,分类数据元的超集包含关于下述数据中的至少一个的数据一根据命令数据的市场,—根据等级数据的市场/根据价格数据的市场。然而,在与本发明有关的情况下可以使用在任何分类列表中的数 据,而不只是使用上面提到的数据。可以在对于外部应用来说难于对进 入的数据进行分类的地方使用上面提到的数据。通过发送已经分类的数 据,加快了客户端计算机对所接收到的数据的处理。此外,在数据子集中的数据元包含下述数据中的至少一个10变化构造的数据,一作为至少一部分超集的数据元构造的数据。通过发送delta变化,可以节省有价值的带宽。如果超集中只有一 部分数据元有所变化,则为了在客户端计算机上更新该数据集,可能只 发送那一部分的delta变化会更好。然而在其它情况下,发送一个或多 个数据元来替换客户端处的过时数据元可能是更有效的。在这些情况 下,可以发送数据超集的快照(snapshot),并且待使用的带宽量变得 更容易计算和预测。通过发送使用delta变化的变化,可以保持客户端计算机处的列表 能实时更新,而不需要每次都提供整个列表。此外,可以每次为每个消 息使用较小的带宽。然而,逻辑在客户端计算机处是必要的,因为该客 户端必须能够对接收到的数据执行隐操作/计算。优选对长列表使用较 少的变化/更新。对于客户端计算机来说,通过快照来发送变化是更简单的,因为客 户端计算机不需要对接收到的数据应用任何逻辑。客户端计算机只用新消息来替换旧消息,并且通常不需要进一步的隐式计算/操作。此外, 可以由保持计时器(hold-back timer)来限制最大带宽,然而对于每 个消息来说更多的带宽是必要的。优选对短列表使用许多更新/变化。上述存储器可以进一步包含可由选择器存取用于存储与客户端有 关的预订的区域。通过具有这个特征,对于选择器来说选择客户端组变 得更为容易,因为预订可以包含例如客户需要、连接的数据速率、交易 数量、客户端的成交量(turnover),客户端状态(例如市场庄家)等 等的信息。与客户端有关的预订优选基于下面的至少一项 —通向客户端的连接的数据速率, —来自客户的计数性能, —客户端权利。由于客户端通常必须支付用于预订信息的费用,因此预订的服务等 级或质量等级有所不同。例如,客户端支付得愈多,该客户端可以获得 的信息越多。因此,如上所述,基于客户端所具有的连接,预订可以与 客户端相关联。该客户端将得到适合于在该连接上的数据速率的预订。其原因是该客户端可能受到该连接的限制,从而该客户端只能接收特定 量的数据。然而,预订也可以基于来自客户端的计数性能。在这种情况 下,通向客户端的连接在正常情况下不构成关于数据速率的瓶颈。因此, 根据计数性能,与该客户端有关的预订可以变化。计数性能的例子可以是付款、在客户端账目的成交量、由客户提供的偿债能力、客户已经 完成的交易数量、从客户端接收到的数据等等。因此,客户的交易越多, 则将该客户升级到具有更好服务或者质量的预订。客户端可以与特殊权利"客户端权利"相关联。例如,与其他客户 端相比,市场庄家可以具有一些优惠/权利。这样,某个信息可以与特 殊权利相结合,并因此只发送给具有那项权利/优惠的客户端。通向该客户端的连接的数据速率可以用许多不同的方式测量。几个 例子(正如早先提到过的)是通过测量连接上的数据速率和/或由客 户端提供的信息和/或由数据消息总线使用对于本领域的专业人员已知 的监视工具提供的信息。在发生下列事件中的至少一个时并且通过使用通信器,提取器优选 地从分类数据元的超集提取数据元的子集—超集中发生变化,—按照由保持计时器决定的时间间隔, 将该子集发送给所选择的客户端组。在提取和/或发送时,可以依据情况来选择子集。如果超集的变化 不经常发生,则在超集发生变化时从该超集提取数据元可能是更有效 的。另一解决方案是按照由保持计时器决定的特定时间间隔提取数据 元。在这些情况下,在系统中预测带宽使用情况是更为简单的。此外,可以通过上述两者的组合来提取数据元。例如,作为默认情 况,可以按照特定的时间间隔提取数据元,但是如果超集中不发生变化, 则不需要发送任何信息。因此,系统检查是否发生了任何变化,并且如 果超集中没有发生变化的话,则甚至不按照特定的时间间隔来提取或者 发送数据元。直到系统检测到变化,该系统才开始按照特定的时间间隔 发送数据元,直到不再检测到超集中的变化为止。该系统在发生变化之 前一直等待,直到发生变化才开始再次发送数据元。因此,计算机系统可以进一步包含与存储器相关联的比较器,该 比较器用于检测在分类数据元的超集中的变化的至少一个位置,并且基于该位置,将与该位置有关的子集发送给预订了该子集的客户端。此外, 将在相邻子集中作为超集中变化的结果发生的变化优选地添加到所发 送的子集中。这样,如果该变化是例如删除超集中的数据元,则所发送 的子集优选地包含原本与另一子集相关的附加的数据元。计算机系统中的存储器可以进一步包含分类数据元的第二超集;第 二超集中的数据元优选地包含来自第一超集的一个或多个数据元。因此,可以使用两个超集来提取数据和向客户端发送数据。优选以 处理第一超集的相同方式处理第二超集。然而,由于第二超集可能具有 以不同方式分类的数据元,因此变化可能发生在超集中的不同位置。在本发明的第二方面中,上述目的和其它目的通过包含如上所述的 计算机系统的电子交易来满足。因此,在电子交易中,计算机系统可以是集成模块。该计算机系统 也可以是作为信息传播系统单独出售的独立模块。在本发明的第三方面中,上述目的和其它目的通过在计算机系统上 实施的、用于通过网络将数据集发送给多个客户端的方法来实现,该方 法包含下列步骤—从分类数据元的超集中提取第一子集和第二子集,第二子集与第 一子集不同,一选择第一组客户端和第二组客户端,笫二组客户端是第一组客户 端的子集,一将第一子集发送给所选择的第一组客户端,将第二子集发送给所 选择的第二组客户端。上面的方法的优点在于,该方法提供了使得可以用更有效的方式传 播数据的解决方案。该方法使得可以不影响带宽和计算机系统中的性能 来发送数据,因为优选地不提取或者发送复制消息。该方法可以进一步包含基于下列输入中的至少一个而选择客户端 组的步骤—通向网络的客户端连接的数据速率,和 —与客户端关联的预订。这样,可以用巧妙的方式来完成数据传播,因为该方法使得可以在 通向客户端的连接上检测数据速率。例如,这可以通过直接在该连接上测量数据速率,或者基于来自客户端的信息完成,另一解决方案可以是从消息总线接收信息等等。因此,可以基于数据速率和预订的组合或者 基于它们中的单独一个来选择组。该方法可以进一步包含根据下列设置中的至少一个在子集中安排数据的步骤一作为至少一部分超集的至少一部分数据元的delta变化构造的数据,一作为至少一部分超集的数据元构造的数据。通过在子集中安排数据,可以节省有价值的带宽。如果超集中只有 一部分数据元发生了变化,则为了更新客户计算机中的数据集,只发送 那一部分的delta变化可能是更好的。然而在其他情况下,发送一个或 多个数据元来替换客户端处的过时数据元可能是更有效的。在这些情况 下,可以发送数据超集的快照,并且待使用的带宽量变得更容易计算和 预测。在另一实施例中,该方法可以进一步包含基于下列输入中的至少一 个将预订与所选择的客户端相关联的步骤 一通向客户端的连接的数据速率, —来自客户端的计数性能,以及 —客户端权利。在发生下列事件中的至少一个时并且通过使用通信器,提取步骤优 选从数据元的超集中提取子集 一超集中发生变化, —按照由保持计时器决定的时间间隔,将子集发送给所选择的客户端组。什么时候以及如何提取子集可以根据具体情况来选择。例如,如果 超集中的变化不经常发生,则在超集中发生变化时从该超集提取数据元 可能是更有效的。然而,如果变化以相对高的速度持续发生,解决方案 可以是按照由保持计时器决定的特定时间间隔提取数据元(快照)。在 这些情况下,在系统中预测带宽使用更为容易,并且可能有更多带宽来 有效地进4于该工作。因此,系统可以选择发送一部分数据集的快照。当使用快照时,可 以使用保持计时器以便于决定何时应该发送快照。例如,每秒钟发送四 个最上面的数据元的快照。该消息的大小将一直是相同的(例如4字节,每个元素对应1字节)。另一解决方案是,当发生更新时,为每次更新
发送数据元。如果在该秒内发生100次更新,则这导致100个数据元(每 个数据元对应1个字节)被发送。因此,在一秒钟的间隔期间发送100
个字节。因此从带宽角度,在这种情况下使用快照和计时器技术可能是 更好的。
如在本文献中早先说明的,可以通过依据变化和依据时间间隔这两 种技术的组合来提取数据元。
该方法可以进一步包含下列步骤
—检测在超集中的变化的至少一个位置,并且基于该位置将与该位 置有关的子集发送给预订了该子集的客户端。
这具有的优点是,只有包含超集中该变化的子集被提取并被发送给 客户端。这样,将会节省带宽和例如处理器时间的其它系统资源。
该方法也可以包含下列步骤
—如果变化是删除超集中的数据元,则将附加的数据元添加到发送 给所选择的客户端的子集。
这具有的优点是,可以在客户计算机处完成对数据元的处理,因为 在第一子集中删除/移除数据元意味着必须将在跟随第一子集的子集中 的第一数据元移到第一子集中。
优选地,数据子集包含涉及下列数据中的至少一个的数据
一根据命令数据的市场,
一根据等级数据的市场/根据价格数据的市场。
如在本文献中早先提到的,可以在外部应用难于将进入数据进行分 类的地方使用上面的数据。通过发送已经分类的数据,加快了客户端计 算机对所接收到的数据的处理。
在本发明的第四方面中,上述目的和其它目的通过用于管理分类数 据元的客户端计算机来实现,该客户端计算机包括
一接口,该接口用于接收更新消息,该更新消息包含与分类数据元 有关的数据,
一存储器,该存储器包括分类数据元集并且用于存储与分类数据元 有关的数据,
—显示器,该显示器用于显示多个分类数据元,
-消息处理器,该消息处理器用于基于更新消息中的数据处理分类数据元集。
上面的客户端计算机所具有的优点是,该客户端计算机提供使得可 以用更有效的方式处理从计算机系统接收到的数据的解决方案。由于需 要按照特定的时间间隔更新存储器中的分类数据元,从而计算机用户可 以看到在中央计算机系统中 一例如在命令薄中 一正在发生些什么,客户 端计算机包含基于在更新消息中所接收到的信息来处理数据元的消息
处理器。因此,如果客户端计算机接收到包含delta变化的更新消息, 则该客户端计算机将delta变化添加到存储器中存储的数据元。如果客 户端计算机接收到包含数据元的更新消息,则该客户端计算机可以替换 存储器中的过时数据元以便于为客户端计算机的用户提供准确和正确 的数据。
客户端计算机可以进一步包含管理模块,该管理模块用于基于更新 消息中的数据来对所存储的分类数据元集执行隐操作。该隐操作优选地 涉及下列操作中的至少一个推进(push)操作、弹出(pop)操作、 删除操作等等。
隐操作由客户端计算机对存储在客户端计算机的存储器中的本地 数据集执行。隐操作基于更新消息的内容,以便于在客户端计算机处生 成分类数据集。
更新消息中的数据可以从数据组中选择,该数据组包括
一添加数据,用于添加新的数据元,
—移除数据,用于移除数据元,以及
一更改数据,用于更改数据元。
根据客户端计算机在更新消息中接收到的数据,该客户端计算机执 行如上所述的特定操作。
在本发明的第五实施例中,上述目的和其它目的通过根据任何前述 实施例的计算机程序产品来实现,该计算机程序产品存储在数据载体 上。
本发明的这些和其它方面从后面所述的实施例中变得明显并参照 后面的实施例进行解释。


图l示出计算机网络的概貌,在该计算机网络中使用本发明,该计算机网络在装置之间的连接上具有不同的数据速率。
图2示出数据超集的实施例,并且还描绘了三个数据子集。 图3示出三个不同的数据超集。
图4示出计算机网络的概貌,该计算机网络在网络中的装置之间的 连接上具有不同的数据速率。还描绘了如何在不同的连接上分发不同的 子集。
图5示出包括存储器、提取器、选择器、通信器、比较器和接口的 计算机。
图6示出在客户端计算机上将数据元添加到数据子集,以及由客户 端计算机执行的隐操作。
图7示出在客户端计算机上将数据元添加到包含两个子集的数据 集,以及由客户端计算机执行的隐操作。
图8示出在客户端计算机上将数据元添加到包含三个子集的数据 集,以及由客户端计算机执行的隐操作。
图9示出更新消息和在客户端计算机上将数据元从包含一个子集的 数据集的位置4移除,以及由客户端计算机执行的隐操作。
图10示出更新消息和在客户端计算机上将数据元从包含两个子集 的数据集的位置4移除,以及由客户端计算机执行的隐操作。
图11示出更新消息和在客户端计算机上将数据元从包含三个子集 的数据集移除,以及由客户端计算机执行的隐操作。
图12示出用于更新不同子集中的数据元的更新消息。如果更新是 在第一子集中进行的,则所有客户端都将接收到该更新消息,如果更新 是在第二子集中进行的,则只有客户端B和C将接收到该更新消息,如 果更新是在笫三子集中进行的,则只有客户端C将接收到该更新消息。
图13示出为了在客户端计算机上更新子集,可以如何做出变化。 在这种情况下通过发送已经变化了的数据元来进行变化。
图14示出为了在客户端计算机上更新子集,可以如何做出变化。 在这种情况下通过发送数据元的delta变化和数据元来进行变化。
图15示出为了在客户端计算机上更新子集,可以如何做出变化。 在这种情况下通过发送超集的快照来进行变化。
具体实施例方式
17在该应用中使用一些特殊的术语,下面对这些术语进行说明。
MB0-根据命令的市场(Market By Order)-在图3中描绘了这种 类型的消息13。这种类型的消息流包括针对工具在命令深度(order depth)中发生的命令薄变化。每个变化将通过delta变化表现在消息 中。外部应用可以使用这个信息来建立他们针对这个命令薄的命令深度 并且维持真实命令薄的镜像(shadow)。可以说,只有发生在最上面的X 个等级上的命令变化才应被分发,并且通过这样做,外部应用将拥有针 对那些级的命令深度的副本。
MBP -根据价格的市场(Market By Price)-这种类型的消息 11包括在价格等级上的信息,所述价格等级存在于具有每等级的总容量 之和的市场中。可以说,只有最上面的Y个价格等级将被分发。
为了简化对本发明的理解,将使用MBO的例子作为对说明的支持。 为了支持不同类型的带宽用户,在这个例子中,配置该系统来分发三个 不同的MBO等级。然而,本发明对于任何类型的分类列表都是有用的, 而不只对MBO或MBP消息信息有用。
现在,参照附图详细阐述本发明。
图1示出具有前端计算机1、后端系统1以及网关或路由器3的中 央计算机系统。在不同的装置之间,存在由具有不同粗细的线4表示的 连接。所述粗细表示带宽(数据速率)。粗线具有高的数据速率,而细 线具有低的数据速率。图1中的三个前端计算机在屏幕上有字母,这表 示该计算机是属于用户A、 B和C的客户端计算机。
图2示出数据超集7,该超集在该例子中被分成三个数据子集8、 9、
10。 可以将该超集分成更多个子集,每个子集包含更少的数据元,或者 可以将该超集分成更少的包含更多数据元的子集。用多少个子集来表示 超集优选基于每个具体情况和将要使用本发明的系统来决定。然而,在 本文献中,我们已经选择将超集分成三个子集,以便于使本发明更易理 解。第一子集8包含5个数据元(1 - 5 ),第二子集9包含l5个数据元
(6-20),第三子集包含〉20的数据元,例如H-30。
图3是包含以三种不同方式表示的数据的三个超集。价格深度(MBP)
11、 价格统计12和命令深度(MBO) 13。
图4示出与图1中的系统相比稍有不同的系统。该图也示出超集的 哪个子集可能通过不同的连接被发送。子集与具有不同的数据速率的连接关联。例如,将中央系统2与客户端A连接的最粗的数据连接能够传 送整个超集16,较慢的数据连接能够将第一和第二子集17传送给客户 端B,而最慢的数据连接能够将第一子集18传送给客户端C。在该例中, 中央系统2包含两个数据超集,然而该中央系统可以包含一个或者多个 数据元,例如3、 4、 5直到15个或者更多地例如100、 200、 500个数 据元。这取决于使用本发明的应用。
图5示出包含根据本发明的计算机系统19的电子装置。计算机系 统19包含存储器20、提取器21、选择器22、通信器23、比较器24和 接口 25。存储器20包含两个超集和用于存储预订的区域。
下面,将参照附图详细阐述本发明。将要解释,可以如何将子集发 送给客户端计算机以及客户端计算机如何优选地管理在从中央系统发 送的更新消息中接收到的数据的细节。
在本文献中提供的例子中,存在三个客户端A、 B和C,它们如在 下面解释的那样在连接上具有不同的数据速率。
客户端A由于小的带宽而具有相对于中央系统的有限连接。因此, 该客户端A不能预订全部的命令深度。因此,该客户端A只希望预订深 度中的最上面的5个命令。
客户端B是与大公司之一进行交易的标准会员客户端,并且具有与 中央系统2的正常连接。该客户端B希望预订最上面的20个命令。
客户端C是高标准客户端,该客户端C连接到中央网关3并且具有 高性能连接。该客户端C希望预订全部的命令深度。
下面是在从数据超集7传播信息时本发明如何更好地工作的例子。
—客户端A在第一子集8的广播上建立预订。
一客户端B在第一子集8和第二子集9的广播上建立预订。
—客户端C在第一子集8、第二子集9和第三子集10的广播上建立 预订。
这些客户端自身中的任何一个都建立了预订。然而,这也可能由系 统管理员集中地在中央计算机系统2处完成,或者自动地由系统自身基 于多个预定的系数(例如数据速率等等)来完成。
中央系统2现在拥有分发命令薄变化的方法,从而该中央系统2支 持不同类型的带宽客户端。这样做的诀窍在于,分发该信息而不需要为 不同类型的客户端复制消息。命令薄7在提供方包含30个命令。第一子集8已经为最上面的5 个命令而发出。第二子集9已经为位置6到20上的命令发出,而第三 子集10已经为其余的等级发出。
因此,客户端A将拥有最上面的5个命令的正确画面(picture )。 客户端B将拥有最上面的20个命令的正确画面,最后客户端C将拥有 完整的命令深度画面。参见图6、 7和8,其中示出每个客户端的画面的 视图。因此,这不但涉及如何在计算机屏幕上看到信息,还涉及如何将 该信息存储在每个客户端计算机处的存储器中。
下面的部分将解释应如何在该系统中对待添加命令以支持这种类 型的解决方案。它所基于的是命令薄变化被作为delta变化进行分发的 解决方案。在图6中示出针对客户端A的例子,在图7中示出针对客户 端B的例子以及在图8中示出针对客户端C的例子。
添加
等级1 - 5 —具有排列在1和5之间的位置的新命令。
根据本发明的系统将产生第一子集添加命令26广播。所有客户端 将接收到该广播26。
在图6中,客户端A将插入命令26并且为受该变化影响的所有其 它命令更新排列位置。曾经拥有位置5而现在拥有位置6的命令将被前 端应用移除,因为该客户端将不再接收到针对这个命令的任何命令变 化,因为该客户端没有预订笫二子集9的消息。
在图7中,客户端B将插入命令26并且为受该变化影响的所有其 它命令更新排列位置。曾经拥有位置20而现在拥有位置21的命令被前 端应用优选地移除,因为该客户端将不再接收到针对这个命令的任何命 令变化,因为该客户端没有预订第三子集10的消息。
在图8中,客户端C将插入命令26并且为受该变化影响的所有其 它命令更新排列位置。前端应用不需要删除任何命令,因为该客户端C 通过预订所有三个广播而拥有完整的命令深度视图。
下面为第二子集和第三子集发送子集添加命令的消息的例子没有 在附图中描绘。然而,应用如在上面的例子中所说明的相同的方法。
等级6 - 20—具有排列在6和20之间的位置的新命令。
根据本发明的系统将产生第二子集添加命令广播。只有客户端B和 客户端C将接收到该广播。客户端A不会接收到该消息,因此该客户端A相对于中央系统的网络连接不会受到该变化的影响。
客户端B将插入该命令并且为受该变化影响的所有其它命令更新排
列位置。曾经拥有位置20而现在拥有位置21的命令将被前端应用移除,
因为该客户端将不再接收到针对这个命令的任何命令变化,因为该客户
端没有预订第三子集10的消息。
客户端C将插入该命令26并且为受该变化影响的所有其它命令更
新排列位置。前端应用不需要删除任何命令,因为该客户端C通过预订
所有三个广播而拥有完整的命令深度视图。
等级21 - >—具有排在>21的位置的新命令。
根据本发明的系统将产生第三子集添加命令广播。只有客户端C将 接收到该广播。客户端C将插入该命令并且为受该变化影响的所有其它 命令更新排列位置。前端应用不需要删除任何命令,因为该客户端C通 过预订所有三个广播而拥有完整的命令深度视图。
客户端A和客户端B不会接收到该消息,因此该客户端A和客户端 B相对于中央系统的网络连接不会受到该变化的影响。
移除
下面的例子在图9、 10和11中描绘,并且示出当发出子集移除命 令消息时如何处理该数据集。
等级1 - 5—移除具有在1和5之间的排列位置X的命令。
根据本发明的系统将产生第 一子集移除命令广播27 。所有客户端都 将接收到该广播27。该广播27优选包含2项。 一项是移除位置X上的 而另一项是添加到位置5。作为删除命令的结果,所述添加到位置5将 包含从位置6移到位置5的命令。该系统还针对从位置21移到位置20 的命令而在位置20上产生第二子集添加命令28。处理这种做法的另一 种方式是针对位置20在第一子集消息27中存在额外的添加记录。
客户端A将移除在位置X上的命令,并且为受到该变化影响的所有 其它命令改善排列位置。曾经拥有位置4的命令将得到位置3等等。客 户端A还将利用该消息中的添加命令并将该添加命令插入到第5个位 置。客户端A不会接收到第二子集命令广播。
客户端B将移除在位置X上的命令,并且为受到该变化影响的所有 其它命令改善排列位置。客户端B的应用将忽略添加到位置5的命令, 因为该客户端B(通过在第二子集9上进行预订)已经在他的命令深度
21里拥有这个命令了。然而,客户端B可能也会接收到第二子集命令28。 该广播包含在位置20上的添加命令记录。客户端B的应用将该命令添 加到第20个位置。
客户端C将移除在位置X上的命令,并且为受到该变化影响的所有 其它命令改善排列位置。客户端C的应用将忽略添加到位置5的命令, 因为该客户端C (通过在第二子集9上进行预订)已经在他的命令深度 里拥有这个命令了。客户端C也将忽略第二子集命令广播,因为该广播 包含客户端C通过在第三子集10上进行预订已经在他的深度范围内所 拥有的命令。
下面为第二子集和第三子集发送子集移除命令的消息的例子没有 在附图中描绘。然而,应用如在上面的例子中所说明的相同的方法。
等级6 - 20—移除具有在6和20之间的排列位置X的命令。
根据本发明的系统将产生第二子集移除命令广播。只有客户端B和 客户端C将接收到该广播。该广播将包含2项。 一项是移除位置X上的 而另一项是添加到位置20。作为删除命令的结果,所述添加到位置20 包含从位置21移到位置20的命令。
客户端A不会接收到该消息,因此客户端A相对于中央系统的网络 连接不会受到该变化的影响。
客户端B将移除在位置X上的命令,并且为受到该变化影响的所有 其它命令改善排列位置。曾经拥有位置15的命令将拥有位置14等等。 客户端B还将使用消息中的添加命令并且将该添加命令插入到第20个 位置。
客户端C将移除在位置X上的命令,并且为受到该变化影响的所有 其它命令改善排列位置。客户端C的应用将忽略添加到位置20的命令, 因为客户端C通过在第三子集上的预订已经在他的命令深度中拥有该命 令了。
等级20—移除具有X>20的排列位置的命令。
根据本发明的系统将生成第三子集移除命令广播。客户端C将接收 到该广播。该广播包含一个在位置X上的移除项。
客户端A和客户端B都不会接收到这个消息,因此他们相对于中央 系统的网络连接不会受到该变化的影响。
客户端C将移除在位置X上的命令,并且为受到该变化影响的所有其它命令改善排列位置。
更新
下面将解释在该系统中应如何处理命令更新以支持这种类型的解 决方案。它所基于的是命令薄变化被作为delta变化分发的解决方案。
更新发生在命令薄中已经存在的命令上。这可以在命令被部分地交 易或者修改时发生而不用改变任何命令薄优先权。该解决方案在图12 中描绘。
等级l-5—影响在最上面的5个等级中的现有命令的更新。 根据本发明的系统将产生第一子集命令变化30广播。所有客户端 将接收到该广播并且相应地更新他们的命令深度。
等级6-20—影响在等级6-20中的现有命令的更新。 根据本发明的系统产生第二子集命令变化30广播。只有客户端B 和客户端C将接收到该广播并且相应地更新他们的命令深度,见图中的 位置10。客户端A不会接收到该消息,因此客户端A相对于中央系统的
网络连接不会受到该变化的影响。
等级21->—影响在等级21和大于等级21中的现有命令的更新。
根据本发明的系统生成第三子集命令变化30广播。只有客户端C 将接收到该广播并且相应地更新他的命令深度,见图12客户端C中"l 的位置。客户端A和客户端B不会接收到该消息,因此他们相对于中央 系统的网络连接不会受到该变化的影响。
在本文献中说明的信息传播方法可以用于许多不同类型的数据。该 解决方案可以用于所有情况,在这些情况中具有项目列表和对该列表中 的不同部分感兴趣的客户端,并且希望以有效方式实时地对该列表进行 分发而不需要复制任何消息。
图13示出子集中两个数据元的更新或者变化。在该图中,为了替 换/改变旧的数据元,系统在更新消息中发送这两个数据元的delta变 化。两个黑色的矩形表示至少一部分超集被构造为数据元的数据。
图14示出子集中两个数据元的更新或者变化。在该图中,系统发 送用黑色矩形表示的数据元的delta变化。上面的一个黑色矩形表示被 构造为至少一部分超集的至少一部分数据元的delta变化的数据。
图15示出子集中两个数据元的更新或者变化,其中发送子集或者 超集的快照,以便于更新在客户端计算机处的集。在以上说明中,术语"包含"不排除其它元素或者步骤,而"一个 不排除多个。
此外,术语"包括,,不排除其它元素或者步骤。
权利要求
1.一种用于将数据集通过网络发送给多个客户端的计算机系统,该计算机系统包括-存储器,该存储器包含分类数据元的超集,-提取器,该提取器与存储器相关联,用于从分类数据的超集中提取数据元的第一子集和数据元的第二子集,所述第二子集与所述第一子集不同,-选择器,该选择器与存储器相关联,用于选择第一组客户端和第二组客户端,第二组客户端是第一组客户端的子集,以及-通信器,该通信器与提取器和选择器相关联,用于将第一子集发送给所选择的第一组客户端,并且用于将第二子集发送给所选择的第二组客户端。
2. 根据权利要求1所述的计算机系统,其中所述选择器基于下面的 至少一项来选择客户端组—通向网络的客户端连接的数据速率, —与客户端关联的预订。
3. 根据权利要求1所述的计算机系统,其中所述分类数据元的超集 包括关于下列数据中的至少一个的数据—根据命令数据的市场,—根据等级数据的市场/根据价格数据的市场。
4. 根据权利要求1所述的计算机系统,其中在数据子集中的数据元 包含下面的至少一项一作为至少一部分超集的至少一部分数据元的delta变化构造的数据,一作为至少一部分超集的数据元构造的数据。
5. 根据权利要求1所述的计算机系统,其中所述存储器进一步包括 可由选择器存取的用于存储与客户端有关的预订的区域。
6. 根据权利要求5所述的计算机系统,其中与客户端有关的预订基 于下面的至少一项—通向客户端的连接的数据速率, —来自客户端的计数性能,以及一客户端权利。
7. 根据权利要求1所述的计算机系统,其中在发生下列事件中的 至少一个时并且通过使用通信器,提取器从分类数据元的超集中提取数 据元的子集—超集中发生变化,—按照由保持计时器决定的时间间隔,将这些子集发送给所选择的客户端組。
8. 根据权利要求1所述的计算机系统,进一步包括与存储器相关 联的比较器,该比较器用于检测在分类数据元的超集中的变化的至少一 个位置,并且基于该位置将与该位置关联的子集发送给预订了该子集的 客户端。
9. 根据权利要求8所述的计算机系统,其中如果所述变化是删除超 集中的数据元,则所述子集包括附加的数据元。
10. 根据权利要求1所述的计算机系统,其中所述存储器进一步包 括分类数据元的第二超集,所述第二超集中的数据元包括来自第一超集 的一个或多个数据元。
11. 一种包括根据权利要求1所述的计算机系统的电子交易。
12. —种在计算机系统上实施的、用于通过网络将数据集发送给多 个客户端的方法,该方法包括下列步骤—从分类数据元的超集中提取第一子集和第二子集,第二子集与第 一子集不同,—选择第一组客户端和第二组客户端,第二组客户端是第一组客户 端的子集,—将第一子集发送给所选择的第一组客户端,将第二子集发送给所 选择的第二组客户端。
13. 根据权利要求12所述的方法,该方法进一步包括基于下列输入 的至少一项选择客户端组的步骤一通向网络的客户端连接的数据速率, —与客户端关联的预订。
14. 根据权利要求12所述的方法,该方法进一步包括根据下列设 置中的至少一项在子集中安排数据的步骤一作为至 一部分超集的至少一部分数据元的delta变化构造的数据,一作为至少一部分超集的数据元构造的数据。
15. 根据权利要求13所述的方法,该方法进一步包括基于下列输入 的至少一项将所述预订与所选择的客户端相关联的步骤一通向客户端的连接的数据速率, —来自客户端的计数性能,以及 —客户端权利。
16. 根据权利要求12所述的方法,其中在发生下列事件中的至少一 个时并且通过使用通信器,提取器从分类数据元的超集提取数据元的子 集—超集中发生变化,一根据由保持计时器决定的时间间隔,将这些子集发送给所选择的客户端组。
17. 根据权利要求12所述的方法,该方法进一步包括下列步骤 —检测在超集中的变化的至少一个位置,并且基于该位置将与该位置关联的子集发送给预订了该子集的客户端。
18. 根据权利要求17所述的方法,该方法进一步包括下列步骤—如果所述变化是删除超集中的数据元,则将附加的数据元添加到 发送给所选择的客户端的子集。
19. 根据权利要求12所述的方法,其中所述数据子集包括关于下 列数据中的至少一个的数据一根据命令数据的市场,一根据等级数据的市场/根据价格数据的市场。
20. —种用于管理分类数据元的客户端计算机,该客户端计算机包括—接口,该接口用于接收更新消息,该更新消息包括与分类数据元 有关的数据,一存储器,该存储器包括分类数据元集并且用于存储与分类数据元 有关的数据,—显示器,该显示器用于显示多个分类数据元,—消息处理器,该消息处理器用于基于更新消息中的数据管理分类 数据元集。
21. 根据权利要求20所述的客户端计算机,该客户端计算机进一步 包括管理模块,用于基于在更新消息中的数据来对存储的分类数据元集 执行隐操作。
22. 根据权利要求21所述的客户端计算机,其中所述隐操作涉及下 列操作中的至少一个一推进操作, —弹出操作, 一删除操作。
23. 根据权利要求20所述的客户端计算机,其中从数据组中选择更 新消息中的数据,所述数据组包括一添加数据,用于添加新的数据元, —移除数据,用于移除数据元,以及 一更改数据,用于更改数据元。
24. —种根据权利要求12所述的计算机程序产品,该计算机程序产 品存储在数据载体上。
全文摘要
本发明适用于任何类型的在不同连接上具有不同数据速率的分布式网络和生成待分发数据的中央计算机系统。所述中央系统包括一个或多个数据超集,通过从数据超集中提取数据子集将所述数据超集分发给客户端计算机。然后,基于关于网络结构的信息,将数据子集分发给所选择的客户端组。这样,执行了分发数据的有效方法,并且不分发复制数据。优选地,基于通向中央计算机系统的客户端连接的计数性能或者数据速率将子集分发给客户端。
文档编号G06Q40/00GK101617334SQ200780047357
公开日2009年12月30日 申请日期2007年12月3日 优先权日2006年12月20日
发明者D·詹森, U·阿莱纽斯 申请人:欧睦技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1