关于我们 / 企业动态
技术实践 16 分钟阅读

停车充电一体化系统需求思考,及源码和技术选择?

YunParking是一个🔥100%开源🔥的城市级的智慧停车项目,开源功能主要包括路内停车,路外室内停车,共享车位,车位预约,室内导航,反向巡车,收费规则,支付聚合,设备管理,巡查PAD执法、车位推荐查找、会员充值、等级管理、月卡充值、

停车充电一体化系统需求思考,及源码和技术选择?

原文链接:停车充电一体化系统需求思考,及源码和技术选择?

当下开源的停车充电系统源码推荐

Gitee开源停车充电综合运营平台 充电桩源码部署下载

在线文档

在线技术开发部署文档

本地源码运行效果

一个优秀的停车充电系统首要特征

需要更适合未来智慧城市领域扩展的能力

以城市为运营单位,从业务模块化设计到技术底层基座搭建,更适合未来智慧城市中各种智慧领域场景的扩展集成。从YunIOT设备物联统一接入开始布局,到开源YunParking路内外智慧停车开源YunCharge智慧充电垂直领域落地,衍生智慧领域消费结算系统YunPay支付分账结算金融平台

能够满足当下路内外停车充电一体化的规划能力

在一个移动应用上,可完成路内、外停车充电站查询、停充、缴费等业务。在一个平台上,可实现机构、商户、账户、收费规则等业务项的配置,车场、车位、站桩设备等资源的管理,日常的运营、财务、用户、运维等数据的报表查询,真正实现管理运营一张网,数据更聚合

需要能覆盖主流停车设备下的收费解决方案

针对路侧停车收费取证运营模式支持纯人工、纯终端、人工+终端结合多种收费模式。覆盖地磁检测器、中高位视频桩、路牙机、巡检车、诱导屏、PDA手持打票收费终端;道闸场可适配新旧车场接入,支持臻识,华夏,芊熠相机,百胜、信路通等主流品牌;充电桩与停车场打通,可接入云快充协议的市面上所有充电桩。

充电桩单车充电和汽车充电桩

🔥支持电单车(单车2路10路12路设备)🔥 🔥新能源汽车接入(云快充1.5、1.6+欧标协议OCPP1.5、OCPP 2.0)🔥 充电系统以微信、公众号为C端主要入口,为充电用户提供查桩找桩、设备信息查询、在线支付、充电状态查询、账户信息等服务,具备在线充值、支付、实时到账功能,给充电用户带来更加安全、便捷、贴心的充电体验。

能真正创造营收的系统,催缴收费综合可达90%以上

对各城市运营单位中停车收费难问题,得益于全国大量落地运营案例,深入了解一线运营中的各种车主逃费、违停,运营投诉,巡查人员管理低效等问题。系统可通过扫小票的过程全自动完善车主车辆身份信息,停车全过程行为记录,完备运营投诉的证据链补充;对巡查人员位置,工作过程,工作结果全方面考核管理。全系统下跨车场联动催缴欠费,配合灵活的营销功能,设定参与条件,进一步激励车主绑定注册、预存清欠,并提供多种缴费扣费方式。

终端设备、停车行为、订单状态、巡查人员、系统服务异常应对能力

1、设备低电,弱网,低置信度预警,消息推送到路段管理人员; 2、可针对易错误识别的车牌标记,在平台录入车牌样本库,并开启系统车牌纠错算法可纠错车牌增强终端算法准确率; 3、道闸场断电:闸门启动常开模式,避免堵车; 4、道闸场断网:备用4G网接管、或本地蓝牙控制抬杆,或本地脱机模式接管,离线期间数据异步回传同步到云; 5、道闸场断云:如云服务部分服务异常,可使用PDA终端接管,人工创单(如果云全断,将进入到本地脱机模式,云恢复正常后离线期间数据异步回传同步到云); 6、防伪车牌、返场停车、跟车进出场、无出、入场记录; 7、因终端误触发的重复订单过滤,频繁触发订单合并; 8、异常订单:同一车辆在多个泊位存在进行中订单或是相同的泊位发现有多个进行中订单,系统可自动识别处理合并,并标识异常; 9、巡查轨迹路线,打卡签到。 10、系统采用微服务架构,搭建主从高可用方案,保障服务可靠性;

是否有考虑各种停车场景下的异常订单处理

异常离场订单可通过选择车场(车场可单选、多选、全选)来展示以下信息:车牌号码、入场时间、入场通道、进场照片、出场时间、出场通道、出场照片、停车时长、车类型、应收金额、结算金额、异常状态(异常状态展示具体异常原因)

