張凱
(河北農(nóng)業(yè)大學(xué)圖書館,河北保定071001)
在電子資源數(shù)據(jù)庫建設(shè)過程中,包含2方面的工作,即數(shù)據(jù)的存儲(chǔ)和數(shù)據(jù)庫的制作.首先,數(shù)據(jù)的安全存儲(chǔ)是關(guān)鍵.服務(wù)器與存儲(chǔ)系統(tǒng)的合理配置和存儲(chǔ)模式的選擇關(guān)系到數(shù)據(jù)的穩(wěn)定運(yùn)行和長(zhǎng)期保存.圖書館可以采用SAN(storage area network)即存儲(chǔ)區(qū)域網(wǎng)絡(luò)模式.這種模式采用光纖通道FC(Fibre Channel)技術(shù),能夠提供4Gbit/s以上的數(shù)據(jù)傳輸速率,通過光纖通道交換機(jī)連接存儲(chǔ)陣列和一群服務(wù)器,建立專用于數(shù)據(jù)存儲(chǔ)的區(qū)域網(wǎng)絡(luò),是一種新興的存儲(chǔ)模式.文獻(xiàn)[1]研究了SAN存儲(chǔ)網(wǎng)絡(luò)的靈活性、可管理性和可擴(kuò)展性.文獻(xiàn)[2]總結(jié)了SAN網(wǎng)絡(luò)的特點(diǎn):存儲(chǔ)性能高,可用性能高,光纖通道可提供4Gbit/s帶寬的高速存儲(chǔ),但對(duì)于該模式下數(shù)據(jù)的存儲(chǔ)原理沒有做論述.在本文中系統(tǒng)通過SAN模式來存儲(chǔ)數(shù)據(jù)資源,實(shí)際運(yùn)用中發(fā)現(xiàn)許多大的存儲(chǔ)文件不但存儲(chǔ)在單一的節(jié)點(diǎn)中,而且還要對(duì)這些文件進(jìn)行并行處理,因此采用了分塊的方式存儲(chǔ)數(shù)據(jù).設(shè)計(jì)了以64M為分塊單位的算法,其次,在數(shù)據(jù)庫制作中,元數(shù)據(jù)的設(shè)計(jì)和開發(fā)是重點(diǎn).本文采用了方正apabi的建庫平臺(tái)來建立數(shù)據(jù)庫,該平臺(tái)從數(shù)據(jù)制作到發(fā)布提供了一整套成功的方案.文獻(xiàn)[3-4]對(duì)方正apabi平臺(tái)的使用做了具體介紹.通過該平臺(tái)可以新建數(shù)據(jù)庫、加工資源、數(shù)據(jù)審核、數(shù)據(jù)發(fā)布,但是對(duì)于元數(shù)據(jù)的修改沒有做論述.實(shí)際使用中,筆者發(fā)現(xiàn)在apabi平臺(tái)中修改元數(shù)據(jù)時(shí)會(huì)出現(xiàn)一些問題,因此在這方面做了如下的具體工作:由于平臺(tái)是通過底層的SQL Server數(shù)據(jù)管理系統(tǒng)開發(fā)的,通過對(duì)SQL“表”的研究發(fā)現(xiàn)了修改元數(shù)據(jù)的方法.在元數(shù)據(jù)的設(shè)計(jì)中,采用XML語言來描述其結(jié)構(gòu),將數(shù)據(jù)文件的結(jié)構(gòu)、內(nèi)容和表現(xiàn)形式分離,具有良好的操作性、靈活性和規(guī)范性,成為元數(shù)據(jù)編碼的主流技術(shù).本文以農(nóng)業(yè)學(xué)科書評(píng)數(shù)據(jù)庫為例用XML語言編制了元數(shù)據(jù),內(nèi)容包括了該庫的描述、字段信息、唯一標(biāo)識(shí)等.字段信息定義為:被評(píng)圖書題名、被評(píng)圖書作者和被評(píng)圖書出版社3個(gè)公有字段.
目前從存儲(chǔ)系統(tǒng)的模式來看,存儲(chǔ)區(qū)域網(wǎng)絡(luò)SAN是一種更加安全穩(wěn)定的模式,采用光纖通道交換機(jī)和光纖線纜把存儲(chǔ)設(shè)備和服務(wù)器機(jī)群連接,提供速率高達(dá)2Gbit/s的數(shù)據(jù)傳輸,是真正的高速共享存儲(chǔ).其優(yōu)點(diǎn)很多,如:具有自己獨(dú)立的存儲(chǔ)區(qū)域網(wǎng)路,不占用外網(wǎng)的資源;光纖接口提供連接長(zhǎng)度達(dá)10km;獨(dú)立的存儲(chǔ)管理系統(tǒng)對(duì)存儲(chǔ)設(shè)備進(jìn)行集中管理和監(jiān)測(cè)[5-6].
本文采用SAN存儲(chǔ)區(qū)域網(wǎng)絡(luò)來組建存儲(chǔ)系統(tǒng).考慮到圖書館所提供的多方面服務(wù),系統(tǒng)包括了圖書館主頁、借閱管理、各種數(shù)據(jù)庫、陣列管理服務(wù)器和存儲(chǔ)設(shè)備以及相連接的光纖交換機(jī).各個(gè)服務(wù)器通過自帶的HBA卡與光纖交換機(jī)相連,磁盤陣列和磁帶庫也通過光纖接口和光纖交換機(jī)連接.通過獨(dú)立的陣列備份服務(wù)器,可以把數(shù)據(jù)定時(shí)備份到磁帶庫而不占用外網(wǎng)資源,這樣磁盤陣列作為獨(dú)立的網(wǎng)絡(luò)節(jié)點(diǎn)而不再是服務(wù)器的附屬,組成了高速傳輸、運(yùn)行穩(wěn)定的SAN存儲(chǔ)區(qū)域網(wǎng)絡(luò),系統(tǒng)框架如圖1所示.
SAN存儲(chǔ)系統(tǒng)通常采用的是分布式文件系統(tǒng),在本文設(shè)計(jì)的存儲(chǔ)系統(tǒng)中,許多大的存儲(chǔ)文件不但不能存儲(chǔ)在單一的節(jié)點(diǎn)中,而且還要對(duì)這些文件進(jìn)行并行處理,因此采用分塊的方式,也就是存儲(chǔ)的文件分成若干個(gè)block塊文件存儲(chǔ)在不同節(jié)點(diǎn)上,這樣可以提升處理速度,與此同時(shí)把存儲(chǔ)的文件都分成64MB的block文件,經(jīng)檢驗(yàn)這種分法比較合適.很多的應(yīng)用文件一般不超過64MB,但不是所有的文件都分塊,對(duì)于很小的文件規(guī)定當(dāng)?shù)陀谀硞€(gè)值時(shí)是不用分塊的,也就是只有1個(gè)block[7].分塊算法的結(jié)構(gòu)如下:

在本算法中,首先定義block的集合為A0到An.An最大取64.當(dāng)存儲(chǔ)文件小于A0時(shí),不用分塊.如果文件大于最大的An時(shí),需要分塊.最后調(diào)用分塊算法的子模塊blocking(size)procedure,對(duì)存儲(chǔ)的文件分割存儲(chǔ).

圖1 存儲(chǔ)系統(tǒng)框架Fig.1 Storage system structure
基于SAN模式的農(nóng)業(yè)數(shù)據(jù)庫存儲(chǔ)系統(tǒng)搭建好以后,接下來就要考慮軟件的實(shí)現(xiàn)了,也就是數(shù)據(jù)庫的建設(shè)問題.筆者利用方正的Apabi數(shù)字資源平臺(tái)來創(chuàng)建.該平臺(tái)可以為用戶提供統(tǒng)一的數(shù)字資源發(fā)布頁面,統(tǒng)一的用戶管理認(rèn)證,統(tǒng)一的檢索入口,同時(shí)針對(duì)不同資源又有豐富的資源展示方式、導(dǎo)航方式和檢索方式,能夠在內(nèi)容層面關(guān)聯(lián)不同類型的資源[8].結(jié)合專業(yè)優(yōu)勢(shì)和研究成果,本校圖書館設(shè)計(jì)建立了農(nóng)業(yè)學(xué)科書評(píng)庫和棗文獻(xiàn)數(shù)據(jù)庫.棗文獻(xiàn)數(shù)據(jù)庫又包含棗圖書、棗專利、棗會(huì)議文獻(xiàn)3個(gè)種類.在建庫過程中,有2個(gè)關(guān)鍵的技術(shù),決定著數(shù)據(jù)庫的性能,對(duì)此本文做了具體的研究,既深入研究了SQL Server的表與元數(shù)據(jù)的關(guān)系以及利用XML語言對(duì)元數(shù)據(jù)進(jìn)行設(shè)計(jì).
利用Apabi數(shù)字資源平臺(tái)建立棗資源數(shù)據(jù)庫,前臺(tái)界面清晰直觀,數(shù)據(jù)的制作也很方便,是一種高效快速的建庫方法.但是值得注意的是,在建庫的最初階段,數(shù)據(jù)庫的組織結(jié)構(gòu)框架一定要慎重設(shè)計(jì).一旦元數(shù)據(jù)和對(duì)應(yīng)的資源庫建立好,并且制作完成需要發(fā)布的數(shù)據(jù),再想對(duì)顯示的組織結(jié)構(gòu)圖進(jìn)行更改會(huì)很麻煩,筆者就遇到過由于資源庫歸類不合適而需要改變?cè)獢?shù)據(jù),在刪除該資源庫重新建立的時(shí)候遇到一系列問題.首先apabi數(shù)字資源平臺(tái)里不能直接刪除該資源庫,提示因?yàn)閹炖镞€有資源沒有刪除,要先刪除已經(jīng)發(fā)布的資源,顯然資源已經(jīng)發(fā)布就不能被刪除了.其次如果停用該資源庫,然后新建同名的資源庫,這時(shí)又會(huì)提式發(fā)布失敗,或者顯示發(fā)布成功但在前臺(tái)看不到新發(fā)布的資源,很明顯新發(fā)布的資源沒有上傳到統(tǒng)一平臺(tái)里.根據(jù)以上2方面問題,深入研究了服務(wù)器上安裝的SQL Server里與Apabi數(shù)據(jù)庫相關(guān)聯(lián)的表.因?yàn)镾QL Server是Apabi數(shù)字資源平臺(tái)的底層開發(fā)工具,而SQL Server里表的標(biāo)識(shí)就是Apabi平臺(tái)中元數(shù)據(jù)的唯一標(biāo)識(shí).
在SQL Server數(shù)據(jù)管理系統(tǒng)里,一個(gè)表就對(duì)應(yīng)了Apabi資源平臺(tái)里的元數(shù)據(jù).在SQL Server里面的ApaDLibrary_370_11數(shù)據(jù)庫里點(diǎn)擊“表”,列出了Apabi資源平臺(tái)里所有的資源庫的元數(shù)據(jù)信息.但是,具體哪個(gè)表是要找的元數(shù)據(jù)的信息呢?回到Apabi資源平臺(tái),在元數(shù)據(jù)管理界面,鼠標(biāo)指向之前建好的元數(shù)據(jù)棗文獻(xiàn)數(shù)據(jù)庫,網(wǎng)頁最下面會(huì)顯示出一串IP信息,注意其中的“MetaTypeID=18”就是棗文獻(xiàn)數(shù)據(jù)庫這一元數(shù)據(jù)在SQL表里的位置.打開表“CMF_M(jìn)ETA_0018”,如圖2所示,里面就包含了制作的關(guān)于棗文獻(xiàn)數(shù)據(jù)庫的具體信息.
在上面提到的在刪除資源庫和重新建立元數(shù)據(jù)和資源庫的時(shí)候,系統(tǒng)提示錯(cuò)誤信息,就是因?yàn)殡m然在數(shù)字資源平臺(tái)里刪除或者停用這個(gè)元數(shù)據(jù)和資源庫并重新建立,但是在SQL里對(duì)應(yīng)的這個(gè)表并沒有徹底刪除.嘗試刪除這個(gè)表,又會(huì)提示不能刪除,某一列被另外的表占用.根據(jù)提示找到被占用的另一個(gè)表,考慮可能該表使用了表“CMF_M(jìn)ETA_0018”的數(shù)據(jù),先把它刪除才能刪除表“CMF_M(jìn)ETA_0018”,但是又會(huì)提示該表數(shù)據(jù)被第3個(gè)表占用.按照類似的方法,筆者找到許多關(guān)聯(lián)的表.顯然,要想徹底刪除表“CMF_M(jìn)ETA_0018”需要把這些相關(guān)聯(lián)的表全部找出來刪除,操作非常繁瑣.
在建庫過程中,標(biāo)準(zhǔn)的建立即元數(shù)據(jù)的設(shè)計(jì)是關(guān)鍵.如何定義和組織數(shù)據(jù)并且使讀者能夠快速檢索到需要的內(nèi)容,是建立農(nóng)業(yè)數(shù)據(jù)庫時(shí)需要慎重考慮的.
元數(shù)據(jù)是數(shù)據(jù)庫設(shè)計(jì)中的核心部分.這里的元數(shù)據(jù)是指具有相同屬性、可以用相同方式描述其信息的一類資源,是數(shù)據(jù)庫性質(zhì)和屬性的描述,定義了數(shù)據(jù)庫的組織結(jié)構(gòu)形式.以農(nóng)業(yè)學(xué)科書評(píng)數(shù)據(jù)庫為例,元數(shù)據(jù)里包括了庫的描述、字段信息、唯一標(biāo)識(shí)等,其中字段信息可以定義為:被評(píng)圖書題名、被評(píng)圖書作者和被評(píng)圖書出版社這3個(gè)公有字段.為了檢索的方便也可以添加其他的自定義字段,字段確定后就可以用程序語言具體地描述出來,通常采用的是XML格式既可擴(kuò)展標(biāo)記語言來編寫.
XML標(biāo)記語言把數(shù)據(jù)的結(jié)構(gòu)和顯示方式分離,是編寫元數(shù)據(jù)的主要語言[9-10].以XML格式編寫的農(nóng)業(yè)學(xué)科書評(píng)數(shù)據(jù)庫的結(jié)構(gòu)如下:

圖2 SQL里棗文獻(xiàn)數(shù)據(jù)庫的表Fig.2 Table of jujube database in SQL

<Field Name="ClassCode"Type="String"Length="50"DisplayName="中圖法分類號(hào)"CategoryID="CAT_ZTF"/>
<Field Name="Title"Type="String"Length="256"Mandatory="TRUE"DisplayName="被評(píng)圖書題名"/>
<Field Name="Creator"Type="String"Length="256"Mandatory="TRUE"DisplayName="被評(píng)圖書作者"/>
<Field Name="Publisher"Type="String"Length="256"DisplayName="被評(píng)圖書出版社"/>
<Field Name="PTitle"Type="String"Length="250"Mandatory="TRUE"DisplayName="書評(píng)提名"/>
<Field Name="PCreator"Type="String"Length="256"DisplayName="述評(píng)作者"/>
<Field Name="PPlace"Type="String"Length="256"Mandatory="TRUE"DisplayName="書評(píng)來源"/>
<Field Name="Catalog"Type="Xmldata"DisplayName="目錄"Description="目錄"/>
</MetaField>
</MetaSchema>首先,描述XML的版本為1.0.從MetaSchema元素開始,到</MetaSchema>結(jié)束,是該數(shù)據(jù)庫元數(shù)據(jù)的主要內(nèi)容.其中,<Identity>部分描述數(shù)據(jù)庫的唯一標(biāo)識(shí).<DisplayName>定義數(shù)據(jù)庫的名稱,還有庫創(chuàng)建的時(shí)間和功能等信息[11-12].
中間的<MetaField>到結(jié)尾</MetaField>之間,是定義農(nóng)業(yè)學(xué)科書評(píng)庫的字段信息,由公有字段和自定義字段組成.每條“Field Name”定義了一個(gè)字段.例如字段“ClassCode”,它的類型定義為“String”也就是字符串類型.長(zhǎng)度Length是50字節(jié).顯示名稱為“中圖法分類號(hào)”.
農(nóng)業(yè)數(shù)據(jù)庫資源的保存與建設(shè)是農(nóng)業(yè)高校發(fā)展的關(guān)鍵部分.以SAN結(jié)構(gòu)組建的存儲(chǔ)平臺(tái),具有高的冗余性和運(yùn)行穩(wěn)定性能,為數(shù)據(jù)資源的長(zhǎng)期保存提供了可靠保障.在分塊算法的結(jié)構(gòu)設(shè)計(jì)中,把存儲(chǔ)的文件分成64MB的block文件,經(jīng)檢驗(yàn)這種分法是比較合適的.同時(shí)深入探索元數(shù)據(jù)與SQL Server表的關(guān)系可以更好地對(duì)表進(jìn)行開發(fā)和維護(hù).以XML格式編寫的數(shù)據(jù)庫元數(shù)據(jù),結(jié)構(gòu)清晰,編寫簡(jiǎn)便,可以很好地與各種數(shù)據(jù)庫建庫工具銜接,具有良好的兼容性.
[1] 徐革,李寧.基于FCSAN和IPSAN架構(gòu)的數(shù)字圖書館綜合網(wǎng)絡(luò)存儲(chǔ)應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2005(6):168-170.XU Ge,LI Ning.Application of network storage consolidation solutions for digital library based on FC SAN and IP SAN[J].Application Research of Computers,2005(6):168-170.
[2] 余曉征,李巖.分布式數(shù)字資源中心網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)的研究[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2007(5):12-15.YU Xiaozheng,LI Yan.Study on network storage systems of the distributed digital resource center[J].Agriculture Network Information,2007(5):12-15.
[3] 劉菁.利用方正Apabi建立圖書館設(shè)備管理系統(tǒng)[J].科技信息,2006(9):183.LIU Jing.Establishment of facility management system of library by using Founder Apabi system[J].Science &Technology Information,2006(9):183.
[4] 王亞秋.中國棗專題知識(shí)庫的構(gòu)建[J].安徽農(nóng)業(yè)科學(xué),2008,36(20):8858-8859.WANG Yaqiu.On the construction of knowledge base of Chinese jujube[J].Journal of Anhui Agricultural Sciences,2008,36(20):8858-8859.
[5] 李春梅.基于SAN的存儲(chǔ)資源整合和高可用性研究[J].計(jì)算機(jī)安全,2012(11):56-59.LI Chunmei.Storage resource integration and high usability research base on SAN[J].Computer Security,2012(11):56-59.
[6] 任斌,孔德剛.基于IP SAN的高校存儲(chǔ)網(wǎng)絡(luò)研究與實(shí)現(xiàn)[J].長(zhǎng)春工程學(xué)院學(xué)報(bào):自然科學(xué)版,2011,12(4):117-118.REN Bin,KONG Degang.Research and implement of university storage network based on IP SAN[J].Journal of Changchun Institute of Technology:Natural Sciences Edition,2011,12(4):117-118.
[7] BUYYA R.A Taxonomy of data grids for distributed data sharing,management,and processing[J].ACM Computing Surveys,2006(3):1-53.
[8] 劉菁.利用方正Apabi建立圖書館設(shè)備管理系統(tǒng)[J].科技信息,2006(S2):183.LIU Jing.Establishment of facility management system of library by using Founder Apabi system[J].Science &Technology Information,2006(S2):183.
[9] 吳顯義.我國元數(shù)據(jù)研究現(xiàn)狀分析[J].情報(bào)科學(xué),2004,22(1):55-62.WU Xianyi.Analysis on the status Quo of metadata in China[J].Information Science,2004,22(1):55-62.
[10] 畢強(qiáng),朱亞玲.元數(shù)據(jù)標(biāo)準(zhǔn)及其互操作研究[J].情報(bào)理論與實(shí)踐,2007,30(5):666-670.BI Qiang,ZHU Yaling.Research on metadata standard and its interoperability[J].Information Studies:Theory &Application,2007,30(5):666-670.
[11] DEITEL H M,DEITEL P J.XML how to Program[M].Beijing:Publishing House of Qinghua University,2002.
[12] 鄭建標(biāo).一種基于XML和元數(shù)據(jù)的工具框架研究[J].微計(jì)算機(jī)信息,2007,23(3):197-199.ZHENG Jianbiao.A framework research base on the XML and the metadata[J].Microcomputer Information,2007,23(3):197-199.