首页 首页 人工智能 查看内容

基于SOA的异构数据集成软件架构研究(上)

木马童年 2019-2-13 12:15 5 0

引言 在国际金融危机肆虐、国际竞争日益激烈、产品需求日益精细化的背景下,企业要摆脱困境、做大做强,并购重组成为一种重要的发展战略。 在企业完成并购后,作为企业运营管理载体的信息系统的整合成为了必然的需 ...

引言

在国际金融危机肆虐、国际竞争日益激烈、产品需求日益精细化的背景下,企业要摆脱困境、做大做强,并购重组成为一种重要的发展战略。

在企业完成并购后,作为企业运营管理载体的信息系统的整合成为了必然的需求,如何有效地把这些分布的、异构的、运行在不同软硬件平台上的信息集成,连通“信息孤岛”,共享数据,为集团企业提供一个完整统一的数据视图以充分利用现有数据资源,成为了企业界日益关注的新问题。

1 异构数据源集成概述

异构数据集成目的就是提供统一查询接口,屏蔽底层数据源的异构性,使用户不必考虑底层数据模式与分布位置的不同等问题,能够通过一个统一的查询界面实现对异构数据源的透明访问。其中的关键是如何以一种统一的数据模式描述各异构数据源中的数据,屏蔽它们的平台、数据结构等异构性,实现数据的无缝集成。

近年来,多种数据集成模式被提出,其中比较有代表性的有以下几种模式:

1) 点对点模式。

在两种不同数据源之间建立相互转化模式,该方法在异构数据源很少的情况下,实现技术比较简单,但对异构数据源较多的情况下,实现起来极不方便,因为对于一个包含N 个异构数据源的系统,需要建立的转化模式总和为: T = N( N - 1) ,相应的交互复杂度为:O( n2 ) 。采用该模式,系统每增加一个新的数据源,都必须为这个新数据源建立起与已有数据源的多种访问模式,这就大大降低了系统的可扩展性,该方法正被新的数据集成方式逐步取代。

2) 集中复制数据模式。

数据仓库是这一方法的典型代表,通过对异构数据源的分析与转换,将每个异构数据源中的数据复制到一个统一的数据仓库中,该模式的优点是: 不破坏原有系统,可集成多种数据源和商业规则,实现了数据的集中式管理,数据集成质量好。缺点是: 无法实时反映数据的变化,只能定期进行数据更新,每当有新的数据源加入时,全局模式必须重新生成,系统可扩展性较差。

3) 中间件模式。

随着分布对象技术的兴起,中间件技术也被广泛地应用到数据集成中,其中比较有代表性的有微软的DCOM 和OMG 的CORBA 等,他们都采用包装的思想,以统一的接口提供调用服务,屏蔽了数据的异构性,实现了数据的透明性访问。中间件技术在数据源的自治性、查询的实时性、配置的灵活性等方面,优点比较明显,是目前采用比较广泛的集成模式之一。

4) 基于XML 技术模式。

XML(eXtensible Markup Language,可扩展标记语言) 是一种在Web 上表示信息的标准文本格式。XML凭借其良好的可伸缩性和灵活性,不仅能够提供对资源内容的表示,也可提供对资源所具有的结构信息的表示,其正被广泛地应用到许多领域,也是近年来数据集成领域研究热点之一。

文中在对这些集成方法分析的基础上,提出了一种采用SOA 架构及通过Web Service 技术封装数据源的软件架构。并针对目前Web 服务选取主要集中于UUDI 层,基本是通过关键字匹配或者基于框架的方法实现,引入语义Web技术,来解决原方法查准率极其低下的不足。在语义Web 中,描述服务的信息均被赋予特定的语义,能被计算机理解和处理,这使得基于语义的Web 服务的发现成为可能,极大地提高了查准率。[page] 2 基于SOA的系统集成架构设计

面向服务架构( Service Oriented Architecture,SOA)的概念是GartnerGroup,于1996 年提出。关于SOA,目前尚未有一个统一的、业界广泛接受的定义。一般认为: SOA,面向服务架构是一个组件模型,它将应用程序的不同功能单元( 称为服务) ,通过服务间定义良好的接口和契约联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务可以使用统一和标准的方式进行通信。

Web Service 是一种与平台无关的“自包含的、自描述的、组件化的应用程序”,是一种在Internet 上使用的全新的分布式计算技术。

