TW201711432A - 對伺服器進行健康檢查的方法及設備 - Google Patents

對伺服器進行健康檢查的方法及設備 Download PDF

Info

Publication number
TW201711432A
TW201711432A TW104142799A TW104142799A TW201711432A TW 201711432 A TW201711432 A TW 201711432A TW 104142799 A TW104142799 A TW 104142799A TW 104142799 A TW104142799 A TW 104142799A TW 201711432 A TW201711432 A TW 201711432A
Authority
TW
Taiwan
Prior art keywords
health check
server
check result
information
result
Prior art date
Application number
TW104142799A
Other languages
English (en)
Inventor
Qian Wang
Zhuo Chen
Zi-Ang Chen
Jia-Ming Wu
Original Assignee
Alibaba Group Services Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Services Ltd filed Critical Alibaba Group Services Ltd
Publication of TW201711432A publication Critical patent/TW201711432A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本發明的目的是提供一種對伺服器進行健康檢查的方法及設備。具體地,該方法包括負載均衡設備向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,負載均衡設備獲取並處理健康檢查快取設備所回傳的該伺服器的健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果。進一步地,當健康檢查快取設備首次獲得該負載等化器所提交的該伺服器的健康檢查結果時不更新,第二次獲得時再更新該伺服器的健康檢查結果的相關資訊,以保證每台負載等化器都有機會對後端伺服器進行健康檢查。與現有技術相比,通過健康檢查快取設備對該伺服器的健康檢查結果進行快取,以減少健康檢查的次數,減輕健康檢查給伺服器帶來的壓力。

Description

