999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于北斗的城市垃圾清運(yùn)系統(tǒng)①

2021-08-02 11:08:36姚文欽母洪鋮
關(guān)鍵詞:數(shù)據(jù)庫用戶系統(tǒng)

姚文欽,茍 剛,母洪鋮

(貴州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴陽 550025)

隨著互聯(lián)網(wǎng)技術(shù)日新月異的發(fā)展,我國當(dāng)前的道路貨物運(yùn)輸企業(yè)呈現(xiàn)“多、小、散”的特點(diǎn)[1],并且對于傳統(tǒng)的貨運(yùn)企業(yè)而言,其在運(yùn)作模式上已經(jīng)形成了一整套運(yùn)營體系,理念模式也較為陳舊.其根本原因在于該行業(yè)的特殊性,運(yùn)輸過程缺乏規(guī)范化的監(jiān)控和管理.如今,互聯(lián)網(wǎng)與各行各業(yè)的結(jié)合是必不可少的趨勢,早期車輛管理系統(tǒng)主要是以美國的GPS 定位技術(shù)為依托.但出于安全情況的考慮下,由我國自主研發(fā)的北斗衛(wèi)星導(dǎo)航系統(tǒng)[2,3]更適合于我國軟件的發(fā)展趨勢.同時(shí),對于車輛管理系統(tǒng)而言,國內(nèi)外研究各有特色.如:龔德平[4]以某物流公司為背景,使用Java EE 技術(shù),設(shè)計(jì)了車輛管理系統(tǒng),有效地解決了傳統(tǒng)模式下車輛申請和車輛使用的弊端.卓浩[5]以某行政部門公務(wù)用車為背景,使用NET 平臺進(jìn)行集成開發(fā),設(shè)計(jì)了更為實(shí)用的車輛管理系統(tǒng).Erkut 等人[6]以車輛運(yùn)輸路線為特點(diǎn),設(shè)定社會風(fēng)險(xiǎn),路線長度等為參數(shù),通過評價(jià)危險(xiǎn)品在運(yùn)輸過程中的線路的風(fēng)險(xiǎn),來為危險(xiǎn)品車輛路徑優(yōu)化提供破解的方案.

本文所述系統(tǒng)主要由PHP 語言的ThinkPHP 框架,MySQL 數(shù)據(jù)庫,以及由渣土協(xié)會提供的車輛數(shù)據(jù)與北斗定位數(shù)據(jù)等為基礎(chǔ),來開發(fā)實(shí)現(xiàn)相應(yīng)功能.系統(tǒng)界面簡明,操作方便,在“互聯(lián)網(wǎng)+”的背景下,充分利用在線平臺來實(shí)現(xiàn)車源和貨源信息的有效聚集,降低車輛的空車率,規(guī)范渣土車輛運(yùn)營,以及為實(shí)現(xiàn)源頭追溯與全流程透明化管理提供統(tǒng)一的服務(wù)[7].

1 系統(tǒng)設(shè)計(jì)

1.1 系統(tǒng)總體架構(gòu)設(shè)計(jì)

本系統(tǒng)采用了層次化的設(shè)計(jì)架構(gòu),其總體架構(gòu)主要分為3 部分,分別為:數(shù)據(jù)層,業(yè)務(wù)邏輯層,應(yīng)用層.數(shù)據(jù)層主要是對數(shù)據(jù)庫進(jìn)行訪問,以此來獲取車輛的定位數(shù)據(jù),車輛數(shù)據(jù)以及CAN 總線數(shù)據(jù);業(yè)務(wù)邏輯層主要是對數(shù)據(jù)進(jìn)行相應(yīng)的邏輯處理,如:車輛運(yùn)輸管理、司機(jī)管理、接口管理、TCO 管理等操作;應(yīng)用層主要用于在用戶操作時(shí)對相應(yīng)數(shù)據(jù)的一個(gè)展現(xiàn),其主要包含:網(wǎng)站首頁、日常管理、車輛管理、用戶管理、等頁面的展現(xiàn).系統(tǒng)的總體架構(gòu)如圖1所示.

圖1 系統(tǒng)總體架構(gòu)圖

1.2 系統(tǒng)開發(fā)環(huán)境

