一种行情数据的发送算法制造技术

技术编号:23101804 阅读:25 留言:0更新日期:2020-01-14 21:08
本发明专利技术公开了一种行情数据的发送算法,步骤一,股转前置机发送行情数据至服务端;步骤二,服务端根据系统设置的扫描时间间隔和现有带宽,计算出单次可放入的timeout记录数;步骤三,服务端根据系统设置的时间间隔扫描行情数据,查看数据是否有更新;步骤四,如果步骤三的数据有更新,将diff数据全部放入发送队列,再放数量N的timeout记录;步骤五,如果步骤三的数据没有更新,则发送队列全部为timeout数据;步骤六,服务端将队列中的行情数据发送给用户;步骤七,用户接收行情信息。本发明专利技术通过计算每类行情数据在当前带宽以及检测时间间隔中可放入的最大数,减少了带宽的浪费,能将diff数据能够优先发送,并减低数据传输时延。

An algorithm for sending market data

【技术实现步骤摘要】
一种行情数据的发送算法
本专利技术涉及一种行情数据的发送算法,属于证券

技术介绍
证券市场中,行情数据需要正确高效地发送给各用户,并保证数据的优先级满足用户的需求并期望能够降低行情到用户接收的时延。目前,随着市场迅速发展,业务也在不断创新发展,行情数据量会出现高发的情况,此时在不增加外在带宽的情况下,将行情数据发送给用户,必然会造成带宽拥堵,行情数据时延加大、或造成某些需要优先发送给用户的数据被排在后面等问题。特别是当前的行情系统中,是所有行情数据放在单一队列发送给用户,没有对数据做优先级判断,当行情数据量比较大时,diff(增量)很大概率被排在一轮行情的后面发送,无法将diff(增量)优先发送为了解决上述技术问题,特提出一种新的技术方案。
技术实现思路
本专利技术的目的在于提供一种行情数据的发送算法,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种行情数据的发送算法,所述算法包含以下步骤:步骤一,股转前置机发送行情数据至服务端;步骤二,服务端根据系统设置的扫描时间间隔和现有带宽,计算出单次可放入的timeout记录数;步骤三,服务端根据系统设置的时间间隔扫描行情数据,查看数据是否有更新;步骤四,如果步骤三的数据有更新,将diff数据全部放入发送队列,再放数量N的timeout记录;步骤五,如果步骤三的数据没有更新,则发送队列全部为timeout数据;步骤六,服务端将队列中的行情数据发送给用户;步骤七,用户接收行情信息。优选地,如果步骤三的数据有更新,将有更新的行情数据数据全部放入发送队列,再放数量N的timeout记录。优选地,所述如果步骤三的数据没有更新,则diff=0,即发送队列全部为timeout数据。优选地,所述算出单次可放入的timeout记录数的方式为通过MAX函数等于宽带W乘以检测间隔T,或MAX函数等于记录大小S乘以压缩率Y乘以8计算出单次可放入的timeout记录数。优选地,所述检测间隔T是指系统设置的扫描时间间隔。优选地,所述记录数为每条记录的字节数C,所述计算出每条记录的字节数C的方法为,每条记录的字节数C==记录大小S乘以压缩率Y乘以8。与现有技术相比,本专利技术的有益效果是:(1)通过计算每类行情数据在当前带宽以及检测时间间隔中可放入的最大数,减少了带宽的浪费。(2)通过数学计算公式max{MAX-diff,MAX*10%},根据当前diff的数据计算出最大的timeout记录,将diff数据能够优先发送。(3)算法修改对整个系统架构影响不大,发送数据量大时可以有效减低数据从交易所前置机到用户之间传输的时延。附图说明图1为本专利技术的算法流程示意图。图2为本专利技术的架构图。图3为本专利技术的程序流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅说明书附图,本专利技术提供一种技术方案:一种行情数据的发送算法,所述算法包含以下步骤:步骤一,股转前置机发送行情数据至服务端;步骤二,服务端根据系统设置的扫描时间间隔和现有带宽,计算出单次可放入的Timeout记录数MAX=(带宽W*检测间隔T)/(单条记录大小S*压缩率Y*8)。a、检测间隔T是指“系统设置的扫描时间间隔”b、计算出间隔T内能够传输的字节数B=带宽W*检测间隔Tc、计算出记每条记录的字节数C=记录大小S*压缩率Y*8d、根据上述两个步骤计算出MAX=B除以C计算中单次可以放入timeout记录数步骤三,服务端根据系统设置的时间间隔扫描行情数据,查看数据是否有更新;步骤四,如果步骤三的数据有更新,将有更新的行情数据数据全部放入发送队列,再放数量N的timeout记录,定义公式:1:D=MAX-diff,公式2:E=MAX*10%,当D>E时,N=D;当D<E时,N=E;如果步骤三的数据没有更新,则diff=0,即发送队列全部为timeout数据,综上,可定义公式3:N=max{MAX-diff,MAX*10%},N的取值由公式3确定。步骤五,服务端将队列中的行情数据发送给用户;步骤六,用户接收行情信息。本专利技术对于每一类行情数据,分为diff(增量)和timeout(超时)记录,对于用户来说,diff(增量)优先级要高于timeout(超时)记录。本技术需要实现一类算法,将diff(增量)记录全部放入发送队列,再放入一定数量范围的timeout(超时)记录。最大的难点在该算法一定数量范围的timeout(超时)记录不确定,本次实现了一种算法,先计算出单次可以放入的最大记录数、并通过系统合理设置一定比例timeout(超时)记录数,实现了增量行情数据和超时数据都发送且又进行了优先级排序问题,行情发送方式分为组播发送和TCP发送,两类发送方式的处理流程如下:本专利技术组播发送证券信息的方式为:1、根据各参数,计算出单次可放入的timeout最大记录数MAX=(带宽W*检测间隔T)/(记录大小S*压缩率Y*8)。其中,压缩率Y=20%,单条证券行情记录大小为S。2、服务端检查证券信息是否更新。服务端每12s检查一轮行情数据库是否有更新,将更新的行情数据记录取出放入发送队列,diff赋值为更新的记录数,再检查此时的timeout数据记录数,若timeout记录数少于N,则全部放入发送队列,若timeout记录数大于N,则放N条,N取值为max{MAX-diff,MAX*10%};如未更新则直接在发送队列里放timeout数据,发送队列最多可放N=MAX的timeout记录,(N仍然适用公式:max{MAX-diff,MAX*10%},此时diff=0)。3、TCP发送证券信息4、如是新连接,则将全部记录当成diff数据,推送一次全量证券信息;否则按照1,2步骤处理。本专利技术该算法和解决方案中,核心部件主要有三个:1、计算各类行情最大记录数:根据各参数,计算出单次可放入的timeout记录数MAX=(带宽W*检测间隔T)/(记录大小S*压缩率Y*8)。其中,压缩率Y=20%,行情信息记录大小S=188Bytes。2、扫描行情源,根据算法计算出timeout记录:检查行情源,证券信息是否更新,并发送数量N的timeout记录;N取值为max{MAX-diff,MAX*10%}。未更新,则N=MAX的timeout记录3、发送数据至用户用户组播连接,按照上述算法接收行情,如果是TCP新连接,则第一本文档来自技高网...

【技术保护点】
1.一种行情数据的发送算法,其特征在于,所述算法包含以下步骤:/n步骤一,股转前置机发送行情数据至服务端;/n步骤二,服务端根据系统设置的扫描时间间隔和现有带宽,计算出单次可放入的timeout记录数;/n步骤三,服务端根据系统设置的时间间隔扫描行情数据,查看数据是否有更新;/n步骤四,如果步骤三的数据有更新,将diff数据全部放入发送队列,再放数量N的timeout记录;/n步骤五,如果步骤三的数据没有更新,则发送队列全部为timeout数据;/n步骤六,服务端将队列中的行情数据发送给用户;/n步骤七,用户接收行情信息。/n

【技术特征摘要】
1.一种行情数据的发送算法,其特征在于,所述算法包含以下步骤:
步骤一,股转前置机发送行情数据至服务端;
步骤二,服务端根据系统设置的扫描时间间隔和现有带宽,计算出单次可放入的timeout记录数;
步骤三,服务端根据系统设置的时间间隔扫描行情数据,查看数据是否有更新;
步骤四,如果步骤三的数据有更新,将diff数据全部放入发送队列,再放数量N的timeout记录;
步骤五,如果步骤三的数据没有更新,则发送队列全部为timeout数据;
步骤六,服务端将队列中的行情数据发送给用户;
步骤七,用户接收行情信息。


2.根据权利要求1所述的行情数据的发送算法,其特征在于:如果步骤三的数据有更新,将有更新的行情数据数据全部放入发送队列,再放数量N的timeout记录。<...

【专利技术属性】
技术研发人员:郭凌云谢会丽何浩明
申请(专利权)人:深圳证券通信有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1