刘洋 李伟
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.