王鵬 魏薔
(南京哲圖信息技術(shù)有限公司)
在大數(shù)據(jù)技術(shù)基礎(chǔ)上,博物院數(shù)據(jù)可視化技術(shù)應運而生。通過對博物院數(shù)據(jù)進行過濾、清洗、分析,并運用多種手段營造逼真、形象、生動的展示效果,讓人們能夠更全面地了解博物院的展品信息、展覽信息以及觀眾數(shù)據(jù)。
本文主要闡述了基于大數(shù)據(jù)和可視化技術(shù)的南京博物院數(shù)據(jù)可視化平臺的設(shè)計與實現(xiàn)。通過對游客行為分析以及博物院環(huán)境監(jiān)測,將信息系統(tǒng)由單一的技術(shù)化管理功能轉(zhuǎn)向管控與賦能一體化。最終形成服務(wù)于日常管理、展覽陳列、公眾服務(wù)、安全調(diào)控等多方面的綜合應用。
南京博物院信息化的建設(shè)理念始終秉承以業(yè)務(wù)需求為主要推動力,以服務(wù)保障博物院各類業(yè)務(wù),提升管理水平,增強社會服務(wù)職能為目的,逐步建成了以公眾服務(wù)、文物安全、內(nèi)部管理為核心的多個信息系統(tǒng)。在整體設(shè)計和建設(shè)中以顯示層信息化、趨勢層圖表化、證明層數(shù)據(jù)關(guān)聯(lián)化為高可靠數(shù)據(jù)決策服務(wù),從技術(shù)中來,最終去技術(shù)化以可信信息可視化呈現(xiàn)。
數(shù)據(jù)中臺多系統(tǒng)級接入,預約系統(tǒng)、人流監(jiān)測系統(tǒng)、文物環(huán)境系統(tǒng)、停車系統(tǒng)等多系統(tǒng)關(guān)聯(lián)接入,真生產(chǎn)數(shù)據(jù)的對接、關(guān)聯(lián)、治理、統(tǒng)計分級,觀眾行為分析數(shù)據(jù)準確度98%。
平臺架構(gòu)如圖1所示,分為前端UI、展示層、業(yè)務(wù)層、數(shù)據(jù)層、數(shù)據(jù)庫和運行環(huán)境。系統(tǒng)分為博物院管理、藏品管理、票務(wù)管理、展區(qū)管理、活動管理、環(huán)境監(jiān)測、咨詢接待、可視化展示等功能模塊。采用前后端分離的技術(shù),前端通過Axios網(wǎng)絡(luò)請求庫將前端的服務(wù)和后端的服務(wù)的分離,在頁面載入時或者用戶進行操作時通過Axios請求獲取后端數(shù)據(jù),通過Vue的數(shù)據(jù)綁定功能實時渲染前端頁面。后端采用Java的SpringBoot系列框架開發(fā)后端,使用RESTful風格定義后端接口,編寫描述準確的后端文檔,實現(xiàn)博物院管理、藏品管理、票務(wù)管理、展區(qū)管理、活動管理、環(huán)境監(jiān)測、咨詢接待、可視化展示等功能的接口。前端使用前端框架Vue和前端UI框架Element-UI構(gòu)建出用戶友好的前端界面,展示博物院基本信息,以及提供必要的界面交互。
圖1 平臺架構(gòu)圖
實時計算采用日志服務(wù)記錄實時數(shù)據(jù),通過flume對實時數(shù)據(jù)進行采集,作為數(shù)據(jù)的生產(chǎn)者,Kafka作為消息中間件傳輸實時數(shù)據(jù),由spark框架接收并實時計算,計算后的數(shù)據(jù)存儲到數(shù)據(jù)庫中。數(shù)據(jù)庫采用MYSQL數(shù)據(jù)庫,對應實體類,管理各種所需要的信息,完成增刪改查操作,采用Mybatis-plus完成數(shù)據(jù)庫操作。采用面向?qū)ο蠓椒▽浖到y(tǒng)進行分析與設(shè)計,完成低耦合的系統(tǒng)。
根據(jù)各個模塊的需求分析,設(shè)計了本系統(tǒng)數(shù)據(jù)庫E-R圖,如下圖2所示。
圖2 平臺E-R圖
1.博物院管理模塊
博物院管理模塊是對博物院的基本信息、歷史事件、旅游貢獻、年鑒信息以及媒體信息的管理,由管理員進行維護,管理員通過博物館管理界面增加、刪除、修改博物館信息。觀眾通過博物館展示界面查看博物館信息對博物院有基本的了解。
2.藏品接入模塊
藏品接入模塊由系統(tǒng)管理員進行維護,可以對博物院內(nèi)的藏品信息進行同步,在藏品系統(tǒng)添加藏品,修改藏品信息后可以快速更新到平臺數(shù)據(jù)庫。
3.票務(wù)接入模塊
票務(wù)接入模塊提供平臺接口與博物院預約系統(tǒng)進行對接,可以從博物院預約系統(tǒng)獲取博物院票務(wù)信息以及觀眾的基本信息。
票務(wù)接入模塊通過調(diào)用接口連接博物院預約系統(tǒng)獲取觀眾數(shù)據(jù),支持手動同步和定時同步。同時對觀眾數(shù)據(jù)進行實時統(tǒng)計保存到數(shù)據(jù)庫,供可視化模塊展示。
4.展區(qū)管理模塊
展區(qū)管理模塊提供了展區(qū)的基本信息,管理員可以修改展區(qū)狀態(tài),選擇開放或是關(guān)閉;也可以添加活動到展區(qū);通過監(jiān)控設(shè)備展區(qū)模塊還支持查看各個展區(qū)客流量情況和觀眾聚集數(shù),針對觀眾密度過大時還可以進行預警。
展區(qū)管理模塊除了包含管理員對展區(qū)信息的增加、刪除、修改、查詢功能,還具有人流監(jiān)控功能以及人流預警功能。
5.活動管理模塊
活動管理模塊維護了博物院的所有活動,管理員可以新增活動,截止活動,修改活動基本信息,觀眾可以查看博物院當前開放的活動、教育活動、志愿服務(wù)活動、非遺活動、展覽活動、文創(chuàng)活動、文物保護活動以及學術(shù)研究活動等。
活動管理模塊包含了管理員對活動的增加、修改、刪除、查詢功能,支持實時統(tǒng)計活動次數(shù)功能。
6.環(huán)境監(jiān)測接入模塊
環(huán)境監(jiān)測接入模塊能夠?qū)硬┪镌何奈锃h(huán)境系統(tǒng),通過文物環(huán)境系統(tǒng)可以準確地監(jiān)測文物保護環(huán)境的溫度、濕度、光照度以及有害氣體。并且在某些條件快要超出指標時可以向管理員做出預警。
環(huán)境監(jiān)測接入模塊通過調(diào)用接口連接博物院環(huán)境監(jiān)測系統(tǒng)獲取環(huán)境數(shù)據(jù),支持手動同步和定時同步,供可視化模塊展示。
7.咨詢接待模塊
咨詢接待模塊是博物院面向社會公眾的平臺,通過發(fā)放宣傳資料、兒童車、導覽器、輪椅等設(shè)施讓觀眾更加舒適地游覽博物院,也加強了博物院與外界的聯(lián)系。
咨詢接待模塊包含了管理員對活動的增加、修改、刪除、查詢功能,支持實時統(tǒng)計咨詢接待次數(shù)功能。
根據(jù)需求分析與系統(tǒng)設(shè)計,基于可視化技術(shù)的博物院大數(shù)據(jù)平臺主要包含博物院管理模塊、藏品接入模塊、票務(wù)接入模塊、展區(qū)管理模塊、活動管理模塊、環(huán)境監(jiān)測接入模塊、咨詢接待模塊和可視化展示模塊等。
博物院管理模塊前端發(fā)送請求后由MuseumController控制類 接 收,MuseumController類中提供了查詢所有信息接口、根據(jù)ID查詢接口、分頁列表獲取接口、添加信息接口、刪除信息接口、更新信息接口以及統(tǒng)計計算接口與前端交互。MuseumService是一個接口類由MuseumServiceImpl實現(xiàn)類實現(xiàn)其中的方法,方法與接口類中的抽象方法一一對應。MuseumMapper是數(shù)據(jù)層,對數(shù)據(jù)庫進行數(shù)據(jù)持久化操作。Museum是博物院信息實體類,與數(shù)據(jù)庫中的博物院信息表對應。博物院信息管理模塊信息展示頁面如圖3所示。
圖3 博物院信息展示頁面
環(huán)境監(jiān)測接入模塊,實時計算采用的是flume+kafka+spark的框架,通過讀取博物院環(huán)境系統(tǒng)的日志文件獲取實時環(huán)境監(jiān)測數(shù)據(jù),flume對環(huán)境監(jiān)測數(shù)據(jù)進行清洗后發(fā)送給kafka,數(shù)據(jù)經(jīng)過Kafka交給spark集群計算,最后將spark集群計算后的結(jié)果存入數(shù)據(jù)庫。數(shù)據(jù)查看還是使用Spring MVC框架,在EnvController中實現(xiàn)了三種獲取監(jiān)測數(shù)據(jù)的接口,在EnvServiceImpl中實現(xiàn)了這三個接口。環(huán)境監(jiān)測模塊如圖4所示。
圖4 環(huán)境監(jiān)控模塊-溫濕度、光照度、有害氣體等監(jiān)測圖表
南京博物館可視化平臺涉及物聯(lián)網(wǎng)、大數(shù)據(jù)、觀眾特征分析等是信息行業(yè)的前沿技術(shù),在各個領(lǐng)域均有成熟應用,配合自研算法、系統(tǒng)集成及數(shù)據(jù)可視化,可以完成數(shù)據(jù)的精確采集、智能分析和直觀展示,技術(shù)先進且可靠。