赵文林 孙柒
计算机世界
一、引言
电子商务业务中大量地涉及到对信息资源的处理,由于数据库技术的发展比较成熟,数据库管理系统是目前存储和管理信息资源的一种最有效的手段,所以电子商务业务几乎都建立在已有的数据库基础之上。随着企 业规模的不断扩大,特别是大型的跨国公司,其电子商务所提供的服务在物理上是分布的,因此其数据库也处于分布式环境中。企业间的竞争十分激烈,特别在中国加入WTO后,竞争会愈演愈烈,竞争必然会导致企业间重组,由于不同企业的电子商务采用的数据库管理系统各不相同,因此会出现异构数据库的情况。伴随企业的发展,电子商务的数据库管理系统的分布异构情况已经越来越普遍。因此如何在分布异构环境下保证电子商务数据的完整性是保证电子商务业务逻辑正确性的关键。
事务管理技术是维护数据一致性和完整性的有效手段。事务管理处于数据库系统结构的核心位置,事务管理的基本任务就是有效管理事务读写操作的并发执行,来维护事务的ACID(A:原子性、C:一致性、I:孤立性、D:持久性)特性,保证数据的一致性和完整性。事务管理在维持事务性质和保证数据一致性和完整性上主要使用并发控制和恢复机制,并发控制用以维护事务的一致性和孤立性,恢复机制用以维护事务的原子性和持久性,两种机制共同保证数据的一致性和完整性。在开放环境下的电子商务业务中,如何有效地保证分布式事务性质,维护数据一致性和完整性是确保电子商务业务逻辑正确性的关键技术。我们借鉴现有的技术和理论设计并实现了一个能够在电子商务业务中保证分布式事务性质,维护数据一致性和完整性的服务系统:DTS(DistributedTransactionService)分布事务服务系统。
二.分布事务服务DTS
分布事务服务(DTS:DistributedTransactionService)是我们设计并实现保证电子商务业务中分布式事务性质,维护数据一致性和完整性的服务。他依据COSS标准,基于StarBus软件平台开发,作为StarBus软件平台的标准构件而存在。
分布事务服务主要由两部分组成:对象事务服务和并发控制服务。其中对象事务服务主要采用两阶段提交协议和相关的恢复机制来保证分布式事务的原子性和持久性;并发控制服务主要采用两阶段锁协议来保证分布式事务的一致性和孤立性。对象事务服务和并发控制服务共同协调保证分布式事务的性质,维护数据一致性和完整性。
在DTS的应用系统中要对资源对象进行操作,资源对象是指计算机之间可共享的以对象的形式提供服务的面向对象数据库。资源对象可通过客户Server所提供的调用接口被访问和使用。由于存在大量的建立在关系数据库之上的数据库应用系统,为了方便已有系统的集成,我们对几种典型的关系数据库进行相应的封装,以对象方法的形式对外提供调用,并在此基础上实现资源的两阶段提交调用,扩大了DTS服务的应用范围。
DTS的总体结构如(图1)所示。(其中的客户就是电子商务业务应用)
图1DTS的总体结构
三、关键技术
1.对象事务服务
对象事务服务是DTS的重要组成部分,他采用两阶段提交协议来协调所有参与分布式事务的资源对象(数据库)。同时对象事务服务还具备一定的恢复的功能,对可能出现的异常情况(网络中断、节点失败等情况)进行必要的处理,以确保分布式事务的原子性和持久性。
1.1两阶段提交协议(2PC)
在分布异构环境中,常用的保证分布式事务原子性和持久性的方法是两阶段提交协议(2PC:TwoPhaseCommit)。2PC协议的基本思想是:开始事务的节点作为协调者,其他节点作为参与者,协调者和参与者之间可以通讯,子事务在提交之前进入预提交状态,等待全局事务的决策,整个提交过程分为两个阶段:投票阶段和决策阶段,具体如下:
协调者向所有参与者发投票命令;
参与者投票;
如果所有参与者都投提交票,则全局决策为提交,如果有一个参与者投取消票或者没有响应,则全局决策为取消;
协调者向所有参与者发决策信息,参与者执行全局决策
下一页