车辆调度
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
車輛調(diào)度系統(tǒng) ??
大體上分為4個(gè)部分吧
1.調(diào)度車輛:你調(diào)度的時(shí)候需要的車輛,方便給你運(yùn)輸啥的
2.調(diào)度任務(wù):你為啥會(huì)調(diào)度車輛,肯定要有一個(gè)任務(wù)
3.客戶:那這個(gè)車輛為誰(shuí)調(diào)度呢?
4.用戶:誰(shuí)創(chuàng)建了這個(gè)任務(wù),并且發(fā)起了調(diào)度,或者是誰(shuí)主導(dǎo)了這個(gè)任務(wù)
?
這些問(wèn)題弄清楚之后,我們就可以想象一下這個(gè)流程了
?
客戶發(fā)起了一個(gè)調(diào)度任務(wù),用戶去調(diào)度車輛執(zhí)行這個(gè)任務(wù),然后接到任務(wù)的調(diào)度車輛去完成這個(gè)任務(wù)。完成任務(wù)之后,客戶接收到任務(wù)完成之后的結(jié)果,大功告成。
?
雖然說(shuō),這樣分析起來(lái)很簡(jiǎn)單,但是簡(jiǎn)單的背后是復(fù)雜的邏輯關(guān)系
比如說(shuō):調(diào)度車輛怎么分配,每個(gè)調(diào)度車輛都是平等的關(guān)系嗎?如果一個(gè)任務(wù)發(fā)送出去了,每個(gè)車輛都能接收到這個(gè)任務(wù)嗎?如果說(shuō)每個(gè)車輛都能接收到這個(gè)任務(wù)的話,時(shí)間和成本應(yīng)該怎么算,誰(shuí)去執(zhí)行,怎么執(zhí)行。等等這些問(wèn)題都是要考慮的。
?
1.執(zhí)行任務(wù)的時(shí)候,車輛都是哪里都有。所以肯定不是有任務(wù)都直接發(fā)送出去的
2.執(zhí)行任務(wù)的時(shí)候,車輛調(diào)度的距離遠(yuǎn)近,結(jié)算也是不同的,所以肯定要求最優(yōu)化解決方案
3.執(zhí)行任務(wù)的時(shí)候,對(duì)時(shí)間也是有要求的
4.對(duì)質(zhì)量和服務(wù)也是有要求的
5.如果調(diào)度車輛已經(jīng)接了很多單子,肯定也不會(huì)讓他們?cè)诮訂瘟?#xff0c;影響執(zhí)行速度
6.每個(gè)任務(wù)都有對(duì)調(diào)度車輛和司機(jī)的限制的,所以車輛類型和司機(jī)的整體也是有要求的
7.因?yàn)橐恍┰?#xff0c;遲到或者是出現(xiàn)問(wèn)題的處理
等等一些原因,如果這些原因都解決好了,那么這些問(wèn)題我覺(jué)得70%左右的問(wèn)題都解決了。
?
之后我們來(lái)分析一下車輛調(diào)度的時(shí)候我們的實(shí)體該如何設(shè)計(jì)
1.調(diào)度車輛
??? ? 我們現(xiàn)在看到的大街上,好多送餐的車,像餓了么,美團(tuán),百度等等,你們看他們的車子,有很多不是自己的,也有自己的,像餓了么找的是蜂鳥(niǎo)快送,應(yīng)該是吧,我忘記了,百度好像是自己的,是餓了么。實(shí)際上我覺(jué)得有一部分都是找的第三方的公司接的單。然后到一個(gè)月或者是一個(gè)季度結(jié)算一次,這些我就不清楚了。
這個(gè)問(wèn)題說(shuō)明,最少得有一個(gè)第三方調(diào)度公司表,然后我覺(jué)得還有區(qū)域表,在有個(gè)調(diào)度車輛表,還有一個(gè)登陸上線的司機(jī)表,為啥呢?
1.第三方調(diào)度公司表:很清楚了,就是車輛所在的公司
2.區(qū)域表:我覺(jué)得,這些車輛應(yīng)該有一個(gè)位置范圍,他不可能那里都跑,這也不合理
3.調(diào)度車輛表:這個(gè)就清楚了,需要調(diào)度的車輛
4.司機(jī)表:他們肯定得有個(gè)App或者是啥東西吧,等接受到任務(wù)的,我怎么知道他們能不能上線,肯定得有個(gè)表記錄一下他們的上下線的狀態(tài)啥的
?
?
2.調(diào)度任務(wù)
? ? 調(diào)度任務(wù):相比于我來(lái)說(shuō),我想點(diǎn)個(gè)餐,然后這個(gè)點(diǎn)餐這個(gè)過(guò)程,我覺(jué)得應(yīng)該是先發(fā)起一個(gè)點(diǎn)餐的任務(wù),然后后臺(tái)接收到這個(gè)任務(wù),接收到任務(wù)之后,在把任務(wù)分配給調(diào)度車輛,然后調(diào)度車輛接到這個(gè)調(diào)度任務(wù)之后把相應(yīng)的東西運(yùn)送到目的地,然后結(jié)束掉。
? ? 首先啊,肯定要有個(gè)任務(wù)表,來(lái)記錄任務(wù),然后有個(gè)調(diào)度表,來(lái)記錄任務(wù)調(diào)度的狀態(tài),比如說(shuō)任務(wù)調(diào)度給了調(diào)度車輛,然后車輛開(kāi)始執(zhí)行任務(wù),車輛到達(dá)目的地,車輛完成任務(wù)等等。之后呢還需要車輛提供一下在這個(gè)任務(wù)中行走的軌跡,我們好知道他到哪里了,方便給客戶推送實(shí)時(shí)信息。所以說(shuō)呢?這里面的表包括
1.任務(wù)表:記錄任務(wù)的
2.調(diào)度表:記錄調(diào)度車輛狀態(tài)信息的
3.坐標(biāo)軌跡表:可以清楚的了解車輛信息的位置的
? ? ? ?但是呢,這個(gè)估計(jì)還不全,因?yàn)樯厦嬷v到了,這個(gè)任務(wù)有可能是特殊的,我們可能還需要加一個(gè)擴(kuò)展表來(lái)滿足它的特殊性,然后每個(gè)任務(wù)都是要對(duì)司機(jī)進(jìn)行結(jié)算的,所以我們要有一個(gè)結(jié)算表來(lái)記錄司機(jī)和任務(wù)的結(jié)算方式的。所以:
1.任務(wù)表:記錄任務(wù)的
2.調(diào)度表:記錄調(diào)度車輛狀態(tài)信息的
3.坐標(biāo)軌跡表:可以清楚的了解車輛信息的位置的
4.任務(wù)擴(kuò)展表:記錄特殊信息
5.結(jié)算表:記錄司機(jī)和任務(wù)的結(jié)算金額
?
?
客戶:
客戶涉及到車輛服務(wù)的人群,所以首先有個(gè)客戶表,根據(jù)客戶的需求,可以在擴(kuò)展出來(lái)其他的表
客戶表
?
用戶
用戶包括組織權(quán)限,菜單,權(quán)限,角色,崗位,部門等等
用戶表
用戶角色表
角色表
菜單表
角色菜單表
權(quán)限表
崗位表
崗位菜單表
部門表
?
轉(zhuǎn)載于:https://my.oschina.net/ohalo/blog/882600
總結(jié)
- 上一篇: Java java.lang.Secu
- 下一篇: 数学思维游戏两则:Gabriel喇叭、世