




已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)基于adonet的分布式产品知识库的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理r 火学硕十学位论文 摘要 分布式产品知识库系统是计算机应用领域的一个的重要研究课题,深入研 究分布式产品知识库系统对于提高企业的信息化程度、生产效率以及市场竞争能 力都有着重要的意义。 本文从企业之f a j 的信息共享出发,对分布式产品知识库进行了研究。分布 式产品知识库系统能解决组织机构分散而数据需要相互联系的问题,具有负载均 衡、可靠性高,t j 扩展性好的特点。分布式产品知识库的建立,能加速企业之间 信息的快速流通,加强氽业之间的交流和协作,提高生产效率和降低产品的设计 成本。传统的集中式数据库系统已经远远不能满足企业信息化的需要,必须采用 全新的分布式系统来提高对这个领域的支持能力。 要使分布式产品知识库系统能够很好的支持企业之间的紧密协作,必须建 立一套低成本、高效、可靠的知识库模型。本文从在集成的异构数据库基础上建 立分布式数掘库山发,使用a d o n e t 完成数据访问,并使用w e bs e r v i c e s 提供 异构数据库之间的数据转换服务。在此模型的基础上,研究了分布式数据库的数 据查询、数据致性的维护和数据冲突的解决,并提出了几种有效的解决方法。 同时深入研究了a d o n e t 架构和w e bs e r v i c e s ,提出采用数据适配器来完成异 构数据库之f h j 的映射,并丌发了一个具体的数据适配器模型。概括起来为以下几 , j i : 1 、采用一 多从的模式解决数据冲突; 2 、采用两阶段提交方法和复制服务器方法保证数据的一致性: 3 、采用渊节器实现异构数据库的集成; 4 、采用数据适配器完成数据的查询和转换; 根据以上研究结果,本文设计了一个具体的企业之l i j 产品信息共享模型, 在这个模础巾,设计了系统数据库、相关存储过程、数据访问层和数据转换服务 层,以实例来说明r 整个系统设计方案的可行性。最后本文对分布式产品知识库 系统的前景提出了展望。 关键词:a d o n e t ,w e bs e r v i c e s ,分布式数据库,制造业信息化 武汉理工大学硕十学位论文 a b s t r a c t d i s t r i b u t e dp r o d u c tk n o w l e d g e b a s es y s t e mi sa ni m p o r t a n tp r o j e c ti nt h ef i e l do f c o m p u t e ra n di t s a p p l i c a t i o n ,i ti sv e r yi m p o r t a n tt os t u d yt h ed i s t r i b u t e dp r o d u c t k n o w l e d g e d a t a b a s e s y s t e m f o r e n h a n c i n gt h ee n t e r p r i s e s i n f o r m a t i o n l e v e l , p r o d u c t i o ne f f i c i e n c y , a n dt h ea b i l i t yo f m a r k e tc o m p e t i t i o n d i s t r i b u t e dp r o d u c tk n o w l e d g e b a s es y s t e m ( d b k s ) a r es t u d i e df o r s h a r i n g e n t e r p r i s e si n f o r m a t i o n d b k sc a r ls e t t l et h ep r o b l e m sw h i c ht h ec o m m u n i c a t i o no f t h es c a t t e rs y s t e m ,a n di th a st h et r a i to fl o a db a l a n c e ,h i g hr e l i a b i l i t ya n de a s yt o e x p a n d t h ee s t a b l i s h m e n t o fd b k sm a k e st h e e n t e r p r i s ee a s y t oe x c h a n g e i n f o r m a t i o n t h et r a d i t i o n a ld a t a b a s e s y s t e m c a nn o tm e e tt h en e e d so ft h e d e v e l o p m e n to fe n t e r p r i s e i t si m p o r t a n tt oe s t a b l i s hal o wc o s t ,h i g he f f i c i e n c y , h i g hr e l i a b l ek n o w l e d g e m o d e l o nt h eb a s eo fd i s t r i b u t e dd a t a b a s e ,w ef i n i s ht h ed a t aa c c e s sb yt h ea d o n e t , a n dp r o v i d et h ed a t ac o n v e r ts e r v i c eb yt h ew e bs e r v i c e s o nt h eb a s eo ft h i sm o d e l , d a t as e a r c h ,c o n s i s t e n c ya n dd a t ac o n f l i c to f t h ed i s t r i b u t e dd a t a b a s ea r es t u d i e d a n d a na d a p t e rm o d e li sp r o v i d e df o rd a t ae x c h a n g ei nd i f f e r e n te n t e r p r i s e s 1 u s i n go n e m a s t e rm u l t i s l a v em o d et os o l v et h ed a t ac o n f l i c t ; 2 ,u s i n gt w os t a g es u b m i to rc o p ys e r v e rt oe n s u r et h ed a t a sc o n s i s t e n c y ; 3 u s i n ga d j u s t o r t oa c h i e v et h ei n t e g r a t i o no f h e t e r o g e n e o u sd i s t r i b u t e d d a t a b a s e ; 4 u s i n gd a t aa d a p t e rt oa c h i e v et h ed a t a sq u e r ya n ds w i t c h ; a c c o r d i n gt ot h es t u d yr e s u l t s ,w ed e s i g n e da ne n t e r p r i s ei n f o r m a t i o ns h a r i n g m o d e l ,a tl a s t ,t h ep a p e rp r o s p e c t e dt h ef o r e g r o u n do ft h ed i s t r i b u t e dp r o d u c t k n o w l e d g ed a t a b a s es y s t e m k e ) w o r d s :a d o n e t , w e bs e r v i c e s ,d i s t r i b u t e dd a t a b a s e ,e n t e r p r i s ei n f o r m a t i o n i i 此页若属实请申请人及导师签名。 独创性声明 本人声明,所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得武汉理工大学或其它教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 研究生签名:查垒允 关于论文使用授权的说明 日期竺鱼! :鲨 本人完全了解武汉理工大学有关保留、使用学位论文的规定, 即:学校有权保留送交论文的复印件,允许论文被查阅和借阅; 学校可以公布论文的全部内容,可以采用影印、缩印或其他复制 手段保存论文。 ( 保密的论文在解密后应遵守此规定) 研究生签名:丝导师签名:啦日期埠 注:请将此声明装订在论文的目录前。 武汉理工大学硕士学位论文 第1 章绪论 1 1 分布式产品知识库系统的研究背景 随着传统的数据库、计算机网络和数字通信技术的飞速发展,以数据分布存 储和分布处理为主要特衙的分布式数据库系统的研究和开发越来越受到人们的 关注。数据库系统由小型化向大型化发展,由集中式向分布式发展。 为了降低丌发成本,互相获取有用信息,各个企业之间的数据共享需求日益 提高,并逐渐成为相互联系的有机整体,彼此之间数据的共享已经成为- s 0 趋势 ”j 。分布式数掘库技术和例络技术的发展为数据共享提供了可能。但是各个企业 分布在多个抛市,系统环境差异性巨大,数据存储格式也不相同,给数据共享带 来一定的困难。为了实现数据的共享,本文以构建分布式产品知识库为例,来说 明怎样实现数据的共享。 直u 果将所有企业的数据均存放在一个数据库中,虽然能够完成数据共享,但 是数据量庞人,维护困难,并日稳定性差。采用分布式的产品知识库就可以避免 上述问题,就其本质而言,分布式产品知识库在物理上是分散的,数据存储格式 也不完全相同,并日数掘庠也可能是异质的,但他们在数据逻辑上却是统一的。 与集中式数扼库相比它有如下主要优点: l 、解决组织机构分散而数据需要相互联系的问题。 2 、均衡负载。负载在各处理机问分担,可避免临界瓶颈。 3 、叮靠性高。数据分布在不同场地,且存有多个副本,即使个别场地发生 故障,不致引起整个系统的瘫痪。 4 、n j - 扩充性好。当需要增加新的相对自主的组织单位时,可在对当前机构 影响最小的情况下进行扩充。 1 2 a d o n e t 的简介 对一个数据库应用系统的开发者来讲,一个重要的技术环节是要研究数据库 的访问技术和方法。o f f i c e 组件中的a c c e s s 是基于o d b c ( o p e n d a t a b a s e c o n n e c t i o n l 和对象使_ 【_ j j e t 的方法,被称为d a o ( d a t a a c c e s s o b j e c t ) 。为了解 脱关系数据库的约束,提供j f 关系数据库访问的模型,m i c r o s o f t 开始建立能够使用 c o m 的数据访问,使之能够用j :任何结构化的数据源。结果就是o l e d b 和a d 0 ( a c t i v ed a t a o b j e c t ) 。a d o 是建市在顶层的o l ea u t o m a t i o n 实现,它能够提供以 表格形式表示的数据访问方法。基于b s 模式的应用程序的动态网页中,a d o 对 武汉理t 大学硕士学位论文 象被结合于a s p 方法实现对数掘库的访问 2 1 。d o t n e t 框架中的a d o l n e t 笮i 很多 对象与a d o 中的划象功能相似,但a d o n e t 中对象的功能更强大。同 时,a d o n e t 还添加r 许多新的对象和程序化接口,如d a t a s e t 、d a t a v i e w 、 d a t a a d a p t e r 等,它使得对数据库的操作更简单。 a d o n e t 是针对a d o 的缺陷而重新设计的新一代数据访问对象,支持底层的 数据交换模型。以往,存不同的应用程序或组件之间交换a d o 的r e c o r d s e t 对象时 必须通过c o mm a r s h a l i n g f l j 机制将参数、数据包装成二进制格式。由于c o m 只 支持a u t o m a t i o n f l 数掘类型,依次还要进行一些必要的数据转换。另外,在跨网的 数据访问时,山于防火墙通常会阻挡c o m m a r s h a l i n g 的数据包,无疑对使用a d o 的r e c o r d s e t 对象带来了困难。如果在防火墙上丌一个特殊端口,又增加了刚络的 不安全性。而a d o n e ,l 的d a t a s e t 对象使用x m l 束进行数据交换,可以直接通过防 火墙。由于x m l 是简单的文字数据,接受端的应用程序或组件就不受以c o m 为基 础的应用程序的限制,节省了使用c o m m a r s h a l i n g 的数据包装、类型转换的过程, 提高了数扼交换的速度。x m l 作为- - s f 十可扩展标记语言,其自描述性非常适用于 异构数掘库系统之间的数据交换。 x m l 技术在数据交换方面具有很多优点。第一,跨平台,x m l 文件为纯文本文 件,不受操作系统、软件平台的限制;第二,易表义,x m l 具有基于s c h e m a 自描述语 义的功能,容易拙述数据的语义,这种描述能为计算机理解和自动处理;第三,x m l 不仪可以描述结构化数据,更可以有效描述半结构化、甚至非结构化数据。于是 从技术角度讲,“以关系数据为存储手段,以x m l 为交换载体”的数据管理模式成 为一种趋势。x m l 存放在关系数据库中,x m l 数据以虚拟x m l 文档的形式存在, 从用户的角度,x m l 文档和数据库之间的区别是不透明的。对用户而言,重要的不 是数据存在何处而足数据的逻辑结构合理性和操作界面的方便性。 另外,利用c # 的n e tr e m o t i n g 技术能够方便地解决各场地间数据的通信问 题。c 挣通过a d o n e t 访问数据库,使得对数据库的操作及管理变得更加高效、 可靠。这两种技术的使用,有效地解决了开发分布式数据库系统的主要问题,大 人减轻了系统丌发j 一作量,并日提高了系统的可靠性和安全性。 1 _ 3 研究的目的和意义 本文通过对分布式产品知谚 库的研究,实现在企业合作环境下的数据共享。 当今社会高速发展,市场i - t 益细化、竞争越来越激烈、需求多样化,怎样快 速获取有用信息,缩短产品的设计和生产周期、降低生产成本成为影响企业发展 的关键因数。在这种新形势下,传统的封闭式开发己不能适合社会需求,利用先 进的信息化技术快速获取资源,提高企业核心竞争能力、实现企业间的数据共享 2 武汉理工大学硕+ 学位论文 是唯的山路,利用分布式数据库技术作为企业之间数据共享的支撑平台,进一 步提高计算机技术在企业中的应用水平。 但是山于历史条件的限制,许多企业已经拥有自己的数据库系统,并且系统 中存有大量数掘。就是在同行业中,不同企业使用的数据库系统不尽相同,相 同的数据库系统中数据存储的方式、类型也不相同,这样对数据的集成和共享带 来了很大的困难。国内外很多分布式数据库系统的解决方案都没有考虑到企业的 历史数据问题,使得这些体统无法在企业中得到推广。在保证企业历史数据的安 全和不打破企业原有的运作模式的前提下,怎样实现企业之间的数据集成和共享 是本文研究的重点问题。 分布式产品知识库足很好的一种企业间的数据共享模式,在异构数据库系统 集成的基础上,利用分伽式产品知识库技术作为企业数据共享的管理平台,有利 于提高介业的产品开发速度利生产效率。同时在企业间实现数据共享技术可以提 高企业的开发能力、竞争能力,也能为各种先进技术提供一个共享平台,提高企 业在新的市场j 髟势的竞争力和应变力。 1 4 论文主要研究的工作 本文的研究主要包括如下内容: 1 、研究分布式产品知识库的体系结构:如基于i n t e r n e t 的产品知识库,分析 其优缺点,并提出合理的体系结构作为本论文研究的基本模型。 2 、研究分砷污e 数据的赎型旧题:如异构数据库的集成、数据查询、数据一 致性、数据冲突等问题,并提出合理的解决方案,作为实现分布式产品知识库的 理论支撑。 3 、研究数据适配器:研究一个合理的数据适配器模型作为企业之间的数据 访问接口,完成异构数据库之间的数据同步,数据共享。 4 、研究数据服务程序:数据服务程序作为用户和应用系统的界面接口,通 过访问数据适配器来获取用户所需的数据。 需要解决的关键问题: 1 、选取合适的分布式产品知识库模型,是企业之l 刨能够灵活的通信,同时 便于扩充。 2 、解决分布式环境f 异构数据库的集成、数据查询、数据一致性和数据冲 突,保证数据安全,便于管理和操作。 3 、解决异构数据库的系统集成和数据转换服务,完成异构数据库之间的数 据共享。 武汉理上人学硕士学位论文 1 5 课题支撑 幽家自然基金重点项目名称:网络环境下的数字制造理论与关键技术( 编 号:e 0 5 5 0 3 3 5 0 2 0 ) 武汉市科技攻关项目名称:支持企业应用集成的协同软件关键技术及其应 用( 编号:2 0 0 6 1 0 0 2 0 8 2 ) 武汉市重点科技攻关项目名称:汽车行业制造资源a s p 服务关键技术研究 ( 编号:2 0 0 5 5 1 0 2 0 2 1 ) 武汉理t 大学硕士学位论文 第2 章分布式产品知识库的构成 2 1 分布式产品知识库的模型 分布式产品知识库以i n t e r n e t 为桥梁,当某个企业需要获取共享信息时,应 用服务程序通过i n t e r n e t 访刈数据适配器,获取所需的数据,同时当某个企业更 新数据时,应用服务程序也同时将更新的数据通过数据适配器更新系统数据库的 数掘。 系统数据库用统的格式存放不同企、l k 的共享数据,并能够标识数据的来 源。数掘存放必须遵循一定的规范,以便数据适配器能正确的完成数据映射。 数据适配器接收数据服务程序的请求,完成对系统数据库的查询和更新,以 及数据格式的转换,在更新数据时,将不同企业的数据按照一定的规范存放在系 统数据库中,同时在某个企业读取数据时,将从系统数据库中读取的数据转换为 该企业数据库识别的格式hj 。 数据服务程序存放在各个企业的应用程序服务器上,一方面完成对本地数据 库的操作,另一方面通过i n t e m e t 对数据适配器发起数据访问请求,获取共享数 据。 2 2 分布式产品知识库的特点 1 、物理分敞、数据异构、逻辑统一 不刷食业分布在不同的地区,数据库系统和数据存储方式、种类也不相同, 但是从片j 户的角度看却足统一的,即在逻辑上却是统一的”】。 以国家标准件库为例,机械制造行业的大多数企业都拥有自己的标准件库, 但是他们采用的数据库却不完全相同,可能是o r i c a l e 、s y s b a s e 、s q ls e r v e r 或 其它的系统,但是对于用户来讲他们并不关心自己采用的系统类型和数据存储方 式,他们只需要从系统中获取f 确的数据。对于一个标准件,虽然在不同的数据 库系统中它以不同的数据格式存放,但是在不同的数据库系统中查询这个标准件 返回的绵果却是致的,即这个标准件自身的信息,而不是它的数据存储方式, 所以这些不同的数据库系统在逻辑上是统一的,这个统一的规范就是国标。同样 这个逻辑的统一性也就是数据集成的规范,有了逻辑的统一就有了数据集成和共 享的基础。 在逻辑统性的基础上,我们可以建立一个数据共享的通用规范来完成异构 数据库之问的数据映射,采用这个规范在用统的结构系统数据库中存放不同企 武汉理工大学硕士学位论文 业其享数据的副本,从而实现异构共享数据库的集成。 2 、负载均衡,查询效率高 据统计,住一个数据库系统中,8 0 的数据库操作是数据查询,只有2 0 左 右的操作是数据的修改,怎样提高查询效率是系统集成要解决的重要问题【5j 。另 外,如果所有的用户都从系统数据库获取数据,将使得系统数据库负担很重,甚 至d o w n 机,所以降低系统数据库的丌销也是系统集成要解决的重要问题。 通过内网连接访i 、u j 本地数据库的效率比通过i n t e m e t 访问异地的数据库的效 率高的多,j 靠件也高的多。在分布式产品知识库系统巾,用户通常只访问本地 数据库。只有芡享需求出现h , j 才访问系统数据库,即主要的数据来源于本地数据 库,使得数掘台询的效牢大大的提高,系统数据库的开销也有很大的降低。从整 个系统设计的角度讲,达到了负载均衡、查询效率高的要求。 3 、数据安全性好,可靠性高 企业出现其享数据需求时,通过访问系统数据库获得所需要的数据,而不是 直接连接其它企、i k 的数据库。企业也只在系统数据库创建需要共享的数据的副 奉,而不是整个数掘库的备份,提供的共享数据的种类、数量是由企业本身决定 的,即企业可以有选择性的发布自己的共享数据。其它企业通过访问系统数据库 获取自己需要的数据,而不会同其它企业的数据库直接建立连接,从发布数据和 数据库连接两个方面保证了企业非共享数据的安全性。 系统数据库中存有共享副本,当一个企业内部的数据系统发生故障时不影响 其余用户对共享数据的访问。如果系统数据库出现故障,在故障恢复后也可以通 过与企、i p 的共享数据的同步米检测和修复错误,只有当企业的数据库和系统数据 库同时出现问题是才会发生数据丢失等问题,但是发生这种故障的概率却十分的 低,所以由于数据副本的存在,使得数据的可靠性得到了很大的提高。 4 、可扩充性好 随着时间的推移,会有不i 刊的企业加入这个产品知识库系统,一方面加盟的 企业可以获取更多、更新的信息,另一方面,对于整个知识库系统也是一个扩充。 新企业加入后,系统可以川其他企业提供更多、更全面的信息。 当需要增加新的企业时,对其余企业不会有影响,只需在系统数据库中按照 数据共享规范增加该企业的共享数据副本,并在系统数据库的企业列表中增力该 企业即可,其余企业的设置不需要作任何改动,当其余企业访问系统数据库时, 新的企业就会出现在共享列表中。 2 3 分布式产品知识库研究的基本方法 1 、市场调研,提出问题 6 武汉理工大学硕十学位论文 为了让本文的研究成果具有市场价值,作者对一些企业进行了走访。调查结 果表明,绝大多数企、l p 仍然处于封闭式开发状态,或者只和其子公司存在数据共 享,各个独立的企业之间几乎没有实现数据共享。一方面是出于历史的原因,几 乎每一个企、j p 在建立自己的数据库系统时都没有考虑到企业间数据共享的问题, 小同企, i k f l j 数掘库是异质的或异构的,经过长时间的运行,数据库中已经存有大 量的历史数据,怎样将这些存有大量数据的异质数据库系统集成起来是分布式产 品知识库要解决的首要问题,另一方面由于信息保密的原因,企业不会对自己的 核心技术进行共享。但是企业又存在对同行的新信息、新技术的共享需求,所以 企【k 希望能够自己保留一部分数据,发布一部分数据。 基于以上调查,企业存在行业问的数据共享需求,同时也在考虑核心数据的 安全,说明分布式产品知识序有市场基础,但是对知识库的数据安全性提出了较 高的要求。 2 、设计模型,研究关键技术 基于上述调研,我们设计了一个分布式产品知识库的基本模型,如图2 1 所 示,同时也提出了以下关键技术需要解决。 幽2 1 :分布式产品知识库模型 a 、考虑到企、i k 历史数掘的安全性,首先应在不破坏企业原有数据库系统的 前提下,将各个企业的数据库集成在一起,然后在数据库系统集成的基础上再建 武汉珲工大学硕士学位论文 立分布式产品知识库。 b 、因为分布式产品知识库将大量异构数据库集成在一起,各个企业同时发 起数据请求的概率很高,例如当某个企业的数据库系统正在修改自己的共享数据 时,其他企业发起了访问该氽业共享数据的请求,所以怎样解决数据冲突是分布 式产品知识库要研究的关键技术之 。 c 、为了保证被访问的某个企业的共享数据能真实的反映该企业的实际数据, 保证余业数据库中的共享数据和系统数据库中的数据副本的一致性也是本文要 研究的关键技术之一。 d 、由于各个企业的数据库是异构的,所以在系统数据库中共享数据的副本 必须以统的格式存储。在将企业的共享数据复制到系统数据库时,需要将该企 业的数摒存储格式转换为系统数据库的数据存储格式,同样当某个企业发起共享 数据请求时,也需要将系统数据库的数据存储格式转换为该企业数据库系统所识 别的数据存储格式。基于以上考虑,首先应该在系统数据库和各个企业数据库之 间完成数掘映射,同时开发数据适配器,完成系统数据库和企业数据库之间的数 据转换。 3 、实例开发 在研究完关键技术后,本文最后丌发一个实例来说明分布式产品知识库的设 计与实王见。 凼为a d o n e t 的d a t a s e t 对象使用x m l 来进行数据交换,可以直接通过防火 墙。由于x m l 是简单的文字数据,接受端的应用程序或组件就不受以c o m 为基础 的应用程序的限制,提高了数据交换的速度。所以本文以s q ls e r v e r 作为系统数据 库服务器,c 挣结合a d o n e t 丌发数据适配器和数据服务程序来开发分布之产品 知识库的实例。 2 4 本章小节 奉章提出 r 一个基本的分布式产品知识库模型,简单描述了模型中各个部分 的功1 j 以及分加式产品知以序的特点,提出了分布式产品知识库的研究方法和需 要解决的关键技术以及实例开发所采用的环境和工具。 武汉埋l 大学硕上学位论文 第3 章分布式产品知识库关键技术研究 3 】分布式环境下的数据冲突及解决方案 分布式“品知识库巾关联的每一个企业都拥自a 己的数据库管理系统,如果 要达到数抛共享的日的,这些数据库管理系统不能孤立存在,它们之间会存在着 十日互制约的笑系”j 。这些物理 布在全国各地的数据库系统,其逻辑上是一个 整体它们共i 目组成r 完整的集成的分布式产品知识库系统。鉴于数据量庞大, 处删过挥对数掘库管理系统和硬件要求都有很高的要求,同时,出于数据安全的 考虑,各个企业无杈自接访问其它企业的数据;因此从系统总体成本和信息安全 一阵角度考虑,再个企、i k 的数据库中数据分配原则应为企业只保存与本地相关的数 据,而出系统数据库保存亢整的共享数据。 幽31 :数据兆享方案 分布式产品知识库的数据共享方案如图31 所示。这样实现的分布式产品知 识库其优点是:【_ l | 于常用数据存放在本地服务器,只有在发起共享数据请求时才 访问系统数据库,这样减少了, l a j 应h , j 间,也减少了网络通讯代价。在系统数删库 中共享数据副本的存在客观上【翘起到了增加数据口j 靠性的作用。 在设计分布式数据库时将并个企业的数据库系统设置为从数据库( s l a v e ) , 将系统数据库设置为主数掘库( m a s e r ) 将系统数据库设置为主数掘库( m a s e r ) 多从”的形式。 所咀整个分布式数据库系统就是“一主 所咀整个分布式数据库系统就是“一主 武汉理工大学硕士学何论文 3 1 1 数据冲突的解决 在上述“一主多从”的设计力案中,为了维护系统数据库和企业数据库之间的 数据一致性,同时减小网络负载和实时操作带来的丌销,使用分向式数据库系统中 的分发一订阅服务技术,将这种服务以作业的形式保存在数据库中,定时进行主 数据库与从数据席之间的数据更新。数据库系统的主从关系要求系统中每个从数 据库中数据的变化都应反映到主数据库中,但是主数据库中数据的变化应有选择 地反映剑不同的从数摒库中。不同企业发起的数据复制的复制条件不同,由从数 据库到主数据库进行数据复制足无条件的;而由主数据库到从数据库进行复制的 条件是与某个企、i k 相关的数据。这种条件的限制才保证了各个企业的数据库中只 保存与其相关的数据,避免使每个数据库系统都变成庞大的系统。由于分发一订 阅定时进行,在两次复制之间的这段时间内,难以保证分布式产品知识库系统中各 个拷贝之问的数扼一致性,这种一致性称为弱一致性。 分布式系统l 卜| 的数据操作可以按发生位置分成两类:一类是在各个企业;另一 类是在系统数据库。在分布式环境下,如果只能保证数据的弱一致性( 即数据库分 布在1 i 同地点的数据拷贝可能存一段时间内不一致) ,一地的操作不能即时在另 一地的拷贝上得到反映,那么会使查询结果不真实。 由丁使用定时分发一订阅技术觖少并发性控制机制,所以对异地主从数据库 的增加、修改和删除操作就很有可能产生冲突。分组方法是解决数据冲突的较为 有效的方法。分组可以有不同的粒度,粒度的大小可以根据实际的要求来确定。 在分布式数据库中可以按表、记录和字段分为不i 司粒度的分组。 3 1 1 1 数据添加冲突 弱一致性会增加数掘库数掘添加冲突问题。在多用户的关系数据库中,多个用 ,、同时为一个表添加址录有可能出现冲突问题。女n s q ls e r v e r 等的关系数据库中 为避免类似的冲突问题提供了序列号自动生成技术( i d e n t i t y ) ,用序列号作为关 键字或关键字的部分解决主键重复的冲突问题。但是在分布式数据库系统中, 由于有多个数据库管理系统同时存在,特别是存在弱一致性的环境下,发生添加冲 突的可能性仍然1 竽在。其解决办法有如下几种: ( 1 ) 按表分组解决数据添加冲突问题 对了二数据库数据添加冲突的解决,可以按表分组。按表分组就是把表的添加权 完整地分配给某个企、忆站在企业数据库表的角度看,就是为每个数据库表指定 个添加者,而从系统数据库( 添加者集合) 的角度看,就是为每个添加者划分一个 i j 添加的表集合,只要不同的表集合之间的交集为空集,就不会出现数据添加冲突 问题。比如规定某个产品表只允许某个企业执行添加操作,这样就可以避免执行 1 0 武汉理上人学硕士学位论文 添加操作时出现的冲突问题。但是这样做会造成系统数据库中表的数量庞大,对 管理带来定的困难,所以按记录级分组解决数据添加冲突问题使一个有效的方 法。 ( 2 ) 按记录分纽解决数据添加冲突问题 直u 果为某个表指定惟一的添加者有困难,那么按表分组解决数据添加冲突问 题就不能奏效。比如系统数据库中企业产品表就不能仅规定一个添加者,因为每 个企业都要求能够添加本企业的产品信息。对于这样的情况可以按记录分组解决 数据添加冲突问题。按记录分组只把某个表中的某类记录的添加权分配给某个添 加者。对系统数据库中产品表而言,各个企业按企业产品表中表示企业属性的字 段( 键) 划分成不同的组,同时规定每个企业只允许添加本企业的产品信息。比如: 企, j k 0 0 2 与企业0 0 4 在添加同一种编号为o o l l 的产品时就不会发生冲突,因为在系 统数据库的产品表中构成唯一索引( u n i q u ei n d e x ) 的条件是企业编号和产品编 号。如表3 1 所示: l 企、i k 编号,“:品编号产品名称产品价格 0 0 2 0 0 1 1轴承2 0 o o 0 0 40 0 1 l轴承2 5 o o i 农3 i :系统数据库中的产品表 31 12 数据更瓤冲突 弱一致性会引起数据库数掘更新冲突问题。所谓数据更新冲突是指一个记录 的两个拷贝同时被不同的人更新为不同的内容,在这种情况下便会发生数据库更 新冲突。 数据库增量复制的原理是:在每次数据库进行修改操作时,同时记录这条记录 修改前的值和修改后的记录值,在复制时按照修改前的值查找数据库记录,并以修 改后的记录值替换。 当进行数据库增量复制时,问题就会暴露出来。企业数据库中所更新的数据不 能复制到系统数掘库中,凶为在系统数据库中可能找不到原来的记录,所以系统认 为出现了更新冲突。同样,系统数据库中所更新的数据也不能复制到企业数据库 中。如果是天键属性被修改了,问题可能会更严重,而且需要采用不同的解决办法。 ( 1 ) 按表分组解决数据更新冲突问题:与解决数据添加冲突问题样,对于数 据库数据更新冲突问题的解决,可以按表分组,所不同的是要分配给更新者的是可 武汉理工大学硕士学位论文 更新表的集合。 ( 2 ) 按记录分组解决数据更新冲突问题:如果为某个表指定惟一的更新者有 凼难,与上类似,也可以按记录分组解决数据更新冲突问题。 ( 3 ) 用先标记删除后插入方法解决数据更新冲突问题:对于不能使用上述两 种方法解次的更新冲突问题,可以使用先标记删除需更新的记录,再插入一条新记 录的方法解决。 ( 4 ) 按字段分组解决数据更新冲突问题:对于不能使用按表或记录分组的方 法解决的更新冲突问题,即一条记录可能有不止一个更新者时,可以进一步对字段 分组,将字段( 非键属性) 按需要分组并为每个字段组指定惟一的更新者( 注:数据库 在缺省条件下将一条记录看成一个组) 。在字段分组的条件下数据库复制原理是: 在对某个字段更新前先记录该记录中的键值属性值和被更新字段所在字段组中 各字段的值然后记录键值属性值和字段组中各字段的新值。在做复制操作时,以 键值属性值和字段组中各字段的原值为依据,进行查找并更新。 3 1 1 3 数据删除冲突 弱一致件会引起数据库数据删除冲突问题。所谓数据删除冲突是指一个记录 的两个拷贝,在同时刻,个拷贝被删除而另一个拷贝被修改,在这种情况下 便会发生数据库册0 除冲突。当进行数据库增量复制时,问题就会暴露出来。由于 一个拷贝己被删除所以无法对修改后的内容进行复制。使用加标记的删除方法 解决数据库数据删除冲突问题。对于会引起数据一致性问题的记录,可以在第一 时段加删除标记,在第_ 时段或以后时段对有删除标记的记录执行删除操作。因 为任何人都不会对已加删除标记的记录进行修改操作,所以删除有删除标记的记 录不会引起数据库数据删除冲突。因此需要在记录中加入删除标记字段。 3 2 分布式产品知识库的数据一致性及维护方法 一致性是指在一个系统中的数据,无论其存放在那个企业的数据库,作为一 个整体,他们应该是完整的和一敏的。这里面主要有两方面的含义:一方面是指 重复数扼的一致,另一方面是指相关数据的一致1 7j 。重复数据是指一组数据在其 它企、业的数据库存有副奉,当这些数据被修改时,其副本必须被同时修改,以保 证数据副本的完全相同。相关数据是指在相同或不同企业的数据库的两组数据或 多组数据,他们之间有相互连带关系,当某一组数据发生改变时,其他相关联的 数据必须即时的被改变。 在集巾式系统巾,相对来讲,数据一致性比较容易得到保证。在分布式系统 中,由于数据的分布存储和事务的分布处理,使得数据的完整性难以得到保证。 武汉理l 人学硕士学位论文 这里提出两种保证分布式数据库系统中数据一致性的方法:两阶段提交方法和复 制服务器方法。 3 2 1 两阶段提交方法 ( 1 ) 两阶段提交的基本思想和处理方法:一个涉及修改多个企业数据的事务 由多个子事务组成,整个事务的执行阶段被划分为两个阶段,第一阶段为准备阶 段,各个企业做好对子事务处理的一切准备工作并回答,第二阶段为提交阶段, 各个子事务全部完成。通过这种两阶段的划分,达到该事务的全部子事务要么全 部提交,要么全部取消,从而实现一个事务对多个企业的修改要么全部完成,要 么令部不进行【8j 。这样就通过市务的完整性保证了数据的一致性。 数据一致性并不是分一m 工c 系统特有的问题,然而在分布式系统中保证数据的 一致性实现起来比存集中式系统中要复杂的多。需特别指出的是,在系统征常运 行的情况卜,事情比较简币,但问题的复杂性往往是考虑到机器故障情况而带来 的。许多在平常情况卜所增加的处理都是为了在故障恢复时保证数据正确而设置 的。 ( 2 ) 两阶段提交的工作流程 在实现两阶段提交过程中,用到如下概念的术语: a 、客户应用进程:是指提出需要用两阶段提交方法完成的事务的进程 b 、协调进程:是指夺两阶段提交过程中起到协调作用的进程 c 、参与进程:是指住实现两阶段提交过程中参与各个子事务的进程 在知谚 库系统中,客户应崩进程一般运行在各个企业的服务器上,协调进程 和参与进程运行存系统数据库服务器上。这里以s q ls e r v e r 的两阶段事务处理 为例给出工作流程。其中客户进程同时起到协调进程的作用,运行在各个企业的 服务器上,参l j 进程运行存系统服务器上。为记录处理过程的状态专门设置一个 提交服务进程,运行在系统服务器上,其所记录的状态用于存故障恢复时退回事 务,也可单独设置台服务器记录事务提交的日志,在发生故障时就通知各个企 业的服务器退回事务,从而保证数据的一致性。 下面是两阶段提交的处理过程。在两阶段提交的准备工作中,客户应用进程 向每一个参与进程发送一组如下内容和顺序的t r a n s a c t s q l 语句:b e g i n t r a n s a c t i o n 语句;ir a n s a c t - - s q l 修改语句;p r e p a r et r a n s a c t i o n 语句,每个参与 进程按顺,弘执行上述语句组。 b e g i nt r a n s a c t i o n 语句标谚 应用进程、事务和提交服务进程等信息,t r a n s a c t s q l 完成要进行的修改,p r e p a r et r a n s a c t i o n 语句指出修改已经完成且参与进 程对提交已经做好准备。 武汉理1 二大学硕士学何论文 在完成上述 i 作以后,开始两阶段提交过程。第一阶段:所有参与进程向客 户应用进程问答它们已经做好提交准备;第二阶段:客户应用程序通知提交服务 进程,该事务已经完成,并且发送c o m m i tt r a n s a c t i o n 语句到所有参与进程,使 他们实现正式提交。实现流程如图3 2 所示: 剀3 2 :客户应用进稗处理流程 武汉理工大学硕+ 学位论文 提交服务进程在受到客户应用程序通知后,作该事务已经提交标志。在该事 务执行过程中,如果有任何战障情况出现,则根据提交进程记录的状态来判断, 确定浚事务是被提交还是被退回,主要由以下几种情况:如果参与进程已经全部 做好准备,且客户应用进程已经通知提交进程标明该事务已经被提交。此后,不 过发生任何故障,该事务均被提交。如果参与进程或客户应用进程在p r e p a r e t r a n s a c t i o n 语句6 u 发生故障,该事务被退回。如果任一参与进程或客户应用进程 在p r e p a r e 以后而在c o m m i t 之前发生故障,则需要进一步分析提交服务进程记 录的详细信息来确认该市务足被提交还是被退回。各个参与进程的处理流程如图 3 3 所示: 图3 m 3 :参与进程处理流程 武汉理工夫学硕士学何论文 3 2 2 复制服务器方法 ( 1 ) 复制服务器的基本思想和处理方法 在分布式系统中,每个独立的数据单位主要由一个企业控制其访问安全性, 其他企业在必要时可向该数据所在企业的服务器申请该数据并将其复制到本地。 用这种方法复制的数据副本的一致性通过一个异步拷贝系统来保证。这种异步拷 贝系统是由事件驱动的,而上土只将每次修改所涉及的数据列进行复制,因此数据 传送量很小。这样,对于每个企、i k 的用户,查询时只需要涉及本企业的数据,从 而得到快速响应。出于在数据库系统中查询占有相当大的比例,因而这种方法在 总体卜讲是有效、实用的。 ( 2 ) 复制服务器方法的工作过程 在说明复制服务器方法的过程中用到以下概念术语: a 、丰场地:也称主数据场地,是指修改要求发出数据库服务器 b 、次场地:也称次数据场地,是指主数据场地被拷贝的数据库服务器 c 、日志传送管理器( l t m :l o g t r a n s f e rm a n a g e r ) :在主场地中监视修改 事务并将其传送到次场地的程序 d 、s t o r e a n d f o r w a r d 功能:当某个场地暂时故障时,对该场地的修改暂 时不进行,并记录在案,一旦故障恢复,立即按记录的内容完成修改 主场地的l t m 用来监视事务日志活动,当发现主场地的数据服务器有改变 数据的事务时,就将该事务发送到主场地的复制服务器一主复制服务器。主复制 服务器负责将相应的改变传送到每个远程复制服务器,远程复制服务器以正确的 顺序将这些改变加到他的数据副本上,从而维持了事务和数据的完整。 如果远程服务器由于远程场地故障或其他原因不能运行,主复制场地利用 s t o f e a n d f o r w a r d 功能暂时对故障场地的数据不进行修改。假定在停机期问原 有的数据没有被破坏,而存联机后立即完成其在停机期间应进行的修改,从而保 证数据存可使用时是一致的。 如果修改要求首先在次场地出现,则可以利用成为异步存储过程的方法来保 证被修改数据的一致性。异步存储过程由相应的次场地复制服务器管理。具体的 操作过程是:当次场地上的数据服务器发生需修改本场地的数掘副本要求时,实 际的i 作是将实现陔修改的相应存储过程传送到主场地并执行,首先在主场的数 据库上进行修改。这个修改再按照主、次复制服务器的工作原理对各个次场地的 数据进行修改。 复制服务器替换功能则是指如果主数据服务器或复制服务器停机,管理人员 可以指定另外的场地来代替其操作。这样,即使主场地故障,对主数据的修改仍 可继续进行,而在故障恢复后复制服务器会自动同步数据。 武汉理上人学硕士学位论文 3 _ 3 异构分布式数据库的系统集成 山于历史的原因,在分布式产品知识库中,不同的企业使用不同的数据库系 统,并且随着时间的推移,以及数据库技术的发展,数据库时常变化,都有可能 造成异构数据库并存的局面。另一方面,随着各数据库公司的技术发展,数据库公 司自身也不断推出新的数据库版本。因此,异构数据库联合使用的要求是非常迫 切并会长期存在下去的。对普通用户而言,希望屏蔽掉各种层次的异构特性,他
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南张家界市永定区发展和改革局招聘公益性岗位人员1人考前自测高频考点模拟试题及答案详解参考
- 2025北京首都医科大学附属北京世纪坛医院招聘13人(第三批)模拟试卷及参考答案详解
- 2025年期刊出版项目申请报告范本
- 科技创新引领未来目标实现保证承诺书5篇
- 销售业务合同审核与执行记录表
- 2025-2026学年重庆西北狼教育联盟高二上学期开学考试英语试卷 (解析版)
- 2025年安徽省高校毕业生三支一扶计划招募962人考前自测高频考点模拟试题参考答案详解
- 多场景合同范本器
- 2025国家应急管理部所属单位第二批次招聘1人考前自测高频考点模拟试题及答案详解(典优)
- 培训资源整合工具与学习计划模板
- 学生入队必须掌握的“六知六会一做”
- 2025年中级制图员《理论知识》考试真题(含新版解析)
- 小学教师网络信息安全管理规范
- 腹痛科普课件
- 员工花名册表
- GB/T 7113-2003绝缘软管定义和一般要求
- GB/T 4754-2002国民经济行业分类
- GB/T 35985-2018煤炭分析结果基的换算
- 如何修改一篇作文
- 《人类行为与社会环境》课件
- 2023年中国出版集团有限公司招聘笔试题库及答案解析
评论
0/150
提交评论