异构数据集成方案的优化设计与实现

异构数据集成方案的优化设计与实现

ID:9151686

大小:80.51 KB

页数:14页

时间:2018-04-19

上传者:U-991
异构数据集成方案的优化设计与实现_第1页
异构数据集成方案的优化设计与实现_第2页
异构数据集成方案的优化设计与实现_第3页
异构数据集成方案的优化设计与实现_第4页
异构数据集成方案的优化设计与实现_第5页
资源描述:

《异构数据集成方案的优化设计与实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

异构数据集成方案的优化设计与实现摘要:针对现有数据集成方案在处理特定问题时系统查询性能不理想的情况,以Mediator/Wrapper集成模式力基础,绍合数据仓库思想,提出1种异构数据集成的优化方案.该方案基于XML和元数据设计查询构造、解析搜索及缓存等模块,优化系统的查询性能.将该方案应用于石油储层评价系统的数据集成中能明显缩短查询的平均耗用时间,提高查询效率.本文采集自网络,本站发布的论文均是优质论文,供学习和研究使用,文中立场与本网站无关,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除己转载的信息,如果需要分享,请保留本段说明。关键词:XML;元数据;异构数据集成;优化中图分类号.•TP311.13文献标志码:AOptimizeddesignandimplementationofheterogeneousdataintegratingsolutionZHANGJiea,b,LUDetanga,b(a.InstituteofEng.&Sci.Software;b.KeyLabofComputation&CommunicationSoftwareofAnhui, Univ.ofSci.&Tech,ofChina,Hefei230026,China)Abstract:Tosolvetheproblemthatthecurrentschemeofheterogeneousdataintegrationcannotqueryefficientlyinthespecificcases,combinedwiththeMediator/Wrapperarchitectureandthewarehousingmethod,anoptimizedsolutiononheterogeneousdataintegrationisproposed.BasedonXMLandmetadata,severalmodulessuchasqueryconstruction,parsingandsearch,andcachingarcdesignedtooptimizequeryperformance.Thesolutionisintroducedintoanevaluationsystemofpetroleumreservoirtoimplementdataintegrationofneuralnetworksystemofreservoiridentification,whichcandistinctlyshortenaveragequerytimeandimprovequeryefficiency.Keywords:XML;metadata;heterogeneousdataintegration;optimization0引言在数据集成项目的开发中经常会遇到这样的情况:待集成数据库的规模大,数据更新不频繁,文件系统数据源较小且分散,用户主要 关注的参数较集中,系统对查询效率又有一定的要求.根据这些具体情况,在分析已有数据集成方式特点的基础上,提出异构数据集成优化方案.该方案为所有成员数据源提供统一视图,用户可以进行查询条件的灵活构造,达到异质对象的透明访问;还可以通过相关优化模块提高系统的平均查询效率,减轻系统实时抽取数据时的负荷,并且将此方案应用于油田数据源的集成开发中.1异构数据源集成0前,Mcdiator/Wrappcr[1,2]模式在数据集成中较流行,针对Mediator的设计方案有3种:PUSH,PULL及混合方式.PUSH方式将用户输入的查询翻译成本地SQL语句,由Wrapper将SQL查询转发给关系引擎.在时间和空间上有很好的性能.但对于非关系型数据源,PUSH方式无法使用.PULL方式通过Wrapper将数据按照一定格式抽取出来形成XML文档,然后通过XQuery[3]引擎查询转换后的XML数据,由组装器产生最终的XML结果.它完全支持XQuery特性,可以集成任何数据源.但当作力数据源的实时系统运行负荷较秉时,抽取数据的效率会很低.混合方式[4]结合两种方式的特点,其核心部分是区分数据源类型,选择相应的查询方式.这里提出的集成方案就是采用混合方式.使用PUSH方式进行关系型数据源的数据抽取,使用PULL方式进行非关系型数据源的数据抽取,并设计相关模块以避免各自方式的缺点. 2异构数据源集成系统的设计2.1系统结构根据集成项0的具体情况,结合数据仓库思想,设计査询构造模块、元数据管理模块、查询解析与数据源搜索模块、数据缓存准备模块和数据源封装模块(见图1).图1集成系统结构由于合理的查询条件是查询优化、提高效率的基础,所以查询构造模块能提供统一的界面视图以使用户自由地构造查询条件.数据缓存准备模块通过PUSH和PULL缓存区缓存用户高访问频率的数据,该模块能够明显提高查询效率,实现集成方案的优化.2.2查询构造模块构造界面为用户提供统一的界面视图,用户可以很容易地定义自己想要的查询,而不需要考虑数据源是怎样的,数据是怎样取得的.构造界面包括字段、算符、值或表、同义词4个输入框,或、与、和、联合4个组合按钮及添加、确认、取消按钮.其中,字段、算符、值或表可表示成1个三元组,字段包括结果字段和约束字段(约束条件,多表连接),是用户查询涉及的内容,算符与字段一一对应.值或表可以是相应算符的值或函数(相对于结果字段如SUM,AVG等),也可以是表名或为空(见表1).结果字段是返回的结果,若要返回多个字段值,则用“和”(“,”) 连接;查询可以指定数据源也可以不指定,若指定多个数据源用“和”连接,其中文件系统数据源名对应为表名;约束字段可用“或”、“与”连接,或使用“联合”连接多表进行查询.组合连接符的优先级为:联合〉或/与〉和(Joint〉Or/And〉,).一定要注意连接的顺序.以表Book,Publish和Author为例,现要查找第2作者为“T.DRAPPER”的书名及该书的出版社北京分部的电话.输入表达式为“Book,title,Publish,telIIAuthor.sccond=T.DRAPERAndPublish,departments北京AndFirstINAuthorJointauthorINBookAndpublishnameINBookJointnameINPublish.’’”是“添加”按钮产生的,算符为空是结果字段;算符不空或为“IN”是约束字段,其中值的输入要注意数据类型的对应.同义词存入同义词库,可通过同义词库将同义词字段定义为统一的形式,避免造成识别混乱,另一方面也便于数据源搜索.在用户定义好查询后,需要进行合法性检查去掉一些不合理的查询.由于约束字段类似SQL查询中的WHERE条件,所以筛选器多针对这一类.例如对于含有price>100.00andprice<38.00这样的条件公式,就不能把奋询提交给査询解析模块,而是告诉用户查询构造不合理.合法性检查后,就根据预定义的Schema[5]形成XML文档传递给查询解析模块.Schema的简单定义(列出主要结构):〈Schemaname=“QuerySchema”>〈attributetype=“Type”/>〈attributetype=“Type”/〉〈ElementTypename=“QueryItem”>〈elementtype=“Operator”minOccurs=“0”maxOccurs=“1”/>〈elementtype=“Value”minOccurs=“1”maxOccurs=“1”/> 〈attributetype=“Compouding”/>〈elementtype=“Queryltem”minOccurs=“0”ma.xOccurs=“氺”/>2.3查询解析与数据源搜索模块该模块将收到的査询请求翻译成基于XML的全局杳询语言.对于没有指定数据源或指定不完全的,抽取出查询涉及的字段名等信息,利用元数据管理模块检查查询请求的合法性,判断查询数据是否存在.再调用数据源搜索器查询相关的数据源,记录数据源的类型.全局查询语言: SELECTWHERE=T.DRAPPERAnd=AND=其语法树见图2.图2语法树这里约束条件用实心圆表示,条件写在□中;结果对象用虚线菱形表示;空心矩形表示涉及到的表名;空心圆是多表连接涉及到的字段,即表节点若有子表节点则该子表节点的右邻节点与子表节点的最左子节点相等.该语法树可以作为查询解析的向导.解析步骤为:(1)根据语法树提取查询中所有字段信息,与缓存区中系统表记录的已有字段比较.(2)若字段都在缓存区中且时间戳未发生变化,就将全局查询解析为SQL查询,并根据缓存区中系统表的信息改写SQL语句为:SELECTtitle,telFROMtempi,temp2,temp3WHEREtempi.sccond=T.DRAPPERAND temp3.department=;)t^ANDtempi.first=temp2.authorANDtemp2.publishname=temp3.nametempi,temp2,temp3为缓存区中包含所涉及字段的临时表,这些信息从系统表中获取.时间戳记录属性列中的数据是否发屮过改变.(1)若有字段不在其中,或相关字段的时间戳有改动,就根据语法树对全局查询语句进行分解和改写,去除查询中数据的约束关系,将查询涉及到的字段提取出来.查询改成:SELECTtilte,publishname,authorFromBookSELECTname,telFromPublishSELECTfirst,secondFromAuthor将改动后的SQL查询集命名为Altcr_SQL查询集.(2)判断缓存区中己有字段是否在预定义的用户参数表中,如在就将Alter_SQL查询集并上这些字段作为新的Alter_SQL查询集.将所有的约束关系和连接操作统称为Relation表达式(见图3).图3査询解析与数据源搜索模块将对文件数据源的查询翻译成XQuery查询,将查询传递给数据缓存模块的HJLL缓存区.为了提高查询效率及命中率,设计数据源搜索器.该搜索器通过同 义词词库及设立匹配等级进行数据源查找.可以依据同义词词库对元数据库中的数据源信息进行匹配搜索,同时设立匹配等级.如果查询请求中的多个字段和1个源表匹配,那么该源表的匹配度就为高,反之则低.可以根据需要设置临界匹配度,未达标准的就忽略掉.2.4数据缓存准备模块该模块是实现优化的主要部分.PULL缓存区存储抽取出的XML数据,重组器根据结果集目标格式将多个查询结果组装成1个完整的XML结果集.PUSH缓存区存储关系化后的XML结果集.它包含若干个临时表和1个系统表.临时表保存的是近期查询的数据.系统表记录临时表号、字段名、字段时间戳、源表名(源文件名)、源数据库名及最近1次的访问时间.以下为该模块查询的执行过程.(1)先判断是SQL查询语句还是查询集:①如是查询语句,就直接查询PUSH缓存区,将本次访问的时间取代原访问的时间后返回结果,查询结束;②如是查询集,就将查询集传给封装模块,该模块会将结果发送到重组器.(2)若PULL缓存区中已有相关的XML数据,就执行XQuery查询,结果发送到重组器.否则通过封装模块PULLWrapper按照预定义的Schema格式抽取XML文档到PULL缓存区,同时修改PULL缓存区的系统表.(3)通过组装器得到完整的XML结果集.(4)将XML结果集关系化后存入PUSH缓存区,通过Relation表达 式构造SQL语句,执行查询,返回结果.巾于空间不能无限扩大,所以使用LRU算法替换数据.PUSH缓存区根据系统表找出临时表中距当前时间最长的字段名,删除该列,如此重复直到表中所有列被删除,则该临时表及其在系统表中的记录也被删除.PULL缓存区也根据系统表找出要删除的文档.本模块中,PUSH缓存区的优化作用会随着数据量的增加越来越明显,1次查询成功的平均概率不断提高,查询的平均执行时间不断减少.且由于文件系统数据源较分散,当数据源不在1个网段或网络负荷较大时,进行实时抽取的效率很低,通过PULL缓存区可以减轻抽取数据的负荷,提高查询效率.3开发实例在石油工程项0中,根据勘探测井资料,可以对地层的岩性特征进行分析和预测,从而初步探明地层的含油量.在为东北某石油公司开发的储层分析系统中,主要包括图版解释模块和神经网络模块两部分.其中,储层评价祌经网络软件模块需要从多个数据库(MicrosoftAccess,MicrosoftSQLServer,Oracle)和Excel文件中读取数据.该模块作为对图版解释模块的补充,主要是针对孔隙度和含油饱和度等特定参数的网络模型的训练和解释,且由于用户可以自由调整输入参数类型、输入层和隐含层的节点数据,所以对相关训练数据和测试数据访问频繁.加之用户对训练数据可能存一定的特殊要求,因此使用查询构造界面以帮助用户合理设计查询条件、获取理想数据,同时也 屏蔽数据源的异质性,使用户进行透明访问.根据这些情况,采用数据集成优化方案提高系统效率.首先建立元数据管理模块,然后建立查询解析模块和缓存模块等系统的其余部分.元数据是关于数据的数据,测井元数据是关于测井数据和测井信息描述和表征的数据.可将测井元数据模型表示成三元组,M是测井元数据项集,其元素是对测井数据某一特征的描述;D是测井数据集;F是自M到D的映射关系,即自D中提取和形成M的方法模型.在简化情况下,可以将测井元数据看作1种索引,其隐藏着对被抽象测井数据的“指针”,通过这种指针,可以将分布的测井数据及元数据连接在一起.元数据模块的建立过程:先将元数据标准用XMLSchema表达,然后将该模式文件注册,用于数据库的建立和数据文档的采集,数据源管理器通过模式文件生成数据源的XML格式的元数据文档,最后进行关系化后入元数据库存储.缓存模块中的PUSH缓存区使用MicrosoftSQLServer数据库.查询构造模块分布在客户端,通过对数据查询性能的实验分析发现:在查询次数较少吋,命中率不高、优化效果不够理想,但当查询达到一定次数时,优化效果较明显.查询500次左右,数据量分别为102和103量级时的查询性能对比见表2.由于大部分查询涉及多源查询,加上查询条件构造的优劣、网络负荷等情况,对个别查询的性能会右影响.但通过平均性能的对比可以发现:执行次数越多,缓存区1次查询命中的可能性越高;查询的数 据量越大,优化效果越好.指定数据源的、不涉及多表操作的,耗用时间会短些.未指定数据源的、要访问文件数据源的、需进行多表操作的,耗用时间会长些.4结论提出异构数据集成的优化方案,该方案通过查询条件的灵活构造及数据缓存区的设置,提高在异地数据库规模大、数据更新不频繁、网络较繁忙情况下的查询效率.将此方案应用于石油工程项目的开发中,取得较好的效果.参考文献:[1]BARUC,GUPTAA,LUDAISCHERB,ctal.XML-bascdinformationmediationwithMIX[C]//Proc1999ACMSIGMODIntConfonManageofData.NewYork,USA:ACMPress,1999:597-599.[2]KOSSMANND.Thestateoftheartindistributedqueryprocessing[J].ACMComputingSurveys,2000,32(4):422-469.[3]熊家治,王飞乐,丁祥武,等.基于XML的异构数据源一一XQuery查询[J].计算机应用与软件,2004,2(21):18-19.[4]袁晓洁,于士涛,李志梁.基于Mediation的异构数据集成系统HDIS设计与实现[J].计算机工程与应用,2006,42(1):162-165.[5]ELLIOTTERH.XML宝典[M].马云,仲萍,译.北京:电子 工业出版社,2001:80-100.(编辑廖粵新)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