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