[發明專利]數據報表導出方法、服務器及計算機可讀存儲介質在審
| 申請號: | 201711234418.9 | 申請日: | 2017-11-30 |
| 公開(公告)號: | CN108009142A | 公開(公告)日: | 2018-05-08 |
| 發明(設計)人: | 王高亮 | 申請(專利權)人: | 努比亞技術有限公司 |
| 主分類號: | G06F17/24 | 分類號: | G06F17/24;G06F17/30 |
| 代理公司: | 深圳市凱達知識產權事務所 44256 | 代理人: | 劉大彎;沈榮彬 |
| 地址: | 518057 廣東省深圳市南山區高新區北環大道9018*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據 報表 導出 方法 服務器 計算機 可讀 存儲 介質 | ||
本發明公開了一種數據報表導出方法,該方法包括:每次從待導出的數據中讀取m條數據,同時將總計數器c加1;為所述m條數據分配一個隊列q(i);將所述m條數據寫入所述隊列q(i)進行處理,并將所述隊列q(i)對應的隊列計數器n加1;讀取所述隊列q(i)中處理后的數據,并寫入數據報表。本發明實施例還公開了一種服務器和計算機可讀存儲介質。由此,能夠使用多個隊列協調處理,減少阻塞時間和內存空間占用。
技術領域
本發明涉及數據處理技術領域,尤其涉及一種數據報表導出方法、服務器及計算機可讀存儲介質。
背景技術
Web系統在導出數據到數據報表(Excel)時,傳統方式使用讀取數據、處理數據、寫入報表的流水線流程,在每一步操作時可能都需要等待前一步操作處理完畢。當需要大量數據(例如大于10萬條,且列數比較多)時,很可能由于導出時間過久而讓用戶產生不好的體驗。例如,在處理數據和寫入報表時讀取數據阻塞,在讀取數據時處理數據和寫入報表阻塞,會浪費較多時間。另外,在讀取數據時I/O處于空閑狀態,在寫入報表時CPU處于空閑狀態,也會造成資源浪費。
發明內容
本發明的主要目的在于提出一種數據報表導出方法及對應的服務器,旨在解決在導出至數據報表的數據量比較大時,速率較慢的問題。
為實現上述目的,本發明提供的一種數據報表導出方法,該方法包括步驟:
每次從待導出的數據中讀取m條數據,同時將總計數器c加1;
為所述m條數據分配一個隊列q(i);
將所述m條數據寫入所述隊列q(i)進行處理,并將所述隊列q(i)對應的隊列計數器n加1;及
讀取所述隊列q(i)中處理后的數據,并寫入數據報表。
可選地,該方法在所述從待導出的數據中讀取m條數據的步驟之前還包括步驟:
根據需要導出的數據量設置隊列個數N。
可選地,針對每個所述隊列q(i),所述讀取所述隊列q(i)中處理后的數據,并寫入數據報表的步驟并發進行。
可選地,所述為所述m條數據分配一個隊列q(i)的步驟包括:
根據預設指針和所述隊列的個數N,計算所分配的隊列編號i,將所述m條數據分配至N個隊列中的一個,其中,所述預設指針為i=c%N。
可選地,在所述讀取所述隊列q(i)中處理后的數據,并寫入數據報表的步驟中:
針對所述隊列q(i)中的m條數據,從所述數據報表的第index行開始寫入,其中index=N(n-1)*m+i*m。
可選地,所述根據需要導出的數據量設置隊列個數N的步驟包括:
設置一個或多個數據量閾值;
根據所述數據量閾值得到多個數據量區間;
針對每個數據量區間,設置對應的隊列個數N;
判斷所述需要導出的數據量所處的數據量區間,從而得到對應的隊列個數N。
此外,為實現上述目的,本發明還提出一種服務器,所述服務器包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的數據報表導出程序,所述數據報表導出程序被所述處理器執行時實現如下步驟:
每次從待導出的數據中讀取m條數據,同時將總計數器c加1;
為所述m條數據分配一個隊列q(i);
將所述m條數據寫入所述隊列q(i)進行處理,并將所述隊列q(i)對應的隊列計數器n加1;及
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于努比亞技術有限公司,未經努比亞技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711234418.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種圖像調整的方法和裝置
- 下一篇:一種復合紙的上膠機構
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





