打车APP技术解决方案

上传人:ET****1 文档编号:35579283 上传时间:2021-10-27 格式:DOC 页数:8 大小:441KB
返回 下载 相关 举报
打车APP技术解决方案_第1页
第1页 / 共8页
打车APP技术解决方案_第2页
第2页 / 共8页
打车APP技术解决方案_第3页
第3页 / 共8页
点击查看更多>>
资源描述
打车 APP解决方案需要定制开发一个打车APP,本文档则分别从功能与技术两个方面介绍了该项目的解决方案。1 预期目标该项目的想要实现的预期目标其实说起来非常简单,只要通过APP能够完成叫车服务即可,图1描述了该项目的本质需求。图 1项目需求从图 1 中可以看出,本项目的本质需求从大的方面来说其实就三个方面:首先满足用户的打车需求,让用户可以及时获取出行服务,并且可以享受到一些优惠活动。其次要满足司机的载客需求,降低出租车的空载率,增加司机的收入。最后,如果可以,最终在线上完成支出操作,使得可以更好的管理出租车司机。这里可以通过与第三方支付进行合作达到目的。为了可以更好达成以上需求,通过这三个本质的需求可以引申出来一些周边的辅助需求,主要有一下几点:在匹配用户和司机双方的供需信息时,可以增加一些语音功能,不仅使得用户操作更方便,也使得司机可以在不影响开车的情况下或许信息。增加加价功能,在用户与司机双方认可的前提下,如果遇到比较极端的出行服务,可以适当的217进行加价,这样可以更高的调动司机的积极性,并且对用户来说也不失公允。在使用完订车服务后,可以增加评价功能,完成评价体系,可以让更好的司机以及更好的乘客脱颖而出,也为出租车公司提供了更好的考核依据。提示:以上这些功能只是笔者本暂时想到的,如果还有其他需要改动的需求,可以随时增加或修改。以上这些所有的需求点,在移动互联网时代,通过打车 APP 的定位功能可以非常高效的满足以上所有的需求。2 功能框架通过对预期目标的需求分析,可以很容易的得出本项目的需要实现的功能,图功能点的框架图。2 给出了本项目所有图 2 本项目功能框架图图 2 详细给出了本项目的功能框架,从大的方面来说可以分为三个端口,分别是司机端、用户端以及企业管理端。提示:以上功能点只是暂时建议的功能点,除了几个核心的功能点之外,其余所有的辅助功能点都是选购的,例如运营功能,可以后期根据委托方具体的运营需求再进行确定。2.1司机端司机端是出租车司机操作的平台,主要用来满足司机载客的需求,使得出租车的空车率得到降低。司机端主要包含以下几个功能点:一键抢单:当用户发布叫车需求后,临近的可以满足服务的出租车司机可以进行抢单操作,有且只会有 1 个司机抢到订单。该功能是司机端的核心功能之一语音读单:出租车司机大部分时间是无法去阅读订单内容的,也无法操作手机的,语音读单可以帮助司机更及时方便的了解叫单的内容。 218管理功能:其中包括我的订单,我的账务,我的消息以及司机服务排名,这些功能可以帮助司机更好的维护自己的服务历史记录。2.2用户端用户端是出租车公司以及司机为用户提供服务的主要窗口,软件的使用率以及公司整体的业绩。用户端主要包含一下几个功能点:用户对服务体验的好坏也直接影响了本叫车功能:其中有即时叫车功能与语音叫车功能。用户使用该APP 的主要目的就是满足其能够及时叫到车的需求,因此本功能是用户端的核心功能之一。在叫车的同时可以附带是否可以拼车,是否给加价等辅助功能。预约功能:用户用车有时候会提前预约订车,例如预约几点去机场等需求,该需求也是用户端核心功能之一。代驾功能:有很多情况用户因为规定无法驾驶自己的汽车, 因此通过 APP 也可以公布自己需要代驾的服务需求。管理功能:其中包括我的订单,我的账务,我的消息等管理功能,方便用户随时查看自己的用车历史记录,除此之外,在每次使用完叫车服务后,还可以对司机进行评价回复。2.3企业管理端这部分主要是让服务提供企业方便的在后台进行运营维护,方便的了解各种数据,为企业的决策提供数据支持,企业管理端主要包含以下几个方面的管理:企业日常管理:该部分主要是可以方便的管理车辆、司机、订单、用户、账务、评价等信息。除此之外,还可以对出租车进行全局监控。企业运营管理:这里主要是为企业运营提供帮助的功能,其中包括公告,优惠政策、统计报表等功能,通过这些功能不仅方便企业及时做出决策,也可以方便企业做一些线上的活动,刺激用户使用。安全权限:因为所有的数据都在企业管理后台这里,因此这里的数据安全,以及权限管理则非常有必要。提示:除了以上两个核心管理功能之外,企业管理者还可以方便监控本系统与第三方平台对接的情况。3 技术体系为了满足以上的功能需求,需要强而有力的技术体系作为支撑才行,因此技术体系就显得非常重要了。根据本系统的特点,笔者推荐使用 RESTful 风格来架构整个技术体系,该风格可使得后台所有的功能是以服务的形式统一为前端提供功能支持。图 3 给出了该项目技术体系。219图 3本项目技术体系图通过图 3 可以看到,本项目的整体技术体系主要氛围三层,分别是前端展现层、API 服务层以及物理数据层,下面给出了这三个层主要用途:前段展现层:主要是为用户进行呈现信息的,这里的用户包括司机、客户以及企业管理者,这些用户分别通过手机或者浏览器来访问本系统的各种服务,其中手机端适配当前量大主流的操作系统:Android 与 IOS。API 服务层:该层展现了RESTful 架构风格,可以看到所有的功能都以服务的形式独立开来,而这些所有的服务都已API 的形式对外呈现,这样前端不管是Android 、 IOS 还是 Web 都可以按照统一的标准进行访问。物理数据层: 这里主要是用来存储数据的地方了,这里提供各种存储数据的方式,其中 MySQL主要用来存储业务数据,redis 主要用来存储位置坐标数据,而OS 主要用来存储大型二进制数据。提示:除了以上这些功能以外,还有一些服务中间件,这些中间件虽然不是直接体现在某个功能上,但是可以用来来协调各个服务之间,以及服务层与数据层之间的关系。例如上面提到的MQ 服务可以提供消息广播服务,而Cache 则可以提供缓存方案,以提高系统的性能。4 架构体系按照以上的技术体系结构,这里给出了 4 种架构体系,这 4 种架构分别应对不同量级的需求,下面则分别来介绍下这几种架构方案。 2204.1架构方案 A方案 A 是比较简单的一种方案,由于该方案成本低廉,运维成本则几乎为期推荐选择的方案。图 4 给出了该方案的架构图。0,因此该方案是项目初图 4架构方案A 示意图通过图 4 可以看出本方案是非常简单的方案,因为架构简单,使得该方案非常容易维护,成本也非常低廉,但同时,该方案也无法支撑高并发的需求。下面给出了该方案的一些参数:支撑流量上限100W机房可以选择公有云服务,例如阿里云。也可以自购主机、自选IDC 机房。存在的问题: IDC 网络故障、 IDC 提供商响应不及时。可以优化方案:搭建配置服务器,使用IP 直联的形式会一定程度上减少域名带来的问题。综上所诉,在项目刚开始阶段,用户流量不是很大的情况下,该方式还是比较实用的,性价比比较高的。4.2架构方案 B随着业务的发展,流量逐步达到了单机的极限,如果并发流量超过100W 的时候,方案A 就无法满足需求, 而方案 B 则在 A 的基础上进行了扩充,使用集群来处理高并发的业务需求。图 5 给出了方案B的架构图。221图 5架构方案B 示意图可以看出,方案B 在方案 A 的基础之上得到了有效的改善,也由以前单机nginx 改为 LVS 提供负载均衡服务,而服务层则是以集群的形式提供强劲的性能,数据库也做了主从模式的集群化架构方案。该方案主要有以下特点:支撑并发流量3000W2 亿机房最好自购主机、自选IDC 机房,并搭建LNMP 集群环境。引入 MongoDB 解决空间索引问题。订单分配系统,则是将LBS 服务,分单服务以及redis 坐标数据独立出来,形成订单分配系统独立维护。增加基于 nagios 的监控系统, 可以监控系统的运行情况, Nginx 、 MySQL 、 Cache、MongoDB 等其中包括, 基础信息 ( cpu,内存等) 、成本在方案A 基础上有了增加,并且日常需要2 运维工程师来维护系统。4.3架构方案 C随着业务量的继续上涨,各种活动的展开,用户流量会越来越多,如果达到全国范围的用户级别的时候,方案 B 就会显得有些力不从心了,此时可以有一下三种办法来应对这个问题:优化: API 逻辑优化、 LVS 性能瓶颈可以尝试搭建LVS 集群 +DNS 轮询,内网带宽极限可以尝试压缩 cache 中的数据,分单系统会导致DB 压力过大,这个时候可以适当的进行调整来消去峰值。柔性:对系统重新进行分析,看清业务与系统开销的对应关系。不常用的二级服务选择性的进行停用。对服务分级,对某些一级服务可以进行降级。扩容:数据库硬件升级, Push 服务集群化改造,开发定制化 LBS 服务算法替代 Redis 以及 MongoDB 。方案然而以上这些应对办法,也只是治标不治本,无法根治方案C 就孕育而生了。图6 给出了方案C 的架构图、B 所展现出来的各种问题,而这个时候 222提示:方案 C 的改造成本以及建造会非常高,但是可以根本上解决问题,因此一般情况下不会选择方案 C,除非做到了滴滴这样全国性出行服务规模。图 6架构方案C 示意图如图图 6 只是给出了方案C 的总览图, 其中每一个虚线块都可以成立一个项目组单拉出来进行研发,6 左下方的数据同步系统,其中包括了DB 集群、 KV 集群等。下面给出了方案C 的参数特点。支撑并发流量在5 亿左右架构服务化,并且分城市部署,每个重要城市自选IDC 机房。成本则需要50+的研发团队以及7 个人左右的运维团队。例支持 SPDY 协议, SPDY 协议是 Google 提出的基于传输控制协议 (TCP) 的应用层协议, 通过压缩、多路复用和优先级来缩短加载时间。该协议是一种更加快速的内容传输协议。使用 DevOps 开发运营模式,为了按时交付软件产品和服务,开发和运营工作必须紧密合作。尝试建立内部私有云,通过云技术、大数据的优势解决一些复杂的问题。5 总结本文档分别从预期目标、功能框架、技术体系以及架构体系这4 个方面对打车APP 的解决方案进行了系统的描述,让所有人在项目动工之前对项目的总体情况有了大致的了解。其中架构方案这里也从简单到复杂给出了三套架构方案,以适合企业不同时期的发展,并满足了软件的可扩展性。5771001803090012095 5790368228596330825771001803090012386 5761373997357606965771001803090013594 5780775799025155125771001803090012387 5771649826018180515771001803090012138 5721311921589183265771001803090012359 5790368223610760535771001803090012356 5761352861437917425771001803090012355 57508786970469327922317088100343355274 10122994432583337917088100343355275 10186673293883200817088100343356107 10158115250150052217088100343356108 10100018005987173217088100343354295 10107419414268701717088100343356184 10187866086962880217088100343356185 10177583117408667417088100343356109 10108601437357284617088100343356110 10115220721601491617088100343355237 10102704160570270917088100343355238 10122936486142541417088100343356169 10186220440263571817088100343354928 101760654089788804
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿件


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!