数据自适应过滤方法及装置的制作方法

文档序号:6443857阅读:215来源:国知局
专利名称:数据自适应过滤方法及装置的制作方法
技术领域
本发明涉及数据处理操作领域,尤其涉及一种数据自适应过滤方法及装置。
背景技术
在数据处理业务中经常遇到如下一种业务状况:数据处理模块需要对收集到的数据按照时间进行清洗过滤。例如,对广告业务而言,需要对收到的数据进行订单-广告位-日期的白名单过滤。订单-广告位-日期的白名单假设我们事先已经建立好,并且由于白名单数据一般都存储在数据库表中,全量查询耗时较长,所以只能查询一段时间内的数据,并且为提高性能考虑,不能每条记录都查询数据库,应该都一次性载入到内存中。如图1所示,将收到的数据流x(t,X),经过过滤器的过滤后,得到过滤后的输出数据流,其中该输出数据流表示为:Y(t,x)=X(t,x) F(T) ,F⑴为过滤函数。目前有以下两种数据过滤的方法:第一种,以运行的当前时间now为基准,F⑴=[now-1, now]的白名单,即检查前2天的白名单,不在白名单中的数据则丢弃;该方法中,F(T)是一个固定的函数。第二种,将时间在程序运行之初以参数T传入,F(T) = [T-1,T]的白名单,即检查[Τ-1,Τ]的白名单,不在白名单中的数据则丢弃。在实现上述数据过滤的过程中,发明人发现现有技术中至少存在如下问题:对于方法一,当因为种种原因要重新计算前端时间数据的时候,会出现数据全部丢弃的问题。而对于方法二而言,则需要明确知道正在处理的数据是哪个时间点的数据,否则一旦多个时间点的数据混合在一起,就很难处理。总之,由于目前已有的方法中的过滤函数都是事先准备好的过滤函数,导致现有技术中的数据过滤方法的灵活性较差。

