本發(fā)明實(shí)施例涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,特別涉及一種預(yù)下載方法及裝置。
背景技術(shù):
:補(bǔ)丁文件是用于修復(fù)應(yīng)用程序的漏洞的文件。常見的補(bǔ)丁文件包括:操作系統(tǒng)補(bǔ)丁文件、游戲補(bǔ)丁文件等?,F(xiàn)有技術(shù)存在一種補(bǔ)丁文件的預(yù)下載方法,包括:終端上的管理程序獲取應(yīng)用程序的版本號(hào)信息,在已安裝的應(yīng)用程序的版本號(hào)早于最新版本號(hào)時(shí),向服務(wù)器發(fā)送下載請(qǐng)求,該下載請(qǐng)求用于請(qǐng)求下載與最新版本號(hào)對(duì)應(yīng)的補(bǔ)丁文件。由于預(yù)下載方法并非由用戶主動(dòng)觸發(fā)的,而下載過程需要占用較多的網(wǎng)絡(luò)資源及計(jì)算資源,如果在不合適的時(shí)機(jī)啟動(dòng)預(yù)下載過程,會(huì)影響用戶對(duì)終端的正常使用。技術(shù)實(shí)現(xiàn)要素:為了解決在不合適的時(shí)機(jī)啟動(dòng)預(yù)下載過程,會(huì)影響用戶對(duì)終端的正常使用的問題,本發(fā)明實(shí)施例提供了一種預(yù)下載方法及裝置。所述技術(shù)方案如下:根據(jù)本發(fā)明的第一方面,提供了一種預(yù)下載方法,所述方法包括:在存在預(yù)下載任務(wù)時(shí),獲取終端的運(yùn)行信息,所述運(yùn)行信息包括:輸入輸出I/O信息、網(wǎng)絡(luò)信息、處理器信息和內(nèi)存信息中的至少一種;檢測(cè)每一種所述運(yùn)行信息是否均符合各自對(duì)應(yīng)的任務(wù)啟動(dòng)條件;當(dāng)每一種所述運(yùn)行信息均符合所述任務(wù)啟動(dòng)條件時(shí),啟動(dòng)所述預(yù)下載任務(wù)。根據(jù)本發(fā)明的第二方面,提供了一種預(yù)下載裝置,所述裝置包括:獲取模塊,用于在存在預(yù)下載任務(wù)時(shí),獲取終端的運(yùn)行信息,所述運(yùn)行信息包括:輸入輸出I/O信息、網(wǎng)絡(luò)信息、處理器信息和內(nèi)存信息中的至少一種;檢測(cè)模塊,用于檢測(cè)每一種所述運(yùn)行信息是否均符合各自對(duì)應(yīng)的任務(wù)啟動(dòng)條件;啟動(dòng)模塊,用于當(dāng)每一種所述運(yùn)行信息均符合所述任務(wù)啟動(dòng)條件時(shí),啟動(dòng)所述預(yù)下載任務(wù)。本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是:通過檢測(cè)終端的運(yùn)行信息是否符合任務(wù)啟動(dòng)條件,當(dāng)每一種運(yùn)行信息均符合任務(wù)啟動(dòng)條件時(shí),才啟動(dòng)預(yù)下載任務(wù);解決了在不合適的時(shí)機(jī)啟動(dòng)預(yù)下載過程,會(huì)影響用戶對(duì)終端的正常使用的問題;達(dá)到了在終端處于相對(duì)空閑的狀態(tài)時(shí)才會(huì)啟動(dòng)預(yù)下載任務(wù),預(yù)下載任務(wù)不會(huì)影響用戶對(duì)終端的正常使用的效果。附圖說明為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明一個(gè)實(shí)施例提供的預(yù)下載系統(tǒng)的結(jié)構(gòu)方框圖;圖2是本發(fā)明一個(gè)實(shí)施例提供的預(yù)下載方法的流程圖;圖3A是本發(fā)明另一個(gè)實(shí)施例提供的預(yù)下載方法的流程圖;圖3B是圖3A所示實(shí)施例提供的獲取I/O信息的原理示意圖;圖4是本發(fā)明另一個(gè)實(shí)施例提供的預(yù)下載方法的流程圖;圖5是本發(fā)明另一個(gè)實(shí)施例提供的預(yù)下載方法的流程圖;圖6是本發(fā)明另一個(gè)實(shí)施例提供的預(yù)下載方法的流程圖;圖7是本發(fā)明另一個(gè)實(shí)施例提供的預(yù)下載方法的流程圖;圖8是本發(fā)明另一個(gè)實(shí)施例提供的預(yù)下載方法的流程圖;圖9是本發(fā)明一個(gè)實(shí)施例提供的預(yù)下載裝置的結(jié)構(gòu)示意圖;圖10是本發(fā)明一個(gè)實(shí)施例提供的終端的結(jié)構(gòu)示意圖。具體實(shí)施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。請(qǐng)參考圖1,其示出了本發(fā)明一個(gè)實(shí)施例提供的預(yù)下載系統(tǒng)的結(jié)構(gòu)方框圖。該預(yù)下載系統(tǒng)包括:終端120和后臺(tái)服務(wù)器系統(tǒng)140。終端120是用戶所使用的電子設(shè)備。可選地,終端120是手機(jī)、平板電腦、電子書閱讀器、MP3(MovingPictureExpertsGroupAudioLayerIII,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)播放器、MP4(MovingPictureExpertsGroupAudioLayerIV,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、手持游戲終端、臺(tái)式游戲終端、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。終端120用于執(zhí)行預(yù)下載任務(wù),預(yù)下載任務(wù)是在用戶使用前,提前對(duì)目標(biāo)文件進(jìn)行預(yù)先下載的任務(wù)??蛇x地,目標(biāo)文件是應(yīng)用程序的補(bǔ)丁文件、應(yīng)用程序的升級(jí)程序、訂閱文件中的至少一種??蛇x地,終端120中安裝有具有預(yù)下載能力的管理程序,該管理程序可以是:補(bǔ)丁管理程序、游戲客戶端、電腦管家程序中的任意一種。終端120通過網(wǎng)絡(luò)與后臺(tái)服務(wù)器系統(tǒng)140相連。后臺(tái)服務(wù)器系統(tǒng)120是一臺(tái)服務(wù)器,或者,幾臺(tái)服務(wù)器組成的集群。后臺(tái)服務(wù)器系統(tǒng)120用于向終端140提供應(yīng)用程序的版本號(hào)信息。后臺(tái)服務(wù)器系統(tǒng)120還用于向終端140提供目標(biāo)文件的下載服務(wù)??蛇x地,上述的網(wǎng)絡(luò)使用標(biāo)準(zhǔn)通信技術(shù)和/或協(xié)議。網(wǎng)絡(luò)通常為因特網(wǎng)、但是也可以是任何網(wǎng)絡(luò),包括但不限于局域網(wǎng)(LocalAreaNetwork,LAN)、城域網(wǎng)(MetropolitanAreaNetwork,MAN)、廣域網(wǎng)(WideAreaNetwork,WAN)、移動(dòng)、有線或者無線網(wǎng)絡(luò)、專用網(wǎng)絡(luò)或者虛擬專用網(wǎng)絡(luò)的任何組合)??梢允褂冒ǔ谋緲?biāo)記語言(HyperTextMarkupLanguage,HTML)、可擴(kuò)展標(biāo)記語言(ExtensibleMarkupLanguage,XML)等的技術(shù)和/或格式來代表通過網(wǎng)絡(luò)交換的數(shù)據(jù)。此外還可以使用諸如安全套接字層(SecureSocketsLayer,SSL)、傳送層安全(TransportLayerSecurity,TLS)、虛擬專用網(wǎng)絡(luò)(VirtualPrivateNetwork,VPN)、網(wǎng)際協(xié)議安全(InternetProtocolSecurity,IPsec)等常規(guī)加密技術(shù)來加密所有或者一些鏈路。在一些實(shí)施例中,還可以使用定制和/或?qū)S脭?shù)據(jù)通信技術(shù)取代或者補(bǔ)充上述數(shù)據(jù)通信技術(shù)。根據(jù)實(shí)施例,網(wǎng)絡(luò)也可以包括通向其他網(wǎng)絡(luò)(例如因特網(wǎng))的鏈路。圖2示出了本發(fā)明一個(gè)實(shí)施例提供的預(yù)下載方法的方法流程圖。本實(shí)施例以該預(yù)下載方法應(yīng)用于圖1所示的終端120中來舉例說明。該方法包括:步驟201,在存在預(yù)下載任務(wù)時(shí),獲取終端的運(yùn)行信息,該運(yùn)行信息包括:I/O(Input/Output,輸入輸出)信息、網(wǎng)絡(luò)信息、CPU(處理器)信息和內(nèi)存信息中的至少一種;預(yù)下載任務(wù)是由終端自行決定對(duì)目標(biāo)文件進(jìn)行下載的任務(wù)。通常,預(yù)下載任務(wù)并非用戶主動(dòng)觸發(fā)的下載任務(wù),當(dāng)用戶想要下載或使用目標(biāo)文件時(shí),由于該目標(biāo)文件已經(jīng)下載完畢,所以從用戶的主觀感受來看,該目標(biāo)文件被預(yù)先下載。比如,當(dāng)存在補(bǔ)丁文件需要下載時(shí),終端存在與補(bǔ)丁文件對(duì)應(yīng)的預(yù)下載任務(wù)。管理程序需要獲取終端的運(yùn)行信息,以決策是否啟動(dòng)預(yù)下載任務(wù)。運(yùn)行信息包括:I/O信息、網(wǎng)絡(luò)信息、CPU信息和內(nèi)存信息中的至少一種,或至少兩種,或至少三種,或全部四種。步驟202,檢測(cè)每一種運(yùn)行信息是否均符合各自對(duì)應(yīng)的任務(wù)啟動(dòng)條件;可選地,不同種類的運(yùn)行信息存在各自對(duì)應(yīng)的任務(wù)啟動(dòng)條件。也即,任務(wù)啟動(dòng)條件包括:與I/O信息對(duì)應(yīng)的任務(wù)啟動(dòng)條件;與網(wǎng)絡(luò)信息對(duì)應(yīng)的任務(wù)啟動(dòng)條件;與CPU信息對(duì)應(yīng)的任務(wù)啟動(dòng)條件;與內(nèi)存信息對(duì)應(yīng)的任務(wù)啟動(dòng)條件。步驟203,當(dāng)每一種運(yùn)行信息均符合任務(wù)啟動(dòng)條件時(shí),啟動(dòng)預(yù)下載任務(wù)。當(dāng)每一種運(yùn)行信息均符合任務(wù)啟動(dòng)條件時(shí),終端處于相對(duì)空閑的狀態(tài),管理程序啟動(dòng)預(yù)下載任務(wù),對(duì)目標(biāo)文件進(jìn)行預(yù)下載。綜上所述,本實(shí)施例提供的預(yù)下載方法,通過檢測(cè)終端的運(yùn)行信息是否符合任務(wù)啟動(dòng)條件,當(dāng)每一種運(yùn)行信息均符合任務(wù)啟動(dòng)條件時(shí),才啟動(dòng)預(yù)下載任務(wù);解決了在不合適的時(shí)機(jī)啟動(dòng)預(yù)下載過程,會(huì)影響用戶對(duì)終端的正常使用的問題;達(dá)到了在終端處于相對(duì)空閑的狀態(tài)時(shí)才會(huì)啟動(dòng)預(yù)下載任務(wù),預(yù)下載任務(wù)不會(huì)影響用戶對(duì)終端的正常使用的效果。在一個(gè)可選的實(shí)施例中,終端的運(yùn)行信息包括I/O信息。上述步驟201可被替代實(shí)現(xiàn)成為步驟301,上述步驟202可被替代實(shí)現(xiàn)成為步驟302,如圖3A所示:步驟301,通過I/O信息消費(fèi)者組件從消息框架組件中獲取I/O信息,I/O信息是由I/O信息生產(chǎn)者組件向消息框架組件提供的;生產(chǎn)者/消費(fèi)者(Provider/Consumer)模式是一種數(shù)據(jù)傳輸方式??蛇x地,生產(chǎn)者和消費(fèi)者均是獨(dú)立的軟件模塊。其中,生產(chǎn)者負(fù)責(zé)產(chǎn)生數(shù)據(jù),然后將數(shù)據(jù)保存至消息框架組件中,消息框架組件的作用與緩沖區(qū)類似,消費(fèi)者從消費(fèi)框架組件中獲取數(shù)據(jù)并處理。在生產(chǎn)者/消費(fèi)者模式中,生產(chǎn)者和消費(fèi)者互相解耦,生產(chǎn)者不需要關(guān)心消費(fèi)者是哪個(gè)模塊,消費(fèi)者也不需要關(guān)心生產(chǎn)者是哪個(gè)模塊,兩者都直接與消費(fèi)框架組件進(jìn)行數(shù)據(jù)交互即可??蛇x地,由一個(gè)生產(chǎn)者產(chǎn)生的數(shù)據(jù),還支持多個(gè)消費(fèi)者的并發(fā)處理。以終端為運(yùn)行有微軟Windows操作系統(tǒng)的電腦為例,Windows操作系統(tǒng)提供有WMI(WindowsManagementInstrumentation,Windows管理規(guī)范)機(jī)制。結(jié)合參考圖3B,WMI機(jī)制中提供有I/O信息生產(chǎn)者組件32,該I/O信息生產(chǎn)者組件32用于產(chǎn)生I/O信息,該I/O信息用于表示終端中當(dāng)前的I/O訪問情況。I/O信息生產(chǎn)者組件32將I/O信息保存至WMI框架(Infrastrucutre)組件34,I/O信息消費(fèi)者組件36從WMI框架組件34中獲取終端的I/O信息。管理程序通過I/O信息消費(fèi)者組件36獲取終端的I/O信息。步驟302,檢測(cè)I/O信息中的I/O訪問參數(shù)是否低于第一閾值。可選地,I/O訪問參數(shù)是I/O訪問次數(shù)或I/O訪問頻率。以終端中的磁盤為例,該磁盤在單位時(shí)間內(nèi)的被讀寫次數(shù)是一種I/O訪問參數(shù)。若終端中存在大文件復(fù)制、高速下載等任務(wù)時(shí),I/O訪問參數(shù)會(huì)相對(duì)較高;若終端中的任務(wù)對(duì)I/O訪問較空閑,則I/O訪問參數(shù)會(huì)相對(duì)較低。本實(shí)施例對(duì)I/O訪問參數(shù)的具體形式不加以限定。第一閾值是用于表示終端中的I/O訪問參數(shù)屬于繁忙狀態(tài)的閾值。若I/O訪問參數(shù)等于或高于第一閾值,則不符合與I/O信息對(duì)應(yīng)的任務(wù)啟動(dòng)條件,不能啟動(dòng)預(yù)下載任務(wù);若I/O訪問參數(shù)低于第一閾值,則符合與I/O信息對(duì)應(yīng)的任務(wù)啟動(dòng)條件。在另一個(gè)可選的實(shí)施例中,終端的運(yùn)行信息包括網(wǎng)絡(luò)信息,網(wǎng)絡(luò)信息包括:網(wǎng)絡(luò)帶寬、下載速度和上傳速度中的至少一種。上述步驟201可被替代實(shí)現(xiàn)成為步驟401a、步驟401b和步驟401c,上述步驟202可被替代實(shí)現(xiàn)成為步驟402,如圖4所示:步驟401a,下載測(cè)試文件;管理程序通過下載測(cè)試文件,對(duì)終端的當(dāng)前網(wǎng)絡(luò)信息進(jìn)行估計(jì)。測(cè)試文件是預(yù)設(shè)在后臺(tái)服務(wù)器系統(tǒng)中的文件。管理程序構(gòu)造一個(gè)下載請(qǐng)求,該下載請(qǐng)求用于對(duì)測(cè)試文件進(jìn)行下載??蛇x地,該測(cè)試文件被下載后,由管理程序定期刪除。步驟401b,在下載過程中,通過網(wǎng)絡(luò)過濾驅(qū)動(dòng)過濾出與測(cè)試文件對(duì)應(yīng)的下載流量;終端中可能有多個(gè)任務(wù)在同時(shí)使用網(wǎng)絡(luò)帶寬,管理程序需要從全部流量中過濾出與測(cè)試文件的下載任務(wù)所對(duì)應(yīng)的下載流量??蛇x地,網(wǎng)絡(luò)過濾驅(qū)動(dòng)包括:TDI(TransportDriverInterface,傳輸層驅(qū)動(dòng)程序接口)過濾驅(qū)動(dòng)和NDIS(NetworkDriverInterfaceSpecification,網(wǎng)絡(luò)驅(qū)動(dòng)程序接口)過濾驅(qū)動(dòng)。其中,TDI過濾驅(qū)動(dòng)工作在NDIS過濾驅(qū)動(dòng)的上層。管理程序通過TDI過濾驅(qū)動(dòng)從全部流量中過濾出與測(cè)試文件對(duì)應(yīng)的下載流量,和/或,通過NDIS過濾驅(qū)動(dòng)從全部流量中過濾出與測(cè)試文件對(duì)應(yīng)的下載流量。步驟401c,根據(jù)下載流量計(jì)算出網(wǎng)絡(luò)信息;可選地,該下載流量對(duì)應(yīng)多個(gè)下載速度,比如:在A時(shí)刻,該下載流量的下載速度為500kb/s;在B時(shí)刻,該下載流量的下載速度為127kb/s;在C時(shí)刻,該下載流量的下載速度為1.2MB/s??蛇x地,管理程序根據(jù)下載流量的多個(gè)下載速度的最高值計(jì)算出網(wǎng)絡(luò)信息;可選地,管理程序根據(jù)下載流量的多個(gè)下載速度的平均值計(jì)算出網(wǎng)絡(luò)信息。網(wǎng)絡(luò)信息包括:網(wǎng)絡(luò)帶寬和/或下載速度??蛇x地,網(wǎng)絡(luò)信息還包括:上傳速度。在使用P2P(PointtoPoint,點(diǎn)對(duì)點(diǎn))類型的下載技術(shù)時(shí),還存在上傳流量,此時(shí),管理程序還可以根據(jù)上傳流量計(jì)算出上傳速度。步驟402,檢測(cè)網(wǎng)絡(luò)信息中的下載參數(shù)是否高于第二閾值。以下載參數(shù)采用下載速度為例,若終端中存在對(duì)網(wǎng)絡(luò)帶寬占用較高的任務(wù)時(shí),下載速度會(huì)相對(duì)較低;若終端中不存在對(duì)網(wǎng)絡(luò)帶寬占用較高的任務(wù)時(shí),下載速度會(huì)相對(duì)較高。本實(shí)施例對(duì)下載參數(shù)的具體形式不加以限定。第二閾值是用于表示終端中的網(wǎng)絡(luò)帶寬屬于空閑狀態(tài)的閾值。若下載參數(shù)低于第二閾值,則不符合與網(wǎng)絡(luò)信息對(duì)應(yīng)的任務(wù)啟動(dòng)條件,不能啟動(dòng)預(yù)下載任務(wù);若下載參數(shù)高于或等于第二閾值,則符合與網(wǎng)絡(luò)信息對(duì)應(yīng)的任務(wù)啟動(dòng)條件。在另一個(gè)可選的實(shí)施例中,終端的運(yùn)行信息包括CPU信息。上述步驟201可被替代實(shí)現(xiàn)成為步驟501,上述步驟202可被替代實(shí)現(xiàn)成為步驟502,如圖5所示:步驟501,通過操作系統(tǒng)提供的第一應(yīng)用程序編程接口,獲取CPU信息;以微軟的Windows操作系統(tǒng)為例,操作系統(tǒng)提供有第一API(ApplicationProgrammingInterface,應(yīng)用程序編程接口),該第一API用于獲取CPU信息??蛇x地,CPU信息是CPU占用率。步驟502,檢測(cè)CPU信息中的CPU占用率是否低于第三閾值。若終端中存在對(duì)計(jì)算資源占用較高的任務(wù)時(shí),CPU占用率會(huì)相對(duì)較高;若終端中不存在對(duì)計(jì)算資源占用較高的任務(wù)時(shí),CPU占用率會(huì)相對(duì)較高。本實(shí)施例對(duì)CPU信息的具體形式不加以限定。第三閾值是用于表示終端中的CPU屬于繁忙狀態(tài)的閾值。若CPU占用率高于或等于第三閾值,則不符合與CPU信息對(duì)應(yīng)的任務(wù)啟動(dòng)條件,不能啟動(dòng)預(yù)下載任務(wù);若CPU占用率低于第三閾值,則符合與CPU信息對(duì)應(yīng)的任務(wù)啟動(dòng)條件。在另一個(gè)可選的實(shí)施例中,終端的運(yùn)行信息包括內(nèi)存信息。上述步驟201可被替代實(shí)現(xiàn)成為步驟601,上述步驟202可被替代實(shí)現(xiàn)成為步驟602,如圖6所示:步驟601,通過操作系統(tǒng)提供的第二應(yīng)用程序編程接口,獲取內(nèi)存信息;以微軟的Windows操作系統(tǒng)為例,操作系統(tǒng)提供有第二API(ApplicationProgrammingInterface,應(yīng)用程序編程接口),該第二API用于獲取內(nèi)存信息??蛇x地,內(nèi)存信息是內(nèi)存占用率。步驟602,檢測(cè)內(nèi)存信息中的內(nèi)存占用率是否低于第四閾值。若終端中存在對(duì)計(jì)算資源占用較高的任務(wù)時(shí),內(nèi)存占用率會(huì)相對(duì)較高;若終端中不存在對(duì)計(jì)算資源占用較高的任務(wù)時(shí),內(nèi)存占用率會(huì)相對(duì)較高。本實(shí)施例對(duì)內(nèi)存信息的具體形式不加以限定。第三閾值是用于表示終端中的內(nèi)存屬于繁忙狀態(tài)的閾值。若內(nèi)存占用率高于或等于第三閾值,則不符合與內(nèi)存信息對(duì)應(yīng)的任務(wù)啟動(dòng)條件,不能啟動(dòng)預(yù)下載任務(wù);若內(nèi)存占用率低于第三閾值,則符合與內(nèi)存信息對(duì)應(yīng)的任務(wù)啟動(dòng)條件。需要說明的是,上述幾種可選的實(shí)施例能夠自由組合實(shí)施。可選地,每種可選的實(shí)施例以串行運(yùn)行的方式進(jìn)行組合實(shí)施,比如,管理程序先對(duì)I/O信息進(jìn)行檢測(cè),再對(duì)CPU信息進(jìn)行檢測(cè);可選地,每種可選的實(shí)施例以并行運(yùn)行的方式進(jìn)行組合實(shí)施,比如,管理程序同時(shí)對(duì)CPU信息和內(nèi)存信息進(jìn)行檢測(cè)。甚至,一部分可選的實(shí)施例以串行運(yùn)行的方式進(jìn)行組合實(shí)施,另一部分可選的實(shí)施例以并行運(yùn)行的方式進(jìn)行組合實(shí)施。比如,管理程序先對(duì)網(wǎng)絡(luò)信息進(jìn)行檢測(cè),若檢測(cè)到網(wǎng)絡(luò)信息符合任務(wù)啟動(dòng)條件,則并行對(duì)I/O信息、CPU信息和內(nèi)存信息進(jìn)行檢測(cè)。下述結(jié)合一個(gè)具體的場(chǎng)景對(duì)本發(fā)明實(shí)施例進(jìn)行進(jìn)一步地闡述。圖7示出了本發(fā)明另一個(gè)實(shí)施例提供的預(yù)下載系統(tǒng)的結(jié)構(gòu)方框圖。該預(yù)下載系統(tǒng)包括:終端720和后臺(tái)服務(wù)器系統(tǒng)740。示意性的,終端720是臺(tái)式電腦。終端720中運(yùn)行有電腦管家程序722和應(yīng)用程序724。電腦管家程序722是管理程序的一種。示意性的,后臺(tái)服務(wù)器系統(tǒng)740包括:應(yīng)用程序服務(wù)器742、運(yùn)營(yíng)平臺(tái)服務(wù)器744和電腦管家服務(wù)器746。應(yīng)用程序服務(wù)器742用于提供應(yīng)用程序724的補(bǔ)丁文件的下載服務(wù),以及各個(gè)補(bǔ)丁文件的版本號(hào)。根據(jù)不同的廠商或不同的應(yīng)用程序,應(yīng)用程序服務(wù)器742為多個(gè)??蛇x地,應(yīng)用程序服務(wù)器742由廠商自行設(shè)置,或者,應(yīng)用程序服務(wù)器742是一個(gè)公眾平臺(tái)設(shè)置的服務(wù)器,各個(gè)廠商接入該公眾平臺(tái)來使用該服務(wù)器。比如,應(yīng)用程序是游戲程序,應(yīng)用程序服務(wù)器742是中國(guó)騰訊公司設(shè)置的TCLSWebportal(TencentClientLandingSystemWebportal,騰訊客戶端登陸系統(tǒng)門戶網(wǎng)站)服務(wù)器。運(yùn)營(yíng)平臺(tái)服務(wù)器744用于搜集各個(gè)應(yīng)用程序服務(wù)器742中的版本號(hào)信息,并將各個(gè)應(yīng)用程序724的版本號(hào)信息同步至電腦管家服務(wù)器746。電腦管家服務(wù)器724用于接收各個(gè)應(yīng)用程序724的補(bǔ)丁文件的版本號(hào)信息。電腦管家服務(wù)器724還用于為電腦管家程序722提供其他功能的后臺(tái)服務(wù)。圖8示出了本發(fā)明另一個(gè)實(shí)施例提供的預(yù)下載方法的流程圖。本實(shí)施例以該預(yù)下載方法應(yīng)用于圖7所示出的終端進(jìn)行舉例說明。該預(yù)下載方法包括:步驟801,從電腦管家服務(wù)器獲取應(yīng)用程序的版本號(hào)信息;終端中的電腦管家程序每隔預(yù)定時(shí)間間隔向電腦管家服務(wù)器發(fā)送版本號(hào)獲取請(qǐng)求,該版本號(hào)獲取請(qǐng)求中攜帶有應(yīng)用程序的標(biāo)識(shí)。該應(yīng)用程序是終端中已安裝的應(yīng)用程序。電腦管家服務(wù)器向終端發(fā)送應(yīng)用程序的版本號(hào)信息。示意性的,電腦管家服務(wù)器向終端發(fā)送的版本號(hào)信息如下:應(yīng)用程序的標(biāo)識(shí)最新版本號(hào)補(bǔ)丁文件的下載地址應(yīng)用程序A160622011http:xxx.xxxxxxx.xxx示意性的,最新版本號(hào)中的160622代表2016年06月22日,011代表流水號(hào)。步驟802,在已安裝的應(yīng)用程序的版本號(hào)早于最新版本號(hào)時(shí),生成預(yù)下載任務(wù);設(shè)已安裝的應(yīng)用程序的版本號(hào)為160423010,由于版本號(hào)160423010早于版本號(hào)160622011,所以終端根據(jù)補(bǔ)丁文件的下載地址,生成與該補(bǔ)丁文件對(duì)應(yīng)的預(yù)下載任務(wù)。在生成預(yù)下載任務(wù)后,該預(yù)下載任務(wù)處于未啟動(dòng)狀態(tài)。步驟803a,獲取I/O信息;可選地,終端獲取I/O信息的過程,參考步驟301所示。步驟803b,檢測(cè)I/O信息中的I/O訪問參數(shù)是否低于第一閾值;若低于第一閾值,則進(jìn)入步驟807;若高于或等于第一閾值,則進(jìn)入步驟808。步驟804a,獲取網(wǎng)絡(luò)信息;可選地,終端獲取網(wǎng)絡(luò)信息的過程,參考步驟401a至步驟401c所示。步驟804b,檢測(cè)網(wǎng)絡(luò)信息中的下載參數(shù)是否高于第二閾值;若高于第二閾值,則進(jìn)入步驟807;若低于或等于第二閾值,則進(jìn)入步驟808。步驟805a,獲取CPU信息;可選地,終端獲取CPU信息的過程,參考步驟501所示。步驟805b,檢測(cè)CPU信息中的CPU占用率是否低于第三閾值;若低于第三閾值,則進(jìn)入步驟807;若高于或等于第三閾值,則進(jìn)入步驟808。步驟806a,獲取內(nèi)存信息;可選地,終端獲取內(nèi)存信息的過程,參考步驟601所示。步驟806a,檢測(cè)內(nèi)存信息中的內(nèi)存占用率是否低于第四閾值;若低于第四閾值,則進(jìn)入步驟807;若高于或等于第四閾值,則進(jìn)入步驟808。步驟807,當(dāng)每一種運(yùn)行信息均符合任務(wù)啟動(dòng)條件時(shí),啟動(dòng)預(yù)下載任務(wù);步驟808,當(dāng)存在至少一種運(yùn)行信息不符合任務(wù)啟動(dòng)條件時(shí),保持預(yù)下載任務(wù)的暫停狀態(tài)。綜上所述,本實(shí)施例提供的預(yù)下載方法,通過檢測(cè)終端的運(yùn)行信息是否符合任務(wù)啟動(dòng)條件,當(dāng)每一種運(yùn)行信息均符合任務(wù)啟動(dòng)條件時(shí),才啟動(dòng)預(yù)下載任務(wù);解決了在不合適的時(shí)機(jī)啟動(dòng)預(yù)下載過程,會(huì)影響用戶對(duì)終端的正常使用的問題;達(dá)到了在終端處于相對(duì)空閑的狀態(tài)時(shí)才會(huì)啟動(dòng)預(yù)下載任務(wù),預(yù)下載任務(wù)不會(huì)影響用戶對(duì)終端的正常使用的效果。本實(shí)施例提供的預(yù)下載方法,還通過對(duì)終端的I/O信息進(jìn)行檢測(cè),在I/O訪問相對(duì)空閑時(shí),才啟動(dòng)預(yù)下載任務(wù);避免了用戶正在拷貝大型文件等使用場(chǎng)景下,不恰當(dāng)?shù)拈_啟預(yù)下載任務(wù),影響用戶對(duì)終端的正常使用。本實(shí)施例提供的預(yù)下載方法,還通過對(duì)終端的網(wǎng)絡(luò)信息進(jìn)行檢測(cè),在網(wǎng)絡(luò)帶寬相對(duì)空閑時(shí),才啟動(dòng)預(yù)下載任務(wù);避免了用戶正在進(jìn)行下載或者在線觀看多媒體文件等使用場(chǎng)景下,不恰當(dāng)?shù)拈_啟預(yù)下載任務(wù),影響用戶對(duì)終端的正常使用。本實(shí)施例提供的預(yù)下載方法,還通過對(duì)終端的CPU信息進(jìn)行檢測(cè),在CPU計(jì)算資源相對(duì)空閑時(shí),才啟動(dòng)預(yù)下載任務(wù);避免了用戶正在進(jìn)行高頻運(yùn)算等使用場(chǎng)景下,不恰當(dāng)?shù)拈_啟預(yù)下載任務(wù),影響用戶對(duì)終端的正常使用。本實(shí)施例提供的預(yù)下載方法,還通過對(duì)終端的內(nèi)存信息進(jìn)行檢測(cè),在內(nèi)存資源相對(duì)空閑時(shí),才啟動(dòng)預(yù)下載任務(wù);避免了用戶正在3D制圖、視頻渲染等使用場(chǎng)景下,不恰當(dāng)?shù)拈_啟預(yù)下載任務(wù),影響用戶對(duì)終端的正常使用。以下為本發(fā)明實(shí)施例的裝置實(shí)施例,對(duì)于裝置實(shí)施例中未詳細(xì)闡述的部分,可以參考上述方法實(shí)施例。上述方法實(shí)施例與裝置實(shí)施例對(duì)應(yīng)。圖9示出了本發(fā)明一個(gè)實(shí)施例提供的預(yù)下載裝置的結(jié)構(gòu)方框圖。該預(yù)下載裝置可以通過專用硬件電路,或,軟硬件的結(jié)合實(shí)現(xiàn)成為圖1中所示的終端的全部或一部分,所述裝置包括:獲取模塊920,用于在存在預(yù)下載任務(wù)時(shí),獲取終端的運(yùn)行信息,所述運(yùn)行信息包括:輸入輸出I/O信息、網(wǎng)絡(luò)信息、處理器信息和內(nèi)存信息中的至少一種;檢測(cè)模塊940,用于檢測(cè)每一種所述運(yùn)行信息是否均符合各自對(duì)應(yīng)的任務(wù)啟動(dòng)條件;啟動(dòng)模塊960,用于當(dāng)每一種所述運(yùn)行信息均符合所述任務(wù)啟動(dòng)條件時(shí),啟動(dòng)所述預(yù)下載任務(wù)。綜上所述,本實(shí)施例提供的預(yù)下載裝置,通過檢測(cè)終端的運(yùn)行信息是否符合任務(wù)啟動(dòng)條件,當(dāng)每一種運(yùn)行信息均符合任務(wù)啟動(dòng)條件時(shí),才啟動(dòng)預(yù)下載任務(wù);解決了在不合適的時(shí)機(jī)啟動(dòng)預(yù)下載過程,會(huì)影響用戶對(duì)終端的正常使用的問題;達(dá)到了在終端處于相對(duì)空閑的狀態(tài)時(shí)才會(huì)啟動(dòng)預(yù)下載任務(wù),預(yù)下載任務(wù)不會(huì)影響用戶對(duì)終端的正常使用的效果。在第一種可能的實(shí)施例中,所述獲取模塊920,用于通過輸入輸出I/O信息消費(fèi)者組件從消息框架組件中獲取所述I/O信息,所述I/O信息是由輸入輸出I/O信息生產(chǎn)者組件向所述消息框架組件提供的。所述檢測(cè)模塊940,用于檢測(cè)所述I/O信息中的I/O訪問參數(shù)是否低于第一閾值。在第二種可能的實(shí)施例中,所述獲取模塊920,用于下載測(cè)試文件;在下載過程中,通過網(wǎng)絡(luò)過濾驅(qū)動(dòng)過濾出與所述測(cè)試文件對(duì)應(yīng)的下載流量;根據(jù)所述下載流量計(jì)算出所述網(wǎng)絡(luò)信息。所述檢測(cè)模塊940,用于檢測(cè)所述網(wǎng)絡(luò)信息中的下載參數(shù)是否高于第二閾值。在第三種可能的實(shí)施例中,所述獲取模塊920,用于通過操作系統(tǒng)提供的第一應(yīng)用程序編程接口,獲取所述處理器信息;所述檢測(cè)模塊940,用于檢測(cè)所述處理器信息中的處理器占用率是否低于第三閾值。在第四種可能的實(shí)施例中,所述獲取模塊920,用于通過操作系統(tǒng)提供的第二應(yīng)用程序編程接口,獲取所述內(nèi)存信息;所述檢測(cè)模塊940,用于檢測(cè)所述內(nèi)存信息中的內(nèi)存占用率是否低于第四閾值。需要說明的是:上述實(shí)施例提供的預(yù)下載裝置在對(duì)目標(biāo)文件進(jìn)行預(yù)下載時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將終端的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的預(yù)下載裝置與預(yù)下載方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。請(qǐng)參考圖10,其示出了本發(fā)明一個(gè)實(shí)施例提供的終端的結(jié)構(gòu)示意圖。該終端可以是圖1所示實(shí)施環(huán)境中的終端。終端用于實(shí)施上述方法實(shí)施例提供的終端側(cè)的預(yù)下載方法。具體來講:所述終端1000包括中央處理單元(CPU)1001、包括隨機(jī)存取存儲(chǔ)器(RAM)1002和只讀存儲(chǔ)器(ROM)1003的系統(tǒng)存儲(chǔ)器1004,以及連接系統(tǒng)存儲(chǔ)器1004和中央處理單元1001的系統(tǒng)總線1005。所述終端1000還包括幫助計(jì)算機(jī)內(nèi)的各個(gè)器件之間傳輸信息的基本輸入/輸出系統(tǒng)(I/O系統(tǒng))1006,和用于存儲(chǔ)操作系統(tǒng)1013、應(yīng)用程序1014和其他程序模塊1015的大容量存儲(chǔ)設(shè)備1007。所述基本輸入/輸出系統(tǒng)1006包括有用于顯示信息的顯示器1008和用于用戶輸入信息的諸如鼠標(biāo)、鍵盤之類的輸入設(shè)備1009。其中所述顯示器1008和輸入設(shè)備1009都通過連接到系統(tǒng)總線1005的輸入輸出控制器1010連接到中央處理單元1001。所述基本輸入/輸出系統(tǒng)1006還可以包括輸入輸出控制器1010以用于接收和處理來自鍵盤、鼠標(biāo)、或電子觸控筆等多個(gè)其他設(shè)備的輸入。類似地,輸入輸出控制器1010還提供輸出到顯示屏、打印機(jī)或其他類型的輸出設(shè)備。所述大容量存儲(chǔ)設(shè)備1007通過連接到系統(tǒng)總線1005的大容量存儲(chǔ)控制器(未示出)連接到中央處理單元1001。所述大容量存儲(chǔ)設(shè)備1007及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為終端1000提供非易失性存儲(chǔ)。也就是說,所述大容量存儲(chǔ)設(shè)備1007可以包括諸如硬盤或者CD-ROM驅(qū)動(dòng)器之類的計(jì)算機(jī)可讀介質(zhì)(未示出)。不失一般性,所述計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括RAM、ROM、EPROM、EEPROM、閃存或其他固態(tài)存儲(chǔ)其技術(shù),CD-ROM、DVD或其他光學(xué)存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備。當(dāng)然,本領(lǐng)域技術(shù)人員可知所述計(jì)算機(jī)存儲(chǔ)介質(zhì)不局限于上述幾種。上述的系統(tǒng)存儲(chǔ)器1004和大容量存儲(chǔ)設(shè)備1007可以統(tǒng)稱為存儲(chǔ)器。根據(jù)本發(fā)明的各種實(shí)施例,所述終端1000還可以通過諸如因特網(wǎng)等網(wǎng)絡(luò)連接到網(wǎng)絡(luò)上的遠(yuǎn)程計(jì)算機(jī)運(yùn)行。也即終端1000可以通過連接在所述系統(tǒng)總線1005上的網(wǎng)絡(luò)接口單元1010連接到網(wǎng)絡(luò)1012,或者說,也可以使用網(wǎng)絡(luò)接口單元1010來連接到其他類型的網(wǎng)絡(luò)或遠(yuǎn)程計(jì)算機(jī)系統(tǒng)(未示出)。所述存儲(chǔ)器還包括一個(gè)或者一個(gè)以上的程序,所述一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器執(zhí)行。當(dāng)該終端1000為終端時(shí),上述一個(gè)或者一個(gè)以上程序包含用于執(zhí)行上述方法實(shí)施例提供的終端側(cè)的預(yù)下載方法的指令。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁1 2 3