(通信与信息系统专业论文)cdma+msc中虚拟hlr的设计和实现.pdf_第1页
(通信与信息系统专业论文)cdma+msc中虚拟hlr的设计和实现.pdf_第2页
(通信与信息系统专业论文)cdma+msc中虚拟hlr的设计和实现.pdf_第3页
(通信与信息系统专业论文)cdma+msc中虚拟hlr的设计和实现.pdf_第4页
(通信与信息系统专业论文)cdma+msc中虚拟hlr的设计和实现.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阕。本人授权上海交通大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 保密函,在 年解密后适用本授权书。 本学位论文属于 不保密口。 ( 请在以上方框内打“”) 学位论文作者签名: 彩枷 指导教师签名:客美艮 日期:j 年,月刁日日期:2 即是年f 月争7 日 上海交通大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本 文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 霹俸略 日期:泖) 年,月卵日 摘要 v h l r 系统将内置于m s c 的h l r 对移动用户数据的集中管理,改变为地市级管理中 心的分散管理,使管理变得实时高效;并对操作管理员设有不同的操作权限以保证移 动用户数据操作的安全性、完整性和规范性,面且提供友好的图形界面易于操作员使 用操作。v h 。r 系统采用三层c s 结构,客户端只需具备浏览器功能;服务器端因处 理逻辑的不同而划分为四个部分:w e bs e r v e r 、c as e r v e r 、t r a n s a c t i o ns e r v e r 、 d a t a b a s es e r v e r ,分别用来实现客户端请求的传输、登录权限和输入人机命令合法 性等的安全认证、客户端请求提交到数据库这一事务的处理过程、系统相关数据的保 存。其中t r a n s a c t i o ns e r v e r 是该系统的核心处理部分。 本论文对二层和三层c s 模式进行了分析比较,选择了三层c s 模式作为v h l r 系统的设计模式。本论文重点引入了事务处理的概念,定义了事务处理服务器的基本 模型,即将其分为四个功能模块:数据代理( d a ) 、队列管理( q m ) 、通信资源管理( c r m ) 和事务处理监控( t p m ) ,并对这四个功能模块分别作了功能、工作原理和工作流程等 的分析研究。其中对q m 提出了一种基于c o r b a 规范的解决方案,建立三个管理队列: i n p u l q u e u e 、o u t p u tq u e u e 和e r r o rq u e u e ,三者各司其职,以一种数据流的方式 进行,具有很好的稳定性,并采用两阶段提交( 2 p c ) 方式和文件锁制度来保证事务 的原子性和一致性。另外,使用事务处理监视模块来对数据访问进行协调以实现事务 的a c i d 特性。 本设计经过机房调试和现场测试,性能达到了设计要求,整个系统运行稳定。目 前v h l r 系统已f 式投入中国联通c d m a 项目的设备运行之中。 关键词虚拟h l r ,三层c s 结构,事务,两阶段提交,事务处理监控 a b s t r a c t i n s t e a do ft h ec e n t r a l i z e df u n c t i o no fh l r ,v i r t u a lh l rp r o v i d e saf l e x i b l e b u tr e s t r i c t e da c c e s sw a yf o rt h ed i f f e r e n tl o c a lm o b i l en e t w o r km a n a g e r st o a d m i n is t r a t et h e i ro w nm o b i l es u b s c r i b e r s v n l rs y s t e mu s e st h et h r e e t i e r s c 1i e n t s e r v e rm o d e o n l yi eo rn e t s c a p ei sn e e d e di nc li e n tw s ,a n dt h es e r v e r s i d ei sd i v i d e di n t of o u rp a r t sb yt h ed i f f e r e n tp r o c e s sl o g i c :w e bs e r v e r , c as e r v e r ,t r a n s a c t i o ns e r v e ra n dd a t a b a s es e r v e r f o l l o w i n gf u n c t i o n sw i1 i b er e a l i z e d r e s p e c t i v e l y :t r a n s m i s s i o n o fu s e r r e q u i r e m e n t s ,c u s t o m e r a u t h e n t i c a t i o na n dm a n - m a c h i d ec o m m a n ds e m a n t i cc h e c k ,t r a n s a c t i o np r o c e s s , d a t as t o r a g e t h e r e i n t ot h et r a n s a c t i o ns e r v e ri s t h ek e r n e lp a r to fv h l r s y s t e m b a s e0 nt h ea n a l y s i sa n dc o m p a r i s o i lo nt h et w o + t i e rm o d ea n dt h r e e t i e r m o d eo fc 1 l e n t s e r v e ra r c h i t e c t u r e ,w es e l e c tt h el a t t e ra st h ed e s i g nm o d e l o ft h ev l t l ,rs y s t e m i nt h i st h e s i s ,i te m p h a s i z e st h et r a n s a c t i o ns e r v e r 。w i t h t h ei n t r o d u c t i o no ft r a n s a c t i o n ,w em a d ed e c i s i o n o nt h eb a s i cm o d e lo f t r a n s a c t i o ns e r v e rt h a ti ti sd i v i d e di n t of o u rf u n c t i o n a lp a r t s :d a t aa g e n t , q u e u em a n a g e m e n t ,c o m m u n i c a t i o nr e s o u r c em a n a g e m e n ta n dt r a n s a c t i o np r o c e s s m o n i f o r ,a n ds t u d yt h e mr e s p e c t i v e l y ,m a i n l ya b o u t t h e i rf u n c t i o n a l i t i e s , w o r k i n gp r o c e d u r e s ,e t c ,t h e r e i n t o ,as o h t i o nb a s e do nc o r b ai s r a i s e df o r q m i tw i l le s t a b l i s ht h r e ea d m i n i s t r a n tq u e u e sw h i c hu s et h ed a t as t r e a m w i t h g o o ds t a b n it y :i n p u tq u e u e ,o u t p u tq u e u e ,e r r o rq u e u e t w op h a s e sc o m m i tm o d e a n df i l ek e ya r eu s e dt oe n s u r et h ea t o m i c i t ya n dc o n s i s t e n c yo ft r a n s a c t l o i l i na d d i t i o n t p mm o d u em o n i t o ra n dc o o r d i n a t et h ev i s i t i n go f d a t a a f t e rt h e a bt e s ta n do ds i t et e s t ,v h l rs y s t e mr u n ss t a b l ya n dp r o p e r l y n ( ) wjth m n c h e si n t oo p e r a t i o no nt h ec d m an e t w o r ko fc h i n au n i c o m k e yw o r d s :v i i l r ,t h r e e t i e rc sa r c h i t e c t u r e ,t r a n s a c t i o n ,2 p c , t r a n s a c t i o np r o c e s sm o n i t o r 缩略语 2 p ct w op h a s e sc o m m it两阶段提交 a c i d a t o m i c i t y ,c o n s i s t e n c y ,i s o l a t i o n ,d u r a b i l i t y 原子性、一致性、隔离性和持久性 c u s t o m e ra u t h e n t i c a t i o n用户安全认证 c o d ed i v i s i o nm u l t i p l ea d d r e s s码分多址 c o m m u n i c a t i o nr e s o u r c em a n a g e m e n t 通信资源管理 d a t aa g e n t数据代理 m o b i l es w i t c h i n gc e n t e r移动交换中心 o p e r a t i o na n dm a i n t e n a n c et e r m i n a l 操作维护终端 q u e u em a n a g e m e n t 队列管理 t r a n s a c t i o np r o c e s sm o n i t o r事务处理监控 h o m el o c a t i o nr e g i s t e r归属位置寄存器 v i r t u a lh o m el o c a t i o nr e g i s t e r虚拟归属位置寄存器 m m c t m r l队吲删m胚叫卯乩 1 1 市场背景 市场背景及v h l r 概述 在移动通信系统中,虽然每个移动用户都可以在整个移动网络( 如c d m a 或g s m ) 内漫游,但是移动用户只需要在其中一个国家的一个运营商进行登记、签约及付费。 这个运营者就是该移动用户的归属局,归属局存放所有用户签约信息的寄存器就是归 属位置寄存器h l r ( h o m el o c a t i o nr e g i s t e r ) 。h l r 通常是一个数据库,其中存放着 全部“归属用户”的信息,如用户的有关号码( i m s i 和m i n ) 、用户类别、相关的动 态数据( 如位置信息) 以及分配给用户的补充业务等。h l r 的基本功能是存储用户数 据,h l r 还允许操作员创建、修改、删除和显示用户数据。 图1 c d m a 系统组刚图 r 的实现通常有两种方案,其一是采用计算机平台;另外种采用交换机甲台, 即采用m s c 平台,提供一个用,数据操作接口,如上海贝尔有限公司提供的h i r 就是 以这种方式实现的。这两种方式各有其优缺点。上海贝尔s 1 2c d m am s c 提供的内置 ,h i h 使得系统更加合理经济,但这种交换机平台的川r 存在如卜问题: 箱:h i 。l 主要用于省级管理中心对全省的移动网络进行集中控制,对所属i i 。r 的移动用户进行统管理,而无法按照地区划分管理权限,并远程管理所属移动用j 。, 即所属地市的移动管理中心小能卣接管理其所辖的移动用户,影响了具服务质量。营 运商和最终用户都迫切希望能刈此操作流程有所改进。 第二:操作及接口复杂,对h i j r 用,、数据管理员要求太高。管理操作是直接以m s c 人机命令形式进行的,命令格式复杂,小易熟悉和日 乙,人性化和可操作性较荠。 1 2 v h l r 概述 山于存在上述缺点,我们很自然地想到:能台将集巾式的1 1 l r 功能部分分散化, 使得在各个地市的移动管理巾心可以很方便地刈本地区的移动用户进行管理? 具备 上述特点的h l r 我们称之为v h l r 。它有以卜i 突出优点: 1 ) 改变了川数据的集中管理和控制,提高丁运营商的服务效率; 2 ) v il l i 在管理功能上是受限的,剐:本地管理z 只能刈其所管辖的用户进行直接的、 实叫的访问和管理,小能越权接触非其所属的用户数据,从向保证用户数据的安 全性、完整性和规范性。 : ) 提供图形化的操作界而,避免使用复杂的m s c 的人机命令,方便了数据管删员的 操作,同时,所采用的训算机平台- , j - 扩充性好,便于将米增加新的功能。 1 3 本文的二i 要工作 木论文的上作首先通过划二层和i 层c s 模式优缺点的分析比较选抒卜_ | 层 c 5 模式作为v h l r 系统的设计模式。“肥客户机”形式的二层c s 模式的j l 发工作主 要集中存客j 、方,包括刖户界面和应用逻辑的处理,系统的可伸缩性较筹,安装维护 较凼难。而i 层c s 模式将应用的一部分( 表示部分、心用逻辑部分利数据防问部分) 明确地进行分割,使其存逻辑上各自独立,并且币独实现,分别称之为客j 、。、应用服 务器、数据库服务器,层次非常清晰。_ 二层结构应用软件的特点是用户界而t j 应i l 逻 辑位丁小同的平台上,并且心用逻辑被所何用户共字。而日安全i t j 靠,冈为客户机不 会直接连接数据库系统,而服务器能够实现更细致的授权定义,增强了整体系统的安 全性。 本论文的一i :作重点在于将事务处理的概念引入到v i i i 。j 系统的核心部分应j 服 务器r f l ,定义了事务处理服务器的笨本模型,即将其分为四个功能模块:数据代理 ( d a ) 、队列管理( q m ) 、通信资源管理( c r m ) 和事务处理嘛控( t i ,m ) ,并对这四个 功能模块分别作了功能、工作原理和工作流程等的分析研究。其巾对q 提出了种 基于( :( ) r b a 规范的解决力案,建、) _ 个管理队列:i n p u tq u e u e 、o u t p u tq u e u e 和e r r o r q u e u e ,i 者备司其职,以。种数据流的方j 进行,具有很好的稳定性,并采用两阶 段提交( 2 p c ) 方式和文件锁制度束保证事务的原予性和致性。另外,使用事务处 理监视模块末对数据访问进行协凋以实现事务的a c i d 特性。 2 1v h l r 系统的特点 二、v i - i l r 的系统结构 对于运营商而言,v h l r 的操作维护子系统可分为两类: 一类称为操作维护终端o m t ,主要用于运营商的营业大厅内,负责所辖营q l , i k 域 内的移动用户数据的查询、插入、删除和修改。这类终端的特点是: 1 ) 功能简单:仅负责h l r 中用户数据的维护,对于h l r 数据库的运行情况( 如告警、 模块的扩展等) 应予以屏蔽; 2 ) 数量大,范围广; 3 ) 操作频繁:每部手机的通话开通和业务的变更都需要更新h l r 数据库; 另一类则称为系统管理员,或称之为超级用户,主要用于m s c 交换机房,即v h l r 服务器所在地。它的特点是: 1 ) 功能全:要实现h l r 操作维护的全部功能; 2 ) 数量少:一般来说,一个h l r 只有一个超级用户: 3 ) 操作权限高:超级用户不仅具有一般操作员的使用v h l r 的权限,而且还要负担起 管理v h l r 系统的责任,如删除数据库日志、管理分区段成员、启动关闭v h l r 系统等。 由于h l r 中存储了数量巨大的用户数据,其地位在移动网中是极其重要的,因此, 对于v h l r 的设计,稳定、可靠时首先要考虑的问题。本设计主要从硬件、软件两个 力而进行了考虑。硬件t ,选用高性能、高可靠性的服务器;软件上,运用了容错性 原则,在异常情况出现时,系统也不会崩溃。 除此之外,v h l r 系统还有如下一些特点: 1 ) v h l r 作为m s c 的中间层,屏蔽了所有对m s c 的直接操作; 2 ) 用户可以通过f 1 传输方式远程登录v h l r ,并以其作为数据代理服务器,对m s c 进行操作; 3 ) 通过v h l r 实现对h l r 中的用户数据的分区管理: 4 ) 对应不同的权限和所属分区的不同,用户的操作维护权限也将受到相应的控制; 5 ) 具有负载均衡能力、强容错能力及灾难恢复能力; 6 ) 可对v h l r jm s c 之问的操作维护通讯链路进行实时监测; 7 ) 具备操作维护几志功能; 8 ) 具备联机帮助功能。 此外,该系统具有高度的可扩展性,可很方便地扩展出基于h l r 的其它操作维护需求 2 2v h l r 系统的组网 v i t l r 系统的组网如图2l 所示。 图2 - 1y r i l r 的组网络构 图中,v h l r 与m s c 处于同一物理地点,s 1 2c d i 恤am s c 提供两种接口方式:一种 方式m s c 的e p m o m 模块通过t e l n e t 协议,采用t c p 1 p 进行连接;另外一种方式是通 过r s 2 3 2 串口进行连接,v h l r 系统即提供了这两种方式与m s c 通信。与v h l r 处在同 一局域网的用户可以通过l a n 登录,而远端用户可以通过e 1 传输或拨号方式访问 v l t l r 。 为了更清楚地说明v l i l r 系统的组网,图2 2 给出一个远端用户访问v h l r 的例子。 剀2 - 2 远端川户通过e 输方式接入 分散n :小吲地理位督的i i l r 用户数据操作维护人员通过各自的终端【p c 或 w o r k , s t a t io n ) ,通过e l 传输方式远程接入,登录v 1 1 1 r 来访问i i l r 的用,。数掘,操作 头终端只需配备浏览器( m i ( r o s o ni f l t er r i ele x p l ( ) r e r50 或n t ,1 l p o4j 以 :j , 向九颈i i 他专= j 软件。 2 3 v h l r 的设计模式的选择 从前面v h l r 系统的特点描述中我们可以看到,v h l r 实质上是一个数据代理服务 器,它屏蔽了用户直接对m s c 的操作。v h l r 的设计实质上就是一个数据库应用的设 计。目前,应用广泛的数据库应用设计采用c 1 l e n t s e r v e r 模式。从c l i e n t s e r v e r 模式的发展趋势看,又分为以下几种体系结构: 2 3 1 二层c s 模式 典型的数据库应用可分为三部分,即表示部分、应用逻辑( 或称商业逻辑部分) 和数据访问部分,且广泛采用c s ( 即c l i e n t s e r v e r ) 结构来实现。客户程序向数 据库服务器发送s q l 请求服务器返回数据或结果。其中,客户端主要有菜单、g u i 窗 体流、s q l 语句等图形界面用户接口( g u i ) 元素组成,而服务器端则采用o r a c l e 、 s y b a s e 之类的大型商用数据库服务器。系统可以以客户为中心,将应用逻辑放在前 端,用前台开发工具实现;也可以以服务器为中心,将应用逻辑放在后端,用d b m s 的存储程序和触发器实现( 如图2 3 所示) 。前后端在逻辑结构上总是物理结构一对 一映射。这种简单的结构体系在实现数据访问方面很容易,应用简单方便,也较容易 开发。 图23系统结构体系图 a队ppmlica瞄tion。se妇rv。ic”凰client最application l m 妞踮“记8 d a t a b a s es e r v e r s ) e j j j f i 图2 4二层客户机一服务器模式 2 3 2 三层( t h r e e t i e r ) c s 模式 为了解决两层结构应用软件中存在的问题,三层结构的客户机一服务器模式应运 而生。该模式将应用的三部分( 表示部分、应用逻辑部分和数据访问部分) 明确地进 行分割,使其在逻辑上各自独立,并且单独实现,分别称之为客户、应用服务器、数 据库服务器。 客户机上只需要安装应用程序,它负责处理与用户的交互和与应用服务器的交 互。应用服务器负责处理应用逻辑,具体地说就是接受客户机方应用程序的请求, 然后跟据应用逻辑将这个请求转化为数据库请求后于数据库服务器交互,并将与数 据库服务器交互的结果传送给客户机方的应用程序。数据库服务器软件根据应用服 务器发送的请求进行数据库操作,并将操作的结果传送给应用服务器。三层c s 模 式的结构如图2 - 5 所示。 a p p l i c a t i o ns e r v i c e s b u s i n e s ss e r v i c e s 【:凰兰j 图2 - 5三层客户机一服务器结构 从图2 - 5 可以看出,三层结构应用软件的特点是用户界面与应用逻辑位于不同的 平台上,并且应用逻辑被所有用户共享。应用服务器是整个系统的核心,它必须具有 处理系统的具体应用而提供事务处理、安全控制以及为满足不同数量客户机的请求而 进行性能调整的能力。应用服务器软件可以根据处理逻辑的不同被划分为不同的模 块,从而使客户机方应用程序在需要某种应用服务时只与应用服务器j :处理这个应用 逻辑的模块通信,并且一个模块能够同时响应多个客户机方应用程序的请求。 从应用功能l 二,可以将三层c s 结构划分为表示层、功能层和数据层。表示层是 客户机j 的用户接lj 部分,它担负着用户与心用问的剥话功能。它用于检查用户从键 主至亨 盘等输入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般使用图形 用户接口( g u i ) ,该接口操作简单、易学易用,而且易于生成和修改,以适应应用的 变化。功能层相当于应用的本体,它是将具体的业务处理逻辑地编入程序中,应用服 务器成为应用逻辑处理的核心,实现具体业务。应用服务器与客户间的数据交往应尽 量简洁,客户将请求信息发送给应用服务器,应用服务器返回数据和结构。应用服务 器一般与数据库服务器有密集数据交往,应用服务器向数据库服务器发送s q l 请求, 数据库服务器将数据访问结果返回给应用服务器。数据库服务器以传统的基于s o l 的d b m s 实现,能迅速地执行大量数据的更新和检索,它负责数据库数据的试题完整 性和参照完整性,完成数据的存储、数据的访问和数据的完整性约束。 使用三层c s 结构应用软件开发系统的优点是非常明显的,主要有以下几点: 1 ) 整个系统被分为不同的逻辑块,层次非常清晰: 2 ) 能够使“肥客户机”变成较“瘦”的客户机,对客户端的要求更低,可以充分发 挥服务器的能力; 3 ) 开发和管理的工作向服务器方转移,使得分布数据处理成为可能; 4 ) 易扩展,易维护; 5 ) 效率高,所有客户端通过应用服务器与d b m s 交互,对于d b m s 而言,只感受到应 用服务器一个连接,减少了监听进程数,提高了数据服务器的效率。 6 ) 安全可靠。由于客户机不会直接连接数据库系统,而服务器能够实现更细致的授 权定义,因此,三层c s 结构能加强整体系统的安全性。 三层c s 结构在具体实现上需要考虑如何对这三层进行明确分割,在逻辑上使其 独市。由于原来的数据层作为d b m s 已经独立出来,所以关键是要将表示层和功能层 分离成各自独立的程序。并且还要使这两层问的接口简单明了。一般有下列三种配置 力法: 1 ) 将数据层和功能层放在一台服务器上,如图2 - 6 ( a ) 所示。这种配置方式对服务 器的整体性能要求较高,即要求它有很快的处理速度,还要求它有大容量的存储 空f b j ,并且能承受较火的客户机负载。但它结构紧凑,省却了功能层和数据层的 硬件通信连接,易于维护。 2 ) 将数据层和功能层分别放在不同的服务器中,如图26 ( b ) 所示。这样服务器和 服务器之问也要进行数据传送。但是,由于在这种形式中三层是分别放在各自不 同的硬件系统上,所以灵活性很高,能够适虑客户机数日的增加和处理负荷的变 动。例如,在追加新业务处理时,可以相应增加装载功能层的服务器。因此,系 统规模越大,这种形态的优点就越明显。 3 ) 将功能层放在客户机上,如图2 - 6 ( c ) 所示。这种结构与二层c s 结构相比,其 程序的可维护性要好得多,但客户机的负荷太重,其业务处理所需的数据要从服 务器传给客户机,系统的性能很容易变坏。 1 表示层 i一 客户机 区叵匡 服务器 嚣困 服务器 囡区 ( a ) 图2 - 6 ( b )( c ) 三层c s 结构的实现方式 2 3 3v h l r 设计模式的选择 针对v h l r 系统的需求分析和运营特点,不难发现v h l r 系统管理中心和操作维护 终端o m t 无论是权限管理和功能,还是在接入数量和分布范围方面,都有较大的差别。 如果采用简单的两层客户服务器方式,必将存在很大的局限性,主要表现在o m t : 1 ) 客户端的应用程序升级难度大,共用过程的共享性差,当完成某一应用程序后, 在另一应用中重新使用几乎不可能; 2 ) 不能很好地保证数据库的应用程序的安全性; 4 ) 当客户端数量较多、网络结构复杂时,客,1 端与占用数据库的监听器进程消耗服 务器资源,降低效率。 为了解决上述问题,我们对v h i r 系统的设计模式采用三层客户机一服务器模式, 并采用图2 6 ( a ) 的实现方式。其应用服务器和数据库服务器在硬件上共存于一台 主机上,但在逻辑上完全分离。 三、v h l r 系统的设计和实现 3 1 v h l r 的结构 在应用服务器端一即v i i l rs e r v e r 的设计e 采用c o r b a 的思想,构建事务服务 器,保证用j 、o & m 请求的原子性( a t o m ic jt y ) 、 致性( c o n s i s t e n c y ) 、隔离性 ( i s o l a t i o n ) 和持久性( d u r a b i l i t y ) 。c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h il e c t u r e ) 体系结构是划象管理组织( o m ( ;,f h eo b j e c tm a n a g e m e n tg r o u p ) 为 解决分却式处理环境( d c e ) 中,硬件和软件系统的互连而提出的种解决方案。c o r b a 可以被称为通信中间件,它可以看成是把应用程序和通信核心的细节分离的软件。 c o r b a 规范有以下技术特点:引入了代理的概念;所实现的客户方程序与服务器方程 序的完全分离;将分布计算同面向对象的概念相互结合;提供了软件总线的机制;分 层的设计原则与实现方法。 如前所述,应用服务器软件可以根据处理逻辑的不同被划分为不同的模块,从而 使客户机方应用程序在需要某种应用服务时只与应用服务器上处理这个应用逻辑的 模块通信,并且一个模块能够同时响应多个客户机方应用程序的请求。因此,我们将 v h l r 系统的应用逻辑部分划分为四个部分:w e b 服务器,安全认证服务器,事务处 理服务器,数据库服务器。各自完成不同的任务。如图3 一l 所示。 1 ) w e bs e r v e r :w e b 服务器,负责接受从操作维护终端( o m t ) 发送来的操作维护( o m ) 请求,并将该请求发送给事务处理服务器( t r a n s a c t i o ns e r v e r ) ;此外,将从 t r a n s a c t i o ns e r v e r 返回的处理结果发送给o m t 。 除了简单的文档传输之外,w e b 服务器还提供功能强大的特性,例如出于安全性 考虑的数据加密。v h l r 系统采用了s s l ( 安全套接字层) 加密技术。u r l 中的文档名 可以指定一个可执行程序,在程序运行后生成一个i t t m l 文档。当一个w e b 服务器接 收到对该文档的请求后,它执行相应的程序,并将生成的h t m l 文档返回。并且,w e b 客户机可以在传输文档名的同时传递其他参数,这样它们可以在程序执行时作为参数 传递。所以,生成的文档可以根据传入参数的不同而不同。这些特性使得w e b 服务器 可以很容易地作为多种信息服务的前端服务器。要在w e b 服务器上提供新的服务,用 户只需创建并安装一个提供该服务的可执行程序。w e b 服务器上支持的h t m l 语言用 来实现信息服务图形用,1 界面。 2 ) c as e r v e r :安全认证服务器,负责对操作维护人员的用户权限,以及操作维护人 员输入的h l r 人机命令的合法性等进行验证,并对登录用户进行监测,以防止用7 “忘 记退出系统而引发的安全性问题。 3 ) t r a n s a c t i o ns e t v e l :事务处理服务器,它接受来自w e bs e r v e r 的操作维护请求, 提交给m s c 进行处理;然后将处理结果返回给w e bs e r v e r 送给操作维护终端;并将 处理结果写入数据库中。 客户对服务器进行事务远程过程调用。这些调用在操作员看来和通常的过稃调用 一样,但是同一个客户发出的所有远程过程调用在事务服务器方都包括在单一的一个 事务中。这样,如果事务中止,事务服务器将消除各个远程过程凋用所带来的影响。 事务处理服务器是v h l r 系统的核心部分,它将是本论文的重点研究部分。 4 ) d a t a b a s es e r v e r :数据库服务器,用于保存系统相关的数据,如m s c 的操作维护 f j 志数据,用户权限数据,移动用户分区信息数据等。 图3 - 1v h l r 系统结构 3 2v h i r 的模块划分 山图3 - 1 可知v i i l r 系统主要山四个部分组成,它们依次传递用户的请求和处理 结果。图32 给出了v h l r 系统的模块组成及其桐互关系( 事务服务器的模型定义存 引入事务概念后洋细导出) : 1 ) o m f : 操作维护终端( 即c 1 i e n t ) ; 2 ) w e bs e r v e r : 处理1 ,o m t 的h t t p h lt p s 的连接; 3 ) g as e r v e r :进行用户登录的鉴权等安全认证工作; 4 ) d a t aa g e n t :负责所有与数据库的接口; 5 ) 0 u e u em a n a g e m e n t :对叫t 的请求及结果进行排队: 6 ) c o m m u n i c a t i o nr e s o u r c em a n a g e m e n t :建立与m s c 的通信链路 7 ) t r a n s a c t i o np r o c e s sm o n i t o r :对系统进程进行监控和管理; 8 ) d a t a b a s es e r v e r :存储各种必要的数据; 图32v h l r 系统中的模块组成及其相互关系 一般米醢( 指正常情况) ,系统处理用,r l 请求的基本过程是这样的: 1 ) o m t 向v h l rs e r v e r 发起请求; 2 ) w e bs e r v e r 扁动( :( ;1 进程,向d a t aa g e n t 提交请求; 3 ) d a t aa g e n t 向d a t a b a s es e r v e r 提交鉴权请求; 4 ) d a t a b a s es e r v e r 返回鉴权结果; 5 ) 如果鉴权通过,d a t aa g e n t 判断该请求是否是m s c 的o & m 请求,若是则将该请求 提交给q u e u em a n a g e m e n t ,否则,转1 3 ; 6 ) q u e u em a n a g e m e n t 将优先级最高的请求送给c o m m u n i c a t i o nr e s o u r c e m a n a g e m e n t ; 7 ) c r m 建立与m s c 的连接,并将该请求送给m s c 处理; 8 ) m s c 将处理结果返回给c r m ; 9 ) c 蹦将处理结果送到q u e u em a n a g e m e n t ; 1 0 ) q u e u em a n a g e m e n t 将结果返回给d a t aa g e n t ; 1 1 ) d a t aa g e n t 写入数据库后,返回给c g i 进程; 1 2 ) c g i 进程将结果返回给用户; 1 3 ) t p m 接收到用户对v h l r s e r v e r 的操作维护命令; 1 4 ) 经过相应处理后,t p m 返回结果给d a t aa g e n t 。 3 3v h l r 系统核心部分事务处理服务器 t r a n s a c t i o ns e r v e r 是v h l rs e r v e r 的核心处理部分,稳定性原则集中体现在其 中。事务服务器主要包括以下几点功能: 1 ) 维护整个系统的稳定性; 2 ) 对用户的o & m 请求进行合法性验证; 3 ) 管理与m s c 之问的实际的通信连接; 4 ) 提供有效的负载均衡能力; 7 ) 确保用户请求( 事务) 的a c i d 性,即原子性( a t o m i c i t y ) 、一致性( c o n s i s t e n e y ) 、 隔离性( i s o l a t i o n ) 和持久性( d u r a b i l i t y ) 。 4 1 事务概念的引入 四、事务处理服务器 4 。i 1 事务概念 事务是构成单一逻辑工作单元的操作集合。不沦有无故障,数据库系统必须保证 事务的正确执行或者执行整个事务或者属于该事务的操作一个也不执行。此外, 数掘库系统必须以一种能避免不一致性的引入的方式来管理事务的并发执行。 事务是访问并可能更新各种数据项的一个程序执行单元。事务通常出高级数据操 纵浯言或编提语言( 如s q i ,、c o b o l ,、c 或p a s c a l ) 书写的用户程序的执行所引起, 爿用形如b e g i nt r a n s a c “o n 和e n dt r a n s a c t i o r 的语句( 或函数调用) 来界定。事 务山事务儿始与市务结束之问执行的会体操作组成。 为了保证数据完整性,我们要求数据库系统维护以下事务性质: 1 ) 原子性( a t o m i c i t y ) : 就是指用户的请求是原子操作,事务的所有操作在数据库中要么全部正确反映出 来要么全部不反映,不会只执行其中的某一部分。原子性保证事务故障时不会导致数 据库处于不一致状态。由于m s c 固有的缺陷( 不具有重发机制) ,在本系统中,我们 不保证用户提交到m s c 上处理的请求一定可以接受到完整的报告,所以该原子性仅限 于在v h l rs e r v e r 处理过程中是原子的。 2 ) 一致性( c o n s i s t e n c y ) : 指事务的状态转移是从一个一致的状态转移到另一个一致的状态。事务的隔离执 行( 既没有并发执行的其他事务) 保持数据库的一致性。也就是说执行一次用户的 o & m 请求要保证v h l r 中的数据与m s c 数据的同步。 3 ) 隔离性( i s o l a t i o n ) : 指事务之间是相互独立的,它们不会相互干扰。每个事务都感觉不到系统中有其 他事务在并发地执行。 4 ) 持久性( d u r a b i l i t y ) : 指个事务成功完成后,它对数据库的改变必须是永久的,即使系统可能出现故 障。即使用户由于某些原因本次s e s s i o n 未能得到看到其请求的结果,在任何时候 他都可以重新选择查看本次请求的结果。 这些特性通常被称为事务的a c i d 性。 4 1 2 事务状态 在不出现故障的情况下,所有事务都能成功完成。但是,事务并非总能顺利执行 并完成,这种事务成为q j 止事务。如果要确保原子性,中止事务必须对数据库的状态 不造成影响。这样,中止事务对数据库所作的任何改变必须撤销。一旦中止事务造成 的变更被撤销,我们就说事务已回滚。恢复机制负责管理事务中止。 成功完成执行的事务称为己提交事务。对数据库进行更新的已提交事务使数据库 进入一个新的一致状态,即使 :5 现系统故障,这个状态也必须保持。 一目事务已提交,不能通过中止它来撤销其造成的影响。撤销已提交事务所造成 影响的唯一方法是执行个补偿事务,但有时我们不能创建这样的补偿事务。因此, 书写和执行补偿事务的责任就留给了用户,而不足由数据库系统处理。 一个事务成功完成,其含义须进一步明确。为此我们建立了个简单的抽象事务模型。 事务必须处于以卜- 状态之一: 1 ) 活动状态:初始状态,事务执行时处于这个状态。 2 ) 部分提交状态:最后一条语句被执行后。 3 ) 失败状态:发现正常的执行不能继续后。 4 ) 中止状态:事务p f 滚并日数据库已被恢复到事务丌始执行前的状态后。 5 ) 提交状态:成功完成后。 事务相应的状态图如图4 1 所示。只有在事务已进入提交状念厉,才能蜕事务已 提交。同样,只有当事务已进入中止状态,才说事务已中止。提交的或中止的事务称 为已经结束的事务。 事务从活动状态开始。当事务完成它的最后一条语句后进入了部分提交状态。此 时,事务随意进完成执行,但由于实际输出可能临时驻留在贮存中,而在事务成功完 成前还可能出现硬件故障,因此事务仍有可能不得不中止。 接着数据库系统往磁盘上写入足够信息,确保即使出现了故障,事务所做的更新 也能在系统重启后重新创建。当最后一条这样的信息写入后,事务就进入了提交状态。 图4 - 1事务状态图 现在假设故障会引起磁盘数据丢失。系统判定事务不能继续f 常执行后( 如由 于硬件或逻辑错误) ,事务就进入了失败状态,这种事务必须回滚。这样,事务就进 入了中止状态。此刻,系统有两种选择: 1 ) 重启事务:这仅当引起事务中止的软硬件错误不是由事务的内部逻辑所产生时。 重启的事务被看成是一个新事务。 2 ) 杀死事务:系统这样做通常是由于事务的内部逻辑造成的错误,这只有重写应用 程序才能改f ;或者由于输入错误;或者所需数据在数据库中没有找到。 4 1 3 原了性和持久性的实现 数据库系统的恢复管理部件实现对原子性和持久性的支持。首先考虑一个简单但 效率极低的方案。这个方案假设某时刻只有一个活动事务,并且这个方案是基丁对 数据库做的拷贝( 称为影子拷贝) 。该方案还假没要处理的数据库只是磁盘上的一个 文件。磁盘l 维护。个称为d b p o jn l e t 的指针,它指向数据库的当前拷贝。 在影子数据库方案巾,欲更新数据库的事务首先创建数据库的一个完整拷贝,所 有的更新在新建的拷贝l :进行,而原始数据库( 被称为影子拷贝) 原封不动。如果任 何时候事务不得不巾止,新拷贝简单地被删除,原数据库没有受到任何影响。 如果事务完成,它的提交过程如下所述。首先,操作系统确保数据库新拷贝上的 所在页已被写到磁盘上。在u n i x 系统中,f l u s h 命令被用来达到这个目的。在刷新 完成后,d b p o i n t e r 指针被修改为指向数据库的新拷贝,这个新拷贝于是就成了数 据库的当前拷贝。而数据库旧拷贝被删除。这个方案的图形化表示如图4 - 2 所示,图 中显示了数据库更新前后的状态。 a ) 更新前 b ) 更新后 图4 2保证原予性和持久性的影子拷贝技术 在修改后的d b p o i n t e r 指针写到磁盘上之后,就说事务已提交了。我们现在来 看这种技术是怎样处理事务和系统故障的。首先考虑事务故障。如果事务故障在 d bp o i n t e r 指针修改之前发生,数据库的原始内容并未受影响,我们可以简单地通 过删除数据库的新拷贝来中l j 二事务。旦事务已提交,所有的更新就都在d b p o i n t e r 指针所指向的数据库。这样,不管有没有事务故障,事务更新或者全部反映到数据库 中,或者全部不反映。 现在考虑系统故障。假设在修改后的d b p o i n t e r 指针被写到磁盘上之前出现了 系统故障。当系统重肩后,读取的d b

温馨提示

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

评论

0/150

提交评论