一种面向大规模流数据的分布式聚类方法及系统技术方案

技术编号:22755086 阅读:60 留言:0更新日期:2019-12-07 03:58
本发明专利技术涉及一种面向大规模流数据的分布式聚类方法及系统,通过构造时序化的微批式增量计算模型及基于多维划分的并行化方法,实现了可以对典型流式聚类算法进行并行化的分布式系统框架,解决了当前流式聚类分析算法难以并行化、吞吐率低的问题。通过真实的数据集对本发明专利技术进行聚类质量、吞吐率和扩展性测试,结果表明基于本发明专利技术的系统实现的流式聚类算法可以随着集群规模增长,达到亚线性的吞吐率提升,且保持与标准单机流式聚类算法相近的聚类质量,同时比其他并行化方式(如无序更新方式)实现的流式聚类算法在聚类质量方面提升2.5倍、吞吐率方面提升1.9倍。因此,本发明专利技术能够满足大规模高流速数据所需的低延时、高吞吐率的数据聚类分析需求。

A distributed clustering method and system for large scale stream data

The invention relates to a distributed clustering method and system for large-scale flow data. By constructing a sequential micro batch incremental computing model and a parallelization method based on multi-dimensional division, a distributed system framework which can parallelize typical flow clustering algorithms is realized, and the problems that the current flow clustering analysis algorithm is difficult to parallelize and low throughput are solved. The clustering quality, throughput and scalability test are carried out on the real data set of the invention. The results show that the flow clustering algorithm based on the system of the invention can achieve sublinear throughput improvement with the growth of the cluster scale, and maintain the clustering quality similar to that of the standard single machine flow clustering algorithm. At the same time, compared with other parallel methods (such as the disordered update method), it is more efficient Flow clustering algorithm improves clustering quality by 2.5 times and throughput by 1.9 times. Therefore, the invention can meet the data clustering analysis requirements of low delay and high throughput required by large-scale high flow rate data.

【技术实现步骤摘要】
一种面向大规模流数据的分布式聚类方法及系统
本专利技术涉及大规模流数据下的数据挖掘技术,更具体地涉及一种面向大规模流数据的分布式聚类方法及系统。属于软件

技术介绍
现如今,流数据挖掘技术被广泛应用到各种应用场景中,比如,物联网数据挖掘,网络流量入侵检测、网络点击率分析、实时商品推荐等。传统的数据挖掘技术利用静态的批式数据进行挖掘,这种方式不适合动态的流数据挖掘。首先,静态数据挖掘预先知道所有的数据进行挖掘,而流数据是无限的,流数据挖掘技术需要处理的是未知数据,这就需要流数据挖掘技术快速及时处理流入的数据;其次,流数据是动态变化的,传统数据挖掘技术无法及时检测反馈动态的数据变化;再次,因为流数据动态变化的特性,流数据挖掘需要更关注新产生的数据,即赋予新产生的数据更高的权重;但是静态数据挖掘技术将所有的静态数据视为一样的权重,不区分新数据和旧数据。及时准确挖掘并得到无限数据流潜在的数据模式是至关重要的。以新闻推荐系统为例,具有相似特征的新闻可以被聚在一起,形成一个类。属于相同类的新闻可以被推荐给喜欢这个类的用户,然而新闻实时产生,本文档来自技高网...

【技术保护点】
1.一种面向大规模流数据的分布式聚类方法,其特征在于,包括以下步骤:/n步骤一:面向高流速动态变化的大规模流数据,构建时序化的微批式增量计算模型,解决了传统计算模型下流式聚类算法难以进行并行化的问题;典型的流式聚类算法维护一个微簇集合,算法根据接收得到的流数据对微簇集合进行更新;时序化的微批式增量计算模型将得到的流数据划分成不同批次,微批式增量计算模型根据一个批次内的数据对微簇集合进行更新,本批次数据处理完成后,微批式增量计算模型再处理下一个批次的数据;时序化的微批式增量计算模型将典型的流式聚类算法解耦成三个保证数据按序更新的计算阶段,解决了现有并行化方案无法保证数据按序处理的问题,具体解耦的...

