用函數(shù)的調(diào)用地址調(diào)用相應(yīng)的系統(tǒng)調(diào)用函數(shù)(_ap)來分配一段存儲空間,并在分配的存儲空間中寫入動態(tài)鏈接庫(SO)的路徑以及函數(shù)調(diào)用參數(shù),該動態(tài)鏈接庫是需要注入的預(yù)設(shè)代碼。
[0023]步驟b,遠(yuǎn)程調(diào)用進(jìn)程的用于加載動態(tài)鏈接庫的系統(tǒng)調(diào)用函數(shù)以根據(jù)路徑加載動態(tài)鏈接庫。
[0024]具體地,終端通過輔助應(yīng)用根據(jù)用于加載動態(tài)鏈接庫的系統(tǒng)調(diào)用函數(shù)的調(diào)用地址調(diào)用相應(yīng)的系統(tǒng)調(diào)用函數(shù)(dlopen),以根據(jù)存儲空間中寫入的路徑加載相應(yīng)的動態(tài)鏈接庫。
[0025]步驟C,用于遠(yuǎn)程調(diào)用所述進(jìn)程的用于操作動態(tài)鏈接庫的系統(tǒng)調(diào)用函數(shù)獲取所述動態(tài)鏈接庫中用于處理下載資源的函數(shù)的函數(shù)地址。
[0026]具體地,終端通過輔助應(yīng)用根據(jù)用于操作動態(tài)鏈接庫的系統(tǒng)調(diào)用函數(shù)的調(diào)用地址調(diào)用相應(yīng)的系統(tǒng)調(diào)用函數(shù)(dlsym),以根據(jù)存儲空間中寫入的函數(shù)調(diào)用參數(shù)從加載的動態(tài)鏈接庫中獲取函數(shù)地址。
[0027]步驟d,根據(jù)獲取的函數(shù)地址執(zhí)行相應(yīng)的函數(shù)。
[0028]具體地,獲取的函數(shù)地址的函數(shù)用于處理下載資源,主要用于獲取社交會話中產(chǎn)生的消息;若獲取到的消息是資源共享消息,則獲取消息中的資源標(biāo)識;根據(jù)當(dāng)前登錄所述社交應(yīng)用的用戶標(biāo)識和資源標(biāo)識生成資源獲取請求;向社交應(yīng)用所屬的社交應(yīng)用服務(wù)器發(fā)送資源獲取請求,使社交應(yīng)用服務(wù)器為用戶標(biāo)識分配資源標(biāo)識對應(yīng)的資源。
[0029]本實(shí)施例中,通過在進(jìn)程中注入預(yù)設(shè)的代碼,并調(diào)用動態(tài)鏈接庫以實(shí)現(xiàn)開啟高速下載通道獲取更多的資源,從而實(shí)現(xiàn)資源下載速度的提升。
[0030]如圖2所示,一種資源下載裝置,所述裝置包括:
注入模塊200,用于將預(yù)設(shè)代碼注入資源下載客戶端的下載進(jìn)程中;
第一獲取模塊201,用于通過所述進(jìn)程中的所述預(yù)設(shè)代碼獲取資源共享方提供的片源數(shù)據(jù); 第一判斷模塊202,用于當(dāng)判斷所述片源數(shù)據(jù)與正在下載的片源數(shù)據(jù)的數(shù)據(jù)類型相同,并且所述片源的ed2k地址與正在下載的片源的ed2k地址相同,則,
開啟模塊203,用于開啟資源通道并向所述資源共享方所述的第三方服務(wù)器發(fā)送資源獲取請求,使所述第三方服務(wù)器通過所述資源通道傳輸包含片源數(shù)據(jù)的資源。
[0031]在其中一個實(shí)施例中,所述注入模塊200包括:
第一調(diào)用單元,用于遠(yuǎn)程調(diào)用社交應(yīng)用的進(jìn)程的用于分配存儲空間的系統(tǒng)調(diào)用函數(shù)以分配存儲空間,并在存儲空間中寫入動態(tài)鏈接庫的路徑;
第二調(diào)用單元,遠(yuǎn)程調(diào)用進(jìn)程的用于加載動態(tài)鏈接庫的系統(tǒng)調(diào)用函數(shù)以根據(jù)路徑加載動態(tài)鏈接庫;
處理單元,用于遠(yuǎn)程調(diào)用所述進(jìn)程的用于操作動態(tài)鏈接庫的系統(tǒng)調(diào)用函數(shù)獲取所述動態(tài)鏈接庫中用于處理下載資源的函數(shù)的函數(shù)地址;
執(zhí)行單元,用于根據(jù)獲取的函數(shù)地址執(zhí)行相應(yīng)的函數(shù)。
[0032]在其中一個實(shí)施例中,所述預(yù)設(shè)代碼通過輔助應(yīng)用注入所述下載進(jìn)程中,所述裝置還包括:
接收模塊204,用于通過所述進(jìn)程接收所述第三方服務(wù)器反饋的資源信息;
第二獲取模塊205,用于通過所述輔助應(yīng)用獲取來自所述進(jìn)程的所述資源信息;
展示模塊206,用于展示所述資源信息,和/或,根據(jù)獲取的資源信息進(jìn)行統(tǒng)計,得到統(tǒng)計結(jié)果。
[0033]在其中一個實(shí)施例中,所述預(yù)設(shè)代碼通過輔助應(yīng)用被注入所述資源下載客戶端的進(jìn)程中,所述裝置還包括:
第三獲取模塊207,通過所述輔助應(yīng)用獲取所述資源下載客戶端的下載數(shù)據(jù);
第二判斷模塊208,用于根據(jù)所述下載數(shù)據(jù)判斷是否需要開啟高速通道加速,和/或開啟離線下載加速;
調(diào)用模塊209,用于將所述判斷結(jié)果傳遞給所述進(jìn)程,使所述進(jìn)程調(diào)用用于開啟高速加速通道的函數(shù)進(jìn)行加速下載,或者,調(diào)用用于開啟離線加速通道的函數(shù)進(jìn)行離線加速下載。
[0034]在其中一個實(shí)施例中,所述裝置還包括:
搜索模塊210,用于根據(jù)所述輔助應(yīng)用搜索所述資源下載客戶端中是否存在其他的進(jìn)程;
第三判斷模塊211,用于判斷所述進(jìn)程是否為無用進(jìn)程;
關(guān)閉模塊212,用于當(dāng)判斷結(jié)果為是,則關(guān)閉所述無用進(jìn)程以釋放所述無用進(jìn)程的內(nèi)存。
[0035]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,該程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,如本發(fā)明實(shí)施例中,該程序可存儲于終端的存儲介質(zhì)中,并被該終端中的至少一個處理器執(zhí)行,以實(shí)現(xiàn)包括如上述各方法的實(shí)施例的流程。其中,該存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,R0M)或隨機(jī)存儲記憶體(Random Access Memory,RAM)等。
[0036]以上該實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種資源下載方法,其特征在于,所述方法包括: 將預(yù)設(shè)代碼注入資源下載客戶端的下載進(jìn)程中; 通過所述進(jìn)程中的所述預(yù)設(shè)代碼獲取資源共享方提供的片源數(shù)據(jù); 若判斷所述片源數(shù)據(jù)與正在下載的片源數(shù)據(jù)的數(shù)據(jù)類型相同,并且所述片源的ed2k地址與正在下載的片源的ed2k地址相同,則, 開啟資源通道并向所述資源共享方所述的第三方服務(wù)器發(fā)送資源獲取請求,使所述第三方服務(wù)器通過所述資源通道傳輸包含片源數(shù)據(jù)的資源。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將預(yù)設(shè)代碼注入資源下載客戶端的下載進(jìn)程中的步驟包括: 遠(yuǎn)程調(diào)用社交應(yīng)用的進(jìn)程的用于分配存儲空間的系統(tǒng)調(diào)用函數(shù)以分配存儲空間,并在存儲空間中寫入動態(tài)鏈接庫的路徑; 遠(yuǎn)程調(diào)用進(jìn)程的用于加載動態(tài)鏈接庫的系統(tǒng)調(diào)用函數(shù)以根據(jù)路徑加載動態(tài)鏈接庫;遠(yuǎn)程調(diào)用所述進(jìn)程的用于操作動態(tài)鏈接庫的系統(tǒng)調(diào)用函數(shù)獲取所述動態(tài)鏈接庫中用于處理下載資源的函數(shù)的函數(shù)地址; 根據(jù)獲取的函數(shù)地址執(zhí)行相應(yīng)的函數(shù)。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)代碼通過輔助應(yīng)用注入所述下載進(jìn)程中,所述方法還包括: 通過所述進(jìn)程接收所述第三方服務(wù)器反饋的資源信息; 通過所述輔助應(yīng)用獲取來自所述進(jìn)程的所述資源信息; 展示所述資源信息,和/或,根據(jù)獲取的資源信息進(jìn)行統(tǒng)計,得到統(tǒng)計結(jié)果。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)代碼通過輔助應(yīng)用被注入所述資源下載客戶端的進(jìn)程中,所述方法還包括: 通過所述輔助應(yīng)用獲取所述資源下載客戶端的下載數(shù)據(jù); 根據(jù)所述下載數(shù)據(jù)判斷是否需要開啟告訴通道加速,和/或開啟離線下載加速; 將所述判斷結(jié)果傳遞給所述進(jìn)程,使所述進(jìn)程調(diào)用用于開啟高速加速通道的函數(shù)進(jìn)行加速下載,或者,調(diào)用用于開啟離線加速通道的函數(shù)進(jìn)行離線加速下載。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述輔助應(yīng)用搜索所述資源下載客戶端中是否存在其他的進(jìn)程; 判斷所述進(jìn)程是否為無用進(jìn)程; 若是,則關(guān)閉所述無用進(jìn)程以釋放所述無用進(jìn)程的內(nèi)存。6.一種資源下載裝置,其特征在于,所述裝置包括: 注入模塊,用于將預(yù)設(shè)代碼注入資源下載客戶端的下載進(jìn)程中; 第一獲取模塊,用于通過所述進(jìn)程中的所述預(yù)設(shè)代碼獲取資源共享方提供的片源數(shù)據(jù); 第一判斷模塊,用于當(dāng)判斷所述片源數(shù)據(jù)與正在下載的片源數(shù)據(jù)的數(shù)據(jù)類型相同,并且所述片源的ed2k地址與正在下載的片源的ed2k地址相同,則, 開啟模塊,用于開啟資源通道并向所述資源共享方所述的第三方服務(wù)器發(fā)送資源獲取請求,使所述第三方服務(wù)器通過所述資源通道傳輸包含片源數(shù)據(jù)的資源。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述注入模塊包括: 第一調(diào)用單元,用于遠(yuǎn)程調(diào)用社交應(yīng)用的進(jìn)程的用于分配存儲空間的系統(tǒng)調(diào)用函數(shù)以分配存儲空間,并在存儲空間中寫入動態(tài)鏈接庫的路徑; 第二調(diào)用單元,遠(yuǎn)程調(diào)用進(jìn)程的用于加載動態(tài)鏈接庫的系統(tǒng)調(diào)用函數(shù)以根據(jù)路徑加載動態(tài)鏈接庫; 處理單元,用于遠(yuǎn)程調(diào)用所述進(jìn)程的用于操作動態(tài)鏈接庫的系統(tǒng)調(diào)用函數(shù)獲取所述動態(tài)鏈接庫中用于處理下載資源的函數(shù)的函數(shù)地址; 執(zhí)行單元,用于根據(jù)獲取的函數(shù)地址執(zhí)行相應(yīng)的函數(shù)。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述預(yù)設(shè)代碼通過輔助應(yīng)用注入所述下載進(jìn)程中,所述裝置還包括: 接收模塊,用于通過所述進(jìn)程接收所述第三方服務(wù)器反饋的資源信息; 第二獲取模塊,用于通過所述輔助應(yīng)用獲取來自所述進(jìn)程的所述資源信息;展示模塊,用于展示所述資源信息,和/或,根據(jù)獲取的資源信息進(jìn)行統(tǒng)計,得到統(tǒng)計結(jié)果O9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述預(yù)設(shè)代碼通過輔助應(yīng)用被注入所述資源下載客戶端的進(jìn)程中,所述裝置還包括: 第三獲取模塊,通過所述輔助應(yīng)用獲取所述資源下載客戶端的下載數(shù)據(jù); 第二判斷模塊,用于根據(jù)所述下載數(shù)據(jù)判斷是否需要開啟高速通道加速,和/或開啟離線下載加速; 調(diào)用模塊,用于將所述判斷結(jié)果傳遞給所述進(jìn)程,使所述進(jìn)程調(diào)用用于開啟高速加速通道的函數(shù)進(jìn)行加速下載,或者,調(diào)用用于開啟離線加速通道的函數(shù)進(jìn)行離線加速下載。10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 搜索模塊,用于根據(jù)所述輔助應(yīng)用搜索所述資源下載客戶端中是否存在其他的進(jìn)程; 第三判斷模塊,用于判斷所述進(jìn)程是否為無用進(jìn)程; 關(guān)閉模塊,用于當(dāng)判斷結(jié)果為是,則關(guān)閉所述無用進(jìn)程以釋放所述無用進(jìn)程的內(nèi)存。
【專利摘要】本發(fā)明的一種資源下載方法和裝置,所述方法包括:將預(yù)設(shè)代碼注入資源下載客戶端的下載進(jìn)程中;通過所述進(jìn)程中的所述預(yù)設(shè)代碼獲取資源共享方提供的片源數(shù)據(jù);若判斷所述片源數(shù)據(jù)與正在下載的片源數(shù)據(jù)的數(shù)據(jù)類型相同,并且所述片源的ed2k地址與正在下載的片源的ed2k地址相同,則開啟資源通道并向所述資源共享方所述的第三方服務(wù)器發(fā)送資源獲取請求,使所述第三方服務(wù)器通過所述資源通道傳輸包含片源數(shù)據(jù)的資源。通過上述方法,加快資源下載的速度。
【IPC分類】G06F9/445
【公開號】CN105677423
【申請?zhí)枴緾N201610014150
【發(fā)明人】曾戟
【申請人】曾戟
【公開日】2016年6月15日
【申請日】2016年1月11日