行情数据下发方法、装置、系统、设备及介质制造方法及图纸

技术编号:32504225 阅读:27 留言:0更新日期:2022-03-02 10:13
本发明专利技术涉及互联网领域,提供一种行情数据下发方法、装置、系统、设备及介质,能够利用JSON格式表示行情字段,简单易懂,在保证行情数据可靠传输的同时,通过时间策略与增量压缩及二次压缩算法的结合,有效降低了行情数据下发时对带宽的占用,增量压缩的方式也有效降低了行情数据下发时的时延。了行情数据下发时的时延。了行情数据下发时的时延。

【技术实现步骤摘要】
行情数据下发方法、装置、系统、设备及介质


[0001]本专利技术涉及互联网
,尤其涉及一种行情数据下发方法、装置、系统、设备及介质。

技术介绍

[0002]在金融行情数据的传输过程中,由于行情数据量较大,对整个传输系统的可靠性、时延、正确性、带宽占用等都要求较高。
[0003]在网卡带宽一定的情况下,同一个服务端实时下发的带宽占用高,则意味着可以接入的客户端数量就少,服务端向单个客户端下发行情时的带宽占用越低,服务端可接入的客户端数目就越多。
[0004]针对上述情况,目前采用的降低带宽的方式是通用的压缩算法,并不能有效解决传输数据的大量重复问题。另外,行业内常用的压缩算法,即便能够解决重复问题,但算法本身较为复杂,难以理解,对一些数据类型的处理有一定限制,需要额外转换,并没有形成完整的解决方案。

技术实现思路

