左國才,符開耀
(湖南軟件職業學院,湖南 湘潭 411100)
基于智慧校園的數據接口處理系統設計與實現
左國才,符開耀
(湖南軟件職業學院,湖南 湘潭 411100)
隨著“大數據、云計算、物聯網”等信息技術的迅猛發展,各高校由建設“數字校園”轉向“智慧校園”的建設,取得了一定成效,提升了高校信息化的整體水平。同時,各種信息系統的增多,各信息系統之間存在著大量基礎數據的共享與交換,各系統之間采用的開發平臺及后臺數據庫不同,數據存儲結構也不同,導致各系統之間的數據共享、數據轉換及數據同步成為智慧校園建設中必須解決的問題。針對上述問題,文中設計并開發了專門的數據接口處理系統,進行數據分析、數據類型匹配、異常數據處理,能夠自動進行各數據庫系統之間的數據轉換、數據同步操作,能夠完整全面地將數據導入目的數據庫系統,解決高校智慧校園建設中各類信息系統之間的數據兼容、數據共享、數據同步等問題。
智慧校園;管理信息系統;數據接口;數據共享
隨著物聯網[1]、云計算[2]以及移動互聯網等新一代信息技術的迅速崛起,我國提出了建設智慧城市的發展戰略[3]。高校作為智慧城市的一個重要組成部分,各高校信息化建設也應該圍繞“智慧城市”建設的目標,打造適合高校信息化建設自身特色的“智慧校園”。實施“智慧校園”建設是實現現代化教學、現代化管理及服務的重要基礎,人才培養模式和先進教育理念的變革,高等院校信息化建設發展的趨勢,也是高等院校步入現代化智慧化管理的重要標志[3]。
智慧校園與各類信息系統之間存在著頻繁的數據共享、數據交換等處理,因數據格式、數據處理方式的不同,引起數據無法正常存取,重復存儲以及數據大量冗余等問題[4]。為解決該問題,文中擬構建統一的數據接口處理系統,解決高校智慧校園建設中數據同步、數據處理以及數據交換等問題,對高校的智慧校園建設具有較強的實用價值。
1.1 研究現狀
在智慧校園建設過程中,各高校目前存在著很多信息系統,各系統之間不兼容,數據接口處理不一致,使得系統之間數據處理困難,無法實現數據轉換與共享[5]。在軟件層面,各個軟件生產廠家都會遵循ODBC的標準,使得軟件開發人員能夠在統一的平臺上開發各種應用軟件。由于不同的系統采用的數據庫系統不統一[6],導致數據接口不統一以及不兼容等。
由于多個管理信息系統建立了接口,開發人員在對數據進行操作時,相當于擁有了數據管理員的身份。同時,建立觸發器及編寫相關代碼數據進行操作,這種方式隱藏著很大的安全隱患[7]。
其一,用戶直接訪問數據庫,數據信息存在著安全隱患,用戶信息易遭到泄露和盜取。
其二,在開發應用程序時,前臺直接調取數據對象,導致系統數據信息被盜取,數據庫的信息結構遭到泄露和攻擊[8-9]。
基于上述問題,可以通過數據接口處理系統實現各信息系統之間基礎數據的共享和同步,減少對各個信息系統數據轉換及同步而產生的維護成本,并且減少由于數據維護不當,而造成數據重復、遺漏等錯誤的可能性[10]。
文中擬對高校智慧校園中各信息系統之間的數據同步、數據交換以及數據共享等問題進行探討,解決高校各信息平臺之間的數據接口處理問題,為高校智慧校園建設提供借鑒,具有較強的應用價值與推廣價值。
1.2 常見數據接口設計方法
(1)文件交換模式。利用雙方約定數據結構的特殊數據文件來實現用戶、軟件開發商以及第三方開發商的數據交互、數據轉換、數據處理的過程[11]。
(2)應用程序接口函數模式。開發商先定義函數,實現相關數據操作,過程對于用戶和第三方開發商均不開放,從而保證了數據的機密性[12]。
(3)中間數據庫模式。用戶或第三方開發商經過授權,可以訪問數據庫中的部分數據,實現數據交互[13]。這種模式靈活性更強[14],方便維護管理。文中采用此方法,相對前面兩種方式更為靈活,易于擴展。
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文件進行組織,文件格式如下:
說明:其中 (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文件。 數據記錄傳輸格式為: ... ③在服務器成功接收到已傳輸的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是數據庫名稱。 測試數據集是湖南軟件職業學院的數字校園平臺數據庫,數據量為1 082 000。實驗的硬件環境:PC計算機,CPU為2.4 G,內存4 G;軟件環境:操作系統為Windows 7,編程環境為Eclipse4.4/ myEclipse 10,Tomcat7.0。 1 082 000條記錄的轉換處理及同步,該接口處理系統花了不到三分鐘時間,無需人工干預,容錯率較強,能夠適應高校智慧校園建設中各信息系統之間數據轉換及數據同步的需求。 數據接口處理系統與手動導出數據相比,性能比較結果見表1。 表1 性能比較 測試結果表明,文中設計開發的數據接口處理系統,能夠自動進行數據轉換、數據同步處理,及時為目標系統提供共享的基礎數據,減少各信息系統之間數據共享、數據同步操作而引起的數據錯誤和維護成本,提高各信息系統之間數據的及時共享及同步,保證各系統之間數據的一致性,對高校智慧校園建設中各系統數據共享、數據同步等方面具有一定的借鑒意義。 [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為表名。


3 測試數據及運行結果分析

4 結束語