蔡培倫



摘 要:目前充電樁設(shè)備的建設(shè)迫在眉睫,使用“互聯(lián)網(wǎng)+”的思維來設(shè)計(jì)整個(gè)智能充電樁管理系統(tǒng),可以大大降低系統(tǒng)的運(yùn)行和維護(hù)成本,同時(shí)提供更好的充電服務(wù)。文中采用物聯(lián)網(wǎng)、云計(jì)算和大數(shù)據(jù)等技術(shù)設(shè)計(jì)了一個(gè)智能充電樁管理系統(tǒng)的服務(wù)器云平臺(tái),實(shí)現(xiàn)了用戶管理、設(shè)備管理、交易管理、大數(shù)據(jù)分析等功能,為充電樁大規(guī)模的建設(shè)提供了有效途徑。
關(guān)鍵詞:充電樁;云計(jì)算;物聯(lián)網(wǎng);服務(wù)器平臺(tái)
中圖分類號(hào):TM910.6;TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2016)12-00-03
0 引 言
近年來,電動(dòng)汽車由于其環(huán)保的特點(diǎn),成為越來越多人的選擇,然而充電設(shè)施的短缺卻嚴(yán)重制約了電動(dòng)汽車的發(fā)展。國(guó)務(wù)院辦公廳于2015年10月9日發(fā)布《關(guān)于加快電動(dòng)汽車充電基礎(chǔ)設(shè)施建設(shè)的指導(dǎo)意見》,要求到2020年,基本建成滿足超過500萬輛電動(dòng)汽車充電需求的充電基礎(chǔ)設(shè)施體系[1]。同時(shí),隨著物聯(lián)網(wǎng)和大數(shù)據(jù)等技術(shù)的發(fā)展,采用“互聯(lián)網(wǎng)+”的思維來設(shè)計(jì)智能充電樁管理系統(tǒng),將會(huì)大大縮小充電設(shè)施的維護(hù)成本,管理更加方便和高效,同時(shí)用戶的充電體驗(yàn)也更加友好。本課題的主要研究目標(biāo)是希望通過對(duì)基于互聯(lián)網(wǎng)的充電樁需求分析,利用物聯(lián)網(wǎng)、云計(jì)算等相關(guān)技術(shù)設(shè)計(jì)出一個(gè)較完善的充電樁系統(tǒng)管理平臺(tái),使其具有一定的商業(yè)價(jià)值。
1 需求分析
1.1 充電樁設(shè)備相關(guān)數(shù)據(jù)的獲取
充電樁設(shè)備基于Android系統(tǒng)開發(fā),在整個(gè)運(yùn)行過程中,借助傳感器將充電樁的充電電壓、電流以及溫度、濕度等信息(包括故障發(fā)生情況)通過4G網(wǎng)絡(luò)實(shí)時(shí)反饋到云平臺(tái)。
1.2 云端數(shù)據(jù)的實(shí)時(shí)監(jiān)測(cè)
云端服務(wù)器接收到充電樁發(fā)送來的數(shù)據(jù)后進(jìn)行加工和處理,發(fā)現(xiàn)數(shù)據(jù)指標(biāo)異常后及時(shí)關(guān)停充電樁。
1.3 用戶相關(guān)處理
用戶相關(guān)處理包括用戶注冊(cè)、登錄、注銷、用戶充值、充電扣費(fèi)等。在用戶注冊(cè)階段,要求用戶輸入較為詳細(xì)的信息,方便大數(shù)據(jù)的挖掘處理。
1.4 大數(shù)據(jù)挖掘
根據(jù)充電樁發(fā)送的用戶充電數(shù)據(jù)、故障信息等數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘工作,分析出不同區(qū)域用電的峰值和峰谷時(shí)間及不同區(qū)域的故障率情況。用戶的充電習(xí)慣包括針對(duì)每個(gè)用戶分析出其充電周期,提供更優(yōu)秀的充電服務(wù),例如在恰當(dāng)?shù)臅r(shí)間(用戶需要充電且用戶周圍有空閑充電樁)發(fā)送充電提醒。
2 總體架構(gòu)設(shè)計(jì)
智能充電樁管理系統(tǒng)主要由智能充電樁裝置、云服務(wù)器、用戶手機(jī)客戶端和瀏覽器組成。
充電樁充電過程設(shè)計(jì)如圖1所示。智能充電樁一方面通過CAN總線與電動(dòng)汽車電池管理系統(tǒng)(Battery Management System,BMS)交互管理整個(gè)電動(dòng)汽車的充電過程[2]。另一方面通過互聯(lián)網(wǎng)連接云端服務(wù)器,實(shí)時(shí)向云端服務(wù)器進(jìn)行自身運(yùn)行狀態(tài)的數(shù)據(jù)(例如充電電壓、電流、溫度、濕度等)上報(bào)。同時(shí)也接受云服務(wù)器對(duì)其的遠(yuǎn)程維護(hù)和管理,例如預(yù)約、停止服務(wù)等。并對(duì)用戶充電電量進(jìn)行精準(zhǔn)計(jì)量,向云端發(fā)送交易數(shù)據(jù)并扣費(fèi)。此外,在智能充電樁上進(jìn)行精準(zhǔn)廣告的投放可以帶來增值收入。
云服務(wù)器主要響應(yīng)用戶手機(jī)客戶端和充電樁發(fā)來的各種請(qǐng)求信息。并對(duì)用戶信息、充電樁設(shè)備信息、用戶交易信息等數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、加工和挖掘等,時(shí)時(shí)監(jiān)控充電樁的相關(guān)數(shù)據(jù),并對(duì)其進(jìn)行自動(dòng)維護(hù)。
移動(dòng)手機(jī)客戶端主要用來進(jìn)行用戶的注冊(cè)、登錄管理,對(duì)周邊充電樁進(jìn)行查詢、預(yù)約。在充電前掃描充電樁產(chǎn)生的二維碼進(jìn)行解鎖,接收充電完成的信息推送等。
3 云服務(wù)器端設(shè)計(jì)
本設(shè)計(jì)將選用云服務(wù)商提供的云服務(wù)來搭建一個(gè)功能完善、并發(fā)量大、穩(wěn)定性好的服務(wù)器平臺(tái),通過符合Restful標(biāo)準(zhǔn)[3]的Web Service對(duì)外提供服務(wù)。結(jié)合云計(jì)算技術(shù),將系統(tǒng)通用的功能如設(shè)備管理、數(shù)據(jù)收集、存儲(chǔ)、分析處理與展現(xiàn),抽象成一個(gè)通用的服務(wù)平臺(tái)。本設(shè)計(jì)將用到阿里云的云服務(wù)平臺(tái),阿里云服務(wù)平臺(tái)提供了系統(tǒng)運(yùn)行環(huán)境(IaaS服務(wù)[4])以及相關(guān)的數(shù)據(jù)存儲(chǔ)與分析服務(wù)(PaaS服務(wù)[4])。本設(shè)計(jì)主要采用SpringMVC[5]和SpringData等框架技術(shù)來構(gòu)建系統(tǒng)。
3.1 分層架構(gòu)設(shè)計(jì)
本設(shè)計(jì)使用分層架構(gòu)模式,簡(jiǎn)化復(fù)雜的業(yè)務(wù)邏輯,使得代碼編寫更簡(jiǎn)單、系統(tǒng)運(yùn)行更加安全與穩(wěn)定。采用分層架構(gòu)模式可以使得系統(tǒng)各層次以及功能模塊之間具有更低的耦合性,提高了系統(tǒng)的可移植性與可擴(kuò)展性,降低了系統(tǒng)開發(fā)的工作量,方便模塊化的開發(fā),同時(shí)提高了開發(fā)效率。本文設(shè)計(jì)的充電樁管理系統(tǒng)包括客戶層、控制層、業(yè)務(wù)層、數(shù)據(jù)持久化層和數(shù)據(jù)層。
3.1.1 客戶層
客戶層即展示給用戶的系統(tǒng)界面,在本設(shè)計(jì)中主要是用戶移動(dòng)客戶端及充電樁設(shè)備上的App和后臺(tái)管理人員的瀏覽器。
3.1.2 控制層
控制層負(fù)責(zé)具體業(yè)務(wù)模塊流程的控制,使用SpringMVC將系統(tǒng)的業(yè)務(wù)功能映射為符合restfull風(fēng)格的URI資源,使用控制器處理客戶端發(fā)送的資源訪問請(qǐng)求,并調(diào)用業(yè)務(wù)層程序進(jìn)行相關(guān)的業(yè)務(wù)邏輯處理,將處理后的結(jié)果返回給客戶端。
3.1.3 業(yè)務(wù)層
業(yè)務(wù)層實(shí)現(xiàn)對(duì)系統(tǒng)業(yè)務(wù)邏輯的主要實(shí)際處理工作。Service層的設(shè)計(jì)首先需設(shè)計(jì)Service接口,之后設(shè)計(jì)其實(shí)現(xiàn)的類,最后利用注解或XML配置文件實(shí)現(xiàn)關(guān)聯(lián)。這樣可以調(diào)用Service接口來處理業(yè)務(wù)。封裝Service層的業(yè)務(wù)邏輯有利于通用的業(yè)務(wù)邏輯的獨(dú)立性和重復(fù)利用性,程序非常簡(jiǎn)潔。
3.1.4 數(shù)據(jù)持久化層
數(shù)據(jù)持久化層主要負(fù)責(zé)數(shù)據(jù)的持久化,實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互。持久層的設(shè)計(jì)同樣是先設(shè)計(jì)接口,再設(shè)計(jì)其實(shí)現(xiàn)的類,最后利用注解或XML配置文件實(shí)現(xiàn)關(guān)聯(lián)。可在Service層中調(diào)用DAO接口來進(jìn)行數(shù)據(jù)業(yè)務(wù)的處理,而不必關(guān)心此接口的具體實(shí)現(xiàn)類,降低了程序的耦合性。
3.1.5 數(shù)據(jù)庫(kù)層
在充電樁管理系統(tǒng)中,時(shí)時(shí)產(chǎn)生的數(shù)據(jù)量非常大,包括每個(gè)充電樁的輸入電壓、電流、輸出電壓、溫濕度等。因此要求海量的數(shù)據(jù)存儲(chǔ)資源。通過對(duì)業(yè)務(wù)數(shù)據(jù)的分析,本設(shè)計(jì)采用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)用戶、設(shè)備、交易等關(guān)聯(lián)性數(shù)據(jù)。對(duì)于系統(tǒng)中多種傳感器感知的數(shù)據(jù)采用NoSQL非關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)。
圖2所示為本系統(tǒng)的分層設(shè)計(jì)架構(gòu)圖。系統(tǒng)通過Spring框架對(duì)上述各層以松耦合的方式進(jìn)行了有效組織,在Spring框架的管理下,無論是控制層的Controller對(duì)象,還是業(yè)務(wù)層的Service對(duì)象,亦或是持久層的DAO對(duì)象,都能夠有機(jī)地運(yùn)行。
3.2 業(yè)務(wù)層設(shè)計(jì)
充電樁管理平臺(tái)包括用戶管理模塊、充電樁設(shè)備管理模塊、交易管理模塊、數(shù)據(jù)采集管理模塊、信息推送模塊。功能模塊圖如圖3所示。
3.2.1 用戶管理模塊
用戶管理模塊包括用戶的注冊(cè)、登錄、注銷等。
(1)注冊(cè)功能。采用用戶的郵箱或者手機(jī)號(hào)作為登錄賬號(hào),服務(wù)器接收到用戶發(fā)來的注冊(cè)請(qǐng)求后,進(jìn)行合法性驗(yàn)證(例如檢查該用戶是否已經(jīng)注冊(cè)),同時(shí)向用戶的手機(jī)或者郵箱發(fā)送驗(yàn)證碼,用戶輸入驗(yàn)證碼后發(fā)送給服務(wù)器,若成功則將用戶及加密后的密碼寫入數(shù)據(jù)庫(kù)中。
(2)登錄功能。用戶可以通過手機(jī)端或者瀏覽器進(jìn)行賬戶登錄,服務(wù)器將客戶端發(fā)來的用戶名、密碼與數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行比對(duì),若正確則返回登錄成功頁面。
3.2.2 充電樁設(shè)備管理模塊
充電樁設(shè)備的工作狀態(tài)設(shè)定為工作狀態(tài)、空閑狀態(tài)、預(yù)約狀態(tài)、不可用狀態(tài)。
(1)設(shè)備的添加。新建充電樁通過設(shè)備注冊(cè)接口向服務(wù)器發(fā)出添加設(shè)備請(qǐng)求,同時(shí)將自身的設(shè)備號(hào)、坐標(biāo)位置等信息發(fā)送給服務(wù)器,服務(wù)器將其融入已有的充電樁網(wǎng)絡(luò),方便用戶查詢。
(2)設(shè)備解鎖。充電樁設(shè)備在解鎖后才可使用,當(dāng)用戶選擇解鎖時(shí),充電樁隨機(jī)產(chǎn)生二維碼并將自身信息和產(chǎn)生的二維碼信息上傳到服務(wù)器,手機(jī)客戶端掃描二維碼成功后,將用戶信息和掃描到的二維碼發(fā)送給服務(wù)器,服務(wù)器驗(yàn)證用戶的合法性和余額后決定是否給充電樁發(fā)送解鎖信息。
(3)設(shè)備預(yù)約。用戶在手機(jī)端向某個(gè)充電樁發(fā)出預(yù)約請(qǐng)求后,服務(wù)器將該消息推送到充電樁。同時(shí)服務(wù)器不再接收其他用戶對(duì)該充電樁的預(yù)約請(qǐng)求。
(4)設(shè)備的控制。若設(shè)備所在地區(qū)用電緊張或者存在緊急的情況,可以發(fā)送命令暫停充電樁的使用,使其處于不可用狀態(tài)。
3.2.3 交易管理
交易管理分為賬戶充值和賬戶扣款兩個(gè)方面。
(1)賬戶充值。客戶端向服務(wù)器發(fā)送充值請(qǐng)求,服務(wù)器生成一個(gè)唯一的訂單作為支付記錄。客戶端拿到訂單號(hào)后調(diào)用第三方支付系統(tǒng)SDK進(jìn)行支付,等待服務(wù)器的支付結(jié)果通知,之后將支付結(jié)果反饋給客戶端,同時(shí)改變支付訂單的狀態(tài),將用戶的充值數(shù)據(jù)記錄到數(shù)據(jù)庫(kù)中。
(2)賬戶扣款。充電結(jié)束后,充電樁將用戶所用的電量反饋給服務(wù)器,服務(wù)器根據(jù)當(dāng)前的電價(jià)計(jì)算出用戶的消費(fèi)金額對(duì)用戶賬戶進(jìn)行相應(yīng)扣費(fèi)。同時(shí)將用戶的消費(fèi)記錄保存到數(shù)據(jù)庫(kù)中。
3.2.4 數(shù)據(jù)采集管理
充電樁在對(duì)電動(dòng)汽車進(jìn)行充電時(shí),會(huì)時(shí)時(shí)上報(bào)自身的充電電壓、電流、溫濕度等相關(guān)數(shù)據(jù),由服務(wù)器監(jiān)控,若出現(xiàn)異常值,則進(jìn)行相應(yīng)的處理。同時(shí)也對(duì)充電設(shè)備的信息進(jìn)行收集,借此有針對(duì)性的向用戶推送廣告。此外也能收集充電區(qū)域的用電量信息。
3.2.5 信息推送模塊
信息推送模塊包含以下幾個(gè)方面:
(1)用戶充電完成后,推送信息到手機(jī)端。
(2)電價(jià)信息的推送。
(3)用戶賬戶余額過低時(shí)進(jìn)行提醒。
3.3 數(shù)據(jù)庫(kù)表設(shè)計(jì)
數(shù)據(jù)庫(kù)表主要包含三類,表1所列為用戶表,表2所列為設(shè)備表,表3所列為訂單記錄表。
3.4 大數(shù)據(jù)分析模塊
大數(shù)據(jù)分析模塊主要包含充電時(shí)間分布挖掘與充電人群的充電習(xí)慣分析。
3.4.1 充電時(shí)間分布挖掘
根據(jù)在不同充電時(shí)間段收集的不同充電量,采用回歸分析的方法。時(shí)間為自變量,用電量為因變量,采用一元回歸的非線性模型。
3.4.2 充電人群的充電習(xí)慣分析
采用K-Means聚類分析的方法,分析不同年齡段,不同性別用戶的充電周期和集中充電時(shí)間段。
K-Means算法[6]是基于距離的非層次聚類算法,在最小誤差函數(shù)的基礎(chǔ)上,將數(shù)據(jù)劃分為預(yù)定的類數(shù)K,采用距離作為相似性評(píng)價(jià)指標(biāo),即認(rèn)為兩個(gè)對(duì)象的距離越近,其相似度就越大。樣本間的相似性采用歐幾里得距離來度量[7]。
(1)
目標(biāo)函數(shù):
(2)
其中,K為聚類的個(gè)數(shù),E為第i個(gè)簇,x為對(duì)象樣本,ei為簇Ei的聚類中心。算法過程如下:
(1)從N個(gè)樣本數(shù)據(jù)隨機(jī)選取K個(gè)對(duì)象作為聚類中心;
(2)分別計(jì)算每個(gè)樣本到各聚類中心的距離,將對(duì)象分配到距離最近的聚類中;
(3)所有對(duì)象分配完成后,重新計(jì)算K個(gè)聚類的中心。
(4)與前一次計(jì)算得到的K個(gè)聚類中心比較,如果聚類中心發(fā)生變化,則轉(zhuǎn)到(2),否則轉(zhuǎn)到(5);
(5)當(dāng)質(zhì)心不再變化停止后,得到聚類結(jié)果。
4 結(jié) 語
本文基于云平臺(tái)設(shè)計(jì)了一個(gè)智能充電樁管理系統(tǒng),并給出了總體架構(gòu)設(shè)計(jì)及平臺(tái)端的分層設(shè)計(jì)和業(yè)務(wù)功能設(shè)計(jì)。最后給出了關(guān)系型數(shù)據(jù)庫(kù)的表設(shè)計(jì)以及兩個(gè)數(shù)據(jù)挖掘模塊的算法。
參考文獻(xiàn)
[1]國(guó)務(wù)院辦公廳.《關(guān)于加快電動(dòng)汽車充電基礎(chǔ)設(shè)施建設(shè)的指導(dǎo)意見》[J].城市規(guī)劃通訊, 2015(20):11.
[2]電動(dòng)汽車非車載傳導(dǎo)式充電機(jī)與電池管理系統(tǒng)之間的通信協(xié)議[S].中國(guó)國(guó)家標(biāo)準(zhǔn)化管理委員會(huì), 2015.
[3]唐明偉,卞藝杰,陶飛飛.RESTful架構(gòu)下圖書管理系統(tǒng)的研究與實(shí)現(xiàn)[J].現(xiàn)代圖書情報(bào)技術(shù), 2010(9):84-89.
[4]謝楊.基于云計(jì)算的現(xiàn)代農(nóng)業(yè)物聯(lián)網(wǎng)監(jiān)控系統(tǒng)[D].成都:西南交通大學(xué),2015.
[5]Zhang D, Wei Z, Yang Y. Research on Lightweight MVC Framework Based on Spring MVC and Mybatis[Z].
[6]馮超.K-means聚類算法的研究[D].大連:大連理工大學(xué),2007.
[7]樊哲,張良均.Hadoop大數(shù)據(jù)分析與挖掘?qū)崙?zhàn)[M].北京:機(jī)械工業(yè)出版社,2016:84.
[8]翟鴻雁.基于物聯(lián)網(wǎng)關(guān)鍵技術(shù)的智慧城市研究[J].物聯(lián)網(wǎng)技術(shù),2015,5(5):84-86.