亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)存儲裝置和數(shù)據(jù)存儲方法

文檔序號:6502930閱讀:201來源:國知局
數(shù)據(jù)存儲裝置和數(shù)據(jù)存儲方法
【專利摘要】本發(fā)明提供了一種數(shù)據(jù)存儲裝置,包括:存儲文件創(chuàng)建單元,用于根據(jù)多個預設時間范圍分別創(chuàng)建相應的存儲文件;實時數(shù)據(jù)獲取單元,用于獲取實時數(shù)據(jù),并將所述實時數(shù)據(jù)存儲至中轉(zhuǎn)文件;數(shù)據(jù)存儲單元,用于從所述中轉(zhuǎn)文件中獲取數(shù)據(jù),并根據(jù)所述數(shù)據(jù)的時間所在的時間范圍,將所述數(shù)據(jù)存儲至與所述時間范圍對應的存儲文件。本發(fā)明還提出了一種數(shù)據(jù)存儲方法。通過本發(fā)明的技術(shù)方案,能夠在根據(jù)存儲數(shù)據(jù)生成圖表時,同時滿足圖表的數(shù)據(jù)精度和時間范圍兩項指標,便于用戶進行查看。
【專利說明】數(shù)據(jù)存儲裝置和數(shù)據(jù)存儲方法

【技術(shù)領域】
[0001]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領域】,具體而言,涉及一種數(shù)據(jù)存儲裝置和一種數(shù)據(jù)存儲方法。

【背景技術(shù)】
[0002]目前的網(wǎng)絡流量監(jiān)控系統(tǒng)通過SNMP服務獲取數(shù)據(jù),然后使用RRD環(huán)形數(shù)據(jù)庫存儲和更新數(shù)據(jù),當用戶需要查看數(shù)據(jù)時,可以調(diào)用RRDTool生成圖進行查看。因此RRD環(huán)形數(shù)據(jù)庫作為數(shù)據(jù)容器,其容量大小直接影響RRDTool生成圖表的時間范圍和數(shù)據(jù)精度兩項重要性能指標。由于RRD文件使用固定大小的空間來存儲數(shù)據(jù),并有一個指針指向最新的數(shù)據(jù)的位置,當所有可用位置都被用過后,該循環(huán)過程會自動重新使用已使用過的位置,這導致已使用過的位置的數(shù)據(jù)被覆蓋,無法實現(xiàn)在一個RRD文件內(nèi)保存大量數(shù)據(jù)不丟失。
[0003]目前存在兩種方案,可以分別解決大時間范圍和數(shù)據(jù)高精度的問題,但無法有效平衡這兩者的關系。
[0004]1.降低時間范圍,利用不同的RRD文件存儲數(shù)據(jù)。
[0005]由于RRD文件使用固定大小的空間來存儲數(shù)據(jù),不存在類似關系型數(shù)據(jù)庫自動擴容的功能,所以根據(jù)實際需要,可以犧牲時間范圍,保證精度,即將一個大數(shù)據(jù)分別存儲在多個RRD文件內(nèi),以滿足高精度的要求,但RRDTool無法解決針對多個RRD文件的生成圖表的問題。
[0006]2.降低數(shù)據(jù)精度,利用相同的RRD文件存儲數(shù)據(jù)。
[0007]由于RRD文件使用固定大小的空間來存儲數(shù)據(jù),不存在類似關系型數(shù)據(jù)庫自動擴容的功能,所以根據(jù)實際需要,可以犧牲精度,保證時間范圍,即將一個大數(shù)據(jù)進行均勻抽取后,將抽取出的數(shù)據(jù)存儲在一個RRD文件內(nèi),以滿足大時間范圍的要求,但RRDTool生成圖表的精度較低。
[0008]因此,需要一種新的數(shù)據(jù)存儲技術(shù),能夠在根據(jù)存儲數(shù)據(jù)生成圖表時,同時滿足圖表的數(shù)據(jù)精度和時間范圍兩項指標,便于用戶進行查看。


【發(fā)明內(nèi)容】

[0009]本發(fā)明正是基于上述問題,提出了一種數(shù)據(jù)存儲技術(shù),能夠在根據(jù)存儲數(shù)據(jù)生成圖表時,同時滿足圖表的數(shù)據(jù)精度和時間范圍兩項指標,便于用戶進行查看。
[0010]有鑒于此,本發(fā)明提出了一種數(shù)據(jù)存儲裝置,包括:存儲文件創(chuàng)建單元,用于根據(jù)多個預設時間范圍分別創(chuàng)建相應的存儲文件;實時數(shù)據(jù)獲取單元,用于獲取實時數(shù)據(jù),并將所述實時數(shù)據(jù)存儲至中轉(zhuǎn)文件;數(shù)據(jù)存儲單元,用于從所述中轉(zhuǎn)文件中獲取數(shù)據(jù),并根據(jù)所述數(shù)據(jù)的時間所在的時間范圍,將所述數(shù)據(jù)存儲至與所述時間范圍對應的存儲文件。
[0011 ] 在該技術(shù)方案中,存儲文件可以是RRD文件,中轉(zhuǎn)文件可以是.TXT格式的文件,在對系統(tǒng)進行監(jiān)控時,可以通過SNMP(Simple Network Management Protocol,簡單網(wǎng)絡管理協(xié)議)實時獲取系統(tǒng)數(shù)據(jù),然后將獲取到的數(shù)據(jù)以分布式存儲的方式(比如以Key-Value的格式)存儲至中轉(zhuǎn)文件,由于存儲文件根據(jù)預設時間范圍創(chuàng)建,每一個預設時間范圍可以對應一個存儲文件,當從中轉(zhuǎn)文件中讀取數(shù)據(jù)存儲至存儲文件時,可以根據(jù)數(shù)據(jù)的時間所在的時間范圍將該數(shù)據(jù)存儲至相應的存儲文件,避免了將所有數(shù)據(jù)存儲在一個存儲文件中而造成數(shù)據(jù)覆蓋,或?qū)?shù)據(jù)均勻抽取再進行存儲而導致精度降低,從而在根據(jù)這些存儲文件查詢數(shù)據(jù)繪制圖表時,可以根據(jù)需要查詢數(shù)據(jù)的時間范圍從相應的存儲文件中獲取數(shù)據(jù),而相應的存儲文件中存儲的數(shù)據(jù)可以包括用戶所需查詢的時間范圍內(nèi)的全部數(shù)據(jù)(一般為一年的數(shù)據(jù)或兩年的數(shù)據(jù)),進而在調(diào)用RRDTool生成圖表時,可以同時保證圖表的數(shù)據(jù)精度和時間范圍。
[0012]根據(jù)本發(fā)明的又一方面,還提出了一種數(shù)據(jù)存儲方法,包括:步驟202,根據(jù)多個預設時間范圍分別創(chuàng)建相應的存儲文件;步驟204,獲取實時數(shù)據(jù),并將所述實時數(shù)據(jù)存儲至中轉(zhuǎn)文件;步驟206,從所述中轉(zhuǎn)文件中獲取數(shù)據(jù),根據(jù)所述數(shù)據(jù)的時間所在的時間范圍,將所述數(shù)據(jù)存儲至與所述時間范圍對應的存儲文件。
[0013]在該技術(shù)方案中,存儲文件可以是RRD文件,中轉(zhuǎn)文件可以是.TXT格式的文件,在對系統(tǒng)進行監(jiān)控時,可以通過SNMP實時獲取系統(tǒng)數(shù)據(jù),然后將獲取到的數(shù)據(jù)以分布式存儲的方式(比如以Key-Value的格式)存儲至中轉(zhuǎn)文件,由于存儲文件根據(jù)預設時間范圍創(chuàng)建,每一個預設時間范圍可以對應一個存儲文件,當從中轉(zhuǎn)文件中讀取數(shù)據(jù)存儲至存儲文件時,可以根據(jù)數(shù)據(jù)的時間所在的時間范圍將該數(shù)據(jù)存儲至相應的存儲文件,避免了將所有數(shù)據(jù)存儲在一個存儲文件中而造成數(shù)據(jù)覆蓋,或?qū)?shù)據(jù)均勻抽取再進行存儲而導致精度降低,從而在根據(jù)這些存儲文件查詢數(shù)據(jù)繪制圖表時,可以根據(jù)需要查詢數(shù)據(jù)的時間范圍從相應的存儲文件中獲取數(shù)據(jù),而相應的存儲文件中存儲的數(shù)據(jù)可以包括用戶所需查詢的時間范圍內(nèi)的全部數(shù)據(jù)(一般為一年的數(shù)據(jù)或兩年的數(shù)據(jù)),進而在調(diào)用RRDTool生成圖表時,可以同時保證圖表的數(shù)據(jù)精度和時間范圍。
[0014]通過以上技術(shù)方案,在根據(jù)存儲文件中的數(shù)據(jù)生成圖表時,同時滿足圖表的數(shù)據(jù)精度和時間范圍兩項指標,便于用戶進行查看。

【專利附圖】

【附圖說明】
[0015]圖1示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)存儲裝置的框圖;
[0016]圖2示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)存儲方法的流程圖;
[0017]圖3示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢方法的流程圖;
[0018]圖4示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)更新方法的流程圖。

