[0143]當(dāng)檢查結(jié)果為是時(shí),則判斷出所述第一文件沒(méi)有被推送到所述第一服務(wù)器;當(dāng)檢查結(jié)果為否時(shí),則判斷出所述第一文件已被推送到所述第一服務(wù)器。
[0144]再進(jìn)一步地,處理器901接收到文件推送通知指令包括:接收第二服務(wù)器發(fā)送的文件推送通知指令,所述文件推送通知指令為所述第二服務(wù)器接收到客戶端上傳的第一文件后推送服務(wù)器發(fā)送的指令,用于指示將第一文件推送到第一服務(wù)器。
[0145]再進(jìn)一步地,處理器901查詢所述第一服務(wù)器中的已緩存文件索引,檢測(cè)所述第一文件是否存在所述第一服務(wù)器中包括:
[0146]向所述第一服務(wù)器發(fā)送查詢指令;所述查詢指令用于指示所述第一服務(wù)器查詢已緩存文件索引;
[0147]接收所述第一服務(wù)器返回的查詢結(jié)果信息;所述查詢結(jié)果信息包括所述第一服務(wù)器根據(jù)所述查詢指令,查詢所述第一文件是否存在已緩存文件索引中;
[0148]根據(jù)所述查詢結(jié)果信息檢測(cè)出所述第一文件是否存在所述第一服務(wù)器中。
[0149]下面結(jié)合圖10示出的本發(fā)明提供的服務(wù)器的結(jié)構(gòu)示意圖,對(duì)應(yīng)上述方法項(xiàng)來(lái)描述就近服務(wù)器的實(shí)施方式,服務(wù)器100可以包括推送文件接收模塊1000、下載請(qǐng)求獲取模塊1002和文件發(fā)送模塊1004,其中
[0150]推送文件接收模塊1000用于接收推送服務(wù)器推送的第一文件;
[0151]具體地,該推送服務(wù)器為上述圖5至圖9任一實(shí)施例的推送服務(wù)器;
[0152]下載請(qǐng)求獲取模塊1002用于獲取客戶端發(fā)送的文件下載請(qǐng)求信息;
[0153]文件發(fā)送模塊1004用于根據(jù)所述文件下載請(qǐng)求信息將所述第一文件發(fā)送給所述客戶端。
[0154]具體地,如圖11示出的本發(fā)明提供的服務(wù)器的另一實(shí)施例的結(jié)構(gòu)示意圖,服務(wù)器100包括推送文件接收模塊1000、下載請(qǐng)求獲取模塊1002和文件發(fā)送模塊1004外,還可以包括緩存文件索引建立模塊1006,用于在推送文件接收模塊1000接收推送服務(wù)器推送的第一文件之前,建立已緩存文件索引,緩存文件索引建立模塊1006可以包括接收緩存單元10060、緩存記錄單元10062和文件刪除單元10064,其中:
[0155]接收緩存單元10060用于接收并緩存推送服務(wù)器推送的文件,
[0156]緩存記錄單元10062用于將所述文件對(duì)應(yīng)的唯一標(biāo)識(shí)記錄在已緩存文件索引中;所述已緩存文件索引記錄有當(dāng)前緩存的所有推送文件各自對(duì)應(yīng)的唯一標(biāo)識(shí);所述文件對(duì)應(yīng)的唯一標(biāo)識(shí)為根據(jù)預(yù)設(shè)算法生成的所述文件對(duì)應(yīng)的唯一標(biāo)識(shí);
[0157]文件刪除單元10064用于根據(jù)緩存大小刪除最早接收到的推送文件,并在所述已緩存文件索引中刪除所述早接收到的推送文件對(duì)應(yīng)的唯一標(biāo)識(shí)。
[0158]再進(jìn)一步地,如圖12示出的本發(fā)明提供的服務(wù)器的另一實(shí)施例的結(jié)構(gòu)示意圖,月艮務(wù)器100包括推送文件接收模塊1000、下載請(qǐng)求獲取模塊1002、文件發(fā)送模塊1004和緩存文件索引建立模塊1006外,還可以包括查詢指令接收模塊1008、查詢生成模塊10010和查詢結(jié)果發(fā)送模塊10012,其中
[0159]查詢指令接收模塊1008用于在推送文件接收模塊1000接收推送服務(wù)器推送的第一文件之前,接收所述推送服務(wù)器發(fā)送的查詢指令;
[0160]查詢生成模塊10010用于根據(jù)所述查詢指令查詢所述第一文件對(duì)應(yīng)的唯一標(biāo)識(shí)是否存在所述已緩存文件索引中,并生成查詢結(jié)果信息;
[0161]查詢結(jié)果發(fā)送模塊10012用于將所述查詢結(jié)果信息發(fā)送給所述推送服務(wù)器。
[0162]可理解的是,服務(wù)器100中各模塊的功能可對(duì)應(yīng)參考上述各方法實(shí)施例中圖4實(shí)施例的具體實(shí)現(xiàn)方式,這里不再贅述。
[0163]請(qǐng)參閱圖13,圖13是本發(fā)明提供的另一實(shí)施例的服務(wù)器的結(jié)構(gòu)示意圖。其中,如圖13所示,該服務(wù)器130可以包括:至少一個(gè)處理器1301,例如CPU,至少一個(gè)網(wǎng)絡(luò)接口1303,存儲(chǔ)器1304,至少一個(gè)通信總線1302。其中,通信總線1302用于實(shí)現(xiàn)這些組件之間的連接通信。存儲(chǔ)器1304可以是高速RAM存儲(chǔ)器,也可以是非不穩(wěn)定的存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤存儲(chǔ)器。存儲(chǔ)器1304可選的還可以是至少一個(gè)位于遠(yuǎn)離前述處理器1301的存儲(chǔ)裝置。如圖13所示,作為一種計(jì)算機(jī)存儲(chǔ)介質(zhì)的存儲(chǔ)器1304中可以包括操作系統(tǒng)、網(wǎng)絡(luò)通信模塊以及文件預(yù)推送處理程序。
[0164]在圖13所示的服務(wù)器130中,網(wǎng)絡(luò)接口 1003主要用于連接消息發(fā)送端(即推送服務(wù)器或各客戶端)和消息接收端(即推送服務(wù)器或各客戶端)并與之進(jìn)行數(shù)據(jù)通信;而處理器1301可以用于調(diào)用存儲(chǔ)器1304中存儲(chǔ)的信息發(fā)送處理程序,并執(zhí)行以下操作:
[0165]接收推送服務(wù)器推送的第一文件;所述第一文件為所述推送服務(wù)器通過(guò)圖1至圖3任一項(xiàng)實(shí)施例的方法而推送的第一文件;
[0166]獲取客戶端發(fā)送的文件下載請(qǐng)求信息,根據(jù)所述文件下載請(qǐng)求信息將所述第一文件發(fā)送給所述客戶端。
[0167]具體地,處理器1301在所述接收推送服務(wù)器推送的第一文件之前,建立已緩存文件索引,包括:
[0168]接收并緩存推送服務(wù)器推送的文件,將所述文件對(duì)應(yīng)的唯一標(biāo)識(shí)記錄在已緩存文件索引中;所述已緩存文件索引記錄有當(dāng)前緩存的所有推送文件各自對(duì)應(yīng)的唯一標(biāo)識(shí);所述文件對(duì)應(yīng)的唯一標(biāo)識(shí)為根據(jù)預(yù)設(shè)算法生成的所述文件對(duì)應(yīng)的唯一標(biāo)識(shí);
[0169]根據(jù)緩存大小刪除最早接收到的推送文件,并在所述已緩存文件索引中刪除所述早接收到的推送文件對(duì)應(yīng)的唯一標(biāo)識(shí)。
[0170]進(jìn)一步地,處理器1301接收推送服務(wù)器推送的第一文件之前,還包括:
[0171]接收所述推送服務(wù)器發(fā)送的查詢指令;
[0172]根據(jù)所述查詢指令查詢所述第一文件對(duì)應(yīng)的唯一標(biāo)識(shí)是否存在所述已緩存文件索引中,并生成查詢結(jié)果信息;
[0173]將所述查詢結(jié)果信息發(fā)送給所述推送服務(wù)器。
[0174]進(jìn)一步地,如圖14示出的本發(fā)明提供的文件預(yù)推送系統(tǒng)的結(jié)構(gòu)示意圖,文件預(yù)推送系統(tǒng)140包括推送服務(wù)器1400和第一服務(wù)器1402,其中
[0175]該推送服務(wù)器1400可以為上述圖5到圖9任一個(gè)實(shí)施例中的推送服務(wù)器;這里不再贅述。
[0176]該第一服務(wù)器1402可以為上述圖10和圖13任一個(gè)實(shí)施例中的服務(wù)器;這里不再贅述。
[0177]可理解的是,文件預(yù)推送系統(tǒng)140還可以包括第二服務(wù)器1404,推送服務(wù)器1400從第二服務(wù)器1404接收到文件推送通知指令;而且文件預(yù)推送系統(tǒng)140還可以多個(gè)推送服務(wù)器1400、多個(gè)第一服務(wù)器1402以及多個(gè)第二服務(wù)器1404。
[0178]綜上所述,實(shí)施本發(fā)明實(shí)施例,先通過(guò)本端的文件推送記錄判斷文件是否已被推送到第一服務(wù)器,若判斷已被推送則不執(zhí)行再推送,若判斷沒(méi)有被推送則查詢第一服務(wù)器中的已緩存文件索引,檢測(cè)所要推送的文件是否緩存在第一服務(wù)器中,若有緩存則不執(zhí)行推送,若沒(méi)有緩存則將文件推送到第一服務(wù)器,避免了推送重復(fù)文件,降低網(wǎng)絡(luò)流量成本,且避免每次推送都用信令到對(duì)點(diǎn)查詢,解決了現(xiàn)有技術(shù)中造成的預(yù)推送重復(fù)文件的流量成本的浪費(fèi),或者需要消耗大量信令進(jìn)行查詢的技術(shù)問(wèn)題,而且在節(jié)日高峰時(shí)段,無(wú)需開啟柔性措施,避免接收方需要回源產(chǎn)生的下載時(shí)延增加的問(wèn)題,大大降低了接收方下載文件的時(shí)延。
[0179]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random AccessMemory, RAM)等。
[0180]以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【主權(quán)項(xiàng)】
1.一種文件預(yù)推送方法,其特征在于,包括: 接收文件推送通知指令,所述文件推送通知指令用于指示將第一文件推送到第一服務(wù)器; 根據(jù)所述文件推送通知指令和文件推送記錄判斷所述第一文件是否已被推送到所述第一服務(wù)器;所述文件推送記錄包括已完成推送的文件信息; 當(dāng)判斷結(jié)果為否時(shí),查詢所述第一服務(wù)器中的已緩存文件索引,檢測(cè)所述第一文件是否存在所述第一服務(wù)器中;所述已緩存文件索引包括當(dāng)前緩存在所述第一服務(wù)器中的文件信息; 當(dāng)檢測(cè)結(jié)果為是時(shí),則不執(zhí)行將所述第一文件推送到所述第一服務(wù)器。2.如權(quán)利要求1所述的方法,其特征在于,所述文件推送記錄為已推送文件索引,在所述根據(jù)文件推送記錄判斷所述第一文件是否已被推送到所述第一服務(wù)器之前,建立所述已推送文件索引,包括: 根據(jù)預(yù)設(shè)算法生成已完成推送的文件對(duì)應(yīng)的唯一標(biāo)識(shí); 將所述已完成推送的文件對(duì)應(yīng)的唯一標(biāo)識(shí)以及推送的目的服務(wù)器記錄在所述已推送文件索引中; 所述根據(jù)文件推送記錄判斷所述第一文件是否已被推送到所述第一服務(wù)器包括: 根據(jù)所述預(yù)設(shè)算法生成所述第一文件對(duì)應(yīng)的唯