《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于B/S模式數(shù)據(jù)庫檢索系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于B/S模式數(shù)據(jù)庫檢索系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2017年微型機(jī)與應(yīng)用第6期
王小霞
中國社會(huì)科學(xué)院民族學(xué)與人類學(xué)研究所 網(wǎng)絡(luò)信息中心,北京 100081
摘要: 研究了數(shù)據(jù)庫檢索系統(tǒng)的相關(guān)技術(shù)并介紹了一種基于B/S模式的數(shù)據(jù)庫檢索系統(tǒng)。系統(tǒng)選擇H2數(shù)據(jù)庫,應(yīng)用B/S模式和MVC框架實(shí)現(xiàn)對(duì)文本、圖片、聲頻和視頻等多種數(shù)據(jù)資源的統(tǒng)一描述和集成管理,可對(duì)多種資源統(tǒng)一檢索。
Abstract:
Key words :

  王小霞

 ?。ㄖ袊鐣?huì)科學(xué)院民族學(xué)與人類學(xué)研究所 網(wǎng)絡(luò)信息中心,北京 100081)

        摘要:研究了數(shù)據(jù)庫檢索系統(tǒng)的相關(guān)技術(shù)并介紹了一種基于B/S模式的數(shù)據(jù)庫檢索系統(tǒng)。系統(tǒng)選擇H2數(shù)據(jù)庫,應(yīng)用B/S模式和MVC框架實(shí)現(xiàn)對(duì)文本、圖片、聲頻和視頻等多種數(shù)據(jù)資源的統(tǒng)一描述和集成管理,可對(duì)多種資源統(tǒng)一檢索。

  關(guān)鍵詞:數(shù)據(jù)庫;檢索系統(tǒng);H2;瀏覽器/服務(wù)器(B/S)模式;MVC框架

  中圖分類號(hào):TP309.3文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.06.027

  引用格式:王小霞. 基于B/S模式數(shù)據(jù)庫檢索系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2017,36(6):89-91.

0引言

  *基金項(xiàng)目:國家民委民族問題研究項(xiàng)目(2016GMB012)隨著數(shù)據(jù)信息電子化的發(fā)展,對(duì)數(shù)據(jù)庫的檢索查詢應(yīng)用變得尤為重要。依靠SQL 語句查詢的方式要求用戶既要掌握 SQL 語言,又要理解數(shù)據(jù)的組織結(jié)構(gòu)。所以通過關(guān)鍵詞檢索技術(shù)和語義知識(shí)庫技術(shù)是解決數(shù)據(jù)庫檢索問題的關(guān)鍵技術(shù)。由于社會(huì)科學(xué)研究人員在數(shù)據(jù)庫檢索方面基礎(chǔ)知識(shí)的有限,數(shù)據(jù)庫檢索在社會(huì)科學(xué)研究中的應(yīng)用發(fā)展就會(huì)顯得尤為急需。

  再者從數(shù)據(jù)庫檢索的發(fā)展情況來看,關(guān)鍵詞檢索技術(shù)隨著互聯(lián)網(wǎng)上搜索引擎的巨大成功而逐漸成熟,用戶只需在搜索引擎中輸入需要查詢的關(guān)鍵詞,搜索引擎便可將匹配關(guān)鍵詞的內(nèi)容按照相關(guān)程度排序呈現(xiàn)給用戶。關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索一直是一個(gè)主流的研究方向[1]。

  本文根據(jù)工作的現(xiàn)實(shí)需求,設(shè)計(jì)開發(fā)一個(gè)數(shù)據(jù)庫檢索系統(tǒng),系統(tǒng)以 J2EE 架構(gòu)為基礎(chǔ),結(jié)合H2數(shù)據(jù)庫技術(shù)、語義 Web 技術(shù)和關(guān)鍵詞檢索技術(shù),實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫語義理解和檢索。

1系統(tǒng)分析

  關(guān)于新疆游牧維族研究資料的應(yīng)用,利用數(shù)據(jù)庫的手段,借用人類學(xué)的方法,全面地考察、記錄游牧維族的社會(huì)文化,建立高水平的民族學(xué)人類學(xué)專題數(shù)據(jù)庫檢索系統(tǒng)。

  根據(jù)需要和數(shù)據(jù)庫檢索技術(shù)及當(dāng)前軟件發(fā)展的趨勢, 該數(shù)據(jù)庫檢索系統(tǒng)需要做到檢索速度快、方便外出攜帶等,因此選擇H2數(shù)據(jù)庫,采用JSP技術(shù)B/S結(jié)構(gòu)模式,以 “模型視圖控制器” (ModelViewController,MVC)設(shè)計(jì)模式為理念進(jìn)行系統(tǒng)開發(fā)設(shè)計(jì)和MVC框架設(shè)計(jì),完成該數(shù)據(jù)庫的開發(fā),實(shí)現(xiàn)數(shù)據(jù)信息的交換。

