CN117692519A - 期货请求发送方法、装置、设备和存储介质 - Google Patents
期货请求发送方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN117692519A CN117692519A CN202410127188.XA CN202410127188A CN117692519A CN 117692519 A CN117692519 A CN 117692519A CN 202410127188 A CN202410127188 A CN 202410127188A CN 117692519 A CN117692519 A CN 117692519A
- Authority
- CN
- China
- Prior art keywords
- futures
- request
- seat
- time delay
- link
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 105
- 238000012163 sequencing technique Methods 0.000 claims description 34
- 230000005540 biological transmission Effects 0.000 claims description 24
- 230000001934 delay Effects 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 10
- 230000001133 acceleration Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims 2
- 238000002716 delivery method Methods 0.000 claims 1
- 239000000523 sample Substances 0.000 claims 1
- 238000004806 packaging method and process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000005259 measurement Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种期货请求发送方法、装置、设备和存储介质。该方法在FPGA侧将期货请求向软件柜台模块发送;读取多个席位链路的时延排序信息以及每个席位链路的发送队列长度,据此在多个席位链路中确定期货请求对应的目标链路;使用目标链路,向期货交易所服务器发送期货请求并且接收期货交易所服务器针对期货请求返回的应答消息;将应答消息发送给软件柜台模块,以便软件柜台模块将应答消息发送给客户端,并且根据期货请求携带的请求时间以及应答消息携带的应答时间,更新多个席位链路的时延排序信息。本申请以软件和硬件相结合的发送模式,避免了调用期货交易所的API,硬件即可完成快速封装,避免了额外申请缓存空间,发送速度可以得到大幅度提升。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种期货请求发送方法、装置、设备和存储介质。
背景技术
在传统期货报盘时,需要在期货柜台建立多个席位,使用该多个席位分别与期货交易所建立TCP(Transmission Control Protocol,传输控制协议)连接;用户使用客户端向期货柜台发起用于报单或者用于撤单的期货请求;期货柜台在接收到期货请求之后,调用期货交易所服务器提供的API(Application Programming Interface,应用程序编程接口),将该期货请求封装为期货交易要求的协议格式,并且申请缓存空间,将封装后的期货请求通过其中一个席位对应的TCP连接发送出去;期货交易所针对接收到的期货请求进行业务处理,并通过期货柜台向客户端返回应答消息。
但是,传统期货报盘方案需要调用期货交易所服务器提供的API封装期货请求,使得期货请求的封装速度较慢,而且还需要在期货柜台申请额外的缓存空间来完成发送动作,降低了期货请求的发出速度,进而导致期货请求的整体发送速度缓慢。
发明内容
本申请提供了一种期货请求发送方法、装置、设备和存储介质,以解决传统期货报盘方案的期货请求发送缓慢的问题。
针对上述技术问题,本申请技术方案是通过如下方式来解决的:
本申请实施例提供了一种期货请求发送方法,FPGA执行的步骤,包括:在接收到来自于客户端的期货请求之后,将所述期货请求向软件柜台模块发送;读取多个席位链路的时延排序信息以及每个所述席位链路的发送队列长度,并且,根据多个所述席位链路的时延排序信息以及每个所述席位链路的发送队列长度,在多个所述席位链路中确定所述期货请求对应的目标链路;其中,每个所述席位链路用于连接所述FPGA和期货交易所服务器;使用所述目标链路,向所述期货交易所服务器发送所述期货请求并且接收所述期货交易所服务器针对所述期货请求返回的应答消息;将所述应答消息发送给所述软件柜台模块,以便所述软件柜台模块将所述应答消息发送给所述客户端,并且根据所述期货请求携带的请求时间以及所述应答消息携带的应答时间,更新多个所述席位链路的时延排序信息。
其中,时延排序信息是指:多个所述席位链路的排序结果;其中,在请求时延上,排序位置靠前的席位链路小于排序位置靠后的席位链路;发送队列长度是指:对应席位链路待发送的期货请求的数量;所述根据多个所述席位链路的时延排序信息以及每个所述席位链路的发送队列长度,在多个所述席位链路中确定所述期货请求对应的目标链路,包括:比较多个所述席位链路分别对应的发送队列长度;选择发送队列长度最短的席位链路作为所述期货请求对应的目标链路;其中,如果发送队列长度最短的席位链路为至少两个,则根据多个所述席位链路的时延排序信息,比较发送队列长度最短的席位链路的排序位置;选择排序位置最靠前的席位链路作为所述期货请求对应的目标链路。
其中,在所述接收到来自于客户端的期货请求之前,还包括:在所述FPGA和所述期货交易所服务器之间建立多个席位链路;其中,每个所述席位链路对应一个席位账户;所述使用所述目标链路,向所述期货交易所服务器发送所述期货请求并且接收所述期货交易所服务器针对所述期货请求返回的应答消息,包括:针对所述期货请求进行硬件编码,并将硬件编码后的所述期货请求缓存到所述目标链路对应的发送队列中;调用预设的加速引擎,将所述发送队列中已缓存的期货请求,按照先进先出的顺序,顺次通过所述目标链路向所述期货交易所服务器发送;并且,通过所述目标链路接收所述期货交易所服务器针对每个所述期货请求分别返回的应答消息。
本申请实施例还提供了一种期货请求发送方法,软件柜台模块执行的步骤,包括:接收FPGA先后发送的期货请求以及所述期货请求对应的应答消息;其中,所述应答消息是所述FPGA通过所述期货请求对应的目标链路接收到的所述期货交易所服务器针对所述期货请求返回的消息;根据所述期货请求携带的请求时间和所述应答消息携带的应答时间,确定所述目标链路的当期时延;获取多个席位链路的历史时延;其中,所述目标链路为多个所述席位链路中的一个席位链路;根据所述目标链路的当期时延和多个席位链路的历史时延,在所述FPGA的寄存器中更新多个所述席位链路的时延排序信息,以便所述FPGA根据所述时延排序信息进行期货请求发送。
其中,所述根据所述目标链路的当期时延和多个席位链路的历史时延,在所述FPGA的寄存器中更新多个所述席位链路的时延排序信息,包括:根据所述目标链路对应的历史时延和所述目标链路对应的当期时延,确定所述目标链路对应的请求时延;针对其余席位链路中的每个席位链路,根据所述席位链路对应的历史时延,确定所述席位链路对应的请求时延;按照请求时延从小到大的顺序,对多个所述席位链路进行排序,并且将排序结果作为新的时延排序结果,覆盖所述FPGA的寄存器中原有的时延排序系信息。
其中,所述根据所述目标链路对应的历史时延和所述目标链路对应的当期时延,确定所述目标链路对应的请求时延,包括:利用预设计算方式,对所述目标链路对应的历史时延和所述目标链路对应的当期时延进行运算,得到所述目标链路对应的请求时延;其中,所述计算方式为计算平均值或者最小值;所述根据所述席位链路对应的历史时延,确定所述席位链路对应的请求时延,包括:利用所述计算方式,对所述席位链路对应的历史时延进行运算,得到所述席位链路对应的请求时延。
本申请实施例还提供了一种期货请求发送装置,设置在FPGA,包括:第一收发模块,用于在接收到来自于客户端的期货请求之后,将所述期货请求向软件柜台模块发送;读取和确定模块,用于读取多个席位链路的时延排序信息以及每个所述席位链路的发送队列长度,并且,根据多个所述席位链路的时延排序信息以及每个所述席位链路的发送队列长度,在多个所述席位链路中确定所述期货请求对应的目标链路;其中,每个所述席位链路用于连接所述FPGA和期货交易所服务器;第二收发模块,用于使用所述目标链路,向所述期货交易所服务器发送所述期货请求并且接收所述期货交易所服务器针对所述期货请求返回的应答消息;发送模块,用于将所述应答消息发送给所述软件柜台模块,以便所述软件柜台模块将所述应答消息发送给所述客户端,并且根据所述期货请求携带的请求时间以及所述应答消息携带的应答时间,更新多个所述席位链路的时延排序信息。
本申请实施例还提供了一种期货请求发送装置,设置在软件柜台模块,包括:接收模块,用于接收FPGA先后发送的期货请求以及所述期货请求对应的应答消息;其中,所述应答消息是所述FPGA通过所述期货请求对应的目标链路接收到的所述期货交易所服务器针对所述期货请求返回的消息;确定模块,用于根据所述期货请求携带的请求时间和所述应答消息携带的应答时间,确定所述目标链路的当期时延;获取模块,用于获取多个席位链路的历史时延;其中,所述目标链路为多个所述席位链路中的一个席位链路;更新模块,用于根据所述目标链路的当期时延和多个席位链路的历史时延,在所述FPGA的寄存器中更新多个所述席位链路的时延排序信息,以便所述FPGA根据所述时延排序信息进行期货请求发送。
本申请实施例还提供了一种期货请求发送设备,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中, 所述处理器被配置为:执行所述存储器中存储的期货请求发送程序,以实现上述任一项所述的在FPGA执行的期货请求发送方法或者上述任一项所述的在软件柜台模块执行的期货请求发送方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被执行,以实现上述任一项所述的在FPGA执行的期货请求发送方法或者上述任一项所述的在软件柜台模块执行的期货请求发送方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的方法可以在FPGA侧在接收到来自于客户端的期货请求之后,将所述期货请求向软件柜台模块发送;读取多个席位链路的时延排序信息以及每个所述席位链路的发送队列长度,并且,根据多个所述席位链路的时延排序信息以及每个所述席位链路的发送队列长度,在多个所述席位链路中确定所述期货请求对应的目标链路;其中,每个所述席位链路用于连接所述FPGA和期货交易所服务器;使用所述目标链路,向所述期货交易所服务器发送所述期货请求并且接收所述期货交易所服务器针对所述期货请求返回的应答消息;将所述应答消息发送给所述软件柜台模块,以便所述软件柜台模块将所述应答消息发送给所述客户端,并且根据所述期货请求携带的请求时间以及所述应答消息携带的应答时间,更新多个所述席位链路的时延排序信息。在软件柜台模块接收FPGA先后发送的期货请求以及所述期货请求对应的应答消息;其中,所述应答消息是所述FPGA通过所述期货请求对应的目标链路接收到的所述期货交易所服务器针对所述期货请求返回的消息;根据所述期货请求携带的请求时间和所述应答消息携带的应答时间,确定所述目标链路的当期时延;获取多个席位链路的历史时延;其中,所述目标链路为多个所述席位链路中的一个席位链路;根据所述目标链路的当期时延和多个席位链路的历史时延,在所述FPGA的寄存器中更新多个所述席位链路的时延排序信息,以便所述FPGA根据所述时延排序信息进行期货请求发送。本申请实施例采用软件柜台模块和FPGA硬件相结合的发送模式,避免了调用期货交易所的API,硬件即可完成快速封装,避免了额外申请缓存空间,发送速度可以得到大幅度提升。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为根据本申请一实施例的期货请求发送系统的结构图;
图2为根据本申请一实施例的在FPGA执行的期货请求发送方法的流程图;
图3为根据本申请一实施例的发送队列的示意图;
图4为根据本申请一实施例的在软件柜台模块执行的期货请求发送方法的流程图;
图5为根据本申请一实施例的席位链路在一个时间滑动窗口内的时延的示意图;
图6为根据本申请一实施例的设置在FPGA的期货请求发送装置的结构图;
图7为根据本申请一实施例的设置在软件柜台模块的期货请求发送装置的结构图;
图8为根据本申请一实施例的期货请求发送设备的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下文的公开提供了许多不同的实施例或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
本申请实施例提供了一种期货请求发送系统。如图1所示,为根据本申请一实施例的期货请求发送系统的结构图。
在该期货请求发送系统中,包括:顺序连接的客户端、期货柜台设备和期货交易所服务器。
客户端为最终用户使用的期货交易客户端。
期货柜台设备为期货交易所的代理商所使用的设备,在该设备上可以登录的期货柜台,在期货柜台上进行期货线上交易代理服务。
期货交易所服务器为期货交易所进行线上交易服务使用的设备。
具体而言,在期货柜台设备中,包括但不限于:相互连接的FPGA(FieldProgrammable Gate Array,可编程阵列逻辑)和软件柜台模块。FPGA中包括席位优选单元和加速引擎。软件柜台模块中,包括但不限于:时延测量单元。其中,期货柜台预先设置有多个席位,FPGA可以针对每个席位建立一个席位链路,该席位链路连接FPGA和期货交易所服务器。
客户端监测用户的操作,根据用户的操作生成期货请求,并将期货请求发送给期货柜台中的FPGA。期货请求的类型包括但不限于:报单请求和撤单请求。期货请求中携带请求时间T0。
FPGA接收来自于客户端的期货请求,将接收到的期货请求分别发送给席位优选单元和软件柜台中的时延测量单元。
时延测量单元采集该期货请求的请求时间T0。
席位优选单元在寄存器中读取各个席位链接的时延排序结果以及每个席位链路的发送队列长度,并据此选择一个席位链路作为目标链路。FPGA封装期货请求,并且将该期货请求存放到目标链路的发送队列中等待发送。
加速引擎用将各个发送队列中的期货请求,通过各自对应的席位链路加速发送给期货交易所服务器并且接收期货交易所服务器通过期货请求对应的席位链路返回的应答消息。其中,应答消息为期货请求的业务处理结果。
加速引擎将接收到的应答消息发送给软件柜台模块。应答消息中携带期货交易所服务器的应答时间T1,并且包含期货交易所服务器返回应答消息时所使用的席位链路的信息。期货请求及其对应的应答消息使用同一席位链路。
软件柜台模块将应答消息发送给客户端以及时延测量单元。
时延测量单元采集应答消息的应答时间T1,确定应答消息对应的期货请求以及席位链路,据此可以确定该席位链路的时延时间为应答时间和请求时间的差值(T1-T0),并进行保存。
时延测量单元保存一段时间内各个席位链路的时延时间,根据该段时间内各个席位链路的时延时间,确定各个席位链路各自的请求时延,对请求时延排序之后,将排序结果并写入FPGA的寄存器中,以便FPGA的席位优选模块在选择席位链路时作为参考信息。其中,每个席位链路的请求时延为该段时间内时延时间的平均值或者最小值。各个席位链路的请求时延需要采用相同的计算方式。
本申请实施例的期货请求发送系统为软件柜台模块和FPGA硬件相结合的发送模式,避免了调用期货交易所的API,硬件即可完成快速封装,避免了额外申请缓存空间,发送速度可以得到大幅度提升。
基于上述期货请求发送系统,本申请实施例提供了一种期货请求发送方法。本实施例的执行主体为FPGA。如图2所示,为根据本申请一实施例的在FPGA执行的期货请求发送方法的流程图。
步骤S210,在接收到来自于客户端的期货请求之后,将所述期货请求向软件柜台模块发送。
期货请求的类型,包括但不限于:报单请求和撤单请求。
在所述接收到来自于客户端的期货请求之前,还包括:在所述FPGA和所述期货交易所服务器之间建立多个席位链路;其中,每个所述席位链路对应一个席位账户。
步骤S220,读取多个席位链路的时延排序信息以及每个所述席位链路的发送队列长度,并且,根据多个所述席位链路的时延排序信息以及每个所述席位链路的发送队列长度,在多个所述席位链路中确定所述期货请求对应的目标链路;其中,每个所述席位链路用于连接所述FPGA和期货交易所服务器。
时延排序信息是指:多个所述席位链路的排序结果;其中,在请求时延上,排序位置靠前的席位链路小于排序位置靠后的席位链路。进一步地,时延排序信息可以是多个席位链路按请求时延大小排序后的排序序号。时延排序信息可以由软件柜台模块进行确定并写入FPGA的寄存器中(将在后续进行描述)。
发送队列长度是指:对应席位链路待发送的期货请求的数量。其中,每个席位链路对应一个发送队列,用于存放该席位链路待发送的期货请求。
目标链路,为多个席位链路中发送环境最优的链路。
FPGA的每个席位链路有一个待发送期货请求的消息队列,表示还有多少个期货请求没有发送出去。如图3所示,为16个席位链路的发送队列(待发送消息队列长度)。在选择目标链路时,可以比较多个所述席位链路分别对应的发送队列长度;选择发送队列长度最短的席位链路作为所述期货请求对应的目标链路;其中,如果发送队列长度最短的席位链路为至少两个,则根据多个所述席位链路的时延排序信息,比较发送队列长度最短的席位链路的排序位置;选择排序位置最靠前的席位链路作为所述期货请求对应的目标链路。由于FPGA报单速度太快,大部分情况下,席位链路的发送队列长度都是0或1。
当然,在FPGA的寄存器中,可以为每个席位链路对应设置一块队列缓存,用于缓存该席位链路待发送的期货请求,形成发送队列。
步骤S230,使用所述目标链路,向所述期货交易所服务器发送所述期货请求并且接收所述期货交易所服务器针对所述期货请求返回的应答消息。
具体而言,针对所述期货请求进行硬件编码,并将硬件编码后的所述期货请求缓存到所述目标链路对应的发送队列中;调用预设的加速引擎,将所述发送队列中已缓存的期货请求,按照先进先出的顺序,顺次通过所述目标链路向所述期货交易所服务器发送;并且,通过所述目标链路接收所述期货交易所服务器针对每个所述期货请求分别返回的应答消息。
加速引擎可以是TOE(TCP offload engine,TCP加速引擎),其可以加速期货请求的发送。
FPGA不使用API,而是通过硬件编码,将期货请求封装成FTD(Futures tradingdata exchange protocol,期货交易数据交换协议)协议格式数据,封装完成之后,将期货请求放入目标链路对应的发送队列中,之后在发送队列中按序通过TOE发送出去。
步骤S240,将所述应答消息发送给所述软件柜台模块,以便所述软件柜台模块将所述应答消息发送给所述客户端,并且根据所述期货请求携带的请求时间以及所述应答消息携带的应答时间,在所述寄存器中更新多个所述席位链路的时延排序信息。
在本实施例中,使用FPGA发送期货请求,如果使用期货交易所提供的API发送期货请求,该 API会自动将期货请求封装成FTD协议格式的数据,再通过TCP发送出去,这一软件发送时长大概在几十微妙到毫秒之间,而FPGA则可以将发送时长控制在几个纳秒之内,在大量处理期货请求时,本实施例的发送方式将有效提高发送效率,提高报单申请的实时性。
互联网的网络环境千变万化,链路时好时坏,当某一席位链路对应的链路发生问题时,该席位链路待处理的期货请求将不能立刻发出或者发出后的网络时延较高,进而影响交易员交易。为了应对这种问题,在本实施例中,利用FPGA和软件相结合的方式,对各个席位链路的时延进行策略,使用发送队列短的席位链路,时延短的席位链路发送期货请求,避免了链路问题引发的期货请求无法发送或者时延过长的问题,增加了期货报盘的稳定性和可靠性。
本申请实施例由硬件FPGA报单,报单速度快延时低,由软件做复杂的排序算法,排序准确,本申请实施例充分利用软件和硬件的优点,保证席位优选准确,报单速度快。
下面针对本申请在软件柜台模块执行的期货请求发送方法。如图4所示,为根据本申请一实施例的在软件柜台模块执行的期货请求发送方法的流程图。
步骤S410,接收FPGA先后发送的期货请求以及所述期货请求对应的应答消息;其中,所述应答消息是所述FPGA通过所述期货请求对应的目标链路接收到的所述期货交易所服务器针对所述期货请求返回的消息。
因为期货交易所服务在返回应答消息时,是使用期货请求对应的目标链路发送的,所以,在应答消息中可以包含该目标链路的信息,当然,也可以在FPGA向软件柜台模块发送应答消息时,同时向软件柜台模块发送该应答消息对应的目标链路。
步骤S420,根据所述期货请求携带的请求时间和所述应答消息携带的应答时间,确定所述目标链路的当期时延。
目标链路的当期时延是指,目标链路本次发送期货请求并收到应答消息的时延。
期货请求携带的请求时间可以是客户端生成该期货请求时的时间戳。应答消息携带应答时间可以是期货交易所服务器生成应答消息时的时间戳。
目标链路的当前时延为期货请求携带的请求时间T0和应答消息携带的应答时间T1的差值绝对值(|T1-T0|)。
步骤S430,获取多个席位链路的历史时延;其中,所述目标链路为多个所述席位链路中的一个席位链路。
软件柜台模块按照预设的时间滑动窗口,保存各个席位链路的时延,作为各个席位链路在该时间滑动窗口内的历史时延。其中,时间滑动窗口的时长可以根据经验而定或者通过试验确定。
例如:如图5所示,各个席位链路在一个时间滑动窗口内的期货请求数量和每个期货请求的时延,每个席位链路的期货请求数量可能不同,如席位1(第一个席位链路)发的期货请求的数量为3个,计算出3个时延,席位2(第二个席位链路)发出的期货请求的数量为1个,计算出1个时延。
步骤S440,根据所述目标链路的当期时延和多个席位链路的历史时延,在所述FPGA的寄存器中更新多个所述席位链路的时延排序信息,以便所述FPGA根据所述时延排序信息进行期货请求发送。
根据所述目标链路对应的历史时延和所述目标链路对应的当期时延,确定所述目标链路对应的请求时延;针对其余席位链路中的每个席位链路,根据所述席位链路对应的历史时延,确定所述席位链路对应的请求时延;按照请求时延从小到大的顺序,对多个所述席位链路进行排序,并且将排序结果作为新的时延排序结果,覆盖所述FPGA的寄存器中原有的时延排序信息。
进一步地,利用预设计算方式,对所述目标链路对应的历史时延和所述目标链路对应的当期时延进行运算,得到所述目标链路对应的请求时延;其中,所述计算方式为计算平均值或者最小值;利用所述计算方式,对所述席位链路对应的历史时延进行运算,得到所述席位链路对应的请求时延。
平均值方式:请求时延=(时延1+时延2+...+时延n)/n;
最小值方式:请求时延=Min(时延1,时延2,...,时延n)。
进一步地,时延排序信息可以由软件柜台模块写入FPGA的寄存器中。软件柜台模块可以通过exanic网卡API,将FPGA的寄存器内存映射到虚拟地址,每个席位链路对应指定位置,软件柜台模块通过读写该虚拟地址来读取寄存器的值或者配置寄存器的值。软件柜台模块在按照请求时延的大小,对各个席位链路排序之后,将排序结果写入到虚拟地址中各个席位链路对应的指定位置中,linux操作系统会自动将软件柜台模块写入的值同步到FPGA的寄存器缓冲中,FPGA获取到排序结果之后,就可以根据排序结果,选出最优的席位链路作为目标链路。
例如:在寄存器中,每个席位链路对应一块缓存(如4bit),用于存放该席位链路的排序位置。针对16个席位链路而言,寄存器被时延测量模块写入64bit的排序结果,即:在每个席位链路对应的4bit位置写入该席位链路对应的排序位置(如第1位,即请求时延最小的席位链路)。
在本实施例中,软件柜台模块和FPGA相配合,对各个席位链路按照请求时延大小进行实时性地排序,使得FPGA在选择目标链路时,可以参考各个席位链路的排序结果。由于FPGA发送速度较快,因此,各个席位链路的排序结果对FPGA的参考程度较高。
本申请实施例还提供了一种设置在FPGA的期货请求发送装置。如图6所示,为根据本申请一实施例的设置在FPGA的期货请求发送装置的结构图。
该设置在FPGA的期货发送装置,包括:
第一收发模块610,用于在接收到来自于客户端的期货请求之后,将所述期货请求向软件柜台模块发送。
读取和确定模块620,用于读取多个席位链路的时延排序信息以及每个所述席位链路的发送队列长度,并且,根据多个所述席位链路的时延排序信息以及每个所述席位链路的发送队列长度,在多个所述席位链路中确定所述期货请求对应的目标链路;其中,每个所述席位链路用于连接所述FPGA和期货交易所服务器。
第二收发模块630,用于使用所述目标链路,向所述期货交易所服务器发送所述期货请求并且接收所述期货交易所服务器针对所述期货请求返回的应答消息。
发送模块640,用于将所述应答消息发送给所述软件柜台模块,以便所述软件柜台模块将所述应答消息发送给所述客户端,并且根据所述期货请求携带的请求时间以及所述应答消息携带的应答时间,更新多个所述席位链路的时延排序信息。
本申请实施例所述的装置的功能已经在上述方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
本申请实施例还提供了一种设置在软件柜台模块的期货请求发送装置。如图7所示,为根据本申请一实施例的设置在软件柜台模块的期货请求发送装置的结构图。
该设置在软件柜台模块的期货请求发送装置,包括:
接收模块710,用于接收FPGA先后发送的期货请求以及所述期货请求对应的应答消息;其中,所述应答消息是所述FPGA通过所述期货请求对应的目标链路接收到的所述期货交易所服务器针对所述期货请求返回的消息。
确定模块720,用于根据所述期货请求携带的请求时间和所述应答消息携带的应答时间,确定所述目标链路的当期时延。
获取模块730,用于获取多个席位链路的历史时延;其中,所述目标链路为多个所述席位链路中的一个席位链路。
更新模块740,用于根据所述目标链路的当期时延和多个席位链路的历史时延,在所述FPGA的寄存器中更新多个所述席位链路的时延排序信息,以便所述FPGA根据所述时延排序信息进行期货请求发送。
本申请实施例所述的装置的功能已经在上述方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
本申请实施例还提供了一种期货请求发送设备,如图8所示,为根据本申请一实施例的期货请求发送设备的结构图。
该期货请求发送设备包括:处理器810、通信接口820、存储器830和通信总线840。其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。
存储器830,用于存放计算机程序。
在本申请一个实施例中,处理器810,用于执行存储器830上所存放的程序时,实现前述任意一个方法实施例提供的在FPGA执行的方法,包括:在接收到来自于客户端的期货请求之后,将所述期货请求向软件柜台模块发送;读取多个席位链路的时延排序信息以及每个所述席位链路的发送队列长度,并且,根据多个所述席位链路的时延排序信息以及每个所述席位链路的发送队列长度,在多个所述席位链路中确定所述期货请求对应的目标链路;其中,每个所述席位链路用于连接所述FPGA和期货交易所服务器;使用所述目标链路,向所述期货交易所服务器发送所述期货请求并且接收所述期货交易所服务器针对所述期货请求返回的应答消息;将所述应答消息发送给所述软件柜台模块,以便所述软件柜台模块将所述应答消息发送给所述客户端,并且根据所述期货请求携带的请求时间以及所述应答消息携带的应答时间,更新多个所述席位链路的时延排序信息。
其中,时延排序信息是指:多个所述席位链路的排序结果;其中,在请求时延上,排序位置靠前的席位链路小于排序位置靠后的席位链路;发送队列长度是指:对应席位链路待发送的期货请求的数量;所述根据多个所述席位链路的时延排序信息以及每个所述席位链路的发送队列长度,在多个所述席位链路中确定所述期货请求对应的目标链路,包括:比较多个所述席位链路分别对应的发送队列长度;选择发送队列长度最短的席位链路作为所述期货请求对应的目标链路;其中,如果发送队列长度最短的席位链路为至少两个,则根据多个所述席位链路的时延排序信息,比较发送队列长度最短的席位链路的排序位置;选择排序位置最靠前的席位链路作为所述期货请求对应的目标链路。
其中,在所述接收到来自于客户端的期货请求之前,还包括:在所述FPGA和所述期货交易所服务器之间建立多个席位链路;其中,每个所述席位链路对应一个席位账户;所述使用所述目标链路,向所述期货交易所服务器发送所述期货请求并且接收所述期货交易所服务器针对所述期货请求返回的应答消息,包括:针对所述期货请求进行硬件编码,并将硬件编码后的所述期货请求缓存到所述目标链路对应的发送队列中;调用预设的加速引擎,将所述发送队列中已缓存的期货请求,按照先进先出的顺序,顺次通过所述目标链路向所述期货交易所服务器发送;并且,通过所述目标链路接收所述期货交易所服务器针对每个所述期货请求分别返回的应答消息。
在本申请另一个实施例中,处理器810,用于执行存储器830上所存放的程序时,实现前述任意一个方法实施例提供的在软件柜台模块执行的方法,包括:接收FPGA先后发送的期货请求以及所述期货请求对应的应答消息;其中,所述应答消息是所述FPGA通过所述期货请求对应的目标链路接收到的所述期货交易所服务器针对所述期货请求返回的消息;根据所述期货请求携带的请求时间和所述应答消息携带的应答时间,确定所述目标链路的当期时延;获取多个席位链路的历史时延;其中,所述目标链路为多个所述席位链路中的一个席位链路;根据所述目标链路的当期时延和多个席位链路的历史时延,在所述FPGA的寄存器中更新多个所述席位链路的时延排序信息,以便所述FPGA根据所述时延排序信息进行期货请求发送。
其中,所述根据所述目标链路的当期时延和多个席位链路的历史时延,在所述FPGA的寄存器中更新多个所述席位链路的时延排序信息,包括:根据所述目标链路对应的历史时延和所述目标链路对应的当期时延,确定所述目标链路对应的请求时延;针对其余席位链路中的每个席位链路,根据所述席位链路对应的历史时延,确定所述席位链路对应的请求时延;按照请求时延从小到大的顺序,对多个所述席位链路进行排序,并且将排序结果作为新的时延排序结果,覆盖所述FPGA的寄存器中原有的时延排序系信息。
其中,所述根据所述目标链路对应的历史时延和所述目标链路对应的当期时延,确定所述目标链路对应的请求时延,包括:利用预设计算方式,对所述目标链路对应的历史时延和所述目标链路对应的当期时延进行运算,得到所述目标链路对应的请求时延;其中,所述计算方式为计算平均值或者最小值;所述根据所述席位链路对应的历史时延,确定所述席位链路对应的请求时延,包括:利用所述计算方式,对所述席位链路对应的历史时延进行运算,得到所述席位链路对应的请求时延。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的在FPGA执行的期货请求发送方法的步骤或者在软件柜台模块执行的期货请求发送方法的步骤。由于上面已经对在FPGA执行的期货请求发送方法的步骤或者在软件柜台模块执行的期货请求发送方法的步骤进行了详细描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种期货请求发送方法,其特征在于,现场可编程门阵列FPGA执行的步骤,包括:
在接收到来自于客户端的期货请求之后,将所述期货请求向软件柜台模块发送;
读取多个席位链路的时延排序信息以及每个所述席位链路的发送队列长度,并且,根据多个所述席位链路的时延排序信息以及每个所述席位链路的发送队列长度,在多个所述席位链路中确定所述期货请求对应的目标链路;其中,每个所述席位链路用于连接所述FPGA和期货交易所服务器;
使用所述目标链路,向所述期货交易所服务器发送所述期货请求并且接收所述期货交易所服务器针对所述期货请求返回的应答消息;
将所述应答消息发送给所述软件柜台模块,以便所述软件柜台模块将所述应答消息发送给所述客户端,并且根据所述期货请求携带的请求时间以及所述应答消息携带的应答时间,更新多个所述席位链路的时延排序信息。
2.根据权利要求1所述的方法,其特征在于,
时延排序信息是指:多个所述席位链路的排序结果;其中,在请求时延上,排序位置靠前的席位链路小于排序位置靠后的席位链路;
发送队列长度是指:对应席位链路待发送的期货请求的数量;
所述根据多个所述席位链路的时延排序信息以及每个所述席位链路的发送队列长度,在多个所述席位链路中确定所述期货请求对应的目标链路,包括:
比较多个所述席位链路分别对应的发送队列长度;
选择发送队列长度最短的席位链路作为所述期货请求对应的目标链路;其中,如果发送队列长度最短的席位链路为至少两个,则根据多个所述席位链路的时延排序信息,比较发送队列长度最短的席位链路的排序位置;选择排序位置最靠前的席位链路作为所述期货请求对应的目标链路。
3.根据权利要求1所述的方法,其特征在于,
在所述接收到来自于客户端的期货请求之前,还包括:
在所述FPGA和所述期货交易所服务器之间建立多个席位链路;其中,每个所述席位链路对应一个席位账户;
所述使用所述目标链路,向所述期货交易所服务器发送所述期货请求并且接收所述期货交易所服务器针对所述期货请求返回的应答消息,包括:
针对所述期货请求进行硬件编码,并将硬件编码后的所述期货请求缓存到所述目标链路对应的发送队列中;
调用预设的加速引擎,将所述发送队列中已缓存的期货请求,按照先进先出的顺序,顺次通过所述目标链路向所述期货交易所服务器发送;并且,
通过所述目标链路接收所述期货交易所服务器针对每个所述期货请求分别返回的应答消息。
4.一种期货请求发送方法,其特征在于,软件柜台模块执行的步骤,包括:
接收FPGA先后发送的期货请求以及所述期货请求对应的应答消息;其中,所述应答消息是所述FPGA通过所述期货请求对应的目标链路接收到的所述期货交易所服务器针对所述期货请求返回的消息;
根据所述期货请求携带的请求时间和所述应答消息携带的应答时间,确定所述目标链路的当期时延;
获取多个席位链路的历史时延;其中,所述目标链路为多个所述席位链路中的一个席位链路;
根据所述目标链路的当期时延和多个席位链路的历史时延,在所述FPGA的寄存器中更新多个所述席位链路的时延排序信息,以便所述FPGA根据所述时延排序信息进行期货请求发送。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标链路的当期时延和多个席位链路的历史时延,在所述FPGA的寄存器中更新多个所述席位链路的时延排序信息,包括:
根据所述目标链路对应的历史时延和所述目标链路对应的当期时延,确定所述目标链路对应的请求时延;
针对其余席位链路中的每个席位链路,根据所述席位链路对应的历史时延,确定所述席位链路对应的请求时延;
按照请求时延从小到大的顺序,对多个所述席位链路进行排序,并且将排序结果作为新的时延排序结果,覆盖所述FPGA的寄存器中原有的时延排序系信息。
6.根据权利要求5所述的方法,其特征在于,
所述根据所述目标链路对应的历史时延和所述目标链路对应的当期时延,确定所述目标链路对应的请求时延,包括:
利用预设计算方式,对所述目标链路对应的历史时延和所述目标链路对应的当期时延进行运算,得到所述目标链路对应的请求时延;其中,所述计算方式为计算平均值或者最小值;
所述根据所述席位链路对应的历史时延,确定所述席位链路对应的请求时延,包括:
利用所述计算方式,对所述席位链路对应的历史时延进行运算,得到所述席位链路对应的请求时延。
7.一种期货请求发送装置,其特征在于,设置在FPGA,包括:
第一收发模块,用于在接收到来自于客户端的期货请求之后,将所述期货请求向软件柜台模块发送;
读取和确定模块,用于读取多个席位链路的时延排序信息以及每个所述席位链路的发送队列长度,并且,根据多个所述席位链路的时延排序信息以及每个所述席位链路的发送队列长度,在多个所述席位链路中确定所述期货请求对应的目标链路;其中,每个所述席位链路用于连接所述FPGA和期货交易所服务器;
第二收发模块,用于使用所述目标链路,向所述期货交易所服务器发送所述期货请求并且接收所述期货交易所服务器针对所述期货请求返回的应答消息;
发送模块,用于将所述应答消息发送给所述软件柜台模块,以便所述软件柜台模块将所述应答消息发送给所述客户端,并且根据所述期货请求携带的请求时间以及所述应答消息携带的应答时间,更新多个所述席位链路的时延排序信息。
8.一种期货请求发送装置,其特征在于,设置在软件柜台模块,包括:
接收模块,用于接收FPGA先后发送的期货请求以及所述期货请求对应的应答消息;其中,所述应答消息是所述FPGA通过所述期货请求对应的目标链路接收到的所述期货交易所服务器针对所述期货请求返回的消息;
确定模块,用于根据所述期货请求携带的请求时间和所述应答消息携带的应答时间,确定所述目标链路的当期时延;
获取模块,用于获取多个席位链路的历史时延;其中,所述目标链路为多个所述席位链路中的一个席位链路;
更新模块,用于根据所述目标链路的当期时延和多个席位链路的历史时延,在所述FPGA的寄存器中更新多个所述席位链路的时延排序信息,以便所述FPGA根据所述时延排序信息进行期货请求发送。
9.一种期货请求发送设备,其特征在于,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中, 所述处理器被配置为:执行所述存储器中存储的期货请求发送程序,以实现权利要求1-3中任一项所述的期货请求发送方法或者权利要求4-6中任一项所述的期货请求发送方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被执行,以实现权利要求1-3中任一项所述的期货请求发送方法或者权利要求4-6中任一项所述的期货请求发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410127188.XA CN117692519B (zh) | 2024-01-30 | 2024-01-30 | 期货请求发送方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410127188.XA CN117692519B (zh) | 2024-01-30 | 2024-01-30 | 期货请求发送方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117692519A true CN117692519A (zh) | 2024-03-12 |
CN117692519B CN117692519B (zh) | 2024-04-19 |
Family
ID=90137410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410127188.XA Active CN117692519B (zh) | 2024-01-30 | 2024-01-30 | 期货请求发送方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117692519B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710980A (zh) * | 2004-06-17 | 2005-12-21 | 大唐移动通信设备有限公司 | 适用于移动通信系统的下行分组数据调度方法 |
CN102655463A (zh) * | 2011-03-02 | 2012-09-05 | 中兴通讯股份有限公司 | 基于lmp的网络链路时延测量方法及装置 |
CN104935664A (zh) * | 2015-06-19 | 2015-09-23 | 中国铁道科学研究院电子计算技术研究所 | 席位自动负载均衡方法及系统 |
CN105844522A (zh) * | 2016-03-30 | 2016-08-10 | 东华大学 | 一种程序化期货交易撮合系统 |
CN107392768A (zh) * | 2017-08-03 | 2017-11-24 | 武汉旷腾信息技术有限公司 | 一种基于fpga的期货交易系统及方法 |
CN108198071A (zh) * | 2017-11-30 | 2018-06-22 | 武汉旷腾信息技术有限公司 | 一种期货柜台风险控制方法及系统 |
CN113065957A (zh) * | 2021-02-09 | 2021-07-02 | 上海金融期货信息技术有限公司 | 一种期货交易系统 |
US11178091B1 (en) * | 2020-11-12 | 2021-11-16 | Chicago Mercantile Exchange Inc. | Message ordering buffer |
CN114095124A (zh) * | 2021-11-03 | 2022-02-25 | 中国联合网络通信集团有限公司 | 通信方法、装置及计算机可读存储介质 |
CN114170012A (zh) * | 2021-11-12 | 2022-03-11 | 建信金融科技有限责任公司 | 期货交易方法、装置及系统 |
CN114363288A (zh) * | 2021-12-16 | 2022-04-15 | 北京华耀科技有限公司 | 报文处理方法、装置、链路负载均衡设备和存储介质 |
CN116431551A (zh) * | 2023-04-14 | 2023-07-14 | 国泰君安证券股份有限公司 | 证券行业中实现分布式核心交易系统硬件加速的系统、方法、装置、处理器及其存储介质 |
-
2024
- 2024-01-30 CN CN202410127188.XA patent/CN117692519B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710980A (zh) * | 2004-06-17 | 2005-12-21 | 大唐移动通信设备有限公司 | 适用于移动通信系统的下行分组数据调度方法 |
CN102655463A (zh) * | 2011-03-02 | 2012-09-05 | 中兴通讯股份有限公司 | 基于lmp的网络链路时延测量方法及装置 |
CN104935664A (zh) * | 2015-06-19 | 2015-09-23 | 中国铁道科学研究院电子计算技术研究所 | 席位自动负载均衡方法及系统 |
CN105844522A (zh) * | 2016-03-30 | 2016-08-10 | 东华大学 | 一种程序化期货交易撮合系统 |
CN107392768A (zh) * | 2017-08-03 | 2017-11-24 | 武汉旷腾信息技术有限公司 | 一种基于fpga的期货交易系统及方法 |
CN108198071A (zh) * | 2017-11-30 | 2018-06-22 | 武汉旷腾信息技术有限公司 | 一种期货柜台风险控制方法及系统 |
US11178091B1 (en) * | 2020-11-12 | 2021-11-16 | Chicago Mercantile Exchange Inc. | Message ordering buffer |
CN113065957A (zh) * | 2021-02-09 | 2021-07-02 | 上海金融期货信息技术有限公司 | 一种期货交易系统 |
CN114095124A (zh) * | 2021-11-03 | 2022-02-25 | 中国联合网络通信集团有限公司 | 通信方法、装置及计算机可读存储介质 |
CN114170012A (zh) * | 2021-11-12 | 2022-03-11 | 建信金融科技有限责任公司 | 期货交易方法、装置及系统 |
CN114363288A (zh) * | 2021-12-16 | 2022-04-15 | 北京华耀科技有限公司 | 报文处理方法、装置、链路负载均衡设备和存储介质 |
CN116431551A (zh) * | 2023-04-14 | 2023-07-14 | 国泰君安证券股份有限公司 | 证券行业中实现分布式核心交易系统硬件加速的系统、方法、装置、处理器及其存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117692519B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109076026B (zh) | 用于基于等待时间排队的系统和方法 | |
US20060047849A1 (en) | Apparatus and method for packet coalescing within interconnection network routers | |
JP2013545209A (ja) | 金融市場における注文を管理する方法および装置 | |
CN107025289B (zh) | 一种数据处理的方法及相关设备 | |
CN110401720A (zh) | 信息处理方法、装置、系统、应用服务器和介质 | |
CN109636165B (zh) | 一种去中心化的在线客服排队调度方法 | |
CN114866489A (zh) | 拥塞控制方法和装置及拥塞控制模型的训练方法和装置 | |
CN111371585A (zh) | 用于cdn节点的配置方法及装置 | |
CN114328348A (zh) | 一种fpga加速板卡及其行情数据处理方法 | |
CN117692519B (zh) | 期货请求发送方法、装置、设备和存储介质 | |
US20150120613A1 (en) | Real-time trade forecaster | |
US7676561B1 (en) | Method and apparatus for adaptive load balancing | |
CN116633875B (zh) | 一种多业务耦合并发通信的时间保序调度方法 | |
EP3866031A1 (en) | Webpage loading method, intermediate server, and webpage loading system | |
CN112230880B (zh) | 一种数据传输控制方法、装置、fpga及介质 | |
CN113518013B (zh) | 一种实现心跳机制的处理方法及装置 | |
CN106953933B (zh) | 一种消息推送方法及装置、电子设备 | |
CN113626221A (zh) | 一种消息入队方法及装置 | |
CN116303173B (zh) | 减少rdma引擎片上缓存的方法、装置、系统及芯片 | |
CN111404842B (zh) | 数据传输方法、装置及计算机存储介质 | |
CN110740078A (zh) | 一种服务器的代理监测方法及相关产品 | |
CN110297785A (zh) | 一种基于fpga的金融数据流控装置和流控方法 | |
CN110784337A (zh) | 一种云服务质量监控方法及相关产品 | |
JP2020088517A (ja) | 通信装置、通信装置の制御方法およびプログラム | |
CN114710426A (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 |