本發明涉及管理系統,具體是一種分布式數字資源存儲處理與管理的方法及系統。
背景技術:
隨著社會的發展,越來越多的信息被數據化,互聯網中的數據呈爆炸式增長,如何存儲和管理這些數據化的信息就成為人們關注的焦點。七、八十年代,這些數據都被存放在昂貴的中小型機中,由管理員定期維護,但這樣開銷較大,又容易出錯。
近年來,隨著硬件技術的迅猛發展、寬帶網絡的逐漸成熟、開放源碼的廣泛興起、以及對分布式系統的深入研究,出現了分布式文件系統的概念,并以此來存儲和管理這些數據;這些系統可以由多臺普通的pc服務器通過網絡的方式連接而成,在分布式系統的統一管理下運行,以支持高可靠、高性能、以及大并發流的應用需求。
人們在日常辦公中產生了大量的圖片、照片、視頻等非結構化的數據,這類數據以對象的形式組織,對象之間沒有關聯,這樣的數據一般稱為blob(binarylargeobject,二進制大對象)數據。
數字資源處理系統可用于存儲和處理blob數據,建立企業公共資源中心,實現各類數字資源的數據存儲、管理與處理。
分布式文件系統是新型的文件存儲方式,它將大量普通的pc服務器通過internet互聯,對外作為一個整體提供存儲服務。典型的系統有facebookhaystack以及taobaofilesystem(tfs)。
傳統的數字資源處理系統的技術方案如下:
1)首選用戶將需要存儲的資源上傳至數據加工與處理服務器,數據加工與處理服務器對圖片、視頻、音頻、文檔等數據進行處理,如轉碼、添加備注信息,添加索引等形成標準化數據。
2)最后將已經處理的標準化數據存儲至分布式文件系統中。
上述的數字資源處理系統的缺點主要有:
1)將數字資源的處理集中到一個服務器上,對數據加工與處理服務器的性能要求比較高,容災性也不好,數字加工與處理服務器宕機后,整個系統將不能提供服務。
2)一般數字資源處理系統中的存儲部分僅僅做資源存儲的工作,不能進行數字資源的處理。
技術實現要素:
本發明的目的在于提供一種分布式數字資源存儲處理與管理的方法及系統,以解決上述背景技術中提出的問題。
為實現上述目的,本發明提供如下技術方案:
一種分布式數字資源存儲處理與管理的系統,包括客戶端、文件調配中心和資源存儲與服務系統;所述客戶端連接至文件調配中心,文件調配中心連接至存儲于資源存儲與服務系統,資源存儲與服務系統負責資源存儲與處理;所述文件調配中心對資源存儲與服務系統、任務計劃、資源上載進行調度,它負責整個系統的全局控制;同時文件調配中心內的服務監控日志模塊連接至資源存儲與服務系統內的心跳服務模塊,文件調配中心持續的接收資源存儲與服務系統內心跳服務模塊提供的數據,實現對資源存儲與服務系統實時監控;資源存儲與服務系統為分布式數字資源管理系統的存儲單元與任務執行單元,實現數據的本地化存儲、資源鏡像更新、文件資源保護、文件轉碼服務、文件動態回收,同時,實時監控本機狀態,并周期性的推送至文件調配中心,完成對本機狀態的維護;所述資源存儲與服務系統數量設置在一個以上。
一種分布式數字資源存儲處理與管理的方法,其主要步驟如下:
1)用戶在客戶端選擇多個資源存儲與服務系統,請求寫操作;
2)文件調配中心接受操作請求并基于資源存儲與服務系統本身記錄的負載排行,獲取負載最低的資源存儲與服務系統;
3)客戶端向步驟2獲取的負載最低的資源存儲與服務系統提交寫入數據;
4)寫入成功后,提交更新申請到文件調配中心,文件調配中心寫入文件上傳信息;
5)文件調配中心基于用戶選擇形成鏡像更新的任務隊列;
6)資源存儲與服務系統基于文件更新隊列進行文件鏡像更新;
7)更新完成后,將更新結果反饋至文件調配中心,文件調配中心做出更新記錄,鏡像更新完成。
作為本發明再進一步的方案:所述獲取負載最低的資源存儲與服務系統的主要步驟如下:
1)選取代表服務器性能水平的指標,包括cpu平均使用率、物理內存使用率、磁盤讀寫速率使用率和網絡帶寬使用率;
2)分別取資源存儲與服務系統中四個性能指標的最大值;
3)將資源存儲與服務系統中,每個資源存儲與服務系統相應的性能指標除以性能指標最大值,得到一個介于0到1之間的性能比值;
4)根據資源存儲與服務系統四個性能對服務器整體數據處理性能的影響程度,為每個資源存儲與服務系統性能比值賦予一個用戶進行加權平均的系數q1、q2、q3、q4;
5)計算每個資源存儲與服務系統的節點物理負載;
6)計算每個資源存儲與服務系統權重值;
7)計算每個資源存儲與服務系統的節點業務負載;
8)根據每個資源存儲與服務系統的節點物理負載和業務負載計算出資源存儲與服務系統的綜合負載信息。
一種分布式數字資源存儲處理與管理的系統的任務計劃的執行步驟,其主要步驟如下:
1)生成任務隊列文件,文件調配中心基于數據庫數據生成需要執行的任務隊列并保存為xml文件;
2)通知資源存儲與服務系統執行相關任務操作,資源存儲與服務系統下載與本機相關任務的xml文件,并依據xml文件進行資源處理,每個資源處理開始之前和處理之后均標記狀態;
3)任務執行結束或者執行時間結束,提交更新后的xml文件到文件調配中心,文件調配中心分析xml文件,更新數據庫記錄。
與現有技術相比,本發明的有益效果是:
1)本發明可基于用戶設置進行資源彈性鏡像,使有限的硬件資源更好的服務于繁忙的業務。
2)本發明提供了完整的數字資源處理與存儲的流程,可以輕松的實現數字資源的傳輸、存儲、保護、轉碼、鏡像、回收、刪除等。
3)本發明包含多種資源存儲與處理,可自行擴展資源類型,滿足不同的資源存儲需求。
4)本發明對資源處理的性能進行優化,將轉碼、保護、鏡像更新等任務分散至多個資源存儲與服務系統中,提高整個系統的應用性能,降低單個資源存儲與服務系統的負載,確保系統穩定可靠。
5)本發明基于任務調度實現資源的存儲與處理,所有資源可實現無值守處理,簡化資源處理流程。
附圖說明
圖1為一種分布式數字資源存儲處理與管理的系統的結構示意圖。
具體實施方式
下面結合具體實施方式對本發明的技術方案作進一步詳細地說明。
請參閱圖1,一種分布式數字資源存儲處理與管理的系統,包括客戶端、文件調配中心和資源存儲與服務系統;所述客戶端負責資源的上傳及存儲決策,主要用于上傳blob文件,客戶端連接至文件調配中心,文件調配中心負責消息控制與任務調度,文件調配中心連接至存儲于資源存儲與服務系統,資源存儲與服務系統負責資源存儲與處理;經客戶端上傳到的blob文件經文件調配中心調度后存儲于資源存儲與服務系統中;所述客戶端連接至資源存儲與服務系統;
blob文件的個數由上傳的用戶決定,每個原始資源(包括轉碼任務生成的轉碼資源、資源保護任務生成的已保護資源)僅能存儲于一個資源存儲與服務系統上(該系統為此資源的主備服務器),其他文件副本由鏡像任務進行分發。
所述文件調配中心對資源存儲與服務系統、任務計劃、資源上載進行調度,它負責整個系統的全局控制。同時文件調配中心內的服務監控日志模塊連接至資源存儲與服務系統內的心跳服務模塊,文件調配中心持續的接收資源存儲與服務系統內心跳服務模塊提供的數據,實現對資源存儲與服務系統實時監控。
所述資源存儲與服務系統為該發明的存儲單元與任務執行單元,實現數據的本地化存儲、資源鏡像更新、文件資源保護、文件轉碼服務、文件動態回收等,同時,實時監控本機狀態,并周期性的推送至文件調配中心,完成對本機狀態的維護。所述資源存儲與服務系統數量設置在一個以上,多個資源存儲與服務系統并列連接。
一種分布式數字資源存儲處理與管理的方法如下:
1)用戶在客戶端選擇多個資源存儲與服務系統,請求寫操作;
2)文件調配中心接受操作請求并基于資源存儲與服務系統本身記錄的負載排行,獲取負載最低的資源存儲與服務系統;
3)客戶端向步驟2獲取的負載最低的資源存儲與服務系統提交寫入數據;
4)寫入成功后,提交更新申請到文件調配中心,文件調配中心寫入文件上傳信息;
5)文件調配中心基于用戶選擇形成鏡像更新的任務隊列;
6)資源存儲與服務系統基于文件更新隊列進行文件鏡像更新;
7)更新完成后,將更新結果反饋至文件調配中心,文件調配中心做出更新記錄,鏡像更新完成,此時,文件同步完成。
所述獲取負載最低的資源存儲與服務系統的計算方法如下:
(1)計算各節點物理負載
首先選取一些能夠代表服務器性能水平的指標,并通過一定的方法,將這些指標綜合起來得到服務器的綜合負載參數。為了避免獲取計算較多的負載指標對整個系統的性能或者相應速度產生影響,所選取的指標種類和數量不易過多,應該盡可能做到少而精。
所述代表服務器性能水平的指標包括cpu平均使用率、物理內存使用率、磁盤讀寫速率使用率和網絡帶寬使用率。
假定該發明中的文件存儲系統中存在著n個資源存儲與服務系統(s1,s2,s3...sn),第i臺資源存儲與服務系統的cpu主頻與邏輯cpu個數的乘積為ci,內存大小為mi,io平均速率為ii,網絡平均速率為ni。
第一步,分別取資源存儲與服務系統中四個性能指標的最大值,計算方式如下所示:
第二步,將資源存儲與服務系統中每個資源存儲與服務系統相應的性能指標除以性能指標最大值,得到一個介于0到1之間的性能比值,計算方式如下所示:
第三步,根據資源存儲與服務系統四個性能對服務器整體數據處理性能的影響程度,為每個資源存儲與服務系統性能比值賦予一個用戶進行加權平均的系數q1、q2、q3、q4。
要求q1,q2,q3,q4均大于0小于1,且q1+q2+q3+q4=1。
據此我們得到每個資源存儲與服務系統性能指標xpi的具體計算公式為
xpi=(q1*cpi+q2*mpi+q3*ipi+q4*npi)/4
具體q1,q2,q3,q4的設置方案管理員在實際運行的環境中進行設置。
第四步,計算每個資源存儲與服務系統的負載
假定每個資源存儲與服務系統的cpu使用率,內存使用率、磁盤讀寫速度使用率及網絡帶寬使用率分別用cui,mui,iui,nui表示,則第1臺資源存儲與服務系統在任意時刻的綜合負載均衡ti可以表示為:
ti=(q1*cpi*cui+q2*mpi*mui+q3*ipi*iui+q4*npi*nui)/4
第五步,每個資源存儲與服務系統權重值計算
每個資源存儲與服務系統總體性能減去實時負載,即為相應資源存儲與服務系統的剩余數據處理性能,每個資源存儲與服務系統剩余性能占所有資源存儲與服務系統剩余性能之和的比例,即為相應資源存儲與服務系統在的權重值。
第i臺資源存儲與服務系統的權重值wi的計算公式為
(2)計算各節點業務負載
本發明與常見的資源存儲與服務系統的不同之處在于資源存儲與服務系統(工作節點)不僅僅的進行資源的存儲,還需要進行資源的轉碼、鏡像更新、資源保護任務,需要針對資源存儲與服務系統的業務做一次負載均衡。
設視頻轉碼任務大小為tt(vi)、音頻轉碼任務大小為tt(ai)、文檔轉碼任務大小為tt(di)、文檔資源保護任務大小為tp(di)、視頻資源保護任務大小為tp(vi)、圖片資源保護任務大小為tp(pi)、通用資源保護任務大小為tp(oi)、鏡像下載資源大小為tm(ai)。
同時原視頻時長為time(vi),音頻時長是time(ai),時長單位是小時。
轉碼后文件碼率為b;
第一步,計算第i臺資源存儲與服務系統需要處理的資源大小。
fi=tt(vi)*(time(vi)+b)+tt(ai)*(time(ai)+b)+tt(di)+tp(di)+tp(vi)+tp(pi)+tp(oi)+tm(ai)
time(vi)+b為視頻轉碼系數;
time(ai)+b為音頻轉碼系數;
b取低標準:2.1053,中標準:3.1579,高標準:4.7368;
第二步,獲取所有資源存儲與服務系統中需要處理的資源大小。
fa=f1+f2+...+fn
第三步,計算第i個資源存儲與服務系統待處理資源大小的占比。
pi=fi/fa
第四步,計算第i個資源存儲與服務系統的性能占比。
第五步,每個資源存儲與服務系統的業務負載應該為任務占比除以性能占比。計算方式為:
bi=pi/xi
(3)計算綜合負載計算
設定參數k,k1+k2=1,k1和k2分別用于調配物理負載與業務負載占用的比例,所以最終綜合負載為
load(i)=li*k1+bi*k2
如果需要精確的獲取各個節點的綜合負載信息,需要每次提交讀/寫請求時向所有的節點發送請求以獲取實時負載信息,但是,這會消耗極大的資源。通常會設置一個時間周期t,獲取時間周期內的負載數據。
使用時間周期進行負載計算的話會造成系統請求分配的群聚效應,此時需要按照節點負載進行升序排列,獲取時間周期內的負載最小的前兩個工作節點,進行輪詢分配。
一種分布式數字資源存儲處理與管理的系統的資源的處理方法如下:
分布式數字資源管理系統對資源的處理采用任務調度的方式,由文件調配中心進行統一的任務調度。
首先對資源進行劃分,不同的資源采用不同的處理方法,按照資源類型,將其劃分為文檔、圖片、音頻、視頻、通用文件,每種資源類型下邊包括不同的資源格式,如文檔資源可以是word文檔、wps文檔、pdf文檔等。
分布式數字資源管理系統可對不同的類型的文件不同的資源操作,將不同類型和規格的資源,采用相應的轉碼技術,轉換為適用于html5標準的資源;html5是新一代的html技術,支持音視頻資源的在線播放,將會是未來音視頻播放的主流方式。因此,此發明提供音視頻的轉碼任務,支持音視頻的web瀏覽,同時也支持文檔的轉碼。
分布式數字資源管理系統同時針對不同類型資源,采用時間戳和水印保護技術進行統一保護;注重對資源的保護,可由用戶設置資源保護的方式,提供圖片的水印保護與時間戳保護;提供文檔的水印保護與時間戳保護;提供音頻的時間戳保護;提供視頻的水印保護與時間戳保護;提供通用文件的時間戳保護與壓縮保護。
此發明需要合理分配存儲資源,并對存儲資源的正確性進行校驗。因此會對資源存儲與服務系統上的資源進行md5校驗,校驗失敗的資源,將被標記為刪除狀態。
分布式數字資源管理系統在進行任務處理過程中均需要文件調配中心進行任務計劃調度,文件調配中心進行任務調度的任務計劃可以劃分為四類,分別是鏡像更新任務計劃、資源轉碼任務計劃、資源保護任務計劃和資源回收任務計劃。
一種分布式數字資源存儲處理與管理的系統任務計劃的執行均分為三步:
第一步:任務隊列文件生成,文件調配中心基于數據庫數據生成需要執行的任務隊列并保存為xml文件。
第二步:通知資源存儲與服務系統執行相關任務操作,資源存儲與服務系統下載與本機相關任務的xml文件,并依據xml文件進行資源處理,每個資源處理開始之前和處理之后均標記狀態,如開始轉碼時間、轉碼結束時間、轉碼結束狀態等。
第三步:任務執行結束或者執行時間結束,提交更新后的xml文件到文件調配中心,文件調配中心分析xml文件,更新數據庫記錄并提交錯誤日志等。
上面對本發明的較佳實施方式作了詳細說明,但是本發明并不限于上述實施方式,在本領域的普通技術人員所具備的知識范圍內,還可以在不脫離本發明宗旨的前提下作出各種變化。