法律状态公告日
法律状态信息
法律状态
2018-03-16
未缴年费专利权终止 IPC(主分类):H04L29/08 授权公告日:20150218 终止日期:20170228 申请日:20110228
专利权的终止
2015-02-18
授权
授权
2012-10-17
实质审查的生效 IPC(主分类):H04L29/08 申请日:20110228
实质审查的生效
2012-08-29
公开
公开
技术领域
本发明涉及计算机技术领域,尤其是一种基于多特征匹配的服务发现方 法及系统。
背景技术
互联网的迅速发展使得现有网络成为一个巨大的异构平台,大量的软 件服务部署于该异构平台上。用户如何方便地使用这些服务,服务之间如 何进行灵活的互操作成为学术界与工业界共同关注的重要问题,由此产生 了面向服务的计算(Service-Oriented Computing,简称:SOC)。
目前,SOC环境正向两个方向飞速发展,一方面,网络访问方式由过 去单一的固定互联网与普通计算机结合的访问方式向着多种接入、多种终 端设备参与的访问方式发展;另一方面,大型分布式应用的规模和范围不 断扩大,跨越多个自治领域的服务需求激增;在实际的服务环境中,用户 需求不断变化,服务提供者也不断的改进其服务,网络中随时会出现新服 务,也随时会有服务退出。
在现有的Web服务解决方案中,语义服务发现方法主要基于直接推 理,在服务请求与候选服务进行服务匹配时,往往涉及跨越不同本体领域 的多个参数之间的语义关系判断,而语义关系判断涉及大量本体装载、分 类和推理,因此时间效率十分低下。
发明内容
本发明的目的在于提供一种基于多特征匹配的服务发现方法及系统,提 高获取服务的时间效率。
本发明实施例提供一种基于多特征匹配的服务发现方法,包括:
根据查询请求消息获取请求输入功能性矩阵集合和请求输出功能性 矩阵集合;
根据所述请求输入功能性矩阵集合和请求输出功能性矩阵集合计算 与所述查询请求消息相关联的候选服务集合中的每一个服务之间的相似 度;
根据所述相似度获取所述查询请求消息待查询的服务列表。
本发明实施例提供一种基于多特征匹配的服务发现系统,该基于多特征 匹配的服务发现系统能够实现上述技术方案的基于多特征匹配的服务发现方 法,其中,该系统包括:
第一获取模块,用于根据查询请求消息获取请求输入功能性矩阵集合 和请求输出功能性矩阵集合;
计算模块,用于根据所述请求输入功能性矩阵集合和请求输出功能性 矩阵集合计算与所述查询请求消息相关联的候选服务集合中的每一个服 务之间的相似度;
第二获取模块,用于根据所述相似度获取所述查询请求消息待查询的 服务列表。
本发明提供的基于多特征匹配的服务发现方法及系统,根据请求输入功 能性矩阵集合和请求输出功能性矩阵集合计算与查询请求消息相关联的 候选服务集合中的每一个服务之间的相似度,并根据相似度获取与查询请 求消息待查询的服务列表,由于在获取服务时避免了对服务的语义进行推 理以及对服务的相似度进行计算,从而提高服务与请求查询消息的匹配效 率,从而提高了获取服务的时间效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于多特征匹配的服务发现方法一个实施例的流程示意 图;
图2为本发明基于多特征匹配的服务发现方法又一个实施例的流程示意 图;
图3为本发明基于多特征匹配的服务发现系统一个实施例的结构示意 图;
图4为本发明基于多特征匹配的服务发现系统又一个实施例的结构示意 图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明基于多特征匹配的服务发现方法一个实施例的流程示意 图,如图1所示,本发明实施例包括如下步骤:
步骤101、根据查询请求消息获取请求输入功能性矩阵集合和请求输出 功能性矩阵集合;
步骤102、根据该请求输入功能性矩阵集合和请求输出功能性矩阵集合 计算与该查询请求消息相关联的候选服务集合中的每一个服务之间的相似 度;
步骤103、根据该相似度获取该查询请求消息待查询的服务列表。
本发明实施例提供的基于多特征匹配的服务发现方法,根据请求输入功 能性矩阵集合和请求输出功能性矩阵集合计算与查询请求消息相关联的候选 服务集合中的每一个服务之间的相似度,并根据相似度获取与查询请求消息 待查询的服务列表,由于在获取服务时避免了对服务的语义进行推理以及对 服务的相似度进行计算,从而提高了服务与请求查询消息的匹配效率,进一 步提高了获取服务的时间效率。
图2为本发明基于多特征匹配的服务发现方法又一个实施例的流程示意 图,如图2所示,本发明实施例包括如下步骤:
步骤201、对查询请求消息相对应的发布文档进行语义信息抽取,得到 该查询请求消息所有本体的数目、该查询请求消息的输入参数与该查询请求 消息引用的多个本体中所有输入参数语义概念的关系;
步骤202、根据该所有本体的数目、该查询请求消息的输入参数、该查 询请求消息的输出参数与该查询请求消息引用的多个本体中所有输入参数语 义概念的关系获取请求输入功能性矩阵集合;
步骤203、根据该所有本体的数目、该查询请求消息的输出参数与该查 询请求消息引用的多个本体中所有输出参数语义概念的关系获取请求输出功 能性矩阵集合;
步骤204、根据该查询请求消息对保存在数据库中的多个服务进行过滤;
步骤205、根据该多个服务的类型信息、该多个服务的输入输出数量以 及服务引用到的本体信息对服务进行过滤,得到与该查询请求消息相关联的 候选服务集合;
步骤206、根据服务功能性匹配方法计算该候选服务集合中的每一个服 务和所述查询请求消息的功能相似度矩阵;
步骤207、根据服务非功能性匹配方法计算该候选服务集合中的每一个 服务和该查询请求消息的非功能相似度矩阵;
步骤208、根据该候选服务集合中的每一个服务的文本特征向量和该查 询请求消息的文本特征向量获取文本相似度矩阵;
步骤209、根据该功能相似度矩阵、非功能相似度矩阵和文本相似度矩 阵获取该查询请求消息与该候选服务中的每一个服务的相似度;
步骤210、根据该相似度获取该查询请求消息待查询的服务列表。
上述步骤201中,当查询请求消息R发布时,请求语义信息预处理机制 在查询请求发布同时提取请求元数据信息及请求参数语义信息,对请求语义 做一致性检查,保存预处理结果;本发明实施例预设了用于服务请求的语义 信息抽取模板(SRT)以及用于语义信息抽取的服务发布模板(SPT);其 中,根据服务发布模板(SPT)中预设的服务语义元数据信息抽取查询请求 消息R中的语义信息,由于SRT是对查询请求消息进行语义信息抽取的基础, 通过解析SRT,能够获得查询请求消息中的语义信息,与现有技术中的服务 功能性矩阵,由于查询请求消息中的语义信息预处理阶段不需要语义推理, 因此使得后续的请求输入功能性矩阵集合与输出功能性矩阵集合生成过程相 对简单。
上述步骤202中,请求输入功能性矩阵集合FRi具体可以为:FRi={FRi1, FRi2...FRik},其中,请求输入功能性矩阵集合FRi由k个矩阵组成,k为查 询请求消息R所有引用本体的数目,矩阵FRij表示查询请求消息R的输入参 数与查询请求消息R引用的第j个本体中所有输入参数语义概念的关系; 矩阵FRij的行数为R的输入参数中个数m,矩阵FRij的列数为本体ontk的概念个数cnk;具体地,可以按照公式 获取到请求输入功能性矩阵 集合Fri,其中,FRij.vpq为查询请求消息R输入矩阵集合中第j个矩阵中位于 第p行第q列的元素的值;基于公式 FRij.vpq代表R输入inp语 义概念与本体ontj中的第q个概念ontj.conceptq的精确匹配程度,故请求输入 功能性矩阵中的元素只有1和0两个值。
上述步骤203中,查询请求消息R的输出功能性矩阵集合FRo具体可以 为:FRo={FRo1,FRo2...FRok},其中,输出功能性矩阵集合FRo由k个矩阵 组成,k为查询请求消息R所有引用本体的数目;矩阵FRoj表示查询请求消 息R的输出参数与查询请求消息R引用的第j个本体中所有输出参数语义概 念的关系;矩阵FRoj的行数为查询请求消息R的输入参数个数n,矩阵FRoj的列数为本体ontk的概念个数cnk;具体地,可以按照公式 获取到输出功能性矩阵集合 Fro,其中,FRoj.vpq为查询请求消息R的输出矩阵集合中第j个矩阵中位于 第p行第q列的元素的值;FRoj.vpq代表R输出onp语义概念与本体ontj中的 第q个概念ontj.conceptq的精确匹配程度故请求输出功能性矩阵中的元素只有 1和0两个值。
上述步骤205中,可以先基于服务类别对候选服务集合进行过滤;然 后基于服务输入输出数目对候选服务集合进行过滤,最后基于服务引用的 本体对候选服务集合进行过滤;具体地,服务类别是对服务功能所属领域 的描述,是由服务提供者发布服务时是选择性给出的,在基于服务类别进 行过滤阶段,如果服务请求者提供了服务类别约束,则按照该类别对候选 服务集合中的每一个包含服务类别约束的服务进行遍历,当存在服务类别 不被请求的服务类别所包含时,将该服务过滤掉;在基于服务输入输出数 目对候选服务集合进行过滤时,引入前提假设服务输出参数数目少于查询 请求消息要求的输出参数数目时,认为服务不能提供查询请求消息所需的 完整信息,则导致服务与查询请求消息无法匹配;当服务输入参数的数目 大于查询请求消息的输入参数的数目时,认为查询请求消息不能提供满足 服务所要求的全部输入,则同样导致服务与查询请求消息无法匹配;基于 上述描述,将候选服务集合中输入参数的数目大于查询请求消息的输入参 数的树木的服务过滤掉;将数据库中的输出参数的树木小于查询请求消息 的输出参数的数目的服务过滤掉;此外,由于任一领域本体,对本领域概 念的描述是完备的,不同本体描述的领域也是不同的,因此若服务没有引 用请求中所引用的本体,则服务不可能提供与查询请求消息要求的功能参 数相同领域的功能参数,则该服务与查询请求消息之间也不可能存在任何 相似关系,因此通过上述过程可以将服务候选集合中没有引用所引用的本体 的服务都过滤掉。
上述步骤206中,服务功能性匹配方法具体为:对于给定的服务输入功 能性矩阵集合Fi(S)={Fi1,Fi2...Fik}以及请求输入功能性矩阵集合FRi={FRi1, FRi2...FRik},FRo={FRo1,FRo2...FRok}:Result={iResult1,iResult2... iResultk}={Fi1-1*FRi1,Fi2-1*FRi2...Fim-1*FRim...Fik-1*FRik}(1≤m≤k),其中, iResult由k个矩阵组成,k为服务S和查询请求消息R输入参数所有引用本 体的数目中的最大值;上述k个本体构成服务匹配阶段的本体集合;对于任 意本体ontj,若有服务S或查询请求消息R的输出参数没用引用ontj,则对 应的服务功能性矩阵集合或者请求功能性矩阵集合的第j个矩阵元素用全零 替代;iResult中第m个元素为Fim-1*FRim,表示服务S的输入功能性矩阵Fim与查询请求消息R的输入功能性矩阵FRim的乘积。
上述步骤207中,服务非功能性匹配方法具体为:接受服务服务候选集 合中任意服务S与查询请求消息R,计算并返回服务S与查询请求消息R的 非功能属性匹配相似度;对于查询请求消息R中定义的每一个服务质量 (QoS)的属性qosj,判断其在服务S中是否也定义了相同的属性qosj,若有, 则计算服务S中的该属性的取值范围与查询请求消息R中该属性取值范围重 叠部分占查询请求消息R中该属性取值范围的比值,该比值为服务S与查询 请求消息R在qosj属性上的相似度;最后通过计算所有QoS属性上相似度的 平均值来计算服务S与查询请求消息R的非功能匹配相似度。
上述步骤208中,根据服务的文本特征向量v和请求的文本特征向量v’, 通过公式ts=v×v’计算服务和请求的文本特征相似度ts;
上述步骤209中,对功能相似度矩阵、非功能相似度矩阵和文本相似度 矩阵进行融合,按照最后的相似度对服务进行排序,根据功能相似度ms, 非功能相似度qs和文本相似度ts查询请求消息R和服务ci的相似度S(r, ci),具体地,如公式S(r,ci)=a×ms+(1-a)×qs+ts所示,其中,参数a(0<a<1) 是一个用户可调节的参数,该参数a反映了用户对功能和非功能性的偏好, 优选地,取参数a=0.7。
本发明实施例提供的基于多特征匹配的服务发现方法,根据请求输入功 能性矩阵集合和请求输出功能性矩阵集合计算与查询请求消息相关联的候选 服务集合中的每一个服务之间的相似度,并根据相似度获取与查询请求消息 待查询的服务列表,由于在获取服务时避免了对服务的语义进行推理以及对 服务的相似度进行计算,从而提高了服务与请求查询消息的匹配效率,进一 步提高了获取服务的时间效率。
图3为本发明基于多特征匹配的服务发现系统一个实施例的结构示意 图,如图3所示,本发明实施例包括:第一获取模块31、计算模块32、第 二获取模块33;
其中,第一获取模块31根据查询请求消息获取请求输入功能性矩阵集 合和请求输出功能性矩阵集合;计算模块32根据所述请求输入功能性矩 阵集合和请求输出功能性矩阵集合计算与所述查询请求消息相关联的候 选服务集合中的每一个服务之间的相似度;第二获取模块33根据所述相 似度获取所述查询请求消息待查询的服务列表。
本发明实施例提供的基于多特征匹配的服务发现系统,通过计算模块32 根据请求输入功能性矩阵集合和请求输出功能性矩阵集合计算与查询请求消 息相关联的候选服务集合中的每一个服务之间的相似度,第二获取模块33 根据相似度获取与查询请求消息待查询的服务列表,由于在获取服务时避免 了对服务的语义进行推理以及对服务的相似度进行计算,从而提高了服务与 请求查询消息的匹配效率,进一步提高了获取服务的时间效率。
图4为本发明基于多特征匹配的服务发现系统又一个实施例的结构示意 图,如图4所示,本发明实施例包括:第一获取模块41、计算模块42、第 二获取模块43;
其中,第一获取模块41根据查询请求消息获取请求输入功能性矩阵集 合和请求输出功能性矩阵集合;计算模块42根据所述请求输入功能性矩 阵集合和请求输出功能性矩阵集合计算与所述查询请求消息相关联的候 选服务集合中的每一个服务之间的相似度;第二获取模块43根据所述相 似度获取所述查询请求消息待查询的服务列表。
进一步地,第一获取模块41还可以包括:抽取单元411、第一获取单 元412、第二获取单元413;其中,抽取单元411对所述查询请求消息相对 应的发布文档进行语义信息抽取,得到所述查询请求消息所有本体的数目、 所述查询请求消息的输入参数与所述查询请求消息引用的多个本体中所 有输入参数语义概念的关系;第一获取单元412根据所述所有本体的数目、 所述查询请求消息的输入参数、所述查询请求消息的输出参数与所述查询 请求消息引用的多个本体中所有输入参数语义概念的关系获取请求输入 功能性矩阵集合;第二获取单元413根据所述所有本体的数目、所述查询 请求消息的输出参数与所述查询请求消息引用的多个本体中所有输出参 数语义概念的关系获取请求输出功能性矩阵集合。
进一步地,计算模块42还可以包括:第一过滤单元421、第二过滤单 元422、第一计算单元423;其中,第一过滤单元421根据所述查询请求 消息对保存在数据库中的多个服务进行过滤;第二过滤单元422根据所述 多个服务的类型信息、所述多个服务的输入输出数量以及服务引用到的本 体信息对服务进行过滤,得到与所述查询请求消息相关联的候选服务集 合;第一计算单元423计算所述候选服务集合中的每一个服务与所述查询 请求消息的相似度。
进一步地,第一计算单元423还可以包括:第一计算子单元、第二计算 子单元、第一获取子单元、第二获取子单元;其中,第一计算子单元根据服 务功能性匹配方法计算所述候选服务集合中的每一个服务和所述查询请求消 息的功能相似度矩阵;第二计算子单元根据服务非功能性匹配方法计算所述 候选服务集合中的每一个服务和所述查询请求消息的非功能相似度矩阵;第 一获取子单元根据所述候选服务集合中的每一个服务的文本特征向量和所述 查询请求消息的文本特征向量获取文本相似度矩阵;第二获取子单元根据所 述功能相似度矩阵、非功能相似度矩阵和文本相似度矩阵获取所述查询请求 消息与所述候选服务中的每一个服务的相似度。
进一步地,第二获取子单元还可以包括:乘法子单元和计算子单元;其 中,乘法子单元,用于根据功能相似度矩阵和非功能相似度矩阵进行矩阵乘 积,生成输入匹配结果矩阵;计算子单元,用于计算所述匹配结果矩阵中所 有非零元素的数目,该所述所有非零元素的数目与所有输入参数和输出参数 的个数的比值作为所述服务与所述查询请求消息匹配的相似度。
本发明实施例提供的基于多特征匹配的服务发现方法,通过计算模块42 根据请求输入功能性矩阵集合和请求输出功能性矩阵集合计算与查询请求消 息相关联的候选服务集合中的每一个服务之间的相似度,第二获取模块43 根据相似度获取与查询请求消息待查询的服务列表,由于在获取服务时避免 了对服务的语义进行推理以及对服务的相似度进行计算,从而提高了服务与 请求查询消息的匹配效率,进一步提高了获取服务的时间效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统、设备、模块和单元的具体工作过程,可以参考前述方法实施例中 的对应过程,在此不再赘述。
本领域普通技术人员可以理解:实现上述实施例的全部或部分步骤可以 通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存 储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存 储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或 者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技 术方案的本质脱离本发明各实施例技术方案的精神和范围。
机译: 基于多特征匹配的服务发现方法和系统
机译: 基于多特征子词的词嵌入系统及方法
机译: 基于主题模型和多特征的漏洞修复开发者推荐和缺陷严重性预测的系统和方法