CN110249322B - 用于聚合、过滤和呈现流数据的系统和方法 - Google Patents

用于聚合、过滤和呈现流数据的系统和方法 Download PDF

Info

Publication number
CN110249322B
CN110249322B CN201780085598.0A CN201780085598A CN110249322B CN 110249322 B CN110249322 B CN 110249322B CN 201780085598 A CN201780085598 A CN 201780085598A CN 110249322 B CN110249322 B CN 110249322B
Authority
CN
China
Prior art keywords
data
client
query
service
snapshot
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.)
Active
Application number
CN201780085598.0A
Other languages
English (en)
Other versions
CN110249322A (zh
Inventor
I·斯拉文
M·A·莱格
R·阿尔珀特
J·V·汤姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JPMorgan Chase Bank NA
Original Assignee
JPMorgan Chase Bank NA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US15/378,501 external-priority patent/US10657137B2/en
Application filed by JPMorgan Chase Bank NA filed Critical JPMorgan Chase Bank NA
Publication of CN110249322A publication Critical patent/CN110249322A/zh
Application granted granted Critical
Publication of CN110249322B publication Critical patent/CN110249322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Processing (AREA)

Abstract

公开了用于聚合、过滤和呈现流数据的系统和方法。在一个实施例中,一种用于呈现流数据的方法可以包括:(1)在包括至少一个计算机处理器的用于服务器的web服务层处接收来自客户端的查询,其中查询包括多个参数;(2)用于服务器的数据高速缓存层从至少一个预定义的流数据源接收流数据;(3)数据高速缓存层针对多个参数中的每一个合并流数据;(4)数据高速缓存层聚合合并的数据;(5)数据高速缓存层通过同时针对合并的数据运行查询来生成合并的数据的快照;以及(6)将快照输出到客户端。

Description

用于聚合、过滤和呈现流数据的系统和方法
技术领域
本公开总体涉及用于聚合、过滤和呈现流数据的系统和方法。
背景技术
公共云和私有云都已成为越来越流行的计算环境。但是,由于主机系统和远程操作系统之间的可变延迟,这些环境不支持流数据。此外,将数太字节的流市场数据推入各种云的成本会导致来自提供商的非常高的“传输”费用,从而降低了将云用于数据驱动应用的价值主张。
发明内容
公开了用于聚合、过滤和呈现流数据的系统和方法。在一个实施例中,一种用于呈现流数据的方法可以包括:(1)在包括至少一个计算机处理器的用于服务器的web服务层处接收来自客户端的查询,其中查询包括多个参数;(2)用于服务器的数据高速缓存层从至少一个预定义的流数据源接收流数据;(3)数据高速缓存层针对多个参数中的每一个合并流数据;(4)数据高速缓存层聚合合并的数据;(5)数据高速缓存层通过同时针对合并的数据运行查询来生成合并的数据的快照;以及(6)将快照输出到客户端。
在一个实施例中,参数可以包括用于证券和投资中的至少一个的特定描述符。
在一个实施例中,查询还可以包括流数据源的识别。
在一个实施例中,流数据可以包括市场数据。
在一个实施例中,web服务层可以输出被延迟预定时间量的快照,其中时间段基于与流数据相关联的一个或更多个规则。
在一个实施例中,方法还可以包括:用于服务器的权限服务层验证客户端被授权以访问响应查询的信息。
在一个实施例中,方法还可以包括:基于从客户端接收的至少一个客户端凭证来认证客户端。
在一个实施例中,对于针对特定时间的证券和投资中的至少一个,快照可以是准确的。
在一个实施例中,快照可以包括用于针对特定时间的证券和投资中的至少一个的适当状态。
根据另一个实施例,一种用于呈现流数据的系统可以包括:多个流数据源;用于每个流数据源的数据加载器,数据加载器从流数据源接收流数据;数据高速缓存层,其从数据加载器接收流数据;以及web服务层,其包括至少一个计算机处理器并且与数据高速缓存层通信。web服务层可以从客户端接收查询,其中查询包括多个参数;数据高速缓存层可以针对多个参数中的每一个合并流数据;数据高速缓存层可以聚合合并的数据;数据高速缓存层可以通过同时针对合并的数据运行查询来生成合并的数据的快照;以及快照可以被输出到客户端。
在一个实施例中,参数可以包括用于证券和投资中的至少一个的特定描述符。
在一个实施例中,查询可以包括流数据源的识别。
在一个实施例中,流数据可以包括市场数据。
在一个实施例中,web服务层可以输出被延迟预定时间量的快照。
在一个实施例中,时间段可以基于与流数据相关联的一个或更多个规则。
在一个实施例中,可以从云应用程序和本地应用程序中的至少一个接收查询。
在一个实施例中,系统还可以包括用于服务器的权限服务层,其验证客户端被授权以访问响应查询的信息。权限服务层还可以基于从客户端接收的至少一个客户端凭证来认证客户端。
在一个实施例中,快照对于针对特定时间的证券和投资中的至少一个可以是准确的。
在一个实施例中,快照可以表示用于针对特定时间的证券和投资中的至少一个的适当状态。
附图说明
为了更完整地理解本发明、其目的和优点,现在参考以下结合附图的描述,其中:
图1描绘了根据一个实施例的用于聚合、过滤和呈现流数据的系统;
图2描绘了根据一个实施例的用于聚合、过滤和呈现流数据的方法;
图3描绘了根据一个实施例提供策略流程;以及
图4描绘了根据一个实施例的示例性过程流程。
具体实施方式
通过参考图1-图4可以理解本发明的若干实施例及其优点。
实施例涉及用于聚合、过滤和呈现流数据的系统和方法。
在一个实施例中,可以将来自内部和外部源的数据推入高速数据聚合引擎。客户端可以进行简单的web服务请求,从而指定其凭证、信息源和所请求的信息的列表。例如,在金融机构中,客户端可以提交证券和领域的列表。然后,客户端接收具有客户端所需的信息的单个响应。这减少或消除了所有应用程序必须支持的高速流管理以及所需的基础设施和开发。
在一个实施例中,可以根据需要和/或期望使用任何合适的聚合引擎。在一个实施例中,聚合引擎可以允许对数据有效载荷内的各个字段进行结构化查询语言(“SQL”)样式的内容过滤,从而允许对多种产品进行近实时分析。
实施例可以提供以下中的部分或全部:(1)通过较低的数据传输成本增加基于云的应用程序的价格优势;(2)通过减少基础设施要求和缩短数据驱动应用程序的开发周期,大规模降低技术成本;(3)由于API的简化和与电子表格的集成,更多可替代的开发人员队伍;(4)跨不同源的高级内容过滤允许开发过去成本过高的实时应用程序功能(feature);(5)通过融合外部和内部数据促进分布式分析;以及(6)能够为不需要实时数据的个体提供实时数据的老化或延迟、递送,以降低该数据的成本。还可以提供其他益处。
在金融行业中,因为市场数据和消息传递涉及大量数据,所以期望客户端进行与处理来自金融信息发布平台(ticker plant)的有效载荷相关联的重要工作。他们经常不得不处理与大量信息相关的硬件和软件挑战、将其合并以便用户获得利益、跨许多线程和系统聚合以支持组合管理等。实施例解决了这些和其他挑战,同时给予最终用户和开发人员进行过滤的接口。
参考图1,根据一个实施例公开了一种用于聚合、过滤和呈现流数据的系统。系统100可以包括多个客户端接入点110,web服务层120,数据高速缓存层130,数据加载器1401、1402、......140n以及数据源1501、1502、......150n。数据源150可以从一个或更多个流数据源接收数据,例如内部和外部市场数据、行业新闻等。
尽管在图1中示出了三个数据加载器140和数据源150,但应该认识到,可以根据需要和/或期望提供更多或更少数量的数据加载器140和数据源150。
数据加载器140可以从数据源150接收数据。在一个实施例中,每个数据加载器140可以将来自一个或更多个数据源150的流数据“馈送”到数据高速缓存层130中。每个数据加载器140还可以与web服务层120通信。例如,每个数据加载器140可以与控制平面服务126通信,控制平面服务126可以指示一个或更多个数据加载器140创建新订阅、重试故障等。
数据高速缓存层130可以服务来自web服务层120的请求。在一个实施例中,数据高速缓存层130可以用作数据库和消息总线两者。
在一个实施例中,数据高速缓存层130还可以过滤数据并且可以提供所请求的数据的“快照”。
合适的数据高速缓存层130的一个示例是来自60East Technologies的高级消息处理系统(AMPS)。
web服务层120可以使用一个或更多个客户端接入点110与客户端接合。在一个实施例中,web服务层可以提供服务,例如配置管理服务122、监测服务124、控制平面层126和权限服务128。可以根据需要和/或期望提供其他服务。
在一个实施例中,配置管理服务122可以为一个或更多个数据加载器140提供配置数据,例如连接到哪些数据源150、如何连接到数据源150等。在一个实施例中,配置管理服务122可以提供运行时配置信息,例如,用于数据加载器140、web服务层120、权限服务128的连接信息(例如,主机:端口)、哪些数据馈送以加载、哪些web连接要支持(http或https)、SSL证书位置、连接和线程池大小调整、记录间隔、环境(dev/test/prod)等。
在一个实施例中,监测服务124可以监测一个或更多个数据源150的状态,并且如果数据源变得不可用,则可以重新路由请求。
控制平面服务150可以与一个或更多个数据加载器140接合。在一个实施例中,控制平面服务150可以在服务之间传递指示,从而允许自动指令(例如,监测服务124注意到数据加载器的故障并命令web服务层120在数据聚合层130内切换服务器)或手动指示(例如,操作团队想要使服务离线)两者。
在一个实施例中,权限服务128可以验证允许客户端访问所请求的数据。
在一个实施例中,客户端接入点110可以包括例如云应用程序、本地应用程序、用户界面、API等。在一个实施例中,客户端接入点110可以提供例如电子表格作为其到客户端的输出。
在一个实施例中,系统100可以包括为客户端提供“订阅”以接收更新的能力。在一个实施例中,对复杂查询的更新可以在大小上小于重新提交查询,并且每秒多次接收完整结果集。
参考图2,根据一个实施例公开了一种用于聚合、过滤和呈现流数据的方法。
在步骤210中,客户端可以经由诸如云应用程序、本地应用程序、上传等接口来请求感兴趣的信息。在一个实施例中,客户端还可以提供凭证并识别信息源和请求信息列表。在另一个实施例中,机器学习可以用于基于过去的查询来识别源。
在一个实施例中,客户端可以使用web服务协议来请求信息。web服务协议可以使用例如类似SQL的语法来过滤信息。可以提交的一种示例查询是“(/BID//ASK>=(0.05*/TRDPRC_1))”,这意味着“其中BID的值除以ASK的值大于或等于TRDPRC_1的值的5%”。
在金融系统中,查询可以包括股票、行业、感兴趣的领域/区域等的识别。查询可以用在过滤器(filter)中。
在一个实施例中,请求可以是(例如,对股票、行业等的)订阅。在一个实施例中,请求可以指定要提供的每个快照的时段或条件。
在步骤220中,可以授权客户端访问所请求的数据。在一个实施例中,这可以涉及权限检查以确定是否允许客户端访问所请求的信息。
在一个实施例中,可以基于可以作为请求的一部分所提供的凭证来进一步认证客户端。
在步骤230中,可以将请求提供给数据高速缓存层,在步骤240中该数据高速缓存层可以过滤从流数据源接收的数据。数据高速缓存层还可以“快照”数据,即,提供在特定时刻处的数据状态。
在一个实施例中,业务逻辑可以减少呈现给客户端的数据字段的数量。
在步骤250中,可以合并过滤的数据。例如,可以聚合来自一个以上源的已过滤的数据。例如,在一分钟内,股票的价格可能会从70.00变为70.05,回到69.90,并且直到70.01。对于一个合并的源,客户端只会收到70.01,因为这是在该分钟结束时的适当价格状态。但是,该值不是最后一个值,因为它不总是适当的数据点,特别是对于具有多个字段的数据集,例如Bid和Ask。
在步骤260中,可以生成数据的数据快照。在一个实施例中,快照可以用于证券集合,并且可以在该时间点处跨该集合是准确的。例如,可以跨已经聚合的数据(例如,感兴趣的证券)同时地而不是顺序地运行查询。
在步骤270中,可以经由web应用程序、本地应用程序、API、电子表格等将快照输出到客户端。
在一个实施例中,快照的递送可以被延迟预定的时间量以便“老化”数据。例如,用于数据递送的定时可以确定数据是否可以免费递送,或者是否存在针对数据的费用。不是所有客户都需要实时数据;例如,投资经理在与潜在客户会面时可能不需要实时数据。
因此,在一个实施例中,系统可以确定延迟多长时间输出快照,其可以基于与数据和/或数据源相关联的规则,并且系统可以将快照延迟至少该时间量。在一个实施例中,可以维护快照中的数据的年龄/寿命(age)的可审计跟踪。
本文公开的实施例可以将由多个业务线执行的各种过程的机制与解决问题相关的内容分开。该内容(例如客户投资组合中的各种份额(lot),由交易、转账、添加、提款等引起的变化)可以被视为通用的内部发布数据,被匿名化,并被提供给一个或更多个系统/方法以用于聚合、过滤并呈现流数据。这种系统/方法的示例在美国专利申请序列号15/378,501中公开,其公开内容通过引用整体并入本文。
在实施例中,来自各个场所的市场数据可以在一个或更多个系统/方法的内部合并以用于聚合、过滤和呈现流数据,并且可以与投资组合信息融合。随着数据经历多个融合阶段,每个份额都会针对实时市场数据定价,然后聚合到实时投资组合视图中。
在实施例中,顾客可以使用定制规则引擎来订阅与业务相关的“警报”。例如,当特定股票达到价格阈值时,当特定持股的集中度风险违反预定水平时,当份额或投资组合的估值上升/下降一定百分比时,系统可以向客户端发送通知,等等。
参考图3,根据一个实施例提供了策略流程。策略流程可以包括顾客、金融机构接口、网关服务、一个或更多个图形用户界面、外围网关、复杂事件处理器(CEP)引擎、内部数据平台(例如,可以提供发布和消费者之间安全可靠的消息传递的内部数据平台。可以使用OpenMAMA API提供访问)、一个或更多个市场数据馈送(例如NASDAQ Basic,其承载NASDAQ和NYSE市场数据。可以使用商业馈送处理程序;OPRA、Pink Sheets、TradeWeb等)、匿名器、数据注入器、安全主控设备、投资组合管理系统、日内活动监测器(例如,日内活动、订单管理系统和现金流系统)、警报引擎和通知平台。
在一个实施例中,CEP引擎可以处理需要市场数据和以下中的一个或更多个的应用程序的数据:(1)处于不能支持高速流数据的配置中;(2)每天只需要几次价格但需要这些价格具有非常小的滞后;(3)需要单次提交大量符号(与均采用单个符号的流订阅相对);(4)来自多个源的市场和分析数据的聚合(例如,Reuters RMDS、直接馈送(Direct Feeds)、内部数据(Internal Data)、LOB市场分析);或者(5)需要能够在考虑一个或更多个字段的值的情况下过滤关于动态查询的数据,或者可以使用已经被延迟确定的时间的市场数据来降低其成本。
在一个实施例中,匿名化器组件可以在注入CEP引擎之前从投资组合内容中剥离客户的身份。反向过程允许过程查找与他们感兴趣的特定客户的投资组合相关联的ID。
数据注入器可以向一个或更多个技术资产提供单个接口。它可以映射系统之间的参考数据(例如,符号体系)并与内部数据平台(例如,以发送投资组合信息)和CEP引擎(例如,以确保感兴趣的工具在监视列表上)进行通信。
在一个实施例中,投资组合管理系统可以是客户持股的投资组合内容数据的源。它可以发布每日更新的感兴趣的投资组合,按需发布投资组合,以及维持所有份额/投资组合的“官方”日价格开始。
在一个实施例中,日内活动监测器可以监测诸如源自订单管理系统、现金流引擎等的活动。它可以将更新发布到CEP引擎中作为自一天开始以来的投资组合变化以反映实时的估值变化。
警报引擎可以将来自金融机构网站的客户端指示转换为针对CEP引擎和其他后端系统的订阅。持续数天的警报,侦听来自CEP引擎的满足条件的信号,执行所需动作,禁用活动的(actioned)警报等。
图4描绘了根据一个实施例的示例性过程流程。在一个实施例中,数据源层可以接收市场数据(例如,市场数据流)并且可以将数据提供给数据加载器层,其中可以使用一个或更多个数据加载器将数据加载到数据高速缓存层中。CEP引擎可以从数据高速缓存层访问数据,并且可以提供配置管理、数据过滤处理、监测服务、控制平面服务、权限服务等。在一个实施例中,CEP引擎可以经由顾客访问层向顾客提供服务。
示例
以下提供非限制性示例。
数据集1:来自直接馈送的权益工具:
<snapSymbol>JPM.N</snapSymbol>
<snapStatus>ok</snapStatus>
<wBidPrice>87.790000</wBidPrice>
<wBidSize>18</wBidSize>
<wAskPrice>87.800000</wAskPrice>
<wAskSize>4</wAskSize>
<wInstrumentType>Stock</wInstrumentType>
<wOpenPrice>90.360000</wOpenPrice>
<wAdjPrevClose>90.070000</wAdjPrevClose>
<wPrevClosePrice>90.070000</wPrevClosePrice>
<wBidOpen>90.340000</wBidOpen>
<wAskOpen>90.400000</wAskOpen>
工具价格是wBidPrice和wAskPrice的平均值。
数据集2:来自直接馈送的商品未来:
<snapSymbol>CLJ7.NYM</snapSymbol>
<snapStatus>ok</snapStatus>
<wIssueSymbol>CLJ7.NYM</wIssueSymbol>
<wBidHigh>48.620000</wBidHigh>
<wAskLow>47.400000</wAskLow>
<wAskPrice>47.410000</wAskPrice>
<wAskSize>5</wAskSize>
<wBidPrice>47.390000</wBidPrice>
<wBidSize>52</wBidSize>
<wBidLow>47.340000</wBidLow>
<wAskHigh>48.750000</wAskHigh>
<wOpenPrice>47.930000</wOpenPrice>
<wOpenTime>2017-03-21 17:45:27.229603</wOpenTime>
<wCfiCode>FCMXSX</wCfiCode>
<wCurrency>USD</wCurrency>
<wEntryStatus>0</wEntryStatus>
适用相同的价格规则
数据集3:来自供应商馈送的债券工具:
<snapSymbol>ISIN_USN82008AK46_MODEL.FUSE</snapSymbol>
<snapStatus>ok</snapStatus>
<CLIENT_OFFER>0.000000</CLIENT_OFFER>
<CLIENT_BID>0.000000</CLIENT_BID>
<POSITION>0.000000</POSITION>
<COUPON_RATE>2.000000</COUPON_RATE>
<STRING2>HG-Industrials/Defense/Chemicals</STRING2>
<MKT_PRICE_2>1000000.000000</MKT_PRICE_2>
<MKT_PRICE_1>1000000.000000</MKT_PRICE_1>
<MATURDATE>15Sep 2023</MATURDATE>
<ISIN_BENCHMARK>US912828W556</ISIN_BENCHMARK>
<CURVE_TYPE>EMEA</CURVE_TYPE>
<UPDATE_TM>12:31:15.000</UPDATE_TM>
<ITEM_ID/>
价格在字段MKT_PRICE_1中
数据集不需要存在于相同CEP实例中。例如,数据集1和数据集3可能存在于创建投资组合视图的相同CEP实例上。由于摄取的体积需求,数据集2可能在另一个实例上。
提供了示例投资组合设计。投资组合可以存储在自己的表中,称为
Figure BDA0002155072780000091
Figure BDA0002155072780000101
例如,投资组合定价可以使用以下伪代码:
Figure BDA0002155072780000102
换句话说,可以返回表示投资组合的实时价格的单个值,其将随着数据改变而改变。
在一个实施例中,可以为两个实例定义四层表。
第一层可以接收来自市场数据发布者的数据。例如,对于PortfolioPricing和CommodityFutures两者,每个数据馈送/源可能有一个表。在PortfolioPricing上,这些可能被命名为“Equity”和“Bond”,而在CommodityFutures上,它可能被命名为“Comm”。这些表不是记录的也不是复制的事务,并且这些表中的数据的“形状”是该数据源定义的任何事物。
在下一层是可以被称为“AllPrices”的复制表,其可以充当来自所有源的价格数据的正规化(normalized)并集。可以将数据正规化并从Comm、Equity和Bond表发布到AllPrices。在实施例中,可以合并该信息以便降低最大数据速率。
动作链中的第一步骤可以是解析基础数据并将感兴趣的值提取到变量中。可以将值的提取指定为投影表达式。例如,当处理来自Equity的消息时,行<Value>price=(/price/wBidPrice+/price/wAskPrice)/2</Value>计算/wBidPrice和/wAskPrice的平均值,并将结果放在变量{{price}}中。
动作的下一步骤是发布包含{{symbol}}和正规化的{{price}}的新消息,以及指示定价数据的源的“source”字段。这可以发布到AllPrices表,并且也可以格式化为JSON。
此时,传入的市场数据已被正规化并转换为单个AllPrices表。可以使用合并和复制来最小化PortfolioPricing实例必须处理的消息总量,同时为PortfolioPricing提供定价投资组合所需的所有证券价格的完整视图。
接下来,可以将投资组合建模为表“Portfolio”,根据证券每个投资组合一行。Portfolio中的每条消息可能具有投资组合ID、证券以及该投资组合中该证券的权重。该表基本上是用于感兴趣的投资组合的输入数据,并且系统可以在调整、添加和/或移除投资组合的内容时动态地重新计算投资组合价格。
该计算在下一层(聚合)中完成。这可以建模为两个视图。第一视图是Portfolio和AllPrices之间的连接,称为“PricedPortfolio”。这里可能存在一条消息用于Portfolio中的每条消息,但由于连接(Join),每个证券的当前价格可以被包含。
顶部PricedPortfolio可以是计算投资组合价格的第二视图,“PricedPortfolioAgg。”这实质上是将伪代码(上面)转换为视图,其中每个投资组合包含一条消息,其具有投资组合ID、投资组合中的证券计数以及投资组合中证券的/price*/weight的总和。
因此,在实施例中,系统可以接收投资组合数据(例如,通过推送),并且然后接收对PricedPortfio和PricedPortfolioAgg的查询/订阅,以在基础市场数据改变时看到动态更新的投资组合价格。
在实施例中,每个投资组合的官方日估值开始可以作为每日加载的一部分提交到PortfolioRef表中。这允许PricedPortfolioAgg视图通过比较当前估值和提交到PortfolioRef表中的参考数据来包括未实现的日收益/损失开始的计算。在一个实施例中,可以计算从日投资组合估值开始的百分比变化。
在实施例中,警报引擎可以建立对CEP引擎的订阅,该CEP引擎将人类可识别的概念映射到基础数据结构。SQL语言中的算术表达式和公式可以用于定义警报引擎应何时接收事件通知。一旦在特定订阅上接收到数据,警报引擎将把它映射回期望的动作(例如,发送消息(诸如电子邮件或SMS)、在顾问的用户界面上弹出窗口等)并且可以执行该动作。它可以进一步被配置为保持活动警报、或通过终止订阅来禁用自身。
警报的非限制性示例包括高于/低于美元金额(amount)或百分比的投资组合收益/损失、特定持股的价值超过特定阈值等。
代表多个客户的顾问可以保持覆盖多个感兴趣的投资组合的警报,以整体了解其客户的持股。
在组织级别处,可以在CEP引擎中整体地分析所有持股以促进对冲(hedging)、跨账户股票贷款、风险管理等。
在一个实施例中,现金可以在投资组合中表示为基础货币(例如美元)的多个单位。货币的市场数据可能是静态的(例如用于美元计价账户的美元),或代表当前的外汇汇率。
在另一个实施例中,类似的机制可以用于投资组合变化的假设建模。可以使用单独的CEP引擎或副表(side table)来存储投资组合的假设内容的最终表示,同时可以使用相同的聚合机制来对投资组合定价。
在一个实施例中,CEP引擎中的单独表可以将股票存储到扇区(sector)关系,该扇区关系可以用于构建动态风险模型以帮助顾客管理风险。可以定义多个风险模型以促进不同的风险偏好。
在一个实施例中,可以在包含聚合视图的表上建立单独的订阅,该聚合视图然后可以被提取并保存在数据库中。该历史记录可以用作审计跟踪,或用于训练机器学习系统以向顾客和顾问生成自动投资建议。
在一个实施例中,CEP引擎可以用于实时融资(margin)管理,因为它知道投资组合份额的当前估值状态以及货币工具的可用性。
尽管已经公开了若干实施例,但应该认识到,这些实施例并非彼此排斥。
在下文中,将描述本发明的系统和方法的实施方式的一般方面。
本发明的系统或本发明的系统的部分可以是“处理机器”的形式,例如通用计算机。如本文所使用的,术语“处理机器”应理解为包括使用至少一个存储器的至少一个处理器。至少一个存储器存储指令集。指令可以永久地或临时地存储在处理机器的一个存储器或更多个存储器中。处理器执行存储在一个存储器或更多个存储器中的指令以便处理数据。指令集可以包括执行一个特定任务或更多个特定任务(例如上述那些任务)的各种指令。用于执行特定任务的这样的指令集可以被表征为程序、软件程序或简单地软件。
在一个实施例中,处理机器可以是专用处理器。
如上所述,处理机器执行存储在一个存储器或更多个存储器中的指令以处理数据。例如,该数据处理可以响应于处理机器的一个用户或更多个用户的命令、响应于先前的处理、响应于另一个处理机器的请求和/或任何其他输入。
如上所述,用于实现本发明的处理机器可以是通用计算机。然而,上述处理机器还可以利用各种其他技术中的任何一种,其他技术包括专用计算机、计算机系统(其包括例如微计算机、小型计算机或大型机、编程微处理器、微控制器、外围集成电路元件、CSIC(客户专用集成电路)或ASIC(专用集成电路)或其他集成电路、逻辑电路、数字信号处理器、可编程逻辑器件(例如FPGA、PLD、PLA或PAL))或者能够实现本发明的过程的步骤的任何其他设备或设备的布置。
用于实现本发明的处理机器可以使用合适的操作系统。因此,本发明的实施例可以包括运行以下操作系统的处理机器:iOS操作系统、OS X操作系统、Android操作系统、Microsoft WindowsTM操作系统、Unix操作系统、Linux操作系统、Xenix操作系统、IBM AIXTM操作系统、Hewlett-Packard UXTM操作系统、Novell NetwareTM操作系统、SunMicrosystems SolarisTM操作系统、OS/2TM操作系统、BeOSTM操作系统、Macintosh操作系统、Apache操作系统、OpenStepTM操作系统或其他操作系统或平台。
应当理解,为了实践如上所述的本发明的方法,处理机器的处理器和/或存储器不一定物理地位于相同的地理位置。也就是说,处理机器使用的处理器和存储器中的每一个可以位于地理上不同的位置并且连接以便以任何合适的方式通信。另外,应当理解,处理器和/或存储器中的每一个可以由不同的物理设备件组成。因此,不一定处理器是一个位置中的单件设备,并且不一定存储器是另一个位置中的另一个单件设备。也就是说,预期处理器可以是两个不同物理位置中的两件设备。两个不同的设备件可以以任何合适的方式连接。另外,存储器可以包括两个或更多个物理位置中的两个或更多个存储器部分。
为了进一步说明,如上所述的处理由各种组件和各种存储器执行。然而,应当理解,根据本发明的另一实施例,由如上所述的两个不同组件执行的处理可以由单个组件执行。此外,由如上所述的一个不同组件执行的处理可以由两个不同的组件执行。以类似的方式,根据本发明的另一实施例,由如上所述的两个不同存储器部分执行的存储器存储可以由单个存储器部分执行。此外,如上所述由一个不同的存储器部分执行的存储器存储可以由两个存储器部分执行。
此外,可以使用各种技术来提供各种处理器和/或存储器之间的通信,以及允许本发明的处理器和/或存储器与任何其他实体通信;即例如,以便获得进一步的指令或访问和使用远程存储器存储。例如,用于提供这种通信的这些技术可以包括网络、因特网、内联网、外联网、LAN、以太网、经由蜂窝塔或卫星的无线通信,或者提供通信的任何客户端服务器系统。这种通信技术可以使用任何合适的协议,例如TCP/IP、UDP或OSI。
如上所述,可以在本发明的处理中使用指令集。该指令集可以是程序或软件的形式。例如,软件可以是系统软件或应用软件的形式。例如,软件也可以是单独程序的集合、较大程序内的程序模块、或程序模块的一部分的形式。所使用的软件还可以包括面向对象编程形式的模块化编程。软件告诉处理机器如何处理正在处理的数据。
此外,应当理解,在本发明的实施方式和操作中使用的指令或指令集可以是合适的形式,使得处理机器可以读取指令。例如,形成程序的指令可以是合适的编程语言的形式,其被转换为机器语言或目标代码以允许一个处理器或更多个处理器读取指令。也就是说,使用编译器、汇编器或解释器将特定编程语言中的编程代码或源代码的编写行转换为机器语言。机器语言是二进制编码的机器指令,其特定于特定类型的处理机器,即,例如,特定类型的计算机。计算机了解机器语言。
根据本发明的各种实施例可以使用任何合适的编程语言。说明性地,例如,所使用的编程语言可以包括汇编语言、Ada、APL、Basic、C、C++、COBOL、dBase、Forth、Fortran、Java、Modula-2、Pascal、Prolog、REXX、Visual Basic和/或JavaScript。此外,不一定将单一类型的指令或单一编程语言与本发明的系统和方法的操作结合使用。而是,可以根据需要和/或期望使用任何数量的不同编程语言。
此外,在本发明的实践中使用的指令和/或数据可以根据需要使用任何压缩或加密技术或算法。加密模块可以用于加密数据。此外,例如,可以使用合适的解密模块来解密文件或其他数据。
如上所述,本发明可以说明性地以处理机器(其包括计算机或例如包括至少一个存储器的计算机系统)的形式体现。应当理解,根据需要,使计算机操作系统能够执行上述操作的指令集(即,例如,软件)可以包含在各种一个或更多个介质中的任何介质上。此外,由指令集处理的数据也可以包含在各种一个或更多个介质中的任何介质上。也就是说,用于保存本发明中使用的指令集和/或数据的特定介质,即处理机器中的存储器,可以采用例如各种物理形式或传输中的任何一种。说明性地,介质可以是以下形式:纸、纸透明胶片、压缩盘、DVD、集成电路、硬盘、软盘、光盘、磁带、RAM、ROM、PROM、EPROM、电线、电缆、光纤、通信信道、卫星传输、存储卡、SIM卡或其他远程传输,以及可以由本发明的处理器读取的任何其他介质或数据源。
此外,在实现本发明的处理机器中使用的一个存储器或更多个存储器可以是各种形式中的任何一种,以允许存储器根据需要保存指令、数据或其他信息。因此,存储器可以是用于保存数据的数据库的形式。例如,数据库可以使用任何期望的文件布置,例如平面文件布置或关系数据库布置。
在本发明的系统和方法中,可以利用各种“用户界面”以允许用户与用于实现本发明的一个处理机器或更多个处理机器接合。如本文所使用的,用户界面包括处理机器使用的任何硬件、软件或硬件和软件的组合,其允许用户与处理机器交互。例如,用户界面可以是对话屏幕的形式。用户界面还可以包括以下中的任何一个:鼠标、触摸屏、键盘、小键盘、语音读取器、语音识别器、对话屏幕、菜单框、列表、复选框、拨动开关、按钮或允许用户接收关于处理机器处理指令集时的处理机器的操作的信息和/或向处理机器提供信息的任何其他设备。因此,用户界面是提供用户和处理机器之间的通信的任何设备。用户通过用户界面提供给处理机器的信息可以是例如命令、数据选择或某种其他输入的形式。
如上所述,执行指令集的处理机器利用用户界面,使得处理机器处理用户的数据。用户界面通常由处理机器用于与用户交互以传达信息或从用户接收信息。然而,应当理解,根据本发明的系统和方法的一些实施例,人类用户实际上不一定与本发明的处理机器使用的用户界面交互。相反,还预期本发明的用户界面可以与另一个处理机器而不是人类用户交互,即传送和接收信息。因此,其他处理机器可以被表征为用户。此外,预期在本发明的系统和方法中使用的用户界面可以部分地与另一个处理机器或另一些处理机器交互,同时还部分地与人类用户交互。
本领域技术人员将容易理解,本发明易于广泛使用和应用。在不脱离本发明的实质或范围的情况下,在本文描述的那些之外,本发明的许多实施例和改编以及许多变体、修改和等同布置将从本发明及其前面的描述中变得明显或由其合理建议。
因此,尽管这里已经关于本发明的示例性实施例详细描述了本发明,但是应该理解,本公开仅是本发明的说明性和示例性公开,并且用于提供本发明的可行公开。因此,前述公开内容不旨在被解释排除或将本发明限制为排除或以其他方式排除任何其他这样的实施例、改编、变体、修改或等同布置。

Claims (20)

1.一种用于呈现流数据的方法,其包括:
在包括至少一个计算机处理器的用于服务器的web服务层处接收来自客户端的查询,其中所述查询包括多个参数,并且其中所述web服务层进一步包括:
控制平面服务;
权限服务;
监测服务;以及
配置管理服务;
用于所述服务器的数据高速缓存层经由对应的数据加载器从至少一个预定义的流数据源接收流数据,其中:
所述控制平面服务被配置为向所述数据加载器提供指令,其中所述指令包括以下一个或多个:创建新订阅、重试故障;
所述配置管理服务为所述数据加载器提供配置数据,其中所述配置数据包括关于要连接到的数据源以及如何连接到该指定数据源的信息中的一个或多个;
所述监测服务监测所述至少一个预定义的流数据源的状态,并且如果所述数据源变得不可用,则重新路由客户端查询;并且
所述权限服务验证客户端被允许访问与所述查询相对应的所述流数据;
所述数据高速缓存层针对所述多个参数中的每一个合并所述流数据;
所述数据高速缓存层聚合合并的数据;
所述数据高速缓存层通过同时针对所述合并的数据运行所述查询来生成所述合并的数据的快照;以及
将所述快照输出到所述客户端。
2.根据权利要求1所述的方法,其中所述参数包括用于证券和投资中的至少一个的特定描述符。
3.根据权利要求1所述的方法,其中所述查询还包括流数据源的识别。
4.根据权利要求1所述的方法,其中所述流数据包括市场数据。
5.根据权利要求1所述的方法,其中所述web服务层输出被延迟预定时间量的所述快照,其中所述时间段基于与所述流数据相关联的一个或更多个规则。
6.根据权利要求1所述的方法,还包括:
用于所述服务器的权限服务层验证所述客户端被授权以访问响应所述查询的信息。
7.根据权利要求1所述的方法,还包括:
基于从所述客户端接收的至少一个客户端凭证来认证所述客户端。
8.根据权利要求2所述的方法,其中所述快照对于针对特定时间的所述证券和所述投资中的至少一个是准确的。
9.根据权利要求2所述的方法,其中所述快照包括用于针对特定时间的所述证券和所述投资中的所述至少一个的适当状态。
10.一种用于呈现流数据的系统,其包括:
多个流数据源;
用于每个流数据源的数据加载器,所述数据加载器从所述流数据源接收流数据;
数据高速缓存层,其从所述数据加载器接收所述流数据;以及
web服务层,其包括至少一个计算机处理器并且与所述数据高速缓存层通信,并且进一步包括:
与所述数据加载器通信的控制平面服务;
权限服务;
监测服务;以及
配置管理服务;
其中:
所述web服务层从客户端接收查询,其中所述查询包括多个参数;
所述数据高速缓存层针对所述多个参数中的每一个合并所述流数据;
所述数据高速缓存层聚合合并的数据;
所述数据高速缓存层通过同时针对所述合并的数据运行所述查询来生成所述合并的数据的快照;
所述快照被输出到所述客户端;
所述控制平面服务向所述数据加载器提供指令,其中所述指令包括以下一个或多个:创建新订阅、重试故障;
所述配置管理服务为所述数据加载器提供配置数据,其中所述配置数据包括关于要连接到的数据源以及如何连接到该指定数据源的信息中的一个或多个;
所述监测服务监测所述至少一个预定义的流数据源的状态,并且如果所述数据源变得不可用,则重新路由客户端查询;并且
所述权限服务验证客户端被允许访问与所述查询相对应的所述流数据。
11.根据权利要求10所述的系统,其中所述参数包括用于证券和投资中的至少一个的特定描述符。
12.根据权利要求10所述的系统,其中所述查询还包括流数据源的识别。
13.根据权利要求10所述的系统,其中所述流数据包括市场数据。
14.根据权利要求10所述的系统,其中所述web服务层输出被延迟预定时间量的所述快照。
15.根据权利要求14所述的系统,其中所述时间段基于与所述流数据相关联的一个或更多个规则。
16.根据权利要求10所述的系统,其中从云应用程序和本地应用程序中的至少一个接收所述查询。
17.根据权利要求10所述的系统,还包括:
用于服务器的权限服务层,其验证所述客户端被授权以访问响应所述查询的信息。
18.根据权利要求17所述的系统,其中所述权限服务层还基于从所述客户端接收的至少一个客户端凭证来认证所述客户端。
19.根据权利要求11所述的系统,其中所述快照对于针对特定时间的所述证券和所述投资中的所述至少一个是准确的。
20.根据权利要求11所述的系统,其中所述快照包括用于针对特定时间的所述证券和所述投资中的所述至少一个的适当状态。
CN201780085598.0A 2016-12-14 2017-12-13 用于聚合、过滤和呈现流数据的系统和方法 Active CN110249322B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/378,501 2016-12-14
US15/378,501 US10657137B2 (en) 2016-12-14 2016-12-14 Systems and methods for aggregating, filtering, and presenting streaming data
US201762534749P 2017-07-20 2017-07-20
US62/534,749 2017-07-20
PCT/US2017/066068 WO2018112023A1 (en) 2016-12-14 2017-12-13 Systems and methods for aggregating, filtering, and presenting streaming data

Publications (2)

Publication Number Publication Date
CN110249322A CN110249322A (zh) 2019-09-17
CN110249322B true CN110249322B (zh) 2023-06-20

Family

ID=62559201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780085598.0A Active CN110249322B (zh) 2016-12-14 2017-12-13 用于聚合、过滤和呈现流数据的系统和方法

Country Status (5)

Country Link
EP (1) EP3555741A4 (zh)
JP (1) JP7048614B2 (zh)
CN (1) CN110249322B (zh)
AU (1) AU2017378245B2 (zh)
WO (1) WO2018112023A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11922437B2 (en) 2018-04-12 2024-03-05 Jpmorgan Chase Bank, N.A. System and method for implementing a market data hub
CN110187780B (zh) * 2019-06-10 2023-07-21 北京百度网讯科技有限公司 长文本预测方法、装置、设备和存储介质
AU2021397281A1 (en) * 2020-12-10 2022-09-22 Jpmorgan Chase Bank, N.A. System and method for cloud-first streaming and market data utility
US20220358499A1 (en) * 2021-05-07 2022-11-10 Jpmorgan Chase Bank, N.A. Method and system for autonomous portfolio platform management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598508A (zh) * 2013-09-18 2015-05-06 Ims保健公司 用于快速查询响应的系统和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697806B1 (en) * 2000-04-24 2004-02-24 Sprint Communications Company, L.P. Access network authorization
WO2002042880A2 (en) 2000-10-25 2002-05-30 Thomson Financial Inc. Electronic commerce system
US20090292677A1 (en) * 2008-02-15 2009-11-26 Wordstream, Inc. Integrated web analytics and actionable workbench tools for search engine optimization and marketing
EP2667337A3 (en) * 2012-05-22 2014-03-12 Hasso-Plattner-Institut für Softwaresystemtechnik GmbH Transparent control of access invoking real-time analysis of the query history
US8977600B2 (en) * 2013-05-24 2015-03-10 Software AG USA Inc. System and method for continuous analytics run against a combination of static and real-time data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598508A (zh) * 2013-09-18 2015-05-06 Ims保健公司 用于快速查询响应的系统和方法

Also Published As

Publication number Publication date
EP3555741A4 (en) 2020-05-06
AU2017378245B2 (en) 2022-10-13
JP7048614B2 (ja) 2022-04-05
JP2020504867A (ja) 2020-02-13
CN110249322A (zh) 2019-09-17
WO2018112023A1 (en) 2018-06-21
EP3555741A1 (en) 2019-10-23
AU2017378245A1 (en) 2019-07-11

Similar Documents

Publication Publication Date Title
US10482534B2 (en) Method and system for aggregating and managing data from disparate sources in consolidated storage
CN110249322B (zh) 用于聚合、过滤和呈现流数据的系统和方法
US11601498B2 (en) Reconciliation of data stored on permissioned database storage across independent computing nodes
CA2746384A1 (en) Trading system
US11783213B2 (en) Projecting data trends using customized modeling
US20180211312A1 (en) Systems and Methods for Intraday Facility Monitoring
US10915968B1 (en) System and method for proactively managing alerts
US20240061913A1 (en) Graphical User Interface and Console Management, Modeling, and Analysis System
WO2022073116A1 (en) Systems and methods for predicting operational events
CA3133429C (en) Systems and methods for predicting operational events
US11979409B2 (en) Graphical user interface and console management, modeling, and analysis system
US10007950B2 (en) Integrating multiple trading platforms with a central trade processing system
CA3133404A1 (en) Systems and methods for predicting operational events
CA3133416A1 (en) Systems and methods for predicting operational events
US20220215475A1 (en) Enhanced electronic database management system with reduced data redundancy
US20230260061A1 (en) Graphical User Interface and Console Management, Modeling, and Analysis System
US20200342532A1 (en) Systems and methods for bunched order processing
US20120323817A1 (en) Systems and Methods for Implementing a Separately Managed Account Platform
CA3133284A1 (en) Systems and methods for predicting operational events
US20150317738A1 (en) Computerized method and system for secure communication, and method and system for matching customers with options for investment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40011781

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant