网络流量分类系统_总体设计说明书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

-9-
网络流量分类系统总体设计报告
在该界面下,包含了开始菜单栏、结果展示栏,并包含了一个单例的 CTabWidget 类 , 然 后 以 标 签 页 的 形 式 包 含 了 CClassifyWin 和 CResultWin。 2、CClassifyWin 类: 该类实现的是整个系统的核心功能(继承自 QT 的 QWidget),本 系统基本所有需求都在该类中进行实现。 在该界面中用户可以选择打 开分类集、训练集;选择分类属性;点击开始训练、开始分类等。界 面效果可参照图 3.1。 该类包含了一个 CFileOperator 的成员变量,用于处理用户选择 的数据包。其中的训练和分类功能主要是通过 QT 的信号、槽机制将 相应的功能与 CFileOperator 类中的槽相绑定, 并通过信号发送数据 包 (SDataPack) 到 CFileOperator 的接口中, 进行相应的功能调用。 3、CResultWin 类: 该类主要用于显示分类结果混沌矩阵,继承自 QT 的 QWidget。其 调用主要产生在网络流量包分类结束后, 以标签页形式自动展示分类 的概率结果, 也可通过用户手动点击展示分类的数值结果或概率结果。 其中,该类的结果获取自单例的 CStatisticBayes 类中的分类结 果存储器中。 4、CTabWidget 类: 该类是整个界面系统的一个单例的标签页管理类,继承自 QT 的 QTabWidget。主要用于添加新标签和关闭某标签等,以标签页形式添 加功能窗口有利于程序的进一步扩展。
I
概要
概 要 网络流量分类器是基于朴素贝叶斯算法实现的一套网络流量分类 系统。 该系统通过获取网络流量包的各特征值在假设某种网络包类型 下的概率以及该网络类型出现的概率的乘积, 依次对每种可能出现的 网络类型进行假设,求得乘积,然后比较出所得到的最大乘积,这个 乘积的假设条件(即前面假设的网络类型)便是该流量包的网络类型。 整个软件系统主要包含两大主要模块。一、GUI 系统;二、贝叶斯 算法实现系统。其中 GUI 系统是基于 QT 框架而实现。贝叶斯算法, 目前主要实现了其中的离散型数据的算法(即统计法), 而对于连续型 数据的处理算法, 有待后续开发。 就目前的离散型数据分类情况来看, 只要建模数据量充足,分类准确率基本可以达到 99.8%。但是如果建 模数据量不够,则算法分类准确率便不那么稳定。
-3-
网络流量分类系统总体设计报告
2.2.1 系统流程图
图 2.2 系统总体流程图
2.2.2 数据流图 本小节主要以数据流图的形式展示整个系统数据流的具体流向和 数据处理的大致过程。如图 2.3:
图 2.3 系统数据流图
如图 2.3 所示,用户需要通过客户端,选择好所需要的训练集和
-4-
第二章 总体方案与结构
网络流量分类系统总体设计说明书
版本<1.1.160116.beta >
修订历史记录
日期 2016/1/12 版本 1.0.160112.beta 说明 beta 版,完成基本算法、用户交 互,简单容错; 2016/1/16 1.1.160116.beta 1、添加连续型数据离散化功能,当 前版本可使用连续型数据进行分类 2、优化数据统计方法,数据统计结 果更加精确; ChirlChen 作者 ChirlChen
用户做完适当操作后,相应功能按钮会被激活。
图 3.2(a) 结果展示界面 图 3.2(b) 结果展示界面
如图 3.2(a)和 3.2(b),是系统的结果展示界面(可分别通过点 击结果菜单里的“分类结果(概率)”/“分类结果(数值)”或 Ctrl +
-7-
Βιβλιοθήκη Baidu
网络流量分类系统总体设计报告
S/Ctrl + Shift + S 打开),根据需求,将整个数据包的分类结果 做成混沌矩阵的形式展示,其中横排表示每组数据的原始类型,纵 排表示该组数据分类出来的类型。其中(a)是按照分类概率展示的, (b)是按数量展示的。其中分类正确部分以红色字体标记出来。最下 面一排为该分类集的总数据数量。
-2-
第二章 总体方案与结构
第二章 总体结构 2.1 体系结构 整个系统的功能概要已在概要部分进行讲解。在本节中将以系统 框图的形式展示整个系统的总体结构。如图 2.1 所示:
网络流量分类系统
GUI 系统
数据包处理系统
用户操作主界面 文 件 处 理 系 统 贝 叶 斯 算 法 系 统
页 标 签 控 制 界
3.1.1.2 系统界面操作流程图
-8-
第三章 系统详细设计
3.2 类结构设计 对于系统的类之间的结构,还是主要从 GUI 系统和贝叶斯算法实 现 部 分 去 设 计 。 GUI 部 分 主 要 包 含 的 类 有 : 用 户 操 作 主 界 面 类 ( CMainWindow )、分类器操作类( CClassifyWin )、结果展示类 ( CResultWin ) 、 标 签 页 管 理 类 ( CTabWidget ) 、 等 待 提 示 窗 ( CWaitDialog );贝叶 斯算法实现部分 主要包括:文件 操作类 (CFileOperator)、贝叶斯算法类(基类:CBayesAlgorithm、派生 类:CStatisticBayes、CGaussianBayes)、容器类(CContainer)、 特定的字符串类(CMyString)、单例类模板(CSingleTon)等。 3.2.1 类结构及功能说明 1、CMainWindow 类: 该类是整个系统界面的主界面,该类继承自 QT 的 QMainWindow。
目录
目录
概 要 ................................................................. - 1 第一章 需求分析.......................................................... - 2 1.1 功能要求......................................................... - 2 第二章 总体结构.......................................................... - 3 2.1 体系结构......................................................... - 3 2.2 系统总体功能设计 ................................................. - 3 2.2.1 系统流程图 ................................................. - 4 2.2.2 数据流图................................................... - 4 第三章 系统详细设计...................................................... - 6 3.1 各功能模块流程图 ................................................. - 6 3.1.1 GUI 模块 ................................................... - 6 3.2 类结构设计....................................................... - 9 3.2.1 类结构及功能说明 ........................................... - 9 3.2.2 UML 类图 .................................................. - 13 3.3 数据结构设计.................................................... - 13 3.3.1 贝叶斯算法存储容器表结构 .................................. - 13 3.3.2 程序数据结构定义 .......................................... - 15 第四章 关键技术......................................................... - 18 4.1 关键技术的应用.................................................. - 18 4.2 关键技术的一般说明 .............................................. - 19 第五章 方案实施的技术路线和实施计划 ..................................... - 22 5.1 实施的技术路线.................................................. - 22 5.2 实施计划........................................................ - 24 缩写词表................................................................ - 25 参考文献................................................................ - 26 -
分 类 器 操 作 界
结 果 显 示 界 面
等 待 提 示 界 面
图 2.1 网络流量分类系统框图
2.2 系统总体功能设计 本节主要从系统的包含的各功能模块的角度对系统总体功能进行 设计。系统流程图描述了该系统的主要执行流程,数据流图描述了系 统的数据流大体流向,以及系统的各模块对数据流的处理情况。
-5-
网络流量分类系统总体设计报告
第三章 系统详细设计 本章主要对前面的系统总体结构进行细化,具体设计系统各功能 模块的流程,各功能模块所用到的数据结构,以及类结构。出于练习 的目的,系统模块设计上尽量包含一些知识,促进学习。 3.1 各功能模块流程图 系统包含的主要功能模块可分为:GUI 模块、贝叶斯算法实现模 块。下面将以流程图的方式对这两个模块的功能进行具体的分析。 3.1.1 GUI 模块 考虑到系统的可扩展性,以及易操作性等。GUI 系统主要设计成了标 签页的形式,其中包括主界面、分类器标签页界面、结果展示标签页 界面以及等待提示窗等。如果在之后需要对系统的功能进行扩展,可 以直接以设计新的界面,然后以标签页的形式嵌入到当前系统中。
1
网络流量分类系统总体设计报告
第一章 需求分析 1.1 功能要求 设计实现 GUI 界面, 能够在界面上选择训练数据集和测试数据集, 能够在界面上勾选用于训练和分类的特征。 读入 arff 格式的训练和测试数据, 并用程序实现基于朴素贝叶斯 的流分类算法, 能够在界面上点击运行朴素贝叶斯分类算法进行训练。 用测试数据集对算法进行测试,并将分类的结果显示在 GUI 界面 上。
分类集文件,并勾选用于分类的属性,然后系统下一步会进行数据读 取,并在 D1 中存下所勾选的属性,以及其他必要的信息。接下来这 些信息将流向处理训练集模块,对贝叶斯算法进行训练,并将训练结 果保存在 D2 中。训练结束后便可以对之前传入的分类集进行分类处 理了,同样,分类结果将被保存下来(保存在 D4),同时将结果展示 到客户端。
3.1.1.1 系统界面
下面是整个系统的效果展示图。
图 3.1 分类器标签页
-6-
第三章 系统详细设计
分类器标签页(图 3.1)是整个系统的核心功能页,可以通过点击开始 菜单栏里的“统计法分类”(或 Alt + Shift + C)打开。其中便主 要实现了需求分析章节中所提到的所需功能。 为了减少用户操作的失 误率,这里把部分有逻辑先后关系的按钮设置为了不可触发状态,当
相关文档
最新文档