CN101634994A - 一种服务发现和组合装置 - Google Patents
一种服务发现和组合装置 Download PDFInfo
- Publication number
- CN101634994A CN101634994A CN200910091698A CN200910091698A CN101634994A CN 101634994 A CN101634994 A CN 101634994A CN 200910091698 A CN200910091698 A CN 200910091698A CN 200910091698 A CN200910091698 A CN 200910091698A CN 101634994 A CN101634994 A CN 101634994A
- Authority
- CN
- China
- Prior art keywords
- service
- semantic
- library
- services combination
- management module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种服务发现和组合装置,其特征在于:它包括客户端、服务器和数据库,其中客户端包括服务库管理模块访问接口和语义库管理模块访问接口,服务器包括服务库管理模块和语义库管理模块;数据库包括语义库、本体库和服务库,语义库用于存储带有语义信息的服务,本体库对本体概念进行定义和描述,服务库用于存储不带有语义信息的服务;服务库管理模块包括用户管理模块、服务管理模块,语义库管理模块包括服务搜索模块、本体管理模块和语义标注模块;本发明的装置和算法可广泛用于某特定领域内的企业内部或企业之间,可以帮助企业管理发布的服务信息,但是又不同于UDDI方案,本发明提供了服务组合的实现,使得用户可以高效地、快速地进行信息系统集成的开发工作。
Description
技术领域
本发明涉及一种服务部署装置,特别是关于一种服务发现和组合装置。
背景技术
目前无论是在企业内部还是外部都有越来越多的服务被部署,在开发基于面向服务架构的系统时可以充分利用这些服务。如何管理这些服务,包括服务注册、服务发布、服务组合等成为一个难点问题。UDDI(Universal Description,Discovery and Integration,统一描述、发现和集成协议)以及IBM公司的WSRR(WebSphere Service Registry and Repository,网络中间件服务注册和存储库)是实现服务库的两个备选方案。
UDDI规范定义了一个注册服务用于Web服务及其他电子和非电子服务的注册。UDDI注册服务本身也是一个Web服务,可以管理服务提供者、服务消费者、服务元数据等信息;服务提供者可以用UDDI来发布他们的服务;服务消费者可以用UDDI来发现所需要的服务并获取使用服务所需要的元数据。尽管最新的3.0版本支持SOA,但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(网络浏览器)和Web services API(Web servicesApplication 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中获取服务描述信息,利用工具Protégé(一种本体编辑器和知识查询系统)对服务信息进行语义标注,并存储到语义库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的服务查询条件信息。服务查询条件信息作为输入参数,利用的服务发现算法,结合本体代理部分提供的功能,可以返回满足用户需求的服务。服务组合部分基于服务发现部分,其需求也来自于客户端1的服务查询条件,当服务库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(UniformResource 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)异常处理,根据异常的情况,生成对应的失败信息,并返回给客户端1显示。
现以一个已有的电子商务购物平台为例,说明本发明的基于本体的服务发现和组合装置。本实施例中提到的服务是经过语义标注后,语义库31中的服务,因此其输入输出为本体库32中的本体概念。上述电子商务购物平台中,包括有销售部门服务器B1,其包括服务:选购商品服务、生成订单服务和审核订单服务;库存管理部门服务器B2,其包括服务:生成出库单服务。
选购商品服务需要提供商品编号、选购数量作为输入、输出所选商品信息,商品信息包括编号,库存量,选购数量等。生成订单服务需要所选商品信息以及顾客信息作为输入,输出所选商品的一个订单,顾客信息包括编号,姓名,地址等。审核订单服务需要所选商品的一个订单作为输入,输出审核完成的订单。生成出库单服务需要审核完成的订单作为输入,输出商品的出库单。
现某客户需要该电子商务购物平台提供采购相关的业务,客户希望提供商品编号,选购数量,顾客信息作为输入,最后得到商品的出库单这个输出。但是,在销售部门服务器B1和库存管理部门服务器B2上存在的服务都无法单独满足客户要求的业务。客户应当在销售部门服务器B1上选择选购商品服务、生成订单服务、审核订单服务这三个服务后,再在库存管理部门服务器B2上选择生成出库单服务,加以组合以生成自己所需要的业务。
使用本发明的服务发现和组合装置,客户不必知道各个服务器上存在的服务具体信息,只需要提供所需业务的输入和输出条件,通过本发明的装置在服务器上进行服务的发现和组合工作,最终就可以得到需要的服务组合。客户在客户端1输入查询条件:
Query={Inputs:商品编号,选购数量,顾客信息;Outputs:商品的出库单}
经过本发明的服务发现算法,依次从销售部门服务器B1上搜索到选购商品服务、生成订单服务、审核订单服务这三个服务,又从库存管理部门服务器B2上搜索到生成出库单服务。之后经过本发明的服务组合算法,得到选购商品服务->生成订单服务->审核订单服务->生成出库单服务的服务组合,返回给客户,即可满足客户的需要。
Claims (14)
1、一种服务发现和组合装置,其特征在于:它包括客户端、服务器和数据库,其中所述客户端包括服务库管理模块访问接口和语义库管理模块访问接口,所述服务器包括服务库管理模块和语义库管理模块;所述数据库包括语义库、本体库和服务库,所述语义库用于存储带有语义信息的服务,所述本体库对本体概念进行定义和描述,所述服务库用于存储不带有语义信息的服务;所述服务库管理模块包括用户管理模块、服务管理模块,所述语义库管理模块包括服务搜索模块、本体管理模块和语义标注模块;
所述用户管理模块对用户的注册和登录进行管理;所述服务管理模块根据所述服务库管理模块访问接口输入的信息,在所述服务库中查询目标服务、注册服务、对服务的注册信息进行修改或删除;所述服务搜索模块接受所述语义库管理模块访问接口输入的服务查询条件,通过服务发现算法向所述客户端返回满足所述服务查询条件的服务;当所述服务库中的服务不能满足所述服务查询条件时,所述服务搜索模块通过服务组合算法结合所述本体管理模块中的本体推理功能,对所述服务库中的服务进行组合,将服务组合结果返回所述客户端;所述本体管理模块提取所述语义库中经过语义标注的服务的语义信息,根据所述查询条件产生本体概念供所述服务搜索模块调用,并维护与更新所述本体库中的现有本体;所述语义标注模块通过所述本体库中定义的本体概念,对所述服务库中的服务进行语义标注。
2、如权利要求1所述的一种服务发现和组合装置,其特征在于:所述服务库管理模块访问接口有网页浏览器和网络服务应用编程接口两种方式;所述语义库管理模块访问接口有网页浏览器和可扩展开发平台两种方式。
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所述的一种服务发现和组合装置,其特征在于:所述步骤1)中的所述映射表的每条映射包含一个语义服务和一个本体概念;每条映射仅记录所述语义库中语义服务的服务编号、所述本体概念的统一资源定位符和描述所述语义服务和本体概念相关度的附加浮点数值。
9、如权利要求5所述的一种服务发现和组合装置,其特征在于:所述步骤1)中的所述映射表的每条映射包含一个语义服务和一个本体概念;每条映射仅记录所述语义库中语义服务的服务编号、所述本体概念的统一资源定位符和描述所述语义服务和本体概念相关度的附加浮点数值。
10、如权利要求6所述的一种服务发现和组合装置,其特征在于:所述步骤1)中的所述映射表的每条映射包含一个语义服务和一个本体概念;每条映射仅记录所述语义库中语义服务的服务编号、所述本体概念的统一资源定位符和描述所述语义服务和本体概念相关度的附加浮点数值。
11、如权利要求1或2或3或4或7或9或10所述的一种服务发现和组合装置,其特征在于:所述步骤6)中所述最后得分依据服务组合包含的服务个数、每个服务的相关度和每个服务的用户评分计算。
12、如权利要求5所述的一种服务发现和组合装置,其特征在于:所述步骤6)中所述最后得分依据服务组合包含的服务个数、每个服务的相关度和每个服务的用户评分计算。
13、如权利要求6所述的一种服务发现和组合装置,其特征在于:所述步骤6)中所述最后得分依据服务组合包含的服务个数、每个服务的相关度和每个服务的用户评分计算。
14、如权利要求8所述的一种服务发现和组合装置,其特征在于:所述步骤6)中所述最后得分依据服务组合包含的服务个数、每个服务的相关度和每个服务的用户评分计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910091698.1A CN101634994B (zh) | 2009-08-28 | 2009-08-28 | 一种服务发现和组合装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910091698.1A CN101634994B (zh) | 2009-08-28 | 2009-08-28 | 一种服务发现和组合装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101634994A true CN101634994A (zh) | 2010-01-27 |
CN101634994B CN101634994B (zh) | 2011-10-05 |
Family
ID=41594184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910091698.1A Expired - Fee Related CN101634994B (zh) | 2009-08-28 | 2009-08-28 | 一种服务发现和组合装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101634994B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853164A (zh) * | 2010-06-01 | 2010-10-06 | 上海动量软件技术有限公司 | 计算机软件系统云计算接口注册和调度的平台系统及方法 |
CN102339428A (zh) * | 2011-10-28 | 2012-02-01 | 合肥工业大学 | 一种基于本体的大型装备mro知识构建方法 |
CN102402599A (zh) * | 2011-11-17 | 2012-04-04 | 天津大学 | 大规模语义知识库的动态维护系统 |
CN101894171B (zh) * | 2010-02-05 | 2013-11-06 | 刘剑 | 一种精确信息服务系统和方法 |
TWI512596B (zh) * | 2014-04-03 | 2015-12-11 | ||
CN105338029A (zh) * | 2014-08-01 | 2016-02-17 | 青岛海尔智能家电科技有限公司 | 一种资源发现方法和装置 |
CN107483622A (zh) * | 2017-09-06 | 2017-12-15 | 广州供电局有限公司 | 基于组件的浏览器操作行为数据采集方法 |
CN107769974A (zh) * | 2017-10-30 | 2018-03-06 | 山东浪潮通软信息科技有限公司 | 一种服务发布方法及装置 |
CN108229779A (zh) * | 2016-12-21 | 2018-06-29 | 中国科学院沈阳自动化研究所 | 一种面向产线的智能动态服务组合方法和系统 |
CN108256051A (zh) * | 2018-01-15 | 2018-07-06 | 中企动力科技股份有限公司 | 网站产品生成方法及装置 |
CN109787858A (zh) * | 2018-12-29 | 2019-05-21 | 福建天泉教育科技有限公司 | 一种批量发布服务的方法及终端 |
CN109783140A (zh) * | 2018-12-27 | 2019-05-21 | 远光软件股份有限公司 | 一种统推集成接口差异化的共存处理方法及系统 |
CN111988398A (zh) * | 2020-08-19 | 2020-11-24 | 政采云有限公司 | 一种数据获取方法、api网关、介质 |
CN114500636A (zh) * | 2022-01-19 | 2022-05-13 | 中国科学院软件研究所 | 一种基于图的科技资源服务发现方法及装置 |
-
2009
- 2009-08-28 CN CN200910091698.1A patent/CN101634994B/zh not_active Expired - Fee Related
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894171B (zh) * | 2010-02-05 | 2013-11-06 | 刘剑 | 一种精确信息服务系统和方法 |
CN101853164A (zh) * | 2010-06-01 | 2010-10-06 | 上海动量软件技术有限公司 | 计算机软件系统云计算接口注册和调度的平台系统及方法 |
CN102339428A (zh) * | 2011-10-28 | 2012-02-01 | 合肥工业大学 | 一种基于本体的大型装备mro知识构建方法 |
CN102402599A (zh) * | 2011-11-17 | 2012-04-04 | 天津大学 | 大规模语义知识库的动态维护系统 |
CN102402599B (zh) * | 2011-11-17 | 2013-05-15 | 天津大学 | 大规模语义知识库的动态维护系统 |
TWI512596B (zh) * | 2014-04-03 | 2015-12-11 | ||
CN105338029B (zh) * | 2014-08-01 | 2018-11-27 | 青岛海尔智能家电科技有限公司 | 一种资源发现方法和装置 |
CN105338029A (zh) * | 2014-08-01 | 2016-02-17 | 青岛海尔智能家电科技有限公司 | 一种资源发现方法和装置 |
CN108229779A (zh) * | 2016-12-21 | 2018-06-29 | 中国科学院沈阳自动化研究所 | 一种面向产线的智能动态服务组合方法和系统 |
CN108229779B (zh) * | 2016-12-21 | 2022-03-08 | 中国科学院沈阳自动化研究所 | 一种面向产线的智能动态服务组合方法和系统 |
CN107483622A (zh) * | 2017-09-06 | 2017-12-15 | 广州供电局有限公司 | 基于组件的浏览器操作行为数据采集方法 |
CN107769974A (zh) * | 2017-10-30 | 2018-03-06 | 山东浪潮通软信息科技有限公司 | 一种服务发布方法及装置 |
CN107769974B (zh) * | 2017-10-30 | 2020-08-21 | 浪潮通用软件有限公司 | 一种服务发布方法及装置 |
CN108256051A (zh) * | 2018-01-15 | 2018-07-06 | 中企动力科技股份有限公司 | 网站产品生成方法及装置 |
CN109783140A (zh) * | 2018-12-27 | 2019-05-21 | 远光软件股份有限公司 | 一种统推集成接口差异化的共存处理方法及系统 |
CN109787858A (zh) * | 2018-12-29 | 2019-05-21 | 福建天泉教育科技有限公司 | 一种批量发布服务的方法及终端 |
CN111988398A (zh) * | 2020-08-19 | 2020-11-24 | 政采云有限公司 | 一种数据获取方法、api网关、介质 |
CN114500636A (zh) * | 2022-01-19 | 2022-05-13 | 中国科学院软件研究所 | 一种基于图的科技资源服务发现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101634994B (zh) | 2011-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101634994B (zh) | 一种服务发现和组合装置 | |
US8249885B2 (en) | Knowledge-based e-catalog procurement system and method | |
US6263341B1 (en) | Information repository system and method including data objects and a relationship object | |
CN101685444B (zh) | 用于实现元数据搜索的系统和方法 | |
US7269593B2 (en) | Data processing apparatus and method | |
Etcheverry et al. | Enhancing OLAP analysis with web cubes | |
US6901408B2 (en) | Method of structuring a catalog | |
CN100465953C (zh) | 用逻辑模型查询物理字段或处理抽象查询的方法及系统 | |
US20030158724A1 (en) | Agent system supporting building of electronic mail service system | |
JP2009515258A (ja) | 電子カタログにアイテム属性を保存するシステムおよび方法 | |
EP1584018A2 (en) | Term database extension for label system | |
Mallayya et al. | [Retracted] An Automatic Web Service Composition Framework Using QoS‐Based Web Service Ranking Algorithm | |
Bergamaschi et al. | A data integration framework for e-commerce product classification | |
US8135697B2 (en) | Search-friendly templates | |
US7487161B2 (en) | Distributing data | |
Hepp | A methodology for deriving owl ontologies from products and services categorization standards | |
KR100863121B1 (ko) | 온톨로지검색시스템 | |
Du et al. | Constructing federated databases in coordinated supply chains | |
Jung et al. | EE-Cat: Extended electronic catalog for dynamic and flexible electronic commerce | |
Constantinescu et al. | Directory services for incremental service integration | |
Ceri et al. | WebML application frameworks: a conceptual tool for enhancing design reuse | |
Frank | A Conceptual Foundation for Versatile E-Commerce Platforms. | |
Lee et al. | A supplier discovery framework for effective and efficient configuration of a supply chain | |
Leone et al. | Building eCommerce systems from shared micro-schemas | |
Gil et al. | Metadata catalogs with semantic representations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111005 Termination date: 20140828 |
|
EXPY | Termination of patent right or utility model |