CN113468202B - 内存数据的筛选方法、装置、设备及存储介质 - Google Patents
内存数据的筛选方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113468202B CN113468202B CN202110735698.1A CN202110735698A CN113468202B CN 113468202 B CN113468202 B CN 113468202B CN 202110735698 A CN202110735698 A CN 202110735698A CN 113468202 B CN113468202 B CN 113468202B
- Authority
- CN
- China
- Prior art keywords
- screening
- data
- memory data
- classification
- memory
- 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.)
- Active
Links
- 238000012216 screening Methods 0.000 title claims abstract description 370
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims abstract description 22
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims 2
- 238000001914 filtration Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据筛选领域,公开了一种内存数据的筛选方法、装置、设备及存储介质。该方法包括:获取待筛选的内存数据;解析所述内存数据的筛选分类,得到所述内存数据对应的筛选分类集,以及根据所述筛选分类集中筛选分类对应的筛选条件,通过预置哈希函数进行合并处理,生成哈希表;读取所述内存数据对应的筛选条件,生成筛选条件集,以及根据所述哈希表,对所述筛选条件集进行关键字值分析处理,得到所述内存数据对应的筛选目标数据。
Description
技术领域
本发明涉及数据筛选领域,尤其涉及一种内存数据的筛选方法、装置、设备及存储介质。
背景技术
当app应用程序把大量数据只能存储在电脑内存时,使用集合或者Hash字典存储数据,在传统情况下对数据进行多个条件筛选时需要一次对每个条件进行筛选,筛选步骤多,速度慢,效率低。
例如在硬盘恢复领域,硬盘数据不能存在电脑硬盘上,只能存在电脑内存中,在千万级的文件数据条件下,当使用文件状态、文件类型、文件大小、创建时间、修改时间等信息对数据进行归类时,如果需要进行实时多个条件筛选过滤,一次筛选需要几十秒,速度很慢,效率极低,而采用内存数据库的方式虽然可以提高效率到几十毫秒,但由于内存数据库使用索引将导致占用的内存增长几倍,增加了硬件内存的压力。
因此,为了能减少内存的计算压力的条件下,提高筛选的效率,需要一种能在提升筛选速度或者是保持筛选速度情况下,减少内存运算时占用资源的技术。
发明内容
本发明的主要目的在于解决现有技术在筛选运算过程中与内存的资源占用过多的技术问题。
本发明第一方面提供了一种内存数据的筛选方法,包括步骤:
获取待筛选的内存数据;
解析所述内存数据的筛选分类,得到所述内存数据对应的筛选分类集,以及根据所述筛选分类集中筛选分类对应的筛选条件,通过预置哈希函数进行合并处理,生成哈希表;
读取所述内存数据对应的筛选条件,生成筛选条件集,以及根据所述哈希表,对所述筛选条件集进行关键字值分析处理,得到所述内存数据对应的筛选目标数据。
可选的,在本发明第一方面的第一种实现方式中,所述根据所述筛选分类集中筛选分类对应的筛选条件,通过预置哈希函数进行合并处理,生成哈希表包括:
根据预置筛选关系对应表,统计所述筛选分类集中筛选分类对应筛选条件的数量,得出筛选条件总数;
根据预置数据类型对应表,查询出所述筛选条件总数对应的数据类型;
根据预置哈希函数和所述数据类型对应的bit位,将所述筛选分类集中筛选分类对应的筛选条件进行组合处理,生成哈希表。
可选的,在本发明第一方面的第二种实现方式中,所述根据预置数据类型对应表,查询出所述筛选条件总数对应的数据类型包括:
判断所述筛选条件总数是否大于8;
若小于8,则将所述筛选条件总数对应的数据类型确定为Byte类型;
若大于8,则判断所述筛选条件总数是否大于64;
若小于64,则将所述筛选条件总数对应的数据类型确定为Int类型;
若大于64,则将所述筛选条件总数对应的数据类型确定为Byte类型。
可选的,在本发明第一方面的第三种实现方式中,所述根据预置哈希函数和所述数据类型对应的bit位,将所述筛选分类集中筛选分类对应的筛选条件进行组合处理,生成哈希表包括:
根据所述哈希函数,将所述筛选分类集中筛选分类对应筛选条件转换为关键字值,生成关键字值集;
将所述关键字值集中的关键字值填入之所述数据类型对应的bit位中,并设置映射属性为单一映射,生成哈希表。
可选的,在本发明第一方面的第四种实现方式中,所述读取所述内存数据对应的筛选条件,生成筛选条件集包括:
将所述内存数据的筛选类型确认为一级树状数组,以及将所有所述筛选类型对应的筛选条件确认为二级树状数组;
基于所述一级树状数组和所述二级树状数组,对所述内存数据的筛选条件进行结构组合处理,生成筛选条件集。
可选的,在本发明第一方面的第五种实现方式中,所述根据所述哈希表,对所述筛选条件集进行关键字值分析处理,得到所述内存数据对应的筛选目标数据包括:
将所述筛选条件集中的筛选条件转换为筛选关键字值,生成筛选关键字值集;
将所述筛选关键字值集中的筛选关键字值依次与所述哈希表中的关键字值进行匹配处理,得到匹配结果;
基于所述匹配结果,从预置存储数据库中抓取出所述匹配结果对应的存储数据;
将所述存储数据确定为所述内存数据对应的筛选目标数据。
可选的,在本发明第一方面的第六种实现方式中,所述将所述筛选关键字值集中的筛选关键字值依次与所述哈希表中的关键字值进行匹配处理,得到匹配结果包括:
抓取所述筛选关键字值集中筛选关键字值;
将所述筛选关键字值与所述哈希表中的关键字值进行比对,判断所述哈希表是否存在匹配的关键字值;
若不存在,则将筛选条件错误的数据发送至预置显示端口;
若存在,则将匹配关键字值在所述哈希表中的位置提取,得到匹配键位;
将所述筛选关键字值集中筛选关键字值对应的匹配键位合并,得到匹配结果。
本发明第二方面提供了一种内存数据的筛选装置,所述内存数据的筛选装置包括:
获取模块,用于获取待筛选的内存数据;
解析合并模块,用于解析所述内存数据的筛选分类,得到所述内存数据对应的筛选分类集,以及根据所述筛选分类集中筛选分类对应的筛选条件,通过预置哈希函数进行合并处理,生成哈希表;
分析模块,用于读取所述内存数据对应的筛选条件,生成筛选条件集,以及根据所述哈希表,对所述筛选条件集进行关键字值分析处理,得到所述内存数据对应的筛选目标数据。
本发明第三方面提供了一种内存数据的筛选设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述内存数据的筛选设备执行上述的内存数据的筛选方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的内存数据的筛选方法。
本发明实施例中,通过调整检索数据库时采用多个索引筛选的方式,将多个索引筛选条件组合成单一条件,通过组合后的单一条件进行数据筛选判断,解决了内存数据库需要采用多个索引的方式,占用内存几倍于哈希字典存储数据,且需要依赖数据库的技术问题。
附图说明
图1为本发明实施例中内存数据的筛选方法的一个实施例示意图;
图2为本发明实施例中内存数据的筛选装置的一个实施例示意图;
图3为本发明实施例中内存数据的筛选装置的另一个实施例示意图;
图4为本发明实施例中内存数据的筛选设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种内存数据的筛选方法、装置、设备及存储介质。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中内存数据的筛选方法的一个实施例包括:
101、获取待筛选的内存数据;
在本实施例中,数据的筛选需要将原始数据放入在内存数据进行计算,在内存运算上进行筛选过程。需要说明的是,本步骤获取的是仅仅将原始数据加载至内存数据中的数据,并未进行筛选处理。
102、解析内存数据的筛选分类,得到内存数据对应的筛选分类集,以及根据筛选分类集中筛选分类对应的筛选条件,通过预置哈希函数进行合并处理,生成哈希表;
在本实施例中,解析和处理内存数据,得到需要的多种数据信息。对需要用到的多个筛选分类进行条件细化处理。假设一共有5个筛选分类,每个筛选分类都有固定的若干种种类,假设第1个筛选分类的种类为N1种,假设第2个筛选分类的种类为N2种假设,第3个筛选分类的种类为N3种假设,第4个筛选分类的种类为N4种假设,第5个筛选分类的种类为N5种。所有筛选条件的线性分布一共是N1+N2+N3+N4+N5种,则总和为M,由此可以知道在筛选分类集中存在5种筛选分类,5种筛选分类存在M个筛选条件。将M种类型映射为二进制类型中的bit位。可以根据具体M为多少,来决定选择在内存中采用内存Hash字典存储数据时,采用何种类型的Key值。假设bit小于8,则Key值用Byte类型(8Bit)即可满足需求;上述示例中,当M大于8小于64时,假设M为27,则Key值采用Int型(32Bit)。当M大于64时,则可以采用固定长度的Byte数组作为Key值,只需满足Byte数组的长度乘以8大于M即可。基于采用的数据类型将筛选分类的每个种类填写至bit位,生成哈希表。
1021、根据预置筛选关系对应表,统计筛选分类集中筛选分类对应筛选条件的数量,得出筛选条件总数;
1022、根据预置数据类型对应表,查询出筛选条件总数对应的数据类型;
1023、根据预置哈希函数和数据类型对应的bit位,将筛选分类集中筛选分类对应的筛选条件进行组合处理,生成哈希表。
在1021-1023步骤中,所有线性分类的种类映射为单一索引。M种不同的线性分类,可以间接映射为M种不同条件的分类,将每种条件作为一个因子。则实际所有的筛选类型最多的组合为N1*N2*N3*N4*N5=K。假设N1=4,N2=8,N3=7,N4=4,N5=4,则K=3584。也就是说假设对5个筛选条件每个都进行精确的过滤,在假定的分类下,最多可能精细到3584种细分类型。由此将每个筛选分类计算出筛选条件总数为27。由此知道数据类型使用Int型,开启Int型数据类型生成bit位,将筛选分类集中的筛选条件一一填入至bit位中,完成哈希表格的建立。
进一步的,在1022步骤中,可以执行以下步骤:
10221、判断筛选条件总数是否大于8;
10222、若小于8,则将筛选条件总数对应的数据类型确定为Byte类型;
10223、若大于8,则判断筛选条件总数是否大于64;
10224、若小于64,则将筛选条件总数对应的数据类型确定为Int类型;
10225、若大于64,则将筛选条件总数对应的数据类型确定为Byte类型。
在10221-10225步骤中,通过分类条件判断整个筛选过程,先判断筛选是否大于8,将不大于8的,认定使用Byte类型的数据类型,将大于8的再次进行判断是否大于64,如果不大于64则可以认为数据类型使用Int类型,具体可以使用两个Int类型的数据保证整个bit位能完全覆盖。如果大于64则认定数据类型使用Byte类型,只需满足Byte数组的长度乘以8大于M即可。
进一步的,1023步骤可以执行:
10231、根据哈希函数,将筛选分类集中筛选分类对应筛选条件转换为关键字值,生成关键字值集;
10232、将关键字值集中的关键字值填入之数据类型对应的bit位中,并设置映射属性为单一映射,生成哈希表。
在10231、10232实施例中,哈希函数对筛选条件的字符串进行转换调整,使得筛选条件转变为关键字值,也即是key值,而将key值填入bit位上,并设置单一映射的value值,由此生成哈希表。
103、读取内存数据对应的筛选条件,生成筛选条件集,以及根据哈希表,对筛选条件集进行关键字值分析处理,得到内存数据对应的筛选目标数据。
在本实施例中,内存数据之前是分析筛选分类,通过设置筛选对应表格,将涉及到内存数据的筛选分类下的筛选条件转换为哈希表。此步骤是根据以及划定范围的哈希表对内存数据实际涉及的筛选条件进行比对,第一步先提取出筛选条件,5种筛选分类下分别对应的是第一种、第七种、第二种、第二种、第二种,将5种筛选分类的筛选条件的字符串提取出。将字符串转换为key值,基于转换的key值在哈希表中查询出Value值,实现在内存数据中查询出筛选目标数据的过程。需要说明的是,整个筛选过程是将5种筛选分类作为一个整体进行筛选,减少在内存中的中间数据,实现降低内存消耗的目标。
优选的,在103步骤中的“读取内存数据对应的筛选条件,生成筛选条件集”可以有以下方式实现。
1031、将内存数据的筛选类型确认为一级树状数组,以及将所有筛选类型对应的筛选条件确认为二级树状数组;
1032、基于一级树状数组和二级树状数组,对内存数据的筛选条件进行结构组合处理,生成筛选条件集。
在1031、1032步骤中,以筛选类型为第一层筛选组,而以筛选类型下的筛选条件作为二级筛选组,通过生成树状结构数据实现整个筛选依据的数据结构。树状结构的数据结构本身确定为筛选条件集,实际上包含两个数据集,一个是筛选类型一个是筛选条件,还存储了两个数据集中元素的对应关系。
1033、将筛选条件集中的筛选条件转换为筛选关键字值,生成筛选关键字值集;
1034、将筛选关键字值集中的筛选关键字值依次与哈希表中的关键字值进行匹配处理,得到匹配结果;
1035、基于匹配结果,从预置存储数据库中抓取出匹配结果对应的存储数据;
1036、将存储数据确定为内存数据对应的筛选目标数据。
在1033-1036步骤中,先基于设置的字符转换方式,将筛选条件集中的每个筛选条件的字符串转换为key值。举例key值存在5个{12,4,52,56,974},而将key值集与哈希表进行比对拉出哈希表中的Value值{D,F,ssoj,ks,Q},将数据库中{D,F,ssoj,ks,Q}每个元素对应的数据映射全部查询出,然后将查询的数据确定为筛选目标数据。
优选的,在1034匹配过程中,如果存在错误的筛选条件,则会增大计算机的运算过程,可以采用以下步骤避免错误数据的空算:
10341、抓取筛选关键字值集中筛选关键字值;
10342、将筛选关键字值与哈希表中的关键字值进行比对,判断哈希表是否存在匹配的关键字值;
10343、若不存在,则将筛选条件错误的数据发送至预置显示端口;
10344、若存在,则将匹配关键字值在哈希表中的位置提取,得到匹配键位;
10345、将筛选关键字值集中筛选关键字值对应的匹配键位合并,得到匹配结果。
在10341-10345步骤中,按顺序将{12,4,52,56,974}中的元素进行一一匹配,先抓取出12与哈希表中的关键字值进行比对,判断是否存在相同的关键字值,如果不存在则认为12是没有设置过的筛选条件,将“筛选条件输入错误”的信息发送至管理设备或者是显示端口中,并终止筛选过程。而如果12在哈希表中查询到了,则可以生成一个哈希表位置的矩阵,例如:
[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0],为标记匹配键位的矩阵。当{12,4,52,56,974}在哈希值中都存在相关的匹配关键字值,则会将所有的匹配键位进行合并生成[0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0]的键位矩阵,基于键位矩阵在数据库中抓取相关数据。
本发明实施例中,通过调整检索数据库时采用多个索引筛选的方式,将多个索引筛选条件组合成单一条件,通过组合后的单一条件进行数据筛选判断,解决了内存数据库需要采用多个索引的方式,占用内存几倍于哈希字典存储数据,且需要依赖数据库的技术问题。
上面对本发明实施例中内存数据的筛选方法进行了描述,下面对本发明实施例中内存数据的筛选装置进行描述,请参阅图2,本发明实施例中内存数据的筛选装置一个实施例包括:
获取模块201,用于获取待筛选的内存数据;
解析合并模块202,用于解析所述内存数据的筛选分类,得到所述内存数据对应的筛选分类集,以及根据所述筛选分类集中筛选分类对应的筛选条件,通过预置哈希函数进行合并处理,生成哈希表;
分析模块203,用于读取所述内存数据对应的筛选条件,生成筛选条件集,以及根据所述哈希表,对所述筛选条件集进行关键字值分析处理,得到所述内存数据对应的筛选目标数据。
本发明实施例中,通过调整检索数据库时采用多个索引筛选的方式,将多个索引筛选条件组合成单一条件,通过组合后的单一条件进行数据筛选判断,解决了内存数据库需要采用多个索引的方式,占用内存几倍于哈希字典存储数据,且需要依赖数据库的技术问题。
请参阅图3,本发明实施例中内存数据的筛选装置的另一个实施例包括:
获取模块201,用于获取待筛选的内存数据;
解析合并模块202,用于解析所述内存数据的筛选分类,得到所述内存数据对应的筛选分类集,以及根据所述筛选分类集中筛选分类对应的筛选条件,通过预置哈希函数进行合并处理,生成哈希表;
分析模块203,用于读取所述内存数据对应的筛选条件,生成筛选条件集,以及根据所述哈希表,对所述筛选条件集进行关键字值分析处理,得到所述内存数据对应的筛选目标数据。
其中,所述解析合并模块202包括:
统计单元2021,用于根据预置筛选关系对应表,统计所述筛选分类集中筛选分类对应筛选条件的数量,得出筛选条件总数;
查询单元2022,用于根据预置数据类型对应表,查询出所述筛选条件总数对应的数据类型;
组合单元2023,用于根据预置哈希函数和所述数据类型对应的bit位,将所述筛选分类集中筛选分类对应的筛选条件进行组合处理,生成哈希表。
其中,所述查询单元2022具体用于:
判断所述筛选条件总数是否大于8;
若小于8,则将所述筛选条件总数对应的数据类型确定为Byte类型;
若大于8,则判断所述筛选条件总数是否大于64;
若小于64,则将所述筛选条件总数对应的数据类型确定为Int类型;
若大于64,则将所述筛选条件总数对应的数据类型确定为Byte类型。
其中,所述组合单元2023具体用于:
根据所述哈希函数,将所述筛选分类集中筛选分类对应筛选条件转换为关键字值,生成关键字值集;
将所述关键字值集中的关键字值填入之所述数据类型对应的bit位中,并设置映射属性为单一映射,生成哈希表。
其中,所述分析模块203具体用于:
将所述内存数据的筛选类型确认为一级树状数组,以及将所有所述筛选类型对应的筛选条件确认为二级树状数组;
基于所述一级树状数组和所述二级树状数组,对所述内存数据的筛选条件进行结构组合处理,生成筛选条件集。
其中,所述分析模块203包括:
转换单元2031,用于将所述筛选条件集中的筛选条件转换为筛选关键字值,生成筛选关键字值集;
匹配单元2032,用于将所述筛选关键字值集中的筛选关键字值依次与所述哈希表中的关键字值进行匹配处理,得到匹配结果;
抓取单元2033,用于基于所述匹配结果,从预置存储数据库中抓取出所述匹配结果对应的存储数据;
确定单元2034,用于将所述存储数据确定为所述内存数据对应的筛选目标数据。
其中,所述匹配单元2032具体用于:
抓取所述筛选关键字值集中筛选关键字值;
将所述筛选关键字值与所述哈希表中的关键字值进行比对,判断所述哈希表是否存在匹配的关键字值;
若不存在,则将筛选条件错误的数据发送至预置显示端口;
若存在,则将匹配关键字值在所述哈希表中的位置提取,得到匹配键位;
将所述筛选关键字值集中筛选关键字值对应的匹配键位合并,得到匹配结果。
本发明实施例中,通过调整检索数据库时采用多个索引筛选的方式,将多个索引筛选条件组合成单一条件,通过组合后的单一条件进行数据筛选判断,解决了内存数据库需要采用多个索引的方式,占用内存几倍于哈希字典存储数据,且需要依赖数据库的技术问题。
上面图2和图3从模块化功能实体的角度对本发明实施例中的内存数据的筛选装置进行详细描述,下面从硬件处理的角度对本发明实施例中内存数据的筛选设备进行详细描述。
图4是本发明实施例提供的一种内存数据的筛选设备的结构示意图,该内存数据的筛选设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)410(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序433或数据432的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器420和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对内存数据的筛选设备400中的一系列指令操作。更进一步地,处理器410可以设置为与存储介质430通信,在内存数据的筛选设备400上执行存储介质430中的一系列指令操作。
基于内存数据的筛选设备400还可以包括一个或一个以上电源440,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口460,和/或,一个或一个以上操作系统431,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图4示出的内存数据的筛选设备结构并不构成对基于内存数据的筛选设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述内存数据的筛选方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种内存数据的筛选方法,其特征在于,包括步骤:
获取待筛选的内存数据;
解析所述内存数据的筛选分类,得到所述内存数据对应的筛选分类集,以及根据所述筛选分类集中筛选分类对应的筛选条件,通过预置哈希函数进行合并处理,生成哈希表;
读取所述内存数据对应的筛选条件,生成筛选条件集,以及根据所述哈希表,对所述筛选条件集进行关键字值分析处理,得到所述内存数据对应的筛选目标数据;
其中,所述根据所述筛选分类集中筛选分类对应的筛选条件,通过预置哈希函数进行合并处理,生成哈希表包括:
根据预置筛选关系对应表,统计所述筛选分类集中筛选分类对应筛选条件的数量,得出筛选条件总数;
根据预置数据类型对应表,查询出所述筛选条件总数对应的数据类型;
根据预置哈希函数和所述数据类型对应的bit位,将所述筛选分类集中筛选分类对应的筛选条件进行组合处理,生成哈希表;
其中,所述根据预置数据类型对应表,查询出所述筛选条件总数对应的数据类型包括:
判断所述筛选条件总数是否大于8;
若小于8,则将所述筛选条件总数对应的数据类型确定为Byte类型;
若大于8,则判断所述筛选条件总数是否大于64;
若小于64,则将所述筛选条件总数对应的数据类型确定为Int类型;
若大于64,则将所述筛选条件总数对应的数据类型确定为Byte类型;
其中,所述根据预置哈希函数和所述数据类型对应的bit位,将所述筛选分类集中筛选分类对应的筛选条件进行组合处理,生成哈希表包括:
根据所述哈希函数,将所述筛选分类集中筛选分类对应筛选条件转换为关键字值,生成关键字值集;
将所述关键字值集中的关键字值填入之所述数据类型对应的bit位中,并设置映射属性为单一映射,生成哈希表。
2.根据权利要求1所述的内存数据的筛选方法,其特征在于,所述读取所述内存数据对应的筛选条件,生成筛选条件集包括:
将所述内存数据的筛选类型确认为一级树状数组,以及将所有所述筛选类型对应的筛选条件确认为二级树状数组;
基于所述一级树状数组和所述二级树状数组,对所述内存数据的筛选条件进行结构组合处理,生成筛选条件集。
3.根据权利要求1所述的内存数据的筛选方法,其特征在于,所述根据所述哈希表,对所述筛选条件集进行关键字值分析处理,得到所述内存数据对应的筛选目标数据包括:
将所述筛选条件集中的筛选条件转换为筛选关键字值,生成筛选关键字值集;
将所述筛选关键字值集中的筛选关键字值依次与所述哈希表中的关键字值进行匹配处理,得到匹配结果;
基于所述匹配结果,从预置存储数据库中抓取出所述匹配结果对应的存储数据;
将所述存储数据确定为所述内存数据对应的筛选目标数据。
4.根据权利要求3所述的内存数据的筛选方法,其特征在于,所述将所述筛选关键字值集中的筛选关键字值依次与所述哈希表中的关键字值进行匹配处理,得到匹配结果包括:
抓取所述筛选关键字值集中筛选关键字值;
将所述筛选关键字值与所述哈希表中的关键字值进行比对,判断所述哈希表是否存在匹配的关键字值;
若不存在,则将筛选条件错误的数据发送至预置显示端口;
若存在,则将匹配关键字值在所述哈希表中的位置提取,得到匹配键位;
将所述筛选关键字值集中筛选关键字值对应的匹配键位合并,得到匹配结果。
5.一种内存数据的筛选装置,其特征在于,所述内存数据的筛选装置包括:
获取模块,用于获取待筛选的内存数据;
解析合并模块,用于解析所述内存数据的筛选分类,得到所述内存数据对应的筛选分类集,以及根据所述筛选分类集中筛选分类对应的筛选条件,通过预置哈希函数进行合并处理,生成哈希表;
分析模块,用于读取所述内存数据对应的筛选条件,生成筛选条件集,以及根据所述哈希表,对所述筛选条件集进行关键字值分析处理,得到所述内存数据对应的筛选目标数据;
其中,其中,所述解析合并模块包括:
统计单元,用于根据预置筛选关系对应表,统计所述筛选分类集中筛选分类对应筛选条件的数量,得出筛选条件总数;
查询单元,用于根据预置数据类型对应表,查询出所述筛选条件总数对应的数据类型;
组合单元,用于根据预置哈希函数和所述数据类型对应的bit位,将所述筛选分类集中筛选分类对应的筛选条件进行组合处理,生成哈希表;
其中,所述查询单元具体用于:
判断所述筛选条件总数是否大于8;
若小于8,则将所述筛选条件总数对应的数据类型确定为Byte类型;
若大于8,则判断所述筛选条件总数是否大于64;
若小于64,则将所述筛选条件总数对应的数据类型确定为Int类型;
若大于64,则将所述筛选条件总数对应的数据类型确定为Byte类型;
其中,所述组合单元具体用于:
根据所述哈希函数,将所述筛选分类集中筛选分类对应筛选条件转换为关键字值,生成关键字值集;
将所述关键字值集中的关键字值填入之所述数据类型对应的bit位中,并设置映射属性为单一映射,生成哈希表。
6.一种内存数据的筛选设备,其特征在于,所述内存数据的筛选设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述内存数据的筛选设备执行如权利要求1-4中任一项所述的内存数据的筛选方法。
7.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的内存数据的筛选方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110735698.1A CN113468202B (zh) | 2021-06-30 | 2021-06-30 | 内存数据的筛选方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110735698.1A CN113468202B (zh) | 2021-06-30 | 2021-06-30 | 内存数据的筛选方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468202A CN113468202A (zh) | 2021-10-01 |
CN113468202B true CN113468202B (zh) | 2024-05-17 |
Family
ID=77876445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110735698.1A Active CN113468202B (zh) | 2021-06-30 | 2021-06-30 | 内存数据的筛选方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468202B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701200A (zh) * | 2016-01-12 | 2016-06-22 | 中国人民大学 | 一种内存云计算平台上的数据仓库安全olap方法 |
CN105843859A (zh) * | 2016-03-17 | 2016-08-10 | 华为技术有限公司 | 数据处理的方法、装置和设备 |
CN109388406A (zh) * | 2018-09-14 | 2019-02-26 | 浙江口碑网络技术有限公司 | 转换java代码的方法及装置、存储介质、电子装置 |
CN111817978A (zh) * | 2019-04-12 | 2020-10-23 | 华为技术有限公司 | 一种流分类方法及装置 |
CN113051268A (zh) * | 2021-03-19 | 2021-06-29 | 中国工商银行股份有限公司 | 数据查询方法、数据查询装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10261950B2 (en) * | 2013-11-26 | 2019-04-16 | Sap Se | Table as query language parameter |
-
2021
- 2021-06-30 CN CN202110735698.1A patent/CN113468202B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701200A (zh) * | 2016-01-12 | 2016-06-22 | 中国人民大学 | 一种内存云计算平台上的数据仓库安全olap方法 |
CN105843859A (zh) * | 2016-03-17 | 2016-08-10 | 华为技术有限公司 | 数据处理的方法、装置和设备 |
CN109388406A (zh) * | 2018-09-14 | 2019-02-26 | 浙江口碑网络技术有限公司 | 转换java代码的方法及装置、存储介质、电子装置 |
CN111817978A (zh) * | 2019-04-12 | 2020-10-23 | 华为技术有限公司 | 一种流分类方法及装置 |
CN113051268A (zh) * | 2021-03-19 | 2021-06-29 | 中国工商银行股份有限公司 | 数据查询方法、数据查询装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
Development of a hashing-based data structure for the fast retrieval of 3D terrestrial laser scanned data;Soohee Han et al.;《Computers & Geosciences》;1-10 * |
分布式环境下数据挖掘分类算法研究;宾宁;《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》;I138-309 * |
数据挖掘中分布式关联规则算法研究;陈颖聪;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-230 * |
Also Published As
Publication number | Publication date |
---|---|
CN113468202A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8244767B2 (en) | Composite locality sensitive hash based processing of documents | |
US7603370B2 (en) | Method for duplicate detection and suppression | |
US9805079B2 (en) | Executing constant time relational queries against structured and semi-structured data | |
US8266147B2 (en) | Methods and systems for database organization | |
US7730316B1 (en) | Method for document fingerprinting | |
US20030195873A1 (en) | Identifier vocabulary data access method and system | |
US7406479B2 (en) | Primitive operator for similarity joins in data cleaning | |
US8316041B1 (en) | Generation and processing of numerical identifiers | |
US7765219B2 (en) | Sort digits as number collation in server | |
CN112100149B (zh) | 日志自动化分析系统 | |
CN103279478A (zh) | 一种基于分布式互信息文档特征提取方法 | |
CN109684616A (zh) | 动态报表公式组装填报的方法及系统 | |
CN111801665A (zh) | 用于大数据应用的分层局部敏感哈希(lsh)分区索引 | |
US7676487B2 (en) | Method and system for formatting and indexing data | |
CN110263021B (zh) | 一种基于个性化标签体系的主题库生成方法 | |
CN111898351B (zh) | 基于Aviator的Excel数据自动导入方法、装置、终端设备及存储介质 | |
KR100818742B1 (ko) | 색인 단어의 문서 내 위치 정보에 대한 관련성을 이용한문서 검색 방법 | |
CN113468202B (zh) | 内存数据的筛选方法、装置、设备及存储介质 | |
CN107704554A (zh) | 基于mpp数据库的数据高速导入的方法及其系统 | |
CN109815475B (zh) | 文本匹配方法、装置、计算设备及系统 | |
CN114385436A (zh) | 服务器分组方法、装置、电子设备和存储介质 | |
CN108256083A (zh) | 基于深度学习的内容推荐方法 | |
CN108256086A (zh) | 数据特征统计分析方法 | |
Zhao et al. | MapReduce-based clustering for near-duplicate image identification | |
US10387466B1 (en) | Window queries for large unstructured data sets |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |