摘 要

随着新能源汽车的快速发展,充电和服务网络的需求日益增加,如何高效管理充电电站、提升充电服务质量,成为了当前新能源汽车行业的重要课题。基于大数据技术的新能源汽车大数据服务平台,旨在通过数据的全面采集与分析,提升平台运营效率和服务质量。平台通过集成多种功能模块,涵盖了充电预约、账单管理、服务预约、驾驶报告、车辆管理等,满足不同用户的需求。管理员可以通过系统对平台的各类信息进行全面管理,如充电电站、电动汽车的统计与分析、用户信息的管理等,确保平台运营的高效性和服务的顺畅进行。普通用户则能够便捷地进行充电预约、查看账单、管理个人车辆信息以及获取驾驶报告等功能,提升了用户体验。服务商用户专注于服务信息和预约管理,确保提供高质量的服务。平台通过大数据分析,能够精准预测用户需求,优化资源调配,提升平台的智能化水平,为新能源汽车用户提供更加个性化、便捷的服务。

本平台采用Spark大数据技术,结合先进的数据处理与分析方法,充分发挥其在数据存储、处理和实时计算方面的优势,实现了平台高效的数据处理与服务优化。系统界面友好,操作简单,符合用户的使用习惯。通过大数据技术的应用,平台不仅提升了充电和服务的效率,也为新能源汽车行业的发展提供了有力的支持。

关键词:新能源汽车;服务平台;充电管理;Spark;数据分析;智能服务

Abstract

With the rapid development of new energy vehicles, the demand for charging and service networks is increasing. How to efficiently manage charging stations and improve the quality of charging services has become an important issue in the current new energy vehicle industry. The new energy vehicle big data service platform based on big data technology aims to improve platform operation efficiency and service quality through comprehensive data collection and analysis. The platform integrates multiple functional modules, including charging reservation, billing management, service reservation, driving report, vehicle management, etc., to meet the needs of different users. Administrators can comprehensively manage various types of information on the platform through the system, such as statistics and analysis of charging stations and electric vehicles, management of user information, etc., to ensure the efficiency of platform operation and smooth operation of services. Ordinary users can conveniently make charging appointments, view bills, manage personal vehicle information, and obtain driving reports, enhancing the user experience. Service provider users focus on service information and appointment management to ensure the provision of high-quality services. Through big data analysis, the platform can accurately predict user needs, optimize resource allocation, enhance the platform's intelligence level, and provide more personalized and convenient services for new energy vehicle users.

This platform adopts Spark big data technology and combines advanced data processing and analysis methods to fully leverage its advantages in data storage, processing, and real-time computing, achieving efficient data processing and service optimization on the platform. The system interface is user-friendly, easy to operate, and in line with user habits. Through the application of big data technology, the platform not only improves the efficiency of charging and services, but also provides strong support for the development of the new energy vehicle industry.

Keywords:New energy vehicles; Service platform; Charging management; Spark; Data analysis; Intelligent Services

目录

1绪论

1.1 研究背景和意义

1.2 国内外研究现状

1.3 论文组成结构

2相关技术介绍

2.1 B/S体系结构介绍

2.2spark框架介绍

2.3Mysql数据库

2.4Python简介

3系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 功能需求分析

3.3系统非功能性需求分析

3.4 系统操作流程

3.4.1信息添加流程

3.4.2信息删除流程

4系统设计

4.1 系统架构设计

4.2 系统功能结构

4.3 数据库设计

4.3.1 数据库实体设计

4.3.2 数据库表设计

5系统实现

5.1 普通用户模块的实现

5.1.1 用户注册界面

5.1.2 用户登录界面

5.1.3 电站信息管理界面

5.1.4 充电预约管理界面

5.1.5 充电账单管理界面

5.2 管理员模块的实现

5.2.1 系统用户界面

5.2.2 车辆信息管理界面

5.2.3 充电统计管理界面

5.2.4 驾驶报告管理界面

5.2.5 后台首页数据统计界面

5.3 服务商用户模块的实现

5.3.1 充电反馈管理界面

5.3.2 服务信息管理界面

5.3.3 服务预约管理界面

5.3.4 服务记录管理界面

6系统测试

6.1系统测试的目的

6.2 系统测试用例

6.3 系统测试结果

结论

参考文献

致谢

1 绪论

1.1 研究背景和意义

随着全球对环保和能源可持续发展的关注日益增加,新能源汽车作为一种低碳、绿色的交通工具,已经成为现代汽车产业发展的重要方向。尤其在我国,新能源汽车的生产与使用已经进入快速增长阶段,随之而来的充电基础设施建设、充电服务管理以及相关配套服务的需求也急剧增加。然而,新能源汽车的充电和服务管理存在诸多挑战,包括充电电站布局不均、充电资源调度不合理、服务信息不对称等问题,这些问题严重影响了新能源汽车用户的使用体验和充电服务的效率。

为了应对这些挑战,建立一个高效、智能的新能源汽车大数据服务平台显得尤为重要。通过集成先进的信息管理系统和大数据技术,能够对充电站点的实时状态、用户的充电需求、车辆的使用状况等进行全面的监控与管理,从而优化充电资源的配置,提升服务质量和效率。平台可以提供充电预约、账单管理、服务预约、驾驶报告、车辆信息管理等多项功能,满足不同用户的多样化需求。管理员可以实时掌握平台运营情况,确保系统高效运行;普通用户则可以便捷地进行充电和服务预约,查看账单并管理个人信息;服务商用户可以提供更加精准的服务,进一步提高平台的智能化水平。

新能源汽车大数据服务平台的设计与实施,能够在提升用户体验的同时,促进充电基础设施的高效利用,推动新能源汽车行业的可持续发展。通过整合大数据技术与平台管理,能够有效提升充电网络的整体效率,优化资源配置,并为行业提供全方位的数据支持与分析服务,对行业发展具有重要的推动作用。

1.2 国内外研究现状

新能源汽车的快速发展以及充电基础设施建设的日益完善,使得充电管理和服务的研究成为当前交通和能源领域的重要课题。国际上,许多发达国家已经在新能源汽车充电管理系统的设计和应用方面积累了丰富经验,尤其是在充电站网络建设、资源优化调度及用户服务平台的整合等方面取得了显著成效。部分欧美国家的研究重点集中在充电电站的分布优化、充电需求预测、支付系统整合等技术的应用,通过利用信息技术和数据分析实现了充电服务的智能化和高效化。例如,德国和法国的多个研究项目通过信息管理平台对充电站点进行实时监控和调度,确保充电设备的高效运行和用户体验的提升。

国内的研究起步较晚,但近年来随着新能源汽车市场的增长,相关的研究也得到了迅速发展。在国内,越来越多的高校和科研机构开始关注新能源汽车充电管理系统的研究,尤其是在充电站信息化管理、服务质量提升、资源调度等方面。国内的一些科研成果集中在充电网络规划、充电桩布局优化和电动车充电行为分析等方面。与此同时,充电服务平台的建设也逐步得到重视,部分企业和高校已经开始应用基于云计算和大数据的技术来提升平台的智能化管理水平。

与国外相比,国内的相关研究虽然起步较晚,但随着技术的发展和政策支持,越来越多的充电管理系统和服务平台正在实现实际应用。尤其在新能源汽车充电站的运营管理和服务优化方面,国内的研究成果不断涌现,部分地方已经实现了充电服务的智能化管理和实时信息反馈。尽管如此,在一些领域如大规模数据处理、充电站精准调度等方面,国内仍存在一定的技术差距,未来需要在这些技术层面进行进一步的深入研究和实践。

总体来看,国内外在新能源汽车充电管理和服务平台的研究中,都注重通过技术手段提升充电效率、改善用户体验以及优化资源配置。随着新能源汽车市场的不断发展和充电基础设施建设的完善,未来的研究将更加注重充电网络的智能化和数据化管理,以适应日益增长的充电需求和服务要求。

1.3 论文组成结构

第一章是绪论,本文章的开头部分,对本题目的研究背景意义和研究现状等一些做文字性的描述。

第二章研究了新能源汽车大数据服务平台的所采用的开发技术和开发工具。

第三章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。

第四章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。

第五章是系统的具体实现,介绍系统的各个模块的具体实现。

第六章在前几章的基础上对系统进行测试和运行。

最后对系统进行了认真的总结,以此对未来有一个新的展望。

2 相关技术介绍

2.1 B/S体系结构介绍

B/S体系[1],即Browser/Server体系,是一种常见的网络应用程序架构。其工作原理基于客户端与服务器之间的请求-响应模型。用户通过浏览器向服务器发送请求,服务器接收到请求后进行处理,并生成相应的响应结果,最终将响应返回给客户端。浏览器接收到服务器返回的响应后,解析其中的标记语言(如HTML[2]),并根据CSS样式表和PythonScript脚本来渲染页面,呈现给用户。用户可以与页面进行交互,例如点击链接、填写表单等操作,这些操作会触发新的请求,循环执行上述过程。

2.2spark框架介绍

Spark Streaming:构建在Spark上处理Stream数据的框架,基本的原理是将Stream数据分成小的时间片段(几秒),以类似batch批量处理的方式来处理这小部分数据[3]。Spark Streaming构建在Spark上,一方面是因为Spark的低延迟执行引擎(100ms+),虽然比不上专门的流式数据处理软件,也可以用于实时计算,另一方面相比基于Record的其它处理框架(如Storm),一部分窄依赖的RDD数据集可以从源数据重新计算达到容错处理目的。此外小批量处理的方式使得它可以同时兼容批量和实时数据处理的逻辑和算法。方便了一些需要历史数据和实时数据联合分析的特定应用场合[4]。

2.3Mysql数据库

MySQL是一种广泛使用的开源关系型数据库管理系统[5](RDBMS),其稳定性、可靠性和卓越性能使其成为众多应用程序的首选数据库。MySQL支持标准SQL语法,并提供丰富的功能和特性,如事务处理、触发器和存储过程等,以满足开发者对数据管理和操作的需求。MySQL具有良好的可扩展性,支持主从复制、分布式架构和集群部署,适用于各种规模和负载的应用场景。作为一个开源项目,MySQL拥有庞大的用户社区和活跃的开发者社区,为用户提供了丰富的文档、教程和支持资源。总之,MySQL是一款可靠、强大且灵活的关系型数据库管理系统[6],通过其卓越性能和可扩展性,帮助开发者高效地管理和操作数据,并得到了广大用户的认可和应用。

2.4Python简介

Python是一种简洁易读、跨平台且功能强大的编程语言[7]。它拥有庞大而活跃的社区,提供了丰富的第三方库和框架,如NumPy、Pandas和Django,使开发人员能够快速构建各种应用程序。Python在数据处理和科学计算方面表现出色,通过相关库和工具,可以进行数据分析、机器学习和科学计算等任务。此外,Python广泛应用于Web开发[8]、自动化脚本、网络爬虫等领域,其多样性使其成为一个全能的编程语言。无论你是初学者还是有经验的开发者,Python的简单语法、跨平台性以及强大的社区支持都能为你提供高效、优雅和可靠的编程体验。总之,Python是一个强大而灵活的编程语言,深受开发人员喜爱,并在各个领域得到广泛应用。

3 系统分析

3.1 可行性分析

在软件开发的过程中,可行性分析是至关重要的,它旨在评估问题的可行性,以便尽可能快地解决,同时也要考虑到不同的解决方案的优势和劣势,以及实施这些方案所带来的经济效益。通过对新能源汽车大数据服务平台的可行性分析,可以从技术、操作和经济三个方面来评估其可行性,从而为其提供有效的支持和保障。

3.1.1 技术可行性

系统在技术上是完全可行的。spark作为一个成熟的Python Web框架,提供了丰富的功能和工具,使得开发人员能够快速构建稳定、高效的Web应用程序。此外,Python作为一种广泛使用的编程语言,具有强大的数据处理和分析能力,可以很好地满足系统的需求。

3.1.2 经济可行性

大数据新能源汽车服务平台在经济可行性方面具有显著优势。通过集成高效的数据处理和分析能力,平台能够在优化资源配置、提升服务效率方面实现较高的成本效益。利用大数据技术,平台可以减少资源浪费,提升充电站和服务设施的利用率,从而降低运营成本。此外,平台的智能化管理提高了用户满意度,增强了市场竞争力,为企业创造了可观的经济效益。随着新能源汽车行业的快速发展,平台的规模效益和长期收益也将持续增长,具备较强的经济可行性。

3.1.3 操作可行性

在操作方面,系统具有良好的用户友好性和易用性。系统的界面设计应简洁明了,功能模块清晰易懂,使用户能够快速上手。同时,系统应提供完善的用户手册和在线帮助文档,以方便用户更好地理解和使用系统。此外,由于spark提供了强大的后台管理功能,管理员可以通过简单的操作实现对系统的管理和维护。

3.2 功能需求分析

为了满足用户的需求,新能源汽车大数据服务平台将系统划分为三个部分:管理员、普通用户和服务商用户,每个部分都有独特的功能,以便更加便捷地管理信息。此外,系统还具有简单易操作的特点,可以更加精确、全面地实现用户的需求。以下是关于该功能的详细描述:

(一)普通用户功能介绍:

普通用户则能够通过平台进行充电预约,查看充电账单及反馈,管理自己的车辆信息并获得驾驶报告。普通用户也可进行服务预约和查看服务记录,及时了解自己车辆的充电与服务情况,提升使用便捷性。平台还提供通知提醒功能,确保用户获取最新的充电服务信息和相关提示。

(二)服务商用户功能介绍:

服务商用户主要集中在服务信息和服务预约的管理。通过后台首页,服务商可以查看服务需求,管理服务记录,确保服务的高效完成,满足用户的多样化需求。

(三)管理员功能介绍:

管理员作为系统的核心管理者,能够通过后台首页全面掌握平台的运营状况。管理员可以进行系统用户管理、充电电站和充电信息的统计与管理,包括充电预约、账单和反馈管理,保障充电服务的有序进行。此外,管理员还可以管理车辆信息、驾驶报告、车辆类型、服务信息和服务预约等,确保平台的高效运行。系统还提供投诉建议管理和权限管理功能,确保用户反馈的及时处理和系统权限的合理分配。

根据以上功能需求分析得出普通用户用例图如下所示。

图3-1 普通用户用例图

管理员用例图如下所示。

图3-2 管理员用例图

服务商用户用例图如下所示。

图3-3 服务商用户用例图

3.3系统非功能性需求分析

非功能性分析是系统设计的重要组成部分,其目标是保证系统在各种负载条件下的高效、稳定和可靠。对于新能源汽车大数据服务平台,系统非功能性需求分析表如表3-1所示。

表3-1 非功能性需求表

项目

内容

性能

系统应支持至少500个并发用户访问,响应时间不超过2秒

安全性

用户数据需加密,系统应具备防攻击机制(如SQL注入、XSS防护)

可用性

系统年可用性应达到99.5%,保证大部分时间能够正常访问

可维护性

代码易于阅读与修改,文档齐全,便于后期维护和功能扩展

扩展性

系统架构应支持后续功能的扩展,易于添加新模块或功能

兼容性

系统应支持主流浏览器

用户体验

界面友好、简洁,操作应当简便,避免用户困惑

3.4 系统操作流程

3.4.1信息添加流程

新能源汽车大数据服务平台可以实现快速、准确地收集和处理各种信息,而且在使用过程中,只有在按照指定的界面,才能够正确地获取和处理信息,而若信息未能满足预期,就会被退出第一步,并且在第二步中,还会继续检查信息的准确性,以确保最终的结果能够满足预期的目标。

图3-4信息添加流程图

3.4.2信息删除流程

无论是何种用户角色,只要进入了不正常的系统操作界面,就可以使用不同的信息内容来进行操作。当用户尝试删除系统中的数据时,必须先ACK这些数据是否已经被删除,如果没有,就应该按照图3-5的指示进行操作,以免影响系统的正常运行。

图3-5信息删除流程图

4系统设计

4.1 系统架构设计

当前,B/S架构的数据访问模式已经大大改善:用户只需要打开网站,就能够获取系统的信息,而且,系统会根据用户的需要,自动响应并解决所有的问题。此外,用户还能够查阅服务器的处理结果,从而更好地了解数据的流转情况。新能源汽车大数据服务平台采用三层结构,即视觉-模拟-决策层。其中,视觉层负责接收来自用户的信息并将其呈现给用户;而模拟层则负责完成与用户有关的任务,包括组织信息、进行流程优化、提升用户体验。决策层则负责协商决策,并确保两层结果的一致性。

系统架构图如下图所示。

图4-1 系统架构图

4.2 系统功能结构

根据系统分析,新能源汽车大数据服务平台主要分为普通用户、管理员和服务商用户三大模块,系统的功能结构图如下所示。

图4-2 系统功能结构图

4.3 数据库设计

一个优秀的系统必须具备完善的后台数据库,就像建筑物一样,它不是一蹴而就的,而是需要经过精心设计,以确保其稳固可靠。只有将数据库设计得完善,并且考虑到各个方面,才能保证系统的可靠性,避免出现任何问题。

4.3.1 数据库实体设计

数据库实体设计是数据库设计的关键步骤,对实际业务逻辑中涉及的实体及其属性进行抽象建模,明确系统中的主要信息对象及其关系[9]。在实体设计中,根据需求分析确定系统的核心实体,如用户、角色、权限等,提取实体的主要属性,如用户的ID、姓名、联系方式,名称、类型等,同时定义各实体之间的关系,包括一对一、一对多、多对多等。在设计过程中,注重实体的完整性、规范性和唯一性,确保设计能够满足系统功能需求,并为后续的表设计提供清晰的结构框架。实体设计需遵循数据库设计的标准化要求,避免数据冗余和不必要的复杂度。

下面是整个系统中主要的数据库表总E-R实体关系图。

图4-3 系统E-R图

4.3.2 数据库表设计

数据库表设计基于实体设计,将抽象的实体映射为具体的表结构。设计过程中,为每个实体定义表名、字段名及数据类型[10]。根据业务需求,合理定义主键、外键及约束条件,确保表之间的关联性,例如通过外键建立用户表和角色表之间的关系。表设计时注重数据存储的完整性、一致性,并通过索引优化查询效率,最终确保数据库结构能够支持系统的功能需求。以下是系统的数据库表设计展示。

表 4-1-access_token(登陆访问时长)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

token_id

int

临时访问牌ID

2

token

varchar

64

临时访问牌

3

info

text

65535

信息

4

maxage

int

最大寿命:默认2小时

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

user_id

int

用户编号

表 4-2-auth(用户权限管理)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

auth_id

int

授权ID

2

user_group

varchar

64

用户组

3

mod_name

varchar

64

模块名

4

table_name

varchar

64

表名

5

page_title

varchar

255

页面标题

6

path

varchar

255

路由路径

7

parent

varchar

64

父级菜单

8

parent_sort

int

父级菜单排序

9

position

varchar

32

位置

10

mode

varchar

32

跳转方式

11

add

tinyint

是否可增加

12

del

tinyint

是否可删除

13

set

tinyint

是否可修改

14

get

tinyint

是否可查看

15

field_add

text

65535

添加字段

16

field_set

text

65535

修改字段

17

field_get

text

65535

查询字段

18

table_nav_name

varchar

500

跨表导航名称

19

table_nav

varchar

500

跨表导航

20

option

text

65535

配置

21

create_time

timestamp

创建时间

22

update_time

timestamp

更新时间

表 4-3-charging_bill(充电账单)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

charging_bill_id

int

充电账单ID

2

ordinary_user

int

普通用户

3

user_name

varchar

64

用户姓名

4

users_mobile_phone

varchar

64

用户手机

5

station_no

varchar

64

电站编号

6

name_of_power_station

varchar

64

电站名称

7

type_of_power_station

varchar

64

电站类型

8

charging_price

double

充电价格

9

charging_duration

double

充电时长

10

total_order_price

varchar

64

订单总价

11

bill_remarks

text

65535

账单备注

12

pay_state

varchar

16

支付状态

13

pay_type

varchar

16

支付类型: 微信、支付宝、网银

14

charging_feedback_limit_times

int

反馈限制次数

15

create_time

datetime

创建时间

16

update_time

timestamp

更新时间

17

source_table

varchar

255

来源表

18

source_id

int

来源ID

19

source_user_id

int

来源用户

表 4-4-charging_feedback(充电反馈)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

charging_feedback_id

int

充电反馈ID

2

ordinary_user

int

普通用户

3

user_name

varchar

64

用户姓名

4

users_mobile_phone

varchar

64

用户手机

5

station_no

varchar

64

电站编号

6

name_of_power_station

varchar

64

电站名称

7

type_of_power_station

varchar

64

电站类型

8

feedback_content

text

65535

反馈内容

9

examine_state

varchar

16

审核状态

10

examine_reply

varchar

16

审核回复

11

create_time

datetime

创建时间

12

update_time

timestamp

更新时间

13

source_table

varchar

255

来源表

14

source_id

int

来源ID

15

source_user_id

int

来源用户

表 4-5-charging_report(充电报表)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

charging_report_id

int

充电报表ID

2

station_no

varchar

64

电站编号

3

name_of_power_station

varchar

64

电站名称

4

type_of_power_station

varchar

64

电站类型

5

location_of_power_station

varchar

64

电站位置

6

total_charging_time

double

充电总时长

7

total_income

double

收入总额

8

statistical_remarks

text

65535

统计备注

9

create_time

datetime

创建时间

10

update_time

timestamp

更新时间

11

source_table

varchar

255

来源表

12

source_id

int

来源ID

13

source_user_id

int

来源用户

表 4-6-charging_reservation(充电预约)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

charging_reservation_id

int

充电预约ID

2

ordinary_user

int

普通用户

3

user_name

varchar

64

用户姓名

4

users_mobile_phone

varchar

64

用户手机

5

station_no

varchar

64

电站编号

6

name_of_power_station

varchar

64

电站名称

7

type_of_power_station

varchar

64

电站类型

8

available_quantity

varchar

64

可用数量

9

reservation_quantity

varchar

64

预约数量

10

appointment_time

datetime

预约时间

11

appointment_remarks

text

65535

预约备注

12

charging_progress

varchar

64

充电进度

13

examine_state

varchar

16

审核状态

14

examine_reply

varchar

16

审核回复

15

charging_bill_limit_times

int

充电账单限制次数

16

notification_reminder_limit_times

int

通知提醒限制次数

17

create_time

datetime

创建时间

18

update_time

timestamp

更新时间

19

source_table

varchar

255

来源表

20

source_id

int

来源ID

21

source_user_id

int

来源用户

表 4-7-code_token(验证码)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

code_token_id

int

验证码ID

2

token

varchar

255

令牌

3

code

varchar

255

验证码

4

expire_time

timestamp

失效时间

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

表 4-8-complaint_recommendations(投诉建议)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

complaint_recommendations_id

int

投诉建议ID

2

service_name

varchar

64

服务名称

3

service_location

varchar

64

服务地点

4

ordinary_user

int

普通用户

5

user_name

varchar

64

用户姓名

6

users_mobile_phone

varchar

64

用户手机

7

header_information

varchar

64

标题信息

8

content_details

text

65535

内容详情

9

examine_state

varchar

16

审核状态

10

examine_reply

varchar

16

审核回复

11

create_time

datetime

创建时间

12

update_time

timestamp

更新时间

13

source_table

varchar

255

来源表

14

source_id

int

来源ID

15

source_user_id

int

来源用户

表 4-9-driving_report(驾驶报告)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

driving_report_id

int

驾驶报告ID

2

ordinary_user

int

普通用户

3

vehicle_name

varchar

64

车辆名称

4

vehicle_type

varchar

64

车辆类型

5

number_of_rapid_acceleration

double

急加速数

6

number_of_sudden_brakes

double

急刹车数

7

fuel_consumption_information

varchar

64

油耗信息

8

endurance_information

varchar

64

续航信息

9

battery_status

varchar

64

电池状态

10

analysis_report

text

65535

分析报告

11

examine_state

varchar

16

审核状态

12

create_time

datetime

创建时间

13

update_time

timestamp

更新时间

14

source_table

varchar

255

来源表

15

source_id

int

来源ID

16

source_user_id

int

来源用户

表 4-10-hits(用户点击)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

hits_id

int

点赞ID

2

user_id

int

点赞人

3

create_time

timestamp

创建时间

4

update_time

timestamp

更新时间

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

表 4-11-notification_reminder(通知提醒)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

notification_reminder_id

int

通知提醒ID

2

ordinary_user

int

普通用户

3

user_name

varchar

64

用户姓名

4

notification_title

varchar

64

通知标题

5

notification_time

datetime

通知时间

6

notification_content

text

65535

通知内容

7

create_time

datetime

创建时间

8

update_time

timestamp

更新时间

9

source_table

varchar

255

来源表

10

source_id

int

来源ID

11

source_user_id

int

来源用户

