APP下载

并行多路径传输过程数据相似性检测仿真

2021-11-17

计算机仿真 2021年9期
关键词:相似性数值架构

赵 敏

(西安电子科技大学,陕西 西安 710071)

1 引言

计算机、互联网的高速发展使得数据传输的状态和质量成为了热点研究课题。其中,对数据传输质量影响较为严重的就是数据本身的质量[1]。数据清理是提高数据源质量的有效手段之一。在数据清理过程中,为了减少数据源内的冗余信息,相似重复的记录、检测和清理成为了关键部分。根据所记录的相似性检测结果,能够评测所传输的数据中是否含有重复记录[2-3]。为此,有相关学者提出了一些关于传输过程数据相似性检测的方法。

文献[4]中提出了一种基于MapReduce模型的大数据相似重复记录检测方法,首先提取能够转移的传输数据,并使用MapReduce模型对数据进行相似性分析,然后提取传输数据将其导入表信息内,结合模糊哈希算法对其进行相似性计算,完成对传输数据的相似性检测。但是该方法在将数据导入表信息内时,很容易受到噪声的影响,导致相似性检测结果不够精准。

文献[5]中提出了一种基于信息熵与模糊综合评判融合的相似数据检测方法,首先对比数据内每一种字段的相似度,然后对每一种字段赋予各部相同的权重,利用信息熵转换传输数据的损失函数与非极大值抑制函数,并简化网络传输架构,再将转换完成的传输数据输送至架构内进行迭代,并与与原始数据进行对比,完成传输数据的相似性检测。但是该方法需要对数据进行反复的迭代,导致检测数据召回率较高。

针对上述问题,提出了一种并行多路径传输过程数据相似性检测方法。

2 并行多路径传输过程数据相似性检测

2.1 位码的相似度架构

针对相似性检测问题,通过位码代替法来估算传输数据架构之间的相似度,这种方法凭借纯粹的架构差异[6]与标签序列差异来估算传输数据架构之间的相似度。

首先对传输数据的主干信息进行提取,其主干架构树如图1所示。其中,a代表所传输的数据集,b类代表数据子集,c类代表节点数据,d类代表子节点数据。

图1 所传输数据主干架构树结构图

相似度架构流程如下:

1)对深度优先遍历过程进行数值化操作。在提取传输数据主干架构树之后,对其进行深度优先遍历,对通过遍历的每一种节点的子节点数量进行编码,将传输数据主干架构表示为数值序列;

2)统一所有层次内最大子节点的数量,填充伪代码。为解决树内节点数量不等的问题,拟定一种伪节点方法:搜索树内每一层节点的最大子节点数量,将这种最大子节点数当做每一种节点的子节点数量,对不足节点进行补全填充[7]。填充伪码后的填充树如图2所示。

图2 主干架构树的填充树结构图

3)对填充术进行数值化处理后对其进行二进制化。通过伪节点填充操作将两种树之间含有的相等节点数量相互对比,其前提是数据集层数与架构是相等的。但是填充树的架构在进行数值编码为序列之后,会出现子节点的数值都是零的现象,并且叶节点的数量较多,序列内会产生大量的冗余信息,因此,需剔除每一种叶子节点的数值,则所传输的数值序列会通过上述过程简化为一下形式:

深度遍历主干架构树的遍历顺序是:a——b1,c1,c2——b2,c3,c4——b3,c5;主干架构树遍历之后的数值化顺序是:3,2,2,0,2,0,0,1,0;

利用二进制位码代替主干架构树,顺序是:111,110,110,000,110,000,000,100,000;

4)估算相似度。相似度架构估算含有架构相似度估算与语义相似度估算两种部分。

①架构相似度数值估算。对上述数值顺序进行估算或异,凭借统计XOR结构内的数量就可以获取填充树的架构差异程度数值。

②语义相似度数值估算。语义相似度是利用树内的几种标记来进行估算的,凭借深度优先遍历对树进行伪代码填充之后,获取标签的序列,然后按照顺序相应的找出不同的标签标记,然后估算获取语义相似度数值。

在所提的并行多路径传输过程数据相似性检测方法中,等同看待架构与语义的作用,因此可得到最终的相似度架构估算结果如下

(1)

式中,DSI为传输数据i与j的架构相似度值,DLi,j为传输数据i与j的语义相似度值,Nmax为树内节点的最大子节点数量,M为树的基本单元数量。

2.2 优化编译

传输数据的数据排版格式只会干扰到数据的可读性,因此,编译器会自动的忽略它们,注释在编译的预处理节点就会被剔除,因此修改注释与重新排版产生的噪声[8]会变成最容易且最早被剔除的对象,数据内的标识标记并不会对传输的运行效果产生任何干扰,因此能够忽略编译后的二进制数据内的标识符号,那么标识符号重新命名后存在的噪声也会被剔除。

优化编译过程使用控制流分析、依赖分析[9]与数据流分析技术,剔除公共子代表式,已达到减少估算的强度、优化数据传输中的跳转和循环的目的。优化编译过程能够把等价的程序逻辑代表方式转换成一种统一的形式,需使用代码冗余、代表式拆分或者等价控制架构转换手段修改数据编码,通过编译优化编译可使样本数据和初始数据生成的目标数据相同。

在优化编译时,须通过更换注释、重新排版、符重、标识重新命名、添加冗余的变量与语句、表达式的简易拆解与替换控制节点来等价控制架构[10]。源数据被转换成二进制目标数据后被剔除,但在改变数据码块和语句顺序时所带来的噪声还没有被剔除,改变语句的顺序不仅仅是导致指令顺序的转变,导致偏移传输地址发生的转变,因此需要进一步过滤噪声。

2.2.1 反汇编

上述经过优化编译过程产生并传输存在关联行的二进制数据,通过反汇编工具把正在传输内的数据段转换成汇编数据,剔除和传输特征没有关联的信息。相较于二进制指令,汇编代码更为简单、便捷,并且每一种汇编指令都存在一定的语义。若运行逻辑不同的传输程序,其相应的反汇编数据也一定是不相同的。

2.2.2 过滤噪声

通过上述处理过程,传输数据被转换成汇编数据,而汇编数据内的传输偏移地址、函数地址、部分跳转指令与立即数都需要进行特殊的处理。

传输偏移地址是较为容易转换的[11],语句或是变量声明顺序转变能够导致数据偏移地址出现转变。

函数地址与偏移地址相同也是一种容易转变的地址。假如转变函数体的数据就能够导致函数的地址出现转变。因此,本研究统一利用FUNCTIDN来表示函数地址,同时屏蔽掉函数地址的差异。

立即数用以表示传输数据的常量。为了避免常量转换所产生的噪声干扰,本研究统一利用CONSTANT代替汇编数据内的立即数。

2.2.3 决策函数

源数据通过归一化处理后能够反射成汇编指令集合。假设P1与P2代替两种待检测的数据,F(P1)与F(P2)代表P1与P2归一化后的汇编指令集合,Sim(P1,P2)代表两种数据的相似度,首先建立决策函数如下所示

(2)

相似度Sim满足Sim(P1,P2)=1,并且Sim(P1,P2)=Sim(P2,P1)。凭借先验知识,该公式所估算出的结果比其它常见的关联系数估算过程有着更好的区分度。同时,使用式(2)另外的一种优点就是其估算的结构不会被指令的顺序所干扰,从而能够有效过滤掉数据块或是语句顺序转变所带来的噪声[12]。

因为归一化流程内已经基本的过滤了转变所带来的噪声,数据的相似度往往会达到一种比较高的峰值,相似和不相似数据之间的相似度会呈现出较为显著的差异。

2.2.4 传输数据的相似性检测

首先构建下三角矩阵,将传输数据之间的相似度对比转换为储存矩阵之间的相似度对比。

储存矩阵不仅含有传输数据的架构信息,矩阵的坐标还能够代表数据树的架构,同时也包含了传输数据的语义信息。矩阵内储存的数值就是数据树内节点的内容信息,内容信息代表了传输数据的语义。因此这种凭借矩阵存储的传输数据相似度就是包含语义相似度,同时还含有架构相似度。

储存矩阵间相似度估算过程如下

sim(x,y)=0.5×(seman(x,y)+strue(x,y))

(3)

式中,seman(x,y)为数据x与y的语义相似度,strue(x,y)为传输数据x与y的架构相似度。其中,语义相似度的估算过程如式(4)所示

(4)

式中,变量c为在矩阵内同一种坐标的相同标签数,M为填充树内的元素数量,也就是储存矩阵内的元素数量。

