德州職業技術學院 楊 洋
本文通過對Apache技術架構和優勢的介紹,詳細分析了Apache學生工作管理系統的設計和應用,以期能夠利用Apache開發管理系統充分滿足學生管理需要,提高管理效率和質量。
Apache技術架構主要包括應用代碼、主題、安全經理以及領域四個部分構成。其中,SubJect作為最基礎的部分,是指登錄對象,即學生管理主體;Realm作為信息溝通部分,可滿足Apache和數據源的信息接收。SecurityManager負責對用戶權限的管理,Apache技術權限管理通過DAO數據庫進行,實現登錄驗證和授權認證兩部分功能。接收到用戶請求后,針對性調取數據源,若難以滿足用戶需要,可利用自定義數據源方式來處理數據。管理人員通過配置文件或者信號進行服務器的控制,文件可以分為端腳本、文檔或者.htaccess文件等。在Apache內部主要存在主服務進程、子服務進程以及通信進程三部分結構。通信服務作為系統的重要部分,負責訪問和連接端口,可同時進行接收請求和喚醒請求的進程。主服務進程負責子進程的創建和控制,并響應主要服務進程,讀取配置文件,并給子進程拷貝。子進程是對Http請求的響應,執行應答循環。主進程務必保證子進程處于等待連接狀態,掌握每個子進程狀態,方便主進程進行查詢。
考慮到學生工作管理的特殊性,用戶需求呈現出多元化特點,系統后臺需要對用戶請求進行統一處理,使用Struts框架能夠統一處理URL請求,并封裝數據。服務器發出請求后,調取request數據,轉換數據類型,程序員將工作重心轉為業務邏輯,提高運行效率,減少bug的出現。以Spring框架為基礎,基于doService完成上層調取,在下層處理中由用戶操作。使用iBatis框架,充分發揮其便于控制的優勢,面向SQL可操作度高,數據訪問層設計基于Spring框架實現。
學生工作管理系統涉及范圍較廣,覆蓋于學生入學至畢業全周期,在功能設計上要盡量滿足校園管理的需要,輔助學生工作的開展。如圖1所示,其主要功能如下:(1)系統設置。系統管理人員對系統進行維護和設計,修改系統內容等;(2)數據管理。系統管理人員對學生工作相關數據進行管理,數據包括教學工作、學生寢室、學校管理等工作;(3)信息發布。面向全體師生公開信息,保證政策文件、放假通知等信息通知;(4)檔案管理。以歷史數據和歷史記錄為主,進行數據歸檔管理;(5)班級管理。主要圍繞班級集體展開,對班級成員、處分、活動記錄等數據進行管理;(6)班主任管理。班主任工作評比、考勤情況;(7)學生管理。覆蓋學生從入學至畢業的完整數據記錄,包括學生學習成績、選課情況、獎學金情況、處分情況等,一旦出現數據變更也會實時更新在系統上;(8)公寓管理。主要對住校生生活信息進行管理,包括衛生檢查情況、處分情況、分寢記錄等;(9)考試管理。主要記錄學生考試信息、考試成績、掛科情況、補考情況等;(10)助學貸款管理。學校給經濟困難的學生提供勤工儉學的機會,根據崗位情況、人員安排、工作時間、薪酬待遇進行管理。

