TWI494755B - 軟體修復方法和裝置及電腦可讀取存儲元件 - Google Patents

軟體修復方法和裝置及電腦可讀取存儲元件 Download PDF

Info

Publication number
TWI494755B
TWI494755B TW102145461A TW102145461A TWI494755B TW I494755 B TWI494755 B TW I494755B TW 102145461 A TW102145461 A TW 102145461A TW 102145461 A TW102145461 A TW 102145461A TW I494755 B TWI494755 B TW I494755B
Authority
TW
Taiwan
Prior art keywords
main program
software
file
running
running file
Prior art date
Application number
TW102145461A
Other languages
English (en)
Other versions
TW201500916A (zh
Inventor
Dan-Hua Li
Original Assignee
Tencent Tech Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Tech Shenzhen Co Ltd filed Critical Tencent Tech Shenzhen Co Ltd
Publication of TW201500916A publication Critical patent/TW201500916A/zh
Application granted granted Critical
Publication of TWI494755B publication Critical patent/TWI494755B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Description

軟體修復方法和裝置及電腦可讀取存儲元件
本發明涉及電腦應用技術,特別是涉及一種軟體修復方法和裝置及電腦可讀取存儲元件。
作業系統平臺中常常透過安裝大量軟體為使用者提供越來越豐富的功能,給使用者帶來了極大的方便。但與此同時,使用者無法運行安裝的軟體的情況也時有發生,因此,需要對安裝的軟體進行修復。
傳統的軟體修復是透過互聯網路存取伺服器,以下載得到相應的安裝包實現的,需要耗費流量,脫離互聯網路則無法進行軟體的修復。有鑑於此,如何在脫離互聯網路的情況下進行軟體修復,是為本案發展之一目的。
為了解決現有技術的問題,本發明之一目的在於提供一種軟體修復方法,其包括根據軟體的主程式的特徵值判斷軟體的主程式是否破損,若是,則獲取預先備份的主程式以及主程式的關係訊息;透過預先備份的主程式以及主程式的關係訊息修復破損的主程式;以及運行修復後的主程式。
在本發明之一實施例中,前述之軟體修復方法更包括,根據 該主程式的特徵值判斷到該軟體的主程式未破損,則運行該軟體的該主程式。
在本發明之一實施例中,前述之軟體修復方法更包括,透過主程式的運行觸發對軟體的運行檔案進行掃描校驗,得到異常的運行檔案;以及修復異常的運行檔案。
本發明之一目的在於提供一種軟體修復裝置,其包括主程式判斷模組、訊息獲取模組、主程式修復模組以及修復運行模組。其中,主程式判斷模組用於根據軟體的主程式的特徵值判斷軟體的主程式是否破損,若是,則通知訊息獲取模組;訊息獲取模組用於獲取預先備份的主程式以及主程式的關係訊息;主程式修復模組用於透過預先備份的主程式以及主程式的關係訊息修復破損的主程式;修復運行模組用於運行修復後的主程式。
在本發明之一實施例中,前述之軟體修復裝置更包括主程式運行模組,用於根據主程式的特徵值判斷到軟體的主程式未破損,則運行軟體的主程式。
在本發明之一實施例中,前述之軟體修復裝置更包括掃描校驗模組以及運行檔案修復模組。其中,掃描校驗模組用於透過主程式的運行觸發對軟體的運行檔案進行掃描校驗,得到異常的運行檔案;運行檔案修復模組用於修復異常的運行檔案。
本發明之一目的在於提供一種電腦可讀取存儲元件,其存儲有電腦可執行之一個或複數個指令片段,使得一個或複數個處理單元執行如前述之軟體修復方法。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
10、20、30‧‧‧軟體修復裝置
90‧‧‧手機
110‧‧‧主程式判斷模組
130‧‧‧訊息獲取模組
150‧‧‧主程式修復模組
170‧‧‧修復運行模組
190‧‧‧主程式運行模組
210‧‧‧備份模組
310‧‧‧掃描校驗模組
311‧‧‧特徵獲取單元
313‧‧‧一致性判斷單元
315‧‧‧檔案定位單元
317‧‧‧檔案運行單元
330‧‧‧運行檔案修復模組
331‧‧‧關係訊息獲取單元
333‧‧‧查找單元
335‧‧‧替換單元
910‧‧‧射頻電路
920‧‧‧記憶體
930‧‧‧輸入單元
931‧‧‧觸控面板
932‧‧‧其他輸入裝置
940‧‧‧顯示單元
941‧‧‧顯示面板
950‧‧‧感測器
960‧‧‧音訊電路
961‧‧‧揚聲器
962‧‧‧傳聲器
970‧‧‧無線相容性認證模組
980‧‧‧處理器
990‧‧‧電源
S110、S130、S150、S170、S190‧‧‧本發明一實施例中軟體修復方法的流程步驟
S210、S230‧‧‧本發明一實施例中軟體修復方法的流程步驟
S211、S213、S215、S217‧‧‧本發明一實施例中透過主程式的運行觸發 對軟體的運行檔案進行掃描校驗,得到異常的運行檔案方法的流程步驟
S231、S233、S235‧‧‧本發明一實施例中修復異常的運行檔案的方法流程步驟
圖1為本發明一實施例中軟體修復方法的流程圖;圖2為本發明一實施例中軟體修復方法的流程圖;圖3為圖2中透過主程式的運行觸發對軟體的運行檔案進行掃描校驗,得到異常的運行檔案的方法流程圖;圖4為圖2中修復異常的運行檔案的方法流程圖;圖5為本發明一實施例中軟體修復裝置的結構示意圖;圖6為本發明一實施例中軟體修復裝置的結構示意圖;圖7為本發明一實施例中軟體修復裝置的結構示意圖;圖8為圖7中掃描校驗模組的結構示意圖;圖9為圖7中運行檔案修復模組的結構示意圖;圖10為本發明一實施例中運行軟體修復裝置的終端的結構示意圖。
有關本發明之前述及其他技術內容、特點與功效,在以下配合參考圖式之一較佳實施例的詳細說明中,將可清楚的呈現。以下實施例中所提到的方向用語,例如:上、下、左、右、前或後等,僅是參考附加圖式的方向。因此,使用的方向用語是用來說明並非用來限制本發明。
請參考圖1,圖1係本發明一實施例中軟體修復方法的流程圖。於本實施例中,軟體修復方法可包括如下步驟:
步驟S110,根據主程式的特徵值判斷軟體的主程式(program)是否破損,若是,則進入步驟S130,若否,則進入步驟S190。本實施例中,透過觸發軟體運行的操作運行軟體時,將獲取主程式的特徵值以及存儲於本地的與主程式對應的特徵值,進而透過判斷主程式的特徵值和存儲於本地的與主程式對應的特徵值是否一致,若不相一致,則說明主程式不可運行,軟體的主程式已經破損,需要對主程式進行修復,若主程式可運行, 則直接運行該軟體的主程式(如步驟S190)即可。
步驟S130,獲取預先備份的主程式以及主程式的關係訊息。本實施例中,由於主程式破損而導致了當前主程式是無法運行的,因此將獲取備份於本地的主程式和該主程式的關係訊息。其中,該主程式的關係訊息將包括了該軟體安裝完成時主程式所在的目錄訊息和安裝檔案結構訊息,該主程式所在的目錄訊息將指示了安裝時主程式被放置在哪裡,安裝檔案案結構訊息則用於指示軟體在安裝時會在主程式相關的目錄中產生的檔案以及產生的檔案是否需要與系統交互註冊。
步驟S150,透過預先備份的主程式以及主程式的關係訊息修復破損的主程式。本實施例中,根據主程式的關係訊息得到該軟體完成安裝時主程式所對應的目錄,以得到該軟體安裝完成時主程式的放置位置,按照這一放置位置將破損的主程式替換為獲取得到的預先備份的主程式,此時,軟體的主程式將恢復為安裝時的狀態。
步驟S170,運行修復後的主程式。
步驟S190,運行軟體的主程式。
本實施例中,判斷到軟體的主程式未破損,則不需要對主程式進行任何修復,直接運行主程式即可。
於本發明一實施例中,上述步驟S110之前,該方法還包括:備份安裝後得到的主程式和運行檔案,以及主程式和運行檔案所對應的特徵值和關係訊息。
本實施例中,作業系統平臺中軟體安裝完成時,將收集軟體初始的所有資料以及關係訊息,並存儲於本地以完成軟體的備份,其中,所收集的資料包括了安裝後得到的主程式和區別於主程式的其它檔案,即運行檔案;所收集的關係訊息則是安裝後所產生的目錄訊息和安裝檔案結構訊息,安裝後產生的目錄訊息用於指示安裝後產生的目錄樹結構,透過目錄樹結構可獲知某一檔案所放置的位置;安裝檔案結構訊息用於標識哪 些目錄將產生檔案,以及產生的檔案是否需要與系統交互註冊。
請參考圖2,圖2為本發明一實施例中軟體修復方法的流程圖,在本實施例中,軟體修復方法還包括:
步驟S210,透過主程式的運行觸發對軟體的運行檔案進行掃描校驗,得到異常的運行檔案。本實施例中,掃描軟體的運行檔案,以校驗軟體的運行檔案是否正確,進而得到發生了異常的運行檔案,該異常的運行檔案可能發生了破損、缺失和冗餘等。
步驟S230,修復異常的運行檔案。本實施例中,透過本地備份的資料和關係訊息對異常的運行檔案進行修復,以使得掃描校驗所得到的異常的運行檔案均被修復,實現了軟體的本地修復,進而保證了軟體的順序運行,使得使用者即使無法連接互聯網路仍然能夠順利修復發生了異常的軟體。
如圖3所示,在本發明一實施例中,上述步驟S210可包括:
步驟S211,獲取運行檔案所對應的特徵值和備份於本地的特徵值。本實施例中,備份於本地的特徵值是軟體安裝完成時備份的與運行檔案所對應的正確的運行檔案的特徵值,可以是正確的運行檔案的訊息摘要值,例如,雜湊值(HASH值);也可以是對運行檔案的大小、創建日期和簽名等透過訊息摘要演算法進行計算得到的數值,相應的,備份於本地的特徵值與運行檔案所對應的特徵值將是一樣的形式,即備份於本地的特徵值與運行檔案所對應的特徵值將同為特徵值的形式,也可以同為其它的一些形式。
步驟S213,判斷運行檔案所對應的特徵值和備份於本地的特徵值是否一致,若否,則進入步驟S215,若是,則進入步驟S217。本實施例中,根據特徵值判斷運行檔案是否異常,也就是說,將運行檔案的特徵值和備份於本地的正確的運行檔案所對應的特徵值進行一致性判斷,以得到特徵值與備份於本地的正確的運行檔案所對應的特徵值不相一致的運 行檔案,該運行檔案即為異常的運行檔案。
步驟S215,定位得到異常的運行檔案。本實施例中,在若干個運行檔案中定位出異常的運行檔案,以便於後續直接對異常的運行檔案進行修復。
步驟S217,運行該運行檔案。本實施例中,若運行檔案無異常,直接運行該運行檔案即可,不需要進行任何的修復。
如圖4所示,在本發明一實施例中,上述步驟S230可包括:
步驟S231,獲取異常的運行檔案所在的關係訊息。本實施例中,在得到異常的運行檔案之後,需要對運行檔案進行修復方可順序運行的運行檔案所在的軟體。根據異常的運行檔案所在的目錄得到對應的關係訊息。
步驟S233,根據關係訊息查找得到本地備份的運行檔案。本實施例中,由於異常的運行檔案大都是發生了破損、缺失或冗餘等狀況的,因此,異常的運行檔案和軟體安裝完成時正確的運行檔案是處於相同目錄的,即異常的運行檔案和正確的運行檔案是放置於同一位置的,根據關係訊息將能夠在本地查找得到與異常的運行檔案對應的本地備份的運行檔案。
步驟S235,替換異常的運行檔案為查找得到的運行檔案。本實施例中,根據關係訊息得到異常的運行檔案所在位置,以按照異常的運行檔案所在位置將異常的運行檔案替換為查找得到的運行檔案,進而完成對異常的運行檔案所進行的修復。
此外,若監控到運行檔案缺失,則獲取缺失的運行檔案所在的關係訊息,進而根據關係訊息中的目錄獲取備份的運行檔案,透過備份的運行檔案對缺失的運行檔案進行還原恢復,以使得軟體中即使發生了運行檔案缺失的情況也能順利進行本地恢復,保證了軟體的順利運行。
上述軟體修復方法中,對軟體進行監控以獲知發生了異常的 主程式或運行檔案,根據本地備份的特徵值識別出異常的運行檔案,透過所進行的本地備份對異常的程式或運行檔案進行修復,不需要訪問互聯網路即可準確識別出異常的主程式或運行檔案,進而透過本地備份即可對自身破損的軟體進行修復。
請參考圖5,圖5為本發明一實施例中軟體修復裝置的結構示意圖,於本實施例中,軟體修復裝置10包括主程式判斷模組110、訊息獲取模組130、主程式修復模組150、修復運行模組170和主程式運行模組190。
主程式判斷模組110可用於根據主程式的特徵值判斷軟體的主程式是否破損,若是,則通知訊息獲取模組130,若否,則通知主程式運行模組190。
本實施例中,透過觸發軟體運行的操作運行軟體時,主程式判斷模組110將獲取主程式的特徵值以及存儲於本地的與主程式對應的特徵值,進而透過判斷主程式的特徵值和存儲於本地的與主程式對應的特徵值是否一致,若不相一致,則說明主程式不可運行,該軟體的主程式已經破損,需要對主程式進行修復,若主程式可運行,則通知主程式運行模組190直接運行該軟體的主程式即可。
訊息獲取模組130可用於獲取預先備份的主程式以及主程式的關係訊息。本實施例中,由於主程式破損而導致了當前主程式是無法運行的,因此訊息獲取模組130將獲取備份於本地的主程式和該主程式的關係訊息。其中,該主程式的關係訊息將包括了該軟體安裝完成時主程式所在的目錄訊息和安裝檔案結構訊息,該主程式所在的目錄訊息將指示了安裝時主程式被放置在哪裡,安裝檔案結構訊息則用於指示該軟體在安裝時會在主程式相關的目錄中產生的檔案以及產生的檔案是否需要與系統交互註冊。
主程式修復模組150可用於透過預先備份的主程式以及主 程式的關係訊息修復破損的主程式。本實施例中,主程式修復模組150根據主程式的關係訊息得到軟體完成安裝時主程式所對應的目錄,以得到軟體安裝完成時主程式的放置位置,按照這一放置位置將破損的主程式替換為獲取得到的預先備份的主程式,此時,該軟體的主程式將恢復為安裝時的狀態。
修復運行模組170可用於運行修復後的主程式。主程式運行模組190,用於透過觸發軟體運行的操作判斷到軟體的主程式未破損,則運行軟體的主程式。於本實施例中,判斷到軟體的主程式未破損,則不需要對主程式進行任何修復,主程式運行模組190直接運行主程式即可。
請參考圖6,在本發明一實施例中,軟體修復裝置20除了包含前述軟體修復裝置10的模組之外,還可包括備份模組210,該備份模組210可用於備份安裝後得到的主程式和運行檔案,以及主程式和運行檔案所對應的特徵值和關係訊息。
本實施例中,作業系統平臺中軟體安裝完成時,備份模組210將收集該軟體初始的所有資料以及關係訊息,並存儲於本地以完成該軟體的備份,其中,備份模組210所收集的資料包括了安裝後得到的主程式和區別於主程式的其它檔案,即運行檔案;備份模組210所收集的關係訊息則是安裝後所產生的目錄訊息和安裝檔案結構訊息,安裝後產生的目錄訊息用於指示安裝後產生的目錄樹結構,透過目錄樹結構可獲知某一檔案所放置的位置;安裝檔案結構訊息用於標識哪些目錄將產生檔案,以及產生的檔案是否需要與系統交互註冊。
如圖7所示,在本發明一實施例中,軟體修復裝置30除了包含軟體修復裝置20的模組外,還可包括掃描校驗模組310和運行檔案修復模組330。
掃描校驗模組310可用於透過主程式的運行觸發對軟體的運行檔案時行掃描校驗,得到異常的運行檔案。本實施例中,掃描校驗模 組310掃描軟體的運行檔案,以校驗軟體的運行檔案是否正確,進而得到發生了異常的運行檔案,該異常的運行檔案可能發生了破損、缺失和冗餘等。
運行檔案修復模組330可用於修復異常的運行檔案。本實施例中,運行檔案修復模組330透過本地備份的資料和關係訊息對異常的運行檔案進行修復,以使得掃描校驗所得到的異常的運行檔案均被修復,實現了軟體的本地修復,進而保證了軟體的順序運行,使得使用者即使無法連接互聯網路仍然能夠順利修復發生了異常的軟體。
如圖8所示,在本發明一實施例中,掃描校驗模組310包括特徵獲取單元311、一致性判斷單元313、檔案定位單元315和檔案運行單元317。
特徵獲取單元311可用於獲取運行檔案所對應的特徵值和備份於本地的特徵值。本實施例中,備份於本地的特徵值是軟體安裝完成時備份的與運行檔案所對應的正確的運行檔案的特徵值,可以是正確的運行檔案的訊息摘要值,例如,雜湊值(HASH值);也可以是對運行檔案的大小、創建日期和簽名等透過訊息摘要演算法進行計算得到的數值,相應的,備份於本地的特徵值與運行檔案所對應的特徵值將是一樣的形式,即備份於本地的特徵值與運行檔案所對應的特徵值將同為特徵值的形式,也可以同為其它的一些形式。
一致性判斷單元313可用於判斷運行檔案所對應的特徵值與備份於本地的特徵值是否一致,若否,則通知檔案定位單元315,若是,則通知檔案運行單元317。本實施例中,一致性判斷單元313根據特徵值判斷運行檔案是否異常,也就是說,將運行檔案的特徵值和備份於本地的正確的運行檔案所對應的特徵值進行一致性判斷,以得到特徵值與備份於本地的正確的運行檔案所對應的特徵值不相一致的運行檔案,該運行檔案即為異常的運行檔案。
檔案定位單元315可用於定位得到異常的運行檔案。本實施例中,檔案定位單元315在若干個運行檔案中定位出異常的運行檔案,以便於後續直接對異常的運行檔案進行修復。
檔案運行單元317可用於運行該運行檔案。本實施例中,若運行檔案無異常,檔案運行單元317直接運行該運行檔案即可,不需要進行任何的修復。
如圖9所示,在本發明一實施例中,上述運行檔案修復模組330包括關係訊息獲取單元331、查找單元333和替換單元335。
關係訊息獲取單元331可用於獲取異常的運行檔案所在的關係訊息。本實施例中,在得到異常的運行檔案之後,需要對運行檔案進行修復方可順序運行的運行檔案所在的軟體。關係訊息獲取單元331根據異常的運行檔案所在的目錄得到對應的關係訊息。
查找單元333可用於根據關係訊息查找得到本地備份的運行檔案。本實施例中,由於異常的運行檔案大都是發生了破損、缺失或冗餘等狀況的,因此,異常的運行檔案和軟體安裝完成時正確的運行檔案是處於相同目錄的,即異常的運行檔案和正確的運行檔案是放置於同一位置的,查找單元333根據關係訊息將能夠在本地查找得到與異常的運行檔案對應的本地備份的運行檔案。
替換單元335可用於替換異常的運行檔案為查找得到的運行檔案。本實施例中,替換單元335根據關係訊息得到異常的運行檔案所在位置,以按照異常的運行檔案所在位置將異常的運行檔案替換為查找得到的運行檔案,進而完成對異常的運行檔案所進行的修復。此外,替換單元335若監控到運行檔案缺失,則獲取缺失的運行檔案所在的關係訊息,進而根據關係訊息中的目錄獲取備份的運行檔案,透過備份的運行檔案對缺失的運行檔案進行還原恢復,以使得軟體中即使發生了運行檔案缺失的情況也能順利進行本地恢復,保證了軟體的順利運行。
上述軟體修復裝置中,對軟體進行監控以獲知發生了異常的主程式或運行檔案,根據本地備份的特徵值識別出異常的運行檔案,透過所進行的本地備份對異常的程式或運行檔案進行修復,不需要訪問互聯網路即可準確識別出異常的主程式或運行檔案,進而透過本地備份即可對自身破損的軟體進行修復。
上述軟體修復方法和裝置及電腦可讀取存儲元件,根據主程式的特徵值判斷該軟體的主程式是否破損,若判斷到該軟體的主程式是破損的,則獲取預先備份的主程式以及主程式的關係訊息,透過預先備份的主程式以及主程式的關係訊息修復破損的主程式,最後再運行修復後的主程式,此時脫離互聯網路也能夠進行軟體的修復,無需耗費流量。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以透過電腦程式來指令相關的硬體來完成,所述的程式可存儲於一電腦可讀取存儲元件中,該程式在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、唯讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
本發明一實施例還提供了一種運行軟體修復裝置的終端,如圖10所示,為了便於說明,僅示出了與本發明實施例相關的部分,具體技術細節未揭示的,請參照本發明實施例方法部分。該終端可以為包括手機、平板電腦、PDA(Personal Digital Assistant,個人數位助理)、POS(Point of Sales,銷售終端)、車載電腦等任意終端設備,以終端為手機為例:
圖10示出的是與本發明一實施例中運行軟體修復裝置的終端的結構示意圖。請參考圖10,終端,例如手機90,可包括:射頻(Radio Frequency,RF)電路910、記憶體920、輸入單元930、顯示單元940、感測器950、音訊電路960、無線相容性認證(wireless fidelity,WiFi)模組970、處理器980、以及電源990等部件。本領域技術人員可以理解,圖10 中示出的手機結構並不構成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件佈置。
下面結合圖10對手機的各個構成部件進行具體的介紹:
RF電路910可用於收發訊息或通話過程中,信號的接收和發送,特別地,將基地台的下行訊息接收後,給處理器980處理;另外,將設計上行的資料發送給基地台。通常,RF電路包括但不限於天線、至少一個放大器、收發信機、耦合器、低雜訊放大器(Low Noise Amplifier,LNA)、雙工器等。此外,RF電路910還可以透過無線通訊與網路和其他設備通信。上述無線通訊可以使用任一通信標準或協定,包括但不限於全球移動通訊系統(Global System of Mobile communication,GSM)、通用分組無線服務(General Packet Radio Service,GPRS)、碼分多址(Code Division Multiple Access,CDMA)、寬頻碼分多址(Wideband Code Division Multiple Access,WCDMA)、長期演進(Long Term Evolution,LTE))、電子郵件、短消息服務(Short Messaging Service,SMS)等。
記憶體920可用於存儲軟體程式以及模組,處理器980透過運行存儲在記憶體920的軟體程式以及模組,從而執行手機的各種功能應用以及資料處理。記憶體920可主要包括存儲程式區和存儲資料區,其中,存儲程式區可存儲作業系統、至少一個功能所需的應用程式(比如聲音播放功能、圖像播放功能等)等;存儲資料區可存儲根據手機的使用所創建的資料(比如音訊資料、電話本等)等。此外,記憶體920可以包括高速隨機存取記憶體,還可以包括非揮發性記憶體,例如至少一個磁碟記憶體件、快閃記憶體器件、或其他揮發性固態記憶體件。
輸入單元930可用於接收輸入的數位或字元訊息,以及產生與手機90的使用者設置以及功能控制有關的鍵信號輸入。具體地,輸入單元930可包括觸控面板931以及其他輸入裝置932。觸控面板931,也稱為觸控式螢幕,可收集使用者在其上或附近的觸摸操作(比如使用者使用手 指、觸筆等任何適合的物體或附件在觸控面板931上或在觸控面板931附近的操作),並根據預先設定的程式驅動相應的連接裝置。可選的,觸控面板931可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測使用者的觸摸方位,並檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸訊息,並將它轉換成觸點座標,再送給處理器980,並能接收處理器980發來的命令並加以執行。此外,可以採用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸控面板931。除了觸控面板931,輸入單元930還可以包括其他輸入裝置932。具體地,其他輸入裝置932可以包括但不限於物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、滑鼠、操作杆等中的一種或多種。
顯示單元940可用於顯示由使用者輸入的訊息或提供給使用者的訊息以及手機的各種功能表。顯示單元940可包括顯示面板941,可選的,可以採用液晶顯示器(Liquid Crystal Display,LCD)、有機發光二極體(Organic Light-Emitting Diode,OLED)等形式來配置顯示面板941。進一步的,觸控面板931可覆蓋顯示面板941,當觸控面板931檢測到在其上或附近的觸摸操作後,傳送給處理器980以確定觸摸事件的類型,隨後處理器980根據觸摸事件的類型在顯示面板941上提供相應的視覺輸出。雖然在圖10中,觸控面板931與顯示面板941是作為兩個獨立的部件來實現手機的輸入和輸入功能,但是在某些實施例中,可以將觸控面板931與顯示面板941集成而實現手機的輸入和輸出功能。
手機90還可包括至少一種感測器950,比如光感測器、運動感測器以及其他感測器。具體地,光感測器可包括環境光感測器及接近感測器,其中,環境光感測器可根據環境光線的明暗來調節顯示面板941的亮度,接近感測器可在手機移動到耳邊時,關閉顯示面板941和/或背光。作為運動感測器的一種,加速計感測器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用於識別手機姿態 的應用(比如橫豎屏切換、相關遊戲、磁力計姿態校準)、振動識別相關功能(比如計步器、敲擊)等;至於手機還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線感測器等其他感測器,在此不再贅述。
音訊電路960、揚聲器961,傳聲器962可提供使用者與手機之間的音訊介面。音訊電路960可將接收到的音訊資料轉換後的電信號,傳輸到揚聲器961,由揚聲器961轉換為聲音信號輸出;另一方面,傳聲器962將收集的聲音信號轉換為電信號,由音訊電路960接收後轉換為音訊資料,再將音訊資料輸出處理器980處理後,經RF電路910以發送給比如另一手機,或者將音訊資料輸出至記憶體920以便進一步處理。
WiFi屬於短距離無線傳輸技術,手機90透過WiFi模組970可以說明使用者收發電子郵件、流覽網頁和訪問流式媒體等,它為使用者提供了無線的寬頻互聯網訪問。雖然圖10示出了WiFi模組970,但是可以理解的是,其並不屬於手機90的必須構成,完全可以根據需要在不改變發明的本質的範圍內而省略。
處理器980是手機90的控制中心,利用各種介面和線路連接整個手機的各個部分,透過運行或執行存儲在記憶體920內的軟體程式和/或模組,以及調用存儲在記憶體920內的資料,執行手機的各種功能和處理資料,從而對手機進行整體監控。可選的,處理器980可包括一個或多個處理單元;優選的,處理器980可集成應用處理器和調製解調處理器,其中,應用處理器主要處理作業系統、使用者介面和應用程式等,調製解調處理器主要處理無線通訊。可以理解的是,上述調製解調處理器也可以不集成到處理器980中。
手機90還包括給各個部件供電的電源990(比如電池),優選的,電源可以透過電源管理系統與處理器980邏輯相連,從而透過電源管理系統實現管理充電、放電、以及功耗管理等功能。儘管未示出,手機900還可以包括攝像頭、藍牙模組等,在此不再贅述。
在本發明實施例中,該終端所包括的處理器980還具有以下功能:根據主程式的特徵值判斷軟體的主程式是否破損,若是,則獲取預先備份的主程式以及主程式的關係訊息;透過預先備份的主程式以及主程式的關係訊息修復破損的主程式;運行修復後的主程式。進一步的,透過觸發軟體運行的操作判斷到軟體的主程式未破損,則運行軟體的主程式。
進一步的,還包括:透過主程式的運行觸發對軟體的運行檔案進行掃描校驗,得到異常的運行檔案;修復異常的運行檔案。
進一步的,透過主程式的運行觸發對軟體的運行檔案進行掃描校驗,得到異常的運行檔案的步驟包括:獲取運行檔案所對應的特徵值和備份於本地的特徵值;判斷運行檔案所對應的特徵值與備份於本地的特徵值是否一致,若否,則定位得到異常的運行檔案。
進一步的,修復異常的運行檔案的步驟包括:獲取異常的運行檔案所在的關係訊息;根據關係訊息查找得到本地備份的運行檔案;替換異常的運行檔案為查找得到的運行檔案。
進一步的,透過觸發軟體進行運行的操作判斷軟體的主程式是否破損的步驟之前,還包括:備份安裝後得到的主程式和運行檔案,以及主程式和運行檔案所對應的特徵值和關係訊息。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S110、S130、S150、S170、S190‧‧‧本發明一實施例中軟體修復方法的流程步驟

Claims (12)

  1. 一種軟體修復方法,其包括:備份安裝後得到的一主程式和一運行檔案,以及該主程式和該運行檔案所對應的特徵值和關係訊息,關係訊息包括了該軟體安裝完成時該主程式所在的目錄訊息和安裝檔案結構訊息;根據一軟體的該主程式的特徵值判斷該軟體的該主程式是否破損,若是,則獲取一預先備份的主程式以及該主程式的關係訊息;透過該預先備份的主程式以及該主程式的關係訊息修復該破損的主程式;以及運行該修復後的主程式。
  2. 根據申請專利範圍第1項所述之軟體修復方法,其更包括:根據該主程式的特徵值判斷到該軟體的主程式未破損,則運行該軟體的該主程式。
  3. 根據申請專利範圍第1或2項所述之軟體修復方法,其更包括:透過該主程式的運行觸發對該軟體的一運行檔案進行掃描校驗,得到一異常的運行檔案;以及修復該異常的運行檔案。
  4. 根據申請專利範圍第3項所述之軟體修復方法,其中,透過該主程式的運行觸發對該軟體的該運行檔案進行掃描校驗,得到該異常的運行檔案,包括:獲取該運行檔案所對應的特徵值和備份於本地的特徵值;以及 判斷該運行檔案所對應的特徵值與備份於本地的特徵值是否一致,若否,則定位得到該異常的運行檔案。
  5. 根據申請專利範圍第3項所述之軟體修復方法,其中,修復該異常的運行檔案,包括:獲取該異常的運行檔案所在的一關係訊息;根據該關係訊息查找得到本地備份的運行檔案;以及替換該異常的運行檔案為該查找得到的運行檔案。
  6. 一種軟體修復裝置,其包括:一掃描校驗模組,用於透過一主程式的運行觸發對一軟體的一運行檔案進行掃描校驗,得到一異常的運行檔案,該掃描校驗模組包括一特徵獲取單元,用於獲取該運行檔案所對應的特徵值和備份於本地的特徵值和關係訊息關係訊息包括了該軟體安裝完成時該主程式所在的目錄訊息和安裝檔案結構訊息;一主程式判斷模組,用於根據一軟體的該主程式的特徵值判斷該軟體的主程式是否破損;一訊息獲取模組,若該主程式判斷模組判斷該軟體的主程式已破損,則通知該訊息獲取模組,其訊息獲取模組用於獲取一預先備份的主程式以及該主程式的關係訊息;一主程式修復模組,用於透過該預先備份的主程式以及該主程式的關係訊息修復該破損的主程式;以及一修復運行模組,用於運行該修復後的主程式。
  7. 根據申請專利範圍第6項所述之軟體修復裝置,其更包括:一主程式運行模組,用於根據該主程式的特徵值判斷到該軟體的主程式未破損,則運行該軟體的主程式。
  8. 根據申請專利範圍第6或7項所述之軟體修復裝置,其更包括:一運行檔案修復模組,用於修復該異常的運行檔案。
  9. 根據申請專利範圍第8項所述之軟體修復裝置,其中,該掃描校驗模組更包括:一一致性判斷單元,用於判斷該運行檔案所對應的特徵值與備份於本地的特徵值是否一致;以及一檔案定位單元,用於定位得到所述異常的運行檔案,其中,若該一致性判斷單元判斷該運行檔案所對應的特徵值與備份於本地的特徵值為不一致,則通知該檔案定位單元。
  10. 根據申請專利範圍第8項所述的裝置,其中,該運行檔案修復模組包括:一關係訊息獲取單元,用於獲取該異常的運行檔案所在的關係訊息;一查找單元,用於根據該關係訊息查找得到本地備份的運行檔案;以及一替換單元,用於替換該異常的運行檔案為該查找得到的運行檔案。
  11. 根據申請專利範圍第6項所述的裝置,其更包括:一備份模組,用於備份安裝後得到的該主程式和一運行檔案,以及該主程式和該運行檔案所對應的特徵值和關係訊息。
  12. 一種電腦可讀取存儲元件,其存儲有電腦可執行之一個或複數個指令片段,使得一個或複數個處理單元執行如申請專利範圍第1至5項任一項所述之軟體修復方法。
