事务处理 - 体系
看到了从头开始建造一个事务性应用的要点,考虑在一个在 图 2 中展示的事务处理体系下建造相同的应用。注意,尽管有多种可能的体系,它们将在后面的章节中讨论, 图 2 中所展示的代表了本质的特征。
应用构件
应用构件是事务性资源的客户。它们是应用开发者用于实现商务事务的程序。
在事务管理器的帮助下,这些构件建立全局事务, 如果需要的话传播事务上下文,并在这些事务的范围内操作事务性资源。这些构件不负责实现保护事务的 ACID 属性。但是作为应用逻辑的一部分 ,这些构件通常做是提交还是回滚一个事务的决定。
应用构件:职责
- 建立和界定事务
- 传播事务上下文
- 通过资源管理器操作数据
资源管理器
一个资源管理器是一个管理持久和稳定的数据存储系统的构件,并且参与同事务管理器的两段提交和恢复协议。
一个资源管理器典型的是一个稳定的存储系统上的一个驱动器或一个包装,有操作数据的接口(给应用构件), 并且为了参与由事务服务器协调的两阶段提交和恢复协议。这个构件也可以,直接的或间接的,向事务管理器注册资源,这样事务管理器就可以追踪所有参与事务的资源。这个过程叫做资源征集。为了实现两阶段提交和恢复协议,资源管理器应该实现可能被恢复所使用的附加机制。
资源管理器提供两套接口: 一套给应用构件用来连接和完成对数据的操作,另一套给事务管理器用来参与两阶段提交和恢复协议。
资源管理器:职责
事务管理器
事务管理器是一个事务处理环境的核心构件。它的主要职责是当应用构件要求时建立事务,允许资源征集和遣散,并指挥同资源管理器的两阶段提交或恢复协议。
一个典型的事务性应用通过向事务管理器发出一个发起事务的请求来开始一个事务。作为响应,事务管理器开始一个事务并把它同一个呼叫线程联系在一起。事务管理器也建立一个事务上下文。在事务中的所有应用构件和/或线程共享事务上下文。初始发起开始事务的请求的线程,或者如果事务管理器允许的话,任何其他线程可以通过发起提交或回滚请求来最终终止事务。
在一个事务被终止之前,在事务管理器所知道的多个数据上,多个构件和/或线程可以完成事务性操作。如果事务管理器允许的话,在事务最终完成之前,一个事务可以被挂起或被继续执行。
一旦应用发起了提交请求,事务管理器为一个提交操作准备所有资源(通过指挥一次投票表决),并基于是否所有的资源都准备好了(就绪)提交,来发起对所有资源的一个提交或回滚请求。
事务管理器:职责
- 建立和维护事务上下文
- 维护一个事务和特定的资源间的关联
- 发起并指挥两阶段提交和恢复协议
- 在开始两阶段提交和恢复过程之前向应用构件们做同步呼叫
下面的章节讨论事务处理相关的各种概念。
- 大小: 16.8 KB
分享到:
相关推荐
Nuts and Bolts of Transaction Processing 的中文翻译
Nuts2json 以Web格式(例如和提供。 提供它是为了支持基于NUTS区域的统计网络地图的开发。 在某种程度上,它提供了可用于您自己的数据和制图样式... /<YEAR>/<PROJECTION>/<SCALE>/<NUTS>.json 对于GeoJSON格式:/<
Nuts是一款专为化学、化工和高分子科学等领域设计的核磁处理软件,它提供了强大的数据分析和处理功能,帮助科研人员高效地解析核磁共振(Nuclear Magnetic Resonance,简称NMR)谱图。NMR是一种重要的实验技术,通过...
#### 二、wxPython的类层次结构 在wxPython中,类的继承关系是其设计的核心之一。从基础类`wx.Object`开始,逐步扩展到各种GUI元素: - `wx.Object`:所有wxPython对象的基础类。 - `wx.EvtHandler`:处理事件的基础...
【标题】"核磁图谱处理软件NUTs"是一个专为化学和高分子行业设计的工具,主要用于处理核磁共振(NMR)数据。NMR技术是化学分析中的重要手段,它能揭示分子内部的结构信息,尤其在确定有机化合物的结构时极其关键。 ...
Nuts2013是核磁共振数据处理的重要软件之一,具备数据采集、处理、解析和报告生成等功能。它支持多种格式的核磁共振数据,能够进行复杂的傅立叶变换、谱峰归属、自旋系统分析等操作,帮助用户快速准确地理解样品的...
NUts2008是一款专业且功能齐全的核磁数据处理软件,它为科研工作者提供了强大的数据处理和解析工具,帮助他们从NMR谱图中获取宝贵的信息。 NUts2008的核心功能包括但不限于以下几点: 1. 数据采集与导入:该软件...
Swift Programming Nuts and Bolts provides a clear and concise overview of the programming language, describes its key features and APIs, and presents recommendations for developing programs using ...
本文将深入探讨NUTS软件在处理显示核磁报告文件名的三种策略,帮助用户更高效地操作和管理这些文件。 策略一主要针对文件名为"CP-0003428-021-H1-DMSO-20090708"这类格式的核磁报告。首先,需要进入相应的文件夹,...
List<String> mondayMeals = new ArrayList<>(); mondayMeals.add("Breakfast: Oatmeal with fruit and nuts"); mondayMeals.add("Lunch: Grilled chicken salad"); mondayMeals.add("Dinner: Baked salmon with ...
#### 二、互联网的服务视角 互联网不仅是一种技术架构,更是一个提供多样化服务和支持分布式应用的平台。通过这一视角,我们可以看到互联网支持的广泛服务和应用,包括万维网(WWW)、电子邮件、在线游戏、电子商务...
HTML5是HTML的最新版本,引入了许多新特性,如语义化标签(例如<header>、<footer>、<article>等)、离线存储、拖放功能、媒体元素(音频和视频)以及canvas和svg等图形绘制支持。这些改进使开发者能够创建更丰富、...
除了基本的1D处理外,NUTs还提供了许多高级功能,如自动化处理、宏命令、双视图显示等,这些功能极大地提高了数据处理的效率和灵活性。 - **自动化**:通过创建宏命令或链接命令,用户可以将一系列复杂的数据处理...
核磁共振(NMR)谱图处理是化学、生物、医学等领域实验分析的重要环节,而NUTs作为一款功能强大的处理软件,能够处理一维及二维的核磁数据,涵盖了从傅立叶变换到基线矫正等一系列操作。以下将详细介绍NUTs的基本操作...
NUTS软件是一款专门用于处理和分析核磁共振(NMR)数据的专业工具。在核磁共振实验中,数据通常以一系列的文件形式存储,这些文件的命名方式可能较为复杂,例如"CP-0003428-021-H1-DMSO-20090708"这样的格式,其中...
"thr<h1>ee" ], "more": "stuff" }, "awesome": true, "bogus": false, "meaning": null, "japanese": "明日がある。", "link": "http://jsonview.com", "notLink": "http://jsonview.com is great" }
文档内容提到了表面处理和螺栓螺钉端部的设计,例如圆头和滚花螺纹端部。这些设计元素会影响产品的外观、抗腐蚀性以及安装时的便捷性。 6. 标记和识别 标准要求在产品上进行适当的标记和标识,以便区分不同的规格、...
(安卓版本)nuts.apk(安卓版本)nuts.apk(安卓版本)nuts.apk(安卓版本)nuts.apk(安卓版本)nuts.apk(安卓版本)nuts.apk(安卓版本)nuts.apk(安卓版本)nuts.apk(安卓版本)nuts.apk(安卓版本)nuts.apk...