一种静态文件服务方法及装置的制造方法

文档序号:10515640阅读:467来源:国知局
一种静态文件服务方法及装置的制造方法
【专利摘要】本发明实施例提供了一种静态文件服务方法及装置,所述静态文件服务装置位于内容分发网络CDN服务器与动态接口服务器之间;所述方法包括:生成并存储所述CDN服务器所需的静态文件;接收所述CDN服务器发来的对目标静态文件的请求;从所存储的静态文件中读取所述目标静态文件;将读取的目标静态文件发送给所述CDN服务器。这样,众多CDN服务器发出的大量回源请求都会由该静态文件服务装置接收并处理,大大减轻了动态接口服务器上的压力。同时,静态文件服务装置作为针对回源请求的唯一响应源,以自身数据一致性,可以保证返回数据的一致性,避免了动态接口服务器升级期间会出现先后请求同一数据却可能会得到不同数据结果的情况。
【专利说明】
一种静态文件服务方法及装置
技术领域
[0001 ]本发明涉及通信技术领域,尤其涉及一种静态文件服务方法及装置。
【背景技术】
[0002]CDN(Content Delivery Network,内容分发网络)的作用是将用户的访问指向离用户最近的工作正常的服务器,从而尽可能避开互联网上可能影响数据传输速度和稳定性的环节,使用户就近取得所需内容,从而提高用户访问时的响应速度。CDN服务器一般会部署在各区域的网络服务提供商节点处。
[0003]当用户向⑶N服务器请求静态文件时,如果该静态文件不在⑶N服务器上,则⑶N月艮务器会转而向动态接口服务器请求该静态文件以满足用户的需求,这种现象可以称之为数据静态回源。由于CDN服务器不会缓存回源所得到的数据,所以即使用户先后两次请求同样的静态文件,CDN服务器也会相应的向动态接口服务器回源两次,这就导致了回源请求对动态接口服务器所产生的压力一直持续。
[0004]在现有技术中,可以指定动态接口服务器中的少量几台作为静态回源请求的处理服务器,这样将静态回源请求带来的压力集中在这几台服务器上,可避免对其他服务器造成干扰,然而,这种方案本质上并未使回源请求减少,其后果是这少数几台动态接口服务器会因负载持续过高而影响服务,甚至产生宕机失效的可能。而如果使用多台服务器分担压力,即处理回源请求的动态接口服务器数量较多,则也可能会产生如下“脏数据”问题:在对服务器进行升级时,通常采取按顺序、分批次升级的策略,当接收到回源请求时,会随机选取一台服务器进行处理,这样升级期间就会出现先后请求同一数据却可能会得到不同数据结果的情况,即出现了数据不一致,产生了 “脏数据”。
[0005]可见在现有技术中,在处理回源请求时,尚没有方案能够同时解决减轻服务器压力和避免产生脏数据这两个技术问题。

【发明内容】