基于北斗的城市垃圾清運(yùn)系統(tǒng)采用B/S (Browser/Server)架構(gòu)設(shè)計(jì)模式,以及基于PHP的ThinkPHP 框架來進(jìn)行開發(fā)[8,9],且使用了Apache 服務(wù)器.系統(tǒng)的前端主要基于HTHL 規(guī)范,其前后臺之間的數(shù)據(jù)通過Ajax的方式來進(jìn)行異步請求獲取,所有接口數(shù)據(jù)均通過JSON 格式來進(jìn)行交互[10,11].系統(tǒng)的后端應(yīng)用程序采用了MVC (Model-View-Controller)的設(shè)計(jì)模式,更易于將系統(tǒng)的輸入輸出和邏輯處理進(jìn)行分離,使軟件架構(gòu)更加合理,更易于維護(hù).此外,系統(tǒng)的數(shù)據(jù)庫采用了編碼為utf-8的關(guān)系型數(shù)據(jù)庫MySQL.

1.3 系統(tǒng)功能模塊設(shè)計(jì)

城市垃圾清運(yùn)系統(tǒng)按功能劃分為網(wǎng)站首頁、車輛管理、日常管理、統(tǒng)計(jì)分析、用戶管理五大模塊,針對這五大模塊,系統(tǒng)中又設(shè)計(jì)了與其功能模塊相對應(yīng)的子模塊.用戶可以通過瀏覽器訪問客戶端來使用系統(tǒng)功能,系統(tǒng)的功能模塊如圖2所示:

圖2中網(wǎng)站首頁是用戶在進(jìn)入系統(tǒng)后默認(rèn)展示的界面,主要用于為用戶提供基本的信息展示,如車輛總數(shù)、派出車輛占比、車輛分布數(shù)據(jù)等,用戶可通過登錄進(jìn)入管理系統(tǒng).

圖2 系統(tǒng)功能模塊圖

車輛管理主要是對車輛的運(yùn)輸及其軌跡進(jìn)行管理,主要包括的子模塊有車輛實(shí)時(shí)位置管理,車輛運(yùn)輸管理,車輛歷史軌跡管理[12,13].系統(tǒng)還可以針對固定車輛進(jìn)行車輛軌跡浮現(xiàn),即查看當(dāng)天車輛運(yùn)輸貨物的軌跡,該數(shù)據(jù)還可多方面利用.系統(tǒng)內(nèi)車輛的運(yùn)輸路線是由高德地圖來對其進(jìn)行展現(xiàn),地圖模塊的定位數(shù)據(jù)來自于運(yùn)輸車輛自帶的北斗定位模塊,并且在展現(xiàn)前系統(tǒng)內(nèi)部將會對車輛定位模塊發(fā)送的定位數(shù)據(jù)進(jìn)行獲取,分析與處理.

日常管理包括項(xiàng)眾多,其中涵蓋了工地注冊(垃圾清運(yùn)車起始站點(diǎn))、服務(wù)點(diǎn)注冊、車輛注冊、車輛維修管理、車輛保險(xiǎn)管理、保養(yǎng)管理等.日常管理的主要作用是保證系統(tǒng)服務(wù)的正常運(yùn)行,該模塊在功能區(qū)中的展現(xiàn)方式主要以表格的方式來顯示.

統(tǒng)計(jì)分析是數(shù)據(jù)的綜合部分,統(tǒng)計(jì)分析模塊主要涵蓋了工地收入管理,TCO 統(tǒng)計(jì),車輛進(jìn)出統(tǒng)計(jì),這一功能可以清晰明了的展現(xiàn)承運(yùn)人的總收入,車輛運(yùn)輸總趟數(shù)等綜合性數(shù)據(jù).

用戶管理主要管理在平臺上注冊的用戶信息,其中主要信息包括:賬號,姓名,電話,角色以及操作權(quán)限等.同時(shí),可通過管理員權(quán)限來增加用戶以及分配相應(yīng)用戶權(quán)限.

2 系統(tǒng)實(shí)現(xiàn)關(guān)鍵技術(shù)

2.1 北斗定位數(shù)據(jù)處理

對于北斗衛(wèi)星定位技術(shù)而言[14],它是我國科學(xué)家根據(jù)社會經(jīng)濟(jì)發(fā)展的需要和基于國家國防安全角度的考慮開發(fā)出來的空間定位技術(shù).此外,北斗衛(wèi)星導(dǎo)航系統(tǒng)可提供雙向高精度授時(shí)和短報(bào)文通信服務(wù),其位置精度為平面5,高程10 m,測速精度0.2 m/s,授時(shí)精度為單向50 ns[15].同時(shí),出于隱私和安全考慮,系統(tǒng)的北斗定位數(shù)據(jù)均采用數(shù)據(jù)包的形式發(fā)送,司機(jī),車輛等信息由貴陽市渣土協(xié)會提供,并在使用時(shí)通過接口的調(diào)用來返回相應(yīng)數(shù)據(jù).

