劉燦娟,毛先成,陳 振
(中南大學(xué)地球科學(xué)與信息物理學(xué)院,長沙 410083)
隨著計(jì)算機(jī)技術(shù)、通訊技術(shù)、網(wǎng)絡(luò)技術(shù)等的發(fā)展,信息已成為生產(chǎn)力的重要核心和國家的戰(zhàn)略資源。20世紀(jì)60年代以來,我國地質(zhì)行業(yè)廣泛開展地球科學(xué)的研究和地質(zhì)礦產(chǎn)資源的勘查,獲得了可觀的紙質(zhì)數(shù)據(jù)和電子文檔。這些地質(zhì)礦產(chǎn)資料具有階段性、專業(yè)性、種類多和格式復(fù)雜等特點(diǎn),且分散在多個(gè)部門,資料的完整性、連續(xù)性、繼承性差。如何有效的對這些數(shù)據(jù)進(jìn)行存儲(chǔ)、管理和充分利用成為國內(nèi)外地學(xué)工作者共同關(guān)心的問題[1]。通過對地質(zhì)數(shù)據(jù)進(jìn)行抽象分類,并利用先進(jìn)的 GIS組件技術(shù)以及關(guān)系數(shù)據(jù)庫技術(shù)進(jìn)行管理,有效地實(shí)現(xiàn)了綜合地質(zhì)數(shù)據(jù)的保存、管理、查詢和利用。
地質(zhì)礦產(chǎn)工作所積累的地質(zhì)礦產(chǎn)資料繁多,根據(jù)資料內(nèi)容的表現(xiàn)形式,在地質(zhì)礦山行業(yè)中,存在圖件、文檔、表格、報(bào)告和分類共5種基本的數(shù)據(jù)。其中,前3種數(shù)據(jù)為物理實(shí)體,經(jīng)過分析和抽象,形成聚合型數(shù)據(jù),各自包含元數(shù)據(jù)(屬性數(shù)據(jù))與實(shí)體數(shù)據(jù)(內(nèi)容數(shù)據(jù));元數(shù)據(jù)描述資料的基本屬性,而實(shí)體數(shù)據(jù)則表示資料的具體內(nèi)容。后2種數(shù)據(jù)則為抽象概念,只有元數(shù)據(jù)而無實(shí)體數(shù)據(jù)。
(1)圖件實(shí)體數(shù)據(jù):含紙介質(zhì)圖件(剖面地質(zhì)圖、綜合地質(zhì)圖、中段地質(zhì)圖等)、電子圖件(各類地測圖件的掃描文件、經(jīng)Map GIS等 GIS軟件矢量化的遙感影像文件)等。
(2)文檔實(shí)體數(shù)據(jù):含紙介質(zhì)文檔(勘探報(bào)告、研究報(bào)告、礦權(quán)評(píng)估等)、掃描文檔、電子文檔(Word,PDF,PPT等)、軟件包等。
(3)表格實(shí)體數(shù)據(jù):指一切可用二維表格表示的數(shù)據(jù)(如測量控制點(diǎn)、鉆孔位置、樣品化驗(yàn)分析等數(shù)據(jù)),通常有紙介質(zhì)形式、電子表格形式、關(guān)系表格形式等。
(4)報(bào)告:在地質(zhì)礦山系統(tǒng)中常有大量的工程項(xiàng)目與研究項(xiàng)目的實(shí)施,工程報(bào)告、研究報(bào)告等各種報(bào)告則是這些項(xiàng)目的成果展現(xiàn),報(bào)告是文檔、圖件、表格的集合體。因此,將報(bào)告抽象為一種地質(zhì)數(shù)據(jù)元素,只有元數(shù)據(jù)而無實(shí)體數(shù)據(jù)。
(5)分類:將地質(zhì)數(shù)據(jù)分成不同類別,圖件、表格、文檔或以獨(dú)立形式直接歸屬于某類,或相互構(gòu)成集合以報(bào)告形式歸屬于某類。分類是一個(gè)數(shù)據(jù)集合,它的組成元素可以是圖件、文檔,表格和報(bào)告或子分類。
圖1 地質(zhì)數(shù)據(jù)樹Fig.1 Geological data tree
在地質(zhì)礦山行業(yè)中,圖件、文檔、表格、報(bào)告和分類5種基本數(shù)據(jù)通過樹型層次結(jié)構(gòu)來組織,形成地質(zhì)數(shù)據(jù)分類體系樹,簡稱地質(zhì)數(shù)據(jù)樹(圖1),使5種基本數(shù)據(jù)之間的關(guān)系形成一種樹型的繼承和包含關(guān)系。
地質(zhì)數(shù)據(jù)樹是一種變形的樹結(jié)構(gòu),它與一般樹結(jié)構(gòu)的不同之處在于地質(zhì)數(shù)據(jù)樹中各地質(zhì)數(shù)據(jù)元素存在以下3個(gè)約束關(guān)系:①在地質(zhì)資料中,圖件、文檔、表格是最基本的數(shù)據(jù)實(shí)體[2],所以若地質(zhì)數(shù)據(jù)元素為圖件、文檔、表格,則該地質(zhì)數(shù)據(jù)元素不能包含或派生其他地質(zhì)數(shù)據(jù)元素;②報(bào)告、分類這2種地質(zhì)數(shù)據(jù)元素若有前驅(qū),則其前驅(qū)只能是分類型地質(zhì)數(shù)據(jù)元素;③報(bào)告若有后繼,則其后繼僅能為圖件、文檔、表格型地質(zhì)數(shù)據(jù)元素。
綜合地質(zhì)數(shù)據(jù)庫采用C/S與B/S模式相結(jié)合的3層架構(gòu)模式:顯示層、業(yè)務(wù)邏輯層和數(shù)據(jù)層(圖2)[3-7]。
顯示層主要為客戶端提供系統(tǒng)訪問接口,即為用戶提供數(shù)據(jù)顯示和操作界面。在C/S模式中,顯示層由系統(tǒng)客戶端軟件組成;在B/S模式中,顯示層則由ASP.NET WEB窗體和代碼隱藏文件組成,Web窗體負(fù)責(zé)向用戶展示操作界面,而代碼隱藏文件負(fù)責(zé)進(jìn)行各個(gè)控件的事件處理。
業(yè)務(wù)邏輯層完成系統(tǒng)主要業(yè)務(wù)邏輯并實(shí)現(xiàn)系統(tǒng)主要功能,不管是C/S模式還是B/S模式,綜合地質(zhì)數(shù)據(jù)庫管理系統(tǒng)的業(yè)務(wù)邏輯大部分是一致的,故以ActiveX、DLL組件形式實(shí)現(xiàn)系統(tǒng)業(yè)務(wù)邏輯層的各個(gè)功能模塊,然后將其封裝到C/S與B/S服務(wù)器的業(yè)務(wù)邏輯層,以實(shí)現(xiàn)代碼共享,確保代碼一致性,提高開發(fā)效率和系統(tǒng)的易修改性。綜合地質(zhì)數(shù)據(jù)庫管理系統(tǒng)業(yè)務(wù)邏輯層主要包含以下組件:
(1)地質(zhì)數(shù)據(jù)樹管理組件 GeoDBTM和地質(zhì)數(shù)據(jù)樹會(huì)話管理組件 GeoDBTSes。GeoDBTM在GeoDBTSes的協(xié)作下為授權(quán)用戶提供了對地質(zhì)數(shù)據(jù)樹的瀏覽、添加、刪除、修改以及圖件、文檔結(jié)點(diǎn)實(shí)體數(shù)據(jù)的上傳與下載等基本操作功能。
(2)用戶管理組件 GeoDBUser、地質(zhì)數(shù)據(jù)樹權(quán)限管理組件 GeoDBTPrio和系統(tǒng)日志管理組件GeoDBLog。GeoDBUser,GeoDBTPrio,GeoDBSes以及GeoDBLog這4個(gè)組件共同實(shí)現(xiàn)了在應(yīng)用程序?qū)由蠘?gòu)建綜合地質(zhì)數(shù)據(jù)庫管理系統(tǒng)安全機(jī)制的功能,該安全機(jī)制從數(shù)據(jù)粒度和數(shù)據(jù)操作能力上進(jìn)行訪問控制,以保證用戶只能在其所能夠行使操作的數(shù)據(jù)上執(zhí)行對其所授限的操作,并為用戶的每次數(shù)據(jù)操作記錄日志,為非法操作提供證據(jù)。
(3)數(shù)據(jù)導(dǎo)入組件 GeoDBImp和數(shù)據(jù)導(dǎo)出組件GeoDBExp。GeoDBExp和 GeoDBImp是地質(zhì)數(shù)據(jù)庫管理系統(tǒng)在應(yīng)用層實(shí)現(xiàn)數(shù)據(jù)備份(導(dǎo)出)與恢復(fù)(導(dǎo)入)的組件。
(4)數(shù)據(jù)輸入組件 GeoDBDI和查詢輸出組件GeoDBQO。GeoDBDI組件實(shí)現(xiàn)表格數(shù)據(jù)的輸入與修改,而 GeodDBQO則提供表格數(shù)據(jù)的查詢輸出功能。
(5)源表選擇組件 GeoDBTT和三維數(shù)據(jù)轉(zhuǎn)換組件 GeoDBTI。GeoDBTT與 GeoDBTI組件共同實(shí)現(xiàn)了Micromine與Surpac軟件地質(zhì)建模數(shù)據(jù)輸出功能。
圖2 綜合地質(zhì)數(shù)據(jù)庫管理系統(tǒng)體系結(jié)構(gòu)圖Fig.2 Architecture of the general geology database management system
系統(tǒng)以地質(zhì)數(shù)據(jù)樹為基礎(chǔ),將系統(tǒng)功能分為四大部分:①地質(zhì)數(shù)據(jù)樹(地質(zhì)分類樹)的管理;②地質(zhì)數(shù)據(jù)的管理;③系統(tǒng)與地質(zhì)數(shù)據(jù)安全機(jī)制管理;④地學(xué)三維建模數(shù)據(jù)輸出管理。用戶通過對地質(zhì)數(shù)據(jù)樹的管理實(shí)現(xiàn)地質(zhì)數(shù)據(jù)分類管理,地質(zhì)數(shù)據(jù)的管理則主要是指對地質(zhì)數(shù)據(jù)的元數(shù)據(jù)和實(shí)體數(shù)據(jù)的管理;另外,根據(jù)地質(zhì)數(shù)據(jù)以及系統(tǒng)自身的安全需要,系統(tǒng)還需提供用戶管理、地質(zhì)數(shù)據(jù)樹權(quán)限管理、系統(tǒng)日志管理等安全機(jī)制;根據(jù)地質(zhì)數(shù)據(jù)輸出應(yīng)用的需要,系統(tǒng)提供 Surpac和Micromine軟件數(shù)據(jù)建模接口。所以系統(tǒng)主要設(shè)計(jì)了如下功能模塊:
(1)地質(zhì)數(shù)據(jù)樹管理:為授權(quán)用戶提供瀏覽與搜索地質(zhì)數(shù)據(jù)(子)樹,插入、刪除、拖動(dòng)地質(zhì)(子)樹,導(dǎo)入與導(dǎo)出地質(zhì)數(shù)據(jù)(子)樹,以及編輯分類、報(bào)告、圖件、文檔、表格元數(shù)據(jù)的功能。
(2)圖檔實(shí)體數(shù)據(jù)管理:為授權(quán)用戶提供圖件、文檔實(shí)體數(shù)據(jù)的上傳、下載、編輯與測覽等功能。
(3)表格實(shí)體數(shù)據(jù)管理:一個(gè)表格實(shí)體數(shù)據(jù)對應(yīng)一個(gè)關(guān)系數(shù)據(jù)表,對表格實(shí)體數(shù)據(jù)的管理主要包括為授權(quán)用戶提供新建關(guān)系表、維護(hù)關(guān)系表結(jié)構(gòu)、輸入與修改關(guān)系表數(shù)據(jù)、關(guān)系表數(shù)據(jù)條件查詢輸出等功能。
(4)安全機(jī)制管理:實(shí)現(xiàn)系統(tǒng)用戶與部門的管理、地質(zhì)數(shù)據(jù)樹授權(quán)管理、系統(tǒng)日志管理等功能。
(5)地質(zhì)數(shù)據(jù)建模輸出:提供 Surpac和Micro-Mine等地學(xué)建模軟件的數(shù)據(jù)建模接口。
綜合地質(zhì)數(shù)據(jù)的導(dǎo)入與導(dǎo)出是在數(shù)據(jù)庫應(yīng)用與維護(hù)過程中經(jīng)常涉及到的兩個(gè)重要操作。導(dǎo)出與導(dǎo)入子系統(tǒng)為用戶在應(yīng)用程序?qū)訄?zhí)行地質(zhì)數(shù)據(jù)入庫、地質(zhì)數(shù)據(jù)專題應(yīng)用提取、地質(zhì)數(shù)據(jù)備份與恢復(fù)等工作提供了工具[8]。
系統(tǒng)實(shí)現(xiàn)了地質(zhì)數(shù)據(jù)的批量導(dǎo)入,解決了手工導(dǎo)入速度慢、效率低、易出錯(cuò)的問題。首先將地質(zhì)數(shù)據(jù)按照地質(zhì)數(shù)據(jù)樹模型進(jìn)行組織,形成具有一定規(guī) 則的地質(zhì)數(shù)據(jù)分類目錄樹,然后通過導(dǎo)入工具把地質(zhì)數(shù)據(jù)分類目錄樹作為導(dǎo)入對象,將其所有地質(zhì)數(shù)據(jù)批量的自動(dòng)導(dǎo)入綜合地質(zhì)數(shù)據(jù)庫。在導(dǎo)入過程中該系統(tǒng)提供了2個(gè)方案:
(1)屬性數(shù)據(jù)和實(shí)體數(shù)據(jù)都導(dǎo)入Oracle數(shù)據(jù)庫。這種方案容易理解和實(shí)現(xiàn),將實(shí)體數(shù)據(jù)用BLOB字段進(jìn)行存儲(chǔ),對數(shù)據(jù)量小的數(shù)據(jù)存儲(chǔ)比較方便。但是當(dāng)數(shù)據(jù)量比較大的時(shí)候,將會(huì)嚴(yán)重影響系統(tǒng)的效率。
(2)屬性數(shù)據(jù)存在Oracle數(shù)據(jù)庫,實(shí)體數(shù)據(jù)存在Serv-U文件服務(wù)器。這種方案實(shí)現(xiàn)相對復(fù)雜,但是對于提高系統(tǒng)性能有很大的幫助。該方案在文件服務(wù)器上按照地質(zhì)數(shù)據(jù)分類目錄樹的結(jié)構(gòu)建立相應(yīng)目錄,然后將實(shí)體數(shù)據(jù)導(dǎo)入到相應(yīng)的目錄,屬性數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫。
通過導(dǎo)出功能,用戶可以選擇地質(zhì)數(shù)據(jù)樹結(jié)點(diǎn),將以該結(jié)點(diǎn)為根的子樹導(dǎo)出到物理存儲(chǔ)設(shè)備中,實(shí)現(xiàn)數(shù)據(jù)的局部備份;當(dāng)?shù)刭|(zhì)數(shù)據(jù)因故障而丟失時(shí),則通過導(dǎo)入子系統(tǒng)將原存儲(chǔ)備份導(dǎo)入到綜合地質(zhì)數(shù)據(jù)樹,從而實(shí)現(xiàn)數(shù)據(jù)的恢復(fù),確保綜合地質(zhì)數(shù)據(jù)庫的安全性和完整性。
系統(tǒng)體系結(jié)構(gòu)如圖3所示。
在 GeoDBMS中,地質(zhì)數(shù)據(jù)是用戶需要訪問的數(shù)據(jù)資源,根據(jù)地質(zhì)數(shù)據(jù)模型可知,地質(zhì)數(shù)據(jù)是以地質(zhì)數(shù)據(jù)樹進(jìn)行組織,在綜合地質(zhì)數(shù)據(jù)庫管理系統(tǒng)中對各地質(zhì)數(shù)據(jù)的訪問控制表現(xiàn)為對地質(zhì)數(shù)據(jù)樹中各結(jié)點(diǎn)的訪問控制。因此,借鑒基于角色的訪問控制(RABC)思想,在 GeoDBMS中將地質(zhì)數(shù)據(jù)樹中各個(gè)結(jié)點(diǎn)視為數(shù)據(jù)資源對象,在各個(gè)結(jié)點(diǎn)上為每個(gè)用戶指派角色,以此實(shí)現(xiàn)對地質(zhì)數(shù)據(jù)的訪問控制。
3.2.1 權(quán)限管理數(shù)據(jù)庫
該功能的實(shí)現(xiàn)涉及到數(shù)據(jù)庫中多個(gè)數(shù)據(jù)表(包括用戶表、權(quán)限表、角色表、角色權(quán)限表、用戶角色指派表和地質(zhì)數(shù)據(jù)樹表)。用戶表記錄用戶的用戶名、密碼等相關(guān)信息;權(quán)限表記錄用戶的操作權(quán)限,包括編輯、修改和刪除等操作;角色表記錄系統(tǒng)中所有角色的信息;角色權(quán)限表記錄角色與權(quán)限的對應(yīng)關(guān)系;用戶角色指派表記錄用戶在地質(zhì)數(shù)據(jù)樹節(jié)點(diǎn)上的權(quán)限;地質(zhì)數(shù)據(jù)樹表記錄地質(zhì)數(shù)據(jù)樹的節(jié)點(diǎn)信息以及節(jié)點(diǎn)之間的關(guān)系。
3.2.2 系統(tǒng)結(jié)構(gòu)
在綜合地質(zhì)數(shù)據(jù)庫管理系統(tǒng)中,基于角色的地質(zhì)數(shù)據(jù)訪問控制由權(quán)限瀏覽、角色權(quán)限設(shè)置、權(quán)限管理工具、會(huì)話管理工具等功能模塊構(gòu)成。各模塊所實(shí)現(xiàn)的功能分別為:
(1)權(quán)限瀏覽:該模塊通過讀取用戶角色指派表信息,獲取用戶在地質(zhì)數(shù)據(jù)樹各結(jié)點(diǎn)上所被指派的角色,并從角色權(quán)限表獲取角色所包含的權(quán)限,從而 實(shí)現(xiàn)瀏覽用戶在地質(zhì)數(shù)據(jù)樹各結(jié)點(diǎn)上所擁有權(quán)限的功能。
圖3 綜合地質(zhì)數(shù)據(jù)的導(dǎo)入與導(dǎo)出Fig.3 Importing and exporting of the general geological data
(2)角色權(quán)限設(shè)置:系統(tǒng)級(jí)管理員可以根據(jù)企業(yè)職能崗位的特點(diǎn)進(jìn)行角色的定義、角色權(quán)限的分配等功能操作。
(3)權(quán)限管理工具:權(quán)限管理工具是系統(tǒng)提供給系統(tǒng)級(jí)管理員進(jìn)行地質(zhì)數(shù)據(jù)樹權(quán)限管理的功能模塊。在權(quán)限管理工具中,系統(tǒng)級(jí)管理員可以進(jìn)行部門管理、用戶管理、用戶角色的指派,以及在不刪除用戶、角色、地質(zhì)數(shù)據(jù)樹結(jié)點(diǎn)的情況下停止用戶在樹結(jié)點(diǎn)上角色所擁有的權(quán)限。
(4)會(huì)話管理工具:在綜合地質(zhì)數(shù)據(jù)庫管理系統(tǒng)中,將用戶對地質(zhì)數(shù)據(jù)樹中結(jié)點(diǎn)所進(jìn)行的一次訪問(操作處理)稱為用戶與該結(jié)點(diǎn)所執(zhí)行的一次會(huì)話,會(huì)話管理工具用于用戶與系統(tǒng)的互動(dòng),使用戶獲得地質(zhì)數(shù)據(jù)樹中各結(jié)點(diǎn)的角色和操作權(quán)限的功能支撐模塊[9]。在用戶與地質(zhì)數(shù)據(jù)樹結(jié)點(diǎn)建立會(huì)話之前,會(huì)話管理工具獲取用戶在當(dāng)前結(jié)點(diǎn)上所擁有的權(quán)限,并將用戶在該地質(zhì)數(shù)據(jù)樹結(jié)點(diǎn)上能否執(zhí)行的操作,通過系統(tǒng)主界面上的對應(yīng)功能菜單按鈕、工具按鈕的禁止與可用狀態(tài)予以體現(xiàn)。
通過分析和抽象,將繁多復(fù)雜的地質(zhì)數(shù)據(jù)抽象成文檔、表格、圖件、報(bào)告和分類等5種數(shù)據(jù)類型,將地質(zhì)礦產(chǎn)資料數(shù)據(jù)歸整分類,建立資料分類目錄樹,使得系統(tǒng)的授權(quán)粒度細(xì)分到目錄樹上的各個(gè)結(jié)點(diǎn)。對綜合地質(zhì)數(shù)據(jù)模型的結(jié)構(gòu)特征以及行為特征進(jìn)行分析,研制綜合地質(zhì)數(shù)據(jù)導(dǎo)出與導(dǎo)入系統(tǒng),可為地質(zhì)工作者提供執(zhí)行地質(zhì)數(shù)據(jù)入庫以及地質(zhì)數(shù)據(jù)專題應(yīng)用提取、地質(zhì)數(shù)據(jù)備份與恢復(fù)等工作的工具;按照本文的思路建立的地質(zhì)礦產(chǎn)原始數(shù)據(jù)數(shù)字化及入庫流程,以導(dǎo)入系統(tǒng)為實(shí)施工具,可系統(tǒng)地、全面地、批量地、自動(dòng)地將紙介質(zhì)地質(zhì)數(shù)據(jù)導(dǎo)入綜合地質(zhì)數(shù)據(jù)庫,實(shí)現(xiàn)地質(zhì)數(shù)據(jù)數(shù)字化存儲(chǔ)和信息化管理。采用面向?qū)ο蠹夹g(shù)和網(wǎng)絡(luò)開發(fā)技術(shù)實(shí)現(xiàn)了對地質(zhì)數(shù)據(jù)的遠(yuǎn)程訪問與更新;同時(shí)系統(tǒng)采用基于角色訪問控制思想進(jìn)行用戶權(quán)限管理,提高了系統(tǒng)的安全性和實(shí)用性,可根據(jù)地質(zhì)工作需要實(shí)現(xiàn)地質(zhì)數(shù)據(jù)樹的備份和恢復(fù)。
[1] 李永兵,陳旭瑞,胡俊峰,等.基于 GIS的地質(zhì)數(shù)據(jù)庫系統(tǒng):研究現(xiàn)狀和發(fā)展趨勢[J].地球物理學(xué)進(jìn)展,2002,17(3):532-539.
[2] 毛先成,戴塔根,鄒艷紅,等.廣西大廠礦田地質(zhì)礦產(chǎn)數(shù)據(jù)庫的研究與系統(tǒng)開發(fā)[J].地質(zhì)與勘探,2003,35(9):72-76.
[3] 馬君,袁帥.基于C/S三層結(jié)構(gòu)的 GIS海量影像數(shù)據(jù)管理系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(10):265l-2653.
[4] 徐雅斌,王秀敏,劉鴻沈.基于.NET平臺(tái)的三層結(jié)構(gòu)應(yīng)用系統(tǒng)開發(fā)[J].遼寧工程技術(shù)大學(xué)學(xué)報(bào),2005,24(1):101-103.
[5] 趙志升,李桂權(quán).一種基于B/S結(jié)構(gòu)與C/S結(jié)構(gòu)結(jié)合的新體系結(jié)構(gòu)[J].電子技術(shù)應(yīng)用,2004,30(8):7-9.
[6] 柳蔭塘,魏挺.一種C/S與B/S相結(jié)合的企業(yè)應(yīng)用結(jié)構(gòu)[J].河北科技大學(xué)學(xué)報(bào),2007,28(2):154-156.
[7] 康萍.COM組件技術(shù)及其在三層結(jié)構(gòu)模型中的應(yīng)用[J].微電子學(xué)與計(jì)算機(jī),2005,22(6):181-187.
[8] 陳振.綜合地質(zhì)數(shù)據(jù)模型研究與管理系統(tǒng)的開發(fā)[D].長沙:中南大學(xué),2008.
[9] 張紅軍,李亞芬,周小林.大型數(shù)據(jù)庫應(yīng)用系統(tǒng)中基于角色的權(quán)限管理方案[J].現(xiàn)代計(jì)算機(jī),2001(5):6-10.