国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Struts和Hibernate架構的渲染集群管理系統(tǒng)Web Portal的開發(fā)

2013-12-06 23:50:20
河北工業(yè)科技 2013年4期
關鍵詞:文件夾集群管理系統(tǒng)

張 亭

(天津美術學院設計與新媒體藝術實驗教學中心, 天津 300342)

基于Struts和Hibernate架構的渲染集群管理系統(tǒng)Web Portal的開發(fā)

張 亭

(天津美術學院設計與新媒體藝術實驗教學中心, 天津 300342)

在已開發(fā)的渲染集群管理系統(tǒng)中,當用戶提交任務后,由系統(tǒng)管理員根據(jù)渲染集群服務器中所有任務調度情況進行分配,用戶不能根據(jù)自己的需求來管理渲染任務,這樣會造成一定的失誤率。為解決上述問題,設計了基于Struts和Hibernate架構的渲染集群管理系統(tǒng)的Web Portal,使用戶可以直觀、自主地對渲染任務進行查看與管理。

系統(tǒng)框架; J2EE; Struts與 Hibernate;Web Portal

隨著影視、動畫等新媒體創(chuàng)作形式的廣泛應用,從而使影視特效及輸出的數(shù)字化運算需求增加,一般普通的臺式電腦和工作站已經(jīng)無法滿足效果預覽的時效性要求。為了滿足學院教學和科研的創(chuàng)作需要,將后期運算處理工作全部提交到渲染集群服務器處理。經(jīng)過對渲染集群服務器的使用,開發(fā)出渲染集群管理系統(tǒng),可以使管理員直觀地去操作控制渲染任務,并實時了解服務器系統(tǒng)當前的狀態(tài)。但是對于用戶提交渲染任務后,其渲染任務的管理是系統(tǒng)管理員根據(jù)渲染集群服務器中所有任務調度情況進行分配。為了解決用戶不能自主管理渲染任務的問題,通過Struts與Hibernate架構設計基于渲染集群管理系統(tǒng)的Web Portal,提供友好的管理界面,實現(xiàn)用戶遠程對渲染任務進行管理。

1 應用技術介紹

在Web界面應用開發(fā)中,各個環(huán)節(jié)應分工協(xié)作降低系統(tǒng)的耦合度,本文采用Struts與Hibernate相結合的方式進行系統(tǒng)的架構設計。 Struts是基于MVC應用模式的開源框架,MVC模式可以實現(xiàn)J2EE應用系統(tǒng)的分層,可以實現(xiàn)各層之間松耦合的、可面向動態(tài)內容的實現(xiàn)方式[1-3]。Struts分為3個部分:視圖層、控制層和模型層[4]。

視圖層: Struts提供taglib定義創(chuàng)建HTML和JSP頁面,實現(xiàn)建立界面,把業(yè)務邏輯和顯示邏輯分離,可以和模型層ActionForm對象進行交互,達到用戶提交數(shù)據(jù)的封裝。

控制層:從客戶端接收的請求并執(zhí)行相應的業(yè)務邏輯,最后將結果送回到客戶端。由ActionServlet 和ActionMapping對象構成。

模型層:實現(xiàn)了系統(tǒng)中的業(yè)務邏輯,在Struts框架中模型層有Action 和ActionForm對象。Action 對象封裝具體的處理邏輯,將請求和業(yè)務邏輯分開,調用業(yè)務邏輯模塊,并提交到相應視圖組件產(chǎn)生響應。ActionForm對象實現(xiàn)對客戶端表單中各個數(shù)據(jù)的封裝并進行數(shù)據(jù)傳遞。

由于Struts的基本架構中需要詳細配置JDBC訪問數(shù)據(jù)庫,會使編程語言復雜化,導致層和層之間的耦合性大,難以維護[5]。Hibernate應用ORM技術對Struts的JDBC訪問數(shù)據(jù)庫工作進行應用,從而不需要大量代碼和復雜的持久層,大大減少操作數(shù)據(jù)庫的工作量。層次間依賴關系的原則是自頂向下的,層次之間通過接口進行交互[6]。

2 軟件技術架構

1)Web Portal層:通過將Struts和Hibernate結合建立渲染集群管理系統(tǒng)的Web Portal,利用J2EE技術編輯B/S結構的用戶界面,可以讓用戶對任務進行提交,按字段保存到SQL數(shù)據(jù)庫對應的關系表中。通過數(shù)據(jù)的持久化操作將數(shù)據(jù)庫中的數(shù)據(jù)進行調用,并通過任務Web界面顯示。

