一种基于语义的自动服务组合系统及方法技术方案

技术编号:15400495 阅读:73 留言:0更新日期:2017-05-24 10:19
本发明专利技术涉及一种基于语义的自动服务组合系统及方法,系统包括:服务器端和客户端,其中服务器端包括:数据库构建模块、自动生成工作流模块、服务发现模块和服务组合模块;客户端包括:需求语义输入模块和展示模块;方法包括:根据输入需求语义、领域库和行为库自动生成工作流;对生成的工作流进行细微调整;根据工作流和服务的语义信息,通过语义相似度计算获得候选服务集;根据服务的QoS信息选择一条既能满足用户QoS约束,同时QoS属性最优的执行路径。本发明专利技术可以实现大规模复杂软件的真正自动演化生长,不需要人工干预提供工作流,极大提高了服务组合效率。

Semantic based automatic service composition system and method

The invention relates to a system including automatic service composition system and method based on semantic, server and client, the server comprises a database module, the automatic generation of workflow module, service discovery module and the service module; the client comprises a semantic input module and display module; method includes: according to the automatic generation of Workflow input the demand of semantics, domain library and behavior library; fine tune the generated workflow; workflow and service according to the semantic information, using semantic similarity calculation to obtain the candidate service set; according to the selection of a user can satisfy the QoS constraints of QoS information services, and the QoS attribute optimal execution path. The invention can realize the real automatic evolution of large-scale complex software without manual intervention and provides a workflow, thereby greatly improving the efficiency of service composition.

【技术实现步骤摘要】
一种基于语义的自动服务组合系统及方法
本专利技术涉及一种基于语义的自动服务组合系统及方法,属于计算机互联网

