基于WPF的LED顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)及基于數(shù)字資源庫藏系統(tǒng)(CDAL)的元數(shù)據(jù)存儲(chǔ)方案設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于WPF的LED顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)及基于數(shù)字資源庫藏系統(tǒng)(CDAL)的元數(shù)據(jù)存儲(chǔ)方案設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于WPF的LED顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)及基于數(shù)字資源庫藏系統(tǒng)(CDAL)的元數(shù)據(jù)存儲(chǔ)方案設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于WPF的LED顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)及基于數(shù)字資源庫藏系統(tǒng)(CDAL)的元數(shù)據(jù)存儲(chǔ)方案設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于WPF的LED顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)及基于數(shù)字資源庫藏系統(tǒng)(CDAL)的元數(shù)據(jù)存儲(chǔ)方案設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PAGE1-基于WPF的LED顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:利用WPF技術(shù)可以開發(fā)出具有效果絢麗、功能強(qiáng)大、容易部署的應(yīng)用程序。本文提出了一種基于WPF技術(shù)快速高效的開發(fā)LED顯示系統(tǒng)的方案,該系統(tǒng)利用WPF豐富的UI框架及用戶自定義控件,通過多線程和控件組合的方式,實(shí)現(xiàn)了簡單便捷的數(shù)據(jù)維護(hù)和多種顯示模式的動(dòng)態(tài)組合和加載。關(guān)鍵詞: WPF;LED顯示;多線程控制TheDesignandImplementationofLEDdisplaysystembasedonWPFAbstract:WeuseMicrosoftWPFtechnologythatwecandevelopwithcolorful,powerful,simpletodeployapplication.ThispaperproposesafastandefficientsolutionofLEDdisplaysystembasedonWPFtechnology.ThesytemwithextensiveUIframeworkandusercustomcontrolofWPF.thatusemultithreadingandcontrolgrouptoenablesimpleconvenientdataandloadeddynamiccombinationandmaintain,andvariousdisplaymodes.Keys:WPF;LEDdisplay;Multithreadedcontrol

