基于浏览器获取目标前端资源文件的方法、装置和系统与流程

文档序号:11432240阅读:210来源:国知局
基于浏览器获取目标前端资源文件的方法、装置和系统与流程

本发明涉及网络计算机技术领域,具体涉及一种基于浏览器获取目标前端资源文件的方法、装置和系统。



背景技术:

为了可以在浏览器快速打开预设网页,会在浏览器预存储预设网页对应的前端资源文件。预设网页不断更新,相应地前端资源文件也不断更新,为了保证可以打开预设网页,如何获取当前可以使用的有效的目标前端资源文件是一个比较重要的问题。

目前常用的一种基于浏览器获取目标前端资源文件的方法如下:浏览器获取目标前端资源文件的发布版本号(即新发布的前端资源文件的版本号)和原始前端资源文件的本地版本号(即存储在浏览器的原始前端资源文件的版本号);当发布版本号和本地版本号一致时,浏览器获取浏览器存储的原始前端资源文件作为目标前端资源文件;当发布版本号和本地版本号不一致时,浏览器根据发布版本号和本地版本号拼接得到目标前端资源文件的增量文件url(uniformresourcelocator,统一资源定位符,也被称为网页地址),浏览器根据增量文件url从服务器中获取目标前端资源文件的增量文件,浏览器将增量文件与原始前端资源文件合并得到新前端资源文件,将原有的原始前端资源文件删除,将新前端资源文件作为原始前端资源文件存储在浏览器。

现有基于浏览器获取目标前端资源文件的方法,将原有的原始前端资源文件删除,当浏览器无法通过现有的原始前端资源文件显示预设网页时,需要重新从服务器获取原有的原始前端资源文件进行代码回滚显示预设网页,实现过程繁琐,浪费时间。



技术实现要素:

为了解决现有技术的问题,本发明提供了一种基于浏览器获取目标前端资源文件的方法、装置和系统,浏览器存储有原始前端资源文件,以及至少一个差分文件,差分文件与原始前端资源文件合并能形成高于或低于原始前端资源文件版本的另一版本,当浏览器无法通过现有的原始前端资源文件显示预设网页时,通过从浏览器存储的差分文件中获取与目标前端资源文件的版本号对应的目标差分文件,将原始前端资源文件与目标差分文件进行合并得到目标前端资源文件,通过目标前端资源文件显示预设网页,不需要重新从服务器获取原有的原始前端资源文件进行代码回滚显示预设网页,实现过程简单快捷,可以节约时间;不需要重新从服务器获取原有的原始前端资源文件进行代码回滚显示预设网页,可以节约资源、节约带宽。

为了解决上述问题,本发明公开了一种基于浏览器获取目标前端资源文件的方法,所述浏览器存储有原始前端资源文件,以及至少一个差分文件,所述差分文件与所述原始前端资源文件合并能形成高于或低于所述原始前端资源文件版本的另一版本,所述方法包括:

获取目标前端资源文件的版本号;

当所述目标前端资源文件的版本号与所述原始前端资源文件的版本号不同时,从所述浏览器存储的所述差分文件中获取与所述目标前端资源文件对应的目标差分文件;

将所述原始前端资源文件与所述目标差分文件进行合并得到目标前端资源文件。

进一步地,获取目标前端资源文件的版本号,包括:

接收预设网页统一资源定位符url对应的服务器返回的可用版本号列表;其中,所述可用版本号列表中记载有所述浏览器能够使用的所有前端资源文件的版本号、以及每个前端资源文件与差分文件对应关系;

判断所述预设网页url中是否包含所述目标前端资源文件的版本号;

如果所述预设网页url中包含所述目标前端资源文件的版本号,则获取所述预设网页url中包含的所述目标前端资源文件的版本号;

如果所述预设网页url中不包含所述目标前端资源文件的版本号,则获取所述可用版本号列表中的最新版本号,将所述最新版本号作为所述目标前端资源文件的版本号。

进一步地,从所述浏览器存储的所述差分文件中获取与所述目标前端资源文件对应的目标差分之前,还包括:

判断所述浏览器存储的所述差分文件中是否存在与所述目标前端资源文件对应的目标差分文件;

如果所述浏览器存储的所述差分文件中存在与所述目标前端资源文件对应的目标差分文件,则获取所述浏览器存储的所述目标差分文件;

如果所述浏览器存储的所述差分文件中不存在与所述目标前端资源文件对应的目标差分文件,则从服务器获取所述目标差分文件。

进一步地,所述方法还包括:

当所述目标前端资源文件的版本号与所述原始前端资源文件的版本号相同时,则获取所述浏览器存储的所述原始前端资源文件作为所述目标前端资源文件。

进一步地,当所述目标前端资源文件的版本号与所述原始前端资源文件的版本号相同时之前,或当所述目标前端资源文件的版本号与所述原始前端资源文件的版本号不同时之前,还包括:

判断所述目标前端资源文件的版本号是否是所述可用版本号列表中的一种;

如果所述目标前端资源文件的版本号是所述可用版本号列表中的一种,则判断所述目标前端资源文件的版本号是否与所述原始前端资源文件的版本号相同;

