本申請(qǐng)涉及信息處理,具體涉及一種文件上傳方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,信息處理技術(shù)也得到了飛速提升,其中,文件上傳功能是許多業(yè)務(wù)場景的核心操作之一,尤其是在車聯(lián)網(wǎng)、電子商務(wù)、數(shù)據(jù)管理等領(lǐng)域,用戶通常通過上傳文件(如excel、csv等)來批量處理數(shù)據(jù),以提升業(yè)務(wù)效率。
2、然而,受網(wǎng)絡(luò)延遲、操作失誤以及多用戶操作等因素影響,上傳過程中很容易出現(xiàn)大量文件重復(fù)導(dǎo)入的情況,導(dǎo)致文件數(shù)據(jù)重復(fù)寫入,破壞了數(shù)據(jù)的唯一性和準(zhǔn)確性。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本申請(qǐng)致力于提供一種文件上傳方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),能夠防止文件數(shù)據(jù)的重復(fù)寫入,確保極端并發(fā)場景下批量導(dǎo)入數(shù)據(jù)的唯一性和準(zhǔn)確性。
2、本申請(qǐng)的第一方面提供一種文件上傳方法,包括:
3、響應(yīng)于客戶端發(fā)送的攜帶有目標(biāo)文件和目標(biāo)地址的文件上傳指令,檢測上傳任務(wù)中是否存在一致文件;所述一致文件是與所述目標(biāo)文件相同的文件;
4、若所述上傳任務(wù)中不存在所述一致文件,則檢測所述目標(biāo)地址中是否存在所述一致文件;
5、若所述目標(biāo)地址中不存在所述一致文件,則上傳所述目標(biāo)文件至所述目標(biāo)地址。
6、可選地,所述檢測上傳任務(wù)中是否存在一致文件,包括:
7、基于所述目標(biāo)文件,生成對(duì)應(yīng)的目標(biāo)哈希值;
8、檢測所述上傳任務(wù)中,是否存在文件哈希值與所述目標(biāo)哈希值一致;
9、若存在文件哈希值與所述目標(biāo)哈希值一致,則確定所述上傳任務(wù)中存在所述一致文件;若不存在文件哈希值與所述目標(biāo)哈希值一致,則確定所述上傳任務(wù)中不存在所述一致文件。
10、可選地,所述檢測所述目標(biāo)地址中是否存在所述一致文件,包括:
11、檢測所述目標(biāo)地址中是否存在文件哈希值與目標(biāo)哈希值一致,所述目標(biāo)哈希值是基于所述目標(biāo)文件生成的哈希值;
12、若存在文件哈希值與所述目標(biāo)哈希值一致,則確定所述目標(biāo)地址中存在所述一致文件;若不存在文件哈希值與所述目標(biāo)哈希值一致,則確定所述目標(biāo)地址中不存在所述一致文件。
13、可選地,所述上傳所述目標(biāo)文件至所述目標(biāo)地址,包括:
14、建立所述目標(biāo)文件和基于所述目標(biāo)文件生成的目標(biāo)哈希值的對(duì)應(yīng)關(guān)系,并將所述目標(biāo)文件和對(duì)應(yīng)的所述目標(biāo)哈希值寫入到所述上傳任務(wù)中;
15、基于所述上傳任務(wù)的處理隊(duì)列,將待處理的所述目標(biāo)文件上傳至所述目標(biāo)地址;
16、所述上傳目標(biāo)文件至所述目標(biāo)地址后,所述方法還包括:
17、清除所述上傳任務(wù)中的所述目標(biāo)文件和對(duì)應(yīng)的所述目標(biāo)哈希值。
18、可選地,所述文件上傳指令還攜帶有客戶端信息;
19、所述檢測上傳任務(wù)中是否存在一致文件之前,所述方法還包括:
20、基于所述客戶端信息,生成請(qǐng)求標(biāo)識(shí),并檢測所述上傳任務(wù)中是否已經(jīng)存在所述請(qǐng)求標(biāo)識(shí);
21、若所述上傳任務(wù)中已經(jīng)存在所述請(qǐng)求標(biāo)識(shí),則停止響應(yīng)所述文件上傳指令;若所述上傳任務(wù)中不存在所述請(qǐng)求標(biāo)識(shí),則繼續(xù)執(zhí)行所述檢測上傳任務(wù)中是否存在一致文件的步驟。
22、可選地,還包括:
23、在將所述目標(biāo)文件和對(duì)應(yīng)的所述目標(biāo)哈希值寫入所述上傳任務(wù)中時(shí),將所述請(qǐng)求標(biāo)識(shí)與所述目標(biāo)文件進(jìn)行關(guān)聯(lián),并將所述請(qǐng)求標(biāo)識(shí)隨所述目標(biāo)文件一同寫入到所述上傳任務(wù)中;
24、在清除所述上傳任務(wù)中的所述目標(biāo)文件和對(duì)應(yīng)的所述目標(biāo)哈希值時(shí),將與所述目標(biāo)文件關(guān)聯(lián)的所述請(qǐng)求標(biāo)識(shí)一同清除。
25、可選地,還包括:
26、若所述上傳任務(wù)中或者所述目標(biāo)地址中存在所述一致文件,則停止響應(yīng)所述文件上傳指令,并返回相應(yīng)的上傳失敗提示給所述客戶端。
27、本申請(qǐng)的第二方面還提供了一種文件上傳裝置,包括:
28、第一檢測模塊,用于響應(yīng)于客戶端發(fā)送的攜帶有目標(biāo)文件和目標(biāo)地址的文件上傳指令,檢測上傳任務(wù)中是否存在一致文件;所述一致文件是與所述目標(biāo)文件相同的文件;
29、第二檢測模塊,用于若所述上傳任務(wù)中不存在所述一致文件,則檢測所述目標(biāo)地址中是否存在所述一致文件;
30、上傳模塊,用于若所述目標(biāo)地址中不存在所述一致文件,則上傳所述目標(biāo)文件至所述目標(biāo)地址。
31、本申請(qǐng)的第三方面提供一種電子設(shè)備,包括:
32、處理器,以及與所述處理器相連接的存儲(chǔ)器;
33、所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序;
34、所述處理器用于調(diào)用并執(zhí)行所述存儲(chǔ)器中的所述計(jì)算機(jī)程序,以執(zhí)行如本申請(qǐng)的第一方面所述的文件上傳方法。
35、本申請(qǐng)的第四方面提供一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如本申請(qǐng)的第一方面所述的文件上傳方法的各個(gè)步驟。
36、本申請(qǐng)的方案中,響應(yīng)于客戶端發(fā)送的攜帶有目標(biāo)文件和目標(biāo)地址的文件上傳指令,檢測上傳任務(wù)中是否存在一致文件;一致文件是與目標(biāo)文件相同的文件,從而判斷出當(dāng)前是否已經(jīng)存在正在上傳的目標(biāo)文件;若上傳任務(wù)中不存在一致文件,說明當(dāng)前不存在正在上傳的目標(biāo)文件,則可以檢測目標(biāo)地址中是否存在一致文件;若目標(biāo)地址中不存在一致文件,則上傳目標(biāo)文件至目標(biāo)地址。如此,既可以應(yīng)對(duì)同一用戶對(duì)相同文件的多次重復(fù)上傳導(dǎo)致的文件數(shù)據(jù)重復(fù)問題,又可以應(yīng)對(duì)多用戶對(duì)相同文件并發(fā)上傳導(dǎo)致的文件數(shù)據(jù)不唯一的問題,從而有效防止了文件數(shù)據(jù)的重復(fù)寫入,提升了文件上傳效率,確保了極端并發(fā)場景下批量導(dǎo)入數(shù)據(jù)的唯一性和準(zhǔn)確性。
1.一種文件上傳方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述檢測上傳任務(wù)中是否存在一致文件,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述檢測所述目標(biāo)地址中是否存在所述一致文件,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述上傳所述目標(biāo)文件至所述目標(biāo)地址,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述文件上傳指令還攜帶有客戶端信息;
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
8.一種文件上傳裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,包括:
10.一種存儲(chǔ)介質(zhì),其特征在于,所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的文件上傳方法的各個(gè)步驟。