一种数据处理方法、装置、存储介质及电子设备制造方法及图纸

技术编号:37407177 阅读:11 留言:0更新日期:2023-04-30 09:33
本申请实施例提供了一种数据处理方法、装置、存储介质及电子设备,该方法应用于服务器中,包括:响应数据处理请求,将文件缓存区域中的待处理数据拷贝至目标缓存区域中,文件缓存区域和目标缓存区域部署在操作系统的内核地址空间内;在操作系统的用户地址空间调用数据读取函数,将目标缓存区域内的待处理数据拷贝至加速板卡中,用户地址空间的虚拟内存的虚拟地址与文件缓存区域的虚拟内存的虚拟地址指向相同的物理地址;控制加速板卡对待处理数据进行处理,得到处理结果。通过本申请,解决了相关技术中,将磁盘中的数据写入加速板卡的过程中存在数据拷贝次数多的问题,进而达到了降低数据处理时间,提高服务器中数据库异构加速处理性能的效果。理性能的效果。理性能的效果。

【技术实现步骤摘要】
一种数据处理方法、装置、存储介质及电子设备


[0001]本申请实施例涉及计算机领域,具体而言,涉及一种数据处理方法、装置、存储介质及电子设备。

技术介绍

[0002]在数字化时代的背景下,基于数据库进行数据存储与查询已经越来越普遍,但是随着海量的数据的积累叠加,数据量也来越大,为了更加快速的查询数据库中的关键数据,人们提出了很多基于数据库的异构加速计算查询的方法。在数据库异构加速计算方案中通常采用硬件异构加速控制器进行加速,例如,CPU(Central Processing Unit,中央处理器)或FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)。在使用FPGA的硬件异构加速方案中,当对安装在服务器中的数据库中的数据进行查询时,数据在服务器的操作系统中用户地址空间和内核地址空间之间的数据拷贝会占用大量的查询时间,影响数据库异构加速查询的性能。
[0003]如图1所示的数据库异构计算的整体框架,在图1中,FPGA加速卡作为异构加速计算中的硬件加速器,数据库运行在操作系统的用户地址空间中,当数据库执行数据查询时会在用户地址空间中调用数据读函数,然后进入内核地址空间,当数据库首次查询某些数据时,这些数据并不在内核地址空间的文件缓存中,需要DMA(Direct Memory Access,直接存储器访问)将数据拷贝至内核地址空间的文件缓存区中,完成数据的第一次拷贝;然后,响应数据读操作,CPU将数据拷贝至用户地址空间的数据库缓冲区中,完成数据的第二次拷贝。然后,在用户地址空间中调用数据写函数将数据写入内核地址空间的DMA缓冲区,完成数据的第三次拷贝。最后,启动DMA引擎,将数据拷贝至FPGA加速卡内,完成数据的第四次拷贝。由此可见,现有数据库异构加速计算方案中,数据库向FPGA加速卡完成一次数据写操作,需要进行四次拷贝。这大大降低了数据库异构加速查询的性能,特别是对于数据库中较大数据表的查询,采取该方案需要耗费一定的查询时间成本。

技术实现思路

