版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要隨著社會(huì)生產(chǎn)力的發(fā)展,新能源正在慢慢代替?zhèn)鹘y(tǒng)的,不可再生的,逐漸枯竭能源,我國(guó)在近些年來(lái)一直在出臺(tái)相應(yīng)的政策來(lái)扶持涉及新能源的項(xiàng)目。新能源汽車在新能源的發(fā)展熱潮中也得到了迅速的發(fā)展,我國(guó)也很快的找到了適合本土化的新能源汽車的發(fā)展道路。新能源汽車在一定程度上緩解了交通阻塞、環(huán)境污染和能源枯竭等等的問(wèn)題,但由于充電樁基礎(chǔ)設(shè)施的在城市中、鄉(xiāng)鎮(zhèn)中、服務(wù)器的選址布局規(guī)劃的問(wèn)題尚且沒(méi)有一條清晰的方向,帶來(lái)充電樁的利用率低、出行高峰期一樁多車等待的情況頻繁發(fā)生。作為電動(dòng)汽車的配搭設(shè)施充電樁也應(yīng)該做出提前的規(guī)劃和布局,應(yīng)該從這幾方面入手:需求預(yù)測(cè)、市場(chǎng)調(diào)研、空間規(guī)劃、優(yōu)化選址、智能調(diào)度、持續(xù)優(yōu)化、安全可靠,因此設(shè)計(jì)一款基于大數(shù)據(jù)技術(shù)的智慧充電系統(tǒng)顯的尤為重要。本論文設(shè)計(jì)的系統(tǒng)保證了跨平臺(tái)的兼容性和簡(jiǎn)化了用戶的繁瑣充電步驟,采用簡(jiǎn)潔的設(shè)計(jì)理念,同時(shí)系統(tǒng)的可擴(kuò)展性極高,為以后得升級(jí)迭代打下了基礎(chǔ)??傊疚奶岢龅闹腔鄢潆娤到y(tǒng)為新能源汽車的發(fā)展提供了強(qiáng)有力的支持,有望為未來(lái)的城市交通或鄉(xiāng)鎮(zhèn)出行帶來(lái)更加便捷、高效、安全、環(huán)保的充電系統(tǒng)一站式解決方案。關(guān)鍵詞:新能源大數(shù)據(jù)充電系統(tǒng)充電設(shè)施系統(tǒng)實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)
ABSTRACTWiththedevelopmentofsocialproductivity,newenergyisslowlyreplacingtraditional,non-renewable,andgraduallyexhaustedenergy,Chinahasbeenissuingcorrespondingpoliciesinrecentyearstosupportprojectsinvolvingnewenergy.Newenergyvehicleshavealsodevelopedrapidlyinthedevelopmentboomofnewenergy,andChinahasquicklyfoundadevelopmentroadsuitableforlocalizationofnewenergyvehicles.Toacertainextent,newenergyvehicleshavealleviatedtheproblemsoftrafficcongestion,environmentalpollutionandenergydepletion,etc.,butthereisnocleardirectionforthelocationlayoutplanningofchargingpileinfrastructureincities,towns,andservers,resultinginlowutilizationofchargingpilesandfrequentoccurrenceofmultiplevehicleswaitingduringpeaktraveltimes.Asamatchingfacilityforelectricvehicles,chargingpilesshouldalsobeplannedandlaidoutinadvance,andshouldstartfromtheseaspects:demandforecasting,marketresearch,spatialplanning,optimallocation,intelligentscheduling,continuousoptimization,safetyandreliability,sothedesignofasmartchargingsystembasedonbigdatatechnologyisparticularlyimportant.Thesystemdesignedinthispaperensurescross-platformcompatibilityandsimplifiesthetediouschargingstepsofusers,adoptssimpledesignconcept,andthesystemhashighscalability,whichlaysafoundationforfutureupgradeiteration.Inshort,theintelligentchargingsystemproposedinthispaperprovidesstrongsupportforthedevelopmentofnewenergyvehicles,andisexpectedtobringamoreconvenient,efficient,safeandenvironmentallyfriendlyone-stopchargingsystemsolutionforfutureurbantransportationortownshiptravel.Keywords:Newenergy;Bigdata;Chargingsystem;Chargingfacility;Systemimplementation;Systemdesign-1-第四章系統(tǒng)概要設(shè)計(jì)4.1系統(tǒng)流程設(shè)計(jì)通過(guò)合理設(shè)計(jì)系統(tǒng)流程,可以優(yōu)化操作順序和步驟,減少不必要的環(huán)節(jié),提高整個(gè)系統(tǒng)的運(yùn)行效率和穩(wěn)定性。同時(shí)為用戶提供更好的使用體驗(yàn)。系統(tǒng)流程設(shè)計(jì)能夠確保操作的安全性和穩(wěn)定性,避免因操作不當(dāng)或流程缺陷導(dǎo)致系統(tǒng)故障和經(jīng)濟(jì)損失,在充電系統(tǒng)中,包括充電過(guò)程的安全,防止過(guò)充、過(guò)放的安全問(wèn)題。同時(shí)良好的系統(tǒng)流程設(shè)計(jì)使得系統(tǒng)的管理和維護(hù)更加便捷。對(duì)于充電系統(tǒng)而言,這包括對(duì)充電設(shè)備的監(jiān)控、處理充電的異常情況、進(jìn)行設(shè)備維護(hù)等等,確保系統(tǒng)安全穩(wěn)定的運(yùn)行。4.1.1系統(tǒng)模塊設(shè)計(jì)本系統(tǒng)分為以下幾個(gè)模塊功能模塊圖如圖4.1所示:用戶管理模塊:用戶管理模塊主要是對(duì)用戶的權(quán)限、用戶錢包賬戶、用戶登錄賬號(hào)進(jìn)行管理。設(shè)備管理模塊:充電樁的不同充電槍的充電效率進(jìn)行管理;充電訂單服務(wù)模塊:訂單的成功與失??;充電導(dǎo)航服務(wù)模塊:為用戶提供出附近充電樁的使用情況和距離規(guī)劃;充電監(jiān)控服務(wù)模塊:對(duì)充電樁的狀態(tài)和溫度進(jìn)行監(jiān)控;充電系統(tǒng)用戶管理充電系統(tǒng)用戶管理充電監(jiān)控充電導(dǎo)航訂單服務(wù)設(shè)備管理用戶登錄用戶錢包用戶權(quán)限快充慢充中充計(jì)算距離獲取位置訂單失敗附近充電樁創(chuàng)建訂單訂單成功狀態(tài)信息溫度告警圖4.1系統(tǒng)模塊4.1.2掃碼充電流程設(shè)計(jì)由用戶在手機(jī)APP或小程序掃描二維碼開(kāi)始建立充電連接,進(jìn)入充電啟動(dòng)倒計(jì)時(shí)。啟動(dòng)充電指令下發(fā)存在一定概率啟動(dòng)失敗的情況,此時(shí)訂單不適合寫入數(shù)據(jù)庫(kù)中,先推送到消息隊(duì)列中。等待充電樁的終端接收到啟動(dòng)指令,并返回啟動(dòng)成功確認(rèn)后,訂單才是有效的,此時(shí)在寫入數(shù)據(jù)庫(kù)中。啟動(dòng)成功訂單和啟動(dòng)失敗訂單需要分開(kāi)存儲(chǔ),方便后期對(duì)訂單數(shù)據(jù)的分析,同時(shí)也減少了主訂單對(duì)應(yīng)的表中的數(shù)據(jù)量。當(dāng)一個(gè)訂單在中途就被中斷,就不會(huì)有充電結(jié)束事件上報(bào),這類訂單被歸為異常訂單,存儲(chǔ)到相應(yīng)的庫(kù)中,然后進(jìn)行異常訂單處理流程,這種情況采用定時(shí)掃描方式,掃描訂單表中,超過(guò)充電最高時(shí)長(zhǎng)還沒(méi)有結(jié)束的充電訂單(快充三小時(shí),慢充24小時(shí)),最后對(duì)這些訂單進(jìn)行數(shù)據(jù)分析,進(jìn)行上報(bào),交給人工進(jìn)行審核,具體實(shí)現(xiàn)流程圖如圖4.2所示。是是否否否是是是是是是否是進(jìn)入系統(tǒng)生成訂單啟動(dòng)危險(xiǎn)策略停止更換設(shè)備用戶充值提示用戶充電樁狀態(tài)車輛vin碼交流/直流充電訂單設(shè)備異常車輛異常余額不足待付訂單4.1.3充電過(guò)程監(jiān)控設(shè)計(jì)當(dāng)在用戶使用充電槍進(jìn)行充電過(guò)程中,我們的系統(tǒng)會(huì)每隔三十秒向服務(wù)器上傳數(shù)據(jù)(溫度、濕度、電池型號(hào)、電池狀態(tài)、電表數(shù)據(jù)等),我們會(huì)對(duì)上傳的數(shù)據(jù)通過(guò)大數(shù)據(jù)的實(shí)時(shí)流計(jì)算技術(shù)對(duì)海量數(shù)據(jù)進(jìn)行快速運(yùn)算處理,并反饋給用戶以此來(lái)提供穩(wěn)定的充電過(guò)程,如果異常數(shù)據(jù),就向用戶推送告警信息,用戶來(lái)決定是否繼續(xù)充電,如果有緊急情況最終情況由系統(tǒng)來(lái)斷開(kāi)與汽車的連接,阻止意外發(fā)生。充電過(guò)程中,系統(tǒng)會(huì)實(shí)時(shí)監(jiān)測(cè)充電消費(fèi)金額以及賬戶余額,發(fā)現(xiàn)余額不足就跳轉(zhuǎn)充值頁(yè)面,按照頁(yè)面所展示的幾個(gè)固定面值進(jìn)行充值操作,充值是接入的第三方充值服務(wù),充值完成,跳轉(zhuǎn)到充電頁(yè)面,重新開(kāi)啟充電,充電完成進(jìn)行充電消費(fèi)金額的最終結(jié)算,具體實(shí)現(xiàn)流程圖如圖4.3所示。啟動(dòng)成功啟動(dòng)成功危險(xiǎn)狀態(tài)是否充值剩余時(shí)長(zhǎng)啟動(dòng)充電充電樁充電中告警充值界面剩余時(shí)間電壓/溫度賬戶余額剩余所需電量上報(bào)是是是圖4.3充電監(jiān)控流程圖4.1.4充電結(jié)束設(shè)計(jì)充電結(jié)束階段,充電停止指令等下發(fā),設(shè)備停止供電,并上報(bào)充電結(jié)束事件,根據(jù)充電結(jié)束事件來(lái)計(jì)算訂單的充電時(shí)長(zhǎng)、使用電量、消費(fèi)金額、實(shí)際付款金額等等,進(jìn)入訂單結(jié)算流程,結(jié)算完成通知用戶訂單信息。如果是非正常結(jié)束訂單,就會(huì)進(jìn)入充電訂單異常訂單結(jié)算流程,結(jié)算完成通知用戶異常訂單信息,具體實(shí)現(xiàn)流程圖如圖4.4所示。停止充電停止充電停止接口停止指令停止充電充電樁充電費(fèi)用設(shè)備狀態(tài)充電計(jì)費(fèi)充電詳情用戶圖4.4充電結(jié)束流程圖4.2.1數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)該充電系統(tǒng)的表設(shè)計(jì)遵循阿里巴巴開(kāi)發(fā)手冊(cè)設(shè)計(jì)原則,充分考慮了業(yè)務(wù)邏輯和數(shù)據(jù)分離,數(shù)據(jù)庫(kù)只作為一個(gè)保證ACID事務(wù)正確和可靠性的持久化存儲(chǔ)系統(tǒng),盡量減少自定義函數(shù)、存儲(chǔ)過(guò)程、視圖和觸發(fā)器。充分考慮數(shù)據(jù)的安全設(shè)計(jì),數(shù)據(jù)庫(kù)管理和使用人員權(quán)限分離。主要通過(guò)根據(jù)業(yè)務(wù)系統(tǒng)特點(diǎn)進(jìn)行分庫(kù)和分表設(shè)計(jì),對(duì)數(shù)據(jù)表進(jìn)行恰當(dāng)?shù)姆謪^(qū)設(shè)計(jì)和索引策略,并在表中存儲(chǔ)一定的數(shù)據(jù)項(xiàng)冗余,從減少數(shù)據(jù)庫(kù)訪問(wèn)次數(shù),增加數(shù)據(jù)庫(kù)的并行訪問(wèn),降低數(shù)據(jù)庫(kù)訪問(wèn)的IO瓶頸,減少數(shù)據(jù)庫(kù)表的聯(lián)表查詢使用的頻繁度,完成數(shù)據(jù)庫(kù)的性能設(shè)計(jì)和優(yōu)化。充分考慮數(shù)據(jù)增長(zhǎng)模型,采用水平拆分和垂直拆分的模式。主要有一下幾張表:充電槍表、管理員表、充電費(fèi)用規(guī)則表、用戶車輛綁定表、訂單異常表、運(yùn)營(yíng)商表、充電進(jìn)度表、訂單成功表,具體表如下所示。表4-1充電槍表設(shè)計(jì)charging_gun_info字段類型約束字段定義備注id int(11)primaryindex自增ID編號(hào)gun_numberchar(1)NOTNULL槍編號(hào)gun_namevarchar(10)DEFAULTNULL槍名稱字段類型約束字段定義備注powerfloat(9,4)DEFAULTNULL額定功率KW單位:kw electricityfloat(9,4)DEFAULTNULL額定電流Avoltage_upper_limitsfloat(9,4)DEFAULTNULL電壓上限Vvoltage_lower_limitsfloat(9,4)DEFAULTNULL電壓下限Vgun_typetinyint(1)DEFAULTNULL充電樁IDgun_statustinyint(1)DEFAULTNULL槍狀態(tài)(1空閑2使用中3故障4離線)create_timetimestampDEFAULTCURRENT_TIMESTAMP創(chuàng)建時(shí)間update_timetimestampDEFAULTCURRENT_TIMESTAMP更新時(shí)間deletedtinyint(4)DEFAULT'0'是否刪除表4-2管理員表charging_admin字段類型約束字段定義備注idint(18)primaryindex自增ID編號(hào)adminnamevarchar(128)DEFAULT''管理員名稱passwordvarchar(128)DEFAULT''管理員密碼create_timetimestampDEFAULTCURRENT_TIMESTAMP創(chuàng)建時(shí)間update_timetimestampDEFAULTCURRENT_TIMESTAMP更新時(shí)間deletedtinyint(4)DEFAULT'0'是否刪除表4-3充電費(fèi)用規(guī)則表charging_cost_rule字段類型約束字段定義備注idint(11)primaryindex自增ID編號(hào)station_idint(11)DEFAULT'0'充電站編號(hào)gun_typetinyint(4)DEFAULTNULL設(shè)備類型namevarchar(128)DEFAULTNULL計(jì)費(fèi)名稱create_timetimestampDEFAULTCURRENT_TIMESTAMP起始時(shí)間update_timetimestampDEFAULTCURRENT_TIMESTAMP結(jié)束時(shí)間字段類型約束字段定義備注power_feedecimal(10,2)DEFAULT'0.00'電費(fèi)service_feedecimal(10,2)DEFAULT'0.00'服務(wù)費(fèi)表4-4用戶車輛綁定表charging_user_vehicle_bind字段類型約束字段定義備注idint(11)primaryindex自增ID編號(hào)user_idint(11)DEFAULTNULL用戶編號(hào)vehicle_idint(11)DEFAULTNULL車輛編號(hào)statetinyint(4)DEFAULT'0'狀態(tài)狀態(tài)(1:綁定0:解綁)create_timevarchar(32)notnull創(chuàng)建時(shí)間unbind_timevarchar(32)notnull解綁時(shí)間deletedtinyint(4)DEFAULT'0'是否刪除表4-5訂單異常表charing_bill_exception字段類型約束字段定義備注idint(11)primaryindex自增IDbill_idvarchar(255)DEFAULT''訂單編號(hào)electricitydecimal(10,0)DEFAULT'0'電源voltagedecimal(10,0)DEFAULT'0'電壓temperaturefloatDEFAULT'0'溫度bill_starttimetimestampDEFAULTCURRENT_TIMESTAMP訂單開(kāi)始時(shí)間create_timetimestampDEFAULTCURRENT_TIMESTAMP記錄創(chuàng)建時(shí)間deletedtinyint(1)DEFAULT'0'是否刪除表4-6運(yùn)營(yíng)商表charging_operator_info字段類型約束字段定義備注idint(10)primaryindex自增IDoperator_numbervarchar(255)NOTNULL運(yùn)營(yíng)商編號(hào)operator_namevarchar(255)DEFAULTNULL運(yùn)營(yíng)商名稱businessvarchar(255)DEFAULTNULL經(jīng)營(yíng)業(yè)務(wù)字段類型約束字段定義備注phonevarchar(11)DEFAULTNULL聯(lián)系方式addressvarchar(255)DEFAULTNULL地址create_timetimestampDEFAULTCURRENT_TIMESTAMP創(chuàng)建時(shí)間unbind_timetimestampDEFAULTNULL解綁時(shí)間表4-7充電進(jìn)度表charging_bill_progress字段類型約束字段定義備注idint(18)primaryindex自增ID編號(hào)bill_idvarchar(255)NOTNULL訂單號(hào)charging_capacityfloatDEFAULT'0'充電量kwhbattery_temperaturefloat(9,4)DEFAULT'0.0000'電池溫度create_timetimestampDEFAULTCURRENT_TIMESTAMP創(chuàng)建時(shí)間total_capacityfloatDEFAULT'000000000000'總電量update_timetimestampDEFAULTCURRENT_TIMESTAMP更新時(shí)間deletedtinyint(4)DEFAULT'0'是否刪除表4-8訂單成功表charging_bill_succes字段類型約束字段定義備注idint(18)primaryindex自增ID編號(hào)bill_idvarchar(255)NOTNULL訂單號(hào)charging_capacityint(3)DEFAULTNULL充電量kwhelectric_moneydecimal(8,3)DEFAULTNULL電費(fèi)service_moneydecimal(8,3)DEFAULTNULL服務(wù)費(fèi)charging_durationint(11)DEFAULTNULL充電時(shí)長(zhǎng)user_idint(11)DEFAULTNULL用戶IDoperator_idint(11)DEFAULTNULL運(yùn)營(yíng)商IDstation_idint(11)DEFAULTNULL場(chǎng)站IDgun_idint(11)DEFAULTNULL車牌號(hào)vehicle_idint(11)DEFAULTNULL車輛編號(hào)charging_start_timedatetimeDEFAULTNULL充電開(kāi)始時(shí)間charging_end_timedatetimeDEFAULTNULL充電結(jié)束時(shí)間bill_statustinyint(4)DEFAULTNULL訂單狀態(tài)1充電中2正常3異常4欠費(fèi)pay_amountdecimal(8,3)DEFAULTNULL支付金額字段類型約束字段定義備注pay_timedatetimeDEFAULTNULL支付時(shí)間pay_channeltinyint(4)DEFAULTNULL支付渠道update_timetimestampDEFAULTCURRENT_TIMESTAMP更新時(shí)間deletedtinyint(4)DEFAULT'0'是否刪除reate_timetimestampDEFAULTCURRENT_TIMESTAMP訂單創(chuàng)建時(shí)間4.2.2充電系統(tǒng)E-R圖設(shè)計(jì)充電系統(tǒng)啟動(dòng)充電主要是對(duì)充電槍狀態(tài)的獲?。妷骸㈦娏鞯龋?,查看充電是否可以正常進(jìn)行,如圖4.5所示。啟動(dòng)事件啟動(dòng)事件開(kāi)始時(shí)間采樣時(shí)間SOC電流電壓金額時(shí)段電量服務(wù)費(fèi)電價(jià)設(shè)備狀態(tài)訂單狀態(tài)圖4.5啟動(dòng)充電系統(tǒng)E-R圖本系統(tǒng)的計(jì)費(fèi)采用的方法是,電價(jià)由運(yùn)營(yíng)商在后臺(tái)進(jìn)行配置,電價(jià)按照尖峰平谷四種電價(jià),電價(jià)浮動(dòng)范圍在各地政府規(guī)定的最低和最高價(jià)格區(qū)間中進(jìn)行定義,每天24小時(shí)可以分為最多48個(gè)時(shí)段,每個(gè)時(shí)段的電價(jià)由四種電價(jià)中選擇;如果由優(yōu)惠活動(dòng),可以根據(jù)領(lǐng)取優(yōu)惠,在充電完成的結(jié)算階段計(jì)算(實(shí)付金額=sum((時(shí)段電量*時(shí)段電價(jià))+時(shí)段服務(wù)費(fèi))-優(yōu)惠金額),具體的計(jì)費(fèi)模型,如圖4.6所示。計(jì)費(fèi)模型計(jì)費(fèi)模型時(shí)段配置時(shí)段ID模型ID運(yùn)營(yíng)商狀態(tài)通信協(xié)議模型名稱計(jì)費(fèi)模式模型ID開(kāi)始時(shí)間結(jié)束時(shí)間ID時(shí)段值時(shí)段名圖4.6充電系統(tǒng)計(jì)費(fèi)E-R圖4.3概念模型設(shè)計(jì)充電訂單實(shí)體是各個(gè)基礎(chǔ)實(shí)體通過(guò)泛化構(gòu)造出來(lái)的超類實(shí)體,充電訂單實(shí)體概念圖,具體如圖4.7所示。充電訂單充電訂單充電車輛充電會(huì)員充電電量充電設(shè)備運(yùn)營(yíng)商充電時(shí)間計(jì)價(jià)方式訂單來(lái)源訂單狀態(tài)充電費(fèi)用支付費(fèi)用優(yōu)惠卷充電時(shí)長(zhǎng)圖4.7訂單實(shí)體概念圖充電車輛實(shí)體(注冊(cè)車輛信息的基本檔案),如圖4.8所示。新能源車輛新能源車輛車輛牌照車輛產(chǎn)地車輛型號(hào)車輛類別車輛名稱vin碼電池系統(tǒng)主機(jī)廠圖4.8充電車輛實(shí)體概念圖4.3.1非關(guān)系型數(shù)據(jù)庫(kù)設(shè)計(jì)該系統(tǒng)首先用戶授權(quán)手機(jī)程序獲取用戶的位置,手機(jī)程序把用戶的位置發(fā)送給后端服務(wù)器,后端服務(wù)器使用RedisGEO功能計(jì)算用戶附近的充電站,redis返回附近充電站的距離,經(jīng)度,緯度,充電站編號(hào),在用充電站編號(hào)從redis中查找充電站詳細(xì)信息。服務(wù)器返回手機(jī)的是一個(gè)集合,集合包含多個(gè)充電站,每個(gè)充電站有名稱、舉例、費(fèi)用等信息。Redis中的key為stationGeoZset(類型是zset),value是對(duì)應(yīng)充電站的經(jīng)緯度,充電站名稱重復(fù)會(huì)把名稱改為對(duì)應(yīng)的ID。第五章系統(tǒng)的實(shí)現(xiàn)5.1系統(tǒng)后臺(tái)功能的實(shí)現(xiàn)5.1.1后臺(tái)管理系統(tǒng)該系統(tǒng)的后臺(tái)管理系統(tǒng)是由運(yùn)營(yíng)商和管理員都可以登錄的,首先填寫管理員賬號(hào)信息和驗(yàn)證碼,界面如圖5.1所示,點(diǎn)擊“登錄”按鈕即可進(jìn)入系統(tǒng),若輸入的用戶名或密碼不正確,則登錄不成功。圖5.1后臺(tái)管理系統(tǒng)登錄界面后臺(tái)管理界面采用簡(jiǎn)潔明了的設(shè)計(jì),主要功能有系統(tǒng)管理、系統(tǒng)監(jiān)控、系統(tǒng)工具、管理這四大模塊,其中充電管理下面有設(shè)備管理、計(jì)費(fèi)管理、用戶管理、訂單管理,其中充電場(chǎng)站可以對(duì)充電站進(jìn)行新增、刪除和修改等功能,界面如圖5.2所示。圖5.2后臺(tái)管理系統(tǒng)主頁(yè)面管理員在對(duì)應(yīng)的管理頁(yè)面可以對(duì)用戶、充電樁、充電站進(jìn)行增加、修改和刪除操作。界面如圖5.3所示。由前端發(fā)送一個(gè)對(duì)應(yīng)的請(qǐng)求,后端通過(guò)SpringMVC框架找到對(duì)應(yīng)的Controller類接收并處理該請(qǐng)求。圖5.3充電樁增加頁(yè)面管理員還可以通過(guò)后臺(tái)管理系統(tǒng)查看成功訂單、失敗訂單、異常訂單,如圖5.4所示。圖5.4后臺(tái)管理系統(tǒng)查看界面該塊功能主要代碼: publicclassChargingAdminControllerextendsBaseController{@AutowiredprivateIChargingAdminServicechargingAdminService;@PreAuthorize("@ss.hasPermi('charge:admin:list')")@GetMapping("/list")publicTableDataInfolist(ChargingAdminchargingAdmin){startPage();List<ChargingAdmin>list=chargingAdminService.selectChargingAdminList(chargingAdmin);returngetDataTable(list);}@PreAuthorize("@ss.hasPermi('charge:admin:query')")@GetMapping(value="/{id}")publicAjaxResultgetInfo(@PathVariable("id")Longid){returnAjaxResult.success(chargingAdminService.selectChargingAdminById(id));}@PreAuthorize("@ss.hasPermi('charge:admin:add')")@Log(title="管理員",businessType=BusinessType.INSERT)@PostMappingpublicAjaxResultadd(@RequestBodyChargingAdminchargingAdmin){returntoAjax(chargingAdminService.insertChargingAdmin(chargingAdmin));}}管理員對(duì)應(yīng)的接口: publicinterfaceIChargingAdminService{publicChargingAdminselectChargingAdminById(Longid);publicList<ChargingAdmin>selectChargingAdminList(ChargingAdminchargingAdmin);publicintinsertChargingAdmin(ChargingAdminchargingAdmin);publicintupdateChargingAdmin(ChargingAdminchargingAdmin);publicintdeleteChargingAdminByIds(Long[]ids);publicintdeleteChargingAdminById(Longid);}5.1.2前端界面實(shí)現(xiàn)充電系統(tǒng)前端是由Vue+uni-app+HBuilderX開(kāi)發(fā)實(shí)現(xiàn)的,優(yōu)點(diǎn)是可以多端適配(手機(jī)端、PC端)不需要編寫大量的重復(fù)代碼,縮短系統(tǒng)開(kāi)發(fā)周期,同時(shí)也加快了應(yīng)用程序的上市時(shí)間,UniApp采用了多種性能優(yōu)化技術(shù),如緩存管理和數(shù)據(jù)預(yù)加載等技術(shù),這有助于大幅度提升應(yīng)用程序的性能,使其在運(yùn)行過(guò)程中更加流暢和快速的向用戶提出反饋。同時(shí),Vue和UniApp都有龐大的社區(qū)在背后支持。開(kāi)發(fā)者可以在開(kāi)發(fā)者社區(qū)中找到大量的文檔和教學(xué)視頻等,這有助于幫助開(kāi)發(fā)者在開(kāi)發(fā)中遇到的種種問(wèn)題,同時(shí)也能從其他開(kāi)發(fā)者的經(jīng)驗(yàn)中學(xué)習(xí)到更多的知識(shí)和技巧。Vue和UniApp的結(jié)合使得前端應(yīng)用更易于擴(kuò)展和維護(hù),Vue的組件化開(kāi)發(fā)模式使得代碼更加模塊化,易于理解和管理。而UniApp的跨平臺(tái)特征使得應(yīng)用在不同平臺(tái)上的表現(xiàn)更加一直,減少了維護(hù)成本。相關(guān)代碼實(shí)現(xiàn)截圖如下圖5.1、5.2所示。圖5.1附近充電樁圖圖5.2掃碼充電界面充電系統(tǒng)可以在“我的”頁(yè)面中選擇“車輛認(rèn)證”,可以給充電的車選擇品牌、型號(hào)并添加車牌號(hào)、發(fā)動(dòng)機(jī)號(hào)、車輛識(shí)別代碼等信息認(rèn)證該車輛,如圖5.3所示。圖5.3綁定車輛信息界面在主頁(yè)中可以看見(jiàn)所有充電站的列表,方便用戶查看所有充電樁位置信息,如圖5.4所示。圖5.4附近充電站列表下面是充電站詳情界面,本系統(tǒng)以創(chuàng)建一個(gè)簡(jiǎn)潔開(kāi)發(fā)頁(yè)面為最終目標(biāo)的系統(tǒng),讓所有人都能快速使用本系統(tǒng)。雖然簡(jiǎn)潔但是功能集成、用戶體驗(yàn)、界面設(shè)計(jì)都是十分完備的,如圖5.5、5.6所示。圖5.5充電站界面圖5.6充電站篩選界面5.2.1充電系統(tǒng)的后臺(tái)實(shí)現(xiàn)充電系統(tǒng)的后臺(tái)主要用到的框架和技術(shù)有SpringBoot、Redis、MariDB、SpringCloud、消息隊(duì)列、ElasticSerach、Canal、Flink、Mybatis等。微服務(wù)使用的是SpringCloud和Feign,原因是SpringCloud是由國(guó)內(nèi)阿里提供的一套基于微服務(wù)一站式解決方案,該框架特別全面不需要過(guò)多的配置和復(fù)雜的學(xué)習(xí)便可以快速上手,但遠(yuǎn)程調(diào)用使用的是OpenFeign,它相比于阿里的Dubbo有著以下幾種優(yōu)點(diǎn):OpenFeign可以跨語(yǔ)言,不僅僅局限于Java,但是Dubbo要求微服務(wù)的提供者和消費(fèi)者都用Java編寫業(yè)務(wù)代碼。這點(diǎn)大大降低了充電系統(tǒng)的以后的升級(jí)和迭代。OpenFeign是基于HTTP請(qǐng)求的,有請(qǐng)求行和請(qǐng)求頭,而Dubbo是基于RPC,沒(méi)有請(qǐng)求行和請(qǐng)求頭,OpenFeign更加符合我們的業(yè)務(wù)場(chǎng)景需求。并且我們?cè)诒O(jiān)控充電樁的狀態(tài)時(shí)需要的是長(zhǎng)連接,Dubbo因此不是我們最好的選擇。微服務(wù)的搭建:通過(guò)添加對(duì)應(yīng)版本的Maven依賴項(xiàng)(Nacos、SpringCloud、OpenFeign),并寫入相應(yīng)的配置,部分源碼:依賴項(xiàng):<dependency><grouId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency>//user微服務(wù)通過(guò)UserParam接收參數(shù)//bill微服務(wù)通過(guò)UserParam傳數(shù)據(jù)給user微服務(wù)publicclassUserParam{StringuserId;PublicStringgetUserId(){ReturnuserId;}publicvoidsetUserId(StringuserId){this.userId=userId;}}service-user實(shí)現(xiàn)微服務(wù),部分代碼:@RestControllerpublicclassUserController{//feign在調(diào)用微服務(wù)時(shí),用json傳數(shù)據(jù),提供用json收數(shù)據(jù)@PostMapping(“getVehicle”)publicStringgetVehicle(@RequestBodyUserParamuserParam){Return“用戶”+userParam.getUserId()+”車牌是京A00000”;}}微服務(wù)消費(fèi)者不分代碼:@FeignClient(“service-user”)//bill臉上nacos,通過(guò)service-user從nacos中能得到用戶微服務(wù)的ipprotpublicinterfaceUserServiceClient{//從用戶微服務(wù)拷貝UserParam和controller中的方法定義@PostMapping(“getVehicle”)publicStringgetVehicle(@RequestBodyUserParamuserParam);}Controller層代碼:@RestControllerpubliclassBillController{@AutowiredUserServiceClientuserServiceClient;publicStringcreateBill(){UserParamuserParam=newUserParam();userParam.setUserId(“2306”);ReturnuserServiceClient.getVehicle(userParam);}}上面就是該系統(tǒng)實(shí)現(xiàn)微服務(wù)的部分主要代碼,該系統(tǒng)主要是為了應(yīng)對(duì)大的流量和大的數(shù)據(jù)量沖擊進(jìn)來(lái),所以采用微服務(wù),微服務(wù)對(duì)后期系統(tǒng)的升級(jí)和迭代提供了巨大的便利。微服務(wù)已經(jīng)成為目前系統(tǒng)設(shè)計(jì)的主流,目前隨著5G時(shí)代帶來(lái)的巨大的帶寬,服務(wù)器也受到了巨大的流量沖擊,為了給用戶提供更好的服務(wù),增加系統(tǒng)的容災(zāi)性微服務(wù)時(shí)必不可少的。在大數(shù)據(jù)的情況下,數(shù)據(jù)同步就顯得尤為重要,充電系統(tǒng)的數(shù)據(jù)同步使用的是Canal,Canal是Alibaba旗下的一款開(kāi)源項(xiàng)目,使用純Java開(kāi)發(fā),它是基于數(shù)據(jù)庫(kù)增量日志解析,提供增量數(shù)據(jù)訂閱和消費(fèi)的功能。Canal主要用于MySQL數(shù)據(jù)庫(kù)的增量日志信息解析,以捕獲數(shù)據(jù)庫(kù)的變更數(shù)據(jù),并把這些變更數(shù)據(jù)傳遞其它系統(tǒng)。Canal的工作原理依賴于主從復(fù)制原理,通過(guò)解析數(shù)據(jù)庫(kù)的二進(jìn)制日志(binarylog)來(lái)實(shí)現(xiàn)數(shù)據(jù)的增量同步。主要使用場(chǎng)景包括:數(shù)據(jù)同步:如在線、離線數(shù)據(jù)庫(kù)之間進(jìn)行數(shù)據(jù)同步操作。數(shù)據(jù)消費(fèi):例如根據(jù)關(guān)注的數(shù)據(jù)庫(kù)的變化,進(jìn)行搜索增量。數(shù)據(jù)脫敏:如將線上動(dòng)態(tài)數(shù)據(jù)導(dǎo)入其他地方,進(jìn)行數(shù)據(jù)脫敏處理??偟膩?lái)說(shuō),Canal是一個(gè)功能強(qiáng)大且靈活的開(kāi)源項(xiàng)目,可以廣泛應(yīng)用于各種數(shù)據(jù)同步場(chǎng)景。本系統(tǒng)有四個(gè)微服務(wù)和一個(gè)網(wǎng)關(guān),后臺(tái)系統(tǒng)較為完善可以面對(duì)任何復(fù)雜的場(chǎng)景,還可橫向、縱向擴(kuò)展。5.2.2充電系統(tǒng)監(jiān)控實(shí)現(xiàn)主要監(jiān)控用戶的請(qǐng)求執(zhí)行的時(shí)間,cpu、內(nèi)存、磁盤使用率等相關(guān)數(shù)值。本系統(tǒng)是使用Prometheus實(shí)現(xiàn)的手機(jī)和監(jiān)控充電系統(tǒng)的相關(guān)信息,Prometheus是一套開(kāi)源的系統(tǒng)監(jiān)控和報(bào)警框架,啟發(fā)于Google的borgmon監(jiān)控系統(tǒng),主要特點(diǎn)包括:多維度數(shù)據(jù)模型、高效的存儲(chǔ)結(jié)構(gòu)、支持多種模式支持。部分代碼如下所示:依賴項(xiàng):<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId></dependency>修改perties配置類management.endpoints.web.exposure.include=*management.metrics.tags.application=mallController類代碼:@RestControllerpublicclassUserController{@RequestMapping("/user/selectAll")publicStringselectAll(){return"selectAll";}}充電系統(tǒng)監(jiān)控關(guān)系為:由端口為8080的服務(wù)器啟動(dòng)prometheus客戶端和在業(yè)務(wù)代碼中配置SpringBoot依賴項(xiàng),端口9090的服務(wù)器部署Prometheus服務(wù)器,由9090服務(wù)器向8080服務(wù)器請(qǐng)求監(jiān)控信息,8080返回信息,9090服務(wù)器獲取到數(shù)據(jù)對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、分析和監(jiān)控我們只需訪問(wèn)9090這臺(tái)服務(wù)即可看見(jiàn)Prometheus的相關(guān)監(jiān)控信息和相應(yīng)的圖表。第六章系統(tǒng)測(cè)試6.16.1.1登錄界面的測(cè)試充電系統(tǒng)的后臺(tái)管理系統(tǒng)登錄界面是第一個(gè)測(cè)試的目標(biāo),也是管理員進(jìn)入該管理系統(tǒng)的唯一路徑,如果管理員輸入的用戶名、密碼或驗(yàn)證碼有一個(gè)不正確則無(wú)法進(jìn)入系統(tǒng)。管理系統(tǒng)的初始用戶名是admin,密碼是admin123,管理員的賬號(hào)和密碼由公司的超級(jí)管理員統(tǒng)一發(fā)放,不能自行更改賬戶和密碼,輸
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025 年大學(xué)廣告學(xué)(廣告文案寫作)試題及答案
- 2025 年大學(xué)管理學(xué)(公共管理(土地資源管理))試題及答案
- 新手幼兒教師職業(yè)適應(yīng)期的關(guān)鍵事件研究-基于敘事探究的質(zhì)性分析
- 新疆分院招聘廣東電信規(guī)劃設(shè)計(jì)院2026屆校招開(kāi)啟(12人)考試筆試模擬試題及答案解析
- 2025上海對(duì)外經(jīng)貿(mào)大學(xué)統(tǒng)計(jì)與數(shù)據(jù)科學(xué)學(xué)院教學(xué)秘書招聘筆試考試參考試題及答案解析
- 2026年河北滄州吳橋雜技藝術(shù)學(xué)校選聘高層次人才3名考試筆試參考題庫(kù)附答案解析
- 2025北京大學(xué)電子學(xué)院招聘1名勞動(dòng)合同制工作人員筆試考試備考題庫(kù)及答案解析
- 2024-2025學(xué)年山東省濟(jì)南市商河縣七年級(jí)(上)期末歷史試卷(含答案)
- 河南省百師聯(lián)盟2025-2026年高三上一輪復(fù)習(xí)12月質(zhì)量檢測(cè)歷史試卷(含答案)
- 2026年注冊(cè)安全工程師題庫(kù)300道附參考答案(輕巧奪冠)
- 四川省達(dá)州市達(dá)川中學(xué)2025-2026學(xué)年八年級(jí)上學(xué)期第二次月考數(shù)學(xué)試題(無(wú)答案)
- 2025陜西西安市工會(huì)系統(tǒng)開(kāi)招聘工會(huì)社會(huì)工作者61人歷年題庫(kù)帶答案解析
- 江蘇省南京市秦淮區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末物理試題
- 外賣平臺(tái)2025年商家協(xié)議
- 2025年高職(鐵道車輛技術(shù))鐵道車輛制動(dòng)試題及答案
- (新教材)2026年人教版八年級(jí)下冊(cè)數(shù)學(xué) 24.4 數(shù)據(jù)的分組 課件
- 2025陜西榆林市榆陽(yáng)區(qū)部分區(qū)屬國(guó)有企業(yè)招聘20人考試筆試模擬試題及答案解析
- 老年慢性病管理及康復(fù)護(hù)理
- 2025廣西自然資源職業(yè)技術(shù)學(xué)院下半年招聘工作人員150人(公共基礎(chǔ)知識(shí))測(cè)試題帶答案解析
- 2026年海南經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院?jiǎn)握校ㄓ?jì)算機(jī))考試參考題庫(kù)及答案1套
- 代辦執(zhí)照合同范本
評(píng)論
0/150
提交評(píng)論