新四季網

一種伺服器及數據導出方法與流程

2023-08-09 23:24:01 2


本發明涉及通信領域,更具體地說,涉及一種伺服器及數據導出方法。



背景技術:

在網頁管理系統中,導出數據到數據表格是個高頻功能。爪哇平臺中湧現了多種導出框架,廣泛應用在導出功能中,現有的導出框架能將少量數據導出。現有數據格式一般採用辦公公開可擴展語音(officeopenextensiblemarkuplanguage,ooxml)格式,其中,ooxml格式是微軟公司開發的技術規範,現已成為國際文檔格式標準格式。採用ooxml格式的表格可以存儲到1048576條數據,存儲量超過百萬。但是目前的數據導出框架,沒有考慮海量數據的導出場景,只能一次性讀取少量數據,然後導出到指定的文件中。如果從資料庫一次性讀取百萬級以上數據,伺服器需要很大的內存才能存儲百萬級以上數據,存儲數據的內存過多會導致伺服器存在很高的宕機風險,無法將大量數據快速導出。



技術實現要素:

鑑於此,本發明提供了一種伺服器及數據導出方法,所述伺服器及數據導出方法能快速導出大量數據,提高數據的導出效率。

本發明提供一種伺服器,所述伺服器包括:

查詢模塊,用於根據導出條件查詢所有待導出的數據,並計算所述所有待導出數據的數量;

劃分模塊,用於將所述所有待導出數據劃分為多個數據分頁;

導出模塊,用於將當前所述數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中。

可選地,所述劃分模塊包括:

計算模塊,用於根據每個數據分頁的數據量和所述所有待導出的數據計算出待分頁的分頁數目;

生成模塊,用於根據所述分頁數目將所述所有待導出的數據劃分為對應的數據分頁。

可選地,所述伺服器包括:

判斷模塊,用於判斷當前所述數據分頁是否為最後一個的數據分頁;

應用模塊,用於噹噹前數據分頁不為最後一個的數據分頁時,清空所述當前數據分頁所佔的內存,將所述當前數據分頁對應的下一個所述數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空,其中,所述數據分頁中的一條數據對應所述預設數據文件中的一個數據行節點。

可選地,所述查詢模塊,還用於根據瀏覽器客戶端輸入的導出條件確定百萬級以及百萬級以上的待導出的數據;

所述劃分模塊,還用於根據所述百萬級以及百萬級以上的待導出的數據以及每個數據分頁的數據量計算出待分頁的分頁數目,根據所述分頁數目將所述所有待導出的數據劃分為對應的數據分頁;

所述導出模塊,還用於依次將每個所述數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空,其中,所述數據分頁中的每條數據對應所述預設數據文件中的一個數據行節點。

可選地,所述伺服器還包括:

檢測模塊,用於檢測內存中存儲的數據是否達到預設數目;

所述導出模塊,還用於當內存中存儲的數據達到預設數目時,將所述內存中存儲的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空,其中,所述內存中存儲的每條數據對應所述預設數據文件中的一個數據行節點。

本發明還提供了一種數據導出方法,所述數據導出方法包括:

根據導出條件查詢所有待導出的數據,並計算所述所有待導出數據的數量;

將所述所有待導出數據劃分為多個數據分頁;

將當前所述數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中。

可選地,所述將所述所有待導出數據劃分為多個數據分頁,包括:

根據每個數據分頁的數據量和所述所有待導出的數據計算出待分頁的分頁數目;

根據所述分頁數目將所述所有待導出的數據劃分為對應的數據分頁。

可選地,所述將當前所述數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中之後,所述方法還包括:

判斷當前所述數據分頁是否為最後一個的數據分頁;

噹噹前數據分頁不為最後一個的數據分頁時,清空所述當前數據分頁所佔的內存;

將所述當前數據分頁對應的下一個所述數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空,其中,所述數據分頁中的一條數據對應所述預設數據文件中的一個數據行節點。

可選地,所述根據導出條件查詢所有待導出的數據之前或之後,所述方法還包括:

根據瀏覽器客戶端輸入的導出條件確定百萬級以及百萬級以上的待導出的數據;

根據所述百萬級以及百萬級以上的待導出的數據以及每個數據分頁的數據量計算出待分頁的分頁數目;

