一种基于Fix协议请求包的协议转换方法及装置与流程

文档序号:15980096发布日期:2018-11-17 00:13阅读:287来源:国知局

本发明涉及通信领域,尤其涉及一种基于fix协议请求包的协议转换方法及装置。

背景技术

目前,每个交易系统的供应商,都有自己的交易系统,而每个交易系统,都有自己的通讯协议,而各家券商出于多方面考虑,不会只使用一个供应商的交易系统,这导致了在券商内部,要接入不同的交易系统,需要使用不同厂商的协议进行开发。

而作为国际金融领域广泛使用的金融信息交换协议(financialinformationexchange,fix协议),各家厂商由于各种历史遗留问题,支持也不够,这使得实际接入的协议和标准混乱,接入针对某一个交易系统开发的客户端要接入其他的交易系统,修改成本巨大,也给券商的运营维护带来额外的成本。



技术实现要素:

本发明提供的一种基于fix协议请求包的协议转换方法,解决了现有实际接入的协议和标准混乱,接入针对某一个交易系统开发的客户端要接入其他的交易系统,修改成本巨大,也给券商的运营维护带来额外的成本。

本发明提供的一种基于fix协议请求包的协议转换方法,包括:

fix协议接入服务器若接收到客户端发送的fix协议请求包,则根据所述fix协议请求包内的功能性请求和非功能性请求进行处理和封装,并将封装后的所述fix协议请求包转发到协议转换服务器,使得所述协议转换服务器根据各交易系统的请求规范转换所述fix协议请求包,并将转换后的所述fix协议请求包发送到各所述交易系统;

所述fix协议接入服务器接收到所述协议转换服务器发送的返回fix协议请求包,所述返回fix协议请求包为所述协议转换服务器将各交易系统根据所述转换后的所述fix协议请求包发送的回包基于各交易系统的请求规范转换得到的;

所述fix协议接入服务器将所述返回fix协议请求包发送到所述客户端。

可选地,所述fix协议接入服务器若接收到客户端发送的fix协议请求包,则根据所述fix协议请求包内的功能性请求和非功能性请求进行处理和封装,并将封装后的所述fix协议请求包转发到协议转换服务器,使得所述协议转换服务器根据各交易系统的请求规范转换所述fix协议请求包,并将转换后的所述fix协议请求包发送到各所述交易系统具体包括:

fix协议接入服务器若接收到客户端发送的fix协议请求包,则根据所述fix协议请求包内的功能性请求进行用户的session状态维护得到用户的session信息,根据所述fix协议请求包内的非功能性请求提取所述fix协议请求包中的字段值,以protobuf协议进行封装,并将封装后的所述fix协议请求包转发到协议转换服务器,使得所述协议转换服务器根据各交易系统的请求规范转换所述fix协议请求包,并将转换后的所述fix协议请求包发送到各所述交易系统。

可选地,所述fix协议接入服务器将所述返回fix协议请求包发送到所述客户端具体包括:

所述fix协议接入服务器根据所述用户的session信息将所述返回fix协议请求包发送到所述客户端。

可选地,所述使得所述协议转换服务器根据各交易系统的请求规范转换所述fix协议请求包具体包括:

使得所述协议转换服务器获取各交易系统的请求规范的各个字段的名称和类型,并从所述fix请求包中,提取对应的值进行各个字段的名称和类型的赋值。

可选地,所述从所述fix请求包中,提取对应的值进行各个字段的名称和类型的赋值之后还包括:

如果所述值对应的类型属于枚举值,则查找fix请求中的枚举值与各交易系统的请求规范相应字段枚举值的对应关系,进行相应的转换并赋值。

本发明提供的一种基于fix协议请求包的协议转换方法,包括:

协议转换服务器若接收到fix协议接入服务器转发的由客户端发送的封装后的fix协议请求包,则根据各交易系统的请求规范转换所述fix协议请求包,并将转换后的所述fix协议请求包发送到各所述交易系统;

所述协议转换服务器接收各交易系统根据所述转换后的所述fix协议请求包发送的回包,并基于各交易系统的请求规范转换得到返回fix协议请求包;

所述协议转换服务器将所述返回fix协议请求包转发到所述fix协议接入服务器,使得所述fix协议接入服务器将所述返回fix协议请求包发送到所述客户端。

可选地,所述根据各交易系统的请求规范转换所述fix协议请求包具体包括:

获取各交易系统的请求规范的各个字段的名称和类型,并从所述fix请求包中,提取对应的值进行各个字段的名称和类型的赋值。

可选地,所述从所述fix请求包中,提取对应的值进行各个字段的名称和类型的赋值之后还包括:

如果所述值对应的类型属于枚举值,则查找fix请求中的枚举值与各交易系统的请求规范相应字段枚举值的对应关系,进行相应的转换并赋值。

本发明提供的一种基于fix协议请求包的协议转换装置,设置在fix协议接入服务器上,包括:

第一转发模块,用于若接收到客户端发送的fix协议请求包,则根据所述fix协议请求包内的功能性请求和非功能性请求进行处理和封装,并将封装后的所述fix协议请求包转发到协议转换服务器,使得所述协议转换服务器根据各交易系统的请求规范转换所述fix协议请求包,并将转换后的所述fix协议请求包发送到各所述交易系统;

第一接受模块,用于接收到所述协议转换服务器发送的返回fix协议请求包,所述返回fix协议请求包为所述协议转换服务器将各交易系统根据所述转换后的所述fix协议请求包发送的回包基于各交易系统的请求规范转换得到的;

第一发送模块,用于将所述返回fix协议请求包发送到所述客户端。

本发明提供的一种基于fix协议请求包的协议转换装置,设置在协议转换服务器上,包括:

第一转换模块,用于若接收到fix协议接入服务器转发的由客户端发送的封装后的fix协议请求包,则根据各交易系统的请求规范转换所述fix协议请求包,并将转换后的所述fix协议请求包发送到各所述交易系统;

第二转换模块,用于接收各交易系统根据所述转换后的所述fix协议请求包发送的回包,并基于各交易系统的请求规范转换得到返回fix协议请求包;

第二转发模块,用于将所述返回fix协议请求包转发到所述fix协议接入服务器,使得所述fix协议接入服务器将所述返回fix协议请求包发送到所述客户端。

从以上技术方案可以看出,本发明具有以下优点:

本发明提供的一种基于fix协议请求包的协议转换方法,包括:fix协议接入服务器若接收到客户端发送的fix协议请求包,则根据所述fix协议请求包内的功能性请求和非功能性请求进行处理和封装,并将封装后的所述fix协议请求包转发到协议转换服务器,使得所述协议转换服务器根据各交易系统的请求规范转换所述fix协议请求包,并将转换后的所述fix协议请求包发送到各所述交易系统;所述fix协议接入服务器接收到所述协议转换服务器发送的返回fix协议请求包,所述返回fix协议请求包为所述协议转换服务器将各交易系统根据所述转换后的所述fix协议请求包发送的回包基于各交易系统的请求规范转换得到的;所述fix协议接入服务器将所述返回fix协议请求包发送到所述客户端,使用fix协议作为统一接入协议,并针对不同的交易系统的不同协议进行适配,这样客户只需要使用fix协议的协议框架,就可以对接不同的交易系统,解决了现有实际接入的协议和标准混乱,接入针对某一个交易系统开发的客户端要接入其他的交易系统,修改成本巨大,也给券商的运营维护带来额外的成本的技术问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的一种基于fix协议请求包的协议转换方法的一个实施例的架构图;

图2为本发明实施例提供的一种基于fix协议请求包的协议转换方法的一个实施例的流程示意图;

图3为本发明实施例提供的一种基于fix协议请求包的协议转换方法的另一个实施例的流程示意图;

图4为本发明实施例提供的一种基于fix协议请求包的协议转换装置的一个实施例的结构示意图。

图5为本发明实施例提供的一种基于fix协议请求包的协议转换装置的一个实施例的结构示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1为本发明实施例提供的一种基于fix协议请求包的协议转换方法的一个实施例的架构图,如图1所示,其中accessserver为fix协议接入服务器,transformserver为协议转换服务器,database为协议转换规则数据库,client为客户端;

请参照图2,本发明实施例提供的一种基于fix协议请求包的协议转换方法可以包括:

步骤s100:fix协议接入服务器若接收到客户端发送的fix协议请求包,则根据fix协议请求包内的功能性请求和非功能性请求进行处理和封装,并将封装后的fix协议请求包转发到协议转换服务器,使得协议转换服务器根据各交易系统的请求规范转换fix协议请求包,并将转换后的fix协议请求包发送到各交易系统;

本发明实施例中,当进行基于fix协议请求包的协议转换时,需要若fix协议接入服务器接收到客户端发送的fix协议请求包,则根据fix协议请求包内的功能性请求和非功能性请求进行处理和封装,并将封装后的fix协议请求包转发到协议转换服务器,使得协议转换服务器根据各交易系统的请求规范转换fix协议请求包,并将转换后的fix协议请求包发送到各交易系统;

可选地,fix协议接入服务器若接收到客户端发送的fix协议请求包,则根据fix协议请求包内的功能性请求进行用户的session状态维护得到用户的session信息,根据fix协议请求包内的非功能性请求提取fix协议请求包中的字段值,以protobuf协议进行封装,并将封装后的fix协议请求包转发到协议转换服务器,使得协议转换服务器根据各交易系统的请求规范转换fix协议请求包,并将转换后的fix协议请求包发送到各交易系统;

需要说明的是,accessserver(fix协议接入服务器),用于接入客户端发送的fix协议请求,并集中维护用户session,将用户请求接入、session管理和后续的转换逻辑进行隔离;

需要说明的是,fix:financialinformationexchange(fix)金融信息交换协议,由国际fix协会组织提供的一个开放式协议,目的是推动国际贸易电子化的进程,在各类参与者之间,包括投资经理、经纪人,买方、卖方建立起实时的电子化通讯协议。

用户的fix请求到达accessserver,由accessserver对fix请求进行基本的解析,并处理fix的功能性请求,验证登陆,维护用户的session状态等。对于fix的非功能性请求,提取必要的字段值,并以系统的内部protobuf协议进行封装,转发给transformserver(协议转换服务器);

步骤s101、fix协议接入服务器接收到协议转换服务器发送的返回fix协议请求包,返回fix协议请求包为协议转换服务器将各交易系统根据转换后的fix协议请求包发送的回包基于各交易系统的请求规范转换得到的;

若fix协议接入服务器若接收到客户端发送的fix协议请求包,则根据fix协议请求包内的功能性请求和非功能性请求进行处理和封装,并将封装后的fix协议请求包转发到协议转换服务器,使得协议转换服务器根据各交易系统的请求规范转换fix协议请求包,并将转换后的fix协议请求包发送到各交易系统之后,需要fix协议接入服务器接收到协议转换服务器发送的返回fix协议请求包,返回fix协议请求包为协议转换服务器将各交易系统根据转换后的fix协议请求包发送的回包基于各交易系统的请求规范转换得到的;

可选地,使得协议转换服务器根据各交易系统的请求规范转换fix协议请求包具体包括:

使得协议转换服务器获取各交易系统的请求规范的各个字段的名称和类型,并从fix请求包中,提取对应的值进行各个字段的名称和类型的赋值。

需要说明的是,transformserver收到请求后,解析包体相应的字段,确定需要转移的目标协议;

可选地,从fix请求包中,提取对应的值进行各个字段的名称和类型的赋值之后还包括:

如果值对应的类型属于枚举值,则查找fix请求中的枚举值与各交易系统的请求规范相应字段枚举值的对应关系,进行相应的转换并赋值。

需要说明的是,根据fix的请求包类型和目标协议,确定需要转换成目标协议的哪一个请求;获取目标协议请求的各个字段,包括字段的名称,类型等,然后从原始fix请求包中,提取对应的值进行赋值;如果值类型属于枚举值,则查找fix请求中的枚举值与目标协议相应字段枚举值的对应关系,进行相应的转换并赋值。所有这些转换规则,都依据database数据库(协议转换规则数据库)里面数据表里面的规则数据;

其中,database数据库(协议转换规则数据库),用于存储fix协议与各个tradesystem(交易系统)的协议之间的转换规则,包括各个字段的名称、数据类型,字段的枚举值对应关系,每个完整消息所需的必选项、可选项等。

步骤s102:fix协议接入服务器将返回fix协议请求包发送到客户端;

在fix协议接入服务器接收到协议转换服务器发送的返回fix协议请求包,返回fix协议请求包为协议转换服务器将各交易系统根据转换后的fix协议请求包发送的回包基于各交易系统的请求规范转换得到的之后,需要fix协议接入服务器将返回fix协议请求包发送到客户端

可选地,fix协议接入服务器根据用户的session信息将返回fix协议请求包发送到客户端;

本发明提供的一种基于fix协议请求包的协议转换方法,包括:fix协议接入服务器若接收到客户端发送的fix协议请求包,则根据fix协议请求包内的功能性请求和非功能性请求进行处理和封装,并将封装后的fix协议请求包转发到协议转换服务器,使得协议转换服务器根据各交易系统的请求规范转换fix协议请求包,并将转换后的fix协议请求包发送到各交易系统;fix协议接入服务器接收到协议转换服务器发送的返回fix协议请求包,返回fix协议请求包为协议转换服务器将各交易系统根据转换后的fix协议请求包发送的回包基于各交易系统的请求规范转换得到的;fix协议接入服务器将返回fix协议请求包发送到客户端,使用fix协议作为统一接入协议,并针对不同的交易系统的不同协议进行适配,这样客户只需要使用fix协议的协议框架,就可以对接不同的交易系统,解决了现有实际接入的协议和标准混乱,接入针对某一个交易系统开发的客户端要接入其他的交易系统,修改成本巨大,也给券商的运营维护带来额外的成本的技术问题。

上面是对一种基于fix协议请求包的协议转换方法的一个实施例进行的详细描述,下面将对一种基于fix协议请求包的协议转换方法的另一个实施例进行详细的描述。

请参阅图3,本发明提供的一种基于fix协议请求包的协议转换方法的另一个实施例,包括:

步骤s200:协议转换服务器若接收到fix协议接入服务器转发的封装后的由客户端发送的封装后的fix协议请求包,则根据各交易系统的请求规范转换fix协议请求包,并将转换后的fix协议请求包发送到各交易系统;

本发明实施例中,当进行基于fix协议请求包的协议转换时,需要若协议转换服务器接收到fix协议接入服务器转发的由客户端发送的fix协议请求包,则根据各交易系统的请求规范转换fix协议请求包,并将转换后的fix协议请求包发送到各交易系统;

需要说明的是,accessserver(fix协议接入服务器),用于接入客户端发送的fix协议请求,并集中维护用户session,将用户请求接入、session管理和后续的转换逻辑进行隔离;

需要说明的是,fix:financialinformationexchange(fix)金融信息交换协议,由国际fix协会组织提供的一个开放式协议,目的是推动国际贸易电子化的进程,在各类参与者之间,包括投资经理、经纪人,买方、卖方建立起实时的电子化通讯协议。

用户的fix请求到达accessserver,由accessserver对fix请求进行基本的解析,并处理fix的功能性请求,验证登陆,维护用户的session状态等。对于fix的非功能性请求,提取必要的字段值,并以系统的内部protobuf协议进行封装,转发给transformserver(协议转换服务器);

步骤s201、协议转换服务器接收各交易系统根据转换后的fix协议请求包发送的回包,并基于各交易系统的请求规范转换得到返回fix协议请求包;

协议转换服务器若接收到fix协议接入服务器转发的由客户端发送的fix协议请求包,则根据各交易系统的请求规范转换fix协议请求包,并将转换后的fix协议请求包发送到各交易系统之后,需要协议转换服务器接收各交易系统根据转换后的fix协议请求包发送的回包,并基于各交易系统的请求规范转换得到返回fix协议请求包;

可选地,根据各交易系统的请求规范转换fix协议请求包具体包括:

获取各交易系统的请求规范的各个字段的名称和类型,并从fix请求包中,提取对应的值进行各个字段的名称和类型的赋值。

需要说明的是,transformserver收到请求后,解析包体相应的字段,确定需要转移的目标协议;

可选地,从fix请求包中,提取对应的值进行各个字段的名称和类型的赋值之后还包括:

如果值对应的类型属于枚举值,则查找fix请求中的枚举值与各交易系统的请求规范相应字段枚举值的对应关系,进行相应的转换并赋值。

需要说明的是,根据fix的请求包类型和目标协议,确定需要转换成目标协议的哪一个请求;获取目标协议请求的各个字段,包括字段的名称,类型等,然后从原始fix请求包中,提取对应的值进行赋值;如果值类型属于枚举值,则查找fix请求中的枚举值与目标协议相应字段枚举值的对应关系,进行相应的转换并赋值。所有这些转换规则,都依据database数据库(协议转换规则数据库)里面数据表里面的规则数据;

