[發明專利]文件拆分的方法、裝置、電子設備及存儲介質有效
| 申請號: | 201910402286.9 | 申請日: | 2019-05-15 |
| 公開(公告)號: | CN110109881B | 公開(公告)日: | 2021-07-30 |
| 發明(設計)人: | 鄢偉飛 | 申請(專利權)人: | 恒生電子股份有限公司 |
| 主分類號: | G06F16/16 | 分類號: | G06F16/16;G06F9/50 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 李慧引;王寶筠 |
| 地址: | 310053 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 文件 拆分 方法 裝置 電子設備 存儲 介質 | ||
本發明提供了一種文件拆分的方法、裝置、電子設備和存儲介質,獲取待拆分的源文件后,根據目標文件的數量和待拆分的源文件的拆分類型將源文件劃分為N個拆分區間,并為拆分區間一一對應的分配N個拆分器,最后觸發每個拆分器,使每個拆分器拆分對應的拆分區間,得到目標文件,其中拆分器是預先創建的線程,或者,預先創建的進程。本發明提供的技術方案中,每個拆分器都只負責拆分對應的拆分區間,因此不同拆分器工作時不會互相干擾,不需要與其他拆分器同步,從而提高文件拆分效率。
技術領域
本發明涉及計算機技術領域,特別涉及一種文件拆分的方法、裝置、電子設備及存儲介質。
背景技術
計算機運行時,由于存儲介質的容量限制和網絡傳輸能力限制等原因,需要對數據量較大的源文件進行拆分,也就是將源文件中的數據分別保存為多個數據量較小的目標文件,以方便存儲或傳輸。
現有的一種文件拆分的方法是,生產者線程讀取源文件中的數據,依次寫入緩存隊列中。在緩存隊列非空時,多個消費者線程依次獲取緩存隊列中的數據并將其寫入目標文件。
現有技術的問題在于,由于多個消費者線程共用一個緩存隊列,因此每個消費者線程不僅要向目標文件寫入數據,還要執行特定的同步程序以實現與其他消費者線程的同步,導致文件拆分效率降低。
發明內容
基于上述現有技術的不足,本發明提出一種文件拆分的方法、裝置、電子設備及存儲介質,以解決現有的文件拆分方法效率較低的問題。
為解決上述問題,現提出的方案如下:
本發明第一方面公開一種文件拆分的方法,包括:
獲取待拆分的源文件;
將所述源文件劃分為N個拆分區間,其中,所述N是根據服務器的硬件資源,目標文件的數量和所述待拆分的源文件的拆分類型確定的正整數,所述服務器的硬件資源包括磁盤類型;
針對所述N個拆分區間中的每一個拆分區間,為該拆分區間指定一個拆分器;其中,所述拆分器用于指代預先創建的拆分線程或拆分進程;
觸發每個所述拆分器,使每個所述拆分器對指定的拆分區間進行拆分,得到目標文件。
可選的,所述觸發每個所述拆分器,使每個所述拆分器對指定的拆分區間進行拆分,得到目標文件之前,還包括:
設置所述拆分器的系統屬性。
可選的,所述待拆分的源文件的類型包括,有序拆分和無序拆分;
所述N是根據服務器的硬件資源,目標文件的數量和所述待拆分的源文件的拆分類型確定的正整數,包括:
若所述待拆分的源文件的拆分類型是無序拆分,則所述N等于目標文件的數量M,所述M是正整數;
若所述待拆分的源文件的拆分類型是有序拆分,則所述N是大于1,且小于或等于預設閾值的正整數。
可選的,所述將所述源文件劃分為N個拆分區間,包括:
創建所述源文件的N個指針;其中,所述N個指針都指向所述源文件的第一個位置,所述源文件的每一個字符對應一個位置,所述位置指代對應字符的存儲地址;
根據所述源文件的字符數和所述拆分區間的數量N確定拆分間隔;
根據所述拆分間隔移動所述N個指針中的N-1個指針,使所述N個指針分別指向所述源文件中N個不同的位置,且任意兩個相鄰的指針指向的位置之間的距離為所述拆分間隔,得到由所述指針分隔的N個拆分區間。
可選的,所述根據所述拆分間隔移動所述N個指針中的N-1個指針之后,還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于恒生電子股份有限公司,未經恒生電子股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201910402286.9/2.html,轉載請聲明來源鉆瓜專利網。





