新四季網

提供使用最少帶寬的故障檢測的方法和系統的製作方法

2023-10-29 02:18:17

專利名稱:提供使用最少帶寬的故障檢測的方法和系統的製作方法
技術領域:
本發明通常涉及故障檢測,並具體涉及一種提供使用最少帶寬的故障檢測的方法、系統以及電腦程式產品。
背景技術:
在典型的企業計算機配置中,諸如應用伺服器層之類的一個計算機層需要知道諸如資料庫層之類的另一層或者另一層中任意給定的機器何時變成不可用。這種需求的一個引人注目的示例就是這樣一個資料庫該資料庫保持著關聯於它的打開的TCP/IP連接的鎖定(lock)。當在連接另一端的實體變成不可用時,識別這個事件並釋放該資料庫的鎖定很重要。為了縮短任何可能的運轉中斷,故障檢測時間應該儘可能小,而且用於這樣做的機器不應該對那些在正常運轉狀況下在各個層之間流動的數據產生顯著的幹擾(例如,過多的帶寬使用)。
一種已知的故障檢測方法涉及使用專用連接來執行標準的心跳。在這種方法中,在兩個節點之間總是開放一個連接。不論在同樣的這兩個節點之間的任何其它連接的狀態如何,探查分組都在已配置的時間間隔上通過這個連接而被發送。如此,對於每個節點都存在固定的帶寬使用,僅僅用來查驗(ping)另一個節點的活動/無效狀態。
另一種已知的故障檢測方法涉及使用在逐個連接的基礎上的TCP「KeepAlive」。這個方案的主要缺點是它必須在逐個節點(即系統範圍)的基礎上被配置。這意味著所有的應用都必須使用相同的超時值。另一個缺點是它彼此獨立地測試連接,而不管它們是否連接到相同的計算機上。換言之,如果在節點A和B之間開放著三條連接,那麼這些連接的每一個都發送心跳。每個連接然後必須彼此獨立地超時,這樣做很低效。

發明內容
本發明提供一種用於提供使用最少帶寬的故障檢測的方法、系統以及電腦程式產品。
本發明的第一個方面是針對一種在多節點系統中進行故障檢測的方法,包括把第一節點和第二節點之間的所有連接與最後接收值和最大空閒值相關聯;計算所述最後接收值和當前時間之間的差值;並且如果所述最後接收值和所述當前時間之間的差值超過最大空閒值,則建立從第一節點到第二節點的心跳連接。
本發明的第二個方面是針對一種在多節點系統中進行故障檢測的系統,包括用於把第一節點和第二節點之間的所有連接與最後接收值和最大空閒值相關聯的系統;用於計算所述最後接收值和當前時間之間的差值的系統;和用於如果所述最後接收值和所述當前時間之間的差值超過最大空閒值,則建立從第一節點到第二節點的心跳連接的系統。
本發明的第三個方面是針對一種存儲在計算機可讀媒體上用於在多節點系統中進行故障檢測的程序產品,該計算機可讀媒體包括用於執行如下步驟的程序代碼把第一節點和第二節點之間的所有連接與最後接收值和最大空閒值相關聯;計算所述最後接收值和當前時間之間的差值;並且如果所述最後接收值和所述當前時間之間的差值超過最大空閒值,則建立從第一節點到第二節點的心跳連接。
本發明的第四個方面是針對一種用於在多節點系統中部署用於故障檢測的應用的方法,包括提供計算機基礎設施,其可操作來把第一節點和第二節點之間的所有連接與最後接收值和最大空閒值相關聯;計算所述最後接收值和當前時間之間的差值;並且如果所述最後接收值和所述當前時間之間的差值超過最大空閒值,則建立從第一節點到第二節點的心跳連接。
本發明的第五個方面是針對被實現於用於在多節點系統中進行故障檢測的傳播信號中的計算機軟體,該計算機軟體包括使得計算機系統執行如下功能的指令把第一節點和第二節點之間的所有連接與最後接收值和最大空閒值相關聯;計算所述最後接收值和當前時間之間的差值;並且如果所述最後接收值和所述當前時間之間的差值超過最大空閒值,則建立從第一節點到第二節點的心跳連接。


