正在加载图片...
Cac0N06559 须加上支持应用程序返回到这一操作开始前的状态的措施。换句话说,开发者必须加入 代码使系统能够在操作岀现错误时恢复原状(撤消)。 ·更为简单的方法是在事务处理系统的环境之内进行操作,事务处理系统的任务就是保证 整个事务或者完全成功,或者什么也不做。如果事务的所有任务都成功地完成,那么在 应用程序中的变化就提交给系统,系统就处理下一个事务或任务。如果操作中某一部分 不能成功地完成,这将使系统处于无效的状态,应回滚系统的变化,并使应用程序返回 到原来的状态。 事务处理系统的能力就是将完成这些操作的知识嵌入到系统本身。开发者不必为将系统 恢复原状编写代码,需要做的只是告诉系统执行任务是否成功,剩下的事情由事务处理系统 自动完成。 在帮助开发人员解决复杂的问题时,事务处理系统的另一好处是其ACID属性 191.2AC|D属性 当事务处理系统创建事务时,将确保事务有某些特性。组件的开发者们假设事务的特性 应该是一些不需要他们亲自管理的特性。这些特性称为ACID特性 ACID就是:原子性( Atomicity)、一致性( Consistency)、隔离性( Isolation)和持久性 (Durabilily) 原子性 原子性属性用于标识事务是否完全地完成,一个事务的任何更新要在系统上完全完成, 如果由于某种原因出错,事务不能完成它的全部任务,系统将返回到事务开始前的状态。 让我们再看一下银行转帐的例子。如果在转帐的过程中出现错误,整个事务将会回滚 只有当事务中的所有部分都成功执行了,才将事务写入磁盘并使变化永久化。 为了提供回滚或者撤消未提交的变化的能力,许多数据源采用日志机制。例如, SQL Server使用一个预写事务日志,在将数据应用于(或提交到)实际数据页面前,先 写在事务日志上。但是,其他一些数据源不是关系型数据库管理系统( RDBMS),它 们管理未提交事务的方式完全不同。只要事务回滚时,数据源可以撤消所有未提交 的改变,那么这种技术应该可用于管理事务。 2.一致性 事务在系统完整性中实施一致性,这通过保证系统的任何事务最后都处于有效状态来实 。如果事务成功地完成,那么系统中所有变化将正确地应用,系统处于有效状态。如果在 事务中出现错误,那么系统中的所有变化将自动地回滚,系统返回到原始状态。因为事务开 始时系统处于一致状态,所以现在系统仍然处于一致状态 再让我们回头看一下银行转帐的例子,在帐户转换和资金转移前,帐户处于有效状态。 如果事务成功地完成,并且提交事务,则帐户处于新的有效的状态。如果事务出错,终止后, 帐户返回到原先的有效状态 记住,事务不负责实施数据完整性,而仅仅负责在事务提交或终止以后确保数据返回到 致状态。理解数据完整性规则并写代码实现完整性的重任通常落在开发者肩上,他们根据 业务要求进行设计。须加上支持应用程序返回到这一操作开始前的状态的措施。换句话说,开发者必须加入 代码使系统能够在操作出现错误时恢复原状 (撤消)。 • 更为简单的方法是在事务处理系统的环境之内进行操作,事务处理系统的任务就是保证 整个事务或者完全成功,或者什么也不做。如果事务的所有任务都成功地完成,那么在 应用程序中的变化就提交给系统,系统就处理下一个事务或任务。如果操作中某一部分 不能成功地完成,这将使系统处于无效的状态,应回滚系统的变化,并使应用程序返回 到原来的状态。 事务处理系统的能力就是将完成这些操作的知识嵌入到系统本身。开发者不必为将系统 恢复原状编写代码,需要做的只是告诉系统执行任务是否成功,剩下的事情由事务处理系统 自动完成。 在帮助开发人员解决复杂的问题时,事务处理系统的另一好处是其 A C I D属性。 19.1.2 ACID属性 当事务处理系统创建事务时,将确保事务有某些特性。组件的开发者们假设事务的特性 应该是一些不需要他们亲自管理的特性。这些特性称为 A C I D特性。 A C I D就是:原子性 ( 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 l y )。 1. 原子性 原子性属性用于标识事务是否完全地完成,一个事务的任何更新要在系统上完全完成, 如果由于某种原因出错,事务不能完成它的全部任务,系统将返回到事务开始前的状态。 让我们再看一下银行转帐的例子。如果在转帐的过程中出现错误,整个事务将会回滚。 只有当事务中的所有部分都成功执行了,才将事务写入磁盘并使变化永久化。 为了提供回滚或者撤消未提交的变化的能力,许多数据源采用日志机制。例如, SQL Server使用一个预写事务日志,在将数据应用于 (或提交到)实际数据页面前,先 写在事务日志上。但是,其他一些数据源不是关系型数据库管理系统 ( R D B M S ),它 们管理未提交事务的方式完全不同。只要事务回滚时,数据源可以撤消所有未提交 的改变,那么这种技术应该可用于管理事务。 2. 一致性 事务在系统完整性中实施一致性,这通过保证系统的任何事务最后都处于有效状态来实 现。如果事务成功地完成,那么系统中所有变化将正确地应用,系统处于有效状态。如果在 事务中出现错误,那么系统中的所有变化将自动地回滚,系统返回到原始状态。因为事务开 始时系统处于一致状态,所以现在系统仍然处于一致状态。 再让我们回头看一下银行转帐的例子,在帐户转换和资金转移前,帐户处于有效状态。 如果事务成功地完成,并且提交事务,则帐户处于新的有效的状态。如果事务出错,终止后, 帐户返回到原先的有效状态。 记住,事务不负责实施数据完整性,而仅仅负责在事务提交或终止以后确保数据返回到 一致状态。理解数据完整性规则并写代码实现完整性的重任通常落在开发者肩上,他们根据 业务要求进行设计。 第1 9章 A S P和事务性We b应用程序计计559 下载
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有