CN109791676A - 基于共享内存的交易处理 - Google Patents
基于共享内存的交易处理 Download PDFInfo
- Publication number
- CN109791676A CN109791676A CN201780046104.8A CN201780046104A CN109791676A CN 109791676 A CN109791676 A CN 109791676A CN 201780046104 A CN201780046104 A CN 201780046104A CN 109791676 A CN109791676 A CN 109791676A
- Authority
- CN
- China
- Prior art keywords
- transaction
- memory
- engine
- transaction engine
- request
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Memory System (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Hardware Redundancy (AREA)
Abstract
所描述的为一种更新第一交易引擎的第一计算机内存和第二交易引擎的第二计算机内存的方法,第一交易引擎处理第一主题的交易,第二交易引擎处理与第一主题不同的第二主题的交易,但是第一主题的交易和第二主题的交易包括涉及或更新公共因素。在第一交易引擎处理交易后,第一交易引擎通知单独的过程,该单独的过程隶属于或关联与该交易的执行的各剩余的交易引擎。每个这样的相关的过程更新本地共享内存,该共享内存与相应的交易引擎共享。还可以向内存主机通知交易及交易的完成,并且该内存主机可以维护状态信息。在股票市场或其他电子实施的交易或交易所环境中,该交易可以为订单簿中匹配引擎的订单。
Description
技术领域
本公开涉及交易的实时处理的领域,该交易包括或取决于公共因子,并且,尤其涉及经由一组自动处理器以最小化计算机内存资源的延迟(latency)和交互阻塞(mutualblocking)的订单簿处理。
技术背景
为交易、例如金融市场系统中的订单簿交易的高容量实时处理提供充足的吞吐量(throughput)的计算机系统,对系统构架师和软件工程师带来了挑战。例如,在电子金融市场中,匹配引擎执行收到的交易或订单的订单簿处理。尤其地,接收订单并且匹配引擎确定该订单所要匹配的(例如,出售或已购买的)价格。订单簿是记录特定金融工具、例如交易的符号(symbol)、商品、衍生品等(证券)的买方和卖方利益的订单列表。该匹配引擎使用订单簿匹配并完成收到的订单。这些匹配的订单在匹配时成为交易。各市场可具有其自身的匹配规则和订单类型,该匹配规则和订单类型确定他们是如何匹配的。
一组重要的相关的约束(constraints)为订单簿交易必须线性地(顺序地)执行并且可能需要更新公共资源,例如,内存资源,从而临时阻塞该资源。当订单插入、更新或移除到订单簿中,执行订单簿的内存空间被锁定,直到更改完成。这种交易的原子化(atomization)可保证正确地和完整地插入、更新或移除数据,并且该操作不会被另一个交易重写。
另一个问题是必须时常应用信用档案(credit profile)以控制用户、例如机构、个人或为交易员提交订单的其他组织的债务、风险或敞口(exposure)。信用档案可包括例如投资者、诸如机构、基金经理人或者其他投资方(investing party)或交易方(tradingparty)的一个或多个信用额度,该信用额度由投资方或另一个机构、诸如市场、交易所、证交所、部门或场所行政部门(venue administration)设置,并通过匹配引擎使用该信用额度以控制给定市场、工业或区域部门等机构的风险或敞口。可以使用多个市场规则设置信用额度。该信用额度可以基于每个证券基准、基于每个市场基准、基于每个部门、工业或其他子市场或投资策略基准等或者基于前述的组合来设置。进一步地,可跨平台或包含多种市场类型的场所(venue)来设置信用额度。
用于实施信用档案的第一途径为各证券具有其自身的信用额度,该信用额度不会在证券之间或在场所内的其他市场共享。图2示出了这中集中的场景,在该场景中匹配引擎自身可以运行一个或多个订单簿。各证券需要订单簿,并且匹配引擎其自身在内部维护和检查信用额度。
这样的匹配引擎将具有接收订单簿订单和机构信用额度更新的界面。当将订单提交至匹配引擎时,该匹配引擎可判断是否接受该订单。也就是说,在订单簿匹配过程期间,检查信用额度以确定是否可以交易该订单。这个过程是在匹配引擎自身内部完成的。如果基于当前的可用的信用额度,认为订单是可接受的,那么将订单放置在订单簿中。类似地,如果匹配引擎收到信用额度更新,例如客户或特定证券或特定市场的特定机构的每日限额的增加,那么匹配引擎更新其内部的信用额度。
使用这种方法的问题在于,如果在市场内或场所内有超过一个匹配引擎,则存在两个单独的信用池(credit pools),并且信用可能变得分散。例如,考虑一个相对简单的场景,在该场景中有两个匹配引擎,该两个匹配引擎具有如下表所示的四个证券:
匹配引擎1 | 匹配引擎2 |
证券1 | 证券3 |
证券2 | 证券4 |
信用池1 | 信用池2 |
各匹配引擎将具有其自身的给定机构的信用池。匹配引擎1将具有仅包括证券1和证券2的信用池,而匹配引擎2将具有仅包括机构的证券3和证券4的信用池。因此,由于信用在各匹配引擎上分散,该机构将不具有设置一个信用额度以包含同时交易的所有四种证券的能力。
第二种方法是对信用额度集中处理,以解决这些问题。如图3所示,信用处理集中在集中信用引擎中,该集中信用引擎基于客户端需求或配置需求与一个或多个信用池一起运行。匹配引擎或交易引擎在其订单簿匹配过程期间可查询中央位置的信用。因此,当将各订单更新至订单簿时,集中信用方法可以查询中央位置以确定正在处理的订单的信用是否是可用的(即,当前订单是否将超过预设的信用额度)。然后,在订单簿匹配过程期间,各匹配引擎连接至集中信用引擎以查询信用是否是可用的。集中信用方法确保在市场或场所内没有信用泄漏(credit leak),以及用户没有超过已设置的信用额度的敞口。
这种方法的问题在于,由于订单簿交易是线性的(或顺序的),集中信用引擎的内存资源将被第一过程阻塞,而第二过程不得不等待。因此,由于匹配引擎2必须等待集中信用引擎代表匹配引擎1执行的处理,因为集中信用引擎处理器和内存正在用于为匹配引擎1处理订单,因此系统增加了延迟。然而,这样的系统防止市场或场所内的信用泄漏,并且确保用户不具有超过已设置的信用额度的敞口。例如,考虑如下表格,在该表格中,用户在场所中具有如下两个订单:
假设此时在场所中充足的卖单是可用的,以满足上述两个买单,因此匹配引擎可以执行订单处理,那么用户将购买证券1和证券6各1000万股。然而,假设用户要求在场所内设定1500万单位的信用额度(即,用户、例如机构在全球范围内设置1500万单位的信用额度),那么该集中信用引擎将为用户维持这样的信用额度。当订单从订单簿证券1开始提交至市场时,将执行以下步骤:
1、订单1进入匹配引擎1。
2、匹配引擎1的证券1订单簿被锁定,且该订单被放置在该订单簿中。
3、匹配引擎1运行其匹配算法。在该匹配算法的执行期间,匹配引擎1确定交易可以发生。
4、匹配引擎1连接至信用引擎。
5、信用引擎收到请求以检查可交易订单上的信用。信用引擎锁定其信用池。
6、信用引擎判断交易是否可以发生。信用引擎将其信用额度更新至所用的10mm,并响应至匹配引擎1,交易可以进行。
7、信用引擎开启其信用池。
8、匹配引擎1创建交易,并从订单簿中移除该匹配订单。
9、匹配引擎1开启其证券1订单簿。
10、订单2进入匹配引擎2。
11、匹配引擎2的证券6订单簿被锁定,且该订单被放置在该订单簿中。
12、匹配引擎2运行其匹配算法。在该匹配算法的执行期间,匹配引擎2确定交易可以进行。
13、匹配引擎2连接至信用引擎。
14、信用引擎收到请求以检查可交易订单上的信用。信用引擎锁定其信用池。
15、信用引擎判断是否可以允许该交易。信用引擎确定用户只能使用5mm(因为额度为15mm,且已经使用了10mm)。信用引擎将其信用额度更新至所用的15mm,并响应至匹配引擎2,交易仅可以进行5mm。
16、信用引擎开启其信用池。
17、匹配引擎2创建5mm的交易,并留下另外的5mm公开。匹配引擎2同样从订单簿中删除匹配订单。
18、匹配引擎2开启其证券6订单簿。
因此,这个集中模型的缺点在于,通过检查和更新中央信用引擎中各订单可用的集中信用引入了延迟。对于各订单,必须查询中央信用引擎的内存以确定可用的信用额度,并且如果订单被执行,那么必须更新该内存。写入计算机内存所需时间比不需要更新内存的计算机处理长。当对第一匹配引擎的订单进行此检查时,因为集中信用锁定自身或至少锁定其计算机内存资源,剩余的匹配引擎必须与其订单簿更新一起等待,直到完成第一次交易。
发明内容
公开了一种用于实施方法、设备、非瞬时性的计算机可读介质的方法和系统,以用于更新第一交易引擎(first transaction engine)的第一计算机内存和第二交易引擎的第二计算机内存,第一交易引擎配置为处理第一主题的交易,第二交易引擎配置为处理与第一主题不同的第二主题的交易。该方法包括:
通过所述第一交易引擎的订单处理器接收所述第一主题的第一交易请求,通过所述第一交易引擎的所述订单处理器处理所述第一交易请求以生成处理过的第一交易,以及,基于所述处理过的第一交易,通过第一交易引擎的订单处理器,根据所述第一计算机内存的第一共享计算机内存映射,更新所述第一计算机内存;
通过所述第二交易引擎的内存从属控制器接收所述第一交易请求,通过所述第二交易引擎的所述内存从属控制器等待来自所述第一交易引擎的所述订单处理器的所述处理过的第一交易的确认的回执,以及根据所述处理过的第一交易,通过所述第二交易引擎的所述内存从属控制器,根据所述第二计算机内存的第二共享计算机内存映射,更新所述第二计算机内存;
通过所述第二交易引擎的订单处理器接收所述第二主题的第二交易请求,通过所述第二交易引擎的所述订单处理器处理所述第二交易请求以生成处理的第二交易,以及,基于所述处理的第二交易,通过所述第二交易引擎的所述订单处理器,根据所述第二计算机内存的第二共享计算机内存映射,更新所述第二计算机内存;
通过所述第一交易引擎的内存从属控制器接收所述第二交易请求,通过所述第一交易引擎的所述内存从属控制器等待从所述第二交易引擎的订单处理器收到的所述处理过的第二交易的确认的回执,以及根据所述处理过的第二交易,通过所述第一交易引擎的所述内存从属控制器,根据所述第一计算机内存的第一共享计算机内存映射,更新所述第一计算机内存。
以这样的方法,所述第一交易引擎可在第一自动数据处理器上实施,并所述第二交易引擎可在与所述第一自动数据处理器不同的第二自动数据处理器上实施。
以这样的方法,所述第一交易引擎的所述内存从属控制器可不向所述第一交易引擎的订单处理器提供关于对所述第一计算机内存的更新的直接通知,并且
所述第二交易引擎的所述内存从属控制器可不向所述第二交易引擎的订单处理器提供关于对所述第二计算机内存的更新的直接通知。
该方法还包括,在执行其他列举的步骤之前:
通过所述第一交易引擎的配置管理器生成所述第一计算机内存的第一共享计算机内存映射;
通过所述第二交易引擎的配置管理器生成所述第二计算机内存的第二共享计算机内存映射。
该方法还包括,在执行其他列举的步骤之前:
通过所述第一交易引擎的所述内存从属控制器生成所述第一计算机内存的第一共享计算机内存映射;
通过所述第二交易引擎的所述内存从属控制器生成所述第二计算机内存的第二共享计算机内存映射。
以这样的方法,所述处理过的第一交易的确认可包括与所述第一交易请求相关联的订单ID以及与所述处理过的第一交易的确认相关的交易数据(trade data)。
该方法还包括:
基于所述处理过的第一交易,通过所述第一交易引擎的所述订单处理器将完成报告传送至多个内存从属控制器。
该方法还包括:
通过网关处理器接收所述第一交易请求和所述第二交易请求;
首先,将所述第一交易请求识别为与所述第一主题相关联;
根据所述识别,将所述第一交易请求传送至所述第一交易处理器的所述订单处理器;
将所述第一传送请求传送至包括所述第二交易引擎的内存从属控制器的多个内存从属控制器;
其次,将所述第二交易请求识别为与所述第二主题相关联;
根据所述第二识别,将所述第二交易请求传送至所述第二交易处理器的所述订单处理器;以及
将所述第二传送请求传送至包括所述第一交易引擎的内存从属控制器的所述多个内存从属控制器。
该方法还包括:
将所述第一传送请求传送至内存主处理器;并且
将所述第二传送请求传送至所述内存主处理器,
其中,所述第一交易引擎在第一自动数据处理器上实施,所述第二交易引擎在与所述第一自动数据处理器不同的第二自动数据处理器上实施,并且所述内存主处理器在与所述第一自动数据处理器和第二自动数据处理器不同的第三自动数据处理器上实施。
另外,该方法可包括:
通过所述内存主处理器接收所述第一传送请求和第二传送请求;
通过所述内存主处理器,根据从所述第一交易引擎的订单处理器收到的所述处理过的第一交易的确认以及从所述第二交易引擎的订单处理器收到的所述处理过的第二交易的确认,更新主内存。
一种所描述的用于更新第一交易引擎的第一计算机内存和第二交易引擎的第二计算机内存的系统,所述第一交易引擎配置为处理第一主题的交易,所述第二交易引擎配置为处理与第一主题不同的第二主题的交易,该系统可包括:
所述第一交易引擎,其在第一自动数据处理器上实施,且所述第一交易引擎包括:
订单处理器,其配置为接收所述第一主题的第一交易请求,并处理所述第一交易请求以生成处理过的第一交易;
共享内存控制器,其配置为基于所述处理过的第一交易,根据所述第一计算机内存的第一共享计算机内存映射,更新所述第一计算机内存;以及
执行报告生成器,其配置为基于所述处理过的第一交易,将执行报告传送至包括所述第二交易引擎的内存从属控制器的多个内存从属控制器;
所述第二交易引擎的内存从属控制器包括:
订单接收器,其配置为接收所述第一交易请求;
交易引擎界面,其配置为等待来自所述第一交易引擎的订单处理器的处理过的第一交易的确认的回执;以及
共享内存管理器,其配置为根据所述处理过的第一交易,根据所述第二计算机内存的第二共享计算机内存映射,更新所述第二计算机内存;
所述第二交易引擎,其在与所述第一自动数据处理器不同的第二自动数据处理器上实施,并所述第二交易引擎包括:
订单处理器,其配置为接收所述第二主题的第二交易请求,并处理所述第二交易请求以生成处理过的第二交易;
共享内存控制器,其配置为基于所述处理过的第二交易,根据所述第二计算机内存的所述第二共享计算机内存映射,更新所述第二计算机内存;并且
所述第一交易引擎包括:
内存从属控制器,其配置为接收所述第二交易请求;
交易引擎界面,其配置为等待从所述第二交易引擎接收的处理过的第二交易的确认的回执;以及
共享内存管理器,其配置为根据所述处理过的第二交易,根据所述第一计算机内存的第一共享计算机内存映射,更新所述第一计算机内存。
在该系统中,所述第一交易引擎的内存从属控制器可不向所述第一交易引擎的订单处理器提供关于对所述第一计算机内存的更新的直接通知,并且
所述第二交易引擎的内存从属控制器可不向所述第二交易引擎的订单处理器提供关于对所述第二计算机内存的更新的直接通知。
在该系统中,所述第一交易引擎还可包括:
配置管理器,其配置为通过所述第一交易引擎,在收到交易请求之前,生成所述第一计算机内存的所述第一共享计算机内存映射;以及
所述第二交易引擎还包括:
配置管理器,其配置为通过所述第二交易引擎,在收到交易请求之前,生成所述第二计算机内存的所述第二共享计算机内存映射。
在该系统中,所述第一交易引擎的内存从属控制器还可包括:共享内存生成器,其配置为在收到交易请求之前生成所述第一计算机内存的所述第一共享计算机内存映射;并且
所述第二交易引擎的内存从属控制器还可包括:共享内存生成器,其配置为在收到交易请求之前生成所述第二计算机内存的所述第二共享计算机内存映射。
在该系统中,所述处理过的第一交易的确认可包括与所述第一交易请求相关联的订单ID以及与所述处理过的第一交易的确认相关的交易数据。
所述第二交易引擎还可包括:
执行报告生成器,其配置为基于所述处理过的第二交易,将执行报告传送至包括所述第一交易引擎的所述内存从属控制器的多个内存从属控制器;
该系统还可包括网关处理器,所述网关处理器包括:
订单验证器,其配置为接收所述第一交易请求和所述第二交易请求;
交易主题处理器,其配置为将所述第一交易请求识别为与所述第一主题相关联,并将所述第二交易请求识别为与所述第二主题相关联;
交易引擎界面,其配置为根据所述识别将所述第一交易请求传送至所述第一交易处理器,并将所述第二交易请求传送至所述第二交易处理器;
从属和主播送器(slave and master broadcaster),其配置为将所述第一传送请求传送至包括所述第二交易引擎的内存从属控制器的多个内存从属控制器;且
所述从属和主播送器配置为将所述第二传送请求传送至包括所述第一交易引擎的内存从属控制器的所述多个内存从属控制器。
所述第一交易请求和所述第二交易请求可以为订单,并且所述第一交易请求的处理和所述第二交易请求的处理均各自可需要匹配各自订单簿中的请求以用于市场交易项目的电子交易。
该系统还可包括:
内存主处理器,其包括网关界面,所述网关界面配置为接收所述第一交易请求和所述第二交易请求;
交易引擎界面,其配置接收所述处理过的第一交易的确认和所述第二交易的确认;以及
控制器,其配置根据所述处理过的第一交易的确认和所述处理过的第二交易的确认更新主内存,
其中,所述内存主处理器在与所述第一自动数据处理器和所述第二自动数据处理器不同的第三自动数据处理器上实施。
通过参考附图的本发明的以下描述,本发明的其他特征和优点将变得显而易见。
附图说明
图1示出了根据本公开的一方面的系统的概况的示例。
图2为根据相关技术的信用额度系统的示例的图例。
图3为根据相关技术的集中信用额度方法的另一示例的图例。
图4为示出了根据本公开的一方面的网关启动时执行的过程的示例的过程流程图。
图5为示出了根据本公开的一方面的交易引擎启动过程的示例的过程流程图。
图6为示出了根据本公开的一方面的主复制流(master replication flow)的启动过程的示例的过程流程图。
图7为示出了根据本公开的一方面的内存从属控制器的启动过程的示例的过程流程图。
图8为示出了根据本公开的一方面的处理网关收到的订单的工序流程的示例的过程流程图。
图9为示出了根据本公开的一方面的交易引擎从网关收到的订单的工序流程的过程流程图。
图10为示出了根据本公开的一方面的当收到订单时,内存从属控制器与第一交易引擎共享共用内存资源的过程的示例的过程流程图。
图11为示出了根据本公开的一方面的当收到订单时,第二内存从属控制器与第二交易引擎共享共用内存资源的示例的过程流程图。
图12为示出了根据本公开的一方面的当收到订单时,次要主机(secondarymaster)的工序流程的过程流程图。
图13为示出了根据本公开的一方面的当收到订单时,主要复制主机过程(primaryreplication master process)的工序流程的示例的过程流程图。
图14为示出了根据本公开的一方面的对于系统的各组件的主要处理项目的示例的概况的图表。
图15A为示出了根据本公开的一方面的处理订单的交易引擎的示例的示意图。
图15B为根据本公开的一方面的耦合到图15A中示出的交易引擎中的内存从属控制器的示例的示意图。
图16为示出了根据本公开的一方面的网关的示例的示意图,该网关收到交易请求并将该交易请求传送至适当的交易引擎。
图17为示出了根据本公开的一方面的维护相关组件的状态信息的内存主机(memory master)的示意图。
具体实施方式
随着交易引擎处理各个订单,关于交易的信息由交易引擎传送至下游系统,例如归档服务器或网关,并且该信息由内存从属控制器监控。各内存从属控制器与交易引擎共享各自的公共内存。因此在交易引擎1(30)在其订单簿中记录订单,并可根据订单执行交易之后,与剩余的交易引擎相关联的内存从属控制器得到订单完成的通知。这些剩余的内存从属控制器中的每个更新与其相应的匹配引擎共享的公共内存资源。以这样的方式,即使没有剩余的交易引擎的主动参与,也能更新每个剩余的匹配引擎中的每个所使用的公共内存资源。根据这种方法,每个匹配引擎维护其信用池的副本或版本(version)。然而,各交易引擎不需要对其自身更新投资方等的信用档案的信用额度担心,以响应全球信用额度的外部修改或以响应处理过的订单。
因此,当用户决定他或她希望提高整体的信用额度时,与将更新发送至交易引擎,这样它可以更新其内部的信用池的第一相关技术方法相比,及与相关技术的将通过集中信用引擎更新中央信用池的集中信用方法相对,更新在交易引擎内的信用引擎内完成。然而,更新不是通过交易引擎过程自身执行的。相反,该更新可通过外部的内存从属控制器或与交易引擎相关联的信用路由引擎来执行。以这样的方式,由于交易引擎不需要花费时间将外部的变化应用于信用池中,因此可简化并加速该过程。因此,每个交易引擎能够保持相同的信用额度信息,并能够在不知道另一个交易引擎存在并更新信用信息的情况下单独地更新信用信息。因此,由于交易引擎不需要外部查询来验证信用额度,并且这是以对交易引擎透明的方式实施的,因此可以提高实时吞吐量处理。
如图4、14和16所示,将会收到市场、部门或场所等的订单的网关20在启动时加载配置信息并加载交易引擎映射以生成交易引擎地址的内存映射以及主题/信道(channel),该主题/信道控制哪个交易引擎过程收到哪种类型的订单。例如,每个交易引擎可与特定的主题或信道相关联,该主题或信道包括一个或多个符号,例如股票或交易引擎执行交易的其他证券。可以理解的是,这样的证券可以包括一个或多个债券或债券基金、交易所交易基金(ETFs)、衍生品(derivatives)、基金、投资组合(portfolios),该投资组合包括一系列证券、或者其他市场交易项目或工具、外币交易项目,例如外汇或外币资金、或者前述的结合。
在启动时从集中管理服务器(未示出)中可获得网关20的配置信息、例如IP地址、端口和识别信息等和系统的其他组件。当组件启动时,该组件接收关于其自身的所有的配置信息,或其部分,以及来自管理服务器的平台信息的拓扑(topology)。然而,本公开的所有实施例不需要这样的管理服务器。例如,各组件可以具有列出此类信息的配置文件。
交易引擎有时可在本文中描述为匹配引擎,且内存从属控制器有时可在本文中描述为复制从属器(replication slaves)。主机有时可以称为复制服务器(replicationserver)或称为复制器或称为主要复制主机(primary replication master)。将要理解的是,虽然本公开中提供的多个示例涉及订单簿和交易的执行,该交易与在诸如证券等的电子交易所交易的项目的情况下的交易相关联,但是一系其他类型的交易也是可预期的。
同样,在启动时,各内存从属控制器40的共享内存生成器41(如图15B所示)生成与交易引擎30共享的共享内存映射,该共享内存映射附属与或关联与交易引擎30,如图7和14所示。例如,交易引擎1(30)和内存从属控制器1(40)可在相同的设备、例如计算机服务器上执行,或者可在单独的,但可使用共享的内存资源的设备、例如数据库上执行。然后内存从属控制器40还可以为主要主机70和任何次要主机以及其他内存从属控制器40生成映射或寻址(addressing),如图7的SS2所示。如果寻址其他资源的当前状态过期,该状态可被次要复制主机请求和接收。
可以从次要复制主机中获取状态信息以避免给主要复制主机带来负担,然而,将要理解的是,可从主要复制主机上获取所述信息,或根据本公开的另一方面,可从主要复制主机上获取所述信息中的一些,而可从一个或者多个次要复制主机上获取所述信息中的一些。根据另一实施例,一些内存从属控制器可从主要复制主机获取所述信息,而其他的内存从属控制器可从一个或多个次要复制主机上获取所述信息。
内存从属控制器1(40)可以向内存主机70通知其作为与交易引擎1(30)相关联的内存从属控制器1(40)的状态,以及其准备好用于新的订单/交易,如图7的SS3所示。然后,检索正确的状态信息并写入内存,且复制从属器已经准备好用于处理。
此外,如图8和14所示,当网关20在交易处理时收到交易或订单时,订单被验证,且如果该订单是有效订单,那么网关20在例如查找表(look up table,LUT)中或证券涉及的其他数据库中查找,以确定主题或信道,并因此确定订单属于哪个交易引擎40,例如,如图8的GT5所示。然后,根据主题/信道,订单在GT7处传送并在GT8处通过该订单所属的交易引擎和通过所有的复制从属控制器40和主机70接收。
根据来自网关20的通信,如图9和14所示,交易引擎1(30)接收该订单。订单的有效性在图9中所示的TT2处确定,并且如果该订单是有效的,则交易引擎1(30)确定该订单是否是按顺序的。图15A示出了交易引擎30,其包括用于验证该订单的订单验证器32、订单顺序和失效保护器33,其用于检查该订单的顺序和控制该失效保护过程。如果该订单是失序的,如图9的TT7所示,交易引擎1(30)可以等待收到的另外的订单。如果等待期超时,如TT8所示,那么在TT9处交易引擎1(30)可进入失效保护模式并请求主机提供缺失的订单序列。
如果订单是按顺序的,如TT10所示,交易引擎1(30)将订单放在它的订单簿中,匹配订单,且根据该订单,如果该交易是待执行的,则执行该交易。交易引擎还可以配置为处理一个以上订单簿的交易,和/或一个以上的交易引擎可以处理相同订单簿的交易的处理。在交易执行时,如图9的TT14所示,执行报告与内存从属控制器1(40)的可能的异常一起被传送到各内存从属器,且分别如TT11和TT12所示,将订单ID写入本地共享内存映射中,并更新订单簿。
图15B示出了内存从属控制器40的主要组件。图11和14示出了通过内存从属控制器2(60)、即通过除了与交易引擎1(30)相关联的内存从属控制器1(40)之外的全部内存从属控制器的处理,订单直接通过主题或信道从属于该交易引擎1(30)。在交易处理期间,收到来自网关20的订单,如图11和14进一步所示,内存从属控制器2(60),如图11的ST2所示,在共享内存映射中检查订单的序列。如果订单是失序的,那么进入恢复模式。在ST3处,如果确定该订单没有被预先收到,那么在ST4处,内存从属控制器2等待来自相关的交易引擎、例如,交易引擎1(30)的确认。该确认包括订单ID、生成的交易和其他的关于订单和/或交易的信息。例如,个人、机构或传送交易或订单的组织的身份、与交易匹配的合约方(也就是说,例如“销售”订单的买家)、与证券相关的、市场、订单或交易量、发送和收到订单的时间、交易的类型,例如、限价订单(limit order)等、交易的美元价值以及其他这样的信息。
内存从属器2(60)可使用共享内存映射将订单ID写入至共享内存资源中,并更新订单簿,如图11的ST7-ST9所示。以这种方式,不用与处理订单的交易引擎共享公共内存资源的内存从属控制器60更新各自的共享内存资源以体现更新的信用额度信息或其他的信用信息。
在ST9处,如果内存从属控制器和相应的交易引擎被配置为另一个交易引擎的备份,则内存从属控制器2更新订单簿。在这种场景下,正在处理给定的证券集(或其他类型的交易)的订单的交易引擎具有备份交易引擎,该备份交易引擎具有证券订单簿和信用状态的镜像。因此,如果用于这种类型交易的主要交易引擎是有缺陷的、无效的或者否则是不在线,则备份交易引擎变为这种类型的证券(或其他类别的交易)的主要交易引擎,并且在该主要交易引擎的中断处继续。另一方面,如果内存从属控制器没有被分配给正作为另一个交易引擎的备份运行的交易引擎,则对于内存从属控制器可省略ST9。
当通过与执行交易或处理订单的交易引擎相关联的内存从属设备接收订单时,即,例如,如图10的S'T1和图14所示,当内存从属控制器1(40)从交易引擎1(30)收到订单执行确认时,根据共享内存映射,内存从属控制器1(40)可查询在共享内存中处理过的最新订单(图10,S'T2)。
如果订单为顺序的,那么如S'T6所示,由于交易引擎已经准备好根据该订单的共享内存映射来更新共享内存资源,因此不需要进一步处理。且因此,包括信用额度等的信用信息为最新的。如果订单是失序的,那么如S'T4所示,内存从属控制器1(40)可以联系主机,且如S'T5所示,通过将正确的信息加载到共享内存中来修正状态。
现将参考图6、13和14来描述内存主机70的过程。内存主机70可以为在单独的设备、例如服务器上运行的过程,或者可以与网关20或具有一个或多个次要内存主机等的交易引擎30共享设备。
在启动时,如图6的MS2所示,内存主机70建立包括可用的交易引擎和内存从属控制器的单元的状态的拓扑图。在MS3处,内存主机70判断内存主机70是否为系统上唯一的主设备,如果是,则转至MS9。如果系统上没有主要主机,如MS4所示,则进入用于确定主要主机的选择过程。如果依照该过程,则内存主机不是主要内存主机,然后,在MS6,该内存主机承担次级内存主机的角色(变为主机)。在MS7处,其随后从所有复制内存主机和内存从属控制器70加载最新状态。在MS8处,记录这些状态。另一方面,如图6的MS10和MS11分别示出的,如果该内存主机为主要内存主机,那么来自其他主机和内存从属控制器的状态被加载到内存中,且该状态被实时记录。然后内存主机70可变为主要主机,并从先前的主要信用主机中加载最新状态。
如图13中所示的M'T2所示,在交易处理时,内存主机70等待待接收的订单。然后,在M'T3处,内存主机70等待从交易引擎1(30)接收的执行报告。如果等待执行报告花费太长时间,则内存主机70可以采取补救措施(remedial action)。例如,如图13中在M'T5处所示,该补救措施可包括联系正在处理订单或与该交易引擎相关联的交易引擎服务器上运行的内存从属控制器1(40),以确定该内存从属控制器是否正常运行。如果该内存从属控制器正常运行,那么内存主机70还可以查询交易引擎1(30)是否为活跃的、即,正常运行,或处理是否已经停止。如果与订单的处理相关联的交易引擎1(30)为“活跃的”,那么可以验证该订单,且可推动订单处理。
在M'T9处,该验证可采用查询关连(hooked)在交易引擎中的监测系统的形式以判断交易引擎的“活力”。例如,队列长度(queue sizes)、处理速率、队列中的顺序、等待发送的执行报告队列以及其他这样的信息,其可以用于判断交易引擎的活力或良好运行。任何复制主机或内存从属器能够接入这样的监测系统以验证交易引擎的活力。交易引擎可具有一个或多个机制(例如,APIs),该一个或多个机制为复制主机或内存从属器编程以推动队列处理或再循环/刷新交易引擎的内部的处理线程(processing thread)。这些一个或多个机制可以基于例如如上所述的所确定的交易引擎的活力来触发。
复制主机可以设计为用于判断交易引擎的活力,且如果检测到交易引擎在其上运行的服务器的硬件或交易引擎的内部软件故障,则复制主机可触发平台以故障转移。详细描述了两个这样的场景,然而,将要理解的是,其他的场景也是可以预期的。
场景1:如果向故障的交易引擎提供用于给定证券集的备份交易引擎,那么:
1)主要交易引擎关闭。主要交易引擎关闭可以使用交易引擎上的API机制来完成。如果无响应,则内存从属器可以终止交易引擎进程。如果有导致故障转移的硬件故障,那么如果交易引擎已经关闭,则可以跳过该主要交易引擎关闭。
2)备份交易引擎,即,通知交易引擎该备份交易引擎当前为此类型交易的主要交易引擎,该交易引擎被指定为分配至给定证券集或其他类型交易的主要交易引擎的备份。
3)可通知平台内的网关和其他组件,处理这个特定证券集(或其他类型的交易等)的交易引擎现在位于新的(备份)交易引擎上。
4)网关验证是否缺少特定交易的任何执行报告,并通知主要交易引擎。
5)新的主要交易引擎可判断是否缺少任何序列,并且可以从内存从属器、复制主机/复制次要设备、和/或网关中请求该缺少的序列。
场景2:如果没有提供用于处理故障的交易引擎的证券集的备份交易引擎:
1)主要交易引擎可以关闭。这可以使用交易引擎上的API机制完成。如果这无响应,则内存从属器可以终止交易引擎进程。如果有导致故障转移的硬件故障,则因为交易引擎已经关闭,可以跳过该主要交易引擎关闭。
2)如果处理特定证券的交易引擎死机或不运行或离线,那么可以通知平台内的网关和/或其他组件。
3)网关和/或其他组件可表明通过故障的主要匹配引擎处理的证券集或其他类型的交易已经发生故障,并且不能为它们接收任何订单。
此外,在M'T10处,当从交易引擎1(30)接收执行报告时,其他的数据中心(如果有的话)可以与处理一起更新,并且可选地,与更新的信用信息一起更新,并且该更新被记录在本地内存或与信用主机70相关联的内存中,如图13的M'T18和M'T19所示。
额外的内存主机(additional memory masters)可提供为次要内存主机,该次要内存主机接收所有的订单及执行报告,并在主要内存主机70故障或没有响应的情况下用作冗余备份单元(redundant backup units)。
在M'T10处,如果在M'T9处等待额外的状态信息的时间太长的情况下,可联系其他次要复制主机以检索状态信息。这样做可以避免额外的加重主要复制主机的资源负担,然而,将要理解的是,该状态也可以从主要复制主机检索。类似地,在M'T5处,这样的数据还可以从次要复制主机而不从主要复制主机中检索。
在M'T10处,举例来说,内存从属控制器可以将该状态发送至次要复制主机,因此如果状态缺失或损坏,那么可以查询其他次要复制主机以检索该状态。一般而言,如果主要复制主机将任何通信发送至次要复制主机,并由于一些原因,该次要复制主机不能处理这些信息,那么该次要复制主机可尝试从主要复制主机中再次检索该信息。以这样的方式,可以获得灵活的系统,在这个系统中,任何复制主机可以从任何其他的复制主机、主要主机或次要主机检索状态。可以分发再同步请求,以便不妨碍成为任何特定节点(specific node)的可能资源(extent possible resources)的负担。
主要主机选择过程可以为基于权重的。该选择过程可包含两部分:第一,各复制主机内的配置参数可以用于提供权重值。该权重值可以为数值,并且具有最高的数值的复制主机可常常变成主要复制主机。如果超过一个复制主机具有最高配置的权重值,那么可以使用算法来分析复制主机在其上运行的服务器的容量,用于为基于CPU类型、频率、内核数、缓存大小、RAM类型、频率、RAM可用性和其他这样的硬件相关的检测的选择提供一个或多个额外的权重值,以确定单元的可用容量。
根据交易引擎的主题或信道,除了与处理订单簿中的订单相关的交易引擎之外的交易引擎不需要更新订单的存在(existence)、执行报告或更新的信用信息,因为与各剩余的交易引擎相关联并共享公共内存的内存从属控制器通过相关订单处理交易引擎发送执行报告,使得这些剩余的控制器能够用相关的信用信息以及其他的信息更新它们的共享的内存。
用于实施该方法、设备、系统、非瞬时性计算机可读介质产品等的本发明的方法可以使用硬件、软件、固件或前述的组合来实施,并且可以在一个或多个计算机系统或其他处理系统中实施,这样可不需要人工操作。也就是说,该方法和功能能够通过机械操作完全地自动地执行,但不需要完全地由机器执行。一种实施此文中所描述的网关、多个交易引擎、多个内存从属控制器和一个或多个内存主机的计算机或计算机系统,其可以各自包括或提供为一个或多个单元中的一个或多个处理器以执行根据本公开的方法。这些计算机或处理器中的一个或多个或全部可以位于云环境(cloud)或可以设置在本地企业环境中或在第三方承包商的场所外。这些单元中的两个或多个,或者这些单元的组件可以在单个设备上或在一系列这样的设备、例如,一个或多个设备框架(racks of devices)上运行的进程上执行,或者通过在单个设备上或在一系列这样的设备上运行的进程来执行。此文中描述的具有网关或具有其他组件的通信接口可包括通过TCP/IP范式或其他类型的协议进行通信的有线或无线的接口,且该通信接口可以通过电线、电缆、光纤、电话线、蜂窝链路(cellularlink)、射频链路,例如WI-FI或蓝牙、LAN、WAN、VPN、或其他这样的通信信道和通信网络,或者通过前述的结合来通信。
本发明的方法和系统改善了计算机或计算机系统的功能,能够降低或减轻由竞争进程执行的一个或多个交易所需的计算机内存资源的锁定引起的延迟。另外,由于各节点或单元可具有其自身的共享内存,该共享内存包括诸如信用额度信息的必要信息的译本,因此可以通过此文中描述的方法和系统消除或减轻计算机内存资源的暂时的阻塞。
虽然已经关于本发明的特定实施例描述了本发明,但是对于本领域的技术人员来讲,许多其他的变形和修改及其他的用途将变得显而易见。按顺序列出的步骤没有必要按顺序执行,并非所有的步骤都需要执行,并且可以插入其他的中间步骤。因此,优选的是本发明不受本文具体的公开的内容的限制。
Claims (19)
1.一种更新第一交易引擎的第一计算机内存和第二交易引擎的第二计算机内存的方法,第一交易引擎配置为处理第一主题的交易,第二交易引擎配置为处理与第一主题不同的第二主题的交易,所述方法包括:
通过所述第一交易引擎的订单处理器接收所述第一主题的第一交易请求,通过所述第一交易引擎的所述订单处理器处理所述第一交易请求以生成处理过的第一交易,以及,基于所述处理过的第一交易,通过所述第一交易引擎的所述订单处理器,根据所述第一计算机内存的第一共享计算机内存映射更新所述第一计算机内存;
通过所述第二交易引擎的内存从属控制器接收所述第一交易请求,通过所述第二交易引擎的所述内存从属控制器等待来自所述第一交易引擎的所述订单处理器的所述处理过的第一交易的确认的回执,以及根据所述处理过的第一交易,通过所述第二交易引擎的所述内存从属控制器,根据所述第二计算机内存的第二共享计算机内存映射,更新所述第二计算机内存;
通过所述第二交易引擎的订单处理器接收所述第二主题的第二交易请求,通过所述第二交易引擎的所述订单处理器处理所述第二交易请求以生成处理过的第二交易,以及,基于所述处理过的第二交易,通过所述第二交易引擎的所述订单处理器,根据所述第二计算机内存的第二共享计算机内存映射,更新所述第二计算机内存;
通过所述第一交易引擎的内存从属控制器接收所述第二交易请求,通过所述第一交易引擎的所述内存从属控制器,等待从所述第二交易引擎的订单处理器收到的所述处理过的第二交易的确认的回执,以及根据所述处理过的第二交易,通过所述第一交易引擎的所述内存从属控制器,根据所述第一计算机内存的第一共享计算机内存映射,更新所述第一计算机内存。
2.根据权利要求1所述的方法,其中,所述第一交易引擎在第一自动数据处理器上实施,所述且第二交易引擎在与所述第一自动数据处理器不同的第二自动数据处理器上实施。
3.根据权利要求1所述的方法,其中,所述第一交易引擎的所述内存从属控制器不向所述第一交易引擎的订单处理器提供关于对所述第一计算机内存的更新的直接通知,并且
所述第二交易引擎的所述内存从属控制器不向所述第二交易引擎的订单处理器提供关于对所述第二计算机内存的更新的直接通知。
4.根据权利要求1所述的方法,所述方法还包括:在执行其他列举的步骤之前:
通过所述第一交易引擎的配置管理器生成所述第一计算机内存的第一共享计算机内存映射;
通过所述第二交易引擎的配置管理器生成所述第二计算机内存的第二共享计算机内存映射。
5.根据权利要求1所述的方法,所述方法还包括:在执行其他列举的步骤之前:
通过所述第一交易引擎的所述内存从属控制器生成所述第一计算机内存的第一共享计算机内存映射;
通过所述第二交易引擎的所述内存从属控制器生成所述第二计算机内存的第二共享计算机内存映射。
6.根据权利要求1所述的方法,其中,所述处理过的第一交易的确认包括与所述第一交易请求相关联的订单ID以及与所述处理过的第一交易的确认相关的交易数据。
7.根据权利要求1所述的方法,所述方法还包括:
基于所述处理过的第一交易,通过所述第一交易引擎的所述订单处理器将执行报告传送至多个内存从属控制器。
8.根据权利要求1所述的方法,所述方法还包括:
通过网关处理器接收所述第一交易请求和所述第二交易请求;
首先,将所述第一交易请求识别为与所述第一主题相关联;
根据所述识别,将所述第一交易请求传送至所述第一交易处理器的所述订单处理器;
将所述第一传送请求传送至包括所述第二交易引擎的内存从属控制器的多个内存从属控制器;
将所述第二交易请求识别为与所述第二主题相关联;
根据所述第二识别,将所述第二交易请求传送至所述第二交易处理器的所述订单处理器;以及
将所述第二传送请求传送至包括所述第一交易引擎的内存从属控制器的所述多个内存从属控制器。
9.根据权利要求8所述的方法,所述方法还包括:
将所述第一传送请求传送至内存主处理器;并且
将所述第二传送请求传送至所述内存主处理器,
其中,所述第一交易引擎在第一自动数据处理器上实施,所述第二交易引擎在与所述第一自动数据处理器不同的第二自动数据处理器上实施,并且所述内存主处理器在与所述第一自动数据处理器和第二自动数据处理器不同的第三自动数据处理器上实施。
10.根据权利要求9所述的方法,所述方法还包括:
通过所述内存主处理器接收所述第一传送请求和第二传送请求;
通过所述内存主处理器,根据从所述第一交易引擎的订单处理器收到的所述处理过的第一交易的确认以及从所述第二交易引擎的订单处理器收到的所述处理过的第二交易的确认,更新主内存。
11.一种配置为更新第一交易引擎的第一计算机内存和更新第二交易引擎的第二计算机内存的系统,所述第一交易引擎配置为处理第一主题的交易,所述第二交易引擎配置为处理与第一主题不同的第二主题的交易,所述系统包括:
所述第一交易引擎,其在第一自动数据处理器上实施,且所述第一交易引擎包括:
订单处理器,其配置为接收所述第一主题的第一交易请求,并处理所述第一交易请求以生成处理过的第一交易;
共享内存控制器,其配置为基于所述处理过的第一交易,根据所述第一计算机内存的第一共享计算机内存映射,更新所述第一计算机内存;以及
执行报告生成器,其配置为基于所述处理过的第一交易,将执行报告传送至包括所述第二交易引擎的内存从属控制器的多个内存从属控制器;
所述第二交易引擎的内存从属控制器包括:
订单接收器,其配置为接收所述第一交易请求;
交易引擎界面,其配置为等待来自所述第一交易引擎的订单处理器的处理过的第一交易的确认的回执;以及
共享内存管理器,其配置为根据所述处理过的第一交易,根据所述第二计算机内存的第二共享计算机内存映射,更新所述第二计算机内存;
所述第二交易引擎,其在与所述第一自动数据处理器不同的第二自动数据处理器上实施,且所述第二交易引擎包括:
订单处理器,其配置为接收所述第二主题的第二交易请求,并处理所述第二交易请求以生成处理过的第二交易;
共享内存控制器,其配置为基于所述处理过的第二交易,根据所述第二计算机内存的所述第二共享计算机内存映射,更新所述第二计算机内存;并且
所述第一交易引擎包括:
内存从属控制器,其配置为接收所述第二交易请求;
交易引擎界面,其配置为等待从所述第二交易引擎接收的处理过的第二交易的确认的回执;以及
共享内存管理器,其配置为根据所述处理过的第二交易,根据所述第一计算机内存的第一共享计算机内存映射,更新所述第一计算机内存。
12.根据权利要求11所述的系统,其中,所述第一交易引擎的内存从属控制器不向所述第一交易引擎的订单处理器提供关于对所述第一计算机内存的更新的直接通知,并且
所述第二交易引擎的内存从属控制器不向所述第二交易引擎的订单处理器提供关于对所述第二计算机内存的更新的直接通知。
13.根据权利要求11所述的系统,其中
所述第一交易引擎还包括:
配置管理器,其配置为通过所述第一交易引擎,在收到交易请求之前,生成所述第一计算机内存的所述第一共享计算机内存映射;以及
所述第二交易引擎还包括:
配置管理器,其配置为通过所述第二交易引擎,在收到交易请求之前,生成所述第二计算机内存的所述第二共享计算机内存映射。
14.根据权利要求11所述的系统,其中
所述第一交易引擎的内存从属控制器还包括:共享内存生成器,其配置为在收到交易请求之前生成所述第一计算机内存的所述第一共享计算机内存映射;并且
所述第二交易引擎的内存从属控制器还包括:共享内存生成器,其配置为在收到交易请求之前生成所述第二计算机内存的所述第二共享计算机内存映射。
15.根据权利要求11所述的系统,其中,所述处理过的第一交易的确认包括与所述第一交易请求相关联的订单ID以及与所述处理过的第一交易的确认相关的交易数据。
16.根据权利要求11所述的系统,其中所述第一交易请求和所述第二交易请求为订单,并且所述第一交易请求的处理和所述第二交易请求的处理均需要匹配各自的订单簿中的请求以用于市场交易项目的电子交易。
17.根据权利要求11所述的系统,所述第二交易引擎还包括:
执行报告生成器,其配置为基于所述处理过的第二交易,将执行报告传送至包括所述第一交易引擎的所述内存从属控制器的多个内存从属控制器。
18.根据权利要求11所述的系统,所述系统还包括:网关处理器,所述网关处理器包括:
订单验证器,其配置为接收所述第一交易请求和所述第二交易请求;
交易主题处理器,其配置为将所述第一交易请求识别为与所述第一主题相关联,并将所述第二交易请求识别为与所述第二主题相关联;
交易引擎界面,其配置为根据所述识别将所述第一交易请求传送至所述第一交易处理器,并将所述第二交易请求传送至所述第二交易处理器;
从属和主播送器,其配置为将所述第一传送请求传送至包括所述第二交易引擎的内存从属控制器的多个内存从属控制器;且
所述从属和主播送器配置为将所述第二传送请求传送至包括所述第一交易引擎的内存从属控制器的所述多个内存从属控制器。
19.根据权利要求18所述的系统,所述系统还包括:
内存主处理器,其包括网关界面,所述网关界面配置为接收所述第一交易请求和所述第二交易请求;
交易引擎界面,其配置接收所述处理过的第一交易的确认和所述第二交易的确认;以及
控制器,其配置根据所述处理过的第一交易的确认和所述处理过的第二交易的确认更新主机内存,
其中,所述内存主处理器在与所述第一自动数据处理器和所述第二自动数据处理器不同的第三自动数据处理器上实施。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/164,393 | 2016-05-25 | ||
US15/164,393 US10453136B2 (en) | 2016-05-25 | 2016-05-25 | Shared memory-based transaction processing |
PCT/US2017/032458 WO2017205086A1 (en) | 2016-05-25 | 2017-05-12 | Shared memory-based transaction processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109791676A true CN109791676A (zh) | 2019-05-21 |
CN109791676B CN109791676B (zh) | 2023-08-04 |
Family
ID=58745493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780046104.8A Active CN109791676B (zh) | 2016-05-25 | 2017-05-12 | 基于共享内存的交易处理 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10453136B2 (zh) |
EP (1) | EP3465595A1 (zh) |
CN (1) | CN109791676B (zh) |
AU (1) | AU2017271998B2 (zh) |
CA (1) | CA3061887C (zh) |
SG (1) | SG11201810346YA (zh) |
WO (1) | WO2017205086A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430263A (zh) * | 2019-08-05 | 2019-11-08 | 中国工商银行股份有限公司 | 一种增值业务处理系统及方法 |
CN111723109A (zh) * | 2020-06-19 | 2020-09-29 | 南京艾科朗克信息科技有限公司 | 基于内存加速的证券交易数据库系统和工作方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7769756B2 (en) * | 2004-06-07 | 2010-08-03 | Sling Media, Inc. | Selection and presentation of context-relevant supplemental content and advertising |
CN109492016A (zh) * | 2018-11-19 | 2019-03-19 | 中国银联股份有限公司 | 一种交易清算方法及装置 |
US11436049B2 (en) * | 2020-04-17 | 2022-09-06 | Apple Inc. | Systems and methods to control bandwidth through shared transaction limits |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10187523A (ja) * | 1996-12-26 | 1998-07-21 | Nec Corp | 疎結合システムにおける端末情報共有方法及び方式 |
CN101124603A (zh) * | 2004-03-12 | 2008-02-13 | 第一数据公司 | 用于处理电子支付交易的方法和系统 |
US20090055303A1 (en) * | 2007-08-20 | 2009-02-26 | Chicago Mercantile Exchange, Inc. | Out of band credit control |
US20120246052A1 (en) * | 2010-12-09 | 2012-09-27 | Exegy Incorporated | Method and Apparatus for Managing Orders in Financial Markets |
US20150127509A1 (en) * | 2013-11-07 | 2015-05-07 | Chicago Mercantile Exchange Inc. | Transactionally Deterministic High Speed Financial Exchange Having Improved, Efficiency, Communication, Customization, Performance, Access, Trading Opportunities, Credit Controls, and Fault Tolerance |
US20160104242A1 (en) * | 2013-11-05 | 2016-04-14 | Thomson Reuters (Markets) Llc | Systems and methods for quantifying temporal fairness on electronic trading venues |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0512702A3 (en) | 1991-05-03 | 1993-09-15 | Reuters Limited | Automated currency trade matching system with integral credit checking |
US5375055A (en) | 1992-02-03 | 1994-12-20 | Foreign Exchange Transaction Services, Inc. | Credit management for electronic brokerage system |
GB2366023B (en) | 2000-06-23 | 2004-08-11 | Ebs Nominees Ltd | Credit limit storage in an anonymous trading system |
-
2016
- 2016-05-25 US US15/164,393 patent/US10453136B2/en not_active Expired - Fee Related
-
2017
- 2017-05-12 SG SG11201810346YA patent/SG11201810346YA/en unknown
- 2017-05-12 CN CN201780046104.8A patent/CN109791676B/zh active Active
- 2017-05-12 WO PCT/US2017/032458 patent/WO2017205086A1/en unknown
- 2017-05-12 CA CA3061887A patent/CA3061887C/en active Active
- 2017-05-12 EP EP17725114.7A patent/EP3465595A1/en not_active Withdrawn
- 2017-05-12 AU AU2017271998A patent/AU2017271998B2/en not_active Ceased
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10187523A (ja) * | 1996-12-26 | 1998-07-21 | Nec Corp | 疎結合システムにおける端末情報共有方法及び方式 |
CN101124603A (zh) * | 2004-03-12 | 2008-02-13 | 第一数据公司 | 用于处理电子支付交易的方法和系统 |
US20090055303A1 (en) * | 2007-08-20 | 2009-02-26 | Chicago Mercantile Exchange, Inc. | Out of band credit control |
US20120246052A1 (en) * | 2010-12-09 | 2012-09-27 | Exegy Incorporated | Method and Apparatus for Managing Orders in Financial Markets |
US20160104242A1 (en) * | 2013-11-05 | 2016-04-14 | Thomson Reuters (Markets) Llc | Systems and methods for quantifying temporal fairness on electronic trading venues |
US20150127509A1 (en) * | 2013-11-07 | 2015-05-07 | Chicago Mercantile Exchange Inc. | Transactionally Deterministic High Speed Financial Exchange Having Improved, Efficiency, Communication, Customization, Performance, Access, Trading Opportunities, Credit Controls, and Fault Tolerance |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430263A (zh) * | 2019-08-05 | 2019-11-08 | 中国工商银行股份有限公司 | 一种增值业务处理系统及方法 |
CN110430263B (zh) * | 2019-08-05 | 2022-07-05 | 中国工商银行股份有限公司 | 一种增值业务处理系统及方法 |
CN111723109A (zh) * | 2020-06-19 | 2020-09-29 | 南京艾科朗克信息科技有限公司 | 基于内存加速的证券交易数据库系统和工作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109791676B (zh) | 2023-08-04 |
AU2017271998A1 (en) | 2018-12-13 |
AU2017271998B2 (en) | 2020-05-28 |
CA3061887A1 (en) | 2017-11-30 |
US10453136B2 (en) | 2019-10-22 |
US20170345094A1 (en) | 2017-11-30 |
CA3061887C (en) | 2022-09-06 |
EP3465595A1 (en) | 2019-04-10 |
SG11201810346YA (en) | 2018-12-28 |
WO2017205086A1 (en) | 2017-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109791676A (zh) | 基于共享内存的交易处理 | |
CN107077382A (zh) | 在多租户应用服务器环境中进行事务恢复的系统和方法 | |
US10217178B2 (en) | Customer identity verification | |
US20220067834A1 (en) | Method, system and non-transitory computer-readable recording medium for supporting asset transactions | |
US20180046994A1 (en) | Method and system for restricting transactions to allowed products | |
US20170103456A1 (en) | System and method for loan validation and recovery system for marketplace investors | |
JP6349469B1 (ja) | 企業グループ管理方法およびシステム | |
JP6133529B1 (ja) | 電子稟議書の更新方法およびシステム | |
JP2018005767A (ja) | 相続業務支援システムおよび相続業務支援方法 | |
TWI807142B (zh) | 交易風險控管系統與交易風險控管方法 | |
US10250704B2 (en) | Registration during downtime | |
US20200058069A1 (en) | Communicating property data | |
JP6130979B1 (ja) | 与信管理システム、方法、およびプログラム | |
EP3931780A1 (en) | System and method for transferring an anonymized transaction between nodes of a computer network | |
US20180165350A1 (en) | Multicomputer Processing of Client Device Request Data Using Centralized Event Orchestator and Link Discovery Engine | |
JP2003196372A (ja) | 住宅資産活用支援方法および支援システム | |
US11593124B2 (en) | System and method for automated configuration of a computing device | |
JP6682121B2 (ja) | 銀行が仮想通貨サービスを提供するための方法およびコンピュータシステム | |
US20190115095A1 (en) | Methods for more accurately managing processing of medical bill data and devices thereof | |
CA3067925A1 (en) | System and method for automated configuration of a computing device | |
JP6375060B2 (ja) | 証券取引管理システム | |
TW201818328A (zh) | 借券媒合交易系統及其方法 | |
CN116739777A (zh) | 投资组合的异常确定方法和相关装置 | |
KR100512587B1 (ko) | 피어 투 피어 네트워크상에서의 컨텐츠 거래관리 시스템 | |
CN115730948A (zh) | 信息处理方法、处理装置、电子设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |