交易系统时延的处理方法、装置、计算机设备和存储介质转让专利

申请号 : CN202110355720.X

文献号 : CN113110983B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 韦伟周基鑫张静华杨栩金春芃苗咏宿旭升

申请人 : 深圳华锐分布式技术股份有限公司上海华锐软件有限公司

摘要 :

本申请涉及一种交易系统时延的处理方法、装置、计算机设备和存储介质,当所述交易系统接收到委托订单时,获取所述委托订单的委托标识,所述交易系统包括若干个组件;获取各所述组件处理所述委托订单的起始时刻和结束时刻;根据所述委托标识对各所述起始时刻以及各所述结束时刻进行串联,得到所述委托订单对应的消息路径数据;根据所述消息路径数据对各所述组件的时延进行统计,得到所述交易系统的时延,实现了对交易系统中各组件时延的准确测量,为对交易系统的性能优化提供数据基础,利用交易系统的性能改善,从而提升交易系统的时效性。同时,实现对各组件的时延以及交易系统的时延的准确监控。

权利要求 :

1.一种交易系统时延的处理方法,其特征在于,所述方法包括:当接收到委托订单时,获取所述委托订单的委托标识,所述交易系统包括若干个组件;

获取各所述组件处理所述委托订单的起始时刻和结束时刻;

根据所述委托标识对各所述起始时刻以及各所述结束时刻进行串联,得到所述委托订单对应的消息路径数据;

根据所述消息路径数据对各所述组件的时延进行统计,得到所述交易系统的时延;

根据所述委托标识对各所述组件的起始时刻和结束时刻进行时间间隔的计算,得到各所述组件的时延;当所述交易系统出现故障时,将各所述组件的时延与预设的时延阈值进行比较,将时延大于所述时延阈值的组件确定为故障组件;

获取所述委托订单到达各所述组件的第一时间戳,获取所述委托订单离开各所述组件的第二时间戳;

对各所述组件的第一时间戳的数量进行统计,根据统计结果确定各所述组件的吞吐情况;根据各所述组件的吞吐情况判断各所述组件的承受压力是否达到瓶颈阈值,并为达到所述瓶颈阈值的组件增加新组件;

对报盘服务组件的第二时间戳的数量进行统计,并判断统计结果是否触发交易所对接组件的流速控制条件;若触发,则为所述交易系统增加流速权值。

2.根据权利要求1所述的方法,其特征在于,所述获取各所述组件处理所述委托订单的起始时刻和结束时刻,包括:所述根据所述委托标识对各所述起始时刻以及各所述结束时刻进行串联,得到所述委托订单对应的消息路径数据,包括:根据所述委托标识对各所述第一时间戳以及各所述第二时间戳进行串联,得到所述委托订单对应的上行路径数据。

3.根据权利要求2所述的方法,其特征在于,所述获取各所述组件处理所述委托订单的起始时刻和结束时刻,包括:获取所述委托订单的确认信息到达各所述组件的第三时间戳;

获取所述确认信息离开各所述组件的第四时间戳;

所述根据所述委托标识对各所述起始时刻以及各所述结束时刻进行串联,得到所述委托订单对应的消息路径数据,包括:根据所述委托标识对各所述第三时间戳以及各所述第四时间戳进行串联,得到所述委托订单对应的下行路径数据。

4.根据权利要求3所述的方法,其特征在于,所述交易系统的组件还包括交易网关,所述交易网关与所述报盘服务组件部署在同一服务器上;或者基于高精度时间同步协议,确保所述交易网关与所述报盘服务组件的时间同步。

5.一种交易系统时延的处理装置,其特征在于,所述装置包括:委托标识获取模块,用于当所述交易系统接收到委托订单时,获取所述委托订单的委托标识,所述交易系统包括若干个组件;

始末时刻获取模块,用于获取各所述组件处理所述委托订单的起始时刻和结束时刻;

始末时刻串联模块,用于根据所述委托标识对各所述起始时刻以及各所述结束时刻进行串联,得到所述委托订单对应的消息路径数据;

组件时延统计模块,用于根据所述消息路径数据对各所述组件的时延进行统计,得到所述交易系统的时延;

根据所述委托标识对各所述组件的起始时刻和结束时刻进行时间间隔的计算,得到各所述组件的时延;当所述交易系统出现故障时,将各所述组件的时延与预设的时延阈值进行比较,将时延大于所述时延阈值的组件确定为故障组件;

获取所述委托订单到达各所述组件的第一时间戳,获取所述委托订单离开各所述组件的第二时间戳;

对各所述组件的第一时间戳的数量进行统计,根据统计结果确定各所述组件的吞吐情况;根据各所述组件的吞吐情况判断各所述组件的承受压力是否达到瓶颈阈值,并为达到所述瓶颈阈值的组件增加新组件;

对报盘服务组件的第二时间戳的数量进行统计,并判断统计结果是否触发交易所对接组件的流速控制条件;若触发,则为所述交易系统增加流速权值。

6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的方法的步骤。

7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。

说明书 :

交易系统时延的处理方法、装置、计算机设备和存储介质

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及一种交易系统时延的处理方法、装置、计算机设备和存储介质。

背景技术

[0002] 随着计算机技术的发展,越来越多的交易订单委托者通过量化交易、程序化交易的方式来代替人工进行交易订单委托,而委托交易订单的时间和数据主要依赖于市场上的各种业务消息做相应的决策处理。因此,交易订单委托者对处理交易订单的交易系统的时效性有着越来越高的要求。

发明内容

[0003] 基于此,有必要针对上述技术问题,提供一种能够改善交易系统时效性的处理方法、装置、计算机设备和存储介质。
[0004] 一种交易系统时延的处理方法,所述方法包括:
[0005] 当所述交易系统接收到委托订单时,获取所述委托订单的委托标识,所述交易系统包括若干个组件;
[0006] 获取各所述组件处理所述委托订单的起始时刻和结束时刻;
[0007] 根据所述委托标识对各所述起始时刻以及各所述结束时刻进行串联,得到所述委托订单对应的消息路径数据;
[0008] 根据所述消息路径数据对各所述组件的时延进行统计,得到所述交易系统的时延。
[0009] 在其中一个实施例中,所述方法还包括:
[0010] 根据所述委托标识对各所述组件的起始时刻和结束时刻进行时间间隔的计算,得到各所述组件的时延;
[0011] 当所述交易系统出现故障时,将各所述组件的时延与预设的时延阈值进行比较,将时延大于所述时延阈值的组件确定为故障组件。
[0012] 在其中一个实施例中,所述获取各所述组件处理所述委托订单的起始时刻和结束时刻,包括:
[0013] 获取所述委托订单到达各所述组件的第一时间戳;
[0014] 获取所述委托订单离开各所述组件的第二时间戳;
[0015] 所述根据所述委托标识对各所述起始时刻以及各所述结束时刻进行串联,得到所述委托订单对应的消息路径数据,包括:
[0016] 根据所述委托标识对各所述第一时间戳以及各所述第二时间戳进行串联,得到所述委托订单对应的上行路径数据。
[0017] 在其中一个实施例中,所述获取各所述组件处理所述委托订单的起始时刻和结束时刻,包括:
[0018] 获取所述委托订单的确认信息到达各所述组件的第三时间戳;
[0019] 获取所述确认信息离开各所述组件的第四时间戳;
[0020] 所述根据所述委托标识对各所述起始时刻以及各所述结束时刻进行串联,得到所述委托订单对应的消息路径数据,包括:
[0021] 根据所述委托标识对各所述第三时间戳以及各所述第四时间戳进行串联,得到所述委托订单对应的下行路径数据。
[0022] 在其中一个实施例中,所述方法还包括:
[0023] 对各所述组件的第一时间戳的数量进行统计,根据统计结果确定各所述组件的吞吐情况;
[0024] 根据各所述组件的吞吐情况判断各所述组件的承受压力是否达到瓶颈阈值,并为达到所述瓶颈阈值的组件增加新组件。
[0025] 在其中一个实施例中,所述交易系统的组件包括报盘服务组件;所述方法还包括:
[0026] 对所述报盘服务组件的第二时间戳的数量进行统计,并判断统计结果是否触发交易所对接组件的流速控制条件;
[0027] 若触发,则为所述交易系统增加流速权值。
[0028] 在其中一个实施例中,所述交易系统的组件还包括交易网关,所述交易网关与所述报盘服务组件部署在同一服务器上;或者
[0029] 基于高精度时间同步协议,确保所述交易网关与所述报盘服务组件的时间同步。
[0030] 一种交易系统时延的处理装置,所述装置包括:
[0031] 委托标识获取模块,用于当所述交易系统接收到委托订单时,获取所述委托订单的委托标识,所述交易系统包括若干个组件;
[0032] 始末时刻获取模块,用于获取各所述组件处理所述委托订单的起始时刻和结束时刻;
[0033] 始末时刻串联模块,用于根据所述委托标识对各所述起始时刻以及各所述结束时刻进行串联,得到所述委托订单对应的消息路径数据;
[0034] 组件时延统计模块,用于根据所述消息路径数据对各所述组件的时延进行统计,得到所述交易系统的时延。
[0035] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法步骤。
[0036] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
[0037] 上述交易系统时延的处理方法、装置、计算机设备和存储介质,当所述交易系统接收到委托订单时,获取所述委托订单的委托标识,所述交易系统包括若干个组件;获取各所述组件处理所述委托订单的起始时刻和结束时刻;根据所述委托标识对各所述起始时刻以及各所述结束时刻进行串联,得到所述委托订单对应的消息路径数据;根据所述消息路径数据对各所述组件的时延进行统计,得到所述交易系统的时延,实现了对交易系统中各组件时延的准确测量,为对交易系统的性能优化提供数据基础,利用交易系统的性能改善,从而提升交易系统的时效性。同时,实现对各组件的时延以及交易系统的时延的准确监控。

