一种数据库排序方法、装置、排序加速板卡及介质制造方法及图纸

技术编号:38055326 阅读:9 留言:0更新日期:2023-06-30 11:21
本申请公开了一种数据库排序方法、装置、排序加速板卡及介质,涉及数据处理技术领域,包括:中央处理器调用数据排序进程后,通过FPGA的静态区逻辑程序将加速内核的流文件加载至FPGA的动态区,以便在动态区中部署加速内核;中央处理器将主机内存中的待排序数据传输到排序加速板卡中的DDR4内存后启动加速内核,以便加速内核从DDR4内存中读取待排序数据,并对待排序数据进行排序;排序完成后生成完成信号,然后将排序后数据写入DDR4内存,并向中央处理器发送完成信号;中央处理器在获取到完成信号后,从DDR4内存中读取排序后数据,并将排序后数据保存至主机内存,结束进程调用。能对数据库排序过程进行加速,提高排序效率。提高排序效率。提高排序效率。

【技术实现步骤摘要】
一种数据库排序方法、装置、排序加速板卡及介质


[0001]本专利技术涉及数据处理
,特别涉及一种数据库排序方法、装置、排序加速板卡及介质。

技术介绍

[0002]排序是一种非常重要的计算核心,在数据库、图像处理和基因组分析等许多领域都得到了应用,同时,排序也是许多计算问题的瓶颈,追求快速稳定的大规模排序一直是许多应用的优化目标。随着移动技术的进步,物联网(Internet of Things,即IoT)时代即将到来,未来不仅需要在服务器等高性能系统上,还需要在嵌入式系统等低计算性能机器上都可以使用的排序方法。基于CPU(Central Processing Unit,中央处理器)的软件排序方法往往无法挖掘具有并行特征的计算密集型排序算法的潜力,并且,大数据量排序过程需要占用过多的CPU资源和内存资源,造成CPU和内存资源占用过重,与数据库核心进程进行资源竞争,严重拉低数据库的整体性能表现。
[0003]综上,如何加快数据库的排序过程,以提高排序效率,以及提高数据库的整体性能是目前有待解决的问题。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种数据库排序方法、装置、排序加速板卡及介质,能够加快数据库的排序过程,以提高排序效率,以及提高数据库的整体性能。其具体方案如下:
[0005]第一方面,本申请公开了一种数据库排序方法,包括:
[0006]在中央处理器发出针对数据排序进程的调用指令后,则通过FPGA的静态区逻辑程序将加速内核的流文件加载至所述FPGA的动态区,以便在所述动态区中部署加速内核;
[0007]在所述中央处理器将主机内存中的待排序数据传输到排序加速板卡中的DDR4内存后,则启动所述加速内核,以便所述加速内核从所述DDR4内存中读取待排序数据,并对所述待排序数据进行排序以得到排序后数据;
[0008]在排序完成后生成完成信号,然后将所述排序后数据写入至所述DDR4内存,并向所述中央处理器发送所述完成信号;
[0009]通过所述中央处理器在获取到所述完成信号后,从所述DDR4内存中读取所述排序后数据,并将所述排序后数据保存至所述主机内存,以完成所述数据排序进程的调用。
[0010]可选的,所述在中央处理器发出针对数据排序进程的调用指令的过程中,还包括:
[0011]获取所述中央处理器发送的控制参量;其中,所述控制参量包括开始信号、DDR4偏移地址和数据量大小。
[0012]可选的,所述启动所述加速内核,以便所述加速内核从所述DDR4内存中读取待排序数据,包括:
[0013]启动所述加速内核,并确定所述控制参量中的DDR4偏移地址,以便所述加速内核
基于所述DDR4偏移地址,并通过AXI总线从所述DDR4内存中读取待排序数据。
[0014]可选的,所述将所述排序后数据写入至所述DDR4内存,包括:
[0015]基于所述DDR4偏移地址将所述排序后数据写入至所述DDR4内存。
[0016]可选的,所述在所述动态区中部署加速内核,包括:
[0017]在所述动态区中部署与不同排序方法对应的加速内核;所述排序方法包括双调排序、奇偶排序、基数排序和归并排序;
[0018]相应的,所述对所述待排序数据进行排序以得到排序后数据,包括:
[0019]按照预先设置的排序方法,并基于所述控制参量对所述待排序数据进行排序以得到排序后数据。
[0020]可选的,所述对所述待排序数据进行排序以得到排序后数据,包括:
[0021]确定加速内核预先配置的空间工作模式和时间工作模式;其中,所述空间工作模式包括并行工作模式、串行工作模式和局部并串行工作模式,所述时间工作模式
[0022]按照所述空间工作模式和所述时间工作模式对所述待排序数据进行排序以得到排序后数据。
[0023]可选的,所述数据库排序方法,还包括:
[0024]若所述空间工作模式为并行工作模式,则启动若干个加速内核,并确定所述中央处理器为每一所述加速内核分配的不同的DDR4偏移地址,以便各所述加速内核分别基于对应的DDR4偏移地址从所述DDR4内存中读取待排序数据,以对所述待排序数据进行排序得到排序后数据;
[0025]若所述空间工作模式为串行工作模式,则确定预先设置的多条件排序语句中的排序条件个数,并启动相应数量个加速内核,以便将各排序条件分配给不同的加速内核,然后根据所述多条件排序语句的顺序依次调用对应的加速内核对从所述DDR4内存中读取到的待排序数据进行排序得到排序后数据;
[0026]若所述空间工作模式为局部并串行工作模式,则确定所述中央处理器对所述待排序数据进行拆分得到的若干个数据块,并启动相应数量个加速内核,以便各所述加速内核对从所述DDR4内存中读取到的所述数据块进行排序得到排序结果,然后利用归并排序方法对各排序结果进行合并以得到排序后数据。
[0027]第二方面,本申请公开了一种数据库排序装置,包括:
[0028]内核部署模块,用于在中央处理器发出针对数据排序进程的调用指令后,则通过FPGA的静态区逻辑程序将加速内核的流文件加载至所述FPGA的动态区,以便在所述动态区中部署加速内核;
[0029]数据排序模块,用于在所述中央处理器将主机内存中的待排序数据传输到排序加速板卡中的DDR4内存后,则启动所述加速内核,以便所述加速内核从所述DDR4内存中读取待排序数据,并对所述待排序数据进行排序以得到排序后数据;
[0030]数据写入模块,用于在排序完成后生成完成信号,然后将所述排序后数据写入所述DDR4内存,并向所述中央处理器发送所述完成信号;
[0031]数据保存模块,用于通过所述中央处理器在获取到所述完成信号后,从所述DDR4内存中读取所述排序后数据,并将所述排序后数据保存至所述主机内存,以完成所述数据排序进程的调用。
[0032]第三方面,本申请公开了一种排序加速板卡,包括:
[0033]存储器,用于保存计算机程序;
[0034]处理器,用于执行所述计算机程序,以实现前述公开的数据库排序方法的步骤。
[0035]第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的数据库排序方法的步骤。
[0036]可见,本申请在中央处理器发出针对数据排序进程的调用指令后,则通过FPGA的静态区逻辑程序将加速内核的流文件加载至所述FPGA的动态区,以便在所述动态区中部署加速内核;在所述中央处理器将主机内存中的待排序数据传输到排序加速板卡中的DDR4内存后,则启动所述加速内核,以便所述加速内核从所述DDR4内存中读取待排序数据,并对所述待排序数据进行排序以得到排序后数据;在排序完成后生成完成信号,然后将所述排序后数据写入至所述DDR4内存,并向所述中央处理器发送所述完成信号;通过所述中央处理器在获取到所述完成信号后,从所述DDR4内存中读取所述排序后数据,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库排序方法,其特征在于,包括:在中央处理器发出针对数据排序进程的调用指令后,则通过FPGA的静态区逻辑程序将加速内核的流文件加载至所述FPGA的动态区,以便在所述动态区中部署加速内核;在所述中央处理器将主机内存中的待排序数据传输到排序加速板卡中的DDR4内存后,则启动所述加速内核,以便所述加速内核从所述DDR4内存中读取待排序数据,并对所述待排序数据进行排序以得到排序后数据;在排序完成后生成完成信号,然后将所述排序后数据写入至所述DDR4内存,并向所述中央处理器发送所述完成信号;通过所述中央处理器在获取到所述完成信号后,从所述DDR4内存中读取所述排序后数据,并将所述排序后数据保存至所述主机内存,以完成所述数据排序进程的调用。2.根据权利要求1所述的数据库排序方法,其特征在于,所述在中央处理器发出针对数据排序进程的调用指令的过程中,还包括:获取所述中央处理器发送的控制参量;其中,所述控制参量包括开始信号、DDR4偏移地址和数据量大小。3.根据权利要求2所述的数据库排序方法,其特征在于,所述启动所述加速内核,以便所述加速内核从所述DDR4内存中读取待排序数据,包括:启动所述加速内核,并确定所述控制参量中的DDR4偏移地址,以便所述加速内核基于所述DDR4偏移地址,并通过AXI总线从所述DDR4内存中读取待排序数据。4.根据权利要求2所述的数据库排序方法,其特征在于,所述将所述排序后数据写入至所述DDR4内存,包括:基于所述DDR4偏移地址将所述排序后数据写入至所述DDR4内存。5.根据权利要求2所述的数据库排序方法,其特征在于,所述在所述动态区中部署加速内核,包括:在所述动态区中部署与不同排序方法对应的加速内核;所述排序方法包括双调排序、奇偶排序、基数排序和归并排序;相应的,所述对所述待排序数据进行排序以得到排序后数据,包括:按照预先设置的排序方法,并基于所述控制参量对所述待排序数据进行排序以得到排序后数据。6.根据权利要求1至5任一项所述的数据库排序方法,其特征在于,所述对所述待排序数据进行排序以得到排序后数据,包括:确定加速内核预先配置的空间工作模式和时间工作模式;其中,所述空间工作模式包括并行工作模式、串行工作模式和局部并串行工作模式;按照所述空间工作模式和所述时间工作模式对所述...

【专利技术属性】
技术研发人员:于帆张晖赵鑫鑫姜凯王雄儒胡雷钧
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

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

1