[發(fā)明專利]組裝文件的方法及裝置在審
| 申請?zhí)枺?/td> | 201610165240.6 | 申請日: | 2016-03-22 |
| 公開(公告)號: | CN107220254A | 公開(公告)日: | 2017-09-29 |
| 發(fā)明(設計)人: | 羅揚 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京弘權知識產(chǎn)權代理事務所(普通合伙)11363 | 代理人: | 逯長明,許偉群 |
| 地址: | 開曼群島*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 組裝 文件 方法 裝置 | ||
技術領域
本發(fā)明涉及計算機技術領域,尤其涉及一種組裝文件的方法及裝置。
背景技術
當前,企業(yè)的信息系統(tǒng)的數(shù)據(jù)庫中一般會存儲的大量的業(yè)務數(shù)據(jù),很多情況下,需要將這些業(yè)務數(shù)據(jù)組裝成文件以供工作人員瀏覽或者傳輸給其他系統(tǒng)。例如在網(wǎng)商的系統(tǒng)中的數(shù)據(jù)庫中存儲了一些銀行的業(yè)務數(shù)據(jù),需要定期將這些業(yè)務數(shù)據(jù)組裝成對賬文件供工作人員瀏覽并進行對賬分析。
其中,當需要將大量的數(shù)據(jù)組裝成文件時,首先需要從數(shù)據(jù)庫中依次讀取該大量的數(shù)據(jù)中的每一條數(shù)據(jù),然后將讀取的所有數(shù)據(jù)組裝成文件。
然而,發(fā)明人發(fā)現(xiàn):首先,從數(shù)據(jù)庫中依次讀取該大量的數(shù)據(jù)中的每一條數(shù)據(jù)所需花費的時間較多,這樣會降低組裝文件的效率。其次,在從數(shù)據(jù)庫中依次讀取該大量的數(shù)據(jù)中的每一條數(shù)據(jù)的過程中,如果出現(xiàn)未成功讀取到某一條數(shù)據(jù)的情況或出現(xiàn)某一數(shù)據(jù)組裝失敗的情況,則已經(jīng)讀取到的所有數(shù)據(jù)均作廢且已經(jīng)組裝的所有數(shù)據(jù)也均已作廢,需要重新執(zhí)行從數(shù)據(jù)庫中依次讀取該大量的數(shù)據(jù)中的每一條數(shù)據(jù)的流程;這樣就會耗費較多的時間,同樣會降低組裝文件的效率。
發(fā)明內(nèi)容
為克服相關技術中存在的問題,本發(fā)明提供一種組裝文件的方法及裝置。
根據(jù)本發(fā)明實施例的第一方面,提供一種組裝文件的方法,所述方法包括:
當需要將數(shù)據(jù)標識集合中的每一個數(shù)據(jù)標識對應的數(shù)據(jù)組裝成目標文件時,將所述數(shù)據(jù)標識集合拆分為多個數(shù)據(jù)標識子集合;任意兩個數(shù)據(jù)標識子集合中的數(shù)據(jù)標識不重合;
同時分別獲取每一個數(shù)據(jù)標識子集合中的數(shù)據(jù)標識對應的數(shù)據(jù),并將每一個數(shù)據(jù)標識子集合中的數(shù)據(jù)標識對應的數(shù)據(jù)分別組裝成一個子文件;
將組裝得到的所有子文件進行合并得到目標文件。
其中,所述同時分別獲取每一個數(shù)據(jù)標識子集合中的數(shù)據(jù)標識對應的數(shù)據(jù),包括;
獲取目標數(shù)量個工作線程;目標數(shù)量與所述多個數(shù)據(jù)標識子集合的數(shù)量相同;
為每一個數(shù)據(jù)標識子集合分別生成數(shù)據(jù)獲取任務;
分別為每一個工作線程分配一個數(shù)據(jù)獲取任務;為不同的工作線程分配的數(shù)據(jù)獲取任務不同;
同時利用每一個工作線程執(zhí)行為其分配的數(shù)據(jù)獲取任務。
其中,所述獲取目標數(shù)量個工作線程,包括:
從與本地相連的預設服務器群組中選擇目標數(shù)量個服務器;從選擇出的每一個服務器中分別獲取一個空閑的工作線程,得到目標數(shù)量個工作線程;
或者,
從本地獲取目標數(shù)量個空閑的工作線程。
其中,所述將每一個數(shù)據(jù)標識子集合中的數(shù)據(jù)標識對應的數(shù)據(jù)分別組裝成一個子文件,包括:
對于每一個數(shù)據(jù)標識子集合,生成一個空子文件,并將獲取的所述數(shù)據(jù)標識子集合中的所有數(shù)據(jù)標識對應的數(shù)據(jù)依次填入生成的空子文件中,得到一個子文件。
其中,所述將組裝得到的所有子文件進行合并得到目標文件,包括:
檢測組裝得到的子文件的數(shù)量是否等于目標數(shù)量;
當組裝得到的子文件的數(shù)量等于目標數(shù)量時,生成一個空文件;
將組裝得到的每一個子文件分別填入所述空文件中,得到目標文件。
進一步地,所述方法還包括:
當所述目標文件中的數(shù)據(jù)為多個時,在所述目標文件中,將任意相鄰的數(shù)據(jù)之間利用預設分隔符進行分隔。
根據(jù)本發(fā)明實施例的第二方面,提供一種組裝文件的裝置,所述裝置包括:
拆分模塊,用于當需要將數(shù)據(jù)標識集合中的每一個數(shù)據(jù)標識對應的數(shù)據(jù)組裝成目標文件時,將所述數(shù)據(jù)標識集合拆分為多個數(shù)據(jù)標識子集合;任意兩個數(shù)據(jù)標識子集合中的數(shù)據(jù)標識不重合;
獲取模塊,用于同時分別獲取每一個數(shù)據(jù)標識子集合中的數(shù)據(jù)標識對應的數(shù)據(jù);
組裝模塊,用于將每一個數(shù)據(jù)標識子集合中的數(shù)據(jù)標識對應的數(shù)據(jù)分別組裝成一個子文件;
合并模塊,用于將組裝得到的所有子文件進行合并得到目標文件。
其中,所述獲取模塊包括;
獲取單元,用于獲取目標數(shù)量個工作線程;目標數(shù)量與所述多個數(shù)據(jù)標識子集合的數(shù)量相同;
第一生成單元,用于為每一個數(shù)據(jù)標識子集合分別生成數(shù)據(jù)獲取任務;
分配單元,用于分別為每一個工作線程分配一個數(shù)據(jù)獲取任務;為不同的工作線程分配的數(shù)據(jù)獲取任務不同;
執(zhí)行單元,用于同時利用每一個工作線程執(zhí)行為其分配的數(shù)據(jù)獲取任務。
其中,所述獲取單元包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經(jīng)阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610165240.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





