CN111694862A - 数据流的处理方法及系统、电子设备、存储介质 - Google Patents
数据流的处理方法及系统、电子设备、存储介质 Download PDFInfo
- Publication number
- CN111694862A CN111694862A CN201910181552.XA CN201910181552A CN111694862A CN 111694862 A CN111694862 A CN 111694862A CN 201910181552 A CN201910181552 A CN 201910181552A CN 111694862 A CN111694862 A CN 111694862A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- correlation
- point set
- data stream
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据流的处理方法及系统、电子设备、存储介质。处理方法包括:根据初始时刻采集的网络中节点的初始数据流,对节点进行聚类,生成至少2个簇;其中,簇的核心点集中任意两节点的相关度大于相关阈值,且核心点集中的每个节点在网络拓扑图中具有相邻节点;簇的边界点集中的每个节点与核心点集中至少一个节点的相关度大于相关阈值;对相关度大于相关阈值的两个节点,具有至少k个节点与两个节点的相关度均大于相关阈值;k值为极大值,且不存在核心点集的超集。本发明对数据噪音的容忍能力强,不会产生聚类结果频繁抖动的现象,使得聚类结果具有更好的稳定性,为提取具有高代表性、稳定性的代表数据流集合奠定了基础。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种数据流的处理方法及系统、电子设备、存储介质。
背景技术
在数据大爆炸时代,如何对实时采集的数据流进行即时分析,挖掘出用户感兴趣的信息变得非常重要。然而,高精度的分析基于高密度的数据,这意味着数据流的数量可能会非常庞大,实时处理数量庞大的数据流是一项非常消耗资源的工作。因此,在实际应用中通常要对数据流进行压缩,也即从采集数据流中提取代表数据流集合。
目前,对大量数据流进行压缩分析的技术有:PCA(主成分分析法),该方法提取的代表数据流集合的代表性较差;基于聚类提取代表集合,先基于k-medoids和k-means等算法对数据流进行聚类,再从中提取代表数据流集合,然而该方法难以在计算复杂度与代表性之间取得平衡。且上述压缩分析方法均无法对噪音数据进行处理,抗干扰性较差,当噪音数据较多时,代表数据流集合的稳定性较差。
发明内容
本发明要解决的技术问题是为了克服现有技术中提取代表数据流集合无法兼顾计算复杂度与代表性之间的平衡,且抗干扰性较差的缺陷,提供一种数据流的处理方法及系统、电子设备、存储介质。
本发明是通过下述技术方案来解决上述技术问题:
一种数据流的处理方法,所述处理方法包括:根据初始时刻采集的网络中节点的初始数据流,对所述节点进行聚类,生成至少2个簇;
其中,每个簇包括核心点集和边界点集;
所述核心点集中任意两节点的相关度大于相关阈值,且所述核心点集中的每个节点在网络拓扑图中具有相邻节点;
所述边界点集中的每个节点与所述核心点集中至少一个节点的相关度大于所述相关阈值;
对相关度大于所述相关阈值的两个节点,具有至少k个节点与所述两个节点的相关度均大于所述相关阈值;
k值为极大值,且不存在核心点集的超集。
较佳地,根据所述初始数据流对所述节点进行聚类的步骤,具体包括:
对未聚类的每个节点,根据所述初始数据流统计与未聚类的每个节点的相关度大于所述相关阈值的节点的第一节点数量;
将所述第一节点数量最多的节点加入所述核心点集;
从相邻节点集中选取与所述核心点集中每个节点的相关度均大于所述相关阈值的节点,并加入所述核心点集;
所述相邻节点集包括所述核心点集中每个节点的相邻节点;
迭代从所述相邻节点集中选取节点并加入所述核心点集的步骤,直至所述相邻节点集中不存在与所述核心点集中每个节点的相关度均大于所述相关阈值的节点;
从相邻节点集中选取与所述核心点集中至少一个节点的相关度大于所述相关阈值的节点,并加入所述边界点集;
判断是否存在所述未聚类的节点,并在判断为是时,返回统计所述第一节点数量的步骤。
较佳地,所述处理方法还包括:
根据t时刻采集的数据流对t-1时刻生成的簇进行调整,以使所述k值极大;
t赋值为t+1,并返回执行调整所述簇的步骤;
其中,t≥1;且当t=1时,为所述初始时刻。
较佳地,根据t时刻采集的数据流对t-1时刻生成的簇进行调整的步骤,具体包括:
将每个簇的核心点集收缩为一个clique;
重构所述clique,使所述k值极大。
较佳地,将每个簇的核心点集收缩为一个clique的步骤,具体包括:
对所述核心点集中的每个节点,根据所述t时刻采集的数据流统计与所述核心点集中每个节点的相关度大于所述相关阈值的节点的第二节点数量;
将所述第二节点数量最少的节点从所述核心点集中去除;
迭代从所述核心点集中去除节点的步骤,直至所述核心点集中剩余节点收缩为一个clique。
较佳地,重构所述clique的步骤,具体包括:
将所述网络中的与所述clique中所有节点的相关度均大于相关阈值的节点加入候选节点集;
从所述候选节点集中选择第一目标节点,并加入所述核心点集;
所述第一目标节点具有数量最多的与所述核心点集中每个节点的相关度均大于所述相关阈值的相邻节点;
迭代将所述第一目标节点加入所述核心点集的步骤,直至所述k值极大。
较佳地,重构所述clique的步骤,还包括:
对所述相邻节点集中每个节点,统计与所述核心点集中每个节点的相关度大于相关阈值的节点的第三节点数量;
在不降低所述k值的前提下,将所述第三节点数量最多的节点加入所述核心点集。
较佳地,所述处理方法还包括:
基于局部最优化策略对每个簇中的节点的数据流进行压缩,以提取代表数据。
较佳地,基于局部最优化策略对每个簇中的节点的数据流进行压缩的步骤,具体包括:
从每个核心点集中选取若干第二目标节点,并将所述第二目标节点的数据流作为所述代表数据;
所述边界点集中的每个节点与所述若干第二目标节点中的至少一个节点的相关度大于所述相关阈值。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的数据流的处理方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的数据流的处理方法的步骤。
一种数据流的处理系统,所述处理系统包括:
聚类模块,用于根据初始时刻采集的网络中节点的初始数据流,对所述节点进行聚类,生成至少2个簇;
其中,每个簇包括核心点集和边界点集;
所述核心点集中任意两节点的相关度大于相关阈值,且所述核心点集中的每个节点在网络拓扑图中具有相邻节点;
所述边界点集中的每个节点与所述核心点集中至少一个节点的相关度大于所述相关阈值;
对相关度大于所述相关阈值的两个节点,具有至少k个节点与所述两个节点的相关度均大于所述相关阈值;
k值为极大值,且不存在核心点集的超集。
较佳地,所述聚类模块具体包括:统计组件、聚类组件、调用组件和判断组件;
对未聚类的每个节点,所述统计组件用于根据所述初始数据流统计与未聚类的每个节点的相关度大于所述相关阈值的节点的第一节点数量;
所述聚类组件用于将所述第一节点数量最多的节点加入所述核心点集,并从相邻节点集中选取与所述核心点集中每个节点的相关度均大于所述相关阈值的节点,并加入所述核心点集;
所述相邻节点集包括所述核心点集中每个节点的相邻节点;
所述调用组件用于重复调用所述聚类组件以从所述相邻节点集中选取节点并加入所述核心点集,直至所述相邻节点集中不存在与所述核心点集中每个节点的相关度均大于所述相关阈值的节点;
所述聚类组件还用于从相邻节点集中选取与所述核心点集中至少一个节点的相关度大于所述相关阈值的节点,并加入所述边界点集;
所述判断组件用于判断是否存在所述未聚类的节点,并在判断为是时,调用所述统计组件。
较佳地,所述处理系统还包括:调节模块和调用模块;
所述调节模块用于根据t时刻采集的数据流对t-1时刻生成的簇进行调整,以使所述k值极大;
所述调用模块用于将t赋值为t+1,并调用所述调节模块;
其中,t≥1;且当t=1时,为所述初始时刻。
较佳地,所述调节模块具体包括:
收缩组件,用于将每个簇的核心点集收缩为一个clique;
重构组件,用于重构所述clique,使所述k值极大。
较佳地,所述收缩组件具体包括:第一统计单元、收缩单元和调用单元;
对所述核心点集中的每个节点,所述第一统计单元用于根据所述t时刻采集的数据流统计与所述核心点集中节点的相关度大于所述相关阈值的节点的第二节点数量;
所述收缩单元用于将所述第二节点数量最少的节点从所述核心点集中去除;
所述调用单元用于重复调用所述收缩单元,直至所述核心点集中剩余节点收缩为一个clique。
较佳地,所述重构组件具体包括:重构单元
所述重构单元用于将所述网络中的与所述clique中所有节点的相关度均大于相关阈值的节点加入候选节点集,并从所述候选节点集中选择第一目标节点,并加入所述核心点集;
所述第一目标节点具有数量最多的与所述核心点集中每个节点的相关度均大于所述相关阈值的相邻节点;
所述调用单元还用于重复调用所述重构单元以将所述第一目标节点加入所述核心点集,直至所述k值极大。
较佳地,所述重构组件还包括:第二统计单元;
对所述相邻节点集中每个节点,所述第二统计单元还用于统计与所述核心点集中每个节点的相关度大于相关阈值的节点的第三节点数量;
所述重构单元还用于在不降低所述k值的前提下,将所述第三节点数量最多的节点加入所述核心点集。
较佳地,所述处理系统还包括:提取模块;
所述提取模块用于基于局部最优化策略对每个簇中的节点的数据流进行压缩,以提取代表数据。
较佳地,所述提取模块具体包括:
提取组件,用于从每个核心点集中选取若干第二目标节点,并将所述第二目标节点的数据流作为所述代表数据;
所述边界点集中的每个节点与所述若干第二目标节点中的至少一个节点的相关度大于所述相关阈值。
本发明的积极进步效果在于:且本发明采用放松的k-community模型对数据流进行聚类以及调整,对数据噪音的容忍能力强,不会产生聚类结果频繁抖动的现象,使得聚类结果具有更好的稳定性,为提取具有高代表性、稳定性的代表数据流集合奠定了基础。
附图说明
图1为本发明实施例1的数据流的处理方法的第一流程图。
图2为本发明实施例1的数据流的处理方法的第二流程图。
图3为本发明实施例1的数据流的处理方法中使用的网络拓扑图的示意图。
图4为本发明实施例2的数据流的处理方法的流程图。
图5为分别使用本发明实施例2的数据流的处理方法与对比方法处理数据流的第一结果示意图。
图6为分别使用本发明实施例2的数据流的处理方法与对比方法处理数据流的第二结果示意图。
图7为分别使用本发明实施例2的数据流的处理方法与对比方法处理数据流的第三结果示意图。
图8为分别使用本发明实施例2的数据流的处理方法与对比方法处理数据流的第四结果示意图。
图9为本发明实施例3的电子设备的结构示意图。
图10为本发明实施例5的数据流的处理系统的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种数据流的处理方法,如图1所示,本实施例的处理方法包括以下步骤:
步骤110、根据初始时刻采集的网络中节点的初始数据流对节点进行聚类,生成至少2个簇。
其中,节点也即布置于交通街道、地下水管道等网络上的数据采集设备,例如探针、传感器等。
如图2所示,步骤110的具体步骤如下:
步骤110-1、根据初始数据计算任意两个节点之间的相关度,计算公式如下:
其中,wcorr(Si,Sj)表征相关度;Si[t]表征t时刻从网络中第i个节点处采集的数据流;Sj[t]表征t时刻从网络中第j个节点处采集的数据流;w(t)表征一个时间t的递增函数权重函数,时间约接近当前,权重越大。当t=1时,为初始时刻。
步骤110-2、根据相关度对节点进行聚类,生成至少2个簇。
其中,每个簇包括核心点集和边界点集。以下对初始聚类过程作具体说明:
本实施例中,只在初始时刻对全部节点进行一次聚类,因此对时间复杂度要求较低,为了给后续的聚类调整提供一个更有利的基础,创新地提出基于k-community结构对clique(团)进行放松的策略,保证每个核心点集均为clique,且聚类结果的连通图(根据节点的相关度生成)满足图中的每一条边的两个顶点(节点)都至少有k个共同的邻居节点,也即相关的两个节点具有至少k个共同的相关节点。所谓节点的相关节点也即与该节点的相关度大于相关阈值的节点,相关阈值可根据实际需求自行设置,例如设为0.85,若计算得到节点a与节点b、节点c、节点d的相关度分别为0.5、0.9、0.86,那么节点a的相关节点为节点c和节点d,表现于连通图中,即节点a与节点c和节点d通过边连接。
算法在每次迭代过程中生成一个簇,每次迭代分两步进行:
(1)生成核心点集
首先,在未聚类的节点集合中将拥有相关节点的数量最多的节点加入核心点集,具体的:对未聚类的每个节点,统计与未聚类的每个节点的相关度大于相关阈值的节点的第一节点数量;将第一节点数量最多的节点加入核心点集。
其次,循环将与核心点集中的节点全部相关且至少与其中一个节点相邻的节点加入核心点集,直至没有节点可以加入为止,具体的:从相邻节点集中选取与核心点集中每个节点的相关度均大于相关阈值的节点,并加入核心点集;迭代从相邻节点集中选取节点并加入核心点集的步骤,直至相邻节点集中不存在与核心点集中每个节点的相关度均大于相关阈值的节点。
相邻节点集包括核心点集中每个节点的相邻节点,需要说明的是,每当核心点集中的节点变化,相应更新相邻节点集中的节点。相邻节点依据网络拓扑图确定。网络拓扑图生成:将产生数据流的节点的网络拓扑映射生成一个无向图G<V,E>;图中的点集合V为产生数据流的节点,图中边集合E为连接两个节点的通道(比如交通网络中的街道、地下水网络中的管道等),参见图3,节点v1的相邻节点为v2、v3和v4。
(2)生成边界点集
根据相关性与拓扑相邻性逐层将未加入核心点集的其他节点加入到边界点集,具体的:从相邻节点集中选取与核心点集中至少一个节点的相关度大于相关阈值的节点,并加入边界点集,重复上述步骤直至相邻节点集中没有节点可以加入为止。
至此一个簇生成完毕。通过不断重复生成核心点集和边界点集的步骤,保证每个节点至少在一个簇中,完成聚类。
此时,聚类结果满足以下条件:
核心点集Cp中的任意两节点的相关度大于相关阈值,且核心点集中的每个节点在节点的拓扑图中具有相邻节点;
边界点集Bp中的每个节点与核心点集中至少一个节点的相关度大于相关阈值。
Cp∪Bp在G中导出子图是连通的;
k值为极大值,且不存在核心点集的超集。
其中,p表征聚类结果的第p个簇。
若用户需要获取对初始时刻采集的数据流进行分析,处理方法还包括:
步骤120、基于局部最优化策略对每个簇中的节点的数据流进行压缩,以提取代表数据。
具体的,步骤120包括:从每个核心点集中选取若干第二目标节点,并将第二目标节点的数据流作为代表数据;其中,边界点集中的每个节点与若干第二目标节点中的至少一个节点的相关度大于相关阈值。
第三目标节点的选取过程具体如下:
(1)依次从核心点集中选择能够代表边界点集中最多数量的节点的节点。
所谓一个节点能被另一个节点代表,也即这两个节点之间的相关度大于相关阈值。
例如,核心点集包括5个节点,分别为节点a、节点b、节点c、节点d和节点e,边界点集中包括6个点集,分别为节点f、节点g、节点h、节点l、节点m和节点n;其中节点a能代表节点f、节点g和节点h,节点b能代表节点f、节点g、节点h和节点l,节点c能代表节点f和节点g,节点d能代表节点n,节点e能代表节点m和节点n。
由于节点b能代表4个边界点集中的节点,则第一次迭代,将节点b选取为第二目标节点,此时边界点集中还有节点m和节点n,未被核心点集中的节点代表。
由于节点e能边界点集中剩余的节点,第二次迭代,则将节点e选取为第二目标节点。
至此,边界点集中的全部节点能被节点b和节点e代表,第二目标节点为节点b和节点e,从而将节点b和节点e采集的数据流作为代表数据,能代表该簇中所有节点采集的数据流。
(2)对数据流作进一步压缩,将可以代表最多数量的核心点集中的节点的核心点集中的节点选为代表数据流;并将它与可以被其代表的所有核心点集节点从全部数据流集合中去除;
重复上述步骤,直到核心点集为空。
(3)将每个簇的代表数据流合并形成最终的代表数据流集合。
从而,只需对第二目标节点的数据流进行分析,即能得出用户想要的、准确的分析结果,计算量大大减小,且本实施例在进行聚类时,采用放松的k-community模型进行聚类,对数据噪音的容忍能力强,使得聚类结果具有更好的稳定性,以此为前提获取的代表数据流集合具有高代表性。
实施例2
由于数据流的实变性,在每一个新时刻,需对上一个时刻生成的簇进行调整,在实施例1的基础上,本实施例中,如图4所示,步骤110之后,处理方法还包括:
步骤111、根据t时刻采集的数据流对t-1时刻生成的簇进行调整。
步骤111即根据当前时刻采集的数据流对上一时刻生成的簇进行调整。
步骤111调整过程中,使k值极大。
步骤112、t赋值为t+1,并返回步骤111。
其中,t≥1。
当k-community的k值越大,聚类内部就会更加紧密。因此,聚类的调整目标就是在调整过程中尽量提升k值,使得k值极大。然而通过去除节点是无法增加k值的,因此,增加k值只能通过向核心点集中增加节点来实现。困难的是,在一个新的时刻,节点之间的相关性发生了变化,当前核心点集可能已经不满足k-community结构的要求。本实施例提供一种对簇进行调整的可能的实现方式,步骤111具体包括:
步骤111-1、将簇的核心点集收缩为一个clique。
步骤111-1具体包括以下步骤:
根据t时刻采集的节点的数据流计算任意两节点之间的相关度;
从t-1时刻生成的簇中任意选择一个簇,从该簇的核心点集中去除相关节点数量最少的节点,具体的:对核心点集中的每个节点,统计与核心点集中每个节点的相关度大于相关阈值的节点的第二节点数量,将第二节点数量最少的节点从核心点集中去除;
迭代去除相关节点数量最少的节点的步骤,直至核心点集中剩余节点收缩为一个clique。
步骤111-2、重构clique,使k值极大。
步骤111-2分两步进行,具体包括以下步骤:
第一步、将与当前clique中节点全部相关的节点放入一个候选点集中,在每次迭代中,在候选点集中选择一个节点加入核心点集,具体的:
将网络中的与clique中所有节点的相关度均大于相关阈值的节点加入候选节点集;
将候选节点集中的第一目标节点(该第一目标节点的相邻点集中,与当前的核心点集中的节点全部相关的节点数量最多)加入核心点集;如此的顺序选择策略是为了保证加入该点后,后续可以有更多节点可以加入核心点集。
迭代加入第一目标节点的步骤,直至候选点集为空,此时k值达到极大。
第二步、将当前核心点集的相邻节点集中,与核心点集中相关节点数量最多的节点加入核心点集,具体的:
对核心点集的相邻节点集中每个节点,统计与核心点集中每个节点的相关度大于相关阈值的节点的第三节点数量;
在不降低所述k值的前提下,将第三节点数量最多的节点加入核心点集。
迭代上述步骤,直至相邻节点集中没有节点可以加入到核心点集中为止,至此完成对一个簇中核心点集的调整。此时核心点集的节点数达到极大。
步骤111-3、根据相关性与拓扑相邻性逐层将未加入核心点集的其他节点加入到边界点集,实现对边界点集的调整。具体的,判断当前核心点集的相邻节点集中是否存在与核心点集中至少一个节点的相关度大于相关阈值的节点,若有,则将相邻节点集中的该节点加入边界点集,重复上述步骤直至相邻节点集中没有节点可以加入为止,至此完成对一个簇中边界点集的调整。
选取下一个簇,重复步骤111-1~步骤111-3,直至所有节点都属于一个聚类。如果存在无法加入到任一聚类中的情况,则对未加入的节点进行初始聚类。至此完成对所有簇的调整。
若用户此时需要对采集的数据流进行分析,处理方法还包括:基于局部最优化策略对当前生成的每个簇中的节点的数据流进行压缩,以提取代表数据。具体步骤与实施例1中提取代表数据的步骤类似,此处不再赘述。
本实施例中,为了适用于实时分析环境,设计了基于聚类模型的实时调整策略,使用局部最优策略保证算法的效率,避免了在每个时刻重复聚类。
以下分别使用本实施例的数据流的处理方法以及CERS(ContinuouslyExtracting Representative Set,持续提取代表趋势集方法)对水网管道的数据流进行处理,通过专业工具(EPANET 2.0)模拟水网管道数据,节点共计920个。数据流为在每个节点检测的氯气浓度,共检测5760个时刻数据,每两个时刻之间间隔5分钟;通过添加噪音数据将数据集分为有噪音和无噪音两种,实验结果如下:
参见图5,在噪音环境下,本实施例的处理方法明显比对比方法(CERS)在代表性上的变化更小,适应性更强。其中,代表集合和全部数据流集合间的距离,其可衡量代表集合的代表性;距离越小,代表性越高。
参见图6,在噪音环境下,本实施例的处理方法明显比对比方法(CERS)在稳定性上的变化更小,适应性更强。其中,稳定率表征当前时刻和上一个时刻提取出的代表集合的交集在当前时刻的代表集合的占比,可衡量代表集合的稳定性。
参见图7-8,本实施例的处理方法明显比对比方法(CERS)也有明显提升,通过在不同节点规模的网络中进行试验,本实施例的处理方法具有更好的可扩展性,主要来源于两个方面:(1)核心点集只需满足k-community的条件即可,相比与clique的要求(节点之间两两相关),不需要计算每对节点之间的相关性,所以计算量会降低,这也是同等网络规模下运行时间可以降低的原因,所以提出的方法在网络规模上具有更好的可扩展性;(2)对clique进行放松后避免一些因噪音产生的聚类调整及相关的计算量。
实施例3
图9为本发明实施例提供的一种电子设备的结构示意图,示出了适于用来实现本发明实施方式的示例性电子设备90的框图。图9显示的电子设备90仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备90可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备90的组件可以包括但不限于:上述至少一个处理器91、上述至少一个存储器92、连接不同系统组件(包括存储器92和处理器91)的总线93。
总线93包括数据总线、地址总线和控制总线。
存储器92可以包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器92还可以包括具有一组(至少一个)程序模块924的程序工具925(或实用工具),这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器91通过运行存储在存储器92中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明上述任一实施例所提供的数据流的处理方法。
电子设备90也可以与一个或多个外部设备94(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口95进行。并且,模型生成的电子设备90还可以通过网络适配器96与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器96通过总线93与模型生成的电子设备90的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的电子设备90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例4
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所提供的数据流的处理方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现上述任一实施例所提供的数据流的处理方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
实施例5
如图10所示,本实施例的数据流的处理系统包括:聚类模块1、提取模块2、调节模块3和调用模块4。
聚类模块1用于根据初始时刻采集的网络中节点的初始数据流,对节点进行聚类,生成至少2个簇。
其中,节点也即布置于交通街道、地下水管道等网络上的数据采集设备,例如探针、传感器等。
本实施例中,聚类模块1具体包括:统计组件11、聚类组件12、调用组件13和判断组件14。
聚类模块1在每次迭代过程中生成一个簇,每次迭代分两步进行:
(1)生成核心点集
针对未聚类的每个节点,统计组件11根据初始数据流统计与未聚类的每个节点的相关度大于相关阈值的节点的第一节点数量。
其中,相关度的计算公式如下:
其中,wcorr(Si,Sj)表征相关度;Si[t]表征t时刻从网络中第i个节点处采集的数据流;Sj[t]表征t时刻从网络中第j个节点处采集的数据流;w(t)表征一个时间t的递增函数权重函数,时间约接近当前,权重越大。当t=1时,为初始时刻。
聚类组件12将第一节点数量最多的节点加入核心点集,并从相邻节点集中选取与核心点集中每个节点的相关度均大于相关阈值的节点,并加入核心点集。
其中,相邻节点集包括核心点集中每个节点的相邻节点,需要说明的是,每当核心点集中的节点变化,相应更新相邻节点集中的节点。相邻节点依据网络拓扑图确定。网络拓扑图生成:将产生数据流的节点的网络拓扑映射生成一个无向图G<V,E>;图中的点集合V为产生数据流的节点,图中边集合E为连接两个节点的通道(比如交通网络中的街道、地下水网络中的管道等)
调用组件13重复调用聚类组件12以从相邻节点集中选取节点并加入核心点集,直至相邻节点集中不存在与核心点集中每个节点的相关度均大于相关阈值的节点。
(2)生成边界点集
聚类组件12从相邻节点集中选取与核心点集中至少一个节点的相关度大于相关阈值的节点,并加入边界点集。
调用组件13重复调用聚类组件12,直至相邻节点集中没有节点可以加入为止。至此一个簇生成完毕。
判断组件14判断是否存在未聚类的节点,并在判断为是时,调用统计组件11以重新统计第一节点数量,以生成下一个簇。重复调用判断组件14,直至判断组件14判断为否,以保证每个节点至少在一个簇中,完成聚类。
此时,聚类结果满足以下条件:
核心点集Cp中的任意两节点的相关度大于相关阈值,且核心点集中的每个节点在节点的拓扑图中具有相邻节点;
边界点集Bp中的每个节点与核心点集中至少一个节点的相关度大于相关阈值。
Cp∪Bp在G中导出子图是连通的;
k值为极大值,且不存在核心点集的超集。
其中,p表征聚类结果的第p个簇。
若用户需要获取对初始时刻采集的数据流进行分析,判断组件14在判断为否时,调用提取模块2以基于局部最优化策略对每个簇中的节点的数据流进行压缩,实现对代表数据的提取。
本实施例中,提取模块2具体包括:提取组件21。提取组件21用于从每个核心点集中选取若干第二目标节点,并将第二目标节点的数据流作为代表数据。其中,边界点集中的每个节点与若干第二目标节点中的至少一个节点的相关度大于相关阈值。
以下对提取组件21的具体工作原理进行说明:
(1)依次从核心点集中选择能够代表边界点集中最多数量的节点的节点。
所谓一个节点能被另一个节点代表,也即这两个节点之间的相关度大于相关阈值。
例如,核心点集包括5个节点,分别为节点a、节点b、节点c、节点d和节点e,边界点集中包括6个点集,分别为节点f、节点g、节点h、节点l、节点m和节点n;其中节点a能代表节点f、节点g和节点h,节点b能代表节点f、节点g、节点h和节点l,节点c能代表节点f和节点g,节点d能代表节点n,节点e能代表节点m和节点n。
由于节点b能代表4个边界点集中的节点,则第一次迭代,将节点b选取为第二目标节点,此时边界点集中还有节点m和节点n,未被核心点集中的节点代表。
由于节点e能边界点集中剩余的节点,第二次迭代,则将节点e选取为第二目标节点。
至此,边界点集中的全部节点能被节点b和节点e代表,第二目标节点为节点b和节点e,从而将节点b和节点e采集的数据流作为代表数据,能代表该簇中所有节点采集的数据流。
(2)对数据流作进一步压缩,将可以代表最多数量的核心点集中的节点的核心点集中的节点选为代表数据流;并将它与可以被其代表的所有核心点集节点从全部数据流集合中去除;
重复上述步骤,直到核心点集为空。
(3)将每个簇的代表数据流合并形成最终的代表数据流集合。
从而,只需对第二目标节点的数据流进行分析,即能得出用户想要的、准确的分析结果,计算量大大减小,且本实施例在进行聚类时,采用放松的k-community模型进行聚类,对数据噪音的容忍能力强,使得聚类结果具有更好的稳定性,以此为前提获取的代表数据流集合具有高代表性。
由于数据流的实变性,在每一个新时刻,需对上一个时刻生成的簇进行调整,本实施例中,聚类模块1完成初始聚类后,还调用调节模块3,以根据t时刻采集的数据流对t-1时刻生成的簇进行调整,并使k值极大。调用模块4用于将t赋值为t+1,并重复调用调节模块3,实现对上一时刻生成的簇的实时调节。其中,t≥1;且当t=1时,为初始时刻。
本实施例中,调节模块3具体包括:收缩组件31和重构组件32。
收缩组件31用于将每个簇的核心点集收缩为一个clique。收缩组件具体包括:第一统计单元、收缩单元和调用单元。
重构组件32用于重构clique,使k值极大。重构组件具体包括:重构单元和第二统计单元。
调节的具体过程如下:
从t-1时刻生成的簇中任意选择一个簇,对该簇核心点集中的每个节点,第一统计单元根据t时刻采集的数据流统计与核心点集中与每个节点的相关度大于相关阈值的节点的第二节点数量。收缩单元用于将第二节点数量最少的节点从核心点集中去除,实现从该簇的核心点集中去除相关节点数量最少的节点。
调用单元用于重复调用收缩单元,直至核心点集中剩余节点收缩为一个clique。
重构单元重构clique具体分为2步:
第一步、重构单元将网络中的与clique中所有节点的相关度均大于相关阈值的节点加入候选节点集,并从候选节点集中选择第一目标节点,并加入核心点集;其中,第一目标节点具有数量最多的与核心点集中每个节点的相关度均大于相关阈值的相邻节点。如此的顺序选择策略是为了保证加入该点后,后续可以有更多节点可以加入核心点集。
调用单元还用于重复调用重构单元以将第一目标节点加入核心点集,直至k值极大。
第二步、针对相邻节点集中每个节点,第二统计单元统计与核心点集中每个节点的相关度大于相关阈值的节点的第三节点数量。
重构单元在不降低k值的前提下,将第三节点数量最多的节点加入核心点集。
调用单元还用于重复调用重构单元以将第三节点数量最多的节点加入核心点集,直至相邻节点集中没有节点可以加入到核心点集中为止。
至此完成对一个簇中核心点集的调整,此时核心点集的节点数达到极大,接下来是对边界点集的调整。
重构单元将当前核心点集的相邻节点集中的与核心点集中至少一个节点的相关度大于相关阈值的节点加入边界点集。调用单元重复调用重构单元直至相邻节点集中没有节点可以加入为止,至此完成对一个簇中边界点集的调整。
选取下一个簇,进行对其进行调节,直至所有节点都属于一个聚类。如果存在无法加入到任一聚类中的情况,则对未加入的节点进行初始聚类。至此完成对所有簇的调整。
若用户需要对t时刻采集的数据流进行分析,调节模块3在完成对簇的调整后,还调用提取模块2以基于局部最优化策略对当前生成的每个簇中的节点的数据流进行压缩,以提取代表数据。
本实施例中,为了适用于实时分析环境,设计了基于聚类模型的实时调整策略,使用局部最优策略保证算法的效率,避免了在每个时刻重复聚类。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (20)
1.一种数据流的处理方法,其特征在于,所述处理方法包括:根据初始时刻采集的网络中节点的初始数据流,对所述节点进行聚类,生成至少2个簇;
其中,每个簇包括核心点集和边界点集;
所述核心点集中任意两节点的相关度大于相关阈值,且所述核心点集中的每个节点在网络拓扑图中具有相邻节点;
所述边界点集中的每个节点与所述核心点集中至少一个节点的相关度大于所述相关阈值;
对相关度大于所述相关阈值的两个节点,具有至少k个节点与所述两个节点的相关度均大于所述相关阈值;
k值为极大值,且不存在核心点集的超集。
2.如权利要求1所述的数据流的处理方法,其特征在于,根据所述初始数据流对所述节点进行聚类的步骤,具体包括:
对未聚类的每个节点,根据所述初始数据流统计与未聚类的每个节点的相关度大于所述相关阈值的节点的第一节点数量;
将所述第一节点数量最多的节点加入所述核心点集;
从相邻节点集中选取与所述核心点集中每个节点的相关度均大于所述相关阈值的节点,并加入所述核心点集;
所述相邻节点集包括所述核心点集中每个节点的相邻节点;
迭代从所述相邻节点集中选取节点并加入所述核心点集的步骤,直至所述相邻节点集中不存在与所述核心点集中每个节点的相关度均大于所述相关阈值的节点;
从相邻节点集中选取与所述核心点集中至少一个节点的相关度大于所述相关阈值的节点,并加入所述边界点集;
判断是否存在所述未聚类的节点,并在判断为是时,返回统计所述第一节点数量的步骤。
3.如权利要求2所述的数据流的处理方法,其特征在于,所述处理方法还包括:
根据t时刻采集的数据流对t-1时刻生成的簇进行调整,以使所述k值极大;
t赋值为t+1,并返回执行调整所述簇的步骤;
其中,t≥1;且当t=1时,为所述初始时刻。
4.如权利要求3所述的数据流的处理方法,其特征在于,根据t时刻采集的数据流对t-1时刻生成的簇进行调整的步骤,具体包括:
将每个簇的核心点集收缩为一个clique;
重构所述clique,使所述k值极大。
5.如权利要求4所述的数据流的处理方法,其特征在于,将每个簇的核心点集收缩为一个clique的步骤,具体包括:
对所述核心点集中的每个节点,根据所述t时刻采集的数据流统计与所述核心点集中每个节点的相关度大于所述相关阈值的节点的第二节点数量;
将所述第二节点数量最少的节点从所述核心点集中去除;
迭代从所述核心点集中去除节点的步骤,直至所述核心点集中剩余节点收缩为一个clique。
6.如权利要求4所述的数据流的处理方法,其特征在于,重构所述clique的步骤,具体包括:
将所述网络中的与所述clique中所有节点的相关度均大于相关阈值的节点加入候选节点集;
从所述候选节点集中选择第一目标节点,并加入所述核心点集;
所述第一目标节点具有数量最多的与所述核心点集中每个节点的相关度均大于所述相关阈值的相邻节点;
迭代将所述第一目标节点加入所述核心点集的步骤,直至所述k值极大。
7.如权利要求6所述的数据流的处理方法,其特征在于,重构所述clique的步骤,还包括:
对所述相邻节点集中每个节点,统计与所述核心点集中每个节点的相关度大于相关阈值的节点的第三节点数量;
在不降低所述k值的前提下,将所述第三节点数量最多的节点加入所述核心点集。
8.如权利要求1-7中任意一项所述的数据流的处理方法,其特征在于,所述处理方法还包括:
基于局部最优化策略对每个簇中的节点的数据流进行压缩,以提取代表数据。
9.如权利要求8所述的数据流的处理方法,其特征在于,基于局部最优化策略对每个簇中的节点的数据流进行压缩的步骤,具体包括:
从每个核心点集中选取若干第二目标节点,并将所述第二目标节点的数据流作为所述代表数据;
所述边界点集中的每个节点与所述若干第二目标节点中的至少一个节点的相关度大于所述相关阈值。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9任一项所述的数据流的处理方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9任一项所述的数据流的处理方法的步骤。
12.一种数据流的处理系统,其特征在于,所述处理系统包括:
聚类模块,用于根据初始时刻采集的网络中节点的初始数据流,对所述节点进行聚类,生成至少2个簇;
其中,每个簇包括核心点集和边界点集;
所述核心点集中任意两节点的相关度大于相关阈值,且所述核心点集中的每个节点在网络拓扑图中具有相邻节点;
所述边界点集中的每个节点与所述核心点集中至少一个节点的相关度大于所述相关阈值;
对相关度大于所述相关阈值的两个节点,具有至少k个节点与所述两个节点的相关度均大于所述相关阈值;
k值为极大值,且不存在核心点集的超集。
13.如权利要求12所述的数据流的处理系统,其特征在于,所述聚类模块具体包括:统计组件、聚类组件、调用组件和判断组件;
对未聚类的每个节点,所述统计组件用于根据所述初始数据流统计与未聚类的每个节点的相关度大于所述相关阈值的节点的第一节点数量;
所述聚类组件用于将所述第一节点数量最多的节点加入所述核心点集,并从相邻节点集中选取与所述核心点集中每个节点的相关度均大于所述相关阈值的节点,并加入所述核心点集;
所述相邻节点集包括所述核心点集中每个节点的相邻节点;
所述调用组件用于重复调用所述聚类组件以从所述相邻节点集中选取节点并加入所述核心点集,直至所述相邻节点集中不存在与所述核心点集中每个节点的相关度均大于所述相关阈值的节点;
所述聚类组件还用于从相邻节点集中选取与所述核心点集中至少一个节点的相关度大于所述相关阈值的节点,并加入所述边界点集;
所述判断组件用于判断是否存在所述未聚类的节点,并在判断为是时,调用所述统计组件。
14.如权利要求13所述的数据流的处理系统,其特征在于,所述处理系统还包括:调节模块和调用模块;
所述调节模块用于根据t时刻采集的数据流对t-1时刻生成的簇进行调整,以使所述k值极大;
所述调用模块用于将t赋值为t+1,并调用所述调节模块;
其中,t≥1;且当t=1时,为所述初始时刻。
15.如权利要求14所述的数据流的处理系统,其特征在于,所述调节模块具体包括:
收缩组件,用于将每个簇的核心点集收缩为一个clique;
重构组件,用于重构所述clique,使所述k值极大。
16.如权利要求15所述的数据流的处理系统,其特征在于,所述收缩组件具体包括:第一统计单元、收缩单元和调用单元;
对所述核心点集中的每个节点,所述第一统计单元用于根据所述t时刻采集的数据流统计与所述核心点集中节点的相关度大于所述相关阈值的节点的第二节点数量;
所述收缩单元用于将所述第二节点数量最少的节点从所述核心点集中去除;
所述调用单元用于重复调用所述收缩单元,直至所述核心点集中剩余节点收缩为一个clique。
17.如权利要求16所述的数据流的处理系统,其特征在于,所述重构组件具体包括:重构单元
所述重构单元用于将所述网络中的与所述clique中所有节点的相关度均大于相关阈值的节点加入候选节点集,并从所述候选节点集中选择第一目标节点,并加入所述核心点集;
所述第一目标节点具有数量最多的与所述核心点集中每个节点的相关度均大于所述相关阈值的相邻节点;
所述调用单元还用于重复调用所述重构单元以将所述第一目标节点加入所述核心点集,直至所述k值极大。
18.如权利要求17所述的数据流的处理系统,其特征在于,所述重构组件还包括:第二统计单元;
对所述相邻节点集中每个节点,所述第二统计单元还用于统计与所述核心点集中每个节点的相关度大于相关阈值的节点的第三节点数量;
所述重构单元还用于在不降低所述k值的前提下,将所述第三节点数量最多的节点加入所述核心点集。
19.如权利要求12-18中任意一项所述的数据流的处理系统,其特征在于,所述处理系统还包括:提取模块;
所述提取模块用于基于局部最优化策略对每个簇中的节点的数据流进行压缩,以提取代表数据。
20.如权利要求19所述的数据流的处理系统,其特征在于,所述提取模块具体包括:
提取组件,用于从每个核心点集中选取若干第二目标节点,并将所述第二目标节点的数据流作为所述代表数据;
所述边界点集中的每个节点与所述若干第二目标节点中的至少一个节点的相关度大于所述相关阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910181552.XA CN111694862A (zh) | 2019-03-11 | 2019-03-11 | 数据流的处理方法及系统、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910181552.XA CN111694862A (zh) | 2019-03-11 | 2019-03-11 | 数据流的处理方法及系统、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111694862A true CN111694862A (zh) | 2020-09-22 |
Family
ID=72474636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910181552.XA Pending CN111694862A (zh) | 2019-03-11 | 2019-03-11 | 数据流的处理方法及系统、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694862A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107240026A (zh) * | 2017-04-20 | 2017-10-10 | 西安电子科技大学 | 一种适用于噪音网络的社区发现方法 |
US20170358434A1 (en) * | 2016-06-09 | 2017-12-14 | Shimadzu Corporation | Big-data analyzing method and mass spectrometric system using the same method |
CN108038500A (zh) * | 2017-12-07 | 2018-05-15 | 东软集团股份有限公司 | 聚类方法、装置、计算机设备、存储介质和程序产品 |
CN108415975A (zh) * | 2018-02-08 | 2018-08-17 | 淮阴工学院 | 基于bdch-dbscan的出租车载客热点识别方法 |
WO2018184667A1 (en) * | 2017-04-04 | 2018-10-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus and method for performing network optimization |
-
2019
- 2019-03-11 CN CN201910181552.XA patent/CN111694862A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170358434A1 (en) * | 2016-06-09 | 2017-12-14 | Shimadzu Corporation | Big-data analyzing method and mass spectrometric system using the same method |
WO2018184667A1 (en) * | 2017-04-04 | 2018-10-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus and method for performing network optimization |
CN107240026A (zh) * | 2017-04-20 | 2017-10-10 | 西安电子科技大学 | 一种适用于噪音网络的社区发现方法 |
CN108038500A (zh) * | 2017-12-07 | 2018-05-15 | 东软集团股份有限公司 | 聚类方法、装置、计算机设备、存储介质和程序产品 |
CN108415975A (zh) * | 2018-02-08 | 2018-08-17 | 淮阴工学院 | 基于bdch-dbscan的出租车载客热点识别方法 |
Non-Patent Citations (1)
Title |
---|
ANURAG VERMA 等: "Network Clustering via Clique Relaxations: A Community Based Approach", 《GRAPH PARTITIO-NING AND GRAPH CLUSTERING》, vol. 58, no. 8, pages 129 - 143 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xie et al. | LabelrankT: Incremental community detection in dynamic networks via label propagation | |
CN106708989B (zh) | 基于空间时序数据流应用的Skyline查询方法 | |
CN106777093B (zh) | 基于空间时序数据流应用的Skyline查询系统 | |
Ouyang et al. | Spatial co-location pattern discovery from fuzzy objects | |
CN106228398A (zh) | 基于c4.5决策树算法的特定用户挖掘系统及其方法 | |
David et al. | Hierarchical data organization, clustering and denoising via localized diffusion folders | |
Anitha | A new web usage mining approach for next page access prediction | |
CN103838803A (zh) | 一种基于节点Jaccard相似度的社交网络社团发现方法 | |
CN107480685B (zh) | 一种基于GraphX的分布式幂迭代聚类方法和装置 | |
CN106203631B (zh) | 描述型多维度事件序列的并行频繁情节挖掘方法与系统 | |
Yang et al. | A scalable data chunk similarity based compression approach for efficient big sensing data processing on cloud | |
Chen et al. | Distinct counting with a self-learning bitmap | |
CN103473255A (zh) | 一种数据聚类方法、系统及数据处理设备 | |
CN105139031A (zh) | 一种基于子空间聚类的数据处理方法 | |
CN113467851A (zh) | 一种基于车辆聚类的动态车辆计算任务卸载方法和装置 | |
CN110809066A (zh) | IPv6地址生成模型创建方法、装置及地址生成方法 | |
CN104980462A (zh) | 分布式计算方法、装置和系统 | |
CN117078048A (zh) | 基于数字孪生的智慧城市资源管理方法及系统 | |
Nittel et al. | Real-time spatial interpolation of continuous phenomena using mobile sensor data streams | |
CN103995828A (zh) | 一种云存储日志数据分析方法 | |
CN107908696A (zh) | 一种并行高效的基于网格与密度的多维空间数据聚类算法griden | |
CN111694862A (zh) | 数据流的处理方法及系统、电子设备、存储介质 | |
Purnawansyah et al. | K-Means clustering implementation in network traffic activities | |
CN104657473A (zh) | 一种保证质量单调性的大规模数据挖掘方法 | |
CN115629883A (zh) | 资源预测方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |