基于android的点对点(P2P)通信—开题报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
燕山大学
本科毕业设计(论文)开题报告
课题名称:基于Android的点对点通信
学院(系):里仁学院(电子工程系)
年级专业:09级电子信息工程
学生姓名:刘迎迎
指导教师:张涛
完成日期:2013年3月28日
一、综述本课题国内外研究动态,说明选题的依据和意义
Peer-to-Peer(P2P)网络毫无疑问是当今的热点技术主题。Napster和Gnutella的广泛使用证明了P2P应用的强大潜力。随着P2P网络技术的发展,利用P2P即时网络技术在通讯平台中的应用越来越广泛,P2P技术改变了传统的服务器客户端(C/S)的交流模式,使得利用网络开展即时通讯成为可能。利用P2P即时网络技术可以有效的减少通讯费用,且具有较高的传输效率,相比于传统的BBS、电子邮件等通讯方式,提高了用户之间的互动性。
国外开展P2P研究的学术团体主要包括P2P工作组(P2PWG)、全球网格论坛(Global Grid Forum,GGF)。P2P工作组成立的主要目的是希望加速P2P计算基础设施的建立和相应的标准化工作。P2PWG成立之后,对P2P计算中的术语进行了统一,也形成相关的草案,但是在标准化工作方面工作进展缓慢。目前P2PWG已经和GGF合并,由该论坛管理P2P计算相关的工作。GGF负责网格计算和P2P计算等相关的标准化工作。
从国外公司对P2P计算的支持力度来看,Microsoft公司、Sun公司和Intel公司投入较大。Microsoft公司成立了Pastry项目组,主要负责P2P 计算技术的研究和开发工作。目前Microsoft公司已经发布了基于Pastry 的软件包SimPastry/VisPastry。Rice大学也在Pastry的基础之上发布了FreePastry软件包。
在国内,Maze是北京大学网络实验室开发的一个中心控制与对等连接相融合的对等计算文件共享系统,在结构上类似Napster,对等计算搜索方法类似于Gnutella。网络上的一台计算机,不论是在内网还是外网,可以通过安装运行Maze的客户端软件自由加入和退出Maze系统。每个节点可以将自己的一个或多个目录下的文件共享给系统的其他成员,也可以分享其他成员的资源。Maze支持基于关键字的资源检索,也可以通过好友关系直接获得。
Granary是清华大学自主开发的对等计算存储服务系统。它以对象格式存储数据。另外,Granary设计了专门的结点信息收集算法PeerWindow的结构化覆盖网络路由协议Tourist。
AnySee是华中科大设计研发的视频直播系统。它采用了一对多的服务
模式,支持部分NAT和防火墙的穿越,提高了视频直播系统的可扩展性;同时,它利用近播原则、分域调度的思想,使用Landmark路标算法直接建树的方式构建应用层上的组播树,克服了ESM等一对多模式系统由联接图的构造和维护带来的负载影响。
Android是Google公司于2007年11月5日推出的手机操作系统,经过几年的发展,Android平台在智能移动领域已经占有不小的份额,由Google为首的40多家移动通信领域的领军企业组成开放手机联盟(OHA)。目前,国内外对在Android平台下开发应用程序的热情很高,开发Android 平台下的即时通信软件也层出不穷,其中涌现了许多有价值的开源社区以及一些第三方做的框架,例如:,Android Asmack等等,这对于完成Android平台下的即时通信软件有着阶段性的贡献,还有许许多多Android爱好者在一些论坛和博客中,例如最有名的CSDN,共同交流和完善中这个Android即时通信系统,给用户的体验也越来越好;这也吸引了越来越多的人投身到对Android软件开发的研究当中,因为它是开源的,因为它有许许多多的志同道合的人能够进行交流,并且从中获取经验和进步;深深地被吸引后,我也怀着对Android平台学习的热情,看中这个行业的发展,想在这个领域有所发展,于是我选择了开源项目比较丰富,对于个人来说实用性比较强的即时通信系统的研究,并想借用P2P技术实现数据网络通信系统软件的设计与测试;希望通过对此设计研究过后,能够完成对Android平台及P2P技术有个整体的学习和掌握,掌握开发Android程序的流程,Android平台下的程序设计模式以及对Android程序框架,内核有个基本认识,为以后更深入的研究打好基础。
我选择的设计项目是“基于Android的点到点通信”,基于p2p的即时聊天和文件传输软件的实现能够帮助我们了解基于p2p的软件的实现原理和过程,为我们以后开发一些大型的p2p的软件提供了技术上的保证。同时该软件能够用于局域网的通信和传输文件,具有一定的实际意义。我选择此课题的目的在于想充分运用自己学过的知识,和锻炼自己综合学习的能力,为以后做更深入的研究、发展和就业创造良好的条件。
二、研究的基本内容,拟解决的主要问题
在Android手机如此流行的潮流推动下,本课题主要介绍了实现一个
Android平台的通信系统的简易设计,系统主要是不借助第三方服务器,利用P2P方法基于数据网络的通信,实现客户端之间的通信功能,提供好友的实时状态,实现移动终端设备与PC端的互通,使用户可以通过手机移动终端的即时通信系统的客户端随时随地与他人进行即时消息通信。Android 是基于Linux操作系统和Java面向对象编程语言的智能手机操作系统平台;P2P是一种分布式网络,网络的参与者共享他们所共有的硬件资源(处理能力、储存能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能够被其他对等节点(Peer)直接访问而无需经过中间实体。
于是研究的基本内容包括:熟悉并掌握android开发的基本技能,能够运用Android SDK及其开发工具,在Eclipse集成开发环境中设计实现一个在Android平台下,不借助第三方服务器利用P2P方法的数据网络通信,至少可以实现用户之间文本的发送与接收。
拟解决的主要问题:(1)P2P系统与传统的C/S系统有着不同的拓扑结构,C/S系统拓扑结构多为集中式,而P2P系统则为分布式。P2P系统在构造过程中需要解决系统中所包含的大量结点如何命名、组织以及确定结点的加入/离开方式、出错恢复等问题。
(2)由于用户对网络的应用要求日趋多样化,设计中要考虑到系统的易扩展性问题。
(3)设计UDP包通过NAT网关过程中,由于本系统基于P2P网络,NAT 的存在主要给该系统带来了如下问题:①内网主机的IP地址是虚拟的,不能在In ternet上通信,因而内网主机对外网通常是不可见的。②即使内网主机的IP地址已知,NAT仍然阻止外网主机主动访问内网主机。③内网主机可以作为客户机访问外网,但不能作为服务器向外网提供服务。
(4)由于文件传输对可靠性、准确性要求较高,故要解决系统在文件传输模块的可靠性和准确性问题。
(5)UDP协议是一种不可靠的传输方式,它不能保证数据安全无误地到达对方。
三、研究步骤、方法及措施
1、文献研究:通过对参考文献的阅读与研究,熟悉P2P数据通信,掌握其基础原理和通信系统的工作原理。