[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN113254389A - 基于fpga的数据处理方法、装置、电子设备及存储介质 - Google Patents

基于fpga的数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113254389A
CN113254389A CN202110628908.7A CN202110628908A CN113254389A CN 113254389 A CN113254389 A CN 113254389A CN 202110628908 A CN202110628908 A CN 202110628908A CN 113254389 A CN113254389 A CN 113254389A
Authority
CN
China
Prior art keywords
financial
data
storage
code
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110628908.7A
Other languages
English (en)
Other versions
CN113254389B (zh
Inventor
郭国峰
祝磊
胡国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huayun Information System Technology Co.,Ltd.
Original Assignee
Shenzhen Huayun Information System Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Huayun Information System Co ltd filed Critical Shenzhen Huayun Information System Co ltd
Priority to CN202110628908.7A priority Critical patent/CN113254389B/zh
Publication of CN113254389A publication Critical patent/CN113254389A/zh
Application granted granted Critical
Publication of CN113254389B publication Critical patent/CN113254389B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供了一种基于FPGA的数据处理方法、装置、电子设备及存储介质,应用于FPGA,所述方法包括:接收数据存储请求,其中,所述数据存储请求中携带有第一金融工具对应的第一金融代码;基于预设的金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据;确定所述第一关键数据为第一存储地址,将所述第一金融代码存储至所述第一存储地址对应的第一存储空间中。如此采用直接寻址法,将第一金融代码中的一部分作为散列地址进行金融代码的存储,并未包含复杂的数学运算,因此可以轻易地在FPGA上实现,从而实现在FPGA上快速存储金融工具对应的金融代码。

Description

基于FPGA的数据处理方法、装置、电子设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于FPGA的数据处理方法、装置、电子设备及存储介质。
背景技术
金融市场,包括货币市场和资本市场,是资金融通市场。所谓资金融通,是指在经济运行过程中,资金供求双方运用各种金融工具调节资金盈余的活动,是所有金融交易活动的总称,在金融市场上进行交易的是各种金融工具,比如股票、证券、储蓄存单等。
通常对于不同用户而言,其关注的金融工具不同,针对每个用户关注的金融工具,获取其对应的金融代码(例如股票代码),需要存储至相应的存储空间中。其中,需要通过哈希算法查找到相应的存储地址,以便于将金融工具对应的金融代码存储至存储地址对应的存储空间中。
目前,由于FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)可编辑的特性,大都采用FPGA来存储金融工具对应的金融代码。其中,需要通过哈希算法查找到相应的存储地址,以便于将金融工具对应的金融代码存储至存储地址对应的存储空间中。
但是常见的哈希算法通常包含复杂的数学运算,鉴于FPGA本身的特性,导致FPGA并不适合复杂的数学运算,因此常见的哈希算法并不适合在FPGA上实现,从而无法实现在FPGA上快速存储金融工具对应的金融代码。
发明内容
为了解决上述常见的哈希算法并不适合在FPGA上实现,从而无法实现在FPGA上快速存储金融工具对应的金融代码的技术问题,本发明实施例提供了一种基于FPGA的数据处理方法、装置、电子设备及存储介质。
在本发明实施例的第一方面,首先提供了一种基于FPGA的数据处理方法,应用于FPGA,所述方法包括:
接收数据存储请求,其中,所述数据存储请求中携带有第一金融工具对应的第一金融代码;
基于预设的金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据;
确定所述第一关键数据为第一存储地址,将所述第一金融代码存储至所述第一存储地址对应的第一存储空间中。
在一个可选的实施方式中,所述基于预设的金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据,包括:
确定所述第一金融工具对应的第一金融类型;
根据预设的金融类型与金融代码选取策略的映射关系,查找所述第一金融类型对应的第一金融代码选取策略;
根据所述第一金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据。
在一个可选的实施方式中,所述根据所述第一金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据,包括:
将所述第一金融代码转换为第一进制数据,根据所述第一金融代码选取策略,从所述第一进制数据中选取预设位数的第一关键数据。
在一个可选的实施方式中,所述将所述第一金融代码存储至所述第一存储地址对应的第一存储空间中,包括:
确定FPGA对应的存储器,其中,所述存储器的数量至少为一个;
并行读取所述存储器里所述第一存储地址对应的第一存储空间中存储的第一数据;
判断所述第一数据是否与所述第一金融代码一致;
若所述第一数据与所述第一金融代码未一致,判断所述存储器里所述第一存储地址对应的第一存储空间中是否存在第一空闲存储空间;
若所述存储器里所述第一存储地址对应的第一存储空间中存在所述第一空闲存储空间,将所述第一金融代码存储至所述第一空闲存储空间。
在一个可选的实施方式中,所述方法还包括:
若所述第一数据与所述第一金融代码一致,则响应于所述数据存储请求,返回所述第一金融代码已存储的提示。
在一个可选的实施方式中,所述方法还包括:
若所述存储器里所述第一存储地址对应的第一存储空间中未存在所述第一空闲存储空间,则基于预设的线性探查算法,对所述第一存储地址进行处理,并跳转至所述并行读取所述存储器里所述第一存储地址对应的第一存储空间中存储的第一数据的步骤。
在一个可选的实施方式中,所述方法还包括:
接收数据查询请求,其中,所述数据查询请求中携带有第二金融工具对应的第二金融代码;
基于预设的金融代码选取策略,从所述第二金融代码中选取预设位数的第二关键数据;
确定所述第二关键数据为第二存储地址,查询所述第二存储地址对应的第二存储空间中存储的第二数据;
在所述第二数据与所述第二金融代码一致的情况下,响应于所述数据查询请求返回查询成功的提示。
在一个可选的实施方式中,所述基于预设的金融代码选取策略,从所述第二金融代码中选取预设位数的第二关键数据,包括:
确定所述第二金融工具对应的第二金融类型;
根据预设的金融类型与金融代码选取策略的映射关系,查找所述第二金融类型对应的第二金融代码选取策略;
根据所述第二金融代码选取策略,从所述第二金融代码中选取预设位数的第二关键数据。
在一个可选的实施方式中,所述根据所述第二金融代码选取策略,从所述第二金融代码中选取预设位数的第二关键数据,包括:
将所述第二金融代码转换为第二进制数据,根据所述第二金融代码选取策略,从所述第二进制数据中选取预设位数的第二关键数据。
在一个可选的实施方式中,所述查询所述第二存储地址对应的第二存储空间中存储的第二数据,包括:
确定FPGA对应的存储器,其中,所述存储器的数量至少为一个;
并行读取所述存储器里所述第二存储地址对应的第二存储空间中存储的第二数据。
在一个可选的实施方式中,所述方法还包括:
在所述第二数据与所述第二金融代码未一致的情况下,判断所述存储器里所述第二存储地址对应的第二存储空间中是否存在第二空闲存储空间;
若所述存储器里所述第二存储地址对应的第二存储空间中存在所述第二空闲存储空间,响应于所述数据查询请求返回查询无效的提示。
在一个可选的实施方式中,所述方法还包括:
若所述存储器里所述第二存储地址对应的第二存储空间中未存在所述第二空闲存储空间,基于预设的线性探查算法,对所述第二存储地址进行处理,并跳转至所述并行读取所述存储器里所述第二存储地址对应的第二存储空间中存储的第二数据的步骤。
在本发明实施例的第二方面,还提供了一种基于FPGA的数据处理装置,应用于FPGA,所述装置包括:
请求接收模块,用于接收数据存储请求,其中,所述数据存储请求中携带有第一金融工具对应的第一金融代码;
数据选取模块,用于基于预设的金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据;
数据存储模块,用于确定所述第一关键数据为第一存储地址,将所述第一金融代码存储至所述第一存储地址对应的第一存储空间中。
在本发明实施例的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的基于FPGA的数据处理方法。
在本发明实施例的第四方面,还提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中任一所述的基于FPGA的数据处理方法。
在本发明实施例的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的基于FPGA的数据处理方法。
本发明实施例提供的技术方案,接收数据存储请求,其中,数据存储请求中携带有第一金融工具对应的第一金融代码,基于预设的金融代码选取策略,从第一金融代码中选取预设位数的第一关键数据,确定第一关键数据为第一存储地址,将第一金融代码存储至第一存储地址对应的第一存储空间中。如此采用直接寻址法,将第一金融代码中的一部分作为散列地址进行金融代码的存储,并未包含复杂的数学运算,因此可以轻易地在FPGA上实现,从而实现在FPGA上快速存储金融工具对应的金融代码。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中示出的一种基于FPGA的数据处理方法的实施流程示意图;
图2为本发明实施例提供的一种预设位数的第一关键数据的选取方法的实施流程示意图;
图3为本发明实施例提供的一种第一金融代码的存储方法的实施流程示意图;
图4为本发明实施例提供的另一种基于FPGA的数据处理方法的实施流程示意图;
图5为本发明实施例提供的一种预设位数的第二关键数据的选取方法的实施流程示意图;
图6为本发明实施例提供的一种第二数据的查询方法的实施流程示意图;
图7为本发明实施例中示出的一种基于FPGA的数据处理装置的结构示意图;
图8为本发明实施例中示出的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1所示,为本发明实施例提供的一种基于FPGA的数据处理方法的实施流程示意图,应用于FPGA,该方法具体可以包括以下步骤:
S101,接收数据存储请求,其中,所述数据存储请求中携带有第一金融工具对应的第一金融代码。
通常对于不同用户而言,其关注的金融工具不同,就每个用户而言,用户希望将其关注的金融工具对应的金融代码存储至相应的存储空间中。这里金融工具指的是股票、证券、储蓄存单等,相应的金融代码指的是股票代码、证券代码等,本发明实施例对此不作限定。
为了实现将用户关注的金融工具对应的金融代码存储至相应的存储空间中,用户可以在终端侧或者其它设备侧触发数据存储请求,并转发至FPGA,由FPGA接收数据存储请求,其中,数据存储请求中携带有第一金融工具对应的第一金融代码。
例如,以证券为例,为了实现将用户关注的证券对应的证券代码存储至相应的存储空间中,用户可以在终端侧触发数据存储请求,并转发至FPGA,由FPGA接收数据存储请求,其中,数据存储请求中携带有证券对应的证券代码(例如160091)。
S102,基于预设的金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据。
对于第一金融代码,在本发明实施例中可以基于预设的金融代码选取策略,从该第一金融代码中选取预设位数的第一关键数据。例如,对于证券代码,在本发明实施例中,基于预设的金融代码选取策略,从该证券代码中选取9位数的第一关键数据(101010111),意味着第一关键数据的位数是9。
其中,对于不同的金融工具,其对应的金融类型不同,例如股票属于股票类型,证券属于证券类型,相应的随着金融类型的不同,金融代码选取策略也可以存在区别。基于此,本发明实施例预先设置金融类型与金融代码选取策略的映射关系,如下表1所示。
金融类型 金融代码选取策略
股票类型 金融代码选取策略1
证券类型 金融代码选取策略2
…… ……
表1
基于上述,如图2所示,为本发明实施例提供的一种预设位数的第一关键数据的选取方法的实施流程示意图,应用于FPGA,该方法具体可以包括以下步骤:
S201,确定所述第一金融工具对应的第一金融类型。
在本发明实施例中,对于不同的金融工具,其对应的金融类型不同,由此可以确定第一金融工具对应的第一金融类型。例如,第一金融工具为证券,则可以确定第一金融工具对应的第一金融类型:证券类型。
S202,根据预设的金融类型与金融代码选取策略的映射关系,查找所述第一金融类型对应的第一金融代码选取策略。
在本发明实施例中,对于第一金融工具对应的第一金融类型,根据预设的金融类型与金融代码选取策略的映射关系,查找该第一金融类型对应的第一金融代码选取策略。
例如,第一金融工具对应的第一金融类型为证券类型,根据如上述表1所示的金融类型与金融代码选取策略的映射关系,查找证券类型对应的金融代码选取策略2。
S203,根据所述第一金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据。
在本发明实施例中,对于该第一金融类型对应的第一金融代码选取策略,可以根据该第一金融代码选取策略,从第一金融代码中选取预设位数的第一关键数据。
例如,对于证券类型对应的金融代码选取策略2,可以根据该金融代码选取策略2,从该证券代码中选取9位数的第一关键数据,比如第一关键数据101010111。
其中,在本发明实施例中,可以将第一金融代码转换为第一进制数据,根据第一金融代码选取策略,从第一进制数据中选取预设位数的第一关键数据。
例如,对于证券代码,将该证券代码转换为二进制数据,根据该金融代码选取策略2,从该二进制数据中选取9位数的第一关键数据,其中,选取该二进制数据中低9位作为9位数的第一关键数据。
需要说明的是,这里将第一金融代码转换为第一进制数据,具体可以是转换为二进制数据,可以是转换为八进制数据,可以转换为十六进制数据,当然优选的转换为二进制数据,本发明实施例对此不作限定。
S103,确定所述第一关键数据为第一存储地址,将所述第一金融代码存储至所述第一存储地址对应的第一存储空间中。
在本发明实施例中,对于上述第一关键数据,可以确定该第一关键数据为第一存储地址,从而可以将该第一金融代码存储至第一存储地址对应的第一存储空间中,从而完成第一金融代码的存储。
如此采用直接寻址法,将第一金融代码中的一部分作为散列地址进行金融代码的存储,并未包含复杂的数学运算,因此可以轻易地在FPGA上实现,从而实现在FPGA上快速存储金融工具对应的金融代码。
其中,如图3所示,为本发明实施例提供的一种第一金融代码的存储方法的实施流程示意图,应用于FPGA,该方法具体可以包括以下步骤:
S301,确定FPGA对应的存储器,其中,所述存储器的数量至少为一个。
对于FPGA,可以预先配置对应的存储器,例如对于FPGA,采用四个位宽为27、深度为512的Block RAM,可以存储2048支证券代码,27位存储数据包含了1位占用标志位和26位证券代码的二进制数据,每个RAM存在对应的编号,例如00,01,10,11等,则证券代码的存储地址由RAM的编号以及26位证券代码的二进制数据的低9位组成。
基于此,在本发明实施例中,可以确定FPGA对应的存储器,其中,存储器的数量至少为一个。例如,确定FPGA对应的四个位宽为27、深度为512的Block RAM:RAM00、RAM01、RAM10、RAM11,每个RAM的存储空间均一致。
S302,并行读取所述存储器里所述第一存储地址对应的第一存储空间中存储的第一数据。
在本发明实施例中,对于FPGA对应的存储器,鉴于FPGA的并行处理能力,可以并行读取存储器里第一存储地址对应的第一存储空间中存储的第一数据,从而可以得到存储器里第一存储地址对应的第一存储空间中存储的第一数据。
例如,以证券代码的二进制数据低9位作为第一存储地址,并行读取4个RAM里该第一存储地址对应的第一存储空间中存储的第一数据,意味着,针对每个RAM,均读取该第一存储地址对应的第一存储空间中存储的第一数据。
S303,判断所述第一数据是否与所述第一金融代码一致。
在本发明实施例中,对于存储器里第一存储地址对应的第一存储空间中存储的第一数据,可以判断该第一数据是否与第一金融代码一致,从而确定是否对第一金融代码进行存储。
例如,对于4个RAM里该第一存储地址对应的第一存储空间中存储的第一数据,判断该第一数据是否与证券代码一致,从而根据判断结果决定是否对证券代码进行存储。
S304,若所述第一数据与所述第一金融代码未一致,判断所述存储器里所述第一存储地址对应的第一存储空间中是否存在第一空闲存储空间。
在本发明实施例中,对于存储器里第一存储地址对应的第一存储空间中存储的第一数据,若该第一数据与第一金融代码一致,则说明第一金融代码已经存储,无需再次存储,可以响应于数据存储请求,返回第一金融代码已存储的提示。
此外,若该第一数据与第一金融代码未一致,说明第一金融代码还未存储,则可以继续判断存储器里第一存储地址对应的第一存储空间中是否存在第一空闲存储空间,从而根据判断结果决定将第一金融代码存储至哪里。
例如,对于4个RAM里该第一存储地址对应的第一存储空间中存储的第一数据,判断该第一数据是否与证券代码一致,如果一致,则响应于数据存储请求,返回证券代码已存储的提示,如果未一致,则判断4个RAM里该第一存储地址对应的第一存储空间中是否存在第一空闲存储空间。
S305,若所述存储器里所述第一存储地址对应的第一存储空间中存在所述第一空闲存储空间,将所述第一金融代码存储至所述第一空闲存储空间。
在本发明实施例中,如果存储器里第一存储地址对应的第一存储空间中存在第一空闲存储空间,从而可以将第一金融代码存储至第一空闲存储空间,从而完成第一金融代码的存储。
例如,4个RAM里该第一存储地址对应的第一存储空间中存在第一空闲存储空间,从而可以将证券代码存储至第一空闲存储空间,从而完成证券代码的存储。
需要说明的是,对于第一空闲存储空间,可以存在多个第一空闲存储空间。例如,这里4个RAM里该第一存储地址对应的第一存储空间,第一存储空间的数量与RAM的数量一致,也是4个,则第一空闲存储空间的数量,可以是3个,可以是2个,可以是1个,本发明实施例对此不作限定。
从而根据RAM的编号从第一空闲存储空间中选取某一个第一空闲存储空间,将第一金融代码进行存储,其中,可以优选选取编号靠前的第一空闲存储空间对第一金融代码存储,例如选取RAM10中的第一空闲存储空间,或者选取RAM11中的第一空闲存储空间。
此外,如果存储器里第一存储地址对应的第一存储空间中未存在第一空闲存储空间,说明发生了存储地址冲突,此时可以基于预设的线性探查算法,对第一存储地址进行处理,并跳转至并行读取存储器里第一存储地址对应的第一存储空间中存储的第一数据的步骤,即S302。
需要说明的是,这里线性探查算法,其实质就是让第一存储地址以线上增长的方式增长。例如第一存储地址加1,或者第一存储地址乘以2,然后加1,具体地线上增长的方式,在本发明实施例中不做具体限定,可以是任意形式的线上增长的方式。
例如,假设当前第一存储地址101010100,基于预设的线性探查算法,对第一存储地址进行处理,则将当前第一存储地址101010100加1,从而第一存储地址得到了更新,从而可以重新跳转至S302,继续执行第一金融代码的存储流程,直至第一金融代码存储完成。
通过上述对本发明实施例提供的技术方案的描述,接收数据存储请求,其中,数据存储请求中携带有第一金融工具对应的第一金融代码,基于预设的金融代码选取策略,从第一金融代码中选取预设位数的第一关键数据,确定第一关键数据为第一存储地址,将第一金融代码存储至第一存储地址对应的第一存储空间中。
如此采用直接寻址法,将第一金融代码中的一部分作为散列地址进行金融代码的存储,并未包含复杂的数学运算,因此可以轻易地在FPGA上实现,从而实现在FPGA上快速存储金融工具对应的金融代码。
如图4所示,为本发明实施例提供的另一种基于FPGA的数据处理方法的实施流程示意图,应用于FPGA,该方法具体可以包括以下步骤:
S401,接收数据查询请求,其中,所述数据查询请求中携带有第二金融工具对应的第二金融代码。
通常对于不同用户而言,其关注的金融工具不同,就每个用户而言,用户有时候希望查询其关注的金融工具对应的金融代码。这里金融工具指的是股票、证券、储蓄存单等,相应的金融代码指的是股票代码、证券代码等,本发明实施例对此不作限定。
为了实现用户可以查询其关注的金融工具对应的金融代码,用户可以在终端测或者其他设备侧触发数据查询请求,并转发至FPGA,由FPGA接收数据查询请求,其中,数据查询请求中携带有第二金融工具对应的第二金融代码。
例如,以证券为例,为了实现用户可以查询其关注的证券对应的证券代码,用户可以在终端测或者其他设备侧触发数据查询请求,并转发至FPGA,由FPGA接收数据查询请求,其中,数据查询请求中携带有证券对应的证券代码。
S402,基于预设的金融代码选取策略,从所述第二金融代码中选取预设位数的第二关键数据。
对于第二金融代码,在本发明实施例可以基于预设的金融代码选取策略,从第二金融代码中选取预设位数的第二关键数据。例如,对于证券代码,在本发明实施例中,基于预设的金融代码选取策略,从该证券代码中选取9位数的第二关键数据(101010111),意味着第二关键数据的位数是9。
其中,对于不同的金融工具,其对应的金融类型不同,例如股票属于股票类型,证券属于证券类型,相应的随着金融类型的不同,金融代码选取策略也存在区别。基于此,本发明实施例预先设置金融类型与金融代码选取策略的映射关系,如上述表1所示。
基于上述所述,如图5所示,为本发明实施例提供的一种预设位数的第二关键数据的选取方法的实施流程示意图,应用于FPGA,该方法具体可以包括以下步骤:
S501,确定所述第二金融工具对应的第二金融类型。
在本发明实施例中,对于不同的金融工具,其对应的金融类型不同,由此可以确定第二金融工具对应的第二金融类型。例如,第二金融工具为证券,则可以确定第二金融工具对应的第二金融类型:证券类型。
S502,根据预设的金融类型与金融代码选取策略的映射关系,查找所述第二金融类型对应的第二金融代码选取策略。
在本发明实施例中,对于第二金融工具对应的第二金融类型,根据预设的金融类型与金融代码选取策略的映射关系,查找该第二金融类型对应的第二金融代码选取策略。
例如,第二金融工具对应的第二金融类型为证券类型,根据如上述表1所示的金融类型与金融代码选取策略的映射关系,查找证券类型对应的金融代码选取策略2。
S503,根据所述第二金融代码选取策略,从所述第二金融代码中选取预设位数的第二关键数据。
在本发明实施例中,对于该第二金融类型对应的第二金融代码选取策略,可以根据该第二金融代码选取策略,从第二金融代码中选取预设位数的第二关键数据。
例如,对于证券类型对应的金融代码选取策略2,可以根据该金融代码选取策略2,从该证券代码中选取9位数的第二关键数据,比如第二关键数据101010111。
其中,在本发明实施例中,可以将第二金融代码转换为第二进制数据,根据第二金融代码选取策略,从第二进制数据中选取预设位数的第二关键数据。
例如,对于证券代码,将该证券代码转换为二进制数据,根据该金融代码选取策略2,从该二进制数据中选取9位数的第二关键数据,其中,选取该二进制数据中低9位作为9位数的第二关键数据。
需要说明的是,这里将第二金融代码转换为第二进制数据,具体可以是转换为二进制数据,可以是转换为八进制数据,可以转换为十六进制数据,当然优选的转换为二进制数据,本发明实施例对此不作限定。
S403,确定所述第二关键数据为第二存储地址,查询所述第二存储地址对应的第二存储空间中存储的第二数据。
S404,在所述第二数据与所述第二金融代码一致的情况下,响应于所述数据查询请求返回查询成功的提示。
在本发明实施例中,对于上述第二关键数据,可以确定该第二关键数据为第二存储地址,从而可以查询该第二存储地址对应的第二存储空间中存储的第二数据。
其中,如图6所示,为本发明实施例提供的一种第二数据的查询方法的实施流程示意图,应用于FPGA,该方法具体可以包括以下步骤:
S601,确定FPGA对应的存储器,其中,所述存储器的数量至少为一个。
在本发明实施例中,本步骤与上述步骤S301类似,本发明实施例在此不再一一赘述。
S602,并行读取所述存储器里所述第二存储地址对应的第二存储空间中存储的第二数据。
在本发明实施例中,对于FPGA对应的存储器,可以并行读取存储器里第二存储地址对应的第二存储空间中存储的第二数据,从而可以得到存储器里第二存储地址对应的第二存储空间中存储的第二数据。
例如,以证券代码的二进制数据低9位作为第二存储地址,并行读取4个RAM里该第二存储地址对应的第二存储空间中存储的第二数据,意味着,针对每个RAM,均读取该第二存储地址对应的第二存储空间中存储的第二数据。
对于上述第二数据,判断该第二数据是否与第二金融代码一致,在第二数据与第二金融代码一致的情况下,响应于数据查询请求返回查询成功的提示。
如此采用直接寻址法,将第二金融代码中的一部分作为散列地址进行金融代码的查询,并未包含复杂的数学运算,因此可以轻易地在FPGA上实现,从而实现在FPGA上快速查询金融工具对应的金融代码。
例如,对于4个RAM里该第二存储地址对应的第二存储空间中存储的第二数据,在第二数据与证券代码一致的情况下,则响应于数据查询请求返回查询成功的提示。
在第二数据与第二金融代码未一致的情况下,判断存储器里第二存储地址对应的第二存储空间中是否存在第二空闲存储空间,若存储器里第二存储地址对应的第二存储空间中存在第二空闲存储空间,响应于数据查询请求返回查询无效的提示,意味着第二金融代码并未存储。
例如,对于4个RAM里该第二存储地址对应的第二存储空间中存储的第二数据,在第二数据与证券代码未一致的情况下,判断4个RAM里该第二存储地址对应的第二存储空间中是否存在第二空闲存储空间,若4个RAM里该第二存储地址对应的第二存储空间中存在第二空闲存储空间,说明该证券代码并未存储,则响应于数据查询请求返回查询无效的提示。
此外,若存储器里第二存储地址对应的第二存储空间中未存在第二空闲存储空间,说明发生了存储地址冲突,此时可以基于预设的线性探查算法,对第二存储地址进行处理,并跳转至并行读取存储器里第二存储地址对应的第二存储空间中存储的第二数据的步骤,即S602。
需要说明的是,这里线性探查算法,其实质就是让第一存储地址以线上增长的方式增长,例如第一存储地址加1,或者第一存储地址乘以2,然后加1,具体地线上增长的方式,在本发明实施例中不做具体限定,可以是任意形式的线上增长的方式。
例如,假设当前第二存储地址101010100,基于预设的线性探查算法,对第二存储地址进行处理,则将当前第二存储地址101010100加1,从而第二存储地址得到了更新,从而可以跳转至S602,继续执行第二金融代码的查询流程,直至完成第二金融代码的查询流程。
通过上述对本发明实施例提供的技术方案的描述,接收数据查询请求,其中,数据查询请求中携带有第二金融工具对应的第二金融代码,基于预设的金融代码选取策略,从第二金融代码中选取预设位数的第二关键数据,确定第二关键数据为第二存储地址,查询第二存储地址对应的第二存储空间中存储的第二数据,在第二数据与第二金融代码一致的情况下,响应于数据查询请求返回查询成功的提示。
如此采用直接寻址法,将第二金融代码中的一部分作为散列地址进行金融代码的查询,并未包含复杂的数学运算,因此可以轻易地在FPGA上实现,从而实现在FPGA上快速查询金融工具对应的金融代码。需要说明的是,对于金融代码的存储与查询流程可以同时进行,结果同时输出,本发明实施例对此不作限定。
与上述方法实施例相对应,本发明实施例还提供了一种基于FPGA的数据处理装置,如图7所示,应用于FPGA,该装置可以包括:请求接收模块710、数据选取模块720、数据存储模块730。
请求接收模块710,用于接收数据存储请求,其中,所述数据存储请求中携带有第一金融工具对应的第一金融代码;
数据选取模块720,用于基于预设的金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据;
数据存储模块730,用于确定所述第一关键数据为第一存储地址,将所述第一金融代码存储至所述第一存储地址对应的第一存储空间中。
本发明实施例还提供了一种电子设备,如图8所示,包括处理器81、通信接口82、存储器83和通信总线84,其中,处理器81,通信接口82,存储器83通过通信总线84完成相互间的通信,
存储器83,用于存放计算机程序;
处理器81,用于执行存储器83上所存放的程序时,实现如下步骤:
接收数据存储请求,其中,所述数据存储请求中携带有第一金融工具对应的第一金融代码;基于预设的金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据;确定所述第一关键数据为第一存储地址,将所述第一金融代码存储至所述第一存储地址对应的第一存储空间中。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种存储介质,该存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于FPGA的数据处理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于FPGA的数据处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在存储介质中,或者从一个存储介质向另一个存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (15)

1.一种基于FPGA的数据处理方法,其特征在于,应用于FPGA,所述方法包括:
接收数据存储请求,其中,所述数据存储请求中携带有第一金融工具对应的第一金融代码;
基于预设的金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据;
确定所述第一关键数据为第一存储地址,将所述第一金融代码存储至所述第一存储地址对应的第一存储空间中。
2.根据权利要求1所述的方法,其特征在于,所述基于预设的金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据,包括:
确定所述第一金融工具对应的第一金融类型;
根据预设的金融类型与金融代码选取策略的映射关系,查找所述第一金融类型对应的第一金融代码选取策略;
根据所述第一金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据,包括:
将所述第一金融代码转换为第一进制数据,根据所述第一金融代码选取策略,从所述第一进制数据中选取预设位数的第一关键数据。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一金融代码存储至所述第一存储地址对应的第一存储空间中,包括:
确定FPGA对应的存储器,其中,所述存储器的数量至少为一个;
并行读取所述存储器里所述第一存储地址对应的第一存储空间中存储的第一数据;
判断所述第一数据是否与所述第一金融代码一致;
若所述第一数据与所述第一金融代码未一致,判断所述存储器里所述第一存储地址对应的第一存储空间中是否存在第一空闲存储空间;
若所述存储器里所述第一存储地址对应的第一存储空间中存在所述第一空闲存储空间,将所述第一金融代码存储至所述第一空闲存储空间。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第一数据与所述第一金融代码一致,则响应于所述数据存储请求,返回所述第一金融代码已存储的提示。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述存储器里所述第一存储地址对应的第一存储空间中未存在所述第一空闲存储空间,则基于预设的线性探查算法,对所述第一存储地址进行处理,并跳转至所述并行读取所述存储器里所述第一存储地址对应的第一存储空间中存储的第一数据的步骤。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收数据查询请求,其中,所述数据查询请求中携带有第二金融工具对应的第二金融代码;
基于预设的金融代码选取策略,从所述第二金融代码中选取预设位数的第二关键数据;
确定所述第二关键数据为第二存储地址,查询所述第二存储地址对应的第二存储空间中存储的第二数据;
在所述第二数据与所述第二金融代码一致的情况下,响应于所述数据查询请求返回查询成功的提示。
8.根据权利要求7所述的方法,其特征在于,所述基于预设的金融代码选取策略,从所述第二金融代码中选取预设位数的第二关键数据,包括:
确定所述第二金融工具对应的第二金融类型;
根据预设的金融类型与金融代码选取策略的映射关系,查找所述第二金融类型对应的第二金融代码选取策略;
根据所述第二金融代码选取策略,从所述第二金融代码中选取预设位数的第二关键数据。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第二金融代码选取策略,从所述第二金融代码中选取预设位数的第二关键数据,包括:
将所述第二金融代码转换为第二进制数据,根据所述第二金融代码选取策略,从所述第二进制数据中选取预设位数的第二关键数据。
10.根据权利要求7所述的方法,其特征在于,所述查询所述第二存储地址对应的第二存储空间中存储的第二数据,包括:
确定FPGA对应的存储器,其中,所述存储器的数量至少为一个;
并行读取所述存储器里所述第二存储地址对应的第二存储空间中存储的第二数据。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在所述第二数据与所述第二金融代码未一致的情况下,判断所述存储器里所述第二存储地址对应的第二存储空间中是否存在第二空闲存储空间;
若所述存储器里所述第二存储地址对应的第二存储空间中存在所述第二空闲存储空间,响应于所述数据查询请求返回查询无效的提示。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
若所述存储器里所述第二存储地址对应的第二存储空间中未存在所述第二空闲存储空间,基于预设的线性探查算法,对所述第二存储地址进行处理,并跳转至所述并行读取所述存储器里所述第二存储地址对应的第二存储空间中存储的第二数据的步骤。
13.一种基于FPGA的数据处理装置,其特征在于,应用于FPGA,所述装置包括:
请求接收模块,用于接收数据存储请求,其中,所述数据存储请求中携带有第一金融工具对应的第一金融代码;
数据选取模块,用于基于预设的金融代码选取策略,从所述第一金融代码中选取预设位数的第一关键数据;
数据存储模块,用于确定所述第一关键数据为第一存储地址,将所述第一金融代码存储至所述第一存储地址对应的第一存储空间中。
14.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-12中任一所述的方法步骤。
15.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-12中任一所述的方法。
CN202110628908.7A 2021-06-07 2021-06-07 基于fpga的数据处理方法、装置、电子设备及存储介质 Active CN113254389B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110628908.7A CN113254389B (zh) 2021-06-07 2021-06-07 基于fpga的数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110628908.7A CN113254389B (zh) 2021-06-07 2021-06-07 基于fpga的数据处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113254389A true CN113254389A (zh) 2021-08-13
CN113254389B CN113254389B (zh) 2021-10-29

Family

ID=77186598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110628908.7A Active CN113254389B (zh) 2021-06-07 2021-06-07 基于fpga的数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113254389B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116225977A (zh) * 2023-05-09 2023-06-06 中信建投证券股份有限公司 一种存储地址确定方法及电路系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996288B1 (en) * 2000-11-15 2011-08-09 Iprivacy, Llc Method and system for processing recurrent consumer transactions
CN105095095A (zh) * 2014-05-12 2015-11-25 上海大学 一种计算机系统及数据读写方法
US20180211321A1 (en) * 2013-03-15 2018-07-26 Broadridge Financial Solutions, Inc. Mapping consumer ownership of financial assets to geographic localities and computer-implemented methods and computer systems thereof
CN109766316A (zh) * 2018-12-18 2019-05-17 深圳壹账通智能科技有限公司 文件获取方法、装置、计算机设备和存储介质
CN111857868A (zh) * 2020-06-30 2020-10-30 浪潮电子信息产业股份有限公司 证券数据的读写方法、装置、设备及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996288B1 (en) * 2000-11-15 2011-08-09 Iprivacy, Llc Method and system for processing recurrent consumer transactions
US20180211321A1 (en) * 2013-03-15 2018-07-26 Broadridge Financial Solutions, Inc. Mapping consumer ownership of financial assets to geographic localities and computer-implemented methods and computer systems thereof
CN105095095A (zh) * 2014-05-12 2015-11-25 上海大学 一种计算机系统及数据读写方法
CN109766316A (zh) * 2018-12-18 2019-05-17 深圳壹账通智能科技有限公司 文件获取方法、装置、计算机设备和存储介质
CN111857868A (zh) * 2020-06-30 2020-10-30 浪潮电子信息产业股份有限公司 证券数据的读写方法、装置、设备及计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116225977A (zh) * 2023-05-09 2023-06-06 中信建投证券股份有限公司 一种存储地址确定方法及电路系统
CN116225977B (zh) * 2023-05-09 2023-08-11 中信建投证券股份有限公司 一种存储地址确定方法及电路系统

Also Published As

Publication number Publication date
CN113254389B (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
CN107798038B (zh) 数据响应方法及数据响应设备
CN107704202B (zh) 一种数据快速读写的方法和装置
CN111062013B (zh) 一种账号过滤方法、装置、电子设备及机器可读存储介质
CN110110165B (zh) 用于预计算系统中查询引擎的动态路由方法及装置
CN113254389B (zh) 基于fpga的数据处理方法、装置、电子设备及存储介质
CN112330398A (zh) 一种对象处理方法、装置、电子设备及存储介质
CN111026765A (zh) 严格平衡二叉树的动态处理方法、设备、存储介质及装置
CN111914279B (zh) 一种高效准确的隐私求交系统、方法及装置
CN105989457A (zh) 一种信息查询方法及装置
CN109981569A (zh) 网络系统访问方法、装置、计算机设备及可读存储介质
CN112948433A (zh) 一种跨区块链查询方法、装置、系统、设备及介质
CN109600254B (zh) 全链路日志的生成方法及相关系统
CN115757406A (zh) 数据存储方法、装置、电子设备及存储介质
de Carvalho et al. Similarity‐based clustering for patterns of extreme values
CN110727895B (zh) 一种敏感词发送方法、装置、电子设备及存储介质
CN115865839B (zh) Acl管理方法、装置、通信设备及存储介质
CN111506613A (zh) 一种数据记录的关联关系的查询方法、系统、装置及设备
CN117828155A (zh) 防爬虫处理方法、装置及电子设备、存储介质
CN115587701A (zh) 一种企业风险评估处理方法、装置及电子设备
CN114429177A (zh) 设备指纹特征筛选方法、装置、电子设备及存储介质
CN110209666B (zh) 一种数据存储方法及终端设备
CN112148721A (zh) 数据检核方法、装置、电子设备及存储介质
CN113592495A (zh) 一种基于区块链的存证方法、装置及系统
CN112784552A (zh) 一种表格编辑方法及装置
CN113238939A (zh) 测试用例的生成方法、装置、设备、存储介质及程序

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Data processing method, device, electronic equipment and storage medium based on FPGA

Effective date of registration: 20220615

Granted publication date: 20211029

Pledgee: Shenzhen hi tech investment small loan Co.,Ltd.

Pledgor: Shenzhen Huayun Information System Co.,Ltd.

Registration number: Y2022980007817

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 9th Floor, Block A, Shenzhen National Engineering Laboratory Building, No. 20, Gaoxin South 7th Road, High-tech Zone Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong 518000

Patentee after: Shenzhen Huayun Information System Technology Co.,Ltd.

Address before: No. 904, block a, national engineering laboratory building, Gaoxin South 7th road digital technology park, Yuehai street, Nanshan District, Shenzhen, Guangdong 518000

Patentee before: Shenzhen Huayun Information System Co.,Ltd.

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230711

Granted publication date: 20211029

Pledgee: Shenzhen hi tech investment small loan Co.,Ltd.

Pledgor: Shenzhen Huayun Information System Co.,Ltd.

Registration number: Y2022980007817