当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于服务组合历史的服务分类和推荐方法技术

技术编号:7080898 阅读:287 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于服务计算技术领域,涉及一种基于二部图及其投影的服务分类和推荐方法,包括服务分类步骤以及服务推荐步骤,服务分类步骤包括:收集面向服务软件(SOS)的信息并用二部图抽象SOS和服务间的构成关系;然后将二部图在SOS维度进行投影,得到SOS相似图;对SOS相似图聚类得到SOS的分类;服务推荐步骤包括:将二部图在服务维度进行投影,得到服务组合图并根据SOS和服务的二部图分析SOS和服务间的使用模式;将使用频率高的若干服务作为核心服务;根据不同的应用场景推荐相应的服务。优点如下:实现了服务的自动分类,为服务添加分类信息,从而给服务发现、检索、以及服务资源的管理提供便利。

【技术实现步骤摘要】

本专利技术属于服务计算
,特别是涉及一种基于二部图及其投影的服务分类和推荐方法。
技术介绍
面向服务的计算(Service-Oriented Computing, S0C)是针对分布式系统的新型计算模式,为解决分布异构环境中跨组织敏捷应用集成问题带来了诸多便利,已成为软件领域最热门的话题之一。SOC倡导以服务及其组合为基础构造应用的开发模式,导致软件系统的主要形态、生产方式、运行方式和使用方式都发生了巨大变化,软件系统正处在一个由软件服务实体组成的开放协同的软件环境中。可以想象,未来的软件系统都可以由网络上分布的各种服务动态组合而成,我们将生活在“无网不在、无服务不在”的网络化软件世界里。基于服务的软件开发必将成为业界开发软件采用的主要方式。随着软件体系结构研究的深入,人们逐渐意识到软件结构是决定软件质量的重要因素。一些研究者将软件系统抽象成网络结构(软件网络),即将软件元素(数据对象、 方法、模块、类、构件、子系统等)视为节点,元素之间的关系作为连接各节点的无向(有向) 边,采取软件工程和复杂网络相关理论相结合的研究方法,以分析软件结构特征为着眼点,以理解软件的结构特性,为软件开发和维护提供支持为目标,从表征、分析、度量和应用四个方面来对面向对象软件静态结构进行分析,取得了一些成果,这些研究成果对指导面向对象(Object-Oriented,00)软件的开发具有一定的指导意义。如今面向服务软件 (Service-Oriented Software, SOS)已经日益成为主流,我们有必要研究SOS的结构,挖掘其结构中蕴含的知识,更好地指导SOS的开发。服务发现和服务组合吸引了国内外众多学者的关注,成为SOC领域中的关键问题。但是目前的服务缺少分类信息,给服务发现、检索以及服务资源的管理带来不便。如果采用手工的方式对服务分类,当服务数量大时显然是不可取的,因此如何实现服务的自动分类构成SOC的挑战。与此同时,服务组合中服务的可组合关系往往是根据服务间的输入输出来进行判断的,这一原则过于严格。那么除了输入输出匹配外,是否存在一种新的服务匹配方法,挖掘服务间的潜在可组合关系。
技术实现思路
本专利技术主要是解决现有技术所存在的目前的服务缺少分类信息,给服务发现、检索以及服务资源的管理带来不便等的技术问题;提供了一种可以实现服务的自动分类,为服务添加分类信息,从而给服务发现、检索、以及服务资源的管理提供便利的。本专利技术还有一目的是解决现有技术所存在的服务组合中服务的可组合关系往往是根据服务间的输入输出来进行判断的,这一原则过于严格等的技术问题;提供了一种重用历史开发经验,为软件开发者提供可组合的服务,从而为面向服务的软件开发提供支持,同时,利用服务组合(SOS)的历史信息,从结构角度(二部图及其投影)入手,挖掘结构中蕴含的知识,最终实现服务分类和和服务推荐,方法利用的信息少,并且简便易操作的。 本专利技术的上述技术问题主要是通过下述技术方案得以解决的,其特征在于,包括服务分类步骤以及服务推荐步骤,具体方法如下 所述的服务分类步骤包括步骤1.1,收集SOS的元信息数据,包括S0S的名称、SOS描述信息、SOS使用的服务集合、标识SOS的标签、SOS加入的时间、SOS的开发者、SOS的地址,并将收集SOS的元信息数据进行数据错误处理,这些处理后的数据存于本地数据库;步骤1. 2,解析步骤1. 1获得的数据,分析SOS和服务之间的构成关系,并将这种构成关系用二部图表示,所述二部图包含两类节点,包括代表SOS的节点和代表服务的节点;步骤1. 3,将步骤1. 2中得到的二部图在SOS维度进行投影,得到相应的一维投影图一SOS相似步骤1. 4,利用聚类算法或社区发现算法对步骤1. 3中的SOS相似图中的节点进行聚类,将SOS节点划分成若干类并检查每一类中各SOS后为各类指定类别名;步骤1. 5,在步骤1. 4得到的SOS分类结果的基础上,根据步骤1. 2中SOS和服务间二部图,计算每一个服务在各类中参与的SOS数量,然后将其分到SOS数量最大的那个类中, 完成服务分类;所述的服务推荐步骤如下包括步骤2. 1,将步骤1. 2中得到的二部图在服务维度进行投影,得到相应的一维投影图即服务组合图,所述服务组合图的节点代表服务;边代表这条边两端节点表示的服务间的可组合关系;边上的权值表示这种可组合关系的强度,该权值可以通过这条边两端节点代表的服务在SOS中的共现关系来度量;步骤2. 2,根据步骤1.2中得到的SOS和服务的二部图分析SOS和服务间的使用模式,即SOS使用几个服务,服务被几个SOS使用,并分析这些数字的分布, 从而确定大部分SOS使用服务数的一个较小范围[足幻,确定范围[足钔的方法为若有#个303,将这#个SOS按其使用的服务数从小到大排序,取排在前面的「JV>cm%l个S0S,其中m%力大于等于go 小于100%的百分值,设排在第「JV5ci I%1位的SOS使用的服务数为认那么就设置为[1,奶;步骤2. 3,将使用频率高的前i 个服务作为核心服务; 步骤2. 4,选择执行以下步骤步骤2. 41,若用户还没选择任何服务,则为其推荐步骤2. 3中的核心服务; 步骤2. 42,若用户已经选择了一个服务,则根据步骤2. 1中服务组合图为其推荐与该服务相连的,并且它们间权值排在topi的服务α是一个用户输入的参数,若A大于该服务的度则A为该服务的度,否则A不变。A可以取大于0的任意整数。但是一般A值越大, 推荐算法在推荐服务的时候所需时间越长;步骤2. 43,若用户已选择了 2项(包括2项)以上的服务首先求这些服务的所有两两组合;然后针对每一种组合,在服务组合图中求以这一组合中两个服务为起止点,且包含其它服务(所选择服务中除这一组合中两个服务外的服务)的所有路径;最后分别求每条路径的边权和,并按路径的边权和对所有路径降序排列,将topi路径推荐给用户(一般推荐的都是路径上节点数在5以内的路径)。在上述的,所述步骤1. 2中,所述代表SOS的节点和代表服务的节点均存在边,表示SOS和服务之间的构成关系,S卩如果一个 SOS由3个服务构成,则代表这个SOS的节点分别和代表服务的3个节点间存在边,但是同类的节点间不存在边,即代表SOS的节点间和代表服务的节点间不存在边。在上述的,所述步骤1. 3中,SOS相似图的节点代表SOS软件;网络的边表示其两端SOS间存在相似性关系,即SOS间存在相似性则有边,没有任何相似性则无边;边上的权值,表示这两个SOS间的相似度,该权值可以通过这两个SOS之间元信息进行度量,包括描述信息的相似性、共用的服务、共用的标签、 共同的开发者。因此,本专利技术具有如下优点1.可以实现服务的自动分类,为服务添加分类信息, 从而给服务发现、检索、以及服务资源的管理提供便利;2.重用历史开发经验,为软件开发者提供可组合的服务,从而为面向服务的软件开发提供支持,同时,利用服务组合(SOS)的历史信息,从结构角度(二部图及其投影)入手,挖掘结构中蕴含的知识,最终实现服务分类和和服务推荐,方法利用的信息少,并且简便易操作。附图说明图1 mashup和API服务二部图及其投影图示意图; 图2为本实施例中最终分类后本文档来自技高网
...

【技术保护点】
1.一种基于服务组合历史的服务分类和推荐方法,其特征在于,包括服务分类步骤以及服务推荐步骤,具体方法如下:所述的服务分类步骤包括:步骤1.1,收集SOS的元信息数据,包括:SOS的名称、SOS描述信息、SOS使用的服务集合、标识SOS的标签、SOS加入的时间、SOS的开发者、SOS的地址,并将收集SOS的元信息数据进行数据错误处理,这些处理后的数据存于本地数据库;步骤1.2,解析步骤1.1获得的数据,分析SOS和服务之间的构成关系,并将这种构成关系用二部图表示,所述二部图包含两类节点,包括代表SOS的节点和代表服务的节点;步骤1.3,将步骤1.2中得到的二部图在SOS维度进行投影,得到相应的一维投影图——SOS相似图;步骤1.4,利用聚类算法或社区发现算法对步骤1.3中的SOS相似图中的节点进行聚类,将SOS节点划分成若干类并检查每一类中各SOS后为各类指定类别名;步骤1.5,在步骤1.4得到的SOS分类结果的基础上,根据步骤1.2中SOS和服务间二部图,计算每一个服务在各类中参与的SOS数量,然后将其分到SOS数量最大的那个类中,完成服务分类;所述的服务推荐步骤如下包括:步骤2.1,将步骤1.2中得到的二部图在服务维度进行投影,得到相应的一维投影图即服务组合图,所述服务组合图的节点代表服务;边代表这条边两端节点表示的服务间的可组合关系;边上的权值表示这种可组合关系的强度,该权值可以通过这条边两端节点代表的服务在SOS中的共现关系来度量;步骤2.2,根据步骤1.2中得到的SOS和服务的二部图分析SOS和服务间的使用模式,即SOS使用几个服务,服务被几个SOS使用,并分析这些数字的分布,从而确定大部分SOS使用服务数的一个较小范围[A,B],确定范围[A,B]的方法为:若有N个SOS,将这N个SOS按其使用的服务数从小到大排序,取排在前面的                                                个SOS,其中,为大于等于小于100%的百分值,设排在第位的SOS使用的服务数为Q,那么就设置[A,B]为[1,Q];步骤2.3,将使用频率高的前B个服务作为核心服务;步骤2.4,选择执行以下步骤:步骤2.41,若用户还没选择任何服务,则为其推荐步骤2.3中的核心服务;步骤2.42,若用户已经选择了一个服务,则根据步骤2.1中服务组合图为其推荐与该服务相连的,并且它们间权值排在top-k的服务,其中,k是一个用户输入的参数,若k大于该服务的度则k为该服务的度,否则k不变,k取大于0的任意整数,k值越大,推荐算法在推荐服务的时候所需时间越长;步骤2.43,若用户已选择了大于等于2项以上的服务:首先求这些服务的所有两两组合;然后针对每一种组合,在服务组合图中求以这一组合中两个服务为起止点,且包含其它服务(所选择服务中除这一组合中两个服务外的服务)的所有路径;最后分别求每条路径的边权和,并按路径的边权和对所有路径降序排列,将top-k路径推荐给用户。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李兵潘伟丰邵波
申请(专利权)人:武汉大学
类型:发明
国别省市:83

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

1