浅析网络招生录取系统的设计与实现

论文类别: 计算机论文 > 计算机应用论文
论文作者: 张明亮 张宗杰
上传时间:2011/4/1 14:16:00
  论文关键词:全自动投档 VFP数据库 网络数据库 安全性 显式加锁
  论文摘要:主要介绍了《网络招生录取系统》中全自动投档的设计与实现;以及使用VFF数据库作为网络数据库的缺点和改进方法。
  中招、高招的招生录取工作已普遍采用计算机局域网或远程网进行,实现了考生信息电子化及全程录取信息的计算机管理,显著提高了录取工作的效率。但现阶段的投档多是将以前的人工投档模式改为通过人工操作计算机进行,没有利用计算机快速、强大的数据分检处理能力将投档工作交由计算机全自动完成。2000年本人为黑龙江省招生办开发了中招《网络招生录取系统》和《考务管理系统》,首次实现了招生录取的网络全自动投档,使招生录取更加公平、公正,并大大地提高了工作效率。
  该系统的开发,考虑到适用对等网络、数据的上报及下传(当时的各地市招生办均使用VFP或FOXPRO)、系统的梯度开发等因素采用了VFP数据库。由于VFP数据库是桌面型的关系数据库,作为网络数据库使用存在保密性、安全性差,网络数据流量大等缺点,系统在克服这些问题方面采用了诸多有效的方法,使得本系统的应用获得了明显的成功,系统一直应用至今。
  1、提高数据库安全性、保密性的手段
  VFP数据库的数据表是明码的文件存储方式,通过文件共享方式在网络上使用,因此,其数据的安全性、保密性差。在系统中使用以下两种手段配合来提高数据的安全性、保密性。
  (1)在应用系统中进行网络链接,而不是在WINDOws启动时进行网络登录链接,应用系统退出时断开网络链接,这样可以隐藏网络链接。网络链接通过调用WINDOws的API函数实现,先用VFP的DECLARE命令声明外部函数,调用WNetAddC:onnection)实现添加链接,用Wnet-CancelConnection()断开链接等,具体使用方法可参见微软的MSDN帮助文档。
  (2)使应用系统总在前台运行。实现方法包设置_screen. windowstate = 2使应用系统窗口最大化,自动充满整个屏幕);一screen. AlwaysOn-Top= . t.(使应用系统始终处在前台运行);_screen. minbutton= . f.(使用户无法最小化应用系统窗口)等。这种用法本身与网络无关,但是配合前项一起使用,使得用户在系统运行时,无法在前台运行其它任务,就无法在前台查看网络链接等,有效地隐蔽了网络链接,能很好地保护服务器上的数据文件不被非法使用,比用其它方法简单高效。再配合对各用户分配不同的用户名、密码、操作权限(可动态设置并实时生效)、操作日志(重要操作的操作轨迹全程记录)等,实现了对数据的有效保护,应用效果很好。
  2、提高数据一致性,降低数据冗余及减少网络数据传输量等
  (1)本系统的考生自然状况、成绩、志愿、录取结果等全部信息放到一个考生数据表中,每个考生对应一条记录,各项尽量使用代码字段。另有历史记录表,保存考生投档、录取的轨迹等。各类学校的信息表,分类保存学校的详细招生计划等有关信息。还有各种代码对照表,用户管理表,操作日志表等。将考生信息集中存放到一个表中能最大限度地保持数据一致性,在考生数据表中增加一标识字段,统一表示该考生的各种状态(投档状态、录取状态、投档后的退档、录取后的退档、直接录取、挂起状态、死档状态等)。这样考生的录取处理很多情况下只需对此字段处理即可,数据处理量大大降低。
  (2) VFP的数据操作都是在本地机器上进行的,一般不能以过程提交的方式在服务器端进行,再将结果返回。如果每次操作都从服务器取数据然后在本机进行,则网络数据传输量太大,网络将不堪重负。对于在用户权限内的投档、录取、退档、档案挂起、追加、修改、删除等有关改变数据的操作采取了分两步进行的方式,第一步在用户机的临时表中进行,第二步通过《提交》按钮写到服务器数据表中。分两步进行使得只在提交时使用服务器上的数据库,一方面大大降低了网络数据流量,另一方面便于程序进行走向控制,可保留当前的编辑操作等待新的提交等。在提交时,根据情况系统中采用文件加锁函数flock()和记录加锁函数rlock()对服务器上的数据表进行显式加锁,来解决数据写冲突的问题。这里采用显式加锁方式,不使用VFP的隐式加锁机制,可确保一次数据编辑操作的提交为原语性操作(要么完成,要么全不做),提高数据的一致性。
  本系统在考生记录100,000条左右,主数据表40MB大小,同时有几十个用户,10M局域网中使用时,没有出现网络阻塞现象。
  3、全自动投档
  全自动投档(或录取)指根据考生的志愿和各院校的招生计划(可具体到专业的招生计划),按具体的投档原则(分数等)进行排队,以一定的比例投放考生档案或直接录取。确保按考生志愿公平投档是其前提;对各种复杂的投档原则的实现则是其中的难点;快速高效地实现并保存完整的投档轨迹可查也是本系统实际应用的具体要求。另外,还需支持分批次投档,分段投档,投档原则可调,个别院校的单独投档,能进行恢复等等。通过细致的调研分析,在确保对考生和招生院校公平的前提下,设计出了一个具有较强的适应性的全自动投档方法(原则)如下:
  (1)同一批次(注:投档一般按招生类别、院校类别、分数区间等分成多个类别,依次分别进行,对应多个批次)的志愿按志愿顺序处理,在批次投档分数线上的考生的同一顺序志愿,依据各院校的总投档人数等依次判断处理完才进人后一志愿的处理。前一志愿未全部判别处理完,后续志愿不能先处理,以确保对考生和院校的公平性。
  (2)同一批次内可以设置按投档分数等条件分段进行循环处理。同一段内同一志愿处理完毕转同一段内下一志愿的处理,同一段内指定的所有志愿均处理完毕再转入低一段的处理,循环此过程,直至该批次投档底线。引人分段处理方式的目的是:通过设置不同的分段数值,将志愿的优先性和分数的优先性结合起来。分段区间取最大值,即该批次内不再分段,则主要体现志愿顺序优先,同一顺序志愿内的才以分数优先;如分段区间取最小值1,则主要体现分数优先,同分时才志愿顺序优先;取其它值时采用分段优先处理,同一段内先以志愿顺序优先,同一志愿顺序再以分数优先。
  (3)对于同一段内、同一顺序志愿、志愿为同一院校(或专业)并且投档条件完全相同的考生,一律进行平等地投档处理(可能超出某院校的应投档人数)。
  (4)投档比例不大于1为宜,尽量避免退档现象。 免费论文下载中心 http://www.hi138.com   (5)一个批次可再分成多个小批次独立进行投档(不同于一个批次内的分段循环处理)。通过逐次降低投档底线分多批次投档,高于该批次未能投档的考生可辅以人工投档等方式在下一小批次之前处理,尽量避免高分者落榜。
  图1为按该投档原则实现的算法粗框图。
