(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210414542.8
(22)申请日 2022.04.20
(71)申请人 北京滴普科技有限公司
地址 100000 北京市海淀区彩和坊路8号 4
层406
(72)发明人 闻乃松 杨磊
(74)专利代理 机构 北京中政联科专利代理事务
所(普通合伙) 11489
专利代理师 赖学能
(51)Int.Cl.
G06F 16/22(2019.01)
G06F 16/23(2019.01)
G06F 16/242(2019.01)
(54)发明名称
一种面向实时流场景下的值分布统计方法
及系统
(57)摘要
本发明公开了一种面向实时流场景下的值
分布统计方法, 步骤1, 基于流计算框架, 将实时
数据流按照最小时间粒度, 划分为不同窗口, 在
每个窗口的右边沿触发窗口计算, 得到预设格式
的统计数据内容, 其中, 每个窗口的统计结果记
录每个值出现的频率; 步骤2, 将窗口数据按照频
率大小排序后持久化到支持可扩展的数据表中,
其中, 所述数据表的表格式包含基本的字段: 值
名、 值出现频率、 窗口时间; 步骤3, 将所述最小时
间粒度的统计结果继续向上聚合, 得到更高级别
的结果数据, 对聚合的数据按照频率大小排序后
输出到新的存储表中: 步骤4, 查询阶段, 将时间
范围规整为连续的不同时间粒度, 并根据相应的
时间粒度分别查询该时间粒度对应统计级别的
结果表。
权利要求书1页 说明书5页 附图2页
CN 115309738 A
2022.11.08
CN 115309738 A
1.一种面向实时流场景 下的值分布统计方法, 其特 征在于, 所述统计方法包括:
步骤1, 基于流计算框架, 将实时数据流按照最小时间粒度, 划分为不同的窗口, 在每个
窗口的右边沿触发窗口计算, 得到预设格式的统计数据内容;
步骤2, 将窗口数据按照频率大小排序后持久化到支持可扩展的数据表中;
步骤3, 将所述最小时间粒度的统计结果继续向上聚合, 得到更高级别的结果数据, 对
聚合的数据按照频率大小排序后输出到新的存 储表中:
步骤4, 在查询阶段, 将时间范围规整为连续的不同时间粒度, 并根据相应的时间粒度
分别查询该时间粒度对应统计级别的结果表。
2.如权利要求1所述的一种面向实时流场景下的值分布 统计方法, 其特征在于, 所述最
小时间粒度为分钟。
3.如权利要求2所述的一种面向实时流场景下的值分布 统计方法, 其特征在于, 所述步
骤1进一步包括: 每 个窗口的统计结果记录每 个值出现的频率。
4.如权利要求3所述的一种面向实时流场景下的值分布 统计方法, 其特征在于, 所述步
骤2进一步包括: 所述数据表的表格式包 含基本的字段: 值名、 值出现频率、 窗口时间。
5.如权利要求1所述的一种面向实时流场景下的值分布 统计方法, 其特征在于, 所述将
时间范围规整为连续的不同时间粒度进一步包括: 将时间范围规整为连续的月、 日、 小时、
分钟。
6.一种面向实时流场景 下的值分布统计系统, 其特 征在于, 所述统计系统包括:
窗口划分模块, 基于流计算框架, 将实时数据流按照最小时间粒度, 划分为不同的窗
口, 在每个窗口的右边沿触发窗口计算, 得到预设格式的统计数据内容;
数据排序模块, 将窗口数据按照频率大小排序后持久化到支持可扩展的数据表中;
聚合模块, 将所述最小时间粒度的统计结果继续向上聚合, 得到更高级别的结果数据,
对聚合的数据按照频率大小排序后输出到新的存 储表中:
查询模块, 在查询阶段, 将时间范围规整为连续的不同时间粒度, 并根据相应的时间粒
度分别查询该时间粒度对应统计级别的结果表。
7.如权利要求1所述的一种面向实时流场景下的值分布 统计方法, 其特征在于, 所述最
小时间粒度为分钟。
8.如权利要求2所述的一种面向实时流场景下的值分布 统计方法, 其特征在于, 所述 窗
口划分模块进一 步包括: 每 个窗口的统计结果记录每 个值出现的频率。
9.如权利要求3所述的一种面向实时流场景下的值分布 统计方法, 其特征在于, 所述数
据排序模块进一步包括: 所述数据表的表格式包含基本的字段: 值名、 值出现频率、 窗口时
间。
10.如权利要求1所述的一种面向实时流场景下的值分布统计方法, 其特征在于, 所述
将时间范围规整为连续的不同时间粒度进一步包括: 将时间范围规整为连续的月、 日、 小
时、 分钟。权 利 要 求 书 1/1 页
2
CN 115309738 A
2一种面向实时流场景下的值分布统 计方法及系统
技术领域
[0001]本发明涉及计算机统计技术领域, 尤其涉及一种面向实时流场景下的值分布统计
方法及系统。
背景技术
[0002]聚集计算在传统数据库应用中是一个最基本 的功能, 也是应用最频繁 的功能。 随
着数据流的出现, 将数据流聚集计算应用到网络监测及态势分析系统中成为一个新的 研
究热点。 比如: 在对当前网络安全态势进行分析时, 需要的常常不是每一个安全事 件的具
体信息, 而是需要一个整体的情况, 以便获得整体的态势(例如获得湖南省最近 一小时内
发生的木马事件的数量)。 因此, 通常要对数据流(如网络安全事件数据流)进 行聚集统计
处理, 所述聚集统计处理主要包括计数(COUNT), 求和(SUM), 平均值(AVG), 最大值(MAX),
最小值(MI N)等。
[0003]基于窗口查询技术生成概要数据结构的聚集查询是一种典型的近似聚集查询算
法。 现有技术中的窗口查询技术大多采用界标窗口模型生成概要 数据结构, 进而进 行聚集
查询。 界标窗口模型的起始时间是固定不变的, 而中止时间则随着时间的推移逐渐在 变
化, 也就是窗口一端固定, 而另一端在逐渐增加的窗口模型, 因此界标窗口是一种 增量的
窗口, 当新数据流元组到达时, 将新的内容逐步添加到窗口模型中去, 并与前 一时刻的统
计值进行聚集运算, 例如前一时刻的值为N, 此刻新加入的元素值为M, 则 经过SUM运算后, N
更新为SUM(N, M)=N+M。 这种模型虽然反应了整个数据流的特征, 但是这种模型认为所有
时刻到达的数据都是同等重要的, 而网络安全事件统计中, 用 户对到达数据的关心程度是
不同的, 往往需要重点关注最近到达的数据, 而较久远的 数据对用户来说重要性不高。 因
此界标窗口模型难以适用于对网络安全事件统计。 而 且传统的数据流聚集查询在进行增
量运算时, 只是将前一时刻的基于界标窗口模型的 统计值(主要为SUM, MAX等聚集运算的
值)与新到达的数据流元组的值进行聚集处理, 而没有考虑到数据流元组的分组属性
(group), 因此难以满足具有多维特征的数据流聚 集统计的要求。 比如: 在对网络安全事件
数据流的聚集统计中, 往往包括多个维度(分 组属性), 例如统计分析各省市发生的木马类
型网络安全事件的数量, 涉及到了时间、 地址、 事件类型这三个分组属性, 而且地址属性
(即事件位置属性)包 含多个值如 “HUN” (代表“湖南”)、“BJ”(代表“北京”)等。
[0004]而具体到实时统计计算中时, 针对这样的一个实时统计计算场景: 任意指定实时
流的开始时间和结束时间, 要求快速计算该流中指 定字段的不同值出现的频率。 通常 有下
面的计算方法: 基于内存计算工具如Python Pandas: 实时数据先落盘, 然后再 基于内存统
计计算每个值出现的频率, 该方法无法处理超过内存大小的数据集; 借助 分布式计算引擎
如Spark、 Trino等, 该方式需要额外引入外部依赖, 且无法支持集群 的自动伸缩以适应不
同规模的数据集; 利用流处理框架本身的能力, 比如基于流窗口 特性来统计值的近似累计
频率, 论文 《Frequency Counting Algorithms over Data Streams》 。 该方法只是统计截止
到目前为止的累计频率, 而不能适应动态时间范围的 数据集。说 明 书 1/5 页
3
CN 115309738 A
3
专利 一种面向实时流场景下的值分布统计方法及系统
安全报告 >
其他 >
文档预览
中文文档
9 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 思考人生 于 2024-02-24 08:49:57上传分享