網(wǎng)絡(luò)招生錄取系統(tǒng)的設(shè)計
論文關(guān)鍵詞:全自動投檔 VFP數(shù)據(jù)庫 網(wǎng)絡(luò)數(shù)據(jù)庫 安全性 顯式加鎖
相關(guān)論文查閱:大學(xué)生論文、工商財務(wù)論文、經(jīng)濟論文、教育論文 熱門畢業(yè)論文
論文摘要:主要介紹了《網(wǎng)絡(luò)招生錄取系統(tǒng)》中全自動投檔的設(shè)計與實現(xiàn);以及使用VFF數(shù)據(jù)庫作為網(wǎng)絡(luò)數(shù)據(jù)庫的缺點和改進方法。
中招、高招的招生錄取工作已普遍采用計算機局域網(wǎng)或遠(yuǎn)程網(wǎng)進行,實現(xiàn)了考生信息電子化及全程錄取信息的計算機管理,顯著提高了錄取工作的效率。但現(xiàn)階段的投檔多是將以前的人工投檔模式改為通過人工操作計算機進行,沒有利用計算機快速、強大的數(shù)據(jù)分檢處理能力將投檔工作交由計算機全自動完成。2000年本人為黑龍江省招生辦開發(fā)了中招《網(wǎng)絡(luò)招生錄取系統(tǒng)》和《考務(wù)管理系統(tǒng)》,首次實現(xiàn)了招生錄取的網(wǎng)絡(luò)全自動投檔,使招生錄取更加公平、公正,并大大地提高了工作效率。
該系統(tǒng)的開發(fā),考慮到適用對等網(wǎng)絡(luò)、數(shù)據(jù)的上報及下傳(當(dāng)時的各地市招生辦均使用VFP或FOXPRO)、系統(tǒng)的梯度開發(fā)等因素采用了VFP數(shù)據(jù)庫。由于VFP數(shù)據(jù)庫是桌面型的關(guān)系數(shù)據(jù)庫,作為網(wǎng)絡(luò)數(shù)據(jù)庫使用存在保密性、安全性差,網(wǎng)絡(luò)數(shù)據(jù)流量大等缺點,系統(tǒng)在克服這些問題方面采用了諸多有效的方法,使得本系統(tǒng)的應(yīng)用獲得了明顯的成功,系統(tǒng)一直應(yīng)用至今。
1、提高數(shù)據(jù)庫安全性、保密性的手段
VFP數(shù)據(jù)庫的數(shù)據(jù)表是明碼的文件存儲方式,通過文件共享方式在網(wǎng)絡(luò)上使用,因此,其數(shù)據(jù)的安全性、保密性差。在系統(tǒng)中使用以下兩種手段配合來提高數(shù)據(jù)的安全性、保密性。
(1)在應(yīng)用系統(tǒng)中進行網(wǎng)絡(luò)鏈接,而不是在WINDOws啟動時進行網(wǎng)絡(luò)登錄鏈接,應(yīng)用系統(tǒng)退出時斷開網(wǎng)絡(luò)鏈接,這樣可以隱藏網(wǎng)絡(luò)鏈接。網(wǎng)絡(luò)鏈接通過調(diào)用WINDOws的API函數(shù)實現(xiàn),先用VFP的DECLARE命令聲明外部函數(shù),調(diào)用WNetAddC:onnection)實現(xiàn)添加鏈接,用Wnet-CancelConnection()斷開鏈接等,具體使用方法可參見微軟的MSDN幫助文檔。
(2)使應(yīng)用系統(tǒng)總在前臺運行。實現(xiàn)方法包設(shè)置_screen. windowstate = 2使應(yīng)用系統(tǒng)窗口最大化,自動充滿整個屏幕);一screen. AlwaysOn-Top= . t.(使應(yīng)用系統(tǒng)始終處在前臺運行);_screen. minbutton= . f.(使用戶無法最小化應(yīng)用系統(tǒng)窗口)等。這種用法本身與網(wǎng)絡(luò)無關(guān),但是配合前項一起使用,使得用戶在系統(tǒng)運行時,無法在前臺運行其它任務(wù),就無法在前臺查看網(wǎng)絡(luò)鏈接等,有效地隱蔽了網(wǎng)絡(luò)鏈接,能很好地保護服務(wù)器上的數(shù)據(jù)文件不被非法使用,比用其它方法簡單高效。再配合對各用戶分配不同的用戶名、密碼、操作權(quán)限(可動態(tài)設(shè)置并實時生效)、操作日志(重要操作的操作軌跡全程記錄)等,實現(xiàn)了對數(shù)據(jù)的有效保護,應(yīng)用效果很好。
2、提高數(shù)據(jù)一致性,降低數(shù)據(jù)冗余及減少網(wǎng)絡(luò)數(shù)據(jù)傳輸量等
(1)本系統(tǒng)的考生自然狀況、成績、志愿、錄取結(jié)果等全部信息放到一個考生數(shù)據(jù)表中,每個考生對應(yīng)一條記錄,各項盡量使用代碼字段。另有歷史記錄表,保存考生投檔、錄取的軌跡等。各類學(xué)校的信息表,分類保存學(xué)校的詳細(xì)招生計劃等有關(guān)信息。還有各種代碼對照表,用戶管理表,操作日志表等。將考生信息集中存放到一個表中能最大限度地保持?jǐn)?shù)據(jù)一致性,在考生數(shù)據(jù)表中增加一標(biāo)識字段,統(tǒng)一表示該考生的各種狀態(tài)(投檔狀態(tài)、錄取狀態(tài)、投檔后的退檔、錄取后的退檔、直接錄取、掛起狀態(tài)、死檔狀態(tài)等)。這樣考生的錄取處理很多情況下只需對此字段處理即可,數(shù)據(jù)處理量大大降低。
(2) VFP的數(shù)據(jù)操作都是在本地機器上進行的,一般不能以過程提交的方式在服務(wù)器端進行,再將結(jié)果返回。如果每次操作都從服務(wù)器取數(shù)據(jù)然后在本機進行,則網(wǎng)絡(luò)數(shù)據(jù)傳輸量太大,網(wǎng)絡(luò)將不堪重負(fù)。對于在用戶權(quán)限內(nèi)的投檔、錄取、退檔、檔案掛起、追加、修改、刪除等有關(guān)改變數(shù)據(jù)的操作采取了分兩步進行的方式,第一步在用戶機的臨時表中進行,第二步通過《提交》按鈕寫到服務(wù)器數(shù)據(jù)表中。分兩步進行使得只在提交時使用服務(wù)器上的數(shù)據(jù)庫,一方面大大降低了網(wǎng)絡(luò)數(shù)據(jù)流量,另一方面便于程序進行走向控制,可保留當(dāng)前的編輯操作等待新的提交等。在提交時,根據(jù)情況系統(tǒng)中采用文件加鎖函數(shù)flock()和記錄加鎖函數(shù)rlock()對服務(wù)器上的數(shù)據(jù)表進行顯式加鎖,來解決數(shù)據(jù)寫沖突的問題。這里采用顯式加鎖方式,不使用VFP的隱式加鎖機制,可確保一次數(shù)據(jù)編輯操作的提交為原語性操作(要么完成,要么全不做),提高數(shù)據(jù)的一致性。
本系統(tǒng)在考生記錄100,000條左右,主數(shù)據(jù)表40MB大小,同時有幾十個用戶,10M局域網(wǎng)中使用時,沒有出現(xiàn)網(wǎng)絡(luò)阻塞現(xiàn)象。
3、全自動投檔
全自動投檔(或錄取)指根據(jù)考生的志愿和各院校的招生計劃(可具體到專業(yè)的招生計劃),按具體的投檔原則(分?jǐn)?shù)等)進行排隊,以一定的比例投放考生檔案或直接錄取。確保按考生志愿公平投檔是其前提;對各種復(fù)雜的投檔原則的實現(xiàn)則是其中的難點;快速高效地實現(xiàn)并保存完整的投檔軌跡可查也是本系統(tǒng)實際應(yīng)用的具體要求。另外,還需支持分批次投檔,分段投檔,投檔原則可調(diào),個別院校的單獨投檔,能進行恢復(fù)等等。通過細(xì)致的調(diào)研分析,在確保對考生和招生院校公平的前提下,設(shè)計出了一個具有較強的適應(yīng)性的全自動投檔方法(原則)如下:
(1)同一批次(注:投檔一般按招生類別、院校類別、分?jǐn)?shù)區(qū)間等分成多個類別,依次分別進行,對應(yīng)多個批次)的志愿按志愿順序處理,在批次投檔分?jǐn)?shù)線上的考生的同一順序志愿,依據(jù)各院校的總投檔人數(shù)等依次判斷處理完才進人后一志愿的處理。前一志愿未全部判別處理完,后續(xù)志愿不能先處理,以確保對考生和院校的公平性。
(2)同一批次內(nèi)可以設(shè)置按投檔分?jǐn)?shù)等條件分段進行循環(huán)處理。同一段內(nèi)同一志愿處理完畢轉(zhuǎn)同一段內(nèi)下一志愿的處理,同一段內(nèi)指定的所有志愿均處理完畢再轉(zhuǎn)入低一段的處理,循環(huán)此過程,直至該批次投檔底線。引人分段處理方式的目的是:通過設(shè)置不同的分段數(shù)值,將志愿的優(yōu)先性和分?jǐn)?shù)的優(yōu)先性結(jié)合起來。分段區(qū)間取最大值,即該批次內(nèi)不再分段,則主要體現(xiàn)志愿順序優(yōu)先,同一順序志愿內(nèi)的才以分?jǐn)?shù)優(yōu)先;如分段區(qū)間取最小值1,則主要體現(xiàn)分?jǐn)?shù)優(yōu)先,同分時才志愿順序優(yōu)先;取其它值時采用分段優(yōu)先處理,同一段內(nèi)先以志愿順序優(yōu)先,同一志愿順序再以分?jǐn)?shù)優(yōu)先。
(3)對于同一段內(nèi)、同一順序志愿、志愿為同一院校(或?qū)I(yè))并且投檔條件完全相同的考生,一律進行平等地投檔處理(可能超出某院校的應(yīng)投檔人數(shù))。
(4)投檔比例不大于1為宜,盡量避免退檔現(xiàn)象。
(5)一個批次可再分成多個小批次獨立進行投檔(不同于一個批次內(nèi)的分段循環(huán)處理)。通過逐次降低投檔底線分多批次投檔,高于該批次未能投檔的考生可輔以人工投檔等方式在下一小批次之前處理,盡量避免高分者落榜。
為了提高全自動投檔的速度,使用速度很快的SELECT SQL語句在主數(shù)據(jù)表中選取滿足條件的考生記錄至臨時表中;采用由需投檔院校管理表的記錄控制外層循環(huán),一個院校在某志愿處理完,再進行下一個院校在該志愿的處理(由于是同一順序志愿的處理,沒有交集,不影響公平性),減少了記錄指針定位次數(shù),有效地縮短了處理時間;在進入內(nèi)循環(huán)時過濾考生記錄,并使考生記錄按某志愿為該院校的按投檔條件是邏輯連續(xù)的(使用索引或排序手段。對于有些院;?qū)I(yè)的投檔排序條件需單獨設(shè)置的,符合前述投檔原則的可在其計劃管理表中進行設(shè)置,在排序中引用),使用指針下移一條記錄的方法依次處理記錄,大大加快了指針移動速度。具體實現(xiàn)時還可以根據(jù)所采用的數(shù)據(jù)庫的特點進行優(yōu)化。實驗表明對全省近十萬考生、約200所投檔院校的一次全自動投檔,在奔騰級微機(2000年)兩分鐘內(nèi)完成。通過院校投檔設(shè)置項的設(shè)置,全自動投檔可以用來對部分院校(或部分專業(yè))進行投檔,還可以僅使用一部分志愿進行投檔等。
對需要單獨投檔的特殊院校,系統(tǒng)提供單個院校的自動投檔功能,其中可以使用不同順序志愿降分排序投檔方法(全自動投檔不能采用此法.因為不宜越序先處理后續(xù)志愿,否則會造成違背考生志愿順序及各院校不平等的現(xiàn)象)。系統(tǒng)同時提供通過輸入組合條件來指定考生范圍的批量投檔功能,用來對單個院校進行補充投檔。
在各類招生錄取工作采用計算機全自動投檔方式將大大提高錄取效率,使招生錄取更加公平、合理,顯著地降低社會成本,同時能有效地增加志愿數(shù)量,降低考生報志愿的難度等。
相關(guān)論文查閱:大學(xué)生論文、工商財務(wù)論文、經(jīng)濟論文、教育論文 熱門畢業(yè)論文
【網(wǎng)絡(luò)招生錄取系統(tǒng)的設(shè)計】相關(guān)文章:
網(wǎng)絡(luò)招生信息融合系統(tǒng)設(shè)計03-29
基于Web 的網(wǎng)絡(luò)答疑系統(tǒng)設(shè)計開題報告11-21
汽車網(wǎng)絡(luò)營銷系統(tǒng)方案設(shè)計提綱12-05
計算機畢業(yè)設(shè)計開題報告(網(wǎng)絡(luò)在線測系統(tǒng))12-04
XML技術(shù)在網(wǎng)絡(luò)招生中的應(yīng)用03-29
網(wǎng)絡(luò)在線測試系統(tǒng)參考文獻12-07
- 相關(guān)推薦