孫友倉
一種基于Web Service的信息搜索引擎機(jī)制
孫友倉
(西安石油大學(xué)計(jì)算機(jī)學(xué)院,陜西西安710065)
在解析Web Service的體系結(jié)構(gòu)的基礎(chǔ)上,分析了其應(yīng)用于搜索引擎的原因,以油田信息資源為平臺(tái),設(shè)計(jì)了一種基于Web Service技術(shù)的信息搜索引擎解決方案,并詳細(xì)描述了該方案中各模塊的具體內(nèi)容,工作流程及安全策略等關(guān)鍵問題.實(shí)踐表明,此方案能保證數(shù)據(jù)安全性,具有一定的實(shí)用性和較高的開發(fā)效率.
信息資源;Web Service;搜索引擎;UDDI
隨著企業(yè)信息化建設(shè)的不斷深入,各種信息應(yīng)用平臺(tái)不斷完善,信息資源搜索引擎服務(wù)已經(jīng)成為企業(yè)網(wǎng)內(nèi)最重要的服務(wù)之一,但是這些搜索引擎都存在著一定的缺陷.比如搜索功能單一,只能搜索Web服務(wù)器、FTP服務(wù)器上的資源,不能搜索一些特殊資源;一些資源具有機(jī)密性,搜索引擎沒有對用戶采取身份認(rèn)證等安全措施;一般的搜索引擎沒有開放對外的查詢服務(wù)接口,網(wǎng)外用戶想要查詢信息資源比較困難.這些缺陷很大范圍上限制了網(wǎng)外用戶對信息資源的查詢使用[1].本文以某油田企業(yè)信息資源為平臺(tái),設(shè)計(jì)的基于Web Service的搜索引擎可以為用戶提供更方便快捷的信息資源搜索服務(wù),成為溝通網(wǎng)內(nèi)外的信息資源的橋梁,同時(shí)也能有效保護(hù)企業(yè)機(jī)密信息資源.
1.1 Web Service體系結(jié)構(gòu)解析
Web Service是基于Web的分布式計(jì)算模型,它采用面向服務(wù)的體系結(jié)構(gòu)模型作為其體系結(jié)構(gòu),主要包括3個(gè)角色和3個(gè)操作[2,3].服務(wù)提供者所能提供的服務(wù)接口用WSDL(Web Service Description Language)和WSFL(Web Services Flow Language)描述出來,然后使用UDDI(Universal Description Discovery and Integration)在服務(wù)注冊中心(即服務(wù)代理Service Broker)處將這些服務(wù)接口進(jìn)行注冊;服務(wù)代理則使用UDDI注冊這些服務(wù)接口,并接受服務(wù)請求者的查詢;服務(wù)請求者通過使用UDDI在服務(wù)代理處查詢,得到所需的服務(wù)接口的描述文件,然后綁定到這些服務(wù),最終完成調(diào)用.
在這個(gè)體系結(jié)構(gòu)中,對傳統(tǒng)應(yīng)用系統(tǒng)體系結(jié)構(gòu)的設(shè)計(jì)作了徹底的改變,實(shí)現(xiàn)了具體的事務(wù)處理信息、服務(wù)和具體客戶的分離.在傳統(tǒng)的企業(yè)應(yīng)用系統(tǒng)中,需要確定對于該應(yīng)用系統(tǒng)的客戶,然后以此為中心進(jìn)行設(shè)計(jì).而在面向服務(wù)的體系結(jié)構(gòu)中,對于客戶的標(biāo)準(zhǔn)沒有嚴(yán)格定義,而是盡可能地把系統(tǒng)的服務(wù)設(shè)計(jì)得較靈活,以便在以后不斷變化的環(huán)境中能夠吸引更多的潛在客戶.
1.2 Web Service技術(shù)應(yīng)用于搜索引擎分析
理想的搜索引擎不僅能夠搜索發(fā)現(xiàn)文檔數(shù)據(jù),也能搜索和發(fā)現(xiàn)其他各種資源,能和外部的各種異構(gòu)資源信息系統(tǒng)進(jìn)行交互.但是一般搜索引擎達(dá)不到這樣的要求,新的信息系統(tǒng)與搜索引擎進(jìn)行整合時(shí),必須開發(fā)新的中間件,系統(tǒng)維護(hù)比較困難,實(shí)現(xiàn)成本較高.以Web Service為核心的分布式計(jì)算模式,能夠?yàn)樗阉饕娴陌l(fā)展帶來新的契機(jī).Web Service建立在公認(rèn)的標(biāo)準(zhǔn)之上,通過HTTP協(xié)議進(jìn)行傳輸,不受某一種平臺(tái)或語言的限制,對防火墻是友好的.這為分布式系統(tǒng)間或系統(tǒng)內(nèi)模塊間的交互和整合帶來了便利條件.
對于搜索引擎而言,Web Service體現(xiàn)了如下幾點(diǎn)優(yōu)勢[4,5]:使用XML作為中間數(shù)據(jù)格式,可以描述各種類型的業(yè)務(wù)對象,適合各種信息系統(tǒng)的交互與合作;與外部資源系統(tǒng)的整合,Web Service具有良好的交互模式和發(fā)現(xiàn)機(jī)制,不受目標(biāo)系統(tǒng)平臺(tái)的限制;搜索引擎可以充分利用資源系統(tǒng)本身的檢索功能,增加自身有效數(shù)據(jù)的搜索范圍;應(yīng)用程序與搜索引擎交互時(shí),任何授權(quán)的外部應(yīng)用程序都可以調(diào)用搜索引擎的搜索功能,將搜索功能作為應(yīng)用程序自身的功能.
2.1 總體架構(gòu)
信息搜索引擎是采用基于Web Service技術(shù)的分布式計(jì)算和模塊化處理模式,總體架構(gòu)如圖1所示.
圖1 信息搜索引擎總體架構(gòu)Fig.1 Overall frame of information search engine
圖1 方案包括五個(gè)主要模塊:資源站點(diǎn)模塊、資源注冊模塊(UDDI注冊服務(wù))、資源檢索模塊、索引服務(wù)模塊和Web查詢接口模塊,其中后四個(gè)屬于信息搜索引擎部分.具體情況如下.
(1)資源站點(diǎn)模塊
資源站點(diǎn)是油田網(wǎng)內(nèi)搜索引擎數(shù)據(jù)源的最初提供者,有公用數(shù)據(jù)和專用數(shù)據(jù)之分,油田專用數(shù)據(jù)包含地質(zhì)數(shù)據(jù)、鉆井?dāng)?shù)據(jù)、試井解釋數(shù)據(jù)、錄井?dāng)?shù)據(jù)、測井?dāng)?shù)據(jù)、測試數(shù)據(jù)和分析化驗(yàn)數(shù)據(jù)等.這些數(shù)據(jù)資源又分為共享數(shù)據(jù)和機(jī)密數(shù)據(jù)等不同級(jí)別,它們的使用都必須分級(jí)授權(quán).
資源站點(diǎn)的架構(gòu)如圖2所示.每個(gè)資源站點(diǎn)上安裝有服務(wù)發(fā)布程序,主要提供以下功能:①身份認(rèn)證;②本站點(diǎn)資源授權(quán);③提取各類資源文件;④把站點(diǎn)資源信息按照一定的邏輯提取出來,提供給油田網(wǎng)內(nèi)搜索引擎,生成資源索引信息.
圖2 資源站點(diǎn)架構(gòu)Fig.2 Frame of resources site
(2)資源注冊模塊
油田網(wǎng)內(nèi)眾多的站點(diǎn)資源,可以通過UDDI實(shí)現(xiàn)資源注冊,然后通過UDDI來發(fā)現(xiàn)查找它們.UDDI有五種核心的數(shù)據(jù)結(jié)構(gòu)類型,分別為商業(yè)實(shí)體、商業(yè)實(shí)體所發(fā)布的服務(wù)、所發(fā)布服務(wù)的技術(shù)信息、商業(yè)實(shí)體之間的關(guān)聯(lián)和技術(shù)指紋[6].通過UDDI可以注冊發(fā)布自己不同的服務(wù),而對于所發(fā)布的服務(wù),由服務(wù)的技術(shù)信息來確定其接口、相關(guān)參數(shù)等技術(shù)要點(diǎn).通過這樣的設(shè)置,就可知道哪個(gè)站點(diǎn)具有哪些特定的服務(wù),以及這些服務(wù)的獲取需要符合怎樣的技術(shù)規(guī)范.表1為資源注冊模塊數(shù)據(jù)模型.
表1 資源注冊模塊數(shù)據(jù)模型Table 1 Data Model of Resources Logon Module
(3)資源檢索模塊
由于油田網(wǎng)內(nèi)資源類型不同,加上有些資源訪問需要授權(quán)許可,應(yīng)對它們采取不同的檢索方式.不需要授權(quán)許可的普通網(wǎng)頁,視頻服務(wù)和FTP服務(wù),通過常規(guī)程序進(jìn)行抓取;需要授權(quán)許可的共享和機(jī)密文檔則返回文檔的描述信息.
(4)索引服務(wù)模塊
由索引系統(tǒng)程序?qū)κ占貋淼南嚓P(guān)信息,根據(jù)一定的相關(guān)度算法進(jìn)行計(jì)算,生成網(wǎng)頁索引數(shù)據(jù)庫,索引分為內(nèi)容提取、詞的識(shí)別、標(biāo)引庫的建立.
(5)Web查詢接口模塊
當(dāng)用戶輸入關(guān)鍵詞搜索時(shí),分解搜索請求,由搜索系統(tǒng)程序從網(wǎng)頁索引數(shù)據(jù)庫中找到符合該關(guān)鍵詞的所有相關(guān)網(wǎng)頁.所有相關(guān)網(wǎng)頁針對該關(guān)鍵詞的相關(guān)信息在索引庫中都有記錄,只需綜合相關(guān)信息和網(wǎng)頁級(jí)別形成相關(guān)度數(shù)值,然后進(jìn)行排序.相關(guān)度越高,排名越靠前.最后,由頁面生成系統(tǒng)將搜索結(jié)果的鏈接地址和頁面內(nèi)容摘要等內(nèi)容組織起來反饋給用戶.
2.2 搜索引擎的工作流程
油田信息搜索引擎按照以下步驟工作:
(1)資源站點(diǎn)模塊把自己的服務(wù)通過UDDI注冊服務(wù)進(jìn)行發(fā)布,同時(shí)UDDI注冊服務(wù)模塊對外提供Web Service接口服務(wù),讓外網(wǎng)用戶能夠訪問本資源站點(diǎn);
(2)資源檢索模塊通過UDDI注冊服務(wù)模塊獲取資源站點(diǎn)服務(wù)信息,從相應(yīng)Web Service接口提取資源信息,把這些資源信息存儲(chǔ)到本地Cache文件中,作為索引服務(wù)模塊的源數(shù)據(jù);
(3)索引服務(wù)模塊對Cache文件進(jìn)行分析、提取、索引,并把索引信息存到索引數(shù)據(jù)庫;
(4)當(dāng)用戶通過Web查詢接口模塊提出查詢請求時(shí),Web查詢接口應(yīng)用程序分析查詢請求串,并劃分成若干個(gè)關(guān)鍵字,到索引數(shù)據(jù)庫服務(wù)器中對照索引表中的內(nèi)容進(jìn)行查詢,將不同關(guān)鍵字的結(jié)果集進(jìn)行適當(dāng)?shù)募线\(yùn)算,以Web頁面的方式返回給用戶;
(5)對于需要授權(quán)許可的資源,Web查詢模塊根據(jù)索引信息通過資源檢索模塊直接對相應(yīng)資源站點(diǎn)的Web Service接口進(jìn)行訪問.
2.3 安全策略及特點(diǎn)
油田網(wǎng)內(nèi)信息資源涉及各類內(nèi)部人員,網(wǎng)外用戶也有服務(wù)需求,這些資源都沒有經(jīng)過認(rèn)證、授權(quán)、文件加密,特別是專用數(shù)據(jù)資源站點(diǎn)有眾多敏感數(shù)據(jù),這些數(shù)據(jù)資源必須經(jīng)過身份認(rèn)證才能訪問,因此設(shè)計(jì)油田信息搜索引擎必須考慮安全策略.
(1)Web Service安全性
Web Service的基礎(chǔ)是簡單對象訪問協(xié)議SOAP,SOAP協(xié)議具有簡單性和可擴(kuò)展性的優(yōu)點(diǎn),但安全性不足,所以在使用Web Service時(shí)要考慮解決以下安全問題[7-9]:數(shù)據(jù)的機(jī)密性,保證傳送信息不被未經(jīng)許可的第三方看到;數(shù)據(jù)的完整性,保證收到的信息沒有被篡改過;數(shù)據(jù)傳送的不可否認(rèn)性,保證信息的發(fā)送者不能抵賴或否認(rèn)對信息的發(fā)送,要在信息的傳輸過程中為參與的實(shí)體提供可靠的標(biāo)志.
(2)數(shù)據(jù)資源分級(jí)策略
數(shù)據(jù)資源可分為公共服務(wù)類、共享類和機(jī)密類等,通過站點(diǎn)資源的服務(wù)發(fā)布程序?qū)ζ溥M(jìn)行分級(jí)授權(quán)和訪問控制,標(biāo)識(shí)特定的人訪問相應(yīng)的數(shù)據(jù)資源,保證用戶的操作沒有超越權(quán)限.
(3)身份確認(rèn)策略
建立集身份認(rèn)證、授權(quán)、審計(jì)的統(tǒng)一身份認(rèn)證平臺(tái),用戶登錄身份認(rèn)證平臺(tái),建立身份識(shí)別信息.一旦用戶通過身份認(rèn)證,系統(tǒng)將為用戶建立唯一的身份標(biāo)識(shí),該身份標(biāo)識(shí)和用戶認(rèn)證信息用于維持會(huì)話、指定和實(shí)施訪問控制策略,與其他應(yīng)用服務(wù)進(jìn)行交互.
本架構(gòu)充分利用Web Service的斷開式數(shù)據(jù)結(jié)構(gòu)、與XML的緊密集成、能夠組合來自多個(gè)、不同數(shù)據(jù)源的數(shù)據(jù)的通用數(shù)據(jù)表示形式以及為與數(shù)據(jù)庫交互而優(yōu)化的功能.相對于其他搜索引擎的實(shí)現(xiàn)方法,該架構(gòu)在不改變原有系統(tǒng)的儲(chǔ)存和安全管理的基礎(chǔ)上,具有松散耦合、分布異構(gòu)、健壯、易擴(kuò)展和簡化搜索引擎開發(fā)等優(yōu)點(diǎn).
Web Service是可以通過Internet訪問的應(yīng)用邏輯單元,可以說是基于組件的分布式技術(shù)在Internet上的擴(kuò)展.它在創(chuàng)建跨平臺(tái),適應(yīng)Internet的可伸縮性的應(yīng)用程序時(shí),具有非常大的優(yōu)勢.本文提出的基于Web Service技術(shù)的油田信息搜索引擎的解決方案具有一定的可行性和實(shí)用性.如果每個(gè)油田都能提供基于Web Service的搜索引擎接口,用戶不僅能更方便快捷地進(jìn)行信息資源搜索,而且能在有效保護(hù)油田數(shù)據(jù)資源機(jī)密性的基礎(chǔ)上,實(shí)現(xiàn)油田間數(shù)據(jù)資源的共享.
[1] 陳 丹,郭偉表.一種新型面向商業(yè)領(lǐng)域搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2007,24(4):113-115.
[2] MARTIN D,BURSTEIN M,McDERMOTT D,et al.Bringing Semantics to Web Services with OWL-S[J].World Wide Web,2007,10(3):43-77.
[3] CHAN M,CHEN H.A Machine Learning Approach to Web Page Filtering Using Content and Structure Analysis[J]. Decision Support S ystems,2007,44(2):482-494.
[4] 孫友倉.一種基于Web Services的分布異構(gòu)數(shù)據(jù)庫集成機(jī)制[J].山西大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,30(3):340-343.
[5] 孫友倉,宋彩利,李潤洲.一種基于Web Service的異構(gòu)數(shù)據(jù)集成中間件[J].西安科技大學(xué)學(xué)報(bào),2007,27(2):284-287.
[6] 孫 凱,陳德人.基于UDDI和Web Service的應(yīng)用模型研究[J].計(jì)算機(jī)應(yīng)用,2003,20(5):133-134.
[7] SOAP Implementation directory[EB/OL].http://www.soapware.org/directory/4/implemen-tations,2004.
[8] 錢 權(quán),嚴(yán)家德.Web Service的安全機(jī)制[J].計(jì)算機(jī)工程,2007,33(22):190-192.
[9] ADAM J.LEE,JODIE P.BOYER,LARS E.Olson,et al.Web Service Defensible Security Policy Composition for Web Services[C]//Proceedings of the fourth ACM Workshop on Formal Methods in Security Engineering,2006:45-54.
A Mechanism of Information Search Engine Based on Web Service
SUN You-cang
(School of Computer Science,Xi’an S hiyou University,Xi’an710065,China)
On the basis of resolving web service architecture,the application cause of search engine was analyzed.To take oil-field information resources as a platform,a information resources search engine based on web service was introduced.And it detailed explains some key issues of the solving scheme,such as the contents of these modules,its working process,its secure policy and so on.The practice indicates that the scheme is able to ensure data security,and take on specific practicality and more developing efficiency.
information resources;web service;search engine;UDDI
TP311
A
0253-2395(2010)02-0194-04
2009-08-31;
2009-10-22
國家自然科學(xué)基金(50474041)
孫友倉(1967-),男,陜西白水人,副教授,主要從事網(wǎng)絡(luò)應(yīng)用方面的研究和教學(xué)工作.E-mail:syoucang@xsyu. edu.cn