本發(fā)明涉及軟件領(lǐng)域,特別是涉及上傳文件到分布式系統(tǒng)的方法、裝置及設(shè)備。
背景技術(shù):
隨著云技術(shù)的發(fā)展,需要存儲(chǔ)在服務(wù)器的數(shù)據(jù)不斷增加,單個(gè)服務(wù)器的本地存儲(chǔ)容量難以滿足存儲(chǔ)需求,所以引入分布式集群存儲(chǔ)。而如何將本地文件準(zhǔn)確、有序地存儲(chǔ)在分布式文件系統(tǒng)hdfs集群服務(wù)器中,尤其是如何將不同文件夾中的文件上傳到分布式文件系統(tǒng)hdfs中對(duì)應(yīng)的文件夾中成了一個(gè)急需解決的問(wèn)題。
傳統(tǒng)方法是用人工手動(dòng)的方式來(lái)解決上述問(wèn)題,但是人工手動(dòng)處理,一方面會(huì)造成人力成本的增加,另一方面也會(huì)增加操作失誤發(fā)生的幾率。
技術(shù)實(shí)現(xiàn)要素:
基于此,有必要提供一種自動(dòng)上傳文件到分布式文件系統(tǒng)的方法來(lái)代替人工手動(dòng)處理,一方面可以避免人力成本的增加,另一方面也可以有效降低操作失誤發(fā)生的幾率。
一種上傳文件到分布式文件系統(tǒng)的方法,其中,所述方法包括:
獲取待上傳文件;
根據(jù)所述待上傳文件所屬的系統(tǒng)標(biāo)識(shí),獲取分布式文件系統(tǒng)中與該系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)文件夾;
向所述目標(biāo)文件夾中上傳所述待上傳文件。
上述上傳文件到分布式文件系統(tǒng)的方法,采用自動(dòng)的方法來(lái)代替人工手動(dòng)處理,一方面可以避免人力成本的增加,另一方面也可以有效降低操作失誤發(fā)生的幾率。
作為一種具體實(shí)施方式,其中,所述獲取待上傳文件的步驟之前還包括:
獲取上傳記錄;
若獲取成功,則在所述上傳記錄中獲取系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào);
根據(jù)所述系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述根據(jù)所述系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào)獲取所述待上傳文件的步驟包括:
判斷所述文件序號(hào)是否為初始值;
若是,則獲取所述系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件夾中的第一個(gè)文件;
若否,則根據(jù)所述文件序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述向所述目標(biāo)文件夾中上傳所述待上傳文件的步驟包括:
監(jiān)測(cè)所述上傳文件的過(guò)程是否中斷;
若是,則獲取上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào);
根據(jù)獲取上傳文件所述的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào)創(chuàng)建或更新上傳記錄。
作為一種具體實(shí)施方式,其中,所述獲取待上傳文件的步驟之前還包括:
搜索本地目錄,獲取系統(tǒng)標(biāo)識(shí)集合;
根據(jù)系統(tǒng)標(biāo)識(shí)集合,創(chuàng)建或更新系統(tǒng)標(biāo)識(shí)緩存。
作為一種具體實(shí)施方式,其中,所述搜索本地目錄,獲取系統(tǒng)標(biāo)識(shí)集合的步驟包括:
每隔預(yù)先配置的第一時(shí)間間隔打開(kāi)并讀取本地目錄;
依次判斷本地目錄下的文件類(lèi)型是否為文件夾;
若是,則獲取所述文件夾的名稱,并將所述文件夾的名稱加入所述系統(tǒng)標(biāo)識(shí)集合中;
若否,則繼續(xù)判斷目錄下的下一個(gè)文件類(lèi)型,直到獲得本地目錄下所有的文件夾的名稱。
作為一種具體實(shí)施方式,其中,所述獲取待上傳文件的步驟包括:
每隔預(yù)先配置的第二時(shí)間間隔掃描一次系統(tǒng)標(biāo)識(shí)緩存;
根據(jù)所述系統(tǒng)標(biāo)識(shí)緩存中的系統(tǒng)標(biāo)識(shí)序列依次打開(kāi)文件夾;
檢查所述打開(kāi)的文件夾中是否存在需要上傳的文件;
若存在所述需要上傳的文件,則得到所述待上傳文件;
若不存在所述需要上傳的文件,則繼續(xù)打開(kāi)下一個(gè)文件夾,直到所述系統(tǒng)標(biāo)識(shí)序列中所對(duì)應(yīng)的文件夾均被檢查。
作為一種具體實(shí)施方式,其中,所述獲取待上傳文件的步驟包括:讀取待上傳文件;
判斷是否讀取成功;
若讀取成功,則獲取所述待上傳文件的傳輸流,讀取本地?cái)?shù)據(jù);
若讀取不成功,則程序睡眠,睡眠時(shí)間為預(yù)先配置的第三時(shí)間間隔,再次獲取待上傳文件。
作為一種具體實(shí)施方式,其中,所述向所述目標(biāo)文件夾中上傳所述待上傳文件的步驟包括:
建立連接池并連接到所述分布式文件系統(tǒng);
獲取并打開(kāi)所述目標(biāo)文件夾所對(duì)應(yīng)的上傳路徑;
向所述對(duì)應(yīng)的上傳路徑中寫(xiě)入文件;
判斷上傳所述待上傳文件的操作是否成功;
若上傳成功,則刪除已經(jīng)上傳的文件,關(guān)閉所述對(duì)應(yīng)的文件路徑;
若未上傳成功,則輸出錯(cuò)誤信息并更新系統(tǒng)日志。
一種上傳文件到分布式文件系統(tǒng)的裝置,其中,所述裝置包括:
文件上傳模塊,用于獲取待上傳文件;
目標(biāo)文件夾獲取模塊,用于根據(jù)所述待上傳文件所屬的系統(tǒng)標(biāo)識(shí),獲取分布式文件系統(tǒng)中與該系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)文件夾;
文件上傳模塊,用于向所述目標(biāo)文件夾中上傳所述待上傳文件。
上述上傳文件到分布式文件系統(tǒng)的裝置,可以實(shí)現(xiàn)使用自動(dòng)的方法來(lái)代替人工手動(dòng)處理,一方面可以避免人力成本的增加,另一方面也可以有效降低操作失誤發(fā)生的幾率。
作為一種具體實(shí)施方式,其中,所述裝置還包括:
記錄獲取模塊,用于獲取上傳記錄;
序號(hào)獲取模塊,用于若獲取成功,則在所述上傳記錄中獲取系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào);
文件查找模塊,用于根據(jù)所述系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述文件查找模塊還包括:
序號(hào)判斷單元,用于判斷所述文件序號(hào)是否為初始值;
標(biāo)識(shí)獲取單元,用于獲取所述系統(tǒng)標(biāo)識(shí)中的第一個(gè)文件;
序號(hào)查找單元,用于根據(jù)所述文件序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述裝置還包括:
記錄獲取模塊,用于獲取上傳記錄;
序號(hào)獲取模塊,用于若獲取成功,則在上傳記錄中獲取所述待上傳文件所處的系統(tǒng)標(biāo)識(shí)以及待上傳文件的序號(hào);
文件查找模塊,用于根據(jù)所述待上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及待上傳文件的序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述文件查找模塊還包括:
序號(hào)判斷單元,用于判斷所述待上傳文件的序號(hào)是否為初始值;
標(biāo)識(shí)獲取單元,用于獲取所述系統(tǒng)標(biāo)識(shí)中的第一個(gè)文件;
序號(hào)查找單元,用于根據(jù)所述上傳文件的序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述文件上傳模塊包括:
中斷監(jiān)測(cè)單元,用于監(jiān)測(cè)所述上傳文件的過(guò)程是否中斷;
標(biāo)識(shí)獲取單元,用于若是,則獲取上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào);
記錄更新單元,用于根據(jù)獲取上傳文件所述的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào)創(chuàng)建或更新上傳記錄。
作為一種具體實(shí)施方式,其中,所述裝置還包括:
集合獲取模塊,用于搜索本地目錄,獲取系統(tǒng)標(biāo)識(shí)集合;
緩存更新模塊,用于根據(jù)系統(tǒng)標(biāo)識(shí)集合,創(chuàng)建或更新系統(tǒng)標(biāo)識(shí)緩存。
作為一種具體實(shí)施方式,其中,所述集合獲取模塊包括:
目錄讀取單元,用于每隔預(yù)先配置的第一時(shí)間間隔打開(kāi)并讀取本地目錄;
類(lèi)型判斷單元,用于依次判斷本地目錄下的文件類(lèi)型是否為文件夾;
集合更新單元,用于若是,則獲取所述文件夾的名稱,并將所述文件夾的名稱加入所述系統(tǒng)標(biāo)識(shí)集合中;
目錄判斷單元,用于若否,則繼續(xù)判斷目錄下的下一個(gè)文件類(lèi)型,直到獲得本地目錄下所有的系統(tǒng)標(biāo)識(shí)。
作為一種具體實(shí)施方式,其中,所述文件獲取模塊包括:
緩存掃描單元,用于每隔預(yù)先配置的第二時(shí)間間隔掃描一次系統(tǒng)標(biāo)識(shí)緩存;
文件夾打開(kāi)單元,用于根據(jù)所述系統(tǒng)標(biāo)識(shí)緩存中的系統(tǒng)標(biāo)識(shí)序列依次打開(kāi)文件夾;
文件檢查單元,用于檢查所述打開(kāi)的文件夾中是否存在需要上傳的文件,若存在所述需要上傳的文件,則得到所述待上傳文件,若不存在所述需要上傳的文件,則繼續(xù)打開(kāi)下一個(gè)文件夾,直到所述系統(tǒng)標(biāo)識(shí)序列中所對(duì)應(yīng)的文件夾均被檢查。
作為一種具體實(shí)施方式,其中,所述文件獲取模塊包括:
文件讀取單元,用于讀取待上傳文件;
狀態(tài)判斷單元,用于判斷是否讀取成功;
數(shù)據(jù)獲取單元,用于若讀取成功,則獲取所述待上傳文件的傳輸流,讀取本地?cái)?shù)據(jù);
程序睡眠單元,用于若讀取不成功,則程序睡眠,睡眠時(shí)間為預(yù)先配置的第三時(shí)間間隔,再次獲取待上傳文件。
作為一種具體實(shí)施方式,其中,所述上傳模塊包括:
連接池建立單元,用于建立連接池并連接到所述分布式文件系統(tǒng);
路徑獲取單元,用于獲取并打開(kāi)所述目標(biāo)文件夾所對(duì)應(yīng)的上傳路徑;
文件寫(xiě)入單元,用于向所述對(duì)應(yīng)的上傳路徑中寫(xiě)入文件;
操作判定單元,用于判斷上傳所述待上傳文件的操作是否成功;
路徑關(guān)閉單元,用于若上傳成功,則刪除已經(jīng)上傳的文件,關(guān)閉所述對(duì)應(yīng)的文件路徑;
日志更新單元,用于若未上傳成功,則輸出錯(cuò)誤信息并更新系統(tǒng)日志。
一種上傳文件到分布式文件系統(tǒng)的設(shè)備,其中,所述設(shè)備包括處理器、存儲(chǔ)器以及存儲(chǔ)在所述存儲(chǔ)器上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
獲取待上傳文件;
根據(jù)所述待上傳文件所屬的系統(tǒng)標(biāo)識(shí),獲取分布式文件系統(tǒng)中與該系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)文件夾;
向所述目標(biāo)文件夾中上傳所述待上傳文件。
上述上傳文件到分布式文件系統(tǒng)的設(shè)備,可以實(shí)現(xiàn)使用自動(dòng)的方法來(lái)代替人工手動(dòng)處理,一方面可以避免人力成本的增加,另一方面也可以有效降低操作失誤發(fā)生的幾率。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的獲取待上傳文件的步驟之前還包括:
獲取上傳記錄;
若獲取成功,則在所述上傳記錄中獲取系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào);
根據(jù)所述系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述根據(jù)所述系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào)獲取所述待上傳文件的步驟包括:
判斷所述文件序號(hào)是否為初始值;
若是,則獲取所述系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件夾中的第一個(gè)文件;
若否,則根據(jù)所述文件序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述向所述目標(biāo)文件夾中上傳所述待上傳文件的步驟包括:
監(jiān)測(cè)所述上傳文件的過(guò)程是否中斷;
若是,則獲取上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào);
根據(jù)獲取上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào)創(chuàng)建或更新上傳記錄。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述獲取待上傳文件的步驟之前還包括:
搜索本地目錄,獲取系統(tǒng)標(biāo)識(shí)集合;
根據(jù)系統(tǒng)標(biāo)識(shí)集合,創(chuàng)建或更新系統(tǒng)標(biāo)識(shí)緩存。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述搜索本地目錄,獲取系統(tǒng)標(biāo)識(shí)集合的步驟包括:
每隔預(yù)先配置的第一時(shí)間間隔打開(kāi)并讀取本地目錄;
依次判斷本地目錄下的文件類(lèi)型是否為文件夾;
若是,則獲取所述文件夾的名稱,并將所述文件夾的名稱加入所述系統(tǒng)標(biāo)識(shí)集合中;
若否,則繼續(xù)判斷目錄下的下一個(gè)文件類(lèi)型,直到獲得本地目錄下所有的文件夾的名稱。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述獲取待上傳文件的步驟包括:
每隔預(yù)先配置的第二時(shí)間間隔掃描一次系統(tǒng)標(biāo)識(shí)緩存;
根據(jù)所述系統(tǒng)標(biāo)識(shí)緩存中的系統(tǒng)標(biāo)識(shí)序列依次打開(kāi)文件夾;
檢查所述打開(kāi)的文件夾中是否存在需要上傳的文件;
若存在所述需要上傳的文件,則得到所述待上傳文件;
若不存在所述需要上傳的文件,則繼續(xù)打開(kāi)下一個(gè)文件夾,直到所述系統(tǒng)標(biāo)識(shí)序列中所對(duì)應(yīng)的文件夾均被檢查。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述獲取待上傳文件的步驟包括:
讀取待上傳文件;
判斷是否讀取成功;
若讀取成功,則獲取所述待上傳文件的傳輸流,讀取本地?cái)?shù)據(jù);
若讀取不成功,則程序睡眠,睡眠時(shí)間為預(yù)先配置的第三時(shí)間間隔,再次獲取待上傳文件。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述向所述目標(biāo)文件夾中上傳所述待上傳文件的步驟包括:
建立連接池并連接到所述分布式文件系統(tǒng);
獲取并打開(kāi)所述目標(biāo)文件夾所對(duì)應(yīng)的上傳路徑;
向所述對(duì)應(yīng)的上傳路徑中寫(xiě)入文件;
判斷上傳所述待上傳文件的操作是否成功;
若上傳成功,則刪除已經(jīng)上傳的文件,關(guān)閉所述對(duì)應(yīng)的文件路徑;
若未上傳成功,則輸出錯(cuò)誤信息并更新系統(tǒng)日志。
附圖說(shuō)明
圖1是其中一種具體實(shí)施方式提供的上傳方法的應(yīng)用場(chǎng)景圖;
圖2是其中一種具體實(shí)施方式提供的上傳方法的流程圖;
圖3是其中一個(gè)具體實(shí)施方式所提供的上傳方法的部分流程圖;
圖4是其中一種具體實(shí)施方式提供的獲取上傳文件步驟的流程圖;
圖5是其中另一種具體實(shí)施方式提供的獲取待上傳文件的步驟的流程圖;
圖6是其中一種具體實(shí)施方式提供的向目標(biāo)文件夾中上傳待上傳文件的步驟的流程圖;
圖7是其中一種具體實(shí)施方式提供的上傳文件到分布式文件系統(tǒng)的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請(qǐng)參閱圖1,圖1是其中一種具體實(shí)施方式提供的上傳方法的應(yīng)用場(chǎng)景圖。數(shù)據(jù)可以來(lái)自不同的下位機(jī),例如:第一下位機(jī)105,第二下位機(jī)107,第三下位機(jī)109。可以理解,系統(tǒng)還可以再接入更多的下位機(jī)。不同的下位機(jī)上傳的文件將會(huì)存放到本地文件服務(wù)器103的不同的文件夾中,而文件夾根據(jù)系統(tǒng)直接從下位機(jī)上傳的數(shù)據(jù)中的系統(tǒng)標(biāo)識(shí)位進(jìn)行命名,所以一個(gè)文件夾對(duì)應(yīng)著一個(gè)下位機(jī)的系統(tǒng)標(biāo)識(shí)。隨著接入下位機(jī)的增加,文件夾的數(shù)量也會(huì)增加。通過(guò)該方法,可以實(shí)時(shí)掃描并識(shí)別下位機(jī)上傳的新文件,并根據(jù)不同的系統(tǒng)標(biāo)識(shí)上傳到分布式文件系統(tǒng)中對(duì)應(yīng)的目標(biāo)文件夾中。所述方法可以應(yīng)用在linux操作系統(tǒng),通過(guò)調(diào)用linux系統(tǒng)函數(shù)及hdfs接口來(lái)實(shí)現(xiàn)。所述方法可以使用c++語(yǔ)言,結(jié)合linux系統(tǒng)編程實(shí)現(xiàn)。
請(qǐng)參閱圖2,圖2是其中一種具體實(shí)施方式提供的上傳文件到分布式文件系統(tǒng)的方法的流程圖,所述方法包括:
s202,獲取待上傳文件。
具體地,所述待上傳文件是需要上傳到分布式文件系統(tǒng)的文件。所述分布式文件系統(tǒng)可以是hadoop分布式系統(tǒng)(hdfs,hadoopdistributefilesystem)。
s204,根據(jù)所述待上傳文件所屬的系統(tǒng)標(biāo)識(shí),獲取分布式文件系統(tǒng)中與該系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)文件夾。
具體地,待上傳文件所屬的系統(tǒng)標(biāo)識(shí)是指本地存放所述待上傳文件的文件夾的名稱,根據(jù)所述系統(tǒng)標(biāo)識(shí)獲取與分布式文件系統(tǒng)中與該系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)文件夾。進(jìn)一步地,可以使用linux系統(tǒng)編程對(duì)hdfs進(jìn)行操作,首先建立分布式系統(tǒng)連接池,然后連接所述分布式系統(tǒng),接著打開(kāi)所述分布式系統(tǒng)中與目標(biāo)文件夾對(duì)應(yīng)的文件路徑,最后向該路徑中寫(xiě)入待上傳文件。
s206,向所述目標(biāo)文件夾中上傳所述待上傳文件。
具體地,向分布式系統(tǒng)對(duì)應(yīng)的目標(biāo)文件夾中上傳所述待上傳文件。
上述上傳文件到分布式文件系統(tǒng)的方法,采用自動(dòng)的方法來(lái)代替人工手動(dòng)處理,一方面可以避免人力成本的增加,另一方面也可以有效降低操作失誤發(fā)生的幾率。
作為其中一種具體實(shí)施方式提供的方法,所述獲取待上傳文件的步驟之前包括獲取上傳記錄;若獲取成功,則在所述上傳記錄中獲取系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào);根據(jù)所述系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào)獲取所述待上傳文件。
具體地,利用上傳記錄可以實(shí)現(xiàn)對(duì)不同文件夾的上傳的進(jìn)度進(jìn)行自動(dòng)的保存,在下一次啟動(dòng)程序時(shí),可以根據(jù)記錄讀取上傳記錄。所述上傳記錄就是每個(gè)文件夾中已經(jīng)上傳文件的序號(hào),上傳記錄可以使用以下格式:系統(tǒng)標(biāo)識(shí)+序號(hào),例如:a00000+1表示a00000文件夾上傳到了文件編號(hào)為1的文件。所述上傳記錄可以保存在記憶文件中,也可以直接保存在配置文件中。如果存在上傳記錄,則在上傳記錄中進(jìn)一步獲取系統(tǒng)標(biāo)識(shí)以及所述系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào),然后根據(jù)所述系統(tǒng)標(biāo)識(shí)及文件序號(hào)獲取待上傳文件,從而不會(huì)使文件傳輸發(fā)生某個(gè)文件被多次傳輸或者某個(gè)文件被遺漏傳輸?shù)儒e(cuò)誤,能夠保證文件傳輸?shù)恼_性和有效性。
上述上傳文件到分布式文件系統(tǒng)的方法,利用上傳記錄可以實(shí)現(xiàn)對(duì)不同文件夾的上傳的進(jìn)度進(jìn)行自動(dòng)的保存,確保在程序重啟時(shí),能夠自動(dòng)繼續(xù)上傳。
作為其中一種具體實(shí)施方式提供的方法,所述向所述對(duì)應(yīng)文件夾中上傳所述待上傳文件的步驟包括:監(jiān)測(cè)所述上傳文件的過(guò)程是否中斷;若是,則獲取上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào);根據(jù)獲取上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào)創(chuàng)建或更新上傳記錄。
具體地,如果出現(xiàn)特殊情況,上傳文件的過(guò)程被終端,例如需要關(guān)閉或者重新啟動(dòng)程序。這時(shí)程序會(huì)將系統(tǒng)標(biāo)識(shí)緩存中保存的系統(tǒng)標(biāo)識(shí)及已經(jīng)每個(gè)文件夾中已上傳文件的序號(hào)保存在記憶文件中。所述創(chuàng)建是指沒(méi)有任何上傳記錄時(shí),程序會(huì)自動(dòng)創(chuàng)建上傳記錄。所述更新是指在已有上傳記錄時(shí),程序會(huì)對(duì)上傳記錄進(jìn)行更新。
作為其中一種具體實(shí)施方式提供的方法,所述向所述對(duì)應(yīng)文件夾中上傳所述待上傳文件的步驟包括:監(jiān)測(cè)是待上傳文件是否上傳成功;若是,則獲取上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào);根據(jù)獲取上傳文件所述的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào)創(chuàng)建或更新上傳記錄。
具體地,在本實(shí)施方式中,所述上傳記錄會(huì)監(jiān)測(cè)上傳文件是否上傳成功,如果所述上傳成功,則記錄上傳文件所述的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào),并創(chuàng)建或者更新上傳記錄。所述上傳記錄可以保存在記憶文件中,也可以直接保存在配置文件中,程序可以在每次啟動(dòng)時(shí)首先讀取記憶文件或者配置文件中的上傳記錄。
作為其中一種具體實(shí)施方式提供的方法,所述根據(jù)所述待上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及待上傳文件的序號(hào)獲取所述待上傳文件的步驟還包括:判斷所述待上傳文件的序號(hào)是否為初始值;若是,則獲取所述系統(tǒng)標(biāo)識(shí)中的第一個(gè)文件;若否,則根據(jù)所述上傳文件的序號(hào)獲取所述待上傳文件。
具體地,上傳記錄可以使用以下格式:系統(tǒng)標(biāo)識(shí)+序號(hào)。例如上傳記錄為a00001+0時(shí),0為上傳序號(hào)的初始值,文件表示a00001文件夾沒(méi)有上傳過(guò)文件,則直接上傳a00001中的第一個(gè)文件。
作為其中一種具體實(shí)施方式提供的方法,所述獲取待上傳文件的步驟之前還包括:
搜索本地目錄,獲取系統(tǒng)標(biāo)識(shí)集合;根據(jù)系統(tǒng)標(biāo)識(shí)集合,創(chuàng)建并更新系統(tǒng)標(biāo)識(shí)緩存。
具體地,搜索本地目錄,以獲取目錄中所有存放需要上傳文件的文件夾,由于系統(tǒng)標(biāo)識(shí)與文件夾的名稱是一一對(duì)應(yīng)的,因此將獲取到的文件夾名稱作為系統(tǒng)標(biāo)識(shí)更新到系統(tǒng)標(biāo)識(shí)緩存中,用于記錄以及方便地調(diào)用系統(tǒng)標(biāo)識(shí)。所述創(chuàng)建是指程序自動(dòng)創(chuàng)建系統(tǒng)標(biāo)識(shí)緩存。所述更新是指程序根據(jù)新獲取的系統(tǒng)標(biāo)識(shí)會(huì)對(duì)所述系統(tǒng)標(biāo)識(shí)緩存進(jìn)行更新。
具體地,通過(guò)搜索本地目錄,可以自動(dòng)識(shí)別其中不同的文件夾,并自動(dòng)獲取不同文件夾中需要上傳的待上傳文件。對(duì)本地文件系統(tǒng)進(jìn)行掃描,可以自動(dòng)獲取新增的待上傳文件,進(jìn)一步減少整個(gè)上傳流程中的人工操作。
具體地,在搜索本地目錄之前,還可以增加讀取配置文件的步驟,讀取配置文件主要是為了得到待連接的分布式文件系統(tǒng)服務(wù)器的ip地址,所述配置文件還可以包括用于保存文件夾上傳位置的上傳記錄信息。
具體地,在掃描本地文件系統(tǒng)前,還可以增加初始化日志系統(tǒng)的步驟,所述日志系統(tǒng)是為了輸出必要的程序打印信息,方便查看系統(tǒng)的運(yùn)行情況以及方便在系統(tǒng)可能出現(xiàn)問(wèn)題時(shí)進(jìn)行問(wèn)題排查。
具體地,在搜索本地目錄之前,還可以增加建立連接池的步驟,所述建立連接池可以使用linux系統(tǒng)對(duì)hdfs接口進(jìn)行操作,建立hdfs連接池。建立所述連接池可以優(yōu)化程序性能。
上述上傳文件到分布式文件系統(tǒng)的方法,可以通過(guò)掃描并記錄本地文件系統(tǒng)的方式,識(shí)別其中不同的文件夾,以獲取滿足上傳的文件,進(jìn)一步減少了人工手動(dòng)處理的步驟。
請(qǐng)參閱圖3,圖3為一個(gè)具體實(shí)施方式所提供的方法的部分流程圖。所述搜索本地目錄,獲取系統(tǒng)標(biāo)識(shí)集合的步驟包括:
s302,每隔預(yù)先配置的第一時(shí)間間隔打開(kāi)并讀取本地目錄。
具體地,所述本地目錄是指本地系統(tǒng)中存放待上傳文件的特定目錄,例如hdfs目錄等。
具體地,數(shù)據(jù)可能來(lái)自不同的下位機(jī)模塊系統(tǒng),不同的下位機(jī)模塊系統(tǒng)的數(shù)據(jù)將會(huì)存放到不同的文件夾中,搜索本地目錄中這些文件夾的名稱,如果隨著新的下位機(jī)模塊系統(tǒng)的接入,可能會(huì)產(chǎn)生新的系統(tǒng)標(biāo)識(shí),每隔系統(tǒng)標(biāo)識(shí)都與文件夾名稱一一對(duì)應(yīng)。那么可以每隔一個(gè)預(yù)先配置的時(shí)間重新搜索本地目錄,獲取新的系統(tǒng)標(biāo)識(shí)集合。進(jìn)一步地,出于性能方面的考慮,可以使程序睡眠一定的時(shí)間后再掃描一次本地目錄。所述睡眠時(shí)間為根據(jù)需求預(yù)先配置的。更進(jìn)一步地,所述睡眠時(shí)間在5分鐘至15分鐘的范圍內(nèi)進(jìn)行選擇。
s304,依次判斷所述本地目錄下的文件的類(lèi)型是否為文件夾。
具體地,找出本地目錄下的所有類(lèi)型為文件夾的文件。
s306,若是,則獲取所述文件夾的名稱,并將所述文件夾的名稱加入所述系統(tǒng)標(biāo)識(shí)集合中。
具體地,如果本地文件的類(lèi)型是文件夾,則直接獲取所述文件夾的名稱,由于文件夾的名稱與系統(tǒng)標(biāo)識(shí)是一一對(duì)應(yīng)的,所以可以直接將文件夾的名稱作為系統(tǒng)標(biāo)識(shí)加入系統(tǒng)標(biāo)識(shí)集合。
s308,若否,則繼續(xù)判斷目錄下的下一個(gè)文件類(lèi)型,直到本地目錄下所有的文件夾的名稱。
具體地,上述步驟可以通過(guò)linux系統(tǒng)編程對(duì)本地系統(tǒng)進(jìn)行操作,其基本過(guò)程為:打開(kāi)本地目錄,讀取本地目錄,比較判斷當(dāng)前目錄下的文件類(lèi)型為目錄還是文件,是目錄則表示找到系統(tǒng)標(biāo)識(shí),直接讀取該系統(tǒng)標(biāo)識(shí),并將該系統(tǒng)標(biāo)識(shí)加入系統(tǒng)標(biāo)識(shí)緩存。直到本地目錄下所有的文件類(lèi)型均完成判斷,則掃描完成,關(guān)閉本地目錄。
請(qǐng)參閱圖4,圖4為其中一種具體實(shí)施方式提供的獲取上傳文件步驟的流程圖。所述獲取待上傳文件的步驟包括:
s402,每隔預(yù)先配置的第二時(shí)間掃描一次系統(tǒng)標(biāo)識(shí)緩存。
具體地,定時(shí)掃描系統(tǒng)標(biāo)識(shí)緩存,獲取系統(tǒng)標(biāo)識(shí)緩存隊(duì)列中的系統(tǒng)標(biāo)識(shí)序列。
s404,根據(jù)所述系統(tǒng)標(biāo)識(shí)緩存中的系統(tǒng)標(biāo)識(shí)序列依次打開(kāi)文件夾。
具體地,循環(huán)檢查程序系統(tǒng)表示緩存來(lái)查找每個(gè)文件夾中的文件。
s406,檢查所述打開(kāi)的文件夾中是否存在需要上傳的文件。
s408,若存在所述需要上傳的文件,則得到所述待上傳文件。
具體地,如果保存了上傳記錄,那么可以方便的通過(guò)上傳記錄信息來(lái)判斷該文件夾中是否存在需要上傳的文件。例如:根據(jù)所述上傳記錄,可以讀取到該文件夾中已經(jīng)上傳到的文件的具體位置,通過(guò)所述具體位置就可以判斷該文件夾中是否存在需要上傳的文件。
s410,若不存在所述需要上傳的文件,則繼續(xù)打開(kāi)下一個(gè)文件夾,直到所述系統(tǒng)標(biāo)識(shí)序列中所對(duì)應(yīng)的文件夾均被檢查。
具體地,循環(huán)檢查系統(tǒng)標(biāo)識(shí)緩存中所有的系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件夾。
請(qǐng)參閱圖5,圖5為其中一種具體實(shí)施方式提供的獲取待上傳文件的步驟的流程圖。所述步驟包括:
s502,讀取待上傳文件。
具體地,通過(guò)linux系統(tǒng)編程函數(shù)打開(kāi)系統(tǒng)標(biāo)識(shí)下要上傳的具體文件,開(kāi)始讀取待上傳文件。
s504,判斷是否打開(kāi)成功。
具體地,開(kāi)始上傳文件,通過(guò)函數(shù)返回值判斷打開(kāi)成功或者失敗。
s506,若讀取成功,則獲取所述待上傳文件的傳輸流。
具體地,如果讀取成功,則獲取文件的傳輸流,進(jìn)一步讀取本地?cái)?shù)據(jù),開(kāi)始上傳。
s508,若讀取不成功,則程序睡眠,睡眠時(shí)間為預(yù)先配置的第三時(shí)間,再次獲取待上傳文件。
具體地,如果打開(kāi)失敗,則將程序睡眠一段時(shí)間,所述時(shí)間可以根據(jù)需求預(yù)先配置。進(jìn)一步地,預(yù)先配置的時(shí)間可以在1分鐘至5分鐘的范圍內(nèi)進(jìn)行選擇。
請(qǐng)參閱圖6,圖6為其中一種具體實(shí)施方式提供的向目標(biāo)文件夾中上傳待上傳文件的步驟的流程圖。所述步驟包括:
s602,連接所述分布式文件系統(tǒng)。
具體地,調(diào)用linux系統(tǒng)的hdfs接口對(duì)分布式文件系統(tǒng)進(jìn)行操作,連接hdfs。
s604,獲取并打開(kāi)所述目標(biāo)文件夾所對(duì)應(yīng)的上傳路徑。
具體地,調(diào)用linux系統(tǒng)的hdfs接口打開(kāi)hdfs中對(duì)應(yīng)文件夾所對(duì)應(yīng)的上傳路徑。
s606,向所述對(duì)應(yīng)的上傳路徑中寫(xiě)入文件。
具體地,向通過(guò)步驟s604獲得的上傳路徑上傳路徑寫(xiě)入待上傳文件。
s608,判斷上傳所述待上傳文件的操作是否成功。
具體地,根據(jù)調(diào)用hdfs接口的返回值判斷上傳是否成功。
s610,若上傳成功,則刪除已經(jīng)上傳的文件,關(guān)閉所述對(duì)應(yīng)文件路徑。
具體地,如果判斷上傳成功,就刪除已經(jīng)上傳的文件,并關(guān)閉所述對(duì)應(yīng)文件路徑,同時(shí)也可以記錄或更改上傳記錄。
s612,若未上傳成功,則輸出錯(cuò)誤信息,所述錯(cuò)誤信息用于更新系統(tǒng)日志。
具體地,如果沒(méi)有上傳成功,則輸出錯(cuò)誤信息,更新日志文件,方便根據(jù)日志文件打印錯(cuò)誤信息,排查失敗原因。
請(qǐng)參閱圖7,圖7為其中一種具體實(shí)施方式提供的上傳文件到分布式文件系統(tǒng)的裝置的結(jié)構(gòu)示意圖,其中,所述裝置包括:
文件上傳模塊,用于獲取待上傳文件;
目標(biāo)文件夾獲取模塊,用于根據(jù)所述待上傳文件所屬的系統(tǒng)標(biāo)識(shí),獲取分布式文件系統(tǒng)中與該系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)文件夾;
文件上傳模塊,用于向所述目標(biāo)文件夾中上傳所述待上傳文件。
上述上傳文件到分布式文件系統(tǒng)的裝置,可以實(shí)現(xiàn)使用自動(dòng)的方法來(lái)代替人工手動(dòng)處理,一方面可以避免人力成本的增加,另一方面也可以有效降低操作失誤發(fā)生的幾率。
作為一種具體實(shí)施方式,其中,所述裝置還包括:
記錄獲取模塊,用于獲取上傳記錄;
序號(hào)獲取模塊,用于若獲取成功,則在所述上傳記錄中獲取系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào);
文件查找模塊,用于根據(jù)所述系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述文件查找模塊還包括:
序號(hào)判斷單元,用于判斷所述文件序號(hào)是否為初始值;
標(biāo)識(shí)獲取單元,用于獲取所述系統(tǒng)標(biāo)識(shí)中的第一個(gè)文件;
序號(hào)查找單元,用于根據(jù)所述文件序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述裝置還包括:
記錄獲取模塊,用于獲取上傳記錄;
序號(hào)獲取模塊,用于若獲取成功,則在上傳記錄中獲取所述待上傳文件所處的系統(tǒng)標(biāo)識(shí)以及待上傳文件的序號(hào);
文件查找模塊,用于根據(jù)所述待上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及待上傳文件的序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述文件查找模塊還包括:
序號(hào)判斷單元,用于判斷所述待上傳文件的序號(hào)是否為初始值;
標(biāo)識(shí)獲取單元,用于獲取所述系統(tǒng)標(biāo)識(shí)中的第一個(gè)文件;
序號(hào)查找單元,用于根據(jù)所述上傳文件的序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述文件上傳模塊包括:
中斷監(jiān)測(cè)單元,用于監(jiān)測(cè)所述上傳文件的過(guò)程是否中斷;
標(biāo)識(shí)獲取單元,用于若是,則獲取上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào);
記錄更新單元,用于根據(jù)獲取上傳文件所述的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào)創(chuàng)建或更新上傳記錄。
作為一種具體實(shí)施方式,其中,所述裝置還包括:
集合獲取模塊,用于搜索本地目錄,獲取系統(tǒng)標(biāo)識(shí)集合;
緩存更新模塊,用于根據(jù)系統(tǒng)標(biāo)識(shí)集合,創(chuàng)建或更新系統(tǒng)標(biāo)識(shí)緩存。
作為一種具體實(shí)施方式,其中,所述集合獲取模塊包括:
目錄讀取單元,用于每隔預(yù)先配置的第一時(shí)間間隔打開(kāi)并讀取本地目錄;
類(lèi)型判斷單元,用于依次判斷本地目錄下的文件類(lèi)型是否為文件夾;
集合更新單元,用于若是,則獲取所述文件夾的名稱,并將所述文件夾的名稱加入所述系統(tǒng)標(biāo)識(shí)集合中;
目錄判斷單元,用于若否,則繼續(xù)判斷目錄下的下一個(gè)文件類(lèi)型,直到獲得本地目錄下所有的系統(tǒng)標(biāo)識(shí)。
作為一種具體實(shí)施方式,其中,所述文件獲取模塊包括:
緩存掃描單元,用于每隔預(yù)先配置的第二時(shí)間間隔掃描一次系統(tǒng)標(biāo)識(shí)緩存;
文件夾打開(kāi)單元,用于根據(jù)所述系統(tǒng)標(biāo)識(shí)緩存中的系統(tǒng)標(biāo)識(shí)序列依次打開(kāi)文件夾;
文件檢查單元,用于檢查所述打開(kāi)的文件夾中是否存在需要上傳的文件,若存在所述需要上傳的文件,則得到所述待上傳文件,若不存在所述需要上傳的文件,則繼續(xù)打開(kāi)下一個(gè)文件夾,直到所述系統(tǒng)標(biāo)識(shí)序列中所對(duì)應(yīng)的文件夾均被檢查。
作為一種具體實(shí)施方式,其中,所述文件獲取模塊包括:
文件讀取單元,用于讀取待上傳文件;
狀態(tài)判斷單元,用于判斷是否讀取成功;
數(shù)據(jù)獲取單元,用于若讀取成功,則獲取所述待上傳文件的傳輸流,讀取本地?cái)?shù)據(jù);
程序睡眠單元,用于若讀取不成功,則程序睡眠,睡眠時(shí)間為預(yù)先配置的第三時(shí)間間隔,再次獲取待上傳文件。
作為一種具體實(shí)施方式,其中,所述上傳模塊包括:
連接池建立單元,用于建立連接池并連接到所述分布式文件系統(tǒng);
路徑獲取單元,用于獲取并打開(kāi)所述目標(biāo)文件夾所對(duì)應(yīng)的上傳路徑;
文件寫(xiě)入單元,用于向所述對(duì)應(yīng)的上傳路徑中寫(xiě)入文件;
操作判定單元,用于判斷上傳所述待上傳文件的操作是否成功;
路徑關(guān)閉單元,用于若上傳成功,則刪除已經(jīng)上傳的文件,關(guān)閉所述對(duì)應(yīng)的文件路徑;
日志更新單元,用于若未上傳成功,則輸出錯(cuò)誤信息并更新系統(tǒng)日志。
一種上傳文件到分布式文件系統(tǒng)的設(shè)備,其中,所述設(shè)備包括處理器、存儲(chǔ)器以及存儲(chǔ)在所述存儲(chǔ)器上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
獲取待上傳文件;
根據(jù)所述待上傳文件所屬的系統(tǒng)標(biāo)識(shí),獲取分布式文件系統(tǒng)中與該系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)文件夾;
向所述目標(biāo)文件夾中上傳所述待上傳文件。
上述上傳文件到分布式文件系統(tǒng)的設(shè)備,可以實(shí)現(xiàn)使用自動(dòng)的方法來(lái)代替人工手動(dòng)處理,一方面可以避免人力成本的增加,另一方面也可以有效降低操作失誤發(fā)生的幾率。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的獲取待上傳文件的步驟之前還包括:
獲取上傳記錄;
若獲取成功,則在所述上傳記錄中獲取系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào);
根據(jù)所述系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述根據(jù)所述系統(tǒng)標(biāo)識(shí)以及系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件序號(hào)獲取所述待上傳文件的步驟包括:
判斷所述文件序號(hào)是否為初始值;
若是,則獲取所述系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的文件夾中的第一個(gè)文件;
若否,則根據(jù)所述文件序號(hào)獲取所述待上傳文件。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述向所述目標(biāo)文件夾中上傳所述待上傳文件的步驟包括:
監(jiān)測(cè)所述上傳文件的過(guò)程是否中斷;
若是,則獲取上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào);
根據(jù)獲取上傳文件所屬的系統(tǒng)標(biāo)識(shí)以及上傳文件的序號(hào)創(chuàng)建或更新上傳記錄。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述獲取待上傳文件的步驟之前還包括:
搜索本地目錄,獲取系統(tǒng)標(biāo)識(shí)集合;
根據(jù)系統(tǒng)標(biāo)識(shí)集合,創(chuàng)建或更新系統(tǒng)標(biāo)識(shí)緩存。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述搜索本地目錄,獲取系統(tǒng)標(biāo)識(shí)集合的步驟包括:
每隔預(yù)先配置的第一時(shí)間間隔打開(kāi)并讀取本地目錄;
依次判斷本地目錄下的文件類(lèi)型是否為文件夾;
若是,則獲取所述文件夾的名稱,并將所述文件夾的名稱加入所述系統(tǒng)標(biāo)識(shí)集合中;
若否,則繼續(xù)判斷目錄下的下一個(gè)文件類(lèi)型,直到獲得本地目錄下所有的文件夾的名稱。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述獲取待上傳文件的步驟包括:
每隔預(yù)先配置的第二時(shí)間間隔掃描一次系統(tǒng)標(biāo)識(shí)緩存;
根據(jù)所述系統(tǒng)標(biāo)識(shí)緩存中的系統(tǒng)標(biāo)識(shí)序列依次打開(kāi)文件夾;
檢查所述打開(kāi)的文件夾中是否存在需要上傳的文件;
若存在所述需要上傳的文件,則得到所述待上傳文件;
若不存在所述需要上傳的文件,則繼續(xù)打開(kāi)下一個(gè)文件夾,直到所述系統(tǒng)標(biāo)識(shí)序列中所對(duì)應(yīng)的文件夾均被檢查。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述獲取待上傳文件的步驟包括:
讀取待上傳文件;
判斷是否讀取成功;
若讀取成功,則獲取所述待上傳文件的傳輸流,讀取本地?cái)?shù)據(jù);
若讀取不成功,則程序睡眠,睡眠時(shí)間為預(yù)先配置的第三時(shí)間間隔,再次獲取待上傳文件。
作為一種具體實(shí)施方式,其中,所述處理器執(zhí)行的所述向所述目標(biāo)文件夾中上傳所述待上傳文件的步驟包括:
建立連接池并連接到所述分布式文件系統(tǒng);
獲取并打開(kāi)所述目標(biāo)文件夾所對(duì)應(yīng)的上傳路徑;
向所述對(duì)應(yīng)的上傳路徑中寫(xiě)入文件;
判斷上傳所述待上傳文件的操作是否成功;
若上傳成功,則刪除已經(jīng)上傳的文件,關(guān)閉所述對(duì)應(yīng)的文件路徑;
若未上傳成功,則輸出錯(cuò)誤信息并更新系統(tǒng)日志。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說(shuō)明書(shū)記載的范圍。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。