1前言目前,LED大屏幕產(chǎn)品所支持的通用顯示系統(tǒng)在操作和使用上都具有一定專業(yè)性,在顯示內(nèi)容上局限性較大。本文提出了一種基于WPF技術(shù)開發(fā)的LED顯示系統(tǒng),通過外部Windows應(yīng)用程序接口實(shí)現(xiàn)了定制數(shù)據(jù)在大屏幕中的顯示,不但豐富了顯示內(nèi)容,實(shí)現(xiàn)了內(nèi)容的定制,還降低了系統(tǒng)維護(hù)的難度,提高了系統(tǒng)操作的時(shí)效性。2系統(tǒng)整體概述2.1系統(tǒng)總體架構(gòu)本文設(shè)計(jì)的顯示系統(tǒng)的總體結(jié)構(gòu)如下圖所示,該系統(tǒng)主要分為系統(tǒng)顯示和數(shù)據(jù)維護(hù)兩部分。圖2-1顯示系統(tǒng)的總體結(jié)構(gòu)圖2.2系統(tǒng)顯示模塊顯示模塊的設(shè)計(jì)主要采用了用戶控件組合的技術(shù)實(shí)現(xiàn)。將顯示內(nèi)容根據(jù)業(yè)務(wù)類別劃分為不同的欄目,并以不同的控件予以實(shí)現(xiàn),再根據(jù)不同的顯示需求將已經(jīng)設(shè)計(jì)好的欄目控件用布局控件進(jìn)行組合排列組成模式控件。下圖是用StackPanel順序容器排列組合欄目控件的代碼示例。圖2-2用戶控件組合2.3數(shù)據(jù)維護(hù)模塊該模塊從功能上分為數(shù)據(jù)和控制兩部分,數(shù)據(jù)部分為各欄目數(shù)據(jù)的維護(hù),控制部分為設(shè)定模式的啟用狀態(tài)、顯示頻率、模式起始時(shí)間、優(yōu)先級(jí)等信息。通過以上兩個(gè)部分實(shí)現(xiàn)動(dòng)態(tài)加載顯示數(shù)據(jù)和動(dòng)態(tài)切換加載顯示模式的目的。3數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)方面,分為欄目數(shù)據(jù)表、欄目控制表、模式控制表。欄目數(shù)據(jù)表用于存儲(chǔ)欄目基礎(chǔ)數(shù)據(jù),包括分組名稱、顯示內(nèi)容、添加時(shí)間、描述信息等字段,解決了多種欄目數(shù)據(jù)的存儲(chǔ)問題。欄目控制表包括欄目名稱、分組名稱、描述信息等字段,用于存儲(chǔ)要在大屏幕中顯示的欄目分組數(shù)據(jù),它是欄目數(shù)據(jù)表的關(guān)系表。模式控制表包括模式名稱、啟用狀態(tài)、顯示頻率、模式起始時(shí)間等字段,用于存儲(chǔ)模式信息。擴(kuò)展應(yīng)用只需在欄目數(shù)據(jù)表部分加入新表,構(gòu)建與欄目控制表的關(guān)系,即可完成擴(kuò)展開發(fā)的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),從而達(dá)到新的業(yè)務(wù)需求。表3-1模式控制表編號(hào)字段名數(shù)據(jù)庫字段名數(shù)據(jù)類型1模式名稱modeNamenvarchar(50)2模式狀態(tài)modeStatenvarchar(50)3顯示頻率showFrequencynvarchar(50)4開始時(shí)間startTimedatetime5結(jié)束時(shí)間endTimedatetime6描述descriptionnvarchar(MAX)表3-2欄目控制表編號(hào)字段名數(shù)據(jù)庫字段名數(shù)據(jù)類型1欄目名稱sectionNamenvarchar(50)2分組名稱groupNamenvarchar(50)3描述descriptionnvarchar(MAX)表3-3欄目數(shù)據(jù)表編號(hào)字段名數(shù)據(jù)庫字段名數(shù)據(jù)類型1分組名稱groupNamenvarchar(50)2顯示內(nèi)容showContentnvarchar(50)3添加時(shí)間addTimedatetime4描述descriptionnvarchar(MAX)4關(guān)鍵技術(shù)4.1數(shù)據(jù)顯示各欄目數(shù)據(jù)按用途在維護(hù)時(shí)進(jìn)行分組,通過欄目控制可以定制要在各模式中使用的欄目分組數(shù)據(jù)。在模式控制中,設(shè)置模式的顯示頻率,顯示頻率分為定時(shí)顯示、定時(shí)重復(fù)顯示、重復(fù)顯示。遍歷模式控制表,將顯示頻率為重復(fù)的記錄添加到臨時(shí)集合中,接著將定時(shí)重復(fù)的記錄添加到臨時(shí)集合中,最后將定時(shí)的記錄添加到臨時(shí)集合,使用時(shí),取臨時(shí)集合的最后一條記錄,利用反射動(dòng)態(tài)加載顯示模式,可得到顯示模式的優(yōu)先級(jí),即定時(shí)顯示>定時(shí)重復(fù)>定時(shí)。反射加載顯示模式關(guān)鍵代碼如下:System.Windows.Controls.UserControluc;System.Reflection.Assemblyassembly;privatevoidWindow_Loaded(objectsender,RoutedEventArgse){assembly=System.Reflection.Assembly.Load(…模式程序集名…);if(assembly==null){MessageBox.Show("程序集名稱錯(cuò)誤!");return;}uc=assembly.CreateInstance(…模式類名…)asUserControl;if(uc==null){MessageBox.Show("模式類名錯(cuò)誤!");return;}MainWindow.ContentControl.Content=uc;}4.2線程控制WPF應(yīng)用程序在運(yùn)行過程中,UI線程接收輸入、處理事件、繪制屏幕以及運(yùn)行應(yīng)用程序代碼,如果運(yùn)行時(shí)間過長,會(huì)造成內(nèi)存使用率不斷上升、CUP占用率提高,導(dǎo)致系統(tǒng)總體性能降低,必須對(duì)內(nèi)存及時(shí)釋放來解決以上問題。以三欄式模式為列,關(guān)鍵代碼如下:privatevoidUserControl_Loaded(objectsender,RoutedEventArgse){//小標(biāo)語控件//定義欄目切換計(jì)時(shí)器timerLoadData=newSystem.Windows.Threading.DispatcherTimer();//設(shè)置計(jì)時(shí)器間隔時(shí)間timerLoadData.Interval=newTimeSpan(0,0,20);//超過計(jì)時(shí)器間隔的事件timerLoadData.Tick+=timerLoadData_Tick;//啟動(dòng)計(jì)時(shí)器timerLoadData.Start();//定義小標(biāo)語加載計(jì)時(shí)器timerSwitch=newSystem.Windows.Threading.DispatcherTimer();timerSwitch.Interval=newTimeSpan(0,0,2);timerSwitch.Tick+=timerSwitch_Tick;timerSwitch.Start();}privatevoidtimerSwitch_Tick(objectsender,EventArgse){…代碼省略}privatevoidtimerLoadData_Tick(objectsender,EventArgse){…代碼省略}三欄式模式由頁眉控件、小標(biāo)語控件、頁腳控件組成,當(dāng)程序加載此模式時(shí),要對(duì)各控件的線程進(jìn)行釋放,關(guān)鍵代碼如下:privatevoidWindow_Loaded(objectsender,RoutedEventArgse){//用戶控件計(jì)時(shí)器控制//停止欄目切換時(shí)器modeSmallSlogan.sectionSmallSlogan.timerSwitch.Stop();//停止欄目加載計(jì)時(shí)器modeSmallSlogan.sectionSmallSlogan.timerLoadData.Stop();modeSmallSlogan.sectionSmallSlogan.timerSwitch.Tick-=modeSmallSlogan.sectionSmallSlogan.timerSwitch_Tick;modeSmallSlogan.sectionSmallSlogan.timerLoadData.Tick-=modeSmallSlogan.sectionSmallSlogan.timerLoadData_Tick;}5結(jié)語系統(tǒng)的實(shí)現(xiàn)采用了WPF技術(shù),尤其是以用戶控件組合的方式解決了顯示內(nèi)容的動(dòng)態(tài)擴(kuò)展和加載,以及在多LED屏的環(huán)境下通過網(wǎng)絡(luò)連接實(shí)現(xiàn)同源同步的顯示等問題,并可通過擴(kuò)展新欄目和組合新的顯示模式從而豐富顯示內(nèi)容的目的,更利于對(duì)未知業(yè)務(wù)的擴(kuò)展,徹底改變了傳統(tǒng)顯示系統(tǒng)操作復(fù)雜、局限性大等缺陷,使得企業(yè)可以根據(jù)展示和宣傳的需要進(jìn)行定制開發(fā),甚至可以集成現(xiàn)有業(yè)務(wù)系統(tǒng)的數(shù)據(jù)予以展現(xiàn),更加符合企業(yè)自身的需求。參考文獻(xiàn):[1]KarliWatson,ChristianNagel.C#入門經(jīng)典(第4版).北京:清華大學(xué)出版社,2008.12:961-985.[2]WPF線程:使用調(diào)度程序構(gòu)建反應(yīng)速度更快的應(yīng)用程序/zh-cn/magazine/cc163382.aspx/.2007-10[3]MatthewMacDonald.WPF編程寶典――使用C#2008和.NET3.5.北京:清華大學(xué)出版社,2009-8-10:441-623.[4]王少葵.深入解析WPF編程.北京:電子工業(yè)出版社,2008.04:151-236.作者簡介:XX,男,1979年7月出生,四川內(nèi)江人,大學(xué)本科,助理工程師。任職中國石油青海油田井下研發(fā)中心軟件組,研究方向:軟件工程與信息系統(tǒng)。地址:甘肅省敦煌市七里鎮(zhèn)新一區(qū)基于數(shù)字資源庫藏系統(tǒng)(CDAL)的元數(shù)據(jù)存儲(chǔ)方案設(shè)計(jì)與實(shí)現(xiàn)TheDesignandImplementationoftheStrategyforMetadataRepositoryintheChineseDigitalAssetsLibrary(CDAL)摘要 元數(shù)據(jù)在中文數(shù)字財(cái)富大全庫(CDAL)這樣旨在對(duì)多種類型數(shù)字資源長期保存的系統(tǒng)而言有很大的應(yīng)用價(jià)值。實(shí)際應(yīng)用中,各類數(shù)字資源的元數(shù)據(jù)標(biāo)準(zhǔn)不斷的經(jīng)歷著完善和發(fā)展,主要表現(xiàn)為元數(shù)據(jù)屬性的增減以及屬性定義的改變;為了廣泛收集元數(shù)據(jù),CDAL采用了集成大眾智慧的wiki協(xié)同編輯方式,這種方式需要元數(shù)據(jù)系統(tǒng)保存所有元數(shù)據(jù)的歷史版本,還會(huì)引起因元數(shù)據(jù)被頻繁的修改對(duì)通過網(wǎng)絡(luò)訪問元數(shù)據(jù)的效率帶來的負(fù)面影響。針對(duì)以上這些問題,本文為CDAL的四類多媒體類型資源確定了一套基于DublinCore的元數(shù)據(jù)模式標(biāo)準(zhǔn)供CDAL采用,并提出了一個(gè)針對(duì)在協(xié)同編輯環(huán)境下的可變模式的結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)方案。該方案采用元組方式實(shí)現(xiàn)數(shù)據(jù)模式與實(shí)際數(shù)據(jù)的分離維護(hù),同時(shí)考慮到了協(xié)同編輯方式帶來的網(wǎng)絡(luò)訪問效率問題以及與原有CDAL系統(tǒng)的整合問題。關(guān)鍵詞:元數(shù)據(jù),元數(shù)據(jù)存儲(chǔ),元數(shù)據(jù)標(biāo)準(zhǔn),協(xié)同編輯,數(shù)字資源

目錄第一章引言 -3-第二章元數(shù)據(jù)標(biāo)準(zhǔn)與協(xié)同編輯 -4-1.CDAL中多媒體數(shù)字資源元數(shù)據(jù)的標(biāo)準(zhǔn) -4-2.元數(shù)據(jù)的來源:協(xié)同編輯 -6-第三章元數(shù)據(jù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) -7-1.針對(duì)元數(shù)據(jù)模式的功能的實(shí)現(xiàn) -8-2.針對(duì)元數(shù)據(jù)具體取值的功能實(shí)現(xiàn)以及Web模塊對(duì)資源實(shí)體的封裝 -9-3.元數(shù)據(jù)管理 -13-4.與原系統(tǒng)的協(xié)同工作 -14-5.存取性能上的優(yōu)化 -15-第四章實(shí)用效果與展望 -18-第五章總結(jié) -21-致謝: -21-參考文獻(xiàn): -22-附表:四類數(shù)字資源的元數(shù)據(jù)模式 -22-

第一章引言中文數(shù)字財(cái)富大全庫(ChineseDigitalAssetsLibrary,簡稱CDAL,昵稱"燕儲(chǔ)")是由北京大學(xué)網(wǎng)絡(luò)實(shí)驗(yàn)室建立并維護(hù)的綜合數(shù)字資源倉儲(chǔ)系統(tǒng)。自建立以來,CDAL已搜集存儲(chǔ)約7TB視頻,音頻,靜態(tài)圖片,軟件,電子書籍等多種數(shù)字資源,按照DublinCore應(yīng)用委員會(huì)提出的數(shù)字信息分類框架劃分?jǐn)?shù)字信息種類,提供Web服務(wù)?,F(xiàn)在的服務(wù)方式包括目錄導(dǎo)引查詢和文件名關(guān)鍵字查詢。為了便于更好地提供檢索服務(wù),需要解決的一個(gè)重要問題是元數(shù)據(jù)的收集、檢索與管理。從資源實(shí)體的組成來看,任何一個(gè)資源實(shí)體都可以由以下三個(gè)方面的特征來描述:內(nèi)容(Content):指資源實(shí)體的組成,是資源實(shí)體的內(nèi)在特征。上下文(Context):描述與資源實(shí)體的創(chuàng)建相關(guān)的人物、個(gè)體、原因、地點(diǎn)、方式等,是資源實(shí)體的外在特征。結(jié)構(gòu)(Structure):描述資源實(shí)體各個(gè)組成部分之間或者與其他資源實(shí)體之間的關(guān)聯(lián),該特征可能是內(nèi)在的,也可能是外在的。元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù),針對(duì)數(shù)字資源而言,元數(shù)據(jù)指數(shù)字資源的描述信息。通常,一個(gè)元數(shù)據(jù)記錄由一組屬性構(gòu)成,這組屬性與其相應(yīng)的屬性值共同構(gòu)成對(duì)資源的描述。元數(shù)據(jù)的宗旨是對(duì)數(shù)字資源更好的進(jìn)行整理、追蹤,并提高資源的可訪問性和互操作性。早在數(shù)字資源的概念出現(xiàn)之前,圖書館將圖書的索引、摘要、分類記錄等結(jié)構(gòu)化的數(shù)據(jù)遵照一定的標(biāo)準(zhǔn),作為針對(duì)資源內(nèi)容的元數(shù)據(jù)保存起來,以方便讀者快速查找圖書;圖書館將圖書的出版年代、作者、借閱記錄等信息遵照一定的標(biāo)準(zhǔn),作為針對(duì)上下文的元數(shù)據(jù)保存起來,這些信息既可以輔助管理人員識(shí)別不同的書目,亦可幫助讀者進(jìn)行復(fù)雜的查詢,從中不難看出針對(duì)上下文信息的元數(shù)據(jù)在資源庫中的作用。對(duì)于以多媒體數(shù)字資源而言,“上下文”信息很難隨著對(duì)資源本身的收集而獲得,而內(nèi)容相關(guān)的結(jié)構(gòu)關(guān)聯(lián)也因?yàn)樯婕岸嗝襟w內(nèi)容分析而難以實(shí)現(xiàn)。在這種情況下,對(duì)多媒體數(shù)字資源建立文本描述的元數(shù)據(jù),不但可以說明上述內(nèi)容,而且能夠直接有助于提高對(duì)資源檢索的準(zhǔn)確率和滿意度。 因此,我們希望通過為各個(gè)資源增加元數(shù)據(jù)的方式達(dá)到更充分的利用以及更有效的維護(hù)CDAL中大量的數(shù)字資源的目的。為了達(dá)到這個(gè)目的,需要:確定多媒體數(shù)字資源元數(shù)據(jù)的標(biāo)準(zhǔn);為CDAL中的各資源找到可靠的元數(shù)據(jù)來源;設(shè)計(jì)和實(shí)現(xiàn)元數(shù)據(jù)系統(tǒng);元數(shù)據(jù)與CDAL中實(shí)際存儲(chǔ)的資源需進(jìn)行匹配。以下第二、第三兩章將圍繞上述1),2),3)三個(gè)方面詳細(xì)論述筆者所進(jìn)行的工作。第二章主要論述CDAL元數(shù)據(jù)標(biāo)準(zhǔn)的形成過程以及采用協(xié)同編輯方式搜集元數(shù)據(jù)的原因;第三章詳述了元數(shù)據(jù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)思路。第二章元數(shù)據(jù)標(biāo)準(zhǔn)與協(xié)同編輯1.CDAL中多媒體數(shù)字資源元數(shù)據(jù)的標(biāo)準(zhǔn)為一個(gè)資源庫選擇一合適的元數(shù)據(jù)標(biāo)準(zhǔn)需要考慮以下兩個(gè)問題:該標(biāo)準(zhǔn)的元數(shù)據(jù)屬性集合必須能夠滿足資源庫的需要;該標(biāo)準(zhǔn)與其他的元數(shù)據(jù)標(biāo)準(zhǔn)之間要有一定的互操作性。CDAL需要為保存下來的數(shù)字資源添加更豐富的描述信息,這樣才能夠?qū)ν馓峁└鼜?qiáng)大的檢索方式,并且為資源本身進(jìn)行更加有序的分類管理與資源個(gè)體識(shí)別。為了同時(shí)滿足資源庫本身的需要以及與其他標(biāo)準(zhǔn)之間的互操作性,CDAL元數(shù)據(jù)系統(tǒng)采用在標(biāo)準(zhǔn)的DublinCore基本元數(shù)據(jù)(以下簡稱“DC元數(shù)據(jù)”)上添加擴(kuò)展的方式確定其自身采用的標(biāo)準(zhǔn)?;驹獢?shù)據(jù),是指按照數(shù)字信息資源服務(wù)的共同需要建立起來的一種元數(shù)據(jù)格式,它可以支持對(duì)象的檢索、確認(rèn)和調(diào)度,同時(shí)它可以作為核心元數(shù)據(jù)集,各個(gè)領(lǐng)域可以根據(jù)特殊需要或者按照各個(gè)應(yīng)用系統(tǒng)的特點(diǎn)依照標(biāo)準(zhǔn)方法進(jìn)行擴(kuò)展,形成各個(gè)領(lǐng)域的專門元數(shù)據(jù)格式或具體應(yīng)用系統(tǒng)的元數(shù)據(jù)應(yīng)用格式。DC元數(shù)據(jù)于2003年2月成為國際標(biāo)準(zhǔn)——ISO15836。該元數(shù)據(jù)標(biāo)準(zhǔn)可分為兩個(gè)層次:簡單DC元數(shù)據(jù)(SimpleDublinCore)以及有修飾詞的DC元數(shù)據(jù)(QualifiedDublinCore)。簡單DC元數(shù)據(jù)由15個(gè)屬性構(gòu)成,為了滿足對(duì)CDAL中多媒體資源的檢索、分類、資源個(gè)體識(shí)別以及與外部系統(tǒng)互操作的需求,我們采用的元數(shù)據(jù)模式是在簡單DC元數(shù)據(jù)的基礎(chǔ)上,針對(duì)不同類型的數(shù)字資源參照不同行業(yè)內(nèi)的權(quán)威元數(shù)據(jù)機(jī)構(gòu)提出的模式,并對(duì)其進(jìn)行擴(kuò)展之后得到的(具體模式可參見附表1-4)。在為資源選擇元數(shù)據(jù)模式的時(shí)候,通常要考慮以下三個(gè)問題:該模式要在最大程度上適應(yīng)資源的使用者的需要;確定模式中相對(duì)重要的屬性以及描述粒度;保證系統(tǒng)當(dāng)前應(yīng)用的是該模式的最新版本。元數(shù)據(jù)模式會(huì)隨著時(shí)間的推移和應(yīng)用需求的變化而演變,我們對(duì)DublinCore元數(shù)據(jù)模式的研究發(fā)現(xiàn),盡管DCMI委員會(huì)竭力保持簡單元數(shù)據(jù)集的穩(wěn)定,幾乎每個(gè)最初的元數(shù)據(jù)項(xiàng)還是發(fā)生了或大或小的變化,這些變化主要包括定義的明確、范疇的細(xì)化、數(shù)據(jù)類型的變更等?;驹獢?shù)據(jù)屬性由最初的13個(gè)發(fā)展到現(xiàn)在的15個(gè),有修飾詞的DublinCore與2003年的版本相比也增加了2個(gè)屬性 完整的歷史變化過程可參閱/usage/terms/history/index.shtml。所以CDAL應(yīng)具有根據(jù)資源查找的需要及時(shí)調(diào)整其元數(shù)據(jù)模式的功能。由于CDAL為每一類數(shù)字資源采用的元數(shù)據(jù)模式都是對(duì)DC基本元數(shù)據(jù)的一個(gè)延伸,當(dāng)基本元數(shù)據(jù)的版本發(fā)生變化時(shí),CDAL元數(shù)據(jù)模式需要及時(shí)的適應(yīng)這一變化,以在最大程度上保證CDAL元數(shù)據(jù)的可用性及其與外系統(tǒng)的互操作性。鑒于以上原因,CDAL需要一個(gè)模式靈活性好的元數(shù)據(jù)系統(tǒng),以適應(yīng)底層元數(shù)據(jù)模式的發(fā)展和變化。 完整的歷史變化過程可參閱/usage/terms/history/index.shtml 2.元數(shù)據(jù)的來源:協(xié)同編輯為了獲取可靠的元數(shù)據(jù),以往的嘗試是鼓勵(lì)CDAL的注冊用戶為其感興趣的資源填寫CDAL缺少的元數(shù)據(jù)。用戶從CDAL的網(wǎng)站上找到資源的元數(shù)據(jù)項(xiàng),根據(jù)自己的意愿將新的元數(shù)據(jù)在本地編輯完畢,然后上傳。CDAL的網(wǎng)絡(luò)服務(wù)器端將新的元數(shù)據(jù)以文本文件的形式保存起來,以供使用。該策略也是協(xié)同編輯的形式之一。不過,這種方式有以下兩個(gè)缺陷:1)注冊用戶人數(shù)有限,不能滿足資源量增長造成的元數(shù)據(jù)標(biāo)注負(fù)擔(dān);2)以每個(gè)人以“承包任務(wù)”的方式標(biāo)注元數(shù)據(jù),其給出內(nèi)容是否準(zhǔn)確、完整、可信需要其他環(huán)節(jié)再行檢驗(yàn),這又要耗費(fèi)額外的人力;3)文本方式的存儲(chǔ)導(dǎo)致檢索等高級(jí)功能實(shí)現(xiàn)困難。與上述協(xié)同編輯不同,于1994年產(chǎn)生的wiki概念是一種完全自由的協(xié)同編輯方式。與以往的嘗試相比,wiki方式顯得更為簡明。wiki方式在獲取信息資源方面所取得了顯著的成果。其中,最具代表性的“維基百科全書”(Wikipedia)自從2001年1月創(chuàng)建起,一直到2004年10月,它所涵蓋的信息量已經(jīng)超越了歷史長達(dá)200多年的Britannica。以下為二者在信息量上的比較:詞數(shù) 條目數(shù) Britannica 44,000,000 140,000 Wikipedia 250,000,000 360,000由于采用的是自由、開放的編輯方式,維基百科全書的信息質(zhì)量難免遭到職業(yè)百科全書編者的質(zhì)疑。事實(shí)上,它的信息質(zhì)量并未因此大打折扣。 協(xié)同編輯的模式在信息獲取方面有如下兩個(gè)顯著的特點(diǎn):首先,由于任何人都可以隨意修改網(wǎng)頁上的信息,于是低質(zhì)量或者過于偏執(zhí)的信息很容易被訪問者刪除,經(jīng)過長期的積累,能夠在網(wǎng)頁上留下來的信息便都是有價(jià)值的。 http://moinmoin.wikiwikiweb.de/WhyWikiWorks其次,幾個(gè)wiki使用者可能因?yàn)樵谀硞€(gè)問題上持不同見解而在網(wǎng)頁上爭執(zhí)不休,這種對(duì)頁面反復(fù)修改的行為無疑會(huì)浪費(fèi)服務(wù)器的網(wǎng)絡(luò)資源??墒窃趙iki提供的這種協(xié)同編輯模式下,大多數(shù)使用者在對(duì)網(wǎng)頁內(nèi)容進(jìn)行編輯時(shí)會(huì)趨向使用客觀、中立的語言和表達(dá)方式使得自己的觀點(diǎn)更容易被他人所接受。協(xié)同編輯的這兩個(gè)特點(diǎn)是wiki站點(diǎn)能夠良好運(yùn)作的重要保障。 http://moinmoin.wikiwikiweb.de/WhyWikiWorks 鑒于wiki所取得的成功,我們將嘗試采用wiki的協(xié)同編輯的方式為各類數(shù)字資源獲取針對(duì)資源內(nèi)容和資源上下文的元數(shù)據(jù)信息。成熟的wiki引擎在數(shù)據(jù)存儲(chǔ)、檢索、緩存等方面都有值得借鑒之處,本文所詳述的元數(shù)據(jù)系統(tǒng)即借鑒了開源wiki引擎mediawiki的數(shù)據(jù)存儲(chǔ)方式和緩存策略。然而,成熟的wiki引擎都是針對(duì)非結(jié)構(gòu)化數(shù)據(jù)的搜集而設(shè)計(jì)的,而元數(shù)據(jù)是結(jié)構(gòu)化的數(shù)據(jù)。因此在CDAL的wiki引擎實(shí)現(xiàn)上,還要充分考慮到元數(shù)據(jù)的特點(diǎn)。第三章元數(shù)據(jù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)如上所述,該系統(tǒng)既是資源元數(shù)據(jù)的存儲(chǔ)與維護(hù)系統(tǒng),又是在協(xié)同編輯環(huán)境下的wiki引擎。因此,該系統(tǒng)的設(shè)計(jì)以及實(shí)現(xiàn)既要考慮到元數(shù)據(jù)本身的特點(diǎn),又要兼顧wiki引擎在運(yùn)作中可能出現(xiàn)的各種問題。除此之外,元數(shù)據(jù)的管理,新系統(tǒng)與舊系統(tǒng)的整合,以及運(yùn)行的效率等問題都需要考慮。系統(tǒng)的整體結(jié)構(gòu)如圖1所示:圖1.整體結(jié)構(gòu) Web模塊實(shí)現(xiàn)對(duì)系統(tǒng)中資源實(shí)體的封裝,wiki流程控制,檢索接口等功能;CDAL原有的程序也需要適當(dāng)?shù)男薷?,使其能夠與元數(shù)據(jù)系統(tǒng)協(xié)同工作。這兩部分功能的實(shí)現(xiàn)在很大程度上依賴于元數(shù)據(jù)系統(tǒng)。元數(shù)據(jù)系統(tǒng)在功能上大致可分為針對(duì)元數(shù)據(jù)模式的功能與針對(duì)元數(shù)據(jù)取值的功能兩個(gè)方面。其中元數(shù)據(jù)模式上的功能是實(shí)現(xiàn)存儲(chǔ)元數(shù)據(jù)取值存儲(chǔ)的基礎(chǔ)。1.針對(duì)元數(shù)據(jù)模式的功能的實(shí)現(xiàn)如前所述,該元數(shù)據(jù)系統(tǒng)的元數(shù)據(jù)模式依賴于DC元數(shù)據(jù)標(biāo)準(zhǔn),而且,系統(tǒng)還要允許元數(shù)據(jù)模式發(fā)生變化。首先,為了保持CDAL的元數(shù)據(jù)模式與DC元數(shù)據(jù)模式之間的對(duì)應(yīng)關(guān)系,系統(tǒng)需要記錄CDAL各類資源各自的元數(shù)據(jù)模式以及系統(tǒng)當(dāng)前采用的DC元數(shù)據(jù)模式,這樣在與外界進(jìn)行互操作的時(shí)候就可以將CDAL的元數(shù)據(jù)項(xiàng)轉(zhuǎn)換成統(tǒng)一的DC標(biāo)準(zhǔn)之后再進(jìn)行其他需要的操作。其次,由于各類資源的元數(shù)據(jù)項(xiàng)之間在名稱和顯示方式上存在著差異,所以系統(tǒng)需要為每類資源的元數(shù)據(jù)定義保存相應(yīng)的元數(shù)據(jù)名稱和顯示方式。故系統(tǒng)需要這樣兩個(gè)基本的數(shù)據(jù)結(jié)構(gòu)維護(hù)元數(shù)據(jù)模式:1)cdal_dcmetadata(dc_element_name,dc_label)此數(shù)據(jù)結(jié)構(gòu)定義了CDAL采用的DC元數(shù)據(jù)模式,每一個(gè)結(jié)構(gòu)描述一個(gè)DC元數(shù)據(jù)項(xiàng),該項(xiàng)由元數(shù)據(jù)項(xiàng)的名稱(dc_element_name)確定,dc_label屬性描述了DC元數(shù)據(jù)標(biāo)準(zhǔn)所定義的該項(xiàng)的顯示名稱,例如,名稱為“title”的元數(shù)據(jù)項(xiàng),顯示為“題名”。2)cdal_($type)_metadata(element_name,dc_equivalence,label)此數(shù)據(jù)結(jié)構(gòu)為每一類資源定義應(yīng)用于CDAL自身的元數(shù)據(jù)模式。其中對(duì)每一類資源,($type)將被替換位這類資源的名稱。例如,電子書這類資源的元數(shù)據(jù)模式將定義在cdal_ebook_metadata結(jié)構(gòu)中,而電影資源的元數(shù)據(jù)模式將由cdal_movie_metadata結(jié)構(gòu)確定。這個(gè)數(shù)據(jù)結(jié)構(gòu)中,屬性element_name為元數(shù)據(jù)項(xiàng)的名稱,label決定該項(xiàng)的顯示,dc_equivalence表示該項(xiàng)在DC元數(shù)據(jù)標(biāo)準(zhǔn)中與之對(duì)等的屬性,與前面一樣,label決定該項(xiàng)在CDAL中的顯示名稱。有了這兩個(gè)結(jié)構(gòu)之后,系統(tǒng)只要保存每個(gè)資源所擁有的各個(gè)元數(shù)據(jù)項(xiàng)上的值即可。在元數(shù)據(jù)模式本身發(fā)生變化的時(shí)候,只要相應(yīng)的修改上述兩個(gè)結(jié)構(gòu),即可完成元數(shù)據(jù)模式的更新。2.針對(duì)元數(shù)據(jù)具體取值的功能實(shí)現(xiàn)以及Web模塊對(duì)資源實(shí)體的封裝元數(shù)據(jù)取值上的主要功能包括:讀取與修改。為了實(shí)現(xiàn)元數(shù)據(jù)取值的讀取,系統(tǒng)需要借助(1)中描述的兩個(gè)結(jié)構(gòu)提供的元數(shù)據(jù)模式上的支持取得相應(yīng)的元數(shù)據(jù)屬性取值。為了達(dá)到這一目的,系統(tǒng)還需要這樣一個(gè)數(shù)據(jù)結(jié)構(gòu)為每一個(gè)資源實(shí)體保存其資源類型以及其各個(gè)元數(shù)據(jù)項(xiàng)對(duì)應(yīng)的取值在系統(tǒng)中的位置:cdal_info_obj(id,namespace,<element_name,value>)每一個(gè)cdal_info_obj對(duì)象唯一的決定了系統(tǒng)中的一個(gè)資源實(shí)體,該唯一性由id屬性決定。namespace屬性用來標(biāo)記資源實(shí)體的所屬的資源類型,而多個(gè)<element_name,value>元組共同記錄該實(shí)體在每個(gè)元數(shù)據(jù)項(xiàng)上的取值。加上這個(gè)結(jié)構(gòu),系統(tǒng)進(jìn)行資源實(shí)體的訪問時(shí)便可按照如下流程進(jìn)行:圖2.給定資源實(shí)體元數(shù)據(jù)的訪問流程在CDAL用戶對(duì)元數(shù)據(jù)的取值進(jìn)行修改時(shí),為了實(shí)現(xiàn)像編輯、歷史版本保存等基本的wiki特性,系統(tǒng)在每次保存某個(gè)資源實(shí)體的某個(gè)或某些屬性的新的取值時(shí),不能簡單的改掉原值,而是要將原值保存好,并將用戶輸入的新值在系統(tǒng)內(nèi)部標(biāo)記為這些屬性的最新版本,同時(shí)保存。這些wiki的特性帶來的主要影響是:需要一個(gè)額外的數(shù)據(jù)結(jié)構(gòu)為每一個(gè)資源實(shí)體的每個(gè)屬性記錄該屬性的最新版本數(shù)據(jù)所存放的位置,稱之為cdal_infoobj_latest.以cdal_attribute_value代指存儲(chǔ)系統(tǒng)中保存所有元數(shù)據(jù)最新和歷史取值的模塊,元數(shù)據(jù)系統(tǒng)的核心部分可如下概括:圖3.元數(shù)據(jù)存儲(chǔ)模塊的核心結(jié)構(gòu) 在此核心的基礎(chǔ)上,對(duì)圖2中的流程進(jìn)行細(xì)化,得到新的資源實(shí)體元數(shù)據(jù)訪問流程圖,如圖4所示:圖4.細(xì)化后的資源實(shí)體訪問流程Web模塊使用InformationObject類對(duì)資源實(shí)體進(jìn)行封裝:cdal_info_obj中的每個(gè)屬性都作為InformationObject類相應(yīng)的基本屬性出現(xiàn),此外,資源實(shí)體的每個(gè)元數(shù)據(jù)項(xiàng)都會(huì)作為該類的復(fù)合屬性出現(xiàn),這個(gè)復(fù)合屬性記錄了該元數(shù)據(jù)項(xiàng)的名稱、標(biāo)簽、取值等信息。我們將這個(gè)屬性抽象成Attribute類。獲取這些信息的流程包含在圖4的示意中。完成封裝之后,Web模塊即可使用InformationObject類實(shí)現(xiàn)對(duì)資源實(shí)體的元數(shù)據(jù)的訪問:圖5.資源實(shí)體的面向?qū)ο蠓庋b3.元數(shù)據(jù)管理 該元數(shù)據(jù)系統(tǒng)與普通wiki引擎的不同點(diǎn)主要體現(xiàn)在如下幾個(gè)方面:1)在粒度上,系統(tǒng)要維護(hù)到比資源實(shí)體更細(xì)致的層次,即資源實(shí)體的各個(gè)元數(shù)據(jù)屬性。不同的屬性在可編輯性上會(huì)有不同,有些屬性是可以開放給網(wǎng)絡(luò)用戶編輯的,例如電子書的作者、出版社、描述等;有些屬性是不適合編輯的,例如,資源的收錄時(shí)間就應(yīng)是收錄的時(shí)候確定的,無需編輯;2)對(duì)元數(shù)據(jù)系統(tǒng)來說,元數(shù)據(jù)項(xiàng)往往是有唯一的正確取值的,而普通的wiki引擎不做該假設(shè)。 這兩方面的區(qū)別決定了系統(tǒng)在對(duì)元數(shù)據(jù)的管理上需要在可編輯性以及編輯的粒度上做控制。為了實(shí)現(xiàn)該控制機(jī)制,在資源實(shí)體的層次,系統(tǒng)為cdal_info_obj設(shè)置一個(gè)obj_read_only屬性,用來表示該實(shí)體是否可編輯;在元數(shù)據(jù)模式層次,系統(tǒng)在cdal_($type)_metadata中有記錄的每個(gè)元數(shù)據(jù)項(xiàng)上設(shè)有editable屬性,用來表示該項(xiàng)是否可編輯。只有obj_read_only屬性取值為假的資源實(shí)體的editable屬性為真的元數(shù)據(jù)項(xiàng)才會(huì)對(duì)網(wǎng)絡(luò)用戶顯示為可編輯的。這樣管理者就可以通過設(shè)置這兩個(gè)值實(shí)現(xiàn)可編輯性的控制。4.與原系統(tǒng)的協(xié)同工作 為了使元數(shù)據(jù)系統(tǒng)與原系統(tǒng)能夠互相訪問,元數(shù)據(jù)系統(tǒng)需要一種方法由cdal_info_obj找到原系統(tǒng)的資源,同時(shí)原系統(tǒng)也需要一種方法從各個(gè)資源文件到元數(shù)據(jù)系統(tǒng)中取得資源的元數(shù)據(jù)。原系統(tǒng)的各種資源分布存儲(chǔ)在若干臺(tái)服務(wù)器上,每個(gè)資源實(shí)體由服務(wù)器的ip與資源的絕對(duì)路徑唯一確定,所以元數(shù)據(jù)系統(tǒng)可以利用該性質(zhì)實(shí)現(xiàn)二者之間的對(duì)應(yīng)。在cdal_info_obj中設(shè)置obj_location_ip屬性記錄該資源實(shí)體的資源文件所在的服務(wù)器的ip,設(shè)置obj_location_path屬性記錄絕對(duì)路徑,這樣元數(shù)據(jù)系統(tǒng)就可以通過每個(gè)資源實(shí)體的id找到相應(yīng)的資源所在位置;反之,原系統(tǒng)亦可通過ip與資源文件的絕對(duì)路徑找到資源實(shí)體在元數(shù)據(jù)系統(tǒng)中的id,進(jìn)而獲得資源的元數(shù)據(jù)。 元數(shù)據(jù)系統(tǒng)將以上設(shè)計(jì)在關(guān)系數(shù)據(jù)庫中實(shí)現(xiàn)構(gòu)成了其核心部分。圖3中除cdal_attriburte_value之外,每個(gè)數(shù)據(jù)類型對(duì)應(yīng)數(shù)據(jù)庫中的一個(gè)表格,而cdal_attribute_value則分為cdal_revision和cdal_value兩個(gè)表格來實(shí)現(xiàn),其中cdal_revision中的每條記錄代表一個(gè)歷史版本,與資源實(shí)體的屬性相聯(lián)系,而cdal_value則只記錄取值,各個(gè)值與cdal_revision對(duì)應(yīng),以此方式將歷史版本和具體取值這兩個(gè)信息分離。綜合以上設(shè)計(jì)思路,得到數(shù)據(jù)庫模式如圖6所示:圖6.元數(shù)據(jù)存儲(chǔ)模塊的數(shù)據(jù)庫模式5.存取性能上的優(yōu)化 按照如上方式實(shí)現(xiàn),對(duì)某個(gè)給定ID的資源實(shí)體,為完成一次對(duì)其所有元數(shù)據(jù)項(xiàng)的最新版本的讀取,須向數(shù)據(jù)庫系統(tǒng)發(fā)出如下sql查詢:該查詢涉及到5個(gè)表格進(jìn)行聯(lián)表運(yùn)算。查詢的結(jié)果又要被轉(zhuǎn)換成可顯示的形式返回給提交請求的客戶。注意到,如果這個(gè)資源實(shí)體的任何元數(shù)據(jù)項(xiàng)在兩次查詢之間都沒有被改動(dòng)過,那么由前一次查詢結(jié)果生成的可顯示的形式的返回值便可以直接作為返回值應(yīng)用到后一次的請求中,無需進(jìn)行上述聯(lián)表查詢。因此可以考慮將這個(gè)返回值緩存起來供后來使用。一般情況下,在協(xié)作編輯環(huán)境中,隨著時(shí)間的推移,數(shù)據(jù)被修改的頻率會(huì)越來越低。因此,隨著時(shí)間的推移,如果不被頻繁修改的數(shù)據(jù)更多的從緩存中而不是從實(shí)際存儲(chǔ)中讀出,讀取效率無疑會(huì)有所提高。添加數(shù)據(jù)結(jié)構(gòu)cdal_infoobj_cache,用于緩存客戶端請求元數(shù)據(jù)查詢時(shí)由元數(shù)據(jù)系統(tǒng)生成的可顯示的返回值。該數(shù)據(jù)結(jié)構(gòu)包含三個(gè)屬性:1)cache_keyname,同時(shí)存在于系統(tǒng)中的該屬性的不同的值對(duì)應(yīng)不同的資源實(shí)體,標(biāo)識(shí)該數(shù)據(jù)結(jié)構(gòu)的實(shí)例用來緩存系統(tǒng)中的哪個(gè)資源實(shí)體;2)cache_value,該屬性為被cache_keyname屬性標(biāo)識(shí)的資源實(shí)體的緩存取值,cache命中時(shí)將其作為最終結(jié)果返回;3)cache_exptime,標(biāo)明該緩存記錄的有效期限。將緩存模塊加入到元數(shù)據(jù)系統(tǒng)之后,當(dāng)系統(tǒng)收到“查看給定資源實(shí)體id的元數(shù)據(jù)”這一請求時(shí),元數(shù)據(jù)系統(tǒng)首先從cdal_info_obj數(shù)據(jù)結(jié)構(gòu)中讀出該資源實(shí)體。然后,系統(tǒng)不會(huì)直接到cdal_($type)_metadata中讀取元數(shù)據(jù)屬性,而是到cdal_infoobj_cache中尋找是否有與該資源實(shí)體相對(duì)應(yīng)的緩存項(xiàng),如果有,則讀出該項(xiàng)的值作為返回結(jié)果,否則,執(zhí)行圖4中所示流程讀取所有元數(shù)據(jù)項(xiàng)的取值并構(gòu)建返回值,并將返回值存入cdal_infoobj_cache中。這一執(zhí)行過程如圖7所示:圖7.元數(shù)據(jù)訪問的總體流程 至此,元數(shù)據(jù)系統(tǒng)的主體部分設(shè)計(jì)完成。第四章實(shí)用效果與展望 在有元數(shù)據(jù)系統(tǒng)之前,CDAL對(duì)數(shù)字資源的訪問是只能基于文件名的,如圖8所示:圖8.舊的CDAL資源列表界面這個(gè)界面上顯示的電子圖書資源對(duì)應(yīng)了某臺(tái)服務(wù)器上“Collection.成套收藏/Text.文字/中美百萬冊圖書.rar”目錄下的一系列文件。我們可以從路徑上得到這些資源的一些分類信息,但是關(guān)于這些書籍更詳盡的描述信息我們就沒有辦法從路徑中獲取了。同樣是這些書籍,如果CDAL能夠利用資源文件的路徑信息通過元數(shù)據(jù)系統(tǒng)獲取到資源的元數(shù)據(jù),界面上的顯示則變?yōu)閳D9:圖9.與元數(shù)據(jù)系統(tǒng)協(xié)同工作后的資源列表界面列表上可以顯示書籍的名稱,點(diǎn)擊書籍名稱右側(cè)的”View”鏈接可以查看該書籍詳細(xì)的元數(shù)據(jù)信息。從此也就進(jìn)入了CDAL的wiki引擎,用戶可以隨意編輯該圖書的元數(shù)據(jù)。詳見圖10與圖11:圖10.元數(shù)據(jù)顯示頁面圖11.元數(shù)據(jù)編輯界面在為CDAL添加新的數(shù)字資源時(shí),如果數(shù)字資源伴隨著符合CDAL標(biāo)準(zhǔn)或者DublinCore標(biāo)準(zhǔn)的元數(shù)據(jù)一起加入,那么可以通過程序?qū)⒃獢?shù)據(jù)存入CDAL的元數(shù)據(jù)系統(tǒng)中,這樣就能出現(xiàn)圖9的顯示效果。以上示例效果即是通過此法取得的。當(dāng)前實(shí)現(xiàn)的功能尚未構(gòu)成一個(gè)完整意義上的wiki引擎,因?yàn)橄到y(tǒng)還不能實(shí)現(xiàn)為缺少元數(shù)據(jù)的資源實(shí)體添加元數(shù)據(jù)的功能,只能為有元數(shù)據(jù)的資源實(shí)體提供編輯功能。在存儲(chǔ)系統(tǒng)的基礎(chǔ)上,有效的元數(shù)據(jù)檢索系統(tǒng)的實(shí)現(xiàn)也是重要的課題之一。第五章總結(jié) 本文由CDAL的元數(shù)據(jù)問題出發(fā),探討了針對(duì)具有以下兩個(gè)特點(diǎn)的對(duì)象的協(xié)同編輯系統(tǒng)的一種解決方案:1)對(duì)象的數(shù)據(jù)是結(jié)構(gòu)化的;2)結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)模式可能是不確定的。該系統(tǒng)只要在數(shù)據(jù)模式上稍加改動(dòng),即可應(yīng)用于其他類型資源庫的場合。 實(shí)現(xiàn)存儲(chǔ)和訪問的功能時(shí),系統(tǒng)既兼顧到了元數(shù)據(jù)和協(xié)同編輯兩個(gè)方面的特點(diǎn),又注意到訪問效率的提高。描述資源實(shí)體和與外系統(tǒng)之間的互操作都是元數(shù)據(jù)的主要作用,故系統(tǒng)采用國際上普遍接受的元數(shù)據(jù)模式DublinCore作為CDAL各類資源的元數(shù)據(jù)模式的基礎(chǔ);為了使得系統(tǒng)快速適應(yīng)元數(shù)據(jù)模式的變化,系統(tǒng)采用了將元數(shù)據(jù)模式與元數(shù)據(jù)項(xiàng)的取值分離的存儲(chǔ)方式。由于是協(xié)同編輯的環(huán)境,系統(tǒng)保存了所有元數(shù)據(jù)的歷史版本,以追蹤元數(shù)據(jù)的變化,也便于在必要的時(shí)候恢復(fù)原值。而設(shè)計(jì)緩存的目標(biāo)則是減輕后臺(tái)數(shù)據(jù)庫系統(tǒng)的壓力。 從應(yīng)用效果上看,元數(shù)據(jù)系統(tǒng)與原系統(tǒng)整合得比較順利,并達(dá)到了通過元數(shù)據(jù)豐富與完善資源庫的效果。致謝: 感謝北京大學(xué)網(wǎng)絡(luò)與分布式系統(tǒng)的博士研究生在元數(shù)據(jù),wiki以及CDAL背景知識(shí)上的對(duì)筆者的指導(dǎo)與啟發(fā)以及在實(shí)現(xiàn)程序功能和提高程序運(yùn)行效率上提出的寶貴建議。參考文獻(xiàn):[1]姜愛蓉,牛金芳,鄭小惠.《我國數(shù)字圖書館標(biāo)準(zhǔn)規(guī)范建設(shè):基本數(shù)字對(duì)象描述元數(shù)據(jù)規(guī)范》.2003年[2]LarsAronsson.OperationofaLargeScale,GeneralPurposeWikiWebsite.2002[3]AAP(AssociationofAmericanPublishers).MetadataStandardsforEbooks,Version1.0.2000[4]CDP(CollaborativeDigitizationProgram).CDPMetadataBestPractices,Version2.1.2005[5]AnneJ.Gilliland.IntroductiontoMetadata,PathwaystoDigitalInformation:SettingtheStage.OnlineEdition,Version2.1[6]DublinCore官方網(wǎng)站:[7]開源項(xiàng)目Mediawiki文檔及代碼附表:四類數(shù)字資源的元數(shù)據(jù)模式電子書籍:元數(shù)據(jù)項(xiàng)擴(kuò)展自標(biāo)簽名注釋identifierdc:identifier標(biāo)識(shí)符titledc:title題名由創(chuàng)作者或出版者賦于資源的名稱creatordc:creator作者可以是一個(gè)人,一個(gè)組織或一個(gè)服務(wù)。填創(chuàng)建者的名字edition版次subjectdc:subject主題及關(guān)鍵詞描述資源內(nèi)容的關(guān)鍵詞,短語或?qū)I(yè)領(lǐng)域的分類號(hào)。推薦主題和關(guān)鍵詞最好是取自于一個(gè)受控詞表或是一個(gè)規(guī)范的分類體系。descriptiondc:description描述文摘,目錄,簡介publisherdc:publisher發(fā)行者可以是一個(gè)人,一個(gè)組織或一個(gè)服務(wù)。languagedc:language語種資源內(nèi)容所用的語言,采用RFC1766中所定義的語種代碼規(guī)范(可以將用戶填寫的文字轉(zhuǎn)換成這個(gè)規(guī)范中的編碼)dateoriginaldc:date出版日期資源的出版日期。建議采用的日期格式應(yīng)符合ISO8601(/TR/NOTE-datetime)規(guī)范,并使用YYYY-MM-DD(年-月-日)的格式,也可以用時(shí)間段表示。datedigitaldc:date收錄日期資源被CDAL收錄的時(shí)間rightsdc:rights版權(quán)typedc:type類型資源內(nèi)容的分類范疇,功能,特性或集合層次formatdc:format格式資源的媒體格式coveragedc:coverage覆蓋范圍時(shí)空覆蓋面,例如“講述建國前的歷史”,“東北地區(qū)”)audiencedc:audience適合人群適宜閱讀對(duì)象,可以是年齡段,學(xué)歷,知識(shí)領(lǐng)域。由作者、發(fā)行或第三方檢查機(jī)構(gòu)定義isbndc:sourceISBN號(hào)relationdc:relation內(nèi)容關(guān)聯(lián)揭示相關(guān)資源之間的聯(lián)系,用文字描述本資源和其它資源之間的關(guān)系即可影視:元數(shù)據(jù)項(xiàng)擴(kuò)展

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論