999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MVC的文件備份后臺管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)

2011-09-07 10:17:10胡曉勤
計算機(jī)工程與設(shè)計 2011年9期
關(guān)鍵詞:用戶系統(tǒng)管理

邊 霞, 趙 奎, 胡曉勤, 趙 輝

(四川大學(xué)計算機(jī)學(xué)院,四川成都610065)

0 引 言

計算機(jī)數(shù)據(jù)資料已成為企業(yè)開展業(yè)務(wù)的基礎(chǔ),其重要性不言而喻,能否保證數(shù)據(jù)的安全性對社會的發(fā)展至關(guān)重要。備份是保證數(shù)據(jù)安全的有效方法[1]。本文提到的文件備份系統(tǒng)是一種基于差異的遠(yuǎn)程文件備份系統(tǒng)[2-3],它將本地文件通過Internet備份到遠(yuǎn)程備份中心,當(dāng)本地文件發(fā)生災(zāi)難時,可由遠(yuǎn)程備份中心恢復(fù)。

基于MVC[4]的文件備份后臺管理系統(tǒng)是文件備份系統(tǒng)的一個子系統(tǒng),采用B/S架構(gòu),對文件備份系統(tǒng)的遠(yuǎn)程備份中心提供全面的管理功能,以方便用戶使用文件備份系統(tǒng)。目前基于MVC設(shè)計模式的多層架構(gòu)設(shè)計思想可以很好的解決B/S系統(tǒng)體系結(jié)構(gòu)。MVC設(shè)計模式本身比較復(fù)雜,所以在利用MVC設(shè)計模式進(jìn)行系統(tǒng)開發(fā)時選擇一個現(xiàn)成的MVC框架可以起到事半功倍的效果。因此本文選擇了基于MVC設(shè)計模式的Joomla框架[5-7],不但縮短了系統(tǒng)的開發(fā)時間,而且使后臺管理系統(tǒng)具有良好的性能。

1 文件備份系統(tǒng)架構(gòu)

文件備份系統(tǒng)可劃分為本地數(shù)據(jù)中心和遠(yuǎn)程備份中心兩個部分,并通過Internet連接。其架構(gòu)如圖1所示。

本地數(shù)據(jù)中心負(fù)責(zé)完成快照[8]的生成和管理、文件差異的計算[9]、網(wǎng)絡(luò)傳輸和整個流程的控制。遠(yuǎn)程備份中心負(fù)責(zé)完成對網(wǎng)絡(luò)控制的響應(yīng)和數(shù)據(jù)存儲,同時對存儲數(shù)據(jù)進(jìn)行歸檔管理。文件備份后臺管理子系統(tǒng)運(yùn)行在遠(yuǎn)程備份中心。

2 關(guān)鍵技術(shù)

2.1 MVC設(shè)計模式

圖1 文件備份系統(tǒng)架構(gòu)

圖2 MVC模式結(jié)構(gòu)

MVC(model-view-controller)設(shè)計模式[10]是 xerox RARC 在20世紀(jì)80年代為編程語 Smalltaik80發(fā)明的一種軟件設(shè)計模式,至今被廣泛應(yīng)用在Web應(yīng)用程序開發(fā)中。它把一個應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個應(yīng)用被分成3個層——模型層、視圖層、控制層。它們各自處理各自的事務(wù),很好地實(shí)現(xiàn)表示邏輯和業(yè)務(wù)邏輯的有機(jī)分離,從而提高各部分的可復(fù)用性同時也可以減少代碼的維護(hù)量。MVC設(shè)計模式的核心是實(shí)現(xiàn)三層甚至多層的松散耦合,它將應(yīng)用程序抽象為模型、控制器以及視圖3個部分,三者既分工又合作地完成用戶提交的任務(wù)。MVC結(jié)構(gòu)[11-12]如圖2所示。

(1)模型(Model):應(yīng)用程序的核心,用來封裝和顯示數(shù)據(jù)對象。Model維護(hù)了系統(tǒng)的穩(wěn)定狀態(tài),也為Controller提供了訪問被Model封裝了的某些應(yīng)用功能的能力。

(2)視圖(View):是模型的表示,提供用戶交互界面。它可以從Model訪問數(shù)據(jù),并指定如何表示數(shù)據(jù)。當(dāng)模型狀態(tài)發(fā)生變化時,視圖應(yīng)該得到通知,以便更新視圖。View把用戶動作傳遞給Controller。

(3)控制器(Controller):定義應(yīng)用程序的行為。它接收來自視圖的請求,解釋用戶的動作并把它們映射為Model執(zhí)行的過程。根據(jù)用戶動作和Model處理的結(jié)果,選擇一個View作為這個用戶請求響應(yīng)的一部分。

2.2 Joomla框架原理

Joomla[13]是一個基于 PHP+Mysql的 MVC框架,利用Joomla框架,可以簡化基于MVC的Web應(yīng)用程序的開發(fā),并能充分滿足應(yīng)用開發(fā)的需求,它具有跨平臺性、安全性與穩(wěn)定性高、開發(fā)周期短、開源等優(yōu)點(diǎn)。

Joomla應(yīng)用框架繼承了MVC模式的各項(xiàng)特性,主要由3部分組成:JModel﹑JController和Jview,這3個部分分別對應(yīng)于MVC設(shè)計模式的Model,Controller和View。應(yīng)用Joomla框架進(jìn)行Web組件的MVC擴(kuò)展開發(fā),都需要繼承JModel類、JView類和JController類。

3 系統(tǒng)設(shè)計與實(shí)現(xiàn)

3.1 系統(tǒng)概述

基于MVC的文件備份后臺管理系統(tǒng)是采用B/S架構(gòu),基于LAMP(Linux+Apache+MySQL+PHP)平臺開發(fā)[14-15]的。包括5個功能模塊:用戶管理模塊,存儲介質(zhì)管理模塊,告警管理模塊,狀態(tài)監(jiān)控模塊和歷史備份點(diǎn)管理模塊,系統(tǒng)功能模塊如圖3所示。整個系統(tǒng)利用Joomla框架開發(fā),采用MVC設(shè)計模式的軟件體系結(jié)構(gòu)進(jìn)行設(shè)計。

3.2 基于MVC模式的系統(tǒng)設(shè)計

3.2.1 數(shù)據(jù)庫設(shè)計

數(shù)據(jù)庫是整個文件備份后臺管理系統(tǒng)的核心,本系統(tǒng)采用的是Mysql數(shù)據(jù)庫,定義了用戶信息表(User)、介質(zhì)信息表(Disk_Info)、告警信息表(Alarm_List)、告警信息分級表(Alarm_Level)、告警分級操作表(Alarm_Operation)、狀態(tài)監(jiān)控表(Job_info)、歷史備份點(diǎn)狀態(tài)表(ArchiveInfo)、全備份策略表(ArchiveTactics)。為了使用這些表,用Joomla框架中實(shí)現(xiàn)的JFactory類的getDBO方法來建立數(shù)據(jù)庫的連接。

圖3 系統(tǒng)功能模塊

3.2.2 業(yè)務(wù)功能實(shí)現(xiàn)設(shè)計

基于MVC的文件備份后臺管理系統(tǒng)中每個模塊都是利用Joomla框架,嚴(yán)格按照MVC三層模式來設(shè)計的,實(shí)現(xiàn)了業(yè)務(wù)層和顯示層的分離。下面以介質(zhì)管理模塊為例,詳細(xì)說明系統(tǒng)使用MVC的實(shí)現(xiàn)設(shè)計方式:

(1)控制層(Controller)的實(shí)現(xiàn)設(shè)計

介質(zhì)管理模塊的控制層是由MediumController類來實(shí)現(xiàn)的,這個類的作用是是通過一系列方法與介質(zhì)管理模塊中的JModel類進(jìn)行聯(lián)系,從而調(diào)用介質(zhì)管理模塊中對應(yīng)的單個問題頁面將結(jié)果返回給瀏覽器。MediumController類除了擁有父類Jcontroller的方法外,還具有添加(addMedium())、保存(save-Medium())、刪除(removeMedium())、取消(cancelMedium())等方法。方法addMedium()通過設(shè)置調(diào)用介質(zhì)管理模塊中相關(guān)的JView類,直接將頁面返回給瀏覽器來實(shí)現(xiàn);方法saveMedium()和removeMedium()是通過調(diào)用相關(guān)JModel類中的數(shù)據(jù)保存和刪除方法來完成;方法cancelMedium()是通過地址的重新定向來實(shí)現(xiàn)的。MediumController類中的其它方法,都是通過調(diào)用不同的Model和View來實(shí)現(xiàn),和上述實(shí)現(xiàn)方法類似。代碼有很大的相似性,在很大程度上可以進(jìn)行復(fù)用

(2)模型層(Model)的實(shí)現(xiàn)設(shè)計

介質(zhì)管理模塊的模型層是由一系列繼承于 JModel的類來實(shí)現(xiàn)的,它們負(fù)責(zé)對單個問題進(jìn)行數(shù)據(jù)邏輯處理。這些類除了有父類Jmodel的方法外,還共同擁有數(shù)據(jù)保存方法(save-Medium())和數(shù)據(jù)刪除方法(removeMedium())與取消方法(cancelMedium()),代碼的可復(fù)用程度得到很大提高。有些類還具有分頁方法,方便用戶進(jìn)行瀏覽。

(3)視圖層(View)的實(shí)現(xiàn)設(shè)計

View層決定如何將數(shù)據(jù)展示給用戶,在該系統(tǒng)的MVC模式中視圖部分主要是PHP頁面。介質(zhì)管理模塊的視圖層是由一系列繼承于JView的類來實(shí)現(xiàn)的。以存儲介質(zhì)管理模塊中的添加介質(zhì)頁面為例,添加時要求介質(zhì)名稱與介質(zhì)路徑未被占用,這就要求在用戶輸入完成后,根據(jù)數(shù)據(jù)庫的內(nèi)容動態(tài)檢查用戶名與路徑是否存在,本模塊在實(shí)現(xiàn)的過程中采用了Jquery技術(shù)來實(shí)現(xiàn)動態(tài)檢查,Jquery是一個JavaScript框架。首先在用戶輸入完成后,相關(guān)函數(shù)自動觸發(fā),調(diào)用相應(yīng)的JModel,JModel將處理結(jié)果返回給此函數(shù),并顯示出來,從而實(shí)現(xiàn)了表單的自動檢查,整個過程是無閃的,大大增加了界面的友好性。

3.3 基于MVC的系統(tǒng)實(shí)現(xiàn)

3.3.1 用戶管理模塊的實(shí)現(xiàn)

用戶管理模塊提供用戶身份認(rèn)證,用戶注冊,刪除以及修改用戶信息功能。登陸是系統(tǒng)的首要實(shí)現(xiàn)。從信息安全的角度考慮,要求進(jìn)行嚴(yán)格的入口控制,對登錄后的用戶有訪問權(quán)控制和操作等級限定。系統(tǒng)的登錄頁面需要口令驗(yàn)證通過才能進(jìn)行登錄,對于注冊用戶來說,系統(tǒng)將會把用戶和密碼跟數(shù)據(jù)庫信息進(jìn)行對比,符合認(rèn)證才能成功登錄。登陸流程如圖4所示。

圖4 登陸流程

對于未登陸的用戶,首先進(jìn)入登陸頁面,Controller將得到的用戶名和密碼傳給Model,然后Model將用戶名和密碼與數(shù)據(jù)庫中存放的用戶名和密碼進(jìn)行比較驗(yàn)證,如果驗(yàn)證通過,則調(diào)用相關(guān)View顯示登陸成功,否則調(diào)用另一個View返回登陸頁面。對于已經(jīng)登陸的用戶,用戶可以選擇強(qiáng)制退出或者不退出。

