吳瑞勇
(太原大學(xué)外語師范學(xué)院,山西 太原 030012)
基于JAVA技術(shù)的小型WEB應(yīng)用系統(tǒng)數(shù)據(jù)備份設(shè)計
吳瑞勇
(太原大學(xué)外語師范學(xué)院,山西 太原 030012)
針對網(wǎng)絡(luò)中出現(xiàn)的越來越多的小型Web應(yīng)用系統(tǒng)的數(shù)據(jù)安全問題,該文提出一種對其進行數(shù)據(jù)備份的方法。通過采用JAVA編程技術(shù)對Mysql數(shù)據(jù)庫操作命令mysqldump命令進行組合,實現(xiàn)了對數(shù)據(jù)庫的指定路徑存儲。
EPC工程總承包;質(zhì)量控制;措施
隨著Web技術(shù)、瀏覽器技術(shù)和計算機技術(shù)的發(fā)展,出現(xiàn)了越來越多的基于Web的小型應(yīng)用系統(tǒng)。但由于容易發(fā)生系統(tǒng)和硬件故障、人為錯誤/人為破壞,以及自然破壞等因素,造成應(yīng)用系統(tǒng)數(shù)據(jù)的丟失進而導(dǎo)致用戶的業(yè)務(wù)停止。這樣,如何保護用戶數(shù)據(jù)和盡快恢復(fù)用戶應(yīng)用就成為小型Web應(yīng)用系統(tǒng)中的一個需要解決的問題,而數(shù)據(jù)備份恰是解決這一問題的關(guān)鍵。
數(shù)據(jù)備份是應(yīng)用系統(tǒng)中一個最重要的組成部分,它能保證在系統(tǒng)發(fā)生故障時,企業(yè)數(shù)據(jù)不丟失,并能保證系統(tǒng)盡快恢復(fù)。在Web技術(shù)應(yīng)用的早期,只有一些大型系統(tǒng)具備比較完善的備份策略。數(shù)據(jù)備份技術(shù)可以分為硬件備份技術(shù)和軟件備份技術(shù)。
1.硬件備份技術(shù)介紹
硬件備份技術(shù)可以采取服務(wù)器雙機熱備份、SCSI硬盤熱備技術(shù)等。其中,服務(wù)器雙機熱備是將數(shù)據(jù)庫放在共享設(shè)備上,當一臺服務(wù)器提供服務(wù)時,直接在存儲設(shè)備上進行讀寫。當系統(tǒng)切換后,另一臺服務(wù)器也同樣讀取該存儲設(shè)備上的數(shù)據(jù)。
SCSI硬盤熱備技術(shù)主要是針對硬件故障而言的,分兩種情形。一種情況是,采用RAID2方式進行備份。正常工作時,這兩個硬盤采用鏡像的方式進行備份,當一塊硬盤發(fā)生故障時,自動切換到另一塊硬盤工作;第二種方式屬于軟件鏡像的方法,不需RAID的支持,它采用操作系統(tǒng)軟備份的方式,分主盤和從盤進行鏡像備份,保證了硬盤數(shù)據(jù)的統(tǒng)一。當主硬盤發(fā)生故障時,經(jīng)硬盤切換,采用從硬盤繼續(xù)工作。
2.軟件備份技術(shù)
軟件備份技術(shù)指通過軟件的方式將數(shù)據(jù)備份到備份設(shè)備上,一般也分為兩種方式。一種是通過企業(yè)數(shù)據(jù)庫系統(tǒng)提供的備份功能將用戶數(shù)據(jù)庫備份,另外一種是通過程序設(shè)計人員進行程序編寫,利用數(shù)據(jù)庫操作語言將數(shù)據(jù)庫備份。這兩種方式都可進行自動備份和人工備份,其中,自動備份是系統(tǒng)運行時通過觸發(fā)一定條件自動進行的;而人工備份一般用于系統(tǒng)維護時使用,通過人為的方式對數(shù)據(jù)庫系統(tǒng)進行備份。
3.備份系統(tǒng)的存儲架構(gòu)
從存儲系統(tǒng)的架構(gòu)方面講,存儲系統(tǒng)包括DAS(Direct Attached Storage)直接附加存儲、NAS(Network Attached Storage)網(wǎng)絡(luò)附加存儲和 SAN(Storage Area Network)存儲區(qū)域網(wǎng)絡(luò)三種技術(shù)。
對于大型網(wǎng)絡(luò)應(yīng)用來說,采用的數(shù)據(jù)備份技術(shù)涵蓋了上述的方方面面,并一直處于不斷的技術(shù)綜合整合中,而對于小型網(wǎng)絡(luò)應(yīng)用系統(tǒng)來說,它所涉及的數(shù)據(jù)安全不亞于大型系統(tǒng),并隨著網(wǎng)絡(luò)應(yīng)用技術(shù)的不斷推廣,它所帶來的影響也越來越重大,因此,設(shè)計一個合理、安全、健壯的數(shù)據(jù)備份系統(tǒng)成為了小型Web應(yīng)用系統(tǒng)的一個重要需要。
1.設(shè)計實驗環(huán)境
綜合上述備份技術(shù),并對小型Web應(yīng)用系統(tǒng)數(shù)據(jù)備份仔細分析,論文研究了基于JAVA編程技術(shù)環(huán)境下的數(shù)據(jù)備份技術(shù),數(shù)據(jù)庫采用流行的網(wǎng)絡(luò)數(shù)據(jù)庫Mysql,以及JSP+Servlet+JavaBean的方式進行三層架構(gòu)編程,存儲設(shè)備采用本地計算機硬盤選擇目錄存儲,不進行雙機熱備或硬盤鏡像備份。
2.設(shè)計方法研究及注意事項
仔細分析,該系統(tǒng)的備份操作屬于軟件備份的方式,采用數(shù)據(jù)庫SQL語言中的備份語句和Mysql數(shù)據(jù)庫自身的備份命令mysqldump進行數(shù)據(jù)庫不同目錄存儲備份。備份范例命令及主要參數(shù)介紹如下:
mysqldump-h host-u username-p password--default-character-set=utf8 databasename>filepath
mysqldump:是采用SQL級別的備份機制,它將數(shù)據(jù)表導(dǎo)成SQL腳本文件,在不同的MySQL版本之間升級時相對比較合適。
-h host-u username-p password為用戶登錄數(shù)據(jù)庫信息。
default-character-set=utf是字符編碼方式,用于解決程序中的亂碼問題。
Filepath是存儲路徑。
具體方案設(shè)計為:通過JAVA語言編程實現(xiàn)對Mysqldump命令在程序中的組合,最終實現(xiàn)對數(shù)據(jù)庫的備份。
備份過程中需要注意:在使用備份前,必須停掉數(shù)據(jù)庫,否則無法備份數(shù)據(jù)庫,所以在程序中要加代碼,如-lock-all-tables=true,進行數(shù)據(jù)表鎖定操作。
3.備份實現(xiàn)
備份工作是在程序中收集Mysql的各種參數(shù)完成的。下面給出兩個主要方法的源代碼:
通過使用JAVA編程,實現(xiàn)對Mysql數(shù)據(jù)庫備份命令的mysqldump的參數(shù)組合,實現(xiàn)對數(shù)據(jù)庫的備份操作,經(jīng)程序操作測試,可以滿足數(shù)據(jù)庫備份的基本要求。這對解決中小型Web應(yīng)用系統(tǒng)的數(shù)據(jù)備份是一種好的解決方案。
[1]劉惠敏.數(shù)據(jù)備份策略分析[J].福建電腦,2007,(8):18-22.
[2][美]Anil Desai.SQL Server 2000備份與還原[M].北京:清華大學(xué)出版社,2003.
[3]王斌.一種基于ASP_NET 的數(shù)據(jù)備份方法[J].現(xiàn)代計算機,2010,(1):136-138.
[4]趙艷玲.數(shù)據(jù)存儲備份策略及調(diào)度研究[J].大慶石油學(xué)院學(xué)報,2008,(9).
TN
A
1673-0046(2011)01-0182-02
[*基金項目:本論文屬于山西省教育科學(xué)十一五規(guī)劃課題論文,基于SCORM的多媒體課件資源庫研究,編號:GH-09198]