王鵬 魏薔
(南京哲圖信息技術有限公司)
在大數據技術基礎上,博物院數據可視化技術應運而生。通過對博物院數據進行過濾、清洗、分析,并運用多種手段營造逼真、形象、生動的展示效果,讓人們能夠更全面地了解博物院的展品信息、展覽信息以及觀眾數據。
本文主要闡述了基于大數據和可視化技術的南京博物院數據可視化平臺的設計與實現。通過對游客行為分析以及博物院環境監測,將信息系統由單一的技術化管理功能轉向管控與賦能一體化。最終形成服務于日常管理、展覽陳列、公眾服務、安全調控等多方面的綜合應用。
南京博物院信息化的建設理念始終秉承以業務需求為主要推動力,以服務保障博物院各類業務,提升管理水平,增強社會服務職能為目的,逐步建成了以公眾服務、文物安全、內部管理為核心的多個信息系統。在整體設計和建設中以顯示層信息化、趨勢層圖表化、證明層數據關聯化為高可靠數據決策服務,從技術中來,最終去技術化以可信信息可視化呈現。
數據中臺多系統級接入,預約系統、人流監測系統、文物環境系統、停車系統等多系統關聯接入,真生產數據的對接、關聯、治理、統計分級,觀眾行為分析數據準確度98%。
平臺架構如圖1所示,分為前端UI、展示層、業務層、數據層、數據庫和運行環境。系統分為博物院管理、藏品管理、票務管理、展區管理、活動管理、環境監測、咨詢接待、可視化展示等功能模塊。采用前后端分離的技術,前端通過Axios網絡請求庫將前端的服務和后端的服務的分離,在頁面載入時或者用戶進行操作時通過Axios請求獲取后端數據,通過Vue的數據綁定功能實時渲染前端頁面。后端采用Java的SpringBoot系列框架開發后端,使用RESTful風格定義后端接口,編寫描述準確的后端文檔,實現博物院管理、藏品管理、票務管理、展區管理、活動管理、環境監測、咨詢接待、可視化展示等功能的接口。前端使用前端框架Vue和前端UI框架Element-UI構建出用戶友好的前端界面,展示博物院基本信息,以及提供必要的界面交互。

圖1 平臺架構圖
實時計算采用日志服務記錄實時數據,通過flume對實時數據進行采集,作為數據的生產者,Kafka作為消息中間件傳輸實時數據,由spark框架接收并實時計算,計算后的數據存儲到數據庫中。數據庫采用MYSQL數據庫,對應實體類,管理各種所需要的信息,完成增刪改查操作,采用Mybatis-plus完成數據庫操作。采用面向對象方法對軟件系統進行分析與設計,完成低耦合的系統。
根據各個模塊的需求分析,設計了本系統數據庫E-R圖,如下圖2所示。

圖2 平臺E-R圖
1.博物院管理模塊
博物院管理模塊是對博物院的基本信息、歷史事件、旅游貢獻、年鑒信息以及媒體信息的管理,由管理員進行維護,管理員通過博物館管理界面增加、刪除、修改博物館信息。觀眾通過博物館展示界面查看博物館信息對博物院有基本的了解。
2.藏品接入模塊
藏品接入模塊由系統管理員進行維護,可以對博物院內的藏品信息進行同步,在藏品系統添加藏品,修改藏品信息后可以快速更新到平臺數據庫。
3.票務接入模塊
票務接入模塊提供平臺接口與博物院預約系統進行對接,可以從博物院預約系統獲取博物院票務信息以及觀眾的基本信息。
票務接入模塊通過調用接口連接博物院預約系統獲取觀眾數據,支持手動同步和定時同步。同時對觀眾數據進行實時統計保存到數據庫,供可視化模塊展示。
4.展區管理模塊
展區管理模塊提供了展區的基本信息,管理員可以修改展區狀態,選擇開放或是關閉;也可以添加活動到展區;通過監控設備展區模塊還支持查看各個展區客流量情況和觀眾聚集數,針對觀眾密度過大時還可以進行預警。
展區管理模塊除了包含管理員對展區信息的增加、刪除、修改、查詢功能,還具有人流監控功能以及人流預警功能。
5.活動管理模塊
活動管理模塊維護了博物院的所有活動,管理員可以新增活動,截止活動,修改活動基本信息,觀眾可以查看博物院當前開放的活動、教育活動、志愿服務活動、非遺活動、展覽活動、文創活動、文物保護活動以及學術研究活動等。
活動管理模塊包含了管理員對活動的增加、修改、刪除、查詢功能,支持實時統計活動次數功能。
6.環境監測接入模塊
環境監測接入模塊能夠對接博物院文物環境系統,通過文物環境系統可以準確地監測文物保護環境的溫度、濕度、光照度以及有害氣體。并且在某些條件快要超出指標時可以向管理員做出預警。
環境監測接入模塊通過調用接口連接博物院環境監測系統獲取環境數據,支持手動同步和定時同步,供可視化模塊展示。
7.咨詢接待模塊
咨詢接待模塊是博物院面向社會公眾的平臺,通過發放宣傳資料、兒童車、導覽器、輪椅等設施讓觀眾更加舒適地游覽博物院,也加強了博物院與外界的聯系。
咨詢接待模塊包含了管理員對活動的增加、修改、刪除、查詢功能,支持實時統計咨詢接待次數功能。
根據需求分析與系統設計,基于可視化技術的博物院大數據平臺主要包含博物院管理模塊、藏品接入模塊、票務接入模塊、展區管理模塊、活動管理模塊、環境監測接入模塊、咨詢接待模塊和可視化展示模塊等。
博物院管理模塊前端發送請求后由MuseumController控制類 接 收,MuseumController類中提供了查詢所有信息接口、根據ID查詢接口、分頁列表獲取接口、添加信息接口、刪除信息接口、更新信息接口以及統計計算接口與前端交互。MuseumService是一個接口類由MuseumServiceImpl實現類實現其中的方法,方法與接口類中的抽象方法一一對應。MuseumMapper是數據層,對數據庫進行數據持久化操作。Museum是博物院信息實體類,與數據庫中的博物院信息表對應。博物院信息管理模塊信息展示頁面如圖3所示。

圖3 博物院信息展示頁面
環境監測接入模塊,實時計算采用的是flume+kafka+spark的框架,通過讀取博物院環境系統的日志文件獲取實時環境監測數據,flume對環境監測數據進行清洗后發送給kafka,數據經過Kafka交給spark集群計算,最后將spark集群計算后的結果存入數據庫。數據查看還是使用Spring MVC框架,在EnvController中實現了三種獲取監測數據的接口,在EnvServiceImpl中實現了這三個接口。環境監測模塊如圖4所示。

圖4 環境監控模塊-溫濕度、光照度、有害氣體等監測圖表
南京博物館可視化平臺涉及物聯網、大數據、觀眾特征分析等是信息行業的前沿技術,在各個領域均有成熟應用,配合自研算法、系統集成及數據可視化,可以完成數據的精確采集、智能分析和直觀展示,技術先進且可靠。