Web系統服務監測和切換方法及裝置的制造方法
【專利摘要】本發明涉及計算機技術領域,提供了一種Web系統服務監測和切換方法及裝置。所述方法包括:監控Web系統中需要依賴的各項服務是否出現問題;當監控到所述服務出現問題時,判斷所述出現問題的服務是否存在備用方案;若所述出現問題的服務存在備用方案,對所述服務進行備用方案的切換;若所述出現問題的服務不存在備用方案,暫停對所述服務的調用。本發明通過監控Web系統中需要依賴的各項服務是否出現問題,當監控到所述服務出現問題時,對存在備用方案的服務選擇對所述服務進行備用方案的切換或者對不存在備用方案的服務選擇暫停對所述服務的調用,保證Web系統所依賴的其他服務出現問題時Web服務能正常運行,保證了Web服務的穩定性。
【專利說明】
Web系統服務監測和切換方法及裝置
【技術領域】
[0001]本發明涉及計算機技術領域,特別是涉及一種Web系統服務監測和切換方法及裝置。
【【背景技術】】
[0002]隨著互聯網的發展,Web系統越來越龐大,互聯網中每一個Web系統都依賴很多其他服務,比如數據庫服務、緩存服務、遠程過程調用協議(Remote Procedure CallProtocol,RPC)服務、超文本傳輸協議(HyperText Transfer Protocol,HTTP)服務等等。當需要用到的其中某一項服務出問題時,會導致整個Web服務無法正常進行。如何保證Web系統所依賴的其他服務出現問題時Web系統本身能正常運行,是目前需要解決的問題。
【
【發明內容】
】
[0003]本發明提供一種Web系統服務監測和切換方法及裝置,旨在解決現有技術的Web系統所依賴的其他服務出現問題時導致整個Web服務無法正常進行的技術問題。
[0004]根據本發明實施例的第一方面,提供一種Web系統服務監測和切換方法,所述方法包括:
[0005]監控Web系統中需要依賴的各項服務是否出現問題;
[0006]當監控到所述服務出現問題時,判斷所述出現問題的服務是否存在備用方案;
[0007]若所述出現問題的服務存在備用方案,對所述服務進行備用方案的切換;
[0008]若所述出現問題的服務不存在備用方案,暫停對所述服務的調用。
[0009]在一些實施例中,所述監控Web系統中需要依賴的各項服務是否出現問題包括:
[0010]監控Web系統對各項服務的調用是否失敗,若調用失敗則判定所述服務出現問題。
[0011]在一些實施例中,所述出現問題的服務不存在備用方案包括所述出現問題的服務無法在所述Web系統本地進行重建。
[0012]在一些實施例中,所述方法還包括:
[0013]監控出現問題的服務是否恢復正常;
[0014]當監控到所述服務恢復正常時,將所述服務從備用方案或者暫停狀態切換回已經恢復正常的服務。
[0015]在一些實施例中,所述監控出現問題的服務是否恢復正常包括:
[0016]新建對所述出現問題的服務的測試調用;
[0017]當測試調用正常時,判定所述出現問題的服務恢復正常。
[0018]根據本發明實施例的第二方面,還提供一種Web系統服務監測和切換裝置,所述裝置包括:
[0019]服務監控模塊,用于監控Web系統中需要依賴的各項服務是否出現問題;
[0020]備用方案判斷模塊,用于當監控到所述服務出現問題時,判斷所述出現問題的服務是否存在備用方案;
[0021]服務切換模塊,用于若所述出現問題的服務存在備用方案,對所述服務進行備用方案的切換;
[0022]服務暫停模塊,用于若所述出現問題的服務不存在備用方案,暫停對所述服務的調用。
[0023]在一些實施例中,所述服務監控模塊包括:
[0024]服務調用監控單元,用于監控Web系統對各項服務的調用是否失敗,若調用失敗則判定所述服務出現問題。
[0025]在一些實施例中,所述出現問題的服務不存在備用方案包括所述出現問題的服務無法在所述Web系統本地進行重建。
[0026]在一些實施例中,所述裝置還包括:
[0027]問題服務監控模塊,用于監控出現問題的服務;
[0028]正常服務切回模塊,用于當監控到所述服務恢復正常時,將所述服務從備用方案或者暫停狀態切換回已經恢復正常的服務。
[0029]在一些實施例中,所述問題服務監控模塊包括:
[0030]問題服務測試調用單元,用于新建對所述出現問題的服務的測試調用;
[0031]問題服務判定單元,用于當測試調用正常時,判定所述出現問題的服務恢復正常。
[0032]本發明上述實施例提供的技術方案可產生以下有益效果:通過監控Web系統中需要依賴的各項服務是否出現問題,當監控到所述服務出現問題時,對存在備用方案的服務選擇對所述服務進行備用方案的切換或者對不存在備用方案的服務選擇暫停對所述服務的調用,保證Web系統所依賴的其他服務出現問題時Web服務能正常運行,保證了 Web服務的穩定性。
[0033]本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
[0034]下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
【【附圖說明】】
[0035]圖1為本發明實施例的Web系統服務監測和切換方法的流程圖;
[0036]圖2為本發明實施例的Web系統服務監測和切換方法中步驟Sll的詳細流程圖;
[0037]圖3為本發明另一實施例的Web系統服務監測和切換方法的流程圖;
[0038]圖4為本發明實施例的Web系統服務監測和切換方法中步驟S13的詳細流程圖;
[0039]圖5為本發明實施例的Web系統服務監測和切換裝置的框圖;
[0040]圖6為本發明實施例的Web系統服務監測和切換裝置中服務監控模塊的框圖;
[0041]圖7為本發明另一實施例的Web系統服務監測和切換裝置的框圖;
[0042]圖8為本發明實施例的Web系統服務監測和切換裝置中問題服務監控模塊的框圖。
【【具體實施方式】】
[0043]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0044]此外,下面所描述的本發明各個實施方式中所涉及到的技術特征只要彼此之間未構成沖突就可以相互組合。
[0045]如圖1所示,本發明實施例提供了一種Web系統服務監測和切換方法,該方法包括步驟 S11-S12:
[0046]SI 1、監控Web系統中需要依賴的各項服務是否出現問題。
[0047]所述Web系統中需要依賴的各項服務包括數據庫服務、緩存服務、RPC服務、HTTP月艮務中的一種或多種。
[0048]其中,Web數據庫指在互聯網中以Web查詢接口方式訪問的數據庫資源,由靜態網頁技術的HTML到動態網頁技術的通用網關接口(Common Gateway Interface,CGI)、動態服務器頁面(Active Server Pages,ASP)、超文本預處理器(Hypertext Preprocessor,PHP)、java服務器頁面(Java Server Pages,JSP)等,Web技術經歷了一個重要的變革過程。Web已經不再局限于僅僅由靜態網頁提供信息服務,而改變為動態的網頁,可提供交互式的信息查詢服務,因此需要信息數據庫服務,Web數據庫就是將數據庫技術與Web技術融合在一起,使數據庫系統成為Web的重要有機組成部分,從而實現數據庫與網絡技術的無縫結合,用戶通過瀏覽器端的操作界面以交互的方式經由Web服務器來訪問數據庫。用戶向數據庫提交的信息以及數據庫返回給用戶的信息都是以網頁的形式顯示,當數據庫出現問題時,數據信息無法被調用,Web系統也無法正常運行。
[0049]Web緩存主要是為了降低延遲,因緩存離客戶端更近,因此從緩存請求內容比從源服務器所用時間更少,呈現速度更快,網站就顯得更靈敏,Web緩存工作于服務器和客戶端之間,服務器可能是源服務器(資源所駐留的服務器),數量可能是I個或多個,客戶端也可能是I個或多個,Web緩存在服務器-客戶端之間監控請求,并且把請求輸出的內容(例如超級文本標記語言(HyperText Markup Language,html)頁面、圖片和文件,統稱為副本)另存一份,如果下一個請求是相同的統一資源定位符(Uniform Resource Locator ,URL),則直接請求保存副本,而不是再次麻煩源服務器,這樣,副本被重復使用,大大降低了用戶的帶寬使用,同時保證了帶寬請求在一個低水平上,使web服務更容易維護。Web緩存一般包括瀏覽器緩存、代理服務器緩存和網關緩存。
[0050]RPC是通過網絡從遠程計算機程序上請求服務而不需要了解底層網絡技術的協議,RPC協議假定某些傳輸協議的存在,如傳輸控制協議(Transmi ss1n ControlProtocol,TCP)或用戶數據報協議(User Datagram Protocol ,UDP),為通信程序之間攜帶信息數據。在開放系統互聯(Open System Interconnect 1n,OSI)網絡通信模型中,RPC跨越了傳輸層和應用層,使得開發包括網絡分布式多程序在內的應用程序更加容易。RPC采用客戶機/服務器模式,請求程序就是一個客戶機,而服務提供程序就是一個服務器。首先,客戶機調用進程發送一個有進程參數的調用信息到服務進程,然后等待應答信息。在服務器端,進程保持睡眠狀態直到調用信息到達為止。當一個調用信息到達,服務器獲得進程參數,計算結果,發送答復信息,然后等待下一個調用信息,最后,客戶端調用進程接收答復信息,獲得進程結果,然后調用執行繼續進行。目前有多種RPC模式和執行,現在使用最普遍的模式和執行是開放式軟件基礎的分布式計算環境。
[0051]HTTP是互聯網上應用最為廣泛的一種網絡協議,所有的WWW文件都必須遵守這個標準,它是一個客戶端和服務器端請求和應答的標準。客戶端是終端用戶,服務器端是網站。通過使用Web瀏覽器、網絡爬蟲或者其它的工具,客戶端發起一個到服務器上指定端口(默認端口為80)的HTTP請求,這個客戶端為用戶代理(user agent)。應答的服務器上存儲著一些資源,比如HTML文件和圖像。這個應答服務器為源服務器(origin server)。通常,由HTTP客戶端發起一個請求,建立一個到服務器指定端口的TCP連接,HTTP服務器則在該端口監聽客戶端發送過來的請求。一旦收到請求,服務器向客戶端發回一個狀態行,比如"HTTP/1.1 2000K",和響應的消息,消息的消息體可能是請求的文件、錯誤消息、或者其它一些信息。
[0052]目前,對Web系統中需要依賴的各項服務進行監控的方式一般是通過持續的監控,例如一直有一個監控服務的心跳,這種監控方式較為浪費系統資源。本發明實施例采用非持續監控的方式,如圖2所示,所述監控Web系統中需要依賴的各項服務是否出現問題包括:
[0053]S111、監控Web系統對各項服務的調用是否失敗,若調用失敗則判定所述服務出現問題。
[0054]當服務未被調用時,持續監控其是否出現問題是沒有必要的,會浪費系統的資源,因此本實施例采用對系統調用服務是否失敗進行監控的方式,該監控方式更為有針對性,只有在系統有調用服務、且調用服務失敗時才需要進行后續的處理。如果系統沒有調用服務、或者調用服務都正常的情況下,不需要進行任何處理。
[0055]S12、當監控到所述服務出現問題時,判斷所述出現問題的服務是否存在備用方案。
[0056]當調用服務出現問題時,需要進行下一步處理,此時一般分為兩種情況:存在備用方案以及不存在備用方案。
[0057]S13、若所述出現問題的服務存在備用方案,對所述服務進行備用方案的切換。
[0058]存在備用方案的情況一般是可以在Web系統端重建該服務的情況,例如在Web系統端可以建立備用數據庫,當數據庫出問題無法正常調用時,為了保證數據庫服務的正常進行,可以通過切換到備用數據庫以維護Web系統的正常運行;例如,當memcache緩存服務出問題時,可以臨時切換成本地內存緩存。
[0059]S14、若所述出現問題的服務不存在備用方案,暫停對所述服務的調用。
[0060]所述出現問題的服務不存在備用方案包括所述出現問題的服務無法在所述Web系統本地進行重建,例如HTTP服務,當調用的網站所屬的對方服務出問題時,Web系統本地是沒法重建該網站服務的,此時則暫停該服務。此時,整個web系統本身還是正常運行,只是出現問題的服務暫停,其他服務均不會被影響。
[0061 ]在另一實施例中,如圖3所示,該方法還包括:
[0062]S15、監控出現問題的服務是否恢復正常。
[0063]S16、當監控到所述服務恢復正常時,將所述服務從備用方案或者暫停狀態切換回已經恢復正常的服務。
[0064]具體地,步驟S15中,監控出現問題的服務是否恢復正常可通過如下方式,如圖4所示:
[0065]S151、新建對所述出現問題的服務的測試調用。
[0066]此時,可通過測試調用的方式,嘗試對之前出現問題的服務進行調用,該調用不影響備用服務的運行,當然,也不影響暫停服務的現狀,只是出于測試狀態的調用。
[0067]S152、當測試調用正常時,判定所述出現問題的服務恢復正常。
[0068]當該測試調用正常時,說明該問題服務已經恢復了正常,接下來可以被正常調用了。
[0069]步驟S151和S152通過對出現問題的服務進行測試調用的方式,判斷該服務是否已經恢復正常,因該調用是在web系統整體正常運行的情況下進行的,不需要停用web系統,也即除該出現問題的服務外,其他服務還在正常運行,因此該方式不影響web系統的其他服務,不影響系統運行狀態和運行效率,且通過測試調用可在問題服務恢復正常時及時發現,以采取相應的后續措施。
[0070]步驟S16中,因為監測到問題服務恢復了正常,此時可將該服務從備用方案或者暫停狀態切換回已經恢復正常的服務,防止一直使用狀態并不那么穩定的備用服務,或者防止服務一直被暫停,而實際上問題服務已經恢復了正常。
[0071]本發明實施例提供的上述方法,通過監控Web系統中需要依賴的各項服務是否出現問題,當監控到所述服務出現問題時,對存在備用方案的服務選擇對所述服務進行備用方案的切換或者對不存在備用方案的服務選擇暫停對所述服務的調用,保證Web系統所依賴的其他服務出現問題時Web服務能正常運行,保證了 Web服務的穩定性。
[0072]對應本發明上述實施例提供的Web系統服務監測和切換方法,本發明還提供一種Web系統服務監測和切換裝置100,如圖5所示,所述Web系統服務監測和切換裝置100包括:
[0073]服務監控模塊110,用于監控Web系統中需要依賴的各項服務是否出現問題。
[0074]備用方案判斷模塊120,用于當監控到所述服務出現問題時,判斷所述出現問題的服務是否存在備用方案。
[0075]服務切換模塊130,用于當監控到所述服務出現問題時,對存在備用方案的服務選擇對所述服務進行備用方案的切換或者對不存在備用方案的服務選擇暫停對所述服務的調用。
[0076]服務暫停模塊140,用于若所述出現問題的服務不存在備用方案,暫停對所述服務的調用。
[0077]其中,所述Web系統中需要依賴的各項服務包括數據庫服務、緩存服務、RPC服務、HTTP服務中的一種或多種。
[0078]目前,對Web系統中需要依賴的各項服務進行監控的方式一般是通過持續的監控,例如一直有一個監控服務的心跳,這種監控方式較為浪費系統資源。本發明實施例采用非持續監控的方式,在一實施例中,如圖6所示,所述服務監控模塊110包括:服務調用監控單元111,用于監控Web系統對各項服務的調用是否失敗,若調用失敗則判定所述服務出現問題。
[0079]當服務未被調用時,持續監控其是否出現問題是沒有必要的,會浪費系統的資源,因此本發明采用對系統調用服務是否失敗進行監控的方式,該監控方式更為有針對性,只有在系統有調用服務、且調用服務失敗時才需要進行后續的處理。如果系統沒有調用服務、或者調用服務都正常的情況下,不需要進行任何處理。
[0080]當調用服務出現問題時,需要進行下一步處理,此時一般分為兩種情況:存在備用方案以及不存在備用方案。存在備用方案的情況一般是可以在Web系統端重建該服務的情況,例如在Web系統端可以建立備用數據庫,當數據庫出問題無法正常調用時,為了保證數據庫服務的正常進行,可以通過切換到備用數據庫以維護Web系統的正常運行;例如,當memcache緩存服務出問題時,可以臨時切換成本地內存緩存。所述出現問題的服務不存在備用方案包括所述出現問題的服務無法在所述Web系統本地進行重建,例如HTTP服務,當調用的網站所屬的對方服務出問題時,Web系統本地是沒法重建該網站服務的,此時則暫停該服務。此時,整個web系統本身還是正常運行,只是出現問題的服務暫停,其他服務均不會被影響。
[0081]在另一實施例中,如圖7所示,所述裝置還包括:
[0082]問題服務監控模塊150,用于監控出現問題的服務;以及
[0083]正常服務切回模塊160,用于當監控到所述服務恢復正常時,將所述服務從備用方案或者暫停狀態切換回已經恢復正常的服務。
[0084]具體地,如圖8所示,所述問題服務監控模塊150包括:
[0085]問題服務測試調用單元151,用于新建對所述出現問題的服務的測試調用。以及問題服務判定單元152,用于當測試調用正常時,判定所述出現問題的服務恢復正常。此時,可通過測試調用的方式,嘗試對之前出現問題的服務進行調用,該調用不影響備用服務的運行,當然,也不影響暫停服務的現狀,只是出于測試狀態的調用。當該測試調用正常時,說明該問題服務已經恢復了正常,接下來可以被正常調用了。因為監測到問題服務恢復了正常,此時可將該服務從備用方案或者暫停狀態切換回已經恢復正常的服務,防止一直使用狀態并不那么穩定的備用服務,或者防止服務一直被暫停,而實際上問題服務已經恢復了正常。
[0086]上述方式通過對出現問題的服務進行測試調用的方式,判斷該服務是否已經恢復正常,因該調用是在web系統整體正常運行的情況下進行的,不需要停用web系統,也即除該出現問題的服務外,其他服務還在正常運行,因此該方式不影響web系統的其他服務,不影響系統運行狀態和運行效率,且通過測試調用可在問題服務恢復正常時及時發現,以采取相應的后續措施。
[0087]本發明實施例提供的上述裝置,通過監控Web系統中需要依賴的各項服務是否出現問題,當監控到所述服務出現問題時,對存在備用方案的服務選擇對所述服務進行備用方案的切換或者對不存在備用方案的服務選擇暫停對所述服務的調用,保證Web系統所依賴的其他服務出現問題時Web服務能正常運行,保證了 Web服務的穩定性。
[0088]本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產品的形式。
[0089]本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0090]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0091]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0092]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
【主權項】
1.一種Web系統服務監測和切換方法,其特征在于,包括: 監控Web系統中需要依賴的各項服務是否出現問題; 當監控到所述服務出現問題時,判斷所述出現問題的服務是否存在備用方案; 若所述出現問題的服務存在備用方案,對所述服務進行備用方案的切換; 若所述出現問題的服務不存在備用方案,暫停對所述服務的調用。2.如權利要求1所述的Web系統服務監測和切換方法,其特征在于,所述監控Web系統中需要依賴的各項服務是否出現問題包括: 監控Web系統對各項服務的調用是否失敗,若調用失敗則判定所述服務出現問題。3.如權利要求1所述的Web系統服務監測和切換方法,其特征在于,所述出現問題的服務不存在備用方案包括所述出現問題的服務無法在所述Web系統本地進行重建。4.如權利要求1所述的Web系統服務監測和切換方法,其特征在于,所述方法還包括: 監控出現問題的服務是否恢復正常; 當監控到所述服務恢復正常時,將所述服務從備用方案或者暫停狀態切換回已經恢復正常的服務。5.如權利要求4所述的Web系統服務監測和切換方法,其特征在于,所述監控出現問題的服務是否恢復正常包括: 新建對所述出現問題的服務的測試調用; 當測試調用正常時,判定所述出現問題的服務恢復正常。6.一種Web系統服務監測和切換裝置,其特征在于,所述裝置包括: 服務監控模塊,用于監控Web系統中需要依賴的各項服務是否出現問題; 備用方案判斷模塊,用于當監控到所述服務出現問題時,判斷所述出現問題的服務是否存在備用方案; 服務切換模塊,用于若所述出現問題的服務存在備用方案,對所述服務進行備用方案的切換; 服務暫停模塊,用于若所述出現問題的服務不存在備用方案,暫停對所述服務的調用。7.如權利要求6所述的Web系統服務監測和切換裝置,其特征在于,所述服務監控模塊包括: 服務調用監控單元,用于監控Web系統對各項服務的調用是否失敗,若調用失敗則判定所述服務出現問題。8.如權利要求6所述的Web系統服務監測和切換裝置,其特征在于,所述出現問題的服務不存在備用方案包括所述出現問題的服務無法在所述Web系統本地進行重建。9.如權利要求6所述的Web系統服務監測和切換裝置,其特征在于,所述裝置還包括: 問題服務監控模塊,用于監控出現問題的服務; 正常服務切回模塊,用于當監控到所述服務恢復正常時,將所述服務從備用方案或者暫停狀態切換回已經恢復正常的服務。10.如權利要求9所述的Web系統服務監測和切換裝置,其特征在于,所述問題服務監控豐吳塊包括: 問題服務測試調用單元,用于新建對所述出現問題的服務的測試調用; 問題服務判定單元,用于當測試調用正常時,判定所述出現問題的服務恢復正常。
【文檔編號】H04L29/08GK106059795SQ201610323792
【公開日】2016年10月26日
【申請日】2016年5月16日
【發明人】謝偉波
【申請人】樂視控股(北京)有限公司, 樂視網信息技術(北京)股份有限公司