2數(shù)據(jù)庫檢索系統(tǒng)設(shè)計(jì)

  2.1H2數(shù)據(jù)庫設(shè)計(jì)

  數(shù)據(jù)庫設(shè)計(jì)是數(shù)據(jù)庫檢索系統(tǒng)的核心部分,數(shù)據(jù)庫設(shè)計(jì)的優(yōu)劣直接關(guān)系到檢索的速度與穩(wěn)定性。 而對(duì)于數(shù)據(jù)庫設(shè)計(jì)來說,最重要的是遵循數(shù)據(jù)庫設(shè)計(jì)的一般原則,即安全、完整、一致、規(guī)范。

  H2是一個(gè)較小的嵌入式數(shù)據(jù)庫引擎,屬于開源數(shù)據(jù)庫,可以隨時(shí)免費(fèi)快速使用,有嵌入式的數(shù)據(jù)庫服務(wù)器,支持集群。H2數(shù)據(jù)庫和其他的常用的開源數(shù)據(jù)庫如Derby、HSQLDB、MySQL、PostgreSQL不同,這幾種開源數(shù)據(jù)庫都需要安裝獨(dú)立的客戶端和服務(wù)器端。H2的優(yōu)勢在于:(1)H2采用純Java編寫,因此不受平臺(tái)的限制;(2)H2只有一個(gè)jar文件,十分適合作為嵌入式數(shù)據(jù)庫試用;(3)H2提供Web控制臺(tái)用于操作和管理數(shù)據(jù)庫內(nèi)容[2]。

  鑒于數(shù)據(jù)庫檢索系統(tǒng)的特殊需求,選擇H2數(shù)據(jù)庫。數(shù)據(jù)庫定義了資源類型resource type(專著/論文/其他文章/圖片/視頻)、社會(huì)文化類social culture type(社會(huì)組織、婚姻家庭制度、生產(chǎn)現(xiàn)狀、衣食住行、教育、語言文化、藝術(shù)文化、婚俗文化、宗教信仰文化、喪葬文化)、題目title、作者Author、提供者Provider、doc文件名Filename、pdf文件名filename、論文摘要(2 000字內(nèi))、關(guān)鍵詞keyword、來源/出處sources、出版社publisher、出版時(shí)間或拍攝時(shí)間time、地點(diǎn)place、資源對(duì)象類型resource object type(山區(qū)游牧牧民、沙漠腹地游牧牧民、和游牧相關(guān)的村民、非游牧牧民);相關(guān)民族EthnicGroup關(guān)鍵詞key words、摘要abstract等。

004.jpg

  H2數(shù)據(jù)庫與各數(shù)據(jù)庫特征的對(duì)比如表1所示。

  2.2B/S結(jié)構(gòu)模式

  瀏覽器的客戶機(jī)/服務(wù)器(Browser/Server,B/S)結(jié)構(gòu)通信方式比C/S結(jié)構(gòu)高效。B/S結(jié)構(gòu)將系統(tǒng)功能實(shí)現(xiàn)的主要內(nèi)容集中到服務(wù)器上??蛻舳丝梢允褂萌魏我粋€(gè)瀏覽器如Internet Explorer或Netscape Navigator,數(shù)據(jù)庫服務(wù)器安裝H2、SQL Server、Oracle、MYSQL等數(shù)據(jù)庫。瀏覽器可以通圖1B/S模式結(jié)構(gòu)圖過Web服務(wù)同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。B/S模式結(jié)構(gòu)圖如圖1所示。