如果所述目标前端资源文件的版本号不是所述可用版本号列表中的一种,则将所述目标前端资源文件的版本号确定为所述可用版本号列表中的最新版本号,然后执行判断所述目标前端资源文件的版本号是否与所述原始前端资源文件的版本号相同的步骤。

进一步地,接收预设网页统一资源定位符url对应的服务器返回的可 用版本号列表之前,还包括:

获取用户输入的所述预设网页url,其中,所述预设网页url中包含所述目标前端资源文件的版本号;

向所述预设网页url对应的服务器发送浏览器可用版本号查询请求。

进一步地,接收预设网页统一资源定位符url对应的服务器返回的可用版本号列表之前,还包括:

获取所述预设网页url;

向所述预设网页url对应的服务器发送浏览器可用版本号查询请求;

所述服务器接收所述浏览器可用版本号查询请求,获取所述可用版本号查询请求对应的所述可用版本号列表;

所述服务器判断是否需要指定所述目标前端资源文件的版本号;

如果需要,则所述服务器在所述预设网页url中添加所述目标前端资源文件的版本号,将添加所述目标前端资源文件的版本号的所述预设网页url,以及所述可用版本号列表返回给所述浏览器;

相应地,接收预设网页统一资源定位符url对应的服务器返回的可用版本号列表时,还包括:

接收所述服务器返回的所述预设网页url,将原来的所述预设网页url替换为返回的所述预设网页url。

为了解决上述问题,本发明还公开了一种基于浏览器获取目标前端资源文件的装置,所述浏览器存储有原始前端资源文件,以及至少一个差分文件,所述差分文件与所述原始前端资源文件合并能形成高于或低于所述原始前端资源文件版本的另一版本,所述装置包括:

第一获取模块,用于获取目标前端资源文件的版本号;

第二获取模块,用于当所述目标前端资源文件的版本号与所述原始前端资源文件的版本号不同时,从所述浏览器存储的所述差分文件中获取与所述目标前端资源文件对应的目标差分文件;

合并模块,用于将所述原始前端资源文件与所述目标差分文件进行合并 得到目标前端资源文件。

进一步地,所述第一获取模块包括:

接收单元,用于接收预设网页统一资源定位符url对应的服务器返回的可用版本号列表;其中,所述可用版本号列表中记载有所述浏览器能够使用的所有前端资源文件的版本号、以及每个前端资源文件与差分文件对应关系;

判断单元,用于判断所述预设网页url中是否包含所述目标前端资源文件的版本号;

第一处理单元,用于如果所述预设网页url中包含所述目标前端资源文件的版本号,则获取所述预设网页url中包含的所述目标前端资源文件的版本号;

第二处理单元,用于如果所述预设网页url中不包含所述目标前端资源文件的版本号,则获取所述可用版本号列表中的最新版本号,将所述最新版本号作为所述目标前端资源文件的版本号。

进一步地,所述装置还包括:

第一判断模块,用于判断所述浏览器存储的所述差分文件中是否存在与所述目标前端资源文件对应的目标差分文件;

第一处理模块,用于如果所述浏览器存储的所述差分文件中存在与所述目标前端资源文件对应的目标差分文件,则获取所述浏览器存储的所述目标差分文件;

第二处理模块,用于如果所述浏览器存储的所述差分文件中不存在与所述目标前端资源文件对应的目标差分文件,则从服务器获取所述目标差分文件。

进一步地,所述装置还包括:

第三获取模块,用于当所述目标前端资源文件的版本号与所述原始前端资源文件的版本号相同时,则获取所述浏览器存储的所述原始前端资源文件作为所述目标前端资源文件。

进一步地,所述装置还包括:

第二判断模块,用于当所述目标前端资源文件的版本号与所述原始前端资源文件的版本号相同时之前,或当所述目标前端资源文件的版本号与所述原始前端资源文件的版本号不同时之前,判断所述目标前端资源文件的版本号是否是所述可用版本号列表中的一种;

第三处理模块,用于如果所述目标前端资源文件的版本号是所述可用版本号列表中的一种,则判断所述目标前端资源文件的版本号是否与所述原始前端资源文件的版本号相同;

第四处理模块,用于如果所述目标前端资源文件的版本号不是所述可用版本号列表中的一种,则将所述目标前端资源文件的版本号确定为所述可用版本号列表中的最新版本号,然后通知所述第三处理模块执行判断所述目标前端资源文件的版本号是否与所述原始前端资源文件的版本号相同的步骤。

进一步地,,所述第一获取模块还包括:

第一获取单元,用于获取用户输入的所述预设网页url,其中,所述预设网页url中包含所述目标前端资源文件的版本号;

第一发送单元,用于向所述预设网页url对应的服务器发送浏览器可用版本号查询请求。

为了解决上述问题,本发明还公开了一种基于浏览器获取目标前端资源文件的系统,所述系统包括:浏览器;其中,所述浏览器存储有原始前端资源文件,以及至少一个差分文件,所述差分文件与所述原始前端资源文件合并能形成高于或低于所述原始前端资源文件版本的另一版本;

所述浏览器包括:

第一获取模块,用于获取目标前端资源文件的版本号;

第二获取模块,用于当所述目标前端资源文件的版本号与所述原始前端资源文件的版本号不同时,从所述浏览器存储的所述差分文件中获取与所述目标前端资源文件对应的目标差分文件;

合并模块,用于将所述原始前端资源文件与所述目标差分文件进行合并得到目标前端资源文件。

进一步地,所述第一获取模块包括:

接收单元,用于接收预设网页统一资源定位符url对应的服务器返回的可用版本号列表;其中,所述可用版本号列表中记载有所述浏览器能够使用的所有前端资源文件的版本号、以及每个前端资源文件与差分文件对应关系;

判断单元,用于判断所述预设网页url中是否包含所述目标前端资源文件的版本号;

第一处理单元,用于如果所述预设网页url中包含所述目标前端资源文件的版本号,则获取所述预设网页url中包含的所述目标前端资源文件的版本号;

第二处理单元,用于如果所述预设网页url中不包含所述目标前端资源文件的版本号,则获取所述可用版本号列表中的最新版本号,将所述最新版本号作为所述目标前端资源文件的版本号。

进一步地,所述系统还包括:

第一判断模块,用于判断所述浏览器存储的所述差分文件中是否存在与所述目标前端资源文件对应的目标差分文件;

第一处理模块,用于如果所述浏览器存储的所述差分文件中存在与所述目标前端资源文件对应的目标差分文件,则获取所述浏览器存储的所述目标差分文件;

第二处理模块,用于如果所述浏览器存储的所述差分文件中不存在与所述目标前端资源文件对应的目标差分文件,则从服务器获取所述目标差分文件。

进一步地,所述系统还包括:

第三获取模块,用于当所述目标前端资源文件的版本号与所述原始前端资源文件的版本号相同时,则获取所述浏览器存储的所述原始前端资源文件作为所述目标前端资源文件。

进一步地,所述系统还包括:

第二判断模块,用于当所述目标前端资源文件的版本号与所述原始前端资源文件的版本号相同时之前,或当所述目标前端资源文件的版本号与所述 原始前端资源文件的版本号不同时之前,判断所述目标前端资源文件的版本号是否是所述可用版本号列表中的一种;

第三处理模块,用于如果所述目标前端资源文件的版本号是所述可用版本号列表中的一种,则判断所述目标前端资源文件的版本号是否与所述原始前端资源文件的版本号相同;

第四处理模块,用于如果所述目标前端资源文件的版本号不是所述可用版本号列表中的一种,则将所述目标前端资源文件的版本号确定为所述可用版本号列表中的最新版本号,然后通知所述第三处理模块执行判断所述目标前端资源文件的版本号是否与所述原始前端资源文件的版本号相同的步骤。

进一步地,所述第一获取模块还包括:

第一获取单元,用于获取用户输入的所述预设网页url,其中,所述预设网页url中包含所述目标前端资源文件的版本号;

第一发送单元,用于向所述预设网页url对应的服务器发送浏览器可用版本号查询请求。

进一步地,所述第一获取模块还包括:

第二获取单元,用于获取所述预设网页url;

第二发送单元,用于向所述预设网页url对应的服务器发送浏览器可用版本号查询请求;

所述系统还包括:所述服务器;

所述服务器包括:

第五处理模块,用于接收所述浏览器可用版本号查询请求,获取所述可用版本号查询请求对应的所述可用版本号列表;

第三判断模块,用于判断是否需要指定所述目标前端资源文件的版本号;

添加模块,用于如果需要,则在所述预设网页url中添加所述目标前端资源文件的版本号,将添加所述目标前端资源文件的版本号的所述预设网页url,以及所述可用版本号列表返回给所述浏览器;

相应地,所述接收单元,还用于接收所述服务器返回的所述预设网页url,将原来的所述预设网页url替换为返回的所述预设网页url。

与现有技术相比,本发明可以获得包括以下技术效果:

1)浏览器存储有原始前端资源文件,以及至少一个差分文件,差分文件与原始前端资源文件合并能形成高于或低于原始前端资源文件版本的另一版本,当浏览器无法通过现有的原始前端资源文件显示预设网页时,通过从浏览器存储的差分文件中获取与目标前端资源文件的版本号对应的目标差分文件,将原始前端资源文件与目标差分文件进行合并得到目标前端资源文件,通过目标前端资源文件显示预设网页,不需要重新从服务器获取原有的原始前端资源文件进行代码回滚显示预设网页,实现过程简单快捷,可以节约时间;不需要重新从服务器获取原有的原始前端资源文件进行代码回滚显示预设网页,可以节约资源、节约带宽。

2)浏览器存储原始前端资源文件以及至少一个差分文件,可以随时通过原始前端资源文件和各个差分文件合并得到各个历史版本的目标前端资源文件,通过各个历史版本的目标前端资源文件进行回归测试。

3)当有最新版本的前端资源文件,将前端资源文件的最新版本上传到cdn服务器后,服务器可以在部分浏览器的预设网页url中添加目标前端资源文件的版本号为最新版本号,使得部分浏览器可以根据最新版本号从cdn服务器器获取最新版本的前端资源文件,对前端资源文件的最新版本的代码进行测试,不需要全部浏览器的前端资源文件的版本号更新后才进行测试,可以很简单地实现测试;并且在测试完成后只要将最新版本号加到可用版本号列表,就可以进行后续使用实现发布。

4)服务器可以通过在预设网页url中添加目标前端资源文件的版本号来控制浏览器用什么版本的前端资源文件,所以服务器可以将不同地方的浏览器定向到不同的版本的前端资源文件、可以将某一类浏览器先定向到新版本的前端资源文件等,可以通过在预设网页url中添加目标前端资源文件的版本号实现异步更新、a/b测试、局部更新等,减轻cdn服务器压力。

当然,实施本发明的任一产品必不一定需要同时达到以上所述的所有技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的第一种基于浏览器获取目标前端资源文件的方法流程图;

图2是本发明实施例的第二种基于浏览器获取目标前端资源文件的方法流程图;

图3是本发明实施例的第三种基于浏览器获取目标前端资源文件的方法流程图;

图4是本发明实施例的第四种基于浏览器获取目标前端资源文件的方法流程图;

图5是本发明实施例的第一种基于浏览器获取目标前端资源文件的装置结构示意图;

图6是本发明实施例的第二种基于浏览器获取目标前端资源文件的装置结构示意图;

图7是本发明实施例的第三种基于浏览器获取目标前端资源文件的装置结构示意图;

图8是本发明实施例的第四种基于浏览器获取目标前端资源文件的装置结构示意图;

图9是本发明实施例的第一种基于浏览器获取目标前端资源文件的系统结构示意图;

图10是本发明实施例的第二种基于浏览器获取目标前端资源文件的系统结构示意图;

图11是本发明实施例的第三种基于浏览器获取目标前端资源文件的系统结构示意图;

图12是本发明实施例的第四种基于浏览器获取目标前端资源文件的系统结构示意图;

图13是本发明实施例的第五种基于浏览器获取目标前端资源文件的系统结构示意图。

具体实施方式

以下将配合附图及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的 误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个…...”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

实施例描述

下面以一实施例对本发明方法的实现作进一步说明。如图1所示,为本发明实施例的一种基于浏览器获取目标前端资源文件的方法流程图,浏览器存储有原始前端资源文件,以及至少一个差分文件,差分文件与原始前端资源文件合并能形成高于或低于原始前端资源文件版本的另一版本,该方法包括:

s101:获取目标前端资源文件的版本号。

具体地,本实施例中在浏览器存储一个原始前端资源文件(一般是发布新版本之前最新版本的前端资源文件的文件)和多个不同版本号的前端资源文件的差分文件,差分文件与原始前端资源文件合并能形成高于或低于原始前端资源文件版本的另一版本。差分文件由服务器通过diff算法、alter算法、或最长子串比较算法(longestcommonsubsequence)等生成,差分文件的个数与可以使用的前端资源文件的版本数有关,如果可以使用的前端资源文件的版本数为n(自然数),则差分文件的个数为n-1。通过一个原始前端资源文件和多个不同的差分文件,可以得到多个版本的前端资源文件,在服务器端设置可用版本接口,可用版本接口对应不同的可用版本,将 可用版本的版本号(包括浏览器能够使用的所有前端资源文件的版本号)、以及前端资源文件与差分文件对应关系存储在可用版本号列表中供选取使用,从而可用版本号列表中记载有浏览器能够使用的所有前端资源文件的版本号、以及每个前端资源文件与差分文件对应关系。并且在后续可以按照预设时间间隔查询可用版本接口对可用版本号列表进行更新,或在可用版本接口更新后发送更新通知对可用版本号列表进行更新。目标前端资源文件的版本号是当前被选取使用的前端资源文件的版本号。

通过一个原始前端资源文件和多个不同的差分文件,可以得到多个版本的前端资源文件,例如:原始前端资源文件为原始前端资源文件0,发布新版本前端资源文件1后,浏览器获取使用新版本前端资源文件的信息,从服务器获取新版本前端资源文件1与原始前端资源文件0的差分文件0-1并存储在浏览器,将原始前端资源文件0与差分文件0-1合并得到原始前端资源文件1,将原始前端资源文件0更新(为了便于描述称为第一次更新)为原始前端资源文件1并存储在浏览器,第一次更新后原始前端资源文件为原始前端资源文件1(此时原始前端资源文件0被删除),此时对应原始前端资源文件1与原始前端资源文件0的差分文件为差分文件0-1。与第一次更新类似,第二次更新后原始前端资源文件为原始前端资源文件2(此时原始前端资源文件1被删除),此时对应原始前端资源文件2与原始前端资源文件1的差分文件为差分文件1-2。此后,如果预使用版本2的前端资源文件,则通过原始前端资源文件2可以实现,如果预使用版本1的前端资源文件,则通过原始前端资源文件2和差分文件1-2合并可以实现,如果预使用版本0的前端资源文件,则通过原始前端资源文件2、差分文件1-2和差分文件0-1合并可以实现。

s102:当目标前端资源文件的版本号与原始前端资源文件的版本号不同时,从浏览器存储的差分文件中获取与目标前端资源文件对应的目标差分文件。

