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