WEB数据库异地并行设计_第1页
WEB数据库异地并行设计_第2页
WEB数据库异地并行设计_第3页
WEB数据库异地并行设计_第4页
WEB数据库异地并行设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、异地并行设计中WEB数据库设计 近年来,随着Web技术的蓬勃发展,人们已不满足于只在浏览器上获取静态的信息,想要通过它发表意见、查询数据。随着电子商务的普及人们开始参与一些网络商务活动,这就迫切需要实现Web与数据库的互连1。产品异地并行设计对数据的要求有一定的特殊性,主要有(1)产品数据多种多样。产品设计,特别是机械产品设计常常是大型而又复杂,在异地通过不同的设计小组,按不同的分工设计同一产品,所要管理和通讯的数据类型随着分工的不同而有不同的表现形式,如常规的数字组成的数据集,以图形、图象形式表达的产品模型数据,以文字形式描述设计的文档,还有图表、公式等形式,复杂多样。(2)产品数据交换频繁

2、,流量大。产品设计是一个协同工作的创造性集体智慧凝聚的过程,要使设计顺利进行,分布在异地的不同设计小组之间就要经常性地进行数据交换,并且有些形式表达的产品数据是较大的文件。(3)产品数据的一致性要求高。分工合作的不同设计小组之间的设计任务是彼此关联,互相依赖的。如果其中一个数据改变了,相关联的数据必须跟着改变,在Web数据库设计时必须考虑数据的一致性问题。(4)产品数据的并发性访问频繁。由于异地产品设计的特殊属性,数据的并发性访问非常频繁。所以,进行基于Internet的产品异地并行设计的Web数据库设计与一般的电子商务不同,要充分考虑以上属性。本文结合我们近期开发的机械产品异地并行设计系统(

3、RCDS, Remote Concurrent Design System),综合比较了多种当今流行的网络数据存取技术,设计出可靠安全的数据库系统。 1 Web数据据库连接方案案 1.1数据库连连接方案选择择RDO、DAOO和ADO是比较较常见的Weeb数据库访访问技术。 DAO (Daata Acccess Objeccts) 数数据访问对象象是第一个面面向对象的接接口,它含有有 Micrrosoftt Jet 数据库引擎擎(由 Miicrosooft Acccess 所使用),并并允许 Viisual Basicc 开发者通通过 ODBBC 象连接接到其他数据据库一样,直直接访问到 Acc

4、esss 表。DAO 最适用于单单系统应用程程序或小范围围本地分布使使用,对大范范围的异地并并行设计显得得功能不够强强大。 RDO (Reemote Data Objeccts) 远远程数据对象象是一个到 ODBC 的、面向对对象的数据访访问接口,它它同易于使用用的 DAOO stylle组合在一一起,提供了了一个接口,形形式上展示出出所有 ODDBC 的底底层功能和灵灵活性。RDDO 在访问问 Jet 或 ISAMM 数据库方方面有一定的的限制,而且且它只能通过过现存的 OODBC 驱驱动程序来访访问关系数据据库。但是,RDO 已被证明是许多 SQL Server、Oracle 以及其他大型

5、关关系数据库开开发者经常选选用的最佳接接口。RDOO 提供了用用来访问存储储过程和复杂杂结果集的更更多和更复杂杂的对象、属属性,以及方方法。对异地地并行设计WWeb数据库库来说也不是是十分理想。 ADO(ActtiveX Data Objeccts)为ActiiveX组件件中数据库访访问组件,AASP就是通通过它实现对对数据库的访访问。ADOO 是 DAO、RDO 的后后继产物。AADO 2.0在功能上上与 RDOO 更相似,而而且一般来说说,在这两种种模型之间有有一种相似的的映射关系。ADO “扩展”了 DAO 和 RDO 所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数

6、),以及事件。例如,ADO 没有与 rdoEngine 和 rdoEnvironment 对象相等同的对象,可以包含 ODBC 驱动程序管理器和 hEnv 接口。尽管事实上接口可能是通过 ODBC OLE DB 服务提供程序实现的,但目前也不能从 ADO 中创建 ODBC 数据源。ADO 是为 Microsoft最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。OLE DB 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。ADO 在关键的 Internet 方案中使用最少的网络流量,并且在前

7、端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。同时 ADO 使用了与 DAO和 RDO相似的约定和特性,简化的语义使它更易于学习。 ADO最早是在在IIS中引入入的,主要用用于ASP,用ADO可以使使服务器端的的脚本通过OODBC存取取和操纵数据据库服务器的的数据。使用用ADO的对象象可以建立和和管理数据库库的连接,从从数据库服务务器请求和获获取数据,执执行更新、删删除、添加数数据、获取OODBC的错错误信息等。ADO是ASP方案中最具吸引力的数据库连接控件,它为用户提供了连接任何兼容ODBC的数据库以及创建全功能数据库应用程序的能力。 ADO具有简单单易用、高速速、占

8、用资源源少等的优点点。不同于DDAO和RDO,ADO有着更更高的执行效效率。ADOO 对象模型型如图1a所示。每每个 Connnectiion、Commaand、Recorrdset 和 Fielld 对象都都有 Proopertiies 集合合,如图1bb所示。 a) bb) 图1 ADO对对象模型及属属性 应该说,ADOO是微软的下下一代数据库库连接技术,用用来全面取代代RDO和DAO的数据据访问工具。从从发展趋势来来看,ADOO今后将逐步步替代老的DDAO特别是是RDO数据访访问接口,成成为新的远程程数据访问方方法。所以,选选择ADO作为产产品异地并行行设计的Weeb数据库接接口技术是合

9、合适的。 1.2 ADOO应用分析 ADO 并不是是自动和现存存的数据访问问应用程序代代码兼容的。当当 ADO 封装 DAOO 和 RDO 的功能性的的时候,必须须将许多语言言要素转换为为 ADO 语法。在某某些情况下,这这将意味着要要对现存代码码的某些功能能做一个简单单转换。在其其他情况下,最最佳的做法可可能是用 AADO 的新新功能重写该该应用程序。 包含在 DAOO 和 RDO 模型中的许许多功能被合合并为单个对对象,这样就就生成了一个个简单得多的的对象模型。然然而,由于这这个原因,起起初可能会觉觉得找到合适适的 ADOO 对象、集集合、属性、方方法,或事件件非常困难。与与 DAO 和

10、RDO不同同的是,尽管管 ADO 对象是分层层结构的,但但在分层结构构范围之外也也是可以创建建的。同时,也也应当注意,ADO 当前并不支持 DAO 的所有功能。ADO 主要包括 RDO 风格的功能性,以便和 OLE DB 数据源交互,另外还包括远程和 DHTML 技术。 一般说来,在 ADO 的的演化过程中中,马上把大大多数 DAAO 应用程程序(exccept ppossibbly是那些些使用 ODDBCDirrect 的的应用程序)移移植到 ADDO 上为时时太早,因为为当前的 AADO 并不不支持数据定定义 (DDDL)、用户户、组等等。不不过,如果只只将 DAOO 用于客户户服务器应用

11、用程序,并不不依赖于 JJet 数据据库引擎或不不使用 DDDL,那么就就可能移植到到 ADO。最最终,Miccrosofft 将提供供一个 ADDO DDLL 组件来帮帮助进行 DDAO 到 ADO 的移植,并并为 OLEE DB 供供应商提供一一般的 DDDL 支持。 在ASP中使用用ADO技术来来访问Webb数据库,其其应用前景是是无可估量的的。原理图如如下: 图2 ADO在在ASP程序序中的应用 2 Web数据据库管理系统统 常见的数据库类类型有面向对对象的数据库库(OODBB)和关系型型数据库。OOODB对主主流数据库应应用开发来说说是相当新颖颖的,使用OOODB使应应用程序中的的数

12、据对象与与现实世界中中的对象一一一对应,面向向对象数据库库扩充了对象象模型。一个个常用的对象象模型是由对对象数据库管管理组(ODDMG)开发发出来,具有有比传统的关关系数据库更更优越的性能能,但毕竟在在目前还是一一种探索阶段段,暂时还未未有相应的技技术普及。 关系数据库已经经是数据库体体系的世界标标准。当开发发一个数据驱驱动应用程序序时,大多数数情况下用户户需要访问网网络(如Innterneet、Intraanet等)上上的数据信息息,就RCDDS就是建立立在网络的信信息通讯之上上,是完全的的客户机/服务器应用用程序。 SQL Serrver是一一个可缩放、高高性能的关系系型数据库管管理系统(

13、RRDBMS),它它的设计是为为了满足分布布式客户/服务器计算算的需要,允允许客户应用用程序使用几几个特定的工工具和技术控控制从服务器器检索的数据据。这些包括括触发器、存存储过程和规规则的选项。因因此,系统采采用MS SSQL Seerver77.0作为后后台数据库。 3 Web数据据库结构 数据模型通常有有层次模型、网网状模型、关关系模型及OOO(面向对对象)模型等等。其中关系系模型是建立立在数学概念念基础之上的的一种模型,由由若干个关系系框架组成的的集合,它也是到目目前为止最为为成熟的一种种数据库类型型。本文RCCDS采用MS SSQL Seerver作作为后台数据据库,根据数数据库工具和

