詢所述第一服務器中的已緩存文件索引,檢測所述第一文件是否存在所述第一服務器中;
[0053]具體地,該已緩存文件索引包括當前緩存在該第一服務器中的文件信息,該第一服務器針對緩存的文件建立該已緩存文件索引,并維護更新該已緩存文件索引,即可以根據(jù)緩存大小刪除最早接收到的推送文件,然后在該已緩存文件索引中刪除該早接收到的推送文件對應的唯一標識,例如緩存不夠需要刪除一部分文件時,可以刪除最早接收到的推送文件;當檢測結(jié)果為是時,即通過查詢該第一服務器中的已緩存文件索引,檢測出該第一文件存在該第一服務器中,則執(zhí)行步驟S108,否則執(zhí)行步驟S106 ;
[0054]步驟S106:根據(jù)所述文件推送通知指令將所述第一文件推送到所述第一服務器;
[0055]具體地,本發(fā)明實施例的步驟S106還可以為再執(zhí)行其他的判斷或檢測來進一步該第一文件是否被推送到該第一服務器,并在最后獲知該第一文件沒有被推送到第一服務器時,根據(jù)文件推送通知指令將該第一文件推送到該第一服務器,本發(fā)明實施例不作限定;
[0056]步驟S108:不執(zhí)行將所述第一文件推送到所述第一服務器。
[0057]實施本發(fā)明實施例,先通過本端的文件推送記錄判斷文件是否已被推送到第一服務器,若判斷已被推送則不執(zhí)行再推送,若判斷沒有被推送則查詢第一服務器中的已緩存文件索引,檢測所要推送的文件是否緩存在第一服務器中,若有緩存則不執(zhí)行推送,若沒有緩存則將文件推送到第一服務器,避免了推送重復文件,降低網(wǎng)絡流量成本,且避免每次推送都用信令到對點查詢,解決了現(xiàn)有技術(shù)中造成的預推送重復文件的流量成本的浪費,或者需要消耗大量信令進行查詢的技術(shù)問題。
[0058]進一步地,如圖2示出的本發(fā)明提供的文件預推送方法的另一實施例的流程示意圖,本發(fā)明實施例中的文件推送記錄可以為已推送文件索弓I,該方法包括:
[0059]步驟S200:根據(jù)預設算法生成已完成推送的文件對應的唯一標識;
[0060]具體地,推送服務器將文件推送到某服務器后,可以利用消息摘要算法第五版(Message Digest Algorithm, MD5)或安全散列算法(Secure Hash Algorithm, SHA)算法等算法,將文件生成對應的唯一標識。
[0061]步驟S202:將所述已完成推送的文件對應的唯一標識以及推送的目的服務器記錄在所述已推送文件索引中;
[0062]步驟S204:接收文件推送通知指令;
[0063]具體地,可以參考上述圖1實施例中的步驟SlOO ;這里不再贅述。
[0064]步驟S206:根據(jù)所述預設算法生成所述第一文件對應的唯一標識;
[0065]具體地,推送服務器根據(jù)步驟S200中采用的預設算法生成該第一文件對應的唯—標識。
[0066]步驟S208:查看所述第一文件對應的唯一標識是否存在于所述已推送文件索引中;
[0067]具體地,當查看到該第一文件對應的唯一標識存在于該已推送文件索引中,則判斷出該第一文件已被推送到該第一服務器,執(zhí)行步驟S214 ;當查看到該第一文件對應的唯一標識不存在于該已推送文件索引中,則判斷出該第一文件沒有被推送到該第一服務器,執(zhí)行步驟S210。
[0068]步驟S210:查詢所述第一服務器中的已緩存文件索引,檢測所述第一文件是否存在所述第一服務器中;
[0069]具體地,當檢測結(jié)果為是時,則執(zhí)行步驟S214,否則執(zhí)行步驟S212。
[0070]步驟S212:根據(jù)所述文件推送通知指令將所述第一文件推送到所述第一服務器;
[0071]具體地,步驟S210至步驟S212可以參考上述圖1實施例中步驟S104至步驟S106,這里不再贅述。
[0072]步驟S214:不執(zhí)行將所述第一文件推送到所述第一服務器。
[0073]再進一步地,如圖3示出的本發(fā)明提供的文件預推送方法的另一實施例的流程示意圖,本發(fā)明實施例中的文件推送記錄還可以包括已完成推送文件對應的推送時間,該方法包括:
[0074]步驟S300:根據(jù)預設算法生成已完成推送的文件對應的唯一標識;
[0075]步驟S302:將所述已完成推送的文件對應的唯一標識以及推送的目的服務器記錄在所述已推送文件索引中;
[0076]步驟S304:接收文件推送通知指令;
[0077]步驟S306:根據(jù)所述預設算法生成所述第一文件對應的唯一標識;
[0078]具體地,步驟S300至步驟S306可以參考上述圖2實施例中的步驟S200至步驟S206,這里不再贅述。
[0079]步驟S308:查看所述第一文件對應的唯一標識是否存在于所述已推送文件索引中;
[0080]具體地,當查看結(jié)果為是時,執(zhí)行步驟S310 ;當查看結(jié)果為否時,則判斷出該第一文件沒有被推送到該第一服務器,執(zhí)行步驟S312 ;
[0081]步驟S310:檢查所述第一文件對應的推送時間是否超過預設的推送期限;
[0082]具體地,本發(fā)明實施例中的文件推送記錄還可以包括已完成推送文件對應的推送時間,即推送服務器可以按需求設置推送期限,比如可以針對就近服務器的緩存大小來設置推送期限(即推送過期時間),比如2天、3天等;當該推送服務器根據(jù)該第一文件被推送時的推送時間,以及當前時間來檢查該第一文件是否超過了預設的推送期限,當檢查結(jié)果為是時,則判斷出所述第一文件沒有被推送到所述第一服務器,執(zhí)行步驟S312;當檢查結(jié)果為否時,則判斷出所述第一文件已被推送到所述第一服務器;執(zhí)行步驟S316。
[0083]步驟S312:查詢所述第一服務器中的已緩存文件索引,檢測所述第一文件是否存在所述第一服務器中;
[0084]步驟S314:根據(jù)所述文件推送通知指令將所述第一文件推送到所述第一服務器;
[0085]具體地,步驟S312至步驟S314可以參考上述圖1實施例中步驟S104至步驟S106,這里不再贅述。
[0086]步驟S316:不執(zhí)行將所述第一文件推送到所述第一服務器。
[0087]再進一步地,本發(fā)明各個實施例中查詢所述第一服務器中的已緩存文件索引,檢測所述第一文件是否存在所述第一服務器中可以包括:
[0088]推送服務器向該第一服務器發(fā)送查詢指令;該查詢指令用于指示該第一服務器查詢已緩存文件索引;接收該第一服務器返回的查詢結(jié)果信息;該查詢結(jié)果信息包括該第一服務器根據(jù)該查詢指令,查詢該第一文件是否存在已緩存文件索引中;根據(jù)該查詢結(jié)果信息檢測出該第一文件是否存在該第一服務器中。
[0089]為了便于更好地實施本發(fā)明實施例的上述方案,下面從就近服務器側(cè)來描述本發(fā)明文件預推送方法的技術(shù)方案,如圖4示出的本發(fā)明提供的文件預推送方法的另一實施例的流程示意圖,包括:
[0090]步驟S400:接收推送服務器推送的第一文件;
[0091]具體地,服務器接收到推送服務器推送的第一文件,該第一文件為推送服務器通過上述圖1至圖3任意實施例中的推送方法而推送的第一文件;
[0092]步驟S402:獲取客戶端發(fā)送的文件下載請求信息,根據(jù)所述文件下載請求信息將所述第一文件發(fā)送給所述客戶端。
[0093]具體地,服務器根據(jù)客戶端發(fā)送的文件下載請求信息,向客戶端發(fā)送該第一文件,客戶端下載該第一文件。
[0094]進一步地,本發(fā)明實施例中服務器在接收推送服務器推送的第一文件之前,建立已緩存文件索引,具體可以包括:接收并緩存推送服務器推送的文件,將該文件對應的唯一標識記錄在已緩存文件索引中;并可以根據(jù)緩存大小刪除最早接收到的推送文件,并在該已緩存文件索引中刪除該早接收到的推送文件對應的唯一標識。
[0095]具體地,該已緩存文件索引記錄有當前緩存的所有推送文件各自對應的唯一標識;該文件對應的唯一標識為根據(jù)預設算法生成的該文件對應的唯一標識;該預設算法為推送服務器端采用的算法,可以包括MD5或SHA算法等;且服務器可以根據(jù)自身緩存大小來刪除推送文件,比如當緩存不夠需要刪除一部分文件時,可以刪除最早接收到的推送文件,并在該已緩存文件索引中刪除該早接收到的推送文件對應的唯一標識,以維護更新該已緩存文件索引。
[0096]再進一步地,在步驟S400之前,還可以包括:服務器接收該推送服務器發(fā)送的查詢指令;根據(jù)該查詢指令查詢該第一文件對應的唯一標識是否存在該已緩存文件索引中,并生成查詢結(jié)果信息;將該查詢結(jié)果信息發(fā)送給該推送服務器。
[0097]具體地,推送服務器需要查詢要推送的第一文件是否存在于該服務器的緩存中,那么向該服務器發(fā)送查詢指令,該服務器根據(jù)查詢指令在已緩存文件索引中進行查詢,看該第一文件是否存在于緩存中,并將查詢結(jié)果信息返回該推送服務器。
[0098]需要說明的是,本發(fā)明圖4實施例中的【具體實施方式】可以對應參考圖1至圖3實施例中的描述,這里不再贅述。
[0099]通過實施本發(fā)明實施例,先通過本端的文件推送記錄判斷文件是否已被推送到第一服務器,若判斷已被推送則不執(zhí)行再推送,若判斷沒