本发明属于业务可视化领域,尤其涉及一种面向数据流及构建网络拓扑的业务可视化方法及系统。
背景技术:
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
在大数据时代,很多大数据信息都以数据流的形式存在,其中蕴含着大量有用的信息,但是基于其海量的,高速流动的特征,很难对它进行存储,所以就要求对数据流进行实时性的处理并从中获取有用的信息。数据流模型广泛应用于社会生产和生活的各个领域,他是未来数据发展的一个主要趋势,他也已经成为了当前的一个研究热点。
在计算机互联网时代,计算机和互联网相关技术不断更新,发展日新月异,网络与计算机的使用己经遍及家庭生活和工作的方方面面,由于网络与计算机用户数量越来越大,使用频率越来越高,各种恶意应用充斥其中,比如各种网络病毒、木马、网络窃听和各式各样的黑客攻击、爬虫访问,这些行为占据了有限的网络资源,不仅严重妨害正常应用的使用,而且对人们正常使用的应用服务的安全性产生很大的威胁。传统的基于固定端口计算机网络的识别技术效果较好,主要是利用端口的数据流量进行分析,从中获取相关信息进而进行监控和监管。近年来,随着流最识别技术融合机器学习、模式识别、数据挖掘等其他领域的先进技术,基于数据流的业务识别的可行性和效率都有所提高。
发明人发现,数据流分析得到的结果如何直观地显示出来也是一个非常重要的问题,将数据流分析的结果用网络拓扑信息的形式表示出来,网络拓扑信息在网络管理、网络安全研究、网络性能分析以及网络模型研究等方面占有举足轻重的地位,如何获取、分析和利用网络拓扑信息也是众多研究所关注的一个热点。
技术实现要素:
为了解决上述背景技术中存在的至少一项技术问题,本发明提供一种面向数据流及构建网络拓扑的业务可视化方法及系统,其基于决策树的网络流量的业务识别有着不错的分析和检测效果,不但可以为网络服务提供商提供监控网络业务的手段,还能提高网络服务的安全性和可靠性,也为互联网业务开拓有着积极的意义。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种面向数据流及构建网络拓扑的业务可视化方法,其包括:
预处理业务数据流并提取特征;
使用决策树对业务数据流特征进行业务模式的判断,生成多个层次相同的分类节点形成业务拓扑图;
可视化展示业务拓扑图。
本发明的第二个方面提供一种面向数据流及构建网络拓扑的业务可视化系统,其包括:
业务数据流预处理模块,其用于预处理业务数据流并提取特征;
决策树分析与预测模块,其用于使用决策树对业务数据流特征进行业务模式的判断,生成多个层次相同的分类节点形成业务拓扑图;
业务拓扑图可视化模块,其用于可视化展示业务拓扑图。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的面向数据流及构建网络拓扑的业务可视化方法中的步骤。
本发明的第四个方面提供一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的面向数据流及构建网络拓扑的业务可视化方法中的步骤。
与现有技术相比,本发明的有益效果是:
(1)本发明对业务数据流进行预处理,并提取特征,以便于之后进行分析及预测;运用决策树算法生成决策树,使用决策树对处理过后的数据流实例进行业务模式的判断,自动有序地建立业务域;将业务拓扑图进行可视化的展示,进一步提升该技术的自动化水平。
(2)本发明提出的决策树及业务网络拓扑的可视化方法可以快速地将数据流的特征提取出来并根据特征对数据流实例进行业务模式的分类和预测,自动有序地建立业务域,最后将业务拓扑图进行可视化展示,进一步提升该技术的自动化水平:对数据的预处理能够排除数据的噪声,不完整,提高数据质量和分类准确度;决策树基于主要特征的快速分类非常适用于海量而高速流动的数据流;业务拓扑的可视化使得分类过程及结果更加清晰明了地展示出来,有助于用户清晰地认识和理解。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例的面向数据流及构建网络拓扑的业务可视化方法流程图;
图2是本发明实施例的业务数据流预处理流程图;
图3是本发明实施例的决策树示意图;
图4是本发明实施例的面向数据流及构建网络拓扑的业务可视化方法系统结构示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
网络拓扑可视化作为分析利用网络拓扑信息的重要辅助手段,其主要目标就是将目标网络的节点和连接状况完整清晰地展现在人们眼前,为人们了解、分析目标网络的整体状况提供直观素材和操作平台。这不仅有助于人们对其进行观测分析,更重要的是,它将帮助人们发现存在于网络拓扑中的潜在规律。
为了解决背景技术中的直观地显示数据流分析得到的结果的问题,本实施例提供了一种面向数据流及构建网络拓扑的业务可视化方法,参照图1,其包括:
s101:预处理业务数据流并提取特征。
数据的预处理可以提高后期决策树分析和预测的质量。系统首先根据不同的任务从海量的原始数据中抽取需要的数据,并且对于不完整的数据还需要进行相应预处理。对数据进行预处理的结果直接影响到后面分析的结果,只有经过数据预处理,后面的统计分析结果才可能得到较好的效果。因此,数据预处理是保证统计分析结果和数据挖掘质量的关键。数据预处理过程如图2所示,主要包括数据清洗,属性选取,数据汇总。
下面给出数据预处理的具体实施过程:
首先是数据清洗,在这个阶段,要将数据流进行一系列的处理,因为现实中的数据往往是有噪声,不完整甚至是不一致的,这时就需要使用数据清理:这个阶段主要处理两个问题:缺省值和噪声数据。缺省值可以通过基于推理的工具归纳确定,预测得到最可能的值来填充缺失的值;而噪声数据可以用聚类方法来进行排除。
其次是属性选取,在经过前面数据采集阶段的一系列处理后,得到了结构性的数据流实例,这时就能够比较容易地将数据流实例的属性提取出来,作为后续阶段决策树分类用来判别的特征候选集。
最后数据汇总部分会将前面阶段得到的主要属性进行汇总,对整体数据集进行整体概况描述,包括用于后续决策树训练及预测的数据集的大小,特征信息,特征数量及业务模式标签等信息。
在经过数据预处理后,数据流由一系列不规则的、不一致的数据变为了结构性的数据实例并得到了主要的特征信息及数据集概况描述,将这些信息用于下个阶段的决策树训练及预测。
s102:使用决策树对业务数据流特征进行业务模式的判断,生成多个层次相同的分类节点形成业务拓扑图。
业务数据流数据再经过数据预处理步骤后,其中的主要属性及特征被提取了出来,该模块根据这些属性及特征进行分析及预测。决策树是附加概率结果的一个树状的决策图,该模块使用分类与回归树(cart),它是应用广泛的决策树学习方法之一。cart由特征选择、树的生成及剪枝组成,既可以用于分类也可用于回归。下面以cart决策树分类为例进行说明:cart决策树分类主要包括以下几个步骤:
(1)决策树生成:在数据预处理部分,已经将数据集的特征选取了出来,而这一阶段的目标是基于训练数据集及其特征递归地构建二叉决策树,生成的决策树要尽量大。
决策树生成的步骤是从上而下从根开始建立节点,在每个节点处都要选择一个最好的特征属性来进行分裂,使得左右子节点的训练集尽量的纯。而判定最好的、能尽量将数据集分开的特征属性就要用到基尼指数,基尼系数代表了模型的不纯度,基尼系数越小,不纯度越低,特征越好。
假设k个类别,第k个类别的概率为pk,概率分布的基尼系数表达式为:
对于样本d,个数为|d|,假设k个类别,第k个类别的数量为|ck|,则样本d的基尼系数表达式为:
对于样本d,个数为|d|,根据特征a的某个值a,把d分成|d1|和|d2|,则在特征a的条件下,样本d的基尼系数表达式为:
在决策树生成过程中,从根节点开始,每一步都要计算所有剩余特征对样本集的基尼系数,而将基尼系数最小的特征作为当前子树的根节点,并利用该特征将数据集一分为二,然后在左右子树递归调用上面的步骤,直到样本集的基尼指数或样本个数小于某个规定的阈值,决策树生成完毕。
(2)决策树剪枝:用验证集对已经生成的决策树进行剪枝并选择最优子树,这时用损失函数最小作为剪枝的标准。
决策树很容易对训练集过拟合,导致泛化能力差,所以要对cart决策树进行剪枝,即类似线性回归的正则化。cart采用后剪枝法,即先生成决策树,然后产生所有剪枝后的cart树,然后使用交叉验证检验剪枝的效果,选择泛化能力最好的剪枝策略。
剪枝损失函数如下:
ca(tt)=c(tt) a|tt|
其中,a为正则化参数(和线性回归的正则化一样),c(tt)为训练数据的预测误差,|tt|是子树t叶子节点数量及子树的复杂度。损失函数就可以理解为预测误差和子树的复杂度,只有预测误差和子树的复杂度都很小,损失函数才会很小。
每个内部节点都存在这样一个a值,此时该节点剪枝和没有剪枝时的损失函数值相同,a值如下:
其中,a值可以理解为剪枝对预测误差造成的影响,a值越大,剪枝后预测误差越大,即a值越小,剪枝后的影响越小,所以应该尽量找a值小的节点进行剪枝,而a值可以从0取到正无穷。
决策树剪枝过程,就是每次由下而上计算出各个内部节点的a值,然后选择最小的a值的点进行剪枝,得到剪枝后的树,再反复对树进行上述的操作,直到只剩下根节点。在这个过程中能得到一连串的子树序列,再使用测试集对每个子树进行交叉验证,最终得到最优树。
经过决策树生成及剪枝后,会得到如图3所示的决策树,其中p1-3分别是数据流中能对业务模式进行判断的业务特征,输入的数据在这些分支点根据特征进行判断,最终会流入不同的叶节点,即不同的业务模式。
数据流经过预处理步骤之后,得到包含多个特征的数据流实例。在预测阶段,处理后的数据流输入决策树中从上到下依次进行特征的判定,若特征符合条件则流入左分支,反之流入右分支。最终,经过多个特征分支的判定,数据流实例会到达某个叶节点处,而每个叶节点也就代表了一类业务模式,即将该数据流实例归类于这一类业务模式。
s103:可视化展示业务拓扑图。
网络拓扑可视化作为分析利用网络拓扑信息的重要辅助手段,业务拓扑不仅有助于人们对其进行观测分析,还帮助人们发现存在于网络拓扑中的潜在规律。在之前的流程中服务器中的业务数据流经过初步的预处理,决策树算法对业务模式自动进行识别分类,自动有序地建立了业务域。该模块将对业务拓扑图进行可视化展示,进一步提升该技术的自动化水平。
本实施例所要构建的业务拓扑图是一个由上到下的,层次性的,流程化的图片。下面将由上到下依次介绍业务拓扑图的可视化步骤:
(a)整个数据流的来源是服务器,所以需要在顶端先生成一个服务器节点,也代表着数据流流动的源节点,将其作为拓扑图的第一层。
(b)来源于服务器的数据流要经过一系列的包括数据清洗、属性选取、数据汇总的预处理。所以拓扑图的第二层是一个对数据流进行预处理的节点。
(c)经过预处理后的数据流将会流入下一个阶段,这一阶段是通过训练生成决策树而对数据流业务模式进行分类。在这一部分,根据数据流的特征信息可能会生成特别复杂的决策树,但在可视化环节,我们并不在意决策树本身的结构,我们只关心它对于数据流的分类结果。所以,本实施例将整个决策树部分归类为一个节点,而将决策树不同的分类结果放入下一层。
(d)经过决策树分类,数据流归类于不同的业务模式。在这最后一层,会生成多个层次相同的分类节点,分别代表着决策树分类所对应的不同结果。
本实施例提出的决策树及业务网络拓扑的可视化方法可以快速地将数据流的特征提取出来并根据特征对数据流实例进行业务模式的分类和预测,自动有序地建立业务域,最后将业务拓扑图进行可视化展示,进一步提升该技术的自动化水平:对数据的预处理能够排除数据的噪声,不完整,提高数据质量和分类准确度;决策树基于主要特征的快速分类非常适用于海量而高速流动的数据流;业务拓扑的可视化使得分类过程及结果更加清晰明了地展示出来,有助于用户清晰地认识和理解。
此处需要说明的是,本实施例的实用范围包括支持数据流传输的服务器端和包含业务模式的公司和企业,并将其用于任何时间的数据流业务识别分类。本实施例的面向数据流及构建网络拓扑的业务可视化方法应用前景十分广泛。
实施例二
本实施例提供了一种面向数据流及构建网络拓扑的业务可视化系统,其包括:
业务数据流预处理模块,其用于预处理业务数据流并提取特征;
决策树分析与预测模块,其用于使用决策树对业务数据流特征进行业务模式的判断,生成多个层次相同的分类节点形成业务拓扑图;
业务拓扑图可视化模块,其用于可视化展示业务拓扑图。
本实施例的面向数据流及构建网络拓扑的业务可视化系统中的各个模块,与实施例一中的面向数据流及构建网络拓扑的业务可视化方法中的各个步骤一一对应,此处不再累述。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的面向数据流及构建网络拓扑的业务可视化方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的面向数据流及构建网络拓扑的业务可视化方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种面向数据流及构建网络拓扑的业务可视化方法,其特征在于,包括:
预处理业务数据流并提取特征;
使用决策树对业务数据流特征进行业务模式的判断,生成多个层次相同的分类节点形成业务拓扑图;
可视化展示业务拓扑图。
2.如权利要求1所述的面向数据流及构建网络拓扑的业务可视化方法,其特征在于,预处理业务数据流的操作包括数据清洗,属性选取和数据汇总。
3.如权利要求1所述的面向数据流及构建网络拓扑的业务可视化方法,其特征在于,决策树模型选择分类与回归树。
4.如权利要求1所述的面向数据流及构建网络拓扑的业务可视化方法,其特征在于,决策树生成的步骤是从上而下从根开始建立节点,在每个节点处都要选择一个最好的特征属性来进行分裂,使得左右子节点的训练集尽量的纯。
5.如权利要求4所述的面向数据流及构建网络拓扑的业务可视化方法,其特征在于,基尼系数代表决策树模型的不纯度,基尼系数越小,不纯度越低,特征越好。
6.如权利要求5所述的面向数据流及构建网络拓扑的业务可视化方法,其特征在于,在决策树生成过程中,从根节点开始,每一步都要计算所有剩余特征对样本集的基尼系数,而将基尼系数最小的特征作为当前子树的根节点,并利用该特征将数据集一分为二,然后在左右子树递归,直到样本集的基尼指数或样本个数小于某个规定的阈值,决策树生成完毕。
7.如权利要求1所述的面向数据流及构建网络拓扑的业务可视化方法,其特征在于,用验证集对已经生成的决策树进行剪枝并选择最优子树,用损失函数最小作为剪枝的标准。
8.一种面向数据流及构建网络拓扑的业务可视化系统,其特征在于,包括:
业务数据流预处理模块,其用于预处理业务数据流并提取特征;
决策树分析与预测模块,其用于使用决策树对业务数据流特征进行业务模式的判断,生成多个层次相同的分类节点形成业务拓扑图;
业务拓扑图可视化模块,其用于可视化展示业务拓扑图。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的面向数据流及构建网络拓扑的业务可视化方法中的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一项所述的面向数据流及构建网络拓扑的业务可视化方法中的步骤。
技术总结