基於HBase的雲盤專案複製功能總結

2021-08-07 05:39:54 字數 1774 閱讀 9062

(parentid為父檔案的id)

從前台獲取的引數:ids(所選中的檔案或資料夾的id陣列),dst(目的地檔案的id)。

步驟:1.把ids的檔案在hdfs中移動到dst 2.將複製檔案新增到file與user_file表中。

難點解析:複製的難點在於需要將檔案資訊新增入file表,並且需要將父子檔案的關係傳到user_file表中。我是這樣實現的,遞迴執行複製檔案的函式,但是在遞迴過程中要先將這一級的檔案複製,然後在複製資料夾,具體的實現將在下面的**中體現,注釋寫的也很詳細。

public listgetbyparentid(userbean userbean,

@requestparam(value = "parentid", required = true, defaultvalue = "0") long parentid) }}

resultscanner.close();

table.close();

} catch (ioexception e)

return list;

}private void copydir(userbean userbean,filebean srcbean,filebean dstbean,string parentpath,long parentid)

//優先讓該層的檔案執行完

//對檔案的操作:新增進user_file表

// 更改路徑

for(filebean filebean : filebeans)

}} catch (ioexception e) }}

//然後再讓目錄進行操作

// 操作:新增進user_file表

for(filebean filebean : filebeans)

}} catch (ioexception e) }}

//遞迴

//更改路徑

for(filebean filebean : filebeans)

}system.out

.println("進行遞迴的資料夾:"+filebean);

} catch (ioexception e) }}

}private long setcopypath(userbean userbean,filebean srcbean,string despath,long parentid) catch (exception e)

}public void copy(userbean userbean, string ids, long dst)

system.out

.println("parentpath:"+parentpath);

//先對源目錄進行操作,源目錄的id可以獲得

system.out

.println("原始檔根目錄移動後的目錄"+dstbean.getpath()+parentpath+"/");

long parnetid = setcopypath(userbean,srcbean, dstbean.getpath()+parentpath+"/",dst);

copydir(userbean, srcbean, dstbean, parentpath,parnetid);

}else}}

基於阿里雲HBase構建車聯網平台實踐

摘要 1.業務介紹 車紛享是國內首家進行汽車共享開發和運營的公司。旗下共享汽車平台採用新能源汽車作為運營工具以b2c c2c汽車共享作為商業運營模式採用車聯網技術作為運營管理技術目前已與國內多個城市建立合作。1.業務介紹 車紛享是國內首家進行汽車共享開發和運營的公司。旗下共享汽車平台採用新能源汽車作...

專案經理都必須會開復盤會

背景 第二天就要上線了,可是仍然還是有200個bug沒有處理。小明很著急,這可怎麼辦呢?已經答應好了客戶會在明天上線的啊?大俠冷靜下來分析了一下要是明天bug都處理的話就能順利上線,萬一明天還是有很多bug處理不了可怎麼辦呢?大俠最終還是決定再給團隊一天時間,如果bug量仍沒有好轉,大俠決定提交上線...

阿里雲的雲盤掛載

為這個問題困擾過好幾次,實在是不願意看阿里雲官方提供的密密麻麻的說明文字。這次又遇到阿里雲ecs伺服器公升級遷移,又需要重新掛盤操作。諮詢了好幾個阿里雲售後工單的工程師之後,我是怒了,簡單的掛盤問題非要回答得那麼複雜晦澀難懂。後來遇到乙個售後工程師的溝通,才算是說到了關鍵點上,順利解決了問題。售後工...