动态服务网络构建方法及系统与流程

文档序号:15143877发布日期:2018-08-10 20:12阅读:188来源:国知局

本发明涉及通信技术领域,具体地,涉及动态服务网络构建方法及系统。



背景技术:

随着web2.0发的发展,越来越多的服务提供商以restfulapi的形式公开了自己的资源,并呈现了多样化的趋势。传统的服务提供商实现的功能通常比较单一,无法为每一个特定场景提供定制化服务。因此,服务组合成为提供个性化服务的解决方案。为了满足开发者的需求,不少网络服务检索引擎,如programmableweb,以半人工的方式收集了不同提供商的服务信息。如果开发者需要构建一个全新的组合服务,他需要在搜索引擎中使用关键词进行查询,并在引擎返回的多个服务列表中,逐一查看服务说明文档,来确定构建组合服务是否是可行。随着网络服务数量的增长,从现有的网络服务中准确地找到适合自己的服务变得越来越困难,时间成本难以估计。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种动态服务网络构建方法及系统。

根据本发明提供的一种动态服务网络构建方法,包括:

基础服务网络构建步骤:爬取不同服务提供商提供的服务中各api的输入输出描述语句,计算每对属于不同api的输入输出描述语句的语义相似度,将各输入输出描述语句作为节点,相似度大于阈值的节点之间进行连接,构建出基础服务网络;

社群发现步骤:在构建得到的基础服务网络上增量式动态地向基础服务网络中添加新的api。

较佳的,所述社群发现步骤具体包括:在构建得到的基础服务网络上使用社群发现算法,增量式动态地向基础服务网络中添加新的api。

较佳的,所述社群发现算法包括:

将所述基础服务网络划分为不同的社群,同一社群的节点共享相似的语义信息,对每个社群,选取社群中所有语句词频最高的n个词作为该社群的中心点与动态添加的新节点计算语义相似度。

较佳的,动态添加新节点时,将新节点与各社群的中心点进行语义相似度计算,相似度小于阈值时,从属于该社群的其他节点便不再与该新节点进行语义相似度计算,否则社群中的其他节点将逐一与该新节点计算相似度。

根据本发明提供的一种动态服务网络构建系统,包括:

基础服务网络构建模块:爬取不同服务提供商提供的服务中各api的输入输出描述语句,计算每对属于不同api的输入输出描述语句的语义相似度,将各输入输出描述语句作为节点,相似度大于阈值的节点之间进行连接,构建出基础服务网络;

社群发现模块:在构建得到的基础服务网络上增量式动态地向基础服务网络中添加新的api。

较佳的,所述社群发现模块具体包括:在构建得到的基础服务网络上使用社群发现算法,增量式动态地向基础服务网络中添加新的api。

较佳的,所述社群发现算法包括:

将所述基础服务网络划分为不同的社群,同一社群的节点共享相似的语义信息,对每个社群,选取社群中所有语句词频最高的n个词作为该社群的中心点与动态添加的新节点计算语义相似度。

较佳的,动态添加新节点时,将新节点与各社群的中心点进行语义相似度计算,相似度小于阈值时,从属于该社群的其他节点便不再与该新节点进行语义相似度计算,否则社群中的其他节点将逐一与该新节点计算相似度。

与现有技术相比,本发明具有如下的有益效果:

本发明着眼于服务网络的构建,基于社群发现算法,增量化地将服务添加到原有服务网络中,减少了计算量,实现服务网络的高效维护。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明的语义相似度匹配算法的代码图;

图2为本发明的社群发现算法图;

图3为本发明的流程图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

本发明提供的一种动态服务网络构建方法,包括:

基础服务网络构建步骤:爬取不同服务提供商提供的服务中各api的输入输出描述语句,计算每对属于不同api的输入输出描述语句的语义相似度,将各输入输出描述语句作为节点,相似度大于阈值的节点之间进行连接,构建出基础服务网络。相似度大于阈值即可认为该对api存在数据交互,可以匹配。此处的语义相似度计算基于wordnet词库,计算算法见图1。

社群发现步骤:在构建得到的基础服务网络上增量式动态地向基础服务网络中添加新的api快速由小网络扩展至包含足够多的api的服务网络。具体包括:

在构建得到的基础服务网络上使用社群发现算法,如图2所示,增量式动态地向基础服务网络中添加新的api。将所述基础服务网络划分为不同的社群,同一社群的节点共享相似的语义信息,对每个社群,选取社群中所有语句词频最高的10个词作为该社群的中心点与动态添加的新节点计算语义相似度。

动态添加新节点时,将新节点与各社群的中心点进行语义相似度计算,相似度小于阈值时,从属于该社群的其他节点便不再与该新节点进行语义相似度计算,否则社群中的其他节点将逐一与该新节点计算相似度。总体流程见图3所示,其中,虚线为基础结构,实线为增加结构。

在上述一种动态服务网络构建方法的基础上,本发明还提供一种动态服务网络构建系统,包括:

基础服务网络构建模块:爬取不同服务提供商提供的服务中各api的输入输出描述语句,计算每对属于不同api的输入输出描述语句的语义相似度,将各输入输出描述语句作为节点,相似度大于阈值的节点之间进行连接,构建出基础服务网络;

社群发现模块:在构建得到的基础服务网络上增量式动态地向基础服务网络中添加新的api。具体包括:在构建得到的基础服务网络上使用社群发现算法,增量式动态地向基础服务网络中添加新的api。

社群发现算法包括:

将所述基础服务网络划分为不同的社群,同一社群的节点共享相似的语义信息,对每个社群,选取社群中所有语句词频最高的n个词作为该社群的中心点与动态添加的新节点计算语义相似度。

动态添加新节点时,将新节点与各社群的中心点进行语义相似度计算,相似度小于阈值时,从属于该社群的其他节点便不再与该新节点进行语义相似度计算,否则社群中的其他节点将逐一与该新节点计算相似度。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1