发明内容
本发明的实施例提供一种数据自适应过滤方法及装置,能够简单灵活自适应的实现数据的过滤。为达到上述目的,本发明的实施例采用如下技术方案:一种数据自适应过滤方法,包括:读取数据记录,并获取所述数据记录的时间戳;通过与所述时间戳相关的过滤函数对所述数据记录进行过滤;将过滤输出的数据记录进行对应的业务处理,并将业务处理结果输出到所述时间戳对应的文件夹中。一种数据自适应过滤装置,包括:时间戳获取单元,用于读取数据记录,并获取所述数据记录的时间戳;过滤单元,用于通过与所述时间戳相关的过滤函数对所述数据记录进行过滤;业务处理单元,用于将过滤输出的数据记录进行对应的业务处理,将业务处理结果输出到所述时间戳对应的文件夹中。本发明实施例提供的数据自适应过滤方法及装置,能够在读取数据记录时,获取该数据记录的时间戳,并且在对读取的数据记录进行过滤时,是通过与所述时间戳相关的过滤函数对所述数据记录进行过滤,与现有技术中使用事先准备好的过滤函数对数据记录进行过滤相比,能够简单灵活自适应的实现数据的过滤。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中数据流滤波处理过程示意图;图2为本发明实施例1中数据自适应过滤方法的流程图;图3为本发明实施例1中数据流滤波处理过程示意图;图4为本发明实施例2中数据自适应过滤方法的流程图;图5为本发明实施例2中确定与所述时间戳相关的预定时间段内的白名单数据是否已加载到内存中的方法流程图;图6为本发明实施例3中一种数据自适应过滤装置的组成框图;图7为本发明实施例3中另一种数据自适应过滤装置的组成框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例1本发明实施例提供一种数据自适应过滤方法,如图2所示,该方法包括:101、读取数据记录,并获取所述数据记录的时间戳。需要说明的是,数据记录在生成时,都会包含时间戳,例如广告业务,其对应的一条数据记录包含进行订单-广告位-日期,该日期即为所述广告业务对应数据记录的时间戳。该时间戳可以以天为单位,但本发明实施例对此不进行限制,用户在实施本发明实施例时,可以根据自己的需要具体设置时间戳的单位。102、通过与所述时间戳相关的过滤函数对所述数据记录进行过滤。需要说明的是,由于该对读取的数据记录进行过滤的函数为与所述时间戳相关的过滤函数,该过滤函数可以为F(T) =f(t),为[t-l,t]的白名单数据。其t与数据流即数据记录X(t,x)中的t相同,这样过滤函数就与输入的时间自动匹配,根据输入时间的不同,可以得到不同的过滤输出数据,从而实现自适应。具体如图3所示,当输入的时间为T1、T2、Τ3时,分别得到的滤输出数据流Y (Tl,χ)、Υ(Τ2,χ)、Υ(Τ3,χ)。103、将过滤输出的数据记录进行对应的业务处理,并将业务处理结果输出到所述时间戳对应的文件夹中。将业务处理结果输出到所述时间戳对应的文件夹中,即将业务处理结果输出到按时间戳分割到文件夹中,即一时间戳范围的文件放在同一个文件夹中。本发明实施例中,能够在读取数据记录时,获取该数据记录的时间戳,并且在对读取的数据记录进行过滤时,是通过与所述时间戳相关的过滤函数对所述数据记录进行过滤,与现有技术中使用事先准备好的过滤函数对数据记录进行过滤相比,能够简单灵活自适应的实现数据的过滤。实施例2本发明实施例提供一种数据自适应过滤方法,如图4所示,该方法包括:201、读取数据记录,并获取所述数据记录的时间戳。需要说明的是,数据记录在生成时,都会包含时间戳,例如广告业务,其对应的一条数据记录包含进行订单-广告位-日期,该日期即为所述广告业务对应数据记录的时间戳。该时间戳可以以天为单位,但本发明实施例对此不进行限制,用户在实施本发明实施例时,可以根据自己的需要具体设置时间戳的单位。202、确定与所述时间戳相关的预定时间段内的白名单数据是否已加载到内存中;若与所述时间戳相关的预定时间段内的白名单数据已加载到内存中,则执行步骤203 ;若与所述时间戳相关的预定时间段内的白名单数据没有加载到内存中,则执行步骤206。其中,该与所述时间戳相关的预定时间段可以根据用户的需求设置,本发明实施例对此不进行限制,例如,可以将其直接设置为[t-l,t]或者[t-l,t+l]或者[t-2,t]等,也可以初次将其设置为[t-1,t],并根据后续的需求修改为[t-1,t+1]或者[t-2,t]等。其中,确定与所述时间戳相关的预定时间段内的白名单数据是否已加载到内存中,可以通过以下的方法实现,如图5所示,该方法包括:2021、检测内存中是否存在已加载的白名单数据;若检测到所述内存中存在已加载的白名单数据,则执行步骤2022 ;若检测到所述内存中不存在已加载的白名单数据,则执行步骤2024。2022、判断所述时间戳与已加载的白名单对应的时间戳是否相同;若相同,则执行步骤2023 ;若不相同,则执行步骤2024。2023、确定与所述时间戳相关的预定时间段内的白名单数据已加载到内存中。2024、确定与所述时间戳相关的预定时间段内的白名单数据没有加载到内存中。需要说明的是,在确定与所述时间戳相关的预定时间段内的白名单数据是否已加载到内存中时,除了图5所描述的方法外,还可以直接检测所述内存中是否存在与所述时间戳相关的预定时间段内的白名单数据;当然本发明实施例对此不进行限制,任何可以确定与所述时间戳相关的预定时间段内的白名单数据是否已加载到内存中的方法都属于本发明保护的范围。特别说明的是,当已知读取的待过滤的数据记录为第一条数据记录时,可以优选采用直接检测的方法;当已知读取的待过滤的数据记录为非第一条记录是,可以优选采用图5所描述的方法,因为图5描述的方法可以将读取的数据记录的时间戳和已加载的白名单对应的时间戳直接进行比较,使得操作比较简单,能够节省查询时间。203、确定所述数据记录是否与加载到内存的白名单中的数据相匹配;若所述数据记录与加载到内存的白名单中的数据相匹配,则执行步骤204;若所述数据记录不与加载到内存的白名单中的数据相匹配,则执行步骤205。204、将过滤输出的数据记录进行对应的业务处理,并将业务处理结果输出到所述时间戳对应的文件夹中,并读取下一个数据记录,直到完成所有的需要进行过滤处理的数据记录过滤处理。205、结束所述数据记录的自适应过滤。206、将所述与所述时间戳相关的预定时间段内的白名单数据加载到内存中,并执行步骤203。本发明实施例中,能够在读取数据记录时,获取该数据记录的时间戳,并且在对读取的数据记录进行过滤时,是通过与所述时间戳相关的过滤函数对所述数据记录进行过滤,与现有技术中使用事先准备好的过滤函数对数据记录进行过滤相比,能够简单灵活自适应的实现数据的过滤。实施例3 本发明实施例提供一种数据自适应过滤装置,如图6所示,该数据自适应过滤装置包括:时间戳获取单元31、过滤单元32、业务处理单元33。时间戳获取单元31,用于读取数据记录,并获取所述数据记录的时间戳。过滤单元32,用于通过与所述时间戳相关的过滤函数对所述数据记录进行过滤。业务处理单元33,用于将过滤输出的数据记录进行对应的业务处理,将业务处理结果输出到所述时间戳对应的文件夹中。进一步的,如图7所示,所述过滤单元32包括:第一确定模块321、第二确定模块322、过滤输出模块323、加载模块324。第一确定模块321,用于检测与所述时间戳相关的预定时间段内的白名单数据是否已加载到内存中;其中,所述第一确定模块321在检测与所述时间戳相关的预定时间段内的白名单数据是否已加载到内存中时,具体用于检测内存中是否存在已加载的白名单数据;若检测到所述内存中存在已加载的白名单数据,则判断所述时间戳与已加载的白名单对应的时间戳是否相同;若相同,则确定与所述时间戳相关的预定时间段内的白名单数据已加载到内存中;若不相同,则确定与所述时间戳相关的预定时间段内的白名单数据没有加载到内存中。若检测到所述内存中不存在已加载的白名单数据,则确定与所述时间戳相关的预定时间段内的白名单数据没有加载到内存中。第二确定模块322,用于在所述第一确定模块321确定与所述时间戳相关的预定时间段内的白名单数据已加载到内存中时,确定所述数据记录是否与加载到内存的白名单中的数据相匹配。过滤输出模块323,用于在所述第二确定模块322确定所述数据记录与加载到内存的白名单中的数据相匹配时,将所述数据记录输出,得到过滤输出的数据记录。加载模块324,用于在所述第一确定模块321确定与所述时间戳相关的预定时间段内的白名单数据没有加载到内存中时,将所述与所述时间戳相关的预定时间段内的白名单数据加载到内存中。所述第二确定模块322还用于,在所述加载模块324将所述与所述时间戳相关的预定时间段内的白名单数据加载到内存中之后确定所述数据记录是否与所述白名单中的数据相匹配。需要说明的是,本发明实施例提供的数据自适应过滤装置所包含的各功能模块的其他描述,可以参考实施例1和实施例2中的相应描述,本发明实施例此处将不再赘述。
本发明实施例提供的数据自适应过滤方法及装置,能够在读取数据记录时,获取该数据记录的时间戳,并且在对读取的数据记录进行过滤时,是通过与所述时间戳相关的过滤函数对所述数据记录进行过滤,与现有技术中使用事先准备好的过滤函数对数据记录进行过滤相比,能够简单灵活自适应的实现数据的过滤。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种数据自适应过滤方法,其特征在于,包括: 读取数据记录,并获取所述数据记录的时间戳; 通过与所述时间戳相关的过滤函数对所述数据记录进行过滤; 将过滤输出的数据记录进行对应的业务处理,并将业务处理结果输出到所述时间戳对应的文件夹中。
2.根据权利要求1所述的数据自适应过滤方法,其特征在于,所述通过与所述时间戳相关的过滤函数,对所述数据记录进行过滤包括: 确定与所述时间戳相关的预定时间段内的白名单数据是否已加载到内存中; 若与所述时间戳相关的预定时间段内的白名单数据已加载到内存中,则确定所述数据记录是否与加载到内存的白名单中的数据相匹配; 若所述数据记录与加载到内存的白名单中的数据相匹配,则将所述数据记录输出,得到过滤输出的数据记录。
3.根据权利要求2所述的数据自适应过滤方法,其特征在于,还包括: 若与所述时间戳相关的预定时间段内的白名单数据没有加载到内存中,则将所述与所述时间戳相关的预定时间段内的白名单数据加载到内存中,并执行所述确定所述数据记录是否与所述白名单中的数据相匹配。
4.根据权利要求2或3所述的数据自适应过滤方法,其特征在于,确定与所述时间戳相关的预定时间段内的白名单数据是否已加载到内存中包括: 检测内存中是否存在已加载的白名单数据; 若检测到所述内存中存在已加载的白名单数据,则判断所述时间戳与已加载的白名单对应的时间戳是否相同; 若相同,则确定与所述时间戳相关的预定时间段内的白名单数据已加载到内存中;若不相同,则确定与所述时间戳相关的预定时间段内的白名单数据没有加载到内存中。
5.根据权利要求4所述的数据自适应过滤方法,其特征在于,还包括: 若检测到所述内存中不存在已加载的白名单数据,则确定与所述时间戳相关的预定时间段内的白名单数据没有加载到内存中。
6.一种数据自适应过滤装置,其特征在于,包括: 时间戳获取单元,用于读取数据记录,并获取所述数据记录的时间戳; 过滤单元,用于通过与所述时间戳相关的过滤函数对所述数据记录进行过滤; 业务处理单元,用于将过滤输出的数据记录进行对应的业务处理,将业务处理结果输出到所述时间戳对应的文件夹中。
7.根据权利要求6所述的数据自适应过滤装置,其特征在于,所述过滤单元包括: 第一确定模块,用于检测与所述时间戳相关的预定时间段内的白名单数据是否已加载到内存中; 第二确定模块,用于在所述第一确定模块确定与所述时间戳相关的预定时间段内的白名单数据已加载到内存中时,确定所述数据记录是否与加载到内存的白名单中的数据相匹配; 过滤输出模块,用于在所述第二确定模块确定所述数据记录与加载到内存的白名单中的数据相匹配时,将所述数据记录输出,得到过滤输出的数据记录。
8.根据权利要求7所述的数据自适应过滤装置,其特征在于,所述过滤单元还包括:加载模块,用于在所述第一确定模块确定与所述时间戳相关的预定时间段内的白名单数据没有加载到内存中时,将所述与所述时间戳相关的预定时间段内的白名单数据加载到内存中; 所述第二确定模块还用于,在所述加载模块将所述与所述时间戳相关的预定时间段内的白名单数据加载到内存中之后确定所述数据记录是否与所述白名单中的数据相匹配。
9.根据权利要求7或8所述的数据自适应过滤装置,其特征在于,所述第一确定模块用于, 检测内存中是否存在已加载的白名单数据; 若检测到所述内存中存在已加载的白名单数据,则判断所述时间戳与已加载的白名单对应的时间戳是否相同; 若相同,则确定与所述时间戳相关的预定时间段内的白名单数据已加载到内存中;若不相同,则确定与所述时间戳相关的预定时间段内的白名单数据没有加载到内存中。
10.根据权利要求9所述的数据自适应过滤装置,其特征在于,所述第一确定模块还用于, 若检测到所述内存中不存在已加载的白名单数据,则确定与所述时间戳相关的预定时间段内的白名单数据没有加载到内存中。
全文摘要
本发明公开了一种数据自适应过滤方法及装置,涉及数据处理操作领域,能够简单灵活自适应的实现数据的过滤。本发明的方法包括读取数据记录,并获取所述数据记录的时间戳;通过与所述时间戳相关的过滤函数对所述数据记录进行过滤;将过滤输出的数据记录进行对应的业务处理,并将业务处理结果输出到所述时间戳对应的文件夹中。本发明的实施例主要用于数据自适应过滤处理的过程中。
文档编号G06F17/30GK103186562SQ20111044864
公开日2013年7月3日 申请日期2011年12月28日 优先权日2011年12月28日
发明者伍刘, 赵宏宇 申请人:腾讯科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1