一種處理器異常的恢復方法和移動終端的制作方法
【專利摘要】本發明實施例公開了一種處理器異常的恢復方法和移動終端,所述方法包括:檢測數字處理器是否發生異常;當檢測到數字處理器發生異常時,消除交互隊列的殘余信號;根據狀態機狀態對當前的協議流程進行恢復,以達到快速恢復移動終端的正常運行,不需要通過重啟整個移動終端來恢復正常,從而可以提高用戶的體驗感,并提高用戶使用的滿意度。
【專利說明】一種處理器異常的恢復方法和移動終端
【技術領域】
[0001]本發明涉及通信【技術領域】,具體涉及一種處理器異常的恢復方法和移動終端。
【背景技術】
[0002]在第三代移動通信系統中,空口交互消息的軟件構架是層級的模塊結構,以終端與接入網之間的接口 Uu 口為例,軟件構架包括:物理層(LI =Layer I)、數據連路層(L2:Layer 2)和網絡層(L3:Layer 3)等3層;其中L2又分為媒體接入控制(MAC:Media AccessControl)模塊、無線鏈路控制(RLC =Radio Link Control)模塊、分組數據會聚協議(PDCP:Packet Data Convergence Protocol)模塊和廣播 / 多播控制(BMC:Broadcast/MulticastControl)模塊等四個子層;L3又分為無線資源控制(RRC:Radio Resource Control)模塊、移動性管理(MM:Mobility Management)模塊和連接管理(CM:Connection Management)模塊等3個子層。
[0003]通常,將L2層以及L2層以上的模塊統稱為協議棧,進一步的,將L3的RRC模塊及以下層級各模塊稱為協議棧的接入層;L3的RRC模塊以上各層級模塊稱為協議棧的非接入層。
[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]其中,所述流程入口的相關變量為小區重選目標小區的信息,所述本地變量包括記錄小區重選過程中的所有信息,至少包括:小區的測量信息,重選過程中記錄的失敗小區的信息,或某個小區獲取的部分系統消息的信息。
[0033]優選的,所述根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟包括:
[0034]當判斷狀態機狀態為空閑/PCH狀態時,識別當前的協議流程為空閑/PCH流程,并將該空閑/PCH狀態記錄為移動終端當前的狀態;
[0035]所述對所述當前的協議流程進行恢復的步驟包括:
[0036]保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器;
[0037]向數字處理器重新配置空閑模式/PCH狀態下的資源配置,并重新規劃空閑模式/PCH狀態下每個不連接接收DRX周期的任務,再觸發數字處理器同步躍遷進入空閑狀態,以使所述數字處理器根據配置的資源,進行PCH的檢測,并對PCH上數據的接收,以及根據規劃完成相關的測量任務;[0038]其中,所述流程入口的相關變量為從網絡的系統消息中獲取的空閑/PCH狀態下的資源配置信息,所述本地變量為空閑模式/PCH狀態任務處理過程中的所有信息,至少包括:不完整的測量信息,或空閑模式下不完整的尋呼塊數據,所述重新配置的資源配置包括:輔助公共控制物理信道SCCPCH信道配置,尋呼指示信道PICH,或尋呼信道PCH的位置信息其中任意一種或者任意組合。
[0039]優選的,所述根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟包括:
[0040]當判斷狀態機狀態為接入狀態時,識別當前的協議流程為接入流程,并將該接入狀態記錄為移動終端當前的狀態;
[0041]所述對所述當前的協議流程進行恢復的步驟包括:
[0042]保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器;
[0043]重新選擇上行同步碼字,觸發數字處理器在隨機接入物理信道PRACH信道上重新發起接入流程;
[0044]其中,所述流程入口的相關變量為接入狀態下的資源配置信息以及接入原因,所述本地變量為接入過程中的所有信息。
[0045]優選的,所述根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟包括:
[0046]當判斷狀態機狀態為FACH/DCH狀態時,識別當前的協議流程為FACH/DCH流程,并將該FACH/DCH狀態記錄為移動終端當前的狀態;
[0047]所述對所述當前的協議流程進行恢復的步驟包括:
[0048]保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器;
[0049]向數字處理器重新配置FACH/DCH下的資源,要求數字處理器根據配置的信道在指定的位置進行數據的收發任務;
[0050]其中,所述流程入口的相關變量為FACH/DCH下的資源配置信息,所述本地變量為FACH/DCH處理過程中的所有信息,所述配置的信道為隨機接入物理信道PRACH、輔助公共控制物理信道SCCPCH、專用物理信道DPCH。
[0051 ] 優選的,所述根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟包括:
[0052]判斷狀態機狀態為輔模狀態時,識別當前的協議流程為輔模流程,并將該輔模狀態記錄為移動終端當前的狀態;
[0053]所述對所述當前的協議流程進行恢復的步驟包括:
[0054]查詢變量v_iratask的值,確認當前是否存在啟動的輔模任務;
[0055]當確認當前存在啟動的輔模任務時,指示主模輔模任務異常終止,消除變量v_iratask的值,初始化協議棧輔模狀態下的所有相關變量,重啟相關流程監控定時器,等待主模下次任務的觸發,通知數字處理器對應進入輔模狀態,在任務調度程序中等待任務。
[0056]優選的,所述查詢變量v_iratask的值,確認當前是否存在啟動的輔模任務的步驟包括:
[0057]若變量v_iratask的值為I時,確認存在輔模的測量任務;
[0058]或,若變量v_iratask的值為2時,確認存在輔模的搜網任務;
[0059]或,若變量v_iratask的值為3時,確認存在輔模的預定義讀取任務。[0060]本發明實施例還提供一種應用上述方法的移動終端,所述移動終端包括:微處理器、消除模塊及數字處理器;其中,
[0061]所述微處理器用于檢測所述數字處理器是否發生異常;
[0062]所述消除模塊用于當檢測到數字處理器發生異常時,消除交互隊列的殘余信號;
[0063]所述微處理器進一步用于當所述消除模塊消除交互隊列的殘余信號后,根據狀態機狀態對當前的協議流程進行恢復。
[0064]優選的,
[0065]所述微處理器進一步用于當檢測到數字處理器發生異常時,對所述數字處理器執行復位,并產生第一異常指示信號;
[0066]所述消除模塊包括MAC模塊和RRC模塊,其中,所述MAC模塊用于根據所述第一異常指示信號消除微處理器和數字處理器交互隊列的殘余信號,產生第二異常指示信號;
[0067]所述RRC模塊用于根據所述第二異常指示信號,消除接入層各模塊交互隊列的殘余信號,并觸發協議棧的恢復流程。
[0068]從以上技術方案可以看出,本發明實施例具有以下優點:通過檢測數字處理器是否發生異常,當檢測到發生異常時,消除交互隊列中的殘余信號,并根據狀態機狀態對當前的協議流程進行恢復,從而控制數字處理器從某個協議流程開始恢復任務,以達到快速恢復移動終端的正常運行,不需要通過重啟整個移動終端來恢復正常,從而可以提高用戶的體驗感,并提高用戶使用的滿意度
【專利附圖】
【附圖說明】
[0069]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0070]圖1所示為本發明實施例提供的一種處理器異常的恢復方法的總體流程圖;
[0071]圖2所示為本發明實施例提供的一種處理器異常的恢復方法的具體流程圖;
[0072]圖3所示為本發明實施例提供了一種處理器異常的恢復方法中的步驟S25的具體流程圖;
[0073]圖4為本發明實施例提供的一種移動終端的結構圖;
[0074]圖5為本發明實施例提供的一種移動終端中的微處理器的模塊圖;
[0075]圖6為本發明實施例提供的一種移動終端中的微處理器的另一模塊圖。
【具體實施方式】
[0076]本發明實施例提供了一種處理器異常的恢復方法和移動終端,通過檢測數字處理器是否發生異常,當檢測到發生異常時,消除交互隊列中的殘余信號,并根據狀態機狀態對當前的協議流程進行恢復,從而控制數字處理器從某個協議流程開始恢復任務,以達到快速恢復移動終端的正常運行,不需要通過重啟整個移動終端來恢復正常,從而可以提高用戶的體驗感,并提高用戶使用的滿意度。
[0077]圖1所示為本發明實施例提供的一種處理器異常的恢復方法的總體流程圖,該方法包括:
[0078]步驟S10,檢測數字處理器是否發生異常。
[0079]步驟S11,當檢測到數字處理器發生異常時,消除交互隊列的殘余信號。在本實施例中,該步驟可以具體包括:當檢測到數字處理器發生異常時,對所述數字處理器執行復位,并產生第一異常指示信號;根據所述第一異常指示信號消除微處理器和數字處理器交互隊列的殘余信號;產生第二異常指示信號;根據所述第二異常指示信號,消除接入層各模塊交互隊列的殘余信號,并觸發協議棧的恢復流程。
[0080]步驟S12,根據狀態機狀態對當前的協議流程進行恢復。
[0081]通過本發明實施例提供的處理器異常的恢復方法,通過檢測數字處理器是否發生異常,當檢測到發生異常時,消除交互隊列中的殘余信號,并根據狀態機狀態對當前的協議流程進行恢復,從而控制數字處理器從某個協議流程開始恢復任務,以達到快速恢復移動終端的正常運行,不需要通過重啟整個移動終端來恢復正常,從而可以提高用戶的體驗感,并提高用戶使用的滿意度。
[0082]圖2所示為本發明實施例提供的一種處理器異常的恢復方法的具體流程圖,該方法包括:
[0083]步驟S20,檢測數字處理器是否發生異常。在本實施例中,可以通過硬件或軟件的技術手段來檢測數字處理器是否發生異常。硬件的技術手段,比如,通過watchdog (看門狗)的異常檢測機制。軟件的技術手段,比如,數字處理器通常使用任務的調度機制,在正常情況下,在一定時間段內,某個任務不會一直在任務處理中跑不出來,因此,若出現了本場景,會認為數字處理器發生了異常。當某個任務完成本次工作后會回到任務調度程序中,進入空閑,等待新的任務的到來;因而,在調度流程中,即當前數字處理器空轉時,數字處理器會向微處理器報告以表示數字處理器處于正常狀態;若數字處理器長時間沒有進行任務調度,可以認為數字處理器掛死在某任務內,即當前數字處理器處于異常狀態。
[0084]步驟S21,當檢測到數字處理器發生異常時,微處理器可以對數字處理器執行復位流程,并且產生第一異常指示信號。在本實施例中,具體的,當檢測到數字處理器發生異常時,微處理器產生一條異常指示信號,并發送至MAC模塊。
[0085]步驟S22,根據該第一異常指示信號消除微處理器和數字處理器交互隊列的殘余信號。在本實施例中,具體的,MAC模塊可以根據微處理器發送的異常指示信號,消除微處理器和數字處理器交互隊列的殘余信號。
[0086]步驟S23,產生第二異常指示信號。在本實施例中,MAC模塊產生第二異常指示信號,并發送至RRC模塊。
[0087]步驟S24,根據該第二異常指示信號,消除接入層各模塊交互隊列的殘余信號。在本實施例中,RRC模塊根據MAC模塊發生的第二異常指示信號消除接入層各模塊交互隊列的殘余信號,并觸發協議棧的恢復流程的啟動。
[0088]步驟S25,根據狀態機狀態對當前的協議流程進行恢復。在本實施例中,本步驟可以具體包括:判斷狀態機狀態;根據判斷的狀態機狀態識別當前的協議流程及狀態;對所述當前的協議流程進行恢復。在本實施例中,微處理器根據RRC模塊的狀態機狀態識別當前的協議流程及狀態,對該當前的協議流程進行恢復。
[0089]通過本發明實施例提供的處理器異常的恢復方法,通過檢測數字處理器是否發生異常,當檢測到發生異常時,消除交互隊列中的殘余信號,并根據狀態機狀態識別當前的協議流程及狀態,再對該當前的協議流程進行恢復,從而控制數字處理器從某個協議流程開始恢復任務,以達到快速恢復移動終端的正常運行,不需要通過重啟整個移動終端來恢復正常,從而可以提高用戶的體驗感,并提高用戶使用的滿意度。
[0090]圖3所示為本發明實施例提供了一種處理器異常的恢復方法中的步驟S25的具體流程圖。
[0091]在本實施例中,若移動終端支持當前的移動通信系統為單模系統時,即當前的移動終端為單模終端,狀態機狀態可以包括空狀態、小區選擇狀態、小區重選狀態、空閑/PCH(尋呼信道)狀態、接入狀態、FACH (前向接入信道)/DCH (專用信道)狀態。若移動終端支持當前的移動通信系統為多模系統時,當前的移動終端為多模終端,狀態機狀態可以包括空狀態、小區選擇狀態、小區重選狀態、空閑/PCH (尋呼信道)狀態、接入狀態、FACH (前向接入信道)/DCH (專用信道)狀態、輔模狀態。
[0092]在本實施例中,步驟S250,判斷狀態機狀態。在本實施例中,具體的可以為判斷RRC模塊的狀態機狀態。在本實施例中,當判斷狀態機狀態為空狀態時,無須任何的恢復操作,只需要等待后續的激活請求,正常處理即可。
[0093]在本實施例中,該根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟可以包括:當判斷狀態機狀態為小區選擇狀態時,即識別當前的協議流程為小區選擇流程,并將該小區選擇狀態記錄為移動終端當前的狀態;并執行步驟S251。在本實施例中,步驟S251,保留流程入口的相關相量,初始化流程處理相關的本地變量,重啟流程監控定時器(可以是讀系統消息定時器)。再執行步驟S252,重新啟動數字處理器進行帶小區或者不帶小區列表的小區選擇流程,之后,執行步驟S263,恢復流程結束。在本實施例中,該流程入口的相關變量的步驟可以為觸發小區選擇的激活請求的內容,該本地變量可以包括RRC模塊和MAC模塊的變量,包括但不限于:小區的測量信息,選擇過程中記錄的失敗小區的信息、或者某個小區獲取的部分系統消息的信息等。
[0094]在本實施例中,該根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟可以包括:當判斷狀態機狀態為小區重選狀態時,即識別當前的協議流程為小區重選流程,并將該小區重選狀態記錄為移動終端當前的狀態;并執行步驟S253。在本實施例中,步驟S253,保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器(可以是讀系統消息定時器),再執行步驟S254,重新啟動數字處理器進行目標小區的同步及系統消息讀取流程,之后,執行步驟S163,恢復流程結束。在本實施例中,該流程入口的相關變量可以為小區重選目標小區的信息,該本地變量可以包括記錄小區重選過程中的所有信息,包括但不限于:小區的測量信息,重選過程中記錄的失敗小區的信息,或某個小區獲取的部分系統消息的信息等。
[0095]在本實施例中,該根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟可以包括:當判斷狀態機狀態為空閑/PCH狀態時,即識別當前的協議流程為空閑/PCH流程,并將該空閑/PCH狀態記錄為移動終端當前的狀態;并執行步驟S255。在本實施例中,步驟S255,保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器,再執行步驟S256,向數字處理器重新配置空閑模式/PCH狀態下的資源配置,并重新規劃空閑模式/PCH狀態下每個DRX (不連接接收)周期的任務(比如:測量任務、尋呼接收任務),再觸發數字處理器同步躍遷進入空閑狀態,以使數字處理器根據配置的資源,進行PCH的檢測,并對PCH上數據的接收,以及根據規劃完成相關的測量任務等,之后,執行步驟S263,恢復流程結束。在本實施例中,該流程入口的相關變量可以為從網絡的系統消息中獲取的空閑/PCH狀態下的所有信息,尤其是資源配置信息,該本地變量包括但不限于:空閑模式/PCH狀態任務處理過程的不完整的測量信息,及空閑模式下不完整的尋呼塊數據等。在本實施例中,由于PCH下的資源配置方式同空閑模式完全相同,因而,該重新配置的資源配置包括:SCCPCH (輔助公共控制物理信道)信道配置,PICH (尋呼指示信道),PCH (尋呼信道)的位置信息等。在本實施例中,由于空閑/PCH狀態下的任務完全一致,因此數字處理器可以將協議的兩個狀態合為數字處理器的一個狀態,統一記為IDL (空閑)狀態。
[0096]在本實施例中,該根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟可以包括:當判斷狀態機狀態為接入狀態時,即識別當前的協議流程為接入流程,并將該接入狀態記錄為移動終端當前的狀態;并執行步驟S257。在本實施例中,步驟S257,保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器,再執行步驟S258,重新選擇上行同步碼字,觸發數字處理器在PRACH (隨機接入物理信道)信道上重新發起接入流程,之后,執行步驟S263,恢復流程結束。在本實施例中,該流程入口的相關變量可以為接入狀態下的資源配置信息以及接入原因等。該本地變量可以為接入過程中的所有信息。
[0097]在本實施例中,該根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟可以包括:當判斷狀態機狀態為FACH/DCH狀態時,即識別當前的協議流程為FACH/DCH流程,并將該FACH/DCH狀態記錄為移動終端當前的狀態;并執行步驟S259。在本實施例中,步驟S259,保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器,再執行步驟S260,向數字處理器重新配置FACH/DCH下的資源,要求數字處理器根據配置的信道在指定的位置進行數據的收發任務,之后,執行步驟S263,恢復流程結束。在本實施例中,該流程入口的相關變量可以為FACH/DCH下的資源配置信息等。該本地變量包括但不限于:FACH/DCH處理過程中的所有信息。該配置的信道可以為PRACH (隨機接入物理信道)、SCCPCH (輔助公共控制物理信道)、DPCH (專用物理信道)。
[0098]在本實施例中,該根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟可以包括:當判斷狀態機狀態為輔模狀態時,即識別當前的協議流程為輔模流程,并將該輔模狀態記錄為移動終端當前的狀態,并執行步驟S261。在本實施例中,步驟S261,查詢變量¥_iratask的值,確認當前是否存在啟動的輔模任務,其中,所說的輔模是指非主控模式。若變量v_iratask的值為O時,表示不存在 輔模的任務,反之表示存在;再執行步驟S262,即若v_iratask的值非O,則向主模指示輔模任務異常終止,清除變量v_iratask的值,初始化協議棧輔模狀態下的所有變量,通知數字處理器同步躍遷進入輔模狀態;若v_iratask的值為0,則當前協議棧不存在輔模任務,僅通知數字處理器同步躍遷進入輔模狀態之后,執行步驟S263,恢復流程結束;
[0099]若變量v_iratask的值為非O時,此時,可以包括三種情況,若變量v_iratask的值為I時,表示存在輔模的測量任務;若變量v_iratask的值為2時,表示存在輔模的搜網任務;若變量v_iratask的值為3時,表示存在輔模的預定義讀取任務;若只要存在上述三種情況的其中一種情況下,執行步驟S262,指示主模輔模任務異常終止,消除變量v_iratask的值,初始化協議棧輔模狀態下的所有相關變量,重啟相關流程監控定時器,等待主模下次任務的觸發,通知數字處理器對應進入輔模狀態;若不存在上述情況,則執行步驟S262,僅僅通知數字處理器進入輔模狀態,在任務調度程序中等待任務,之后,執行步驟S263,恢復流程結束。
[0100]圖4為本發明實施例提供的一種移動終端的結構圖。
[0101]在本實施例中,該移動終端包括微處理器42,數字處理器41,消除模塊43,該消除模塊43包括MAC模塊430和RRC模塊431。
[0102]在本實施例中,該微處理器42用于檢測到數字處理器41發生異常。所述消除模塊43用于當檢測到數字處理器41發生異常時,消除交互隊列的殘余信號;所述微處理器42進一步用于當所述消除模塊43消除交互隊列的殘余信號后,根據狀態機狀態對當前的協議流程進行恢復。
[0103]具體的:在本實施例中,該微處理器42用于檢測到數字處理器41發生異常時,對所述數字處理器41執行復位,產生第一異常指示信號,并發送至該MAC模塊430。
[0104]該MAC模塊430用于該微處理器42發送的該第一異常指示信號消除微處理器42和數字處理器41交互隊列的殘余信號,并產生第二異常指示信號,及發送該第二異常指示信號至該RRC模塊431。
[0105]該RRC模塊431用于根據該MAC模塊430發送的第二異常指示信號消除接入層各模塊交互隊列的殘余信號,并觸發協議棧的恢復流程。
[0106]當該RRC模塊431消除接入層各模塊交互隊列的殘余信號后,該微處理器42進一步用于根據該根據RRC模塊431的狀態機狀態識別當前的協議流程及狀態,對該當前的協議流程進行恢復。也可以理解為,微處理器42根據該根據RRC模塊431的狀態機狀態對數字處理器41執行恢復操作。
[0107]通過本發明實施例提供的移動終端,通過檢測數字處理器是否發生異常,當檢測到發生異常時,消除交互隊列中的殘余信號,并根據狀態機狀態識別當前的協議流程及狀態,再對該當前的協議流程進行恢復,從而控制數字處理器從某個協議流程開始恢復任務,以達到快速恢復移動終端的正常運行,不需要通過重啟整個移動終端來恢復正常,從而可以提高用戶的體驗感,并提高用戶使用的滿意度。
[0108]圖5為本發明實施例提供的一種移動終端中的微處理器42的模塊圖。在本實施例中,該微處理器42包括:判斷模塊420、第一恢復模塊421、第二恢復模塊422、第三恢復模塊423、第四恢復模塊424、第五恢復模塊425。
[0109]在本實施例中,若移動終端支持當前的移動通信系統為單模系統時,即當前的移動終端為單模終端,RRC模塊的狀態機狀態可以包括空狀態、小區選擇狀態、小區重選狀態、空閑/PCH (尋呼信道)狀態、接入狀態、FACH (前向接入信道)/DCH (專用信道)狀態。若移動終端支持當前的移動通信系統為多模系統時,當前的移動終端為多模終端,RRC模塊的狀態機狀態可以包括空狀態、小區選擇狀態、小區重選狀態、空閑/PCH (尋呼信道)狀態、接入狀態、FACH (前向接入信道)/DCH (專用信道)狀態、輔模狀態。
[0110]在本實施例中,該判斷模塊420用于判斷RRC模塊的狀態機狀態。在本實施例中,當判斷狀態機狀態為空狀態時,無須任何的恢復操作,只需要等待后續的激活請求,正常處理即可。
[0111]在本實施例中,第一恢復模塊421用于當該判斷模塊420判斷狀態機狀態為小區選擇狀態時,即識別當前的協議流程為小區選擇流程,并將該小區選擇狀態記錄為移動終端當前的狀態,保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器(可以是讀系統消息定時器),重新啟動數字處理器進行帶小區或者不帶小區列表的小區選擇流程。在本實施例中,該流程入口的相關變量的步驟可以為觸發小區選擇的激活請求的內容,該本地變量可以包括RRC模塊和MAC模塊的變量,包括但不限于:小區的測量信息,選擇過程中記錄的失敗小區的信息、或者某個小區獲取的部分系統消息的信息等。
[0112]在本實施例中,第二恢復模塊422用于當該判斷模塊420判斷狀態機狀態為小區重選狀態時,即識別當前的協議流程為小區重選流程,并將該小區重選狀態記錄為移動終端當前的狀態,保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器(可以是讀系統消息定時器),重新啟動數字處理器進行目標小區的同步及系統消息讀取流程。在本實施例中,該流程入口的相關變量可以為小區重選目標小區的信息,該本地變量可以包括記錄小區重選過程中的所有信息,包括但不限于:小區的測量信息,重選過程中記錄的失敗小區的信息,或者某個小區獲取的部分系統消息的信息等。
[0113]在本實施例中,第三恢復模塊423用于當該判斷模塊420判斷狀態機狀態為空閑/PCH狀態時,即識別當前的協議流程為空閑/PCH流程,并將該空閑/PCH狀態記錄為移動終端當前的狀態,保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器,向數字處理器重新配置空閑模式/PCH狀態下的資源配置,并重新規劃空閑模式/PCH狀態下每個DRX (不連接接收)周期的任務(比如:測量任務、尋呼接收任務),再觸發數字處理器同步躍進入空閑狀態,以使數字處理器根據配置的資源,進行PCH的檢測,PCH上數據的接收,以及根據規劃完成相關的測量任務等。在本實施例中,該流程入口的相關變量可以為從網絡的系統消息中獲取的空閑/PCH狀態下的所有信息,尤其是資源配置信息,該本地變量包括但不限于:空閑模式/PCH狀態任務處理過程的下不完整的測量信息,或者空閑模式下不完整的尋呼塊數據等。在本實施例中,由于PCH下的資源配置方式同空閑模式完全相同,因而,該重新配置的資源配置包括=SCCPCH (輔助公共控制物理信道)信道配置,PICH (尋呼指示信道),PCH (尋呼信道)的位置信息等)。在本實施例中,由于空閑/PCH狀態下的任務完全一致,因此數字處理器可以將協議的兩個狀態合為數字處理器的一個狀態,統一記為IDL (空閑)狀態。
[0114]在本實施例中,第四恢復模塊424用于當該判斷模塊420判斷狀態機狀態為接入狀態時,即識別當前的協議流程為接入流程,并將該接入狀態記錄為移動終端當前的狀態,保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器,重新選擇上行同步碼字,觸發數字處理器在PRACH (隨機接入物理信道)信道上重新發起接入流程。在本實施例中,該流程入口的相關變量可以為接入狀態下的資源配置信息以及接入原因等。該本地變量可以為接入過程中的不完整信息。
[0115]在本實施例中,第五恢復模塊425用于當該判斷模塊420判斷狀態機狀態為FACH/DCH狀態時,即識別當前的協議流程為FACH/DCH流程,并將該FACH/DCH狀態記錄為移動終端當前的狀態,保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器,向數字處理器重新配置FACH/DCH下的資源,要求數字處理器根據配置的信道在指定的位置進行數據的收發任務。在本實施例中,該流程入口的相關變量可以為FACH/DCH下的資源配置信息等。該本地變量包括但不限于:FACH/DCH處理過程中的所有信息。該配置的信道可以為PRACH (隨機接入物理信道)、SCCPCH (輔助公共控制物理信道)、DPCH (專用物理信道)。
[0116]在本實施例中,若移動終端支持當前的移動通信系統為多模系統時,如圖6所示,該移動終端進一步包括第六恢復模塊426,第六恢復模塊426用于當該判斷模塊420判斷狀態機狀態為輔模狀態時,即識別當前的協議流程為輔模流程,并將該輔模狀態記錄為移動終端當前的狀態,并查詢變量v_iratask的值,確認當前是否存在啟動的輔模任務。
[0117]若變量v_iratask的值為O時,表示不存在輔模的任務;若變量v_iratask的值為非O時,此時,可以包括三種情況,若變量v_iratask的值為I時,表示存在輔模的測量任務;若變量v_iratask的值為2時,表示存在輔模的搜網任務;若變量v_iratask的值為3時,表示存在輔模的預定義讀取任務。
[0118]該第六恢復模塊426進一步用于當確認當前存在啟動的輔模任務時,指示主模主任務異常終止,消除變量v_iratask的值,初始化輔模協議棧輔模狀態下的所有相關變量,重啟相關流程監控定時器,等待主模下次任務的觸發,通知數字處理器進入輔模狀態,在任務調度程序中等待任務。
[0119]本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
[0120]以上對本發明所提供的一種處理器異常的恢復方法和移動終端進行了詳細介紹,對于本領域的一般技術人員,依據本發明實施例的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
【權利要求】
1.一種處理器異常的恢復方法,其特征在于,所述方法包括: 檢測數字處理器是否發生異常; 當檢測到數字處理器發生異常時,消除交互隊列的殘余信號; 根據狀態機狀態對當前的協議流程進行恢復。
2.根據權利要求1所述的方法,其特征在于:所述當檢測到數字處理器發生異常時,消除交互隊列的殘余信號的步驟包括: 當檢測到數字處理器發生異常時,對所述數字處理器執行復位,并產生第一異常指示信號; 根據所述第一異常指示信號消除微處理器和數字處理器交互隊列的殘余信號; 產生第二異常指示信號; 根據所述第二異常指示信號,消除接入層各模塊交互隊列的殘余信號,并觸發協議棧的恢復流程。
3.根據權利要求1所述的方法,其特征在于:所述根據狀態機狀態對當前的協議流程進行恢復的步驟包括: 判斷狀態機狀態; 根據判斷的狀態機狀態識別當前的協議流程及狀態; 對所述當前的協議流程進行恢復。
4.根據權利要求3所述的方法,其特征在于:所述根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟包括: 當判斷狀態機狀態為小區選擇狀態時,識別當前的協議流程為小區選擇流程,并將所述小區選擇狀態記錄為移動終端當前的狀態; 所述對所述當前的協議流程進行恢復的步驟包括: 保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器; 重新啟動數字處理器進行帶小區列表或者不帶小區列表的小區選擇流程; 其中,所述流程入口的相關變量的步驟為觸發小區選擇的激活請求的內容,所述本地變量包括記錄小區選擇過程中的所有信息,至少包括:小區的測量信息,選擇過程中記錄的失敗小區的信息、或某個小區獲取的部分系統消息的信息。
5.根據權利要求3所述的方法,其特征在于:所述根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟包括: 當判斷狀態機狀態為小區重選狀態時,識別當前的協議流程為小區重選流程,并將該小區重選狀態記錄為移動終端當前的狀態; 所述對所述當前的協議流程進行恢復的步驟包括: 保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器; 重新啟動數字處理器進行目標小區的同步及系統消息讀取流程; 其中,所述流程入口的相關變量為小區重選目標小區的信息,所述本地變量包括記錄小區重選過程中的所有信息,至少包括:小區的測量信息,重選過程中記錄的失敗小區的信息,或某個小區獲取的部分系統消息的信息。
6.根據權利要求3所述的方法,其特征在于:所述根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟包括:當判斷狀態機狀態為空閑/PCH狀態時,識別當前的協議流程為空閑/PCH流程,并將該空閑/PCH狀態記錄為移動終端當前的狀態; 所述對所述當前的協議流程進行恢復的步驟包括:保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器;向數字處理器重新配置空閑模式/PCH狀態下的資源配置,并重新規劃空閑模式/PCH狀態下每個不連接接收DRX周期的任務,再觸發數字處理器同步躍遷進入空閑狀態,以使所述數字處理器根據配置的資源,進行PCH的檢測,并對PCH上數據的接收,以及根據規劃完成相關的測量任務; 其中,所述流程入口的相關變量為從網絡的系統消息中獲取的空閑/PCH狀態下的資源配置信息,所述本地變量為空閑模式/PCH狀態任務處理過程中的所有信息,至少包括:不完整的測量信息,或空閑模式下不完整的尋呼塊數據,所述重新配置的資源配置包括:輔助公共控制物理信道SCCPCH信道配置,尋呼指示信道PICH,或尋呼信道PCH的位置信息其中任意一種或者任意組合。
7.根據權利要求3所述的方法,其特征在于:所述根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟包括: 當判斷狀態機狀態為接入狀態時,識別當前的協議流程為接入流程,并將該接入狀態記錄為移動終端當前的狀態; 所述對所述當前的協議流程進行恢復的步驟包括: 保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器; 重新選擇上行同步碼字,觸發數字處理器在隨機接入物理信道PRACH信道上重新發起接入流程; 其中,所述流程入口的相關變量為接入狀態下的資源配置信息以及接入原因,所述本地變量為接入過程中的所有信息。
8.根據權利要求3所述的方法,其特征在于:所述根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟包括: 當判斷狀態機狀態為FACH/DCH狀態時,識別當前的協議流程為FACH/DCH流程,并將該FACH/DCH狀態記錄為移動終端當前的狀態; 所述對所述當前的協議流程進行恢復的步驟包括: 保留流程入口的相關變量,初始化流程處理相關的本地變量,重啟流程監控定時器; 向數字處理器重新配置FACH/DCH下的資源,要求數字處理器根據配置的信道在指定的位置進行數據的收發任務; 其中,所述流程入口的相關變量為FACH/DCH下的資源配置信息,所述本地變量為FACH/DCH處理過程中的所有信息,所述配置的信道為隨機接入物理信道PRACH、輔助公共控制物理信道SCCPCH、專用物理信道DPCH。
9.根據權利要求3所述的方法,其特征在于:所述根據判斷的狀態機狀態識別當前的協議流程及狀態的步驟包括: 判斷狀態機狀態為輔模狀態時,識別當前的協議流程為輔模流程,并將該輔模狀態記錄為移動終端當前的狀態; 所述對所述當前的協議流程進行恢復的步驟包括:查詢變量v_iratask的值,確認當前是否存在啟動的輔模任務; 當確認當前存在啟動的輔模任務時,指示主模輔模任務異常終止,消除變量v_iratask的值,初始化協議棧輔模狀態下的所有相關變量,重啟相關流程監控定時器,等待主模下次任務的觸發,通知數字處理器對應進入輔模狀態,在任務調度程序中等待任務。
10.根據權利要求9所述的方法,其特征在于:所述查詢變量v_iratask的值,確認當前是否存在啟動的輔模任務的步驟包括: 若變量v_iratask的值為I時,確認存在輔模的測量任務; 或,若變量v_iratask的值為2時,確認存在輔模的搜網任務; 或,若變量v_iratask的值為3時,確認存在輔模的預定義讀取任務。
11.一種應用于權利要求1至10的移動終端,其特征在于,所述移動終端包括:微處理器、消除模塊及數字處理器;其中, 所述微處理器用于檢測所述數字處理器是否發生異常; 所述消除模塊用于當檢測到數字處理器發生異常時,消除交互隊列的殘余信號;所述微處理器進一步用于當所述消除模塊消除交互隊列的殘余信號后,根據狀態機狀態對當前的協議流程進行恢復。
12.根據權利要求11所述的移動終端,其特征在于: 所述微處理器進一步用于當檢測到數字處理器發生異常時,對所述數字處理器執行復位,并產生第一異常指示信號; 所述消除模塊包括MAC模塊和RRC模塊,其中,所述MAC模塊用于根據所述第一異常指示信號消除微處理器和數字處理器交互隊列的殘余信號,產生第二異常指示信號; 所述RRC模塊用于根據所述第二異常指示信號,消除接入層各模塊交互隊列的殘余信號,并觸發協議棧的恢復流程。
13.根據權利要求11所述的移動終端,其特征在于:所述微處理器進一步應用于執行權利要求3至10所述的方法。
【文檔編號】H04W24/04GK103813366SQ201210440968
【公開日】2014年5月21日 申請日期:2012年11月7日 優先權日:2012年11月7日
【發明者】楊黎明 申請人:重慶重郵信科通信技術有限公司