事务处理技术在城域点播系统中的研究与实现(
2014-07-03 01:03
导读:计算机应用论文论文,事务处理技术在城域点播系统中的研究与实现(论文样本,在线游览或下载,科教论文网海量论文供你参考:
摘 要 事务处理是维护数据库应用系统中数据一致性的重要方式
摘 要 事务处理是维护数据库应用系统中数据一致性的重要方式。本文分析了几种在分布式系统中实现事务处理的常用方法。结合城域点播系统,利用ADO事务处理技术提出了维护数据一致性的有效方案。 关键词 事务处理;VOD;ADO0 引言 数字电视城域点播系统是可覆盖全城的扩展的分布式VOD系统,为用户提供方便快捷、稳定流畅的高画质VOD服务。该系统采用多层分布式系统架构,后台数据库搭建在SQL Server 2000之上,SQL Server 2000是可缩放、高性能的关系型数据库管理系统,提供强大的事务处理功能,对事务恢复主要采用基于事务日志机制来保证数据的完整性。由于系统面向更具体的要求和应用,SQL Server 2000提供的隐性事务控制还不能完全满足系统的需要,而且还会造成应用程序性能下降。 因此,本文讨论了如何在该系统中实现更全面、更完善的显式事务控制,从而实现数据的一致性和完整性,保证整个系统的安全、有效的运行。 1 SQL Server 2OOO事务处理技术 事务是一种能够把数据库的修改作为整体提交给数据库的机制,从而保证数据库的一致性。事务作为单个逻辑工作单元执行的一系列操作。必须具备四个属性:即原子性(Atomy) 、一致性(Consistency) 、隔离性( Isolability) 和持久性(Durability) ,称为 ACID属性。 在DB-Library 应用程序和 T-SQL 脚本中可以使用Begin Transaction ,Commit Transaction 等语句描述事务,SQL Server 2000 可以按显式、自动提交或隐性模式启动事务,用COMMIT 或 ROLLBACK结束事务。SQL server应用程序主要使用 Transact-SQL 语句或数据库 API 函数通过指定事务启动和结束的时间来控制事务。常用的数据库API 有ODBC、OLE DB 和ADO ,不同的数据库访问方式的效率和访问方式策略有不同,如 ADO 不支持隐性事务,OLE DB 没有专门用来设置隐性事务模式的方法。2 基于多层结构中显式控制事务几种方法2.1 多层结构体系介绍 多层结构系统由于其安全性、易扩展、易于实现分布式的数据处理方式等优势使其应用越来越广泛。多层系统中典型的是三层结构体系(如图1),客户端负责系统与用户的交互,企业逻辑,数据访问规则,合法性校验等放在应用服务器层,客户程序通过IAppServer接口与应用服务器通讯,通讯的协议可以是TCP/IP,DCOM,MTS或CORBAT。应用服务器通过数据集控件访问数据库服务器。

图1 三层体系结构2.2 多层结构中显式事务控制几种方法2.2.1 事务处理集中于客户端 这种处理方式主要利用客户端的TClientDataSet组件,在其CommandText属性中定义事务,通过IAppServer接口将定义的SQL语句传给应用程序服务器中的数据集组件,数据集组件通过BDE访问远程数据库服务器,并把含有事务处理的SQL语句传给数据库服务器,这样实现事务的控制。 在正常情况下,系统可有效的控制事务,但若客户端在开始一个事务由于任何原因中断了客户端和数据库系统的通讯,由于此时数据表处于锁定状态,只有提交或回滚才能解锁,这必然影响到系统的正常运行。2.2.2 在数据库服务器端控制事务 在数据库服务器后台,利用T-SQL语句定义存储过程或触发器来实现事务的控制.当应用服务器通过调用组件的方式执行相应存储过程时,数据库将自动完成数据的修改,从而实现事务的控制。但由于存储过程和数据集控件绑定,这将影响松散耦合系统的维护和功能的扩展,而且为满足系统不同的功能需求,数据库服务器将定义更多的存储过程或触发器来实现系统功能,这对数据库服务器的移植和维护带来一定的困难。2.2.3 在应用服务器控制事务 在中间层实现事务,由远程提交数据包给中间层由中间层来进行企业逻辑判断和事务处理,客户端只负责提交数据包,不进行企业逻辑判断,数据包提交后即使网络中断中间层也可继续进行企业逻辑判断和事务处理,因为中间层处理时间短,不会影响其它用户。而且,后台数据库本身并不执行太多的操作,这将提高整个系统的执行效率。下面具体讨论如何在城域点播系统应用服务器中实现事务处理。3 事务处理在城域视频系统中的实现3.1 系统主要结构 该系统软件开发环境选用Delphi7.0 SQL Server 2000,采用C/S三层结构模式,客户端和应用服务器之间采用CORBA协议,实现在不同开发语言环境和异构系统之间数据交互,保证了整个系统运行的稳定性、高效性和安全性。软件体系具体分成以下部分(如图2): 1) 应用服务器端:呼叫服务中心(Call Center),是整个系统控制的中心,主要实现用户点播业务,启动点播服务器,与VOD点播服务器、运营管理中心保持通信,回复客户的各种信息查询要求等等。在内部实现上,主要由23个动态连接库(DLL)组成,其中CustomManager.dll动态库主要实现对用户信息管理,底层数据库模块VODDateBase.dll主要负责与数据库的连接和数据的处理和执行。 2) 数据库服务器端:SQL server 2000;主要存储系统数据、节目数据、用户数据等。 3) 客户端:用户接入服务器(ESNP/SM Server)、视频服务器群(VOD Servers)、用户管理模块(User Management)、运营管理模块(SysRun Management)、系统管理模块(System Management)、节目管理模块(Media Management)、系统监控模块(SystemMonitor)等。系统结构图如下: