[發明專利]一種在ftp服務場景下高效讀取大量小文件的方法在審
| 申請號: | 202011616639.4 | 申請日: | 2020-12-30 |
| 公開(公告)號: | CN112732657A | 公開(公告)日: | 2021-04-30 |
| 發明(設計)人: | 張天際;李繼征;陳康先;陳偉健 | 申請(專利權)人: | 廣州金越軟件技術有限公司 |
| 主分類號: | G06F16/17 | 分類號: | G06F16/17;G06F16/13;H04L29/06 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 510000 廣東省廣州*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 ftp 服務 場景 高效 讀取 大量 文件 方法 | ||
1.一種在ftp服務場景下高效讀取大量小文件的方法,其特征在于,包括交互本地化和本地文件監聽,所述交互本地化,在不改變前端輸入的參數情況,方法得到的入參是ftp協議的url,適用設計模式中的策略模式適配各種ftp服務器;
具體邏輯為:將ftp協議url解析出用戶名,端口,推送目錄。根據端口獲取進程名,從而可以判斷出ftp服務器類型,或者根據各種ftp服務器的配置文件名、其他特征來判斷ftp服務器類型,然后讀取配置文件,獲取ftp用戶與本地目錄的映射關系,并緩存到Map集合,整個轉化過程不需要由調用邏輯關注,完全由本方法自動適配。
2.根據權利要求1所述的一種在ftp服務場景下高效讀取大量小文件的方法,其特征在于,所述本地文件監聽利用jdk1.7自帶的文件事件監聽WatchService,配置監聽實體的創建和修改事件,阻塞獲取監聽器事件隊列的事件。
3.根據權利要求1所述的一種在ftp服務場景下高效讀取大量小文件的方法,其特征在于,所述事件出列后解析出文件名,再實例化為自定義文件事件對象,對象屬性包含文件File對象,文件創建時間戳,文件修改時間戳,當前文件字節長度,文件MD5摘要。
4.根據權利要求1所述的一種在ftp服務場景下高效讀取大量小文件的方法,其特征在于,所述事件入列到隊列中,此處使用業界性能優越的有界無鎖隊列實現,此處使用了生產者消費者模式,另一線程監聽隊列獲取文件事件對象繼續處理。
5.根據權利要求1所述的一種在ftp服務場景下高效讀取大量小文件的方法,其特征在于,所述事件出列后先判斷當前時間戳與文件修改時間戳是否大于某個時間,經過大量測試,基于16核cpu、64G內存和網絡穩定的環境中,此時間值約為1毫秒為性能最佳。
6.根據權利要求1所述的一種在ftp服務場景下高效讀取大量小文件的方法,其特征在于,所述事件如果不是則再次入列,否則繼續獲取文件當前文件字節長度和文件MD5摘要,在對比前后的字節長度和MD5摘要是否相同,如果相同,即判斷為完整,可繼續后續處理,否則,更新對象的修改時間戳,當前文件字節長度和文件MD5摘要再次入列。
7.根據權利要求1所述的一種在ftp服務場景下高效讀取大量小文件的方法,其特征在于,所述后續文件處理建議適用多線程處理,避免同步操作,降低文件監聽判斷邏輯的效率。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州金越軟件技術有限公司,未經廣州金越軟件技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011616639.4/1.html,轉載請聲明來源鉆瓜專利網。





