一種雙控設(shè)備的單雙控切換方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及自動(dòng)控制技術(shù)領(lǐng)域,具體涉及一種雙控設(shè)備的單雙控切換方法及裝 置。
【背景技術(shù)】
[0002] 磁盤陣列是由陣列控制器來控制多個(gè)硬盤的互相連接,把多個(gè)獨(dú)立的硬盤按不同 的方式組合起來形成一個(gè)硬盤組,從而提供比單個(gè)硬盤更高的存儲性能和提供數(shù)據(jù)備份技 術(shù)。由兩個(gè)控制器來控制的設(shè)備即為雙控設(shè)備。
[0003] 目前,雙控設(shè)備中并沒有專門的狀態(tài)管理模塊,只是在業(yè)務(wù)邏輯中嵌套了協(xié)商的 功能。比如在某些雙控設(shè)備中存在一個(gè)通信模塊,其業(yè)務(wù)邏輯在該通信模塊的基礎(chǔ)上進(jìn)行 封裝和判斷,并沒有明確定義雙空設(shè)備的各種狀態(tài)。
[0004] 因此,現(xiàn)有雙控設(shè)備中并沒有專門的狀態(tài)管理模塊,且通過業(yè)務(wù)邏輯嵌套協(xié)商功 能使得程序比較復(fù)雜,不易移植,且不夠穩(wěn)定。
【發(fā)明內(nèi)容】
[0005] 針對現(xiàn)有技術(shù)的缺陷,本發(fā)明提供一種雙控設(shè)備的單雙控切換方法及裝置,通過 將雙控設(shè)備的狀態(tài)分為多個(gè)階段的狀態(tài),并將切換過程按順序的隊(duì)列執(zhí)行,簡化了程序的 復(fù)雜性,使其更容易移植,也更加穩(wěn)定。
[0006] 第一方面,本發(fā)明提供了一種雙控設(shè)備的單雙控切換方法,所述方法包括:
[0007] 第一控制器根據(jù)通信鏈路信息判斷設(shè)備的初始狀態(tài);
[0008] 若處于單控狀態(tài),則將所述第一控制器作為主控制器,并通知注冊者并切換為單 控狀態(tài);
[0009] 若處于雙控狀態(tài),則與第二控制器進(jìn)行主從協(xié)商,并根據(jù)所述主從協(xié)商的結(jié)果對 所述第一控制器和所述第二控制器進(jìn)行雙控狀態(tài)的切換。
[0010] 優(yōu)選地,所述第一控制器根據(jù)通信鏈路信息判斷設(shè)備的初始狀態(tài),包括:
[0011] 根據(jù)所述第一控制器與所述第二控制器的通信是否建立判斷設(shè)備的初始狀態(tài),若 通信建立,則設(shè)備處于雙控狀態(tài),若通信未建立,則設(shè)備處于單控狀態(tài)。
[0012] 優(yōu)選地,所述與第二控制器進(jìn)行主從協(xié)商,并根據(jù)所述主從協(xié)商的結(jié)果對所述第 一控制器和所述第二控制器進(jìn)行雙控狀態(tài)的切換,包括:
[0013] 根據(jù)所述第一控制器的隨機(jī)id和所述第二控制器的隨機(jī)id,確定所述第一控制 器和所述第二控制器的主從;
[0014] 若所述第一控制器為主控制器,則所述第一控制器在接收到所述第二控制器發(fā)送 的使能信號后切換雙控狀態(tài),并發(fā)送反饋信號;
[0015] 若所述第一控制器為從控制器,則所述第一控制器向所述第二控制器發(fā)送使能信 號,并在接收到所述第二控制器的反饋信號后切換雙控狀態(tài)。
[0016] 優(yōu)選地,所述設(shè)備的狀態(tài)包括初始化狀態(tài)、單控狀態(tài)、雙控狀態(tài)及切換狀態(tài);
[0017] 所述第一控制器和所述第二控制器的狀態(tài)包括主狀態(tài)、從狀態(tài)及協(xié)商狀態(tài)。
[0018] 優(yōu)選地,所述方法還包括:將所述第一控制器接收的通信鏈路信息、發(fā)送的主從協(xié) 商命令或使能信號,組成命令幀的格式推送到所述第一控制器的處理隊(duì)列中,按順序執(zhí)行。
[0019] 第二方面,本發(fā)明提供了一種雙控設(shè)備的單雙控切換裝置,所述裝置包括:
[0020] 判定模塊,用于根據(jù)通信鏈路信息判斷設(shè)備的初始狀態(tài);
[0021] 單控模塊,用于當(dāng)設(shè)備處于單控狀態(tài)時(shí),將所述第一控制器作為主控制器,并通知 注冊者;
[0022] 雙控模塊,用于當(dāng)設(shè)備處于雙控狀態(tài)時(shí),與第二控制器進(jìn)行主從協(xié)商,并根據(jù)所述 主從協(xié)商的結(jié)果對所述第一控制器和所述第二控制器進(jìn)行雙控狀態(tài)的切換。
[0023] 優(yōu)選地,所述判定模塊,具體用于:
[0024] 根據(jù)所述第一控制器與所述第二控制器的通信是否建立判斷設(shè)備的初始狀態(tài),若 通信建立,則設(shè)備處于雙控狀態(tài),若通信未建立,則設(shè)備處于單控狀態(tài)。
[0025] 優(yōu)選地,所述雙控模塊,具體用于:
[0026] 根據(jù)所述第一控制器的隨機(jī)id和所述第二控制器的隨機(jī)id,確定所述第一控制 器和所述第二控制器的主從;
[0027] 若所述第一控制器為主控制器,則所述第一控制器在接收到所述第二控制器發(fā)送 的使能信號后切換雙控狀態(tài),并發(fā)送反饋信號;
[0028] 若所述第一控制器為從控制器,則所述第一控制器向所述第二控制器發(fā)送使能信 號,并在接收到所述第二控制器的反饋信號后切換雙控狀態(tài)。
[0029] 優(yōu)選地,預(yù)設(shè)的所述設(shè)備的狀態(tài)包括初始化狀態(tài)、單控狀態(tài)、雙控狀態(tài)及切換狀 態(tài);
[0030] 預(yù)設(shè)的所述第一控制器和所述第二控制器的狀態(tài)包括主狀態(tài)、從狀態(tài)及協(xié)商狀 O
[0031] 優(yōu)選地,所述裝置還包括:
[0032] 推送模塊,用于將所述第一控制器接收的通信鏈路信息、發(fā)送的主從協(xié)商命令或 使能信號,組成命令幀的格式推送到所述第一控制器的處理隊(duì)列中,按順序執(zhí)行。
[0033] 由上述技術(shù)方案可知,本發(fā)明提供一種雙控設(shè)備的單雙控切換方法及裝置,通過 將雙控設(shè)備的狀態(tài)分為多個(gè)階段的狀態(tài),并將切換過程按順序的隊(duì)列執(zhí)行,簡化了程序的 復(fù)雜性,使其更容易移植,也更加穩(wěn)定。
【附圖說明】
[0034] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些圖獲得其他的附圖。
[0035] 圖1是本發(fā)明一實(shí)施例提供的雙控設(shè)備的單雙控切換方法的流程示意圖;
[0036] 圖2是本發(fā)明另一實(shí)施例提供的雙控設(shè)備的單雙控切換方法的流程示意圖;
[0037] 圖3是本發(fā)明一實(shí)施例提供的雙控設(shè)備的單雙控切換裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0038] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0039] 如圖1所示,圖1示出了本發(fā)明一實(shí)施例提供的雙控設(shè)備的單雙控切換方法的流 程圖,該方法包括如下步驟:
[0040] 101、第一控制器根據(jù)通信鏈路信息判斷設(shè)備的初始狀態(tài)。
[0041] 102、若處于單控狀態(tài),則將所述第一控制器作為主控制器,并通知注冊者并切換 為單控狀態(tài)。
[0042] 103、若處于雙控狀態(tài),則與第二控制器進(jìn)行主從協(xié)商,并根據(jù)所述主從協(xié)商的結(jié) 果對所述第一控制器和所述第二控制器進(jìn)行雙控狀態(tài)的切換。