一种数据库数据过滤方法、装置、设备及存储介质制造方法及图纸

技术编号:37399580 阅读:16 留言:0更新日期:2023-04-30 09:27
本申请公开了一种数据库数据过滤方法、装置、设备及存储介质,涉及数据库异构加速领域,包括:获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。这样一来,可以避免仅利用真值表进行硬件加速,增大数据过滤硬件加速的作用范围,从而提高了数据库数据过滤的效率。滤的效率。滤的效率。

【技术实现步骤摘要】
一种数据库数据过滤方法、装置、设备及存储介质


[0001]本专利技术涉及数据库异构加速领域,特别涉及一种数据库数据过滤方法、装置、设备及存储介质。

技术介绍

[0002]针对数据库的查询操作通常都带有过滤指令,用于过滤掉不符合计算条件的大量数据。传统的过滤类计算加速方式,主要包括CPU(Central Processing Unit,中央处理器)的单指令多周期计算加速,以及FPGA(Field Programmable Gate Array,现场可编程门阵列)、GPU(Graphics Processing Unit,图形处理器)等协处理器的硬件加速两种方式。而现有的数据库查询操作中,仅仅通过真值表实现了对几种常规的过滤操作的硬件加速,对于计算量较大的Like类通配符的过滤操作,缺少有效的硬件加速方式。因此,如何对数据库中的数据过滤操作进行高效完善地硬件加速,是该领域中亟待解决的问题。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种数据库数据过滤方法、装置、设备及存储介质,可以避免仅利用真值表进行硬件加速,增大数据过滤硬件加速的作用范围,从而提高数据库数据过滤的效率。其具体方案如下:第一方面,本申请提供了一种数据库数据过滤方法,包括:获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。
[0004]可选的,所述获取初始数据之后,还包括:通过预设数据读写接口和DDR控制器将所述第一待过滤数据写入预设DDR模块进行存储;通过所述预设数据读写接口将所述过滤指令写入所述真值表过滤模块和所述比较器阵列过滤模块。
[0005]可选的,所述利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据,包括:根据所述过滤指令得到满足预设真值表过滤条件的真值表过滤指令;利用所述真值表过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据。
[0006]可选的,所述利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作之前,还包括:
判断所述过滤指令中是否包含所述真值表过滤指令;如果包含,则触发利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作的步骤;如果不包含,则将所述第一待过滤数据确定为第二待过滤数据,并触发从所述第二待过滤数据中确定出当前待过滤数据的步骤。
[0007]可选的,所述从所述第二待过滤数据中确定出当前待过滤数据,包括:从所述第二待过滤数据中筛选出当前数据行;从所述当前数据行中依次确定出当前数据列,以得到当前待过滤数据。
[0008]可选的,所述利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据,包括:依次将所述当前待过滤数据的字节存储在相应的比较器中,以得到当前待比较字节;从所述过滤指令中筛选出当前匹配值,并从所述当前匹配值中确定出当前匹配字节;根据预设比较方式针对所述当前待比较字节和所述当前匹配字节进行比较,以得到比较结果;基于所述比较结果确定出目标数据。
[0009]可选的,所述依次将所述当前待过滤数据的字节存储在相应的比较器中,包括:判断所述当前待过滤数据的字节量是否大于所述八比特比较器阵列中比较器的数量;如果否,则依次将所述当前待过滤数据的字节存储在相应的比较器中;如果是,则根据预设数据分段规则对所述当前待过滤数据进行数据分段操作,以得到若干待过滤数据段;从所述若干待过滤数据段的未被筛选过数据段中确定出当前待过滤数据段,并将所述当前待过滤数据段的字节存储在相应的比较器中,以得到当前待比较字节,跳转至所述从所述过滤指令中筛选出当前匹配值的步骤;判断当前是否满足预设数据段切换条件;如果满足,则跳转至所述从所述若干待过滤数据段的未被筛选过数据段中确定出当前待过滤数据段的步骤,直到所有所述待过滤数据段均被筛选过。
[0010]第二方面,本申请提供了一种数据库数据过滤装置,包括:初始数据获取模块,用于获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;第一过滤模块,用于利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;第二过滤模块,用于从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。
[0011]第三方面,本申请提供了一种电子设备,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序以实现前述的数据库数据过滤方法。
[0012]第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的数据库数据过滤方法。
[0013]本申请中,获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。通过上述方案,本申请首先利用基于真值表构建的真值表过滤模块和过滤指令对第一待过滤数据进行数据过滤操作,然后利用基于八比特比较器阵列构建的比较器阵列过滤模块和过滤指令对得到的第二待过滤数据进行数据过滤操作,这样一来,利用八比特比较器阵列实现了类似CPU计算中的单指令多周期计算方式,可以避免仅利用真值表进行硬件加速,提高针对数据过滤操作的硬件加速的效率,并且增大数据过滤硬件加速的作用范围,从而提高了数据库数据过滤的效率。
附图说明
[0014]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0015]图1为本申请提供的一种数据库数据过滤方法流程图;图2为本申请提供的一种数据库数据过滤系统架构示意图;图3为本申请提供的一种比较器阵列过滤模块架构示意图;图4为本申请提供的一种数据库数据过滤装置结构示意图;图5为本申请提供的一种电子设备结构图。
具体实施方式
[0016]下面将结合本专利技术实施例中的附图,对本专利技术实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库数据过滤方法,其特征在于,包括:获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。2.根据权利要求1所述的数据库数据过滤方法,其特征在于,所述获取初始数据之后,还包括:通过预设数据读写接口和DDR控制器将所述第一待过滤数据写入预设DDR模块进行存储;通过所述预设数据读写接口将所述过滤指令写入所述真值表过滤模块和所述比较器阵列过滤模块。3.根据权利要求1所述的数据库数据过滤方法,其特征在于,所述利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据,包括:根据所述过滤指令得到满足预设真值表过滤条件的真值表过滤指令;利用所述真值表过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据。4.根据权利要求3所述的数据库数据过滤方法,其特征在于,所述利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作之前,还包括:判断所述过滤指令中是否包含所述真值表过滤指令;如果包含,则触发利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作的步骤;如果不包含,则将所述第一待过滤数据确定为第二待过滤数据,并触发从所述第二待过滤数据中确定出当前待过滤数据的步骤。5.根据权利要求1所述的数据库数据过滤方法,其特征在于,所述从所述第二待过滤数据中确定出当前待过滤数据,包括:从所述第二待过滤数据中筛选出当前数据行;从所述当前数据行中依次确定出当前数据列,以得到当前待过滤数据。6.根据权利要求1至5任一项所述的数据库数据过滤方法,其特征在于,所述利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数...

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

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

1