发明名称 一种Web服务聚类的方法
摘要 本发明公开了一种Web服务聚类的方法,包括Web服务库,主控装置,标签库,该方法包括以下步骤:步骤一:使用VSM方法将Web服务转化为向量集合;步骤二:根据应用需求,确定Web服务的权重;步骤三:使用LSH方法对Web服务向量集合进行聚类。本发明的方法相对于现有技术的有益效果是:1、针对WSDL文档进行聚类,保持了与现有协议与技术的兼容性;2、比之Kmeans等方法,具有极高的效率;且Web服务向量空间维度越高,本发明的高效性越明显;3、Web服务聚类结果既可以用于Web服务发现,也可以用于Web服务组合,普适性较强,使本发明具有很强的向后兼容性。
申请公布号 CN102043863A 申请公布日期 2011.05.04
申请号 CN201010613232.6 申请日期 2010.12.30
申请人 浙江大学 发明人 吴健;马莹;王飞
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 杭州裕阳专利事务所(普通合伙) 33221 代理人 江助菊
主权项 1.一种Web服务聚类的方法,包括Web服务库(1):为存储WDSL文档的数据库,用于给现有Web建立索引,支持数据存取和写入;主控装置(2):它包括用户交互装置——为与用户IO交互的各种驱动;计算处理装置——包括内存,外存,CPU;用于获取Web服务的向量模型、运算聚类结果;数据库交互装置——包括数据库驱动及xml解析器,用户终端,输入输出设备及显示器,用于数据库通信、及用户对于某些场景或参数的选择;标签库(3):用于存储以序号表示的不同的权重组合、类别标签、及以索引形式存储的Web服务库中的Web服务,并存储相应的哈希值,支持数据读出及写入;其特征在于包括以下步骤:步骤一:使用VSM方法将Web服务转化为向量集合a.主控装置(2)从Web服务库(1)中读取当前所有Web服务的WDSL文档数据,若用户给定限制条件,则获取符合条件的Web服务;b.主控装置(2)获取Web服务后,使用VSM方法将Web服务集合转化为向量空间集合;所述VSM方法,是将每个所述WSDL文档中的“Web服务基本信息的描述”、“功能操作”、“输入参数”、“输出参数”以及“Qos”分割成一组关键词,表示为&lt; Des, Oper, Input, Output, Qos &gt;五个属性,每一个关键词代表一个维度,统计关键词在文档中的出现频率,并计算每一维向量在每个文档下的权重,进而将代表Web服务的WSDL文档转化为向量;每一维向量在每个文档下的权重为:<img file="969890DEST_PATH_IMAGE001.GIF" wi="123" he="44" />其中<img file="618784DEST_PATH_IMAGE002.GIF" wi="24" he="24" />表示第k个词在WSDL文档i中的权重,<img file="885817DEST_PATH_IMAGE003.GIF" wi="22" he="24" />表示第k个词在文档i中出现的次数,N表示集合中的全部文档数量,<img file="147034DEST_PATH_IMAGE004.GIF" wi="21" he="24" />表示包含第k个词的文档数量,继而采用公式<img file="612651DEST_PATH_IMAGE005.GIF" wi="99" he="69" />将<img file="871594DEST_PATH_IMAGE002.GIF" wi="24" he="24" />值规范化,将每一维向量的权重值规范在 [0,1]之间取值,而|<img file="688240DEST_PATH_IMAGE002.GIF" wi="24" he="24" />|即为第k维向量的长度,其中,t为空间向量维数,<img file="989033DEST_PATH_IMAGE006.GIF" wi="29" he="24" />即为t维空间向量中第k个位置的值;步骤二:根据应用需求,确定Web服务的权重主控装置(2)向用户发起询问,询问用户是否自行标定Web服务上述五个属性&lt; Des, Oper, Input, Output, Qos &gt;的权重值&lt;<img file="512419DEST_PATH_IMAGE007.GIF" wi="20" he="23" />Des,<img file="66897DEST_PATH_IMAGE008.GIF" wi="21" he="23" />Oper,<img file="105260DEST_PATH_IMAGE009.GIF" wi="21" he="24" />Input,<img file="645963DEST_PATH_IMAGE010.GIF" wi="21" he="23" />Output,<img file="873723DEST_PATH_IMAGE011.GIF" wi="21" he="24" />Qos &gt;系数<img file="271206DEST_PATH_IMAGE007.GIF" wi="20" he="23" />、<img file="128DEST_PATH_IMAGE008.GIF" wi="21" he="23" />、<img file="141259DEST_PATH_IMAGE009.GIF" wi="21" he="24" />、<img file="639237DEST_PATH_IMAGE010.GIF" wi="21" he="23" />、和<img file="207621DEST_PATH_IMAGE011.GIF" wi="21" he="24" />,其中<img file="987621DEST_PATH_IMAGE007.GIF" wi="20" he="23" />+<img file="870126DEST_PATH_IMAGE008.GIF" wi="21" he="23" />+<img file="284927DEST_PATH_IMAGE009.GIF" wi="21" he="24" />+<img file="289792DEST_PATH_IMAGE010.GIF" wi="21" he="23" />+<img file="790044DEST_PATH_IMAGE011.GIF" wi="21" he="24" />=1,若是,则由用户输入权重值,否则,使用该场景下的默认权重值系数,即<img file="210661DEST_PATH_IMAGE007.GIF" wi="20" he="23" />=<img file="244082DEST_PATH_IMAGE008.GIF" wi="21" he="23" />=<img file="216586DEST_PATH_IMAGE009.GIF" wi="21" he="24" />=<img file="141817DEST_PATH_IMAGE010.GIF" wi="21" he="23" />=<img file="428442DEST_PATH_IMAGE011.GIF" wi="21" he="24" />=0.2;步骤三:使用LSH方法对Web服务向量集合进行聚类a. 主控装置(2)获取从上述步骤二中得到的标定好权重的向量集合,通过使用LSH方法顺序处理各Web服务,计算每个Web服务对应的N个哈希值, <img file="319300DEST_PATH_IMAGE012.GIF" wi="126" he="63" />其中,向量<img file="603651DEST_PATH_IMAGE013.GIF" wi="13" he="30" />代表一个Web服务空间向量,<img file="140811DEST_PATH_IMAGE014.GIF" wi="18" he="30" />是一个向量,其维度与<img file="965548DEST_PATH_IMAGE013.GIF" wi="13" he="30" />相同,且服从高斯分布,b是一个范围在[0,w]的随机实数,w表示一个哈希桶的长度,为经验值,由操作者给定,通常情况下,在Web服务集合数量不超过10000的情况下,w值取[4,6]效果较好;在w值给定的情况下,反复随机选取向量<img file="707982DEST_PATH_IMAGE014.GIF" wi="18" he="30" />和随机实数b,获取构建哈希函数的变量,得到N个哈希函数,形成哈希函数族;b. 对N个哈希值都相同的Web服务进行处理,计算Web服务之间的距离,对于N个哈希值都相同的Web服务,将大多数距离相近的点标定为同一类,c. 判定上一步所述的距离相近的点中是否存在奇异点,若Web服务不为奇异点,则对该Web服务进行标定处理:若标签库中已有大量数据,则将N个哈希值合并成一个序列,并在标签库(3)中查询给定的权重值组合下该序列所对应的标签,若不存在该标签,则由主控装置(2)向用户发起询问,用户以文字形式为每个类别写入标签,若用户不想手工处理,则可由主控装置(2)标定随机数字标签;主控装置(2)将Web服务以索引形式写入标签库(3)中对应权重值及类别标签下,并标定这些Web服务已经处理;若Web服务为奇异点,则对该Web服务不做处理;d. 主控装置(2)对所述奇异点进行处理,将其邻近的若干个已写入标签库(3)中Web服务进行投票,将该Web服务以索引形式写入到标签库(3)中出现最频繁的与该Web服务对应的权重值组合及类别标签下,并标定该Web服务已被处理;e. 主控装置(2)向用户发起询问,是否继续进行新一轮聚类,若是,则返回步骤三a.继续进行,反之,则结束整个流程。
地址 310027 浙江省杭州市浙江省杭州市西湖区浙大路38号