《一种基于WEB服务的仿真功能信息聚类方法.pdf》由会员分享,可在线阅读,更多相关《一种基于WEB服务的仿真功能信息聚类方法.pdf(9页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103077202 A(43)申请公布日 2013.05.01CN103077202A*CN103077202A*(21)申请号 201210580107.9(22)申请日 2012.12.27G06F 17/30(2006.01)(71)申请人北京仿真中心地址 100854 北京市海淀区永定路142信箱30分箱十一室(72)发明人毕敬(74)专利代理机构北京正理专利代理有限公司 11257代理人张雪梅(54) 发明名称一种基于Web服务的仿真功能信息聚类方法(57) 摘要本发明涉及一种基于Web服务的仿真功能信息聚类方法,该方法将仿真服务注册中心中大量可用的仿真服务。
2、按照其功能信息进行聚类分析,分别提出了层次化的仿真服务功能相似度的度量方法和按照编程风格及命名规则的服务描述信息预处理方法。在此基础上,通过设定功能阈值参数构建相似度图,得到仿真服务功能相似网络。最后结合结构化网络聚类算法对仿真服务注册中心中的仿真服务进行聚类。实验结果表明,提出的聚类方法能够有效地提高Web服务的聚类效果,改善仿真服务的发现性能,实现从大量可用的仿真服务中快速准确地找到所需服务。(51)Int.Cl.权利要求书1页 说明书5页 附图2页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书5页 附图2页(10)申请公布号 CN 103077202 AC。
3、N 103077202 A1/1页21.一种基于Web服务的仿真功能信息聚类方法,其特征在于,该方法包括如下步骤:1)针对任意两个仿真服务,分析与这两个仿真服务相关联的两个WSDL文件中对应元素的信息,计算这两个WSDL文件对应元素的相似度,并将得到的这些相似度的集成值作为任意两个仿真服务的功能相似度;2)对以上WSDL文件中提取出的对应元素的信息进行预处理,进一步计算第一步中提到的各层次的相似度;3)根据步骤2得到的任意两个仿真服务之间的功能相似度,设定功能相似度阈值参数构建相似度图G,得到仿真服务功能相似网络;4)通过仿真功能相似网络中结点之间如何共享邻居结点对结点进行划分,将仿真服务注册。
4、中心中的仿真服务进行聚类。2.根据权利要求1所述的一种基于Web服务的仿真功能信息聚类方法,其特征在于,所述相应不同层次的相似度包括元素相似度、片段相似度、WSDL相似度和仿真服务相似度。3.根据权利要求1所述的一种基于Web服务的仿真功能信息聚类方法,其特征在于,所述信息进行预处理方法的具体步骤如下,301)提取出有特色的领域特性词汇;302)将任意风格、形式不一的词进行标准化,转化为驼峰式;303)对每一个驼峰式的标准词进行处理并转化为许多不同的子词,记为subnames;304)采用stemming方法来对subnames进行处理,以缩减为对应的词根形式;305)建立了一个停用词表以去除。
5、一些常见词的干扰,所有出现在停用词表中的词将会被过滤掉。4.根据权利要求1所述的一种基于Web服务的仿真功能信息聚类方法,其特征在于,所述设定功能相似度阈值参数构建相似度图G具体方法为,对于任意两个仿真服务SWSa,SWSb,如果Sim(SWSa,SWSb),则存在一条边连接SWSa和SWSb,否则二者之间不连接边。5.根据权利要求1所述的一种基于Web服务的仿真功能信息聚类方法,其特征在于,所述对仿真服务注册中心中的仿真服务进行聚类的步骤如下:501)先遍历图G中的所有结点从而找到图G中的所有满足给定参数要求的结构上相连接的簇。开始时所有结点被标记为未分类结点,该聚类算法将每一个结点分为簇中。
6、的成员结点或者非簇成员结点,对于每一个尚未分类的结点,该聚类算法检查该结点是否为核心结点,如果是,那么从该结点可以产生一个簇,否则,该结点标记为非成员结点;502)为了找到一个新的簇,从任意一个核心结点v出发,寻找所有的从v结构可达的结点,将与结点v相邻的所有邻居结点插入到一个队列中,对于队列中的每一个结点,将该结点直接可达的所有尚未分类的结点插入到队列中,重复此过程直到队列为空;503)针对非簇成员结点,进一步将其划分为集线点和离群点,如果一个孤立的结点与两个以上簇相连接,那么该结点被划分为集线点,否则,该结点为离群点。权 利 要 求 书CN 103077202 A1/5页3一种基于 Web。
7、 服务的仿真功能信息聚类方法技术领域0001 本发明涉及一种仿真功能信息聚类方法,特别是涉及一种基于Web服务的仿真功能信息聚类方法。背景技术0002 随着仿真系统不断地增多,分布于不同部门的各仿真系统之间的结构差异越来越大,这些遗留的仿真系统之间往往需要互联互通。此外,新开发的仿真系统也需要与遗留系统进行通信,已达到有效地利用现有系统的目的。然而,遗留仿真系统之间以及与新开发的仿真系统之间的异构性给系统相互之间的通信带来了难题。利用Web服务技术的松散耦合、动态扩展和技术中立等特性,可以对仿真系统进行服务化封装,将其转变为仿真服务,来屏蔽仿真系统的分布和异构性,从而实现对仿真系统的透明使用。。
8、0003 同时,随着可用的仿真服务快速增长,如何在仿真服务注册中心中从大量可用的仿真服务中快速准确地找到所需的服务就变得十分必要和困难。由于仿真服务是由不同的组织机构开发的,使得仿真服务的描述信息缺乏统一的标准,带有很强的随意性,并在一定程度上取决于开发人员的喜好。因此把在仿真服务注册中心中注册的仿真服务按照其功能信息进行聚类分析能够改善仿真服务的发现性能。然而,现存的仿真服务聚类方法存在一些不足。首先,现存的方法在度量仿真服务功能相似度时仅仅考虑了Web服务描述语言(WSDL)文件中部分元素的信息;其次,在仿真服务信息预处理中,目前的方法没有考虑到编程风格和命名规则。发明内容0004 针对以。
9、上现有技术的不足,本发明提供一种基于Web服务的仿真功能信息聚类方法,以解决在仿真服务注册中心中从大量可用的仿真服务中快速准确地找到所需的服务的问题。0005 本发明的目的通过以下技术方案来实现:0006 一种基于Web服务的仿真功能信息聚类方法,该方法包括如下步骤:0007 1)针对任意两个仿真服务,分析与这两个仿真服务相关联的两个WSDL文件中对应元素的信息,计算这两个WSDL文件对应元素的相似度,并将得到的这些相似度的集成值作为任意两个仿真服务的功能相似度;0008 2)对以上WSDL文件中提取出的对应元素的信息进行预处理,进一步计算第一步中提到的各层次的相似度;0009 3)根据步骤2。
10、得到的任意两个仿真服务之间的功能相似度,设定功能相似度阈值参数构建相似度图G,得到仿真服务功能相似网络;,0010 4)通过仿真功能相似网络中结点之间如何共享邻居结点对结点进行划分,将仿真服务注册中心中的仿真服务进行聚类。0011 进一步,所述相应不同层次的相似度包括元素相似度、片段相似度、WSDL相似度和说 明 书CN 103077202 A2/5页4仿真服务相似度。0012 进一步,所述信息进行预处理方法的具体步骤如下,0013 301)提取出有特色的领域特性词汇;0014 302)将任意风格、形式不一的词进行标准化,转化为驼峰式;0015 303)对每一个驼峰式的标准词进行处理并转化为许。
11、多不同的子词,记为subnames;0016 304)采用stemming方法来对subnames进行处理,以缩减为对应的词根形式;0017 305)建立了一个停用词表以去除一些常见词的干扰,所有出现在停用词表中的词将会被过滤掉。0018 进一步,所述设定功能相似度阈值参数构建相似度图G具体方法为,对于任意两个仿真服务SWSa,SWSb,如果Sim(SWSa,SWSb),则存在一条边连接SWSa和SWSb,否则二者之间不连接边。0019 进一步,所述对仿真服务注册中心中的仿真服务进行聚类的步骤如下:0020 501)先遍历图G中的所有结点从而找到图G中的所有满足给定参数要求的结构上相连接的簇。。
12、开始时所有结点被标记为未分类结点,该聚类算法将每一个结点分为簇中的成员结点或者非簇成员结点,对于每一个尚未分类的结点,该聚类算法检查该结点是否为核心结点,如果是,那么从该结点可以产生一个簇,否则,该结点标记为非成员结点;0021 502)为了找到一个新的簇,从任意一个核心结点v出发,寻找所有的从v结构可达的结点,将与结点v相邻的所有邻居结点插入到一个队列中,对于队列中的每一个结点,将该结点直接可达的所有尚未分类的结点插入到队列中,重复此过程直到队列为空;0022 503)针对非簇成员结点,进一步将其划分为集线点和离群点,如果一个孤立的结点与两个以上簇相连接,那么该结点被划分为集线点,否则,该结。
13、点为离群点。0023 本发明的优点在于:0024 1.该方法能够识别出图中的簇、集线点和离群点,能够保证在识别出的每一个簇中的仿真服务彼此足够相似。此外,在每一个簇中均存在一个或多个核心的仿真服务,这些仿真服务可以作为最佳匹配服务返回给仿真服务消费者。0025 2.能够实现将服务注册中心的仿真服务进行聚类,达到从大量可用的服务中快速准确地找到满足用户特定功能的仿真服务的目的。附图说明0026 图1一种基于Web服务的仿真功能信息聚类方法流程示意图;0027 图2构造仿真服务功能相似网络的算法过程图;0028 图3采用本发明得到的部分仿真服务的聚类结果图。具体实施方式0029 此处实施方式以仿真。
14、服务为例说明本发明具体的方法,本发明也可适用于其他相关的应用。如图1所示为本发明一种基于Web服务的仿真功能信息聚类方法流程示意图,下面对该方法步骤进行详细说明。0030 步骤1:分析任意两个仿真服务中与该仿真服务相关联的WSDL文件中相应元素的说 明 书CN 103077202 A3/5页5信息,计算每个WSDL文件相应元素的相似度,并将得到的这些相似度的集成值作为任意两个仿真服务的功能相似度。0031 每一个仿真服务均有一个与之相关联的WSDL文件,该文件描述了该仿真服务的功能、接口和参数等信息。在度量仿真服务间的功能相似度时不同的元素具有不同的作用,因此分别计算服务的对应元素的相似度,最。
15、后将这些相似度的集成值作为两个仿真服务的功能相似度。根据WSDL文件的结构,分析了现存的WSDL文件的结构,进一步定义了仿真服务的功能相似度。具体方法如下:0032 计算元素相似度,Sim(e)。给定WSDLa中的元素ea和WSDLb中的元素eb,元素相似度Sim(ea,eb)计算如下式(1):0033 0034 其中,ea.Tagname指元素ea的标签名,SimText(ea,eb)指基于元素名称和对应的文件描述信息的文本相似度,该文本相似度采用提出的信息预处理方法即可得出。具体计算过程如下,在对分别由元ea和eb提取的对应信息进行预处理之后,能够得到两个关键字列表。然后将TF-IDF(词。
16、频和反文档频率)加权技术应用到向量空间模型中,并采用余弦相似度来计算元素ea和eb间的相似度,结果即为SimText(ea,eb)。0035 计算片段相似度Sim(seg)。在第一步得到元素相似度后,将WSDL中的元素划分为若干个片段,利用加权平均的方法计算片段相似度。给定两个WSDL中的两个片段,WSDLa中的sega和WSDLb中的segb,片段相似度Sim(sega,segb)计算方法如下式(2):0036 0037 其中nseg指片段sega或segb元素的个数。本文赋予元素相似度Sim(eai,ebi)(i1,2,nseg)权重i,其中eai(ebi)代表sega(segb)中的元素。
17、。0038 计算WSDL相似度,Sim(WSDL)。在得到WSDL中不同片段的相似度后,利用加权平均的方法计算WSDL相似度。具体计算方法如下式(3):0039 0040 其中,n代表WSDLa或WSDLb中片段的数量。分别赋予片段相似度Sim(segai,segbi)(i1,2,n)权重i,segai(segbi)代表WSDLa(WSDLb)中的一个片段。0041 计算仿真服务功能相似度Sim(SWS)。在得到WSDL相似度,即可得到仿真服务功能相似度Sim(SWS),如下式(4):0042 Sim(SWSa,SWSb)=Sim(WSDLa,WSDLb) (4)0043 最终得到的Sim(S。
18、WSa,SWSb)即为两个服务之间的相似度。按照此方法即可准确地度量任意两个仿真服务之间的相似度。0044 步骤2:提出了一种信息预处理方法0045 为了更加准确快速地计算第一步中提到的各层次相似度,提出了一种信息预处理方法。该方法充分考虑到了编程风格和命名规则。为了提高聚类效果,从对应的WSDL文件中提取出的每一个词均经过特殊的处理。具体步骤如下:0046 201)为了将包含在WSDL中的半结构化的信息转化为存储在数据库中的结构化的说 明 书CN 103077202 A4/5页6数据,利用dom4j工具解析WSDL文件并将对应的信息存储到数据库中,则可提取出不同的信息来分别计算Simi(se。
19、ga,segb)(i1,2,n)。这些信息由对应的元素名称及文件描述信息组成。0047 202)为了达到较好的预处理效果,将对应的文件描述信息按空格进行划分,进而得到对应的字符串列表,其中的每一个字符串与元素名称的处理方法相同。为了描述的方便,将得到的每一个字符串与元素名称统一记为names。为了提高聚类的效果,不将names简单地视为单一的字符串,而是对names按照以下的步骤进行特殊的处理。0048 203)从names中提取出特殊的领域特性词汇(如SMS,ICD,AMI,EMBL)等。这些领域特性词汇十分具有代表性,能够在很大程度上代表该仿真服务的功能。0049 204)将任意风格的na。
20、mes转化为标准的驼峰式风格,并将标准的驼峰式的names划分为若干个subnames。例如,给定一个单词SMSaudio_System。首先提取出一个领域特性词SMS,其次将剩余的audio_System转化为标准词AudioSystem,最后,该词被转化为两个子词:audio和system。0050 205)采用porter提出的stemming算法来对subnames进行处理,以缩减为对应的词根形式。0051 206)为了去除一些常见词的干扰,建立了一个停用词表。所有出现在停用词表中的词将会被过滤掉。经过以上处理可得到对应的关键字列表,即可采用提出的计算元素相似度的方法来得到各层次的相似。
21、度,进而得到仿真服务功能相似度。0052 经过以上步骤,即可得到任意两个仿真服务功能相似度。0053 步骤3:构造仿真服务功能相似网络0054 在得到任意两个仿真服务之间的相似度后,根据设定的功能相似度阈值参数即可构建相似度图G,参数的值由提出的功能相似度模型计算得来。G由若干仿真服务组成,每个仿真服务是图G中的一个结点。任意两个仿真服务SWSa和SWSb,如果Sim(SWSa,SWSb),则存在一条边连接SWSa和SWSb,否则二者之间不连接边。按此方法构建仿真服务功能相似网络,如图2所示为构建仿真服务功能相似网络流程示意图。0055 步骤4:对仿真服务进行聚类0056 在以上提出的仿真服务。
22、功能相似度模型和信息预处理方法的基础上,并结合结构化网络聚类方法,对仿真服务注册中心中的仿真服务进行聚类。0057 本发明依据结点之间的近邻关系而不是结点之间的直接连接进行聚类。根据结点之间如何共享邻居结点来决定如何划分结点。具体步骤如下:0058 401)先遍历图G中的所有结点找到图G中的所有满足给定参数要求的结构上相连接的簇。开始时所有结点被标记为未分类结点,该聚类算法将每一个结点分为簇中的成员结点或者非簇成员结点,对于每一个尚未分类的结点,该聚类算法检查该结点是否为核心结点,如果是,那么从该结点可以产生一个簇,否则,该结点标记为非成员结点;0059 402)为了找到一个新的簇,从任意一个。
23、核心结点v出发,寻找所有的从v结构可达的结点,将与结点v相邻的所有邻居结点插入到一个队列中,对于队列中的每一个结点,将该结点直接可达的所有尚未分类的结点插入到队列中,重复此过程直到队列为空;0060 403)针对非簇成员结点,进一步将其划分为集线点和离群点,如果一个孤立的结点与两个以上簇相连接,那么该结点被划分为集线点,否则,该结点为离群点。说 明 书CN 103077202 A5/5页70061 该方法能够识别出图中的簇、集线点和离群点,能够保证在识别出的每一个簇中的仿真服务彼此足够相似。此外,在每一个簇中均存在一个或多个核心的仿真服务,这些仿真服务可以作为最佳匹配服务返回给仿真服务消费者。。
24、该方法快速高效,对图中的每个结点仅遍历一次。此外,识别出集线点服务也很有意义。因为集线点服务不属于任何簇但是却连接了不同的簇。如果集线点服务连接的所有簇的仿真服务全部失效,则可以将集线点服务作为替代服务来满足仿真服务消费者的请求。相反,离群点服务因为与很少的服务在功能上相似,因此应当视为服务中的噪音数据。该算法能够识别出并从簇中移除离群点服务从而提高仿真服务聚类效果。0062 经过以上步骤,就能够实现将服务注册中心的仿真服务进行聚类,进而达到从大量可用的服务中快速准确地找到满足用户特定功能的仿真服务的目的。图3表示出了利用该发明对服务注册中心上现有的部分仿真服务进行聚类得到的结果图。图中黑圆点。
25、、三角形和圆圈分别代表集线点服务、离群点服务和功能簇。3个黑圆点WS136,WS212,WS458代表连接不同功能簇的集线点服务。圆圈Ci(i1,2,18)的大小表明对应的功能簇中服务的个数,圆圈中的数字表示功能簇中服务的个数。连接不同圆圈的实线表明对应的功能簇之间存在功能相似的服务。与此类似,集线点和离群点服务的连接用虚线表示。由于离群点服务较多并且是孤立的,图中仅仅表示出了部分离群点服务。由该图可知,聚类的结果验证了本发明的有效性。0063 应当理解,以上借助优选实施例对本发明的技术方案进行的详细说明是示意性的而非限制性的。本领域的普通技术人员在阅读本发明说明书的基础上可以对各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。说 明 书CN 103077202 A1/2页8图1图2说 明 书 附 图CN 103077202 A2/2页9图3说 明 书 附 图CN 103077202 A。