德州職業(yè)技術學院 楊 洋
本文通過對Apache技術架構(gòu)和優(yōu)勢的介紹,詳細分析了Apache學生工作管理系統(tǒng)的設計和應用,以期能夠利用Apache開發(fā)管理系統(tǒng)充分滿足學生管理需要,提高管理效率和質(zhì)量。
Apache技術架構(gòu)主要包括應用代碼、主題、安全經(jīng)理以及領域四個部分構(gòu)成。其中,SubJect作為最基礎的部分,是指登錄對象,即學生管理主體;Realm作為信息溝通部分,可滿足Apache和數(shù)據(jù)源的信息接收。SecurityManager負責對用戶權限的管理,Apache技術權限管理通過DAO數(shù)據(jù)庫進行,實現(xiàn)登錄驗證和授權認證兩部分功能。接收到用戶請求后,針對性調(diào)取數(shù)據(jù)源,若難以滿足用戶需要,可利用自定義數(shù)據(jù)源方式來處理數(shù)據(jù)。管理人員通過配置文件或者信號進行服務器的控制,文件可以分為端腳本、文檔或者.htaccess文件等。在Apache內(nèi)部主要存在主服務進程、子服務進程以及通信進程三部分結(jié)構(gòu)。通信服務作為系統(tǒng)的重要部分,負責訪問和連接端口,可同時進行接收請求和喚醒請求的進程。主服務進程負責子進程的創(chuàng)建和控制,并響應主要服務進程,讀取配置文件,并給子進程拷貝。子進程是對Http請求的響應,執(zhí)行應答循環(huán)。主進程務必保證子進程處于等待連接狀態(tài),掌握每個子進程狀態(tài),方便主進程進行查詢。
考慮到學生工作管理的特殊性,用戶需求呈現(xiàn)出多元化特點,系統(tǒng)后臺需要對用戶請求進行統(tǒng)一處理,使用Struts框架能夠統(tǒng)一處理URL請求,并封裝數(shù)據(jù)。服務器發(fā)出請求后,調(diào)取request數(shù)據(jù),轉(zhuǎn)換數(shù)據(jù)類型,程序員將工作重心轉(zhuǎn)為業(yè)務邏輯,提高運行效率,減少bug的出現(xiàn)。以Spring框架為基礎,基于doService完成上層調(diào)取,在下層處理中由用戶操作。使用iBatis框架,充分發(fā)揮其便于控制的優(yōu)勢,面向SQL可操作度高,數(shù)據(jù)訪問層設計基于Spring框架實現(xiàn)。
學生工作管理系統(tǒng)涉及范圍較廣,覆蓋于學生入學至畢業(yè)全周期,在功能設計上要盡量滿足校園管理的需要,輔助學生工作的開展。如圖1所示,其主要功能如下:(1)系統(tǒng)設置。系統(tǒng)管理人員對系統(tǒng)進行維護和設計,修改系統(tǒng)內(nèi)容等;(2)數(shù)據(jù)管理。系統(tǒng)管理人員對學生工作相關數(shù)據(jù)進行管理,數(shù)據(jù)包括教學工作、學生寢室、學校管理等工作;(3)信息發(fā)布。面向全體師生公開信息,保證政策文件、放假通知等信息通知;(4)檔案管理。以歷史數(shù)據(jù)和歷史記錄為主,進行數(shù)據(jù)歸檔管理;(5)班級管理。主要圍繞班級集體展開,對班級成員、處分、活動記錄等數(shù)據(jù)進行管理;(6)班主任管理。班主任工作評比、考勤情況;(7)學生管理。覆蓋學生從入學至畢業(yè)的完整數(shù)據(jù)記錄,包括學生學習成績、選課情況、獎學金情況、處分情況等,一旦出現(xiàn)數(shù)據(jù)變更也會實時更新在系統(tǒng)上;(8)公寓管理。主要對住校生生活信息進行管理,包括衛(wèi)生檢查情況、處分情況、分寢記錄等;(9)考試管理。主要記錄學生考試信息、考試成績、掛科情況、補考情況等;(10)助學貸款管理。學校給經(jīng)濟困難的學生提供勤工儉學的機會,根據(jù)崗位情況、人員安排、工作時間、薪酬待遇進行管理。
圖1 系統(tǒng)功能設計
為保證系統(tǒng)穩(wěn)定運行,設計多個類型的接口服務于系統(tǒng)數(shù)據(jù)的應用。對系統(tǒng)修改、查詢等簡單操作,主要利用SQL語句實現(xiàn),數(shù)據(jù)經(jīng)過傳輸至本地模塊,在數(shù)據(jù)組作用下反饋至Javascript層,由此完成回調(diào)操作。數(shù)據(jù)處理接口涉及功能豐富,包括delete、seek等接口形式,數(shù)據(jù)處理語句可以到達本地層,并響應對應的執(zhí)行操作。文件接口和上述原理一致,以參數(shù)形態(tài)傳輸函數(shù),在本地模塊中做出對應的刪除或者讀寫,經(jīng)過處理后借助于Json數(shù)組回傳,Javascript層會得到對應的參數(shù)。讀取文件主要利用arrayparam eter參數(shù)得到,在參數(shù)作用下可以讀取文件信息進行處理。使用callbackcontext參數(shù)可以解讀文件,向Jauascript層反饋。寫入文件、刪除文件和上述流程一致,寫入成功或失敗均反饋狀態(tài)信息。系統(tǒng)在運行過程中,在服務器發(fā)出信息后通知客戶端。在推送消息時,借助于推送接口方便操作,拓展模塊會調(diào)取服務組件,借助于指定通道完成消息的傳輸。
系統(tǒng)用戶主要通過瀏覽器登錄系統(tǒng),輸入網(wǎng)址后打開網(wǎng)站頁面,用戶輸入賬號密碼后,系統(tǒng)對用戶賬號和密碼匹配性進行驗證,通過驗證的可進入系統(tǒng)訪問。未通過驗證的,被禁止瀏覽系統(tǒng),禁止進行下一步操作。登錄界面是對訪問權限的篩查步驟,快速進行身份驗證。用戶登錄主要利用DbMySQL類,為了改善服務器負載,首先客戶端驗證用戶賬號和密碼,不符合提出提醒和限制。
根據(jù)用戶類型進入不同頁面,左側(cè)為系統(tǒng)導航目錄。如教師登錄系統(tǒng)后,目錄主要為學生基礎信息、課程表、成績管理、教學工作等內(nèi)容,教師有查詢、寫入、修改和刪除的權限,可以根據(jù)教師的需要進行數(shù)據(jù)的修改。教師點擊教學管理板塊后,會提示課程科目,教師選擇對應的科目,進入課程??刹樵兓?qū)懭雽W生考勤情況、學生評價、作業(yè)上傳、教學資料上傳等內(nèi)容,查閱學生交作業(yè)的情況。如學生登錄系統(tǒng)后,可根據(jù)自身需要查詢自己的個人信息、課程表、考試成績等內(nèi)容,但不能對上述內(nèi)容進行修改或?qū)懭?。學生可以在網(wǎng)絡系統(tǒng)中完成作業(yè),并修改下載學習資料。家長也可進入系統(tǒng)訪問對應的板塊,包括意見箱、評價管理、班費學費收繳情況、學生考勤、學生成績等內(nèi)容。家長只擁有寫入、修改、刪除意見箱的權限,不能對學生信息進行修改,只能瀏覽網(wǎng)頁內(nèi)容。系統(tǒng)管理人員登錄系統(tǒng)后,可添加、編輯以及刪除用戶,對于學生管理等板塊沒有權限。
系統(tǒng)設計監(jiān)控模塊負責對負載情況、性能、服務狀態(tài)進行監(jiān)控,系統(tǒng)可自行發(fā)現(xiàn)故障問題,給系統(tǒng)管理人員發(fā)出警報信息,便于系統(tǒng)管理人員及時處理。監(jiān)控板塊通過記錄Apache客戶端請求結(jié)構(gòu)數(shù)據(jù)項,包括數(shù)據(jù)請求量、請求類型以及IP地址等,當一定時間內(nèi)訪客數(shù)量大幅增加,資源利用率顯著增加時,監(jiān)控模塊能夠相應記錄,并生成具備時間戳的數(shù)據(jù)文件,可以對監(jiān)控數(shù)據(jù)展開整理。對系統(tǒng)性能監(jiān)控作為控制主要輸入部分,負責采集和儲存硬件設備性能。通過proc文件獲得系統(tǒng)內(nèi)存、交換區(qū)和處理器信息,根據(jù)負載監(jiān)控數(shù)據(jù)計算吞吐量,根據(jù)吞吐量和設備利用率計算設備服務需求,確定服務時間。如CPU設備服務需求是利用率和吞吐量的比值。通過對性能的監(jiān)控掌握系統(tǒng)負載情況,當系統(tǒng)處于超載狀態(tài)中,對控制模塊發(fā)出到達請求。對于服務狀態(tài)的監(jiān)控,主要對Apache進程運行狀態(tài)進行監(jiān)控,一是監(jiān)控服務進程運行與否,二是模擬客戶端的請求,判斷請求是否得到處理。通過對客戶端請求進行監(jiān)控,一旦發(fā)現(xiàn)主服務進程發(fā)生崩潰就停止運行,立即重啟Apache進程,可以保證服務得到有效應用。
系統(tǒng)運行主要受到工作負載的影響,如查詢成績、選課階段,大批量學生登錄賬戶訪問系統(tǒng),嚴重影響系統(tǒng)運行狀態(tài)。因此,在配置參數(shù)上通過可控制和非可控制的配置參數(shù)設計,適應計算環(huán)境改變對于系統(tǒng)的影響。非可控制配置參數(shù)無法被動態(tài)化修改,參數(shù)對于系統(tǒng)性能造成的影響較小,經(jīng)過修改后需要重啟系統(tǒng)才能發(fā)揮作用??煽刂婆渲脜?shù)可以被動態(tài)化修改,對于參數(shù)修改不需要重啟程序,參數(shù)修改可以保證系統(tǒng)適應負載的變化,改進系統(tǒng)的性能。Apache系統(tǒng)控制算法可以對可控制配置參數(shù)進行調(diào)節(jié),控制算法可以找到配置參數(shù)進行參數(shù)優(yōu)化。在一定控制周期內(nèi)對系統(tǒng)工作狀態(tài)進行檢測,如果服務發(fā)生故障,對服務進程重新啟動。為滿足當前負載要求,控制算法發(fā)出重新配置指令,達到期望服務狀態(tài)。
結(jié)論:在高校學生工作管理中,引入Apache技術進行管理系統(tǒng)的開發(fā),以師生為主要服務對象,設置響應的權限標準,保證師生可以登錄系統(tǒng)查詢和使用信息系統(tǒng),滿足其訪問需要。系統(tǒng)能夠自如應對超負載狀態(tài),在訪問量激增狀態(tài)下仍可保證穩(wěn)定運行,響應用戶的訪問請求。