一種在線升級的方法和芯片的制作方法
【專利摘要】本發明公開了一種在線升級的方法和芯片,涉及通信【技術領域】,解決了在現有技術中對主用處理器進行升級時,中斷業務的正常運行的問題。所述方法應用于一種芯片,芯片包括至少一個主用處理器,至少一個主用處理器通過總線與一個備用處理器連接,且芯片通過總線與網絡管理單元連接,當主用處理器與備用處理器同步成功時,主用處理器向網絡管理單元發送同步成功消息,網絡管理單元向備用處理器發送第一開始工作指令,向主用處理器發送第一停止工作指令,備用處理器處理主用處理器下一幀待處理的數據幀序列號對應的數據幀,主用處理器停止工作,網絡管理單元對所述主用處理器進行升級處理。本發明實施例應用于對芯片的升級的處理過程中。
【專利說明】一種在線升級的方法和芯片
【技術領域】
[0001]本發明涉及通信【技術領域】,尤其涉及一種在線升級的方法和芯片。
【背景技術】
[0002]隨著無線接入系統的不斷演進,為了滿足用戶不斷增長的帶寬需求,無線接入系統正在向MBB (Mobile Broadband,移動帶寬)方向快速發展,從而要求物理層中的無線backhaul (回程傳輸)系統向大容量、高性能、IP(Internet Protocol,網絡之間互連的協議)化發展,因此,物理層芯片從單純的logic (邏輯電路)ASIC (Applicat1nSpecific Integrated Circuit,專用集成電路)芯片,發展為 logic 與DSP (DigitalSignalProcessor,數字信號處理器)或CPU (Central Processing Unit,中央處理器)相結合的Soc (System on chip,片上系統)芯片,如圖1所示。
[0003]在現有技術中對于物理層芯片的升級,是在網絡流量較小的時間段,例如夜晚,中斷物理層芯片的運行,待芯片中的業務升級完成后,重新啟動芯片,影響了業務的正常運行。
【發明內容】
[0004]本發明的實施例提供一種在線升級的方法和芯片,不影響芯片中業務的正常運行,提高了芯片的可靠性。
[0005]為達到上述目的,本發明的實施例采用如下技術方案:
[0006]第一方面,本發明提供一種在線升級的方法,應用于一種芯片,所述芯片包括至少一個主用處理器,所述至少一個主用處理器通過總線與一個備用處理器連接,且所述芯片通過所述總線與網絡管理單元連接,包括:
[0007]所述備用處理器接收主用處理器發送的第一同步消息,所述第一同步消息包括請求同步命令和所述主用處理器下一幀待處理的數據幀序列號;
[0008]所述備用處理器獲取所述下一幀待處理的數據幀序列號,并向所述主用處理器發送第二同步消息,所述第二同步消息包括響應同步命令,所述響應同步命令用于通知所述主用處理器,與所述備用處理器是否同步成功;
[0009]所述網絡管理單元在間隔第一預定時間向所述主用處理器發送第一查詢消息,所述第一查詢消息用于查詢所述主用處理器與所述備用處理器是否同步成功;
[0010]當所述主用處理器與所述備用處理器同步成功時,所述主用處理器向所述網絡管理單元發送同步成功消息;
[0011]所述網絡管理單元向所述備用處理器發送第一開始工作指令,以及向所述主用處理器發送第一停止工作指令,所述備用處理器處理所述主用處理器下一幀待處理的數據幀序列號對應的數據幀,所述主用處理器停止工作,所述網絡管理單元對所述主用處理器進行升級處理,所述第一開始工作指令用于通知所述備用處理器開始處理所述主用處理器待處理的業務。
[0012]在第一方面的第一種可能的實現方式中,在所述備用處理器接收主用處理器發送的第一同步消息之前,所述方法還包括:
[0013]所述網絡管理單元獲取所述主用處理器中正在運行的軟件信息,并將所述軟件信息作為目標軟件信息;
[0014]所述網絡管理單元將所述目標軟件信息發送給所述備用處理器;
[0015]所述備用處理器接收并保存所述網絡管理單元發送的目標軟件信息。
[0016]結合第一方面的第一種可能的實現方式,在第二種可能的實現方式中,在所述備用處理器接收主用處理器發送的第一同步消息之前,所述方法還包括:
[0017]所述網絡管理單元向所述備用處理器發送第一初始化消息,所述備用處理器將所述目標軟件信息的參數設置為初始狀態。
[0018]結合第一方面的第二種可能的實現方式,在第三種可能的實現方式中,所述備用處理器將所述目標軟件信息的參數設置為初始狀態之后,所述方法還包括:
[0019]所述網絡管理單元向所述主用處理器發送第一通知消息,所述第一通知消息用于通知所述主用處理器,所述備用處理器準備進行同步。
[0020]結合第一方面,在第四種可能的實現方式中,當所述網絡管理單元對所述主用處理器進行升級完成后,所述方法還包括:
[0021]當所述備用處理器接收到所述網絡管理單元發送的第二通知消息時,向所述主用處理器發送第三同步消息,所述第二通知消息用于通知所述備用處理器,所述主用處理器升級完成,所述第三同步消息包括請求同步命令、所述備用處理器下一幀待處理的數據幀序列號;
[0022]所述備用處理器接收所述主用處理器發送的第四同步消息,確定所述備用處理器與所述主用處理器同步成功,所述第四同步消息包括響應同步命令;
[0023]所述網絡管理單元在間隔第二預定時間向所述備用處理器發送第二查詢消息,且所述備用處理器與所述主用處理器同步成功時,所述備用處理器向所述網絡管理單元發送同步成功消息,所述第二查詢消息用于查詢所述備用處理器與所述主用處理器是否同步成功;
[0024]所述網絡管理單元向所述主用處理器發送第二開始工作指令,所述主用處理器開始處理所述備用處理器下一幀待處理的數據幀序列號對應的數據幀,以及向所述備用處理器發送第二停止工作指令,使所述備用處理器停止工作,所述第二開始工作指令用于通知所述主用處理器開始處理所述備用處理器待處理的業務。
[0025]結合第一方面的第四種可能的實現方式,在第五種可能的實現方式中,所述當所述備用處理器接收到所述網絡管理單元發送的第二通知消息之前,所述方法還包括:
[0026]所述網絡管理單元向所述主用處理器發送第二初始化消息,所述第二初始化消息用于指示所述主用處理器將升級后的所述主用處理器中的軟件的參數均設置為初始狀態;
[0027]所述主用處理器將升級后的軟件的參數均設置為初始狀態。
[0028]在第二方面,本發明提供一種芯片,所述芯片包括至少一個主用處理器,通過總線進行連接,所述芯片還包括通過所述總線與所述主用處理器連接的一個備用處理器,所述芯片還通過所述總線與網絡管理單元連接,其中,
[0029]所述備用處理器,用于接收主用處理器發送的第一同步消息,所述第一同步消息包括請求同步命令和所述主用處理器下一幀待處理的數據幀序列號,獲取所述下一幀待處理的數據幀序列號,并向所述主用處理器發送第二同步消息,所述第二同步消息包括響應同步命令,所述響應同步命令用于通知所述主用處理器,與所述備用處理器是否同步成功,當所述主用處理器與所述備用處理器同步成功時,接收所述網絡管理單元發送的第一開始工作指令,并開始處理所述主用處理器下一幀待處理的數據幀序列號對應的數據幀;
[0030]所述主用處理器,用于向所述備用處理器發送第一同步消息,并接收所述備用處理器發送的第二同步消息,獲取所述備用處理器是否同步成功,接收所述網絡管理單元發送的第一查詢消息,所述第一查詢消息用于查詢所述主用處理器與所述備用處理器是否同步成功,當所述主用處理器與所述備用處理器同步成功時,向所述網絡管理單元發送同步成功消息,并接收所述網絡管理單元發送的第一停止工作指令,停止工作;
[0031]所述網絡管理單元,用于在間隔第一預定時間向所述主用處理器發送第一查詢消息,并接收所述主用處理器發送的同步成功消息,向所述備用處理器發送第一開始工作指令,以及向所述主用處理器發送第一停止工作指令,并對所述主用處理器進行升級處理。
[0032]在第二方面的第一種可能的實現方式中,所述主用處理器和所述備用處理器均為數字信號處理器DSP,或者均為中央處理器CPU。
[0033]結合第二方面的第一種可能的實現方式,在第二種可能的實現方式中,所述備用處理器通過快進快出總線通道與每一個主用處理器連接。
[0034]結合第二方面或第二方面的第一種可能的實現方式或第二方面的第二種可能的實現方式,在第三種可能的實現方式中,所述網絡管理單元,還用于獲取所述主用處理器中正在運行的軟件信息,并將所述軟件作為目標軟件信息,將所述目標軟件信息發送給所述備用處理器;
[0035]所述備用處理器,還用于接收并保存所述網絡管理單元發送的目標軟件信息。
[0036]結合第二方面的第三種可能的實現方式,在第四種可能的實現方式中,所述網絡管理單元,還用于向所述備用處理器發送第一初始化消息;
[0037]所述備用處理器,還用于將所述目標軟件信息的參數設置為初始狀態。
[0038]結合第二方面的第四種可能的實現方式,在第五種可能的實現方式中,所述網絡管理單元,還用于向所述主用處理器發送第一通知消息,所述第一通知消息用于通知所述主用處理器,所述備用處理器準備進行同步。
[0039]結合第二方面或第二方面的第一種可能的實現方式或第二方面的第二種可能的實現方式,在第六種可能的實現方式中,
[0040]所述網絡管理單元,還用于向所述備用處理器發送第二通知消息,所述第二通知消息用于通知所述備用處理器,所述主用處理器升級完成;
[0041]所述備用處理器,還用于當接收到所述第二通知消息時,向所述主用處理器發送第三同步消息,所述第三同步消息包括請求同步命令、所述備用處理器下一幀待處理的數據幀序列號;
[0042]所述備用處理器,還用于接收所述主用處理器發送的第四同步消息,確定所述備用處理器與所述主用處理器同步成功,所述第四同步消息包括響應同步命令;
[0043]所述網絡管理單元,還用于在間隔第二預定時間向所述備用處理器發送第二查詢消息,所述第二查詢消息用于查詢所述備用處理器與所述主用處理器是否同步成功;
[0044]所述備用處理器,還用于當所述備用處理器與所述主用處理器同步成功時,向所述網絡管理單元發送同步成功消息;
[0045]所述網絡管理單元,還用于向所述主用處理器發送第二開始工作指令,以及向所述備用處理器發送第二停止工作指令,所述第二開始工作指令用于通知所述主用處理器開始處理所述備用處理器待處理的業務;
[0046]所述主用處理器,還用于當接收到所述網絡管理單元發送的第二開始工作指令時,開始處理所述備用處理器下一幀待處理的數據幀序列號對應的數據幀。
[0047]結合第二方面的第六種可能的實現方式,在第七種可能的實現方式中,所述網絡管理單元,還用于向所述主用處理器發送第二初始化消息,所述第二初始化消息用于指示所述主用處理器將升級后的所述主用處理器中的軟件信息均設置為初始狀態;
[0048]所述主用處理器,還用于當接收到所述網絡管理單元發送的第二初始化消息時,將升級后的軟件信息均設置為初始狀態。
[0049]本發明實施例提供的一種在線升級的方法和芯片,通過在芯片中設置一個備用處理器,將所述備用處理器與待升級的主用處理器同步成功后,由所述備用處理器處理所述主用處理器中的下一幀待處理的數據幀序列號對應的數據幀,所述主用處理器停止處理業務,并接受所述網絡管理單元進行的升級處理。本發明實施例解決了現有技術中對主用處理器進行升級時,影響業務正常運行的問題,保證了業務的正常運行,不被中斷,提高了設備的可靠性。
【專利附圖】
【附圖說明】
[0050]為了更清楚地說明本發明實施例的技術方案,下面將對本發明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0051]圖1為現有技術中Soc芯片結構的示意圖;
[0052]圖2為本發明實施例提供的一種芯片與網絡管理單元連接的結構圖;
[0053]圖3為本發明實施例提供的另一種芯片與網絡管理單元連接的結構圖;
[0054]圖4為本發明實施例提供的一種在線升級的方法的流程圖;
[0055]圖5為本發明實施例中提供的第一同步消息格式的示意圖;
[0056]圖6為本發明實施例中提供的主用處理器I與備用處理器3次握手同步的示意圖;
[0057]圖7為本發明實施例提供的另一種對實施例1中的在線升級的方法的流程圖;
[0058]圖8為本發明實施例提供的又一種對實施例1中的在線升級的方法的流程圖;
[0059]圖9為本發明實施例提供的一種芯片的結構圖。
【具體實施方式】
[0060]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0061]本發明實施例提供的一種在線升級的方法,應用于一種芯片,如圖2所示,所述芯片包括第一層和第二層的邏輯電路,至少一個主用處理器,所述至少一個主用處理器通過總線與一個備用處理器連接,且所述芯片通過所述總線與網絡管理單元連接。
[0062]所述芯片中的所述主用處理器至少為一個,也可以為多個,這里不做限定,所述備用處理器可以訪問所述總線上任意一個主用處理器,且所述備用處理器能夠訪問控制所述主用處理器可以訪問控制的所有邏輯電路。
[0063]可選的,所述主用處理器和所述備用處理器均為數字信號處理器DSP,或者均為中央處理器CPU。
[0064]例如,當要對圖2中的主用處理器I進行升級時,所述備用處理器與所述主用處理器I進行消息通信時,是通過芯片中的總線進行通信,由于在所述總線上還存在其他消息的傳輸,例如,其他主用處理器與LI或L2的邏輯電路之間的消息傳輸,使得所述總線容易出現消息擁堵的現象,影響了所述備用處理器與所述主用處理器I之間的通信,因此所述備用處理器通過專用通道與每一個主用處理器連接,例如,如圖3所示,所述備用處理器通過快進快出總線(FIFO bus)通道與每一個主用處理器連接,提高了所述備用處理器與所述主用處理器I之間的通信效率。所述芯片通過所述總線與所述網絡管理單元連接,其中所述網絡管理單元可以通過網口或者其他接口,如USB接口,再通過橋與所述芯片的總線連接。
[0065]如圖4所示,本發明實施例提供的一種在線升級的方法,包括:
[0066]401、所述備用處理器接收主用處理器發送的第一同步消息,所述第一同步消息包括請求同步命令和所述主用處理器下一幀待處理的數據幀序列號。
[0067]如圖5所示,所述第一同步消息中包括,消息頭、CRC(Cyclical RedundancyCheck,循環冗余碼)校驗、請求同步命令、當前處理的數據幀序列號、上一幀處理的數據幀序列號、下一幀待處理的數據幀序列號、當前所述主用處理器的準備狀態(例如,是否準備好)、預留擴展位。
[0068]其中,消息頭中有所述主用處理器的標識,便于所述備用處理器向所述主用處理器反饋消息,所述請求同步命令用于通知所述備用處理器,該主用處理器需要同步。由于在所述第一同步消息中還包括所述主用處理器當前處理的數據幀序列號和下一幀待處理的數據幀序列號,通過所述當前處理的數據幀序列號,所述備用處理器知道所述主用處理器當前處理的數據幀是哪一幀,以便將所述主用處理器處理的業務切換到所述備用處理器上進行處理時,所述備用處理器能夠接替所述主用處理器繼續處理所述下一幀待處理的數據幀,保證業務不會中斷。例如,所述主用處理器當前處理第3幀數據,所述主用處理器與所述備用處理器同步以后,并將所述主用處理器替換為所述備用處理器,則所述備用處理器繼續處理第4幀數據。
[0069]所述主用處理器與所述備用處理器之間的通信,可以通過所述總線發送或者接收消息,也可以通過如圖3中所示的FIFO bus通道進行消息的發送和接收。
[0070]402、所述備用處理器獲取所述下一幀待處理的數據幀序列號,并向所述主用處理器發送第二同步消息,所述第二同步消息包括響應同步命令,所述響應同步命令用于通知所述主用處理器,與所述備用處理器是否同步成功。
[0071]所述備用處理器在獲取到所述下一幀待處理的數據幀序列號之后,向所述主用處理器發送第二同步消息,以響應所述第一同步消息,其中,所述第二同步消息中包括消息頭、CRC校驗、響應同步命令、當前所述備用處理器的準備狀態(如,準備好/沒有準備好)、預留擴展位。
[0072]另外,為了提高同步的可靠性,可以通過多次握手的方式進行同步,即所述主用處理器向所述備用處理器發送一次第一同步消息,然后所述備用處理器向所述主用處理器發送第二同步消息,為一次握手。如圖6所示,握手次數為3次,其中所述備用處理器每次接收的第一同步消息中,攜帶的當前處理的數據幀序列號、上一幀處理的數據幀序列號和下一幀待處理的數據幀序列號可能會有更新,這依據所述主用處理器實際處理的數據幀而定。
[0073]403、所述網絡管理單元在間隔第一預定時間向所述主用處理器發送第一查詢消息,所述第一查詢消息用于查詢所述主用處理器與所述備用處理器是否同步成功。
[0074]在間隔第一預定時間,例如間隔6秒,所述網絡管理單元向主用處理器發送第一查詢消息,用于查詢所述主用處理器與所述備用處理器是否同步成功,以便于所述網絡管理單元決定是否將所述主用處理器正在處理的業務,切換為由所述備用處理器進行處理。
[0075]404、當所述主用處理器與所述備用處理器同步成功時,所述主用處理器向所述網絡管理單元發送同步成功消息。
[0076]所述同步成功消息包括消息頭,CRC校驗,以及所述主用處理器的狀態,即同步成功時,狀態為準備好,同步沒有成功時,狀態為沒有準備好。
[0077]405、所述網絡管理單元向所述備用處理器發送第一開始工作指令,以及向所述主用處理器發送第一停止工作指令,所述備用處理器處理所述主用處理器下一幀待處理的數據幀序列號對應的數據幀,所述主用處理器停止工作,所述網絡管理單元對所述主用處理器進行升級處理,所述第一開始工作指令用于通知所述備用處理器開始處理所述主用處理器待處理的業務。
[0078]當所述網絡管理單元接收到所述主用處理器發送的同步成功消息之后,說明所述主用處理器與所述備用處理器已經同步成功,則所述網絡管理單元向所述主用處理器發送第一停止工作指令,向備用處理器發送第一開始工作指令,所述備用處理器開始處理所述主用處理器中的下一幀待處理的數據幀序列號對應的數據幀,所述主用處理器停止處理業務,并接受所述網絡管理單元進行的升級處理。
[0079]本發明實施例提供的一種在線升級的方法,通過在芯片中設置一個備用處理器,將所述備用處理器與待升級的主用處理器同步成功后,由所述備用處理器處理所述主用處理器中的下一幀待處理的數據幀序列號對應的數據幀,所述主用處理器停止處理業務,并接受所述網絡管理單元進行的升級處理。本發明實施例解決了現有技術中對主用處理器進行升級時,影響業務正常運行的問題,保證了業務的正常運行,不被中斷,提高了設備的可靠性。
[0080]在具體應用時,所述芯片可以為Soc芯片,以圖3中的主用處理器1、備用處理器、網絡管理單元為例進行說明,其中,所述網絡管理單元可以通過網口或者其他接口,如USB接口,再通過橋與所述芯片的總線連接,所述網絡管理單元與所述主用處理器I和備用處理器之間通信的消息,均是通過所述芯片中的總線進行傳輸的,當要對所述主用處理器I進行升級時,如圖7所示,執行如下步驟:
[0081]701、網絡管理單元獲取所述主用處理器I中正在運行的軟件信息,并將所述軟件信息作為目標軟件信息。
[0082]702、所述網絡管理單元將所述目標軟件信息發送給所述備用處理器。
[0083]703、所述備用處理器接收并保存所述網絡管理單元發送的目標軟件信息,所述目標軟件信息為所述網絡管理單元獲取的主用處理器I中正在運行的軟件信息。
[0084]由于所述備用處理器中可能為空,不存在任何軟件,或者沒有所述主用處理器I中正在運行的軟件,因此為了保證所述主用處理器I與所述備用處理器同步成功,需要將所述主用處理器I中正在運行的軟件信息復制到所述備用處理器中,以便所述備用處理器替換所述主用處理器I工作后,所述主用處理器I中運行的業務,能夠在所述備用處理器中正常運行。
[0085]704、所述網絡管理單元向所述備用處理器發送第一初始化消息,所述第一初始化消息用于指示所述備用處理器將所述目標軟件信息的參數設置為初始狀態。
[0086]705、當所述備用處理器接收到所述網絡管理單元發送的第一初始化消息時,將所述目標軟件信息的參數設置為初始狀態。
[0087]由于將所述目標軟件信息復制到所述備用處理器時,所述目標軟件信息中可能會存留正在處理的數據,通過第一初始化消息將所述目標軟件信息的參數設置為一個固定的初始狀態,其中可以在所述第一初始化消息中攜帶相關參數,所述備用處理器可以利用所述相關參數對所述目標軟件信息的參數進行初始狀態的設置。也可以預先在所述備用處理器中設置相關參數,在所述備用處理器接收到所述第一初始化消息時,利用設置在所述備用處理器中的相關參數對所述目標軟件信息的參數進行設置。本發明實施例不限定利用哪種方式對所述目標軟件信息的參數進行初始狀態的設置。
[0088]706、所述網絡管理單元向所述主用處理器I發送第一通知消息,所述第一通知消息用于通知所述主用處理器I,所述備用處理器準備進行同步。
[0089]707、所述主用處理器I接收所述網絡管理單元發送的第一通知消息,所述第一通知消息用于通知所述主用處理器I,所述備用處理器準備進行同步。
[0090]當所述網絡管理單元向所述備用處理器發送第一初始化消息之后,向所述主用處理器I發送第一通知消息,其中所述第一通知消息包括消息頭,CRC校驗,以及通知所述主用處理器1,所述備用處理器已經準備好的指示,即所述備用處理器已經準備進行與所述主用處理器I的同步。
[0091]下述步驟708-711為所述主用處理器I與所述備用處理器進行的同步操作。
[0092]708、所述主用處理器I向所述備用處理器發送第一同步消息,所述第一同步消息包括請求同步命令、主用處理器I下一幀待處理的數據幀序列號。
[0093]709、所述備用處理器接收所述主用處理器I發送的第一同步消息,所述第一同步消息包括請求同步命令、所述主用處理器I下一幀待處理的數據幀序列號。
[0094]如圖5所示,所述第一同步消息中包括,消息頭、CRC校驗、請求同步命令、當前處理的數據幀序列號、上一幀處理的數據幀序列號、下一幀待處理的數據幀序列號、當前所述主用處理器I的準備狀態(如,是否準備好)、預留擴展位。
[0095]其中,消息頭中有所述主用處理器I的標識,便于所述備用處理器向所述主用處理器I反饋消息,所述請求同步命令用于通知所述備用處理器,該主用處理器I需要同步。由于在所述第一同步消息中還包括所述主用處理器I當前處理的數據幀序列號和下一幀待處理的數據幀序列號,通過所述當前處理的數據幀序列號,所述備用處理器知道所述主用處理器I當前處理的數據幀是哪一幀,以便將所述主用處理器I處理的業務切換到所述備用處理器上進行處理時,所述備用處理器能夠接替所述主用處理器I繼續處理所述下一幀待處理的數據幀,保證業務不會中斷。例如,所述主用處理器I當前處理第3幀數據,所述主用處理器I與所述備用處理器同步以后,并將所述主用處理器I替換為所述備用處理器,則所述備用處理器繼續處理第4幀數據。
[0096]所述主用處理器I與所述備用處理器之間的通信,可以通過所述總線發送或者接收消息,也可以通過如圖3中所示的FIFO bus通道進行消息的發送和接收。
[0097]710、所述備用處理器獲取所述下一幀待處理的數據幀序列號,并向所述主用處理器I發送第二同步消息,所述第二同步消息包括響應同步命令,以便通知所述主用處理器I是否同步成功。
[0098]711、所述主用處理器I接收所述備用處理器發送的第二同步消息,確定所述主用處理器I與所述備用處理器是否同步成功,所述第二同步消息包括響應同步命令。
[0099]所述備用處理器在獲取到所述下一幀待處理的數據幀序列號之后,向所述主用處理器I發送第二同步消息,以響應所述第一同步消息,其中,所述第二同步消息中包括消息頭、CRC校驗、響應同步命令、當前所述備用處理器的準備狀態(如,準備好/沒有準備好)、預留擴展位。當所述準備狀態為準備好時,則表示所述主用處理器I與所述備用處理器同步成功,若所述準備狀態為沒有準備好,表示所述主用處理器I與所述備用處理器沒有同步成功。
[0100]另外,為了提高同步的可靠性,可以通過多次握手的方式進行同步,即所述主用處理器I向所述備用處理器發送一次第一同步消息,然后所述備用處理器向所述主用處理器I發送第二同步消息,為一次握手。如圖6所示,握手次數為3次,其中所述備用處理器每次接收的第一同步消息中,攜帶的當前處理的數據幀序列號、上一幀處理的數據幀序列號和下一幀待處理的數據幀序列號可能會有更新,這依據所述主用處理器I實際處理的數據幀而定。
[0101]另外,當同步過程中出現異常,例如所述備用處理器沒有應答所述主用處理器1,則所述主用處理器I向所述備用處理器發送初始化消息,將所述備用處理器進行復位,并重新向所述備用處理器發送第一同步消息,具體如下所示:
[0102]a、當在第一預設時間內,所述主用處理器I沒有接收到所述備用處理器發送的所述第二同步消息時,所述主用處理器I向所述備用處理器發送重置初始化消息,所述重置初始化消息用于指示所述備用處理器將所述備用處理器中的目標軟件信息的參數重新設置為初始狀態,所述目標軟件信息為所述網絡管理單元獲取的主用處理器I正在運行的軟件信息;
[0103]b、所述備用處理器接收所述主用處理器I發送的重置初始化消息,并將所述目標軟件信息的參數設置為初始狀態,所述重置初始化消息用于在所述主用處理器I向所述備用處理器發送第一同步消息之后,在第一預設時間內沒有接收到所述備用處理器發送的第二同步消息時,指示所述備用處理器將所述目標軟件信息的參數重新設置為初始狀態。
[0104]由于所述備用處理器在接收所述第一同步消息之后,會保存有所述第一同步消息中的數據幀的相關參數,由于所述備用處理器在所述第一預設時間內,例如在I秒鐘內,沒有應答所述主用處理器I,可能由于所述備用處理器在處理所述第一同步消息中的數據時出現異常,則需要對所述備用處理器中的目標軟件信息的參數重新進行初始化,然后再進行所述主用處理器I與所述備用處理器的同步。
[0105]其中所述重置初始化消息與所述第一初始化消息類似,在所述重置初始化消息中可以攜帶初始化的相關參數,所述備用處理器可以利用所述相關參數對所述目標軟件信息的參數進行初始狀態的設置。也可以預先在所述備用處理器中設置相關參數,在所述備用處理器接收到所述重置初始化消息時,利用設置在所述備用處理器中的相關參數對所述目標軟件信息的參數進行設置。本發明實施例不限定利用哪種方式對所述目標軟件信息的參數進行初始狀態的設置。
[0106]當所述備用處理器中的軟件的參數設置為初始狀態之后,所述主用處理器I向所述備用處理器發送第一同步消息,然后所述備用處理器接收所述主用處理器I發送的第一同步消息,重新進行所述主用處理器I與所述備用處理器的同步。
[0107]712、所述網絡管理單元在間隔第一預定時間向主用處理器I發送第一查詢消息,所述第一查詢消息用于查詢所述主用處理器I與所述備用處理器是否同步成功;
[0108]713、所述主用處理器I在間隔第一預定時間接收所述網絡管理單元發送的第一查詢消息,所述第一查詢消息用于查詢所述主用處理器I與所述備用處理器是否同步成功。
[0109]在間隔第一預定時間。例如間隔6秒鐘,所述網絡管理單元向主用處理器I發送第一查詢消息,用于查詢所述主用處理器I與所述備用處理器是否同步成功,以便于所述網絡管理單元決定是否將所述主用處理器I正在處理的業務,切換為由所述備用處理器進行處理。
[0110]714、當所述主用處理器I與所述備用處理器同步成功時,所述主用處理器I向所述網絡管理單元發送同步成功消息。
[0111]715、當所述網絡管理單元接收到所述主用處理器I發送的同步成功消息時,所述網絡管理單元向備用處理器發送第一開始工作指令,以及向所述主用處理器I發送第一停止工作指令,以便所述網絡管理單元對所述主用處理器I進行升級處理。
[0112]716、當所述備用處理器接收到所述網絡管理單元發送的第一開始工作指令時,處理所述下一幀待處理的數據幀序列號對應的數據幀,所述第一開始工作指令用于通知備用處理器開始處理所述主用處理器I待處理的業務,以便所述主用處理器I停止工作,接受所述網絡管理單元對所述主用處理器I的升級處理。
[0113]當所述備用處理器接收到所述網絡管理單元發送的第一開始工作指令時,所述備用處理器開始處理所述主用處理器I中下一幀待處理的數據幀序列號對應的數據幀,從而保證所述主用處理器I正在處理的業務不會出現業務中斷的現象。
[0114]717、當所述主用處理器I接收到所述網絡管理單元發送的第一停止工作指令時,所述主用處理器I停止處理業務,以便所述備用處理器繼續處理所述主用處理器I待處理的業務,所述主用處理器I接受所述網絡管理單元進行的升級處理。
[0115]當所述主用處理器I接收到所述網絡管理單元發送的停止工作指令時,所述主用處理器I停止處理業務,以便所述網絡管理單元對所述主用處理器I進行升級處理。
[0116]上述圖7所示的實施例,通過在所述芯片中增加一個備用處理器,并通過總線與所述芯片中的主用處理器I連接,而且所述備用處理器可以訪問所述總線上任意一個主用處理器1,且所述備用處理器能夠訪問控制,所述主用處理器I可以訪問控制的所有邏輯電路,從而在對所述主用處理器I進行升級處理之前,以數據幀為單位對所述主用處理器I與備用處理器進行同步處理,同步成功以后,保證了所述備用處理器能夠處理所述主用處理器I正在處理的業務,繼而對主用處理器I進行升級,保證了業務的正常運行,不被中斷,提高了設備的可靠性。
[0117]在對所述主用處理器I進行升級之后,還需要將所述備用處理器處理的業務切換回所述主用處理器1,步驟與上述圖7中所述的類似,如圖8所示,包括如下步驟:
[0118]801、所述網絡管理單元向所述主用處理器I發送第二初始化消息,所述第二初始化消息用于指示所述主用處理器I將升級后的所述主用處理器I中的軟件的參數均設置為初始狀態;
[0119]802、所述主用處理器I接收所述網絡管理單元發送的第二初始化消息,并將升級后的所述主用處理器I中的軟件的參數均設置為初始狀態。
[0120]由于所述主用處理器I中可能會存留升級之前運行業務的相關數據,因此通過第二初始化消息將升級后的所述主用處理器I中軟件的參數設置為一個固定的初始狀態,其中可以在所述第二初始化消息中攜帶相關參數,所述主用處理器I可以利用所述相關參數對所述軟件的參數進行初始狀態的設置。也可以預先在所述主用處理器I中設置相關參數,在所述主用處理器I接收到所述第二初始化消息時,利用設置在所述主用處理器I中的相關參數對所述軟件的參數進行設置。本發明實施例不限定利用哪種方式對所述軟件的參數進行初始狀態的設置。
[0121]803、所述網絡管理單元向所述備用處理器發送第二通知消息,所述第二通知消息用于通知所述備用處理器,所述主用處理器I升級完成,以便所述備用處理器與所述主用處理器I進行同步處理。
[0122]其中所述第二通知消息包括消息頭,CRC校驗,以及通知所述備用處理器,所述主用處理器I已經準備好的指示,即所述主用處理器I已經準備進行與所述備用處理器的同止/J/ O
[0123]804、當所述備用處理器接收到所述網絡管理單元發送的第二通知消息時,向所述主用處理器I發送第三同步消息,所述第二通知消息用于通知所述備用處理器,所述主用處理器I升級完成,所述第三同步消息包括請求同步命令、所述備用處理器下一幀待處理的數據幀序列號;
[0124]805、所述主用處理器I接收所述備用處理器發送的第三同步消息,所述第三同步消息包括請求同步命令、所述備用處理器下一幀待處理的數據幀序列號。
[0125]當所述備用處理器接收到所述網絡管理單元發送的第二通知消息時,表示所述主用處理器I已經準備好與所述備用處理器進行同步。
[0126]如圖5所示,所述第三同步消息的格式與所述第一同步消息的格式相同,包括,消息頭、CRC校驗、請求同步命令、當前處理的數據幀序列號、上一幀處理的數據幀序列號、下一幀待處理的數據幀序列號、當前所述備用處理器的準備狀態(如,是否準備好)、預留擴展位。
[0127]其中,消息頭中有所述備用處理器的標識,便于所述主用處理器I向所述備用處理器反饋消息,所述請求同步命令用于通知所述主用處理器1,該備用處理器需要同步。由于在所述第三同步消息中還包括所述備用處理器當前處理的數據幀序列號和下一幀待處理的數據幀序列號,通過所述當前處理的數據幀序列號,所述主用處理器I知道所述備用處理器當前處理的數據幀是哪一幀,以便將所述備用處理器處理的業務切換到所述主用處理器I上進行處理時,所述主用處理器I能夠接替所述備用處理器繼續處理所述下一幀待處理的數據幀,保證業務不會中斷。例如,所述備用處理器當前處理第3幀數據,所述備用處理器與所述主用處理器I同步以后,所述主用處理器I繼續處理第4幀數據。
[0128]所述主用處理器I與所述備用處理器之間的通信,可以通過所述總線發送或者接收消息,也可以通過如圖3中所示的FIFO bus通道進行消息的發送和接收。
[0129]806、所述主用處理器I獲取所述備用處理器中的下一幀待處理的數據幀序列號,并向所述備用處理器發送第四同步消息,所述第四同步消息包括響應同步命令。
[0130]807、所述備用處理器接收所述主用處理器I發送的第四同步消息,確定所述備用處理器與所述主用處理器I同步成功,所述第四同步消息包括響應同步命令。
[0131]所述主用處理器I在獲取所述備用處理器下一幀待處理的數據幀序列號之后,向所述備用處理器發送第四同步消息,以響應所述第三同步消息,其中,所述第四同步消息中包括消息頭、CRC校驗、響應同步命令、當前所述主用處理器I的準備狀態(如,準備好/沒有準備好)、預留擴展位。當所述準備狀態為準備好時,則表示所述主用處理器I與所述備用處理器同步成功,若所述準備狀態為沒有準備好,表示所述主用處理器I與所述備用處理器沒有同步成功。
[0132]另外,為了提高同步的可靠性,可以通過多次握手的方式進行同步,即所述備用處理器向所述主用處理器I發送一次第三同步消息,然后所述主用處理器I向所述備用處理器發送第四同步消息,為一次握手。如果握手次數為3次,則所述主用處理器I每次接收的第三同步消息中,攜帶的所述備用處理器當前處理的數據幀序列號、上一幀處理的數據幀序列號和下一幀待處理的數據幀序列號可能會有更新,這依據所述備用處理器實際處理的數據幀而定。
[0133]另外,當同步過程中出現異常,例如所述主用處理器I沒有應答所述備用處理器,則所述備用處理器向所述主用處理器I發送初始化消息,將所述主用處理器I進行復位,并重新向所述主用處理器I發送第三同步消息,具體如下所示:
[0134]C、當在第二預設時間內,所述備用處理器沒有接收到所述主用處理器I發送的所述第四同步消息時,向所述主用處理器I發送重置初始化消息,所述重置初始化消息用于指示所述主用處理器I重新設置為初始狀態;
[0135]d、所述主用處理器I接收所述備用處理器發送的重置初始化消息,并將升級后的所述主用處理器I中的軟件的參數均設置為初始狀態,所述第三重置初始化消息用于在所述備用處理器向所述主用處理器I發送第三同步消息之后,在第二預設時間內沒有接收到所述主用處理器I發送的第四同步消息時,指示所述主用處理器I將升級后的所述主用處理器I中的軟件的參數均設置為初始狀態。
[0136]由于所述主用處理器I在接收所述第三同步消息之后,會保存有所述第三同步消息中的數據幀的相關參數,由于所述主用處理器I在所述第二預設時間內,例如在I秒鐘內,沒有應答所述備用處理器,可能由于所述主用處理器I在處理所述第三同步消息中的數據時出現異常,則需要對所述主用處理器I中的軟件的參數重新進行初始化,然后再進行所述主用處理器I與所述備用處理器的同步。
[0137]其中所述重置初始化消息與所述第二初始化消息類似,在所述重置初始化消息中可以攜帶初始化的相關參數,所述主用處理器I可以利用所述相關參數對所述主用處理器I中的軟件的參數進行初始狀態的設置。也可以預先在所述主用處理器I中設置相關參數,在所述主用處理器I接收到所述重置初始化消息時,利用設置在所述主用處理器I中的相關參數對所述軟件的參數進行設置。本發明實施例不限定利用哪種方式對所述軟件的參數進行初始狀態的設置。
[0138]當所述主用處理器I中的軟件的參數設置為初始狀態之后,所述備用處理器向所述主用處理器I發送第三同步消息,然后所述主用處理器I接收所述備用處理器發送的第三同步消息,重新進行所述主用處理器I與所述備用處理器的同步。
[0139]808、所述網絡管理單元在間隔第二預定時間向所述備用處理器發送第二查詢消息,所述第二查詢消息用于查詢所述備用處理器與所述主用處理器I是否同步成功;
[0140]809、當所述備用處理器在間隔第二預定時間接收到所述網絡管理單元發送的第二查詢消息,且所述備用處理器與所述主用處理器I同步成功時,所述備用處理器向所述網絡管理單元發送同步成功消息,所述第二查詢消息用于查詢所述備用處理器與所述主用處理器I是否同步成功。
[0141]在間隔第二預定時間。例如間隔5秒鐘,所述網絡管理單元向備用處理器發送第二查詢消息,用于查詢所述主用處理器I與所述備用處理器是否同步成功,以便于所述網絡管理單元決定是否將所述備用處理器待處理的業務,切換為由所述主用處理器I進行處理。
[0142]810、當所述網絡管理單元接收到所述備用處理器發送的同步成功消息時,所述網絡管理單元向所述主用處理器I發送第二開始工作指令,以及向所述備用處理器發送第二停止工作指令。
[0143]811、當所述主用處理器I接收到所述網絡管理單元發送的第二開始工作指令時,處理所述備用處理器中下一幀待處理的數據幀序列號對應的數據幀,所述第二開始工作指令用于通知所述主用處理器I開始處理所述備用處理器待處理的業務。
[0144]當所述主用處理器I接收到所述網絡管理單元發送的第二開始工作指令時,所述主用處理器I開始處理所述備用處理器中下一幀待處理的數據幀序列號對應的數據幀,從而保證所述備用處理器正在處理的業務不會出現業務中斷的現象。
[0145]812、當所述備用處理器接收到所述網絡管理單元發送的第二停止工作指令時,所述備用處理器停止處理業務,以便所述主用處理器I開始處理所述備用處理器待處理的業務。
[0146]當所述備用處理器接收到所述網絡管理單元發送的第二停止工作指令時,所述備用處理器停止處理業務。
[0147]另外,為了降低功耗,可以將所述備用處理器關閉。當要對其他主用處理器進行升級時,再開啟所述備用處理器。
[0148]上述圖8所述的實施例,當所述主用處理器I升級結束后,要恢復所述主用處理器I的工作,則按照圖8類似的主用處理器I與備用處理器同步的方式,將所述備用處理器與所述主用處理器I進行同步,從而將暫時工作的備用處理器正在處理的業務,重新切換為所述主用處理器I進行處理,從而完成所述主用處理器I的升級,由于在所述備用處理器與所述主用處理器I進行同步時,是以數據幀為單位進行的,保證了所述主用處理器I能夠處理所述備用處理器正在處理的業務,繼而保證了業務的正常運行,不被中斷,提高了設備的可靠性。
[0149]如圖9所示,本發明實施例提供一種芯片90,所述芯片包括至少一個主用處理器901,通過總線902進行連接,所述芯片還包括通過所述總線與所述主用處理器連接的一個備用處理器903,所述芯片還通過所述總線與網絡管理單元904連接,其中,
[0150]所述備用處理器903,用于接收主用處理器發送的第一同步消息,所述第一同步消息包括請求同步命令和所述主用處理器下一幀待處理的數據幀序列號,獲取所述下一幀待處理的數據幀序列號,并向所述主用處理器發送第二同步消息,所述第二同步消息包括響應同步命令,所述響應同步命令用于通知所述主用處理器,與所述備用處理器是否同步成功,當所述主用處理器與所述備用處理器同步成功時,接收所述網絡管理單元發送的第一開始工作指令,并開始處理所述主用處理器下一幀待處理的數據幀序列號對應的數據幀;
[0151]所述主用處理器901,用于向所述備用處理器發送第一同步消息,并接收所述備用處理器發送的第二同步消息,獲取所述備用處理器是否同步成功,接收所述網絡管理單元發送的第一查詢消息,所述第一查詢消息用于查詢所述主用處理器與所述備用處理器是否同步成功,當所述主用處理器與所述備用處理器同步成功時,向所述網絡管理單元發送同步成功消息,并接收所述網絡管理單元發送的第一停止工作指令,停止工作;
[0152]所述網絡管理單元904,用于在間隔第一預定時間向所述主用處理器發送第一查詢消息,并接收所述主用處理器發送的同步成功消息,向所述備用處理器發送第一開始工作指令,以及向所述主用處理器發送第一停止工作指令,并對所述主用處理器進行升級處理。
[0153]本發明實施例提供的一種芯片,通過在芯片中設置一個備用處理器,將所述備用處理器與待升級的主用處理器同步成功后,由所述備用處理器處理所述主用處理器中的下一幀待處理的數據幀序列號對應的數據幀,所述主用處理器停止處理業務,并接受所述網絡管理單元進行的升級處理。本發明實施例解決了現有技術中對主用處理器進行升級時,影響業務正常運行的問題,保證了業務的正常運行,不被中斷,提高了設備的可靠性。
[0154]可選的,所述主用處理器和所述備用處理器均為數字信號處理器DSP,或者均為中央處理器CPU。
[0155]可選的,所述備用處理器通過快進快出總線通道與每一個主用處理器連接。
[0156]可選的,所述網絡管理單元,還用于獲取所述主用處理器中正在運行的軟件信息,并將所述軟件作為目標軟件信息,將所述目標軟件信息發送給所述備用處理器;
[0157]所述備用處理器,還用于接收并保存所述網絡管理單元發送的目標軟件信息。
[0158]可選的,所述網絡管理單元,還用于向所述備用處理器發送第一初始化消息;
[0159]所述備用處理器,還用于將所述目標軟件信息的參數設置為初始狀態。
[0160]可選的,所述網絡管理單元,還用于向所述主用處理器發送第一通知消息,所述第一通知消息用于通知所述主用處理器,所述備用處理器準備進行同步。
[0161]可選的,所述網絡管理單元,還用于向所述備用處理器發送第二通知消息,所述第二通知消息用于通知所述備用處理器,所述主用處理器升級完成;
[0162]所述備用處理器,還用于當接收到所述第二通知消息時,向所述主用處理器發送第三同步消息,所述第三同步消息包括請求同步命令、所述備用處理器下一幀待處理的數據幀序列號;
[0163]所述備用處理器,還用于接收所述主用處理器發送的第四同步消息,確定所述備用處理器與所述主用處理器同步成功,所述第四同步消息包括響應同步命令;
[0164]所述網絡管理單元,還用于在間隔第二預定時間向所述備用處理器發送第二查詢消息,所述第二查詢消息用于查詢所述備用處理器與所述主用處理器是否同步成功;
[0165]所述備用處理器,還用于當所述備用處理器與所述主用處理器同步成功時,向所述網絡管理單元發送同步成功消息;
[0166]所述網絡管理單元,還用于向所述主用處理器發送第二開始工作指令,以及向所述備用處理器發送第二停止工作指令,所述第二開始工作指令用于通知所述主用處理器開始處理所述備用處理器待處理的業務。
[0167]所述主用處理器,還用于當接收到所述網絡管理單元發送的第二開始工作指令時,開始處理所述備用處理器下一幀待處理的數據幀序列號對應的數據幀。
[0168]可選的,所述網絡管理單元,還用于向所述主用處理器發送第二初始化消息,所述第二初始化消息用于指示所述主用處理器將升級后的所述主用處理器中的軟件信息均設置為初始狀態;
[0169]所述主用處理器,還用于當接收到所述網絡管理單元發送的第二初始化消息時,將升級后的軟件信息均設置為初始狀態。
[0170]所述芯片90中主用處理器和備用處理器,以及與網絡管理單元的具體實現過程,參見上述在線升級的方法的處理過程。
[0171]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0172]在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0173]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0174]另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
[0175]所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)或處理器(processor)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM, Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0176]以上所述,僅為本發明的【具體實施方式】,但本發明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以所述權利要求的保護范圍為準。
【權利要求】
1.一種在線升級的方法,其特征在于,應用于一種芯片,所述芯片包括至少一個主用處理器,所述至少一個主用處理器通過總線與一個備用處理器連接,且所述芯片通過所述總線與網絡管理單元連接,所述方法包括: 所述備用處理器接收主用處理器發送的第一同步消息,所述第一同步消息包括請求同步命令和所述主用處理器下一幀待處理的數據幀序列號; 所述備用處理器獲取所述下一幀待處理的數據幀序列號,并向所述主用處理器發送第二同步消息,所述第二同步消息包括響應同步命令,所述響應同步命令用于通知所述主用處理器,與所述備用處理器是否同步成功; 所述網絡管理單元在間隔第一預定時間向所述主用處理器發送第一查詢消息,所述第一查詢消息用于查詢所述主用處理器與所述備用處理器是否同步成功; 當所述主用處理器與所述備用處理器同步成功時,所述主用處理器向所述網絡管理單元發送同步成功消息; 所述網絡管理單元向所述備用處理器發送第一開始工作指令,以及向所述主用處理器發送第一停止工作指令,所述備用處理器處理所述主用處理器下一幀待處理的數據幀序列號對應的數據幀,所述主用處理器停止工作,所述網絡管理單元對所述主用處理器進行升級處理,所述第一開始工作指令用于通知所述備用處理器開始處理所述主用處理器待處理的業務。
2.根據權利要求1所述的在線升級的方法,其特征在于,在所述備用處理器接收主用處理器發送的第一同步消息之前,所述方法還包括: 所述網絡管理單元獲取所述主用處理器中正在運行的軟件信息,并將所述軟件信息作為目標軟件信息; 所述網絡管理單元將所述目標軟件信息發送給所述備用處理器; 所述備用處理器接收并保存所述網絡管理單元發送的目標軟件信息。
3.根據權利要求2所述的在線升級的方法,其特征在于,在所述備用處理器接收主用處理器發送的第一同步消息之前,所述方法還包括: 所述網絡管理單元向所述備用處理器發送第一初始化消息,所述備用處理器將所述目標軟件信息的參數設置為初始狀態。
4.根據權利要求3所述的在線升級的方法,其特征在于,所述備用處理器將所述目標軟件信息的參數設置為初始狀態之后,所述方法還包括: 所述網絡管理單元向所述主用處理器發送第一通知消息,所述第一通知消息用于通知所述主用處理器,所述備用處理器準備進行同步。
5.根據權利要求1所述的在線升級的方法,其特征在于,當所述網絡管理單元對所述主用處理器進行升級完成后,所述方法還包括: 當所述備用處理器接收到所述網絡管理單元發送的第二通知消息時,向所述主用處理器發送第三同步消息,所述第二通知消息用于通知所述備用處理器,所述主用處理器升級完成,所述第三同步消息包括請求同步命令、所述備用處理器下一幀待處理的數據幀序列號; 所述備用處理器接收所述主用處理器發送的第四同步消息,確定所述備用處理器與所述主用處理器同步成功,所述第四同步消息包括響應同步命令; 所述網絡管理單元在間隔第二預定時間向所述備用處理器發送第二查詢消息,且所述備用處理器與所述主用處理器同步成功時,所述備用處理器向所述網絡管理單元發送同步成功消息,所述第二查詢消息用于查詢所述備用處理器與所述主用處理器是否同步成功; 所述網絡管理單元向所述主用處理器發送第二開始工作指令,所述主用處理器開始處理所述備用處理器下一幀待處理的數據幀序列號對應的數據幀,以及向所述備用處理器發送第二停止工作指令,使所述備用處理器停止工作,所述第二開始工作指令用于通知所述主用處理器開始處理所述備用處理器待處理的業務。
6.根據權利要求5所述的在線升級的方法,其特征在于,所述當所述備用處理器接收到所述網絡管理單元發送的第二通知消息之前,所述方法還包括: 所述網絡管理單元向所述主用處理器發送第二初始化消息,所述第二初始化消息用于指示所述主用處理器將升級后的所述主用處理器中的軟件的參數均設置為初始狀態; 所述主用處理器將升級后的軟件的參數均設置為初始狀態。
7.—種芯片,所述芯片包括至少一個主用處理器,通過總線進行連接,其特征在于,所述芯片還包括通過所述總線與所述主用處理器連接的一個備用處理器,所述芯片還通過所述總線與網絡管理單元連接,其中, 所述備用處理器,用于接收主用處理器發送的第一同步消息,所述第一同步消息包括請求同步命令和所述主用處理器下一幀待處理的數據幀序列號,獲取所述下一幀待處理的數據幀序列號,并向所述主用處理器發送第二同步消息,所述第二同步消息包括響應同步命令,所述響應同步命令用于通知所述主用處理器,與所述備用處理器是否同步成功,當所述主用處理器與所述備用處理器同步成功時,接收所述網絡管理單元發送的第一開始工作指令,并開始處理所述主用處理器下一幀待處理的數據幀序列號對應的數據幀; 所述主用處理器,用于向所述備用處理器發送第一同步消息,并接收所述備用處理器發送的第二同步消息,獲取所述備用處理器是否同步成功,接收所述網絡管理單元發送的第一查詢消息,所述第一查詢消息用于查詢所述主用處理器與所述備用處理器是否同步成功,當所述主用處理器與所述備用處理器同步成功時,向所述網絡管理單元發送同步成功消息,并接收所述網絡管理單元發送的第一停止工作指令,停止工作; 所述網絡管理單元,用于在間隔第一預定時間向所述主用處理器發送第一查詢消息,并接收所述主用處理器發送的同步成功消息,向所述備用處理器發送第一開始工作指令,以及向所述主用處理器發送第一停止工作指令,并對所述主用處理器進行升級處理。
8.根據權利要求7所述的芯片,其特征在于,所述主用處理器和所述備用處理器均為數字信號處理器03?,或者均為中央處理器⑶匕
9.根據權利要求8所述的芯片,其特征在于,所述備用處理器通過快進快出總線通道與每一個主用處理器連接。
10.根據權利要求7-9任一項所述的芯片,其特征在于, 所述網絡管理單元,還用于獲取所述主用處理器中正在運行的軟件信息,并將所述軟件作為目標軟件信息,將所述目標軟件信息發送給所述備用處理器; 所述備用處理器,還用于接收并保存所述網絡管理單元發送的目標軟件信息。
11.根據權利要求10所述的芯片,其特征在于, 所述網絡管理單元,還用于向所述備用處理器發送第一初始化消息; 所述備用處理器,還用于將所述目標軟件信息的參數設置為初始狀態。
12.根據權利要求11所述的芯片,其特征在于, 所述網絡管理單元,還用于向所述主用處理器發送第一通知消息,所述第一通知消息用于通知所述主用處理器,所述備用處理器準備進行同步。
13.根據權利要求7-9任一項所述的芯片,其特征在于, 所述網絡管理單元,還用于向所述備用處理器發送第二通知消息,所述第二通知消息用于通知所述備用處理器,所述主用處理器升級完成; 所述備用處理器,還用于當接收到所述第二通知消息時,向所述主用處理器發送第三同步消息,所述第三同步消息包括請求同步命令、所述備用處理器下一幀待處理的數據幀序列號; 所述備用處理器,還用于接收所述主用處理器發送的第四同步消息,確定所述備用處理器與所述主用處理器同步成功,所述第四同步消息包括響應同步命令; 所述網絡管理單元,還用于在間隔第二預定時間向所述備用處理器發送第二查詢消息,所述第二查詢消息用于查詢所述備用處理器與所述主用處理器是否同步成功; 所述備用處理器,還用于當所述備用處理器與所述主用處理器同步成功時,向所述網絡管理單元發送同步成功消息; 所述網絡管理單元,還用于向所述主用處理器發送第二開始工作指令,以及向所述備用處理器發送第二停止工作指令,所述第二開始工作指令用于通知所述主用處理器開始處理所述備用處理器待處理的業務; 所述主用處理器,還用于當接收到所述網絡管理單元發送的第二開始工作指令時,開始處理所述備用處理器下一幀待處理的數據幀序列號對應的數據幀。
14.根據權利要求13所述的芯片,其特征在于, 所述網絡管理單元,還用于向所述主用處理器發送第二初始化消息,所述第二初始化消息用于指示所述主用處理器將升級后的所述主用處理器中的軟件信息均設置為初始狀態; 所述主用處理器,還用于當接收到所述網絡管理單元發送的第二初始化消息時,將升級后的軟件信息均設置為初始狀態。
【文檔編號】G06F15/163GK104281558SQ201310272310
【公開日】2015年1月14日 申請日期:2013年7月1日 優先權日:2013年7月1日
【發明者】陳鵬 申請人:華為技術有限公司