具体地,与目标前端资源文件对应的目标差分文件,如在前面s101所列举的例子中,目标前端资源文件的版本号为0,当此时浏览器存储的是原始前端资源文件2,则此时目标前端资源文件对应的目标差分文件为差分文 件1-2和差分文件0-1。目标前端资源文件的版本号为1,当此时浏览器存储的是原始前端资源文件2,则此时目标前端资源文件对应的目标差分文件为差分文件1-2。

s103:将原始前端资源文件与目标差分文件进行合并得到目标前端资源文件。

具体地,当目标前端资源文件的版本号与原始前端资源文件的版本号不同时,目标前端资源文件的版本号可能是高于或低于原始前端资源文件版本的另一版本,这时候可以从浏览器存储的差分文件中获取与目标前端资源文件对应的目标差分文件,将原始前端资源文件与目标差分文件进行合并得到目标前端资源文件。如:原始前端资源文件1与差分文件0-1合并得到目标前端资源文件0.原始前端资源文件1与差分文件1-2合并得到目标前端资源文件2。

具体地,为了保证可以更好地实现本申请,在浏览器空闲时,可以进行更新操作,更新操作至少可以包括下面的一种:

1)查询浏览器存储的差分文件的版本号,根据可用版本号列表中记载的浏览器能够使用的所有前端资源文件的版本号、以及每个前端资源文件与差分文件对应关系,判断浏览器存储的差分文件中是否存在可用版本号列表中没有记载的差分文件,如果存在则删除浏览器存储的可用版本号列表中没有记载的差分文件。

2)查询浏览器存储的差分文件的版本号,根据可用版本号列表中记载的浏览器能够使用的所有前端资源文件的版本号、以及每个前端资源文件与差分文件对应关系,判断可用版本号列表中记载的差分文件浏览器是否没有存储,如果浏览器没有存储,则向服务器请求浏览器没有存储的差分文件,并在获取到服务器返回的浏览器没有存储的差分文件后存储在浏览器。

3)查询浏览器存储的前端资源文件的版本号,根据可用版本号列表中记载的浏览器存储的前端资源文件的版本号,判断浏览器存储的前端资源文件与可用版本号列表中记载的浏览器存储的前端资源文件是否相同,如果浏览器存储的前端资源文件与可用版本号列表中记载的浏览器存储的前端资源文件不同,则从服务器获取可用版本号列表中记载的浏览器存储的前端资 源文件,将可用版本号列表中记载的浏览器存储的前端资源文件存储在浏览器。

具体地,参见图2,获取目标前端资源文件的版本号包括:

s201:接收预设网页统一资源定位符url对应的服务器返回的可用版本号列表。

其中,可用版本号列表中记载有浏览器能够使用的所有前端资源文件的版本号、以及每个前端资源文件与差分文件对应关系。

具体地,接收预设网页统一资源定位符url对应的服务器返回的可用版本号列表之前,还包括:

获取用户输入的预设网页url,其中,预设网页url中包含目标前端资源文件的版本号;

向预设网页url对应的服务器发送浏览器可用版本号查询请求。

其中,用户输入预设网页url时,可以通过url指定所要用的目标前端资源文件的版本号。如页面原本的url是http://example.com,用户可以通过添加查询字符串(querystring)的方式,把将其变成http://example.com?version=123,相当于通过url指定要使用版本号为“123”的前端资源文件。从而浏览器用什么版本的前端资源文件可以由用户自己决定。

或,具体地,接收预设网页统一资源定位符url对应的服务器返回的可用版本号列表之前,还包括:

获取预设网页url;

向预设网页url对应的服务器发送浏览器可用版本号查询请求;

服务器接收浏览器可用版本号查询请求,获取可用版本号查询请求对应的可用版本号列表;

服务器判断是否需要指定目标前端资源文件的版本号;

如果需要,则服务器在预设网页url中添加目标前端资源文件的版本号,将添加目标前端资源文件的版本号的预设网页url,以及可用版本号列表返回给浏览器;

相应地,接收预设网页统一资源定位符url对应的服务器返回的可用版本号列表时,还包括:

接收服务器返回的预设网页url,将原来的预设网页url替换为返回的预设网页url。

具体地,服务器还可以通过url指定所要用的目标前端资源文件的版本号。服务器判断是否需要指定目标前端资源文件的版本号时,可以是判断预设网页url中是否包含了用户指定的版本号,如果预设网页url中包含用户指定的版本号,则确定不需要指定目标前端资源文件的版本号;如果预设网页url中没有包含用户指定的版本号,则确定需要指定目标前端资源文件的版本号。服务器判断是否需要指定目标前端资源文件的版本号时,也可以是服务器判断是否有指定目标前端资源文件的版本号的指令,如果有指定目标前端资源文件的版本号的指令,则无论预设网页url中是否包含用户指定的版本号,均通过服务器指定目标前端资源文件的版本号,如在服务器数据库里维护一张版本号管理表,其中记录有这样的字段:版本号字符串、发布日期、是否强制指定版本号等,服务器获取到可用版本号查询请求对应的可用版本号列表后,检查这张版本号管理表,如果发现当前有强制指定版本号123的记录,就在预设网页url里添加version=123的查询字符串(querystring)。从而浏览器客户端用什么版本的前端资源文件也可以由服务器决定。

