赵黎明,王海刚,王英珏
(吉林市光大分析技术有限责任公司,吉林 132021)
近十几年来,随着科学技术的迅速发展,水质监测领域积累了大量数据,大数据的概念也随之引起重视。大数据是信息时代迅猛发展的新生产物,是指通过对大量种类和来源复杂的数据进行高速地获取、传输、存储和分析,用比较经济的方法提取其价值的技术体系或技术架构,它以一种前所未有的方式,通过对海量数据进行分析,获得有巨大价值的产品和服务,或深刻的洞见[1]。与传统的数据相比,除了大容量等表象特点,大数据还具有一些独特的特点,例如大数据通常是无结构的,并且需要实时监测,实时分析。所以,广义上讲,大数据不仅是指大数据所涉及的数据,还包含了对这些数据进行处理和分析的理论、方法和技术。
随着水工业行业的发展以及水环境监测要求的提高,大数据、自动化、精准度、实时监控,成为了水质监测的新问题。在分析大数据、云计算、在线分析三者关系的基础上,给出具有通用性的大数据水质监测总体架构,并从水质大数据的集成管理技术、数据分析技术、数据处理技术、数据展现技术4个方面深入探讨符合水质在线分析发展需求的大数据关键技术的选择。本文就计算机技术如何提升、建设水质监测数据平台等方面进行了研究。
PHP是一种广泛应用于创建动态交互型数据平台的服务器端开源脚本语言,PHP几乎兼容各种服务器,可运行在各种操作平台,支持多种数据库,运行效率高效,是现代化服务器脚本语言的首选。本系统运用了PHP中thinkphp的开发框架,该框架更快速、兼容、简单、轻量。使用面向对象的开发结构和mvc模式。其自身包含了底层结构、基类库、模板引擎、角色认证缓存机制等组件。使用方便,功能齐全。
数据库接收各地仪表上传的数据。PHP实现数据库增删改查等基础功能,创建数据库表,通过对上传数据的字段将数据按分类写入各数据表中。因为水质监测系统数据为实时性的,数据会不间断地上传到服务器中,用PHP构造一次插入多条,并多次以for插入,将一组一组的数据插入到数据库中。因为数据上传到数据汇聚都是通过PHP构造函数实现,所以理论上不存在数据传输过程中出现数据偏差,能够确保数据的准确性。
数据过大就会造成性能降低,因此如何合理优化数据库性能,是大数据实现的前提。选择最适合的数据字段、使用(JOIN)连接来取代子查询(Sub-Queries)、使用联合(UNION)来代替手动创建的临时表、使用索引来检索特定的行等都是优化数据库的方法[2]。
云计算能够在整个水质在线系统内部计算处理和存储资源,提高水质监测处理和交互能力,成为水质监测的重要组成部分;业务服务需求是大数据的出发点,以云计算为根基;水质在线监测可以抽象地看成是大数据这个概念在水质监测中的应用。以上三者是相互交互的关系。
图1为水质在线监测、云计算、大数据三者之间的关系,从更深层次来剖析,是水质监测系统发展到不同时期的成果。
图1 大数据、云计算、水质在线监测三者的关系
大数据水质在线监测是信息技术、计算机技术、单片机技术等在传统水质监测上的沉淀累积的成果,满足水质监测信息化、智能化、轻量化等高层次的运营和管理需求,既是对传统水质监测的继承,也是对传统水质监测的发扬,所以其发展一定会与新兴技术同步。源于计算机与信息技术领域最前沿的大数据技术与云计算技术,正是其发展阶段应用层次与技术层次两个具有时代意义的新技术。云计算技术的分布式存储结构与并行计算,满足了水质监测过程中产生的海量数据的计算与存储需求,因此在水质监测系统中的应用也逐渐发展起来。
大数据技术一方面是传统数据分析技术与挖掘技术的延续,另一方面也是当数据量级增长到一定程度时资源挖掘与业务应用需要的必然产物,因此大数据技术的主要应用都以云计算技术或与云计算类似的处理技术和分布式存储为基础。大数据水质在线监测的发展,也是云计算技术在水质监测中的高级应用需求的实现过程。
当后端已经完成了数据库的操作,数据将由前端脚本语言javascript实现用浏览器内核渲染到平台界面。通过ajax技术动态的在后台与服务器进行数据交换,使数据实现异步更新,ajax技术能够向服务器请求额外的数据而无需卸载页面[3]。在不更新整个网页数据的情况下,仅对页面做局部加载,以减少实时更新情况下占用后台过多的数据库资源。以json格式传输数据,json格式足够轻量级,对于数据传输而言格式的轻重与否是其首要参考的特性。
数据平台的渲染是由javascript脚本语言实现的。引用了jquery库和framework7框架。在图表渲染上选择了echarts这种数据可视化图表插件。Jquery是轻量级的,具有强大的选择器、出色的dom操作与封装、可靠的事件处理机制、完善的Ajax、隐式迭代等优点[4]。
水质监测中会有很多专业参数,如pH、高锰酸盐、溶解氧、BOD、COD等。这些数据都具有同一仪器不同时段的数据间有某种关系的特定。这种信息在各种图表中会为职业工作者提供直观的数据展示以及准确无误差的数据分析。
图2 数据汇总
图2 为具体案例,数据汇总应用中包括了具体数值的展示、一段时间数据走向的峰值和平均值,以及通过指标判断各类水质划分。例如,某水库2017年8月4日12时至9日4时的时段,pH参数最高值为8.6,最低值为7.22,平均值为7.75。经平台智能判断,符合一类水pH标准范畴。数据汇总中包括测量值、开关量、状态量、状态测量值这4种类型。
数据的实时性会产生大量数据,这十分考验前端渲染的性能,考虑到用户在使用时的实时更新会产生大量流量,因此使用服务器按时段生成数据缓存的方案,这样就可以减少当前端向服务器获取数据时,服务器按照特定需求需要二次获取数据而花费前端获取数据时的大量时间。当工作人员需要此时的数据,清理缓存后就可以访问最新的监测数据[5]。
数据平台不仅可以远程对水质监测数据进行监控,也可通过数据的实时动态分析来捕获监测异常情况。图3为数据平台中的告警系统,通过智能计算,准确判断异常、捕获异常,通过推送系统将告警信息推送到手机提示。实例中某水厂的测量温度监测到非法值,不在规定正常值范围内,故由系统判断为异常并显示。其中包括时间、日期、地点、仪表类型、非法值等详细信息。以关注后推送的方式实时提醒。
另有站点告警排行,可直观到频发异常站点及固定时段告警的次数,从而给管理者以科学的数据报告,有利于采取合理措施。
大数据在线水质监测平台结合水质检测技术和计算机技术,经过大数据的扩展,实现了对传统水质监测的延伸与提升,为大数据在线水质数据监测研究提供了新思路。
图3 告警中心
[1] Viktor Mayer-Schonberger,Big Data:A Revolution That Will Transform How We Live,Work,and Think,2013 : 17-18.
[2] W.Jason Gilmore,W.J,Beginning PHP and MySQL,3rd Edition,2009:229-230.
[3] Nicholas C.Zakas. Professional JavaScript for Web Developers,2006:571-595.
[4] 单东林,张晓菲,魏然.锋利的jQuery[J].2009(6):4-5.
[5] ClareChurcher,Beginning Database Design: From Novice to Professional,2007 : 145-151.