[发明专利]一种在Spark streaming平台下的序列片段频率计算方法有效
申请号: | 201810041622.7 | 申请日: | 2018-01-16 |
公开(公告)号: | CN108268633B | 公开(公告)日: | 2019-12-31 |
发明(设计)人: | 李辉;彭思哲 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455 |
代理公司: | 61200 西安通大专利代理有限责任公司 | 代理人: | 徐文权 |
地址: | 710065 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 流式数据 缓存 序列片段 数据统计 线程 频率计算 接收端 求和 统计 批次处理 数据末尾 统计处理 发送端 缓存量 预设 相加 取出 复制 传输 | ||
1.一种在Spark streaming平台下序列片段频率的计算方法,其特征在于,包括以下步骤:
1)发送端缓存流式数据,当流式数据的缓存量达到预设值时,则对缓存的流式数据进行组织,使其适应Spark Streaming的处理机制,然后通过Socket套接字传输至接收端中;
2)接收端启动若干线程,并使用其中一个线程进行数据的接收,再对接收到的数据进行缓存,同时通过其他线程进行数据的统计处理;其中,对数据进行统计处理的线程每个固定时间间隔从缓存中提取一批数据,并对提取的数据使用ONCE算法进行待计算序列片段出现频率的统计;
3)将本次数据统计的结果与之前数据统计的结果进行相加求和,并将求和的结果作为当前已统计流式数据中待计算序列片段出现的频率,再对本批次处理的数据末尾进行复制,然后从缓存中取出下一批数据继续进行统计,直至完成所有数据统计为止,得到在Spark streaming平台下序列片段的频率。
2.根据权利要求1所述的在Spark streaming平台下序列片段频率的计算方法,其特征在于,将数据按照到达发送端的时间顺序组织为数据序列,当数据序列的长度等于预设长度时,Spark Streaming将数据序列封装到RDD中,然后发送端每隔固定时间段将RDD以DStream的形式发送数据给接收端。
3.根据权利要求2所述的在Spark streaming平台下序列片段频率的计算方法,其特征在于,负责数据接收的线程将接收到的RDD存储于缓存中,负责统计处理的线程每隔固定时间间隔从缓存中取出一批RDD进行统计处理。
4.根据权利要求3所述的在Spark streaming平台下序列片段频率的计算方法,其特征在于,
接收端从缓存中取出第一个RDD,再复制该RDD中存储的数据序列的末尾与待计数序列片段等长的部分,将复制得到的数据序列记作C-,然后使用ONCE算法对第一个RDD中待计数序列片段的出现频率进行统计,并将统计得到的结果记作freq,然后进行以下步骤:
a)接收端从缓存中取出下一个RDD,复制该RDD中存储的序列前端与待计数序列片段等长的部分,并将复制的序列片段标记为C+,再将C-与C+组合成一个新的数据序列C,对数据序列C使用ONCE算法,检查数据序列C中是否出现待计算序列片段,同时将C-与C+中间的分界处记作分界位置,当数据序列C中存在待计算序列片段时,则转至步骤b);当序列C中不存在待计算序列片段,则转至步骤d);
b)检查数据序列C内各待计算序列片段中的最后一个待计算序列片段的位置,当各待计数序列片段中的最后一个待计算序列片段的位置位于分界位置的右边时,则转至步骤c);当各待计算序列片段中的最后一个待计算序列片段的位置位于分界位置的左边时,则转至步骤d);
c)将freq+1作为新的统计结果freq,再将待计算序列片段从该RDD中删除,然后转至步骤d);
d)使用ONCE算法对RDD中待计算序列片段的出现频率进行统计,并将统计结果记作F,再使freq+F作为新的freq,然后复制RDD中序列的末尾与待计算序列片段等长的序列片段,然后将复制得到的序列片段赋给C-,再检查缓存中是否还有RDD等待统计处理,如果有,则转至步骤a),否则,则将当前的freq作为最终的统计结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810041622.7/1.html,转载请声明来源钻瓜专利网。