鄧涵元,盧 山,程 光
(1.武漢郵電科學研究院,湖北 武漢 430074;2.南京烽火軟件科技有限公司,江蘇 南京 210019;3.東南大學,江蘇 南京 210019)
高校信息化從20世紀80年代開始,在21世紀引入了數字化校園的概念。數字化校園是構建一個包括教學、科研、管理、服務于一體的數字環境,能夠提升傳統校園的工作效率,實現教學科研的全面信息化,提高教師的教學質量,提升學校對于各個機構和系統的管理水平[1]。隨著數字化校園的建設[2],在高校的各個系統中均積累了大量的數據。由于各個異構系統的建設時期不同,采用的標準規范、技術路線編程語言等也不同,因而形成了一個個的“數據孤島”。這些“數據孤島”造成了高校資源分散、存儲冗余、管理成本高、決策支持弱、各職能部門無法進行協同工作。
于是將各信息系統的數據整合、匯聚到數據集成系統上就顯得尤為重要,這有利于從不同的角度來分析學生的生活、學習、心理等各方面的成長情況,有利于學校各個職能部門的管理和協調。據調研,目前,某高校每年均有約2萬名學生入學,積累了大量的數據;這些數據不僅數量級大,數據結構也多樣,既有學生的基本信息、成績信息、校園卡消費記錄等結構化數據,也有上網記錄等非結構化或半結構化數據。
傳統的數據集成大多只是簡單地以集成后能夠查詢使用為目的進行數據集成。當前研究者對校園數據集成和分析做了多方面的研究。吳振濤[3]提出了基于數據倉庫的通用的校園數據集成框架,為高校的數據倉庫建設提供了一個整體框架和模型;王晶春[4]對高校數據集成廣泛應用的幾類框架進行綜合的比較,提出集線器總體架構模式;李蘭友等[5]提出了基于ODI技術的高校數據流轉運中心架構模式。然而,這些研究都是基于傳統的數據集成技術,大多是主機加集中存儲的架構。軟件方面則主要選擇Oracle相關數據庫產品來搭建數據倉庫。而隨著數據的迅猛增長以及數據類型復雜程度的增加,傳統的數據倉庫產品的不足也逐漸凸現出來:處理數據量小,投資成本高,擴展性差,數據加載和查詢效率低,針對非結構化數據的特征提取、多數據融合分析遇到困難。
針對以上問題,結合Hadoop和MPP技術,文中設計并實現了一個基于MPP-Hadoop混合框架的高校異構數據集成系統,將數據融合、匯總、分析,提高數據查詢和加載的效率,提高擴展性,并通過實驗驗證該系統的有效性。
Hadoop[6]是一個分布式的系統基礎架構,能夠充分利用集群進行高速運算和存儲。Hadoop有高可靠性[7]、高效性、可擴展性、高容錯性等優勢[8]。
Hadoop的優勢在于能十分高效地處理大量的非結構化或半結構化數據。但與傳統的關系型數據庫相比,在處理復雜的多表關聯分析、數據分析挖掘以及易操作性方面還存在差距。
MPP(massive parallel processing)[9]數據庫本質上仍然是一個關系型數據庫。它可以將任務并行地分散到多個工作節點上,磁盤存儲系統和內存系統均為每個節點獨有,不與其他節點共享,是share-nothing[10]模式,各個節點之間通過網絡互相連接,彼此協同計算,將各自的結果匯總到一起得到最終結果。與傳統的關系型數據庫相比,MPP數據庫在數據處理方面,具有采用分布式架構[11]、處理數據量大、更大的I/O能力、擴展能力好、采用列式存儲[12]、節約存儲空間等優勢。
該面向高校的異構數據集成系統結合Hadoop和MPP兩種技術的優勢,架構設計如圖1所示,總體上分為數據層、應用層和數據源層。
(1)數據源即包含來自各個異構系統的數據,大致可以分為兩塊,一是來自傳統的結構化數據,二是來自海量非結構化或者半結構化的大數據(如上網日志數據)等。
(2)數據層包括數據存儲平臺和ETL數據預處理平臺兩部分ETL數據預處理平臺從本地FTP服務器中抽取相關基礎數據,抽取方式分為全量抽取和增量抽取兩種。全量抽取將所有的初始數據抽取到目標數據庫中,增量抽取針對新增數據,時間間隔為24小時自動抽取。抽取后的數據需要進行清洗、轉換和加載,去除噪聲數據、轉換數據格式、生成新的數據等。處理后的數據一部分進入傳統的數據庫中,一部分存儲到Hadoop的HDFS中,再將兩部分的數據整合、匯聚到MPP數據倉庫中,完成數據的基本存儲功能。
(3)在大數據背景下,簡單地將異構的數據源集成起來實現查詢已經不能滿足現實要求,應用層的功能除了查詢和展示結果外,還有分析和挖掘、生成報表等。在高校應用場景下,主體主要是教師、學生以及職工,應用層將以不同的主體,不同的數據分析需求實現不同的功能。
(4)元數據管理對各個來源的數據進行集中管理,構建元數據模型,能夠更加有效地對數據質量進行把控,更高效地進行數據集成分析和挖掘。
傳統的數據倉庫基本上都基于Oracle產品[13],數據加載速度、數據查詢效率在海量大數據情況下變慢甚至無法加載或者查詢。GreenPlum是EMC推出的大規模并行處理(MPP)的數據庫軟件,是一個基于PostgreSQL的開源分布式數據引擎,是目前業界研究和應用比較廣泛的數據倉庫引擎之一。它具有高并發支持、良好的線性擴展能力、高性價比、高可用性等優勢。結合學生行為軌跡數據的特點,選用GreenPlum作為數據倉庫來搭建面向學生行為軌跡數據分析的數據集成系統,并與傳統數據倉庫Oracle產品搭建的數據集成系統進行對比。
在x86平臺上分別搭建Hadoop集群平臺和MPP數據庫平臺。Hadoop集群由1臺控制節點和3臺數據處理節點組成,操作系統采用Linux5.5,Java環境的JDK版本為jdk-1.7。MPP分布式環境由一個Master(主節點)和多個Segment(數據節點)組成,每個節點配置2個CPU內核、8 GB內存,節點之間使用千兆網絡連接。操作系統為Linux5.5,選擇的MPP數據庫版本為Greenplum-db-4.1.1.3,將具有高并發性、高可用性優勢的MPP數據庫作為數據倉庫對海量數據進行集中的管理和存儲,結合Hadoop集群的高速存儲和運算的特點,搭建系統的物理組網架構,如圖2所示。

圖2 物理組網架構
大學生群體作為一個特定的、龐大的社會群體,其軌跡行為具有很強的規律性。對于個體而言,掌握其行為軌跡規律對于掌握其學習、生活的規律和習慣有一定的幫助,對于出現的異常能夠起到一定的指導作用。而對于群體而言,了解校園熱點地區分布[14],對學校的后勤工作有一定的指導作用。對學生軌跡的相似度進行分析,對于了解學生的線下社交[15]、好友發現、排除孤獨癥患者等有一定的意義,為學生心理健康的管理工作提供一定的依據。據了解,某高校有在校本科生2萬余名,每名學生每天均產生大量的軌跡數據,在數據加載和查詢方面進行對比評測。
目前,某高校宿舍、圖書館、體育館均設有門禁設備,但是某些區域如教學樓沒有門禁,而且門禁可能存在代刷、漏刷的現象,所以,單以門禁記錄來研究學生的軌跡不夠準確。通過調查發現,該高校教學區、宿舍、食堂、休閑區域均有wifi部署,隨著校園移動設備用戶的爆炸式増長,產生了大量的wifi位置記錄數據。而且,wifi數據對研究學生的校園行為的位置,具有覆蓋范圍廣、定位精度高、成本低等特點。但是,單以wifi數據來研究學生的軌跡數據,則可能存在學生進入某區域未使用wifi連接網絡造成軌跡數據缺失的情況。故結合校園卡門禁刷卡數據和wifi上下線信息,能夠比較真實地反映學生的軌跡信息。
該實驗選取的數據來自某高校大一學生2016年一學期即4個月的wifi上下線日志數據,約1 500萬條,以及學生校園卡刷卡記錄,約600萬條,總量大小為65.4 GB。
由于獲取的校園學生wifi登錄數據信息量大且復雜,包含字段較多,而真正有價值的只有幾個字段,因此首先需要對原始數據進行過濾和篩選。為獲取學生行為軌跡數據,主要有用的字段是學生學號、wifi登錄時間、校園位置Id、刷卡時間、刷卡位置Id。
(1)對獲取到的原始數據進行統計分析,系統中存在一定時間內反復刷卡或者反復登錄的情況,設置時間閾值Δt=1 min,過濾掉連續刷卡以及在某個時間反復連接wifi的數據。
(2)根據用戶名過濾到教職工以及其他賬號信息,只保留學生的數據。
(3)門禁刷卡記錄的原始數據中記錄了用戶登錄時所在校園位置的ID號;wifi上下線日志數據中存儲的位置信息用經度(longtitude)和緯度(latitude)字段表示,結合百度地圖API[16]和文獻[14]提出的基于校園環境的逆地址解析算法進行校園位置的轉換。
經過清洗后存儲到數據庫中的變量名及變量的含義如表1所示。