对所有车辆进出情况进行分析,针对不完整订单和有异常的车辆进行标注分类,帮组运营人员快速处理和解决问题。订单需要具备以下异常状态分类判断:

无在场记录:此类情况是车辆出口识别到,但未匹配到在场订单

未结算离场:此类情况是车再次进入车场时,场内还有未结算完订单存在,平台分类处理,原订单自动结算

离场逃费:此类情况是车辆有在场订单,在出场时已扫到车牌(此类订单平台自行判断并记录保存,待下次车辆入场时后台自动核对),但未支付出场,下次入场时上一个待支付订单需要准确计算出该车时长及金额,并把完整信息展现在逃费报表里。

疑似返场:此类情况是车辆有在场订单,出口主相机识别到了车牌,但确认相机未识别到,怀疑车辆在进场后未产生费用或费用较低时,有意到出口识别车牌并支付结算订单,随后又返回场内的操作

无费用跟车:没拍到车头但是拍到了车尾,而且没有费用的,算跟车冲杆,有费用的算离场逃费

异常订单处理状态:未处理、已处理、已忽略、误识别、黑名单、线下补缴、线上补缴、置为逃单、补录入场时间、补录出场时间

异常订单处理方法支持:忽略、误识别、黑名单、添加出场时间并处理

其它异常订单: 可针对易错误识别的车牌标记,在平台录入车牌样本库,并开启系统车牌纠错算法可纠错车牌增强终端算法准确率;

因终端误触发的重复订单过滤,频繁触发可以后台操作订单合并;

异常泊位:同一车辆在多个泊位存在进行中订单或是相同的泊位发现有多个进行中订单,系统可自动识别处理合并,并标识异常;

面向政府、运营单位提供实时详细的多维度数据

包括车位利用率、区域停车分布、经营收入增长趋势、用户支付习惯等,为城建部门提供城市车位规划的数据支撑,为运营方提供经营预测和决策依据。可视化提供内容丰富、直观易用的角色化视窗,运营方可快速方便的在平台上实现设施运维、监控、人员调度等基础管理,配置收费标准等,极大地提升经营效能。

更需要卓越的用户体验

以车主小程序和公众号,巡查APP几个端配合后台运营管理系统提供全方位的停车服务:查找车位、导航、移动支付等。提升市民出行的可预测性、车位共享的增值性、通行的高效性、支付的便捷性上获得较好的幸福感,有效提升出行效率。

能应对多商户,多租户,且复杂场景

无缝切换SaaS模式,多租户运营及数据隔离,支持企业搭建自己的SaaS应用,满足高并发、大数据处理业务场景。对于高并发应用的功能,可以基于领域拆分微服务,并针对微服务去独立、灵活的扩展服务器资源

可持续的自运营

停车运营的转型升级,在于以信息技术创新求发展,向人力成本管控要效益,引入新技术、新业态和新工具手段,提高停车服务的专业性、增加产品和服务附加值

领先的技术架构和技术经验

整体架构清晰、稳定技术先进、源代码书写规范、经典技术会的人多、易于维护、易于扩展、安全稳定。

技术语言的选择

首选Java主流的微服务技术栈,基于 Spring Cloud Alibaba 的微服务解决方案进行封装的快速开发平台,包含多种常用开箱即用功能的模块,通用技术组件与服务、微服务治理,具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动生成前后端代码、支持多种存储系统、分布式事务、分布式任务调度、多租户等多个功能和模块,支持多业务系统(多服务)并行开发,平台设计灵活可扩展、可移植,可应用高并发需求,同时兼顾本地化、私有云、公有云部署,支持国产信创数据库、国产信创操作系统部署。核心技术采用 Spring Boot、 Spring Cloud Alibaba、Mybatis Plus、RabbitMQ、MinIO 等主要框架和中间件,采用 Nacos 注册和配置中心,集成流量卫兵 Sentinel ,提供了一个可支持企业各业务系统或产品快速开发实现的微服务应用数字化融合平台,让开发者能够专注于业务功能开发,降低技术难度,节省人力成本,缩短项目周期,帮助提高开发效率。

主体框架:Spring Cloud、Spring Cloud Alibaba、Spring Boot、Spring Cloud Stream、MyBatis-Plus、Alibaba Druid、Apache Dubbo、Hutool、Lombok等主流技术;

前后端分离:采用主流开发模式-前后端分离框架设计,代码风格精简,面向后端开发工程师,易于理解和上手;

统一接口管理:集成Swagger/Knife4j,可自动生成Api文档;

数据库兼容:支持 MySQL、SQLServer、Oracle、PostgreSQL等主流数据库,支持达梦、人大金仓等国产信创数据库;

国产信创操作系统:支持麒麟服务器操作系统、统信UOS、华为欧拉等国产服务器操作系统部署;

