車輛調度

為什么80%的碼農都做不了架構師?>>> ??hot3.png

車輛調度系統 ??

大體上分為4個部分吧

1.調度車輛:你調度的時候需要的車輛,方便給你運輸啥的

2.調度任務:你為啥會調度車輛,肯定要有一個任務

3.客戶:那這個車輛為誰調度呢?

4.用戶:誰創建了這個任務,并且發起了調度,或者是誰主導了這個任務

?

這些問題弄清楚之后,我們就可以想象一下這個流程了

?

客戶發起了一個調度任務,用戶去調度車輛執行這個任務,然后接到任務的調度車輛去完成這個任務。完成任務之后,客戶接收到任務完成之后的結果,大功告成。

?

雖然說,這樣分析起來很簡單,但是簡單的背后是復雜的邏輯關系

比如說:調度車輛怎么分配,每個調度車輛都是平等的關系嗎?如果一個任務發送出去了,每個車輛都能接收到這個任務嗎?如果說每個車輛都能接收到這個任務的話,時間和成本應該怎么算,誰去執行,怎么執行。等等這些問題都是要考慮的。

?

1.執行任務的時候,車輛都是哪里都有。所以肯定不是有任務都直接發送出去的

2.執行任務的時候,車輛調度的距離遠近,結算也是不同的,所以肯定要求最優化解決方案

3.執行任務的時候,對時間也是有要求的

4.對質量和服務也是有要求的

5.如果調度車輛已經接了很多單子,肯定也不會讓他們在接單了,影響執行速度

6.每個任務都有對調度車輛和司機的限制的,所以車輛類型和司機的整體也是有要求的

7.因為一些原因,遲到或者是出現問題的處理

等等一些原因,如果這些原因都解決好了,那么這些問題我覺得70%左右的問題都解決了。

?

之后我們來分析一下車輛調度的時候我們的實體該如何設計

1.調度車輛

??? ? 我們現在看到的大街上,好多送餐的車,像餓了么,美團,百度等等,你們看他們的車子,有很多不是自己的,也有自己的,像餓了么找的是蜂鳥快送,應該是吧,我忘記了,百度好像是自己的,是餓了么。實際上我覺得有一部分都是找的第三方的公司接的單。然后到一個月或者是一個季度結算一次,這些我就不清楚了。

這個問題說明,最少得有一個第三方調度公司表,然后我覺得還有區域表,在有個調度車輛表,還有一個登陸上線的司機表,為啥呢?

1.第三方調度公司表:很清楚了,就是車輛所在的公司

2.區域表:我覺得,這些車輛應該有一個位置范圍,他不可能那里都跑,這也不合理

3.調度車輛表:這個就清楚了,需要調度的車輛

4.司機表:他們肯定得有個App或者是啥東西吧,等接受到任務的,我怎么知道他們能不能上線,肯定得有個表記錄一下他們的上下線的狀態啥的

?

?

2.調度任務

? ? 調度任務:相比于我來說,我想點個餐,然后這個點餐這個過程,我覺得應該是先發起一個點餐的任務,然后后臺接收到這個任務,接收到任務之后,在把任務分配給調度車輛,然后調度車輛接到這個調度任務之后把相應的東西運送到目的地,然后結束掉。

? ? 首先啊,肯定要有個任務表,來記錄任務,然后有個調度表,來記錄任務調度的狀態,比如說任務調度給了調度車輛,然后車輛開始執行任務,車輛到達目的地,車輛完成任務等等。之后呢還需要車輛提供一下在這個任務中行走的軌跡,我們好知道他到哪里了,方便給客戶推送實時信息。所以說呢?這里面的表包括

1.任務表:記錄任務的

2.調度表:記錄調度車輛狀態信息的

3.坐標軌跡表:可以清楚的了解車輛信息的位置的

? ? ? ?但是呢,這個估計還不全,因為上面講到了,這個任務有可能是特殊的,我們可能還需要加一個擴展表來滿足它的特殊性,然后每個任務都是要對司機進行結算的,所以我們要有一個結算表來記錄司機和任務的結算方式的。所以:

1.任務表:記錄任務的

2.調度表:記錄調度車輛狀態信息的

3.坐標軌跡表:可以清楚的了解車輛信息的位置的

4.任務擴展表:記錄特殊信息

5.結算表:記錄司機和任務的結算金額

?

?

客戶:

客戶涉及到車輛服務的人群,所以首先有個客戶表,根據客戶的需求,可以在擴展出來其他的表

客戶表

?

用戶

用戶包括組織權限,菜單,權限,角色,崗位,部門等等

用戶表

用戶角色表

角色表

菜單表

角色菜單表

權限表

崗位表

崗位菜單表

部門表

?

轉載于:https://my.oschina.net/ohalo/blog/882600

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282338.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282338.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282338.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

threeJS 實用

texture可以是圖片和canvas,并且最終是作為material的map屬性來渲染。texture的構造函數中有一個參數image(圖片,canvas),使用圖片的時候需要使用imageLoader加載到圖片產生一個image對象,然后設置成為text…

C#爬蟲-Selenium ChromeDriver 設置代理

背景開發爬蟲程序,如果不做代理設置,本機的外網IP很容易被網站封掉,導致不能持續進行數據抓取。而Selenium作為動態網頁抓取的利器,我們有必要了解一下,如何對它進行代理設置,并正常訪問網頁。解決辦法1、首…

Nginx 設置,設置已經解析的域名,在nginx中沒有定義相應server時的默認訪問

場景介紹: 因為業務需求,我們需要對域名進行解析,這里我對域名進行了如下解析但是,因為業務需求,我可能在nginx中只定義了kuman.xiaobudiu.top 和 www.xiaobudiu.top 的相應server的子配置文件,如圖那么問題…

第一次作業--四則運算題目生成程序

功能簡介: 1.獲取用戶所要生成算術的個數 2.隨機生成算式和式子的答案 3.生成算式和答案的txt文件來保存算式和答案 思路: 生成里的運算數分為三個部分,整數,如果是分數就再分為分子和分母,然后為這三個部分創建數組&a…

ABP vNext微服務架構詳細教程(補充篇)——單層模板(上)訂正篇

簡介在之前的《ABP vNext微服務架構詳細教程》系列中,我們已經構建了完整的微服務架構實例,但是在開發過程中,我們會發現每個基礎服務都包含10個類庫,這是給予DDD四層架構下ABP的實現方案,但是實際使用中我們會發現&am…

MyBatis Plus輕松實現數據讀寫分離

在現代應用程序中,數據庫是至關重要的組成部分。為了提高性能和可用性,常見的數據庫優化策略之一是將數據庫讀和寫操作分離,以降低數據庫服務器的負載。MyBatis Plus是一個流行的Java持久化框架,它提供了讀寫分離的支持,結合Spring Boot 集成多數據源的特性可以幫助你輕松…

javascript基礎修煉(4)——UMD規范的代碼推演

javascript基礎修煉(4)——UMD規范的代碼推演 1. UMD規范 地址:https://github.com/umdjs/umd UMD規范,就是所有規范里長得最丑的那個,沒有之一!!!它是為了讓模塊同時兼容AMD和CommonJs規范而出現的&#x…

Missing artifact log4j:log4j:bundle:1.2.17

為什么80%的碼農都做不了架構師?>>> maven引入log4jjar包出現Missing artifact log4j:log4j:bundle:1.2.17,解決方法是去掉bundle,其他的解決方案可以參考maven log4j.jar問題 Maven使用log4j可能會有協議上的問題 如果log4j的版…

PHPStorm 配置遠程服務器文件夾在本地windows鏡像,實現代碼自動同步(類似于Samba架構文件同步功能)

場景介紹: 這是一種類似samba架構,也和 filezillaxshell 模式相類似的代碼文件同步的模式,但是卻更加優雅,也更加方便簡潔。環境介紹: 本地windows端:編輯器phpstorm 遠程Linux端:centos&#x…