001.jpg

  采用B/S模式有以下的好處:(1)各個(gè)用戶通過 HTTP請(qǐng)求在權(quán)限范圍內(nèi)調(diào)用 Web 服務(wù)器上不同處理程序,從而完成對(duì)數(shù)據(jù)的查詢或修改;(2)它使用戶的操作變得更簡單;(3)客戶端只是一個(gè)簡單易用的瀏覽器軟件。無論是決策層還是操作層的人員都無需培訓(xùn),可以直接使用。B/S 模式的這種特性,還使系統(tǒng)維護(hù)的限制因素更少; B/S 也適用于網(wǎng)上信息發(fā)布,使得傳統(tǒng)的 MIS 的功能有所擴(kuò)展[3]。

  2.3MVC框架

  MVC是一個(gè)存在于服務(wù)器端表達(dá)層的模型,它將應(yīng)用分開,改變應(yīng)用之后的高度耦合。MVC 模型將應(yīng)用分為三層:模型(Model)、視圖(View)、控制器(Controller)。

  模型:相當(dāng)于一個(gè)數(shù)據(jù)庫應(yīng)用,用數(shù)據(jù)庫來存儲(chǔ)應(yīng)用的狀態(tài)。視圖:相當(dāng)于一個(gè)頁面的顯示,以某種方式將模型中的應(yīng)用展現(xiàn)在用戶面前??刂破鳎涸谝晥D中將用戶的輸入提交給指定的模型,然后在模型中解釋用戶的輸入,最后將結(jié)果返回給視圖[4]。

  MVC模式的優(yōu)點(diǎn): 首先,模型、視圖與控制器的分離使得一個(gè)模型可以具有多個(gè)顯示視圖,如果用戶通過某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其他依賴于這些數(shù)據(jù)的視圖都應(yīng)反映這些變化,因此,無論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,實(shí)現(xiàn)顯示的更新。其次,模型的可移植性。因?yàn)槟P褪仟?dú)立于視圖的,所以可以把一個(gè)模型獨(dú)立地移植到新的平臺(tái)工作,需要做的只是在新平臺(tái)上對(duì)視圖和控制器進(jìn)行修改[5]。

  可以借用參考文獻(xiàn)[6]中MVC框架結(jié)構(gòu)圖(如圖2所示)進(jìn)一步了解MVC框架。

 

002.jpg

3數(shù)據(jù)庫檢索系統(tǒng)的實(shí)現(xiàn)

  鑒于以上需求分析和技術(shù)研究,設(shè)計(jì)開發(fā)新疆游牧維族社會(huì)文化調(diào)查研究數(shù)據(jù)庫檢索系統(tǒng)。

  整個(gè)檢索系統(tǒng)基于B/S模式,利用Spring+Hibernate+ExtJs框架整合了應(yīng)用,嚴(yán)格按照MVC的標(biāo)準(zhǔn),實(shí)現(xiàn)了顯示層、控制層、業(yè)務(wù)邏輯層和數(shù)據(jù)庫連接層等多層框架。

  利用Spring IOC和Spring AOP作為項(xiàng)目粘合劑,可以動(dòng)態(tài)調(diào)整、更換所需的企業(yè)級(jí)服務(wù)和應(yīng)用組件。 借助于Spring IOC,對(duì)所需要的應(yīng)用組件進(jìn)行依賴注入;借助于Spring AOP,透明地使用企業(yè)級(jí)服務(wù);借助于Spring,將主流的開源框架以“熱拔插”方式集成到應(yīng)用,組成了項(xiàng)目輕量級(jí)的J2EE架構(gòu)。將JOTM集成到Spring應(yīng)用中,使得持久化服務(wù)能夠基于Hibernate實(shí)現(xiàn),借助于Spring DAO抽象將Hibernate集成到應(yīng)用組件中。將JSF、Tapestry Web框架集成到Spring應(yīng)用中,直接使用Spring提供的集成支持。將基礎(chǔ)的程序塊組成在一起成為一個(gè)連貫的整體。

  Hibernate的底層驅(qū)動(dòng)也讓項(xiàng)目可以隨意地切換數(shù)據(jù)庫,目前項(xiàng)目使用了內(nèi)存數(shù)據(jù)庫H2,快速簡潔,Hibernate直接提供相關(guān)的支持,且與Spring集成使用更簡潔。

  3.1數(shù)據(jù)庫檢索系統(tǒng)功能

  新疆游牧維族社會(huì)文化調(diào)查研究數(shù)據(jù)庫檢索系統(tǒng)包括檢索系統(tǒng)和新疆游牧維族社會(huì)文化調(diào)查研究數(shù)據(jù)庫。檢索系統(tǒng)分為文獻(xiàn)查詢和文獻(xiàn)數(shù)據(jù)錄入修改兩個(gè)子系統(tǒng),其界面如圖3、圖4所示。

  

