APP下载

基于目录哈希树的车联网数据同步传输方法仿真

2023-08-27严嘉正马占海薛晓慧

电子设计工程 2023年17期
关键词:路况哈希威胁

严嘉正,马占海,薛晓慧

(1.国网青海省电力公司信息通信公司,青海西宁 810008;2.国网青海省电力公司,青海西宁 810008)

车联网通常通过无线的方式进行数据传输,但是由于汽车的运行速度较快,导致数据传输出现了延时问题。因此,数据实时传输成为车联网的一个核心问题,而一个有效的路由协议就显得尤为重要。目前,国内外学者对车联网的路由算法进行了深入的研究。目前提出的基于5G 蜂窝网辅助的数据传输方法,利用5G 蜂窝网辅助技术,对车联网中的信息进行了分类。为了减少通信链路中断率,使用传输时延不灵敏的总线辅助路由算法,传输车联网数据[1];还有学者提出的基于线程池技术的数据传输方法,根据基于空间数据传输的系统工作流程,采用线性化的方法将其分为四个部分,并分别计算了线程池的数目、建立了相应的同步传输过程的逻辑顺序,通过使用空间数据加密的同步算法来实现网络优化,加快数据同步传输[2]。然而,在车联网中,当采用磁盘作为数据同步设备时,会出现数据同步传输时间长的问题[3]。针对这一问题,提出了基于目录哈希树的车联网数据同步传输方法仿真研究。

1 车联网数据监控平台自助分析监测

车联网数据监控平台自助分析监测,包括以下步骤:

步骤1:抽取车联网数据监控平台所提供的地图信息,主要包括社会和环境信息[4-5];

步骤2:对比车联网运行数据的时间特性与群体特性;

步骤3:设定条件,可自动搜寻满足要求的资料;

步骤4:根据分析的地区和数据特征,自动生成推荐报告。

为了决定同步发送的时间,必须进一步分析推荐报告的逻辑处理时间,处理逻辑时序图如图1所示。

图1 处理逻辑时序图

在数据同步时队列中会出现工作混乱的问题,从而造成了程序上的错误,这是由于主线程和工作线程在选择队列任务时会产生混乱。所以,利用关键区域技术,可以同时读取和写入两个线程的操作[6-7]。主线程必须时刻了解已知的任务进展情况,但若直接监控主线程,则一般会锁定主线程[8]。同时采用查询线程的方式,对其进行监测,并向主机反馈监测结果,以此保证同步传输效率。

2 数据同步传输仿真

2.1 构建目录哈希树

以上述监测的车联网数据监控平台自助分析结果为基础,构建数据同步传输的目录哈希树。因为子节点的哈希值需要利用父节点哈希值决定,所以结合深度遍历算法,依次遍历目录树,以此计算子节点的哈希值[9]。然后统计全部计算结果,再回溯到父节点,完成目录哈希树构建。具体步骤如下所示。

步骤1:指定一个目录的开始路径,初始化根的查询点,然后将其压入stack。此时的stack 是一个目录遍历辅助容器,通过该容器确定目录的开始路径[10];

步骤2:循环检查stack 的状态,如果stack 不是空的,则执行步骤3。如果stack 是空,则表示未发现任何可以进行哈希运算的节点,这表示哈希树已被构造。返回到目录哈希树的根位置,并从这个循环中退出[11];

步骤3:读取栈顶找点,当查询点的flag 值是0时,代表了该节点完成首次扫描。然后判断是否存在子节点,并计算哈希值[12]。此时,将flag 值更改为1,执行步骤4。如果节点的flag 值是1,说明这个节点已经进行了二次扫描,并且已经通过了一个目录,说明子节点寻找哈希值,继续执行步骤5;

步骤4:在指定的路径下遍历目录,若路径类型是档案形式,则停止遍历;若路径类型是目录形式,则依序初始化档案或目录父节点,并将节点依次压入stack 中[13];

步骤5:计算节点的哈希值,当一个节点是一个文件或者一个空文件夹时,依据其文件名称和上次的修改时间来计算哈希值,然后插入到哈希列表中。若N个资料夹为资料夹,则在查询点的哈希清单上按顺序合并清单中的散列值。通过运算产生的哈希拼接字串,获得寻点的哈希值[14]。当计算结束时,从stack 中删除错误的位置,由此构建一个完整的目录哈希树。

2.2 基于目录哈希树数据同步传输流程设计

目录哈希树控制结构造成客户端不能进行直接交互。因此,要实现分布式的目录同步,就必须在客户端和中央节点(云)间进行双向同步,即客户端将本地文件的更改定时与中央节点进行同步[15]。同时,分析了中心节点上其他客户端的同步改变,并在当地进行牵引,使其他客户端的目录拷贝同步[16]。图2 为基于目录哈希树的数据同步传输流程。

图2 基于目录哈希树的数据同步传输流程

根据图2 所示的同步传输流程,设计了车辆道路切换、紧急路况两种情况下的数据同步传输方式。

2.2.1 车辆道路切换情况下的数据同步传输

在同一道路上,有不同方向的交通工具。在作决策时,交通节点和中继节点必须了解前方同一条道路上车辆的运行情况,而另一条道路上的交通流则会严重影响到其判断。所以,按照车辆的行进方向以及道路的不同,将同一道路、同一方向的转接位置作为一个节点,从而避免无关干扰,提高数据通信的可靠性。