[0006]为克服现有技术中存在的问题,本发明提供一种静态文件服务方法及装置,以同时解决减轻服务器压力和避免产生脏数据这两个技术问题。
[0007]根据本发明实施例的第一方面,提供一种静态文件服务方法,所述方法用于静态文件服务装置,所述静态文件服务装置位于内容分发网络CDN服务器与动态接口服务器之间;所述方法包括:
[0008]生成并存储所述⑶N服务器所需的静态文件;
[0009]接收所述CDN服务器发来的对目标静态文件的请求;
[0010]从所存储的静态文件中读取所述目标静态文件;
[0011 ]将读取的所述目标静态文件发送给所述⑶N服务器。
[0012]根据本发明实施例的第二方面,提供一种静态文件服务装置,所述装置位于内容分发网络CDN服务器与动态接口服务器之间;所述装置包括:
[0013]静态文件生成单元,用于生成所述⑶N服务器所需的静态文件;
[0014]静态文件存储单元,用于存储所述静态文件生成单元所生成的静态文件,接收所述CDN服务器发来的对目标静态文件的请求,从所存储的静态文件中读取所述目标静态文件,将读取的所述目标静态文件发送给所述CDN服务器。
[0015]本发明的实施例提供的技术方案可以包括以下有益效果:
[0016]本发明实施例中,在CDN服务器与动态接口服务器之间增设静态文件服务装置,该静态文件服务装置上存储有CND所需的静态文件,众多CDN服务器发出的大量回源请求都会由该静态文件服务装置接收并处理,而不会再被发到动态接口服务器上,也即静态文件服务装置将原本发到动态接口服务器的回源请求都聚集到自身进行处理,而该静态文件服务装置只需与动态接口服务器之间产生少量通信,这样就将CDN服务器可能存在的对动态接口服务器的大量回源请求(例如通常是全天百万至千万级访问量,对应可能产生的回源请求会达到百万访问量),降低到静态文件服务装置对动态接口服务器的少量请求(例如通常是全天几万访问量),从而大大减轻了动态接口服务器上的压力,避免了回源请求对线上业务长时间的持续影响。
[0017]同时,静态文件服务装置集中响应CDN静态回源请求,作为针对回源请求的唯一响应源,以自身数据一致性,可以保证返回数据的一致性,避免了动态接口服务器升级期间会出现先后请求同一数据却可能会得到不同数据结果的情况。
[0018]另外,静态文件服务装置仍然使用静态文件响应回源请求,充分利用了静态文件较接口访问更快的特点,提升了回源请求响应速度,进一步提升了系统的可用性。
[0019]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
【附图说明】
[0020]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0021 ]图1是根据一示例性实施例示出的一种静态文件服务方法的流程图;
[0022]图2是现有技术中的网络连接不意图;
[0023]图3是根据一示例性实施例示出的网络连接示意图;
[0024]图4是根据一示例性实施例示出的一种静态文件服务方法的流程图;
[0025]图5是根据一示例性实施例示出的网络连接示意图;
[0026]图6是根据一示例性实施例示出的网络连接示意图;
[0027]图7是根据一示例性实施例示出的网络连接示意图;
[0028]图8是根据一示例性实施例示出的一种静态文件服务装置的示意图;
[0029]图9是根据一示例性实施例示出的一种静态文件服务装置的示意图;
[0030]图10是根据一示例性实施例示出的一种静态文件服务装置的示意图;
[0031]图11是根据一示例性实施例示出的一种静态文件服务装置的示意图。
【具体实施方式】
[0032]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0033]图1是根据一示例性实施例示出的一种静态文件服务方法的流程图。该方法可用于静态文件服务装置。静态文件服务装置位于内容分发网络CDN服务器与动态接口服务器之间。参见图1所示,该方法可以包括:
[0034]步骤SlOl,生成并存储所述⑶N服务器所需的静态文件。
[0035]对于一些具有经常访问、数据量较大、处理时间较长、不包含个性化内容、更新频率固定等特点的数据,通常以静态文件的形式存储,在被请求时,直接读取内容,响应请求。
[0036]当用户(也可称为客户端、终端)访问CND服务器(也可称为CND节点)获取静态文件时,如果请求所对应的静态文件在CDN上不存在,则现有技术中,CND会将请求转发到动态接口服务器处理。
[0037]动态接口服务器一般通过应用程序实时处理访问者的请求内容,通常包含个性化的请求参数,响应数据一般根据请求不同而不同,通常以多台服务器组成集群形式提供服务。CDN服务器得到动态接口服务器返回的数据后再返回给用户,这种现象称为数据静态回源。现有技术的方案可参见图2所示,在图2中,各CDN服务器会直接将静态回源请求(以下简称回源请求)发给相应的动态接口服务器。
[0038]而在本实施例中,在⑶N服务器与动态接口服务器之间增加了静态文件服务装置,该静态文件服务装置可代替动态接口服务器响应CND的回源请求,以减轻动态接口服务器的压力并保证数据的一致性。静态文件服务装置可以由一台服务器构成,也可以由多台服务器构成,对于静态文件服务装置的具体硬件、组成形式等本实施例并不进行限制。
[0039]为了使静态文件服务装置可以响应CDN的回源请求,需要事先在静态文件服务装置上生成并存储所述CDN服务器所需的静态文件。对于预设规则的具体内容本实施例也并不进行限制,可以在此处使用的这些规则都没有背离本发明的精神和保护范围。
[0040]步骤S102,接收所述⑶N服务器发来的对目标静态文件的请求。
[0041]作为示例可参见图3所示,在图3中,静态文件服务装置代替动态接口服务器接收各CDN服务器的回源请求,此外,静态文件服务装置也会与动态接口服务器进行通信,以获取静态文件。
[0042]步骤S103,从所存储的静态文件中读取所述目标静态文件。
[0043]步骤S104,将读取的所述目标静态文件发送给所述⑶N服务器。
[0044]在本实施例中,在CDN服务器与动态接口服务器之间增设静态文件服务装置,该静态文件服务装置上存储有CND所需的静态文件,众多CDN服务器发出的大量回源请求都会由该静态文件服务装置接收并处理,而不会再被发到动态接口服务器上,也即静态文件服务装置将原本发到动态接口服务器的回源请求都聚集到自身进行处理,而该静态文件服务装置只需与动态接口服务器之间产生少量通信,这样就将CDN服务器可能存在的对动态接口服务器的大量回源请求(例如通常是全天百万至千万级访问量,对应可能产生的回源请求会达到百万访问量),降低到静态文件服务装置对动态接口服务器的少量请求(例如通常是全天几万访问量),从而大大减轻了动态接口服务器上的压力,避免了回源请求对线上业务长时间的持续影响。
[0045]参见图4所示,在本实施例或本发明其他某些实施例中,所述生成并存储所述CDN服务器所需的静态文件,可以包括:
[0046]步骤S401,模拟⑶N服务器向所述动态接口服务器发送对静态文件的请求。
[0047]静态文件服务装置在发送对静态文件的请求时,例如可以按时间进行发送,频率如几秒一次、几分钟一次、一天一次等,也可以按业务需求进行发送。静态文件服务装置向动态接口服务器的请求,相比CDN实时地直接向动态接口服务器的请求而言,具有量较少且可控的优势。
[0048]步骤S402,接收所述动态接口服务器返回的静态数据。
[0049]步骤S403,将所述静态数据以静态文件的形式进行存储。
[0050]在现有技术中,CDN的回源请求将被分配给多台动态接口服务器中的随机一台进行处理。当动态接口服务器升级时,极有可能对分配到本机的静态回源请求响应错误数据,甚至不响应,于是产生脏数据,影响正常业务。
[0051 ]而在本方案中,通过设置静态文件服务装置,作为静态回源请求的统一处理服务器,返回一致数据。同时进一步的,静态文件服务装置内部又可划分为“静态文件生成单元”和“静态文件存储单元”,可参见图5所示。静态文件生成单元用于根据预设规则生成所述⑶N服务器所需的静态文件。静态文件生成单元和静态文件存储单元在业务上相互独立,互不影响。静态文件存储单元只负责读取静态文件,响应CDN静态回源请求,不去关心静态文件生成单元是否能够及时更新数据;而静态文件生成单元只负责根据预设规则,不断生成静态文件,传送至静态文件存储单元的文件磁盘上保存下来,而不用关心其是否能正常响应回源请求。
[0052]在本实施例或本发明其他某些实施例中,所述方法还可以包括:
[0053]在所述动态接口服务器升级期间,暂停向所述动态接口服务器发送对静态文件的请求。
[0054]当动态接口服务器需要升级时,先暂停静态文件生成单元的服务,即暂停向所述动态接口服务器发送对静态文件的请求,在动态接口服务器全面升级完成后再恢复静态文件生成单元的服务。而在动态接口服务器升级期间,由于静态文件生成单元和静态文件存储单元在业务上相互独立,互不影响,所以静态文件存储单元仍然可以继续响应CDN回源请求。
[0055]另外,在本实施例或本发明其他某些实施例中,所述静态文件服务装置还可以包括与所述动态接口服务器相同的备用服务器;所述方法还可以包括:
[0056]在所述动态接口服务器升级期间,使用所述备用服务器代替所述动态接口服务器接收所述向所述动态接口服务器发送的对静态文件的请求。
[0057]对于数据更新实时性要求高的场景,可以在静态文件服务装置中添加一台或多台和线上动态接口服务器相同的服务器,作为线上动态接口服务器升级时的备用服务器,专供静态文件生成单元使用,保证持续更新静态文件,作为示例可参见图6所示。当动态接口服务器需要升级时,先升级备用服务器,然后将静态文件生成单元的请求全部转发到备用服务器(即使用所述备用服务器接替了动态接口服务器),再开始全面升级动态接口服务器,最后在升级完成后将以后的请求恢复发送到动态接口服务器上(也即动态接口服务器接替了备用服务器),从而实现线上升级与数据更新的平滑过渡和服务的持续。
[0058]此外,在本实施例或本发明其他某些实施例中,所述方法还可以包括:
[0059]在收到所述CDN服务器发来的对所述目标静态文件的请求后,将读取的所述目标静态文件推送给其他各CDN服务器;
[0060]和\或,
[0061]当所述静态文件服务装置存储的静态文件有更新时,将被更新的静态文件推送给各CDN服务器。
[0062]在现有技术中,CDN服务器发出静态回源请求并接受到响应数据后,直接返回给用户,而不会在本机缓存该数据,所以针对同一静态文件数据的请求会一直以静态回源形式发往动态接口服务器,对其造成持续压力,浪费了大量资源。而在本方案中,可以为静态文件服务装置添加数据主动推送CDN的服务,在收到所述CDN服务器发来的对静态文件的请求后,将所请求的静态文件主动推送给其他各CDN服务器,和\或,当所述静态文件服务装置存储的静态文件有更新时,将被更新的静态文件推送给各CDN服务器。作为示例可参见图7所不O
[0063]这样各CDN读取到本地静态文件后,就不再发出静态回源请求,减少既有静态回源请求的持续时间,减少服务器压力。同时,通过数据主动推动,可以在新业务上线之前,提前部署静态文件数据,降低静态回源发生的几率,提升系统的可用性。
[0064]下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
[0065]图8是根据一示例性实施例示出的一种静态文件服务装置的示意图。该装置即图中的装置800ο该装置位于CDN内容分发网络服务器与动态接口服务器之间,包括:
[0066]静态文件生成单元801,用于生成所述⑶N服务器所需的静态文件;
[0067]静态文件存储单元802,用于存储所述静态文件生成单元所生成的静态文件,接收所述CDN服务器发来的对目标静态文件的请求,从所存储的静态文件中读取所述目标静态文件;将读取的所述目标静态文件发送给所述CDN服务器。
[0068]参见图9所示,在本实施例或本发明其他某些实施例中,所述静态文件生成单元801可以包括:
[0069]模拟发送子单元8011,用于模拟CDN服务器向所述动态接口服务器发送对静态文件的请求;
[0070]数据接收子单元8012,用于接收所述动态接口服务器返回的静态数据;
[0071]文件存储子单元8013,用于将所述静态数据以静态文件的形式存储在所述静态文件存储单元。
[0072]在本实施例或本发明其他某些实施例中,在所述动态接口服务器升级期间,所述静态文件生成单元暂停向所述动态接口服务器发送对静态文件的请求。
[0073]参见图10所示,在本实施例或本发明其他某些实施例中,所述装置还可以包括:
[0074]备用服务器803,所述备用服务器803与所述动态接口服务器相同,用于在所述动态接口服务器升级期间代替所述动态接口服务器接收所述静态文件生成单元的对静态文件的请求。
[0075]参见图11所示,在本实施例或本发明其他某些实施例中,所述装置还可以包括:
[0076]主动推送单元804,用于在收到所述⑶N服务器发来的对所述目标静态文件的请求后,将读取的所述目标静态文件推送给其他各CDN服务器,和\或,当所述静态存储单元中的静态文件有更新时,将被更新的静态文件推送给各CDN服务器。
[0077]关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0078]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。
[0079]应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
【主权项】
1.一种静态文件服务方法,其特征在于,所述方法用于静态文件服务装置,所述静态文件服务装置位于内容分发网络CDN服务器与动态接口服务器之间;所述方法包括: 生成并存储所述CDN服务器所需的静态文件; 接收所述CDN服务器发来的对目标静态文件的请求; 从所存储的静态文件中读取所述目标静态文件; 将读取的所述目标静态文件发送给所述CDN服务器。2.根据权利要求1所述的方法,其特征在于,所述根据预设规则生成并存储所述CDN月艮务器所需的静态文件包括: 模拟CDN服务器向所述动态接口服务器发送对静态文件的请求; 接收所述动态接口服务器返回的静态数据; 将所述静态数据以静态文件的形式进行存储。3.根据权利要求2所述的方法,其特征在于,所述方法还包括: 在所述动态接口服务器升级期间,暂停向所述动态接口服务器发送对静态文件的请求。4.根据权利要求2所述的方法,其特征在于,所述静态文件服务装置还包括与所述动态接口服务器相同的备用服务器; 所述方法还包括: 在所述动态接口服务器升级期间,使用所述备用服务器代替所述动态接口服务器接收所述向所述动态接口服务器发送的对静态文件的请求。5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 在收到所述CDN服务器发来的对所述目标静态文件的请求后,将读取的所述目标静态文件推送给其他各CDN服务器; 和\或, 当所述静态文件服务装置存储的静态文件有更新时,将被更新的静态文件推送给各CDN服务器。6.一种静态文件服务装置,其特征在于,所述装置位于内容分发网络CDN服务器与动态接口服务器之间;所述装置包括: 静态文件生成单元,用于生成所述CDN服务器所需的静态文件; 静态文件存储单元,用于存储所述静态文件生成单元所生成的静态文件,接收所述CDN服务器发来的对目标静态文件的请求,从所存储的静态文件中读取所述目标静态文件,将读取的所述目标静态文件发送给所述CDN服务器。7.根据权利要求6所述的装置,其特征在于,所述静态文件生成单元包括: 模拟发送子单元,用于模拟CDN服务器向所述动态接口服务器发送对静态文件的请求; 数据接收子单元,用于接收所述动态接口服务器返回的静态数据; 文件存储子单元,用于将所述静态数据以静态文件的形式存储在所述静态文件存储单J L ο8.根据权利要求7所述的装置,其特征在于,在所述动态接口服务器升级期间,所述静态文件生成单元暂停向所述动态接口服务器发送对静态文件的请求。9.根据权利要求7所述的装置,其特征在于,所述装置还包括: 备用服务器,所述备用服务器与所述动态接口服务器相同,用于在所述动态接口服务器升级期间代替所述动态接口服务器接收所述静态文件生成单元的对静态文件的请求。10.根据权利要求6所述的装置,其特征在于,所述装置还包括: 主动推送单元,用于在收到所述CDN服务器发来的对所述目标静态文件的请求后,将读取的所述静态文件推送给其他各CDN服务器,和\或,当所述静态存储单元中的静态文件有更新时,将被更新的静态文件推送给各CDN服务器。
【文档编号】H04L29/08GK105871994SQ201510933373
【公开日】2016年8月17日
【申请日】2015年12月15日
【发明人】易坤
【申请人】乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1