基于对等网络的多分辨率影像的网络传输模型

2011-01-31 08:22娄书荣孟令奎夏辉宇
测绘学报 2011年5期
关键词:分块客户端服务器

娄书荣,孟令奎,方 军,夏辉宇

武汉大学遥感信息工程学院,湖北武汉430079

随着遥感技术的飞速发展,遥感影像数据的分辨率不断提高,影像数据以几何级数速度增长,影像的数量达到TB级,甚至PB级。同时遥感影像的应用领域更加广泛,人们对各种分辨率的影像的需求也更加迫切,对影像数据的传输提出了更高的要求。目前的网络传输模型大多基于客户端/服务器结构,此模型在用户较少的情况下能满足用户的需要,但是随着用户数量的不断增长,服务器的性能和网络带宽容易成为系统的瓶颈。

当前影像网络传输共享的主流软件,如Google Earth和World Wind等,都是集中式的服务器/客户端架构。Google Earth通过服务器端的高性能硬件和强大的技术支持,实现了较好的影像传输性能。然而在客户端仍然有很大的可利用资源,以提高传输的性能。对等网络(P2P)技术可以充分利用客户端的资源和网络带宽,降低服务器的负载和软硬件性能需求,降低服务器性能需求。

目前,基于P2P的影像网络传输共享引起了诸多学者的关注。文献[1]讨论了空间影像数据网络共享的拓扑结构,并且提出影像瓦片标识方法和基于空间网格索引的影像瓦片定位方法。文献[2]设计一种混合式对等网络模型下的地形数据传输机制PeerVOLT,通过同组成员节点间交换地形数据和缓冲映射表共享地形数据,实现了以较小服务器代价进行大规模地形数据的传输。文献[3—4]提出P2P海量地形漫游瓦片调度算法,并对节点进行分组,考虑了节点间的物理网络关系,并采用随机的邻近节点选择策略。然而,当前基于P2P的影像传输的研究在两方面有待进一步优化,一是当前研究只是考虑节点间的物理网络关系或者只考虑节点的兴趣信息,没有根据空间影像的区域特性将两者有效结合;二是当前的临近节点选择方法,大多是基于随机选择的方式,缺少对较优邻近节点和节点间历史传输参数信息的考虑。

本文针对当前基于P2P影像传输的研究所存在的问题,结合空间影像数据空间区域分布和用户地域分布特征,针对位于同一地理区域的多个节点下载同一区域的影像数据的概率较大,同一用户对同一地理区域的影像多次浏览的概率较大的特点,提出一种基于P2P的多分辨率影像传输模型。在遥感影像分级分块的基础上,该模型通过构建基于兴趣区域分组的多追踪器覆盖网络,实现了基于兴趣区域和物理网络关系的节点分组加入算法和考虑节点间的差异性和下载效率历史信息的邻近节点选择算法。通过模拟试验证明了模型中邻近节点选择的逐渐优化性能,并开发了原型系统IMAGEP2P。测试表明系统运行稳定,能够满足用户的要求,并且在多用户并发访问时与传统的客户端/服务器的模式相比,该模型的服务器负载明显下降,多分辨影像数据的平均传输速率显著提高。

1 基于P2P的多分辨率影像数据的传输模型

P2P在多个领域的成功应用充分展示了它在数据传输共享应用中的优势,因此,可以将 P2P和空间影像数据结合起来建立传输模型,充分发挥各客户端的作用,减轻服务器负载,提高传输的效率。P2P文件传输中文件分块的数据普遍是无序下载的,一般类型的文件需要下载完所有的分块之后才能使用。但是,对于遥感影像来说,利用遥感影像分块方法分块之后,只要用户获得单块影像数据,在下载其他影像块的同时,便可以先对已经下载的影像块进行显示浏览,缩短了用户的等待时间。本文借鉴在文件共享领域应用成熟的Bit Torrent技术的追踪器机制[5],并对其模型进行扩展,在影像下载客户端与影像数据服务器之间建立多追踪器机制,形成一个完整的基于P2P的影像数据传输模型。

1.1 模型体系结构

