已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着信息交换需求迅速增长,交换信息容量的巨增,系统内部上下级数据库之间 的数据传输和不同系统之间的数据交换已成为信息系统发展的一个瓶颈。针对这种现 代大型网络信息系统中对数据信息交换数量和速度的需求,本文设计出一种基于数据 日志变更的消息中间件技术,一种方便快捷的网络数据交换平台。 系统采用了基于数据库同步机制的数据传输技术、数据库日志传输的数据库更新 技术、异构传输数据库配置、传输数据配置技术及传输过程设置等。对于数据量较大 的数据传输可以用较短的时间完成,实现大型网络系统中异构数据库信息系统间数据 信息交换,多级网络系统间数据信息交换。 关键词:异构数据交换日志变更消息中间件 a b s t r a c t w i t ht h er a p i dg r o w t hi nd e m a n df o rt h ee x c h a n g eo fi n f o r m a t i o n e x c h a n g eo f i n f o r m a t i o nc a p a c i t yb yt h eg i a n t o nt h el o w e rl e v e lw i t h i nt h es y s t e md a t a b a s ea n dt h e d a t at r a n s f e rb e t w e e nt h ed i f f e r e n ts y s t e m so fd a t ae x c h a n g eb e t w e e nt h ed e v e l o p m e n to f j n f o r m a t i o ns y s t e m sh a sb e c o m eab o t t l e n e c k i nv i e wo f t h i sm o d e mi n f o r m a t i o n s y s t e m si nl a r g e s c a l en e t w o r kd a t ae x c h a n g eo fi n f o r m a t i o no nt h ev o l u m ea n ds p e e do f t h ed e m a n d ,t h ep a p e rd e s i g no f t h er e s e a r c ho f t h em e s s a g em i d d l ew a r et e c h n o l o g y b a s e do nd a t al o go fc h a n g e s ,ac o n v e n i e n ta n de f f i c i e n tn e t w o r kd a t ae x c h a n g ep l a t f o r m t h es y s t e mh a su s e db a s e do nt h ed a t a b a s es y n c h r o n i z a t i o nm e c h a n i s md a t a t r a n s m i s s i o nt e c h n o l o g y ,t h ed a t a b a s ed i a r yt r a n s m i s s i o nd a t a b a s er e n e w a lt e c h n o l o g y , t h ei s o m e r i s mt r a n s m i s s i o nd a t a b a s ed i s p o s i t i o n t h et r a n s m i s s i o nd a t ad i s p o s i t i o n t e c h n o l o g ya n dt h et r a n s m i s s i o np r o c e s se s t a b l i s h m e n ta n ds oo n m a yu s eas h o r t e rt i m e r e g a r d i n gt h ed a t aq u a n t i t yb i g g e rd a t at r a n s m i s s i o nt oc o m p l e t e ,i nr e a l i z a t i o n l a r g e s c a l en e t w o r ks y s t e mb e t w e e ni s o m e r i s md a t a b a s ei n f o i t f l a t i o ns y s t e md a t a m e s s a g ee x c h a n g e ,b e t w e e nm u l t i s t a g en e t w o r ks y s t e md a t am e s s a g ee x c h a n g e k e yw o r d s :h e t e r o g e n e o u sd a t ae x c h a n g el o gc h a n g em e s s a g em i d d l ew a r e 2 长春理工大学硕士学位论文原创性声明 本人郑重声明:所呈交的硕士学位论文,基于数据r 志变动的消息中间件技术研 究是本人在指导教师的指导下,独立进行研究工作所取得的成果。除文中已经注明 引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对 本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识 到本声明的法律结果由本人承担。 作者签名;垄兰主至型年2 月丛同 长春理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“长春理工大学硕士、博士学位论文版权使 用规定”,同意长春理工大学保留并向困家有关部门或机构送交学位论文的复印件和电 子版,允许论文被查阅和借阅。本人授权长春理工大学可以将本学位论文的全部或部 分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编 学位论文。 作者签名;2 垒竖圭! z 年上月丛同 指导导! j i f j 签名:年三月盟ii 4 2 第一章绪论 1 1 论文研究的目的和意义 随着计算机技术的飞速发展,各种软硬件产品越来越多,更新速度也越来越快,呈现 出复杂的多样性和异构性。此外,大型信息系统越来越趋向于以网络为中心的模式进行开 发和维护。因此,应用软件通常需要在不同厂家的网络产品、硬件平台、网络协议等组成 的异构环境下运行:同时,一个平台需要支持多种应用软件和管理多种应用系统软件。因 此软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换。这些都需要一种构筑 于软、硬件平台之上的,同时对更上层的应用软件提供支持的软件系统;而中间件正是在 这种环境下孕育而生的u 。 中间件技术正处于高速发展的过程中,中间件是一种独立的系统软件或服务程序,是 一种构建分布式应用程序切实可行的软件,它屏蔽底层的异构性,为程序员提供一个简便 的编程模型。分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户 机n 务器的操作系统之上,管理计算机资源和网络资源。中间件是一种位于具体应用和 底层系统之间的软件,中间件在这个体系机构中的角色为:( 1 ) 连接应用程序和底层软、 硬件基础设施,协调应用各部分的连接和互操作;( 2 ) 实现不同技术组件之间的集成。功 能主要有以下几点:( 1 ) 能对软件开发者屏蔽底层的、复杂繁琐的、易出错的平台细节, 如s c o c k e t , 层的网络编程等,减少应用开发的复杂性。( 2 ) 能提供大批可复用的、构件化的 服务,使开发者在应用开发过程中能够充分利用前任的开发经验。( 3 ) 能提供一个面向网 络的高层抽象集合。( 4 ) 协调应用系统各部分之间的互联、互操作使得从小到组件模块, 大到企业应用实体所提供的服务都能相互集成,并使得这种集成得到简化眩】。 本文的主要工作是设计与实现基于数据日志变动的消息中间件技术研究,实现广域网 络中异构数据库系统之间数据信息交换,通过f t p 数据传输技术解决数据传输的系统传输 问题,通过数据库日志转化为脚本文件的方式实现数据传输;通过研究异构传输数据库配 置与传输数据配置技术研究解决平台通用性问题,传输平台实现传输数据库、传输数据灵 活配置。本软件提取要传送数据的存储过程,生成数据日志,如果数据符合传输规则直接 更新相应的数据库,这样既简单又确保了数据的完整性。设计采用的是基于f t p 传输数据 日志的传输技术,这样基于数据库同步机制的数据传输技术就确保交换数据的数据库之间 数据的一致性,并且使得源数据库和目标数据库中的数据同步更新。本课题的研究与实现 具有极其重要的现实意义,并且会对今后信息技术的发展有深远的影响。 1 2 国内外研究现状 中间件一词最早出现在二十世纪八十年代末期,主要是描述网络连接答理软件,但是 直n o - 十世纪九十年代中期才开始广泛使用。此时,中间件技术已经能够为简化和管理分 布式应用提供更加丰富的服务。二十世纪九十年代初期,中间件技术主要和商业数据库相 关联,但是到了二十世纪九十年代中期就不再是这种情况,它的概念已经和现在的中间件 概念非常类似。c r o n u s 是第一个主要的分布式对象中间件,c l o u d s 和e d e n 中间件是由 b i r r e l 和n e l s o n 等人共同开发的同步远程过程调用中间件。这些中间件在早期的中间过程 调用系统中得到了广泛应用。s u n 公司在它的开放网络计算( o p e nn e t w o r kc o m p u t i n g ) 和 阿波罗网络计算系统( a p o l i o sn e t w o r kc o m p u t i n gs y s t e m ) 中也用到了这些中间件。此 外,质量对象( q u a l i t yo b j e c t s ) 是为分布式对象提供质量服务的中间件框架。t a o 中间件 是第一个可以提供高质量服务的实时c o r b a 系统,它可以在o r b 中直接运行口1 。 在中间件( m i d d l e w a r e ) 产生以前,应用软件直接面对操作系统、网络协议和数据库等 的开发。开发者不得不面临许多很棘手的问题,如操作系统的多样性、繁杂的网络程序设 计和管理、复杂多变的网络环境、数据分散处理带来的不一致性问题,如何提高应用系统 的性能、效率和安全性等。这些与用户的业务没有直接的关系,但又必须解决,耗费了人 们大量的时间和精力。于是,有人提出能不能将应用程序所要面临的共性问题进行提取、 抽象,在操作系统之上再形成一个可复用的部件,供成千上万的应用程序重复使用。因此 计算机业界提出了中间件的概念。 中间件是基础软件的一大类,属于可复用软件的范畴。可以把中间件理解成是处于操 作系统软件与应用软件之间的一类软件。比较普遍被接受的中间件定义是:中间件是一种 独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源, 中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信n 剐。 从这个意义上看,中间件= 平台+ 通信。这也就限定了只有它用于分布式系统中时 才能叫中间件,同时也把它与支撑软件和实用软件区分开来。从中间件的定义可以看出中 间件是一类软件,而非种软件;中间件不仅仅实现互连,还要实现应用之间的相互操作; 中间件是基于分布式处理的软件,定义中特别强调了其网络通讯功能。中间件应该具备两 个关键特征:首先要为上层的应用层服务,这是一个基本条件;此外,又必须连接到操作 系统的层面,并且保持运行工作状态,只有同时具备这两个特征才能称之为中间件。 目前进入中国市场的国外中间件厂商主要有i b m s d b e a ,中间件的产品有很多种,其中 比较著名的产品有b e a 公司的t u x e d o ,w e b l o g i c 、o m g 组织的c o r b a 、i b m 公司的w e b s p h e r e 以及m i c r o s o f t 公司的m o m 等。全球最大的独立中间件厂商b e a 公司已开发出许多中间件产 品,如消息中间件b e ae l i n k ,交易中间件b e at u x e d o 等。i b m 在9 0 年代及时调整了其产品 策略,将中间件产品作为其今后开发的重中之重,并推出了面向消息的中间件产品m q s e r i e s ;另夕b i b m 正在改进其w e b s p h e r e 网站开发工具,以期将之改造成一个完整的电子商 务平台。o r a c l e 公司也正式发布t 0 r a c l e 9 i 应用服务器无线版,这是一个专门针对通信公 司、消费类门户、应用服务提供商( a s p ) 及相关公司开发和部署无线i n t e r n e t 内容及应用 服务的全套中间件。而微软也在准备着自己消息中间件的无线版本哺1 。 国内厂商在中间件技术领域也做了不少工作,1 9 9 2 年,北京东方通科技有限公司就进 入中间件领域,自主研发出消息中间件t o n l i n k 、交易中间件t o n g e a s y j 对象中间件t o n g d o m 等产品。而以国际化作为自己目标的金蝶公司,与国外厂商均采用同样的技术开发的中间 件产品阿派斯( a p u s i c ) 中间件是其进入海外市场的敲门砖。在信息安全中间件方面,国外 中间件厂商在这一领域目前还未形成垄断局面。国内软件企业占有天时、地利,再加上政 策的优惠,在这一领域也将大有作为。随着中创、中软、东方通、创智、托普、金蝶等一 批具有实力的中间件软件企业迅速崛起,我国中间件软件产业开始迈入规模化发展阶段。 1 3 主要研究内容和文章组织结构 数据日志变动传输平台主要立足于研究两个方面:数据库日志变动传输和各类文件传 输。 数据库日志变动传输:用户可以自定义配置传输任务,系统根据任务将一方数据库中 的数据变动日志传到另一方,另一方根据日志更新本地数据库,而且要达到更快,更稳定, 更灵活的数据传输效果,并且重要的是保证数据的完整性,不丢失数据。 各类文件的传输:如果用户间想要相互传输一些w o r d ,e x c e l 文件,甚至很大的安装 程序,就可以利用本功能。具体思想是,先将预发送的文件根据需要设定好分割后的大小, 然后根据设定将原文件划分成若干个数据块,并生成一个头文件,头文件里记录了文件分 割的信息,以便于接收方在接收完全部分割后的文件后还原成原文件。 除此之外,本软件还集成了消息发送的功能,可以在发送方和接收方之间发送即时消 息,方便双方在传输过程中的沟通。 本文共分六章,具体组织结构如下: 第一章介绍课题研究的目的、意义、国内外研究现状,以及论文的组织结构。 第二章介绍了中间件的概念、特点及分类,重点介绍了面向消息中间件的相关知识 及发展现状。 第三章介绍f t p 基础理论和相关内容,主要介绍计算机网络基础内容、f t p 协议工作 原理等,以及文件传输的安全问题。 第四章介绍了系统的系统结构以及系统的总体设计。 第五章为系统详细设计,针对各个框架进行详细说明以及代码诠释。 第六章全文的总结,提出了需要进一步研究的问题和下一步的工作目标。 第二章中间件的简介及相关理论 i t f 商出于商业和技术利益的考虑,各自产品之间形成了差异,技术在不断进步,但 差异却并没有因此减少。而计算机用户出于历史原因和降低风险的考虑,必然也无法避免 多厂商产品并存的局面。于是,如何屏蔽不同厂商产品之间的差异,如何减少应用软件开 发与工作的复杂性,就成为技术不断进步之后,人们不能不面对的现实问题。 由一个厂商去统一众多产品之间的差异显然是不可能的,而单独由计算机用户在自己 的应用软件中去弥补其中的大片空当,由于技术深度和技术广度的要求,必然也是勉为其 难,于是,中间件应运而生。中间件试图通过屏蔽各种复杂的技术细节使技术问题简单化。 在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,这些都 是计算机最底层的东西,越底层越复杂,开发者不得不面临许多很棘手的问题,如操作系 统的多样性、繁杂的网络程序设计与管理、复杂多变的网络环境、数据分散处理带来的不 一致性问题等等。这些问题与用户的业务没有直接关系,但又必须解决,耗费了大量有限 的时间和精力m 。 于是,有人提出能不能将应用软件所要面临的共性问题进行提炼、抽象,在操作系统 之上再形成一个可复用的部分,供成千上万的应用软件重复使用。这一技术思想最终构成 了中间件这类的软件。 2 1 中间件的概念 中间件( m i d d l e w a r e ) 是基础软件的二大类,属于可复用软件的范畴。顾名思义,中间 件处于操作系统软件与用户的应用软件的中间。具体来说,中间件在操作系统、网络和数 据库之上,应用软件的下层,其作用是为处于上层的应用软件提供运行与开发的环境,帮 助用户灵活、高效地开发和集成复杂的应用软件旧1 。在众多关于中间件的定义中,比较普 遍被接受的是国际数据公司( i d c ) 表述的:中间件是一种独立的系统软件或服务程序,分布 式应用借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统 之上,管理计算资源和网络通信。i d c 对中间件的定义表明,中间件是一类软件,而非一 种软件;中间件不仅仅实现互连( c o n n e c t i v i t y ) ,还要实现应用之间的互操作 ( i n t e r o p e r a b i l i t y ) ;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。 中间件技术最初在9 0 年代出现,其根本目的是帮助单一的集中式程序向客户端服务 器( c 1 l e n t s e r v e r ) 模式移植,并且提供异构平台上的通讯。公认最早的中间件是起始于 开放软件基金( o s f ) 的分布计算环境( d c e ) ,o m g 的c o r b a 和m i c r o s o f t 的c o m d c o m 。上述的 中间件实际是一些集成的系统服务,它们能在异构的网络中为应用程序提供互操作和灵活 的分布环境,从而减少网络应用的复杂性和软件开发的难度。 4 2 2 中间件的特点 由于中间件处于操作系统软件与用户的应用软件的中间,因此它有如下特点: 1 、易于集成:中间件能无缝的连入应用开发环境中,应用程序可以很容易的定位和 共享中间件提供的应用逻辑和数据,满足大量应用的需要。 2 、易于移植:中间件使与平台有关的细节对于应用程序来说是透明的,因此可以在 不改变应用程序代码的情况下改换计算机底层硬件、操作系统活通信协议。 3 、易于演进:中间件实现的功能对应用程序来说是透明的,所以可以对局部进行改 进而不会影响到系统的其它部分。 4 、高可靠性:中间件应该是可靠的,需要提供接管和恢复功能,保证事务及关键性 业务不被丢失。 5 、易于使用:中间件能和同构或异构环境下的多种数据源通信,同时它能够管理数 据问的公共逻辑约束。它将用户从复杂的平台、网络、数据库选择中解放出来。 由于标准接口对于可移植性和标准协议对于交互操作性的重要性,中间件已成为许多 标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要, 中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系 统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用 软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资旧卜n 引。 2 3 面向消息的中间件 面向消息的中间件( m e s s a g eo r i e n t e dm i d d l e w a r e ,m o m ) 指的是利用高效可靠的消息 传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成3 1 。通过提 供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、 语言、应用程序、硬件和软件平台。目前流行的m o m 中间件产品有i b m 的m q s e r i e s 、 b e a 的m e s s a g e q 等。消息传递和排队技术有以下三个主要特点: 1 、通讯程序可在不同的时间运行:程序不在网络上直接相互通话,而是间接地将消息 放入消息队列,因为程序间没有直接的联系。所以它们不必同时运行。消息放入适当的队 列时,目标程序甚至根本不需要立即运行;即使目标程序在运行,也不意味着要立即处理 该消息。 2 、对应用程序的结构没有约束:在复杂的应用场合中,通讯程序之间不仅可以是一对 一的关系,还可以进行一对多和多对一方式,甚至是上述多种方式的组合。多种通讯方式 的构造并没有增加应用程序的复杂性。 3 、程序与网络复杂性相隔离:程序将消息放入消息队列或从消息队列中取出消息来进 行通讯,与此关联的全部活动,比如维护消息队列、维护程序和队列之间的关系、处理网 络的重新启动和在网络中移动消息等是m o m 的任务,程序不直接与其它程序通话,并且它 们不涉及网络通讯的复杂性。 面向消息的中间件适用于任何需要进行网络通信的系统,负责建立网络通信的通道, 进行数据或文件发送。消息中间件的一个重要作用是可以实现跨平台操作,为不同操作系 统上的应用软件集成提供服务3 。1 9 1 。 2 4 消息中间件的发展现状 近几年,国外中间件市场丰要被两大国外厂商i b m 幂h b e a 垄断,他们在银行、证券、电 信等高端行业以及i t 等行业中得到广泛应用。 i b mm q s e r i e s 是i b m 的消息处理中间件。m q s e r i e s 提供一个具有工业标准、安全、可 靠的消息传输系统。它的功能是控制和管理一个集成的系统,使得组成这个系统的多个分 支应用( 模块) 之间通过传递消息完成整个工作流程。m q s e r i e s 基本由一个信息传输系统和 一个应用程序接口组成,其资源是消息和队列。m q s e r i e s 的关键功能之一是确保信息可靠 传输,即使在网络通信不可靠或出现异常时也能保证信息的传输。m q s e r i e s 的异步消息处 理技术能够保证当网络或者通信应用程序本身处于忙状态或发生故障时,系统之间的信息 不会丢失,也不会阻塞乜们2 1 。 b e at u x e d o 是成功的中间件产品的一种,它的一个特色功能是能够保证对电子商务应 用系统的不间断访问。它可以对系统组件进行持续的监视,查看是否有应用系统、交易、 网络及硬件的故障。一旦出现故障,b e at u x e d o 会从逻辑上把故障组件排除,然后进行必 要的恢复性步骤。 b e at u x e d o 的另一个特色是提供多个层面的负载均衡。 t o n g l i n k q 是国内面向消息的中间件。t o n g l i n k q 的主要功能是在不同的网络协议、 不同的操作系统和不同的应用程序之间提供可靠的消息传送。 高效、可靠、灵活的传输功能,通过预建连接、多路复用、流量控制、压缩传输、断 点重传、传输优先级管理、服务( 类) 驱动等机制来保证实现。 事件代理机制提供了一种异步应用开发模型,用户只需要定义一个事件及怎么处理, t o n g l i n k o 自动完成操作。利用事件代理机制,可以实现事件订阅与发布,实现策略管理。 会话管理,t o n g l i n k q 通过一个简单的会话标识来描述一种复杂的通信关系,实现了 更高层次、更抽象的通信服务。 良好的易用性和可管理性,t o n g l i n k q 实现了实时监控和管理,提供了日志机制、动 态配置、远程管理功能。并提供多层次安全管理,支持多种开发工具汹1 。 2 5 小结 本章介绍了中间件技术的产牛背景、基本概念、分类以及发展等相关知识。其中,尤 其对于中间件的一个基本类型消息中间件的相关概念和发展现状做了较为详细地说 明。已有的消息中间件为当前流行的分布式应用系统提供了相对安全、稳定的消息传输机 6 制的基础上,也不同程度地存放着一定的共性问题:“二次开发问题。不管是i b m 的 m q s e r i e s 还是东方通的t o n g l i n k q 均是以自身集成的a p i 接口进行编程的,每个公司 在进行相应系统的数据传输模块设计时都需要根据不同的系统进行相适应的编程需求,由 此带来的资源浪费是不可估计的。其次,对于以上两种占据传输市场较大的消息中间件产 品本身的传输机制是以“数据”本身来进行传输的,这种传输形式不可避免的存在着传输 信息量过大、易丢失、传输速度慢等问题。 针对以上问题,基于数据日志变动的消息中问件实现异构数据库之间数据信息交换, 通过网络系统进行数据的交换、更新、汇总。使得不同业务之间的关联数据同步更新,使 各个区域不同的数据能够更好集合在一起,并且使远程数据能够备份和存储。分布式、异 构系统网络消息中间件,采用同步传输技术以确保发送数据库与接收数据库数据的一致 性;采用数据库日志更新技术以避免大量数据传输,提高传输效率;研制和开发传输数据 库配置系统与传输数据定义系统实现平台的通用性。 第三章f t p 基础理论及相关内容介绍 3 1f t p 协议及工作原理 3 。1 1f t p 概念 文件传送协议f t p ( f il et r a n s f e rp r o t o c 0 1 ) 是t c p i p 体系的一个重要协议,它 并没有试图解决每一种文件在网络环境中的传送,而只提供文件传送的一些基本服 务馏9 1 ,因此f t p 就比较简单和容易使用。同时,f t p 也没有定义到用户的接口,因此用 户的应用程序必须提供用户至u f t p 的接口。f t p 使用传输控制协议t c p ( t r a n s m i s s i o n c o n t r o lp r o t o c 0 1 ) 可靠的运输服务。t c p 是t c p i p 体系中的运输层协议,由于是面向 连接的,因而可提供可靠的、按序传送数据的服务,其提供的连接是全双工的。而f t p 的主要功能就是激活或消除在不同操作系统下处理文件的不兼容性。例如,列文件目 录是文件管理中的一个内容。设主机a 的用户要在自己的屏幕列出另一个主机b 的文 件目录。假定主机a 运作d o s 操作系统,其目录列表的命令是d i r ,而主机b 运行u n i x 操 作系统,其目录列表命令是l s 。当主机a 的用户键入d i r 命令时,主机a 中的进程f t p c 1i e n t 就将d i r 命令转换成网络标准命令l i s t 。l i s t 就将t c pp d u 中的数据,传送到主 机b 。主机b 中的进程f t ps e r v e r 将l i s t 命令再转换为u n i x 操作系统能识别的l s 命令。 f t p 在c 1 l e n t s e r v e r 模式下工作。当c l l e n t 向s e r v e r 发出建立连接请示时,要寻 找s e r v e r 的熟知端口( 2 1 ) ,同时还要告诉s e r v e r 自己的另一个端口号码,用于建立数 据传送连接。接着,s e r v e r 用自己传送数据的熟知端口( 2 0 ) 与c l i e n t 所提供的端口号 码建立数据传送连接。 3 1 2f t p 文件服务器的优势 能在任何w i n d o w s 的网络环境中将一台计算机变成f t p 文件服务器,以达到互联 网或企业、组织内部的资源共享的目的: 1 、可以是互联网上的一台有其它计算机可以访问到的公网i p 地址的计算机。 2 、可以是局域网中的一台计算机,局域网内其它计算机用户可以通过安装有 f t ps e r v e r 的这台计算机执行文件传输及权限管理。 3 、可以是公司内部网中的一个或多个工作站,以实现公司内部的资源共享口。 一般来说,通过f t p 传输文件要比使用其他协议( 女i h t t p ) 更加有效,这主要有两 个原因: l 、f t p 协议就是用来传输文件的,而且仅仅用来传输文件。它不像h t t p 还有其 他的一些功能,f t p 的唯一工作就是确保文件正确的传输,除了校验发送和 接收的文件是否一致以外,它不会像h t t p 另f f 样停下来翻译文件的内容; 2 、通常主机的f t p 事务处理是f t p 服务器的唯一工作。既然这样,计算机的处理 器资源被完全投入至u f t p 事务处理中,而不会被几个竞争服务器( 处理器的) 时间的工作所分割。 3 1 3f t p 文件服务器的作用 f t p 随处可见,作为最常用的信息服务。f t p 可运载任何数据,从原始的a s c i i 文本、p o s t s c r i p t 、s g m l ,到可执行代码、图像、声音、视频动画等。下载文件时, 所使用的协议也可能就是f t p 。现在大多数浏览器都包含一个内置的f t p 客户端来进 行f t p 传输。由于f t p 运载数据量很大,在整个i n t e r n e t 的流量统计中,f t p 占3 6 。 迄今为止,只有近几年发展起来的环球信息服务能与之媲美。f t p 文件传送服务,主 要用于存放大量的网络公用软件,常用工具和技术文档,以及一些著名f t p 服务的镜 像。建立匿名f t p 服务器,可以将本单位的产品信息、用户手册提供给用户公开访问; 还可以将i n t e r n e t 上大量的常用软件、免费软件、免费资源和文档资料等存储于本 地、供本地用户访问。这样既方便了用户、又减少了对出口信道的占用。要想从服 务器中把文件传送到本地的计算机( 术语称“客户机”) 上或者把自己机器上的资 源传送到服务器上,就必须在两台机器中进行文件传送,那么双方就必须要共同遵 守一定的规则,f t p 就是用来在客户机和服务器之间进行文件传输以实现文件共享的 协议。访问f t p 服务器时,不是所有文件都能访问,有一些是不允许访问的文件和目 录。站点管理员会把可访问文件放在一个公共的文件夹中,用户访问时一般就是所 指定的这些文件夹中进行陇1 。 3 1 4 数据传输功能 数据连接只传输数据,控制连接传送命令和响应。几个命令是关于在主机间传 输数据的,数据传输基本上独立于物理结构的,但是如果在压缩传输模式下流式传 输与文件结构有关,文件的属性与表示类型有关。 1 数据类型 数据表示是由用户指定的表示类型,它可以是隐含的,也可以是用户指定的。 a s c i i 类型 这是所有f t p 必须实现的默认类型,用于传送文本文件。 e b c d i c 类型 它是作为a s c i i 的另一种方法在主机间传送数据的数据类型。 图像类型 此类型传送的数据被看作连续的位,发送方将数据打包到8 位传输字节中传送。 本地类型 以十进制指定逻辑字节大小。 2 文件结构 9 除了有不同的数据类型外,f t p 还允许有不同的文件结构,下面是三种文件结构: 文件结构:文件中没有内部结构,文件被看作是二进制流; 记录结构:文件是由一系列记录组成的; 页结构:文件是由不同的索引页组成的。 3 建立数据连接 传送数据机制包括建立连接选择数据参数。用户和服务器d t p 有默认数据端口, 用户进程默认数据端口和控制连接端口相同。服务器进程默认数据端口和控制连接 端口相邻,传输字节大小是8 位字节,此字节是实际传输字节,但不代表主机内的数 据表示。被动数据传输进程在数据端口接收数据,f t p 请求命令决定数据传输的方向。 服务器在接收到请求以后,将初始化端口的数据连接。当连接建立后,传输在d t p 之间传送,服务器p i 对用户p i 返回应答。f t p 实现运行一个默认数据端口,用户p i 才能改变默认端口。通过p o r t 命令可能改变端口,用户可能希望数据在第三方主机 上进行其它操作,用户p i 需要在两个服务器p i 上建立连接。一个服务器被告知侦听 另- - n 务器的请求,用户p i 通过p o r t 命令通知另一服务器的数据端口,最后双方发 送相应的传送命令。通常,服务器负责支持数据连接,初始化并关闭它,除非用户 d t p 在传输模式下要求关闭连接,服务器在下面情况下关闭数据连接: 服务器结束发送数据,通过e o f 要求中止传送; 用户发送a b o r t 命令: 用户改变端口; 控制连接关闭: 发生不可恢复错误。 4 数据连接管理 默认数据连接端口:所有f t p 必须支持默认数据连接,只有用户p i 能够初始化非 默认端口的使用。 确定非默认数据端口:用户p i 可以使用p o r t 命令指定非默认端口,它要求服务 器方以p a s v 确定非默认数据端口。连接是由双方地址确定的,因此改变一方地址就 改变了连接。 5 传输模式 有三种传输模式:一种将数据格式化并考虑重新开始过程;一种压缩数据;一 种是不经过处理( 少量处理) 传送。所有数据传输必须以一个e o f 结束,它可以显式 给出,也可以通过关闭连接隐式给出。对于记录文件,所有e o f 是显式的,包括最后 一个记录。对于以页结构传送的文件,使用“最后一页”表示结束。a s c i i 或e b c d i c 的行结束贝j j 或 指示。这样的转换需要时间,所以相同的系统在传送文本 文件时采用二进制或流表示比较合适。 3 1 5 文件传输功能 从用户p i 到服务器的信道是建立在用户到标记服务器端口间的。用户协议解释 器负责发送命令和解释接收的应答;服务器p i 解释命令,发送应答,指导d t p 建立数 据连接并传送数据。如果数据传输的第二方是用户d t p ,通过用户f t p 主机的内部协 议对它进行控制;如果第二方是服务器d t p ,它由用户p i 发来的命令经过自己的p i 控制。 f t p 标准命令: ( 1 ) c d u p ( c h a n g et op a r e n td i r e c t o r y ,变为父目录) 命令:该命令把当前目录 改为远程文件系统的父目录。 ( 2 ) c w d ( c h a n g ew o r k i n gd i r e c t o r y ,改变工作目录) 命令:该命令把当前目录改 为远程文件系统的指定路径。 ( 3 ) d e l e ( d e l e t e ,删除) 命令:该命令删除服务器站点上在路径名中指定的文件。 ( 4 ) l i s t ( l is t ,列表) n l s t ( n a m elis t ,名称列表) 命令这两个命令让服务器向 用户发送一份列表。l i s t 发送详细信息,n l s t 发送简略信息。 ( 5 ) m k d ( m a k ed i r e c t o r y ,创建目录) 命令:该命令创建一个在路径名中指定的目 录或当前工作目录的子目录。 ( 6 ) n o o p ( n o o p ,空操作) 命令:该命令让服务器向用户发送一条0 k 应答指令。 ( 7 ) p a s v ( p a s s i v e ,被动) 命令:该命令告诉服务器在一个特定端口上接听数据。 ( 8 ) p o r t ( p o r t ,端口) 命令:该命令为数据连接指定一个i p 地址和本地端口,它必 须紧跟在p a s v 后面使用3 。 3 1 6f i p 服务的工作模式 f t p 服务采用典型的客户机服务器的工作模式。远端提供f t p n 艮务的计算机称 之为f t p h 皎务器,通常是i n t e r n e t 信息服务提供者的计算机,它负责管理一个文件仓 库,i n t e r n e t 用户可以通过f t p 客户机从文件仓库中取文件或向文件仓库中存入文 件。从客户机上把文件或资源传送到服务器上的过程称为上传,而将从服务器上把 文件或资源传送到客户机上的过程称为下载,其盯p 服务的工作模式如图3 1 所示: 图3 1f t p 服务的丁作模式 3 1 7f t p 服务器工作流程 第一步:在服务器端运行f t p n 眨务器端程序,等待用户发出连接请求,在客户端 运行f i p 客户端程序。f t p 服务器的堆本工作流程如图3 2 所示: 客户机系统 服务器系统 图3 2f t p j j c 务器的基木t 作流程 第二步当客户端向服务器端发出传输文件请求时,通过i n t e r n e t 在历者之问先 后建立了两个t c p 连接:“控制迕接”和“数据连接”: 第二步:然后进入文件传输阶段,用户和服务器之问通过“数据连接”来传输 文件,通过“控制连接”来传送一些控制命令; 第四步:文件传送完毕,关闭“控制连接”利“数据连接”,恢复初始状态。 f t p 支持两种模式,一种方l = 足p o r t 一种足p a s s i v e 。p o r t 模s g l :7 r 1 ) 的客户端发送 p o r t 命令至l j f t p s e r v e r 。p a s s j v e 模x , i :t p 的客户端发送p a s v 命令至i f t ps e r v e r 。 下面介绍这两种方式的工作原理: s t a n d a r d 模式f t p 客户端首先和f t ps e r v e r 的t c p2 1 端口建立连接,通过这个通 道发送命令,客户端需要接收数据的时候在这个通道上发送p o r t 命令。p o r t 命令包 含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的t c p2 0 端口发送数据。f t ps e r v e r 必须和客户端建立一个新的连接用来传送数据。p a s s i v e 模式在建立控制通道的时候和s t a n d a r d 模式类似,当客户端通过这个通道发送p a s v 命令的时候,f t ps e r v e r 打开一个位于1 0 2 4 和5 0 0 0 之间的随机端口并且通知客户端 在这个端口上传送数据的请求,然后f t ps e r v e r 将通过这个端口进行数据的传送, 这个时候f t ps e r v e r 不再需要建立一个新的和客户端之间的连接。 3 2 系统安全问题 在数据传输过程中,系统的数据保密和安全性非常重要,因此,应设防火墙或 采用加密技术。 3 2 1 防火墙技术 防火墙技术是采用一种将内网和公网分开的方法,它是一种隔离技术,可以对 每个通过它的数据包进行收、发双方的身份检查,可以根据预定的安全性确定这个 数据包是否能通过该防火墙,从而有效地阻止黑客访问该网络。目前比较成熟的防 火墙技术主要有: l 、包过滤技术是在网络的适当位置截获那些想进人该网络的数据并对其进行检 查、分析,阻止不符合要求的数据通过,从而达到网络安全的目的。它是一种廉价、 有效、容易重新配置和具有一定灵活性的网络级安全。但是它也存在着局限性,如 数据包过滤的规则难设置、有些协议不适合于包过滤等: 2 、代理服务器是一种透明度高并能实现内外网络之间的相互隔离的一种防火墙 技术,是一个运行在防火墙丰机上的应用程序。它位于内部用户和外部服务之间, 它将需要跨越该防火墙的所有链路在此分为两段,充当网关和提供连接,也称应用 级网关。 3 2 2 加密技术 防火墙仅能起到隔离作用对于某些攻击者来说,他们可以在不安全的信道上截 获口令、密码等,从而获得对网络的访问权限,这种攻击只能通过加密才能防止。 加密技术是解决网络安全的核心技术。目前常用的加密技术有对称和非对称两种。 对称加密技术是指加密、解密均是同一密码,双方都要获得此密码并对此密码保密。 常用的有:d e s 和i d e a 算法。非对称加密技术中要求密匙成对使用,每个用户均有一 对密匙,一个用于加密( 公匙) ,一个用于解密( 私匙) 。常用的是r s a 算法,为了充分 发挥各自的优点,可以将两种技术结合使用。发信方先使用d e s 算法、密码( a ) 对明 文加密得到密文,再使用r s a 公匙将对称密码( a ) 加密得到加密的对称密匙( a 1 ) ,然 后将两个密文一起传给接受方。接受方先用自己的r s a 私匙解密( a 1 ) 得到对称密匙 ( a ) ,然后再用此密匙使用d e s 算法解密密文得到明文。 3 3win s o e k 编程原理 f t p 服务器是典型的网络应用软件,要在w i n d o w s 平台上开发这样的软件,必须 对w i n d o w s 同络编程的模式进行深入的研究和理解。下面研究w i n d o w s 网络编程的一 般原理和方法: 3 3 1w i n d o w ss o c k e t 简介 w i n s o c k 是网络应用中的一个重要组件,使用它可以创建和其它使用t c p i p 以及 相关防议的系统进行通信的应用程序。除- j t c p i p 协议,w i n s o c k 还可以和其它协议 如u d p ,x n s ,i ) i g i t a l 的d e c r i e r 以及n o v e l l 的i p x s p x 协同工作。w i n d s o c k 与应用程序 的关系如图3 3 所示: i 心用私序a膨用稗序b ii l w i n d 。w s s o c k e t 组件 j l ( 端u ) o s 分界( 端u ) 1r i t c p i p i 图3 3w i n d o w ss o c k e t 与应用程序的关系 l 、应用程序a 和应用程序b :一个是客户端程序另一个是服务器端程序。可实现: 文件传输协议f t p ,网络文件服务n f s ,终端仿真协议t e l n e t ,邮局协议p o p 3 等。 2 、s o c k e t :与n e t b i o s 类似,作为网络编程接口,通过它可以编写i n t e r n e t 应用程 序。 3 、t c p i p :作为网络通信协议服务界面,对应 s 0 0 s i 的传输层和网络层。它后 面的支持依次是w i n d o w s 操作系统和物州通信介质。 4 、端门:由t c p 提供,它是应用程序i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理培训:护理程序与评估
- 护理护理伦理决策
- 护理课件演讲的演讲稿目标设定方法
- 护理职称评审评分标准
- 护理投诉管理中的跨文化沟通
- 护理身份核对常见问题及对策
- 零售业数据解析专家面试要点
- 极简主义家居设计理念与实践
- 基于云的协同办公平台的设计与实现研究
- 旅游顾问面试问题与解答
- 去极端化与民族团结课件
- 2025年大学试题(财经商贸)-商品学历年参考题库含答案解析(5套)
- 学堂在线 雨课堂 学堂云 遥测原理 章节测试答案
- 交通船管理办法
- 学堂在线 雨课堂 学堂云 中国建筑史-史前至两宋辽金 章节测试答案
- 代理记账人员管理制度
- 公司管理层离职管理制度
- 船舶建造监理合同协议
- (高清版)DB33∕T 881-2012 浙江省地质灾害危险性评估规范
- 高中音乐鉴赏爵士乐说课
- 陕西单招数学试题及答案
评论
0/150
提交评论