通知之前,客戶端通過定時向備份服務(wù)器發(fā)送心跳數(shù)據(jù)包來判斷傳輸故障通知的鏈路是否通暢。
[0047]具體的,當(dāng)主服務(wù)器發(fā)生宕機(jī)時,備份服務(wù)器檢測到異常,并向客戶端發(fā)送故障通知,通過向客戶端主動通知的方式告知主服務(wù)器異常,從而客戶端將共享連接定向到備份服務(wù)器,而不必等待原共享會話發(fā)生超時才發(fā)現(xiàn)服務(wù)異常,從而加快了共享連接的切換速度,避免上層對響應(yīng)超時時間敏感的應(yīng)用異常,所以實現(xiàn)加快文件共享服務(wù)的切換流程,提高工作效率。
[0048]另外,為了識別客戶端重定向到備份服務(wù)器的會話是原會話,而不是作為新建會話來對待,當(dāng)客戶端連接到主服務(wù)器時,服務(wù)器將會話標(biāo)識信息作為持久句柄信息寫入后端的共享磁盤,此共享磁盤可以為后端SAN陣列的磁盤空間,主、備服務(wù)器均可以訪問。當(dāng)備份服務(wù)器接管主服務(wù)器共享業(yè)務(wù)后,會讀取后端共享磁盤的持久句柄信息,當(dāng)客戶端將連接重定向到備份服務(wù)器后,備份服務(wù)器通過查詢持久句柄信息識別到這是一個重連會話,從而不作為一個新建會話處理,維持原共享連接會話的持續(xù)可用性,避免新建會話導(dǎo)致上層應(yīng)用的異常。
[0049]現(xiàn)有技術(shù)中,會話信息記錄在主服務(wù)器的內(nèi)存中,當(dāng)主服務(wù)器發(fā)生宕機(jī)時會話信息丟失,客戶端連接到備份服務(wù)器時,會作為新的會話對待,從而造成客戶端上某些業(yè)務(wù)應(yīng)用中斷等異常。
[0050]而該方法將客戶端到服務(wù)器的會話信息作為持久句柄信息記錄到后端的共享磁盤,持久句柄信息作為共享會話的唯一標(biāo)識信息,另外還將客戶端已經(jīng)打開的文件列表、讀寫位置、文件加鎖等信息記入后端共享磁盤。當(dāng)備份服務(wù)器從后端共享磁盤讀取持久句柄信息后,會重新恢復(fù)客戶端的會話連接狀態(tài),客戶端將共享連接重定向到備份服務(wù)器的過程會被識別為一個恢復(fù)會話,而不被作為一個新會話處理。因此,將主服務(wù)器的會話記錄信息通知到備份服務(wù)器,作用是保證在共享間接切換過程中,維持原共享連接會話的持續(xù)可用性,不影響客戶端上依賴于共享服務(wù)的業(yè)務(wù)應(yīng)用,即通過在磁盤上存儲持久句柄信息的方式保證原共享會話的持續(xù)性。
[0051]具體的,為支持主服務(wù)器故障時,備份服務(wù)器向客戶端主動通知的功能,即發(fā)送故障通知,需要實現(xiàn)以下幾種操作:
[0052](1)獲取可用網(wǎng)絡(luò)接口列表;
[0053]此操作由客戶端向主服務(wù)器發(fā)起,查詢主服務(wù)器及備份服務(wù)器可用網(wǎng)絡(luò)地址列表,以及網(wǎng)絡(luò)端口的可用狀態(tài)等,用于在主服務(wù)器發(fā)生故障時,將連接地址切換到備份服務(wù)器。
[0054](2)注冊故障通知服務(wù);
[0055]此操作由客戶端向備份服務(wù)器發(fā)起,備份服務(wù)器通過記錄客戶端網(wǎng)絡(luò)地址、Id編號等,在主服務(wù)器異常時根據(jù)注冊信息向客戶端端通知。
[0056]客戶端完成向備份服務(wù)器的注冊后,進(jìn)入監(jiān)聽狀態(tài),等待備份服務(wù)器發(fā)送的異常通知信息,為檢測此連接的異常狀態(tài),客戶端和服務(wù)器之間可以定時發(fā)生心跳數(shù)據(jù)包用于判斷通知鏈路是否暢通。
[0057](3)發(fā)送異步故障通知消息。
[0058]此操作由備份服務(wù)器向客戶端發(fā)起,當(dāng)主文件服務(wù)器和備份文件服務(wù)器之間的心跳鏈接出現(xiàn)異常時,備份服務(wù)器判斷到主服務(wù)器無法提供正常的文件共享服務(wù),則向客戶端發(fā)送故障通知異步消息,即故障通知,客戶端收到故障通知后,將原有的文件共享連接重定向到備份服務(wù)器,而不需要等待原共享連接訪問超時,從而加快了共享連接的故障切換速度。
[0059]本發(fā)明所提供的一種支持自動故障切換的文件共享方法,客戶端與主服務(wù)器建立文件共享連接;當(dāng)主服務(wù)器發(fā)生宕機(jī)時,主服務(wù)器和備份服務(wù)器之間的心跳線路出現(xiàn)異常;備份服務(wù)器檢測到心跳線路出現(xiàn)異常,確定主服務(wù)器無法提供正常的文件共享服務(wù);備份服務(wù)器向客戶端發(fā)送故障通知;客戶端接收故障通知,將原有的文件共享連接重新定向到備份服務(wù)器;客戶端與備份服務(wù)器建立文件共享連接;其中,主服務(wù)器和備份服務(wù)器之間通過心跳線路相連,主服務(wù)器和備份服務(wù)器均與后端共享磁盤相連??梢?,當(dāng)主服務(wù)器發(fā)生宕機(jī)時,備份服務(wù)器檢測到異常,并向客戶端發(fā)送故障通知,通過向客戶端主動通知的方式告知主服務(wù)器異常,從而客戶端將共享連接定向到備份服務(wù)器,而不必等待原共享會話發(fā)生超時才發(fā)現(xiàn)服務(wù)異常,從而加快了共享連接的切換速度,避免上層對響應(yīng)超時時間敏感的應(yīng)用異常,所以實現(xiàn)加快文件共享服務(wù)的切換流程,提高工作效率。
[0060]并且,該方法將客戶端到服務(wù)器的會話信息作為持久句柄信息記錄到后端的共享磁盤,持久句柄信息作為共享會話的唯一標(biāo)識信息,當(dāng)備份服務(wù)器從后端共享磁盤讀取持久句柄信息后,會重新恢復(fù)客戶端的會話連接狀態(tài),客戶端將共享連接重定向到備份服務(wù)器的過程會被識別為一個恢復(fù)會話,而不被作為一個新會話處理,維持原共享連接會話的持續(xù)可用性,避免新建會話導(dǎo)致上層應(yīng)用的異常。
[0061]以上對本發(fā)明所提供的一種支持自動故障切換的文件共享方法進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。
【主權(quán)項】
1.一種支持自動故障切換的文件共享方法,其特征在于,包括: 客戶端與主服務(wù)器建立文件共享連接,當(dāng)主服務(wù)器發(fā)生宕機(jī)時,主服務(wù)器和備份服務(wù)器之間的心跳線路出現(xiàn)異常; 所述備份服務(wù)器檢測到心跳線路出現(xiàn)異常,確定所述主服務(wù)器無法提供正常的文件共早服務(wù); 所述備份服務(wù)器向客戶端發(fā)送故障通知; 所述客戶端接收所述故障通知,將原有的文件共享連接重新定向到所述備份服務(wù)器; 所述客戶端與所述備份服務(wù)器建立文件共享連接; 其中,所述主服務(wù)器和備份服務(wù)器之間通過心跳線路相連,所述主服務(wù)器和備份服務(wù)器均與后端共享磁盤相連。2.如權(quán)利要求1所述的方法,其特征在于,所述客戶端與主服務(wù)器之間建立文件共享連接之后,還包括: 主服務(wù)器將客戶端與主服務(wù)器之間的會話信息作為持久句柄信息記錄到后端共享磁盤中。3.如權(quán)利要求2所述的方法,其特征在于,所述持久句柄信息為共享會話的唯一標(biāo)識?目息。4.如權(quán)利要求2所述的方法,其特征在于,所述客戶端接收所述故障通知,將原有的文件共享連接重新定向到所述備份服務(wù)器之后,還包括: 所述備份服務(wù)器從后端共享磁盤中讀取持久句柄信息,利用持久句柄信息恢復(fù)客戶端的會話連接狀態(tài)。5.如權(quán)利要求1所述的方法,其特征在于,所述客戶端與主服務(wù)器之間建立文件共享連接之后,還包括: 所述客戶端將已經(jīng)打開的文件列表信息、讀寫信息和文件加鎖信息記錄到后端共享磁盤中。6.如權(quán)利要求1所述的方法,其特征在于,所述客戶端與主服務(wù)器建立文件共享連接之后,還包括: 所述客戶端查詢主服務(wù)器及備份服務(wù)器的網(wǎng)絡(luò)地址列表; 所述客戶端查詢主服務(wù)器及備份服務(wù)器的網(wǎng)絡(luò)端口狀態(tài)。7.如權(quán)利要求1至6中任意一項所述的方法,其特征在于,所述備份服務(wù)器向客戶端發(fā)送故障通知,包括: 所述備份服務(wù)器記錄客戶端的網(wǎng)絡(luò)地址和ID編號生成客戶端的注冊信息,根據(jù)所述注冊信息向客戶端發(fā)送故障通知。8.如權(quán)利要求1至6中任意一項所述的方法,其特征在于,所述備份服務(wù)器向客戶端發(fā)送故障通知之前,還包括: 所述客戶端通過定時向所述備份服務(wù)器發(fā)送心跳數(shù)據(jù)包來判斷傳輸故障通知的鏈路是否通暢。
【專利摘要】本發(fā)明公開了一種支持自動故障切換的文件共享方法,該方法包括:客戶端與主服務(wù)器建立文件共享連接,當(dāng)主服務(wù)器發(fā)生宕機(jī)時,主服務(wù)器和備份服務(wù)器之間的心跳線路出現(xiàn)異常;所述備份服務(wù)器檢測到心跳線路出現(xiàn)異常,確定所述主服務(wù)器無法提供正常的文件共享服務(wù);所述備份服務(wù)器向客戶端發(fā)送故障通知;所述客戶端接收所述故障通知,將原有的文件共享連接重新定向到所述備份服務(wù)器;所述客戶端與所述備份服務(wù)器建立文件共享連接。該方法實現(xiàn)加快文件共享服務(wù)的切換流程,提高工作效率。
【IPC分類】H04L12/24, H04L29/08
【公開號】CN105337762
【申請?zhí)枴緾N201510627266
【發(fā)明人】張會健
【申請人】浪潮(北京)電子信息產(chǎn)業(yè)有限公司
【公開日】2016年2月17日
【申請日】2015年9月28日