数据过滤方法及装置制造方法及图纸

技术编号:23558216 阅读:24 留言:0更新日期:2020-03-25 03:49
本发明专利技术公开了一种数据过滤方法及装置,通过对过滤规则做数据格式转换来构建条件哈希表和全量哈希表,以空间换时间的方式对原始数据行记录中的每个数据内容以O(1)的复杂度进行过滤。将行记录有M列数据项、过滤规则中有N条过滤条件的时间复杂度由最差O(M*N)降低为O(2M+N),过滤条件的增加不会再影响最终的过滤速度,从而保证了数据分析的时效性。

Data filtering method and device

【技术实现步骤摘要】
数据过滤方法及装置
本专利技术涉及数据处理
,更具体地说,涉及一种数据过滤方法及装置。
技术介绍
随着企业经营对数据依赖性的日益增加,数据分析的时效性要求也越来越高。对于不断产生的实时数据,需要在尽量短的时间内过滤出用于分析的数据记录。现有技术中,在对原始数据过滤时,需要结合过滤规则依次对每条行记录做过滤。以每条行记录来说明,其过滤效率随着过滤规则中过滤条件的增多而下降,最差情况下每一数据项的数据内容都需要与所有过滤条件比对。假设行记录有M列数据项、过滤规则中有N条过滤条件,则最差情况下过滤该行记录的时间复杂度为O(M*N),这就会严重影响数据分析的时效性。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的数据过滤方法及装置,技术方案如下:一种数据过滤方法,包括:获取过滤规则;其中,所述过滤规则由过滤条件编号以及所述过滤条件编号所对应的过滤条件构成,所述过滤条件由过滤项以及所述过滤项下的过滤内容构成;对所述过滤规则做数据格式转换得到条件哈希表和全量哈希表;其中,所述条件哈希表的键为非空过滤内容,所述条件哈希表的值为所述非空过滤内容所对应的过滤条件编号,所述全量哈希表的键为空过滤内容所对应的过滤项,所述全量哈希表的值为所述空过滤内容所对应的过滤条件编号;基于所述条件哈希表和所述全量哈希表统计原始数据的行记录所符合的目标过滤条件编号;如果所述目标过滤条件编号的统计数量等于所述过滤规则中的最大过滤条件编号,则输出所述行记录。优选的,所述基于所述条件哈希表和所述全量哈希表统计原始数据的行记录所符合的目标过滤条件编号,包括:从所述原始数据的行记录中获取数据项下的数据内容;将所述数据内容作为所述条件哈希表的第一键,并在所述条件哈希表中查找所述第一键所对应的第一过滤条件编号;将所述数据项作为所述全量哈希表的第二键,并在所述全量哈希表中查找所述第二键所对应的第二过滤条件编号;将所述第一过滤条件编号和所述第二过滤条件编号确定为所述数据内容的过滤条件编号;将所述行记录中数据内容的过滤条件编号的交集确定为所述行记录所符合的目标过滤条件编号。优选的,所述从所述原始数据的行记录中获取数据项下的数据内容,包括:从所述原始数据的行记录中确定所述过滤项所对应的数据项,并获取所确定的所述数据项下的数据内容。优选的,所述方法还包括:生成编号哈希表;其中,所述编号哈希表的键为所述目标过滤条件编号,所述编号哈希表的值为所述目标过滤条件编号的统计数量。一种数据过滤装置,包括:规则获取模块,用于获取过滤规则;其中,所述过滤规则由过滤条件编号以及所述过滤条件编号所对应的过滤条件构成,所述过滤条件由过滤项以及所述过滤项下的过滤内容构成;格式转换模块,用于对所述过滤规则做数据格式转换得到条件哈希表和全量哈希表;其中,所述条件哈希表的键为非空过滤内容,所述条件哈希表的值为所述非空过滤内容所对应的过滤条件编号,所述全量哈希表的键为空过滤内容所对应的过滤项,所述全量哈希表的值为所述空过滤内容所对应的过滤条件编号;编号统计模块,用于基于所述条件哈希表和所述全量哈希表统计原始数据的行记录所符合的目标过滤条件编号;输出模块,用于如果所述目标过滤条件编号的统计数量等于所述过滤规则中的最大过滤条件编号,则输出所述行记录。优选的,所述编号统计模块,具体用于:从所述原始数据的行记录中获取数据项下的数据内容;将所述数据内容作为所述条件哈希表的第一键,并在所述条件哈希表中查找所述第一键所对应的第一过滤条件编号;将所述数据项作为所述全量哈希表的第二键,并在所述全量哈希表中查找所述第二键所对应的第二过滤条件编号;将所述第一过滤条件编号和所述第二过滤条件编号确定为所述数据内容的过滤条件编号;将所述行记录中数据内容的过滤条件编号的交集确定为所述行记录所符合的目标过滤条件编号。优选的,用于从所述原始数据的行记录中获取数据项下的数据内容的所述编号统计模块,具体用于:从所述原始数据的行记录中确定所述过滤项所对应的数据项,并获取所确定的所述数据项下的数据内容。优选的,所述装置还包括:生成模块,用于生成编号哈希表;其中,所述编号哈希表的键为所述目标过滤条件编号,所述编号哈希表的值为所述目标过滤条件编号的统计数量。一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行前文任意一项所述的数据过滤方法。一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行前文任意一项所述的数据过滤方法。借由上述技术方案,本专利技术提供的数据过滤方法及装置,通过对过滤规则做数据格式转换来构建条件哈希表和全量哈希表,以空间换时间的方式对原始数据行记录中的每个数据内容以O(1)的复杂度进行过滤。将行记录有M列数据项、过滤规则中有N条过滤条件的时间复杂度由最差O(M*N)降低为O(2M+N),过滤条件的增加不会再影响最终的过滤速度,从而保证了数据分析的时效性。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了数据过滤方法的方法流程图;图2示出了数据过滤方法的部分方法流程图;图3示出了数据过滤方法的另一方法流程图;图4示出了数据过滤装置的结构示意图;图5示出了数据过滤装置的另一结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。哈希表(Hashtable,也叫散列表):是根据关键码值(Keyvalue)而直接进行访问的数据结构。也就是说,它通过计算一个关于键值的映射函数,将所需查询的数据映射到表中一个位置来访问记录,这就加快了查找速度。一个通俗的例子,为了查找电话簿中某人的号码,可以创建一个按照人名首字母顺序排列的表(即建立人名x到首字母F(x)的一个函数关系),在首字母为W的表中查找“王”姓的电话号码,显然比直接查找要快的多。这里使用人名作为关键字、“取首字母”是映射函数的函数法则F(),存放首字母的表对应哈希表。基于上述哈希表的相关内容,本专利技术实施例提供一种数据过滤方法,该方法的方法流程图如图1所示,包括如下步骤:S10,获取过滤规本文档来自技高网...

