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