CN113612815A - 一种资源下载方法、装置及计算机可读存储介质 - Google Patents
一种资源下载方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113612815A CN113612815A CN202110757570.5A CN202110757570A CN113612815A CN 113612815 A CN113612815 A CN 113612815A CN 202110757570 A CN202110757570 A CN 202110757570A CN 113612815 A CN113612815 A CN 113612815A
- Authority
- CN
- China
- Prior art keywords
- resource
- client
- downloading
- server
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种资源下载方法、装置及计算机可读存储介质,该资源下载方法包括:资源服务器接收多个客户端发起的资源下载请求,并根据资源下载请求为多个客户端分别分配资源下载权限,然后根据资源下载权限分别向多个客户端反馈相应的资源下载地址;具有资源下载权限的第一客户端根据所获取的服务器资源下载地址,从资源服务器下载目标资源,而不具有资源下载权限的第二客户端则根据所获取资源共享客户端地址,从相应第一客户端下载目标资源。通过本申请方案的实施,拥有下载权的客户端从服务器下载资源,并可将所下载的资源共享给没有下载权的客户端,从而有效减轻了资源服务器的负载,节省了网络带宽,降低了资源响应时延。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种资源下载方法、装置及计算机可读存储介质。
背景技术
随着信息化时代的来临,客户端通常具备向资源服务器请求资源的需求,然而在实际应用中,资源服务器面临这大量客户端所发起的并发请求。一方面,由于资源服务器的负载能力有限,当大量客户端同时向资源服务器发起资源请求时,容易导致资源服务器无法负载,而拒绝请求或报错;另一方面,不同客户端所请求的资源可能相同,也即资源服务器需要对同一份资源进行重复响应,导致网络带宽浪费较大,且增加了用户响应时延。
发明内容
本申请实施例提供了一种资源下载方法、装置及计算机可读存储介质,至少能够解决相关技术中采用的资源请求响应方式所存在的服务器负载较大、网络带宽浪费较大以及资源响应时延较大的问题。
本申请实施例第一方面提供了一种资源下载方法,应用于包括多个客户端的客户端网络,包括:
客户端网络中多个客户端向资源服务器发起资源下载请求,各客户端获取所述资源服务器根据所述各客户端的资源下载权限相应反馈的资源下载地址;其中,具有所述资源下载权限的第一客户端所对应分配的所述资源下载地址为服务器资源下载地址,不具有所述资源下载权限的第二客户端所对应分配的所述资源下载地址为资源共享客户端地址;
具有所述资源下载权限的所述第一客户端根据所述服务器资源下载地址,从所述资源服务器下载目标资源;
不具有所述资源下载权限的所述第二客户端根据所述资源共享客户端地址,从相应所述第一客户端下载目标资源。
本申请实施例第二方面提供了一种资源下载方法,应用于资源服务器,包括:
接收客户端网络中多个客户端发起的资源下载请求,并根据所述资源下载请求为所述多个客户端分别分配资源下载权限;
根据所述资源下载权限分别向所述多个客户端反馈相应的资源下载地址;其中,具有所述资源下载权限的第一客户端所对应分配的所述资源下载地址为服务器资源下载地址,不具有所述资源下载权限的第二客户端所对应分配的所述资源下载地址为资源共享客户端地址,所述资源共享客户端地址用于所述第二客户端从相应所述第一客户端下载目标资源;
根据具有所述资源下载权限的第一客户端发送的资源下载地址访问请求,向所述第一客户端反馈请求下载的目标资源。
本申请实施例第三方面提供了一种电子装置,包括:存储器、处理器及总线,总线用于实现存储器、处理器之间的连接通信;处理器用于执行存储在存储器上的第一计算机程序和第二计算机程序,处理器执行第一计算机程序时,实现上述本申请实施例第一方面提供的方法中的步骤,处理器执行第二计算机程序时,实现上述本申请实施例第二方面提供的方法中的步骤。
本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有第一计算机程序或第二计算机程序,其特征在于,第一计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的方法中的步骤,第二计算机程序被处理器执行时,实现上述本申请实施例第二方面提供的方法中的步骤。
由上可见,根据本申请方案所提供的资源下载方法、装置及计算机可读存储介质,资源服务器接收多个客户端发起的资源下载请求,并根据资源下载请求为多个客户端分别分配资源下载权限,然后根据资源下载权限分别向多个客户端反馈相应的资源下载地址;具有资源下载权限的第一客户端根据所获取的服务器资源下载地址,从资源服务器下载目标资源,而不具有资源下载权限的第二客户端则根据所获取资源共享客户端地址,从相应第一客户端下载目标资源。通过本申请方案的实施,拥有下载权的客户端从服务器下载资源,并可将所下载的资源共享给没有下载权的客户端,从而有效减轻了资源服务器的负载,节省了网络带宽,降低了资源响应时延。
附图说明
图1为本申请第一实施例提供的一种通信系统架构示意图;
图2为本申请第一实施例提供的应用于客户端网络侧的资源下载方法的基本流程示意图;
图3为本申请第一实施例提供的应用于资源服务器侧的资源下载方法的基本流程示意图;
图4为本申请第二实施例提供的资源下载方法的细化流程示意图;
图5为本申请第四实施例提供的电子装置的结构示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决相关技术中采用的资源请求响应方式所存在的服务器负载较大、网络带宽浪费较大以及资源响应时延较大的缺陷,本申请第一实施例提供了一种资源下载方法,应用于包括多个客户端的客户端网络,如图1所示为本实施例提供的一种通信系统架构示意图,其中A表示资源服务器,B表示客户端网络,资源服务器与客户端网络通过路由器进行通信,多个客户端处于同一内部局域网络,各客户端之间可通信连接,图1中矩形图示a表示具有资源下载权限的客户端,而圆形图示b则表示不具有资源下载权限的客户端。应当理解的是,在本实施例中,客户端网络可以采用树状结构实现,而不同客户端对应于该树状结构上的不同叶子节点。
如图2为本实施例提供的应用于客户端网络侧的资源下载方法的基本流程图,该资源下载方法包括以下的步骤:
步骤201、客户端网络中多个客户端向资源服务器发起资源下载请求,各客户端获取资源服务器根据各客户端的资源下载权限相应反馈的资源下载地址。
具体的,在本实施例中,具有资源下载权限的第一客户端所对应分配的资源下载地址为服务器资源下载地址,不具有资源下载权限的第二客户端所对应分配的资源下载地址为资源共享客户端地址。本实施例的所有客户端可以采用并行方式向资源服务器发起资源下载请求,资源下载请求为同一资源下载请求,也即不同客户端所请求的资源相同,例如当前所有客户端在播放同一视频时,所有客户端同时向服务器发起对应视频资源的请求。
当多个客户端同时向资源服务器发起获取资源下载地址的请求时,服务器首先需要评估各客户端的资源下载权限,该资源下载权限用于表征客户端是否具备从服务器下载资源的权限,然后服务器以此权限向客户端对应反馈不同资源下载地址。
步骤202、具有资源下载权限的第一客户端根据服务器资源下载地址,从资源服务器下载目标资源。
具体的,在本实施例中,针对有权从资源服务器下载资源的第一客户端,资源服务器为其分配的资源下载地址为服务器资源下载地址,该地址用于表征资源在服务器上的存储位置,从而第一客户端可依此地址的指示从资源服务器下载以期资源。应当说明的是,在实际应用中,客户端通过路由器访问资源服务器。
步骤203、不具有资源下载权限的第二客户端根据资源共享客户端地址,从相应第一客户端下载目标资源。
具体的,在本实施例中,针对客户端网络中的所有客户端,仅允许具有资源下载权限的第一客户端直接从资源服务器下载资源,而针对不具有资源下载权限的第二客户端,第二客户端并不直接从资源服务器下载资源,而是通过已有资源的第一客户端向第二客户端进行资源共享以使第二客户端下载到资源。
由此,本实施例规避了服务器过载并发问题,在已有可行的基础设施上,发掘了数据的并行传输能力,避免了网络上的重复数据传输,可以有效缓解服务器进行资源传输的负载以及降低对网络带宽的需求。
在本实施例一种可选的实施方式中,具有资源下载权限的第一客户端所对应分配的资源下载地址还包括资源共享客户端地址。相对应的,上述具有资源下载权限的第一客户端根据服务器资源下载地址,从资源服务器下载目标资源的步骤,具体包括:不同具有资源下载权限的第一客户端,分别根据不同服务器资源下载地址从资源服务器下载相应资源片。
具体的,本实施例的一个完整资源在资源服务器上被拆分为多个资源片进行分片存储,不同资源片对应不同的服务器资源下载地址。在本实施例中,服务器将完整资源进行切片,得到多个资源片,而将多个资源片分别在多个具有资源下载权限的第一客户端之间进行分配,例如将完整资源划分为A、B、C三个资源片,而具有资源下载权限的三个第一客户端a、b、c分别具有从服务器直接下载A、B、C三个资源片的权限,而并非每个第一客户端均直接从服务器获取完整资源。
另外,上述第一客户端根据服务器资源下载地址,从资源服务器下载相应资源的步骤之后,还包括:各第一客户端分别按照资源共享客户端地址,从第二客户端和/或其它第一客户端下载构成完整资源的剩余资源片。并且,上述不具有资源下载权限的第二客户端根据资源共享客户端地址,从相应第一客户端下载目标资源的步骤,具体包括:不具有资源下载权限的第二客户端根据多个资源共享客户端地址,分别从多个相应第一客户端下载构成完整资源的所有资源片。
具体的,本实施例在第一客户端分别获取到不同资源片之后,为了进一步使得第一客户端获取到完整资源,则不同第一客户端则作为彼此的资源共享客户端,各第一客户端从其它第一客户端上下载其它所需资源片,例如上述举例中第一客户端a向第一客户端b和第一客户端c分别获取资源片B和C,由于各第一客户端所需从资源服务器下载的资源占用的网络带宽更小,由此进一步降低了服务器负载;另外,第二客户端与此同时并发向具有不同资源片的第一客户端请求资源共享,例如各第二客户端分别从上述举例中的第一客户端a、b、c分别下载资源片A、B、C,以实现第二客户端并不占用服务器网络带宽来实现完整资源下载。此外,还应当说明的是,本实施例由于第二客户端在向第一客户端获取到特定资源片后,还可以将该资源片共享至其它未获取到该资源片的第一客户端,该共享时机可以发生在第二客户端向第一客户端请求获取资源片时,第一客户端在向第二客户端共享自有资源片的同时,从第二客户端交换得到其它资源片。
进一步地,在本实施例一种可选的实施方式中,上述各客户端获取资源服务器根据各客户端的资源下载权限相应反馈的资源下载地址的步骤,包括:各客户端分别获取资源服务器根据各客户端的资源下载权限所创建的资源分配表;其中,资源分配表包括各资源片对应的服务器资源下载地址与各第一客户端对应的客户端标识以及客户端地址之间的映射关系。
如表1所示为本实施例提供的一种资源分配表。具体的,在本实施例中,资源服务器可以向客户端直接反馈服务器资源下载地址和共享客户端地址,另外资源下载地址反馈也可以采用资源分配表的形式实现,在资源分配表中,建立各具有资源下载权限的第一客户端与其有权下载的资源片以及该客户端的客户端地址的映射关系。其中,在第一客户端接收到该资源分配表之后,对应第一客户端一方面可以获知自身有权从服务器下载的资源片的地址,另一方面还可以获知自身需要从其它第一客户端下载的资源片的客户端地址;另外,在第二客户端接收到该资源分配表之后,由于在资源分配表中并未针对第二客户端维护其与资源片地址的映射关系,也即指示第二客户端并无直接从资源服务器下载资源的权限,需要根据资源分配表中的客户端IP和端口号从多个第一客户端分别下载资源片。
表1资源分配表
在本实施例一种可选的实施方式中,上述分别从多个相应第一客户端下载构成完整资源的所有资源片的步骤之后,还包括:在第一客户端或第二客户端从资源共享客户端地址相应的第一客户端下载资源片失败时,基于资源分配表中的服务器资源下载地址,向资源服务器发送资源下载地址访问请求;其中,资源下载地址访问请求用于向资源服务器直接请求下载对应资源片。
具体的,在实际应用中,在第一客户端之间或者第一客户端与第二客户端之间进行资源共享时,可能会出现资源共享失败的情况,那么可能会造成客户端部分资源的缺失,作为救济措施,本实施例在这种情况下还进一步开放资源服务器向客户端提供缺失资源的下载权限,允许客户端向资源服务器报错,向所需资源片对应的服务器资源下载地址发送访问请求,以在资源服务器下载缺失资源片,由此保证了资源下载的可靠性。
相对应的,本发明第一实施例还提供了一种资源下载方法,应用于资源服务器,如图3为本实施例提供的应用于资源服务器侧的资源下载方法的基本流程图,该资源下载方法包括以下的步骤:
步骤301、接收客户端网络中多个客户端发起的资源下载请求,并根据资源下载请求为多个客户端分别分配资源下载权限;
步骤302、根据资源下载权限分别向多个客户端反馈相应的资源下载地址;
步骤303、根据具有资源下载权限的第一客户端发送的资源下载地址访问请求,向第一客户端反馈请求下载的目标资源。
具体的,在本实施例中,具有资源下载权限的第一客户端所对应分配的资源下载地址为服务器资源下载地址,不具有资源下载权限的第二客户端所对应分配的资源下载地址为资源共享客户端地址,资源共享客户端地址用于第二客户端从相应第一客户端下载目标资源。应当理解的是,在本实施例中,第一客户端在资源下载过程中涉及向服务器发送两次请求,第一次请求(资源下载请求)是请求获取服务器资源下载地址,第二次请求(资源下载地址访问请求)是请求访问该地址进行资源下载。
在本实施例一种可选的实施方式中,上述根据资源下载请求为多个客户端分别分配资源下载权限的步骤,包括:分别获取各资源下载请求的接收时刻;按照接收时刻的先后顺序为多个客户端分别分配资源下载权限。
应当说明的是,本实施例可以按照先进先出(FIFO,First Input First Output)原则为客户端分配资源下载权限,也即将资源下载权限分配给资源下载请求最先到达的部分客户端,然后向具有资源下载权限的第一客户端提供服务器资源下载地址,以及向不具有资源下载权限的第二客户端提供已获取到服务器资源的客户端的客户端地址。
从而,本实施例允许具有资源下载权限的第一客户端直接从资源服务器下载资源,而针对不具有资源下载权限的第二客户端,则是通过已有资源的第一客户端向第二客户端进行资源共享以使第二客户端下载到资源。由此,规避了服务器过载并发问题,在已有可行的基础设施上,发掘了数据的并行传输能力,避免了网络上的重复数据传输,可以有效缓解服务器进行资源传输的负载以及降低对网络带宽的需求。
在本实施例一种可选的实施方式中,上述根据资源下载权限分别向多个客户端反馈相应的资源下载地址的步骤,具体包括:对一个完整资源进行拆分,得到多个资源片;根据资源下载权限,创建或维护各资源片对应的服务器资源下载地址与不同第一客户端对应的客户端标识以及客户端地址之间的映射关系,建立资源分配表;将资源分配表发送至多个客户端。
具体的,在本实施例中,各资源片对应的服务器资源下载地址不同;资源分配表中服务器资源下载地址用于:不同第一客户端分别从资源服务器下载相应资源片;资源分配表中客户端地址为资源共享客户端地址,该资源共享地址用于:各第一客户端分别从其它第一客户端下载构成完整资源的剩余资源片,以及还用于:第二客户端分别从多个相应第一客户端下载构成完整资源的所有资源片。
进一步地,在本实施例一种可选的实施方式中,上述对完整资源进行切片,得到多个资源片的步骤,包括:根据资源服务器的资源负载能力指标、资源下载请求的请求数量以及完整资源的资源大小,确定切片数量;根据切片数量对完整资源进行切片,得到多个资源片。
具体的,在实际应用中,如果固定资源片大小m,当m较小或完整资源大小N较大时,将导致资源切片数量大于客户端数量,此时服务器将难以承受客户端网络的并发量,导致资源下载失败;以及,当m较大时,则又会导致每一个资源片下载时长过长,不具有资源下载权限的客户端会长期处于闲置等待状态,无法充分利用局域网的带宽,影响资源下载体验。由此,本实施例结合互联网带宽、请求并发量和资源大小来合理配置完整资源的切片数量,假定在当前业内标准环境下,即1Gb/s带宽,资源服务器同一时刻允许打开200个资源下载请求,客户端数量在200-500个之间,可令m=N/200*80%。
进一步地,在本实施例另一种可选的实施方式中,上述建立资源分配表的步骤之后,包括:针对资源分配表定义客户端请求总数统计变量和/或分配表已创建时长变量;根据客户端请求总数统计变量和/或分配表已创建时长变量与预设变量阈值的比较结果,清理资源分配表。
具体的,在实际应用中,当一个客户端网络向资源服务器发起资源请求时,资源服务器会创建一张资源分配表,而资源服务器存储资源的大小是有限的,随着接入的客户端数量以及处理资源的增大,若资源分配表长时间不清理,会直接导致内存溢出,使得资源服务器无法持续提供服务。因此,本实施例为了保证所有客户端都能获取到完整资源,针对每一份资源分配表,定义一个客户端请求总数统计变量(Counter变量)和/或分配表已创建时长变量(CreatedTime变量),其中,在Counter变量超过预设变量阈值时,清除资源分配表;而在CreatedTime变量超过变量阈值时,可以分为两种情况对待,其一,在CreatedTime变量超过第一变量阈值(例如一分钟)时,若检测到的可用内存小于预设内存阈值,则清除资源分配表,其二,在CreatedTime变量超过大于第一变量阈值的第二变量阈值(例如两分钟)时,由于停留时间太大对用户意义不大,则直接清除资源分配表。
基于上述本申请实施例的技术方案,资源服务器接收多个客户端发起的资源下载请求,并根据资源下载请求为多个客户端分别分配资源下载权限,然后根据资源下载权限分别向多个客户端反馈相应的资源下载地址;具有资源下载权限的第一客户端根据所获取的服务器资源下载地址,从资源服务器下载目标资源,而不具有资源下载权限的第二客户端则根据所获取资源共享客户端地址,从相应第一客户端下载目标资源。通过本申请方案的实施,拥有下载权的客户端从服务器下载资源,并与没有下载权的客户端进行资源共享,从而有效减轻了资源服务器的负载,节省了网络带宽,降低了资源响应时延。
本申请第二实施例提供了一种细化的资源下载方法,应用于包括客户端网络和资源服务器的通信系统,如图4所示为本实施例提供的资源下载方法,该资源下载方法包括:
步骤401、资源服务器接收客户端网络中多个客户端并行发起的资源下载请求,并根据资源下载请求为多个客户端分别分配资源下载权限。
具体的,本实施例可以按照FIFO原则为客户端分配资源下载权限,也即将资源下载权限分配给资源下载请求最先到达的部分客户端。
步骤402、资源服务器参考自身的资源负载能力指标、资源下载请求的请求数量以及完整资源的资源大小,确定切片数量。
具体的,本实施例结合互联网带宽、请求并发量和资源大小来合理配置完整资源的切片数量,避免资源切片数量过大导致服务器难以承受客户端网络的并发量,以及避免完整资源大小较大而切片数量较少导致不具有资源下载权限的客户端会长期处于闲置等待状态。
步骤403、资源服务器参考切片数量对完整资源进行切片得到多个资源片,并根据资源下载权限,将多个资源片在多个具有资源下载权限的第一客户端之间进行分配。
步骤404、资源服务器维护各资源片对应的服务器资源下载地址与各第一客户端对应的客户端标识以及客户端地址之间的映射关系,建立资源分配表,并将资源分配表发送至多个客户端。
本实施例的资源下载地址反馈可以采用资源分配表的形式实现,在资源分配表中,建立各具有资源下载权限的第一客户端与其有权下载的资源片以及该客户端的客户端地址的映射关系。
步骤405、客户端网络中多个客户端分别根据资源分配表判断自身是否具备资源下载权限;若是,则执行步骤406,若否,则执行步骤408。
步骤406、不同第一客户端根据资源分配表中归属于自身的服务器资源下载地址,分别从资源服务器下载相应资源片。
具体的,在第一客户端接收到资源分配表之后,第一客户端可以获知自身有权从服务器下载的资源片的地址,然后根据该地址直接从服务器下载相应资源片。
步骤407、不同第一客户端在资源分配表中查询其它资源片所属的客户端地址,分别从其它第一客户端下载构成完整资源的剩余资源片。
另外,各第一客户端有权从服务器直接下载的仅为完整资源中的部分资源片,而第一客户端还可以从资源分配表获知其它未能从服务器直接下载的资源片所处的其它第一客户端的地址,然后参考该地址从其它第一客户端下载剩余资源片。
步骤408、各第二客户端根据从资源分配表中查询的不同资源片所属的客户端地址,分别从多个相应第一客户端下载构成完整资源的所有资源片。
在第二客户端接收到该资源分配表之后,由于在资源分配表中并未针对第二客户端维护其与资源片地址的映射关系,也即指示第二客户端并无直接从资源服务器下载资源的权限,需要根据资源分配表中的客户端地址从多个第一客户端分别下载资源片。
应当理解的是,本实施例中各步骤的序号的大小并不意味着步骤执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成唯一限定。
根据本申请实施例提供的资源下载方法,资源服务器接收多个客户端并行发起的资源下载请求,并根据资源下载请求为多个客户端分别分配资源下载权限,然后根据资源下载权限分别向多个客户端反馈相应的资源下载地址;具有资源下载权限的第一客户端根据所获取的服务器资源下载地址,从资源服务器下载目标资源,而不具有资源下载权限的第二客户端则根据所获取资源共享客户端地址,从相应第一客户端下载目标资源。通过本申请方案的实施,拥有下载权的客户端从服务器下载资源,并与没有下载权的客户端进行资源共享,从而有效减轻了资源服务器的负载,节省了网络带宽,降低了资源响应时延。
请参阅图5,图5为本申请第三实施例提供的一种电子装置。该电子装置可用于实现前述实施例中的资源下载方法。如图5所示,该电子装置主要包括:
存储器501、处理器502、总线503及存储在存储器501上并可在处理器502上运行的计算机程序,存储器501和处理器502通过总线503连接。处理器502执行该计算机程序时,实现前述实施例中的资源下载方法。其中,处理器的数量可以是一个或多个。
存储器501可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器501用于存储可执行程序代码,处理器502与存储器501耦合。
进一步的,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子装置中,该计算机可读存储介质可以是前述图5所示实施例中的存储器。
该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述实施例中的资源下载方法。进一步的,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的资源下载方法、装置及计算机可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种资源下载方法,应用于包括多个客户端的客户端网络,其特征在于,包括:
客户端网络中多个客户端向资源服务器发起资源下载请求,各客户端获取所述资源服务器根据所述各客户端的资源下载权限相应反馈的资源下载地址;其中,具有所述资源下载权限的第一客户端所对应分配的所述资源下载地址为服务器资源下载地址,不具有所述资源下载权限的第二客户端所对应分配的所述资源下载地址为资源共享客户端地址;
具有所述资源下载权限的所述第一客户端根据所述服务器资源下载地址,从所述资源服务器下载目标资源;
不具有所述资源下载权限的所述第二客户端根据所述资源共享客户端地址,从相应所述第一客户端下载目标资源。
2.根据权利要求1所述的资源下载方法,其特征在于,具有所述资源下载权限的第一客户端所对应分配的所述资源下载地址还包括所述资源共享客户端地址;
所述具有所述资源下载权限的所述第一客户端根据所述服务器资源下载地址,从所述资源服务器下载目标资源的步骤,包括:
不同具有所述资源下载权限的所述第一客户端,分别根据不同所述服务器资源下载地址从所述资源服务器下载相应资源片;其中,一个完整资源在所述资源服务器上被拆分为多个资源片进行分片存储,不同所述资源片对应不同的服务器资源下载地址;
所述第一客户端根据所述服务器资源下载地址,从所述资源服务器下载相应资源的步骤之后,还包括:
各所述第一客户端分别按照所述资源共享客户端地址,从所述第二客户端和/或其它所述第一客户端下载构成所述完整资源的剩余资源片;
所述不具有所述资源下载权限的所述第二客户端根据所述资源共享客户端地址,从相应所述第一客户端下载目标资源的步骤,包括:
不具有所述资源下载权限的所述第二客户端根据多个所述资源共享客户端地址,分别从多个相应所述第一客户端下载构成完整资源的所有资源片。
3.根据权利要求2所述的资源下载方法,其特征在于,所述各客户端获取所述资源服务器根据所述各客户端的资源下载权限相应反馈的资源下载地址的步骤,包括:
各客户端分别获取所述资源服务器根据所述各客户端的资源下载权限所创建的资源分配表;其中,所述资源分配表包括各所述资源片对应的服务器资源下载地址与各所述第一客户端对应的客户端标识以及客户端地址之间的映射关系。
4.根据权利要求3所述的资源下载方法,其特征在于,所述分别从多个相应所述第一客户端下载构成完整资源的所有资源片的步骤之后,还包括:
在所述第一客户端或所述第二客户端从所述资源共享客户端地址相应的所述第一客户端下载所述资源片失败时,基于所述资源分配表中的服务器资源下载地址,向所述资源服务器发送资源下载地址访问请求;其中,所述资源下载地址访问请求用于向所述资源服务器直接请求下载对应资源片。
5.一种资源下载方法,应用于资源服务器,其特征在于,包括:
接收客户端网络中多个客户端发起的资源下载请求,并根据所述资源下载请求为所述多个客户端分别分配资源下载权限;
根据所述资源下载权限分别向所述多个客户端反馈相应的资源下载地址;其中,具有所述资源下载权限的第一客户端所对应分配的所述资源下载地址为服务器资源下载地址,不具有所述资源下载权限的第二客户端所对应分配的所述资源下载地址为资源共享客户端地址,所述资源共享客户端地址用于所述第二客户端从相应所述第一客户端下载目标资源;
根据具有所述资源下载权限的第一客户端发送的资源下载地址访问请求,向所述第一客户端反馈请求下载的目标资源。
6.根据权利要求5所述的资源下载方法,其特征在于,所述根据所述资源下载权限分别向所述多个客户端反馈相应的资源下载地址的步骤,包括:
对一个完整资源进行拆分,得到多个资源片;其中,各所述资源片对应的服务器资源下载地址不同;
根据所述资源下载权限,创建或维护各所述资源片对应的服务器资源下载地址与不同所述第一客户端对应的客户端标识以及客户端地址之间的映射关系,建立资源分配表;
将所述资源分配表发送至所述多个客户端;其中,所述资源分配表中所述服务器资源下载地址用于:不同所述第一客户端分别从所述资源服务器下载相应资源片;所述资源分配表中所述客户端地址为资源共享客户端地址,用于:各所述第一客户端分别从其它所述第一客户端下载构成所述完整资源的剩余资源片,以及还用于:所述第二客户端分别从多个相应所述第一客户端下载构成完整资源的所有资源片。
7.根据权利要求5所述的资源下载方法,其特征在于,所述根据所述资源下载请求为所述多个客户端分别分配资源下载权限的步骤,包括:
分别获取各所述资源下载请求的接收时刻;
按照所述接收时刻的先后顺序为所述多个客户端分别分配资源下载权限。
8.根据权利要求6所述的资源下载方法,其特征在于,所述对完整资源进行切片,得到多个资源片的步骤,包括:
根据资源服务器的资源负载能力指标、所述资源下载请求的请求数量以及所述完整资源的资源大小,确定切片数量;
根据所述切片数量对完整资源进行切片,得到多个资源片。
9.根据权利要求6所述的资源下载方法,其特征在于,所述建立资源分配表的步骤之后,包括:
针对所述资源分配表定义客户端请求总数统计变量和/或分配表已创建时长变量;
根据所述客户端请求总数统计变量和/或分配表已创建时长变量与预设变量阈值的比较结果,清理所述资源分配表。
10.一种电子装置,包括:存储器、处理器及总线,其特征在于,所述总线用于实现所述存储器、处理器之间的连接通信;所述处理器用于执行存储在所述存储器上的第一计算机程序和第二计算机程序,所述处理器执行所述第一计算机程序时,实现权利要求1至4中任意一项所述方法的步骤,所述处理器执行所述第二计算机程序时,实现权利要求5至9中任意一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有第一计算机程序或第二计算机程序,其特征在于,所述第一计算机程序被处理器执行时,实现权利要求1至4中任意一项所述方法的步骤,所述第二计算机程序被处理器执行时,实现权利要求5至9中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110757570.5A CN113612815A (zh) | 2021-07-05 | 2021-07-05 | 一种资源下载方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110757570.5A CN113612815A (zh) | 2021-07-05 | 2021-07-05 | 一种资源下载方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113612815A true CN113612815A (zh) | 2021-11-05 |
Family
ID=78304037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110757570.5A Pending CN113612815A (zh) | 2021-07-05 | 2021-07-05 | 一种资源下载方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113612815A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422507A (zh) * | 2022-01-27 | 2022-04-29 | 北京金山云网络技术有限公司 | 文件下载方法、装置和电子设备 |
-
2021
- 2021-07-05 CN CN202110757570.5A patent/CN113612815A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422507A (zh) * | 2022-01-27 | 2022-04-29 | 北京金山云网络技术有限公司 | 文件下载方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022002209A1 (zh) | 数据传输方法和代理服务器、存储介质及电子装置 | |
CN110659151B (zh) | 数据校验方法及装置,存储介质 | |
CN112039942A (zh) | 一种订阅发布方法及服务器 | |
US10235047B2 (en) | Memory management method, apparatus, and system | |
US8660996B2 (en) | Monitoring files in cloud-based networks | |
WO2016095149A1 (zh) | 一种数据压缩存储方法、装置,及分布式文件系统 | |
WO2017107463A1 (zh) | 一种分发cdn地址的方法及装置 | |
CN103116655A (zh) | 集群数据查询方法、客户端及系统 | |
CN113361913A (zh) | 一种通信业务编排方法、装置、计算机设备及存储介质 | |
CN115567251A (zh) | 用于微服务集群的多业务隔离方法及系统 | |
CN112073456A (zh) | 分布式锁的实现方法、相关设备及系统 | |
CN113612815A (zh) | 一种资源下载方法、装置及计算机可读存储介质 | |
US20190334968A1 (en) | Bit rate reduction processing method for data file, and server | |
US11755541B2 (en) | Distributed file system and method for accessing a file in such a system | |
EP2913759A1 (en) | Memory access processing method based on memory chip interconnection, memory chip, and system | |
CN111382141B (zh) | 主从架构配置方法、装置、设备以及计算机可读存储介质 | |
CN113268329A (zh) | 一种请求调度方法、装置及存储介质 | |
CN110784534B (zh) | 数据服务方法、装置、系统及电子设备 | |
CN111404828A (zh) | 实现全局流控的方法及装置 | |
CN109831467B (zh) | 数据传输方法、设备及系统 | |
CN107483637B (zh) | 一种基于nfs的客户端链接管理方法及装置 | |
US10310762B1 (en) | Lease-based leader designation for multiple processes accessing storage resources of a storage system | |
CN112860432A (zh) | 一种进程管理方法、装置及服务器 | |
CN113438274A (zh) | 数据传输方法、装置、计算机设备及可读存储介质 | |
CN111857548A (zh) | 数据读取方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |