一种行情文件转数据流传输的方法及装置制造方法及图纸

技术编号:28494708 阅读:19 留言:0更新日期:2021-05-19 22:25
本发明专利技术公开了一种行情文件转数据流传输的方法及装置,所述方法包括如下步骤:步骤S1,主节点服务端通过扫描行情文件的方式,检测行情变化,于检测到行情变化时,读取行情数据并按证券代码对行情数据分块以及计算相应数据分块的哈希值,并存入相应的缓存队列,当与下级子节点建立连接时,根据发送数据类型读取缓存队列数据,将行情数据通过定期增量和实时全量的方式通过数据流传输至下级子节点;步骤S2,下级子节点于接收到上级节点发送的数据包时,解析数据包组装完整行情文件,或直接转发接收到的数据流至下游应用系统。接收到的数据流至下游应用系统。接收到的数据流至下游应用系统。

【技术实现步骤摘要】
一种行情文件转数据流传输的方法及装置


[0001]本专利技术涉及计算机数据分析及传输
,特别是涉及一种行情文件转数据流传输的方法及装置。

技术介绍

[0002]随着交易所行情的提速,竞价撮合平台FAST行情发布频率也由5秒一副调整至3秒一副。同时,为了进一步提速,一些交易所文件行情也逐步升级为流行情传输。而上海FAST行情及股转行情等仍然使用文件方式,传统方式下,下游应用系统使用行情通过网络映射的方式读取行情文件,但会占用带宽过高,安全性风险以及不能统一管理等弊端。目前常见的做法是通过行情转发系统同步文件至下游,甚至多级级联转发,但是,此方式在解决映射方式问题的同时,增加了读盘和落盘的次数。

技术实现思路

[0003]为克服上述现有技术存在的不足,本专利技术之目的在于提供一种行情文件转数据流传输的方法及装置,通过将文件行情直接转流行情传输,以减少转发行情中读盘和落盘的消耗,提高行情转发效率。
[0004]为达上述目的,本专利技术提出一种行情文件转数据流传输的方法,包括如下步骤:
[0005]步骤S1,主节点服务端通过扫描行情文件的方式,检测行情变化,于检测到行情变化时,读取行情数据并按证券代码对行情数据分块以及计算相应数据分块的哈希值,并存入相应的缓存队列,当与下级子节点建立连接时,根据发送数据类型读取缓存队列数据,将行情数据通过定期增量和实时全量的方式通过数据流传输至下级子节点;
[0006]步骤S2,下级子节点于接收到上级节点发送的数据包时,解析数据包组装完整行情文件,或直接转发接收到的数据流至下游应用系统。
[0007]优选地,步骤S1包括:
[0008]步骤S10,扫描行情文件,根据行情文件数据接口规范获取所述行情文件中的行情市场时间,并根据获得的行情市场时间检测行情是否变化;
[0009]步骤S11,若行情市场时间未发生变化,则无需处理,等待下一次扫描检测;
[0010]步骤S12,若行情市场时间发生变化,则读取行情数据,并按证券代码分块数据,将分块数据存入数据缓存队列,同时,计算每个分块数据的哈希值及对应的序号存入哈希缓存队列;
[0011]步骤S13,定义数据接口规范,当与下级子节点连接时,根据发送数据类型读取相应缓存队列数据,利用定期增量和实时全量的方式通过数据流传输至下级子节点。
[0012]优选地,步骤S13包括:
[0013]步骤S131,初始化等待下级子节点连接,加载各缓存队列;
[0014]步骤S132,检查当前时间点是否需要发送全量数据;
[0015]步骤S133,若当前时间点需发送全量数据,则直接遍历读取数据缓存队列中的数
据块,增加全量标识组成新的数据包,并发送至当前所有连接的下级子节点;
[0016]步骤S134,若发送类型为增量,则读取哈希缓存队列中数据,根据哈希值对比相对前次数据是否发送变化,遍历读取发生变化的行情数据,增加增量标识组成新的数据包发送至所有下级子节点。
[0017]优选地,步骤S133包括:
[0018]步骤S133a,读取所述数据缓存队列中的分块数据,增加全量标识组成新的数据包,并发送数据包至下级子节点;
[0019]步骤S133b,在当前分块数据发送完毕后,继续所述检查数据缓存队列直至完毕,当所有全量发送完毕,发送全量结束标记的数据包,通知下级子节点本次更新完成。
[0020]优选地,步骤S134包括:
[0021]步骤S134a,读取当前数据哈希缓存队列,并获取相应数据块的历史哈希值;
[0022]步骤S134b,根据哈希值对比当前数据块与前次对应的数据块是否一致;
[0023]步骤S134c,若根据哈希值判断一致则跳过本次检查,继续对比下一个数据块;
[0024]步骤S134d,若根据哈希值判断当前数据块与前次对应的数据块不一致,则通过序号查找对应的分块数据,从数据缓存队列获取到对应的行情数据,同时增加增量标识和序号组成新的数据包,将其发送给下级子节点;
[0025]步骤S134e,当数据发送完毕,继续读取哈希缓存队列直至完毕,当所有增量数据发送完毕,则发送增量结束标记的数据包,通知下级子节点本次更新完成。
[0026]优选地,于步骤S134a中,根据历史哈希缓存队列获取对应数据块的历史哈希值。
[0027]优选地,于步骤S133a中,当将增加全量标识组成的新的数据包发送给下级子节点后,还将当前分块数据的哈希值及对应的序号更新至所述历史哈希缓存队列中。
[0028]优选地,于步骤S134d中,当将增加增量标识后的新数据包发送给下级子节点后,将当前分块数据的哈希值及对应的序号更新至历史哈希缓存队列中。
[0029]优选地,步骤S2进一步包括:
[0030]步骤S200,连接至上级节点,接收上级节点发送的数据包;
[0031]步骤S201,解析数据包头信息,根据数据包头信息中全量或增量标识读取数据消息体,若为全量数据包,则按数据包的接收顺序,更新对应行情文件,直至接收到结束标记后关闭文件,若为增量数据包,则根据数据包中的序号,更新对应行情文件指定数据块,直至接收到结束标记后关闭文件。
[0032]为达到上述目的,本专利技术还提供一种行情文件转数据流传输的装置,包括:
[0033]主节点服务端,用于通过扫描行情文件的方式,检测行情变化,于检测到行情变化时,读取行情数据并按证券代码对行情数据分块以及计算相应数据分块的哈希值,并存入相应的缓存队列,当与下级子节点建立连接时,根据发送数据类型读取缓存队列数据,将行情数据通过定期增量和实时全量的方式通过数据流传输至下级子节点;
[0034]若干子节点,各子节点用于在接收到上级节点发送的数据包时,解析数据包组装完整行情文件,或直接转发接收到的数据流至下游应用系统。
[0035]与现有技术相比,本专利技术一种行情文件转数据流的方法及装置通过检测文件更新变化,将行情数据分块计算哈希值,通过哈希值判断当前证券代码对应的行情内容是否更新,从而实现增量传输,减少数据流量,定期执行全量传输为定期执行,确保下游系统中断
或新应用系统接入时,能快速获取到完整行情,同时,本专利技术端节点还可以选择输出完整行情文件对接老旧系统,或者直接级联转发至下游应用,本专利技术通过定期全量加实时增量的方式,能有效减少数据的传输,同时能保证下级应用中断的时候保证数据的完整性,给企业特别是证券公司提供行情文件多级级联下高效传输的解决方案。
附图说明
[0036]图1为本专利技术一种行情文件转数据流传输的方法的步骤流程图;
[0037]图2为本专利技术一种行情文件转数据流传输的系统的系统架构图;
[0038]图3为本专利技术实施例所描述的整个专利技术的架构图;
[0039]图4为本专利技术实施例中上级节点的文件检测和处理的具体流程图;
[0040]图5为本专利技术实施例中上级节点发送数据流的处理流程图;...

【技术保护点】

【技术特征摘要】
1.一种行情文件转数据流传输的方法,包括如下步骤:步骤S1,主节点服务端通过扫描行情文件的方式,检测行情变化,于检测到行情变化时,读取行情数据并按证券代码对行情数据分块以及计算相应数据分块的哈希值,并存入相应的缓存队列,当与下级子节点建立连接时,根据发送数据类型读取缓存队列数据,将行情数据通过定期增量和实时全量的方式通过数据流传输至下级子节点;步骤S2,下级子节点于接收到上级节点发送的数据包时,解析数据包组装完整行情文件,或直接转发接收到的数据流至下游应用系统。2.如权利要求1所述的一种行情文件转数据流传输的方法,其特征在于,步骤S1包括:步骤S10,扫描行情文件,根据行情文件数据接口规范获取所述行情文件中的行情市场时间,并根据获得的行情市场时间检测行情是否变化;步骤S11,若行情市场时间未发生变化,则无需处理,等待下一次扫描检测;步骤S12,若行情市场时间发生变化,则读取行情数据,并按证券代码分块数据,将分块数据存入数据缓存队列,同时,计算每个分块数据的哈希值及对应的序号存入哈希缓存队列;步骤S13,定义数据接口规范,当与下级子节点连接时,根据发送数据类型读取相应缓存队列数据,利用定期增量和实时全量的方式通过数据流传输至下级子节点。3.如权利要求2所述的一种行情文件转数据流传输的方法,其特征在于,步骤S13包括:步骤S131,初始化等待下级子节点连接,加载各缓存队列;步骤S132,检查当前时间点是否需要发送全量数据;步骤S133,若当前时间点需发送全量数据,则直接遍历读取数据缓存队列中的数据块,增加全量标识组成新的数据包,并发送至当前所有连接的下级子节点;步骤S134,若发送类型为增量,则读取哈希缓存队列中数据,根据哈希值对比相对前次数据是否发送变化,遍历读取发生变化的行情数据,增加增量标识组成新的数据包发送至所有下级子节点。4.如权利要求3所述的一种行情文件转数据流传输的方法,其特征在于,步骤S133包括:步骤S133a,读取所述数据缓存队列中的分块数据,增加全量标识组成新的数据包,并发送数据包至下级子节点;步骤S133b,在当前分块数据发送完毕后,继续所述检查数据缓存队列直至完毕,当所有全量发送完毕,发送全量结束标记的数据包,通知下级子节点本次更新完成。5.如权利要求4所述的一种行情文件转数据流传输的方法,其特征在于,步骤S134包括...

【专利技术属性】
技术研发人员:杨杰陈勇铨吕爱民胡军擎
申请(专利权)人:上海英方软件股份有限公司
类型:发明
国别省市:

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

1