(漯河醫學高等專科學校,河南 漯河 462002)
大數據技術應用已有許多成功的案例,如何與校園可視化相結合,綜合多種定位技術,提供準確的室內和室外精確位置,以及學生活動內容,并通過三維可視空間直觀地展示數據挖掘分析結果是本文的創新之處。
在對學生在校軌跡信息進行大數據分析的基礎上,發現了學生的在校活動規律,以及在學習過程中的學習軌跡與成績、健康、安全等規律,不同時段學生聚集的空間規律等,作為促進學校教學輔助管理水平提高,后續管理水平提高的客觀數據依據。
整體設計應根據實際情況和信息技術發展的現狀,遵循以下技術原則:
1.根據系統建設項目中制定的相關規范,細化應用系統設計,采用成熟的平臺產品,加強和改進應用支撐平臺的設計,構建安全、易擴展的應用系統;
2.采用面向服務的架構(SOA)進行設計,并以組件化方式進行開發;
3.項目主體采用 Hadoop、Spark和JavaEE技術體系結構,按照通用的瀏覽器規范實現,支持通用的瀏覽器標準,如 HTML、DHTML;
4.系統提供了統一的數據接口和應用服務接口,并使用中間件技術對所有業務邏輯進行封裝,服務接口支持主流網絡服務技術;
5.遵循高內聚、低耦合的設計原則,最大限度地減少系統之間、系統內模塊之間的耦合程度,降低操作的復雜性,確保實現的通用性,提高系統的可重復使用性和可擴展性。
該系統采用“分布式部署”的模式,根據業務實際,通過業務流程說明、指標體系、統一軟件,支持從數據集成到數據服務應用的全過程。體系結構分為五個層次:數據整合層、數據支持服務層、數據治理層、數據挖掘服務層和服務應用層。
1.數據整合層:將分散、異構、不同類型的信息數據通過一個統一的數據整合器提取到操作數據存儲區(ODS)。分級數據整合系統是實現數據整合傳輸的基礎平臺。
2.大數據支撐服務層:大數據支撐服務平臺由大數據存儲服務和大數據計算服務組成,它為大數據存儲、計算、分析和大數據挖掘服務平臺提供基本的技術支持。
3.數據治理層:數據治理層通過對數據標準、元數據、主數據和數據質量檢測的管理,管理數據的整個生命周期中的問題,從而使數據過程中的問題可以識別、可以測量、可以監測,并且通過改進和改進組織的管理,進一步改進數據質量,為高質量的數據分析挖掘提供技術。
4.數據挖掘服務層:大數據挖掘和分析服務平臺是以數據挖掘模型為基礎的數據挖掘模型,它利用 OLAP和數據挖掘引擎對分步數據倉庫中的有效數據進行數據挖掘分析,從而形成有價值的數據知識。
5.數據應用層:數據應用層是對大學業務和服務重新應用經分析挖掘后有價值的數據。
主要包括 JBoss應用服務器、數據庫服務器、存儲設備等組成的系統物理部署環境,以及必要的附屬硬件設施。通過防火墻、VPN安全設備作為外部訪問安全性的主要保障。
該系統的主要用戶是通過網絡瀏覽器訪問該系統,通過網絡瀏覽器對大數據運營監管中心進行管理、維護、數據分析可視化展示等操作。
為有效地利用服務器資源,提高并發訪問性能,Web應用服務器邏輯部署采用類 Apache、JBoss集群方式,為靜態資源提供 Apache服務,為緩存提高性能,同時為 JBoss實例轉發動態請求,為特定服務類型提供圖片訪問服務,為獨立JBoss實例提供認證服務,以提高總體并發訪問性能。在優化緩存使用時,Orale數據庫主要采取數據分區的方式,從而提高數據訪問性能。Hadoop數據存儲主要采用分布式存儲和拷貝的方式,提高新的數據訪問能力和安全性。
包括大數據基礎支撐服務模塊、數據治理模塊、可視化展示三個部分。大數據支持服務是建立在Spark體系之上的,數據收集和分發是使用工具包和基于Actor模型的Akka高并發性、分布式和容錯應用,數據處理隊列使用Disruptor技術等。3-D視覺顯示部分是基于 three.js和Echarts圖表庫構建的Web GIS系統。
1.支撐服務
支持服務是大數據挖掘服務平臺的基礎服務,它為大數據環境下的數據存儲、處理和計算提供了應用基礎。數據支持服務平臺由統一的資源管理與調度平臺、分步數據倉庫、分步數據計算和服務接口等構成。
在大數據挖掘服務平臺中,包括 Hadoop HDFS、Tachyon和Spark等基于數據密集型應用的存儲和計算框架。由于考慮到資源利用率、運營成本、數據共享等因素,這些框架通常都希望部署在一個公共的集群中,讓它們共享集群的資源,統一地使用資源,Apache Mesos就是一個這樣的資源統一管理和調度平臺。
Apache的 Mesos包括四個組件,分別是Mesos-master、mesos-slave、framework和執行程序。
作為整個系統的核心,Mesos-master負責管理訪問 mesos的單個framework(由frameworks_manager管理)和 slave (由slaves_manager管理),并根據某種策略將 slave上的資源分配給 framework (由獨立插拔模塊 Allocator管理)。
mesos-slave從mesos-master中接收和執行命令,在節點上管理mesostask,并為各個 task分配資源。mesos-slave向mesos-master發送其資源量,由mesos-master中的 Allocator模塊決定將資源分配給哪一個framework,當前考慮的資源是 CPU和內存,也就是說,mesos-slave將向mesos-master發送 CPU數目和內存量,而用戶在提交作業時,需要指定每個任務所需的 CPU數目和內存量,這樣,當任務運行時,mesos-slave將任務放在包含固定資源的 linux container中運行,從而實現資源隔離。顯然,master存在單點故障問題,為此,mesos使用 zookeeper來解決這個問題。
框架是指外部計算框架,例如 Hadoop、Mesos等,這些計算框架可以通過注冊的方式訪問 mesos,從而實現對 mesos的統一管理和資源分配。Mesos要求可訪問框架必須具有一個調度程序模塊,該調度程序模塊負責在框架中調度任務。如果framework希望訪問 mesos,則需要對其自身的調度器進行修改以向 mesos注冊并獲取 mesos分配給自己的資源,這樣,mesos再由其自己的調度程序將這些資源分配給框架中的任務,即整個 mesos系統采用兩層調度框架:第一層,mesos將資源分配給框架;第二層,框架自己的調度程序將資源分配給其內部的任務。目前的 Mesos支持 C++、java和 python三種語言編寫的調度器,為了為各種調度器提供統一的訪問方式,在 Mesos內部使用 C++實現了一個MesosSchedulerDriver (調度器驅動器),framework的調度器可以調用該調度器中的接口與Mesos-master進行交互,完成一系列功能(如注冊、資源分配等)。
執行器主要用于在框架中啟動任務。因為不同的框架啟動task的接口或者方法不同,所以當一個新的框架要訪問 mesos時,需要編寫executor來告訴 mesos如何在這個框架中啟動 task。為各種框架提供統一的執行程序編寫方式,在Mesos中使用 C++實現了一個MesosExecutorDiver (執行器驅動器),通過這個驅動器的相關接口,framework可以告訴mesos如何啟動task。
2.可視化軌跡展示
利用基于 three.js技術的網絡 Gis平臺,依托校園三維可視化平臺,實現了校園內外三維建模、全景展示、漫游等功能,利用大數據支持下的數據采集模塊,實現了對全校實時位置空間數據、學生行為數據和各種基礎數據的采集,采集結果通過聚類算法對學生的軌跡信息進行分析,推薦算法對學生相似行為進行分析,通過遷移圖、熱力圖、散點圖等方法對校園地圖進行可視化顯示,具體可提供校園行蹤軌跡數據顯示,校園行蹤熱點分析,學生遷移規律分析,考勤分析,學生住宿情況分析,宿舍人口分布,相似學生分析等。
根據空間位置數據的及時性,將其劃分為實時和歷史位置數據。即時定位數據提供了個性化、綜合性、全校不同類型數據的空間軌跡數據顯示,并結合運動量實現了運動軌跡的可視化顯示;通過各種高性能技術模塊可以提供更為實時的數據計算結果。利用歷史位置數據可形成歷史運動軌跡數據,直觀地展示個體或整體的運動軌跡趨勢,掌握學校階段的運動軌跡趨勢圖。
對大數據技術在可視化校園中的應用,研究并應用了以空間位置和豐富圖表形式呈現學生行為軌跡的研究與應用,探索獲取的數據是否充分、全面,數據質量是否足夠高,對研究結果的影響,以及如何更好地進行更深入的后續研究與使用,需要不斷提升大數據治理,提供更多的數據獲取源和更多的數據分析維度。在數據不斷豐富、數據治理水平不斷提高的今天,結合可視化校園可以展示更多有意義的內容,拓展其他維度,可以為提升教學輔助管理提供更多幫助。