一種Expander適配配置文件的方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種Expander適配配置文件的方法及裝置,該方法包括:預(yù)先確定與每一個Expander的位置ID相對應(yīng)的配置文件的序號,以及確定包含每一個所述配置文件的配置文件組;首先,獲取目標(biāo)Expander的目標(biāo)位置ID;然后,獲取與所述目標(biāo)位置ID相對應(yīng)的目標(biāo)序號;最后,獲取所述配置文件組中的與所述目標(biāo)序號相對應(yīng)的目標(biāo)配置文件。由于在后期維護(hù)工作中無需關(guān)注每一個Expander及相應(yīng)配置文件的對應(yīng)關(guān)系,因此,本方案能夠減少相應(yīng)運(yùn)維的工作量。
【專利說明】
一種Expander適配配置文件的方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,特別涉及一種Expander適配配置文件的方法及裝 置。
【背景技術(shù)】
[0002] 存儲系統(tǒng)中一般有多級Expander,其中,Expander是用于硬盤擴(kuò)展的控制器。由于 每一個Expander的用途和硬件連接屬性均存在差異,故需要為各Expander分別配備不同的 配置文件,從而使各Expander通過相應(yīng)配置文件以適配自身的硬件差異。同時,因?qū)嶋H需 要,還需對全部配置文件進(jìn)行維護(hù),如對配置文件進(jìn)行更新、升級等。
[0003] 目前,通過確定每一個Expander及其相應(yīng)的配置文件的對應(yīng)關(guān)系,可以使各 Expander適配到相應(yīng)配置文件。
[0004] 但是,現(xiàn)有的實(shí)現(xiàn)方式會對相應(yīng)的后期維護(hù)工作造成很大困擾,尤其是配置文件 較多時,會大大增加運(yùn)維的工作量。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供了一種硬盤擴(kuò)展控制器Expander適配配置文件的方法及裝置,能夠減 少相應(yīng)運(yùn)維的工作量。
[0006] 為了達(dá)到上述目的,本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的:
[0007] -方面,本發(fā)明提供了一種Expander適配配置文件的方法,預(yù)先確定與每一個 Expander的位置ID相對應(yīng)的配置文件的序號,以及確定包含每一個所述配置文件的配置文 件組,還包括:
[0008] 獲取目標(biāo)Expander的目標(biāo)位置ID;
[0009] 獲取與所述目標(biāo)位置ID相對應(yīng)的目標(biāo)序號;
[0010] 獲取所述配置文件組中的與所述目標(biāo)序號相對應(yīng)的目標(biāo)配置文件。
[0011] 進(jìn)一步地,在所述確定包含每一個所述配置文件的配置文件組之前,還包括:
[0012] 將每一個所述配置文件分別制作為相應(yīng)的二進(jìn)制配置文件,其中,所述二進(jìn)制配 置文件由包含所述配置文件的大小的配置文件頭和包含所述配置文件的內(nèi)容的配置文件 體組成;
[0013] 根據(jù)預(yù)先設(shè)定的拼接順序,將所有所述二進(jìn)制配置文件拼接為一個配置文件組。
[0014] 進(jìn)一步地,所述獲取所述配置文件組中的與所述目標(biāo)序號相對應(yīng)的目標(biāo)配置文 件,包括:
[0015] 根據(jù)所述目標(biāo)序號,獲取相應(yīng)的目標(biāo)配置文件在所述配置文件組中的目標(biāo)偏移 量,以及所述目標(biāo)配置文件的目標(biāo)大??;
[0016] 根據(jù)所述目標(biāo)偏移量及所述目標(biāo)大小,獲取所述目標(biāo)配置文件。
[0017] 進(jìn)一步地,所述根據(jù)所述目標(biāo)序號,獲取相應(yīng)的目標(biāo)配置文件在所述配置文件組 中的目標(biāo)偏移量,以及所述目標(biāo)配置文件的目標(biāo)大小,包括:
[0018] 獲取所述配置文件組中的在所述目標(biāo)序號之前的所有第一配置文件的大??;
[0019] 根據(jù)所述所有第一配置文件的大小,計算與所述目標(biāo)序號相對應(yīng)的目標(biāo)偏移量;
[0020] 獲取所述配置文件組中的所述目標(biāo)偏移量位置處的目標(biāo)配置文件的目標(biāo)大小。 [0021 ] 進(jìn)一步地,在所述確定與每一個Expander的位置ID相對應(yīng)的配置文件的序號之 前,還包括:設(shè)置n個總線擴(kuò)展器GPI0,其中,所述GPI0具有高低兩種狀態(tài);確定與所述n個 GPI0相對應(yīng)的2n個位置ID;確定每一個Expander與所述2n個位置ID的對應(yīng)關(guān)系;
[0022]所述獲取目標(biāo)Expander的目標(biāo)位置ID,包括:開機(jī)讀取所述n個GPI0;根據(jù)每一個 所述GPI0的高低狀態(tài),獲得與目標(biāo)Expander相對應(yīng)的目標(biāo)位置ID。
[0023]另一方面,本發(fā)明提供了一種Expander適配配置文件的裝置,包括:
[0024] 確定單元,用于確定與每一個Expander的位置ID相對應(yīng)的配置文件的序號,以及 確定包含每一個所述配置文件的配置文件組;
[0025] 第一獲取單元,用于獲取目標(biāo)Expander的目標(biāo)位置ID;
[0026] 第二獲取單元,用于獲取與所述目標(biāo)位置ID相對應(yīng)的目標(biāo)序號;
[0027] 第三獲取單元,用于獲取所述配置文件組中的與所述目標(biāo)序號相對應(yīng)的目標(biāo)配置 文件。
[0028]進(jìn)一步地,該裝置還包括:第一處理單元,用于將每一個所述配置文件分別制作為 相應(yīng)的二進(jìn)制配置文件,其中,所述二進(jìn)制配置文件由包含所述配置文件的大小的配置文 件頭和包含所述配置文件的內(nèi)容的配置文件體組成;以及根據(jù)預(yù)先設(shè)定的拼接順序,將所 有所述二進(jìn)制配置文件拼接為一個配置文件組。
[0029]進(jìn)一步地,所述第三獲取單元,包括:
[0030]第一獲取子單元,用于根據(jù)所述目標(biāo)序號,獲取相應(yīng)的目標(biāo)配置文件在所述配置 文件組中的目標(biāo)偏移量,以及所述目標(biāo)配置文件的目標(biāo)大?。?br>[0031] 第二獲取子單元,用于根據(jù)所述目標(biāo)偏移量及所述目標(biāo)大小,獲取所述目標(biāo)配置 文件。
[0032] 進(jìn)一步地,所述第一獲取子單元,具體用于獲取所述配置文件組中的在所述目標(biāo) 序號之前的所有第一配置文件的大小;根據(jù)所述所有第一配置文件的大小,計算與所述目 標(biāo)序號相對應(yīng)的目標(biāo)偏移量;獲取所述配置文件組中的所述目標(biāo)偏移量位置處的目標(biāo)配置 文件的目標(biāo)大小。
[0033] 進(jìn)一步地,該裝置還包括:第二處理單元,用于設(shè)置n個GPI0,其中,所述GPI0具有 高低兩種狀態(tài);確定與所述n個GPI0相對應(yīng)的2n個位置ID;確定每一個Expander與所述2n個 位置ID的對應(yīng)關(guān)系;
[0034]所述第一獲取單元,用于開機(jī)讀取所述n個GPI0;根據(jù)每一個所述GPI0的高低狀 態(tài),獲得與目標(biāo)Expander相對應(yīng)的目標(biāo)位置ID。
[0035]本發(fā)明提供了一種Expander適配配置文件的方法及裝置,預(yù)先確定與每一個 Expander的位置ID相對應(yīng)的配置文件的序號,以及確定包含每一個所述配置文件的配置文 件組;首先,獲取目標(biāo)Expander的目標(biāo)位置ID;然后,獲取與所述目標(biāo)位置ID相對應(yīng)的目標(biāo) 序號;最后,獲取所述配置文件組中的與所述目標(biāo)序號相對應(yīng)的目標(biāo)配置文件。由于在后期 維護(hù)工作中無需關(guān)注每一個Expander及相應(yīng)配置文件的對應(yīng)關(guān)系,因此,本發(fā)明能夠減少 相應(yīng)運(yùn)維的工作量。
【附圖說明】
[0036]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明 的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù) 這些附圖獲得其他的附圖。
[0037]圖1是本發(fā)明一實(shí)施例提供的一種Expander適配配置文件的方法的流程圖;
[0038]圖2是本發(fā)明一實(shí)施例提供的另一種Expander適配配置文件的方法的流程圖; [0039]圖3是本發(fā)明一實(shí)施例提供的一種Expander適配配置文件的裝置的示意圖;
[0040]圖4是本發(fā)明一實(shí)施例提供的另一種Expander適配配置文件的裝置的示意圖。
【具體實(shí)施方式】
[0041] 為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0042] 如圖1所示,本發(fā)明實(shí)施例提供了一種硬盤擴(kuò)展控制器Expander適配配置文件的 方法,可以包括以下步驟:
[0043] 步驟101:預(yù)先確定與每一個Expander的位置ID相對應(yīng)的配置文件的序號,以及確 定包含每一個所述配置文件的配置文件組。
[0044] 步驟102:獲取目標(biāo)Expander的目標(biāo)位置ID。
[0045] 步驟103:獲取與所述目標(biāo)位置ID相對應(yīng)的目標(biāo)序號。
[0046] 步驟104:獲取所述配置文件組中的與所述目標(biāo)序號相對應(yīng)的目標(biāo)配置文件。
[0047] 本發(fā)明實(shí)施例提供了一種Expander適配配置文件的方法,預(yù)先確定與每一個 Expander的位置ID相對應(yīng)的配置文件的序號,以及確定包含每一個所述配置文件的配置文 件組;首先,獲取目標(biāo)Expander的目標(biāo)位置ID;然后,獲取與所述目標(biāo)位置ID相對應(yīng)的目標(biāo) 序號;最后,獲取所述配置文件組中的與所述目標(biāo)序號相對應(yīng)的目標(biāo)配置文件。由于在后期 維護(hù)工作中無需關(guān)注每一個Expander及相應(yīng)配置文件的對應(yīng)關(guān)系,因此,本發(fā)明實(shí)施例能 夠減少相應(yīng)運(yùn)維的工作量。
[0048] 在一種可能的實(shí)現(xiàn)方式中,為了方便系統(tǒng)能夠從配置文件組中快速準(zhǔn)確地讀取到 所需的配置文件,以及便于相應(yīng)運(yùn)維操作的進(jìn)行,所以,在所述確定包含每一個所述配置文 件的配置文件組之前,進(jìn)一步包括:
[0049] 將每一個所述配置文件分別制作為相應(yīng)的二進(jìn)制配置文件,其中,所述二進(jìn)制配 置文件由包含所述配置文件的大小的配置文件頭和包含所述配置文件的內(nèi)容的配置文件 體組成;
[0050] 根據(jù)預(yù)先設(shè)定的拼接順序,將所有所述二進(jìn)制配置文件拼接為一個配置文件組。
[0051] 在一種可能的實(shí)現(xiàn)方式中,為了說明一種從配置文件組中獲取所需配置文件的方 式,所以,所述獲取所述配置文件組中的與所述目標(biāo)序號相對應(yīng)的目標(biāo)配置文件,包括:
[0052] 根據(jù)所述目標(biāo)序號,獲取相應(yīng)的目標(biāo)配置文件在所述配置文件組中的目標(biāo)偏移 量,以及所述目標(biāo)配置文件的目標(biāo)大?。?br>[0053] 根據(jù)所述目標(biāo)偏移量及所述目標(biāo)大小,獲取所述目標(biāo)配置文件。
[0054] 在一種可能的實(shí)現(xiàn)方式中,為了詳細(xì)說明一種優(yōu)選的從配置文件組中獲取所需配 置文件的方式,所以,所述根據(jù)所述目標(biāo)序號,獲取相應(yīng)的目標(biāo)配置文件在所述配置文件組 中的目標(biāo)偏移量,以及所述目標(biāo)配置文件的目標(biāo)大小,包括:
[0055] 獲取所述配置文件組中的在所述目標(biāo)序號之前的所有第一配置文件的大小;
[0056] 根據(jù)所述所有第一配置文件的大小,計算與所述目標(biāo)序號相對應(yīng)的目標(biāo)偏移量;
[0057] 獲取所述配置文件組中的所述目標(biāo)偏移量位置處的目標(biāo)配置文件的目標(biāo)大小。 [0058]在一種可能的實(shí)現(xiàn)方式中,為了使系統(tǒng)在開機(jī)后能夠準(zhǔn)確確定每一個Expander的 位置ID,所以,在所述確定與每一個Expander的位置ID相對應(yīng)的配置文件的序號之前,進(jìn)一 步包括:設(shè)置n個GPI0(General Purpose Input Output,總線擴(kuò)展器),其中,所述GPI0具有 高低兩種狀態(tài);確定與所述n個GPI0相對應(yīng)的2n個位置ID;確定每一個Expander與所述2"個 位置ID的對應(yīng)關(guān)系;
[0059]所述獲取目標(biāo)Expander的目標(biāo)位置ID,包括:開機(jī)讀取所述n個GPI0;根據(jù)每一個 所述GPI0的高低狀態(tài),獲得與目標(biāo)Expander相對應(yīng)的目標(biāo)位置ID。
[0060]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖及具體實(shí)施例對本 發(fā)明作進(jìn)一步地詳細(xì)描述。
[0061 ]如圖2所示,本發(fā)明一個實(shí)施例提供了 Expander適配配置文件的方法,該方法可以 包括以下步驟:
[0062] 步驟201:設(shè)置3個GPI0,并確定與3個GPI0相對應(yīng)的8個位置ID。
[0063] 具體地,GPI0具有高低兩種狀態(tài),n個GPI0組合起來具有2"個狀態(tài)。
[0064] 舉例來說,存儲系統(tǒng)中有8個用于硬盤擴(kuò)展的Expander,但由于每一個Expander的 用途和硬件連接屬性均存在差異,故需要為每一個Expander配備相應(yīng)的配置文件以消除該 差異。
[0065]在本實(shí)施例中,對于存儲系統(tǒng)中的這8個Expander,硬件上可以設(shè)置3個固定的 GPI0用于位置區(qū)分。例如,若GPI0的高低狀態(tài)分別由0和1來表示,則這3個GPI0組合起來可 以表示8個狀態(tài),且每一個狀態(tài)均對應(yīng)一個可被計算機(jī)系統(tǒng)自動檢測到的位置ID。這8個位 置 ID 可以為:000、001、010、011、100、101、110、111。
[0066] 步驟202:確定8個Expander與8個位置ID的對應(yīng)關(guān)系,以及確定8個位置ID與8個配 置文件的序號的對應(yīng)關(guān)系。
[0067] 在本實(shí)施例中,為了能夠快速準(zhǔn)確的獲取到與每一個Expander相對應(yīng)的配置文 件,需要預(yù)先確定Expander和相應(yīng)位置ID的--對應(yīng)關(guān)系,如表1所示,以及確定位置ID和 配置文件的序號的一一對應(yīng)關(guān)系,如表2所示。
[0068] 表 1
[0072] 步驟203:將8個配置文件分別制作為相應(yīng)的二進(jìn)制配置文件,并根據(jù)預(yù)先設(shè)定的 拼接順序,將8個二進(jìn)制配置文件拼接為一個配置文件組。
[0073] 具體地,二進(jìn)制配置文件由配置文件頭和配置文件體兩部分組成,其中,配置文件 頭包含配置文件的大小,配置文件體包含配置文件的內(nèi)容。
[0074] 在本實(shí)施例中,可以將配置文件設(shè)置為適用于相應(yīng)Expander的配置信息,且配置 文件以二進(jìn)制文件的方式存在??梢灶A(yù)先確定全部配置文件的拼接順序,并通過二進(jìn)制文 件編輯工具,將8個二進(jìn)制文件拼接為一個配置文件組。例如,可以按照配置文件的序號由 小到大的拼接順序進(jìn)行拼接,那么該配置文件組可以如下所示:
[0075] 配置文件頭0 [0076] 配置文件體0 [0077]配置文件頭1 [0078] 配置文件體1 [0079]……
[0080] 配置文件頭7 [0081 ] 配置文件體7
[0082]在本實(shí)施例中,可以預(yù)先將全部配置文件拼接在一起形成一個配置文件組,并通 過多層對應(yīng)關(guān)系的轉(zhuǎn)換,從該配置文件組中讀取所需配置文件。這一實(shí)現(xiàn)方式無需關(guān)注每 一個Expander及相應(yīng)配置文件的對應(yīng)關(guān)系,故在后續(xù)運(yùn)維過程中,可以有效避免因配置文 件較多等因素所造成的更新升級費(fèi)時費(fèi)力、運(yùn)維工作量大、運(yùn)維效率低、配置文件易燒寫錯 亂情況。
[0083] 步驟204:將配置文件組燒錄到FLASH區(qū)域的配置文件區(qū)域中。
[0084] 詳細(xì)地,一個FLASH可以分成多個FLASH區(qū)域,可以確定一個特定的FLASH區(qū)域用于 存放配置文件組。此外,該特定的FLASH區(qū)域可以有固件區(qū)域和配置文件區(qū)域兩部分組成, 其中,固件區(qū)域可以存放用于實(shí)現(xiàn)Expander自動適配相應(yīng)配置文件的代碼程序,配置文件 區(qū)域可以存放包含全部配置文件的配置文件組。例如,可以預(yù)先設(shè)置配置文件自動適配流 程,并將其加入到Expander固件代碼中。
[0085]在本實(shí)施例中,可以通過燒錄工具,將拼接好的配置文件組燒錄到配置文件區(qū)域 中。
[0086] 步驟205:開機(jī)讀取3個GPI0,并根據(jù)每一個GPI0的高低狀態(tài),獲得與目標(biāo)Expander 相對應(yīng)的位置ID010。
[0087]在本實(shí)施例中,開機(jī)后計算機(jī)系統(tǒng)讀取預(yù)先設(shè)定的3個固定的GPI0,并根據(jù)這3個 GPI0中每一個GPI0的高低狀態(tài),獲取位置ID。例如,若獲取到的位置ID為010,由表1可知,相 應(yīng)的目標(biāo) Expander 為Expander3〇 [0088] 步驟206:獲取與位置ID010相對應(yīng)的序號3。
[0089]在本實(shí)施例中,根據(jù)獲取到的位置I DO 10,由表2可知,與位置I DO 10相對應(yīng)的目標(biāo) 配置文件的序號為3,則進(jìn)一步說明所需的目標(biāo)配置文件為配置文件2。
[0090] 步驟207:根據(jù)獲取到的序號3,讀取配置文件組中的配置文件頭0和配置文件頭1, 并計算相應(yīng)的目標(biāo)偏移量。
[0091] 在本實(shí)施例中,根據(jù)序號3,可知與序號3所對應(yīng)的配置文件2在配置文件組中處于 第3排序位置處,故需要獲取配置文件組中的在序號3之前的所有配置文件的大小,即需要 讀取配置文件組中的配置文件頭〇和配置文件頭1,以獲取相應(yīng)的配置文件〇的大小和配置 文件1的大小。
[0092] 在本實(shí)施例中,偏移量即在配置文件組中的位置。因此,根據(jù)讀取到的在序號3之 前的所有配置文件的大小,可以計算該所有配置文件的大小的總和,以確定目標(biāo)偏移量。
[0093] 步驟208:讀取配置文件組中在目標(biāo)偏移量位置處的配置文件頭2。
[0094] 在本實(shí)施例中,在確定了目標(biāo)偏移量,即確定了所需配置文件2在配置文件組中的 起始位置之后,可以讀取配置文件組中在目標(biāo)偏移量位置處的配置文件頭2,以確定相應(yīng)的 配置文件2的大小,從而確定了配置文件2在配置文件組中的終止位置。
[0095] 步驟209:根據(jù)獲取到的目標(biāo)偏移量及配置文件頭2,讀取配置文件體2以獲取相應(yīng) 的目標(biāo)配置文件。
[0096] 在本實(shí)施例中,通過讀取配置文件頭2,可以獲取到配置文件2的大小,從而可以在 配置文件組的目標(biāo)偏移量位置處讀取相應(yīng)大小的內(nèi)容,且讀取到的內(nèi)容即為所需的與 Expander3相對應(yīng)的配置文件2。
[0097] 在本實(shí)施例中,需要獲取所需配置文件在配置文件組中的偏移量及該配置文件的 大小,并讀取該偏移量位置處相應(yīng)大小的內(nèi)容,從而完成所需配置文件的獲取操作,而非從 配置文件組中直接讀取所需配置文件。由于在后續(xù)運(yùn)維過程中,可能需要對部分配置文件 進(jìn)行更新升級,通過本實(shí)施例所提供的這一配置文件獲取方式,可以僅對待更新的內(nèi)容部 分進(jìn)行相應(yīng)修改,而無需關(guān)注每一個配置文件在配置文件組中的具體詳細(xì)位置信息等,故 能夠有效減少相應(yīng)運(yùn)維操作的工作量和提供運(yùn)維效率。
[0098]通過這一實(shí)現(xiàn)方式,不僅可以實(shí)現(xiàn)存儲系統(tǒng)中多Expander對相應(yīng)配置文件的快速 自動適配,而且有益于簡化相應(yīng)運(yùn)維操作,減少運(yùn)維工作量,提高運(yùn)維效率,避免燒寫錯亂 現(xiàn)象。
[0099]如圖3所示,本發(fā)明實(shí)施例提供了一種Expander適配配置文件的裝置,包括:
[0100] 確定單元301,用于確定與每一個Expander的位置ID相對應(yīng)的配置文件的序號,以 及確定包含每一個所述配置文件的配置文件組;
[0101] 第一獲取單元302,用于獲取目標(biāo)Expander的目標(biāo)位置ID;
[0102] 第二獲取單元303,用于獲取與所述目標(biāo)位置ID相對應(yīng)的目標(biāo)序號;
[0103]第三獲取單元304,用于獲取所述配置文件組中的與所述目標(biāo)序號相對應(yīng)的目標(biāo) 配置文件。
[0104] 在一種可能的實(shí)現(xiàn)方式中,請參考圖4,該裝置還可以包括:第一處理單元401,用 于將每一個所述配置文件分別制作為相應(yīng)的二進(jìn)制配置文件,其中,所述二進(jìn)制配置文件 由包含所述配置文件的大小的配置文件頭和包含所述配置文件的內(nèi)容的配置文件體組成; 以及根據(jù)預(yù)先設(shè)定的拼接順序,將所有所述二進(jìn)制配置文件拼接為一個配置文件組。
[0105] 在一種可能的實(shí)現(xiàn)方式中,請參考圖4,所述第三獲取單元304,包括:
[0106]第一獲取子單元3041,用于根據(jù)所述目標(biāo)序號,獲取相應(yīng)的目標(biāo)配置文件在所述 配置文件組中的目標(biāo)偏移量,以及所述目標(biāo)配置文件的目標(biāo)大??;
[0107] 第二獲取子單元3042,用于根據(jù)所述目標(biāo)偏移量及所述目標(biāo)大小,獲取所述目標(biāo) 配置文件。
[0108] 在一種可能的實(shí)現(xiàn)方式中,所述第一獲取子單元3041,具體用于獲取所述配置文 件組中的在所述目標(biāo)序號之前的所有第一配置文件的大小;根據(jù)所述所有第一配置文件的 大小,計算與所述目標(biāo)序號相對應(yīng)的目標(biāo)偏移量;獲取所述配置文件組中的所述目標(biāo)偏移 量位置處的目標(biāo)配置文件的目標(biāo)大小。
[0109] 在一種可能的實(shí)現(xiàn)方式中,請參考圖4,該裝置還可以包括:第二處理單元402,用 于設(shè)置n個GPI0,其中,所述GPI0具有高低兩種狀態(tài);確定與所述n個GPI0相對應(yīng)的2 n個位置 ID;確定每一個Expander與所述2n個位置ID的對應(yīng)關(guān)系;
[0110]所述第一獲取單元302,用于開機(jī)讀取所述n個GPI0;根據(jù)每一個所述GPI0的高低 狀態(tài),獲得與目標(biāo)Expander相對應(yīng)的目標(biāo)位置ID。
[0111] 上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施 例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
[0112] 綜上所述,本發(fā)明的各個實(shí)施例至少具有如下有益效果:
[0113] 1、本發(fā)明實(shí)施例中,預(yù)先確定與每一個Expander的位置ID相對應(yīng)的配置文件的序 號,以及確定包含每一個所述配置文件的配置文件組;首先,獲取目標(biāo)Expander的目標(biāo)位置 ID;然后,獲取與所述目標(biāo)位置ID相對應(yīng)的目標(biāo)序號;最后,獲取所述配置文件組中的與所 述目標(biāo)序號相對應(yīng)的目標(biāo)配置文件。由于在后期維護(hù)工作中無需關(guān)注每一個Expander及相 應(yīng)配置文件的對應(yīng)關(guān)系,因此,本發(fā)明實(shí)施例能夠減少相應(yīng)運(yùn)維的工作量。
[0114] 2、本發(fā)明實(shí)施例中,可以預(yù)先將全部配置文件拼接在一起形成一個配置文件組, 并通過多層對應(yīng)關(guān)系的轉(zhuǎn)換,從該配置文件組中讀取所需配置文件。這一實(shí)現(xiàn)方式無需關(guān) 注每一個Expander及相應(yīng)配置文件的對應(yīng)關(guān)系,故在后續(xù)運(yùn)維過程中,可以有效避免因配 置文件較多等因素所造成的更新升級費(fèi)時費(fèi)力、運(yùn)維工作量大、運(yùn)維效率低、配置文件易燒 寫錯亂情況。
[0115] 3、本發(fā)明實(shí)施例中,需要獲取所需配置文件在配置文件組中的偏移量及該配置文 件的大小,并讀取該偏移量位置處相應(yīng)大小的內(nèi)容,從而完成所需配置文件的獲取操作,而 非從配置文件組中直接讀取所需配置文件。由于在后續(xù)運(yùn)維過程中,可能需要對部分配置 文件進(jìn)行更新升級,通過本實(shí)施例所提供的這一配置文件獲取方式,可以僅對待更新的內(nèi) 容部分進(jìn)行相應(yīng)修改,而無需關(guān)注每一個配置文件在配置文件組中的具體詳細(xì)位置信息 等,故能夠有效減少相應(yīng)運(yùn)維操作的工作量和提供運(yùn)維效率。
[0116] 4、本發(fā)明實(shí)施例中,不僅可以實(shí)現(xiàn)存儲系統(tǒng)中多Expander對相應(yīng)配置文件的快速 自動適配,而且有益于簡化相應(yīng)運(yùn)維操作,減少運(yùn)維工作量,提高運(yùn)維效率,避免燒寫錯亂 現(xiàn)象。
[0117]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體 或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在 任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵蓋非 排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素, 而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固 有的要素。在沒有更多限制的情況下,由語句"包括一個〃....."限定的要素,并不排 除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0118] 本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過 程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機(jī)可讀取的存儲介質(zhì)中,該程序 在執(zhí)行時,執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光 盤等各種可以存儲程序代碼的介質(zhì)中。
[0119] 最后需要說明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說明本發(fā)明的技 術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、 等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種硬盤擴(kuò)展控制器Expander適配配置文件的方法,其特征在于,預(yù)先確定與每一 個Expander的位置ID相對應(yīng)的配置文件的序號,以及確定包含每一個所述配置文件的配置 文件組,還包括: 獲取目標(biāo)Expander的目標(biāo)位置ID; 獲取與所述目標(biāo)位置ID相對應(yīng)的目標(biāo)序號; 獲取所述配置文件組中的與所述目標(biāo)序號相對應(yīng)的目標(biāo)配置文件。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述確定包含每一個所述配置文件的配 置文件組之前,進(jìn)一步包括: 將每一個所述配置文件分別制作為相應(yīng)的二進(jìn)制配置文件,其中,所述二進(jìn)制配置文 件由包含所述配置文件的大小的配置文件頭和包含所述配置文件的內(nèi)容的配置文件體組 成; 根據(jù)預(yù)先設(shè)定的拼接順序,將所有所述二進(jìn)制配置文件拼接為一個配置文件組。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取所述配置文件組中的與所述目標(biāo) 序號相對應(yīng)的目標(biāo)配置文件,包括: 根據(jù)所述目標(biāo)序號,獲取相應(yīng)的目標(biāo)配置文件在所述配置文件組中的目標(biāo)偏移量,以 及所述目標(biāo)配置文件的目標(biāo)大小; 根據(jù)所述目標(biāo)偏移量及所述目標(biāo)大小,獲取所述目標(biāo)配置文件。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述目標(biāo)序號,獲取相應(yīng)的目標(biāo) 配置文件在所述配置文件組中的目標(biāo)偏移量,以及所述目標(biāo)配置文件的目標(biāo)大小,包括: 獲取所述配置文件組中的在所述目標(biāo)序號之前的所有第一配置文件的大?。? 根據(jù)所述所有第一配置文件的大小,計算與所述目標(biāo)序號相對應(yīng)的目標(biāo)偏移量; 獲取所述配置文件組中的所述目標(biāo)偏移量位置處的目標(biāo)配置文件的目標(biāo)大小。5. 根據(jù)權(quán)利要求1至4中任一所述的方法,其特征在于, 在所述確定與每一個Expander的位置ID相對應(yīng)的配置文件的序號之前,進(jìn)一步包括: 設(shè)置η個總線擴(kuò)展器GPIO,其中,所述GPIO具有高低兩種狀態(tài);確定與所述η個GPIO相對應(yīng)的 2η個位置ID;確定每一個Expander與所述2 η個位置ID的對應(yīng)關(guān)系; 所述獲取目標(biāo)Expander的目標(biāo)位置ID,包括:開機(jī)讀取所述η個GPIO;根據(jù)每一個所述 GPIO的高低狀態(tài),獲得與目標(biāo)Expander相對應(yīng)的目標(biāo)位置ID。6. -種Expander適配配置文件的裝置,其特征在于,包括: 確定單元,用于確定與每一個Expander的位置ID相對應(yīng)的配置文件的序號,以及確定 包含每一個所述配置文件的配置文件組; 第一獲取單元,用于獲取目標(biāo)Expander的目標(biāo)位置ID; 第二獲取單元,用于獲取與所述目標(biāo)位置ID相對應(yīng)的目標(biāo)序號; 第三獲取單元,用于獲取所述配置文件組中的與所述目標(biāo)序號相對應(yīng)的目標(biāo)配置文 件。7. 根據(jù)權(quán)利要求6所述的Expander適配配置文件的裝置,其特征在于,還包括:第一處 理單元,用于將每一個所述配置文件分別制作為相應(yīng)的二進(jìn)制配置文件,其中,所述二進(jìn)制 配置文件由包含所述配置文件的大小的配置文件頭和包含所述配置文件的內(nèi)容的配置文 件體組成;以及根據(jù)預(yù)先設(shè)定的拼接順序,將所有所述二進(jìn)制配置文件拼接為一個配置文 件組。8. 根據(jù)權(quán)利要求6所述的Expander適配配置文件的裝置,其特征在于,所述第三獲取單 元,包括: 第一獲取子單元,用于根據(jù)所述目標(biāo)序號,獲取相應(yīng)的目標(biāo)配置文件在所述配置文件 組中的目標(biāo)偏移量,以及所述目標(biāo)配置文件的目標(biāo)大??; 第二獲取子單元,用于根據(jù)所述目標(biāo)偏移量及所述目標(biāo)大小,獲取所述目標(biāo)配置文件。9. 根據(jù)權(quán)利要求8所述的Expander適配配置文件的裝置,其特征在于,所述第一獲取子 單元,具體用于獲取所述配置文件組中的在所述目標(biāo)序號之前的所有第一配置文件的大 小;根據(jù)所述所有第一配置文件的大小,計算與所述目標(biāo)序號相對應(yīng)的目標(biāo)偏移量;獲取所 述配置文件組中的所述目標(biāo)偏移量位置處的目標(biāo)配置文件的目標(biāo)大小。10. 根據(jù)權(quán)利要求6至9中任一所述的Expander適配配置文件的裝置,其特征在于,還包 括: 第二處理單元,用于設(shè)置η個GPIO,其中,所述GPIO具有高低兩種狀態(tài);確定與所述η個 GPIO相對應(yīng)的2η個位置ID;確定每一個Expander與所述2η個位置ID的對應(yīng)關(guān)系; 所述第一獲取單元,用于開機(jī)讀取所述η個GPIO;根據(jù)每一個所述GPIO的高低狀態(tài),獲 得與目標(biāo)Expander相對應(yīng)的目標(biāo)位置ID。
【文檔編號】G06F13/16GK105912265SQ201610203695
【公開日】2016年8月31日
【申請日】2016年4月1日
【發(fā)明人】王興隆, 喬英良, 班華堂
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司