服务注册&发现与调用:使用 Nacos 作为注册中心,实现多配置、分群组、分命名空间、多业务模块的注册和发现功能;

内部调用:集成了 Open Feign 和 Apache Dubbo 两种内部调用模式,并且可以实现无缝切换;

业务熔断:采用 Sentinel 实现业务流量控制、熔断降级、系统负载等多个维度保护服务的稳定性,避免服务之间出现雪崩;

应用监控:利用 Spring Boot Admin 来监控各个服务的运行状态;

链路追踪:基于 SkyWalking 作为项目的全链路性能监控, 从整体维度到局部维度展示各项指标,将跨应用的所有调用链性能信息集中展现,可方便度量整体和局部性能,并且方便找到故障产生的源头,生产上可极大缩短故障排除时间;

用户界面

  • 基于 Element-UI 平面化界面设计,精细,更加美观、高端、大气、上档次。
  • 无刷新设计,除了进入功能页面和新页面,其它情况下全部采用 Ajax 交互,优化体验和性能。
  • 支持一键换肤,系统右上角设置即可快速切换整个UI的风格,不仅仅是色调和样式,布局也可改变。支持自定义扩展项目独有的主题样式风格。
  • 优化用户功能操作,大众思维模式,功能清晰,更加贴切和友好。
  • 国际化的支持,页面标签国际化,字典菜单国际化,数据国际化。

前端开发

  • 采用当前比较流行的 Vue,它的优点很多,大家可自行查阅官网介绍。
  • 封装通用组件,实现基本表单控件、树选择,列表选择,文件上传,等等,总之是简化开发。
  • 数据模板组件封装,自动完成分页、排序、列宽、多表头、子表、编辑表、流程发起等。
  • 支持前后分离应用,方便与手机 API 接口对接,Token 方式授权。

功能及组件

  • 工具类 Utils 封装优化,应有尽有,包分类层次分明,独立工具类项目。
  • 在线任务调度,界面化管理,可新增,编辑、删除、暂停、恢复、运行一次等操作,支持独立数据源,分布式作业调度,调度日志监控分析查询。
  • 代码生成工具操作简化及优化,支持多数据源。
  • 在线查询在线人员,强踢在线账号。

整体架构

平台设计灵活可扩展、可移植、可应对高并发需求。同时兼顾本地化、私有云、公有云部署,支持SaaS模式应用。

  • 采用前后端分离的模式:前端基于vue-element-admin框架定制开发,后端采用Spring Cloud Alibaba全家桶;
  • 服务注册&发现与调用:基于Nacos来实现的服务注册与发现,使用Open Feign/Dubbo RPC来实现服务互调;
  • 统一授权认证:基于 Spring SecuritySpring OAuth2、JWT 实现的统一认证服务中心,登录基于 spring security 的标准登录流程。客户端授权支持 oauth2.0 的四种授权模式:授权码模式、简化模式、密码模式、客户端模式,授权流程跟标准的 oauth2 流程一致。web 端采用简化模式(implicit)登录系统,移动端可使用密码模式(password)登录系统。同时还支持基于 Spring Social 的三方账号登录方式,如微信、QQ等。
  • 业务熔断:采用Sentinel实现业务流量控制、熔断降级、系统负载等多个维度保护服务的稳定性;
  • 应用监控:利用Spring Boot Admin来监控各个服务的运行状态;
  • 链路调用监控:基于SkyWalking作为项目的全链路性能监控, 从整体维度到局部维度展示各项指标,将跨应用的所有调用链性能信息集中展现,可方便度量整体和局部性能,并且方便找到故障产生的源头,生产上可极大缩短故障排除时间;
  • 灵活的权限控制:基于RBAC权限管理,该功能模块下的功能用于维护企业的组织架构信息以及员工信息。主要包含了组织架构管理、部门管理、分级管理员、角色管理、岗位管理、企业通讯录、通信录同步等功能。用户可在此功能模块下维护公司的组织架构信息(组织/部门/角色/岗位)和用户信息,也可以通过第三方应用(钉钉/企业微信)将组织架构信息一键导入到系统中,也可以使用组织架构和员工信息的导入功能将数据导入到系统中;
  • 支持多租户:简单配置即可转为多租户模式,实现数据隔离,真实达到城市级停车运营,一个城市一套租户数据库隔离管理;
  • 统一接口管理:基于Swagger拓展的API文档服务,主要提供在平台开发阶段的API文档管理和API调试等功能。

主要技术栈

