本发明涉及一种基于fpga数据库性能高速评判系统和使用方法,属于数据库设计。
背景技术:
1、目前数据库性能评判当前存在的问题主要包括以下几个方面:性能指标不统一:不同厂商和不同版本的数据库系统所提供的性能指标各不相同,这给用户在比较不同数据库系统的性能时带来了困难。性能测试标准不规范:目前数据库性能测试的标准和方法并不规范,导致测试结果的可比性和可靠性存在疑问。数据量的问题:随着大数据时代的到来,数据量呈现出爆炸式增长,对数据库的性能提出了更高的要求。而且不同厂商不同类别的数据库产品在数据处理效率、查询可靠性等方面已展现出巨大差异,这为用户的数据库定制和使用选择带来了巨大挑战。当前缺少一种完善数据库性能评判的标准和规范,推动性能测试场景的全面性和规范性,提高性能测试工具的可靠性和准确性。
技术实现思路
1、本发明目的是提供了一种基于fpga数据库性能高速评判系统和使用方法,保证了性能评判的效率,满足多种数据库查询处理操作。
2、本发明为实现上述目的,通过以下技术方案实现:
3、数据库总控服务器和基于fpga的数据库性能评判卡,所述数据库总控服务器通过pcie与基于fpga的数据库性能评判卡进行数据交互;
4、所述数据库总控服务器为待评判数据库,可独立完成数据存储、读写和数据处理任务;
5、所述基于fpga的数据库性能高速评判卡被配置为向数据库总控服务器发送数据库性能测试数据,并根据返回数据及处理效率信息计算评判结果;并将评判结果输出。
6、优选的,所述数据库总控服务器包括数据库内存和数据库总控服务器cpu;
7、所述数据库内存被配置为存储数据,并接收数据库总控服务器cpu的命令对数据进行数据存储、读写和数据处理任务;
8、所述数据库总控服务器cpu被配置为通过pcle接口与基于fpga的数据库性能高速评判卡进行数据交互,通过pcie接口接收基于fpga的数据库性能高速评判卡发送的的待处理数据和指令,根据指令控制数据库内存进行数据存储、读写和数据处理任务,并将处理结果和处理时长通过pcle接口发送至基于fpga的数据库性能高速评判卡。
9、优选的,所述基于fpga的数据库性能高速评判卡包括fpga芯片、ddr4存储器、按键键盘、晶振模块、电源模块、jtag接口和数据缓存模块;
10、所述按键键盘被配置为输入评判功能需求编码和开始指令;
11、所述ddr4存储器存储测试数据;
12、所述晶振模块被配置为系统计时;
13、所述电源模块被配置为为系统供电;
14、所述jtag接口被配置为传输调试信息;
15、所述数据缓存模块被配置为缓存fpga芯片与数据库总控服务器cpu交互数据;
16、所述fpga芯片被配置为获取按键键盘输入的评判功能需求编码和开始指令,读取dde4对指令应存储分区存储的测试数据,通过数据缓存模块将测试数据发送至数据库总控服务器cpu;并读取数据库总控服务器cpu返回数据及处理效率信息,计算评判结果。
17、优选的,所述评判功能需求编码包括多维排序、分组聚合、分层连接、选择过滤操作中的一项或多项组合。
18、优选的,所述fpga芯片包括输入指令解析模块、地址分配模块、需求复杂度系数计算模块、数据控制状态机、ddr4存储读取模块、数据读写模块、pcie协议转换模块、评判数据缓存表、评判数据解码模块、性能评判算法计算模块 、性能评判结果输出缓存模块;
19、所述输入指令解析模块被配置为解析评判功能需求编码,获取评判需求操作种类解析结果,并将解析结果发送至评判数据缓存表、需求复杂度系数计算模块和地址分配模块;
20、所述地址分配模块被配置为根据接收到的评判需求操作种类解析结果寻找对应操作拟处理数据在ddr4存储器的存储位置以及操作的状态机处理类别,并发送至数据控制状态机;
21、所述数据控制状态机被配置为根据接收到的对应操作拟处理数据在ddr4存储器的存储位置和状态机处理类别,通过ddr4存储读取模块从操作数据对应的ddr4存储器存储分区地址读取拟处理数据,并将拟处理数据和处理类别发送至数据读写模块;所述数据控制状态机还根据接收时间记录数据库总控服务器cpu数据处理时长,并逐一对比数据库总控服务器cpu处理结果,输出cpu数据处理准确率和cpu数据处理时长至性能评判算法计算模块;
22、所述数据读写模块被配置为将拟处理数据和处理类别进行打包,通过pcie协议转换模块对数据包进行格式转换,将数据发送至数据库总控服务器cpu;并接收经pcie协议转换模块转换后的处理结果,将处理结果解码发送至数据控制状态机模块;
23、所述评判数据解码模块被配置为获取评判数据缓存表中评判需求操作种类的算法执行参数数据二进制码流,对参数进行解码,将解码结果发送至性能评判算法计算模块;
24、所述需求复杂度系数计算模块被配置为计算当前数据库总控服务器cpu执行操作的复杂度参数,并将复杂度参数发送至性能评判算法计算模块;
25、所述性能评判算法计算模块被配置为获取评判需求操作种类的算法执行参数、总控服务器cpu数据处理时长、cpu数据处理准确率、需求复杂度系数参数,计算数据库总控服务器cpu执行用户目标操作的处理性能评判结果,并将结果发送至性能评判结果输出缓存模块。
26、一种基于fpga数据库性能高速评判系统的使用方法,包括:
27、步骤1:基于fpga的数据库性能高速评判卡接收到数据库性能评判指令;
28、步骤2:fpga芯片读取ddr4对指令应存储分区存储的测试数据,通过pcie接口将待测试数据和指令发送至数据库总控服务器cpu;
29、步骤3:数据库总控服务器cpu根据接收到的测试数据和指令控制数据库内存进行数据存储、读写和数据处理任务,获取处理结果,并记录等待时长;
30、步骤4:数据库总控服务器cpu将处理结果和等待时长打包发送至基于fpga的数据库性能高速评判卡;
31、步骤5:所述fpga芯片读取处理结果数据,与标准结果数据以行为单位逐条对照,根据对照结果、操作复杂系数、cpu处理时长通过评判性能评判结果,并将评判结果发送至用户终端,完成单次性能评判。
32、优选的,所述步骤1具体如下:基于fpga的数据库性能高速评判卡接收到键盘输入的评判功能需求编码和开始指令后,所述输入指令解析模块解析评判功能需求编码,获取评判需求操作种类解析结果,并将解析结果发送至评判数据缓存表、需求复杂度系数计算模块和地址分配模块。
33、优选的,所述评判功能需求编码为多维排序、分组聚合、分层连接、选择过滤操作一项或多项的组合。
34、优选的,所述步骤2具体如下:
35、所述地址分配模块根据接收到的评判需求操作种类解析结果寻找对应操作拟处理数据在ddr4存储器的存储位置以及操作的状态机处理类别,并发送至数据控制状态机;
36、所述数据控制状态机根据接收到的对应操作拟处理数据在ddr4存储器的存储位置和状态机处理类别,通过ddr4存储读取模块从操作数据对应的ddr4存储器存储分区地址读取拟处理数据,并将拟处理数据和处理类别发送至数据读写模块;
37、所述数据读写模块被配置为将拟处理数据和处理类别进行打包,通过pcie协议转换模块对数据包进行格式转换,将数据发送至数据库总控服务器cpu;
38、优选的,所述步骤5具体如下:
39、所述数据读写模块接收经pcie协议转换模块转换后的处理结果,将处理结果解码发送至数据控制状态机模块;
40、所述数据控制状态机根据接收时间记录数据库总控服务器cpu数据处理时长,并逐一对比数据库总控服务器cpu处理结果,输出cpu数据处理准确率和cpu数据处理时长至性能评判算法计算模块;
41、所述评判数据解码模块被配置为获取评判数据缓存表中评判需求操作种类的算法执行参数数据二进制码流,对参数进行解码,将解码结果发送至性能评判算法计算模块;
42、所述需求复杂度系数计算模块被配置为计算当前数据库总控服务器cpu执行操作的复杂度参数,并将复杂度参数发送至性能评判算法计算模块;
43、所述性能评判算法计算模块被配置为获取评判需求操作种类的算法执行参数、总控服务器cpu数据处理时长、cpu数据处理准确率、需求复杂度系数参数,计算数据库总控服务器cpu执行用户目标操作的处理性能评判结果,并将结果发送至性能评判结果输出缓存模块;
44、所述性能评判结果输出缓存模块通过pcie接口将评判结果发送至用户终端,完成数据库性能评判任务。
45、本发明的优点在于:本发明通过fpga对数据库总控服务器的性能进行评判,并行处理较传统软件评测方式效率更高、速度更快,可同时执行多个性能的评判和测试。通过fpga对数据库总控服务器的性能进行评判可以降低数据库服务器cpu的计算开销,不影响数据库服务器其他任务的执行。本发买那个使用方法简单便捷,性能评判无需对数据库服务器关机断电,无需对数据库重启更新,使用时直接通过pcie接口插拔性能评判卡即可。
1.一种基于fpga数据库性能高速评判系统,其特征在于,包括:数据库总控服务器和基于fpga的数据库性能评判卡,所述数据库总控服务器通过pcie与基于fpga的数据库性能评判卡进行数据交互;
2.根据权利要求1所述的基于fpga数据库性能高速评判系统,其特征在于,所述数据库总控服务器包括数据库内存和数据库总控服务器cpu;
3.根据权利要求2所述的基于fpga数据库性能高速评判系统,其特征在于,所述基于fpga的数据库性能高速评判卡包括fpga芯片、ddr4存储器、按键键盘、晶振模块、电源模块、jtag接口和数据缓存模块;
4.根据权利要求3所述的基于fpga数据库性能高速评判系统,其特征在于,所述评判功能需求编码包括多维排序、分组聚合、分层连接、选择过滤操作中的一项或多项组合。
5.根据权利要求3所述的基于fpga数据库性能高速评判系统,其特征在于,所述fpga芯片包括输入指令解析模块、地址分配模块、需求复杂度系数计算模块、数据控制状态机、ddr4存储读取模块、数据读写模块、pcie协议转换模块、评判数据缓存表、评判数据解码模块、性能评判算法计算模块 、性能评判结果输出缓存模块;
6.一种基于fpga数据库性能高速评判系统的使用方法,其特征在于,包括:
7.根据权利要求6所述的基于fpga数据库性能高速评判系统的使用方法,其特征在于,所述步骤1具体如下:基于fpga的数据库性能高速评判卡接收到键盘输入的评判功能需求编码和开始指令后,所述输入指令解析模块解析评判功能需求编码,获取评判需求操作种类解析结果,并将解析结果发送至评判数据缓存表、需求复杂度系数计算模块和地址分配模块。
8.根据权利要求7所述的基于fpga数据库性能高速评判系统的使用方法,其特征在于,所述评判功能需求编码为多维排序、分组聚合、分层连接、选择过滤操作一项或多项的组合。
9.根据权利要求7所述的基于fpga数据库性能高速评判系统的使用方法,其特征在于,所述步骤2具体如下:
10.根据权利要求9所述的基于fpga数据库性能高速评判系统的使用方法,其特征在于,所述步骤5具体如下:
