亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種雙控系統(tǒng)中利用串口備份心跳通道的方法

文檔序號(hào):9667070閱讀:816來(lái)源:國(guó)知局
一種雙控系統(tǒng)中利用串口備份心跳通道的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)存儲(chǔ)技術(shù)領(lǐng)域,特別是涉及一種雙控系統(tǒng)中利用串口備份心跳通道的方法。
【背景技術(shù)】
[0002]目前,存儲(chǔ)區(qū)域網(wǎng)絡(luò)(StorageArea Network and SAN Protocols,簡(jiǎn)寫 SAN,即存儲(chǔ)區(qū)域網(wǎng)絡(luò)及其協(xié)議)是一種高速網(wǎng)絡(luò)或子網(wǎng)絡(luò),提供在計(jì)算機(jī)與存儲(chǔ)系統(tǒng)之間的數(shù)據(jù)傳輸。存儲(chǔ)設(shè)備是指一臺(tái)或多臺(tái)用以存儲(chǔ)計(jì)算機(jī)數(shù)據(jù)的磁盤設(shè)備,通常指磁盤陣列。
[0003]現(xiàn)有的磁盤陣列通常包括兩個(gè)或多個(gè)控制器,俗稱雙控或多控。雙控系統(tǒng)即含有兩個(gè)控制器,磁盤陣列作為儲(chǔ)存數(shù)據(jù)的設(shè)備,其數(shù)據(jù)安全性和完整性是必須得到保障的。因此,現(xiàn)有的磁盤陣列在高可用性上都做了大量的工作,以此來(lái)保障業(yè)務(wù)的連續(xù)性和數(shù)據(jù)的安全性。
[0004]在雙控或多控磁盤陣列中,通常都會(huì)在控制器之間有數(shù)據(jù)鏈路和心跳鏈路,數(shù)據(jù)鏈路和心跳鏈路可以獨(dú)立,也可以共用。磁盤陣列來(lái)說(shuō),如果心跳鏈路發(fā)生故障導(dǎo)致腦裂,雙控系統(tǒng)中的兩個(gè)控制器都接管所有的資源和業(yè)務(wù),導(dǎo)致數(shù)據(jù)不一致,降低磁盤陣列業(yè)務(wù)連續(xù)性、數(shù)據(jù)安全性和數(shù)據(jù)一致性。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的是提供一種雙控系統(tǒng)中利用串口備份心跳通道的方法,以實(shí)現(xiàn)保持?jǐn)?shù)據(jù)一致性,提高磁盤陣列業(yè)務(wù)連續(xù)性、數(shù)據(jù)安全性和數(shù)據(jù)一致性。
[0006]為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種雙控系統(tǒng)中利用串口備份心跳通道的方法,該方法包括:
[0007]當(dāng)數(shù)據(jù)鏈路發(fā)生故障后,第一控制器通過(guò)串口向第二控制器發(fā)送通信包數(shù)據(jù);
[0008]所述第二控制器接收所述通信包數(shù)據(jù),對(duì)所述通信包數(shù)據(jù)進(jìn)行解析得到所述通信包數(shù)據(jù)的包信息;
[0009]所述第二控制器通過(guò)所述包信息檢測(cè)所述第一控制器和所述第二控制器之間的心跳鏈路是否正常;若否,向所述第一控制器發(fā)送表明心跳鏈路失效的第一響應(yīng)信息;
[0010]所述第一控制器接收所述第一響應(yīng)信息,依據(jù)所述第一響應(yīng)信息確定所述第一控制器和所述第二控制器之間發(fā)生腦裂現(xiàn)象;
[0011]所述第一控制器接管所述第二控制器的資源和服務(wù)。
[0012]優(yōu)選的,所述第一控制器接管所述第二控制器的資源和服務(wù)之后,包括:所述第一控制器硬復(fù)位所述第二控制器。
[0013]優(yōu)選的,若所述第二控制器通過(guò)所述包信息檢測(cè)所述第一控制器和所述第二控制器之間的心跳鏈路為正常,所述第二控制器向所述第一控制器發(fā)送表明心跳鏈路正常的第二響應(yīng)信息。
[0014]優(yōu)選的,所述第二控制器向所述第一控制器發(fā)送表明心跳鏈路正常的第二響應(yīng)信息之后,所述第一控制器接收所述第二響應(yīng)信息,確定所述第一控制器和所述第二控制器之間心跳鏈路正常,不做任何處理。
[0015]優(yōu)選的,若所述第一控制器在預(yù)設(shè)時(shí)間內(nèi)沒(méi)有接收到所述第二控制器的響應(yīng)信息,所述第一控制器確定所述第一控制器和所述第二控制器之間未發(fā)生腦裂現(xiàn)象,確定第二控制器發(fā)生宕機(jī)故障。
[0016]優(yōu)選的,所述第一控制器確定第二控制器發(fā)生宕機(jī)故障之后,所述第一控制器接管所述第二控制器的資源和服務(wù)。
[0017]優(yōu)選的,所述通信包的格式包括包頭、具體包信息和結(jié)束符。
[0018]優(yōu)選的,所述第一控制器通過(guò)串口向第二控制器發(fā)送通信包數(shù)據(jù)之前,還包括:
[0019]利用第一控制器和第二控制器之間的串口建立串口通信協(xié)議,用于在第一控制器和第二控制器之間進(jìn)行通信,形成通信通道。
[0020]本發(fā)明所提供的一種雙控系統(tǒng)中利用串口備份心跳通道的方法,當(dāng)數(shù)據(jù)鏈路發(fā)生故障后,第一控制器通過(guò)串口向第二控制器發(fā)送通信包數(shù)據(jù);第二控制器接收通信包數(shù)據(jù),對(duì)通信包數(shù)據(jù)進(jìn)行解析得到通信包數(shù)據(jù)的包信息;第二控制器通過(guò)包信息檢測(cè)第一控制器和第二控制器之間的心跳鏈路是否正常;若否,向第一控制器發(fā)送表明心跳鏈路失效的第一響應(yīng)信息;第一控制器接收第一響應(yīng)信息,依據(jù)第一響應(yīng)信息確定第一控制器和第二控制器之間發(fā)生腦裂現(xiàn)象;第一控制器接管第二控制器的資源和服務(wù)。
[0021]可見(jiàn),該方法在數(shù)據(jù)鏈路和心跳鏈路共用的雙控系統(tǒng)中,當(dāng)數(shù)據(jù)鏈路發(fā)生故障后,可通過(guò)控制器的串口來(lái)建立新的通信通道,將通信通道作為新的心跳鏈路通道,利用串口來(lái)檢測(cè)是否是發(fā)生腦裂,即在現(xiàn)有的心跳鏈路的基礎(chǔ)上,增加了一條串口形式的心跳鏈路通道,增加了串口心跳鏈路通道作為備份,在利用串口通道確定第一控制器和第二控制器之間發(fā)生腦裂現(xiàn)象后,由第一控制器接管第二控制器的資源和服務(wù),這樣避免了雙控系統(tǒng)中兩個(gè)控制器都接管所有的資源和服務(wù)而導(dǎo)致數(shù)據(jù)不一致問(wèn)題,實(shí)現(xiàn)保持?jǐn)?shù)據(jù)一致性,提高磁盤陣列業(yè)務(wù)連續(xù)性、數(shù)據(jù)安全性和數(shù)據(jù)一致性。
【附圖說(shuō)明】
[0022]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0023]圖1為本發(fā)明所提供一種雙控系統(tǒng)中利用串口備份心跳通道的方法的流程圖。
【具體實(shí)施方式】
[0024]本發(fā)明的核心是提供一種雙控系統(tǒng)中利用串口備份心跳通道的方法,以實(shí)現(xiàn)保持?jǐn)?shù)據(jù)一致性,提高磁盤陣列業(yè)務(wù)連續(xù)性、數(shù)據(jù)安全性和數(shù)據(jù)一致性。
[0025]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0026]請(qǐng)參考圖1,圖1為本發(fā)明所提供一種雙控系統(tǒng)中利用串口備份心跳通道的方法的流程圖,該方法包括:
[0027]Sll:當(dāng)數(shù)據(jù)鏈路發(fā)生故障后,第一控制器通過(guò)串口向第二控制器發(fā)送通信包數(shù)據(jù);
[0028]其中,通信包的格式包括包頭、具體包信息和結(jié)束符。
[0029]其中,第一控制器通過(guò)串口向第二控制器發(fā)送通信包數(shù)據(jù)之前,利用第一控制器和第二控制器之間的串口建立串口通信協(xié)議,用于在第一控制器和第二控制器之間進(jìn)行通
?目O
[0030]S12:第二控制器接收通信包數(shù)據(jù),對(duì)通信包數(shù)據(jù)進(jìn)行解析得到通信包數(shù)據(jù)的包信息;
[0031]S13:第二控制器通過(guò)包信息檢測(cè)第一控制器和第二控制器之間的心跳鏈路是否正常;若否,向第一控制器發(fā)送表明心跳鏈路失效的第一響應(yīng)信息;
[0032]其中,若第二控制器通過(guò)包信息檢測(cè)第一控制器和第二控制器之間的心跳鏈路為正常,第二控制器向第一控制器發(fā)送表明心跳鏈路正常的第二響應(yīng)信息。第二控制器向第一控制器發(fā)送表明心跳鏈路正常的第二響應(yīng)信息之后,第一控制器接收第二響應(yīng)信息,確定第一控制器和第二控制器之間心跳鏈路正常,不做任何處理。
[0033]其中,若第一控制器在預(yù)設(shè)時(shí)間內(nèi)沒(méi)有接收到第二控制器的響應(yīng)信息,第一控制器確定第一控制器和第二控制器之間未發(fā)生腦裂現(xiàn)象,確定第二控制器發(fā)生宕機(jī)故障。第一控制器確定第二控制器發(fā)生宕機(jī)故障之后,第一控制器接管第二控制器的資源和服務(wù)。
[0034]S14:第一控制器接收第一響應(yīng)信息,依據(jù)第一響應(yīng)信息確定第一控制器和第二控制器之間發(fā)生腦裂現(xiàn)象;
[0035]S15:第一控制器接管第二控制器的資源和服務(wù)。
[0036]其中,第一控制器接管第二控制器的資源和服務(wù)之后,第一控制器硬復(fù)位第二控制器。
[0037]以上方法,在數(shù)據(jù)鏈路和心跳鏈路共用的雙控系統(tǒng)中,當(dāng)數(shù)據(jù)鏈路發(fā)生故障后,可通過(guò)控制器的串口來(lái)建立新的通信通道,將通信通道作為新的心跳鏈路通道,利用串口來(lái)檢測(cè)是否是發(fā)生腦裂,即在現(xiàn)有的心跳鏈路的基礎(chǔ)上,增加了一條串口形式的心跳鏈路通道,增加了串口心跳鏈路通道作為備份,在利用串口通道確定第一控制器和第二控制器之間發(fā)生腦裂現(xiàn)象后,由第一控制器接管第二控制器的資源和服務(wù),這樣避免了雙控系統(tǒng)中兩個(gè)控制器都接管所有的資源和服務(wù)而導(dǎo)致數(shù)據(jù)不一致問(wèn)題,實(shí)現(xiàn)保持?jǐn)?shù)據(jù)一致性,提高磁盤陣列業(yè)務(wù)連續(xù)性、數(shù)據(jù)安全性和數(shù)據(jù)一致性。
[0038]現(xiàn)有的磁盤陣列,特別是雙控或多控,其模式主要包括Active-Active、Active-Passive, ALUA,不管是哪種模式,在發(fā)生心跳鏈路故障后,均會(huì)發(fā)生腦裂,而導(dǎo)致整個(gè)磁盤陣列進(jìn)入一種異常狀態(tài),嚴(yán)重影響到數(shù)據(jù)安全性和數(shù)據(jù)一致性。本發(fā)明在原心跳鏈路的基礎(chǔ)上,增加了串口心跳鏈路通道作為備份,提高了磁盤陣列的高可用性,以及數(shù)據(jù)安全性。
[0039]具體的,本發(fā)明提供的一種雙控系統(tǒng)中利用串口備份心跳通道的方法,用于數(shù)據(jù)鏈路和心跳鏈路共用的磁盤陣列中,磁盤陣列即為雙控系統(tǒng),包括兩個(gè)控制器。具體的,該方法包括實(shí)現(xiàn)一種定制化的串口通信協(xié)議,用于在控制器之間進(jìn)行通信;包括收包解析模塊,用于接收和解析包信息;包括包處理模塊,用于根據(jù)解析的包信息對(duì)系統(tǒng)做相應(yīng)處理;包括發(fā)送模塊,用于發(fā)送包信息;包括一定時(shí)器,用于定時(shí)檢測(cè)串口鏈路狀態(tài);包括一全局鎖機(jī)制,用于處理并發(fā)發(fā)送串口信息問(wèn)題;包括故障診斷處理模塊,用于在數(shù)據(jù)鏈路和心跳鏈路失效后,對(duì)故障
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1