庞志成
(西安交通大学城市学院计算机科学与信息管理系,西安 710018)
自组织网络与现在大部分网络不一样,由于现阶段网络是一种基于客户端-服务器模式下的网络,通过客户端发送请求,利用服务端接收反馈需求,其中各种网络设备在网络中具有特定角色,而自组织网络中的各种设备是对等的。在信息交互时,自组织网络既可以作为客户端,也可做服务端。无线自组织网络中的多跳跳值表示信息传递次数,无线传感器网络就是由部署在监测区域内大量传感器节点组成的,通过无线通信方式形成一个多跳自组织网络。可靠有效远距离多跳无线自组织网络数据分发机制是诸如城市交通信息采集、出行时间查询等多种传统网络数据传输系统应用的关键[1]。传统系统中的这种数据可通过无线网络之间的多跳无线通信来实现,虽然该系统操作起来较为简单,但在实际应用中会受到无线通信链路间断影响,导致数据传输延迟或丢包现象发生,从而严重影响数据分发质量。为了改善传统系统存在分发效果差的问题,提出了远距离多跳无线自组织网络数据分发控制系统。该系统能适应网络动态变化,实现数据可靠有效分发。
远距离多跳无线自组织网络数据分发系统是以分钟级数据的增长方式来保证系统实时性。系统数据传输采用的是消息队列机制,这种异步传输方式可通过重新传输、连续传输等方式,使数据传送过程具有鲁棒性。系统采用分层设计方法,使功能模块能够更好应对系统以外故障,进而增加系统运行稳定性[2]。
针对远距离多跳无线自组织网络数据分发控制系统总体结构的设计,提出了一个四层结构系统框架,如图1所示。
图1 系统总体框架
由图1可知:该系统是由数据层、处理层、传输层和应用层组成的。其中数据层可存储底层信息,利用数据库管理系统维护数据库的日常工作;处理层可完成底层数据与传输层数据之间的交换,采用java语言对数据处理层进行开发,从数据库中直接抽取数据,并对其进行集成、清洗等操作,将全部数据按照标准格式文件进行发布处理,系统实时工作特性是由这层定时任务工作机制来实现的;传输层可控制传输策略,管理传输过程;应用层可完成相应人机交互功能,开发数据客户端脚本,利用该脚本依据既定协议完成数据的传输[3]。
远距离多跳无线自组织网络数据分发控制系统架构主要是由数据管理平台、数据客户端组成的。其中数据管理平台可分为数据分发共享平台网站、云存储、种子资源服务器和跟踪服务器等组件[4]。具体硬件结构设计如图 2所示。
图2 数据分发控制硬件结构
由图2可知:数据分发控制平台主要负责管理用户数据信息和处理数据资源,以网络服务来提供数据资源信息查询和种子文件下载;种子资源服务器主要负责解析自动做种,为远距离多跳无线自组织网络数据分发控制系统提供数据资源;跟踪服务器可跟踪系统中所有参与的节点和数据状态,以便节点与节点之间能相互发现,并随时交换文件[5]。
1.1.1 数据分发控制平台
根据实际需要对源文件进行数据处理,使节点转变成新的文件存储到另一个指定位置当中。该平台的设计实现了数据的拷贝、复制、分流和过滤等功能。具体结构设计如图3所示。
图3 数据分发控制平台设计
由图3可知:数据分发控制平台是由后台任务流程调度管理实现的,创建全局资源数据库,在用户创建一个流程后会有数据库与目标文件,而每个目标文件会有不同字段个数与类型,全局资源类型创建为了方便建立了流程图服务机制[6]。
1.1.2 种子资源服务器
种子 (BT)是一种非常流行的下载方式,与以往HTTP和FTP下载不同,经过BT下载的文件,使用户和用户之间的传输速度更快、更方便,大大节省了服务器资源,适用于大文件,如电影、音乐传输等。一般在BT种子资源服务器中找到的是一个记录文件的信息[7]。
为了保障系统服务器设备的安全,需单独组网,与远距离多跳无线自组织网络隔离,通过防火墙等设备与远距离多跳无线自组织网络中的服务器进行部分数据交换,进而实现数据的分发。
1.1.3 跟踪服务器
采用FusionServer 2288H V5型号跟踪服务器,可广泛适用于网络虚拟化、大型数据库、大数据等负载。2288H V5型号服务器可配置2路英特尔扩展处理器、24条DDR4内存扩展插槽、31*2.5本地存储资源以及4/8/12/24/28个NVMe SSD硬盘,为管理软件降低运营成本、提升投资回报。针对跟踪服务器具体跟踪内容进行设计,如图4所示。
当网络管理员想要了解网络通行情况时,利用跟踪服务器的追踪功能,通过查询目标地之间所经常的网络节点,可计算通过各个节点所花费的时间,根据该时间有效控制数据分发情况[8]。
硬件结构中的跟踪服务器是系统控制数据分发的主要元件,针对该元件进行软件部分的设计。
1.2.1 软件设计流程
采用java语言进行开发,从数据库中随机抽取数据,对数据进行集成和清洗等预处理操作,并将数据转换为xml格式进行发布[9]。整个软件部分的工作特性是由定时任务工作机制来实现的,具体设计流程如图5所示。
图4 具体内容跟踪
图5 软件设计流程
远距离多跳无线自组织网络数据拥有者先启动任务,登录上述硬件结构中的数据分发控制平台,添加数据描述信息,并上传分发数据;利用云存储保存原始数据,并生成相应种子文件,发送做种命令到种子服务器;当种子资源服务器完成初始化做种行为后,为数据分发控制系统提供可下载数据资源。
1.2.2 基于连通度的数据分发控制
根据无线自组织网络采集的数据建立各个节点长度变化模型。当时间为t1时,节点以周期z相邻节点长度变化来预测[t1,t1+z]时间段内节点密度,以此获取连通度实时变化。根据节点密度预计网络连通度结果。估计数据沿着当前网络传输产生的延迟,依据当前路口到达目的地时,途径各个路段的传输延迟,计算数据分发最短路径,达到有效控制的目的。其中V为距离真实传输目的地最近的节点,具体计算过程如下所示:
1)无线自组织网络数据使用者应先注册用户名,登录数据管理平台系统。根据用户搜索的关键字、数据种类和数据信息,下载相应种子文件;
2)客户端打开种子文件,通过超文本传输协议连接追踪服务器,客户端向服务器发送标准get请求,由此获取peer列表;
3)客户端依次连接peer列表,通过节点之间信息的传递来实现数据分片的传送;
4)数据使用者向追踪服务器发送已经存在的分片信息,追踪者更新peer列表,完善各个peer列表分片信息。
如果数据客户端下载完数据后,马上离开对等计算机网络,那么会造成系统下载功能衰竭,利用数据分发控制系统进行尝试性疏通节点传输,种子服务器将平台长期运行的数据采取了强制分发机制,以此鼓励下载节点做种,可有效阻止系统功能衰竭。
在跟踪服务器中添加强制分发模块,根据用户万能钥匙值来统计用户数据传输总量、下载总量和被分发的数量。分发数据量较多的用户被赋予较高权限,而分发数据量较少的用户被赋予较低的权限,对于只享用而不分发的用户则直接踢出种子服务器。数据分发控制系统的设计不但提高了种子在系统的停留时间,还保证了数据分发控制系统的公平性。
远距离多跳无线自组织网络通过优先选取距离较远的节点作为数据包,可大大网络传输过程中出现的跳数,进而降低数据包分发时延,并减少网络中出现的冗余信息,有效提高数据分发控制效率。通过计算数据包传输距离,可获取接受节点信号强弱以及节点传送的位置信息。为此,使用距离设置转发时延协议,使接收节点分发时延与发送节点距离成反比。节点分发时延计算公式为:
公式 (1)中:MDT为节点最长等待时间;S为节点信号传输范围;X为数据发送节点与接收节点之间的距离,e为常数。在该协议下,随着节点密度增加,真正分发的节点数量也会随之增加,为了解决节点持续增加的问题,添加一个和节点密度成反比的转发概率,使分发节点数量保持恒定,由此实现无时延远距离多跳无线自组织网络数据分发控制系统的设计。
根据远距离多跳无线自组织网络数据分发控制系统总体结构,分别对系统硬件和软件部分进行设计。依据数据分发控制硬件结构,对数据分发控制平台、种子资源服务器和跟踪服务器进行分析。其中数据分发控制平台的设计为系统提供数据拷贝、复制、分流和过滤等功能;种子资源服务器使数据传输速度变快,减少了资源浪费现象的出现;跟踪服务器可查询目标地之间的网络节点,通过计算数据通过各个节点所花费的时间,实现数据分发的有效控制。对跟踪服务器软件部分展开研究,采用java语言进行开发,设计软件流程,采用连通度数据分发控制方案,保证了数据分发控制系统的公平性。为了降低数据包分发时延出现的次数,并减少网络中出现的冗余信息,使用距离设置转发时延协议,使接收节点分发时延与发送节点距离成反比。通过上述设计的系统,可实现无时延远距离多跳无线自组织网络数据分发控制。
采用Java语言实现远距离多跳无线自组织网络数据分发控制系统的设计,通过实验验证该系统的分发性能。实验环境设置包括6台相同配置的工作平台,具体参数设置如表1所示。
表1 实验参数设置
全千兆交换机在1台工作站上配置数据管理平台,包括共享分发控制平台、种子资源服务器和追踪服务器。在其余5台工作站上配置4台虚拟机,总共20台虚拟机作为下载节点,与种子资源服务器一起构成数据分发网络。
为了验证远距离多跳无线自组织网络数据分发控制系统设计的合理性,设计了3种情况。分别是1个种子、1 G分发数据,下载节点呈倍数增长;1个种子、40个下载节点;1个种子、1 G分发数据,下载节点增长缓慢。
2.2.1 情况1
1个种子、1G分发数据,下载节点呈倍数增长,分别采用传统系统与自组织网络控制系统分发的数据数量进行对比如图6所示。
图6 两种系统分发数据数量对比结果
由图6可知:当下载节点数量为2时,传统系统比自组织网络控制系统分发的数据多2 GB;当下载节点数量为4时,传统系统比自组织网络控制系统分发的数据多5 GB;当下载节点数量为6时,传统系统比自组织网络控制系统分发的数据多6 GB;当下载节点数量为8时,传统系统比自组织网络控制系统分发的数据多7 GB;当下载节点数量为8时,传统系统比自组织网络控制系统分发的数据多8 GB;当下载节点数量为10时,传统系统比自组织网络控制系统分发的数据多9 GB;当下载节点数量为12时,传统系统比自组织网络控制系统分发的数据多12 GB;当下载节点数量为14时,传统系统比自组织网络控制系统分发的数据多14 GB;当下载节点数量为16时,传统系统比自组织网络控制系统分发的数据多15 GB;当下载节点数量为18时,传统系统比自组织网络控制系统分发的数据多17 GB;当下载节点数量为20时,传统系统比自组织网络控制系统分发的数据多19 GB。由此可知,传统系统分发的数据随着下载节点数量的增加而增加,自组织网络系统分发的数据稳定在1~2 GB之间,大大缓解了数据传输压力。
2.2.2 情况2
1个种子、40个下载节点,分别采用传统系统与自组织网络控制系统分发的数据数量进行对比如图7所示。
图7 两种系统分发数据数量对比结果
由图7可知,传统系统受到长时延影响,导致分发控制效果较差,当下载节点数在4~40之间时,传统系统数据分发数量为31个,远远超过系统所能承受的范围,无法缓解数据传输压力;而自组织网络控制系统不会受到长时延的影响,当下载节点数在0~4之间时,自组织网络控制系统数据分发数量为9个,有效缓解数据传输压力。
2.2.3 情况3
1个种子、1 G分发数据,下载节点增长缓慢。分别采用传统系统与自组织网络控制系统分发的数据数量进行对比如图8所示。
图8 两种系统分发数据数量对比结果
由图8可知:当下载节点数量为1时,传统系统比自组织网络控制系统分发的数据基本一致;当下载节点数量为2时,传统系统比自组织网络控制系统分发的数据多1 GB;当下载节点数量为3时,传统系统比自组织网络控制系统分发的数据多2 GB;当下载节点数量为4时,传统系统比自组织网络控制系统分发的数据多5 GB;当下载节点数量为5时,传统系统比自组织网络控制系统分发的数据多5 GB;当下载节点数量为6时,传统系统比自组织网络控制系统分发的数据多8 GB;当下载节点数量为7时,传统系统比自组织网络控制系统分发的数据多9 GB;当下载节点数量为8时,传统系统比自组织网络控制系统分发的数据多11 GB;当下载节点数量为9时,传统系统比自组织网络控制系统分发的数据多12 GB;当下载节点数量为10时,传统系统比自组织网络控制系统分发的数据多13 GB。与情况1对比结果一致,自组织网络控制系统可缓解数据传输压力。
在情况1中,传统系统比自组织网络控制系统分发的数据最多为19 GB;在情况2中,传统系统比自组织网络控制系统分发的数据最多为22 GB;在情况3中,传统系统比自组织网络控制系统分发的数据最多为13 GB。自组织网络控制系统不会受到长时延的影响,可缓解数据传输压力。
自组织网络控制系统使用距离设置转发时延协议,使接收节点分发时延与发送节点距离成反比,有效减少了长时延问题出现的次数,能够缓解数据传输压力,达到高效数据分发控制的目的。该系统能够上传数据并自动做种,可支持对用户的直接访问与控制,通过实验验证了自组织网络控制系统具有良好分发性能,能够满足远距离多跳无线自组织网络数据分发控制需求。在未来研究工作中,采用自组织网络数据分发控制系统能够为海量网络数据分发提供良好支持,并可作为主要分发机制,应用到电力集团所负责的某种信息系统中,进一步提高控制大规模网络数据分发控制系统的性能,为我国航天系统、军舰系统提供有效帮助。