论文部分内容阅读
摘 要:目前充电桩设备的建设迫在眉睫,使用“互联网 ”的思维来设计整个智能充电桩管理系统,可以大大降低系统的运行和维护成本,同时提供更好的充电服务。文中采用物联网、云计算和大数据等技术设计了一个智能充电桩管理系统的服务器云平台,实现了用户管理、设备管理、交易管理、大数据分析等功能,为充电桩大规模的建设提供了有效途径。
关键词:充电桩;云计算;物联网;服务器平台
中图分类号:TM910.6;TP393 文献标识码:A 文章编号:2095-1302(2016)12-00-03
0 引 言
近年来,电动汽车由于其环保的特点,成为越来越多人的选择,然而充电设施的短缺却严重制约了电动汽车的发展。国务院办公厅于2015年10月9日发布《关于加快电动汽车充电基础设施建设的指导意见》,要求到2020年,基本建成满足超过500万辆电动汽车充电需求的充电基础设施体系[1]。同时,随着物联网和大数据等技术的发展,采用“互联网 ”的思维来设计智能充电桩管理系统,将会大大缩小充电设施的维护成本,管理更加方便和高效,同时用户的充电体验也更加友好。本课题的主要研究目标是希望通过对基于互联网的充电桩需求分析,利用物联网、云计算等相关技术设计出一个较完善的充电桩系统管理平台,使其具有一定的商业价值。
1 需求分析
1.1 充电桩设备相关数据的获取
充电桩设备基于Android系统开发,在整个运行过程中,借助传感器将充电桩的充电电压、电流以及温度、湿度等信息(包括故障发生情况)通过4G网络实时反馈到云平台。
1.2 云端数据的实时监测
云端服务器接收到充电桩发送来的数据后进行加工和处理,发现数据指标异常后及时关停充电桩。
1.3 用户相关处理
用户相关处理包括用户注册、登录、注销、用户充值、充电扣费等。在用户注册阶段,要求用户输入较为详细的信息,方便大数据的挖掘处理。
1.4 大数据挖掘
根据充电桩发送的用户充电数据、故障信息等数据进行数据挖掘工作,分析出不同区域用电的峰值和峰谷时间及不同区域的故障率情况。用户的充电习惯包括针对每个用户分析出其充电周期,提供更优秀的充电服务,例如在恰当的时间(用户需要充电且用户周围有空闲充电桩)发送充电提醒。
2 总体架构设计
智能充电桩管理系统主要由智能充电桩装置、云服务器、用户手机客户端和浏览器组成。
充电桩充电过程设计如图1所示。智能充电桩一方面通过CAN总线与电动汽车电池管理系统(Battery Management System,BMS)交互管理整个电动汽车的充电过程[2]。另一方面通过互联网连接云端服务器,实时向云端服务器进行自身运行状态的数据(例如充电电压、电流、温度、湿度等)上报。同时也接受云服务器对其的远程维护和管理,例如预约、停止服务等。并对用户充电电量进行精准计量,向云端发送交易数据并扣费。此外,在智能充电桩上进行精准广告的投放可以带来增值收入。
云服务器主要响应用户手机客户端和充电桩发来的各种请求信息。并对用户信息、充电桩设备信息、用户交易信息等数据进行收集、存储、加工和挖掘等,时时监控充电桩的相关数据,并对其进行自动维护。
移动手机客户端主要用来进行用户的注册、登录管理,对周边充电桩进行查询、预约。在充电前扫描充电桩产生的二维码进行解锁,接收充电完成的信息推送等。
3 云服务器端设计
本设计将选用云服务商提供的云服务来搭建一个功能完善、并发量大、稳定性好的服务器平台,通过符合Restful标准[3]的Web Service对外提供服务。结合云计算技术,将系统通用的功能如设备管理、数据收集、存储、分析处理与展现,抽象成一个通用的服务平台。本设计将用到阿里云的云服务平台,阿里云服务平台提供了系统运行环境(IaaS服务[4])以及相关的数据存储与分析服务(PaaS服务[4])。本设计主要采用SpringMVC[5]和SpringData等框架技术来构建系统。
3.1 分层架构设计
本设计使用分层架构模式,简化复杂的业务逻辑,使得代码编写更简单、系统运行更加安全与稳定。采用分层架构模式可以使得系统各层次以及功能模块之间具有更低的耦合性,提高了系统的可移植性与可扩展性,降低了系统开发的工作量,方便模块化的开发,同时提高了开发效率。本文设计的充电桩管理系统包括客户层、控制层、业务层、数据持久化层和数据层。
3.1.1 客户层
客户层即展示给用户的系统界面,在本设计中主要是用户移动客户端及充电桩设备上的App和后台管理人员的浏览器。
3.1.2 控制层
控制层负责具体业务模块流程的控制,使用SpringMVC将系统的业务功能映射为符合restfull风格的URI资源,使用控制器处理客户端发送的资源访问请求,并调用业务层程序进行相关的业务逻辑处理,将处理后的结果返回给客户端。
3.1.3 业务层
业务层实现对系统业务逻辑的主要实际处理工作。Service层的设计首先需设计Service接口,之后设计其实现的类,最后利用注解或XML配置文件实现关联。这样可以调用Service接口来处理业务。封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序非常简洁。
3.1.4 数据持久化层
数据持久化层主要负责数据的持久化,实现与数据库的交互。持久层的设计同样是先设计接口,再设计其实现的类,最后利用注解或XML配置文件实现关联。可在Service层中调用DAO接口来进行数据业务的处理,而不必关心此接口的具体实现类,降低了程序的耦合性。 3.1.5 数据库层
在充电桩管理系统中,时时产生的数据量非常大,包括每个充电桩的输入电压、电流、输出电压、温湿度等。因此要求海量的数据存储资源。通过对业务数据的分析,本设计采用MySQL数据库存储用户、设备、交易等关联性数据。对于系统中多种传感器感知的数据采用NoSQL非关系数据库存储数据。
图2所示为本系统的分层设计架构图。系统通过Spring框架对上述各层以松耦合的方式进行了有效组织,在Spring框架的管理下,无论是控制层的Controller对象,还是业务层的Service对象,亦或是持久层的DAO对象,都能够有机地运行。
3.2 业务层设计
充电桩管理平台包括用户管理模块、充电桩设备管理模块、交易管理模块、数据采集管理模块、信息推送模块。功能模块图如图3所示。
3.2.1 用户管理模块
用户管理模块包括用户的注册、登录、注销等。
(1)注册功能。采用用户的邮箱或者手机号作为登录账号,服务器接收到用户发来的注册请求后,进行合法性验证(例如检查该用户是否已经注册),同时向用户的手机或者邮箱发送验证码,用户输入验证码后发送给服务器,若成功则将用户及加密后的密码写入数据库中。
(2)登录功能。用户可以通过手机端或者浏览器进行账户登录,服务器将客户端发来的用户名、密码与数据库中的数据进行比对,若正确则返回登录成功页面。
3.2.2 充电桩设备管理模块
充电桩设备的工作状态设定为工作状态、空闲状态、预约状态、不可用状态。
(1)设备的添加。新建充电桩通过设备注册接口向服务器发出添加设备请求,同时将自身的设备号、坐标位置等信息发送给服务器,服务器将其融入已有的充电桩网络,方便用户查询。
(2)设备解锁。充电桩设备在解锁后才可使用,当用户选择解锁时,充电桩随机产生二维码并将自身信息和产生的二维码信息上传到服务器,手机客户端扫描二维码成功后,将用户信息和扫描到的二维码发送给服务器,服务器验证用户的合法性和余额后决定是否给充电桩发送解锁信息。
(3)设备预约。用户在手机端向某个充电桩发出预约请求后,服务器将该消息推送到充电桩。同时服务器不再接收其他用户对该充电桩的预约请求。
(4)设备的控制。若设备所在地区用电紧张或者存在紧急的情况,可以发送命令暂停充电桩的使用,使其处于不可用状态。
3.2.3 交易管理
交易管理分为账户充值和账户扣款两个方面。
(1)账户充值。客户端向服务器发送充值请求,服务器生成一个唯一的订单作为支付记录。客户端拿到订单号后调用第三方支付系统SDK进行支付,等待服务器的支付结果通知,之后将支付结果反馈给客户端,同时改变支付订单的状态,将用户的充值数据记录到数据库中。
(2)账户扣款。充电结束后,充电桩将用户所用的电量反馈给服务器,服务器根据当前的电价计算出用户的消费金额对用户账户进行相应扣费。同时将用户的消费记录保存到数据库中。
3.2.4 数据采集管理
充电桩在对电动汽车进行充电时,会时时上报自身的充电电压、电流、温湿度等相关数据,由服务器监控,若出现异常值,则进行相应的处理。同时也对充电设备的信息进行收集,借此有针对性的向用户推送广告。此外也能收集充电区域的用电量信息。
3.2.5 信息推送模块
信息推送模块包含以下几个方面:
(1)用户充电完成后,推送信息到手机端。
(2)电价信息的推送。
(3)用户账户余额过低时进行提醒。
3.3 数据库表设计
数据库表主要包含三类,表1所列为用户表,表2所列为设备表,表3所列为订单记录表。
3.4 大数据分析模块
大数据分析模块主要包含充电时间分布挖掘与充电人群的充电习惯分析。
3.4.1 充电时间分布挖掘
根据在不同充电时间段收集的不同充电量,采用回归分析的方法。时间为自变量,用电量为因变量,采用一元回归的非线性模型。
3.4.2 充电人群的充电习惯分析
采用K-Means聚类分析的方法,分析不同年龄段,不同性别用户的充电周期和集中充电时间段。
K-Means算法[6]是基于距离的非层次聚类算法,在最小误差函数的基础上,将数据划分为预定的类数K,采用距离作为相似性评价指标,即认为两个对象的距离越近,其相似度就越大。样本间的相似性采用欧几里得距离来度量[7]。
(1)
目标函数:
(2)
其中,K为聚类的个数,E为第i个簇,x为对象样本,ei为簇Ei的聚类中心。算法过程如下:
(1)从N个样本数据随机选取K个对象作为聚类中心;
(2)分别计算每个样本到各聚类中心的距离,将对象分配到距离最近的聚类中;
(3)所有对象分配完成后,重新计算K个聚类的中心。
(4)与前一次计算得到的K个聚类中心比较,如果聚类中心发生变化,则转到(2),否则转到(5);
(5)当质心不再变化停止后,得到聚类结果。
4 结 语
本文基于云平台设计了一个智能充电桩管理系统,并给出了总体架构设计及平台端的分层设计和业务功能设计。最后给出了关系型数据库的表设计以及两个数据挖掘模块的算法。
参考文献
[1]国务院办公厅.《关于加快电动汽车充电基础设施建设的指导意见》[J].城市规划通讯, 2015(20):11.
[2]电动汽车非车载传导式充电机与电池管理系统之间的通信协议[S].中国国家标准化管理委员会, 2015.
[3]唐明伟,卞艺杰,陶飞飞.RESTful架构下图书管理系统的研究与实现[J].现代图书情报技术, 2010(9):84-89.
[4]谢杨.基于云计算的现代农业物联网监控系统[D].成都:西南交通大学,2015.
[5]Zhang D, Wei Z, Yang Y. Research on Lightweight MVC Framework Based on Spring MVC and Mybatis[Z].
[6]冯超.K-means聚类算法的研究[D].大连:大连理工大学,2007.
[7]樊哲,张良均.Hadoop大数据分析与挖掘实战[M].北京:机械工业出版社,2016:84.
[8]翟鸿雁.基于物联网关键技术的智慧城市研究[J].物联网技术,2015,5(5):84-86.
关键词:充电桩;云计算;物联网;服务器平台
中图分类号:TM910.6;TP393 文献标识码:A 文章编号:2095-1302(2016)12-00-03
0 引 言
近年来,电动汽车由于其环保的特点,成为越来越多人的选择,然而充电设施的短缺却严重制约了电动汽车的发展。国务院办公厅于2015年10月9日发布《关于加快电动汽车充电基础设施建设的指导意见》,要求到2020年,基本建成满足超过500万辆电动汽车充电需求的充电基础设施体系[1]。同时,随着物联网和大数据等技术的发展,采用“互联网 ”的思维来设计智能充电桩管理系统,将会大大缩小充电设施的维护成本,管理更加方便和高效,同时用户的充电体验也更加友好。本课题的主要研究目标是希望通过对基于互联网的充电桩需求分析,利用物联网、云计算等相关技术设计出一个较完善的充电桩系统管理平台,使其具有一定的商业价值。
1 需求分析
1.1 充电桩设备相关数据的获取
充电桩设备基于Android系统开发,在整个运行过程中,借助传感器将充电桩的充电电压、电流以及温度、湿度等信息(包括故障发生情况)通过4G网络实时反馈到云平台。
1.2 云端数据的实时监测
云端服务器接收到充电桩发送来的数据后进行加工和处理,发现数据指标异常后及时关停充电桩。
1.3 用户相关处理
用户相关处理包括用户注册、登录、注销、用户充值、充电扣费等。在用户注册阶段,要求用户输入较为详细的信息,方便大数据的挖掘处理。
1.4 大数据挖掘
根据充电桩发送的用户充电数据、故障信息等数据进行数据挖掘工作,分析出不同区域用电的峰值和峰谷时间及不同区域的故障率情况。用户的充电习惯包括针对每个用户分析出其充电周期,提供更优秀的充电服务,例如在恰当的时间(用户需要充电且用户周围有空闲充电桩)发送充电提醒。
2 总体架构设计
智能充电桩管理系统主要由智能充电桩装置、云服务器、用户手机客户端和浏览器组成。
充电桩充电过程设计如图1所示。智能充电桩一方面通过CAN总线与电动汽车电池管理系统(Battery Management System,BMS)交互管理整个电动汽车的充电过程[2]。另一方面通过互联网连接云端服务器,实时向云端服务器进行自身运行状态的数据(例如充电电压、电流、温度、湿度等)上报。同时也接受云服务器对其的远程维护和管理,例如预约、停止服务等。并对用户充电电量进行精准计量,向云端发送交易数据并扣费。此外,在智能充电桩上进行精准广告的投放可以带来增值收入。
云服务器主要响应用户手机客户端和充电桩发来的各种请求信息。并对用户信息、充电桩设备信息、用户交易信息等数据进行收集、存储、加工和挖掘等,时时监控充电桩的相关数据,并对其进行自动维护。
移动手机客户端主要用来进行用户的注册、登录管理,对周边充电桩进行查询、预约。在充电前扫描充电桩产生的二维码进行解锁,接收充电完成的信息推送等。
3 云服务器端设计
本设计将选用云服务商提供的云服务来搭建一个功能完善、并发量大、稳定性好的服务器平台,通过符合Restful标准[3]的Web Service对外提供服务。结合云计算技术,将系统通用的功能如设备管理、数据收集、存储、分析处理与展现,抽象成一个通用的服务平台。本设计将用到阿里云的云服务平台,阿里云服务平台提供了系统运行环境(IaaS服务[4])以及相关的数据存储与分析服务(PaaS服务[4])。本设计主要采用SpringMVC[5]和SpringData等框架技术来构建系统。
3.1 分层架构设计
本设计使用分层架构模式,简化复杂的业务逻辑,使得代码编写更简单、系统运行更加安全与稳定。采用分层架构模式可以使得系统各层次以及功能模块之间具有更低的耦合性,提高了系统的可移植性与可扩展性,降低了系统开发的工作量,方便模块化的开发,同时提高了开发效率。本文设计的充电桩管理系统包括客户层、控制层、业务层、数据持久化层和数据层。
3.1.1 客户层
客户层即展示给用户的系统界面,在本设计中主要是用户移动客户端及充电桩设备上的App和后台管理人员的浏览器。
3.1.2 控制层
控制层负责具体业务模块流程的控制,使用SpringMVC将系统的业务功能映射为符合restfull风格的URI资源,使用控制器处理客户端发送的资源访问请求,并调用业务层程序进行相关的业务逻辑处理,将处理后的结果返回给客户端。
3.1.3 业务层
业务层实现对系统业务逻辑的主要实际处理工作。Service层的设计首先需设计Service接口,之后设计其实现的类,最后利用注解或XML配置文件实现关联。这样可以调用Service接口来处理业务。封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序非常简洁。
3.1.4 数据持久化层
数据持久化层主要负责数据的持久化,实现与数据库的交互。持久层的设计同样是先设计接口,再设计其实现的类,最后利用注解或XML配置文件实现关联。可在Service层中调用DAO接口来进行数据业务的处理,而不必关心此接口的具体实现类,降低了程序的耦合性。 3.1.5 数据库层
在充电桩管理系统中,时时产生的数据量非常大,包括每个充电桩的输入电压、电流、输出电压、温湿度等。因此要求海量的数据存储资源。通过对业务数据的分析,本设计采用MySQL数据库存储用户、设备、交易等关联性数据。对于系统中多种传感器感知的数据采用NoSQL非关系数据库存储数据。
图2所示为本系统的分层设计架构图。系统通过Spring框架对上述各层以松耦合的方式进行了有效组织,在Spring框架的管理下,无论是控制层的Controller对象,还是业务层的Service对象,亦或是持久层的DAO对象,都能够有机地运行。
3.2 业务层设计
充电桩管理平台包括用户管理模块、充电桩设备管理模块、交易管理模块、数据采集管理模块、信息推送模块。功能模块图如图3所示。
3.2.1 用户管理模块
用户管理模块包括用户的注册、登录、注销等。
(1)注册功能。采用用户的邮箱或者手机号作为登录账号,服务器接收到用户发来的注册请求后,进行合法性验证(例如检查该用户是否已经注册),同时向用户的手机或者邮箱发送验证码,用户输入验证码后发送给服务器,若成功则将用户及加密后的密码写入数据库中。
(2)登录功能。用户可以通过手机端或者浏览器进行账户登录,服务器将客户端发来的用户名、密码与数据库中的数据进行比对,若正确则返回登录成功页面。
3.2.2 充电桩设备管理模块
充电桩设备的工作状态设定为工作状态、空闲状态、预约状态、不可用状态。
(1)设备的添加。新建充电桩通过设备注册接口向服务器发出添加设备请求,同时将自身的设备号、坐标位置等信息发送给服务器,服务器将其融入已有的充电桩网络,方便用户查询。
(2)设备解锁。充电桩设备在解锁后才可使用,当用户选择解锁时,充电桩随机产生二维码并将自身信息和产生的二维码信息上传到服务器,手机客户端扫描二维码成功后,将用户信息和扫描到的二维码发送给服务器,服务器验证用户的合法性和余额后决定是否给充电桩发送解锁信息。
(3)设备预约。用户在手机端向某个充电桩发出预约请求后,服务器将该消息推送到充电桩。同时服务器不再接收其他用户对该充电桩的预约请求。
(4)设备的控制。若设备所在地区用电紧张或者存在紧急的情况,可以发送命令暂停充电桩的使用,使其处于不可用状态。
3.2.3 交易管理
交易管理分为账户充值和账户扣款两个方面。
(1)账户充值。客户端向服务器发送充值请求,服务器生成一个唯一的订单作为支付记录。客户端拿到订单号后调用第三方支付系统SDK进行支付,等待服务器的支付结果通知,之后将支付结果反馈给客户端,同时改变支付订单的状态,将用户的充值数据记录到数据库中。
(2)账户扣款。充电结束后,充电桩将用户所用的电量反馈给服务器,服务器根据当前的电价计算出用户的消费金额对用户账户进行相应扣费。同时将用户的消费记录保存到数据库中。
3.2.4 数据采集管理
充电桩在对电动汽车进行充电时,会时时上报自身的充电电压、电流、温湿度等相关数据,由服务器监控,若出现异常值,则进行相应的处理。同时也对充电设备的信息进行收集,借此有针对性的向用户推送广告。此外也能收集充电区域的用电量信息。
3.2.5 信息推送模块
信息推送模块包含以下几个方面:
(1)用户充电完成后,推送信息到手机端。
(2)电价信息的推送。
(3)用户账户余额过低时进行提醒。
3.3 数据库表设计
数据库表主要包含三类,表1所列为用户表,表2所列为设备表,表3所列为订单记录表。
3.4 大数据分析模块
大数据分析模块主要包含充电时间分布挖掘与充电人群的充电习惯分析。
3.4.1 充电时间分布挖掘
根据在不同充电时间段收集的不同充电量,采用回归分析的方法。时间为自变量,用电量为因变量,采用一元回归的非线性模型。
3.4.2 充电人群的充电习惯分析
采用K-Means聚类分析的方法,分析不同年龄段,不同性别用户的充电周期和集中充电时间段。
K-Means算法[6]是基于距离的非层次聚类算法,在最小误差函数的基础上,将数据划分为预定的类数K,采用距离作为相似性评价指标,即认为两个对象的距离越近,其相似度就越大。样本间的相似性采用欧几里得距离来度量[7]。
(1)
目标函数:
(2)
其中,K为聚类的个数,E为第i个簇,x为对象样本,ei为簇Ei的聚类中心。算法过程如下:
(1)从N个样本数据随机选取K个对象作为聚类中心;
(2)分别计算每个样本到各聚类中心的距离,将对象分配到距离最近的聚类中;
(3)所有对象分配完成后,重新计算K个聚类的中心。
(4)与前一次计算得到的K个聚类中心比较,如果聚类中心发生变化,则转到(2),否则转到(5);
(5)当质心不再变化停止后,得到聚类结果。
4 结 语
本文基于云平台设计了一个智能充电桩管理系统,并给出了总体架构设计及平台端的分层设计和业务功能设计。最后给出了关系型数据库的表设计以及两个数据挖掘模块的算法。
参考文献
[1]国务院办公厅.《关于加快电动汽车充电基础设施建设的指导意见》[J].城市规划通讯, 2015(20):11.
[2]电动汽车非车载传导式充电机与电池管理系统之间的通信协议[S].中国国家标准化管理委员会, 2015.
[3]唐明伟,卞艺杰,陶飞飞.RESTful架构下图书管理系统的研究与实现[J].现代图书情报技术, 2010(9):84-89.
[4]谢杨.基于云计算的现代农业物联网监控系统[D].成都:西南交通大学,2015.
[5]Zhang D, Wei Z, Yang Y. Research on Lightweight MVC Framework Based on Spring MVC and Mybatis[Z].
[6]冯超.K-means聚类算法的研究[D].大连:大连理工大学,2007.
[7]樊哲,张良均.Hadoop大数据分析与挖掘实战[M].北京:机械工业出版社,2016:84.
[8]翟鸿雁.基于物联网关键技术的智慧城市研究[J].物联网技术,2015,5(5):84-86.