系统首先按照Web Services 标准把数据封装,以解决平台异构、结构异构与分布性等问题,本体服务层及语义层进一步把数据解析与重组,最后以虚拟视图或视图集合的形式,提供给应用层。其特点是能够解决各种异构性问题,且中间过程中不存储任何异构数据库中的实际数据,实现了数据的实时异构集成。整个系统架构如图1 所示,主要包括以下5 个层次:

基于SOA的异构数据集成软件架构研究(上)

图1 基于SOA 的异构数据集成框架图

1) 应用层。

提供统一的查询接口,用户可以透明地访问底层数据,而不必知道数据的物理位置与数据的异构性,对用户而言,就像访问单数据源一样简单。

2) 语义层。

将语义查询结果与语义信息结合包装为语义形式的结果集,并以服务的形式提供给应用层调用。

3) 本体服务层。

本体服务包括领域本体服务与系统本体服务两部分。领域本体是数据模式的统一表达模型和领域术语标准。领域本体由领域专家定义,数据提供者需要把自己的数据集与领域本体进行映射形成系统本体。系统本体与系统的多个角色存在着相互联系,是整个系统语义集成的核心。

4) 数据资源服务层。

维护所有与数据资源相关的信息。所有直接与数据资源有关的操作都由这个组件提供支持。这些操作包括数据资源的动态发布、加入、退出、信息维护、信息查询、数据的导入和查询等。实际上,这个核心组件为各种不同类型的数据资源提供了统一的接口,使得查询能够跨越不同的数据资源类型。系统平台在分析用户的查询请求时,正是从这个数据资源服务中获取数据资源的相应信息,进而生成查询计划,并把查询分派到各个数据资源。

5) 资源层。

企业遗留及新建的各种数据资源。[page] 3 关键模块的设计

3.1 本体库

起初本体是哲学范畴上的一个概念,Studer等通过研究认为“本体( ontology) 是共享概念模型的明确的形式化规范说明”,其包含4 层含义: 概念模型、明确、形式化和共享。本体是对一个客观存在系统的解释或说明,描述的是一个客观系统的抽象本质。正是由于本体对客观现实的强大描述能力,本体这一概念被广泛地引入计算机领域,用来解决一些与现实世界相关的,需要对现实事物进行抽象描述的领域。在数据集成过程中,人们需要对大量的数据进行逻辑描述,以揭示其中的相互关系,消除语义的异构性等问题,本体的出现正好解决了这一问题。在数据集成领域中,通过对数据的严格定义和建立数据之间的关系,揭示数据之间共同认可的、可共享的知识,达到解决语义异构性问题的目的。

这里,借用描述逻辑( DL,Description Logic) 中对TBox 和ABox 的定义形式,来构建本体库。

1) 集合C: 概念集,领域知识中最基本最一般的概念形成最初的概念集C;

2) 集合R: 关系集,概念之间一些最基本的关系形成关系集R;

3) 把1) 中形成的概念集C 和2) 中生成的关系集R,通过逻辑关系运算,生成新的概念,并把新生成的概念添加到集合C;

4) 重复第三步,直到集合C 足够覆盖应用中的领域知识,集合C 就是所要的TBox;

5) 用实例集来填充概念集C 中的概念和关系集R中的关系,这时用于表示填充式子的全体就形成Abox。

这里TBox 与ABox 就是本系统中要用到的领域本体与系统本体。

下面说明一下本体的创建过程,现有仓库A 与仓库B,其结构如图2 所示。

基于SOA的异构数据集成软件架构研究(上)

图2 仓库A 与仓库B

其涉及到的基本概念及他们之间的关系,用MyoMyo Naing 提出采用六元组法可表示为{ C,AC,H} ,其中:

仓库A:

C = { 仓库、减速器、库管员、蜗杆减速器}

AC = { 管理( 库管员,减速器) ,存放地点( 减速器,仓库) ,工作地点( 库管员,仓库) }

H = { ( 蜗杆减速器,减速器) ,减速器…}仓库B:

C = { 仓库、减速机、管理员、蜗杆减速器、齿轮减速器}

AC = { 管理( 管理员,减速机) ,存放地点( 减速机,仓库) ,工作地点( 管理员,仓库) }

H = { ( 蜗杆减速器,减速机) ,( 齿轮减速器,减速机) ,减速机…}

通过调研及与企业相关专家勾通,可得到基于图3 表示的领域本体。

基于SOA的异构数据集成软件架构研究(上)

图3 领域本体

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

精细化 共享数据 数据视图 数据资源 数据源 数据集成
0