[发明专利]一种获取数据的方法、FPGA系统以及可读存储介质在审
申请号: | 202010627566.2 | 申请日: | 2020-07-01 |
公开(公告)号: | CN111966486A | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 郭国峰;张盈杰;祝磊;张凯 | 申请(专利权)人: | 深圳华云信息系统有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06Q40/04 |
代理公司: | 深圳智汇远见知识产权代理有限公司 44481 | 代理人: | 李雪鹃;王旭 |
地址: | 518000 广东省深圳市南山区粤海街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 获取 数据 方法 fpga 系统 以及 可读 存储 介质 | ||
本发明实施例涉及一种获取数据的方法、FPGA系统以及可读存储介质,FPGA获取关键信息的哈希值;FPGA通过所述AXI接口在一次HBM的Brust读/写操作,读取所述哈希值的数据信息,所述数据信息包括所述关键信息和数据内容;FPGA用所述关键信息匹配所述数据信息,并获取所述数据内容通过用哈希表的存储方式结合HBM的访问特性,可以更快处理行情数据以及存储,经测试,平均每完成一次股票行情数据的写操作耗时50ns,每完成一次股票的行情数据的读操作耗时120ns。
技术领域
本发明实施例涉及金融交易领域,特别涉及一种获取数据的方法、FPGA系统以及可读存储介质。
背景技术
在软硬件开发过程中,经常需要通过关键字对数据信息进行存储、查找、删除等操作,从而实现数据信息的管理。哈希表能够以平均时间实现插入、删除和查找,因此在实现过程中得到广泛应用。但是所需空间太大也会让人头疼,所以通常需要在二者之间权衡。
实现本发明过程中,发明人发现相关技术中至少存在如下问题:哈希函数的选取和冲突解决。
发明内容
本发明实施例的目的是提供一种获取数据的方法、FPGA系统以及可读存储介质,以解决在不影响访问速度,以最快的速度,最少的资源实现一种哈希表的存储类型。
第一方面,本发明实施例提供了一种获取数据的方法,应用于FPGA系统,所述系统包括:FPGA、HBM和AXI接口,所述方法包括:
所述FPGA获取关键信息的哈希值;
所述FPGA通过所述AXI接口在一次HBM的Brust读/写操作,读取所述哈希值的数据信息,所述数据信息包括所述关键信息和数据内容;
所述FPGA用所述关键信息匹配所述数据信息,并获取所述数据内容。
在一些实施例中,所述FPGA通过所述AXI接口在一次HBM的Brust读/写操作,读取所述哈希值的数据信息,包括:
所述FPGA的表元查找模块在接到复位请求信号后,进入空闲状态,等待所述FPGA的主控制器发起查找请求,以使得在收到所述查找请求后,每个AXI口根据输入的分块首地址,从所述HBM读取对应表元的数据,在访问成功后进行关键字比较。
在一些实施例中,所述FPGA获取关键信息的哈希值之前,还包括:
所述FPGA选取一个哈希函数,使得所述关键信息随机均匀地分布在哈希表中,所述哈希函数对于所述关键信息中的任一关键字,经哈希后映射到地址集合中任何一个地址的概率是相等的;
其中,所述哈希函数将所述关键信息转换为二进制后,取高2位与低12位做哈希值。
在一些实施例中,所述FPGA获取关键信息的哈希值之后,还包括:
所述FPGA建立一个与所述哈希值对应的首地址存储区,每一个首地址对应一个HBM存储块,每一个HBM存储块可分配至少一个表元,每一个表元对应一个AXI口。
在一些实施例中,所述FPGA建立一个与所述哈希值对应的首地址存储区,包括:
所述FPGA的仲裁器采用轮询方式,处理所述HBM访问请求信号,所述FPGA模块包括:表元查找、表元添加、表元删除、数据输入/输出模块;
所述FPGA建立与HBM接口控制器之间的连接,所述HBM接口控制器采用Brust方式对HBM芯片进行读/写操作。
在一些实施例中,所述FPGA建立一个与所述哈希值对应的首地址存储区之前,还包括:
在接到复位信号后进入空闲状态;
接收到区管理模块初始化请求后,修改所述HBM中每一表元的头部数据,存储每个分块的首地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳华云信息系统有限公司,未经深圳华云信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010627566.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置