车辆道路切换情况下的数据同步传输步骤为:

通信双方A 和B 通过某条线路获取密钥公用参数,则在所选路径上向通信方B 传输车联网数据,该过程需要进行同步数据传输加密处理:当通信一方接收到车联网数据后,根据随机数判断数据是否重放,如果是,则直接剔除,反之,则需通过对方公钥重新签名并核实。

通信方A 通过数据密钥加密传输车联网数据,并假设需要传输的数据包为m,该数据包经过加密处理后,得到的数据密文为:

式中,nk表示第k个需要加密的数据。

发送方将密文分解成i个子数据包,同时在数据包中添加相关参数,则:

式中,s表示会话序号;r表示块表示;ti表示时间戳。通信方B 接收的车联网数据流程:根据会话序号认证空间数据,通过认证结果根据块标识,对数据包进行解码处理,并恢复成明文数据包状态,实现车辆道路切换情况下的数据同步传输。

2.2.2 紧急路况情况下的数据同步传输

在车辆行驶过程中,容易出现车辆突然发生故障、事故等特殊情况的问题,基于此,设计的紧急路况下的数据同步传输步骤如下。

为了抑制车联网数据传输受到威胁,需识别威胁目标等级。如果使用xi表示威胁目标,那么当j个目标同时发起攻击时,需要根据选定的参数属性,使用量化函数手段,将威胁目标进行规格化处理,并将其转换为量化矩阵形式。

假设任意目标针对不同威胁等级对应隶属度矩阵,将威胁级别隶属度作为权重,能够求取威胁目标和等级之间的差别,使用加权欧氏距离,可表示为:

式中,vih表示威胁目标xi的h级别隶属度;qjh表示属性j隶属威胁h级别的规范函数;wj表示属性j的权重。

按照最小二乘法原则,式(3)的计算结果是最小的,为了获取最佳隶属度矩阵和规范矩阵,构建威胁目标识别模型,如式(4)所示:

通过式(4)可以快速判断威胁数据的相关特性,进而实现威胁数据的精准识别。

3 仿真测试

3.1 仿真界面

为了验证基于目录哈希树的车联网数据同步传输方法仿真的实用性,通过KDD-CUP99 威胁测试数据源,利用Matlab 仿真工具,在XP 操作系统中,使用2.6 GHz 的处理器进行仿真操作。图3 为车联网数据传输异常检测界面。

图3 车联网数据传输异常检测界面

通过图3 确定威胁目标,并从KDD-CUP99 威胁测试数据源中任意抽取五个数据集进行仿真测试。

3.2 仿真结果与分析

仿真模拟双向道路交通路况、T 型道路交通路况和十字道路交通路况,在这三种路况下,分别使用基于5G 蜂窝网辅助的数据传输方法、基于线程池技术的数据传输方法和基于目录哈希树的传输方法,对比分析仿真结果。

3.2.1 双向道路交通路况模拟

在双向道路交通模拟路况下,三种方法的数据传输时间如表1 所示。

表1 双向道路交通路况下三种方法数据传输时间

由表1 可知,使用基于5G 蜂窝网辅助的数据传输方法和基于线程池技术的数据传输方法,均比基于目录哈希树的传输方法所耗费时间要长,最大时间差分别为2.98×10-3s 和7.23×10-3s。

3.2.2 T型道路交通路况模拟

在T 型道路交通模拟路况下,三种方法的数据传输时间如表2 所示。

表2 T型道路交通路况下三种方法数据传输时间

由表2 可知,使用基于5G 蜂窝网辅助的数据传输方法和基于线程池技术的数据传输方法,均比基于目录哈希树的传输方法所耗费时间要长,最大时间差分别为16.35×10-3s 和13.90×10-3s。

3.2.3 十字道路交通路况模拟

在十字道路交通模拟路况下,三种方法的数据传输时间如表3 所示。

表3 十字道路交通路况下三种方法数据传输时间

由表3 可知,使用基于5G 蜂窝网辅助的数据传输方法和基于线程池技术的数据传输方法,均比基于目录哈希树的传输方法所耗费时间要长,最大时间差分别为6.72×10-3s 和3.98×10-3s。

通过上述分析结果可知,使用基于目录哈希树的传输方法,车联网数据同步传输时间较短。

4 结束语

为了提高车联网数据同步传输效率,提出了基于目录哈希树的车联网数据同步传输方法仿真,通过构建威胁目标识别模型,抑制车联网数据传输威胁。通过仿真实验,验证了该方法具有高效传输效果。同时,所提出的仿真方法也可用于其他分布式数据的同步、冲突检测。下一步研究将探讨在双向同步传输时增加备份的可行性,以减少对网络带宽的需求,并提高传输速度。

猜你喜欢

路况哈希威胁
高速公路路况信息系统
人类的威胁
受到威胁的生命
从路况报道看广播“类型化”新闻的要素构成
面对孩子的“威胁”,我们要会说“不”
基于OpenCV与均值哈希算法的人脸相似识别系统
基于维度分解的哈希多维快速流分类算法
高速公路实时路况分析系统方案
浅谈微信在路况信息发布中的应用
基于同态哈希函数的云数据完整性验证算法