




已阅读5页,还剩47页未读, 继续免费阅读
(计算机应用技术专业论文)分布式应用系统中数据库与应用程序分布的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ab s t r a c t t h e r e a r e t h r e e t o p i c s i n n o w a d a y s s o c i e t y : k n o w le d g e e c o n o m i c s , g l o a b a l i t y a n d c o n t i n u a b l e d e v e l o p m e n t . c o m p u t e n e t w o r k i n g i s a im p o rt a n t t o o l t o a c q u i r e , s t o r e , p r o c e s s a n d t r a n s f e r i n f o r m a t i o n i n k n o w le d g e e c o n o m i c s t i m e s . wi t h t h e d e v e l o p m e n t o f c o m p u t e n e t w o r k i n g t e c h n o l o g y , i n t e r n e t a r e w a l k in g i n t o p e o p l e s s t u d y , w o r k a n d l i f e d a y b y d a y , a n d i t p r o v i d e s u s w it h w i d e l y d i s t r i b u t e d c o m p u t i n g p l a t f o r m a i m i n g a t t h e s h a r i n g o f r e s o u r c e s . t h i s p a p e r m a i n l y r e s o l v e s t w o p r o b l e m s a b o u t d i s t r i b u t i o n i n i n t e r n e t : t h e d i s t r i b u t i o n o f d a t a b a s e a n d a p p l i c a t i o n . wh e n d i s t r ib u t e t h e d a t a b a s e , a c c o r d i n g t o t h e s y s t e m s r e q u ir e m e n t o f s i t e a u t o n o m y a n d d a t a c o n s i s t e n c y , a t f i r s t , w e p a rt i t i o n t h e d a t a , t h e n d i s t r i b u t e t h e m i n d i ff e r e n t s i t e s a c c o r d i n g t o c e r t a i n r u l e s , a n d r e s o l v e t h e p r o b l e m o f d a t a c o n s i s t e n c y w i t h d i s t r i b u t e d t r a n s a c t i o n o r d u p l i c a t i o n ; o n t h e o t h e r h a n d , t h e s e r v i c e r e q u i re d b y a p p l i c a t i o n m a y b e i n d i ff e r e n t c o m p u t e r s p h y s i c a l l y ,g e n e r a l l y ,w e r e s o l v e t h e d i s t r i b u t i o n o f a p p l i c a t i o n w i t h s u c h t e c h n o l o g y a s c o m / d c o m/ c o m+ . r mi a n d c o r b a e t c . t h i s p a p e r b e g i n s w i t h t h e i n t r o d u c t i o n o f t h e t o p i c s , e x p l a i n s t h e r e q u i r e m e n t o f t h e t o p i c s , a n d t h e n a n a l y z e s t h e d i s t r i b u t i o n o f d a t a b a s e and a p p l i c a t i o n s e p a r a t e l y : b as i c c o n c e p t , c u r r e n t r e s o l v e n t and c o m p a r i s o n o f t h e m. a n d t h e n p r o p o s e s m y m e t h o d : u s e p u s h / p u l l s u b s c r i p t i o n a n d m e r g e d d u p l i c a t i o n t o r e s o l v e t h e p r o b l e m o f d a t a c o n s i s t e n c y in lo o s e l y c o n s i s t e n t d i s t r i b u t e d s y s t e m, u s e d c o m and s o c k e t t o i m p l e m e n t t h e a c c e s s o f a s p p r o g r a m t o t h e d a t a b as e i n a c o m p u t e r o u t s i d e s o f t h e l o c a l n e t w o r k . a t t h e e n d o f t h i s p a p e r , i c o n c l u d e w h a t i h a v e d o n e , w h a t i a c h i e v e d and w h a t s h o u l d b e d o n e t o p e r f e c t t h e m. .于,ij澳.1.妞不.月j.t,11.,.百!护.ltl.生j厂备 一 r .刀李矛1,卜1胜1!盆 k e y w o r d s :d i s t r i b u t e d a p p l i c a t i o n、d a t a b as e d i s t r i b u t i o n、a p p l i c a t io n d i s t r i b u t i o n . d u p l i c a t i o n , d c o m 中南人 学映 一 学位论文 第一章课题介绍 1 、1课题背景 本论文的 研究主 要建立在两 个课 i_的基础上, 第一个课题是 中南工业大 学基于 we b开放实验室管理系统 ,第二个是湖南省电信局的 广告信息服 务增值系统 。在此先对这两个课题的相关背景、开发环境做详细介绍。 中南工业大学基于 we b开放实验室管理系统项目启动时间是 1 9 9 9 年1 1 月份,开发该项目的出发点主要有四个: . 以往学校里面的各个实验室都是自己管理,学校难以对各个实验室工 作人员的工作进行统计、对实验设备的利用率进行统计; . 以前学生到实验室做实验,可能他并不知道哪个实验室有他所需要的 实验设备、哪个实验室可以 让他做自己想做的事情; . 教师以前安排实验时.先给他安排实验的实验室打报告,然后等候通 知,教师带实验的工作量由 手工计算来完成,统计工作很难完成; . 以往学生做课外实验时,先到某个地方购买机票,但是这些机票很难 在学校的所有实验室之间流通。 有鉴于此,我们项目 组着手开发 中南工业大学基于we b开放实验室管 理系统 ,实现高校计算机实验室管理的全过程。如:学生购买上机机时,老 师安排课内上机任务,上机自 动计时,机费的计算机化管理, 以及各种数据的 查询和统计等等。 另外, 通过这一系统, 教学工作的各级管理人员足不出户就 能够通过校园网及时准确地了解全校学生课内, 课外的上机的情况, 从而合理 地安排相应课程的上机实习的教学任务,充分利用高校的计算机设备与 i n t e r n e t 资源,提高了高校的教学管理水平。本着以最小投资创造最大效益的 原则,我们设计了如下的方案: . 系统采用先进的计算机网络技术和wi n d o w s n t平台,以学校教务处 为中心建立系统,并在教务处内部组建 n t局域网。各计算机实验室 也建立 n t局域网 . 网络操作系统采用 ,并通过校园网连通。 wi n d o ws nts e r v e r w己 b 4 .0 ,后台数据库服务器采川 m i c r o s o f t s q l s e r v e r 7 .0作为, 服务器采用 i i s 4 . 0 ( i n t e r n e t i n f o r m a t i o n s e r v e r ) 。网 七 数据发石 ; r . 具为 mi c r o s o f t公, 的 a c t i v e s e r v e r p a g e : 结合a d o , 客户 端使用j a v a s c r i p t .服务器端使1 1 1 a s p . 数据库维护部分使用 v i s u a l b a s i c 6 .0 开发。 . 系统中心数据库存放在教务处。为减少校园网上的数据传送时间,防 止因校园网故障而影响各实验室正常的上机安排,下属实验室各自 维 护一个备份数据库。数据基本维护、机费管理以及常规查询在教务处 进行,使用中心数据库。实验室日常管理则在各实验室进行,使用备 份数据库。所有数据库将通过数据复制来保证其一致性. 整个系统的网络结构图如下图所示: 留日 医目 口 日 口1 . 4 嘿 图1 - l .网络结构图 根据系统分析, 不同部门的管理人员在整个管理工作中履行不同的职能, 从而使整个工作在各个职能部门的协同工作下顺利的完成, 因此本信息管理系 统的可以分成以下几个部分: 首先财务管理人员履行涉及到学生自费课外上机 的所有财务工作, 比如, 给学生开上机帐户, 追加学生上机的机费,出各个时 期的财务报表等等; 实验室管理入员则需要管理实验室的设备, 实时监视在该 实验室的学生的上机情况,安排本实验室的课内计算机上机的教学任务等等; 系统维护人员, 对数据库进行初始化操作, 在日常的工作中, 对数据库进行维 护, 将一些过期的数据定时导出, 将新数据导入; 另外, 本系统在运行过程i i i , 2 中南人 学娘 十 学位论文 存储了大量数据。 对这些数据进行分析, 统计, 可以在网上发布, 给老师, 学 生,以及教务管理人员查询. 通过以上的分析,根据不同的对象系统可 以分成: 用户登录子系统, 统计查询子系统, 上机身份验证子系统, 实验室管 理子系统,财务管理子系统,维护子系统。其功能模块设计如下图所示: 实 脸 室 管 理 系 统 功 能 模 块 设 计 用 户 登 录 子 系 统 统 计 查 询 子 系 统 上 机 身 份 验 证 子 系 统 实 验 室 管 理 子 系 统 财 务 管 理 子 系 统 维 护 子 系 统 图 卜 2 .系统功能棋块总设计图 该项目的分析、 设计、 编码工作主要由三个人完成, 在项目 的开发过程中 我负责完成系统中数据库的分布方案、保证系统中数据库一致的实现方法。 湖南省电信局为了 拓展广告业务, 与我们合作开发 广告信息服务增值系 统 ,该系统分为两大块:基于c / s 模式的管理平台、基于b / s 模式的广告信 息发布平台, 整个系统的 运行环境为: 操作系统选用wi n d o ws n t 4 .0 , s q l s e r v e r 7 . 0 作为后台数据库, we b服务器选用i i s 5 .0 .管理平台用d e l p h i 5 .0 . v c 6 .0 进行开发, 广告信息发布平台采用a s p 技术为主进行开发。 这两 块的功能设计如下所示: , 昌 息服分石诅承舞 管 理 平 台 功 能 模 块 设 计 操 作 员 管 广 告 信 息 维 护 用 户 业 务 受 理 业 务 统 计 系 统 参 数 分 析 维 护 监 控 信 息 维 护 一 i io w i ; 14%i8;一一一一一一一 图 卜 3 、功能分析 在 广告信息服务增值系统 中, 我负责完成基于b / s 模式的广告信息发 布平台的开发工作。 1 , 2 目前情况 随着计算机技术的发展,在各行各业中的应用越来越广泛、 越来越深入, 目 前的计算机应用系统也逐渐趋向于集成化、 大型化、 智能化。 就实验室管理 这一领域来说, 美国、 日 本等一些发达国 家在前几年就已 经着手这方面的研究, 研制出了 像虚拟实验室这样的系统,目 前主要用于大、 中、 小学生的教学、 实 验工作中; 国内这方面的情况在最近两年也取得了很大的进步与成绩, 华中理 工大学在1 9 9 9 年底开发了自己 的全校范围内的实验室管理系统,整个系统采 用gs 技术为主流进行开发, 学生在统一的地方购买机票, 这些信息和该学生 的读者证一一对应, 在每个实验室进门处设置一个条形码扫描仪, 欲在实验室 进行实验的学生首先通过读者证来进行验证, 通过验证的学生既可以在实验室 进行实验, 然后在每台机器启动时, 让学生再次输入自己的学号和密码, 这些 程序放在机器中, 由硬盘保护卡进行保护。 而就数据库分布这一主题而言, 关 键在于数据的划分、 数据的分配和实施保证数据一致性的方案, 对于前面两个 方面采取的措施大体上差不多, 不外乎有垂直分段、 水平分段和混合分段以及 完全冗余分配、 部分冗余分配和无冗余分配, 但是在实施保证数据一致性方案 的时候, 往往根据对一致性的要求不同而采取不同的措施, 比如用分布式事务 j 中南人学o! i 了 学位论文 使得系统中的数据在每时每刻都保持一致, 用数据库复制或者某些通信手段使 系统中的数据在某一个时间间隔内保持一致。 至于广告信息增值服务这一领域从 1 9 9 9年起刁初见踪影,比如说在 i n t e r n e t上,你用鼠标点击一项广告条目 后.对方将邮寄给你点播广告的 收入, 虽然我们难以 对其真假进行辩证。 在中国大陆, 这一项服务目前 还没有 取得引人注目 的成绩, 关键是用户对这一服务的真假感到忧郁, 湖南省电信局 独出心裁, 将用户点播广告的收入和他的电话费挂钩, 也就是说用户可以用他 点播广告的收入来支付电话费, 该系统将在今年夏季正式投入运行, 这种新型 的“ 电子商务” 思维在国内处于萌芽时期。而就系统中“ 应用程序分布” 这 - 主题来说,目 前较为成熟的理论和技术有三大体系, 一是m i c r o s o ft的 c o m/ d c o m/ c o m十 , 其二是o mg的c o r b a , 还一种就是纯j a v a解决方案 r mi 技术。在已经投入运行的系统中,以上三种技术方案都可见其踪影,往 往根据系统对性能、 可靠性和可移植性等综合指标来选择实施应用程序分布的 方案。 中南人学映 学位论文 第二章系统中分布的体现及要求 2 , 1 数据库的分布 在课题 中南工业大学基于we b开放实验室管理系统中,整个系统以 校园网为物理基础,为了保证系统在校园网出现故障的情况下能够正常运行, 在校园网恢复正常以后确保系统中数据的一致性, 除了在中心服务器上保存完 整的数据外,每个实验室的服务器上也必须存放一定程度的副本。也就是说, 整个系统中的数据在逻辑上属于同一个系统, 但是在物理上是分布的- “ 分 布式数据库” 。在对分布式数据库系统进行规划和实施的时候,主要涉及到以 下三个问 题: 数据的 划分、 数据的分 配以 及数 据一 致性的 保 证川 。 在具 体 涉及 到“ 保证数据一致性” 的时候, 根据系统对数据一致性的要求不同, 又可以分 为“ 紧密一致性”和 “ 松散一致性” ,所谓 “ 紧密一致性”就是指整个系统中 的数据在每时每刻都是一致的, 而“ 松散一致性” 是指整个系统中的数据要求 一致, 但是允许有一定的时间 跨度la l 在该课题中,主要是对 “ 学生基本信息” 和“ 学生机费 信息” 进行分布, 亦即, 不仅在中心服务器上保存了 上述数据, 在每个实 验室的服务器上也存放 了“ 学生墓本信息”和 “ 学生机费信息” ,所以当中心服务器上的 “ 学生基本 信息” 发生改变以后( 改变频率很小, 一般在学生毕业、 学生退学、 学生休学、 开除学生、学生转学、学生留级、新生进校的时候发生) ,其它各个实验室的 这部分数据也要相应地发生变化; 另一方面, 在校园网不畅通的时候, 每个实 验室的服务器要能对学生上机进行计费, 而当校园网恢复正常以后, 各个实验 室的服务器必须将这些计费数据上报到中心服务器,再由中心服务器进行汇 总,然后由中心服务器统一调度来刷新各个实验室服务器中学生的机费信息, 以确保系统中所有服务器上学生机费信息的一致性。 显然,就 “ 学生基本信息” 而言,其更新频率很小,而且并不要求这些数 据在每时每刻在每个服务器上都保持一致;而对于 “ 学生机费信息” 这一块, “ 保证系统中的数据在每时每刻都一致” 与“ 保证系统在校园网出现故障的情 况下能够正常运行” 这两方面是不可兼得的, 我们以后者为出发点、 采取 一 种 折衷的办法进行规划和设计。如果每个实验室的服务器对学生上机进行计费, 那么从每个实验室的服务器上报数据给中心服务器到整个系统中的学/ i 彬l 费 信息保持 致,这中间或多或少会有定的延时1 1 7 1 6 蒜 中南人学硕 学位论文 因此, 本系统中数据库的分布和要求可以总结为两个方面:一、 采取什么 策略来对“ 学生基本信息户 、 “ 学生机费信息” 进行划分、 分配; 二、 采取什么 方案来确保系统中上述两块数据的一致性,以达到“ 松散一致性” 的要求。 通 过以上分析,系统中有关数据库分布的初步规划可以用下图来进行描绘: 图2-1 、数据库分布简图 2 、 2 应用程序的分布 这一方面的研究内容来自于课题 广告信息服务增值系统 布平台, 其中 有一个业务需求是 用户能 够i n t e r n e t . 费用, 在系统中的体现模型为: 中的信息发 来查询电话 勺 即 e r o y s e r 砚b s e r v e r w e b a p p l i c a t i o n 图2 一、课月中应用程序分布体现模型 具体的业务规则为: 一、 w e b服务器与9 7 计费中心不在同一个局域网内 并 且不具备直接访问9 7 计费中心计费数据库的 权限; 二 通过s o c k e t与它通信,请求获取上面的有关数据;三 供w e b 服务器使用, 而且要供管理平台中的程序使用, 费程序” 运行在 we b服务器、9 7 计费中心的其它机器 显然,当用户通过 i n t e r n e 丁来查询话费的时候, 、 9 7 计费中心只允许 、查询话费程序不仅 而且指定了 “ 查询话 七 。 we b i , i ) 1 1 f 1 =i ( ) 1 l 7 中南人学硕 卜 学位论文 a s p )不具备直接通过 s o c k e t与其它网络实体进行通信的功能,所以我们 必须要开发一个可以 复用的通信服务程序, w e b应用程序能够向该 通信服务 程序发送查询话费的请求, 通信服务程序将查询到的话费结果返回给we b应 用程序: 另一方面, 通信服务程序必须通过s o c k e t与9 7 计费中心进行通信。 在此,我可以给出在此应用中实现应用程序分布的初步模型: 孔b a p p l i c a t i o n , 邓 s e r v 砍 , 朋 b r o 甘 s e r 9 7 计 费 中 心 通 信 服 务 程 序 t ih m . a p p l i c a t i o n 图2 - 3 .实现应用程序分布的初步模型 中南人学硕 : 学位论文 第三章数据库分布的研究与实现 3 , 1分布式数据库有关知识 1 、数据分布概念 分布式数据库( d i s t r i b u t e d d a t a b a s e ) 是计算机网络环境中各场地( s it e ) 或节点 ( n o d e ) 上数据库的逻辑集合。也 就是说, d d b是一组结构化的数 据集合,逻辑上属于同一系统,而物理上分布在计算机网络的不同节点i. 2 0 1 。分布式数据库系 统不仅具有集中式数据库系统的 特点, 而且还具有共 享 性与自 治 性、 冗余的可控性、 事务管理的分布性、 数据独立性等 特点 8 1 在进行数据分布的时候,通常先用关系模式将关系分布,关系型分布 式数据库 ( r d d b ) 也是由一组关系组成, 这组关系在逻辑上对用户是可见 的, 但是实际i 二 它们被划分为若干个子关系, 这些子关系可能分别存储在系 统中用计算机网 络连接的所有节点上, 也可能出 现有些子关系的多个副本兀 余地存储在若干节点上。在d d b中,数据的分布可以用两个步骤来实现: 一、 先从逻辑上将全局关系模式划分为若干个逻辑片段 ( 也称为子关系) : 二 、 按照一定的冗余度将逻辑片段 ( 子关系) 分配到各个节点上, 这时各个 节点土的逻辑片段就成了具体的物理片段。 2 、 数据划分原则 数据划分是指将d d b的全局关系划分成相应的逻辑片段, 实质上是对 d d b 进行分片( f r a g m e n t a t i o n ) 操作。 在对d d b 进行分片操作的时候, 应 该 遵循一定的原则,即按 d d b外部特征划分的原则和按 d d b内部特征划 分的原则。所谓按 d d b外部特征进行划分就是按构成 d d b的属性群集特 性来进行逻辑划分, 而在按d d b内部特征进行划分的时候, 要确保划分以 后的d d b仍然保持原来d d b的特征,主要体现在遵循完整性原则 ( 全局 关系的所有数据项必须包括在任何一个片段中) 、重构性原则 ( 所有片段必 须能 够重构成全局关系) 和不相交原则 ( 不是必须的) 3 3 1 在d b m s 中,关系分为二类,一类用来描述实体, 一类用来描述实休 与实休之间的关联。 在d d b中的关系也与d b ms中的一样, 也可以分为 i: . 中南人学硕 卜 学位论文 述的二 类,于 是, 在对d d b中的关系进行划分时。 也有二类: 一 类是基7 . 实体木身 ( 关系)的划分,亦称为独立划分,具体有水平划分、垂直划分 与 混合划分这三种方法;另一种是基于关联 ( 实体与实体间的联系)的, 即一个关系的划分是基于另一个关系而被划分的,称为相关划分,具体的 方法有诱导划分。 水平分片是将关系按行横向以某些条件来划分成元组的子集,每个 t 集 有一 定的 逻辑 含义, 称为 一 个个 逻辑片 段 12 8 1 , 它实 际上是 一 种关系 的 选 择( s e l e c t ) 操作; 垂直分片是将关系按列纵向以 属性组划分成若干片段, 为了保证片段的可重构性,通常键属性应属于各个片段,它实际上是一种 对指定属性集上的投影 ( p r o j e c t i o n)操作;顾名思义,混合分片是水 平分片和垂直分片的混合操作,即对关系的选择和投影,至于是先进行水 平分片还是先进行垂直分片,要视具体的应用要求而定;诱导分片是基 七 水平分片的一种诱导,分片的时候不是基于关系本身的属性,而是根据另 一个与其有关联的关系的属性来划分。 3 、数据分配策略 完成数据的分片以后, 我们得到的是一组逻辑片段, 接卜 来的工作就 是要把这些逻辑片段按照一定的原则放在通过计算机网络连接的各个场地 ( s i t e ) 或节点 ( n o d e ) 上, 即寻 求数据分配策略3 1 。 如果每个逻辑片 段都 放在各自 的场地上,这种一一对应的分配方案很容易实现,但是,为了提 高d d b的可靠性,往往需要将划分好的逻辑片段放在一个以上的场地七 。 如果这样,当一个场地上出现故障时,这个场地上的数据由于在其它场地 上有副本,整个系统的其它非故障场地仍然可以正常工作:此外,为了较 少网络上的通讯代价,较少请求/ 14 ;1 应时间,有时也需要将某一场地上的常 用数据直接放置在本地,让它就近使用。 一般来讲, 一个d d b中的全局关系经过逻辑划分以后, 对于它的分配 通常有四种类型:集中性 ( 数据虽己划分,但所有逻辑片段完全集中在 - 个场地 七 ,仍然像一个集中式数据库) 、分割性 ( 数据被划分后,所有逻辑 片段各自 分配在一个场地上,所有场地上分配的只是全局关系的一个子关 系) 、全复制性 ( 数据被划分后,所有逻辑片段在每个场地上都有其副木) 和混合性 ( 数据划分后的逻辑片段根据需要进行分配,共享的片段在需要 u) 中南人学硕 卜 学位论文 共享的场地上设置其副本,高度私用的片段只设置在所需要的场地上) 。 3 , 2分布式事务与两阶段/ 三阶段提交协议 1 、分布式事务 在集中式数据库应用系统中,任何数据库应用都是对数据库进行存取 的一个操作序列, 事务就是保证数据库中数据正确的最小运行单位。 集中式 数据库应用系统中,事务的特征主要体现在以下四个方面:一、原子性 ( 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 ) , 当一 个 事务正 常 结束 后, 即提交后, 其操作的结果将永久地保存在数据库中, 而与提交后发生的故障 无关 1 3 7 1即使发生了 故障,系统也 应该能够保证可以 把事务的操作结果 恢 复过来, 这也 称为数据库系统的 恢复,比 如说 在s q l s e r v e r中就通过检 查点 ( c h e c k p o i n t ) 来实现这种特性。 通常, 我们把事务的以上四 个特性简称为事务的四 性, 即a c i d . 事务 一般由事务的标识符、 事务的头部、 数据库的操作、 事务的结束处理组成i? i 事务的标识符 ( t r a n s a c t i o n i d e n t i f i e r )是事务的唯一性的标识,是系统x v1 事 务进行调度的基础; 事务的头部是事务开始的标志: 数据库的操作序列, 则 是事务执行时要做的操作: 事务的结束处理是事务中止时要做的操作。 对于 每一 个事务而言, 其执行结果不外乎有两种情况: 一是非正常中止, 此时需 要天折事务, 就是说把所做的操作全部作废, 数据库回到事务开始前的状态; 二是事务正常结束,此时需要提交事务,就是说 把事务所做的操作永久化, 使数据库变化到另一个一致的状态。一个简单的事务模型如下所示: t r a n s a c t i o n i d e n t i fi e r : b e g i n t r a n s a c t i o n 中南人学硕 卜 学位论文 d a t a b a s e o p e r a t i o n c o m m i t o p e r a t i o n o r a b o r t o p e ra t i o n 1几 而讨论的是集中式事务的特性,就是说这种事务只在一台计算机 执行, 而分布式事务则在分布式系统中的多台计算机上执行。 山于 分布式系 统的特性, 分布式事务在执行时将被分解为若干个和各个场地上计算机相关 的操作序列, 我们称之为子事务。 为了保证这些子事务的正确调度执行, 分 布式事务必须为每个子事务在相应场地的计算机上创建一个代理进程执行 该子事务。 只有当各个子事务都正常结束后, 分布式事务刁 可以提交, 这 - 点与 事务的“ 原子 性” 颇为类似13 2 1 , 我们可以 把整个分布式事务看成一个 事务, 而把甸个子事务看成是事务操作序列里的某个操作。 现在的问题是在 这些子事务的调度执行过程中, 由于它们在不同的计算机上执行, 那么就应 该寻求一种机制来协调各个子事务的执行,这种机制可以称为 “ 调度者进 程” 。一般来说,这样的协调进程由分布式事务的始发场地事务 ( 也称为根 事务)来承担。 通过上面的论述,我们可以看到分布式事务和集中式事务一样,都足 由对数据库中的数据进行操纵的操作序列组成, 因此分布式事务和集中式事 务一样也具有a c i d四性。 但是由于分布式数据库系统的分布特性, 分布式 事务还具有自己独特的特性, 主要体现在以下三个方而: 一、 执行特性,山 于分布式事务执行时分解成多个子事务执行, 而各个子事务之间的操作需要 进程调度, 因此侮一个分布式事务必须创建一个协调进程, 以协调各个子事 务的操作,用来协调数据及控制报文的收发,决定事务的提交与天折:一 几 、 操作特性, 在分布式事务中, 除了应用对数据的存取操作序列之外, 还必须 加入大量的通讯原语, 负责协调者进程和代理者进程之间的数据传送, 以及 代理者进程之间的数据传送。 此外, 为了协调子事务的执行, 还要加入大a 的控制原语。 所以, 分布式事务比集中式事务的组成要复杂得多,而且执行 的方式也要复杂得多; 三、 控制报文, 分布式数据库系统中, 除了数据报文 外, 还增加了 控制报文12 6 1因为在分布式事务的 执行过程中, 不仅要对数 据进行存取操作, 还要对各个子事务的操作进行协调, 这样一来就必须要有 大量的控制报文在网络上传输, 实际上, 减少控制报文的长度和数量是分布 式事务管理的一个重要目 标 ( 还有 c p u和内存的利用率、响应时间、系统 l 2 中南大学硕 1 了 学位论文 的可用性这三个目标) 。 2 、两阶段提交协议 上而讨论了分布式事务的特性,并_ 提到了分布式事务的执行是比较 复杂的,接下来就分布式事务如何执行来进行分析。在分布式数据库系统 中,分布式事务的执行是分解为若干个以 场地为基础的子事务的执行。分 布式事务的提交要求分布式事务的各个子事务要么全部提交,要么一个也 不提交,为了实现事务的正确提交,一般采用两阶段提交协议 ( 2 p h a s e c o m m it p r o to c o l , 简 称2 p c 协 议) . 2 p c 协 议 是 一 种 用 于 故 障 恢复 的 方 法 2 9 1 在系统运行日志没有丢失的情况下,2 p c协议对任何故障均有一定的恢交 能力, 下面 伐 们就2 p c 协 议 来 进 行详细的 剖 析。 2 p c协议的基本思想是为全部的参与者作出提交或中止全部全局子 不 务的唯一决定。在分布式事务的执行过程中,如果有一个参与者不能提交 在它场地上执行的子事务,那么全部局部子事务就全部中止。就是说,当 且仅当全部子事务提交以后,分布式事务才提交。2 p c协议山两个阶段组 成,第一阶段作出提交或中止全部子事务的决定,称之为 “ 决定阶段” :第 二 阶 段实 现第一 阶 段的 决定, 称 之为“ 执行 阶段 , x 3 1 0 2 p c协 议的 工 作原 理可以描述为: 协调者 在日 志中写入“ 顶 提交” 命令 发送 “ 顶 提交, 命令给所有的参 , 者并开始计时 参与者 等待 “ 顶 提交, 命令 i f 参与者p 以提交t h e n 日e gi n 在日 志中写入子事务的记录 6 . 1 1 志中写入 “ 准备 提交 向协调者发送 “ 准备提交信息 el s e begi n 在 ! 志中写入 “ 夭折 中南人学硕 卜 学位论文 向协调者 发 送 “ 夭折 信息 e nd 协i 1 者 等待接收所有参 j 者的 应答f 芯 急 并检直“ 定时器” i f“ 超时”或者 收到至少一个 “ 天 折” 信息f i i e n 日f gi n 八日志中写入 “ 全部夭折” 向所有的了事务发送 “ 夭折”命令 el s e be gi n 在 i 志中写入“ 全 部提交” 向 所有的参与 者发 送 “ 提交”命 令 参与者 协调者 e nd 等待协调者 的命令: 根据命 令在 ! 志中写入 “ 夭折 或 “ 提交 向协调者发送 “ 执行” 消 息, 然后执行“ 提交” 或 “ 夭 折” 命令 等待所有场地的 “ 执行消息” 在 ( 占中写入 “ 完成” 仁 述的2 p c协议的工作原理并未考虑故障 ( 主要体现为场地故障、丢 失报文、网络分割)时的执行方式,其工作过程可以用下而两个图来表示, “ 参与者的工作过程” 图中考虑了协调者故障的情况,这时参与者可能 直处于等待协调者恢复的状态,也就是说 进入了“ 阻塞状态” 。所谓事务的 阻塞是指一个场地的子事务本来是可以执行结束 ( 夭折或提交)的,然而 山于分布式数据库的故障,它必须等待故障恢复以后得到需要的信息后刁 可以作出决定,而故障情况是不可预料的,再说该子事务占有一些系统资 源不能释放,又没法继续执行, 这时我们称为事务进入阻塞状态13 7 1事务 出现阻塞的原因很多,在 “ 参与者的工作过程” 图中给出了一个出现阻塞 情况的图标:即当参与者等待协调者的回答时,可能因为网络故障或协训 者故障使得参与者收不到回答信息而出现超时等待的状况,这时事务进入 几 塞状态,重发 “ 准备提交”信息要求协调者给予回答,直到网络故障或 协调者从故障中恢复井给予回答,参与者刁作出决定继续执行 ( 夭折或提 1 4 中南人学硕 学位论文 若一直收不到回答,则事务一直处于阻塞状态而挂在相应的场地上,以此 看来阻塞降低了分布式事务的可用性。 等 待 状 态d 1 1 1tt r 做 决 定 / 尸 一 、 比1 犷/ i m f n s / 一、 等 待 回 答 卜 二 二 刊 提 交一州结 束 , r。 。 / 一 , n / ” 天 折 等 待 状 态 图3 - i , 2 p c乡与 者状态圈 图3 - 2 , 2 p c协调者状态图 3 、三阶段提交协议 在2 p c协议中, 参与者的提交是在它知道了其它所有的参与者均发送 了“ 准备提交”的报文以后进行的.若在 2 p c协议中增加一段使得参与者 的提交不仅要等到它知道所有的参与者均发送了“ 准备提交” 的报文, 而且 还知道所有参与者的状态 ( 比如是处于故障状态, 还是已经恢复) 以后刁执 行。这时,2 p c协议就变成了3 p c协议。在3 p c协议中,协调者第二次向 参与者发送的报文不再是 2 p c协议中的 “ 提交”报文.而是提交前的预备 报文, 告诉所有的参与者均可以进入准备提交状态, 而参与 者的卜 a 答也不再 万 5 中南人学硕 学位论义 是2 p c协议中的 “ 提交子事务” ,而是发送 “ 准备就绪” 报文。在第三阶段 中, 当协调者收到全部的“ 准备就绪” 的回答后在向所有的参与者发送“ 提 交” 报文。此时,所有的参与者均知道其它的参与者已 经进入 “ 准备提交” 状态。 达到这一点, 每个参与者均可以自己 作出决定 ( 夭折或提交) ,而不 必像 2 p c中的那样因等到协调者的回答而进入阻塞状态,因为即使此时发 生故障, 系统的恢复机制 ( 如通过检查点机制) 迟早会恢复到出现故障前的 状态, 即在每个场地上执行的子事务都会提交。 因此, 参与者可以自己决定 先执行下去而不是处于等待状态, 从而减少了阻塞。 一般来说, 在出现以下 五种故障时,3 p c协议不会进入阻塞状态: 只允许出 现场地故障而不会出 现网络分割的情况; 场地故障但不影响通讯功能,即它仍能进行正常的收发工作且信息是 正确的; 场地故障使得系统必须进行恢复处理,恢复机制应能知道己发生过故 障并且和其它的场地进行通信了,了 解故障前的情况以便使参与者恢 复到提交状态中去; 场地无故障时必须在超时以 前向曾求助于它的 场地发送回答报文; 网络不会丢失报文并且场地上传送报文的次序和接收报文的次序一 样。 在以上五种故障模型下, pc协议是无阻塞的。在3 p c协议中,只要 提交处理时至少有一个场地处于活动状态就不会发生阻塞, 下面分别是3 p c 协议中协调者和参与者的状态图: 图3 - 3 . 3 p c参i ; 者状态图 中南人学缺卜 学位i 仑 文 梦tct 歹 刁 dh1r 宜 出 户 夭 图3 - 4 , 3 p c参与者状态图 3 p c的 工作过程可以 描述为以下 三个阶段: 第一阶段: 协调者向所有参与者发送“ 开始提交” 报文,由每个参与者根据 自己的情况进行投票 ( v o t e ) ,只有收到所有参与者都 “ 赞成提交”的信息 后才进入第二和第三阶段: 第 二 阶 段: 协 调 者向 所 有 参与 者 发 送“ 准 备 提交” 报文, 参与 者收 到 该 报文 后如果已经准备好提交,就发送 “ 准备就绪” 报文,否则各自 进行 “ 夭折” 处理; 第三阶段:当协调者收到所有参与者“ 准备就绪” 的回答后, 就向所有的参 与者发送 “ 提交” 报文,此时, 每个参与者知道其它的参与者都 “ 赞成” 提 交,因此各个参与者可以在收到协调者发送的 “ 提交”报文后就进行提交。 3 . 3 复制 1 、 复制简介 课题 中南工业大学基于w e b开放实验室管理系统 以s q l s e r v e r 7 .0 作为后台数据库,再次我将首先介绍在s q l s e r v e r 7 . 0 中的发布者 一 一订阅者模型,并对其中的一些术语作简要介绍。 在s q l s e r v e r 7 .0 中定义了己 复制数据和将复制数据集的来源和日 标的 模型, 即发布 者 订阅者 模型, 作为分布数据的 一 种方式14 0 1在复 制环境中, 发布者发送数据, 订阅者接收数据。 对于一 个或多个数据库来说, 汀 7 一 中南人学硕 i : 学位论文 单个s q l s e r v e r即 可以 作为出 版者 ( p u b l i s h e r ) 、 发 行者 ( d i s t r i b u t o r ) , 订阅者 ( s u b s c r i b e r ) 或三者的任意组合。下图说明了 这三者之间的关系: 图3 - 3 , p u b l i s h e r , d is t r i b u t o r , s u b s c r i b e r 关系图 其中, p u b l i s h e r 在复制模型中扮演源数据库的角色,它使得数据库可 以 复制, 并且将对那些用于发布的数据的改 动发送给d i s t r i b u t o r : s u b s c r i b e r 是保留己经复制的数据副本、并接收对数据所作更新的目 的数据库服务器, 对 s u b s c r i b e r 上的数据可以 进行改动,并且s u b s c r i b e r 可以成为s u b s c r i b e r 的p u b l i s h e r , 就是说可以出现级联情况; d i s t r i b u t o r 是用来执行发行任务的 数据库服务器,它接收对已经发布数据的所有改动副本,并存储这些改动, 然后将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陵园墓地代理合作协议范本
- 家庭护理员居间服务合同
- 【小学 三年级数学】三年级下册数学口算试题
- 舞台布景设计与制作合同样本
- 2024泰安市工程职业中等专业学校工作人员招聘考试及答案
- 2024泌阳县中等职业技术学校工作人员招聘考试及答案
- 2024湖南省郴州市第一职业中等专业学校工作人员招聘考试及答案
- 2024河北省唐县职业技术教育中心工作人员招聘考试及答案
- 大型仓储设施消防工程合同书
- 物业服务公司员工安全合同责任书模板
- 北师大版心理健康一年级下册《珍爱生命》教案
- 中考英语688高频词大纲词频表
- 黑龙江省齐齐哈尔市2024年中考数学试卷【附真题答案】
- 2024年广东省中考生物试卷附答案
- 2024年江苏省宿迁市泗阳县中考物理一模试卷含详解
- 新生儿呛奶窒息的应急预案及处理
- 2024年全国国家版图知识竞赛题库及答案(中小学组)
- 《给教师的100条建议》读书交流会省公开课金奖全国赛课一等奖微课获奖课件
- (正式版)QBT 8015-2024 熟制松籽和仁
- 有限空间安全检查表
- 教科版小学科学五年级下册期中试卷【含答案】
评论
0/150
提交评论