專利名稱:驅動程序修復方法、設備和系統的制作方法
技術領域:
本發明涉及驅動程序的裝載,具體涉及一種驅動程序修復方法、設備和系統。
背景技術:
驅動程序是一種可以使終端設備和硬件模塊通信的特殊程序,其運行在終端設備的操作系統的內核中,相當于終端設備的操作系統到硬件模塊的接口,以便將硬件模塊的相關功能告訴給終端設備的操作系統,也可以將操作系統的指令傳達給硬件模塊。終端設備的操作系統通過驅動程序可以控制硬件模塊的工作,假如硬件模塊的驅動程序未能正確安裝,則終端設備中的該硬件模塊便不能正常工作。 目前,驅動程序是各硬件模塊的廠商針對己方產品,根據操作系統編寫的配置文件。不同廠商的硬件模塊所對應的驅動程序不同,同一廠商的硬件模塊針對不同的操作系統適配的驅動程序也不同,各個硬件模塊廠商為了保證硬件模塊的兼容性及增強硬件模塊的功能也會不斷地升級驅動程序。一般來說,硬件模塊在第一次使用時、完成驅動程序的安裝加載后,該硬件模塊便能正常工作,之后的使用不再需要安裝該硬件模塊的驅動程序,然而這會造成終端設備在使用一段時間后,終端設備上各硬件模塊的驅動程序并不是最新的,舊版的驅動程序有可能無法解決該硬件模塊某些不兼容的問題,從而給用戶的正常使用造成不便。由于大部分用戶對安裝在終端設備中的硬件模塊并不熟悉,缺少了解硬件模塊的硬件知識,因此,一旦驅動程序在安裝的過程中出現安裝失敗時,大部分用戶會陷入不知所措的地步,由此會導致無法在終端設備上正確安裝驅動程序。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的驅動程序修復方法、設備和系統。依據本發明的一個方面,提供了一種驅動程序修復方法,包括步驟安裝用于驅動終端設備中待驅動的硬件模塊的驅動程序;檢測安裝驅動程序的操作;當檢測到在安裝驅動程序出現錯誤時,終端設備向診斷設備發送修復驅動程序的修復請求信息;終端設備接收診斷設備發送的修復信息,并根據修復信息修復驅動程序,修復信息由診斷設備根據修復請求信息生成。當驅動程序安裝出現錯誤時,終端設備可以向診斷設備發送修復請求信息,診斷設備基于修復請求信息生成修復信息,使得終端設備可根據該修復信息修復驅動程序,有效提高驅動程序安裝的成功率。本發明實施例中,在安裝用于驅動終端設備中待驅動的硬件模塊的驅動程序的步驟中,獲取終端設備中待驅動的硬件模塊的硬件信息,然后獲取并安裝與硬件信息對應的、用于驅動待驅動的硬件模塊的驅動程序。通過硬件模塊的硬件信息進行匹配驅動程序,有效提高了驅動程序匹配的準確性。本發明實施例中,在獲取終端設備中待驅動的硬件模塊的硬件信息的步驟中,檢測終端設備中的一個或多個硬件模塊的運行狀況;當檢測到一個或多個硬件模塊的運行狀況為運行不正常時,獲取運行狀況為運行不正常的硬件模塊的硬件信息。本發明實施例中,在獲取并安裝與硬件信息對應的、用于驅動待驅動的硬件模塊的驅動程序的步驟中,終端設備將硬件信息發送給驅動程序服務器,由驅動程序服務器匹配得到與硬件信息對應的驅動程序;終端設備接收并安裝驅動程序服務器發送的驅動程序。本發明實施例中,在獲取并安裝與硬件信息對應的、用于驅動待驅動的硬件模塊的驅動程序的步驟中,終端設備將硬件信息發送給驅動程序服務器,由驅動程序服務器匹配得到與硬件信息對應的、用于下載驅動程序的下載信息;終端設備根據下載信息,獲取并安裝用于驅動待驅動的硬件模塊的驅動程序。本發明實施例中,在檢測安裝驅動程序的操作的步驟中,檢測待驅動的硬件模塊的狀態標識;然后當檢測到待驅動的硬件模塊的狀態標識不符合預定條件時,則判定在安裝驅動程序時出現錯誤;當檢測到待驅動的硬件模塊的狀態標識符合預定條件時,則判定·驅動程序安裝正確。本發明實施例中,在終端設備向診斷設備發送修復請求信息的步驟中,終端設備與診斷設備建立連接;在終端設備與診斷設備連接建立后,終端設備接收診斷設備發送的診斷詢問信息;終端設備根據診斷詢問信息,向診斷設備發送修復請求信息,該修復請求信息包括硬件信息和安裝驅動程序出現錯誤時的出錯信息。根據本發明的另一方面,提供了一種驅動程序修復設備,包括驅動程序安裝模塊,用于安裝待驅動的硬件模塊的驅動程序;安裝操作檢測模塊,用于檢測安裝驅動程序的操作;修復請求信息發送模塊,用于當檢測到在安裝驅動程序出現錯誤時,向診斷設備發送修復驅動程序的修復請求信息;驅動程序修復模塊,用于接收診斷設備發送的修復信息,并根據修復信息修復驅動程序,修復信息由診斷設備根據修復請求信息生成。根據本發明的還一方面,提供了一種驅動程序修復系統,包括至少一個診斷設備,用于生成驅動程序的修復信息;以及根據本發明的驅動程序修復設備,用于在檢測到在安裝驅動程序出現錯誤時,向診斷設備發送修復請求信息,并根據診斷設備發送的修復信息修復待驅動的硬件模塊的驅動程序。根據本發明的驅動程序修復方式,可以對驅動程序安裝過程中出現的錯誤進行修復,由此解決了用戶因不熟悉硬件模塊的相關知識,當遇到硬件模塊的驅動程序無法正確安裝時,不知如何操作的問題,有效提高了驅動程序安裝的成功率。上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的具體實施方式
。
通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖I示出了根據本發明一個實施例的驅動程序修復設備的框圖;以及
圖2示出了根據本發明一個實施例的驅動程序修復方法的流程圖。
具體實施例方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。本發明實施例可以應用 于計算機系統/服務器,其可與眾多其它通用或專用計算系統環境或配置一起操作。適于與計算機系統/服務器一起使用的眾所周知的計算系統、環境和/或配置的例子包括但不限于個人計算機系統、服務器計算機系統、瘦客戶機、厚客戶機、手持或膝上設備、基于微處理器的系統、機頂盒、可編程消費電子產品、網絡個人電腦、小型計算機系統、大型計算機系統和包括上述任何系統的分布式云計算技術環境等
坐寸ο計算機系統/服務器可以在由計算機系統執行的計算機系統可執行指令(諸如程序模塊)的一般語境下描述。通常,程序模塊可以包括例程、程序、目標程序、組件、邏輯、數據結構等等,它們執行特定的任務或者實現特定的抽象數據類型。計算機系統/服務器可以在分布式云計算環境中實施,分布式云計算環境中,任務是由通過通信網絡鏈接的遠程處理設備執行的。在分布式云計算環境中,程序模塊可以位于包括存儲設備的本地或遠程計算系統存儲介質上。圖I示意性地示出了根據本發明一個實施例的驅動程序修復設備10的框圖。如圖I所示,驅動程序修復設備10包括驅動程序安裝模塊11、安裝操作檢測模塊12、修復請求信息發送模塊13、驅動程序修復模塊14和連接斷開模塊15。驅動程序安裝模塊11用于安裝待驅動的硬件模塊的驅動程序。上述待驅動的硬件模塊可以是以下幾種情形中的任意一種(1)首次在終端設備中安裝的硬件模塊,如果不在終端設備的操作系統中安裝用于驅動該硬件模塊的驅動程序,該硬件模塊無法正常工作,例如安裝新的聲卡;(2)與終端設備的操作系統不兼容的硬件模塊,如果不安裝用于驅動該硬件模塊的驅動程序,該硬件模塊無法正常工作;(3)需要在終端設備的操作系統中更新驅動程序的硬件模塊,如果不更新該硬件模塊的驅動程序,則無法優化該硬件模塊的工作性能;(4)異常情況,例如終端設備本身的接觸有問題,USB (Universal Serial BUS,通用串行總線)前端插口供電不足,需要換到后面的插口 ;終端設備的操作系統的系統文件的缺失,缺失一些驅動程序所需的系統文件;舊的驅動程序卸載不夠徹底,導致新的驅動程序無法正確安裝;以及其他異常情況,比如驅動程序安裝后,無法正常啟動等。上述終端設備可以是指臺式計算機或筆記本,臺式計算機或筆記本的操作系統可以是Windows (Microsoft公司推出的視窗計算機操作系統)、Unix (是一種強大的多用戶、多任務操作系統)、Linux (是一種自由和開放源碼的類Unix操作系統)、Netware (是Novell公司推出的網絡操作系統)、Xenix (是Microsoft公司與SCO公司聯合開發的微機Unix版本)等操作系統,當然可以理解的是,本發明的實施例僅以應用在Windows操作系統上的技術方案為例進行說明,應用其他操作系統上的技術方案與此類似,在此不再敷述。同樣,也可以理解的是,本發明的實施例除了應用在臺式計算機或筆記本上外,上述終端設備還可以是手持設備,例如移動電話。手持設備的操作系統可以是Palm OSCPalm公司開發的專用于PDA上的一種操作系統)、Symbian(是塞班公司為移動設備而設計的操作系統)、Windows mobile (是Microsoft公司針對移動設備而開發的操作系統)、Linux (是一種自由和開放源碼的類Unix操作系統)和Android (是一種以Linux為基礎的開放源代碼操作系統,主要使用于移動設備)、iPhone OS (由蘋果公司為iPhone開發的操作系統)等,本發明的實施例僅以應用在臺式計算機或筆記本上的操作系統為例進行說明。本發明實施例中,上述驅動程序安裝模塊11包括硬件信息獲取單元111和驅動程序安裝單元112,其中,硬件信息獲取單元111用于獲取待驅動的硬件模塊的硬件信息,其中該硬件信息可以是指用于表示該硬件模塊的身份的信息,例如該硬件信息包括硬件模塊的型號、硬件模塊的廠商信息和性能參數等;驅動程序安裝單元112用于獲取并安裝與硬件信息對應的、用于驅動待驅動的硬件模塊的驅動程序。也就是,利用硬件模塊所具有的硬件信息,獲取與該硬件信息對應的驅動程序。本發明實施例中,終端設備將該硬件模塊的硬件信息發送給網絡側的驅動服務器,由該驅動服務器根據硬件信息匹配到與該硬件信息對應的驅動程序,然后驅動服務器 將驅動程序發送給終端設備,或將驅動程序的下載信息發送給終端設備,終端設備接收并安裝驅動程序,或者終端設備根據下載信息從其他服務器中下載并安裝驅動程序。上述驅動服務器中存儲有硬件模塊的硬件信息、驅動程序以及硬件信息與驅動程序的對應關系,通過終端設備發送過來的硬件模塊的硬件信息,在驅動服務器中查找到與硬件信息對應的驅動程序,并將驅動程序發送給終端設備。或者,驅動服務器中存儲有硬件模塊的硬件信息、驅動程序的下載信息以及硬件信息與驅動程序的下載信息的對應關系,通過終端設備發送過來的硬件模塊的硬件信息,在驅動服務器中查找到與硬件信息對應的驅動程序的下載信息,并將驅動程序的下載信息發送給終端設備。本發明實施例中,上述硬件信息獲取單元111包括運行狀況檢測子單元1111和硬件信息獲取子單元1112,其中運行狀況檢測子單元1111用于檢測終端設備中的一個或多個硬件模塊的運行狀況;硬件信息獲取子單元1112用于當運行狀況檢測子單元1111檢測到一個或多個硬件模塊的運行狀況為運行不正常時,獲取運行狀況為運行不正常的硬件模塊的硬件信息。例如終端設備中的每個硬件模塊都設置有用于表示其運行狀況的狀態碼,該狀態碼可以用字符或字符串來表示。可選地,當硬件模塊的狀態碼為數字“O”時,表示硬件模塊運行正常,否則,硬件模塊運行不正常。當然可以理解的是,在本發明的實施例中并不限定上述狀態碼的表現形式。上述運行狀況檢測子單元1111可隨時檢測硬件模塊的運行狀況,也可以定期檢測硬件模塊的運行狀況。當然可以理解的是,上述定期檢測可根據用戶的需要進行設置,例如每隔一個月、每隔一周、每隔一天等等,本發明的實施例對此不加限制。本發明實施例中,上述驅動程序安裝單元112包括第一硬件信息發送子單元和第一驅動程序安裝子單元,其中第一硬件信息發送子單元用于將硬件信息發送給驅動程序服務器,由驅動程序服務器匹配得到與硬件信息對應的驅動程序;第一驅動程序安裝子單元用于接收并安裝驅動程序服務器發送的驅動程序。也就是,在網絡側的驅動程序服務器上存儲有針對不同硬件模塊驅動程序,且在驅動程序服務器上還存儲有驅動程序與硬件信息的對應關系,因此驅動程序服務器可根據硬件信息快速匹配得到適合的驅動程序,然后將驅動程序發送給終端設備,由終端設備進行驅動程序的安裝。以硬件模塊為顯卡為例,該顯卡的顯卡信息是PCI\VEN_1002&DEV_6779&SUBSYS_21201028&REV_00,在驅動程序服務器中存儲有上述顯卡信息與安裝包名稱為“amd_8. 810. 4. 3000. zip”的驅動程序的對應關系(參見表1),通過該顯卡信息可在驅動程序服務器中找到與該顯卡信息對應的驅動程序,驅動服務器將與該驅動程序對應的安裝包發送給終端設備。表I
權利要求
1.一種驅動程序修復方法,其特征在于,包括 安裝用于驅動終端設備中待驅動的硬件模塊的驅動程序; 檢測安裝所述驅動程序的操作; 當檢測到在安裝所述驅動程序出現錯誤時,所述終端設備向診斷設備發送修復所述驅動程序的修復請求信息; 所述終端設備接收所述診斷設備發送的修復信息,并根據所述修復信息修復所述驅動程序,所述修復信息由所述診斷設備根據所述修復請求信息生成。
2.如權利要求I所述的驅動程序修復方法,其特征在于,所述安裝用于驅動終端設備中待驅動的硬件模塊的驅動程序的步驟包括 獲取所述終端設備中待驅動的硬件模塊的硬件信息; 獲取并安裝與所述硬件信息對應的、用于驅動所述待驅動的硬件模塊的驅動程序。
3.如權利要求2所述的驅動程序修復方法,其特征在于,所述獲取所述終端設備中待驅動的硬件模塊的硬件信息的步驟包括 檢測所述終端設備中的一個或多個硬件模塊的運行狀況; 當檢測到一個或多個硬件模塊的運行狀況為運行不正常時,獲取所述運行狀況為運行不正常的硬件模塊的硬件信息。
4.如權利要求2 3任一所述的驅動程序修復方法,其特征在于,所述獲取并安裝與所述硬件信息對應的、用于驅動所述待驅動的硬件模塊的驅動程序的步驟包括 所述終端設備將所述硬件信息發送給驅動程序服務器,由所述驅動程序服務器匹配得到與所述硬件信息對應的驅動程序; 所述終端設備接收并安裝所述驅動程序服務器發送的所述驅動程序。
5.如權利要求2 3任一所述的驅動程序修復方法,其特征在于,所述獲取并安裝與所述硬件信息對應的、用于驅動所述待驅動的硬件模塊的驅動程序的步驟包括 所述終端設備將所述硬件信息發送給驅動程序服務器,由所述驅動程序服務器匹配得到與所述硬件信息對應的、用于下載所述驅動程序的下載信息; 所述終端設備根據所述下載信息,獲取并安裝用于驅動所述待驅動的硬件模塊的驅動程序。
6.如權利要求Γ5任一所述的驅動程序修復方法,其特征在于,所述檢測安裝所述驅動程序的操作的步驟包括 檢測所述待驅動的硬件模塊的狀態標識; 當檢測到所述待驅動的硬件模塊的狀態標識不符合預定條件時,則判定在安裝所述驅動程序時出現錯誤; 當檢測到所述待驅動的硬件模塊的狀態標識符合預定條件時,則判定所述驅動程序安裝正確。
7.如權利要求Γ6任一所述的驅動程序修復方法,其特征在于,所述終端設備向診斷設備發送修復請求信息的步驟包括 所述終端設備與所述診斷設備建立連接; 在所述終端設備與所述診斷設備連接建立后,所述終端設備接收所述診斷設備發送的診斷詢問信息;所述終端設備根據所述診斷詢問信息,向所述診斷設備發送修復請求信息,所述修復請求信息包括所述硬件信息和安裝所述驅動程序出現錯誤時的出錯信息。
8.如權利要求6所述的驅動程序修復方法,其特征在于,所述終端設備與所述診斷設備建立連接的步驟之前,所述驅動程序修復方法還包括 當檢測到在安裝所述驅動程序出現錯誤時,所述終端設備提示與所述診斷設備建立連接。
9.如權利要求Γ8任一所述的驅動程序修復方法,其特征在于,所述驅動程序修復方法還包括 在完成修復所述驅動程序后,所述終端設備斷開與所述診斷設備之間的連接。
10.一種驅動程序修復設備,其特征在于,包括 驅動程序安裝模塊,用于安裝待驅動的硬件模塊的驅動程序; 安裝操作檢測模塊,用于檢測安裝所述驅動程序的操作; 修復請求信息發送模塊,用于當檢測到在安裝所述驅動程序出現錯誤時,向診斷設備發送修復所述驅動程序的修復請求信息;以及 驅動程序修復模塊,用于接收所述診斷設備發送的修復信息,并根據所述修復信息修復所述驅動程序,所述修復信息由所述診斷設備根據所述修復請求信息生成。
11.如權利要求10所述的驅動程序修復設備,其特征在于,所述驅動程序安裝模塊包括 硬件信息獲取單元,用于獲取所述待驅動的硬件模塊的硬件信息; 驅動程序安裝單元,用于獲取并安裝與所述硬件信息對應的、用于驅動所述待驅動的硬件模塊的驅動程序。
12.如權利要求11所述的驅動程序修復設備,其特征在于,所述硬件信息獲取單元包括 運行狀況檢測子單元,用于檢測所述終端設備中的一個或多個硬件模塊的運行狀況;硬件信息獲取子單元,用于當檢測到一個或多個硬件模塊的運行狀況為運行不正常時,獲取所述運行狀況為運行不正常的硬件模塊的硬件信息。
13.如權利要求If12任一所述的驅動程序修復設備,其特征在于,所述驅動程序安裝單元包括 第一硬件信息發送子單元,用于將所述硬件信息發送給驅動程序服務器,由所述驅動程序服務器匹配得到與所述硬件信息對應的驅動程序; 第一驅動程序安裝子單元,用于接收并安裝所述驅動程序服務器發送的所述驅動程序。
14.如權利要求If12任一所述的驅動程序修復設備,其特征在于,所述驅動程序安裝單元包括 第二硬件信息發送子單元,用于將所述硬件信息發送給驅動程序服務器,由所述驅動程序服務器匹配得到與所述硬件信息對應的下載信息; 第二驅動程序安裝子單元,用于根據所述下載信息,獲取并安裝用于驅動所述待驅動的硬件模塊的驅動程序。
15.如權利要求1(Γ14任一所述的驅動程序修復設備,其特征在于,所述安裝操作檢測模塊包括 狀態標識檢測單元,用于檢測所述待驅動的硬件模塊的狀態標識; 安裝操作判定單元,用于當檢測到所述待驅動的硬件模塊的狀態標識不符合預定條件時,判定在安裝所述驅動程序時出現錯誤;以及當檢測到所述待驅動的硬件模塊的狀態標識符合預定條件時,判定所述驅動程序的安裝操作正確。
16.如權利要求1(Γ15任一所述的驅動程序修復設備,其特征在于,所述修復請求信息發送模塊包括 連接請求發送單元,用于與所述診斷設備建立連接; 診斷問詢接收單元,用于與所述診斷設備連接建立后,接收所述診斷設備發送的診斷詢問信息; 修復請求發送單元,用于根據所述診斷詢問信息,向所述診斷設備發送修復請求信息,所述修復請求信息包括所述硬件信息和安裝所述驅動程序出現錯誤時的出錯信息。
17.如權利要求1(Γ16任一所述的驅動程序修復設備,其特征在于,所述驅動程序修復設備還包括 連接斷開模塊,用于在完成修復所述驅動程序后,斷開與所述診斷設備之間的連接。
18.—種驅動程序修復系統,包括 至少一個診斷設備,用于生成驅動程序的修復信息;以及 如權利要求1(Γ17任一所述的驅動程序修復設備,用于在檢測到在安裝驅動程序出現錯誤時,向診斷設備發送修復請求信息,并根據診斷設備發送的修復信息修復待驅動的硬件模塊的驅動程序。
全文摘要
本發明公開了一種驅動程序修復方法,包括步驟安裝用于驅動終端設備中待驅動的硬件模塊的驅動程序;檢測安裝驅動程序的操作;當檢測到在安裝驅動程序出現錯誤時,終端設備向診斷設備發送修復驅動程序的修復請求信息;終端設備接收診斷設備發送的修復信息,并根據修復信息修復驅動程序,其中修復信息由診斷設備根據修復請求信息生成。通過采用上述修復方法能夠有效提高驅動程序的安裝成功率。本發明還公開了一種執行該方法的驅動程序修復設備及系統。
文檔編號G06F9/445GK102880488SQ20121033788
公開日2013年1月16日 申請日期2012年9月12日 優先權日2012年9月12日
發明者孫卓, 夏旭 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司