盧一枝, 陳軍華
(上海師范大學 信息與機電工程學院,上海 200234)
?
Deep Web數(shù)據(jù)庫集成技術(shù)的研究
盧一枝, 陳軍華
(上海師范大學 信息與機電工程學院,上海 200234)
針對基于查詢接口集成的web集成技術(shù)復雜且面向領(lǐng)域這一現(xiàn)象,提出了一種非實時查詢Deep Web數(shù)據(jù)庫集成技術(shù).該技術(shù)通過在被檢索網(wǎng)站安裝客戶端數(shù)據(jù)源應用程序,獲取所有被檢索網(wǎng)站的Deep Web數(shù)據(jù)源連接信息、Deep Web異構(gòu)數(shù)據(jù)庫表結(jié)構(gòu)信息以及Deep Web異構(gòu)數(shù)據(jù)庫表數(shù)據(jù).其中表結(jié)構(gòu)和表數(shù)據(jù)經(jīng)集成系統(tǒng)解析后以統(tǒng)一的格式集成到本地數(shù)據(jù)庫.實驗結(jié)果表明,該集成技術(shù)可集成所有領(lǐng)域的Deep Web異構(gòu)數(shù)據(jù)庫,沒有領(lǐng)域限制.由于是本地查詢查詢速度也較快,具有一定的可行性.
Deep Web數(shù)據(jù)庫; 異構(gòu)的; 集成
Deep Web中存在著大量的web數(shù)據(jù)庫資源,這些web數(shù)據(jù)庫中保存著覆蓋各個領(lǐng)域的web數(shù)據(jù),且通過不斷更新數(shù)據(jù)庫的方式保證著其提供數(shù)據(jù)的質(zhì)量.由于web數(shù)據(jù)庫在互聯(lián)網(wǎng)中相互獨立,且隱藏在查詢接口之后,因此無法被搜索引擎直接檢索到.
在國外,斯坦福大學的Raghavan與Garcia-Molina較早地對包含結(jié)構(gòu)化數(shù)據(jù)的web數(shù)據(jù)庫進行了研究.在Hidden Web Exposer(HiWE)[1]研究項目中,通過表單分析的方法對爬蟲程序搜集到的web頁面進行處理,通過基于標簽的模式識別抽取表單結(jié)構(gòu),使用預先準備好的數(shù)據(jù)集填寫表單來獲得結(jié)果頁面.目前在國內(nèi),Deep Web數(shù)據(jù)庫集成還處于一個發(fā)展階段.中國人民大學網(wǎng)絡(luò)與移動數(shù)據(jù)管理實驗室開發(fā)的JobTong[2]系統(tǒng)是一個面向領(lǐng)域的Deep Web數(shù)據(jù)集成系統(tǒng),其中應用了web數(shù)據(jù)抽取和搜索引擎等技術(shù).
現(xiàn)有的Deep Web數(shù)據(jù)庫集成系統(tǒng)[3-5]主要存在以下問題:(1) 查詢局限性:只能查詢到和某一領(lǐng)域相關(guān)的數(shù)據(jù)信息,無法適用于更多領(lǐng)域的數(shù)據(jù)集成;(2) 集成技術(shù)復雜:現(xiàn)有的大部分集成方法是基于查詢接口的集成,其中所涉及的關(guān)鍵技術(shù)多而復雜.
本文作者提出了一種非實時查詢Deep Web數(shù)據(jù)庫集成技術(shù),該技術(shù)實現(xiàn)了將所有被檢索Deep Web異構(gòu)數(shù)據(jù)源集成到本地數(shù)據(jù)庫的目的,為用戶提供了更加方便的查詢.相比較而言,該系統(tǒng)所涉及的關(guān)鍵技術(shù)較少,并且查詢速度較快.
由于Deep Web數(shù)據(jù)資源分布在各被檢索網(wǎng)站數(shù)據(jù)庫中,而這些數(shù)據(jù)庫本身都有自己的DBMS,因此存在很大的異構(gòu)性[6-8],主要表現(xiàn)在:
(1) 系統(tǒng)異構(gòu).數(shù)據(jù)源所依賴的應用系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)乃至操作系統(tǒng)之間的不同構(gòu)成了系統(tǒng)異構(gòu).
(2) 模式異構(gòu).數(shù)據(jù)源在存儲模式上的不同.一般的存儲模式包括關(guān)系模式、對象模式、關(guān)系對象模式和文檔嵌套模式等幾種,其中關(guān)系模式為主流存儲模式.然而值得注意的是,即使是同一類存儲模式,它們的模式結(jié)構(gòu)也可能存在差異.例如Oracle所采用的數(shù)據(jù)類型與SQL Server所采用的數(shù)據(jù)類型并不完全一致.
(3) 格式相異.包括數(shù)據(jù)類型、精度、數(shù)據(jù)范圍的不同.如書的價格在一個數(shù)據(jù)庫中用美元表示而在另一個數(shù)據(jù)庫中用人民幣表示.
Deep Web數(shù)據(jù)庫集成的前提就是要屏蔽掉這些異構(gòu)性,并保證集成后各Deep Web數(shù)據(jù)庫不受影響.集成后的數(shù)據(jù)必須具有高度的完整性和一致性.
本文作者提出了一種非實時查詢的Deep Web數(shù)據(jù)庫集成技術(shù),該技術(shù)實現(xiàn)了將所有被檢索網(wǎng)站的Deep Web數(shù)據(jù)庫信息集成到本地數(shù)據(jù)庫的目的.其中非實時性主要體現(xiàn)在每次的查詢是對集成系統(tǒng)本地數(shù)據(jù)庫的查詢,而不是直接訪問Deep Web源數(shù)據(jù)庫.在集成前期,各被檢索網(wǎng)站安裝客戶端數(shù)據(jù)源應用程序,安裝完成后本地生成一張Deep Web各數(shù)據(jù)庫的連接信息表,然后,Deep Web檢索引擎應用程序根據(jù)這張連接信息表對Deep Web各數(shù)據(jù)庫依次檢索,并得到Deep Web數(shù)據(jù)庫的表結(jié)構(gòu)和表數(shù)據(jù).最后,Deep Web檢索引擎應用程序?qū)δ玫降谋斫Y(jié)構(gòu)和表數(shù)據(jù)進行解析后集成,并以統(tǒng)一的格式存儲到本地數(shù)據(jù)庫.非實時查詢Deep Web集成框架如圖1所示.
圖1 非實時查詢Deep Web集成框架
此框架主要包括4個應用程序:客戶端數(shù)據(jù)源應用程序、Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序、Deep Web檢索引擎應用程序、Deep Web查詢應用程序.
圖1中,各應用程序的功能如下所示:
客戶端數(shù)據(jù)源應用程序:
(1) 獲取Deep Web數(shù)據(jù)源連接信息.
(2) 獲取Deep Web數(shù)據(jù)庫表結(jié)構(gòu).
(3) 獲取Deep Web數(shù)據(jù)庫表數(shù)據(jù).
(4) 與Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序進行通信連接.
Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序:
(1) 與客戶端數(shù)據(jù)源應用程序進行通信連接.
(2) 與Deep Web檢索引擎應用程序進行通信連接.
Deep Web檢索引擎應用程序:
(1) 與Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序進行通信連接.
(2) 將獲取的Deep Web數(shù)據(jù)庫表結(jié)構(gòu)、表數(shù)據(jù)進行解析.
(3) 將解析后的Deep Web數(shù)據(jù)庫表結(jié)構(gòu)、表數(shù)據(jù)進行集成.
(4) 將Deep Web數(shù)據(jù)源連接信息以及集成后的Deep Web數(shù)據(jù)庫表結(jié)構(gòu)、表數(shù)據(jù)存儲到本地數(shù)據(jù)庫.
Deep Web查詢應用程序:
(1) 將用戶輸入的關(guān)鍵字轉(zhuǎn)換成相應的查詢語句.
(2) 將用戶查詢到的結(jié)果進行處理,并以統(tǒng)一的界面返回給用戶.
3.1方案設(shè)計
本方案的設(shè)計流程如下:
(1) Deep Web各被檢索網(wǎng)站下載安裝客戶端數(shù)據(jù)源應用程序,實現(xiàn)本地Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序與客戶端數(shù)據(jù)源應用程序建立連接.安裝完成后客戶端數(shù)據(jù)源應用程序?qū)@取的Deep Web數(shù)據(jù)源連接信息發(fā)送到本地Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序,再通過Deep Web檢索引擎應用程序存儲到本地數(shù)據(jù)庫,得到Deep Web數(shù)據(jù)源連接信息表local_link.
(2) Deep Web檢索引擎應用程序讀取Deep Web數(shù)據(jù)源連接信息表local_link的每一行,根據(jù)每個IP地址向Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序發(fā)出命令,Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序再將命令轉(zhuǎn)發(fā)給客戶端數(shù)據(jù)源應用程序.客戶端數(shù)據(jù)源應用程序接收指令后,獲取此IP下Deep Web所有數(shù)據(jù)庫的表結(jié)構(gòu)信息,并打包發(fā)送給本地Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序.本地Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序?qū)⒔邮盏降乃袛?shù)據(jù)庫表結(jié)構(gòu)再發(fā)送給Deep Web檢索引擎應用程序進行解析,最后Deep Web檢索引擎應用程序再對解析后的這些數(shù)據(jù)庫表結(jié)構(gòu)進行集成并以統(tǒng)一的格式存儲到本地local_structure表.
(3) Deep Web檢索引擎應用程序根據(jù)同一IP地址向Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序發(fā)出命令,Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序再將命令轉(zhuǎn)發(fā)給客戶端數(shù)據(jù)源應用程序.客戶端數(shù)據(jù)源應用程序接收指令后,獲取該IP下Deep Web數(shù)據(jù)庫中所有的數(shù)據(jù),并打包發(fā)送給本地Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序.本地Deep Web數(shù)據(jù)源發(fā)現(xiàn)應用程序?qū)⒔邮盏降乃袛?shù)據(jù)再發(fā)送給Deep Web檢索引擎應用程序進行解析,最后Deep Web檢索引擎應用程序再對解析后的這些數(shù)據(jù)進行集成,集成后以統(tǒng)一的格式存儲到本地數(shù)據(jù)庫local_data表.
(4) 用戶只需在本地的查詢接口輸入查詢條件,便可在本地實現(xiàn)對Deep Web數(shù)據(jù)源的查詢.
3.2邏輯結(jié)構(gòu)設(shè)計
Deep Web集成系統(tǒng)的本地數(shù)據(jù)庫共存放3張表,分別是:(1) Deep Web數(shù)據(jù)源連接信息表local_link,該表主要存放各被檢索網(wǎng)站的IP地址以及檢索狀態(tài)(未檢索或已檢索);(2) Deep Web數(shù)據(jù)庫各表結(jié)構(gòu)local_structure.該表以統(tǒng)一的格式存放集成后的Deep Web數(shù)據(jù)庫各表結(jié)構(gòu);(3) Deep Web集成數(shù)據(jù)表local_data.該表以統(tǒng)一的格式存放集成后的Deep Web數(shù)據(jù)庫各表的數(shù)據(jù)信息.各表的設(shè)計方案如下所示:
(1) Deep Web數(shù)據(jù)源連接信息表local_link的設(shè)計(表1).
表1 local_link表設(shè)計
初始條件下state值為0.每輪檢索完成后,Deep Web檢索引擎應用程序又重頭讀取local_link表,依次對每一個IP地址進行檢索,盡量保證得到每個Deep Web數(shù)據(jù)庫實時更新的數(shù)據(jù).
(2) Deep Web表結(jié)構(gòu)local_structure的設(shè)計如下(表2).
表2 local_structure表設(shè)計
由于Deep Web檢索引擎應用程序解析后的各表結(jié)構(gòu)在格式、內(nèi)容上存在高度的異構(gòu)性,因此Deep Web檢索引擎應用程序要對解析后的表結(jié)構(gòu)進行集成,集成后統(tǒng)一以local_structure表的格式存儲在本地數(shù)據(jù)庫.
(3) Deep Web集成數(shù)據(jù)表local_data的設(shè)計如下(表3).
表3 local_data表設(shè)計
注:lineNumber值相同的即為原表中的同一行數(shù)據(jù).
正如第一節(jié)中提出的 Deep Web數(shù)據(jù)庫的異構(gòu)性所述,Deep Web數(shù)據(jù)庫在系統(tǒng)、模式、命名、格式方面均存在異構(gòu)性.因此將不同系統(tǒng)中所有Deep Web異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)均以local_data表的格式存儲.設(shè)計這樣的格式不僅解決了Deep Web數(shù)據(jù)庫的異構(gòu)性,由于設(shè)置了行號,用戶在查詢時也能夠?qū)⒃瓉碓诒碇型恍械臄?shù)據(jù)完整的還原出來.
若有一個IP 為110.111.1.12的網(wǎng)站,該網(wǎng)站后臺使用SQLSERVER數(shù)據(jù)庫.
數(shù)據(jù)庫book中有一張myBook表(表4).
表4 myBook表
(1) 在該網(wǎng)站安裝客戶端數(shù)據(jù)源應用程序后,Deep Web集成系統(tǒng)數(shù)據(jù)庫的local_link表(表5)為:
表5 檢索前的local_link表
(2) Deep Web檢索引擎應用程序根據(jù)IP地址對110.111.1.12網(wǎng)站進行檢索.
myBook表結(jié)構(gòu)集成后對應到Deep Web集成系統(tǒng)數(shù)據(jù)庫的local_structure表(表6)為:
表6 集成后的myBook表結(jié)構(gòu)
(3) 根據(jù)表結(jié)構(gòu)得到myBook表數(shù)據(jù).myBook表數(shù)據(jù)集成后對應到Deep Web集成系統(tǒng)數(shù)據(jù)庫的local_data表(表7)為:
表7 集成后的myBook表數(shù)據(jù)
(4) Deep Web檢索引擎應用程序?qū)?10.111.1.12網(wǎng)站檢索完成.
此時Deep Web集成系統(tǒng)數(shù)據(jù)庫的local_link表(表8).
表8 檢索后的local_link表
現(xiàn)有的大部分Deep Web集成技術(shù)是基于查詢接口的集成,主要面向特定的領(lǐng)域,有很大的局限性,不能滿足用戶更高的需求.與這種集成技術(shù)相比,本文作者提出的非實時查詢Deep Web數(shù)據(jù)庫集成技術(shù)的優(yōu)點主要體現(xiàn)在:
(1) 數(shù)據(jù)更新方法.由于該集成技術(shù)在每個被檢索網(wǎng)站安裝客戶端數(shù)據(jù)源應用程序,因此可將Deep Web數(shù)據(jù)信息定時更新到本地.
(2) 響應速度.由于該集成技術(shù)將所有被檢索網(wǎng)站的數(shù)據(jù)全部集成在本地數(shù)據(jù)庫,因此用戶在查詢時只需在本地查詢,得到的響應速度較快.
(3) 集成數(shù)據(jù)量.該集成技術(shù)不是單純的面向特定領(lǐng)域的集成,而是將安裝了客戶端數(shù)據(jù)源應用程序的Deep Web數(shù)據(jù)庫所有數(shù)據(jù),全部集成到集成系統(tǒng)的本地數(shù)據(jù)庫.因此本地數(shù)據(jù)庫集成的數(shù)據(jù)量相比較來說是非常龐大的.
雖然本文作者提出的Deep Web集成技術(shù)能很好地解決用戶快速查詢Deep Web數(shù)據(jù)的問題,但各被檢索網(wǎng)站在參與權(quán)限、數(shù)據(jù)排序、服務費用等方面仍存在很多不足.具體體現(xiàn)在:
(1) 參與權(quán)限.為了獲取被檢索網(wǎng)站的數(shù)據(jù)信息,通常需要在用戶同意的情況下,下載安裝客戶端數(shù)據(jù)源應用程序.這給主動集成更多的Deep Web數(shù)據(jù)庫帶來很大的不便.
(2) 數(shù)據(jù)排序.對集成數(shù)據(jù)進行查詢時,查詢結(jié)果是在集成系統(tǒng)本地以統(tǒng)一的格式進行排序,而原網(wǎng)站中Web數(shù)據(jù)的查詢結(jié)果排序卻無法體現(xiàn).
(3) 數(shù)據(jù)冗余.對于Deep Web數(shù)據(jù)庫中那些有外鍵的表,外鍵大多由代號表示,集成后的表數(shù)據(jù)因此失去了關(guān)聯(lián)性,造成跟查詢關(guān)鍵字有關(guān)的很多數(shù)據(jù)查不到的現(xiàn)象.這部分數(shù)據(jù)會產(chǎn)生很大的冗余量.
介紹了一種非實時查詢Deep Web數(shù)據(jù)庫集成方法,該方法將所有被檢索網(wǎng)站的Deep Web數(shù)據(jù)庫集成到本地數(shù)據(jù)庫.研究證明,該方法不僅解決了Deep Web數(shù)據(jù)庫在系統(tǒng)、模式、命名、格式方面的異構(gòu)性,也實現(xiàn)了用戶只需輸入查詢條件,便可在本地輕松地訪問到Deep Web數(shù)據(jù)的目標.由于篇幅的限制,沒有介紹各應用程序相互之間的通信以及異常情況的處理,這是不足的地方.如何節(jié)省成本并提高集成效率,最終得到高準確率的查詢結(jié)果是今后的研究重點之一.
[1]Zhu J,Zhang B,Ma W Y.Simultaneous record detection and attribute labeling in web data extraction [C]//International Conference on Knowledge Discovery and Data Mining.New York:ACM,2006.
[2]Li B,Tan L X,Li H Y,Zhuang Z Q.The techniques for integrating information on the Internet [J].Computer Engineering,2000,26(11):35-37,86.
[3]Nie T Z.Study on key techniques of web batabase integration in the deep web [D].Shenyang:Northeastern University,2009.
[4]Chen W.Design and implementation of a web crawler based on deep web deep data acquisition [D].Wuhan:Central China Normal University,2013.
[5]Liu W,Meng X F,Meng W Y.A survey of deep web data integration [J].Chinese Journal of Computers,2007,30(9):1475-1489.
[6]Shuai W M.Research and application of enterprise heterogeneous data integration based on SOA [D].Guangzhou:Guangdong University of Technology,2014.
[7]Wang N H,Zhang G L.Study on integration of heterogeneous database based on XML [J].Information Technology,2006,30(5):174-176.
[8]Ma L F,Wang Y.Research and implementation of heterogeneous data integration based on XML and web service [J].Computer Technology and Development,2010,20(11):42-46,50.
[9]Geng Y S,Kou J S.Construction of heterogeneous data integration model on cloud computing [J].Journal of University of Jinan (Sci.and Tech.),2012,26(04):384-389.
(責任編輯:包震宇)
Research on the technology of Deep Web database integration
LU Yizhi, CHEN Junhua
(College of Information,Mechanical and Electrical Engineering,Shanghai Normal University,Shanghai 200234,China)
In response to this phenomenon that web integration technology integrated based on query interface is complex and domain-oriented,this paper presents a non-real time query Deep Web database integration technology,which can obtain Deep Web data source connection information of all retrieved websites,their heterogeneous table structure information and table data by installing a client application.In this way,the table structure information and the table data can be parsed by integration system and then integrated to the local database in unified format.Experimental results show that this integration technology can integrate Deep Web heterogeneous database of all domains,there is no domain limit for it.Because it′s a local query,it also has a faster query speed and higher feasibility.
Deep Web database; heterogeneous; integration
10.3969/J.ISSN.1000-5137.2016.04.006
2015-03-10
陳軍華,中國上海市徐匯區(qū)桂林路100號,上海師范大學信息與機電工程學院,郵編:200234,E-mail:chenjh@shnu.edu.cn
TP 391
A
1000-5137(2016)04-0422-06