本申請涉及電子技術領域,特別涉及加載邏輯文件的方法及裝置。
背景技術:
CPLD(Complex Programmable Logic Device,復雜可編程邏輯器件)是一種允許用戶根據(jù)各自需要而自行構造邏輯功能的數(shù)字集成電路。通常電子設備可以包括不同型號的單板,不同用途的CPLD可以安裝于不同型號的單板上。當設備升級時,需要對不同單板上的CPLD加載其對應的CPLD邏輯文件。
現(xiàn)有技術中,當設備升級時,升級人員先檢測設備中安裝有CPLD的單板的單板型號,然后根據(jù)該單板型號查找該CPLD對應的待加載CPLD邏輯文件,最后將查找到的待加載CPLD邏輯文件加載到該CPLD,完成升級。當待加載的CPLD較多,待加載的CPLD邏輯文件也較多時,現(xiàn)有的人工加載方式容易對設備中的CPLD加載錯誤的CPLD邏輯文件,造成設備宕機。可見,使用現(xiàn)有的CPLD邏輯文件加載技術安全性較差。
技術實現(xiàn)要素:
本發(fā)明實施例提供加載邏輯文件的方法和裝置,用于解決現(xiàn)有的CPLD邏輯文件加載技術安全性差的問題。
根據(jù)本發(fā)明實施例的第一方面,提供一種加載邏輯文件的方法,所述方法應用于包含一個或多個復雜可編程邏輯器件CPLD的設備,所述CPLD安裝于所述設備的單板上,每個單板在所述設備中具有唯一的地址標識,所述方法包括:
接收待加載的CPLD版本文件以及目標CPLD所在單板的地址標識,所述CPLD版本文件中包含待加載到所述目標CPLD的CPLD邏輯文件,以及與所述CPLD邏輯文件對應的第一單板型號;
根據(jù)所述目標CPLD所在單板的地址標識,獲取所述目標CPLD所在單板的第二單板型號;
判斷所述第一單板型號與所述第二單板型號是否相同,如果相同,則對所述目標CPLD加載所述CPLD邏輯文件。
根據(jù)本發(fā)明實施例的第二方面,提供一種加載邏輯文件的裝置,所述裝置應用于包含一個或多個復雜可編程邏輯器件CPLD的設備,所述CPLD安裝于所述設備的單板上,每個單板在所述設備中具有唯一的地址標識,所述裝置包括:
接收單元,用于接收待加載的CPLD版本文件以及目標CPLD所在單板的地址標識,所述CPLD版本文件中包含待加載到所述目標CPLD的CPLD邏輯文件,以及與所述CPLD邏輯文件對應的第一單板型號;
獲取單元,用于根據(jù)所述目標CPLD所在單板的地址標識,獲取所述目標CPLD所在單板的第二單板型號;
判斷單元,用于判斷所述第一單板型號與所述第二單板型號是否相同;
加載單元,用于如果所述第一單板型號與所述第二單板型號相同,對所述目標CPLD加載所述CPLD邏輯文件。
由以上技術方案可見,本發(fā)明實施例通過引入單板型號信息,為CPLD邏輯文件以及設備中的CPLD分別設置與其對應的單板型號,實現(xiàn)了在CPLD邏輯文件加載前對CPLD邏輯文件與CPLD的匹配性檢測。確保了設備升級時,設備中的CPLD可以加載與其匹配的CPLD邏輯文件,可見,本發(fā)明實施例的CPLD邏輯文件加載技術安全性較高。
附圖說明
圖1為本發(fā)明實施例加載邏輯文件的方法的一個應用場景示意圖;
圖2為本發(fā)明加載邏輯文件的方法的一個實施例流程圖;
圖3為本發(fā)明加載邏輯文件的方法的另一個實施例流程圖;
圖4為本發(fā)明加載邏輯文件的方法的一個CPLD版本文件示意圖;
圖5為本發(fā)明加載邏輯文件的裝置所在設備的一種硬件結構圖;
圖6為本發(fā)明加載邏輯文件的裝置的一個實施例框圖。
具體實施方式
為了使本技術領域的人員更好的理解本發(fā)明實施例中的技術方案,并使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖對本發(fā)明實施例中的技術方案作進一步詳細的說明。
圖1為本發(fā)明實施例加載邏輯文件的方法的一個應用場景示意圖。
如圖1所示,該應用場景中包括客戶端以及待升級的電子設備,其中,所示電子設備中包含三個單板:單板101、單板102以及單板103。每個單板都包含有與其對應的CPLD,每個CPLD中可以包含至少一個寄存器。所示三個單板分別插入電子設備中的三個槽位,對應三個槽位號分別為槽位號101、槽位號102以及槽位號103。需要說明的是,圖1僅是一種電子設備的示例,實際應用中,根據(jù)電子設備所需實現(xiàn)功能的不同,還可能包含更多的單板及CPLD,對此本發(fā)明實施例不進行限制。
以對圖1中所示電子設備中的單板101進行升級為例,現(xiàn)有技術中,需要升級人員先檢測單板101的單板型號,然后根據(jù)該單板型號查找該單板101所安裝的CPLD對應的待加載CPLD邏輯文件,最后通過客戶端將查找到的待加載CPLD邏輯文件加載到該CPLD,完成升級。由于在CPLD邏輯文件加載前,缺少對待加載CPLD邏輯文件與CPLD的匹配性檢測,現(xiàn)有的人工加載方式容易對單板101中的CPLD加載錯誤的CPLD邏輯文件,造成設備宕機??梢姡褂矛F(xiàn)有的CPLD邏輯文件加載技術安全性較差。
在本發(fā)明實施例中,通過引入單板型號信息,實現(xiàn)了在CPLD邏輯文件加載前,對待加載的CPLD邏輯文件與單板101中的CPLD進行匹配性檢測。從而確保了設備升級時,單板101中的CPLD可以加載與其匹配的CPLD邏輯文件,可見,本發(fā)明實施例的CPLD邏輯文件加載技術安全性較高。
下面結合圖1示出的應用場景,對本發(fā)明實施例進行詳細說明。
參見圖2,圖2為本發(fā)明加載邏輯文件的方法的一個實施例流程圖,該實施例應用于待升級電子設備,包括以下步驟:
步驟201:接收待加載的CPLD版本文件以及目標CPLD所在單板的地址標識,所述CPLD版本文件中包含待加載到所述目標CPLD的CPLD邏輯文件,以及與所述CPLD邏輯文件對應的第一單板型號。
在一個可選的實現(xiàn)方式中,上述目標CPLD的地址標識可以包含該目標CPLD所在單板的槽位號。
在另一個可選的實現(xiàn)方式中,上述CPLD版本文件的結構可以包括:
文件頭,存放CPLD邏輯文件;
文件體,存放與CPLD邏輯文件對應的第一單板型號。
步驟202:根據(jù)所述目標CPLD所在單板的地址標識,獲取所述目標CPLD所在單板的第二單板型號。
在一個可選的實現(xiàn)方式中,可以預先在上述目標CPLD的寄存器中保存第二版本型號;然后根據(jù)上述目標COLD器件所在單板的槽位號從上述目標CPLD的寄存器中讀取上述目標CPLD所在單板的第二單板型號。
步驟203:判斷所述第一單板型號與所述第二單板型號是否相同,如果相同,則對所述目標CPLD加載所述CPLD邏輯文件。
在一個可選的實現(xiàn)方式中,如果第一單板型號與第二單板型號不相同,則向客戶端提示CPLD版本類型錯誤并退出加載操作。
在另一個可選的實現(xiàn)方式中,上述判斷第一單板型號與第二單板型號是否相同的過程可以通過如下步驟實現(xiàn):將上述接收的CPLD版本文件讀取到設備內(nèi)存,解析上述CPLD版本文件,獲得第一單板型號;判斷第一單板型號與第二單板型號是否相同。
由以上實施例可見,該實施例通過引入單板型號信息,為CPLD邏輯文件以及設備中的CPLD分別設置與其對應的單板型號,實現(xiàn)了在CPLD邏輯文件加載前對CPLD邏輯文件與CPLD的匹配性檢測。確保了設備升級時,設備中的CPLD可以加載與其匹配的CPLD邏輯文件,可見,本發(fā)明實施例的CPLD邏輯文件加載技術安全性較高。
參見圖3,圖3為本發(fā)明加載邏輯文件的方法的另一個實施例流程圖。該實施例從待升級電子設備側對目標CPLD的CPLD邏輯文件加載過程進行了詳細描述,包括以下步驟:
步驟301:接收待加載的CPLD版本文件以及待加載的目標CPLD所在單板的槽位號,該CPLD版本文件中包含待加載到目標CPLD的CPLD邏輯文件,以及與該CPLD邏輯文件對應的第一單板型號。
本步驟中,待加載的CPLD版本文件可以在客戶端預先生成,該客戶端包含目標CPLD的CPLD邏輯文件,以及該CPLD邏輯文件對應的第一單板型號。
客戶端在生成待加載的CPLD版本文件時,可以獲取CPLD邏輯文件的字符串長度strlen;在客戶端內(nèi)存中申請一段大小為(strlen+4)字節(jié)的內(nèi)存空間;將上述第一單板型號存儲在該內(nèi)存空間的前4字節(jié);將上述CPLD邏輯文件存儲在該內(nèi)存空間的第5至第(strlen+4)字節(jié);創(chuàng)建CPLD版本文件,如圖4所示,用該CPLD版本文的文件頭和文件體,分別保存單板型號和邏輯文件;將該內(nèi)存空間中的前4字節(jié)內(nèi)容寫入CPLD版本文件的文件頭,第5至第(strlen+4)字節(jié)內(nèi)容寫入CPLD版本文件的文件體;導出生成的CPLD版本文件。
當需要向目標CPLD加載某一CPLD版本文件時,客戶端向設備發(fā)送該CPLD本版文件以及該目標CPLD所在單板的槽位號。
步驟302:根據(jù)目標CPLD所在單板的槽位號,從目標CPLD的寄存器中讀取目標CPLD所在單板的第二單板型號。
步驟303:將上述接收的CPLD版本文件讀取到設備內(nèi)存,解析該CPLD版本文件,獲得第一單板型號。
本步驟中,如果所接收的CPLD版本文件的文件頭包含第一單板型號,則從該CPLD版本文件的文件頭讀取第一單板型號。
步驟304:判斷第一單板型號與所述第二單板型號是否相同,如果是則執(zhí)行步驟306,如果否則執(zhí)行步驟305。
步驟305:提示CPLD版本類型錯誤并退出加載操作,結束當前流程。
步驟306:對目標CPLD加載所述CPLD邏輯文件,結束當前流程。
由以上實施例可見,該施例通過引入單板型號信息,為CPLD邏輯文件以及設備中的CPLD分別設置與其對應的單板型號,實現(xiàn)了在CPLD邏輯文件加載前對CPLD邏輯文件與CPLD的匹配性檢測。確保了設備升級時,設備中的CPLD可以加載與其匹配的CPLD邏輯文件,可見,本發(fā)明實施例的CPLD邏輯文件加載技術安全性較高。
下面通過一個具體的應用實例對本發(fā)明實施例進行說明,該應用實例結合圖1示出的應用場景進行描述。假設現(xiàn)在要對圖1所示的電子設備進行升級,需要在單板101所包含的CPLD上加載CPLD邏輯文件——101.cpld。假設在該CPLD的寄存器上,已經(jīng)由硬件描述語言寫入單板101的單板型號type1;該單板101對應的槽位號為101。
設備管理員通過客戶端向待升級的電子設備發(fā)送CPLD版本文件——101.cpldbb以及單板101的槽位號101。電子設備接收到101.cpldbb后從01.cpldbb解析出CPLD邏輯文件101.cpld以及101.cpld對應的單板型號type2。電子設備根據(jù)接收的槽位號101查詢單板101,讀取該單板所包含的CPLD中寄存器保存的單板型號type2。校驗type1和type2是否為同一單板型號,如果是,則將101.cpld寫入單板101所包含的CPLD,從而完成設備升級。
與前述加載邏輯文件的方法的實施例相對應,本申請還提供了加載邏輯文件的裝置的實施例。
本申請加載邏輯文件的的裝置的實施例可以應用在包含一個或多個復雜可編程邏輯器件CPLD的設備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在設備的處理器將非易失性存儲器中對應的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖5所示,為本申請加載邏輯文件的裝置所在設備的一種硬件結構圖,除了圖5所示的處理器、內(nèi)存、網(wǎng)絡接口、以及非易失性存儲器之外,實施例中裝置所在的設備通常根據(jù)該設備的實際功能,還可以包括其他硬件,對此不再贅述。
請參考圖6,為本發(fā)明加載邏輯文件的裝置的一個實施例框圖,所述裝置應用于包含一個或多個復雜可編程邏輯器件CPLD的設備,所述CPLD安裝于所述設備的單板上,每個單板在所述設備中具有唯一的地址標識,所述裝置包括:接收單元610,獲取單元620,判斷單元630,加載單元640。
其中,接收單元610,用于接收待加載的CPLD版本文件以及目標CPLD所在單板的地址標識,所述CPLD版本文件中包含待加載到所述目標CPLD的CPLD邏輯文件,以及與所述CPLD邏輯文件對應的第一單板型號;
獲取單元620,用于根據(jù)所述目標CPLD所在單板的地址標識,獲取所述目標CPLD所在單板的第二單板型號;
判斷單元630,用于判斷所述第一單板型號與所述第二單板型號是否相同;
加載單元640,用于如果所述第一單板型號與所述第二單板型號相同,對所述目標CPLD加載所述CPLD邏輯文件。
由以上實施例可見,該施例通過引入單板型號信息,為CPLD邏輯文件以及設備中的CPLD分別設置與其對應的單板型號,實現(xiàn)了在CPLD邏輯文件加載前對CPLD邏輯文件與CPLD的匹配性檢測。確保了設備升級時,設備中的CPLD可以加載與其匹配的CPLD邏輯文件,可見,本發(fā)明實施例的CPLD邏輯文件加載技術安全性較高。
在一個可選的例子中,所述裝置還包括(圖6中未示出):保存單元。
保存單元,用于在接收待加載的CPLD版本文件前,在所述目標CPLD的寄存器中保存所述第二版本型號;
所述獲取單元620包括(圖6中未示出):查找子單元,讀取子單元。
其中,查找子單元,用于按照所述目標CPLD所在單板的地址標識查找所述目標CPLD所在單板,在所述查找到的單板上查找所述目標CPLD;
讀取子單元,用于從所述目標CPLD的寄存器中讀取所述目標CPLD所在單板的第二單板型號。
在另一個可選的例子中,所述CPLD版本文件的結構包括:
文件頭,用于存放CPLD邏輯文件;
文件體,用于存放與文件頭中CPLD邏輯文件對應的第一單板型號。
在另一個可選的例子中,所述判斷單元630包括(圖6中未示出):版本文件解析子單元,單板型號判斷子單元。
其中,版本文件解析子單元,用于將所述接收的CPLD版本文件讀取到設備內(nèi)存,解析所述CPLD版本文件,從文件頭中獲得第一單板型號;
單板型號判斷子單元,用于判斷所述第一單板型號與所述第二單板型號是否相同。
在另一個可選的例子中,所述裝置還包括(圖6中未示出):提示單元。
提示單元,用于如果所述第一單板型號與所述第二單板型號不相同,則提示CPLD版本類型錯誤。
由以上實施例可見,該施例通過引入單板型號信息,為CPLD邏輯文件以及設備中的CPLD分別設置與其對應的單板型號,實現(xiàn)了在CPLD邏輯文件加載前對CPLD邏輯文件與CPLD的匹配性檢測。確保了設備升級時,設備中的CPLD可以加載與其匹配的CPLD邏輯文件,可見,本發(fā)明實施例的CPLD邏輯文件加載技術安全性較高。
上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應步驟的實現(xiàn)過程,在此不再贅述。
對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內(nèi)。