當(dāng)上級平臺與車輛間主從通信鏈路中斷時(shí),需在雙方主從鏈路通信恢復(fù)后補(bǔ)發(fā)中斷期間的車輛定位信息,若車輛需發(fā)送的數(shù)據(jù)包大于5 條時(shí)則以每包5 條的方式進(jìn)行補(bǔ)發(fā).同時(shí),車輛將會通過推送數(shù)據(jù)包的方式,將數(shù)據(jù)推送到socket 服務(wù)來建立連接,以此讓客戶端獲取到車輛北斗定位模塊所提供的數(shù)據(jù)包.當(dāng)長時(shí)間未收到推送數(shù)據(jù)包時(shí),系統(tǒng)會將服務(wù)進(jìn)行重啟,并由最后一個(gè)數(shù)據(jù)包的時(shí)間戳,來對未收到的數(shù)據(jù)包進(jìn)行重新請求.正常獲取到的數(shù)據(jù)包如圖3所示.

圖3 車輛定位數(shù)據(jù)包

然后系統(tǒng)會在本地對數(shù)據(jù)包進(jìn)行解析,進(jìn)而獲取到車輛的明確定位數(shù)據(jù).由于系統(tǒng)內(nèi)使用的北斗短報(bào)文通信屬于北斗系統(tǒng)提供的民用短報(bào)文通信.在獲取相應(yīng)信息時(shí)會使用字符串截取函數(shù)來對報(bào)文進(jìn)行截取,并將其從16 進(jìn)制轉(zhuǎn)為10 進(jìn)制,并寫入數(shù)據(jù)庫,其數(shù)據(jù)包文件解碼的關(guān)鍵代碼如下:

public static function log($data){

$log_file=__DIR__.' cp_master_log'.date("Y-md").'.txt';

if(($log=fopen ($log_file,"a+"))===FALSE){

echo("創(chuàng)建可寫文件:".$log_file."失敗");

return;

}

fwrite($log,date("Y-m-d H:i:s").":".$data." ");

fclose($log);

}

// 收到數(shù)據(jù)包后自動進(jìn)行解碼

public static function decode($recv_buffer){

$recv_buffer=str_replace(pack("H*","5a01"),pack("H*","5b"),$recv_buffer);

$recv_buffer=str_replace(pack("H*","5a02"),pack("H*","5a"),$recv_buffer);

……

}

2.2 使用地圖服務(wù)

系統(tǒng)的地圖服務(wù)是基于高德地圖的API[16]來開發(fā)的,該服務(wù)是車輛實(shí)時(shí)定位功能與軌跡查詢功能的基礎(chǔ).在使用高德地圖的API 時(shí),需要在高德開放平臺上的應(yīng)用管理頁面創(chuàng)建一個(gè)新應(yīng)用,并在該應(yīng)用內(nèi)新添加一個(gè)key,然后就可以在前端頁面內(nèi)通過sctipt 標(biāo)簽引入高德地圖的API來進(jìn)行項(xiàng)目的開發(fā),引用代碼如下:

接著就可以通過高德地圖API 所提供的類以及方法來對地圖組件來進(jìn)行相應(yīng)的操作.通常使用Amap.Map(" ")方法來創(chuàng)建一個(gè)地圖實(shí)例對象,再通過該對象來調(diào)用高德地圖API的類和方法來實(shí)現(xiàn)具體功能.

function init(){

var map;

// 創(chuàng)建地圖實(shí)例

map=new AMap.Map("container");

var lnglats=get_lnglats();

}

3 系統(tǒng)實(shí)現(xiàn)

3.1 數(shù)據(jù)層實(shí)現(xiàn)

對于數(shù)據(jù)層而言,ThinkPHP中內(nèi)置了抽象數(shù)據(jù)庫訪問層,可以把不同數(shù)據(jù)庫操作封裝起來,并使用公共的Db 類來進(jìn)行操作,Db 類會自動調(diào)用相應(yīng)的數(shù)據(jù)庫適配器來處理.系統(tǒng)主要采用在ThinkPHP中加入MySQL 數(shù)據(jù)庫驅(qū)動來建立MySQL 數(shù)據(jù)庫連接,再通過對象關(guān)系映射來定義模型類與數(shù)據(jù)庫表的映射,然后在Controller中通過對模型類的引用來操作數(shù)據(jù)庫,以此更加方便地對數(shù)據(jù)庫進(jìn)行操作,并從數(shù)據(jù)庫中獲取車輛的定位數(shù)據(jù),車輛數(shù)據(jù)以及CAN 總線數(shù)據(jù).