3.3.2 介質(zhì)管理模塊的實(shí)現(xiàn)

介質(zhì)管理模塊負(fù)責(zé)管理文件備份系統(tǒng)的存儲介質(zhì),包括存儲介質(zhì)的增加,刪除,使用信息查看以及數(shù)據(jù)遷移等。隨著備份任務(wù)的增加,遠(yuǎn)程備份中心存儲的數(shù)據(jù)會越來越多,當(dāng)存儲介質(zhì)里面的數(shù)據(jù)達(dá)到或超過分配限額,或者需要更換存儲介質(zhì)時,需要將一部分?jǐn)?shù)據(jù)或者全部數(shù)據(jù)遷移到其它存儲介質(zhì)上。數(shù)據(jù)遷移包括遷移用戶備份數(shù)據(jù)與遷移用戶歷史備份點(diǎn)數(shù)據(jù)兩部分,在遷移過程中需要執(zhí)行相關(guān)XML腳本,以使用戶數(shù)據(jù)遷移后不影響數(shù)據(jù)恢復(fù)。數(shù)據(jù)遷移流程如圖5所示。

圖5 數(shù)據(jù)遷移流程

數(shù)據(jù)遷移執(zhí)行過程中每一個功能都是嚴(yán)格按照J(rèn)oomla框架的MVC三層模式來實(shí)現(xiàn)的,圖6為“執(zhí)行遷移”的MVC實(shí)現(xiàn)。首先類MediumController(Jcontroller的子類)的方法transmiteMedium()接受

圖6 “執(zhí)行遷移”的MVC實(shí)現(xiàn)

用戶需要執(zhí)行遷移操作的請求;然后調(diào)用類TransmitModel(Jmodel子類)的方法transmitMediumModel()進(jìn)行處理,此方法中利用系統(tǒng)調(diào)用(Exec(...))實(shí)現(xiàn)了數(shù)據(jù)的遷移與相關(guān)腳本的執(zhí)行,并在執(zhí)行完成后更新數(shù)據(jù)庫信息;最后調(diào)用類Transmit-View類(Jview子類)的方法Transmit()顯示結(jié)果。

3.3.3 告警管理模塊的實(shí)現(xiàn)

告警管理模塊主要是對文件備份系統(tǒng)中的任務(wù)失敗、存儲介質(zhì)出錯等多種系統(tǒng)錯誤,能夠按照用戶定義級別為告警信息分級、記錄,發(fā)送告警郵件給管理員,并且記錄管理員的處理情況。處理告警流程如圖7所示。

首先進(jìn)入模塊,Controller調(diào)用Model查詢數(shù)據(jù)庫,看是否有告警信息,如果有則調(diào)用View將之顯示出來,然后以同樣的流程進(jìn)入告警處理頁面,并處理告警。

圖7 告警處理流程

3.3.4 狀態(tài)監(jiān)控模塊的實(shí)現(xiàn)

狀態(tài)監(jiān)控模塊負(fù)責(zé)監(jiān)控文件備份系統(tǒng)遠(yuǎn)程備份中心端當(dāng)前的運(yùn)行狀態(tài),包括系統(tǒng)狀態(tài)和任務(wù)狀態(tài)。可以通過查看正在執(zhí)行的任務(wù)信息或者已登錄用戶活動情況了解遠(yuǎn)程備份中心的運(yùn)行狀態(tài)。其中任務(wù)狀態(tài)有未完成任務(wù),已完成任務(wù)和活動任務(wù)3種情況。每一種情況都詳細(xì)記錄了各個任務(wù)的任務(wù)類型,任務(wù)開始與結(jié)束時間,任務(wù)容量與流量以及用戶IP地址與用戶ID等。

3.3.5 歷史備份點(diǎn)管理模塊的實(shí)現(xiàn)

