欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

海量數據查詢方法及設備的制作方法

文檔序號:6334109閱讀:995來源:國知局

專利名稱::海量數據查詢方法及設備的制作方法
技術領域
:本發(fā)明涉及數據查詢技術,具體涉及一種海量數據查詢方法及設備。
背景技術
:目前,移動計費系統(tǒng)涉及到話單處理的相關數據表數據相當龐大,對于開發(fā)人員、運維人員等做生產操作,尤其是日常的數據檢索統(tǒng)計等,操作效率非常低,主要表現為以下幾個方面1.數據的查詢統(tǒng)計是日常生產的重要活動,而對大數據表盡管做了優(yōu)化查詢處理,正常的整個操作過程經常要花費幾分鐘甚至十幾分鐘,大大影響生產線人員的工作效率;2.系統(tǒng)資源緊張,有時候對緊急問題的數據庫查詢搶占了部分資源,影響正常的生產線效率;3.對一些歷史的數據,由于數據庫資源往往會做定期清理,導致一些問題回溯不到根源。當然,海量數據庫操作不只在計費系統(tǒng),而是普遍存在于現代高速發(fā)展的信息產業(yè)當中。在現代信息化的管理中,如何提高海量數據操作效率已經是一個普遍的課題。目前,對海量數據庫的查詢優(yōu)化方案比較常見的有索引技術,索引是除表之外另一重要的、用戶定義的存儲在物理介質上的數據結構。當根據索引碼的值搜索數據時,索引提供了對數據的快速訪問,針對海量數據表建立適當的索引,對千萬級的數據進行檢索能有效提高速度。通過索引技術雖然能在一定程度上提高對數據庫訪問的效率,但也有其缺點,主要如下第一、創(chuàng)建索引和維護索引要耗費時間,這種時間隨著數據量的增加而增加。第二、索引需要占物理空間,除了數據表占物理空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,則需要的空間會更大。第三、當對表中的數據進行增加、刪除和修改的時候,索引也要動態(tài)地維護,這樣就降低了數據的維護速度。另外,即使對于再適當的索引,還是建立在數據庫的基礎上,無法擺脫對數據庫的依賴,而且對于千萬數量級以上且多字段數據表的查詢依然比較費時。
發(fā)明內容本發(fā)明實施例針對上述現有技術存在的缺點,提供一種海量數據查詢方法及設備,以弱化客戶端對數據庫的依賴性,并提高查詢效率。為此,本發(fā)明實施例提供如下技術方案一種海量數據查詢方法,包括接收客戶端發(fā)起的資源配置請求,所述資源配置請求中攜帶數據表連接的相關信3息;和/或攜帶指定的關鍵數據表字段;從數據庫中提取出所述數據表,生成文件系統(tǒng)數據;將所述文件系統(tǒng)數據加載到共享內存中;在收到用戶對所述數據庫的查詢請求后,從所述共享內存中提取用戶查詢的數據。優(yōu)選地,所述資源配置請求是客戶端定時發(fā)起的。優(yōu)選地,所述方法還包括在將所述文件系統(tǒng)數據加載到共享內存中時,如果需要進行計算,則根據所述數據表字段的類型對數據表字段進行格式轉換。優(yōu)選地,所述方法還包括對加載到共享內存中的文件系統(tǒng)數據進行歸類,生成不同類別的文件系統(tǒng)數據。優(yōu)選地,所述方法還包括分別建立對應所述不同類別的文件系統(tǒng)數據的一個或多個索引;所述從所述共享內存中提取用戶查詢的數據包括根據所述索引從所述共享內存中提取用戶查詢的數據。優(yōu)選地,所述方法還包括將從所述共享內存中提取的用戶查詢的數據保存到文件中;和/或將從所述共享內存中提取的用戶查詢的數據展現給用戶。一種海量數據查詢設備,包括配置請求接收單元,用于接收客戶端發(fā)起的資源配置請求,所述資源配置請求中攜帶數據表連接的相關信息;和/或攜帶指定的關鍵數據表字段;提取單元,用于從數據庫中提取出所述數據表,生成文件系統(tǒng)數據;加載單元,用于將所述文件系統(tǒng)數據加載到共享內存中;查詢請求接收單元,用于接收用戶對所述數據庫的查詢請求;查詢單元,用于在所述查詢請求接收單元收到用戶對所述數據庫的查詢請求后,從所述共享內存中提取用戶查詢的數據。優(yōu)選地,所述設備還包括格式轉換單元,用于在所述加載單元將所述文件系統(tǒng)數據加載到共享內存并且需要進行計算時,根據所述數據表字段的類型對數據表字段進行格式轉換。優(yōu)選地,所述設備還包括歸類單元,用于對加載到共享內存中的文件系統(tǒng)數據進行歸類,生成不同類別的文件系統(tǒng)數據。0041]優(yōu)選地,所述設備還包括索引單元,用于分別建立對應所述不同類別的文件系統(tǒng)數據的一個或多個索引;所述查詢單元,具體用于根據所述索引從所述共享內存中提取用戶查詢的數據。優(yōu)選地,所述設備還包括存儲單元,用于將從所述共享內存中提取的用戶查詢的數據保存到文件中;和/或展現單元,用于將從所述共享內存中提取的用戶查詢的數據展現給用戶。本發(fā)明實施例海量數據查詢方法及設備,將對數據庫資源占用的時間聚集在一個空閑時段,將對數據庫資源及操作系統(tǒng)的占用統(tǒng)一轉移到對文件操作系統(tǒng)的資源占用,從而有效地弱化了客戶端對數據庫的依賴性,減輕了數據庫的負荷,并提高了查詢效率。為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖。圖1是本發(fā)明實施例海量數據查詢方法的流程圖;圖2是本發(fā)明實施例海量數據查詢設備的一種結構示意圖;圖3是本發(fā)明實施例海量數據查詢設備的另一種結構示意圖。具體實施例方式為了使本
技術領域
的人員更好地理解本發(fā)明方案,下面結合附圖和實施方式對本發(fā)明實施例作進一步的詳細說明。本發(fā)明實施例海量數據查詢方法及設備,針對現有技術海量數據查詢對數據庫資源的消耗比較大,即使索引技術再先進,也無法擺脫對數據庫資源的束縛的問題,利用一個查詢代理服務器或者中間件,將對數據庫資源的占用時段及方式進行轉移,弱化客戶端對數據庫的依賴性,并提高查詢效率。如圖1所示,是本發(fā)明實施例海量數據查詢方法的流程圖,包括以下基本步驟步驟101,接收客戶端發(fā)起的資源配置請求,所述資源配置請求中攜帶連接數據表相關信息,和/或攜帶指定的關鍵數據表字段??紤]到一般索引查詢對數據庫資源占用的時間比較散,特別在生產系統(tǒng)忙時占用數據庫會給數據庫造成較大的負載,甚至會影響到正常的生產系統(tǒng),因此,在本發(fā)明實施例中,為了弱化對數據庫資源的依賴性并減少對正常業(yè)務處理的影響,可以周期性地將對占用數據庫資源的時間聚集在一個空閑時段,比如,在每天凌晨閑時的1:00至4:00時段。由客戶端定時發(fā)起資源配置請求,資源配置請求中攜帶連接數據表相關信息、和/或需要查詢或統(tǒng)計的關鍵數據表字段等信息。在具體應用,客戶端可以采用用戶配置清單的方式,將需要從數據庫中采集的數據表及相關信息通過所述資源配置請求發(fā)送給查詢代理服務器。比如,所述用戶配置清單可以包括以下主要信息[db]連接的數據庫名;[usr]:數據庫用戶名;[pwd]數據庫用戶名對應密碼;[table]連接的數據表名;[field]指定加載的數據表字段,或用*表示加載所有數據表字段;[sql]指定預處理常用的SQL語句,系統(tǒng)根據這些SQL語句后臺做預處理,并時刻保持最新的處理結果。當然,本發(fā)明實施例并不限定所述用戶配置清單的具體格式,而且也不限定其所包含的具體信息。步驟102,從數據庫中提取出所述數據表,生成文件系統(tǒng)數據。根據需要,可以從數據庫中提取出一個或多個數據表,每個數據表可以作為一個文本文件。所述文本文件中的數據作為文件系統(tǒng)數據存儲。步驟103,將所述文件系統(tǒng)數據加載到共享內存中。在存儲所述文件系統(tǒng)數據時,可以以數據表名為目錄,以日期為文件名,每個周期增量的數據保存在相應的文件中。比如,以話單異常掛起月表為例,該表命名為dsU_Cdr_yyyymm,在201003月建立目錄dsu_cdr_201003,表更新周期為1天,目錄下生成文件為20100301...20100331共31個文件,每天按增量數據增加一個。需要說明的是,在將所述文件系統(tǒng)數據加載到共享內存中時,如果需要進行計算,可以根據所述數據表字段的類型對數據表字段進行格式轉換,例如將字段從字符串格式轉換為浮點格式。另外,在將文件系統(tǒng)數據加載到共享內存之前,還可以對其進行歸類,生成不同類別的文件系統(tǒng)數據。所述共享內存的空間可以根據數據格式化后的類型占用空間來估算,比如可以按以下公式來計算每條記錄占用的內存*文件記錄數數量級*文件數。步驟104,在收到用戶對所述數據庫的查詢請求后,從所述共享內存中提取用戶查詢的數據。具體地,可以對共享內存中的數據進行篩選運算,得到用戶查詢的數據。具體的篩選方式可根據實際需要,采用一些常用的篩選運算,對此本發(fā)明實施例不做限定。在將用戶查詢的數據從所述共享內存中提取出來后,可以將這些數據保存到文件中,或者將這些數據直接展現給用戶,由用戶選擇是否對其進行保存。當然,還可以自動將這些數據保存到文件中并同時展現給用戶。在本發(fā)明實施例中,對于共享內存中存儲的文件系統(tǒng)數據的查詢,可以按照類似現有數據庫查詢的方式,預先分別建立對應不同類別的文件系統(tǒng)數據的一個或多個索引,在收到用戶對所述數據庫的查詢請求后,根據所述索引從所述共享內存中提取用戶查詢的數據。為了提高效率并有針對性,索引可以不對數據表中所有字段做窮舉,而是針對用戶配置的SQL語句指定的一些字段,這樣既能在系統(tǒng)內部處理時提高效率,也能在用戶發(fā)起查詢請求時快速檢索一些數據。本發(fā)明實施例并不限于通過文件系統(tǒng)的方式對數據進行處理,還可采用其他方式直接在共享內存中提取用戶查詢的數據。另外,在本發(fā)明實施例中,還可以針對一些常用的查詢,比如用戶用類似selectsum(field)fromtable查詢語句,這種對某個關鍵字段進行統(tǒng)計的情況,系統(tǒng)會將數據表從數據庫中提取并存儲到共享內存后,對一些常用關鍵字段從共享內存中篩選出來并做統(tǒng)計運算將結果其保存到文件中。這樣,在收到用戶對所述數據庫的查詢請求后,如果用戶查詢的是這類數據,則可直接將預先篩選出并保存到文件中的相應數據展現給用戶。需要說明的是,在具體應用時,可以由查詢代理服務器或者類似中間件方式實施本發(fā)明實施例的方法,即該方法或設備在客戶端與數據庫之間起到一個橋梁作用,也就是說,將現有技術由客戶端對數據庫的查詢轉移為客戶端與查詢代理服務器、以及查詢代理服務器與數據庫之間的交互。所述查詢代理服務器可以是一臺獨立的專用服務器,也可以同時提供其他服務,比如可以在其他服務器上開辟一塊專用的存儲區(qū)和專用共享內存區(qū),以提供查詢服務使用。當然,不論是采用哪種方式的查詢代理服務器,都可以與所述數據庫所在生產系統(tǒng)直接相連。所述查詢代理服務器對于客戶端而言,相當于數據服務器,可以部署到網絡中,提供網內并發(fā)數據查詢??梢姡景l(fā)明實施例海量數據查詢方法,將對數據庫資源占用的時間聚集在一個空閑時段,將對數據庫資源及操作系統(tǒng)的占用統(tǒng)一轉移到對文件操作系統(tǒng)的資源占用,從而有效地弱化了客戶端對數據庫的依賴性,減輕了數據庫的負荷,并提高了查詢效率。進一步地,將對數據庫的索引技術可以轉化為到對文件的索引排序算法,可以提高查詢效率,方便地實現對海量數據的訪問。由于對數據庫的一個查詢往往只能針對目前的數據表中的數據得到查詢結果,如果數據庫中的數據增加了則還需要再重新查詢一遍,而且速度會隨著數據增長而變慢。因此,在本發(fā)明實施例中,針對這種情況,還可以通過增量性預處理方式,進一步提高處理效率。具體地,可以在前面提到的用戶配置清單中設置以下信息[period],更新數據周期,以天為單位。在數據庫更新時,對統(tǒng)計查詢的預處理也會做相應的更新。這樣,可以使從數據庫中預提取的數據表保持最新,大大提高查詢效率。相應地,本發(fā)明實施例還提供一種海量數據查詢設備,如圖2所示,是該設備的一種結構示意圖。在該實施例中,所述設備200包括配置請求接收單元201,用于接收客戶端發(fā)起的資源配置請求,所述資源配置請求中攜帶數據表連接的相關信息;和/或攜帶指定的關鍵數據表字段;提取單元202,用于在所述配置請求接收單元201接收到所述資源配置請求后,從數據庫300中提取出所述數據表,生成文件系統(tǒng)數據;具體地,提取單元202可以對共享內存中的數據進行篩選運算,得到用戶查詢的數據。具體的篩選方式可根據實際需要,采用一些常用的篩選運算,對此本發(fā)明實施例不做限定;加載單元203,用于將所述文件系統(tǒng)數據加載到共享內存204中;查詢請求接收單元205,用于接收用戶對所述數據庫的查詢請求;查詢單元206,用于在所述查詢請求接收單元205收到用戶對所述數據庫的查詢請求后,從所述共享內存204中提取用戶查詢的數據。本發(fā)明實施例海量數據查詢設備,將對數據庫資源占用的時間聚集在一個空閑時段,將對數據庫資源及操作系統(tǒng)的占用統(tǒng)一轉移到對文件操作系統(tǒng)的資源占用,從而有效地弱化了客戶端對數據庫的依賴性,減輕了數據庫的負荷,并提高了查詢效率。利用本發(fā)明實施例海量數據查詢設備實現對數據庫中數據查詢的具體過程可參照前面本發(fā)明實施例海量數據查詢方法中的描述,在此不再贅述。需要說明的是,在將所述文件系統(tǒng)數據加載到共享內存中時,有可能需要進行計算,為此,在所述設備200中還可進一步包括格式轉換單元(未圖示),用于在所述加載單元203將所述文件系統(tǒng)數據加載到共享內存204并且需要進行計算時,根據所述數據表字段的類型對數據表字段進行格式轉換。另外,所述設備200還可進一步包括歸類單元(未圖示),用于對加載到共享內存204中的文件系統(tǒng)數據進行歸類,生成不同類別的文件系統(tǒng)數據。本發(fā)明實施例海量數據查詢設備,將對數據庫資源及操作系統(tǒng)的占用統(tǒng)一轉移到對文件操作系統(tǒng)的資源占用。在具體實現時,可以有多種實現方式。如圖3所示,是本發(fā)明實施例海量數據查詢設備的另一種結構示意圖。與圖2所示實施例不同的是,在該實施例中,所述海量數據查詢設備300還進一步包括索引單元207,用于分別建立對應所述不同類別的文件系統(tǒng)數據的一個或多個索引。相應地,所述查詢單元205,具體用于根據所述索引從所述共享內存204中提取用戶查詢的數據。這樣,將對數據庫的索引技術可以轉化為到對文件的索引排序,可以進一步提高查詢效率,方便地實現對海量數據的訪問。當然,本發(fā)明實施例并不限定對加載到共享內存中的文件系統(tǒng)數據的查詢實現方式,還可采用其他方式。例如對于一些小數據的簡單查詢可以通過讀取文件系統(tǒng)數據直接進行運算得出結果,而不需要開辟一大片專用的共享內存空間。需要說明的是,不論是圖2還是圖3所示實施例所示海量數據查詢設備,所述海量數據查詢設備還可進一步包括存儲單元(未圖示),用于將從所述共享內存中提取的用戶查詢的數據保存到文件中;和/或展現單元(未圖示),用于將從所述共享內存中提取的用戶查詢的數據展現給用戶。這樣,可以進一步方便用戶的應用,滿足用戶的不同應用需求。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。以上對本發(fā)明實施例進行了詳細介紹,本文中應用了具體實施方式對本發(fā)明進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及設備;同時,對于本領域的一般技術人員,依據本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。8權利要求一種海量數據查詢方法,其特征在于,包括接收客戶端發(fā)起的資源配置請求,所述資源配置請求中攜帶數據表連接的相關信息;和/或攜帶指定的關鍵數據表字段;從數據庫中提取出所述數據表,生成文件系統(tǒng)數據;將所述文件系統(tǒng)數據加載到共享內存中;在收到用戶對所述數據庫的查詢請求后,從所述共享內存中提取用戶查詢的數據。2.根據權利要求1所述的方法,其特征在于,所述資源配置請求是客戶端定時發(fā)起的。3.根據權利要求1所述的方法,其特征在于,所述方法還包括在將所述文件系統(tǒng)數據加載到共享內存中時,如果需要進行計算,則根據所述數據表字段的類型對數據表字段進行格式轉換。4.根據權利要求1所述的方法,其特征在于,所述方法還包括對加載到共享內存中的文件系統(tǒng)數據進行歸類,生成不同類別的文件系統(tǒng)數據。5.根據權利要求4所述的方法,其特征在于,所述方法還包括分別建立對應所述不同類別的文件系統(tǒng)數據的一個或多個索引;所述從所述共享內存中提取用戶查詢的數據包括根據所述索引從所述共享內存中提取用戶查詢的數據。6.根據權利要求1至5任一項所述的方法,其特征在于,所述方法還包括將從所述共享內存中提取的用戶查詢的數據保存到文件中;和/或將從所述共享內存中提取的用戶查詢的數據展現給用戶。7.—種海量數據查詢設備,其特征在于,包括配置請求接收單元,用于接收客戶端發(fā)起的資源配置請求,所述資源配置請求中攜帶數據表連接的相關信息;和/或攜帶指定的關鍵數據表字段;提取單元,用于從數據庫中提取出所述數據表,生成文件系統(tǒng)數據;加載單元,用于將所述文件系統(tǒng)數據加載到共享內存中;查詢請求接收單元,用于接收用戶對所述數據庫的查詢請求;查詢單元,用于在所述查詢請求接收單元收到用戶對所述數據庫的查詢請求后,從所述共享內存中提取用戶查詢的數據。8.根據權利要求7所述的設備,其特征在于,所述設備還包括格式轉換單元,用于在所述加載單元將所述文件系統(tǒng)數據加載到共享內存并且需要進行計算時,根據所述數據表字段的類型對數據表字段進行格式轉換。9.根據權利要求7所述的設備,其特征在于,所述設備還包括歸類單元,用于對加載到共享內存中的文件系統(tǒng)數據進行歸類,生成不同類別的文件系統(tǒng)數據。10.根據權利要求9所述的設備,其特征在于,所述設備還包括索引單元,用于分別建立對應所述不同類別的文件系統(tǒng)數據的一個或多個索引;所述查詢單元,具體用于根據所述索引從所述共享內存中提取用戶查詢的數據。11.根據權利要求7至10任一項所述的設備,其特征在于,所述設備還包括存儲單元,用于將從所述共享內存中提取的用戶查詢的數據保存到文件中;和/或展現單元,用于將從所述共享內存中提取的用戶查詢的數據展現給用戶。全文摘要本發(fā)明涉及數據查詢技術,公開了一種海量數據查詢方法及設備,所述方法包括接收客戶端發(fā)起的資源配置請求,所述資源配置請求中攜帶數據表連接的相關信息;和/或攜帶指定的關鍵數據表字段;從數據庫中提取出所述數據表,生成文件系統(tǒng)數據;將所述文件系統(tǒng)數據加載到共享內存中;在收到用戶對所述數據庫的查詢請求后,從所述共享內存中提取用戶查詢的數據。利用本發(fā)明,可以弱化客戶端對數據庫的依賴性,減少對生產系統(tǒng)資源的影響,并提高查詢效率。文檔編號G06F17/30GK101937474SQ20101051258公開日2011年1月5日申請日期2010年10月14日優(yōu)先權日2010年10月14日發(fā)明者林壽澤,溫文全申請人:廣州從興電子開發(fā)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阜南县| 海伦市| 敦化市| 玛多县| 双辽市| 哈尔滨市| 获嘉县| 宝丰县| 方山县| 凤冈县| 新余市| SHOW| 宝清县| 彭山县| 平顺县| 宁河县| 滁州市| 洞口县| 广昌县| 黎城县| 淅川县| 陇西县| 庆云县| 东乡| 克山县| 绥宁县| 安仁县| 万载县| 山西省| 海原县| 阿合奇县| 高阳县| 沧源| 阿拉善右旗| 基隆市| 佳木斯市| 娱乐| 稷山县| 虎林市| 山东省| 右玉县|