您所在位置: 网站首页 / 分布式系统与WEB服务(3).ppt / 文档详情
分布式系统与WEB服务(3).ppt 立即下载
2024-11-19
约1万字
约64页
0
382KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

分布式系统与WEB服务(3).ppt

分布式系统与WEB服务(3).ppt

预览

免费试读已结束,剩余 59 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第五章分布式系统文件共享5.1共享文件的语义
两个以上的用户共享同一个文件时,会产生多种情况,从而产生不同的语义.故文件服务时必须精确定义服务的读写语义。
一.UNIX语义(时间顺序)
对于单处理机而言,在UNIX系统中,其读操作的语义是,读取的结果是它前面最近一次写操作形成的结果。写操作的语义是,若先后连续有两个写操作,则文件结果决定于后面的写操作。因此,最后形成的语义是严格意义下的时间序操作。
在对分布式文件系统中的文件进行读操作时,能看到以前所有对该文件执行写操作的效果。特别是,客户对于已打开文件的写操作可立即为其它打开此文件的客户所见。客户可共享文件当前位置的指针。这样,一个客户将指针向前推进时将影响所有共享客户的视图。
此种语义的特点是易于理解和实现。
二.会话语义
对于打开文件的写操作可以立即为本地客户所见,远程的客户也同时打开该文件,但却不可见。一旦文件关闭,对此文件所作的修改仅为后面进行的操作所见,该文件已经打开的各副本不表现这些修改.三.不可改变文件语义
一但文件为共享文件,则所有用户均不能再修改它。这里的不可改变有两个含义:一是其名字不可再变;二是其内容不可改变。这样,不可改变的文件的名字代表该文件的固定内容,而不再是信息存储机制。这一语义非常简单,易于实现,但应用起来,很不灵活.
四.事务语义
用户若要访问一个文件或了组文件,首先要执行一个启动事务的操作,表示下面的操作必须独立执行,然后对文件进行读写操作,当工作完成后,再执行一个结束事务的操作。其关键特性是,保证事务期间的所有文件操作按序执行,而不受其它用户的干扰,也就是说,在事务内部严格具有UNIX语义、显然,事务语义是一种比较实用的文件语义。事务的完成要求一个客户机与一个或几个服务器进行协作。5.2原子事务
在分布式系统中,原子事物又简称事物,事务实际上就是一组逻辑上连续执行的操作,其具有动态性,有三种状态:
①提交事务中的文件数据项的修改永久保存
②中止由于同其他事务冲突或硬件故障导致事务中止
③临时事务执行中的存在的临时状态5.2.1事务的特性
事务具有以下四个特性,简称ACID特性
①原子性(Atomic):即事务的作用要么完整,要么没有。
②一致性(Consistent):事务处理不影响系统中的不变性:意思是,当系统具有某种不变特性需要保持时,在事务执行前后该不变性一定要保持。例如,银行业务系统中有一个关键的不变特性是“金钱不灭”,经过内部任何转帐之后,银行的总钱数是不变的。
③孤立性(Isolated):并发的事务不会相互影响,多个事务处理可并发执行,其结果和各事务处理串行执行结果一样,也叫串行等价性。
三个事务A、B、C被三个独立的进程同时执行,若顺序执行其结果为1、2或3
BEGIN_TRANSACTIONABEGIN_TRANSACTIONBBEGIN_TRANSACTIONC
X=0;X=0;X=0;
X=X+1;X=X+2;X=X+3;
END_TRANSACTIONEND_TRANSACTIONEND_TRANSACTION
时间
④持久性(Durable):如果事务处理成功完成、则结果将永不消失,除非发生硬故障。
5.2.2事务需求
银行服务的例子5.3并发控制
并发控制的主要目标是满足事务处理的一致性(串行等价性),最早的方法:	
A.某一时刻只允许执行一个事务
B在启动多个事物操作之前先检查是否满足一致性
缺点:
解决的不好.为弥补不足.提出下面三种方法.5.3.1加锁
当某一事务访问一共享数据项时,由服务器对该数据项加锁,当完成访问时,再由服务器开锁,以便于其它事务访问。在上锁期间,只有锁定该数据项的事务才能对其访问,这样就保证了在某一时刻访问数据进程的唯一性和确定性。
一.基本原理
一个锁可由三都分组成:
①一个二值逻辑变量,用以指示上锁/开锁;
②一个类似于信号灯的条件变量;
③访问该锁的宿主事务标识符实现上锁机制时,需要注意锁的粒度。粒度是指被加锁的数据项的大小,粒度越细,则并行度越高,反之,并行度越低。对整个文件加锁是一种极端情况,这时候,事务串行执行。在下面的讨论中,上锁一般施加于文件中的数据项上。
锁定机制是分两个阶段进行的。一个事务在工作过程中,可分为“生长”和“消亡”两个阶段。生长阶段需要上锁,消亡阶段需要开锁,这就是两阶段锁定机制。在生长阶段,事务处于临时状态,其临时数据不为其它事务所见。在消亡阶段,临时数据要变成永久数据,为了保持事务的特性,必须在事务关闭的最后,才能开锁。二、几种加锁方案
1.最简单的加锁方法
在这种方案中,文件服务器对客户事务访问的每一个数据项加锁,而在事务完成(或中止)时打开所有的锁,当另一事务试图访问已上锁的数据项时,它必须等待到开锁为止。
2.读/写锁方案
由于简单锁定机制不
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

分布式系统与WEB服务(3)

文档大小:382KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用