[0004]本申请实施例提供了一种数据处理方法、装置、存储介质及电子设备,以至少解决相关技术中,将磁盘中的数据写入加速板卡的过程中存在数据拷贝次数多的问题。
[0005]根据本申请的一个实施例,提供了一种数据处理方法,应用于服务器中,包括:响应数据处理请求,将文件缓存区域中的待处理数据拷贝至目标缓存区域中,其中,文件缓存区域和目标缓存区域部署在操作系统的内核地址空间内;在操作系统的用户地址空间调用数据读取函数,将目标缓存区域内的待处理数据拷贝至加速板卡中,其中,用户地址空间的虚拟内存的虚拟地址与文件缓存区域的虚拟内存的虚拟地址指向相同的物理地址;控制加速板卡对待处理数据进行处理,得到处理结果。
[0006]在一个示例性实施例中,数据处理方法还包括:在将文件缓存区域中的待处理数据拷贝至目标缓存区域中之前,检测文件缓存区域中是否存在待处理数据;在文件缓存区
域中不存在待处理数据时,从外围设备的存储空间中拷贝待处理数据至文件缓存区域中。
[0007]在一个示例性实施例中,数据处理方法还包括:在从外围设备的存储空间中拷贝待处理数据至文件缓存区域中之后,调用数据库系统调用函数,获取待处理数据在外围设备的存储空间内的数据文件地址;对数据文件地址进行映射,得到文件缓存区域的虚拟地址。
[0008]在一个示例性实施例中,数据处理方法还包括:在内核地址空间的驱动层构建目标缓存区域;确定待处理数据对应的目标数据量;创建与目标数据量对应的目标文件标识;基于目标文件标识以及文件缓存区域的虚拟地址将文件缓存区域中的待处理数据拷贝至目标缓存区域中。
[0009]在一个示例性实施例中,数据处理方法还包括:控制加速板卡中的第一控制器获取待处理数据,并将待处理数据发送至加速板卡中的第二控制器中;控制第二控制器将待处理数据存储至加速板卡中的目标内存中;控制加速板卡中的计算单元对待处理数据进行计算,得到处理结果。
[0010]在一个示例性实施例中,数据处理方法还包括:检测目标对象是否具有访问待处理数据的访问权限;在目标对象具有访问权限时,在用户地址空间内调用数据读取函数,通过数据读取函数启动直接存储器访问驱动,以使直接存储器访问驱动将待处理数据拷贝至加速板卡中。
[0011]在一个示例性实施例中,数据处理方法还包括:在在操作系统的用户地址空间调用数据读取函数,将目标缓存区域内的待处理数据拷贝至加速板卡中之前,通过钩子函数构建异构加速计算系统调用接口;通过异构加速计算系统调用接口,获取目标功能单元所对应的程序脚本,其中,目标功能单元至少包括如下之一:数据查询启动单元、物理路径获取单元、数据读取单元、用于实现物理地址与虚拟地址映射的映射单元、直接存储器访问驱动的启动单元;对目标功能单元所对应的程序脚本进行编译,生成动态库;将动态库部署在安装目标数据库的操作系统中。
[0012]根据本申请的另一个实施例,提供了一种数据处理装置,应用于服务器中,包括:第一拷贝模块,用于响应数据处理请求,将文件缓存区域中的待处理数据拷贝至目标缓存区域中,其中,所述文件缓存区域和所述目标缓存区域部署在操作系统的内核地址空间内;第二拷贝模块,用于在所述操作系统的用户地址空间调用数据读取函数,将所述目标缓存区域内的待处理数据拷贝至加速板卡中,其中,所述用户地址空间的虚拟内存的虚拟地址与所述文件缓存区域的虚拟内存的虚拟地址指向相同的物理地址;数据处理模块,用于控制所述加速板卡对所述待处理数据进行处理,得到处理结果。
[0013]根据本申请的又一个实施例,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0014]根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0015]通过本申请,由于用户地址空间的虚拟内存的虚拟地址与文件缓存区域的虚拟内存的虚拟地址指向相同的物理地址,因此,本申请可实现用户地址空间与内核地址空间实
现数据共享。而由于用户地址空间与内核地址空间之间数据共享,因此,在进行数据拷贝时,用户地址空间与内核地址空间之间无需进行数据拷贝,从而降低了数据库异构计算时数据拷贝的次数,提高了操作系统的性能。另外,在本申请中,采用外置的加速板卡对待处理数据进行数据处理,可避免在CPU直接处理数据导致消耗CPU资源的问题,进一步提高了操作系统的性能。
[0016]由此可见,本申请所提供的方案解决了相关技术中,将磁盘中的数据写入加速板卡的过程中存在数据拷贝次数多的问题,进而达到了降低数据处理时间,提高了服务器中数据库异构加速处理性能的效果。
附图说明
[0017]图1是相关技术中,数据库异构计算的整体框架图;
[0018]图2是根据本申请实施例的服务器的硬件结构框图;
[0019]图3本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于服务器中,包括:响应数据处理请求,将文件缓存区域中的待处理数据拷贝至目标缓存区域中,其中,所述文件缓存区域和所述目标缓存区域部署在操作系统的内核地址空间内;在所述操作系统的用户地址空间调用数据读取函数,将所述目标缓存区域内的待处理数据拷贝至加速板卡中,其中,所述用户地址空间的虚拟内存的虚拟地址与所述文件缓存区域的虚拟内存的虚拟地址指向相同的物理地址;控制所述加速板卡对所述待处理数据进行处理,得到处理结果。2.根据权利要求1所述的方法,其特征在于,在将文件缓存区域中的待处理数据拷贝至目标缓存区域中之前,所述方法还包括:检测所述文件缓存区域中是否存在所述待处理数据;在所述文件缓存区域中不存在所述待处理数据时,从外围设备的存储空间中拷贝所述待处理数据至所述文件缓存区域中。3.根据权利要求2所述的方法,其特征在于,在从所述外围设备的存储空间中拷贝所述待处理数据至所述文件缓存区域中之后,所述方法还包括:调用数据库系统调用函数,获取所述待处理数据在所述外围设备的存储空间内的数据文件地址;对所述数据文件地址进行映射,得到所述文件缓存区域的虚拟地址。4.根据权利要求1或3所述的方法,其特征在于,将文件缓存区域中的待处理数据拷贝至目标缓存区域中,包括:在所述内核地址空间的驱动层构建所述目标缓存区域;确定所述待处理数据对应的目标数据量;创建与所述目标数据量对应的目标文件标识;基于所述目标文件标识以及所述文件缓存区域的虚拟地址将所述文件缓存区域中的待处理数据拷贝至所述目标缓存区域中。5.根据权利要求1所述的方法,其特征在于,控制所述加速板卡对所述待处理数据进行处理,得到处理结果,包括:控制所述加速板卡中的第一控制器获取所述待处理数据,并将所述待处理数据发送至所述加速板卡中的第二控制器中;控制所述第二控制器将所述待处理数据存储至所述加速板卡中的目标内存中;控制所述加速板卡中的计算单元对所述待处理数据进行计算,得到所述处理结果。6.根据权利要求1所述的方法,其特征在于,在所述操作系...

【专利技术属性】
技术研发人员:孙忠祥张闯刘科
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1