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