【技術實現步驟摘要】
一種去中心化的分布式渲染方法及渲染系統
本專利技術涉及云渲染
,更具體地說,涉及一種去中心化的分布式渲染方法 及渲染系統。
技術介紹
圖形制作人員對于渲染質量要求的不斷提升推動著云渲染技術的發展,使得基于 Client/Server模式的渲染系統的關注度逐漸得到提升,并在某些領域開始得到推廣及應 用。然而,該渲染系統并不完善,存在以下缺陷: 1)主服務器負載壓力大。在該渲染系統中,主服務器作為唯一的文件下載中心,所 有渲染節點均需從主服務器下載渲染所需的文件,例如渲染場景、貼圖、紋理、素材,各個渲 染節點對主服務器的依賴較高。 2)該渲染系統易出現網絡擁堵狀況。由于各渲染節點均需從主服務器下載渲染所 需文件,當渲染節點數量較多且下載文件較大時,主服務器的網絡壓力增大,各渲染節點與 主服務器之間的網絡容易出現擁堵,極易導致網絡連接中斷的發生。 3)系統網絡資源利用率低。各渲染節點在完成主服務器端文件下載工作之后所執 行的文件渲染過程中,系統網絡處于閑置狀態,導致網絡資源利用率低。 4)系統穩定性差。由于主服務器作為最重要的指揮中心,在客戶端渲染任務提交 繁忙時段,主服務器工作負荷大,極易出現宕機事故,導致整個渲染系統處于癱瘓狀態。 5)系統擴展性差。渲染節點數量的增加將會給主服務器帶來更大壓力,在主服務 器性能瓶頸及網絡帶寬問題不能得到解決的情況下,渲染節點規模擴展也將受到限制。
技術實現思路
本專利技術要解決的技術問題在于,針對現有技術的上述缺陷,提供一種去中心化的 分布式渲染方法及渲染系 ...
【技術保護點】
一種去中心化的分布式渲染方法,其特征在于,包括如下步驟:S1)接收由客戶端(100)發送的渲染任務素材文件及渲染任務請求,將該渲染任務分割為M個序列化的子任務,并生成渲染任務分配信息;S2)執行注冊渲染服務器工作狀態監測工作,從監測所得空閑渲染服務器名單中隨機選擇T個空閑渲染服務器(R1,R2……RT),將該T個空閑渲染服務器(R1,R2……RT)信息添加到主服務器素材文件下載隊列,并為該T個空閑渲染服務器(R1,R2……RT)各自分配一個子渲染任務;S3)對該T個渲染服務器(R1,R2……RT)的素材文件下載進度進行跟蹤監測,并判斷該T個渲染服務器(R1,R2……RT)中任一渲染服務器(RO)完成素材文件下載工作時,將該空閑渲染服務器名單中另一空閑渲染服務器(RT+1)信息添加到主服務器素材文件下載隊列并為該另一空閑渲染服務器(RT+1)分配下一個子渲染任務;重復上述操作,待子任務分配、子任務渲染及渲染結果文件上傳任務均執行完畢時,執行下一步驟S4;S4)讀取結果文件,并將讀取的結果文件傳回客戶端(100)。
【技術特征摘要】
1. 一種去中心化的分布式渲染方法,其特征在于,包括如下步驟: 51) 接收由客戶端(100)發送的渲染任務素材文件及渲染任務請求,將該渲染任務分 割為Μ個序列化的子任務,并生成渲染任務分配信息; 52) 執行注冊渲染服務器工作狀態監測工作,從監測所得空閑渲染服務器名單中隨機 選擇Τ個空閑渲染服務器況,R2……R T),將該T個空閑渲染服務器況,R2……RT)信息添 加到主服務器素材文件下載隊列,并為該T個空閑渲染服務器(Ri,R 2……RT)各自分配一個 子渲染任務; 53) 對該T個渲染服務器(Ri,R2……RT)的素材文件下載進度進行跟蹤監測,并判斷該 T個渲染服務器(1^,?......RT)中任一渲染服務器(R〇)完成素材文件下載工作時,將該空閑 渲染服務器名單中另一空閑渲染服務器(RT+1)信息添加到主服務器素材文件下載隊列并為 該另一空閑渲染服務器(RT+1)分配下一個子渲染任務;重復上述操作,待子任務分配、子任 務渲染及渲染結果文件上傳任務均執行完畢時,執行下一步驟S4 ; 54) 讀取結果文件,并將讀取的結果文件傳回客戶端(100)。2. 根據權利要求1所述的一種去中心化的分布式渲染方法,其特征在于,在所述步驟 S1之前還包括如下步驟: so)在主服務器端執行客戶端用戶注冊操作及渲染服務器注冊操作,將用戶注冊信息 及渲染服務器注冊信息存儲到主服務器(200)的數據庫(205)。3. 根據權利要求1所述的一種去中心化的分布式渲染方法,其特征在于,在所述步驟 S0和所述步驟S1之間還包括如下步驟: S01)在接收到客戶端(100)的包含有用戶注冊信息及素材文件的渲染任務請求時,根 據用戶注冊信息確定用戶級別,并結合客戶端渲染任務提交時間對客戶端(100)提交的渲 染任務進行隊列化處理。4. 根據權利要求1所述的一種去中心化的分布式渲染方法,其特征在于,所述步驟S1 中所述將客戶端(100)提交的渲染任務分割為Μ個序列化的子渲染任務,并生成渲染任務 分配信息的步驟具體包括: 511) 以幀為分割單位將該渲染任務分割為Μ個序列化的子任務,將該Μ個序列化的子 渲染任務按序編號,生成Μ個渲染任務分配信息; 512) 將該素材文件保存到主服務器(200)的第二存儲模塊(206),并將該素材文件下 載路徑及該渲染任務分配信息保存到數據庫(205)。5. 根據權利要求4所述的一種去中心化的分布式渲染方法,其特征在于,所述步驟S2 還包括:指令該Τ個空閑渲染服務器(Ri,R2……RT)從數據庫(205)獲取相關渲染任務分配 信息及素材文件下載路徑,通過素材文件下載路徑從第二存儲模塊(206)下載素材文件。6. 根據權利要求5所述的一種去中心化的分布式渲染方法,其特征在于,所述步驟S3 還包括:將該T個渲染服務器(Ri,R2……RT)中已完成主服務器素材文件下載工作的渲染服 務器0〇信息從主服務器素材文件下載隊列中移除,并將其添加到素材文件下載源隊列, 同時指令該已完成主服務器素材文件下載工作的渲染服務器0〇執行與該渲染任務分配 信息相應的子渲染任務,并將渲染生成的結果文件上傳到主服務器(200)的第二存儲模塊 (206),以及將結果文件存儲路徑存儲到數據庫(205); 所述步驟S4還包括:查找數據庫(205)中的結果文件存儲路徑,通過該結果文件存儲 路徑從第二存儲模塊(206)讀取結果文件。7. 根據權利要求6所述的一種去中心化的分布式渲染方法,其特征在于,所述步驟S3 還包括:在將該已完成主服務器素材文件下載工作的渲染服務器0〇從主服務器素材文 件下載隊列中移除之后,從空閑渲染服務器名單中選擇另外T個空閑渲染服務器(R to+1), R(0+2)......R(0+T) ),為該另外T個空閑渲染服務器(R(〇+1),R(〇+2)......R (〇+T))各自分配一個子渲染 任務,并指令該另外T個空閑渲染服務器(Rto+1),R(q+2)……R(Q+T))從該已完成主服務器素材 文件下載工作的渲染服務器〇〇下載素材文件,同時對渲染任務分配進度進行更新。8. 根據權利要求7所述的一種去中心化的分布式渲染方法,其特征在于,所述步驟S3 還包括:如判斷該已完成主服務器素材文件下載工作的渲染服務器0〇與該另外T個空 閑渲染服務器(R to+1),R(q+2)……R(Q+T))之間的網絡出現中斷或該網絡質量達不到預定要求, 則將該已完成主服務器素材文件下載工作的渲染服務器0〇從素材文件下載源隊列中移 除; 如判斷有完成主服務器素材文件下載工作或渲染服務器素材文件下載工作的渲染服 務器添加到素材文件下載源隊列,則指定該另外T個空閑渲染服務器……Rto+T)) 從該新添加到素材文件下載源隊列的渲染服務器下載素材文件。9. 一種去中心化的分布式渲染方法,其特征在于,包括如下步驟: S1')在接收到由客戶端(100)提交的渲染任務時,在所有注冊渲染服務器中查找及 選擇存儲空間符合預設要求的主渲染服務器,指定該主渲染服務器接收由客戶端(100)提 交的渲染任務素材文件,并將該渲染服務器信息添加到素材文件下載源隊列,同時將渲染 任務參數設置及素材文件存放路徑信息存儲到主服務器(200)的數據庫中(205); S2')通過該主服務器將渲染任務分割為M'個序列化的子任務,并生成渲染任務分 配信息; S3')對除該主渲染服務器之外的所有注冊渲染服務器的工作狀態進行定時監測,從 監測所得空閑渲染服務器名單中隨機選擇Τ'個空閑渲染服務器(&,R2……RT),將該Τ' 個空閑渲染服務器況,R 2……RTV信息添加到渲染服務器素材文件下載隊列,并為該Τ' 個空閑渲染服務器(Ri,R 2……RTV各自分配一子渲染任務; S4')對該Τ'個渲染服務器(&,R2……RTV的素材文件下載進度進行跟蹤監測,并 判斷該Τ'個渲染服務器(Ri,R2……RTV中任一渲染服務器〇〇'完成素材文件下載工作 時,將該空閑渲染服務器名單中另一空閑渲染服務器(R T+1V信息添加到渲染服務器素材 文件下載隊列并為該另一空閑渲染服務器(RT+1V分配下一子渲染任務;重復上述操作,待 子任務分配、子任務渲染、及渲染結果文件上傳任務均執行完畢...
【專利技術屬性】
技術研發人員:陳遠磊,都政,井革新,李健來,熊超超,靳紹巍,羅文龍,
申請(專利權)人:國家超級計算深圳中心深圳云計算中心,深圳云計算中心有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。