一種充電預(yù)約方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及新能源應(yīng)用領(lǐng)域,尤指一種充電預(yù)約方法。
【背景技術(shù)】
[0002]“預(yù)約”在當(dāng)前社會(huì)生活中已經(jīng)廣泛應(yīng)用,主要有酒店預(yù)訂、會(huì)議室預(yù)訂、火車/飛機(jī)票預(yù)訂、電影放映等。
[0003]目前,新能源汽車正處于快速發(fā)展階段,但是由于新能源汽車充滿一次電后的行駛里程不長(zhǎng),用戶在外出時(shí)就有可能出現(xiàn)電量不足又找不到地方充電,或者找到地方卻沒(méi)有粧可用的情況,這種情形阻礙了新能源汽車的推廣,需要一個(gè)合理的預(yù)約充電業(yè)務(wù)來(lái)解決該現(xiàn)狀。
【發(fā)明內(nèi)容】
[0004]針對(duì)現(xiàn)有的新能源汽車合理預(yù)約充電的問(wèn)題,本發(fā)明提出了一種充電預(yù)約方法,主要是應(yīng)用在新能源汽車預(yù)約充電業(yè)務(wù)中的預(yù)約處理。
[0005]為達(dá)到上述目的,本發(fā)明提出了一種充電預(yù)約方法,包括:步驟1,將充電預(yù)約時(shí)段以一分鐘為單位劃分為η個(gè)分時(shí)段,并建立包含η+1個(gè)元素的基本數(shù)組,其中,每相鄰兩個(gè)元素按順序?qū)?yīng)每一分鐘的起始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn);步驟2,獲取已預(yù)約充電業(yè)務(wù)的已預(yù)約時(shí)間,設(shè)定已預(yù)約時(shí)間的起始時(shí)間點(diǎn)、結(jié)束時(shí)間點(diǎn)、以及從起始時(shí)間點(diǎn)開始至結(jié)束時(shí)間點(diǎn)之間依次相差某一時(shí)間間隔的時(shí)間點(diǎn)為判斷點(diǎn),并在所述基本數(shù)組中選取所述判斷點(diǎn)對(duì)應(yīng)的元素,生成判斷數(shù)組;步驟3,接收用戶提交的用戶預(yù)約時(shí)間,并根據(jù)所述基本數(shù)組將所述用戶預(yù)約時(shí)間轉(zhuǎn)化為用戶預(yù)約數(shù)組;步驟4,去掉所述用戶預(yù)約數(shù)組中的首尾兩個(gè)元素,組成新數(shù)組;步驟5,利用所述判斷數(shù)組中的每一元素依次判斷在新數(shù)組中是否有相同出現(xiàn);如果判斷到所述判斷數(shù)組中的某一元素在新數(shù)組中有相同出現(xiàn)時(shí),停止判斷并判定所述用戶預(yù)約時(shí)間段內(nèi)存在已預(yù)約充電業(yè)務(wù),生成不可預(yù)約信息并發(fā)送給用戶;如果判斷后沒(méi)有相同出現(xiàn),判定用戶預(yù)約時(shí)間段內(nèi)沒(méi)有所述已預(yù)約充電業(yè)務(wù),更新所述已預(yù)約充電業(yè)務(wù)的已預(yù)約時(shí)間,生成可預(yù)約信息并發(fā)送給用戶。
[0006]進(jìn)一步的,所述步驟2還包括:獲取已預(yù)約時(shí)間時(shí),同時(shí)獲取相應(yīng)的第一數(shù)據(jù)版本號(hào);所述步驟5還包括:如果判斷后沒(méi)有相同出現(xiàn),判定用戶預(yù)約時(shí)間段內(nèi)沒(méi)有所述已預(yù)約充電業(yè)務(wù),將用戶預(yù)約時(shí)間記錄于所述已預(yù)約時(shí)間中,更新所述已預(yù)約充電業(yè)務(wù)的已預(yù)約時(shí)間,同時(shí)生成第二數(shù)據(jù)版本號(hào)替換所述第一數(shù)據(jù)版本號(hào)。
[0007]進(jìn)一步的,在所述步驟I中,每24個(gè)小時(shí)為一個(gè)所述充電預(yù)約時(shí)段,劃分為1440個(gè)分時(shí)段。
[0008]進(jìn)一步的,在所述步驟I中,所述基本數(shù)組包含1441個(gè)元素。
[0009]進(jìn)一步的,所述已預(yù)約時(shí)間及用戶預(yù)約時(shí)間中的每一段預(yù)約時(shí)間最小為10分鐘。
[0010]進(jìn)一步的,所述步驟2中的某一時(shí)間間隔為9分鐘。
[0011]本發(fā)明的充電預(yù)約方法處理數(shù)據(jù)快,結(jié)合樂(lè)觀鎖策略提升了使用性能,該方法以分鐘為單位,使用戶有更多的時(shí)間段選擇預(yù)約充電,實(shí)現(xiàn)用戶提前預(yù)約充電地點(diǎn)和充電時(shí)間,滿足用戶在外出時(shí)的充電需要,便于電動(dòng)汽車的使用和推廣。
【附圖說(shuō)明】
[0012]此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,并不構(gòu)成對(duì)本發(fā)明的限定。在附圖中:
[0013]圖1為本發(fā)明一實(shí)施例的充電預(yù)約方法流程圖。
【具體實(shí)施方式】
[0014]以下配合圖式及本發(fā)明的較佳實(shí)施例,進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定發(fā)明目的所采取的技術(shù)手段。
[0015]本發(fā)明的充電預(yù)約方法采用的預(yù)約模型包括:
[0016]1、數(shù)據(jù)模型:指標(biāo)項(xiàng)包括充電粧編號(hào)、預(yù)約時(shí)間、加電卡卡號(hào)、數(shù)據(jù)版本號(hào)。其中,充電粧編號(hào)為識(shí)別充電粧的標(biāo)記;預(yù)約時(shí)間為HH:MM-HH:MM,多個(gè)時(shí)間段之間用逗號(hào)隔開;加電卡卡號(hào)與預(yù)約時(shí)間相對(duì)應(yīng);數(shù)據(jù)版本號(hào)用來(lái)實(shí)現(xiàn)樂(lè)觀鎖,解決數(shù)據(jù)同步問(wèn)題。
[0017]2、算法結(jié)構(gòu):連接數(shù)據(jù)庫(kù)getConnectO、查詢獲取充電粧預(yù)約信息getNode O、已有預(yù)約時(shí)間轉(zhuǎn)化數(shù)組getTimeArray O、字符串解析獲取時(shí)間點(diǎn)分鐘值getMinute O、判定用戶提交時(shí)間是否可以預(yù)約isAvailableO、更新充電粧預(yù)約信息updateNode O
[0018]以下通過(guò)一實(shí)施例來(lái)說(shuō)明本發(fā)明的充電預(yù)約方法,圖1為本發(fā)明一實(shí)施例的充電預(yù)約方法流程圖,如圖1所示,該方法包括:
[0019]步驟1,將充電預(yù)約時(shí)段以一分鐘為單位劃分為η個(gè)分時(shí)段,并建立包含η+1個(gè)元素的基本數(shù)組,其中,每相鄰兩個(gè)元素按順序?qū)?yīng)每一分鐘的起始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn)。
[0020]實(shí)施例:以一天為一個(gè)充電預(yù)約時(shí)段,包含24個(gè)小時(shí)(0:00到24:00),從0:00開始,每過(guò)η分鐘,可以記作數(shù)字η,例如:0:00為0,0:10為10,1:10為1X60+10 = 70。
[0021]從而創(chuàng)建一個(gè)類型為boolean,長(zhǎng)度為1441的數(shù)組array,每一項(xiàng)的下標(biāo)與每一分鐘記作的數(shù)字--對(duì)應(yīng),每一項(xiàng)默認(rèn)值為false。在本步驟中,采用boolean型可以縮小數(shù)據(jù)占用的空間。
[0022]例如:0:00記作0,數(shù)組中對(duì)應(yīng)項(xiàng)的下標(biāo)也為O ;0:10為10,數(shù)組中對(duì)應(yīng)項(xiàng)的下標(biāo)也為10。
[0023]步驟2,獲取已預(yù)約充電業(yè)務(wù)的已預(yù)約時(shí)間,設(shè)定已預(yù)約時(shí)間的起始時(shí)間點(diǎn)、結(jié)束時(shí)間點(diǎn)、以及從起始時(shí)間點(diǎn)開始至結(jié)束時(shí)間點(diǎn)之間依次相差某一時(shí)間間隔的時(shí)間點(diǎn)為判斷點(diǎn),并在基本數(shù)組中選取判斷點(diǎn)對(duì)應(yīng)的元素,生成判斷數(shù)組。
[0024]實(shí)施例:從數(shù)據(jù)庫(kù)中獲取充電粧的預(yù)約信息(已預(yù)約時(shí)間),將起始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn)轉(zhuǎn)化為數(shù)字,假設(shè)為a,b ;
[0025]將對(duì)應(yīng)數(shù)組中下標(biāo)為a,b以及a+(k_l)的項(xiàng)的值更新成true (例如:array[a]=true);在本步驟中,利用時(shí)間間隔判定預(yù)約時(shí)間,可以減少執(zhí)行時(shí)間,提升效率。
[0026]其中,k為假定允許的最小預(yù)約時(shí)間,一般為10分鐘。
[0027]步驟3,接收用戶提交的用戶預(yù)約時(shí)間,并根據(jù)基本數(shù)組將用戶預(yù)約時(shí)間轉(zhuǎn)化為用戶預(yù)約數(shù)組。
[0028]實(shí)施例:獲取用戶預(yù)約的時(shí)間,將其轉(zhuǎn)化為用戶預(yù)約數(shù)組,例如:起始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn)轉(zhuǎn)化的數(shù)字為s和e,對(duì)應(yīng)的數(shù)組項(xiàng)下標(biāo)為s和e。
[0029]步驟4,去掉用戶預(yù)約數(shù)組中的首尾兩個(gè)元素,組成新數(shù)組。
[0030]實(shí)施例:去掉數(shù)組中下標(biāo)為s和e兩項(xiàng),余下的數(shù)組項(xiàng)下標(biāo)從s+1到e-1。
[0031]步驟5,利用判斷數(shù)組中的每一元素依次判斷在新數(shù)組中是否有相同出現(xiàn);
[0032]如果判斷到判斷數(shù)組中的某一元素在新數(shù)組中有相同出現(xiàn)時(shí),停止判斷并判定用戶預(yù)約時(shí)間段內(nèi)存在已預(yù)約充電業(yè)務(wù),生成不可預(yù)約信息并發(fā)送給用戶;
[0033]如果判斷后沒(méi)有相同出現(xiàn),判定用戶預(yù)約時(shí)間段內(nèi)沒(méi)有已預(yù)約充電業(yè)務(wù),更新已預(yù)約充電業(yè)務(wù)的已預(yù)約時(shí)間,生成可預(yù)約信息并發(fā)送給用戶。
[0034]實(shí)施例:利用數(shù)組中下標(biāo)為a,b以及a+(k_l)的項(xiàng),遍歷數(shù)組中下標(biāo)從s+1到e-Ι的