摘要:智慧消防系统是一种将GPS(全球卫星定位系统)、GIS(地理信息系统)、GSM(无线移动通信系统)和计算机、物联网及大数据等技术集于一体的智能消防无线报警网络服务系统Redis内存数据库应用于智慧消防系统的设计中,可以使智慧消防数据查询满足高访问量、操作方便的现实需求,为智慧消防的大数据存储设计提供了有效的参考。
关键词:智慧消防;物联网;大数据;Redis内存数据库
0引言
智慧消防系统山是一种将GPS(全球卫星定位系统)、GIS(地理信息系统)、GSM(无线移动通信系统)和计算机、物联网和大数据⑵等技术集于一体的智能消防无线报警网络服务系统。随着信息技术的深度发展,人类已进入大数据时代,消防行业面临着巨大挑战与机遇,传统消防系统工作方式与新形势、新任务不相适应的矛盾日益凸显,在物联网产业迅猛发展的大背景下,主动运用大数据来解决了电信、建筑、供电、交通等公共设施建设协调发展的问题,在智慧消防系统中,消防指挥与用户单位联网,改变了过去传统、落后和被动的报警、接警、处警方式,实现了报警自动化、接警智能化、处警预案化、管理网络化、服务专业化、科技现代化,大大减少了中间环节,提高了处警速度,做到了方便、快捷、可靠,使人民生命、财产的以及警员生命的得到保护
Redis*Remotedictionaiyserver)是一款开源的、网络化的、基于内存的、可进行数据持久化的Key-Vah/存储系统。它的数据模型建立在外层,类似于其他结构化存储系统,是通过Key映射Value的方式来建立字典以保存数据,有别于其他结构化存储系统的是,它支持多种数据类型的存储:字符串(string)、链表(list)、集合(set)、有序集合(zset)和哈希类型(hash),并且各种类型都支持丰富的操作,其中大多都支持原子操作。为了保证数据存取的效率,数据都保存在内存中Redis还提供了对持久化的支持%它可以定期将更新的数据异步写入磁盘,同时不影响继续提供服务。在此基础上,还实现了主从复制,这对预防单点故障和提高负载能力有很大帮助。在操作方面,Redis基于TCP协议的特性使得它可以通过管道的方式进行数据操作闽。Redis本身提供了一个可连接Server的客户端,通过客户端可方便地进行数据存取操作。
在智慧消防底层数据库设计中,完全可以应用Redis数据存储系统,以满足高访问量与操作方便的需求气在操作方面,应用Redis的管道通讯方式进行数据操作,通过Redis本身的客户端,可以同时连接Server服务器,方便地进行数据存取操作常用的消防产品信息如:产品的生产企业、型号、证书编号、地理位置信息与应急救援指示信息等较复杂的信息等信息可以以字符串的格式存储在Redis的底层数据结构中、通过hash结构存储,并通过可以标识产品信息的主键建立不同数据表中各条产品信息的联系,构建底层信息字典利用Redis底层数据结构对字符串和字典数据的支持,可以达到快速査询的目的。
在字符串数据的实现中,采用SDS(SimpleDynamicString,简单动态字符串)取代了功能单一,抽象层次低,并且不的char*类型字符串。在字典数据的实现中,为了兼顾简单性,使用了哈希表。在实现哈希表时,有一个问题就是釆用何种策略来解决碰撞问题。对于使用链地址法来解决碰撞问题的哈希表来说.哈希表的性能取决于哈希表大小与保存节点数量之间的比率、RDB将数据库的快照以二进制的方式保存到磁盘中在Redis运行时,RDB程序将当前内存中的数据库快照保存到磁盘文件中,在Redis重启动时,RDB程序可以通过载入RDB文件来还原数据库的状态。AOF则以协议文本的方式,将所有对数据库进行过写入的命令(及其参数)记录到AOF文件,以此达到记录数据库状态的目的。AOF更像是历史记录,记录所有运行过的命令。但是AOF文件就会随着时间持续增长,进而占据整个磁盘为此,Redis设计了AOF重写机制,通过开启新线程,扫描数据库数据,将其转化为Redis命令,存入临时的AQF文件当扫描完后,用临时文件代替AOF文件。这样一来,AOF文件中记录的命令,因而不会占据很多空间。
Redis兼具内存数据库随机访问的优势和Key-Value数据模型简单特点,因此,其I/O性能非常优异,支持高并发性,丰富的数据结构适合存储何种复杂的数据。考虑到社会对智慧消防数据服务的实时响应、高并发、高吞吐量提出了更高的需求,且大多数消防产品信息数据服务后台数据量并不大,大容量、低价格的内存使得以内存数据库的轻量级空间数据应用成为可能。本文以内存数据库Redis为平台,利用其响应速度快、并发性高、数据结构丰富的优势,研究了Redis的轻量级数据的组织和索引方法,提升髙并发访问下消防产品信息数据服务的响应速度和査询性能。
1 Redis数据模型
1.1数据结构设计
Redis本身存储是一个巨大的Hash表,为了模仿关系型数据库的表,通常使用分隔符分隔“表名”以及“字段”,本文使用”:”作为分隔符例如存储一个消防产品的属性信息,可以表示为Product:ProductID作为key,并用hash结构存储消防产品属性信息field域包括:产品名称(ProductName)、产品型号(ProductType)、出厂日期(DateofProduct)、技术参数(TechnicalParameters)、证书编号(CertificateNumber)、安装位置(InstallationSite)和报警记录(AlarmRecord)等字段。value域包含实际的存储信息。在每一个消防产品投入到智慧消防云平台前,系统会为其赋予的产品编号PmductlD,因此该key。
表1Redis中hash数据结构设计示例
1.2系统配置
本文采用主从方式进行系统配置,共有3个主(master)节点,3个从(slave)节点,采用全双工通信方式,客户端连接数设置为10000,系统为每个节点分配的内存为1000MB。采用Java虚拟机环境,Jvm主处理单元配置为4核Intel(R)Xeon(R)CPUE7-4830v2@2.20GHz,内存31GB,操作系统选择NeoKylinLinuxAdvancedServerrelease6.0o缓存集群服务器主处理器配置为4核Intel(R)Core(TM)i3-2120CPU@3.30GHz,内存5.5GB,操作系统选择RedHatEnterpriseLinuxServerrelease6.3o
2实验与分析
2.1大批量操作缓存测试
智慧消防是一个全新的概念和理念,目前尚处于发展阶段,还没有权威和统一的定义和标准。根据智慧消防模型设计的理念圆,模拟出能够体现消防产品信息,消防产品安装位置信息和消防产品地理位置信息等数据,根据这些信息生成智慧消防系统的模拟数据。在消防产品入网前,为每一个产品分配的ProductID,以作为该产品在系统中的标识。考虑到消防数据的复杂与多样性性在模拟数据时,尽可能地选择了多的可能体现消防产品信息的数据,考虑到不同的表中要素的个数不同,共生成了2个数据表KalOO和AcOOl,其中KalOO中数据尽可能多地体现了产品的信息,表中所含要素个数为27891个,AcOOl尽可能多地体现了产品的位置信息,表中所含要素个数为46254个,2张表格中分别具有消防产品信息数据10万条。
2.2写缓存测试
考虑到智慧消防系统在实际应用中,写缓存业务单次不会超过5万条,因此将测试的数据量上限设为5万。当缓存服务器宕机或其他因素导致缓存不可用时,程序会将单次上传的所有数据存入一条zzOl的blob(binarylargeobject)类型字段中,其中blob的容量为2GB。下面本文对写缓存成功的时间,写缓存失败的时间以及缓存失败时存入blob的数据量进行了测试。测试结果如下图1、图2。
通过对测试结果进行分析,可以看出缓存同步时间随着数据量的增加基本呈现线性增长的趋势,当数据量达到5万条时,AcOOl大小为18.6MB,KalOO大小为18MB,而blob可以容纳2GB,不会发生溢出。这样的结果说明,Redis写缓存的实现过程完全可以满足智慧消防系统实际应用中大数据量同时写入缓存的需求。
2.3数据査询测试
本文中共使用2个数据表KalOO和AcOOl,其中KalOO中数据尽可能多的体现了产品的信息,表中所含要素个数为27891个,AcOOl尽可能多地体现了产品的位置信息,表中所含要素个数为46254个,2张表格中分别具有消防产品信息数据10万条。在Redis环境和普通数据库环境下,分别对两张表中不同条数的数据进行了査询,测试结果取5次测试的平均值,计算出平均査询时间。
如上图3、图4,从测试结果中可以看出,无论什么数据,Redis环境都比Oracle环境下耗时少得多。因为Oracle使用的是R树空间索引,而Redis使用的是网格索引,通常来讲,R树空间索引的效率要高于网格索引的效率,但Redis在网格索引的支持下,效率仍然高于Oracle,说明Redis在智慧消防数据的査询上,效率更高。另外,Redis作为内存型数据库,数据存放在内存中,数据査询可以得到快速响应,而传统的关系型数据库Oracle,需要将数据存放在硬盘中,需要先传输到内存中,才能得到响应,受制于I/O传输瓶颈,査询效率明显低于Redis数据库。
3 安科瑞智慧消防监控云平台介绍与选型
3.1平台简介
安科瑞智慧消防综合管理云平台基于物联网、大数据、云计算等现代信息技术,将分散的火灾自动报警设备、电气火灾监控设备、智慧烟感探测器、智慧消防用水等设备连接形成网络,并对这些设备的状态进行智能化感知、识别、定位,实时动态采集消防信息,通过云平台进行数据分析、挖掘和趋势分析,帮助实现科学预警火灾、网格化管理、落实多元责任监管等目标。填补了原先针对“九小场所”和危化品生产企业无法有效监控的空白,适应于所有公建和民建,实现了无人化值守智慧消防,实现智慧消防“自动化”、“智能化”、“系统化”、用电管理的实际需求。
从火灾预防,到火情报警,再到控制联动,在统一的系统大平台内运行,用户、安保人员、监管单位都能够通过平台直观地看到每一栋建筑物中各类消防设备和传感器的运行状况,并能够在出现细节隐患、发生火情等紧急和非紧急情况下,在几秒时间内,相关报警和事件信息通过手机短信、语音电话、邮件提醒和APP推送等手段,就迅速能够迅速通知到达相关人员。同时,通过自动消防灭火控制装置启动自动灭火设备和消防联动控制设备,有效解决用电单位电气线缆老旧,小微企业无专业电工、肉眼无法直观系统即时排查电气隐患、隐蔽工程隐患检查难等难题,及时排除隐患,安科瑞智慧消防监控云平台结构如下图所示:
3.2平台功能
(1) 平台登陆
用户登录成功之后进入首页,如图所示。主要展示的内容有:项目概况、设备状态、设备分类、设备报警信息、报警分类、报警统计、设备台账信息等。其中百度地图可以选配成BIM建筑模型,任何传感器报警时可以在BIM模型中预警显示。
(2) 实时监控
智慧用电子系统可接入电气火灾、故障电弧、电气火灾主机、灭弧式保护器探测和母排无线测温探测等等各类子系统,实现对相关消防系统设备的信息实时监控,一且发现监测数剧超过风险阈值,APP、电话报警统统上阵,通过设备的标签、地理位置定位,快速通知,快速处置
(3) 隐患管理
隐患管理包括隐患巡查、隐患处理、和隐患记录,隐患巡查的目的是为了系统在产生报警或隐患后,系统可以针对工程人员派发工单,处理完以后工程人员能够在系统中填写相关工单任务记录,以供历史查询。隐患统计支持对项目进行日、月、季、年的维度查询,并能够自定义时间查询,将项目下隐患以曲线,图表的形式展现
(4) 统计分析
统计分析包括数据汇总和分析报告,数据汇总以曲线和表格形式显示各个月份的报警和故障记录,同时显示控制日志,支持按照控制类和参数设置类分别显示,也可以按照操作是否成功分别显示,包括此次控制的操作情况,项目名称,设备信息以及对应的操作时间等;分析报告包括总体概况和设备回路特征分析。
(5) 运维管理
根据运维调度管理的需要,智能调度技术人员可以分为不同角色,系统支持指定巡检计划和巡检日历,可支持巡检人员使用手机NFC芯片巡检打卡的功能。
(6) 手机APP功能
手机APP软件具有IOS版本和安卓版本,并与电脑终端系统的数据同步,能展示剩余电流、温度、电压、电流等电气参数的实时监测数据及变化曲线、历史数据与变化曲线;短路、断线、漏电、超温、过压、欠压、过流等电气故障实时报警数据等;能实时显示项目地理位置、未排除隐患数、未处理巡检数等;通过APP消息推送的方式提醒用户实时报警信息;可以实现远程复位、远程分闸功能;可以对所有现场探测器进行远程参数设定及修改;可以对所有现场探测器的远程控制记录进行查询;
推荐硬件配置清单:(如申请阿里云可忽略)
3.4系统现场推荐硬件配置清单:
注:以下配置为针对1个回路选型,其中剩余电流互感器应根据现场回路电流大
3.5产品选型
电气火灾监控探测器
4 结论
消防物联网的技术发展,将给消防事业带来全新的方法与途径,将改变消防产品生产与消防监管模式四。智慧消防的发展乃是大势所趋,它是社会发展和人们生活水平提高到一定程度后的必然需求叫。但智慧消防的实现,不仅需要消防从业人员的努力,同时需要与物联网和大数据等技术进一步结合四。本文提出的Redis在智慧消防系统设计中的设计,实现了智慧消防数据库系统的Redis模型的建立。试验结果表明,Redis数据模型在智慧消防数据查询的响应效率,较传统的Oracle数据模型有较大的优势,可以满足智慧消防系统实际应用中高访问量、高并发和计时响应的现实需求。
然而,Redis作为一个内存型数据库,其数据存储容量有限,需要在和大数据结合上更做进一步的研究;智慧消防的设计尚处于理论阶段,云平台和模型细节仍在研究过程中,因此如何将Redis模型更好地应用于智慧消防系统的建设中,还需要研究与探索,但只要全社会共同努力,相信智慧消防很快来到我们身边。让我们共同期待智慧消防早日到来!
参考文献:
[1] 孙超.Redis内存数据库在智慧消防系统设计中的应用.
[2] 丁宏军.基于物联网技术的智慧消防建设[J].消防技术与产品信息,2017.
[3] 严霄凤,张德馨.大数据研究山.计算机技术与发展,2013.
[4] 安科瑞企业微电网设计与应用手册,2020.06版.