买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】数据下载方法及装置_北京高途云集教育科技有限公司_201810672898.5 

申请/专利权人:北京高途云集教育科技有限公司

申请日:2018-06-26

公开(公告)日:2021-06-08

公开(公告)号:CN108848178B

主分类号:H04L29/08(20060101)

分类号:H04L29/08(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.06.08#授权;2018.12.14#实质审查的生效;2018.11.20#公开

摘要:本发明实施例提出了一种数据下载方法及装置,涉及互联网技术领域,该方法包括:中间件接收客户端的数据下载请求;中间件判断数据下载标识是否存在于预设的数据库中;当中间件判定数据下载标识不存在于预设的数据库时,中间件新建数据下载任务,并将数据下载标识与新建的数据下载任务相关联,且将数据下载标识存储在预设的数据库中;中间件响应数据下载请求,并依据数据下载端口,向目标服务器发送下载地址获取请求,以使目标服务器生成与数据下载请求相对应的数据下载地址;中间件接收目标服务器反馈的数据下载地址,并以反馈的数据下载地址下载目标数据。本发明实施例所提供的一种数据下载方法及装置,能够提升用户的下载体验。

主权项:1.一种数据下载方法,其特征在于,应用于客户端,所述客户端与目标服务器建立通信,所述客户端中配置有中间件,所述方法包括:所述中间件接收所述接收客户端的数据下载请求,其中,所述数据下载请求中至少包含数据下载标识及数据下载端口;所述中间件判断所述数据下载标识是否存在于预设的数据库中;当所述中间件判定所述数据下载标识不存在于所述预设的数据库时,所述中间件新建数据下载任务,并将所述数据下载标识与所述新建的数据下载任务相关联,且将所述数据下载标识存储在所述预设的数据库中;所述中间件响应所述数据下载请求,并依据所述数据下载端口,向所述目标服务器发送下载地址获取请求,以使所述目标服务器生成与所述数据下载请求相对应的数据下载地址;所述中间件接收所述目标服务器反馈的数据下载地址,并以所述反馈的数据下载地址下载目标数据,其中,所述反馈的数据下载地址为所述目标数据的最新下载地址。

全文数据:数据下载方法及装置技术领域[0001]本发明涉及互联网技术领域,具体而言,涉及一种数据下载方法及装置。背景技术[0002]企业有时候会对用户能够下载的企业文件数据的地址进行有效期限制,例如,某次下载数据的地址可能只有一天的有效期,超出一天如果数据未下载完成,则不能再继续下载,下载任务即被中止。若需要继续下载则需要再次获取新的地址,导致用户的体验降低。发明内容[0003]本发明的目的在于提供一种数据下载方法及装置,能够提升用户的下载体验。[0004]为了实现上述目的,本发明实施例采用的技术方案如下:[0005]第一方面,本发明实施例提供了一种数据下载方法,应用于客户端,所述客户端与目标服务器建立通信,所述客户端中配置有中间件,所述方法包括:所述中间件接收所述接收客户端的数据下载请求,其中,所述数据下载请求中至少包含数据下载标识及数据下载端口;所述中间件判断所述数据下载标识是否存在于预设的数据库中;当所述中间件判定所述数据下载标识不存在于所述预设的数据库时,所述中间件新建数据下载任务,并将所述数据下载标识与所述新建的数据下载任务相关联,且将所述数据下载标识存储在所述预设的数据库中;所述中间件响应所述数据下载请求,并依据所述数据下载端口,向所述目标服务器发送下载地址获取请求,以使所述目标服务器生成与所述数据下载请求相对应的数据下载地址;所述中间件接收所述目标服务器反馈的数据下载地址,并以所述反馈的数据下载地址下载目标数据,其中,所述反馈的数据下载地址为所述目标数据的最新下载地址。[0006]第二方面,本发明实施例提供了一种数据下载装置,应用于客户端,所述客户端与目标服务器建立通信,所述客户端中配置有中间件,所述装置包括:下载请求接收模块,用于所述中间件接收所述接收客户端的数据下载请求,其中,所述数据下载请求中至少包含数据下载标识及数据下载端口;第一判断模块,用于所述中间件判断所述数据下载标识是否存在于预设的数据库中;下载任务新建模块,用于当所述中间件判定所述数据下载标识不存在于所述预设的数据库时,所述中间件新建数据下载任务,并将所述数据下载标识与所述新建的数据下载任务相关联,且将所述数据下载标识存储在所述预设的数据库中;下载地址请求模块,用于所述中间件响应所述数据下载请求,并依据所述数据下载端口,向所述目标服务器发送下载地址获取请求,以使所述目标服务器生成与所述数据下载请求相对应的数据下载地址;数据下载模块,用于所述中间件接收所述目标服务器反馈的数据下载地址,并以所述反馈的数据下载地址下载目标数据,其中,所述反馈的数据下载地址为所述目标数据的最新下载地址。[0007]相对于现有技术,本发明实施例所提供的一种数据下载方法及装置,通过在客户端中配置中间件,以使中间件依据数据下载请求中包含的数据下载标识及数据下载端口,在判定该数据下载请求包含的数据下载标识不存在于预设的数据库时,依据数据下载端口向目标服务器发送下载地址获取请求,并依据目标服务器反馈的数据下载地址下载目标数据,相比于现有技术,使中间件能够获取目标数据的最新下载地址以持续低下载目标数据,避免因下载地址失效导致的目标数据下载中断,进而提升用户的下载体验。[0008]为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明[0009]为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。[0010]图1示出了本发明实施例所提供的一种数据处理方法的一种示意性应用场景图;[0011]图2示出了本发明实施例所提供的一种数据下载方法的一种示意性流程图;[0012]图3为图2中步骤S600的子步骤的一种示意性流程图;[0013]图4示出了本发明实施例所提供的一种数据下载装置的一种示意性结构图;[0014]图5示出了本发明实施例所提供的一种数据下载装置的数据下载模块的一种示意性结构图。[0015]图中:10-客户端;20-数据下载装置;30-目标服务器;100-下载请求接收模块;200-第一判断模块;300-下载任务新建模块;400-下载地址请求模块;500-数据下载模块;510-第一判断单元;520-数据下载单元;530-第二判断单元;540-第三判断单元;550-文件加密单元;560-第四判断单元;570-文件校验单元;580-数据反馈单元;600-下载失败反馈模块;700-第二判断模块。具体实施方式[0016]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。[0017]因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0018]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。[0019]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。[0020]下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。[0021]请参阅图1,图1示出了本发明实施例所提供的一种数据处理方法的一种示意性应用场景图,在本发明实施例中,客户端10、目标服务器30位于无线网络或有线网络中,通过该无线网络或有线网络,客户端1〇与目标服务器30进行数据交互。[0022]在本发明实施例中,客户端10优选为移动终端设备,例如可以包括智能手机、平板电脑、个人电脑personalcomputer,PC、电子书阅读器、膝上型便携计算机、车载电脑、穿戴式移动终端等等。[0023]本发明实施例提供了一种数据下载方法,该数据下载方法可适用于具Android操作系统、I0S操作系统、WindowsPhone操作系统或其他平台的客户端1〇。在本发明实施例中,该客户端10安装有中间件,与目标服务器30相对应,为用户提供服务,该数据下载方法可通过该客户端10中安装的中间件实现。例如,在客户端10内配置有SDKSoftwareDevelopmentKit,软件开发工具包作为客户端10内配置的中间件,当SDK内相应的程序模块被客户端10内配置的处理器所执行时,实现本发明实施例所提供的数据下载方法。[0024]具体地,请参阅图2,图2示出了本发明实施例所提供的一种数据下载方法的一种示意性流程图,该数据下载方法应用于如图1所示的客户端10,该客户端1〇与目标服务器3〇建立通信,该客户端10中配置有中间件,在本发明实施例中,该数据下载方法包括以下步骤:[0025]步骤S100,中间件接收客户端的数据下载请求。[0026]用户在下载目标数据时,例如软件包、数据包、音频文件或者是视频文件等等,用户通过客户端10,调用客户端10内配置的中间件接口,进而将该目标数据的数据下载请求发送给中间件,以通过该中间件下载目标数据。其中,数据下载请求中至少包含数据下载标识及数据下载端口,数据下载标识为客户端10为每个不同的数据下载任务分配的唯一标识,每个不同的任务均具有唯一的数据下载标识,若两个数据下载任务的数据下载标识相同,表征这两个数据下载任务的目标数据为相同的数据;数据下载端口为与数据下载任务的目标服务器30对应的数据接口。[0027]相应地,中间件在接收到客户端10的数据下载请求时,解析获得该数据下载请求中包含的数据下载标识及数据下载端口,进而以该数据下载标识及数据下载端口执行后续的步骤。[0028]步骤S200,中间件判断数据下载标识是否存在于预设的数据库中?当为否时,执行步骤S300;当为是时,执行步骤S210。’[0029]中间件在根据步骤S100接收客户端10的数据下载请求并解析该数据下载请求获得数据下载标识后,即判断该数据下载标识是否存在于预设的数据库中。其中,该预设的数据库中存储有中间件当前的所有下载任务的数据下载标识,当中间件判定当前的数据下载请求中的数据下载标识不存在于该预设的数据库时,表征当前的数据下载请求所下载的目标数据不存在当前的所有下载任务中,此时执行步骤S300;相应地,当中间件判定当前的数据下载请求中的数据下载标识存在于该预设的数据库时,表征当前的数据下载请求所下载的目标数据存在当前的所有下载任务中,此时执行步骤S210。[0030]值得说明的是,该预设的数据库中仅仅存储有当前的所有下载任务的数据下载标识,所有已经完成的数据下载任务的数据下载标识不存在于该预设的数据库中。[0031]步骤S300,中间件新建数据下载任务,并将数据下载标识与新建的数据下载任务相关联,且将数据下载标识存储在预设的数据库中。[0032]当中间件根据步骤S200判定数据下载请求包含的数据下载标识不存在于预设的数据库时,表征当前的数据下载请求所下载的目标数据不存在当前的所有下载任务中,此时中间件即依据该数据下载请求,新建数据下载任务,并将该数据下载标识与该新建的数据下载任务相关联,以使该数据下载标识表征该新建的数据下载任务,且将该数据下载标识存储在预设的数据库中,以表征当前的数据下载请求所请求下载的目标数据已经存在于当前的所有下载任务中。[0033]作为一种实施方式,在执行步骤S500之前,该数据下载方法还包括以下步骤:[0034]步骤S400,中间件判断当前下载任务数是否达到预设的下载任务最大值?当为否时,执行步骤S500;当为是时,执行步骤S410。[0035]中间件在通过步骤S300新建与该数据下载请求相应的数据下载任务后,中间件即根据当前的所有下载任务,判断当前下载任务数是否达到预设的下载任务最大值。其中,该预设的下载任务最大值可以是初始默认值也可以是用户设定的值,其表征的是中间件当前的同时下载任务上限。当当前下载任务数未达到预设的下载任务最大值时,表征中间件当前的所有下载任务的总数量还未达到同时下载任务上限,还可以同时下载其他任务,此时执行步骤S500;当当前下载任务数达到预设的下载任务最大值时,表征中间件当前的所有下载任务的总数量已经达到同时下载任务上限,不能再执行下载其他任务,此时执行步骤S410〇[0036]步骤S500,中间件响应数据下载请求,并依据数据下载端口,向目标服务器发送下载地址获取请求,以使目标服务器生成与数据下载请求相对应的数据下载地址。[0037]相应地,中间件在判定当前下载任务数未达到预设的下载任务最大值时,表征中间件当前的所有下载任务的总数量还未达到同时下载任务上限,还可以同时下载其他任务,此时中间件即响应客户端10的数据下载请求,并依据数据下载请求中的数据下载端口,向目标服务器30发送下载地址获取请求,以使目标服务器30生成与该数据下载请求向对应的数据下载地址,并反馈给中间件,进而使中间件依据该反馈的数据下载地址下载目标数据。其中,目标服务器30所反馈的数据下载地址,为目标数据的当前下载地址,例如,假定目标服务器30中,目标数据的下载地址在11:〇〇之前的下载地址为地址A,在11:00之后的下载地址为地址B,那么在11:00之前目标服务器30所反馈的数据下载地址为地址A,在11:00之后目标服务器30所反馈的数据下载地址则为地址B。[0038]步骤S600,中间件接收目标服务器反馈的数据下载地址,并以反馈的数据下载地址下载目标数据。[0039]中间件在接收到目标服务器30反馈的数据下载地址后,即以该反馈的数据下载地址下载目标数据,其中,该反馈的数据下载地址为目标数据的最新下载地址,比如在上述的实例中,在11:00之前,中间件接收到目标服务器30反馈的数据下载地址为地址A,而在11:00之后,中间件接收到目标服务器30反馈的数据下载地址为地址B。[0040]具体地,请参阅图3,图3为图2中步骤S600的子步骤的一种示意性流程图,在本发明实施例中,步骤S600包括以下子步骤:[0041]子步骤S610,中间件判断客户端本地是否存储有与数据下载请求相对应的缓存数据?当为是时,执行子步骤S620;当为否时,执行子步骤S611。[0042]中间件在依据目标服务器30反馈的数据下载地址下载目标数据时,首先判断客户端10本地是否存储有与数据下载请求相对应的缓存数据,该缓存数据为中间件或客户端10先前下载的与该数据下载请求相关的数据,若是用户在之前删除了该数据下载请求的下载任务时没有清理或删除相应的缓存数据,则在客户端10本地即可能存在与该数据下载请求相对应的缓存数据。[0043]具体地,作为一种实施方式,中间件在判断客户端10本地是否存储有与数据下载请求相对应的缓存数据时,可根据目标数据的文件名,在客户端10本地的存储中,搜索是否有与目标数据的文件名相同且文件类型也相同的数据。当搜索到文件名相同且文件类型也相同的数据时,中间件判定客户端10本地存储有与数据下载请求相对应的缓存数据,此时执行子步骤S620;另一方面,当搜索不到文件名相同且文件类型也相同的数据时,中间件判定客户端10本地不存储有与数据下载请求相对应的缓存数据,此时执行子步骤S611。[0044]子步骤S620,中间件判断缓存数据的大小与反馈的目标数据大小是否相同?当为是时,中间件以缓存数据作为目标数据;当为否时,执行子步骤S621。[0045]中间件在接收目标服务器30反馈的数据下载地址时,还接收目标服务器30反馈的目标数据大小,该目标数据大小表征客户端10所请求下载的目标数据的大小。相应地,当中间件判定客户端10本地存储有与数据下载请求相应的缓存数据时,中间件即依据该缓存数据,判断该缓存数据的大小与目标服务器30反馈的目标数据大小是否相同。其中,当中间件判定客户端10本地存储的缓存数据的大小与反馈的目标数据大小相同时,表征客户端10本地已经下载完成,此时执行子步骤S630;相应地,当中间件判定客户端10本地存储的缓存数据的大小与反馈的目标数据大小不同时,表征客户端10本地存储的缓存数据不是完整的目标数据,需要继续下载,此时执行子步骤S621。[0046]子步骤S630,中间件判断数据下载请求中是否携带有文件加密请求?当为是时,中间件按照预设的加密方式加密目标数据;当为否时,执行子步骤S640。[0047]当中间件根据子步骤S620及子步骤S621得到与数据下载请求相对应的目标数据后,中间件即判断数据下载请求中是否携带有文件加密请求。当中间件判定数据下载请求中携带有文件加密请求时,中间件即认为用户对于该目标数据的下载具有加密的需求,此时中间件即按照预设的加密方式加密该目标数据,再以该加密后的目标数据执行子步骤S640,例如,采用对称加密的方式对该目标数据进行加密,也可以采用非对称加密的方式进行加密;相应地,当中间件判定数据下载请求中不携带有文件加密请求时,中间件即认为用户对于该目标数据的下载没有加密的需求,此时中间件即直接执行子步骤S640。[0048]值得说明的是,在本发明实施例其他的一些实施方式中,子步骤S630还可以在子步骤S610及子步骤S620之前执行,比如说,当中间件接收到客户端10发送的数据下载请求时,即执行子步骤S630;并且,当中间件判定数据下载请求中携带有文件加密请求时,中间件还可以采用其他的方式进行加密,比如说,每读取预设字节流大小的数据,例如没1024字节流,即进行加密,而不采用当得到完整的目标数据后再进行加密。[0049]子步骤S640,中间件判断数据下载请求中是否携带有文件校验请求?当为是时,执行子步骤S650;当为否时,中间件将目标数据反馈给客户端10。[0050]相应地,当中间件根据子步骤S620及子步骤S621得到与数据下载请求相对应的目标数据后,中间件即判断数据下载请求中是否携带有文件校验请求。当中间件判定数据下载请求中携带有文件校验请求时,中间件即认定用户具有校验该目标数据的需求,此时执行S650;相应地,当中间件判定数据下载请求中不携带有文件校验请求时,中间件即认为用户对于该目标数据的下载没有校验的需求,此时中间件即直接将目标数据反馈给客户端10,且反馈预设的下载成功信息,以告知用户下载目标数据下载成功。[0051]子步骤S650,中间件按照预设的校验方式校验目标数据?当校验通过时,中间件将目标数据反馈给客户端10;当校验失败时,执行步骤S210。[0052]当中间件根据子步骤S640判定数据下载请求中携带有文件校验请求时,表征用户此时具有文件校验的需求,以校验该目标数据的正确性。此时,中间件即按照预设的校验方式校验该目标数据,例如,采用MD5校验的方式对该目标数据进行校验。可以理解,当该预设的校验方式为MD5时,数据下载请求中必然包含有预设的MD5值,当对目标数据采用MD5的方式进行校验时,若根据目标数据计算得到的MD5值与预设的MD5值相同,则校验通过,若计算得到的MD5值与预设的MD5值不同,则校验失败。[0053]相应地,当中间件根据子步骤S650校验目标数据通过时,中间件即将目标数据反馈给客户端10;而当中间件根据子步骤S650校验目标数据失败时,中间件即执行步骤S210。[0054]可以理解,在本发明实施例中,当中间件根据子步骤S630判定数据下载请求中携带有文件加密请求时,子步骤S650中按照预设的校验方式进行校验的即为该加密后的目标数据;当中间件根据子步骤S630判定数据下载请求中没有携带文件加密请求时,子步骤S650中按照预设的校验方式进行校验的即为该没有加密的目标数据[0055]并且,在本发明实施例其他的一些实施方式中,该预设的校验方式还可以采用其他的校验方法,例如数字签名校验或者是奇偶校验等。[0056]子步骤S621,中间件依据反馈的数据下载地址,继续下载缓存数据之外其他未下载的部分数据,且整合缓存数据及下载到的数据得到目标数据。[0057]相应地,当中间件根据子步骤S620判定客户端10本地存储的缓存数据与目标服务器30反馈的目标数据大小不同时,中间件此时即依据该反馈的数据下载地址,继续下载目标数据中缓存数据之外其他未下载的部分数据,且当缓存数据之外其他未下载的部分数据下载完成后,整合缓存数据及该下载到的数据,得到目标数据,进而以整合得到的目标数据执行子步骤S630。[0058]子步骤S611,中间件依据反馈的数据下载地址,下载反馈的数据下载地址中的所有数据,并将所下载到的所有数据作为目标数据。[0059]相应地,当中间件根据子步骤S610判定客户端10本地不存储有与数据下载请求相对应的缓存数据时,中间件即依据该反馈的数据下载地址,下载该反馈的数据下载地址中的所有数据,并以中间件所下载得到的所有数据作为目标数据,再以得到的目标数据执行子步骤S630。[0060]基于上述设计,本发明实施例所提供的一种数据下载方法,通过在客户端1〇中配置中间件,以使中间件依据数据下载请求中包含的数据下载标识及数据下载端口,在判定该数据下载请求包含的数据下载标识不存在于预设的数据库时,依据数据下载端口向目标服务器30发送下载地址获取请求,并依据目标服务器30反馈的数据下载地址下载目标数据,相比于现有技术,使中间件能够获取目标数据的最新下载地址以持续低下载目标数据,避免因下载地址失效导致的目标数据下载中断,进而提升用户的下载体验。[0061]作为一种实施方式,请继续参阅图2,该数据下载方法还包括以下步骤:[0062]步骤S410,中间件不响应数据下载请求。[0063]相应地,当中间件根据步骤S400判定当前下载任务数己经达到预设的下载任务最大值时,表征中间件当前的所有下载任务的总数量己经达到同时下载任务上限,不能再执行下载其他任务,此时中间件即不响应该数据下载请求,并继续执行步骤S400,直到当前下载任务数未达到预设的下载任务最大值时,继续执行步骤S500。[0064]步骤S210,中间件向客户端反馈预设的下载失败信息。[0065]相应地,当中间件根据步骤S200判定当前的数据下载请求中的数据下载标识存在于该预设的数据库时,表征当前的数据下载请求所下载的目标数据存在当前的所有下载任务中,不需要新建下载任务,此时中间件即向客户端10反馈预设的下载失败信息,告知用户该数据下载请求下载失败。[0066]并且,当中间件根据子步骤S650按照预设的校验方式校验数据数据失败时,中间件同样向客户端10反馈该预设的下载失败信息。[0067]值得说明的是,在本发明实施例其他的一些实施方式中,中间件在执行完步骤S500向目标服务器30发送下载地址获取请求后,中间件即等待接收目标服务器30反馈数据下载地址,若在预设的时间间隔后,中间件没有接收到目标服务器30反馈的数据下载地址,表征数据下载地址获取失败,此时中间件即执行步骤S210;相应地,当中间件在预设的时间间隔内接收到了目标服务器30反馈的数据下载地址,此时中间件即以该反馈的数据下载地址,执行步骤S600。[0068]请参阅图4,图4示出了本发明实施例所提供的一种数据下载装置20的一种示意性结构图,该数据下载装置20应用于如图1所示的客户端10,该客户端10与目标服务器30建立通信,客户端10中配置有中间件,在本发明实施例中,该数据下载装置20包括下载请求接收模块100、第一判断模块200、下载任务新建模块300、下载地址请求模块400及数据下载模块500〇[0069]下载请求接收模块100用于所述中间件接收所述接收客户端10的数据下载请求,其中,所述数据下载请求中至少包含数据下载标识及数据下载端口。[0070]第一判断模块200用于所述中间件判断所述数据下载标识是否存在于预设的数据库中。[0071]下载任务新建模块300用于当所述中间件判定所述数据下载标识不存在于所述预设的数据库时,所述中间件新建数据下载任务,并将所述数据下载标识与所述新建的数据下载任务相关联,且将所述数据下载标识存储在所述预设的数据库中。[0072]下载地址请求模块400用于所述中间件响应所述数据下载请求,并依据所述数据下载端口,向所述目标服务器30发送下载地址获取请求,以使所述目标服务器30生成与所述数据下载请求相对应的数据下载地址。[0073]数据下载模块500用于所述中间件接收所述目标服务器30反馈的数据下载地址,并以所述反馈的数据下载地址下载目标数据,其中,所述反馈的数据下载地址为所述目标数据的最新下载地址。[0074]具体地,请参阅图5,图5示出了本发明实施例所提供的一种数据下载装置20的数据下载模块500的一种示意性结构图,所述数据下载模块500包括第一判断单元510、数据下载单元520、第二判断单元530、第三判断单元540、文件加密单元550、第四判断单元560、文件校验单元570及数据反馈单元580。[0075]第一判断单元510用于所述中间件判断所述客户端10本地是否存储有与所述数据下载请求相对应的缓存数据。[0076]数据下载单元520用于所述中间件依据所述反馈的数据下载地址,下载所述反馈的数据下载地址中的所有数据,并将所下载到的所有数据作为目标数据。[0077]第二判断单元530用于当所述中间件判定所述客户端10本地存储有所述缓存数据时,所述中间件判断所述缓存数据的大小与所述反馈的目标数据大小是否相同。[0078]所述数据下载单元520还用于当所述中间件通过所述第二判断单元530判定所述缓存数据的大小与所述反馈的目标数据大小不同时,所述中间件依据所述反馈的数据下载地址,继续下载所述缓存数据之外其他未下载的部分数据,且整合所述缓存数据及所述下载到的数据得到所述目标数据。[0079]第三判断单元540用于判断所述数据下载请求中携带有文件加密请求。[0080]文件加密单元550用于当所述中间件通过第三判断单元540判定所述数据下载请求中携带有文件加密请求时,按照预设的加密方式加密所述目标数据。[0081]第四判断单元560用于判断所述数据下载请求中是否携带有文件校验请求。[0082]文件校验单元570用于当所述中间件通过第四判断单元56〇判定所述数据下载请求中携带有文件校验请求时,按照预设的校验方式校验所述目标数据。[0083]数据反馈单元580用于所述中间件将所述目标数据反馈给所述客户端10。[0084]作为一种实施方式,请继续参阅图4,在本发明实施例中,该数据下载装置20还包括下载失败反馈模块600及第二判断模块700。[0085]下载失败反馈模块600用于当所述中间件判定所述数据下载标识存在于所述预设的数据库时,所述中间件向所述客户端10反馈预设的下载失败信息。[0086]第二判断模块700用于所述中间件判断当前下载任务数是否达到预设的下载任务最大值。其中,当所述中间件判定当前下载任务数未达到所述预设的下载任务最大值时,所述中间件响应所述数据下载请求,并依据所述数据下载端口,向目标服务器30发送下载地址获取请求,以使所述目标服务器3〇生成与所述数据下载请求相对应的数据下载地址。[0087]在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和或流程图中的每个方框、以及框图和或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。[0088]另外,在本发明实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。[0089]所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,或者网络设备等执行本发明实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器R〇M,Read-〇nlyMemory、随机存取存储器RAM,RandomAccessMemory、磁碟或者光盘等各种可以存储程序代码的介质。[0090]综上所述,本发明实施例所提供的一种数据下载方法及装置,通过在客户端10中配置中间件,以使中间件依据数据下载请求中包含的数据下载标识及数据下载端口,在判定该数据下载请求包含的数据下载标识不存在于预设的数据库时,依据数据下载端口向目标服务器3〇发送下载地址获取请求,并依据目标服务器30反馈的数据下载地址下载目标数据,相比于现有技术,使中间件能够获取目标数据的最新下载地址以持续低下载目标数据,避免因下载地址失效导致的目标数据下载中断,进而提升用户的下载体验;还通过判断客户端10本地是否有缓存数据,且在判定客户端10本地存储有缓存数据时,依据该缓存数据继续下载缓存数据之外其他未下载的部分数据,进而得到目标数据,节约下载时间,提升数据下载效率,进一步提升用户体验。[0091]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。[0092]对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

