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

文档序号:9330610阅读:来源:国知局
便携计算机和台式计算机等。
[0041]版本管理服务器110和运营服务器120之间,版本管理服务器110和⑶N服务器130之间,运营服务器120和终端140之间,以及⑶N服务器130与终端140之间,可以分别通过无线网络或有线网络相连。
[0042]图2为本发明实施例中一种静态文件的版本管理方法的示例性流程图。该方法主要应用于版本管理服务器110中。如图2所示,该方法可包括如下步骤:
[0043]步骤201,为至少一个静态文件中的每个静态文件标记一个版本号,并将标记有版本号的所述静态文件作为待发布文件。
[0044]为静态文件标记版本号的方式不同于目前通过更改文件名来区分版本号的方式。通过更改文件名来区分版本号的方式中,其文件名已经不是原来文件名了,即系统不再将拥有原文件名的文件(如a.js)和拥有更改后的文件名的文件(如al23.js)作为同一文件的不同版本,而是将二者作为不同的文件看待。而本申请为静态文件标记版本号的方式中,并不改变静态文件的文件名。例如,有一种标记版本号的实现方式是在该文件名的基础上追加一个版本号,且该文件名和版本号之间存在一个间隔符,例如如果将版本号追加在文件名的后面的话,则通过检测符号“ _ ”之前的内容可得到静态文件的文件名,通过检测符号之后的内容可得到静态文件的版本号。这样一来,系统会将标记有不同版本号的同一文件名的文件,例如a_1001.js和a_1002.js,视为同一文件的不同版本。
[0045]步骤202,生成对应至少一个待发布文件的版本配置文件;所述版本配置文件中包括所述至少一个待发布文件各自的文件名及版本号信息。
[0046]本步骤中,版本配置文件可以包括一个网站中所需的各静态文件的文件名及版本号信息。例如,生成的版本配置文件可以为vers1n, ini。
[0047]步骤203,将所述至少一个待发布文件发布到⑶N服务器130中。
[0048]本步骤中,所述至少一个待发布文件可打包成一个静态资源包,如压缩包release, tar.gz等,进行发布,之后⑶N服务器130可进行拆包处理,如解压缩等,从而得到各个待发布文件。
[0049]步骤204,将所述版本配置文件以灰度发布方式发布到运营服务器120中。
[0050]之后,当一运营服务器120接收到来自一终端140的浏览器的浏览请求时,根据所述浏览请求读取对应的版本配置文件,将所述版本配置文件中包括的文件名及版本号信息提供给所述浏览器,以使得所述浏览器能够根据所述文件名及版本号信息从所述CDN服务器130中拉取对应的静态文件,并执行所拉取的静态文件。
[0051]为避免由于步骤203中的静态文件未发布成功而导致后续根据版本配置文件拉取静态文件时存在文件拉取失败的情况,在本实施例的其它实施方式中,步骤203和步骤204之间可进一步包括:资源发布校验步骤,即按照所述版本配置文件中包括的至少一个待发布文件各自的文件名及版本号信息,从所述CDN服务器130中拉取对应的静态文件,在所述版本配置文件对应的所有静态文件均拉取成功时,确定静态资源发布成功。此时,再执行步骤204。该资源发布校验步骤可由版本管理服务器110执行,也可由其它的校验设备完成。如果是由其它的校验设备完成的话,则在版本管理服务器110和该校验设备之间会存在信息交互,即首先版本管理服务器110会指示校验设备拉取与版本配置文件中包括的文件名及版本号信息对应的静态文件,之后校验设备会将静态文件拉取结果通知给版本管理服务器110,以便版本管理服务器110根据该结果确定是否将版本配置文件发布到运营服务器中。
[0052]此外,步骤201中的静态文件,可以是由不同开发人员通过对同一文件进行编写而依次完成的静态文件,也可以是不同开发人员分别完成同一静态文件的不同部分,即静态子文件后,再将各静态子文件合并后得到的静态文件。如果是后者,则步骤201之前,可进一步包括:生成一文件合并配置文件,该文件合并配置文件中包含用于指示分别将哪些文件合并在一起的文件合并参数;根据所述文件合并配置文件中的文件合并参数,将不同类型的静态子文件中各相同类型的静态子文件分别合并成一个静态文件,得到至少一个静态文件。例如,开发文件夹中可能存在若干个CSS子文件和若干个js子文件,则通过执行该合并操作后,会得到两个合并后的静态文件,即一个CSS文件和一个js文件。
[0053]为了将低各静态文件的体积,还可以对各静态文件执行压缩处理,用于去除文件中的空格、换行符以及注释等,从而得到压缩后的各静态文件。
[0054]具体实现时,步骤201为静态文件标记版本号的过程可有多种具体实现形式,图3中示出了其中的一种。如图3所示,为静态文件标记版本号的方法可包括如下步骤:
[0055]步骤301,对至少一个静态文件中的每个静态文件,判断是否存储有所述静态文件的原文件,如果没有,执行步骤302 ;否则,执行步骤303。
[0056]步骤302,为所述静态文件生成一个初始的版本号。
[0057]步骤303,判断所述静态文件相比已存储的该静态文件的原文件是否有内容更新,如果有,执行步骤204 ;否则,结束当前流程。
[0058]步骤304,根据已存储的所述原文件的版本号,为所述静态文件生成一个新的版本号。
[0059]例如,对于上述的a.js文件,为所述静态文件生成的版本号可以为1001。
[0060]步骤305,利用所述静态文件及所生成的版本号对所述原文件及其版本号进行更新。
[0061 ] 步骤306,将所生成的版本号标记在所述静态文件的文件名中,并将标记有版本号的静态文件作为待发布文件。
[0062]例如,对于上述的a.js文件,在为所述a.js文件标记版本号时,可将为其生成的版本号1001追加在文件名的后面,例如,a_1001.js。
[0063]图4为本发明实施例中一种静态文件的文件拉取控制方法的示例性流程图。该方法主要应用于运营服务器120中。如图4所示,该方法可包括如下步骤:
[0064]步骤401,接收来自一终端的浏览器的浏览请求。
[0065]本步骤中,该浏览请求可以是对应一网站的浏览请求。
[0066]步骤402,根据所述浏览请求读取对应的版本配置文件,并提取所述版本配置文件中包括的文件名及版本号信息。
[0067]本步骤中,运营服务器根据对应的网站浏览请求,可找到对应的版本配置文件,并提取该版本配置文件中的文件名及版本号信息。
[0068]步骤403,将所述文件名及版本号信息提供给所述浏览器。之后,所述终端的浏览器根据所述文件名及版本号信息从CDN服务器中拉取对应各文件名及版本号信息的静态文件,并执行所拉取的静态文件,从而得到所述网站的网页。
[0069]图5为本发明实施例中一种静态文件的版本控制方法的示例性流程图。该方法应用于图1所示实施环境中。如图5所示,该方法包括如下步骤:
[0070]步骤501,版本管理服务器为至少一个静态文件中的每个静态文件标记一个版本号,并将标记有版本号的所述静态文件作为待发布文件。
[0071]步骤502,版本管理服务器生成对应至少一个待发布文件的版本配置文件;所述版本配置文件中包括所述至少一个待发布文件各自的文件名及版本号信息。
[0072]步骤503,将所述至少一个待发布文件发布到⑶N服务器中。
[0073]本步骤中,所述至少一个待发布文件可打包成一个静态资源包进行发布。
[0074]步骤504,将所述版本配置文件以灰度发布方式发布到运营服务器中。
[0075]步骤505,运营服务器接收到来自终端的浏览器的浏览请求。
[0076]步骤506,运营服务器根据所述浏览请求读取对应的版本配置文件。
[0077]步骤507,运营服务器将所述版本配置文件中包括的文件名及版本号信息提供给所述终端的浏览器。
[0078]步骤508,终端的浏览器向所述⑶N服务器发送文件获取请求。所述文件获取请求中包括所述文件名及版本号信息。
[0079]步骤509,CDN服务器将对应所述文件名及版本号信息的静态文件发送给终端的浏览器。
[0080]步骤510,终端的浏览器执行所获取的静态文件。
[0081]下述为本发明装置实施例,可以用于执行本发明对应的方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例中的描述。
[0082]图6为本发明实施例中一种静态文件的版本管理装置的示例性结构图。该版本管理装置可以通过软件、硬件或者两者结合的方式实现成为图1所示版本管
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1