动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.怎样在Java实例开发的过程中使用.
.do...while 语句.
.最新的Swing外观,定制UI不在话下.
.函数式组合子逻辑Java parser框架.
.新手上路:JDBC初级应用实例(二).
.update 和 saveOrUpdate 项目思路.
.用Javap反编译帮你理解Java特性.
.Hibernate:HQL/QBC查询语言比较的.
.java的quoted-printable解码器源.
.全程解析Struts中两个相似类的解.
.java右键弹出菜单.
.Enterprise JavaBeans导论5.
.从JAR文件中读取文件.
.Rails 开发与 Java 编程的比较.
.Servlet开发初步.
.[JAVA100例]066、线程控制.
.[JAVA100例]017、文件对话框.
.希尔排序算法的JAVA实现.
.关于POI的API处理Excel文档图形处.
.一个工作流引擎的设计概要.

分布式编程模式中的租约、事务和分布式事件机制

发表日期:2008-1-5 |



  Jini 技术面向网络及分布式计算的特性决定了Jini技术必然与传统的单机系统在许多方面有概念上和实际应用中的差别。如网络的延迟、失败,或者设备的忽然撤出,将导致信息的无序和丢失;资源的获得、保存、维护和回收情况更为复杂;不同实体之间通讯和协调工作的可靠性及效率并不像单机系统中那样较为轻易地获得保证。因而在 Jini 中以 Java 为基础加入了分布式编程模式,非凡是引入了租约、分布式事务和分布式事件。

  租约

  租约的基本概念是资源只能被使用一段时间,这由租约的持有者(lease holder)和租约的授权者(lease grantor)协商决定。

  租约接口的目标是为分布式系统和应用程序提供一种非凡的编程风格。这种编程风格是当某对象首次对该资源访问时,由这两个对象先协商,最后授权对资源进行某段时间的使用。

  在非分布式系统中,资源或服务将被授权直到被明确释放或放弃,这种编程模式在分布式系统中注定要失败,原因是不能保证放弃对资源或系统的使用是肯定成功的,这将导致系统的这部分资源永远不会被释放。

  为避免此类问题而引入了租约的概念。在租约中被租用的资源或服务的授权是基于时间的。一旦租借时间期满,服务就将结束,资源将被释放。租约的期限在第一次授权时决定,由租约的授权者和接收者采用request/response方式协商。租约可以在期满前续约或取消。期满时,双方认为服务或资源已回收。

  租约概念的引入也可以用于解决分布式系统面临的另一个问题。连续开机的分布式系统趋向于积累过时和不必要的信息,解决这种问题的常规方法是把清理无用资源作为一项系统治理员的任务。然而,当这种资源被租用时,就不会发生过时信息的积累,也不再需要以手工方法清除。租用的信息或资源仅在租约续约时才保存在系统中。因此被遗忘的信息经过有限时间后将被删除。

  Jini系统中定义了一组接口以及相关的约定和协议,目的是使不同Java虚拟机通过协商产生各种资源的使用租约。可形成租约的协议有多种,可以分为对某个对象的访问(引用)协议、对未来采取行动(事件通知)的协议和提供长久储存的协议等。租约机制要和并发机制相结合,即某资源可以有多个并发的租约持有者。

  租约的特性包括:授权者确保持有者能在一段时间内对资源进行访问;在租约期限内,租约持有者可以取消租约,授权者将清除相关的资源;持有者可以要求续约,续约期限由双方协商决定;若租约到期,授权者将释放相关资源,与取消租约的不同之处在于,授权者与持有者之间不需要通讯。

  事务

  事务式的行为在分布式计算中尤其重要,它提供了使一个或多个远程参加者对一系列操作的结果保持一致的方法。Jini系统将实现事务语义交由事务中的个体对象处理。系统首先要提供的是对象之间确认事务时用来交换信息的合作机制,目标是提供最小的协议和接口的集合,用以让对象实现事务语义。

  Jini描述的完成协议由分布式系统的两阶段提交协议组成。两阶段提交协议定义了分布式对象资源的通讯模式,这个协议需要一个治理者来保证操作集决议的一致性,即保证所有的参加者最终知道它们是应提交操作还是放弃操作。

  事务由一个治理者创建和监督,每个事务由一个标识来代表,它对于事务的治理者是唯一的。客户通过一个对治理者的请求来创建事务,通常使用语义工厂类,如Transactionfactory来创建一个语义对象。在对一个服务实行操作时,这个语义对象就将作为一个参数传递。假如服务同意接受这个事务并治理它的操作,它必须作为一个参加者加入到这个事务中去。

  假如一个事务成功提交,那么所有在事务之下进行的操作都将完成。放弃事务意味着所有在事务之下进行的操作都如同完全没有发生过一样。提交事务需要每个参加者“表决”,表决可选择“就绪”(预备提交)、“未改变”(只读),或者“放弃”(事务应被放弃)。

  两阶段提交协议的设计目标是使对象能够提供ACID属性。缺省的事务语义定义了保留这些属性的一个方法。ACID属性是:

  ·Atomicity(原子化):所有在一个事务下的操作全部发生或者一个也不发生。

  ·Consistency(一致性):事务的完成必须使系统保持在一致的状态。事务只是一个使保证一致性成为可能的工具,而它本身并不是一致性的保证者。

  ·Isolation(隔离性):正在执行的事务不应彼此影响。一个事务的参加者应该只能看到自己事务中操作的中间状态,而不是其它事务的中间状态。

  ·Durability(耐用性):事务提交的结果应像事务提交的对象实体一样持久,但这个保证只能由对象来完成。

  依靠于参加者来实现ACID属性是两阶段提交协议与传统事务处理系统的最大不同之处。两阶段提交协议的定义使用了三个主要类型:

  ·Transactionmanager——事务治理者创建新的事务并协调参加者的动作。

  ·NestableTransactionManager——一些事务治理者能够支持嵌套的事务。

  ·TransactionParticipant——当操作是在一个事务之下进行的,参加者必须加入事务,给治理者提供一个对 TransactonParticipant对象的引用,以便用来表决。

分布式事件

  1.分布式事件及通知

  分布式事件系统有一些与单机系统不同的特点和需要。由于存在网络延迟和失败的可能性,远程对象事件的通知的顺序可能因客户的不同而异,或者根本没有到达。一个通知到达的时间可能会很长,也可能会有这种情况,接收通知的对象一方不总是希望立即得到通知,而是在接收一方决定的一个确定时间得到。甚至可能发生注册爱好的对象并不是事件通知应发送的对象。

  分布式通知的中心概念是在产生通知的对象和希望接收通知的其他对象之间加入第三方对象。它们可以从对象上卸下通知,实现多种传递保证,存储通知,并进行通知的过滤和重新路由。


上一篇:分布式对话服务器的管理 人气:497
下一篇:J2ME与Web Service-KSOAP的快速上手 人气:634
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-12 team论坛 v2.0.4 bulid 080916 A
2008-10-12 Roclog v3.1.6
2008-10-12 SupeV v1.0.1 简体中文 GBK
2008-10-12 NetCMS v1.6.0.1010 正式版
2008-10-12 PHP考试系统PPFrame v1.2.7
2008-10-12 LPAS个人相册 v1.6.3
2008-10-12 快问仿百度知道系统 动态-静态-互
2008-10-12 方卡广告防点击系统 V1.0 GB2312
2008-10-12 泡菜内容管理系统[PCMS] v1.0 Bu
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成