基于智慧校园的数据接口处理系统设计与实现

2016-02-27 03:41左国才符开耀
计算机技术与发展 2016年6期
关键词:数据表字段信息系统

左国才,符开耀

(湖南软件职业学院,湖南 湘潭 411100)

基于智慧校园的数据接口处理系统设计与实现

左国才,符开耀

(湖南软件职业学院,湖南 湘潭 411100)

随着“大数据、云计算、物联网”等信息技术的迅猛发展,各高校由建设“数字校园”转向“智慧校园”的建设,取得了一定成效,提升了高校信息化的整体水平。同时,各种信息系统的增多,各信息系统之间存在着大量基础数据的共享与交换,各系统之间采用的开发平台及后台数据库不同,数据存储结构也不同,导致各系统之间的数据共享、数据转换及数据同步成为智慧校园建设中必须解决的问题。针对上述问题,文中设计并开发了专门的数据接口处理系统,进行数据分析、数据类型匹配、异常数据处理,能够自动进行各数据库系统之间的数据转换、数据同步操作,能够完整全面地将数据导入目的数据库系统,解决高校智慧校园建设中各类信息系统之间的数据兼容、数据共享、数据同步等问题。

智慧校园;管理信息系统;数据接口;数据共享

0 引 言

随着物联网[1]、云计算[2]以及移动互联网等新一代信息技术的迅速崛起,我国提出了建设智慧城市的发展战略[3]。高校作为智慧城市的一个重要组成部分,各高校信息化建设也应该围绕“智慧城市”建设的目标,打造适合高校信息化建设自身特色的“智慧校园”。实施“智慧校园”建设是实现现代化教学、现代化管理及服务的重要基础,人才培养模式和先进教育理念的变革,高等院校信息化建设发展的趋势,也是高等院校步入现代化智慧化管理的重要标志[3]。

智慧校园与各类信息系统之间存在着频繁的数据共享、数据交换等处理,因数据格式、数据处理方式的不同,引起数据无法正常存取,重复存储以及数据大量冗余等问题[4]。为解决该问题,文中拟构建统一的数据接口处理系统,解决高校智慧校园建设中数据同步、数据处理以及数据交换等问题,对高校的智慧校园建设具有较强的实用价值。

1 数据接口的研究现状

1.1 研究现状

在智慧校园建设过程中,各高校目前存在着很多信息系统,各系统之间不兼容,数据接口处理不一致,使得系统之间数据处理困难,无法实现数据转换与共享[5]。在软件层面,各个软件生产厂家都会遵循ODBC的标准,使得软件开发人员能够在统一的平台上开发各种应用软件。由于不同的系统采用的数据库系统不统一[6],导致数据接口不统一以及不兼容等。

由于多个管理信息系统建立了接口,开发人员在对数据进行操作时,相当于拥有了数据管理员的身份。同时,建立触发器及编写相关代码数据进行操作,这种方式隐藏着很大的安全隐患[7]。

其一,用户直接访问数据库,数据信息存在着安全隐患,用户信息易遭到泄露和盗取。

其二,在开发应用程序时,前台直接调取数据对象,导致系统数据信息被盗取,数据库的信息结构遭到泄露和攻击[8-9]。

基于上述问题,可以通过数据接口处理系统实现各信息系统之间基础数据的共享和同步,减少对各个信息系统数据转换及同步而产生的维护成本,并且减少由于数据维护不当,而造成数据重复、遗漏等错误的可能性[10]。

文中拟对高校智慧校园中各信息系统之间的数据同步、数据交换以及数据共享等问题进行探讨,解决高校各信息平台之间的数据接口处理问题,为高校智慧校园建设提供借鉴,具有较强的应用价值与推广价值。

1.2 常见数据接口设计方法

(1)文件交换模式。利用双方约定数据结构的特殊数据文件来实现用户、软件开发商以及第三方开发商的数据交互、数据转换、数据处理的过程[11]。

(2)应用程序接口函数模式。开发商先定义函数,实现相关数据操作,过程对于用户和第三方开发商均不开放,从而保证了数据的机密性[12]。

(3)中间数据库模式。用户或第三方开发商经过授权,可以访问数据库中的部分数据,实现数据交互[13]。这种模式灵活性更强[14],方便维护管理。文中采用此方法,相对前面两种方式更为灵活,易于扩展。

2 数据接口处理系统的设计与实现

2.1 系统设计

文中介绍一种用于两个数据库之间表中数据自动转换、自动同步的系统设计与实现方案。该系统操作简单、使用方便,不需要任何专业知识,只需简单设置就可以自动定时将一个数据库中的数据同步到另一个数据库,并确保数据的安全、准确、有效,减少了手动导入数据的繁琐操作。

设计思路:

(1)在拥有固定IP地址(如:192.168.8.200)的服务器上,开启Socket网络服务端,监听自身IP地址和指定端口的网络连接情况,另一个服务器开启Socket客户端,连接到拥有指定的IP地址和端口号服务器端,建立网络通信,进行数据传输。

(2)各信息系统数据库的每个数据表中应增加数据更新标识列和更新时间列,便于系统能够实时检测到有哪些更新的数据和数据实际更新的时间。

(3)在接口处理系统中,设计同步时间设置模块,按照用户设置的指定时间点、循环间隔时间来进行信息系统之间的数据共享、数据处理、数据转换以及数据同步等具体操作。

(4)在数据接口处理系统中,读取需要进行转换、共享的数据表中新增的数据,转换成一个以数据表名为名称的XML文件,通过Socket网络连接将文件传输给对方服务器,更新最后进行的同步时间;对方接收到XML文件后,读取接收到的XML文件并插入到指定的数据表中,UpdateDataIDByOneSelf的值设置为1,完成数据同步。

总体设计流程图如图1所示。

图1 总体设计流程图

2.2 系统的具体实现

根据系统设计,具体实现步骤如下:

(1)初始化配置文件。

该系统中的配置文件有两个:初始化过程中的配置文件和日志管理的配置文件。主要记录系统当前能够进行同步处理的数据表,该配置文件以XML文件进行组织,文件格式如下:

zgc

说明:其中/为数据库的用户名/密码;为数据库的连接串;

为表名。

(2)建立Socket网络连接,设置需要进行数据共享处理及数据传输的双方服务器端/客户端,确定各服务器在网络通信中的具体角色,并且将相关配置信息存入到Config.ini配置文件。

(3)建立数据库连接,为数据库用户表添加DataInsertDate字段,用来存储数据的插入时间,添加UpdateDataIDByOneSelf字段用来存储该数据是否是数据表中自身已有的数据。

declare @Student_Name varchar(20)-声明字符串变量

declareStudent_Cursor cursor for Select [name] From SysObjects Where XType='U' order By Name-声明游标变量

openStudent_Cursor-打开游标

fetch next fromStudent_Cursor into @Student_Name-提取游标

while @@fetch_status=0

BEGIN

-为每个数据表添加DataInsertDate字段,用于存储数据更新时间,默认值为当前时间

exec ('ALTER Table'+@Student_Name+' ADD DataInsertDate datetime DEFAULT GETDATE() Not NULL')

-为每个数据表添加UpdateDataIDByOneSelf字段,用于标识是否是自身数据,默认值为0

exec('ALTER Table'+@Student_Name+' ADD UpdateDataIDByOneSelf int DEFAULT 0 Not NULL')

fetch next fromStudent_Cursor into @Student_Name-将游标数据存储到变量中

end

closeStudent_Cursor-关闭游标

deallocateStudent_Cursor

(4)数据库连接成功后,指定需要同步数据的表如图2所示,将信息存入config.ini文件。

(5)设定同步时间。

按照用户具体设置的指定时间以及循环间隔时间来进行数据处理、数据转换及数据同步等具体操作,如图3所示,并将信息存入config.ini文件。

图2 选择同步数据的表

图3 设定同步时间

(6)数据同步文件生成、传输及插入。

①数据同步文件生成。

读取XML文件,获取每个需要进行处理及同步更新的表中最后进行更新的具体时间,从数据表中读取UpdateDataIDByOneSelf字段的值为0并且DataInsertDate字段的时间大于最后同步更新时间的数据,生成以数据表名为名称的XML文件。

②通过Socket网络文件传输,在已建立好网络通信连接的客户端与服务器端,通过有效网络连接进行文件传输,传输目标服务器所要求的所有XML文件。

数据记录传输格式为:

value

value

...

③在服务器成功接收到已传输的XML文件后,读取XML文件,根据XML主文件名,找到指定的数据库中的数据表名,读取数据表中所有字段的属性,并且在插入时,应指定UpdateDataIDByOneSelf字段的值为1,即标识为从其他服务器中接收到的更新数据。如果数据插入不成功,则将错误信息以及相关数据记录保存到ErrorDataServiceLOG.Runlog文件中。

Config.ini说明:

#数据库数据转换、数据同步配置文件

[SocketSetting]

ConnServerString=1|8005|192.168.8.200|8005

其中:“1”表示Client客户端;“0” 表示Server服务器端;第一个“8005”为服务器端的端口号;192.168.8.200|8005为客户端请求网络连接的IP地址和端口号。

[DataSetting] ConnServerString=zgc|sa|sa|TEST

其中:zgc为数据库服务名称;sa|sa分别是数据库登录的用户名和密码;TEST是数据库名称。

3 测试数据及运行结果分析

测试数据集是湖南软件职业学院的数字校园平台数据库,数据量为1 082 000。实验的硬件环境:PC计算机,CPU为2.4 G,内存4 G;软件环境:操作系统为Windows 7,编程环境为Eclipse4.4/ myEclipse 10,Tomcat7.0。

1 082 000条记录的转换处理及同步,该接口处理系统花了不到三分钟时间,无需人工干预,容错率较强,能够适应高校智慧校园建设中各信息系统之间数据转换及数据同步的需求。

数据接口处理系统与手动导出数据相比,性能比较结果见表1。

表1 性能比较

4 结束语

测试结果表明,文中设计开发的数据接口处理系统,能够自动进行数据转换、数据同步处理,及时为目标系统提供共享的基础数据,减少各信息系统之间数据共享、数据同步操作而引起的数据错误和维护成本,提高各信息系统之间数据的及时共享及同步,保证各系统之间数据的一致性,对高校智慧校园建设中各系统数据共享、数据同步等方面具有一定的借鉴意义。

[1] Zhang Yin,Han Weili,Wang Wei,et al.Optimizing the storage of massive electronic pedigrees in HDFS[C]//Proc of 3rd international conference on the Internet of Things (IOT).Wuxi:IEEE,2012:68-75.

[2] Roloff E,Birck F,Diener M,et al.Evaluating high performance computing on the windows azure platform[C]//Proc of IEEE 5th international conference on cloud computing.Honolulu,HI,United States:IEEE Computer Society,2012:803-810.

[3] 罗林球,孟 琦,李 晓,等.异构数据库迁移的设计和实现[J].计算机应用研究,2006,23(12):233-235.

[4] 夏克俭,张 瑛,巢 群,等.XML在数字化校园数据同步平台中的应用研究[J].计算机工程与设计,2008,29(2):483-486.

[5] 唐 琼,张 超.一种实现不同网络中两种数据库互联的技术[J].计算机应用,2001,21(2):88-89.

[6] Sathya S,Jose M V.Application of Hadoop MapReduce technique to virtual database system design[C]//Proc of international conference on emerging trends in electrical and computer technology.[s.l.]:[s.n.],2011:892-896.

[7] Mehrotra P,Djomehri J,Heistand S,et al.Performance evaluation of Amazon EC2 for NASA HPC applications[C]//Proc of 3rd ACM workshop on scientific cloud computing.Delft,Netherlands:Association for Computing Machinery,2012:41-49.

[8] 王瑞坤.基于消息驱动的数据交换系统设计[D].武汉:武汉理工大学,2007.

[9] 李建峰,许舒人,马建刚.面向大规模数据集成消息中间件系统设计实现[J].计算机工程与设计,2008,29(1):51-55.

[10] 房成萍,马 坤,杨 波,等.分布式一体化及数据交换平台的设计与实现[J].济南大学学报:自然科学版,2011,25(1):11-14.

[11] 王玉标,饶锡如,何 盼.异构环境下数据库增量同步更新机制[J].计算机工程与设计,2011,32(3):948-951.

[12] 关宇平.SAP R/3系统客户化接口程序的开发方法及实现[J].计算机系统应用,2007(2):47-50.

[13] 李家菁,赵 政.CIMS环境下的销售管理系统的设计[J].计算机应用研究,2001,18(3):146-148.

[14] 张双印.ERP系统接口技术的应用[J].电脑编程技巧与维护,2008(15):74-77.

Design and Implementation of Data Interface Processing System Based on Construction of Intelligent Campus

ZUO Guo-cai,FU Kai-yao

(Hunan Vocational Institute of Software,Xiangtan 411100,China)

Along with the rapid development of information technology,such as Big Data,Cloud Computing and Internet of Things,the construction of “Digital Campus” to “Intelligent Campus”,has achieved some results.The overall level of university informatization is raised.At the same time,the increase in the number of various information systems,it exists a large number of basic data sharing and exchange among them.The development platform and background database is different between systems,and the data storage structure is also different,which makes the sharing,transformation and synchronization for data in systems becomes a problem needs to be solved in the construction of the intelligent campus.In view of the problems,a specialized data interface processing system is designed and developed for data analysis,data type matching,anomaly data processing,to automatically conduct the data transformation and synchronization between the database system and to completely put the data into the database system,which solves the problem of data compatibility,data sharing and synchronization between various types of information systems in intelligent campus construction.

smart campus;management information system;data interface;data sharing

2015-08-17

2015-11-19

时间:2016-05-05

湖南省教育科研计划资助项目(14C0617);湖南省普通高校青年骨干教师培养对象资助项目(湘教办通[2014]186号文);湖南省职业教育名师空间课堂《数据库原理与应用》课程建设项目(湘教科研通[2015]38号文);湖南省职业院校教育教学改革研究项目(ZJB2013045);校级质量工程项目(KC1302,TD1501)

左国才(1978-),女,硕士,高级工程师,研究方向为数据挖掘、职业教育教学改革研究。

http://www.cnki.net/kcms/detail/61.1450.TP.20160505.0829.088.html

TP302

A

1673-629X(2016)06-0142-04

10.3969/j.issn.1673-629X.2016.06.031

猜你喜欢
数据表字段信息系统
图书馆中文图书编目外包数据质量控制分析
企业信息系统安全防护
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
基于列控工程数据表建立线路拓扑关系的研究
基于区块链的通航维护信息系统研究
信息系统审计中计算机审计的应用
基于SG-I6000的信息系统运检自动化诊断实践
CNMARC304字段和314字段责任附注方式解析
图表