欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    分布式数据库实验精.ppt

    • 资源ID:53978485       资源大小:1.39MB        全文页数:29页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    分布式数据库实验精.ppt

    分布式数据库实验第1页,本讲稿共29页任务描述n用JAVA建立一个分布式的应用程序以实现一个简单的旅行预订系统,分为三个阶段:n1.实现一个简单的资源管理器(Resource Manager,一个具有固定的表和操作集的非常简易的数据库系统),用来支持并发事务的ACID性质(原子性、一致性、独立性、持久性);n2.实现一个工作流程控制器(Workflow Controller)和一个事务管理器(Transaction Manager),用来在多个资源管理器(Resource Managers)之间实现分布式事务处理;n3.实现一些扩展功能。n本课程只要求实现第一部分。第2页,本讲稿共29页简易的旅行资源管理器nRM支持并发事务的ACID性质。RM存储着关于航班,出租车,宾馆房间和客户的数据信息。多个客户端通过一个事务处理界面可同时访问这个RM以查询和更新数据。这个RM要保证这些并发事务的执行正确性,即符合ACID性质的要求。nRM存储着下列表:nFLIGHTS(String flightNum,int price,int numSeats,int numAvail)nHOTELS(String location,int price,int numRooms,int numAvail)nCARS(String location,int price,int numCars,int numAvail)nCUSTOMERS(String custName)nRESERVATIONS(String custName,int resvType,String resvKey)第3页,本讲稿共29页简易的旅行资源管理器n我们提供了资源管理器(Resource Manager)的标准接口(详见ResourceManager API)。这个接口允许每一个在RM中存储的表中的行被添加、删除和修改。你的工作是为每一个我们提供的接口写出实现程序。第4页,本讲稿共29页事务处理nRM支持事务处理。一个事务调用RM的start()方法来获取一个唯一的事务标识(transaction id)。所有对RM的后续调用都要包括这个事务标识。最后,事务调用commit()或abort()方法结束事务处理。第5页,本讲稿共29页并发控制n并发控制是通过两阶段锁(two-phase locking)来实现的。当一个客户端要求查询或更新信息时,你的RM要适当地给相应元组加锁,并在事务正常完成(commits)或异常中断(abort)时释放所有的锁。我们提供了一个锁管理器(lock manager)帮助你完成任务。第6页,本讲稿共29页文件说明npart1.tarnLockManager.javanLockManagerTest.javanClient.javanMakefilenmake.exe第7页,本讲稿共29页文件说明npart1.tar是源码(详见API),有两个文件夹:lockmgr和transaction。nlockmgr实现了LockManager的功能,你不必修改这个包中的内容。ntransaction提供了一些基本的类以帮助你完成工作,它包含了ResourceManager的接口。请注意,你不要修改此文件,你的RM实现要基于名为ResourceManagerImpl的类(以及一些自己定义的新类),这个类提供了ResourceManager的接口。你必须自己编写接口实现代码,以替代目前提供的这个ResourceManagerImpl.java文件中的接口实现代码。第8页,本讲稿共29页文件说明n请注意:用请注意:用LockManager.java文件和文件和LockManagerTest.java文件替换文件替换part1和和part2中的同名文件(因为中的同名文件(因为part1和和part2中的同名文件有错误!)中的同名文件有错误!)client.java是用来做最后测试的。是用来做最后测试的。第9页,本讲稿共29页文件说明nWindows下需要Make工具,即make.exe,需将make.exe放到javac.exe所在目录下。nWindows下需用我们提供的makefile文件替换part1.tar中的makefile文件。而Linux下则不用。第10页,本讲稿共29页基本框架结构(Part I):C/SResourceManagerFlights,Hotels,Cars,CustomersClient 1Client 2Client n第11页,本讲稿共29页1.运行环境n操作系统Solaris VM or Windows or Linux(Unix)n开发语言JAVA JDK1.2.2以上版本 (Windows下需要Make工具)第12页,本讲稿共29页1.运行环境nJAVA环境变量设置Set path=;C:j2sdk1.4.0_01binCLASSPATH=.;C:j2sdk1.4.0_01libtools.jar;C:j2sdk1.4.0_01libdt.jar;C:j2sdk1.4.0_01jrelibrt.jar;D:project 第13页,本讲稿共29页1.运行环境n怎样运行javac*.java 生成 *.class 文件make runreg 注册端口号make runserver 运行Server端make runclient 运行Client端Ctrl+c to kill the server第14页,本讲稿共29页2.RMI与ThreadnRMI(Remote Method Invocation)rebind(name,obj)和 bind(name,obj)lookup(name)第15页,本讲稿共29页2.RMI与ThreadnThread run()定义线程体 sleep(long millis)睡眠millis毫秒 start()启动线程第16页,本讲稿共29页3.Lock Manager (lockmgr包)nlock(xid,thingBeingLocked,read|write)throws DeadlockException;nunlockAll(xid)第17页,本讲稿共29页4.ITE和TAEnITE-InvalidTransactionException 注意:记录可用的事务号nTAE-TransactionAbortedException e.g.deadlock第18页,本讲稿共29页5.事务可以挂起吗?n挂起-不commit,也不abortn可以挂起,真正的RM用超时机制强制abort此类事务n程序中可以不考虑第19页,本讲稿共29页6.怎样实现多粒度锁?n粒度 tables和tuplesn意向锁(IS和IX)lm不直接提供,但可以实现:read S,S update S,X insert/delete X,X第20页,本讲稿共29页7.读/写磁盘nreadObject()nwriteObject(Object)e.g.public class FlightsItem implements java.io.Serializable 第21页,本讲稿共29页8.Customers和Reservations表可以合并吗?n可以合并nReservations不含主键,但通常按custName查询nReservations(String custName,List resv)nresv(int resvType,String resvKey)第22页,本讲稿共29页9.测试与异常n测试(Test)shutdown(),dieNow(),dieBeforePointerSwitch(),dieAfterPointerSwitch()第23页,本讲稿共29页9.测试与异常n异常处理 InvalidTransactionException,TransactionAbortedException,DeadlockException IOException和RemoteException可以暂时不考虑第24页,本讲稿共29页10.原子性的实现10.原子性的实现nShadow思想第25页,本讲稿共29页成果提交n两实验分组相同n每一小组最后提交:n系统设计报告n程序演示报告n小组各成员的任务分工n源程序(需要详细注释,注明所使用的JDK版本)第26页,本讲稿共29页提交方式nftp:/202.38.79.95,“分布式数据库实验”目录下n用户名:addb 密码:addb06n该目录只有上传权限,请先在本地将所要提交的报告和程序放在一个目录中,目录使用小组成员学号命名,如SA06011001&002&003&004,然后上传该目录到FTP n各阶段成果和程序均在最后一起提交n提交截止日期:2007年1月20日第27页,本讲稿共29页参考文献n分布式数据库系统及其应用n数据库系统导论nJava2 API 大全nJava编程思想第28页,本讲稿共29页谢 谢!第29页,本讲稿共29页

    注意事项

    本文(分布式数据库实验精.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开