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

进修社 人气:5.47K
浅析网络招生录取系统的设计与实现

    论文关键词:全自动投档 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、全自动投档