基于MYSQL与Echarts的数据可视化软件系统设计
2020-08-23刘世龙王新琪吴通金郭雁青王蓟皓
刘世龙 王新琪 吴通金 郭雁青 王蓟皓
摘要:本文基于MYSQL与Echarts技术,进行了数据可视化系统设计与实现,将通过单片机采集的温度、湿度、电压、电流等信号,通过SQL数据库进行清洗、处理、入库,利用Echarts技术,将各类型的信号实现了可视化的展示,通过本系统的设计与应用,更好的完成了多源数据的管理监测。
关键词:数据可视化;MYSQL;系统设计
中图分类号:TP311.52 文献标识码:A 文章编号:1672-9129(2020)04-0034-01
Abstract:this article is based on MYSQL and Echarts technology, data visualization system design and implementation, will be collected by single chip microcomputer, such as temperature, humidity, voltage, current signal, through the SQL database for cleaning, handling, storage, using Echarts technology, will be to implement the visualization of each type of signal display, through the design and application of this system, better to complete the multi-source data management monitoring.
Key words:data visualization;MYSQL;The system design
引言:数据可视化已经成为了信息处理的必要工作。如何将获取的信息进行更好的展示,是数据可视化研究的重点。本文中对于分布在不同网络节点上的单片机所采集的各类型观测数据进行管理和可视化展示,就其中详细技术进行探讨。
1 数据可视化系统设计
系统分为数据采集、存储、可视化三个主要部分。采集阶段,采用单片机获取温度、湿度、电压、电流等节点数据,存储阶段,利用Python解析数据后,入库MySQL中,通过搭建PHP+mysql的后台服务进行数据清洗、分析和处理,区分日常记录和阈值报警。可视化阶段,利用Echarts技术开发可视化前端,实现B/S架构的客户端界面,生成的图像化报表和报警信息便于值班员监测处理。
2 关键技术
2.1数据采集。数据采集是通过单片机完成的。采集的数据包含多源异构类型的数据信息,例如:温度、湿度、电压、电流信号强度等。通过单片机采集到信息后,经过串口将数据传输至电脑中,存储在构建的MYSQL数据库中。同时,单片机预留了后续的扩展接口,对于发现数据异常或设备异常后,管理员可以交互式地通过直接点击按钮,操纵单片机上的模块,进而控制机房或机房的服务器。
2.2数据处理与存储。数据通过单片机采集完成后,需要进行解析才能入库,此方面,作者团队使用python对串口数据进行处理,完成字符串的解析,并将格式规整的数据写入到MySQL数据库。
本文中,数据采用开源免费的MYSQL数据库,单表存储量可达百万级别,读取速率达到毫秒级别,MySQL作为最早的一个数据库管理系统,使用率和普及率都非常高,鉴于其始终开源的优点,具备很灵活的个性化修改能力。MySQL也是使用结构化查询语言(SQL)实现数据库的管理。长期以来,一直以速度、可靠性、适应性而著称。
本文中数据库具体的设计思想是:每一个节点接收到的每一条数据都存放在固定数据库的同一张表上。实际工作中,系统单节点每天的数据量大约为1500多条、年度数据量约为55万条,这样的数据量而言,每年数据只需单独存放一张表即可。这样按年存放有利于数据的查询和分析。
2.3数据可视化技术。数据的可视化主要是采用Echarts来展示数据,用到了DOM容器、grid组件、地理地图组件以及ajax刷新软件
根据项目实际需求,一个单片机可以同时采集多种类型的信息,仅生成一个图表是不能满足的要求的。因此需要想办法在同一个页面生成多张图表。为此,需要准备一个DOM容器,通过参数确定多个图表的相对位置,用一个setOption方法生成多个图表,就需要在option中引入grid组件,单个grid内最多可以放置上下两个X轴,左右两个Y轴。在ECharts 3中单个 echarts 实例可以存在任意个grid组件,这意味着如果要增加单片机传送的数据,只需增加grid组件即可,这为项目的扩展提供了可行之处。
单元节点数据可视化展示。每个单片机数据都展示在了同一个页面。页面中会详细展示实时的监控情况,根據监控的数据情况是否符合规定,会出现警告或报警。
多元节点数据展可视化示,也就是多个单片机的总体展示。Echarts展示地图也是比较方便的,引入相应的地图插件即可。将单片机采集回来的经纬度信息展示在地图上,根据节点范围的大小可以任意放大或缩小地图,使数据更加地直观。今后,还将增加信号强度的实时动态展示,用信号强度搭建起一个虚拟的网络,这也是“自组网”的一个直观展示。
数据可视化刷新。在用Echarts实现MySQL数据库的静态展示之后,还需考虑实时动态刷新数据,这时就可以在页面中采用Ajax方法。Ajax是一种使用现有标准的新方法,它最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。所以可以利用Ajax动态地从MySQL数据库读取数据加载到页面中去,再利用setInterval()函数间隔调用Ajax以达到更新数据的目的。
2.4数据分析。进行数据分析。可视化只是数据展示的过程,对于实际应用来说,利用数据去进行分析和预测才是更有用的技术手段。设置数据判定和条件报警,目前初步设置了三种状态标志,绿点表示节点一切正常、红点表示存在异常情况。根据报警信息的不同,管理员可以清楚地了解机房的实时情况。
根据历史数据进行分析预测。根据大数据的思想,研究数据并不能仅限于分析现有的数据,还要根据现有的数据进行趋势的预测。多个节点多个时间段的数据联系到一起将会变得非常有用。因此数据库表至少会保留一年,以用于数据时间上的趋势分析。
3 结语
随着接入网络的数据量的增加,对于数据的可视化展示已经变得非常必要,直观的数据展示,能够更好地从整体性上体现出数据信息的分布和发展规律,作为信息分析的必要手段,将更有助于进行决策支持。
参考文献:
[1]王勇,王松,张红英.基于B/S构架的网络结构可视化系统设计与实现[J].计算机工程与应用,2020,56(11):230-237.
[2]张玉龙,丁锰.基于数据处理与可视化的信息分析系统设计[J].现代计算机,2019,(30):49-53.
[3]王志鹏,张丽瑶,陈思逸.面向工业生产的大数据管理与可视化系统设计[J].电子设计工程,2019,27(24):24-28.