附图说明

[0038] 图1为一个实施例中交易系统时延的处理方法的应用环境图;
[0039] 图2为一个实施例中交易系统时延的处理方法的流程示意图;
[0040] 图3为一个实施例中交易系统时延的处理方法的流程示意图;
[0041] 图4为一个实施例中获取上行路径数据步骤的流程示意图;
[0042] 图5为一个实施例中获取下行路径数据步骤的流程示意图;
[0043] 图6为另一个实施例中交易系统时延的处理方法的流程示意图;
[0044] 图7为一个实施例中交易系统时延的处理装置的结构示意框图;
[0045] 图8为一个实施例中计算机设备的内部结构示意图。

具体实施方式

[0046] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0047] 本申请提供的交易系统时延的处理方法,可以应用于如图1所示的应用环境中。其中,交易系统110包括交易网关112、交易引擎114和报盘服务组件116。交易网关112、交易引擎114和报盘服务组件116可以作为交易系统的各个组件。当交易系统接收到委托订单时,交易网关112可以为每笔委托订单进行编号,得到委托订单的委托标识。交易系统中各组件对委托订单进行相应的处理,可以在各组件处理委托订单的起始位置和结束位置处预设采集点,通过预设的采集点采集各组件的时间戳信息,交易系统中各组件可以与时延统计组件120连接,时延统计组件120获取各组件的时间戳信息。各组件的时间戳信息包括委托订单的委托标识、该组件处理委托订单的起始时刻、该组件处理完委托订单的结束时刻。因此,根据委托标识对各起始时刻以及各结束时刻进行串联,得到委托订单对应的消息路径数据;根据消息路径数据对各组件的时延进行统计,得到交易系统的时延。其中,交易系统的时延包括上行时延和下行时延,上行时延是指委托订单从进入交易系统,至离开报盘服务组件传输至交易所网关的时延,上行时延是决定委托订单能否尽快送达交易所的关键。下行时延是委托订单的确认信息从交易所网关发送至交易系统到离开交易系统发送至投资者所在的客户端(比如订单管理系统)的时延。
[0048] 在一个实施例中,如图2所示,提供了一种交易系统时延的处理方法,以该方法应用于图1中的时延统计组件120为例进行说明,包括以下步骤:
[0049] S210、当交易系统接收到委托订单时,获取委托订单的委托标识。
[0050] 其中,交易系统包括若干个组件,比如交易网关、交易引擎和报盘服务组件。具体地,交易系统连接订单管理系统,订单管理系统向交易系统发送委托订单,交易系统接收到委托订单,交易系统为每一笔委托订单设置委托标识,委托标识可以是订单编号。
[0051] S220、获取各组件处理委托订单的起始时刻和结束时刻。
[0052] 其中,起始时刻可以是委托订单经过的每一个组件时接收到该委托订单的时间。结束时刻可以是委托订单被当前组件处理后传递给下一个组件即离开当前组件的时间。具体地,每笔委托订单经过交易系统的各组件时,每个组件对各委托订单进行相应的处理。在委托订单到达各组件时,对各组件处理委托订单的起始时刻进行采集。在委托订单完成处理,离开各组件时,对委托订单离开的结束时刻进行采集。
[0053] S230、根据委托标识对各起始时刻以及各结束时刻进行串联,得到委托订单对应的消息路径数据。
[0054] 具体地,各个组件在对委托订单处理时,委托订单的委托标识也会被采集,这样,针对任一委托订单,可以按照委托标识,将该委托订单依次通过各组件的起始时刻以及结束时候进行串联,形成委托订单对应的消息路径数据。示例性地,委托订单依次进入交易网关的起始时刻G1、离开交易网关的结束时刻G2、进入交易引擎的起始时刻T3、离开交易引擎的结束时刻T4、进入报盘服务组件的起始时刻O5、离开报盘服务组件的结束时刻O6,则按照订单编号将上述时刻串起来,得到委托订单对应的消息路径数据,可以表示为G1O6。可以理解的是,本实施例中根据委托标识对各起始时刻以及各结束时刻进行串联,是按照时间的先后顺序将各起始时刻以及各结束时刻串在一起,生成对应的消息路径数据。
[0055] S240、根据消息路径数据对各组件的时延进行统计,得到交易系统的时延。
[0056] 具体地,按照委托标识对各起始时刻以及各结束时刻进行串联,得到委托订单对应的消息路径数据,从而根据消息路径数据的每个组件进行计算,可以得到交易系统的整体时延,也可以将各个组件作为个体进行时延的计算,得到交易系统中各组件的时延。继续以消息路径数据G1O6为例进行说明,G1O6可以理解为G1G2+G2T3+T3T4+T4O5+O5O6。可以利用G1O6表示委托订单在交易系统内部的时延,且G1G2表示委托订单在交易网关内部的时延,T3T4表示委托订单在交易引擎内部的时延,O5O6表示委托订单在报盘服务组件内部的时延。
[0057] 上述交易系统时延的处理方法,当交易系统接收到委托订单时,获取委托订单的委托标识,交易系统包括若干个组件;获取各组件处理委托订单的起始时刻和结束时刻;根据委托标识对各起始时刻以及各结束时刻进行串联,得到委托订单对应的消息路径数据;根据消息路径数据对各组件的时延进行统计,得到交易系统的时延,实现了对交易系统中各组件时延的准确测量,为对交易系统的性能优化提供数据基础,利用交易系统的性能改善,从而提升交易系统的时效性。同时,实现对各组件的时延以及交易系统的时延的准确监控。
[0058] 在一个实施例中,如图3所示,该方法还包括以下步骤:
[0059] S310、根据委托标识对各组件的起始时刻和结束时刻进行时间间隔的计算,得到各组件的时延。
[0060] 具体地,每笔委托订单经过交易系统的各组件时,每个组件对各委托订单进行相应的处理。在委托订单到达各组件时,对各组件处理委托订单的起始时刻进行采集。在委托订单完成处理,离开各组件时,对委托订单离开的结束时刻进行采集。针对任一组件,按照委托订单的委托标识,利用进入该组件的起始时刻与离开该组件的结束时刻进行时间间隔的计算,得到该组件的时延。比如,离开该组件的结束时刻减去进入该组件的起始时刻得到的时间差即为该组件的时延。
[0061] S320、当交易系统出现故障时,将各组件的时延与预设的时延阈值进行比较,将时延大于时延阈值的组件确定为故障组件。
[0062] 具体地,通过为委托订单设置委托标识,并采集各组件处理订单的起始时刻和结束时刻,可以根据委托标识计算起始时刻和结束时刻的时间差。在一些实施例中,可以根据以往实际经验以及测试经验获取各组件的时延的大致范围,并设置时延阈值。每个组件具有各自的时延阈值。针对任一组件,将该组件的时延与该组件的时延阈值进行比较,若该组件的时延大于该组件的时延阈值,则确定该组件为故障组件。若该组件的时延不大于该组件的时延阈值,则确定该组件为正常组件。
[0063] 本实施例中,通过根据委托标识对各组件的起始时刻和结束时刻进行时间间隔的计算,得到各组件的时延;当交易系统出现故障时,各组件的时延与预设的时延阈值进行比较,将时延大于时延阈值的组件确定为故障组件。能够快速且准确地定位出故障位置,确保交易系统的稳定性。
[0064] 在一个实施例中,如图4所示,获取各组件处理委托订单的起始时刻和结束时刻,包括:
[0065] S410、获取委托订单到达各组件的第一时间戳。
[0066] S420、获取委托订单离开各组件的第二时间戳。
[0067] 其中,交易系统时延包括上行时延和下行时延,上行时延指委托订单从进入交易系统,到离开报盘服务报送至交易所网关之间的时延,上行时延是决定委托订单能否尽快送达交易所的关键参数。具体地,交易系统连接订单管理系统,订单管理系统向交易系统发送委托订单。当委托订单从订单管理系统进入交易系统,委托订单需要依次进入各组件进行处理。在各组件开始对委托订单开始处理时,对委托订单进行打点,获取委托订单到达各组件的第一时间戳。在各组件对委托订单完成处理后,委托订单离开各组件时,对委托订单进行打点,获取委托订单离开各组件的第二时间戳。
[0068] 根据委托标识对各起始时刻以及各结束时刻进行串联,得到委托订单对应的消息路径数据,包括:
[0069] S430、根据委托标识对各第一时间戳以及各第二时间戳进行串联,得到委托订单对应的上行路径数据。
[0070] 具体地,各个组件在对委托订单处理时,委托订单的委托标识也会被采集,这样,针对任一委托订单,可以按照委托标识,将该委托订单依次通过各组件的第一时间戳以及第二时间戳进行串联,形成委托订单对应的上行路径数据。如前文提到的消息路径数据G1O6可以理解为委托订单对应的上行路径数据。
[0071] 在一个实施例中,如图5所示,获取各组件处理委托订单的起始时刻和结束时刻,包括:
[0072] S510、获取委托订单的确认信息到达各组件的第三时间戳。
[0073] S520、获取确认信息离开各组件的第四时间戳。
[0074] 其中,交易系统时延包括上行时延和下行时延,下行时延是委托订单的确认信息从交易所网关发送至交易系统到离开交易系统发送至投资者所在的客户端(比如订单管理系统)的时延。具体地,交易系统不仅连接订单管理系统,而且与交易所网关连接。通过交易所网关交易系统接收交易所发送的委托订单所对应的确认信息。当确认信息从交易所网关进入交易系统,委托订单需要依次进入各组件进行处理。在各组件开始对委托订单开始处理时,对委托订单进行打点,获取确认信息到达各组件的第三时间戳。在各组件对委托订单完成处理后,确认信息离开各组件时,对委托订单进行打点,获取确认信息离开各组件的第四时间戳。示例性地,确认信息依次进入报盘服务组件的起始时刻O7、离开报盘服务组件的结束时刻O8、进入交易引擎的起始时刻T9、离开交易引擎的结束时刻T10、进入交易网关的起始时刻G11、离开交易网关的结束时刻G12。
[0075] 根据委托标识对各起始时刻以及各结束时刻进行串联,得到委托订单对应的消息路径数据,包括:
[0076] S530、根据委托标识对各第三时间戳以及各第四时间戳进行串联,得到委托订单对应的下行路径数据。
[0077] 具体地,各个组件在对确认信息处理时,委托订单的委托标识也会被采集,这样,针对任一委托订单,可以按照委托标识,将该确认信息依次通过各组件的第三时间戳以及第四时间戳进行串联,形成委托订单对应的下行路径数据。示例性地,将起始时刻O7、结束时刻O8、起始时刻T9、结束时刻T10、起始时刻G11以及结束时刻G12进行串联,形成委托订单对应的下行路径数据O7G12,O7G12可以理解为O7O8+O8T9+T9T10+T10TG11+G11G12。可以利用O7G12表示确认信息在交易系统内部的时延,且G11G12表示确认信息在交易网关内部的时延,T9T10表示确认信息在交易引擎内部的时延,O7O8表示确认信息在报盘服务组件内部的时延。
[0078] 在一个实施例中,如图6所示,该方法还包括以下步骤:
[0079] S610、对各组件的第一时间戳的数量进行统计,根据统计结果确定各组件的吞吐情况。
[0080] S620、根据各组件的吞吐情况判断各组件的承受压力是否达到瓶颈阈值,并为达到瓶颈阈值的组件增加新组件。
[0081] 具体地,在各组件开始对委托订单开始处理时,对委托订单进行打点,获取委托订单到达各组件的第一时间戳。对在预设时间内各组件的第一时间戳的数量进行统计,得到各组件的吞吐情况,从而得知各组件的承受压力。根据每个组件吞吐情况的差异,来明确各组件的承受压力是否提前达到瓶颈,从而决定是否通过增加组件的实例个数以缓解压力。示例性地,如交易网关、交易引擎和报盘服务组件在某个时间段的打点情况分别为30000个/秒,25000个/秒,25000个/秒,说明交易引擎的处理能力已经跟不上网关,此时可以考虑新增一个交易引擎以分担压力,解决瓶颈问题。
[0082] 本实施例中,通过对各组件的第一时间戳的数量进行统计,根据统计结果确定各组件的吞吐情况。并根据各组件的吞吐情况判断各组件的承受压力是否达到瓶颈阈值,并为达到瓶颈阈值的组件增加新组件,解决瓶颈问题,提升交易系统的处理能力,提升用户体验。
[0083] 在一个实施例中,交易系统的组件包括报盘服务组件。该方法还包括:对报盘服务组件的第二时间戳的数量进行统计,并判断统计结果是否触发交易所对接组件的流速控制条件;若触发,则为交易系统增加流速权值。
[0084] 其中,报盘服务组件与交易所网关连接,每个连接设有流速权值控制。可以结合报盘服务组件的打点速率判断是否需要增加流速权值。“流速权”代表被分配到的报单权利,该值不完全是指订单申报速度,而是指允许在途订单量。具体地,在报盘服务组件对委托订单完成处理后,委托订单离开报盘服务组件时,对委托订单进行打点,对报盘服务组件的第二时间戳的数量进行统计,并判断统计结果是否触发交易所对接组件的流速控制条件;若触发,则为交易系统增加流速权值。
[0085] 本实施例中,通过对报盘服务组件的第二时间戳的数量进行统计,并判断统计结果是否触发交易所对接组件的流速控制条件;若触发,则为交易系统增加流速权值,以防止业务的突增触发交易所网关的流控,影响用户交易的体验效果。
[0086] 在一个实施例中,交易系统的组件还包括交易网关,交易网关与报盘服务组件部署在同一服务器上。或者,基于高精度时间同步协议,确保交易网关与报盘服务组件的时间同步。
[0087] 具体地,消息路径数据G1O6时延对部署有要求,即交易网关组件及报盘服务组件需要部署在同一服务器节点上,才能保证时间的有效性。若交易网关组件及报盘服务组件不在同一服务器,则要求部署交易网关组件的服务器与部署报盘服务组件的服务器之间使用PTP(Precision Time Protocol,高精度时间同步协议)校时服务实时校准,确保各服务器之间的偏差在一微秒以内。
[0088] 在一个实施例中,本申请提供一种交易系统时延的处理方法。交易系统包括交易网关、交易引擎和报盘服务组件。交易网关、交易引擎和报盘服务组件可以作为交易系统的各个组件。交易网关、交易引擎和报盘服务组件可以部署在同一服务器上。若交易网关、交易引擎和报盘服务组件部署在不同的服务器上,基于高精度时间同步协议,确保交易网关与报盘服务组件的时间同步。该方法包括以下步骤:
[0089] S702、当交易系统接收到委托订单时,获取委托订单的委托标识,交易系统包括若干个组件;
[0090] S704、获取委托订单到达各组件的第一时间戳;
[0091] S706、获取委托订单离开各组件的第二时间戳;
[0092] S708、根据委托标识对各第一时间戳以及各第二时间戳进行串联,得到委托订单对应的上行路径数据。
[0093] S710、获取委托订单的确认信息到达各组件的第三时间戳;
[0094] S712、获取确认信息离开各组件的第四时间戳;
[0095] S714、根据委托标识对各第三时间戳以及各第四时间戳进行串联,得到委托订单对应的下行路径数据。
[0096] S716、根据委托标识对各组件的起始时刻和结束时刻进行时间间隔的计算,得到各组件的时延;
[0097] S718、当交易系统出现故障时,将各组件的时延与预设的时延阈值进行比较,将时延大于时延阈值的组件确定为故障组件。
[0098] S720、对各组件的第一时间戳的数量进行统计,根据统计结果确定各组件的吞吐情况;
[0099] S722、根据各组件的吞吐情况判断各组件的承受压力是否达到瓶颈阈值,并为达到瓶颈阈值的组件增加新组件。
[0100] S724、对报盘服务组件的第二时间戳的数量进行统计,并判断统计结果是否触发交易所对接组件的流速控制条件;
[0101] S726、若触发,则为交易系统增加流速权值。
[0102] 应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0103] 在一个实施例中,如图7所示,提供了一种交易系统时延的处理装置700,包括:委托标识获取模块710、始末时刻获取模块720、始末时刻串联模块730和组件时延统计模块740,其中:
[0104] 委托标识获取模块710,用于当所述交易系统接收到委托订单时,获取所述委托订单的委托标识,所述交易系统包括若干个组件;
[0105] 始末时刻获取模块720,用于获取各所述组件处理所述委托订单的起始时刻和结束时刻;
[0106] 始末时刻串联模块730,用于根据所述委托标识对各所述起始时刻以及各所述结束时刻进行串联,得到所述委托订单对应的消息路径数据;
[0107] 组件时延统计模块740,用于根据所述消息路径数据对各所述组件的时延进行统计,得到所述交易系统的时延。
[0108] 在一个实施例中,该处理装置还包括:
[0109] 时间间隔计算模块,用于根据所述委托标识对各所述组件的起始时刻和结束时刻进行时间间隔的计算,得到各所述组件的时延;
[0110] 故障组件确定模块,用于当所述交易系统出现故障时,将各所述组件的时延与预设的时延阈值进行比较,将时延大于所述时延阈值的组件确定为故障组件。
[0111] 在一个实施例中,始末时刻获取模块720,还用于获取所述委托订单到达各所述组件的第一时间戳;获取所述委托订单离开各所述组件的第二时间戳;
[0112] 始末时刻串联模块730,还用于根据所述委托标识对各所述第一时间戳以及各所述第二时间戳进行串联,得到所述委托订单对应的上行路径数据。
[0113] 在一个实施例中,始末时刻获取模块720,还用于获取所述委托订单的确认信息到达各所述组件的第三时间戳;获取所述确认信息离开各所述组件的第四时间戳;
[0114] 始末时刻串联模块730,还用于根据所述委托标识对各所述第三时间戳以及各所述第四时间戳进行串联,得到所述委托订单对应的下行路径数据。
[0115] 在一个实施例中,该处理装置还包括:
[0116] 吞吐情况确定模块,用于对各所述组件的第一时间戳的数量进行统计,根据统计结果确定各所述组件的吞吐情况;
[0117] 组件增加模块,用于根据各所述组件的吞吐情况判断各所述组件的承受压力是否达到瓶颈阈值,并为达到所述瓶颈阈值的组件增加新组件。
[0118] 在一个实施例中,所述交易系统的组件包括报盘服务组件;该处理装置还包括:
[0119] 流速控制触发模块,用于对所述报盘服务组件的第二时间戳的数量进行统计,并判断统计结果是否触发交易所对接组件的流速控制条件;
[0120] 流速权值增加模块,用于若触发,则为所述交易系统增加流速权值。
[0121] 在一个实施例中,所述交易系统的组件还包括交易网关,所述交易网关与所述报盘服务组件部署在同一服务器上。或者
[0122] 基于高精度时间同步协议,确保所述交易网关与所述报盘服务组件的时间同步。
[0123] 关于交易系统时延的处理装置的具体限定可以参见上文中对于交易系统时延的处理方法的限定,在此不再赘述。上述交易系统时延的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0124] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种交易系统时延的处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0125] 本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0126] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述实施例中的方法步骤。
[0127] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的方法步骤。
[0128] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
[0129] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0130] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。