其中,database数据库(协议转换规则数据库),用于存储fix协议与各个tradesystem(交易系统)的协议之间的转换规则,包括各个字段的名称、数据类型,字段的枚举值对应关系,每个完整消息所需的必选项、可选项等。

步骤s202:协议转换服务器将返回fix协议请求包转发到fix协议接入服务器,使得fix协议接入服务器根据用户的session信息将返回fix协议请求包发送到客户端;

在协议转换服务器接收各交易系统根据转换后的fix协议请求包发送的回包,并基于各交易系统的请求规范转换得到返回fix协议请求包之后,需要协议转换服务器将返回fix协议请求包转发到fix协议接入服务器,使得fix协议接入服务器根据用户的session信息将返回fix协议请求包发送到客户端;

本发明提供的一种基于fix协议请求包的协议转换方法,使用fix协议作为统一接入协议,并针对不同的交易系统的不同协议进行适配,这样客户只需要使用fix协议的协议框架,就可以对接不同的交易系统,解决了现有实际接入的协议和标准混乱,接入针对某一个交易系统开发的客户端要接入其他的交易系统,修改成本巨大,也给券商的运营维护带来额外的成本的技术问题。

请参阅图4,图4示出了本发明实施例提供的一种基于fix协议请求包的协议转换装置的结构示意图,包括:

第一转发模块401,用于若接收到客户端发送的fix协议请求包,则根据fix协议请求包内的功能性请求和非功能性请求进行处理和封装,并将封装后的fix协议请求包转发到协议转换服务器,使得协议转换服务器根据各交易系统的请求规范转换fix协议请求包,并将转换后的fix协议请求包发送到各交易系统;

第一接受模块402,用于接收到协议转换服务器发送的返回fix协议请求包,返回fix协议请求包为协议转换服务器将各交易系统根据转换后的fix协议请求包发送的回包基于各交易系统的请求规范转换得到的;

第一发送模块403,用于将返回fix协议请求包发送到客户端。

可选地,第一转发模块401具体用于,若接收到客户端发送的fix协议请求包,则根据fix协议请求包内的功能性请求进行用户的session状态维护得到用户的session信息,根据fix协议请求包内的非功能性请求提取fix协议请求包中的字段值,以protobuf协议进行封装,并将封装后的fix协议请求包转发到协议转换服务器,使得协议转换服务器根据各交易系统的请求规范转换fix协议请求包,并将转换后的fix协议请求包发送到各交易系统;

可选地,第一转发模块401具体用于,若接收到客户端发送的fix协议请求包,则根据fix协议请求包内的功能性请求进行用户的session状态维护得到用户的session信息,根据fix协议请求包内的非功能性请求提取fix协议请求包中的字段值,以protobuf协议进行封装,并将封装后的fix协议请求包转发到协议转换服务器,使得协议转换服务器获取各交易系统的请求规范的各个字段的名称和类型,并从fix请求包中,提取对应的值进行各个字段的名称和类型的赋值,如果值对应的类型属于枚举值,则查找fix请求中的枚举值与各交易系统的请求规范相应字段枚举值的对应关系,进行相应的转换并赋值,并将转换后的fix协议请求包发送到各交易系统。

请参阅图5,图5示出了本发明实施例提供的一种基于fix协议请求包的协议转换装置的结构示意图,包括:

第一转换模块501,用于若接收到fix协议接入服务器转发的由客户端发送的封装后的fix协议请求包,则根据各交易系统的请求规范转换fix协议请求包,并将转换后的fix协议请求包发送到各交易系统;

第二转换模块502,用于接收各交易系统根据转换后的fix协议请求包发送的回包,并基于各交易系统的请求规范转换得到返回fix协议请求包;

第二转发模块503,用于将返回fix协议请求包转发到fix协议接入服务器,使得fix协议接入服务器将返回fix协议请求包发送到客户端。

可选地,第一转换模块501具体用于,若接收到fix协议接入服务器转发的由客户端发送的封装后的fix协议请求包,则获取各交易系统的请求规范的各个字段的名称和类型,并从fix请求包中,提取对应的值进行各个字段的名称和类型的赋值,如果值对应的类型属于枚举值,则查找fix请求中的枚举值与各交易系统的请求规范相应字段枚举值的对应关系,进行相应的转换并赋值,并将转换后的fix协议请求包发送到各交易系统;

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1