[發(fā)明專利]一種數(shù)據(jù)傳輸方法及傳輸裝置在審
| 申請?zhí)枺?/td> | 201711084194.8 | 申請日: | 2017-11-07 |
| 公開(公告)號: | CN107861885A | 公開(公告)日: | 2018-03-30 |
| 發(fā)明(設(shè)計)人: | 方建勛 | 申請(專利權(quán))人: | 浪潮軟件股份有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02;G06F9/50 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司37100 | 代理人: | 李世喆 |
| 地址: | 250100 山東*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù)傳輸 方法 傳輸 裝置 | ||
1.一種數(shù)據(jù)傳輸方法,其特征在于,包括:
預(yù)先獲取至少一個逗號分隔值CSV文件;
接收外部輸入的導(dǎo)出指令;
根據(jù)所述導(dǎo)出指令,從所述至少一個CSV文件中確定出待導(dǎo)出CSV文件;
確定所述待導(dǎo)出CSV文件中的數(shù)據(jù)量;
根據(jù)所述數(shù)據(jù)量,將所述待導(dǎo)出CSV文件拆分為至少兩個數(shù)據(jù)塊;
依次將每一個所述數(shù)據(jù)塊映射到內(nèi)存中;
依次對映射在內(nèi)存中的所述數(shù)據(jù)塊進(jìn)行處理;
根據(jù)所述導(dǎo)出指令,將處理后所產(chǎn)生的待導(dǎo)出數(shù)據(jù)發(fā)送給指定目標(biāo)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,
所述依次將每一個所述數(shù)據(jù)塊映射到內(nèi)存中,包括:
分別確定每一個所述數(shù)據(jù)塊對應(yīng)的映射順序,并將所述映射順序中的第一個所述數(shù)據(jù)塊作為當(dāng)前數(shù)據(jù)塊;
根據(jù)所述映射順序,將所述當(dāng)前數(shù)據(jù)塊映射到內(nèi)存中;
所述依次對映射在內(nèi)存中的所述數(shù)據(jù)塊進(jìn)行處理,包括:
獲取映射在內(nèi)存中的所述當(dāng)前數(shù)據(jù)塊對應(yīng)的內(nèi)存地址;
根據(jù)所述內(nèi)存地址,獲取所述當(dāng)前數(shù)據(jù)塊中的內(nèi)容;
解析獲取的所述當(dāng)前數(shù)據(jù)塊中的內(nèi)容;
根據(jù)所述映射順序,確定是否存在未獲取的所述數(shù)據(jù)塊;
如果是,根據(jù)所述映射順序,將所述當(dāng)前數(shù)據(jù)塊的下一個數(shù)據(jù)塊作為當(dāng)前數(shù)據(jù)塊,執(zhí)行將所述當(dāng)前數(shù)據(jù)塊對應(yīng)的當(dāng)前地址映射到內(nèi)存中。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,
在所述解析獲取的所述當(dāng)前數(shù)據(jù)塊之前,進(jìn)一步包括:
設(shè)置字段緩存、行緩存和多行緩存;
所述解析獲取的所述當(dāng)前數(shù)據(jù)塊中的內(nèi)容,包括:
S0:確定獲取所述當(dāng)前數(shù)據(jù)塊中每一個字符的字符順序,并將所述字符順序中第一個字符作為當(dāng)前字符;
S1:確定獲取的所述當(dāng)前字符是否為雙引號中的前引號,如果是,執(zhí)行步驟S2,否則執(zhí)行步驟S3;
S2:根據(jù)所述字符順序,獲取每一個所述字符,在遇到與所述前引號相對應(yīng)的后引號時,將所述前引號與所述后引號內(nèi)由各個所述字符組成的字段加入到所述字段緩存中,并根據(jù)所述字符順序,將所述后引號的下一個字符作為當(dāng)前字符,返回S0;
S3:確定所述當(dāng)前字符是否為分隔符,如果是,執(zhí)行步驟S4,否則,執(zhí)行步驟S5;
S4:將所述字段緩存中,在所述分隔符之前的所述字段加入到所述行緩存中,并根據(jù)所述字符順序,將所述分隔符的下一個所述字符作為當(dāng)前字符,返回S0;
S5:確定所述當(dāng)前字符是否為換行符,如果是,執(zhí)行步驟S6,否則,執(zhí)行步驟S7;
S6:將所述行緩存中,在所述換行符之前由各個所述字段組成的當(dāng)前數(shù)據(jù)行加入到所述多行緩存中,根據(jù)所述字符順序,將所述換行符的下一個所述字符作為當(dāng)前字符,返回S0;
S7:將所述當(dāng)前字符加入到所述字段緩存中,根據(jù)所述字符順序,將所述當(dāng)前字符的下一個所述字符作為當(dāng)前字符,返回S0。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,
在所述換行符之前由各個所述字段組成的當(dāng)前數(shù)據(jù)行加入到所述多行緩存中之后,進(jìn)一步包括:
確定所述當(dāng)前數(shù)據(jù)行是否為所述待導(dǎo)出CSV文件中的第一行;
如果不是,判斷所述當(dāng)前數(shù)據(jù)行與所述當(dāng)前數(shù)據(jù)行的上一個數(shù)據(jù)行的列式是否一致;
如果不一致,則停止解析當(dāng)前數(shù)據(jù)塊。
5.根據(jù)權(quán)利要求1至4中任一所述的方法,其特征在于,
在所述依次對映射在內(nèi)存中的所述數(shù)據(jù)塊進(jìn)行處理之后,在所述將處理后所產(chǎn)生的待導(dǎo)出數(shù)據(jù)發(fā)送給指定目標(biāo)之前,進(jìn)一步包括:
確定所述待導(dǎo)出數(shù)據(jù)是否達(dá)到預(yù)設(shè)發(fā)送值;
如果是,觸發(fā)生成輕量級的數(shù)據(jù)交換格式JSON文件;
將生成的所述JSON文件發(fā)送給指定目標(biāo)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮軟件股份有限公司,未經(jīng)浪潮軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711084194.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種并發(fā)數(shù)據(jù)傳輸控制方法、裝置及終端
- 數(shù)據(jù)傳輸處理方法和數(shù)據(jù)傳輸器
- 一種數(shù)據(jù)傳輸方法及裝置
- 數(shù)據(jù)傳輸方法、裝置及設(shè)備
- 一種數(shù)據(jù)傳輸終端、方法及系統(tǒng)
- 一種物聯(lián)網(wǎng)數(shù)據(jù)傳輸方式的選擇方法和裝置
- 數(shù)據(jù)傳輸方法、數(shù)據(jù)傳輸裝置及計算機(jī)可讀存儲介質(zhì)
- 一種基于電價的非實(shí)時數(shù)據(jù)傳輸調(diào)度方法
- 基于云計算的數(shù)據(jù)傳輸處理方法、裝置及系統(tǒng)
- 一種數(shù)據(jù)處理方法、裝置及存儲介質(zhì)





