一种确定大数据流中的特殊数据项的方法及装置的制造方法

文档序号:10624874阅读:509来源:国知局
一种确定大数据流中的特殊数据项的方法及装置的制造方法
【专利摘要】本发明提供确定大数据流中的特殊数据项的方法及装置,涉及计算机领域,能够比较准确确定大数据流中的特殊数据项。包括在采样周期内获取采样的n个数据项,用先获取的k个均不相同的数据项形成队列;若k个均不相同的数据项后获取的第m个数据项与队列的一数据项相同,则对该数据项计数后移至队列的队首;若第m个数据项与队列的数据项均不同,则将队列队尾的数据项换为第m个数据项,并对该数据项计数后移至队列的队首;每经过预设时间根据k个计数器的值、前次估算的k个数据项的出现频率和计算公式,估算k个数据项的出现频率;数据流采样周期后,根据最终估算的k个数据项的出现频率,确定出现频率满足预设阈值的数据项为特殊数据项。
【专利说明】
-种确定大数据流中的特殊数据项的方法及装置
技术领域
[0001] 本发明设及计算机技术领域,尤其设及一种确定大数据流中的特殊数据项的方法 及装置。
【背景技术】
[0002] 由于大数据流中蕴含着丰富的信息,因此人们可W通过分析运些大数据流从中获 得有用信息。从而在大数据流分析系统中,如何确定大数据流中的特殊数据项,例如突发 数据项或频繁数据项成为人们的研究热点。其中,突发数据项是指在大数据流中出现次数 最少的一个或多个数据项,频繁数据项是指在大数据流中出现次数最多的一个或多个数据 项。
[0003] 通常,确定大数据流中的特殊数据项的一种常用算法为空间节省法。该空间节省 法具体可W为在本地内存中存储k对元素化为需要确定的特殊数据项的个数,元素包括特 殊数据项和与特殊数据项对应的计数器),并在对大数据流进行采样的数据流采样周期内, 使用最先接收的大数据流中的k个均不相同的数据项和k个均不相同的数据项的出现次数 对k对元素进行赋值,W及当接收到一个新的数据项时,判断该新的数据项是否被统计过, 如果该新的数据项被统计过,则使与该新的数据项对应的计数器加1,如果该新的数据项未 被统计过,则用该新的数据项替换k个数据项中计数最小的数据项,并将与该计数最小的 数据项对应的计数器清空后加1。W此类推,当数据流采样周期结束后,本地内存中存储的 k个数据项即为大数据流中的特殊数据项。
[0004] 然而,当大数据流中的某个特殊数据项的分布随时间变化(即特殊数据项在每段 时间内的出现次数是不同的)时,采用空间节省法可能无法准确地确定到该特殊数据项。 例如,假设数据流采样周期内,大数据流为{ABCDACBDABDCABCDDCBABCD},若需确定该大数 据流中的Ξ个频繁数据项(即应该确定出的Ξ个频繁数据项为数据项B化次)、数据项"6 次)和数据项D化次)),则当采用上述空间节省法确定该大数据流中的Ξ个频繁数据项时, 最终获得的Ξ个频繁数据项为数据项A巧次)、数据项B化次)和数据项D (1次)。因此采 用空间节省法无法准确地确定大数据流中的特殊数据项。

