摘要
针对WebGIS中利用组播跨网段传输文件需要网关开设IGMP协议的不足,提出了在网段里动态设置组播代理,利用TCP协议从服务器获取数据,在本网段里组播数据。为了提高服务器负载量和传输效率,采用完成端口管理客户端的SOCKET连接;使用线程池和内存池处理在线用户请求;在每个网段里构建对等网实行补包,以弥补组播丢包的不足。
In order to use multicast to transfer file crossovers network segments in WebGIS system,every gateway has to open IGMP protocol,which unavoidably leads to hidden security trouble such as network storm,With using TCP to transfer file,server has to send data to clients in turn,which decreases efficiency and engrosses more band width.To solve this problem,MAP(multicast agent protocol) was established to transfer data.The MAP dynamically selected one multicast agent in every subnet.When an agent received data from server via TCP protocol,it multicast files into local subnet without opening IGMP protocol.By this way multicast could play such advantages,without opening IGMP router protocol.The key steps are as follows:Firstly,every client joins the p2p network,and gets the newest resources from their friends to make resource simultaneously.In the next place,client looks up the multicast agent and takes part in the agent election.If wins,the agent connects the server to get the newest resource.And then,the server of WebGIS transfers the resource to multicast agent in turn by TCP protocol.The agent multicasts the resource in local segment.At last,if there is losing package,it will be compensated by the p2p network.Then the update task of all the clients is finished quickly.The load of the multicast was greater than common nodes.When agent finded that there was one client whose performance was better or quited the system normally, it demised the privilege of agent to more suitable node.The parameters of performance included the value of CPU,the size of memory and the available space of hard disk.When an agent quited abnormally,its connected nodes would receive the FD_CLOSE message,then these nodes would launch the campaign of multicast election in local segment.However,there was one special situation that agent and its connected nodes quited almost at the same time abnormally,if that happened,the campaign couldn't be executed.This problem can be solved in this way that every node who sent node to quit sended a message to search agent in p2p network.If failed,the node launches the campaign of multicast election activity.Due to multicast unreliability,some clients would lose the packet or quit abnormally or when it logined in the system the agent began to translate data.All of these situation would lead some clients to lack packets.Consequently in every subnet segment p2p nework was constructed to compensate packet,which lightened the burden of multicast proxy greatly.After logined in system,each client sent message to local segment by multicast to look up friend.When the clients in the same local segment received this message,they checked the number of their friend and then they would connect them if the number was less than three,otherwise reject this message.And this client only received three relative request.For this client,if the waiting time was out,it meaned that it was the first node in local segment,then it was the multicast agent.It should connect the WebGIS server immediately.In this way,the local p2p network was constructed.The shape of the network was hexagon.Every peer had three friends and there only was one supernode who managed the p2p network.Its task was to calculate information and update data and so on.Generally that was multicast.In order to increase the server's load and in time accept client's connection,completion port was used to manage socket connection between server and client.To improve the transfer efficiency,thread pool was adopted to response toclients' on-line request and memory pool was used to manage resource which was allocated to restore clients' information.We compare MAP with TCP by abundant and exact experiments.The results shows we find that there is a linear relation between the number of segment and the time of transfer in MAP protocol.It has nothing to do with the number of clients in subnet,which demonstrates that MAP exceeds TCP greatly.Additionally,metadata was used to converse among server、 multicast proxy andcommon clients,which can support to transfer files from broken dot.
出处
《遥感学报》
EI
CSCD
北大核心
2008年第1期70-76,共7页
NATIONAL REMOTE SENSING BULLETIN
基金
国家自然科学基金(编号:40501053)