行情数据处理方法、装置、计算机设备及可读存储介质转让专利
申请号 : CN202111619917.6
文献号 : CN113989011B
文献日 : 2022-04-22
发明人 : 李秋军 , 阳小鲜 , 张文成 , 陆朝铨 , 周立红 , 龙志豪
申请人 : 深圳华锐分布式技术股份有限公司
摘要 :
权利要求 :
1.一种行情数据处理方法,包括:获取预设行情业务类型对应的预设处理方法地址,调用预设注册函数,将所述预设处理方法地址预先配置的预设业务函数进行注册,得到所述预设处理方法地址与所述预设业务函数之间的映射关系,其中,所述预设行情业务类型为行情数据所属的业务类别,所述预设行情业务类型包括快照、逐笔、指数及K线;
获取行情数据及所述行情数据所对应的目标行情业务类型;
获取目标行情业务类型所对应的目标处理方法地址,将所述行情数据通过预设映射方式分发至所述目标处理方法地址对应的目标业务函数,并采用所述目标业务函数对所述行情数据进行处理;
其中,得到所述预设处理方法地址与所述预设业务函数之间的映射关系之后,还包括:将所述映射关系存储至预设映射表,其中,所述预设处理方法地址作为所述预设映射表包含的关键字,所述预设业务函数作为所述关键字对应的键值;
其中,获取目标行情业务类型所对应的目标处理方法地址,将所述行情数据通过预设映射方式分发至所述目标处理方法地址对应的目标业务函数,包括:获取目标行情业务类型所对应的目标处理方法地址,将所述目标处理方法地址作为关键字,通过基于哈希表结构的预设数据容器,将所述行情数据进行映射至所述目标处理方法地址对应的目标业务函数,所述基于哈希表结构的预设数据容器为预设unordered_map表。
2.根据权利要求1所述行情数据处理方法,其特征在于,获取预设行情业务类型对应的预设处理方法地址之前,还包括:
响应用户配置业务函数的配置指令,获取预设行情数据处理框架及所述预设行情数据处理框架包含的预设处理方法地址;
基于预设业务函数配置页面,接收对所述预设处理方法地址对应的业务函数的配置操作,得到所述预设处理方法地址配置的预设业务函数。
3.根据权利要求2所述行情数据处理方法,其特征在于,响应用户配置业务函数的配置指令,获取预设行情数据处理框架及所述预设行情数据处理框架包含的预设处理方法地址,包括:
响应用户配置业务函数的配置指令,获取所述配置指令对应的预设行情数据处理框架;
从所述预设行情数据处理框架中获取预先配置的预设业务处理模块;
获取所述预设业务处理模块包含的预设参数,得到预设处理方法地址。
4.根据权利要求1所述行情数据处理方法,其特征在于,获取行情数据及所述行情数据所对应的目标行情业务类型,包括:获取二进制的初始行情数据,并将所述初始行情数据进行解析,得到解析数据;
从所述解析数据中提取行情数据及所述行情数据所对应的目标行情业务类型。
5.根据权利要求4所述行情数据处理方法,其特征在于,从所述解析数据中提取行情数据及所述行情数据所对应的目标行情业务类型之后,还包括:获取所述目标行情业务类型所对应的预设滤重关键字;
根据所述预设滤重关键字,获取第一行情数据的第一目标滤重关键字与第二行情数据的第二目标滤重关键字;
判断所述第一目标滤重关键字与所述第二目标滤重关键字是否一致;
若所述第一目标滤重关键字与所述第二目标滤重关键字一致,保留所述第一行情数据或者所述第二行情数据;
若所述第一目标滤重关键字与所述第二目标滤重关键字不一致,保留所述第一行情数据与所述第二行情数据。
6.一种行情数据处理装置,其特征在于,所述装置包括:注册单元,用于获取预设行情业务类型对应的预设处理方法地址,调用预设注册函数,将所述预设处理方法地址预先配置的预设业务函数进行注册,得到所述预设处理方法地址与所述预设业务函数之间的映射关系,其中,所述预设行情业务类型为行情数据所属的业务类别,所述预设行情业务类型包括快照、逐笔、指数及K线;
第一获取单元,用于获取行情数据及所述行情数据所对应的目标行情业务类型;
分发单元,用于获取目标行情业务类型所对应的目标处理方法地址,将所述行情数据通过预设映射方式分发至所述目标处理方法地址对应的目标业务函数,并采用所述目标业务函数对所述行情数据进行处理;
存储单元,用于将所述映射关系存储至预设映射表,其中,所述预设处理方法地址作为所述预设映射表包含的关键字,所述预设业务函数作为所述关键字对应的键值;
分发单元,具体用于获取目标行情业务类型所对应的目标处理方法地址,将所述目标处理方法地址作为关键字,通过基于哈希表结构的预设数据容器,将所述行情数据进行映射至所述目标处理方法地址对应的目标业务函数,所述基于哈希表结构的预设数据容器为预设unordered_map表。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器以及与所述存储器相连的处理器;所述存储器用于存储计算机程序;所述处理器用于运行所述计算机程序,以执行如权利要求1‑5任一项所述方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1‑5中任一项所述方法的步骤。
说明书 :
行情数据处理方法、装置、计算机设备及可读存储介质
技术领域
背景技术
据包的完整性,再通过协议解析得到行情数据,再进行行情数据的类型判断,得到所需的行
情数据,再对行情数据进行拷贝等操作,行情数据接收的处理过程繁琐且需要较强的专业
知识,才能进行接收模块的开发,并且对于行情数据的新数据类型,需要具体改动接收模
块,才能适用于对新数据类型行情数据的接收,存在对新数据结构兼容性不强的问题。因
此,传统技术中,存在对行情数据接收的处理灵活性不足,导致对行情数据收发的处理便捷
性较低的技术问题。
发明内容
务函数进行注册,得到所述预设处理方法地址与所述预设业务函数之间的映射关系;获取
行情数据及所述行情数据所对应的目标行情业务类型;获取目标行情业务类型所对应的目
标处理方法地址,将所述行情数据通过预设映射方式分发至所述目标处理方法地址对应的
目标业务函数,并采用所述目标业务函数对所述行情数据进行处理。
预先配置的预设业务函数进行注册,得到所述预设处理方法地址与所述预设业务函数之间
的映射关系;第一获取单元,用于获取行情数据及所述行情数据所对应的目标行情业务类
型;分发单元,用于获取目标行情业务类型所对应的目标处理方法地址,将所述行情数据通
过预设映射方式分发至所述目标处理方法地址对应的目标业务函数,并采用所述目标业务
函数对所述行情数据进行处理。
骤。
方法的步骤。
法地址与预先配置的预设业务函数进行关联,接收到行情数据后,获取行情数据所对应的
目标行情业务类型,再获取目标行情业务类型所对应的目标处理方法地址,并将所述行情
数据通过映射,分发至所述目标处理方法地址对应的目标业务函数,并采用所述目标业务
函数对所述行情数据进行处理,实现了行情数据处理的底层开发与业务的解耦,用户只关
心行情业务的相关问题,例如用户只需关心获取何种行情数据,及将该种行情数据做何种
处理皆可,屏蔽了非业务相关的细节,提高了行情数据收发等处理的便捷性,同时,由于预
设处理方法地址与预设业务函数之间的解耦性,使行情数据处理具备良好的兼容性与扩展
性。
附图说明
通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
具体实施方式
明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施
例,都属于本发明保护的范围。
体、步骤、操作、元素、组件和/或其集合的存在或添加。
述预设业务函数之间的映射关系。
的预设业务函数,以采用所述预设业务函数来处理该种行情业务类型的行情数据。预设业
务函数构造完成后,由人工确定哪种预设行情业务类型的行情数据采用哪种预设业务函数
进行处理,以进行配置,并基于配置,以预设处理方法地址作为预设行情业务类型行情数据
的处理参数,获取预设行情业务类型对应的预设处理方法地址,调用预设注册函数,即
Registers函数,将所述预设处理方法地址预先配置的预设业务函数进行注册,以将预设业
务函数注册进来,即将所述预设处理方法地址与预先配置的预设业务函数进行绑定,得到
所述预设处理方法地址与所述预设业务函数之间的映射关系,后续处理预设行情业务类型
的行情数据时,只需调用注册的预设业务函数,就能够实现具体行情的业务处理,用户需要
关注的仅仅是该预设行情业务类型的行情数据的处理目的,然后只需调用对应预设业务函
数的接口进行配置即可,相对于传统技术中针对每种行情数据采取固定代码模块的处理方
式,能够将代码模块的开发与使用分离,提高每种类型行情数据处理模块开发的灵活性与
使用的简便性,同时,能够提高预设行情业务类型与预设业务函数各自的扩展性与兼容性。
除与更新键/值对。将所述映射关系存储至预设映射表,其中,所述预设处理方法地址作为
所述预设映射表包含的关键字,所述预设业务函数作为所述关键字对应的键值,以采用预
设映射表存储所述映射关系,后续能够根据映射表所包含的键值对的映射关系,通过所述
预设处理方法地址将行情数据进行映射分发至所述预设业务函数,从而实现回调到注册的
预设业务函数中来。
目标行情业务类型包括快照、逐笔、指数及K线等业务类型。
示意图,在该实施例中,获取行情数据及所述行情数据所对应的目标行情业务类型,包括:
数据解包,再采用行情解析模块对初始行情数据进行解析,将初始行情数据解析为具体业
务类型对应的行情结构,例如,若接收到快照的二进制初始行情数据,将二进制的初始行情
数据解包并格式化为对应的快照结构,从而得到二进制的初始行情数据对应的解析数据,
并从解析数据中提取快照数据,及所述快照数据的目标业务行情业务类型为快照类型。
据所对应的目标行情业务类型之后,还包括:
行情数据的冗余,节省行情数据的处理资源,可以采用滤重关键字对行情数据进行滤重处
理,所述滤重关键字可以包括行情数据的证券代码、市场类型、交易原始时间、总成交量及
行情来源等关键字。
第一行情数据包含的预设滤重关键字的具体内容对应的第一目标滤重关键字,及第二行情
数据包含的预设滤重关键字的具体内容对应的第二目标滤重关键字,然后将所述第一目标
滤重关键字与所述第二目标滤重关键字进行比较,若所述第一目标滤重关键字与所述第二
目标滤重关键字一致,判定所述第一行情数据与所述第二行情数据为重复数据,仅保留所
述第一行情数据或者所述第二行情数据即可,将重复数据丢弃,从而过滤掉重复的行情数
据,实现行情数据的滤重处理,若所述第一目标滤重关键字与所述第二目标滤重关键字不
一致,判定所述第一行情数据与所述第二行情数据不为重复数据,将所述第一行情数据与
所述第二行情数据全都进行保留,并进行后续处理,可以减少用户后续剔除重复数据的操
作,节省处理数据的资源。
对所述行情数据进行处理。
此,获取到行情数据及所述行情数据所对应的目标行情业务类型,可以进一步获取目标行
情业务类型所对应的目标处理方法地址,并将所述行情数据通过预设映射方式,例如将所
述目标处理方法地址作为关键字,通过基于哈希表结构的预设数据容器,所述基于哈希表
结构的预设数据容器可以为预设Unorder_map表,将所述行情数据进行映射至所述目标处
理方法地址对应的目标业务函数,从而将所述行情数据分发至所述目标处理方法地址对应
的目标业务函数,然后采用所述目标业务函数对所述行情数据进行处理,可以选择将所述
行情数据进行再次加工或者直接转发等处理,所述目标业务函数可以为预设行情发送函
数、预设行情存储函数或者预设行情压缩函数等。例如,请继续参阅图3,在处理行情数据
时,接收到行情数据后,将行情进行分发,若行情数据为快照行情,将快照行情分发至预先
注册进来的快照处理函数,若行情数据为逐笔行情,将逐笔行情分发至预先注册进来的逐
笔处理函数,若行情数据为逐笔委托成交行情,将逐笔委托成交行情分发至预先注册进来
的逐笔委托成交处理函数等各自对应的目标业务函数,所述目标业务函数可以为发送函
数,从而可以基于行情数据的发送函数,即图3中的行情发送模块,将接收的行情数据或加
工行情数据发送至下游的其它应用程序。
后,获取行情数据所对应的目标行情业务类型,再获取目标行情业务类型所对应的目标处
理方法地址,并将所述行情数据通过映射,分发至所述目标处理方法地址对应的目标业务
函数,并采用所述目标业务函数对所述行情数据进行处理,实现了行情数据处理的底层开
发与业务的解耦,用户只关心行情业务的相关问题,例如用户只需关心获取何种行情数据,
及将该种行情数据做何种处理即可,屏蔽了非业务相关的细节,提高了行情数据收发处理
的便捷性,同时,由于预设处理方法地址与预设业务函数之间的解耦性,使行情数据处理具
备良好的兼容性与扩展性。
括:
预设行情数据处理框架包含的业务功能模块的参数。用户进行业务函数配置时,可以点击
相对应的预设业务函数配置按钮,响应用户配置业务函数的配置指令,获取所述预设业务
函数配置按钮对应的预设行情数据处理框架及所述预设行情数据处理框架包含的预设处
理方法地址,然后用户基于预设业务函数配置页面,确定哪种行情数据采用哪种预设业务
函数进行处理,从而形成预设行情业务类型、预设处理方法地址与预设业务函数之间的对
应关系,接收对所述预设处理方法地址对应的业务函数的配置操作,将预设行情业务类型、
预设处理方法地址与预设业务函数对应起来,从而得到所述预设处理方法地址配置的预设
业务函数,请继续参阅图3,在图3所述示例中,可以基于初始化模块在对行情数据进行处理
前进行业务函数的配置,从而实现让用户灵活介入到预设行情数据处理框架的配置,灵活
控制预设行情数据处理框架的具体配置,实现行情数据处理的底层开发与业务的解耦,用
户只关心行情业务的相关问题,例如用户只需关心获取何种行情数据,及将该种行情数据
做何种处理皆可,屏蔽了非业务相关的细节,提高了行情数据收发处理的便捷性。
框架及所述预设行情数据处理框架包含的预设处理方法地址,包括:
据处理框架可以基于模块化进行构建,即所述预设行情数据处理框架包含若干个预设业务
处理模块,且所述预设业务处理模块可以由用户进行配置,每个预设业务处理模块将预设
处理方法地址作为参数,从而所述预设处理方法地址包含在所述预设业务处理模块中,所
述预设业务处理模块的配置方式可以参照上述预设业务函数的配置方式进行对应处理。
述配置指令对应的预设行情数据处理框架,基于所述预设行情数据处理框架,从所述预设
行情数据处理框架中获取由用户预先配置的预设业务处理模块,然后再获取所述预设业务
处理模块包含的预设参数,得到预设处理方法地址,从而获取预设行情数据处理框架及所
述预设行情数据处理框架包含的预设处理方法地址,例如,请继续参阅图3,如图3所示,在
该实施例中,行情接收模块的接口可以为void Register(const uint32_t method_id,
MsgHandler msg_handler),其中method_id即为预设处理方法地址,当预设行情数据处理
框架调用该行情接收模块的接口后,预设行情数据处理框架将对应的method_id绑定到预
先配置的对应预设业务函数,从而根据所述预设行情数据处理框架,获取行情接收模块,根
据行情接收模块,获取行情接收模块包含的参数对应的method_id,即得到了预设处理方法
地址。本发明实施例将模块化设置与处理方法地址及业务函数之间的映射关系结合起来,
可以进一步实现对预设行情数据处理框架的灵活介入配置,提升控制所述预设行情数据处
理框架的灵活性。
保护范围之内。
示,该行情数据处理装置包括用于执行上述所述行情数据处理方法的单元,该行情数据处
理装置可以被配置于计算机设备中。具体地,请参阅图7,所述行情数据处理装置70包括注
册单元71、第一获取单元72及分发单元73。
处理方法地址与所述预设业务函数之间的映射关系;
目标业务函数对所述行情数据进行处理。
所述行情数据进行映射至所述目标处理方法地址对应的目标业务函数。
洁,在此不再赘述。
装置中各单元采取不同的连接顺序和方式,以完成上述行情数据处理装置的全部或部分功
能。
件。
以为易失性存储介质。
于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的
部件,或者组合某些部件,或者具有不同的部件布置。例如,在一些实施例中,计算机设备可
以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图8所示实
施例一致,在此不再赘述。
方法地址预先配置的预设业务函数进行注册,得到所述预设处理方法地址与所述预设业务
函数之间的映射关系;获取行情数据及所述行情数据所对应的目标行情业务类型;获取目
标行情业务类型所对应的目标处理方法地址,将所述行情数据通过预设映射方式分发至所
述目标处理方法地址对应的目标业务函数,并采用所述目标业务函数对所述行情数据进行
处理。
现:
务函数时,具体实现:
理方法地址对应的目标业务函数。
(Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated
Circuit,ASIC)、现成可编程门阵列 (Field‑Programmable Gate Array,FPGA) 或者其他
可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是
微处理器或者该处理器也可以是任何常规的处理器等。
程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
储介质存储有计算机程序,该计算机程序被处理器执行时使处理器执行如下步骤:
插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,
闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内
部存储单元也包括外部存储设备。
质。
和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这
些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专
业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不
应认为超出本发明的范围。
仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结
合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以
是两个或两个以上单元集成在一个单元中。
术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计
算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人
计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权
利要求的保护范围为准。