后端技术栈

  • 主框架:Spring Cloud Alibaba + Spring Boot + Spring Framework
  • 安全框架:Spring Cloud Security OAuth2+JWT
  • 持久层框架:Mybatis-plus、Hibernate Validation、
  • 数据库连接池:Alibaba Druid
  • JSON序列化:Jackson&FastJSON
  • 数据缓存:Redis
  • 消息队列: RabbitMQ
  • API网关:Spring Cloud Gateway
  • 服务注册&发现和配置中心: Nacos
  • 服务监控:Spring Boot Admin
  • 服务消费:OpenFeign/Dubbo RPC
  • 大数据检索框架:Elasticsearch+Canal+Mysql数据同步
  • 日志收集:E(Elasticsearch)+L(Logstash)+K(Kibana)
  • 负载均衡:Ribbon
  • 服务熔断:Sentinel
  • 项目构建:Maven
  • 分布式事务:Seata
  • 链路追踪:Skywalking
  • 即时通讯:spring-boot-starter-websocket
  • AOP:spring-boot-starter-aop
  • 文件服务:阿里云OSS、本地存储、七牛云kodo、MinIO

前端技术栈

  • Vue2 全家桶
  • Element-ui

技术特色

基于Java主流开源技术构建

平台基于流行的J2EE技术栈,应用稳定的Spring Cloud微服务框架进行构建,主流开源的架构给我们带来了以下优势:

  • 广泛的业界支持:流行的开源技术都是广泛使用的,是业界默认的标准。
  • 提高开发效率:流行的开源技术会有大量的开发人员提供大量个性的解决方案,能更快速的找到满足需求的各种解决方案。
  • 提高平台的技术稳定性:流行的开源技术已经通过大量的业务场景验证,保证了技术的成熟性,提高了平台和稳定性。
  • 可维护性:流行的开源技术确保了各种社区的活跃度,可以更好的解决平台维护过程中遇到的问题。

基于微服务架构设计和扩展

城市智慧停车云平台采用微服务架构设计,平台基础模块的每一个应用功能都使用微服务完成:

  • 每个服务都有一个清楚的功能边界
  • 每一个后台服务开放REST API,许多服务本身也采用了其它服务提供的API
  • 通过 API Gateway来统一API暴露
  • 通过 Nacos 配置中心来统一管理平台服务配置
  • 每个微服务可以选择独立部署和弹性资源配置

基于城市智慧停车云平台开发的应用系统,可以很容易的将业务对象作为基本单元进行纵向拆分,以交互层次作为标准进行横向拆分,从而形成多应用交互的微应用架构体系,有效的实现应用的拆分,实现敏捷开发和部署。

服务无状态

单个微服务节点的性能在大业务量时性能会遇到瓶颈,无法满足对业务系统的要求,城市智慧停车云平台服务采用无状态化设计,可以实现水平扩展部署。

前后端分离

提供完整的REST API接口,采用前后端分离技术,可以同时高效的支持移动APP、Web、小程序等应用的开发场景,同时结合Spring Security的OAuth2扩展,采用统一的认证中心,保障REST API的安全性。

架功能说明

统一安全认证中心

基于 Spring SecuritySpring OAuth2JWT 实现的统一认证服务中心,登录基于 Spring Security 的标准登录流程。客户端授权支持 oauth2.0 的四种授权模式:授权码模式、简化模式、密码模式、客户端模式,授权流程跟标准的 oauth2 流程一致。web 端采用简化模式(implicit)登录系统,移动端可使用密码模式(password)登录系统。同时还支持基于 Spring Social 的第三方账号登录方式。

基于RBAC的权限体系

基于角色的访问控制方法(Role-Based Access Control,简称 RBAC)是目前公认的解决大型企业的统一资源访问控制的有效方法。其显著的两大特征是:

  • 减小授权管理的复杂性,降低管理开销;
  • 灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。

用于维护企业的组织架构信息以及员工信息。主要包含了组织信息、员工定义、组织架构、企业通讯录、通信录同步等功能。用户可在此功能模块下维护公司的组织架构信息(组织/部门/角色/岗位)和用户信息,也可以通过第三方应用(钉钉/企业微信)将组织架构信息一键导入到系统中,也可以使用组织架构和员工信息的导入功能将数据导入到系统中。

多租户实现

系统平台支持一个实例服务多个用户(Customer),每一个用户被称之为租户(tenant),软件给予租户可以对系统进行部分;支持添加多平台租户流行和租户管理,通过管理租户来实现不同平台之间的数据隔离;如Saas多租户身份验证,每个管理账号有独立数据、可配置子账户,方便多人使用或统一管理。

文件存储

支持本地存储、网络存储(minIO)、Aliyun OSS,Tencent COS等存储方案。

服务高可用

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。城市智慧停车云平台整合Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。

想看更多与您场景匹配的落地案例?

立即咨询