3.2 業(yè)務(wù)邏輯層實(shí)現(xiàn)

業(yè)務(wù)邏輯層主要是由控制器去執(zhí)行相應(yīng)命令,如車輛運(yùn)輸管理,司機(jī)管理,接口管理等操作.前臺的業(yè)務(wù)通過接口的形式訪問到該頁面對應(yīng)的控制器,然后再由控制器來操縱相應(yīng)的模型去處理具體的業(yè)務(wù)邏輯.在ThinkPHP內(nèi),自定義的控制器通常要繼承系統(tǒng)的Controller 類,以此使用系統(tǒng)的內(nèi)置方法.如自定義的控制器LoginController 用于控制用戶登錄,首先控制器會通過會在視圖層輸出login.html 頁面,再該界面內(nèi),用戶在輸入用戶名和密碼后會通過Ajax 請求的方式訪問LoginController的login()方法,方法會先使用D(“User”)來實(shí)例化User 模型,并通過對象關(guān)系映射的方式來進(jìn)行數(shù)據(jù)庫查詢,比對所查內(nèi)容與輸入的數(shù)據(jù)是否一致,以此來判斷用戶可否成功登錄,比對之后系統(tǒng)將通過JSON 向前端返回相應(yīng)信息.

LoginController的login ()方法主要如下:

public function login (){

$user=D("User");

$result=$user->create(I(""),2);

if(!$result){

json_return(0,"登錄失敗",null,$user->get

Error());

return;

}

$result=$user->login();

if(is_array($result)){

echo json_encode($result);

}

else{

json_return(0,$result);

}

}

3.3 應(yīng)用層實(shí)現(xiàn)

業(yè)務(wù)邏輯系統(tǒng)采用Bootstrap 與jQuery來設(shè)計(jì)相應(yīng)應(yīng)用層的樣式以及開發(fā)的效率,再結(jié)合HTML、CSS和JavaScript來實(shí)現(xiàn)網(wǎng)站首頁,車輛管理,日常管理,統(tǒng)計(jì)分析,用戶管理五大模塊的前端視圖.為了便于用戶管理,所有視圖層的文件都將存放于Home/View中,并由ThinkPHP 控制器中的渲染函數(shù)display()來進(jìn)行渲染輸出.

例如,登錄后的初始界面為車輛管理模塊的車輛實(shí)時(shí)定位管理,如圖4所示,界面的左側(cè)為菜單欄,右側(cè)為功能區(qū),其中菜單欄可以根據(jù)登錄的用戶所具有的相應(yīng)權(quán)限來進(jìn)行相應(yīng)的渲染.并且,車輛實(shí)時(shí)定位管理功能的地圖是基于調(diào)用高德地圖API[17]來實(shí)現(xiàn)的,該功能可以通過選定車輛的車牌號和行駛時(shí)間來對車輛的運(yùn)行軌跡進(jìn)行查詢,從而快速定位到車輛位置,并實(shí)時(shí)監(jiān)控其運(yùn)輸狀態(tài).與此同時(shí)還可以根據(jù)需求來對工廠,消納場點(diǎn)等位置是否顯示做出操作.

圖4 車輛實(shí)時(shí)位置管理

3.4 系統(tǒng)應(yīng)用情況

系統(tǒng)使用PHPStorm 軟件與基于PHP的ThinkPHP框架完成開發(fā),并已部署至實(shí)際的企業(yè)環(huán)境中運(yùn)行,目前經(jīng)用戶反饋運(yùn)行效果良好.平臺使用阿里云服務(wù)器提供云服務(wù),使用Windows 系統(tǒng)部署開發(fā)環(huán)境.用戶在系統(tǒng)中可通過相應(yīng)的界面操作,可方便地使用各項(xiàng)功能,清晰的掌握車輛的實(shí)時(shí)位置,以及查看當(dāng)前工地的詳細(xì)收益情況.截至2020年12月7 日,系統(tǒng)共有111 輛渣土運(yùn)輸車接入系統(tǒng),注冊司機(jī)超210 人次,系統(tǒng)內(nèi)啟用的工地共42個(gè),其部分車輛運(yùn)行情況如圖5所示,內(nèi)含車輛當(dāng)前運(yùn)行的位置、速度、駕駛?cè)恕⒙?lián)系電話和時(shí)間等信息.

圖5 車輛運(yùn)行情況

4 結(jié)語

基于北斗的城市垃圾清運(yùn)系統(tǒng)實(shí)現(xiàn)了對垃圾清運(yùn)車的有效管理,其在技術(shù)上,相對于傳統(tǒng)城市垃圾回收運(yùn)輸而言,它可以實(shí)現(xiàn)源頭追溯,且具有更便捷的可視化界面;實(shí)現(xiàn)全流程透明化管理,并且實(shí)時(shí)關(guān)注每個(gè)環(huán)節(jié)的進(jìn)展情況,以便更好地為企業(yè)降本增效;與此同時(shí)系統(tǒng)均采用了北斗系列來進(jìn)行數(shù)據(jù)采集,更有效的維護(hù)了信息和技術(shù)的安全.但系統(tǒng)由于定位數(shù)據(jù)量過于龐大,查詢車輛的歷史軌跡的時(shí)候,需要通過查詢車輛的歷史定位數(shù)據(jù)來實(shí)現(xiàn),此時(shí)后臺數(shù)據(jù)加載時(shí)間會較長,也有可能會導(dǎo)致數(shù)據(jù)加載失敗的問題.在后續(xù)的開發(fā)過程中還將會進(jìn)一步地對問題進(jìn)行改善,并且還可在后續(xù)的開發(fā)過程中結(jié)合機(jī)器學(xué)習(xí)來對司機(jī)的駕駛行為與車輛的健康狀況進(jìn)行相應(yīng)的分析.

猜你喜歡
數(shù)據(jù)庫用戶系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數(shù)據(jù)庫
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫
主站蜘蛛池模板: 好久久免费视频高清| 免费Aⅴ片在线观看蜜芽Tⅴ| 中文一区二区视频| 国产欧美日韩视频怡春院| 亚洲日韩高清在线亚洲专区| 国产成人精品免费av| 91国内在线视频| 国产一级在线播放| 亚洲狠狠婷婷综合久久久久| 手机在线免费不卡一区二| 97se亚洲综合在线天天| 大学生久久香蕉国产线观看| 中文字幕中文字字幕码一二区| 十八禁美女裸体网站| 在线观看精品国产入口| 男女精品视频| 国产一级视频在线观看网站| 国产精品美女网站| 国产成人精品视频一区视频二区| 伊人久久青草青青综合| 国产一区二区免费播放| 热这里只有精品国产热门精品| 丁香五月婷婷激情基地| 亚洲第一av网站| 激情爆乳一区二区| 国产99视频精品免费观看9e| 国产色图在线观看| 国产一二三区视频| 99这里只有精品免费视频| 亚洲精品爱草草视频在线| 天天躁夜夜躁狠狠躁图片| 久久国产亚洲偷自| 日韩一区精品视频一区二区| 亚洲中文精品人人永久免费| 日韩午夜片| 成人噜噜噜视频在线观看| 亚洲国产成人麻豆精品| 久久久久国产精品熟女影院| 亚洲成在线观看| 广东一级毛片| 99免费在线观看视频| 欧美精品黑人粗大| 农村乱人伦一区二区| 中文字幕丝袜一区二区| 午夜综合网| 久久伊人操| 色综合天天娱乐综合网| 18禁黄无遮挡网站| 伊人色在线视频| 国产喷水视频| 国产手机在线观看| 日本人妻一区二区三区不卡影院| 国产区免费精品视频| 99在线国产| 又大又硬又爽免费视频| 永久免费精品视频| 欧美一级黄片一区2区| 1769国产精品视频免费观看| 人妻无码AⅤ中文字| 国产在线自乱拍播放| 91无码国产视频| 无码内射在线| 国产人妖视频一区在线观看| 无遮挡国产高潮视频免费观看| 国产主播一区二区三区| 国产日韩欧美在线视频免费观看 | 国产丝袜丝视频在线观看| 搞黄网站免费观看| 婷婷六月综合网| 久久a毛片| 亚洲毛片在线看| 亚洲欧洲自拍拍偷午夜色| 青青青亚洲精品国产| 在线国产欧美| 99在线视频网站| 亚洲美女一级毛片| 最新国产麻豆aⅴ精品无| 波多野结衣中文字幕一区| 亚洲码在线中文在线观看| 国产尤物在线播放| 在线观看91香蕉国产免费| 永久在线播放|