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

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

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

用Myo Myo Naing 提出采用六元组法可表示为{ C,AC,H} ,其中: C = { 仓库、减速器、管理员、蜗杆减速器、齿轮减速器} AC = { 管理( 管理员,减速器) ,存放地点( 减速器,仓库) ,工作地点( 管理员,仓库 ...

用Myo Myo Naing 提出采用六元组法可表示为{ C,AC,H} ,其中:

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

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

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

用仓库A 与仓库B 中的概念集CA、CB去填充领域本体概念集C 中的概念,用仓库A 与仓库B 中的关系集RA、RB去填充领域本体中的关系集R,并清除多余概念与关系,就得到系统本体,如图4 所示。

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

图4 全局本体

用OWL 语言可表示为:

< owl: Class rdf: ID = " 仓库" > < /owl: Class >

< owl: Class rdf: ID = " 减速器" > < /owl: Class >

< owl: Class rdf: ID = " 管理员" > < /owl: Class >

< owl: Class rdf: ID = " 蜗杆减速器" >

< rdfs: subClass >

< owl: Class rdf: about = " #减速器" / > < /owl: Class >

< /rdfs: subClass >

< /owl: Class >

< owl: Class rdf: ID = " 齿轮减速器" >

< rdfs: subClass >

< owl: Class rdf: about = " #减速器" / >

< /owl: Class >

< /rdfs: subClass >

< /owl: Class >

< owl: OProperty rdf: ID = " 管理" >

< rdfs: domain rdf: resource = " #管理员" / >

< rdfs: range rdf: resource = " #减速器" / >

< /owl: OProperty >

< owl: OProperty rdf: ID = " 存放地点" >

< rdfs: domain rdf: resource = " #减速器" / >

< rdfs: range rdf: resource = " #仓库" / >

< /owl: OProperty >

< owl: OProperty rdf: ID = " 工作地点" >

< rdfs: domain rdf: resource = " #库管员" / >

< rdfs: range rdf: resource = " #仓库" / >

< /owl: OProperty >

[page] 3.2 查询模块

查询模块是直接面向数据使用者的接口,负责将用户提交的查询分解成针对各分布数据的子查询,并提交给相应的数据源服务模块。语义查询服务是整个系统的关键部件之一,其结构如图5 所示,它又可再细分为:

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

图5 查询模块系统结构

1) 查询生成模块。

查询生成模块主要负责查询预处理。接收用户提交的各种查询请求,并进行必要的验证处理,包括验证本体的有效性、验证数据资源的可用性、验证查询的合法性和完整性等一系列工作,最后根据全局本体的定义将用户请求转化为统一的、可识别的全局查询语句。

2) 查询解析模块。

负责分析语义查询并进行分解工作。将从查询生成模块接收到的语义查询语句,根据全局本体或局部本体中定义的本体信息生成相应的查询语句。这些查询语句描述了所要查询的数据来自哪些数据资源、具体的表名、数据列、查询条件、各个数据表之间的连接关系以及各条查询计划之间的执行依赖关系。

3) 查询执行模块。

其具体包括队列管理和调度管理两个子模块,首先接收来自查询解析模块中的查询语句,行成一个队列,然后调度管理模块基于FIFO( 先进先出) 调度策略,分析其属性参数,并送往相应的数据源服务模块执行具体操作。

3.3 数据融合模块

将原子查询计划的执行结果进行融合,得到符合用户要求的最终查询结果集。由数据源服务模块返回的结果集,包含了各个不同数据源的查询结果,这些查询结果由一些数据行组成,对这些数据行必须进行相应的判断融合,才能得到所需结果,数据融合主要有以下三种情况:

1) 重复数据行,合并过滤,返回唯一值;

2) 数据行行数据的融合。要查询减速器的库存情况,分厂1 与分厂2 返回的结果分图如表1、2 所示,则最后数据融合后的结果如表3 所示;

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

表1 分厂1 返回结果

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

表2 分厂2 返回结果

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

表3 数据融合后的结果

3) 数据行列数据的融合。如果2 行数据除关键属性组外的属性取值不同,根据需要则要把一行数据中的不相同属性值连接到另一行数据的末尾成为同一行数据输出。

4 结束语

随着信息化发展及企业规模的不断扩大,“信息孤岛”问题已经成为阻碍企业信息化进程的主要因素,数据集成是解决“信息孤岛”问题的根本方法。文中通过对比已有数据集成方法,结合现代企业的具体应用需求,提出了一种基于SOA 架构和本体技术的数据集成框架。系统将异构数据源以Web Service 的形式进行封装,同时引入本体技术,利用本体描述领域概念的优势,较好解决了数据集成中数据的异构性问题,实现了数据访问的透明性。

下一步的主要工作是: 改进本体的生成规则,减少人工干预,提高本体生成的自动化程度。

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

数据源 数据资源 数据融合 信息化 企业信息化 数据集成
0