表 4-12-ordinary_user(普通用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

ordinary_user_id

int

普通用户ID

2

user_name

varchar

64

用户姓名

3

user_gender

varchar

64

用户性别

4

users_mobile_phone

varchar

16

用户手机

5

examine_state

varchar

16

审核状态

6

user_id

int

用户ID

7

create_time

datetime

创建时间

8

update_time

timestamp

更新时间

表 4-13-plant_information(电站信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

plant_information_id

int

电站信息ID

2

station_no

varchar

64

电站编号

3

name_of_power_station

varchar

64

电站名称

4

type_of_power_station

varchar

64

电站类型

5

location_of_power_station

varchar

64

电站位置

6

available_quantity

double

可用数量

7

charging_price

double

充电价格

8

plant_details

longtext

4294967295

电站详情

9

charging_reservation_limit_times

int

预约充电限制次数

10

charging_report_limit_times

int

统计报告限制次数

11

create_time

datetime

创建时间

12

update_time

timestamp

更新时间

表 4-14-score(评分)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

score_id

int

评分ID

2

user_id

int

评分人

3

nickname

varchar

64

昵称

4

score_num

double

评分

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

source_table

varchar

255

来源表

8

source_field

varchar

255

来源字段

9

source_id

int

来源ID

表 4-15-service_information(服务信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

service_information_id

int

服务信息ID

2

service_provider_user

int

服务商用户

3

service_name

varchar

64

服务名称

4

service_location

varchar

64

服务地点

5

service_telephone

varchar

64

服务电话

6

scope_of_services

text

65535

服务范围

7

service_introduction

longtext

4294967295

服务介绍

8

examine_state

varchar

16

审核状态

9

examine_reply

varchar

16

审核回复

10

service_reservation_limit_times

int

预约服务限制次数

11

create_time

datetime

创建时间

12

update_time

timestamp

更新时间

表 4-16-service_provider_user(服务商用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

service_provider_user_id

int

服务商用户ID

2

service_provider_name

varchar

64

服务商名称

3

service_provider_location

varchar

64

服务商地点

4

service_provider_phone

varchar

16

服务商电话

5

examine_state

varchar

16

审核状态

6

user_id

int

用户ID

7

create_time

datetime

创建时间

8

update_time

timestamp

更新时间

表 4-17-service_records(服务记录)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

service_records_id

int

服务记录ID

2

service_provider_user

int

服务商用户

3

service_name

varchar

64

服务名称

4

service_location

varchar

64

服务地点

5

ordinary_user

int

普通用户

6

user_name

varchar

64

用户姓名

7

users_mobile_phone

varchar

64

用户手机

8

service_amount

double

服务金额

9

billing_details

text

65535

账单明细

10

pay_state

varchar

16

支付状态

11

pay_type

varchar

16

支付类型: 微信、支付宝、网银

12

complaint_recommendations_limit_times

int

投诉建议限制次数

13

create_time

datetime

创建时间

14

update_time

timestamp

更新时间

15

source_table

varchar

255

来源表

16

source_id

int

来源ID

17

source_user_id

int

来源用户

表 4-18-service_reservation(服务预约)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

service_reservation_id

int

服务预约ID

2

service_provider_user

int

服务商用户

3

service_name

varchar

64

服务名称

4

service_location

varchar

64

服务地点

5

ordinary_user

int

普通用户

6

user_name

varchar

64

用户姓名

7

users_mobile_phone

varchar

64

用户手机

8

appointment_time

date

预约时间

9

appointment_type

varchar

64

预约类型

10

number_of_appointments

varchar

64

预约次数

11

appointment_remarks

text

65535

预约备注

12

examine_state

varchar

16

审核状态

13

examine_reply

varchar

16

审核回复

14

service_records_limit_times

int

服务记录限制次数

15

create_time

datetime

创建时间

16

update_time

timestamp

更新时间

17

source_table

varchar

255

来源表

18

source_id

int

来源ID

19

source_user_id

int

来源用户

表 4-19-upload(文件上传)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

upload_id

int

上传ID

2

name

varchar

64

文件名

3

path

varchar

255

访问路径

4

file

varchar

255

文件路径

5

display

varchar

255

显示顺序

6

father_id

int

父级ID

7

dir

varchar

255

文件夹

8

type

varchar

32

文件类型

表 4-20-user(用户账户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

user_id

int

用户ID

2

state

smallint

账户状态:(1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

所在用户组

4

login_time

timestamp

上次登录时间

5

phone

varchar

11

手机号码

6

phone_state

smallint

手机认证:(0未认证|1审核中|2已认证)

7

username

varchar

16

用户名

8

nickname

varchar

16

昵称

9

password

varchar

64

密码

10

email

varchar

64

邮箱

11

email_state

smallint

邮箱认证:(0未认证|1审核中|2已认证)

12

avatar

varchar

255

头像地址

13

open_id

varchar

255

针对获取用户信息字段

14

create_time

timestamp

创建时间

表 4-21-user_group(用户组)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

group_id

mediumint

用户组ID

2

display

smallint

显示顺序

3

name

varchar

16

名称

4

description

varchar

255

描述

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

8

register

smallint

注册位置

9

create_time

timestamp

创建时间

10

update_time

timestamp

更新时间

表 4-22-vehicle_information(车辆信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

vehicle_information_id

int

车辆信息ID

2

ordinary_user

int

普通用户

3

vehicle_no

varchar

64

车辆编号

4

vehicle_name

varchar

64

车辆名称

5

vehicle_type

varchar

64

车辆类型

6

vehicle_displacement

varchar

64

车辆排量

7

license_plate_number

varchar

64

车牌号码

8

vehicle_color

varchar

64

车辆颜色

9

purchase_date

date

购买日期

10

vehicle_picture

varchar

255

车辆图片

11

battery_level

varchar

64

电池电量

12

vehicle_position

varchar

64

车辆位置

13

vehicle_details

longtext

4294967295

车辆详情

14

driving_report_limit_times

int

驾驶报告限制次数

15

create_time

datetime

创建时间

16

update_time

timestamp

更新时间

表 4-23-vehicle_type(车辆类型)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

vehicle_type_id

int

车辆类型ID

2

vehicle_type

varchar

64

车辆类型

3

create_time

datetime

创建时间

4

update_time

timestamp

更新时间

5 系统实现

5.1 普通用户模块的实现

5.1.1 用户注册界面

注册模块满足用户两部分,当用户想要进行资料相关信息的查询管理的时候,就必须进行登录,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好注册信息,添加提交,注册的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录,其注册主界面展示如下图所示。

图5-1 用户注册界面

登录关键代码如下:

 def Login(self, ctx):

        print("===================登录=====================")

        ret = {

            "error": {

                "code": 70000,

                "message": "账户不存在",

            }

        }

        body = ctx.body

        password = md5hash(body["password"]) or ""

        obj = service_select("user").Get_obj(

            {"username": body["username"]}, {"like": False}

        )

        if obj:

            user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})

            if user_group and user_group['source_table'] != '':

                user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']},                                                                       {"like": False})

                if user_obj['examine_state'] == '未通过':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未通过审核",

                        }

                    }

                    return ret

                if user_obj['examine_state'] == '未审核':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未审核",

                        }

                    }

                    return ret

            if obj["state"] == 1:

                if obj["password"] == password:

                    timeout = timezone.now()

                    timestamp = int(time.mktime(timeout.timetuple())) * 1000

                    token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))

                    ctx.request.session[token] = obj["user_id"]

                    service_select("access_token").Add(

                        {"token": token, "user_id": obj["user_id"]}

                    )

                    obj["token"] = token

                    ret = {

                        "result": {"obj": obj}

                    }

                else:

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "密码错误",

                        }

                    }

            else:

                ret = {

                    "error": {

                        "code": 70000,

                        "message": "用户账户不可用,请联系管理员",

                    }

                }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

5.1.2 用户登录界面

用户在登录界面输入账号+密码,点击“登录”按钮,系统在用户数据库表中会对用户的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,其登录主界面展示如下图所示。

图5-2用户登录界面

5.1.3 电站信息管理界面

普通用户点击“电站信息管理”这一菜单会显示电站信息列表这个子菜单,可以查看电站信息详情,包括电站编号、电站名称、电站类型、电站位置、可用数量、充电价格等信息可以进行查询、重置和预约充电的操作。电站信息管理界面如下图所示。

图5-3电站信息管理界面

5.1.4 充电预约管理界面

普通用户点击“充电预约管理”这一菜单会显示充电预约列表这个子菜单,可以查看充电预约详情,包括电站名称、电站类型、可用数量、预约数量、预约时间、预约备注、充电进度等信息。可以进行查询、重置的操作。充电预约管理界面如下图所示。

图5-4充电预约管理界面图

5.1.5 充电账单管理界面

普通用户点击“充电账单管理”这一菜单会显示充电账单列表这个子菜单,可以查看充电账单详情,包括电站编号、电站名称、电站类型、充电价格、充电时长等信息。可以进行查询、重置、反馈和支付的操作。充电账单管理界面如下图所示。

图5-5充电账单管理界面图

5.2 管理模块的实现

5.2.1 系统用户界面

管理员可以对系统中所有的用户角色进行管控,包含了管理员、普通用户和服务商用户这三种角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。系统用户界面如下图所示。

图5-6系统用户界面

添加系统用户关键代码如下:

def Add(self, ctx):

body = ctx.body

unique = self.config.get("unique")

obj = None

if unique:

qy = {}

for i in range(len(unique)):

key = unique[i]

qy[key] = body.get(key)

obj = self.service.Get_obj(qy)

if not obj:

error = self.Add_before(ctx)

if error["code"]:

return {"error": error}

error = self.Events("add_before", ctx, None)

if error["code"]:

return {"error": error}

result = self.service.Add(body, self.config)

if self.service.error:

return {"error": self.service.error}

res = self.Add_after(ctx, result)

if res:

result = res

res = self.Events("add_after", ctx, result)

if res:

result = res

return {"result": result}

else:

return {"error": {"code": 10000, "message": "已存在"}}

5.2.2 车辆信息管理界面

管理员点击“车辆信息管理”这一菜单会显示车辆信息列表和车辆信息添加两个子菜单,点击“车辆信息列表”可以查看车辆信息详情和驾驶报告,可以进行查询、重置和删除等操作。点击“车辆信息添加”,管理员可以添加新的车辆信息。车辆信息管理界面如下图所示。

图5-7车辆信息管理界面

5.2.3 充电统计管理界面

管理员点击“充电统计管理”这一菜单会显示充电统计列表这个子菜单,可以查看充电统计详情,包括电站编号、电站名称、电站类型、电站位置、充电总时长、收入总额等信息可以进行查询、重置和删除的操作。充电统计管理界面如下图所示。

图5-8充电统计管理界面

添加充电统计关键代码如下:

WSGI_APPLICATION = "app.wsgi.application"

DATABASES = {

    "default": {

        "ENGINE": "django.db.backends.mysql",

        "NAME": "project93355",

        "USER": "root",

        "PASSWORD": "root",

        "HOST": "127.0.0.1",

        "PORT": "3306",

    }

}

5.2.4 驾驶报告管理界面

管理员点击“驾驶报告管理”这一菜单会显示驾驶报告列表这个子菜单,可以查看驾驶报告详情,包括车辆名称、车辆类型、急加速数、急刹车数、油耗信息、续航信息、电池状态等信息。可以进行查询、重置、删除和审核的操作。驾驶报告管理界面如下图所示。

图5-9驾驶报告管理界面

5.2.5 后台首页数据统计界面

管理员后台首页的数据统计界面提供了全面的充电和服务管理概况。通过该界面,管理员可以查看充电电站的实时数据统计,包括各电站的充电次数、充电总量等关键信息。同时,充电预约统计功能展示了不同电站的预约数量,帮助管理员了解用户的预约需求分布。此外,服务预约统计则提供了服务项目的预约情况,管理员可以查看每项服务的预约数量和用户反馈。所有统计数据以图表形式呈现,直观、清晰,便于管理员快速掌握平台运营状况,为后续的资源调度和服务优化提供数据支持。界面如下图所示。

图5-10后台首页数据统计界面

5.3 服务商用户模块的实现

5.3.1 充电反馈管理界面

服务商用户点击“充电反馈管理”这一菜单会显示充电反馈列表这个子菜单,可以查看充电反馈详情,包括电站编号、电站名称、电站类型、反馈内容等信息。可以进行查询和重置的操作。充电反馈管理界面如下图所示。

图5-11充电反馈管理界面

5.3.2 服务信息管理界面

服务商用户点击“服务信息管理”这一菜单会显示服务信息列表这个子菜单,可以查看服务信息详情,包括服务名称、服务地点、服务电话、服务范围等信息。可以进行查询、重置和预约相关服务的操作。服务信息管理界面如下图所示。

图5-12服务信息管理界面

5.3.3 服务预约管理界面

服务商用户点击“服务预约管理”这一菜单会显示服务预约列表这个子菜单,可以查看服务预约详情,包括预约时间、预约类型、预约次数等信息。可以进行查询和重置的操作。服务预约管理界面如下图所示。

图5-13服务预约管理界面

5.3.4 服务记录管理界面

服务商用户点击“服务记录管理”这一菜单会显示服务记录列表这个子菜单,可以查看服务记录详情,包括服务名称、服务地点、普通用户、用户姓名、用户手机、服务金额、账单明细等信息。可以进行查询、重置和支付的操作。服务记录管理界面如下图所示。

图5-14服务记录管理界面

6 系统测试

6.1系统测试的目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

6.2 系统测试用例

系统测试包括:用户登录功能测试、电站信息查看功能测试、电站信息添加、车辆信息搜索、密码修改功能测试,如表6-1、6-2、6-3、6-4、6-5所示:

用户登录功能测试:

表6-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

电站信息查看功能测试:

表6-2电站信息查看功能测试表

用例名称

电站信息查看

目的

测试电站信息查看功能

前提

用户登录

测试流程

点击电站信息

预期结果

可以查看到所有电站信息

实际结果

实际结果与预期结果一致

管理员添加电站信息界面测试:

表6-3 管理员添加电站信息界面测试表

用例名称

电站信息添加测试用例

目的

测试电站信息添加功能

前提

管理员正常登录情况下

测试流程

1)管理员点击电站信息管理,然后点击电站信息,点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的电站信息 

实际结果

实际结果与预期结果一致

车辆信息搜索功能测试:

表6-4车辆信息搜索功能测试表

用例名称

车辆信息搜索测试

目的

测试车辆信息搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的车辆信息

实际结果

实际结果与预期结果一致

密码修改功能测试:

表6-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

6.3 系统测试结果

