CN114189560A - 资源的传输方法和装置、存储介质、电子装置 - Google Patents
资源的传输方法和装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN114189560A CN114189560A CN202010885746.0A CN202010885746A CN114189560A CN 114189560 A CN114189560 A CN 114189560A CN 202010885746 A CN202010885746 A CN 202010885746A CN 114189560 A CN114189560 A CN 114189560A
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- terminal
- segment
- thread
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000005540 biological transmission Effects 0.000 title claims abstract description 34
- 238000003860 storage Methods 0.000 title claims abstract description 26
- 238000012432 intermediate storage Methods 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 16
- 238000005516 engineering process Methods 0.000 abstract description 5
- 239000000243 solution Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种资源的传输方法和装置、存储介质、电子装置。其中,该方法包括:获取终端的第一资源请求,第一资源请求用于终端请求获取目标资源;在中间存储中不存在目标资源的情况下,向源站发送第二资源请求,以向源站请求获取目标资源;在从源站获取目标资源中的资源片段的过程中,将从源站获取到的资源片段发送给终端。本申请解决了相关技术中响应速度较慢的技术问题。
Description
技术领域
本申请涉及互联网领域,具体而言,涉及一种资源的传输方法和装置、存储介质、电子装置。
背景技术
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键主要有内容存储和分发技术。CDN网络中的功能实体包括内容缓存设备、内容交换机、内容路由器、CDN内容管理系统等。
内容缓存为CDN网络节点,位于用户接入点,是面向最终用户的内容提供设备,可缓存静态Web内容和流媒体内容等内容,实现内容的边缘传播和存储,以便用户就近访问。
内容交换机处于用户接入集中点,可以均衡多个内容缓存设备的负载,并对内容进行缓存负载平衡及访问控制。
内容路由器负责将用户的请求调度到适当的设备上。内容路由器通常通过负载均衡系统来实现,动态均衡各个内容缓存站点的载荷分配,为用户的请求选择最佳的访问站点,同时提高网站的可用性。内容路由器可根据多种因素制定路由,包括站点与用户的临近度、内容的可用性、网络负载、设备状况等。负载均衡系统是整个CDN的核心。负载均衡的准确性和效率直接决定了整个CDN的效率和性能。
内容管理系统负责整个CDN的管理,是可选部件,作用是进行内容管理,如内容的注入和发布、内容的分发、内容的审核、内容的服务等。
在CDN网络接收到用户的请求后,调度到合适的CDN网络节点,由该节点向用户反馈所请求的内容,若该节点缓存有相应的内容,则直接反馈给用户,若没有则该节点会从源节点获取,在获取完之后再反馈给用户;另外,每个节点会面临大量的用户请求,处理方式是逐一处理这些请求,从而造成CDN对用户终端的响应速度较慢。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种资源的传输方法和装置、存储介质、电子装置,以至少解决相关技术中响应速度较慢的技术问题。
根据本申请实施例的一个方面,提供了一种资源的传输方法,包括:获取终端的第一资源请求,第一资源请求用于终端请求获取目标资源;在中间存储中不存在目标资源的情况下,向源站发送第二资源请求,以向源站请求获取目标资源;在从源站获取目标资源中的资源片段的过程中,将从源站获取到的资源片段发送给终端。
根据本申请实施例的另一方面,还提供了一种资源的传输装置,包括:获取单元,用于获取终端的第一资源请求,其中,第一资源请求用于终端请求获取目标资源;请求单元,用于在中间存储中不存在目标资源的情况下,向源站发送第二资源请求,以向源站请求获取目标资源;传输单元,用于在从源站获取目标资源中的资源片段的过程中,将从源站获取到的资源片段发送给终端。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,CDN服务器在从源站获取目标资源中的资源片段的过程中,会将从源站已经获取到的资源片段发送给终端,而不是获取完所有资源片段后再发送给终端,可以解决相关技术中响应速度较慢的技术问题,进而达到提高对用户的响应速度的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的资源的传输方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的资源的传输方法的流程图;
图3是根据本申请实施例的一种可选的资源的传输方案的示意图;
图4是根据本申请实施例的一种可选的资源的传输装置的示意图;
以及
图5是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
内容分发网络的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决网络拥挤的状况,提高用户访问网站的响应速度。
发明人经过对CDN系统进行分析认识到,CDN服务器的同步回源操作通常是按先后顺序执行每一步操作,首先拉取用户源站文件,然后再上传至本存储服务,在本地存储服务中完成完整的数据存储后读取本地存储服务中的数据返回用户,这一系列操作均是串行执行,耦合比较严重,不利于扩展,且性能比较低。为了克服这些问题,根据本申请实施例的一方面,提供了一种资源的传输方法的方法实施例。
可选地,在本实施例中,上述资源的传输方法可以应用于如图1所示的由终端101、CDN服务器103以及源服务器105(即源站所在的服务器)所构成的硬件环境中。如图1所示,CDN服务器103通过网络与终端101、源服务器105进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在CDN服务器上或独立于CDN服务器设置数据库107(如后文描述的中间存储),用于为CDN服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。
本申请实施例的资源的传输方法可以由CDN服务器103来执行,也可以由终端101、CDN服务器103以及源服务器105共同执行,图2是根据本申请实施例的一种可选的资源的传输方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,CDN服务器获取终端的第一资源请求,第一资源请求用于终端请求获取目标资源,资源可以为文本、视频、音频、数据等资源中的一种资源或者多种资源的结合。
步骤S204,CDN服务器在中间存储中不存在目标资源的情况下,向源站发送第二资源请求,以向源站请求获取目标资源,在源站响应第二资源请求之后,CDN服务器以资源片段(即资源分块)为单位从源站获取资源。
上述中间存储中不存在目标资源可包括以下两种情况,其一是中间存储中未保存目标资源,其二是目标资源的版本发生了更新或者缓存过期,版本更新是指中间存储保存的目标资源的版本与源站保存的目标资源的版本不同,缓存过期是指目标资源在中间存储保存的时间超过了预先设定的保存期限。
步骤S206,在从源站获取目标资源中的资源片段的过程中,CDN服务器将从源站获取到的资源片段发送给终端。
通过上述步骤,CDN服务器在从源站获取目标资源中的资源片段的过程中,会将从源站已经获取到的资源片段发送给终端,而不是获取完所有资源片段后再发送给终端,可以解决相关技术中响应速度较慢的技术问题,进而达到提高对用户的响应速度的技术效果。下文结合图2所示的步骤进一步详述本申请的技术方案。
在步骤S202提供的技术方案中,CDN服务器获取终端的第一资源请求。
源站内容有更新的时候,源站需要把内容推送到CDN节点,常规的CDN是支持回源操作的,即当有用户访问某一个URL的时候(即用户终端发送上述第一资源请求时),如果被解析到的CDN节点的中间存储没有缓存相应的内容,或者是缓存已经到期,就会回源站去获取;若解析到的CDN节点有缓存,则从中间存储获取内容(即目标资源);将获取到的目标资源的资源片段发送给终端。
CDN服务器可包括多个线程,如包括一个主线程和若干工作线程(即work线程),主线程(即目标线程)用于获取终端的第一资源请求,工作线程(即第一线程)用于接收目标线程发送的资源下载指令。
可选地,在目标线程向第一线程发送资源下载指令之前,目标线程查找与目标资源匹配的资源地址(如为域名地址);在目标线程查找到与目标资源匹配的资源地址的情况下,目标线程向第一线程发送携带有资源地址的资源下载指令。
可选地,通常情况下,可直接用IP地址(即源站的地址)进行回源,但是如果源站有多个IP地址,或者IP地址会发生变化,就需要对IP地址进行重新配置,为了避免频繁的更改配置(即回源IP),可采用回源域名方式进行回源,这样即使源站的IP变化了,也不影响原有配置。
在步骤S204提供的技术方案中,CDN服务器在中间存储中不存在目标资源的情况下,向源站发送第二资源请求,以向源站请求获取目标资源。
在接收到上述第一资源请求时,CDN节点(即CDN服务器)会检测用户请求数据的缓存是否过期,如果没有过期,则直接响应用户请求,此时一个完整http请求结束;如果数据已经过期或者没有缓存,那么CDN还需要向源站发出回源请求(即第二资源请求),来拉取最新的数据。
可选地,中间存储用于缓存从源站获取过的资源,在从源站获取目标资源中的资源片段的过程中,CDN服务器可将从源站获取到的目标资源的资源片段保存至中间存储,为了防止资源丢失,可以为每个资源片段进行编号,在获取过一遍之后,通过编号查验是否存在丢失的片段或者保存失败的片段,并重新获取。
可选地,在将从源站获取到的目标资源的资源片段保存至中间存储时,第一线程逐个从源站下载目标资源中的资源片段,并将下载到的资源片段保存至中间存储。
在步骤S206提供的技术方案中,在从源站获取目标资源中的资源片段的过程中,CDN服务器将从源站获取到的资源片段发送给终端。
可选地,将从源站获取到的资源片段发送给终端时,可以直接将从源站获取到的资源片段转发给终端,也可以从中间存储获取目标资源的资源片段,将获取到的目标资源的资源片段发送给终端。
在上述实施例中,在从中间存储获取目标资源的资源片段,将获取到的目标资源的资源片段发送给终端时,第二线程可实时监控中间存储中是否存在属于目标资源的资源片段;在中间存储中存在属于目标资源的资源片段的情况下,第二线程获取属于目标资源的资源片段,并将属于目标资源的资源片段发送给终端。
可选地,考虑到终端经常会获取视频、音频等流媒体文件,第二线程获取属于目标资源的资源片段,并将属于目标资源的资源片段发送给终端时,可按照顺序将目标资源中的资源片段返回给终端,以便于终端不间断的播放资源:在不存在已经发送给终端的第一资源片段的情况下,第二线程获取目标资源中的第一个资源片段为第三资源片段,并将第三资源片段发送给终端;在存在第一资源片段的情况下,第二线程获取目标资源中位置与第一资源片段相邻且位于第一资源片段之后的第二资源片段(即第一资源片段之后的下一资源片段),并将第二资源片段发送给终端。
在从源站获取目标资源中的资源片段(即目标资源已经在CDN上缓存)之后,若CDN服务器获取到其他终端的资源请求,则直接从中间存储获取目标资源中的资源片段;将资源片段发送给该终端。
上述第二线程与第一线程不同,换言之,第二线程和第一线程为可以并行运行的线程,第二线程可以为目标线程,也可以为另一个work线程。
在本申请的技术方案中,相对于已有的回源操作,可以从以下两个方面提高效率:回源操作中从源站获取资源片段和将资源片段返回给终端是主线程和work线程,这两个线程是并行运行的,而不是串行运行的;将主线程从执行一系列操作(从源站获取资源片段和将资源片段返回给终端)中解脱出来,仅仅是分配任务,将从源站获取资源片段(甚至于将资源片段返回给终端)的任务分配给work线程去完成,这样主线程在相同的时间内可以处理更多的请求,且每个请求对应的回源操作可并行运行,这样,CDN服务器的响应速度可以显著提高。
作为一种可选的实施例,下面结合图3进一步详述本申请的技术方案。
步骤1,接收到同步回源请求。
步骤2,查看是否配置有目标资源的镜像地址,若是则执行步骤2,否则结束。
步骤3,主线程通知回源worker线程开始回源。
步骤4,回源worker开始从源站获取资源分块,并在中间存储中初始化分块,即批量上传至中间存储。
步骤5,主线程自动扫描worker线程的工作结果,并有序读取数据块,从中间存储中按需下载数据块。
步骤6,回源worker线程分块下载源站的每一块数据并上传至中间存储(可以采用range读取)。
步骤7,回源worker线程提交块信息完成回源任务。
步骤8,主线程读取最后一块数据之后,完成同步回源请求。
步骤9,用户本次请求获取到文件,并且中间存储保留用户文件数据。中间存储支持分块上传,分块带序号编码。
步骤10,用户下次请求直接拉取本地服务存储上的数据,不再回用户源站拉取。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述资源的传输方法的资源的传输装置。图4是根据本申请实施例的一种可选的资源的传输装置的示意图,如图4所示,该装置可以包括:
获取单元401,用于获取终端的第一资源请求,其中,第一资源请求用于终端请求获取目标资源;
请求单元403,用于在中间存储中不存在目标资源的情况下,向源站发送第二资源请求,其中,第二资源请求用于向源站请求获取目标资源;
传输单元405,用于在从源站获取目标资源中的资源片段的过程中,将从源站获取到的资源片段发送给终端。
需要说明的是,该实施例中的获取单元401可以用于执行本申请实施例中的步骤S202,该实施例中的请求单元403可以用于执行本申请实施例中的步骤S204,该实施例中的传输单元405可以用于执行本申请实施例中的步骤S206。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,CDN服务器在从源站获取目标资源中的资源片段的过程中,会将从源站已经获取到的资源片段发送给终端,而不是获取完所有资源片段后再发送给终端,可以解决相关技术中响应速度较慢的技术问题,进而达到提高对用户的响应速度的技术效果。
可选地,请求单元在从源站获取目标资源中的资源片段的过程中,可将从源站获取到的目标资源的资源片段保存至中间存储,其中,中间存储用于缓存从源站获取过的资源;传输单元将从源站获取到的资源片段发送给终端时,可从中间存储获取目标资源的资源片段,将获取到的目标资源的资源片段发送给终端。
可选地,获取单元还用于:在目标线程获取终端的第一资源请求之后,指示目标线程向第一线程发送资源下载指令;请求单元在将从源站获取到的目标资源的资源片段保存至中间存储,可指示第一线程逐个从源站下载目标资源中的资源片段,并将下载到的资源片段保存至中间存储。
可选地,传输单元在从中间存储获取目标资源的资源片段,将获取到的目标资源的资源片段发送给终端时可指示:第二线程监控中间存储中是否存在属于目标资源的资源片段;在中间存储中存在属于目标资源的资源片段的情况下,第二线程获取属于目标资源的资源片段,并将属于目标资源的资源片段发送给终端。
可选地,第二线程获取属于目标资源的资源片段,并将属于目标资源的资源片段发送给终端时,传输单元可在存在第一资源片段的情况下,指示第二线程获取属于目标资源的第二资源片段,并将第二资源片段发送给终端,其中,第一资源片段为已经发送给终端的资源片段,第二资源片段为目标资源中位置与第一资源片段相邻且位于第一资源片段之后的资源片段;在不存在第一资源片段的情况下,指示第二线程获取属于目标资源的第三资源片段,并将第三资源片段发送给终端,其中,第三资源片段为目标资源中的第一个资源片段。
可选地,在目标线程向第一线程发送资源下载指令之前,获取单元可指示目标线程查找与目标资源匹配的资源地址;并在目标线程向第一线程发送资源下载指令时,在目标线程查找到与目标资源匹配的资源地址的情况下,指示目标线程向第一线程发送携带有资源地址的资源下载指令。
可选地,传输单元还用于:在中间存储中存在目标资源的情况下,从中间存储获取目标资源;将从中间存储获取到的目标资源的资源片段发送给终端。
在本申请的技术方案中,相对于已有的回源操作,可以从以下两个角度提高效率:回源操作中从源站获取资源片段和将资源片段返回给终端是主线程和work线程并行运行的,而不是串行运行的;将work线程从执行一系列操作(从源站获取资源片段和将资源片段返回给终端)中解脱出来,仅仅是分配任务,将从源站获取资源片段(甚至于将资源片段返回给终端)分配给work线程去完成,这样主线程在相同的时间内可以处理更多的请求,且每个请求的响应速度可以显著提高。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述资源的传输方法的服务器或终端。
图5是根据本申请实施例的一种终端的结构框图,如图5所示,该终端可以包括:一个或多个(图5中仅示出一个)处理器501、存储器503、以及传输装置505,如图5所示,该终端还可以包括输入输出设备507。
其中,存储器503可用于存储软件程序以及模块,如本申请实施例中的资源的传输方法和装置对应的程序指令/模块,处理器501通过运行存储在存储器503内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的资源的传输方法。存储器503可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器503可进一步包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置505用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置505包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置505为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器503用于存储应用程序。
处理器501可以通过传输装置505调用存储器503存储的应用程序,以执行下述步骤:
获取终端的第一资源请求,其中,第一资源请求用于终端请求获取目标资源;
在中间存储中不存在目标资源的情况下,向源站发送第二资源请求,其中,第二资源请求用于向源站请求获取目标资源;
在从源站获取目标资源中的资源片段的过程中,将从源站获取到的资源片段发送给终端。
处理器501还用于执行下述步骤:
在存在第一资源片段的情况下,第二线程获取属于目标资源的第二资源片段,并将第二资源片段发送给终端,其中,第一资源片段为已经发送给终端的资源片段,第二资源片段为目标资源中位置与第一资源片段相邻且位于第一资源片段之后的资源片段;
在不存在第一资源片段的情况下,第二线程获取属于目标资源的第三资源片段,并将第三资源片段发送给终端,其中,第三资源片段为目标资源中的第一个资源片段。
采用本申请实施例,CDN服务器在从源站获取目标资源中的资源片段的过程中,会将从源站已经获取到的资源片段发送给终端,而不是获取完所有资源片段后再发送给终端,可以解决相关技术中响应速度较慢的技术问题,进而达到提高对用户的响应速度的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图5所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图5其并不对上述电子装置的结构造成限定。例如,终端还可包括比图5中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图5所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行资源的传输方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取终端的第一资源请求,其中,第一资源请求用于终端请求获取目标资源;
在中间存储中不存在目标资源的情况下,向源站发送第二资源请求,其中,第二资源请求用于向源站请求获取目标资源;
在从源站获取目标资源中的资源片段的过程中,将从源站获取到的资源片段发送给终端。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
在存在第一资源片段的情况下,第二线程获取属于目标资源的第二资源片段,并将第二资源片段发送给终端,其中,第一资源片段为已经发送给终端的资源片段,第二资源片段为目标资源中位置与第一资源片段相邻且位于第一资源片段之后的资源片段;
在不存在第一资源片段的情况下,第二线程获取属于目标资源的第三资源片段,并将第三资源片段发送给终端,其中,第三资源片段为目标资源中的第一个资源片段。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种资源的传输方法,其特征在于,包括:
获取终端的第一资源请求,其中,所述第一资源请求用于所述终端请求获取目标资源;
在中间存储中不存在所述目标资源的情况下,向源站发送第二资源请求,其中,所述第二资源请求用于向所述源站请求获取所述目标资源;
在从所述源站获取所述目标资源中的资源片段的过程中,将从所述源站获取到的资源片段发送给所述终端。
2.根据权利要求1所述的方法,其特征在于,
在从所述源站获取所述目标资源中的资源片段的过程中,所述方法还包括:将从所述源站获取到的所述目标资源的资源片段保存至所述中间存储,其中,所述中间存储用于缓存从所述源站获取过的资源;
将从所述源站获取到的资源片段发送给所述终端包括:从所述中间存储获取所述目标资源的资源片段,将获取到的所述目标资源的资源片段发送给所述终端。
3.根据权利要求2所述的方法,其特征在于,
在目标线程获取所述终端的第一资源请求之后,所述方法还包括:所述目标线程向第一线程发送资源下载指令;
将从所述源站获取到的所述目标资源的资源片段保存至中间存储包括:所述第一线程从所述源站下载所述目标资源中的资源片段,并将下载到的资源片段保存至所述中间存储。
4.根据权利要求2所述的方法,其特征在于,从所述中间存储获取所述目标资源的资源片段,将获取到的所述目标资源的资源片段发送给所述终端包括:
第二线程监控所述中间存储中是否存在属于所述目标资源的资源片段;
在所述中间存储中存在属于所述目标资源的资源片段的情况下,所述第二线程获取属于所述目标资源的资源片段,并将属于所述目标资源的资源片段发送给所述终端。
5.根据权利要求4所述的方法,其特征在于,所述第二线程获取属于所述目标资源的资源片段,并将属于所述目标资源的资源片段发送给所述终端包括:
在存在第一资源片段的情况下,所述第二线程获取属于所述目标资源的第二资源片段,并将所述第二资源片段发送给所述终端,其中,所述第一资源片段为已经发送给所述终端的资源片段,所述第二资源片段为所述目标资源中位置与所述第一资源片段相邻且位于所述第一资源片段之后的资源片段;
在不存在所述第一资源片段的情况下,所述第二线程获取属于所述目标资源的第三资源片段,并将所述第三资源片段发送给所述终端,其中,所述第三资源片段为所述目标资源中的第一个资源片段。
6.根据权利要求3所述的方法,其特征在于,
在所述目标线程向第一线程发送资源下载指令之前,所述方法还包括:所述目标线程查找与所述目标资源匹配的资源地址;
所述目标线程向第一线程发送资源下载指令包括:在所述目标线程查找到与所述目标资源匹配的资源地址的情况下,所述目标线程向所述第一线程发送携带有所述资源地址的所述资源下载指令。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,在获取终端的第一资源请求之后,所述方法还包括:
在所述中间存储中存在所述目标资源的情况下,从所述中间存储获取所述目标资源;
将从所述中间存储获取到的所述目标资源的资源片段发送给所述终端。
8.一种资源的传输装置,其特征在于,包括:
获取单元,用于获取终端的第一资源请求,其中,所述第一资源请求用于所述终端请求获取目标资源;
请求单元,用于在中间存储中不存在所述目标资源的情况下,向源站发送第二资源请求,其中,所述第二资源请求用于向所述源站请求获取所述目标资源;
传输单元,用于在从所述源站获取所述目标资源中的资源片段的过程中,将从所述源站获取到的资源片段发送给所述终端。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010885746.0A CN114189560A (zh) | 2020-08-28 | 2020-08-28 | 资源的传输方法和装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010885746.0A CN114189560A (zh) | 2020-08-28 | 2020-08-28 | 资源的传输方法和装置、存储介质、电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114189560A true CN114189560A (zh) | 2022-03-15 |
Family
ID=80600780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010885746.0A Pending CN114189560A (zh) | 2020-08-28 | 2020-08-28 | 资源的传输方法和装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114189560A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629919A (zh) * | 2022-03-31 | 2022-06-14 | 北京百度网讯科技有限公司 | 资源获取方法、装置、设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882960A (zh) * | 2012-09-21 | 2013-01-16 | 东软集团股份有限公司 | 一种资源文件的发送方法及装置 |
CN103747112A (zh) * | 2013-12-24 | 2014-04-23 | 乐视网信息技术(北京)股份有限公司 | 一种cdn回源的方法、第一服务器及系统 |
CN105959362A (zh) * | 2016-04-25 | 2016-09-21 | 乐视控股(北京)有限公司 | Cdn服务器及其缓存数据的方法 |
CN106411753A (zh) * | 2015-07-28 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 通过路由器进行下载的方法和路由器 |
CN106657213A (zh) * | 2016-09-14 | 2017-05-10 | 深圳峰创智诚科技有限公司 | 文件传输方法和装置 |
CN106790511A (zh) * | 2016-12-16 | 2017-05-31 | 酷伴科技(北京)有限责任公司 | 一种数据上传方法及系统 |
CN109246185A (zh) * | 2018-07-31 | 2019-01-18 | Oppo广东移动通信有限公司 | 文件下载方法及相关产品 |
CN110120930A (zh) * | 2018-02-06 | 2019-08-13 | 阿里巴巴集团控股有限公司 | 获取传输文件的方法、系统及多媒体设备 |
-
2020
- 2020-08-28 CN CN202010885746.0A patent/CN114189560A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882960A (zh) * | 2012-09-21 | 2013-01-16 | 东软集团股份有限公司 | 一种资源文件的发送方法及装置 |
CN103747112A (zh) * | 2013-12-24 | 2014-04-23 | 乐视网信息技术(北京)股份有限公司 | 一种cdn回源的方法、第一服务器及系统 |
CN106411753A (zh) * | 2015-07-28 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 通过路由器进行下载的方法和路由器 |
CN105959362A (zh) * | 2016-04-25 | 2016-09-21 | 乐视控股(北京)有限公司 | Cdn服务器及其缓存数据的方法 |
CN106657213A (zh) * | 2016-09-14 | 2017-05-10 | 深圳峰创智诚科技有限公司 | 文件传输方法和装置 |
CN106790511A (zh) * | 2016-12-16 | 2017-05-31 | 酷伴科技(北京)有限责任公司 | 一种数据上传方法及系统 |
CN110120930A (zh) * | 2018-02-06 | 2019-08-13 | 阿里巴巴集团控股有限公司 | 获取传输文件的方法、系统及多媒体设备 |
CN109246185A (zh) * | 2018-07-31 | 2019-01-18 | Oppo广东移动通信有限公司 | 文件下载方法及相关产品 |
Non-Patent Citations (2)
Title |
---|
刘曦齐: "《中国好设计:企业创新涉及路径案例研究》", 31 October 2015, 中国科学技术出版社, pages: 25 * |
幽雨雨幽: "简述回源原理和CDN常见多级缓存", pages 1 - 3, Retrieved from the Internet <URL:http://t.csdnimg.cn/ETfSA> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629919A (zh) * | 2022-03-31 | 2022-06-14 | 北京百度网讯科技有限公司 | 资源获取方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102067094B (zh) | 高速缓存优化 | |
Varvello et al. | Is the web http/2 yet? | |
EP3022708B1 (en) | Content source discovery | |
CN106550003B (zh) | 负载均衡的控制方法、装置及系统 | |
US9282137B2 (en) | Dynamic package creation for predictive page load optimization | |
CN105812435B (zh) | 应用升级数据包处理方法、装置、电子设备及系统 | |
CN110839049B (zh) | 基于域名系统的数据调度方法和系统 | |
CN107181779B (zh) | 访问请求的处理方法、装置和系统 | |
CN103716391A (zh) | 一种内容缓存的实现方法及路由器 | |
CN106462611A (zh) | 网络访问性能增强 | |
CN103812882A (zh) | 一种文件传输的方法及系统 | |
CN110198333B (zh) | 数据获取方法和装置、存储介质及电子装置 | |
US20120054295A1 (en) | Method and apparatus for providing or acquiring the contents of a network resource for a mobile device | |
CN109756584B (zh) | 域名解析方法、域名解析装置及计算机可读存储介质 | |
US20180302489A1 (en) | Architecture for proactively providing bundled content items to client devices | |
KR102112605B1 (ko) | 모바일 단말 및 모바일 단말의 네트워크 전송 제어 방법 | |
CN109618003B (zh) | 一种服务器规划方法、服务器及存储介质 | |
JP4098723B2 (ja) | サーバシステムの再構成(reconfiguring)方法及び装置 | |
CN113014681A (zh) | 多网卡服务器的网卡绑定方法、装置、电子设备及存储介质 | |
CN108134811B (zh) | 目标文件分发或下载的方法、装置和系统 | |
CN104615597A (zh) | 浏览器中清除缓存文件的方法、装置和系统 | |
CN108075963B (zh) | 内容的传输方法和装置 | |
CN114189560A (zh) | 资源的传输方法和装置、存储介质、电子装置 | |
CN107682281A (zh) | 一种sdn交换机和sdn交换机的应用管理方法 | |
CN115695580B (zh) | 资源获取方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |