[发明专利]一种保证多主机行情切片一致的系统及方法在审
申请号: | 202111291635.8 | 申请日: | 2021-11-03 |
公开(公告)号: | CN114124668A | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 张彧;张清;朱贤;高昀;朱正华 | 申请(专利权)人: | 上证所信息网络有限公司 |
主分类号: | H04L41/0663 | 分类号: | H04L41/0663;H04L43/10;H04L43/103;H04L67/1008;H04L67/1042;H04L69/16;G06Q40/04 |
代理公司: | 上海三方专利事务所(普通合伙) 31127 | 代理人: | 吴玮 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保证 主机 行情 切片 一致 系统 方法 | ||
1.一种保证多主机行情切片一致的系统,其特征在于所述系统由若干台负责生成行情切片的服务器组成,其中一台服务器作为主用服务器,其余为备用服务器,各备用服务器与主用服务器进行UDP和TCP协议通讯,主用服务器负责生成维护行情切片标记,备用服务器向主用服务器请求同步行情切片标记到各自的共享内存中,若备用服务器在一定间隔内收不到数据及心跳,则启动行情切片控制引擎各自生成行情切片标记存储至共享内存中;所述的各服务器内由上至下均包括初始化、数据接收转发、行情切片控制、行情切片生成模块,系统初始化后,数据接收转发模块将收到的交易数据流进行排序处理,并按序存入共享内存,由于各主机接收相同的交易数据流且每条数据在对应的产品集(set)中都有唯一的序号标识,因此排序后存入共享内存的交易数据是完全一致的,行情切片控制模块实时轮询共享内存中的交易数据并根据规则生成各代码的行情切片标记,备用服务器通过TCP同步主用服务器的标记,依次存入共享内存,备用服务器的行情生成模块实时获取行情切片标记中的信息,以标记位置为截止位置实时计算共享内存中的交易数据,并根据各股票代码的行情切片类型切片后存入下发队列,行情发布平台则依次取主用服务器下发队列的数据包发送给订阅的用户。
2.如权利要求1所述的一种保证多主机行情切片一致的系统,其特征在于行情发布平台包括行情发布系统,行情发布系统仅订阅一台行情服务器的行情下发,正常情况下,行情发布系统仅订阅主用服务器的行情并下发,当超过设定时间无法收到行情时,行情发布系统认为通信异常或主用服务器发生异常,并按序切换至配置好的其中一台备服务器订阅行情:若备用服务器与主用服务器间通信畅通,生成的行情与主用服务器一致,行情发布系统切换后订阅的行情可视为同一路行情;若备用服务器与主用服务器间通信故障,设定时间后备用服务器能自主生成所有股票代码的行情切片标记及行情切片,备用服务器与主用服务器失联前,编码行情与主用服务器完全一致,因此,行情发布系统切换至备用服务器时,若接收到最新的行情切片序号大于断点序号,则立即下发,以保证行情不出现回流,主用服务器与备用服务器的行情合并之后可视为同一路行情。
3.一种采用如权利要求1所述系统的保证多主机行情切片一致方法,其特征在于方法步骤如下:
S1.若干台服务器基于通讯协议进行时间同步对时;
S2.启动服务器后,各主机的数据接收与分发子系统按照不同的频道号启动不同的进程订阅主题数据,各子进程实时接收各个频道的交易数据流并实时组播给其他主机,同时接收其他主机相同频道号的数据流组播,以先接收先处理原则筛选出最快的交易数据流进行解析, 并根据执行序列号排序,各个子进程将排序后的交易数据按条放入各自对应的共享内存容器中,每增加一条交易数据到set中,set中最新记录的位置lastPos将加一,记录数也加一;
S3.主用服务器的行情切片控制子系统中,按照set数量启动多个子进程,每个子进程对应有一个行情切片控制对象,每个行情切片控制对象周期性获取对应set中的lastPos,以lastPos为截止位置,轮询本周期内该set内所有股票代码的行情切片控制器,各行情切片控制器计算当前时间与该股票代码上一幅行情切片时间戳的时间差:若超过3秒且交易数据有变化,则该代码本周期内产生增量行情切片,否则不切片;若时间差超过了1分钟,则该代码本周期内产生全量行情切片,同时,将各个代码的行情切片类型以及本周期set的lastPos作为行情切片标记按条依次存入该set对应的行情切片控制共享内存容器中;
S4.其余备用服务器的行情切片控制子系统不断向主用服务器订阅行情切片标记,根据行情切片标记的序号按序同步到各自的snapCtrl中;
S5.服务器的行情生成子系统中,每个子进程维护一个set,子进程主要进行三个操作:
实时读取snapCtrl中的元素,并获取每个元素中的lastPos及对应的行情切片类型;
根据读取到的snapCtrl中某个元素中的lastPos实时计算出对应的统计值;
根据代码获得对应的行情切片对象,依照对应的行情切片类型生成行情切片,并经过打包、FAST(FIX Adapted for streaming)协议编码后存入对应的下发队列并持久化到文件;
S6.系统运行结束后,对服务器的持久化文件解FAST编码为行情数据,并按行情切片的序号排序,排序后比对所有代码的所有行情切片,以验证多主机行情切片一致方法的正确性,最终所有服务器所产生的行情切片应完全一致。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上证所信息网络有限公司,未经上证所信息网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111291635.8/1.html,转载请声明来源钻瓜专利网。