對伺服器進行健康檢查的方法及設備
本發明關於電腦領域,尤其關於一種用於對伺服器進行健康檢查的技術。
伺服器負載均衡是一種將用戶端的訪問流量均衡到多個後端伺服器的技術,以實現對伺服器負載的均衡效果。其中,健康檢查是負載均衡服務中非常重要的功能,負載等化器將流量轉發到後端伺服器上,需要通過健康檢查來探測後端伺服器是否在正常提供服務。若對處於異常狀態的後端伺服器的健康檢查連續成功的次數達到“健康檢查正常閾值”,則認為該後端伺服器恢復到正常狀態,並開始對它進行流量轉發;若對處於正常狀態的後端伺服器的健康檢查連續失敗的次數達到“健康檢查異常閾值”,則認為該後端伺服器處於異常狀態,並停止對它的流量轉發。
在現有的系統中,通常有一組負載等化器進行流量轉發,假設一組負載等化器的數量是N,這組中的每個負載等化器每隔一個時間間隔對後端伺服器進行一次健康檢 查。那麼對於後端伺服器而言,一個時間間隔內接收到的健康檢查次數就為N。如果隨著業務流量的增加,需要對負載等化器進行升級,即數量由N增大到M,那麼後端伺服器在一個時間間隔內接收到的健康檢查次數也會增大到M。如果後端伺服器的性能不夠強大,那麼健康檢查產生的流量就會給後端伺服器帶來一定的負擔;如果後端伺服器的配置不夠優化,那麼健康檢查也會造成過多的垃圾日誌。因此需要提供一種減少健康檢查次數的方法,避免過量的健康檢查給後端伺服器帶來額外的壓力。
本發明的一個目的是提供一種對伺服器進行健康檢查的方法及設備。
根據本發明的一個方面,提供了一種在健康檢查快取快取設備端對伺服器進行健康檢查的方法,其中,該方法包括:根據負載等化器所發起的關於伺服器健康檢查的詢問訊息獲取該伺服器的健康檢查結果的相關資訊;向該負載等化器回傳該伺服器的健康檢查結果的相關資訊。
進一步地,該伺服器的健康檢查結果的相關資訊包括:該伺服器是否正在被健康檢查的資訊;該伺服器的健康檢查結果或不具有該伺服器的健康檢查結果的資訊。
進一步地,該方法還包括:根據該負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更新;及根據該負載等化器所發起的 正在對該伺服器進行健康檢查或對該伺服器的健康檢查結束的消息對該伺服器的健康檢查結果的相關資訊進行相應的更新。
進一步地,該對該伺服器的健康檢查結果的相關資訊進行相應的更新還包括:將該更新後的健康檢查結果發送至分散式快取設備。
進一步地,該根據該負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更新包括:根據該負載等化器所提交的該伺服器的健康檢查結果直接更新該伺服器的健康檢查結果的相關資訊。
進一步地,該根據該負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更新包括:當首次獲得該負載等化器所提交的該伺服器的健康檢查結果時,不更新該伺服器的健康檢查結果的相關資訊;當再次獲得該負載等化器所提交的該伺服器的健康檢查結果時,更新該伺服器的健康檢查結果的相關資訊。
進一步地,該當首次獲得該負載等化器所提交的該伺服器的健康檢查結果時不更新該伺服器的健康檢查結果的相關資訊還包括:請求該分散式快取設備插入一嘗試主鍵,該嘗試主鍵用於標記有過一次嘗試寫入,且該嘗試主鍵在第三預設時間內有效; 該當再次獲得該負載等化器所提交的該伺服器的健康 檢查結果時更新該伺服器的健康檢查結果的相關資訊還包括:請求該分散式快取設備刪除該嘗試主鍵的指令。
進一步地,該方法還包括:當該健康檢查結果的最新更新時間與目前時間差超出第一預設時間,則刪除該健康檢查結果,並對該伺服器的健康檢查結果的相關資訊進行相應的更新。
根據本發明的一個方面,提供了一種在負載均衡設備端對伺服器進行健康檢查的方法,其中,該方法包括:向健康檢查快取設備發起關於伺服器健康檢查的詢問消息;獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊;處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果。
進一步地,該處理該伺服器健康檢查結果的相關資訊以獲得該伺服器的健康檢查結果包括:當該伺服器健康檢查結果的相關資訊中包括該伺服器正在被健康檢查的消息,則等待第二預設時間後再次執行該向健康檢查快取設備發起關於伺服器健康檢查的詢問消息至該處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果;否則,當該伺服器健康檢查結果的相關資訊中包括具有該伺服器健康檢查結果,則直接獲取該健康檢查結果;否則,當該健康檢查相關資訊中包括不具有該伺服器健康檢查結果的資訊,則對該伺服器進行健康檢查,以獲得該伺服器的健康檢查結果。
進一步地,該對該伺服器進行健康檢查包括:對該伺 服器進行健康檢查時,向該健康檢查快取設備發起該伺服器正在被健康檢查的消息;對該伺服器的健康檢查結束後,向該健康檢查快取設備發起對該伺服器的健康檢查已結束的消息。
進一步地,該對該伺服器進行健康檢查還包括:對該伺服器的健康檢查結束後,將獲得的該伺服器的健康檢查結果提交給該健康檢查快取設備以備更新。
根據本發明的另一個方面,提供了一種對伺服器進行健康檢查的健康檢查快取設備,其中,該設備包括:第一裝置,用於根據負載等化器所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資訊;第二裝置,用於向該負載等化器回傳該伺服器的健康檢查結果的相關資訊。
進一步地,該伺服器的健康檢查結果的相關資訊包括:該伺服器是否正在被健康檢查的資訊;該伺服器的健康檢查結果或不具有該伺服器的健康檢查結果的資訊。
進一步地,該設備還包括:第三裝置,用於根據該負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更新;及第四裝置,用於根據該負載等化器所發起的正在對該伺服器進行健康檢查或對該伺服器的健康檢查結束的消息對該伺服器的健康檢查結果的相關資訊進行相應的更新。
進一步地,該第三裝置還包括:第一單元,用於將該更新後的健康檢查結果發送至分散式快取設備。
進一步地,該第三裝置包括:第二單元,用於根據該負載等化器所提交的該伺服器的健康檢查結果直接更新該伺服器的健康檢查結果的相關資訊。
進一步地,該第三裝置包括:第三單元,用於當首次獲得該負載等化器所提交的該伺服器的健康檢查結果時,不更新該伺服器的健康檢查結果的相關資訊;第四單元,用於當再次獲得該負載等化器所提交的該伺服器的健康檢查結果時,更新該伺服器的健康檢查結果的相關資訊。
進一步地,該第三單元還包括:第一子單元,用於請求該分散式快取設備插入一嘗試主鍵,該嘗試主鍵用於標記有過一次嘗試寫入,且該嘗試主鍵在第三預設時間內有效;該第四單元還包括:第二子單元,用於請求該分散式快取設備刪除該嘗試主鍵的指令。
進一步地,該設備還包括:第五裝置,用於當該健康檢查結果的最新更新時間與目前時間差超出第一預設時間,則刪除該健康檢查結果,並對該伺服器的健康檢查結果的相關資訊進行相應的更新。
根據本發明的另一個方面,提供了一種對伺服器進行健康檢查的負載均衡設備,其中,該設備包括:第六裝置,用於向健康檢查快取設備發起關於伺服器健康檢查的詢問消息;第七裝置,用於獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊;第八裝置,用於處理該伺服器健康檢查結果的相關資訊,以獲得該伺服 器的健康檢查結果。
進一步地,該第八裝置包括:第五單元,用於當該伺服器健康檢查結果的相關資訊中包括該伺服器正在被健康檢查的消息,則等待第二預設時間後再次執行該第六裝置至該第八裝置;否則,第六單元,用於當該伺服器健康檢查結果的相關資訊中包括具有該伺服器健康檢查結果,則直接獲取該健康檢查結果;否則,第七單元,用於當該健康檢查相關資訊中包括不具有該伺服器健康檢查結果的資訊,則對該伺服器進行健康檢查,以獲得該伺服器的健康檢查結果。
進一步地,該第七單元包括:第三子單元,用於對該伺服器進行健康檢查時,向該健康檢查快取設備發起該伺服器正在被健康檢查的消息;第四子單元,用於對該伺服器的健康檢查結束後,向該健康檢查快取設備發起對該伺服器的健康檢查已結束的消息。
進一步地,該第七單元還包括:第五子單元,用於對該伺服器的健康檢查結束後,將獲得的該伺服器的健康檢查結果提交給該健康檢查快取設備以備更新。
與現有技術相比,本發明的一個實施例中,負載等化器在對伺服器進行健康檢查之前,先向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,獲取並處理健康檢查快取設備所回傳的該伺服器的健康檢查結果的相關資訊,其中,若健康檢查快取設備所回傳的該健康檢查結果的相關資訊中包括該伺服器的健康檢查結果,則該負載等 化器直接獲取該健康檢查結果,而不需要再對該伺服器進行健康檢查;若健康檢查快取設備所回傳的該健康檢查結果的相關資訊中包括不具有該伺服器的健康檢查結果且有其他負載等化器正在對該伺服器進行健康檢查,則該負載等化器會等待第二預設時間後再發起詢問消息;若健康檢查快取設備所回傳的該健康檢查結果的相關資訊中包括不具有該伺服器的健康檢查結果且沒有其他負載等化器正在對該伺服器進行健康檢查,則會觸發該負載等化器對該伺服器的健康檢查,健康檢查快取設備根據該負載等化器開始或結束健康檢查的消息對該健康檢查結果的相關資訊進行相應的更新,並根據在健康檢查結束後獲取的該伺服器的健康檢查結果對健康檢查結果的相關資訊進行相應的更新,那麼後續的負載等化器可以直接獲取該健康檢查結果,而不需要進行重複的健康檢查。
進一步地,當健康檢查快取設備首次獲得該負載等化器所提交的該伺服器的健康檢查結果時,不更新該伺服器的健康檢查結果的相關資訊;當健康檢查快取設備再次獲得該負載等化器所提交的該伺服器的健康檢查結果時,更新該伺服器的健康檢查結果的相關資訊,以保證每台負載等化器都有機會對後端伺服器進行健康檢查。
如此,通過健康檢查快取設備對該伺服器的健康檢查結果進行快取,可以減少健康檢查的次數,減輕健康檢查給伺服器帶來的壓力。
1‧‧‧設備
2‧‧‧設備
11‧‧‧第一裝置
12‧‧‧第二裝置
11’‧‧‧第一裝置
12’‧‧‧第二裝置
13’‧‧‧第三裝置
14’‧‧‧第四裝置
133‧‧‧第三單元
134‧‧‧第四單元
26‧‧‧第六裝置
27‧‧‧第七裝置
28‧‧‧第八裝置
285‧‧‧第五單元
286‧‧‧第六單元
287‧‧‧第七單元
11”‧‧‧第一裝置
12”‧‧‧第二裝置
26’‧‧‧第六裝置
27’‧‧‧第七裝置
28’‧‧‧第八裝置
11”’‧‧‧第一裝置
12”’‧‧‧第二裝置
13”’‧‧‧第三裝置
14”’‧‧‧第四裝置
26”‧‧‧第六裝置
27”‧‧‧第七裝置
28”‧‧‧第八裝置
藉由閱讀參照以下圖式所作的對非限制性實施例所作的詳細描述,本發明的其它特徵、目的和優點將會變得更明顯:圖1示出根據本發明一個方面的一個實施例的一種對伺服器進行健康檢查的健康檢查快取設備示意圖;圖2示出根據本發明一個方面的一個優選實施例的一種對伺服器進行健康檢查的健康檢查快取設備示意圖;圖3示出根據本發明一個方面的又一個優選實施例的一種對伺服器進行健康檢查的健康檢查快取設備第三裝置示意圖;圖4示出根據本發明又一個方面的一個實施例的一種對伺服器進行健康檢查的負載均衡設備示意圖;圖5示出根據本發明又一個方面的又一個實施例一種對伺服器進行健康檢查的負載均衡設備第八裝置示意圖;圖6示出根據本發明再一個方面的一個實施例的健康檢查快取設備及負載均衡設備配合的示意圖;圖7示出根據本發明再一個方面的一個優選實施例的健康檢查快取設備及負載均衡設備配合的示意圖;圖8示出根據本發明另一個方面的一個實施例的一種在健康檢查快取設備端對伺服器進行健康檢查的方法流程圖;圖9示出根據本發明另一個方面的一個優選實施例的一種在健康檢查快取設備端對伺服器進行健康檢查的方法 流程圖;圖10示出根據本發明另一個方面的一個實施例的一種在負載均衡設備端對伺服器進行健康檢查的方法流程圖;圖11示出根據本發明另一個方面的一個實施例的對伺服器進行健康檢查的方法流程圖;圖12示出根據本發明另一個方面的一個優選實施例的對伺服器進行健康檢查的方法流程圖。
圖式中相同或相似的圖式標記代表相同或相似的部件。
下面結合圖式對本發明作進一步詳細描述。
圖1示出根據本發明一個方面的一個實施例的一種對伺服器進行健康檢查的健康檢查快取設備1,其中,設備1包括第一裝置11和第二裝置12。
具體地,該第一裝置11根據負載等化器所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資訊;該第二裝置12向該負載等化器回傳該伺服器的健康檢查結果的相關資訊。
在此,該設備1包括但不限於使用者設備、網路設備、或使用者設備與網路設備通過網路相集成所構成的設備。該使用者設備其包括但不限於任何一種可與用戶通過觸控板進行人機交互的移動電子產品,例如智慧手機、 PDA等,該移動電子產品可以採用任意作業系統,如android作業系統、iOS作業系統等。其中,該網路設備包括一種能夠按照事先設定或儲存的指令,自動進行數值計算和資訊處理的電子設備,其硬體包括但不限於微處理器、專用積體電路(ASIC)、可程式設計閘陣列(FPGA)、數文書處理器(DSP)、嵌入式設備等。該網路設備其包括但不限於電腦、網路主機、單個網路服務器、多個網路服務器集或多個伺服器構成的雲;在此,雲由基於雲計算(Cloud Computing)的大量電腦或網路服務器構成,其中,雲計算是分散式運算的一種,由一群鬆散耦合的電腦集組成的一個虛擬超級電腦。該網路包括但不限於互聯網、廣域網路、都會區網路、區域網、VPN網路、無線自組織網路(Ad Hoc網路)等。優選地,設備1還可以是運行於該使用者設備、網路設備、或使用者設備與網路設備、網路設備、觸摸終端或網路設備與觸摸終端通過網路相集成所構成的設備上的腳本程式。當然,本領域技術人員應能理解上述設備1僅為舉例,其他現有的或今後可能出現的設備1如可適用於本發明,也應包含在本發明保護範圍以內,並在此以引用方式包含於此。
上述各裝置之間是持續不斷工作的,在此,本領域技術人員應理解“持續”是指上述各裝置分別即時地或者按照設定的或即時調整的工作模式要求,例如該第一裝置11持續根據負載等化器所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資訊,該第二裝 置12持續向該負載等化器回傳該伺服器的健康檢查結果的相關資訊,直至該設備1停止工作。
該第一裝置11根據負載等化器所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資訊。
具體地,該伺服器的健康檢查結果的相關資訊包括:該伺服器是否正在被健康檢查的資訊;該伺服器的健康檢查結果或不具有該伺服器的健康檢查結果的資訊。
在此,該伺服器是否正在被健康檢查的資訊是指:有其他的負載等化器目前正在對該伺服器進行健康檢查的資訊。該伺服器的健康檢查結果或不具有該伺服器的健康檢查結果的資訊是指:健康檢查快取設備中已有該伺服器的健康檢查結果,或健康檢查快取設備中不具有該伺服器的健康檢查結果且沒有其他負載等化器正在對該伺服器進行健康檢查的資訊。
該第二裝置12向該負載等化器回傳該伺服器的健康檢查結果的相關資訊。
具體的,例如,假設該第一裝置11根據負載等化器A發起關於伺服器健康檢查的詢問消息,若此時另有一台負載等化器B正在對該伺服器進行健康檢查,則該第二裝置12向負載等化器A回傳該伺服器正在被健康檢查的資訊;若健康檢查快取設備1中已保存有該伺服器的健康檢查結果,則該第二裝置12向負載等化器A回傳該健康檢查結果;若健康檢查快取設備1中沒有該伺服器的健康檢 查結果,且沒有其他負載等化器正在對該伺服器進行健康檢查,則該第二裝置12向負載等化器A回傳不具有該伺服器的健康檢查結果的資訊。
圖2示出根據本發明一個方面的一個優選實施例的一種對伺服器進行健康檢查的健康檢查快取設備1,其中,該設備1包括第一裝置11’、第二裝置12’、第三裝置13’和第四裝置14’。
在此,該第一裝置11’、第二裝置12’與圖1中第一裝置11、第二裝置12的內容相同或基本相同,為簡明起見,在此不再贅述。
具體地,該第三裝置13’根據該負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更新;該第四裝置14’根據該負載等化器所發起的正在對該伺服器進行健康檢查或對該伺服器的健康檢查結束的消息對該伺服器的健康檢查結果的相關資訊進行相應的更新。
例如,假設該第一裝置11’根據負載等化器C所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資訊,該第二裝置12’向負載等化器C回傳不具有該伺服器的健康檢查結果的資訊,於是負載等化器C開始對該伺服器進行健康檢查,該第四裝置14’根據負載等化器C正在對該伺服器進行健康檢查的消息進行相應的更新,更新後的該健康檢查結果的相關資訊包括:不具有該伺服器的健康檢查結果,以及該伺服器正在被健 康檢查。當負載等化器C對該伺服器的健康檢查結束後,該第三裝置13’根據負載等化器C所提交的該伺服器的健康檢查結果進行相應的更新,更新後的該健康檢查結果的相關資訊包括:該伺服器的健康檢查結果,以及當下沒有負載等化器對該伺服器進行健康檢查。該第四裝置14’根據負載等化器C對該伺服器的健康檢查結束的消息對該健康檢查結果的相關資訊進行相應的更新。
優選地,該第三裝置13’還包括第一單元(圖中未示出)。該第一單元將該更新後的健康檢查結果發送至分散式快取設備。
例如,該分散式快取設備可以是Redis(一個開源的鍵值對快取和儲存系統,用來儲存多種類型的鍵值對資料)。具體地,該健康檢查結果以<key,value>的方式進行儲存,其中,key標示一個後端伺服器,value標示健康檢查的結果,1為正常,0為異常。健康檢查快取設備通過Redis的SET指令,將健康檢查結果插入Redis中。假設ip位址為1.1.1.1的伺服器的健康檢查結果為正常,那麼健康檢查快取設備就會給Redis發出指令“SET 1.1.1.1 1”。如果該第一裝置根據負載等化器發起關於伺服器健康檢查的詢問消息,則健康檢查快取設備通過Redis的GET指令進行查詢。假如要查詢ip位址為1.1.1.1的伺服器的健康檢查結果,那麼健康檢查快取設備就會給Redis發出指令“GET 1.1.1.1”。如果“GET 1.1.1.1”的回傳結果為空,就表示不具有該伺服器的健康檢查結果的資訊。 本領域技術人員應能理解上述分散式快取設備及對資料進行寫入或讀取的方式僅為舉例,其他現有的或今後可能出現的分散式快取設備及對資料進行寫入或讀取的方式如可適用於本發明,也應包含在本發明保護範圍以內,並在此以引用方式包含於此。
在一可選的實施例中,該第三裝置13’可以包括第二單元(圖中未示出)。該第二單元根據該負載等化器所提交的該伺服器的健康檢查結果直接更新該伺服器的健康檢查結果的相關資訊。
在此,當該第二單元在獲得該負載等化器所提交的該伺服器的健康檢查結果時,就會直接更新該健康檢查結果的相關資訊。直接更新的方法可以達到快速更新該健康檢查結果的相關資訊的目的,減少更新所需要的時間。
圖3示出根據本發明一個方面的又一個優選實施例的一種對伺服器進行健康檢查的健康檢查快取設備第三裝置13’示意圖,其中,該第三裝置13’包括第三單元133和第四單元134。
具體地,該第三單元133用於當首次獲得該負載等化器所提交的該伺服器的健康檢查結果時,不更新該伺服器的健康檢查結果的相關資訊;該第四單元134用於當再次獲得該負載等化器所提交的該伺服器的健康檢查結果時,更新該伺服器的健康檢查結果的相關資訊。
優選地,該第三單元133還包括:第一子單元(圖中未示出),用於請求該分散式快取設備插入一嘗試主鍵, 該嘗試主鍵用於標記有過一次嘗試寫入,且該嘗試主鍵在第三預設時間內有效;該第四單元134還包括:第二子單元(圖中未示出),用於請求該分散式快取設備刪除該嘗試主鍵的指令。
第三預設時間指的是嘗試主鍵的有效時間,若超過第三預設時間,嘗試主鍵會被自動刪除,以避免因個別機器故障而導致系統無法正常運行。在此需要注意的是,若在第三預設時間之內收到該第二子單元請求該分散式快取設備刪除該嘗試主鍵的指令,嘗試主鍵也會被刪除,因為此時該第四單元134已完成更新該伺服器的健康檢查結果的相關資訊。
在此,該第三預設時間的時間長度不被限制,根據使用者設置確定,不再贅述。
假設例如,在實際場景中,負載等化器A、B、C的啟動時間相差1s,對該伺服器的健康檢查的時間間隔為10s。假設在對該伺服器的健康檢查的每個時間間隔內,第一台負載等化器A發起查詢消息時,該第二裝置12’回傳的該健康檢查結果的相關資訊包括不具有該伺服器的健康檢查結果,則會觸發負載等化器A對伺服器的健康檢查。當負載等化器A完成健康檢查並且試圖將健康檢查結果寫入健康檢查快取設備時,該第三單元133不更新該伺服器的健康檢查結果的相關資訊,即健康檢查快取設備不會將該健康檢查結果寫入Redis,該第一單元向Redis發送指令以插入一個嘗試主鍵k_try,來記錄有過一次嘗試 寫入該伺服器的健康檢查結果。若超過嘗試主鍵k_try的第三預設時間,系統會自動刪除k_try。當第二台負載等化器B發起查詢消息時,因為第一台負載等化器A的健康檢查結果沒有寫入Redis,所以該第二裝置12’回傳的該健康檢查結果的相關資訊仍然包括不具有該伺服器的健康檢查結果,因此觸發第二台負載等化器B對伺服器的健康檢查。該第四單元134更新該伺服器的健康檢查結果的相關資訊,並刪除嘗試主鍵k_try,該第一單元將健康檢查結果發送至Redis進行快取。此後第三台負載等化器C或其他負載等化器發起查詢消息,該第二裝置12’回傳的該健康檢查結果的相關資訊均包括該伺服器的健康檢查結果,而不需要再對該伺服器進行健康檢查。
當然,本領域技術人員應能理解上述負載等化器的數量、負載等化器的啟動時間、對該伺服器的健康檢查的時間間隔僅為舉例,其他現有的或今後可能出現的上述內容相關的變化如可適用於本發明,也應包含在本發明保護範圍以內,並在此以引用方式包含於此。
進一步的,設備1還可以包括第五裝置(圖中未示出)。該第五裝置用於當該健康檢查結果的最新更新時間與目前時間差超出第一預設時間,則刪除該健康檢查結果,並對該伺服器的健康檢查結果的相關資訊進行相應的更新。
在此,該第一預設時間的時間長度不被限制,根據使用者設置確定,不再贅述。在超出第一預設時間刪除該伺 服器的健康檢查結果後,及時將該健康檢查結果的相關資訊更新為包括不具有該伺服器的健康檢查結果,從而觸發隨後的負載等化器對該伺服器的健康檢查,獲取新的該伺服器的健康檢查結果,保持時效性。
例如,接上例,為了保證在每個時間間隔(interval)內都至少有一台負載等化器對伺服器進行了健康檢查,在將該伺服器的健康檢查結果寫入Redis的同時,還需要利用Redis的EXPIRE指令為健康檢查結果<key,value>設置第一預設時間,該第一預設時間也即健康檢查結果失效時間為interval。假設interval=10s,那麼在為ip位址1.1.1.1的伺服器寫入健康檢查結果之後,健康檢查快取設備還需要給Redis發出指令“EXPIRE 1.1.1.1 10”。在經過10s之後,ip位址1.1.1.1的伺服器的健康檢查結果就會被從Redis中刪除,其他負載等化器再發起查詢消息,會被告知不具有該伺服器的健康檢查結果的資訊,從而觸發負載等化器再次發起健康檢查。
本領域技術人員應能理解上述第一預設時間及刪除該健康檢查結果的方式僅為舉例,其他現有的或今後可能出現的每隔一段時間相應地更新該伺服器的健康檢查結果的相關資訊的方式如可適用於本發明,也應包含在本發明保護範圍以內,並在此以引用方式包含於此。
圖4示出根據本發明又一個方面的一個實施例的一種對伺服器進行健康檢查的負載均衡設備2,其中,設備2包括第六裝置26、第七裝置27和第八裝置28。
具體地,該第六裝置26向健康檢查快取設備發起關於伺服器健康檢查的詢問消息;該第七裝置27獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊;該第八裝置28處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果。
在此,該設備2包括但不限於使用者設備、網路設備、或使用者設備與網路設備通過網路相結合所構成的設備。該使用者設備其包括但不限於任何一種可與用戶通過觸控板進行人機交互的移動電子產品,例如智慧手機、PDA等,該移動電子產品可以採用任意作業系統,如android作業系統、iOS作業系統等。其中,該網路設備包括一種能夠按照事先設定或儲存的指令,自動進行數值計算和資訊處理的電子設備,其硬體包括但不限於微處理器、專用積體電路(ASIC)、可程式設計閘陣列(FPGA)、數文書處理器(DSP)、嵌入式設備等。該網路設備其包括但不限於電腦、網路主機、單個網路服務器、多個網路服務器集或多個伺服器構成的雲;在此,雲由基於雲計算(Cloud Computing)的大量電腦或網路服務器構成,其中,雲計算是分散式運算的一種,由一群鬆散耦合的電腦集組成的一個虛擬超級電腦。該網路包括但不限於互聯網、廣域網路、都會區網路、區域網、VPN網路、無線自組織網路(Ad Hoc網路)等。優選地,設備1還可以是運行於該使用者設備、網路設備、或使用者設備與網路設備、網路設備、觸摸終端或網路設備與觸摸終端 通過網路相集成所構成的設備上的腳本程式。當然,本領域技術人員應能理解上述設備2僅為舉例,其他現有的或今後可能出現的設備2如可適用於本發明,也應包含在本發明保護範圍以內,並在此以引用方式包含於此。
上述各裝置之間是持續不斷工作的,在此,本領域技術人員應理解“持續”是指上述各裝置分別即時地或者按照設定的或即時調整的工作模式要求,例如該第六裝置26持續向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,該第七裝置27持續獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊,該第八裝置28持續處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果,直至該設備2停止工作。
該第六裝置26向健康檢查快取設備發起關於伺服器健康檢查的詢問消息。
在此,負載均衡設備可以由一台或多台負載等化器構成,各個負載等化器獨立地向健康檢查快取設備發起關於伺服器健康檢查的詢問消息。
例如,該負載等化器可以是支援四層負載均衡的LVS(Linux虛擬伺服器),可以是支援七層負載均衡的Nginx,也可以是同時支援四層、七層負載均衡的HAProxy。本領域技術人員應能理解上述負載等化器的類型僅為舉例,其他現有的或今後可能出現的負載等化器如可適用於本發明,也應包含在本發明保護範圍以內,並在此以引用方式包含於此。
該第七裝置27獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊。
在此,該伺服器的健康檢查結果的相關資訊包括:該伺服器是否正在被健康檢查的資訊;該伺服器的健康檢查結果或不具有該伺服器的健康檢查結果的資訊。
該第八裝置28處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果。
具體地,如圖5所示,該第八裝置28可以包括:第五單元285、第六單元286和第七單元287。該第五單元285用於當該伺服器健康檢查結果的相關資訊中包括該伺服器正在被健康檢查的消息,則等待第二預設時間後再次執行該第六裝置至該第八裝置;否則,該第六單元286用於當該伺服器健康檢查結果的相關資訊中包括具有該伺服器健康檢查結果,則直接獲取該健康檢查結果;否則,該第七單元287用於當該健康檢查相關資訊中包括不具有該伺服器健康檢查結果的資訊,則對該伺服器進行健康檢查,以獲得該伺服器的健康檢查結果。
在此,該第二預設時間的時間長度不被限制,根據使用者設置確定,不再贅述。
例如,假設負載等化器A通過該第六裝置26向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,若此時另有一台負載等化器B正在對該伺服器進行健康檢查,則該第八裝置28處理的該第七裝置27獲取的健康檢查快取設備回傳的健康檢查結果的相關資訊包括該伺服器正在 被健康檢查,該第五單元285等待第二預設時間後再次執行該第六裝置26至該第八裝置28;若健康檢查快取設備中已保存有該伺服器的健康檢查結果,則該第八裝置28處理該第七裝置27獲取的健康檢查快取設備回傳的健康檢查結果的相關資訊,該第六單元286直接獲取該健康檢查結果;若健康檢查快取設備中沒有該伺服器的健康檢查結果,且沒有其他負載等化器正在對該伺服器進行健康檢查,則該第八裝置28處理的該第七裝置27獲取的健康檢查快取設備回傳的健康檢查結果的相關資訊包括該健康檢查快取設備不具有該伺服器的健康檢查結果,該第七單元287對該伺服器進行健康檢查,以獲得該伺服器的健康檢查結果。
具體地,該第七單元287包括第三子單元(圖中未示出)和第四子單元(圖中未示出)。該第三子單元在對該伺服器進行健康檢查時,向該健康檢查快取設備發起該伺服器正在被健康檢查的消息;該第四子單元在對該伺服器的健康檢查結束後,向該健康檢查快取設備發起對該伺服器的健康檢查已結束的消息。
例如,假設負載等化器C通過該第六裝置26向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,該第八裝置28處理的該第七裝置27獲取的健康檢查快取設備回傳的健康檢查結果的相關資訊包括該健康檢查快取設備不具有該伺服器的健康檢查結果,以及沒有其他負載等化器正在對該伺服器進行健康檢查,則通過該第七單元287 對該伺服器進行健康檢查。該第三子單元在負載等化器C對該伺服器的健康檢查開始時,向該健康檢查快取設備發起該伺服器正在被健康檢查的消息,那麼其他負載等化器再向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,則健康檢查快取設備回傳的健康檢查結果的相關資訊包括不具有該伺服器的健康檢查結果,以及該伺服器正在被健康檢查。該第四子單元在負載等化器C對該伺服器的健康檢查結束後,向該健康檢查快取設備發起對該伺服器的健康檢查已結束的消息,那麼其他負載等化器再向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,則健康檢查快取設備回傳的健康檢查結果的相關資訊包括該伺服器的健康檢查結果或不具有該伺服器的健康檢查結果的資訊,以及沒有其他負載等化器正在對該伺服器進行健康檢查的資訊。
具體地,該第七單元287還包括第五子單元(圖中未示出)。該第五子單元在對該伺服器的健康檢查結束後,將獲得的該伺服器的健康檢查結果提交給該健康檢查快取設備以備更新。
在此,該第五子單元會將該伺服器的健康檢查結果提交給健康檢查快取設備,健康檢查設備可以直接用該健康檢查結果進行更新,也可以首次收到健康檢查結果時不更新,第二次收到健康檢查結果時再進行更新。
圖6示出根據本發明再一個方面的一個實施例的健康檢查快取設備及負載均衡設備配合的示意圖。該健康檢查 快取設備1包括第一裝置11”和第二裝置12”,該負載均衡設備2包括第六裝置26’、第七裝置27’和第八裝置28’。設備2的第六裝置26’向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,設備1的第一裝置11”根據負載等化器所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資訊,設備1的第二裝置12”向該負載等化器回傳該伺服器的健康檢查結果的相關資訊,設備2的第七裝置27’獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊,設備2的第八裝置28’處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果。在此,設備1的第一裝置11”、第二裝置12”與圖1中設備1的第一裝置11、第二裝置12的內容相同或基本相同,並且設備2的第六裝置26’、第七裝置27’、第八裝置28’與圖4中設備2的第六裝置26、第七裝置27、第八裝置28的內容相同或基本相同,為簡明起見,故在此不再贅述,並以引用的方式包含於此。
圖7示出根據本發明再一個方面的一個優選實施例的健康檢查快取設備及負載均衡設備配合的示意圖。該健康檢查快取設備1包括第一裝置11”’、第二裝置12”’、第三裝置13”’和第四裝置14”’,該負載均衡設備2包括第六裝置26”、第七裝置27”和第八裝置28”。設備2的第六裝置26”向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,第一裝置11”’根據負載等化器所發起的關於伺服器 健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資訊,第二裝置12”’向該負載等化器回傳該伺服器的健康檢查結果的相關資訊,設備2的第七裝置27”獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊,設備2的第八裝置28”處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果,第三裝置13”’根據該負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更新;第四裝置14”’根據該負載等化器所發起的正在對該伺服器進行健康檢查或對該伺服器的健康檢查結束的消息對該伺服器的健康檢查結果的相關資訊進行相應的更新。在此,第一裝置11”’、第二裝置12”’、第三裝置13”’、第四裝置14”’與圖2中第一裝置11’、第二裝置12’、第三裝置13’、第四裝置14’的內容相同或基本相同,並且設備2的第六裝置26”、第七裝置27”、第八裝置28”與圖4中設備2的第六裝置26、第七裝置27、第八裝置28的內容相同或基本相同,為簡明起見,故在此不再贅述,並以引用的方式包含於此。
圖8示出根據本發明另一個方面的一個實施例的一種在健康檢查快取設備端對伺服器進行健康檢查的方法流程圖。
該方法包括步驟S81和步驟S82。具體地,在步驟S81中,設備1根據負載等化器所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資 訊;在步驟S82中,設備1向該負載等化器回傳該伺服器的健康檢查結果的相關資訊。
在此,該設備1包括但不限於使用者設備、網路設備、或使用者設備與網路設備通過網路相集成所構成的設備。該使用者設備其包括但不限於任何一種可與用戶通過觸控板進行人機交互的移動電子產品,例如智慧手機、PDA等,該移動電子產品可以採用任意作業系統,如android作業系統、iOS作業系統等。其中,該網路設備包括一種能夠按照事先設定或儲存的指令,自動進行數值計算和資訊處理的電子設備,其硬體包括但不限於微處理器、專用積體電路(ASIC)、可程式設計閘陣列(FPGA)、數文書處理器(DSP)、嵌入式設備等。該網路設備其包括但不限於電腦、網路主機、單個網路服務器、多個網路服務器集或多個伺服器構成的雲;在此,雲由基於雲計算(Cloud Computing)的大量電腦或網路服務器構成,其中,雲計算是分散式運算的一種,由一群鬆散耦合的電腦集組成的一個虛擬超級電腦。該網路包括但不限於互聯網、廣域網路、都會區網路、區域網、VPN網路、無線自組織網路(Ad Hoc網路)等。優選地,設備1還可以是運行於該使用者設備、網路設備、或使用者設備與網路設備、網路設備、觸摸終端或網路設備與觸摸終端通過網路相集成所構成的設備上的腳本程式。當然,本領域技術人員應能理解上述設備1僅為舉例,其他現有的或今後可能出現的設備1如可適用於本發明,也應包含在本 發明保護範圍以內,並在此以引用方式包含於此。
設備1的各個步驟之間是持續不斷工作的。具體地,在步驟S81中,設備1持續根據負載等化器所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資訊,在步驟S82中,設備1持續向該負載等化器回傳該伺服器的健康檢查結果的相關資訊,直至該設備1停止工作。
在步驟S81中,設備1根據負載等化器所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資訊。
具體地,該伺服器的健康檢查結果的相關資訊包括:該伺服器是否正在被健康檢查的資訊;該伺服器的健康檢查結果或不具有該伺服器的健康檢查結果的資訊。
在此,該伺服器是否正在被健康檢查的資訊是指:有其他的負載等化器目前正在對該伺服器進行健康檢查的資訊。
該伺服器的健康檢查結果或不具有該伺服器的健康檢查結果的資訊是指:健康檢查快取設備中已有該伺服器的健康檢查結果,或健康檢查快取設備中不具有該伺服器的健康檢查結果且沒有其他負載等化器正在對該伺服器進行健康檢查的資訊。
在步驟S82中,設備1向該負載等化器回傳該伺服器的健康檢查結果的相關資訊。
具體的,例如,假設在步驟S81中,設備1根據負載 等化器A發起關於伺服器健康檢查的詢問消息,若此時另有一台負載等化器B正在對該伺服器進行健康檢查,則在步驟S82中,設備1向負載等化器A回傳該伺服器正在被健康檢查的資訊;若健康檢查快取設備1中已保存有該伺服器的健康檢查結果,則在步驟S82中,設備1向負載等化器A回傳該健康檢查結果;若健康檢查快取設備1中沒有該伺服器的健康檢查結果,且沒有其他負載等化器正在對該伺服器進行健康檢查,則在步驟S82中,設備1向負載等化器A回傳不具有該伺服器的健康檢查結果的資訊。
圖9示出另一個方面的一個優選實施例的一種在健康檢查快取設備端對伺服器進行健康檢查的方法流程圖。
該方法包括步驟S81’、步驟S82’、步驟S83’和步驟S84’。在此,該步驟S81’、步驟S82’與圖8中步驟S81、步驟S82的內容相同或基本相同,為簡明起見,不再贅述。
具體地,在步驟S83’中,設備1根據該負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更新;在步驟S84’中,設備1根據該負載等化器所發起的正在對該伺服器進行健康檢查或對該伺服器的健康檢查結束的消息對該伺服器的健康檢查結果的相關資訊進行相應的更新。
例如,假設在步驟S81’中,設備1根據負載等化器C所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的 健康檢查結果的相關資訊,在步驟S82’中,設備1向負載等化器C回傳不具有該伺服器的健康檢查結果的資訊,於是負載等化器C開始對該伺服器進行健康檢查,在步驟S84’中,設備1根據負載等化器C正在對該伺服器進行健康檢查的消息進行相應的更新,更新後的該健康檢查結果的相關資訊包括:不具有該伺服器的健康檢查結果,以及該伺服器正在被健康檢查。當負載等化器C對該伺服器的健康檢查結束後,在步驟S83’中,設備1根據負載等化器C所提交的該伺服器的健康檢查結果進行相應的更新,更新後的該健康檢查結果的相關資訊包括:該伺服器的健康檢查結果,以及當下沒有負載等化器對該伺服器進行健康檢查。在步驟S84’中,設備1根據負載等化器C對該伺服器的健康檢查結束的消息對該健康檢查結果的相關資訊進行相應的更新。
優選地,在步驟S83’中,設備1將該更新後的健康檢查結果發送至分散式快取設備。
例如,該分散式快取設備可以是Redis(一個開源的鍵值對快取和儲存系統,用來儲存多種類型的鍵值對資料)。具體地,該健康檢查結果以<key,value>的方式進行儲存,其中,key標示一個後端伺服器,value標示健康檢查的結果,1為正常,0為異常。健康檢查快取設備通過Redis的SET指令,將健康檢查結果插入Redis中。假設ip位址為1.1.1.1的伺服器的健康檢查結果為正常,那麼健康檢查快取設備就會給Redis發出指令“SET 1.1.1.1 1”。如果該第一裝置根據負載等化器發起關於伺服器健康檢查的詢問消息,則健康檢查快取設備通過Redis的GET指令進行查詢。假如要查詢ip位址為1.1.1.1的伺服器的健康檢查結果,那麼健康檢查快取設備就會給Redis發出指令“GET 1.1.1.1”。如果“GET 1.1.1.1”的回傳結果為空,就表示不具有該伺服器的健康檢查結果的資訊。本領域技術人員應能理解上述分散式快取設備及對資料進行寫入或讀取的方式僅為舉例,其他現有的或今後可能出現的分散式快取設備及對資料進行寫入或讀取的方式如可適用於本發明,也應包含在本發明保護範圍以內,並在此以引用方式包含於此。
在一可選的實施例中,在步驟S83’中,設備1根據該負載等化器所提交的該伺服器的健康檢查結果直接更新該伺服器的健康檢查結果的相關資訊。
在此,步驟S83’中,設備1在獲得該負載等化器所提交的該伺服器的健康檢查結果時,就會直接更新該健康檢查結果的相關資訊。直接更新的方法可以達到快速更新該健康檢查結果的相關資訊的目的,減少更新所需要的時間。
具體地,在步驟S83’中,當首次獲得該負載等化器所提交的該伺服器的健康檢查結果時,設備1不更新該伺服器的健康檢查結果的相關資訊;在步驟S83’中,當再次獲得該負載等化器所提交的該伺服器的健康檢查結果時,設備1更新該伺服器的健康檢查結果的相關資訊。
優選地,在步驟S83’中,設備1請求該分散式快取設備插入一嘗試主鍵,該嘗試主鍵用於標記有過一次嘗試寫入,且該嘗試主鍵在第三預設時間內有效;在步驟S83’中,設備1請求該分散式快取設備刪除該嘗試主鍵的指令。
第三預設時間指的是嘗試主鍵的有效時間,若超過第三預設時間,嘗試主鍵會被自動刪除,以避免因個別機器故障而導致系統無法正常運行。在此需要注意的是,若在第三預設時間之內收到設備1請求該分散式快取設備刪除該嘗試主鍵的指令,嘗試主鍵也會被刪除,因為此時設備1已完成更新該伺服器的健康檢查結果的相關資訊。
在此,該第三預設時間的時間長度不被限制,根據使用者設置確定,不再贅述。
假設例如,在實際場景中,負載等化器A、B、C的啟動時間相差1s,對該伺服器的健康檢查的時間間隔為10s。假設在對該伺服器的健康檢查的每個時間間隔內,第一台負載等化器A發起查詢消息時,在步驟S82’中,設備1回傳的該健康檢查結果的相關資訊包括不具有該伺服器的健康檢查結果,則會觸發負載等化器A對伺服器的健康檢查。當負載等化器A完成健康檢查並且試圖將健康檢查結果寫入健康檢查快取設備時,在步驟S83’中,設備1不更新該伺服器的健康檢查結果的相關資訊,即健康檢查快取設備不會將該健康檢查結果寫入Redis,設備1向Redis發送指令以插入一個嘗試主鍵k_try,來記錄有過一 次嘗試寫入該伺服器的健康檢查結果。若超過嘗試主鍵k_try的第三預設時間,系統會自動刪除k_try。當第二台負載等化器B發起查詢消息時,因為第一台負載等化器A的健康檢查結果沒有寫入Redis,所以在步驟S82’中設備1回傳的該健康檢查結果的相關資訊仍然包括不具有該伺服器的健康檢查結果,因此觸發第二台負載等化器B對伺服器的健康檢查。設備1更新該伺服器的健康檢查結果的相關資訊,並刪除嘗試主鍵k_try,設備1將健康檢查結果發送至Redis進行快取。此後第三台負載等化器C或其他負載等化器發起查詢消息,在步驟S82’中設備1回傳的該健康檢查結果的相關資訊均包括該伺服器的健康檢查結果,而不需要再對該伺服器進行健康檢查。
當然,本領域技術人員應能理解上述負載等化器的數量、負載等化器的啟動時間、對該伺服器的健康檢查的時間間隔僅為舉例,其他現有的或今後可能出現的上述內容相關的變化如可適用於本發明,也應包含在本發明保護範圍以內,並在此以引用方式包含於此。
進一步的,該方法還可以包括:當該健康檢查結果的最新更新時間與目前時間差超出第一預設時間,則刪除該健康檢查結果,並對該伺服器的健康檢查結果的相關資訊進行相應的更新。
在此,該第一預設時間的時間長度不被限制,根據使用者設置確定,不再贅述。在超出第一預設時間刪除該伺服器的健康檢查結果後,及時將該健康檢查結果的相關資 訊更新為包括不具有該伺服器的健康檢查結果,從而觸發隨後的負載等化器對該伺服器的健康檢查,獲取新的該伺服器的健康檢查結果,保持時效性。
例如,接上例,為了保證在每個時間間隔(interval)內都至少有一台負載等化器對伺服器進行了健康檢查,在將該伺服器的健康檢查結果寫入Redis的同時,還需要利用Redis的EXPIRE指令為健康檢查結果<key,value>設置第一預設時間,該第一預設時間也即健康檢查結果失效時間為interval。假設interval=10s,那麼在為ip位址1.1.1.1的伺服器寫入健康檢查結果之後,健康檢查快取設備還需要給Redis發出指令“EXPIRE 1.1.1.1 10”。在經過10s之後,ip位址1.1.1.1的伺服器的健康檢查結果就會被從Redis中刪除,其他負載等化器再發起查詢消息,會被告知不具有該伺服器的健康檢查結果的資訊,從而觸發負載等化器再次發起健康檢查。
本領域技術人員應能理解上述第一預設時間及刪除該健康檢查結果的方式僅為舉例,其他現有的或今後可能出現的每隔一段時間相應地更新該伺服器的健康檢查結果的相關資訊的方式如可適用於本發明,也應包含在本發明保護範圍以內,並在此以引用方式包含於此。
圖10示出根據本發明另一個方面的一個實施例的一種在負載均衡設備端對伺服器進行健康檢查的方法流程圖。
該方法包括步驟S106、步驟S107和步驟S108。具體 地,在步驟S106中,設備2向健康檢查快取設備發起關於伺服器健康檢查的詢問消息;在步驟S107中,設備2獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊;在步驟S108中,設備2處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果。
在此,該設備2包括但不限於使用者設備、網路設備、或使用者設備與網路設備通過網路相集成所構成的設備。該使用者設備其包括但不限於任何一種可與用戶通過觸控板進行人機交互的移動電子產品,例如智慧手機、PDA等,該移動電子產品可以採用任意作業系統,如android作業系統、iOS作業系統等。其中,該網路設備包括一種能夠按照事先設定或儲存的指令,自動進行數值計算和資訊處理的電子設備,其硬體包括但不限於微處理器、專用積體電路(ASIC)、可程式設計閘陣列(FPGA)、數文書處理器(DSP)、嵌入式設備等。該網路設備其包括但不限於電腦、網路主機、單個網路服務器、多個網路服務器集或多個伺服器構成的雲;在此,雲由基於雲計算(Cloud Computing)的大量電腦或網路服務器構成,其中,雲計算是分散式運算的一種,由一群鬆散耦合的電腦集組成的一個虛擬超級電腦。該網路包括但不限於互聯網、廣域網路、都會區網路、區域網、VPN網路、無線自組織網路(Ad Hoc網路)等。優選地,設備1還可以是運行於該使用者設備、網路設備、或使用者設備 與網路設備、網路設備、觸摸終端或網路設備與觸摸終端通過網路相集成所構成的設備上的腳本程式。當然,本領域技術人員應能理解上述設備2僅為舉例,其他現有的或今後可能出現的設備2如可適用於本發明,也應包含在本發明保護範圍以內,並在此以引用方式包含於此。
設備2的各個步驟之間是持續不斷工作的。具體地,在步驟S106中,設備2持續向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,在步驟S107中,設備2持續獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊,在步驟S108中,設備2持續處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果,直至該設備2停止工作。
在步驟S106中,設備2向健康檢查快取設備發起關於伺服器健康檢查的詢問消息。
在此,負載均衡設備可以由一台或多台負載等化器構成,各個負載等化器獨立地向健康檢查快取設備發起關於伺服器健康檢查的詢問消息。
例如,該負載等化器可以是支援四層負載均衡的LVS(Linux虛擬伺服器),可以是支援七層負載均衡的Nginx,也可以是同時支援四層、七層負載均衡的HAProxy。本領域技術人員應能理解上述負載等化器的類型僅為舉例,其他現有的或今後可能出現的負載等化器如可適用於本發明,也應包含在本發明保護範圍以內,並在此以引用方式包含於此。
在步驟S107中,設備2獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊。
在此,該伺服器的健康檢查結果的相關資訊包括:該伺服器是否正在被健康檢查的資訊;該伺服器的健康檢查結果或不具有該伺服器的健康檢查結果的資訊。
在步驟S108中,設備2處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果。
具體地,在步驟S108中,當該伺服器健康檢查結果的相關資訊中包括該伺服器正在被健康檢查的消息,則設備2等待第二預設時間後再次執行該步驟S106至該步驟S108;否則,當該伺服器健康檢查結果的相關資訊中包括具有該伺服器健康檢查結果,則設備2直接獲取該健康檢查結果;否則,用於當該健康檢查相關資訊中包括不具有該伺服器健康檢查結果的資訊,則設備2對該伺服器進行健康檢查,以獲得該伺服器的健康檢查結果。
在此,該第二預設時間的時間長度不被限制,根據使用者設置確定,不再贅述。
例如,假設在步驟S106中負載等化器A通過設備2向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,若此時另有一台負載等化器B正在對該伺服器進行健康檢查,則步驟S108中設備2處理的步驟S107中獲取的健康檢查快取設備回傳的健康檢查結果的相關資訊包括該伺服器正在被健康檢查,設備2等待第二預設時間後再次執行該步驟S106至該步驟S108;若健康檢查快取設備中 已保存有該伺服器的健康檢查結果,則步驟S108中設備2處理的步驟S107中獲取的健康檢查快取設備回傳的健康檢查結果的相關資訊,設備2直接獲取該健康檢查結果;若健康檢查快取設備中沒有該伺服器的健康檢查結果,且沒有其他負載等化器正在對該伺服器進行健康檢查,則步驟S108中設備2處理的步驟S107中獲取的健康檢查快取設備回傳的健康檢查結果的相關資訊包括該健康檢查快取設備不具有該伺服器的健康檢查結果,設備2對該伺服器進行健康檢查,以獲得該伺服器的健康檢查結果。
具體地,在步驟S108中,在對該伺服器進行健康檢查時,設備2向該健康檢查快取設備發起該伺服器正在被健康檢查的消息;在對該伺服器的健康檢查結束後,設備2向該健康檢查快取設備發起對該伺服器的健康檢查已結束的消息。
例如,假設在步驟S106中負載等化器C通過設備2向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,步驟S108中設備2處理的步驟S107中獲取的健康檢查快取設備回傳的健康檢查結果的相關資訊包括該健康檢查快取設備不具有該伺服器的健康檢查結果,以及沒有其他負載等化器正在對該伺服器進行健康檢查,則通過設備2對該伺服器進行健康檢查。在負載等化器C對該伺服器的健康檢查開始時,設備2向該健康檢查快取設備發起該伺服器正在被健康檢查的消息,那麼其他負載等化器再向 健康檢查快取設備發起關於伺服器健康檢查的詢問消息,則健康檢查快取設備回傳的健康檢查結果的相關資訊包括不具有該伺服器的健康檢查結果,以及該伺服器正在被健康檢查。在負載等化器C對該伺服器的健康檢查結束後,設備2向該健康檢查快取設備發起對該伺服器的健康檢查已結束的消息,那麼其他負載等化器再向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,則健康檢查快取設備回傳的健康檢查結果的相關資訊包括該伺服器的健康檢查結果或不具有該伺服器的健康檢查結果的資訊,以及沒有其他負載等化器正在對該伺服器進行健康檢查的資訊。
具體地,在步驟S108中,在對該伺服器的健康檢查結束後,設備2將獲得的該伺服器的健康檢查結果提交給該健康檢查快取設備以備更新。
在此,設備2會將該伺服器的健康檢查結果提交給健康檢查快取設備,健康檢查設備可以直接用該健康檢查結果進行更新,也可以首次收到健康檢查結果時不更新,第二次收到健康檢查結果時再進行更新。
圖11示出根據本發明另一個方面的一個實施例的對伺服器進行健康檢查的方法流程圖。該方法包括步驟S81”~S82”和步驟S106’~S108’。具體地,在步驟S106’中,設備2向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,在步驟S81”中,設備1根據負載等化器所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健 康檢查結果的相關資訊,在步驟S82”中,設備1向該負載等化器回傳該伺服器的健康檢查結果的相關資訊,在步驟S107’中,設備2獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊,在步驟S108’中,設備2處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果。在此,步驟S81”~S82”與圖8中的步驟S81~S82的內容相同或基本相同,並且步驟S106’~S108’與圖10中步驟S106~S108的內容相同或基本相同,為簡明起見,故在此不再贅述,並以引用的方式包含於此。
圖12示出根據本發明另一個方面的一個優選實施例的對伺服器進行健康檢查的方法流程圖。該方法包括步驟S81”’~S84”’和步驟S106”~S108”。具體地,在步驟S106”中,設備2向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,在步驟S81”’中,設備1根據負載等化器所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資訊,在步驟S82”’中,設備1向該負載等化器回傳該伺服器的健康檢查結果的相關資訊,在步驟S107”中,設備2獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊,在步驟S108”中,設備2處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果,在步驟S83”’中,設備1根據該負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更 新;在步驟S84”’中,設備1根據該負載等化器所發起的正在對該伺服器進行健康檢查或對該伺服器的健康檢查結束的消息對該伺服器的健康檢查結果的相關資訊進行相應的更新。在此,步驟S81”’~S84”’與圖9中的步驟S81’~S84’的內容相同或基本相同,並且步驟S106”~S108”與圖10中步驟S106~S108的內容相同或基本相同,為簡明起見,故在此不再贅述,並以引用的方式包含於此。
綜上該,與現有技術相比,本發明的一個實施例中,負載等化器在對伺服器進行健康檢查之前,先向健康檢查快取設備發起關於伺服器健康檢查的詢問消息,獲取並處理健康檢查快取設備所回傳的該伺服器的健康檢查結果的相關資訊。
若健康檢查快取設備所回傳的該健康檢查結果的相關資訊中包括該伺服器的健康檢查結果,則該負載等化器直接獲取該健康檢查結果,而不需要再對該伺服器進行健康檢查;若健康檢查快取設備所回傳的該健康檢查結果的相關資訊中包括不具有該伺服器的健康檢查結果且有其他負載等化器正在對該伺服器進行健康檢查,則該負載等化器會等待第二預設時間後再發起詢問消息;若健康檢查快取設備所回傳的該健康檢查結果的相關資訊中包括不具有該伺服器的健康檢查結果且沒有其他負載等化器正在對該伺服器進行健康檢查,則會觸發該負載等化器對該伺服器的健康檢查,健康檢查快取設備根據該負載等化器開始或結束健康檢查的消息對該健康檢查結果的相關資訊進行相應 的更新,並根據在健康檢查結束後獲取的該伺服器的健康檢查結果對健康檢查結果的相關資訊進行相應的更新,那麼後續的負載等化器可以直接獲取該健康檢查結果,而不需要進行重複的健康檢查。
進一步地,當健康檢查快取設備首次獲得該負載等化器所提交的該伺服器的健康檢查結果時,不更新該伺服器的健康檢查結果的相關資訊;當健康檢查快取設備再次獲得該負載等化器所提交的該伺服器的健康檢查結果時,更新該伺服器的健康檢查結果的相關資訊,以保證每台負載等化器都有機會對後端伺服器進行健康檢查。
如此,通過健康檢查快取設備對該伺服器的健康檢查結果進行快取,可以減少健康檢查的次數,減輕健康檢查給伺服器帶來的壓力。
此外,在本發明一個典型的配置中,終端、服務網路的設備和可信方均包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀介質的示例。
電腦可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存介質的例子包括,但不限於相變記憶體 (PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁片儲存或其他磁性存放裝置或任何其他非傳輸介質,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀介質不包括非暫存電腦可讀媒體(transitory media),如調製的資料信號和載波。
顯然,本領域的技術人員可以對本發明進行各種更改和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些更改和變型在內。
需要注意的是,本發明可在軟體和/或軟體與硬體的組合體中被實施,例如,可採用專用積體電路(ASIC)、通用目的電腦或任何其他類似硬體設備來實現。在一個實施例中,本發明的軟體程式可以通過處理器執行以實現上文該步驟或功能。同樣地,本發明的軟體程式(包括相關的資料結構)可以被儲存到電腦可讀記錄介質中,例如,RAM記憶體,磁或光驅動器或軟碟及類似設備。另外,本發明的一些步驟或功能可採用硬體來實現,例如,作為與處理器配合從而執行各個步驟或功能的電路。
另外,本發明的一部分可被應用為電腦程式產品,例如電腦程式指令,當其被電腦執行時,通過該電腦的操作,可以調用或提供根據本發明的方法和/或技術方案。而調用本發明的方法的程式指令,可能被儲存在固定的或可移動的記錄介質中,和/或通過廣播或其他信號承載媒體中的資料流程而被傳輸,和/或被儲存在根據該程式指令運行的電腦設備的工作記憶體中。在此,根據本發明的一個實施例包括一個裝置,該裝置包括用於儲存電腦程式指令的記憶體和用於執行程式指令的處理器,其中,當該電腦程式指令被該處理器執行時,觸發該裝置運行基於前述根據本發明的多個實施例的方法和/或技術方案。
對於本領域技術人員而言,顯然本發明不限於上述示範性實施例的細節,而且在不背離本發明的精神或基本特徵的情況下,能夠以其他的具體形式實現本發明。因此,無論從哪一點來看,均應將實施例看作是示範性的,而且是非限制性的,本發明的範圍由所附權利要求而不是上述說明限定,因此旨在將落在權利要求的等同要件的含義和範圍內的所有變化涵括在本發明內。不應將權利要求中的任何圖式標記視為限制所涉及的權利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數不排除複數。裝置權利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟體或者硬體來實現。第一,第二等詞語用來表示名稱,而並不表示任何特定的順序。

Claims (24)

  1. 一種在健康檢查快取設備端對伺服器進行健康檢查的方法,其中,該方法包括:根據負載等化器所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資訊;及向該負載等化器回傳該伺服器的健康檢查結果的相關資訊。
  2. 如申請專利範圍第1項的方法,其中,該伺服器的健康檢查結果的相關資訊包括:該伺服器是否正在被健康檢查的資訊;及該伺服器的健康檢查結果或不具有該伺服器的健康檢查結果的資訊。
  3. 如申請專利範圍第2項的方法,該方法還包括:根據該負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更新;及根據該負載等化器所發起的正在對該伺服器進行健康檢查或對該伺服器的健康檢查結束的消息對該伺服器的健康檢查結果的相關資訊進行相應的更新。
  4. 如申請專利範圍第3項的方法,其中,該根據該負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更新還包括:將該更新後的健康檢查結果發送至分散式快取設備。
  5. 如申請專利範圍第4項的方法,其中,該根據該 負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更新包括:根據該負載等化器所提交的該伺服器的健康檢查結果直接更新該伺服器的健康檢查結果的相關資訊。
  6. 如申請專利範圍第4項的方法,其中,該根據該負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更新包括:當首次獲得該負載等化器所提交的該伺服器的健康檢查結果時,不更新該伺服器的健康檢查結果的相關資訊;及當再次獲得該負載等化器所提交的該伺服器的健康檢查結果時,更新該伺服器的健康檢查結果的相關資訊。
  7. 如申請專利範圍第6項的方法,其中,該當首次獲得該負載等化器所提交的該伺服器的健康檢查結果時,不更新該伺服器的健康檢查結果的相關資訊還包括:請求該分散式快取設備插入一嘗試主鍵,該嘗試主鍵用於標記有過一次嘗試寫入,且該嘗試主鍵在第三預設時間內有效;及該當再次獲得該負載等化器所提交的該伺服器的健康檢查結果時,更新該伺服器的健康檢查結果的相關資訊還包括:請求該分散式快取設備刪除該嘗試主鍵的指令。
  8. 如申請專利範圍第3至7項中任一項的方法,其中,該方法還包括: 當該健康檢查結果的最新更新時間與目前時間差超出第一預設時間,則刪除該健康檢查結果,並對該伺服器的健康檢查結果的相關資訊進行相應的更新。
  9. 一種在負載均衡設備端對伺服器進行健康檢查的方法,其中,該方法包括:向健康檢查快取設備發起關於伺服器健康檢查的詢問消息;獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊;及處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果。
  10. 如申請專利範圍第9項的方法,其中,該處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果包括:當該伺服器健康檢查結果的相關資訊中包括該伺服器正在被健康檢查的消息,則等待第二預設時間後再次執行該向健康檢查快取設備發起關於伺服器健康檢查的詢問消息、該獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊及該處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果;否則,當該伺服器健康檢查結果的相關資訊中包括具有該伺服器健康檢查結果,則直接獲取該健康檢查結果;否則,當該健康檢查相關資訊中包括不具有該伺服器健康檢查結果的資訊,則對該伺服器進行健康檢查,以獲得該伺 服器的健康檢查結果。
  11. 如申請專利範圍第10項的方法,其中,該當該健康檢查相關資訊中包括不具有該伺服器健康檢查結果的資訊,則對該伺服器進行健康檢查,以獲得該伺服器的健康檢查結果包括:對該伺服器進行健康檢查時,向該健康檢查快取設備發起該伺服器正在被健康檢查的消息;及對該伺服器的健康檢查結束後,向該健康檢查快取設備發起對該伺服器的健康檢查已結束的消息。
  12. 如申請專利範圍第10或11項的方法,其中,該當該健康檢查相關資訊中包括不具有該伺服器健康檢查結果的資訊,則對該伺服器進行健康檢查,以獲得該伺服器的健康檢查結果還包括:對該伺服器的健康檢查結束後,將獲得的該伺服器的健康檢查結果提交給該健康檢查快取設備以備更新。
  13. 一種對伺服器進行健康檢查的健康檢查快取設備,其中,該設備包括:第一裝置,用於根據負載等化器所發起的關於伺服器健康檢查的詢問消息獲取該伺服器的健康檢查結果的相關資訊;及第二裝置,用於向該負載等化器回傳該伺服器的健康檢查結果的相關資訊。
  14. 如申請專利範圍第13項的設備,其中,該伺服器的健康檢查結果的相關資訊包括: 該伺服器是否正在被健康檢查的資訊;及該伺服器的健康檢查結果或不具有該伺服器的健康檢查結果的資訊。
  15. 如申請專利範圍第14項的設備,該設備還包括:第三裝置,用於根據該負載等化器所提交的該伺服器的健康檢查結果對該伺服器的健康檢查結果的相關資訊進行相應的更新;及第四裝置,用於根據該負載等化器所發起的正在對該伺服器進行健康檢查或對該伺服器的健康檢查結束的消息對該伺服器的健康檢查結果的相關資訊進行相應的更新。
  16. 如申請專利範圍第15項的設備,其中,該第三裝置還包括:第一單元,用於將該更新後的健康檢查結果發送至分散式快取設備。
  17. 如申請專利範圍第16項的設備,其中,該第三裝置包括:第二單元,用於根據該負載等化器所提交的該伺服器的健康檢查結果直接更新該伺服器的健康檢查結果的相關資訊。
  18. 如申請專利範圍第16項的設備,其中,該第三裝置包括:第三單元,用於當首次獲得該負載等化器所提交的該伺服器的健康檢查結果時,不更新該伺服器的健康檢查結 果的相關資訊;及第四單元,用於當再次獲得該負載等化器所提交的該伺服器的健康檢查結果時,更新該伺服器的健康檢查結果的相關資訊。
  19. 如申請專利範圍第18項的設備,其中,該第三單元還包括:第一子單元,用於請求該分散式快取設備插入一嘗試主鍵,該嘗試主鍵用於標記有過一次嘗試寫入,且該嘗試主鍵在第三預設時間內有效;該第四單元還包括:第二子單元,用於請求該分散式快取設備刪除該嘗試主鍵的指令。
  20. 如申請專利範圍第15至19項中任一項的設備,其中,該設備還包括:第五裝置,用於當該健康檢查結果的最新更新時間與目前時間差超出第一預設時間,則刪除該健康檢查結果,並對該伺服器的健康檢查結果的相關資訊進行相應的更新。
  21. 一種對伺服器進行健康檢查的負載均衡設備,其中,該設備包括:第六裝置,用於向健康檢查快取設備發起關於伺服器健康檢查的詢問消息;第七裝置,用於獲取該健康檢查快取設備所回傳的關於伺服器健康檢查結果的相關資訊;及 第八裝置,用於處理該伺服器健康檢查結果的相關資訊,以獲得該伺服器的健康檢查結果。
  22. 如申請專利範圍第21項的設備,其中,該第八裝置包括:第五單元,用於當該伺服器健康檢查結果的相關資訊中包括該伺服器正在被健康檢查的消息,則等待第二預設時間後再次執行該第六裝置至該第八裝置;否則,第六單元,用於當該伺服器健康檢查結果的相關資訊中包括具有該伺服器健康檢查結果,則直接獲取該健康檢查結果;否則,第七單元,用於當該健康檢查相關資訊中包括不具有該伺服器健康檢查結果的資訊,則對該伺服器進行健康檢查,以獲得該伺服器的健康檢查結果。
  23. 如申請專利範圍第22項的設備,其中,該第七單元包括:第三子單元,用於對該伺服器進行健康檢查時,向該健康檢查快取設備發起該伺服器正在被健康檢查的消息;及第四子單元,用於對該伺服器的健康檢查結束後,向該健康檢查快取設備發起對該伺服器的健康檢查已結束的消息。
  24. 如申請專利範圍第22或23項的設備,其中,該第七單元還包括:第五子單元,用於對該伺服器的健康檢查結束後,將 獲得的該伺服器的健康檢查結果提交給該健康檢查快取設備以備更新。
TW104142799A 2015-06-02 2015-12-18 對伺服器進行健康檢查的方法及設備 TW201711432A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510296417.1A CN106302595B (zh) 2015-06-02 2015-06-02 一种对服务器进行健康检查的方法及设备

Publications (1)

Publication Number Publication Date
TW201711432A true TW201711432A (zh) 2017-03-16

Family

ID=57441751

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104142799A TW201711432A (zh) 2015-06-02 2015-12-18 對伺服器進行健康檢查的方法及設備

Country Status (4)

Country Link
US (1) US10659552B2 (zh)
CN (1) CN106302595B (zh)
TW (1) TW201711432A (zh)
WO (1) WO2016196647A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108270639A (zh) * 2017-02-13 2018-07-10 广州市动景计算机科技有限公司 业务接口监控的方法、装置及系统
CN107070742B (zh) * 2017-03-14 2020-05-08 北京三快在线科技有限公司 业务服务器健康状态检查方法及系统
CN109274707B (zh) * 2017-07-18 2022-02-22 阿里巴巴集团控股有限公司 一种负载调度方法及装置
US10680804B2 (en) * 2017-09-27 2020-06-09 Salesforce.Com, Inc. Distributed key caching for encrypted keys
CN109788012B (zh) * 2017-11-14 2022-04-01 阿里巴巴集团控股有限公司 一种健康检查方法和装置、健康检查控制方法和控制器
CN108762928B (zh) * 2018-05-29 2022-03-22 郑州云海信息技术有限公司 一种弹性伸缩服务执行操作时的处理方法和系统
CN110177028B (zh) * 2019-05-30 2021-06-22 北京字节跳动网络技术有限公司 分布式健康检查方法及装置
CN110311988B (zh) * 2019-07-30 2022-01-28 中国工商银行股份有限公司 后端服务器的健康检查方法、负载均衡方法及装置
CN111556142B (zh) * 2020-04-26 2023-04-18 天津中新智冠信息技术有限公司 服务调用方法、装置及系统
CN112738238A (zh) * 2020-12-29 2021-04-30 北京天融信网络安全技术有限公司 一种负载均衡中健康检查的方法、装置以及系统
CN113641558A (zh) * 2021-08-31 2021-11-12 合众人寿保险股份有限公司 一种健康检查方法、装置及电子设备
CN114938377B (zh) * 2022-04-20 2024-05-17 京东科技信息技术有限公司 后端服务器管理方法、装置、可读介质及电子设备

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590739B2 (en) * 1999-11-22 2009-09-15 Akamai Technologies, Inc. Distributed on-demand computing system
US6738811B1 (en) 2000-03-31 2004-05-18 Supermicro Computer, Inc. Method and architecture for monitoring the health of servers across data networks
US9639553B2 (en) 2000-11-02 2017-05-02 Oracle International Corporation TCP/UDP acceleration
US7107339B1 (en) 2001-04-07 2006-09-12 Webmethods, Inc. Predictive monitoring and problem identification in an information technology (IT) infrastructure
US7287075B2 (en) 2002-02-22 2007-10-23 Bea Systems, Inc. System for monitoring managed server health
US7360121B2 (en) 2002-02-22 2008-04-15 Bea Systems, Inc. System for monitoring a subsystem health
US7233989B2 (en) 2002-02-22 2007-06-19 Bea Systems, Inc. Method for automatic monitoring of managed server health
US7152185B2 (en) 2002-02-22 2006-12-19 Bea Systems, Inc. Method for event triggered monitoring of managed server health
US6993686B1 (en) 2002-04-30 2006-01-31 Cisco Technology, Inc. System health monitoring and recovery
US7308475B1 (en) * 2003-05-06 2007-12-11 F5 Networks, Inc. Method and system for accessing network services
US7313735B1 (en) 2004-04-30 2007-12-25 Sun Microsystems, Inc. In-line server health checking
US8676958B1 (en) 2006-02-10 2014-03-18 Open Invention Network, Llc System and method for monitoring the status of multiple servers on a network
US20080134046A1 (en) 2006-12-05 2008-06-05 Microsoft Corporation Aggregated computer health
US8181071B2 (en) 2007-06-29 2012-05-15 Microsoft Corporation Automatically managing system downtime in a computer network
US7886050B2 (en) 2007-10-05 2011-02-08 Citrix Systems, Inc. Systems and methods for monitoring components of a remote access server farm
US8533317B2 (en) * 2009-06-22 2013-09-10 Citrix Systems, Inc. Systems and methods for monitor distribution in a multi-core system
CN101610211A (zh) * 2009-07-15 2009-12-23 浪潮电子信息产业股份有限公司 一种实现加权轮询的高速缓存负载均衡方法
US8200752B2 (en) 2009-12-23 2012-06-12 Citrix Systems, Inc. Systems and methods for policy based transparent client IP insertion
US8949410B2 (en) * 2010-09-10 2015-02-03 Cisco Technology, Inc. Server load balancer scaling for virtual servers
CN103503424B (zh) 2010-12-20 2016-08-10 思杰系统有限公司 用于实现多核系统中的连接镜像的系统和方法
KR20120072250A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 동적 부하 분산 시스템 및 방법
US8402112B2 (en) * 2011-01-14 2013-03-19 Microsoft Corporation Inter-cache communication using HTTP resource
JP6044148B2 (ja) * 2011-08-03 2016-12-14 株式会社リコー 通信制御装置、情報管理システム、情報管理装置、通信制御プログラム、及び情報管理プログラム
CN103139247B (zh) * 2011-11-28 2015-11-25 百度在线网络技术(北京)有限公司 负载均衡系统中后端服务器的保活方法、系统及装置
CN102761461B (zh) * 2012-08-01 2015-10-14 杭州迪普科技有限公司 一种链路健康检查方法及装置
US9871712B1 (en) * 2013-04-16 2018-01-16 Amazon Technologies, Inc. Health checking in a distributed load balancer
US8745221B1 (en) * 2013-09-18 2014-06-03 Limelight Networks, Inc. Dynamic request rerouting
US9276991B2 (en) * 2013-09-18 2016-03-01 Xerox Corporation Method and apparatus for providing a dynamic tool menu based upon a document
US9407692B2 (en) * 2013-11-27 2016-08-02 Avi Networks Method and system for distributed load balancing
EP3085017A1 (en) 2013-12-19 2016-10-26 BAE Systems PLC Method and apparatus for detecting fault conditions in a network
KR20150085376A (ko) * 2014-01-15 2015-07-23 한국전자통신연구원 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법
CN103873293B (zh) * 2014-03-05 2018-06-12 新华三技术有限公司 一种健康探测装置及方法
CN104394224A (zh) * 2014-11-28 2015-03-04 无锡华云数据技术服务有限公司 一种负载均衡系统

Also Published As

Publication number Publication date
WO2016196647A1 (en) 2016-12-08
CN106302595A (zh) 2017-01-04
CN106302595B (zh) 2020-03-17
US10659552B2 (en) 2020-05-19
US20160360001A1 (en) 2016-12-08

Similar Documents

Publication Publication Date Title
TW201711432A (zh) 對伺服器進行健康檢查的方法及設備
US8935482B2 (en) Method, system and server of removing a distributed caching object
US9148332B2 (en) Content delivery network
JP6438031B2 (ja) クライアントのダウンロード及びインストール方法及び装置
US9596297B2 (en) Managing communications in a multi-client, multi-server environment
WO2019127915A1 (zh) 基于分布式一致性协议实现的数据读取方法及装置
US9088462B2 (en) Common web accessible data store for client side page processing
US11831617B2 (en) File upload control for client-side applications in proxy solutions
WO2018233630A1 (zh) 故障发现
CN106933493B (zh) 用于缓存盘阵列扩容的方法及设备
US9009196B2 (en) Discovery and client routing to database nodes
CN107391033B (zh) 数据迁移方法及装置、计算设备、计算机存储介质
US11455117B2 (en) Data reading method, apparatus, and system, avoiding version rollback issues in distributed system
WO2023165226A1 (zh) 一种应用资源的备份方法、装置、电子设备及存储介质
WO2020238567A1 (zh) 一种资源检测方法及装置
WO2016095644A1 (zh) 数据库的高可用解决方法和装置
US9130994B1 (en) Techniques for avoiding dynamic domain name system (DNS) collisions
JP2019511060A (ja) ページ表示のための方法及び装置
CN106528876B (zh) 分布式系统的信息处理方法及分布式信息处理系统
EP3964996A1 (en) Database access method and device
JP5544521B2 (ja) 状態管理方法、処理装置、および状態管理プログラム
CN106611118B (zh) 申请登录凭证的方法和装置
BR112015001983B1 (pt) Terminal de usuário, e memória de armazenamento em computador
JP6553650B2 (ja) データ処理の方法及びシステム
WO2022050989A1 (en) Consistent entity tags with multiple protocol data access