一种基于依赖关系的Web服务替换方法

文档序号:7770782阅读:131来源:国知局
一种基于依赖关系的Web服务替换方法
【专利摘要】本发明涉及一种基于依赖关系的Web服务替换方法,属于计算机软件【技术领域】,方法包括:当某一Web服务不能满足外部环境或用户需求的变化时,识别出问题服务的部署情况、版本信息及其在组合服务中的直接前驱服务和直接后继服务;结合从问题服务composite描述文件中提取的依赖关系,根据不同的情况选择出合适的服务进行替换;当问题服务的其他部署和其他版本都不存在时,相似服务集合中的服务的直接后继集合包含问题服务的所有后继服务,计算它们与问题服务在输入输出、约束条件上的相似度以及特定领域内问题服务与相似服务之间建立的业务交互关系,选择最匹配的服务进行替换。
【专利说明】一种基于依赖关系的Web服务替换方法
【技术领域】
[0001]本发明涉及一种Web服务的替换方法,尤其涉及一种大规模复杂软件系统中基于依赖关系的Web服务替换方法,属于计算机软件【技术领域】。
【背景技术】
[0002]Web服务是由服务提供者在广域网络环境下发布的自治的、无状态的、具有独立功能的计算实体。面向服务计算利用Web服务作为基本构造单元,支持分布式应用的快速、低成本的组合式开发。基于面向服务架构(Service-Oriented Architecture, SOA),软件即服务(SaaS)和云计算将企业购买软件和维护基础设施转变为通过互联网大量租赁并消费业务服务。然而,随着面向服务的软件系统规模越来越大,其可用性、可靠性等问题越来越难以保证。当Web服务不能应对外部环境或用户需求的变化时,为了确保组合服务的正确执行,需要立即替换该Web服务。
[0003]经过对现有技术的检索发现,中国专利申请号201110058676.2,记载了一种基于服务优先级的Web服务替换方法。选取体系结构中重要性强的服务先进行替换,并且优先选择候选服务集中服务质量高的服务,通过替换部分Web服务的方式来修复失效的复合服务。此方法没有考虑Web服务之间的约束关系,直接替换可能会对与其有约束关系的Web服务产生影响。
[0004]在面向服务的计算环境中,分布式的、不同粒度、不同领域的服务之间互相调用,均存在着相互依赖的联系。中国专利申请号201210159395.0,记载了一种开放网络下服务间关联关系的建立方法,依据组合服务的执行路径、组合过程和业务实施过程,分析组合服务在不同步骤中的关联关系,建立分步关联映射模型,构建关联服务资源池。中国专利申请号201110168027.8,记载了一种基于依赖关系的Web服务组合方法,提出了描述Web服务的数据依赖信息的模型,在服务匹配过程中,利用Web服务的依赖关系把Web服务组合转化成动态规划问题,并找出最优的服务组合方法。中国专利申请号201010289364.8,记载了一种Web应用部署约束自动检测方法,对Web应用部署方案模型的部署约束自动实施检测,当检测到当前Web应用对部署约束的违背后,自动定位并提示用户进行部署方案的修改。
[0005]综上所述,对于依赖关系,目前已有的相关方案大多将Web服务间的依赖关系应用到服务组合过程中,而基于依赖关系的Web服务替换方法研究方案较少。

【发明内容】

[0006]本发明的目的在于:克服现有技术的不足,提供一种基于依赖关系的Web服务替换方法,确保云计算环境下组合服务的正确执行。
[0007]本发明技术解决方案包括:一种基于依赖关系的Web服务替换方法,实现步骤为:
[0008]步骤1,当某一 Web服务在某一位置不能满足外部环境或用户需求的变化时,首先识别出现问题的所述某一 Web服务的部署情况、版本信息及其在组合服务中的前驱服务集合和后继服务集合;[0009]步骤2,提取出现问题的所述某一 Web服务描述文件中的输入/输出、约束条件和调用关系,以下步骤中所述问题Web服务的输入输出、约束条件和后继服务集合都是通过此步骤得到的;
[0010]步骤3,若出现问题的所述某一 Web服务在其他位置存在部署,查看部署在其他位置的Web服务是否满足外部环境或用户需求,若存在一个Web服务满足,则将该问题Web服务替换为所述满足外部环境或用户需要的一个Web服务,跳到步骤8,否则执行步骤4 ;
[0011]步骤4,若出现问题的所述某一 Web服务存在其他版本,将上述所有其他版本作为相似集合,将相似集合中的每个Web服务与出现问题的所述某一 Web服务进行比较,即执行步骤6 ;若出现问题的所述某一 Web服务不存在其他版本,则执行步骤5 ;
[0012]步骤5,若该出现问题的所述某一 Web服务的其他部署和其他版本都不存在,则逐一判断其他Web服务的直接后继服务集合是否包含问题Web服务的所有后继服务,将包含问题Web服务所有后继的其他Web服务划入相似集合;
[0013]步骤6,计算相似集合中每个相似Web服务与问题Web服务的相似度,得到输入输
出矩阵Mil^ut、约束条件矩阵M_stMint、服务交互矩阵Mcxmelatim ;
[0014]步骤7,根据步骤6中的输入输出矩阵Min _、约束条件矩阵Memstraint、服务交互矩阵Mramlatim计算依赖关系矩阵M,对Web服务进行排序,推荐出能够替换出现问题的所述某一 Web服务;
[0015]步骤8,拦截用户向问题服务发送的使用请求,替换该问题Web服务。
[0016]步骤I所述直接前驱服务和直接后继服务为:假设有依赖关系为<Sl,s2>、〈s2,s3>,表示Web服务S1依赖于Web服务s2,Web服务S2依赖于Web服务s3,那么S1是S2的直接前驱,83是S2的直接后继。
[0017]所述步骤2中提取出现问题的所述某一 Web服务composite描述信息的方法是:将SCA的composite文件进行了扩展,〈service〉标签表示组件所能提供的服务,其level属性表示该服务所处的层次;〈function〉标签以操作的形式从接口和行为两方面定义服务提供的功能方法!〈reference〉标签表示组件所依赖的服务,其relation属性表示引用的服务是层间还是层内;〈fUnCtion>标签表示需要被依赖服务提供操作的输入参数、输出参数要求,refType为依赖类型,有时序关系和强制关系。
[0018]所述步骤3中将该出现问题的所述某一 Web服务替换为所述该满足外部环境或用户需要的一个Web服务的具体方法是:比较Web服务的QoS是否满足使用出现问题的所述某一 Web服务的租户要求,选择满足性最好的一个。
[0019]所述步骤6中相似Web服务的输入输出矩阵表示如公式⑴,i0ij表示Web服务i和Web服务j之间输入输出的相似度,0〈iou〈l ;计算方法如下:
[0020]两个Web服务之间的输入输出的匹配程度通过公式(2)计算得到,完全相等指Web服务i的输出参数完全等于Web服务j的输入参数,1ij=I ;包含指Web服务i的输出参数集合属于Web服务j的输入参数集合;部分包含指Web服务i的输出参数集合包含Web服务j的输入参数集合;不相等指Web服务i的输出参数集合与Web服务j的输入参数集合没有互相包含的关系iou=0 ;当匹配程度为包含或部分包含情况时,需要计算相似度i0ij如公式(3), d表不两个Web服务之间的距离;h表不两个Web服务与其共同孩子Web服务的高度;U,V分别代表d和h所占的权重,0〈μ〈1,0〈 ν〈1,μ + ν=1 ;
【权利要求】
1.一种基于依赖关系的Web服务替换方法,其特征在于包括以下步骤: 步骤1,当某一 Web服务在某一位置不能满足外部环境或用户需求的变化时,首先识别出现问题的所述某一 Web服务的部署情况、版本信息及其在组合服务中的前驱服务集合和后继服务集合; 步骤2,提取出现问题的所述某一 Web服务描述文件中的输入/输出、约束条件和调用关系,以下步骤中所述问题Web服务的输入输出参数、约束条件都是通过此步骤得到的; 步骤3,若出现问题的所述某一 Web服务在其他位置存在部署,查看部署在其他位置的Web服务是否满足外部环境或用户需求,若存在一个Web服务满足,则将该问题Web服务替换为所述满足外部环境或用户需要的一个Web服务,跳到步骤8,否则执行步骤4 ; 步骤4,若出现问题的所述某一 Web服务存在其他版本,将上述所有其他版本作为相似集合,将相似集合中的每个Web服务与出现问题的所述某一 Web服务进行比较,即执行步骤6 ;若出现问题的所述某一 Web服务不存在其他版本,则执行步骤5 ; 步骤5,若该出现问题的所述某一 Web服务的其他部署和其他版本都不存在,则逐一判断其他Web服务的直接后继服务集合是否包含问题Web服务的所有后继服务,将包含问题Web服务所有后继的其他Web服务划入相似集合; 步骤6,计算相似集合中每个相似Web服务与问题Web服务的相似度,得到输入输出矩阵Min—_、约束条件矩阵M_st_t、服务交互矩阵Memelatim ; 步骤7,根据步骤6中的输入输出矩阵Min—_、约束条件矩阵Mranstraint、服务交互矩阵Mcorrelation计算依赖关 系矩阵M,对Web服务进行排序,推荐出能够替换出现问题的所述某一Web服务; 步骤8,拦截用户向问题服务发送的使用请求,替换该问题Web服务。
2.根据权利要求1所述的基于依赖关系的Web服务替换方法,其特征在于:步骤I所述直接前驱服务和直接后继服务为:假设有依赖关系为<su s2>、<s2, s3>,表示Web服务S1依赖于Web服务s2, Web服务S2依赖于Web服务S3,那么S1是S2的直接前驱,S3是S2的直接后继。
3.根据权利要求1所述的基于依赖关系的Web服务替换方法,其特征在于:所述步骤2中提取出现问题的所述某一 Web服务composite描述信息的方法是:将SCA的composite文件进行了扩展,〈service〉标签表示组件所能提供的服务,其level属性表示该服务所处的层次;〈funCtion>标签以操作的形式从接口和行为两方面定义服务提供的功能方法;〈reference〉标签表示组件所依赖的服务,其relation属性表示引用的服务是层间还是层内!〈function〉标签表示需要被依赖服务提供操作的输入参数、输出参数要求,refType为依赖类型,有时序关系和强制关系。
4.根据权利要求1所述的基于依赖关系的Web服务替换方法,其特征在于:所述步骤3中将该出现问题的所述某一 Web服务替换为所述该满足外部环境或用户需要的一个Web服务的具体方法是:比较Web服务的QoS是否满足使用出现问题的所述某一 Web服务的租户要求,选择满足性最好的一个。
5.根据权利要求1所述的基于依赖关系的Web服务替换方法,其特征在于:所述步骤6中相似Web服务的输入输出矩阵表不见公式(I), 1ij表不Web服务i和Web服务j之间输入输出的相似度,0〈iOij〈l ;计算方法如下:两个Web服务之间的输入输出的匹配程度通过公式(2)计算得到,完全相等指Web服务i的输出参数集合OUi^si完全等于Web服务j的输入参数集合in_Sj, !Loij=I ;包含指Web服务i的输出参数集合out_Si属于Web服务j的输入参数集合in_Sj ;部分包含指Web服务i的输出参数集合OUi^si包含Web服务j的输入参数集合in_Sj ;不相等指Web服务i的输出参数集合OUi^si与Web服务j的输入参数集合in_Sj没有互相包含的关系1ij=O ;当匹配程度为包含或部分包含情况时,需要计算相似度见公式(3),d表示两个Web服务之间的距离;h表示两个Web服务与其共同孩子Web服务的高度;μ,V分别代表d和h所占的权重,0〈 μ〈1,0〈 V〈1,μ + V =1 ;

6.根据权利要求1所述的基于依赖关系的Web服务替换方法,其特征在于:所述步骤6中约束条件矩阵Memstraint表示见公式⑷,Conij表示Web服务i和Web服务j之间约束条件的相似度,(Kconi,I,计算方法如下: 两个Web服务之间的约束条件匹配程度通过公式(5)计算得到,完全相等指Web服务i的约束条件集合Cor^si完全等于Web服务j的约束条件集合con_Sj, Conij=I ;包含指Web服务i的约束条件集合Cor^si属于Web服务j的约束条件集合con_Sj ;部分包含指Web服务i的约束条件集合Cor^si包含Web服务j的约束条件集合con_Sj ;不相等指Web服务i的约束条件集合Cor^si与Web服务j的约束条件集合con_Sj ;没有互相包含的关系Conij=O ;当匹配程度为包含或部分包含情况时,需要计算相似度conu见公式(6),d表示两个Web服务之间的距离出表示两个Web服务与其共同孩子Web服务的高度;μ,V分别代表d和h所占的权重;

7.根据权利要求1所述的基于依赖关系的Web服务替换方法,其特征在于:所述步骤6中服务交互矩阵MMmlati()n的值通过依赖类型权值乘以依赖度得到。
8.根据权利要求1所述的基于依赖关系的Web服务替换方法,其特征在于:所述步骤7中依赖关系矩阵M计算公式为:
【文档编号】H04L29/08GK103473100SQ201310425154
【公开日】2013年12月25日 申请日期:2013年9月17日 优先权日:2013年9月17日
【发明者】王瑞, 彭启民, 胡晓惠 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1