技术介绍
随着互联网行业的迅猛发展,越来越多的在线商业解决方案被提出。然而任何一个服务都只能满足相对单一的客户需求。服务提供商们迫切希望现有的服务能够被方便地组合成功能更加强大的增值服务,用来满足更为多样化的需求,所以人们提出了Web服务组合的概念。目前自动服务组合有两大类方法:一类是利用工作流,另一类是利用AIplanning。目前利用工作流的方法都是假定工作流是由用户给定,不能完成工作流自动生成。进一步检索发现,中国专利申请号201110051185,公开了一种基于QoS历史记录的服务组合优化方法,包括以下步骤:获取数据集,所述数据集由各个web服务的QoS历史记录组成;求解前N个最优的基于历史记录的组合方案;计算服务贡献度,利用上步中产生的前N个最优的基于QoS历史记录的组合方案,计算各个服务的贡献度值,从而为服务组合中的每个任务选择符合要求的web服务;且对每个任务的候选服务而言,拥有最高贡献度值的那个服务将被选出,参加最优服务组合方案的执行。该专利技术的优点在于利用了服务的QoS历史记录做决策,更加客观,可信,提出了贡献度的变量参数,根据服务贡献度值的大小,来决定哪些服务参与最终的最优组合方案,从而使得最后的组合方案的可信度更高。但是该方法没有自动生成工作流,假定工作流是用户给定的。进一步检索发现,中国专利申请号201110030391,提供一种支持TopK查询的自动服务组合方法,包括:用户提交用于请求前K个质量最好的服务组合结果的查询请求,根据该查询请求以及多个原子服务的输入参数、输出参数、原子服务间的匹配关系建立服务依赖图,由所述服务依赖图找出满足所述查询请求第一最优关键路径;将所述第一最优关键路径保存在集合中;从所述集合中选取总服务质量值allQoS最优的关键路径作为当前的最优关键路径,并生成对应的服务组合结果,然后对当前的最优关键路径进行松弛操作,生成新的关键路径,并放入所述集合中;重复上述操作,直到已经找到的所有服务组合结果的数目达到用户所需要的K值。该专利技术提高了求最优服务组合的结果的自动化程度,但是该自动化研究的是在AIplanning领域,而不是基于工作流的方法。综上,现有技术都没有从根本上完成自动生成工作流,针对此不足,本专利技术提出了一种能够自动生成工作流的服务组合方法;并且在服务组合模块进行了改进,使得在满足服务组合查全率的同时,提高了服务组合的查准率。
技术实现思路
本专利技术技术解决问题:为了解决工作流不能自动生成,需要用户提供的问题,提供一种基于语义的自动服务组合系统及方法,实现工作流的自动生成,使得工作流生成不需要人工干预提供工作流,极大提高了服务组合的自动化效率。本专利技术的技术解决方案:一种基于语义的自动服务组合系统,其特征在于包括:服务器端和客户端,其中服务器端包括:数据库构建模块、自动生成工作流模块、服务发现模块和服务组合模块;客户端包括:需求语义输入模块和展示模块,其中:数据库构建模块包括构建领域库、行为库和服务资产库;所述领域库是指用户提出的需求所在的业务领域,领域库包括领域名以及该领域名所对应的特征性词库;所述行为库是指用户提出的需求所要完成的操作,行为库首先按业务领域来区分,对每一个具体业务领域,都有一组行为集合构成这个业务领域的所有行为,行为库包括行为名、对应的领域名、能描述该行为的特征性词库,以及该行为对应的工作流;所述服务资产库是指注册了的所有可用服务组成的服务集,服务资产库中的每一个服务均包括服务功能描述和QoS属性;所述服务功能描述指语义短语,表明这个服务所能完成的功能;所述QoS属性必须包含常用的5类属性:执行价格、执行时间、可靠性、可用性和信誉度;所述领域库和行为库为自动生成工作流模块提供分析数据;所述服务资产库为服务发现模块和服务组合模块提供数据;自动生成工作流模块,对用户给出的需求语义进行分析,构建依存树;根据依存树,提取出需求语义中描述领域相关部分的词汇作为领域词,描述行为相关部分的词汇作为行为词;通过领域词和领域库中得领域名进行语义相似度匹配,找到与领域词最相近的领域名作为领域;通过行为词和行为库中该领域的行为集的行为名进行语义相似度匹配,找到与行为词最相近的行为名作为行为;根据领域和行为从行为库中找到对应的工作流,调整所获得的工作流,对工作流中的领域用领域词进行替换,行为用行为词进行替换,获得最终的工作流,并将工作流送至服务发现模块;服务发现模块,根据自动生成工作流模块得到的工作流,为工作流中的每个任务从服务资产库中选择出一个能够完成该任务的候选服务集,根据任务和服务功能进行语义相似度匹配,把相似度值高于某一给定阈值的都列入候选服务集中,并将得到的每个任务对应的候选服务集送至服务组合模块;服务组合模块,首先通过工作流聚合方法将工作流中并发、选择、循环等结构都归并成只有顺序结构的工作流,接着采用回溯算法为每个任务从服务发现模块提供的候选服务集中选择一个具体服务,使得整个工作流在满足用户提出的QoS约束下,还能使用户关注的QoS属性达到最优;其中服务QoS是通过查询数据库构建模块中的服务资产库得到的。所述服务发现模块具体实现如下:(1)对抽象服务进行分词,抽象服务指的是工作流中任务的语义描述,抽象服务进行分词后的结果记为集合A={A1,A2,…,Am}。(2)对具体服务进行分词,具体服务指的是服务资产库中服务功能的语义描述,具体服务分词后的结果记为集合B={B1,B2,…,Bn};(3)计算抽象服务和具体服务的短语相似度;(4)根据给定的阈值,将步骤(3)中计算得到的短语相似度值大于阈值的具体服务选取到候选服务集中;所述步骤(3)中计算抽象服务和具体服务的短语相似度的方法如下:(31)首先计算集合A中的元素Ai(i=1)与集合B中所有元素两两之间的相似度,结果记为集合C={Ci1,Ci2,…,Cin};(32)在集合C中选择相似度值最大的一个记为Cij,它是集合A中的Ai和集合B中的Bj的相似度;(33)集合A中的元素Ai的相似度值simAi记为Cij,并且从集合B中删除步骤(32)中找到的Bj;(34)令i分别为2,3,…,重复步骤(31)到(33),直到i等于m或者集合B已经为空;(35)集合A中没有建立起对应关系的元素与空元素对应,假定A集合中与空元素对应的元素的相似度值为0;(36)通过上述计算后,得到了A集合中每个词的相似度值SimA={simA1,simA2,…,simAm},采用加权平均方法来计算短语相似度的值:所述服务组合模块具体实现如下:(1)QoS归一化,指将单个服务的各个QoS属性值归一化为0到1的值,使不同QoS属性之间具有可比性;(2)相似度计算,在服务发现阶段求得的,它表示的是两个服务之间的相关程度;(3)工作流聚合,利用步骤(1)中归一化的QoS和步骤(2)中的相似度值将工作流中的选择结构,并发结构,循环结构都转化成顺序结构;(4)计算单个服务总QoS,指将步骤(1)中归一化后的QoS的各个属性值按照一定权重比例相加作为服务的总QoS值;(5)计算单个服务总得分,指将步骤(4)中计算得到的总Q本文档来自技高网
...
一种基于语义的自动服务组合系统及方法

