軟件通信體系架構(gòu)中的資源分配方法
【專利摘要】本發(fā)明揭示一種軟件通信體系架構(gòu)中的資源分配方法,包括如下步驟(1)修改核心框架的應(yīng)用工廠為上層應(yīng)用提供的接口的入口參數(shù)為應(yīng)用名稱、初始化參數(shù)配置和組件器件配對(duì)表,其中組件器件配對(duì)表由核心框架之外的資源分配算法生成;(2)核心框架根據(jù)用戶設(shè)置所要?jiǎng)?chuàng)建應(yīng)用的名稱讀取該應(yīng)用的域描述文件,從中獲取該應(yīng)用的安裝、創(chuàng)建及配置信息,以及每個(gè)組件對(duì)物理資源的依賴關(guān)系;(3)按照初始化參數(shù)配置的要求來(lái)配置應(yīng)用組件的參數(shù);(4)由外部的資源分配算法生成組件器件配對(duì)表,根據(jù)組件器件配對(duì)表得到應(yīng)用組件和相應(yīng)的確定器件的配對(duì)關(guān)系序列,完成資源分配,實(shí)現(xiàn)應(yīng)用的創(chuàng)建。
【專利說(shuō)明】軟件通信體系架構(gòu)中的資源分配方法
【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明涉及軟件無(wú)線電(以下簡(jiǎn)稱SDR)系統(tǒng)中通用資源的分配方法,尤其涉及軟件通信體系架構(gòu)(以下簡(jiǎn)稱SCA)中的通用資源分配方法。
【【背景技術(shù)】】
[0002]SCA定義了用于管理、控制、配置SDR的軟件體系架構(gòu),由接口、行為規(guī)范、一般規(guī)貝U、波形應(yīng)用程序接口以及所需的安全需求構(gòu)成,是一組用來(lái)實(shí)現(xiàn)軟件無(wú)線電的規(guī)則、方法和設(shè)計(jì)標(biāo)準(zhǔn),它獨(dú)立于實(shí)現(xiàn)的框架,約束SDR系統(tǒng)設(shè)計(jì)以幫助達(dá)到設(shè)計(jì)目標(biāo)。
[0003]請(qǐng)參閱圖1所示,為SCA資源管理層次示意圖,其中域管理器是SCA體系結(jié)構(gòu)中進(jìn)行整個(gè)域管理的核心,管理著設(shè)備管理器、文件管理器、應(yīng)用工廠以及應(yīng)用,設(shè)備管理器負(fù)責(zé)創(chuàng)建邏輯設(shè)備和在這些邏輯設(shè)備上創(chuàng)建服務(wù)應(yīng)用。資源分配算法通過(guò)訪問(wèn)邏輯設(shè)備獲取邏輯設(shè)備的各項(xiàng)屬性,將其與應(yīng)用組件的需求進(jìn)行動(dòng)態(tài)匹配。
[0004]SCA中的核心框架(以下簡(jiǎn)稱CF)是開(kāi)放軟件接口和描述體的基本核心集,這些接口和描述體用于嵌入式通信系統(tǒng)中的軟件應(yīng)用單元的配置、管理、互聯(lián)以及通信。CF提供的管理機(jī)制則可以有效地進(jìn)行軟硬件資源的分配與管理。
[0005]資源的通用性是衡量SDR平臺(tái)的關(guān)鍵要素之一,其對(duì)系統(tǒng)功能重構(gòu)和可靠性影響深遠(yuǎn)。通用資源較傳統(tǒng)的專用資源更為靈活,但同時(shí)也面臨著資源分配的問(wèn)題。對(duì)小規(guī)模SDR系統(tǒng)而言,由于資源少,系統(tǒng)復(fù)雜度不高,使用CF的資源分配機(jī)制給系統(tǒng)實(shí)現(xiàn)帶來(lái)便利。但在大規(guī)模SDR系統(tǒng)中,設(shè)計(jì)人員對(duì)系統(tǒng)的管理要求較高。對(duì)于上層應(yīng)用而言,SDR平臺(tái)是一個(gè)公共的資源池,不同的系統(tǒng)對(duì)資源分配規(guī)則有著不同的要求。因此,SCA架構(gòu)中創(chuàng)建應(yīng)用的方法降低了大 規(guī)模SDR系統(tǒng)的管理靈活性,導(dǎo)致系統(tǒng)在綜合性能的提升上先天不足。綜上所述,CF在資源分配方面的弊端主要包括以下三點(diǎn):
[0006]1.資源分配不可控;
[0007]2.資源分配靈活性差;
[0008]3.資源分配策略的變更會(huì)導(dǎo)致對(duì)CF的深度測(cè)試和驗(yàn)證成本過(guò)高。
[0009]【
【發(fā)明內(nèi)容】
】(代理人后補(bǔ))
[0010]本發(fā)明的目的在于提供一種軟件通信體系架構(gòu)中的資源分配方法,用以解決現(xiàn)有SCA中的核心框架在資源分配方面存在的不可控、靈活性差以及資源分配策略的變更會(huì)導(dǎo)致對(duì)CF的深度測(cè)試和驗(yàn)證成本過(guò)高的問(wèn)題。
[0011]為實(shí)現(xiàn)上述目的,實(shí)施本發(fā)明的軟件通信體系架構(gòu)中的資源分配方法,包括如下步驟:
[0012]步驟一,修改核心框架的應(yīng)用工廠為上層應(yīng)用提供的接口的入口參數(shù)為應(yīng)用名稱、初始化參數(shù)配置和組件器件配對(duì)表,其中組件器件配對(duì)表由CF之外的資源分配算法生成;
[0013]步驟二,CF根據(jù)用戶設(shè)置所要?jiǎng)?chuàng)建應(yīng)用的名稱讀取該應(yīng)用的域描述文件,從中獲取該應(yīng)用的安裝、創(chuàng)建及配置信息,以及每個(gè)組件對(duì)物理資源的依賴關(guān)系;[0014]步驟三,按照初始化參數(shù)配置的要求來(lái)配置應(yīng)用組件的參數(shù);
[0015]步驟四,由外部的資源分配算法生成組件器件配對(duì)表,根據(jù)組件器件配對(duì)表得到應(yīng)用組件和相應(yīng)的確定器件的配對(duì)關(guān)系序列,完成資源分配,實(shí)現(xiàn)應(yīng)用的創(chuàng)建。
[0016]依據(jù)上述主要特征,外部的資源分配算法生成組件器件配對(duì)表的具體方法如下:
[0017](I)通過(guò)域管理器獲取設(shè)備管理器對(duì)象,通過(guò)設(shè)備管理器獲取當(dāng)前系統(tǒng)已注冊(cè)邏輯設(shè)備列表;
[0018](2)獲取已注冊(cè)邏輯設(shè)備屬性,包括設(shè)備類型、設(shè)備標(biāo)識(shí)名以及可用狀態(tài)等;
[0019](3)在已注冊(cè)的可用邏輯設(shè)備列表中,按照類型將設(shè)備分為GPP設(shè)備、DSP設(shè)備和FPGA設(shè)備,以便之后為相應(yīng)的應(yīng)用組件分配資源;
[0020](4)資源分配算法根據(jù)應(yīng)用的GPP組件對(duì)硬件資源的需求,到上一步所獲取的GPP設(shè)備列表中進(jìn)行遍歷匹配,邏輯設(shè)備的屬性是由硬件的實(shí)際使用情況來(lái)更新的,資源分配算法會(huì)為應(yīng)用組件分配能夠滿足需求的設(shè)備;
[0021](5)如上所述,資源分配算法繼續(xù)為應(yīng)用的DSP組件和FPGA組件分配相應(yīng)的設(shè)備資源;
[0022](6)將應(yīng)用組件和邏輯設(shè)備所形成的設(shè)備分配序列寫(xiě)入該應(yīng)用的WDD文件中;
[0023](7)用戶讀取該應(yīng)用的WDD文件,得到應(yīng)用組件和邏輯設(shè)備的對(duì)應(yīng)關(guān)系,作為CF的接口的組件器件配對(duì)表參數(shù);
[0024](8) CF之外的動(dòng)態(tài)資源分配算法干預(yù)到CF內(nèi)部,為了避免外部算法與CF發(fā)生沖突,在CF執(zhí)行應(yīng)用加載前,對(duì)資源分配結(jié)果進(jìn)行驗(yàn)證,驗(yàn)證通過(guò),執(zhí)行加載操作;
[0025](9)通過(guò)對(duì)不同的應(yīng)用設(shè)置相應(yīng)的優(yōu)先級(jí),在硬件資源有限的情況下,當(dāng)所獲得的設(shè)備能力不能夠滿足當(dāng)前應(yīng)用的需求時(shí),根據(jù)應(yīng)用的優(yōu)先級(jí)別將低優(yōu)先級(jí)的應(yīng)用卸載,為高優(yōu)先級(jí)的應(yīng)用重新分配資源。
[0026]依據(jù)上述主要特征,該方法還包括在系統(tǒng)故障后的動(dòng)態(tài)容錯(cuò)步驟,該步驟包括:
[0027]a.故障會(huì)以最高優(yōu)先級(jí)中斷至故障處理程序中,故障處理程序?qū)收系念愋瓦M(jìn)行判斷,如果是器件級(jí)別的故障,系統(tǒng)將對(duì)應(yīng)的邏輯設(shè)備可用屬性設(shè)置為不可用;如果是模塊級(jí)別的故障,則將該模塊所涉及的所有邏輯設(shè)備設(shè)置為不可用;
[0028]b.產(chǎn)生故障的邏輯設(shè)備將被隔離,即系統(tǒng)將不會(huì)再查詢發(fā)生故障設(shè)備的各類屬性,以免造成不必要的系統(tǒng)資源開(kāi)銷,資源分配算法也將得到一個(gè)新的可用設(shè)備序列;
[0029]c.故障設(shè)備所加載的應(yīng)用組件將被自動(dòng)卸載,資源分配算法根據(jù)新的可用設(shè)備序列為應(yīng)用組件分配相應(yīng)的資源,系統(tǒng)調(diào)用CF的接口創(chuàng)建應(yīng)用。
[0030]與現(xiàn)有技術(shù)相比較,本發(fā)明具有以下優(yōu)點(diǎn):
[0031](I)本發(fā)明在完全兼容SCA規(guī)范的前提下,通過(guò)修改CF接口入口參數(shù),簡(jiǎn)化接口行為,實(shí)現(xiàn)外部資源分配算法,以提高系統(tǒng)靈活性的方法;
[0032](2)本發(fā)明通過(guò)將當(dāng)前實(shí)際的設(shè)備屬性與應(yīng)用組件需求相對(duì)比的方法,實(shí)現(xiàn)軟件資源與硬件資源的最優(yōu)匹配??梢愿鶕?jù)應(yīng)用的優(yōu)先級(jí)別,在有限的硬件資源上動(dòng)態(tài)的部署相應(yīng)的組件;
[0033](3)本發(fā)明能夠在故障狀態(tài)下自適應(yīng)動(dòng)態(tài)重構(gòu)應(yīng)用組件,在不需要人為干預(yù)的情況下能夠自主地恢復(fù)應(yīng)用的功能。【【專利附圖】
【附圖說(shuō)明】】
[0034]圖1是SCA資源管理層次示意圖。
[0035]圖2是外部算法干預(yù)的資源分配過(guò)程的流程圖。
[0036]圖3是應(yīng)用組件故障狀態(tài)下的動(dòng)態(tài)重構(gòu)過(guò)程的流程圖。
[0037]圖4是軟件通信體系架構(gòu)中資源分配實(shí)施方案的硬件系統(tǒng)框圖。
【【具體實(shí)施方式】】
[0038]為便于理解,以下先對(duì)后文中應(yīng)用的相關(guān)述語(yǔ)的定義進(jìn)行說(shuō)明。
[0039]域描述文件一為一組可擴(kuò)展標(biāo)記語(yǔ)言(以下簡(jiǎn)稱XML)文件,這些文件描述了系統(tǒng)的硬件和軟件成員及其特點(diǎn)、互聯(lián)關(guān)系等。
[0040]應(yīng)用一為執(zhí)行一個(gè)特定的遵從SCA功能的程序,由一個(gè)或多個(gè)資源組成。
[0041]資源一為具有某種標(biāo)準(zhǔn)接口的軟件模塊,可形成特定的應(yīng)用程序,這些應(yīng)用程序?qū)⑼瓿商囟ǖ耐ㄐ殴δ芎蛥f(xié)議,包括軟件資源和邏輯設(shè)備。
[0042]域管理器一負(fù)責(zé)域內(nèi)軟件資源、邏輯設(shè)備、波形應(yīng)用、服務(wù)等的控制、配置和管理的模塊。
[0043]波形部屬描述文件(以下簡(jiǎn)稱WDD文件)-為保存應(yīng)用組件與邏輯設(shè)備匹配關(guān)系的XML文件,描述了應(yīng)用組件在設(shè)備資源上的部署情況,由外部分配算法生成。
[0044]軟件裝配描述文件(以下簡(jiǎn)稱SAD)-包含了組成應(yīng)用的所有組件地相關(guān)信息,用以描述自身的裝配以及組成組件間的互聯(lián),它為域的管理提供了四種類型的基本信息:組件配置的需求、軟件裝配時(shí)的裝配控制器、組件間的連接信息及應(yīng)用對(duì)外可見(jiàn)端口。
[0045]實(shí)施本發(fā)明的軟件通信體系架構(gòu)中的資源分配方法包括如下方法:
[0046]步驟一,修改CF的應(yīng)用工廠為上層應(yīng)用提供的接口的入口參數(shù)。
[0047]SCA中的CF的應(yīng)用工廠為上層應(yīng)用提供了 CreateO接口,從獲取應(yīng)用屬性開(kāi)始到完成系統(tǒng)中該應(yīng)用的創(chuàng)建,Create O接口調(diào)用了這個(gè)過(guò)程中CF的全部行為,其中包括CF對(duì)系統(tǒng)資源的分配。該CreateO接口有三個(gè)入口參數(shù),分別是應(yīng)用名稱、初始化參數(shù)配置和設(shè)備分配序列。在CF內(nèi)部存在資源分配機(jī)制,在為應(yīng)用分配容量過(guò)程中,CF將應(yīng)用的域描述文件所描述的應(yīng)用組件的分配屬性與已注冊(cè)設(shè)備序列中設(shè)備屬性逐一比較,當(dāng)找到能滿足組件的分配需求時(shí),將設(shè)備分配給該組件。
[0048]為配合CF之外的資源分配算法,本發(fā)明對(duì)CF的CreateO接口的入口參數(shù)修改為應(yīng)用名稱、初始化參數(shù)配置和組件器件配對(duì)表。其中組件器件配對(duì)表由CF之外的資源分配算法生成,它決定了該應(yīng)用的每個(gè)組件加載在哪個(gè)確定的器件上,用戶根據(jù)系統(tǒng)實(shí)際需求設(shè)計(jì)資源分配算法,該算法獨(dú)立于CF之外,因此使SCA架構(gòu)允許來(lái)自第三方的資源分配算法,從而具備更多的靈活性和開(kāi)放性。
[0049]步驟二,CF根據(jù)用戶設(shè)置所要?jiǎng)?chuàng)建應(yīng)用的名稱讀取該應(yīng)用的域描述文件,從中獲取該應(yīng)用的安裝、創(chuàng)建及配置信息,以及每個(gè)組件對(duì)物理資源的依賴關(guān)系;
[0050]步驟三,按照初始化參數(shù)配置的要求來(lái)配置應(yīng)用組件的參數(shù)。初始化參數(shù)配置是用戶預(yù)設(shè)的該應(yīng)用的初始化配置信息,可以根據(jù)不同的應(yīng)用場(chǎng)景修改或選擇不同的初始化配置信息;
[0051]步驟四,由外部的資源分配算法生成組件器件配對(duì)表,根據(jù)組件器件配對(duì)表得到應(yīng)用組件和相應(yīng)的確定器件的配對(duì)關(guān)系序列,完成資源分配,實(shí)現(xiàn)應(yīng)用的創(chuàng)建。
[0052]在CF的CreateO接口中,由資源分配算法所得到的組件器件配對(duì)表作為最重要的參數(shù),直接影響應(yīng)用組件的分配結(jié)果,關(guān)系到應(yīng)用能否成功運(yùn)行。不同于CF內(nèi)部提供的資源分配算法,本發(fā)明利用外部資源分配算法實(shí)現(xiàn)了組件和真正符合當(dāng)前應(yīng)用需求的硬件資源相匹配,在大規(guī)模SDR系統(tǒng)中實(shí)現(xiàn)了對(duì)資源分配的控制。請(qǐng)參閱圖2所示,具體流程如下:
[0053]步驟一,通過(guò)域管理器獲取設(shè)備管理器對(duì)象,通過(guò)設(shè)備管理器獲取當(dāng)前系統(tǒng)已注冊(cè)邏輯設(shè)備列表;
[0054]步驟二,獲取已注冊(cè)邏輯設(shè)備屬性,包括設(shè)備類型、設(shè)備標(biāo)識(shí)名以及可用狀態(tài)等;
[0055]步驟三,在已注冊(cè)的可用邏輯設(shè)備列表中,按照類型將設(shè)備分為GPP設(shè)備、DSP設(shè)備和FPGA設(shè)備,以便之后為相應(yīng)的應(yīng)用組件分配資源;
[0056]步驟四,資源分配算法根據(jù)應(yīng)用的GPP組件對(duì)硬件資源的需求,到上一步所獲取的GPP設(shè)備列表中進(jìn)行遍歷匹配。邏輯設(shè)備的屬性是由硬件的實(shí)際使用情況來(lái)更新的,資源分配算法會(huì)為應(yīng)用組件分配能夠滿足需求的設(shè)備;
[0057]步驟五,如上所述,資源分配算法繼續(xù)為應(yīng)用的DSP組件和FPGA組件分配相應(yīng)的設(shè)備資源;
[0058]步驟六,將應(yīng)用組件和邏輯設(shè)備所形成的設(shè)備分配序列寫(xiě)入該應(yīng)用的WDD文件中。
[0059]步驟七,用戶讀取該應(yīng)用的WDD文件,得到應(yīng)用組件和邏輯設(shè)備的對(duì)應(yīng)關(guān)系,作為CF的Create O接口的組件器件配對(duì)表參數(shù)。
[0060]步驟八,CF之外的動(dòng)態(tài)資源分配算法干預(yù)到CF內(nèi)部,為了避免外部算法與CF發(fā)生沖突,在CF執(zhí)行應(yīng)用加載前,對(duì)資源分配結(jié)果進(jìn)行驗(yàn)證,驗(yàn)證通過(guò),即可執(zhí)行加載操作。
[0061]步驟九,通過(guò)對(duì)不同的應(yīng)用設(shè)置相應(yīng)的優(yōu)先級(jí),在硬件資源有限的情況下,當(dāng)所獲得的設(shè)備能力不能夠滿足當(dāng)前應(yīng)用的需求時(shí),根據(jù)應(yīng)用的優(yōu)先級(jí)別將低優(yōu)先級(jí)的應(yīng)用卸載,為高優(yōu)先級(jí)的應(yīng)用重新分配資源。
[0062]另外,由于實(shí)現(xiàn)了資源分配可控,系統(tǒng)故障后的動(dòng)態(tài)容錯(cuò)成為可能。在設(shè)備出現(xiàn)故障時(shí),系統(tǒng)會(huì)執(zhí)行以下操作(具體可如圖3所示):
[0063]a.故障會(huì)以最高優(yōu)先級(jí)中斷至故障處理程序中,故障處理程序?qū)收系念愋瓦M(jìn)行判斷,如果是器件級(jí)別的故障,系統(tǒng)將對(duì)應(yīng)的邏輯設(shè)備可用屬性設(shè)置為不可用。如果是模塊級(jí)別的故障,則將該模塊所涉及的所有邏輯設(shè)備設(shè)置為不可用;
[0064]b.產(chǎn)生故障的邏輯設(shè)備將被隔離,即系統(tǒng)將不會(huì)再查詢發(fā)生故障設(shè)備的各類屬性,以免造成不必要的系統(tǒng)資源開(kāi)銷,資源分配算法也將得到一個(gè)新的可用設(shè)備序列;
[0065]c.故障設(shè)備所加載的應(yīng)用組件將被自動(dòng)卸載,資源分配算法根據(jù)新的可用設(shè)備序列為應(yīng)用組件分配相應(yīng)的資源,系統(tǒng)調(diào)用CF的CreateO接口創(chuàng)建應(yīng)用。
[0066]為對(duì)上述的方法更清楚的理解,以下結(jié)合實(shí)例進(jìn)行說(shuō)明。
[0067]在本實(shí)施方案中,SDR系統(tǒng)以下幾個(gè)模塊構(gòu)成:
[0068]1.PowerPC MPC8548CPU ;
[0069]2.與應(yīng)用組件相關(guān)的數(shù)字信號(hào)處理模塊;
[0070]3.與應(yīng)用組件相關(guān)數(shù)字收發(fā)模塊。[0071]4.與路由配置相關(guān)的交換模塊。
[0072]主要模塊的框圖如圖4所示。
[0073]實(shí)施本發(fā)明軟件通信體系架構(gòu)中的資源分配方法的步驟如下:
[0074]第一步、驗(yàn)證修改之后CF的CreateO接口功能:
[0075]1.系統(tǒng)上電之后,主控模塊加載實(shí)時(shí)操作系統(tǒng),同時(shí)加載CF以及資源分配算法程序和應(yīng)用組件動(dòng)態(tài)重構(gòu)程序。主控模塊準(zhǔn)備就緒后,等待應(yīng)用創(chuàng)建指令輸入。
[0076]2.通過(guò)上位機(jī)向SDR平臺(tái)傳遞創(chuàng)建應(yīng)用的指令,SDR平臺(tái)進(jìn)行指令解析后得到需要?jiǎng)?chuàng)建的應(yīng)用名稱,CF根據(jù)應(yīng)用的名稱在波形應(yīng)用的描述文件中讀取應(yīng)用組件的標(biāo)識(shí)名,得到該應(yīng)用的組件列表。為了便于驗(yàn)證Create O接口的功能,只為應(yīng)用設(shè)置一個(gè)GPP組件。
[0077]3.為應(yīng)用設(shè)置一個(gè)名稱為App_test,通過(guò)上位機(jī)查詢App_test創(chuàng)建狀態(tài),如果返回狀態(tài)為應(yīng)用創(chuàng)建成功,說(shuō)明通修改之后的CreateO接口可以很好的兼容現(xiàn)有SCA規(guī)范。
[0078]第二步、驗(yàn)證資源分配算法干預(yù)下的資源分配情況:
[0079]1.通過(guò)CF接口按照設(shè)備類型查詢并獲取當(dāng)前已注冊(cè)設(shè)備序列并判斷其可用狀態(tài),可以得到當(dāng)前可用的GPP設(shè)備、可用的DSP設(shè)備以及可用的FPGA設(shè)備;
[0080]2.資源分配算法分別為應(yīng)用組件分配資源,其實(shí)現(xiàn)過(guò)程如下:首先算法通過(guò)CF接口得到可用設(shè)備的各項(xiàng)屬性,包括處理速度、內(nèi)存資源使用情況等,這些屬性是由系統(tǒng)所注冊(cè)的邏輯設(shè)備提供,其根據(jù)物理設(shè)備的實(shí)際情況動(dòng)態(tài)變化,資源分配算法以各項(xiàng)屬性的值作為輸入維護(hù)一張包含設(shè)備所有屬性的列表;其次在為應(yīng)用組件分配資源時(shí),資源分配算法將組件對(duì)設(shè)備的各項(xiàng)需求分別與所維護(hù)的設(shè)備屬性表內(nèi)的各項(xiàng)屬性進(jìn)行比較,將滿足組件最低需求的設(shè)備資源分配給各個(gè)組件,從而完成了資源的最優(yōu)匹配;最后將匹配結(jié)果寫(xiě)入到WDD文件中,作為資源分配算法的最終結(jié)果輸出。
[0081]3.打開(kāi)相應(yīng)的WDD文件進(jìn)行觀察,在設(shè)備分配序列(deviceassignmentsequence)標(biāo)簽項(xiàng)下可以得到資源分配結(jié)果,應(yīng)用的各個(gè)組件有與其需求相符合的硬件設(shè)備一一對(duì)應(yīng);
[0082]4.系統(tǒng)調(diào)用CF的Create O接口并且到WDD文件中讀取設(shè)備匹配序列,其將作為其第三個(gè)入口參數(shù)輸入。
[0083]5.應(yīng)用組件按照資源分配算法生成的匹配方式進(jìn)行部署,最終實(shí)現(xiàn)應(yīng)用的功能。
[0084]在不卸載當(dāng)前應(yīng)用的情況下,繼續(xù)加載另一應(yīng)用,通過(guò)WDD文件觀察兩個(gè)應(yīng)用的資源分配情況;在設(shè)備資源完全占用的情況下加載不同優(yōu)先級(jí)的應(yīng)用,觀察資源的分配情況。結(jié)果表明外部資源分配算法能夠根據(jù)當(dāng)前設(shè)備狀態(tài)以及應(yīng)用的優(yōu)先級(jí)合理分配資源。
[0085]第三步、驗(yàn)證故障狀態(tài)下應(yīng)用的動(dòng)態(tài)重構(gòu):
[0086]1.應(yīng)用App_test成功運(yùn)行之后,通過(guò)上位機(jī)獲取系統(tǒng)的管理員權(quán)限,修改DSP邏輯設(shè)備的狀態(tài)屬性,將其設(shè)置為故障狀態(tài),進(jìn)行人為故障植入。
[0087]2.系統(tǒng)檢測(cè)到故障后進(jìn)入故障處理程序,程序?qū)SP邏輯設(shè)備的故障標(biāo)記設(shè)置為1,狀態(tài)檢測(cè)程序檢測(cè)到故障標(biāo)記為I時(shí)將繞過(guò)該設(shè)備的檢測(cè)過(guò)程,達(dá)到故障隔離的目的,同時(shí)調(diào)用資源分配算法重新進(jìn)行資源分配,生成新的apptest_wdd.xml文件并將App_test應(yīng)用卸載。
[0088]3.故障處理程序調(diào)用CF的Create O接口并到apptest_wdd.xml文件中讀取重構(gòu)之后的設(shè)備匹配序列,應(yīng)用組件重新部署到正常的滿足需求的設(shè)備資源上,應(yīng)用的功能恢復(fù)。
[0089]以上是在外部資源分配算法干預(yù)下,應(yīng)用從創(chuàng)建、組件及設(shè)備資源部署完成和故障植入產(chǎn)生重構(gòu)的整個(gè)過(guò)程。結(jié)果表明外部資源分配算法不影響SCA架構(gòu)的穩(wěn)定性,完全兼容現(xiàn)有的SCA規(guī)范;系統(tǒng)能夠按照實(shí)際設(shè)備資源的使用情況進(jìn)行資源分配,避免按照固定的SAD文件進(jìn)行組件裝配時(shí),出現(xiàn)不滿足性能需求導(dǎo)致應(yīng)用加載失敗的情況;系統(tǒng)出現(xiàn)故障后能夠自主地進(jìn)行應(yīng)用組件地重新部署,實(shí)現(xiàn)應(yīng)用的動(dòng)態(tài)重構(gòu),滿足高穩(wěn)定性要求的SDR系統(tǒng)。
[0090]與現(xiàn)有技術(shù)相比較,本發(fā)明具有如下優(yōu)點(diǎn):
[0091](I)本發(fā)明提出了一種在完全兼容SCA規(guī)范的前提下,通過(guò)修改Create O接口入口參數(shù),簡(jiǎn)化CreateO接口行為,實(shí)現(xiàn)外部資源分配算法,以提高系統(tǒng)靈活性的方法。
[0092](2)本發(fā)明通過(guò)將當(dāng)前實(shí)際的設(shè)備屬性與應(yīng)用組件需求相對(duì)比的方法,實(shí)現(xiàn)軟件資源與硬件資源的最優(yōu)匹配??梢愿鶕?jù)應(yīng)用的優(yōu)先級(jí)別,在有限的硬件資源上動(dòng)態(tài)的部署相應(yīng)的組件。
[0093](3)本發(fā)明能夠在故障狀態(tài)下自適應(yīng)動(dòng)態(tài)重構(gòu)應(yīng)用組件,在不需要人為干預(yù)的情況下,自主地恢復(fù)應(yīng)用的功能,這在可靠性要求較高的SDR系統(tǒng)中十分重要。
[0094](4) CF是一個(gè)穩(wěn)定、不易變更的模塊,它的每一個(gè)變更都會(huì)對(duì)系統(tǒng)產(chǎn)生深層次的影響,并帶來(lái)大量的測(cè)試、驗(yàn)證工作,成本過(guò)高。通過(guò)外部資源分配算法,在面對(duì)不同的資源分配規(guī)則要求時(shí),可以在保證CF穩(wěn)定性的基礎(chǔ)之上,讓系統(tǒng)開(kāi)發(fā)者根據(jù)實(shí)際需求,靈活地實(shí)現(xiàn)不同的資源分配規(guī)則。
[0095]可以理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,而所有這些改變或替換都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種軟件通信體系架構(gòu)中的資源分配方法,包括如下步驟: 步驟一,修改核心框架的應(yīng)用工廠為上層應(yīng)用提供的接口的入口參數(shù)為應(yīng)用名稱、初始化參數(shù)配置和組件器件配對(duì)表,其中組件器件配對(duì)表由核心框架之外的資源分配算法生成; 步驟二,核心框架根據(jù)用戶設(shè)置所要?jiǎng)?chuàng)建應(yīng)用的名稱讀取該應(yīng)用的域描述文件,從中獲取該應(yīng)用的安裝、創(chuàng)建及配置信息,以及每個(gè)組件對(duì)物理資源的依賴關(guān)系; 步驟三,按照初始化參數(shù)配置的要求來(lái)配置應(yīng)用組件的參數(shù); 步驟四,由外部的資源分配算法生成組件器件配對(duì)表,根據(jù)組件器件配對(duì)表得到應(yīng)用組件和相應(yīng)的確定器件的配對(duì)關(guān)系序列,完成資源分配,實(shí)現(xiàn)應(yīng)用的創(chuàng)建。
2.如權(quán)利要求1所述的軟件通信體系架構(gòu)中的資源分配方法,其特征在于外部的資源分配算法生成組件器件配對(duì)表的具體方法如下: (1)通過(guò)域管理器獲取設(shè)備管理器對(duì)象,通過(guò)設(shè)備管理器獲取當(dāng)前系統(tǒng)已注冊(cè)邏輯設(shè)備列表; (2)獲取已注冊(cè)邏輯設(shè)備屬性,包括設(shè)備類型、設(shè)備標(biāo)識(shí)名以及可用狀態(tài)等; (3)在已注冊(cè)的可用邏輯設(shè)備列表中,按照類型將設(shè)備分為GPP設(shè)備、DSP設(shè)備和FPGA設(shè)備,以便之后為相應(yīng)的應(yīng)用組件分配資源; (4)資源分配算法根據(jù)應(yīng)用的GPP組件對(duì)硬件資源的需求,到上一步所獲取的GPP設(shè)備列表中進(jìn)行遍歷匹配,邏輯設(shè)備的屬性是由硬件的實(shí)際使用情況來(lái)更新的,資源分配算法會(huì)為應(yīng)用組件分配能夠滿足需求的設(shè)備; (5)如上所述,資源分配算法繼續(xù)為應(yīng)用的DSP組件和FPGA組件分配相應(yīng)的設(shè)備資源; (6)將應(yīng)用組件和邏輯設(shè)備所形成的設(shè)備分配序列寫(xiě)入該應(yīng)用的WDD文件中; (7)用戶讀取該應(yīng)用的WDD文件,得到應(yīng)用組件和邏輯設(shè)備的對(duì)應(yīng)關(guān)系,作為核心框架的接口的組件器件配對(duì)表參數(shù); (8)核心框架之外的動(dòng)態(tài)資源分配算法干預(yù)到核心框架內(nèi)部,為了避免外部算法與核心框架發(fā)生沖突,在核心框架執(zhí)行應(yīng)用加載前,對(duì)資源分配結(jié)果進(jìn)行驗(yàn)證,驗(yàn)證通過(guò),執(zhí)行加載操作; (9)通過(guò)對(duì)不同的應(yīng)用設(shè)置相應(yīng)的優(yōu)先級(jí),在硬件資源有限的情況下,當(dāng)所獲得的設(shè)備能力不能夠滿足當(dāng)前應(yīng)用的需求時(shí),根據(jù)應(yīng)用的優(yōu)先級(jí)別將低優(yōu)先級(jí)的應(yīng)用卸載,為高優(yōu)先級(jí)的應(yīng)用重新分配資源。
3.如權(quán)利要求1所述的軟件通信體系架構(gòu)中的資源分配方法,其特征在于該方法還包括在系統(tǒng)故障后的動(dòng)態(tài)容錯(cuò)步驟,該步驟包括: a.故障會(huì)以最高優(yōu)先級(jí)中斷至故障處理程序中,故障處理程序?qū)收系念愋瓦M(jìn)行判斷,如果是器件級(jí)別的故障,系統(tǒng)將對(duì)應(yīng)的邏輯設(shè)備可用屬性設(shè)置為不可用;如果是模塊級(jí)別的故障,則將該模塊所涉及的所有邏輯設(shè)備設(shè)置為不可用; b.產(chǎn)生故障的邏輯設(shè)備將被隔離,資源分配算法得到一個(gè)新的可用設(shè)備序列; c.故障設(shè)備所加載的應(yīng)用組件將被自動(dòng)卸載,資源分配算法根據(jù)新的可用設(shè)備序列為應(yīng)用組件分配相應(yīng)的資源,系統(tǒng)調(diào)用核心框架的接口創(chuàng)建應(yīng)用。
【文檔編號(hào)】H04W72/04GK103813463SQ201410049405
【公開(kāi)日】2014年5月21日 申請(qǐng)日期:2014年2月13日 優(yōu)先權(quán)日:2014年2月13日
【發(fā)明者】劉龑, 許生, 胡晨浩, 吳敏, 李裕 申請(qǐng)人:中國(guó)航空無(wú)線電電子研究所