bzoj1143/2718 祭祀river(最大獨立集)

[CTSC2008]祭祀river Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2175 Solved: 1098[Submit][Status][Discuss]Description 在遙遠的東方,有一個神秘的民族,自稱Y族。他們世代居住在水面上,奉龍王為神。每逢重大慶典, Y族…

反向ajax實現

在過去的幾年中,web開發已經發生了很大的變化。現如今,我們期望的是能夠通過web快速、動態地訪問應用。在這一新的文章系列中,我們學習如何使用反 向Ajax(Reverse Ajax)技術來開發事件驅動的web應用,以此來…

linux系統啟動流程及常見問題的解決

一、前言計算機開機是一個神秘的過程。我們只是按了開機鍵,就看到屏幕上的進度條或者一行行的輸出,直到我們到達登錄界面。然而,計算機開機又是個異常脆弱的過程,我們滿心期望的登錄界面可能并不會出現,而是一個命令行…

使用.NET開發一個屏幕OCR工具

本文將介紹使用.NET開發的一款桌面截圖 OCR 工具,軟件已開源,地址:https://github.com/sangyuxiaowu/Snipping_OCR背景因為不同地方人們的使用習慣不同,國內可能截圖更多的是使用QQ,微信等即時聊天工具提供的截圖功能。…

segnet 編譯與測試

segnet 編譯與測試參考:http://sunxg13.github.io/2015/09/10/caffe/http://m.blog.csdn.net/lemianli/article/details/76687508http://blog.h5min.cn/u010069760/article/details/75258539(注意:nakefile而非makefile.config)1、…

Linux開啟fileinfo擴展

在項目初始部署環境的時候,可能考慮的并不全面,就會少裝一些擴展,這里講解如何添加fileinfo擴展1、找到php安裝的壓縮包2、將壓縮包cp到 /data目錄下,并解壓 cp php-7.0.30.tar.gz /data cd /data tar -zxvf php-7.0.30.tar.gz…

TemplateBinding與Binding區別,以及WPF自定義控件開發的遭遇

在上一次的文章WPF OnApplyTemplate 不執行 或者執行滯后的疑惑談到怎么正確的開發自定義控件&#xff0c;我們控件的樣式中&#xff0c;屬性的綁定一般都是用TemplateBinding來完成,如下一個基本的按鈕樣式&#xff1a; <Style x:Key"SimpleButton" TargetType&q…

Layui版本的WPF開源控件庫-Layui-WPF

大家好&#xff0c;我是沙漠盡頭的狼。今天介紹一款Layui風格的WPF開源控件庫&#xff0c;倉庫信息如下&#xff1a;倉庫地址&#xff1a;https://github.com/Layui-WPF-Team/Layui-WPF倉庫截圖&#xff1a;Layui-WPF關于Layui請點擊此鏈接[1]了解&#xff0c;本文不做介紹&…

Mycat 之 通過Keepalived 實現高可用

一、系統拓撲圖 一、操作方法 參考本博客的Nginx Keepalived 實現高可用轉載于:https://blog.51cto.com/12965094/2164485

Nginx使用upstream實現動靜分離

一、為什么要進行動靜分離 分離資源&#xff0c;減少不必要到的請求消耗&#xff0c;減少請求延時。 注&#xff1a;我這里&#xff0c;是nginx處理靜態資源&#xff0c;apache處理動態資源。 場景分析&#xff1a; 1、未分離之前的場景步驟 &#xff08;1&#xff09;客戶…

HMAC

HMAC 的用途 HMAC 算法主要應用于身份驗證&#xff0c;用法如下&#xff1a; 1.客戶端發出登錄請求2.服務器返回一個隨機值&#xff0c;在會話記錄中保存這個隨機值3.客戶端將該隨機值作為密鑰&#xff0c;用戶密碼進行 hmac 運算&#xff0c;遞交給服務器4.服務器讀取數據庫中…