[發明專利]文件處理方法及裝置有效
| 申請號: | 201611041059.0 | 申請日: | 2016-11-23 |
| 公開(公告)號: | CN108090087B | 公開(公告)日: | 2020-08-21 |
| 發明(設計)人: | 米維聰;席強輝;徐超 | 申請(專利權)人: | 上海泓智信息科技有限公司 |
| 主分類號: | G06F16/172 | 分類號: | G06F16/172 |
| 代理公司: | 北京康信知識產權代理有限責任公司 11240 | 代理人: | 韓建偉;張永明 |
| 地址: | 200336 上*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 文件 處理 方法 裝置 | ||
1.一種文件處理方法,其特征在于,包括:
從待讀取的文件中讀取預定長度的內容;
將讀取到的所述內容放在緩存區進行緩存,其中,所述緩存區包括多個緩存塊,所述多個緩存塊分布在多個節點上,所述節點用于對與該節點對應的緩存塊中的內容進行處理;
在所述多個緩存塊中的內容被處理之后,再次從所述待讀取的文件中讀取所述預定長度的內容放置在所述多個緩存塊中,直到所述待讀取的文件被處理完成;
其中,所述方法還包括:
通過一個讀取節點對待讀取的文件進行拆分;
通過所述讀取節點將拆分之后的文件分發到所述多個節點中的至少一個節點對應的緩存塊中以進行處理;
其中,對所述待讀取的文件進行拆分包括:
確定對所述待讀取文件進行拆分的拆分點;
判斷根據所述拆分點拆分得到的部分在結束處或者開始處是否包括不完整的內容;
在包括不完整的內容的情況下,移動所述拆分點,使拆分得到的部分包括的內容完整。
2.根據權利要求1所述的方法,其特征在于,所述多個節點中的每個節點對應至少兩個緩存塊,其中,
在所述兩個緩存塊中的第一緩存塊中的內容在被處理的過程中,從所述文件中根據所述至少兩個塊緩存塊中的第二緩存塊的大小讀取內容,并將讀取到的內容放置在所述第二緩存塊中;在所述第二緩存塊中的內容在處理的過程中,從所述文件中根據所述至少兩塊緩存中的第一緩存塊的大小讀取內容,并將讀取到的內容放置在所述第一緩存塊中,其中,所述第一緩存塊和所述第二緩存塊的大小相同或者不同。
3.根據權利要求2所述的方法,其特征在于,所述每個節點對應至少三個緩存塊,其中,所述三個緩存塊中的一塊緩存塊中的內容在被處理的過程中,向所述三個緩存塊中的另外兩塊緩存塊中放置讀取到的內容。
4.根據權利要求1所述的方法,其特征在于,所述方法還包括:
所述緩存區中的緩存塊的大小和/或緩存塊的數量根據所述緩存塊所在節點的資源情況進行分配,其中,所述分配為周期性分配,或者,所述分配為在滿足預定條件下的分配。
5.根據權利要求1所述的方法,其特征在于,
在所述待讀取的文件的大小超過閾值的情況下,通過一個讀取節點對所述待讀取的文件進行拆分;
通過所述讀取節點根據所述多個節點中的每個節點的資源情況將拆分之后的文件進行分發。
6.根據權利要求1所述的方法,其特征在于,判斷根據所述拆分點拆分得到的部分在結束處或者開始處是否包括不完整的內容包括:
判斷所述拆分點處的內容是否為結構化數據或者非結構化數據;
如果為結構化數據則判斷根據所述拆分點拆分得到的部分在所述結束處或者所述開始處是否為完整的記錄;
如果為非結構化數據則判斷根據所述拆分點拆分得到的部分在所述結束處或所述開始處是否為完整的文件。
7.根據權利要求1所述的方法,其特征在于,通過所述讀取節點將拆分之后的文件分發到所述多個節點中的至少一個節點對應的緩存塊中以進行處理包括:
通過所述讀取節點將拆分之后的文件的每個部分分別分發給一個節點組,其中,所述每個節點組包括至少一個節點,所述節點組作為一個整體將接收到的部分放置在緩存塊中進行處理。
8.根據權利要求1所述的方法,其特征在于,所述緩存區或每個所述節點對應的緩存塊為環狀隊列,所述環狀隊列通過寫入指針和讀取指針訪問,在所述環狀隊列中的緩存被寫入之后未被讀取之前禁止再次寫入。
9.根據權利要求8所述的方法,其特征在于,所述環狀隊列的大小根據節點對應的資源進行調整。
10.一種文件處理裝置,其特征在于,包括:
第一讀取單元,用于從待讀取的文件中讀取預定長度的內容;
緩存單元,用于將讀取到的所述內容放在緩存區進行緩存,其中,所述緩存區包括多個緩存塊,所述多個緩存塊分布在多個節點上,所述節點用于對與該節點對應的緩存塊中的內容進行處理;
第二讀取單元,用于在所述多個緩存塊中的內容被處理之后,再次從所述待讀取的文件中讀取所述預定長度的內容放置在所述多個緩存塊中,直到所述待讀取的文件被處理完成;
其中,所述裝置還包括:
第一拆分模塊,用于通過一個讀取節點對待讀取的文件進行拆分;
第一分發模塊,用于通過所述讀取節點將拆分之后的文件分發到所述多個節點中的至少一個節點對應的緩存塊中以進行處理;
其中,所述第一拆分模塊包括:
確定模塊,用于確定對所述待讀取文件進行拆分的拆分點;
判斷模塊,用于判斷根據所述拆分點拆分得到的部分在結束處或者開始處是否包括不完整的內容;
移動模塊,用于在包括不完整的內容的情況下,移動所述拆分點,使拆分得到的部分包括的內容完整。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海泓智信息科技有限公司,未經上海泓智信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611041059.0/1.html,轉載請聲明來源鉆瓜專利網。





