第一章绪论
1.1研究背景
在企业信息系统的建设过程中,因为在历史条件上的各种限制,企业各业务部门根据特定的应用和不同的系统需求构建了不同的业务应用系统,所以使得多种不同的业务应用系统和数据库系统同时存在于企业内部中,并且这些业务系统往往采用了不同的数据库管理系统。由于这些业务系统在设计的初期没有进行数据的统一规划,所以往往采用了不同的操作系统和数据库系统,并且构建的业务系统通常是具有独立性的业务系统。因为企业在地理区域上的分布,一项工作往往需要业务数据协同处理才能完成,并且这些数据存在于多个业务系统中。没有一套很好的数据共享和交换的机制存在于这些业务系统之间,会大大降低了工作效率,并且给企业的集中管理和日常工作带来了很多的不便。
根据上面的描述,通常有两种办法可以改变这种情况一种是对已有的异构系统进行废除,重建各个业务系统按照统一的标准整体另外一种是整合异构数据,进行系统集成。企业可以根据不同的实际情况,使用不同的方法来处理这些的异构数据系统。对于那些运行良好的系统来说,可以使用应用系统的整合方案而对于那些落后的系统来说,可以进行重建并按照统一标准。然后从长期规划来看,重建新业务系统和统一规划在可行性上并不是很好,由于企业在业务上的不断变化,系统进行统一规划对于新的发展需要未必适应,重建的新系统也会逐渐不适应企业的发展需要,所以说需要研究一个数据交换系统来实现业务数据信息的整合,从而能够充分的利用这些系统的数据资源。
……
1.2研究意义
异构数据交换系统能够减小数据存取开销,避免数据因为在结构和语义上的差异,以及存储位置上的不同而引起数据转换的错误,从而使不同的数据源的历史信息能够更为有效的得到利用,同时可以提供一个统一的数据界面给用户。在扩大共享的信息范围的同时,异构数据交换系统还可以解决企业内数据信息互通问题,有效的提高共享信息的质量,进而提高企业竞争力。
存在于各个异构数据业务系统之间的数据交换问题通过数据交换能够有效的实现数据协同性和一致性,还可以扩展数据交换的应用范围,让那些独立的应用系统能够根据业务流程进行有效的结合。从某种程度上讲,还可以促进虚拟数据库、数据仓库、以及其它一些企业应用的相关领域的发展。所以说异构数据交换系统对于企业实现数据的信息化管理具有重大的意义。
国外在七十年代中期就开始了对异构数据交换技术的研究,发展到现在已经有三十几年了。许多数据库专家和数据库厂商对于数据库的异构问题投入了极大的关注,大型数据库厂商都纷纷参与了国际标准的制定,使其推出数据库产品能够具有统一的数据库语言和标准。这些数据库产品有些具有支持新标准的扩展能力,有些使用了过渡的形式容易向国际标准过渡的形式。通过对异构数据问题十几年的探索和研究,在这个方面的研究上已经取得了很多成果,并且提出了很多异构数据交换的解决方案和方法。
……
第二章相关技术分析
2.1异构数据分析
异构数据是指采用不同处理方法对同一类型的各种差异数据进行处理,最终以实现数据的共享与透明访问,每个数据库系统在加入异构数据库之前本身就已存在,拥有自己的DBMS。
数据管理系统不同就是所指的异构数据模型。微软的数据集成系统采用数据模型或者是等关系数据库系统,使用的数据库系统也可以是不同类型的,如网络、层次数据库等。
在异构数据处理时,主要是在语法和语义上的异质造成的上述的困难。命名规则和数据类型不同在目标数据和源数据之间这就是通常指的语法异构。命名规则对数据库来说指字段名称和表。语法异构需要通过记录到记录,以及字段到字段的映射,才能够对数据类型和冲突的名称加以解决。语义异质对数据字段的原子性进行了破坏,所以相对比较复杂,数据内容需要直接进行处理。字段的数据格式转换、字段合并、字段拆分是常见的语义异构方式。
以上这些原因造成了数据异构,企业的信息管理和决策由于异构的数据带来了影响。部门以及单位信息化建设中的瓶颈就是怎样可靠的进行异构数据快速交换。
……
2.2数据交换综述
数据交换是指在不同的软件和操作系统之间使用网络以及那些特殊的设备等硬件进行数据移动的过程。各个系统间实现业务协作,互联互通以及数据共享在企业异构数据系统中,其主要解决方法就是通过数据交换技术。因此数据交换属于一种数据共享技术。
异构数据交换中各种数据源的数据交换工具的各个阶段有着不同的标准和要求,因此每个阶段交换过程和技术的都有很大的不同。其目的是使各种数据交换工具的异构数据资源可以在一个共同的平台共享使用。为了实现这一目标,必须对数据交换工具的不同的异构硬件环境,不同的运行操作系统和不同的数据库系统等差异进行屏蔽。通过数据交换平台服务,以前独立在企业之间或者企业部门间的数据信息可以轻松地共享和交换`。目前,数据交换是解决孤立的信息系统数据交换问题的最简单,最直接的技术解决方案,而且已经广泛应用在各种领域。
在数据库系统中根据语法的语言特点,中间件通过编写A语言把数据库事务转换成B语言编写的事务,并且把相一致的事务在B数据库中进行运行。在B数据库中所产生的结果就是在B相同的事务执行后,结果返回到中间件,并且采用数据库模型的格式。数据结构中间件在数据库模型建立的基础上,把系统的数据格式转换成A数据库格式,这样用户就可以取得需要的数据结果。在多数据库的情况下,这种方法需要消耗很多的资源,而且需要的中间件较多。其结构如图2-1所示。
……
第三章异构数据交换的关键技术研究…………17
3.1异构数据转换分析…………17
3.2数据库结构的映射…………18
3.2.1数据库模式文档…………18
3.2.2数据类型的映射…………20
3.3从数据库到的映射…………21
3.3.1映射规则…………21
3.3.2结构文档…………22
3.3.3XML文档的集成…………23
3.4从到数据库的映射…………24
3.4.1映射规则…………25
3.4.2X2D-Schema的DOM表示…………26
第四章异构数据交换系统的设计…………27
4.1系统总体架构设计…………27
4.1.1设计目标…………27
4.1.2系统的体系结构…………27
4.1.3系统的模块化设计…………29
4.2异构数据交换系统框架及流程设计…………30
4.3异构数据交换模型的设计…………32
4.3.1数据交换模型的框架…………32
4.3.2模型主要模块的设计…………33
4.4数据交换冲突及解决办法…………35
4.4.1日期数据类型…………35
4.4.2空值………………35
4.4.3二进制图像文件…………35
第五章异构数据交换系统的实现…………37
5.1数据交换规则库的实现…………37
5.1.1交换顺序控制文件的生成…………37
5.1.2映射文件生成…………39
5.2数据抽取………………42
5.3数据传输………………44
5.4数据写入………………47
5.5实验仿真对比数据分析…………47
……
第五章异构数据交换系统的实现
5.1数据交换规则库的实现
因为有主、外键的关系存在数据表之间,在交换顺序控制文件中需要包含数据交换的顺序包,比如在哪个数据表需要插入数据,需要先插入数据在哪个表中,并且插入的数据主、外键约束也会受到影响,所以子表内不应先加入数据,实际应该将主表中先加入数据,以数据交换需求为依据,对数据进行分组,依据业务逻辑的内容对于那些要交换的数据表,通常进行交换顺序控制相关文件的表征时可采取方法。
通用性对于数据交换系统来说十分重要,通用性能够实现不同异构数据库的数据交换,系统的代码不进行修改就需要具有通用性。该模型的系统状态的通用性为了能够进行验证,本文构建了一个异构数据库环境。新的数据规则库重新需要进行生成,在数据库环境发生变化的情况下。本系统实现了数据规则库生成模块,并且能够快速和灵活和对转换规则进行生成。
来自不同数据库中的数据进行实验时,通常选取差异的数据表,同时对于源数据而言也能够具有不同的位置,因此本系统可以在不同商用数据库和不同格式的数据之间实现数据转换,从而有效的解决异构数据的交换问题。
……
结论
由于异构数据源之间的差异,使得异构数据源集成了一个很难解决的问题,文章提出的基于XML的异构关系数据库集成模型,通过XML文档与关系数据库之间的映射规则,实现了网络环境中各异构数据库之间的数据集成和共享。并在系统设计过程中,利用模型中的集成件,实现了各个系统之间的信息集成和共享。
本文所作的主要工作总结如下:
1.研究了异构数据交换系统的相关技术,并且提出基于XML技术的异构数据交换系统的架构,该系统采用XML格式的中间数据,通过对XML进行解析和转换来完成源数据库和目标数据库间的数据交换。
2.研究了异构数据交换系统中的各模块之的功能划分及流程框架的设计,保证了从源数据到目标数据的有效转换,以及在转换过程中对于冲突的解决办法进行描述。
3.研究了异构数据库数据的交换规则库,用来消除异构数据模型间存在的语义和结构上的冲突,该规则库不需要书写专门的配置文件和数据库转换程序,对于用户来说可以根据自己的需求灵活、自由的对转换规则进行定制。
参考文献(略)