




已阅读5页,还剩46页未读, 继续免费阅读
(计算机软件与理论专业论文)基于symbian+os的p2p系统研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着中国3 g 牌照的下发,智能手机在中国越来越多。而近来大陆对w l f i 的解禁, 使在手机与互联网的关系越来越密切,手机与互联网有关的应用也越来越多。人们不满足 于现有手机的使用,追求高端智能机应用的需求越来越多:视频,音频,游戏等。而基于 智能手机的这些应用除了需要有无线网络带宽满足外,下载软件几乎是所有这些基于互联 网软件的手机应用重要纽带。 p 2 p 是对等互联网络技术的简称,当今流行的p 2 p 下载软件主要基于b i t t o r r e n t , e d o n k e y ,k a d e m l i a 等协议。基于b i t t o r r e n t 和e d o n k e y 协议的p 2 p 软件需要有服务器的 支持,而基于k a d e m l i a 协议的p 2 p 软件利用自身算法,解除了对服务器的依赖。 k a db o a 是文献【1 9 】提出的改进的k a d e m l i a 路由算法,该算法在k a d e m l i a 协议基础上, 采用动态路由表大小,增加物理临近路由表,使用并行递归查找并增加负载均衡措施。 s y m b i a no s 是塞班公司为手机而设计的操作系统,它独占式的执行于a r m 处理器 且是一个资源受限的操作系统。s y m b i a no s 提供的框架和在其上的$ 6 0 平台软件体系结 构决定了其开发困难和高代价,在其上的两阶段构造和活动对象是s y m b i a no s 中的重要 概念。 本文详细地研究了p 2 p 中的b i t t o r r e n t ,k a d e m l i a 协议及基于k a d e m l i a 协议的优化 算法k a db o a ,认真考查了s y m b i a no s 的无线网络软件开发方法,并在基于s y m b i a n o s 的智能手机中实现了基于b i t t o r r e n t ,k a d e m l i a 协议p 2 p 客户端软件m y s y m b t ,以及 在m y s y m b t 应用了基于k a d e m l i a 协议的优化算法k a db o a 。k a db o a 协议加快了网 络资源的搜索速度,m y s y m b t 软件设计采用分层以及m v c 模式的设计思想,并使用结 合s y m b i a no s 中特有的活动对象、二阶段构造机制和设计模式中的单例模式与观察者模 式,使软件设计出来有更好的通用性和可扩展性。 关键词:p 2 p ;b i t t o r r e n t ;文件共享;s y m b i a m a b s t r a c t a sc h i n a t s3 gl i c e n s e si s s u e d , m o r ea n dm o r es m a r tp h o n e sw e r eu s e di nc h i n a r e c e n t l y c h i n a sp e r m i t t i n gw i f iu s e di np h o n em a k e st h ei n t e r n c ta n dt h em o b i l eg e t t i n gc l o s e r , a n d s m a r tp h o n e s si n t e r n e t - r e l a t e da p p l i c a t i o n sa r eg e tm o r ea n dm o r e p e o p l ea l en o ts a t i s f i e dw i t h t h ee x i s t i n gu s eo fm o b i l ep h o n e s ,p u r s u i to fh i g h - e n ds m a r tm a c h i n e s ,a n dd e m a n dm o r ea n d m o r eh i g ha n ds m a r ti m p l i c a t i o n s :v i d e o ,a u d i o ,g a m e s t h es m a r tp h o n eb a s e do nt h e s e a p p l i c a t i o n sn e e daw i r e l e s sn e t w o r ka n di t sh i g hb a n d w i d t h , t h ed o w n l o a d e ds o f t w a r ei sa l m o s ta k e yl i n kt ot h e s ei n t e r n e t - b a s e ds m a r tp h o n ea p p l i c a t i o ns o f t w a r e p 2 pi ss h o r tn a m ef o ri n t e m e tt e c h n o l o g i e sp e e rt op t o d a y sp o p u l a rp 2 pd o w n l o a d e d s o f t w a r ei sb a s e do nb i t t o r r e n t , e d o n k e y , k a d e m l i ao ro t h e rp r o t o c 0 1 p 2 ps o f t w a r eb a s e do n b i t t o r r e n ta n de d o n k e y sp r o t o c o lr e q u i r e ss e r v e rs u p p o r t , b u tk a d e r n l i ap r o t o c o lu s ei t so w n a l g o r i t h mi n s t e a dn e e do f as e r v e r s y m b i a no si st h ec o m p a n ys y m b i a n so p e r a t m gs y s t e md e s i g n e df o rm o b i l ep h o n e s ,i ti s e x c l u s i v e l yi nt h ei m p l e m e n t a t i o no ft h ea r mp r o c e s s o ra n di sar e s o u r o el i m i t e do p e r a t i n g s y s t e m s y m b i a no sp r o v i d e st h ef r a m e w o r ka n do nt h es 6 0p l a t f o r mi ni t ss o f t w a r ea r c h i t e c t u r e d e t e r m i n e st h ed i f f i c u l t ya n dh i g hc o s to fi t sd e v e l o p m e n t , t h et w os t a g e si ni t ss t r u c t u r ea n d a c t i v i t i e so f o b j e c t si sa l li m p o r t a n tc o n c e p ti ns y m b i a no s t h i sp a p e re x a m i n e dt h ep 2 po fb i t t o r r e n t , k a d e m l i ap r o t o c o la n da l lo p t i m i z a t i o n a l g o r i t h mb a s e do nk a d e m l i ap r o t o c o lk a db o a ,c a r e f u l l ye x a m i n et h es y m b i a no ss o f t w a r e d e v e l o p m e n tm e t h o d sf o rw i r e l e s sn e t w o r k sa n ds m a r tp h o n e sb a s e do ns y m b i a no st o i m p l e m e n tb a s e do nt h eb i t t o r r e n t , k a d e m l i ap 2 pp r o t o c o lc l i e n ts o f t w a r em y s y m b t , a n d m y s y m b ta p p l i c a t i o np r o t o c o lb a s e do nk a d e m l i aa l g o r i t h mk a d b o a k a d b o aa g r e e m e n t t os p e e du pt h en e t w o r kr e s o u r c 镐o ft h es e a r c hs p e e d , m y s y m b ts o f t w a r ed e s i g nu s i n g h i e r a r c h i c a la n dm v cd e s i g np a t t e r n s ,a n du s et h eu n i q u ec o m b i n a t i o no fs y m b i a no sa c t i v e o b j e c ti nt h em e c h a n i s m sa n dd e s i g np a t t e r n si nas i n g l ec a s eo f m o d e la n do b s e r v e rm o d e , 8 0t h a t s o f t w a r ed e s i g no u tb e t t e rv e r s a t i l i t ya n ds c a l a b i l i t y k e yw o r d s :p 2 p ;b i t t o r r e n t ;f i l e - s h a r i n g ;s y m b i a n ; 学位论文原创性声明与版权使用授权书 长沙理工大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研 究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集 体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已 在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:姚亮忠,日期:纠9 年,月少日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。 本人授权长沙理工大学可以将本学位论文的全部或部分内容编入有关数据库进行 检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时授权 中国科学技术信息研究所将本论文收录到中国学位论文全文数据库,并通过网 络向社会公众提供信息服务。 本学位论文属于 l 、保密口,在年解密后适用本授权书。 2 、不保密固。 ( 请在以上相应方框内打“ ) 作者签名:姚丧盘日期:爿啤j _ 月夕e t 作者签名:妣流感日期:纠啤期 导师签名: 呵p 日期弘伽年二月弓日 1 1 课题背景 第1 章绪论 随着当今手机终端特别是智能手机的大量普及,移动网络与人们生活关系越来 越密切,手机几乎已经成为大部分人生活中的一部分。可以说手机是一种新的媒 体,人们对与手机的使用也越来越不满足原来仅有的少量通话短信功能,各种基于 无线网络的应用应运而生。而随着3 g 牌照的下发和网络速度的提高,移动网络数 据下载开始越来越盛行。手机数据下载的方式不再是单一的h t t p 方式,开始向互 联网多种多样的下载方式看齐,其中主要的有w e b 、p 2 p 、p 2 s p 三种。随着手机 应用的增多,手机上的下载需求也越来越强烈。 互联网中有三种传统主流数据下载方式:w 曲( h t t p ,f t p ) ,p 2 p ( p e e rt o p e e r ) 和p 2 s p ( p e e rt os e r v e r & p e e r ) 。w e b 是最先出现的下载形式,分为h t t p 和 f t p 两种。w e b 下载方式比较简单,到现在为止,很多都支持数据断点续传。但 是w e b 下载有它致命的瓶颈,当很多用户或者较多用户使用多线程共同下载同一 个资源时,中心服务器带宽将遇到瓶颈,影响到服务器的性能,这样下载速度将会 受到极大影响,甚至有可能引起服务器经受不起压力而出现当机。于是后来慢慢发 展出来p 2 p ( p e e rt op e e r ) 端到端,p 2 s p ( p e e rt os e r v e r & p e e r ) 端到端及端到服务器 整合等技术。而目前在手机上的下载方式只有h t t p 方式使用得比较多。随着科技 发展和无线网络速度的大幅度提高,在手机上的下载不仅仅只局限于h t t p ,需要 向p 2 p 等多种方式发展。 p 2 p ( p e e r - t o p e e r ) 俗称点对点技术【l 捌,依赖于网络中参与者的计算能力和 带宽,而不是把依赖都聚集在较少的几台服务器上。系统依存于非边缘化的设备, 每个成员直接从其它成员而不是服务器的参与中受益。这类网络可以用于多种用 途,各种文件共享软件已经得到了广泛的使用。p 2 p 网络是一种分布式系统结构, 这种结构具有较高扩展性。其对等概念是指逻辑上的地位,即网络中的节点在逻辑 上具有对等的地位,而不是光像处理能力、存储资源对等。p 2 p 网络的实质在于将 网络的管理改变,从集中式管理引向分散式管理,内容不再集中在中心服务器,而 是将内容分散到网络的边缘。这样就可以充分利用众多终端节点,这些节点所蕴含 的处理能力,以及它们的潜在资源。与传统的c s 客户端服务器模式相比,p 2 p 弱 化了服务器的概念,网络上的每个节点既可以请求服务,即充当客户端,也可以提 供服务,即充当服务器。这其中最大的特点就是网络中的每个节点之间直接共享资 源,而在共享资源需要一个核心技术,这就是定位机制,分布式对象的定位,就是 p 2 p 资源查找算法中最麻烦的一部分。解决了这个问题,也就是可以提高网络可扩 展性、提高网络带宽等一系列关键问题的【3 】。当今应用p 2 p 比较成熟的软件有 b i t c o m e t 。其基于杂p 2 p 技术,能够进行多点下载。而p 2 s p 这个名词是对w e b 技 术和p 2 p 技术的融合,这个技术有效地把原本孤立的中心服务器和其镜像资源、 以及网络中的p 2 p 资源全部整合在一起,实现多服务器,多客户端同时下载和加 速。迅雷就是使用这种技术的代表软件。 在当今数码市场中,在智能手机上流行的操作系统有s y m b i a n ,w i n d o w s m o b i l e ,l i n u x 和p a l mo s ,而在这个手机系统的阵营中s y m b i a no s 可以说是占据 了大半部分。s y m b i a no s 可以说是一款非常成熟,强大而且可靠的智能手机操作 系统。编写这个系统的主要语言是c + + ,部分使用了少量的汇编语言。它是一种 3 2 位的抢占式的多任务智能手机操作系统,运行的处理器主要是a r m 。如今这个 系统已经完全开源,吸引了更多的开发者与开发商加入阵营。s y m b i a no s 采用基 于静态优先级的机制,加上抢占式多任务调度机制,并且配合时间片轮转的方法, 构成简洁、高效的内核。s y m b i a no s 具有良好模块化的系统结构,为上层提供了 许多扩充空间,在这个基础上能够支持强大的通信功能,以及其它的比如娱乐、获 取信息等扩展功能。 当今互联网下载技术多种多样,在目前这样的有线带宽下载的发展已经比较 成熟,但是无线带宽在当今科技发展下,开始有了巨大的扩展,慢慢的能够和有线 相互比较相互补充。智能手机操作系统虽然不能与桌面操作系统相比,但是几乎已 经具备大多数p c 机中能实现功能。在这种情况下,p 2 p 在手机上的移植于应用时 迫切需要的。 1 2 研究目的及意义 p 2 p 系统从发展到现在,体系结构发生了巨大变化和反复,首先由集中式查询 到自由连接,然后再到结构化覆盖网。在开始的体系结构中,自由连接的随意耗将 会费大量的网络开销,因为它使得数据查询必须依靠广播来完成,而又使系统的可 扩展性受到巨大限制。因此近年来结构化覆盖网开始成为研究领域的热点。而在这 个领域中,最重要的是其上的分布式哈希表( d h t ) 算法,这个算法直接影响p 2 p 系 统的性能效率以及可扩展性。本文详细探究了b i t t o r r e n t 4 。,k a d e m l i a 协议【5 6 j 及基 于k a d e m l i a 协议的优化算法k a db o a t l 9 】,并实现了基于s y m b i a no s 的手机软件 m y s y m b t 。m y s y m b t 除了实现b i t t o r r e n t ,k a d e m l i a 协议外,还有 k a db o a ”】。基于k a d e m l i a 的改进模型优化算法k a db o a t 旧】,继承了k a d e m l i a 的优点,改进了k a d e m l i a 模型逻辑位置与实际物理位置相差很远而导致系统响应 时间长、降低网络速度的缺点。 移动终端现在已经有很多基于网络的应用程序,但大都是基于客户机服务器 模式的,直接p 2 p 端到端的应用在则少之又少。p 2 p 应用移植到移动手机终端,能 够加速智能手机终端丰富的应用,p 2 p 下载软件移植到手机终端,能够加速手机网 络信息的传播。基于以上的考虑,本文在s y m b i a no s 系统的基础上实现一个p 2 p 下载客户端m y s y m b t ,m y s y m b t 实现了b i t t o r r e n t 、k a d e m l i a 协议,并且应用了 基于k a d e m l i a 协议的改进模型k a db o a 。终端系统采用面向对象的思想和分层的 软件架构,在基于s y m b i a no s 之上的$ 6 0 框架上,实现完善的p 2 p 手机下载客户 端支持。m y s y m b t 终端可以应用于基于带w l a n 网络连接的装有s y m b i a no s 2 且装有$ 6 0 的手机或者基于这个框架的其它移动设备。该p 2 p 客户端软件的理论 和体系对于同种p 2 p 终端的实现都具有实际的参考价值。 1 3 国内外相关技术发展现状 1 3 1p 2 p 发展概况 p 2 p 依赖的是网络中参与者分别各自的计算能力和带宽,而不是依赖与聚集在 一起的少数的几台服务器上,是以一种平等的计算p e e r 的方式把这些计算机系统 连接起来【| 7 1 。p c 端实现p 2 p 下载的软件较多,其中发展到现在,比较常见的主流 的下载软件主要有b i t c o m e t ,a z u r e u $ ,t h u n d e r 等。移动设备客户端由于受限于 设备与以前的网络环境,不能够大量发展,除了普通的h t t p 下载方式以外,发展 到现在在手机上的p 2 p 下载软件主要有s y m t o r r e n t 和m o b t o r r e n t 。 纵观p 2 p 历史,可以把它分成三个阶段: 第一阶段:可以说是这个阶段是早期的p 2 p 网络,这是基于中央索引服务器 来进行定位和查询的,在这个阶段中代表性的软件是n a p s t e r ,在这个阶段中,它 的目标是进行部署比较容易和非常快速,且具有极好的查询效率等优点,其路由跳 数为o ( 1 ) ,但是这种结构却存在服务器瓶颈,单点失效问题,可扩展性也很差。 现在还在大量使用的b i t t o r r e n t 协议与此类似。 第二阶段:也就是第二代p 2 p 系统,它去除了中央服务器,具有带便性的软 件是g n u t e l l a ,采用完全分布式的网络,改头换面用泛洪机制进行查询和定位,改 进了第一代网络中的单点失效问题。但是其泛洪机制也同样有自己的问题,造成了 网络流量失控,而且路由效率低以至于无法准确定位等缺点。 第三阶段:为了解决前面第一、二阶段中的p 2 p 系统出现的各种问题【8 ,】,第 三代p 2 p 系统采用基于分布式哈希表的分布式路由算法来进行查找和定位,分布 式哈希表全称为d i s t r i b u t e dh a s ht a b l e ( d h t ) ,其结构化的查询有效地减少了查询定 位时网络带宽的消耗【l o 】,加快了查询和定位速度。其路由效率虽然没有第一代 好,为0 0 0 9 n ) ,但是消除了第二代网络中的缺点。并且有负载均衡以及高可扩展 性等优点。而且其拓扑结构有意义,这个结构意味着第三代p 2 p 网络拓扑将被紧 紧的控制。比如:m e s h ,r i n g ,d d i m e n s i o nt o r u s ,k a r yt r e e 这些技术。使用d h t 技术,不但有较好的可伸缩性和查询效率【1 1 , 1 2 】,而且提供负载均衡和确定性的搜索 保证。但是这一代的网络也有它自身的缺点,其容错性和可扩展性不好,尤其是在 一些恶意攻击下。对于文件的查询,在这一代网络中,文件不是被随机存储的,而 是以特定的位置放置,这样的做法将使得连续的查询更加容易。在这样一个机制 中,它使用精确的定位算法和特殊的路由协议使得搜索效率提高0 3 , 1 4 j 。虽然支持精 确查询,但是不能支持模糊查询。在这一阶段中,覆盖网络的定位和路由机制多种 多样。最基本的有t a p e s t r y ,p a s t r y ,c a n ,c h o r d 等0 5 , 1 6 j 。而k a d e m l i a 是一种 通过分布式哈希表实现的协议算法,改进了其它基本的算法性能,在当今应用非常 广泛。k a d e m l i a 本身也是有缺点,基于k a d e m l i a 模型【l7 j 的网络逻辑位置与实际物 理位置可能会相差很远,导致系统响应时间长、降低网络速度的缺点 1 8 , 1 9 。在 3 k a d e m l i a 之后人们研究了很多算法来改进,最新接触的有k a db o a ,对k a d e m l i a 作了改进,使其网络逻辑位置与物理位置能够比较匹配。 1 3 2s y m bia no s 发展现状 s y m b i a n 2 0 1 ( 中文译音“塞班系统”) 由诺基亚、索尼爱立信、摩托罗拉、西门 子等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系 统,现已被n o k i a 全额收购。它主要的用途是高端智能手机,基本都使用面向对 象的思想,而其开发语言为c + + ,加上少部分的汇编代码。s y m b i a n 操作系统是一 个具有开放性并且最近成为开源的操作系统,有着极强极多的第三方软件的支持 性。不仅如此,它还支持j a v a t m 开发环境。由于在s y m b i a no s 上的软件普遍采 用目前应用最为普遍语言c + + 为首选语言,部分采用j a v a 进行开发【2 1 , 2 2 1 ,所以 s y m b i a n 第三方软件的开发技术较为简单,被大量的软件公司和个人开发者所掌 握,于是第三方软件的开发极为迅速。 s y m b i a no s 的前身是e p o c t 2 3 】,即e l e c t r o n i cp i e c eo fc h e e s e ,这就是它在设 计时所坚持的理念。1 9 9 9 年3 月s y m b i a n 推出5 0 操作系统,其内核主要集合了 手机网络,无线文字信息,电子邮件,名片薄等以及个人信息助理,同时还支持标 准网络页面的w a p 浏览器,配合j a v a 语言的支持,此时的s y m b i a n 可以运行小型 的j a v a 应用程序。s y m b i a n6 0 则在5 0 的基础上增加了g p r s 网络、w a p l 2 浏览 器以及蓝牙技术,用户可以运行第三方基于c + + 和j 2 m e 开发的程序。此后的升级 版s y m b i a n6 1 主要增加了对u s b 的支持。s y m b i a n7 0 则支持多模式( 例如飞行 模式) 和3 g 手机等【2 4 1 ,这样其它制造商就可以容易地向全世界推出运行基于所有 网络之上的s y m b i a no s 手机,而且可以在不对代码进行重大修改的情况下,使用 许多目前已有的软件应用。7 0 版本还包含了一些新的通讯、消息、联网和应用开 发技术,并且对一些与安全和认证相关的功能进行了改进。2 0 0 4 年2 月,s y m b i a n 发布了s y m b i a no s8 0 版本【2 5 1 。在该版本中,实时系统性能改善了很多,原有操 作系统的兼容能力提高了很多。此外,基于s y m b i a no s8 0 的软件工具上,远程 接入控制系统的很多功能改进了很多。2 0 0 5 年2 月, s y m b i a no s 推出一款新的 手机操作系统软件o sv 9 0 2 7 , 2 8 】,更高像素的数码相机和立体的三维游戏动画在这 个系统开始被支持。但是该操作系统软件有它的确点,它对运行环境要求较高。 2 0 0 6 年诺基亚推出了在采用最新s y m b i a no sv 9 1 操作系统基础之上,并基于 s e r i e s 6 03 r de d i t i o n 最新平台的一系列机型。从此,s y m b i a no s $ 6 0 机型开始进入 一个全新时代,这就是我们现在经常说的常称呼的$ 6 0 第三版。 目前s y m b i a n 公司推出s y m b i a nv 9 3 版本【2 6 1 。这个升级版操作系统提升了对 本地w i f i 的支持,并且支持u s b2 0 技术,其可以在没有主机的情况下,实现从 设备间的数据传送。同时在网络应用方面,不仅新增加了对h s d p a 技术的支持, 而且还首次加入了对u m a ( u n l i c e n s e dm o b i l ea c c e s s 无授权移动接入) v o l p 网络电 话功能的支持。对于3 g p pr 5 规范,系统有更好的兼容性。所有采用新版本的 s y m b i a n 系统,这些支持终端在网络功能及其应用方面来说几乎无可挑剔。此外, p u s ht ot a l k 一键通话和$ 6 0 第三版f p l 发布时新加入的j a v aj s r2 4 8 协议,同样 4 在新版本操作系统中被支持 2 9 , 3 0 。不仅如此,s y m b i a nv 9 3 操作系统还全面兼容 以前的版本s y m b i a n 操作系统,并改进了内存管理,提高了软件程序的响应速 度,加快了终端的开机运行速度等。国内几家主要的公司在对s y m b i a n 运用方面 有很多的实践,如东软集团、掌讯、迅彩科技等软件公司等。 1 4 本文主要研究内容与论文结构 本论文主要探究了b i t t o r r e n t ,k a d e m l i a 协议及基于k a d e m l i a 协议的优化算法 k a db o a ,并实现了在s y m b i a no s 上基于这些协议的手机软件m y s y m b t 。基于 k a d e m l i a 的改进模型优化算法k a db o a ,继承了k a d e m l i a 的优点,改进了 k a d e m l i a 模型逻辑位置与实际物理位置相差很远而导致系统响应时间长、降低网 络速度的缺点。m y s y m b t 基于s y m b i a no s 操作系统环境,克服手机受限系统的 种种困难,利用现在s y m b i a no s 智能手机的强大功能以及在其上的$ 6 0 框架,实 现了p 2 p 的基本功能。 文章开始部分( 第一章) 介绍了p 2 p 与s y m b i a no s 的背景与发展概况【9 , 1 0 】, 然后( 第二章) 详细钻研了s y m b i a no s 及其上的$ 6 0 框架的相关技术,深究了 $ 6 0 框架中一些关于网络a p i 1 1 , 1 2 】,探讨了基于s y m b i a no s 的p 2 p 软件架构【1 3 ”j ,介绍了手机p 2 p 原理以及需要的开发工具。再从b i t t o r r e n t ,k a d e m l i a 协议及 基于k a d e m l i a 协议的优化算法k a db o a ,阐述基于s y m b i a no s 实现p 2 p 的功能 分析与概要设计,并详细分析了其中的协议与算法。( 第四章) 实现了基于 s y m b i a no s 的智能手机和$ 6 0 框架之上的p 2 p 客户端软件m y s y m b t ,详细分析 了其中每个功能模块及实现过程。( 第五章) 搭建了测试环境并对软件进行了测 试,实现了基本功能。最后对基于手机的p 2 p 软件进行了总结和展望。 5 第2 章基于s y m b i a no s 的p 2 p 相关技术介绍 2 1s y m b i a no s 体系结构及其a p i s y m b i a no s 是s y m b i a n 公司( 现已经被n o k i a 公司收购) 提供的手机开放工 业标准的操作系统。现在非常多的手机,特别是n o k i a 公司生产的手机很多都是基 于这个先进的操作系统之上,系统采用基于静态优先级的方式,以抢先式多任务的 系统机制且配合时间片轮转,组建成简捷、高效、模块化的内核与系统结构。 s y m b i a no s 对外提供了有弹性扩展空间,并且支持强大的网络、通信及多媒体等 使用和娱乐功能。s y m b i a no s 是真正的微内核操作系统,此系统只有非常小的一 部分是运行在系统级别这个最高优先级的,其他的功能都是以客户服务器模式( 即 c l i e n t - s e r v e r ) 的方式提供给其它程序使用。s y m b i a no s 是基于面向对象的设计和 编程的,比起其它系统,有很多自己的主要特点,比如高可靠性、支持多任务。不 仅如此,它还提供了多种通信协议,更重要的是,因为要求使用的是手机,具有很 强的实时性。在此系统上硬件配置充分考虑了现有无线信息设备的硬件选型和未来 需求f 3 1 】。 s y m b i a no s 的设计不仅为广大手机提供了非常广泛的通信功能,还提供了游 戏以支持及个人信息管理,对于广大移动工作者来说非常方便和使用。在这个受限 于电池电能的小型设备上,它包括多种关键功能设计。通过严格的电能管理来实现 电池性能的最优化。应用程序可在其之上平行设计和无缝工作。s y m b i a no s 以工 业标准为基础,对于应用程序与其它平台提供的解决方案能够实施互操作。不仅如 此,s y m b i a no 还有高度的模块架构、优化的内存管理和安全的通信机制,并且非 常容易实现本地化【3 2 , 3 3 】。 对于软件开发人员来说,s y m b i a no s 架构提供了许多的开发功能,为开发其 它功能的应用程序提供了良好的机会。如图2 1s y m b i a no s 结构图。 s v m b i a no su i k o ng u i 应用程序引擎iij a v ak v m 服务器 s v m b i a no s 基层( e u s e r d l l 、文件服务器、内核等) 图2 1 s y m b i a no s 结构图 6 s y m b i a no s 拥有一个系统内核、内存管理、文件服务器和设备驱动程序的对 系统来说最“基本 操作系统层。内核管理所做的工作是为内存分配系统资源,并 负责给每一个要运行于其上的应用程序和系统来分配时间块。这是以抢占式优先级 来分配的。设备驱动是系统为特定的硬件提供控制和接口的驱动,主要是为了连接 外设比如键盘、显示、红外线端口等。这个强大的系统层为智能移动终端上的高层 提供了强大的通信能力以及应用程序扩展,核心是完全面向对象的。并且对外支持 企业用标准通信传输协议、j a v a 语言、c + + 语言等。s y m b i a no s 不但为无线通讯 装置提供声音沟通的功能,同时还有有其它种的很多沟通方式,比如触笔、键盘 等。在硬件配备与设计上,它能够对外提供许多不同风格的造型,满足大多数人的 定制化。像使用真实或虚拟的键盘,并且在软件功能上许多功能可以定制,包括与 其他人分享信息、浏览w a p 网页、传输文件、接收电子信件、传真以及个人信息 管理等。 在u i 方面,s y m b i a no s 只定义了接口,但是并没有刻意去实现其功能。而 s y m b i a no s 由于其强大内核功能被众多其它手机厂商采用。由于在u i 上没有实 现,相当于把u i 的实现交给了其它的手机开发商。所以主要用s y m b i a no s 的 n o k i a 厂商在s y m b i a n 操作系统上实现了自己的u i 和许多基于其之上的额外的功 能,这就是n o k i a 的s e r i e s 6 0 系统。而索尼爱立信和摩托罗拉在s y m b i a no s 基础 上实现了各自的u i 系统,索尼爱立信的u i 系统被命名为u i q 。日本的一些手机 厂商在s y m b i a n 基础上实现了m o a p 系统。 s y m b i a no s 有它自己的特殊性,它提供了更好的内存防泄漏机制和更强大的 异常处理机制。和w i n d o wm o b i l e ,l i n u x 等使用较多的其他的移动设备操作系统 相比,s y m b i a no s 有自己独特的优势。比如更好的内存防漏机制,电源管理方式 的更快速处理等。众多优点使s y m b i a no s 在智能手机操作系统市场中占到绝大多 数市场份额【3 4 , 3 5 】。但是由于基于平台效率的一些考虑,因s y m b i a nc + + 主要运行在 内存受限的手机上,于是与标准c + + 之间并不完全一致。在其提供的s d k 中,有 两大类编译方法,一类是编译后运行于p c 机模拟器,另一类则是编译后运行于目 标设备,即针对手机设备而进行的编译。提供的这两类编译原理不同,所有并不一 定互相兼容。有时能够在p c 机模拟器上编译通过并且能够运行良好的程序,可能 在编译成为手机目标设备时的程序时就可能出错。这两类编译都有两种模式u d e b 和u r e l ,也就是d e b u g 模式和r e l e a s e 模式。s y m b i a n 上有一个c l i e n t s e r v e r 机制, 在s y m b i a n 上很多功能都是通过此机制实现的,这个机制为了实现共享资源和统 一管理等而又能够消耗较少的内存。在这个机制中,s e r v e r ( 即服务器线程) 是一 个运行在后台的线程,主要为其它线程或进程提供服务。c l i e n t ( 即客户端线程) , 是s e r v e r 端是不同的线程但是需要互相交换,他们之间通过消息互相通信。而在 系统中大多需要共享的硬件和其它资源等都是通过这种c l i e n t s e r v e r 机制实现的, 比如电话模块的使用,屏幕与声音输入输出等,还有文件系统的管理,图片服务的 提供等。 s y m b i a no s 为其上的开发提供许多服务器用于编程,如内核服务器、文件服 务器等。在这些提供的服务器上,有提供的很多基于每个服务器的多种a p i 用于 7 调用。我们在开发p 2 p 手机软件时,需要用到多个服务器中的多个类,相关的a p i 主要有内核服务器中的r t i m e r 、r t h r e a d 和r s e m a p h o r e 这三个类,分别提供异步时 问服务、线程访问和创建允许线程间的同步;文件服务器中的r f i l e 类提供文件创 建读写功能;套接字服务器中的r s o c k e t s e r v 、r s o c k e t 和r h o s t r e s o l v e r 这三个类 分别提供连接服务器、提供套接字连接和进行d n s 操作以及获取远程设备地址的 功能等。 在s y m b i a no s 之上编程,需要知道的最重要的两个概念是活动对象与两阶段 构造。和其它操作系统比较,一般操作系统实现多任务使用的往往是多线程实现, 但是虽然s y m b i a n 也同样是支持多线程的。但是由于内存的限制,且在同一个线 程中,运行的活动对象之间进行切换的代价需要越少越好,它比线程上下文的切换 代价低,所有这使得对于各种资源比较紧张的s y m b i a no s 来说,使用活动对象机 制更适合其它机制如事件驱动多任务。在s y m b i a n 中,它们所在的线程调度方式 是抢占式。每个活动对象几乎总是要使用二阶段构造方法,因为每个活动对象通常 都需要连接到它们所需要的异步服务提供器,而在这个连接过程中可能会遇到失 败。两阶段构造是指在编写一个类时候,将构造代码分为两部分,分别为一个基本 的不会发生异常退出的构造函数和一个可能发出异常退出的类方法( 通常称为 c o n s t r u c t l o ) 。这样的好处是在即使发生了异常的情况下,由于之前已经将对象 的指针压入了清除栈,清除栈可以调用类的析构函数来释放对所有已经成功分配的 资源,并回收分配给对象本身的内存。 2 2s e rio s6 0 开发平台 2 2 1s e rie s6 0 第三版介绍 n o k i a 的s e r i e s6 0 ( s 6 0 ) 系统【3 6 3 7 】是s y m b i a n 智能手机中应用最广泛应用的系统 版本,到目前s e r i e s6 0 主要有第二版( 2 n de d i t i o n ) 和第三版( 3 r de d i t i o n ) 这两个版 本。而第三版即s e r i e s6 03 r d 是在全球领先的新一代的智能手机软件平台,在这个 新的平台中加入了许多新功能,例如增强了多媒体应用功能、企业应用功能、可持 续发展的应用业务、客户定制能力越来越好,还有平台结构的不断改进。在此之外 第三版还增加了许多新的协议栈,例如在网络的支持上提供了对s o c k e t 等的支 持,在开发网络应用程序时,开发人员可利用第三版提供的a p i 开发一些需要网 络应用的程序。 s e r i e s6 0 是一个开发平台,主要在基于s y m b i a no s 的基础之上,进行智能手 机应用程序的开发,它拥有广大企业各个人的用户开发者。这个开发平台是一个完 整的智能手机电话开发,包括无线主机和个人信息管理的应用。这一平台建立在 s y m b i a no s 之上,加上一个可配置的图形化用户界面( g u i ) 库和一整套的参考应用 实现。s e r i e s6 0s d k 中提供了许多不同的a p i ,以及一套功能强大的组件,广泛 使用其上所提供的这些a p i ,将使第三方应用的开发和实践更加简单。开发伙伴们 重用这些a p i ,节省了很多时间。建立在s e r i e s6 0d e v e l o p e rp l a t f o m 上的智能手 8 机,市场上已流行有很多,除了诺基亚老大之外,其它很多厂商如西门子、松下、 三星等,以及s e n d o 这样的制造商同样支持s e r i e s6 0 。由于众多厂商的大力支持, 开发伙伴们制造出了大规模市场,并且吸引了其它的消费者厂商也致力于生产支持 s e r i e s6 0d e v e l o p e rp l a t f o r i l l 的各种手机和软件。多种多样的s e r i e s6 0s d k 让很多 开发者能够在不同的设备及网络间创建和共用的各种已有的与新开发的应用。合作 开发伙伴们用流行编程语言s y m b i a nc + + 和j a v am i d p 在一个基于开放架构 s y m b i a no s 上的操作环境中进行程序的编制。 2 2 2s e rio s6 0 平台开发架构 开发架构,就是所谓应用程序框架,指的是应用程序框架类的集合。在基于不 同的界面设置基础之上,应用程序可以具有一些不同的架构,但是在这些架构中, 每种架构都有它们中的一些公共的基础部分,这个基础称为“核心应用程序类”。 在所有的$ 6 0u i 应用程序中,它们都具有一些基本功能:首先是需要提供用户界 面,其次相对应与各种用户启动的时间,以及系统启动时间有很多的不同,保存应 用程序数据,以及恢复数据的差异,向框架提供很多有关于应用程序的信息:比如 描述信息等。在s 6 0 中将会分别提供以视图( v i e w ) 、文档( d o c u m e n t ) 、应用程 序( a p p l i c a t i o n ) 、应用程序u i ( a p p l i c a t i o nu i ) 这些类和这些基本功能相关的类 及其很多的服务器来供开发人员进行程序设计。这些提供的底层的框架类和服务就 是s e r i e s6 0 平台开发的基本架构。 s y m b i a n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农发行塔城地区沙湾县2025秋招笔试综合模拟题库及答案
- 农发行张家口市崇礼区2025秋招英文面试题库及高分回答
- 国家能源黄山市屯溪区2025秋招笔试思维策略题专练及答案
- 国家能源恩施岳麓区2025秋招笔试逻辑推理题专练及答案
- 国家能源济南市槐荫区2025秋招面试典型题目及答案
- 2025年上海歌剧院第二季度工作人员公开招聘模拟试卷及答案详解(考点梳理)
- 冬季校园安全演讲稿15篇
- 国家能源怒江自治州2025秋招机械工程类面试追问及参考回答
- 西宁市中石油2025秋招面试半结构化模拟题及答案炼油设备技术岗
- 2025年芜湖繁昌区教育高层次人才招引25人模拟试卷及一套完整答案详解
- 2025至2030年中国洗护用品行业市场行情监测及前景战略研判报告
- aeo认证管理制度
- 无人机操控与维护专业教学标准(中等职业教育)2025修订
- 食品新产品开发设计案例
- 干洗店用人合同协议书
- 2025年内蒙古鄂尔多斯市国源矿业开发有限责任公司招聘笔试参考题库含答案解析
- 应届生校招:管理培训生笔试试题及答案
- AI+汽车智能化系列之十一:以地平线为例探究第三方智驾供应商核心竞争力
- 新概念英语第二册课后答案全部超级详细的哦
- 院感知识培训资料课件
- 销售部门绩效考核管理办法
评论
0/150
提交评论