TW102145461A 2013-06-19 2013-12-10 軟體修復方法和裝置及電腦可讀取存儲元件 TWI494755B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310244544.8A CN104239163B (zh) 2013-06-19 2013-06-19 软件修复方法和装置

Publications (2)

Publication Number Publication Date
TW201500916A TW201500916A (zh) 2015-01-01
TWI494755B true TWI494755B (zh) 2015-08-01

Family

ID=52103922

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102145461A TWI494755B (zh) 2013-06-19 2013-12-10 軟體修復方法和裝置及電腦可讀取存儲元件

Country Status (3)

Country Link
CN (1) CN104239163B (zh)
TW (1) TWI494755B (zh)
WO (1) WO2014201915A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105183508B (zh) * 2015-08-26 2019-02-15 北京元心科技有限公司 容器系统内应用程序的监控方法以及智能终端
CN107276789B (zh) * 2017-05-19 2020-12-01 太仓鸿羽智能科技有限公司 日志上传方法、装置及计算机可读存储介质
CN107608707A (zh) * 2017-07-31 2018-01-19 努比亚技术有限公司 具有热修复功能之应用检测方法、终端及可读存储介质
CN108509291B (zh) * 2018-02-27 2019-09-10 Oppo广东移动通信有限公司 应用程序运行异常修复方法及系统,以及移动终端
CN110825396B (zh) * 2019-10-31 2023-07-25 Oppo(重庆)智能科技有限公司 异常处理方法及相关设备
CN111679938A (zh) * 2020-06-08 2020-09-18 深圳市豪恩汽车电子装备股份有限公司 机动车软件运行装置及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067410A (en) * 1996-02-09 2000-05-23 Symantec Corporation Emulation repair system
TW200723018A (en) * 2005-12-14 2007-06-16 Inventec Corp Image file data pre-installation system and method
TW200725406A (en) * 2005-12-27 2007-07-01 Inventec Besta Co Ltd Booting program backup system and method thereof
CN101425028A (zh) * 2007-10-31 2009-05-06 华硕电脑股份有限公司 计算机系统与计算机系统的韧体修复方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001297021A (ja) * 2000-04-12 2001-10-26 Nec Software Hokkaido Ltd データ復元方法及びデータ復元方法を実行させるプログラムを記録した記録媒体
CN1197006C (zh) * 2001-02-20 2005-04-13 英业达股份有限公司 一种生成具有自检测和自修复功能的应用程序的方法
CN1277211C (zh) * 2003-05-06 2006-09-27 联想(北京)有限公司 一种计算机操作系统的修复方法
US8255998B2 (en) * 2005-08-16 2012-08-28 Emc Corporation Information protection method and system
US7472420B1 (en) * 2008-04-23 2008-12-30 Kaspersky Lab, Zao Method and system for detection of previously unknown malware components
CN101950263A (zh) * 2010-09-27 2011-01-19 深圳市江波龙电子有限公司 一种存储设备的修复方法、系统及存储设备
CN103034560B (zh) * 2011-09-29 2015-11-11 腾讯科技(深圳)有限公司 一种修复应用软件的方法、装置及系统
CN102402470A (zh) * 2011-12-19 2012-04-04 青岛海信网络科技股份有限公司 闪存程序自动纠错修复方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067410A (en) * 1996-02-09 2000-05-23 Symantec Corporation Emulation repair system
TW200723018A (en) * 2005-12-14 2007-06-16 Inventec Corp Image file data pre-installation system and method
TW200725406A (en) * 2005-12-27 2007-07-01 Inventec Besta Co Ltd Booting program backup system and method thereof
CN101425028A (zh) * 2007-10-31 2009-05-06 华硕电脑股份有限公司 计算机系统与计算机系统的韧体修复方法

