劉洋 李偉
1.天津市大學軟件學院信息化部;2.天津市第二新華中學科信處
隨著義務教育免試入學政策在各地的逐步深入推進,如何公平合理的分配教育資源成為各級管理部門面對的重要課題。本文介紹了計算機志愿填報及隨機派位系統的分析、設計與實現過程,并對系統的安全性、可靠性和隨機算法的選擇做出闡述。
義務教育免試就近入學,是全面深化教育綜合改革的一項重大舉措,涉及千家萬戶,關系教育公平,社會關注度很高。2015年天津市率先推進“小升初”招生政策調整工作,并逐步推廣至“幼升小”和幼兒園入學,“就近”“免試”“隨機派位”成為了這一過程中的關鍵詞。通過采用計算機隨機派位方式,由計算機按照既定算法隨機從報名學生中抽取錄取名單,可以避免人為因素的干擾,達到“公平、公正、公開”的目的。
本文介紹了適用于不同招生類型和教育階段的招生派位系統分析與設計過程,詳細表述了系統的具體實現方式及所采用的主要技術路線。
1.1.1 報名流程
根據招生類型的不同,報名流程可分為家長基于互聯網自主填報和學校協助填報兩種方式。前者適合幼兒園或小學等無學籍學生入學報名,后者適合“小升初”等已有學籍學生。兩種方式的具體區別如表1所示:

表1 填報方式優缺點對比Tab.1 Comparison of advantages and disadvantages of reporting methods
1.1.2 派位流程
(1)數據匯總:教育管理部門對待派位學生進行資格審查,確定待派位學生數據。
(2)數據封存:在公證機關監督下,對派位數據和設備進行封存,確保數據不被篡改。
(3)隨機派位:在公證機關和教育管理部門監督下,工作人員現場宣讀派位規則,抽取隨機種子并輸入派位系統,啟動派位程序輸出派位結果。最后打印和導出數據,經公證處確認后上網公示。
根據流程可將系統劃分為報名和派位兩個子系統。報名子系統從網絡安全角度考慮可采用B/S和C/S 混合架構設計。派位子系統通常設計為單機版程序。
系統主要功能模塊介紹如下:
(1)學生管理模塊:完成待派位學生的基礎信息和志愿信息管理,以及錄取結果的查詢。根據招生類型的不同,記錄不同類型的學生(如幼兒園幼兒、中小學生等)基礎信息、志愿信息和錄取結果,并提供數據的查詢、增加、修改、刪除操作。如果待派位學生已存在學籍信息,支持從學籍庫中導入學生基礎信息。
(2)學校管理模塊:維護參加派位工作的學校基礎信息,主要包括學校名稱、代碼、所屬片區和具體招生計劃。
(3)統計分析模塊:對過程中產生的數據進行統計分析。包括志愿填報情況統計、學校錄取結果統計、錄取學生分數段統計、未錄取學生分數段統計等。
(4)用戶注冊和志愿填報模塊:支持用戶通過手機號或郵箱注冊賬號,填報待派位學生基礎信息和志愿信息并完成必要的人員信息真實性驗證。
(5)系統設置模塊:設置系統運行的初始化數據和約束條件,如系統開放時間、登錄提示信息和角色權限管理等。
(6)派位模塊:支持待派位數據和招生計劃導入。完成待派位數據導入后,輸入隨機種子并啟動派位過程。結束后可查詢并打印派位結果,同時支持結果導出。
系統內置系統管理員、安全管理員和安全審計員角色,嚴格管理存在具有最高權限的超級管理員;用戶在系統中的具體權限由安全管理員授予;對招生系統的網絡安全,數據庫安全和抗攻擊的健壯性進行針對性設計;記錄關鍵操作日志。
此外在運維方面確立運維單位、教育管理機構和公證處“三方分管”式的人員權限,明確劃分參與方職責。將系統管理權劃分給系統管理維護團隊、安全管理團隊和安全審計團隊,分別由運維單位、教育管理機構和公證處指派專人承擔。
可用性提倡以用戶為中心進行軟件的設計,是評估產品實際使用過程中的可用程度標準,包括了產品使用過程中的效率和相應的用戶體驗[1]。針對本系統用戶主要是非計算機專業操作人員,需要在設計階段考慮終端界面能夠簡單有效地進行操作,在無需培訓的情況下確保用戶能在特定的場景內準確高效的完成指定任務。
根據招生派位工作的具體流程和各模塊的設計,系統實現為報名和派位兩個子系統。
子系統建立獨立的數據庫,子系統之間以及與外部系統(如學籍庫)之間通過離線數據進行交互。
報名子系統通常為B/S架構,數據庫選用關系型數據庫,主要用來保存用戶的基礎數據和填報的志愿信息。
派位子系統為單機版程序,無需聯網運行。考慮到需要存儲的數據量一般在10000條以內,數據庫可選用關系型數據庫或更簡單的桌面版數據庫。安裝后數據庫無任何數據,需在現場導入招生計劃和待派位學生數據。
報名過程可分為用戶注冊、填報志愿和錄取結果查詢幾個階段。為方便用戶注冊及填報信息,報名系統一般部署于互聯網,通過公有云提供相應服務。
在實際運行過程中,由于用戶傾向于在首次開放時登錄,從而導致初始階段服務器和網絡的負載壓力巨大。對此在實際部署時使用基于彈性計算的云服務器根據業務需求和策略自動調整計算資源。啟用負載均衡機制通過流量分發來提升對外服務能力,消除單點故障來提升可用性。數據庫方面通過使用在線數據庫實現穩定可靠和彈性伸縮的服務,并提供自動化的容災備份能力。
舉例來說,某計算機派位報名階段實際參與學生約5000人,系統報名開啟后,因用戶同時登錄系統進行注冊填報并反復進行頁面刷新,導致開始階段系統CPU占用率一直在50%左右,網絡流入帶寬100Mbps,數據包數超過每秒10000個,新建連接數最高每秒240個。在此階段系統云服務器由預設的5臺自動擴展至15臺,網絡帶寬擴展至200Mbps,有效的支撐了本次報名。
派位子系統的核心功能為秉承隨機性原則,將填報志愿的學生隨機分配到滿足招生條件的學校中,主要流程可概括為導入待派位數據、執行派位和導出結果。
系統啟動后先導由報名子系統加密并導出離線數據,一般選擇學生身份證號碼或學籍號為索引。之后執行派位,首先讀取待派位學生數據,以當前系統時間為隨機種子,對讀取出的學生數據進行一次隨機排序,確保每次系統啟動后待派位數據項順序不同。之后根據操作人員輸入的隨機種子對該庫進行隨機錄取派位。
為確保計算機隨機派位得到正確結果,需要認清總體的實質,讓樣本盡量具有隨機性,減少樣本偏移。
(1)確定目標總體:目標總體指的是待派位學生的集合,實際情況中數量通常小于一萬條。
(2)確定抽樣單位:要抽取的對象類型為單個待派位學生。這些抽樣單位具有完全獨立,彼此間無一定的關聯性和排斥性[2]。
(3)確定抽樣空間:列出目標總體范圍內的所有抽樣單位,給每個抽樣單位編號,這張表就被稱為抽樣空間。這里的抽樣空間即指數據庫中以關鍵字為索引的待派位學生表。
在計算機派位中通常使用的算法是“等距隨機抽樣算法”,該算法將總體各單位按一定標志或次序排列成為一個列表,然后按相等的距離或間隔抽取樣本單位,具有原理簡單,易于實現,且結果也可通過手工驗證正確性等特點[3]。但在實際應用中,當抽樣空間和抽取樣本數量固定時,該算法完全依靠隨機產生的起點和間隔數來決定錄取人員,在特殊的情況下并不能完全保證所有的學生都具有相同機會。
通過確認目標總體和抽樣單位的特點,對比“等距隨機抽樣算法”,本系統選擇“簡單隨機抽樣算法”作為計算機派位的算法,從總體中不加任何分組、劃類、排隊等,完全隨機地抽取調查單位[2]。該算法在實際應用一般應用于樣本數量較少的情況,其原因是大規模的樣本編號存在困難,但在本系統中不存在此問題。此外對于派位結果相對于“等距隨機抽樣算法”難以回溯的問題,可通過加強線下環節監督管理來解決。
隨機性驗證通常使用概率統計的方法考察被檢測序列是否滿足隨機序列的某些特征以判定其是否隨機,驗證程序可使用P-Value法衡量序列的隨機性,首先根據隨機種子生成多個隨機數序列,每一數列包含若干個隨機生成數,之后依次對每一個序列進行驗證。
對程序的性能進行考察主要是分析算法的時間復雜度和空間復雜度,以考察算法的時間和空間效率。一般情況下鑒于運算空間較為充足,故將算法的時間復雜度作為分析的重點[4]。
采用簡單隨機抽樣算法作為隨機數生成器后,可設待派位學生總數為n(通常情況下小于10000), 志愿數量為m(通常情況下小于10),參與派位的學校數量為s(通常小于100)。
空間復雜度方面,派位程序在啟動時讀取所有待派位學生數據到內存中,該數據數量即為n。之后根據學校數量s和志愿數量m的組合對此數據表進行篩選查詢,過程中產生的臨時數據均是此數據集合的子集,因此可以確定算法的空間復雜度為O(N)。
對于時間復雜度來說,程序進行初始化和輸出結果時所需的時間與待派位學生數據量n呈線性關系,記為O(n)。執行派位時,需首先依次循環志愿數量,之后在每個志愿內循環所有學校,并在每個學校的待派位學生中根據隨機算法抽取若干個隨機編號(數量不大于n),根據參考文檔該隨機算法時間復雜度為O(1),因此執行派位的時間復雜度為O(m)*O(s)。綜上可以得到派位程序的總體時間復雜度為平方級別O(N2),但由于實際過程中m和s的取值都是有限變量,因此總體執行時間是可估算可控制的。
本文實現的計算機派位系統能夠根據不同類型的招生政策進行規則調整,在可擴展的同時保障隨機派位功能的穩定性,確保招生派位工作的順利開展。
通過實行全流程監督下的計算機網上招生和隨機派位,能夠體現義務教育階段的均衡性和公平性原則,實現不同類型生源的合理分配,將之前對應試成績的單方面競爭轉化為對學校綜合管理能力和教育質量的競爭,有利于調動各類型學校辦學的積極性,提高義務教育階段不同層次學校的整體水平,深化教育內涵,為全面推進素質教育創造更加有利的條件。
引用
[1] 陳玲.MOOC平臺學習分析與評價的可用性研究[D].杭州:浙江師范大學,2019.
[2]國家統計局.簡單隨機抽樣[DB/OL].[2003-08-07].http://www.stats.gov.cn/tjzs/tjcd/200308/t20030807_25331.html.
[3] 方群.等距隨機抽樣算法在招生電腦派位中的應用[J].安徽師范大學學報(自然科學報),2002(03):224-228.
[4] 嚴蔚敏,吳偉民.數據結構[M].北京:清華大學出版社,2007.