System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本公開涉及數據處理領域,尤其涉及文件合并方法、裝置、電子設備及存儲介質。
技術介紹
1、在大數據場景下,數據加工處理的過程中可能會產生占用內存空間較少的小文件,通過人工從識別小文件再到合并處理小文件往往需要投入大量的人工和時間成本,而且效率低下。在小文件合并處理過程中還需要考慮計算資源、網絡狀況等因素。同時小文件任務合通常與其他任務運行在同一環境,需要在不影響其他任務的前提下完成小文件合并。因此這些復雜因素影響了小文件合并過程的效率和執行穩定性。
技術實現思路
1、為克服相關技術中存在的問題,本公開提供一種文件合并方法、裝置、電子設備及存儲介質。
2、根據本公開實施例的第一方面,提供一種文件合并方法,包括遍歷包括待合并文件的父目錄中各子目錄,得到對應所述待合并文件的待合并子目錄集合;獲取所述待合并子目錄集合中每一待合并子目錄的數據信息,基于所述數據信息以及分布式處理模型,生成用于執行合并任務的目標數據信息,所述分布式處理模型用于生成所述目標數據信息,所述合并任務包括以下至少一項參數:目標待合并文件存儲空間,目標合并文件存儲空間以及臨時目錄;基于所述分布式處理模型執行合并任務,以將所述待合并子目錄集合對應的待合并文件進行合并。
3、一種實施方式中,所述將所述待合并子目錄集合對應的待合并文件進行合并,包括:將所述待合并文件與所述目標數據信息進行比較,對滿足條件的待合并文件進行合并。
4、一種實施方式中,所述遍歷包括待合并文件的父目錄中各子目錄,得到對
5、一種實施方式中,所述數據信息包括以下至少一項:待合并的原目錄、目錄下文件類型、原目錄的備份目錄、合并后的輸出目錄、日志目錄、所述目標合并文件存儲空間以及合并任務運行狀態。
6、一種實施方式中,所述基于所述數據信息以及分布式處理模型,生成用于執行合并任務的目標數據信息,包括:將所述數據信息映射至所述分布式處理模型中,生成包括目標切片存儲空間的目標數據信息,所述目標切片存儲空間等于所述目標合并文件存儲空間。
7、一種實施方式中,將所述待合并文件與所述目標數據信息進行比較,對滿足條件的待合并文件進行合并,包括:若當前待合并文件的存儲空間小于或等于目標切片存儲空間,則將滿足條件的待合并文件進行合并;若當前待合并文件的存儲空間大于所述目標切片存儲空間,則將所述待合并文件切割為小于所述目標切片存儲空間,并基于切割后的待合并文件進行合并。
8、一種實施方式中,所述將所述待合并文件與所述目標數據信息進行比較,對滿足條件的待合并文件進行合并后,所述方法還包括:將所述待合并文件與所述合并文件的行數進行比較;若所述待合并文件的行數不等于所述合并文件的行數,則將當前合并任務運行狀態為驗證失??;若所述待合并文件的行數等于所述合并文件的行數,則將當前合并任務運行狀態為驗證成功;基于所述合并任務驗證成功,所述待合并的原目錄替換為所述原目錄的備份目錄,將替換后的待合并的原目錄替換為所述合并后的輸出目錄,并將當前合并任務運行狀態由驗證成功更新為成功,得到目標合并文件。
9、一種實施方式中,所述方法還包括:基于調控策略,停止對待合并文件進行合并;其中,所述調控策略包括以下至少一項:當前網絡流量大于預設值;當前合并任務執行時間大于預定時間;同一時間內執行合并任務的數量大于合并任務數量預設值;當前合并總任務資源超過合并總任務資源閾值;當前合并任務運行狀態為失敗的合并任務重新合并次數大于重試次數閾值。
10、根據本公開實施例的第二方面,提供一種文件合并裝置,包括處理單元,用于遍歷包括待合并文件的父目錄中各子目錄,得到對應所述待合并文件的待合并子目錄集合;生成單元,用于獲取所述待合并子目錄集合中每一待合并子目錄的數據信息,基于所述數據信息以及分布式處理模型,生成用于執行合并任務的目標數據信息,所述分布式處理模型用于生成所述目標數據信息,所述合并任務包括以下至少一項參數:目標待合并文件存儲空間,目標合并文件存儲空間以及臨時目錄;合并單元,用于基于所述分布式處理模型執行合并任務,以將所述待合并子目錄集合對應的待合并文件進行合并。
11、一種實施方式中,所述合并單元采用如下方式將所述待合并子目錄集合對應的待合并文件進行合并:將所述待合并文件與所述目標數據信息進行比較,對滿足條件的待合并文件進行合并。
12、一種實施方式中,所述處理單元采用如下方式遍歷包括待合并文件的父目錄中各子目錄,得到對應所述待合并文件的待合并子目錄集合:在所述父目錄中檢測符合第一條件的子目錄,得到子目錄集合,其中,所述第一條件包括以下至少一項:所述子目錄為未回收子目錄,所述子目錄未被定義在不需要合并的子目錄集合中,文件類型為目錄;在所述子目錄集合中,對所述子目錄集合中每一個子目錄進行遍歷,得到符合第二條件的待合并子目錄集合;其中,響應于滿足以下條件,確定滿足第二條件:當前子目錄下不存在子目錄;當前子目錄下文件數量大于預設值;當前子目錄下文件占用存儲空間小于所述目標待合并文件存儲空間。
13、一種實施方式中,所述數據信息包括以下至少一項:待合并的原目錄、目錄下文件類型、原目錄的備份目錄、合并后的輸出目錄、日志目錄、所述目標合并文件存儲空間以及合并任務運行狀態。
14、一種實施方式中,所述基于所述數據信息以及分布式處理模型,所述生成單元采用如下方式生成用于執行合并任務的目標數據信息:將所述數據信息映射至所述分布式處理模型中,生成包括目標切片存儲空間的目標數據信息,所述目標切片存儲空間等于所述目標合并文件存儲空間。
15、一種實施方式中,所述合并單元采用如下方式將所述待合并文件與所述目標數據信息進行比較,對滿足條件的待合并文件進行合并:若當前待合并文件的存儲空間小于或等于目標切片存儲空間,則將滿足條件的待合并文件進行合并;若當前待合并文件的存儲空間大于所述目標切片存儲空間,則將所述待合并文件切割為小于所述目標切片存儲空間,并基于切割后的待合并文件進行合并。
16、一種實施方式中,所述將所述待合并文件與所述目標數據信息進行比較,對滿足條件的待合并文件進行合并后,所述合并單元還用于:將所述待合并文件與所述合并文件的行數進行比較;若所述待合并文件的行數不等于所述合并文件的行數,則將當前合并任務運行狀態為驗證失敗;若所述待合并文件的行數等于所述合并文件的行數,則將當前合并任務運行狀態為驗證成功;基于所述合并本文檔來自技高網...
【技術保護點】
1.一種文件合并方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述將所述待合并子目錄集合對應的待合并文件進行合并,包括:
3.根據權利要求1所述的方法,其特征在于,所述遍歷包括待合并文件的父目錄中各子目錄,得到對應所述待合并文件的待合并子目錄集合,包括:
4.根據權利要求1所述的方法,其特征在于,所述數據信息包括以下至少一項:
5.根據權利要求1或4所述的方法,其特征在于,所述基于所述數據信息以及分布式處理模型,生成用于執行合并任務的目標數據信息,包括:
6.根據權利要求2所述的方法,其特征在于,將所述待合并文件與所述目標數據信息進行比較,對滿足條件的待合并文件進行合并,包括:
7.根據權利要求2所述的方法,其特征在于,所述將所述待合并文件與所述目標數據信息進行比較,對滿足條件的待合并文件進行合并后,所述方法還包括:
8.根據權利要求1所述的方法,其特征在于,所述方法還包括:
9.一種文件合并裝置,其特征在于,包括:
10.一種電子設備,其特征在于,包
11.一種存儲介質,其特征在于,所述存儲介質中存儲有指令,當所述存儲介質中的指令由處理器執行時,使得處理器能夠執行權利要求1至8中任一項所述的文件合并方法。
...【技術特征摘要】
1.一種文件合并方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述將所述待合并子目錄集合對應的待合并文件進行合并,包括:
3.根據權利要求1所述的方法,其特征在于,所述遍歷包括待合并文件的父目錄中各子目錄,得到對應所述待合并文件的待合并子目錄集合,包括:
4.根據權利要求1所述的方法,其特征在于,所述數據信息包括以下至少一項:
5.根據權利要求1或4所述的方法,其特征在于,所述基于所述數據信息以及分布式處理模型,生成用于執行合并任務的目標數據信息,包括:
6.根據權利要求2所述的方法,其特征在于,...
【專利技術屬性】
技術研發人員:畢博,
申請(專利權)人:北京螞蜂窩網絡科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。