Cdn服务器及其缓存数据的方法

文档序号:10597241阅读:440来源:国知局
Cdn服务器及其缓存数据的方法
【专利摘要】本发明实施例提供一种CDN服务器缓存数据的方法及CDN服务器,在所述CDN服务器接收到一条请求信息,并基于该请求信息获取并缓存某一文件的过程中接收到了另一请求信息时,系统则会检测所述另一请求信息所对应请求的目标数据所在的文件是否是正在缓存中的文件,如果是,则会进一步判断当前的系统条件是否满足可将文件交由缓存于CDN服务器进行处理的预设条件,由此可以使得系统将不影响用户体验的文件交由CDN服务器进行处理,以此节省CDN源站的处理资源,具有提高CDN服务器的智能化水平和节省CDN源站的处理资源的技术效果。
【专利说明】
CDN服务器及其缓存数据的方法
技术领域
[0001]本发明实施例涉及网络通信领域,尤其涉及一种CDN服务器及其缓存数据的方法。
【背景技术】
[0002]内容分发网络(ContentDelivery Network,Q)N)依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
[0003]⑶N网络中的一个节点即为一个⑶N服务器,这些⑶N服务器分布到用户访问相对集中的地区或网络中。在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的⑶N服务器上,在⑶N服务器缓存有用户访问的数据时,该⑶N服务器可以直接响应用户请求,在CDN服务器未缓存有用户访问的数据时,该CDN服务器才向CDN源站请求数据,降低了 CDN源站的负载,所述CDN源站是指发布内容的原始站点。
[0004]现有技术中,CDN服务器接收到超文本传输协议(HyperText Transfer Protocol,HTTP)请求消息时,若该HTTP请求消息中包括用于指示读取范围的range信息,则该⑶N服务器可以从CDN源站或缓存于该CDN服务器的文件中获取到该range信息指示的目标数据。并且,CDN服务器会对获取到的文件采用一缓存索引的方式进行管理,该索引中包括文件标识,以及标识每个文件处于已缓存状态或处于缓存中状态的缓存状态码。此外,CDN服务器还会针对一处理进度表进行维护管理,该处理进度表包括每个请求消息的标识以及每个请求消息的处理进度,例如,每个请求消息的处理进度可以包括处于未处理状态、处理中状态及已处理状态。
[0005]然而,当⑶N服务器先后接收到两条或两条以上的超文本传输协议请求消息时,CDN服务器会在处理第一个请求消息时向CDN源站索取数据,而当继续接收到第二个请求消息时,CDN服务器会先根据缓存索引中的文件标识,确定第二个请求消息对应所需的文件的缓存状态,若请求的文件状态处于缓存过程中,则CDN服务器会开始计时,超时该文件还未缓存完则会将该第二请求消息发送到CDN源站进行处理。
[0006]由此可见,现有技术中存在着当CDN服务器先后接收到两条或两条以上的超文本传输协议请求消息时,如果第一个请求消息和第二个请求消息对应请求的文件一致,且接收到第二个请求的时刻为CDN服务器正在缓存该对应请求的文件过程中时,只要缓存该文件的时间剩余时间超出预设时间则第二个请求就要发送到CDN源站进行处理,因此造成CDN源站处理资源浪费的技术问题。

【发明内容】

