依托大数据挖掘的餐饮业油水分离器监测系统设计

2015-05-30 10:48于志强王齐兴
软件工程 2015年12期
关键词:软件设计在线监测大数据

于志强 王齐兴

摘 要:针对上海市食品安全相关规定,安装在餐饮企业的油水分离装置的各类数据必须进行实时监控与处理。为了实现监管部门的自动化数据监测处理要求,从总体系统架构、网络拓扑、数据流向、数据生命周期方面进行了研究,探讨基于大数据挖掘的餐饮业油水分离器监测系统的软件设计,实现在线监测与报警等功能,依托大数据挖掘技术解决传统管理监测中的数据定位搜寻处理费时费力、成本高效率低等问题,为环保部门对餐饮企业的长效管理提供平台支持及执法依据。

关键词:油水分离器;在线监测;大数据;软件设计

中图分类号:TP277 文献标识码:A

Based on the Big Data Mining Technology for the Design of Catering

Oil Water Separator Monitoring System

YU Zhiqiang1,WANG Qixing2

(1.Shanghai Institute of Measurement and Testing Technology,Shanghai 200233,China;

2.Industrial and Commercial Bank of China Ltd.Software Development Center,Shanghai 201206,China)

Abstract:According to the relevant Shanghai Food Safety provisions,various types of data of the Oil-water separators in the catering companies must be real-timely monitored and processed.In order to realize the auto data monitoring and processing requirement of the regulatory authorities,the system architecture,system network topology, system data flow and data lifecycle management have been studied to design the catering oil water separator monitoring system based on the big data mining technology and realize the online monitoring and alarm function.Relying on big data technologythis system could solve the problem of traditional data processing such as time consuming in data searching and locating,high cost and low efficiency and also could provide the environmental protection department with a platform which can supervise those catering companies and provide law enforcement basis.

Keywords:oil water separator;online monitoring;big data;software design

1 引言(Introduction)

随着日益加剧的环境污染,以及预防“地沟油”回流餐桌问题,上海市于2012年底颁布了97号令《上海市餐厨废弃油脂处理管理办法》,规定了在本市经营的餐饮企业必须安装使用油水分离器,截止2015年初,上海地区的相关餐饮单位几乎都安装了油水分离设备。但由于油水分离设备数量庞大、覆盖面广,各地对餐饮油水的环境监测又停留在手工阶段。监测范围有限,难以达到实时超标报警的要求,故近期上海市食品安全相关职能部门已对油水分离器的使用情况提出了在线监管要求,急需设计一套软件系统能实时监测查询及处理数据,以解决当年餐饮油水监管中面临的问题。

本文设计构建的餐饮企业油水分离器实时监测系统,可以实时获取各家餐饮企业的油水分离器的使用情况等相关数据,同时依托大数据挖掘技术,对相关数据进行数据挖掘分析,提供以下各类功能供相关政府职能部门使用[1]:

(1)企业油水分离器实时监控数据、历史监控数据查询功能。

(2)提供监控数据阀值的设定,对于高于阀值的情况提供报警功能。

(3)提供基于历史数据趋势分析的预报警功能。

(4)提供不同地域、不同餐饮类别、不同餐饮规模企业间的数据比较分析功能[2]。

(5)提供新增餐饮企业油水分离器选型推荐功能。

(6)针对多方职能部门个性化联合执法的定制功能。

2 系统总体架构(System architecture)

图1 系统总体构架图

Fig.1 System overall architecture diagram

2.1 系统主要构件

系统主要构件分为智能传感器、前置机、系统主机、WEB服务器,如图1所示。

(1)智能传感器:安装于餐饮企业的油水分离器;主要功能为实时获取并传输该油水分离器的型号编号、实时油污处理水中含油率、水中悬浮物SS、COD、BOD等[3]。

(2)前置机:接受智能传感器传输过来的模拟信号,并将之转换为数据信号,并经过系统处理后形成数据文件形式传输给系统主机。

(3)其他相关系统:政府内部网络中的其他系统的主机数据,例如餐饮企业的营业额、客流量、法人代表、公司地址等数据[4]。可以和本系统进行数据交换。

(4)系统主机:为该系统核心数据处理部分。主要接受前置机传输过来的油水分离器的实时数据、并可以和其他内部网络中相关系统的进行数据交换等,同时可以接受用户从WEB服务器传输过来的相关数据的录入,例如用户手工录入的餐饮企业规模、油水分离器不达标阀值等相关信息[5]。系统主机将这些数据分门别类进行存储、加工、分析。

(5)WEB服务器:负责在用户和系统主机之间进行数据交换。

(6)用户:本系统采用B/S架构,用户可以通过任何一台PC电脑端IE接入系统。

2.2 业务架构风险控制策略

(1)通过系统内提供的统一的用户认证机制控制用户的合法性。

(2)系统对每个用户开设不同的访问权限。

