南昌大学校园一卡通系统自2003年投入运行至今已有8年之久,产生了丰富而庞大的一卡通数据,据统计,我校一卡通每月仅交易记录就达到500万条左右,一年就有6000万条记录,文件数据量一年达到了几个Gbit。这些数据蕴含着巨大的资源信息,如果对系统中累积起来的数据进行统计、分析、挖掘、整合,就可以对一卡通用户所有用卡活动的整体状况、规律有一个量化的概念,这不仅可以作为今后一卡通系统更新升级的参照标准,也可以为校务决策提供数据“情报”来源。 然而,挖掘、分析、整合如此巨大的数据,对计算机性能要求很高。所以,我校构建了一套数据统计分析平台,专门针对一卡通数据库中的数据进行统计。我们采用Dell 的PowerEdgeC6145服务器,采用英特尔至强5000系列的Westmere-EP处理器,借助英特尔至强系列4核和6核处理器,能够获得比当前至强5600处理器最多提高33.92%的整数计算吞吐量,在性能上比上代系列提高67.3%,该款服务器能够应对最高的数据库与计算机工作负载。 隔离中心数据库与应用层 南昌大学校园一卡通平台采用三层架构,实现中心数据库和应用层的隔离,屏蔽用户对数据库的直接操作,在保证数据安全的前提下,通过这些接口对中心数据库进行间接访问;支持多数据库操作系统,多操作系统支持的数据访问层具有标准的接口定义,当后台数据库操作系统发生变化时,前台的应用系统无需变化;在应用层面,所有的子系统经过管理中心的授权,可以方便地接入一卡通中心平台,接受系统集控平台的统一管理。 与第三方系统对接时,传输基于TCP/IP 网络实现,系统软件分别从Web Service接口层、应用程序层、卡片读写层提供多种接口实现;灵活的组网方式,接口的多样化和标准化,为第三方系统接入提供坚实的基础。 构建主从数据库 对一卡通数据库海量数据的提取以及分析统计,对服务器的响应性能提出了很高的要求,所以应该新建数据库,使之与一卡通数据库形成主从关系,将专门分析数据的数据库作为从数据库,与一卡通数据库连接。这样可以避免使一卡通数据库增加不必要的负担,另外,采用新的数据库专门进行数据统计也会大大提供工作效率。 南昌大学一卡通数据库采用的是Oracle10g,配置主从库如下所示: Sqlplus/nolog 拷贝主库C:oraclecontrol01.ctl到从库C:oracleoradataporamals目录下。 配置主库listener.ora和tnsnames.ora文件,可以用net manager配置或者直接编辑c:oracleora92etworkadminlistener.ora和tnsname.ora文件,也即正常为主库配置侦听和连接到主库(primary)、主库到从库(standby)的网络服务名。启动主从库的listener,分别在主从数据库上执行如下命令: lsnrctl start //主从库listerner是否正常启动主库:tnsping standby 从库:tnsping primary//分别到主从库的服务名是否配置正确在主库上创建pfile,因为10g缺省使用spfile: Sqlplus/nolog 拷贝刚才创建的C:oracleora92database.orainitpormals.ora到从库相应目录,修改从库刚才拷贝的initpormals.ora文件。 配置完成后,主数据库每天将系统产生的数据定时提取后转存入从数据库进行分析,数据处理过程以日志的形式写入日志文件,不影响服务器的其他应用。根据选择的模版和日期向数据库请求数据,并将接收到的数据输出到Excel表格上,使用程序提供的各种模版来进行分析。设计框图如图所示。 支持校务的典型应用 对食堂消费数据的统计分析 在系统的消费记录中,食堂的消费数据占绝大部分。一卡通系统为每个食堂设立独立的工作站,我们可以在中心库中以食堂的原始就餐数据为基础,以各个食堂工作站为方向对其进行统计分析。 对每个食堂一日三餐的消费总次数和分餐总次数做一个统计分析对比,由系统自动产生当天或当月的就餐营业量曲线图,也可以按照时间段进行查询,这样可以一目了然地对比出各个食堂的营业量。因为学校新校区的占地面积很大,当需要新增食堂时,各个食堂营业量对比曲线图可以作为新食堂选址的一个参考。 对食堂一日三餐每餐分时间段进行消费次数的统计,由系统自动产生每个时间段消费次数的高峰期和低谷期。因为食堂每天的销售总份额都是基本固定的,师生数量并不固定,这就需要临时增减份额,如果对食堂的高峰期和低谷期进行大概的了解,排除学校的假期时间,就可以提前准备增减所需的食材。 学生是食堂消费的主力军,每个学生的消费能力参差不齐,所以食堂的价格一直是敏感话题。如果对所有食堂每天每餐的消费总额做一个曲线图进行对比,可以对各个食堂的价格有个大致的了解,这样也能遏制某些食堂乱涨价的现象。 对学生在食堂的消费额进行统计,例如设定消费金额范围,统计各个范围区的学生,如果长期在低消费区的学生,可能就是需要领取补助的困难学生,所以这个统计可以作为领取助学贷款的一个参考。 对学生行为数据的统计分析 在校园中,一卡通的功能不仅仅是消费,而且还包括门禁、图书馆、用电。在这几个方面进行系统数据的统计,也是了解学生在校生活的一个手段。 首先,可以对学生门禁数据统计,以某个时间点为临界值,超过该临界值的门禁记录即为晚归学生的记录,这样就知道哪些学生经常晚归,可以督促班主任查明原因,加大监管力度。 其次,通过一卡通,对图书馆的借阅记录进行统计,将各类图书的借阅次数做个曲线对比图,可以分析出哪些种类的书籍是经常被借阅的,哪些书籍借阅率不高,这样图书馆下次定购书籍时就可以加强借阅率高的书籍的购买。 其三,对宿舍的用电量数据进行分析,因为消防安全是学校的重中之重,用电不当会导致火灾。很多学生会购置学校禁用的用电设备并私下使用,这样用电量就会明显增加。对用电数据进行统计,就能检查出哪些宿舍的用电量居高不下,可以作为检查宿舍违规用电的一个依据。 对系统数据量的统计分析 对系统数据库每天都定时备份。因为数据库数据不断增加,日志不断增加,每天的备份量也基本成比例增长,所以截取数据库中的数据是必要的工作。可是截取多少数据?多长时间截取一次?这就可以通过系统数据量增长的曲线图来判定。将每天备份的数据量画出一个曲线图,每天增长多少,磁盘空间还剩多少,然后制定出定时截取数据量的计划。 校园一卡通是数字化校园的有机组成部分,对一卡通系统累积起来的各种数据进行统计分析,不仅为决策层提供有用的参考信息,也为将来构建完整的数字化校园提供经验和实现方法。
SQL>conn /as sysdba;
SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE AS’C:
Oraclecontro101.ct l’;
SQL>conn /as sysdba;
Connected
SQL>create pf ile=’C:oracleora92databaseinitporamls.
ora’f rom spf i le;