歷史備份點(diǎn)管理模塊提供歷史備份點(diǎn)的查看,刪除與恢復(fù)功能。其中歷史備份點(diǎn)的恢復(fù)功能在文件備份系統(tǒng)的客戶端已經(jīng)實(shí)現(xiàn),為了使用戶能夠在沒有安裝文件備份客戶端的情況下也能進(jìn)行歷史備份點(diǎn)的恢復(fù),在后臺管理系統(tǒng)中加入此功能,以方便用戶的操作。歷史備份點(diǎn)恢復(fù)流程如圖8所示。

圖8 歷史備份點(diǎn)恢復(fù)流程

首先進(jìn)入模塊,Controller得到用戶的ID(uid)傳給Model,Model使用uid在數(shù)據(jù)庫查找出用戶歷史備份點(diǎn)信息,之后調(diào)用 View將歷史備份點(diǎn)信息通過頁面顯示出來。其次以同樣的流程得到xml文件并顯示備份詳情,最后選擇某個需要恢復(fù)的歷史備份點(diǎn)或者某一文件,點(diǎn)擊恢復(fù),通過第二步得到的xml信息,定位到相應(yīng)文件實(shí)現(xiàn)下載。如果是多個文件,先進(jìn)行打包然后進(jìn)行下載。

4 結(jié)束語

隨著Web應(yīng)用系統(tǒng)規(guī)模的不斷增大,架構(gòu)一個高效、結(jié)構(gòu)清晰的Web應(yīng)用程序十分重要。MVC設(shè)計模式可以使業(yè)務(wù)邏輯與頁面邏輯彼此分離,從而提高開發(fā)的效率和提高質(zhì)量。采用基于MVC的框架開發(fā),優(yōu)勢如下:

(1)多個視圖可以對應(yīng)一個模型。這樣可以減少代碼的復(fù)制及代碼的維護(hù)量,一旦模型發(fā)生改變,也易于維護(hù)。

(2)模型返回的數(shù)據(jù)與顯示邏輯分離。模型數(shù)據(jù)可以應(yīng)用諸如PHP等任何的顯示技術(shù),開發(fā)具有很大的靈活性。

(3)應(yīng)用被分隔為三層,降低了各層之間的耦合,提供了應(yīng)用的可擴(kuò)展性。

(4)控制層可以把不同的模型和不同的視圖組合在一起,完成各種不同的請求。

(5)MVC更符合軟件工程化管理的精神。不同的層各司其職,每一層的組件具有相同的特征,有利于通過工程化和工具化產(chǎn)生管理程序代碼。

[1]李濤.網(wǎng)絡(luò)安全概論[M].北京:電子工業(yè)出版社,2004.

[2]TANG Wei-tong,LIU Xiao-jie,LI Tao,et al.Fast differential backup method[J].Computer Engineering,2008,34(11):255-257.

[3]REN Xin,LI Tao,HUXiao-qin.Design and implementation of remote file backup and recover system[J].Computer Engineering,2009,35(10):112-114.

[4]劉麗,任巖.基于的銀行中間業(yè)務(wù)系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].計算機(jī)工程與設(shè)計,2007,28(21):5282-5284.

[5]于秀金,張皓斐.基于Joomla!系統(tǒng)開發(fā)網(wǎng)站的設(shè)計與實(shí)現(xiàn)[J].電腦開發(fā)與應(yīng)用,2010,23(11):50-55.

[6]Barrie M North.Joomla!a user's guide-building a successful joomla!powered website[M].Prentices Hall,2007.

[7]Andy Wallace.Joomla!1.5 installationmanual[M].Prentice Hall,2007.

[8]QINSheng,LIHuai-yang,HAIJie.Design andimplementationof multi-version snapshot based on block device[J].Computer Engineering,2009,35(22):71-73.

[9]馬曉旭,胡曉勤,鄧洪敏,等.一種逆向的差異歸檔方法[J].四川大學(xué)學(xué)報(工程科學(xué)版),2009,41(4):191-195.

[10]劉春花,王忠民.基于MVC模式的遠(yuǎn)程評議系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].計算機(jī)工程與設(shè)計,2008,29(13):3468-3470.

[11]Ahmed Seffah,Taleb Mohamed.Halima Habieb-Mammar and Alain Abran.reconciling usability and interactive system architecture using patterns[J].Journal of Systems and Software,2008,81(11):1845-1852.

[12]CHEN Liang-chen,SUN Gong-xing,ZHAO Rui,et al.Research and design of food secure monitor system based on MVC[J].Application Research of Computers,2008,25(7):2091-2093.

[13]胡前進(jìn),蔡永州,吳敏.基于MVC模式的Joomla!框架在Web系統(tǒng)組件擴(kuò)展開發(fā)中的應(yīng)用研究[J].現(xiàn)代教育技術(shù),2009,19(6):97-100.

[14]楊明華,譚勵,于重重.LAMP網(wǎng)站開發(fā)黃金組合:Linux+Apache+MySQL+PHP[M].北京:電子工業(yè)出版社,2008.

[15]劉振巖,王勇,陳立平.基于Linux的WEB程序設(shè)計[M].北京:人民郵電出版社,2008.

猜你喜歡
用戶系統(tǒng)管理
棗前期管理再好,后期管不好,前功盡棄
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
“這下管理創(chuàng)新了!等7則
雜文月刊(2016年1期)2016-02-11 10:35:51
人本管理在我國國企中的應(yīng)用
主站蜘蛛池模板: 精品人妻一区无码视频| 国产网站免费看| 国产门事件在线| 伊人五月丁香综合AⅤ| 亚洲男人的天堂在线| 亚洲av无码片一区二区三区| 少妇精品网站| 日韩亚洲综合在线| 中文字幕在线播放不卡| 狂欢视频在线观看不卡| 美女无遮挡免费视频网站| 日韩精品资源| 成人韩免费网站| 亚洲欧美激情小说另类| 丁香五月激情图片| 六月婷婷精品视频在线观看| 国产精品人成在线播放| 亚洲色图欧美激情| 亚洲成人播放| 国产视频一区二区在线观看| 国产日韩欧美在线视频免费观看| 在线观看国产网址你懂的| 国产成人精品18| 国产精品2| 亚洲色欲色欲www网| 国产靠逼视频| 天堂va亚洲va欧美va国产| 青青青国产视频| 国产无吗一区二区三区在线欢| 亚洲天堂2014| 久久国产高清视频| 日本国产精品一区久久久| 欧美精品在线免费| 亚洲综合色婷婷中文字幕| 午夜视频日本| 国产91导航| 99热这里都是国产精品| 老司国产精品视频91| 国产va在线观看| 亚洲AV无码乱码在线观看代蜜桃| 91精品国产91久无码网站| 中文无码日韩精品| 国产高潮流白浆视频| 亚洲va视频| 91精品久久久久久无码人妻| 久久黄色小视频| 欧美69视频在线| 亚洲精品国产自在现线最新| 99精品视频播放| 久草热视频在线| 99精品国产自在现线观看| 欧美午夜在线视频| 欧美a级完整在线观看| 国产精品一区二区不卡的视频| 91在线精品麻豆欧美在线| 国产女人18水真多毛片18精品| 国产一区二区丝袜高跟鞋| 欧美劲爆第一页| 韩国v欧美v亚洲v日本v| 欧美一区福利| 国产激情在线视频| 国产亚洲视频免费播放| 国产精品私拍在线爆乳| 国产一级在线观看www色| 国产99在线观看| 玩两个丰满老熟女久久网| 欧洲精品视频在线观看| 亚洲精品无码AV电影在线播放| 日韩美毛片| 国产欧美在线观看一区| 亚洲swag精品自拍一区| 中文字幕66页| 久久国产乱子| 亚洲精品片911| 久久国产乱子| 美女一级免费毛片| 亚洲欧美自拍中文| 国产亚洲高清视频| 激情国产精品一区| 成人va亚洲va欧美天堂| 无码高清专区| 乱人伦中文视频在线观看免费|