s202:判断预设网页url中是否包含目标前端资源文件的版本号,如果预设网页url中包含目标前端资源文件的版本号,则执行s203;如果预设网页url中不包含目标前端资源文件的版本号,则执行s203。

s203:获取预设网页url中包含的目标前端资源文件的版本号,然后执行s102。

s204:获取可用版本号列表中的最新版本号,将最新版本号作为目标前端资源文件的版本号,然后执行s102。

具体地,参见图3,从浏览器存储的差分文件中获取与目标前端资源文件对应的目标差分之前,还包括:

s301:判断浏览器存储的差分文件中是否存在与目标前端资源文件对应 的目标差分文件,如果浏览器存储的差分文件中存在与目标前端资源文件对应的目标差分文件,则执行s302;如果浏览器存储的差分文件中不存在与目标前端资源文件对应的目标差分文件,则执行s303。

s302:获取浏览器存储的目标差分文件,然后执行103。

s303:从服务器获取目标差分文件,然后执行103。

具体地,从服务器获取目标差分文件包括:

向服务器发送目标差分文件获取请求;使得服务器接收到目标差分文件获取请求后,查询是否存在目标差分文件,如果存在,则向浏览器返回目标差分文件url,如果不存在,则生成目标差分文件,将目标差分文件上传至cdn(contentdeliverynetwork,内容分发网络)服务器,接收cdn服务器返回的目标差分文件url,存储并向浏览器返回目标差分文件url。

获取服务器返回的目标差分文件url,根据目标差分文件url查询到cdn服务器,从cdn服务器中下载目标差分文件。

具体地,该方法还包括:当目标前端资源文件的版本号与原始前端资源文件的版本号相同时,则获取浏览器存储的原始前端资源文件作为目标前端资源文件,相应地,参见图4,当目标前端资源文件的版本号与原始前端资源文件的版本号相同时之前,或当目标前端资源文件的版本号与原始前端资源文件的版本号不同时之前,还包括:

s401:判断目标前端资源文件的版本号是否是可用版本号列表中的一种,如果目标前端资源文件的版本号是可用版本号列表中的一种,则执行s402;如果目标前端资源文件的版本号不是可用版本号列表中的一种,则执行s403。

s402:判断目标前端资源文件的版本号是否与原始前端资源文件的版本号相同,如果目标前端资源文件的版本号与原始前端资源文件的版本号相同,则执行s404;如果目标前端资源文件的版本号与原始前端资源文件的版本号不同,则执行s102。

s403:将目标前端资源文件的版本号确定为可用版本号列表中的最新版本号,然后执行s402。

s404:获取浏览器存储的原始前端资源文件作为目标前端资源文件,然后结束。

具体地,得到目标前端资源文件后,执行目标前端资源文件中的资源代码。

本实施例所述的基于浏览器获取目标前端资源文件的方法,浏览器存储有原始前端资源文件,以及至少一个差分文件,差分文件与原始前端资源文件合并能形成高于或低于原始前端资源文件版本的另一版本,当浏览器无法通过现有的原始前端资源文件显示预设网页时,通过从浏览器存储的差分文件中获取与目标前端资源文件的版本号对应的目标差分文件,将原始前端资源文件与目标差分文件进行合并得到目标前端资源文件,通过目标前端资源文件显示预设网页,不需要重新从服务器获取原有的原始前端资源文件进行代码回滚显示预设网页,实现过程简单快捷,可以节约时间;不需要重新从服务器获取原有的原始前端资源文件进行代码回滚显示预设网页,可以节约资源、节约带宽。浏览器存储原始前端资源文件以及至少一个差分文件,可以随时通过原始前端资源文件和各个差分文件合并得到各个历史版本的目标前端资源文件,通过各个历史版本的目标前端资源文件进行回归测试。当有最新版本的前端资源文件,将前端资源文件的最新版本上传到cdn服务器后,服务器可以在部分浏览器的预设网页url中添加目标前端资源文件的版本号为最新版本号,使得部分浏览器可以根据最新版本号从cdn服务器器获取最新版本的前端资源文件,对前端资源文件的最新版本的代码进行测试,不需要全部浏览器的前端资源文件的版本号更新后才进行测试,可以很简单地实现测试;并且在测试完成后只要将最新版本号加到可用版本号列表,就可以进行后续使用实现发布。服务器可以通过在预设网页url中添加目标前端资源文件的版本号来控制浏览器用什么版本的前端资源文件,所以服务器可以将不同地方的浏览器定向到不同的版本的前端资源文件、可以将某一类浏览器先定向到新版本的前端资源文件等,可以通过在预设网页url中添加目标前端资源文件的版本号实现异步更新、a/b测试、局部更新等,减轻cdn服务器压力。

如图5所示,是本发明实施例的一种基于浏览器获取目标前端资源文件的装置结构图,浏览器存储有原始前端资源文件,以及至少一个差分文件,差分文件与原始前端资源文件合并能形成高于或低于原始前端资源文件版本的另一版本,该装置包括:

第一获取模块501,用于获取目标前端资源文件的版本号;

第二获取模块502,用于当目标前端资源文件的版本号与原始前端资源文件的版本号不同时,从浏览器存储的差分文件中获取与目标前端资源文件对应的目标差分文件;