通过编写新能源汽车大数据服务平台的测试用例,已经检测完毕用户登录模块、电站信息查看模块、电站信息添加模块、车辆信息搜索模块、密码修改功能测试,通过这5大模块为新能源汽车大数据服务平台的后期推广运营提供了强力的技术支撑。

结论

新能源汽车大数据服务平台的设计,通过互联网来解决实现信息化的系统,通过我四年所学的所有专业知识整合一起,进行对新能源汽车大数据服务平台进行开发设计,当然在真正着手来做的时候遇到了很多问题,一个是网站的技术问题,一个是自己之前没有单独开发过程序,动手实践比较少,面对问题的同时,自己的自信心也受到了一些打击,不过我也是快速的调整自己的状态,老师与同学讨论的方法解决了所有的困难。

毕业设计是我们所学知识应用的最佳体现,也是在考核我们四年中所学的所有的专业知识及技术应用情况,通过这样毕业设计可以更好的得到锻炼及对所学知识的复习及运用,也是一种训练和实践。新能源汽车大数据服务平台的实现,不仅巩固了我以前的知识,还对学到的知识通过结合技术进行详细了解,还结合了对跨学科效果的深入理解。

在以后我的工作中,我仍然会继续努力我的计算机方面的技术,让我在后期的平台开发中可以更好更快的实现需求功能。我相信自己可以胜任更多的好工作并在工作领域做出更大的贡献。

回顾毕业设计的整个过程,既付出了努力与汗水也收获了很多难以忘怀的美好经历。虽然在系统开发过程中经历了各种各样的困难,自己也在不断研究与探索,可是系统的实现仍有许多不足之处。但是经过系统编程工作让我有了更多的信心,我相信在未来的路上,我会走的更好。

参考文献

  1. 黄维.基于B/S模式的虚拟网络宠物安全管理体系分析[J].信息系统工程,2024,(05):4-7.
  2. 张宇薇.HTML5在Web前端开发中的应用[J].集成电路应用,2024,41(04):274-276.
  3. 马星.Spark分布式计算平台性能优化研究[D].电子科技大学,2024.DOI:10.27005/d.cnki.gdzku.2024.003029.
  4. 陈春茹.基于Spark SQL的数据查询与索引优化系统研究[J].信息技术与信息化,2024,(07):170-173.
  5. 李艳杰.MySQL数据库下存储过程的综合运用研究[J].现代信息科技,2023,7(11):80-82+88.
  6. 肖睿,李鲲程,范效亮,等.MySQL数据库应用技术及实践[M].人民邮电出版社:202206.228.
  7. 明日科技.快速上手Python[M].化学工业出版社:202211.337.
  8. 明日科技.Python Web开发手册[M].化学工业出版社:202201.411.
  9. 马艳艳,吴晓光.计算机软件与数据库的设计策略分析[J].电子技术,2024,53(05):104-105.
  10. 李俊萌.计算机软件测试技术与开发应用策略分析[J].信息记录材料,2023,24(03):50-52.
  11. Liang J .Teaching Reform and Exploration of Python Programming Course Based on Knowledge Graph[J].Journal of Educational Research and Policies,2025,7(1):24-29.
  12. Lei L .A Probe Into the Mixed Teaching Reform of Python Language Programming[J].Journal of Electronic Research and Application,2024,8(6):66-71.
  13. Yang L ,Cao S ,Liu L , et al.cyclicpeptide: a Python package for cyclic peptide drug design.[J].Briefings in bioinformatics,2024,26(1):
  14. 闵睿.对新能源汽车及充电设施智慧管理服务平台的思考[J].销售与管理,2024,(27):21-23.
  15. 兰弘羿.新能源汽车车联网大数据平台构建探析[J].太阳能学报,2023,44(06):545-546.
  16. 肖忠东,杨舒淇.新能源汽车工业大数据平台建设三方合作策略研究[J].工业技术经济,2023,42(05):58-69.
  17. 田野.大数据平台:为新能源汽车护航[N].新能源汽车报,2022-11-21(007).DOI:10.28896/n.cnki.nxnqc.2022.000396.
  18. 魏晓艳.基于大数据技术的新能源汽车软件检控平台设计[J].信息技术与信息化,2022,(07):88-91.
  19. 彭冲,叶磊,姚波,等.新能源汽车安全监测及大数据分析平台设计与实现[J].汽车实用技术,2021,46(20):5-8.DOI:10.16638/j.cnki.1671-7988.2021.020.002.
  20. 廖甜汇,黎飞,张森,等.基于大数据的新能源汽车个性化售后服务推荐系统[J].时代汽车,2021,(06):181-182.

致谢

眨眼之间,大学生活就要结束了。在本文的最后,我要感谢我和蔼可亲的导师、团结有爱的同学的帮助和鼓励。此刻,我找不到感谢之词可以用来表达我最深切的感激之情。尤其感谢我的指导老师,在选题的过程中与我进行了深入的交流,在毕业设计期间给我提供了一些指导。四年的学习生活让我受益良多,老师们的丰富的学术知识、认真负责的学习态度让我受益匪浅。在此,我深深地感谢那些曾经给予我帮助和指导的老师!

我们的论文得益于许多学者的贡献,他们的研究成果为我们提供了宝贵的指导,使我们能够更好地完成这篇文章。感谢我的同学和朋友在我的写作以及排版过程中给予热情的帮助,才使得我比较顺利的完成了这篇论文。

感谢大学里遇见的朋友,你们在我这四年里留下无数的温暖和快乐,让我对这个校园多了一份留念。最后,感谢我的父母、辅导员老师以及室友们对我大学生活上的关心和理解,让我能保持乐观和追求我所热爱的。尽管我的能力有限,但我仍然尽力去完善这篇论文,并且诚挚地希望各位老师和学友能够给予宝贵的指导与意见!

-免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-

更多推荐