根據所述分頁數目將所述所有待導出的數據劃分為對應的數據分頁;

依次將每個所述數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空,其中,所述數據分頁中的每條數據對應所述預設數據文件中的一個數據行節點。

可選地,所述根據導出條件查詢所有待導出的數據之前或之後,所述方法還包括:

檢測內存中存儲的數據是否達到預設數目;

當內存中存儲的數據達到預設數目時,將所述內存中存儲的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空,其中,所述內存中存儲的每條數據對應所述預設數據文件中的一個數據行節點。

本發明提供的伺服器及數據導出方法能根據導出條件查詢所有待導出的數據,並計算所述所有待導出數據的數量,將所述所有待導出數據劃分為多個數據分頁,當前所述數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,這樣,能將需要導出的大量數據進行分頁處理得到數據分頁,依次導出數據分頁的數據,並清除內存中的數據,能將快速導出大量數據,提高數據的導出效率。

附圖說明

圖1是實現本發明各個實施例伺服器導出數據的應用環境圖;

圖2是本發明實施例一伺服器的功能模塊圖;

圖3是本發明實施例二伺服器的功能模塊圖;

圖4是本發明實施例三伺服器的功能模塊圖;

圖5是本發明實施例四伺服器的功能模塊圖;

圖6是本發明實施例五數據導出方法的流程圖;

圖7是本發明實施例六數據導出方法的流程圖;

圖8是本發明實施例七數據導出方法的流程圖;

圖9是本發明實施例八數據導出方法的流程圖。

本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。

具體實施方式

應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。

現在將參考附圖描述實現本發明各個實施例一可選的伺服器。在後續的描述中,使用用於表示元件的諸如「模塊」、「部件」或「單元」的後綴僅為了有利於本發明的說明,其本身並沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。

伺服器可以以各種形式來實施。例如,本發明中描述的伺服器可以包括諸如大型伺服器、小型伺服器。

圖1為實現本發明各個實施例伺服器所在的應用環境示意圖。圖1中包括伺服器10、終端270、筆記本271,其中,伺服器10分別與終端270、筆記本271進行通信,伺服器10中存儲大量數據,大量數據包括:應用數據、資料庫、日誌、其他數據源的數據。

終端270、筆記本271可以向伺服器10請求導出數據,伺服器10可以接受終端270、筆記本271的請求,將數據導出至終端270、筆記本271。

補充說明的是,請求伺服器10導出的設備可以為其他請求導出數據的裝置,在此僅僅示意性畫出兩個,在本實施例中對請求導出數據的裝置不做限制。

伺服器10可以包括,但不限於,存儲器、控制器、無線通信單元、輸入單元、輸入單元、接口單元及電源單元。但是應當理解的是,並不要求實施所有組件。可以替代地實施更多或更少的組件。將在下面詳細描述伺服器10的元件。

無線通信單元通常包括一個或多個組件,其允許伺服器10與無線通信系統或網絡之間的無線點通信。例如,無線通信單元可以包括廣播生成模塊、移動通信模塊、無線網際網路模塊、短程通信模塊和位置消息模塊中的至少一個。

廣播生成模塊經由廣播信道從外部廣播管理伺服器接收廣播信號和/或廣播相關消息。廣播信道可以包括衛星信道和/或地面信道。廣播管理伺服器可以是生成並發送廣播信號和/或廣播相關消息的伺服器或者接收之前生成的廣播信號和/或廣播相關消息並且將其發送給終端的伺服器。廣播信號可以包括tv廣播信號、無線電廣播信號、數據廣播信號等等。而且,廣播信號可以進一步包括與tv或無線電廣播信號組合的廣播信號。廣播相關消息也可以經由移動通信網絡提供,並且在該情況下,廣播相關消息可以由移動通信模塊來接收。廣播信號可以以各種形式存在,例如,其可以以數字多媒體廣播(dmb)的電子節目指南(epg)、數字視頻或音頻廣播手持(dvb-h)的電子服務指南(esg)等等的形式而存在。廣播生成模塊可以通過使用各種類型的廣播系統接收信號廣播。特別地,廣播生成模塊可以通過使用諸如多媒體廣播-地面(dmb-t)、數字多媒體廣播-衛星(dmb-s)、數字視頻或音頻廣播-手持(dvb-h),前向鏈路媒體(mediaflo@)的數據廣播系統、地面數字廣播綜合服務(isdb-t)等等的數字廣播系統接收數字廣播。廣播生成模塊可以被構造為適合提供廣播信號的各種廣播系統以及上述數字廣播系統。經由廣播生成模塊接收的廣播信號和/或廣播相關消息可以存儲在存儲器或者其它類型的存儲介質中。

移動通信模塊將無線電信號發送到基站(例如,接入點、節點b等等)、外部終端以及伺服器中的至少一個和/或從其接收無線電信號。這樣的無線電信號可以包括語言通話信號、視頻或音頻通話信號、或者根據文本和/或多媒體消息發送和/或接收的各種類型的數據。

無線網際網路模塊支持伺服器的無線網際網路接入。該模塊可以內部或外部地耦接到終端。該模塊所涉及的無線網際網路接入技術可以包括wlan(無線lan)(wi-fi)、wibro(無線寬帶)、wimax(全球微波互聯接入)、hsdpa(高速下行鏈路分組接入)等等。

短程通信模塊是用於支持短程通信的模塊。短程通信技術的一些示例包括藍牙tm、射頻識別(rfid)、紅外數據協會(irda)、超寬帶(uwb)、紫蜂tm等等。

位置消息模塊是用於檢查或獲取伺服器的位置消息的模塊。位置消息模塊的典型示例是gps(全球定位系統)。根據當前的技術,gps模塊計算來自三個或更多衛星的距離消息和準確的時間消息並且對於計算的消息應用三角測量法,從而根據經度、緯度和高度準確地計算三維當前位置消息。當前,用於計算位置和時間消息的方法使用三顆衛星並且通過使用另外的一顆衛星校正計算出的位置和時間消息的誤差。此外,gps模塊能夠通過實時地連續計算當前位置消息來計算速度消息。

輸出單元被構造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻或音頻信號、警報信號、振動信號等等)。輸出單元可以包括顯示單元、音頻輸出模塊、警報單元等等。

顯示單元可以顯示在伺服器10中處理的消息。例如,當伺服器10處於工作模式時,顯示單元可以顯示例如,文本消息收發、多媒體文件下載等等相關的用戶界面(ui)或圖形用戶界面(gui)。當伺服器10處於視頻或音頻通話模式或者圖像捕獲模式時,顯示單元可以顯示捕獲的圖像和/或接收的圖像、示出視頻或音頻或圖像以及相關功能的ui或gui等等。

同時,當顯示單元和觸摸板以層的形式彼此疊加以形成觸控螢幕時,顯示單元可以用作輸入裝置和輸出裝置。顯示單元可以包括液晶顯示器(lcd)、薄膜電晶體lcd(tft-lcd)、有機發光二極體(oled)顯示器、柔性顯示器、三維(3d)顯示器等等中的至少一種。這些顯示器中的一些可以被構造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為toled(透明有機發光二極體)顯示器等等。根據特定想要的實施方式,伺服器10可以包括兩個或更多顯示單元(或其它顯示裝置),例如,伺服器可以包括外部顯示單元(未示出)和內部顯示單元(未示出)。觸控螢幕可用於檢測觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。

音頻輸出模塊可以在伺服器處於記錄模式、語言識別模式、廣播接收模式等等模式下時,將無線通信單元接收的或者在存儲器中存儲的音頻數據轉換音頻信號並且輸出為聲音。而且,音頻輸出模塊可以提供與伺服器10執行的特定功能相關的音頻輸出(例如,呼叫信號接收聲音、消息接收聲音等等)。音頻輸出模塊可以包括揚聲器、蜂鳴器等等。

警報單元可以提供輸出以將事件的發生通知給伺服器10。典型的事件可以包括呼叫接收、消息接收、鍵信號輸入、觸摸輸入等等。除了音頻或視頻或音頻輸出之外,警報單元可以以不同的方式提供輸出以通知事件的發生。例如,警報單元可以以振動的形式提供輸出,當接收到呼叫、消息或一些其它進入通信(incomingcommunication)時,警報單元可以提供觸覺輸出(即,振動)以將其通知給用戶。通過提供這樣的觸覺輸出,即使在用戶的行動電話處於用戶的口袋中時,用戶也能夠識別出各種事件的發生。警報單元也可以經由顯示單元或音頻輸出模塊提供通知事件的發生的輸出。