浅析网络招生录取系统的设计与实现
  为了提高全自动投档的速度,使用速度很快的SELECT SQL语句在主数据表中选取满足条件的考生记录至临时表中;采用由需投档院校管理表的记录控制外层循环,一个院校在某志愿处理完,再进行下一个院校在该志愿的处理(由于是同一顺序志愿的处理,没有交集,不影响公平性),减少了记录指针定位次数,有效地缩短了处理时间;在进入内循环时过滤考生记录,并使考生记录按某志愿为该院校的按投档条件是逻辑连续的(使用索引或排序手段。对于有些院校或专业的投档排序条件需单独设置的,符合前述投档原则的可在其计划管理表中进行设置,在排序中引用),使用指针下移一条记录的方法依次处理记录,大大加快了指针移动速度。具体实现时还可以根据所采用的数据库的特点进行优化。实验表明对全省近十万考生、约200所投档院校的一次全自动投档,在奔腾级微机(2000年)两分钟内完成。通过院校投档设置项的设置,全自动投档可以用来对部分院校(或部分专业)进行投档,还可以仅使用一部分志愿进行投档等。
  对需要单独投档的特殊院校,系统提供单个院校的自动投档功能,其中可以使用不同顺序志愿降分排序投档方法(全自动投档不能采用此法.因为不宜越序先处理后续志愿,否则会造成违背考生志愿顺序及各院校不平等的现象)。系统同时提供通过输入组合条件来指定考生范围的批量投档功能,用来对单个院校进行补充投档。
  在各类招生录取工作采用计算机全自动投档方式将大大提高录取效率,使招生录取更加公平、合理,显著地降低社会成本,同时能有效地增加志愿数量,降低考生报志愿的难度等。 免费论文下载中心 http://www.hi138.com
下载论文

计算机应用论文服务

关于《浅析网络招生录取系统的设计与实现 》
本论文由张明亮 张宗杰编写,发布于 计算机论文 > 计算机应用论文,本论文有繁体版、英文版两个版本,如果您想下载《浅析网络招生录取系统的设计与实现 》请点击这里
网站声明 | 联系我们 | 网站地图 | 论文下载地址 | 论文搜索 | 作者搜索 | 手机版 CopyRight@2008 - 2020 免费论文下载中心 吉ICP备19001549号-1