基于拟合预测算法和SpringBoot框架的电力数据可视化系统的设计与实现

(整期优先)网络出版时间:2021-12-29
/ 2

基于拟合预测算法和 SpringBoot 框架的电力数据可视化系统的设计与实现

陈立、陈润民、吴雨珩、许烽杰、王樊、陈昊岚、古嘉铄、何盖典、胡兆锋

华南农业大学珠江学院 广东 510925

[摘要] 通过将电力系统的用户数据进行分类整理,并筛选出了高用电量用户与低电量用户。该项目设计了用户、电力系统、管理员三个界面并基于SpringBoot框架进行实现。通过所采集到的电力使用数据进行分类得到了高电量用户与低电量用户,随后采用回归拟合预测算法对用电量进行预测。

[关键词] SpringBoot,回归拟合预测算法,数据可视化

  1. 引言

在世界能源危机下的今天,各国家都在倡导低碳、绿色。如何提高电能的利用效率是每一个国家都在思考的问题。而大数据、人工智能等新兴数据挖掘与分析技术的不断创新发展,为电力行业业务创新、智能化辅助决策、服务能力提升、市场竞争力增强等方面的发展提供无限空间。系统以SpringBoot为构建框架,通过大数据分析并以信息可视化的方式将用户用电情况直观的展现在人们的眼前,进而有效提高政府电力部门对电力系统的监测效率、帮助企业及时的调整用电方案、达到电能的高效利用。并通过拟合预测算法绘制出相对应的线性回归曲线,进而有效直观为企业、政府电力部门做一些决策提供支撑材料。

  1. 概要设计

Spring框架是一种基于Java的开源应用框架,提供具有控制反转特性的容器,为开发提供了一系列的解决方案,如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等。

该系统基于maven软件进行项目的构建和管理,采用springboot框架简化maven配置、服务器配置,简化开发流程,增加项目的健壮性,通过JSON数据传输格式加快系统访问速度和安全性。使用回归拟合预测算法和python的matplotlib包来实现预测和数据可视化。

系统文件结构如图所示:

61cc2079b7287_html_900c4240f2ffc64b.png

图2.1 系统文件结构

其中,.idea用于存放项目的配置信息,包括历史记录,版本控制信息等Src存放项目前后端代码,其中java存放后端代码,resources存放前端代码及静态资源(图片等)、配置文件。

Java:

PmsystemApplication:项目启动类;

Controller:处理前端的请求;

Entity:接收前端传来的字符串;

Mapper:处理查询,对应mybatis文件中的.xml来完成对数据库的查询;

Python:实现对电力数据的拟合预测;

Services: 数据服务层,服务接口的定义和实现;

Web:定义实现前后端数据传输的类。

Resources:

存放html、css、javascript代码及用来美化前端页面的图片,Mapper对应的配置文件

Test:项目的测试代码。

Target:存放编译后的java二进制码。

Pom.xml:项目所用到的服务、驱动、依赖的jar包的配置文件。




  1. 主要功能及其详细设计

3.1用户登录

61cc2079b7287_html_ead8576904991c9e.png

图3.1 用户登录界面

该界面为不同身份用户(企业、居民、后台管理员)提供登陆和注册功能,并调用相应的后台接口以实现对输入密码的正确性及输入值是否为空进行判断,模块及其调用关系如下图所示:

61cc2079b7287_html_6be3e443159b1783.png

图3.2 登陆界面前后端模块实现逻辑

3.2高、低电量用户用电情况可视化

61cc2079b7287_html_2a9739b658486c31.png

图3.3低用电量用户可视化界面


该界面可查看不同年份的月用电趋势及用户用电量汇总。二者模块调用使用相同逻辑,以低电量模块的实现为例:

61cc2079b7287_html_9b253d55180b1326.png

图3.5用户用电量可视化界面实现逻辑


3.3用电量拟合预测

61cc2079b7287_html_390ed45ea1b1f4.png

图3.6 拟合预测功能界面

通过将对居民、企业的用电情况的数据的统计并分析。运用最小二乘法运算回归系数,并建立了线性回归方程61cc2079b7287_html_2408bf52f501bfaa.gif61cc2079b7287_html_e927d44a0d0ef185.gif 。随后通过回归拟合算法对全年的用电情况进行多次预测并绘制了相对应的线性回归图像,通过将算法封装成python模块,使用户可以对年份、预测次数(精度)进行选择。实现逻辑如图所示:

61cc2079b7287_html_3c77afd47d5bcff2.png

图3.7 拟合预测功能界面实现逻辑

  1. 系统测试和性能分析

4.1本地启动测试

在完成项目导入和MySQL数据库服务开启后,点击运行按钮,从最后一条控制台输出可见,系统在2.177秒完成启动。


61cc2079b7287_html_fb04f7d2c5dfb469.png

图4.1系统本地启动结果

4.2线上运行流畅性测试

完成项目的服务器部署后,在浏览器中完成登录操作,再次查看控制台,可见完成的时长为8毫秒,经测试,其他功能的响应速度均在8~10毫秒之间。

61cc2079b7287_html_793b64c561b55776.png

图4.2系统线上启动结果

4.3部署方便性分析

传统的部署需要在配置文件中配置众多的依赖包和注解,并需要手工配置tomcat服务器。该系统利用springboot的开箱即用机制简化了配置流程,通过@SpringBootApplication注解配置一个Spring Boot项目,该注解利用@Condition相关的注解来扫描class path路径下引入的jar包,容器中的bean对象,以及配置文件中的相关属性,来自动配置,并注入相关的bean对象。Springboot拥有内置的tomcat服务器,只需要引入spring-boot-starter-web 依赖,在完成项目时进入cmd窗口,cd进入项目的存储位置,输入mvn clean package将项目打成jar包,将打包后的项目上传服务器运行即可。

4.4安全性分析

黑客越来越多地针对开源依赖项进行攻击,因为它们的重用为恶意黑客提供了许多受害者。系统采用了Snyk检查依赖关系,标记存在漏洞的依赖项,从而提高了安全性。

4.5可用性分析

本项目采用较少的操作按钮、简约的设计风格简化用户操作、增加视觉美感;同时将功能分块,使政府电力管理部门既能通过折线图看到总体趋势、又能在保护用户隐私的同时对用电量高的用户实现较快速地追踪;并通过大数据实现用电情况预测,为决策提供科学依据,故具有较高的可用性。

  1. 结语

即便对工作进行了细分,但也遇到不少困难,如在拟合预测算法的选择上,尝试过多种拟合方法,但效果都没有达到预期,经过团队研究,最终选择回归拟合预测算法,在数据集的获取上,为了在确保准确的同时保障用户隐私,采用了成列删除、填充缺失数据等处理缺失、异常数据,对涉及用户个人的信息予以批量删除、替换为随机数等操作。在进行前后端联调测试时,出现不少报错,如数据库驱动报错、图片加载异常等。未来还将与时俱进,寻找更优的拟合算法,在确保数据脱敏的情况下采用更广泛多元的数据,考虑更多对用电情况有影响的因素,持续提升拟合的准确度;在系统的升级演进方面,根据用户反馈,完善功能及美化交互界面。







参考文献:

[1] 张峰.应用SpringBoot改变web应用开发模式[J].科技创新与应用,2017(23):2.

[2] 巢晟盛.基于SpringBoot微服务架构下前后端分离的MVVM模型浅析[J].电脑知识与技术:学术版,2021,17(23):3.

[3] 黄志澄.给数据以形象 给信息以智能 数据可视化技术及其应用展望[J].电子展望与决策,1999(6):3-9.

[4] 曾悠.大数据时代背景下的数据可视化概念研究[D].浙江大学,2014.

[5] 何登旭,李艳芳,刘向虎,等.基于泛函网络的非线性回归预测模型及学习算法[J].计算机工程与应用,2008,44(24):4.


本项目系广东省2020年科技创新战略资金“攀登计划”资助项目,项目编号:pdjh2020b0825