一种服务发现和组合装置的制作方法

文档序号:6575447阅读:131来源:国知局
专利名称:一种服务发现和组合装置的制作方法
技术领域
本发明涉及一种服务部署装置,特别是关于一种服务发现和组合装置。
背景技术
目前无论是在企业内部还是外部都有越来越多的服务被部署,在开发基于面 向服务架构的系统时可以充分利用这些服务。如何管理这些服务,包括服务注册、 服务发布、服务组合等成为一个难点问题。UDDI (Universal Description, Discovery and Integration,统一描述、发现和集成协议)以及IBM公司的WSRR (WebSphere Service Registry and R印ository,网络中间j牛服务注册和存储库) 是实现服务库的两个备选方案。
UDDI规范定义了一个注册服务用于Web服务及其他电子和非电子服务的注 册。UDDI注册服务本身也是一个Web服务,可以管理服务提供者、服务消费者、 服务元数据等信息;服务提供者可以用UDDI来发布他们的服务;服务消费者可以 用UDDI来发现所需要的服务并获取使用服务所需要的元数据。尽管最新的3. 0版 本支持S0A,但UDDI存在着搜索准确性低的问题,而且缺少对其它形式的服务组 件的支持,包括EJB、 COM和Java类等。IBM公司的WSRR是一种支持服务库的产 品。WSRR是提供了服务消息描述的一个元数据库,支持服务的搜索和管理,可以 在服务库里面管理服务的元数据,实现服务注册、发布、版本管理、变更管理及 使用监视等功能。
服务管理的一个关键问题是如何准确、高效地搜索到一个用户所需的服务。 UDDI所提供的搜索是基于关键字匹配的,存在语义冲突的问题,不能很好的支持 基于语义的模糊搜索。WSRR支持很多种服务,在服务发现方面也没有通过基于语 义的模糊搜索,因此搜索的准确性也有待提高。

发明内容
针对上述问题,本发明的目的是提供一种用于管理多种类型的服务,可以支 持基于语义化查询条件的模糊搜索的服务发现和组合装置。
为实现上述目的,本发明采取以下技术方案 一种服务发现和组合装置,其 特征在于它包括客户端、服务器和数据库,其中所述客户端包括服务库管理模 块访问接口和语义库管理模块访问接口,所述服务器包括服务库管理模块和语义 库管理模块;所述数据库包括语义库、本体库和服务库,所述语义库用于存储带有语义信息的服务,所述本体库对本体概念进行定义和描述,所述服务库用于存 储不带有语义信息的服务;所述服务库管理模块包括用户管理模块、服务管理模 块,所述语义库管理模块包括服务搜索模块、本体管理模块和语义标注模块;所 述用户管理模块对用户的注册和登录进行管理;所述服务管理模块根据所述服务 库管理模块访问接口输入的信息,在所述服务库中査询目标服务、注册服务、对 服务的注册信息进行修改或删除;所述服务搜索模块接受所述语义库管理模块访 问接口输入的服务査询条件,通过服务发现算法向所述客户端返回满足所述服务 査询条件的服务;当所述服务库中的服务不能满足所述服务査询条件时,所述服 务搜索模块通过服务组合算法结合所述本体管理模块中的本体推理功能,对所述 服务库中的服务进行组合,将服务组合结果返回所述客户端;所述本体管理模块 提取所述语义库中经过语义标注的服务的语义信息,根据所述査询条件产生本体 概念供所述服务搜索模块调用,并维护与更新所述本体库中的现有本体;所述语 义标注模块通过所述本体库中定义的本体概念,对所述服务库中的服务进行语义 标注。
所述服务库管理模块访问接口有网页浏览器和网络服务应用编程接口两种方 式;所述语义库管理模块访问接口有网页浏览器和可扩展开发平台两种方式。 所述服务库管理模块使用关键字匹配的方式在所述服务库中査询目标服务。 所述语义库模块的服务发现和组合算法步骤包括1)在所述数据库中构建映 射表,所述映射表中的每一条映射对应一个语义服务-本体概念的关联关系;2) 在所述本体管理模块中读取本体中的信息,提供本体査询支持;3)査询条件处理, 在所述服务搜索模块中抽取出所述査询条件中的关键字、预期输入和预期输出信 息;若所述预期输入和预期输出均为空,即表示査询条件不合法,转步骤7);否 则继续进入步骤4); 4)迸行服务发现算法,若所述最终服务列表为空,则说明未 搜索到可用的服务,所述服务发现算法失败转步骤7);否则继续进行服务组合算 法,进入步骤5); 5)服务组合算法,如果服务组合结果集为空,说明未找到合理 的服务组合,转步骤7);否则,继续对服务组合结果进行排序;6)组合结果排序,
按照每个服务组合的最后得分对服务组合的结果进行排序,将排序结果返回所述
客户端进行显示;7)异常处理,根据异常的情况,生成对应的失败信息,并返
回给所述客户端显示。
所述步骤4)中所述服务发现算法的步骤包括i)使用所述查询条件,在所
述本体库中查找并返回对应的本体概念,存储于临时存储本体概念的相关概念列
表中;ii)判断所述相关概念列表是否有新增元素,若没有则服务发现算法结束,转入步骤vi);否则继续进行步骤iii); iii)使用所述相关概念列表中新增元素 的统一资源定位符作为键值,査找所述映射表,获得与所述统一资源定位符相关 的服务编号,存储于所述相关服务列表中;iv)判断所述相关概念列表中是否有 新增元素,若没有说明当前已经没有需要搜索的服务,服务发现算法结束,转步 骤vi);否则继续进行步骤V); V)使用所述相关概念列表中新增元素的服务编号 作为键值,査找所述映射表,获得与之相关的本体概念的统一资源定位符,再使 用所述统一资源定位符,在所述本体库中获得相应的本体概念信息,生成本体概 念,存储于所述相关概念列表中,回到所述步骤ii); vi)服务发现算法结束,对
所述相关概念列表中的每一个元素,根据所述映射表中对应的服务编号,从所述 语义库中获得相应的服务细节信息,生成服务,存入用于存储返回结果的最终服 务列表中。
所述步骤5)中的服务组合算法包括如下步骤a)使用所述步骤4)中得到 的所述最终服务列表构造依赖图,用来生成服务组合;所述依赖图中包括服务结 点和数据结点,以及服务结点和数据结点之间的有向边;b)清理所述依赖图中的 无用结点;c)设置所述预期输出为数据集,用于存放所述服务组合状态下需要的 输入数据;d)判断所述依赖图的可用服务中是否存在一个未使用过的服务集合, 能够提供所述数据集中的所有输入数据;若不存在,说明所述服务组合状态不合 理,转步骤e);否则继续步骤f); e)判断是否满足回溯条件,若满足,则进行 回溯继续寻找新的服务组合;否则所述服务组合算法结束,转到步骤k); f)使用 所述新的服务组合所需的输入数据替换所述数据集,并且把所述新的服务组合标 记为己使用;h)判断所述预期输入是否包含所述数据集中的所有数据;若是,则 找到一个合理的服务组合继续步骤g);否则,转到所述步骤d); g)将新的服务 组合加入服务组合结果集;转到所述步骤e)。
所述步骤1)中的所述映射表的每条映射包含一个语义服务和一个本体概念; 每条映射仅记录所述语义库中语义服务的服务编号、所述本体概念的统一资源定 位符和描述所述语义服务和本体概念相关度的附加浮点数值。
所述步骤6)中所述最后得分依据服务组合包含的服务个数、每个服务的相关 度和每个服务的用户评分计算。
本发明由于采取以上技术方案,其具有以下优点1、在本发明的服务发现和 组合装置中,提供一种基于语义的服务库用于管理多种类型的服务,利用本体的 推理能力通过语义化服务,可以支持基于语义的服务搜索和服务组装,可通过语 义化用户的査询条件搜索服务,使得搜索过程不同于以往。2、本系统提供了多种形式的客户端,以适应于不同的使用环境。此外,本系统划分了具有不同功能的 服务库管理模块与语义库管理模块,两个模块之间通过接口来通信,具有松耦合 的特性。本发明的装置和算法可广泛用于某特定领域内(比如制造业)的企业内
部或企业之间,可以帮助企业管理发布的服务信息,但是又不同于UDDI方案,本 发明提供了服务组合的实现,使得用户可以高效地、快速地进行信息系统集成的 开发工作。


图1是本发明的装置结构示意图
图2是本发明的服务库模块结构示意图
图3是本发明的语义库模块结构示意图
图4是本发明的本发明的服务发现和组合算法流程示意图
图5是本发明的映射表结构示意图
图6是本发明的服务发现算法流程示意图
图7是本发明的服务组合算法流程示意图
具体实施例方式
下面结合附图和实施例对本发明进行详细的描述。
本发明的服务发现和组合装置利用本体所具有的推理能力,结合具体的服务 发现与组合算法,从而实现服务发现与组合的搜索过程。
如图1所示,本发明的服务发现和组合装置包括客户端1、服务器2和数据库 3,其中客户端1包括服务库管理模块访问接口 11和语义库管理模块访问接口 12, 服务器2包括服务库管理模块21和语义库管理模块22。其中,服务库管理模块访 问接口 11有Web browser (网络浏览器)禾B Web services API (Web services Application Programming Interface, Web服务应用编程接口)两种方式;语义 库管理模块访问接口 12有Web browser和Eclipse插件两种方式,Eclipse插件 是一个开放源代码的基于Java的可扩展开发平台。服务库管理模块访问接口 11 与服务库管理模块21进行信息交换,Web browser方式是开发人员用来手动搜寻 服务的窗口;而Web services API方式,对允许开发人员以编程的方式来访问服 务库管理模块21提供的功能。语义库管理访问接口 12与语义库管理模块22进行 信息交换,Web browser方式同样是服务于开发人员访问语义库管理模块22提供 的功能;而Eclipse插件方式则是另一种形式的功能提供方式,基于Eclipse插 件这个开源的平台,使本发明的装置可扩展性更强。服务器2中的服务库管理模 块21是用于对普通服务的管理,即那些不带有语义信息的服务,服务库管理模块21还是利用关键字匹配的方式来进行服务査询。语义库管理模块22,用于对语义 标注的服务进行搜索与组合,基于本体的支持,通过服务发现算法与组合算法, 从而实现服务的发现与组合,提高了发明装置的査全率、査准率;本发明的装置 中,本体是对某一个特定领域的建模,如制造业领域。
数据库3用于发布和存储服务信息以及本体文件,即数据库3包括语义库31、 本体库32和服务库33。其中,语义库31用于存储带有语义信息的服务,存储介 质是数据库软件;服务库33用于存储不带有语义信息的服务,存储介质也是数据 库软件;本体库32是本体文件的集合,如对制造业领域的本体概念进行定义和描 述,本体库32存储在磁盘上。
服务器2包括服务库管理模块21和语义库管理模块22, 二者相辅相成。服务 库管理模块21是服务的一个注册中心,服务提供者可以把自己的服务描述信息注 册到服务库33,服务库33会对外发布这些不含语义的服务,同时还支持对服务的 增、删、改、査等操作。语义库管理模块22从服务库33中获取服务描述信息, 利用工具Prot6g6 (—种本体编辑器和知识査询系统)对服务信息进行语义标注, 并存储到语义库31中。拥有了语义标注后的服务,再结合本体的推理能力,就可 以为用户提供功能强大的服务发现与组合能力。语义库管理模块22最核心的功能 就是对外提供服务发现与组合接口 。
如图2所示,服务库管理模块21包括用户管理模块211、服务管理模块212、 管理员平台213三个部分。用户管理模块211的主要功能包括用户注册和用户登 录、登出。其中用户包括服务使用者、服务发布者和管理员,其中服务使用者可 以通过关键字匹配的方式在服务库33中査询目标服务;服务发布者可以在服务库 33中注册新服务、査询目标服务、对自己发布的服务进行修改或删除;管理员负 责对服务库33进行维护、管理用户信息和服务信息。
服务管理模块212的主要功能包括服务注册功能、服务査询功能、服务修 改功能和服务删除功能。其中服务注册功能的注册信息包括服务的名称、版本信 息、描述等服务属性信息和服务描述文档;服务注册功能提供了通过Web browser 和Web services API这两种访问方式。服务査询功能提供了基于关键字匹配的服 务査询功能,可以查找到服务库33中相关服务的物理文档以及逻辑文档。服务修 改功能可允许服务发布者对已保存的注册信息的更改,以实现注册信息的准确性 和版本升级。服务删除功能是对已废弃的服务的注册信息予以删除,以保证服务 信息的可用性与准确性。管理员平台213的功能主要包括1)服务分类管理, 即可以添加或删除服务分类目录的信息。2)用户信息管理,即对注册用户的功能权限进行管理。
如图3所示,语义库管理模块22主要由服务搜索模块221、本体管理模块222 和语义标注模块223构成。语义库管理模块22提供对语义化服务的发现与组合功 能,不同于服务库管理模块21的服务发现功能。服务搜索模块221用于实现核心 算法,即服务发现与组合的功能实现,它包括服务发现、服务组合和本体代理三 个部分。服务发现部分是服务搜索模块221的第一个步骤,用于接受来自于客户 端1的服务査询条件信息。服务査询条件信息作为输入参数,利用的服务发现算 法,结合本体代理部分提供的功能,可以返回满足用户需求的服务。服务组合部 分基于服务发现部分,其需求也来自于客户端l的服务査询条件,当服务库33中 已有的服务不能满足用户的需求时,就需要利用服务组合部分对服务库33中现有 服务进行组合,从而满足用户的需求;服务组合部分通过实现服务组合算法,利 用服务搜索模块221提供的服务搜索结果,可以把多个服务进行组合,并作为一 个服务组合结果返回给客户端1。本体代理部分是服务搜索模块221的基础模块, 调用本体管理模块222中的本体推理功能。
语义库管理模块22的服务发现功能不同于服务库管理模块21的服务査询功 能服务査询功能是基于关键字匹配的,不涉及语义推理功能,而服务发现功能 属于本发明核心算法的一部分,基本用于处理当服务库管理模块21无法找到满足 用户需求的单一服务,其返回结果为空或者返回结果中包含的服务无法直接被用 户使用,需要通过服务组合部分进行组合后才能作为返回结果。在查询的结果上, 本部分的査询结果要更丰富、更精确。
本体管理模块222用于对本体的管理,包括本体信息提取、本体推理和本体 库维护三个部分。本体信息提取部分用于提取本体库32中经过语义标注的注册服 务的语义信息,语义标注是指对服务库33中的服务进行处理的过程。具体来说, 就是用本体库32中定义的本体概念来标注服务中的一些信息项。本发明的实施例 中,利用卡耐基梅隆大学提供的API (Application Programming Interface,应 用程序编程接口)来操作。本体推理部分提供本体推理功能,为服务搜索模块221 服务,被本体代理部分调用;本体推理部分的推理结果是根据用户的查询条件, 利用本体的推理能力,对用户的输入信息进行丰富,产生的本体概念。本体库维 护部分维护与更新本体库32中的现有本体。语义标注模块223用于对已有服务进 行语义标注,即通过本体库32,对服务库33中的未进行标注的服务进行语义标注。
如图4所示,本发明装置中语义库模块22的服务发现部分中服务发现算法, 以及服务组合部分中服务组合算法步骤如下1) 在数据库3中构建映射表,根据语义库31中的经过语义标注后的注册服 务的语义信息,构建出语义服务和本体概念之间的映射关系,存入数据库3中的 映射表。映射表是用于服务发现算法的一个数据结构,其中的每一条映射对应一 个语义服务-本体概念的关联关系,其中的本体概念是从语义服务的语义信息中提 取得到。由于语义信息是使用本体库32中的本体概念对服务进行语义标注得到的, 因此本体概念也存在于本体库32内。
如图5所示,本发明的映射表包括如下特征每条映射包含一个语义服务和
一个本体概念,本体概念出现在注册服务的语义信息中;每条映射仅记录语义服
务的唯一标识即服务编号,以及本体概念的唯一标识即本体概念的URL (Uniform Resource Locator,统一资源定位符),以减少存储空间,其中不包含语义服务和 本体概念的细节信息;每条映射还包含一个附加浮点数值,描述该语义服务和本 体概念的相关度;映射表包括两个索引, 一个以服务编号为键值,另一个以本体 概念的URL为键值,在査找服务库33时可以使用任何一个索引进行査找;构建好 的映射表存入数据库3中,映射表是持久化和可重用的,进行新査询时不需要重 新构建,但是会随着语义库的更新而更新。
2) 在本体管理模块222中加载本体库32,通过后台常驻程序读取本体中的信 息,为算法提供本体查询支持。
3) 査询条件处理,在服务搜索模块221中对客户端1输入的査询条件进行处 理,抽取出査询条件中的关键字、预期输入和预期输出信息。关键字是用户对预 期得到服务的文字性描述,可以为空;预期输入是用户能够提供给预期得到服务 的输入参数,实现服务管理模块212中的服务注册功能需要若干输入参数才能实 现,因此不能为空;预期输出是用户希望预期得到服务的返回值,因此不能为空。 若预期输入和预期输出均为空,即表示査询条件不合法,转步骤7);否则继续进 行服务发现,进入步骤4)。
4) 服务发现,根据步骤3)抽取的查询条件,利用数据库3中的映射表从语 义库31中搜索到与査询条件相关的服务。如图6所示,服务发现算法包括以下步 骤
i) 使用步骤3)中抽取的査询条件,通过本体代理在本体库32中査找并返回 对应本体概念,存储于临时存储本体概念的RTL (Related Terms List,相关概念 列表)中。
ii) 判断RTL是否有新增元素,若没有则说明当前已经没有需要搜索的相关 本体概念,服务发现算法结束,转步骤vi);否则继续进行步骤iii)。iii) 使用RTL中新增元素的URL作为键值,查找映射表,获得与该URL相关 的服务编号,存储于临时存储语义服务的RSL(Related Services List,相关服务 列表)中。
iv) 判断RSL中是否有新增元素,若没有说明当前已经没有需要搜索的相关 服务,服务发现算法结束,转步骤vi);否则继续进行步骤v)。
v) 使用RSL中新增元素的服务编号作为键值,査找映射表,获得与之相关的 本体概念URL,再使用这些URL,在本体库32中获得相应的本体概念信息,生成 本体概念,存储于RTL中,回到步骤ii)。
vi) 服务发现算法结束,对RSL中的每一个元素,根据映射表中对应的服务 编号,从语义库31中获得相应的服务细节信息,生成服务,存入用于存储返回结 果的FSL(Final Services List,最终服务列表)中。若FSL为空,说明未搜索到 可用的服务,算法失败,转步骤7);否则继续进行服务组合,进入步骤5)。
5)服务组合,根据查询条件中的预期输入和预期输出,使用步骤4)中得到 的可用服务进行服务组合,找出合理的组合方案。如图7所示,服务组合算法包 括如下步骤
a) 使用步骤4)中得到的FSL构造依赖图,用来生成当前服务组合。依赖图 中包括服务结点和数据结点,以及服务结点和数据结点之间的有向边。 一个服务 结点连接到一个数据结点表示该服务提供该数据作为输出,同样, 一个数据结点 连接到一个服务结点表示该服务需要该数据作为输入。
b) 清理依赖图中的无用结点。无用结点包括不可达结点和对预期输出没有贡 献的结点。可达(Firable)指某服务所需要的所有输入数据都能由査询条件中的 预期输入或其他服务的输出获得,该服务可以执行;不可达(Unfirable)指某服 务的部分输入无法获得,导致服务不可执行;对预期输出没有贡献的结点指不存 在由该服务结点出发,到达预期输出的通路,这类结点不会为产生预期输出做出 贡献。以上无用结点不可能出现在最终的组合结果中,需要在服务组合前进行清 理以降低开销。
c) 设置预期输出为当前数据集。当前数据集存放当前服务组合状态下需要的 输入数据。
d) 判断可用服务中是否存在一个未使用过的服务集合,能够提供当前数据集 中的所有输入数据。若不存在,说明当前服务组合状态不合理,转步骤e);否则 继续步骤f)。
e) 判断是否满足回溯条件。若满足,则进行回溯继续寻找新的服务组合;否则服务组合算法结束,转到步骤k)。
f) 使用新的服务组合所需的输入数据替换当前数据集,并且把新的服务组合 标记为已使用。
h)判断预期输入是否包含当前数据集中的所有数据。若是,则找到一个合理 的服务组合,继续步骤g);否则,转到步骤d)。
g) 将当前的服务组合状态加入服务组合结果集。转步骤e)。
k)服务组合算法结束。如果服务组合结果集为空,说明未找到合理的服务组
合方案,转步骤7);否则,继续对服务组合结果进行排序。
6) 服务组合结果排序,计算出每个服务组合的最后得分,按照最后得分对服 务组合的结果进行排序,将排序结果返回给客户端1进行显示。最后得分的计算 依据包括服务组合包含的服务个数、每个服务的相关度和每个服务的用户评分。
7) 异常处理,根据异常的情况,生成对应的失败信息,并返回给客户端l显示。
现以一个己有的电子商务购物平台为例,说明本发明的基于本体的服务发现
和组合装置。本实施例中提到的服务是经过语义标注后,语义库31中的服务,因 此其输入输出为本体库32中的本体概念。上述电子商务购物平台中,包括有销售 部门服务器B1,其包括服务选购商品服务、生成订单服务和审核订单服务;库 存管理部门服务器B2,其包括服务生成出库单服务。
选购商品服务需要提供商品编号、选购数量作为输入、输出所选商品信息, 商品信息包括编号,库存量,选购数量等。生成订单服务需要所选商品信息以及 顾客信息作为输入,输出所选商品的一个订单,顾客信息包括编号,姓名,地址 等。审核订单服务需要所选商品的一个订单作为输入,输出审核完成的订单。生 成出库单服务需要审核完成的订单作为输入,输出商品的出库单。
现某客户需要该电子商务购物平台提供采购相关的业务,客户希望提供商品 编号,选购数量,顾客信息作为输入,最后得到商品的出库单这个输出。但是, 在销售部门服务器Bl和库存管理部门服务器B2上存在的服务都无法单独满足客 户要求的业务。客户应当在销售部门服务器B1上选择选购商品服务、生成订单服 务、审核订单服务这三个服务后,再在库存管理部门服务器B2上选择生成出库单 服务,加以组合以生成自己所需要的业务。
使用本发明的服务发现和组合装置,客户不必知道各个服务器上存在的服务 具体信息,只需要提供所需业务的输入和输出条件,通过本发明的装置在服务器 上进行服务的发现和组合工作,最终就可以得到需要的服务组合。客户在客户端l输入査询条件
Query= {Inputs:商品编号,选购数量,顾客信息;Outputs:商品的出库单} 经过本发明的服务发现算法,依次从销售部门服务器B1上搜索到选购商品服 务、生成订单服务、审核订单服务这三个服务,又从库存管理部门服务器B2上搜 索到生成出库单服务。之后经过本发明的服务组合算法,得到选购商品服务-〉生 成订单服务-〉审核订单服务-〉生成出库单服务的服务组合,返回给客户,即可满
足客户的需要。
权利要求
1、一种服务发现和组合装置,其特征在于它包括客户端、服务器和数据库,其中所述客户端包括服务库管理模块访问接口和语义库管理模块访问接口,所述服务器包括服务库管理模块和语义库管理模块;所述数据库包括语义库、本体库和服务库,所述语义库用于存储带有语义信息的服务,所述本体库对本体概念进行定义和描述,所述服务库用于存储不带有语义信息的服务;所述服务库管理模块包括用户管理模块、服务管理模块,所述语义库管理模块包括服务搜索模块、本体管理模块和语义标注模块;所述用户管理模块对用户的注册和登录进行管理;所述服务管理模块根据所述服务库管理模块访问接口输入的信息,在所述服务库中查询目标服务、注册服务、对服务的注册信息进行修改或删除;所述服务搜索模块接受所述语义库管理模块访问接口输入的服务查询条件,通过服务发现算法向所述客户端返回满足所述服务查询条件的服务;当所述服务库中的服务不能满足所述服务查询条件时,所述服务搜索模块通过服务组合算法结合所述本体管理模块中的本体推理功能,对所述服务库中的服务进行组合,将服务组合结果返回所述客户端;所述本体管理模块提取所述语义库中经过语义标注的服务的语义信息,根据所述查询条件产生本体概念供所述服务搜索模块调用,并维护与更新所述本体库中的现有本体;所述语义标注模块通过所述本体库中定义的本体概念,对所述服务库中的服务进行语义标注。
2、 如权利要求l所述的一种服务发现和组合装置,其特征在于所述服务库 管理模块访问接口有网页浏览器和网络服务应用编程接口两种方式;所述语义库 管理模块访问接口有网页浏览器和可扩展开发平台两种方式。
3、 如权利要求1所述的一种服务发现和组合装置,其特征在于所述服务库 管理模块使用关键字匹配的方式在所述服务库中査询目标服务。
4、 如权利要求1所述的一种服务发现和组合装置,其特征在于所述语义库 模块的服务发现和组合算法步骤包括1) 在所述数据库中构建映射表,所述映射表中的每一条映射对应一个语义服 务-本体概念的关联关系;2) 在所述本体管理模块中读取本体中的信息,提供本体査询支持;3) 査询条件处理,在所述服务搜索模块中抽取出所述査询条件中的关键字、 预期输入和预期输出信息;若所述预期输入和预期输出均为空,即表示査询条件不合法,转步骤7);否则继续进入步骤4);4) 进行服务发现算法,若所述最终服务列表为空,则说明未搜索到可用的服 务,所述服务发现算法失败转步骤7);否则继续进行服务组合算法,进入步骤5);5) 服务组合算法,如果服务组合结果集为空,说明未找到合理的服务组合, 转步骤7);否则,继续对服务组合结果进行排序;6) 组合结果排序,按照每个服务组合的最后得分对服务组合的结果进行排序,将排序结果返回所述客户端进行显示;7) 异常处理,根据异常的情况,生成对应的失败信息,并返回给所述客户端显示。
5、 如权利要求1或2或3或4所述的一种服务发现和组合装置,其特征在于所述步骤4)中所述服务发现算法的步骤包括i) 使用所述查询条件,在所述本体库中查找并返回对应的本体概念,存储于临时存储本体概念的相关概念列表中;ii) 判断所述相关概念列表是否有新增元素,若没有则服务发现算法结束,转入步骤vi);否则继续进行步骤iii);iii) 使用所述相关概念列表中新增元素的统一资源定位符作为键值,査找所 述映射表,获得与所述统一资源定位符相关的服务编号,存储于所述相关服务列表中;iv) 判断所述相关概念列表中是否有新增元素,若没有说明当前已经没有需要搜索的服务,服务发现算法结束,转步骤vi);否则继续进行步骤v);v) 使用所述相关概念列表中新增元素的服务编号作为键值,查找所述映射表, 获得与之相关的本体概念的统一资源定位符,再使用所述统一资源定位符,在所 述本体库中获得相应的本体概念信息,生成本体概念,存储于所述相关概念列表中,回到所述步骤ii);vi) 服务发现算法结束,对所述相关概念列表中的每一个元素,根据所述映 射表中对应的服务编号,从所述语义库中获得相应的服务细节信息,生成服务, 存入用于存储返回结果的最终服务列表中。
6、 如权利要求1或2或3或4所述的一种服务发现和组合装置,其特征在于: 所述步骤5)中的服务组合算法包括如下步骤a)使用所述步骤4)中得到的所述最终服务列表构造依赖图,用来生成服务 组合;所述依赖图中包括服务结点和数据结点,以及服务结点和数据结点之间的 有向边;b) 清理所述依赖图中的无用结点;c) 设置所述预期输出为数据集,用于存放所述服务组合状态下需要的输入数据;d) 判断所述依赖图的可用服务中是否存在一个未使用过的服务集合,能够提 供所述数据集中的所有输入数据;若不存在,说明所述服务组合状态不合理,转 步骤e);否则继续步骤f);e) 判断是否满足回溯条件,若满足,则进行回溯继续寻找新的服务组合;否 则所述服务组合算法结束,转到步骤k);f) 使用所述新的服务组合所需的输入数据替换所述数据集,并且把所述新的 服务组合标记为已使用;h)判断所述预期输入是否包含所述数据集中的所有数据;若是,则找到一个 合理的服务组合继续步骤g);否则,转到所述步骤d);g) 将新的服务组合加入服务组合结果集;转到所述步骤e)。
7、 如权利要求5所述的一种服务发现和组合装置,其特征在于所述步骤5) 中的服务组合算法包括如下步骤a) 使用所述步骤4)中得到的所述最终服务列表构造依赖图,用来生成服务 组合;所述依赖图中包括服务结点和数据结点,以及服务结点和数据结点之间的 有向边;b) 清理所述依赖图中的无用结点;c) 设置所述预期输出为数据集,用于存放所述服务组合状态下需要的输入数据;d) 判断所述依赖图的可用服务中是否存在一个未使用过的服务集合,能够提 供所述数据集中的所有输入数据;若不存在,说明所述服务组合状态不合理,转 步骤e);否则继续步骤f);e) 判断是否满足回溯条件,若满足,则进行回溯继续寻找新的服务组合;否 则所述服务组合算法结束,转到步骤k);f) 使用所述新的服务组合所需的输入数据替换所述数据集,并且把所述新的 服务组合标记为已使用;h) 判断所述预期输入是否包含所述数据集中的所有数据;若是,则找到一个 合理的服务组合继续步骤g);否则,转到所述步骤d);g) 将新的服务组合加入服务组合结果集;转到所述步骤e)。
8、 如权利要求1或2或3或4或7所述的一种服务发现和组合装置,其特征在于所述步骤l)中的所述映射表的每条映射包含一个语义服务和一个本体概念;每条映射仅记录所述语义库中语义服务的服务编号、所述本体概念的统一资源定 位符和描述所述语义服务和本体概念相关度的附加浮点数值。
9、 如权利要求5所述的一种服务发现和组合装置,其特征在于所述步骤l) 中的所述映射表的每条映射包含一个语义服务和一个本体概念;每条映射仅记录 所述语义库中语义服务的服务编号、所述本体概念的统一资源定位符和描述所述 语义服务和本体概念相关度的附加浮点数值。
10、 如权利要求6所述的一种服务发现和组合装置,其特征在于所述步骤1) 中的所述映射表的每条映射包含一个语义服务和一个本体概念;每条映射仅记录 所述语义库中语义服务的服务编号、所述本体概念的统一资源定位符和描述所述 语义服务和本体概念相关度的附加浮点数值。
11、 如权利要求l或2或3或4或7或9或10所述的一种服务发现和组合装 置,其特征在于所述步骤6)中所述最后得分依据服务组合包含的服务个数、每 个服务的相关度和每个服务的用户评分计算。
12、 如权利要求5所述的一种服务发现和组合装置,其特征在于所述步骤6) 中所述最后得分依据服务组合包含的服务个数、每个服务的相关度和每个服务的 用户评分计算。
13、 如权利要求6所述的一种服务发现和组合装置,其特征在于所述步骤6) 中所述最后得分依据服务组合包含的服务个数、每个服务的相关度和每个服务的 用户评分计算。
14、 如权利要求8所述的一种服务发现和组合装置,其特征在于所述步骤6) 中所述最后得分依据服务组合包含的服务个数、每个服务的相关度和每个服务的 用户评分计算。
全文摘要
本发明涉及一种服务发现和组合装置,其特征在于它包括客户端、服务器和数据库,其中客户端包括服务库管理模块访问接口和语义库管理模块访问接口,服务器包括服务库管理模块和语义库管理模块;数据库包括语义库、本体库和服务库,语义库用于存储带有语义信息的服务,本体库对本体概念进行定义和描述,服务库用于存储不带有语义信息的服务;服务库管理模块包括用户管理模块、服务管理模块,语义库管理模块包括服务搜索模块、本体管理模块和语义标注模块;本发明的装置和算法可广泛用于某特定领域内的企业内部或企业之间,可以帮助企业管理发布的服务信息,但是又不同于UDDI方案,本发明提供了服务组合的实现,使得用户可以高效地、快速地进行信息系统集成的开发工作。
文档编号G06F17/30GK101634994SQ200910091698
公开日2010年1月27日 申请日期2009年8月28日 优先权日2009年8月28日
发明者李伟平, 褚伟杰 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1