合并模块503,用于将原始前端资源文件与目标差分文件进行合并得到目标前端资源文件。

进一步地,第一获取模块501包括:

接收单元,用于接收预设网页统一资源定位符url对应的服务器返回的可用版本号列表;其中,可用版本号列表中记载有浏览器能够使用的所有前端资源文件的版本号、以及每个前端资源文件与差分文件对应关系;

判断单元,用于判断预设网页url中是否包含目标前端资源文件的版本号;

第一处理单元,用于如果预设网页url中包含目标前端资源文件的版本号,则获取预设网页url中包含的目标前端资源文件的版本号;

第二处理单元,用于如果预设网页url中不包含目标前端资源文件的版本号,则获取可用版本号列表中的最新版本号,将最新版本号作为目标前端资源文件的版本号。

进一步地,参见图6,该装置还包括:

第一判断模块504,用于判断浏览器存储的差分文件中是否存在与目标前端资源文件对应的目标差分文件;

第一处理模块505,用于如果浏览器存储的差分文件中存在与目标前端资源文件对应的目标差分文件,则获取浏览器存储的目标差分文件;

第二处理模块506,用于如果浏览器存储的差分文件中不存在与目标前端资源文件对应的目标差分文件,则从服务器获取目标差分文件。

进一步地,参见图7,该装置还包括:

第三获取模块507,用于当目标前端资源文件的版本号与原始前端资源文件的版本号相同时,则获取浏览器存储的原始前端资源文件作为目标前端资源文件。

进一步地,参见图8,该装置还包括:

第二判断模块508,用于当目标前端资源文件的版本号与原始前端资源文件的版本号相同时之前,或当目标前端资源文件的版本号与原始前端资源文件的版本号不同时之前,判断目标前端资源文件的版本号是否是可用版本号列表中的一种;

第三处理模块509,用于如果目标前端资源文件的版本号是可用版本号列表中的一种,则判断目标前端资源文件的版本号是否与原始前端资源文件的版本号相同;

第四处理模块510,用于如果目标前端资源文件的版本号不是可用版本号列表中的一种,则将目标前端资源文件的版本号确定为可用版本号列表中的最新版本号,然后通知第三处理模块执行判断目标前端资源文件的版本号是否与原始前端资源文件的版本号相同的步骤。

进一步地,第一获取模块还包括:

第一获取单元,用于获取用户输入的预设网页url,其中,预设网页url中包含目标前端资源文件的版本号;

第一发送单元,用于向预设网页url对应的服务器发送浏览器可用版本号查询请求。

本实施例所述的基于浏览器获取目标前端资源文件的装置,浏览器存储有原始前端资源文件,以及至少一个差分文件,差分文件与原始前端资源文件合并能形成高于或低于原始前端资源文件版本的另一版本,当浏览器无法通过现有的原始前端资源文件显示预设网页时,通过从浏览器存储的差分文件中获取与目标前端资源文件的版本号对应的目标差分文件,将原始前端资源文件与目标差分文件进行合并得到目标前端资源文件,通过目标前端资源文件显示预设网页,不需要重新从服务器获取原有的原始前端资源文件进行 代码回滚显示预设网页,实现过程简单快捷,可以节约时间;不需要重新从服务器获取原有的原始前端资源文件进行代码回滚显示预设网页,可以节约资源、节约带宽。浏览器存储原始前端资源文件以及至少一个差分文件,可以随时通过原始前端资源文件和各个差分文件合并得到各个历史版本的目标前端资源文件,通过各个历史版本的目标前端资源文件进行回归测试。当有最新版本的前端资源文件,将前端资源文件的最新版本上传到cdn服务器后,服务器可以在部分浏览器的预设网页url中添加目标前端资源文件的版本号为最新版本号,使得部分浏览器可以根据最新版本号从cdn服务器器获取最新版本的前端资源文件,对前端资源文件的最新版本的代码进行测试,不需要全部浏览器的前端资源文件的版本号更新后才进行测试,可以很简单地实现测试;并且在测试完成后只要将最新版本号加到可用版本号列表,就可以进行后续使用实现发布。服务器可以通过在预设网页url中添加目标前端资源文件的版本号来控制浏览器用什么版本的前端资源文件,所以服务器可以将不同地方的浏览器定向到不同的版本的前端资源文件、可以将某一类浏览器先定向到新版本的前端资源文件等,可以通过在预设网页url中添加目标前端资源文件的版本号实现异步更新、a/b测试、局部更新等,减轻cdn服务器压力。

如图9所示,是本发明实施例的一种基于浏览器获取目标前端资源文件的系统结构图,系统包括:浏览器60;其中,浏览器存储有原始前端资源文件,以及至少一个差分文件,差分文件与原始前端资源文件合并能形成高于或低于原始前端资源文件版本的另一版本;

浏览器60包括:

第一获取模块601,用于获取目标前端资源文件的版本号;

第二获取模块602,用于当目标前端资源文件的版本号与原始前端资源文件的版本号不同时,从浏览器存储的差分文件中获取与目标前端资源文件对应的目标差分文件;

合并模块603,用于将原始前端资源文件与目标差分文件进行合并得到目标前端资源文件。

进一步地,第一获取模块601包括:

接收单元,用于接收预设网页统一资源定位符url对应的服务器返回的可用版本号列表;其中,可用版本号列表中记载有浏览器能够使用的所有前端资源文件的版本号、以及每个前端资源文件与差分文件对应关系;

判断单元,用于判断预设网页url中是否包含目标前端资源文件的版本号;

第一处理单元,用于如果预设网页url中包含目标前端资源文件的版本号,则获取预设网页url中包含的目标前端资源文件的版本号;

第二处理单元,用于如果预设网页url中不包含目标前端资源文件的版本号,则获取可用版本号列表中的最新版本号,将最新版本号作为目标前端资源文件的版本号。

进一步地,参见图10,该系统还包括:

第一判断模块604,用于判断浏览器存储的差分文件中是否存在与目标前端资源文件对应的目标差分文件;

第一处理模块605,用于如果浏览器存储的差分文件中存在与目标前端资源文件对应的目标差分文件,则获取浏览器存储的目标差分文件;

第二处理模块606,用于如果浏览器存储的差分文件中不存在与目标前端资源文件对应的目标差分文件,则从服务器获取目标差分文件。

进一步地,参见图11,该系统还包括:

第三获取模块607,用于当目标前端资源文件的版本号与原始前端资源文件的版本号相同时,则获取浏览器存储的原始前端资源文件作为目标前端资源文件。

进一步地,参见图12,该系统还包括:

第二判断模块608,用于当目标前端资源文件的版本号与原始前端资源文件的版本号相同时之前,或当目标前端资源文件的版本号与原始前端资源文件的版本号不同时之前,判断目标前端资源文件的版本号是否是可用版本号列表中的一种;

第三处理模块609,用于如果目标前端资源文件的版本号是可用版本号列表中的一种,则判断目标前端资源文件的版本号是否与原始前端资源文件的版本号相同;

第四处理模块610,用于如果目标前端资源文件的版本号不是可用版本号列表中的一种,则将目标前端资源文件的版本号确定为可用版本号列表中的最新版本号,然后通知第三处理模块执行判断目标前端资源文件的版本号是否与原始前端资源文件的版本号相同的步骤。

进一步地,第一获取模块601还包括:

第一获取单元,用于获取用户输入的预设网页url,其中,预设网页url中包含目标前端资源文件的版本号;

第一发送单元,用于向预设网页url对应的服务器发送浏览器可用版本号查询请求。

进一步地,参见图13,第一获取模块还包括:

第二获取单元,用于获取预设网页url;

第二发送单元,用于向预设网页url对应的服务器发送浏览器可用版本号查询请求;

该系统还包括:服务器70;

服务器70包括:

第五处理模块701,用于接收浏览器可用版本号查询请求,获取可用版本号查询请求对应的可用版本号列表;

第三判断模块702,用于判断是否需要指定目标前端资源文件的版本号;

添加模块703,用于如果需要,则在预设网页url中添加目标前端资源文件的版本号,将添加目标前端资源文件的版本号的预设网页url,以及可用版本号列表返回给浏览器;

相应地,接收单元,还用于接收服务器返回的预设网页url,将原来的预设网页url替换为返回的预设网页url。

本实施例所述的基于浏览器获取目标前端资源文件的系统,浏览器存储 有原始前端资源文件,以及至少一个差分文件,差分文件与原始前端资源文件合并能形成高于或低于原始前端资源文件版本的另一版本,当浏览器无法通过现有的原始前端资源文件显示预设网页时,通过从浏览器存储的差分文件中获取与目标前端资源文件的版本号对应的目标差分文件,将原始前端资源文件与目标差分文件进行合并得到目标前端资源文件,通过目标前端资源文件显示预设网页,不需要重新从服务器获取原有的原始前端资源文件进行代码回滚显示预设网页,实现过程简单快捷,可以节约时间;不需要重新从服务器获取原有的原始前端资源文件进行代码回滚显示预设网页,可以节约资源、节约带宽。浏览器存储原始前端资源文件以及至少一个差分文件,可以随时通过原始前端资源文件和各个差分文件合并得到各个历史版本的目标前端资源文件,通过各个历史版本的目标前端资源文件进行回归测试。当有最新版本的前端资源文件,将前端资源文件的最新版本上传到cdn服务器后,服务器可以在部分浏览器的预设网页url中添加目标前端资源文件的版本号为最新版本号,使得部分浏览器可以根据最新版本号从cdn服务器器获取最新版本的前端资源文件,对前端资源文件的最新版本的代码进行测试,不需要全部浏览器的前端资源文件的版本号更新后才进行测试,可以很简单地实现测试;并且在测试完成后只要将最新版本号加到可用版本号列表,就可以进行后续使用实现发布。服务器可以通过在预设网页url中添加目标前端资源文件的版本号来控制浏览器用什么版本的前端资源文件,所以服务器可以将不同地方的浏览器定向到不同的版本的前端资源文件、可以将某一类浏览器先定向到新版本的前端资源文件等,可以通过在预设网页url中添加目标前端资源文件的版本号实现异步更新、a/b测试、局部更新等,减轻cdn服务器压力。

该装置、系统与前述的方法流程描述对应,不足之处参考上述方法流程的叙述,不再一一赘述。

上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改 动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1