(3)对于用户查询的内容、手工录入的内容、时间以及其他系统管理的操作行为等记录日志。

3 系统网络拓扑结构(System network topology)

图2 系统网络拓扑图

Fig.2 System network topology

本系统在网络拓扑结果方面分为三层,第一层:外部网络;第二层:内部网络;第三层:办公网络。如图2所示。

外部网络和内部网络、办公网络之前依靠防火墙进行隔离;内部网络和办公网络之间依靠网络策略配置进行隔离,即内部网络可以修改系统程序等而办公网络不能修改程序,只能通过IE端访问系统。

智能传感器位于外部网络,通过电信加密网络连接前置机。

前置机、系统主机、WEB服务器等位于内部网络,通过内网进行数据交换。

客户位于办公网络,通过PC端IE接入内部网络中的统一用户认证机制,认证通过后,进入系统访问,无法变更系统程序。

4 系统数据流介绍(Introduction of system data

flow)

本系统数据流向主要分为数据源、数据挖掘、数据获取三个部分,如图3所示。

图3 系统数据流向图

Fig.3 System data flow diagram

4.1 数据源

数据源为本系统获取数据的主要来源,分为三大部分。

第一部分为油水分离器侧的智能传感器获取的关于该油水分离器的型号、油污处理等方面的数据,该数据由前置机将模拟信号转换为数字信号,并经过系统处理后,形成数据文件形式传输给系统数据挖掘层。

第二部分为内部网络中其他相关系统和本系统交互的数据,例如餐饮企业的营业额、客流量、法人代表、公司地址等数据。该数据也以数据文件形式传输给系统数据挖掘层。

第三部分为用户通过IE界面手工输入系统的相关数据,该部分数据直接进入数据挖掘层的数据库表中。

4.2 数据挖掘

数据挖掘是本系统的核心处理层。主要分为数据清理层(ODS)、数据转换层(STG)、数据存储层(DW)、数据集市以及数据展示层(DM)。主要采用ETL(清洗、转换、加载)的模式对数据进行抽取处理。

数据清理层(ODS)主要是对源数据进行初步判断,剔除垃圾数据。智能传感器的相关数据以及内部网络中其他系统的数据都是通过数据文件形式提供,相关数据在格式、阈值等方面有可能存在各种各样的误差,也有可能出现一些系统不需要的垃圾数据。系统通过在数据清理层提前设置数据校验规则的方式,在数据进入数据库之前,对存在误差的数据进行甑别,符合校验规则的数据进入数据转换层(STG),不符合校验规则的数据进入错误数据表。错误数据表提供管理员用户通过IE界面前台进行查询,对于实际正确但是又进入错误数据表的数据,管理员用户可以在前台通过手工触发,使这些数据直接进入数据转换层(STG)。

对于用户通过IE界面手工输入系统的相关数据,在IE界面输入框处即设定相关校验规则,使不符合校验规则的内容无法输入。这部分数据将直接进入数据转换层(STG)。

数据转换层(STG)主要是对经过清洗后的相关数据进行数据转换操作。从不同渠道获取的数据可能存在着相同意义,但是计量单位不同的情况,或者不同的系统对于某些分类信息拥有独特的字典值信息,在跨系统使用时,需要根据不同的字典值表先进行数据还原,再进行根据统一的规则进行转换,以上等等各类不同的情况都需要通过在数据转换层(STG)设置转换法则,通过不同的转换法则,将跨系统的数据进行转换梳理,最终形成统一的标准和规范,再进入数据存储层(DW)。

数据存储层(DW)主要是存储已经经过清理和转换的数据。例如油水分离器性能DW表,可以存储油水分离器ID,型号,性能指标1,性能指标2,等等不同维度的数据,油水分离器实时监测数据DW表,可以存储油水分离器ID,使用企业,使用年限,性能指标1,性能指标2,等等不同维度的数据。对于本系统实时监测功能所需要的数据表的表结构主要参考源系统的表结构进行数据的存储,并且根据各数据表主键,以及IE界面的展现要求,进行初步的数据表之间的合并,以加快IE界面显示的速度。对于所有在数据存储层(DW)的数据表都进行按主题的初步分类后,进入数据集市存储。

数据集市是本系统的核心数据存储模块,支持所有本系统数据挖掘,在线分析等功能,主要存储按主题分类后的数据模型,每个数据模型按照日期、地区、代码、维度1,维度2,维度3,数值1,数值2,数值3等,进行相关数据的存储。数据集市中的数据可以看做是一个专门存储数据的仓库,且不同的数据按照不同的主题分门别类的放置在不同的容器中,每个容器中存储最基础的数据信息,容器和容器之间可以通过主键信息相关联,以形成进一步详细的数据信息供数据挖掘、分析使用。数据集市中的数据按时间进行分区存储,以便于更迅速的实现数据的读取。

数据展示层(DM)是连接用户请求和数据集市之间的桥梁[6]。根据用户查询的条件,数据集市负责对原始数据进行分析、处理后,进入数据展示层(DM),供用户展现使用。可以将数据展示层看成是一个视图的形式,作为一个缓冲带,这样可以避免用户直接查询数据集市中的数据,对数据集市中的数据造成无意的篡改、锁表等行为,同时,数据展示层还能起到缓存的作用,即如果不同的用户先后提交相同的查询条件,后一次查询可以不再读取数据集市的数据,不再需要数据集市再次进行分析处理,可以直接从数据展示层读取数据展现给用户,这样进一步提高了系统的负荷和使用效率。

4.3 数据获取

数据获取这部分内容主要是由用户在IE前台发起数据查询,用户可以根据前台提供的各个功能模块的菜单,各个菜单底下不同的筛选条件选取不同的数据进行查询。主要通过数据挖掘层的数据展示层(DM)进行数据缓冲作用,用户不直接与数据库底层的数据集市进行数据交互,而通过数据展示层(DM)进行数据交互,可以起到隔离、缓存记忆、提交查询效率等作用。

4.4 本系统数据流向的设计优势

(1)将数据分层次进行处理。数据清理层(ODS)、数据转换层(STG)每一层都有各自的功能,将数据的分析处理分层次进行,层与层之间互不干扰,将数据一步一步深入的进行分析处理后,最终进入到数据集市进行集中存储保存。

(2)使用数据集市的概念,在数据集市中将数据分类保存,按时间分区,形成大数据存储的数据资产。

(3)使用数据展示层(DM)作为缓存带,隔离用户使用和数据集市,保护数据集市中的数据的完整性,同时缓存相同查询条件的数据,提高数据查询速度,提升用户体验。

5 数据生命周期管理(Data lifecycle management)

对于本系统中各个层次的数据采用不同的数据生命周期管理策略。详见表1。

对于数据清理表(ODS)的数据不进行保留,即在每一张数据表每次清洗完成相关数据之后,立即做清空数据表的操作。

对于错误数据表的数据保留1个月。超过保留期限的数据,由系统主动清理。

对于数据转换表(STG)的数据不进行保留,即在完成当天的数据转换任务后,立即对数据表进行清空操作。

对于数据集市的数据保留5年。超过保留期限的数据,由系统维护人员将数据备份到磁带。

对于数据展示层(DM)根据实际情况进行保留,通过前台设置‘清空临时表的功能[7],由系统管理员触发对数据展示层的数据的清空,日常不安排系统做主动清理[8]。

6 结论(Conclusion)

通过本系统的建设和使用,可以实现对餐饮企业油水分离器现状的实时监控功能,且通过报警功能,减少相关职能部门全面检查产生的繁重的工作量以及随机抽检带来的随机性较高的现象[9],进一步优化政府职能部门的人员配置,高效解决环境污染的在线监管问题。而且,系统通过大数据的挖掘技术,提供行业的发展趋势,对于将要但还未出现问题的企业提供预先报警功能,使问题可以被提前发现,并进行干预,达到防患于未然的目的,更进一步提高相关部门的有效监管的能力。同时系统提供的分析报表,可以供相关负责人更便捷的进行战略分析和判断。系统可移植性好,可方便用作其他对象的监测。

参考文献(References)

[1] 李畅,温贻芳.基于人才培养状态数据平台智能化动态仪表盘的开发与应用研究[J].软件工程师,2014,3:40-43.

[2] 田雪咏,等.一类通用的装甲装备自动测试系统体系结构[J].计算机测量与控制,2011,19(7):1647-1649.

[3] 周发武,鲍建国.环境自动监控系统技术与管理[M].北京:中国环境出版社,2007,9:18-36.

[4] 黄鑫,等.数字电路板自动测试与故障诊断系统的设计与实现[J].计算机测量与控制,2010,18(7):1512-1514.

[5] 孙福生,朱英存,张俊强.环境监测[M].北京:化学工业出版社,2007(7):309-312.

[6] 张海藩.软件工程导论(第5版)[M].北京:清华大学出版社,2008.

[7] 王珊.数据库系统概论[M].北京:高等教育出版社,2006.

[8] 叶小杰,等.自动测试系统中的仪器设备驱动通用封装研究[J].计算机测量与控制,2011,19(4):975-977.

[9] 张姁,等.雷达电路板自动测试诊断平台的研制[J].计算机测量与控制,2008,16(8):1136-1137;1168.

猜你喜欢
软件设计在线监测大数据
基于STC单片机的厨房智能安全管控系统的设计
基于STM8S903K3的序列打螺丝夹具的软件设计
GIS设备的SF6气体在线监测
一种VHDL语言代码重用的方法
基于红外测温技术的电力设备热故障在线监测系统的设计
基于大数据背景下的智慧城市建设研究