【技术特征摘要】
1.一种面向大规模流数据的分布式聚类方法,其特征在于,包括以下步骤:
步骤一:面向高流速动态变化的大规模流数据,构建时序化的微批式增量计算模型,解决了传统计算模型下流式聚类算法难以进行并行化的问题;典型的流式聚类算法维护一个微簇集合,算法根据接收得到的流数据对微簇集合进行更新;时序化的微批式增量计算模型将得到的流数据划分成不同批次,微批式增量计算模型根据一个批次内的数据对微簇集合进行更新,本批次数据处理完成后,微批式增量计算模型再处理下一个批次的数据;时序化的微批式增量计算模型将典型的流式聚类算法解耦成三个保证数据按序更新的计算阶段,解决了现有并行化方案无法保证数据按序处理的问题,具体解耦的三个计算阶段如下:
(1)寻找最近微簇的计算阶段:对于每条新到数据,此阶段计算其与所有微簇的距离,并选择最近的微簇检验是否可以加入,根据距离以及微簇的边界条件,判断数据能否加入微簇;如果不能加入微簇,则数据会成为离群点;
(2)微簇集合的本地更新阶段:将每一条数据以数据增量的方式更新到第一阶段计算得到的对应的微簇中;
(3)微簇集合的全局更新阶段:将更新过的微簇与全局微簇集合进行融合;
其中每个阶段内的计算和更新过程由具体流式聚类算法的微簇集合表示、更新过程、衰老机制以及离群点处理过程决定;
步骤二:基于步骤一构建的时序化的微批式增量计算模型,采用基于多维划分的并行化方法对流式聚类算法的各个计算与更新阶段进行并行化,其中计算与更新阶段为步骤一中所述的寻找最近微簇的计算阶段、微簇集合的本地更新阶段与微簇集合的全局更新阶段,其中基于多维划分的并行化方法包括以下两种:
(1)数据并行方法:将每条数据分发到不同的计算节点上,每个计算节点保存全部的微簇集合,每条数据与全部的微簇集合进行计算更新;
(2)模型并行方法:将微簇集合分发到不同的计算节点上,每个计算节点保存部分微簇集合,每条数据找到最优的部分微簇再在该部分微簇集合上进行更新;
步骤三:将更新后的微簇集合中的每个微簇当做一个单独的数据点,进行典型迭代式聚类算法的计算,如KMeans、DBSCAN等,得到最终的聚类结果。


2.根据权利要求1所述的一种面向大规模流数据的分布式聚类方法,其特征在于:所述步骤一中,时序化的微批式增量计算模型的具体实现步骤如下:
(1)初始化阶段:根据用户设定的微簇个数m对初始数据集进行迭代计算,得到m个微簇{Q1,Q2,…,Qm-1,Qm},每个微簇Qi,1≤i≤m,由一个CF向量进行表示,CF向量为其中是属于这个微簇的数据的各维度之和,是属于这个微簇的数据的各维度的平方和,是属于这个微簇的数据的时间戳之和,n是属于这个微簇的数据的权重之和;
(2)寻找最近微簇的计算阶段:每条数据x与每个微簇Q的中心点O进行距离计算,其中微簇Q的中心点为距离计算公式为其中Oi和xi分别代表O和x的第i维数据;
(3)微簇集合的本地更新阶段:找到离每条数据x最近的微簇Q,判断数据x与微簇Q之间的距离dis是否小于等于微簇Q的半径范围ε,其中半径范围公式为若dis小于等于微簇Q的半径范围ε,则将数据x更新至微簇Q内,即...

【专利技术属性】
技术研发人员:许利杰王伟魏峻康锴叶星彤
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1