智慧能源系统是当前能源发展的新方向,为了保证智慧能源系统的科学合理性,本文设计并建立一套融合了层次分析法和模糊综合评价法的评价系统,方便对各个城市不同年份的智慧能源系统进行一个综合的评价,为智慧能源系统的发展提供参考。本文介绍了该系统的架构设计,系统基于B/S架构,前端基于BootStrap和jQuery框架,后端基于SpringBoot框架,数据库层分别采用MySQL持久化数据和Redis存储热点数据,用Nginx作为静态资源服务器同时利用其反向代理的功能实现后端服务器的负载均衡。最后对该系统的模块划分做了详细的介绍,并对各功能进行了测试,整个系统稳定可靠,计算结果准确。 Smart energy system is a new direction of energy development. In order to ensure the scientific rationality of smart energy system, this paper designs and establishes an evaluation system which integrates the analytic hierarchy process and fuzzy comprehensive evaluation method. It is convenient to carry out an objective evaluation of smart energy system in different years of each city, and provides a reference for the development of smart energy system. This paper introduces the architecture design of the system. The system is based on B/S architecture, the front-end is based on Bootstrap and jQuery framework, the back-end is based on SpringBoot framework, MySQL persistent data is used, Redis is used to store hot data, Nginx is used as static resource server and its reverse proxy function is used to realize load balancing. Finally, the module division of the system is introduced in detail, and the functions are tested. The whole system is stable and reliable, and the calculation results are accurate.
鲁瑜亮1,刘炽义1,段青2,马春艳2,陈峥1,章国宝1
1东南大学自动化学院,江苏 南京
2中国电力科学研究院有限公司,北京
收稿日期:2019年11月15日;录用日期:2019年11月30日;发布日期:2019年12月6日
智慧能源系统是当前能源发展的新方向,为了保证智慧能源系统的科学合理性,本文设计并建立一套融合了层次分析法和模糊综合评价法的评价系统,方便对各个城市不同年份的智慧能源系统进行一个综合的评价,为智慧能源系统的发展提供参考。本文介绍了该系统的架构设计,系统基于B/S架构,前端基于BootStrap和jQuery框架,后端基于SpringBoot框架,数据库层分别采用MySQL持久化数据和Redis存储热点数据,用Nginx作为静态资源服务器同时利用其反向代理的功能实现后端服务器的负载均衡。最后对该系统的模块划分做了详细的介绍,并对各功能进行了测试,整个系统稳定可靠,计算结果准确。
关键词 :层次分析法,模糊综合评价法,B/S架构
Copyright © 2019 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
能源作为战略资源,是国民经济的基础和命脉,也是社会全面发展的重要物质资源。节能降耗对于解决现阶段我国存在的能源危机具有重要的现实意义。随着新一代信息技术与能源系统建设的融合,智慧能源 [
层次分析法(AHP)是一种灵活实用的多维度层次权重决策分析方法。AHP的主要优点是同时对数据进行定性和定量、主观和客观的分析,在满足客观性的条件下结合专家主观的意见使得数据更真实,同时主观的判断存在可以使权重系数的分配更加灵活。层次分析法的主要步骤如下:
1) 首先对评价对象进行分析,明确指标,建立层次结构树;
2) 将同一层次各个指标按相对重要性两两进行比较,构建判断矩阵;
3) 计算判断矩阵的特征向量、特征值、一致性检验指标;
4) 如果一致性检验通过,则特征向量即为各因素的权重系数,否则重新两两比较。
本文所研究的对象智慧能源系统的层次模型如图1所示,对智慧能源系统的经济效益性、环境友好型、互动化水平、信息化水平、自动化水平、安全可靠性六方面进行评价 [
图1. 智慧能源系统层次模型
模糊综合评价法是基于模糊数学理论的评价方法。模糊综合评价法适合于处理定性指标,根据模糊数学的隶属度理论和模糊统计方法把定性评价转为定量评价,解决了指标边界不清晰的问题。模糊综合评价的步骤如下:
1) 层次分析法确定权重系数向量A;
2) 确定对象的指标集合和评语集合;
3) 多位专家为系统的各个指标进行评价,得到模糊评价矩阵R;
4) 利用矩阵的模糊乘法得到综合模糊评价向量B;
5) 对B进行归一化,加权得到评分。
本文设计的评价系统的功能模块划分如图2所示,主要分为用户管理、指标管理、综合评价三个大模块。本系统主要实现三个模块功能:
1) 用户登录注册,管理员对用户的角色及权限进行管理;
2) 管理员可以对需要评价的指标进行增加、删除、修改,并且使用层次分析法对指标进行赋权;
3) 多位专家对智慧能源系统进行评分,使用模糊评价法对各个城市不同年份的智慧能源系统进行综合评价,最后对评价结果进行分析,利用图表的形式展示结果。
图2. 系统功能模块
本文设计的智慧能源评价系统由前端、服务器、数据库三层结构组成,如图3所示。前端分为手机客户端和电脑浏览器端,基于BootStrap + jQuery + ECharts框架开发。后端基于SpringBoot + Mybatis框架,去除繁琐的XML配置,简化开发,前后端的交互采用Ajax [
图3. 系统总体架构
动态网站必定离不开数据的交互,MySQL是使用最广泛、最适合网站开发的关系型管理系统。MySQL把数据存储在多个表格中,这样有益于查询速度的提高和灵活性的增强。本系统涉及多个数据模型,因此需要根据需求有效地设计数据表并对其结构优化,用E-R图 [
Redis [
图4. 系统E-R图
图5. 系统热点数据缓存示意图
用户管理模块主要包括两个小模块:登录注册、权限管理。
1) 登录注册子模块主要实现的功能包括登录、注册、找回密码,具体流程如图6所示,未注册用户可通过邮箱来进行注册,注册之后可以通过用户名和密码进行登录,如果用户忘记密码可通过邮箱进行找回密码。考虑到数据库如果明文存储密码是不安全的,因此对密码用了md5 + salt [
图6. 登录注册流程
图7. 登录注册页面
2) 出于安全的考虑,对用户进行权限管理,不同的角色拥有不同的操作权限,管理员对用户进行管理,主要涉及用户的角色更改和角色所对应的权限更改。本文所设计的系统中,指标信息的更改和用户权限的更改只允许管理员操作,专家调查表只允许角色是专家的用户填写并提交,权限管理页面如图8所示。
图8. 权限管理页面
本模块由两个功能组成:指标的增加、删除以及修改,指标权重的计算。管理员登陆后点击“指标管理”,可看到当前各指标的信息,可对指标的信息进行修改,如果需要重新赋权,则管理员输入判断矩阵,后台对输入的矩阵数据进行校验后会自动计算出所需的结果,包括判断矩阵的最大特征值以及归一化后的特征向量,同时会进行一致性检验,最终得到赋权结果,指标管理页面如图9所示。
图9. 指标管理页面
建立了评价模型之后,用模糊综合评价法对智慧能源系统进行评价。该模块主要分为两部分:专家评分和评价结果分析。专家评分功能需要做一份调查表,提供给各位专家做评价,利用权限控制使得只有角色是专家的用户才能使用此功能,完成的功能效果如图10所示。
图10. 专家评分页面
多位专家各自打完分后,后台会基于模糊综合评价法计算该系统总体得分,同时把分数持久化到数据库方便查询,功能效果如图11所示,表格显示各个城市不同年份的评分,同时用曲线图直观地表示各个城市智慧能源系统的差距以及每个城市不同年份的变化。
图11. 评价结果页面
为了保证系统的稳定性,需要对系统进行并发负载测试,测试系统在瞬时大流量的冲击下的性能。本次使用ContiPerf进行Mock测试,ContiPerf是一款基于JUnit 4的轻量级测试工具,对后台的接口指定线程数量和调用次数,同时可以限制最大执行时间、平均执行时间来方便测试。
智慧能源评价系统基于ContiPerf并发负载测试的步骤如下:
1) 在test环境下引入ContiPerf依赖包;
2) 单元测试类里面使用@Rule注解激活ContiPerf;
3) 使用@PerfTest注解指定调用次数和线程数量,@Required注解指定最大执行时间,平均执行时间等;
4) 执行测试之后,访问本地的target/contiperf-report/index.html,得到可视化的执行结果。
本次测试报告如图12所示,设置1000次请求,同时开启40个线程,throughput显示吞吐量是每秒1769次请求,average latency显示平均响应时间为21毫秒,性能满足系统需求。
图12. 并发负载测试报告
本节选用Apache JMeter [
使用JMeter进行数据库压测的步骤如下:
1) 新建测试计划,添加线程组,同时设置线程数;
2) 新建JDBC配置,设置数据库配置信息;
3) 新建JDBC请求,编写sql语句;
4) 执行测试,查看结果树和聚合报告。
本次测试的聚合报告如图13所示,总请求数是254万,平均响应时间23毫秒,错误率1.05%,吞吐量每秒638次,能满足系统所需的并发要求。
图13. 数据库测试聚合报告
本文基于B/S架构实现了针对智慧能源系统的评价系统,融入层次分析法和模糊综合评价法,可以科学合理地对智慧能源系统做出客观评价,直观比较不同的智慧能源系统发展的差距,为各个智慧能源系统的建设和长期发展提供科学依据。本文设计也有不足之处,层次分析法和模糊综合评价法是偏向主观的评价方法,在后续的设计中会加入客观的评价方法,使得评价结果在融合了专家经验的基础上,加入现实数据的客观性。
国家电网有限公司总部科技项目:城市智慧能源体系典型设计与运行服务研究资助。
鲁瑜亮,刘炽义,段 青,马春艳,陈 峥,章国宝. 基于层次分析法和模糊综合评价法的智慧能源评价系统的设计与实现Design and Implementation of Smart Energy Evaluation System Based on AHP and Fuzzy Comprehensive Evaluation[J]. 计算机科学与应用, 2019, 09(12): 2283-2292. https://doi.org/10.12677/CSA.2019.912254