一种多维并行报文分类算法
- 格式:pdf
- 大小:247.70 KB
- 文档页数:3
基于规则集划分的多决策树报文分类算法作者:马腾陈庶樵张校辉田乐来源:《计算机应用》2013年第09期摘要:为克服决策树算法处理高速网络、大容量规则集下的报文分类问题时内存使用量大的弊端,提出一种基于规则集划分的多决策树报文分类算法。
在保证规则子集数量可控的前提下,采用启发式算法将规则集划分为有限个规则子集,最大限度分离交叠规则;提出两级级联决策树结构,降低决策树深度以减少规则查找时间。
理论分析表明,该算法空间复杂度较传统单决策树算法大幅降低。
仿真结果表明,该算法的内存使用量比目前空间性能最好的EffiCuts算法减少了30%,且维度可扩展性更好。
关键词:报文分类;规则集划分;多决策树;内存使用量;大容量规则集中图分类号:TP393.0文献标志码:A0引言报文分类是网络应用领域的关键技术之一。
目前业界的解决方案主要有两种:基于硬件的三态内容可寻址寄存器(Ternary Content Addressable Memory,TCAM)和基于随机存取存储器(Random Access Memory,RAM),它们均可以线速处理报文。
随着链路带宽不断增加、网络应用日益多元化,分类规则集呈现出新的特点:容量增大、规则维数增多、范围规则大量出现,使得基于TCAM的多域报文分类算法举步维艰(TCAM不宜处理范围规则)[1-3],而运行于可编程门阵列(Field Programmable Gate Array,FPGA)+RAM架构的决策树算法在规则集容量、规则维数方面扩展性强,且适合处理范围规则,成为研究热点。
规则集中的规则在某些域相互交叠,使得这类算法在预处理阶段构建立决策树时,不可避免出现规则复制,带来严重的存储空间消耗。
受限于高速存储器的容量,高速网络、大容量规则集下的报文分类算法必须解决内存消耗量大的问题。
为此在预处理阶段需要对规则集进行合适的划分,使得规则子集内部的规则相互交叠的概率大幅降低,从而达到抑制规则复制、减少算法内存使用量的目的。
基于IPv6防火墙的多维IP分类算法摘要:本文首先介绍了目前几种主要的ip分类算法。
然后按ipv6环境对ip分类算法的需求设计实现了一种ipv6环境下的支持范围匹配的多维ip分类算法,介绍其基本思想,数据结构,预处理过程以及ip分类过程。
最后分析了该算法在ipv6环境下的适用性。
关键词:ipv6;防火墙;ip分类;多维ip分类算法中图分类号:tp393.03 文献标识码:a 文章编号:1007-9599 (2011) 22-0000-01multi-dimensional ip classification algorithm on ipv6 firewallluo wei(network support center of sichuan branch,china tietong,chengdu 610081,china)abstract:this paper describes the current of several major ip classification algorithm.then press the ipv6 environment,the demand for ip classification algorithm designed and implemented an ipv6 environment to support multi-dimensional range matching ip classification algorithm,introduce the basic ideas,data structures,process and ip pre-classification process.finally,an analysis of the algorithm applicability in ipv6 environment.keywords:ipv6;firewall;ipclassification;multidimensional ip classification algorithm ipv6是用来代替现行的ipv4协议的一种新的ip协议。
多维数据分类扩散模型代码-概述说明以及解释1.引言1.1 概述多维数据分类方法是一种在数据科学和机器学习领域广泛应用的技术,它可以用于将复杂多维数据划分为不同的类别或群组。
随着大数据时代的到来,多维数据的处理和分析变得越来越重要。
在传统的数据分类方法中,通常只考虑数据的一个或少数几个维度来进行分类。
但是,现实世界中的数据往往是复杂、多样的,包含了大量的维度信息。
例如,在金融领域,市场数据通常包含了股票价格、交易量、市值等多个维度。
传统的分类方法很难充分利用这些多维度的信息,从而导致分类性能的下降。
多维数据分类方法旨在解决这个问题,它将多维数据的所有维度信息都考虑在内,从而更准确地进行分类。
这些方法通常基于数据的特征提取和模式识别技术,通过对数据的各个维度进行综合分析,得出更加准确和可靠的分类结果。
在本文中,我们将介绍多维数据分类的定义、方法和应用。
首先,我们将给出多维数据分类的基本定义,包括其目标和要解决的问题。
然后,我们将介绍一些常用的多维数据分类方法,包括基于统计学、机器学习和人工智能等领域的方法。
最后,我们将通过一些实际应用的案例,展示多维数据分类方法在不同领域的实际应用效果。
通过本文的阅读,读者将能够了解多维数据分类方法的基本原理和技术,并能够应用这些方法解决实际的分类问题。
同时,我们也将讨论多维数据分类方法的一些挑战和未来发展方向,以期为相关研究和实践提供一定的参考和借鉴价值。
1.2文章结构文章结构部分包括了本文的主要章节与子章节的概述,以及章节内容的简要说明。
本文主要按照以下结构组织:2. 正文2.1 多维数据分类2.1.1 定义2.1.2 方法2.1.3 应用2.2 扩散模型2.2.1 理论基础2.2.2 模型构建2.2.3 模拟实验2.3 代码2.3.1 编程语言选择2.3.2 算法实现2.3.3 示例代码在本文中,我们将首先介绍多维数据分类的概念和定义,然后介绍多维数据分类的常用方法。
基于IPv6防火墙的多维IP分类算法罗蔚【期刊名称】《计算机光盘软件与应用》【年(卷),期】2011(000)022【摘要】This paper describes the current of several major IP classification algorithm.Then press the IPv6 environment,the demand for IP classification algorithm designed and implemented an IPv6 environment to support multi-dimensional range matching IP classification algorithm,introduce the basic ideas,data structures,process and IP pre-classification process.Finally, an analysis of the algorithm applicability in IPv6 environment.%本文首先介绍了目前几种主要的IP分类算法。
然后按IPv6环境对IP分类算法的需求设计实现了一种IPv6环境下的支持范围匹配的多维IP分类算法,介绍其基本思想,数据结构,预处理过程以及IP分类过程。
最后分析了该算法在IPv6环境下的适用性。
【总页数】1页(P116-116)【作者】罗蔚【作者单位】铁通四川分公司网络支撑中心,成都610081【正文语种】中文【中图分类】TP393.03【相关文献】1.一种基于IPv6防火墙的多维IP分类算法 [J], 罗蔚;刘乃琦2.基于IPv6协议的IPSec与防火墙协同工作设计与实现 [J], 李力;袁新治;郑超美;吴芳宇3.基于IPv4/IPv6过渡的防火墙构建 [J], 陈江;单桂军4.基于IPv6/IPv4环境下防火墙的设计与实现 [J], 赵婷婷;陈小春;杨娟5.基于IPV4/IPV6的防火墙系统浅谈 [J], 周文虎;刘淑芬;杨樱因版权原因,仅展示原文概要,查看原文内容请购买。
IPv6并行包分类算法的研究与设计的开题报告一、选题背景随着互联网的快速发展和普及,IPv4地址已经逐渐不足以支撑网络的需求。
为了解决IPv4地址短缺的问题,IPv6作为协议的下一代标准已经被制定出来,并已经得到了广泛的应用和推广。
但是,正是因为IPv6地址的长度和表示方式与IPv4有很大不同,这对网络设备和路由器的处理能力提出了更高的要求。
为了更好地支持IPv6的路由和转发,研究和设计一种高效的IPv6并行包分类算法变得尤为重要。
二、研究内容本研究的主要内容是研究和设计一种高效的IPv6并行包分类算法。
具体来说,本研究将针对IPv6的特点,基于现有的IPv6包分类算法,探索并行算法的优化方向,提出一种既能满足高效性要求,又能够充分利用多核CPU性能的高效IPv6并行包分类算法。
三、研究方法本研究将采用以下研究方法:1. 文献综述:对目前IPv6并行包分类算法的研究成果进行综述和分析,了解该领域的研究现状,为本研究提供理论支持和借鉴。
2. 算法设计:基于IPv6的特点以及现有IPv6包分类算法,提出一种高效的IPv6并行包分类算法。
3. 算法实现:使用C++编程语言,利用多线程、SIMD等技术实现所提出的IPv6并行包分类算法,并进行性能测试。
4. 性能测试:设计测试用例,并在不同的网络环境下对所提出的IPv6并行包分类算法进行性能测试和比较,验证算法的有效性和高效性。
四、预期目标本研究旨在设计一种高效的IPv6并行包分类算法,既能够充分利用多核处理器的性能,又能够满足IPv6路由和转发的实际需求。
预期达到以下目标:1. 提出一种高效的IPv6并行包分类算法,单核性能和多核性能都能得到一定的提升。
2. 验证所提出的算法效果,并与现有算法进行性能比较,证明算法在实际应用中的高效性和可行性。
3. 在理论和应用方面都有一定的创新性和实际意义,提高IPv6路由和转发的效率,促进IPv6的快速发展。
五、研究意义IPv6并行包分类算法的高效性对于IPv6网络的发展有着至关重要的作用。
基于FPGA的报文数据分析模块的设计FPGA(Field-Programmable Gate Array)是一种可编程逻辑设备,具有高度灵活的硬件配置能力,可以用于构建各种不同的数字电路。
在数据通信领域,报文数据分析是一项重要的任务,用于提取和分析从网络中传输的数据报文,以实现网络性能监测、故障排除等功能。
本文将介绍基于FPGA的报文数据分析模块的设计,包括设计目标、硬件架构、功能实现等方面。
希望通过本文的介绍,读者能够对基于FPGA的报文数据分析模块的设计有一个全面的了解。
首先,我们需要明确设计目标。
在设计过程中,我们的目标是实现一个能够高效地提取和分析报文数据的模块。
为了达到这个目标,我们需要考虑以下几个方面的问题:硬件资源利用率、数据处理速度、报文格式支持、功能扩展性等。
接下来,我们需要确定硬件架构。
基于FPGA的报文数据分析模块的硬件架构可以分为三个主要部分:报文接收部分、数据处理部分和报文输出部分。
报文接收部分负责接收从网络中传输的数据报文。
FPGA可以使用现有的网络接口模块,如以太网接口模块,来完成这一任务。
这些模块通常具有硬件协议栈和物理层接口,可以实现高速数据传输,并提供报文的数据链路层封装。
数据处理部分是整个模块的核心,负责对接收到的报文数据进行解析和处理。
在设计过程中,我们需要根据实际需求,选择合适的处理算法和数据结构。
例如,我们可以使用硬件形式的协议解析器来解析报文数据,并将解析后的结果存储在FPGA的内部存储器中。
为了提高处理速度,我们还可以使用流水线技术来并行处理多个报文。
报文输出部分负责将处理后的数据输出到外部设备或存储器中。
输出可以采用多种形式,例如,我们可以将处理结果通过以太网接口发送到上位机,或者将数据保存在SD卡或硬盘中。
为了提高输出效率,我们可以使用DMA(直接内存访问)技术来实现高速数据传输。
除了上述的主要硬件部分外,我们还可以考虑一些功能扩展部分。
例如,我们可以添加报文过滤功能,以便只处理特定类型的报文;我们可以添加报文统计功能,以便统计报文的数量、字节等信息;我们还可以添加报文分析功能,以便进行更深入的协议分析和故障排除。
一种基于并行免疫网络的大数据分类算法范大鹏;张凤斌【摘要】为了解决数据量增加时串行免疫网络算法难以实现大数据处理的问题,提出了并行免疫网络训练和分类模型,并在Spark并行框架下设计了并行免疫网络分类算法.给出了入侵检测大数据背景知识;建立了Ainet并行算法框架,详述了并行免疫网络分类算法步骤;采用cup99入侵检测数据集进行了试验,进而将并行Ainet算法同其他算法做了比较.试验结果表明:较串行Ainet算法,并行Ainet算法训练时间下降了11/12,检测时间降低了19/20,准确率提高了10%,同时检测率提高了5%,而误报率降低了20%,可见并行Ainet算法各方面都取得较好的效果;试验验证了分类效果对训练数据集数量敏感的特点;并行Ainet算法在准确率、检测率和误报率方面优于其他算法,但运行时间较长.【期刊名称】《江苏大学学报(自然科学版)》【年(卷),期】2018(039)005【总页数】5页(P581-585)【关键词】大数据;并行运算;免疫网络;分类;入侵检测【作者】范大鹏;张凤斌【作者单位】哈尔滨理工大学计算机科学与技术学院,黑龙江哈尔滨150080;黑龙江科技大学计算机与信息工程学院,黑龙江哈尔滨150022;哈尔滨理工大学计算机科学与技术学院,黑龙江哈尔滨150080【正文语种】中文【中图分类】TP338.6现今已经进入了大数据时代,每天都会产生数PB的数据[1],如何挖掘大数据的内在价值,成为大数据处理的研究热点.由于大数据具有复杂、高维、多变等特性,如何从真实、凌乱、无模式和复杂的大数据中挖掘出人类感兴趣的知识,迫切需要更深刻的机器学习理论进行指导.人工免疫作为机器学习的重要方法,能快速准确识别“自体”和“非自体”,为数据分类提供了一种有效的途径.而作为人工免疫理论中的免疫网络理论认为免疫细胞不仅受外来抗原的刺激, 抗体之间也要相互刺激和彼此协调形成一个动态的免疫网络用以完成免疫功能,进而体现出免疫系统的动态性能[2].但免疫网络存在收敛速度慢、训练时间长等缺点,所以传统的串行免疫网络理论并不适合大数据处理.文中借鉴免疫网络理论,改进Ainet算法,设计免疫网络训练和分类模型,提出Spark[3]并行框架下并行免疫算法(P-Ainet),并将该模型应用到入侵检测数据集分类中,以提高分类[4]的各项性能.1 相关工作免疫网络分类方面的研究已经有很多,其中比较有代表性的杨珺等[5]提出了基于人工免疫网络聚类的过滤网络取证数据的方法;张立文等[6]采用Ainet提出了2阶段文本聚类算法TCBSA;DENG Z. L.等 [7]设计了信用评分模型,采用免疫网络算法,提高了系统的非线性;DENG Z. L.等[8]提出了基于免疫网络的动态识别相邻节点划分方法.并行免疫网络的相关研究较少,而莫宏伟和徐立芳[9]都是最早研究并行免疫网络的学者之一,将简单的并行方法引入AIRS系统,验证了并行多核系统效率方面的优越性能;苏一丹等[10]提出了保持邻居用户最大多样性的基础上进一步提高算法实时响应速度的PINR算法;LUO R. Y.等[11]改进Ainet算法设计了一种集群优化GPU算法.将并行免疫算法应用于大数据分类中的研究目前还很少见,而且采用Spark并行框架实现并行免疫网络尚未被相关的论文提及.2 背景和算法2.1 Spark并行框架Spark是现代大数据并行处理框架之一,是以内存计算为核心的并行计算框架,其运算速度比硬盘计算快10倍.Spark以RDD[12]作为核心数据结构,RDD以分区(patition)的形式分布在集群中的多个机器上,每个分区代表了数据集的1个子集;分区定义了Spark中数据的并行单位,Spark框架并行处理多个分区,一个分区内的数据对象是以顺序处理的方式存在;RDD的抽象使得开发人员将流水处理过程中的任何点过程,映射到跨越集群节点的内存中,极大地提高了内存计算能力.Spark通过map和mapPatitions操作函数控制访问分区,对分区中数据的操作在分区之间并行完成,所以分区的多少直接影响Spark执行的效率,同时加大分区的数量可以提高算法的并行效率[13-14].2.2 免疫网络免疫网络(Ainet)算法步骤可概括如下:1) 初始化,随机选择少量数据以形成记忆细胞集合.2) 抗原提呈,该过程将每个抗原做如下操作:① 克隆,采用适应度计算方法,计算每个抗原与记忆细胞的适应度,选择最好的n1个个体进行克隆,克隆数量采用Nc=Cr*1/Af,式中:Cr为克隆率;Af为适应度;为向下取整函数.② 变异,基于适应度值对克隆后的细胞进行变异,采用均匀变异,公式为其中Rand(0,1)表示0到1的随机数,而式中和表示的最小和最大值.③ 克隆选择,计算变异后的每个个体同抗原的适应度,选择适应度高的个体进行抑制,将抑制后的个体加入记忆细胞集合中.④ 对记忆细胞集进行网络抑制,构建新的网络,形成新的记忆细胞集.⑤ 重复步骤①-③,直到每个抗原都提呈完毕,最后形成记忆细胞.从Ainet算法可见,进化过程中每个抗原都要同记忆细胞集进行克隆选择,每个抗体都要依赖于上一个抗体形成的记忆细胞,所以Ainet串行过程中数据间有很强的依赖关系,并不适合并行运算.3 并行免疫网络分类算法鉴于Ainet算法串行化的特点,将抗原进化过程中前1个抗原与后1个抗原之间的依赖关系取消,换成每个抗原在每个并行运行机器中独立进化,当每个独立运行机器中所有抗原进化完毕后再进行独立的群体抑制.这样可以大大加快Ainet的进化速度,同时也可减少不必要的抑制过程,降低Ainet的群体之间的依赖性.3.1 模型针对于分类问题[15-16],首先设计训练模型,表达式为(1)式中:M为生成的记忆细胞;n为并行运行机器的数量;delect为网络抑制操作;AINET为免疫网络操作;Sk为第k个训练抗原;Sσ为初始记忆集合;Dr为抑制阀值;Dd为网络抑制阀值;Dm为克隆速率;n为并行集群的个数;m为训练集中数据项的个数;g为进化的代数.分类模型表达式为(2)式中:aff()为适应度函数;KNN()为最近邻判断函数[17];tj为每个待分类数据项;M为训练后的记忆细胞集合;n为并行集群的个数;m为M中数据项的个数;t为测试集中数据项的个数.3.2 Spark训练算法Spark框架下并行免疫网络训练算法如下:输入:n为选择要克隆的记忆细胞数;G为运行代数;Cr为克隆速率;Dm为选择的克隆变异百分比;Ds为对记忆细胞集合m中成员的清除阀值;Dr为对记忆细胞集合m 中成员的抑制阀值;IniTest为训练过程中用到的训练集;IniM为初始记忆集;maxmin为数据集中列的范围;Test为测试集.输出:M为训练结果集合.训练步骤如下:1) sc.broadcast(IniM)→m,广播初始记忆集;2) m→IniTest.mapPartitions(),对训练集中每个分区做如下操作:① IniTest的分区中的每个数据项xi计算欧氏距离,计算distance(xi,m)→∑Di;② clone(∑Di,n,Cr)→clonei,克隆操作;③ mute(clonei,maxmin)→mutei,变异操作;④ select(mutei)→selecti,选择操作;⑤ delect(selecti,Ds)→delect i,抑制操作;⑥ delecti→Mi,生成xi的记忆集;⑦ 重复步骤①-⑥,直到迭代完成;⑧ ∑Mi→Pmk,k为每个分区的索引;3) delect(Pmk)→PartitionsMk,对每个分区中的所有数据抑制计算;4) reduce(PartitionsMk)→M,合并每个分区,生成总的记忆集.从train算法可见,第3)步是区别于串行Ainet的关键步骤,① 到⑥ 步就是Ainet算法的集群实现,在集群中的每个机器中独立运行Ainet算法.3.3 Spark分类算法Spark框架下并行免疫网络分类(classification)算法如下所示:输入:M为训练后的记忆集.输出:out为分类结果集合.分类步骤如下:1) sc.broadcast(M)→pM,广播生成的记忆集到pM的每个分区;2) Test.map→xi,对每个分区上测试集中的每个数据项做如下操作:① distance(xi,pM)→∑di,计算xi和pM每条数据项的欧式距离;② sortby(∑di)→si,按欧氏距离大小排序;③ KNN(si)→labeli,判断xi的类别;④ 重复①-③,直到Test每个数据项都完成;3) reduce(labeli)→C,将Test每个数据项结果合并.在classification算法过程中,将训练后的记忆集合以变量共享的方式广播到每个集群中,在每个集群中分别检测每个测试数据,待集群中每个测试项都测试完毕,统计出分类结果.4 试验试验环境为DELL R720服务器、windows server 2008r2系统、idea14.0.2和Spark1.6.0,数据采用kddcup99的10%数据集,数据量分布如下:总数据量为494 021,检测集为297 106,训练集为196 915,初始记忆集为1 949.并行免疫网络参数设置如下:运行代数为G=3;克隆速率为Cr=10;选择的克隆变异百分比为Dm=0.01;记忆细胞集合m中成员的清除阀值为Dr=5.0;记忆细胞集合m中成员的抑制阀值为Dd=0.1.4.1 串行和并行免疫网络算法比较串行和并行Ainet算法比较如表1所示.表1 串行和并行Ainet比较算法训练时间/min检测时间/min生成记忆检测器个数准确率/%检测率/%误报率/%Ainet101.605 860.124 269188.005 790.337 222.755 7P-Ainet8.058 23.046 565897.885 395.249 00.932 2从表1可见,并行Ainet算法(P-Ainet)训练时间快12倍以上,检测时间快近20倍;从生成记忆检测器个数来看2种算法差的并不是很大;而准确率、检测率和误报率并行Ainet算法要远远高于串行Ainet算法.4.2 训练数据集大小的影响选取不同数据量训练集对结果的影响如表2所示,其中40%表示训练集的数量占总数据量的比率,这时检测集的数据量就占总数据量的60%,其他亦同.表2 不同数量训练集的影响训练集比率/%训练时间/min检测时间/min生成记忆检测器个数准确率/%检测率/%误报率/% 408.058 23.046 565897.885 395.249 00.932 25012.146 52.830 274398.785 998.481 70.855 36029.629 12.597 11 02399.165 098.936 70.231 8从表2可见,增大训练集的比率时训练时间和生成的记忆检测器个数都相应增加,训练数据量达到60%时训练时间要比40%数据量时慢3倍,由于测试集数量的减少,检测时间相对减少.同时准确率、检测率和误报率都会达到更好的效果,训练数据量达到60%时较40%时准确率提高1.279 7%,检测率提高3.687 7%,误报率下降0.700 4%.4.3 不同算法比较选取Spark mllib中提供的分类算法进行比较,包括逻辑回归(LR)、线性支持向量机(SVM)、朴素贝叶斯(Naïve Bayes)和K均值(K-means)几种算法,训练选取了60%的数据量,预测选取了40%的数据量.不同算法比较结果如表3所示.表3 不同算法比较算法准确率/%检测率/%误报率/%运行时间/minLR35.550 078.927 60.521 90.025 4SVM35.204 881.372 00.525 90.030 1NaïveBayes80.405 985.080 40.149 50.113 1K-means89.073 190.074 010.640 44.324 0P-Ainet99.165 098.936 70.231 832.226 2从表3可见,准确率、检测率和误报率3个指标并行Ainet算法都好于其他算法,而运行时间并行Ainet要远远高于其他算法.5 结论文中提出了面向大数据分类问题的并行免疫模型及算法,具有如下优势: ① 训练数据集数量要求低,用少量的个体数量,可以达到97%以上的准确率; ② 采用集群独立进化的思想,加快了进化的速度,克服了免疫网络过分抑制的缺点; ③ 并行分类过程将记忆集共享,极大提高了集群分类效率.该算法劣势包括: ① 算法计算量大,导致训练和分类过程缓慢; ② 对训练集数量敏感,训练数量增加训练效果较好,数量减少效果就差.参考文献(References)【相关文献】[ 1 ] DOBRE C, XHAFA F. Parallel programming paradigms and frameworks in big dataera[J]. International Journal of Parallel Programming, 2014, 42(5):710-738.[ 2 ] ZHAO M L, LIU H W. An associate rules mining algorithm based on artificial immune network for SAR image segmentation[J]. Mathematical Problems in Enginee-ring, 2015,doi: 10.1155/2015/839081.[ 3 ] SHYAM R, BHARATHI G H B, SACHIN K S, et al. Apache spark a big data analytics platform for smart grid[J]. Procedia Technology, 2015, 21:171-178.[ 4 ] 陈姝,彭小宁. 基于粒子滤波和在线随机森林分类的目标跟踪[J]. 江苏大学学报(自然科学版), 2014, 35(2): 207-213.CHEN S, PENG X N. Object tracking based on particle filter and online random forestclassification[J].Journal of Jiangsu University (Natural Science Edition), 2014, 35(2): 207-213. (in Chinese)[ 5 ] 杨珺,马秦生,王敏,等. 网络取证数据的人工免疫网络聚类过滤方法[J]. 武汉大学学报(工学版),2012,45(1):123-127.YANG J,MA Q S,WANG M, et al. Filtering for network forensics data on artificial immune network clustering[J]. Engineering Journal of Wuhan University,2012,45(1):123-127. (in Chinese)[ 6 ] 张立文,徐家宁,李进,等. 基于免疫网络和SOM的文本聚类算法研究[J]. 计算机应用与软件,2010,27(5):118-120,124.ZHANG L W,XU J N,LI J, et al. Research on text clustering algorithm based on artificial immune network and SOM[J]. Computer Applications and Software,2010, 27(5):118-120,124. (in Chinese)[ 7 ] DENG Z L, HUYE B, HE P, et al. An artificial immune network classification algorithm for credit scoring[J]. Journal of Information and Computational Science, 2015,12(11):4263-4270.[ 8 ] DENG Z L, TAN G Z, HE P, et al. A dynamic recognition neighborhood based immune network classification algorithm and its performance analysis[J]. Journal of Electronics and Information Technology, 2015, 37(5):1167-1172.[ 9 ] 莫宏伟,徐立芳. 人工免疫网络记忆分类并行算法研究[J]. 计算机工程与应用,2005,41(27):16-18,217.MO H W,XUN L F. Research of parallel artificial immune network memory classification algorithm[J]. Computer Engineering and Applications, 2005,41(27):16-18,217.(in Chinese) [10] 苏一丹,王育才,顾新一. 基于独特型人工免疫网络的并行推荐算法的研究[J]. 计算机应用,2008,28(5):1098-1100.SU Y D, WANG Y C, GU X Y. Research of parallel recommendation algorithm based on idiotypic artificial immune network[J]. Computer Applications, 2008,28(5):1098-1100. (in Chinese)[11] LUO R Y, YIN Q. A novel parallel clustering algorithm based on artificial immune network using nVidia CUDA framewor k[C]∥Proceedings of the 14th International Conference on Human-Computer Interaction. Heidelberg: Springer Verlag,2011:598-607.[12] QI R Z, WANG Z J, LI S Y. A parallel genetic algorithm based on spark for pairwise test suite generation[J]. Journal of Computer Science and Technology, 2016, 31(2):417-427. [13] 魏晓辉,李聪,李洪亮,等. 支持大规模流数据处理的在线MapReduce数据传输机制[J]. 吉林大学学报(理学版),2015,53(2):273-279.WEI X H, LI C, LI H L, et al. Online MapReduce data transmission mechanism supporting large-scale stream data processing[J]. Journal of Jilin University (Science Edition), 2015, 53(2): 273-279. (in Chinese)[14] 杨勇,高松松. 基于MapReduce的关联规则并行增量更新算法[J]. 重庆邮电大学学报(自然科学版),2014,26(5):670-678.YANG Y, GAO S S. Parallel and incremental updating algorithm for association rules based on MapReduce[J].Journal of Chongqing University of Posts and Telecommunications (Natural Science Edition),2014,26(5):670-678. (in Chinese)[15] ABBAS A, ZHANG L M, KHAN S U. A survey on context-aware recommender systems based on computational intelligence techniques[J]. Computing, 2015, 97(7):667-690. [16] 黄一辛,王俊峰,王敏,等. 一种基于吞吐量的并行度动态调整算法[J]. 四川大学学报(自然科学版),2014,51(2):273-276.HUANG Y X, WANG J F, WANG M, et al. A dyna-mic parallelism tuning algorithm based on throughput[J]. Journal of Sichuan University (Natural Science Edition),2014,51(2):273-276. (in Chinese)[17] WANG A G, AN N, CHEN G L, et al. Accelerating wrapper-based feature selection with K-nearest-neighbor[J]. Knowledge-Based Systems, 2015, 83:81-91.。
报文认证算法
报文认证算法是一种用于数据传输中的加密技术,主要用于保证数据传输的完整性和真实性。
在网络通信中,未经过鉴别的数据是不安全的,可能被篡改或者冒充,为了避免这种情况的发生,我们需要使用报文认证算法对数据进行加密处理。
常见的报文认证算法有MD5、SHA、HMAC等,下面我们分别对这几种算法进行介绍:
1.MD5算法
MD5算法是一种广泛使用的报文摘要算法,它可以将任意长度的数据(包括字符串和二进制数据)转换成一个128位的数字指纹,不同的数据会生成不同的指纹。
MD5算法的密钥是固定的,因此加密后的数据可以重复验证。
MD5算法的使用步骤如下:
(1)将明文数据使用MD5算法进行加密,得到摘要信息;
(2)将加密后的数据与摘要信息发送给接收方;
(3)接收方将接收到的数据使用相同的MD5算法进行加密,并比较两个摘要信息是否相同,如果相同则判定数据为真实数据。
2.SHA算法
SHA算法也是一种常用的报文摘要算法,它可以将任意长度的数据转换成一个160位的数字指纹。
MD5算法和SHA算法的主要区别在于SHA算法的输出长度更长,更能保证数据的完整性和真实性。
HMAC算法是一种基于MD5或SHA算法的消息认证码技术,它可以将密钥和数据进行组合加密,保证数据的完整性和真实性。
HMAC算法是一种扩展MD5和SHA算法的方法,它在加密过程中引入密钥,增强了加密的安全性。
(1)生成一个密钥,密钥长度根据需要决定;
(2)将密钥和明文数据一起组合成一个新的密文;。