高建立,刘仲会
(天津电子信息职业技术学院,天津 300350)
基于校园网的高校管理软件间数据同步系统的设计与实现
高建立,刘仲会
(天津电子信息职业技术学院,天津 300350)
高校信息化管理软件的信息孤岛现象是比较普遍的,由此导致高校的信息化管理水平不能真正提高,不能彻底解决高校信息化管理的数据同步与资源共享。本文运用软件工程思想,分析了高校信息化管理的问题和根源,就系统建立的意义、系统分析与设计进行了描述。系统实施运用了基于校园网的VPN技术、SQL SERVER的触发器技术以及VFP9.0的Timer技术,较好地实现了校园网环境中的数据异地差异备份,解决了管理软件间的数据同步问题,最后对系统实施与测试进行了阐述。
VPN;触发器;Timer;数据同步
1 引言
随着互联网技术的飞速发展,网络中的各种应用越来越丰富,校园网作为互联网的庞大分支,在学校尤其是高校的管理工作中扮演着越来越重要的角色,各种网络化的办公软件和管理软件的应用在高校管理中的作用越来越大。但由于缺乏整体规划,相当一部分高校各管理软件之间互不兼容,数据标准不统一,信息资源分散,共享程度低,形成一个个信息孤岛。
另外,有的高校不惜重资投放了校园网信息化平台,但由于软件开发人员对用户需求把握不准确就盲目上马,软件维护又不能及时跟进等原因,最终使得许多平台功能萎缩,系统性能大打折扣,由此导致高校的信息化管理水平不能真正提高,不能彻底解决高校信息化管理的数据同步与资源共享。
用过软件的管理者都知道,由于全球网络化水平迅猛发展带来的网络环境变化、高校教学管理水平的不断提升、计算机的软件及硬件飞速发展以及一些教育方针政策的出台等因素,使得作为软件服务主体的教学管理业务的需求几乎总在变化,这就给管理软件提出了很高的要求,即软件维护必须及时跟进,否则管理软件的生命周期将会缩短。
理想的管理软件是软件使用者作为软件开发的参与者,并作为永久的软件维护者,但这也太理想化了,一般的软件使用者不是专业的软件开发者。还有就是各管理部门根据自己的管理制度及业务习惯找一些软件开发公司去定制符合自身管理制度和业务习惯的管理软件,关键是用户和软件开发者需要长期磨合和沟通,因为有时忽略一个小的细节将会导致管理软件在应用起来非常不方便甚至不能使用。但无论如何,用户和软件开发者之间充分的沟通,并能保证根据用户需求的不断变化,软件维护的及时跟进这两个关键条件,将会使该管理软件的生命周期延长。
天津电子信息职业技术学院就是此种情况,比如财务管理软件是找软件开发公司定制的,而教务管理软件和学籍学历管理软件是自己研发的,这些软件和部门自身业务之间已经有了很好的磨合,并且随着需求的出现总在不断地进行软件维护。
解决了独立的管理软件的生命周期问题还不够,还要解决各管理软件之间的数据同步和数据共享问题,才能真正提高高校教育教学的信息化管理水平,真正解决高校信息化管理中的信息孤岛,实现高校信息化管理的数据同步与资源共享。
2 系统分析与设计
2.1 系统调研与分析
一般的情况是,高校各部门都拥有了自己的管理软件和数据库,因为比较符合业务需求,应用起来比较顺手,因此没有特殊情况这些部门都不会贸然更换软件。更重要的,更换软件还有历史数据的衔接和数据安全问题等等。所以形成的状况是高校各部门都有各自的数据库,各数据库的数据是封闭的,部门之间需要数据还得人工拷贝,很容易造成数据不准确,信息沟通滞后等问题。
如何解决高校内部各部门数据库之间的沟通和数据同步问题就成了高校信息化管理、信息资源共享的关键。
从本质上讲,所谓数据同步与资源共享也只是各部门软件系统的某些数据提供给其他部门共享,比如学籍学历管理系统的共享数据可以是学号、姓名、身份证号、专业、班级等字段,而财务系统的共享数据可以是学号、姓名、缴费年度、学费、教材讲义费等字段,教务管理系统的共享数据可以是学生学号、姓名、班级、学期、课程、成绩等字段。每个部门的软件系统都有自己在校园网中的主导字段,即这些字段以本部门为主,只能本部门对这些字段进行更新、删除等操作,而其他部门只能通过共享进行浏览、使用。比如学籍学历管理系统的专业、班级,财务系统的缴费年度、学费以及教材讲义费等,教务管理系统的课程、成绩等。当然沟通不同软件的共享数据需要建立一定的规则,像使用学生学号作为学生信息的关键字段,使用课程编号作为课程信息的关键字段等,并做好数据的完整性约束。
根据这些基本需求,我们可以在学校网管中心创建一个存放这些共享数据的数据库,我们可以称之为云服务器,各部门阶段性地将共享数据传到云服务器,同时也可以共享其他部门提供的数据,以达到数据同步和资源共享的目的。
2.2 功能需求分析
校园网中部门的管理软件(以教务管理系统和财务管理系统为例)是划分在不同的局域网的网段中,出于安全考虑,各部门的服务器只允许本部门系统访问,而其他部门包括校园网的学生用户是不能访问的。因为该数据同步系统处于校园网环境中,而校园网用户通过学校的公网IP可以访问Internet,Internet用户也可以通过学院网站访问到学院的服务器,所以校园网的环境是很复杂的,尤其网络安全是一个主要问题。
数据同步的实现可以通过SQL SERVER的复制订阅功能来完成,但该功能一般来说直接复制源表数据,定时刷新后同步到异地,并且是完全备份,但随着源表数据容量的不断增大,复制订阅就越来越占用时间和资源,如不及时维护,严重时会损害到源数据表,造成数据丢失或源表打不开,后果不堪设想。
基于以上功能需求,该数据同步系统采用基于校园网的VPN技术解决数据安全问题,采用触发器技术实现数据的及时跟踪,使用VFP9.0的Timer技术实现数据的实时差异备份。根据对数据同步业务需求进行详细的调查研究后,得到了基于校园网VPN的数据同步拓扑图,如图1所示。
2.3 体系结构与开发环境
系统体系结构采用C/S模式,服务器数据库采用SQL SERVER 2008设计,前端开发工具是Visual Foxpro9.0。
图1 基于校园网VPN的数据同步拓扑图
2.4 主要技术
2.4.1 基于校园网的VPN技术
VPN(Virtual Private Network)是一种利用在互联网或其他公共网络上构建专有的虚拟私网的网络安全技术,通过对网络数据的封装和加密,为用户在公共网络上建立一个临时的、安全的传输隧道,以达到专用网络的安全级别。用户数据通过发起端上的VPN设备建立的逻辑隧道,数据在传输过程中是完全封装的,在接收端釆用相应的解密和认证技术来确认发起的请求的合法性,从而实现网络数据在整个传输过程中的安全。本系统VPN是建立在校园网(局域网)上,并且是单向传输数据,即部门服务器向云服务器写入数据或获取数据,反之则不能,从而保证部门服务器的安全。
2.4.2 SQL SERVER的触发器技术(Trigger)
触发器是建立在数据表(触发器表)基础上的存储过程,SQL SERVER中分为DELETE、UPDATE和INSERT三种触发器。deleted和inserted表是在建立触发器时建立的两个临时表,两个表储存在与触发器一起的内存中,每个触发器只能访问自己的临时表,用户可以使用这两个表比较数据修改前后的状态。在执行DELETE语句时,行从触发器表中删除,并传输到deleted表中,deleted表和触发器表通常没有相同的行。在执行INSERT语句时,行插入到触发器表和inserted表中。在执行UPDATE语句时,行从触发器表中删除,并传输到deleted表中,新建行被同时添加到inserted表和触发器表中,Inserted表中的行是触发器表中新行的副本。
利用触发器的工作原理,我们可以进行以下设计:以学籍学历管理系统为例,比如在校生表(zxs)的学号、姓名、专业、班级、身份证号、学制等字段作为数据同步的数据表表结构,那么在该数据库中需要创建一个连续记录触发器的deleted和inserted表行数据的zxs_trigger表,该表的数据结构同在校生(zxs)结构一样,此外增加[触发性质]字段以记录该条数据是删除(del)还是插入(ins)操作,增加[触发时间]字段以记录触发器触发的时间,增加[提交云]字段以记录该数据是否同步到云服务器,另外还有[ID]字段自动增1用以排序查询最近的操作数据等。
其他部门的共享数据表也按此规则进行设计。
2.4.3 VPF9.0 的Timer技术
设置Timer的interval属性值,可以使系统间隔多长时间自动执行一次timer事件,比如interval属性值为10000(10s),即10秒执行一次timer事件,可根据业务需求的具体情况设置interval属性值,以完成持续扫描源trigger表数据以及同步数据到云服务器的任务。
2.5 云数据库设计
云服务器中包含了诸如学籍学历管理系统数据同步过来的在校生表(zxs_cloud),财务管理系统数据同步过来的学生财务数据表(cwdate_cloud)以及教务管理系统数据同步过来的学生课程成绩表(cj_cloud)等,这些表的结构需要和源数据表结构一样,只是根据权限要求,共享的字段比源数据表有所减少。
图2 数据同步系统时序图(以学籍学历管理系统为例)
3 系统的详细设计
根据功能需求,以学籍学历管理系统的数据同步系统为例,我们采用面向对象分析方法,得出了数据同步系统时序图,如图2所示,以描述各对象之间发送消息的时间顺序,并显示多个对象之间的动态协作关系。根据该系统时序图和具体业务流程,对该数据同步系统进行详细设计。
3.1 触发器模块设计
触发器属于自动执行的主体,可以对共享字段进行设置,以达到划分权限的目的。另外,由于对DELETE、UPDATE和INSERT三种触发器的设计,还有对跟踪触发器的源trigger表使用了[提交云]字段等方法,使得该数据同步系统实现了数据异地差异备份,而且能够节省系统资源,系统运行健康、可靠、生命周期长。
3.2 Timer控件的Timer事件设计
Timer也属于自动执行的主体,需要注意的是当开始执行Timer事件时,要将Timer控件的Enabled属性设置为不可用,目的是执行上传数据到云服务器事件时,避免与Timer控件的Timer事件发生冲突。例如源数据表删除10000条数据时,很有可能比Timer的interval属性值时间要长得多,执行完上传数据事件后,再将Timer控件的Enabled属性设置为可用,可继续持续扫描源trigger表数据。
另外,在执行上传数据到云服务器事件过程中要严格按照源trigger表的[触发性质]字段的“del”或“ins”值进行对云服务器的删除或插入操作,尤其对源数据表进行更新(UPDATE)操作时,对应源trigger表有两条数据,第一条[触发性质]字段值为“del”,第二条[触发性质]字段值为“ins”,对云服务器的编程处理必须也是先删除后插入,以确保对云服务器数据同步的准确性。
4 系统的实施与测试
系统以试运行方式,对学籍学历管理系统的在校生(zxs)进行数据同步测试,包括删除5000条数据(约用时8分钟),系统运行稳定,反应灵敏,没有发生数据冲突,并且云服务器zxs_cloud数据同步准确,基本达到了系统设计预想的目的。 该系统最大的好处就是在原有部门系统的基础上进行设计开发的,一是能为学校节省用以购买大型软件的资金,二是真正实现了校园网内各部门软件间的资源共享,三是系统生成的EXE文件,便于安装。另外,该同步系统操作的数据不是源数据表,而是记录触发器动作的源trigger表,从而保证了源数据表的安全。
[1]史济民.软件工程-原理、方法与应用(第3版)[M].北京:高等教育出版社,2009.
[2]李德杰.校园网两校区访问中VPN技术的应用[D].山东大学,2012.
[3]郑欢.高职院校学生信息管理系统的分析与设计[D].云南大学,2010.
[4]吕凤顺.SQL Server数据库基础与实训教程[M].北京:清华大学出版社,2006.
Design and Realization of Campus-Network-Based System of Data Synchronism among University Management Software
GAO Jian-li, LIU Zhong-hui
(TianjinElectronicInformationCollege,Tianjin, 300350)
The phenomenon of isolated information island in university informatization management software is common, which causes the management level of university informatization unable to be really improved and fails to completely solve the issues of data synchronism and resource sharing of university informatization management. This paper utilizes the idea of software engineering, analyzes the problems of university informatization management and their roots, and describes the significance of system establishment and system analysis and design. The system applies campus-network-based VPN technology, trigger technology in SQL SERVER and timer technology in VFP9.0, realizes backup of data off-site difference in campus network environment, solves the issue of data synchronism among management software, and lastly elaborates the system implementation and test.
VPN; trigger; timer; data synchronism
2015-06-09
高建立(1962-),男,天津市人,天津电子信息职业技术学院副院长、副教授,主要研究教学管理、高等数学;刘仲会(1968-),男,天津市人,天津电子信息职业技术学院高级工程师,主要研究计算机信息技术、学籍管理。
TP393
A
1673-582X(2015)08-0089-05