基于自定义哈希的双源行情去重方法和系统技术方案

技术编号:29133052 阅读:44 留言:0更新日期:2021-07-02 22:28
本发明专利技术公开了一种基于自定义哈希的双源行情去重方法和系统,避免单点行情源的不稳定性,为行情源的稳定性提供更高保障。其技术方案为:采用双路行情源接入的方式,通过自定义哈希算法,采用哈希+链表的方式快速且可靠地得到合约的哈希值。此外,本发明专利技术采用数据缓存来对不同更新频率的交易所数据做统一处理,并兼容不同交易时间的各种情况,通过缓存数据与实时数据的比较来判断数据是否重复,可准确过滤重复数据且无丢失情况发生。

【技术实现步骤摘要】
基于自定义哈希的双源行情去重方法和系统
本专利技术涉及金融领域行情服务技术,具体涉及一种基于自定义哈希的双源行情去重方法和系统。
技术介绍
作为金融领域中的行情服务端系统,行情实时数据的及时、可靠,行情历史数据的正确、完整是系统的核心要求。行情服务端作为行情服务的提供方,对移动端客户提供行情的推送和查询功能,同时,也需要从上游行情源获取实时的行情推送数据。传统在系统运行过程中,是采用单行情源接收行情的模式,由于行情源故障或网络故障等原因,导致系统的行情推送和计算业务受到影响,且由于行情数据的特殊性,无法做到系统的即时恢复,对市场客户造成了一定的影响。可见上游行情源的稳定性在一定程度上成为行情服务端稳定性系统的重要影响因素,如何规避上游行情源的异常情况成为行情系统长期稳定运行需要解决的问题。
技术实现思路
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多本文档来自技高网...

【技术保护点】
1.一种基于自定义哈希的双源行情去重方法,其特征在于,方法包括:/n步骤1:采用双路接入的方式同时接收两个行情源的行情实数据,当订阅节点接口收到行情数据后,根据行情数据的数据更新时间的分钟值是奇数还是偶数来确定缓存数组的索引值;/n步骤2:根据行情数据的合约名称计算哈希值,以该哈希值为缓存数组的索引,在缓存中获取对应的合约处理类,如果合约处理类为空,则初始化缓存空间并将数据记录写入对应的缓存位置,如果合约处理类存在,则重定位缓存数组的索引值;/n步骤3:根据找到的缓存数组索引的数据更新时间和接收到的行情数据的数据更新时间是否相同,来判断接收到的行情数据是重复数据还是新的数据。/n

【技术特征摘要】
1.一种基于自定义哈希的双源行情去重方法,其特征在于,方法包括:
步骤1:采用双路接入的方式同时接收两个行情源的行情实数据,当订阅节点接口收到行情数据后,根据行情数据的数据更新时间的分钟值是奇数还是偶数来确定缓存数组的索引值;
步骤2:根据行情数据的合约名称计算哈希值,以该哈希值为缓存数组的索引,在缓存中获取对应的合约处理类,如果合约处理类为空,则初始化缓存空间并将数据记录写入对应的缓存位置,如果合约处理类存在,则重定位缓存数组的索引值;
步骤3:根据找到的缓存数组索引的数据更新时间和接收到的行情数据的数据更新时间是否相同,来判断接收到的行情数据是重复数据还是新的数据。


2.根据权利要求1所述的基于自定义哈希的双源行情去重方法,其特征在于,步骤2进一步包括:
根据行情数据的交易所类型的不同对合约名称进行对应的处理,得到合约名称对应的哈希值;
获取到该合约的哈希值后,以该哈希值为缓存数组的索引,在缓存中查找是否存在对应的合约处理类;
如果不存在对应的合约处理类,则新建合约处理类并将该新建的合约处理类的指针返回;
如果存在对应的合约处理类,则继续判断该合约处理类中的处理对象的合约名称是否与该合约名称相同,若相同则直接返回该合约处理类,若不相同则遍历相同哈希值的哈希结果集链表,依次判断是否存在该合约的处理对象,如存在则返回该处理对象,若不存在则新建该合约的处理对象,并把该新建的处理对象添加在哈希结果集链表的尾端。


3.根据权利要求2所述的基于自定义哈希的双源行情去重方法,其特征在于,在根据行情数据的交易所类型的不同对合约名称进行对应的处理的过程中,若为期货类型,则对该合约名称做自定义的哈希计算,包括对合约名称按位取差,再将差值循环乘以给定的哈希种子值,将最终结果设置为short类型的哈希值,来保证哈希值在65535范围内;若为现货类型,则根据现货合约名称均为数字且不重复的特性,直接将合约名称转为对应整型值的哈希值。


4.根据权利要求1所述的基于自定义哈希的双源行情去重方法,其特征在于,在步骤2中的重定位缓存数组的索引值的过程中,先根据数据更新时间计算出对应的分钟值,再比较数据更新时间的毫秒值,根据毫秒值确定数据在缓存数组中存放的索引位置。


5.根据权利要求1所述的基于自定义哈希的双源行情去重方法,其特征在于,步骤3进一步包括:
如果缓存数组索引的数据更新时间和接收到的行情数据的数据更新时间相同,则认为接收到的行情是重复行情,对接收到的行情数据做丢弃处理;
如果缓存数组索引的数据更新时间小于接收到的行情数据的数据更新时间,则认为是新周期的数据,更新缓存数组的索引值;
如果缓存数组索引的数据更新时间大于接收到的行情数据的数据更新时间,则再继续判断接收的行情数据是否满足日期切换的状态:若满足隔夜状态则更新缓存数组索引值,反之则对接收到的行情数据做丢弃处理。


6.一种基于自定义哈希的双源...

【专利技术属性】
技术研发人员:郑斌曾柯杰王毅鹏韩增王维
申请(专利权)人:上海金融期货信息技术有限公司
类型:发明
国别省市:上海;31

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

1