权利要求:1.一种数据下载方法,其特征在于,应用于客户端,所述客户端与目标服务器建立通信,所述客户端中配置有中间件,所述方法包括:所述中间件接收所述接收客户端的数据下载请求,其中,所述数据下载请求中至少包含数据下载标识及数据下载端口;所述中间件判断所述数据下载标识是否存在于预设的数据库中;当所述中间件判定所述数据下载标识不存在于所述预设的数据库时,所述中间件新建数据下载任务,并将所述数据下载标识与所述新建的数据下载任务相关联,且将所述数据下载标识存储在所述预设的数据库中;所述中间件响应所述数据下载请求,并依据所述数据下载端口,向所述目标服务器发送下载地址获取请求,以使所述目标服务器生成与所述数据下载请求相对应的数据下载地址;所述中间件接收所述目标服务器反馈的数据下载地址,并以所述反馈的数据下载地址下载目标数据,其中,所述反馈的数据下载地址为所述目标数据的最新下载地址。2.如权利要求1所述的方法,其特征在于,所述方法还包括:当所述中间件判定所述数据下载标识存在于所述预设的数据库时,所述中间件向所述客户端反馈预设的下载失败信息。3.如权利要求1所述的方法,其特征在于,在所述中间件响应所述数据下载请求,并依据所述数据下载端口,向目标服务器发送下载地址获取请求,以使所述目标服务器生成与所述数据下载请求相对应的数据下载地址的步骤之前,所述方法还包括:所述中间件判断当前下载任务数是否达到预设的下载任务最大值;当所述中间件判定当前下载任务数未达到所述预设的下载任务最大值时,执行所述中间件响应所述数据下载请求,并依据所述数据下载端口,向目标服务器发送下载地址获取请求,以使所述目标服务器生成与所述数据下载请求相对应的数据下载地址的步骤。4.如权利要求3所述的方法,其特征在于,在所述中间件响应所述数据下载请求,并依据所述数据下载端口,向目标服务器发送下载地址获取请求,以使所述目标服务器生成与所述数据下载请求相对应的数据下载地址的步骤之前,所述方法还包括:当所述中间件判定当前下载任务数达到所述预设的下载任务最大值时,所述中间件不响应所述数据下载请求,且重复执行所述中间件判断当前下载任务数是否达到预设的下载任务最大值的步骤,以当所述中间件判定当前下载任务数未达到所述预设的下载任务最大值时,执行所述中间件响应所述数据下载请求,并依据所述数据下载端口,向目标服务器发送下载地址获取请求,以使所述目标服务器生成与所述数据下载请求相对应的数据下载地址的步骤。5.如权利要求1所述的方法,其特征在于,所述中间件在接收所述目标服务器反馈的数据下载地址时,还接收所述目标服务器反馈的目标数据大小,所述以所述反馈的数据下载地址下载目标数据的步骤,包括:所述中间件判断所述客户端本地是否存储有与所述数据下载请求相对应的缓存数据;当所述中间件判定所述客户端本地存储有所述缓存数据时,所述中间件判断所述缓存数据的大小与所述反馈的目标数据大小是否相同;当所述中间件判定所述缓存数据的大小与所述反馈的目标数据大小相同时,所述中间件以所述缓存数据作为目标数据,并将所述目标数据反馈给所述客户端。6.如权利要求5所述的方法,其特征在于,所述以所述反馈的数据下载地址下载目标数据的步骤,还包括:当所述中间件判定所述缓存数据的大小小于所述反馈的目标数据大小时,所述中间件依据所述反馈的数据下载地址,继续下载所述缓存数据之外其他未下载的部分数据,且整合所述缓存数据及下载到的数据得到目标数据后,执行所述将所述目标数据反馈给所述客户端的步骤。7.如权利要求5所述的方法,其特征在于,所述以所述反馈的数据下载地址下载目标数据的步骤,还包括:当所述中间件判定所述客户端本地不存储有所述缓存数据时,所述中间件依据所述反馈的数据下载地址,下载所述反馈的数据下载地址中的所有数据,并将所下载到的所有数据作为目标数据后,执行所述将所述目标数据反馈给所述客户端的步骤。8.—种数据下载装置,其特征在于,应用于客户端,所述客户端与目标服务器建立通信,所述客户端中配置有中间件,所述装置包括:下载请求接收模块,用于所述中间件接收所述接收客户端的数据下载请求,其中,所述数据下载请求中至少包含数据下载标识及数据下载端口;第一判断模块,用于所述中间件判断所述数据下载标识是否存在于预设的数据库中;下载任务新建模块,用于当所述中间件判定所述数据下载标识不存在于所述预设的数据库时,所述中间件新建数据下载任务,并将所述数据下载标识与所述新建的数据下载任务相关联,且将所述数据下载标识存储在所述预设的数据库中;下载地址请求模块,用于所述中间件响应所述数据下载请求,并依据所述数据下载端口,向所述目标服务器发送下载地址获取请求,以使所述目标服务器生成与所述数据下载请求相对应的数据下载地址;数据下载模块,用于所述中间件接收所述目标服务器反馈的数据下载地址,并以所述反馈的数据下载地址下载目标数据,其中,所述反馈的数据下载地址为所述目标数据的最新下载地址。9.如权利要求8所述的装置,其特征在于,所述装置还包括:下载失败反馈模块,用于当所述中间件判定所述数据下载标识存在于所述预设的数据库时,所述中间件向所述客户端反馈预设的下载失败信息。10.如权利要求8所述的装置,其特征在于,所述装置还包括:第二判断模块,用于所述中间件判断当前下载任务数是否达到预设的下载任务最大值;其中,当所述中间件判定当前下载任务数未达到所述预设的下载任务最大值时,所述中间件响应所述数据下载请求,并依据所述数据下载端口,向目标服务器发送下载地址获取请求,以使所述目标服务器生成与所述数据下载请求相对应的数据下载地址。

百度查询: 北京高途云集教育科技有限公司 数据下载方法及装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。