圖1 系統功能設計
為保證系統穩定運行,設計多個類型的接口服務于系統數據的應用。對系統修改、查詢等簡單操作,主要利用SQL語句實現,數據經過傳輸至本地模塊,在數據組作用下反饋至Javascript層,由此完成回調操作。數據處理接口涉及功能豐富,包括delete、seek等接口形式,數據處理語句可以到達本地層,并響應對應的執行操作。文件接口和上述原理一致,以參數形態傳輸函數,在本地模塊中做出對應的刪除或者讀寫,經過處理后借助于Json數組回傳,Javascript層會得到對應的參數。讀取文件主要利用arrayparam eter參數得到,在參數作用下可以讀取文件信息進行處理。使用callbackcontext參數可以解讀文件,向Jauascript層反饋。寫入文件、刪除文件和上述流程一致,寫入成功或失敗均反饋狀態信息。系統在運行過程中,在服務器發出信息后通知客戶端。在推送消息時,借助于推送接口方便操作,拓展模塊會調取服務組件,借助于指定通道完成消息的傳輸。
系統用戶主要通過瀏覽器登錄系統,輸入網址后打開網站頁面,用戶輸入賬號密碼后,系統對用戶賬號和密碼匹配性進行驗證,通過驗證的可進入系統訪問。未通過驗證的,被禁止瀏覽系統,禁止進行下一步操作。登錄界面是對訪問權限的篩查步驟,快速進行身份驗證。用戶登錄主要利用DbMySQL類,為了改善服務器負載,首先客戶端驗證用戶賬號和密碼,不符合提出提醒和限制。
根據用戶類型進入不同頁面,左側為系統導航目錄。如教師登錄系統后,目錄主要為學生基礎信息、課程表、成績管理、教學工作等內容,教師有查詢、寫入、修改和刪除的權限,可以根據教師的需要進行數據的修改。教師點擊教學管理板塊后,會提示課程科目,教師選擇對應的科目,進入課程。可查詢或寫入學生考勤情況、學生評價、作業上傳、教學資料上傳等內容,查閱學生交作業的情況。如學生登錄系統后,可根據自身需要查詢自己的個人信息、課程表、考試成績等內容,但不能對上述內容進行修改或寫入。學生可以在網絡系統中完成作業,并修改下載學習資料。家長也可進入系統訪問對應的板塊,包括意見箱、評價管理、班費學費收繳情況、學生考勤、學生成績等內容。家長只擁有寫入、修改、刪除意見箱的權限,不能對學生信息進行修改,只能瀏覽網頁內容。系統管理人員登錄系統后,可添加、編輯以及刪除用戶,對于學生管理等板塊沒有權限。
系統設計監控模塊負責對負載情況、性能、服務狀態進行監控,系統可自行發現故障問題,給系統管理人員發出警報信息,便于系統管理人員及時處理。監控板塊通過記錄Apache客戶端請求結構數據項,包括數據請求量、請求類型以及IP地址等,當一定時間內訪客數量大幅增加,資源利用率顯著增加時,監控模塊能夠相應記錄,并生成具備時間戳的數據文件,可以對監控數據展開整理。對系統性能監控作為控制主要輸入部分,負責采集和儲存硬件設備性能。通過proc文件獲得系統內存、交換區和處理器信息,根據負載監控數據計算吞吐量,根據吞吐量和設備利用率計算設備服務需求,確定服務時間。如CPU設備服務需求是利用率和吞吐量的比值。通過對性能的監控掌握系統負載情況,當系統處于超載狀態中,對控制模塊發出到達請求。對于服務狀態的監控,主要對Apache進程運行狀態進行監控,一是監控服務進程運行與否,二是模擬客戶端的請求,判斷請求是否得到處理。通過對客戶端請求進行監控,一旦發現主服務進程發生崩潰就停止運行,立即重啟Apache進程,可以保證服務得到有效應用。
系統運行主要受到工作負載的影響,如查詢成績、選課階段,大批量學生登錄賬戶訪問系統,嚴重影響系統運行狀態。因此,在配置參數上通過可控制和非可控制的配置參數設計,適應計算環境改變對于系統的影響。非可控制配置參數無法被動態化修改,參數對于系統性能造成的影響較小,經過修改后需要重啟系統才能發揮作用。可控制配置參數可以被動態化修改,對于參數修改不需要重啟程序,參數修改可以保證系統適應負載的變化,改進系統的性能。Apache系統控制算法可以對可控制配置參數進行調節,控制算法可以找到配置參數進行參數優化。在一定控制周期內對系統工作狀態進行檢測,如果服務發生故障,對服務進程重新啟動。為滿足當前負載要求,控制算法發出重新配置指令,達到期望服務狀態。
結論:在高校學生工作管理中,引入Apache技術進行管理系統的開發,以師生為主要服務對象,設置響應的權限標準,保證師生可以登錄系統查詢和使用信息系統,滿足其訪問需要。系統能夠自如應對超負載狀態,在訪問量激增狀態下仍可保證穩定運行,響應用戶的訪問請求。