丁 靜,孫 鵬
(1. 沈陽(yáng)工程學(xué)院現(xiàn)代教育技術(shù)中心,沈陽(yáng)110136;2. 沈陽(yáng)師范大學(xué)圖書館,沈陽(yáng)110034)
隨著高等學(xué)校近幾年招生規(guī)模的不斷擴(kuò)大,各高校的新生入學(xué)教育考核問(wèn)題一直困擾著學(xué)生部門的工作人員.面對(duì)龐大的學(xué)生群體,如何利用現(xiàn)有的資源有效地解決這一問(wèn)題,使入學(xué)教育考核更加合理化、科學(xué)化,是各高校迫切需要解決的問(wèn)題.現(xiàn)在的高校一般都有自己的校園網(wǎng),這里將探討如何利用現(xiàn)有的網(wǎng)絡(luò)資源,再結(jié)合計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù),設(shè)計(jì)和實(shí)現(xiàn)高等學(xué)校新生入學(xué)教育考核系統(tǒng).
考核系統(tǒng)是面向全體新生,具有數(shù)據(jù)量大、并發(fā)數(shù)多等特點(diǎn),對(duì)數(shù)據(jù)庫(kù)服務(wù)的要求較高,因此采用了MS SQL Server 作為數(shù)據(jù)庫(kù),從而保障了系統(tǒng)的穩(wěn)定運(yùn)行.
1)服務(wù)器的要求. 操作系統(tǒng)為Windows 2000;數(shù)據(jù)庫(kù)軟件為MS SQL Server2000;網(wǎng)頁(yè)發(fā)布軟件為IIS.
2)終端用戶的要求.可以上網(wǎng)的PC 機(jī),瀏覽器為IE6.0.
3)開發(fā)軟件.Dreamweaver、MS SQL Server 2000.
1)登陸系統(tǒng).參加入學(xué)教育考核的學(xué)生憑借自己的學(xué)號(hào)登陸系統(tǒng),確認(rèn)個(gè)人信息后可以進(jìn)行考核;未在系統(tǒng)注冊(cè)的學(xué)生是不能參加考核的.
2)隨機(jī)生成試題. 學(xué)生確認(rèn)自己的信息后,系統(tǒng)隨機(jī)生成試題,可以有效避免互相抄襲,確保了成績(jī)的真實(shí)性.
3)考試結(jié)束,提交試卷,成績(jī)?nèi)霂?kù).考試正常結(jié)束后,系統(tǒng)自動(dòng)計(jì)算成績(jī),并寫入數(shù)據(jù)庫(kù),以便統(tǒng)計(jì)和對(duì)比;如果學(xué)生未能在規(guī)定時(shí)間內(nèi)完成試題,則強(qiáng)行提交,成績(jī)同樣有效.
2.1.1 Browse/Server 模式
根據(jù)不同級(jí)別的安全需要,又可以擴(kuò)展為:瀏覽器/Web 服務(wù)器/數(shù)據(jù)庫(kù)服務(wù)器,這種3 層的B/S 結(jié)構(gòu)將用戶界面、應(yīng)用邏輯、數(shù)據(jù)管理徹底分離,彼此獨(dú)立,各行其職,用戶通過(guò)URL 與Web 服務(wù)器建立網(wǎng)絡(luò)的連接,將Web 服務(wù)器上的資源下載到客戶端的瀏覽器上進(jìn)行訪問(wèn),應(yīng)用邏輯通過(guò)ADO 與數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行數(shù)據(jù)交換,因而具有更高的安全性.這種工作模式是隨著Internet 技術(shù)的不斷成熟,對(duì)C/S 模式的一種變化和改進(jìn). 在這種工作模式下,用戶完全通過(guò)WWW 瀏覽器實(shí)現(xiàn),一部分邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),主要是利用了不斷成熟的WWW瀏覽器技術(shù),綜合瀏覽器的多種Script 語(yǔ)言(VBScript、JavaScript)和ActiveX(ActiveX 是微軟公司OLE 技術(shù)OCX 技術(shù)的聚合,ActiveX 為OLE 控件定義了新的規(guī)范,使得其更小且效率更高,適合在Internet 上使用)技術(shù).采用通用瀏覽器就實(shí)現(xiàn)了原來(lái)需要復(fù)雜專用的軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù).而且它的前端是以TCP/IP 協(xié)議為基礎(chǔ)的,局域網(wǎng)內(nèi)部的WWW服務(wù)器可以接受安裝有Web 瀏覽程序的Internet 終端的訪問(wèn).作為最終用戶,只要通過(guò)Web 瀏覽器,各種處理任務(wù)都可以調(diào)用系統(tǒng)資源來(lái)完成,這樣大大簡(jiǎn)化了客戶端,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,而且以后的改進(jìn)和升級(jí)工作只要對(duì)服務(wù)器進(jìn)行操作即可,降低了用戶的總體擁有成本和維護(hù)的成本,所以采用這種模式,無(wú)論是現(xiàn)在還是將來(lái)都是最好的一種選擇.
2.1.2 Client/Server 模式
這是計(jì)算機(jī)應(yīng)用于解決實(shí)際問(wèn)題產(chǎn)生的一種傳統(tǒng)的工作模式,由于通過(guò)應(yīng)用軟件訪問(wèn)服務(wù)器,所以客戶端必須安裝指定的應(yīng)用軟件,才可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理和操作,因而使用范圍受限,靈活性較差.
當(dāng)采用這種工作模式的系統(tǒng)開始工作時(shí),當(dāng)用戶的數(shù)量不大、數(shù)據(jù)庫(kù)中的數(shù)據(jù)不多時(shí),系統(tǒng)的運(yùn)行速度較快,而且比較穩(wěn)定.但是隨著用戶數(shù)量和數(shù)據(jù)量的增加,網(wǎng)絡(luò)中數(shù)據(jù)流量會(huì)大量增加,容易造成網(wǎng)絡(luò)堵塞,客戶端處理數(shù)據(jù)時(shí)要對(duì)數(shù)據(jù)表或記錄進(jìn)行反復(fù)讀取,處理不當(dāng)易形成死鎖,導(dǎo)致系統(tǒng)無(wú)法正常使用,嚴(yán)重影響了系統(tǒng)的穩(wěn)定性.
鑒于以上2 種工作模式的優(yōu)缺點(diǎn),如果采用傳統(tǒng)的C/S 模式,數(shù)據(jù)流量受限,容易出現(xiàn)瓶頸問(wèn)題,而且系統(tǒng)的維護(hù)、升級(jí)也不方便,所以采用目前較為流行的B/S 模式(2 層結(jié)構(gòu)),在一定程度上減輕了系統(tǒng)管理員的負(fù)擔(dān),而且便于系統(tǒng)的升級(jí)與維護(hù).
系統(tǒng)工作模式結(jié)構(gòu)如圖1 所示.
圖1 系統(tǒng)工作模式結(jié)構(gòu)
其工作過(guò)程可以解釋為:
1)用戶啟動(dòng)客戶端瀏覽器,在瀏覽器中確定將要訪問(wèn)頁(yè)面的URL 地址,瀏覽器軟件使用Http 協(xié)議,向該URL 地址所指向的Web 服務(wù)器發(fā)出請(qǐng)求.
2)Web 服務(wù)器根據(jù)瀏覽器送來(lái)的請(qǐng)求,把URL 地址轉(zhuǎn)換成頁(yè)面所在服務(wù)器上的文件路徑,找到相應(yīng)的文件.
3)如果URL 指向HTML 文檔,Web 服務(wù)器使用Http 協(xié)議將該文檔直接傳送給瀏覽器,在HTML 文檔中可能包含有JavaScript 或VBScript 等基本程序段,隨HTML 一起下載的還可能有JavaApplet 和ActiveX 等小程序,把結(jié)果送到瀏覽器.
4)瀏覽器解釋HTML 文檔,在客戶端屏幕上向用戶顯示結(jié)果.
3.1.1 身份驗(yàn)證機(jī)制
SQL Server 采用用戶登錄級(jí)、數(shù)據(jù)庫(kù)用戶級(jí)、數(shù)據(jù)庫(kù)對(duì)象級(jí)的登錄標(biāo)識(shí)與數(shù)據(jù)庫(kù)用戶相結(jié)合的逐級(jí)的安全防護(hù)機(jī)制. 用戶登錄級(jí)要求用戶首先使用有效的登錄標(biāo)識(shí)向SQL Server 登錄,系統(tǒng)對(duì)其正確性進(jìn)行驗(yàn)證,方能與SQL Server 相連和進(jìn)入. SQL Server系統(tǒng)驗(yàn)證用戶的方法有2 種:一種是Windows NT 驗(yàn)證模式,這種模式使用NT 的驗(yàn)證機(jī)制來(lái)檢查用戶的合法性,用戶只須在登錄NT 時(shí)驗(yàn)證一次,SQL Server就認(rèn)為這是個(gè)有效的登錄標(biāo)識(shí),SQL Server 的安全管理將Windows NT 帳戶映射為SQL Server 的登錄標(biāo)識(shí),這樣即減輕了SQL Server 的維護(hù)工作又使其與Windows NT 更緊密的結(jié)合;另一種是SQL Server 的驗(yàn)證模式,又稱混合模式,在這種模式下,用戶登錄在SQL Server 中定義,用戶要用SQL Server 的登錄標(biāo)識(shí)和口令登錄.
3.1.2 授權(quán)機(jī)制
數(shù)據(jù)庫(kù)的用戶級(jí)進(jìn)行數(shù)據(jù)庫(kù)的授權(quán)與回收控制用戶是屬于特定的數(shù)據(jù)庫(kù)的,每個(gè)數(shù)據(jù)庫(kù)的用戶都能夠?qū)Ρ緮?shù)據(jù)庫(kù)進(jìn)行查詢和操作數(shù)據(jù)庫(kù)用戶與登錄標(biāo)識(shí)相關(guān)聯(lián),一個(gè)應(yīng)用程序使用登錄標(biāo)識(shí)向SQL Server 登錄成功后,對(duì)某一特定的數(shù)據(jù)庫(kù)進(jìn)行操作.
3.1.3 安全體系
基于上述機(jī)制,對(duì)具體的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)可以設(shè)計(jì)出這樣的安全體系:每個(gè)數(shù)據(jù)庫(kù)的應(yīng)用只建立1 個(gè)真正的數(shù)據(jù)庫(kù)帳號(hào),它只具有對(duì)系統(tǒng)應(yīng)用所涉及的數(shù)據(jù)庫(kù)實(shí)體進(jìn)行操作的全部權(quán)限.與此同時(shí),為系統(tǒng)的各類用戶分別創(chuàng)建1 個(gè)應(yīng)用系統(tǒng)帳號(hào),實(shí)際上只是數(shù)據(jù)庫(kù)中名為synudata 表里的1 條記錄這樣,每次應(yīng)用程序在客戶端執(zhí)行時(shí),首先會(huì)用數(shù)據(jù)庫(kù)帳號(hào)登錄數(shù)據(jù)庫(kù),然后執(zhí)行自行編寫的登錄程序,與synudata 表結(jié)合,實(shí)現(xiàn)應(yīng)用系統(tǒng)登錄這種安全體系使得應(yīng)用系統(tǒng)成為數(shù)據(jù)庫(kù)的直接用戶,而應(yīng)用系統(tǒng)的所有用戶則是數(shù)據(jù)庫(kù)的間接用戶.應(yīng)用系統(tǒng)除了完成其應(yīng)用邏輯外還將系統(tǒng)用戶和數(shù)據(jù)庫(kù)隔離開來(lái),成為數(shù)據(jù)庫(kù)的一道“防火墻”.
數(shù)據(jù)的完整性是要保證存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)的一致性、有效性和正確性.SQL Server 采用數(shù)據(jù)完整性約束機(jī)制來(lái)檢查數(shù)據(jù)庫(kù)中數(shù)據(jù)是否滿足語(yǔ)義的規(guī)定,從而實(shí)現(xiàn)數(shù)據(jù)的正確性和相容性,防止不合理數(shù)據(jù)造成無(wú)效操作和錯(cuò)誤結(jié)果,從而維護(hù)數(shù)據(jù)庫(kù)的完整性這種約束加在數(shù)據(jù)庫(kù)的表的定義上,它不用額外書寫代碼,因而代價(jià)小、性能高.
3.2.1 實(shí)體完整性
實(shí)體完整性是要保證每個(gè)行能被稱作主關(guān)鍵字屬性的唯一識(shí)別實(shí)體完整性的規(guī)則要求關(guān)系的主屬性非空,即在實(shí)際的關(guān)系庫(kù)中,建表時(shí)用primary key 子句定義主碼列SQL Server 在用戶程序每次對(duì)主碼進(jìn)行插入、刪除、修改等更新操作時(shí)進(jìn)行完整性檢查,若此操作使主屬性列為“空值(NULL)”,或使主碼值在表中不唯一,則拒絕此操作.
3.2.2 參照完整性
在實(shí)際系統(tǒng)中,若存在參照關(guān)系R1和依賴關(guān)系R2,R2包含外碼Fk且與R1的主碼Pk相對(duì)應(yīng),則R2中每個(gè)元組在Fk上的取值要么為空,要么等于R1中主碼的某個(gè)值.
3.2.3 E-R 圖
實(shí)體:客觀存在并可區(qū)分的事物.
屬性:實(shí)體所具有的某種特性,1 個(gè)實(shí)體可以有多個(gè)屬性.
關(guān)系:實(shí)體之間的對(duì)應(yīng)關(guān)系,可分為1:1 聯(lián)系、1:n聯(lián)系、m:n 聯(lián)系.
算法是解決實(shí)際問(wèn)題方法的精確描述,是為客觀世界中各類具體問(wèn)題設(shè)計(jì)良好的分析方法及解決方法.系統(tǒng)的主要目的是使學(xué)生通過(guò)在線測(cè)試來(lái)達(dá)到考核的目的,因而測(cè)試試題的難易程度將直接影響學(xué)生的成績(jī),也就是說(shuō)試題選取方法的優(yōu)劣將直接影響測(cè)試者的成績(jī),所以如何保證試題的合理搭配是本系統(tǒng)保證測(cè)試質(zhì)量的核心技術(shù).
為了保證測(cè)試的公平、公正、合理,系統(tǒng)的選題方式采取隨機(jī)選題技術(shù),在試題數(shù)量足夠多(由選取的試題數(shù)量確定)的情況下,盡量保證不出現(xiàn)重復(fù)的試題,從而提高了測(cè)試的質(zhì)量.系統(tǒng)采取的隨機(jī)選題技術(shù)如下:
統(tǒng)計(jì)數(shù)據(jù)庫(kù)中測(cè)試題的數(shù)量,并用n 來(lái)記錄:
定義變量i,做為隨機(jī)選擇的試題的數(shù)量記錄,初始值為1:i=1
當(dāng)i 小于試卷中的試題數(shù)量30 時(shí),執(zhí)行循環(huán)選題操作:
從數(shù)據(jù)庫(kù)中檢索編號(hào)等于隨機(jī)值num,做為隨機(jī)選擇的試題:
用變量存儲(chǔ)該條記錄的字段值,以便于插入臨時(shí)數(shù)據(jù)庫(kù)中:
將變量中存儲(chǔ)的值插入到臨時(shí)數(shù)據(jù)庫(kù)中,以便于形成試卷:
到此,隨機(jī)選題工作結(jié)束,同時(shí)將選題的結(jié)果插入到臨時(shí)數(shù)據(jù)庫(kù)中,便于在后面的測(cè)試中形成試卷,當(dāng)考試正常結(jié)束后,系統(tǒng)自動(dòng)刪除臨時(shí)數(shù)據(jù)庫(kù)中的試題,以減輕服務(wù)器的負(fù)擔(dān),也提高了數(shù)據(jù)處理的速度和程序的執(zhí)行效率.
在Internet 環(huán)境中,不斷傳出黑客入侵網(wǎng)絡(luò)系統(tǒng)的事件報(bào)道,這些成功入侵網(wǎng)絡(luò)系統(tǒng)的黑客主要是抓住了Internet 上各種應(yīng)用軟件的種種弱點(diǎn)和漏洞,從而導(dǎo)致成千上萬(wàn)的口令和系統(tǒng)程序、系統(tǒng)數(shù)據(jù)庫(kù)在Internet 上被盜取或惡意修改,Internet 的安全問(wèn)題成了當(dāng)前各種應(yīng)用軟件開發(fā)人員關(guān)注的焦點(diǎn).
既然網(wǎng)絡(luò)本身就是不安全的,利用網(wǎng)絡(luò)的同時(shí),必須通過(guò)一定的措施來(lái)盡量提高網(wǎng)絡(luò)的安全性、可靠性,Internet 的安全性一般通過(guò)如下幾方面的安全服務(wù)來(lái)實(shí)現(xiàn):①問(wèn)用戶的IP 來(lái)保護(hù)計(jì)算機(jī)上的資源不被非授權(quán)使用;②加強(qiáng)應(yīng)用軟件服務(wù)器的安全保障措施,主要是防火墻技術(shù);③提高應(yīng)用軟件本身程序上的安全性.
鑒于以上網(wǎng)絡(luò)的種種不安全性和提高網(wǎng)絡(luò)安全性的可行措施,系統(tǒng)的數(shù)據(jù)庫(kù)采用了MS SQL Server2000,可以說(shuō)在當(dāng)前的各種數(shù)據(jù)庫(kù)中,是一個(gè)相對(duì)可靠的數(shù)據(jù)庫(kù);系統(tǒng)的應(yīng)用程序安裝在學(xué)校的主服務(wù)器上,使應(yīng)用程序置于防火墻的保護(hù)中,自然就提高了系統(tǒng)的安全性;為了保護(hù)計(jì)算機(jī)上的資源不被非授權(quán)使用,系統(tǒng)僅限在校園網(wǎng)內(nèi)部使用,從而在IP 上限制了校園網(wǎng)外部的黑客,使之無(wú)法入侵系統(tǒng);在系統(tǒng)的應(yīng)用程序上,也充分利用了ASP 技術(shù)的Session 功能,使用戶不能通過(guò)在瀏覽器中直接輸入網(wǎng)頁(yè)名稱來(lái)跳過(guò)身份驗(yàn)證頁(yè)面的方式來(lái)進(jìn)入系統(tǒng),從而在系統(tǒng)的應(yīng)用程序上提高了系統(tǒng)的安全性.
新生入學(xué)教育考核系統(tǒng)使高等學(xué)校的入學(xué)教育考核更加合理化、科學(xué)化,如果將其推廣,必定會(huì)給高等學(xué)校的入學(xué)教育考核工作帶來(lái)很大的方便.
[1]宣小平,但正剛,張文毅.ASP 數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2003:158,184,303-307.
[2]薩師煊,王 珊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2000:88,117-118.
[3]劉 韜,樓興華.MS SQL Server 2000 數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2003:95,130-142.
[4]李曉黎,張 巍.ASP+SQL Server 網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)與實(shí)例[M].北京:人民郵電出版社,2003:72-94,130-162.
[5]Alexander L Factor[美].應(yīng)用服務(wù)供應(yīng)商(ASP)解決方案[M].孫延明,譯. 北京:電子工業(yè)出版社,2003:76,108,134.
[6]陸登波.數(shù)據(jù)庫(kù)SQL Server 的安全性剖析[J].咸寧師專學(xué)報(bào),2002,22(6):90-92.
[7]賈長(zhǎng)云,陸衛(wèi)忠.試論IIS 中SQL 數(shù)據(jù)庫(kù)的安全性[J]. 計(jì)算機(jī)與現(xiàn)代化,2003(1):55-56.
[8]徐 虹,杜 斌. 使用ASP 和ADO 技術(shù)訪問(wèn)Web 數(shù)據(jù)庫(kù)[J].成都信息工程學(xué)院學(xué)報(bào),2001(4):263-268.
沈陽(yáng)工程學(xué)院學(xué)報(bào)(自然科學(xué)版)2013年2期