【具體實施方式】
[0019]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和【具體實施方式】對本發(fā)明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
[0020]在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。
[0021]圖1示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)存儲裝置的框圖。
[0022]如圖1所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)存儲裝置100,包括:存儲文件創(chuàng)建單元102,用于根據(jù)多個預設時間范圍分別創(chuàng)建相應的存儲文件;實時數(shù)據(jù)獲取單元104,用于獲取實時數(shù)據(jù),并將實時數(shù)據(jù)存儲至中轉(zhuǎn)文件;數(shù)據(jù)存儲單元106,用于從中轉(zhuǎn)文件中獲取數(shù)據(jù),并根據(jù)數(shù)據(jù)的時間所在的時間范圍,將數(shù)據(jù)存儲至與時間范圍對應的存儲文件。
[0023]存儲文件可以是RRD文件,中轉(zhuǎn)文件可以是.TXT格式的文件,在對系統(tǒng)進行監(jiān)控時,可以通過SNMP實時獲取系統(tǒng)數(shù)據(jù),然后將獲取到的數(shù)據(jù)以分布式存儲的方式(比如以Key-Value的格式)存儲至中轉(zhuǎn)文件,由于存儲文件根據(jù)預設時間范圍創(chuàng)建,每一個預設時間范圍可以對應一個存儲文件,當從中轉(zhuǎn)文件中讀取數(shù)據(jù)存儲至存儲文件時,可以根據(jù)數(shù)據(jù)的時間所在的時間范圍將該數(shù)據(jù)存儲至相應的存儲文件,避免了將所有數(shù)據(jù)存儲在一個存儲文件中而造成數(shù)據(jù)覆蓋,或?qū)?shù)據(jù)均勻抽取再進行存儲而導致精度降低,從而在根據(jù)這些存儲文件查詢數(shù)據(jù)繪制圖表時,可以根據(jù)需要查詢數(shù)據(jù)的時間范圍從相應的存儲文件中獲取數(shù)據(jù),而相應的存儲文件中存儲的數(shù)據(jù)可以包括用戶所需查詢的時間范圍內(nèi)的全部數(shù)據(jù)(一般為一年的數(shù)據(jù)或兩年的數(shù)據(jù)),進而在調(diào)用RRDTool生成圖表時,可以同時保證圖表的數(shù)據(jù)精度和時間范圍。
[0024]優(yōu)選地,數(shù)據(jù)存儲單元106在時間范圍為一整年時,用于根據(jù)數(shù)據(jù)所在的年份,將數(shù)據(jù)存儲至以年份為相應預設時間范圍的第一存儲文件;并根據(jù)數(shù)據(jù)的日期,將數(shù)據(jù)存儲至以日期為相應預設時間范圍起點,且以一年后相同的日期為相應預設時間范圍終點的第二存儲文件;以及對數(shù)據(jù)進行均勻抽取,并根據(jù)抽取出的數(shù)據(jù)的日期,將抽取出的數(shù)據(jù)存儲至以抽取出的數(shù)據(jù)的抽取日期為相應預設時間范圍起點,且以多年后相同的抽取日期為相應預設時間范圍終點的第三存儲文件。
[0025]對于一份數(shù)據(jù),首先根據(jù)該數(shù)據(jù)的年份將該數(shù)據(jù)存儲在相應的存儲文件,比如已建立2010年存儲文件、2011年存儲文件和2012年存儲文件,那么當前時間讀取到的數(shù)據(jù)的年份是2012年,則可以將該數(shù)據(jù)存儲在2012年存儲文件中。
[0026]然后再根據(jù)該數(shù)據(jù)的日期,將該數(shù)據(jù)存儲至相應的存儲文件,比如已存在文件名為2012-2013-12-12的存儲文件、文件名為2012-2013-12-13的存儲文件和文件名為2012-2013-12-14的存儲文件,那么當前時間讀取到的數(shù)據(jù)的日期是2012年12月14日,則可以根據(jù)該日期,將該數(shù)據(jù)存儲在文件名為2012-2013-12-14的存儲文件中,即存儲在以2012年12月14日為預設時間范圍起點,以2013年12月14日為預設時間范圍終點的存儲文件中。
[0027]最后對于該數(shù)據(jù)進行均勻抽取,比如第三存儲文件以兩年后相同的抽取日期為預設時間范圍終點,則可以每兩個數(shù)據(jù)抽取一個,也可以根據(jù)整份數(shù)據(jù)的分布趨勢,進行加權(quán)平均后再均勻抽取,比如一份數(shù)據(jù)存在兩個數(shù)值,11001100和10101010,如果每兩個數(shù)據(jù)抽取一個,抽取到11001100,則根據(jù)11001100這份數(shù)據(jù)的日期,比如是2012年12月13,則可以將這份數(shù)據(jù)存儲在文件名為2012-2014-12-13的存儲文件中。
[0028]優(yōu)選地,根據(jù)本發(fā)明的實施例的數(shù)據(jù)存儲裝置100還可以包括:第一判斷單元108,用于根據(jù)接收到的查詢指令,判斷待查詢數(shù)據(jù)的日期到當前日期的當前時間范圍是否大于目標時間范圍,若不大于,則創(chuàng)建臨時文件,并根據(jù)當前時間范圍,從中轉(zhuǎn)文件中獲取與當前時間范圍對應的數(shù)據(jù)存儲臨時文件,根據(jù)臨時文件中的數(shù)據(jù)生成圖表。
[0029]當查詢數(shù)據(jù)的日期到當前日期時間范圍不大于目標時間范圍(比如7天),則說明用戶需要查詢的數(shù)據(jù)距離當前時間較近,而由于從中轉(zhuǎn)文件中讀取數(shù)據(jù)并存儲至存儲文件中并不是實時進行的,直接從已建立的存儲文件中讀取數(shù)據(jù)生成圖表,可能會對數(shù)據(jù)的時間范圍造成較大影響,所以在查詢時間范圍較小的數(shù)據(jù)時可以先生成臨時存儲文件,然后從中轉(zhuǎn)文件中讀取與查詢時間范圍對應的數(shù)據(jù)存儲至臨時存儲文件(中轉(zhuǎn)文件中的數(shù)據(jù)是實時從被監(jiān)測的系統(tǒng)中獲取到的數(shù)據(jù)),再調(diào)用RRDTool根據(jù)臨時存儲文件中的數(shù)據(jù)生成圖表,用戶關閉圖表后,臨時存儲文件被自動刪除,從而同時保證了生成圖表的時間范圍和數(shù)據(jù)精度。
[0030]優(yōu)選地,根據(jù)本發(fā)明的實施例的數(shù)據(jù)存儲裝置100還可以包括:第二判斷單元110,用于在第一判斷單元108的判斷結(jié)果為是的情況下,判斷當前時間范圍是否大于一年,若大于,則查詢以當前日期為相應預設時間范圍起點,且以當前日期為相應預設時間范圍終點的第三存儲文件,并根據(jù)第三文件中的數(shù)據(jù)生成圖表;第三判斷單元112,用于在第二判斷單元110的判斷結(jié)果為否的情況下,判斷查詢數(shù)據(jù)的年份與當前時間的年份是否相同,若相同,則查詢以當前年份為相應預設時間范圍的第一文件,并根據(jù)第一文件中的數(shù)據(jù)生成圖表,若不相同,則查詢以當前日期為相應預設時間范圍起點,且以當前日期為相應預設時間范圍終點的第二存儲文件,并根據(jù)第二文件中的數(shù)據(jù)生成圖表。
[0031]當查詢數(shù)據(jù)的日期到當前日期時間范圍大于目標時間范圍時,則說明用戶需要查詢的數(shù)據(jù)距離當前時間較遠,可以直接從已建立的存儲文件中讀取數(shù)據(jù)生成圖表,并且由于RRD文件的存儲容量有限,所以在當前時間范圍大于一年時,比如當前時間為2012年12月14日,用戶查詢數(shù)據(jù)的時間范圍是2010年12月14日至2012年12月14日的整兩年的時間,可以根據(jù)查詢數(shù)據(jù)的日期確定相應的第三存儲文件,即文件名為2010-2012-12-14的存儲文件,由于第三存儲文件中的數(shù)據(jù)是均勻抽取的,即對于2010年12月14日到2012年12月14的數(shù)據(jù),每兩天的數(shù)據(jù)抽取其中一天的數(shù)據(jù)進行存儲,所以根據(jù)文件名為2010-2012-12-14的存儲文件中的數(shù)據(jù)生成圖表,可以根據(jù)該圖表查看2010年12月14日到2012年12月14的數(shù)據(jù)的總體趨勢,在保證時間范圍的前提下,使數(shù)據(jù)精度也得到了一定的保證。
[0032]若當前時間范圍小于或等于一年,比如當前時間為2012年12月14日,用戶查詢數(shù)據(jù)的時間范圍是2011年12月14日至2012年12月14日的整一年的時間,那么在一個RRD文件中可以完全存儲一年的數(shù)據(jù),因此可以根據(jù)查詢數(shù)據(jù)的日期確定相應的第二存儲文件,即文件名為2011-2012-12-14的存儲文件。
[0033]從而在進行數(shù)據(jù)查詢時,均可以根據(jù)查詢數(shù)據(jù)的時間到當前時間的時間范圍確定相應的存儲文件,并且根據(jù)存儲文件中的數(shù)據(jù)生成圖表可以同時滿足數(shù)據(jù)精度和時間范圍。
[0034]優(yōu)選地,根據(jù)本發(fā)明的實施例的數(shù)據(jù)存儲裝置100還可以包括:負載信息判斷單元114,用于獲取硬件負載信息,并判斷負載信息是否正常,以及數(shù)據(jù)存儲單元106在負載信息判斷單元114確定負載信息正常的情況下,按照更新時間范圍從中轉(zhuǎn)文件中獲取數(shù)據(jù),并在負載信息判斷單元114確定負載信息不正常的情況下,在經(jīng)過更新時間范圍后,或在負載信息恢復正常后,從中轉(zhuǎn)文件中獲取數(shù)據(jù)。
[0035]在將中轉(zhuǎn)文件中的數(shù)據(jù)存儲至存儲文件時,為減少存儲操作對系統(tǒng)中其他硬件造成影響,可以先獲取系統(tǒng)中硬件的負載信息,然后在硬件負載信息正常時再讀取中轉(zhuǎn)文件中的數(shù)據(jù)存儲至存儲文件,若在經(jīng)過規(guī)定更新時間范圍后,硬件負載信息依然異常,為避免該更新周期的數(shù)據(jù)存儲影響下一個更新周期的數(shù)據(jù)存儲,將中轉(zhuǎn)文件中的數(shù)據(jù)存儲至相應的存儲文件。
[0036]圖2示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)存儲方法的流程圖。
[0037]如圖2所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)存儲方法包括:步驟202,根據(jù)多個預設時間范圍分別創(chuàng)建相應的存儲文件;步驟204,獲取實時數(shù)據(jù),并將實時數(shù)據(jù)存儲至中轉(zhuǎn)文件;步驟206,從中轉(zhuǎn)文件中獲取數(shù)據(jù),根據(jù)數(shù)據(jù)的時間所在的時間范圍,將數(shù)據(jù)存儲至與時間范圍對應的存儲文件。
[0038]存儲文件可以是RRD文件,中轉(zhuǎn)文件可以是.TXT格式的文件,在對系統(tǒng)進行監(jiān)控時,可以通過SNMP實時獲取系統(tǒng)數(shù)據(jù),然后將獲取到的數(shù)據(jù)以分布式存儲的方式(比如以Key-Value的格式)存儲至中轉(zhuǎn)文件,由于存儲文件根據(jù)預設時間范圍創(chuàng)建,每一個預設時間范圍可以對應一個存儲文件,當從中轉(zhuǎn)文件中讀取數(shù)據(jù)存儲至存儲文件時,可以根據(jù)數(shù)據(jù)的時間所在的時間范圍將該數(shù)據(jù)存儲至相應的存儲文件,避免了將所有數(shù)據(jù)存儲在一個存儲文件中而造成數(shù)據(jù)覆蓋,或?qū)?shù)據(jù)均勻抽取再進行存儲而導致精度降低,從而在根據(jù)這些存儲文件查詢數(shù)據(jù)繪制圖表時,可以根據(jù)需要查詢數(shù)據(jù)的時間范圍從相應的存儲文件中獲取數(shù)據(jù),而相應的存儲文件中存儲的數(shù)據(jù)可以包括用戶所需查詢的時間范圍內(nèi)的全部數(shù)據(jù)(一般為一年的數(shù)據(jù)或兩年的數(shù)據(jù)),進而在調(diào)用RRDTool生成圖表時,可以同時保證圖表的數(shù)據(jù)精度和時間范圍。
[0039]優(yōu)選地,步驟206包括:在時間范圍為一整年時,根據(jù)數(shù)據(jù)所在的年份,將數(shù)據(jù)存儲至以年份為相應預設時間范圍的第一存儲文件;并根據(jù)數(shù)據(jù)的日期,將數(shù)據(jù)存儲至以日期為相應預設時間范圍起點,且以一年后相同的日期為相應預設時間范圍終點的第二存儲文件;以及對數(shù)據(jù)進行均勻抽取,并根據(jù)抽取出的數(shù)據(jù)的日期,將抽取出的數(shù)據(jù)存儲至以抽取出的數(shù)據(jù)的抽取日期為相應預設時間范圍起點,且以多年后相同的抽取日期為相應預設時間范圍終點的第三存儲文件。
[0040]對于一份數(shù)據(jù),首先根據(jù)該數(shù)據(jù)的年份將該數(shù)據(jù)存儲在相應的存儲文件,比如已建立2010年存儲文件、2011年存儲文件和2012年存儲文件,那么當前時間讀取到的數(shù)據(jù)的年份是2012年,則可以將該數(shù)據(jù)存儲在2012年存儲文件中。
[0041]然后再根據(jù)該數(shù)據(jù)的日期,將該數(shù)據(jù)存儲至相應的存儲文件,比如已存在文件名為2012-2013-12-12的存儲文件、文件名為2012-2013-12-13的存儲文件和文件名為2012-2013-12-14的存儲文件,那么當前時間讀取到的數(shù)據(jù)的日期是2012年12月14日,則可以根據(jù)該日期,將該數(shù)據(jù)存儲在文件名為2012-2013-12-14的存儲文件中,即存儲在以2012年12月14日為預設時間范圍起點,以2013年12月14日為預設時間范圍終點的存儲文件中。
[0042]最后對于該數(shù)據(jù)進行均勻抽取,比如第三存儲文件以兩年后相同的抽取日期為預設時間范圍終點,則可以每兩個數(shù)據(jù)抽取一個,也可以根據(jù)整份數(shù)據(jù)的分布趨勢,進行加權(quán)平均后再均勻抽取,比如一份數(shù)據(jù)存在兩個數(shù)值,11001100和10101010,如果每兩個數(shù)據(jù)抽取一個,抽取到11001100,則根據(jù)11001100這份數(shù)據(jù)的日期,比如是2012年12月13,則可以將這份數(shù)據(jù)存儲在文件名為2012-2014-12-13的存儲文件中。
[0043]優(yōu)選地,根據(jù)本發(fā)明的實施例的數(shù)據(jù)存儲方法還可以包括:根據(jù)接收到的查詢指令,判斷待查詢數(shù)據(jù)的日期到當前日期的當前時間范圍是否大于目標時間范圍,若不大于,則創(chuàng)建臨時文件,并根據(jù)當前時間范圍,從中轉(zhuǎn)文件中獲取與當前時間范圍對應的數(shù)據(jù)存儲至臨時文件,根據(jù)臨時文件中的數(shù)據(jù)生成圖表。
[0044]當查詢數(shù)據(jù)的日期到當前日期時間范圍不大于目標時間范圍(比如7天),則說明用戶需要查詢的數(shù)據(jù)距離當前時間較近,而由于從中轉(zhuǎn)文件中讀取數(shù)據(jù)并存儲至存儲文件中并不是實時進行的,直接從已建立的存儲文件中讀取數(shù)據(jù)生成圖表,可能會對數(shù)據(jù)的時間范圍造成較大影響,所以在查詢時間范圍較小的數(shù)據(jù)時可以先生成臨時存儲文件,然后從中轉(zhuǎn)文件中讀取與查詢時間范圍對應的數(shù)據(jù)存儲至臨時存儲文件(中轉(zhuǎn)文件中的數(shù)據(jù)是實時從被監(jiān)測的系統(tǒng)中獲取到的數(shù)據(jù)),再調(diào)用RRDTool根據(jù)臨時存儲文件中的數(shù)據(jù)生成圖表,用戶關閉圖表后,臨時存儲文件被自動刪除,從而同時保證了生成圖表的時間范圍和數(shù)據(jù)精度。
[0045]優(yōu)選地,根據(jù)本發(fā)明的實施例的數(shù)據(jù)存儲方法還可以包括:若當前時間范圍大于目標時間范圍,則判斷當前時間范圍是否大于一年,若大于,則查詢以當前日期為相應預設時間范圍起點,且以當前日期為相應預設時間范圍終點的第三存儲文件,并根據(jù)第三文件中的數(shù)據(jù)生成圖表;若不大于,則進一步判斷查詢數(shù)據(jù)的年份與當前時間的年份是否相同,若相同,則查詢以當前年份為相應預設時間范圍的第一文件,并根據(jù)第一文件中的數(shù)據(jù)生成圖表;若不相同,則查詢以當前日期為相應預設時間范圍起點,且以當前日期為相應預設時間范圍終點的第二存儲文件,并根據(jù)第二文件中的數(shù)據(jù)生成圖表。
[0046]當查詢數(shù)據(jù)的日期到當前日期時間范圍大于目標時間范圍時,則說明用戶需要查詢的數(shù)據(jù)距離當前時間較遠,可以直接從已建立的存儲文件中讀取數(shù)據(jù)生成圖表,并且由于RRD文件的存儲容量有限,所以在當前時間范圍大于一年時,比如當前時間為2012年12月14日,用戶查詢數(shù)據(jù)的時間范圍是2010年12月14日至2012年12月14日的整兩年的時間,可以根據(jù)查詢數(shù)據(jù)的日期確定相應的第三存儲文件,即文件名為2010-2012-12-14的存儲文件,由于第三存儲文件中的數(shù)據(jù)是均勻抽取的,即對于2010年12月14日到2012年12月14的數(shù)據(jù),每兩天的數(shù)據(jù)抽取其中一天的數(shù)據(jù)進行存儲,所以根據(jù)文件名為2010-2012-12-14的存儲文件中的數(shù)據(jù)生成圖表,可以根據(jù)該圖表查看2010年12月14日到2012年12月14的數(shù)據(jù)的總體趨勢,在保證時間范圍的前提下,使數(shù)據(jù)精度也得到了一定的保證。
[0047]若當前時間范圍小于或等于一年,比如當前時間為2012年12月14日,用戶查詢數(shù)據(jù)的時間范圍是2011年12月14日至2012年12月14日的整一年的時間,那么在一個RRD文件中可以完全存儲一年的數(shù)據(jù),因此可以根據(jù)查詢數(shù)據(jù)的日期確定相應的第二存儲文件,即文件名為2011-2012-12-14的存儲文件。
[0048]從而在進行數(shù)據(jù)查詢時,均可以根據(jù)查詢數(shù)據(jù)的時間到當前時間的時間范圍確定相應的存儲文件,并且根據(jù)存儲文件中的數(shù)據(jù)生成圖表可以同時滿足數(shù)據(jù)精度和時間范圍。
[0049]優(yōu)選地,步驟204還包括:獲取硬件負載信息,并判斷負載信息是否正常,若正常,則按照更新時間范圍從中轉(zhuǎn)文件中獲取數(shù)據(jù),并在負載信息不正常的情況下,在經(jīng)過更新時間范圍后,或在負載信息恢復正常后,從中轉(zhuǎn)文件中獲取數(shù)據(jù)。
[0050]在將中轉(zhuǎn)文件中的數(shù)據(jù)存儲至存儲文件時,為減少存儲操作對系統(tǒng)中其他硬件造成影響,可以先獲取系統(tǒng)中硬件的負載信息,然后在硬件負載信息正常時再讀取中轉(zhuǎn)文件中的數(shù)據(jù)存儲至存儲文件,若在經(jīng)過規(guī)定更新時間范圍后,硬件負載信息依然異常,為避免該更新周期的數(shù)據(jù)存儲影響下一個更新周期的數(shù)據(jù)存儲,將中轉(zhuǎn)文件中的數(shù)據(jù)存儲至相應的存儲文件。
[0051]圖3示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢方法的流程圖。
[0052]如圖3所示,在根據(jù)本發(fā)明的實施例的數(shù)據(jù)存儲方法存儲數(shù)據(jù)后,對存儲的數(shù)據(jù)進行查詢生成圖表的方法包括:
[0053]步驟302,創(chuàng)建中轉(zhuǎn)文件,比如.TXT文件;
[0054]步驟304,通過SNMP實時獲取對系統(tǒng)的監(jiān)測數(shù)據(jù),并將獲取到的數(shù)據(jù)存儲至中轉(zhuǎn)文件;
[0055]步驟306,根據(jù)用戶輸入的時間,確定用戶查詢數(shù)據(jù)的時間范圍;
[0056]步驟308,判斷時間范圍是否合法,比如判斷該時間范圍是否超出可查詢的時間范圍;
[0057]步驟310,若不合法,比如可查詢數(shù)據(jù)的時間范圍是當前日期至兩年前的相同日期,而用戶輸入的查詢時間范圍時三年前的某天到當前日期,則提示用戶輸入時間超出可查詢時間范圍,重新輸入查詢時間;
[0058]步驟312,若合法,則進一步判斷查詢時間范圍是否大于目標時間范圍,比如判斷用戶輸入的日期到當前日期是否大于7天;
[0059]步驟314,若不大于,則說明用戶需要查詢的數(shù)據(jù)距離當前時間較近,可以創(chuàng)建臨時RRD文件;
[0060]步驟316,根據(jù)查詢時間范圍從中轉(zhuǎn)文件中獲取相應的數(shù)據(jù)存儲至臨時RRD文件;
[0061]步驟318,若大于,則說明用戶需要查詢的數(shù)據(jù)距離當前時間較遠,可以根據(jù)查詢時間范圍在已創(chuàng)建的RRD文件中確定相應的RRD文件;
[0062]步驟320,調(diào)用RRDTool根據(jù)RRD文件中的數(shù)據(jù)生成圖表供用戶查看。
[0063]圖4示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)更新方法的流程圖。
[0064]如圖4所示,在根據(jù)本發(fā)明的實施例進行數(shù)據(jù)存儲時,將中轉(zhuǎn)文件中的數(shù)據(jù)更新至存儲文件的方法包括:
[0065]步驟402,根據(jù)輸入指令確定更新時間,比如根據(jù)Crontab命令,確定在每個整點將前一小時存儲在中轉(zhuǎn)文件中的數(shù)據(jù)存儲至RRD文件中;
[0066]步驟404,讀取系統(tǒng)時間;
[0067]步驟406,判斷當前系統(tǒng)時間是否滿足更新時間,若不滿足,則等待一定時間后,返回步驟404 ;
[0068]步驟408,若滿足,則更新信號使能;
[0069]步驟410,讀取當前系統(tǒng)硬件負載信息;
[0070]步驟412,判斷負載信息是否正常;
[0071]步驟414,若不正常,則將更新信號掛起(即不對更新信號做處理),然后計數(shù)器將計數(shù)值加一;
[0072]步驟416,保持更新信號掛起,判斷計數(shù)值是否等于預設值,若不等于,則返回步驟410,比如設置每個整點將中轉(zhuǎn)文件中的數(shù)據(jù)存儲至RRD文件,且每5分鐘重新讀取一次硬件負載信息,那么預設值=1小時/5分鐘=12 ;
[0073]步驟418,若負載信息正常,或負載信息不正常但是計數(shù)值等于預設值,則從中轉(zhuǎn)文件中讀取數(shù)據(jù)存儲至RRD文件;
[0074]步驟420,更新信號關閉,完成一個周期的數(shù)據(jù)存儲。
[0075]以上結(jié)合附圖詳細說明了本發(fā)明的技術(shù)方案,考慮到相關技術(shù)中,通過RRD文件存儲數(shù)據(jù)時,調(diào)用RRDTool根據(jù)RRD文件生成圖表無法同時滿足時間范圍和數(shù)據(jù)精度指標。通過本發(fā)明的技術(shù)方案,可以在調(diào)用RRDTool根據(jù)RRD文件生成圖表時,同時滿足時間范圍和數(shù)據(jù)精度指標,便于用戶進行查看。
[0076]在本發(fā)明中,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性。術(shù)語“多個”指兩個或兩個以上,除非另有明確的限定。
[0077]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)存儲裝置,其特征在于,包括: 存儲文件創(chuàng)建單元,用于根據(jù)多個預設時間范圍分別創(chuàng)建相應的存儲文件; 實時數(shù)據(jù)獲取單元,用于獲取實時數(shù)據(jù),并將所述實時數(shù)據(jù)存儲至中轉(zhuǎn)文件; 數(shù)據(jù)存儲單元,用于從所述中轉(zhuǎn)文件中獲取數(shù)據(jù),并根據(jù)所述數(shù)據(jù)的時間所在的時間范圍,將所述數(shù)據(jù)存儲至與所述時間范圍對應的存儲文件。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲裝置,其特征在于,所述數(shù)據(jù)存儲單元在所述時間范圍為一整年時,用于根據(jù)所述數(shù)據(jù)所在的年份,將所述數(shù)據(jù)存儲至以所述年份為相應預設時間范圍的第一存儲文件; 并根據(jù)所述數(shù)據(jù)的日期,將所述數(shù)據(jù)存儲至以所述日期為相應預設時間范圍起點,且以一年后相同的日期為相應預設時間范圍終點的第二存儲文件;以及 對所述數(shù)據(jù)進行均勻抽取,并根據(jù)抽取出的數(shù)據(jù)的日期,將所述抽取出的數(shù)據(jù)存儲至以所述抽取出的數(shù)據(jù)的抽取日期為相應預設時間范圍起點,且以多年后相同的抽取日期為相應預設時間范圍終點的第三存儲文件。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)存儲裝置,其特征在于,還包括: 第一判斷單元,用于根據(jù)接收到的查詢指令,判斷待查詢數(shù)據(jù)的日期到當前日期的當前時間范圍是否大于目標時間范圍,若不大于,則創(chuàng)建臨時文件,并根據(jù)所述當前時間范圍,從所述中轉(zhuǎn)文件中獲取與所述當前時間范圍對應的數(shù)據(jù)存儲至所述臨時文件,根據(jù)所述臨時文件中的數(shù)據(jù)生成圖表。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)存儲裝置,其特征在于,還包括: 第二判斷單元,用于在所述第一判斷單元的判斷結(jié)果為是的情況下,判斷所述當前時間范圍是否大于一年,若大于,則查詢以所述當前日期為相應預設時間范圍起點,且以所述當前日期為相應預設時間范圍終點的第三存儲文件,并根據(jù)所述第三文件中的數(shù)據(jù)生成圖表; 第三判斷單元,用于在所述第二判斷單元的判斷結(jié)果為否的情況下,判斷所述查詢數(shù)據(jù)的年份與所述當前時間的年份是否相同,若相同,則查詢以所述當前年份為相應預設時間范圍的第一文件,并根據(jù)所述第一文件中的數(shù)據(jù)生成圖表,若不相同,則查詢以所述當前日期為相應預設時間范圍起點,且以所述當前日期為相應預設時間范圍終點的第二存儲文件,并根據(jù)所述第二文件中的數(shù)據(jù)生成圖表。
5.根據(jù)權(quán)利要求1至4中任一項所述的數(shù)據(jù)存儲裝置,其特征在于,還包括: 負載信息判斷單元,用于獲取硬件負載信息,并判斷所述負載信息是否正常,以及 所述數(shù)據(jù)存儲單元在所述負載信息判斷單元確定所述負載信息正常的情況下,按照更新時間范圍從所述中轉(zhuǎn)文件中獲取數(shù)據(jù),并在所述負載信息判斷單元確定所述負載信息不正常的情況下,在經(jīng)過所述更新時間范圍后,或在所述負載信息恢復正常后,從所述中轉(zhuǎn)文件中獲取數(shù)據(jù)。
6.一種數(shù)據(jù)存儲方法,其特征在于,包括: 步驟202,根據(jù)多個預設時間范圍分別創(chuàng)建相應的存儲文件; 步驟204,獲取實時數(shù)據(jù),并將所述實時數(shù)據(jù)存儲至中轉(zhuǎn)文件; 步驟206,從所述中轉(zhuǎn)文件中獲取數(shù)據(jù),根據(jù)所述數(shù)據(jù)的時間所在的時間范圍,將所述數(shù)據(jù)存儲至與所述時間范圍對應的存儲文件。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)存儲方法,其特征在于,所述步驟206包括:在所述時間范圍為一整年時,根據(jù)所述數(shù)據(jù)所在的年份,將所述數(shù)據(jù)存儲至以所述年份為相應預設時間范圍的第一存儲文件; 并根據(jù)所述數(shù)據(jù)的日期,將所述數(shù)據(jù)存儲至以所述日期為相應預設時間范圍起點,且以一年后相同的日期為相應預設時間范圍終點的第二存儲文件;以及 對所述數(shù)據(jù)進行均勻抽取,并根據(jù)抽取出的數(shù)據(jù)的日期,將所述抽取出的數(shù)據(jù)存儲至以所述抽取出的數(shù)據(jù)的抽取日期為相應預設時間范圍起點,且以多年后相同的抽取日期為相應預設時間范圍終點的第三存儲文件。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)存儲方法,其特征在于,還包括:根據(jù)接收到的查詢指令,判斷待查詢數(shù)據(jù)的日期到當前日期的當前時間范圍是否大于目標時間范圍,若不大于,則創(chuàng)建臨時文件,并根據(jù)所述當前時間范圍,從所述中轉(zhuǎn)文件中獲取與所述當前時間范圍對應的數(shù)據(jù)存儲至所述臨時文件,根據(jù)所述臨時文件中的數(shù)據(jù)生成圖表。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)存儲方法,其特征在于,還包括:若所述當前時間范圍大于目標時間范圍,則判斷所述當前時間范圍是否大于一年, 若大于,則查詢以所述當前日期為相應預設時間范圍起點,且以所述當前日期為相應預設時間范圍終點的第三存儲文件,并根據(jù)所述第三文件中的數(shù)據(jù)生成圖表; 若不大于,則進一步判斷所述查詢數(shù)據(jù)的年份與所述當前時間的年份是否相同, 若相同,則查詢以所述當前年份為相應預設時間范圍的第一文件,并根據(jù)所述第一文件中的數(shù)據(jù)生成圖表; 若不相同,則查詢以所述當前日期為相應預設時間范圍起點,且以所述當前日期為相應預設時間范圍終點的第二存儲文件,并根據(jù)所述第二文件中的數(shù)據(jù)生成圖表。
10.根據(jù)權(quán)利要求6至9中任一項所述的數(shù)據(jù)存儲方法,其特征在于,所述步驟204還包括:獲取硬件負載信息,并判斷所述負載信息是否正常,若正常,則按照更新時間范圍從所述中轉(zhuǎn)文件中獲取數(shù)據(jù),并在所述負載信息不正常的情況下,在經(jīng)過所述更新時間范圍后,或在所述負載信息恢復正常后,從所述中轉(zhuǎn)文件中獲取數(shù)據(jù)。
【文檔編號】G06F17/30GK104166650SQ201310182207
【公開日】2014年11月26日 申請日期:2013年5月16日 優(yōu)先權(quán)日:2013年5月16日
【發(fā)明者】劉元 申請人:方正寬帶網(wǎng)絡服務股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1