[發明專利]一種數據傳輸方法及傳輸裝置在審
| 申請號: | 201711084194.8 | 申請日: | 2017-11-07 |
| 公開(公告)號: | CN107861885A | 公開(公告)日: | 2018-03-30 |
| 發明(設計)人: | 方建勛 | 申請(專利權)人: | 浪潮軟件股份有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02;G06F9/50 |
| 代理公司: | 濟南信達專利事務所有限公司37100 | 代理人: | 李世喆 |
| 地址: | 250100 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據傳輸 方法 傳輸 裝置 | ||
技術領域
本發明涉及計算機技術領域,特別涉及一種數據傳輸方法及傳輸裝置。
背景技術
隨著計算機、通信和信息技術的迅速發展和廣泛應用,人類正在進入信息化社會,世界各地的人們通過建立網絡,相互間可以自由而廉價地利用別人的資源,實現相互間不同地域、不同時間的數據共享,而在共享數據時如何快速的傳輸數據已經越來越引起人們的關注。
目前,大多數的數據庫支持將數據導出為逗號分隔值(Comma-Separated Values,CSV)文件,再將導出的CSV文件加載到緩存中進行處理。但是,當CSV文件中的數據量比較大時,會使得應用程序在處理CSV文件中的數據時占用過多的內存,從而導致應用程序處理數據的效率降低。
發明內容
本發明實施例提供了一種數據傳輸方法及傳輸裝置,能夠提高應用程序處理數據的速度。
第一方面,本發明實施例提供了一種數據傳輸方法,包括:
預先獲取至少一個逗號分隔值CSV文件;
接收外部輸入的導出指令;
根據所述導出指令,從所述至少一個CSV文件中確定出待導出CSV文件;
確定所述待導出CSV文件中的數據量;
根據所述數據量,將所述待導出CSV文件拆分為至少兩個數據塊;
依次將每一個所述數據塊映射到內存中;
依次對映射在內存中的所述數據塊進行處理;
根據所述導出指令,將處理后所產生的待導出數據發送給指定目標。
優選地,所述依次將每一個所述數據塊映射到內存中,包括:
分別確定每一個所述數據塊對應的映射順序,并將所述映射順序中的第一個所述數據塊作為當前數據塊;
根據所述映射順序,將所述當前數據塊映射到內存中;
所述依次對映射在內存中的所述數據塊進行處理,包括:
獲取映射在內存中的所述當前數據塊對應的內存地址;
根據所述內存地址,獲取所述當前數據塊中的內容;
解析獲取的所述當前數據塊中的內容;
根據所述映射順序,確定是否存在未獲取的所述數據塊;
如果是,根據所述映射順序,將所述當前數據塊的下一個數據塊作為當前數據塊,執行將所述當前數據塊對應的當前地址映射到內存中。
優選地,在所述解析獲取的所述當前數據塊之前,進一步包括:
設置字段緩存、行緩存和多行緩存;
所述解析獲取的所述當前數據塊中的內容,包括:
S0:確定獲取所述當前數據塊中每一個字符的字符順序,并將所述字符順序中第一個字符作為當前字符;
S1:確定獲取的所述當前字符是否為雙引號中的前引號,如果是,執行步驟S2,否則執行步驟S3;
S2:根據所述字符順序,獲取每一個所述字符,在遇到與所述前引號相對應的后引號時,將所述前引號與所述后引號內由各個所述字符組成的字段加入到所述字段緩存中,并根據所述字符順序,將所述后引號的下一個字符作為當前字符,返回S0;
S3:確定所述當前字符是否為分隔符,如果是,執行步驟S4,否則,執行步驟S5;
S4:將所述字段緩存中,在所述分隔符之前的所述字段加入到所述行緩存中,并根據所述字符順序,將所述分隔符的下一個所述字符作為當前字符,返回S0;
S5:確定所述當前字符是否為換行符,如果是,執行步驟S6,否則,執行步驟S7;
S6:將所述行緩存中,在所述換行符之前由各個所述字段組成的當前數據行加入到所述多行緩存中,根據所述字符順序,將所述換行符的下一個所述字符作為當前字符,返回S0;
S7:將所述當前字符加入到所述字段緩存中,根據所述字符順序,將所述當前字符的下一個所述字符作為當前字符,返回S0。
優選地,在所述換行符之前由各個所述字段組成的當前數據行加入到所述多行緩存中之后,進一步包括:
確定所述當前數據行是否為所述待導出CSV文件中的第一行;
如果不是,判斷所述當前數據行與所述當前數據行的上一個數據行的列式是否一致;
如果不一致,則停止解析當前數據塊。
優選地,在所述依次對映射在內存中的所述數據塊進行處理之后,在所述將處理后所產生的待導出數據發送給指定目標之前,進一步包括:
確定所述待導出數據是否達到預設發送值;
如果是,觸發生成輕量級的數據交換格式JSON文件;
將生成的所述JSON文件發送給指定目標。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮軟件股份有限公司,未經浪潮軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711084194.8/2.html,轉載請聲明來源鉆瓜專利網。





