(计算机软件与理论专业论文)基于p2p的协同办公系统的设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于p2p的协同办公系统的设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于p2p的协同办公系统的设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于p2p的协同办公系统的设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于p2p的协同办公系统的设计与实现.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机软件与理论专业论文)基于p2p的协同办公系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着信息化技术的快速发展,越来越多的企业开始建立基于局域网环境的办 公平台。但是长期以来,企业内部信息系统各自为政,无法互通互联,形成信息 孤岛,从而难以实现有效的互动。目前,协同软件提供了解决该问题的最有效途 径。同时,p 2 p 技术的发展逐渐改变以往人们交流的方式。将p 2 p 技术带入网络 世界的个著名例子是n a p s t e r 。另外,用户带宽和计算机能力的提高,使p 2 p 技术得到了更充分的发挥,p 2 p 技术以其不可取代的优势迅速进入大量应用领 域。因此,基于p 2 p 模式的协同办公系统具有一定的研究和应用价值。 协同办公系统主要是面向企业计算机网络规模在几十台到几百台,提供开 放、灵活、可靠的信息共享和沟通的平台,满足企业内部事务处理需要。使企业 信息管理和办公水平更加规范和快捷,从而提高工作效率。 本文首先介绍了办公自动化理论知识,提出了基于p 2 p 技术的协同办公系 统。详细的介绍了p 2 p 技术、网络编程技术。接着阐述了协同办公系统的架构 设计和主要功能概述,重点介绍了日程安排和短信发送两个模块的设计和开发过 程。在结束语部分,对研究中所做的工作进行了总结,并提出了需要进一步完成 的工作。希望能够促进第二代协同办公系统的完善,为以知识管理为核心的第三 代办公系统的发展奠定基础。 关键字:p 2 p 协同办公 网络技术o d b c a b s t r a c t w i t ht h ei n f o r m a t i o nt e c h n o l o g y sf a s td e v e l o p m e n t ,m o r ea n dm o r ee n t e r p r i s e s s t a r tt oe s t a b l i s hc o l l a b o r a t i o no f f i c ep l a t f o r mb a s e do nt h el o c a la r e an e t w o r k e n v i r o n m e n t b u t ,t h ei n f o r m a t i o ns y s t e m so fe n t e r p r i s ed ot h i n g si nt h e i ro w nw a y s , t h e yc a n tc o m m u n i c a t ew i t he a c ho t h e r , t h ei n f o r m a t i o nw a ss e p a r a t e d a tp r e s e n t , t h ec o l l a b o r a t i o ns o f t w a r ep r o v i d e st h eb e s tw a yt or e s o l v et h i sp r o b l e m m e a n w h i l e , t h ed e v e l o p m e n to fp 2 pt e c h n o l o g yg r a d u a l l yc h a n g et h ew a yo ft h ec o m m u n i c a t i o n o fp e o p l e o n eo ft h ef a m o u sc a s e sw h i c hb r i n gp 2 p t e c h n o l o g yt on e t w o r ki sn a p s t e r i na d d i t i o n , w i t ht h eu s e rb a n da n da b i l i t yo fc o m p u t e r i n c r e a s i n g ,p 2 pt e c h n o l o g yh a s s om a n ya d v a n t a g e st h a ti tc a r lb eu s e di nm a n ya r e a s t h e r e f o r ei t sv a l u a b l et os t u d y a n d a p p l yt h ec o l l a b o r a t i o no f f i c es y s t e mb a s e do hp 2 pp a t t e r n c o l l a b o r a t i o no f f i c es y s t e mm a i n l yf a c e st h ee n t e r p r i s e sc o m p u t e rn e t w o r ks c a l e i ns e v e r a ld o z e n st os e v e r a l h u n d r e d , i tp r o v i d e si n f o r m a t i o ns h a r i n g a n d c o m m u n i c a t i o no fp l a t f o r mw h i c hi so p e n , f l e x i b l ea n dr e l i a b l e ,i tc o u l dm e e tt h e e n t e r p r i s ei n t e r n a lm a t t e r sn e e d st ob ep r o c e s s e d i tw i l lc a u s et h ee n t e r p r i s ei n t e r n a l i n f o r m a t i o nm a n a g e m e n ta n dt h eo f f i c el e v e ls t a n d a r da n dp r o m p t ,a n de n h a n c et h e w o r k i n ge f f i c i e n c y s e c t i o nio ft h i sp a p e rp r o v i d e st h er e l a t e db a c k g r o u n di n f o r m a t i o no fa u t o m a t i c o f f i c es y s t e ma n dt h eo n eb a s e do fp 2 ra n ds e c t i o ni ig i v e sd e t a i li n t r o d u c t i o no f p 2 p t e c h n i q u ea n dn e tp r o g r a m m i n gs k i l l s t h e ni te l a b o r a t e st h es y s t e mc o n s t r u c t i o n d e s i g n i n go ft h ec o l l a b o r a t i o no f f i c es y s t e ma n do u t l i n e ,t h ei n t r o d u c e sw i t he m p h a s i s t h ed e v e l o p i n go ft h es c h e d u l eo r g a n i z a t i o na n dm e s s a g es e n d i n gm o d u l eo ft h e s y s t e m a tl a s t ,t h ea u t h o re x p e c t so ft h ep e r f e c t i o no ft h es e c o n dg e n e r a t i o no ft h e s y s t e ma n dt h ed e v e l o p m e n to ft h ek n o w l e d g eo r i e n t e do n e k e yw o r d s :p 2 p , c o l l a b o r a t i o no f f i c e ,n e tt e c h n o l o g y , o d b c 西北大学学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻 读学位期间论文工作的知识产权单位属于西北大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和电子版。本人允许论文被 查阅和借阅。学校可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学 位论文。同时,本人保证,毕业后结合学位论文研究课题再撰写的文 章一律注明作者单位为西北大学。 保密论文待解密后适用本声明。 学位论文作者签名: i 睦 整!指导教师签名: 如呵年1 月 日年月日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,本论文不包含其他人已经发表或撰写过的研究成果,也不包含 为获得西北大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 学位论文作者签名:;每砥 如唧年r 月 日 基于p 2 p 的协同办公系统的设计与实现 第一章引言 1 1 办公自动化系统概述 随着社会经济的发展,企业的壮大,企业日常事务处理日趋复杂,尤其是大 型企业,信息传递、处理的速度和效率将影响着企业的决策,办公效率低下将直 接制约着企业的发展。为了提高企业的办公效率,办公自动化应运而生。 办公自动化( o w l c ea u t o m a t i o n ,o a ) 是一项综合性的科学技术,它 涉及到技术科学、管理科学和行为科学,技术科学中包括计算机技术、通信技术、 系统工程和人机工程等,因此它是一门交叉性的综合科学。 关于办公自动化的定义,可以从几种不同的角度进行说明,以下列举出三种: ( 1 ) 利用先进的科学技术,不断地使人们的一部分办公业务物化于入以外 的各种现代化的办公设备中,以达到提高办公效率的目的。 ( 2 ) 所谓办公自动化就是把计算机技术、通信技术、系统科学及行为科学 等应用于传统的数据处理难以处理的、数量庞大且结构不明确的包括非数值型信 息处理的办公事务中。 ( 3 ) 借助于各种现代化的办公设备,并由这些设备和办公人员共同构成服 务于某种目标的人机信息系统。虽然这些定义的内容不尽相同,但他们具有某些 主要的共同点,即强调利用有关综合的科学技术,或现代化的办公设备;强调办 公人员和办公设备构成人机信息系统;目的是要提高办公效率,改进办公质量。 一般认为,比较权威的是美国麻省理工学院m c 季斯曼教授的定义:“办 公自动化就是将计算机技术、通信技术、系统科学、行为科学应用到传统的数据 处理技术难以处理得,量非常大而结构又不明确的那些业务上的一项综合技术”。 这个定义基本上涵盖了办公自动化所包含的本质,即它是以计算机技术为中心的 若干新技术在特定环境( 即特定对象办公业务,特定方向数据处理) 下 的运用。“量非常大而结构又不明确的那些业务”,包括了我们通常提到的办公活 动内容,这主要是指办公活动中需要处理的信息是变化不定的,人的思维也是变 化的,这就造成了办公业务具有很大的不确定性。对此,用传统的数据处理方法 很难进行处理,必须借助于一套新的基于软科学理论的综合方法和手段。 基于p 2 p 的协同办公系统的设计与实现 我国学者对于办公自动化的看法,倾向于认为;办公自动化是利用先进的 科学技术,不断使人的部分办公业务活动物化于人以外的各种设备中,并且由这 些设备与办公室工作人员构成服务于某种目标的人机处理信息系统。其目的是尽 可能的充分利用信息资源,提高生产效率、工作效率和质量,辅助决策,以求得 更好的经济效率和社会效益。 1 2 办公自动化的发展趋势 从办公自动化发展的过程和今后发展的趋势来看,办公自动化已经经历了 从第一代发展到目前的第二代,并且正在向着第三代发展,如图1 1 所示。 图1 1 办公自动化系统发展趋势图 从8 0 年代中期起步的第一代办公自动化系统以个人电脑、办公套件为主要 标志,实现了数据统计和文档写作电子化,完成了办公信息载体从原始纸介质方 式向电子比特方式的飞跃。最大特点是,应用基于文件系统或关系型数据库系统, 以结构化数据为存储和处理对象。强调对数据的计算和统计能力。其贡献在于把 1 1 r 技术引入办公领域,与纸质文件相比,提高了文件管理水平,但是缺乏对于 协作型工作的处理能力,而办公过程主要是群组协作过程,如收发文过程中的人 员协作办公。因此,第一代办公自动化系统的“自动化”程度是有限的。 从2 0 世纪9 0 年代中期开始,随着网络通讯技术的长足发展,办公自动化系 统发生了革命性演进,第二代办公自动化系统以网络技术和协同工作技术为主要 特征,实现了工作流程的自动化。这种方式彻底改变了早期办公自动化的不足之 处。 第三代办公自动化是以知识管理为核心的办公自动化系统。随着社会的进 2 基于p 2 p 的协同办公系统的设计与实现 步,办公过程将日趋知识化。以公文流转为例,第二代办公自动化实现了收发文 和档案管理一体化的自动处理:第三代办公自动化在此基础上更为文件处理的每 一个环节提供了该步骤所需要的相关知识,包括在线的专家、文件背景资料及企 业其他的有关信息,确保每一个使用者都能够随时、随地根据需要向专家学习、 向企业现有知识学习,使员工在办公自动化系统中的地位从被动向主动转变,从 而在提升每个员工创造能力的过程中,大大提高企业与机构的整体创新和应变能 力。现代办公的任务是提高整个企业的运作效率,进而提高企业的核心竞争力。 知识管理可以帮助企业解决知识共享和再利用的问题。知识管理是一个系统工 程,目标是帮助企业发现潜在知识、定位拥有专门知识的人、传递知识、和有效 利用知识。 且前的第二代办公自化系统在应用过程中还存在着不少问题,只有在解决现 有的问题基础之上,才能为办公自动化系统总体向第三代迈进打下坚实的基础。 另外,基于知识管理的办公自动化系统不仅仅是一个技术的问题,更重要的是企 业员工的整体观念的变更,这还有待于社会经济、文化的进一步向前迈进。 1 3 现有办公自动化系统的不足 目前,国内大多数企业都已经建立了各种各样的办公系统,但从应用现状以 及需求来看,还存在着一些问题,主要表现为以下三个方面: ( 1 ) 信息孤岛 办公系统的分散开发和引入,使信息被封存在不同的应用平台和数据库中, 定义和采集相互独立,从而形成了许多信息孤岛,大量有用的信息分散在各个“死 角”,不能被有效地利用和共享。而建立一个高效的办公自动化环境的首要条件 就是保证信息的畅通无阻和高效利用。 ( 2 ) 应用孤岛 目前,大部分办公自动化系统难以与企业其它业务系统紧密集成,使得企业 内部各业务系统相互独立、数据不一致,信息共享程度不高、管理分散,工具落 后、管理维护工作量大,各部门各系统往往形成一个个“应用孤岛”,企业需要 花大量的人力、物力在不同的应用系统之间切换,以获取相应的信息进行分析, 造成资源浪费和重复劳动,企业的运作效率大大下降。 3 基于p 2 p 的协同办公系统的设计与实现 ( 3 ) 资源孤岛 企业内部各部门之间的协同,在这个新信息时代越发显现其重要性。企业必 须建立一个动态的、可控的、统一的、全面集成和协作化的信息应用环境,从而 使得企业内部资源( 管理者、员工) 能够在一个统一的平台上高度共享信息、协 同完成各种复杂的业务处理、形成知识积累的科学体系、共同面对市场环境的变 化。而现有的大部分办公自动化系统由于其体系架构相对陈旧,无法很好地建立 起这样一个协同运作的环境。 因此,现有系统已经不能完全满足企业日益增长的需求,企业迫切需要一个 可以实现整合内部资源的高效的信息系统,从而提升其管理水平,最终提高企业 的整体效率。 协同办公系统则可以有效地终结信息孤岛、应用孤岛、资源孤岛问题的出现。 1 4 基于p 2 p 的协同办公系统的提出 协同( c o l l a b o r a t i o n ) 是上个世纪9 0 年代末期兴起的管理思想。谈到协同,我 们自然会想起团结的力量,就像l i n u x 开发,本身就是一种典型的协同开发模式, 真正的协同应该能够产生巨大的效应。 同样办公事务的处理,也需要一个协同的过程。我们在处理各种办公事务的 时候,经常会用到四个方面的要素名片、日程、文档、通信。任何一件事情 都会涉及到以上两个甚至两个以上的应用模块。在这四个看似简单的应用里面, 它们互相之间会涉及到频繁应用操作的相互整合,也涉及到各种用户数据互相之 间的关联和一致性的处理。还会涉及到用户与用户之间,即人员之间的一种协作 和数据的交换。由此得知,办公事务的处理,协同是必不可少的。 传统的协同系统都是基于客户服务器架构的,通过一个功能强大的服务器 为组内成员提供协作。主要功能是为成员提供与当前工作相关的共享工作区,实 现文件与信息的共享。但是,这种体系结构很不灵活。协作用户越多,就需要功 能更强大的服务器,本质上是不可伸缩的。而且,这种协作应用一般都具有价格 昂贵、配置复杂、维护成本高等弱点。最致命的是一旦服务器发生故障,客户之 间就不能进行协作应用,因此基于客户服务器体系结构的系统可靠性不高。而 当前以p 2 p 技术和协同工作技术为主要特征的办公自动化系统,能够克服客户 4 基于p 2 p 的协同办公系统的设计与实现 服务器体系结构的上述弱点,在协同工作和资源全面共享方面表现出较强的优 势,体现了该领域的发展方向。 1 5 本文主要的工作和结构 本文共分为五章,首先对办公自动化进行概述,然后详细地介绍了基于p 2 p 的协同办公系统的设计与实现,讨论了系统实现过程中所用到的技术及两个具体 模块的实现,最后总结了本文的工作,并提出了进一步的工作。 论文结构如下: 第一章,主要介绍办公自动化系统的发展趋势,并针对当前的办公自动化系 统应用方面出现的问题,提出了基于p 2 p 技术的协同办公自动化系统。 第二章,主要介绍基于p 2 p 的协同办公自动化系统中运用到的关键技术, 包括p 2 p 技术、网络编程技术和数据库访问技术o d b c 。 第三章,系统的体系架构及满足系统需求的功能模块的分析与设计。 第四章,系统中的日程安排模块、手机短信发送模块的设计和实现。 第五章,结束语,总结本文所做工作。 基于p 2 p 的协同办公系统的设计与实现 第二章系统的相关技术与知识概述 办公自动化系统以行为科学为指导,以管理科学、系统工程学理论为基础, 结合运用现代计算机技术、自动化技术和通信技术。它是一个多学科互相交叉、 渗透的系统科学与工程,成为当代信息社会的重要标志之一。协同办公自动化系 统的实现主要使用以下关键技术:p 2 p 技术、网络编程技术、o d b c 技术。在本 章中,将重点对p 2 p 技术、网络编程技术和o d b c 技术进行介绍。 2 1p 2 p 技术的应用 2 1 1p 2 p 的研究背景 当前大多数的网络应用都是基于c s 或者b s 结构的。这样结构下的应用必 须在网络中设置一个服务器,信息先是集中上传到服务器保存,然后再分别下载。 该结构的明显特点是:内容中心化,系统必须有一个或若干服务器来提供服务, 大量客户频繁地访问,服务器将成为系统的瓶颈,固然硬件更新能够在一定程度 缓解这种矛盾,但不可能满足日益发展的实际需求。 p 2 p 可以理解为对等网络,其实p 2 p 也不是新概念,互联网最基本的协议 t c p i p 并没有客户端和服务器的概念,所有的设备都是通讯中平等的一端,只 是随后由于网络规模的扩大以及信息量的增加,出于一些管理和经营上的需要, 客户服务器模式才逐渐成为因特网上占统治地位的计算模型1 1 】。从这个意义上 看,p 2 p 实际上是一种“向传统的回归”,将互联网的存储模式由现在的“内容 位于中心”模式转变为“内容位于边缘”模式。 在一些人眼中,p 2 p 仅仅是一种局限于文件共享的应用,事实上,p 2 p 应该 被视为分布计算的一个子集,它成功地将许多被忽略的技术拉回到大家注视的焦 点,某些新技术与软件工程结合,形成了种将工作分散的趋势,p 2 p 计算正是 这种分散工作趋势的自然结果。而且,从工程的角度看来,在企业和科学研究应 用集成等因素的驱动下,过去十年渐渐形成一种从集中的单机系统转向分布式系 统的趋势。在集中式的应用中进行控制是相对容易的,这一点在一定程度上抑制 了分布式潮流的发展。然而随着互联网的发展,以及b 2 b 商务交易方式的日益 基于p 2 p 的协同办公系统的设计与实现 流行,全面的分布式计算也就成为一种商业需求。 2 1 2p 2 p 的定义 p 2 p ( p e e r t ol e e 0 是不同于c s 等传统模式的通信技术,它最大的特点是抛 开了应用服务器的束缚,用户之间可以直接通信、共享资源或协同工作。p 2 p 技 术起初的应用热点是类似于n a p s t e r 这样的m p 3 音乐站点,不过随着多方面的进 展,p 2 p 已经开始走向企业应用。 i n t e l 给出的p 2 p 定义是:通过在系统之间的直接交换实现计算资源和服务的 共享【2 1 。在这个定义中,所谓的资源和服务包括文件的信息、处理周期、高速存 储器和磁盘存储。 i b m 则给p 2 p 赋予更广阔的定义【3 1 ,把它看成是由若干互联协作的计算机构 成的系统,并具备如下若干特性:系统依存于边缘化( 非中央式服务器) 设备的主 动协作,每个成员直接从其他成员而不是从服务器的参与中受益;系统中成员同 时扮演服务器与客户端的角色:系统中的用户能够意识到彼此的存在,构成一个 虚拟或实际的群体。 还有这样一种解释1 4 1 ,“p 2 p 除了是一种技术,也是一种思想,有着改变整个 互联网基础的潜能思想”。p 2 p 中的p ,应该解释为p e o p l e ,它是无间隔的人与 人之间的交往。 总体来讲,p 2 p 计算系统是分布式的,有别于集中式的基于服务器的结构。 纯粹的p 2 p 计算系统不存在任何不可或缺的服务器( 但某些混合式p 2 p 系统存在 着中央服务器,比如n a p s t e r ) 。从传统的观点来看,p 2 p 计算系统中的实体一般 同时扮演两种角色:客户机和服务器。 2 1 3e s 结构与p 2 p 结构的比较 c s ( 客户端朋鼹务器) 结构是要在网络上设置拥有强大处理能力和大带宽的 高性能计算机,配合高档的服务器软件,再将大量的数据集中存放在上面,并且 要安装多样化的服务软件,在集中处理数据的同时可以对网上其他p c 进行服务, 提供或接收数据,提供处理能力及其他应用。对于一台与服务器联机并接受服务 的p c 机来说,这台p c 机就是客户机,其性能可以相对弱小。c s 结构造成网 7 基于p 2 p 的协同办公系统的设计与实现 络的集中,无论是信息资源还是成本资源均向同一方向集中,这样的模式符合一 对多、强对弱的社会关系形式。c l s 结构如图2 1 所示。 图2 1c s 结构 在2 0 世纪9 0 年代,c s 结构流行到了极点,但是p 2 p 结构对c s 结构提出 了挑战,p 2 p 结构如图2 2 所示。 图2 2p 2 p 结构 “资源在哪里创建,就到哪里访问”的愿望促进了网络进入分布式计算阶 段。分布式网络计算正处于发展阶段,它是把各种自治资源和系统组合起来,以 实现资源共享、协同工作和联合计算,为各种用户提供基于网络的各类综合性服 务。 例如,1 0 0 万人要同时访问一个站点,是不是意味着必须构建一个高配置 的服务器来满足所有人的需求? p 2 p 计算模型的答案是否定的,在p 2 p 结构中可 s 基于p 2 p 的协同办公系统的设计与实现 以将此站点资源分解到1 0 0 万台p c 上,通过i n t c r n e t 上的协作来进行。这一答 案隐含着两个显著的改变;搜索( 即发现) 分布在网络上进行,内容驻留在边缘 ( 而非中心服务器) 。可以说,随着网络技术尤其是宽带技术的发展和普及,传 输渠道逐渐不再成为信息传递的瓶颈,个人电脑软硬件技术的突飞猛进更使得计 算能力得到空前的提高,在这种环境下,p 2 p 应用技术得到充分的发展完全是顺 理成章的。 通过对现有p 2 p 系统研究,可以总结得出p 2 p 结构具有以下几个特点: ( 1 ) 弱化了服务器,甚至取消服务器。任意两个p e e r 互为服务器,同时又 是客户机,即它们是对等的关系。基于p 2 p 的结构与基于c s 的结构相比,它最 大的优势是降低了对服务器的依赖。一些p 2 p 结构甚至不需要服务器,用户可以 不经过服务器和其他用户进行连接。用户在p 2 p 结构下有着比传统的c s 结构更 多的主动性。 ( 2 ) 可扩展性好。对等网络的规模随着节点数量的增加而增长,新节点的 加入会给系统增加新的资源,这种可扩展性几乎是无限的,理论上限是现有的 i n t e r a c t 的规模。 ( 3 ) 完全对称。在对等网络中,所有的节点都是对称的,完成完全相同的 功能,这也是对等网络名称的由来。c s 结构具有较好的商业市场用途,而p 2 p 结构具有更好的信息资源共享、分布处理。两者的具体参数见表2 1 表2 1p 2 p 结构与c s 结构的比较 比较参数 p 2 pc s 数据发布好差 数据接收 由 好 数据互动性好差 数据及时性好差 数据安全性差好 数据更新好差 数据质量 由 好 数据成本好差 9 基于p 2 p 的协同办公系统的设计与实现 p 2 p 系统的这些优势及特点决定了p 2 p 应用主要包括资源共享和协同工 作。资源共享主要是文件共享系统( f i l es h a r i n gs y s t e m ) 、文件分发系统( f i l e d i s t r i b u t i o ns y s t e m ) 。通过p 2 p 网络实现文件共享和文件分发,能够应付爆发式 访问,系统的可伸缩性好,可靠性好。此类典型系统有n a p s t e r ,c m u t e l l a ,f r e e n e t , c h o r d - b a s e ds y s t e m ,b i t t o r r e n t 5 1 1 6 1 。p 2 p 协同工作应用的种类很多,包括即时消 息系统、在线游戏、共享企业应用( 除提供即时消息外,还可共享内容和进行共 同的活动,如组内共同开发和编辑) 、文件搜索等。其中,即时消息系统有a o l 触m 、y a h o om e s s e n g e r 、m s nm e s s e n g e r 、j a b b e r 等;共享企业应用有g r o o v e 、 m a 舀;文件搜索有y o u s e a r c h ,o p e n c o l a 等;还有基于p 2 p 网络构造的e - m a i l 系统,对于每天数以亿计的电子邮件来说,互联网并不存在一个巨大的、唯一的 邮件服务器来处理电子邮件,只是通过对等网的邮件服务器相互协作把邮件传送 到相应的服务器上去1 7 1 。 总的来说,p 2 p 结构和c s 结构两种网络模型各有千秋,都有着各自的优点 和缺点。在p 2 p 结构向c s 结构提出挑战的今天,p 2 p 结构的应用是成功的。i n t e l 和i b m 这样的公司都在p 2 p 应用上投入了数百上千万美元和大量的人力【引。 2 1 4p 2 p 模型分类 关于p 2 p 模型,目前尚无统一的标准。从技术上讲,p 2 p 系统分为集中式 p 2 p ,纯p 2 p ,混合p 2 p 这三种结构,这些结构具有各自不同的特点。 ( 1 ) 集中式p 2 p 结构 集中式p 2 p 结构有一个中心服务器来负责记录共享信息以及回答对这些信 息的查询【外。这种结构具有中心化的特点,但是它不同于传统意义上的c s 结构。 传统意义上的c s 结构采用的是一种垄断的手段,所有资料都存放在服务器上, 客户机只能被动地从服务器上读取信息,并且客户机之间不具有交互能力。而集 中式p 2 p 结构则是,所有网上提供的资料都分别存放在提供该资料的客户机上, 服务器上只保留索引信息,此外服务器与对等实体以及对等实体之间都具有交互 能力。 集中式p 2 p 结构如图2 3 所示,目录服务器保存系统中所有对象的对象名和 指针列表。当用户需要访问该对象时,首先通过对象名查询目录服务器,目录服 基于p 2 p 的协同办公系统的设计与实现 务器返回该对象的指针,用户通过该指针定位并访问对象。 图2 3集中式p 2 p 结构 采用这种结构的代表性软件是n a p s t e r ,它通过一个中央服务器保存所有 n a p s t e r 用户上传的文件索引和存放位置的信息。当某个用户需要某个文件时, 首先连接到n a p s t e r 服务器,在服务器进行检索,并由服务器返回存有该文件的 用户信息;再由请求者直接连到文件的所有者传输文件。n a p s t e r 实现了文件查 询与文件传输的分离,有效地节省了中央服务器的带宽消耗,减少了系统的文件 传输延时【1 0 l 。 集中式p 2 p 结构的优点是:简单、容易实现。不过集中式结构的缺点也很明 显,中央目录服务器是潜在的性能瓶颈。当系统规模增大、对象数量增多时,目 录服务器的负载会增大,对象定位操作的性能会降低。集中式目录服务器的设置 阻碍了系统向大规模扩展。 ( 2 ) 纯p 2 p 结构 这种形式的p 2 p 结构不需要有中心服务器,其上的每一个p e e r 都作为对等 实体,地位是完全平等的1 1 1 】。每一个p e e r 既可以作为客户机又可以作为服务器, 并且系统中的p e e r 有相同的能力。纯p 2 p 结构如图2 4 所示。 基于p 2 p 的协同办公系统的设计与实现 图2 4纯p 2 p 结构 在纯p 2 p 模型中,对等端通过与相邻对等端之间的连接遍历整个网络体 系。每个对等端必须依靠它们所在的分布网络来查找文件和定位其它对等端。 采用这种结构的代表性软件是g n u t e l l a ,系统采用广播或者受限广播来进行 资源定位,具有较好的自组织性和扩展性,g n u t e l l a 没有索引服务器,它采用了 基于完全随机图的洪泛( f l o o d i n g1 发现和随机转发( r a n d o mw a l k e r ) 机制。为了控 制搜索消息的传输,通过1 1 h 豇m et ol i v e ) 的减值来实现。但是随着联网节点 的增多,网络规模扩大,通过这种洪泛方式定位对等点的方法将造成网络流量急 剧增加,从而导致网络中部分低带宽节点因网络资源过载而失效1 1 2 1 。由于采用 t r ut i m e - t o - l i v e ) 、洪泛( f l o o d i n g ) ,随机漫步或有选择转发算法,因此路径不 可控,可扩展性较差,但是却存在良好的稳定性。 这种纯p 2 p 模式不需要任何中央服务器,因此没有任何节点会成为查询的瓶 颈,任何节点的停机或离开,对整个系统产生的影响很小。 ( 3 ) 混合p 2 p 结构 在纯p 2 p 结构中,选择出一些节点作为超级节剧1 3 1 ,各个节点将要共享的目 录和文件信息发送到自己的超级节点,超级节点维护自己所属节点的共享文件信 息。各节点查询时将请求发送到自己的超级节点,超级节点之间采用消息机制来 发送查询和查询结果。超级节点将查询结果和其他超级节点返回的查询结果返回 给查询节点。混合p 2 p 结构如图2 5 所示,图中s 代表超级节点。 基于p 2 p 的协同办公系统的设计与实现 图2 5 混合p 2 p 结构 k a z a a 模型是p 2 p 混合结构的典型代表,它在纯p 2 p 分布式模型基础上引入 了超级节点的概念,综合了集中式p 2 p 快速查找和纯p 2 p 无中心化的优势。k a z a a 模型将节点按能力不同( 计算能力、内存大小、连接带宽、网络滞留时间等) 区 分为普通节点( n o r m a ln o d e ) 和超级节点( s u p e rn o d e ) 两类。其中超级节点 与其临近的若干普通节点之间构成一个自治的簇,簇内采用基于集中目录式的 p 2 p 结构,而整个p 2 p 网络中各个不同的簇之间再通过纯p 2 p 结构将超级节点相 连起来,由于普通节点的文件搜索先在本地所属的簇内进行,只有在查询结果不 充分的时候,再通过超级节点之间进行有限的泛洪,这样就可以有效地消除纯 p 2 p 结构中使用泛洪算法带来的网络拥塞、搜索迟缓等不利影响。同时,由于每 个簇中的超级节点监控着所有普通节点的行为,这也能够确保一些恶意的攻击行 为能在网络局部得到控制,并且超级节点的存在也能在一定程度上提高整个网络 的负载平衡( 1 4 1 。 2 2v is u a ic + + 网络编程 2 2 1 套接字网络编程原理 1 套接字( s o c k e t ) 简介 套接字( s o c k e t ) 是一种网络编程接口,它是对通信端点的一种抽象,提供 了一种发送和接收数据的机制。 在为通信双方开发应用程序时,套接字是相当有用的。比如,当开发一个客 1 3 基于p 2 p 的协同办公系统的设计与实现 户,服务器应用程序时,可以通过套接字来交换数据结构或数据包,以完成应用 程序之间的通信。可以说网络通信的基石是套接字。使用s o c k e t 进行网络通信 必须包含下面几种信息:双方认可的协议,本地主机的伸地址,本地进程的协 议端口,对方主机的i p 她址,对方进程的协议端口。 2 套接字的分类 用户目前可以使用两种套接字,即流式套接字( s t r e a ms o c k e t ) 和数据报套 接字( d a t a g r a ms o c k e t s ) 。 ( 1 ) 流式套接字( s t r e a ms o c k e t s ) 流式套接字可以将数据按顺序无重复得发送到目的地,它提供的是一种可 靠,面向连接的数据传输方式,不管是对单个的数据报,还是对数据包,流式套 接字都提供了一种流式数据传输。流式套接字使用传输控制协议( t c p ) ,当想发 送大批量数据时或想让发出的数据顺序无重复地到达目的地时,流式套接字是最 有用的。此外,在数据传输时,如果连接断开时,应用程序会被通知的。 ( 2 ) 数据报套接字( d a t a g r a ms o c k e t s ) 数据报套接字提供了一种不可靠的、非连接的数据包通信方式。“不可靠” 的意思是指发送一个数据包不能保证被接收方接收,也不能保证数据包按照发送 的顺序到达接收方。实际使用中,同一个分组数据报可能不止一次地被发送,一 般要等到接收方发回确认收到消息才会停止发送。数据报套接字使用用户数据报 协议( u d p ) 。 2 2 2m f cc $ o c k e t 类客户服务器应用程序模式 w i n d o w ss o c k e t 是m i c r o s o f t 等公司联合开发的网络编程接口,适合于开发 面向连接的客户机朋臣务器应用程序,应用程序一般包括两个部分,服务器程序 和客户机程序,这是网络编程中最常用的方案。 应用v i s u a lc + + 实现网络通信的方法通常有以下几种【1 5 1 : ( 1 ) 利用w i n d o w sa p i 通信函数,这种方法使用面较广,但是由于比较 复杂,专业化程度较高,使用起来比较困难。 ( 2 ) 使用w i n s o c k 控件,这种方法看来比较简单,但是由于要使用令人费 解的v a r i a n t 类,应用时要经常进行数据类型的转换,所以使用起来也不是很 1 4 基于p 2 p 的协同办公系统的设计与实现 容易。 ( 3 ) 利用m f c 封装了的c a s y n c s o c k c t 类或c s o c k e t 类,只要理解这些 类的几个成员函数,就能方便的使用。接下来主要介绍c s o c k e t 类。 1 c s o c k e t 类 c s o c k e t 类是m f c 在c a s y n c s o c k e t 类的基础上派生的一个同步阻塞s o c k e t 的封装类,它的使用比c a s y n c s o c k e t 类更加容易,它继承了c a s y n c s o c k e t 类 的许多封装了a p i 的成员函数,并且管理了通信的大多数方面,这使用户从原 来不得不对原始a p i 或者c a s y n c s o c k e t 类的繁杂工作中解脱出来。 应用m f cc s o c k e t 类实现网络数据通信有两种方式:一种是将c s o c k e t 类和 c s o c k e t f i l e 类、c a r c h i v e 类结合起来,一起管理数据的接收和发送;另一种是 利用c s o c k e t 类的成员函数r e c e i v e f r o m 、s e n d t o 、l i s t e n 和a c c e p t 等来实现( 这 些成员函数实际上是从它的基类c a s y n c s o c k e t 继承而来的) 【1 6 1 。协同办公系 统中是利用c s o c k e t 类的成员函数来实现的。 c s o c k e t 类的几个重要的成员函数。 ( 1 ) b o o l c r e a t e ( u i n t n s o e k c t p o r t = 0 ,i n tn s o c k e t t y p e = s o c k _ s t r e a m , l o n gl e v e n t = f dr e a d i f i ) _ w r i t e i f d _ o o b i f d _ a c c e p t i f d _ c o n n e c t i f d _ c l o s e ,l p c t s t ri p s z s o c k e t a d d r c s s = n u l l ) : 该函数用来创建s o c k e t 句柄,并将其绑定到指定地址和端口,其中 n s o c k e t t y p e 为套接字类型:s o c k _ s t r e a m 表示为流式套接字; s o c kd g r a m 表示为数据报套接字。 ( 2 ) b o o lb i n d ( u 球r rn s o c k e t p o r t ,l p c t s t r l p s z s o c k e t a d d r e s s = n u l l ) : 该函数的作用是将指定套接字和本地网络地址联系在一起。 ( 3 ) b o o ll i s t e n ( i n t n c o n n e c t i o n b a c k l o g 2 5 ) ; 该函数用于侦听连接请求。 ( 4 ) i n ts e n d t o ( c o n s tv o i d + l p b u f ,i n tn b u f l c n ,u i n tn h o s t p o r t l p c t s t r l p s z h o s t a d d r e s s = n u l l ,i n tn f l a g s - - 0 ) ; 该函数用于向指定的目标发送数据。 ( 5 ) i n t r e e e i v e f r o m ( v o i d + l p b u f ,i n tn b u f l c n ,c s t r i n g & r s o c k e t a d d r c s s , 1 5 基于p 2 p 的协同办公系统的设计与实现 u i n t & r s o c k e t p o r t ,i n ta f l a g s = o ) : 该函数用于接收一个数据报,并将源地址存放在r s o c k e t a d d r e s s 中。 ( 6 ) v i r t u a lv o i d c l o s e ( 1 ; 该函数的作用是关闭该s o c k e t 。 2 m f cc s o c k e t 类客户朋艮务器编程模式 ( 1 ) 基于t c p 协议通信,需要分别建立客户应用程序和服务器应用程序。 服务进程首先调用c r e a t e 函数创建一个套接字,然后调用b i n d 函数将本地端口 和地址绑定到所创建的套接字上,再利用l i s t e n 函数将套接字置入监听模式, 并调用a c c e p t 函数使套接字做好接受连接请求的准备。如果无连接请求,服务 进程被阻塞,客户进程调用c r e a t e 创建客户端套接字,通过调用c o n n e c t 函数, 建立一个新的连接,当连接请求到来后,被阻塞的服务进程的a c c e p t 函数生成一 个新的套接字与客户套接字建立连接,并向客户返回接收信号,一旦客户机的套 接字收到来自服务器的接收信号,则表示客户机与服务器已实现连接,则可以调 用s e n d 、r e _ 圮g 等函数进行数据传输了。 ( 2 ) 基于u d p 协议通信,相对简单,为了传输数据,首先要设置双方的端 口( r e m o t e p o r t 和l o c a l p o r t 属性) ,同时设置对方i p ( r e m o t e h o s t i p ) 地址。 它不必调用l h t e n 和a c c e p t 函数,只需等待接收数据,常用的接收数据函数是 r e c v f r o m 。 2 3 数据库的访问技术o d b c 技术 2 3 1o d b c 简介 o d b cc o p e nd a t a b a s ec o n n e c t i v i t y ) ,即开放数据互连,是微软公司开放服 务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据 库访问的标准a p i ( 应用程序编程接口) 。这些a p i 利用s q l 来完成其大部分任 务。一个基于o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论