[0005]鉴于以上内容,有必要提供一种行情数据下发方法、装置、系统、设备及介质,旨在解决行情数据下发过程中带宽占用的问题。
[0006]一种行情数据下发方法,应用于服务端,所述服务端与至少一个客户端相通信,所述行情数据下发方法包括:获取接收到的行情数据消息队列中的每条消息;确定每条消息对应的证券代码、数据类型及当前时间戳;根据所述证券代码、所述数据类型对每条消息进行格式转换,得到第一JSON包;从所述服务端的缓存中获取所述证券代码对应的全字段转换时间;计算所述全字段转换时间与所述当前时间戳的时间差;获取时间阈值,并对比所述时间差与所述时间阈值,得到对比结果;根据所述对比结果对每条消息进行交替的格式转换,得到第二JSON包;对于所述至少一个客户端中的每个客户端,检测是否向每个客户端全量发送过对应于所述证券代码及所述数据类型的消息,得到检测结果;根据所述检测结果从所述第一JSON包及所述第二JSON包中选择数据进行打包,得到打包数据,并将所述打包数据累加至对应的客户端的待下发数据中;当检测到有客户端的待下发数据的体积达到对应客户端的体积阈值时,对检测到的客户端的待下发数据进行压缩,得到压缩包;下发所述压缩包至所述检测到的客户端。
[0007]根据本专利技术优选实施例,所述根据所述对比结果对每条消息进行交替的格式转换,得到第二JSON包包括:
当所述对比结果为所述时间差大于所述时间阈值时,根据所述证券代码、所述数据类型将每条消息转换为JSON格式;或者当所述对比结果为所述时间差小于或者等于所述时间阈值时,根据所述证券代码、所述数据类型从所述服务端的缓存中获取与每条消息对应的数据字段,并识别每条消息与对应的数据字段间的差异字段,获取每条消息中与所述差异字段对应的字段作为目标字段,利用所述目标字段替换所述差异字段,得到替换后的每条消息,将所述替换后的每条消息转换为JSON格式。
[0008]根据本专利技术优选实施例,所述根据所述检测结果从所述第一JSON包及所述第二JSON包中选择数据进行打包包括:当所述检测结果为向每个客户端全量发送过对应于所述证券代码及所述数据类型的消息时,选择所述第二JSON包进行打包;或者当所述检测结果为没有向每个客户端全量发送过对应于所述证券代码及所述数据类型的消息时,选择所述第一JSON包进行打包。
[0009]一种行情数据下发方法,应用于至少一个客户端,所述至少一个客户端与服务端相通信,所述行情数据下发方法包括:当接收到所述服务端下发的压缩包时,对所述压缩包进行解压,得到每条消息;解析每条消息,得到每条消息对应的证券代码、数据类型、消息编号及增量标识;对于所述至少一个客户端中的每个客户端,从每个客户端的缓存中获取与每条消息对应的所述证券代码及所述数据类型的下发记录;当检测到有消息有所述下发记录时,将检测到的消息确定为目标消息,并确定所述目标消息的所述消息编号是否连续;当所述目标消息的所述消息编号连续时,根据所述目标消息的所述增量标识确定所述目标消息是否为增量JSON包,得到确定结果;根据所述确定结果对所述目标消息进行处理。
[0010]根据本专利技术优选实施例,所述方法还包括:对于没有检测到有所述下发记录的候选消息,根据所述候选消息的所述增量标识确定所述候选消息是否为所述增量JSON包,当确定所述候选消息为所述增量JSON包时,丢掉所述候选消息;或者当确定所述候选消息不为所述增量JSON包时,获取所述候选消息对应的客户端作为第一客户端,根据所述候选消息更新所述第一客户端的缓存,并将所述候选消息传输至所述第一客户端的应用程序;当所述目标消息的所述消息编号不连续时,根据所述目标消息的所述增量标识确定所述目标消息是否为所述增量JSON包,当确定所述目标消息为所述增量JSON包时,丢掉所述目标消息;或者当确定所述目标消息不为所述增量JSON包时,获取所述目标消息对应的客户端作为目标客户端,根据所述目标消息更新所述目标客户端的缓存,并将所述目标消息传输至所述目标客户端的应用程序。
[0011]根据本专利技术优选实施例,所述根据所述确定结果对所述目标消息进行处理包括:当所述确定结果为所述目标消息为所述增量JSON包时,解析所述目标消息,得到解析数据,根据所述解析数据更新所述目标客户端的缓存,并将所述解析数据传输至所述目标客户端的应用程序;或者
当所述确定结果为所述目标消息不为所述增量JSON包时,根据所述目标消息更新所述目标客户端的缓存,并将所述目标消息传输至所述目标客户端的应用程序。
[0012]一种行情数据下发装置,运行于服务端,所述服务端与至少一个客户端相通信,所述行情数据下发装置包括:获取单元,用于获取接收到的行情数据消息队列中的每条消息;确定单元,用于确定每条消息对应的证券代码、数据类型及当前时间戳;转换单元,用于根据所述证券代码、所述数据类型对每条消息进行格式转换,得到第一JSON包;所述获取单元,还用于从所述服务端的缓存中获取所述证券代码对应的全字段转换时间;计算单元,用于计算所述全字段转换时间与所述当前时间戳的时间差;对比单元,用于获取时间阈值,并对比所述时间差与所述时间阈值,得到对比结果;所述转换单元,还用于根据所述对比结果对每条消息进行交替的格式转换,得到第二JSON包;检测单元,用于对于所述至少一个客户端中的每个客户端,检测是否向每个客户端全量发送过对应于所述证券代码及所述数据类型的消息,得到检测结果;打包单元,用于根据所述检测结果从所述第一JSON包及所述第二JSON包中选择数据进行打包,得到打包数据,并将所述打包数据累加至对应的客户端的待下发数据中;压缩单元,用于当检测到有客户端的待下发数据的体积达到对应客户端的体积阈值时,对检测到的客户端的待下发数据进行压缩,得到压缩包;下发单元,用于下发所述压缩包至所述检测到的客户端。
[0013]一种行情数据下发系统,运行于至少一个客户端,所述至少一个客户端与服务端相通信,所述行情数据下发系统包括:解压模块,用于当接收到所述服务端下发的压缩包时,对所述压缩包进行解压,得到每条消息;解析模块,用于解析每条消息,得到每条消息对应的证券代码、数据类型、消息编号及增量标识;获取本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种行情数据下发方法,应用于服务端,所述服务端与至少一个客户端相通信,其特征在于,所述行情数据下发方法包括:获取接收到的行情数据消息队列中的每条消息;确定每条消息对应的证券代码、数据类型及当前时间戳;根据所述证券代码、所述数据类型对每条消息进行格式转换,得到第一JSON包;从所述服务端的缓存中获取所述证券代码对应的全字段转换时间;计算所述全字段转换时间与所述当前时间戳的时间差;获取时间阈值,并对比所述时间差与所述时间阈值,得到对比结果;根据所述对比结果对每条消息进行交替的格式转换,得到第二JSON包;对于所述至少一个客户端中的每个客户端,检测是否向每个客户端全量发送过对应于所述证券代码及所述数据类型的消息,得到检测结果;根据所述检测结果从所述第一JSON包及所述第二JSON包中选择数据进行打包,得到打包数据,并将所述打包数据累加至对应的客户端的待下发数据中;当检测到有客户端的待下发数据的体积达到对应客户端的体积阈值时,对检测到的客户端的待下发数据进行压缩,得到压缩包;下发所述压缩包至所述检测到的客户端。2.如权利要求1所述的行情数据下发方法,其特征在于,所述根据所述对比结果对每条消息进行交替的格式转换,得到第二JSON包包括:当所述对比结果为所述时间差大于所述时间阈值时,根据所述证券代码、所述数据类型将每条消息转换为JSON格式;或者当所述对比结果为所述时间差小于或者等于所述时间阈值时,根据所述证券代码、所述数据类型从所述服务端的缓存中获取与每条消息对应的数据字段,并识别每条消息与对应的数据字段间的差异字段,获取每条消息中与所述差异字段对应的字段作为目标字段,利用所述目标字段替换所述差异字段,得到替换后的每条消息,将所述替换后的每条消息转换为JSON格式。3.如权利要求1所述的行情数据下发方法,其特征在于,所述根据所述检测结果从所述第一JSON包及所述第二JSON包中选择数据进行打包包括:当所述检测结果为向每个客户端全量发送过对应于所述证券代码及所述数据类型的消息时,选择所述第二JSON包进行打包;或者当所述检测结果为没有向每个客户端全量发送过对应于所述证券代码及所述数据类型的消息时,选择所述第一JSON包进行打包。4.一种行情数据下发方法,应用于至少一个客户端,所述至少一个客户端与服务端相通信,其特征在于,所述行情数据下发方法包括:当接收到所述服务端下发的压缩包时,对所述压缩包进行解压,得到每条消息;解析每条消息,得到每条消息对应的证券代码、数据类型、消息编号及增量标识;对于所述至少一个客户端中的每个客户端,从每个客户端的缓存中获取与每条消息对应的所述证券代码及所述数据类型的下发记录;当检测到有消息有所述下发记录时,将检测到的消息确定为目标消息,并确定所述目标消息的所述消息编号是否连续;
当所述目标消息的所述消息编号连续时,根据所述目标消息的所述增量标识确定所述目标消息是否为增量JSON包,得到确定结果;根据所述确定结果对所述目标消息进行处理。5.如权利要求4所述的行情数据下发方法,其特征在于,所述方法还包括:对于没有检测到有所述下发记录的候选消息,根据所述候选消息的所述增量标识确定所述候选消息是否为所述增量JSON包,当确定所述候选消息为所述增量JSON包时,丢掉所述候选消息;或者当确定所述候选消息不为所述增量JSON包时,获取所述候选消息对应的客户端作为第一客户端,根据所述候选消息更新所述第一客户端的缓存,并将所述候选消息传输至所述第一客户端的应用程序;当所述目标消息的所述消息编号不连续时,根据所...

【专利技术属性】
技术研发人员:李秋军阳小鲜张文成陆朝铨龙志豪刘振民
申请(专利权)人:深圳华锐金融技术股份有限公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利