【技术保护点】
1.一种数据过滤方法,其特征在于,包括:/n获取过滤规则;其中,所述过滤规则由过滤条件编号以及所述过滤条件编号所对应的过滤条件构成,所述过滤条件由过滤项以及所述过滤项下的过滤内容构成;/n对所述过滤规则做数据格式转换得到条件哈希表和全量哈希表;其中,所述条件哈希表的键为非空过滤内容,所述条件哈希表的值为所述非空过滤内容所对应的过滤条件编号,所述全量哈希表的键为空过滤内容所对应的过滤项,所述全量哈希表的值为所述空过滤内容所对应的过滤条件编号;/n基于所述条件哈希表和所述全量哈希表统计原始数据的行记录所符合的目标过滤条件编号;/n如果所述目标过滤条件编号的统计数量等于所述过滤规则中的最大过滤条件编号,则输出所述行记录。/n

【技术特征摘要】
1.一种数据过滤方法,其特征在于,包括:
获取过滤规则;其中,所述过滤规则由过滤条件编号以及所述过滤条件编号所对应的过滤条件构成,所述过滤条件由过滤项以及所述过滤项下的过滤内容构成;
对所述过滤规则做数据格式转换得到条件哈希表和全量哈希表;其中,所述条件哈希表的键为非空过滤内容,所述条件哈希表的值为所述非空过滤内容所对应的过滤条件编号,所述全量哈希表的键为空过滤内容所对应的过滤项,所述全量哈希表的值为所述空过滤内容所对应的过滤条件编号;
基于所述条件哈希表和所述全量哈希表统计原始数据的行记录所符合的目标过滤条件编号;
如果所述目标过滤条件编号的统计数量等于所述过滤规则中的最大过滤条件编号,则输出所述行记录。


2.根据权利要求1所述的方法,其特征在于,所述基于所述条件哈希表和所述全量哈希表统计原始数据的行记录所符合的目标过滤条件编号,包括:
从所述原始数据的行记录中获取数据项下的数据内容;
将所述数据内容作为所述条件哈希表的第一键,并在所述条件哈希表中查找所述第一键所对应的第一过滤条件编号;
将所述数据项作为所述全量哈希表的第二键,并在所述全量哈希表中查找所述第二键所对应的第二过滤条件编号;
将所述第一过滤条件编号和所述第二过滤条件编号确定为所述数据内容的过滤条件编号;
将所述行记录中数据内容的过滤条件编号的交集确定为所述行记录所符合的目标过滤条件编号。


3.根据权利要求2所述的方法,其特征在于,所述从所述原始数据的行记录中获取数据项下的数据内容,包括:
从所述原始数据的行记录中确定所述过滤项所对应的数据项,并获取所确定的所述数据项下的数据内容。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
生成编号哈希表;其中,所述编号哈希表的键为所述目标过滤条件编号,所述编号哈希表的值为所述目标过滤条件编号的统计数量。


5.一种数据过滤装置,其特征在于,包括:
规则获取模块,用于获取过滤规则;其中,所述过滤规则由过滤条件编号以及所述过滤条件编号所对应...

【专利技术属性】
技术研发人员:左思图
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

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

1