南京師范大學中北學院信息科學與技術系 王若賢
隨著大數(shù)據(jù)時代的到來,學生管理系統(tǒng)中多源數(shù)據(jù)的整合、數(shù)據(jù)信息的共享成為當下的研究熱點之一。本文提出將大數(shù)據(jù)中多源異構數(shù)據(jù)集成技術應用到高校學生管理系統(tǒng)中,從異構信息的集成、異構信息的重構、Web Service在系統(tǒng)中的應用三個方面來探討一種輕量級基于SOA的軟件設計方法。通過這樣一個集成,可以把各種相關數(shù)據(jù)資源進行整合,這種為訪問者提供統(tǒng)一界面和接口,從而解決了跨平臺異構管理系統(tǒng)導致的信息孤島問題,實現(xiàn)信息共享。
引言:隨著高等學校的規(guī)模逐漸擴大,高等學校學生的管理工作量也翻倍增長。為了應對這個問題,多數(shù)高校都選購了學生信息管理系統(tǒng)以提高管理工作效率、保證數(shù)據(jù)查詢的有效性、方便學校的管理工作人員全面的掌握學生工作情況、降低學生的工作量。但高校的不同部門采用的系統(tǒng)都是相對獨立的,學生相關信息分散在不同類型的數(shù)據(jù)庫系統(tǒng)中,缺少統(tǒng)一訪問門戶,存在信息孤島問題面對這種情況,本文提出了面向?qū)W生信息管理的異構數(shù)據(jù)集成方案,以實現(xiàn)多種數(shù)據(jù)源數(shù)據(jù)的集成與共享。
本文系統(tǒng)的結(jié)構分為用戶層、業(yè)務邏輯層和數(shù)據(jù)源層,從而構成一個多層服務器體系結(jié)構。本文系統(tǒng)中異構數(shù)據(jù)庫主要包括學籍管理數(shù)據(jù)庫、教務管理數(shù)據(jù)庫和團委管理數(shù)據(jù)庫,從而保證用戶對三個數(shù)據(jù)庫綜合的查詢功能。三個數(shù)據(jù)庫集成后,用戶不需要考慮數(shù)據(jù)庫的保存位置、連接設置、數(shù)據(jù)保存格式和數(shù)據(jù)結(jié)構等信息即可進行查詢操作。具體集成系統(tǒng)結(jié)構如圖1。
圖1 集成系統(tǒng)結(jié)構
(1)用戶層
用戶層能夠以網(wǎng)頁的形式實現(xiàn)系統(tǒng)和用戶兩者之間的交互。
(2)業(yè)務邏輯層(中間件層)
業(yè)務邏輯層即處理用戶操作并返回結(jié)果的中間層,它需要通過用戶層獲取用戶的操作,通過數(shù)據(jù)源層獲取業(yè)務需要的數(shù)據(jù)。因?qū)W生信息數(shù)據(jù)異構的特點,集成系統(tǒng)獲取數(shù)據(jù)的方式有兩種,一種是直接通過本地數(shù)據(jù)庫讀取所需的數(shù)據(jù),另一種采用Web Service構建數(shù)據(jù)。為了統(tǒng)一不同系統(tǒng)下的異構數(shù)據(jù)以及數(shù)據(jù)的安全備份,業(yè)務邏輯層在獲取數(shù)據(jù)的同時,將異構數(shù)據(jù)整合存儲在本地數(shù)據(jù)庫中。
(3)數(shù)據(jù)源層
數(shù)據(jù)源層主要由多種數(shù)據(jù)來源不同的數(shù)據(jù)組成,是三層結(jié)構中的最底層。這一層的數(shù)據(jù)信息有數(shù)據(jù)庫、文件、多媒體等信息。
中間件Web Service工作模塊如圖2所示,共包含三個部分:查詢處理器、Web Service中間件、數(shù)據(jù)解析器。
圖2 中間件Web service工作模型
(1)查詢處理器
查詢處理器包括查詢解析、查詢分解、查詢轉(zhuǎn)換三個部分。
(2)Web Service中間件
1)數(shù)據(jù)庫連接配置
數(shù)據(jù)庫連接配置用來存放與不同數(shù)據(jù)庫連接配置信息,連接配置信息包括數(shù)據(jù)庫連接語句、設置事務隔離級別、是否使用外連接抓取等。
2)異構數(shù)據(jù)映射配置
異構數(shù)據(jù)映射配置負責定義類與目標數(shù)據(jù)表進行映射,可以根據(jù)需要獲取局部或全部的數(shù)據(jù)字段,并且可以對數(shù)據(jù)表字段進行統(tǒng)一化、規(guī)范化處理。
3)獲取數(shù)據(jù)封裝
將獲取的數(shù)據(jù)按照約定進行封裝,便于集成系統(tǒng)的解析和處理。由Web Service表示數(shù)據(jù)的基本格式即XML的特點,獲取的結(jié)果集還要進行XML層的封裝,所以使得接收結(jié)果集的平臺,無論它們所使用的語言、平臺或內(nèi)部協(xié)議是什么,都可以很好的解析數(shù)據(jù)。
(3)數(shù)據(jù)解析器
數(shù)據(jù)解析器與具體數(shù)據(jù)表一一對應,完成接收結(jié)果集的信息的提取工作,并將數(shù)據(jù)存放在本地數(shù)據(jù)庫中或交于用戶層顯示給用戶。
(1)Web Service中間件初始化
為了把異構數(shù)據(jù)源數(shù)據(jù)集成在本文系統(tǒng)中,首先需要對Web Service中間件進行初始化。其中包括連接數(shù)據(jù)庫的配置文件和類、數(shù)據(jù)表映射文件以及程序的數(shù)據(jù)源封裝規(guī)則寫入。初始化基本流程如圖3所示。
圖4 接口可視化調(diào)用界面
圖5 接口返回數(shù)據(jù)界面
圖3 Web service中間件初始化
(2)系統(tǒng)工作過程
系統(tǒng)的運行過程如下:
1)用戶向系統(tǒng)發(fā)出查詢請求,系統(tǒng)啟動查詢處理器;
2)查詢處理器解析和分解查詢語句,然后將查詢語句生成執(zhí)查詢命令,最后發(fā)動查詢命令給相應的Web Service中間件;
3)Web Service中間件根據(jù)查詢命令進行查詢,然后將查詢結(jié)果返回給業(yè)務邏輯層中的數(shù)據(jù)解析器;
4)數(shù)據(jù)解析器將查詢結(jié)果存儲到本地數(shù)據(jù)庫,調(diào)用相應頁面向用戶顯示結(jié)果集。
系統(tǒng)主要集成了三個數(shù)據(jù)庫,即:學籍管理數(shù)據(jù)庫、教務管理數(shù)據(jù)庫、團委管理數(shù)據(jù)庫,主要實現(xiàn)對不同數(shù)據(jù)庫中學生信息的異構整合。用戶只要本系統(tǒng)就可以獲取不同數(shù)據(jù)庫中的數(shù)據(jù),而不必再去不同的管理系統(tǒng)中調(diào)取所需的數(shù)據(jù),也不用考慮不同數(shù)據(jù)庫中數(shù)據(jù)存儲位置、存儲格式、數(shù)據(jù)結(jié)構等不同導致的問題,也就是說,對用戶來說,只是在本系統(tǒng)中進行數(shù)據(jù)的查詢,各個復雜系統(tǒng)中不同的數(shù)據(jù)結(jié)構對用戶而言是不存在的。異構數(shù)據(jù)集成使得本系統(tǒng)可以更好的兼容其他學校系統(tǒng),無需考慮學校各個系統(tǒng)之間平臺、開發(fā)語言以及數(shù)據(jù)結(jié)構的差異。異構數(shù)據(jù)集成的實現(xiàn)依托于WebService接口中間件,根據(jù)對不同數(shù)據(jù)的不同數(shù)據(jù)要求,將數(shù)據(jù)表進行映射,然后對字段命名規(guī)則統(tǒng)一化,獲取所需的數(shù)據(jù)。WebService接口代碼可以依附本系統(tǒng)一起發(fā)布,也可以發(fā)布在對應異構數(shù)據(jù)庫的服務器上。本系統(tǒng)同過HTTP或TCP/IP的方式進行接口調(diào)用。得利與WebService接口可視化調(diào)用模式,如圖4所示為獲取學生獲得榮譽信息的接口截圖,GetStudentPrize為接口名稱,_studentnumber、_studentrelateinformation為接口的兩個參數(shù),填寫相應的查詢信息點擊調(diào)用,獲取數(shù)據(jù)集如圖5所示。截圖中可以看出,數(shù)據(jù)是以JSON格式進行編碼,以XML進行封裝的,極大的滿足了數(shù)據(jù)在不同平臺間的傳遞。系統(tǒng)收到接口反饋的數(shù)據(jù)進行解析,并呈現(xiàn)給用戶。
數(shù)據(jù)的異構問題在各個高校的學生管理工作中都存在,因此異構數(shù)據(jù)集成有很重要的作用和現(xiàn)實意義,異構數(shù)據(jù)集成為解決學生的各種信息來源于不同的數(shù)據(jù)庫,存儲不同的數(shù)據(jù)格式這個問題提供了一條解決途徑。
參考:馮潤民,基于SSH的高校學生管理系統(tǒng)設計與實現(xiàn):計算機工程,2009;馬孝賀,李莎,XML技術在大數(shù)據(jù)環(huán)境下的運用探討:無線互聯(lián)科技,2018;SANTIPACH W,HONIG M L.Optimization of training and feedback overhead for beamforming over block fading channels[J].IEEE Transactions on Information Theory,2010;余小高,余小鵬,基于Web服務、移動代理和本體的教育大數(shù)據(jù)集成研究:信息通信,2017;甘克勤,張寶林,計雄飛,田方,標準大數(shù)據(jù)實踐(1)——異構數(shù)據(jù)集成:標準科學,2016;劉云峰,楊冬青,唐世渭,et al.基于XML數(shù)據(jù)集成與交換中的完整性約束研究:計算機工程,2005;孫鴻飛,武慧娟,信息系統(tǒng)中基于數(shù)據(jù)倉庫技術的異構數(shù)據(jù)源的集成策略:電腦迷,2017;LEE S W,MOON B.Design of flash-based DBMS:an in-page logging approach;proceedings of the ACM SIGMOD International Conference on Management of Data,Beijing,China,June,F,2007;龐秋奔,李銀,基于Web Service多源異構系統(tǒng)增量同步的實現(xiàn):計算機應用與軟件,2018;NG A Y,JORDAN M I.PEGASUS:A policy search method for large MDPs and POMDPs;proceedings of the Conference on Uncertainty in Artificial Intelligence,F,2013;舒建武,基于ASP.Net技術和工作流技術的學生信息管理系統(tǒng)的研究與開發(fā):浙江工業(yè)大學,2009;袁宗杰,基于ASP.NET的學生信息管理系統(tǒng)的設計:電子科技大學,2014。