專利名稱:針對(duì)超時(shí)連接的文件下載方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)通信技術(shù)領(lǐng)域,更為具體地,涉及ー種針對(duì)超時(shí)連接的文件下載方法、裝置和系統(tǒng)。
背景技術(shù):
隨著社會(huì)的進(jìn)步和技術(shù)的發(fā)展,人們?cè)絹?lái)越多地使用無(wú)線接入終端接入網(wǎng)絡(luò)來(lái)獲取信息,其中,尤其以手機(jī)的上網(wǎng)應(yīng)用最為普遍。下載資源是人們?cè)谏暇W(wǎng)體驗(yàn)中經(jīng)常用到的ー種操作,人們根據(jù)各自的需求從網(wǎng)上下載文檔、電影、故事、MP3、應(yīng)用程序等各種資源,以滿足工作、娛樂(lè)等需求。以手機(jī)為主的移動(dòng)終端憑借其隨時(shí)隨地上網(wǎng)的便利性,成為眾多網(wǎng)絡(luò)用戶在上下班途中以及許多不便使用有線網(wǎng)絡(luò)的環(huán)境中的首選網(wǎng)絡(luò)接入終端。 目前,許多下載網(wǎng)站通過(guò)JavaScript (簡(jiǎn)稱JS)來(lái)實(shí)現(xiàn)ー個(gè)倒計(jì)時(shí)的限制功能,在倒計(jì)時(shí)(一般免費(fèi)用戶是2分鐘左右,甚至更久)結(jié)束后才允許用戶進(jìn)行下載操作。例如,國(guó)內(nèi)的站點(diǎn)訊6等,國(guó)外的站點(diǎn)megaupload、fileserve、depositfiles等。而使用現(xiàn)有的C/S架構(gòu)的手機(jī)瀏覽器(下文簡(jiǎn)稱客戶端,客戶端不具有解釋JavaScript的功能)去訪問(wèn)這些站點(diǎn)時(shí)是無(wú)法完成下載操作的,其主要存在的問(wèn)題主要有以下兩點(diǎn)I)由于這種倒計(jì)時(shí)的JavaScript執(zhí)行一般需要在服務(wù)器端執(zhí)行長(zhǎng)達(dá)2分鐘,而客戶端和服務(wù)器之間均有連接超時(shí)策略,這種限制最終導(dǎo)致的結(jié)果是要么服務(wù)器處理超吋,要么客戶端連接超時(shí),并無(wú)法正常顯示倒計(jì)時(shí)結(jié)束后的頁(yè)面;2)由于手機(jī)等移動(dòng)終端中的客戶端不具有解釋JavaScript的功能,因此,在客戶端無(wú)法實(shí)時(shí)顯示出還需等待多少秒才可以進(jìn)行下載操作。在現(xiàn)有的技術(shù)背景下,服務(wù)器在處理客戶端發(fā)起的下載文件頁(yè)面請(qǐng)求中,由于服務(wù)器在與客戶端連接的超時(shí)限制時(shí)間內(nèi)無(wú)法執(zhí)行完全部的JavaScript倒計(jì)時(shí)邏輯,因此無(wú)法將倒計(jì)時(shí)結(jié)束后的頁(yè)面解析給客戶端。最終,用戶在客戶端上也就無(wú)法進(jìn)行下載操作。
發(fā)明內(nèi)容
鑒于上述問(wèn)題,本發(fā)明的目的是提供一種針對(duì)超時(shí)連接的文件下載方法、裝置和系統(tǒng)。根據(jù)本發(fā)明的ー個(gè)方面,提供了一種針對(duì)超時(shí)連接的文件下載方法,包括服務(wù)器根據(jù)客戶端下載文件頁(yè)面的請(qǐng)求從目標(biāo)站點(diǎn)獲取帶有JavaScript倒計(jì)時(shí)邏輯的下載文件頁(yè)面應(yīng)答;服務(wù)器執(zhí)行所述JavaScript倒計(jì)時(shí)邏輯,并在與客戶端的連接超時(shí)前生成倒計(jì)時(shí)控件給客戶端,所述倒計(jì)時(shí)控件的起始時(shí)間為服務(wù)器執(zhí)行的所述JavaScript倒計(jì)時(shí)邏輯中記載的剩余等待時(shí)間;所述客戶端在所述倒計(jì)時(shí)控件中的時(shí)間歸零時(shí)自動(dòng)向所述服務(wù)器發(fā)送倒計(jì)時(shí)結(jié)束請(qǐng)求,通知服務(wù)器將應(yīng)答倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送給客戶端;
服務(wù)器在根據(jù)所述倒計(jì)時(shí)結(jié)束請(qǐng)求將倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送至客戶端以供客戶端執(zhí)行下載操作。根據(jù)本發(fā)明的另一方面,提供了一種針對(duì)超時(shí)連接的文件下載裝置,包括倒計(jì)時(shí)邏輯獲取単元,用于根據(jù)客戶端下載文件頁(yè)面的請(qǐng)求從目標(biāo)站點(diǎn)獲取帶有JavaScript倒計(jì)時(shí)邏輯的下載文件頁(yè)面應(yīng)答;倒計(jì)時(shí)邏輯執(zhí)行単元,用于執(zhí)行所述JavaScript倒計(jì)時(shí)邏輯; 倒計(jì)時(shí)控件生成単元,用于在與客戶端的連接超時(shí)前生成倒計(jì)時(shí)控件給客戶端,所述倒計(jì)時(shí)控件的起始時(shí)間為服務(wù)器執(zhí)行的所述JavaScript倒計(jì)時(shí)邏輯中記載的剩余等待時(shí)間,并且,所述倒計(jì)時(shí)控件中的時(shí)間在歸零時(shí)觸發(fā)從客戶端向服務(wù)器的倒計(jì)時(shí)結(jié)束請(qǐng)求;二次請(qǐng)求處理單元,用于根據(jù)所述倒計(jì)時(shí)結(jié)束請(qǐng)求將倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送至客戶端以供客戶端執(zhí)行下載操作。再一方面,本發(fā)明還提供一種基于移動(dòng)終端的文件下載系統(tǒng),包括移動(dòng)終端和上述的針對(duì)超時(shí)連接的文件下載裝置。利用上述根據(jù)本發(fā)明的針對(duì)超時(shí)連接的文件下載方法及裝置,可以克服客戶端和服務(wù)器之間的超時(shí)連接限制,實(shí)現(xiàn)正常的文件下載;并且由于在客戶端模擬倒計(jì)時(shí)邏輯的過(guò)程中客戶端與服務(wù)器是斷開(kāi)的,也能夠在一定程度上節(jié)省用戶的流量支出。為了實(shí)現(xiàn)上述以及相關(guān)目的,本發(fā)明的ー個(gè)或多個(gè)方面包括后面將詳細(xì)說(shuō)明并在權(quán)利要求中特別指出的特征。下面的說(shuō)明以及附圖詳細(xì)說(shuō)明了本發(fā)明的某些示例性方面。然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的ー些方式。此外,本發(fā)明旨在包括所有這些方面以及它們的等同物。
通過(guò)參考以下結(jié)合附圖的說(shuō)明及權(quán)利要求書的內(nèi)容,并且隨著對(duì)本發(fā)明的更全面理解,本發(fā)明的其它目的及結(jié)果將更加明白及易于理解。在附圖中圖I為根據(jù)本發(fā)明的針對(duì)超時(shí)連接的文件下載方法的流程圖;圖2為根據(jù)本發(fā)明實(shí)施例的客戶端、服務(wù)器和目標(biāo)站點(diǎn)之間的交互過(guò)程;圖3a 圖3c為根據(jù)本發(fā)明ー個(gè)具體實(shí)施例的客戶端應(yīng)答頁(yè)面示意圖;圖4a 圖4e為根據(jù)本發(fā)明另一具體實(shí)施例的客戶端應(yīng)答頁(yè)面示意圖;圖5為根據(jù)本發(fā)明的針對(duì)超時(shí)連接的文件下載裝置的方框圖。在所有附圖中相同的標(biāo)號(hào)指示相似或相應(yīng)的特征或功能。
具體實(shí)施例方式以下將結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例進(jìn)行詳細(xì)描述。為了解決現(xiàn)有技術(shù)中下載文件過(guò)程中由于客戶端和服務(wù)器在連接超時(shí)時(shí)間內(nèi)無(wú)法執(zhí)行完全部的JavaScript倒計(jì)時(shí)邏輯而無(wú)法將倒計(jì)時(shí)結(jié)束后的頁(yè)面解析給客戶端的問(wèn)題,本發(fā)明利用生成的并設(shè)置在客戶端的控件來(lái)模擬倒計(jì)時(shí),而實(shí)際倒計(jì)時(shí)的JavaScript邏輯則在服務(wù)器應(yīng)答客戶端后在服務(wù)器端繼續(xù)執(zhí)行。當(dāng)客戶端倒計(jì)時(shí)控件中的時(shí)間歸零時(shí),客戶端會(huì)自動(dòng)觸發(fā)請(qǐng)求,通知服務(wù)器應(yīng)答倒計(jì)時(shí)JavaScript處理結(jié)束后的頁(yè)面給客戶端,從而使不具有解釋JavaScript的功能的客戶端也可以獲取倒計(jì)時(shí)結(jié)束后的文件下載頁(yè)面,進(jìn)行正常的文件下載操作。需要說(shuō)明的是,本發(fā)明中涉及的移動(dòng)終端主要指手機(jī)等利用移動(dòng)終端瀏覽器和移動(dòng)互聯(lián)網(wǎng)進(jìn)行網(wǎng)絡(luò)訪問(wèn)的終端,本發(fā)明中所述的服務(wù)器指的是支持移動(dòng)終端瀏覽器的后臺(tái)服務(wù)器。圖I示出了根據(jù)本發(fā)明的針對(duì)超時(shí)連接的文件下載方法的流程圖。
如圖I所示,當(dāng)用戶需要利用移動(dòng)終端等不具有解釋JavaScript的功能的客戶端下載文件時(shí),首先通過(guò)客戶端向服務(wù)器發(fā)送針對(duì)目標(biāo)站點(diǎn)的下載文件頁(yè)面請(qǐng)求(步驟S110),服務(wù)器根據(jù)客戶端的下載文件頁(yè)面請(qǐng)求從目標(biāo)站點(diǎn)獲取帶有JavaScript倒計(jì)時(shí)邏輯的下載文件頁(yè)面應(yīng)答(步驟S120),然后,在步驟S130中,服務(wù)器在獲取帶有JavaScript倒計(jì)時(shí)邏輯的下載文件頁(yè)面應(yīng)答后執(zhí)行該JavaScript倒計(jì)時(shí)邏輯,并且在與客戶端的連接超時(shí)前生成倒計(jì)時(shí)控件給客戶端,該倒計(jì)時(shí)控件的起始時(shí)間為服務(wù)器執(zhí)行的JavaScript倒計(jì)時(shí)邏輯中記載的剩余等待時(shí)間。在客戶端的控件是用來(lái)模擬倒計(jì)時(shí),用戶能夠看到倒計(jì)時(shí)的剰余時(shí)間,而實(shí)際倒計(jì)時(shí)的JavaScript邏輯則在服務(wù)器應(yīng)答客戶端后在服務(wù)器端繼續(xù)執(zhí)行??蛻舳嗽诘褂?jì)時(shí)控件中的時(shí)間歸零時(shí)會(huì)自動(dòng)觸發(fā)倒計(jì)時(shí)結(jié)束請(qǐng)求,通知服務(wù)器應(yīng)答倒計(jì)時(shí)JavaScript處理結(jié)束后的頁(yè)面給客戶端;之后,在步驟S150中,服務(wù)器根據(jù)來(lái)自客戶端的倒計(jì)時(shí)結(jié)束請(qǐng)求將倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送至客戶端以供客戶端執(zhí)行下載操作,其中,倒計(jì)時(shí)結(jié)束后的頁(yè)面中含有所述下載文件的下載鏈接。通過(guò)圖I所述的方法流程,可以看出,在不具有解釋JavaScript的功能的客戶端,通過(guò)上述服務(wù)器生成的倒計(jì)時(shí)控件發(fā)送給客戶端,在超時(shí)連接的限制下客戶端和服務(wù)器的連接斷開(kāi)后,倒計(jì)時(shí)控件在客戶端繼續(xù)以與JavaScript倒計(jì)時(shí)邏輯同步的方式模擬倒計(jì)時(shí),并在倒計(jì)時(shí)結(jié)束(倒計(jì)時(shí)時(shí)間歸零吋)自動(dòng)與服務(wù)器建立連接,向服務(wù)器請(qǐng)求倒計(jì)時(shí)結(jié)束后的頁(yè)面,以進(jìn)行下載操作。通過(guò)這種在客戶端模擬倒計(jì)時(shí)邏輯并在倒計(jì)時(shí)結(jié)束時(shí)自動(dòng)請(qǐng)求服務(wù)器的方式,不僅可以克服客戶端和服務(wù)器之間的超時(shí)連接限制,實(shí)現(xiàn)正常的文件下載;并且由于在客戶端模擬倒計(jì)時(shí)邏輯的過(guò)程中客戶端與服務(wù)器是斷開(kāi)的,也能夠在ー定程度上節(jié)省用戶的流量支出。上述倒計(jì)時(shí)控件在客戶端可以以用戶能夠看到倒計(jì)時(shí)的剰余時(shí)間的方式在前臺(tái)執(zhí)行,以便用戶能夠知曉相應(yīng)的倒計(jì)時(shí)剩余秒數(shù);也可以在客戶端的后臺(tái)執(zhí)行。另外,在前臺(tái)執(zhí)行的倒計(jì)時(shí)控件可以以半透明的形式呈現(xiàn),以不影響用戶的其他瀏覽操作。在倒計(jì)時(shí)結(jié)束后,無(wú)需用戶的任何操作,該倒計(jì)時(shí)控件自動(dòng)請(qǐng)求服務(wù)器,獲取倒計(jì)時(shí)結(jié)束后的頁(yè)面,讓用戶完成下載操作。其中,由于不同的目標(biāo)站點(diǎn)響應(yīng)下載文件頁(yè)面請(qǐng)求的下載文件頁(yè)面應(yīng)答格式可能不同,有的會(huì)在下載文件頁(yè)面應(yīng)答中綁定倒計(jì)時(shí)結(jié)束后的下載鏈接頁(yè)面,即將下載鏈接頁(yè)面暗含在JavaScript倒計(jì)時(shí)邏輯中,當(dāng)服務(wù)器執(zhí)行完JavaScript倒計(jì)時(shí)邏輯后不用再次訪問(wèn)目標(biāo)站點(diǎn)就可以獲得對(duì)應(yīng)的下載鏈接頁(yè)面。而有的目標(biāo)站點(diǎn)則可能將倒計(jì)時(shí)結(jié)束后的下載鏈接頁(yè)面放在目標(biāo)站點(diǎn),需要在倒計(jì)時(shí)結(jié)束后由服務(wù)器或者終端再次到目標(biāo)站點(diǎn)更新數(shù)據(jù)以獲取該下載鏈接頁(yè)面。下面以第二種情形為例結(jié)合附圖2進(jìn)ー步詳細(xì)說(shuō)明本發(fā)明針對(duì)具有等待時(shí)間限制網(wǎng)站的文件下載過(guò)程中客戶端、服務(wù)器和目標(biāo)站點(diǎn)之間的交互過(guò)程。
如圖2所示,本實(shí)施例的交互過(guò)程如下I.客戶端向服務(wù)器提交下載文件頁(yè)面請(qǐng)求,此時(shí),客戶端和服務(wù)器建立連接;2.服務(wù)器根據(jù)客戶端的下載文件頁(yè)面請(qǐng)求向目標(biāo)站點(diǎn)請(qǐng)求對(duì)應(yīng)的下載頁(yè)面文件;3.目標(biāo)站點(diǎn)應(yīng)服務(wù)器的請(qǐng)求將相應(yīng)的下載文件頁(yè)面應(yīng)答發(fā)送給服務(wù)器;4.服務(wù)器執(zhí)行下載文件頁(yè)面應(yīng)答中的JavaScript倒計(jì)時(shí)邏輯,并在客戶端和服務(wù)器的超時(shí)連接時(shí)限內(nèi)根據(jù)所執(zhí)行的JavaScript倒計(jì)時(shí)邏輯生成一倒計(jì)時(shí)控件,并在客 戶端和服務(wù)器斷開(kāi)連接前將該倒計(jì)時(shí)控件發(fā)送給客戶端;在本實(shí)施例中,倒計(jì)時(shí)控件為帶有倒計(jì)時(shí)圖片(如GIF圖片)的頁(yè)面應(yīng)答;5.倒計(jì)時(shí)控件在執(zhí)行倒計(jì)時(shí)結(jié)束后(倒計(jì)時(shí)歸零)自動(dòng)請(qǐng)求服務(wù)器,以獲取倒計(jì)時(shí)結(jié)束后的頁(yè)面。其中,在客戶端運(yùn)行倒計(jì)時(shí)控件的過(guò)程中,服務(wù)器和客戶端之間的連接是斷開(kāi)的(由于超時(shí)時(shí)間的限制);6.服務(wù)器在JavaScript倒計(jì)時(shí)邏輯執(zhí)行完畢后向目標(biāo)站點(diǎn)請(qǐng)求更新數(shù)據(jù),即請(qǐng)求倒計(jì)時(shí)結(jié)束后的下載鏈接頁(yè)面;7.目標(biāo)站點(diǎn)根據(jù)服務(wù)器的更新數(shù)據(jù)請(qǐng)求將倒計(jì)時(shí)結(jié)束后的頁(yè)面(即下載鏈接頁(yè)面)發(fā)送至服務(wù)器;8.服務(wù)器將從目標(biāo)站點(diǎn)獲取的倒計(jì)時(shí)結(jié)束后的頁(yè)面(即下載鏈接頁(yè)面)發(fā)送至客戶端;9.用戶在客戶端通過(guò)點(diǎn)擊倒計(jì)時(shí)結(jié)束后的頁(yè)面中的下載鏈接進(jìn)行文件的下載操作。在上述交互過(guò)程中,服務(wù)器所承擔(dān)的數(shù)據(jù)處理工作包括I)服務(wù)器在處理客戶端發(fā)起的下載文件頁(yè)面請(qǐng)求的過(guò)程中,通過(guò)腳本獲取服務(wù)器處理超時(shí)后下載還需要等待的時(shí)間(例如秒數(shù))。2)由于服務(wù)器在超時(shí)時(shí)間內(nèi)無(wú)法執(zhí)行完全部的JavaScript倒計(jì)時(shí)邏輯,客戶端從服務(wù)器獲取的應(yīng)答頁(yè)面中的倒計(jì)時(shí)區(qū)域只能顯示ー個(gè)靜態(tài)的數(shù)字文本,其已不具備動(dòng)態(tài)倒計(jì)時(shí)的功能。因此,服務(wù)器需要在應(yīng)答客戶端前在原倒計(jì)時(shí)頁(yè)面中插入ー倒計(jì)時(shí)控件(比如ー張GIF動(dòng)畫圖片)來(lái)模擬倒計(jì)時(shí)的功能。如果倒計(jì)時(shí)控件以GIF動(dòng)畫片的形式呈現(xiàn),則GIF圖片的內(nèi)容可以是ー個(gè)每秒遞減I的數(shù)字或者ー個(gè)沙漏,該數(shù)字表示當(dāng)前下載需要等待的時(shí)間(単位秒),其初始值是步驟I)中獲取的秒數(shù)。例如當(dāng)前下載操作仍需等待120秒,服務(wù)器就在原頁(yè)面中插入ー張初始數(shù)字為120的圖片。3)在上述步驟2)中,如果客戶端不支持GIF動(dòng)畫圖片,則服務(wù)器在進(jìn)行排版時(shí)需要將GIF圖片的第一幀轉(zhuǎn)換成客戶端支持的圖片。例如當(dāng)前下載還需要等待50秒,服務(wù)器在進(jìn)行排版時(shí)判斷出客戶端不支持GIF而支持JPG,則服務(wù)器將之前生成的GIF圖像的第ー幀(圖片的內(nèi)容為數(shù)字50)轉(zhuǎn)換成JPG格式的圖片。4)由于某些客戶端不支持GIF圖片,類似JPG這種靜態(tài)的圖片不具備動(dòng)態(tài)的倒計(jì)數(shù)功能,服務(wù)器還需要在靜態(tài)圖片旁邊創(chuàng)建ー個(gè)查看倒計(jì)時(shí)剩余時(shí)間的鏈接,在客戶端上點(diǎn)擊這個(gè)鏈接就可以再次觸發(fā)請(qǐng)求服務(wù)器,讓服務(wù)器重新計(jì)算一次下載所需要等待的剰余秒數(shù),也就是重復(fù)I) 3)的步驟。5)在完成上述步驟后,服務(wù)器開(kāi)始應(yīng)答客戶端,并通過(guò)私有協(xié)議通知客戶端在步驟I)中獲取的秒數(shù)后自動(dòng)請(qǐng)求一次服務(wù)器。應(yīng)答客戶端后,服務(wù)器需要繼續(xù)進(jìn)行頁(yè)面中剩余的倒計(jì)時(shí)JavaScript處理,并從下載站點(diǎn)進(jìn)行部分?jǐn)?shù)據(jù)更新操作??蛻舳耸盏椒?wù)器應(yīng)答后,可以看到一個(gè)倒計(jì)數(shù)的GIF動(dòng)畫圖片,毎秒數(shù)字遞減1,由于步驟5中的私有協(xié)議的控制,倒計(jì)時(shí)結(jié)束后客戶端會(huì)自動(dòng)請(qǐng)求服務(wù)器去獲取倒計(jì)時(shí)結(jié)束后的頁(yè)面,在獲得倒計(jì)時(shí)結(jié)束后的頁(yè)面后就可以通過(guò)點(diǎn)擊倒計(jì)時(shí)結(jié)束頁(yè)面中的下載鏈接開(kāi)始下載操作。由于在現(xiàn)有的C/S架構(gòu)的手機(jī)瀏覽器上是沒(méi)有實(shí)現(xiàn)JavaScript倒計(jì)時(shí)功能的,因此無(wú)法成功下載具有等待時(shí)間限制的站點(diǎn)的文件。而通過(guò)上述具體方式可以看出,本發(fā)明提供的技術(shù)方案不僅可以實(shí)現(xiàn)移動(dòng)終端瀏覽器成功下載目標(biāo)站點(diǎn)的文件,還可以極大的提高用戶對(duì)所使用的移動(dòng)終端瀏覽器的認(rèn)同感,而且用戶在下載倒計(jì)時(shí)站點(diǎn)進(jìn)行文件下載時(shí)會(huì)有更好的體驗(yàn)I、用戶不需要等待服務(wù)器長(zhǎng)時(shí)間的倒計(jì)時(shí)JavaScript處理,很快的就可以在客戶端看到下載文件所需要等待的秒數(shù)。 2、倒計(jì)時(shí)結(jié)束后,倒計(jì)時(shí)窗ロ會(huì)自動(dòng)跳轉(zhuǎn)至倒計(jì)時(shí)結(jié)束后的頁(yè)面。因此,用戶可以在等待倒計(jì)時(shí)的過(guò)程中,切換至其他窗ロ,繼續(xù)瀏覽其他網(wǎng)頁(yè)。具體的,作為示例,在現(xiàn)有技術(shù)下,通過(guò)PPC平臺(tái)(Pocket PC,是基于微軟的windows CE、Windows Mobile操作系統(tǒng)的ー種掌上電腦)使用移動(dòng)終端瀏覽器訪問(wèn)http://www. megaupload, com/ d = XF7YRZCJ下載文件,由于下載需要等待I分鐘,而導(dǎo)致服務(wù)器處理超吋,客戶端收到的應(yīng)答頁(yè)面如圖3a所示。由圖3a可知,下載還需要等待55秒,但是由于移動(dòng)終端無(wú)法解析JavaScript倒計(jì)時(shí)邏輯,并且已經(jīng)和服務(wù)器斷開(kāi)連接,因此普通下載按鈕無(wú)法被點(diǎn)擊,用戶無(wú)法完成下載操作。但如果使用本發(fā)明提供的針對(duì)超時(shí)連接的文件下載方法用同樣的客戶端訪問(wèn)http://www. megaupload, com/ d = XF7YRZCJ下載文件,客戶端很快就會(huì)收到如圖3b所示第一次應(yīng)答頁(yè)面。圖3b中的倒計(jì)時(shí)圖片表明下載還需要等待54秒,在54秒倒計(jì)時(shí)結(jié)束之后,客戶端會(huì)自動(dòng)請(qǐng)求服務(wù)器,獲取如圖3c所示下載倒計(jì)時(shí)結(jié)束后的頁(yè)面。此時(shí)下載倒計(jì)時(shí)已結(jié)束,普通下載按鈕已可點(diǎn)擊,用戶點(diǎn)擊普通下載按鈕即可開(kāi)始下載文件。圖4a 圖4e示出了根據(jù)本發(fā)明另一具體實(shí)施例的客戶端應(yīng)答頁(yè)面示意圖。作為另ー示例,當(dāng)用戶通過(guò)android(安卓)平臺(tái)使用移動(dòng)終端瀏覽器訪問(wèn)http://depositfiles. com/en/files/a0gnq9h5b 時(shí),如果選擇 FREED0WNL0ADING,由于下載需要等待I分鐘,而導(dǎo)致服務(wù)器處理超時(shí),客戶端會(huì)收到如圖4a所示的應(yīng)答頁(yè)面。由圖4a可知,下載還需要等待44秒,由于此時(shí)客戶端已經(jīng)和服務(wù)器斷開(kāi)連接,用戶無(wú)法看到倒計(jì)時(shí)結(jié)束后的下載頁(yè)面,無(wú)法完成下載操作。但是如果使用本發(fā)明提供的針對(duì)具有等待時(shí)間限制網(wǎng)站的文件下載方法用同樣的客戶端訪問(wèn) http://depositfiles. com/en/files/a0gnq9h5b,選擇 FREED0WNL0ADING 下載文件,客戶端很快就會(huì)收到如圖4b所示的第一次應(yīng)答頁(yè)面。圖4b中的倒計(jì)時(shí)圖片表明下載還需要等待47秒。由于安卓平臺(tái)的移動(dòng)終端瀏覽器不支持GIF圖片,因此,用戶需要通過(guò)點(diǎn)擊"Click to check waiting time"這個(gè)鏈接,來(lái)查看當(dāng)前下載還需要等待多少秒。在等待24秒以后,點(diǎn)擊該鏈接返回如圖4c所示的頁(yè)面。
圖4c中的倒計(jì)時(shí)圖片表明下載還需要等待23秒。在23秒倒計(jì)時(shí)結(jié)束之后,客戶端會(huì)自動(dòng)請(qǐng)求服務(wù)器,去獲取如圖4d所示的下載倒計(jì)時(shí)結(jié)束后的頁(yè)面。待用戶輸入正確的驗(yàn)證碼之后就可以看到如圖4e所示的文件的下載鏈接了,這時(shí),用戶直接點(diǎn)擊Downloadthe file按鈕就直接可以進(jìn)行文件下載。如上參照實(shí)施例和附圖描述了根據(jù)本發(fā)明的針對(duì)超時(shí)連接的文件下載方法。本發(fā)明的上述針對(duì)超時(shí)連接的文件下載裝置方法,可以采用軟件實(shí)現(xiàn),也可以采用硬件實(shí)現(xiàn),或采用軟件和硬件組合的方式實(shí)現(xiàn)。與上述方法相對(duì)應(yīng),本發(fā)明還提供一種針對(duì)超時(shí)連接的文件下載裝置。圖5示出了根據(jù)本發(fā)明的針對(duì)超時(shí)連接的文件下載裝置500的方框示意圖。如圖5所示,針對(duì)具有超時(shí)連接的文件下載裝置500包括倒計(jì)時(shí)邏輯獲取単元510、倒計(jì)時(shí)邏輯執(zhí)行単元520、倒 計(jì)時(shí)控件生成單元530和二次請(qǐng)求處理單元540。其中,倒計(jì)時(shí)邏輯獲取単元510用于根據(jù)客戶端下載文件頁(yè)面的請(qǐng)求從目標(biāo)站點(diǎn)獲取帶有JavaScript倒計(jì)時(shí)邏輯的下載文件頁(yè)面應(yīng)答。倒計(jì)時(shí)邏輯執(zhí)行単元520用于執(zhí)行所述JavaScript倒計(jì)時(shí)邏輯。倒計(jì)時(shí)控件生成單元530用于在與客戶端的連接超時(shí)前生成倒計(jì)時(shí)控件展現(xiàn)給客戶端,該倒計(jì)時(shí)控件的起始時(shí)間為服務(wù)器執(zhí)行的所述JavaScript倒計(jì)時(shí)邏輯中記載的剩余等待時(shí)間,并且,倒計(jì)時(shí)控件中的時(shí)間在歸零時(shí)觸發(fā)從客戶端向服務(wù)器的倒計(jì)時(shí)結(jié)束請(qǐng)求。二次請(qǐng)求處理單元540用于根據(jù)倒計(jì)時(shí)結(jié)束請(qǐng)求將倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送至客戶端以供客戶端執(zhí)行下載操作。需說(shuō)明的是,上述各単元的更具體實(shí)施方式
,可以參見(jiàn)方法流程中的描述,此處不再贅述。
另外,本發(fā)明還提供ー種包括上述的針對(duì)超時(shí)連接的文件下載裝置的文件下載系統(tǒng)。如上參照附圖以示例的方式描述根據(jù)本發(fā)明的針對(duì)超時(shí)連接的文件下載方法、裝置和系統(tǒng)。但是,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,對(duì)于上述本發(fā)明所提出的針對(duì)超時(shí)連接的文件下載方法、裝置和系統(tǒng),還可以在不脫離本發(fā)明內(nèi)容的基礎(chǔ)上做出各種改迸。因此,本發(fā)明的保護(hù)范圍應(yīng)當(dāng)由所附的權(quán)利要求書的內(nèi)容確定。
權(quán)利要求
1.一種針對(duì)超時(shí)連接的文件下載方法,包括 服務(wù)器根據(jù)客戶端下載文件頁(yè)面的請(qǐng)求從目標(biāo)站點(diǎn)獲取帶有JavaScript倒計(jì)時(shí)邏輯的下載文件頁(yè)面應(yīng)答; 服務(wù)器執(zhí)行所述JavaScript倒計(jì)時(shí)邏輯,并在與客戶端的連接超時(shí)前生成倒計(jì)時(shí)控件給客戶端,所述倒計(jì)時(shí)控件的起始時(shí)間為服務(wù)器執(zhí)行的所述JavaScript倒計(jì)時(shí)邏輯中記載的剩余等待時(shí)間; 所述客戶端在所述倒計(jì)時(shí)控件中的時(shí)間歸零時(shí)自動(dòng)向所述服務(wù)器發(fā)送倒計(jì)時(shí)結(jié)束請(qǐng)求,通知服務(wù)器將應(yīng)答倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送給客戶端; 服務(wù)器根據(jù)所述倒計(jì)時(shí)結(jié)束請(qǐng)求將倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送至客戶端以供客戶端執(zhí)行下載操作。
2.如權(quán)利要求I所述的針對(duì)超時(shí)連接的文件下載方法,其中,在服務(wù)器根據(jù)所述請(qǐng)求將倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送至客戶端以供客戶端執(zhí)行下載操作的過(guò)程中, 如果所述JavaScript倒計(jì)時(shí)邏輯中包含有所述倒計(jì)時(shí)結(jié)束后的頁(yè)面,則所述服務(wù)器在倒計(jì)時(shí)結(jié)束后直接將所述倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送至客戶端; 如果所述倒計(jì)時(shí)結(jié)束后的頁(yè)面在目標(biāo)站點(diǎn),則所述服務(wù)器在倒計(jì)時(shí)結(jié)束后再次到目標(biāo)站點(diǎn)更新數(shù)據(jù)以獲取所述倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送至客戶端。
3.如權(quán)利要求I所述的針對(duì)超時(shí)連接的文件下載方法,其中,所述倒計(jì)時(shí)控件為模擬倒計(jì)時(shí)的GIF圖片或者帶有倒計(jì)時(shí)剩余時(shí)間的鏈接的靜態(tài)圖片,所述倒計(jì)時(shí)剩余時(shí)間的鏈接被設(shè)置為受到點(diǎn)擊觸發(fā)從客戶端向中間服務(wù)器請(qǐng)求再次計(jì)算一次下載所需要等待時(shí)間的剩余時(shí)間。
4.如權(quán)利要求3所述的針對(duì)超時(shí)連接的文件下載方法,其中,所述GIF圖片的內(nèi)容是一個(gè)遞減的數(shù)字或者一個(gè)沙漏。
5.如權(quán)利要求3所述的針對(duì)超時(shí)連接的文件下載方法,其中,所述倒計(jì)時(shí)控件以半透明的形式展現(xiàn)在客戶端。
6.如權(quán)利要求I所述的針對(duì)超時(shí)連接的文件下載方法,其中,所述服務(wù)器在收到所述倒計(jì)時(shí)結(jié)束請(qǐng)求后, 先根據(jù)所述倒計(jì)時(shí)結(jié)束請(qǐng)求從所述JavaScript倒計(jì)時(shí)邏輯中或者目標(biāo)站點(diǎn)獲取所述倒計(jì)時(shí)結(jié)束后的頁(yè)面,接然后再將所述倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送至客戶端。
7.如權(quán)利要求I所述的針對(duì)超時(shí)連接的文件下載方法,其中,所述倒計(jì)時(shí)控件在客戶端的后臺(tái)執(zhí)打。
8.一種針對(duì)超時(shí)連接的文件下載裝置,包括 倒計(jì)時(shí)邏輯獲取單元,用于根據(jù)客戶端下載文件頁(yè)面的請(qǐng)求從目標(biāo)站點(diǎn)獲取帶有JavaScript倒計(jì)時(shí)邏輯的下載文件頁(yè)面應(yīng)答; 倒計(jì)時(shí)邏輯執(zhí)行單元,用于執(zhí)行所述JavaScript倒計(jì)時(shí)邏輯; 倒計(jì)時(shí)控件生成單元,用于在與客戶端的連接超時(shí)前生成倒計(jì)時(shí)控件展現(xiàn)給客戶端,所述倒計(jì)時(shí)控件的起始時(shí)間為服務(wù)器執(zhí)行的所述JavaScript倒計(jì)時(shí)邏輯中記載的剩余等待時(shí)間,并且,所述倒計(jì)時(shí)控件中的時(shí)間在歸零時(shí)觸發(fā)從客戶端向服務(wù)器的倒計(jì)時(shí)結(jié)束請(qǐng)求; 二次請(qǐng)求處理單元,用于根據(jù)所述倒計(jì)時(shí)結(jié)束請(qǐng)求將倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送至客戶端以供客戶端執(zhí)行下載操作。
9.如權(quán)利要求8所述的針對(duì)超時(shí)連接的文件下載裝置,其中,所述倒計(jì)時(shí)控件為模擬倒計(jì)時(shí)的GIF圖片或者帶有倒計(jì)時(shí)剩余時(shí)間的鏈接的靜態(tài)圖片,所述倒計(jì)時(shí)剩余時(shí)間的鏈接被設(shè)置為受到點(diǎn)擊觸發(fā)從客戶端向中間服務(wù)器請(qǐng)求再次計(jì)算一次下載所需要等待時(shí)間的剩余時(shí)間。
10.一種基于移動(dòng)終端的文件下載系統(tǒng),包括移動(dòng)終端和權(quán)利要求8或9所述的針對(duì)超時(shí)連接的文件下載裝置。
全文摘要
本發(fā)明提供了一種針對(duì)超時(shí)連接的文件下載方法,包括服務(wù)器根據(jù)客戶端下載文件頁(yè)面的請(qǐng)求從目標(biāo)站點(diǎn)獲取帶有倒計(jì)時(shí)邏輯的下載文件頁(yè)面應(yīng)答;服務(wù)器執(zhí)行該倒計(jì)時(shí)邏輯,并在與客戶端的連接超時(shí)前生成倒計(jì)時(shí)控件展現(xiàn)給客戶端;客戶端在倒計(jì)時(shí)控件中的時(shí)間歸零時(shí)自動(dòng)向服務(wù)器發(fā)送倒計(jì)時(shí)結(jié)束請(qǐng)求,通知服務(wù)器將應(yīng)答倒計(jì)時(shí)結(jié)束后的頁(yè)面發(fā)送給客戶端;服務(wù)器根據(jù)該倒計(jì)時(shí)結(jié)束請(qǐng)求將倒計(jì)時(shí)結(jié)束頁(yè)面發(fā)送至客戶端以供客戶端執(zhí)行下載操作。本發(fā)明能夠克服客戶端和服務(wù)器之間的超時(shí)連接限制,實(shí)現(xiàn)正常的文件下載;并且由于在客戶端模擬倒計(jì)時(shí)邏輯的過(guò)程中客戶端與服務(wù)器是斷開(kāi)的,也能夠在一定程度上節(jié)省用戶的流量支出。
文檔編號(hào)H04L29/08GK102664945SQ20121011341
公開(kāi)日2012年9月12日 申請(qǐng)日期2012年4月17日 優(yōu)先權(quán)日2012年4月17日
發(fā)明者孫昌青, 梁捷, 黎俊彥 申請(qǐng)人:優(yōu)視科技有限公司