【技术保护点】
一种基于语义的自动服务组合系统,其特征在于包括:服务器端和客户端,其中服务器端包括:数据库构建模块、自动生成工作流模块、服务发现模块和服务组合模块;客户端包括:需求语义输入模块和展示模块,其中:数据库构建模块包括构建领域库、行为库和服务资产库;所述领域库是指用户提出的需求所在的业务领域,领域库包括领域名以及该领域名所对应的特征性词库;所述行为库是指用户提出的需求所要完成的操作,行为库首先按业务领域来区分,对每一个具体业务领域,都有一组行为集合构成这个业务领域的所有行为,行为库包括行为名、对应的领域名、能描述该行为的特征性词库,以及该行为对应的工作流;所述服务资产库是指注册了的所有可用服务组成的服务集,服务资产库中的每一个服务均包括服务功能描述和QoS属性;所述服务功能描述指语义短语,表明这个服务所能完成的功能;所述QoS属性必须包含常用的5类属性:执行价格、执行时间、可靠性、可用性和信誉度;所述领域库和行为库为自动生成工作流模块提供分析数据;所述服务资产库为服务发现模块和服务组合模块提供数据;自动生成工作流模块,对用户给出的需求语义进行分析,构建依存树;根据依存树,提取出需求语义中描述领域相关部分的词汇作为领域词,描述行为相关部分的词汇作为行为词;通过领域词和领域库中的领域名进行语义相似度匹配,找到与领域词最相近的领域名作为领域;通过行为词和行为库中该领域的行为集的行为名进行语义相似度匹配,找到与行为词最相近的行为名作为行为;根据领域和行为从行为库中找到对应的工作流,调整所获得的工作流,对工作流中的领域用领域词进行替换,行为用行为词进行替换,获得最终的工作流,并将工作流送至服务发现模块;服务发现模块,根据自动生成工作流模块得到的工作流,为工作流中的每个任务从服务资产库中选择出一个能够完成该任务的候选服务集,根据任务和服务功能进行语义相似度匹配,把相似度值高于某一给定阈值的都列入候选服务集中,并将得到的每个任务对应的候选服务集送至服务组合模块;服务组合模块,首先通过工作流聚合方法将工作流中并发、选择、循环结构都归并成只有顺序结构的工作流,接着采用回溯算法为每个任务从服务发现模块提供的候选服务集中选择一个具体服务,使得整个工作流在满足用户提出的QoS约束下,还能使用户关注的QoS属性达到最优;其中服务QoS是通过查询数据库构建模块中的服务资产库得到的;所述服务组合模块具体实现如下:(1)QoS归一化,指将单个服务的各个QoS属性值归一化为0到1的值,使不同QoS属性之间具有可比性;(2)相似度计算,在服务发现阶段求得的,它表示的是两个服务之间的相关程度;(3)工作流聚合,利用步骤(1)中归一化的QoS和步骤(2)中的相似度值将工作流中的选择结构,并发结构,循环结构都转化成顺序结构;(4)计算单个服务总QoS,指将步骤(1)中归一化后的QoS的各个属性值按照一定权重比例相加作为服务的总QoS值;(5)计算单个服务总得分,指将步骤(4)中计算得到的总QoS值和步骤(2)中的相似度按照一定权重比例相加作为服务的总得分;(6)回溯算法,指根据步骤(5)计算得到的单个服务总得分和步骤(3)中工作流聚合之后的工作流,利用回溯算法,选择一条最优执行路径。...

【技术特征摘要】
1.一种基于语义的自动服务组合系统,其特征在于包括:服务器端和客户端,其中服务器端包括:数据库构建模块、自动生成工作流模块、服务发现模块和服务组合模块;客户端包括:需求语义输入模块和展示模块,其中:数据库构建模块包括构建领域库、行为库和服务资产库;所述领域库是指用户提出的需求所在的业务领域,领域库包括领域名以及该领域名所对应的特征性词库;所述行为库是指用户提出的需求所要完成的操作,行为库首先按业务领域来区分,对每一个具体业务领域,都有一组行为集合构成这个业务领域的所有行为,行为库包括行为名、对应的领域名、能描述该行为的特征性词库,以及该行为对应的工作流;所述服务资产库是指注册了的所有可用服务组成的服务集,服务资产库中的每一个服务均包括服务功能描述和QoS属性;所述服务功能描述指语义短语,表明这个服务所能完成的功能;所述QoS属性必须包含常用的5类属性:执行价格、执行时间、可靠性、可用性和信誉度;所述领域库和行为库为自动生成工作流模块提供分析数据;所述服务资产库为服务发现模块和服务组合模块提供数据;自动生成工作流模块,对用户给出的需求语义进行分析,构建依存树;根据依存树,提取出需求语义中描述领域相关部分的词汇作为领域词,描述行为相关部分的词汇作为行为词;通过领域词和领域库中的领域名进行语义相似度匹配,找到与领域词最相近的领域名作为领域;通过行为词和行为库中该领域的行为集的行为名进行语义相似度匹配,找到与行为词最相近的行为名作为行为;根据领域和行为从行为库中找到对应的工作流,调整所获得的工作流,对工作流中的领域用领域词进行替换,行为用行为词进行替换,获得最终的工作流,并将工作流送至服务发现模块;服务发现模块,根据自动生成工作流模块得到的工作流,为工作流中的每个任务从服务资产库中选择出一个能够完成该任务的候选服务集,根据任务和服务功能进行语义相似度匹配,把相似度值高于某一给定阈值的都列入候选服务集中,并将得到的每个任务对应的候选服务集送至服务组合模块;服务组合模块,首先通过工作流聚合方法将工作流中并发、选择、循环结构都归并成只有顺序结构的工作流,接着采用回溯算法为每个任务从服务发现模块提供的候选服务集中选择一个具体服务,使得整个工作流在满足用户提出的QoS约束下,还能使用户关注的QoS属性达到最优;其中服务QoS是通过查询数据库构建模块中的服务资产库得到的;所述服务组合模块具体实现如下:(1)QoS归一化,指将单个服务的各个QoS属性值归一化为0到1的值,使不同QoS属性之间具有可比性;(2)相似度计算,在服务发现阶段求得的,它表示的是两个服务之间的相关程度;(3)工作流聚合,利用步骤(1)中归一化的QoS和步骤(2)中的相似度值将工作流中的选择结构,并发结构,循环结构都转化成顺序结构;(4)计算单个服务总QoS,指将步骤(1)中归一化后的QoS的各个属性值按照一定权重比例相加作为服务的总QoS值;(5)计算单个服务总得分,指将步骤(4)中计算得到的总QoS值和步骤(2)中的相似度按照一定权重比例相加作为服务的总得分;(6)回溯算法,指根据步骤(5)计算得到的单个服务总得分和步骤(3)中工作流聚合之后的工作流,利用回溯算法,选择一条最优执行路径。2.根据权利要求1所述基于语义的自动服务组合系统,其特征在于:所述服务发现模块具体实现如下:(1)对抽象服务进行分词,抽象服务指的是工作流中任务的语义描述,抽象服务进行分词后的结果记为集合A={A1,A2,…,Am};(2)对具体服务进行分词,具体服务指的是服务资产库中服务功能的语义描述,具体服务分词后的结果记为集合B={B1,B2,…,Bn};(3)计算抽象服务和具体服务的短语相似度;(4)根据给定的阈值,将步骤(3)中计算得到的短语相似度值大于阈值的具体服务选取到候选服务集中;所述步骤(3)中计算抽象...

【专利技术属性】
技术研发人员:彭启民林玲胡晓惠
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1