一种基于上交所联通圈机制的集群报盘系统的制作方法

文档序号:24558144发布日期:2021-04-06 12:08阅读:659来源:国知局
一种基于上交所联通圈机制的集群报盘系统的制作方法

本发明涉及金融科技领域,尤其是涉及一种基于上交所联通圈机制的集群报盘系统。



背景技术:

上交所的托管机制是和指定交易制度联系在一起。客户在一家券商指定一个席位做交易,交易时仅与一个数据库服务器(sqlserver)连接进行报盘。席位资源是券商的重要通道资源,多个客户使用同一个席位是券商最常用的做法,尤其是大量的散户共享一个席位。但是席位共享带来的最直接的影响是流量的共享。如果客户习惯做高频次的交易,对流量要求比较高,此时流速被限制是非常不利的。因受制于单个数据库服务器的流速控制,即使客户可以单独使用一个数据库服务器,也会受到单个数据库服务器的流速控制。因此扩展流速对高频次交易的客户是非常有意义的。

现有的指定席位模式,如果遇到数据库服务器故障时,必须采用紧急启动备用数据库服务器的模式,报盘服务会有短暂的中断;如果遇到数据库服务器所在的服务器严重故障时,主备切换需要更长的时间。因此对应故障的产生,采用在线故障隔离的方式是必要的。

如果单客户独享一个席位进行报盘,遇到客户交易低峰时,是对资源的浪费。如果多个不同时段出现交易峰值的客户共享数据库服务器进行交易,在数据库服务器资源稀有的当下,是对数据库服务器资源大大的节约。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的高频交易时受到流速限制、多个客户流速分配不均导致资源浪费的缺陷而提供一种基于上交所联通圈机制的集群报盘系统。

本发明的目的可以通过以下技术方案来实现:

一种基于上交所联通圈机制的集群报盘系统,包括高速交易总线和报盘服务模块,所述高速交易总线通过udp组播网络和交易引擎进行通信,接受交易引擎的订单,发送给报盘服务模块,同时向交易引擎发送确认和成交回报数据,所述报盘服务模块包括总线处理子模块、订单路由子模块、业务处理子模块和多个开放数据库互连接口(odbc),报盘服务模块通过总线处理子模块接受订单,通过订单路由子模块,将接受的订单编入订单队列,由业务处理子模块按照轮序报盘算法,通过开放数据库互连接口报送给上交所的数据库服务器。

所述总线处理子模块包括数据解析组件和排队处理组件。

进一步地,所述数据解析组件将总线处理子模块收到的交易数据解析成订单,所述排队处理组件将所述订单按照时间先后顺序编入订单队列,确保订单在时间上的先后顺序。

所述报盘服务模块将指定的交易席位设置于同一联通圈,保证指定的席位上股东账户的上交所报盘可以通过联通圈的任意席位报单。

所述订单路由子模块接收交易引擎发送的订单,根据订单对应的联通圈内的交易单元及其业务类型确定相应的订单处理单元(opu)进行处理。

所述业务处理子模块设置有多个交易处理单元,所述交易处理单元的数量与联通圈内的交易单元的数量相同,业务处理子模块根据交易单元进行逐个分类,将同一个交易单元对应的订单投递给对应的交易处理单元。

进一步地,所述交易处理单元将位于报盘集群席位的客户的订单按照集群轮序的方式报送到不同的数据库中。

进一步地,所述数据库与集中报盘程序(ezoes)的席位是一一对应的,每个集中报盘程序登录使用的席位将作为该数据库交易数据的真实报盘通道。

进一步地,所述交易处理单元设有相应的数据库服务器健康状态列表,联通圈内的任意席位可以报送到不同的数据库,每个交易处理单元采用数据库监测方式来监测所述数据库服务器健康状态列表中的一个数据库服务器,并将监测到的异常数据库服务器从数据库服务器健康状态列表中剔除,剔除后依旧从订单列表头至尾依次报单。

进一步地,所述交易处理单元接收每个开放数据库互连接口传递回来的订单确认数据和成交回报数据,交易处理单元根据订单确认数据和成交回报数据中的订单编号和报盘合同,判断重复申报的订单并过滤,防止交易引擎重复处理订单确认和成交回报,避免资金和证券的错误计算。

所述高速交易总线基于高速万兆网卡,通过高速交换机与交易引擎处于同一个万兆组播网络。

所述轮序报盘算法设有轮序机制与故障标识和隔离机制。

与现有技术相比,本发明具有以下有益效果:

1.本发明通过集群式的报盘服务模块,按照集群轮序的方式进行报送,实现多席位的报盘轮换,有效解决了不同时间流速分配不均导致资源浪费的问题,极大的提高了报盘席位的利用率,并能实现交易单元的扩展,实现了资源有效利用,节约了成本。

2.本发明通过多个交易处理单元对订单队列进行拆分,将单一队列的订单序列按照顺序分别对应到多个数据库服务器进行报送,扩展了报盘流速的最高流速权,有效解决了委托报盘时的订单积压问题,大大的提高了报单速率,满足了瞬间峰值下投资者快进快出的需求。

3.本发明报盘服务模块将指定的交易席位设置于同一联通圈,保证指定的席位上股东账户的上交所报盘可以通过联通圈的任意席位报单,符合上交所的联通圈机制、清算机制、撤单机制和席位平等原则。

4.本发明每个交易处理单元采用心跳监测来监测所述数据库服务器健康状态列表中的一个数据库服务器,并将监测到的异常数据库服务器从数据库服务器健康状态列表中剔除,剔除后依旧从订单列表头至尾依次报单,实现用户系统无感知的故障隔离。

附图说明

图1为本发明的系统架构图;

图2为本发明实施例中轮序报盘的原理示意图;

图3为本发明实施例中轮序报盘的流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

实施例

如图1所示,一种基于上交所联通圈机制的集群报盘系统,包括高速交易总线和报盘服务模块,高速交易总线通过udp组播网络和交易引擎进行通信,接受交易引擎的订单,发送给报盘服务模块,同时向交易引擎发送确认和成交回报数据,报盘服务模块包括总线处理子模块、订单路由子模块、业务处理子模块和多个开放数据库互连接口(odbc),报盘服务模块通过总线处理子模块接受订单,通过订单路由子模块,将接受的订单编入订单队列,由业务处理子模块按照轮序报盘算法,通过开放数据库互连接口报送给上交所的数据库服务器。

总线处理子模块包括数据解析组件和排队处理组件。

数据解析组件将总线处理子模块收到的交易数据解析成订单,排队处理组件将订单按照时间先后顺序编入订单队列,确保订单在时间上的先后顺序。

报盘服务模块将指定的交易席位设置于同一联通圈,保证指定的席位上股东账户的上交所报盘可以通过联通圈的任意席位报单。

订单路由子模块接收交易引擎发送的订单,根据订单对应的联通圈内的交易单元及其业务类型确定相应的订单处理单元(opu)进行处理。

业务处理子模块设置有多个交易处理单元,交易处理单元的数量与联通圈内的交易单元的数量相同,业务处理子模块根据交易单元进行逐个分类,将同一个交易单元对应的订单投递给对应的交易处理单元。

交易处理单元将位于报盘集群席位的客户的订单按照集群轮序的方式报送到不同的数据库中。

数据库与集中报盘程序(ezoes)的席位是一一对应的,每个集中报盘程序登录使用的席位将作为该数据库交易数据的真实报盘通道。

交易处理单元设有相应的数据库服务器健康状态列表,联通圈内的任意席位可以报送到不同的数据库,每个交易处理单元采用数据库监测方式来监测数据库服务器健康状态列表中的一个数据库服务器,并将监测到的异常数据库服务器从数据库服务器健康状态列表中剔除。

订单按照集群轮序的方式送到不同的数据库,客户股东账户的报盘席位号将会对应多个通道席位,收到多个数据库服务器抄送的订单确认数据和成交回报数据。由于上交所是根据每个接口库中rec_num数值来判断重复委托的,因此要防止同一笔订单报到多个库,造成重复申报。交易处理单元接收每个开放数据库互连接口传递回来的订单确认数据和成交回报数据,交易处理单元根据订单确认数据和成交回报数据中的订单编号和报盘合同,判断重复申报的订单并过滤,防止交易引擎重复处理订单确认和成交回报,避免资金和证券的错误计算。

高速交易总线基于高速万兆网卡,通过高速交换机与交易引擎处于同一个万兆组播网络。

轮序报盘算法设有轮序机制与故障标识和隔离机制。

如图2所示,其中x为指定席位,a1、a2和a3为报盘席位,轮序报盘算法基于上交所允许会员给投资者通过与其指定席位处于同一联通圈的席位进行报盘。使得客户股东账户的报盘席位号将会对应多个通道席位,确保可以申报成功,保证了流速分配平均,提高了席位的使用率,避免了资源浪费。

如图3所示,本实施例中,数据库服务器的数量为3个,进行订单轮序报盘时具体包括以下步骤:

步骤s1:系统交易引擎接收各类终端报送的交易订单,分别为订单1、订单2、订单3、订单4和订单5;

步骤s2:交易引擎将订单1、订单2、订单3、订单4和订单5的订单数据依次传输到高速交易总线上;

步骤s3:高速交易总线将订单数据订单1、订单2、订单3、订单4和订单5的订单数据传输给报盘服务模块,报盘服务模块中内置的总线处理子模块进行二进制订单数据解析,分别生成结构数据形式的订单①、结构数据形式的订单②、结构数据形式的订单③、结构数据形式的订单④和结构数据形式的订单⑤,根据所属的交易单元分别放入对应的交易单元的订单序列;

步骤s4:报盘服务模块中内置的业务处理子模块将订单序列中的订单依次按照不同交易单元给到对应的交易处理单元,然后进行轮序报盘,即订单①报送到数据库服务器1,订单②报送到数据库服务器2,订单③报送到数据库服务器3,订单④报送到数据库服务器1,订单⑤报送到数据库服务器2,按照上述顺序依次轮序报盘;

步骤s5:上交所收到订单后,上交所处理完订单后从与报盘相同的数据库服务器反馈其确认和回报信息给数据库服务器,由原报盘路径逆向返回给交易引擎,完成报盘。

步骤s4中,若订单⑤报送到数据库服务器2时,数据库服务器2发生故障,订单⑤将继续向下一个数据库服务器轮序,报送到数据库服务器3上。

此外,需要说明的是,本说明书中所描述的具体实施例子,所取名称可以不同,本说明书中所描述的以上内容仅仅是对本发明结构所做的举例说明。凡依据本发明构思的构造、特征及原理所做的等效变化或者简单变化,均包括于本发明的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实例做各种各样的修改或补充或采用类似的方法,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

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