一种基于聚焦搜索的wsdl搜集方法

文档序号:6584143阅读:415来源:国知局
专利名称:一种基于聚焦搜索的wsdl搜集方法
技术领域
本发明属于计算机和网络应用领域,具体涉及一种基于聚焦搜索的WSDL搜集方法。
背景技术
Internet为商业服务提供了开放、通用、标准的信息基础设施,并由此形成了新的商业模式(E-services, E-commerce, B2B, B2C, C2C, Virtual Organizations等)。有效发
现和整合已有的商业服务并形成新的增值服务是这些新的商务模式得以实施的核心,面向
服务体系结构(SOA)是这一模式的有力支撑,Web服务是面向服务体系结构(SOA)的具体实现。Web服务是基于开放的Internet环境下的一种新型Web应用程序,是面向服务体系结构(SOA)背后的关键性支持技术之一。因此,如何从互联网上搜集出大量的Web服务来支撑这些新的商务模式并形成新的增值服务具有十分重要的意义(例如,某客户要去旅游,他可能要在网上预订酒店、网上订票、电子签证、网上银行、网上购物等,如果把这些有关联的服务有效的整合并封装在一起,就可以在网上发布一个内容更全面的旅游服务,给客户带来方便,降低用户旅游成本,形成新的增值业务)。

发明内容
本发明所要解决的技术问题是提供一种基于聚焦搜索的WSDL搜集方法。
为实现上述目的,本发明的技术方案为 —种基于聚焦搜索的WSDL搜集方法,其特征在于,包括以下步骤 1)定义要搜集的WSDL主题模型的形式化描述和搜索关键词; 2)提交该搜索关键词给通用搜索引擎进行搜索,从搜索到的结果中获得与WSDL
主题模型的形式化描述相关的URL链接;得到所有相关URL链接的集合Q ; 3)在集合Q内启动新聚焦搜索爬虫线程对于所有相关URL链接的集合Q第j个
URL, j为集合Q中的URL的序号,启动新聚焦搜索爬虫线程,该新聚焦搜索爬虫线程步骤为
新聚焦搜索爬虫在邻域U(aj, o ) (aj G Q)内结合WSDL主题模型的形式化描述进行搜索,当
在邻域U(aj, o)内搜索完成后该线程退出;然后进行下一个新聚焦搜索爬虫线程;aj为第
j个URL,即Web图中的起始节点的URL ; o为半经,即Web图中最远的目标节点到起始节点
的路径长度;搜索过程中采用模式匹配KMP算法; 4) j从1开始,直到集合Q中所有的URL元素遍历完,则结束,返回搜索结果。
所述的通用搜索引擎包括百度、谷歌和雅虎搜索的引擎;所述的o的取值为5 200。 所述的WSDL主题模型的形式化描述为本领域的公知且常用的技术,定义如下
TWSDL(def( 't, i,m,p,o,b, s, ), 'xml, , VN) , def为WSDL文档的根元素,'xml,是WSDL的文档类型,VN是WSDL的版本号,根元素def下包含7个元素t、 i、 m、 p、 o、 b和s ;
t :定义Web服务使用的所有数据类型集合,可被元素的各消息部件所引用;
i :引用文件外定义的t和m; m :通信消息数据结构的抽象类型化定义,如果把操作看作函数,m中定义的就是
该函数的参数,使用t所定义的类型来定义整个参数的数据结构;
o :单个O描述一个访问入口的请求/响应消息对; p:对于某个访问入口点类型所支持操作的抽象集合,即可以有零个、单个或多个P元素, 一个P元素可在o元素中定义一个或多个操作。
b :包含将p中的元素转变为具体表示的细节; S :协议/数据格式绑定与具体Web访问地址组合的单个服务访问点的集合。
本发明具有的有益效果是 1.通用搜索引擎覆盖资源丰富,内容广泛,可以保证较高的查全率; 2.由于充分利用了通用搜索引擎资源,开发的成本低,不仅对专业的用户适用,也
对中小型的普通用户同样适用; 3.该方法能够为相关学科研究和实验提供丰富的真实有效的Web服务数据支持,具有较高的科研价值和实用价值。


图1为本发明一种基于聚焦搜索的WSDL搜集方法的系统架构 图2为本发明聚焦搜索爬虫的系统结构图; 图3为本发明基于通用搜索引擎的最佳优先搜索WSDL方法的流程图。
图4为本发明互联网上的邻域U(a, o)示意图。
具体实施例方式
本发明基于聚焦搜索的WSDL搜集方法是新的商业模式实施的重要一部分。通过该方法收集Internet环境下大量分散的Web服务描述语言(WSDL :Web ServicesDescriptionLanguage),获取有效的Web服务,为有效发现和整合已有的商业服务并形成新的增值服务提供丰富的数据支撑,实现商业模式的应用价植。 本发明基于聚焦搜索的WSDL搜集方法主要包括集成通用搜索引擎接口 、WSDL主题模型和聚焦搜索爬虫。其中,集成通用搜索引擎环境主是要集成通用搜索引擎接口 (主要包括Google搜索引擎、百度搜索引擎和雅虎搜索引擎),WSDL主题模型是对互联网上发布的WSDL文档的结构进行形式化主题描述,聚焦搜索爬虫是该方法的主要部分,主要是搜取互联网上符合主题模型描述的WSDL文档。聚焦搜索爬虫是一种特殊的网络爬虫,其工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。 本发明基于聚焦搜索的WSDL搜集方法工作过程是首先定义要搜集的Web服务主题描述和搜索关键词,提交该搜索关键词给通用搜索引擎进行搜索,并对返回的页面内容利用现有的模式匹配KMP算法进行分析,如果返回内容符合Web服务的主题描述(即为Web服务),则保存该Web服务,如果不是Web服务,但对给定的关键词出现频率达到K(K值默认为IO,也可用户指定)次以上,则提取该页面中包含的超级链接(URL :Uniform Resource
4Locator),然后将网页地址作为聚焦爬虫的URL种子,并在每个URL种子中心所对应的邻域内结合该主题描述集中进行二次最佳优先搜索。 其中,通用搜索引擎接口集成主要是将通用搜索引擎(如Google, baidu, Yahoo等)接口集成在一起。对用户给定的搜索主题关键词,通用搜索引擎进行查询,对查询结果进行分析并提取页面信息和页面包含的URL,此处提取出的URL作为下面聚焦搜索爬虫搜索的初始种子。 其中,WSDL主题模型是根据WSDL文档的结构给出聚焦主题描述,WSDL文档是规范通用的Web服务的描述文档,其文档结构是统一固定的,在本发明中对WSDL主题模型的形式化描述为TWSDL(def( 't, i,m,p,o,b, s' ), 'xml' , VN) , def为WSDL文档的根元素,'xml'是WSDL的文档类型,VN是WSDL的版本号,根元素def下通常包含7个重要的元素(t :types, i :import, m :message, p :portType, o -operation, b :binding, s -service)。Types,定义了 Web服务使用的所有数据类型集合,可被元素的各消息部件所引用。它使用某种类型系统( 一般地使用XMLSchema中的类型系统)。Import :引用文件外定义的Types和Message。 Message,通信消息数据结构的抽象类型化定义。使用Types所定义的类型来定义整个消息的数据结构。Operation,对服务中所支持操作的抽象描述。一般单个Operation描述了 一个访问入口的请求/响应消息对。PortType,对于某个访问入口点类型所支持操作的抽象集合。这些操作可以由一个或多个服务访问点来支持。Binding,包含了如何将抽象接口的元素(PortType)转变为具体表示的细节,具体表示也就是指特定的数据格式和协议的结合;特定端口类型的具体协议和数据格式规范的绑定。Port,定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点。Service,这是一个粗糙命名的元素,代表端口的集合;相关服务访问点的集合。 其中,聚焦搜索爬虫根据既定的抓取目标WSDL主题模型,根据URL中的域名,是否出现过Web服务和设定的关键字,采用经典的模式匹配KMP算法有选择地访问Web网页及相关链接,并根据WSDL文档结构抓取网页提供商、最后修改时间等信息,用户提供的WSDL主题描述用于指定抓取目标(即WSDL文档),而且为了保证所获取的页面与主题相关, 一方面需要根据关键词对页面进行相关度评价,其中,评价过程是统计包含给定关键词的超级链接的节点入度,来确定该页面的有用价值;另一方面,还要根据主题描述对解析出的超级链接对应的页面进行模式匹配,判断是否为WSDL文档,如果是,保存即可,如果不是,则提取出该页面包含的URL并加入待处理URL队列。 其中,模式匹配KMP算法是一种改进的字符串匹配算法,由D.E.K皿th与V. R. Pratt和J. H. Morris同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法),基本思想是假设有字符串A和模式串B,其B串长度和A串长度分别为m、n,对模式串B引进next(j)函数,其next(j)函数表示在模式串B中从第1位到第j位之间B的最大子串的长度,在模式匹配的进程中,匹配检查A串的第i位A[i]和B串的第j位B[j],若A[i] 二B[j],则继续匹配A[i+l]和B[j+l]是否成功。若A[i]与B[j]不等,则分成两种情况若j = 1,则模式串右移一位,检查A[i+l]和B[l]是否匹配;若1 < j < =m,则模式串右移j-next(j)位,检查A[i]和B[next(j)]是否匹配,重复此过程直到j =m或i = n结束。 本发明基于聚焦搜索的WSDL搜集方法的二次最佳优先搜索策略是在通用搜索引擎的返回结果的基础上,结合WSDL主题模型的形式化描述,以通用搜索引擎返回的某一URL为中心a,半经为o的去心邻域U(a, o)内全体URL对WSDL主题进行聚焦搜索。
下面结合附图和具体实施例对本发明作进一步说明。
实施例1 : 图1是本发明一种基于聚焦搜索的WSDL搜集方法的系统架构图。如图l所示,该方法的系统架构图主要包括集成通用搜索引擎接口、 WSDL主题模型和聚焦搜索爬虫。其中,集成通用搜索引擎接口主是要对Google搜索引擎、百度搜索引擎和雅虎搜索引擎进行集成,WSDL主题模型是对互联网上发布的WSDL文档的结构进行形式化主题描述,聚焦搜索爬虫是该方法的主要部分,主要是搜取WWW互联网上符合主题模型描述的WSDL文档。
通用搜索引擎接口集成主要是将通用搜索引擎(如Google, Baidu, Yahoo等)接口集成在一起。对用户给定的搜索主题关键词,通用搜索引擎进行查询,对查询结果进行分析并提取页面信息和页面包含的URL,此处提取出的URL作为下面聚焦搜索爬虫搜索的初始种子。 本发明WSDL主题模型的形式化描述的示例如下〈? xml version =〃 1.0〃 encoding = 〃 utf_8〃 ? > ------xml为文档类型,Version------版
本号VN 〈wsdl:definitions〉 〈wsdl: types>------1元素 〈s:element name =〃 getStocklnfo〃 > ...... 〈/wsdl:types> 〈wsdl :message name = 〃 getStocklnfoSo即In〉------m兀素 ...... 〈/wsdl :message〉 〈wsdl :portType name = 〃 Stocklnfo WSSo即">------P兀素 ...... 〈/wsdl:portType> 〈wsdl:binding name =〃 Stocklnfo WSSoap" type =〃 tns:Stocklnfo
WSSo即〃 >------b元素 ...... 〈/wsdl:binding> 〈wsdl: service name = 〃 Stocklnfo WS〃 >------s兀素 ...... 〈/wsdl:service> 〈/wsdl:definitions> WSDL主题模型是根据WSDL文档的结构给出聚焦主题描述,WSDL文档是规范通用的Web服务的描述文档,其文档结构是统一固定的,在本发明中对WSDL主题模型的形式化描述为TWSDL(def( 't, i,m,p,o,b,s' ), 'xml' , VN),与WSDL文档中元素结点对应关系如上述实例所示。def为WSDL文档的根元素,'xml'是WSDL的文档类型,VN是WSDL的版本 号,根元素def下通常包含7个重要的元素(t:types,i :import,m :message,p :portType, o -operation, b -binding's :service,其中i元素可以不出现)。因此,WSDL主题模型的描 述是通用的且不能随意改变的,只有WSDL文档的结构变化时,才会有变化。
聚焦搜索爬虫根据既定的抓取目标WSDL主题模型,有选择地访问Web网页及相关 链接,根据指定的规则抓取所需信息,用户提供的WSDL主题描述用于指定抓取目标,而且 为了保证所获取的页面与主题相关,一方面需要根据主题描述对页面进行相关度评价并过 滤掉无关页面;另一方面,还要根据主题描述对解析出的链接进行过滤,只有那些被评价为 有用的链接才会被加入待处理URL队列。 图2是本发明聚焦搜索爬虫的系统结构图。如图2所示,聚焦搜索爬虫的系统结构 主要是在通用爬虫结构的基础上新增加一个WSDL主题模型,由网页爬取器、网页分析器、 URL存储队列、URL过滤和文档过滤等组成。其中,在聚焦搜索爬虫运行前还需要初始化该 爬虫要在WWW互联网爬取的去心邻域U(a, o) (a为初始URL,由通用搜索引擎提供,o为 搜索半径),网页爬取器抓取指定URLi的页面,网页分析器是提取网页内容和包含的URL, URL过滤和文档过滤主要是结合WSDL的主题描述对文档的内容和提取的URL进行过滤,其 过滤方法采用当前通用的算法。 图3为本发明基于通用搜索引擎的最佳优先搜索WSDL方法的流程图。图3中的 符号说明 T :Web服务主题描述; Q。 URL队列; o :搜索半径; s :爬虫初始URL种子(Seed); N :当前运行的线程数(刚开始为0); MTs :最大线程数(默认20)。 如图3所示,在给定的Web服务主题描述的基础上,首先用通用搜索引擎搜索与主 题相关的URL链接,得到所有相关URL链接的集合Q。,然后在邻域U(ai, o ) (&i G Q)内启 动新聚焦搜索爬虫线程,新聚焦搜索爬虫在邻域U(ai, o ) (ai G Q)内结合WSDL主题模型的 形式化描述,进行集中搜索,当在该邻域内搜索完成后该线程自动退出并进行下一个邻域 U(aj, o) (aj G Q)又开启新的聚焦搜索爬虫线程循环,直到Q中所有的URL元素遍历完,其 具体的执行步骤如下 ①.执行判断条件集合Q。不为空,若成立则执行第②步,否则执行第⑦步;
②.获取当前正运行的爬虫线程数N ; ③.执行判断条件集合Q。不为空并且N小于最大线程数MTs,若条件成立则执行 第④步,否则执行第①步; .从Q。中取URL链接s ,从集合Q。中删除s元素,更新集合Q。;
⑤.确定以s为中心,o为半径的的搜索领域U(s, o); .在领域U(s, o)内启动新的聚焦爬虫线程,s为新爬虫的初始搜索种子,且爬
虫计数器加1,然后转执行第③步; ⑦.等待所有线程结束,最后退出程序。
7
其中,聚焦搜索爬虫线程在分配的邻域里会自动完成搜索并且在每个线程退出 时线程计数器会自动减1 ;同时,可以有多个聚焦搜索爬虫线程同时运用,其最大线程数 (MTs)的具体数目可由用户指定,默认为20。 其中,二次最佳优先搜索策略是指根据互联网上Web服务部署相对集中的特点, 第一次用通用搜索引擎进查询,再在通用搜索引擎的返回结果的基础上,在邻域U(a, o) 内对给定的主题进行第二次聚焦搜索的方法。 图4为本发明互联网上的邻域U(a, o)示意图。邻域U(a, o)是建立在Web图的 理论基础上的,a为Web图中的某节点(表示某Web站点的URL),半经o为Web图中的节 点b到节点a的路径长度。邻域U(a, o )表示以a中心,所有到节点a的路径长度小于o 的集合,图4所示为在反映互联网的Web图上的中心为Lenovo. com,半径o为2的邻域 U(Lenovo. com,2)的示意图。
在实施例中,给定关键词股票(Stock) , WSDL主题描述 本发明的实施例中至少包含WSDL主题模型的形式化描述TWSDL(def( 't,i,m,p, o, b, s')、至少一类通用搜索引擎(也可多类通用搜索引擎同时使用)和至少一个聚焦搜 索爬虫。在实施例中,通用搜索选用百度通用搜索引擎(Baidu),用户输入关键词="股票 (stock)",邻域U半径的初始值o 二100,最大线程数MTs二20。首先,调用百度通用搜索 引擎对关键词"股票(stock)"进行搜索,利用KMP算法对搜索到的网页内容和从网页内容 中抽取出来的URLs对关键词查找分析,得到URL链接集合Q。然后,分别以集合Q中的每 一个URL为中心,100为半径,在对应的去心邻域U (URL, 100)中进行二次聚焦搜索,保存收 集到的WSDL文档。在本实施例中,URL :"http:〃www. webxml. com. cn/"是通过百度搜索后 保存到URL链接集合Q中的一个元素。在启动的聚焦搜索爬虫线程中,必存在一个聚焦搜 索爬虫在去心邻域U("http:〃www. webxml. com. cn/", 100)进行二次聚焦搜索。聚焦搜索 爬虫在去心令卩域U( "http://www. webxml. com. cn/", 100)内以"http://www. webxml. com. cn/"为初始种子聚焦搜索完成整个邻域内的所有Web节点,并保存搜索到的Web服务。在 本实施例中的去心邻域U("http:〃www. webxml. com. cn/", 100)内收集到的Web服务约有 120多个,部分Web服务的URL链接如下 http://webservice.webxml.com.cn/WebServices/StockInfoWS.asmx wsdl
http://webservice.webxml.com.cn/WebServices/StockInfoWS.asmx disco
http://webservice. webxml. com. cn/WebServices/StocklnfoWS. asmx
http://trac.assembla.com/ecobrico—CPE/browser/EcoBrico/resources/ EcoBricoService. wsdl http://fisheye. globus, org/changelog/sos—r印o/crux/tr皿k/cxf-adapter/ stock.wsdl http://www. gnu_darwin.org/www001/ports_l.5a_CURRENT/www/wsdlpull/ work/wsdlpull_l. 15/test/wsdl/StockQuotes. wsdl http://www. ibm. com/developerworks/webservices/library/ws_wsdl3/SQS. wsdl http ://f i sheye5. cenqua. com/browse/open_esb/ri_components/ sequencing—engine/d印loyments/wsd1/stock, wsdl
http://svn. apache.org/repos/asf/webservices/wsif/trunk/Java/test/ faults/Stockquote. wsdl http: //media, pragprog. com/titles/fr_eir/code/dist_app/soap/sd_stock. wsdl http://ww2. wso2. org/ saminda/axisl/samples/stock/GetQuote. wsdl。
本实施例不用于限制本发明,凡在本发明的原则和精神之内,所做的任何修改、等 同替换、改进等,均应包含在本发明的权利要求范围之内。
权利要求
一种基于聚焦搜索的WSDL搜集方法,其特征在于,包括以下步骤1)定义要搜集的WSDL主题模型的形式化描述和搜索关键词;2)提交该搜索关键词给通用搜索引擎进行搜索,从搜索到的结果中获得与WSDL主题模型的形式化描述相关的URL链接;得到所有相关的URL链接的集合Q;3)在集合Q内启动新聚焦搜索爬虫线程对于所有相关URL链接的集合Q第j个URL,j为集合Q中的URL的序号,启动新聚焦搜索爬虫线程,该新聚焦搜索爬虫线程的步骤为新聚焦搜索爬虫在邻域U(aj,σ)(aj∈Q)内结合WSDL主题模型的形式化描述进行搜索,当在邻域U(aj,σ)内搜索完成后该线程退出;然后进行下一个新聚焦搜索爬虫线程;aj为第j个URL,即Web图中的起始节点的URL;σ为半经,即Web图中的最远的目标节点到起始节点的路径长度;搜索过程中采用模式匹配KMP算法;4)j从1开始,直到集合Q中所有的URL元素遍历完,则结束,返回搜索结果。
2. 根据权利要求l所述的基于聚焦搜索的WSDL搜集方法,其特征在于,所述的通用搜 索引擎包括百度、谷歌和雅虎搜索的引擎;所述的o的取值为5 200。
全文摘要
本发明公开了一种基于聚焦搜索的WSDL搜集方法,其特征在于,包括以下步骤1)定义要搜集的WSDL主题模型的形式化描述和搜索关键词;2)提交该搜索关键词给通用搜索引擎进行搜索,从搜索到的结果中获得与WSDL主题模型的形式化描述相关的URL链接;得到所有相关URL链接的集合Q;3)在所有相关URL链接的集合Q内启动新聚焦搜索爬虫线程;4)执行搜索直到集合Q中所有的URL元素遍历完,则结束,返回搜索结果。本发明基于通用搜索引擎进行搜索,可以保证较高的查全率;开发的成本低,该方法能够为相关学科研究和实验提供丰富的真实有效的Web服务数据支持,具有较高的科研价值和实用价值。
文档编号G06F17/30GK101727485SQ20091022717
公开日2010年6月9日 申请日期2009年12月10日 优先权日2009年12月10日
发明者刘建勋, 李苏, 覃事刚, 贺财平, 陈平 申请人:湖南科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1