一種支持自動故障切換的文件共享方法
【技術(shù)領域】
[0001]本發(fā)明涉及通信技術(shù)領域,特別是涉及一種支持自動故障切換的文件共享方法。
【背景技術(shù)】
[0002]目前,在通常的文件共享服務環(huán)境中,為了保證共享服務的高可用性,通常對文件共享服務采用主、備雙機的方式,主、備機之間通過心跳線彼此檢測對方的狀態(tài),且通過掛接SAN磁盤陣列的方式主、備機訪問后端相同的磁盤空間。正常情況下由主服務器提供對外的共享目錄空間,客戶端通過連接到主服務器的方式訪問共享,當主服務器發(fā)生宕機等故障不能提供對外服務時,備份服務器通過心跳線檢測到異常狀態(tài)。
[0003]由于主服務器故障,客戶端到主服務器的文件共享會話超時后,客戶端才能發(fā)現(xiàn)原會話連結(jié)的異常,將會話重定向到備份服務器,由于這種被動發(fā)現(xiàn)會話超時所經(jīng)歷的時間較長,會導致上層依賴于文件共享的應用異常。因此文件共享服務的切換流程所需時間太長,速度太慢,影響工作效率。
[0004]由于原會話的信息通常保存在主服務器的內(nèi)存中,當主服務器宕機后,這些會話記錄信息會一并丟失。盡管后續(xù)客戶端將共享連接重定向到備份服務器,但是備份端由于無原始會話記錄,會將此連接作為全新會話來對待,不能保證原文件共享會話的一致性,從而導致上層依賴于文件共享服務的應用異常。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種支持自動故障切換的文件共享方法,以實現(xiàn)加快文件共享服務的切換流程,提高工作效率。
[0006]為解決上述技術(shù)問題,本發(fā)明提供一種支持自動故障切換的文件共享方法,該方法包括:
[0007]客戶端與主服務器建立文件共享連接,當主服務器發(fā)生宕機時,主服務器和備份服務器之間的心跳線路出現(xiàn)異常;
[0008]所述備份服務器檢測到心跳線路出現(xiàn)異常,確定所述主服務器無法提供正常的文件共孚服務;
[0009]所述備份服務器向客戶端發(fā)送故障通知;
[0010]所述客戶端接收所述故障通知,將原有的文件共享連接重新定向到所述備份服務器;
[0011]所述客戶端與所述備份服務器建立文件共享連接;
[0012]其中,所述主服務器和備份服務器之間通過心跳線路相連,所述主服務器和備份服務器均與后端共享磁盤相連。
[0013]優(yōu)選的,所述客戶端與主服務器之間建立文件共享連接之后,還包括:
[0014]主服務器將客戶端與主服務器之間的會話信息作為持久句柄信息記錄到后端共享磁盤中。
[0015]優(yōu)選的,所述持久句柄信息為共享會話的唯一標識信息。
[0016]優(yōu)選的,所述客戶端接收所述故障通知,將原有的文件共享連接重新定向到所述備份服務器之后,還包括:
[0017]所述備份服務器從后端共享磁盤中讀取持久句柄信息,利用持久句柄信息恢復客戶端的會話連接狀態(tài)。
[0018]優(yōu)選的,所述客戶端與主服務器之間建立文件共享連接之后,還包括:
[0019]所述客戶端將已經(jīng)打開的文件列表信息、讀寫信息和文件加鎖信息記錄到后端共享磁盤中。
[0020]優(yōu)選的,所述客戶端與主服務器建立文件共享連接之后,還包括:
[0021]所述客戶端查詢主服務器及備份服務器的網(wǎng)絡地址列表;
[0022]所述客戶端查詢主服務器及備份服務器的網(wǎng)絡端口狀態(tài)。
[0023]優(yōu)選的,所述備份服務器向客戶端發(fā)送故障通知,包括:
[0024]所述備份服務器記錄客戶端的網(wǎng)絡地址和ID編號生成客戶端的注冊信息,根據(jù)所述注冊信息向客戶端發(fā)送故障通知。
[0025]優(yōu)選的,所述備份服務器向客戶端發(fā)送故障通知之前,還包括:
[0026]所述客戶端通過定時向所述備份服務器發(fā)送心跳數(shù)據(jù)包來判斷傳輸故障通知的鏈路是否通暢。
[0027]本發(fā)明所提供的一種支持自動故障切換的文件共享方法,客戶端與主服務器建立文件共享連接,當主服務器發(fā)生宕機時,主服務器和備份服務器之間的心跳線路出現(xiàn)異常;所述備份服務器檢測到心跳線路出現(xiàn)異常,確定所述主服務器無法提供正常的文件共享服務;所述備份服務器向客戶端發(fā)送故障通知;所述客戶端接收所述故障通知,將原有的文件共享連接重新定向到所述備份服務器;所述客戶端與所述備份服務器建立文件共享連接;其中,所述主服務器和備份服務器之間通過心跳線路相連,所述主服務器和備份服務器均與后端共享磁盤相連??梢?,當主服務器發(fā)生宕機時,備份服務器檢測到異常,并向客戶端發(fā)送故障通知,通過向客戶端主動通知的方式告知主服務器異常,從而客戶端將共享連接定向到備份服務器,而不必等待原共享會話發(fā)生超時才發(fā)現(xiàn)服務異常,從而加快了共享連接的切換速度,避免上層對響應超時時間敏感的應用異常,所以實現(xiàn)加快文件共享服務的切換流程,提高工作效率。
【附圖說明】
[0028]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0029]圖1為本發(fā)明所提供的一種支持自動故障切換的文件共享方法的流程圖。
【具體實施方式】
[0030]本發(fā)明的核心是提供一種支持自動故障切換的文件共享方法,以實現(xiàn)加快文件共享服務的切換流程,提高工作效率。
[0031]為了使本技術(shù)領域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0032]請參考圖1,圖1為本發(fā)明所提供的一種支持自動故障切換的文件共享方法的流程圖,該方法包括:
[0033]S11:客戶端與主服務器建立文件共享連接,當主服務器發(fā)生宕機時,主服務器和備份服務器之間的心跳線路出現(xiàn)異常;
[0034]其中,客戶端與主服務器之間建立文件共享連接之后,主服務器將客戶端與主服務器之間的會話信息作為持久句柄信息記錄到后端共享磁盤中。持久句柄信息為共享會話的唯一標識信息。
[0035]其中,主服務器和備份服務器之間通過心跳線路相連,主服務器和備份服務器均與后端共享磁盤相連。
[0036]S12:備份服務器檢測到心跳線路出現(xiàn)異常,確定主服務器無法提供正常的文件共早服務;
[0037]S13:備份服務器向客戶端發(fā)送故障通知;
[0038]其中,備份服務器記錄客戶端的網(wǎng)絡地址和ID編號生成客戶端的注冊信息,根據(jù)注冊信息向客戶端發(fā)送故障通知。
[0039]在主服務器發(fā)生故障時,備份服務器向客戶端發(fā)送故障通知,即備份服務器通過主動通知的方式告知客戶端,使客戶端將文件共享連接重新定向到備份服務器,以維持原共享連接會話的持續(xù)可用性。
[0040]S14:客戶端接收故障通知,將原有的文件共享連接重新定向到備份服務器;
[0041]其中,客戶端接收故障通知,將原有的文件共享連接重新定向到備份服務器之后,備份服務器從后端共享磁盤中讀取持久句柄信息,利用持久句柄信息恢復客戶端的會話連接狀態(tài)。
[0042]客戶端在連接到主服務器時,將會話句柄持久的寫入后端共享磁盤,而不是存放字內(nèi)存中,在發(fā)生服務切換后,備份服務器從磁盤中讀取持久句柄信息,用于識別原有的文件共享會話連接,當客戶端將共享連接定向到備份端時可以維持原會話連接的一致性。
[0043]S15:客戶端與備份服務器建立文件共享連接;
[0044]可選的,客戶端與主服務器之間建立文件共享連接之后,客戶端將已經(jīng)打開的文件列表信息、讀寫信息和文件加鎖信息記錄到后端共享磁盤中。
[0045]客戶端與主服務器建立文件共享連接之后,客戶端還能夠查詢主服務器及備份服務器的網(wǎng)絡地址列表,客戶端查詢主服務器及備份服務器的網(wǎng)絡端口狀態(tài)。
[0046]其中,備份服務器向客戶端發(fā)送故障