專利名稱:數(shù)據(jù)存儲方法和裝置的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)存儲技術,尤其涉及一種數(shù)據(jù)存儲方法和裝置。
背景技術:
在網絡視頻監(jiān)控時代,網絡攝像機和編碼器負責視頻的編碼傳輸,而存儲主要采用網絡視頻錄像機,即NVR(Network Video R印ository,NVR),視頻存儲是網絡視頻監(jiān)控系統(tǒng)應用中非常重要的一個環(huán)節(jié),NVR具有多種存儲方式,在節(jié)能降耗這個領域帶來了明顯的區(qū)別。NVR不僅可以做到掛起到內存(Suspend to RAM, STR)狀態(tài)的休眠即S3休眠,除了內存以外的部件都停止工作,也就是我們常說的待機,休眠時系統(tǒng)當前節(jié)點數(shù)據(jù)被保存在RAM 中,而且可以直接指定一塊或某幾塊磁盤進行休眠。在實際應用中,基于NVR的前端設備視頻監(jiān)控攝像機的特點是,安裝在固定的位置,所采集的數(shù)據(jù)量每天變化都不大,如果啟動所有硬盤,當視頻監(jiān)控攝像機采集的數(shù)據(jù)量不大的時候,就是很大的浪費;如果啟動的硬盤較少,在數(shù)據(jù)量突然增大的時候再臨時啟動很多硬盤是需要時間的造成數(shù)據(jù)阻塞。因此,要達到既保證工作需要又節(jié)約能耗的目的就要找到性能與節(jié)能的最佳平衡點,提前啟動相對應的硬盤數(shù)量,在數(shù)據(jù)流到來的時候可以按照硬盤吞吐速度順利存儲,而其它的硬盤可以繼續(xù)休眠,僅需在需要的時候啟動即可,如果僅是依靠人工根據(jù)現(xiàn)場情況來設定需要提前啟動的硬盤數(shù)量是非常困難的,需要花費大量的時間和人力來觀察試驗才能做出最優(yōu)的配置。
發(fā)明內容
針對現(xiàn)有技術的上述缺陷,本發(fā)明實施例提供一種數(shù)據(jù)存儲方法和裝置。本發(fā)明實施例提供一種數(shù)據(jù)存儲方法,包括通過將要預測的第一時間段中各單位時間內數(shù)據(jù)流的實時流速對應的歷史數(shù)據(jù), 預測所述第一時間段中各單位時間內數(shù)據(jù)流的實時流速,根據(jù)所述各單位時間內數(shù)據(jù)流的實時流速預測所述第一時間段內將要存儲到存儲模塊中的數(shù)據(jù)流的總流量,并根據(jù)所述總流量獲取所述數(shù)據(jù)流的平均流速;若根據(jù)所述實時流速和所述總流量判斷獲知需要啟動所述存儲模塊中處于休眠狀態(tài)的硬盤,則再根據(jù)所述總流量和所述平均流速獲取需要啟動的硬盤的數(shù)量并啟動,用以存儲將要存儲到存儲模塊中的數(shù)據(jù)流的總流量。本發(fā)明實施例提供一種數(shù)據(jù)存儲裝置,包括預測模塊,用于通過將要預測的第一時間段中各單位時間內數(shù)據(jù)流的實時流速對應的歷史數(shù)據(jù),預測所述第一時間段中各單位時間內數(shù)據(jù)流的實時流速,根據(jù)所述各單位時間內數(shù)據(jù)流的實時流速預測所述第一時間段內將要存儲到存儲模塊中的數(shù)據(jù)流的總流量,并根據(jù)所述總流量獲取所述數(shù)據(jù)流的平均流速;判斷模塊,用于根據(jù)所述實時流速和所述總流量判斷獲知是否需要啟動所述存儲模塊中處于休眠狀態(tài)的硬盤;
第一處理模塊,用于通過所述判斷模塊獲知需要啟動所述存儲模塊中處于休眠狀態(tài)的硬盤,則再根據(jù)所述總流量和所述平均流速獲取需要啟動的硬盤的數(shù)量;所述存儲模塊,用于根據(jù)通過所述第一處理模塊獲取的需要啟動的硬盤的數(shù)量, 存儲將要存儲到存儲模塊中的數(shù)據(jù)流的總流量。本發(fā)明實施例提供的數(shù)據(jù)存儲方法和裝置,通過預測第一時間段內的實時流速和總流量并提前啟動相對應的處于休眠狀態(tài)的硬盤,實現(xiàn)了提前啟動對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)流量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,最大限度地保證了硬盤休眠時間和節(jié)約能耗的同時又避免了臨時啟動硬盤對工作流程的阻塞。
圖1為本發(fā)明數(shù)據(jù)存儲方法實施例流程圖;圖2為本發(fā)明數(shù)據(jù)存儲裝置實施例結構示意圖;圖3為本發(fā)明數(shù)據(jù)存儲裝置另一實施例結構示意圖;圖4為本發(fā)明數(shù)據(jù)存儲裝置再一實施例結構示意圖;圖5為本發(fā)明數(shù)據(jù)存儲裝置又一實施例結構示意圖。
具體實施例方式為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明針對現(xiàn)有存儲結構中的存儲方式不能根據(jù)數(shù)據(jù)流的實時情況來控制硬盤工作與休眠的比例,調整硬盤工作在性能和節(jié)能兩方面之間的平衡點等缺陷,提出了一種解決方案即通過預測第一時間段內的實時流速和總流量并提前啟動相對應的處于休眠狀態(tài)的硬盤,實現(xiàn)了提前啟動對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)流量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,最大限度地保證了硬盤休眠時間和節(jié)約能耗的同時又避免了臨時啟動硬盤對工作流程的阻塞。圖1為本發(fā)明數(shù)據(jù)存儲方法實施例流程圖,如圖1所示,該方法包括步驟100,通過將要預測的第一時間段中各單位時間內數(shù)據(jù)流的實時流速對應的歷史數(shù)據(jù),預測所述第一時間段中各單位時間內數(shù)據(jù)流的實時流速,根據(jù)所述各單位時間內數(shù)據(jù)流的實時流速預測所述第一時間段內將要存儲到存儲模塊中的數(shù)據(jù)流的總流量,并根據(jù)所述總流量獲取所述數(shù)據(jù)流的平均流速;首先根據(jù)具體的情況選擇合適的算法如反向傳播算法、支持向量機算法、蟻群算法或微粒群算法等,利用這些算法通過輸入將要預測的第一時間段中各單位時間內數(shù)據(jù)流的實時流速對應的歷史數(shù)據(jù),對第一時間段中各單位時間內數(shù)據(jù)流的實時流速進行預測, 其中,第一時間段是用戶根據(jù)具體的業(yè)務需要而設定的一段時間,假設要預測的第一時間段中各單位時間內數(shù)據(jù)流的實時流速為明天的12:00:01 12:00:20中各單位時間內數(shù)據(jù)流的實時流速,即預測12:00:01 12:00:20中數(shù)據(jù)流的每一秒的實時流速,以反向傳播算法為例來具體說明首先構架合適的人工神經網絡模型,包括輸入層、隱含層和輸出層的神經元個數(shù),以及輸入層和隱含層、隱含層和輸出層之間的權值,再將要預測的某一時間點對應的歷史數(shù)據(jù)作為輸入,通過人工神經網絡的自學習算法可以預測出某一時間點的實時流速,從而學習每一個時刻由分析模塊提供的信息,并且生成預測結果,以預測明天12:00:01 12:00:02這一秒數(shù)據(jù)流的實時流速為例,可以將前三天的12:00:01 12:00:02這一秒數(shù)據(jù)流的實時流速作為歷史數(shù)據(jù)輸入到人工神經網絡模型的輸入層,通過人工神經網絡的自學習算法可以預測出明天12:00:01 12:00:02這一秒數(shù)據(jù)流的實時流速,預測其它各單位時間內數(shù)據(jù)流的實時流速的具體方法相同,此處不再贅述。通過反向傳播算法、支持向量機算法、蟻群算法或微粒群算法等對第一時間段中各單位時間內數(shù)據(jù)流的實時流速進行預測屬于現(xiàn)有技術,因此不再做詳細的說明。將預測出來的每個單位時間內的數(shù)據(jù)流量相加預測第一時間段內將要存儲到存儲模塊中的數(shù)據(jù)流的總流量,再將預測出來的總流量除以第一時間段以獲取第一時間段中各單位時間內數(shù)據(jù)流的平均流速。步驟101,若根據(jù)所述實時流速和所述總流量判斷獲知需要啟動所述存儲模塊中處于休眠狀態(tài)的硬盤,則再根據(jù)所述總流量和所述平均流速獲取需要啟動的硬盤的數(shù)量并啟動,用以存儲將要存儲到存儲模塊中的數(shù)據(jù)流的總流量。根據(jù)預測的第一時間段中各單位時間內數(shù)據(jù)流的實時流速和第一時間段內將要存儲到存儲模塊中的數(shù)據(jù)流的總流量,來判斷目前存儲模塊中處于工作狀態(tài)的硬盤是否能滿足在第一時間段內即將到來的數(shù)據(jù)總流量,是否需要提前啟動存儲模塊中處于休眠狀態(tài)的硬盤,如果根據(jù)預測的實時流速和總流量判斷獲知需要提前啟動處于休眠狀態(tài)的硬盤, 則再根據(jù)預測的總流量和第一時間段內的數(shù)據(jù)流的平均流速獲取需要啟動的處于休眠狀態(tài)的硬盤的數(shù)量,用以存儲即將到來的第一時間段內的總流量。本實施例提供的數(shù)據(jù)存儲方法,通過預測第一時間段內的實時流速和總流量并提前啟動相對應的處于休眠狀態(tài)的硬盤,實現(xiàn)了提前啟動與預測的數(shù)據(jù)總流量對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)流量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,最大限度地保證了硬盤休眠時間和節(jié)約能耗的同時又避免了臨時啟動硬盤對工作流程的阻塞?;谏鲜鰧嵤├?,根據(jù)預測的第一時間段中各單位時間內數(shù)據(jù)流的實時流速和第一時間段內將要存儲到存儲模塊中的數(shù)據(jù)流的總流量來判斷目前存儲模塊中處于工作狀態(tài)的硬盤是否能滿足在第一時間段內即將到來的數(shù)據(jù)總流量,是否需要提前啟動存儲模塊中處于休眠狀態(tài)的硬盤的具體判斷處理過程為比較預測的第一時間段中各個單位內的實時流速的大小,應用實時流速的最大值乘以第一時間段獲取第一時間段內即將到來的數(shù)據(jù)流的最大總流量;根據(jù)存儲模塊中處于工作狀態(tài)的硬盤的剩余容量和存儲模塊中的緩存容量與預測的第一時間段內即將到來的數(shù)據(jù)流的總流量和最大總流量進行比較判斷若總流量大于或等于存儲模塊中處于工作狀態(tài)的硬盤的剩余容量,并且最大總流量大于或等于存儲模塊中的緩存容量,則需要啟動處于休眠狀態(tài)的硬盤;若總流量小于存儲模塊中處于工作狀態(tài)的硬盤的剩余容量,并且最大總流量小于存儲模塊中的緩存容量,則不需要啟動處于休眠狀態(tài)的硬盤。進一步地,若判斷獲知總流量大于或等于存儲模塊中處于工作狀態(tài)的硬盤的剩余容量,并且最大總流量大于或等于存儲模塊中的緩存容量,需要啟動處于休眠狀態(tài)的硬盤,再根據(jù)預測的第一時間段內的總流量和平均流速獲取需要啟動的硬盤的數(shù)量來存儲即將到來的總流量。存儲模塊中硬盤的配置應視具體情況而定,為了簡要清楚的說明處理流程,本實施例中存儲模塊中配置的各個硬盤的容量和寫入速度都一樣,但是并不限于此,應根據(jù)具體情況進行處理,基于本實施例的硬盤配置情況,本實施例的具體處理過程為應用預測的第一時間段內的平均流速除以每塊硬盤的寫入速度獲取第一預測值;應用預測的第一時間段內的總流量除以每塊硬盤的容量獲取第二預測值;將第一預測值和所述第二預測值中的最大值作為需要啟動的處于休眠狀態(tài)的硬盤的數(shù)量,其中,若最大值是小數(shù),則加一后取整數(shù)。本實施例提供的數(shù)據(jù)存儲方法,通過預測第一時間段內的實時流速和總流量并提前啟動相對應的處于休眠狀態(tài)的硬盤,實現(xiàn)了提前啟動對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)流量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,最大限度地保證了硬盤休眠時間和節(jié)約能耗的同時又避免了臨時啟動硬盤對工作流程的阻塞。進一步地,若判斷獲知總流量小于存儲模塊中處于工作狀態(tài)的硬盤的剩余容量, 并且最大總流量小于存儲模塊中的緩存容量,則不需要啟動處于休眠狀態(tài)的硬盤。則進行下一循環(huán)的預測。本實施例提供的數(shù)據(jù)存儲方法,通過預測第一時間段內的實時流速和總流量并提前啟動相對應的處于休眠狀態(tài)的硬盤,并且循環(huán)進行實時預測調整存儲模塊中處于工作和休眠狀態(tài)的硬盤的比例,實現(xiàn)了根據(jù)數(shù)據(jù)流的實時變化提前啟動對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)流量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,進一步保證了硬盤休眠時間和節(jié)約能耗的同時又避免了臨時啟動硬盤對工作流程的阻塞。基于上述實施例,預先設置存儲模塊中處于工作狀態(tài)的硬盤的存儲門限值,在啟動預測第一時間段中各單位時間內數(shù)據(jù)流的實時流速之前,先判斷當前的處于工作狀態(tài)的硬盤的存儲情況,若達到設置的存儲門限值,則開始預測第一時間段中各單位時間內數(shù)據(jù)流的實時流速,若目前的存儲容量還沒有達到設置的存儲門限值,則不進行預測。本實施例提供的數(shù)據(jù)存儲方法,通過目前的存儲容量到達存儲門限值判斷獲知開啟預測,預測第一時間段內的實時流速和總流量并提前啟動相對應的處于休眠狀態(tài)的硬盤,實現(xiàn)了提前啟動對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)流量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,又進一步地保證了硬盤休眠時間和節(jié)約能耗的同時又避免了臨時啟動硬盤對工作流程的阻塞。進一步地,開啟存儲模塊中的硬盤是需要時間的,開啟硬盤的過程中是不進行數(shù)據(jù)存儲的,預測的時間段即第一時間段的設置要大于順序啟動存儲模塊中所有硬盤的時間。本實施例提供的數(shù)據(jù)存儲方法,通過預測第一時間段內的實時流速和總流量并提前啟動相對應的處于休眠狀態(tài)的硬盤,實現(xiàn)了提前啟動對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)流量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,最大限度保證了硬盤休眠時間和節(jié)約能耗的同時,進一步地避免了臨時啟動硬盤對工作流程的阻塞。為了更清楚地說明本發(fā)明實施例提供的數(shù)據(jù)存儲方法,將該方法應用到網絡攝像機的視頻數(shù)據(jù)采集存儲系統(tǒng)中進行詳細說明,舉例如下存儲系統(tǒng)前端有三臺網絡攝像機進行視頻數(shù)據(jù)的采集,存儲系統(tǒng)中有十塊待啟動的硬盤,硬盤順序啟動的時候會消耗時間,理論上每塊硬盤只會用到20ms左右,但是保守估算假設2s啟動一塊,此時間值是人為手工配置或計算機程序自動設置的,是可變的參數(shù),設置存儲系統(tǒng)的存儲門限值是85% (此值也是配置的可變參數(shù)),若判斷獲知當前正在寫入的硬盤寫入到大于85%的時候,開始啟動預測功能,預測時間段(Pre Set Time)至少大于硬盤啟動時間20秒,因此可以設為30秒或1分鐘或5分鐘(可根據(jù)情況配置),此處就以提前30秒作為預測期,若系統(tǒng)當前時間是12:00:00,則預測12:00:01 12:00:30中每一秒的數(shù)據(jù)流量,該系統(tǒng)要存儲三臺攝像機的數(shù)據(jù)流,預測各臺攝像機分別在12:00:01 12:00:30 中各單位時間內的實時流速 CameralSpeed、Camera2Speed和 Camera3Speed,再分別相加即預測12:00:01 12:00:30中各單位時間內數(shù)據(jù)流的實時流速Total Speed,具體如下步驟(1)判斷當前正在寫入的硬盤的寫入容量是否大于85%,若判斷獲知大于 85%,開啟預測功能預測一段時間內數(shù)據(jù)流的實時流速;步驟O)設置預測期預測數(shù)據(jù)流的實時流速的時間段I^re Set Time = 30s,進行預測TotalSpeedl2:00:00 = CameralSpeedl20000+Camera2Speedl20000+Camera 3Speedl2:00:00 ;TotalSpeedl2:00:01 = CameralSpeedl20001+Camera2Speedl20001+Camera 3Speedl2:00:01 ;TotalSpeedl2:00:02 = CameralSpeedl20002+Camera2Speedl20002+Camera 3Speedl2:00:02 ;......TotalSpeedl2:00:30 = CameralSpeedl20030+Camera2Speedl20030+Camera 3Speedl2:00:30 ;根據(jù)以上預測的12:00:01 12:00:30中各單位時間內數(shù)據(jù)流的實時流速 iTotalSpeed預測12:00:01 12:00:30內數(shù)據(jù)流的總流量jTotalCapacity,平均流速 Average Total Speed和實時流速的最大值Max Total Speed,分別如下:Max Total Speed = MAX (TotalSpeedl2 : 00 : 00,TotalSpeedl2 : 00 : 01, TotalSpeedl2:00:02,…,TotalSpeedl2:00:30);Total Capacity = TotalSpeedl2:00:00+TotalSpeedl2:00:01+TotalSpeedl2:00 :02+. · · +TotalSpeedl2:00:30 ;Average Total Speed = (TotalSpeedl2:00:00+TotalSpeedl2:00:01+TotalSpee dl2:00:02+. · · +TotalSpeedl2:00:30)/30 ;步驟(3):此處設置存儲系統(tǒng)中的緩存可用大小為buffer Size,如果判斷獲知 Total Capacity小于當前正在寫入的硬盤剩余容量,并且(Max Total SpeedXPre Set Time) < buffer Size,那么暫時不用啟動硬盤,跳到步驟(2)重新預測計算,否則就跳到步驟⑷;步驟獲取啟動的硬盤數(shù)量具體為
從寫入速度計算硬盤數(shù)量,HardDiskl = Average Total Speed/硬盤單盤寫入速度;從寫入容量計算硬盤數(shù)量HardDisk2 = Total Capacity/硬盤單盤容量;取最大值,需要啟動的硬盤數(shù)量為Actual Hard Disk = MAX (HardDiskl, HardDiSk2),根據(jù)需要啟動的硬盤數(shù)量啟動處于休眠狀態(tài)的硬盤;步驟(5)停止預測,跳往步驟(1)?;谏鲜雠e例說明數(shù)據(jù)存儲方法的具體處理過程,通過預測第一時間段內的實時流速和總流量并提前啟動相對應的處于休眠狀態(tài)的硬盤并根據(jù)實際情況調整預測的時間段,實現(xiàn)了提前啟動對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)流量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,最大限度保證了硬盤休眠時間和節(jié)約能耗的同時避免了臨時啟動硬盤對工作流程的阻塞,并根據(jù)實際情況靈活調整預測的時間段。本領域普通技術人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。圖2為本發(fā)明數(shù)據(jù)存儲裝置實施例結構示意圖,如圖2所示,該裝置包括預測模塊11、判斷模塊12、第一處理模塊13和存儲模塊14,其中,預測模塊11用于通過將要預測的第一時間段中各單位時間內數(shù)據(jù)流的實時流速對應的歷史數(shù)據(jù),預測第一時間段中各單位時間內數(shù)據(jù)流的實時流速,根據(jù)各單位時間內數(shù)據(jù)流的實時流速預測第一時間段內將要存儲到存儲模塊14中的數(shù)據(jù)流的總流量,并根據(jù)總流量獲取數(shù)據(jù)流的平均流速;判斷模塊 12用于根據(jù)實時流速和總流量判斷獲知是否需要啟動存儲模塊14中處于休眠狀態(tài)的硬盤;第一處理模塊13用于通過判斷模塊12獲知需要啟動存儲模塊14中處于休眠狀態(tài)的硬盤,則再根據(jù)總流量和平均流速獲取需要啟動的硬盤的數(shù)量;存儲模塊14用于根據(jù)通過第一處理模塊13獲取的需要啟動的硬盤的數(shù)量,存儲將要存儲到存儲模塊14中的數(shù)據(jù)流的總流量。本實施例提供的數(shù)據(jù)存儲裝置的功能和處理流程,可以參見上述方法實施例,此處不再贅述。本實施例提供的數(shù)據(jù)存儲裝置,通過預測第一時間段內的實時流速和總流量并提前啟動相對應的處于休眠狀態(tài)的硬盤,實現(xiàn)了提前啟動對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)流量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,最大限度地保證了硬盤休眠時間和節(jié)約能耗的同時又避免了臨時啟動硬盤對工作流程的阻塞?;谏鲜鰧嵤├瑘D3為本發(fā)明數(shù)據(jù)存儲裝置另一實施例結構示意圖,如圖3所示,判斷模塊12包括第一獲取單元121和比較單元122,其中,第一獲取單元121用于應用各單位時間內數(shù)據(jù)流的實時流速的最大值和第一時間段的乘積獲取數(shù)據(jù)流的最大總流量; 比較單元122用于比較總流量與存儲模塊中處于工作狀態(tài)的硬盤的剩余容量的大小,以及最大總流量與存儲模塊中的緩存容量的大小,判斷獲知是否需要啟動存儲模塊中處于休眠狀態(tài)的硬盤。進一步地,第一處理模塊13包括第二獲取單元131和第三獲取單元132,其中,第二獲取單元131用于應用平均流速除以每塊硬盤的寫入速度獲取第一預測值以及應用總流量除以每塊硬盤的容量獲取第二預測值;第三獲取單元132用于將第一預測值和第二預測值中的最大值作為需要啟動的處于休眠狀態(tài)的硬盤的數(shù)量,其中,若最大值是小數(shù),則加一后取整數(shù)。本實施例提供的數(shù)據(jù)存儲裝置,通過預測第一時間段內的實時流速和總流量并提前啟動相對應的處于休眠狀態(tài)的硬盤,實現(xiàn)了提前啟動對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)流量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,最大限度地保證了硬盤休眠時間和節(jié)約能耗的同時又避免了臨時啟動硬盤對工作流程的阻塞?;谏鲜鰧嵤├?,圖4為本發(fā)明數(shù)據(jù)存儲裝置再一實施例結構示意圖,如圖4所示,該裝置還包括第二處理模塊15,第二處理模塊15用于通過判斷模塊12獲知不需要啟動存儲模塊14中處于休眠狀態(tài)的硬盤,則進行下一循環(huán)的預測。本實施例提供的數(shù)據(jù)存儲裝置,通過預測第一時間段內的實時流速和總流量并提前啟動相對應的處于休眠狀態(tài)的硬盤,并且循環(huán)進行實時預測調整存儲模塊中處于工作和休眠狀態(tài)的硬盤的比例,實現(xiàn)了根據(jù)數(shù)據(jù)流的實時變化提前啟動對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)流量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,進一步保證了硬盤休眠時間和節(jié)約能耗的同時又避免了臨時啟動硬盤對工作流程的阻塞。基于上述實施例,圖5為本發(fā)明數(shù)據(jù)存儲裝置又一實施例結構示意圖,如圖5所示,進一步地,該裝置還包括第三處理模塊16,第三處理模塊16用于若判斷獲知存儲模塊 14中處于工作狀態(tài)的硬盤的存儲容量到達預先設置的存儲門限值,則開始進行預測。本實施例提供的數(shù)據(jù)存儲裝置,通過目前的存儲容量到達存儲門限值判斷獲知開啟預測,預測第一時間段內的實時流速和總流量并提前啟動相對應的處于休眠狀態(tài)的硬盤,實現(xiàn)了提前啟動對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)流量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,又進一步地保證了硬盤休眠時間和節(jié)約能耗的同時又避免了臨時啟動硬盤對工作流程的阻塞。最后應說明的是以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。
權利要求
1.一種數(shù)據(jù)存儲方法,其特征在于,包括通過將要預測的第一時間段中各單位時間內數(shù)據(jù)流的實時流速對應的歷史數(shù)據(jù),預測所述第一時間段中各單位時間內數(shù)據(jù)流的實時流速,根據(jù)所述各單位時間內數(shù)據(jù)流的實時流速預測所述第一時間段內將要存儲到存儲模塊中的數(shù)據(jù)流的總流量,并根據(jù)所述總流量獲取所述數(shù)據(jù)流的平均流速;若根據(jù)所述實時流速和所述總流量判斷獲知需要啟動所述存儲模塊中處于休眠狀態(tài)的硬盤,則再根據(jù)所述總流量和所述平均流速獲取需要啟動的硬盤的數(shù)量并啟動,用以存儲將要存儲到存儲模塊中的數(shù)據(jù)流的總流量。
2.根據(jù)權利要求1所述的數(shù)據(jù)存儲方法,其特征在于,所述根據(jù)所述實時流速和所述總流量判斷獲知需要啟動所述存儲模塊中處于休眠狀態(tài)的硬盤包括應用各單位時間內數(shù)據(jù)流的實時流速的最大值和所述第一時間段的乘積獲取所述數(shù)據(jù)流的最大總流量;若所述總流量大于或等于所述存儲模塊中處于工作狀態(tài)的硬盤的剩余容量,并且所述最大總流量大于或等于所述存儲模塊中的緩存容量,則需要啟動處于休眠狀態(tài)的硬盤。
3.根據(jù)權利要求2所述的數(shù)據(jù)存儲方法,其特征在于,所述方法還包括若所述總流量小于所述存儲模塊中處于工作狀態(tài)的硬盤的剩余容量,并且所述最大總流量小于所述存儲模塊中的緩存容量,則不需要啟動處于休眠狀態(tài)的硬盤,并進行下一循環(huán)的預測。
4.根據(jù)權利要求1或2所述的數(shù)據(jù)存儲方法,其特征在于,所述根據(jù)所述總流量和所述平均流速獲取需要啟動的硬盤的數(shù)量包括應用所述平均流速除以每塊硬盤的寫入速度獲取第一預測值;應用所述總流量除以每塊硬盤的容量獲取第二預測值;將所述第一預測值和所述第二預測值中的最大值作為需要啟動的處于休眠狀態(tài)的硬盤的數(shù)量,其中,若所述最大值是小數(shù),則對所述最大值加一后取整數(shù)。
5.根據(jù)權利要求1或2所述的數(shù)據(jù)存儲方法,其特征在于,在所述預測所述第一時間段中各單位時間內數(shù)據(jù)流的實時流速之前,所述方法還包括若判斷獲知所述存儲模塊中處于工作狀態(tài)的硬盤的存儲容量到達預先設置的存儲門限值,則開始進行預測。
6.根據(jù)權利要求1或2所述的數(shù)據(jù)存儲方法,其特征在于,所述第一時間段大于順序啟動所述存儲模塊中所有硬盤所需要的時間。
7.一種數(shù)據(jù)存儲裝置,其特征在于,包括預測模塊,用于通過將要預測的第一時間段中各單位時間內數(shù)據(jù)流的實時流速對應的歷史數(shù)據(jù),預測所述第一時間段中各單位時間內數(shù)據(jù)流的實時流速,根據(jù)所述各單位時間內數(shù)據(jù)流的實時流速預測所述第一時間段內將要存儲到存儲模塊中的數(shù)據(jù)流的總流量,并根據(jù)所述總流量獲取所述數(shù)據(jù)流的平均流速;判斷模塊,用于根據(jù)所述實時流速和所述總流量判斷獲知是否需要啟動所述存儲模塊中處于休眠狀態(tài)的硬盤;第一處理模塊,用于通過所述判斷模塊獲知需要啟動所述存儲模塊中處于休眠狀態(tài)的硬盤,則再根據(jù)所述總流量和所述平均流速獲取需要啟動的硬盤的數(shù)量;所述存儲模塊,用于根據(jù)通過所述第一處理模塊獲取的需要啟動的硬盤的數(shù)量,存儲將要存儲到存儲模塊中的數(shù)據(jù)流的總流量。
8.根據(jù)權利要求7所述的數(shù)據(jù)存儲裝置,其特征在于,所述判斷模塊包括第一獲取單元,用于應用各單位時間內數(shù)據(jù)流的實時流速的最大值和所述第一時間段的乘積獲取所述數(shù)據(jù)流的最大總流量;比較單元,用于比較所述總流量與所述存儲模塊中處于工作狀態(tài)的硬盤的剩余容量的大小,以及所述最大總流量與所述存儲模塊中的緩存容量的大小,判斷獲知是否需要啟動所述存儲模塊中處于休眠狀態(tài)的硬盤。
9.根據(jù)權利要求7或8所述的數(shù)據(jù)存儲裝置,其特征在于,所述第一處理模塊包括 第二獲取單元,用于應用所述平均流速除以每塊硬盤的寫入速度獲取第一預測值以及應用所述總流量除以每塊硬盤的容量獲取第二預測值;第三獲取單元,用于將所述第一預測值和所述第二預測值中的最大值作為需要啟動的處于休眠狀態(tài)的硬盤的數(shù)量,其中,若所述最大值是小數(shù),則加一后取整數(shù)。
10.根據(jù)權利要求7或8所述的數(shù)據(jù)存儲裝置,其特征在于,還包括第二處理模塊,用于通過所述判斷模塊獲知不需要啟動所述存儲模塊中處于休眠狀態(tài)的硬盤,則進行下一循環(huán)的預測;第三處理模塊,用于若判斷獲知所述存儲模塊中處于工作狀態(tài)的硬盤的存儲容量到達預先設置的存儲門限值,則開始進行預測。
全文摘要
本發(fā)明提供一種數(shù)據(jù)存儲方法和裝置,其中該方法包括預測第一時間段中各單位時間內數(shù)據(jù)流的實時流速,根據(jù)所各單位時間的實時流速預測第一時間段內將要存儲到存儲模塊中的數(shù)據(jù)流的總流量,并根據(jù)總流量獲取數(shù)據(jù)流的平均流速;若根據(jù)實時流速和總流量判斷獲知需要啟動存儲模塊中處于休眠狀態(tài)的硬盤,則再根據(jù)總流量和平均流速獲取需要啟動的硬盤的數(shù)量,用以存儲總流量。通過本發(fā)明提供的數(shù)據(jù)存儲方法和裝置,實現(xiàn)了提前啟動對應數(shù)量的硬盤以存儲預測出的數(shù)據(jù)量,其它硬盤可以繼續(xù)休眠,僅在需要的時候啟動,最大限度地保證了硬盤休眠時間和節(jié)約能耗的同時又避免了臨時啟動硬盤對工作流程的阻塞。
文檔編號G11C16/10GK102231285SQ20111012907
公開日2011年11月2日 申請日期2011年5月18日 優(yōu)先權日2011年5月18日
發(fā)明者李歡 申請人:成都市華為賽門鐵克科技有限公司