14、和数据库特点点,开发出一一套可靠健壮壮的数据存储储方案。 整个数据库共有有AdminnData、ChatNNames、DesiggnUnitts、Messaage、OnlinneUnitts、Produucts、RqtTaasks、RqtTaaskUniits、RqtDeesignUUnits、ShareeData、Taskss、TaskUUnits和和UploaadFilees等表格。在在建立数据模模型的时候首首先考虑是要要避免重复数数据,也就是是建立规范化化数据库。规规范化数据库库可以通过被被称为范式水水平的指标来来衡量,级别别有第一范式式、第二范式式和第三范式式,通常第三三范式就是要要达

15、到的目标标,因为它提提供了数据冗冗余和开发简简易性之间的的最好折衷。 RCDS数据库库正是按照第第三范式标准准来设计的,它它保证了模型型的精简和表表格的紧凑性性。而第三范范式标准也最最大发挥了关关系数据库的的优势,图33是部分表格格的视图链接接情况。 图3 关系表格格视图 4.1 并发控控制的处理 在多个用户同时时访问一个数数据库时就产产生并发问题题,特别是在在其中一些用用户对数据库库有添加或删删除修改等操操作时,那么么其他所获得得的数据可能能是一塌糊涂涂,甚至造成成整个数据访访问的冲突、终终止,从而使使系统发生混混乱以至崩溃溃。RCDSS采用的解决决办法是锁定定技术,总体体上分为共享享锁定和

16、排它它锁定两种类类型(如图44)。前者是是指同时有几几个过程共享享一个锁定,比比如一个用户户(或客户)正正在读取一个个数据,虽然然在这之前他他已经对该数数据设置了锁锁(LOCKK),但其他他用户同样可可以(也只能能是)读取它它。而排他锁锁定一般应用用于对数据进进行修改或更更新(包括添添加删除等)操操作,即是用用户在修改一一个数据之前前设置了锁定定,在一定的的时间里其他他用户是不能能访问到该数数据的,只有有等待锁定解解除(UNLLOCK)才才能进行访问问到它,当然然在计算机处处理的时候,其其他的用户一一般是感觉不不到有这个等等待时间的。通通过这样的处处理,就保证证了数据的一一致性。 a) 共享锁

17、定定 b) 排它锁定定 图4 安全锁定定类型在ADO进行数数据库操作时时,它的锁定定类型相对来来说复杂一些些。打开记录录集时,可以以指定锁定类类型。锁定类类型决定了当当不止一个用用户同时试图图改变一个记记录时,数据据库应如何处处理。ADOO中的锁定主主要有以下四四种类型: l AdLocckReaddOnly 指定你不能能修改记录集集中的记录 l AdLocckPesssimisttic 指定定在编辑一个个记录时,立立即锁定它 l AdLocckOptiimsticc 指定只有有调用记录集集的Updaate方法时时,才锁定记记录 l AdLocckBatcchOptiimsticc 指定记录录

18、只能成批地地更新 在缺省情况下,记记录集使用只只读锁定。要要指定不同的的锁定类型,可可以在打开记记录集时包含含这些锁定常常量之一。部部分代码如下下: Set MyCConn=SSever.CreatteObjeect(“AADODB.Conneectionn”) /定义数据库库连接MyCConn Set RS=Severr.CreaateObjject(“AADODB.RecorrdSet”) /定义返回数数据记录集 MyConn.Open “BykttDB.dssn”/建建立应用程序序与数据源的的连接 RS.Openn “SELECCT * FFROM MMytablle”, MyCConn

19、, adOpeenDynaamic, adLocckPesssimisttic /进行数据库库操作,并且且设置锁定 RS.Closse MyConn.Closee 4.2产品数据据一致性处理理 数据的安全因素素除了前面所所提到的并行行控制之外,还还要考虑事务务处理。网络络数据库有其其不同的地方方,例如:假假设某个时间间有一个设计计人员在你的的站点上索取取一些设计信信息,有关的的设计信息存存储在两个表表中。一个表表用来保存该该设计者的信信息,另一个个表包含了要要索取的设计计信息。该设设计人员的信信息已经输入入了第一个表表中。但是,就就在这时,发发生了意外情情况,一道闪闪电击中了你你的服务器,使使

20、第二个表没没有被更新。在在这种情况下下,一个健壮壮的系统就必必须保证最后后的结果是两两个表都没有有被更新过。这这时候事务处处理就发挥了了重要的功效效。 使用事务处理,你你可以防止第第二个表没有有被更新而第第一个表被更更新的情况出出现:当一组组语句构成一一个事务处理理时,如果一一个语句没有有执行成功,则则所有的语句句都不成功。不不管是针对多多个表,还是是进行表内多多个记录的操操作,它们所所需要的安全全保证是一样样的。事务处处理的实现代代码如下: Set MyCConn=SSever.CreatteObjeect(“AADODB.Conneectionn”) MyConn.Open “BykttDB.dssn” MyConn.BeginnTranss /事事务处理开始始 MyConn.Exe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论