專利名稱:一種升級方法、系統(tǒng)和控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種升級方法、裝置和系統(tǒng)。
背景技術(shù):
隨著通信業(yè)務(wù)的發(fā)展,經(jīng)常需要將通信系統(tǒng)的軟件或數(shù)據(jù)升級到新版本,現(xiàn)有技 術(shù)中,通信系統(tǒng)升級的時候,一般都是整個主機(jī)的軟件一起升級,需要先中斷當(dāng)前的處理的 業(yè)務(wù),升級完成之后,再繼續(xù)處理業(yè)務(wù)。以升級存儲陣列的控制器為例,控制器一般包括業(yè) 務(wù)處理單元和主機(jī)接口單元,當(dāng)升級控制器的業(yè)務(wù)處理單元時,需要暫??刂破鞯臉I(yè)務(wù)處 理以完成業(yè)務(wù)處理單元的升級任務(wù),如果升級程序還需要升級主機(jī)接口單元,還需要完成 主機(jī)接口單元的升級任務(wù)。發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)中的系統(tǒng)升級方法,由于需要暫??刂破鞯臉I(yè)務(wù)處理,將導(dǎo) 致業(yè)務(wù)中斷過長時間,無法保證業(yè)務(wù)的持續(xù)性,造成系統(tǒng)不穩(wěn)定。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種升級方法、裝置和系統(tǒng),實(shí)現(xiàn)系統(tǒng)升級過程中不中斷業(yè)務(wù)。本發(fā)明實(shí)施例的目的是通過以下技術(shù)方案實(shí)現(xiàn)的一種升級方法,所述升級方法包括第一控制器接收主機(jī)輸入輸出10請求;確認(rèn)第二控制器業(yè)務(wù)處理是否正常;當(dāng)確認(rèn)所述第二控制器業(yè)務(wù)處理正常時,將接收到的所述10請求轉(zhuǎn)發(fā)給所述第 二控制器處理;升級所述第一控制器。一種控制器,所述控制器包括接收模塊,用于接收主機(jī)輸入輸出10請求;確認(rèn)模塊,用于確認(rèn)對端控制器業(yè)務(wù)處理是否正常;業(yè)務(wù)轉(zhuǎn)發(fā)模塊,用于當(dāng)對端控制器業(yè)務(wù)處理正常時,將所述接收模塊接收到的所 述主機(jī)10請求轉(zhuǎn)發(fā)給所述對端控制器處理;業(yè)務(wù)升級模塊,用于升級所述控制器。一種升級系統(tǒng),所述系統(tǒng)包括至少兩個控制器,其中,第一控制器接收主機(jī)輸入輸出10請求;當(dāng)所述第二控制器業(yè)務(wù)處理正常 時,將所述第一控制器接收到的主機(jī)輸入輸出10請求轉(zhuǎn)發(fā)給所述第二控制器處理;升級所 述第一控制器;第二控制器,用于處理所述第一控制器轉(zhuǎn)發(fā)過來的業(yè)務(wù)。本發(fā)明實(shí)施例中,通過第一控制器接收主機(jī)輸入輸出10請求,確認(rèn)第二控制器業(yè) 務(wù)處理是否正常,當(dāng)確認(rèn)第二控制器業(yè)務(wù)處理正常時,將接收到的所述10請求轉(zhuǎn)發(fā)給所述第二控制器103處理,升級所述第一控制器,實(shí)現(xiàn)控制器升級過程中,不中斷處理業(yè)務(wù),保 證了主機(jī)10請求的及時處理,提高了系統(tǒng)穩(wěn)定性。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā) 明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例中的結(jié)構(gòu)示意圖;圖2為本發(fā)明實(shí)施例中升級方法的流程圖;圖3為本發(fā)明實(shí)施例中讀數(shù)據(jù)操作的流程圖;圖4為本發(fā)明實(shí)施例中寫數(shù)據(jù)操作的流程圖;圖5為本發(fā)明實(shí)施例中另一種升級方法的流程圖;圖6為本發(fā)明實(shí)施例中一種控制器的結(jié)構(gòu)示意圖;圖7為本發(fā)明實(shí)施例中一種升級系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了使本發(fā)明實(shí)施例的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí) 施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā) 明,并不用于限定本發(fā)明。為便于說明,下面介紹本發(fā)明的一個具體實(shí)施例。如圖1所示,為本發(fā)明實(shí)施例 的示意圖,圖中包括主機(jī)101、第一控制器102、第二控制器103和存儲陣列104,其中,主 機(jī)101用于發(fā)送主機(jī)10請求給第一控制器102和第二控制器103,以對存儲陣列104進(jìn)行 讀寫,第一控制器102和第二控制器103分別接收來自主機(jī)101的主機(jī)10請求對存儲陣列 104進(jìn)行讀寫操作,存儲陣列104用于存儲數(shù)據(jù)。本實(shí)施例中,第一控制器102和第二控制器103運(yùn)行過程中,需要進(jìn)行升級,下面 以第一控制器102為例,對升級方法進(jìn)行詳細(xì)介紹。第一控制器102的升級流程,具體如圖2所述,包括步驟201、第一控制器接收主機(jī)輸入輸出10請求;其中,第一控制器為第一控制器102 ;第二控制器為第二控制器103。步驟202、確認(rèn)第二控制器業(yè)務(wù)處理是否正常;步驟203、當(dāng)確認(rèn)第二控制器業(yè)務(wù)處理正常時,所述第一控制器將接收到的主機(jī)輸 入輸出10請求轉(zhuǎn)發(fā)給所述第二控制器處理;步驟204、升級所述第一控制器;本發(fā)明實(shí)施例中,通過第一控制器102接收主機(jī)輸入輸出10請求,確認(rèn)第二控制 器業(yè)務(wù)處理是否正常,當(dāng)確認(rèn)第二控制器103業(yè)務(wù)處理正常時,將接收到的所述10請求轉(zhuǎn) 發(fā)給所述第二控制器103處理,升級所述第一控制器102,實(shí)現(xiàn)控制器升級過程中,不中斷 處理業(yè)務(wù),保證了主機(jī)10請求的及時處理,提高了系統(tǒng)穩(wěn)定性。本發(fā)明實(shí)例中,步驟202具體可以包括
5
第一控制器102向第二控制器103發(fā)送轉(zhuǎn)發(fā)通告信息,所述轉(zhuǎn)發(fā)通告信息用于指 示第一控制器102將把主機(jī)10請求轉(zhuǎn)發(fā)給第二控制器103處理;接收來自第二控制器103的轉(zhuǎn)發(fā)確認(rèn)信息,所述轉(zhuǎn)發(fā)確認(rèn)信息用于指示第二控制 器103業(yè)務(wù)處理是否正常,例如在轉(zhuǎn)發(fā)確認(rèn)信息中設(shè)定一個特定字段用于指示第二控制 器103業(yè)務(wù)處理是否正常;根據(jù)所述轉(zhuǎn)發(fā)確認(rèn)信息,確認(rèn)第二控制器103業(yè)務(wù)處理是否正常。另外,當(dāng)?shù)谝豢刂破?02沒有在預(yù)定時間段內(nèi)接收到轉(zhuǎn)發(fā)確認(rèn)信息時,確認(rèn)第二 控制器103業(yè)務(wù)處理不正常,按照現(xiàn)有技術(shù)的升級方式進(jìn)行升級,或?qū)ふ移渌刂破鳌1景l(fā)明實(shí)例中,步驟203具體可以包括當(dāng)確認(rèn)第二控制器103業(yè)務(wù)處理正常時,將第一控制器102接收到得主機(jī)10請求 轉(zhuǎn)發(fā)給第二控制器103處理;接收來自第二控制器103的確認(rèn)信息和數(shù)據(jù);將所述確認(rèn)信息和數(shù)據(jù)轉(zhuǎn)發(fā)給主機(jī)以指示主機(jī)10請求操作完成。具體地,對于數(shù)據(jù)寫操作來說,如圖3所示,為本發(fā)明實(shí)施例中讀數(shù)據(jù)的操作處理 流程,步驟203具體可以包括步驟301、接收讀請求;第一控制器102接收來自主機(jī)101的讀請求。步驟302、轉(zhuǎn)發(fā)讀請求;第一控制器102將來自主機(jī)101的讀請求轉(zhuǎn)發(fā)給第二控制器103,以通過第二控制 器103讀取存儲陣列104上的數(shù)據(jù)。步驟303、接收讀數(shù)據(jù);第一控制器102接收來自第二控制器103的讀數(shù)據(jù)。步驟304、轉(zhuǎn)發(fā)讀數(shù)據(jù);第一控制器102將讀數(shù)據(jù)轉(zhuǎn)發(fā)給主機(jī)101步驟305、接收讀完成消息;數(shù)據(jù)讀取完成后,第一控制器102接收來自第二控制器103的讀完成消息。步驟306、轉(zhuǎn)發(fā)讀完成消息。第一控制器102將讀完成消息轉(zhuǎn)發(fā)給主機(jī)101,以便讓主機(jī)101獲知數(shù)據(jù)讀取完 成。對于數(shù)據(jù)寫操作來說,如圖4所示,為本發(fā)明實(shí)施例中寫數(shù)據(jù)的操作處理流程,步 驟203具體可以包括步驟401、接收寫請求;第一控制器102接收來自主機(jī)101的寫請求。步驟402、轉(zhuǎn)發(fā)寫請求;第一控制器102將寫請求轉(zhuǎn)發(fā)給第二控制器103,以通過第二控制器103將數(shù)據(jù)寫 到存儲陣列104上;步驟403、接收寫響應(yīng);第一控制器102接收來自第二控制器103的寫響應(yīng)。步驟404、轉(zhuǎn)發(fā)寫響應(yīng);
第一控制器102將寫響應(yīng)轉(zhuǎn)發(fā)給主機(jī)101,以便讓主機(jī)101獲知存儲陣列104上已 經(jīng)準(zhǔn)備好數(shù)據(jù)寫入空間。步驟405、接收待寫入數(shù)據(jù);第一控制器102接收來自主機(jī)101的待寫入數(shù)據(jù)。步驟406、轉(zhuǎn)發(fā)待寫入數(shù)據(jù);第一控制器102向第二控制器103的轉(zhuǎn)發(fā)待寫入數(shù)據(jù),以便第二控制器103將待 寫入數(shù)據(jù)寫入到存儲陣列104上;步驟407、接收寫完成消息;數(shù)據(jù)寫入完成后,第一控制器102接收來自第二控制器103的寫完成消息。步驟408、轉(zhuǎn)發(fā)寫完成消息。第一控制器102將寫完成消息轉(zhuǎn)發(fā)給主機(jī)101,以便讓主機(jī)101獲知數(shù)據(jù)寫入完 成。本發(fā)明實(shí)例中,步驟203之后,還可以包括判斷第二控制器103是否可以將業(yè)務(wù)處理交由第一控制器102繼續(xù)處理的步驟;當(dāng)?shù)谝豢刂破?02升級完成后,第一控制器102停止向第二控制器103轉(zhuǎn)發(fā)主機(jī) 10請求,以由第一控制器102繼續(xù)處理主機(jī)10請求的步驟。相應(yīng)地,整個升級方法的流程如圖5所示,其中,步驟501至步驟504和步驟201 至步驟204相同,在此不再贅述。步驟505,判斷第二控制器是否可以將業(yè)務(wù)處理交由第一控制器繼續(xù)處理,具體可 以包括第一控制器102向第二控制器103發(fā)送停止轉(zhuǎn)發(fā)通告信息,所述停止轉(zhuǎn)發(fā)通告信 息用于指示第一控制器102將停止向第二控制器103轉(zhuǎn)發(fā)主機(jī)10請求;接收來自第二控制器103的停止轉(zhuǎn)發(fā)確認(rèn)信息,所述停止轉(zhuǎn)發(fā)確認(rèn)信息用于指示 第二控制器103可以停止處理來自第一控制器102的業(yè)務(wù)。例如在第一控制器102升級完成后,第二控制器103可能還在處理第一控制器 102轉(zhuǎn)發(fā)過來的業(yè)務(wù),此時需要向第二控制器103發(fā)送停止轉(zhuǎn)發(fā)通告信息以確認(rèn)第二控制 器103是否已經(jīng)處理完第一控制器102轉(zhuǎn)發(fā)過來的業(yè)務(wù),如果未處理完,需要等待第二控制 器103處理完第一控制器102轉(zhuǎn)發(fā)過來的業(yè)務(wù)之后,第一控制器102才可以繼續(xù)處理接收 到的業(yè)務(wù);如果已處理完,則直接將第一控制器102收到的業(yè)務(wù)交給第一控制器102處理。步驟506,當(dāng)所述第一控制器升級完成后,所述第一控制器停止向所述第二控制器 轉(zhuǎn)發(fā)主機(jī)10請求,以由所述第一控制器繼續(xù)處理主機(jī)10請求。本發(fā)明實(shí)施例中,通過步驟505和步驟506,實(shí)現(xiàn)了第一控制器升級完成之后,由 第一控制器繼續(xù)處理業(yè)務(wù)的技術(shù)效果。本發(fā)明實(shí)施例中,第一控制器102和第二控制器103都包括業(yè)務(wù)處理單元和主機(jī) 接口單元,其中,業(yè)務(wù)處理單元用于處理業(yè)務(wù),主機(jī)接口單元用于與主機(jī)101進(jìn)行通信,當(dāng) 升級程序包括升級業(yè)務(wù)處理單元和升級主機(jī)接口單元時,第一控制器102在升級完業(yè)務(wù)處 理單元之后,可以繼續(xù)升級主機(jī)接口單元。由于升級主機(jī)接口單元的時間非常短暫,不會對 業(yè)務(wù)處理造成影響。本發(fā)明實(shí)施例中,還提供了一種控制器,控制器如圖6所示,該控制器包括
接收模塊610,用于接收主機(jī)輸入輸出10請求;確認(rèn)模塊620,用于確認(rèn)對端控制器業(yè)務(wù)處理是否正常;業(yè)務(wù)轉(zhuǎn)發(fā)模塊630,用于當(dāng)對端控制器業(yè)務(wù)處理正常時,將所述接收模塊610接收 到的所述主機(jī)10請求轉(zhuǎn)發(fā)給所述對端控制器處理;業(yè)務(wù)升級模塊640,用于升級所述控制器。其中,上述控制器,還可以包括處理模塊650,用于處理主機(jī)10請求;終止轉(zhuǎn)發(fā)模塊660,用于當(dāng)所述業(yè)務(wù)升級模塊640升級完成后,停止向所述對端控 制器轉(zhuǎn)發(fā)主機(jī)10請求以由所述處理模塊650繼續(xù)處理主機(jī)10請求。其中,所述確認(rèn)模塊620,包括通告單元621,用于向所述對端控制器發(fā)送轉(zhuǎn)發(fā)通告信息,所述轉(zhuǎn)發(fā)通告信息用于 指示所述控制器將把主機(jī)10請求轉(zhuǎn)發(fā)給所述對端控制器處理;接收單元622,用于接收來自所述對端控制器的轉(zhuǎn)發(fā)確認(rèn)信息,根據(jù)所述確認(rèn)信息 確認(rèn)所述對端控制器業(yè)務(wù)處理是否正常,所述轉(zhuǎn)發(fā)確認(rèn)信息用于指示所述對端控制器業(yè)務(wù) 處理是否正常其中,所述業(yè)務(wù)轉(zhuǎn)發(fā)模630塊,包括第一轉(zhuǎn)發(fā)單元631,用于將所述控制器接收到的主機(jī)10請求轉(zhuǎn)發(fā)給所述對端控制 器的業(yè)務(wù)處理單元處理;第二轉(zhuǎn)發(fā)單元632,用于將來自所述對端控制器的主機(jī)10請求確認(rèn)信息和數(shù)據(jù)轉(zhuǎn) 發(fā)給主機(jī)。其中,上述控制器,還可以包括判斷模塊670,用于判斷所述對端控制器是否可以將業(yè)務(wù)交由所述處理模塊650
繼續(xù)處理。本發(fā)明實(shí)施例中,還提供了一種升級系統(tǒng),如圖7所示,該系統(tǒng)包括至少兩個控制 器,其中,第一控制器701接收主機(jī)輸入輸出10請求;當(dāng)所述第二控制器702業(yè)務(wù)處理正 常時,將所述第一控制器701接收到的主機(jī)輸入輸出10請求轉(zhuǎn)發(fā)給所述第二控制器702處 理;升級所述第一控制器701 ;第二控制器702,用于處理所述第一控制器701轉(zhuǎn)發(fā)過來的業(yè)務(wù)。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以 通過程序來指令相關(guān)的硬件完成,上述的程序可以存儲于一種計算機(jī)可讀存儲介質(zhì)中,上 述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。以上對本發(fā)明所提供的一種數(shù)據(jù)訪問方法及通信系統(tǒng)以及相關(guān)裝置進(jìn)行了詳細(xì) 介紹,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在具體實(shí)施方式
及應(yīng)用范圍 上均會有改變之處,因此,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
8
權(quán)利要求
一種升級方法,其特征在于,所述升級方法包括第一控制器接收主機(jī)輸入輸出IO請求;確認(rèn)第二控制器業(yè)務(wù)處理是否正常;當(dāng)確認(rèn)所述第二控制器業(yè)務(wù)處理正常時,將接收到的所述IO請求轉(zhuǎn)發(fā)給所述第二控制器處理;升級所述第一控制器。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法,還包括當(dāng)所述第一控制器升級完成后,所述第一控制器停止向所述第二控制器轉(zhuǎn)發(fā)主機(jī)IO 請求,以由所述第一控制器繼續(xù)處理主機(jī)IO請求。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確認(rèn)第二控制器業(yè)務(wù)處理是否正常, 包括向所述第二控制器發(fā)送轉(zhuǎn)發(fā)通告信息,所述轉(zhuǎn)發(fā)通告信息用于指示所述第一控制器將 把主機(jī)IO請求轉(zhuǎn)發(fā)給所述第二控制器處理;接收來自所述第二控制器的轉(zhuǎn)發(fā)確認(rèn)信息,根據(jù)所述轉(zhuǎn)發(fā)確認(rèn)信息確認(rèn)所述第二控制 器業(yè)務(wù)處理是否正常。
4.根據(jù)權(quán)利要求1至3中任意一項(xiàng)所述的方法,其特征在于,所述將接收到的所述IO 請求轉(zhuǎn)發(fā)給所述第二控制器處理,包括將所述第一控制器接收到的主機(jī)IO請求轉(zhuǎn)發(fā)給所述第二控制器處理; 接收來自所述第二控制器的確認(rèn)信息和數(shù)據(jù),并將所述確認(rèn)信息和數(shù)據(jù)轉(zhuǎn)發(fā)給主機(jī)。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一控制器停止向所述第二控制器 轉(zhuǎn)發(fā)主機(jī)IO請求之前,所述方法還包括所述第一控制器判斷所述第二控制器是否可以將業(yè)務(wù)交由所述第一控制器繼續(xù)處理。
6.一種控制器,其特征在于,所述控制器包括 接收模塊,用于接收主機(jī)輸入輸出IO請求;確認(rèn)模塊,用于確認(rèn)對端控制器業(yè)務(wù)處理是否正常;業(yè)務(wù)轉(zhuǎn)發(fā)模塊,用于當(dāng)對端控制器業(yè)務(wù)處理正常時,將所述接收模塊接收到的所述主 機(jī)IO請求轉(zhuǎn)發(fā)給所述對端控制器處理; 業(yè)務(wù)升級模塊,用于升級所述控制器。
7.根據(jù)權(quán)利要求6所述的控制器,其特征在于,所述控制器,還包括 處理模塊,用于處理主機(jī)IO請求;終止轉(zhuǎn)發(fā)模塊,用于當(dāng)所述業(yè)務(wù)升級模塊升級完成后,停止向所述對端控制器轉(zhuǎn)發(fā)主 機(jī)IO請求以由所述處理模塊繼續(xù)處理主機(jī)IO請求。
8.根據(jù)權(quán)利要求6所述的控制器,其特征在于,所述確認(rèn)模塊,包括通告單元,用于向所述對端控制器發(fā)送轉(zhuǎn)發(fā)通告信息,所述轉(zhuǎn)發(fā)通告信息用于指示所 述控制器將把主機(jī)IO請求轉(zhuǎn)發(fā)給所述對端控制器處理;接收單元,用于接收來自所述對端控制器的轉(zhuǎn)發(fā)確認(rèn)信息,根據(jù)所述確認(rèn)信息確認(rèn)所 述對端控制器業(yè)務(wù)處理是否正常,所述轉(zhuǎn)發(fā)確認(rèn)信息用于指示所述對端控制器業(yè)務(wù)處理是 否正常。
9.根據(jù)權(quán)利要求6至8中任意一項(xiàng)所述的控制器,其特征在于,所述業(yè)務(wù)轉(zhuǎn)發(fā)模塊,包括第一轉(zhuǎn)發(fā)單元,用于將所述控制器接收到的主機(jī)IO請求轉(zhuǎn)發(fā)給所述對端控制器的業(yè) 務(wù)處理單元處理;第二轉(zhuǎn)發(fā)單元,用于將來自所述對端控制器的主機(jī)IO請求確認(rèn)信息和數(shù)據(jù)轉(zhuǎn)發(fā)給主機(jī)。
10.根據(jù)權(quán)利要求7所述的控制器,其特征在于,所述控制器,還包括判斷模塊,用于判斷所述對端控制器是否可以將業(yè)務(wù)交由所述處理模塊繼續(xù)處理。
11.一種升級系統(tǒng),其特征在于,所述系統(tǒng)包括至少兩個控制器,其中,第一控制器接收主機(jī)輸入輸出IO請求;當(dāng)所述第二控制器業(yè)務(wù)處理正常時,將 所述第一控制器接收到的主機(jī)輸入輸出IO請求轉(zhuǎn)發(fā)給所述第二控制器處理;升級所述第 一控制器;第二控制器,用于處理所述第一控制器轉(zhuǎn)發(fā)過來的業(yè)務(wù)。
全文摘要
本發(fā)明實(shí)施例公開了一種升級方法、系統(tǒng)和控制器,通過第一控制器接收主機(jī)輸入輸出IO請求,確認(rèn)第二控制器業(yè)務(wù)處理是否正常,當(dāng)確認(rèn)第二控制器業(yè)務(wù)處理正常時,將接收到的所述IO請求轉(zhuǎn)發(fā)給所述第二控制器處理,升級所述第一控制器,達(dá)到了系統(tǒng)升級過程中,不中斷業(yè)務(wù)處理的技術(shù)效果。
文檔編號G06F13/16GK101894052SQ20101012032
公開日2010年11月24日 申請日期2010年3月4日 優(yōu)先權(quán)日2010年3月4日
發(fā)明者張粵 申請人:成都市華為賽門鐵克科技有限公司