[0007]本发明实施例提供一种⑶N服务器及其缓存数据的方法,用以解决现有⑶N服务器对HTTP请求消息的处理浪费了 CDN源站的处理资源的缺陷,实现CDN服务器针对连续接收到请求同一文件的请求消息时采用更加智能化和高效化的处理方式。
[0008]本发明实施例提供一种⑶N服务器缓存数据的方法,包括:
[0009]⑶N服务器接收第一请求信息,所述第一请求信息为包括请求范围第一range信息的超文本传输协议HTTP请求信息,所述第一请求消息用于请求第一文件中的与所述第一range信息指示的第一目标数据;
[0010]所述⑶N服务器基于所述第一请求信息在第一时间段内接收并缓存从⑶N源站发送的所述第一文件的完整数据,所述CDN源站是指发布内容的原始站点;
[0011]所述CDN服务器在所述第一时间段内接收第二请求信息,所述第二请求信息为包括请求范围第二 range信息的超文本传输协议HTTP请求信息,所述第二请求消息用于请求所述第二range信息指示的第二目标数据;
[0012]检测所述第二目标数据是否为所述第一文件中的部分数据;
[0013]若是,则在满足一预设条件时,从缓存于所述⑶N服务器上的所述第一文件的完整数据中确定所述第二目标数据,并根据所述CDN服务器上的所述第二目标数据响应所述第二请求消息。
[0014]本发明实施例提供一种⑶N服务器,包括:
[0015]第一接收单元,用以接收第一请求信息和第二请求信息,所述第一请求信息为包括请求范围第一 range信息的超文本传输协议HTTP请求信息,所述第一请求消息用于请求第一文件中的与所述第一range信息指示的第一目标数据,所述第二请求信息为包括请求范围第二 range信息的超文本传输协议HTTP请求信息,所述第二请求消息用于请求所述第二range信息指示的第二目标数据;
[0016]缓存单元,用以基于所述第一请求信息在第一时间段内接收并缓存从⑶咐原站发送的所述第一文件的完整数据,所述CDN源站是指发布内容的原始站点;
[0017]检测单元,用以当所述⑶N服务器在所述第一时间段内接收到所述第二请求信息时,检测所述第二目标数据是否为所述第一文件中的部分数据;
[0018]响应单元,用以在所述第二目标数据为所述第一文件中的部分数据,且在满足一预设条件时,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并根据所述CDN服务器上的所述第二目标数据响应所述第二请求消息。
[0019]本申请实施例中的技术方案可以在CDN服务器接收到一条请求信息,并基于该请求信息获取并缓存某一文件的过程中接收到了另一请求信息时,系统则会检测所述另一请求信息所对应请求的目标数据所在的文件是否是正在缓存中的文件,如果是,则会进一步判断当前的系统条件是否满足可将文件交由缓存于CDN服务器进行处理的预设条件,由此可以使得系统将不影响用户体验的文件交由CDN服务器进行处理,以此节省CDN源站的处理资源,具有提高CDN服务器的智能化水平和节省CDN源站的处理资源的技术效果。
【附图说明】
[0020]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0021 ]图1为本发明实施例提供的CDN服务器缓存数据的方法的流程示意图;
[0022]图2为本发明实施例提供的⑶N服务器的结构图。
【具体实施方式】
[0023]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]为了使本领域的技术人员更容易理解本发明实施例提供的技术方案,下面首先对本发明实施例涉及到的相关技术进行简单介绍。
[0025]HTTP是一套计算机通过网络进行通信的规则,使用HTTP客户端通过发送HTTP请求消息能够向HTTP服务器请求信息和服务,所述HTTP客户端可以为Web浏览器,所述HTTP服务器可以为Web服务器。
[0026]HTTP请求消息由三个部分组成:请求行(Request Line )、消息头(MessageHeaders)和消息体(Entity Body),其中,消息头与消息体之间通过空行来分隔。
[0027]具体地,请求行由三个标记组成:请求方法、统一资源标识符(Uniform ResourceIdentif ier,URI)和HTTP版本,例如:GET/news.asp HTTP/1.I。以上代码中 “GET”代表请求方法,“/news.asp”表示URI,“HTTP/1.1”代表协议版本。值得说明的是,URI完整地指定了要访问的HTTP服务器中的网络资源,通常只要给出相对于服务器的根目录的相对目录即可。
[0028]消息头允许HTTP客户端向HTTP服务器传递关于请求或者关于客户端的附加信息。消息头包括Host头域,Referer头域等字段,其中,Host头域表示请求资源的主机和端口号,Referer头域允许客户端指定请求URI的源资源地址。值得说明的是,Range是在HTTP/1.1里新增的一个头域,range头域允许客户端请求实体的一个或者多个子范围。
[0029]消息体用于携带与请求相关联的数据,例如一些请求需要的参数等。由消息头中的内容长度Content-Type和内容类型Content-Length来指示。
[0030]⑶N服务器作为⑶咐原站(S卩HTTP服务器)的代理服务器,客户端发送的HTTP请求消息需先经过⑶N服务器,由上述介绍可知,⑶N服务器接收到HTTP请求消息后,根据该HTTP请求消息中的统一资源标识符以及range信息即可确定客户端请求的目标数据。但是,现有CDN服务器先后接收到两条或两条以上的超文本传输协议请求消息时,如果第一个请求消息和第二个请求消息对应请求的文件一致,且接收到第二个请求的时刻为CDN服务器正在缓存该对应请求的文件过程中时,只要缓存该文件的时间剩余时间超出预设时间则第二个请求就要发送到CDN源站进行处理,因此造成CDN源站处理资源浪费的技术问题。
[0031]本发明实施例提供一种CDN服务器缓存数据的方法,如图1所示,该方法包括:
[0032]步骤100:⑶N服务器接收第一请求信息,所述第一请求信息为包括请求范围第一range信息的超文本传输协议HTTP请求信息,所述第一请求消息用于请求第一文件中的与所述第一range信息指示的第一目标数据。
[0033]值得说明的是,所述⑶N服务器可以是接收到HTTP客户端发送的HTTP请求消息,该HTTP客户端可以是Web浏览器,也可以是具有浏览器功能的应用程序。
[0034]具体地,该HTTP请求消息的请求行中包括所述第一文件在⑶N源站中的统一资源标识符,该HTTP请求消息的消息头中包括用于指示所述第一文件中的部分数据的range信息,所述第一文件的部分数据即为该HTTP请求消息请求的目标数据;另一方面,所述第一HTTP请求消息也可以不包括range信息,此时,所述目标范围即为所述第一文件中的完整数据的范围。
[0035]步骤101:所述⑶N服务器基于所述第一请求信息在第一时间段内接收并缓存从CDN源站发送的所述第一文件的完整数据,所述CDN源站是指发布内容的原始站点;
[0036]值的说明的是,现有的技术方案中,⑶咐原站在接收到不包括range信息的HTTP请求消息后,根据该HTTP请求消息中的统一资源标识符,将包括对应该统一资源标识符的文件的完整数据以及响应码200发送至⑶N服务器,现有的⑶N服务器在确定HTTP响应消息中包括响应码200时,对接收到的数据进行缓存,若CDN源站接收到包括range信息的HTTP请求消息,则该⑶咐原站返回的HTTP请求消息中携带的响应码为206,现有的⑶N在确定HTTP响应消息中的响应码为206时,对接收到的数据不进行缓存。
[0037]而在本发明实施例的一种可能的实现方式中,该CDN服务器接收到包括第一文件的完整数据的HTTP响应消息后,直接对该第一文件的完整数据进行缓存。
[0038]在本发明实施例的另一种可能的实现方式中,该CDN服务器接收到包括第一文件的完整数据的HTTP响应消息后,根据响应码200缓存所述第一文件的完整数据。
[0039]采用上述方法,在⑶N服务器接收到包括range信息的HTTP请求消息时,所述⑶N月艮务器能够删除所述HTTP请求消息中的range信息,并将删除后的所述HTTP请求消息发送至⑶N源站,所述⑶咐原站在接收到不包括range信息的HTTP请求消息的情况下,将所述HTTP请求消息请求的第一文件的完整数据发送至所述CDN服务器,所述CDN服务器在接收到所述CDN源站发送的包括所述第一文件的完整数据的HTTP响应消息后,对所述第一文件的完整数据进行缓存,实现了 CDN服务器对CDN源站发送的数据的缓存,这样,由于CDN服务器缓存有第一文件的完整数据,因此,所述CDN服务器后续接收到的所有请求的所述第一文件的数据的HTTP请求消息,所述CDN服务器均可以从自身缓存中获取数据进行响应,无需再从所述CDN源站请求所述第一文件的数据,从而避免了对所述CDN源站的处理资源浪费,进而减轻了CDN源站的负载。
[0040]也就是说,在本步骤的执行过程中,若CDN服务器在第一时刻接收到包括第一range信息的第一请求信息,并基于所述第一range信息确定出所述第一请求信息所请求的目标数据为第一文件中的部分数据时,所述CDN服务器可以直接由CDN源站获取所述第一文件的完整数据,或在检测得到所述CDN服务器中不存在所述第一文件的完整数据之后,再由所述CDN源站获取所述第一文件的完整数据。
[0041]值得说明的是,所述CDN服务器可以通过现有技术中的多种方式确定出从CDN源站获取到所述第一文件的完整数据所需花费的时长,而该段时长则为所述第一时间段。在实际操作过程中,所述第一时间段可以通过多种方式来表征,例如,可以采用3点45分到5点36分的时刻方式来表征所述第一时间段,也可以采用所需时长为10分钟或3小时的时长方式来表征所述第一时间段,还可以采用倒计时为80单位时间的倒计时方式来表征所述第一时间段,等等。在实际操作过程中可以根据需要而自行设置。
[0042]步骤102:所述⑶N服务器在所述第一时间段内接收第二请求信息,所述第二请求信息为包括请求范围第二range信息的超文本传输协议HTTP请求信息,所述第二请求消息用于请求所述第二range信息指示的第二目标数据。
[0043]步骤103:检测所述第二目标数据是否为所述第一文件中的部分数据。
[0044]也就是说,只要是所述CDN服务器正处于缓存某一文件的过程中接收到了另一请求信息,则系统就会检测所述另一请求信息所对应请求的目标数据所在的文件是否是正在缓存中的文件。
[0045]步骤104:若是,则在满足一预设条件时,从缓存于所述⑶N服务器上的所述第一文件的完整数据中确定所述第二目标数据,并根据所述CDN服务器上的所述第二目标数据响应所述第二请求消息。
[0046]如果所述另一请求信息所对应请求的目标数据所在的文件正是处于缓存中的文件,则系统会在满足一预设条件时,从缓存于所述CDN服务器上的该请求信息所对应的目标数据进行响应处理。
[0047]在实际操作过程中,所述预设条件可以为多种,只要是可以判断可否将文件交由CDN服务器进行缓存后处理,由此节省CDN源站的处理资源,并且能满足用户的使用体验的条件则都可以作为所述预设条件。
[0048]例如,可以将所述第一文件的数据量大小是否符合预设大小作为所述预设条件,由此可以将一些小型文件均采用缓存于CDN服务器的方式进行响应处理;还可以将所述第一文件的文件类型是否符合预设类型作为所述预设条件,由此可以将一些优先级别较低的文件采用缓存于CDN服务器的方式进行响应处理,等等。
[0049]另一方面,在本申请实施例技术方案的实际操作过程中,响应请求消息的方式可以为多种,例如,可以向发出请求消息的客户端发出通知信息的方式以响应,可以向所述发出请求消息的客户端传输所需文件的方式以响应,还可以将所述发出的请求消息转发到其它服务器进行处理的方式以响应,等等,在本申请实施例的技术方案中并不加限制。
[0050]可见,本申请实施例中的技术方案可以在⑶N服务器接收到一条请求信息,并基于该请求信息获取并缓存某一文件的过程中接收到了另一请求信息时,所述CDN服务器会检测所述另一请求信息所对应请求的目标数据所在的文件是否是正在缓存中的文件,如果是,则会进一步判断当前的系统条件是否满足可将文件交由缓存于CDN服务器进行处理的预设条件,由此可以使得系统将不影响用户体验的文件交由CDN服务器进行处理,以此节省CDN源站的处理资源,具有提高CDN服务器的智能化水平和节省CDN源站的处理资源的技术效果。
[0051]可选地,所述⑶N服务器基于所述第一请求信息在第一时间段内接收并缓存从⑶N源站发送的所述第一文件的完整数据,包括:
[0052]在所述⑶N服务器处于缓存所述第一文件的过程中时,所述⑶N服务器建立与所述第一文件对应的第一缓存索引,所述第一缓存索引包括所述第一文件的第一来源位置信息;
[0053]所述检测所述第二目标数据是否为所述第一文件中的部分数据,包括:
[0054]在所述第二请求信息中包括所述第二目标数据所在的文件的第二来源位置信息时,检测所述第二来源位置信息是否与所述第一来源位置信息一致;
[0055]其中,当所述第二来源位置信息与所述第一来源位置信息一致时,表征所述第二目标数据为所述第一文件中的部分数据,当所述第二来源位置信息与所述第一来源位置信息不一致时,则表征所述第二目标数据不为所述第一文件中的部分数据。
[0056]也就是说,在步骤103的执行过程中,可以通过判断第一请求信息所对应请求的文件来源位置,是否与第二请求信息所对应请求的文件来源位置为一致的方式,来判断所述第二目标数据是否为所述第一文件中的部分数据。由于在CDN系统中,请求信息所对应请求的数据原始来源均为CDN源站,因此,如果两条或两条以上的请求信息对应请求的文件在CDN源站中所存放的文件位置一致时,则表征两条或两条以上的请求信息所对应请求的文件为一致。
[0057]可见,本申请实施例中的技术方案利用了CDN系统中文件的来源均为同一源站的特性,可以通过判断第一请求信息所对应请求的文件来源位置,是否与第二请求信息所对应请求的文件来源位置为一致的方式,来判断所述第二目标数据是否为所述第一文件中的部分数据,因此具有提高文件一致性判断准确性的技术效果。
[0058]可选地,所述在满足一预设条件时,从缓存于所述⑶N服务器上的所述第一文件的完整数据中确定所述第二目标数据,并根据所述第二目标数据响应所述第二请求消息,包括:
[0059]检测所述第二目标数据是否与所述第一目标数据一致;
[0060]若是,则在所述CDN服务器接收并缓存所述第一文件的完整数据之后,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并根据所述CDN服务器上的所述第二目标数据响应所述第二请求消息。
[0061]也就是说,如果根据第二请求消息所携带的第二range信息所指示请求的目标数据,与第一请求消息所携带的第一 range信息所指示请求的目标数据完全一致,那么系统则会不论缓存所述第一文件的剩余时间为多少,一律会在CDN服务器缓存了所述第一文件的完整数据之后,再从缓存在所述CDN服务器上的第一文件中的数据来响应所述第二请求消息,因此可以避免⑶N服务器向⑶N源站重复请求完全一致的数据。
[0062]可见,在本申请实施例的技术方案中,还可以通过在第二请求消息所对应请求的目标数据与第一请求消息对应请求的目标数据完全一致的情况下,只由缓存于⑶N服务器上的文件数据进行响应处理,因此还具有进一步节省CDN源站的处理资源的技术效果。
[0063]在所述检测所述第二目标数据是否与所述第一目标数据一致之后,所述方法包括:
[0064]若否,则检测缓存时长是否大于等于预设时长,所述缓存时长为从当前时刻到所述第一时间段中的最后时刻的时长;
[0065]若否,则在所述⑶N服务器接收并缓存所述第一文件的完整数据之后,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并通过所述CDN服务器将所述第二目标数据发送到发出所述第二请求消息的客户端。
[0066]可选地,在所述检测缓存时长是否大于等于预设时长之后,所述方法还包括:
[0067]若是,则从所述⑶N源站上的所述第一文件的完整数据中确定所述第二目标数据,并通过所述CDN源站将所述第二目标数据发送到发出所述第二请求消息的客户端。
[0068]需要指出的是,所述当前时刻可以为接收到所述第二请求消息的时刻,也可以是CDN服务器接收到所述第二请求消息并作出判断其所请求的文件的处理状态后的某一时亥IJ,在实际操作过程中可以根据需要而自行设置。
[0069]也就是说,当第一请求消息对应请求的第一目标数据所在的文件,与第二请求消息对应请求的第二目标数据所在的文件相同(也就是所述第一请求消息与所述第二请求消息对应请求的目标数据均属于第一文件),然而所述第一目标数据与所述第二目标数据不同(也就是所述第一目标数据和所述第二目标数据为所述第一文件的不同部分数据)时,CDN服务器可以在所述当前时刻距离缓存完毕所述第一文件的时刻这段时长小于一预设时长,也就是所述缓存时长小于所述预设时长时,而等候CDN服务器缓存完毕第一文件后,由缓存在所述CDN服务器上的第一文件的完整数据来响应所述第二请求消息;还可以在所述当前时刻距离缓存完毕所述第一文件的时刻这段时长大于等于所述预设时长,也就是所述缓存时长大于等于所述预设时长时,将所述第二请求信息转发到CDN源站,并基于所述CDN源站上的文件数据响应所述第二请求信息,例如,可以通过CDN源站将所述第二请求消息对应请求的第二目标数据发往请求客户端的方式进行响应。由此实现了另一种不影响用户使用体验,而采用⑶N服务器对请求信息进行处理的方法。
[0070]可见,本申请实施例中的技术方案还可以通过检测所述缓存时长是否大于等于预设时长,从而确定是否由所述CDN服务器缓存的所述第一文件的数据来响应所述第二请求消息,或者通过CDN源站将所述第二请求消息对应请求的第二目标数据发往请求客户端的方式进行响应。因此,本申请实施例中的技术方案实现了另一种不影响用户使用体验,而采用⑶N服务器对请求信息进行处理的方法,具有进一步节省⑶N源站处理资源且提高了⑶N服务器的利用率的技术效果。
[0071]另外,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,例如,该CDN服务器也可以先根据range信息将目标数据发送至客户端,再缓存该第一文件的完整数据。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
[0072]实施例二
[0073]本发明实施例还提供一种⑶N服务器20,用于实施上述方法实施例提供一种⑶N月艮务器缓存数据的方法,如图2所示,该CDN服务器20包括:
[0074]第一接收单元200,用以接收第一请求信息和第二请求信息,所述第一请求信息为包括请求范围第一range信息的超文本传输协议HTTP请求信息,所述第一请求消息用于请求第一文件中的与所述第一 range信息指示的第一目标数据,所述第二请求信息为包括请求范围第二range信息的超文本传输协议HTTP请求信息,所述第二请求消息用于请求所述第二range信息指示的第二目标数据;
[0075]缓存单元201,用以基于所述第一请求信息在第一时间段内接收并缓存从⑶对原站发送的所述第一文件的完整数据,所述CDN源站是指发布内容的原始站点;
[0076]检测单元202,用以当所述⑶N服务器在所述第一时间段内接收到所述第二请求信息时,检测所述第二目标数据是否为所述第一文件中的部分数据;
[0077]响应单元203,用以在所述第二目标数据为所述第一文件中的部分数据,且在满足一预设条件时,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并根据所述CDN服务器上的所述第二目标数据响应所述第二请求消息。
[0078]可选地,所述缓存单元201,还用以在处于缓存所述第一文件的过程中时,建立与所述第一文件对应的第一缓存索引,所述第一缓存索引包括所述第一文件的第一来源位置信息;
[0079]所述检测单元202,用以在所述第二请求信息中包括所述第二目标数据所在的文件的第二来源位置信息时,检测所述第二来源位置信息是否与所述第一来源位置信息一致,其中,当所述第二来源位置信息与所述第一来源位置信息一致时,表征所述第二目标数据为所述第一文件中的部分数据,当所述第二来源位置信息与所述第一来源位置信息不一致时,则表征所述第二目标数据不为所述第一文件中的部分数据。
[0080]可选地,所述检测单元202,还用以检测所述第二目标数据是否与所述第一目标数据一致;
[0081]所述响应单元203,用以在所述CDN服务器接收并缓存所述第一文件的完整数据之后,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并根据所述CDN服务器上的所述第二目标数据响应所述第二请求消息。
[0082]可选地,所述检测单元202,还用以在所述第二目标数据与所述第一目标数据不一致时,检测缓存时长是否大于等于预设时长,所述缓存时长为从当前时刻到所述第一时间段中的最后时刻的时长;
[0083]所述响应单元203,用以在所述缓存时长小于预设时长时,在所述CDN服务器接收并缓存所述第一文件的完整数据之后,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并通过所述CDN服务器将所述第二目标数据发送到发出所述第二请求消息的客户端。
[0084]可选地,所述响应单元203,还用以在所述缓存时长大于等于所述预设时长时,发出响应指令以通知从所述CDN源站上的所述第一文件的完整数据中确定所述第二目标数据,并通过所述CDN源站将所述第二目标数据发送到发出所述第二请求消息的客户端。
[0085]由此可见,本申请实施例中的技术方案可以在CDN服务器接收到一条请求信息,并基于该请求信息获取并缓存某一文件的过程中接收到了另一请求信息时,系统则会检测所述另一请求信息所对应请求的目标数据所在的文件是否是正在缓存中的文件,如果是,则会进一步判断当前的系统条件是否满足可将文件交由缓存于CDN服务器进行处理的预设条件,由此可以使得系统将不影响用户体验的文件交由CDN服务器进行处理,以此节省CDN源站的处理资源,具有提高CDN服务器的智能化水平和节省CDN源站的处理资源的技术效果。
[0086]本申请实施例中的技术方案还具有如下技术效果:
[0087]进一步地,本申请实施例中的技术方案利用了CDN系统中文件的来源均为同一源站的特性,可以通过判断第一请求信息所对应请求的文件来源位置,是否与第二请求信息所对应请求的文件来源位置为一致的方式,来判断所述第二目标数据是否为所述第一文件中的部分数据,因此具有提高文件一致性判断准确性的技术效果。
[0088]进一步地,在本申请实施例的技术方案中,还可以通过在第二请求消息所对应请求的目标数据与第一请求消息对应请求的目标数据完全一致的情况下,只由缓存于CDN月艮务器上的文件数据进行响应处理,因此还具有进一步节省CDN源站的处理资源的技术效果。
[0089]进一步地,本申请实施例中的技术方案还可以通过检测所述缓存时长是否大于等于预设时长,从而确定是否由所述CDN服务器缓存的所述第一文件的数据来响应所述第二请求消息,或者通过CDN源站将所述第二请求消息对应请求的第二目标数据发往请求客户端的方式进行响应。因此,本申请实施例中的技术方案实现了另一种不影响用户使用体验,而采用CDN服务器对请求信息进行处理的方法,具有进一步节省CDN源站处理资源且提高了CDN服务器的利用率的技术效果。
[0090]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0091]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0092]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种⑶N服务器缓存数据的方法,其特征在于,包括: CDN服务器接收第一请求信息,所述第一请求信息为包括请求范围第一range信息的超文本传输协议HTTP请求信息,所述第一请求消息用于请求第一文件中的与所述第一range信息指示的第一目标数据; 所述CDN服务器基于所述第一请求信息在第一时间段内接收并缓存从CDN源站发送的所述第一文件的完整数据,所述CDN源站是指发布内容的原始站点; 所述CDN服务器在所述第一时间段内接收第二请求信息,所述第二请求信息为包括请求范围第二range信息的超文本传输协议HTTP请求信息,所述第二请求消息用于请求所述第二range信息指示的第二目标数据; 检测所述第二目标数据是否为所述第一文件中的部分数据; 若是,则在满足一预设条件时,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并根据所述CDN服务器上的所述第二目标数据响应所述第二请求消息。2.如权利要求1所述的方法,其特征在于,所述CDN服务器基于所述第一请求信息在第一时间段内接收并缓存从CDN源站发送的所述第一文件的完整数据,包括: 在所述CDN服务器处于缓存所述第一文件的过程中时,所述CDN服务器建立与所述第一文件对应的第一缓存索引,所述第一缓存索引包括所述第一文件的第一来源位置信息;所述检测所述第二目标数据是否为所述第一文件中的部分数据,包括: 在所述第二请求信息中包括所述第二目标数据所在的文件的第二来源位置信息时,检测所述第二来源位置信息是否与所述第一来源位置信息一致; 其中,当所述第二来源位置信息与所述第一来源位置信息一致时,表征所述第二目标数据为所述第一文件中的部分数据,当所述第二来源位置信息与所述第一来源位置信息不一致时,则表征所述第二目标数据不为所述第一文件中的部分数据。3.如权利要求1所述的方法,其特征在于,所述在满足一预设条件时,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并根据所述第二目标数据响应所述第二请求消息,包括: 检测所述第二目标数据是否与所述第一目标数据一致; 若是,则在所述CDN服务器接收并缓存所述第一文件的完整数据之后,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并根据所述CDN服务器上的所述第二目标数据响应所述第二请求消息。4.如权利要求3所述的方法,其特征在于,在所述检测所述第二目标数据是否与所述第一目标数据一致之后,所述方法包括: 若否,则检测缓存时长是否大于等于预设时长,所述缓存时长为从当前时刻到所述第一时间段中的最后时刻的时长; 若否,则在所述⑶N服务器接收并缓存所述第一文件的完整数据之后,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并通过所述CDN服务器将所述第二目标数据发送到发出所述第二请求消息的客户端。5.如权利要求4所述的方法,其特征在于,在所述检测缓存时长是否大于等于预设时长之后,所述方法还包括: 若是,则从所述CDN源站上的所述第一文件的完整数据中确定所述第二目标数据,并通过所述CDN源站将所述第二目标数据发送到发出所述第二请求消息的客户端。6.一种⑶N服务器,其特征在于,包括: 第一接收单元,用以接收第一请求信息和第二请求信息,所述第一请求信息为包括请求范围第一range信息的超文本传输协议HTTP请求信息,所述第一请求消息用于请求第一文件中的与所述第一 range信息指示的第一目标数据,所述第二请求信息为包括请求范围第二range信息的超文本传输协议HTTP请求信息,所述第二请求消息用于请求所述第二range信息指示的第二目标数据; 缓存单元,用以基于所述第一请求信息在第一时间段内接收并缓存从⑶N源站发送的所述第一文件的完整数据,所述CDN源站是指发布内容的原始站点; 检测单元,用以当所述CDN服务器在所述第一时间段内接收到所述第二请求信息时,检测所述第二目标数据是否为所述第一文件中的部分数据; 响应单元,用以在所述第二目标数据为所述第一文件中的部分数据,且在满足一预设条件时,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并根据所述CDN服务器上的所述第二目标数据响应所述第二请求消息。7.如权利要求6所述的CDN服务器,其特征在于,所述缓存单元,还用以在处于缓存所述第一文件的过程中时,建立与所述第一文件对应的第一缓存索引,所述第一缓存索引包括所述第一文件的第一来源位置信息; 所述检测单元,用以在所述第二请求信息中包括所述第二目标数据所在的文件的第二来源位置信息时,检测所述第二来源位置信息是否与所述第一来源位置信息一致,其中,当所述第二来源位置信息与所述第一来源位置信息一致时,表征所述第二目标数据为所述第一文件中的部分数据,当所述第二来源位置信息与所述第一来源位置信息不一致时,则表征所述第二目标数据不为所述第一文件中的部分数据。8.如权利要求6所述的CDN服务器,其特征在于,所述检测单元,还用以检测所述第二目标数据是否与所述第一目标数据一致; 所述响应单元,用以在所述CDN服务器接收并缓存所述第一文件的完整数据之后,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并根据所述⑶N服务器上的所述第二目标数据响应所述第二请求消息。9.如权利要求8所述的⑶N服务器,其特征在于,所述检测单元,还用以在所述第二目标数据与所述第一目标数据不一致时,检测缓存时长是否大于等于预设时长,所述缓存时长为从当前时刻到所述第一时间段中的最后时刻的时长; 所述响应单元,用以在所述缓存时长小于预设时长时,在所述CDN服务器接收并缓存所述第一文件的完整数据之后,从缓存于所述CDN服务器上的所述第一文件的完整数据中确定所述第二目标数据,并通过所述CDN服务器将所述第二目标数据发送到发出所述第二请求消息的客户端。10.如权利要求9所述的CDN服务器,其特征在于,所述响应单元,还用以在所述缓存时长大于等于所述预设时长时,发出响应指令以通知从所述CDN源站上的所述第一文件的完整数据中确定所述第二目标数据,并通过所述CDN源站将所述第二目标数据发送到发出所述第二请求消息的客户端。
【文档编号】H04L29/08GK105959358SQ201610262858
【公开日】2016年9月21日
【申请日】2016年4月25日
【发明人】刘斌
【申请人】乐视控股(北京)有限公司, 乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1