專利名稱:一種通信系統(tǒng)、加載控制裝置及軟件加載方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù),尤其是一種通信系統(tǒng)及加載控制裝置。
背景技術(shù):
隨著科技的發(fā)展,通信設(shè)備的升級(jí)成為日常網(wǎng)絡(luò)維護(hù)的重要內(nèi)容之一, 其中,系統(tǒng)升級(jí)的安全性和高效性越來(lái)越為技術(shù)人員所重視。
圖1為現(xiàn)有ATCA系統(tǒng)架構(gòu)圖,以下僅以該系統(tǒng)為例具體說(shuō)明現(xiàn)有技 術(shù)的系統(tǒng)升級(jí)方法。
如圖所示,該系統(tǒng)包括機(jī)框管理控制主節(jié)點(diǎn)(ShMC)依附于機(jī)框 管理模塊11(SMM, Shelf Manager Module);智能平臺(tái)管理控制器(IPMC, Intelligent Platform Management Controller) 12作為管理從節(jié)點(diǎn)依附于高級(jí)電 信處理架構(gòu)板13 (ATCA Board, Advanced Telecommunications Computing Architecture Board ),通常稱為基板管理控制器(BMC, Baseboard Management Controller); SMM與BMC之間通過(guò)雙星形智能平臺(tái)管理總線(IPMB, Intelligent Platform Management Bus )進(jìn)行交互,組成了對(duì)ATCA單板獨(dú)立 的帶外管理和維護(hù)體系。
以圖l所述的系統(tǒng)為基礎(chǔ),參照?qǐng)D2說(shuō)明現(xiàn)有技術(shù)中所采用的單板升 級(jí)方案
登錄到SMM板,先通過(guò)HTTP或TFTP協(xié)議將軟件包/文件上傳到 SMM板21,進(jìn)而通過(guò)網(wǎng)絡(luò)用戶接口 ( WEBUI , WEB User Interface ) 22或 命令行4矣口 (CLI, Command Line Interface) 23啟動(dòng)加載命令,通過(guò)遠(yuǎn)程過(guò) 程調(diào)用(RPC, Remote Procedure Call )調(diào)用智能平臺(tái)管理接口 ( IPMI, Intelligent Platform Management Interface)才莫塊24的應(yīng)用編程接口 ( API, Application Program Interface ),并由IPMI才莫塊啟動(dòng)任務(wù)開(kāi)始解析待加載的軟件包并通 過(guò)智能平臺(tái)管理總線(IPMB, Intelligent Platform Management Bus)傳送到 BMC完成加載。在對(duì)現(xiàn)有技術(shù)的研究和多踐過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)存在以下問(wèn)題
WEBUI或者CLI通過(guò)遠(yuǎn)程過(guò)程調(diào)用(RPC, Remote Procedure Call) 啟動(dòng)加載命令。然而,RPC基于單線程技術(shù),因此只能允許WEBUI、 CLI 與IPMI之間同時(shí)存在一條RPC連接,這大大降低了用戶接口 (UI, User Interface )側(cè)的響應(yīng)速度,也增加了單板升級(jí)應(yīng)用的實(shí)現(xiàn)難度。
另一方面,現(xiàn)有的IPMI模塊與BMC之間基于IPMB的消息機(jī)制采用 單任務(wù)收發(fā)確認(rèn)機(jī)制,即IPMI模塊一個(gè)消息發(fā)送給BMC后一直等待,直 至收到響應(yīng)或超時(shí)才發(fā)送下一個(gè)消息可。雖然所述單任務(wù)收發(fā)確認(rèn)機(jī)制具 有較高的可靠性,但是效率較低。綜上所述,現(xiàn)有技術(shù)主要著眼于單塊單 板的軟件升級(jí),而沒(méi)有考慮到整框升級(jí)的情況。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例目的是提供一種通信系統(tǒng),目的在于提高系統(tǒng)升級(jí)效率。
為實(shí)現(xiàn)所述發(fā)明目的,本發(fā)明通信系統(tǒng)實(shí)施例包括機(jī)框管理子系統(tǒng) 和至少一塊單板,
所述機(jī)框管理子系統(tǒng)包括網(wǎng)絡(luò)用戶接口、加載控制單元、智能平臺(tái)管 理接口,其中網(wǎng)絡(luò)用戶接口,用于下載升級(jí)文件,獲取用戶指令觸發(fā)加載
控制單元執(zhí)行對(duì)單板的升級(jí);所述用戶指令確定待升級(jí)的單板標(biāo)識(shí)和升級(jí)文 件標(biāo)識(shí);加載控制單元,與智能平臺(tái)管理接口采用多任務(wù)傳輸連接,并控制 智能平臺(tái)管理4^口與所述智能平臺(tái)管理控制器建立串口重定向到LAN的連 接;依據(jù)所述升級(jí)文件標(biāo)識(shí)獲取升級(jí)文件;依據(jù)所述單板標(biāo)識(shí)向單板執(zhí)行文 件傳送;智能平臺(tái)管理接口,與加載控制單元建立TCP連接,建立與所述智 能平臺(tái)管理控制器串口重定向到LAN的連接,執(zhí)行文件傳送;
所述單板包括智能平臺(tái)管理控制器,用于與智能平臺(tái)管理接口建立串口 重定向到LAN的連接,通過(guò)所述連接獲取所述升級(jí)文件。
本發(fā)明又一實(shí)施例目的在于提供一種加載控制裝置,目的在于提高系統(tǒng)
5升級(jí)效率。
為實(shí)現(xiàn)所述發(fā)明目的,本發(fā)明加載控制裝置實(shí)施例包括參數(shù)解析單元, 傳輸控制單元;其中,參數(shù)解析單元,用于對(duì)獲取到的用戶指令進(jìn)行解析, 獲得待加載的單板標(biāo)識(shí)和升級(jí)文件標(biāo)識(shí);傳輸控制單元,建立與智能平臺(tái)管 理接口的多任務(wù)傳輸連接;控制智能平臺(tái)管理接口與單板的智能平臺(tái)管理控 制器建立串口重定向到LAN的連接;依據(jù)所述單板標(biāo)識(shí)執(zhí)行升級(jí)文件的傳送。
本發(fā)明又一實(shí)施例目的在于提供一種軟件加載方法,目的在于提高系統(tǒng) 升級(jí)效率。為實(shí)現(xiàn)所述發(fā)明目的,本發(fā)明軟件加載方法實(shí)施例包括下載升 級(jí)文件,獲取用戶指令觸發(fā)加載控制單元執(zhí)行對(duì)單板的升級(jí);所述用戶指令 確定待升級(jí)的單板標(biāo)識(shí)和升級(jí)文件標(biāo)識(shí);依據(jù)所述升級(jí)文件標(biāo)識(shí)獲取升級(jí)文 件,采用多任務(wù)傳輸連接將所述升級(jí)文件發(fā)送到智能平臺(tái)管理接口,并按照 單板標(biāo)識(shí)采用串口重定向到LAN的連接將所述升級(jí)文件發(fā)送到單板的智能平 臺(tái)管理控制器。
由以上技術(shù)方案可以看出,相對(duì)于現(xiàn)有技術(shù),本發(fā)明實(shí)施例提供的通 信系統(tǒng)中,新增了加載控制單元,對(duì)升級(jí)文件的加載進(jìn)行控制,并且,所 述加載控制單元與IPMI之間采用TCP連接,使得加載控制單元針對(duì)每塊 單板可以啟動(dòng)一個(gè)線程和創(chuàng)建一個(gè)傳送連接,達(dá)到了并發(fā)升級(jí)的目的;并 且,本發(fā)明實(shí)施例的系統(tǒng)中,所述IPMI基于單板的智能平臺(tái)管理控制器 (IPMC )之間采用依托IPMB的串口重定向至LAN ( SOL, Serial Of LAN) 技術(shù)的連接,與現(xiàn)有的釆用單任務(wù)收發(fā)確認(rèn)機(jī)制相比,SOL為收發(fā)無(wú)確認(rèn)消 息機(jī)制,從而保證了并發(fā)升級(jí)的速度。綜上所述,所述實(shí)施例提高了系統(tǒng)升 級(jí)效率。
本發(fā)明實(shí)施例提供的加載控制裝置,由于該裝置與IPMI之間采用TCP 連接,使得加載控制單元針對(duì)每塊單板可以啟動(dòng)一個(gè)線程和創(chuàng)建一個(gè)傳送連接,達(dá)到了并發(fā)升級(jí)的目的;并且,該裝置控制IPMI建立與基于單板 的智能平臺(tái)管理控制器(IPMC)之間的串口重定向至LAN (SOL)技術(shù)的連 接,因此提高了系統(tǒng)升級(jí)效率。
進(jìn)而,由于本發(fā)明實(shí)施例實(shí)現(xiàn)了對(duì)單板的并發(fā)升級(jí),因此,本發(fā)明又 一裝置實(shí)施例中實(shí)現(xiàn)進(jìn)程互斥檢測(cè)功能,避免了多用戶同時(shí)重復(fù)執(zhí)行單板 升級(jí),從而提高了系統(tǒng)升級(jí)的穩(wěn)定性和可靠性。
圖1為現(xiàn)有技術(shù)的ATCA系統(tǒng)架構(gòu)圖2為現(xiàn)有技術(shù)系統(tǒng)升級(jí)示意圖3為本發(fā)明實(shí)施例通信系統(tǒng)結(jié)構(gòu)示意圖4為本發(fā)明第一實(shí)施例加載控制裝置結(jié)構(gòu)示意圖5為本發(fā)明第二實(shí)施例加載控制裝置結(jié)構(gòu)示意圖6為本發(fā)明第三實(shí)施例加載控制裝置結(jié)構(gòu)示意圖7為本發(fā)明方法實(shí)施例示意圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例目的在于提高系統(tǒng)升級(jí)效率。以下具體對(duì)本發(fā)明各實(shí)施例 予以說(shuō)明。
參照?qǐng)D3,具體說(shuō)明本發(fā)明提供的通信系統(tǒng)第一實(shí)施例的實(shí)現(xiàn)方式。
所述通信系統(tǒng)包括機(jī)框管理子系統(tǒng)(SMM)31和至少一塊單板(ATCA) 32,其中
所述單板32包括智能平臺(tái)管理控制器321,用于與智能平臺(tái)管理接口建 立串口重定向到LAN的連接,通過(guò)所述連接獲取所述升級(jí)文件;
所述機(jī)框管理子系統(tǒng)31包括網(wǎng)絡(luò)用戶接口 311、加載控制單元312、 智能平臺(tái)管理接口 313,,其中網(wǎng)絡(luò)用戶接口 311,用于下載升級(jí)文件,獲取用戶指令觸發(fā)加載控制單元
執(zhí)行對(duì)單板的升級(jí);由于一個(gè)機(jī)框中會(huì)有不同類型的單板,對(duì)應(yīng)的升級(jí)文件 也不一樣;并且,本發(fā)明中并不排除用戶可以只選擇對(duì)某種類型的單^^進(jìn)行 升級(jí),因此,本發(fā)明實(shí)施例中,所述用戶指令確定待升級(jí)的單板標(biāo)識(shí)和升級(jí) 文件標(biāo)識(shí);
加載控制單元312,與智能平臺(tái)管理接口 313采用多任務(wù)傳輸連接(如 TCP連接),并控制智能平臺(tái)管理接口 313與所述智能平臺(tái)管理控制器321建 立串口重定向到LAN的連接;獲取網(wǎng)絡(luò)用戶接口的觸發(fā)指令,依據(jù)所述升級(jí) 文件標(biāo)識(shí)獲取升級(jí)文件;依據(jù)所述單板標(biāo)識(shí)向單板執(zhí)行文件傳送;
智能平臺(tái)管理接口 313,與加載控制單元建立TCP連接,建立與所述智 能平臺(tái)管理控制器321串口重定向到LAN的SOL連接,用以傳送升級(jí)文件。
上述實(shí)施例基礎(chǔ)上,在加載控制單元獲取升級(jí)文件后,可以進(jìn)一步針對(duì) 用戶指令中確定的每一單板,按照預(yù)置的對(duì)應(yīng)關(guān)系,基于單板類型對(duì)所述升 級(jí)文件進(jìn)行版本匹配,進(jìn)而針對(duì)每一匹配成功的單板執(zhí)行建立所述PCT和串 口重定向到LAN的連接。
由以上技術(shù)方案可以看出,加載控制單元針對(duì)每塊單板啟動(dòng)一個(gè)線程和 創(chuàng)建一個(gè)傳送連接,實(shí)現(xiàn)多單板的并發(fā)升級(jí)。
在上述實(shí)施例基礎(chǔ)上,所述升級(jí)文件可以是被壓縮過(guò)的,進(jìn)而,所述加 載控制單元對(duì)升級(jí)文件進(jìn)行版本匹配前還要進(jìn)行升級(jí)文件的解壓縮。
由于本發(fā)明實(shí)施例能夠?qū)崿F(xiàn)對(duì)服務(wù)器多單板的并發(fā)升級(jí),因此,在上述 實(shí)施例基礎(chǔ)上,加載控制單元312還用于判斷單板是否處于升級(jí)狀態(tài),若判 斷得到所述單板未處于升級(jí)狀態(tài),則對(duì)用戶指令進(jìn)行解析。所述功能實(shí)現(xiàn)了 進(jìn)程互斥檢測(cè),避免了多用戶同時(shí)重復(fù)執(zhí)行單板升級(jí),從而進(jìn)一步提高了系 統(tǒng)升級(jí)的穩(wěn)定性和可靠性。
參照?qǐng)D4,具體說(shuō)明本發(fā)明第一實(shí)施例的加載控制裝置的實(shí)現(xiàn)方式。如圖所示,所述加載控制裝置包括參數(shù)解析單元41,匹配單元42,傳 輸控制單元43;其中,
參數(shù)解析單元41,用于對(duì)獲取到的用戶指令進(jìn)行解析,獲得待加載的至 少 一個(gè)單板標(biāo)識(shí)和升級(jí)文件標(biāo)識(shí);
匹配單元42,獲取所述升級(jí)文件標(biāo)識(shí)對(duì)應(yīng)的升級(jí)文件,并且依據(jù)所述單 板標(biāo)識(shí)分別獲取各待加載單板的類型,基于所述待加載單板的類型,對(duì)所述 升級(jí)文件進(jìn)行版本匹配,若匹配則觸發(fā)傳輸控制單元;
傳輸控制單元43,建立與智能平臺(tái)管理接口的TCP連接;控制智能平臺(tái) 管理接口與單板的智能平臺(tái)管理控制器建立串口重定向到LAN的連接,并對(duì)
升級(jí)文件傳輸?shù)街悄芷脚_(tái)管理控制器的過(guò)程進(jìn)行控制。
發(fā)明實(shí)施例提供的加載控制裝置,由于該裝置與IPMI之間采用TCP 連接,使得加載控制單元針對(duì)每塊單板可以啟動(dòng)一個(gè)線程和創(chuàng)建一個(gè)傳送 連接,達(dá)到了并發(fā)升級(jí)的目的。該裝置控制IPMI建立與基于單板的智能平 臺(tái)管理控制器(IPMC)之間的串口重定向至LAN (SOL)技術(shù)的連接,因此 提高了系統(tǒng)升級(jí)效率。
參照?qǐng)D5,具體說(shuō)明本發(fā)明第二實(shí)施例的加載控制裝置的實(shí)現(xiàn)方式。
如圖所示,所述加載控制裝置包括參數(shù)解析單元51,匹配單元52,傳 輸控制單元53、解壓縮單元54;其中,
參數(shù)解析單元51,用于對(duì)獲取到的用戶指令進(jìn)行解析,獲得待加載的至 少 一個(gè)單寺反標(biāo)識(shí)和升級(jí)文件標(biāo)識(shí);
匹配單元52,獲取所述升級(jí)文件標(biāo)識(shí)對(duì)應(yīng)的升級(jí)文件,并且依據(jù)所述單 板標(biāo)識(shí)分別獲取各待加載單板的類型,基于所述待加載單板的類型,對(duì)所述 升級(jí)文件進(jìn)行版本匹配,若單板類型與所述軟件版本匹配,則觸發(fā)解壓縮單 元54以及傳輸控制單元53;解壓縮單元54,由于升級(jí)文件可能是壓縮格式的,因此,解壓縮單元54
壓縮處理;所述解壓縮后得到的升級(jí)文件在傳輸控制單元的控制下被傳輸?shù)?智能平臺(tái)管理控制器;
傳輸控制單元53,建立與智能平臺(tái)管理接口的TCP連接;控制智能平臺(tái) 管理接口與智能平臺(tái)管理控制器建立串口重定向到LAN的連接,并對(duì)升級(jí)文
件傳輸?shù)街悄芷脚_(tái)管理控制器的過(guò)程進(jìn)行控制。
在第一實(shí)施例基礎(chǔ)上,上述第二實(shí)施例所述裝置還包括解壓縮單元。使 得發(fā)明實(shí)施例提供的加載控制裝置能夠進(jìn)一步提高數(shù)據(jù)加載的可靠性和傳 輸效率。
參照?qǐng)D6,具體說(shuō)明本發(fā)明第三實(shí)施例的加載控制裝置的實(shí)現(xiàn)方式。
如圖所示,所述加載控制裝置包括參數(shù)解析單元61,匹配單元62,傳 輸控制單元63、解壓縮單元64、互斥檢測(cè)單元65;其中,
互斥檢測(cè)單元65,用于判斷單板是否處于升級(jí)狀態(tài),若判斷得到所述單 板未處于升級(jí)狀態(tài),則觸發(fā)參數(shù)解析單元對(duì)用戶指令進(jìn)行解析;
參數(shù)解析單元61,用于對(duì)獲取到的用戶指令進(jìn)行解析,獲得待加載的至 少一個(gè)單板標(biāo)識(shí)和升級(jí)文件標(biāo)識(shí);
匹配單元62,獲取所述升級(jí)文件標(biāo)識(shí)對(duì)應(yīng)的升級(jí)文件,并且依據(jù)所述單 板標(biāo)識(shí)分別獲取各待加載單板的類型,基于所述待加載單板的類型,對(duì)所述 升級(jí)文件進(jìn)行版本匹配,若匹配則觸發(fā)解壓縮單元64以及傳輸控制單元63;
解壓縮單元64,由于升級(jí)文件可能是壓縮格式的,因此,解壓縮單元64 在匹配單元的觸發(fā)下,對(duì)于升級(jí)文件版本與單板類型匹配的升級(jí)文件進(jìn)行解 壓縮處理;所述解壓縮后得到的升級(jí)文件在傳輸控制單元的控制下被傳輸?shù)?智能平臺(tái)管理控制器;傳輸控制單元63,用于在匹配單元的觸發(fā)下,建立與智能平臺(tái)管理接口
的TCP連接;控制智能平臺(tái)管理接口與智能平臺(tái)管理控制器建立串口重定向 到LAN的連接,并對(duì)升級(jí)文件傳輸?shù)街悄芷脚_(tái)管理控制器的過(guò)程進(jìn)行控制。 在本發(fā)明第四實(shí)施例的加載控制裝置的實(shí)現(xiàn)方式中,所述裝置可以包括 參數(shù)解析單元,匹配單元,傳輸控制單元、互斥檢測(cè)單元;而不包括解壓縮
單元。則在所述裝置不包含解壓縮單元時(shí),匹配單元對(duì)升級(jí)文件版本和單板
類型進(jìn)行匹配后觸發(fā)傳輸控制單元執(zhí)行文件傳輸控制,如前文所述,匹配單
元保證了升級(jí)文件的版本是與單板類型是相匹配的。
在上述各實(shí)施例基礎(chǔ)上,本發(fā)明所述的加載控制裝置中還可進(jìn)一步包括 信息記錄統(tǒng)計(jì)單元,分別與裝置中的其他裝置連接,用于按照預(yù)置的規(guī)
則(如周期性)獲取其他各單元的處理進(jìn)度報(bào)告,并進(jìn)行記錄。
在上述各實(shí)施例基礎(chǔ)上,本發(fā)明所述的加載控制裝置中還可進(jìn)一步包括 進(jìn)度顯示單元,與所述傳輸控制單元連接,用于顯示升級(jí)軟件加載進(jìn)度。
上述各加載控制裝置實(shí)施例中均包含了匹配單元,然而,本發(fā)明中加載 控制裝置實(shí)施例中也可以不包括所述匹配單元。則參數(shù)解析單元直接與傳輸 控制單元交互,傳輸單元按照參數(shù)解析單元的單板標(biāo)識(shí)和升級(jí)文件標(biāo)識(shí)按照 已建立的連接執(zhí)行升級(jí)文件的傳送。
以下分別舉例說(shuō)明本發(fā)明加載控制裝置各實(shí)施例中的功能單元的實(shí)現(xiàn)方式。
l)參數(shù)解析單元,由于參數(shù)通過(guò)命令攜帶方式傳遞給加載模塊的,所以 需要對(duì)命令進(jìn)行解析;舉例
命令形式AJ—LoadOnline.out filel,file2, blade 1,blade2,
所述命令中filel為待加載的文件名;bladel為單4反名稱;
網(wǎng)絡(luò)用戶接口 ( WEB UI)通過(guò)execv()函數(shù)族來(lái)調(diào)用該命令。具體的int main(int argc,char*argv[]),每一個(gè)可#丸4亍#呈序都有一個(gè)int main(int argc,char*argv[])主入口函數(shù),argc存放參數(shù)個(gè)數(shù),如上述命令中包 含AJ—LoadOnline.out; filel,file2; blade 1,blade2;則argc等于3; argv[]存 放具體參數(shù),以上述命令為例,argv[O]存放,,filel,file2,", argv[l]存放" blade 1,blade2,"。
步驟a:若檢測(cè)到argc的值不為3,則提示參數(shù)個(gè)數(shù)錯(cuò)誤;
步驟b、對(duì)數(shù)組argv[]進(jìn)行分解,arg[l]為文件名參數(shù)字符串,arg[2]為升 級(jí)對(duì)象單板參數(shù)字符串。
上述舉例中各個(gè)參數(shù)以空格進(jìn)行分隔,因此,通過(guò)strstr查找,,,字符并將 每一項(xiàng)參數(shù)析取出來(lái)保存到本地緩存中。其中,所述strstr是系統(tǒng)函數(shù)
char *strstr(const char *haystack, const char *needle), 是在指定字符串 haystack中查找指定子串needle的功能。
2)匹配單元,由于不同類型的單板軟件版本及類型不一樣,因此加載前 需要先對(duì)升級(jí)軟件進(jìn)行版本的匹配。由于所述匹配需要獲取單板的版本信息, 因此先由傳輸控制單元建立SOL連接,進(jìn)而通過(guò)所述SOL連接獲取單板的版 本信息,所述SOL連接建立過(guò)程參見(jiàn)傳輸控制單元的說(shuō)明。
所述匹配步驟的實(shí)現(xiàn)具體為
a、基于與服務(wù)器單板BMC建立的SOL連接,往串口重定向到LAN( SOL) 發(fā)送'V^verW',并從接收到版本信息;其中VVn為回車,ver是版本 version 頭綴,"\r\nver\r\n"即為查詢版本,。
例如
CPU: H8S2168 IPMIVersion: 1.5
12FPGA Version:(U75)008
Logic Version:(U145)006
BIOS Version:V034
HWS Board ID:0x0151
HWSPCB Version:.B
Firmware Version:CN21HWS BMC 1.59
Built time&date:17:01:56 Nov 7 2007
FRUO SDR Version:1.27
FRU 6 SDR Version:1.27
Physical Address:[i,o]
Logical Slot NO.:13
IP應(yīng) Address:0x9A
S謹(jǐn)A Board ID:0x0149
S腿A PCB Version:.D
SRMA BoardName:CN21SRMA
b、獲取到的版本信息并不是單純的字符串,中間摻雜著,\0,,,\11,,,\1",等結(jié) 束或回車換行字符;從版本信息中析取到單板類型、FRU類型等,與加載文 件鏈表和配置信息鏈表相比較,保留有效的匹配的加載文件,從加載文件鏈 表中剔除無(wú)效的文件。
3)傳輸控制單元,目的在于保證文件傳輸?shù)母咝Ш涂煽窟M(jìn)行。具體實(shí)現(xiàn)
為
a、與服務(wù)器單板BMC建立SOL連接,自定義端口為1101;具體的 a. 1 、調(diào)用socket創(chuàng)建socket句柄;a.2、調(diào)用setsockopt設(shè)置socket連接收發(fā)超時(shí)時(shí)間都為2秒;
a.3、以IPMI作為服務(wù)器,調(diào)用connect請(qǐng)求與IPMI建立TCP連接;
a.4、通過(guò)select診斷得到連接可讀寫后開(kāi)始與服務(wù)器進(jìn)行telnet工作方式 協(xié)商,協(xié)商內(nèi)容包括終端類型、SOL連接參數(shù)(單板號(hào)、串口號(hào))以及由IPMI 返回SOL連接結(jié)果等;
服務(wù)器單板BMC啟動(dòng)XMODEM協(xié)議傳輸,并等待對(duì)方響應(yīng); c、數(shù)據(jù)傳輸
c.l、根據(jù)XMODEM協(xié)議,發(fā)送方等待接收方的NAK響應(yīng)10秒至1分 鐘,若接收方以C ( 0x43 )取代NAK則表示請(qǐng)求CRC XMODEM,數(shù)據(jù)發(fā)送 需要CRC校驗(yàn);
c.2、分包發(fā)送文件數(shù)據(jù),每包發(fā)送128字節(jié)數(shù)據(jù)(不包含XMODEM協(xié) 議頭),如果數(shù)據(jù)段不夠則以Y (OxlA)填充;
其中,Xmodem數(shù)據(jù)包才各式為 [seq] [cmpl [seq] [128 data bytes] [csum];其中
SOH為包頭字節(jié)(0x01);
Seq為從0x01開(kāi)始的序列號(hào),增加到0xFF后回到0x00; cmpl seq為seq的4卜凄史,其計(jì)算方法為
cmpl = 255 - (255 and seq) or using
xor as cmpl = (255 and seq) xor 255; Data為128字節(jié)數(shù)據(jù)。
在傳送CP/M和MS/DOS文件時(shí)AZ (0x1 A)應(yīng)當(dāng)加在文件尾部。如果最后一個(gè)數(shù)據(jù)段不足128字節(jié),要進(jìn)行填充,通常是AZ。
Csum為128字節(jié)數(shù)據(jù)的枱r沖交和。
d、 文件數(shù)據(jù)傳送完畢,發(fā)送EOT(0x04)結(jié)束XMODEM傳輸,如果接收 方需要中途取消,則發(fā)送CAN(0xl8)至發(fā)送端;
e、 調(diào)用close關(guān)閉SOL連接。
4) 解壓縮單元,由于軟件文件較多,為方便升級(jí)操作,因此通??梢詫?所有相關(guān)軟件類型文件打包到一個(gè)升級(jí)包,所以需要進(jìn)行解壓縮處理。
假設(shè)升級(jí)軟件壓縮格式如PACK文件個(gè)數(shù)文件1名稱長(zhǎng)度文件1名 稱文件l大小文件l內(nèi)容文件2名稱長(zhǎng)度文件2名稱文件2大小文件2 內(nèi)容……(重復(fù)到文件N)。
上述假設(shè)的壓縮格式為例,解壓步驟為
a、 根據(jù)升級(jí)包內(nèi)容"PACK,,標(biāo)志,確認(rèn)是否有效升級(jí)包;
b、 繼續(xù)讀取升級(jí)包內(nèi)容,逐一析取升級(jí)軟件文件的屬性并根據(jù)文件名稱 后綴設(shè)置文件類型(包括BIOS、 FPGA、 FRU、 SDR、 MOT等),添加到加載 文件鏈表;
c、 讀取升級(jí)包中的配置文件e.cfg)內(nèi)容,析取出單板名稱、FRU名稱、 版本名稱、文件名稱、FRUID,并將這些屬性記錄到配置信息鏈表。
5) 進(jìn)程互斥檢測(cè)單元,由于本發(fā)明實(shí)施例實(shí)現(xiàn)了對(duì)單板的并發(fā)升級(jí),因 此,進(jìn)程互斥檢測(cè)旨在避免多用戶同時(shí)重復(fù)執(zhí)行單板升級(jí);即當(dāng)系統(tǒng)被占用 進(jìn)行升級(jí)時(shí),避免其他用戶執(zhí)行升級(jí)。其實(shí)現(xiàn)方式具體為
a、 調(diào)用系統(tǒng)調(diào)用semget獲:f又指定進(jìn)程間通訊(IPC)信號(hào)量,若無(wú)則創(chuàng) 建該信號(hào)量;
b、 若信號(hào)量新創(chuàng)建則調(diào)用系統(tǒng)調(diào)用semctl設(shè)置信號(hào)量值為1;c、調(diào)用系統(tǒng)調(diào)用semop操作信號(hào)量,若調(diào)用成功則表示獲取到信號(hào)量值 1,即表示沒(méi)有其他用戶啟動(dòng)統(tǒng)一升級(jí)進(jìn)程,若無(wú)法調(diào)用則表示不能獲取到信 號(hào)量,即其他用戶正在對(duì)該單板執(zhí)行升級(jí),本用戶必須退出對(duì)該單板的升級(jí)。
6) 信息記錄統(tǒng)計(jì)單元,目的在于記錄軟件加載過(guò)程信息,調(diào)試信息等, 可用于升級(jí)完成后用戶查詢升級(jí)詳情和開(kāi)發(fā)調(diào)試定位。具體實(shí)現(xiàn)包括
a、 軟件升級(jí)過(guò)程中任何可用信息實(shí)時(shí)寫入文件,可以預(yù)置多個(gè)文件分別 記錄不同的信息;
b、 軟件加載完成后用戶可查看或保存文件內(nèi)容,了解各單板升級(jí)狀況。
7) 進(jìn)度顯示單元,例如可以采用百分比的方式同時(shí)顯示每塊服務(wù)器單板 軟件文件升級(jí)的進(jìn)度,便于用戶實(shí)時(shí)監(jiān)視升級(jí)過(guò)程;具體為
a、 加載模塊進(jìn)程啟動(dòng)時(shí)初始化進(jìn)度顯示變量;
b、 實(shí)時(shí)顯示每塊服務(wù)器單板升級(jí)進(jìn)度。
綜上所述,本發(fā)明實(shí)施例以命令形式新增加載控制單元,WEBUI直接調(diào) 用統(tǒng)一升級(jí)命令,以單板名稱、升級(jí)軟件名稱為參數(shù);統(tǒng)一升級(jí)命令執(zhí)行后 根據(jù)單板對(duì)象獲取其類型(通過(guò)與BMC建立SOL連接獲取),然后對(duì)升級(jí)軟 件解包并進(jìn)行版本匹配,對(duì)于版本匹配的軟件則加入升級(jí)列表,否則丟棄; 針對(duì)每塊升級(jí)單板創(chuàng)建一個(gè)傳送線程,線程的工作包括建立傳送連接,傳送 控制,連接拆除。具體的
傳送連接的建立首先,加載控制單元與IPMI之間建立TCP/IP連接, 應(yīng)用Telnet協(xié)議登錄到IPMI (作為telnet服務(wù)器),進(jìn)而,IPMI——BMC之 間建立SOL連接(使BMC串口重定向到IPMB),傳送協(xié)議采用XMODEM協(xié) 議。
傳送控制為了提高傳送效率,采用快速通道技術(shù)(即IPMI收發(fā)無(wú)確認(rèn)),實(shí)現(xiàn)了傳送的并發(fā)性,提高了多板同時(shí)升級(jí)的速度。由于采用XMODEM協(xié) 議模擬串口收發(fā)數(shù)據(jù),所以對(duì)收到的數(shù)據(jù)須加以特殊處理;傳送過(guò)程中每塊
單板的升級(jí)進(jìn)度實(shí)時(shí)定位顯示到IE界面。
傳送連接的拆除軟件傳送完畢,加載控制單元關(guān)閉各個(gè)線程的socket 連接,以通知IPMI斷開(kāi)與BMC的SOL連接并釋放資源。
軟件加載完成后在WEB頁(yè)面上顯示不同單板升級(jí)結(jié)果(成功或失敗), 同時(shí)保存了升級(jí)結(jié)果詳情以供用戶深入了解升級(jí)情況。
上文所述實(shí)施例中,以加載控制單元與智能平臺(tái)管理接口之間采用TCP 連接為例對(duì)本發(fā)明的實(shí)施例予以說(shuō)明。除所述TCP連接之外,本發(fā)明還可采 用諸如開(kāi)放系統(tǒng)互聯(lián)(OSI, Open System Internetwork)等其他方式的多任務(wù) 傳輸連接。
以下參照?qǐng)D7,說(shuō)明本發(fā)明提供的軟件加載方法實(shí)施例。
71、 下載升級(jí)文件,獲取用戶指令觸發(fā)加載控制單元執(zhí)行對(duì)單板的升級(jí); 由于一個(gè)機(jī)框中會(huì)有不同類型的單板,對(duì)應(yīng)的升級(jí)文件也不一樣;并且,本 發(fā)明中并不排除用戶可以只選擇對(duì)某種類型的單板進(jìn)行升級(jí),因此,本發(fā)明 實(shí)施例中,所述用戶指令確定待升級(jí)的單板標(biāo)識(shí)和升級(jí)文件標(biāo)識(shí);
72、 依據(jù)所述升級(jí)文件標(biāo)識(shí)獲取升級(jí)文件,采用多任務(wù)傳輸連接將所述 升級(jí)文件發(fā)送到智能平臺(tái)管理接口;其中,所述多任務(wù)傳輸連接包括TCP連 接或者OSI連接等方式;
73、 按照單板標(biāo)識(shí)采用串口重定向到LAN的連接將所述升級(jí)文件發(fā)送到 單板的智能平臺(tái)管理控制器。
上述實(shí)施例基礎(chǔ)上,在獲取升級(jí)文件后,可以進(jìn)一步針對(duì)用戶指令中確 定的每一單板,按照預(yù)置的對(duì)應(yīng)關(guān)系,基于單板類型對(duì)所述升級(jí)文件進(jìn)行版 本匹配,進(jìn)而針對(duì)每一匹配成功的單板執(zhí)行采用多任務(wù)傳輸連接將所述升級(jí)文件發(fā)送到智能平臺(tái)管理接口 ,以及按照單板標(biāo)識(shí)采用串口重定向到LAN的
連接將所述升級(jí)文件發(fā)送到單板的智能平臺(tái)管理控制器的操作。
在上述實(shí)施例基礎(chǔ)上,所述升級(jí)文件可以是被壓縮過(guò)的,進(jìn)而,在對(duì)升
級(jí)文件進(jìn)行版本匹配前還要進(jìn)行升級(jí)文件的解壓縮。
由以上技術(shù)方案可以看出,加載控制單元針對(duì)每塊單板啟動(dòng)一個(gè)線程和
創(chuàng)建一個(gè)傳送連接,實(shí)現(xiàn)多單板的并發(fā)升級(jí)。
由于本發(fā)明實(shí)施例能夠?qū)崿F(xiàn)對(duì)服務(wù)器多單板的并發(fā)升級(jí),因此,在上述
實(shí)施例基礎(chǔ)上,在基于單板類型對(duì)所述升級(jí)文件進(jìn)行版本匹配前還進(jìn)行進(jìn)程
互斥檢測(cè),具體的判斷單板是否處于升級(jí)狀態(tài),若判斷得到所述單板未處 于升級(jí)狀態(tài),則對(duì)用戶指令進(jìn)行解析。所述步驟避免了多用戶同時(shí)重復(fù)執(zhí)行 單板升級(jí),從而進(jìn)一步提高了系統(tǒng)升級(jí)的穩(wěn)定性和可靠性。
以上對(duì)本發(fā)明所提供的 一種通信系統(tǒng)及加載控制裝置進(jìn)行了詳細(xì)介紹, 對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在具體實(shí)施方式
及 應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明 的限制。
權(quán)利要求
1、一種通信系統(tǒng),包括機(jī)框管理子系統(tǒng)和至少一塊單板,其特征在于所述機(jī)框管理子系統(tǒng)包括網(wǎng)絡(luò)用戶接口、加載控制單元、智能平臺(tái)管理接口,其中網(wǎng)絡(luò)用戶接口,用于下載升級(jí)文件,獲取用戶指令觸發(fā)加載控制單元執(zhí)行對(duì)單板的升級(jí);所述用戶指令確定待升級(jí)的單板標(biāo)識(shí)和升級(jí)文件標(biāo)識(shí);加載控制單元,與智能平臺(tái)管理接口采用多任務(wù)傳輸連接,并控制智能平臺(tái)管理接口與所述智能平臺(tái)管理控制器建立串口重定向到LAN的連接;依據(jù)所述升級(jí)文件標(biāo)識(shí)獲取升級(jí)文件;依據(jù)所述單板標(biāo)識(shí)向單板執(zhí)行文件傳送;智能平臺(tái)管理接口,與加載控制單元建立TCP連接,與所述智能平臺(tái)管理控制器建立串口重定向到LAN的連接,執(zhí)行文件傳送;所述單板包括智能平臺(tái)管理控制器,用于與智能平臺(tái)管理接口建立串口重定向到LAN的連接,通過(guò)所述連接獲取所述升級(jí)文件。
2、 如權(quán)利要求l所述的系統(tǒng),其特征在于,面向每一待升級(jí)單板執(zhí)行文 件傳送前,還包括按照預(yù)置的對(duì)應(yīng)關(guān)系,基于單板的類型對(duì)所述升級(jí)文件的版本進(jìn)行匹配, 若匹配則^l行所述的文件傳送。
3、 如權(quán)利要求l所述的系統(tǒng),其特征在于 所述多任務(wù)傳輸連接為TCP連接,或者為OSI連接。
4、如權(quán)利要求1至3其中之一所述的系統(tǒng),其特征在于 加載控制單元,還用于判斷單板是否處于升級(jí)狀態(tài),若判斷得到所述單 板未處于升級(jí)狀態(tài),則對(duì)用戶指令進(jìn)行解析。
5、 如權(quán)利要求l所述的系統(tǒng),其特征在于 所述網(wǎng)絡(luò)用戶接口采用HTTP協(xié)議下載所述升級(jí)文件。
6、 一種加載控制裝置,其特征在于,包括參數(shù)解析單元,傳輸控制單 元;其中,參數(shù)解析單元,用于對(duì)獲取到的用戶指令進(jìn)行解析,獲得待加載的單板 標(biāo)識(shí)和升級(jí)文件標(biāo)識(shí);傳輸控制單元,建立與智能平臺(tái)管理接口的多任務(wù)傳輸連接;控制智能 平臺(tái)管理接口與單板的智能平臺(tái)管理控制器建立串口重定向到LAN的連接; 依據(jù)所述單板標(biāo)識(shí)執(zhí)行升級(jí)文件的傳送。
7、 如權(quán)利要求6所述的裝置,其特征在于,還包括 進(jìn)程互斥檢測(cè)單元,用于判斷單板是否正在執(zhí)行升級(jí),若判斷得到所述單板未處于升級(jí)狀態(tài),則觸發(fā)參數(shù)解析單元對(duì)用戶指令進(jìn)行解析。
8、 如權(quán)利要求6或7所述的裝置,其特征在于,還包括匹配單元,按照預(yù)置的對(duì)應(yīng)關(guān)系,基于所述待加載單板的類型,對(duì)升級(jí) 文件進(jìn)行版本匹配,若匹配則觸發(fā)傳輸控制單元。
9、 如權(quán)利要求8所述的裝置,其特征在于,還包括 信息記錄統(tǒng)計(jì)單元,用于按照預(yù)置的規(guī)則獲取其他各單元的處理進(jìn)度報(bào)告,并進(jìn)行記錄。
10、 一種軟件加載方法,其特征在于下載升級(jí)文件,獲取用戶指令觸發(fā)加載控制單元執(zhí)行對(duì)單々反的升級(jí);所 述用戶指令確定待升級(jí)的單板標(biāo)識(shí)和升級(jí)文件標(biāo)識(shí);依據(jù)所述升級(jí)文件標(biāo)識(shí)獲取升級(jí)文件,采用多任務(wù)傳輸連接將所述升級(jí) 文件發(fā)送到智能平臺(tái)管理接口 ,并按照單板標(biāo)識(shí)采用串口重定向到LAN的連 接將所述升級(jí)文件發(fā)送到單板的智能平臺(tái)管理控制器。
全文摘要
本發(fā)明公開(kāi)了一種通信系統(tǒng)、加載控制裝置及軟件加載方法。其中所述加載控制裝置包括參數(shù)解析單元,傳輸控制單元;所述參數(shù)解析單元,用于對(duì)獲取到的用戶指令進(jìn)行解析,獲得待加載的單板標(biāo)識(shí)和升級(jí)文件標(biāo)識(shí);所述傳輸控制單元,建立與智能平臺(tái)管理接口的多任務(wù)傳輸連接;控制智能平臺(tái)管理接口與單板的智能平臺(tái)管理控制器建立串口重定向到LAN的連接;依據(jù)所述單板標(biāo)識(shí)執(zhí)行升級(jí)文件的傳送。本發(fā)明實(shí)現(xiàn)了對(duì)系統(tǒng)單板的并發(fā)升級(jí)。
文檔編號(hào)H04L12/28GK101621437SQ20081012527
公開(kāi)日2010年1月6日 申請(qǐng)日期2008年6月30日 優(yōu)先權(quán)日2008年6月30日
發(fā)明者李小龍 申請(qǐng)人:華為技術(shù)有限公司