專利名稱:時序數據的存儲和查詢方法、系統及裝置的制作方法
技術領域:
本發明涉及通信網絡技術領域,特別涉及一種時序數據的存儲方法和存儲裝置, 以及時序數據的查詢方法及查詢系統。
背景技術:
在高速網絡中,對網絡流量信息進行實時采集、統計、分析并提供快速查詢功能, 是網絡流量監測中面對的主要難題。傳統的流量統計和查詢多是基于小流量的統計,并且存儲的數據量也較小,因此查詢方式也比較簡單。但是,傳統的簡單的查詢方式已經無法滿足高速網絡流量統計產生的大規模數據的快速存儲、快速查詢的需求。
針對某些具體的數據查詢應用,專利(申請號為201010115869. 2,申請日為2010 年3月1日)公開了一種數據處理和查詢方法和裝置,針對大規模數據查詢時,建立二級索引,利用索引加快查詢。該申請中記載的方法維護索引信息相對麻煩,并且對于結構化的時序數據不能達到快速查詢的目的。
傳統的流量統計和查詢包括以下兩種方式
(1)構建查詢索引。這種方式的缺點在于構建查詢索引需要占用額外的存儲空間, 索引維護也相對麻煩,維護成本高;
(2)構建查詢緩存。這種方式的缺點在于需要不斷更新緩存信息,時序數據是不斷更新的,從而會降低在緩存中的查詢命中率,無法滿足快速查詢的要求。發明內容
本發明的目的旨在至少解決上述技術缺陷之一。
為此,本發明的第一個目的在于提供一種時序數據的存儲方法,該方法可以對網絡流量進行精確的統計,從而為網絡規劃、網絡監測提供實時、可靠的數據依據。本發明的第二個目的在于提供一種時序數據的存儲裝置。本發明的第三個目的在于提供一種時序數據的查詢方法。該方法可以實現對統計數據的快速查詢。本發明的第四個目的在于提供一種時序數據的查詢系統。
為實現上述目的,本發明第一方面的實施例提供一種時序數據的存儲方法,包括如下步驟收集原始流信息;以第一時間粒度對所述原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息;以及以第二時間粒度對所述第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息,其中,所述第二時間粒度大于所述第一時間粒度。
根據本發明實施例的時序數據的存儲方法,可以實現對網絡流量的精確統計分析并提供對統計數據的存儲,從而為網絡規劃、網絡監測等應用提供實時、可靠、準確的數據依據,從而提高運維響應的速度。
本發明第二方面的實施例提供一種時序數據的存儲裝置,包括收集模塊,用于收集原始流信息;第一匯聚模塊,用于以第一時間粒度對所述原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息;第二匯聚模塊,用于以第二時間粒度對所述第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息。
根據本發明實施例的時序數據的存儲裝置,可以實現對網絡流量的精確統計分析并提供對統計數據的存儲,從而為網絡規劃、網絡監測等應用提供實時、可靠、準確的數據依據,從而提高運維響應的速度。
本發明第三方面的實施例提供了一種時序數據的查詢方法,包括如下步驟收集原始流信息;以第一時間粒度對所述原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息;以第二時間粒度對所述第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息,其中,所述第二時間粒度大于所述第一時間粒度;接收用戶的查詢請求,并解析所述查詢請求中的時間區間;以所述第一時間粒度和/或第二時間粒度對所述時間區間進行劃分;以及根據劃分結果分別從所述第一流信息和/或第二流信息中查詢時序數據。
根據本發明實施例的時序數據的查詢方法可以實現對網絡流量的統計數據的快速查詢,從而為網絡規劃、網絡監測等應用提供實時、可靠、準確的數據依據,進而提高運維響應的速度。
本發明第四方面的實施例提供一種時序數據的查詢系統,包括收集裝置,用于收集原始流信息;匯聚裝置,用于以第一時間粒度對所述原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息,并以第二時間粒度對所述第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息;數據庫,用于存儲所述第一流信息和所述第二流信息;查詢裝置,用于接收用戶的查詢請求,并解析所述查詢請求中的時間區間,以及以所述第一時間粒度和/或第二時間粒度對所述時間區間進行劃分,和根據劃分結果分別從所述數據庫中存儲的第一流信息和/或第二流信息中查詢時序數據。
根據本發明實施例的時序數據的查詢系統可以實現對網絡流量的統計數據的快速查詢,從而為網絡規劃、網絡監測等應用提供實時、可靠、準確的數據依據,進而提高運維響應的速度。
本發明附加的方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發明的實踐了解到。
本發明上述的和/或附加的方面和優點從下面結合附圖對實施例的描述中將變得明顯和容易理解,其中
圖1為根據本發明實施例的時序數據的存儲方法的流程框圖2為根據本發明實施例的時序數據的存儲方法的示意圖3為根據本發明實施例的時序數據的存儲裝置的結構圖4為根據本發明實施例的第一匯聚模塊的結構圖5為根據本發明實施例的第二匯聚模塊的結構圖6為根據本發明實施例的時序數據的查詢方法的流程框圖7為根據本發明實施例的時序數據的查詢方法的示意圖;和
圖8為根據本發明實施例的查詢系統的結構。
具體實施方式
下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發明,而不能解釋為對本發明的限制。
參照下面的描述和附圖,將清楚本發明的實施例的這些和其他方面。在這些描述和附圖中,具體公開了本發明的實施例中的一些特定實施方式,來表示實施本發明的實施例的原理的一些方式,但是應當理解,本發明的實施例的范圍不受此限制。相反,本發明的實施例包括落入所附加權利要求書的精神和內涵范圍內的所有變化、修改和等同物。
下面參考圖1和圖2描述根據本發明實施例的時序數據的存儲方法。
如圖1所示,本發明實施例提供的時序數據的存儲方法,包括如下步驟
步驟S101,收集原始流信息。
步驟S102,以第一時間粒度對原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息。
步驟S103,以第二時間粒度對第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息,其中,第二時間粒度大于第一時間粒度。
根據本發明實施例的時序數據的存儲方法,可以實現對網絡流量的精確統計分析并提供對統計數據的存儲,從而為網絡規劃、網絡監測等應用提供實時、可靠、準確的數據依據,從而提高運維響應的速度。
下面結合圖2對本發明實施例的時序數據的存儲方法進行詳細描述。
如圖2所示,本發明實施例提供的時序數據的存儲方法,包括如下步驟
步驟S201,接收原始流信息。
采集交換機輸出的網絡流量netflow數據,其中,netflow數據是由交換機的流量統計模塊產生,能夠真實反映網絡中的流量信息。然后,按照netflow報文格式提取原始流信息。其中,原始流信息包括源IPdnternetProtocol,網絡之間互連的協議)地址、目的 IP地址、流入交換機端口索引、流出交換機端口索引、持續時間和開始時間。其中,源IP地址、目的IP地址、流入交換機端口索引和流出交換機端口索引共同組成四元組信息。
步驟S202,判斷接收到的原始流信息是否到達第一時間粒度,如果是,則執行步驟 S203,否則返回步驟S201,重復執行步驟S201和步驟S202直至接收原始流信息累積到第一時間粒度。
在本發明的一個實施例中,第一時間粒度為分鐘級,例如可以為5分鐘。在接收到網絡流量netf low數據后,檢查累計接收數據時間是否到達5分鐘,如果到達5分鐘則轉入步驟S203,否則轉入步驟S201。
步驟S203,按照流單元的四元組進行第一次流量匯聚。
對原始流信息在第一時間粒度內的所有流單元的四元組進行統計。其中四元組信息包括源IP地址、目的IP地址、流入交換機端口索引和流出交換機端口索引。然后將統計的四元組信息進行第一次匯聚以生成第一流信息,并將該第一流信息輸出至步驟S204。其中第一流信息包括四元組信息和四元組信息對應的第一開始時間和第一持續時間。在本發明的一個實施例中,第一持續時間小于第一時間粒度。
例如從1 00至1 05對所有流單元的四元組信息進行統計,第一時間粒度為5分鐘。其中,數據流入交換機的時間為1:02,數據流出交換機的時間為1:04,即第一開始時間為1:02,第一持續時間為2分鐘。第一流信息包括流經交換機的數據的四元組信息和對應的第一開始時間及第一持續時間。
步驟S204,將第一次流量匯聚的流信息存儲為第一流信息。
將步驟S203經過第一次匯聚后得到的第一流信息進行存儲,并指定存儲到對應與第一時間粒度的存儲單元中。
步驟S205,判斷接收到的第一流信息是否到達第二時間粒度,如果是,則執行步驟 S206,否則返回步驟S201,重復執行步驟S201至步驟S205直至接收原始流信息累積到第二時間粒度。
在本發明的一個實施例中,第二時間粒度為小時級,例如可以為1小時。檢查累計接收到的第一流信息數據時間是否到達1小時,如果到達1小時則轉入步驟S206,否則轉入步驟S201。
步驟S206,按照流單元的四元組進行第二次流量匯聚。
對第一流信息在第一時間粒度內的所有第一流信息的四元組進行統計。然后將統計的四元組信息進行第二次匯聚以生成第二流信息,并將該第二流信息輸出至步驟S207。 其中,第二流信息包括第一流信息的四元組信息和四元組信息對應的第二開始時間和第二持續時間。第二開始時間和第二持續時間通過根據四元組信息對第一開始時間和第一持續時間匯聚得到。在本發明的一個實施例中,第二持續時間小于第二時間粒度。
例如從1 00至2 00對第一流信息的四元組信息進行統計,第二時間粒度為1小時。其中,數據流入交換機的時間為1:02,數據流出交換機的時間為1:55,即第二開始時間為1:02,第二持續時間為53分鐘。第二流信息包括第一流信息的四元組信息和對應的第二開始時間及第二持續時間。具體地,第一流信息中1:00 1:05的四元組信息、1:05 1:10的四元組信息.......1:55 2:00的四元組信息等12個四元組信息。第二次匯聚不需要對從1:00至2:00流經交換機的原始流信息的四元組信息進行匯聚,只需要從第一次匯聚得到的第一流信息中查找到對應于第二時間粒度的四元組信息并進行匯聚即可。
步驟S207,將第二次流量匯聚的流信息存儲為第二流信息。
將步驟S206經過第二次匯聚后得到的第二流信息進行存儲,并指定存儲到對應與第二時間粒度的存儲單元中。
需要說明的是,對于不同時間粒度下匯聚得到的流信息需要分開存儲,即分別存儲到不同的存儲單元中。
可以理解的是,匯聚的次數不限于兩次,也可以為多次。例如,再進行完第二次匯聚后,以第三時間粒度對第二流信息進行匯聚以生成第三流信息,并存儲到指定的存儲空間中。其中,第三時間粒度可以為8個小時。匯聚的次數以及每次匯聚的時間粒度可以由管理員根據交換機的負荷程度進行設置。
根據本發明實施例的時序數據的存儲方法,可以采用不同的時間粒度對流經交換機的流量進行匯聚以得到相應的流信息,從而實現對網絡流量的精確統計分析并提供對統計數據的存儲,從而為網絡規劃、網絡監測等應用提供實時、可靠、準確的數據依據,從而提高運維響應的速度。
下面參考圖3描述根據本發明實施例的時序數據的存儲裝置300。
如圖3所示,本發明實施例提供的時序數據的存儲裝置300包括收集模塊310、第一匯聚模塊320和第二匯聚模塊330。其中,收集模塊310用于收集原始流信息,第一匯聚模塊320用于以第一時間粒度對原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息,第二匯聚模塊330用于以第二時間粒度對第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息。
收集模塊310采集交換機輸出的網絡流量netflow數據,按照netflow報文格式提取原始流信息,并將該原始流信息發送給第一匯聚模塊320。其中,原始流信息包括源 IP (Internet Protocol,網絡之間互連的協議)地址、目的IP地址、流入交換機端口索引、 流出交換機端口索引、持續時間和開始時間。其中,源IP地址、目的IP地址、流入交換機端口索引和流出交換機端口索引共同組成四元組信息。
如圖4所示,第一匯聚模塊320包括第一統計子模塊321和第一匯聚子模塊322。 其中,第一統計子模塊321用于對原始流信息中在第一時間粒度內的所有流單元的四元組信息進行統計,第一匯聚子模塊322用于將第一統計子模塊321統計的四元組信息進行第一次匯聚以生成第一流信息。其中,第一流信息包括四元組信息和四元組信息對應的第一開始時間和第一持續時間。在本發明的一個實施例中,第一持續時間小于第一時間粒度。
具體地,第一統計子模塊321判斷接收到的原始流信息是否到達第一時間粒度, 如果是,則對原始流信息在第一時間粒度內的所有流單元的四元組進行統計。在本發明的一個實施例中,第一時間粒度為分鐘級,例如可以為5分鐘。在接收到網絡流量netflow數據后,第一統計子模塊321檢查累計接收數據時間是否到達5分鐘,如果是則對原始流信息在5分鐘內的所有流單元的四元組進行統計。然后由第一匯聚子模塊322將統計的四元組信息進行第一次匯聚以生成第一流信息,并將該第一流信息輸出至第二匯聚模塊330。
第二匯聚子模塊322將經過第一次匯聚后得到的第一流信息進行存儲,并指定存儲到對應與第一時間粒度的存儲單元中。
如圖5所示,第二匯聚模塊330包括第二統計子模塊331和第二匯聚子模塊332, 其中,第二統計子模塊331用于對第一流信息中在第二時間粒度內的所有第一流信息的四元組信息進行統計,第二匯聚子模塊332用于將第二統計子模塊統計的四元組信息進行第二次匯聚以生成第二流信息。其中,第二流信息包括四元組信息和四元組信息對應的第二開始時間和第二持續時間。其中第二開始時間和第二持續時間為根據四元組信息對第一開始時間和第一持續時間匯聚得到。在本發明的一個實施例中,第二持續時間小于第二時間粒度。
第二統計子模塊331對來自第一匯聚子模塊322輸出的第一流信息在第一時間粒度內的所有第一流信息的四元組進行統計。在本發明的一個實施例中,第二時間粒度為小時級,例如可以為1小時。第二統計子模塊331在接收到網絡流量netflow數據后,檢查累計接收數據時間是否到達1小時,如果是,則對來自第一匯聚子模塊322輸出的第一流信息在第一時間粒度內的所有第一流信息的四元組進行統計。然后由第二匯聚子模塊332將統計的四元組信息進行第二次匯聚以生成第二流信息。
第二匯聚子模塊332將經過第二次匯聚后得到的第二流信息進行存儲,并指定存儲到對應與第二時間粒度的存儲單元中。
需要說明的是,對于不同時間粒度下匯聚得到的流信息需要分開存儲,即分別存儲到不同的存儲單元中。
可以理解的是,匯聚的次數不限于兩次,也可以為多次。例如,再進行完第二次匯聚后,以第三時間粒度對第二流信息進行匯聚以生成第三流信息,并存儲到指定的存儲空間中。其中,第三時間粒度可以為8個小時。匯聚的次數以及每次匯聚的時間粒度可以由管理員根據交換機的負荷程度進行設置。
根據本發明實施例的時序數據的存儲裝置,可以采用不同的時間粒度對流經交換機的流量進行匯聚以得到相應的流信息,從而實現對網絡流量的精確統計分析并提供對統計數據的存儲,從而為網絡規劃、網絡監測等應用提供實時、可靠、準確的數據依據,從而提高運維響應的速度。
下面圖6和圖7描述根據本發明實施例的時序數據的查詢方法。
如圖6所示,本發明實施例的時序數據的查詢方法,包括如下步驟
步驟S601,收集原始流信息。
步驟S602,以第一時間粒度對原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息。在本發明的一個實施例中,第一時間粒度為分鐘級,例如可以為5 分鐘。
步驟S603,以第二時間粒度對第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息。其中,第二時間粒度大于第一時間粒度。在本發明的一個實施例中,第二時間粒度為小時級,例如可以為1小時。
步驟S604,接收用戶的查詢請求,并解析查詢請求中的時間區間。
步驟S605,以第一時間粒度和/或第二時間粒度對時間區間進行劃分。
步驟S606,根據劃分結果分別從第一流信息和/或第二流信息中查詢時序數據。
根據本發明實施例的時序數據的查詢方法可以實現對網絡流量的統計數據的快速查詢,從而為網絡規劃、網絡監測等應用提供實時、可靠、準確的數據依據,進而提高運維響應的速度。
在本發明的一個實施例中,以第一時間粒度對原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息,包括如下步驟以第一時間粒對原始流信息在第一時間粒度內的所有流單元的四元組進行統計。其中四元組信息包括源IP地址、目的IP 地址、流入交換機端口索引和流出交換機端口索引。然后將統計的四元組信息進行第一次匯聚以生成第一流信息。其中第一流信息包括四元組信息和四元組信息對應的第一開始時間和第一持續時間。在本發明的一個實施例中,第一持續時間小于第一時間粒度。將第一次匯聚后得到的第一流信息進行存儲,并指定存儲到對應與第一時間粒度的存儲單元中。
在本發明的一個實施例中,以第二時間粒度對第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息,包括如下步驟以第二時間粒度對第一流信息在第一時間粒度內的所有第一流信息的四元組進行統計。然后將統計的四元組信息進行第二次匯聚以生成第二流信息。其中,第二流信息包括第一流信息的四元組信息和四元組信息對應的第二開始時間和第二持續時間。第二開始時間和第二持續時間通過根據四元組信息對第一開始時間和第一持續時間匯聚得到。在本發明的一個實施例中,第二持續時間小于第二時間粒度。將經過第二次匯聚后得到的第二流信息進行存儲,并指定存儲到對應與第二時間粒度的存儲單元中。
需要說明的是,對于不同時間粒度下匯聚得到的流信息需要分開存儲,即分別存儲到不同的存儲單元中。
可以理解的是,匯聚的次數不限于兩次,也可以為多次。例如,再進行完第二次匯聚后,以第三時間粒度對第二流信息進行匯聚以生成第三流信息,并存儲到指定的存儲空間中。其中,第三時間粒度可以為8個小時。匯聚的次數以及每次匯聚的時間粒度可以由管理員根據交換機的負荷程度進行設置。
如圖7所示,在第二次匯聚完成后,還包括如下步驟
S701,接收來自用戶的查詢請求。
S702,解析查詢請求中的時間區間。
對用戶發送的查詢請求進行解析,以獲得用戶需要查詢的時間區間。然后以第一時間粒度和/或第二時間粒度對時間區間進行劃分。具體地,時間區間可以劃分為以下幾種情況
(1)時間區間可以劃分為一個或多個第一時間粒度。例如時間區間為1:00 3:00,第一時間粒度為5分鐘,則時間區間可以劃分為M個第一時間粒度。
(2)時間區間可以劃分為一個或多個第二時間粒度。例如時間區間為1:00 3:00,第二時間粒度為1小時,則時間區間可以劃分為2個第二時間粒度。
(3)時間區間可以劃分為一個或多個第一時間粒度和一個或多個第二時間粒度。 例如時間區間為1:00 3:00,第一時間粒度為5分鐘,第二時間粒度為1小時,則時間區間可以劃分為12個第一時間粒度和1個第二時間粒度。
S703,根據時間區間選擇有效的數據存儲單元。
根據時間區間在存儲第一流信息和第二流信息中的數據庫中選擇有效的數據存儲單元。具體地,如果時間區間被劃分為一個或多個第一時間粒度,則從數據庫中選擇存儲有第一流信息的數據存儲單元。如果時間區間被劃分為一個或多個第二時間粒度,則從數據庫中選擇存儲有第二流信息的數據存儲單元。如果時間區間被劃分為一個或多個第一時間粒度和一個或多個第二時間粒度,則從數據庫中選擇存儲有第一流信息的數據存儲單元和第二流信息的數據存儲單元。
S704,將選擇的數據存儲單元合并為成一個新的數據存儲單元。
將步驟S703中選擇的有效的數據存儲單元合并為新的存儲單元。其中,新的存儲單元與有效的存儲單元具有相同的結構。
S705,構建新的查詢SQL語句,從新的數據存儲單元中查詢信息。
根據新的存儲單元重構查詢SQL語句,從而在新的數據存儲單元中查詢信息。
S706,對查詢出來的信息進行格式化處理。
S707,輸出格式化的查詢信息。
根據本發明實施例的時序數據的查詢方法將用戶的查詢請求對應的查詢時間區間按照第一時間粒度和/或第二時間粒度進行劃分,根據劃分結果在第一流信息和/或第二流信息中查詢時序數據,從而實現對網絡流量的統計數據的快速查詢,從而為網絡規劃、 網絡監測等應用提供實時、可靠、準確的數據依據,進而提高運維響應的速度。
下面參考圖8描述根據本發明實施例的時序數據的查詢系統800。
如圖8所示,本發明實施例提供的時序數據的查詢系統800,包括收集裝置810、 匯聚裝置820、數據庫830和查詢裝置840。其中,收集裝置810用于收集原始流信息,匯聚裝置820用于以第一時間粒度對原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息,并以第二時間粒度對第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息,數據庫830用于存儲第一流信息和所述第二流信息,查詢裝置 840用于接收用戶的查詢請求,并解析查詢請求中的時間區間,以及以第一時間粒度和/或第二時間粒度對時間區間進行劃分,和根據劃分結果分別從數據庫中存儲的第一流信息和 /或第二流信息中查詢時序數據。
在本發明的一個實施例中,匯聚裝置840進一步包括第一匯聚模塊和第二匯聚模塊。
第一匯聚模塊用于以第一時間粒度對原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息。具體地,第一匯聚模塊進一步包括第一統計子模塊和第一匯聚子模塊。第一統計子模塊用于對原始流信息中在第一時間粒度內的所有流單元的四元組信息進行統計,第一匯聚子模塊用于將第一統計子模塊統計的四元組信息進行第一次匯聚以生成第一流信息。其中,第一流信息包括四元組信息和四元組信息對應的第一開始時間和第一持續時間。在本發明的一個實施例中,第一時間粒度為分鐘級,例如可以為5分鐘。
具體地,第一統計子模塊以第一時間粒對原始流信息在第一時間粒度內的所有流單元的四元組進行統計。其中四元組信息包括源IP地址、目的IP地址、流入交換機端口索引和流出交換機端口索引。第一匯聚子模塊將統計的四元組信息進行第一次匯聚以生成第一流信息。其中第一流信息包括四元組信息和四元組信息對應的第一開始時間和第一持續時間。在本發明的一個實施例中,第一持續時間小于第一時間粒度。將第一次匯聚后得到的第一流信息進行存儲,并指定存儲到對應與第一時間粒度的存儲單元中。
第二匯聚模塊用于以第二時間粒度對第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息。具體地,第二匯聚模塊進一步包括第二統計子模塊和第二匯聚子模塊。其中,第二統計子模塊用于對第一流信息中在第二時間粒度內的所有第一流信息的四元組信息進行統計,第二匯聚子模塊用于將第二統計子模塊統計的四元組信息進行第二次匯聚以生成第二流信息。在本發明的一個實施例中,第二時間粒度為小時級,例如可以為1小時。
在本發明的一個實施例中,第二統計子模塊以第二時間粒度對第一流信息在第一時間粒度內的所有第一流信息的四元組進行統計。第二匯聚子模塊將統計的四元組信息進行第二次匯聚以生成第二流信息。其中,第二流信息包括第一流信息的四元組信息和四元組信息對應的第二開始時間和第二持續時間。第二開始時間和第二持續時間通過根據四元組信息對第一開始時間和第一持續時間匯聚得到。在本發明的一個實施例中,第二持續時間小于第二時間粒度。將經過第二次匯聚后得到的第二流信息進行存儲,并指定存儲到對應與第二時間粒度的存儲單元中。
需要說明的是,對于不同時間粒度下匯聚得到的流信息需要分開存儲,即分別存儲到不同的存儲單元中。可以理解的是,匯聚的次數不限于兩次,也可以為多次。例如,再進行完第二次匯聚后,以第三時間粒度對第二流信息進行匯聚以生成第三流信息,并存儲到指定的存儲空間中。其中,第三時間粒度可以為8個小時。匯聚的次數以及每次匯聚的時間粒度可以由管理員根據交換機的負荷程度進行設置。
查詢裝置840接收來自用戶的查詢請求,并對用戶發送的查詢請求進行解析以獲得用戶需要查詢的時間區間。然后以第一時間粒度和/或第二時間粒度對時間區間進行劃分。具體地,時間區間可以劃分為以下幾種情況
(1)時間區間可以劃分為一個或多個第一時間粒度。例如時間區間為1:00 3:00,第一時間粒度為5分鐘,則時間區間可以劃分為M個第一時間粒度。
(2)時間區間可以劃分為一個或多個第二時間粒度。例如時間區間為1:00 3:00,第二時間粒度為1小時,則時間區間可以劃分為2個第二時間粒度。
(3)時間區間可以劃分為一個或多個第一時間粒度和一個或多個第二時間粒度。 例如時間區間為1:00 3:00,第一時間粒度為5分鐘,第二時間粒度為1小時,則時間區間可以劃分為12個第一時間粒度和1個第二時間粒度。
查詢裝置840根據時間區間在存儲第一流信息和第二流信息中的數據庫中選擇有效的數據存儲單元。具體地,如果時間區間被劃分為一個或多個第一時間粒度,則查詢裝置840從數據庫中選擇存儲有第一流信息的數據存儲單元。如果時間區間被劃分為一個或多個第二時間粒度,則查詢裝置840從數據庫中選擇存儲有第二流信息的數據存儲單元。 如果時間區間被劃分為一個或多個第一時間粒度和一個或多個第二時間粒度,則查詢裝置 840從數據庫中選擇存儲有第一流信息的數據存儲單元和第二流信息的數據存儲單元。
查詢裝置840將選擇的有效的數據存儲單元合并為新的存儲單元。其中,新的存儲單元與有效的存儲單元具有相同的結構。然后,根據新的存儲單元重構查詢SQL語句,從而在新的數據存儲單元中查詢信息。然后,查詢裝置840對查詢出來的信息進行格式化處理,并輸出格式化的查詢信息。
根據本發明實施例的時序數據的查詢系統將用戶的查詢請求對應的查詢時間區間按照第一時間粒度和/或第二時間粒度進行劃分,根據劃分結果在第一流信息和/或第二流信息中查詢時序數據,從而實現對網絡流量的統計數據的快速查詢,從而為網絡規劃、 網絡監測等應用提供實時、可靠、準確的數據依據,進而提高運維響應的速度。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現特定邏輯功能或過程的步驟的可執行指令的代碼的模塊、片段或部分,并且本發明的優選實施方式的范圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執行功能,這應被本發明的實施例所屬技術領域的技術人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現邏輯功能的可執行指令的定序列表,可以具體實現在任何計算機可讀介質中,以供指令執行系統、裝置或設備(如基于計算機的系統、包括處理器的系統或其他可以從指令執行系統、裝置或設備取指令并執行指令的系統)使用,或結合這些指令執行系統、裝置或設備而使用。就本說明書而言,“計算機可讀介質"可以是任何可以包含、存儲、通信、 傳播或傳輸程序以供指令執行系統、裝置或設備或結合這些指令執行系統、裝置或設備而使用的裝置。計算機可讀介質的更具體的示例(非窮盡性列表)包括以下具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀存儲器(ROM),可擦除可編輯只讀存儲器(EPR0M或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(⑶ROM)。另外,計算機可讀介質甚至可以是可在其上打印所述程序的紙或其他合適的介質,因為可以例如通過對紙或其他介質進行光學掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。
應當理解,本發明的各部分可以用硬件、軟件、固件或它們的組合來實現。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執行系統執行的軟件或固件來實現。例如,如果用硬件來實現,和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現具有用于對數據信號實現邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現場可編程門陣列(FPGA)等。
本技術領域的普通技術人員可以理解實現上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,該程序在執行時,包括方法實施例的步驟之一或其組合。
此外,在本發明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。所述集成的模塊如果以軟件功能模塊的形式實現并作為獨立的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中。
上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。
盡管已經示出和描述了本發明的實施例,對于本領域的普通技術人員而言,可以理解在不脫離本發明的原理和精神的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發明的范圍由所附權利要求及其等同限定。
權利要求
1.一種時序數據的存儲方法,其特征在于,包括以下步驟收集原始流信息;以第一時間粒度對所述原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息;以及以第二時間粒度對所述第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息,其中,所述第二時間粒度大于所述第一時間粒度。
2.如權利要求1所述的時序數據的存儲方法,其特征在于,所述以第一時間粒度對原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息進一步包括對所述原始流信息中在第一時間粒度內的所有流單元的四元組信息進行統計;以及將統計的四元組信息進行第一次匯聚以生成第一流信息,其中,所述第一流信息包括所述四元組信息和所述四元組信息對應的第一開始時間和第一持續時間。
3.如權利要求2所述的時序數據的存儲方法,其特征在于,所述第一持續時間小于所述第一時間粒度。
4.如權利要求2所述的時序數據的存儲方法,其特征在于,所述四元組信息包括源地址、目的地址、流入交換機端口索引和流出交換機端口索引。
5.如權利要求1-4任一項所述的時序數據的存儲方法,其特征在于,所述以第二時間粒度對第一流信息進行第二次匯聚進一步包括對所述第一流信息中在第二時間粒度內的所有第一流信息的四元組信息進行統計;以及將統計的四元組信息進行第二次匯聚以生成第二流信息,其中,所述第二流信息包括所述四元組信息和所述四元組信息對應的第二開始時間和第二持續時間,所述第二開始時間和所述第二持續時間為根據所述四元組信息對所述第一開始時間和第一持續時間匯聚得到,且所述第二持續時間小于所述第二時間粒度。
6.如權利要求1-5任一項所述的時序數據的存儲方法,其特征在于,所述第二時間粒度為小時級,所述第一時間粒度為分鐘級。
7.一種時序數據的存儲裝置,其特征在于,包括收集模塊,用于收集原始流信息;第一匯聚模塊,用于以第一時間粒度對所述原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息;以及第二匯聚模塊,用于以第二時間粒度對所述第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息。
8.如權利要求7所述的時序數據的存儲裝置,其特征在于,所述第一匯聚模塊進一步包括第一統計子模塊,用于對所述原始流信息中在第一時間粒度內的所有流單元的四元組信息進行統計;以及第一匯聚子模塊,用于將所述第一統計子模塊統計的四元組信息進行第一次匯聚以生成第一流信息,其中,所述第一流信息包括所述四元組信息和所述四元組信息對應的第一開始時間和第一持續時間。
9.如權利要求8所述的時序數據的存儲裝置,其特征在于,所述第一持續時間小于所述第一時間粒度。
10.如權利要求8所述的時序數據的存儲裝置,其特征在于,所述四元組信息包括源地址、目的地址、流入交換機端口索引和流出交換機端口索引。
11.如權利要求8所述的時序數據的存儲裝置,其特征在于,所述第二匯聚模塊進一步包括第二統計子模塊,用于對所述第一流信息中在第二時間粒度內的所有第一流信息的四元組信息進行統計;以及第二匯聚子模塊,用于將所述第二統計子模塊統計的四元組信息進行第二次匯聚以生成第二流信息,其中,所述第二流信息包括所述四元組信息和所述四元組信息對應的第二開始時間和第二持續時間,所述第二開始時間和所述第二持續時間為根據所述四元組信息對所述第一開始時間和第一持續時間匯聚得到,且所述第二持續時間小于所述第二時間粒度。
12.如權利要求7-11任一項所述的時序數據的存儲裝置,其特征在于,所述第二時間粒度為小時級,所述第一時間粒度為分鐘級。
13.一種時序數據的查詢方法,其特征在于,包括以下步驟收集原始流信息;以第一時間粒度對所述原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息;以第二時間粒度對所述第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息,其中,所述第二時間粒度大于所述第一時間粒度;接收用戶的查詢請求,并解析所述查詢請求中的時間區間;以所述第一時間粒度和/或第二時間粒度對所述時間區間進行劃分;以及根據劃分結果分別從所述第一流信息和/或第二流信息中查詢時序數據。
14.如權利要求13所述的時序數據的查詢方法,其特征在于,所述根據劃分結果分別從所述第一流信息和/或第二流信息中查詢時序數據進一步包括如果所述時間區間被劃分為一個或多個第一時間粒度,則從所述第一流信息中查詢時序數據;如果所述時間區間被劃分為一個或多個第二時間粒度,則從所述第二流信息中查詢時序數據;以及所述時間區間被劃分為一個或多個第一時間粒度和一個或多個第二時間粒度,則從所述第一流信息和第二流信息中查詢時序數據。
15.如權利要求13所述的時序數據的查詢方法,其特征在于,還包括根據所述時間區間在存儲所述第一流信息和第二流信息中的數據庫中選擇有效的數據存儲單元;將所選擇的有效的數據存儲單元合并為新的存儲單元,且所述新的存儲單元與所述有效的存儲單元具有相同的結構;以及根據所述新的存儲單元重構查詢語句。
16.如權利要求13所述的時序數據的查詢方法,其特征在于,所述以第一時間粒度對原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息進一步包括對所述原始流信息中在第一時間粒度內的所有流單元的四元組信息進行統計;以及將統計的四元組信息進行第一次匯聚以生成第一流信息,其中,所述第一流信息包括所述四元組信息和所述四元組信息對應的第一開始時間和第一持續時間。
17.如權利要求13所述的時序數據的查詢方法,其特征在于,所述第一持續時間小于所述第一時間粒度。
18.如權利要求16所述的時序數據的查詢方法,其特征在于,所述四元組信息包括源地址、目的地址、流入交換機端口索引和流出交換機端口索引。
19.如權利要求16所述的時序數據的查詢方法,其特征在于,所述以第二時間粒度對第一流信息進行第二次匯聚進一步包括對所述第一流信息中在第二時間粒度內的所有第一流信息的四元組信息進行統計;以及將統計的四元組信息進行第二次匯聚以生成第二流信息,其中,所述第二流信息包括所述四元組信息和所述四元組信息對應的第二開始時間和第二持續時間,所述第二開始時間和所述第二持續時間為根據所述四元組信息對所述第一開始時間和第一持續時間匯聚得到,且所述第二持續時間小于所述第二時間粒度。
20.如權利要求13-19任一項所述的時序數據的查詢方法,其特征在于,所述第二時間粒度為小時級,所述第一時間粒度為分鐘級。
21.一種時序數據的查詢系統,其特征在于,包括收集裝置,用于收集原始流信息;匯聚裝置,用于以第一時間粒度對所述原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息,并以第二時間粒度對所述第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息;數據庫,用于存儲所述第一流信息和所述第二流信息;查詢裝置,用于接收用戶的查詢請求,并解析所述查詢請求中的時間區間,以及以所述第一時間粒度和/或第二時間粒度對所述時間區間進行劃分,和根據劃分結果分別從所述數據庫中存儲的第一流信息和/或第二流信息中查詢時序數據。
22.如權利要求21所述的時序數據的查詢系統,其特征在于,所述查詢裝置還用于根據所述時間區間在存儲所述第一流信息和第二流信息中的數據庫中選擇有效的數據存儲單元,并將所選擇的有效的數據存儲單元合并為新的存儲單元,以及根據所述新的存儲單元重構查詢語句,其中,所述新的存儲單元與所述有效的存儲單元具有相同的結構。
23.如權利要求21所述的時序數據的查詢系統,其特征在于,所述匯聚裝置包括進一步包括第一匯聚模塊,用于以第一時間粒度對所述原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息;第二匯聚模塊,用于以第二時間粒度對所述第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息。
24.如權利要求23所述的時序數據的查詢系統,其特征在于,所述第一匯聚模塊進一步包括第一統計子模塊,用于對所述原始流信息中在第一時間粒度內的所有流單元的四元組信息進行統計;以及第一匯聚子模塊,用于將所述第一統計子模塊統計的四元組信息進行第一次匯聚以生成第一流信息,其中,所述第一流信息包括所述四元組信息和所述四元組信息對應的第一開始時間和第一持續時間。
25.如權利要求M所述的時序數據的查詢系統,其特征在于,所述第一持續時間小于所述第一時間粒度。
26.如權利要求M所述的時序數據的查詢系統,其特征在于,所述四元組信息包括源地址、目的地址、流入交換機端口索引和流出交換機端口索引。
27.如權利要求23所述的時序數據的查詢系統,其特征在于,所述第二匯聚模塊進一步包括第二統計子模塊,用于對所述第一流信息中在第二時間粒度內的所有第一流信息的四元組信息進行統計;以及第二匯聚子模塊,用于將所述第二統計子模塊統計的四元組信息進行第二次匯聚以生成第二流信息,其中,所述第二流信息包括所述四元組信息和所述四元組信息對應的第二開始時間和第二持續時間,所述第二開始時間和所述第二持續時間為根據所述四元組信息對所述第一開始時間和第一持續時間匯聚得到,且所述第二持續時間小于所述第二時間粒度。
全文摘要
本發明公開了一種時序數據的存儲方法,包括以下步驟收集原始流信息;以第一時間粒度對所述原始流信息進行第一次匯聚并將第一次匯聚后的流信息存儲為第一流信息;以及以第二時間粒度對所述第一流信息進行第二次匯聚并將第二次匯聚后的流信息存儲為第二流信息,其中,所述第二時間粒度大于所述第一時間粒度。本發明還公開了一種時序數據的存儲裝置、時序數據的查詢方法及系統。本發明可以實現對網絡流量的精確統計分析和查詢,從而為網絡規劃、網絡監測等應用提供實時、可靠、準確的數據依據,從而提高運維響應的速度。
文檔編號G06F17/30GK102495851SQ201110367018
公開日2012年6月13日 申請日期2011年11月17日 優先權日2011年11月17日
發明者侯利曼, 彭煉鋼, 熊亞軍, 翦浩 申請人:百度在線網絡技術(北京)有限公司