静态文件的版本管理、文件拉取控制方法、装置及系统的制作方法

文档序号:9330610阅读:446来源:国知局
静态文件的版本管理、文件拉取控制方法、装置及系统的制作方法
【技术领域】
[0001]本申请涉及互联网领域,特别涉及一种静态文件的版本管理方法、文件拉取控制方法、版本管理装置、文件拉取控制装置及版本控制系统。
【背景技术】
[0002]浏览器在获取相关静态文件,如javascript脚本语言编写的js文件、层叠样式表单(Cascading Style Sheet,css)文件以及图片文件等,生成网页时,为了提高Web的性能,通常会在首次从内容分发网络(Content Delivery Network, Q)N)下载这些静态文件时,将这些静态文件进行缓存,并为之设置一个缓存时间,只要该缓存时间没有失效,下次再生成该网页时,便无需从CDN中重新拉取这些静态文件,而只需从本地缓存区获取即可,提高了网路速度,也节约了网路流量。
[0003]但目前的问题是:当有静态文件的内容存在更新时,如某js文件a.js中变更了部分代码或增加、删除了部分代码等,此时,如果浏览器缓存了该a.js文件且其缓存时间未失效的话,则浏览器仍然会调用本地缓存的该a.js文件,而不会从CDN中重新拉取更新后的a.js文件,这一定程序上就会造成网页静态文件版本的混乱。
[0004]为了解决这个问题,目前提出了两种解决方案。第一种是在统一资源定位符(Uniform Resource Locator,URL)后面加一个query串来区别不同的版本,例如:http:www.qq.com/a.js ? vers1n = 123。第二种是直接更改文件名来实现版本的区分,例如:http:www.qq.com/al23.js。这两种方案中的实现方式都是通过手工更改来实现的,容易操作失误;另外,两种方式都不支持文件回滚,即在发布的新版本存在错误时,无法回退至之前的版本;此外,这两种方案也不支持灰度发布和增量发布。
[0005]为此,本领域内的技术人员还在寻找其它的解决方案。

【发明内容】