Also Published As

Publication number Publication date
TW201500916A (zh) 2015-01-01
WO2014201915A1 (zh) 2014-12-24
CN104239163B (zh) 2016-04-13
CN104239163A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
TWI494755B (zh) 軟體修復方法和裝置及電腦可讀取存儲元件
CN105320598B (zh) 软件测试方法及装置
CN104636047B (zh) 对列表中的对象进行操作的方法、装置及触屏终端
CN106066686B (zh) 一种信息处理方法及终端设备
WO2015154670A1 (en) Method and apparatus for invoking application programming interface
CN107766747B (zh) 校验应用程序安装包完整性的方法、移动终端及服务器
TWI519999B (zh) 一種終端運行環境的優化方法及其裝置
CN104598262A (zh) 一种移动应用更新方法及装置
WO2015035835A1 (zh) 应用程序检测方法及装置
WO2019076293A1 (zh) 一种差分升级的方法、装置及系统
CN108549698B (zh) 文件处理方法、装置、移动终端及计算机可读存储介质
CN106658354B (zh) 一种数据传输方法及设备
WO2018161540A1 (zh) 指纹注册方法及相关产品
CN105610878B (zh) 目录上传方法、数据发布方法、终端及服务器
CN106960155A (zh) 一种基本输入输出系统的更新方法和装置
US20160308879A1 (en) Application-Based Service Providing Method, Apparatus, and System
WO2015010578A1 (zh) 应用的访问控制方法和装置
CN109067751B (zh) 一种非Root环境下ARP欺骗检测方法、装置及终端
CN108139899B (zh) 终端设备和控制充电的方法
CN105278925B (zh) 对卸载的软件进行垃圾清除的方法及装置
CN106713319B (zh) 终端间的远程控制方法、装置、系统及移动终端
EP3129883B1 (en) Method and apparatus for repairing dynamic link library file
CN106528231B (zh) 一种启动应用程序的方法和装置
MX2014009372A (es) Metodo, dispositivo y terminal para proteger un programa de aplicacion.
CN106933626B (zh) 应用关联方法及装置