我們都知道在現實生活中總會有很多意想不到的事情發生,有一次就遇到了阿裡雲上的伺服器被人惡意掃描并不能使用的情況,我們就花了大量的人力和物力将伺服器上的很多東西手動地拷貝到另一個備份伺服器上,做這種事情真的是費力不讨好,是以這時候資料庫和使用者檔案的備份就顯得尤其重要。
項目的功能主要分為兩塊:1.資料庫的熱備份;2.使用者檔案的備份。我們首先提供了一個管理者登入的界面,便于伺服器管理者來管理需要備份的項目以及切換正在使用的伺服器,配置好後當使用者使用項目進行了資料庫操作,就通過webService來熱備份到另一個伺服器,httpClient會定時的掃描使用者檔案,如果發生改變就通過ftp備份到另一個伺服器,如下圖:
一、使用WebService實作資料庫的熱備份
最開始我們并沒有用WebService這項技術,而是直接通過jdbc遠端連接配接另一台伺服器的資料庫,這樣是比較友善,但是後來我們發現這種方式非常的不安全,是以我們就采用了WebService來遠端調用另一個伺服器上的方法。
首先我們建立了WebService的項目,主要使用的功能如下代碼:
然後我們建立一個WebServiceClient,将它打成架包放入需要備份的項目中,在資料庫操作時調用接口就可以實作資料庫的熱備份,如下圖:
因為webService是基于soap協定的,是以傳遞的參數必須是JSON字元串。webService對象必須指派給一個靜态變量,并且由于webService建立一個對象會占據大量的資源,是以webService對象最好通過工廠模式擷取,不然伺服器會由于不堪重負而崩掉。
二、使用ftp實作使用者檔案的備份
ftp的具體使用我再次就不累述了,請參考我們項目組另一個人的部落格:http://blog.csdn.net/u014458334/article/details/39561997