003.jpg

  文獻(xiàn)查詢子系統(tǒng)主要功能:系統(tǒng)能分別進(jìn)行資源類型resource type、題目title、作者author、文件名name、出版信息publish information、地點(diǎn)place、時(shí)間time、提供者provider、出處source 、資源對(duì)象類型resource object type、社會(huì)文化類social culture type 關(guān)鍵詞key words、摘要abstract等字段的分類單項(xiàng)檢索和并行多項(xiàng)檢索。

  文獻(xiàn)數(shù)據(jù)錄入子系統(tǒng)完成文獻(xiàn)數(shù)據(jù)庫數(shù)據(jù)的批量上傳和單條數(shù)據(jù)的添加、刪除和修改功能??梢詮南到y(tǒng)后備庫下載數(shù)據(jù)庫模板進(jìn)行多條數(shù)據(jù)批量修改或整個(gè)數(shù)據(jù)庫數(shù)據(jù)修改替換。

  3.2數(shù)據(jù)庫檢索系統(tǒng)特點(diǎn)

 ?。?)采用TBS全文檢索系統(tǒng)具有多途徑、多層次檢索文獻(xiàn)的功能??蓮馁Y源類型resource type、題目title、作者auther、文件名name、出版信息publish information、地點(diǎn)place、時(shí)間time、提供者provider、出處source 、資源對(duì)象類型resource object type、社會(huì)文化類social culture type 關(guān)鍵詞key words、摘要abstract多個(gè)方面提供多途徑檢索。

 ?。?)數(shù)據(jù)庫采用了輕數(shù)據(jù)庫H2,小巧靈活的嵌入式數(shù)據(jù)庫,可以跨平臺(tái),既保留了結(jié)構(gòu)化數(shù)據(jù)庫特性,又具備文件式數(shù)據(jù)庫靈活及性能。(3)用Hiberante技術(shù)做ORM,增加了大量的緩存機(jī)制,減少了數(shù)據(jù)庫讀取壓力。系統(tǒng)檢索速度快。Hibernate的底層驅(qū)動(dòng)也讓項(xiàng)目可以隨意地切換數(shù)據(jù)庫,快速簡潔。Hibernate直接提供相關(guān)的支持,且與Spring集成使用更簡潔。

 ?。?)整個(gè)系統(tǒng)雖然為Web瀏覽,但是可以做到隨時(shí)拷貝部署。本系統(tǒng)也可以作為公網(wǎng)的服務(wù),團(tuán)隊(duì)一起瀏覽,特別適合調(diào)研和之后宣傳使用。

  (5)操作方便,主要采用菜單驅(qū)動(dòng)方式,直接檢索,易操作,調(diào)研過程中,工作人員約定格式即可同時(shí)作業(yè),只需一鍵導(dǎo)入就可以完成入庫操作。系統(tǒng)啟動(dòng)關(guān)閉都很方便,數(shù)據(jù)隨時(shí)可以拷貝備份,便于攜帶。

 ?。?)數(shù)據(jù)可靠性高,對(duì)于入庫后的檢索,針對(duì)所有關(guān)注的內(nèi)容均可以檢索??梢苑奖悴榭磦€(gè)別詳情。

 ?。?)成本低,經(jīng)濟(jì)效益高。

4結(jié)論

  本文在進(jìn)行系統(tǒng)分析和對(duì)數(shù)據(jù)庫檢索系統(tǒng)核心技術(shù)研究的基礎(chǔ)上,設(shè)計(jì)完成新疆游牧維族社會(huì)文化調(diào)查研究數(shù)據(jù)庫檢索系統(tǒng)。該數(shù)據(jù)庫檢索系統(tǒng)檢索速度快,方便外出攜帶等多種使用功能,同時(shí)具有低成本、高效率、易于維護(hù)和擴(kuò)展以及更新快捷方便等優(yōu)勢,解決了目前研究人員外出,在沒有網(wǎng)絡(luò)狀態(tài)下檢索困難的問題,同時(shí)還解決了不能網(wǎng)上發(fā)布的保密資料只供自己瀏覽檢索的問題。

  未來將在數(shù)據(jù)庫檢索多庫聯(lián)合檢索、MVC框架、Hibernate、Tomcat、遵循更高技術(shù)的檢索管理架構(gòu)等方面做進(jìn)一步的研究和探索。

參考文獻(xiàn)

 ?。?] 萬長林,徐德明. 基于語義的數(shù)據(jù)庫關(guān)鍵詞檢索系統(tǒng)[J]. 計(jì)算機(jī)與現(xiàn)代化,2014(10):37-41.

 ?。?] Mr & Cheng. H2數(shù)據(jù)庫使用[EB/OL].(2013-xx-xx)[2016-09-19].http://my.oschina.net/leoson/blog/103275.

 ?。?] 賈福龍. 基于 Web 瀏覽器/服務(wù)器模式 的實(shí)時(shí)審計(jì)系統(tǒng)的開發(fā)[J]. 遼寧工學(xué)院學(xué)報(bào),2006, 8(3) :100-103.

 ?。?] 梁龍,成益鑫,吳建波,等.基于 MVC 的振動(dòng)噪聲數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(19):4415-4418.

  [5] 曾令強(qiáng).MVC 模式在高??蒲袡n案管理信息系統(tǒng)中的應(yīng)用研究[J].科技管理研究,2010,30(14):130-133.

  [6] 邊霞,趙奎,胡曉勤,等.基于MVC的文件備份后臺(tái)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(9):3195-3198.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。