【发明内容】
阳〇化]本发明提供一种确定大数据流中的特殊数据项的方法及装置,能够通过比较准确 地估算数据项的出现频率,从而比较准确地确定大数据流中的特殊数据项。
[0006] 第一方面,本发明提供一种确定大数据流中的特殊数据项的方法,包括:
[0007] 在数据流采样周期内,依次获取采样数据流中的η个数据项,并采用所述η个数 据项中最先获取到的k个均不相同的数据项形成数据项队列,所述k个均不相同的数据 项一一对应k个均不相同的计数器,所述k个均不相同的计数器中的每个计数器用于统计 形成所述数据项队列之前与该计数器对应的数据项的出现次数,η为正整数,k为正整数, k《η ;
[000引若所述η个数据项中在所述k个均不相同的数据项之后获取的数据项中的第m个 数据项与前一次更新后的数据项队列中的第一数据项相同,则将与所述第一数据项对应的 第一计数器加 i,并将所述第一数据项和所述第一计数器移动至所述前一次更新后的数据 项队列的队首,所述第一数据项为所述前一次更新后的数据项队列中的任意一个数据项, 其中,当m = k+1时,所述前一次更新后的数据项队列为形成后的数据项队列,m的值依次 从k+1取到n,m为整数,i为正整数;
[0009] 若所述第m个数据项与所述前一次更新后的数据项队列中的各个数据项均不相 同,则将所述前一次更新后的数据项队列中的第二数据项替换为所述第m个数据项,并将 与所述第m个数据项对应的第二计数器设置为i,W及将所述第m个数据项和所述第二计数 器移动至所述前一次更新后的数据项队列的队首,所述第二数据项为位于所述前一次更新 后的数据项队列的队尾的数据项,其中,当m = k+1时,所述前一次更新后的数据项队列为 形成的数据项队列,m的值依次从k+1取到n,m为整数,i为正整数;
[0010] 每经过预设时间后,根据所述k个均不相同的计数器的值、前一次估算的所述k个 均不相同的数据项的出现频率和预设的计算公式,估算所述k个均不相同的数据项的出现 频率,所述预设时间小于或等于所述数据流采样周期,其中,第一次估算所述k个均不相同 的数据项的出现频率时采用的所述前一次估算的所述k个均不相同的数据项的出现频率 为0 ;
[0011] 在所述数据流采样周期后,根据最后一次估算的所述k个均不相同的数据项的出 现频率,确定所述k个均不相同的数据项中出现频率满足预设阔值的至少一个数据项为特 殊数据项。
[0012] 在第一方面的第一种可能的实现方式中, 阳01;3] 所述计算公式为:ft= λζ 1;
[0014] 其中,t表示时刻;f康示t时刻数据项的出现频率;z康示t时刻数据项的统计 次数或统计频率,所述统计次数为与所述数据项对应的计数器的值,所述统计频率为所述 计数器的值与数据项队列中全部计数器的值之和的比值;λ表示预设的zt的加权值;f t 1 表示t-1时刻数据项的出现频率。
[0015] 结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式 中,
[0016] 所述形成后的数据项队列中的所述k个均不相同的数据项按照所述k个均不相同 的计数器的值由大到小顺序排列。
[0017] 结合第一方面或第一方面的第一种可能的实现方式至第二种可能的实现方式中 的任一种实现方式,在第Ξ种可能的实现方式中,所述将所述前一次更新后的数据项队列 中的第二数据项替换为所述第m个数据项,包括:
[0018] 从所述前一次更新后的数据项队列中删除所述第二数据项,并将所述第m个数据 项添加到所述前一次更新后的数据项队列中,所述第m个数据项在所述前一次更新后的数 据项队列中的位置与所述第二数据项在所述前一次更新后的数据项队列中的位置相同。
[0019] 结合第一方面或第一方面的第一种可能的实现方式至第Ξ种可能的实现方式中 的任一种实现方式,在第四种可能的实现方式中,所述特殊数据项为频繁数据项或者突发 数据项,
[0020] 所述确定所述k个均不相同的数据项中出现频率满足预设阔值的至少一个数据 项为特殊数据项,包括:
[0021] 确定所述k个均不相同的数据项中出现频率大于或等于所述预设阔值的至少一 个数据项为所述频繁数据项;或者
[0022] 确定所述k个均不相同的数据项中出现频率小于所述预设阔值的至少一个数据 项为所述突发数据项。
[0023] 第二方面,本发明提供一种确定大数据流中的特殊数据项的装置,包括:
[0024] 获取单元,用于在数据流采样周期内,依次获取采样数据流中的η个数据项,并采 用所述η个数据项中最先获取到的k个均不相同的数据项形成数据项队列,所述k个均不 相同的数据项一一对应k个均不相同的计数器,所述k个均不相同的计数器中的每个计数 器用于统计形成所述数据项队列之前与该计数器对应的数据项的出现次数,η为正整数,k 为正整数,k《η ;
[00巧]处理单元,用于若所述η个数据项中所述获取单元在所述k个均不相同的数据项 之后获取的数据项中的第m个数据项与前一次更新后的数据项队列中的第一数据项相同, 则将与所述第一数据项对应的第一计数器加 i,并将所述第一数据项和所述第一计数器移 动至所述前一次更新后的数据项队列的队首,所述第一数据项为所述前一次更新后的数据 项队列中的任意一个数据项;若所述获取单元获取的所述第m个数据项与所述前一次更新 后的数据项队列中的各个数据项均不相同,则将所述前一次更新后的数据项队列中的第二 数据项替换为所述第m个数据项,并将与所述第m个数据项对应的第二计数器设置为i,W 及将所述第m个数据项和所述第二计数器移动至所述前一次更新后的数据项队列的队首, 所述第二数据项为位于所述前一次更新后的数据项队列的队尾的数据项;其中,当m = k+1 时,所述前一次更新后的数据项队列为形成后的数据项队列,m的值依次从k+1取到n,m为 整数,i为正整数;
[00%] 估算单元,用于在每经过预设时间后,根据所述处理单元增加后的所述k个均不 相同的计数器的值、前一次估算的所述k个均不相同的数据项的出现频率和预设的计算公 式,估算所述k个均不相同的数据项的出现频率,所述预设时间小于或等于所述数据流采 样周期,其中,第一次估算所述k个均不相同的数据项的出现频率时采用的所述前一次估 算的所述k个均不相同的数据项的出现频率为0 ;
[0027] 确定单元,用于在所述数据流采样周期后,根据所述估算单元最后一次估算的所 述k个均不相同的数据项的出现频率,确定所述k个均不相同的数据项中出现频率满足预 设阔值的至少一个数据项为特殊数据项。
[0028] 在第二方面的第一种可能的实现方式中,
[0029] 所述计算公式为:ft= λζ,+ (1-λ)?·。;
[0030] 其中,t表示时刻屯表示t时刻数据项的出现频率;ζ康示t时刻数据项的统计 次数或统计频率,所述统计次数为与所述数据项对应的计数器的值,所述统计频率为所述 计数器的值与数据项队列中全部计数器的值之和的比值;λ表示预设的zt的加权值;f t 1 表示t-1时刻数据项的出现频率。
[0031] 结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式 中,
[0032] 所述获取单元形成后的数据项队列中的所述k个均不相同的数据项按照所述k个 均不相同的计数器的值由大到小顺序排列。
[0033] 第Ξ方面,本发明提供一种确定大数据流中的特殊数据项的装置,包括:
[0034] 处理器,用于在数据流采样周期内,依次获取采样数据流中的η个数据项,并采用 所述η个数据项中最先获取到的k个均不相同的数据项形成数据项队列,所述k个均不相 同的数据项一一对应k个均不相同的计数器,所述k个均不相同的计数器中的每个计数器 用于统计形成所述数据项队列之前与该计数器对应的数据项的出现次数;且若所述η个数 据项中在所述k个均不相同的数据项之后获取的数据项中的第m个数据项与前一次更新后 的数据项队列中的第一数据项相同,则将与所述第一数据项对应的第一计数器加 i,并将所 述第一数据项和所述第一计数器移动至所述前一次更新后的数据项队列的队首,所述第一 数据项为所述前一次更新后的数据项队列中的任意一个数据项;若所述第m个数据项与所 述前一次更新后的数据项队列中的各个数据项均不相同,则将所述前一次更新后的数据项 队列中的第二数据项替换为所述第m个数据项,并将与所述第m个数据项对应的第二计数 器设置为i,W及将所述第m个数据项和所述第二计数器移动至所述前一次更新后的数据 项队列的队首,所述第二数据项为位于所述前一次更新后的数据项队列的队尾的数据项; 并在每经过预设时间后,根据所述k个均不相同的计数器的值、前一次估算的所述k个均 不相同的数据项的出现频率和预设的计算公式,估算所述k个均不相同的数据项的出现频 率,所述预设时间小于或等于所述数据流采样周期,其中,第一次估算所述k个均不相同的 数据项的出现频率时采用的所述前一次估算的所述k个均不相同的数据项的出现频率为 〇;W及在所述数据流采样周期后,根据最后一次估算的所述k个均不相同的数据项的出现 频率,确定所述k个均不相同的数据项中出现频率满足预设阔值的至少一个数据项为特殊 数据项;其中,当m = k+1时,所述前一次更新后的数据项队列为形成后的数据项队列,η为 正整数,k为正整数,k《η,m的值依次从k+1取到η,m为整数,i为正整数。
[0035] 在第Ξ方面的第一种可能的实现方式中,
[0036] 所述计算公式为:ft= λζ,+ (1-λ)?·。;
[0037] 其中,t表示时刻屯表示t时刻数据项的出现频率;ζ康示t时刻数据项的统计 次数或统计频率,所述统计次数为与所述数据项对应的计数器的值,所述统计频率为所述 计数器的值与数据项队列中全部计数器的值之和的比值;λ表示预设的zt的加权值;f t 1 表示t-1时刻数据项的出现频率。
[0038] 结合第Ξ方面或第Ξ方面的第一种可能的实现方式,在第二种可能的实现方式 中,
[0039] 所述处理器形成后的数据项队列中的所述k个均不相同的数据项按照所述k个均 不相同的计数器的值由大到小顺序排列。
[0040] 本发明提供一种确定大数据流中的特殊数据项的方法及装置,通过在数据流采样 周期内,依次获取采样数据流中的η个数据项,并采用η个数据项中最先获取到的k个均 不相同的数据项形成数据项队列,k个均不相同的数据项一一对应k个均不相同的计数器, k个均不相同的计数器中的每个计数器用于统计形成该数据项队列之前与该计数器对应的 数据项的出现次数;若η个数据项中在k个均不相同的数据项之后获取的数据项中的第m 个数据项与前一次更新后的数据项队列中的第一数据项相同,则将与第一数据项对应的第 一计数器加 i,并将第一数据项和第一计数器移动至前一次更新后的数据项队列的队首,第 一数据项为前一次更新后的数据项队列中的任意一个数据项;若第m个数据项与前一次更 新后的数据项队列中的各个数据项均不相同,则将前一次更新后的数据项队列中的第二数 据项替换为第m个数据项,并将与第m个数据项对应的第二计数器设置为i,W及将第m个 数据项和第二计数器移动至前一次更新后的数据项队列的队首,第二数据项为位于前一次 更新后的数据项队列的队尾的数据项;并在每经过预设时间后,根据k个均不相同的计数 器的值、前一次估算的k个均不相同的数据项的出现频率和预设的计算公式,估算k个均 不相同的数据项的出现频率,预设时间小于或等于数据流采样周期,其中,第一次估算k个 均不相同的数据项的出现频率时采用的前一次估算的k个均不相同的数据项的出现频率 为〇;W及在数据流采样周期后,根据最后一次估算的k个均不相同的数据项的出现频率, 确定k个均不相同的数据项中出现频率满足预设阔值的至少一个数据项为特殊数据项;其 中,当m = k+1时,所述前一次更新后的数据项队列为形成后的数据项队列,η为正整数,k 为正整数,k《n,m的值依次从k+1取到n,m为整数,i为正整数。
[0041] 基于本发明提供的上述技术方案,由于本发明可W在数据流采样周期内统计获取 的各个数据项的出现次数,并根据各个数据项及各个数据项的出现次数实时更新数据项队 列,W及每经过预设时间后,通过数据项队列中的k个均不相同的数据项的出现次数、前一 次估算的k个均不相同的数据项的出现频率及预设的计算公式估算数据项队列中的k个 均不相同的数据项的出现频率,如此本发明提供的技术方案可W实时估算数据项的出现频 率,且本次估算k个均不相同的数据项的出现频率时参考了前一次估算的k个均不相同的 数据项的出现频率,即估算的数据项的出现频率随时间的变化而变化,从而可W保证估算 的数据项的出现频率相对比较准确,进而能够根据数据项的出现频率,比较准确地确定大 数据流中的特殊数据项。
【附图说明】
[0042] 图1为本发明实施例提供的一种确定大数据流中的特殊数据项的方法流程图;
[0043] 图2为本发明实施例提供的一种确定大数据流中的特殊数据项的方法的仿真示 意图;
[0044] 图3为本发明实施例提供的一种确定大数据流中的特殊数据项的装置的结构示 意图;
[0045] 图4为本发明实施例提供的一种确定大数据流中的特殊数据项的装置的硬件示 意图。
【具体实施方式】
[0046] 本发明实施例提供的一种确定大数据流中的特殊数据项的方法及装置可W应用 于大数据流分析系统中。大数据流分析系统通过对大数据流进行分析,可W从大数据流中 获得有用信息。举例来说,大数据流分析系统通过对大数据流进行分析,可W从大数据流中 确定出人们的研究热点或关注度较高的信息,例如大数据流中的特殊数据项(特殊数据项 可W理解为突发数据项或频繁数据项)。
[0047] 一种可能的应用场景为互联网广告,互联网广告每时每刻都在更新,并产生大量 的信息,运些大量的信息可w理解为大数据流。若在互联网广告中需要优化广告展示配置 (例如在某个社交网站上优化广告展示配置等),则需要从互联网广告产生的大数据流中 提取出频繁出现的数据项,即频繁数据项(例如某个社交网站上频繁出现的用户信息等), 运样可W通过对运些频繁数据项进行分析,确定出优化广告展示配置的优化策略。
[0048] 另一种可能的应用场景为网络流量监测,网络中传输数据时,数据W数据包的形 式连续传输,运些连续传输的数据包可W理解为大数据流。若需要有效避免网络阻塞,提高 网络传输性能,则需要在网络流量监测过程中能够发现异常流量,即从大数据流中发现异 常数据包,该异常数据包也可称为突发数据项,运样可W通过对突发数据项进行分析,确定 出突发数据项出现的原因,从而通过制定合理的策略消除该突发数据项,进而有效避免网 络阻塞,提高网络传输性能。
[0049] 本发明实施例提供的确定大数据流中的特殊数据项的方法的执行主体可W为确 定大数据流中的特殊数据项的装置,该确定大数据流中的特殊数据项的装置可W为上述大 数据流分析系统或者大数据流分析系统中的分析单元/模块/器等。
[0050] 下面结合附图,通过具体的实施例及其应用场景对本发明实施例提供的一种确定 大数据流中的特殊数据项的方法及装置进行详细地说明。 阳0川 实施例一
[0052] 本发明实施例提供一种确定大数据流中的特殊数据项的方法,如图1所示,该方 法可W包括:
[0053] S101、在数据流采样周期内,依次获取采样数据流中的η个数据项,并采用η个数 据项中最先获取到的k个均不相同的数据项形成数据项队列。
[0054] 其中,k个均不相同的数据项一一对应k个均不相同的计数器,k个均不相同的计 数器中的每个计数器用于统计形成数据项队列之前与该计数器对应的数据项的出现次数, η为正整数,k为正整数,k《η。
[0055] 本发明实施例中,若需获取大数据流中的有用信息,例如大数据流中的特殊数据 项,则可W设定一个采样周期,并在该采样周期内依次获取大数据流中的各个数据项,即η 个数据项,其中,采样周期内的数据流也可W称为采样数据流。
[0056] 特别的,本发明实施例提供的特殊数据项可W为在大数据流中出现次数最多的数 据项,运些出现次数最多的数据项可称为频繁数据项;特殊数据项也可W为在大数据流中 出现次数最少的数据项,运些出现次数最少的数据项可称为突发数据项。具体的,本发明需 要确定的特殊数据项为频繁数据项还是突发数据项可根据实际需求进行选择,在此不作限 制。
[0057] S102、若η个数据项中在k个均不相同的数据项之后获取的数据项中的第m个数 据项与前一次更新后的数据项队列中的第一数据项相同,则将与第一数据项对应的第一计 数器加 i,并将第一数据项和第一计数器移动至前一次更新后的数据项队列的队首,第一数 据项为前一次更新后的数据项队列中的任意一个数据项。
[0058] 其中,当m = k+1时,前一次更新后的数据项队列为形成后的数据项队列,即为η 个数据项中最先获取到的k个均不相同的数据项形成后的数据项队列,m的值依次从k+1取 到n,m为整数,i为正整数。
[0059] 本发明实施例中,获取到η个数据项之后,需要先采用该η个数据项中最先获取到 的k个均不相同的数据项形成一个数据项队列,并将该η个数据项中在k个均不相同的数 据项之后获取的数据项中的第m个数据项与前一次更新后的数据项队列中已经存在的数 据项一一进行对比,若第m个数据项与前一次更新后的数据项队列中的第一数据项相同, 即第m个数据项已经在前一次更新后的数据项队列中存在,则将与第一数据项对应的第一 计数器加 i,并将第一数据项和第一计数器移动至前一次更新后的数据项队列的队首。其 中,第一数据项为前一次更新后的数据项队列中的任意一个数据项。
[0060] 需要说明的是,数据项队列中的k个数据项均不相同,每个数据项均对应一个计 数器,用于对该数据项的出现次数计数。
[0061] 进一步地,由于数据项队列中只能包含k个均不相同的数据项,因此通过S102对 第m个数据项的出现次数进行计数后,需要将第m个数据项移动至数据项队列的队首,运样 能够保证在长时间未获取到与第m个数据项相同的数据项时,第m个数据项不会被替换,从 而防止第m个数据项丢失而导致最终确定的特殊数据项不够准确的现象。
[0062] 特别的,在一次采样中,即上述的数据流采样周期内,i的取值为一个确定的正整 数。运样可W保证在增加计数器的值时,为与每个数据项对应的计数器都加相同的值,从而 能够保证统计的每个数据项的出现次数的准确性。
[0063] 优选的,i的取值为1,运样可W保证与数据项对应的计数器的值即为该数据项的 真实的出现次数。
[0064] S103、若第m个数据项与前一次更新后的数据项队列中的各个数据项均不相同, 则将前一次更新后的数据项队列中的第二数据项替换为第m个数据项,并将与第m个数据 项对应的第二计数器设置为i,W及将第m个数据项和第二计数器移动至前一次更新后的 数据项队列的队首,第二数据项为位于前一次更新后的数据项队列的队尾的数据项。 阳0化]其中,当m = k+1时,前一次更新后的数据项队列为形成后的数据项队列,即为η 个数据项中最先获取到的k个均不相同的数据项形成后的数据项队列,m的值依次从k+1取 到n,m为整数,i为正整数。
[0066] 本发明实施例中,对第m个数据项的出现次数统计时,需要将第m个数据项与前一 次更新后的数据项队列中已经存在的k个均不相同的数据项一一进行对比,若第m个数据 项与数据项队列中的各个数据项均不相同,则用第m个数据项替换前一次更新后的数据项 队列中的第二数据项,并将与第m个数据项对应的第二计数器设置为i,即统计第m个数据 项的出现次数,W及将第m个数据项和第二计数器移动至前一次更新后的数据项队列的队 首,第二数据项为位于前一次更新后的数据项队列的队尾的数据项。
[0067] 其中,第二计数器的设置方式可W为下述的一种:
[0068] (1)将与第二数据项对应的计数器清零后的计数器作为第二计数器。
[0069] (2)重新设置一个新的计数器作为第二计数器。
[0070] 其中,若采用上述(1)的方法,由于可W不用再为第m个数据项重新设置一个新 的计数器,因此实现非常方便,且能够节省计数器的资源。若采用上述(2)的方法,可W保 证对第m个数据项的计数比较准确,能够防止采用上述(1)的方法时对与第二数据项对应 的计数器清零或将与第二数据项对应的计数器作为与第二计数器时出现错误导致的对第m 个数据项计数不够准确的问题。
[0071] 进一步地,上述(2)中,当为第m个数据项重新设置一个新的计数器时,可W将与 第二数据项对应的计数器删除,从而节省计数器的资源。
[0072] 具体的为第m个数据项设置计数器的方法,可W根据实际需求进行选择,本发明 不作具体限定。
[0073] 进一步地,由于数据项队列中只能包含k个均不相同的数据项,因此通过S103对 第m个数据项的出现次数进行计数后,需要将第m个数据项移动至数据项队列的队首,运样 能够保证在长时间未获取到与第m个数据项相同的数据项时,第m个数据项不会被替换,从 而防止第m个数据项丢失而导致最终确定的特殊数据项不够准确的现象。
[0074] 需要说明的是,本发明实施例中,对获取到的采样数据流中的η个数据项中在k个 均不相同的数据项之后获取的数据项中的每一个数据项,均可W通过执行S102或者S103 统计运些数据项的出现次数。即若η个数据项中在k个均不相同的数据项之后获取的数据 项中的第m个数据项满足S102的条件(第m个数据项与前一次更新后的数据项队列中的 一个数据项,例如与第一数据项相同),则执行S102 ;若第m个数据项满足S103的条件(第 m个数据项与前一次更新后的数据项队列中的各个数据项均不相同),则执行S103。
[00巧]S104、每经过预设时间后,根据k个均不相同的计数器的值、前一次估算的k个均 不相同的数据项的出现频率和预设的计算公式,估算k个均不相同的数据项的出现频率。
[0076] 其中,预设时间小于或等于数据流采样周期,其中,第一次估算k个均不相同的数 据项的出现频率时采用的前一次估算的k个均不相同的数据项的出现频率为0。
[0077] 具体的,本发明实施例提供的预设的计算公式为指数加权移动平均(英文: exponentially wei曲ted moving-average,缩写:EWMA)技术的计算公式,即本发明实施例 具体为每经过预设时间后,采用EWMA技术,估算k个均不相同的数据项的出现频率。
[0078] 其中,EWMA技术是指通过创建数据集的一系列完整的不同子集的平均值来分析数 据点。本发明实施例中EWMA为计算不同时刻数据项队列中k个均不相同的数据项的出现 频率,从而可W从中确定出满足预设阔值的特殊数据项(运些特殊数据项组成频繁数据项 集或突发数据项集)。
[0079] 本发明实施例中,在对采样数据流中的η各数据项的出现次数进行计数过程中, 在每经过预设时间后,可W根据统计的目前数据项队列中的k个均不相同的计数器的值 (即为统计的k个均不相同的数据项的出现次数)、前一次估算的k个均不相同的数据项的 出现频率和预设的EWMA技术的计算公式,估算目前数据项队列中的k个均不相同的数据项 的出现频率。
[0080] 其中,上述预设时间可W根据实际需求进行设置,本发明对此不作限制。例如假设 数据流采样周期为100秒,则预设时间可W设置为10秒,即在对采样数据流中的η个数据 项的出现次数进行计数过程中,可W在每经过10秒后执行一次S104。
[0081] 由于数据项队列中的数据项随着采样数据流的更新不断变化,且本发明实施例提 供的确定大数据流中的特殊数据项的方法中S102和S103,无论第m个数据项是否已经存在 于前一次更新后的数据项队列中,本次更新数据项队列时都会将第m个数据项移动至前一 次更新后的数据项队列的队首,运样能够在数据项队列中的数据项不断变化的情况下,保 证要确定的特殊数据项(出现次数最多的频繁数据项和出现次数最少的突发数据项)基本 可W保留在数据项队列中,从而能够比较准确的确定出大数据流中的特殊数据项,进而从 运些特殊数据项中提取出有用信息。
[0082] 需要说明的是,本发明实施例提供的确定大数据流中的特殊数据项的方法,估算 出的k个均不相同的数据项的出现频率均为k个均不相同的数据项在采样数据流(或者采 样数据流所属的大数据流)中的实际出现频率的近似值。
[0083] S105、在数据流采样周期后,根据最后一次估算的k个均不相同的数据项的出现 频率,确定k个均不相同的数据项中出现频率满足预设阔值的至少一个数据项为特殊数据 项。
[0084] 本发明实施例在数据流采样周期内,对采样数据流中的各个数据项的出现次数进 行计数;并在每经过预设时间后,估算目前数据项队列中的k个均不相同的数据项的出现 频率;W及在数据流采样周期结束后,可根据最后一次估算的数据项队列中的k个均不相 同的数据项的出现频率,确定k个均不相同的数据项中出现频率满足预设阔值的至少一个 数据项即为特殊数据项。
[0085] 需要说明的是,本发明实施例提供的特殊数据项包括频繁数据项和突发数据项。 当需要确定的特殊数据项为频繁数据项时,在S105中,本发明实施例可W确定出现频率大 于或等于预设阔值的至少一个数据项为频繁数据项;当需要确定的特殊数据项为突发数据 项时,在S105中,本发明实施例可W确定出现频率小于预设阔值的至少一个数据项为突发 数据项。
[0086] 可W理解的是,上述确定频繁数据项和突发数据项时的预设阔值均可W根据实际 情况设定,本发明对此不作限制。当然,确定频繁数据项时的预设阔值和确定突发数据项时 的预设阔值可W相同,也可W不同。
[0087] 示例性的,当特殊数据项为频繁数据项时,可W将预设阔值设置为0. 08,运样,可 W根据数据流采样周期内最后一次估算的数据项队列中的k个均不相同的数据项的出现 频率,确定出现频率大于或等于0. 08的数据项即为频繁数据项。当特殊数据项为突发数据 项时,可W将预设阔值设置为0. 03,运样,可W根据数据流采样周期内最后一次估算的数据 项队列中的k个均不相同的数据项的出现频率,确定出现频率小于0. 03的数据项即为突发 数据项。 阳0蝴可选的,上述S104中的计算公式可W为:ft= λζ,+ (1-λ)?·。;
[0089] 其中,t表示时刻;f康示t时刻数据项的出现频率;ζ康示t时刻数据项的统计 次数或统计频率,所述统计次数为与所述数据项对应的计数器的值,所述统计频率为所述 计数器的值与数据项队列中全部计数器的值之和的比值;λ表示预设的zt的加权值;f t 1 表示t-1时刻数据项的出现频率。
[0090] 特别的,上述数据项的统计次数可W理解为统计的数据项的出现次数,即为与数 据项对应的计数器的值;上述数据项的统计频率可W理解为统计的数据项的出现频率,即 为与数据项对应的计数器的值和数据项队列中的k个均不相同的计数器的值之和的比值。 假设k = 4,与某个数据项对应的计数器的值为2,4个计数器中除该计数器外的其他3个计 数器的值分别为3,4和1,则该数据项的统计次数=2,该数据项的统计频率=2/(2+3+4+1) 二 0· 2〇
[0091] 从上述公式可W看出,本发明实施例在估算大数据流中的某个数据项的出现频率 时,不但考虑了该数据项在采样数据流中的实际出现次数(上述Zt),而且还考虑了前一次 估算的该数据项的出现频率(上述ft 1)。如此在估算该数据项的出现频率时,由于通过 考虑前一次估算的该数据项的出现频率,考虑了该数据项在采样数据流中随时间变化的特 性,因此可W使得估算出的该数据项的出现频率随时间的变化而变化,从而能够保证估算 出的该数据项的出现频率比较接近该数据项在大数据流中的出现频率,进而能够准确地确 定大数据流中的特殊数据项。 阳09引特别的,本发明实施例中,λ可W根据实际设计需求进行取值,例如λ可W取0至 1之间的任意数值,本发明对此不作限制。
[0093] 可选的,本发明实施例提供的一种确定大数据流中的特殊数据项的方法中,采样 数据流中的η个数据项中最先获取到的k个均不相同的数据项形成的数据项队列中的k个 均不相同的数据项按照与k个均不相同的数据项一一对应的k个均不相同的计数器的值由 大到小顺序排列。
[0094] 可W理解的是,本发明实施例提供的确定大数据流中的特殊数据项的方法中,在 执行完S101之后,可W按照S102-S104中每个步骤及每个步骤中的时间条件(例如预设时 间、数据流采样周期等)循环执行S102-S104 ;最终在数据流采样周期结束后,再执行S105, W从大数据流中确定出满足预设阔值的至少一个特殊数据项。 阳0巧]可选的,上述S101中,采用η个数据项中最先获取到的k个均不相同的数据项形 成数据项队列的一种可能的实现方式为:在数据流采样周期开始后,依次获取采样数据流 中的η个数据项,并从η个数据项中的第一个数据项开始,将该第一个数据项添加至数据 项队列中,W及为该第一个数据项设置一个计数器W用于统计该第一个数据项的出现次数 (具体实现中可W为计数寄存器等能够实现计数的功能模块),并将该计数器的值设置为 i ;对于η个数据项中的第二个数据项,若第二个数据项与第一个数据项相同,则在与第一 个数据项对应的计数器上累计其出现次数,若第二个数据项与第一个数据项不相同,则将 第二个数据项排列在第一个数据项的后面,并为第二个数据项设置一个计数器,W及将该 计数器设置为i ; W此类推,对于η个数据项中的其他数据项,依次重复执行上述过程,直至 由最先获取到的k个均不相同的数据项形成一个数据项队列为止。
[0096] 需要说明的是,k的取值可W根据实际需求设定。例如,若需要在大数据流中确定 出h个频繁数据项,则k的取值可W为大于h的任意值。在合理取值范围内,k的取值越大, 本发明实施例确定的h个频繁数据项的准确率越高。
[0097] 可选的,上述S103中,将前一次更新后的数据项队列中的第二数据项替换为第m 个数据项的方法,具体可W包括:
[0098] 从前一次更新后的数据项队列中删除第二数据项,并将第m个数据项添加到前一 次更新后的数据项队列中,第m个数据项在前一次更新后的数据项队列中的位置与第二数 据项在前一次更新后的数据项队列中的位置相同。
[0099] 举例来说,若前一次更新后的数据项队列为{数据项A,计数器A ;数据项B,计数 器B ;数据项C,计数器C},则数据项C为第二数据项,当统计采样数据流中的数据项D的出 现次数时,可W将数据项C从前一次更新后的数据项队列中删除,并将数据项D添加至前一 次更新后的数据项队列中,W及为该数据项D设置计数器D,即此时更新后的数据项队列为 {数据项A,计数器A ;数据项B,计数器B ;数据项D,计数器D}。
[0100] 优选的,本发明实施例描述的采样数据流(或者采样数据流所属的大数据流)中 的每个数据项在该采样数据流(或者采样数据流所属的大数据流)中的分布均随时间的变 化而变化。如此,与现有技术的空间节省法相比,由于本发明实施例提供的确定大数据流中 的特殊数据项的方法在估算数据项的出现频率时考虑了数据项在采样数据流中的分布随 时间的变化而变化的运种特性,因此,通过本发明实施例提供的确定大数据流中的特殊数 据项的方法,能够比较准确地确定出大数据流中的特殊数据项。 阳101] 假设本发明实施例提供的采样数据流为
[0102] {ABCDACBDABDCABCDDCBABCD},设定 k = 3,则按照上述 S101-S105 的方法,在数据 流采样周期后(可W理解为将该采样数据统计完成),得到的数据项队列为化(1次)、C(4 次)和B (3次)},并根据最后一次估算的k个数据项的出现频率,将满足预设阔值的数据项 确定为特殊数据项。即使数据流采样周期后得到的数据项队列化(1次)、C(4次)和B(3 次)}中统计的数据项的出现次数与其实际的出现频率不一致,但是按照本发明实施例提 供的确定大数据流中的特殊数据项的方法,由于在统计过程中每经过预设时间都估算了数 据项队列中的数据项的出现频率,且在本次估算数据项的出现频率时均考虑了前一次估算 的数据项的出现频率,因此,仍然能够比较准确地确定大数据流中的特殊数据项。即本发明 实施例能够通过比较准确地估算数据项的实际出现频率,确定出需要确定的特殊数据项, 从而可W从运些特殊数据项中提取出需要的信息。 阳103] 为了进一步更加清楚地说明本发明实施例提供的确定大数据流中的特殊数据项 的方法,能够比较准确地确定出大数据流中的特殊数据项,下面采用一个引理(引理1)和 一个定理(定理1),结合分析计算过程,从理论上进行论证说明。
[0104] 引理1 :定义Xt(t >0)为在t时刻,取值在0至1之间、且相互独立,化及具有不 同分布的随机变量序列,Yt为对X t采用EWMA技术进行计算的结果,即Y t也为随机变量序 列。
[0105] 其中,上述随机变量序列Xt中的随机变量可W理解为本发明实施例提供的数据 项i,随机变量序列Xt可W理解为本发明实施例提供的采样数据流。假设,E技t] = Θ,若
,则下述公式(1)、(2)和(3)成立,其中,E技J为随机变量Xt的数学期望值, η为采样数据流中的数据项的个数,Θ为上述的预设阔值。
[0106] (1) |E[Yt]-0 I《(?-λ)η; 阳 107]似Pf[Yt《(1- 0 Θ ]《exp(- ε 2 Θ /4 入);
[0108] 0化化>(1+〇0]《0邱(-6 2目/4入)。 阳 109]上述 Pf[Yt《(1- ε ) Θ ]为 Υ (1- ε ) Θ 的概率,Ρ r[Yt> (1+ ε ) Θ ]为 Yt> α+Ο θ的概率;ε可W取非常小的数值,运样能够保证Yt数值的大小完全取决于 白。
[0110] 其中,引理1表示大数据流的数据模型及该数据模型中的各个数据项满足的条 件。 阳111] 定理1 :使用本发明实施例提供的确定大数据流中的特殊数据项的方法,对引理1 定义的数据模型中的数据项进行出现频率的估算。假设在每个时间步长后(可W理解为每 经过预设时间后),估算每个数据项的出现频率为1- δ,则:
[0112] (1)如果在最后Τ时间的步长(可W理解为获取该数据模型中的最后Κ个数据项) 后,(1+ 0 Θ,则数据项i 一定包含在本发明实施例提供的确定大数据流中的特殊数 据项的方法确定的特殊数据项中;
[0113] (2)如果在最后T时间的步长后,(1-0 Θ,则数据项i 一定不包含在本发明 实施例提供的确定大数据流中的特殊数据项的方法确定的特殊数据项中。
[0114] 其中,定理1表示对引理1的数据模型,采用本发明实施例提供的确定大数据流中 的特殊数据项的方法确定出的数据模型中的特殊数据项,一定是数据模型中需要确定的特 殊数据项。
[0115] 进一步地,上述T可W满足如下公式: 阳116]
[0117] 可见,通过上述引理1定义的数据模型和该数据模型中的各个数据项满足的条 件,W及定理1的原理,可W论证本发明实施例提供的确定大数据流中的特殊数据项的方 法能够比较准确的确定出大数据流中的特殊数据项。
[0118] 进一步地,为了更好地描述本发明实施例提供的确定大数据流中的特殊数据项的 方法,相比于现有技术的空间节省法确定大数据流中的特殊数据项的准确率,本发明实施 例列举出对模拟的某个采样数据流进行仿真的结果,如图2所示,其中,该采样数据流包括 20,000个数据项。
[0119] 如图2所示,为现有技术的空间节省法和本发明实施例确定大数据流中的特殊数 据项的方法确定的特殊数据项的分布的相似度。其中,曲线1可W表示现有技术的空间节 省法确定的大数据流中的特殊数据项的分布,曲线2可W表示本发明实施例确定的大数据 流中的特殊数据项的分布。可W看出,曲线1表示的数据项的分布相对比较稳定,曲线2表 示的数据项的分布变化比较频繁,因此,与曲线1相比,曲线2更加能够体现出数据项的分 布在不断变化的特征。其中,图2的纵坐标表示海宁格(英文出ellinger)距离,Hellinger 距离用于度量现有技术的空间节省法和本发明实施例确定大数据流中的特殊数据项的方 法确定的特殊数据项的分布的相似度;图2的横坐标表示数据项的个数。
[0120] 可W看出,与现有技术的空间节省法相比,本发明实施例提供的确定大数据流中 的特殊数据项的方法,由于考虑了随着数据项的分布随时间变化,数据项的出现频率也随 时间变化的特征,并提供了能够快速适应运种变化特征的计算机制,因此能够比较准确地 确定出大数据流中的特殊数据项。 阳121] 下面再在一个具体的应用场景中对本发明实施例提供的确定大数据流中的特殊 数据项的方法进行一个详细地描述。 阳122] 场景:网络流量的实时监控
[0123] 由于网络流量异常是影响网络传输的重要因素,因此需要对网络流量进行实时监 控。在对网络流量进行实时监控的过程中,需要预测网络流量发生异常的数据包的源互联 网协议(英文internet Protoco 1,缩写:1巧地址和目的IP地址,W便确定主干网中发生 异常的网络流量,从而可W及时调整路由策略,有效避免网络阻塞,进而提升网络的整体性 能。
[0124] 当大量数据包在网络端口 W序列的方式快速到达时,运些大量的数据包可W假设 为大数据流,每个数据包可W为该大数据流中的一个数据项。利用本发明实施例提供的确 定大数据流中的特殊数据项的方法时,具体可W将每个数据包的特征值,例如该数据包的 源IP地址、该数据包的目的IP地址和该数据包的数据流量(即为该数据包的数据量)作 为一个数据项。
[01巧]具体的,在采样时间内,当接收到一个数据包时,可W获取该数据包的特征值作为 一个数据项,并在后续接收到其他数据包时,通过对比其他数据包的特征值与该数据包的 特征值,确定该数据包是否被统计过,依次类推,统计数据流采样周期内,大数据流中的采 样数据流中的每个数据包的出现次数,并在每经过一个预设时间后,就根据统计的各个数 据包的出现次数、前一次估算的各个数据包的出现频率和本发明实施例预设的计算公式, 估算每个数据包的出现频率,最终在数据流采样周期结束后得到的数据项队列中确定出小 于预设阔值的至少一个数据项即为特殊数据项,也就是发生异常的数据包的特征值。从而 再根据运些数据包的特征值,调整路由策略,直至异常数据包不再出现,即网络流量恢复正 常。例如,异常数据包的流量过大导致网络流量异常,引起网络阻塞,通过本发明实施例提 供的确定大数据流中的特殊数据项的方法,可W确定出发生异常的数据包,并获知发生异 常的数据包的源IP地址、目的IP地址和数据流量,从而可W通过降低从具有该源IP地址 的源数据端向具有该目的IP地址的目的数据端发送的数据包的数据流量,解决网络流量 异常的问题,进而有效避免网络阻塞。
[01%] 本发明实施例提供一种确定大数据流中的特殊数据项的方法及装置,通过在数据 流采样周期内,依次获取采样数据流中的η个数据项,并采用η个数据项中最先获取到的k 个均不相同的数据项形成数据项队列,k个均不相同的数据项一一对应k个均不相同的计 数器,k个均不相同的计数器中的每个计数器用于统计形成该数据项队列之前与该计数器 对应的数据项的出现次数;若η个数据项中在k个均不相同的数据项之后获取的数据项中 的第m个数据项与前一次更新后的数据项队列中的第一数据项相同,则将与第一数据项对 应的第一计数器加 i,并将第一数据项和第一计数器移动至前一次更新后的数据项队列的 队首,第一数据项为前一次更新后的数据项队列中的任意一个数据项;若第m个数据项与 前一次更新后的数据项队列中的各个数据项均不相同,则将前一次更新后的数据项队列中 的第二数据项替换为第m个数据项,并将与第m个数据项对应的第二计数器设置为i,W及 将第m个数据项和第二计数器移动至前一次更新后的数据项队列的队首,第二数据项为位 于前一次更新后的数据项队列的队尾的数据项;并在每经过预设时间后,根据k个均不相 同的计数器的值、前一次估算的k个均不相同的数据项的出现频率和预设的计算公式,估 算k个均不相同的数据项的出现频率,预设时间小于或等于数据流采样周期,其中,第一次 估算k个均不相同的数据项的出现频率时采用的前一次估算的k个均不相同的数据项的出 现频率为0 ; W及在数据流采样周期后,根据最后一次估算的k个均不相同的数据项的出现 频率,确定k个均不相同的数据项中出现频率满足预设阔值的至少一个数据项为特殊数据 项;其中,当m = k+1时,所述前一次更新后的数据项队列为形成后的数据项队列,η为正整 数,k为正整数,k《η,m的值依次从k+1取到η,m为整数,i为正整数。
[0127] 基于本发明实施例提供的上述技术方案,由于本发明实施例可W在数据流采样周 期内统计获取的各个数据项的出现次数,并根据各个数据项及各个数据项的出现次数实时 更新数据项队列,W及每经过预设时间后,通过数据项队列中的k个均不相同的数据项的 出现次数、前一次估算的k个均不相同的数据项的出现频率及预设的计算公式估算数据项 队列中的k个均不相同的数据项的出现频率,如此本发明实施例提供的技术方案可W实时 估算数据项的出现频率,且本次估算k个均不相同的数据项的出现频率时参考了前一次估 算的k个均不相同的数据项的出现频率,即估算的数据项的出现频率随时间的变化而变 化,从而可W保证估算的数据项的出现频率相对比较准确,进而能够根据数据项的出现频 率,比较准确地确定大数据流中的特殊数据项。 阳12引实施例二
[0129] 如图3所示,本发明实施例提供一种确定大数据流中的特殊数据项的装置,该装 置可W包括:
[0130] 获取单元10,用于在数据流采样周期内,依次获取采样数据流中的η个数据项,并 采用所述η个数据项中最先获取到的k个均不相同的数据项形成数据项队列,所述k个均 不相同的数据项一一对应k个均不相同的计数器,所述k个均不相同的计数器中的每个计 数器用于统计形成所述数据项队列之前与该计数器对应的数据项的出现次数,η为正整数, k为正整数,k《n。 阳131 ] 处理单元11,用于若所述η个数据项中所述获取单元10在所述k个均不相同的数 据项之后获取的数据项中的第m个数据项与前一次更新后的数据项队列中的第一数据项 相同,则将与所述第一数据项对应的第一计数器加 i,并将所述第一数据项和所述第一计数 器移动至所述前一次更新后的数据项队列的队首,所述第一数据项为所述前一次更新后的 数据项队列中的任意一个数据项;若所述获取单元10获取的所述第m个数据项与所述前一 次更新后的数据项队列中的各个数据项均不相同,则将所述前一次更新后的数据项队列中 的第二数据项替换为所述第m个数据项,并将与所述第m个数据项对应的第二计数器设置 为i,W及将所述第m个数据项和所述第二计数器移动至所述前一次更新后的数据项队列 的队首,所述第二数据项为位于所述前一次更新后的数据项队列的队尾的数据项;其中,当 m = k+1时,所述前一次更新后的数据项队列为形成后的数据项队列,m的值依次从k+1取 到n,m为整数,i为正整数。 阳132] 估算单元12,用于在每经过预设时间后,根据所述处理单元11增加后的所述k个 均不相同的计数器的值、前一次估算的所述k个均不相同的数据项的出现频率和预设的计 算公式,估算所述k个均不相同的数据项的出现频率,所述预设时间小于或等于所述数据 流采样周期,其中,第一次估算所述k个均不相同的数据项的出现频率时采用的所述前一 次估算的所述k个均不相同的数据项的出现频率为0。 阳133] 确定单元13,用于在所述数据流采样周期后,根据所述估算单元12最后一次估算 的所述k个均不相同的数据项的出现频率,确定所述k个均不相同的数据项中出现频率满 足预设阔值的至少一个数据项为特殊数据项。
[0134] 可选的,所述计算公式为:ft= λζ,+ (1-λ)?·。; 阳13引其中,t表示时刻;f康示t时刻数据项的出现频率;Ζ康示t时刻数据项的统计 次数或统计频率,所述统计次数为与所述数据项对应的计数器的值,所述统计频率为所述 计数器的值与数据项队列中全部计数器的值之和的比值;λ表示预设的Zt的加权值;f t 1 表示t-1时刻数据项的出现频率。
[0136] 可选的,所述获取单元10形成后的数据项队列中的所述k个均不相同的数据项按 照所述k个均不相同的计数器的值由大到小顺序排列。
[0137] 可选的,所述处理单元11,具体用于从从所述前一次更新后的数据项队列中删除 所述第二数据项,并将所述第m个数据项添加到所述前一次更新后的数据项队列中,所述 第m个数据项在所述前一次更新后的数据项队列中的位置与所述第二数据项在所述前一 次更新后的数据项队列中的位置相同。
[0138] 可选的,所述获取单元10获取的所述采样数据流中的η个数据项在所述采样数据 流中的分布均随时间的变化而变化。
[0139] 可选的,所述特殊数据项为频繁数据项或者突发数据项,
[0140] 所述确定单元13,具体用于确定出现频率大于或等于所述预设阔值的至少一个数 据项为所述频繁数据项;或者确定出现频率小于所述预设阔值的至少一个数据项为所述突 发数据项。 阳141] 本发明实施例提供一种确定大数据流中的特殊数据项的装置,该装置在数据流采 样周期内,依次获取采样数据流中的η个数据项,并采用η个数据项中最先获取到的k个均 不相同的数据项形成数据项队列,k个均不相同的数据项一一对应k个均不相同的计数器, k个均不相同的计数器中的每个计数器用于统计形成数据项队列之前与该计数器对应的数 据项的出现次数;且若η个数据项中该装置在k个均不相同的数据项之后获取的数据项中 的第m个数据项与前一次更新后的数据项队列中的第一数据项相同,则该装置将与第一数 据项对应的第一计数器加 i,并将第一数据项和第一计数器移动至前一次更新后的数据项 队列的队首,第一数据项为前一次更新后的数据项队列中的任意一个数据项;若该装置获 取的所述第m个数据项与所述前一次更新后的数据项队列中的各个数据项均不相同,则该 装置将前一次更新后的数据项队列中的第二数据项替换为第m个数据项,并将与第m个数 据项对应的第二计数器设置为i,W及将第m个数据项和第二计数器移动至前一次更新后 的数据项队列的队首,第二数据项为位于前一次更新后的数据项队列的队尾的数据项;且 该装置在每经过预设时间后,根据k个均不相同的计数器的值、前一次估算的k个均不相同 的数据项的出现频率和预设的计算公式,估算k个均不相同的数据项的出现频率,预设时 间小于或等于数据流采样周期,其中,第一次估算k个均不相同的数据项的出现频率时采 用的前一次估算的k个均不相同的数据项的出现频率为0 ; W及该装置在数据流采样周期 后,根据最后一次估算的k个均不相同的数据项的出现频率,确定k个均不相同的数据项中 出现频率满足预设阔值的至少一个数据项为特殊数据项;其中,当m = k+1时,前一次更新 后的数据项队列为形成后的数据项队列,η为正整数,k为正整数,k《n,m的值依次从k+1 取到n,m为整数,i为正整数。 阳142] 基于本发明实施例提供的上述确定大数据流中的特殊数据项的装置,由于该装置 可W在数据流采样周期内统计获取的各个数据项的出现次数,并根据各个数据项及各个数 据项的出现次数实时更新数据项队列,W及每经过预设时间后,通过数据项队列中的k个 均不相同的数据项的出现次数、前一次估算的k个均不相同的数据项的出现频率及预设的 计算公式估算数据项队列中的k个均不相同的数据项的出现频率,如此本发明提供的该装 置可W实时估算数据项的出现频率,且本次估算k个均不相同的数据项的出现频率时参考 了前一次估算的k个均不相同的数据项的出现频率,即估算的数据项的出现频率随时间的 变化而变化,从而可W保证估算的数据项的出现频率相对比较准确,进而能够根据数据项 的出现频率,比较准确地确定大数据流中的特殊数据项。 阳143] 实施例Ξ
[0144] 如图4所示,本发明实施例提供一种确定大数据流中的特殊数据项的装置,该装 置可W为大数据流分析系统,或者为大数据流分析系统中的分析单元/分析模块/分析器 等。具体的,该装置可W包括处理器20、存储器21、通信接口 22, W及系统总线23。所述处 理器20、存储器21 W及通信接口 22之间通过所述系统总线23连接并完成相互间的通信。
[0145] 所述处理器20可W是一个中央处理器(英文:central processing unit,缩写: CPU),或者是特定集成电路(英文:application specific integrated cir州it,缩写: ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。 阳146] 所述通信接口 22可W为所述装置与其他设备进行通信的通信接口。
[0147] 所述存储器21可W包括易失性存储器(英文:volatile memo巧),例如随机存取 存储器(英文:random-access memcxry,缩写:RAM);所述存储器21也可W包括非易失性 存储器(英文:non-volatile memoir),例如只读存储器(英文:read-〇nly memoir,缩写: ROM),快闪存储器(英文:flash memo巧),硬盘(英文:hard disk化ive,缩写:皿D)或固 态硬盘(英文:solid-state化ive,缩写:SSD);所述存储器21还可W包括上述种类的存 储器的组合。
[0148] 当所述装置运行时,所述处理器20可W执行图1或图2所述的方法流程,具体包 括:
[0149] 所述处理器20,用于在在数据流采样周期内,依次获取采样数据流中的η个数据 项,并采用所述η个数据项中最先获取到的k个均不相同的数据项形成数据项队列,所述k 个均不相同的数据项一一对应k个均不相同的计数器,所述k个均不相同的计数器中的每 个计数器用于统计形成所述数据项队列之前与该计数器对应的数据项的出现次数;且若所 述η个数据项中在所述k个均不相同的数据项之后获取的数据项中的第m个数据项与前一 次更新后的数据项队列中的第一数据项相同,则将与所述第一数据项对应的第一计数器加 i,并将所述第一数据项和所述第一计数器移动至所述前一次更新后的数据项队列的队首, 所述第一数据项为所述前一次更新后的数据项队列中的任意一个数据项;若所述第m个数 据项与所述前一次更新后的数据项队列中的各个数据项均不相同,则将所述前一次更新后 的数据项队列中的第二数据项替换为所述第m个数据项,并将与所述第m个数据项对应的 第二计数器设置为i,W及将所述第m个数据项和所述第二计数器移动至所述前一次更新 后的数据项队列的队首,所述第二数据项为位于所述前一次更新后的数据项队列的队尾的 数据项;并在每经过预设时间后,根据所述k个均不相同的计数器的值、前一次估算的所述 k个均不相同的数据项的出现频率和预设的计算公式,估算所述k个均不相同的数据项的 出现频率,所述预设时间小于或等于所述数据流采样周期,其中,第一次估算所述k个均不 相同的数据项的出现频率时采用的所述前一次估算的所述k个均不相同的数据项的出现 频率为0 ; W及在所述数据流采样周期后,根据最后一次估算的所述k个均不相同的数据项 的出现频率,确定所述k个均不相同的数据项中出现频率满足预设阔值的至少一个数据项 为特殊数据项;其中,当m = k+1时,所述前一次更新后的数据项队列为形成后的数据项队 列,η为正整数,k为正整数,k《n,m的值依次从k+1取到n,m为整数,i为正整数;所述存 储器21,用于存储每次更新后的所述数据项队列、所述k个均不相同的计数器的值、所述计 算公式、所述k个均不相同的数据项的出现频率、所述预设阔值W及控制所述处理器20完 成上述过程的软件程序,从而所述处理器20通过执行所述存储器21存储的所述软件程序 并调用所述存储器21存储的上述数据项的参数数值和计算公式等信息,完成上述过程。 阳15〇] 可选的,所述计算公式为:ft= λζι+(?-λ)?·。; 阳151] 其中,t表示时刻;ft表示t时刻数据项的出现频率;Ζ t表示t时刻数据项的统计 次数或统计频率,所述统计次数为与所述数据项对应的计数器的值,所述统计频率为所述 计数器的值与数据项队列中全部计数器的值之和的比值;λ表示预设的Zt的加权值;f t 1 表示t-1时刻数据项的出现频率。 阳152] 可选的,所述处理器20形成后的数据项队列中的所述k个均不相同的数据项按照 所述k个均不相同的计数器的值由大到小顺序排列。 阳153] 可选的,所述处理器20,具体用于从从所述前一次更新后的数据项队列中删除所 述第二数据项,并将所述第m个数据项添加到所述前一次更新后的数据项队列中,所述第m 个数据项在所述前一次更新后的数据项队列中的位置与所述第二数据项在所述前一次更 新后的数据项队列中的位置相同。
[0154] 可选的,所述处理器20获取的所述采样数据流中的η个数据项在所述采样数据流 中的分布均随时间的变化而变化。 阳155] 可选的,所述特殊数据项为频繁数据项或者突发数据项, 阳156] 所述处理器20,具体用于确定出现频率大于或等于所述预设阔值的至少一个数据 项为所述频繁数据项;或者确定出现频率小于所述预设阔值的至少一个数据项为所述突发 数据项。
[0157] 本发明实施例提供一种确定大数据流中的特殊数据项的装置,该装置在数据流采 样周期内,依次获取采样数据流中的η个数据项,并采用η个数据项中最先获取到的k个均 不相同的数据项形成数据项队列,k个均不相同的数据项一一对应k个均不相同的计数器, k个均不相同的计数器中的每个计数器用于统计形成数据项队列之前与该计数器对应的数 据项的出现次数;且若η个数据项中该装置在k个均不相同的数据项之后获取的数据项中 的第m个数据项与前一次更新后的数据项队列中的第一数据项相同,则该装置将与第一数 据项对应的第一计数器加 i,并将第一数据项和第一计数器移动至前一次更新后的数据项 队列的队首,第一数据项为前一次更新后的数据项队列中的任意一个数据项;若该装置获 取的所述第m个数据项与所述前一次更新后的数据项队列中的各个数据项均不相同,则该 装置将前一次更新后的数据项队列中的第二数据项替换为第m个数据项,并将与第m个数 据项对应的第二计数器设置为i,W及将第m个数据项和第二计数器移动至前一次更新后 的数据项队列的队首,第二数据项为位于前一次更新后的数据项队列的队尾的数据项;且 该装置在每经过预设时间后,根据k个均不相同的计数器的值、前一次估算的k个均不相同 的数据项的出现频率和预设的计算公式,估算k个均不相同的数据项的出现频率,预设时 间小于或等于数据流采样周期,其中,第一次估算k个均不相同的数据项的出现频率时采 用的前一次估算的k个均不相同的数据项的出现频率为0 ; W及该装置在数据流采样周期 后,根据最后一次估算的k个均不相同的数据项的出现频率,确定k个均不相同的数据项中 出现频率满足预设阔值的至少一个数据项为特殊数据项;其中,当m = k+1时,前一次更新 后的数据项队列为形成后的数据项队列,η为正整数,k为正整数,k《n,m的值依次从k+1 取到n,m为整数,i为正整数。 阳15引基于本发明实施例提供的上述确定大数据流中的特殊数据项的装置,由于该装置 可w在数据流采样周期内统计获取的各个数据项的出现次数,并根据各个数据项及各个数 据项的出现次数实时更新数据项队列,W及每经过预设时间后,通过数据项队列中的k个 均不相同的数据项的出现次数、前一次估算的k个均不相同的数据项的出现频率及预设的 计算公式估算数据项队列中的k个均不相同的数据项的出现频率,如此本发明提供的该装 置可W实时估算数据项的出现频率,且本次估算k个均不相同的数据项的出现频率时参考 了前一次估算的k个均不相同的数据项的出现频率,即估算的数据项的出现频率随时间的 变化而变化,从而可W保证估算的数据项的出现频率相对比较准确,进而能够根据数据项 的出现频率,比较准确地确定大数据流中的特殊数据项。
[0159] 通过W上的实施方式的描述,所属领域的技术人员可W清楚地了解到,为描述的 方便和简洁,仅W上述各功能模块的划分进行举例说明,实际应用中,可W根据需要而将上 述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,W完成 W上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可W参考前 述方法实施例中的对应过程,在此不再寶述。
[0160] 在本申请所提供的几个实施例中,应该理解到,所掲露的系统,装置和方法,可W 通过其它的方式实现。例如,W上所描述的装置实施例仅仅是示意性的,例如,所述模块或 单元的划分,仅仅为一种逻辑功能划分,实际实现时可W有另外的划分方式,例如多个单元 或组件可W结合或者可W集成到另一个系统,或一些特征可W忽略,或不执行。另一点,所 显示或讨论的相互之间的禪合或直接禪合或通信连接可W是通过一些接口,装置或单元的 间接禪合或通信连接,可W是电性,机械或其它的形式。 阳161] 所述作为分离部件说明的单元可W是或者也可W不是物理上分开的,作为单元显 示的部件可W是或者也可W不是物理单元,即可W位于一个地方,或者也可W分布到多个 网络单元上。可W根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
[0162] 另外,在本发明各个实施例中的各功能单元可W集成在一个处理单元中,也可W 是各个单元单独物理存在,也可W两个或两个W上单元集成在一个单元中。上述集成的单 元既可W采用硬件的形式实现,也可W采用软件功能单元的形式实现。
[0163] 所述集成的单元如果W软件功能单元的形式实现并作为独立的产品销售或使用 时,可W存储在一个计算机可读取存储介质中。基于运样的理解,本发明的技术方案本质上 或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可软件产品的形式 体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用W使得一台计算机 设备(可W是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各 个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储 器(ROM, Read-Only Memoir)、随机存取存储器(RAM, Random Access Memoir)、磁碟或者光 盘等各种可W存储程序代码的介质。
[0164] W上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明掲露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应W所述权利要求的保护范围为准。
【主权项】
1. 一种确定大数据流中的特殊数据项的方法,其特征在于,包括: 在数据流采样周期内,依次获取采样数据流中的η个数据项,并采用所述η个数据项中 最先获取到的k个均不相同的数据项形成数据项队列,所述k个均不相同的数据项一一对 应k个均不相同的计数器,所述k个均不相同的计数器中的每个计数器用于统计形成所述 数据项队列之前与该计数器对应的数据项的出现次数,η为正整数,k为正整数,k < η ; 若所述η个数据项中在所述k个均不相同的数据项之后获取的数据项中的第m个数据 项与前一次更新后的数据项队列中的第一数据项相同,则将与所述第一数据项对应的第一 计数器加 i,并将所述第一数据项和所述第一计数器移动至所述前一次更新后的数据项队 列的队首,所述第一数据项为所述前一次更新后的数据项队列中的任意一个数据项,其中, 当m = k+Ι时,所述前一次更新后的数据项队列为形成后的数据项队列,m的值依次从k+1 取到n,m为整数,i为正整数; 若所述第m个数据项与所述前一次更新后的数据项队列中的各个数据项均不相同,则 将所述前一次更新后的数据项队列中的第二数据项替换为所述第m个数据项,并将与所述 第m个数据项对应的第二计数器设置为i,以及将所述第m个数据项和所述第二计数器移动 至所述前一次更新后的数据项队列的队首,所述第二数据项为位于所述前一次更新后的数 据项队列的队尾的数据项,其中,当m = k+Ι时,所述前一次更新后的数据项队列为形成后 的数据项队列,m的值依次从k+Ι取到n,m为整数,i为正整数; 每经过预设时间后,根据所述k个均不相同的计数器的值、前一次估算的所述k个均 不相同的数据项的出现频率和预设的计算公式,估算所述k个均不相同的数据项的出现频 率,所述预设时间小于或等于所述数据流采样周期,其中,第一次估算所述k个均不相同的 数据项的出现频率时采用的所述前一次估算的所述k个均不相同的数据项的出现频率为 〇 ; 在所述数据流采样周期后,根据最后一次估算的所述k个均不相同的数据项的出现频 率,确定所述k个均不相同的数据项中出现频率满足预设阈值的至少一个数据项为特殊数 据项。2. 根据权利要求1所述的方法,其特征在于, 所述计算公式为:ft= Xzt+(l_A)ftl; 其中,t表示时刻;ft表示t时刻数据项的出现频率;z t表示t时刻数据项的统计次数 或统计频率,所述统计次数为与所述数据项对应的计数器的值,所述统计频率为所述计数 器的值与数据项队列中全部计数器的值之和的比值;λ表示预设的 Zt的加权值;f t i表示 t_l时刻数据项的出现频率。3. 根据权利要求1或2所述的方法,其特征在于, 所述形成后的数据项队列中的所述k个均不相同的数据项按照所述k个均不相同的计 数器的值由大到小顺序排列。4. 根据权利要求1-3任一项所述的方法,其特征在于,所述将所述前一次更新后的数 据项队列中的第二数据项替换为所述第m个数据项,包括: 从所述前一次更新后的数据项队列中删除所述第二数据项,并将所述第m个数据项添 加到所述前一次更新后的数据项队列中,所述第m个数据项在所述前一次更新后的数据项 队列中的位置与所述第二数据项在所述前一次更新后的数据项队列中的位置相同。5. 根据权利要求1-4任一项所述的方法,其特征在于,所述特殊数据项为频繁数据项 或者突发数据项, 所述确定所述k个均不相同的数据项中出现频率满足预设阈值的至少一个数据项为 特殊数据项,包括: 确定所述k个均不相同的数据项中出现频率大于或等于所述预设阈值的至少一个数 据项为所述频繁数据项;或者 确定所述k个均不相同的数据项中出现频率小于所述预设阈值的至少一个数据项为 所述突发数据项。6. -种确定大数据流中的特殊数据项的装置,其特征在于,包括: 获取单元,用于在数据流采样周期内,依次获取采样数据流中的η个数据项,并采用所 述η个数据项中最先获取到的k个均不相同的数据项形成数据项队列,所述k个均不相同 的数据项一一对应k个均不相同的计数器,所述k个均不相同的计数器中的每个计数器用 于统计形成所述数据项队列之前与该计数器对应的数据项的出现次数,η为正整数,k为正 整数,k彡η ; 处理单元,用于若所述η个数据项中所述获取单元在所述k个均不相同的数据项之后 获取的数据项中的第m个数据项与前一次更新后的数据项队列中的第一数据项相同,则将 与所述第一数据项对应的第一计数器加 i,并将所述第一数据项和所述第一计数器移动至 所述前一次更新后的数据项队列的队首,所述第一数据项为所述前一次更新后的数据项队 列中的任意一个数据项;若所述获取单元获取的所述第m个数据项与所述前一次更新后的 数据项队列中的各个数据项均不相同,则将所述前一次更新后的数据项队列中的第二数据 项替换为所述第m个数据项,并将与所述第m个数据项对应的第二计数器设置为i,以及将 所述第m个数据项和所述第二计数器移动至所述前一次更新后的数据项队列的队首,所述 第二数据项为位于所述前一次更新后的数据项队列的队尾的数据项;其中,当m = k+Ι时, 所述前一次更新后的数据项队列为形成后的数据项队列,m的值依次从k+1取到n,m为整 数,i为正整数; 估算单元,用于在每经过预设时间后,根据所述处理单元增加后的所述k个均不相同 的计数器的值、前一次估算的所述k个均不相同的数据项的出现频率和预设的计算公式, 估算所述k个均不相同的数据项的出现频率,所述预设时间小于或等于所述数据流采样周 期,其中,第一次估算所述k个均不相同的数据项的出现频率时采用的所述前一次估算的 所述k个均不相同的数据项的出现频率为0 ; 确定单元,用于在所述数据流采样周期后,根据所述估算单元最后一次估算的所述k 个均不相同的数据项的出现频率,确定所述k个均不相同的数据项中出现频率满足预设阈 值的至少一个数据项为特殊数据项。7. 根据权利要求6所述的装置,其特征在于, 所述计算公式为:ft= Xzt+(l_A)ftl; 其中,t表示时刻;ft表示t时刻数据项的出现频率;z t表示t时刻数据项的统计次数 或统计频率,所述统计次数为与所述数据项对应的计数器的值,所述统计频率为所述计数 器的值与数据项队列中全部计数器的值之和的比值;λ表示预设的 Zt的加权值;f t i表示 t_l时刻数据项的出现频率。8. 根据权利要求6或7所述的装置,其特征在于, 所述获取单元形成后的数据项队列中的所述k个均不相同的数据项按照所述k个均不 相同的计数器的值由大到小顺序排列。9. 一种确定大数据流中的特殊数据项的装置,其特征在于,包括: 处理器,用于在数据流采样周期内,依次获取采样数据流中的η个数据项,并采用所述 η个数据项中最先获取到的k个均不相同的数据项形成数据项队列,所述k个均不相同的 数据项一一对应k个均不相同的计数器,所述k个均不相同的计数器中的每个计数器用于 统计形成所述数据项队列之前与该计数器对应的数据项的出现次数;且若所述η个数据项 中在所述k个均不相同的数据项之后获取的数据项中的第m个数据项与前一次更新后的数 据项队列中的第一数据项相同,则将与所述第一数据项对应的第一计数器加 i,并将所述第 一数据项和所述第一计数器移动至所述前一次更新后的数据项队列的队首,所述第一数据 项为所述前一次更新后的数据项队列中的任意一个数据项;若所述第m个数据项与所述前 一次更新后的数据项队列中的各个数据项均不相同,则将所述前一次更新后的数据项队列 中的第二数据项替换为所述第m个数据项,并将与所述第m个数据项对应的第二计数器设 置为i,以及将所述第m个数据项和所述第二计数器移动至所述前一次更新后的数据项队 列的队首,所述第二数据项为位于所述前一次更新后的数据项队列的队尾的数据项;并在 每经过预设时间后,根据所述k个均不相同的计数器的值、前一次估算的所述k个均不相 同的数据项的出现频率和预设的计算公式,估算所述k个均不相同的数据项的出现频率, 所述预设时间小于或等于所述数据流采样周期,其中,第一次估算所述k个均不相同的数 据项的出现频率时采用的所述前一次估算的所述k个均不相同的数据项的出现频率为0 ; 以及在所述数据流采样周期后,根据最后一次估算的所述k个均不相同的数据项的出现频 率,确定所述k个均不相同的数据项中出现频率满足预设阈值的至少一个数据项为特殊数 据项;其中,当m = k+Ι时,所述前一次更新后的数据项队列为形成后的数据项队列,η为正 整数,k为正整数,k < n,m的值依次从k+Ι取到n,m为整数,i为正整数。10. 根据权利要求9所述的装置,其特征在于, 所述计算公式为:ft= Xzt+(l_A)ftl; 其中,t表示时刻;ft表示t时刻数据项的出现频率;z t表示t时刻数据项的统计次数 或统计频率,所述统计次数为与所述数据项对应的计数器的值,所述统计频率为所述计数 器的值与数据项队列中全部计数器的值之和的比值;λ表示预设的 Zt的加权值;f t i表示 t_l时刻数据项的出现频率。11. 根据权利要求9或10所述的装置,其特征在于, 所述处理器形成后的数据项队列中的所述k个均不相同的数据项按照所述k个均不相 同的计数器的值由大到小顺序排列。
【文档编号】G06F17/30GK105989104SQ201510080264
【公开日】2016年10月5日
【申请日】2015年2月13日
【发明人】阿尔伯特·比非特, 欧阳军, 范伟
【申请人】华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1