(计算机应用技术专业论文)个人网络磁盘系统客户端的技术研究.pdf_第1页
(计算机应用技术专业论文)个人网络磁盘系统客户端的技术研究.pdf_第2页
(计算机应用技术专业论文)个人网络磁盘系统客户端的技术研究.pdf_第3页
(计算机应用技术专业论文)个人网络磁盘系统客户端的技术研究.pdf_第4页
(计算机应用技术专业论文)个人网络磁盘系统客户端的技术研究.pdf_第5页
已阅读5页,还剩75页未读 继续免费阅读

(计算机应用技术专业论文)个人网络磁盘系统客户端的技术研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着网络的普及,网络技术针对个人的应用逐渐增多,例如电子邮箱、个人主页空 间、个人网络空间等。近来,个人用户移动办公的需要越来越多,个人网络存储技术得 到了广泛应用。应用这种技术,用户把自己的文档存储在网络空间上,随时随地进行存 取和编辑,使用方便快捷。另外,慨d o w s 用户为了更加方便安全地管理自己的文件, 常常应用虚拟磁盘。方法是把某些文件或目录映射为虚拟磁盘,然后把文件存放在虚拟 磁盘里,以便于管理。这些磁盘,有的显示为资源管理器里的盘符,有的有独立的界面, 易于操作。 网络虚拟磁盘技术就是在虚拟磁盘技术的功能之上加入网络功能,简言之,就是把 网络上的存储空间虚拟为本地磁盘的技术。这种技术有效的结合了磁盘虚拟技术和网络 传输技术。应用这种技术在不增加用户使用复杂度的情况下,即可满足用户移动存储的 需要。 鉴于以上需求和技术现状,本课题着重研究网络虚拟磁盘技术,以求更好的解决个 人移动存储问题。在对各种相关技术分析的基础之上,本文提出一种个人移动存储解决 方案个人网络磁盘系统。该系统分客户端和服务器端两个组成部分,客户端主要实 现网络磁盘的基本操作功能和面向用户使用的登录功能,服务器端主要实现大型存储空 间的分配功能以及相关的性能维护功能。此解决方案的突出特点是在客户端开发基于 w i n d o w s 内核的网络虚拟磁盘驱动。 客户端需要解决的问题是如何高效稳定的处理用户对网络磁盘的操作请求,同时尽 量不改变用户的使用习惯,不增加用户使用的复杂度。基于此,本文制定了个人网络磁 盘的设计原则,然后在此原则下设计个人网络磁盘系统,确定功能需求,并分析现有的 应用技术和开发方法,探讨如何开发高效完整的客户端程序,实现磁盘功能,满足用户 的各项要求。 论文首先提出了个人网络磁盘系统的总体设计方案,清晰划分客户端和服务器端的 功能模块,然后着重研究客户端网络虚拟磁盘驱动程序的实现方法,并简单介绍了客户 端登录模块的流程设计。在分析了w i n d o w s 操作系统内核模式下驱动调用机制的基础之 上,研究虚拟磁盘驱动技术和基于t d i ( 传输驱动接口) 的网络传输技术及其实现方法; 结合以上两种技术,进一步研究网络虚拟磁盘驱动的实现方法和步骤。最后,为网络虚 拟磁盘驱动配置用户模式下的调用模块( 用户登录模块) 和服务器端程序模块,整合个 人网络磁盘系统,并分析其性能及实用性。 具体阐述分以下几部分,个人网络磁盘总体设计,w i n d o w s 内核分析,虚拟磁盘技 术分析和驱动设计,基于t d i 的网络传输技术分析和驱动设计,网络虚拟磁盘驱动设计, 网络虚拟磁盘系统。 北京工业大学工学硕士学位论文 关键词虚拟磁盘;传输驱动接口:网络磁盘;w i n d o w s 内核模式驱动 a b 引h a c t a b s t r a c t w i t l l t h e p o p u j a r i t y o f n e t w o r k ,t h e 哪。衄t o f a p p l i c 枷o n s o f n e t w o r k t e c h n o l o g y f b r i n d i v i d u a l u s e i n c 髂e sg r a d u a l l y ,f b re x 锄p l e ,e m a i l ,i n d i v i d u a lh 伽e p a g es p a c e ,i n d i “d u a ln e t w o r ks t o r a g e ,a n ds oo n r e c e n t l y t m v e l i ”gw o r k si n c r e 髂e sr a p i d j y s 0i n d i v i 血a ls t o r a g et e c h n o l o 斟i sb e n gw i d e l y1 l s e d u s i n g 廿1 i st e c h n 0 1 0 卧u s e r sc 融s t o r et 1 1 e i rd o c 岫e n 乜j nt h en e 似o r ks p a c e s ,卸d 觚c e 鼹t h 锄e x p e d i e m l yi na n y p l a c ea tm 咿t i m e 1 na d d i 石o n ,w i n d a w su s e r sa 】w a y su s ev m a ld i s kt om 卸a g et 1 1 e i rd o c u m t si no r d e r t o s a v et h e ms a 凫l ya 1 1 dc o n v e n i e n t l y t h em e t l l o di s ,m a k ea 矗1 eo rd i r e c t o r ym a p p e dt ob eav i n l 脚d i s kb y m e a n so f v i r n l a lt c c h n o l o g y ,锄ds t o r em ed o c 啪e i l t si nt 1 1 i sd i s k t h j s1 ( j n do f d i s kc 卸b es h o w e d 】i k e 1 0 c a l 】o 舀c a ld i s ks y m b o li ne x p l o r e ri nw i n d o w ss y s t e m ,o rc 鲫b eu s e di nac l i e n t 印p l i c a t i 锄a l lo f t l l 锄 a r ce a s y t o u s e n e t 、v o r kv i r t u a ld i s kt e c h n o l o g yi sa 虹n do f v j r n j a ld i s kt e c h n o 】o g yc o i i l b i n i n gw i t hn e t 、v o r k 向n c t j o n s ,i naw o r d ,i ti st h et e c h n o l o g yv i r h j a l i z i n gac e r t a mo f n e t w o r ks t o r a g es p a c et ob ea 1 0 c a ld i s k t h i st e c h n o i o 斟e 衔c i e n t l ya p p l j e sv i n u a ld i s kt e c i l l l o l o 舒醐dn e t 、v o r kt r a f l s p o nt e c h n o l o 肼u s i n gt h i s t e c h n o l o g yc 锄s a t j s 旬t l l en e e do f i n d i v i d u a l 仃甜e j i n gs t o r a g ew i t h o u ti n c r e 笛i n g t h ed i 伍c u n yo f u s e 1 nt l l e1 i g h to f t h ea b o v er e q u i r e m e n t sa n dt e c h n o l o 影s t a t i l sq u o ,廿l j st o p i cf o c u s e so nt h er e s e a r c ho f n e t 、v o r kv i r t i i a ld i s kt e c h n 0 1 0 9 yi no r d e rt 0s o l v et h ep r o b l 哪o fi n d i v d u a lt r a v e l i n gs t o r a g e o nt h eb a s i s o f t h e 锄出y s i so f t h ev 耐0 l l sr e i e v 鲫tt e c h n o l o g i e s ,t h ep 印e rp r e s e n t e d 柚i n d i v i d u a l 仃a v e l i n gs t o r a g e s o l u t i o n - - i n d j v i d u a ln e t w o r kd i s ks y s t e m t h es y 咖mi n c l u d e st w op a r t s s e r v e rm o d u l e 柚dc 1 e n t m o d u l e c l i e n tm o d u l ea c h i e v e st 1 1 eb a s i cd i s k - 0 p e r 鲥n g 如n c t i o n sa n dl l s e 卜0 d e n t e dl o g i n 劬c 右o n s e r v e r m o d u l em a i n l ya c h i e v e sl a 唱es t o r a g es p a c ea l l o c a t i o n 劬甜o n 锄dt h e 他1 鲥v ep e r f b n l l 锄c em a i n t e n 卸c e m n c t i o n t h es a l i e n tf b a m r eo f t l l i ss o l u t i o ni st h ed e v e l o p m e i l to f t h en 咖0 r kv i r f u a ld j s kd r i v e r b a s e do n w i n d o w sk e m e lf o rt h ec l j e mm o d u l e t h ep m b l e m st h a tc l i e n tm o d u l en e e dt os o l v ea r e ,h o wt os 0 1 v et h er e q u e s to fn e t 、v o r kd i s kf 如m u s e r se m c i e n t l ya 1 1 ds t e a d i l y ,柚dh o wt 0n yt op r e s e r v et h eu s e r s u s eh a b i t sw h e nt h e ya r ci l s i n gt h e n e t w o r kd i s k ,a n da v o i di n c 化a s j n gt h ec o m p l e x i t yo fu s e f o rt h i s ,t h ep a p e re s t a b l j s h e sp r i n c i p l e so f d e s j g n i n gt h ei n d i v j d u a ln e t w o r kd i s k ,la l l 巩d e s i g n st h ej n d i v j d u a ln e 铆o r kd i s ks y s t e mu n d e rt h e s e p n c j p l e s ,矗n d so u tf u n c t i o nr e q u i r e m e n t s ,a | l da n a l y s e sc u r r e n ta p p l i c a t i o nt e c h n 0 1 0 9 i e s 柚dd e v e l o p i n g m e t h o d s ,n _ yt o 们n dh o wt od e v e l o pa ne 伍c i e i l ta n di n t e g m t e dc l i e n tm o d u l et oa c h i “et h ed i s kf u n c t i o n s 鲫du s e r sr e q u i r e m e n t s t h ep a p e re r s t 】yp r e s e n t s h ew h o l ed e s i g no f t h en e t w o r kv i r t u a ld j s ks y s t e m ,c o m p a r t m e n t a l i z e st h e c l i e ma n ds e r v e rf u n c t i o n st os e v e r a lm o d u l e sc l e a r l y ,锄dl a t e lp r i n c i p a l l yr e s e a r c ht h ed e v e l 叩i n gm e t h o d o f l h en e t w o r kv i r t u a ld i s kd r i v e ri nt h ec l i e n t ,a n ds i m p l yi n t r o d u c e st h ed e v e l o p j n go f t h ec l i e n t1 0 9 i n m o d u l e b a s e do nt h ea n a l y s i so f l h ed r i v e r c a l i i n gm e c h a n i s m si nk e m e lm o d ei nw i n d o w ss y s t e m , 1 1 1 北京工业大学工学硕士学位论文 r e s e 砌e sv i n u a ld i s kd r i v e rt e c h n o l o 肼n e 帆o r k 仃a n s p o r t 妣h n 0 1 0 尉b a s e do nt d t c r r a n s p o r td r i v e r i m e r 胁e ) a n di m p l e m e n t i n gm e t h o d s ;b y 印p l y i n g 咖t e c h n o l o g i e sa b o v e ,f i 】n h e rr e s e a r c h e sm e m e m o d a l l ds t e p so f d e v e l 叩i n g 廿1 e n e 撕o r k v i 咖a l d i s k 商v e l a t l a s t ,m a k e s t h e n 咖o r k v i n i l a ld i s k d r i v e r w o l k w i t l lb c a l l i n gm o d u l e ( c l i 即t1 0 9 i nm o d u i e ) 柚ds e r v e rm o d u l e s ,b l l i l d si n d i v i d u a ln e t w o r kd i s ks y s t e m , t l l e n a l y s e st l l ec a p a b i l i t ya 1 1 dp r a c d c a b i l 酊o f i t n e p a p e rc o n c r e t e l yi n c 】u d e st l l e s ep a 地,w h o l ed e s 咖o f t l l ei n d v i d i l a 】n 咖r l 【d i s k ,锄a l y s i so f w n d o w sk e m e l ,a n a l y s i so f v i 咖a ld i s kt e c h n o l o 斟锄dd e s 咖o f i 乜d r i v e r 粕a l y s i so f n 酣v o r k 仃韧s p o n t e c l l | 1 0 i o 科b a s e d0 nt d i 粕dd e s i 印o f 他d v e d e s 咖o f n 咖o r kv i n i l a ld i s kd r i v e ln e t 、v o r kv i n u a l d i s ks y 曲m k e y 帅r d sv i r t l l a ld i s k ;t r a n s p o r td r i v e ri n t e 仃,惦e ;n e 脚o r kd j s k ;万n d o w sk e m e lm o d e 嘶v e r i v 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名: 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅:学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 虢边缘导师繇盔衅胁选:墼 1 1 研究背景 第1 章绪论 随着网络的普及,网络技术针对个人应用的比例越来越高,例如电子邮箱、个人主 页空间、个人网络空间等等,这些事物都有一个共同点,就是简便易用。 近来,根据工作的需要,移动办公的情况越来越普遍。人们往往在不同的地点做同 样的事情。比如,某员工在公司编写一个文档,下班到家中还想对该文档进行修改。一 般的办法是将文档复制到移动存储设备中携带至家中,或者将文档发送至邮箱里,回家 后下载下来进行编辑。如果能提供一种更加简单易行的方案,使用户不需要根麻烦的操 作就可以把自己的数据存储在网络上,随时随地进行存取和编辑,将大大提高办公效率, 并且更容易被用户所接受。 另外,学校等单位都在进行数字化建设。常遇到如下问题,成千上万名在校人员使 用有限的计算机资源,机器使用的流动性较大,尤其是本专科学生,学校不可能为每一 个人提供固定机器,因此,个人信息的存储及安全性存在较大问题。需要有一种方法, 使大量人员的个人信息有效的存储起来,并且可以使人们在不同的地点使用不同机器加 咀访问。 为解决以上问题,本文研究一种个人移动存储方案网络虚拟磁盘,或称之为网 络磁盘,简称网盘。实施此方案需开发一个网络磁盘系统。 该系统为每个使用者提供一块网络存储空间。用户可以将自己的个人信息放置在这 个网络空间上,随时随地进行访问。这样就可以解决大量用户变换地点使用计算机的情 况。 为了使用方便,这个网络存储空间在用户面前表现为资源管理器中逻辑盘符的形 式,操作起来跟使用本地磁盘- 样。这样一来,并没有改变用户对磁盘的操作习惯,也 投有增加用户的使用步骤,达到简便易用的目的。 此方案的实施还需要有大型存储系统来提供大量的存储空间。 1 2 研究现状 l 、虚拟磁盘技术 虚拟磁盘技术的研究已经在国外持续了较长时间,大量虚拟磁盘软件都是基于此方 面的研究成果开发的。近几年,国内出现了很多的网络磁盘开发公司。这些公司主要从 事虚拟磁盘技术和无盘网络系统的研究。其产品主要应用在网吧和规模较大的企事业单 事虚拟磁盘技术和无盘网络系统的研究。其产品主要应用在网吧和规模较大的企事业单 一1 - 北京工业大学工学硕士学位论文 位中。 虚拟磁盘技术的主要研究工作是开发虚拟磁盘驱动程序。在w 证d o w sn t 下开发驱 动程序,已经形成了比较完善的开发流程。 w i n d o w s 环境下驱动程序共有三类,一类是v x d ( n l l a ld e “c ed r i v e r ,虚拟设 备驱动程序) ,起源于w i n d o w s3 1 时代,用于晰n d o w s9 5 ,9 8 m e 操作系统中;一类是 k m d ( k e m e lm o d ed r i v e r ,内核模式驱动程序) ,用于w i n d o 、) l ,sn t 下;还有一类就 是w d m ( w i n 3 2d r i v c r m o d e ,w i l l 3 2 驱动程序模型) ,是微软从w i n d o 哪9 8 开始,推 出的一个新的驱动类型,它是一个跨平台的驱动程序模型,不仅如此w d m 驱动程序还 可以在不修改源代码的情况下经过重新编译后在非h l t e l 平台上运行“。 d m 是在n t 4 o 驱动程序结构上发展起来的,所以它与n t 4 o 的驱动程序极为相 似,但是它却有了本质上的提高,增加了对即插即用( p n p ) 、高级电源管理 ( p o w e r m a n a g e m e n t ) 、w 协d o w s 管理接口( w m i ) 的支持。1 。 网络虚拟磁盘的应用已经比较广泛,但是现阶段所见到的网络虚拟磁盘系统都还不 完善,相关的产品还需要再进一步改进。目前推向市场的网络虚拟磁盘,在国外有g m a i l 等:国内有v d i s k ,幻想虚拟网络磁盘i d r i v e r 等,但是它们存在诸如不能直接打开文件, 不能直接创建文件,不能完全穿透防火墙等缺点。 2 、大型存储技术 这里之所以介绍大型存储技术,一方面是为了区分本文所提到的虚拟技术与一般意 义上的虚拟存储的区别;另一方面是因为本文所述的网络虚拟磁盘系统需要大型存储设 备来提供大型存储空间,所以需要在大型存储技术方面进行研究,并进行方案取舍。 一般情况下,虚拟存储就是把多个存储介质模块( 如硬盘、r a i d ) 通过一定的手 段集中管理起来,所有的存储模块在一个存储池( s t o r a g ep 0 0 1 ) 中得到统一管理,从主 机和工作站的角度,看到就不是多个硬盘,而是一个分区或者卷,就好象是一个超大容 量( 如1 t 以上) 的硬盘。这种可以将多种、多个存储设备统一管理起来,为使用者提 供大容量、高数据传输性能的存储系统,就称之为虚拟存储“”“。 需要说明的是,本文所述的网络存储技术重点研究的内容是怎样将统一的大存储空 间划分为多个存储区域,提供给客户端的用户使用,而不是这里所说的把分散的存储空 问合并成一个巨型的存储空间。从某种角度来说,两个过程恰恰相反。 虚拟化存储的实现原理有两种方式:即数据块虚拟( 如s a n ) 与虚拟文件系统( 如 n a s ) 1 。 数据块虚拟存储方案着重解决数据传输过程中的冲突和延时问题。在多交换机组成 的大型f a b r i c 结构的s a n 中,由于多台主机通过多个交换机端口访问存储设备,延时 和数据块冲突问题非常严重。数据块虚拟存储方案利用虚拟的多端口并行技术,为多台 客户机提供了极高的带宽,最大限度上减少了延时与冲突的发生,在实际应用中,数据 块虚拟存储方案以对称式拓扑结构为表现形式“。 第】章绪论 虚拟文件系统存储方案着重解决大规模网络中文件共享的安全机制问题。通过对不 同的站点指定不同的访问权限,保证网络文件的安全。在实际应用中,虚拟文件系统存 储方案以非对称式拓扑结构为表现形式o ”。 1 、n a s 结构中的虚拟存储。如图1 1 所示,n a s 是在r a i d 的基础上增加了存储 文件系统。 客户机客户机客户机 虚拟存储驱动虚拟存储驱动虚拟存储驱动 ii 虚拟存储管理设备 ( 统一的文件系统) ii 磁盘阵列磁盘阵列磁盘阵列 图1 1n a s 的虚拟存储结构 f i g u r el 一1 n l l a ls t o r a g em u c t 叭i nn a s 2 、基于s a n 的虚拟存储“,s a n 是独立出一个数据存储网络,网络内部的数据传 输率很快,但是因操作系统仍停留在服务器端,用户不是在直接访问s a n 的网络,因 此这就造成s a n 在异构环境下不能实现文件共享,如图1 2 所示。 l a n s a n 客户机客户机客户机 虚拟存储驱动虚拟存储驱动虚拟存储驱动 i 虚拟存储管理设各 ( 服务器) 存储服务控制器 | 磁盘阵列磁盘阵列磁盘阵列 图1 2s a n 的虚拟存储结构 f j g u r e1 2v i n u a ls t o r a g es t r u c t u r ei ns a n 本文所述网络虚拟磁盘系统拟采用一种方案,在s a n 上建立或应用一个统一的文 北京工业大学工学硕士学位论文 件系统,然后在此文件系统上划分逻辑存储空间进行客户端虚拟。这样既有利于实现文 件共享,又可以大大降低开发难度。这部分内容将在另一篇论文中详细阐述。 1 3 研究内容 研究在w i n d o w s 内核模式下开发网络虚拟磁盘驱动的基本方法,并开发网络虚拟磁 盘系统,进一步研究这种个人移动存储解决方案在个人移动存储方面的可行性和实用 性。 具体涉及如下内容的研究: l 、磁盘虚拟技术实现原理。 2 、基于t d i 的网络传输技术实现原理。 3 、探讨在w i n d o w sn t 内核模式下,基于t d i ( t 姗s p o r td r i v e ri n t e m c e ) 开发l 网络 虚拟磁盘驱动的方法和步骤,并进行可行性研究及功能分析。 4 、w i n d o w s 及l i n u x 平台下i s c s i 的部署实现。 5 、用户身份认证。 6 、w i n d o w s 及l i n u x 平台下的磁盘管理。 其中4 6 的内容在另一篇论文中阐述。 研究的重点:w i n d o w s 平台下的磁盘虚拟技术和网络传输技术。 研究中的难点:在w i n d o w 内核模式下的网络传输,以及如何在客户端增加缓存的 情况下保持数据同步。 1 4 研究意义 网络虚拟磁盘技术既可以解决用户移动中的个人信息存储问题,又可以使用户更方 便的使用网络存储资源,具有很高的实用价值。 网络虚拟磁盘技术得以应用推广,将是对现有的大邮箱系统和移动存储设备的极大 补充,对于提高个人用户的办公效率等方面有很大帮助。 更进一步,应用网络虚拟磁盘技术可以使计算和存储分离,实现无盘网络,有利于 计算机的管理和维护,降低使用成本。在计算机技术网络化的飞速变革中将占有重要的 一席之地。 第2 章个人网络磁盘总体设计 第2 章个人网络磁盘总体设计 2 1 个人网络磁盘的设计原则 2 1 1 操作方面 个人网络磁盘力求做到,不改变用户的使用习惯。现在,大多数1 ,i n d o w s 用户都习 惯于用w i n 如w s 操作系统中的资源管理器管理自己的程序和文件。所以设计个人网络磁 盘应尽量保持资源管理器中的磁盘使用风格。 资源管理器中,磁盘以一个磁盘图标形式表现。用户右击磁盘图标,选项中有磁盘 格式化和查看磁盘属性等选项。双击磁盘图标可以打开磁盘。 磁盘中的文件以图标形式表现。通过右键选项可以实现新建、粘贴等对文件的操作。 双击文件图标,可以打开文件并实现对文件的编辑。选中文件图标,可以查看文件属性、 为文件重命名,并可以对文件做删除等操作。 个人网络磁盘将尽力实现这些方面的功能,并保持操作方式不变。 2 1 2 性能方面 个人网络磁盘力求做到,使用时达到跟本地磁盘大致一样的效果。 在资源管理器中,对磁盘的常规操作有以下几种:1 ) 磁盘格式化。2 ) 查看磁盘属 性。3 ) 磁盘读写操作,包括在磁盘中创建文件、打开文件、编辑文件、删除文件等。 个人网络磁盘格式化时可以选择任何文件系统格式,如n t f s ,f a t 3 2 等,并且可 以设置相应的格式化参数。 可以为个人网络磁盘任意设置卷标,可以准确无误的读出磁盘属性,如磁盘容量, 已用空问,未用空间,文件系统类型等等。 对个人网络磁盘的读写操作速度应该优化。应该有适当的读写缓冲机制,加快读写 速度,跟读写本地磁盘效果相仿。 2 2 个人网络磁盘的功能分析 2 2 1 基本功能 l 、磁盘格式化 可以对磁盘进行格式化操作。按照现有的文件系统格式,如n t f s ,f m 3 2 等,对 个人网络磁盘进行格化操作。格式化时可以任意设置格式化参数,如分配单元大小,文 件系统格式等。 北京工业大学工学硕士学位论文 2 、查看磁盘属性 可以随时查看磁盘的状态信息。比如,磁盘容量、已用空间、未用空间、磁盘类型、 文件系统格式等。 3 、磁盘读写操作 1 ) 创建文件 挂载磁盘后,可以新建、粘贴各种类型的文件。可以任意指定文件名和扩展名。 2 ) 编辑文件 可以对磁盘中的文件进行比较流畅的读写操作。可以更改文件名称。 3 ) 删除文件 可以删除网络虚拟磁盘中的文件。删除后的文件将不再显示在磁盘中。 2 2 2 其他功能 1 、磁盘备份 对磁盘信息进行有效的备份,可以增强信息存储的可靠性。使用户不必担心网络虚 拟磁盘上的文件被破坏或丢失。 2 、磁盘信息加密 磁盘的操作数据和命令需要在网络上传输,磁盘信息加密可以保证这些信息的安全 性。 2 3 个人网络磁盘系统的整体结构 2 3 1 网络配置结构 图2 1 网络虚拟磁盘系统网络日a 置结构 f i g u r e2 一ln e t w o r kc o n 矗g u r a t i o ns t m c t u r eo f n e t 、v o r kv i n u a ld i s ks y s t e m 如图2 1 所示,个人网络磁盘系统可以分为两个子网。一个是服务器机群与大型存 储网络共同构建的存储网络,另个是众多客户机与服务器机群构成的以太网。 大型存储网络由存储设备构成,提供较大规模的存储空问。用户的磁盘数据将保存 在这些存储设备中。 第2 章个人网络磁盘总体设计 服务器机群包括用户登录服务器、负载均衡服务器和存储服务器。用户登录服务器 负责管理用户信息,包括用户的注册、登录认证等。存储服务器负责为用户分配逻辑卷, 即给用户分配存储空间。为提高服务效率,存储服务器可以不止一个,而且使用负载均 衡服务器建立负载平衡机制。 2 3 2 功能分配结构 1 、客户端配置 客户端包括网络虚拟磁盘驱动程序和客户端登录程序。网络虚拟磁盘驱动程序负责 创建磁盘、挂载磁盘文件、读写磁盘等全部底层功能。客户端程序负责用户登录,调用 网络虚拟磁盘驱动实现磁盘挂载和磁盘卸载功能。 2 、服务器端配置 服务器端程序分为两个主要模块。一个运行在用户登录服务器上,负责用户数据的 管理,包括对用户注册、登录等操作的处理,还负责为用户指定相应的存储服务器。另 一个模块运行在存储服务器上,负责为客户端用户分配相应的逻辑卷,并对大量逻辑卷 进行管理和维护。 2 4 个人网络磁盘的技术支持 2 4 1 软件技术支持 实现个人网络磁盘系统可以应用现有的软件技术。 1 、驱动程序开发技术 网络虚拟磁盘驱动的开发,可以借鉴和利用在w i n d o w sn t 内核下开发驱动程序的 原理和步骤。需要全面了解w i n d o w s 操作系统的基本原理,尤其是驱动程序调用机制, 和i ,o 处理机制。 2 、网络传输技术 网络虚拟磁盘系统中的数据传输部分,可以借用基于t d i 网络传输技术来保证数据 传输效率。另外,应用合适的缓冲机制来提高网络数据读取速度。 3 、大型网络存储技术 服务器端的大容量存储应用i ps a n 存储技术,在其基础之上开发一个高效的易管 理的存储服务系统。 2 4 2 硬件技术支持 l 、大型存储设备 根据本文所提的应用需求,i ps a n 更适合个人网络磁盘系统的使用。与其他大型 北京工业大学工学硕士学位论文 存储设备相比,口s a n 有以下优点:1 ) 可以任意增量扩充。2 ) 数据基于块传输,传 输速度比较快。3 ) 节约成本。 2 、其他硬件设备 个人网络磁盘系统对于其他的网络配置并没有特殊要求,一般1 0 m 以太网配景即 可满足要求。至于服务器机群,可根据需要在现有品牌中任意选置。客户端机器的硬件 配置应足以运行硼n d o w s2 0 0 0 ,) ( p 2 0 0 3 操作系统。 2 5 个人网络磁盘的开发步骤 1 、研究虚拟磁盘技术 研究基于n t 技术构建的晰n d o w s 操作系统的基本原理,对其中的系统服务,对象 管理,i ,o 运行机制进行深入理解。在此基础上,研究在w i n d o w sn t 内核模式下,开 发驱动程序的基本方法和步骤。研究w i n d o w s 操作系统中对文件的处理和对内核设备对 象的操作原理,并开发可以应用的虚拟磁盘驱动程序。 2 、研究网络传输技术 研究t d i ( t r a l l s p o r td 由e ri m c r f a c e ) 函数的功能和使用方法。研究网络协议驱动 原理。研究在w i n d o w s 操作系统中网络协议驱动的调用机制和网络传输过程。在此基础 上开发t d ic l i e n t 驱动,掌握基于t d i 的网络传输机制。 3 、开发网络虚拟磁盘驱动 通过对虚拟磁盘技术和网络传输技术的总结,把两者结合起来,研究t d i 在网络虚 拟磁盘驱动程序中的应用,开发网络虚拟磁盘驱动。 4 、构建网络虚拟磁盘系统 设计和开发客户端登录程序,配合服务器端程序实现网络虚拟磁盘系统。服务器端 模块设计在另一篇论文中有详细阐述。 2 6 本章小结 本章介绍以下内容:1 ) 个人网络磁盘的整体设计和功能探讨。2 ) 对相关软硬件技 术的取舍。3 ) 个人网络磁盘系统的开发步骤。 在设计个人网络虚拟磁盘系统过程中,本着不改变用户使用习惯的原则进行设计, 尽力使该网络磁盘具备本地硬盘的功能。为使网络磁盘系统运行效率更高,所以在客户 端开发基于w i n d o w s n t 内核的网络虚拟磁盘驱动。客户端的网络虚拟磁盘驱动、客户 端登录程序,和服务器端的用户登录服务程序、存储管理程序共同构成网络虚拟磁盘系 统。以后各章将按照本章的整体设计和研究步骤进行排列。依次介绍本章所述的研究内 容。 第3 章w i n d o w s 内核分析 第3 章w i n d o w s 内核分析 在w i n d o w s 内核模式下开发网络虚拟磁盘驱动,首先必须了解w i n d o w s 操作系 统的基本原理。搞清、i n d o w s 操作系统的对象管理机制、i ,o 处理机制和驱动程序的 调用原理。本章将就这些内容进行分析,探讨网络虚拟磁盘驱动程序的开发方法和 步骤。 3 1 基于n t 的w i n d o w s 操作系统特点 3 1 1 内核模式和用户模式 在x 8 6 系统中,c p u 可运行在四个不同的级别层上,在n t 系统中,实际上只 用到了两个层。n t 操作系统是建立在客户服务器模型基础上的操作系统,系统由运 行在融n g o 层上的核心态模式程序和运行在础n 9 3 层上的用户态模式组成0 1 。 核心态模式,也称n t 执行体,是操作系统的核心,包括系统服务和硬件描述 层。它完成操作系统应该提供的服务,如文件系统、进程控制、内存管理、设备管 理等。 用户态模式,是运行在鼬n 9 3 层上的,是n t 提供的一些环境子系统。w i n d o w s n t 系统中,进程通常运行在特定环境子系统中,如运行在o s ,2 子系统,安全子系 统、w i n d o w s3 2 子系统等。这些环境子系统就是运行在斑n 9 3 层上的用户态模式。 3 1 2 基于n t 的操作系统结构 n t 操作系统采用层次结构,主要由三部分组成,即可执行层、微核层和硬件抽 象层( h a l ) ,如图3 1 所示“1 。 可执行层包含可执行模块和一些其它部件。可执行模块是操作系统中的一个特 殊模块,负责系统服务分发,管理分页池和非分页池等。可执行模块是在其它部件 提供的服务基础上工作的。 微核层是c p u 自身的理想化视图,提供以下管理机制:中断和异常处理、线程 调度和同步、多处理机同步、定时控制等。 硬件抽象层即h a l 层,是n t 操作系统中独特的地方,可以理解为硬件平台的 抽象化,用不是c p u 自身一部分的硬件抽象模型来代表系统其余部分,使得操作系 统不依赖于特殊硬件平台或体系结构。 北京工业大学工学硕士学位论文 可执行层 i o 管理器 对 象 管 理 器 安 全 引 用 监 视 器 过 程 管 理 器 局 部 过 程 调 用 内 存 管 理 器 高 速 缓 存 管 理 器 窗口 管理器 图形 设备 接口 图3 1n t 体系结构 f i g u r e3 1n ts y s t e ms 仃u c t u m 3 1 3w ;n d o w s 中的n t 设备和w ;n 3 2 设备 w i n d o w s 对象名字空间提供一种伞形结构,在其下是个对象的自包含的集,叫 做对象域,并允许对象名字空间被扩充。i ,o 管理器是一个二级对象管理程序,管 理着一个由磁盘文件、目录、设备组成的对象域。“o 管理程序创建名字为、d e 、r i c e 的对象目录,来包含代表i o 设备的各对象的名字。 在用函数i o c r e a t e d e v i c e 创建d e v i c e 对象时,指定的名称是设各对w i n d o w s n t e x e c 嘶v e 知道的名字。如果要使设备对w i i l 3 2 子系统和d o s 虚拟机可用,还必须 给设备一个d o s 名称。在m s d o s 中,用户使用a :、c :、d :等等来指定软盘和 硬盘驱动器,w i n 3 2 子系统通过把全部驱动器字母放入对象管理程序名字空间作为 全程数据来保护驱动器字母。为此,创建一个特别的对象目录( 如图3 2 所示) : d o s d e v i c e a :c :i 图3 2w i n 3 2 设备对象目录 f i g u r e3 - 2w i n 3 2d e v i c eo b j e c td j r e c t o 叫 n t 设备名和w i n 3 2 设备名位于对象管理器的名字空间的不同部分。n t 设备名 在树的d e v i c e 下面。而w i n 3 2 名则出现在d o s d e v i c e s 下面。同一d e v i c e 对象的 第3 章w m d a w s 内核分析 n t 设备名和d o s 设备名通过符号连接相联系。 3 2 w i n d 洲s 驱动程序 3 2 1 驱动程序的分层结构 n t 操作系统提供了一种分层的体系结构,每一个设备驱动程序都有一个下层接 口和一个上层接口。低层的驱动程序直接控制硬件。在低层和上层驱动程序之间的 是中间层驱动程序。w - m d o w sn t 的这种驱动程序体系,使得开发网络虚拟磁盘驱动 成为可能。 晰n d o w sn 删i n d o w s2 0 0 0 下设备和驱动程序有着明显的堆栈式层次结构:处 于堆栈最底层的设备对象称为物理设备对象( p h y s i c a ld e v i c eo b j e c t ) ,或简称为 p d o ,与其对应的驱动程序称为总线驱动程序。在设备对象堆栈的中间某处有一个 对象称为功能设备对象( f u n c t i o nd e v i c eo b i e c t ) ,或简称f d o ,其对应的驱动程序 称为功能驱动程序。在f d o 的上面和下面还会有一些过滤器设备对象。过滤设备对 象( f i j t e r d e v i c eo b j e c t s ) ,简称为f i d o 。如图3 3 所示跚,位于f d o 上面的过滤器 设备对象称为上层过滤器,其对应的驱动程序称为上层过滤器驱动程序;位于f d o 下面( 但仍在p d o 之上) 的过滤器设备对象称为下层过滤器,其对应的驱动程序称为 下层过滤器驱动程序”1 。 图3 - 3 分层驱动程序结构”。 f 嘻u r e3 3l a y e r e dd v e rs t r u c t u r e 这种栈式结构可以使“o 请求过程更加明了。每个影响到设备的操作都使用i r p 。 通常i r p 先被送到设备堆栈的最上层驱动程序,然后逐渐过滤到下面的驱动程序。 每一层驱动程序都可以决定如何处理i r p 。有时,驱动程序不做任何事,仅仅是向下 层传递该i i 诤。有时,驱动程序直接处理完该i r p ,不再向下传递。还有时,驱动程 序既处理了i i 冲,又把i r p 传递下去。这取决于设备以及i r p 所携带的内容。 通过上面的介绍可得知:如果我们想改变磁盘操作,就必须拦截文件系统驱动 日日回日 北京工业大学工学硕士学位论文 程序传往下层驱动程序的i i i p 。而拦截i r p 最简单的方法莫过于创建一个网络虚拟磁 盘设各对象。加入设备堆栈中,处理来自文件系统驱动的i r p 消息,并传递给下层 驱动。 3 2 2 内核驱动程序的通信 驱动程序和普通应用程序不同,没有m a i l l 或者w i i l m a i n 函数入口,而是采用 入口点模型,向操作系统提供一个名称为d r i v e r e n 仃y 的函数,当系统启动驱动程序 时,将调用这个入口。d r i v e j r l t 叮函数被称为n t 驱动程序入口点,在这个函数中, 主要来做一些必要的设备初始化工作,如用来初始化一些d i s p a t c h 分发例程入口。 驱动程序主要就是由入口点例程d r i v e r 】吼r y 、分发例程和一些设备对象组成。 分发例程主要是用来完成哟管理器要求驱动程序完成的特定功能,可以理解为响应 i ,o 管理器消息处理的函数。 在n t 系统中,i 0 管理器把每一个设备都抽象为文件,w i n3 2 用户程序通过几 条简单的文件操作a p i 函数,就可以实现与驱动程序中某个设备通信,一个驱动程 序可以驱动多个设备。 w i n d o w s3 2 a p i 函数有: c r e a t e f i l e打开一个设备,返回一个与设备相关的句柄 c l o s e h a l l d l e关闭一个由c r e a t e f i l e 打开的设备 r e

温馨提示

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

评论

0/150

提交评论