專利名稱:數據庫系統及其數據篩選方法
數據庫系統及其數據篩選方法技術領域:
本發明涉及數據篩選,更具體地,涉及一種數據庫系統及其數據篩選方法。
背景技術:
表格數據是最常用的數據類型。表格數據以行、列的方式進行顯示,每行具有對應的行號或者行名,每列具有對應的列號或者列名。通常,列名也稱為字段。很多數據庫采用服務器一客戶端的形式。服務器存儲數據,并向客戶端返回用戶的查詢結果。客戶端與用戶進行交互,并向用戶顯示查詢結果。該查詢結果通常以表格數據的形式呈現。如果命中結果較多,返回的查詢結果就會很多,導致查詢結果的行數、列數都很多,用戶容易看錯或者看漏數據。該種情況下,用戶希望過濾掉不想要的數據。現有技術中,用戶可以增加查詢條件,進行新的查詢,以逐步過濾掉不想要的數據。然而,該方案顯著加重了服務器的負擔,且響應速度慢。因此,亟需一種克服上述缺陷的解決方案。
發明內容本發明的一個方面,提供一種數據庫系統,包括可通訊連接的服務器和客戶端;所述客戶端具有接收模塊和顯示模塊,所述接收模塊用于接收所述服務器返回的數據,所述顯示模塊用于以行列的方式顯示所述數據。所述客戶端還包括與所述顯示模塊連接的數據篩選系統,所述數據篩選系統包括:列篩選模塊,所述列篩選模塊用于獲取所述數據的列信息,并根據用戶對列信息的選擇過濾掉對應的列;所述顯示模塊以行列的方式顯示所述過濾掉對應的列之后的數據。在一個優選方案中,所述數據篩選模塊還包括行篩選模塊,所述行篩選模塊用于將選定列的行分成若干行集合,并根據用戶對行集合的選擇過濾掉對應的行;所述顯示模塊以行列的方式顯示所述過濾掉對應的行之后的數據。在一個優選方案中,所述客戶端為網頁瀏覽器。在一個優選方案中,所述數據篩選模塊還包括窗體繪制模塊,所述窗體繪制模塊與所述列篩選模塊、行篩選模塊連接,用于創建第一窗體用以顯示所述列篩選模塊、行篩選模塊的入口。在一個優選方案中,所述窗體繪制模塊還繪制第二窗體、第三窗體,分別用于顯示所述列信息、所述行集合。本發明的第二方面,提供一種數據篩選方法,包括在客戶端接收服務器返回的數據并用行列的方式顯示所述數據。所述數據篩選方法還包括:在所述客戶端獲取所述數據的列信息,并根據用戶對列信息的選擇過濾掉對應的列;在所述客戶端以行列的方式重新顯示所述過濾掉對應的列之后的數據。
在一個優選方案中,所述數據篩選方法還包括:在所述客戶端將選定列的行分成若干行集合,并根據用戶對行集合的選擇過濾掉對應的行;在所述客戶端以行列的方式重新顯示所述過濾掉對應的行之后的數據。在一個優選方案中,所述客戶端為網頁瀏覽器。在一個優選方案中,所述數據篩選方法還包括:在所述客戶端繪制第一窗體,并在所述第一窗體提供入口用以引導用戶區過濾掉對應的列、對應的行。在一個優選方案中,所述數據篩選方法還包括:在所述客戶端繪制第二窗體和第三窗體,分別用于顯示所述列信息和所述行集合。實施本發明,可以在客戶端進行數據篩選,且不占用服務器任何資源,減輕服務器的負擔,并具有響應速度快的優點
圖1是本發明一個實施例提供的數據庫系統的示意圖;圖2是圖1所示數據庫系統的數據篩選方法的流程圖;圖3至圖5是圖2所示數據篩選方法操作時的部分屏幕截圖。
具體實施方式參考圖1和圖2,本發明一個實施例提供的數據庫系統包括可通信連接的客戶端10和服務器端20。應當意識到,客戶端10與服務器端20可以位于不同的設備(如計算機)上,也可以位于同一臺設備。客戶端10面對用戶,也稱為前端。服務器端主要提供后臺支持,也稱為后端。一個后端可以同時為多個前端提供支持。優選地,客戶端10為網頁瀏覽器,例如微軟公司的IE網頁瀏覽器、谷歌公司的Chrome瀏覽器、謀智公司的Firefox瀏覽器、蘋果公司的Safari瀏覽器等。
服務器端20包括數據庫21、查詢模塊23、修改模塊25。數據庫21用于存儲數據,查詢模塊23用于處理數據查詢請求,修改模塊25用于修改數據庫21內的數據。客戶端10具有接收模塊11、顯示模塊13和數據篩選系統15。接收模塊11用于接收服務器20返回的數據。例如,用戶通過客戶端10向服務器發起數據查詢請求,服務器20處理該查詢請求,并將查詢結果返回給客戶端10。顯示模塊13在客戶端10以行列的方式顯示服務器20返回的數據。數據篩選系統15包括列篩選模塊、行篩選模塊和窗體繪制模塊,用于對所顯示的數據進行篩選,下文會詳細描述。參考圖3至圖6,在步驟S51中,客戶端的接收模塊接收服務器返回的數據。步驟S53中,客戶端的顯示模塊以行列的方式顯示所述數據。步驟S55中,客戶端的數據篩選系統的列篩選模塊獲取數據的列信息,根據用戶對列信息的選擇過濾掉對應的列,并以行列的方式重新顯示所述過濾掉對應的列之后的數據。所述列信息可以是列的編號,例如A列、B列、C列等。所述列信息也可以是列名稱(也稱為字段名),例如圖4所示的字段“操作日期”、“收銀來源”等。在本實施例中,用戶選中的列被保留下來以進行顯示;未選擇的列,就被過濾掉,不顯示,如圖5所示。應當意識到,可以采用相反的配置,即,用戶選中的列被過濾掉,不進行顯示;未選中的列就保留下來進行顯示。步驟S57中,客戶端的數據篩選系統的行篩選模塊將選定列的行分成若干行集合,根據用戶對行集合的選擇過濾掉對應的行,并以行列的方式重新顯示所述被過濾掉對應的行之后的數據。參考圖6,用戶在“操作日期”列進行操作時,行篩選模塊根據該列的行內容將該選定列的行分成“2012-03-01”和“2012-03-02”這兩個行集合。用戶選中某個行集合之后,該行集合對應的行將被保留以進行顯示;未被選中的行集合對應的行將被隱藏(被過濾掉)。應當意識到,可以采用相反的配置,即,選中的行集合對應的行被隱藏(被過濾掉),未選中的行集合對應的行被顯不。應當意識到,上述步驟S55和S57的順序可以進行調換。即,用戶可以先對行進行過濾,再對列進行過濾。替換地,用戶可以只對行進行過濾(即,只執行步驟S57,不用執行步驟S55),或者只對列進行過濾(S卩,只執行步驟S55,不用執行步驟S57)。還應當意識到,在圖3所示的流程中,步驟S55之后,可以具有恢復過濾列的步驟。在恢復過濾列的步驟中,用戶可以恢復步驟S55所過濾掉的部分列或者全部列,并重新顯示恢復之后的數據。類似地,步驟S57之后,可以具有恢復過濾行的步驟。在恢復過濾行的步驟中,用戶可以恢復步驟S57所過濾掉的部分行或者全部行,并重新顯示恢復之后的數據。為了方便用戶操作,數據篩選系統具有窗體繪制模塊與列篩選模塊、行篩選模塊連接。窗體繪制模塊創建第一窗體用以顯示列篩選模塊、行篩選模塊的入口。例如,圖4中,“查找列”為行篩選模塊的入口,“選擇列”為列篩選模塊的入口。當用戶選擇了“選擇列”入口,進行列篩選操作時,窗體繪制模塊還繪制第二窗體,用于顯示列信息,參考圖5。如圖5所示,第二窗體是此張報表的所有字段,默認全部選中,表示全部顯示。當你需要隱藏某一列或多列時只需取消選中對應的列即可,但必須保證最少有一個是選中的(可通過JavaScript代碼來控制)。 類似地,用戶選擇“查找項”入口,進行行篩選操作時,窗體繪制模塊還繪制第三窗體,用于顯示行集合,參考圖6。當你需要過濾掉某一類的數據時,只需要點擊對應此列的表頭,然后點擊“查找項”,篩選模塊獲取此一整列的所有可見數據,然后對這些數據進行去重復處理,得到若干行集合,該行集合在第三窗體顯示出來,如圖6所示。如果用戶選擇“2012/3/6”,則“操作日期”列中不為該日期的數據全部被過濾,只顯示對應選中日期的數據。優選地,可以同時選擇兩個或者多個行集合。例如,用戶同時選擇“ 2012/3/3 ”和“ 2012/3/6 ”,則“操作日期”中“ 2012/3/3 ”和“ 2012/3/6 ”將繼續顯示其他日期的數據將被過濾。優選地,可以同時選擇兩列或者多列的行集合,以實現多重過濾。例如,選擇“操作日期”為“2012/3/6”的數據后,點擊“收銀來源”,選擇“消費”,就可以得到當前所有可見數據中“操作日期”為“2012/3/6”并且“收銀來源“為“消費”的數據,以此類往下來實現多重過濾。如果需要將所有數據都展示出來,則只需點擊任何一列的表頭,選擇“顯示全部”,則所有數據都被還原顯示。本發明的數據篩選方法在客戶端就可以執行,不占用服務器任何資源,減輕服務器的負擔,并具有響應速度快的優點。此外,客戶端可以網頁瀏覽器,因此,可以使用標準化的JavaScript腳本、CSS文件、HTML標簽實現,任何瀏覽器都可以兼容運行。對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。
權利要求
1.一種數據庫系統,包括可通訊連接的服務器和客戶端;所述客戶端具有接收模塊和顯示模塊,所述接收模塊用于接收所述服務器返回的數據,所述顯示模塊用于以行列的方式顯示所述數據;其特征在于,所述客戶端還包括與所述顯示模塊連接的數據篩選系統,所述數據篩選系統包括: 列篩選模塊,所述列篩選模塊用于獲取所述數據的列信息,并根據用戶對列信息的選擇過濾掉對應的列; 所述顯示模塊以行列的方式顯示所述過濾掉對應的列之后的數據。
2.如權利要求1所述的數據庫系統,其特征在于,所述數據篩選模塊還包括行篩選模塊,所述行篩選模塊用于將選定列的行分成若干行集合,并根據用戶對行集合的選擇過濾掉對應的行; 所述顯示模塊以行列的方式顯示所述過濾掉對應的行之后的數據。
3.如權利要求2所述的數據庫系統,所述客戶端為網頁瀏覽器。
4.如權利要求3所述的數據庫系統,其特征在于,所述數據篩選模塊還包括窗體繪制模塊,所述窗體繪制模塊與所述列篩選模塊、行篩選模塊連接,用于創建第一窗體用以顯示所述列篩選模塊、行篩選模塊的入口。
5.如權利要求4所述的數據庫系統,其特征在于,所述窗體繪制模塊還繪制第二窗體、第三窗體,分別用于顯示所述列信息、所述行集合。
6.一種數據篩選方法,包括在客戶端接收服務器返回的數據并用行列的方式顯示所述數據,其特征在于,所述數據篩選方法還包括: 在所述客戶端獲取所述數據的列信息,并根據用戶對列信息的選擇過濾掉對應的列; 在所述客戶端以行列的方式重新顯示所述過濾掉對應的列之后的數據。
7.如權利要求6所述的數據篩選方法,其特征在于,所述數據篩選方法還包括: 在所述客戶端將選定列的行分成若干行集合,并根據用戶對行集合的選擇過濾掉對應的行; 在所述客戶端以行列的方式重新顯示所述過濾掉對應的行之后的數據。
8.如權利要求7所述的數據篩選方法,其特征在于,所述客戶端為網頁瀏覽器。
9.如權利要求8所述的數據篩選方法,其特征在于,所述數據篩選方法還包括:在所述客戶端繪制第一窗體,并在所述第一窗體提供入口用以引導用戶區過濾掉對應的列、對應的行。
10.如權利要求要求10所述的數據篩選方法,其特征在于,所述數據篩選方法還包括:在所述客戶端繪制第二窗體和第三窗體,分別用于顯示所述列信息和所述行集合。
全文摘要
本發明涉及數據庫系統及其數據篩選方法。該數據庫系統包括可通訊連接的服務器和客戶端。客戶端具有接收模塊、顯示模塊和數據篩選系統。接收模塊用于接收服務器返回的數據,顯示模塊用于以行列的方式顯示數據。數據篩選系統包括列篩選模塊、行篩選模塊和窗體繪制模塊。列篩選模塊用于獲取數據的列信息,并根據用戶對列信息的選擇過濾掉對應的列。行篩選模塊將選定列的行分成若干行集合,并根據用戶對行集合的選擇過濾掉對應的行。顯示模塊以行列的方式顯示過濾掉對應的列和/或行之后的數據。實施本發明,可以在客戶端進行數據篩選,且不占用服務器任何資源,減輕服務器的負擔,并具有響應速度快的優點。
文檔編號G06F17/30GK103150370SQ20131007355
公開日2013年6月12日 申請日期2013年3月7日 優先權日2013年3月7日
發明者黃曉惠 申請人:黃曉惠