在此基础上,将储存矩阵进行转换,将其转换为一种数值化状态,转换过程如式(5)所示

(5)

为便于估算架构的相似度,将矩阵按照顺序将其表达为向量的形式。通过这个思路,将传输数据树表达成为n维的向量。由于是通过下三角矩阵的形式进行储存的,因此,矩阵相似度估算最终是依靠向量的相似度估算而得到的。在本文研究中,使用向量的相关系数方法对相似度进行估算。向量之间的关联系数表示传输数据之间的架构相似度,向量间关联系数计算过程如下所示

(6)

式中,n代表总数据量,i∈n。在此基础上,得到并行多路径传输过程数据相似性计算过程如下

(7)

3 仿真与结果分析

为验证所提的并行多路径传输过程数据相似性检测方法的应用效果,设计如下仿真,通过结果分析验证相似性检测过程的有效性。

仿真环境设置情况如下:Windows Server 2017, R2Intel(R) Xeon (TM) CPU E5-2650@2.30 GHz2.30GHzwith 32.0GB of RAM,利用MATLAB 2014a编程实现。

实验指标为:①数据召回率;②检测过程损耗;③相似性检测误差百分比。为进一步保证实验结果的可说明性,将文献[4]中基于MapReduce模型的大数据相似重复记录检测方法与文献[5]中基于信息熵与模糊综合评判融合的相似数据检测方法作为对照组,用以突出本文方法的应用性能。

首先测试不同检测方法的数据召回率。在数据相似性检测过程中,检测结果的质量可从数据召回率和检测精度两个角度进行评价。其中,数据召回率和检测精度成反比。以60min为测试时间,统计不同数据相似性检测方法的数据召回率,结果如图3所示。

图3 不同方法的检测数据召回率对比图

通过图3能够得知,随着检测时间的推移,不同方法的检测数据召回率也在不断变化,文献[5]方法的最大数据召回率为10.7%,文献[4]方法的最大数据召回率为9.1%,而本文方法的最大数据召回率为5.2%,且本文方法的数据召回率曲线大部分都位于两种对比方法的数据召回率曲线之下,说明本文方法的检测数据召回率较小。这是因为本文方法引入了决策函数,而传统方法是通过估算传输数据交集开销,只考虑了数据词频因素的干扰,降低了抽样估算的精度,致使召回率较大。

同样以60min为测试时间,统计不同数据相似性检测方法检测过程的损耗情况,结果如图4所示。

图4 不同方法的检测过程损耗对比图

通过图4可知,随着检测时间的推移,不同方法的检测过程损耗也在发生变化,文献[4]方法的最大损耗为70dB,文献[5]方法的最大损耗为64.2dB,而本文方法的最大损耗为58dB,说明本文方法检测过程的能量损耗较小。

为进一步验证本文方法的应用性能,计算不同方法的相似性检测误差百分比。测试数据集数量为500组,共进行10次测试,计算其均值,统计结果如表1所示。

表1 不同方法的相似性检测误差百分比对比

通过表1能够看出,文献[4]方法的相似性检测误差百分比处于14-17%之间,平均值为15.3%;文献[5]方法的相似性检测误差百分比处于11-13%之间,平均值为12.2%;而本文方法的相似性检测误差百分比处于3-6%之间,平均值为4.5%。通过对比可知,本文方法的相似性检测误差较小,检测有效性更高。

4 结论

为提高网络的使用效率与吞吐量,提出一种并行多路径传输过程数据相似性检测方法,通过估算传输过程数据架构相似度、将数据转换为数值化状态、利用反汇编过滤汇编数据内的噪声、对比储存矩阵之间的相似度等过程实现对相似数据的检测。文章还通过仿真证明了该方法具有数据召回率、检测损耗和相似性检测误差较小的优点。

研究还发现,凭借优化编译过程剔除数值化后的公共子代表式能够减少后期检测估算的强度,有效减少检测误差。

猜你喜欢

相似性数值架构
体积占比不同的组合式石蜡相变传热数值模拟
隐喻相似性问题的探讨
数值大小比较“招招鲜”
舰船测风传感器安装位置数值仿真
铝合金加筋板焊接温度场和残余应力数值模拟
功能架构在电子电气架构开发中的应用和实践
构建富有活力和效率的社会治理架构
12个毫无违和感的奇妙动物组合
基于隐喻相似性研究[血]的惯用句
VIE:从何而来,去向何方