摘要:智慧消防系統(tǒng)是一種將GPS(全球衛(wèi)星定位系統(tǒng))、GIS(地理信息系統(tǒng))、GSM(無線移動通信系統(tǒng))和計算機、物聯(lián)網及大數(shù)據(jù)等技術集于一體的智能消防無線網絡服務系統(tǒng)Redis內存數(shù)據(jù)庫應用于智慧消防系統(tǒng)的設計中,可以使智慧消防數(shù)據(jù)查詢滿足高訪問量、操作方便的現(xiàn)實需求,為智慧消防的大數(shù)據(jù)存儲設計提供了有效的參考。
關鍵詞:智慧消防;物聯(lián)網;大數(shù)據(jù);Redis內存數(shù)據(jù)庫
0引言
智慧消防系統(tǒng)山是一種將GPS(全球衛(wèi)星定位系統(tǒng))、GIS(地理信息系統(tǒng))、GSM(無線移動通信系統(tǒng))和計算機、物聯(lián)網和大數(shù)據(jù)⑵等技術集于一體的智能消防無線網絡服務系統(tǒng)。隨著信息技術的深度發(fā)展,人類已進入大數(shù)據(jù)時代,消防行業(yè)面臨著巨大挑戰(zhàn)與機遇,傳統(tǒng)消防系統(tǒng)工作方式與新形勢、新任務不相適應的矛盾日益凸顯,在物聯(lián)網產業(yè)迅猛發(fā)展的大背景下,主動運用大數(shù)據(jù)來解決了電信、建筑、供電、交通等公共設施建設協(xié)調發(fā)展的問題,在智慧消防系統(tǒng)中,消防指揮與用戶單位聯(lián)網,改變了過去傳統(tǒng)、落后和被動的、接警、處警方式,實現(xiàn)了自動化、接警智能化、處警預案化、管理網絡化、服務專業(yè)化、科技現(xiàn)代化,大大減少了中間環(huán)節(jié),提高了處警速度,做到了方便、快捷、可靠,使人民生命、財產的以及警員生命的得到保護
Redis*Remotedictionaiyserver)是開源的、網絡化的、基于內存的、可進行數(shù)據(jù)持久化的Key-Vah/存儲系統(tǒng)。它的數(shù)據(jù)模型建立在外層,類似于其他結構化存儲系統(tǒng),是通過Key映射Value的方式來建立字典以保存數(shù)據(jù),有別于其他結構化存儲系統(tǒng)的是,它支持多種數(shù)據(jù)類型的存儲:字符串(string)、鏈表(list)、集合(set)、有序集合(zset)和哈希類型(hash),并且各種類型都支持豐富的操作,其中大多都支持原子操作。為了保證數(shù)據(jù)存取的效率,數(shù)據(jù)都保存在內存中Redis還提供了對持久化的支持%它可以定期將更新的數(shù)據(jù)異步寫入磁盤,同時不影響繼續(xù)提供服務。在此基礎上,還實現(xiàn)了主從復制,這對預防單點故障和提高負載能力有很大幫助。在操作方面,Redis基于TCP協(xié)議的特性使得它可以通過管道的方式進行數(shù)據(jù)操作閩。Redis本身提供了一個可連接Server的客戶端,通過客戶端可方便地進行數(shù)據(jù)存取操作。
在智慧消防底層數(shù)據(jù)庫設計中,*可以應用Redis數(shù)據(jù)存儲系統(tǒng),以滿足高訪問量與操作方便的需求氣在操作方面,應用Redis的管道通訊方式進行數(shù)據(jù)操作,通過Redis本身的客戶端,可以同時連接Server服務器,方便地進行數(shù)據(jù)存取操作常用的消防產品信息如:產品的生產企業(yè)、型號、證書編號、地理位置信息與應急救援指示信息等較復雜的信息等信息可以以字符串的格式存儲在Redis的底層數(shù)據(jù)結構中、通過hash結構存儲,并通過可以標識產品信息的主鍵建立不同數(shù)據(jù)表中各條產品信息的聯(lián)系,構建底層信息字典利用Redis底層數(shù)據(jù)結構對字符串和字典數(shù)據(jù)的支持,可以達到快速査詢的目的。
在字符串數(shù)據(jù)的實現(xiàn)中,采用SDS(SimpleDynamicString,簡單動態(tài)字符串)取代了功能單一,抽象層次低,并且不的char*類型字符串。在字典數(shù)據(jù)的實現(xiàn)中,為了兼顧簡單性,使用了哈希表。在實現(xiàn)哈希表時,有一個問題是釆用何種策略來解決碰撞問題。對于使用鏈地址法來解決碰撞問題的哈希表來說.哈希表的性能取決于哈希表大小與保存節(jié)點數(shù)量之間的比率、RDB將數(shù)據(jù)庫的快照以二進制的方式保存到磁盤中在Redis運行時,RDB程序將當前內存中的數(shù)據(jù)庫快照保存到磁盤文件中,在Redis重啟動時,RDB程序可以通過載入RDB文件來還原數(shù)據(jù)庫的狀態(tài)。AOF則以協(xié)議文本的方式,將所有對數(shù)據(jù)庫進行過寫入的命令(及其參數(shù))記錄到AOF文件,以此達到記錄數(shù)據(jù)庫狀態(tài)的目的。AOF更像是歷史記錄,記錄所有運行過的命令。但是AOF文件會隨著時間持續(xù)增長,進而占據(jù)整個磁盤為此,Redis設計了AOF重寫機制,通過開啟新線程,掃描數(shù)據(jù)庫數(shù)據(jù),將其轉化為Redis命令,存入臨時的AQF文件當掃描完后,用臨時文件代替AOF文件。這樣一來,AOF文件中記錄的命令,因而不會占據(jù)很多空間。
Redis兼具內存數(shù)據(jù)庫隨機訪問的優(yōu)勢和Key-Value數(shù)據(jù)模型簡單特點,因此,其I/O性能非常優(yōu)異,支持高并發(fā)性,豐富的數(shù)據(jù)結構適合存儲何種復雜的數(shù)據(jù)??紤]到社會對智慧消防數(shù)據(jù)服務的實時響應、高并發(fā)、高吞吐量提出了更高的需求,且大多數(shù)消防產品信息數(shù)據(jù)服務后臺數(shù)據(jù)量并不大,大容量、低價格的內存使得以內存數(shù)據(jù)庫的輕量級空間數(shù)據(jù)應用成為可能。本文以內存數(shù)據(jù)庫Redis為平臺,利用其響應速度快、并發(fā)性高、數(shù)據(jù)結構豐富的優(yōu)勢,研究了Redis的輕量級數(shù)據(jù)的組織和索引方法,提升髙并發(fā)訪問下消防產品信息數(shù)據(jù)服務的響應速度和査詢性能。
1 Redis數(shù)據(jù)模型
1.1數(shù)據(jù)結構設計
Redis本身存儲是一個巨大的Hash表,為了模仿關系型數(shù)據(jù)庫的表,通常使用分隔符分隔“表名”以及“字段”,本文使用”:”作為分隔符例如存儲一個消防產品的屬性信息,可以表示為Product:ProductID作為key,并用hash結構存儲消防產品屬性信息field域包括:產品名稱(ProductName)、產品型號(ProductType)、出廠日期(DateofProduct)、技術參數(shù)(TechnicalParameters)、證書編號(CertificateNumber)、安裝位置(InstallationSite)和記錄(AlarmRecord)等字段。value域包含實際的存儲信息。在每一個消防產品投入到智慧消防云平臺前,系統(tǒng)會為其賦予的產品編號PmductlD,因此該key。
表1Redis中hash數(shù)據(jù)結構設計示例
1.2系統(tǒng)配置
本文采用主從方式進行系統(tǒng)配置,共有3個主(master)節(jié)點,3個從(slave)節(jié)點,采用全雙工通信方式,客戶端連接數(shù)設置為10000,系統(tǒng)為每個節(jié)點分配的內存為1000MB。采用Java虛擬機環(huán)境,Jvm主處理單元配置為4核Intel(R)Xeon(R)CPUE7-4830v2@2.20GHz,內存31GB,操作系統(tǒng)選擇NeoKylinLinuxAdvancedServerrelease6.0o緩存集群服務器主處理器配置為4核Intel(R)Core(TM)i3-2120CPU@3.30GHz,內存5.5GB,操作系統(tǒng)選擇RedHatEnterpriseLinuxServerrelease6.3o
2實驗與分析
2.1大批量操作緩存測試
智慧消防是一個全新的概念和理念,目前尚處于發(fā)展階段,還沒有統(tǒng)一的定義和標準。根據(jù)智慧消防模型設計的理念圓,模擬出能夠體現(xiàn)消防產品信息,消防產品安裝位置信息和消防產品地理位置信息等數(shù)據(jù),根據(jù)這些信息生成智慧消防系統(tǒng)的模擬數(shù)據(jù)。在消防產品入網前,為每一個產品分配的ProductID,以作為該產品在系統(tǒng)中的標識??紤]到消防數(shù)據(jù)的復雜與多樣性性在模擬數(shù)據(jù)時,盡可能地選擇了多的可能體現(xiàn)消防產品信息的數(shù)據(jù),考慮到不同的表中要素的個數(shù)不同,共生成了2個數(shù)據(jù)表KalOO和AcOOl,其中KalOO中數(shù)據(jù)盡可能多地體現(xiàn)了產品的信息,表中所含要素個數(shù)為27891個,AcOOl盡可能多地體現(xiàn)了產品的位置信息,表中所含要素個數(shù)為46254個,2張表格中分別具有消防產品信息數(shù)據(jù)10萬條。
2.2寫緩存測試
考慮到智慧消防系統(tǒng)在實際應用中,寫緩存業(yè)務單次不會超過5萬條,因此將測試的數(shù)據(jù)量上限設為5萬。當緩存服務器宕機或其他因素導致緩存不可用時,程序會將單次上傳的所有數(shù)據(jù)存入一條zzOl的blob(binarylargeobject)類型字段中,其中blob的容量為2GB。下面本文對寫緩存成功的時間,寫緩存失敗的時間以及緩存失敗時存入blob的數(shù)據(jù)量進行了測試。測試結果如下圖1、圖2。
通過對測試結果進行分析,可以看出緩存同步時間隨著數(shù)據(jù)量的增加基本呈現(xiàn)線性增長的趨勢,當數(shù)據(jù)量達到5萬條時,AcOOl大小為18.6MB,KalOO大小為18MB,而blob可以容納2GB,不會發(fā)生溢出。這樣的結果說明,Redis寫緩存的實現(xiàn)過程*可以滿足智慧消防系統(tǒng)實際應用中大數(shù)據(jù)量同時寫入緩存的需求。
2.3數(shù)據(jù)査詢測試
本文中共使用2個數(shù)據(jù)表KalOO和AcOOl,其中KalOO中數(shù)據(jù)盡可能多的體現(xiàn)了產品的信息,表中所含要素個數(shù)為27891個,AcOOl盡可能多地體現(xiàn)了產品的位置信息,表中所含要素個數(shù)為46254個,2張表格中分別具有消防產品信息數(shù)據(jù)10萬條。在Redis環(huán)境和普通數(shù)據(jù)庫環(huán)境下,分別對兩張表中不同條數(shù)的數(shù)據(jù)進行了査詢,測試結果取5次測試的平均值,計算出平均査詢時間。
如上圖3、圖4,從測試結果中可以看出,無論什么數(shù)據(jù),Redis環(huán)境都比Oracle環(huán)境下耗時少得多。因為Oracle使用的是R樹空間索引,而Redis使用的是網格索引,通常來講,R樹空間索引的效率要高于網格索引的效率,但Redis在網格索引的支持下,效率仍然高于Oracle,說明Redis在智慧消防數(shù)據(jù)的査詢上,效率更高。另外,Redis作為內存型數(shù)據(jù)庫,數(shù)據(jù)存放在內存中,數(shù)據(jù)査詢可以得到快速響應,而傳統(tǒng)的關系型數(shù)據(jù)庫Oracle,需要將數(shù)據(jù)存放在硬盤中,需要先傳輸?shù)絻却嬷校拍艿玫巾憫?,受制于I/O傳輸瓶頸,査詢效率明顯低于Redis數(shù)據(jù)庫。
3 安科瑞智慧消防監(jiān)控云平臺介紹與選型
3.1平臺簡介
安科瑞智慧消防綜合管理云平臺基于物聯(lián)網、大數(shù)據(jù)、云計算等現(xiàn)代信息技術,將分散的火災自動設備、電氣火災監(jiān)控設備、智慧煙感探測器、智慧消防用水等設備連接形成網絡,并對這些設備的狀態(tài)進行智能化感知、識別、定位,實時動態(tài)采集消防信息,通過云平臺進行數(shù)據(jù)分析、挖掘和趨勢分析,幫助實現(xiàn)科學預警火災、網格化管理、落實多元責任監(jiān)管等目標。原先針對“九小場所”和危化品生產企業(yè)無法有效監(jiān)控的空白,適應于所有公建和民建,實現(xiàn)了無人化值守智慧消防,實現(xiàn)智慧消防“自動化”、“智能化”、“系統(tǒng)化”、用電管理的實際需求。
從火災預防,到火情,再到控制聯(lián)動,在統(tǒng)一的系統(tǒng)大平臺內運行,用戶、安保人員、監(jiān)管單位都能夠通過平臺直觀地看到每一棟建筑物中各類消防設備和傳感器的運行狀況,并能夠在出現(xiàn)細節(jié)隱患、發(fā)生火情等緊急和非緊急情況下,在幾秒時間內,相關和事件信息通過手機短信、語音電話、郵件提醒和APP推送等手段,迅速能夠迅速通知到達相關人員。同時,通過自動消防滅火控制裝置啟動自動滅火設備和消防聯(lián)動控制設備,有效解決用電單位電氣線纜老舊,小微企業(yè)無專業(yè)電工、肉眼無法直觀系統(tǒng)即時排查電氣隱患、隱蔽工程隱患檢查難等難題,及時排除隱患,安科瑞智慧消防監(jiān)控云平臺結構如下圖所示:
3.2平臺功能
(1)平臺登陸
用戶登錄成功之后進入首頁,如圖所示。主要展示的內容有:項目概況、設備狀態(tài)、設備分類、設備信息、分類、統(tǒng)計、設備臺賬信息等。其中地圖可以選配成BIM建筑模型,任何傳感器時可以在BIM模型中預警顯示。
(2)實時監(jiān)控
智慧用電子系統(tǒng)可接入電氣火災、故障電弧、電氣火災主機、滅弧式保護器探測和母排無線測溫探測等等各類子系統(tǒng),實現(xiàn)對相關消防系統(tǒng)設備的信息實時監(jiān)控,一且發(fā)現(xiàn)監(jiān)測數(shù)劇超過風險閾值,APP、電話統(tǒng)統(tǒng)上陣,通過設備的標簽、地理位置定位,快速通知,快速處置
(3)隱患管理
隱患管理包括隱患巡查、隱患處理、和隱患記錄,隱患巡查的目的是為了系統(tǒng)在產生或隱患后,系統(tǒng)可以針對工程人員派發(fā)工單,處理完以后工程人員能夠在系統(tǒng)中填寫相關工單任務記錄,以供歷史查詢。隱患統(tǒng)計支持對項目進行日、月、季、年的維度查詢,并能夠自定義時間查詢,將項目下隱患以曲線,圖表的形式展現(xiàn)
(4)統(tǒng)計分析
統(tǒng)計分析包括數(shù)據(jù)匯總和分析報告,數(shù)據(jù)匯總以曲線和表格形式顯示各個月份的和故障記錄,同時顯示控制日志,支持按照控制類和參數(shù)設置類分別顯示,也可以按照操作是否成功分別顯示,包括此次控制的操作情況,項目名稱,設備信息以及對應的操作時間等;分析報告包括總體概況和設備回路特征分析。
(5)運維管理
根據(jù)運維調度管理的需要,智能調度技術人員可以分為不同角色,系統(tǒng)支持巡檢計劃和巡檢日歷,可支持巡檢人員使用手機NFC芯片巡檢打卡的功能。
(6)手機APP功能
手機APP軟件具有IOS版本和安卓版本,并與電腦終端系統(tǒng)的數(shù)據(jù)同步,能展示剩余電流、溫度、電壓、電流等電氣參數(shù)的實時監(jiān)測數(shù)據(jù)及變化曲線、歷史數(shù)據(jù)與變化曲線;短路、斷線、漏電、超溫、過壓、欠壓、過流等電氣故障實時數(shù)據(jù)等;能實時顯示項目地理位置、未排除隱患數(shù)、未處理巡檢數(shù)等;通過APP消息推送的方式提醒用戶實時信息;可以實現(xiàn)遠程復位、遠程分閘功能;可以對所有現(xiàn)場探測器進行遠程參數(shù)設定及修改;可以對所有現(xiàn)場探測器的遠程控制記錄進行查詢;
推薦硬件配置清單:(如申請阿里云可忽略)
3.4系統(tǒng)現(xiàn)場推薦硬件配置清單:
注:以下配置為針對1個回路選型,其中剩余電流互感器應根據(jù)現(xiàn)場回路電流大
3.5產品選型
電氣火災監(jiān)控探測器
4 結論
消防物聯(lián)網的技術發(fā)展,將給消防事業(yè)帶來全新的方法與途徑,將改變消防產品生產與消防監(jiān)管模式四。智慧消防的發(fā)展乃是大勢所趨,它是社會發(fā)展和人們生活水平提高到一定程度后的必然需求叫。但智慧消防的實現(xiàn),不僅需要消防從業(yè)人員的努力,同時需要與物聯(lián)網和大數(shù)據(jù)等技術進一步結合四。本文提出的Redis在智慧消防系統(tǒng)設計中的設計,實現(xiàn)了智慧消防數(shù)據(jù)庫系統(tǒng)的Redis模型的建立。試驗結果表明,Redis數(shù)據(jù)模型在智慧消防數(shù)據(jù)查詢的響應效率,較傳統(tǒng)的Oracle數(shù)據(jù)模型有較大的優(yōu)勢,可以滿足智慧消防系統(tǒng)實際應用中高訪問量、高并發(fā)和計時響應的現(xiàn)實需求。
然而,Redis作為一個內存型數(shù)據(jù)庫,其數(shù)據(jù)存儲容量有限,需要在和大數(shù)據(jù)結合上更做進一步的研究;智慧消防的設計尚處于理論階段,云平臺和模型細節(jié)仍在研究過程中,因此如何將Redis模型更好地應用于智慧消防系統(tǒng)的建設中,還需要研究與探索,但只要全社會共同努力,相信智慧消防很快來到我們身邊。讓我們共同期待智慧消防早日到來!
參考文獻:
[1]孫超.Redis內存數(shù)據(jù)庫在智慧消防系統(tǒng)設計中的應用.
[2]丁宏軍.基于物聯(lián)網技術的智慧消防建設[J].消防技術與產品信息,2017.
[3]嚴霄鳳,張德馨.大數(shù)據(jù)研究山.計算機技術與發(fā)展,2013.
[4]安科瑞企業(yè)微電網設計與應用手冊,2020.06版.