



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 28 卷 第 8 期计算机工程与设计Computer Engineering and Design2007 年 4 月Apr. 2007Vol . 2 8No . 8基于共享数据库的数据共享技术王天亮, 陈刚, 徐宏炳(东南大学 计算机科学与工程系,江苏 南京 210096)摘 要:企业实现信息化的过程中,在不影响原来应用的情况下,建立有效的信息共享或集中、统一管理的机制成为目前最 基本的需求。因此在通过分析目前的数据共享技术的优缺点,提出并实现了一种基于共享数据库的数据共享的模型。重点 分析了此系统中的:元数据及其管理;基于 ECA 规则的增量数据的捕获。最后介绍了此种系统在校园信息化中的应用情况。 关键词:共享数据库; 数据集成; 元数据; 增量数据; 触发器中图法分类号:TP311.13 文献标识码:A文章编号:1000-7024 (2007) 08-1923-04Data sharing technology based on shared databaseWANG Tian-liang,CHEN Gang,XU Hong-bing(Department of Computer Science and Engineering, Southeast University, Nanjing 210096, China) Abstract:During the process of the enterprise information, creation effective system for shared information or data and management of them is the fundamental requirement, without affecting the original system. So a kind of data sharing model based on the shared database is proposed and realized by analyzing the merit and shortcoming of the current data sharing technology. The key technology ofthis model-meta data and its management, the capture for incremental datais explained. Finally the situation of the application of thismodel in the campus information is introduced.Key words:shared database; data integration; meta data; incremental data; trigger这种方法的特点是 Mediator 不存储任何自己的数据,而是将用户的查询翻译成一或多个对数据源的查询。然后,Media- tor 将那些数据源对用户查询的回答进行综合处理,将结果返 回给用户。联邦式数据库的数据集成方式就是采用的此种方 法。它提供一个全局数据模式,数据源是独立的,但一个数据 源可以访问其它数据源以提供信息(2) 数据仓库方法。其一般的过程是:从不同的数据源 中抽取相关的数据,经过转换,清洗,与来自其它数据源相关 的数据合并,然后存储在一个集中的资料库中 ( 逻辑上的,有 人叫他数据仓库);当处理一个查询时,查询直接在资料库 上执行而不用访问信息原来所在的数据源;在操作期间,数 据源的任何修改都先会在查询期间被过滤掉,然后再以某种 方式反映在中央资料库中。这种方法的特点是来自几个数据库的副本存储在一个集 中的数据资料库中。利用数据仓库实现数据集成的方式就是 使用的此种方法。mediated 方法适用于数据源中数据变换比较快的情况,但 是在处理查询时,效率比较低,存在较大的延迟。在下面这些 情况下尤其不合适:一个查询多次被提交时;数据源处理速度 非常慢而且代价比较高,或者是周期的不可用;转化过滤合并 处理的代价高较高。而在数据仓库的方法中,被集成的信息 可以由查询直接访问并被客户端分析。但是基于数据仓库的0引言随着计算机技术的迅猛发展及其应用,在 Internet 企业和政府各机构、部门内部都逐步实现了业务、办公自动化等计算 机管理系统,出现了各种信息系统,但是各个信息系统之间的 应用逻辑存在着很大的差异,数据没有统一的规范,这就造成 了各个系统相互孤立,信息无法交流和集成,在内部逐渐形成 了所谓的“信息孤岛”。在企业实现信息化的过程中,建立有效的信息共享或集 中、统一管理的机制成为目前最基本的需求。文中接下来将 要讨论的共享数据库模型弥补了基于 DB (数据库)-DW ( 数据 仓库)两层体系结构的不足,使得企业中各个部门的人员都能 够有效地利用资源,满足了数据处理的多层次要求。1数据集成技术数据集成是数据共享的基础,一般解决数据集成问题的 方法大体上可以分为两种:(1)mediated 方法。这种方法分为以下两步完成1:接收 一个查询,判断应答这个查询所需的信息源集合。然后根据 需要的数据源分解查询,生成合适的子查询;查询从数据源 获得结果,经过转变、过滤,合并结果集合之间的必要的信息, 然后把最终的结果返回各用户或者应用程序(通称为客户端)。收稿日期:2006-04-17E-mail:作者简介:王天亮,男,河北保定人,硕士,研究方向为数据集成、数据清洗、数据流处理;陈刚,副教授;徐宏炳,教授。数据源数据源数据源数据订阅数据抽取元数据共享数据共享数据库标准源数据(ACCESS 文件)管理员参照标准数据 初始化工具元参照标准标准图 1 系统架构生成 数元数据据建模工具执行标准维护工具模式信息管理工具 共享数据图 2 元数据结构图MOD_BizDBMOD_DBDataTypeMOD_BizObjGrpMOD_BizobjMOD_BizObjPrptyMOD_BizObjGrpRel图 3 元数据模型系统是面向分析、高层决策支持的,能提供集成、统一、面向主题的数据环境,所以它要求系统中积累足够的历史数据,而且 对于数据仓库的建设和维护需要投入大量人力和物力。而且 需要维护数据仓库和数据源中数据的一致性,不适合数据源 中数据变化比较快的情况。在本文中提出了一种基于共享数据库的数据共享模型。 共享数据库存储需要共享的数据,实现数据集成,并停供一个 统一的数据模式,以供客户端订阅自己需要的数据。共享数 据库既不同于数据仓库,它不是面向分析、高层决策支持的, 其中的数据也不是按照维来存储,不维护历史数据,所以共享 数据库的建设的周期短,维护的代价小;在共享数据库中,只 存放需要共享的数据,在数据一致性的维护上负担小;也不同 于传统的数据库:它存储着需要共享的数据,其目的是实现数 据共享。并且由于它提供一个全局的数据模式,有效地实现 了数据的共享,因此它综合了以上两种数据集成的特点。在 实际的数据共享应用中,取得了较好的效果。在模式结构的冲突,命名冲突,结构冲突,结构约束的冲突,表达格式的冲突;在实例层上可能存在数据的缺失,不正确的数 据,数据的不一致。共享数据库中的元数据就是为了解决这 些集成过程中的冲突。所以数据在数据源与共享库之间流动 时,就必须进行数据转换,也就是数据清洗。3数据共享需要的元数据及其管理数据的集成,共享以及数据的清洗都需要大量的元数据信息的支持,其中有一些信息系统可以自己提取,但是大量的 信息必须由分析员或管理员通过维护工具送入共享库中的元 数据。对于本系统来数,以下几类元数据信息是必须定义的, 他们之间的关系如图 2 所示。2系统模型此系统的基本思想是共享数据库的元数据为系统的集成提供一个统一的数据模式以对来自不同数据源的各种数据进 行表示,并存储需要共享的数据,从而便于统一进行处理;将 来自不同的数据源的各种数据转换成共享数据库能进一步处 理的统一格式;并在统一的数据模式上定义了基本的运算,完 成数据的订阅等具体功能。架构如图 1 所示。3.1 源数据库的模式信息系统要从源数据库抽取共享数据,首先必须获取关于源 数据库的模式信息,并将其保存在共享库的元数据信息中,这 些元数据包括:(1)源数据库索引表 MOD_BizDB:说明了每个数据源的基 本情况,如数据库的名称、数据库名、数据库类型、如 DB2 或 者 ORACLE、物理位置、连接字符串等,并为每个数据源分配 一个惟一的标识(wid);(2)对于源数据库中的数据表使用两张表存储其详细的模 式信息。一张存储关于库中表的信息,名为 MOD_BizObj;另 一张存储表中每个字段的信息,名为:MOD_BizObjPrpty。(3)在描述源数据库模式信息中,为了方便管理还需要用到 以下几张元数据表:MOD_BizObjGrp 为了方便管理,把原数据库 中的表进行分组;MOD_BizObjGrpRel 该表存储组关系信息。源数据库经过这些元数据的描述,可以建立一个统一的 模型,如图 3 所示。数据源各种不同的数据库可以通过此模 型进行统一的描述。经过描述后,屏蔽掉了数据源之间的差 异,方便了对数据源的管理。各种数据源中的数据根据共享数据库中的元数据通过抽取转换加载到共享数据库,形成共享数据以供底层数据源订 阅来实现数据的共享。共享数据库提供的统一的数据模式, 屏蔽了底层数据源的差异,用户可以基于这个统一的模式订 阅自己需要的数据,而不比关心数据所在的具体位置。(1)数据抽取:把数据从各种数据源抽取到共享中,形成共 享数据。(2) 数据订阅:共享数据的订阅是获得共享数据库中可供 共享数据的过程,数据订阅分为数据订阅和订阅生效两个阶 段,并对订阅人员进行管理和权限的控制.提供以下两种订阅 方式:定时完全订阅.把用户订阅的数据全部定时发送给用 户;及时增量订阅. 在这种方式中只把用户订阅数据的变化 部分即增量数据发送给用户。增量数据的产生具体见下文,产 生的增量数据通过消息中心的方式发送给订阅此数据的用户。(3) 当数据在共享库和数据源之间流动时 (即数据抽取和 订阅的)数据都要进行转换,即数据清洗。各个数据源可能在 模式层和实例层都可能存在冲突。例如,在模式层上,可能存数据源 1数据源 2数据源 n采集器采集器采集器集成器生成器图 4 增量数据捕获模块3.2 共享数据的模式信息共享数据以数据表的形式保存在共享库中,此模式信息 主要说明保存共享数据的表及其相应字段的信息,包括各字 段的特殊信息。3.3 实体属性的标准信息检查和处理数据源之间在实体属性上的冲突。现实中的 实体反映到数据库中时,不同的数据库常常会采用不同的表 示方法。一个实体的某个属性,在不同的数据库中可能会有 不同的表示方法。在数据集成中经常会遇到这种问题。为了 更有效的解决这种问题,在数据库中存放有标准的实体属性 信息。这些标准的信息分为两类:参照标准和执行标准。参照标准:一个行业中关于实体属性的标准表示,是执行 标准的依据。例如在教育行业中,参照标准一般是教育部教 育管理信息化标准-学校管理信息标准中的涉及的国家标准、 教育部定义的标准。执行标准:根据参照标准或自己定义。 执行标准是实际使用的标准,而参照标准主要作用是制定执行标准。这样使得在制定标准信息时具有更大的灵活性。 这些标准信息是数据清洗的依据。4.1 利用 ECA 规则的增量数据捕获。ECA 规则即 Event-Condition-Action,Event (事件):引发规 则执行的原由,在本文中为数据库的基本事件(插入、修改、删 除);Condition( 条件):规则是否被运用,由此项决定;Action(动 作):规则被触发且条件为“真”时要执行的操作,如更新另一 个节点群的数据内容。ECA 规则是主动数据的一项基本原 则,将所有规则与数据库管理系统中的触发机制结合使用,就 能自动捕捉需要同步的数据库事件,即增量更新的数据。捕 获增量数据的结构如图 4 所示。生成器负责具体的触发器的生成。对于具体的要生成触发器的表(源表),生成器产生一张对应此表的 shadow 表,来存 放触发器捕获到的增量更新的数据。如果一张名为 STUDENT 源表(DBMS 为 oracle)的结构如表 1 所示。表 1 STUDENT 表结构4基于事件的增量数据的获取数据源中数据的变化,必须能及时地在共享数据中得到反映。这就需要数据同步,主要有两种方法:增量同步和全 a 量同步。全量同步每次把全部数据进行同步,不论数据是否 发生变化,所以此方法效率低,会给系统造成很重的负担。本 系统采用一种基于事件的增量同步方法。此方法每次只同步 那些发生变化了的数据。其关键是捕获增量的更新数据。一个好的捕获增量更新数据的方法应该满足:对源端的 性能的影响应该尽可能的小;能容易的获得增量的更新数据; 无需修改已存在的应用程序7。在实际的应用中,增量数据获 取的方法主要有以下几种:(1)基于时间戳的方法。此种方法最大的优点是实现简 单,但是它要求源端支持时间戳,并且它只捕获源端的最新 状态,两次数据抽取工作之间的任何中间状态都会丢失。所 以一般不采用此种方法。(2)基于微分快照的方法。它是通过比较数据源的两个快 照进行工作的。通常在抽取时对本次数据副本和上次抽取时 的数据副本进行完全的比较,从而捕获两个数据副本之间的 变化。这项技术必须对所有相关的源数据事先复制,并且对 所有数据进行比对。效率低。当源端只允许快照操作时,才 选择此方法。(3)日志抽取的方法,通过分析日志,来捕获源端的增量更 新的数据。此种方法利用的是数据库中固有的机制,对源端 的影响比较小。能够通过基于事件捕获到增量更新的数据。 但是解析数据库日志的格式非常困难,一般的DBMS 厂商不提 供日志读取的接口,并且不同的 DBMS 会有不同的日志格式。 (4) 触发器的方法。此种方法容易实现,并且不需要源端 的应用程序做任何修改。由于触发器是基于事件的,所以它 可以实时的捕获到更新的增量数据,实时性好。所以在此采用此种方法。对此表生成触发器时产生的 shadow 表的结构如表 2 所示。表 2 STUDENT 的 shadow 表结构每当 STUDENT 的触发器捕捉到一条事件触发的更新数据时,就在此表中插入一条数据。CMD 字段记录触发此次更 新的事件。OLD_ID,OLD_NAME 为更新前的源表中的旧值, NEW_ID,NEW_NAME 为更新后的新值。采集器负责定期的从 shadow 表采集数据并把所采集数 据从 shadow 表中清空。然后对采集到的数据进行分析:对相 同字段的值将 Old 值和 New 值进行数据比对,如果 Old 值和 New 值一样,就将此条数据简单的抛弃,采集器把分析后的数 据发送到集成器。集成器对采集来的数据进行清洗工作。然 后发送到共享数据库。4.2 循环触发的避免。使用触发器获得增量数据可能会产生级联触发。理论上 认为触发器间构成了级联触发环路是导致触发死锁现象的根 本原因,其一般的解决方法是识别静态、潜在的触发器级联触 发环。静态的含义是仅通过分析触发器 DDL 而不是执行触字段名称类型大小CMDVARCHAR212OLD_IDVARCHAR240OLD_NAMEVARCHAR2128NEW_IDVARCHAR240NEW_NAMEVARCHAR2128ORDERIDNUMBER字段名成类型大小IDVARCHAR240NAMEVARCHAR2128发器来获取触发器触发信息;潜在的含义是分析触发器 DDL时忽略了与动态执行相关部分的分析,如例子中的 WHEN、IF 语句和 MODIFY 语句中的 WHERE 子句。所以这种判定方法 不准确,并且分析环路的效率比较低,不能在此处应用。由于触发器的 CONDITION 部分和 ACTION 中的条件判 断部分往往涉及动态执行时的数据,因此只有在触发器执行 时才能确定触发器间是否一定会产生级联触发环;而且触发 器是在 DBMS 的进程空间中触发执行的,应用程序实际上不 可能在触发器执行过程中判定级联调用环。所以采取适当的 方法尽可能避免级联触发才是解决此问题最好的办法。采集器从 shadow 表中采集数据时,对采集到的数据进行 分析:对相同字段的值将 Old 值和 New 值进行数据比对,如果 Old 值和 New 值一样,就将此条数据简单的抛弃。这就尽可 能的避免了触发器的级联触发。因为当 Old 值和 New 值相同 时,说明此时系统中可能存在着级联触发的现象,所以简单的 丢弃此条记录,就避免了此时的级联触发。并且由于这里的 触发器是用来捕获增量更新的数据,简单丢弃 Old 值和 New 值相同的记录,并不影响系统捕获数据的精确性。设中得到了广泛应用,并取得了较好的效果。6结束语本文提出了一种基于共享数据库的数据共享模型。介绍了系统的元数据管理;在数据同步过程中,增量数据的捕获。 并说明了系统在实际中的应用情况。由于在数据集成环境中, 各个数据源是自治的系统,它们可能因为业务的需要而改变 了数据库模式,如何对集成工具进行设计,使得共享数据库具 有自适应性,这是以后需要进一步研究的地方。参考文献:1Kezunovic Abur, Edris Sobajic. Data integration/exchange-Part1: Existing technical and business opportunities J. Power andEnergy Magazine,IEEE, 2004,2(2):14-19. 徐立臻,谢鸿强,董逸生.数据仓库系统中数据源的提取与集成 J.小型微型计算机系统, 2003,24(5):87-91.吴彭年, 邵贝恩. 面向企业的混合型分布式数据仓库的数据集成方法J.计算机应用, 2004,24(S2):238-240.朱静, 陈忠良. 异构数据源集成的实现J. 内蒙古大学学报(自 然科学版), 2005,36(4):99-102. 贾旭光,黄厚宽,黄婉秋.数据仓库中的数据集成J.北方交通大 学学报, 2002,26(2):36-41.Galhardas H,Florescu D.An extensible framework for data clea- ningC.San Diego: Proceedings of the 16th IEEE International Conference on Data Engineering, 2000.312-312.Prabhu Ram,Lyman.Extracting delta for Incremental Data Ware- house Maintenance C. San Diego: Proceedings of the 16th IEEE International Conference on Data Engineering, 2000.220-229.张震. 异构数据库同步系统的研究与实现 J. 计算机应用,2002,12(10):45-47.2345实际应用5目前在国内的许多高校之内普遍存在着这样的情况:各个部门都拥有自己的管理系统。而这些管理系统都是相对独 立的,系统之间存在着数据的不一致和难以及时准确共享 的缺陷。在校园的信息化建设中,本系统为解决此问题提供了一 个较好的方式。将学校各个部门的信息进行集成。各个部门 内部仍然沿用自己的子系统,在共享库中保存各部门都需要 共享的信息,这样当某个部门需要其它部门的信息时,就可以 直接从共享库中获得,而不再需要通过手工方式从其它部门 获得。解决了数据的共享和不一致的问题。目前已经在复旦 大学,浙江大学,同济大学,南京师范大学等大学的信息化建678(上接第 1922 页)3Berners-Lee T,Hendler J,Lassila O.The semantic webJ.Scien- tific American, 2001,284(5):34-43.宋炜,张铭.语义网简明教程M.北京:高等教育出版社, 2004.Oberle D,Staab S,Studer R,et al.Supporting applicatio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 1.3 积的近似数(教学设计)(教学设计)-2024-2025学年五年级上册数学人教版
- 江西省南昌二中2025-2026学年物理高三上期末教学质量检测模拟试题
- 2025-2026学年南充市重点中学高三物理第一学期期末统考试题
- 加油站安全培训职责课件
- 2025-2026学年江西省上饶市高三物理第一学期期末联考模拟试题
- 考点解析安徽省桐城市中考数学真题分类(实数)汇编单元测评练习题(解析版)
- 油品储运工协作考核试卷及答案
- 铁合金湿法冶炼工技能巩固考核试卷及答案
- 七年级信息技术上册 文学社的新成员说课稿 青岛版
- 高中信息技术 图像的简单合成说课稿
- 2025年教科版新教材科学二年级上册教学计划(含进度表)
- GB/T 39616-2020卫星导航定位基准站网络实时动态测量(RTK)规范
- GB/T 3620.1-2007钛及钛合金牌号和化学成分
- GB/T 19519-2014架空线路绝缘子标称电压高于1 000 V交流系统用悬垂和耐张复合绝缘子定义、试验方法及接收准则
- 计算机网络技术论文(优秀6篇)
- 化学史课件讲课教案
- 心率与高血压培训课件
- 旅游客源国地区概况(第三版)第03章亚洲客源国概况(下)
- 智慧审计综合管理平台解决方案
- 铁路客运英语中专学习教案
- 宝钢产品质量证明书模板
评论
0/150
提交评论