CN116028532A - 一种数据库数据过滤方法、装置、设备及存储介质 - Google Patents
一种数据库数据过滤方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116028532A CN116028532A CN202310294809.9A CN202310294809A CN116028532A CN 116028532 A CN116028532 A CN 116028532A CN 202310294809 A CN202310294809 A CN 202310294809A CN 116028532 A CN116028532 A CN 116028532A
- Authority
- CN
- China
- Prior art keywords
- data
- filtered
- filtering
- current
- instruction
- 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.)
- Pending
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 284
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 14
- 230000009191 jumping Effects 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 8
- 230000001133 acceleration Effects 0.000 abstract description 25
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据库数据过滤方法、装置、设备及存储介质,涉及数据库异构加速领域,包括:获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。这样一来,可以避免仅利用真值表进行硬件加速,增大数据过滤硬件加速的作用范围,从而提高了数据库数据过滤的效率。
Description
技术领域
本发明涉及数据库异构加速领域,特别涉及一种数据库数据过滤方法、装置、设备及存储介质。
背景技术
针对数据库的查询操作通常都带有过滤指令,用于过滤掉不符合计算条件的大量数据。传统的过滤类计算加速方式,主要包括CPU(Central Processing Unit,中央处理器)的单指令多周期计算加速,以及FPGA(Field Programmable Gate Array,现场可编程门阵列)、GPU(Graphics Processing Unit,图形处理器)等协处理器的硬件加速两种方式。而现有的数据库查询操作中,仅仅通过真值表实现了对几种常规的过滤操作的硬件加速,对于计算量较大的Like类通配符的过滤操作,缺少有效的硬件加速方式。因此,如何对数据库中的数据过滤操作进行高效完善地硬件加速,是该领域中亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种数据库数据过滤方法、装置、设备及存储介质,可以避免仅利用真值表进行硬件加速,增大数据过滤硬件加速的作用范围,从而提高数据库数据过滤的效率。其具体方案如下:
第一方面,本申请提供了一种数据库数据过滤方法,包括:
获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;
利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;
从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。
可选的,所述获取初始数据之后,还包括:
通过预设数据读写接口和DDR控制器将所述第一待过滤数据写入预设DDR模块进行存储;
通过所述预设数据读写接口将所述过滤指令写入所述真值表过滤模块和所述比较器阵列过滤模块。
可选的,所述利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据,包括:
根据所述过滤指令得到满足预设真值表过滤条件的真值表过滤指令;
利用所述真值表过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据。
可选的,所述利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作之前,还包括:
判断所述过滤指令中是否包含所述真值表过滤指令;
如果包含,则触发利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作的步骤;
如果不包含,则将所述第一待过滤数据确定为第二待过滤数据,并触发从所述第二待过滤数据中确定出当前待过滤数据的步骤。
可选的,所述从所述第二待过滤数据中确定出当前待过滤数据,包括:
从所述第二待过滤数据中筛选出当前数据行;
从所述当前数据行中依次确定出当前数据列,以得到当前待过滤数据。
可选的,所述利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据,包括:
依次将所述当前待过滤数据的字节存储在相应的比较器中,以得到当前待比较字节;
从所述过滤指令中筛选出当前匹配值,并从所述当前匹配值中确定出当前匹配字节;
根据预设比较方式针对所述当前待比较字节和所述当前匹配字节进行比较,以得到比较结果;
基于所述比较结果确定出目标数据。
可选的,所述依次将所述当前待过滤数据的字节存储在相应的比较器中,包括:
判断所述当前待过滤数据的字节量是否大于所述八比特比较器阵列中比较器的数量;
如果否,则依次将所述当前待过滤数据的字节存储在相应的比较器中;
如果是,则根据预设数据分段规则对所述当前待过滤数据进行数据分段操作,以得到若干待过滤数据段;从所述若干待过滤数据段的未被筛选过数据段中确定出当前待过滤数据段,并将所述当前待过滤数据段的字节存储在相应的比较器中,以得到当前待比较字节,跳转至所述从所述过滤指令中筛选出当前匹配值的步骤;判断当前是否满足预设数据段切换条件;如果满足,则跳转至所述从所述若干待过滤数据段的未被筛选过数据段中确定出当前待过滤数据段的步骤,直到所有所述待过滤数据段均被筛选过。
第二方面,本申请提供了一种数据库数据过滤装置,包括:
初始数据获取模块,用于获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;
第一过滤模块,用于利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;
第二过滤模块,用于从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序以实现前述的数据库数据过滤方法。
第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的数据库数据过滤方法。
本申请中,获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。通过上述方案,本申请首先利用基于真值表构建的真值表过滤模块和过滤指令对第一待过滤数据进行数据过滤操作,然后利用基于八比特比较器阵列构建的比较器阵列过滤模块和过滤指令对得到的第二待过滤数据进行数据过滤操作,这样一来,利用八比特比较器阵列实现了类似CPU计算中的单指令多周期计算方式,可以避免仅利用真值表进行硬件加速,提高针对数据过滤操作的硬件加速的效率,并且增大数据过滤硬件加速的作用范围,从而提高了数据库数据过滤的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种数据库数据过滤方法流程图;
图2为本申请提供的一种数据库数据过滤系统架构示意图;
图3为本申请提供的一种比较器阵列过滤模块架构示意图;
图4为本申请提供的一种数据库数据过滤装置结构示意图;
图5为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的数据库查询操作中,仅仅通过真值表实现了对几种常规的过滤操作的硬件加速,对于计算量较大的Like类通配符的过滤操作,缺少有效的硬件加速方式。因此,本申请公开了一种数据库数据过滤方法,可以避免仅利用真值表进行硬件加速,增大数据过滤硬件加速的作用范围,从而提高数据库数据过滤的效率。
参见图1所示,本发明实施例公开了一种数据库数据过滤方法,包括:
步骤S11、获取初始数据;所述初始数据包括第一待过滤数据和过滤指令。
本实施例中,可以理解的是,所述获取初始数据之后,具体还可以包括:通过预设数据读写接口和DDR(Double Data Rate,双倍数据速率)控制器将所述第一待过滤数据写入预设DDR模块进行存储;通过所述预设数据读写接口将所述过滤指令写入真值表过滤模块和比较器阵列过滤模块。
步骤S12、利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块。
本实施例中,可以理解的是,所述利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据,具体可以包括:根据所述过滤指令得到满足预设真值表过滤条件的真值表过滤指令;利用所述真值表过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据。也即,由于过滤指令可能包括多种过滤条件,对于“>”、“>=”、“<”、“<=”、“=”、“!=”等过滤条件,可以利用真值表在单周期内或同等周期内完成数据过滤操作,因此,可以先根据所述过滤指令中得到真值表过滤指令,以利用所述真值表过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,从而得到第二待过滤数据。
可以理解的是,所述利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作之前,具体还可以包括:判断所述过滤指令中是否包含所述真值表过滤指令;如果包含,则触发利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作的步骤;如果不包含,则将所述第一待过滤数据确定为第二待过滤数据,并触发从所述第二待过滤数据中确定出当前待过滤数据的步骤。
步骤S13、从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。
本实施例中,可以理解的是,所述从所述第二待过滤数据中确定出当前待过滤数据,具体可以包括:从所述第二待过滤数据中筛选出当前数据行;从所述当前数据行中依次确定出当前数据列,以得到当前待过滤数据。
需要指出的是,所述利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据,具体可以包括:依次将所述当前待过滤数据的字节存储在相应的比较器中,以得到当前待比较字节;从所述过滤指令中筛选出当前匹配值,并从所述当前匹配值中确定出当前匹配字节;根据预设比较方式针对所述当前待比较字节和所述当前匹配字节进行比较,以得到比较结果;基于所述比较结果确定出目标数据。这样一来,可以根据预设比较方式针对所述当前待比较字节和所述当前匹配字节进行比较,得到若干针对字节的比较结果,若比较结果表征当前待过滤数据与当前匹配值相匹配,则可以将与所述当前待过滤数据对应的数据行确定为目标数据并输出。
需要注意的是,所述依次将所述当前待过滤数据的字节存储在相应的比较器中,具体可以包括:判断所述当前待过滤数据的字节量是否大于所述八比特比较器阵列中比较器的数量;如果否,则依次将所述当前待过滤数据的字节存储在相应的比较器中;如果是,则根据预设数据分段规则对所述当前待过滤数据进行数据分段操作,以得到若干待过滤数据段;从所述若干待过滤数据段的未被筛选过数据段中确定出当前待过滤数据段,并将所述当前待过滤数据段的字节存储在相应的比较器中,以得到当前待比较字节,跳转至所述从所述过滤指令中筛选出当前匹配值的步骤;判断当前是否满足预设数据段切换条件;如果满足,则跳转至所述从所述若干待过滤数据段的未被筛选过数据段中确定出当前待过滤数据段的步骤,直到所有所述待过滤数据段均被筛选过。这样一来,若当前待比较数据的字节过长,则可以对其进行分段处理,避免由于字节过长导致数据过滤出错,从而可以提高数据过滤的准确性和效率。
本实施例中,获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。通过上述方案,本申请首先利用基于真值表构建的真值表过滤模块和过滤指令对第一待过滤数据进行数据过滤操作,然后利用基于八比特比较器阵列构建的比较器阵列过滤模块和过滤指令对得到的第二待过滤数据进行数据过滤操作,这样一来,利用八比特比较器阵列实现了类似CPU计算中的单指令多周期计算方式,可以避免仅利用真值表进行硬件加速,提高针对数据过滤操作的硬件加速的效率,并且增大数据过滤硬件加速的作用范围,从而提高了数据库数据过滤的效率。
下面结合图2和图3,对本申请公开的一种数据库数据过滤方法的实施过程进行介绍。
如图2和图3所示,图2是本申请公开的一种数据库数据过滤系统架构示意图,图3是本申请公开的一种比较器阵列过滤模块架构示意图。本申请先通过预设数据读写接口和DDR控制器将包含第一待过滤数据的数据表写入至预设DDR模块以便存储,并通过所述预设数据读写接口将所述过滤指令写入所述真值表过滤模块和所述比较器阵列过滤模块,其中,所述过滤指令中包括通配符类型和相应的匹配值,图3中的通配符控制单元会存储所述通配符类型,匹配值缓存单元会存储所述匹配值。在进行数据过滤时,会读取预设DDR模块中已存储的第一待过滤数据,利用真值表过滤模块进行过滤得到满足真值表条件的数据表中的数据行,以得到第二待过滤数据,然后读取所述第二待过滤数据中的单个数据行,并从上述读取的单个数据行中截取需要进行Like类过滤的数据列,得到当前待过滤数据。将所述当前待过滤数据存储在待过滤数据缓存单元中,将所述当前待过滤数据的每个字节按先后顺序依次存储在比较器阵列中相应的八比特比较器中,即第一个字节放入八比特比较器_1中,第二个字节放入八比特比较器_2中,以此类推,从而得到当前待比较字节,从所述过滤指令中筛选出当前匹配值,并从所述当前匹配值中确定出当前匹配字节,然后根据预设比较方式针对所述当前待比较字节和所述当前匹配字节进行比较,以得到比较结果,并基于所述比较结果确定出目标数据。
可以理解的是,如果当前待过滤数据的字节长度大于比较器阵列中八比特比较器的数量,则可以将所述当前待过滤数据以比较器阵列中比较器数量为长度间隔,分割成若干个待过滤数据段,可以从所述若干待过滤数据段的未被筛选过数据段中确定出当前待过滤数据段,确定当前待过滤数据段的方式可以由用户进行设定,例如按待过滤数据段的逻辑先后顺序进行依次确定,然后将所述当前待过滤数据段的字节存储在相应的比较器中,以得到当前待比较字节,跳转至所述从所述过滤指令中筛选出当前匹配值的步骤以进行字节匹配。判断当前是否满足预设数据段切换条件;如果满足,则跳转至所述从所述若干待过滤数据段的未被筛选过数据段中确定出当前待过滤数据段的步骤,以进行当前待过滤数据段的更新,直到所有所述待过滤数据段均被筛选过。所述预设数据段切换条件可以由用户进行设定,例如,在每个当前待过滤数据段的字节比较过程完成后,若比较结果表征当前待过滤数据与当前匹配值匹配,则可以将与所述当前待过滤数据对应的数据行确定为目标数据并输出,判定当前不满足预设数据段切换条件;若比较结果表征当前待过滤数据段与当前匹配值不匹配且当前还存在未被筛选过的数据段,则判定当前满足预设数据段切换条件,进行当前待过滤数据段的更新,直到所有所述待过滤数据段均被筛选过。
需要指出的是,由于通配符可能包含多种类型,根据通配符种类的不同,预设比较方式也会不同,比较方式如下所示:
对于“%”通配符:第一个周期,八比特比较器对当前匹配值的第一个字节与当前待比较字节进行比较,相同为“真”,不同为“假”,记录比较结果;第二个周期,匹配值缓存单元将当前匹配值的第二个字节存储到所有八比特比较器,八比特比较器将原先存储的数据整体上移,即八比特比较器_2的数据存储到八比特比较器_1,八比特比较器_3的数据存储到八比特比较器_2,依此类推;若当前待过滤数据的字节长度大于比较器阵列中八比特比较器的数量,将当前待过滤数据的第N+1个字节数据,放入到第N个八比特比较器中,后续计算周期,依此类推;八比特比较器对当前匹配值的第二个字节与当前待比较字节进行比较,将比较结果与上次比较结果进行“与”运算,并保存结果;依此类推,直到当前待过滤数据的字节与当前匹配值的所有字节均进行过比较;比较结束后,当八比特比较器中比较结果存在“真”值时,将与当前待过滤数据对应的数据行确定为目标数据并输出;当八比特比较器中比较结果全部为“假”值时,不将与当前待过滤数据对应的数据行确定为目标数据。
对于“_”通配符:比较当前匹配值的字节长度与当前待过滤数据的字节长度,若长度不等则直接不将与当前待过滤数据对应的数据行确定为目标数据;若长度相等,则将当前匹配值的所有字节,顺序放入所有八比特比较进行比较;当所有八比特比较器的比较结果全为“真”时,输出该列数据元对应的数据行;否则,不将与当前待过滤数据对应的数据行确定为目标数据。
对于“[]”通配符:将当前匹配值的第一个字节与所有八比特比较器中存储的当前待比较字节进行比较,当比较结果存在一个“真”值时,将与当前待过滤数据对应的数据行确定为目标数据并输出;否则,八比特比较器内已存储的当前待比较字节不变,与当前匹配值的第二个字节进行比较;顺序完成当前匹配值的所有字节比较,当遇到第一次“真”值时,将与当前待过滤数据对应的数据行确定为目标数据并输出;当比较结果全为“假”时,不将与当前待过滤数据对应的数据行确定为目标数据。
参见图4所示,本申请公开了一种数据库数据过滤装置,包括:
初始数据获取模块11,用于获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;
第一过滤模块12,用于利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;
第二过滤模块13,用于从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。
本申请中,获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。通过上述方案,本申请首先利用基于真值表构建的真值表过滤模块和过滤指令对第一待过滤数据进行数据过滤操作,然后利用基于八比特比较器阵列构建的比较器阵列过滤模块和过滤指令对得到的第二待过滤数据进行数据过滤操作,这样一来,利用八比特比较器阵列实现了类似CPU计算中的单指令多周期计算方式,可以避免仅利用真值表进行硬件加速,提高针对数据过滤操作的硬件加速的效率,并且增大数据过滤硬件加速的作用范围,从而提高了数据库数据过滤的效率。
在一些具体实施例中,所述数据库数据过滤装置,具体还可以包括:
待过滤数据写入单元,用于通过预设数据读写接口和DDR控制器将所述第一待过滤数据写入预设DDR模块进行存储;
过滤指令写入单元,用于通过所述预设数据读写接口将所述过滤指令写入所述真值表过滤模块和所述比较器阵列过滤模块。
在一些具体实施例中,所述第一过滤模块12,具体可以包括:
过滤指令筛选单元,用于根据所述过滤指令得到满足预设真值表过滤条件的真值表过滤指令;
真值表过滤单元,用于利用所述真值表过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据。
在一些具体实施例中,所述数据库数据过滤装置,具体还可以包括:
指令判断单元,用于判断所述过滤指令中是否包含所述真值表过滤指令;
第一步骤触发单元,用于如果包含,则触发利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作的步骤;
第二步骤触发单元,用于如果不包含,则将所述第一待过滤数据确定为第二待过滤数据,并触发从所述第二待过滤数据中确定出当前待过滤数据的步骤。
在一些具体实施例中,所述第二过滤模块13,具体可以包括:
单行数据确定单元,用于从所述第二待过滤数据中筛选出当前数据行;
单列数据确定单元,用于从所述当前数据行中依次确定出当前数据列,以得到当前待过滤数据。
在一些具体实施例中,所述第二过滤模块13,具体可以包括:
字节存储子模块,用于依次将所述当前待过滤数据的字节存储在相应的比较器中,以得到当前待比较字节;
匹配字节确定单元,用于从所述过滤指令中筛选出当前匹配值,并从所述当前匹配值中确定出当前匹配字节;
字节比较单元,用于根据预设比较方式针对所述当前待比较字节和所述当前匹配字节进行比较,以得到比较结果;
目标数据确定单元,用于基于所述比较结果确定出目标数据。
在一些具体实施例中,所述字节存储子模块,具体可以包括:
字节数量判断单元,用于判断所述当前待过滤数据的字节量是否大于所述八比特比较器阵列中比较器的数量;
第一存储单元,用于如果否,则依次将所述当前待过滤数据的字节存储在相应的比较器中;
第二存储单元,用于如果是,则根据预设数据分段规则对所述当前待过滤数据进行数据分段操作,以得到若干待过滤数据段;从所述若干待过滤数据段的未被筛选过数据段中确定出当前待过滤数据段,并将所述当前待过滤数据段的字节存储在相应的比较器中,以得到当前待比较字节,跳转至所述从所述过滤指令中筛选出当前匹配值的步骤;判断当前是否满足预设数据段切换条件;如果满足,则跳转至所述从所述若干待过滤数据段的未被筛选过数据段中确定出当前待过滤数据段的步骤,直到所有所述待过滤数据段均被筛选过。
进一步的,本申请实施例还公开了一种电子设备,图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备 20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的数据库数据过滤方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵 循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进 行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、 磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222 等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算 机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的数据库数据过滤方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的数据库数据过滤方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据库数据过滤方法,其特征在于,包括:
获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;
利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;
从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。
2.根据权利要求1所述的数据库数据过滤方法,其特征在于,所述获取初始数据之后,还包括:
通过预设数据读写接口和DDR控制器将所述第一待过滤数据写入预设DDR模块进行存储;
通过所述预设数据读写接口将所述过滤指令写入所述真值表过滤模块和所述比较器阵列过滤模块。
3.根据权利要求1所述的数据库数据过滤方法,其特征在于,所述利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据,包括:
根据所述过滤指令得到满足预设真值表过滤条件的真值表过滤指令;
利用所述真值表过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据。
4.根据权利要求3所述的数据库数据过滤方法,其特征在于,所述利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作之前,还包括:
判断所述过滤指令中是否包含所述真值表过滤指令;
如果包含,则触发利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作的步骤;
如果不包含,则将所述第一待过滤数据确定为第二待过滤数据,并触发从所述第二待过滤数据中确定出当前待过滤数据的步骤。
5.根据权利要求1所述的数据库数据过滤方法,其特征在于,所述从所述第二待过滤数据中确定出当前待过滤数据,包括:
从所述第二待过滤数据中筛选出当前数据行;
从所述当前数据行中依次确定出当前数据列,以得到当前待过滤数据。
6.根据权利要求1至5任一项所述的数据库数据过滤方法,其特征在于,所述利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据,包括:
依次将所述当前待过滤数据的字节存储在相应的比较器中,以得到当前待比较字节;
从所述过滤指令中筛选出当前匹配值,并从所述当前匹配值中确定出当前匹配字节;
根据预设比较方式针对所述当前待比较字节和所述当前匹配字节进行比较,以得到比较结果;
基于所述比较结果确定出目标数据。
7.根据权利要求6所述的数据库数据过滤方法,其特征在于,所述依次将所述当前待过滤数据的字节存储在相应的比较器中,包括:
判断所述当前待过滤数据的字节量是否大于所述八比特比较器阵列中比较器的数量;
如果否,则依次将所述当前待过滤数据的字节存储在相应的比较器中;
如果是,则根据预设数据分段规则对所述当前待过滤数据进行数据分段操作,以得到若干待过滤数据段;从所述若干待过滤数据段的未被筛选过数据段中确定出当前待过滤数据段,并将所述当前待过滤数据段的字节存储在相应的比较器中,以得到当前待比较字节,跳转至所述从所述过滤指令中筛选出当前匹配值的步骤;判断当前是否满足预设数据段切换条件;如果满足,则跳转至所述从所述若干待过滤数据段的未被筛选过数据段中确定出当前待过滤数据段的步骤,直到所有所述待过滤数据段均被筛选过。
8.一种数据库数据过滤装置,其特征在于,包括:
初始数据获取模块,用于获取初始数据;所述初始数据包括第一待过滤数据和过滤指令;
第一过滤模块,用于利用所述过滤指令并通过真值表过滤模块对所述第一待过滤数据进行数据过滤操作,以得到第二待过滤数据;所述真值表过滤模块为基于真值表构建的过滤模块;
第二过滤模块,用于从所述第二待过滤数据中确定出当前待过滤数据,利用所述过滤指令并通过比较器阵列过滤模块对所述当前待过滤数据进行数据过滤操作,以得到目标数据;所述比较器阵列过滤模块为基于八比特比较器阵列构建的过滤模块。
9.一种数据库数据过滤设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至7任一项所述的数据库数据过滤方法。
10.一种存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据库数据过滤方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310294809.9A CN116028532A (zh) | 2023-03-24 | 2023-03-24 | 一种数据库数据过滤方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310294809.9A CN116028532A (zh) | 2023-03-24 | 2023-03-24 | 一种数据库数据过滤方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116028532A true CN116028532A (zh) | 2023-04-28 |
Family
ID=86074294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310294809.9A Pending CN116028532A (zh) | 2023-03-24 | 2023-03-24 | 一种数据库数据过滤方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028532A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150149490A1 (en) * | 2013-11-28 | 2015-05-28 | Kwang Hoon Kim | Data storage device having internal hardware filter, data storage method and data storage system |
CN114757347A (zh) * | 2022-04-22 | 2022-07-15 | 上海交通大学 | 低比特量化神经网络加速器实现方法和系统 |
-
2023
- 2023-03-24 CN CN202310294809.9A patent/CN116028532A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150149490A1 (en) * | 2013-11-28 | 2015-05-28 | Kwang Hoon Kim | Data storage device having internal hardware filter, data storage method and data storage system |
CN114757347A (zh) * | 2022-04-22 | 2022-07-15 | 上海交通大学 | 低比特量化神经网络加速器实现方法和系统 |
Non-Patent Citations (1)
Title |
---|
陈宝远等: "基于FPGA的高效数据过滤技术研究", 《微电子学与计算机》, vol. 34, no. 12, pages 130 - 137 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9195713B2 (en) | Outlier data point detection | |
CN110795042A (zh) | 一种全闪存储系统元数据写缓存刷盘方法及相关组件 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
EP3955256A1 (en) | Non-redundant gene clustering method and system, and electronic device | |
CN114757112A (zh) | 一种基于灰狼算法的电机参数设计方法及系统 | |
CN110262289B (zh) | A2l文件中变量的处理方法、装置和存储介质 | |
US20230394307A1 (en) | Data caching method and apparatus for multiple concurrent deep learning training tasks | |
CN116028532A (zh) | 一种数据库数据过滤方法、装置、设备及存储介质 | |
CN106126670B (zh) | 运营数据排序处理方法及装置 | |
US7100155B1 (en) | Software set-value profiling and code reuse | |
CN113626483B (zh) | 一种填写表单的前端缓存方法、系统、设备及存储介质 | |
CN108073709B (zh) | 一种数据记录的操作方法、装置、设备和存储介质 | |
CN109101259B (zh) | 一种OSDMap缓存容器的更新方法、装置及终端 | |
CN107807993B (zh) | 一种网页历史记录功能的实现方法及装置 | |
CN113495901A (zh) | 一种面向可变长数据块的快速检索方法 | |
CN112632343A (zh) | 一种字符串匹配方法、装置、设备及可读存储介质 | |
CN105224697A (zh) | 带过滤条件的排序方法和用于执行所述方法的装置 | |
CN112882907B (zh) | 一种基于日志数据的用户状态确定方法及装置 | |
CN115938353B (zh) | 语音样本分布式采样方法、系统、存储介质和电子设备 | |
CN110968640A (zh) | 油井数据处理方法及装置、油井控制系统 | |
CN109325031B (zh) | 一种数据统计方法、装置、设备和存储介质 | |
CN115796881A (zh) | 控制交易风险的方法及装置 | |
JPS5994147A (ja) | スタツク制御方式 | |
CN111045608B (zh) | 一种有效性代码的查找方法、装置、设备及可读存储介质 | |
CN117236438A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230428 |