2)渲染集群服務器層:使用渲染集群服務器中的分發(fā)軟件(Enfuzion)對各個渲染節(jié)點進行任務的分配和控制,然后將處理結果和相關信息經(jīng)過渲染集群管理系統(tǒng)保存到相應的SQL數(shù)據(jù)庫中。

3)渲染集群管理系統(tǒng)層:渲染集群管理系統(tǒng)對數(shù)據(jù)庫進行調用,通過分發(fā)軟件的接口函數(shù)(Enfuzion API)傳遞給渲染集群服務器層,任務處理結束后,接口函數(shù)將結果存放在數(shù)據(jù)庫對應的關系表中,進行任務數(shù)據(jù)的更新,以便Web Portal層顯示使用[7]。

渲染集群管理系統(tǒng)Web Portal的架構見圖1。

圖1 渲染集群管理系統(tǒng)Web Portal的架構圖Fig.1 Structure the rendering cluster management system Web Portal

3 系統(tǒng)功能設計

渲染集群管理系統(tǒng)Web Portal的功能設計中包括4個主要模塊:權限管理模塊、系統(tǒng)管理模塊、文件管理模塊、任務管理模塊。根據(jù)權限模塊將用戶可分為管理員和一般用戶,包括userlogin,userdetail,userconfig,accessright 4個二維表來管理、驗證用戶信息,決定用戶的使用權限等。系統(tǒng)管理模塊:可以讓管理員對系統(tǒng)的狀態(tài)實時查看和維護,對每個渲染節(jié)點進行差錯控制,此功能模塊只對管理員用戶開放。文件管理模塊:可以實現(xiàn)用戶創(chuàng)建時,由渲染集群管理系統(tǒng)分配給一個文件夾,來保存每次提交任務的項目文件和素材文件,可以實時查看這個文件夾中渲染輸出的圖像,渲染結束后對輸出文件夾內容進行下載,包括finalarchieve,privatefilezone,projectfile,publicfilezone,uploadarchieve 5個二維表來記錄用戶所要渲染文件的大小、文件格式、上傳路徑、上傳時間、輸出路徑等信息。任務管理模塊:主要是對上傳的項目文件參數(shù)進行設置,通過提交的方式由渲染集群管理系統(tǒng)進行處理,同時還可以查看任務的運行狀態(tài)信息,包括gallery,keyframeing,message,submission,thumbimage 5個二維表來處理用戶所要渲染文件的起始幀、分辨率、文件格式、分發(fā)狀態(tài)等渲染參數(shù)。

4 系統(tǒng)功能實現(xiàn)的技術分析

4.1文件管理模塊

普通用戶在注冊時,系統(tǒng)自動為用戶創(chuàng)建一個以其用戶名命名的文件夾,其上傳的文件都將存儲在這個文件夾下。用戶文件管理的具體流程:用戶把上傳文件的項目文件進行歸檔處理,形成壓縮文件夾形式;用戶在瀏覽器界面上進行文件上傳,可以利用FTP等方式;渲染集群服務器的存儲空間中,對上傳的壓縮文件進行解壓處理;上傳結束后跳轉到任務管理模塊的界面;在渲染集群服務器中可以在渲染輸出文件夾中查看渲染輸出圖像的效果;在結束后可以對整個文件夾進行打包下載。

4.2任務管理模塊

文件上傳成功后,進入創(chuàng)建渲染任務界面。新任務創(chuàng)建流程:用戶進入添加新任務界面,顯示出添加新任務信息的表單,需要正確填寫渲染任務的相關信息,如項目名稱、項目文件及整個文件夾調用的相對文件路徑、存儲文件的相對路徑、起始幀、結束幀、渲染引擎、軟件版本等信息,最后點擊頁面中的提交按鈕[8]。具體的處理結構流程見圖2。

圖2 添加新任務信息流程圖Fig.2 Flow chart of adding a new task

項目用戶通過添加新任務的界面taskadd.jsp,添加完新任務信息后通過HTTP請求提交給ActionServlet對象,ActionServlet檢索和用戶請求匹配的ActionMapping實例,創(chuàng)建一個與模型層對應的taskaddActionForm對象,將用戶的請求表單內容對應保存到taskaddActionForm對象中。ActionServlet根據(jù)ActionMapping實例包含的映射信息決定將請求轉發(fā)給哪個taskaddAction進行處理,taskaddAction使用execute()調用業(yè)務層接口方法,實現(xiàn)與模型對象taskhandle的通信,taskhandle執(zhí)行業(yè)務邏輯,通過Hibernate架構實現(xiàn)Java類和SQL數(shù)據(jù)庫進行通信。把新添加的任務信息根據(jù)用戶的ID插入到數(shù)據(jù)庫表taskhandle中,然后由execute()方法返回一個forward給ActionServlet,最后由taskinfoadd.jsp顯示添加完新任務信息后的課程信息概要。