結合附圖從本發明各個方面的以下詳細描述中,本發明的這些以及其它特徵將變得更易理解,在附圖中圖1描述了根據本發明實施例的故障檢測過程的流程圖。
圖2描述了根據本發明實施例的包括故障檢測系統在內的示例性多節點系統。
圖3描述了根據本發明實施例的心跳方案。
圖4描述了用於實現本發明實施例的示例性計算機系統。
這些附圖只是示意性的表述,而非旨在描繪本發明的具體參數。附圖旨在僅僅描述本發明的典型實施例,並且因此不應該被認為限制本發明的範圍。在附圖中,同樣的標號表示同樣的單元。
具體實施例方式
一般來講,本發明提供一種提供使用最少帶寬的故障檢測的方法、系統以及電腦程式產品。具體來講,本發明降低了用於心跳目的所使用的帶寬量。代替如現有技術中那樣使用專用的心跳連接,本發明監控去向/來自給定節點的所有連接的活動。它跟蹤該節點的空閒時間,並且每當出現與該節點的通信時就重置該空閒時間。這樣的通信可以包括從該節點接收到數據或者數據成功發送到該節點,或者是與該節點的連接成功建立。只有當這個空閒時間達到一個(用戶配置的)級別時才開始心跳。在此時,為了心跳的目的而打開與該節點的新連接。通過假設該節點可以通過觀察在僅僅一個連接上的活動而被聲明為活動,本發明消除了連續心跳的需要(和成本)。通過對已創建的連接執行分析來確定過程關聯並相應地將連接進行歸組,心跳的規模可以從「逐個節點」變窄到「逐個過程」。
根據本發明實施例的故障檢測過程的流程圖10如圖1所示。將參考圖2中所述的示例性多節點系統20來描述該故障檢測過程。正如所示出的那樣,多節點系統20包括多個(本示例中為4個)節點節點A、節點B、節點C、節點D。節點D被示出為包括故障檢測系統22,儘管很顯然多節點系統20中的其它節點也可以包括類似的故障檢測系統22。一般來說,這樣的多節點系統將包括任意數量的節點以及節點之間任意數量的連接。
在步驟S1,兩個節點(或者過程,如果過程是所希望的粒度的話)之間的所有連接24與「LastReceipt」值和最大空閒值「MaxIdle」相關聯。此MaxIdle值表示在假定故障情形已經發生之前的最大時間間隔。該MaxIdle值可以被多節點系統10的用戶配置或者可以使用任何現在已知的或者以後開發的方法來確定。例如,在圖2中,LastReceipt值「02:58:30」和MaxIdle值「10s」與節點D和節點A之間的連接24相關聯。類似地,LastReceipt值「02:58:23」和MaxIdle值「5s」與節點D和節點B之間的連接24相關聯,而LastReceipt值「02:58:25」和MaxIdle值「15s」與節點D和節點C之間的連接24相關聯。任何時候只要通過位於節點D和其它節點之一之間的任何連接24成功接收或發送數據(步驟S2),或者是在節點D和其它節點之一之間成功創建新連接24(步驟S3),則在步驟S4中,與該節點相關聯的相應「LastReceipt」值被重置為當前時間28。例如在圖2中,在節點A和節點D之間已經建立了新的連接24(點線)。如此,與節點A相關聯的「LastReceipt」值已被重置為當前時間「02:58:30」28。
故障檢測系統22包括背景輪詢線程26,其周期性地運行並且檢查(步驟S5)所有LastReceipt值和當前時間28之間的差值。用於實現背景輪詢線程26的示例性代碼片斷例如可以包括while(true){for each node:
if(CurrentTime-node.LastReceipt>node.MaxIdle)
node.startHeartBeatpause;}如果由背景輪詢線程26確定的差值超過了給定節點的MaxIdle值,則在步驟S6打開與該節點的心跳連接並且在步驟S7啟動心跳過程。例如在圖2中,可以看到,對於節點B,LastReceipt值「02:58:23」和當前時間「02:58:23」28之間的差值(即,7s)大於節點B的MaxIdle時間(即,5s)。結果,在節點D和節點B之間打開心跳連接30並且由心跳系統32啟動心跳過程以便確定節點B的狀況。根據本發明可以使用任何適合的心跳過程。
示出本發明的故障檢測過程的示例性方案如圖3所述。在這個方案中有兩個節點節點A、節點B。
在時間T=0處創建從節點A到節點B的新連接24;節點A知道節點B處於活動狀態;在時間T=2處創建從節點B到節點A的新連接24;節點A知道節點B處於活動狀態;在時間T=4處通過連接24,數據(虛線)從節點A成功發送到節點B;節點A知道節點B處於活動狀態;在時間T=6處通過連接24,數據被節點A從節點B接收;節點A知道節點B處於活動狀態;在時間T=10處創建從節點B到節點A的新連接24;節點A知道節點B處於活動狀態;在時間T=12處通過連接24,數據從節點A成功發送到節點B,並且通過連接24,數據被節點A從節點B接收;節點A知道節點B處於活動狀態;在時間T=22處節點B的MaxIdle值10s被節點A的背景輪詢線程觀察到;打開從節點A到節點B的心跳連接30;在時間T=28處心跳從節點A成功發送到節點B;節點A知道節點B處於活動狀態;
在時間T=30處通過連接24,數據被節點A從節點B接收;節點A知道節點B處於活動狀態並且中斷心跳連接30。
從上述方案可以看出本發明的故障檢測過程不需要在節點之間使用專用的心跳連接來檢測故障。相對地,本發明的故障檢測過程只檢查在節點之間的現有連接上發生的活動來檢測故障。
通過在心跳連接30創建並運行後拉緊心跳之間的時間長度,還可以進一步節省帶寬。存在若干執行自適應心跳的已知方法。此類方法之一是監控節點用來確認心跳所需的時間量,並且把這些值的歷史記錄存檔。從這個存檔中,可以生成給定節點已經出故障的時間點概率。根據本發明,可以使用附加的被稱為maxHeartbeatBandwidth的配置參數,該參數限定了被心跳所使用的帶寬量。基於該參數,可以確定最大心跳頻率。最大心跳頻率(或較低頻率)可以被用作為初始自適應心跳間隔。然後,心跳頻率可以按照已知的方式來確定。
根據本發明實施例用於提供使用最少帶寬的故障檢測的計算機系統100如圖4所述。計算機100包括分布式系統中的多個節點101中的一個。計算機系統100被提供於計算機基礎設施102中。計算機系統100意在表示能夠執行本發明的講授的任何類型的計算機系統。例如,計算機系統100可以是膝上型計算機、臺式計算機、工作站、手持式設備、伺服器、計算機群等等。另外,正如將在下面進一步描述的那樣,計算機系統100可以由提供用於根據本發明提供使用最少帶寬的故障檢測的服務的服務供應商來部署和/或操作。應該理解用戶104可以直接訪問計算機系統100,或者可以操作通過網絡106(例如網際網路、廣域網(WAN)、區域網(LAN)、虛擬專用網(VPN)等等)與計算機系統100通信的計算機系統。在後一種情況下,在計算機系統100和用戶操作的計算機系統之間的通信可以經由各種類型的通信鏈路的任意組合而發生。例如,通信鏈路可以包括能夠利用有線和/或無線傳輸方法的任意組合的可尋址連接。當通信經由網際網路發生時,可以通過傳統的基於TCP/IP套接的協議來提供連接,並且網際網路服務供應商可以被用於建立對網際網路的連接。
計算機系統100被示出包括處理單元108、存儲器110、總線112和輸入/輸出(I/O)接口114。另外,計算機系統100被示出與外部設備/資源116以及一個或多個存儲系統118通信。一般來說,處理單元108執行存儲於存儲器110和/或一個或多個存儲系統118中的電腦程式代碼,例如故障檢測系統22。在執行電腦程式代碼的同時,處理單元108可以從存儲器110、一個或多個存儲系統118和/或I/O接口114中讀取數據和/或寫入數據到其中。總線112提供計算機系統100中的各個組件之間的通信鏈路。外部設備/資源116可以包括使用戶能夠與計算機系統100相交互的任何設備(例如,鍵盤、點擊設備、顯示器(例如顯示器120)、印表機等等),和/或使計算機系統100能夠與一個或多個其它計算設備通信的任何設備(例如網卡、數據機等等)。
計算機基礎設施102隻是示意說明了可被用於實現本發明的各種類型的計算機基礎設施。例如,在一實施例中,計算機基礎設施102可以包括通過網絡(例如網絡106)進行通信以便執行本發明的各個過程步驟的兩個或更多計算設備(例如伺服器群)。而且,計算機系統100隻表示可被用在本發明實踐中的多種類型的計算機系統,其中的每一個都可以包括硬體/軟體的多種組合。例如,處理單元108可以包括單個處理單元,或者可以被分布於一個或多個位置中的一個或多個處理單元中,例如在客戶機或伺服器上。類似地,存儲器110和/或一個或多個存儲系統118可以包括駐留於一個或多個物理位置上的各種類型的數據存儲和/或傳輸媒體的任意組合。另外,I/O接口114可以包括用於與一個或多個外部設備/資源116交換信息的任意系統。此外,應該理解,未在圖4中示出的一個或多個附加組件(例如系統軟體、通信系統、高速緩衝存儲器等等)可被包括在計算機系統100中。可是,如果計算機系統100包括手持式設備或類似物,則應該理解,一個或多個外部設備/資源116(例如顯示器)和/或一個或多個存儲系統118可被包含在計算機系統100之中,而非如圖所示出那樣是外部的。
一個或多個存儲系統118可以是能夠根據本發明提供信息存儲的任意類型的系統(例如資料庫)。此類信息例如可以包括LastReceipt值、MaxIdle值等等。在這個程度上說,一個或多個存儲系統118可以包括諸如磁碟驅動器或光碟驅動器之類的一個或多個存儲設備。在另一實施例中,一個或多個存儲系統118可以包括例如分布於區域網(LAN)、廣域網(WAN)或存儲區域網(SAN)(未示出)的數據。而且,雖然沒有示出,但是用戶104操作的計算機系統可以包含與在上面關於計算機系統100而描述的組件相類似的計算機化的組件。
在存儲器110中示出的(例如,作為電腦程式產品)是用於根據本發明實施例提供使用最少帶寬的故障檢測的故障檢測系統22。該故障檢測系統22包括關聯繫統130,用於把和其它節點101的連接與LastReceipt值和MaxIdle值相關聯;LastReceipt重置系統132,如果確定節點101處於活動狀態,則該系統132用於重置節點101的LastReceipt值;背景輪詢線程26,用於計算節點101的LastReceipt值和當前時間28之間的差值並且基於該差值確定MaxIdle違規;和心跳系統32,用於建立與節點101的心跳連接30並且用於執行與該節點的心跳過程(自適應或者非自適應)。
本發明可以被提供作為一種基於預訂或交費基礎上的商業方法。例如,本發明的一個或多個組件可以被向顧客提供在此所述功能的服務供應商來創建、維護、支持和/或部署。也就是說,服務供應商可以被用於提供如上所述提供使用最少帶寬的故障檢測的服務。
還應該理解本發明可以用硬體、軟體、傳播信號、或者它們的任意組合來實現。任何種類的計算機/伺服器系統(或者其它適於執行在此所述方法的裝置)都是適合的。硬體和軟體的典型組合可以包括具有下述電腦程式的通用計算機系統,其中,當該電腦程式被載入並執行時,它執行在此所述的各個方法。可選擇地,包含用於執行本發明一個或多個功能任務的專用硬體的專用計算機可以被利用。本發明還可以被嵌入電腦程式產品中或者傳播信號中,其包括使在此所述的方法得以實現的所有各個特徵,並且其在被載入計算機系統中時能夠執行這些方法。
本發明可以採用完全硬體實施例、完全軟體實施例、或者包含硬體和軟體單元的實施例的形式。在優選實施例中,本發明以軟體的形式被實現,其包括但是不局限於固件、常駐軟體、微代碼等等。
本發明可以採用從計算機可用或計算機可讀媒體中可訪問的電腦程式產品的形式,其中所述媒體提供了被計算機或任何指令執行系統所使用或與其結合使用的程序代碼。對於此說明書的目的,計算機可用或者計算機可讀媒體可以是能夠包含、存儲、通信、傳播或者傳輸被該指令執行系統、裝置或設備所使用或者與其結合使用的程序的任何裝置。
所述媒體可以是電子的、磁的、光的、電磁的、紅外的或者半導體系統(或裝置、或設備)、或者傳播媒體。計算機可讀媒體的示例包括半導體或固態存儲器、磁帶、可拆卸計算機磁碟、隨機存取存儲器(RAM)、只讀存儲器(ROM)、剛性磁碟和光碟。光碟的當前示例包括緻密盤-只讀盤(CD-ROM)、緻密盤-讀/寫盤(CD-R/W)以及數字通用光碟(DVD)。
在本上下文中的電腦程式、傳播信號、軟體程序、程序或者軟體意指以任意語言、代碼或符號形式的一組指令的任何表達法,所述指令意在使得具有信息處理能力的系統直接執行或者在如下一個或兩個步驟之後執行特定的功能,所述步驟為(a)轉換為另一種語言、代碼或符號;和/或(b)以另一種物質的形式再現。
已經出於說明和描述的目的呈現了本發明的優選實施例的前述說明。其不是窮盡性的或者把本發明限制為所公開的精確形式,並且很顯然,許多修改和變型是可能的。對本領域技術人員來說顯而易見的是,這些修改和變型意在被包括在由權利要求所限定的本發明的範圍之內。
權利要求
1.一種在多節點系統中進行故障檢測的方法,包括把第一節點和第二節點之間的所有連接與最後接收值和最大空閒值相關聯;計算所述最後接收值和當前時間之間的差值;以及如果所述最後接收值和所述當前時間之間的差值超過最大空閒值,則建立從第一節點到第二節點的心跳連接。
2.根據權利要求1所述的方法,還包括在所述心跳連接上啟動心跳過程以便確定第二節點的狀況。
3.根據權利要求1所述的方法,還包括當第一節點和第二節點之間發生通信時重置所述最後接收值。
4.根據權利要求3所述的方法,其中所述通信包括數據從第二節點被接收或者被成功發送到第二節點。
5.根據權利要求3所述的方法,其中所述通信包括成功建立與第二節點的連接。
6.一種在多節點系統中進行故障檢測的系統,包括用於把第一節點和第二節點之間的所有連接與最後接收值和最大空閒值相關聯的系統;用於計算所述最後接收值和當前時間之間的差值的系統;以及用於如果所述最後接收值和所述當前時間之間的差值超過最大空閒值,則建立從第一節點到第二節點的心跳連接的系統。
7.根據權利要求6所述的系統,還包括用於在所述心跳連接上啟動心跳過程以便確定第二節點的狀況的系統。
8.根據權利要求6所述的系統,還包括用於當第一節點和第二節點之間發生通信時重置所述最後接收值的系統。
9.根據權利要求8所述的系統,其中所述通信包括數據從第二節點被接收或者被成功發送到第二節點。
10.根據權利要求8所述的系統,其中所述通信包括成功建立與第二節點的連接。
11.部署用於在多節點系統中進行故障檢測的應用,包括提供可操作來執行權利要求1的方法的計算機基礎設施。
全文摘要
本發明提供一種使用最少帶寬的故障檢測的方法、系統以及電腦程式產品。根據本發明實施例在多節點系統中進行故障檢測的方法包括如下步驟把第一節點和第二節點之間的所有連接與最後接收值和最大空閒值相關聯;計算所述最後接收值和當前時間之間的差值;並且如果所述最後接收值和所述當前時間之間的差值超過最大空閒值,則建立從第一節點到第二節點的心跳連接。然後在所述心跳連接上啟動心跳過程以便確定第二節點的狀況。
文檔編號H04B17/00GK101013971SQ20061014226
公開日2007年8月8日 申請日期2006年10月11日 優先權日2005年10月13日
發明者M·E·哈伯肯, B·C·瓦肖, T·R·吉塞爾, G·A·科莫 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