已阅读5页,还剩72页未读, 继续免费阅读
(计算机应用技术专业论文)基于adonet网络数据库应用系统的并发控制研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 现今社会,信息已经成为比物质和能源更为重要的资源,雨存储、管理如 此庞大信息资源的正是数据库系统;同时,网络凭借其高效性和便捷性也迅速 遍及世界各个角落,与人类社会、生活息息相关,因此数据库技术与网络技术 的结合成为计算机领域关注的焦点之一。与之相伴的是多用户高效、快速共享 数据源的要求不断提高。因此,在对网络数据库的研究中,数据库多事务并发 控制有很高的应用价值。 另一方面,在数据库应用系统的设计中,数据库的访问是非常重要的。在 断开连接数据访问模型下,如何进行并发控制,保持数据库的一致性,很少有 相关的文献进行研究。基于此种现状,本文在剖析断开连接数据访问模型 a d o n e t 的基础上,提出了一种基于时间戳验证的多版本两阶段封锁并发控制 协议( t v b m v 2 p l ) 。 本文首先回顾数据访问技术的发展,分析a d o n e t 的体系结构和数据库 访问机制,重点研究a d o n e t 对象模型的两个核心组件:d a t a s e t 和n e t 数 据提供程序。同时总结了数据库并发控制的几种主要机制,如基于锁的协议、 基于时间戳的协议、基于有效性检查的协议、多版本机制等,并分析比较它们 的优势与缺点。 其次,在深入分析a d o n e t 断开连接数据访问模型的基础上,结合断开 连接访问模型和连接访问模型的优点,设计出一种适用于网络数据库应用系统 的并发控制协议。该协议能解决在断丌连接访问模型下网络数据库系统的并发 访问异常,保证数据的一致性,提高系统的性能和并发度。 接下来,采用真实系统的实验比较方法对协议进行测试。通过比较分析三 种协议的性能,证明其优越性,还总结了在并发环境下影响数据库访问性能的 主要原因,并提出改进方案。 再次,开发了一个具体应用实例,在n e t 框架和m i c r o s o f ts q l s e r v e r2 0 0 0 下实现了该协议。 最后,对具体研究工作进行总结,并探讨了未来的研究方向,希望该协议 能在分布式数据库系统中有进一步的应用。 关键词:网络数据库系统;并发控制;断,f :连接数扼:访问模型;a d o n e t v a b s t r a c t n o w a d a y s ,i n f o r m a t i o nh a sb e c o m em o r ea n dm o r ei m p o r t a n ta n dad a t a b a s e s y s t e mi s a i m e dt os t o r ea n da d m i n i s t r a t es u c h h u g ea m o u n to fi n f o r m a t i o n m e a n w h i l e ,n e t w o r kq u i c k l ys p r e a d sa l lo v e rt h ew o r l dw i t hi t sd e p e n d i n go ni t s e f f i c i e n c ya n dc o n v e n i e n c ea n dg e t si nt o u c hw i t hh u m a ns o c i e t ya n dl i f e t h e r e f o r e , t h ei n t e g r a t i o no fd a t a b a s ea n dn e t w o r kt e c h n o l o g yh a sb e c o m eo n eo ft h ef o c u s e si n c o m p u t e rs c i e n c ef i e l d ;m e a n w h i l ed a t as h a r i n gb e t w e e nm u l t i p l eu s e r sw i t hh i i g h e f f i c i e n c yi sd e m a n d i n g t h u sm u l t i t r a n s a c t i o nc o n c u r r e n c yc o n t r o lh a sah i g hv a l u e o fa p p l i c a t i o ni nw e bd a t a b a s e o nt h eo t h e rh a n d ,i nt h ed e s i g no fd b s ,t h ed a t aa c c e s s i n gi sv e r yi m p o r t a n t i t i sn e c e s s a r yt or e s o l v et h a th o wt od ot h ec o n c u r r e n c yc o n t r o la n dk e e pd a t a c o n s i s t e n c yu n d e rt h ed i s c o n n e c t i o nm o d e li nt h ea p p l i c a t i o nd e v e l o p m e n t b u tl i t t l e r e s e a r c hw o r kh a sb e e nd o n e u n d e rt h i sc o n d t i o n ,w ep r e s e n tat i m e s t a m p v a l i d a t i o n - b a s e dm u l t i v e r s i o nt w o p h a s el o c k i n g p r o t o c o lb ya n a l y s i n g a d o n e t t h i sp a p e rf i r s tr e v i e w st h ed a t aa c c e s st e c h n o l o g y , a n a l y z e st h ei n f r a s t r u c t u r e o fa d 0 n e ta n dd a t aa c c e s sm e c h a n i s ma n df o c a s e so nt h er e s e a r c ho ft h et w o a d o n e tc o r ec o m p o n e n t s :d a t a s e ta n d n e td a t ap r o v i d e r t h e n ,i tc o n c l u d e st h e m a i nm e c h a n i s m so ft h ec o n c u r r e n c yc o n t r o l ,a n dd i s c u s s e st h e i ra d v a n t a g e sa n d d i s a d v a n t a g e s i na d d i t i o n ,b a s e do nt h ea n a l y s i so fa d o n e td i s c o n n e c t i o nm o d e l ,t h e a d v a n t a g eo fd i s c o n n e c t i o nm o d e la n dc o n n e c t i o nm o d e l ,w ed e s i g nac o n c u r r e n c y c o n t r o lp r o t o c o lw h i c hc a na p p l yt on e t w o r k i n gd a t a b a s es y s t e m t h ee x p e r i m e n t s d a t ao ft h ep r o t o c o lp r o v e si t sa d v a n t a g e t h e n ,t h em a i n c a u s eo fd a t a b a s ea c c e s s i n gp e r f o r m a n c ep r o b l e mi sc o n c l u d e da n ds o l u t i o ni s p r o v i d e d m e a n w h i l e ,a ne x a m p l ei sd e v e l o p e db a s e do n n e tf r a m e w o r ka n d m i c r o s o f ts q ls e r v e r2 0 0 0 f i n a l l y , w ec o n c l u do u rr e s e a r c hw o r ka n dt a l ka b o u tt h ef u t u r er e s e a r c h d i r e c t i o n h o p et h ep r o t o c o lc a na p p l yt od i s t r i b u t e dd a t a b a s es y s t e m s k e yw o r d s :n e t w o r kd a t a b a s e ;c o n c u r r e n c yc o n t r o l ;d i s c o n n e c td a t aa c c e s sm o d e l ; a d o n e t 图表目录 图卜1 数据库系统2 图1 - 2o d b c 结构关系4 图卜3 使用d a o 访问数据5 图卜4 使用r d o 访问数据库5 图1 - 5a d o 架构7 图1 - 6a d o n e t 的体系结构1 0 图1 - 7a d o n e t 数据访问机制l o 图2 - 1 共享排它锁模式的相容矩阵c o m p 1 9 图2 2 两阶段封锁协议下的某个调度2 1 图3 - 1 应用系统体系结构3 2 图3 - 2 并发控制流程图3 4 图4 1 测试模型3 9 图4 2 系统响应时间4 2 图4 - 3 重启率到达率4 3 图5 - 1 关爱女孩管理信息系统的数据流图5 2 图5 2 女孩基本情况e r 图5 6 表5 - 3 数据表清单5 7 表5 - 4 女孩母亲孕情跟踪表m o t h e r p r e g n a n c y 5 8 图5 5 系统开发流程图5 9 图5 6 系统执行流程图6 0 图5 7 系统功能模块图6 1 图5 8 系统三层体系结构图6 2 v i i i 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作 及取得的研究成果据我所知,除文中已经注明引用的内容外,本 论文不包含其他个人已经发表或撰写过的研究成果对本文的研究 做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意 作者签名: 聋啦 日期:垫2 :翌 学位论文授权使用声明 本人完全了解华东师范大学有关保留,使用学位论文的规定, 学校有权保留学位论文并向国家主管部门或其指定机构送交论文的 电子版和纸质版有权将学位论文用于非赢利目的的少量复制并允 许论文进入学校图书馆被查阅有权将学位论文的内容编入有关数 据库进行检索有权将学位论文的标题和摘要汇编出版保密的学 位论文在解密后适用本规定 学位论文作者签名:却吃 日期:丝2 :蟹 矽跏玎j汐 ,l了 一 覆,。一静掣 名 三 师 犯 孙 期 第1 章绪论 随着数据库系统的飞速发展和网络的同益普及,网络数据库应用系统突显 出蓬勃的生命力;同时伴随数据访问技术的不断进步,多事务的并发执行也面临 新的挑战。如何在网络环境下利用断开连接数据访问模型的优势,解决数据库并 发控制问题,提高应用系统的性能、并发度和吞吐量,都是当自口应用系统开发中 急需解决的问题,而这些内容正是本论文的基石以及进行相关研究工作的动机。 1 1 研究背景 数据库系统一直是计算机科学领域研究的重点,而网络与数据库系统的结合 更是拥有广阔的发展前景。对于数据库应用系统来说,数据访问技术又是提高系 统性能的重要因素。在断开连接数据访问模型下,并发控制存在一些新的问题。 1 1 1 数据库系统的概念及发展现状 数据库( d b ) 是长期存储在计算机内的、大量的、有结构的、可共享的数 据集合。简占之,数据库是集中存放的大批数据文件1 。 数据库管理系统( d b m s ) 是位于用户与操作系统之间的一层数据管理软件。 它在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、 安全性,并在多用户同时使用数据库时进行并发控制,且在数据库系统发生故障 后对系统进行恢复。 数据库应用系统指用户根据自身的需要,利用d b m s 提供的相关命令编制 的一组实用程序。 数据库系统由数据库、数据库管理系统、应用开发工具、应用系统、数据库 管理员和用户构成,如图1 1 。 越德寸数据库腺理技j e m 用敦 廿( 第版jf m 北京;科学m 版i 2 0 0 6 7 1 图1 - 1 数据库系统 1 数据库系统的发展1 第一阶段( 2 0 世纪7 0 年代) 的r d b m s 仅支持关系数据结构和基本的关系 操作( 选择、投影、连接) 。 第二阶段( 2 0 世纪8 0 年代) 对关系操作的支持已经比较完善,但是对数据 完整性的支持仍然较差。此时,s q l 语占已经成为关系数据库的标准。 第三阶段( 2 0 世纪9 0 年代) 加强了数据完整性和安全性的性能。完整性的 控制在核心层实现,克服了在工具层的完整性可能存在“旁路”的弊病。 2 数据库系统的现状 据统计,2 0 世纪7 0 年代以来新发展的d b m s 系统中,近百分之九十是采用 关系数据模型,其中涌现出了许多性能优良的商品化关系数据库管理系统。例如, 小型系统f o x p r o ,a c c e s s 、p a r a d o x 等,大型系统d b 2 ,i n g r e s ,o l 认c l e , s y b a s e ,s q l s e r v e r 等。2 0 世纪8 0 年代和9 0 年代是r d b m s 产品发展和竞 争的时代。各种产品经历了从集中到分布,从单机环境到网络环境,从支持信息 管理到联机事务处理( o l t p ) ,再到联机分析处理( o l a p ) 的发展过程:对关 系模型的支持也逐步完善;系统的功能不断增强。 进入9 0 年代,随着i n t e r n c t 的发展,计算机网络在我们的同常生活中已经变 得越来越酱遍,也越来越重要,以冈特网为肇础的信息产业已经成为伞球经济新 兴的支杠产业和经济增长点,凭借网络最重要的资源共享和信息高速传播等特 点,计算机网络已经渗入到人类社会的方方面面,而基于网络的数据库应用系统 更是受到越柬越多的关注。 赵莉莉,f ,j f 斌浅淡数据昨系统的发键 j 科扯情报玎发j 纤济,2 0 0 5 ( 1 4 ) :2 2 1 2 2 3 2 3 网络数据库应用系统 网络数据库应用系统是数据库技术与网络技术结合进行信息处理的系统。 这种结合一方面大大提高了网络功能,同时也将数据库应用延伸到网络上,发挥 数据库强大的数据管理作用。网络数据库应用系统正在以惊人的速度应用于社会 各方面。在国外,数据库生产已形成规模,走向产业化和商业化,这就使得网络 数据库的整体发展呈现出以下特点:多用户共享数据源,数据量大,增长迅速, 更新速度快;品种齐全,内容丰富;数据标准、规范、多元;检索功能强;检索 结果的显示与输出灵活、多样;数据库系统有扩展整合功能等等。因此网络数据 库访问的并发控制、查询速度、及其安全性等问题的研究己成为新的热点和难题。 网络数据库技术( 又叫w e b 数据库技术) 既是当今i n t e r n e t i n t r a n e t 技术 和数据库技术的交叉点,也是二者共同的技术发展方向,不但是值得研究的i ; 沿 技术,在目前的应用中也有着迫切的需求2 。当前的网络数据库技术主要是通过 在服务器端或浏览器端的扩展来实现w e b 和数据库的无缝连接。当前流行的 w e b 数据库访问技术有以下几种:c g i ,w e b a p l ,j d b c ,a s p & a d o , a sp n e t a d o n e t 方式。 1 1 2 数据访问技术的演变 在数据库应用系统的设计中,数据库的访问是非常重要的。选择适当的数据 访问技术能减轻服务器的负荷、加快数据访问的速度、并对前台应用程序的开发 效率以及执行性能产生重大影响。 随着数据库产品和技术的迅速发展,从关系数据库到非关系数据存储区( 如 电子邮件和文件系统) ,数据访问技术也始终追随技术的飞速变化。下面根据其 演变历史作一简单介绍。 1 0 d b c ( 开放式数据库互连) 3 1 9 9 2 年m i c r o s o f t 公司引进y o o a c ,即开放式数据库互连( o p e i ld a t a b a s e c o n n e c t i v i t y ) 。它足一个可以实现本地或远程数据库连接的函数集,为访问异 类的s o l 数据库提供了一个共同的接口。o d b c 使用s q l 作为访问数掘的标准。 图卜2 显示了标准o d b c 结构的关系图。这一接口提供了最大限度的互操作性: 一个应用程序可以通过共同的一组代码访问不同的s q l 数据库管理系统 ( d b m s ) 。洲此,开发人员可以构建并分御客户端服务器应用程序,而无需针对 州珊珊挥史伦州络数捌库的安伞殷忡能优化ij 1 计算机1 现代化,2 0 0 6 ,( 0 1 ) :4 8 5 0 2 冯斟纬w e b 数据库技术综述【j 1 计钎# l h v 用,1 9 9 8 ( 1 0 ) :1 - 4 3w e i t 4 e n gl e e 数据访f l t k 术的浈蹙f e b o l l h t t p s :w w w m i c r o s o f l c o k e c h i n a m s d n d i b r a r y d a t a s q l s c r v e r t h e e v o l u t i o n o f d a l am s p x ? m f r = t m e 3 特定的d b m s 。只需使用新的d b m s 驱动程序替代旧的驱动程序,应用程序可就 以照常运行,无需修改代码。这样大大简化了对数据库的访问,为程序的跨平台 开发和移植提供了方便。 图1 - 2o d b c 结构关系 o d b ci i l t e t r a c e 2 j d b c ( j a v a d a t a b a s e c o n n e c t i v i t y ,j a v a 数据库连接) j d b c ( j a v a d a t a b a s e c o n n e c t i v i t y ,j a v a 数据库连接1 是支持j a v a 语言的标准 s q l 数据库访问接口。其目的在于为j a v a 程序提供对各种数据库的一致访问接 口。j d b c 与o d b c 的原理机制相同,只是j d b c 用纯j a v a 实现,而o d b c 则用纯c 实现。用j d b c 来实现网络数据库访问时,将j a v a a p p l e t 的u r l 嵌 于网页中,当该a p p l e t 被下载执行时,它通过j d b c 便可与数据库服务器直 接建立联系,实现从浏览器对各类数据库服务器的访问1 。 3 d a 0 和r d 0 ( 基于o d b c 的数据库存取对象群) o d b c 使用低层接口,但是v i s u a lb a s i c ( v b ) 程序员没有一种简单的方法 来访问0 d b c 接口。在v b6 0 之前,开发人员不得不依赖一种较高级别的数据 访问模式。图卜3 显示了v b 程序员如何用数据访问对象( d a o ) 访问数据库。 徐利枷叫络数捌库技术n 智能建筑h 络集成中的心f j 研究d 苇庆人学2 0 0 4 1 :1 2 1 6 4 a p p l i c a t i 。n 上 l 。a 。l j e te n g i n ej e te n g i t i e 上 o d b c 图1 - 3 使用d a o 访问数据 d a o 是建立在m i c r o s o f tj e t ( m i c r o s o f ta c c e s s 的数据库引擎) 基础之 上的。j e t 是第一个连接到a c c e s s 的面向对象的接口。使用a c c e s s 的应用程 序可以用d a 0 直接访问数据库。由于d a 0 是严格按照a c c e s s 建模的,因此, 使用d a 0 是连接a c c e s s 数据库最快速、最有效的方法。d a 0 也可以连接到非 a c c e s s 数据库,例如,s q ls e r v e r 和o r a c l e 。d a o 使用0 d b c ,但是由于d a 0 是专门设计用来与j e t 引擎对话的,j e t 将解释d a 0 和0 d b c 之间的调用。使 用除a c c e s s 之外的数据库时,这种额外的解释步骤导致较慢的连接速度。 为克服这样的限制,m i c r o s o f t 创建了r d 0 。图卜4 显示了r d 0 如何直接 访问0 d b ca p i ,而无需通过j e t 引擎。 l a p p l i c a t i 。n j i r d o l 上 i o d b c 图卜4 使用r d o 访问数据库 4 o l e d b ( 一致数据访问) 多年以来,o d b ct 2 成为访问客户端服务器数据库的标准。o d b c 提供 了基于标准的接口,接仁j 要求有s q l 处理功能,并被优化用于基fs q l 的方 法。然而,如果要访问不使用s q l 的非关系数据源( 例如,不按照关系存储数 据的m i c r o s o f te x c h a n g es e r v e r ) 中的数据,它就显得无能为力。于是0 l e d b 出现了。 o l e d b 是一种底层数据访问界面接口。它是在o d b c 成功的基础上建立起 来的一种新技术,由一整套系统级数据访问接口组成,不但封装了o d b c 的所 有功能,还对其有所扩展,是应用程序和数据库之帕j 的桥梁。与o d b c 相比, o l e d b 对数据物理结构的依赖更少。使用o l e d b 可以处理e m a i l 信息数据、 h t m l 文件、工作表和文本文件,甚至更加特殊的数据源。o l e d b 提供了一个 相容的、高性能的访问数据方法,并支持各种开发需要,包括在始终保持和数据 库连接的情况下,创建日每端数据客户端和中间层的商业对象。 5 a d o ( a c t i v e xd a t a0 b j e c t ) o l e d b 为c 和c + + 程序员及使用其他包含c 样式函数调用语言的程序员提 供绑定。有一些语言( 例如v b 和v b s c r i p t ) 不提供指针数据类型( 地址变量) 。 因此,这些语占不能使用c 样式绑定,而且不能直接调用o l ed b 。 在此基础上,m i c r o s o f t 推出了另一个数据访问对象模型:a d o 。a d o ( a c t i v e xd a t ao b j e c t ) 是建立在o l e d b 上层的应用模型,实现了o l e d b 的所 有功能。因此,可以通过a d o 来访问o l e d b 数据源。它提供的编程模型可以完 成几乎所有的访问和更新数据源的动作。a d o 最重要的特点是其扩展性,它只有 很少几个对象但可以与多种方法组合。其次可以像在i e 浏览器的h t m l 页中和 i n t e r a c ti n f o r m a t i o ns e r v e r 上的a c t i v e s e r v e r p a g e 中那样使用它们,甚至可以在 i n t e r n e t 上发送一批记录给客户浏览器或远端激活的c o m 组件。a d o 有三个主 要的独立对象:c o n n e x i o n 对象、r e c o r d s e t 对象和c o m m a n d 对象,以及每个对象 的两个集合:e r r o r s f i e l d s 集合、p r o p e r t i e s 集合组成。模型结构简单。且各个对象 是相互独立的,不需要根据上下层次关系按顺序产生,图1 5 显示了a d o 架构。 i客户浏览器 i l a d o ,j r i o l e d b 上 o d b c l , ( = _ i数据库 l 一 图卜5a d o 架构 6 a d o n e t 以上几种数据访问技术都属于连接数据访问模型,利用这些模型,组件将建 立与数据库的连接,并在应用程序运行过程中始终保持连接。但是这种方法在许 多应用程序中是不实用的1 : 1 ) 打开的数据库连接占用宝贵的系统资源。在大多数情况下,数据库只可以 维持少量的并发连接,且维持这些连接的系统开销将降低应用程序的总体性能。 因此,需要打开的数据库连接的应用程序极难按比例扩展。对于没有很好地按比 例扩展的应用程序而言,也许几个用户使用它时执行效果是可以接受的,但如果 有数百个用户使用它时其效果就不能接受了。当前w 曲站点的通讯量可能会在 非常短的时间内突增几个数量级。因此,w e b 应用程序尤其需要能够很轻松地进 行扩展。 在w e b 应用程序中,当浏览器从服务器请求一页时,在服务器完成处理 并发送该页后,服务器即不再与浏览器有任何连接,直到下一次请求为止。在这 种情况下,始终维持打开的数据库连接是不可行的,因为没有办法知道数据使用 者( 客户端) 是否需要进一步的数据访问。 3 1基于连接数据访问模型可能使得使用连接结构在应用程序和组织边界之 | 日j 交换数据变得困难且不切实际。如果两个组件需要共享相同的数据,贝j j _ - 者均 必须连接,或者必须为这两个组件设计一种方式以相互传递数据。 基于以上原因,实际需要一种可断开式的连接。m i c r o s o f t 就以此为契机重 新设计了断丌连接数掘访问模型- - a d o n e t 。a d o n e t 足微软公司a d o 的 下一代产品。它基于幽际匣联刚联盟w 3 c 标准的程序设计模型,可用于创建分柿 式的、数据共享的应用程序,具有高级的应用程序编程接口,面向支持对数据进 行断丌连接访i u j 的、松耦合、n 层、基于i n t e m e t 的应用程序,是m i r c o s o f t n e t 永宗牡,阵怀义皋f x m li i j 士接的w e b 数据昨 上术 j 】汁箅机t 程j 科学。2 0 0 4 2 6 ( 1 ) :1 1 1 4 7 f r a m e w o r k 的核心组件1 。a d o n e t 遵循更通用的原则,不专门面向数据库。 a d o n e t 是在非连接情况1 :访问数据的应用程序接口。具有三个很重要的 特点:提供了断开的数据访问模型,这对w e b 环境至关重要;提供了与x m l 的 紧密集成;还提供了与n e t 框架的无缝集成( 例如,兼容基类库类型系统) 。 1 1 3 并发控制概念以及存在的问题 众所周知,对于数据库而占,信息资源是非常宝贵的,只允许单用户独占数 据库的应用范围非常小,对于在金融、通讯、运输、制造、政府及军事等领域中 的数据库应用必然会提出多用户共享数据库的要求。多用户共享数据库资源会涉 及到对数据的读写问题,如果每个用户都只读取数据库中的数据,则不会有什么 问题,但是有的用户可能要更新数据库中的数据,这时就必须有一个机制来保证 这种更新操作不会影响数据库本身的完整性和一致性,不影响其它用户对数据库 的访问。为了满足这一需求,事务和并发控制应运而生。简单的说,事务处理的 任务就是实现数据库系统的资源共享,保证对数据库的流水操作和恢复;而并发 控制则是为了保证多个用户能够正确地共享数据库资源,使每个用户都不受其它 用户的影响,从而也感觉不到其它用户的存在2 。 目前,多事务并发处理对于业界而占,已不再是一个新的名词。事务作为数 据库发展过程中最基本的概念之一,已在各种电子商务平台、企业信息化平台中 获得了日益广泛的应用。尤其在全球网络化大潮汹涌澎湃的今天,网络已经逐渐 代替以个人计算机为计算中心的单机运行环境而成为新的计算平台标准,这使得 数据库应用环境发生了巨大的变化,多用户共享数据源的要求也越来越高,因此, 多事务并发控制的研究更加有应用价值。 过去,基于连接数据访问模型的事务和并发控制机制的研究已经相当完善。 在这些领域,已经提出了一些非常重要的概念,如锁机制、时间戳、调度器、两 阶段锁协议等等。可以说,在传统的连接数据访问模型中,对多事务并发控制的 调度算法的研究结果,已经确保了事务调度的可串行化,允许事务的高度并发。 然而利用多层数据访问模型和永久连接,很容易耗尽服务器资源并导致系统性能 瓶颈,因此随着数据访问技术的发展,近几年出现了断歼连接数据访问模型,但 是对于基于断丌连接数据访问模型的网络数据库应用系统来说,已有协议都难以 直接应用,而棚关研究,特别足有关并发控制实现技术的成果仍然很少。所以, 在数掘最庞大、系统规模复杂、多用户操作环境中,解决断丌连接数据访问模型 下数掘库的并发控制问题,提高应用系统的性能、并发度和吞吐肇,对当前应用 1 徐乱助mjcrosoft 数掂曲l l | 】扎术巧述f j l 数据通 :,2 0 0 5 ( 4 ) :5 5 5 6 2 刘波x m l 数抛阼申务歧并发扣:t 伸l 圳的l i d l 单陕人学,2 0 4 ) 5 5 :3 - 4 8 程序开发有一定的现乓意义。 1 2 研究内容 针对上节提出的l q 题,本论文在深入分析a d o n e t 断开连接数据访问模型 的基础上,设计出一种新的并发控制协议? 基f 时自j 戳验证的多版本两阶段封 锁协议( t v b m v 2 p l ) ,并讨论相关的网络数掘库访问优化技术。 1 2 1a d o n e t 体系结构以及数据访问机制 a d o n e t 是基于n e t 框架结构、面向分布式和以x m l 数据格式为核心的 数据访问技术。它提供了一个统一的编程模式和一组公用的类来进行任何类型的 数据访问1 ,可用于对m i c r o s o f ts q l s e r v e r ,a c c e s s ,o r a c l e ,数据文件等数据源, 以及通过o l e d b 和x m l 公开的数据源的一致访问。a d o n e t 统一了数据容 器类编程接口,无论编写何种应用程序( w i n d o w s 窗体、w e b 窗体或w 曲服务) 都可以通过同一组文件类来处理数据。无论后端数据源是s q ls e r v e r 数据库、 o r a c l e 数据库、其他数据库、x m l 文件,还是一个文本文件,都使用相同的方 式处理它们。同时,为了方便程序员使用a d o n e t ,还提供了一组丰富的控件, 利用可视化方式开发数据库应用系统。 i a d o n e t 体系结构 设计a d o n e t 的目的是满足新的应用程序编程模型:具有断开式数据结 构( 断开的连接) ;能够与x m l 紧密集成;具有能够组合来自多个、不同数据 源的数据的通用数掘表示形式;具有为与数据库交互而优化的功能。这些要求都 是n e t f r a m e w o r k 固有的内容。 a d o n e t 的体系结构如图1 - 6 所示; 乍水苹潘l i ,州,引拇i ;i 入j i l ! 钾 叭ln e t 的电新机制f j 计算机脚用2 0 0 5 ,( 2 5 ) :1 6 31 6 6 9 l 用,l 界面 t 。 上 。 l断开连接对象连接对苏:数据提供者,嗣管提供者 + d a t a t wi p i n d m g m a n a g e r b a s 。l p a r a m e t e r i v 一、l m “芋叫l 哼诎剐“i 厂_ 1 嘶们曲k f 上:= = 一 l 。 c o m m a n d h t f m a c t i o n i m d a t a r o w 了 0 f 。 l s e l i - l d a t a c o l u m n c o n n c 两o n 。l _ 1 o n s t r a i n t l 向 图 的体系结构 数据访问机制 是 应用程序的数据访问模型。由于 建 构于框架之内t 它的建立和管理都是基于 , 通用语占运行时) ,所以直接或间接地得益于框架在内存管理、类型转换、 对象池等方面的技术改善和优化。如图1 7 所示是 的数据访问机制。 ,q 弋9 、 - 蕊多 隔e r 一_ :一: 田l j i l j u l i- 图 数据访问机制 对象模型有两个核心组件: 和 数据提供程序。 ) 它是 的断丌式结构的核心组件。 的设计目的很明确:为 了实现独立于任何数据源的数掘访问1 ,数据集是表的本地缓冲区或断,f = 连接的 牛i 蝴株。刘史r 早 的数据库访问发j c 什能优化【j 】 静机心用州 宄, ,( 6 ) :一 1 0 记录集的集合。因此,它可以用于多种不同的数据源,用于x m l 数据,或用 于管理应用程序本地的数据。d a t a s e t 包含一个或多个d a t a t a b l e 对象的集合, 这些对象由数据行和数据列以及主键、外键、约束和有关d a t a t a b l e 对象中数据 的关系信息组成。 2 1 n e t 数据供应器( d a t ap r o v i d e r ) a d o n e t 结构的另一个核心元素是n e t 数据提供程序,它是一组包括 c o n n e c t i o n ,c o m m a n d ,d a t a r e a d e r 和d a t a a d a p t e r 对象在内的组件,其设计目 的是为了实现数据操作和对数据的快速、只进、只读访问1 oc o n n e c t i o n 对象提 供与数据源的连接;c o m m a n d 对象用来执行数据库命令;d a t a r e a d e r 从数据源 中获得高性能的数据流;d a t a a d a p t e r 对象是连接数据源和d a t a s e t 对象的桥梁, 它使用c o m m a n d 对象在数据源中执行s q l 命令和调用存储过程,以便将数据加 载到d a t a s e t 中,并保持d a t a s e t 中数据的更改与数据源中的数据一致。 s y s t e m d a t a 包含了独立于供应器的类型,如d a t a s e t 及d a t a t a b l e 。 3 a d o n e t 两种访问数据库的模式 对于不同的应用需要,a d o n e t 设计了两种访问数据库的模式:使用 d a t a r e a d e r 对象进行基于连接的访问和使用d a t a s e t 对象进行的非连接的访问。 由于这两种模式的设计目的不同,所以在应用程序开发中应该根据实际需要选择 合适的数据库访问模式以发挥出a d o n e t 的最佳性能,这对于提升应用程序性 能有着非常重要的意义。下面对两种访问模式进行分析和比较: 1 1d a t a s e t 对象 它能够提供读取数据的本地缓存,而且由于d a t a s e t 对象对x m l 良好的支 持,使它特别适合于在应用的各层之间或通过w e bs e r v i c e 及x m l 方式进行传 递,另外它还能满足当所需数据来自多个数据源( 如多个数据库或文件) ,而又 必须建立相互之间关联关系的需要。d a t a s e t 对象同时也提供对获得数据的批量 更新功能。但构建d a t a s e t 对象时需要较大的额外开销,使它在数据访问效率上 较d a t a r e a d e r 对象稍逊。值得注意的是,由于每个d a t a s e t 对象都会占据一定量 的内存,如果设计不当,会造成d a t a s e t 对象的大量生成,从而耗尽内存资源, 严重降低性能。 2 1d a t a r e a d e r 对象 它通过为数据存取提供一个连续、只读的指针( c u r s 0 0 能够提供高效的、仅 向前的流,结果输出,所以使用占能进行高速的数据读取,尤其足住对二进制大 对象( b l o b ) 的数据读取上这种优势尤为明显,但与d a t a s e t 相比缺少了许多灵活 性。 命灿等n e t 机絮中二种数据听 上术殷放牛【匕较【j 】计算机脚斤j 埘 究,2 0 0 3 ( 5 ) :1 5 5 1 5 7 l l 由于一般的w e b 应用只是需要从数据库中高效地读取数据,然后经过简单处 理或者直接将其显示剑用户页面或进行x m l 输出。在这种情况下,应该优先使 用d a t a r e a d e r 对象,而对f 需要进行x m l 交换、动态关联和交互的应用则应该 选择d a t a s e t 对象。 1 2 2 基于a d o n e t 实现网络数据库的并发控制 a d o n e t 引入了新的数据访问模型:断开连接数据访问模型,为克服连接 数据访问模型带来的缺点提供了解决途径。a d o n e t 适用于使用连接的以及断 开连接的i n t e r n e t 世界,这是传统的数据访问o d c b 、o l e d b 和a d o 无法 做到的。 本文在深入分析a d o n e t 断开连接数据访问模型的基础上,结合了断开连 接访问模型和连接访问模型的优点,设计出一种新的并发控制协议基于时间 戳验证的多版本两阶段封锁协议( t v b m v 2 p l ) 。该协议解决了在断丌连接访问 模型下网络数据库系统的并发访问异常,保证了数据的一致性,提高了系统的性 能和并发度。与传统的多版本两阶段封锁不同的是,它把各个版本分散到本地数 据集中,用户读操作直接从本地数据集中读数据,不需要等待;只有更新数据库 中的数据时,才需要进行并发控制。在更新操作中,采用的是强两阶段封锁协议, 而且在两阶段封锁中,加入了时问戳的验证,有效的保证了数据的一致性。具体 内容将在第三章做详细介绍。 1 2 3 基于a d o n e t 的网络数据库访问优化技术 在构建和开发基于a d o n e t 的网络数据库应用系统时,如何在并发环境下 提高对网络数据库的访问效率并消除性能瓶颈是一个至关重要的问题。一般而 言,影响数据库访问性能的主要因素有三个:数据库服务器的硬件性能、网络性 能以及数据库访问程序的没汁。目前,前两项的性能普遍得到提高和增强,数据 库访问的程序设计将直接影响到应用程序的最终性能。本文通过剖析a d o n e t 的数据库访问机制,针对在并发环境下影响数据库访问性能的主要原因,提出改 善性能的解决方案,并在具体应用系统中实现。 1 3 研究意义 本论文以网络数据库的并发拧制和数据访问为基础理沦,以设计一种堆| 时 问戳验证的多版本两阶段封锁并发控制协议( t v b m v 2 p l ) 为主要目杯,并通 过性能测试证明其币确性和优越性,最后还在县体实例中实现该协议。简而言之, 本论文的研究成果对于网络数据库应用系统特别是管理信息系统的设计、开发有 一定的现实价值和应用前景: 1 我们在问题的提出中已经说明,网络数据库并发控制的研究是当前计算 机领域发展的需要,也是社会发展的需要。而数据访问技术的发展演变更是提出 了新的问题:在断开连接数据访问模型下,如何解决多用户操作引发的并发问题, 保持数据库的一致性,提高应用系统的实时性、并发度和吞吐量? 因此,设计并 实现基于a d o n e t 网络数据库应用系统的并发控制协议对网络数据库系统的并 发控制研究有重要的借鉴意义。 2 随着全国人口素质的提高,出生男女婴i l l :i :率出现了新的情况。通常男 女婴儿出生比率保持在1 0 7 :1 0 0 ,社会将会保持较为稳定协调的发展。但是近 几年,出生男女婴儿出生比率严重失调,达到1 2 0 - 1 0 0 ,有些地区更为严重, 这势必会给我们国家的发展带来不必要的麻烦。为了更好的解决男女出生比率问 题,政府从各个方面加强管理。为了配合江西省瑞昌市政府部门对男女婴儿出生 比率进行控制,我们开发了关爱女孩管理信息系统,并利用设计的协议较好解决 了系统多用户并发访问数据库的问题,为促进瑞昌市“关爱女孩行动”工作提供 了有力的支持,从而也证明该协议具有一定的实用价值。 1 4 论文框架 第一章介绍论文的研究背景、研究内容和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 23090-16:2025 EN Information technology - Coded representation of immersive media - Part 16: Reference software for versatile video coding
- GB 50650-2011 石油化工装置防雷设计规范(2022年版)
- 浙江事业单位温州市教育局招考直属公办学校教师和工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 桶装供水协议书范本
- 江西南昌市市政设施事务中心城建档案所招聘1人易考易错模拟试题(共500题)试卷后附参考答案
- 个人安全用电协议书
- 民航西南空管局本部2025年下半年应届毕业生秋季招聘18人(成都)易考易错模拟试题(共500题)试卷后附参考答案
- 校长帮扶结对协议书
- 延缓2025年下半年安康市事业单位公开招聘(募)工作人员笔试易考易错模拟试题(共500题)试卷后附参考答案
- 广西壮族自治区事业单位联考易考易错模拟试题(共500题)试卷后附参考答案
- 2025年甘肃省武威市凉州区金山镇选聘专业化管理大学生村文书考试笔试备考试题及答案解析
- 2025至2030中国养老地产行业项目调研及市场前景预测评估报告
- 2025年安康杯知识竞赛试题及答案
- 吊绳的施工方案
- 上海财经大学:低空+发展研究报告(2025年)
- 2025年事业单位公共基础知识考试复习题库及答案
- 别墅设计平面介绍
- DB33-T 1455-2025 涉企增值服务工作指南
- 办公楼装修改造方案设计
- 低钾血症的应急预案
- (新版)水利水电安全三类人员考试题(附答案)
评论
0/150
提交评论