輸入單元可以根據用戶輸入的命令生成鍵輸入數據以控制伺服器的各種操作。輸入單元允許用戶輸入各種類型的消息,並且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由於被接觸而導致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖杆等等。特別地,當觸摸板以層的形式疊加在顯示單元上時,可以形成觸控螢幕。在本發明的實施例中,所述輸入單元包括觸控屏及水墨屏。

接口單元用作至少一個外部裝置與伺服器10連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機埠、外部電源(或電池充電器)埠、有線或無線數據埠、存儲卡埠、用於連接具有識別模塊的裝置的埠、音頻輸入/輸出(i/o)埠、視頻或音頻i/o埠、耳機埠等等。識別模塊可以是存儲用於驗證用戶使用伺服器10的各種消息並且可以包括用戶識別模塊(uim)、客戶識別模塊(sim)、通用客戶識別模塊(usim)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以採取智慧卡的形式,因此,識別裝置可以經由埠或其它連接裝置與伺服器10連接。接口單元可以用於接收來自外部裝置的輸入(例如,數據消息、電力等等)並且將接收到的輸入傳輸到伺服器10內的一個或多個元件或者可以用於在伺服器和外部裝置之間傳輸數據。

另外,當伺服器10與外部底座連接時,接口單元可以用作允許通過其將電力從底座提供到伺服器10的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸到伺服器的路徑。從底座輸入的各種命令信號或電力可以用作用於識別伺服器是否準確地安裝在底座上的信號。

存儲器可以存儲由控制器執行的處理和控制操作的軟體程序等等,或者可以暫時地存儲己經輸出或將要輸出的數據(例如,電話簿、消息、靜態圖像、視頻或音頻等等)。而且,存儲器可以存儲關於當觸摸施加到觸控螢幕時輸出的各種方式的振動和音頻信號的數據。

存儲器可以包括至少一種類型的存儲介質,所述存儲介質包括快閃記憶體、硬碟、多媒體卡、卡型存儲器(例如,sd或dx存儲器等等)、隨機訪問存儲器(ram)、靜態隨機訪問存儲器(sram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、可編程只讀存儲器(prom)、磁性存儲器、磁碟、光碟等等。而且,伺服器10可以與通過網絡連接執行存儲器的存儲功能的網絡存儲裝置協作。

控制器通常控制伺服器的總體操作。例如,控制器執行與語言通話、數據通信、視頻或音頻通話等等相關的控制和處理。另外,控制器可以包括用於再現(或回放)多媒體數據的多媒體模塊,多媒體模塊可以構造在控制器內,或者可以構造為與控制器分離。控制器可以執行模式識別處理,以將在觸控螢幕上執行的手寫輸入或者圖片繪製輸入識別為字符或圖像。

電源單元在控制器的控制下接收外部電力或內部電力並且提供操作各元件和組件所需的適當的電力。

這裡描述的各種實施方式可以以使用例如計算機軟體、硬體或其任何組合的計算機可讀介質來實施。對於硬體實施,這裡描述的實施方式可以通過使用特定用途集成電路(asic)、數位訊號處理器(dsp)、數位訊號處理裝置(dspd)、可編程邏輯裝置(pld)、現場可編程門陣列(fpga)、處理器、控制器、微控制器、微處理器、被設計為執行這裡描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器中實施。對於軟體實施,諸如過程或功能的實施方式可以與允許執行至少一種功能或操作的單獨的軟體模塊來實施。軟體代碼可以由以任何適當的程式語言編寫的軟體應用程式(或程序)來實施,軟體代碼可以存儲在存儲器中並且由控制器執行。

基於上述伺服器硬體結構,提出本發明方法各個實施例。

基於上述伺服器硬體結構以及通信系統,提出本發明方法各個實施例。

請參閱圖2,圖2是本發明實施例一伺服器的功能模塊圖。圖2所示的伺服器10包括查詢模塊101、劃分模塊102、導出模塊103。下面對功能模塊進行詳細說明。

伺服器10的查詢模塊101根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量。伺服器10的劃分模塊102將所有待導出數據劃分為多個數據分頁。伺服器10的導出模塊103將當前數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。

舉例來說,導出條件是全省年齡在15歲至18歲的青少年資料,伺服器10的查詢模塊101根據導出條件查詢全省所有年齡在15歲至18歲的青少年資料,假設計算出全省年齡在15歲至18歲的青少年資料有100萬條。假設每個數據分頁中存儲的數據有1000條,伺服器10的劃分模塊102將100萬待導出數據劃分為1000個數據分頁,每個數據分頁中包括1000條數據。伺服器10的導出模塊103依次導出1000個數據分頁,具體來說,將將第一個數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。將第1個數據分頁導出後,將第一個數據分頁所佔內存清空。然後,依次導出第2個數據分頁,並將第2個數據分頁所佔內存清空。直至導出第1000個數據分頁,將第100個數據分頁所佔內存清空。

補充說明的是,所有待導出數據的數量可以是百萬級的數量,通過數據分頁將大量的數據劃分為適合導出的多個分頁數據,在導出過程中,通過依次將多個數據分頁導出,實現導出所有待導出數據的操作。進一步說明的是,預設數據文件為用戶選擇或者系統默認格式的文件,舉例來說,預設格式文件可以為微軟公司的excel文件。在微軟公司的excel2007及以上版本中,採用辦公公開標記語言(officeopenextensiblemarkuplanguage,ooxml),其中,ooxml微軟公司為office2007開發的技術規範,現已成為國際文檔格式標準,ooxml表格可以存儲到1048576條數據,存儲量超過百萬。

本實施例提供的伺服器能根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量,將所有待導出數據劃分為多個數據分頁,將當前數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。這樣,伺服器能將大量待導出數據劃分為數據分頁,通過依次導出數據分頁實現大量數據的快速導出,提高導出大量數據的效率。

請參閱圖3,圖3是本發明實施例二伺服器的功能模塊圖。圖3所示的伺服器10包括查詢模塊101、劃分模塊102、導出模塊103。其中,劃分模塊102包括計算模塊1021、生成模塊1022。下面對功能模塊進行詳細說明。

伺服器10的查詢模塊101根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量。伺服器10的劃分模塊102將所有待導出數據劃分為多個數據分頁。伺服器10的導出模塊103將當前數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。

具體來說,劃分模塊包括計算模塊1021、生成模塊1022。計算模塊1021根據每個數據分頁的數據量和所有待導出的數據計算出待分頁的分頁數目。生成模塊1022根據分頁數目將所有待導出的數據劃分為對應的數據分頁。

補充說明的是,所有待導出數據的數量可以是百萬級的數量,通過數據分頁將大量的數據劃分為適合導出的多個分頁數據,在導出過程中,通過依次將多個數據分頁導出,實現導出所有待導出數據的操作。進一步說明的是,預設數據文件為用戶選擇或者系統默認格式的文件,舉例來說,預設格式文件可以為微軟公司的excel文件。

舉例來說,導出條件是全省年齡在15歲至18歲的青少年資料,伺服器10的查詢模塊101根據導出條件查詢全省所有年齡在15歲至18歲的青少年資料,假設計算出全省年齡在15歲至18歲的青少年資料有100萬條。假設每個數據分頁中存儲的數據有1000條,伺服器10的計算模塊1021根據每個數據分頁的數據量為1000個數據、和所有待導出的數據為100萬個數據,計算出待分頁的分頁數目為1000個。生成模塊1022根據分頁數目為1000個,將所有待導出的100萬數據劃分為1000個數據分頁。伺服器10的導出模塊103依次導出1000個數據分頁,具體來說,將將第一個數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。將第1個數據分頁導出後,將第一個數據分頁所佔內存清空。然後,依次導出第2個數據分頁,並將第2個數據分頁所佔內存清空。直至導出第1000個數據分頁,將第100個數據分頁所佔內存清空。

本實施例提供的伺服器能根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量,將所有待導出數據劃分為多個數據分頁,將當前數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,並持久化到預設數據文件中。這樣,伺服器能將大量待導出數據劃分為數據分頁,通過依次導出數據分頁實現大量數據的快速導出,提高導出大量數據的效率。

請參閱圖4,圖4是本發明實施例三伺服器的功能模塊圖。圖4所示的伺服器10包括查詢模塊101、劃分模塊102、導出模塊103、判斷模塊104、應用模塊105、檢測模塊106。其中,劃分模塊102包括計算模塊1021、生成模塊1022。下面對功能模塊進行詳細說明。

伺服器10的查詢模塊101根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量。伺服器10的劃分模塊102將所有待導出數據劃分為多個數據分頁。伺服器10的導出模塊103將當前數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。

具體來說,劃分模塊包括計算模塊1021、生成模塊1022。計算模塊1021根據每個數據分頁的數據量和所有待導出的數據計算出待分頁的分頁數目。生成模塊1022根據分頁數目將所有待導出的數據劃分為對應的數據分頁。

補充說明的是,判斷模塊104判斷當前數據分頁是否為最後一個的數據分頁。噹噹前數據分頁不為最後一個的數據分頁時,應用模塊105清空當前數據分頁所佔的內存,將當前數據分頁對應的下一個數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空。噹噹前數據分頁為最後一個的數據分頁時,伺服器10的查詢模塊101重新根據下一個導出條件查詢所有待導出的數據,並計算所有待導出數據的數量。

進一步補充說明的是,查詢模塊101根據瀏覽器客戶端輸入的導出條件確定百萬級以及百萬級以上的待導出的數據。劃分模塊102根據百萬級以及百萬級以上的待導出的數據以及數據分頁的數據量計算出待分頁的分頁的數目,根據分頁數目將所有待導出的數據劃分為對應的數據分頁。導出模塊103依次將每個數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空,其中,數據分頁中的每條數據對應預設數據文件中的一個數據行節點。

另外,檢測模塊106檢測內存中存儲的數據是否達到預設數目,當內存中存儲的數據達到預設數目時,導出模塊103將內存中存儲的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空,其中,內存中存儲的每條數據對應預設數據文件中的一個數據行節點。

補充說明的是,所有待導出數據的數量可以是百萬級的數量,通過數據分頁將大量的數據劃分為適合導出的多個分頁數據,在導出過程中,通過依次將多個數據分頁導出,實現導出所有待導出數據的操作。進一步說明的是,預設數據文件為用戶選擇或者系統默認格式的文件,舉例來說,預設格式文件可以為微軟公司的excel文件。

本實施例提供的伺服器能根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量,將所有待導出數據劃分為多個數據分頁,將當前數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。這樣,伺服器能將大量待導出數據劃分為數據分頁,通過依次導出數據分頁實現大量數據的快速導出,提高導出大量數據的效率。

本發明還提供一種數據導出方法,該方法應用於圖2-4所示的伺服器10,下面對本實施例的數據導出方法進行詳細介紹。

參閱圖5,圖5是本發明實施例四數據導出方法的流程圖。

在步驟s501中,伺服器10的查詢模塊101根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量。

在步驟s502中,伺服器10的劃分模塊102將所有待導出數據劃分為多個數據分頁。

在步驟s503中,伺服器10的導出模塊103將當前數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。

補充說明的是,所有待導出數據的數量可以是百萬級的數量,通過數據分頁將大量的數據劃分為適合導出的多個分頁數據,在導出過程中,通過依次將多個數據分頁導出,實現導出所有待導出數據的操作。進一步說明的是,預設數據文件為用戶選擇或者系統默認格式的文件,舉例來說,預設格式文件可以為微軟公司的excel文件。

舉例來說,導出條件是全省年齡在55歲至60歲的老年人資料,伺服器10的查詢模塊101根據導出條件查詢全省所有年齡在55歲至60歲的老年人資料,假設計算出全省年齡在55歲至60歲的老年人資料有200萬條。假設每個數據分頁中存儲的數據有2000條,伺服器10的劃分模塊102將200萬待導出數據劃分為1000個數據分頁,每個數據分頁中包括2000條數據。伺服器10的導出模塊103依次導出1000個數據分頁,具體來說,將將第一個數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。將第1個數據分頁導出後,將第一個數據分頁所佔內存清空。然後,依次導出第2個數據分頁,並將第2個數據分頁所佔內存清空。直至導出第1000個數據分頁,將第1000個數據分頁所佔內存清空。

本實施例提供的數據導出方法能根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量,將所有待導出數據劃分為多個數據分頁,將當前數據分頁中的每條數據轉化成二進位流。這樣,數據導出方法能將大量待導出數據劃分為數據分頁,通過依次導出數據分頁實現大量數據的快速導出,提高導出大量數據的效率。

參閱圖6,圖6是本發明實施例四數據導出方法的流程圖。該方法應用於圖2-4所示的伺服器10,下面對本實施例的數據導出方法進行詳細介紹。

在步驟s601中,伺服器10的查詢模塊101根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量。

在步驟s602中,計算模塊1021根據每個數據分頁的數據量和所有待導出的數據計算出待分頁的分頁數目。

在步驟s603中,生成模塊1022根據分頁數目將所有待導出的數據劃分為對應的數據分頁。

在步驟s604中,伺服器10的導出模塊103將當前數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。

補充說明的是,所有待導出數據的數量可以是百萬級的數量,通過數據分頁將大量的數據劃分為適合導出的多個分頁數據,在導出過程中,通過依次將多個數據分頁導出,實現導出所有待導出數據的操作。進一步說明的是,預設數據文件為用戶選擇或者系統默認格式的文件,舉例來說,預設格式文件可以為微軟公司的excel文件。

舉例來說,導出條件是全省年齡在25歲至40歲的中年人資料,伺服器10的查詢模塊101根據導出條件查詢全省所有年齡在25歲至40歲的中年人資料,假設計算出全省年齡25歲至40歲的中年人資料有300萬條。假設每個數據分頁中存儲的數據有2000條,伺服器10的計算模塊1021根據每個數據分頁的數據量為2000個數據、和所有待導出的數據為300萬個數據,計算出待分頁的分頁數目為1500個。生成模塊1022根據分頁數目為1500個,將所有待導出的300萬數據劃分為1500個數據分頁。伺服器10的導出模塊103依次導出1500個數據分頁,具體來說,將將第一個數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。將第1個數據分頁導出後,將第一個數據分頁所佔內存清空。然後,依次導出第2個數據分頁,並將第2個數據分頁所佔內存清空。直至導出第1500個數據分頁,將第1500個數據分頁所佔內存清空。

本實施例提供的數據導出方法能根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量,將所有待導出數據劃分為多個數據分頁,將當前數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空。這樣,數據導出方法能將大量待導出數據劃分為數據分頁,通過依次導出數據分頁實現大量數據的快速導出,提高導出大量數據的效率。

參閱圖7,圖7是本發明實施例六數據導出方法的流程圖。該方法應用於圖2-4所示的伺服器10,下面對本實施例的數據導出方法進行詳細介紹。

在步驟s701中,伺服器10的查詢模塊101根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量。

在步驟s702中,伺服器10的劃分模塊102將所有待導出數據劃分為多個數據分頁。

具體來說,步驟s702包括:計算模塊1021根據每個數據分頁的數據量和所有待導出的數據計算出待分頁的分頁數目;生成模塊1022根據分頁數目將所有待導出的數據劃分為對應的數據分頁。

在步驟s703中,伺服器10的導出模塊103將當前數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。

在步驟s704中,判斷模塊104判斷當前數據分頁是否為最後一個的數據分頁。

在步驟s705中,噹噹前數據分頁不為最後一個的數據分頁時,應用模塊105清空當前數據分頁所佔的內存。

在步驟s706中,將當前數據分頁對應的下一個數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。

噹噹前數據分頁為最後一個的數據分頁時,進入步驟s701,伺服器10的查詢模塊101重新根據下一個導出條件查詢所有待導出的數據,並計算所有待導出數據的數量。

舉例來說,導出條件是全省年齡在25歲至40歲的中年人資料,伺服器10的查詢模塊101根據導出條件查詢全省所有年齡在25歲至40歲的中年人資料,假設計算出全省年齡25歲至40歲的中年人資料有300萬條。假設每個數據分頁中存儲的數據有2000條,伺服器10的計算模塊1021根據每個數據分頁的數據量為2000個數據、和所有待導出的數據為300萬個數據,計算出待分頁的分頁數目為1500個。生成模塊1022根據分頁數目為1500個,將所有待導出的300萬數據劃分為1500個數據分頁。伺服器10的導出模塊103依次導出1500個數據分頁,具體來說,將將第一個數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。將第1個數據分頁導出後,將第一個數據分頁所佔內存清空。然後,判斷模塊104判斷當前的第1個數據分頁是否為最後一個的數據分頁,當判斷出當前的第1個數據分頁不為最後一個數據分頁時,導出第2個數據分頁,並將第2個數據分頁所佔內存清空。直至導出第1500個數據分頁,將第1500個數據分頁所佔內存清空,判斷模塊104判斷當前的第1500個數據分頁為最後一個的數據分頁,確定將所有待導出的300萬數據導出完畢。

本實施例提供的數據導出方法能根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量,將所有待導出數據劃分為多個數據分頁,將當前數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空。這樣,數據導出方法能將大量待導出數據劃分為數據分頁,通過依次導出數據分頁實現大量數據的快速導出,提高導出大量數據的效率。

參閱圖8,圖8是本發明實施例七數據導出方法的流程圖。該方法應用於圖2-4所示的伺服器10,下面對本實施例的數據導出方法進行詳細介紹。

在步驟s801中,查詢模塊101根據瀏覽器客戶端輸入的導出條件確定百萬級以及百萬級以上的待導出的數據。

在步驟s802中,劃分模塊102根據百萬級以及百萬級以上的待導出的數據以及數據分頁的數據量計算出待分頁的分頁的數目。

在步驟s803中,根據分頁數目將所有待導出的數據劃分為對應的數據分頁。

在步驟s804中,導出模塊103依次將每個數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空,其中,數據分頁中的每條數據對應預設數據文件中的一個數據行節點。

補充說明的是,所有待導出數據的數量可以是百萬級的數量,通過數據分頁將大量的數據劃分為適合導出的多個分頁數據,在導出過程中,通過依次將多個數據分頁導出,實現導出所有待導出數據的操作。進一步說明的是,預設數據文件為用戶選擇或者系統默認格式的文件,舉例來說,預設格式文件可以為微軟公司的excel文件。

舉例來說,瀏覽器客戶端輸入伺服器10的導出條件是全省年齡在25歲至40歲的中年人資料,伺服器10的查詢模塊101根據導出條件查詢全省所有年齡在25歲至40歲的中年人資料,假設計算出全省年齡25歲至40歲的中年人資料有300萬條。假設每個數據分頁中存儲的數據有2000條,伺服器10的計算模塊1021根據每個數據分頁的數據量為2000個數據、和所有待導出的數據為300萬個數據,計算出待分頁的分頁數目為1500個。生成模塊1022根據分頁數目為1500個,將所有待導出的300萬數據劃分為1500個數據分頁。伺服器10的導出模塊103依次導出1500個數據分頁,具體來說,將將第一個數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,其中,數據分頁中的一條數據對應預設數據文件中的一個數據行節點。將第1個數據分頁導出後,將第一個數據分頁所佔內存清空。然後,依次導出第2個數據分頁,並將第2個數據分頁所佔內存清空。直至導出第1500個數據分頁,將第1500個數據分頁所佔內存清空。

本實施例提供的數據導出方法能根據導出條件查詢所有待導出的數據,並計算所有待導出數據的數量,將所有待導出數據劃分為多個數據分頁,將當前數據分頁中的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空。這樣,服數據導出方法能將大量待導出數據劃分為數據分頁,通過依次導出數據分頁實現大量數據的快速導出,提高導出大量數據的效率。

參閱圖9,圖9是本發明實施例八數據導出方法的流程圖。該方法應用於圖2-4所示的伺服器10,下面對本實施例的數據導出方法進行詳細介紹。

在步驟s901中,檢測模塊106檢測內存中存儲的數據是否達到預設數目。

在步驟s902中,當內存中存儲的數據達到預設數目時,導出模塊103將內存中存儲的每條數據轉化成二進位流,並持久化到預設數據文件中,將已被導出數據所佔的內存清空,其中,內存中存儲的每條數據對應預設數據文件中的一個數據行節點。

本實施例提供的數據導出方法能檢測存儲的數據是否達到了預設數目,當達到預設數目時,導出存儲的數據,將已被導出數據所佔的內存清空,能實時導出大量數據、清空已被導出數據所佔內存空間,實現大量數據的快速導出,提高導出大量數據的效率。

以上僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