专利名称:针对超时连接的文件下载方法、装置和系统的制作方法
技术领域:
本发明涉及移动通信技术领域,更为具体地,涉及ー种针对超时连接的文件下载方法、装置和系统。
背景技术:
随着社会的进步和技术的发展,人们越来越多地使用无线接入終端接入网络来获取信息,其中,尤其以手机的上网应用最为普遍。下载资源是人们在上网体验中经常用到的ー种操作,人们根据各自的需求从网上下载文档、电影、故事、MP3、应用程序等各种资源,以满足工作、娱乐等需求。以手机为主的移动终端凭借其随时随地上网的便利性,成为众多网络用户在上下班途中以及许多不便使用有线网络的环境中的首选网络接入終端。 目前,许多下载网站通过JavaScript (简称JS)来实现ー个倒计时的限制功能,在倒计时(一般免费用户是2分钟左右,甚至更久)结束后才允许用户进行下载操作。例如,国内的站点讯6等,国外的站点megaupload、fileserve、depositfiles等。而使用现有的C/S架构的手机浏览器(下文简称客户端,客户端不具有解释JavaScript的功能)去访问这些站点时是无法完成下载操作的,其主要存在的问题主要有以下两点I)由于这种倒计时的JavaScript执行一般需要在服务器端执行长达2分钟,而客户端和服务器之间均有连接超时策略,这种限制最终导致的结果是要么服务器处理超吋,要么客户端连接超时,并无法正常显示倒计时结束后的页面;2)由于手机等移动终端中的客户端不具有解释JavaScript的功能,因此,在客户端无法实时显示出还需等待多少秒才可以进行下载操作。在现有的技术背景下,服务器在处理客户端发起的下载文件页面请求中,由于服务器在与客户端连接的超时限制时间内无法执行完全部的JavaScript倒计时逻辑,因此无法将倒计时结束后的页面解析给客户端。最終,用户在客户端上也就无法进行下载操作。
发明内容
鉴于上述问题,本发明的目的是提供一种针对超时连接的文件下载方法、装置和系统。根据本发明的ー个方面,提供了一种针对超时连接的文件下载方法,包括服务器根据客户端下载文件页面的请求从目标站点获取带有JavaScript倒计时逻辑的下载文件页面应答;服务器执行所述JavaScript倒计时逻辑,并在与客户端的连接超时前生成倒计时控件给客户端,所述倒计时控件的起始时间为服务器执行的所述JavaScript倒计时逻辑中记载的剩余等待时间;所述客户端在所述倒计时控件中的时间归零时自动向所述服务器发送倒计时结束请求,通知服务器将应答倒计时结束后的页面发送给客户端;
服务器在根据所述倒计时结束请求将倒计时结束后的页面发送至客户端以供客户端执行下载操作。根据本发明的另一方面,提供了一种针对超时连接的文件下载装置,包括倒计时逻辑获取単元,用于根据客户端下载文件页面的请求从目标站点获取带有JavaScript倒计时逻辑的下载文件页面应答;倒计时逻辑执行単元,用于执行所述JavaScript倒计时逻辑; 倒计时控件生成単元,用于在与客户端的连接超时前生成倒计时控件给客户端,所述倒计时控件的起始时间为服务器执行的所述JavaScript倒计时逻辑中记载的剩余等待时间,并且,所述倒计时控件中的时间在归零时触发从客户端向服务器的倒计时结束请求;二次请求处理单元,用于根据所述倒计时结束请求将倒计时结束后的页面发送至客户端以供客户端执行下载操作。再一方面,本发明还提供一种基于移动终端的文件下载系统,包括移动终端和上述的针对超时连接的文件下载装置。利用上述根据本发明的针对超时连接的文件下载方法及装置,可以克服客户端和服务器之间的超时连接限制,实现正常的文件下载;并且由于在客户端模拟倒计时逻辑的过程中客户端与服务器是断开的,也能够在一定程度上节省用户的流量支出。为了实现上述以及相关目的,本发明的ー个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的ー些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
通过參考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中图I为根据本发明的针对超时连接的文件下载方法的流程图;图2为根据本发明实施例的客户端、服务器和目标站点之间的交互过程;图3a 图3c为根据本发明ー个具体实施例的客户端应答页面示意图;图4a 图4e为根据本发明另一具体实施例的客户端应答页面示意图;图5为根据本发明的针对超时连接的文件下载装置的方框图。在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施例方式以下将结合附图对本发明的具体实施例进行详细描述。为了解决现有技术中下载文件过程中由于客户端和服务器在连接超时时间内无法执行完全部的JavaScript倒计时逻辑而无法将倒计时结束后的页面解析给客户端的问题,本发明利用生成的并设置在客户端的控件来模拟倒计时,而实际倒计时的JavaScript逻辑则在服务器应答客户端后在服务器端继续执行。当客户端倒计时控件中的时间归零时,客户端会自动触发请求,通知服务器应答倒计时JavaScript处理结束后的页面给客户端,从而使不具有解释JavaScript的功能的客户端也可以获取倒计时结束后的文件下载页面,进行正常的文件下载操作。需要说明的是,本发明中涉及的移动终端主要指手机等利用移动终端浏览器和移动互联网进行网络访问的终端,本发明中所述的服务器指的是支持移动终端浏览器的后台服务器。图I示出了根据本发明的针对超时连接的文件下载方法的流程图。
如图I所示,当用户需要利用移动终端等不具有解释JavaScript的功能的客户端下载文件时,首先通过客户端向服务器发送针对目标站点的下载文件页面请求(步骤S110),服务器根据客户端的下载文件页面请求从目标站点获取带有JavaScript倒计时逻辑的下载文件页面应答(步骤S120),然后,在步骤S130中,服务器在获取带有JavaScript倒计时逻辑的下载文件页面应答后执行该JavaScript倒计时逻辑,并且在与客户端的连接超时前生成倒计时控件给客户端,该倒计时控件的起始时间为服务器执行的JavaScript倒计时逻辑中记载的剩余等待时间。在客户端的控件是用来模拟倒计时,用户能够看到倒计时的剰余时间,而实际倒计时的JavaScript逻辑则在服务器应答客户端后在服务器端继续执行。客户端在倒计时控件中的时间归零时会自动触发倒计时结束请求,通知服务器应答倒计时JavaScript处理结束后的页面给客户端;之后,在步骤S150中,服务器根据来自客户端的倒计时结束请求将倒计时结束后的页面发送至客户端以供客户端执行下载操作,其中,倒计时结束后的页面中含有所述下载文件的下载链接。通过图I所述的方法流程,可以看出,在不具有解释JavaScript的功能的客户端,通过上述服务器生成的倒计时控件发送给客户端,在超时连接的限制下客户端和服务器的连接断开后,倒计时控件在客户端继续以与JavaScript倒计时逻辑同步的方式模拟倒计时,并在倒计时结束(倒计时时间归零吋)自动与服务器建立连接,向服务器请求倒计时结束后的页面,以进行下载操作。通过这种在客户端模拟倒计时逻辑并在倒计时结束时自动请求服务器的方式,不仅可以克服客户端和服务器之间的超时连接限制,实现正常的文件下载;并且由于在客户端模拟倒计时逻辑的过程中客户端与服务器是断开的,也能够在ー定程度上节省用户的流量支出。上述倒计时控件在客户端可以以用户能够看到倒计时的剰余时间的方式在前台执行,以便用户能够知晓相应的倒计时剩余秒数;也可以在客户端的后台执行。另外,在前台执行的倒计时控件可以以半透明的形式呈现,以不影响用户的其他浏览操作。在倒计时结束后,无需用户的任何操作,该倒计时控件自动请求服务器,获取倒计时结束后的页面,让用户完成下载操作。其中,由于不同的目标站点响应下载文件页面请求的下载文件页面应答格式可能不同,有的会在下载文件页面应答中绑定倒计时结束后的下载链接页面,即将下载链接页面暗含在JavaScript倒计时逻辑中,当服务器执行完JavaScript倒计时逻辑后不用再次访问目标站点就可以获得对应的下载链接页面。而有的目标站点则可能将倒计时结束后的下载链接页面放在目标站点,需要在倒计时结束后由服务器或者終端再次到目标站点更新数据以获取该下载链接页面。下面以第二种情形为例结合附图2进ー步详细说明本发明针对具有等待时间限制网站的文件下载过程中客户端、服务器和目标站点之间的交互过程。
如图2所示,本实施例的交互过程如下I.客户端向服务器提交下载文件页面请求,此时,客户端和服务器建立连接;2.服务器根据客户端的下载文件页面请求向目标站点请求对应的下载页面文件;3.目标站点应服务器的请求将相应的下载文件页面应答发送给服务器;4.服务器执行下载文件页面应答中的JavaScript倒计时逻辑,并在客户端和服务器的超时连接时限内根据所执行的JavaScript倒计时逻辑生成一倒计时控件,并在客 户端和服务器断开连接前将该倒计时控件发送给客户端;在本实施例中,倒计时控件为带有倒计时图片(如GIF图片)的页面应答;5.倒计时控件在执行倒计时结束后(倒计时归零)自动请求服务器,以获取倒计时结束后的页面。其中,在客户端运行倒计时控件的过程中,服务器和客户端之间的连接是断开的(由于超时时间的限制);6.服务器在JavaScript倒计时逻辑执行完毕后向目标站点请求更新数据,即请求倒计时结束后的下载链接页面;7.目标站点根据服务器的更新数据请求将倒计时结束后的页面(即下载链接页面)发送至服务器;8.服务器将从目标站点获取的倒计时结束后的页面(即下载链接页面)发送至客户端;9.用户在客户端通过点击倒计时结束后的页面中的下载链接进行文件的下载操作。在上述交互过程中,服务器所承担的数据处理工作包括I)服务器在处理客户端发起的下载文件页面请求的过程中,通过脚本获取服务器处理超时后下载还需要等待的时间(例如秒数)。2)由于服务器在超时时间内无法执行完全部的JavaScript倒计时逻辑,客户端从服务器获取的应答页面中的倒计时区域只能显示ー个静态的数字文本,其已不具备动态倒计时的功能。因此,服务器需要在应答客户端前在原倒计时页面中插入ー倒计时控件(比如ー张GIF动画图片)来模拟倒计时的功能。如果倒计时控件以GIF动画片的形式呈现,则GIF图片的内容可以是ー个每秒递减I的数字或者ー个沙漏,该数字表示当前下载需要等待的时间(単位秒),其初始值是步骤I)中获取的秒数。例如当前下载操作仍需等待120秒,服务器就在原页面中插入ー张初始数字为120的图片。3)在上述步骤2)中,如果客户端不支持GIF动画图片,则服务器在进行排版时需要将GIF图片的第一帧转换成客户端支持的图片。例如当前下载还需要等待50秒,服务器在进行排版时判断出客户端不支持GIF而支持JPG,则服务器将之前生成的GIF图像的第ー帧(图片的内容为数字50)转换成JPG格式的图片。4)由于某些客户端不支持GIF图片,类似JPG这种静态的图片不具备动态的倒计数功能,服务器还需要在静态图片旁边创建ー个查看倒计时剩余时间的链接,在客户端上点击这个链接就可以再次触发请求服务器,让服务器重新计算一次下载所需要等待的剰余秒数,也就是重复I) 3)的步骤。5)在完成上述步骤后,服务器开始应答客户端,并通过私有协议通知客户端在步骤I)中获取的秒数后自动请求一次服务器。应答客户端后,服务器需要继续进行页面中剩余的倒计时JavaScript处理,并从下载站点进行部分数据更新操作。客户端收到服务器应答后,可以看到一个倒计数的GIF动画图片,毎秒数字递减1,由于步骤5中的私有协议的控制,倒计时结束后客户端会自动请求服务器去获取倒计时结束后的页面,在获得倒计时结束后的页面后就可以通过点击倒计时结束页面中的下载链接开始下载操作。由于在现有的C/S架构的手机浏览器上是没有实现JavaScript倒计时功能的,因此无法成功下载具有等待时间限制的站点的文件。而通过上述具体方式可以看出,本发明提供的技术方案不仅可以实现移动终端浏览器成功下载目标站点的文件,还可以极大的提高用户对所使用的移动终端浏览器的认同感,而且用户在下载倒计时站点进行文件下载时会有更好的体验I、用户不需要等待服务器长时间的倒计时JavaScript处理,很快的就可以在客户端看到下载文件所需要等待的秒数。 2、倒计时结束后,倒计时窗ロ会自动跳转至倒计时结束后的页面。因此,用户可以在等待倒计时的过程中,切換至其他窗ロ,继续浏览其他网页。具体的,作为示例,在现有技术下,通过PPC平台(Pocket PC,是基于微软的windows CE、Windows Mobile操作系统的ー种掌上电脑)使用移动终端浏览器访问http://www. megaupload, com/ d = XF7YRZCJ下载文件,由于下载需要等待I分钟,而导致服务器处理超吋,客户端收到的应答页面如图3a所示。由图3a可知,下载还需要等待55秒,但是由于移动终端无法解析JavaScript倒计时逻辑,并且已经和服务器断开连接,因此普通下载按钮无法被点击,用户无法完成下载操作。但如果使用本发明提供的针对超时连接的文件下载方法用同样的客户端访问http://www. megaupload, com/ d = XF7YRZCJ下载文件,客户端很快就会收到如图3b所示第一次应答页面。图3b中的倒计时图片表明下载还需要等待54秒,在54秒倒计时结束之后,客户端会自动请求服务器,获取如图3c所示下载倒计时结束后的页面。此时下载倒计时已结束,普通下载按钮已可点击,用户点击普通下载按钮即可开始下载文件。图4a 图4e示出了根据本发明另一具体实施例的客户端应答页面示意图。作为另ー示例,当用户通过android(安卓)平台使用移动终端浏览器访问http://depositfiles. com/en/files/a0gnq9h5b 时,如果选择 FREED0WNL0ADING,由于下载需要等待I分钟,而导致服务器处理超时,客户端会收到如图4a所示的应答页面。由图4a可知,下载还需要等待44秒,由于此时客户端已经和服务器断开连接,用户无法看到倒计时结束后的下载页面,无法完成下载操作。但是如果使用本发明提供的针对具有等待时间限制网站的文件下载方法用同样的客户端访问 http://depositfiles. com/en/files/a0gnq9h5b,选择 FREED0WNL0ADING 下载文件,客户端很快就会收到如图4b所示的第一次应答页面。图4b中的倒计时图片表明下载还需要等待47秒。由于安卓平台的移动终端浏览器不支持GIF图片,因此,用户需要通过点击"Click to check waiting time"这个链接,来查看当前下载还需要等待多少秒。在等待24秒以后,点击该链接返回如图4c所示的页面。
图4c中的倒计时图片表明下载还需要等待23秒。在23秒倒计时结束之后,客户端会自动请求服务器,去获取如图4d所示的下载倒计时结束后的页面。待用户输入正确的验证码之后就可以看到如图4e所示的文件的下载链接了,这时,用户直接点击Downloadthe file按钮就直接可以进行文件下载。如上參照实施例和附图描述了根据本发明的针对超时连接的文件下载方法。本发明的上述针对超时连接的文件下载装置方法,可以采用软件实现,也可以采用硬件实现,或采用软件和硬件组合的方式实现。与上述方法相对应,本发明还提供一种针对超时连接的文件下载装置。图5示出了根据本发明的针对超时连接的文件下载装置500的方框示意图。如图5所示,针对具有超时连接的文件下载装置500包括倒计时逻辑获取単元510、倒计时逻辑执行単元520、倒 计时控件生成单元530和二次请求处理单元540。其中,倒计时逻辑获取単元510用于根据客户端下载文件页面的请求从目标站点获取带有JavaScript倒计时逻辑的下载文件页面应答。倒计时逻辑执行単元520用于执行所述JavaScript倒计时逻辑。倒计时控件生成单元530用于在与客户端的连接超时前生成倒计时控件展现给客户端,该倒计时控件的起始时间为服务器执行的所述JavaScript倒计时逻辑中记载的剩余等待时间,并且,倒计时控件中的时间在归零时触发从客户端向服务器的倒计时结束请求。二次请求处理单元540用于根据倒计时结束请求将倒计时结束后的页面发送至客户端以供客户端执行下载操作。需说明的是,上述各単元的更具体实施方式
,可以參见方法流程中的描述,此处不再赘述。
另外,本发明还提供ー种包括上述的针对超时连接的文件下载装置的文件下载系统。如上參照附图以示例的方式描述根据本发明的针对超时连接的文件下载方法、装置和系统。但是,本领域技术人员应当理解,对于上述本发明所提出的针对超时连接的文件下载方法、装置和系统,还可以在不脱离本发明内容的基础上做出各种改迸。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
权利要求
1.一种针对超时连接的文件下载方法,包括 服务器根据客户端下载文件页面的请求从目标站点获取带有JavaScript倒计时逻辑的下载文件页面应答; 服务器执行所述JavaScript倒计时逻辑,并在与客户端的连接超时前生成倒计时控件给客户端,所述倒计时控件的起始时间为服务器执行的所述JavaScript倒计时逻辑中记载的剩余等待时间; 所述客户端在所述倒计时控件中的时间归零时自动向所述服务器发送倒计时结束请求,通知服务器将应答倒计时结束后的页面发送给客户端; 服务器根据所述倒计时结束请求将倒计时结束后的页面发送至客户端以供客户端执行下载操作。
2.如权利要求I所述的针对超时连接的文件下载方法,其中,在服务器根据所述请求将倒计时结束后的页面发送至客户端以供客户端执行下载操作的过程中, 如果所述JavaScript倒计时逻辑中包含有所述倒计时结束后的页面,则所述服务器在倒计时结束后直接将所述倒计时结束后的页面发送至客户端; 如果所述倒计时结束后的页面在目标站点,则所述服务器在倒计时结束后再次到目标站点更新数据以获取所述倒计时结束后的页面发送至客户端。
3.如权利要求I所述的针对超时连接的文件下载方法,其中,所述倒计时控件为模拟倒计时的GIF图片或者带有倒计时剩余时间的链接的静态图片,所述倒计时剩余时间的链接被设置为受到点击触发从客户端向中间服务器请求再次计算一次下载所需要等待时间的剩余时间。
4.如权利要求3所述的针对超时连接的文件下载方法,其中,所述GIF图片的内容是一个递减的数字或者一个沙漏。
5.如权利要求3所述的针对超时连接的文件下载方法,其中,所述倒计时控件以半透明的形式展现在客户端。
6.如权利要求I所述的针对超时连接的文件下载方法,其中,所述服务器在收到所述倒计时结束请求后, 先根据所述倒计时结束请求从所述JavaScript倒计时逻辑中或者目标站点获取所述倒计时结束后的页面,接然后再将所述倒计时结束后的页面发送至客户端。
7.如权利要求I所述的针对超时连接的文件下载方法,其中,所述倒计时控件在客户端的后台执打。
8.一种针对超时连接的文件下载装置,包括 倒计时逻辑获取单元,用于根据客户端下载文件页面的请求从目标站点获取带有JavaScript倒计时逻辑的下载文件页面应答; 倒计时逻辑执行单元,用于执行所述JavaScript倒计时逻辑; 倒计时控件生成单元,用于在与客户端的连接超时前生成倒计时控件展现给客户端,所述倒计时控件的起始时间为服务器执行的所述JavaScript倒计时逻辑中记载的剩余等待时间,并且,所述倒计时控件中的时间在归零时触发从客户端向服务器的倒计时结束请求; 二次请求处理单元,用于根据所述倒计时结束请求将倒计时结束后的页面发送至客户端以供客户端执行下载操作。
9.如权利要求8所述的针对超时连接的文件下载装置,其中,所述倒计时控件为模拟倒计时的GIF图片或者带有倒计时剩余时间的链接的静态图片,所述倒计时剩余时间的链接被设置为受到点击触发从客户端向中间服务器请求再次计算一次下载所需要等待时间的剩余时间。
10.一种基于移动终端的文件下载系统,包括移动终端和权利要求8或9所述的针对超时连接的文件下载装置。
全文摘要
本发明提供了一种针对超时连接的文件下载方法,包括服务器根据客户端下载文件页面的请求从目标站点获取带有倒计时逻辑的下载文件页面应答;服务器执行该倒计时逻辑,并在与客户端的连接超时前生成倒计时控件展现给客户端;客户端在倒计时控件中的时间归零时自动向服务器发送倒计时结束请求,通知服务器将应答倒计时结束后的页面发送给客户端;服务器根据该倒计时结束请求将倒计时结束页面发送至客户端以供客户端执行下载操作。本发明能够克服客户端和服务器之间的超时连接限制,实现正常的文件下载;并且由于在客户端模拟倒计时逻辑的过程中客户端与服务器是断开的,也能够在一定程度上节省用户的流量支出。
文档编号H04L29/08GK102664945SQ20121011341
公开日2012年9月12日 申请日期2012年4月17日 优先权日2012年4月17日
发明者孙昌青, 梁捷, 黎俊彦 申请人:优视科技有限公司