表1 變量名及含義
3.3.1 數據加載
將預處理后的數據采用外部表的方式分別加載到原系統和現系統中,加載速度對比如表2所示。

表2 數據加載速度對比
3.3.2 數據查詢
(1)在硬件配置相同的情況下,該系統采用4個節點與現有系統進行查詢復雜度對性能影響的比較,在查詢復雜度Q3>Q2>Q1的情況下,查詢效率對比如圖3所示。

圖3 數據查詢效率與復雜度的關系
(2)將同樣的數據分別加載到現有系統和文中系統后,測試對比多表連接查詢語句(join)的查詢性能,如表3所示。

表3 查詢效率對比
從實驗結果來看,與傳統數據庫的處理方式相比,文中系統在數據加載和查詢效率上有明顯的提升,并且具有良好的擴展性,查詢效率隨著數據節點的增加近乎呈線性增長的趨勢。但是在數據量不大的情況下,現有系統查詢處理效率不比文中系統低,在海量數據處理的情況下,文中系統能夠體現出強大的處理能力。故搭建的異構數據集成系統在高校的海量數據環境下在數據處理和分析上具有明顯的優勢。
為了分析學生軌跡變化,引入統計學中相似度的概念。相似度使用以度量兩組數據變化趨勢相似程度的一個數值亮度,其取值范圍為[-1,1]。相似度的計算方法基于統計學中相關系數的概念。
另外,結合可視化技術比較不同學生的行為軌跡數據,構建班級社交網絡,發現學生的社交關系,避免大量的問卷以及人工調查的繁瑣工作,分析出學生的社交情況,便于對社交能力弱的學生提供幫助,結合心理資源庫中的測評結果,篩選較為孤僻的學生,能夠為高校中的學生心理健康教育工作提供指導。
結合MPP和Hadoop技術,將數據從業務系統中抽離出來,提出一種基于MPP-Hadoop混合架構的高校數據集成的系統框架,實現業務系統間的數據共享,充分發揮數字化校園的整體協同功能,解決了傳統數據庫在海量數據情況下數據加載慢、數據查詢效率低、難以融合多種異構數據源進行分析等問題。并以學生行為軌跡數據的分析為例,驗證了系統的有效性,為學生的管理工作提供支持。