CN112866325B - 资源文件传输方法、装置、cdn中的上层及边缘节点 - Google Patents
资源文件传输方法、装置、cdn中的上层及边缘节点 Download PDFInfo
- Publication number
- CN112866325B CN112866325B CN201911212236.0A CN201911212236A CN112866325B CN 112866325 B CN112866325 B CN 112866325B CN 201911212236 A CN201911212236 A CN 201911212236A CN 112866325 B CN112866325 B CN 112866325B
- Authority
- CN
- China
- Prior art keywords
- resource file
- content
- response
- indication information
- acquisition request
- 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.)
- Active
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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种资源文件传输方法、装置、CDN中的上层及边缘节点,涉及网络传输技术领域,解决了边缘节点解析资源文件使CDN处理数据时间较长的技术问题。该方法包括:上层节点接收边缘节点发送的获取请求,所述获取请求包括资源文件的标识;确定所述资源文件和待***内容的位置;向所述边缘节点发送响应,所述响应的响应头包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件,以使所述边缘节点基于所述响应头确定所述待***内容的位置。
Description
技术领域
本申请涉及网络传输技术领域,尤其是涉及一种资源文件传输方法、装置、CDN中的上层及边缘节点。
背景技术
CDN(Content Delivery Network,内容分发网络)是一种新型的网络构建,CDN网络能够依靠部署在各地的边缘节点(即边缘服务器),通过中心服务器的负载均衡、内容分发、调度等功能,使用户就近获取所需资源文件,降低网络拥塞,提高用户访问响应速度和命中率。
在CDN运行过程中,边缘节点在向客户端分发资源文件时,需要解析资源文件,并在该资源文件的特定位置添加指定信息(比如该指定信息用于标识渠道等等)后再发送至客户端,例如,第一客户端在一次请求资源文件时,边缘节点可以根据接收到的第一请求的指示在资源文件中***指定信息,然后将***指定信息的资源文件返回给客户端,并存储在边缘节点本地;如果边缘节点接收到第二客户端发送的用于请求相同资源文件的第二请求,该第二请求指示在资源文件中***的指定信息与第一请求不同,此时,边缘节点虽然存储了资源文件,但是存储的版本和需要发给第二客户端的资源文件并不完全一致。所以,边缘节点在每次向客户端分发资源文件时,都需要解析一次资源文件,以便***与各个请求对应的指定信息,解析资源文件所消耗的资源大,给客户返回响应的时间长。
发明内容
本发明的目的在于提供一种资源文件传输方法、装置、CDN中的上层及边缘节点,以解决边缘节点解析资源文件使CDN处理数据时间较长的技术问题。
第一方面,本申请实施例提供了一种资源文件传输方法,包括:
上层节点接收边缘节点发送的获取请求,所述获取请求包括资源文件的标识;
确定所述资源文件和待***内容的位置;
向所述边缘节点发送响应,所述响应的响应头包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件,以使所述边缘节点基于所述响应头确定所述待***内容的位置。
在一个可能的实现中,确定所述资源文件和待***内容的位置的步骤,包括:
判断本地是否存储有所述资源文件;
如果否,则从所述资源文件对应的源站获取所述资源文件;
对所述资源文件进行解析,确定待***内容的位置指示信息;并将所述待***内容的位置指示信息和所述资源文件对应存储在本地。
在一个可能的实现中,判断本地是否存储有所述资源文件的步骤之后,还包括:
如果是,则从本地获取所述资源文件和所述待***内容的位置指示信息。
第二方面,提供了一种资源文件传输方法,包括:
边缘节点接收客户端发送的第一获取请求,所述第一获取请求包括资源文件的标识以及待***内容;
向所述资源文件对应的上层节点发送第二获取请求,所述第二获取请求包括所述资源文件的标识;
接收上层节点发送的响应;
如果所述响应的响应头包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件,则根据所述待***内容的位置指示信息,将所述待***内容***所述资源文件,并向所述客户端发送***待***内容后的资源文件。
在一个可能的实现中,还包括:
如果所述响应的响应头未包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件;则向所述客户端发送所述资源文件。
第三方面,提供了一种资源文件传输装置,包括:
接收模块,用于接收边缘节点发送的获取请求,所述获取请求包括资源文件的标识;
确定模块,用于确定所述资源文件和待***内容的位置;
发送模块,用于向所述边缘节点发送响应,所述响应的响应头包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件,以使所述边缘节点基于所述响应头确定所述待***内容的位置。
第四方面,提供了一种资源文件传输装置,包括:
接收单元,用于接收客户端发送的第一获取请求,所述第一获取请求包括资源文件的标识以及待***内容;
发送单元,用于向所述资源文件对应的上层节点发送第二获取请求,所述第二获取请求包括所述资源文件的标识;
所述接收单元还用于接收上层节点发送的响应;
***单元,用于如果所述响应的响应头包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件,则根据所述待***内容的位置指示信息,将所述待***内容***所述资源文件,并向所述客户端发送***待***内容后的资源文件。
第五方面,提供了一种CDN中的上层节点,包括:
负载均衡模块(Linux Virtual Server,LVS),用于进行负载均衡的调度;
业务代理模块(nginx),用于提供反向代理的网络服务;
缓存模块(cache),用于接收边缘节点发送的获取请求,所述获取请求包括资源文件的标识;
所述缓存模块还用于确定所述资源文件和待***内容的位置,并向所述边缘节点发送响应,所述响应的响应头包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件,以使所述边缘节点基于所述响应头确定所述待***内容的位置。
第六方面,提供了一种CDN中的边缘节点,包括:
负载均衡单元,用于进行负载均衡的调度;
业务代理单元,用于提供反向代理的网络服务;
缓存单元,用于接收客户端发送的第一获取请求,所述第一获取请求包括资源文件的标识以及待***内容;并向所述资源文件对应的上层节点发送第二获取请求,所述第二获取请求包括所述资源文件的标识;
所述缓存单元还用于接收上层节点发送的响应;如果所述响应的响应头包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件,则根据所述待***内容的位置指示信息,将所述待***内容***所述资源文件,并向所述客户端发送***待***内容后的资源文件。
第七方面,本申请实施例又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述的第一方面或第二方面所述方法。
第八方面,提供了一种资源文件传输***。包括:上层节点、边缘节点以及客户端;所述客户端,用于向所述边缘节点发送第一获取请求,所述第一获取请求包括资源文件的标识以及待***内容;所述边缘节点,用于接收所述第一获取请求;向所述资源文件对应的所述上层节点发送第二获取请求,所述第二获取请求包括所述资源文件的标识;所述上层节点,用于接收所述第二获取请求;确定所述资源文件和待***内容的位置;以及向所述边缘节点发送响应,所述响应的响应头包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件;所述边缘节点,在接收所述上层节点发送的响应后,根据所述待***内容的位置指示信息,将所述待***内容***所述资源文件,并向所述客户端发送***待***内容后的资源文件。
在一个可能的实现中,所述上层节点具体用于,判断所述上层节点的本地是否存储有所述资源文件;如果否,则从所述资源文件对应的源站获取所述资源文件;对所述资源文件进行解析,确定待***内容的位置指示信息;并将所述待***内容的位置指示信息和所述资源文件对应存储在本地;所述源站,用于向所述上层节点提供所述资源文件。
在一个可能的实现中,所述上层节点还用于,在本地存储有所述资源文件的情况下,从本地获取所述资源文件和所述待***内容的位置指示信息。
本申请实施例带来了以下有益效果:
本申请实施例提供的一种资源文件传输方法、装置、CDN中的上层及边缘节点,上层节点能够接收边缘节点发送的包括资源文件的标识的获取请求,以确定资源文件和待***内容的位置,再向边缘节点发送响应,该响应的响应头包括待***内容的位置指示信息,响应的载荷包括资源文件,边缘节点能够直接从该响应头中确定出待***内容的***位置,无需边缘节点再次解析资源文件,便能够使边缘节点快速的确定出待***内容要***的位置,以减少分析资源文件的次数,降低CDN处理数据的时间。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种资源文件传输方法的流程示意图;
图2为本申请实施例提供的另一种资源文件传输方法的流程示意图;
图3为本申请实施例提供的另一种资源文件传输方法的流程示意图;
图4为本申请实施例提供的一种资源文件传输装置的结构示意图;
图5为本申请实施例提供的另一种资源文件传输装置的结构示意图;
图6为本申请实施例提供的一种CDN中的上层节点的结构示意图;
图7为本申请实施例提供的一种CDN中的边缘节点的结构示意图;
图8为本申请实施例提供的一种资源文件传输***结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前,在CDN缓存业务中,回源是指当用户访问某一个URL(Uniform ResourceLocator,统一资源定位符)的时候,通过DNS(DomainName System,域名***)解析该URL对应的内容,并判断CDN的边缘节点没有缓存与该URL内容相同的数据,边缘节点将URL发送至上层节点,通过上层节点发送至源服务器以获取数据;上层节点在获取到的数据后发送至各个边缘节点进行缓存。
现有的回源路径的确定方式为主动探测方式,具体实现方式为:CDN的边缘节点同时发送http(Hyper Text Transfer Protocol,超文本传输协议)请求至CDN的多个上层节点,每一个上层节点接收该http请求后做出反馈(具体的反馈信息可以是传输控制协议TCP建联时间、对http头包含的请求的响应或者http的无效反馈等等),边缘节点接收该反馈,并将该反馈对应的返回时长确定为回源参考时长,将最短的回源参考时长对应的上层节点和边缘节点组成的路径确定为回源路径。
可见,现有技术中单纯的通过http请求来确定上层节点的回源参考时长,而由于http请求相对于实际业务传输存在较大差异,因此,回源效果较差。
目前,为了满足客户的需求,需要在资源文件的特定位置***指定内容,这会导致发至客户端的资源文件和存储的原始资源文件不一致,且***的指定内容随时可能变化。如果将要待***的指定内容也写入资源文件中,会造成资源文件不停的变更,命中率降低,使源站的带宽上升,影响服务质量。再者,不同的资源文件要***的位置也不一样,如果每次***前再去分析资源文件确定***位置,会浪费设备的计算资源,也会影响服务质量。
本申请实施例提供了一种资源文件传输方法、装置、CDN中的上层及边缘节点。通过该方法可以解决边缘节点解析资源文件使CDN处理数据时间较长的技术问题。
下面结合附图对本发明实施例进行进一步地介绍。
图1为本申请实施例提供的一种资源文件传输方法的流程示意图。其中,该方法可以应用于CDN中的上层节点。如图1所示,该方法包括:
步骤S110,接收边缘节点发送的获取请求。
其中,该获取请求包括资源文件的标识。资源文件指可以从中读取出需要的资源的文件,资源的类型可以是图片、音频、视频、文字等,或者其他可以在计算机中展示的内容等,例如,资源文件可以是应用程序包(application package,APK)。
资源文件的标识可以是网际互连协议(Intermet Protocol,IP)标识或其它形式的标识,该标识可以设置于获取请求的请求头中。
需要说明的是,该边缘节点为该CDN中的边缘节点,能够通过中层节点与上层节点进行数据传输。
步骤S120,确定资源文件和待***内容的位置。
本步骤中的资源文件为步骤S110的获取请求中的标识对应的资源文件。需要说明的是,该待***内容用于标识资源文件的渠道,待***内容的位置指的是待***内容在资源文件中需要***的位置。
步骤S130,向边缘节点发送响应,以使边缘节点基于响应头确定待***内容的位置。
其中,响应的响应头包括待***内容的位置指示信息,响应的载荷包括资源文件。待***内容的位置指示信息可以是待***内容在整个资源文件中的偏移量。
本步骤中,上层节点可以将该位置指示信息添加到响应头中,例如apk-insert-offset:12345。
这样,边缘节点便能够从该响应头中直接获取到待***内容的***位置,从而无需再次解析资源文件,能够减少分析资源文件的次数,以降低CPU的消耗和处理时间。
通过本实申请施例提供的方法,只需解析一次资源文件便能够确定待***内容要***的位置,并存储到响应头中,边缘节点只需从响应头中获取即可,不仅能够在资源文件下载时快速的在特定位置***待***内容,还能够实现资源文件下载时动态的修改资源文件,以在不影响下载首个资源包时间的前提下,实现动态的修改资源文件。
下面对上述步骤进行详细介绍,本申请实施例以资源文件是APK为例进行说明。
在一些实施例中,上层节点可以从源站处获取资源文件,并将解析得到的待***内容的位置指示信息存储在本地,以节省之后再次回源的过程。作为一个示例,上述步骤S120可以包括如下步骤:
步骤a,判断本地是否存储有资源文件。如果否,则进行步骤b。
步骤b,从资源文件对应的源站获取资源文件。
步骤c,对资源文件进行解析,确定待***内容的位置指示信息;并将待***内容的位置指示信息和资源文件对应存储在本地。
示例性的,如果上层节点中不存在APK,则回源站处去拉取对应的APK,并将该APK存储到本地的磁盘。并且,在回源时解析该APK文件,确定要***修改的位置,并将该位置的指示信息写入响应头中,再将该位置的指示信息存储至本地的磁盘。
例如,当上层节点收到源站响应,并且源站响应码表示了“成功处理了请求”时,上层节点解析APK文件待***内容的位置。其中,待***内容的位置可以是定制的,也可以是固定的。
本申请实施例中,只在上层节点回源站时解析一次APK,获取到待***内容的位置,以减少解析APK文件的次数。并且,并将解析出的待***内容的位置指示信息储存至本地,便于后续再需要确定该资源文件的待***内容的位置时,无需再次执行回源的动作,从而节省回源的次数。
在一些实施例中,上层节点也可以在本地存在APK的情况下,不再进行APK解析,以减少解析APK文件的次数。作为一个示例,上述步骤a之后,还可以包括如下步骤:
步骤d,如果本地存储有资源文件,则从本地获取资源文件和待***内容的位置指示信息。
本申请实施例中,如果上层节点中本身存在APK,则不解析APK文件,能够直接从本地获取资源文件和待***内容的位置指示信息,以减少解析APK文件的次数,降低CPU的消耗和数据处理的时间。
图2为本申请实施例提供的另一种资源文件传输方法的流程示意图。其中,该方法可以应用于CDN中的边缘节点。如图2所示,该方法包括:
步骤S210,接收客户端发送的第一获取请求。
其中,第一获取请求包括资源文件的标识以及待***内容。该待***内容可以为渠道标识,该渠道标识用于指示资源文件的分发渠道。例如,客户端通过应用平台的渠道下载APK,该渠道标识可以为该应用平台对应的服务器的标识。
步骤S220,向资源文件对应的上层节点发送第二获取请求。
需要说明的是,第二获取请求包括资源文件的标识。第二获取请求用于请求获取标识的资源文件的待***内容的位置。
步骤S230,接收上层节点发送的响应,判断响应的响应头是否包括待***内容的位置指示信息,响应的载荷是否包括资源文件。如果均是,则进行步骤S240。
其中的资源文件为步骤S220的第二获取请求中的标识对应的资源文件。本步骤中,边缘节点在接收到上层节点的响应头时,可以对该响应头进行解析,从而获取到待***内容的***位置。
步骤S240,根据待***内容的位置指示信息,将待***内容***资源文件,并向客户端发送***待***内容后的资源文件。
边缘节点能够从响应头获取到待***内容的位置指示信息,然后按照待***内容的位置指示信息直接将待***内容***至资源文件中,得到修改后的资源文件,并将修改后的资源文件发送至客户端。再者,边缘节点还可以建立资源文件修改前后的映射关系。
通过本实申请施例提供的方法,边缘节点能够从上层节点发送的响应的响应头中直接获取到待***内容的***位置,从而无需再次解析资源文件,能够减少分析资源文件的次数,以降低CPU的消耗和处理时间。
下面对上述步骤进行详细介绍,本申请实施例以资源文件是APK为例进行说明。
在一些实施例中,在响应头未包括待***内容的位置指示信息时,边缘节点可以直接向客户端发送未修改过的资源文件。作为一个示例,该方法还可以包括如下步骤:
如果响应的响应头未包括待***内容的位置指示信息,响应的载荷包括资源文件;则向客户端发送资源文件。
边缘节点在接收到上层节点传输的响应时,为了获取到待***内容的位置,对该响应的响应头进行解析。但是,如果待***内容的位置的获取失败,则说明上层节点传输的响应中不存在待***内容的位置,无需将待***内容***至APK中,边缘节点便可以直接将原始的APK发送给网民,不对APK做任何***等处理,以节省对APK的处理时间,降低整体的CDN处理数据的时间。
此外,边缘节点还可以将上层节点的响应以及修改前的APK存储到本地磁盘中,便于之后每次都可以直接在原始的APK基础上进行修改,以减少回源次数。
同时,边缘节点也可以不存储修改后的APK,只动态修改要发送至客户端的APK,以此可以在不增加回源带宽的前提下,满足对APK动态修改的效果。
图3为本申请实施例提供的另一种资源文件传输方法的流程示意图。其中,该方法可以应用于CDN。如图3所示,该方法包括:
步骤S310,边缘节点接收客户端发送的第一获取请求A。
其中,第一获取请求包括资源文件的标识以及待***内容。例如该待***内容可以为渠道标识,该渠道标识指资源文件的分发渠道。例如,客户端通过应用平台的渠道下载APK,该渠道标识可以为该应用平台对应的服务器的标识。
本申请实施例中的边缘节点为上述CDN中的边缘节点。本步骤中,如图3所示,边缘节点可以接收客户端发送的第一获取请求A。
步骤S320,边缘节点向资源文件对应的上层节点发送第二获取请求B。
其中,第二获取请求B包括资源文件的标识。本步骤中的资源文件可以是APK,也可以是其它类型的资源型文件。其中的标识可以是IP标识或其它形式的标识,该标识可以设置于获取请求的请求头中。
本申请实施例中的上层节点为上述CDN中的与资源文件对应的上层节点。本步骤中,如图3所示,边缘节点可以向该上层节点发送第二获取请求B。
步骤S330,上层节点接收边缘节点发送的第二获取请求B。
需要说明的是,第二获取请求B包括资源文件的标识。本步骤中,如图3所示,上层节点可以接收边缘节点发送的第二获取请求B。
步骤S340,上层节点确定资源文件和待***内容的位置。
本步骤中的资源文件为步骤S330的第二获取请求中包括的标识对应的资源文件。例如,该待***内容可以用于标识资源文件的渠道,待***内容的位置指的是待***内容在资源文件中需要***的位置。
步骤S350,上层节点向边缘节点发送响应C。
其中,响应C的响应头包括待***内容的位置指示信息,响应C的载荷包括资源文件。
本步骤中,待***内容的位置指示信息可以是待***内容在整个资源文件中的偏移量。上层节点可以将该位置指示信息添加到响应头中,例如apk-insert-offset:12345。然后,如图3所示,上层节点可以向边缘节点发送包含了待***内容的位置指示信息的响应C。
步骤S360,边缘节点接收上层节点发送的响应C,判断响应C的响应头是否包括待***内容的位置指示信息,响应C的载荷是否包括资源文件。如果均是,则进行步骤S370。
本步骤中,边缘节点在接收到上层节点的响应头时,可以对该响应头进行解析,从而获取到待***内容的***位置。
这样,边缘节点便能够从该响应头中直接获取到待***内容的***位置,从而无需再次解析资源文件,能够减少分析资源文件的次数,以降低数据处理的时间。
步骤S370,边缘节点根据待***内容的位置指示信息,将待***内容***资源文件D,并向客户端发送***待***内容后的资源文件D。
边缘节点能够从响应头获取到待***内容的位置指示信息,然后按照待***内容的位置指示信息直接将待***内容***至资源文件中,得到修改后的资源文件D。然后,如图3所示,边缘节可以向客户端发送***待***内容后的资源文件D。
通过本实申请施例提供的方法,CPU只需利用上层节点解析一次资源文件,便能够确定待***内容要***的位置,并存储到响应头中,边缘节点只需直接从响应头中获取待***内容要***的位置即可,边缘节点无需再次解析资源文件,能够减少分析资源文件的次数,以降低CPU的消耗和处理时间。不仅能够使边缘节点快速的在特定位置***待***内容,还能够实现资源文件下载时动态的修改资源文件,以在不影响下载首个资源包时间的前提下,实现动态的修改资源文件。
图4提供了一种资源文件传输装置的结构示意图。该装置可以应用于CDN中的上层节点,如图4所示,资源文件传输装置400包括:
接收模块401,用于接收边缘节点发送的获取请求,获取请求包括资源文件的标识;
确定模块402,用于确定资源文件和待***内容的位置;
发送模块403,用于向边缘节点发送响应,响应的响应头包括待***内容的位置指示信息,响应的载荷包括资源文件,以使边缘节点基于响应头确定待***内容的位置。
在一些实施例中,确定模块402具体用于:
判断本地是否存储有资源文件;
如果否,则从资源文件对应的源站获取资源文件;
对资源文件进行解析,确定待***内容的位置指示信息;并将待***内容的位置指示信息和资源文件对应存储在本地。
在一些实施例中,确定模块402还用于:
如果本地存储有资源文件,则从本地获取资源文件和待***内容的位置指示信息。
本申请实施例提供的资源文件传输装置,与上述实施例提供的资源文件传输方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
图5提供了另一种资源文件传输装置的结构示意图。该装置可以应用于CDN中的边缘节点,如图5所示,资源文件传输装置500包括:
接收单元501,用于接收客户端发送的第一获取请求,第一获取请求包括资源文件的标识以及待***内容;
发送单元502,用于向资源文件对应的上层节点发送第二获取请求,第二获取请求包括资源文件的标识;
接收单元501还用于接收上层节点发送的响应;
***单元503,用于如果响应的响应头包括待***内容的位置指示信息,响应的载荷包括资源文件;则根据待***内容的位置指示信息,将待***内容***资源文件,并向客户端发送***待***内容后的资源文件。
在一些实施例中,发送单元502还用于:
如果响应的响应头未包括待***内容的位置指示信息,响应的载荷包括资源文件;则向客户端发送资源文件。
本申请实施例提供的资源文件传输装置,与上述实施例提供的资源文件传输方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
图6提供了一种CDN中的上层节点的结构示意图。如图6所示,CDN中的上层节点600包括:
负载均衡模块601,用于进行负载均衡的调度;
业务代理模块602,用于提供反向代理的网络服务;例如,上层节点中的业务代理模块配置apk文件的解析模版,并将nginx配置转换为http请求头发送至缓存模块;
缓存模块603,用于接收边缘节点发送的获取请求,获取请求包括资源文件的标识;
缓存模块603还用于确定资源文件和待***内容的位置,并向边缘节点发送响应,响应的响应头包括待***内容的位置指示信息,响应的载荷包括资源文件,以使边缘节点基于响应头确定待***内容的位置。
本申请实施例提供的CDN中的上层节点,与上述实施例提供的资源文件传输方法及装置具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
图7提供了一种CDN中的边缘节点的结构示意图。如图7所示,CDN中的边缘节点700包括:
负载均衡单元701,用于进行负载均衡的调度;
业务代理单元702,用于提供反向代理的网络服务;
缓存单元703,用于接收客户端发送的第一获取请求,第一获取请求包括资源文件的标识以及待***内容;并向资源文件对应的上层节点发送第二获取请求,第二获取请求包括资源文件的标识;
缓存单元703还用于接收上层节点发送的响应;如果响应的响应头包括待***内容的位置指示信息,响应的载荷包括资源文件;则根据待***内容的位置指示信息,将待***内容***资源文件,并向客户端发送***待***内容后的资源文件。
本申请实施例提供的CDN中的边缘节点,与上述实施例提供的资源文件传输方法及装置具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
图8为本申请实施例提供的一种资源文件传输***结构示意图。如图8所示,该传输***800包括:上层节点801、边缘节点802以及客户端803;其中,该上层节点801可以包括一个或多个,该边缘节点802可以包括一个或多个,该客户端803可以包括一个或多个。
其中,客户端803,用于向边缘节点发送第一获取请求,第一获取请求包括资源文件的标识以及待***内容;
边缘节点802,用于接收第一获取请求;向资源文件对应的上层节点发送第二获取请求,第二获取请求包括资源文件的标识;
上层节点801,用于接收第二获取请求;确定资源文件和待***内容的位置;以及向边缘节点发送响应,响应的响应头包括待***内容的位置指示信息,响应的载荷包括资源文件;
边缘节点802,在接收上层节点发送的响应后,根据待***内容的位置指示信息,将待***内容***资源文件,并向客户端发送***待***内容后的资源文件。
在一些实施例中,上层节点801具体用于,判断上层节点801的本地是否存储有资源文件;如果否,则从资源文件对应的源站804获取资源文件;对资源文件进行解析,确定待***内容的位置指示信息;并将待***内容的位置指示信息和资源文件对应存储在本地;
源站804,用于向上层节点801提供资源文件。
在一些实施例中,上层节点801还用于,在本地存储有资源文件的情况下,从本地获取资源文件和待***内容的位置指示信息。
在一些实施例中,边缘节点802还用于,如果响应的响应头未包括待***内容的位置指示信息,响应的载荷包括资源文件;则向客户端803发送资源文件。
对应于上述资源文件传输方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述资源文件传输方法的步骤。
本申请实施例所提供的资源文件传输装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的***、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述移动控制方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种资源文件传输方法,其特征在于,包括:
上层节点接收边缘节点发送的获取请求,所述获取请求包括资源文件的标识;
确定所述资源文件和待***内容的位置;
向所述边缘节点发送响应,所述响应的响应头包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件,以使所述边缘节点基于所述响应头确定所述待***内容的位置;
确定所述资源文件和待***内容的位置的步骤,包括:
判断本地是否存储有所述资源文件;
如果否,则从所述资源文件对应的源站获取所述资源文件;
对所述资源文件进行解析,确定待***内容的位置指示信息;并将所述待***内容的位置指示信息和所述资源文件对应存储在本地;
如果是,则从本地获取所述资源文件和所述待***内容的位置指示信息。
2.一种资源文件传输方法,其特征在于,包括:
边缘节点接收客户端发送的第一获取请求,所述第一获取请求包括资源文件的标识以及待***内容;
向所述资源文件对应的上层节点发送第二获取请求,所述第二获取请求包括所述资源文件的标识;
接收上层节点发送的响应;
如果所述响应的响应头包括待***内容的位置指示信息,所述响应的载荷包括所述资源文件,则根据所述待***内容的位置指示信息,将所述待***内容***所述资源文件,并向所述客户端发送***待***内容后的资源文件;
其中,所述资源文件和所述待***内容的位置的确定过程包括:判断上层节点是否存储有所述资源文件;如果否,则从所述资源文件对应的源站获取所述资源文件;对所述资源文件进行解析,确定待***内容的位置指示信息;并将所述待***内容的位置指示信息和所述资源文件对应存储在所述上层节点;如果是,则从本地获取所述资源文件和所述待***内容的位置指示信息。
3.根据权利要求2所述的方法,其特征在于,还包括:
如果所述响应的响应头未包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件;则向所述客户端发送所述资源文件。
4.一种资源文件传输装置,其特征在于,包括:
接收模块,用于接收边缘节点发送的获取请求,所述获取请求包括资源文件的标识;
确定模块,用于确定所述资源文件和待***内容的位置;
发送模块,用于向所述边缘节点发送响应,所述响应的响应头包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件,以使所述边缘节点基于所述响应头确定所述待***内容的位置;
所述确定模块具体用于:
判断本地是否存储有所述资源文件;
如果否,则从所述资源文件对应的源站获取所述资源文件;
对所述资源文件进行解析,确定待***内容的位置指示信息;并将所述待***内容的位置指示信息和所述资源文件对应存储在本地;
如果是,则从本地获取所述资源文件和所述待***内容的位置指示信息。
5.一种资源文件传输装置,其特征在于,包括:
接收单元,用于接收客户端发送的第一获取请求,所述第一获取请求包括资源文件的标识以及渠道标识;
发送单元,用于向所述资源文件对应的上层节点发送第二获取请求,所述第二获取请求包括所述资源文件的标识;
所述接收单元还用于接收上层节点发送的响应;
***单元,用于如果所述响应的响应头包括待***内容的位置指示信息,所述响应的载荷包括所述资源文件;则根据所述待***内容的位置指示信息,将所述渠道标识***所述资源文件,并向所述客户端发送***渠道标识后的资源文件;
其中,所述资源文件和所述待***内容的位置的确定过程包括:判断上层节点是否存储有所述资源文件;如果否,则从所述资源文件对应的源站获取所述资源文件;对所述资源文件进行解析,确定待***内容的位置指示信息;并将所述待***内容的位置指示信息和所述资源文件对应存储在所述上层节点;如果是,则从本地获取所述资源文件和所述待***内容的位置指示信息。
6.一种CDN中的上层节点,其特征在于,包括:
负载均衡模块,用于进行负载均衡的调度;
业务代理模块,用于提供反向代理的网络服务;
缓存模块,用于接收边缘节点发送的获取请求,所述获取请求包括资源文件的标识;
所述缓存模块还用于确定所述资源文件和待***内容的位置,并向所述边缘节点发送响应,所述响应的响应头包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件,以使所述边缘节点基于所述响应头确定所述待***内容的位置;
所述缓存模块具体用于:
判断本地是否存储有所述资源文件;
如果否,则从所述资源文件对应的源站获取所述资源文件;
对所述资源文件进行解析,确定待***内容的位置指示信息;并将所述待***内容的位置指示信息和所述资源文件对应存储在本地;
如果是,则从本地获取所述资源文件和所述待***内容的位置指示信息。
7.一种CDN中的边缘节点,其特征在于,包括:
负载均衡单元,用于进行负载均衡的调度;
业务代理单元,用于提供反向代理的网络服务;
缓存单元,用于接收客户端发送的第一获取请求,所述第一获取请求包括资源文件的标识以及待***内容;并向所述资源文件对应的上层节点发送第二获取请求,所述第二获取请求包括所述资源文件的标识;
所述缓存单元还用于接收上层节点发送的响应;如果所述响应的响应头包括待***内容的位置指示信息,所述响应的载荷包括所述资源文件,则根据所述待***内容的位置指示信息,将所述待***内容***所述资源文件,并向所述客户端发送***待***内容后的资源文件;
其中,所述资源文件和所述待***内容的位置的确定过程包括:判断上层节点是否存储有所述资源文件;如果否,则从所述资源文件对应的源站获取所述资源文件;对所述资源文件进行解析,确定待***内容的位置指示信息;并将所述待***内容的位置指示信息和所述资源文件对应存储在所述上层节点;如果是,则从本地获取所述资源文件和所述待***内容的位置指示信息。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至4任一项所述的方法。
9.一种资源文件传输***,其特征在于,包括:上层节点、边缘节点以及客户端;
所述客户端,用于向所述边缘节点发送第一获取请求,所述第一获取请求包括资源文件的标识以及待***内容;
所述边缘节点,用于接收所述第一获取请求;向所述资源文件对应的所述上层节点发送第二获取请求,所述第二获取请求包括所述资源文件的标识;
所述上层节点,用于接收所述第二获取请求;确定所述资源文件和待***内容的位置;以及向所述边缘节点发送响应,所述响应的响应头包括所述待***内容的位置指示信息,所述响应的载荷包括所述资源文件;
所述边缘节点,在接收所述上层节点发送的响应后,根据所述待***内容的位置指示信息,将所述待***内容***所述资源文件,并向所述客户端发送***待***内容后的资源文件;
所述上层节点具体用于,判断所述上层节点的本地是否存储有所述资源文件;如果否,则从所述资源文件对应的源站获取所述资源文件;对所述资源文件进行解析,确定待***内容的位置指示信息;并将所述待***内容的位置指示信息和所述资源文件对应存储在本地;
所述源站,用于向所述上层节点提供所述资源文件;
所述上层节点还用于,在本地存储有所述资源文件的情况下,从本地获取所述资源文件和所述待***内容的位置指示信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911212236.0A CN112866325B (zh) | 2019-11-28 | 2019-11-28 | 资源文件传输方法、装置、cdn中的上层及边缘节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911212236.0A CN112866325B (zh) | 2019-11-28 | 2019-11-28 | 资源文件传输方法、装置、cdn中的上层及边缘节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866325A CN112866325A (zh) | 2021-05-28 |
CN112866325B true CN112866325B (zh) | 2023-05-16 |
Family
ID=75996028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911212236.0A Active CN112866325B (zh) | 2019-11-28 | 2019-11-28 | 资源文件传输方法、装置、cdn中的上层及边缘节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866325B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113542282A (zh) * | 2021-07-15 | 2021-10-22 | 曙光信息产业(北京)有限公司 | 一种跨计算中心文件传输方法、装置、设备及存储介质 |
CN115801769B (zh) * | 2023-01-06 | 2023-05-05 | 广州简悦信息科技有限公司 | 渠道包获取方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468817A (zh) * | 2014-12-22 | 2015-03-25 | 北京奇虎科技有限公司 | 通过cdn下载资源的实现方法和装置、服务器、客户端 |
CN105760405A (zh) * | 2014-12-19 | 2016-07-13 | 阿里巴巴集团控股有限公司 | 用于加载web页面的网络资源获取方法、缓存方法及装置 |
CN106170023A (zh) * | 2016-08-31 | 2016-11-30 | 网宿科技股份有限公司 | 一种网络资源的处理方法、装置、***以及服务器 |
CN107104997A (zh) * | 2016-02-22 | 2017-08-29 | ***通信集团浙江有限公司 | 一种重定向方法、终端及*** |
CN107438051A (zh) * | 2016-05-25 | 2017-12-05 | 中兴通讯股份有限公司 | 流媒体快速启动方法、装置和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9785621B2 (en) * | 2012-11-26 | 2017-10-10 | Akamai Technologies, Inc. | Progressive consolidation of web page resources |
-
2019
- 2019-11-28 CN CN201911212236.0A patent/CN112866325B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760405A (zh) * | 2014-12-19 | 2016-07-13 | 阿里巴巴集团控股有限公司 | 用于加载web页面的网络资源获取方法、缓存方法及装置 |
CN104468817A (zh) * | 2014-12-22 | 2015-03-25 | 北京奇虎科技有限公司 | 通过cdn下载资源的实现方法和装置、服务器、客户端 |
CN107104997A (zh) * | 2016-02-22 | 2017-08-29 | ***通信集团浙江有限公司 | 一种重定向方法、终端及*** |
CN107438051A (zh) * | 2016-05-25 | 2017-12-05 | 中兴通讯股份有限公司 | 流媒体快速启动方法、装置和*** |
CN106170023A (zh) * | 2016-08-31 | 2016-11-30 | 网宿科技股份有限公司 | 一种网络资源的处理方法、装置、***以及服务器 |
Non-Patent Citations (1)
Title |
---|
L. Peterson ; Akamai Technologies等.Framework for Content Distribution Network Interconnection (CDNI).《IETF rfc7336》.2014, * |
Also Published As
Publication number | Publication date |
---|---|
CN112866325A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10791201B2 (en) | Server initiated multipath content delivery | |
US8856279B2 (en) | Method and system for object prediction | |
US8892768B2 (en) | Load balancing apparatus and load balancing method | |
US8938526B1 (en) | Request routing management based on network components | |
US8458250B2 (en) | Request routing using network computing components | |
US8577992B1 (en) | Request routing management based on network components | |
US8156243B2 (en) | Request routing | |
US8620999B1 (en) | Network resource modification for higher network connection concurrence | |
US20180019961A1 (en) | Message processing method, processing server, terminal, and storage medium | |
CN106534243B (zh) | 基于http协议的缓存、请求、响应方法及相应装置 | |
US20130132544A1 (en) | Precise geolocation for content caching in evolved packet core networks | |
US8990429B2 (en) | HTTP-based synchronization method and apparatus | |
US8935377B2 (en) | Dynamic registration of listener resources for cloud services | |
CN109347968A (zh) | 一种下载资源文件的数据块的方法、设备和*** | |
CN112866325B (zh) | 资源文件传输方法、装置、cdn中的上层及边缘节点 | |
WO2017080459A1 (zh) | 服务内容的缓存及提供方法、装置、***和存储介质 | |
US20170034302A1 (en) | Facilitation of efficient web site page loading | |
US10455039B2 (en) | Method and router for sending and processing data | |
US10764402B2 (en) | Leveraging time-windows generated by web browser pre-connections | |
CN104615597A (zh) | 浏览器中清除缓存文件的方法、装置和*** | |
JP5213066B2 (ja) | ウェブ・サービス・エンドポイントを表すeprを変更する装置 | |
CN103020241A (zh) | 基于会话的动态页面缓存方法和*** | |
US9729650B2 (en) | Providing data to a network terminal | |
CN110855786A (zh) | 针对网络数据请求的处理方法、设备及计算机存储介质 | |
EP2917807A1 (en) | Adaptive leveraging of network information |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |