1.一种面向全局社交服务网的Web服务聚类方法,其特征在于:所述方法包括如下步骤:第一步:建立一个面向全局社交服务网的Web服务聚类框架,框架分为服务注册模块、服务运行信息采集模块、服务聚类模块和服务可视化模块;
1.1、服务注册模块:用于实现REST服务及SOAP服务信息的注册,将原子服务注册到服务库中,为服务运行QoS采集、服务组合、服务聚类提供相关的服务资源;
1.2、服务运行信息采集模块:用于采集原子服务的组合日志以及原子服务的运行QoS信息,并分别记录到服务组合日志库、服务运行QoS信息库中;
1.3、服务聚类模块:用于结合原子服务库中的AS、服务组合日志库、服务运行QoS信息库,采用GSSN聚类算法进行聚类,为服务可视化做好准备;
1.4、服务可视化模块:用于通过可视化操作界面,基于GSSN,提供结合聚类的可视分析功能,辅助服务消费者更为直观的挖掘服务背后的隐藏信息;
第二步:基于所述聚类框架,Web服务聚类方法的步骤如下:
步骤2.1:Web服务集成;针对采用WSDL描述的SOAP Web服务和采用自然语言描述的REST Web服务进行集成,所述Web服务描述文档来源于能够被访问的Web服务注册中心或Web服务门户网站;
步骤2.2:Web服务相似度计算;根据集成后的Web服务信息,结合服务运行日志中的QoS信息分别进行Web服务相似性计算;相似性计算包括以下4个过程:功能相似度计算、领域标签相似度、QoS相似度、最后综合前三步得到的结果,计算生成综合相似度;
步骤2.3:GSSN聚类;
服务组合日志库中的信息代表着多个不同的局部社交服务网,记录着每个局部社交服务网中服务节点之间的连接关系,先通过将各个不同的局部社交服务网关联到一起生成一个初始GSSN,之后再结合GSSN聚类算法对GSSN进行进一步优化;GSSN聚类算法分为三阶段:第一阶段,根据服务组合日志建立服务间的局部社交服务网,通过局部社交服务网的互相关联推导出PGSSN,初始PGSSN建立的依据为历史数据,仅能展现已有的服务关系;
第二阶段,对在PGSSN中的AS,统计AS的SRHSA,计算社交相似度,根据社交相似度进行聚类不断扩大服务簇;
第三阶段,对原子服务库中的AS,采用K-means算法,基于综合相似度进行聚类后,根据服务簇间相似度阀值划分至PGSSN中相似的服务簇中,融合后的新服务簇即为优化后的GSSN;
步骤2.4:GSSN可视化;
对聚类后的结果进行可视化,辅助用户更为直观的挖掘服务背后的隐藏信息。
2.如权利要求1所述的一种面向全局社交服务网的Web服务聚类方法,其特征在于:所述步骤2.1的过程如下:步骤2.1.1、SOAP服务集成
针对SOAP服务,爬取WSDL描述信息后,由于WSDL为一种XML,可采用dom4J等JAVA库对WSDL文档进行解析;由于一个WSDL中可能包含多个AS信息,提取出所有AS的服务名称、Tag标记信息、服务的描述文本、输入输出参数;其中,SOAP服务的WSDL解析过程如下:首先,获得WSDL的根节点,解析出所有的Service节点,获得每个AS的服务名称,根据WSDL中的服务描述信息,提取词语,移除停用词,计算词频得到Tag标记信息,然后解析出每个AS的方法名及其对应的输入输出参数;最终得到SOAP服务的名称、功能描述、输入输出参数、领域标签信息;
步骤2.1.2、REST服务集成
REST服务采用基于自然语言描述的HTML文档,HTML文档详细描述了REST服务的名称、功能、输入输出参数、领域标签信息;利用网络爬虫可对HTML文档进行爬取,网页去噪,分词,去停用词,再建立对应网页的数据词典进行服务特征提取,最后得到REST服务的详细信息;如PWeb上的服务详情页满足特定的编码规则,服务名称使用“h1”、“header”语义化HTML5标签表示,tag标签使用CSS样式类“tags”指明,利用这些规则,建立爬取规则库,爬取REST服务相关描述信息进行特征提取,其中,特征提取过程如下:首先,遍历REST服务相关网页,将句子划分为词语,移除无意义的词语如“a”、“the”词汇;其次,建立表示输入、输出、标签、服务描述等规则的数据词典;进一步,在遍历文本过程中,遇到如“output”、“input”数据词典中表征输入输出信息的词语,对其后面的句子进行输入输出特征提取;遇到如“provide”、“allow”数据词典中表征服务功能描述信息词语,对其后面的句子进行描述信息提取;遇到如“category”、“tags”数据词典中表征标签信息的词语,对其后面的句子进行Tag特征提取,最后返回REST服务特征信息。
3.如权利要求1所述的一种面向全局社交服务网的Web服务聚类方法,其特征在于:所述步骤2.2中,所述相似性计算过程如下:步骤2.2.1、功能相似度计算
服务的聚类首先是功能聚类,即功能相同的服务聚为一簇,而功能大多采用自然语言描述;语义Web服务是Web服务的扩展,能够更加准确地表达Web服务功能含义,增强人与机器,机器与机器之间的交互性;通过语义描述,Web服务成为机器可读、可理解、可操作的实体,而WordNet是比较详尽的词语语义知识词典,用来度量不同词汇之间的语义相似度;当两个词汇的距离越大,其相似度越低,反之,两个词汇的距离越小,其相似程度越大;两个概念之间的相似度计算方法如下:其中,O1,O2分别为不同的概念,Dis(O1,O2)代表2个概念之间的距离,是O1与O2之间的最短路径长度;
针对服务功能聚类问题,对特征提取后的服务名称、服务描述信息,服务输入输出参数进行概念相似度计算,采用WordNet语义词典构建领域本体层次结构,Web服务功能相似度计算方法如下:simfunc(Asi,Asj)=WN×simname(Asi,Asj)+WD×simdes(Asi,Asj) +WI×simin(Asi,Asj)+WO×simout(Asi,Asj)Simname为服务名称相似性,Simdes为服务功能信息描述相似性,Simin为服务输入匹配度,Simout为服务输出匹配度;WN,WD,WI,WO分别为对应的权重,在0到1之间;
步骤2.2.2、领域标签相似度
领域标签信息也属于Web服务的功能性描述,包括服务所属的领域和服务的来源;
给定Web服务ASi以及其对应的标签集合Ti,根据Jaccard系数,计算出两个Web服务ASi,ASj之间的标签相似度如下:其中,N(Ti∩Tj)表示同时拥有的标签数目;
步骤2.2.3、QoS相似度
选取便于度量的属性对Web服务的QoS进行度量,建立QoS向量如下所示:VQoS={a1,a2,…,an}
其中,an代表QoS属性,又可分为连续型和离散型,连续型包括响应时间和服务价格,离散型包括吞吐量,可用性,可靠性和信誉度,n代表可度量属性的个数;考虑到不同的an取值范围有着很大的差别,对值进行标准化计算,把值都转化为[0,1]之间的数;
对于离散型,利用如下公式进行归一化计算:
其中,num代表an属性取值的个数,index代表an属性取值在所有离散取值范围中的索引;
对于连续型,利用最小-最大规范法进行归一化计算:
其中, 代表功能相同的服务簇中an属性的最大值, 代表功能相同的服务簇中an属性的最小值;
接着,对归一化计算后的QoS向量,计算2个Web服务的QoS相似度如下:步骤2.2.4、综合相似度集成
综合原子服务的功能相似度、领域标签相似度、QoS相似度,获得两个原子服务的综合相似度,其计算方法如下所示:sim(ASi,ASj)=α*simfunc(ASi,ASj)+β*simtag(ASi,ASj) +λ*simQoS(ASi,ASj)
其中,α,β,λ为权重,在0到1之间,根据综合相似度即可得到服务相似矩阵,为GSSN聚类做好准备。
4.如权利要求1或2所述的一种面向全局社交服务网的Web服务聚类方法,其特征在于:所述步骤2.3中,GSSN聚类算法的步骤如下:
步骤2.3.1:将现有的服务关系存储至服务组合日志库L中,L={N,R},其中N为各局部社交服务网节点的集合,R为各局部社交服务网社交关系的集合,即对任一局部社交服务网,其节点集合Nk={AS1,AS2,…ASi}和社交关系集合Rk={ASm,ASn∈Nk|
步骤2.3.2:遍历PGSSN中的AS,统计每个AS的强关系历史社交域并计算社交相似度,得到同簇服务;
步骤2.3.3:根据同簇服务,得到簇心服务,遍历所有簇心服务,将每个簇心服务的所有同簇服务聚为一个簇,根据簇中的簇心节点重复步骤2.3.3再次扩展服务簇,直到没有新的服务加入服务簇;
步骤2.3.4:对原子服务库中的AS,根据综合相似度,采用K-means算法聚类,划分至PGSSN中对应的服务簇中,优化PGSSN为GSSN。