基于P2P的多分辨率影像传输涉及影像数据的存储与管理、P2P节点的监控与调度、P2P节点的数据下载、用户的影像浏览显示和相关的安全与传输标准等功能,各个功能之间具有明显的层次关系,既相互独立又相互协同。影像的存储与管理为客户端的影像下载提供数据基础,P2P节点的监控与调度负责P2P节点下载服务器的影像数据以及P2P节点之间的影像互传,P2P节点的数据下载为上层用户的影像浏览显示提供数据,安全与传输标准涉及各个功能。

将传输模型划分为四层结构:数据服务器层、P2P追踪器层、P2P节点层和用户层,如图1所示,各层独立负责不同功能,下层为上层提供服务,每一层内的各个单元又相互协同。

图1 P2P影像传输模型体系结构Fig.1 Architecture of image network transmission model based on P2P

数据服务器层主要负责影像数据的多分辨率分层分块管理,为上层应用提供影像数据。P2P追踪器层主要负责监测P2P节点层的各个客户端的状态,记录下载信息,并合理调度P2P节点资源的有效利用,为上层应用提供服务,层内将各个P2P追踪器划分管理不同的地理空间区域,并相互协同。P2P节点主要负责影像数据的下载、缓存和相互共享,为用户层提供数据支持,层内各个P2P节点在本地开辟空间数据缓存区来存储接收的影像数据,为同层其他P2P节点提供影像数据下载源。用户层主要负责影像的浏览与显示。

1.2 网络模型

C/S模式有易于管理、安全的特点,但是服务器和网络负载过于集中,难以扩展。P2P模式把数据负载分布到多个节点,扩展性好,适应大量用户使用的需要,并且在文件共享领域具有较成熟的应用技术,文献[6]提出基于多追踪器集群的P2P网络模型,并设计了基于物理网络的邻近节点加入算法。本文针对影像数据本身具有的空间区域特点,设计了基于多追踪器机制的节点分组网络模型,如图2所示。

图2 基于P2P的影像传输网络模型Fig.2 P2P based network model for image transmission

基于多追踪器机制的节点分组网络模型是将模型中的所有追踪器组成一个超级网络,各个追踪器根据地理空间范围负责管理不同的影像区域,追踪器之间通过内部控制机制定期的交换负载信息和所记录节点的影像下载参数信息,并定期地对P2P节点所感兴趣的遥感影像区域范围进行评估,将其转移到空间区域相同的兴趣组中。在P2P节点加入的初始阶段,或者未知节点的兴趣范围,则将其加入到离自己物理网络最近的组中。

P2P追踪器动态跟踪监测系统的各个节点运行情况,调度请求数据的节点向正在运行并且拥有所需影像块的节点请求数据。当节点请求数据时,P2P追踪器预先选择临近并且最优的节点供其下载,并且记录各个节点已经下载的影像信息及节点总的下载量和上传量等相关信息。

2 模型实现机制与优化策略

在模型创建的过程中,涉及多个技术问题。影像数据的分级分块编码及查询方法,关系到影像块查找和传输的效率;节点的分组加入机制,可以缩短节点间物理网络距离,提高节点互传的效率;邻近节点选择算法,根据节点下载的历史信息选择交互较好的节点下载数据。本节分别对以上这些关系到数据传输效率的技术问题进行讨论。

2.1 影像数据的分级分块编码及查询

在日常生活中,人们查看影像地图时,习惯于首先查看地图的整体概略信息,然后找到感兴趣的区域,查看详细信息。因此,当客户端浏览影像的时候,开始时向节点传输较低分辨率的影像,以供其查看较大范围的概略信息,当选定感兴趣区域时,再向客户端传送相应区域的高分辨率影像。

影像分块和影像金字塔是影像数据管理的核心内容。一幅影像数据量太大,难以满足实时调度的要求,需将分幅的影像分块存放。同时,随着浏览比例尺缩小,需要看到更抽象的影像,如果直接从底层数据抽取,速度太慢。所以需要建立影像金字塔,可根据不同的显示情况调用不同金字塔层次上的数据。因此,遥感数据的存储应以原始图像为基础,建立多级图像金字塔,便于影像浏览与显示。

影像分块的大小会影响系统的有效性能,如果数据块太大,则可能导致读取过多的不在目标范围内的多余数据。如果数据块太小,减少了冗余数据,但却增加了存取操作的次数,不利于数据的存取。本文对影像金字塔的各层,采用2×2影像采样方法进行处理,得出上层影像数据。然后对每层进行分块,利用块状划分的方法将影像数据按照格网划分成影像小块,对于像素矩阵的边缘部分,像素矩阵的行列数大小小于分块尺寸大小的情况,采用ArcSDE中采用的边缘补零方法,将数据块大小分别分为64×64像素、128×128像素或者256×256像素进行试验。

影像块的空间编码是对分级后划分的影像块进行组织,是将二维的对象空间按照编码函数映射到一维空间的过程。本文采用“金字塔级别-行号-列号”的形式对影像块进行编码,如图3所示。

图3 影像分层组织及编码结构Fig.3 Hierarchical organization and coding structure of images

在进行空间查询时,根据空间查询范围QR和影像金字塔级别 PL,首先计算出所包含的影像编号,再根据原始影像的空间范围 ImageR、分块大小(TileWidth,Tile Hight)、当前影像层次的分辨率大小(TileR)(可以通过原始影像金字塔的分辨率和当前影像的金字塔级别计算得出)和当前影像所覆盖的查询范围 ImageQR,利用以下公式可以计算得出查询的本幅影像所包含的行列号范围(Rowmin,Rowmax,Colmin,Colmax)。

通过以上公式计算出的影像行列号可以唯一确定查询的影像块编码,使得系统可以根据用户浏览的坐标范围和影像金字塔的级别快速计算出用户想要下载的影像块信息。

2.2 模型的优化机制

2.2.1 节点的分组加入机制

目前的节点分组加入方法主要是针对普通文件的,例如文献[7—8]等通过分组,节点随机加入组中,文献[9]提出按兴趣进行分组,节点按兴趣加入不同的兴趣组。这些方法只是单独考虑节点的物理网络关系或者节点的兴趣信息,都在一定程度上提高节点间数据传输的效率。本文针对影像数据传输浏览的特点,将两者结合起来,提出既考虑节点的物理网络关系又考虑节点的兴趣区域信息的节点分组加入机制。

影像浏览节点加入时,首先希望加入物理网络上距离自己最近的追踪器组,提高与追踪器的交互效率的同时,寻找物理上相近的节点作为邻近节点下载数据。同时,用户浏览影像数据具有区域性特点,节点也希望与自己影像区域兴趣相同的节点成为一组,便于寻找和发现与自己交互较好的邻近节点,并保持长期的邻近关系。系统为每个追踪器分配一定的影像区域。

定义1:节点集 SU={U1,U2,U3,…,Un}。式中,Ui(1≤i≤n)为单个节点;追踪器集为S P= {P1,P2,P3,…,Pm}。式中,Pj(1≤j≤m)为单个追踪器。

定义2:Dist(Ui,Pj),节点Ui与追踪器 Pj的网络连接延迟时间。

定义3:节点Ui=〈ID,Phy N,IntN,Uneb〉。式中,ID为本节点唯一标识;Phy N标识该节点所属的物理网络追踪器 Px(1≤x≤m),IntN标识该节点所属的兴趣区域组追踪器 Py(1≤y≤m),Uneb为与本节点交互较好的前30个节点的集合。

新节点Uk加入算法描述如下:

第一步,测量各个Dist(Uk,Pi)(1≤i≤m);

第二步,求 min(Dist(Uk,Pi))的追踪器 Px,然后加入该组,将Uk的Phy N设置为Px;

第三步,通过多次下载,分析最近几次节点下载影像的兴趣区域,查找到该区域的追踪器编号 Py;

第四步,将Uk的IntN设置为 Py,供以后连接使用。

普通节点首次加入时,首先向所有的追踪器发送消息,测试自己与各个追踪器的延迟信息,并从中选择延迟最小的作为本节点的默认追踪器。如果节点是再次加入,则节点首先通知所有P2P追踪器当前节点在线,使其他节点能够向本节点请求缓存的影像数据。当节点离开时,通知所有P2P追踪器本节点即将离开,即通知追踪器本节点将暂时不能为其他节点提供数据上传服务。当节点在线时,如果节点与默认的P2P追踪器在一定时间内没有消息往来,则节点采用心跳机制测试自己的连接状态,并使得P2P追踪器能清楚地判断节点的在线状态,以防止由于节点的意外丢失,而没有及时改变节点的在线状态,当P2P追踪器发现节点未事先通知而离开时,则该P2P追踪器通知其他P2P追踪器该节点处于离线状态。

2.2.2 邻近节点选择算法

遥感影像数据具有空间区域特点和用户地域分布特点,位于同一地理区域的多个节点下载同区域的影像数据的概率较大,同时,节点感兴趣的遥感影像区域范围具有固定性特点。因此,节点选择邻近节点既要考虑节点的物理网络距离,同时又要考虑影像下载区域兴趣相同的节点,以保持长期的信息互换。节点请求影像时,P2P追踪器在同一兴趣区域组中选择邻近节点,并在这些节点中优先选择属于同一物理网络区域的节点。

节点在下载影像数据的同时,记录与邻近节点的交换参数信息,例如节点连接的延迟时间、数据传输的平均速度和节点的兴趣区域等信息,并对节点交互效率由高到低进行排序,更新该节点的Uneb集合信息。当节点再次请求数据时,将追踪器发来的邻近节点列表,与节点记录的Uneb集合进行对比,尽量选择历史记录参数较好的节点作为请求的目标节点,同时也选择部分新节点作为邻近节点,使得用户能够进一步查找与自己交互更好的节点。因此,节点在多次影像浏览以后,能够找到性能局部较优的节点作为邻近节点。

邻近节点的选择算法描述如下:

第一步,追踪器根据节点Uk请求的影像区域,查找当前在线的拥有该区域影像的多个节点{Uu,Uv,…,Uz},并优先选择与节点同属于Phy N的节点作为其邻近节点;

第二步,节点Uk收到追踪器的邻近节点列表后,首先与自己记录的传输历史较好的节点Uneb集合进行对比,优先选择Uneb中拥有的节点,并随机选取Uneb中没有的少数节点,组成邻近节点,请求数据;

第三步,请求完成,及时更新与各个邻近节点交互的参数信息,对邻近节点交互效率由高到低进行排序,更新本节点的 Uneb集合,供以后使用。

对于热点区域影像数据,尽量依据上述机制从邻近节点获取数据,并控制各节点的上载量,限制节点的上传连接数,避免由于上传数据而降低自身性能的问题。而对于没有或者较少有节点下载的影像区域,P2P追踪器首先调度负载较轻的数据服务器为节点提供下载,并且P2P追踪器优先选择整个系统中最少的影像块下载,而在系统中相对较多的影像块,放在后面下载,从而使影像块均匀的分布于系统中,降低影像块分布不均衡从而降低下载速度的风险。

3 模拟试验和系统原型测试分析

3.1 模拟试验

用模拟的方法对邻近节点选择算法进行测试,利用网络延迟矩阵文件meridian-matrix中的网络延迟信息,分别构建基于100个和500个节点作为兴趣组的覆盖网络。对系统多次运行时邻近节点选择的优化性能进行测试,对100次请求,每次请求选择5个邻近节点的情况进行测试,记录每次选择的各个邻近节点与本节点的网络延迟信息,求平均值,并对每十次请求再进行平均值计算,即对第1~10、第11~20、第21~30、…、第91~100次,各取十次的平均值,得出结果如图 4所示。

图4 节点多次请求时模型选择邻近节点的网络延迟趋势图Fig.4 Trend chart of network delay of adjacent nodes selected block when a node requests the data many times

从图4测试结果可以看出,开始时,追踪器选择的邻近节点对于节点来说大部分是没有交互记录的时候,会出现邻近节点性能不稳定的情况,但是,随着用户请求的次数增加,节点对邻近节点的经验信息将会发挥作用,邻近节点的选择性能将会变得越来越好。

3.2 原型系统测试与分析

利用VS2005(C#)语言,设计并开发了原型系统 IMA GEP2P,包括浏览客户端、P2P节点、P2P追踪器和数据服务器四个模块。以分辨率为0.2 m的DPGRID影像作为试验数据,对影像建立金字塔,然后对各分辨率的数据按256×256像素(大小为192 K)、128×128像素(大小为48 K)和64×64像素(大小为12 K)分块,试验对不同分块大小的影像分别进行测试。在同一局域网络内,一台计算机运行数据服务器、一台计算机运行P2P追踪器、另外五台计算机运行P2P节点。

试验分别利用客户端/服务器模式和 IMAGEP2P系统进行影像数据浏览。记录单个P2P客户端下载同一区域的2 000个影像块的平均耗费时间,然后取平均得出单个客户端单块下载时间,结果取10次试验的平均值。

基于客户端/服务器模式的影像下载方法,在同时下载的用户相对较少时,下载的速度比IMAGEP2P系统快,然而当同时下载用户较多时,下载的平均速度较慢,试验结果如图5所示,分别为256×256、128×128和64×64像素分块方法与传统的客户端/服务器方式的比较。

由图5可知,当同时请求的节点数较少时,基于IMAGEP2P的下载模式,P2P追踪器的处理时间降低了影像的平均传输效率,使得 IMAGEP2P模式影像块下载的平均速度较慢。当请求的节点较多时,请求节点的部分影像块可以通过在其他临近节点获得,而基于客户端/服务器的模式增加了服务器的响应和传输时间,使得IMAGEP2P模式下载的平均速度较快。例如,当分块大小为128×128像素(大小为48 K),四个节点同时请求同一区域数据时,IMAGEP2P模式的平均传输效率已经高于客户端/服务器模式了。因此,当大量的用户同时进行影像浏览时,基于IMAGEP2P的下载模式,影像块的传输效率远远高于传统的客户端/服务器模式。从服务器的负载角度来看,IMAGEP2P模式增加了P2P追踪器的处理和调度功能,增加了 P2P追踪器的负载,进而明显降低了数据服务器的数据传输量,很大程度上减轻了数据服务器的负载。

图5 不同模型单个影像块传输时间与传统客户端/服务器模式对比图Fig.5 Comparison chart of transmission time of a single image block traditional client/server mode for different models

随着系统的长时间稳定运行,对于影像浏览热点区域,浏览的用户越多,拥有该区域影像的节点相对也越多,使得该区域的影像下载速度较快。而对于较少有用户浏览的区域,影像下载较慢,但仍然能够满足浏览需求。当系统趋于稳定时,对于分辨率的较低的数据,由于下载的用户较多,各个节点下载的速度较快,而对于节点下载较少的高分辨率的影像块,拥有的该数据的节点数较少,使得下载速度相对较慢。

3.3 原型系统影像浏览

从低分辨率影像概略浏览到高分辨率的影像的详细显示结果如图6所示,分块大小为64×64 (12 K)像素,图6(a)为大范围较低分辨率的影像图,图6(b)为较小区域的中分辨率的影像图,图6(c)为小区域的较高分辨率的影像图,图6(d)为小区域的高分辨的影像图。

图6 多分辨率影像浏览图Fig.6 Multi-resolution image browsing map

4 结 论

主要讨论基于P2P的多分辨率影像数据的网络传输模型,对模型的体系结构、实现机制和优化策略进行详细的阐述,并设计原型系统IMAGEP2P。通过模拟和试验论证模型的可行性。试验结果证明邻近节点选择算法的可行,系统运行稳定,在多个用户并发请求影像时,与传统的基于客户端/服务器模型相比,IMAGEP2P显著地提高了影像传输的效率,很大程度上减轻了数据服务器的负载。在P2P影像系统中,影像数据的来源不再局限于服务器,非法的用户可以绕开服务器,直接向用户端发起连接,使得非法用户接入某一合法用户后,同样可以获得影像数据,如何保证影像数据的安全性将是进一步研究的内容。

[1] LIU Yi,GONG Jianya,WU Huayi.P2P Based Efficient On-Line SpatialImages Delivery[C]∥Geoinformatics 2007:GeospatialInformation Technology and Applications.Nanjing:SPIE,2007.

[2] YU Zhanwu,ZHENG Sheng,LI Zhongmin.A Large-scale Terrain Transmission Mechanism Based on Hybrid P2P[J]. Acta Geodaetica et Cartographica Sinica,2008,37(1): 243-250.(喻占武,郑胜,李忠民.一种混合式P2P下的大规模地形数据传输机制[J].测绘学报,2008,37(1): 243-250.)

[3] PAN Shaoming,YU Zhanwu,L I Rui.Tile Scheduling Algorithm Based on Active Cache in P2P Massive Terrain Navigation[J].Acta Geodaetica et Cartographica Sinica, 2009,38(3):236-249.(潘少明,喻占武,李锐.基于主动缓存的P2P海量地形漫游瓦片调度算法[J].测绘学报, 2009,38(3):236-249.)

[4] PAN Shaoming,YU Zhanwu,WAN G Hao.Massive Terrain Data Sharing in Pyramid Hierarchical Peer-to-Peer Networks[J]. Geomatics and Information Science of Wuhan University,2009,34(6):650-653.(潘少明,喻占武,王浩.基于节点分组的P2P海量地形数据共享机制[J].武汉大学学报:信息科学版,2009,34(6): 650-653.)

[5] COHEN B.Incentives Build Robustness in BitT orrent[C]∥Proceedings of the 1st Workshop on the Economics of Peerto-Peer Systems.Berkeley:[s.n.],2003.

[6] XIAO Bin,YU Jiadi,SHAO Zili,et al.Distributed Proximity-aware Peer Clustering in Bit Torrent-Like Peer-to-Peer Networks[C] ∥ Embedded and Ubiquitous Computing.Soul:Springer,2006:375-384.

[7] SAHOTA V,LI Maozhen,BAKER M.A Grouped P2P Network for Scalable Grid Information Services[J].Peerto-Peer Networking and Application,2009,2(1):3-12.

[8] MIZRAK A T,CHENG Yuchung,KUMAR V,et al. Structured Superpeers:Leveraging Heterogeneity to Provide Constant-time Lookup[C]∥Proceedings of the Third IEEE Workshop on InternetApplications. San Jose: IEEE,2003:1530-1354.

[9] SRIPANIDKULCHAI K,MA GGS B,ZHAN G Hui. Efficient Content Location Using Interest-based Locality in Peer-to-Peer Systems[C]∥Proceedings of IEEE INFOCOM 2003.[S.l.]:IEEE,2003:2166-2176.

[10] GUO Lei,CHEN Songqing,XIAO Zhen,et al.A Performance Study of Bit Torrent-like Peer-to-Peer Systems[J].IEEE Journal on Selected Areas in Communications,2007,25(1):155-169.

[11] LIU Weidong,PENG Dongsheng,LIN Chuang,et al. Enhancing Tit-for-tat for Incentive in Bit Torrent Networks[J].Peer-to-Peer Networking and Applications, 2009,3(1):27-35.

[12] CHAN H L,LAM T W,WONG P W H.Efficiency of Data Distribution in Bit Torrent-like Systems[C]∥Algorithmic Aspects in Information and Management. Portland:Springer,2008:378-388.

[13] KOMMAREDDY C,SHANKAR N,BHATTACHARJEE B.Finding Close Friends on the Internet[C]∥Proceedings of the Ninth International Conference on Network Protocols.Washington:IEEE,2001:301-309.

[14] GUO Lei,CHEN Songqing,XIAO Zhen,et al.Measurements, Analysis, and Modeling of Bit Torrent-like Systems[C]∥Proceedings of the 5th ACM SIGCOMM conferenceon InternetMeasurement. New Orleans: USENIX Association,2005:35-48.

猜你喜欢
分块客户端服务器
钢结构工程分块滑移安装施工方法探讨
分块矩阵在线性代数中的应用
通信控制服务器(CCS)维护终端的设计与实现
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
中国服务器市场份额出炉
得形忘意的服务器标准
反三角分块矩阵Drazin逆新的表示
计算机网络安全服务器入侵与防御