APP下载

学生信息采集平台的设计与开发

2020-12-29向兰宣

电脑知识与技术 2020年32期
关键词:同步采集

向兰宣

摘要:学生信息采集平台基于B/S架构,采用ThinkPHP 5.1版本PHP开发框架,利用WarmpServer 3.1集成开发环境在Windows Server2016服务下搭建Web服务器,平台中前端主要利用BootStrap和JQuery框架,后端采用PHP开发语言,以MySQL作为系统数据库进行ThinkPHP 5.1下的MVC设计开发。平台具备基础信息从教务系统同步和利用PHPExcel实现Excel格式数据的导入导出功能,能按业务流程自动生成采集的基础资料。核心模块包含数据同步、数据采集、数据审核、数据统计、用户及权限管理等模块。围绕学生信息的采集的流程,结合各个功能模块,实现学生信息采集的高度信息化。

关键词:同步;采集;MVC

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2020)32-0093-03

Abstract: Based on B/S architecture, the student information collection platform adopts ThinkPHP 5.1 PHP development framework and warmpserver 3.1 integrated development environment to build a web server under the service of Windows Server 2016. The front end of the platform mainly uses bootstrap and jQuery framework, the back end uses PHP development language and MySQL as the system database to design and develop MVC under ThinkPHP 5.1. The platform has the functions of synchronization of basic information from the orthodox educational administration system and import and export of Excel format data with PHPExcel, and can automatically generate the collected basic data according to the business process. The core modules include data synchronization, data collection, data audit, data statistics, user and authority management. Around the collection process of student information, combined with various functional modules, to achieve a high degree of information-based student collection.

Key words: synchronization; collection; MVC

1 问题的提出

学生信息采集主要是在入学时完成的,首先是学生在报到时完成学生的核心基本信息填写,主要用于新生基本信息的一个纸质存档。而对例如教务处所需要的分班情况,学生处所需要的是否建档立卡贫困家庭、是否常住农村等信息,招生就业处所需要生源地等信息,后勤服务中心所需要的宿舍就住情况,保卫处所需要的家庭详细住址等信息是在后面逐渐完善,主要用于学生信息电子数据存档,方便各个部门按需调用。收集学生信息的过程是各个辅导员或者各个班级为单位制作成Excel电子文档,然后再将各个Excel合并过程中,在这个过程中,有的是辅导员制作的,有的是班委制作的,然后再进行汇总的,这样就导致汇总的数据出现错列,数据不完整等错误。在各部门所需要数据时就会发现整个数据表信息不能用,又重新统计需要的数据,这样就造成学生、辅导员、二级教学单位反复统计类似格式的数据。大大降低了各个部门的办事效率,在学生中也存在一定的负面影响。

2 解决办法

利用ThinkPHP5.1+MySQL+WarmpServer 3.1等技术或平台开发学生信息采集平台。通过学生信息采集平台完成学生所有数据信息的准确、完整的采集。并在整个采集过程中,辅导员、二级教学单位、教务处随时了解数据填写的进度。整个采集过程实现流程化、自动化、网络化,可生成学生数据的各种统计报表或图表,并实现根据指定字段导出数据,满足各个部门基础数据的需求,大大提升了工作效率。

3 学生信息采集平台的设计

3.1 基本数据的准备

学生信息采集平台所有基本数据从教务系统中同步或导入Excel格式文件。为了保证数据的一致性、准确性和实时性,平台所使用的学生基本信息、学院信息、专业信息、班级信息、教师信息直接从教务系统中同步。而对教务系统中没有涉及的相关数据表利用PHPExcel框架实现Excel数据格式文件的导入。

数据的同步主要通过访问教务系统提供的数据库视图形成的数据接口完成。由于教务系统所使用的Oracel数据库,访问其数据接口时必须安装Oracel提供的客户端访问工具,并配置系统环境变量才可以正常访问。ThinkPHP5.1下数据库配置的核心代码[1]如下:

// Query類,由于涉及到数据库安全,以下配置具体参数为虚拟参数值

'query'           => '\\think\\db\\Query',

'db_config1'      => [

// 设置数据库类型为oracle

'type'            => '\think\oracle\Connection',

// 安装Oracle数据库服务器地址

'hostname'        => '192.168.1.1',

// Oracle数据库名

'database'        => 'dbname',

// 访问Oracle数据库的用户名

'username'        => 'yhm',

// 訪问Oracle数据库的密码

'password'        => 'mm',

// 访问Oracle数据库的端口

'hostport'        => '1521',

完成数据库配置后,再在控制器中编制代码完成数据的同步。具体实现同步时,主要是在前台利用Ajax技术将相关业务需求提供给后台控制器并在前台无刷新的展示控制器处理后返回的同步结果。例如在专业信息同步中,单击同步专业按钮,可得到图1专业同步信息展示所示内容,让用户更好的知道数据同步的情况。

数据导入采用PHPExcel框架,再在公共函数中创建了基于Excel文件参数的导入类文件,主要通过PHPExcel读取参数中Excel文件对象单元格的内容,并将其存在数组中,最后通过批量插入的方式,将数组中的内容添加到数据库中,完成数据的导入。

3.2 信息采集模块设计

信息采集模块主要功能是学生完成监护人姓名、身份证件号等非高考报名信息的填报。在模块中学生的考生号、学号、姓名、性别、民族、身份证号、所属专业、所属二级学院等基本信息是不用学生填报的,直接实时同步教务系统学生基本信息并在本地数据库中已存放,学生登录时相关数据直接展示且不允许学生修改的。考虑到学生用户访问采集平台方式以移动媒体(手机或平板)为主,该模块制作时考虑了这一特点,利用BootStrap框架制作登录界面。采集监护人信息如图2信息采集填报页面所示。

在采集模块中,学生录入好各项基本信息后,单击提交按钮,完成信息的填报。为了减少服务器压力,录入的数据采集信息在前端通过JS验证,验证成功后再提交到后台完成信息的填报。其核心代码[3]为:

$arrtbsj=array();

$arrtbyx=array();

$arryxsh=db("xsxxtb")->distinct(true)->field("yxsh")->order("yxsh desc")->select();

foreach ($arryxsh as $key => $vo) {

$yxmc=$vo['yxsh'];

$tbjs=db("xsxxtb")->where("emailadd","not null")->where("yxsh",$yxmc)->count();

$wtbjs=db("xsxxtb")->where("emailadd","null")->where("yxsh",$yxmc)->count();

$tbzj=db("xsxxtb")->where("yxsh",$yxmc)->count();

$arrtbsj['tb']=$tbjs;

$arrtbsj['wtb']=$wtbjs;

$arrtbsj['tbzj']=$tbzj;

$arrtbyx[$yxmc]=$arrtbsj;

}

$tbs=db("xsxxtb")->where("emailadd","not null")->count();

$wtbs=db("xsxxtb")->where("emailadd","null")->count();

$tbzs=db("xsxxtb")->count();

3.3 采集数据的审核

学生填报数据后,学生所属的辅导员则可能看到学生填报的具体信息,针对填报的信息,辅导员完成一个初步的审核,辅导员审核通过后,则由学生所在二级学院复审,最后由相关职能部门完成审核。整个流程均在平台中完成,各个环节的负责人在能联网的地方就能处理,加快了数据处理的时效,减少了学生和辅导员找领导签字环节,极大地提高了工作效率,也更好地服务了学生。

在代码实现环节,由于流程较为固定和简单,没有引入专业流程管理,只是利用权限划分来模拟的流程的审核,也就是更改数据的一个状态是0或1来完成数据审核。这只是一个简单的更新或删除操作,在这就不再赘述了。

3.4 数据查询统计

在采集平台中,对数据的采集进度,相应权限的用户均可实时了解进度,并可通过ECharts库[2]生成的图表进行展示。

以统计全校全日制在校数统计为例来说。实现时主要是通过从教务系统和本地数据库进行一个数据实时同步,在实时同步时将数据进行一个整理,然后将相应数据利用Ajax返回到前端视图层中,并结合在前端视图层的配置的ECharts参数以形成具体图表展示。全校全日制在校数统计图如图3所示。

4 程序运行结果

在2019年2月进行了第一次试运行,顺利完成了2016级、2017级和2018级共计8564名学生信息的补录数据的收集,所有数据完全符合既定规则,所有数据采集平台中直接导出,一次性成功导入学信网,准确高效地完成了省教育厅布置的任务。对未完成数据信息补录的学生也形成了相关的数据报表,并将未完成的数据信息补录的学生信息发到各二级学院确认,数据完全正确(此次数据信息补录按照上级文件精神,学生可不进行补录)。

在2019年10月再次使用完善后的采集平台对新生2019级近5000名学生进行数据信息核准和补录。此次采集共收集到4760名学生提交的数据,提交数据完全符合既定规则,数据从采集平台中导出,一次性成功导入学信网。

5 结束语

根据程序运行结果可以看出,设计的程序能满足学生信息采集平台的需求,能完成学生信息的采集。通过对运行的监控和事后的调研,下一步重点是数据图表多维度多样化展示,真正让数据活起来。不足的地方就是在数据导入模块部分,功能正常运行,但时间复杂度略高,用户的体验有所降低。下一步将注重研究导入算法,让导入大批量数据时时间缩短,提高用户体验和工作效率。

参考文献:

[1] ThinkPHP5.1完全开发手册 [EB/OL].[2020-03-05].https://www.kancloud.cn/manual/thinkphp5_1/353946.

[2] Echarts文档 [EB/OL].[2020-03-07].https://echarts.apache.org/zh/option.html.

[3] 李锡辉,王樱.MySQL数据库技术与项目应用教程[M].北京:人民邮电出版社,2018:171-175.

【通联编辑:谢媛媛】

猜你喜欢

同步采集
市政工程档案采集与管理中存在的问题
血液标本采集对生化检验结果的影响分析
素质教育理念下艺术教育改革的思路
浅析微量物证的采集和包装方法及其注意事项
政府职能的转变与中国经济结构调整的同步