您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页本体

本体

来源:尚车旅游网
学科代码:520.60

一种基于本体的业务协作快速集成方法

(浙江大学

要:针对异构系统之间基于语义的业务协作技术条件要求高、效率低、速度慢的问题,提出了一种从数据库中自动提取局部本体的方法,提高了集成过程中构建本体的效率;针对所自动构建本体的特征,提出了一种本体之间进行相似度计算的算法,解决了快速集成中本体之间的语义映射问题;在这两种方法的基础上,改进了常见的基于本体技术的业务协作集成方法,解决了业务协作技术条件要求高、效率低、速度慢的问题,并分析了集成服务运行原理和处理流程。基于这些方法,开发了一个业务协作集成平台,实现了基于语义的业务协作的快速集成。最后,并通过饰品三维辅助设计系统同ERP系统的业务协作实例验证了该方法的有效性。 关键词: 业务协作;本体提取;本体相似度计算;业务协作集成平台

中图分类号:TP391 文献标识码:A 文章编号:

An approach to rapid integration for process

collaboration based on ontology

Abstract: In order to overcome the high technical prerequisite requirements, inefficiently and slowly constructing conditions in business collaboration in the semantic level between heterogeneous information systems, a method of extracting local ontology from relational database was proposed, the method could rapidly achieve efficient results in constructing ontology, an algorithm of calculating the similarity between the local ontology extracted form relational database and domain ontology was proposed, the method could solve the semantic mapping between heterogeneous information systems, based on the methods, an approach to business collaboration was improved, the problem of the high technical prerequisite requirements and inefficiently and slowly constructing conditions in business collaboration system was solved with the method, the principle and process of the method was analyzed also. Based on the method, a business collaboration platform for integration was developed, with the platform rapid integration for process collaboration was possible. Finally a case of business collaboration between a three-dimensional CAD of decorations and an ERP system was provided to verify the effectiveness of the approach.

Key words: business collaboration; ontology extracting; calculating the similarity between ontology; business collaboration platform

业务协作(Business Collaboration)是企业之间,企业内部部门之间,或部门和小组内部员工之间为完成某项目标或业务所经历的一系列的协作过程。业务协作对于提升企业的快速反应能力和市场竞争力具有极其重要的意义。业务协作的常规方法是采用特定的自动数据交换技术来实现业务协作过程集成;或者是基于面向服务的体系结构(SOA),采用协同服务技术来实现业务协作。文献[1]提出了一种支持业务协作过程集成的自动数据交换方法的方法。文献[2]提出了一个面向SOA的业务流程协作集成体系结构。但是SOA方法没有解决业务协作中的语义异构问题。本体(ontology)作为能够实现语义

理解、语义通信、语义集成的一种有效方法而日益

受到研究者的重视。文献[3]提出了一种基于语义Web服务面向服务的跨企业业务协作模型。但该文献是基于Web服务的体系架构,进行企业的业务协作集成需要首先创建、发布Web服务,技术条件要求比较高;另外,还需要创建各种本体,并且本体实例又数量巨大(项目中的某企业的材料种类就近万种且经常变化),手工创建效率低下,由于不具备本体知识,一般用户很难完成。上述问题的存在,导致基于本体的具有语义的业务协作实现起来速度慢,效率低下,不利于中小企业的灵活应用。

本文针对异构系统之间基于语义的业务协作技

收稿日期:2009-6-22

基金项目:国家“863”高技术研究发展计划资助项目(2007AA040607,2006AA04Z157);浙江省重大科技攻关项目(2005C11035)。. 作者简介:刘运通(1975 ),男,河南伊川人,浙江大学现代制造研究所博士生,从事制造业信息化、集成技术、本体技术的研究。E-mail: liuytliuyt@zju.edu.cn.

通讯联系人:唐任仲,男,教授,博导. E-mail: merztang@zju.edu.cn

术条件要求高、效率低、速度慢的问题,提出了一种从参与业务协作的信息系统数据库中自动提取局部本体的方法,提高了集成过程中构建本体的效率;异构系统业务数据的发布、查询、更新和删除。

(5) 根据业务协作的逻辑要求,调用集成平台中的相关集成服务,从而实现在语义层面上的业务进行异构系统基于语义的业务协作,就必须创建本体之间的语义映射,由于所自动构建的本体具有一些独特特征,现有的本体概念相似度算法不能满足集成要求,为了解决这个问题,提出了一种本体之间进行相似度计算的算法,解决了快速集成中所构建的本体之间的语义映射问题;在这两种方法的基础上,改进了常见的基于本体技术的业务协作集成方法,解决了业务协作技术条件要求高、速度慢的问题。基于这些方法,开发了一个业务协作集成平台,实现了基于语义的业务协作的快速集成。最后,并通过饰品三维辅助设计系统同ERP系统的业务协作实例验证了该方法的有效性。

1 业务协作集成方法

叶范波提出本体集成方法可按照系统架构分为三种方法:单本体方法、多本体方法、混合本体方法[4]。单本体方法使用一个全局本体,所有的知识源与这个全局本体关联。单本体方法结构简单,易于操作。但当某一个知识源发生改变时,全局本体也需要做出较大地调整,影响全局本体与其它知识源的映射。多本体方法的每个知识源由各自的本体进行描述,不需要建立统一的公共本体。知识源的改变时不需要做过多的改动,并且能够支持本体库的不断完善,因此多本体方法较为灵活。但是由于采用多个本体,本体异构会给知识集成的歧义。混合本体方法克服了前两种方法的缺点,综合了前两种方法的优点,易于操作,通过全局本体同局部本体之间的语义映射,可以对各局部本体的概念进行统一规范管理,避免了局部本体之间的歧义。

本文对常见的混合本体集成方法进行了改进。具体方法如下:

(1)将常见的局部本体构建方法改为由所提出的本体提取算法提取生成。

(2)领域本体可以由专家在提取出来的所有局部本体的基础上,选取所需要的共同概念再做适当的修改,形成领域本体。

(3)由于传统的本体相似度计算方法不能适应自动提取出的本体,因此,需要使用所提出的相似度算法计算局部本体同领域本体之间的相似度,构建本体语义映射库。

(4) 开发集成服务。以集成服务为中介,实现

协作集成。

由于实现了局部本体构建的自动化,本体语义映射的自动化,并且集成服务的自动化,解决了业务协作集成技术效率低、速度慢的问题。由于局部本体的自动构建只需要通过访问一次局部信息系统的数据库即可自动实现,不需要具备类似web服务等技术前提,也无需大量的熟悉本体技术的专业人员构建局部本体,解决了业务协作集成技术条件要求高的问题。

2本体提取算法

从数据库中自动提取本体的方法和步骤如下: (1) 创建类。针对数据库中的每张表,创建一个类。假设表名称为tname,则创建一个类tname。

(2) 创建子类。具体有两种情况:

情况1:表中有某个字段,相关于表的主键。假如某个表table有字段key,key相关于主键ID。表格有某条记录,字段key的值为value,主键字段ID的值为valueID,则创建类table.valueID和table.value,并设置table.value是table.valueID的子类,假如该类已经存在,则返回。该表就生成了树状结构的本体类集合。

情况2:由用户设定划分子类的字段,根据字段的不同属性值来创建子类。比如有个表格teacher,字段有(ID、name、class、gender、level),在前面步骤中已经生成了teacher类,现在就可以按照选定字段level的值集合{初级、中级、高级},生成teacher.初级、teacher. 中级、teacher. 高级三个子类。划分子类的字段数目不限。

(3)创建属性。具体有两种情况:

情况1:针对每个表格的每个字段,假如该字段依赖于其它表格,则创建该类(表格对应的类)的对象属性(objectproperty),根据依赖关系设置属性的值域与定义域。

情况2:否则,创建类的对象属性(dataproperty),属性值域为表格中该字段类型。

(4)创建类实例:针对每个表的每行记录,创建相应类的一个实例。

依据该方法开发了一个能够从关系型数据库中自动提取本体的工具。程序界面参考了protégé的datamaster插件的界面[5],本体提取工具运行界面

如图1。

图1数据库本体提取界面

Fig.1 The Interface of ontology extraction from database

3本体映射库的构建

本体映射是指在两个本体的概念对具有基本相同的语义。进行业务协作,需要在集成异构系统的局部本体同领域本体之间构建本体映射。本体映射通常采用某种本体相似度算法,选取具有最大相似度值的概念构成本体映射。从而形成本体映射库。3.1相似度计算方法

国内外有很多种本体映射相似度算法,国外的有foam、align、coma++、falcon等很多种,国内也有学者进行了研究,文献[6]分析了本体映射计算原理和评价方法,但他们都不是针对从数据库中自动抽取的本体而设计的相似度算法,不符合业务集成平台的运行要求。因此,我们提出了一种针对从数据库抽取出来的本体之间进行相似度计算的方法。计算需要按照本体的类、属性、实例分别进行。找到对应概念中相似度值最大的,并且大于设定的阀值的对应类、属性、实例,并保存结果,计算方法如下。

(1) 类相似度计算公式如下:

n1s*s1(1)*(*n1*s2/n(1)*

i1n2n2*s3/n).

i1s1*dmin/dmax(1-)*sed(NA,NB). s2*sc(1)*sed(NA,NB). s3sed(NA,NB).

sed(NA,NB)1d(NA,NB)/

max(length(NA),length(NB)).

其中为0-1之间的一个权重参数,可

以根据计算结果进行调整以达到较好的运算结果。

s为相似度计算结果,n为类A的属性个数,

n1为类A的Objectproperty属性个数,n2为类A的Dataproperty属性个数。s1为根据类图中对应类的出度(dmindmax)和类名称编辑距离所计算出的相似度, s2为由某一个Objectproperty属性计算得到相似度,sc为对应的Objectproperty属性的值域类的相似度和Objectproperty名称编辑距离所计算出的相似度,s3为Dataproperty名称编辑距离所计算出的相似度,sed(NA,NB)为根据两个字符串

NA,NB的编辑距离计算出来的相似度。d(NA,NB)为两个字符串NA,NB之间的编辑距离。length为字符串长度函数。

(2) 属性相似度

对于Objectproperty属性,计算公式如下:

s*sd*sr(1-)*sed(NA,NB).

sd为定义域类domainCls的相似度,sr为值域类rangeCls的相似度,其中为0-1之间的一个

权重参数。

对于Dataproperty属性,计算公式如下:

s*sd(1-)*sed(NA,NB).

sd为定义域类domainCls的相似度,其中为

0-1之间的一个权重参数。

(3) 实例相似度计算公式如下:

n1n2ssc*(*n1*s1/n(1)*i1n2*s2/n).

i1s1*sc(1)*sed(NA,NB). s2sed(NA,NB).

sc为类的相似度,其中为0-1之间的一个权

重参数。n为类的属性个数,n1为类的Objectproperty属性个数,n2为类的Dataproperty属性个数。

(4)计算结果处理

在计算过程中,任意两个类、属性、实例之间都会有一个计算出的相似度值(0-1之间),选择其中具有最大相似度的那个概念,在这两个概念之间建立本体映射,假如用户认为计算结果错误,可以进行编辑,然后由系统进行迭代计算。由于算法的特点,中英文概念之间的相似度也可以计算出来。相似度计算如图2。

3.2 映射库的建立维护流程

通过相似度算法可以得到绝大多数映射数据,算法遗漏的、错误的映射数据可由用户在第一次使用到时进行添加或更正(在后面的实例中,通过算法可以得到95%以上的相似度数据,但还有5%左右的数据在第一次使用到时通过与用户交互得到)。以本体相似度计算为主和适当程度的用户参与的方法,可以建立起一个可靠而完备的本体映射库。本体映射库的建立/维护流程如图3。

Fig.2 Similarity calculation

图2相似度计算 相相相相相相相相相相相相相相相相相相相相/相相相相相相相相相相相相>相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相Y相相相相相相相相相相相相相相相相相相相相相相相相相相相相N相相相相相相相相相相相相相相相

图3本体映射库创建/维护原理图

Fig.3 Figure of creating and maintaining ontology mapping

相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相/相相I/O相相相相相相相相相相相相相相相相相相相相相相相相相/相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相/相相相相

图4业务协作集成平台结构

Fig.4 Architecture of Process Collaboration Integrated System

4业务协作集成的实现

4.1业务协作集成平台

按照所改进的混合本体集成方法,开发了一个业务协作集成平台,结构如图4所示:

业务协作集成平台的结构由七部分组成:本体建立/编辑模块、本体库、相似度计算模块、本体映射库管理模块、业务协作集成模块、系统接口、以及参与集成的信息系统。

业务协作服务模块是平台的核心模块,该模块能够根据业务协作的要求,发布业务数据到集成平台和从集成平台查询、转换、更新,删除业务数据。

集成平台以服务器/客户端的方式运行。服务器端可以提供基于本体的语义转换、实例发布、数据查询、数据更新、删除以及本体映射相似度值的维护等业务协作集成服务。

相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相Y相相相相N相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相Y相相相相相相相相相相N相相相相相相相相相相

图5 集成服务的处理流程 Fig.5 Process of integration services

4.2业务协作集成服务

4.2.1业务协作集成服务处理流程 业务协作的本质就是按照业务流程的需要实现对异构的目标系统数据进行操作,集成平台作为业务协作的中间媒介,

提供了对异构系统数据基于语义的数据查询和数据转换等服务。实例发布、数据查询、语义转换的处理流程如图5。其他的几种服务处理流程类似这三种服务。

4.2.2 数据传输 业务协作时的相关控制参数和业务数据都以XML文件方式传输,由集成平台解释该XML文件并根据控制参数决定处理流程。相关控制参数主要包含:自身系统名称、目标系统名称、数据。

ERP系统客户端操作流程开始设计系统客户端操作流程开始客户订单1 发布到平台2 任务查询所请求的服务类型、请求所涉及的类、以及相关类的实例数据。集成平台可以调用相关服务进行处理,处理结果以XML文件方式返回给客户端。

4.2.3集成服务客户端 集成服务客户端提供了同集成平台交互的界面,用户可以通过客户端调用集成平台的各种服务。客户端可以解释从集成平台返回的结果XML文件,并提供下一步操作的图形界面,用户只需按照图形界面的要求填写下一步交互所需要的数据(下一个查询、发布或语义转换等),然后将数据再次发送到集成平台即可,由集成平台进行下一步处理。

客户端以DLL文件或者jar文件的方式存在。为了实现业务协作,需要对参与集成的信息系统进行简单的二次开发,以调用该DLL文件或者jar文件(只需要一条调用文件指令,激活客户端即可),就可以使用客户端的各种功能。

5业务协作实例分析

5.1业务协作流程实例

某饰品公司有两个信息系统:ERP系统、产品设计系统。公司客户订单是从ERP系统录入的,假如没有符合客户订单需求的产品设计。则生成设计 任务,在设计系统中完成三维设计,然后ERP系统将产品设计数据读入。参与业务协作ERP和设计系统的交互步骤如下(见图6,这种交互是以异步的方式实现的):

(1) ERP系统将需要设计的订单数据以本体实例的方式发布到集成平台,并创建本体映射。

(2) 设计系统向集成平台查询设计任务。

(3) 集成平台将经过转换的订单数据根据映射转换为设计任务,并传递给设计系统。

(4) 设计系统将设计结果的以本体实例的方式发布到集成平台,并创建本体映射。

(5) ERP系统查询设计进度。

(6) 集成平台查询设计进度,将结果传回。 (7) 假如设计完成,ERP系统查询设计结果。 (8) ERP系统从集成平台读取经过转换的设计

3有任务数据设计任务进度查询集成服务器5 设计进度查询设计完成?6进度查询结果Y4发布设计结果设计完成结果查询7 设计结果查询结束接受设8设计结果数据计图纸结束

图6 业务协作实例交互流程

Fig.6 Description of ontology instance mapping

5.2基于语义的数据转换实例

现以订单数据转化到设计任务数据为例来说明数据转换的原理。现有ERP一个产品订单(仅以设计任务所涉及的7个字段说明,产品订单的其余字段的转换方法类似),该产品订单和设计任务的数据在各自系统数据库中的关系如下图7。

图7中每个表格对应一个本体类或子类,每个表格中的一条纪录对应于该类的一个实例,每个字段对应于本体中的一个属性,无箭头指示的字段对应于一个dataproperty属性,字段的值为该属性的值,每个关联字段对应于一个objectproperty属性(图中箭头所关联的内容),属性的值为箭头指向行所对应的本体实例。 在图7中我们可以看到copper与铜的密度都是56000,虽然语言分别为中英文,但这两条记录还是具有一定的相似度,可以通过算法计算出他们的相似度,从而建立起语义映射。通过语义映射,可以进行数据转换。

图7 本体映射实例说明

Fig.7 Description of ontology instance mapping

在提取本体后,生成的本体类及类实例,以及这些概念经相似度计算后所建立的本体映射情况如下表1。需要进行数据转换时就按照本体映射进行语义转换。(例如:在图7中的箭头所示的订单中的材料ID为78,就可以被转化为设计系统中的materialID14,区域area就由13转换为8)。

在三维设计系统(Rhino)中的进行ERP订单的查询(包括两次数据转换过程)界面如下图8所示。

表1 本体概念映射表

Table.1 ontology concept mapping table

ERP系统局部本体 order类 material类 salearea类

order.salearea.area.ID属性 order.salearea.material.ID属性 order类的instance2008051146实例 material类的instance78实例 salearea类的instance13实例 order.data(值为20080511)

领域本体 “订单” 类 “材料”类 “销售区域”类 “订单.销售区域”属性 “订单.材料”属性

“订单”类的“2008051146”实例 “材料”类的“铜”实例 “区域”类的“美国”实例 通过转换函数进行时间格式转换

设计系统局部本体 design类 material类 area类

design.area.销售区域.areaID属性 design.area.材料. material ID属性 design类的instance2008051146实例 material类的instance14实例 area类的instance8实例 design .日期(值为2008-05-11)

统通过客户端可以调用集成平台的服务从而实现基于语义的业务协作。

参考文献(References):

图8 三维设计系统业务协作界面 Fig.8 The interface of business collaboration in

three-dimensional design system

5结束语

本文中的基于语义的业务协作集成方法的步骤是:首先从不同的异构系统数据库中提取出本体文件,并建立领域本体;其次进行相似度计算,建立本体概念之间的映射;通过集成平台为中介,提供各种业务协作服务,这些服务具有基于语义的数据查询、数据发布、数据转换等功能;最后,异构系

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务