專利名稱:一種獲取聚合數(shù)據(jù)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機領(lǐng)域,特別涉及一種獲取聚合數(shù)據(jù)的方法和裝置。
背景技術(shù):
面對海量數(shù)據(jù),用戶大多數(shù)時候關(guān)心的是其中的一部分或者某幾個部分,而對于其它的數(shù)據(jù)則并不十分在意。獲取聚合數(shù)據(jù)的重要意義在于,從浩如煙海的數(shù)據(jù)中查找出與問題相關(guān)的數(shù)據(jù),從而針對該問題,對查找出的數(shù)據(jù)進行有的放矢的分析,研究出科學(xué)理性的對策。當(dāng)前大致有如下兩種方式查找與問題相關(guān)的數(shù)據(jù)方式一,盡可能多的羅列出用戶關(guān)心的問題,針對這些問題,通過計算、整理等方式,在原始數(shù)據(jù)中,查找出與該問題相關(guān)的數(shù)據(jù),并把這些數(shù)據(jù)存儲在磁盤中。當(dāng)用戶需要訪問與該問題相關(guān)的數(shù)據(jù)時,直接從磁盤讀取即可。方式二,利用數(shù)據(jù)庫中的關(guān)鍵字把存儲在數(shù)據(jù)庫中的數(shù)據(jù)關(guān)聯(lián)起來。當(dāng)用戶需要查詢與問題相關(guān)的數(shù)據(jù)時,通過計算,對原始數(shù)據(jù)進行查找,從而找到這些數(shù)據(jù),然后返回給用戶。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下技術(shù)問題1、對于方式一,需要預(yù)先存儲查找出來的數(shù)據(jù),占據(jù)磁盤空間大、存儲成本高;當(dāng)原始數(shù)據(jù)更新后,已經(jīng)存儲的查找出的數(shù)據(jù)不能實時更新。2、對于方式二,需要先進行計算后,向用戶返回數(shù)據(jù),查詢速度慢,用戶體驗差。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種獲取聚合數(shù)據(jù)的方法和裝置,解決聚合數(shù)據(jù)存儲成本高,不能對聚合數(shù)據(jù)及時更新的技術(shù)問題。為達到上述目的,本發(fā)明的實施例提供如下技術(shù)方案第一方面,提供一種獲取聚合數(shù)據(jù)的方法,包括按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩?;所述查詢?nèi)罩居涗浻袛?shù)據(jù)查詢命令、數(shù)據(jù)查詢命令的執(zhí)行耗時和數(shù)據(jù)查詢命令的執(zhí)行頻率;當(dāng)所述數(shù)據(jù)查詢命令的執(zhí)行耗時超過預(yù)設(shè)的時間閾值,或所述數(shù)據(jù)查詢命令的執(zhí)行頻率超過預(yù)設(shè)的頻率閾值時,將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫。結(jié)合第一方面,在第一方面的第一種可能的情況下,所述方法還包括當(dāng)接收到所述數(shù)據(jù)查詢命令時,判斷所述數(shù)據(jù)庫中是否存在符合查詢命令的聚合數(shù)據(jù);所述符合查詢命令的聚合數(shù)據(jù)中包含所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù);當(dāng)存在所述符合查詢命令的聚合數(shù)據(jù)時,將所述符合查詢命令的聚合數(shù)據(jù)中包含的所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù)返回給所述數(shù)據(jù)查詢命令的發(fā)出方。結(jié)合第一方面,在第一方面的第二種可能的情況下,所述方法還包括所述查詢?nèi)罩具€記錄有位于所述聚合數(shù)據(jù)中的被聚合數(shù)據(jù)的標識,以及所述被聚合數(shù)據(jù)的被查詢時刻;按照預(yù)設(shè)的第二周期讀取所述被聚合數(shù)據(jù)的被查詢時刻;當(dāng)所述被聚合數(shù)據(jù)相鄰兩次的被查詢時刻的時間差超過預(yù)設(shè)的時間閾值時,將所述被聚合數(shù)據(jù)所在的聚合數(shù)據(jù)刪除。結(jié)合第一方面和第一方面的第一種可能的情況,在第一方面的第三種可能的情況下,當(dāng)在所述數(shù)據(jù)庫中刪除原數(shù)據(jù)和/或增加新數(shù)據(jù)時,所述方法還包括刪除所述原數(shù)據(jù)所在的聚合數(shù)據(jù);和/或根據(jù)所述新數(shù)據(jù)生成聚合數(shù)據(jù)。第二方面,提供一種獲取聚合數(shù)據(jù)的裝置,包括查詢?nèi)罩精@取單元,用于按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩?;所述查詢?nèi)罩居涗浻袛?shù)據(jù)查詢命令、數(shù)據(jù)查詢命令的執(zhí)行耗時和數(shù)據(jù)查詢命令的執(zhí)行頻率;聚合數(shù)據(jù)生成單元,用于當(dāng)所述數(shù)據(jù)查詢命令的執(zhí)行耗時超過預(yù)設(shè)的時間閾值,或所述數(shù)據(jù)查詢命令的執(zhí)行頻率超過預(yù)設(shè)的頻率閾值時,將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫。結(jié)合第二方面,在第二方面的第一種可能的情況下,所述裝置還包括判斷單元,用于當(dāng)接收到所述數(shù)據(jù)查詢命令時,判斷所述數(shù)據(jù)庫中是否存在符合查詢命令的聚合數(shù)據(jù);所述符合查詢命令的聚合數(shù)據(jù)中包含所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù);返回數(shù)據(jù)單元,用于當(dāng)存在所述符合查詢命令的聚合數(shù)據(jù)時,將所述符合查詢命令的聚合數(shù)據(jù)中包含的所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù)返回給所述數(shù)據(jù)查詢命令的發(fā)出方。結(jié)合第二方面,在第二方面的第二種可能的情況下,所述裝置還包括讀取單元,用于按照預(yù)設(shè)的第二周期讀取所述被聚合數(shù)據(jù)的被查詢時刻;刪除單元,用于當(dāng)所述被聚合數(shù)據(jù)相鄰兩次的被查詢時刻的時間差超過預(yù)設(shè)的時間閾值時,將所述被聚合數(shù)據(jù)所在的聚合數(shù)據(jù)刪除。結(jié)合第二方面和第二方面的第一種可能的情況,在第二方面的第三種可能的情況下,所述刪除單元還用于當(dāng)在所述數(shù)據(jù)庫中刪除原數(shù)據(jù)時,刪除所述原數(shù)據(jù)所在的聚合數(shù)據(jù);所述聚合數(shù)據(jù)生成單元還用于當(dāng)在所述數(shù)據(jù)庫中增加新數(shù)據(jù)時,根據(jù)所述新數(shù)據(jù)生成聚合數(shù)據(jù)。本發(fā)明的實施例提供一種獲取聚合數(shù)據(jù)的方法和裝置,首先,按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩?;?dāng)所述數(shù)據(jù)查詢命令的執(zhí)行耗時超過預(yù)設(shè)的時間閾值,或所述數(shù)據(jù)查詢命令的執(zhí)行頻率超過預(yù)設(shè)的頻率閾值時,將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫。通過上述方案,一方面,降低聚合數(shù)據(jù)的存儲成本,及時更新聚合數(shù)據(jù);另一方面,提升查詢速度,提高用戶體驗。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例1中一種獲取聚合數(shù)據(jù)的方法的流程圖;圖2為本發(fā)明實施例2中另一種獲取聚合數(shù)據(jù)的方法的流程圖;圖3為本發(fā)明實施例2中聚合數(shù)據(jù)與數(shù)據(jù)庫、存儲介質(zhì)、原始數(shù)據(jù)的關(guān)系的示意圖;圖4為本發(fā)明實施例2中另一種獲取聚合數(shù)據(jù)的方法的流程圖;圖5為本發(fā)明實施例2中另一種獲取聚合數(shù)據(jù)的方法的流程圖;圖6為本發(fā)明實施例3中一種獲取聚合數(shù)據(jù)的裝置的框圖;圖7為本發(fā)明實施例3中另一種獲取聚合數(shù)據(jù)的裝置的框圖;圖8為本發(fā)明實施例3中另一種獲取聚合數(shù)據(jù)的裝置的框圖;圖9為本發(fā)明實施例3中一種獲取聚合數(shù)據(jù)的裝置的框圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。實施例1 :本發(fā)明的一個實施例提供一種獲取聚合數(shù)據(jù)的方法,如圖1所示,該方法包括如下步驟101、按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩?;所述查詢?nèi)罩居涗浻袛?shù)據(jù)查詢命令、數(shù)據(jù)查詢命令的執(zhí)行耗時和數(shù)據(jù)查詢命令的執(zhí)行頻率。查詢?nèi)罩局杏涗浀母黜梼?nèi)容用于管理聚合數(shù)據(jù),比如生成聚合數(shù)據(jù),刪除聚合數(shù)據(jù),更新聚合數(shù)據(jù)等。數(shù)據(jù)查詢命令的執(zhí)行耗時是指根據(jù)數(shù)據(jù)查詢命令從存儲在存儲介質(zhì)中的數(shù)據(jù)庫中查找到需要查找的數(shù)據(jù)后,向數(shù)據(jù)查詢命令發(fā)出方返回該數(shù)據(jù)所消耗的時間,具體的可以是,接收到數(shù)據(jù)查詢命令時系統(tǒng)的時刻與獲得查詢結(jié)果(可以是在數(shù)據(jù)庫中找到了所需查找的數(shù)據(jù),也可以是在數(shù)據(jù)庫中沒有找到所需查找的數(shù)據(jù))時的系統(tǒng)時刻的時間差。數(shù)據(jù)查詢命令的執(zhí)行頻率是在單位時間內(nèi)執(zhí)行等同數(shù)據(jù)查詢命令的次數(shù)。單位時間可以是12小時,24小時或15天等。102、當(dāng)所述數(shù)據(jù)查詢命令的執(zhí)行耗時超過預(yù)設(shè)的時間閾值,或所述數(shù)據(jù)查詢命令的執(zhí)行頻率超過預(yù)設(shè)的頻率閾值時,將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫。若執(zhí)行一次數(shù)據(jù)查詢命令的數(shù)據(jù)查詢命令的執(zhí)行耗時超過預(yù)設(shè)的時間閾值則說明數(shù)據(jù)查詢命令的發(fā)出方,在發(fā)出數(shù)據(jù)查詢命令后,等待了過長時間,影響了用戶體驗。當(dāng)執(zhí)行一個數(shù)據(jù)查詢命令的執(zhí)行頻率超過預(yù)設(shè)的頻率閾值時說明用戶對該條數(shù)據(jù)查詢命令對應(yīng)的數(shù)據(jù)的需求度較高,應(yīng)該生成聚合數(shù)據(jù),減少數(shù)據(jù)查詢命令的執(zhí)行耗時,提高查詢速度,優(yōu)化用戶體驗。本實施例提供一種獲取聚合數(shù)據(jù)的方法,首先,按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩荆划?dāng)所述數(shù)據(jù)查詢命令的執(zhí)行耗時超過預(yù)設(shè)的時間閾值,或所述數(shù)據(jù)查詢命令的執(zhí)行頻率超過預(yù)設(shè)的頻率閾值時,將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫。通過上述方案,一方面,降低聚合數(shù)據(jù)的存儲成本,及時更新聚合數(shù)據(jù) ’另一方面,提升查詢速度,提高用戶體驗。實施例2本發(fā)明的一個實施例提供一種獲取聚合數(shù)據(jù)的方法,如圖2所示,該方法包括如下步驟201、按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩尽?02、當(dāng)所述數(shù)據(jù)查詢命令的執(zhí)行耗時超過預(yù)設(shè)的時間閾值,或所述數(shù)據(jù)查詢命令 的執(zhí)行頻率超過預(yù)設(shè)的頻率閾值時,將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫。203、接收數(shù)據(jù)查詢命令。204、判斷所述數(shù)據(jù)庫中是否存在符合查詢命令的聚合數(shù)據(jù);所述符合查詢命令的聚合數(shù)據(jù)中包含所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù)。205、當(dāng)存在所述符合查詢命令的聚合數(shù)據(jù)時,將所述符合查詢命令的聚合數(shù)據(jù)中包含的所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù)返回給所述數(shù)據(jù)查詢命令的發(fā)出方。需要說明的是,根據(jù)查詢?nèi)罩旧删酆蠑?shù)據(jù)后,需要將聚合數(shù)據(jù)存儲在存儲介質(zhì)中。當(dāng)下一次執(zhí)行數(shù)據(jù)查詢命令時,首先在聚合數(shù)據(jù)中查找數(shù)據(jù)查詢命令所指定的數(shù)據(jù),成功找到數(shù)據(jù)查詢命令所指定的數(shù)據(jù)后,將該數(shù)據(jù)返回給數(shù)據(jù)查詢命令發(fā)出方。若在聚合數(shù)據(jù)中不能找到所需數(shù)據(jù),則在數(shù)據(jù)庫的原始數(shù)據(jù)中查找符合查詢命令的數(shù)據(jù)。圖3給出了原始數(shù)據(jù),聚合數(shù)據(jù),數(shù)據(jù)庫,存儲介質(zhì)的關(guān)系。數(shù)據(jù)庫包含原始數(shù)據(jù)和聚合數(shù)據(jù),聚合數(shù)據(jù)由原始數(shù)據(jù)生成,聚合數(shù)據(jù)與原始數(shù)據(jù)都存儲在存儲介質(zhì)中。進一步的,如圖4所示,本發(fā)明實施例提供的一種獲取聚合數(shù)據(jù)的方法還包括以下步驟301、在查詢?nèi)罩局杏涗浳挥谒鼍酆蠑?shù)據(jù)中的被聚合數(shù)據(jù)的標識,以及所述被聚合數(shù)據(jù)的被查詢時刻。先舉例說明步驟301中所述的位于所述聚合數(shù)據(jù)中的被聚合數(shù)據(jù)的標識例1,設(shè)現(xiàn)有數(shù)據(jù)A、B、C、D,根據(jù)步驟201和202生成聚合數(shù)據(jù)A、B和聚合數(shù)據(jù)C、D。為便于管理,將聚合數(shù)據(jù)A、B命名為甲;將聚合數(shù)據(jù)C、D名為乙。則甲、乙為所述聚合數(shù)據(jù)中的被聚合數(shù)據(jù)的標識。所述的被聚合數(shù)據(jù)的被查詢時刻是指當(dāng)執(zhí)行數(shù)據(jù)查詢命令時,在甲中查找到數(shù)據(jù)查詢命令所指定的數(shù)據(jù)A時,系統(tǒng)顯示的具體時刻。302、按照預(yù)設(shè)的第二周期讀取所述被聚合數(shù)據(jù)的被查詢時刻。303、當(dāng)所述被聚合數(shù)據(jù)相鄰兩次的被查詢時刻的時間差超過預(yù)設(shè)的時間閾值時,將所述被聚合數(shù)據(jù)所在的聚合數(shù)據(jù)刪除?,F(xiàn)詳細說明步驟303,同樣以例I為例系統(tǒng)第一次執(zhí)行數(shù)據(jù)查詢命令α,并在甲中找到該數(shù)據(jù)查詢命令所指定的數(shù)據(jù)Α,此時系統(tǒng)的時間為2012年10月I日12點O分O秒,并將此時刻記錄在查詢?nèi)罩局小O到y(tǒng)第二次執(zhí)行數(shù)據(jù)查詢命令α并在甲中找到該數(shù)據(jù)查詢命令所指定的數(shù)據(jù)A,此時系統(tǒng)的時間為2012年11月I日12點O分O秒,并將此時刻記錄在查詢?nèi)罩局?。系統(tǒng)在預(yù)設(shè)定的第二周期讀取甲所對應(yīng)的查詢時刻,并計算相鄰兩次的被查詢時刻的時間差(2012年10月I日12點O分O秒與2012年11月I日12點O分O秒之差),為31日。若預(yù)設(shè)的時間閾值為3日,則因為31大于3,故將甲從存儲介質(zhì)中刪除。進一步的,如圖5所示,還提供一種獲取聚合數(shù)據(jù)的方法401、在數(shù)據(jù)庫中刪除原始數(shù)據(jù)和/或增加新數(shù)據(jù)。當(dāng)數(shù)據(jù)庫中的原始數(shù)據(jù)發(fā)生變化(在原始數(shù)據(jù)中增加數(shù)據(jù)、刪除數(shù)據(jù)和修改數(shù)據(jù))時,重新生成聚合數(shù)據(jù)。能過觸發(fā)該操作執(zhí)行的事件包括但不限于原始數(shù)據(jù)發(fā)生變化后,在預(yù)定的時間點或按照預(yù)定的周期生成數(shù)據(jù)變化日志,系統(tǒng)按照預(yù)設(shè)定的周期讀取該日志,從而生成聚合數(shù)據(jù)。當(dāng)數(shù)據(jù)庫中原始數(shù)據(jù)發(fā)生變化時,自動生成數(shù)據(jù)變化日志,系統(tǒng)按照預(yù)設(shè)定的周期讀取該日志,從而生成聚合數(shù)據(jù)。當(dāng)采用ELT(Extraction-Loading-Transformation,數(shù)據(jù)提取、加載和轉(zhuǎn)換)工具更改數(shù)據(jù)時,數(shù)據(jù)完成更改后,觸發(fā)系統(tǒng)生成聚合數(shù)據(jù)。402、刪除所述原數(shù)據(jù)所在的聚合數(shù)據(jù)。將存儲在存儲介質(zhì)中的聚合數(shù)據(jù)刪除。403、根據(jù)所述新數(shù)據(jù)生成聚合數(shù)據(jù)。生成新的聚合數(shù)據(jù)后,將聚合數(shù)據(jù)存儲在存儲介質(zhì)中。本實施例提供一種獲取聚合數(shù)據(jù)的方法,首先,按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩?;然后將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫,當(dāng)在聚合數(shù)據(jù)不存在需要的數(shù)據(jù)時,從原始數(shù)據(jù)中查找并返回;還提供維護聚合數(shù)據(jù)的方法,刪除長時間沒有使用的聚合數(shù)據(jù),及時更新聚合數(shù)據(jù)。通過上述方案,一方面,降低聚合數(shù)據(jù)的存儲成本,及時更新聚合數(shù)據(jù);另一方面,提升查詢速度,提高用戶體驗。實施例3本發(fā)明的一個實施例提供一種獲取聚合數(shù)據(jù)的裝置,如圖6所示,該裝置包括查詢?nèi)罩精@取單元51,用于按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩?;所述查詢?nèi)罩居涗浻袛?shù)據(jù)查詢命令、數(shù)據(jù)查詢命令的執(zhí)行耗時和數(shù)據(jù)查詢命令的執(zhí)行頻率。聚合數(shù)據(jù)生成單元52,用于當(dāng)所述數(shù)據(jù)查詢命令的執(zhí)行耗時超過預(yù)設(shè)的時間閾值,或所述數(shù)據(jù)查詢命令的執(zhí)行頻率超過預(yù)設(shè)的頻率閾值時,將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫。進一步的,如圖7所示,所述裝置還包括判斷單元53,用于當(dāng)接收到所述數(shù)據(jù)查詢命令時,判斷所述數(shù)據(jù)庫中是否存在符合查詢命令的聚合數(shù)據(jù);所述符合查詢命令的聚合數(shù)據(jù)中包含所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù)。返回數(shù)據(jù)單元54,用于當(dāng)存在所述符合查詢命令的聚合數(shù)據(jù)時,將所述符合查詢命令的聚合數(shù)據(jù)中包含的所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù)返回給所述數(shù)據(jù)查詢命令的發(fā)出方。進一步的,如圖8所示,所述裝置還包括
讀取單元55,用于按照預(yù)設(shè)的第二周期讀取所述被聚合數(shù)據(jù)的被查詢時刻。刪除單元56,用于當(dāng)所述被聚合數(shù)據(jù)相鄰兩次的被查詢時刻的時間差超過預(yù)設(shè)的時間閾值時,將所述被聚合數(shù)據(jù)所在的聚合數(shù)據(jù)刪除;當(dāng)在所述數(shù)據(jù)庫中刪除原數(shù)據(jù)時,刪除所述原數(shù)據(jù)所在的聚合數(shù)據(jù)。進一步的,所述聚合數(shù)據(jù)生成單元52,還用于當(dāng)在所述數(shù)據(jù)庫中刪除原數(shù)據(jù)和/或增加新數(shù)據(jù)時,根據(jù)所述新數(shù)據(jù)生成聚合數(shù)據(jù)。需要指出的是,查詢?nèi)罩精@取單元51,聚合數(shù)據(jù)生成單元52,判斷單元53,返回數(shù)據(jù)單元54,讀取單元55,刪除單元56可以集成在處理器中。本發(fā)明實施例還提供一種獲取聚合數(shù)據(jù)的裝置,如圖9所示,該裝置包括接收器601用于接收數(shù)據(jù)查詢命令。發(fā)送器602用于當(dāng)存在所述符合查詢命令的聚合數(shù)據(jù)時,將所述符合查詢命令的聚合數(shù)據(jù)中包含的所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù)返回給所述數(shù)據(jù)查詢命令的發(fā)出方。處理器603用于按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩?;所述查詢?nèi)罩居涗浻袛?shù)據(jù)查詢命令、數(shù)據(jù)查詢命令的執(zhí)行耗時和數(shù)據(jù)查詢命令的執(zhí)行頻率;當(dāng)所述數(shù)據(jù)查詢命令的執(zhí)行耗時超過預(yù)設(shè)的時間閾值,或所述數(shù)據(jù)查詢命令的執(zhí)行頻率超過預(yù)設(shè)的頻率閾值時,將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫;除此之外,當(dāng)接收到所述數(shù)據(jù)查詢命令時,判斷所述數(shù)據(jù)庫中是否存在符合查詢命令的聚合數(shù)據(jù);所述符合查詢命令的聚合數(shù)據(jù)中包含所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù);還用于按照預(yù)設(shè)的第二周期讀取所述被聚合數(shù)據(jù)的被查詢時刻;當(dāng)所述被聚合數(shù)據(jù)相鄰兩次的被查詢時刻的時間差超過預(yù)設(shè)的時間閾值時,將所述被聚合數(shù)據(jù)所在的聚合數(shù)據(jù)刪除;當(dāng)在所述數(shù)據(jù)庫中刪除原數(shù)據(jù)時,刪除所述原數(shù)據(jù)所在的聚合數(shù)據(jù);當(dāng)在所述數(shù)據(jù)庫中增加新數(shù)據(jù)時,根據(jù)所述新數(shù)據(jù)生成聚合數(shù)據(jù)。本實施例提供一種獲取聚合數(shù)據(jù)的方法,首先,按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩?;然后將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫,當(dāng)在聚合數(shù)據(jù)找不到需要的數(shù)據(jù)時,從原始數(shù)據(jù)中查找并返回;還提供維護聚合數(shù)據(jù)的方法,刪除長時間沒有使用的聚合數(shù)據(jù),及時更新聚合數(shù)據(jù)。通過上述方案,一方面,降低聚合數(shù)據(jù)的存儲成本,及時更新聚合數(shù)據(jù);另一方面,提升查詢速度,提高用戶體驗。通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如移動接入終端硬盤或存儲卡等,包括若干指令用以使得一臺移動接入終端設(shè)備(可以是個人平板電腦,手機等)執(zhí)行本發(fā)明各個實施例所述的方法。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種獲取聚合數(shù)據(jù)的方法,其特征在于,包括 按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩?;所述查詢?nèi)罩居涗浻袛?shù)據(jù)查詢命令、數(shù)據(jù)查詢命令的執(zhí)行耗時和數(shù)據(jù)查詢命令的執(zhí)行頻率; 當(dāng)所述數(shù)據(jù)查詢命令的執(zhí)行耗時超過預(yù)設(shè)的時間閾值,或所述數(shù)據(jù)查詢命令的執(zhí)行頻率超過預(yù)設(shè)的頻率閾值時,將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括 當(dāng)接收到所述數(shù)據(jù)查詢命令時,判斷所述數(shù)據(jù)庫中是否存在符合查詢命令的聚合數(shù)據(jù);所述符合查詢命令的聚合數(shù)據(jù)中包含所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù); 當(dāng)存在所述符合查詢命令的聚合數(shù)據(jù)時,將所述符合查詢命令的聚合數(shù)據(jù)中包含的所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù)返回給所述數(shù)據(jù)查詢命令的發(fā)出方。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述查詢?nèi)罩具€記錄有位于所述聚合數(shù)據(jù)中的被聚合數(shù)據(jù)的標識,以及所述被聚合數(shù)據(jù)的被查詢時刻; 所述方法還包括 按照預(yù)設(shè)的第二周期讀取所述被聚合數(shù)據(jù)的被查詢時刻; 當(dāng)所述被聚合數(shù)據(jù)相鄰兩次的被查詢時刻的時間差超過預(yù)設(shè)的時間閾值時,將所述被聚合數(shù)據(jù)所在的聚合數(shù)據(jù)刪除。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,當(dāng)在所述數(shù)據(jù)庫中刪除原數(shù)據(jù)和/或增加新數(shù)據(jù)時,所述方法還包括 刪除所述原數(shù)據(jù)所在的聚合數(shù)據(jù);和/或 根據(jù)所述新數(shù)據(jù)生成聚合數(shù)據(jù)。
5.一種獲取聚合數(shù)據(jù)的裝置,其特征在于,包括 查詢?nèi)罩精@取單元,用于按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩荆凰霾樵內(nèi)罩居涗浻袛?shù)據(jù)查詢命令、數(shù)據(jù)查詢命令的執(zhí)行耗時和數(shù)據(jù)查詢命令的執(zhí)行頻率; 聚合數(shù)據(jù)生成單元,用于當(dāng)所述數(shù)據(jù)查詢命令的執(zhí)行耗時超過預(yù)設(shè)的時間閾值,或所述數(shù)據(jù)查詢命令的執(zhí)行頻率超過預(yù)設(shè)的頻率閾值時,將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述裝置還包括 判斷單元,用于當(dāng)接收到所述數(shù)據(jù)查詢命令時,判斷所述數(shù)據(jù)庫中是否存在符合查詢命令的聚合數(shù)據(jù);所述符合查詢命令的聚合數(shù)據(jù)中包含所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù); 返回數(shù)據(jù)單元,用于當(dāng)存在所述符合查詢命令的聚合數(shù)據(jù)時,將所述符合查詢命令的聚合數(shù)據(jù)中包含的所述數(shù)據(jù)查詢命令所指定的數(shù)據(jù)返回給所述數(shù)據(jù)查詢命令的發(fā)出方。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述查詢?nèi)罩具€記錄有位于所述聚合數(shù)據(jù)中的被聚合數(shù)據(jù)的標識,以及所述被聚合數(shù)據(jù)的被查詢時刻; 所述裝置還包括 讀取單元,用于按照預(yù)設(shè)的第二周期讀取所述被聚合數(shù)據(jù)的被查詢時刻; 刪除單元,用于當(dāng)所述被聚合數(shù)據(jù)相鄰兩次的被查詢時刻的時間差超過預(yù)設(shè)的時間閾值時,將所述被聚合數(shù)據(jù)所在的聚合數(shù)據(jù)刪除。
8.根據(jù)權(quán)利要求5或6所述的裝置,其特征在于,所述刪除單元還用于當(dāng)在所述數(shù)據(jù)庫中刪除原數(shù)據(jù)時,刪除所述原數(shù)據(jù)所在的聚合數(shù)據(jù); 所述聚合數(shù)據(jù)生成單元還用于當(dāng)在所述數(shù)據(jù)庫中增加新數(shù)據(jù)時,根據(jù)所述新數(shù)據(jù)生成聚合數(shù)據(jù)。
全文摘要
本發(fā)明是實施例公開一種獲取聚合數(shù)據(jù)的方法和裝置,涉及計算機領(lǐng)域,解決現(xiàn)有技術(shù)中存儲成本高,用戶體驗差的技術(shù)問題。一種獲取聚合數(shù)據(jù)的方法,包括,按照預(yù)設(shè)的第一周期獲取數(shù)據(jù)庫的查詢?nèi)罩?;?dāng)所述數(shù)據(jù)查詢命令的執(zhí)行耗時超過預(yù)設(shè)的時間閾值,或所述數(shù)據(jù)查詢命令的執(zhí)行頻率超過預(yù)設(shè)的頻率閾值時,將滿足所述數(shù)據(jù)查詢命令的數(shù)據(jù)組合作為聚合數(shù)據(jù)存儲入所述數(shù)據(jù)庫。本發(fā)明主要應(yīng)用于數(shù)據(jù)查詢和數(shù)據(jù)存儲中。
文檔編號G06F17/30GK103020175SQ20121049546
公開日2013年4月3日 申請日期2012年11月28日 優(yōu)先權(quán)日2012年11月28日
發(fā)明者王潤松 申請人:深圳市華為技術(shù)軟件有限公司