特制的消息传送的制作方法

文档序号:9713605阅读:262来源:国知局
特制的消息传送的制作方法
【专利说明】特制的消息传送
[0001] 相关申请交叉引用
[0002] 本申请要求2014年7月11日提交的标题为"Tailored Messaging"的第14/329,602 号美国专利申请的优先权,并且要求2013年7月12日提交的标题为"System and Method for Dynamically Distributing Market Data Across Multiple Devices in an Electronic Trading Environment"的第61/845,613号美国临时专利申请的优先权,而且 要求2014年7月 10 日提交的标题为 "System and Method for Dynamically Distributing Market Data Across Multiple Devices in an Electronic Trading Environment"的第 62/022,736号美国临时专利申请的优先权。为了所有目的,通过引用将每一个前述申请的 全部内容完整地并入本文。
【背景技术】
[0003] 电子设备可以交换数据消息,以提供例如关于设备的状态的最新信息。在一些系 统中,多个接收方对于从数据源接收更新感兴趣。数据源可以使用诸如广播消息传送或多 播消息传送这样的技术在某些类型的网络中提供这些更新。在其它系统中,由于例如网络 限制、通信偏好(例如,可靠交付、下订单等)和/或安全性要求,因此一些接收方可能使用点 对点连接与数据源进行通信。
[0004] -些接收方可能偏好以不同速率从同一数据源接收更新。在使得将不期望的消息 发送到接收方最小化的同时以不同的速率提供更新,限制了广播和多播消息传送技术的有 用性,并且随着具有不同更新速率偏好的接收方的数量增加,点对点连接变得更有效。然 而,在点对点连接的情况下,必须对于每个接收方生成消息。此外,一些接收方可能偏好在 它们的更新中接收不同级别或层级的数据。基于不同级别或层级的数据来定制消息,要求 对于每个级别或层级的数据生成不同的消息。尤其是对于在接收数据时延时增加是不可接 受的时间敏感信息,随着具有不同偏好的接收方的数量增长,接纳不同更新速率以及不同 级别或层级的数据变成累赘。
【附图说明】
[0005] 参照以下附图公开一些实施例。
[0006] 图1示出可以用于实现一些实施例的示例计算设备的框图。
[0007] 图2示出用于将特制(tailored)消息发送到一个或多个接收设备的示例系统的框 图。
[0008] 图3示出可以用于将快照(snapshot)和增量捕捉(deltasnap)发送到一个或多个 接收设备的示例订阅(subscribe)控制模块的框图。
[0009] 图4示出使用快照技术的例子的数据流。
[0010] 图5示出使用增量技术的例子的数据流。
[0011]图6示出使用增量捕捉技术的例子的数据流。
[0012]图7A和图7B示出说明示例数据级别的框图。
[0013]图8A和图8B示出说明基于快照和增量捕捉的示例可特制消息的框图。
[0014] 图9示出使用特制增量捕捉技术的例子的数据流。
[0015] 图10示出缓冲器中的示例可特制消息。
[0016] 图11示出描述示例接收设备与示例订阅控制模块之间的示例连接的示例数据流 图。
[0017] 图12是表示可以执行为实现图2和图3的订阅控制模块的示例机器可读指令的示 例方法的流程图。
[0018] 图13是表示可以执行为实现图3的数据格式器的示例机器可读指令的示例方法的 流程图。
[0019] 图14是表示可以执行为实现图3的数据格式器的示例机器可读指令的示例方法的 流程图。
[0020] 图15是表示可以执行为实现图3的消息发送器的示例机器可读指令的示例方法的 流程图。
[0021] 图16是表示可以执行为实现图3的消息发送器的示例机器可读指令的示例方法的 流程图。
[0022] 图17是表示可以执行为实现图3的消息发送器的示例机器可读指令的示例方法的 流程图。
[0023]图18不出表不可以米用一些实施例的不例电子交易系统的框图。
[0024]图19不出可以米用一些实施例的另一不例电子交易系统的框图。
[0025]图20A和图20B示出用于在市场深度的多个数据级别处提供市场数据的快照和增 量捕捉的示例可特制消息。
[0026]当结合示出的例子的所提供的附图阅读时,将更好理解一些实施例。然而,应当理 解,实施例不限于附图所示的布置和手段。
【具体实施方式】
[0027] 所公开的实施例总体上涉及用于特制消息以用于网络通信的技术。更具体地,所 公开的实施例涉及基于接收方偏好高效地提供定制信息更新的系统和方法。例如,接收方 可能偏好与系统创建更新相比更不频繁地接收更新,和/或可能偏好在更新中接收不同级 别的数据。在一些实施例中,提供了一种允许对提供更新消息的速率进行更高效特制的增 量捕捉技术。在一些实施例中,提供了一种允许对更新消息的内容进行更高效特制的划分 (partition)技术。在一些实施例中,提供了允许对更新消息的速率和内容进行更高效特制 的划分技术和增量捕捉技术的组合。
[0028] 在各种上下文中,数据消息将信息提供给接收方。一些接收方可能感兴趣于以与 其它接收方不同的速率接收更新。例如,第一接收方可能期望以诸如达到每毫秒一次这样 的第一速率(或许以正在生成更新的速率)来接收更新。第二接收方可能是带宽受约束的, 并且因而想要以诸如每秒两次这样的较低速率被发送更新。第三接收方可能有时是带宽受 约束的,并且希望以任何可能的速率可靠地接收更新,而绝不接收过期数据或体验由于连 接重置而导致的大间隙。此外,在一些系统中,数据源可以在更新中提供不同级别或层级的 数据。例如,每个后继级别可以包括指示超过在先前级别处所提供的细节的更多细节或附 加信息的值。一些接收方可能感兴趣于在来自数据源的更新中接收不同级别数量的数据。 例如,第一接收方可能感兴趣于接收对于在前五个级别处的值的更新。第二接收方可能感 兴趣于接收对于在前两个级别处的值的更新。为了提供不同级别的数据,根据接收方的偏 好来特制消息。在当前系统中,接纳接收方偏好(诸如更新速率和/或不同数量的数据级 别),需要对于每个接收方基于源数据来格式化唯一消息。
[0029] 虽然该描述公开了包含除了其它组件之外的在硬件上执行的软件的实施例,但应 当注意的是,实施例仅仅是说明性的,而不应当被看作限制。例如,考虑到可以排他地在硬 件中、排他地在软件中、排他地在固件中或者在硬件、软件和/或固件的任何组合中体现任 何或所有这些硬件和软件组件。相应地,可以以其它方式实现一些实施例。
[0030] I. 一些实施例的简要描述
[0031] 公开示例方法、系统和计算机可读介质以特制消息,以用于网络通信。用于特制消 息的示例方法包括:由计算设备生成表示数据源在第一时间的状态的第一快照消息。将第 一快照消息发送到第一接收方。示例方法包括:由计算设备生成表示数据源在第二时间的 状态与数据源在第一时间的状态的差的第一增量捕捉消息;以及由计算设备将第一增量捕 捉消息发送到第一接收方。
[0032] 示例方法包括:由计算设备生成表示在第一时间所捕获的第一数据集合的第一快 照。示例方法还包括:由计算设备将第一快照的第一版本发送到第一订阅设备。根据第一订 阅设备的第一偏好来特制第一快照的第一版本。示例方法包括:由计算设备生成表示第一 数据集合与第二数据集合之间的差的第一增量捕捉。第二数据集合表示在第一时间之后的 第二时间处所生成的数据。示例方法包括:由计算设备将第一增量捕捉的第一版本发送到 第一订阅设备。根据第一订阅设备的第一偏好来特制第一增量捕捉的第一版本。
[0033] 示例的有形计算机可读存储介质包括指令,当该指令被运行时使得机器至少:生 成表示数据源在第一时间的状态的第一快照消息。示例指令使得所述机器将第一快照消息 发送到第一接收方。示例指令使得所述机器生成表示数据源在第二时间的状态与数据源在 第一时间的状态的差的第一增量捕捉消息。示例指令使得第一增量捕捉消息被发送到第一 接收方。
[0034] II.示例计算设备
[0035]图1示出了可以用于实现一些实施例的示例计算设备100的框图。计算设备100包 括通信网络110、处理器112、存储器114、接口 116、输入设备118和输出设备120。计算设备 100可以包括附加组件、不同组件或更少组件。例如,可以提供多个通信网络、多个处理器、 多个存储器、多个接口、多个输入设备、多个输出设备或其任何组合。作为另一例子,计算设 备100可以不包括输入设备118或输出设备120。
[0036] 如图1所示,计算设备100可以包括处理器112,其耦合到通信网络110。通信网络 110可以包括用于在计算设备100中的各组件之间进行数据通信的通信总线、电网络或光网 络、电路、开关、构造(fabric)或其它机制。可以将通信网络110与计算设备100的任何组件 通信地进行耦合,并且通信网络110可以在计算设备100的任何组件之间传送数据。
[0037] 处理器112可以是任何合适的处理器、处理单元或微处理器。例如,处理器112可以 包括一个或多个通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列、模拟电 路、数字电路、编程处理器和/或其组合。处理器112可以是单个设备或各设备的组合,诸如 与网络或分布式处理相关联的一个或多个设备。可以使用任何处理策略,诸如多处理、多任 务、并行处理和/或远程处理。处理可以是本地或远程的,并且可以从一个处理器移动到另 一处理器。在一些实施例中,计算设备100是多处理器系统,并且因而可以包括通信地耦合 到通信网络110的一个或多个附加处理器。
[0038] 处理器112可以可操作为执行在一个或多个有形介质(诸如存储器114)中编码的 逻辑和其它计算机可读指令。如在此所使用的,在一个或多个有形介质中编码的逻辑包括: 可以是可由处理器112或不同处理器执行的指令。例如,可以将逻辑作为软件、硬件、集成电 路、固件和/或微代码的部分来存储。可以经由诸如网络140这样的通信网络从外部通信设 备接收逻辑。处理器112可以执行该逻辑以执行附图中所示的或在此所描述的功能、动作或 任务。
[0039] 存储器114可以例如是一个或多个有形介质,诸如计算机可读存储介质。计算机可 读存储介质可以包括各种类型的易失性存储介质和非易失性存储介质,例如包括随机存取 存储器、只读存储器、可编程只读存储器、电可编程只读存储器、电可擦除只读存储器、闪 存、其任何组合或任何其它有形数据存储设备。如在此所使用的,术语非瞬时计算机可读介 质或有形计算机可读介质被明确地定义为包括任何类型的计算机可读介质,并且被定义为 排除传播信号。存储器114可以包括任何期望类型的大容量存储设备,包括硬盘驱动器、光 学介质、磁带或磁盘等。
[0040] 存储器114可以包括一个或多个存储器设备。例如,存储器114可以包括本地存储 器、大容量存储设备、易失性存储器、非易失性存储器或其组合。例如,存储器114可以与处 理器112相邻、作为处理器112的部分、用处理器112来编程、与处理器112联网和/或与处理 器112远程,从而可以由处理器112检索(retrieve)并且处理在存储器114中存储的数据。存 储器114可以存储可由处理器112执行的指令。可以运行该指令,以执行在此所描述的或附 图中所示的动作或功能中的一个或多个。
[0041]存储器114可以存储实现所公开的技术的应用130。在一些实施例中,可以从不同 位置存取应用130或者可以将应用130存储在不同位置中。处理器112可以存取在存储器114 中存储的应用130,并且执行在应用130中所包含的计算机可读指令。
[0042] 在一些实施例中,在安装过程期间,可以将应用从输入设备118和/或网络140传送 到存储器114。当计算设备100正在运行或准备运行应用130时,处理器112可以经由通信网 络110从存储器114检索指令。
[0043] III.订阅控制模块
[0044]图2示出了包括订阅控制模块201和数据源202的示例系统200。在所示的例子中, 数据源202将数据提供给订阅控制模块201。订阅控制模块201可以例如在数据源202发送数 据时、(例如以设置的时间间隔)周期性地、在检测到更新时、和/或响应于触发事件等,接收 和/或另外检索数据。订阅控制模块201将数据变换为特制消息204。经由通信链路(例如,点 对点连接、单播信道、传输控制协议(TCP)套接字、WebSocket连接等)将特制消息204发送到 一个或多个接收设备206(例如,智能电话、平板、服务器、个人计算机等)。相对于接收设备 206定义一个或多个偏好(例如,更新速率、数据的级别数量等)。在一些例子中,电子设备 206将偏好传递到订阅控制模块201。例如,对于每100ms生成更新的订阅控制模块201,接收 方206可以将偏好设置为仅按每500ms的频度接收更新。在一些例子中,由订阅控制模块201 确定用于电子设备206的偏好。例如,订阅控制模块201可以基于与电子设备206的连接过程 期间的延时,确定应当将更新速率设定为ls,并且仅具有3个级别的数据。在一些例子中,订 阅控制模块201基于网络链路吞吐量来调整更新速率。例如,如果仍然正在发送早先更新, 则订阅控制模块201可以延迟发送下一更新。在该例子中,如果在延迟期间生成更加新近 (recent)的更新,则订阅控制模块201可以替代地发送这个更加新近的更新。订阅控制模块 201经由有线连接或无线连接(例如,缆线/DSL/卫星连接、蜂窝连接、长期演进(LTE)连接 等)通过网络(例如,互联网、广域网等)与接收方206进行通信。
[0045]图3示出了图2的订阅控制模块201的示例实现方式。订阅控制模块201从数据源 202接收和/或另外检索数据,并且将特制消息(例如图2的特制消息204)发送到一个或多个 电子设备206。所示的例子的订阅控制模块201包括数据源接收器302、数据格式器 (f 〇rmatter)304、主缓冲器306、次缓冲器308和消息发送器310。数据源接收器302从数据源 202接收和/或另外检索数据。
[0046]在图3所示的例子中,数据源202动态地更新(例如,当新信息变为可用时异步地更 新,用闲置时段周期性地更新等)。为了接收和处理数据并且将消息发送到接收方204,数据 源接收器302(例如,经由图3的数据源接收器302)捕获数据源202在离散时间点的状态。在 一些例子中,当数据源202提供关于其状态的改变的更新时,数据源接收器302捕获数据源 202的状态。在一些例子中,数据源接收器302按设置的时间间隔捕获数据源202的状态(例 如,数据源频繁地更新的例子)。例如,数据源接收器302可以每100毫秒捕获一次数据源202 的状态。在一些例子中,数据源接收器302响应于检测到更新而捕获数据源202的状态(例 如,数据源偶发性地更新的例子)。数据源接收器302可以建立基本更新速率。基本更新速率 是订阅控制模块201使更新可用于接收设备206的速率。在一些例子中,(例如,当数据源202 频繁地更新时等)按有规律的间隔来建立基本更新速率。在一些例子中,(例如,当数据源 202不频繁地更新时等)按不规律的间隔来建立基本更新速率。在一些例子中,基本更新速 率根据数据源202的改变频率而改变。
[0047]在图3的所示的例子中,数据格式器304将来自数据源202的数据进行格式化(例 如,编组(marshal)、转译、标准化、组织等)。数据格式器304将数据变换成将要在主缓冲器 306和/或次缓冲器308中存储的可特制消息。主缓冲器306和/或次缓冲器308存储由数据格 式器304格式化的数据。在一些例子中,由数据格式器304存取在主缓冲器306和/或次缓冲 器308中存储的数据,以与来自数据源202的后续数据进行比较。例如,主缓冲器306可以包 括可特制的快照消息。利用以下更详细讨论的技术,数据格式器304可以然后将来自数据接 收器302的数据与主缓冲器306中的可特制的快照消息进行比较,以在次缓冲器308中生成 可特制的增量捕捉消息。
[0048]在所示的例子中,消息发送器310管理与一个或多个接收方电子设备206的连接。 消息发送器310使用在主缓冲器306和/或次缓冲器308中存储的可特制消息,并且将数据作 为特制消息204发送到接收方电子设备206。在一些例子中,消息发送器310从接收方电子设 备206接收偏好。例如,偏好可以包括对于更新速率的偏好和/或对于数据的级别数量的偏 好。在一些这样的例子中,消息发送器310基于接收到的偏好,将在主缓冲器306和/或次缓 冲器308中存储的可特制消息进行特制,以发送到接收方电子设备206。为了将可特制消息 进行特制,消息发送器310基于接收到的偏好,计算将要发送可特制消息的哪个部分(例如, 字节的总数)。例如,如果可特制消息是100个字节,则消息发送器310可以基于接收到的偏 好,计算出仅前56个字节将要被发送到接收方电子设备206。以这种方式,不需要对消息进 行每接收方的再变换。数据格式器304具体地格式化可特制消息,以允许截断式 (truncated)发送
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1