譚海軍
摘 ? 要:為了解決數(shù)字化校園建設(shè)過程中異構(gòu)數(shù)據(jù)的數(shù)據(jù)處理和數(shù)據(jù)共享問題,文章針對校園網(wǎng)應(yīng)用系統(tǒng),利用數(shù)據(jù)交換技術(shù)和XML良好的擴展性、自描述性、形式與內(nèi)容分離等特性,較好地實現(xiàn)了異構(gòu)數(shù)據(jù)庫中的數(shù)據(jù)共享和共用。
關(guān)鍵詞:數(shù)字化校園;異構(gòu)數(shù)據(jù);可擴展標記語言;數(shù)據(jù)共享;校園網(wǎng)
1 ? ?當今數(shù)字化校園建設(shè)存在的問題
隨著21世紀的快速發(fā)展和信息技術(shù)的迅速普及,人類社會發(fā)生了重大變化。各大高校教育管理的工作方式和手段,從教育環(huán)境和模式到教育理念,正在逐步發(fā)生深刻變革。其中高校管理部門根據(jù)各部門的需求,逐步建立了各種信息管理系統(tǒng),極大地提高了信息管理的效率。然而,在許多學校中長期存在這樣一個現(xiàn)象:由于各種原因,這些系統(tǒng)建立的時間不同,采用的開發(fā)技術(shù)和數(shù)據(jù)庫系統(tǒng)不盡相同,系統(tǒng)之間沒有統(tǒng)一的信息標準[1]。因此,許多“信息孤島”在高校形成。
分析其原因,主要是各個部門在進行信息系統(tǒng)建設(shè)時創(chuàng)建了大量的數(shù)據(jù)庫,這些數(shù)據(jù)庫在物理和邏輯上獨立創(chuàng)建和管理,每個獨立數(shù)據(jù)庫都有自己的模式、數(shù)據(jù)、數(shù)據(jù)模型和數(shù)據(jù)調(diào)用語言,形成了異構(gòu)數(shù)據(jù)庫[2]。
數(shù)據(jù)庫異構(gòu)性主要體現(xiàn)在以下幾個方面:
(1)計算機體系結(jié)構(gòu)導致的異構(gòu)。每個參與的數(shù)據(jù)庫可能在大型機、小型機、工作站、個人計算機(Personal Computer,PC)或嵌入式系統(tǒng)上運行。
(2)基礎(chǔ)操作系統(tǒng)的異構(gòu)。各個數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)操作系統(tǒng)可能是Windows,Unix,Linux等。
(3)DMBS本身的異構(gòu)性。異構(gòu)數(shù)據(jù)庫系統(tǒng)可能由相同關(guān)系數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)庫形成,例如Oracle,SQL Server或不同數(shù)據(jù)模型的數(shù)據(jù)庫,例如關(guān)系、模式、層次結(jié)構(gòu)、網(wǎng)絡(luò)、面向?qū)ο蟮臄?shù)據(jù)庫和函數(shù)數(shù)據(jù)庫。
由此產(chǎn)生的信息交流障礙阻礙了校園網(wǎng)應(yīng)用管理系統(tǒng)的全面表現(xiàn),甚至出現(xiàn)財務(wù)數(shù)據(jù)與學籍管理數(shù)據(jù)不一致的現(xiàn)象,給校園信息化管理帶來一定的困難。
2 ? ?基于XML的數(shù)字校園數(shù)據(jù)交換平臺的設(shè)計
數(shù)字化校園需要的是一個全新的開放資源共享環(huán)境,使其具有豐富的信息和優(yōu)秀的服務(wù)能力,因此當務(wù)之急是解決校園網(wǎng)應(yīng)用系統(tǒng)間的異構(gòu)數(shù)據(jù)交換和信息共享問題。目前,校園信息管理系統(tǒng)主要是以瀏覽器/服務(wù)器(Brower/Server,B/S)結(jié)構(gòu)或服務(wù)器/客戶機(Client/Server,C/S)模式開發(fā)的。后端數(shù)據(jù)庫使用關(guān)系數(shù)據(jù)庫,如SQL Server,ORACLE,Sybase等。
基于這種由關(guān)系數(shù)據(jù)庫支持的校園網(wǎng)應(yīng)用系統(tǒng),設(shè)計了基于可擴展標記語言(Extensible Markup Language,XML)技術(shù)的第三方數(shù)據(jù)交換中心平臺。
2.1 ?系統(tǒng)概述
基于XML的數(shù)字校園數(shù)據(jù)交換平臺通過將XML格式定義為標準格式,實現(xiàn)了各種應(yīng)用系統(tǒng)的數(shù)據(jù)共享和數(shù)據(jù)轉(zhuǎn)換。本平臺使用4種功能機制:IML(標準數(shù)據(jù)交換語言集)、消息中心(文檔轉(zhuǎn)換中心)、數(shù)據(jù)庫管理和安全機制。
2.2 ?系統(tǒng)結(jié)構(gòu)模型
數(shù)字校園數(shù)據(jù)交換平臺基于XML,使用XSL/XSLT定義用戶視圖,以XML Schena或文檔類型定義(Document Type Definition,DTD)構(gòu)建合法的XML文檔,實現(xiàn)異構(gòu)數(shù)據(jù)的共享數(shù)據(jù)轉(zhuǎn)換。本系統(tǒng)由數(shù)據(jù)交換平臺管理中心控制,IML管理器、消息中心控制臺、數(shù)據(jù)庫管理器和安全機制負責分工。每個異構(gòu)網(wǎng)絡(luò)都有自己的數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)格式,但這些網(wǎng)絡(luò)功能節(jié)點可以使用內(nèi)部網(wǎng)或Internet和基于XML的數(shù)字校園數(shù)據(jù)交換中介功能,以實現(xiàn)數(shù)據(jù)轉(zhuǎn)換和異構(gòu)網(wǎng)絡(luò)的共享。整個系統(tǒng)以標準化的XML數(shù)據(jù)格式進行通信,IML過濾器可以處理和調(diào)整各種數(shù)據(jù)格式并支持各種協(xié)議,如Email,HTTP和FTP。
2.3 ?基于XML數(shù)字校園數(shù)據(jù)交換平臺的幾個關(guān)鍵模塊的實現(xiàn)
為了實現(xiàn)異構(gòu)數(shù)據(jù)的共享和交換,有必要將來自不同數(shù)據(jù)源的數(shù)據(jù)轉(zhuǎn)換為一致的格式和為每個異構(gòu)數(shù)據(jù)源的局部模式提供一致的全局模式。以下就實現(xiàn)數(shù)據(jù)交換的兩個關(guān)鍵問題做簡要說明。
2.3.1 ?數(shù)據(jù)驅(qū)動管理模塊
目前,市場上占主導地位的數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫,主要包括ACCESS,Oracle,SQL Server,MySQL,Sysbase等,因此,該模塊包含著幾種公共數(shù)據(jù)源的驅(qū)動程序[3]。該模塊完成各種異構(gòu)數(shù)據(jù)庫數(shù)據(jù)的識別,為相應(yīng)的數(shù)據(jù)庫構(gòu)建驅(qū)動程序文件,將獲取的驅(qū)動程序信息加載到驅(qū)動程序庫中,并構(gòu)建驅(qū)動程序信息表,允許了在建立新數(shù)據(jù)源時從該表中調(diào)用相應(yīng)的驅(qū)動文件。
2.3.2 ?數(shù)據(jù)映射模塊的實現(xiàn)
對于異構(gòu)數(shù)據(jù),不同的數(shù)據(jù)模式具有不同的結(jié)構(gòu),但它們所表示的信息內(nèi)容是常見的。本模塊采用XML Schema作為XML文檔的模式語言,將XML文檔視為數(shù)據(jù)庫中的數(shù)據(jù),將DTD或XML模式視為數(shù)據(jù)庫模式,并將其映射為關(guān)系數(shù)據(jù)庫中的Schema[4],通過其提供的簡單數(shù)據(jù)類型或用戶自定義類型,用于從異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)中提取有用信息,并創(chuàng)建XML文檔以進行替換。該文檔存儲了重要信息,例如關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)表、字段類型、字段約束以及字段內(nèi)容之間的關(guān)系,并為異構(gòu)數(shù)據(jù)庫數(shù)據(jù)交換提供統(tǒng)一的數(shù)據(jù)訪問類型。
3 ? ?數(shù)據(jù)交換中心建設(shè)中的幾個關(guān)鍵問題
數(shù)據(jù)交換中心是一個整體結(jié)構(gòu),任何一個細節(jié)規(guī)劃的忽略都有可能導致問題的發(fā)生。因此,為了避免在數(shù)據(jù)交換中心建設(shè)過程中由于缺乏考慮而導致的工期延誤或者返工,需要了解以下幾個關(guān)鍵問題:
(1)數(shù)據(jù)標準的規(guī)范。首先制定信息標準,然后制定統(tǒng)一的數(shù)據(jù)標準,建立可靠的數(shù)據(jù)中心。這一階段意味著為學校建立基本的信息編碼標準。
(2)中心數(shù)據(jù)庫的設(shè)計。確定數(shù)據(jù)標準后,設(shè)計共享數(shù)據(jù)中心數(shù)據(jù)庫結(jié)構(gòu),這是構(gòu)建數(shù)據(jù)中心的關(guān)鍵。數(shù)據(jù)中心的共享數(shù)據(jù)庫結(jié)構(gòu)必須根據(jù)教育部教育資源規(guī)范中規(guī)定的資源類型進行統(tǒng)一,并保留各種程序接口,以便隨時擴展資源中心的功能。
(3)數(shù)據(jù)同步問題。業(yè)務(wù)系統(tǒng)和共享數(shù)據(jù)中心數(shù)據(jù)庫之間的信息交換分為兩部分,將業(yè)務(wù)系統(tǒng)數(shù)據(jù)上載到數(shù)據(jù)中心并從數(shù)據(jù)中心讀取業(yè)務(wù)信息。對于數(shù)據(jù)同步方案,應(yīng)該設(shè)計良好的解決方案,以確保實時、準確的信息流。
(4)對異常數(shù)據(jù)的處理。在數(shù)據(jù)交換中,通常存在數(shù)據(jù)類型不匹配的情況,例如最簡單的日期形式。實際上,在SQL Server 2012中,會有兩個完全不同的數(shù)據(jù)表示過程,第一個是smalldatetime,第二個是datetime,但對于Oracle 10i,只有一種方式來表示日期,即date。盡管日期表示模式存在顯著差異,但兩個數(shù)據(jù)庫管理系統(tǒng)可用于日常使用。在SQL Server 2012中的查詢結(jié)果為“2015-6-9 00:00:00”,但Oracle 10i檢索的數(shù)據(jù)為“9-6-15”,因此,在數(shù)據(jù)庫中檢索的日期是“2015-6-9”。Oracle的默認日期表達式模式為dd-mm-yy,其中“dd”是日,“mm”是月,“yy”是年[5]。通常,由于Oracle中的日期沒有固定格式,因此可以使用函數(shù)來解決數(shù)據(jù)庫中的此缺陷。在TO DATE函數(shù)中輸入特定時間,最后根據(jù)數(shù)據(jù)格式指定,通常根據(jù)特定的格式更改XML文檔的字符。另外,空數(shù)據(jù)是不同的,如果數(shù)據(jù)庫具有空值,則數(shù)據(jù)實際為空。XML文檔是相同的概念,通??梢允褂迷貙傩詠盹@示。在數(shù)據(jù)庫中,空元素字符表示為0,這意味著字符長度是0,但是應(yīng)確保在映射數(shù)據(jù)庫或處理XML文檔時刪除空值,否則文件是錯誤的。實際上,在將數(shù)據(jù)庫轉(zhuǎn)換為XML文檔格式的過程中,如果數(shù)據(jù)庫中的數(shù)據(jù)為空,那么將數(shù)據(jù)轉(zhuǎn)換為XML文檔時是無法區(qū)分空值的。在分析XML文檔中的數(shù)據(jù)庫值時,如果分析結(jié)果為空,則該段字符就會被程序默認為DB Null。
4 ? ?結(jié)語
在數(shù)字校園建設(shè)過程中,異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)交換和共享是亟待解決的問題。本文通過定義使用新的XML數(shù)據(jù)格式語言IML,將異構(gòu)數(shù)據(jù)構(gòu)建為標準XML數(shù)據(jù),并使用統(tǒng)一的數(shù)據(jù)交換格式參與數(shù)據(jù)交換。通過構(gòu)建通用的IML數(shù)據(jù)格式,處理系統(tǒng)平臺內(nèi)外不同類型的數(shù)據(jù)流,并提取每個異構(gòu)數(shù)據(jù)庫中相關(guān)數(shù)據(jù)的主要部分,根據(jù)實際交換要求交換和添加數(shù)據(jù),從而實現(xiàn)數(shù)字校園中異構(gòu)數(shù)據(jù)庫的交換和共享。
[參考文獻]
[1]羊牧,胡艷梅,羅婷.數(shù)字化校園數(shù)據(jù)交換中心的設(shè)計與實現(xiàn)[J].現(xiàn)代教育技術(shù),2006(1):56-59.
[2]何東隆,李美真.精通XML與網(wǎng)頁設(shè)計高級教程[M].北京:中國青年出版社,2001.
[3]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2006.
[4]黃寬娜,劉微.基于XML中間件的異構(gòu)數(shù)據(jù)庫集成[J].西南大學學報(自然科學版),2010(9):141-146.
[5]黃明婕.基于XML技術(shù)的企業(yè)數(shù)據(jù)交換系統(tǒng)的設(shè)計與實現(xiàn)[D].長沙:湖南大學,2017.
Abstract:In order to solve the problem of data processing and sharing of heterogeneous data in the process of digital campus construction, this paper aims at the campus network application system, and realizes the data sharing in heterogeneous database by using the characteristics of good expansibility, self-descriptive, separation form and content of data exchange technology.?
Key words:digital campus; heterogeneous data; extensible markup language; data sharing; campus network