[发明专利]一种获取数据流频繁项的方法有效
申请号: | 201810857265.1 | 申请日: | 2018-07-31 |
公开(公告)号: | CN109165241B | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 李文海;谭薇薇;谢晨阳 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06N5/025 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 鲁力 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 获取 数据流 频繁 方法 | ||
1.一种获取数据流频繁项的方法,其特征在于,包括:
从数据流中获取数据项;
在预设数量的数据结构集中,根据所述数据项生成频繁项的数据结构集, 具体包括
串行算法:针对单个的处理核对进行处理,得到若干分支结果;
并行算法:针对串行算法得到的分支结果进行合并处理,并得到整合结果;
并行算法包括数据分块和概要合并两大部分,定义输入流S由n个数据元素构成,为并行处理核的个数,则并行算法步骤包括:
步骤SP1,数据分块;在此部分,每一个处理核将遵循一定的规则,把当前到来的所有数据进行分块,具体的分块规则根据具体应用而定,具体步骤如下:
步骤SP11,若为二路并行,数据分块按照数据项下标的奇偶次序进行均分,并使得每个处理核分到或个元素即可;
步骤SP12,若为N路并行,其中N>2,数据分块按照数据项下标次序的模运算结果进行划分,并使得每个处理核分到到或个元素即可;
步骤SP2,每个处理核对分配到数据项,依照串行算法所描述的方法进行数据概要的提取,提取结果存入哈希表中以备后续汇合部分使用,按照数据结构存储,数据项为关键字,另还包含该数据项对应的统计频度以及累积误差;
步骤SP3,令各路哈希表按照数据项的统计频度进行排序,按照频度排序,记录下每张哈希表统计频度最小项的频度值,
,表示求最小值;
步骤SP4,对步骤SP2中提取的各路数据概要进行合并,分为二路并行和N路并行,N>2;
步骤SP41,若为二路并行,具体步骤为:
步骤SP411,步骤SP2生成的两张哈希表分别为、,概要合并策略描述为:首先遍历扫描每一个数据项,检查中的每一项是否出现在中;
步骤SP412,若中数据项同时出现在中,则将数据项相同的、的数据结构进行合并,对相应的统计频次和累积误差求和,并将数据结构中数据的求和结果存入结果哈希表,同时从中删除刚进行求和运算的数据结构;
步骤SP413,若中数据项没有出现在中,则将中该数据结构的统计频次、累积误差分别加上步骤SP3中所对应的值,最后将求和结果存入结果哈希表;
步骤SP42,若为N路并行,具体步骤为:
步骤SP421,步骤SP2生成的N张哈希表分别为,,…,“概要合并”策略描述为:首先遍历扫描每一个数据项,检查中的每一项是否出现在余下所有哈希表,…中;
步骤SP422,若中数据项同时出现在余下所有哈希表,…中,则将数据项相同的,,…的数据结构进行合并,对相应的统计频次和累积误差求和,并将数据结构中数据的求和结果存入结果哈希表中,同时从,…中删除刚进行求和运算的数据结构;
步骤SP423,若中数据项没有出现在,…之中某一个哈希表中,则将中该数据结构的统计频次、累积误差分别加上步骤SP3中所对应的值以及加上除以外其他哈希表对应的统计频次和累积误差,同时从除以外其他哈希表中删除刚进行过求和运算的数据结构,最后将求和结果存入结果哈希表;
步骤SP5,进一步处理;
步骤SP51,若为二路并行,具体步骤为:
步骤SP511,全部数据项扫描完毕后,对进行类似的遍历扫描,在步骤SP4操作中,由于中数据项与重复的数据结构已全部被删除,故余下的数据项一定都是独有的;
步骤SP512,对中剩下的每一个数据结构,只需在其统计频次及累积误差项上加上步骤SP3中所对应的值,最后将所有结果存入哈希表中即可;
步骤SP52,若为N路并行,具体步骤为:
步骤SP521,全部数据项扫描完毕后,对,…依次挨个进行类似的遍历扫描;
步骤SP522,,…中任何表Si遍历扫描操作均与相同:
步骤SP5221,首先遍历扫描Si每一个数据项,检查中的每一项是否出现在余下所有哈希表,,,…中
步骤SP5222,若Si中数据项同时出现在余下所有哈希表,,,…中,则将数据项相同的,,…数据结构进行合并,将对应的统计频次和累积误差求和,并将数据结构的求和结果存入结果哈希表Sn+1中,同时从,,,…中删除刚进行过求和运算的数据结构;
步骤SP5223,若中数据项没有出现在,,,…之中某一个哈希表中,则将中该数据结构的统计频次、累积误差分别加上所对应的值以及加上除以外其他哈希表对应的统计频次和累积误差,同时从除以外其他哈希表中删除刚进行过求和运算的数据结构,最后将求和结果存入结果哈希表;
步骤SP523,…全部数据项扫描完毕后,对进行类似的遍历扫描,在步骤SP42、SP52操作中,由于Sn中数据项与…重复的数据结构已全部被删除,故余下的数据项一定都是独有的;
步骤SP524,对中剩下的每一个数据结构,只需在统计频次及累积误差项上加上步骤SP3中…各表所对应的值…,最后将所有结果存入哈希表中即可;
步骤SP6,分块数据和概要合并过程完成;若对查询语句的返回结果的数量进行限制,则按照限定获得查询结果;
其中,所述数据结构中包括与数据项相关联的统计信息;
所述串行算法具体包括:
步骤SS2,对数据项的处理,具体如下:
步骤SS21,若数据结构集中的数据结构的数据项与所述获取的数据项相同,则数据结构的统计频度加1;
步骤SS22,若所述获取的数据项没有与数据结构集中的数据结构的数据项相同的,但存在空闲计数器,表示空,则将获取的数据项分配给空闲的计数器,并设置统计频度为1;
步骤SS23,若所述获取的数据项没有与数据结构集中的数据结构的数据项相同的,也不存在空闲计数器,则数据结构集中的所有数据结构的数据项的统计频度均减1;
步骤SS3,整理数据结构集,具体步骤如下:
步骤SS31,如果数据结构集中的数据结构统计频度,则对其累积误差加1得到;
步骤SS32,如果数据结构集中的数据结构统计频度,则使数据结构。
2.根据权利要求1所述的方法,其特征在于,所述数据结构,至少包括以下数据:数据项,数据项的统计频度和累计误差。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810857265.1/1.html,转载请声明来源钻瓜专利网。