发明内容
本发明实施例提供了一种数据下载方法及装置,以至少解决软件分发主要依赖于文件服务器导致的对文件服务器要求较高的技术问题。
根据本发明实施例的一个方面,提供了一种数据下载方法,包括:接收终端发送的用于请求下载指定数据的请求信息;根据请求信息确定用于指示终端下载指定数据的资源下载链接策略;将与资源下载连接策略对应的资源链接发送给终端。
可选地,根据请求信息确定用于指示终端下载指定数据的资源下载链接策略包括:在确定终端所在系统的缓存服务器中存在数据的情况下,判断缓存服务器是否容纳终端下载指定数据;在判断结果为否的情况下,确定资源下载链接策略为从缓存服务器中下载指定数据;在判断结果为是的情况下,确定资源下载链接策略为从终端所在系统中除了终端之外的其他终端和缓存服务器中下载指定数据。
可选地,在确定资源下载链接策略为从缓存服务器中下载指定数据的情况下,将与资源下载连接策略对应的资源链接发送给终端包括:将缓存服务器的资源链接发送给终端;在确定资源下载链接策略为从终端所在系统中除了终端之外的其他终端和缓存服务器中下载指定数据的情况下,将与资源下载连接策略对应的资源链接发送给终端包括:从其他终端依次选择一个终端;将选择的终端的资源链接和缓存服务器的资源链接一起发送给终端,直到所述其他终端的资源链接发送完毕或者所述终端下载所述指定数据完成为止。
可选地,从其他终端依次选择一个终端包括:从预先存储的终端列表中顺序选择一个终端。
根据本发明实施例的一个方面,提供了一种数据下载装置,包括:接收模块,用于接收终端发送的用于请求下载指定数据的请求信息;确定模块,用于根据请求信息确定用于指示终端下载指定数据的资源下载链接策略;发送模块,用于将与资源下载连接策略对应的资源链接发送给终端。
可选地,确定模块包括:判断单元,用于在确定终端所在系统的缓存服务器中存在数据的情况下,判断缓存服务器是否容纳终端下载指定数据;第一确定单元,用于在判断结果为否的情况下,确定资源下载链接策略为从缓存服务器中下载指定数据;第二确定单元,用于在判断结果为是的情况下,确定资源下载链接策略为从终端所在系统中除了终端之外的其他终端和缓存服务器中下载指定数据。
可选地,在第一确定单元确定资源下载链接策略为从缓存服务器中下载指定数据的情况下,发送模块用于将缓存服务器的资源链接发送给终端;在第二确定单元确定资源下载链接策略为从终端所在系统中除了终端之外的其他终端和缓存服务器中下载指定数据的情况下,发送模块用于从其他终端依次选择一个终端,以及将选择的终端的资源链接和缓存服务器的资源链接一起发送给终端,直到所述其他终端的资源链接发送完毕或者所述终端下载所述指定数据完成为止。
可选地,发送模块还用于从预先存储的终端列表中顺序选择一个终端。
根据本发明实施例的一个方面,提供了一种存储介质,存储介质包括存储的程序,其中,程序运行时执行上述任一项的方法。
根据本发明实施例的一个方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任一项的方法。
在本发明实施例中,采用将终端下载指定数据的相应的资源链接下发给终端的方式,使得终端可以基于该资源链接下载该指定数据,进而使得其不再依赖于文件服务器,进而可以实现在文件服务器的要求不那么苛刻的情况下也能够下载到指定数据的目的,进而解决了软件分发主要依赖于文件服务器导致的对文件服务器要求较高的技术问题。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种数据下载的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例提供的数据下载方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤S102,接收终端发送的用于请求下载指定数据的请求信息;
步骤S104,根据请求信息确定用于指示终端下载指定数据的资源下载链接策略;
步骤S106,将与资源下载连接策略对应的资源链接发送给终端。
通过上述步骤,采用将终端下载指定数据的相应的资源链接下发给终端的方式,使得终端可以基于该资源链接下载该指定数据,进而使得其不再依赖于文件服务器,进而可以实现在文件服务器的要求不那么苛刻的情况下也能够下载到指定数据的目的,进而解决了软件分发主要依赖于文件服务器导致的对文件服务器要求较高的技术问题。
在本发明的一个实施例中,上述步骤S104可以表现为:在确定终端所在系统的缓存服务器中存在数据的情况下,判断缓存服务器是否容纳终端下载指定数据;在判断结果为否的情况下,确定资源下载链接策略为从缓存服务器中下载指定数据;在判断结果为是的情况下,确定资源下载链接策略为从终端所在系统中除了终端之外的其他终端和缓存服务器中下载指定数据。即在缓存服务器在压力可控范围内的情况下终端优先从缓存服务器中下载指定数据,如果缓存服务器压力较大,则终端从其他终端和缓存服务器中下载该指定数据。
需要说明的是,在确定资源下载链接策略为从缓存服务器中下载指定数据的情况下,上述步骤S106可以包括:将缓存服务器的资源链接发送给终端;在确定资源下载链接策略为从终端所在系统中除了终端之外的其他终端和缓存服务器中下载指定数据的情况下,上述步骤S106可以包括:从其他终端依次选择一个终端;将选择的终端的资源链接和缓存服务器的资源链接一起发送给终端,直到所述其他终端的资源链接发送完毕或者所述终端下载所述指定数据完成为止。
需要说明的是,从其他终端依次选择一个终端可以包括:从预先存储的终端列表中顺序选择一个终端。
需要说明的是,终端在下载数据的同时可以存储上一次下载到的文件,因而实际上终端列表中所包括的终端缓存了上一次下载到的文件,因而通过上述方式,可以实现相互提供信息,起到一个分流下载,可靠下载的目的。
比如:终端列表中包括4个终端,这4个终端分别缓存了一部分数据,缓存服务器中缓存了部分数据,而这4个终端和缓存服务器中缓存的这些数据包括了终端需要下载的指定数据,因而终端可以直接从该4个终端和缓存服务器中获取该指定数据,但并不限于此。
需要说明的是,上述步骤的执行主体是管理服务器,其中,所述管理服务器与上述终端和其他终端连接,但并不限于此。
在本发明的一个实施例中,在上述步骤S106之后,上述方法还可以包括:终端根据接收到的资源链接下载指定数据。
需要说明的是,在上述资源链接终端根据接收到的全部的资源链接下载指定数据失败的情况下,向文件服务器发送上述请求信息。即根据上述资源链接下载指定数据失败的情况下,才会考虑向文件服务器中下载该指定数据。
需要说明的是,终端及时更新本地的缓存资源链接,将终端当前缓存的文件列表上报给管理服务器。
根据本发明实施例,提供了一种数据下载装置,图2是根据本发明实施例提供的数据下载装置的结构框图,如图2所示,该装置包括:
接收模块22,用于接收终端发送的用于请求下载指定数据的请求信息;
确定模块24,与上述接收模块22链接,用于根据请求信息确定用于指示终端下载指定数据的资源下载链接策略;
发送模块26,与上述确定模块24链接,用于将与资源下载连接策略对应的资源链接发送给终端。
通过上述装置,采用将终端下载指定数据的相应的资源链接下发给终端的方式,使得终端可以基于该资源链接下载该指定数据,进而使得其不再依赖于文件服务器,进而可以实现在文件服务器的要求不那么苛刻的情况下也能够下载到指定数据的目的,进而解决了软件分发主要依赖于文件服务器导致的对文件服务器要求较高的技术问题。
在本发明的一个实施例中,上述确定模块24可以包括:判断单元,用于在确定终端所在系统的缓存服务器中存在数据的情况下,判断缓存服务器是否容纳终端下载指定数据;第一确定单元,用于在判断结果为否的情况下,确定资源下载链接策略为从缓存服务器中下载指定数据;第二确定单元,用于在判断结果为是的情况下,确定资源下载链接策略为从终端所在系统中除了终端之外的其他终端和缓存服务器中下载指定数据。
需要说明的是,在第一确定单元确定资源下载链接策略为从缓存服务器中下载指定数据的情况下,发送模块26用于将缓存服务器的资源链接发送给终端;在第二确定单元确定资源下载链接策略为从终端所在系统中除了终端之外的其他终端和缓存服务器中下载指定数据的情况下,发送模块26用于从其他终端依次选择一个终端,以及将选择的终端的资源链接和缓存服务器的资源链接一起发送给终端,直到所述其他终端的资源链接发送完毕或者所述终端下载所述指定数据完成为止。
需要说明的是,上述发送模块26还可以用于从预先存储的终端列表中顺序选择一个终端。
需要说明的是,终端在下载数据的同时可以存储上一次下载到的文件,因而实际上终端列表中所包括的终端缓存了上一次下载到的文件,因而通过上述方式,可以实现相互提供信息,起到一个分流下载,可靠下载的目的。
比如:终端列表中包括4个终端,这4个终端分别缓存了一部分数据,缓存服务器中缓存了部分数据,而这4个终端和缓存服务器中缓存的这些数据包括了终端需要下载的指定数据,因而终端可以直接从该4个终端和缓存服务器中获取该指定数据,但并不限于此。
需要说明的是,上述装置可以位于管理服务器中,其中,所述管理服务器与上述终端和其他终端连接,但并不限于此。
在本发明的一个实施例中,上述终端根据接收到的资源链接下载指定数据。
需要说明的是,在上述资源链接终端根据接收到的全部的资源链接下载指定数据失败的情况下,向文件服务器发送上述请求信息。即根据上述资源链接下载指定数据失败的情况下,才会考虑向文件服务器中下载该指定数据。
需要说明的是,终端及时更新本地的缓存资源链接,将终端当前缓存的文件列表上报给管理服务器。
本发明实施例还提供了一种系统,图3是根据本发明实施例提供的系统的结构框图,如图3所示,该系统包括多个终端,管理服务器,缓存服务器,问价服务器,Web管理控制台,其中,多个终端都连接管理服务器。终端向管理服务器获取资源链接策略,终端向管理服务器上报本地的缓存列表。同时,管理服务器连接着文件服务器。在本系统中,管理服务器策略:如果缓存服务器有文件,且缓存服务器在压力可控范围内,优先告诉端从缓存服务器去下载。否则,如果缓存服务器压力较大,则会从终端列表中顺序选择一个终端的链接,结合缓存服务器的资源链接,提供给终端。列表有计数,避免单个终端压力过多。
管理服务器:终端都连接管理服务器。终端向管理服务器获取资源链接策略,终端向管理服务器上报本地的缓存列表。同时,管理服务器连接着文件服务器。管理服务器起到一个沟通协调的作用,根据文件服务器的状态以及各个端的缓存的状态,提供合适的资源下载链接策略给请求端。
终端:终端请求一个文件时,先询问管理服务器。管理服务器会提供给终端缓存服务器的资源链接,以及其他终端的资源链接。终端会按照管理终端提供的资源链接,尝试去下载文件,直到请求成功为止。如果都失败的话,直接请求文件服务器。终端默认只缓存上一次下载到的文件。可设置为缓存上次下载的N个文件,也可以设置不缓存。终端及时更新本地的缓存资源连接,将当前终端缓存的文件列表上报给管理服务器。
本实施例,终端可以缓存部分文件,端之间可以互相请求文件,管理端提供给端文件请求的信息,缓存服务器设立文件的高速缓存,缓存失效,到文件服务器上去获取。根据相互提供的信息,起到一个分流下载,可靠下载的目的。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述任一项方法中的步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。