數據庫腳本發布結果的處理方法及裝置制造方法
【專利摘要】本發明公開了一種數據庫腳本發布結果的處理方法及裝置。其中,該方法包括:獲取數據庫腳本的執行日志;將數據庫腳本執行發生錯誤時的執行日志進行合并,生成日志文件;通過判斷日志文件中的內容是否為空來確定是否生成判斷文件;對判斷文件進行驗證操作,根據驗證操作判斷數據庫腳本發布是否成功。本發明解決了現有技術中在持續發布過程中數據庫腳本執行存在錯誤時,無法正常顯示失敗的結果,導致每次持續發布后需要人工對執行結果進行檢查的問題。
【專利說明】數據庫腳本發布結果的處理方法及裝置
【技術領域】
[0001]本發明涉及計算機領域,具體而言,涉及一種數據庫腳本發布結果的處理方法及
>J-U ρ?α裝直。
【背景技術】
[0002]持續發布是將固定的手動軟件發布流程自動化的一種方法,通過此方法可以一鍵式自動化的進行軟件發布。發布通常包含:應用程序的編譯部署、數據庫腳本的更新執行、自動化測試用例的運行等。并自動判斷發布結果,將結果通過郵件等形式通知相關人員。Hudson作為一種持續發布工具,可以實現自動化的進行軟件發布的功能。
[0003]在使用Hudson進行持續發布的過程中,如果數據庫腳本在發布過程中執行時出現錯誤,而其他發布環節均正確,發布結果顯示為成功。但實際此時我們期望的發布結果應該為失敗,顯示結果是不正確的。此現象的實質是數據庫內部執行的錯誤信息是無法正常被Hudson截獲的,所以無法根據此錯誤信息進行發布結果的正確判斷。通過本方法可以實現當數據庫腳本在發布過程中執行出現錯誤時,發布結果自動的顯示為正確的失敗結論。
[0004]現有解決方案是將發布過程中數據庫腳本的執行日志輸出到hudson的發布日志中顯示,在每次發布后人工檢查發布日志,查看數據庫腳本執行日志中是否有錯誤,如果有錯誤則認為此次發布失敗,如果沒有則為成功。
[0005]此方法存在的最大問題是,即使每次發布結果為成功也需要人工進行檢查來確定結果的可靠性。實際每次Hudson給出的發布結果的顯示已經失去了意義,沒有起到作用,使得工作效率低下。
[0006]針對現有技術中在持續發布過程中數據庫腳本執行存在錯誤時,無法正常顯示失敗的結果,導致每次持續發布后需要人工對執行結果進行檢查的問題,目前尚未提出有效的解決方案。
【發明內容】
[0007]本發明的主要目的在于提供一種數據庫腳本發布結果的處理方法及裝置,以解決現有技術中在持續發布過程中數據庫腳本執行存在錯誤時,無法正常顯示失敗的結果,導致每次持續發布后需要人工對執行結果進行檢查的問題。
[0008]為了實現上述目的,根據本發明實施例的一個方面,提供了一種數據庫腳本發布結果的處理方法。該方法包括:獲取數據庫腳本的執行日志;將數據庫腳本執行發生錯誤時的執行日志進行合并,生成日志文件;通過判斷日志文件中的內容是否為空來確定是否生成判斷文件;對判斷文件進行驗證操作,根據驗證操作判斷數據庫腳本發布是否成功。
[0009]為了實現上述目的,根據本發明實施例的另一方面,提供了一種數據庫腳本發布結果的處理裝置,該裝置包括:獲取模塊,用于獲取數據庫腳本的執行日志;第一處理模塊,用于將數據庫腳本執行發生錯誤時的執行日志進行合并,生成日志文件;確定模塊,用于通過判斷日志文件中的內容是否為空,確定是否生成判斷文件;驗證模塊,用于對判斷文件進行驗證操作,根據驗證操作判斷數據庫腳本發布是否成功。
[0010]根據發明實施例,通過獲取數據庫腳本的執行日志;將數據庫腳本執行發生錯誤時的執行日志進行合并,生成日志文件;通過判斷日志文件中的內容是否為空來確定是否生成判斷文件;對判斷文件進行驗證操作,根據驗證操作判斷數據庫腳本發布是否成功,解決了現有技術在持續發布過程中數據庫腳本執行存在錯誤時,無法正常顯示失敗的結果,導致每次持續發布后需要人工對執行結果進行檢查的問題。實現了當數據庫腳本執行存在錯誤時,自動發布結果即顯示為失敗,不需要再進行人工檢查的效果。
【專利附圖】
【附圖說明】
[0011]構成本申請的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0012]圖1是根據本發明實施例一的數據庫腳本發布結果的處理方法的流程圖;
[0013]圖2是根據本發明實施例一可選的數據庫腳本發布結果的處理方法的流程圖;
[0014]圖3是根據本發明實施例二的數據庫腳本發布結果的處理裝置的結構示意圖;以及
[0015]圖4是根據本發明實施例二可選的數據庫腳本發布結果的處理裝置的結構示意圖。
【具體實施方式】
[0016]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發明。
[0017]為了使本【技術領域】的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本發明保護的范圍。
[0018]需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本發明的實施例。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
[0019]實施例1
[0020]本發明實施例提供了一種數據庫腳本發布結果的方法。
[0021]圖1是根據本發明實施例的數據庫腳本發布結果的方法的流程圖。如圖1所示,該方法包括步驟如下:
[0022]步驟S101,獲取數據庫腳本的執行日志。
[0023]具體的,上述步驟SlOl中,數據庫腳本的執行日志是在執行數據庫腳本的過程當中產生的。通過直接監控數據庫腳本的執行過程,從而獲取執行過程中產生的執行日志。
[0024]步驟S103,將數據庫腳本執行發生錯誤時的執行日志進行合并,生成日志文件。
[0025]具體的,上述步驟S103中,要針對這些腳本的執行結果進行統一判斷,所以要將這些目錄下的執行錯誤日志都統一輸出到一個文本文件中。將上述獨立的各個數據庫腳本文件進行合并,生成日志文件。
[0026]步驟S105,通過判斷日志文件中的內容是否為空來確定是否生成判斷文件。
[0027]具體的,上述步驟S105,通過判斷日志文件內容是否為空,來確定是否生成判斷文件。如果日志文件內容為空,則說明數據庫腳本執行過程中沒有錯誤,腳本執行成功。如果日志文件內容不為空,則說明數據庫腳本執行過程中有錯誤產生,腳本執行失敗。
[0028]步驟S107,對判斷文件進行驗證操作,根據驗證操作判斷數據庫腳本發布是否成功。
[0029]具體的,上述步驟S107,通過對判斷文件進行驗證操作,判斷驗證操作的成功與否,從而判斷數據庫腳本文件發布是否成功。
[0030]上述步驟S101至步驟S107,通過對執行的多個位置的數據庫腳本的執行日志進行合并,生成用于進行統一判斷的日志文件。當判斷數據庫腳本執行成功的情況下,生成判斷文件,當判斷數據庫腳本執行失敗的情況下,不生成判斷文件。最后通過對判斷文件的驗證操作,來判斷數據庫腳本執行是否成功。如果在數據庫腳本執行出現錯誤,不生成判斷文件的情況下。在執行驗證操作時,因為不存在判斷文件,所以在執行驗證操作的時候就會出現錯誤。通過驗證操作出現的錯誤,使持續發布工具對數據庫腳本執行過程判斷為錯誤。
[0031]在實際應用當中,以使用Hudson進行持續發布構建為例。在將發布過程中數據庫腳本執行的錯誤日志輸出到文件“A.txt”中,日志輸出到文件中采用內容追加方式。采用這種方式時,不論在執行過程中是否有錯誤日志輸出,該文件“A.txt”都會存在。區別在于,當執行有錯誤時,該文件內容不為空;當執行沒有錯誤時,則該文件內容為空。進而,判斷“A.txt”文件內容是否為空。如果“A.txt”文件內容為空,則表示數據庫腳本執行過程中沒有錯誤,此時新建一個“B.txt”文件;如果“A.txt”文件內容不為空,則在Hudson日志中輸出些錯誤相關的提示信息,且不創建“B.txt”文件。
[0032]此處需要特別說明的是,Hudson本身作為一個持續發布工具,只能對發布任務是否順序執行進行判斷,而數據庫腳本執行正確與否,數據庫執行腳本的過程都會繼續,只是會將數據庫腳本執行中出現的錯誤以錯誤日志的形式進行提示。但是,Hudson持續發布工具的本身不能對數據庫生成的錯誤日志的內容進行判斷。所以我們通過對判斷文件的操作,來對數據庫中數據庫腳本的執行結果進行判斷。
[0033]優選地,本申請上述實施例中,在步驟S101和步驟S103獲取數據庫腳本的運行日志,并將數據庫腳本執行發生錯誤時的運行日志進行合并,生成日志文件的步驟包括:
[0034]步驟S1031,監控數據庫腳本的執行進程。
[0035]步驟S1033,獲取執行數據庫腳本執行發生錯誤時產生的執行日志。
[0036]步驟S1035,將數據庫腳本執行日志的內容以追加的方式生成日志文件。
[0037]具體的,上述步驟S1031至步驟S1035中,通過對數據庫腳本的執行進程的監控,直接獲取數據庫腳本執行發生錯誤時的執行日志。將其以追加的方式合并生成一個包含有所有運行日志的內容的日志文件。
[0038]優選地,本申請上述實施例中,在步驟105通過判斷日志文件中的內容是否為空來確定數據庫腳本是否運行成功的步驟包括:
[0039]步驟S1051,讀取日志文件的內容。
[0040]步驟S1053,判斷日志文件的內容是否為空。
[0041]當日志文件的判斷結果為空時,復制日志文件生成判斷文件,通過對判斷文件的操作,從而驗證數據庫腳本持續發布是否成功;
[0042]當日志文件的判斷結果不為空時,不生成用于驗證操作的判斷文件。
[0043]具體的,上述步驟S1051至步驟S1053中,通過讀取日志文件的內容,當日志文件的內容為空時,確定數據庫腳本運行成功;當日志文件的內容不為空時,確定數據庫腳本運行失敗。通過在成功時候生成判斷文件來標記發布成功的狀態。
[0044]在實際應用當中,判斷文件的生成方式,除了以復制日志文件生成判斷文件之外,還可以通過其他方式生成判斷文件。例如,直接創建快捷方式、直接創建各種格式的空白文檔等。
[0045]優選地,本申請上述實施例中,在步驟S107對判斷文件進行驗證操作,根據驗證操作判斷數據庫腳本發布是否成功中驗證操作的方法包括:
[0046]方法A:通過對判斷文件復制操作,判斷數據庫腳本執行是否成功;或,
[0047]方法B:通過對判斷文件剪切操作,判斷數據庫腳本執行是否成功;或,
[0048]方法C:通過對判斷文件打開操作,判斷數據庫腳本執行是否成功;或,
[0049]方法D:通過對判斷文件刪除操作,判斷數據庫腳本執行是否成功。
[0050]具體的,上述方法A至方法D中,通過對判斷文件的復制、剪切、打開、刪除操作,來判斷數據庫腳本的執行是否成功。當數據庫腳本執行成功時,生成判斷文件。所以對判斷文件的復制、剪切、打開、刪除等操作就會成功。當數據庫腳本執行失敗時,不生成判斷文件,對判斷文件的復制、剪切、打開、刪除等操作肯定就會失敗。通過對判斷文件的上述操作的成功與否,來判斷數據庫中數據庫腳本執行的結果。當然,除了復制、剪切、打開、刪除這些操作外,其他對判斷文件的操作方式,也可以用于判斷數據庫腳本的執行結果。
[0051]優選地,圖2是根據本發明實施例一可選的數據庫腳本發布結果的處理方法的流程圖,如圖2所示,本申請上述實施例中,在步驟S105通過判斷日志文件中的內容是否為空來確定是否生成判斷文件,如果日志文件中的內容為空時,步驟還包括:
[0052]步驟1061,將執行日志保存至預定區域。
[0053]步驟1063,實時掃描預定區域。
[0054]步驟1065,根據預定區域中是否存在執行日志,判斷數據庫腳本的執行失敗原因。
[0055]步驟1067,根據執行失敗原因,發送通知信息。
[0056]具體的,上述步驟S1061至步驟S1067中,將判斷文件保存至預定區域中,通過對該預定區域實時掃描,以實現對數據庫腳本運行結果的實時監控。對預定區域中的執行日志進行讀取,通過日志內容對執行失敗原因進行判斷。根據失敗原因,發送與失敗原因相應的通知信息。通知信息可以通過桌面彈窗口、發送郵件、發送短信等形式發送。
[0057]實施例2
[0058]本發明實施例還提供了一種數據庫腳本發布結果的處理裝置,如圖3所示,該裝置可以包括:獲取模塊201、第一處理模塊203、確定模塊205和驗證模塊207。
[0059]其中,獲取模塊201,用于獲取數據庫腳本的執行日志。
[0060]具體的,上述獲取模塊201中,數據庫腳本的執行日志是在執行數據庫腳本的過程當中產生的。通過直接監控數據庫腳本的執行過程,從而獲取執行過程中產生的執行日
ο
[0061]第一處理模塊203,用于將數據庫腳本執行發生錯誤時的執行日志進行合并,生成日志文件。
[0062]具體的,上述第一處理模塊203中,要針對這些腳本的執行結果進行統一判斷,所以要將這些目錄下的執行錯誤日志都統一輸出到一個文本文件中。將上述獨立的各個數據庫腳本文件進行合并,生成日志文件。
[0063]確定模塊205,用于通過判斷日志文件中的內容是否為空,確定是否生成判斷文件。
[0064]具體的,上述確定模塊205,通過判斷日志文件內容是否為空,來確定是否生成判斷文件。如果日志文件內容為空,則說明數據庫腳本執行過程中沒有錯誤,腳本執行成功。如果日志文件內容不為空,則說明數據庫腳本執行過程中有錯誤產生,腳本執行失敗。
[0065]驗證模塊207,用于對判斷文件進行驗證操作,根據驗證操作判斷數據庫腳本發布是否成功。
[0066]具體的,上述驗證模塊207,通過對判斷文件進行驗證操作,判斷驗證操作的成功與否,從而判斷數據庫腳本文件發布是否成功。
[0067]上述獲取模塊201、第一處理模塊203、確定模塊205和驗證模塊207,通過對執行的多個位置的數據庫腳本的執行日志進行合并,生成用于進行統一判斷的日志文件。當判斷數據庫腳本執行成功的情況下,生成判斷文件,當判斷數據庫腳本執行失敗的情況下,不生成判斷文件。最后通過對判斷文件的驗證操作,來判斷數據庫腳本執行是否成功。如果在數據庫腳本執行出現錯誤,不生成判斷文件的情況下。在執行驗證操作時,因為不存在判斷文件,所以在執行驗證操作的時候就會出現錯誤。通過驗證操作出現的錯誤,使持續發布工具對數據庫腳本執行過程判斷為錯誤。
[0068]在實際應用當中,以使用Hudson進行持續發布構建為例。在將發布過程中數據庫腳本執行的錯誤日志輸出到文件“A.txt”中,日志輸出到文件中采用內容追加方式。采用這種方式時,不論在執行過程中是否有錯誤日志輸出,該文件“A.txt”都會存在。區別在于,當執行有錯誤時,該文件內容不為空;當執行沒有錯誤時,則該文件內容為空。進而,判斷“A.txt”文件內容是否為空。如果“A.txt”文件內容為空,則表示數據庫腳本執行過程中沒有錯誤,此時新建一個“B.txt”文件;如果“A.txt”文件內容不為空,則在Hudson日志中輸出些錯誤相關的提示信息,且不創建“B.txt”文件。
[0069]此處需要特別說明的是,Hudson本身作為一個持續發布工具,只能對發布任務是否順序執行進行判斷,而數據庫腳本執行正確與否,數據庫執行腳本的過程都會繼續,只是會將數據庫腳本執行中出現的錯誤以錯誤日志的形式進行提示。但是,Hudson持續發布工具的本身不能對數據庫生成的錯誤日志的內容進行判斷。所以我們通過對判斷文件的操作,來對數據庫中數據庫腳本的執行結果進行判斷。
[0070]優選地,本申請上述實施例中,獲取模塊201包括:子監控模塊2011和子獲取模塊2013。
[0071]其中,子監控模塊2011,用于監控數據庫腳本的執行進程。
[0072]子獲取模塊2013,用于獲取執行數據庫腳本產生的執行日志。
[0073]具體的,上述子監控模塊2011和子獲取模塊2013,通過對數據庫腳本的執行進程的監控,直接獲取數據庫腳本的執行日志。從而將其以追加的方式合并生成一個包含有所有運行日志的內容的日志文件。
[0074]優選地,本申請上述實施例中,確定模塊205包括:子讀取模塊2051和子處理模塊2053。
[0075]其中,子讀取模塊2051,用于讀取日志文件的內容。
[0076]子處理模塊2053,用于判斷日志文件的內容是否為空。
[0077]當日志文件的判斷結果為空時,復制日志文件生成判斷文件,通過對判斷文件的操作,從而驗證數據庫腳本持續發布是否成功。
[0078]當日志文件的判斷結果不為空時,不生成用于驗證操作的判斷文件。
[0079]具體的,上述子讀取模塊2051和子處理模塊2053,通過讀取日志文件的內容,當日志文件的內容為空時,確定數據庫腳本運行成功;當日志文件的內容不為空時,確定數據庫腳本運行失敗。通過在成功時候生成判斷文件來標記發布成功的狀態。
[0080]在實際應用當中,判斷文件的生成方式,除了以復制日志文件生成判斷文件之外,還可以通過其他方式生成判斷文件。例如,直接創建快捷方式、直接創建各種格式的空白文檔等。
[0081]優選地,本申請上述實施例中,驗證模塊207至少包括以下任意一種個子模塊:第一子判斷模塊2071、第二子判斷模塊2073、第三子判斷模塊2075或第四子判斷模塊2077。
[0082]其中,第一子判斷模塊2071,用于通過對判斷文件復制操作,判斷數據庫腳本執行是否成功;或,
[0083]第二子判斷模塊2073,用于通過對判斷文件剪切操作,判斷數據庫腳本執行是否成功;或,
[0084]第三子判斷模塊2075,用于通過對判斷文件打開操作,判斷數據庫腳本執行是否成功;或,
[0085]第四子判斷模塊2077,用于通過對判斷文件刪除操作,判斷數據庫腳本執行是否成功。
[0086]具體的,上述第一子判斷模塊2071、第二子判斷模塊2073、第三子判斷模塊2075或第四子判斷模塊2077,通過對判斷文件的復制、剪切、打開、刪除操作,來判斷數據庫腳本的執行是否成功。當數據庫腳本執行成功時,生成判斷文件。所以對判斷文件的復制、剪切、打開、刪除等操作就會成功。當數據庫腳本執行失敗時,不生成判斷文件,對判斷文件的復制、剪切、打開、刪除等操作肯定就會失敗。通過對判斷文件的上述操作的成功與否,來判斷數據庫中數據庫腳本執行的結果。當然,除了復制、剪切、打開、刪除這些操作外,其他對判斷文件的操作方式,也可以用于判斷數據庫腳本的執行結果。
[0087]優選地,圖4是根據本發明實施例二可選的數據庫腳本發布結果的處理裝置的結構示意圖,如圖4所示,本申請上述實施例中,裝置還包括:復制模塊2061、監控模塊2063、判斷模塊2065和第二處理模塊2067。
[0088]其中,復制模塊2061,用于將執行日志復制至預定區域。
[0089]監控模塊2063,用于實時掃描預定區域。
[0090]判斷模塊2065,用于根據預定區域中是否存在執行日志,判斷數據庫腳本的執行失敗原因。
[0091]第二處理模塊2067,用于根據執行失敗原因,發送通知信息。
[0092]具體的,上述復制模塊2061、監控模塊2063、判斷模塊2065和第二處理模塊2067,將判斷文件保存至預定區域中,通過對該預定區域實時掃描,以實現對數據庫腳本運行結果的實時監控。對預定區域中的執行日志進行讀取,通過日志內容對執行失敗原因進行判斷。根據失敗原因,發送與失敗原因相應的通知信息。通知信息可以通過桌面彈窗口、發送郵件、發送短信等形式發送。
[0093]在實際應用當中,以使用Hudson進行持續發布構建為例。因為通過Hudson,數據庫內部執行的錯誤信息以及運行日志是無法正常被Hudson截獲的,所以無法根據此錯誤信息進行發布結果的正確判斷,所以當使用Hudson進行持續發布時,只根據判斷文件是否生成判斷運行結果即可。
[0094]本發明所要解決的問題是:使用Hudson進行持續發布構建,發布過程中如果數據庫腳本執行存在錯誤,Hudson的發布結果始終顯示為成功,無法正常顯示出失敗的發布結果的問題。通過使用本發明描述的方法可以使自動發布的顯示結果正確,當數據庫腳本執行存在錯誤時,自動發布結果即顯示為失敗,不需要再進行人工檢查。
[0095]在實際應用中,可以根據以下步驟實現:
[0096]步驟A,將發布過程中數據庫腳本執行的錯誤日志輸出到文件“A.txt”中。
[0097]由于在發布過程中要執行的數據庫腳本可能有很多部分,這些部分的腳本相互是獨立的,存在于不同的目錄結構下,而要針對這些腳本的執行結果進行統一判斷,所以要將這些目錄下的執行錯誤日志都統一輸出到一個文件中,固錯誤日志輸出到文件中采用的是內容追加方式。采用這種方式時,不論在執行過程中是否有錯誤日志輸出,該要輸出到的文件都會存在。區別在于,當有錯誤日志時,該文件內容不為空;執行沒有錯誤時,則該文件內容為空。
[0098]步驟B,判斷“A.txt”文件內容是否為空。如果“A.txt”文件內容為空,則表示數據庫腳本執行過程中沒有錯誤,此時新建一個“B.txt”文件;如果“A.txt”文件內容不為空,則隨意在hudson日志中輸出些信息,且不創建“B.txt”文件。
[0099]步驟C,復制“B.txt”文件到某目錄,由此來判斷數據庫執行是否有錯誤,并將此結果準確通知給Hudson。綜上所述,由步驟1可以推出,不管腳本執行是否有錯誤文件“A.txt”都存在,固不能直接用“A.txt”文件進行判斷。
[0100]由步驟B可知,當執行腳本沒有錯誤時,“B.txt”文件則存在,復制該文件的操作可以正常執行成功,返回結果為正確,此時Hudson獲取到的結果即為正確,發布應該為成功;當執行腳本有錯誤時,“B.txt”文件則不存在,復制該文件的操作即由于缺少源文件,執行就會失敗,此時Hudson獲取到的結果即為異常錯誤,即會返回發布失敗。
[0101]需要注意的是:HudSon不能根據錯誤日志輸出到的文件“A.txt”是否存在直接進行判斷,也不能直接根據判斷文件“A.txt”是否為空直接進行判斷,因為即使當判斷出文件“A.txt”不為空,我們已知此時數據庫腳本執行出錯了,但此結果是無法返回給Hudson被截獲和使用的,無法達到判斷其發布結果應該為失敗的目的。
[0102]實際在此方案中使用了過渡方法,通過執行復制命令,由于復制的源文件不存在導致復制命令失敗報錯,將此錯誤信息返回給Hudson,使用截獲到的此錯誤信息進行判斷,返回發布失敗的正確結果。
[0103]本發明解決的問題的實質是Hudson是不能識別數據庫執行錯誤信息的,所以本發明采取的方法是將此錯誤信息通過一些方法轉化為Hudson發布流程中可以識別和捕獲到的異常信息的方式,利用這些方法轉化后捕獲到的異常信息進行發布結果的判斷。
[0104]所以通過其他腳本語言或者實現方法,能夠到達這一目的應該均可實現。解決發布工具給出發布結果不可靠的問題,通過本方案的實施,不需要在每次發布后再進行人工檢查,提高效率、釋放人力。
[0105]需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明并不受所描述的動作順序的限制,因為依據本發明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優選實施例,所涉及的動作和模塊并不一定是本發明所必須的。
[0106]在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
[0107]在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置,可通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性或其它的形式。
[0108]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0109]另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
[0110]所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可為個人計算機、移動終端、服務器或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM, Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0111]以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種數據庫腳本發布結果的處理方法,應用于使用持續發布工具的持續發布過程當中,其特征在于,包括: 獲取數據庫腳本的執行日志; 將所述數據庫腳本執行發生錯誤時的執行日志進行合并,生成日志文件; 通過判斷所述日志文件中的內容是否為空來確定是否生成判斷文件; 對所述判斷文件進行驗證操作,根據所述驗證操作判斷所述數據庫腳本發布是否成功。
2.根據權利要求1所述的方法,其特征在于,獲取數據庫腳本的執行日志,并將所述數據庫腳本執行發生錯誤時的執行日志進行合并,生成日志文件的步驟包括: 監控所述數據庫腳本的執行進程; 獲取執行所述數據庫腳本產生執行發生錯誤時的所述執行日志; 將所述數據庫腳本執行日志的內容以追加的方式生成所述日志文件。
3.根據權利要求2所述的方法,其特征在于,所述通過判斷所述日志文件中的內容是否為空來確定是否生成判斷文件的步驟包括: 讀取所述日志文件的內容; 判斷所述日志文件的內容是否為空; 當所述日志文件的判斷結果為空時,復制所述日志文件生成所述判斷文件,通過對所述判斷文件的操作,從而驗證所述數據庫腳本持續發布是否成功; 當所述日志文件的判斷結果不為空時,不生成用于所述驗證操作的所述判斷文件。
4.根據權利要求3所述的方法,其特征在于,在對所述判斷文件進行驗證操作,根據所述驗證操作判斷所述數據庫腳本發布是否成功中,所述驗證操作至少包括以下任意一種: 通過對所述判斷文件復制操作,判斷所述數據庫腳本執行是否成功;或, 通過對所述判斷文件剪切操作,判斷所述數據庫腳本執行是否成功;或, 通過對所述判斷文件打開操作,判斷所述數據庫腳本執行是否成功;或, 通過對所述判斷文件刪除操作,判斷所述數據庫腳本執行是否成功。
5.根據權利要求3所述的方法,其特征在于,當所述日志文件的判斷結果不為空時,所述通過判斷所述日志文件中的內容是否為空來確定是否生成判斷文件的步驟還包括: 將所述執行日志保存至預定區域; 實時掃描所述預定區域; 根據所述預定區域中是否存在所述執行日志,判斷所述數據庫腳本的執行失敗原因; 根據所述執行失敗原因,發送通知信息。
6.一種數據庫腳本發布結果的處理裝置,其特征在于,包括: 獲取模塊,用于獲取數據庫腳本的執行日志; 第一處理模塊,用于將所述數據庫腳本執行發生錯誤時的執行日志進行合并,生成日志文件; 確定模塊,用于通過判斷所述日志文件中的內容是否為空,確定是否生成判斷文件;驗證模塊,用于對所述判斷文件進行驗證操作,根據所述驗證操作判斷所述數據庫腳本發布是否成功。
7.根據權利要求6所述的裝置,其特征在于,所述獲取模塊包括: 子監控模塊,用于監控所述數據庫腳本的執行進程; 子獲取模塊,用于獲取執行所述數據庫腳本產生的所述執行日志。
8.根據權利要求7所述的裝置,其特征在于,所述確定模塊包括: 子讀取模塊,用于讀取所述日志文件的內容; 子處理模塊,用于判斷所述日志文件的內容是否為空; 當所述日志文件的判斷結果為空時,復制所述日志文件生成所述判斷文件,通過對所述判斷文件的操作,從而驗證所述數據庫腳本持續發布是否成功; 當所述日志文件的判斷結果不為空時,不生成用于所述驗證操作的所述判斷文件。
9.根據權利要求8所述的裝置,其特征在于,所述驗證模塊至少包括以下任意一種個子模塊: 第一子判斷模塊,用于通過對所述判斷文件復制操作,判斷所述數據庫腳本執行是否成功;或, 第二子判斷模塊,用于通過對所述判斷文件剪切操作,判斷所述數據庫腳本執行是否成功;或, 第三子判斷模塊,用于通過對所述判斷文件打開操作,判斷所述數據庫腳本執行是否成功;或, 第四子判斷模塊,用于通過對所述判斷文件刪除操作,判斷所述數據庫腳本執行是否成功。
10.根據權利要求8所述的裝置,其特征在于,所述裝置還包括: 復制模塊,用于將所述執行日志復制至預定區域; 監控模塊,用于實時掃描所述預定區域; 判斷模塊,用于根據所述預定區域中是否存在所述執行日志,判斷所述數據庫腳本的執行失敗原因; 第二處理模塊,用于根據所述執行失敗原因,發送通知信息。
【文檔編號】G06F9/44GK104239583SQ201410542567
【公開日】2014年12月24日 申請日期:2014年10月14日 優先權日:2014年10月14日
【發明者】李鑫 申請人:北京國雙科技有限公司