左國才,符開耀
(湖南軟件職業(yè)學(xué)院,湖南 湘潭 411100)
基于智慧校園的數(shù)據(jù)接口處理系統(tǒng)設(shè)計與實現(xiàn)
左國才,符開耀
(湖南軟件職業(yè)學(xué)院,湖南 湘潭 411100)
隨著“大數(shù)據(jù)、云計算、物聯(lián)網(wǎng)”等信息技術(shù)的迅猛發(fā)展,各高校由建設(shè)“數(shù)字校園”轉(zhuǎn)向“智慧校園”的建設(shè),取得了一定成效,提升了高校信息化的整體水平。同時,各種信息系統(tǒng)的增多,各信息系統(tǒng)之間存在著大量基礎(chǔ)數(shù)據(jù)的共享與交換,各系統(tǒng)之間采用的開發(fā)平臺及后臺數(shù)據(jù)庫不同,數(shù)據(jù)存儲結(jié)構(gòu)也不同,導(dǎo)致各系統(tǒng)之間的數(shù)據(jù)共享、數(shù)據(jù)轉(zhuǎn)換及數(shù)據(jù)同步成為智慧校園建設(shè)中必須解決的問題。針對上述問題,文中設(shè)計并開發(fā)了專門的數(shù)據(jù)接口處理系統(tǒng),進行數(shù)據(jù)分析、數(shù)據(jù)類型匹配、異常數(shù)據(jù)處理,能夠自動進行各數(shù)據(jù)庫系統(tǒng)之間的數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)同步操作,能夠完整全面地將數(shù)據(jù)導(dǎo)入目的數(shù)據(jù)庫系統(tǒng),解決高校智慧校園建設(shè)中各類信息系統(tǒng)之間的數(shù)據(jù)兼容、數(shù)據(jù)共享、數(shù)據(jù)同步等問題。
智慧校園;管理信息系統(tǒng);數(shù)據(jù)接口;數(shù)據(jù)共享
隨著物聯(lián)網(wǎng)[1]、云計算[2]以及移動互聯(lián)網(wǎng)等新一代信息技術(shù)的迅速崛起,我國提出了建設(shè)智慧城市的發(fā)展戰(zhàn)略[3]。高校作為智慧城市的一個重要組成部分,各高校信息化建設(shè)也應(yīng)該圍繞“智慧城市”建設(shè)的目標(biāo),打造適合高校信息化建設(shè)自身特色的“智慧校園”。實施“智慧校園”建設(shè)是實現(xiàn)現(xiàn)代化教學(xué)、現(xiàn)代化管理及服務(wù)的重要基礎(chǔ),人才培養(yǎng)模式和先進教育理念的變革,高等院校信息化建設(shè)發(fā)展的趨勢,也是高等院校步入現(xiàn)代化智慧化管理的重要標(biāo)志[3]。
智慧校園與各類信息系統(tǒng)之間存在著頻繁的數(shù)據(jù)共享、數(shù)據(jù)交換等處理,因數(shù)據(jù)格式、數(shù)據(jù)處理方式的不同,引起數(shù)據(jù)無法正常存取,重復(fù)存儲以及數(shù)據(jù)大量冗余等問題[4]。為解決該問題,文中擬構(gòu)建統(tǒng)一的數(shù)據(jù)接口處理系統(tǒng),解決高校智慧校園建設(shè)中數(shù)據(jù)同步、數(shù)據(jù)處理以及數(shù)據(jù)交換等問題,對高校的智慧校園建設(shè)具有較強的實用價值。
1.1 研究現(xiàn)狀
在智慧校園建設(shè)過程中,各高校目前存在著很多信息系統(tǒng),各系統(tǒng)之間不兼容,數(shù)據(jù)接口處理不一致,使得系統(tǒng)之間數(shù)據(jù)處理困難,無法實現(xiàn)數(shù)據(jù)轉(zhuǎn)換與共享[5]。在軟件層面,各個軟件生產(chǎn)廠家都會遵循ODBC的標(biāo)準(zhǔn),使得軟件開發(fā)人員能夠在統(tǒng)一的平臺上開發(fā)各種應(yīng)用軟件。由于不同的系統(tǒng)采用的數(shù)據(jù)庫系統(tǒng)不統(tǒng)一[6],導(dǎo)致數(shù)據(jù)接口不統(tǒng)一以及不兼容等。
由于多個管理信息系統(tǒng)建立了接口,開發(fā)人員在對數(shù)據(jù)進行操作時,相當(dāng)于擁有了數(shù)據(jù)管理員的身份。同時,建立觸發(fā)器及編寫相關(guān)代碼數(shù)據(jù)進行操作,這種方式隱藏著很大的安全隱患[7]。
其一,用戶直接訪問數(shù)據(jù)庫,數(shù)據(jù)信息存在著安全隱患,用戶信息易遭到泄露和盜取。
其二,在開發(fā)應(yīng)用程序時,前臺直接調(diào)取數(shù)據(jù)對象,導(dǎo)致系統(tǒng)數(shù)據(jù)信息被盜取,數(shù)據(jù)庫的信息結(jié)構(gòu)遭到泄露和攻擊[8-9]。
基于上述問題,可以通過數(shù)據(jù)接口處理系統(tǒng)實現(xiàn)各信息系統(tǒng)之間基礎(chǔ)數(shù)據(jù)的共享和同步,減少對各個信息系統(tǒng)數(shù)據(jù)轉(zhuǎn)換及同步而產(chǎn)生的維護成本,并且減少由于數(shù)據(jù)維護不當(dāng),而造成數(shù)據(jù)重復(fù)、遺漏等錯誤的可能性[10]。
文中擬對高校智慧校園中各信息系統(tǒng)之間的數(shù)據(jù)同步、數(shù)據(jù)交換以及數(shù)據(jù)共享等問題進行探討,解決高校各信息平臺之間的數(shù)據(jù)接口處理問題,為高校智慧校園建設(shè)提供借鑒,具有較強的應(yīng)用價值與推廣價值。
1.2 常見數(shù)據(jù)接口設(shè)計方法
(1)文件交換模式。利用雙方約定數(shù)據(jù)結(jié)構(gòu)的特殊數(shù)據(jù)文件來實現(xiàn)用戶、軟件開發(fā)商以及第三方開發(fā)商的數(shù)據(jù)交互、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)處理的過程[11]。
(2)應(yīng)用程序接口函數(shù)模式。開發(fā)商先定義函數(shù),實現(xiàn)相關(guān)數(shù)據(jù)操作,過程對于用戶和第三方開發(fā)商均不開放,從而保證了數(shù)據(jù)的機密性[12]。
(3)中間數(shù)據(jù)庫模式。用戶或第三方開發(fā)商經(jīng)過授權(quán),可以訪問數(shù)據(jù)庫中的部分數(shù)據(jù),實現(xiàn)數(shù)據(jù)交互[13]。這種模式靈活性更強[14],方便維護管理。文中采用此方法,相對前面兩種方式更為靈活,易于擴展。
2.1 系統(tǒng)設(shè)計
文中介紹一種用于兩個數(shù)據(jù)庫之間表中數(shù)據(jù)自動轉(zhuǎn)換、自動同步的系統(tǒng)設(shè)計與實現(xiàn)方案。該系統(tǒng)操作簡單、使用方便,不需要任何專業(yè)知識,只需簡單設(shè)置就可以自動定時將一個數(shù)據(jù)庫中的數(shù)據(jù)同步到另一個數(shù)據(jù)庫,并確保數(shù)據(jù)的安全、準(zhǔn)確、有效,減少了手動導(dǎo)入數(shù)據(jù)的繁瑣操作。
設(shè)計思路:
(1)在擁有固定IP地址(如:192.168.8.200)的服務(wù)器上,開啟Socket網(wǎng)絡(luò)服務(wù)端,監(jiān)聽自身IP地址和指定端口的網(wǎng)絡(luò)連接情況,另一個服務(wù)器開啟Socket客戶端,連接到擁有指定的IP地址和端口號服務(wù)器端,建立網(wǎng)絡(luò)通信,進行數(shù)據(jù)傳輸。
(2)各信息系統(tǒng)數(shù)據(jù)庫的每個數(shù)據(jù)表中應(yīng)增加數(shù)據(jù)更新標(biāo)識列和更新時間列,便于系統(tǒng)能夠?qū)崟r檢測到有哪些更新的數(shù)據(jù)和數(shù)據(jù)實際更新的時間。
(3)在接口處理系統(tǒng)中,設(shè)計同步時間設(shè)置模塊,按照用戶設(shè)置的指定時間點、循環(huán)間隔時間來進行信息系統(tǒng)之間的數(shù)據(jù)共享、數(shù)據(jù)處理、數(shù)據(jù)轉(zhuǎn)換以及數(shù)據(jù)同步等具體操作。
(4)在數(shù)據(jù)接口處理系統(tǒng)中,讀取需要進行轉(zhuǎn)換、共享的數(shù)據(jù)表中新增的數(shù)據(jù),轉(zhuǎn)換成一個以數(shù)據(jù)表名為名稱的XML文件,通過Socket網(wǎng)絡(luò)連接將文件傳輸給對方服務(wù)器,更新最后進行的同步時間;對方接收到XML文件后,讀取接收到的XML文件并插入到指定的數(shù)據(jù)表中,UpdateDataIDByOneSelf的值設(shè)置為1,完成數(shù)據(jù)同步。
總體設(shè)計流程圖如圖1所示。
圖1 總體設(shè)計流程圖
2.2 系統(tǒng)的具體實現(xiàn)
根據(jù)系統(tǒng)設(shè)計,具體實現(xiàn)步驟如下:
(1)初始化配置文件。
該系統(tǒng)中的配置文件有兩個:初始化過程中的配置文件和日志管理的配置文件。主要記錄系統(tǒng)當(dāng)前能夠進行同步處理的數(shù)據(jù)表,該配置文件以XML文件進行組織,文件格式如下:
說明:其中 (2)建立Socket網(wǎng)絡(luò)連接,設(shè)置需要進行數(shù)據(jù)共享處理及數(shù)據(jù)傳輸?shù)碾p方服務(wù)器端/客戶端,確定各服務(wù)器在網(wǎng)絡(luò)通信中的具體角色,并且將相關(guān)配置信息存入到Config.ini配置文件。 (3)建立數(shù)據(jù)庫連接,為數(shù)據(jù)庫用戶表添加DataInsertDate字段,用來存儲數(shù)據(jù)的插入時間,添加UpdateDataIDByOneSelf字段用來存儲該數(shù)據(jù)是否是數(shù)據(jù)表中自身已有的數(shù)據(jù)。 declare @Student_Name varchar(20)-聲明字符串變量 declareStudent_Cursor cursor for Select [name] From SysObjects Where XType='U' order By Name-聲明游標(biāo)變量 openStudent_Cursor-打開游標(biāo) fetch next fromStudent_Cursor into @Student_Name-提取游標(biāo) while @@fetch_status=0 BEGIN -為每個數(shù)據(jù)表添加DataInsertDate字段,用于存儲數(shù)據(jù)更新時間,默認值為當(dāng)前時間 exec ('ALTER Table'+@Student_Name+' ADD DataInsertDate datetime DEFAULT GETDATE() Not NULL') -為每個數(shù)據(jù)表添加UpdateDataIDByOneSelf字段,用于標(biāo)識是否是自身數(shù)據(jù),默認值為0 exec('ALTER Table'+@Student_Name+' ADD UpdateDataIDByOneSelf int DEFAULT 0 Not NULL') fetch next fromStudent_Cursor into @Student_Name-將游標(biāo)數(shù)據(jù)存儲到變量中 end closeStudent_Cursor-關(guān)閉游標(biāo) deallocateStudent_Cursor (4)數(shù)據(jù)庫連接成功后,指定需要同步數(shù)據(jù)的表如圖2所示,將信息存入config.ini文件。 (5)設(shè)定同步時間。 按照用戶具體設(shè)置的指定時間以及循環(huán)間隔時間來進行數(shù)據(jù)處理、數(shù)據(jù)轉(zhuǎn)換及數(shù)據(jù)同步等具體操作,如圖3所示,并將信息存入config.ini文件。 圖2 選擇同步數(shù)據(jù)的表 圖3 設(shè)定同步時間 (6)數(shù)據(jù)同步文件生成、傳輸及插入。 ①數(shù)據(jù)同步文件生成。 讀取XML文件,獲取每個需要進行處理及同步更新的表中最后進行更新的具體時間,從數(shù)據(jù)表中讀取UpdateDataIDByOneSelf字段的值為0并且DataInsertDate字段的時間大于最后同步更新時間的數(shù)據(jù),生成以數(shù)據(jù)表名為名稱的XML文件。 ②通過Socket網(wǎng)絡(luò)文件傳輸,在已建立好網(wǎng)絡(luò)通信連接的客戶端與服務(wù)器端,通過有效網(wǎng)絡(luò)連接進行文件傳輸,傳輸目標(biāo)服務(wù)器所要求的所有XML文件。 數(shù)據(jù)記錄傳輸格式為: ... ③在服務(wù)器成功接收到已傳輸?shù)腦ML文件后,讀取XML文件,根據(jù)XML主文件名,找到指定的數(shù)據(jù)庫中的數(shù)據(jù)表名,讀取數(shù)據(jù)表中所有字段的屬性,并且在插入時,應(yīng)指定UpdateDataIDByOneSelf字段的值為1,即標(biāo)識為從其他服務(wù)器中接收到的更新數(shù)據(jù)。如果數(shù)據(jù)插入不成功,則將錯誤信息以及相關(guān)數(shù)據(jù)記錄保存到ErrorDataServiceLOG.Runlog文件中。 Config.ini說明: #數(shù)據(jù)庫數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)同步配置文件 [SocketSetting] ConnServerString=1|8005|192.168.8.200|8005 其中:“1”表示Client客戶端;“0” 表示Server服務(wù)器端;第一個“8005”為服務(wù)器端的端口號;192.168.8.200|8005為客戶端請求網(wǎng)絡(luò)連接的IP地址和端口號。 [DataSetting] ConnServerString=zgc|sa|sa|TEST 其中:zgc為數(shù)據(jù)庫服務(wù)名稱;sa|sa分別是數(shù)據(jù)庫登錄的用戶名和密碼;TEST是數(shù)據(jù)庫名稱。 測試數(shù)據(jù)集是湖南軟件職業(yè)學(xué)院的數(shù)字校園平臺數(shù)據(jù)庫,數(shù)據(jù)量為1 082 000。實驗的硬件環(huán)境:PC計算機,CPU為2.4 G,內(nèi)存4 G;軟件環(huán)境:操作系統(tǒng)為Windows 7,編程環(huán)境為Eclipse4.4/ myEclipse 10,Tomcat7.0。 1 082 000條記錄的轉(zhuǎn)換處理及同步,該接口處理系統(tǒng)花了不到三分鐘時間,無需人工干預(yù),容錯率較強,能夠適應(yīng)高校智慧校園建設(shè)中各信息系統(tǒng)之間數(shù)據(jù)轉(zhuǎn)換及數(shù)據(jù)同步的需求。 數(shù)據(jù)接口處理系統(tǒng)與手動導(dǎo)出數(shù)據(jù)相比,性能比較結(jié)果見表1。 表1 性能比較 測試結(jié)果表明,文中設(shè)計開發(fā)的數(shù)據(jù)接口處理系統(tǒng),能夠自動進行數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)同步處理,及時為目標(biāo)系統(tǒng)提供共享的基礎(chǔ)數(shù)據(jù),減少各信息系統(tǒng)之間數(shù)據(jù)共享、數(shù)據(jù)同步操作而引起的數(shù)據(jù)錯誤和維護成本,提高各信息系統(tǒng)之間數(shù)據(jù)的及時共享及同步,保證各系統(tǒng)之間數(shù)據(jù)的一致性,對高校智慧校園建設(shè)中各系統(tǒng)數(shù)據(jù)共享、數(shù)據(jù)同步等方面具有一定的借鑒意義。 [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] 羅林球,孟 琦,李 曉,等.異構(gòu)數(shù)據(jù)庫遷移的設(shè)計和實現(xiàn)[J].計算機應(yīng)用研究,2006,23(12):233-235. [4] 夏克儉,張 瑛,巢 群,等.XML在數(shù)字化校園數(shù)據(jù)同步平臺中的應(yīng)用研究[J].計算機工程與設(shè)計,2008,29(2):483-486. [5] 唐 瓊,張 超.一種實現(xiàn)不同網(wǎng)絡(luò)中兩種數(shù)據(jù)庫互聯(lián)的技術(shù)[J].計算機應(yīng)用,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] 王瑞坤.基于消息驅(qū)動的數(shù)據(jù)交換系統(tǒng)設(shè)計[D].武漢:武漢理工大學(xué),2007. [9] 李建峰,許舒人,馬建剛.面向大規(guī)模數(shù)據(jù)集成消息中間件系統(tǒng)設(shè)計實現(xiàn)[J].計算機工程與設(shè)計,2008,29(1):51-55. [10] 房成萍,馬 坤,楊 波,等.分布式一體化及數(shù)據(jù)交換平臺的設(shè)計與實現(xiàn)[J].濟南大學(xué)學(xué)報:自然科學(xué)版,2011,25(1):11-14. [11] 王玉標(biāo),饒錫如,何 盼.異構(gòu)環(huán)境下數(shù)據(jù)庫增量同步更新機制[J].計算機工程與設(shè)計,2011,32(3):948-951. [12] 關(guān)宇平.SAP R/3系統(tǒng)客戶化接口程序的開發(fā)方法及實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2007(2):47-50. [13] 李家菁,趙 政.CIMS環(huán)境下的銷售管理系統(tǒng)的設(shè)計[J].計算機應(yīng)用研究,2001,18(3):146-148. [14] 張雙印.ERP系統(tǒng)接口技術(shù)的應(yīng)用[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);湖南省普通高校青年骨干教師培養(yǎng)對象資助項目(湘教辦通[2014]186號文);湖南省職業(yè)教育名師空間課堂《數(shù)據(jù)庫原理與應(yīng)用》課程建設(shè)項目(湘教科研通[2015]38號文);湖南省職業(yè)院校教育教學(xué)改革研究項目(ZJB2013045);校級質(zhì)量工程項目(KC1302,TD1501) 左國才(1978-),女,碩士,高級工程師,研究方向為數(shù)據(jù)挖掘、職業(yè)教育教學(xué)改革研究。 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為表名。
3 測試數(shù)據(jù)及運行結(jié)果分析
4 結(jié)束語