资源下载方法、电子设备、系统及介质与流程

文档序号:18899015发布日期:2019-10-18 21:40阅读:149来源:国知局
资源下载方法、电子设备、系统及介质与流程
本发明涉及互联网
技术领域
,尤其涉及资源下载方法、电子设备、系统及介质。
背景技术
:随着互联网的发展速度越来越快,人们接触到的信息也越来越零散,种类也越来越繁多,随之诞生了众多的新媒体公司,他们基于移动终端设备创作出大量的娱乐性质的短视频、短文本等内容,充实着人们零散的休闲时间。随着短视频、短文本行业的越来越火,用户对信息传输的质量要求也越来越高,这主要取决于客户端与资源服务器间数据交互的时间消耗。现有技术方案中,客户端在与资源服务器进行数据交互时,如果客户端依次请求多个资源,则需要与每个资源对应的服务器都进行两个步骤:建立链接及数据传输。在上述技术方案中,当资源文件较大时,数据传输时间的占比则较大,可以忽略建立链接的时间消耗对资源的整体下载时间产生的影响。但是当资源文件较小时,建立链接的时间消耗占比则增大,这将对资源的整体下载时间产生很大影响。技术实现要素:本发明的主要目的在于提供资源下载方法、电子设备、系统及介质,旨在利用已经与客户端建立链接的服务器进行资源下载,以避免建立链接的时间消耗对资源下载的整体速度产生影响,提高对资源的下载效率。为实现上述目的,本发明提供一种资源下载方法,所述方法包括:当接收到客户端发送的资源下载请求时,识别待下载资源的url;获取所述url所属的资源组,以及部署所述资源组的至少一个服务器组;检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接;将检测到的已经建立链接的服务器组确定为目标服务器组,将检测到的已经建立的链接确定为目标链接;基于所述目标链接向所述目标服务器组请求所述待下载资源。优选地,所述方法还包括:获取所述客户端链接的所有服务器组;计算所述所有服务器组的热度;将所述所有服务器组按照热度由高到低的顺序进行排序,得到所述客户端的服务器列表,其中,所述服务器列表中的所有服务器通过心跳机制与所述客户端保持链接。优选地,在基于所述目标链接向所述目标服务器组请求所述待下载资源后,所述方法还包括:将所述目标服务器组移至所述服务器列表的首位;将所述服务器列表中的其他服务器组依次向后移位。优选地,在检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接后,所述方法还包括:当在所述至少一个服务器组中没有服务器组与所述客户端已经建立链接时,控制所述客户端与所述至少一个服务器组中的任意服务器组建立链接。优选地,在控制所述客户端与所述至少一个服务器组中的任意服务器组建立链接后,所述方法还包括:获取所述客户端对于服务器组的最大可链接数;确定所述服务器列表中服务器组的当前链接数;对比所述当前链接数与所述最大可链接数,得到对比结果;根据所述对比结果,更新所述服务器列表。优选地,所述根据所述对比结果,更新所述服务器列表包括:当所述当前链接数小于所述最大可链接数时,将所述任意服务器组添加至所述服务器列表的首位,将所述服务器列表中的其他服务器组依次向后移位;或者当所述当前链接数等于所述最大可链接数时,将所述任意服务器组添加至所述服务器列表的首位,将所述服务器列表中的其他服务器组依次向后移位,将移位后排在末位的服务器组进行移除。为实现上述目的,本发明进一步提供一种电子设备,所述电子设备包括:存储器,存储至少一个指令;及处理器,执行所述存储器中存储的指令以实现所述资源下载方法。优选地,所述电子设备为组成内容分发网络或者区块链网络的节点。为实现上述目的,本发明进一步提供一种资源下载系统,所述系统包括:识别单元,用于当接收到客户端发送的资源下载请求时,识别待下载资源的url;获取单元,用于获取所述url所属的资源组,以及部署所述资源组的至少一个服务器组;检测单元,用于检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接;确定单元,用于将检测到的已经建立链接的服务器组确定为目标服务器组,将检测到的已经建立的链接确定为目标链接;请求单元,用于基于所述目标链接向所述目标服务器组请求所述待下载资源。优选地,所述获取单元,还用于获取所述客户端链接的所有服务器组;所述系统还包括:计算单元,用于计算所述所有服务器组的热度;排序单元,用于将所述所有服务器组按照热度由高到低的顺序进行排序,得到所述客户端的服务器列表,其中,所述服务器列表中的所有服务器通过心跳机制与所述客户端保持链接。优选地,所述系统还包括:移位单元,用于在基于所述目标链接向所述目标服务器组请求所述待下载资源后,将所述目标服务器组移至所述服务器列表的首位;所述移位单元,还用于将所述服务器列表中的其他服务器组依次向后移位。优选地,所述系统还包括:控制单元,用于在检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接后,当在所述至少一个服务器组中没有服务器组与所述客户端已经建立链接时,控制所述客户端与所述至少一个服务器组中的任意服务器组建立链接。优选地,所述获取单元,还用于在控制所述客户端与所述至少一个服务器组中的任意服务器组建立链接后,获取所述客户端对于服务器组的最大可链接数;所述确定单元,还用于确定所述服务器列表中服务器组的当前链接数;所述方法还包括:对比单元,用于对比所述当前链接数与所述最大可链接数,得到对比结果;更新单元,用于根据所述对比结果,更新所述服务器列表。优选地,所述更新单元具体用于:当所述当前链接数小于所述最大可链接数时,将所述任意服务器组添加至所述服务器列表的首位,将所述服务器列表中的其他服务器组依次向后移位;或者当所述当前链接数等于所述最大可链接数时,将所述任意服务器组添加至所述服务器列表的首位,将所述服务器列表中的其他服务器组依次向后移位,将移位后排在末位的服务器组进行移除。为实现上述目的,本发明进一步提供一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行所述资源下载方法。综上所述,本发明能够当接收到客户端发送的资源下载请求时,识别待下载资源的url,获取所述url所属的资源组,以及部署所述资源组的至少一个服务器组,进一步检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接,将检测到的已经建立链接的服务器组确定为目标服务器组,将检测到的已经建立的链接确定为目标链接,并基于所述目标链接向所述目标服务器组请求所述待下载资源,从而利用已经与客户端建立链接的服务器进行资源下载,以避免建立链接的时间消耗对资源下载的整体速度产生影响,提高对资源的下载效率。附图说明图1为本发明一实施例的流程示意图;图2为本发明一实施例揭露的电子设备的内部结构示意图;图3为本发明资源下载系统的功能模块示意图;本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。主要元件符号说明电子设备1存储器12处理器13资源下载系统11识别单元110获取单元111检测单元112确定单元113请求单元114计算单元115排序单元116移位单元117控制单元118对比单元119更新单元120具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。本发明提供一种资源下载方法。参照图1,图1为本发明一实施例的流程示意图。根据不同的需求,该流程示意图中步骤的顺序可以改变,某些步骤可以省略。所述资源下载方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,所述电子设备的硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备等。所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloudcomputing)的由大量主机或网络服务器构成的云。所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。在一实施例中,该方法包括:s10,当接收到客户端发送的资源下载请求时,识别待下载资源的url(uniformresourcelocator,统一资源定位符)。在本发明的至少一个实施例中,当所述客户端需要下载所述待下载资源时,所述客户端向所述电子设备发送所述资源下载请求。其中,所述资源下载请求中包括所述待下载资源的url,所述url用于标识所述待下载资源。s11,获取所述url所属的资源组,以及部署所述资源组的至少一个服务器组。在本发明的至少一个实施例中,在一个所述资源组中可以包括多个资源,所述多个资源中的每个资源都对应一个url。进一步地,一个资源组可以部署于至少一个服务器组,并且每个服务器组中可以包括多个服务器。在本发明的至少一个实施例中,为了区分每个资源组,所述电子设备还可以为每个资源组配置一个组id(identification,身份识别码),所述组id能够唯一标识一个资源组,以避免由于对资源组识别有误,导致对所述待下载资源的下载出现错误。在本发明的至少一个实施例中,同属于一个资源组的多个资源还具有相关性,以提高所述资源下载请求的命中率。s12,检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接。在本发明的至少一个实施例中,在所述至少一个服务器组中,如果有服务器组中的任意服务器与所述客户端已经建立链接,则所述电子设备确定在所述至少一个服务器组中有服务器组与所述客户端已经建立链接。相应地,在所述至少一个服务器组中,如果不存在任何服务器与所述客户端已经建立链接,则所述电子设备确定在所述至少一个服务器组中没有服务器组与所述客户端已经建立链接。s13,将检测到的已经建立链接的服务器组确定为目标服务器组,将检测到的已经建立的链接确定为目标链接。例如:有a、b、c三个服务器组部署了所述资源组,其中,a服务器组包括x、y、z三个服务器,b服务器组包括m、n、q三个服务器,c服务器组包括p、q、k三个服务器,当检测到服务器x与所述客户端已经建立了链接m时,则所述电子设备将所述服务器x所属的所述a服务器组确定为所述目标服务器组,同时,所述电子设备将已经建立的所述链接m确定为所述目标链接。s14,基于所述目标链接向所述目标服务器组请求所述待下载资源。在本发明的至少一个实施例中,所述电子设备无需重新与所述目标服务器组建立链接,而是直接采用已经建立的所述目标链接向所述目标服务器组请求所述待下载资源。通过上述实施方式,能够跳过建立链接的过程,进而有效提高了资源下载的效率。在本发明的至少一个实施例中,所述方法还包括:所述电子设备获取所述客户端链接的所有服务器组,并计算所述所有服务器组的热度,所述电子设备将所述所有服务器组按照热度由高到低的顺序进行排序,得到所述客户端的服务器列表。其中,所述服务器列表中的所有服务器通过心跳机制与所述客户端保持链接。具体地,所述心跳机制是指所述客户端周期性地向所述所有服务器发送心跳包(所述心跳包为一个空数据包),以保持所述客户端与所述所有服务器间的链接。在本发明的至少一个实施例中,所述电子设备可以通过所述客户端对所述服务器组中每个服务器组的请求频率来计算所述所有服务器组的热度,以便对所述所有服务器组按照热度进行排序。在本发明的至少一个实施例中,在基于所述目标链接向所述目标服务器组请求所述待下载资源后,所述方法还包括:所述电子设备将所述目标服务器组移至所述服务器列表的首位,并将所述服务器列表中的其他服务器组依次向后移位。例如:所述服务器列表中包括a、b、c三个服务器组,并且三个服务器组的排列顺序为a到b到c,如果所述目标服务器为d,则所述服务器列表更新为d到a到b到c。在本发明的至少一个实施例中,在检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接后,所述方法还包括:当在所述至少一个服务器组中没有服务器组与所述客户端已经建立链接时,所述电子设备控制所述客户端与所述至少一个服务器组中的任意服务器组建立链接。可以理解的是,在没有已经建立链接的服务器组时,只能采取正常的资源下载步骤进行下载,即所述电子设备控制所述客户端与所述至少一个服务器组中的任意服务器组建立链接,以便后续根据建立的链接对所述待下载资源进行下载。在本发明的至少一个实施例中,在控制所述客户端与所述至少一个服务器组中的任意服务器组建立链接后,所述方法还包括:所述电子设备获取所述客户端对于服务器组的最大可链接数,并确定所述服务器列表中服务器组的当前链接数,所述电子设备对比所述当前链接数与所述最大可链接数,得到对比结果,并进一步根据所述对比结果,更新所述服务器列表。在本发明的至少一个实施例中,所述电子设备根据所述对比结果,更新所述服务器列表包括:(1)当所述当前链接数小于所述最大可链接数时,所述电子设备将所述任意服务器组添加至所述服务器列表的首位,并将所述服务器列表中的其他服务器组依次向后移位。可以理解的是,对于刚刚建立链接的所述任意服务器,所述客户端对其是有下载需求的,因此,所述电子设备添加所述任意服务器组至所述服务器列表的首位,以便于后续使用。(2)当所述当前链接数等于所述最大可链接数时,所述电子设备将所述任意服务器组添加至所述服务器列表的首位,并将所述服务器列表中的其他服务器组依次向后移位,进一步地,所述电子设备将移位后排在末位的服务器组进行移除。通过上述实施方式,所述电子设备能够及时从所述服务器列表中移除不常用的服务器组,以避免冗余的服务器组占用过多的资源,对整体的服务及运行产生影响。综上所述,本发明能够当接收到客户端发送的资源下载请求时,识别待下载资源的url,获取所述url所属的资源组,以及部署所述资源组的至少一个服务器组,进一步检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接,将检测到的已经建立链接的服务器组确定为目标服务器组,将检测到的已经建立的链接确定为目标链接,并基于所述目标链接向所述目标服务器组请求所述待下载资源,从而利用已经与客户端建立链接的服务器进行资源下载,以避免建立链接的时间消耗对资源下载的整体速度产生影响,提高对资源的下载效率。参见图2,在本实施例中,所述电子设备1是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。所述电子设备1还可以是但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备终端设备、桌上型计算机、云端服务器等计算设备等。所述电子设备1所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。所述电子设备1可以是组成内容分发网络或者区块链网络的节点。所述电子设备1可以包括存储器12、处理器13和总线,还可以包括存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如资源下载程序。本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备等。其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器12还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如资源下载程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。处理器13在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器12中存储的程序代码或处理数据,例如执行资源下载程序等。所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个资源下载方法实施例中的步骤,例如图1所示的步骤s10、s11、s12、s13、s14。或者,所述处理器13执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如:当接收到客户端发送的资源下载请求时,识别待下载资源的url;获取所述url所属的资源组,以及部署所述资源组的至少一个服务器组;检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接;将检测到的已经建立链接的服务器组确定为目标服务器组,将检测到的已经建立的链接确定为目标链接;基于所述目标链接向所述目标服务器组请求所述待下载资源。该总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成识别单元110、获取单元111、检测单元112、确定单元113、请求单元114、计算单元115、排序单元116、移位单元117、控制单元118、对比单元119及更新单元120。进一步地,电子设备还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。可选地,该电子设备1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。图2仅示出了具有组件12-13,以及资源下载程序的电子设备1,本领域技术人员可以理解的是,图2示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种资源下载方法,所述处理器13可执行所述多个指令从而实现:当接收到客户端发送的资源下载请求时,识别待下载资源的url;获取所述url所属的资源组,以及部署所述资源组的至少一个服务器组;检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接;将检测到的已经建立链接的服务器组确定为目标服务器组,将检测到的已经建立的链接确定为目标链接;基于所述目标链接向所述目标服务器组请求所述待下载资源。根据本发明优选实施例,所述处理器13还执行多个指令包括:获取所述客户端链接的所有服务器组;计算所述所有服务器组的热度;将所述所有服务器组按照热度由高到低的顺序进行排序,得到所述客户端的服务器列表,其中,所述服务器列表中的所有服务器通过心跳机制与所述客户端保持链接。根据本发明优选实施例,所述处理器13还执行多个指令包括:将所述目标服务器组移至所述服务器列表的首位;将所述服务器列表中的其他服务器组依次向后移位。根据本发明优选实施例,所述处理器13还执行多个指令包括:当在所述至少一个服务器组中没有服务器组与所述客户端已经建立链接时,控制所述客户端与所述至少一个服务器组中的任意服务器组建立链接。根据本发明优选实施例,所述处理器13还执行多个指令包括:获取所述客户端对于服务器组的最大可链接数;确定所述服务器列表中服务器组的当前链接数;对比所述当前链接数与所述最大可链接数,得到对比结果;根据所述对比结果,更新所述服务器列表。根据本发明优选实施例,所述处理器13还执行多个指令包括:当所述当前链接数小于所述最大可链接数时,将所述任意服务器组添加至所述服务器列表的首位,将所述服务器列表中的其他服务器组依次向后移位;或者当所述当前链接数等于所述最大可链接数时,将所述任意服务器组添加至所述服务器列表的首位,将所述服务器列表中的其他服务器组依次向后移位,将移位后排在末位的服务器组进行移除。参照图3,为本发明资源下载系统的功能模块示意图。所述资源下载系统11包括识别单元110、获取单元111、检测单元112、确定单元113、请求单元114、计算单元115、排序单元116、移位单元117、控制单元118、对比单元119及更新单元120。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。当接收到客户端发送的资源下载请求时,识别单元110识别待下载资源的url(uniformresourcelocator,统一资源定位符)。在本发明的至少一个实施例中,当所述客户端需要下载所述待下载资源时,所述客户端发送所述资源下载请求。其中,所述资源下载请求中包括所述待下载资源的url,所述url用于标识所述待下载资源。获取单元111获取所述url所属的资源组,以及部署所述资源组的至少一个服务器组。在本发明的至少一个实施例中,在一个所述资源组中可以包括多个资源,所述多个资源中的每个资源都对应一个url。进一步地,一个资源组可以部署于至少一个服务器组,并且每个服务器组中可以包括多个服务器。在本发明的至少一个实施例中,为了区分每个资源组,还可以为每个资源组配置一个组id(identification,身份识别码),所述组id能够唯一标识一个资源组,以避免由于对资源组识别有误,导致对所述待下载资源的下载出现错误。在本发明的至少一个实施例中,同属于一个资源组的多个资源还具有相关性,以提高所述资源下载请求的命中率。检测单元112检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接。在本发明的至少一个实施例中,在所述至少一个服务器组中,如果有服务器组中的任意服务器与所述客户端已经建立链接,则所述检测单元112确定在所述至少一个服务器组中有服务器组与所述客户端已经建立链接。相应地,在所述至少一个服务器组中,如果不存在任何服务器与所述客户端已经建立链接,则所述检测单元112确定在所述至少一个服务器组中没有服务器组与所述客户端已经建立链接。确定单元113将检测到的已经建立链接的服务器组确定为目标服务器组,将检测到的已经建立的链接确定为目标链接。例如:有a、b、c三个服务器组部署了所述资源组,其中,a服务器组包括x、y、z三个服务器,b服务器组包括m、n、q三个服务器,c服务器组包括p、q、k三个服务器,当检测到服务器x与所述客户端已经建立了链接m时,则所述确定单元113将所述服务器x所属的所述a服务器组确定为所述目标服务器组,同时,所述确定单元113将已经建立的所述链接m确定为所述目标链接。请求单元114基于所述目标链接向所述目标服务器组请求所述待下载资源。在本发明的至少一个实施例中,所述请求单元114无需重新与所述目标服务器组建立链接,而是直接采用已经建立的所述目标链接向所述目标服务器组请求所述待下载资源。通过上述实施方式,能够跳过建立链接的过程,进而有效提高了资源下载的效率。在本发明的至少一个实施例中,所述方法还包括:所述获取单元111获取所述客户端链接的所有服务器组,计算单元115计算所述所有服务器组的热度,排序单元116将所述所有服务器组按照热度由高到低的顺序进行排序,得到所述客户端的服务器列表。其中,所述服务器列表中的所有服务器通过心跳机制与所述客户端保持链接。具体地,所述心跳机制是指所述客户端周期性地向所述所有服务器发送心跳包(所述心跳包为一个空数据包),以保持所述客户端与所述所有服务器间的链接。在本发明的至少一个实施例中,所述计算单元115可以通过所述客户端对所述服务器组中每个服务器组的请求频率来计算所述所有服务器组的热度,以便对所述所有服务器组按照热度进行排序。在本发明的至少一个实施例中,在基于所述目标链接向所述目标服务器组请求所述待下载资源后,所述方法还包括:移位单元117将所述目标服务器组移至所述服务器列表的首位,并将所述服务器列表中的其他服务器组依次向后移位。例如:所述服务器列表中包括a、b、c三个服务器组,并且三个服务器组的排列顺序为a到b到c,如果所述目标服务器为d,则所述服务器列表更新为d到a到b到c。在本发明的至少一个实施例中,在检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接后,所述方法还包括:当在所述至少一个服务器组中没有服务器组与所述客户端已经建立链接时,控制单元118控制所述客户端与所述至少一个服务器组中的任意服务器组建立链接。可以理解的是,在没有已经建立链接的服务器组时,只能采取正常的资源下载步骤进行下载,即所述控制单元118控制所述客户端与所述至少一个服务器组中的任意服务器组建立链接,以便后续根据建立的链接对所述待下载资源进行下载。在本发明的至少一个实施例中,在控制所述客户端与所述至少一个服务器组中的任意服务器组建立链接后,所述方法还包括:所述获取单元111获取所述客户端对于服务器组的最大可链接数,所述确定单元113确定所述服务器列表中服务器组的当前链接数,对比单元119对比所述当前链接数与所述最大可链接数,得到对比结果,更新单元120进一步根据所述对比结果,更新所述服务器列表。在本发明的至少一个实施例中,所述更新单元120根据所述对比结果,更新所述服务器列表包括:(1)当所述当前链接数小于所述最大可链接数时,所述更新单元120将所述任意服务器组添加至所述服务器列表的首位,并将所述服务器列表中的其他服务器组依次向后移位。可以理解的是,对于刚刚建立链接的所述任意服务器,所述客户端对其是有下载需求的,因此,所述更新单元120添加所述任意服务器组至所述服务器列表的首位,以便于后续使用。(2)当所述当前链接数等于所述最大可链接数时,所述更新单元120将所述任意服务器组添加至所述服务器列表的首位,并将所述服务器列表中的其他服务器组依次向后移位,进一步地,所述更新单元120将移位后排在末位的服务器组进行移除。通过上述实施方式,所述更新单元120能够及时从所述服务器列表中移除不常用的服务器组,以避免冗余的服务器组占用过多的资源,对整体的服务及运行产生影响。综上所述,本发明能够当接收到客户端发送的资源下载请求时,识别待下载资源的url,获取所述url所属的资源组,以及部署所述资源组的至少一个服务器组,进一步检测所述至少一个服务器组中是否有服务器组与所述客户端已经建立链接,将检测到的已经建立链接的服务器组确定为目标服务器组,将检测到的已经建立的链接确定为目标链接,并基于所述目标链接向所述目标服务器组请求所述待下载资源,从而利用已经与客户端建立链接的服务器进行资源下载,以避免建立链接的时间消耗对资源下载的整体速度产生影响,提高对资源的下载效率。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、移动硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态移动硬盘solidstatedisk(ssd))等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,均同理包括在本发明的专利保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1