4.3顯示渲染狀態(tài)的實現(xiàn)

顯示渲染狀態(tài)的具體做法是采用Hibernate架構實現(xiàn)Java類與數(shù)據(jù)庫之間轉換和訪問,再通過視圖層以頁面形式顯示。用面向對象的分析方法根據(jù)需求來提出一個模型,將這些模型用Java語言實現(xiàn)基本的Java對象,然后寫出基本的DAO接口,并給出Hibernate的DAO模式[9]。DAO模式通過對底層數(shù)據(jù)的封裝,將數(shù)據(jù)訪問邏輯與業(yè)務處理邏輯分開,提供抽象化的數(shù)據(jù)訪問接口,業(yè)務層不需要關于數(shù)據(jù)庫的具體操作,在DAO類中通過數(shù)據(jù)庫連接類操作數(shù)據(jù)庫。DAO類實現(xiàn)了DAO接口,并實現(xiàn)了DAO接口中所有的抽象方法。通過Hibernate的DAO類實現(xiàn)Java類數(shù)據(jù)庫之間的轉換和訪問。在Struts架構的控制器部分中的Action中調用業(yè)務類 BO(business object)來完成業(yè)務邏輯,利用DAO模式實現(xiàn)Struts與Hibernate的結合。每個持久化對象PO對應于數(shù)據(jù)庫的一個關系表,而DAO用于持久化PO,Hibernate則通過映射文件把持久化對象到關系數(shù)據(jù)庫中。下面就是通過taskhandleDAO方式實現(xiàn)渲染任務狀態(tài)的實時查詢[10]。調用過程如圖3所示。

圖3 調用數(shù)據(jù)持久化對象的流程Fig.3 Process of calling data persistence objects

getbyUser()方法根據(jù)登錄用戶名和密碼進行身份驗證,從而獲取數(shù)據(jù)庫中所存儲的taskid信息。渲染集群服務器在處理過程中渲染任務的狀態(tài)是變化的,本系統(tǒng)設計是用戶通過訪問查詢某個任務時,可以通過調用渲染集群管理系統(tǒng)的setState()函數(shù)來獲取當前任務狀態(tài),并將該狀態(tài)存儲到所使用數(shù)據(jù)庫中,在JSP界面中規(guī)律有序的顯示全部任務,實時顯示任務狀態(tài)。

public class taskhandle Monitor{

public taskhandle DAO taskhdao;

taskhdao=DAOFactory.getInstance().taskhandle DAO ();

public boolean getbyUser (String name,String psword);

public Taskhandle PO setState();

}

5 結 語

應用Struts和Hibernate結合的方式設計基于渲染集群管理系統(tǒng)的Web Portal,結構層次開發(fā)簡潔、清晰,有很好的擴展性和可維護性。通過提供給用戶遠程、自主控制集群渲染服務器使用的方式,實現(xiàn)實時對任務的渲染結果進行查詢預覽,發(fā)現(xiàn)錯誤及時通知系統(tǒng)管理員對任務進行停止并修復,從而提高了渲染結果的成功率。

/

[1] 王天擎. 基于MVC_X的Web 應用開發(fā)研究與設計[J]. 計算機應用與軟件,2007,24(5):37-39.

WANG Tianqing. Research and design of Web application development based on MVC_X[J]. Computer Applications and Software, 2007,24(5):37-39.

[2] 劉 潔,薄祥臣. “科技計劃項目網(wǎng)上管理中心”的設計與實現(xiàn)[J].河北科技大學學報,2011,32(6):590-593.

LIU Jie,BO Xiangchen. Design and implementation of“science and technology plan projects online management center”[J]. Journal of Hebei University of Science and Technology, 2011,32(6):590-593.

[3] 史金磊,朱海榮. 基于B/S的中小型酒店預訂房間系統(tǒng)的設計與實現(xiàn)[J]. 河北工業(yè)科技,2009,26(4):260-262.

SHI Jinlei,ZHU Hairong. Design and realization of small and medium-sized hotel room reservations system based on B/S[J]. Hebei Journal of Industrial Science and Technology, 2009,26(4):260-262.

[4] 張宗福. 基于STRUTS 框架開發(fā)MVC 模式的WEB 應用[J]. 計算機光盤軟件與應用,2012(22):206-208.

