CN106095921A - 面向海量数据流的实时并行分类方法 - Google Patents
面向海量数据流的实时并行分类方法 Download PDFInfo
- Publication number
- CN106095921A CN106095921A CN201610406845.XA CN201610406845A CN106095921A CN 106095921 A CN106095921 A CN 106095921A CN 201610406845 A CN201610406845 A CN 201610406845A CN 106095921 A CN106095921 A CN 106095921A
- Authority
- CN
- China
- Prior art keywords
- data
- attribute
- message
- bolt
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000001914 filtration Methods 0.000 claims abstract description 7
- 238000004364 calculation method Methods 0.000 claims description 43
- 238000011156 evaluation Methods 0.000 claims description 13
- 238000005192 partition Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 5
- 239000000203 mixture Substances 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000009472 formulation Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 2
- 230000011218 segmentation Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 20
- 238000002474 experimental method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向海量数据流的实时并行分类方法,所述的方法包括以下步骤:步骤一、数据Spout;步骤二、过滤批化Bolt;步骤三、模型Bolt;步骤四、局部统计与计算Bolt;步骤五、评估Bolt。本发明针对大数据“4V”特点中Volume(海量)、Velocity(高速)、Value(价值)这“3V”特点和海量数据高效处理的需求,实现了基于Storm平台的垂直并行化P‑VFDT算法;在大规模数据上的实验表明,P‑VFDT算法和VFDT算法有着相近的分类性能,但是单机多核环境的P‑VFDT算法比VFDT算法耗时约少12%,集群环境的P‑VFDT算法比VFDT算法耗时约少8%。
Description
技术领域
本发明涉及互联网技术领域,涉及一种面向海量数据流的实时并行分类方法。
背景技术
随着互联网和数据处理技术的不断发展,搜索引擎、电子商务、微博和即时通讯等应用为人们提供了海量的信息和便捷的服务,在丰富人们生活的同时也极大提高了人们的工作效率和生活情趣。人们在使用这些应用和服务的过程中也产生了各种类型的数据,如向搜索引擎发出搜索请求、在电商网站浏览商品,评论转发微博和在线聊天等。这些数据经过一定的时间积累规模都已十分庞大,并且保持着较高的增长速率,大数据的“4V”特点——Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值),日益凸显。
海量数据流是指数据总量宏大且到达速率极高的数据流。例如大型传感器网络每秒可收集百万量级数据,网络路由器每秒收集到的数据量更是复杂和规模庞大。数据的总量和增量决定了这些数据不能经过完全存储后再进行处理,而且必须保证对数据的处理速率要大于或等于数据的到达速率才能保证数据处理系统的有效运转。
海量数据流的分类,相比于一般的数据流处理过程来说,计算量要高得多,这也对算法的性能提出了更大的挑战。实现对数据流高效准确的分类,具备极大的现实意义。一方面,可以实现对数据的筛选,缩小下游节点处理数据的规模;另一方面,可以实时监控目标类别数据的变化情况,实现对于异常情况实 时告警。所以高效准确是应对海量数据流分类时必须解决的问题。
相关技术背景
(1)Storm相关技术
Topology是对运行在Storm集群中一个工作任务的逻辑抽象,Stream是一个无界的数据流序列,其中的一条数据为Tuple,处理Stream的原语是Spout和Bolt,他们均是对计算过程的逻辑抽象。Spout作为流的数据源用于产生Stream,即发送数据,而Bolt用作对Stream进行处理和传播,即接收数据、处理数据、发送数据。图1为一个简单Topology示例。不同的Spout产生不同的数据,不同的Bolt执行不同的任务。Spout和Bolt之间通过Stream连接,数据从Spout流向Bolt;不同Bolt之间通过不同的Stream相连接。
(2)垂直并行化
图2为分布式数据流决策树的垂直并行化方案,其中数据Spout向模型Bolt发送数据,模型Bolt维持一个完整的全局决策树,而局部统计与计算Bolt负责存储部分叶节点的属性统计信息以及对这些属性进行评估分数的计算。
通过人工设定局部统计与计算Bolt的并行度,使得模型Bolt在对属性数据分发的时候,可根据并行度进行均分。适当的并行度可以提高运行效率,但是当并行度过高时,会产生的局部计算结果过多,使集群中各节点间的网络通信量增加,也会增大模型Bolt汇总局部计算结果的计算量。
垂直并行化比较适合高维数据,因为在数据维度很高时,垂直并行化可将计算代价极高的计算可行划分的评估分数这一过程并行处理。另外,垂直并行化因为不需要保持多个树结构,其内存消耗较小。但是,当数据的维度不够高时,进行划分和并行计算的性价比可能不高。
发明内容
本发明克服了现有技术的不足,提供一种面向海量数据流的实时并行分类方法。该方法基于Storm实时数据流处理框架,能适用于大数据场景。实验结果证实了该方法的可行性与有效性。
为解决上述的技术问题,本发明采用以下技术方案:
一种面向海量数据流的实时并行分类方法,所述的方法包括以下步骤:
步骤一、数据Spout
数量为1,连续产生数据记录;
步骤二、过滤批化Bolt
数量为1,接收数据消息,对收集的数据进行过滤筛选,并积累成批发送给模型Bolt;
步骤三、模型Bolt
数量为1,对一批数据进行处理,将数据的分类结果,发送给评估Bolt进行评估;将数据进行分解,然后发送给局部统计与计算Bolt的对应Task;当数据所在的叶节点通过划分测试时,向局部统计与计算Bolt的所有Task发送计算消息,请求划分结果;收到局部统计与计算Bolt的所有Task发来的计算结果后,判断是否执行最终划分,如果通过最终划分测试,则执行划分操作,并向局部统计与计算Bolt的所有Task发送删除划分前叶节点的统计信息的消息;
步骤四、局部统计与计算Bolt
数量为n,收到批属性数据消息时,更新属性相关统计信息;
收到计算消息时,计算对应节点的最优划分评估分数;
收到删除消息时,删除模型中已经完成分割的节点的属性相关统计信息;
步骤五、评估Bolt。
更进一步的技术方案是所述步骤三包括:
当模型Bolt收到批数据消息后,对于批数据消息中的每一条数据,找到对应的叶结点,并根据叶节点的数据类标分布进行分类,同时向评估Bolt发出分类结果的消息;如果数据所在的叶节点已经处于划分状态,则无需使用该数据对模型进行训练,只执行分类操作;否则,需要使用该数据对模型进行训练。
更进一步的技术方案是所述对模型进行训练包括:
首先更新叶节点的数据类标分布,然后将数据分解为以节点编号、属性编号、属性值的三元组,并添加到节点的属性消息列表中,根据节点的属性消息列表生成批属性消息,同时将叶节点加入到批数据所在叶节点的集合中。
更进一步的技术方案是所述步骤四中,在局部统计与计算Bolt中使用的数据结构包括一个:节点id,属性id,属性统计信息的表格localTable,该Bolt的每一个Task都有一个localTable。
更进一步的技术方案是所述步骤四中,对批属性消息的处理是根据消息中的节点id和属性id,更新属性的统计信息。
更进一步的技术方案是所述步骤四中,对计算消息的处理是通过节点id,计算localTable中该节点的所有属性的可行划分,找出最优和次优划分并作为局部计算结果返回。
更进一步的技术方案是所述步骤四中,对删除消息的处理是根据消息中的节点id,删除localTable中该节点所有属性的统计信息。
更进一步的技术方案是所述步骤五包括:并行与非并行算法性能对比和/或批数据消息的大小对性能的影响分析。
更进一步的技术方案是所述步骤五包括实验分析,所述实验分析中的实验数据通过超平面生成算法生成;所述超平面生成算法包括:设需要生成的数据 维度为attNum,每一个维度对应一个属性,数据中噪声比率为noiseP,发生概念漂移的属性数为driftNum,概念漂移幅度为magChange,反向漂移概率为sigmaPercentage,则数据的生成过程如下:
1)、随机初始化超平面的法向量,包括:随机初始化各属性的权重weights;
2)、初始化发生概念漂移的各属性方向sigmas,均为1;
3)、生成attNum个0到1之间的随机数作为各属性的取值,并按照weights加权求和得到sum,同时对weights求和得到weightSum;
4)、如果则数据类标为1,否则,数据类标为0;
5)、生成一个0到1之间的随机数r,如果r<noiseP,则修改数据类标为相反类标,即噪声数据;
6)、对于前driftNum个属性,更新weights[i]为weights[i]+sigmas[i]×magChange,其中i为属性编号;生成一个0到1之间的随机数r,如果r<sigmaPercentage,则修改sigmas[i]为-sigmas[i];每产生一条数据后,对应的超平面为
更进一步的技术方案是所述步骤五中选取的分类评价指标为正确率和F值,F值的公式化表述为
其中precision为准确率,等于分类正确的正例数除以被分类为正例的数据总数;recall为召回率,等于被正确分类的正例数量除以数据中实际正例的总量。
与现有技术相比,本发明实施例的有益效果之一是:
(1)针对大数据“4V”特点中Volume(海量)、Velocity(高速)、Value(价值)这“3V”特点和海量数据高效处理的需求,实现了基于Storm平台的垂直并行化P-VFDT算法;
(2)在大规模数据上的实验表明,P-VFDT算法和VFDT算法有着相近的分类性能,但是单机多核环境的P-VFDT算法比VFDT算法耗时约少12%,集群环境的P-VFDT算法比VFDT算法耗时约少8%。
附图说明
图1为本发明一个实施例中Storm中的Topology示例示意图。
图2为本发明一个实施例中垂直并行化示例示意图。
图3为本发明一个实施例中P-VFDT算法的拓扑结构示意图。
图4为本发明一个实施例中批属性消息生成过程示意图。
图5为本发明一个实施例中批属性消息生成过程示意图。
图6为本发明一个实施例中批属性消息生成过程示意图。
图7为本发明一个实施例中不同时刻生成三维数据的示意图。
图8为本发明一个实施例中不同时刻生成三维数据的示意图。
图9为本发明一个实施例中三种环境下VFDT算法和P-VFDT算法的正确率示意图。
图10为本发明一个实施例中三种环境下VFDT算法和P-VFDT算法的F值示意图。
图11为本发明一个实施例中不同批数据大小时P-VFDT算法的正确率示意图。
图12为本发明一个实施例中不同批数据大小时P-VFDT算法的F值示意图。
图13为本发明一个实施例中不同批数据大小时P-VFDT算法的耗时情况示意图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
下面结合附图及实施例对本发明的具体实施方式进行详细描述。
根据本发明的一个实施例,本实施例公开一种面向海量数据流的实时并行分类方法,该方法基于Storm实时数据流处理框架,能适用于大数据场景。实验结果证实了该方法的可行性与有效性。具体的,该方法包括以下步骤:
步骤一、数据Spout
数量为1,以一定的速率不停的产生数据记录。
步骤二、过滤批化Bolt
按预定的数据过滤规则对数据进行过滤,对保留的数据进行积累,当积累的数据量达到设定的批阈值时,将积累下的数据成批发送给模型Bolt。具体实现伪代码见表1。
表1过滤批化Bolt实现
步骤三、模型Bolt
模型Bolt会收到两类消息,分别是批数据消息、计算结果消息。收到批数据消息后,对于批数据消息中的每一条数据,找到对应的叶结点,并根据叶节点的数据类标分布进行分类,同时向评估Bolt发出分类结果的消息。如果数据所在的叶节点已经处于划分状态,即已经发出了计算消息但尚未就收到的局部计算结果做出最终的划分决策,则无需使用该数据对模型进行训练,只执行分类操作。否则,需要使用该数据对模型进行训练。对模型的训练首先需要更新叶节点的数据类标分布,然后将数据分解为以<节点编号,属性编号,属性值>的三元组,并添加到节点的属性消息列表中,根据节点的属性消息列表生成批属性消息,同时将叶节点加入到批数据所在叶节点的集合中。对一批数据执行以上步骤后,对批数据所在叶节点的集合中的所有叶节点,发送叶节点的批属性消息。在发送叶节点的批属性消息后,如果叶节点不处于划分状态,并且叶节点积累的数据量已经达到执行划分的最小数据量,则向局部统计与计算Bolt发出计算消息。
发送批属性消息的过程见图4至图6,其中图4为批数据消息包括ABCD四条数据,属性维度为A1、A2、A3、A4、A5这5个;图5为模型Bolt中维持的树模型结构,ABCD四条数据在树模型中对应的叶节点分别为j、j、k、g;图6为节点j、k、 g的所有属性消息,属性消息由<节点id,属性编号,属性值>组成,同一个节点的所有属性消息,按节点id和属性编号分组成批,即在图6中每个节点的每一行的所有属性消息成为一条批属性消息。处理批数据消息的算法见表2。
表2模型Bolt对批数据消息处理
对于局部计算结果消息,从消息中可以得到一个局部统计与计算Bolt的Task中对于一个节点的局部最优和次优划分,并根据消息中的最优和次优划分对节点全局的最优和次优划分进行更新。当收齐所有的局部计算结果消息后,即可得到全局的最优和次优划分,同时取消超时检测线程。如果全局最优和次 优划分的评估分数差值满足HoeffdingBound,则对节点执行最终划分。其中,局部计算结果消息的数量与局部统计与计算Bolt的Task数量一致,模型Bolt对计算结果消息的处理的伪代码见表3。
表3模型Bolt对计算结果消息的处理
步骤四、局部统计与计算Bolt
局部统计与计算Bolt会收到批属性消息、计算消息和删除消息这三类消息。在局部统计与计算Bolt中使用的主要数据结构是一个<节点id,属性id,属性统计信息>的表格localTable,该Bolt的每一个Task都有一个localTable。对批属性消息的处理是根据消息中的节点id和属性id更新属性的统计信息;对计算消息的处理是通过节点id,计算localTable中该节点的所有属性的可行划分,找 出最优和次优划分并作为局部计算结果返回;对删除消息的处理是根据消息中的节点id删除localTable中该节点所有属性的统计信息。局部统计与计算Bolt处理计算消息的过程见表4。
表4局部统计与计算Bolt处理计算消息
步骤五、评估Bolt。
实验分析
(1)实验环境
本实施例采用的实验环境主要包含两种情况,第一种是单机多核,另一种是集群环境。单机多核主要作为传统单进程算法和模拟并行化多进程(网络通信开销较小)的实验环境;集群环境是通过虚拟机模拟真实的分布式实验环境。由于机器百兆网卡性能的限制,用多台物理机搭建的集群只能达到约10M每秒的传输速度,而在工业界生产环境中至少为千兆网卡,本文使用物理机与虚拟机结合构建小型集群,并虚拟千兆网卡进行实验。表5为单机多核实验环境配置,表6为集群实验环境配置,在物理机上进行虚拟化。
表5单机多进程实验环境
表6集群实验环境
(2)实验数据描述
本实施例的实验数据通过一个超平面生成算法生成,该算法可以通过任意维度的超平面生成相应维度的数据,而且可以设定发生概念漂移的维度数量,概念漂移的幅度,数据中的噪声比率等。对于生成的数据点,处在超平面两侧的数据为不同的类标,超平面法向量的波动,代表着数据概念漂移现象的发生,而超级(突发性)漂移是超平面法向量随机重置。总的来说,该算法可生成海量任意维的动态数据,并且可对数据流中的概念漂移按需定制。
图7和图8为不同时刻生成三维数据的示意图,图7为t时刻的超平面,其中 图8为t+n时刻的超平面,处在超平面两侧的数据为不同类标,由t至t+n时刻的超平面法向量发生了轻微变化,说明有轻微概念漂移发生。
数据的生成算法可表述为,设需要生成的数据维度为attNum,每一个维度对应一个属性,数据中噪声比率为noiseP,发生概念漂移的属性数为driftNum,概念漂移幅度为magChange,反向漂移概率为sigmaPercentage,则数据的生成过程如下:
步骤1.随机初始化超平面的法向量,即随机初始化各属性的权重weights。
步骤2.初始化发生概念漂移的各属性方向sigmas,均为1(正向)。
步骤3.生成attNum个0到1之间的随机数作为各属性的取值,并按照weights加权求和得到sum,同时对weights求和得到weightSum。
步骤4.如果则数据类标为1,否则,数据类标为0。
步骤5.生成一个0到1之间的随机数r,如果r<noiseP,则修改数据类标为相反类标,即噪声数据。
步骤6.对于前driftNum个属性,更新weights[i]为weights[i]+sigmas[i]×magChange,其中i为属性编号。生成一个0到1之间的随机数r,如果r<sigmaPercentage,则修改sigmas[i]为-sigmas[i]。
重复执行步骤3到步骤6,即可以不断的产生数据。步骤3用于生成属性;步骤4用于计算类标;步骤5用于添加噪声;步骤6用于添加概念漂移。每产生一条数据后,对应的超平面为
(3)评价指标
本文选取的分类评价指标为正确率(Accuracy)和F值,其中正确率是指分类正确的数据占参与分类的总数据量的比率,而F值是对单纯的准确率和召回率作为评价指标的折中,因为准确率和召回率都只能刻画出模型的某一方面的特性。F值的公式化表述为
其中precision为准确率,等于分类正确的正例数除以被分类为正例的数据总数;recall为召回率,等于被正确分类的正例数量除以数据中实际正例的总量。
实验数据
(1)并行与非并行算法性能对比
通过三种环境下比较并行算法与非并行算法的性能,其中本地单进程为非并行算法(VFDT),而单机多核与集群环境都为并行算法(P-VFDT)。图3为P-VFDT算法的拓扑结构图。图9和图10分别为三种环境下VFDT算法和P-VFDT算法的正确率和F值,实验数据为500万条100维的实值型属性的数据流,其中有50维发生了概念漂移,并对每5万条数据计算正确率和F值。从图中可见,并行算法与非并行算法性能较为接近,本地单进程环境的分类性能略高。
表7为三种环境下每5万条数据平均的耗时情况对比,P-VFDT算法比VFDT算法耗时略少,其中单机多核环境的P-VFDT算法比VFDT算法耗时约少12%,集群环境的P-VFDT算法比VFDT算法耗时约少8%。在并行化方案中,单机多进程的耗时要低于集群,这是因为单机多进程环境下多为进程或线程间的通讯,而集群环境下为机器间的网络通讯,数据的传输开销相对较大。另外,在实际的应用中可通过适当提高数据Spout的发送速率以及批数据的大小来减少耗时,但这样会对分类的正确率和F值产生一定影响,但不一定是下降。
表7三种环境下每5万条数据的平均耗时情况
实验环境 | 算法耗时(毫秒) |
集群 | 1337(P-VFDT) |
单机多核 | 1284(P-VFDT) |
单进程 | 1459(VFDT) |
(2)批数据消息的大小对性能的影响
批数据消息的规模,决定了过滤批化Bolt与模型Bolt间消息的大小与通信频率。批数据消息越小,过滤批化Bolt与模型Bolt通信越频繁,否则,相反。不同批数据消息大小的总体分类正确率、F值以及平均耗时分别见图11、图12和图13。实验数据流包含500万条100维实值型属性的数据,实验环境为单机多进程。
从图11和图12可以看出起先总体分类正确率与F值随着批数据消息的增大呈缓慢增长的趋势。这是因为当批数据消息的规模过小时,通信量过高,待分类数据在模型Bolt的接收消息队列中比较分散,分类模型会相对过时;随着批数据消息的增大,过滤批化Bolt与模型Bolt间通信量的不断减少,网络传输开销降低,待分类的数据在模型Bolt的接收消息队列中更为集中,模型更新的及时性会有轻微提高。但当批数据的规模过大时,将使得总体正确率与F值降低,这是因为模型Bolt需要根据批数据消息进行模型更新,批数据规模过大将导致过多的局部计算结果消息在模型Bolt的接收消息队列中,从而导致模型更新不及时。从图13可以看出P-VFDT算法耗时基本上随着批数据消息的增大而上升,但在早期有一次下降。
综合以上分析,可发现批数据消息的规模对算法的性能有一定影响,批数据消息的规模过大或过小都对会使算法的性能降低,在实际的应用过程中应不断的调整批数据消息的规模来达到正确率、F值与耗时的折中。
在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一 个实施例。进一步来说,结合任一个实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
尽管这里参照发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
Claims (10)
1.一种面向海量数据流的实时并行分类方法,其特征在于:所述的方法包括以下步骤:
步骤一、数据Spout
数量为1,连续产生数据记录;
步骤二、过滤批化Bolt
数量为1,接收数据消息,对收集的数据进行过滤筛选,并积累成批发送给模型Bolt;
步骤三、模型Bolt
数量为1,对一批数据进行处理,将数据的分类结果,发送给评估Bolt进行评估;将数据进行分解,然后发送给局部统计与计算Bolt的对应Task;当数据所在的叶节点通过划分测试时,向局部统计与计算Bolt的所有Task发送计算消息,请求划分结果;收到局部统计与计算Bolt的所有Task发来的计算结果后,判断是否执行最终划分,如果通过最终划分测试,则执行划分操作,并向局部统计与计算Bolt的所有Task发送删除划分前叶节点的统计信息的消息;
步骤四、局部统计与计算Bolt
数量为n,收到批属性数据消息时,更新属性相关统计信息;
收到计算消息时,计算对应节点的最优划分评估分数;
收到删除消息时,删除模型中已经完成分割的节点的属性相关统计信息;
步骤五、评估Bolt。
2.根据权利要求1所述的面向海量数据流的实时并行分类方法,其特征在于所述的步骤三包括:
当模型Bolt收到批数据消息后,对于批数据消息中的每一条数据,找到对应的叶结点,并根据叶节点的数据类标分布进行分类,同时向评估Bolt发出分类结果的消息;如果数据所在的叶节点已经处于划分状态,则无需使用该数据对模型进行训练,只执行分类操作;否则,需要使用该数据对模型进行训练。
3.根据权利要求2所述的面向海量数据流的实时并行分类方法,其特征在于所述的对模型进行训练包括:
首先更新叶节点的数据类标分布,然后将数据分解为以节点编号、属性编号、属性值的三元组,并添加到节点的属性消息列表中,根据节点的属性消息列表生成批属性消息,同时将叶节点加入到批数据所在叶节点的集合中。
4.根据权利要求1所述的面向海量数据流的实时并行分类方法,其特征在于所述的步骤四中,在局部统计与计算Bolt中使用的数据结构包括一个:节点id,属性id,属性统计信息的表格localTable,该Bolt的每一个Task都有一个localTable。
5.根据权利要求1所述的面向海量数据流的实时并行分类方法,其特征在于所述的步骤四中,对批属性消息的处理是根据消息中的节点id和属性id,更新属性的统计信息。
6.根据权利要求1所述的面向海量数据流的实时并行分类方法,其特征在于所述的步骤四中,对计算消息的处理是通过节点id,计算localTable中该节点的所有属性的可行划分,找出最优和次优划分并作为局部计算结果返回。
7.根据权利要求1所述的面向海量数据流的实时并行分类方法,其特征在于所述的步骤四中,对删除消息的处理是根据消息中的节点id,删除localTable中该节点所有属性的统计信息。
8.根据权利要求1所述的面向海量数据流的实时并行分类方法,其特征在于所述的步骤五包括:并行与非并行算法性能对比和/或批数据消息的大小对性能的影响分析。
9.根据权利要求1所述的面向海量数据流的实时并行分类方法,其特征在于所述的步骤五包括实验分析,所述实验分析中的实验数据通过超平面生成算法生成;所述超平面生成算法包括:设需要生成的数据维度为attNum,每一个维度对应一个属性,数据中噪声比率为noiseP,发生概念漂移的属性数为driftNum,概念漂移幅度为magChange,反向漂移概率为sigmaPercentage,则数据的生成过程如下:
1)、随机初始化超平面的法向量,包括:随机初始化各属性的权重weights;
2)、初始化发生概念漂移的各属性方向sigmas,均为1;
3)、生成attNum个0到1之间的随机数作为各属性的取值,并按照weights加权求和得到sum,同时对weights求和得到weightSum;
4)、如果则数据类标为1,否则,数据类标为0;
5)、生成一个0到1之间的随机数r,如果r<noiseP,则修改数据类标为相反类标,即噪声数据;
6)、对于前driftNum个属性,更新weights[i]为weights[i]+sigmas[i]×magChange,其中i为属性编号;生成一个0到1之间的随机数r,如果r<sigmaPercentage,则修改sigmas[i]为-sigmas[i];每产生一条数据后,对应的超平面为
10.根据权利要求1所述的面向海量数据流的实时并行分类方法,其特征在于所述的步骤五中选取的分类评价指标为正确率和F值,F值的公式化表述为
其中precision为准确率,等于分类正确的正例数除以被分类为正例的数据总数;recall为召回率,等于被正确分类的正例数量除以数据中实际正例的总量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610406845.XA CN106095921B (zh) | 2016-06-07 | 2016-06-07 | 面向海量数据流的实时并行分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610406845.XA CN106095921B (zh) | 2016-06-07 | 2016-06-07 | 面向海量数据流的实时并行分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095921A true CN106095921A (zh) | 2016-11-09 |
CN106095921B CN106095921B (zh) | 2019-04-09 |
Family
ID=57228588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610406845.XA Active CN106095921B (zh) | 2016-06-07 | 2016-06-07 | 面向海量数据流的实时并行分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095921B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325061A (zh) * | 2018-08-24 | 2019-02-12 | 北京天元创新科技有限公司 | 一种基于概率分布的异常数据处理方法及装置 |
WO2020140419A1 (zh) * | 2019-01-04 | 2020-07-09 | 烽火通信科技股份有限公司 | 网络流量增量统计、分析方法及系统 |
CN112486400A (zh) * | 2019-09-11 | 2021-03-12 | 伊姆西Ip控股有限责任公司 | 管理存储系统的索引的方法、设备和计算机程序产品 |
CN113486063A (zh) * | 2021-07-05 | 2021-10-08 | 国网河北省电力有限公司信息通信分公司 | 电力物联网中流数据处理方法、装置及终端设备 |
WO2021234473A1 (en) * | 2020-05-18 | 2021-11-25 | International Business Machines Corporation | Sorting data elements of given set of data elements |
WO2022001430A1 (zh) * | 2020-06-29 | 2022-01-06 | 中兴通讯股份有限公司 | 一种高吞吐量流处理方法、装置及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070240124A1 (en) * | 2004-08-06 | 2007-10-11 | Canon Kabusgiki Kaisha | Image Processing Apparatus and Control Method Thereof |
CN102915227A (zh) * | 2012-09-03 | 2013-02-06 | 南京师范大学 | 面向大区域流域提取的并行方法 |
CN103020288A (zh) * | 2012-12-28 | 2013-04-03 | 大连理工大学 | 一种动态数据环境下的数据流分类方法 |
CN103150470A (zh) * | 2013-02-18 | 2013-06-12 | 大连理工大学 | 一种动态数据环境下的数据流概念漂移可视化方法 |
CN104268260A (zh) * | 2014-10-10 | 2015-01-07 | 中国科学院重庆绿色智能技术研究院 | 一种流数据的分类方法及其装置和系统 |
-
2016
- 2016-06-07 CN CN201610406845.XA patent/CN106095921B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070240124A1 (en) * | 2004-08-06 | 2007-10-11 | Canon Kabusgiki Kaisha | Image Processing Apparatus and Control Method Thereof |
CN102915227A (zh) * | 2012-09-03 | 2013-02-06 | 南京师范大学 | 面向大区域流域提取的并行方法 |
CN103020288A (zh) * | 2012-12-28 | 2013-04-03 | 大连理工大学 | 一种动态数据环境下的数据流分类方法 |
CN103150470A (zh) * | 2013-02-18 | 2013-06-12 | 大连理工大学 | 一种动态数据环境下的数据流概念漂移可视化方法 |
CN104268260A (zh) * | 2014-10-10 | 2015-01-07 | 中国科学院重庆绿色智能技术研究院 | 一种流数据的分类方法及其装置和系统 |
Non-Patent Citations (1)
Title |
---|
柴玉梅等: ""数据流上概念漂移的检测和分类"", 《小型微机计算机系统》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325061A (zh) * | 2018-08-24 | 2019-02-12 | 北京天元创新科技有限公司 | 一种基于概率分布的异常数据处理方法及装置 |
WO2020140419A1 (zh) * | 2019-01-04 | 2020-07-09 | 烽火通信科技股份有限公司 | 网络流量增量统计、分析方法及系统 |
CN112486400A (zh) * | 2019-09-11 | 2021-03-12 | 伊姆西Ip控股有限责任公司 | 管理存储系统的索引的方法、设备和计算机程序产品 |
WO2021234473A1 (en) * | 2020-05-18 | 2021-11-25 | International Business Machines Corporation | Sorting data elements of given set of data elements |
US11487770B2 (en) | 2020-05-18 | 2022-11-01 | International Business Machines Corporation | Sorting data elements of a given set of data elements |
GB2610979A (en) * | 2020-05-18 | 2023-03-22 | Ibm | Sorting data elements of given set of data elements |
WO2022001430A1 (zh) * | 2020-06-29 | 2022-01-06 | 中兴通讯股份有限公司 | 一种高吞吐量流处理方法、装置及计算机可读存储介质 |
CN113486063A (zh) * | 2021-07-05 | 2021-10-08 | 国网河北省电力有限公司信息通信分公司 | 电力物联网中流数据处理方法、装置及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106095921B (zh) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095921A (zh) | 面向海量数据流的实时并行分类方法 | |
CN107341270B (zh) | 面向社交平台的用户情感影响力分析方法 | |
CN102737126B (zh) | 云计算环境下的分类规则挖掘方法 | |
CN103795612B (zh) | 即时通讯中的垃圾和违法信息检测方法 | |
CN106330533B (zh) | 一种大规模网络告警实时拓扑建立方法 | |
CN107786388B (zh) | 一种基于大规模网络流数据的异常检测系统 | |
CN112350956B (zh) | 一种网络流量识别方法、装置、设备及机器可读存储介质 | |
CN104268260A (zh) | 一种流数据的分类方法及其装置和系统 | |
CN104679911B (zh) | 一种基于离散弱相关的云平台决策森林分类方法 | |
Singh et al. | Probabilistic data structure-based community detection and storage scheme in online social networks | |
CN113537321A (zh) | 一种基于孤立森林和x均值的网络流量异常检测方法 | |
CN110334105A (zh) | 一种基于Storm的流数据异常检测算法 | |
CN106570104A (zh) | 一种流数据的多分区聚类预处理方法 | |
CN113642736B (zh) | 基于冷热分离的梯度聚合方法与系统 | |
CN109471877B (zh) | 面向流数据的增量式时态频繁模式并行挖掘方法 | |
CN108108488A (zh) | 基于流式计算的数据统计分析方法及系统、计算机程序 | |
CN103747033B (zh) | 一种社区发现的方法 | |
CN113487103A (zh) | 模型更新方法、装置、设备及存储介质 | |
Fahd et al. | A framework for real-time sentiment analysis of big data generated by social media platforms | |
CN109492677A (zh) | 基于贝叶斯理论的时变网络链路预测方法 | |
Duan et al. | Dynamic social networks generator based on modularity: DSNG-M | |
CN110493035A (zh) | 一种网络安全指数计算的数据输入方法及装置 | |
CN108898264B (zh) | 一种重叠社区集合质量度量指标的计算方法及装置 | |
Vo et al. | MRAttractor: Detecting communities from large-scale graphs | |
CN113139598B (zh) | 一种基于改进智能优化算法的入侵检测方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |