一種基於安卓平臺的數據處理方法和系統的製作方法
2023-06-15 14:59:31 1
專利名稱:一種基於安卓平臺的數據處理方法和系統的製作方法
技術領域:
本發明涉及數據處理方法和系統,特別地,涉及一種基於安卓平臺的數據處理方法和系統。
背景技術:
在安卓(Android)平臺開發中,經常會涉及報表展示的功能。所謂報表展示,通常指將多個報表中的數據分類匯總,根據一定的版式以報表形式進行展示。為了能夠根據業務需求靈活的對報表的版式進行調整,大多採用WebView+HTML+JavaScript的架構來進行報表展示,具體的實現方法是
1.通過java程序對資料庫進行讀取、分析,將要展示的數據保存在資料庫容器中,並提供可供javascript調用的接口,用於傳遞資料庫容器中的數據;
2.使用WebView加載HTML文件;
3.在HTML文件中加載javascript腳本,由javascript腳本定義數據報表的版式並動態的生成HTML頁面;
4.在javascript腳本中,調用java程序提供的接口,讀取資料庫容器中的數據,動態生成HTML頁面進行顯示。上述報表展示的實現方法,在數據量較小的情況下是可行的,但是對於數據量較大的情況下,比如涉及幾十個表,萬條以上的數據,如果想要一次性的讀取全部數據,並加載到資料庫容器中,對於基於安卓平臺的嵌入式設備而言,會出現如下兩個問題 第一,由於嵌入式設備的CPU計算能力有限,所以,加載大量數據需要花費很多的時間;第二,安卓平臺對每個虛擬機內存容量Heap的大小進行了限制,如在build, prop中有一項參數為davlik. vm. heapsize,這個參數值是由廠商進行配置,例如在三星P1000平板電腦上,davlik. vm. heapsize的值為是48M,因此,當大量數據填充到資料庫容器時,很容易達到Heap的上限,從而引發內存不足(Out of memery),進而導致程序退出。現有技術中,已經有使用分頁機制進行報表展示以解決上述問題,即在每頁僅顯示固定數量的記錄數,以提高展現的速度,並且在切換頁面後,釋放前面頁面佔用的內存。但是,採取該分頁機制存在一個問題,就是在切換頁面時,由於要重新對數據進行分析,計算出要切換的頁面內容,從而導致加載數據的速度很慢。總之,需要本領域技術人員迫切解決的一個技術問題就是如何能夠提高切換頁面時的數據加載速度,並且適於展示大數據量的數據報表,且不會產生內存不足的情況。
發明內容
為了解決上述問題,本發明提供了一種基於安卓平臺的數據處理方法和系統,可提高報表展示時頁面切換的數據加載速度,並且適於展示大數據量的數據報表,且不會產生內存不足的情況,同時通過索引表的方式實現了頁面的快速定位和切換。本發明的基於安卓平臺的數據處理方法,包括如下步驟, 根據設定的展示參數對資料庫中的數據進行分組,獲得各分組中記錄的數量,並對各分組的記錄進行匯總形成總索引表;
根據所述總索引表和設定的加載頁數N形成加載頁索引表,加載頁索引表 中包括的每N頁第一條記錄都對應一個相應的加載頁索引ID,其中N為正整數,且N >
I;
根據所述加載頁索引ID對應的每N頁第一條記錄獲得該第一條記錄所屬的N頁記錄,並將所述N頁記錄加載到資料庫容器中;
讀取資料庫容器中的N頁記錄並對N頁記錄中的部分或全部進行報表展示。優選的,還包括設定每頁加載頁具有相同的記錄數量的步驟。其中,所述展示參數包括日期,報表類型,分組類型,子項數據標識,子項數據類型。優選的,還包括如下步驟在所述加載頁索引表的第一個加載頁索引ID形成的同時,將所述第一個加載頁索引ID所對應的記錄加載到資料庫容器並進行報表展示。本發明還提供一種基於安卓平臺的數據處理系統,包括,
總索引表生成單元,用於根據設定的展示參數對資料庫中的數據進行分組,獲得各分組中記錄的數量,並對各分組的記錄進行匯總形成總索引表;
加載頁索引表生成單元,用於根據所述總索引表和設定的加載頁數N形成加載頁索引表,所述加載頁索引表中的每N頁第一條記錄對應一個加載頁索引ID,其中N為正整數,且N > I ;
記錄獲取與加載單元,用於根據所述加載頁索引ID對應的每N頁第一條記錄獲得該第一條記錄所屬的N頁記錄,並將所述N頁記錄加載到資料庫容器中;
第一數據展示單元,用於讀取資料庫容器中的N頁記錄並對N頁記錄中的部分或全部進行報表展示。優選的,還包括加載頁設定單元,用於設定每頁加載頁中具有相同的記錄數量。優選的,所述展示參數包括日期,報表類型,分組類型,子項數據標識,子項數據類型。優選的,還包括第二數據展示單元,用於在所述加載頁索引表的第一個加載頁索引ID形成的同時,將所述第一個加載頁索引ID所對應的記錄加載到資料庫容器並進行報
表展示。通過本發明的數據處理方法和系統,可提高報表展示時頁面切換的數據加載速度,並且適於展示大數據量的數據報表,且不會產生內存不足的情況,同時通過索引表的方式實現了頁面的快速定位和切換。
圖1是本發明的基於安卓平臺的數據處理方法實施例的流程 圖2是本發明的基於安卓平臺的數據處理系統實施例的示意 圖3是本發明的基於安卓平臺的數據處理方法實施例中形成的總索引表的示意 圖4是發明的基於安卓平臺的數據處理方法實施例中形成的加載頁索引表的示意圖。
具體實施例方式為使本發明的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式
對本發明作進一步詳細的說明。參照圖1,示出了本發明一種基於安卓平臺的數據處理方法實施例的流程圖,包括,S11,根據設定的展示參數對資料庫中的數據進行分組,獲得各分組中記錄的數量,並對各分組的記錄進行匯總形成總索引表;S12,根據所述總索引表和設定的加載頁數N形成加載頁索引表,加載頁索引表中包括的每N頁第一條記錄都對應一個相應的加載頁索引ID,其中N為正整數,且N > I ;S13,根據所述加載頁索引ID對應的每N頁第一條記錄獲得該第一條記錄所屬的N頁記錄,並將所述N頁記錄加載到資料庫容器中;S14,讀取資料庫容器中的N頁記錄並對N頁記錄中的部分或全部進行報表展示。其中,所述展示參數包括日期,報表類型,分組類型,子項數據標識,子項數據類型。具體的,報表類型,可為聊天記錄報表,郵件記錄報表,網站瀏覽記錄報表等;分組類型,例如,在聊天記錄報表中,一對聊天帳號為一個分組;在瀏覽網站記錄時,不同的網站為不同的分組;子項數據標識,例如,聊天記錄或網站瀏覽記錄可能會來自於手機,也可能來自電腦,子項數據標識用來描述這些數據的來源;子項數據類型,例如,在聊天記錄報表中,每一條聊天記錄為一個子項數據類型;在網站瀏覽記錄報表中,每個連結地址為一個子項數據類型。通過本發明的數據處理方法,可提高報表展示時頁面切換的數據加載速度,並且適於展示大數據量的數據報表,且不會產生內存不足的情況,同時通過索引表的方式實現了頁面的快速定位和切換。優選的,還包括設定每頁加載頁中具有相同的記錄數量的步驟(圖中未示),以便於快速查找並讀取加載頁中的記錄。為了實現邊加載邊顯示,進而減少用於等待時間、增強用戶體驗,優選的,還包括如下步驟在所述加載頁索引表的第一個加載頁索引ID形成的同時,將所述第一個加載頁索引ID所對應的記錄加載到資料庫容器並進行報表展示。下面將結合實施例對本發明的方法進行詳細描述。比如,需要實現在安卓平臺內,將各種聊天工具的數據按時間,群組進行分類的報表展示。首先,依次對QQ表和飛信表作如下處理通過時間進行分組,獲得共有多少個時間分組;通過群組分組,獲得共有多少個群組;通過各群組中聊天記錄數量進行分組,獲取各個群組中共有多少條聊天記錄,並對各分組的數量進行匯總形成總索引表如圖3所示。然後,根據總索引表和設定的加載頁數N形成加載頁索引表,其中N為正整數,且N > I。比如設定每次加載5頁,在加載頁索引表中,每5頁第一條記錄都對應一個相應的加載頁索引ID,如圖4所示。圖4中所示的每5頁第一條記錄都包括如下幾個索引號dateindex,表示按時間條件查詢到的數據的索引號;groupindex,表示按群組查詢到的數據的索引號;childindex,表示按群組的子項查詢到的數據的索引號;chi Iddetai I index,表示按子項詳情的不同類型查詢到的數據索引號,將這幾個索引號保存到資料庫中,更利於在需要的時候進行快速定位。當進行頁面切換時,只要讀取加載頁索引表中的記錄,根據所述加載頁索引ID對應的每N頁第一條記錄可快速獲得該第一條記錄所屬的N頁記錄,並將所述N頁記錄加載到資料庫容器中,java程序再從資料庫容器中讀取相關N頁的記錄,傳給HTML頁面,然後根據用戶需要進行部分記錄或全部記錄的報表展示。t匕如,從第I頁切換到第8頁,由於第8頁在6-10頁之間,則通過加載頁索引表中的ID=2這條記錄,使用sql的limit語句,快速定位到第6頁的第一條記錄,然後將6到10頁的記錄加載到資料庫容器中。優選的,可將每頁的記錄數設定為固定且相等的,從而可快速計算出第8頁開始的記錄位置,再從資料庫容器中讀取第8頁的完整內容進行報表展示。為了實現邊加載邊顯示,進而減少用於等待時間、增強用戶體驗,優選的,在所述加載頁索引表的第一個加載頁索引ID (即ID=I)形成的同時,將加載頁索引ID=I所對應的記錄加載到資料庫容器並進行報表展示。通過上述本發明的方法,對於一個涉及10個報表,報表每頁顯示60條記錄,總共1011頁的6萬條的數據進行測試,其數據加載時間如表I所示
~丨第一個報告頁面打開的時間|5秒
~第一頁報告頁面打開後,用戶可瀏覽的頁數41頁
3 I所有1011頁索引創建完成的時間|60秒
表I
以上測試結果顯示,本發明的方法可大大提高數據加載速度,減少用戶等待時間,而且可承受大數據量的內容而不至於出現內存不足的狀況。本發明還提出了一種與本發明的基於安卓平臺的數據處理方法相對應的系統,參看圖2為本發明的基於安卓平臺的數據處理系統實施例的示意圖,包括,總索引表生成單元21,用於根據設定的展示參數對資料庫中的數據進行分組,獲得各分組中記錄的數量,並對各分組的記錄進行匯總形成總索引表;加載頁索引表生成單元22,用於根據所述總索引表和設定的加載頁數N形成加載頁索引表,所述加載頁索引表中的每N頁第一條記錄對應一個加載頁索引ID,其中N為正整數,且N > I ;記錄獲取與加載單元23,用於根據所述加載頁索引ID對應的每N頁第一條記錄獲得該第一條記錄所屬的N頁記錄,並將所述N頁記錄加載到資料庫容器中;第一數據展示單元24,用於讀取資料庫容器中的N頁記錄並對N頁記錄中的部分或全部進行報表展示。其中,所述展示參數包括日期,報表類型,分組類型,子項數據標識,子項數據類型。具體的,報表類型,可為聊天記錄報表,郵件記錄報表,網站瀏覽記錄報表等;分組類型,例如,在聊天記錄報表中,一對聊天帳號為一個分組;在瀏覽網站記錄時,不同的網站為不同的分組;子項數據標識,例如,聊天記錄或網站瀏覽記錄可能會來自於手機,也可能來自電腦,子項數據標識用來描述這些數據的來源;子項數據類型,例如,在聊天記錄報表中,每一條聊天記錄為一個子項數據類型;在網站瀏覽記錄報表中,每個連結地址為一個子項數據類型。通過本發明的數據處理系統,可提高報表展示時頁面切換的數據加載速度,並且適於展示大數據量的數據報表,且不會產生內存不足的情況,同時通過索引表的方式實現了頁面的快速定位和切換。優選的,所述系統還包括加載頁設定單元(圖中未示),用於設定每頁加載頁中具有相同的記錄數量,以便於快速查找並讀取加載頁中的記錄。為了實現邊加載邊顯示,進而減少用於等待時間、增強用戶體驗,優選的,還包括第二數據展示單元(圖中未示),用於在所述加載頁索引表的第一個加載頁索引ID形成的同時,將所述第一個加載頁索引ID所對應的記錄加載到資料庫容器並進行報表展示。
本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對於系統實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。以上對本發明所提供的一種基於安卓平臺的數據處理方法和系統進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式
及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種基於安卓平臺的數據處理方法,其特徵在於,包括, 根據設定的展示參數對資料庫中的數據進行分組,獲得各分組中記錄的數量,並對各分組的記錄進行匯總形成總索引表; 根據所述總索引表和設定的加載頁數N形成加載頁索引表,加載頁索引表中包括的每N頁第一條記錄都對應一個相應的加載頁索引ID,其中N為正整數,且N > I ; 根據所述加載頁索引ID對應的每N頁第一條記錄獲得該第一條記錄所屬的N頁記錄,並將所述N頁記錄加載到資料庫容器中; 讀取資料庫容器中的N頁記錄並對N頁記錄中的部分或全部進行報表展示。
2.如權利要求1所述的方法,其特徵在於,還包括設定每頁加載頁具有相同的記錄數量。
3.如權利要求1所述的方法,其特徵在於,所述展示參數包括日期,報表類型,分組類型,子項數據標識,子項數據類型。
4.如權利要求1所述的方法,其特徵在於,還包括在所述加載頁索引表的第一個加載頁索引ID形成的同時,將所述第一個加載頁索引ID所對應的記錄加載到資料庫容器並進行報表展不。
5.一種基於安卓平臺的數據處理系統,其特徵在於,包括, 總索引表生成單元,用於根據設定的展示參數對資料庫中的數據進行分組,獲得各分組中記錄的數量,並對各分組的記錄進行匯總形成總索引表; 加載頁索引表生成單元,用於根據所述總索引表和設定的加載頁數N形成加載頁索引表,所述加載頁索引表中的每N頁第一條記錄對應一個加載頁索引ID,其中N為正整數,且N > I ; 記錄獲取與加載單元,用於根據所述加載頁索引ID對應的每N頁第一條記錄獲得該第一條記錄所屬的N頁記錄,並將所述N頁記錄加載到資料庫容器中; 第一數據展示單元,用於讀取資料庫容器中的N頁記錄並對N頁記錄中的部分或全部進行報表展示。
6.如權利要求5所述的系統,其特徵在於,還包括加載頁設定單元,用於設定每頁加載頁中具有相同的記錄數量。
7.如權利要求5所述的系統,其特徵在於,所述展示參數包括日期,報表類型,分組類型,子項數據標識,子項數據類型。
8.如權利要求5所述的系統,其特徵在於,還包括第二數據展示單元,用於在所述加載頁索引表的第一個加載頁索引ID形成的同時,將所述第一個加載頁索引ID所對應的記錄加載到資料庫容器並進行報表展示。
全文摘要
本發明提出一種基於安卓平臺的數據處理方法和系統,其中方法包括根據設定的展示參數對資料庫中的數據進行分組,獲得各分組中記錄的數量,並對各分組的記錄進行匯總形成總索引表;根據總索引表和設定的加載頁數N形成加載頁索引表,加載頁索引表包括的每N頁第一條記錄都對應一個相應的加載頁索引ID,其中N為正整數,且N>1;根據加載頁索引ID對應的每N頁第一條記錄獲得該第一條記錄所屬的N頁記錄,並將所述N頁記錄加載到資料庫容器中;讀取資料庫容器中的N頁記錄並對N頁記錄中的部分或全部進行報表展示;通過本發明的方法和系統,可提高報表展示時頁面切換的數據加載速度,並且適於展示大數據量的報表且不會產生內存不足。
文檔編號G06F17/30GK103034730SQ20121056022
公開日2013年4月10日 申請日期2012年12月21日 優先權日2012年12月21日
發明者齊上凱 申請人:廈門市美亞柏科信息股份有限公司