ZHANG Zongfu. WEB applications based on the the STRUTS framework developed MVC pattern[J].Computer CD Software and Applications, 2012(22):206-208.

[5] 梁國業(yè),廖健平.基于J2EE的輕量級持久層框架的設計[J].電腦知識與技術,2008(10):88-89.

LIANG Guoye,LIAO Jianping. The design of lightweight persistence layer framework based on J2EE[J]. Computer Know-ledge and Technology, 2008(10):88-89.

[6] 阮 飛,陳赫貝. J2EE數(shù)據(jù)持久層技術及其比較[J].微機發(fā)展,2005,15(10):85-87.

RUAN Fei,CHEN Hebei. J2EE data persistence and its comparison[J]. Microcomputer Development, 2005,15(10):85-87.

[7] 任 政,楊旭波,肖雙九,等. 遠程渲染分發(fā)管理系統(tǒng)的設計與實現(xiàn)[J].計算機應用與軟件,2008,25(7):6-10.

REN Zheng, YANG Xubo, XIAO Shuangjiu,et al. Design and implementation of remote rendering dispatching management system[J]. Computer Applications and Software, 2008,25(7):6-10.

[8] 張永弟,岳彥芳,陳曹維, 等.基于Web的CAPP與MES信息集成化管理系統(tǒng)[J].河北科技大學學報, 2008,29(2):152-157.

ZHANG Yongdi,YUE Yanfang,CHEN Caowei,et al. Web-based CAPP and MES integrated information management system[J]. Journal of Hebei University of Science and Technology, 2008,29(2):152-157.

[9] 魏惠茹, 李曉東, 任 剛.Hibernate對象持久化技術的研究[J]. 電腦知識與技術,2011,19(7):4 733-4 734.

WEI Huiru, LI Xiaodong, REN Gang. Study on object persistence of Hibernate[J]. Computer Knowledge and Technology, 2011,19(7):4 733-4 734.

[10] 鄒 俊. 整合 Struts 和 Hibernate 框架的 Web 應用開發(fā)[J]. 微計算機信息, 2008, 22(9): 235-236.

ZOU Jun. Web applications development integrating Struts with Hibernate[J].Microcomputer Information, 2008, 22(9): 235-236.

Development of Web Portal based on Struts and Hibernate

ZHANG Ting

(Experimental Teaching Center of Design and New Media Art, Tianjin Academy of Fine Arts, Tianjin 300342, China)

In existing render cluster management systems, when a user submits a task, the system administrator allocates it considering all the tasks in the render cluster server. Users can not manage rendering tasks according to their demand. It can cause a certain error rate. In order to solve the above problems, a Web Portal of render cluster management system is designed combining Struts and Hibernate, so that the users can clearly view and manage their render tasks.

framework; J2EE; Struts and Hibernate; Web Portal

1008-1534(2013)04-0253-04

TP311.1

A

10.7535/hbgykj.2013yx0408

2013-03-22;

2013-04-26

責任編輯:陳書欣

天津美術學院科研項目(2012042)

張 亭(1981-),男,天津人,實驗師,主要從事計算機信息安全、信息智能處理方面的研究。

E-mail:zt3562@163.com

猜你喜歡
文件夾集群管理系統(tǒng)
磁力文件夾
基于James的院內郵件管理系統(tǒng)的實現(xiàn)
海上小型無人機集群的反制裝備需求與應對之策研究
基于LED聯(lián)動顯示的違停管理系統(tǒng)
一種無人機集群發(fā)射回收裝置的控制系統(tǒng)設計
電子制作(2018年11期)2018-08-04 03:25:40
調動右鍵 解決文件夾管理三大難題
Python與Spark集群在收費數(shù)據(jù)分析中的應用
海盾壓載水管理系統(tǒng)
中國船檢(2017年3期)2017-05-18 11:33:08
勤快又呆萌的集群機器人
TC一鍵直達常用文件夾
電腦迷(2015年1期)2015-04-29 21:24:13
平顺县| 康乐县| 珲春市| 日照市| 永和县| 芮城县| 波密县| 西峡县| 合水县| 皮山县| 邵武市| 个旧市| 德令哈市| 钟祥市| 大港区| 泰宁县| 长宁区| 淅川县| 岳池县| 休宁县| 高青县| 甘南县| 黄陵县| 揭阳市| 灯塔市| 靖州| 丁青县| 安乡县| 北宁市| 兴仁县| 同江市| 安多县| 六安市| 水富县| 泰宁县| 南华县| 沙河市| 辽阳市| 丰台区| 师宗县| 宁强县|