[0006]有鉴于此,本发明实施例中一方面提供了一种静态文件的版本管理方法和文件拉取控制方法,另一方面提供了一种静态文件的版本管理装置、文件拉取控制装置及版本控制系统,用以实现对静态文件版本的清晰管理和控制,避免静态文件版本的混乱,并可支持静态文件的回滚、灰度发布和增量发布。
[0007]本发明所提供的静态文件的版本管理方法,包括:
[0008]为至少一个静态文件中的每个静态文件标记一个版本号,并将标记有版本号的所述静态文件作为待发布文件;
[0009]生成对应至少一个待发布文件的版本配置文件;所述版本配置文件中包括所述至少一个待发布文件各自的文件名及版本号信息;
[0010]将所述至少一个待发布文件发布到内容分发网络服务器中,并将所述版本配置文件以灰度发布方式发布到运营服务器中,以便在一运营服务器接收到来自一浏览器的浏览请求时,根据所述浏览请求读取对应的版本配置文件,将所述版本配置文件中包括的文件名及版本号信息提供给所述浏览器,以使得所述浏览器能够根据所述文件名及版本号信息从所述内容分发网络服务器中拉取对应的静态文件,并执行所拉取的静态文件。
[0011]本发明所提供的静态文件的文件拉取控制方法,包括:
[0012]接收来自一浏览器的浏览请求;
[0013]根据所述浏览请求读取对应的版本配置文件,将所述版本配置文件中包括的文件名及版本号信息提供给所述浏览器,以便所述浏览器根据所述文件名及版本号信息从所述内容分发网络服务器中拉取对应各文件名及版本号信息的静态文件,并执行所拉取的静态文件。
[0014]本发明所提供的静态文件的版本管理装置,用于一版本管理服务器,所述装置包括:版本号标记模块、版本配置文件生成模块、静态资源发布模块和版本配置文件发布模块;其中,
[0015]所述版本号标记模块用于为至少一个静态文件中的每个静态文件标记一个版本号,并将标记有版本号的所述静态文件作为待发布文件;
[0016]所述版本配置文件生成模块用于生成对应至少一个待发布文件的版本配置文件;所述版本配置文件中包括所述至少一个待发布文件各自的文件名及版本号信息;
[0017]所述静态资源发布模块用于将所述至少一个待发布文件发布到内容分发网络服务器中;
[0018]所述版本配置文件发布模块用于将所述版本配置文件以灰度发布方式发布到运营服务器中,以便在一运营服务器接收到来自一浏览器的浏览请求时,根据所述浏览请求读取对应的版本配置文件,将所述版本配置文件中包括的文件名及版本号信息提供给所述浏览器,以使得所述浏览器能够根据所述文件名及版本号信息从所述内容分发网络服务器中拉取对应的静态文件,并执行所拉取的静态文件。
[0019]本发明所提供的静态文件的文件拉取控制装置,用于一运营服务器,所述装置包括:
[0020]接收模块,用于接收来自一浏览器的浏览请求;
[0021]配置文件读取模块,用于根据所述浏览请求读取对应的版本配置文件,并获取所述版本配置文件中包括的文件名及版本号信息;
[0022]发送模块,用于将所述文件名及版本号信息提供给所述浏览器,以便所述浏览器根据所述文件名及版本号信息从所述内容分发网络服务器中拉取对应各文件名及版本号信息的静态文件,并执行所拉取的静态文件。
[0023]本发明所提供的静态文件的版本控制系统,包括:一版本管理服务器、一运营服务器、一内容分发网络服务器和一包括浏览器的终端;其中,
[0024]所述版本管理服务器包括上述的浏览器静态文件的版本管理装置;
[0025]所述运营服务器包括上述的浏览器静态文件的文件拉取控制装置。
[0026]可见,本发明实施例中,通过为每一个静态文件标记一个版本号,例如可在静态文件的文件名后面追加一个版本号,将标记有版本号的所述静态文件作为待发布文件,并生成对应至少一个待发布文件的版本配置文件,该版本配置文件中包括所述至少一个待发布文件各自的文件名及版本号信息;之后将所述至少一个待发布文件发布到CDN服务器中,并将所述版本配置文件以灰度发布方式发布到运营服务器中。之后,浏览器在向运营服务器发送浏览请求时,运营服务器可以读取对应的版本配置文件,并指示浏览器从CDN服务器中拉取对应的静态文件,从而实现了对静态文件版本的清晰管理和控制,避免了静态文件版本的混乱,并且由于向多个运营服务器发布版本配置文件时可采用灰度发布方式进行发布,因此可支持静态文件的灰度发布。又由于可只在版本配置文件中配置存在版本更新的静态文件,因此可支持静态文件的增量发布。此外,由于不同版本的静态文件是同时存在的,且具有相同的文件名,因此当发布的新版本存在错误时,可回退至之前版本的静态文件,从而实现了静态文件的回滚。
【附图说明】
[0027]为了更清楚的说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中,
[0028]图1为本发明各个实施例所涉及的一种实施环境的结构示意图;
[0029]图2为本发明实施例中一种静态文件的版本管理方法的示例性流程图;
[0030]图3为图2所示流程中步骤201的一种实现方法的流程示意图;
[0031]图4为本发明实施例中一种静态文件的文件拉取控制方法的示例性流程图;
[0032]图5为本发明实施例中一种静态文件的版本控制方法的示例性流程图;
[0033]图6为本发明实施例中一种静态文件的版本管理装置的示例性结构图;
[0034]图7为图6所示装置中版本号标记模块的结构示意图;
[0035]图8为本发明实施例中一种静态文件的文件拉取控制装置的示例性结构图;
[0036]图9为本发明实施例中一种服务器设备的结构示意图。
【具体实施方式】
[0037]为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。
[0038]图1为本发明各个实施例所涉及的一种实施环境的结构示意图。如图1所示,该实施环境包括版本管理服务器110、运营服务器120、⑶N服务器130和终端140。
[0039]其中,版本管理服务器110、运营服务器120、和⑶N服务器130可以分别是一台服务器,或者分别由若干台服务器组成的服务器集群,或者分别是一个云计算服务中心。
[0040]终端140中运行有浏览器,终端140可以为手机、iPad、平板电脑、膝上型
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1