欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)庫聯(lián)機備份方法及系統(tǒng)的制作方法_4

文檔序號:9910882閱讀:來源:國知局
META 對應 TSK_META ;CMD_C0MPLETE對應任務TSK_COMPLETE<XMD_CONTINUE指繼續(xù)執(zhí)行當前操作,可當作空命令,不做任何處理;CMD_ST0P指中止當前操作,用于設置全局變量global_stop_flag = TRUE,當前執(zhí)行操作取到這個標識后,中止當前操作,也不需要相應任務。
[0115]第一判斷單元42,用于判斷備份主進程是否讀取到備份子進程返回的執(zhí)行操作完成?目息O
[0116]等待單元43,用于若是,確定備份主進程讀取到備份子進程發(fā)送的執(zhí)行操作完成信息時為在預設第一等待時段內,確定數(shù)據(jù)庫聯(lián)機備份沒有結束,則所述備份主進程順序發(fā)送下一備份階段命令給備份子進程;若否,確定備份主進程在預設第一等待時段內未讀取到備份子進程發(fā)送的執(zhí)行操作完成信息,則清空已備份數(shù)據(jù)并結束所述備份子進程,
[0117]具體的,判斷備份主進程是否讀取到備份子進程返回的執(zhí)行操作完成信息,若是,確定備份主進程讀取到備份子進程發(fā)送的執(zhí)行操作完成信息時為在預設第一等待時段內,且確定數(shù)據(jù)庫聯(lián)機備份沒有結束,則所述備份主進程順序發(fā)送下一備份階段命令給備份子進程,其中,備份階段命令是按照數(shù)據(jù)庫聯(lián)機備份的操作過程預先設置好順序的,備份主進程每收到執(zhí)行操作完成信息,則順序發(fā)送下一備份階段命令給備份子進程,確保備份操作按順序進行。若否,確定備份主進程在預設第一等待時段內未讀取到備份子進程發(fā)送的執(zhí)行操作完成信息,則返回子進程故障信息給用戶;清空備份子進程已備份的數(shù)據(jù);銷毀備份子進程。通過上述過程以確保備份的失敗也不會導致數(shù)據(jù)庫系統(tǒng)異常。
[0118]例如,備份主進程和子進程之間通過管道(PIPE)技術進行通訊。備份主進程將命令發(fā)送給備份子進程后,測試備份主進程是否讀取到備份子進程返回的執(zhí)行操作完成信息,即等待備份子進程執(zhí)行操作完成信息的反饋;備份子進程執(zhí)行一個階段命令后,將執(zhí)行操作完成信息的反饋通過管道(PIPE)返回給備份主進程,并等待主進程的下一命令,若數(shù)據(jù)庫聯(lián)機備份沒有結束,則主進程發(fā)送下一備份階段命令給備份子進程。若主進程在預設第一等待時段內沒有讀取到備份子進程返回的信息,則清空已備份數(shù)據(jù),并銷毀備份子進程,以確保備份的失敗也不會導致數(shù)據(jù)庫系統(tǒng)異常。
[0119]優(yōu)選的,等待單元43,具體用于:若是,確定備份主進程讀取到備份子進程發(fā)送的執(zhí)行操作完成信息時為在預設第一等待時段內,若確定數(shù)據(jù)庫聯(lián)機備份沒有結束,則所述備份主進程順序發(fā)送下一備份階段命令給備份子進程,若確定數(shù)據(jù)庫聯(lián)機備份已完成,則結束所述備份子進程;若否,確定備份主進程在預設第一等待時段內未讀取到備份子進程發(fā)送的執(zhí)行操作完成信息,則清空已備份數(shù)據(jù)并結束所述備份子進程。
[0120]具體的,測試備份主進程是否讀取到備份子進程返回的執(zhí)行操作完成信息,判斷備份主進程讀取到備份子進程發(fā)送的執(zhí)行操作完成信時是否在預設第一等待時段內,若是,且確定數(shù)據(jù)庫聯(lián)機備份已完成,聯(lián)機備份結束后,主進程向子進程發(fā)送CMD_C0MPLETE命令,子進程自行判斷前一個階段任務是否執(zhí)行失敗,若失敗,則清除已經備份數(shù)據(jù),退出備份子進程,并返回子進程故障信息;否則,僅退出備份子進程。通過上述過程以確保備份的失敗也不會導致數(shù)據(jù)庫系統(tǒng)異常。
[0121]圖7示出根據(jù)本發(fā)明提供的一種數(shù)據(jù)庫聯(lián)機備份系統(tǒng)第二個實施例的方法流程圖。本實施例的一種數(shù)據(jù)庫聯(lián)機備份系統(tǒng)主要由數(shù)據(jù)庫管理系統(tǒng)來實現(xiàn),包括發(fā)送命令單元51、第一判斷單元52、等待單元53、錯誤報告單元54、用戶干預解析單元55和用戶干預執(zhí)行單元56。
[0122]發(fā)送命令單元51,用于備份主進程發(fā)送備份階段命令給備份子進程,備份階段命令用于命令備份子進程執(zhí)行數(shù)據(jù)庫聯(lián)機備份中匹配的備份階段操作。該步驟的執(zhí)行過程與一種數(shù)據(jù)庫聯(lián)機備份方法第一個實施例步驟12相同,在此不再贅述。
[0123]第一判斷單元52,用于周期性判斷備份主進程是否讀取到用戶干預和備份子進程返回的執(zhí)行操作完成信息。
[0124]具體的,按預設周期T周期性判斷備份主進程是否讀取用戶輸入的干預指令和備份子進程返回的執(zhí)行操作完成信息。其中,備份子進程執(zhí)行完備份階段命令對應的備份階段操作后,則進入空閑狀態(tài),因此,備份子進程返回的執(zhí)行操作完成信息可能有備份子進程空閑信息,而用戶輸入的干預指令可以為用戶輸入的需要進行大量數(shù)據(jù)庫操作的指令,如大批量數(shù)據(jù)寫入數(shù)據(jù)庫的指令,用戶輸入中斷備份的命令或者退出用戶會話等。
[0125]例如,備份主進程發(fā)送備份階段命令給備份子進程之后,通過間隔等待的方式每隔周期T測試等待備份主進程讀取到用戶輸入的預設指令和備份子進程返回的執(zhí)行操作完成信息,其中,等待檢測實現(xiàn)可以封裝為一個函數(shù)&&010^)_¥&;[1:_&11(1_(311601^(),方便調用。其中函數(shù)backup_wait_and_check()的實現(xiàn)是,先在預設時間內讀取備份子進程發(fā)送完成信息,若未讀取到,則認為子進程異常,向用戶返回子進程故障信息;若讀取到,不論什么結果,則先檢查用戶干預,若需要中止,則向子進程發(fā)送CMD_ST0P命令,并返回干預信息;若不需要中止,則判斷備份子進程返回是否空閑狀態(tài)(前一個階段命令任務是否已經完成),若空閑,則跳出這個函數(shù),由主進程順序發(fā)送下一個備份階段命令;若不空閑(前一個階段命令任務沒有完成),則向備份子進程發(fā)送CMD_C0NTINUE命令,通知備份子進程繼續(xù)執(zhí)行前一個階段命令。
[0126]等待單元53,用于若是,確定備份主進程讀取到備份子進程發(fā)送的執(zhí)行操作完成信息時為在預設第一等待時段內,確定數(shù)據(jù)庫聯(lián)機備份沒有結束,則所述備份主進程順序發(fā)送下一備份階段命令給備份子進程;若否,確定備份主進程在預設第一等待時段內未讀取到備份子進程發(fā)送的執(zhí)行操作完成信息,則清空已備份數(shù)據(jù)并結束所述備份子進程。該等待單元53的執(zhí)行過程與一種數(shù)據(jù)庫聯(lián)機備份系統(tǒng)第一個實施例等待單元43相同,在此不再贅述。
[0127]優(yōu)選的,等待單元53還具體用于:若是,確定備份主進程讀取到備份子進程發(fā)送的執(zhí)行操作完成信息時為在預設第一等待時段內,若確定數(shù)據(jù)庫聯(lián)機備份沒有結束,則所述備份主進程順序發(fā)送下一備份階段命令給備份子進程,若確定數(shù)據(jù)庫聯(lián)機備份已完成,則結束所述備份子進程;若否,確定備份主進程在預設第一等待時段內未讀取到備份子進程發(fā)送的執(zhí)行操作完成信息,則清空已備份數(shù)據(jù)并結束所述備份子進程。
[0128]優(yōu)選的,為了更好的監(jiān)測備份子進程中是否有哪一備份階段操作出現(xiàn)錯誤,還包括錯誤報告單元54,用于確定備份主進程檢測讀取到備份子進程的錯誤報告,則清除已經備份數(shù)據(jù),結束備份子進程,并返回子進程故障信息。
[0129]其中,錯誤報告單元54和等待單元53中對備份子進程的檢測可以同時進行,繼續(xù)命令為備份階段命令CMD_C0NTINUE,用于命令備份子進程繼續(xù)當前的備份階段操作。若備份主進程檢測未讀取到備份子進程的錯誤報告,則備份主進程發(fā)送繼續(xù)命令給備份子進程。
[0130]例如,確定備份主進程檢測讀取到備份子進程的錯誤報告,則備份主進程發(fā)送終止命令CMD_ST0P,結束備份子進程,并返回子進程故障信息,若否,則周期性測試備份主進程是否讀取用戶干預和備份子進程返回的執(zhí)行操作完成信息,如果備份子進程返回的執(zhí)行操作完成信息沒有超過預設的第一時長,且未讀取到用戶干預,則使備份子進程繼續(xù)當前的操作。
[0131]為了更好的檢測備份子進程中的用戶干預,防止備份過程中用戶干預而造成備份數(shù)據(jù)異常,還包括:用戶干預解析單元55,用于解析備份主進程讀取到的用戶干預。
[0132]例如,如附圖10所示,預設第一等待時段內讀取到備份子進程發(fā)送的執(zhí)行操作完成信息或還沒到預設第一等待時段,且備份主進程沒有讀取到上述錯誤報告單元54中的錯誤報告,此時獲取到用戶干預,則需要解析備份主進程讀取到的用戶干預。
[0133]用戶干預執(zhí)行單元56,用于若用戶干預取消或用戶干預會話中斷,則清空已備份數(shù)據(jù)并結束備份子進程。
[0134]優(yōu)選的,還包括用戶干預取消單元57:若用戶干預未取消且所述用戶干預會話未中斷,且備份主進程讀取到備份子進程返回的執(zhí)行信息,則所述備份主進程向備份子進程發(fā)送繼續(xù)命令。
[0135]如上例,如附圖10所示,當用戶干預解析單元55中解析備份主進程讀取到的用戶干預后,檢測用戶干預是否取消,如果是,則備份主進程向備份子進程發(fā)送備份中止命令CMD_ST0P,返回子進程故障信息給用戶;清空備份子進程已備份的數(shù)據(jù);銷毀備份子進程。如果否,則檢測用戶干預會話是否中斷,如果中斷,則備份主進程向備份子進程發(fā)送備份中止命令CMD_ST0P,返回子進程故障信息給用戶;清空備份子進程已備份的數(shù)據(jù);銷毀備份子進程。如果不中斷,則測試讀取備份子進程當前的空閑狀態(tài),若返回空閑信息,則認為上一備份階段任務已經完成,返回的空閑信息作為返回的執(zhí)行操作完成信息,備份主進程發(fā)送下一備份階段任務給備份子進程,若返回忙碌信息,則認為備份子進程正執(zhí)行當前的備份階段操作,忙碌信息作為執(zhí)行信息,備份主進程向備份子進程發(fā)送繼續(xù)命令。
[0136]根據(jù)上述實例,如附圖9所示,本發(fā)明的一種數(shù)據(jù)庫聯(lián)機備份方法常規(guī)備份階段操作實現(xiàn)如下:
[0137]I)解析備份命令,從備份命令中獲取備份參數(shù);
[0138]2)創(chuàng)建備份子進程,調用管道(PIPE)和備份子進程創(chuàng)建實現(xiàn);
[0139]3)發(fā)送CMD_CHECK,通過管道向子
當前第4頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
仙居县| 根河市| 平阴县| 吉隆县| 高邑县| 晴隆县| 诸城市| 石屏县| 霍城县| 施秉县| 宝鸡市| 蓬溪县| 汨罗市| 宝清县| 乳源| 石景山区| 泰顺县| 天峻县| 舞阳县| 民丰县| 盐池县| 奎屯市| 合阳县| 大竹县| 富顺县| 宣化县| 玛曲县| 会东县| 嘉荫县| 阳朔县| 临颍县| 南雄市| 冀州市| 宜川县| 宜兴市| 个旧市| 耿马| 温宿县| 西乌珠穆沁旗| 金湖县| 卢龙县|