论文部分内容阅读
随着中国3G牌照的下发,智能手机在中国越来越多。而近来大陆对WIFI的解禁,使在手机与互联网的关系越来越密切,手机与互联网有关的应用也越来越多。人们不满足于现有手机的使用,追求高端智能机应用的需求越来越多:视频,音频,游戏等。而基于智能手机的这些应用除了需要有无线网络带宽满足外,下载软件几乎是所有这些基于互联网软件的手机应用重要纽带。P2P是对等互联网络技术的简称,当今流行的P2P下载软件主要基于BitTorrent,eDonkey,Kademlia等协议。基于BitTorrent和eDonkey协议的P2P软件需要有服务器的支持,而基于Kademlia协议的P2P软件利用自身算法,解除了对服务器的依赖。Kad_BOA是文献[19]提出的改进的Kademlia路由算法,该算法在Kademlia协议基础上,采用动态路由表大小,增加物理临近路由表,使用并行递归查找并增加负载均衡措施。Symbian OS是塞班公司为手机而设计的操作系统,它独占式的执行于ARM处理器且是一个资源受限的操作系统。Symbian OS提供的框架和在其上的S60平台软件体系结构决定了其开发困难和高代价,在其上的两阶段构造和活动对象是Symbian OS中的重要概念。本文详细地研究了P2P中的BitTorrent,Kademlia协议及基于Kademlia协议的优化算法Kad_BOA,认真考查了Symbian OS的无线网络软件开发方法,并在基于Symbian OS的智能手机中实现了基于BitTorrent,Kademlia协议P2P客户端软件MySymBT,以及在MySymBT应用了基于Kademlia协议的优化算法Kad_BOA。Kad_BOA协议加快了网络资源的搜索速度,MySymBT软件设计采用分层以及MVC模式的设计思想,并使用结合Symbian OS中特有的活动对象、二阶段构造机制和设计模式中的单例模式与观察者模式,使软件设计出来有更好的通用性和可扩展性。