一种数据传输系统及方法
技术领域
本申请涉及数据传输技术领域,尤其涉及一种数据传输系统及方法。
背景技术
行情系统是位于交易所与客户之间的一种行情数据转发系统,为客户提供统一的行情数据格式和传输方式,目前使用服务器FPGA转发的行情数据转发系统的部署结构一般为在交易所行情前置机和客户端之间依次设置:交易所10G交换机、期货FPGA行情柜台及行情分发交换机。
传输行情数据时,由于交易所行情前置机经过交易所10G交换机与期货FPGA行情柜台连接,传输行情数据时存在传输路径延时,还存在交易所10G交换机和期货FPGA行情柜台中解码与再封装的延时,另外,期货FPGA行情柜台经过行情分发交换机与客户端连接,中间也存在传输路径延时,以及行情分发交换机中解码与再封装的延时,另外客户端一般采用网卡客户端,存在接收数据时的收包延时及内核协议栈的协议处理延时。
显然,目前这种行情数据转发系统存在较多延时,而延时大往往意味着损失交易和赢利的机会,因此如何减少对行情数据处理的延时尤为重要。
发明内容
本申请实施例的目的在于提供一种数据传输系统及方法,以解决目前行情数据转发系统存在较多延时的问题。具体技术方案如下:
第一方面,提供了一种数据传输系统,所述系统包括:前置机、一层交换机及客户端;
所述前置机,用于将待传输数据发送至所述一层交换机;
所述一层交换机的输入端与所述前置机的输出端连接,所述一层交换机用于接收并处理所述待传输数据得到目标数据,将所述目标数据发送至所述客户端;
所述客户端的输入端与所述一层交换机的输出端连接,所述客户端用于接收并显示所述目标数据。
可选的,所述一层交换机用于:
按照预设过滤规则过滤所述待传输数据,得到第一数据。
可选的,若所述第一数据有多个,所述一层交换机还用于:
在多个所述第一数据中,选择传输速度最快的第一数据作为第二数据。
可选的,所述一层交换机还用于:
按照预设算法计算所述第二数据,得到第三数据。
可选的,所述一层交换机还用于:
按照预设存储规则存储所述第三数据。
可选的,所述一层交换机还用于:
将所述第三数据由千兆数据转为万兆数据,得到所述目标数据。
可选的,所述一层交换机包括:FPGA板卡,所述FPGA板卡的输入端与所述前置机的输出端连接,所述FPGA板卡的输出端与所述客户端的输入端连接。
可选的,所述FPGA板卡使用Serders裸协议发送所述待传输数据。
可选的,所述客户端包括:FPGA客户端,所述FPGA客户端使用所述Serders裸协议接收所述目标数据。
第二方面,提供了一种数据传输方法,所述方法包括:
接收前置机发送的待传输数据;
按照预设处理规则对所述待传输数据进行处理,得到目标数据;
将所述目标数据发送至客户端,以使所述客户端显示所述目标数据。
本申请实施例有益效果:
本申请实施例提供了一种数据传输系统及方法,本申请包括:前置机、一层交换机及客户端;所述前置机,用于将待传输数据发送至所述一层交换机;所述一层交换机的输入端与所述前置机的输出端连接,所述一层交换机用于接收并处理所述待传输数据得到目标数据,将所述目标数据发送至所述客户端;所述客户端的输入端与所述一层交换机的输出端连接,所述客户端用于接收并显示所述目标数据。
通过本申请,交易所行情前置机只需通过一个一层交换机与客户端连接即可,相对于通过交易所10G交换机、期货FPGA行情柜台及行情分发交换机与客户端连接,可以减少链路长度,进而减少传输路径延时,另外可以减少交易所10G交换机、期货FPGA行情柜台以及行情分发交换机中解码与再封装的延时,提高数据的传输效率。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据传输系统的结构示意图;
图2为本申请实施例提供的一种数据传输方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于目前使用服务器FPGA转发的行情数据转发系统的部署结构一般为在交易所行情前置机和客户端之间依次设置:交易所10G交换机、期货FPGA行情柜台及行情分发交换机。传输行情数据时,由于交易所行情前置机经过交易所10G交换机与期货FPGA行情柜台连接,传输行情数据时存在传输路径延时,还存在交易所10G交换机和期货FPGA行情柜台中解码与再封装的延时,另外,期货FPGA行情柜台经过行情分发交换机与客户端连接,中间也存在传输路径延时,以及行情分发交换机中解码与再封装的延时,另外客户端一般采用网卡客户端,存在接收数据时的收包延时及内核协议栈的协议处理延时。为此,本申请实施例提供了一种数据传输系统。
下面将结合具体实施方式,对本申请实施例提供的一种数据传输系统进行详细的说明,如图1所示,所述数据传输系统包括:前置机、一层交换机及客户端;
所述前置机1,用于将待传输数据发送至所述一层交换机2;
所述一层交换机2的输入端与所述前置机的输出端连接,所述一层交换机2用于接收并处理所述待传输数据得到目标数据,将所述目标数据发送至所述客户端3;
所述客户端3的输入端与所述一层交换机2的输出端连接,所述客户端3用于接收并显示所述目标数据。
在本申请实施例中,一层交换机2的输入端与前置机1的输出端连接,客户端1的输入端与一层交换机2的输出端连接。前置机1将待传输数据发送至一层交换机2,一层交换机2接收并处理该待传输数据得到目标数据,并将该目标数据发送至客户端3,客户端3接收并显示该目标数据。示例性的,前置机1可以是交易所行情前置机,待传输数据可以是交易所产生的行情信息数据。
由于待传输数据中可能存在一些客户端3不需要的数据,因此,在本发明的又一实施例中,所述一层交换机2用于:按照预设过滤规则过滤所述待传输数据,得到第一数据。
在本申请实施例中,第一数据可以是行情数据,一层交换机2可以按照预设过滤规则过滤待传输数据,得到第一数据。示例性的,一般行情信息数据中包括行情数据和非行情数据,客户端3只需要行情数据,所以一层交换机2可以根据端口号过滤掉行情信息数据中的非行情数据,只留下行情数据。
由于前置机1在发送待传输数据时,为了保证数据完整性,可能同时发送多路相同的数据,为此,在本发明的又一实施例中,若所述第一数据有多个,所述一层交换机2还用于:在多个所述第一数据中,选择传输速度最快的第一数据作为第二数据。
在本申请实施例中,前置机1发送的待传输数据是多路相同的数据时,一层交换机2可以按照预设过滤规则分别过滤多路数据,得到多个第一数据,多个第一数据除了传输速度不同其他相同,此时,一层交换机2可以选择传输速度快的第一数据为第二数据。
在本发明的又一实施例中,所述一层交换机2还用于:按照预设算法计算所述第二数据,得到第三数据。示例性的,当第二数据为行情数据时,一层交换机2可以分析股票信息及计算相关指数等。
在本发明的又一实施例中,所述一层交换机2还用于:按照预设存储规则存储所述第三数据。示例性的,当第三数据为行情数据时,可以以期货快照形式或期权快照形式存储。
在本发明的又一实施例中,一层交换机2可以利用预设算法根据第二数据和历史存储的第三数据进行计算,得到第三数据。示例性的,当第二数据和第三数据为行情数据时,根据第二数据和历史存储的第三数据可以计算行情变化数据。
在本发明的又一实施例中,所述一层交换机2还用于:将所述第三数据由千兆数据转为万兆数据,得到所述目标数据。
在本申请实施例中,一层交换机2可以有多个输入接口4和输出接口6,多个输入接口5与前置机1连接,可以接收千兆数据,多个输出接口4与多个客户端3连接,可以向客户端3发送万兆数据,即,本申请实施例中,一层交换机2可以将待传输数据经过千兆解码后再封装成万兆数据,并且同时连接多个客户端3。
示例性的,当前置机1为交易所行情前置机,交易所行情前置机发布的待传输数据为千兆数据,一层交换机2可以通过输入接口接收该待传输数据,经过一系列处理后,一层交换机2可以通过输出接口输出万兆数据。
在本发明的又一实施例中,所述一层交换机2包括:FPGA板卡4,所述FPGA板卡4的输入端与所述前置机1的输出端连接,所述FPGA板卡4的输出端与所述客户端3的输入端连接。
在本发明的又一实施例中,所述客户端3包括:网卡客户端,一层交换机2向网卡客户端传输数据时,可以使用传统的UDP或者TCP等网络传输协议。
在本发明的又一实施例中,所述客户端3包括:FPGA客户端,一层交换机2向FPGA客户端传输数据时,可以使用所述Serders裸协议,也就是,所述FPGA板卡使用Serders裸协议发送所述待传输数据,所述FPGA客户端使用所述Serders裸协议接收所述目标数据。
本申请实施例提供了一种数据传输系统,本申请包括:前置机、一层交换机及客户端;所述前置机,用于将待传输数据发送至所述一层交换机;所述一层交换机的输入端与所述前置机的输出端连接,所述一层交换机用于接收并处理所述待传输数据得到目标数据,将所述目标数据发送至所述客户端;所述客户端的输入端与所述一层交换机的输出端连接,所述客户端用于接收并显示所述目标数据。
通过本申请,交易所行情前置机只需通过一个一层交换机与客户端连接即可,相对于通过交易所10G交换机、期货FPGA行情柜台及行情分发交换机与客户端连接,可以减少链路长度,进而减少传输路径延时,另外可以减少交易所10G交换机、期货FPGA行情柜台以及行情分发交换机中解码与再封装的延时,提高数据的传输效率。
基于相同的技术构思,本申请实施例还提供了一种数据传输方法,如图2所示,该方法包括:
S201,接收前置机发送的待传输数据;
S202,按照预设处理规则对所述待传输数据进行处理,得到目标数据;
S203,将所述目标数据发送至客户端,以使所述客户端显示所述目标数据。
在本申请实施例中,一层交换机可以接收前置机发送的待传输数据,按照预设处理规则对该待传输数据进行处理,处理过程可以是过滤、选优、计算及存储等,从而得到目标数据,将目标数据发送至客户端,以使客户端显示该目标数据。
本申请实施例中,交易所行情前置机只需通过一个一层交换机与客户端连接即可,相对于通过交易所10G交换机、期货FPGA行情柜台及行情分发交换机与客户端连接,可以减少链路长度,进而减少传输路径延时,另外可以减少交易所10G交换机、期货FPGA行情柜台以及行情分发交换机中解码与再封装的延时,提高数据的传输效率。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。