CN103139279B - 文件访问方法和系统 - Google Patents

文件访问方法和系统 Download PDF

Info

Publication number
CN103139279B
CN103139279B CN201110399942.8A CN201110399942A CN103139279B CN 103139279 B CN103139279 B CN 103139279B CN 201110399942 A CN201110399942 A CN 201110399942A CN 103139279 B CN103139279 B CN 103139279B
Authority
CN
China
Prior art keywords
file
renewal
version number
url
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110399942.8A
Other languages
English (en)
Other versions
CN103139279A (zh
Inventor
张晗
王海宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Singapore Holdings Pte Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201110399942.8A priority Critical patent/CN103139279B/zh
Publication of CN103139279A publication Critical patent/CN103139279A/zh
Priority to HK13108383.3A priority patent/HK1181213A1/zh
Application granted granted Critical
Publication of CN103139279B publication Critical patent/CN103139279B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种文件访问方法和系统,其中,该方法包括:检测源文件服务器上的文件是否发生更新;在检测出源文件服务器上存在更新后的文件时,根据更新后的文件的标识对网页服务器上对应的URL进行更新,其中,更新前的URL用于标识更新前的文件在源文件服务器上的地址,更新后的URL用于标识更新后的文件在源文件服务器上的地址;使用更新后的URL访问源文件服务器上的更新后的文件。本申请解决了网页服务器需要通过缓存过期或者是用户触发才能访问到源文件服务器中更新后的文件而导致的无法及时访问到更新后的文件的问题,从而实现了在源服务器中的文件更新时自动更新网页服务器上指向文件的URL。

Description

文件访问方法和系统
技术领域
本申请涉及互联网领域,具体而言,涉及一种文件访问方法和系统。
背景技术
目前,很多网站利用缓存来加速网页的下载,主要是因为缓存通常比文件源服务器离客户端的物理距离近,而且缓存中的文件的存储方式更有利于快速的读取。如果文件在第一次被访问时被放入缓存中,或者是预先从源服务器将文件放入缓存中,这样后续访问就会从缓存上而不是源服务器上下载这些文件。
缓存的类型主要包括:1)客户端的本地缓存;2)客户端到文件源服务器之间的缓存服务器。由于文件在被放入缓存后本身可能被更新,因此客户端要想获取到更新后的文件,通常要等到缓存过期。对缓存的过期处理遵循超文本传输协议(HyperTextTransferProtocol,简称为HTTP)规范,主要包括:
1)通过Expires头指定文件的过期时间,在此时间前,客户端将从本地缓存中读取文件直到指定时间后再从源服务器上读取文件;
2)客户端主动发起(在多数浏览器上是通过点击刷新)条件请求,该请求的目的是为了询问源服务器文件是否自上次读取后有更新,若有更新则返回更新后的新文件,否则返回304响应告知客户端可以从本地缓存中读取文件;
3)客户端主动发起强制刷新请求(在多数浏览器上是通过Ctrl+F5),直接从源服务器而不是缓存中读取文件。对于缓存服务器,除遵循HTTP规范外,还可能支持设置文件定时过期以及主动清除指定文件缓存等策略。
同时,根据HTTP规范,统一资源定位符(UniformResourceLocator,简称为URL)是定位互联网文件的标准方式,URL包括在源文件服务器和各级缓存中。
但是靠等待缓存过期来使更新后的文件生效存在明显的缺点,主要包括:
1)预先设置的过期时间或者主动触发刷新的时机,不可能总是与文件的实际更新时间一致,从而导致文件更新的生效时间滞后,这对于追求高可用性的网站来说往往是难以接受的;
2)主动刷新需要网站访问者进行触发,这往往难以实现;
3)对许多网站而言,缓存服务器是由第三方服务商提供的,且在不同地区,还有不同的供应商,它们特有的非标准的缓存过期策略不受网站运营者的控制,因此可能导致同一网站在不同地区的更新生效时间不一致,并且当网站选择新的缓存服务商时,其更新策略又可能发生变化。
针对相关技术中上述问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种文件访问方法和系统,以至少解决现有技术中网页服务器需要通过缓存过期或者是用户触发才能访问到源文件服务器中更新后的文件而导致的无法及时访问到更新后的文件的技术问题。
根据本申请的一个方面,提供了一种文件访问方法,包括:检测源文件服务器上的文件是否发生更新;在检测出源文件服务器上存在更新后的文件时,根据更新后的文件的标识对网页服务器上对应的URL进行更新,其中,更新前的URL用于标识更新前的文件在源文件服务器上的地址,更新后的URL用于标识更新后的文件在源文件服务器上的地址;使用更新后的URL访问源文件服务器上的更新后的文件。
优选地,使用更新后的URL访问源文件服务器上的更新后的文件的步骤包括:缓存服务器接收来自浏览器的访问请求,其中,访问请求中携带更新后的URL;缓存服务器判断本地是否存储有与更新后的URL对应的文件;若不存在,则通过访问请求中更新后的URL访问源文件服务器上的更新后的文件。
优选地,根据更新后的文件的标识对网页服务器上对应的URL进行更新的步骤包括:获取更新后的文件的版本号;若更新前的URL记录有更新前的文件的版本号,将更新前的URL中记录的更新前的文件的版本号替换为获取的版本号,以形成更新后的URL;若更新前的URL未记录更新前的文件的版本号,则将获取的版本号加入到更新前的URL中,以形成更新后的URL。
优选地,将获取的版本号加入到更新前的URL中的步骤包括:通过分隔符将获取的版本号连接在更新前的URL之后,其中,分隔符为文件的名称未使用到的字符。
优选地,获取更新后的文件的版本号的步骤包括:网页服务器定时从源文件服务器获取更新后的文件的版本号;或者源文件服务器在检测出存在更新后的文件时将更新后的文件的版本号分发至网页服务器。
优选地,检测源文件服务器上的文件是否发生更新的步骤包括:定时或接收触发信号对源文件服务器的文件进行扫描,将每一个当前扫描到的文件的文件内容的MD5值确定为当前扫描到的文件的当前版本号,或者,将每一个当前扫描到的文件的最后修改时间确定为当前扫描到的文件的当前版本号;判断确定出的当前扫描到的文件的当前版本号与存储的当前扫描到的文件的版本号是否一致;若不一致,则确定出源文件服务器上的当前扫描到的文件发生更新,将确定出的当前扫描到的文件的当前版本号确定为更新后的文件的版本号,并将存储的当前扫描到的文件的版本号替换为确定出的当前扫描到的文件的当前版本号;若一致,则确定出源文件服务器上的当前扫描到的文件未发生更新。
根据本申请的另一方面,提供了一种文件访问系统,包括:源文件服务器,用于检测源文件服务器上的文件是否发生更新;网页服务器,用于在检测出源文件服务器上存在更新后的文件时,根据更新后的文件的标识对网页服务器上对应的URL进行更新,其中,更新前的URL用于标识更新前的文件在源文件服务器上的地址,更新后的URL用于标识更新后的文件在源文件服务器上的地址;浏览器,用于使用更新后的URL访问源文件服务器上的更新后的文件。
优选地,文件访问系统还包括:缓存服务器,其中,缓存服务器包括:接收单元,用于接收来自浏览器的访问请求,其中,访问请求中携带更新后的URL;判断单元,用于判断本地是否存储有与更新后的URL对应的文件,在缓存服务器判断出本地不存在与更新后的URL对应的文件时,通知浏览器通过访问请求中更新后的URL访问源文件服务器上的更新后的文件。
优选地,网页服务器包括:获取单元,用于获取更新后的文件的版本号;更新单元,用于在更新前的URL记录有更新前的文件的版本号时,将更新前的URL中记录的更新前的文件的版本号替换为获取的版本号,以形成更新后的URL;在更新前的URL未记录更新前的文件的版本号时,将获取的版本号加入到更新前的URL中,以形成更新后的URL。
优选地,源文件服务器包括:扫描单元,用于定时或接收触发信号对源文件服务器的文件进行扫描,将每一个当前扫描到的文件的文件内容的MD5值确定为当前扫描到的文件的当前版本号,或者,将每一个当前扫描到的文件的最后修改时间确定为当前扫描到的文件的当前版本号;判断单元,用于判断确定出的当前扫描到的文件的当前版本号与存储的当前扫描到的文件的版本号是否一致;确定单元,用于在判断确定出的当前扫描到的文件的当前版本号与存储的当前扫描到的文件的版本号不一致时,确定源文件服务器上的当前扫描到的文件发生更新,将确定出的当前扫描到的文件的当前版本号确定为更新后的文件的版本号,并将存储的当前扫描到的文件的版本号替换为确定出的当前扫描到的文件的当前版本号;在判断确定出的当前扫描到的文件的当前版本号与存储的当前扫描到的文件的版本号一致时,确定源文件服务器上的当前扫描到的文件未发生更新。
在本申请中,当源文件服务器中的文件发生更新时,通过更新的文件标识对网页服务器上指向文件的URL进行更新,从而迫使缓存服务器中的文件无法被读取,进而转向源服务器读取文件,这样解决了现有技术中网页服务器需要通过缓存过期或者是用户触发才能访问到源文件服务器中更新后的文件而导致的无法及时访问到更新后的文件的技术问题,实现了在文件自身更新时自动更新网页服务器上指向文件的URL,达到了实时且自动的确保文件更新在网页上生效的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的文件访问系统的一种结构示意图;
图2是根据本申请实施例的文件访问系统的一种优选结构框图;
图3是根据本申请实施例的文件访问系统的另一种优选结构框图;
图4是根据本申请实施例的文件访问系统的又一种优选结构框图;
图5是根据本申请实施例的文件访问系统的又一种优选结构框图;
图6是根据本申请实施例的文件访问方法的一种优选流程图;
图7是根据本申请实施例的文件访问方法的另一种优选流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在描述本申请的各实施例的进一步细节之前,将参考图1来描述可用于实现本申请的原理的一个合适的计算体系结构。在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操作的符号表示来描述本申请的各实施例。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文中描述本申请,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动作和操作的各方面也可用硬件来实现。
转向附图,其中相同的参考标号指代相同的元素,本申请的原理被示为在一个合适的计算环境中实现。以下描述基于所述的本申请的实施例,并且不应认为是关于此处未明确描述的替换实施例而限制本申请。
图1示出了可用于这些设备的一个示例计算机体系结构的示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该计算系统解释为对图1所示的任一组件或其组合具有任何依赖或需求。
本申请的原理可以使用其它通用或专用计算或通信环境或配置来操作。适用于本申请的众所周知的计算系统、环境和配置的示例包括但不限于,个人计算机、服务器,多处理器系统、基于微处理的系统、小型机、大型计算机、以及包括任一上述系统或设备的分布式计算环境。
在其最基本的配置中,图1中的文件访问系统100至少包括:一个网站的服务器102以及一个或多个客户端104。服务器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置、用于存储数据的存储装置以及与客户端通信的传输装置;客户端104可以包括:微处理器MCU、与服务器通信的传输装置、与用户交互的显示装置。在本说明书和权利要求书中,“文件访问系统”也可以被定义为能够执行软件、固件或微码来实现功能的任何硬件组件或硬件组件的组合。文件访问系统100甚至可以是分布式的,以实现分布式功能。
如本申请所使用的,术语“模块”、“组件”或“单元”可以指在文件访问系统100上执行的软件对象或例程。此处所描述的不同组件、模块、单元、引擎和服务可被实现为在文件访问系统100上执行(例如,作为单独的线程)的对象或进程。尽管此处所描述的系统和方法较佳地以软件来实现,但是硬件或软件和硬件的组合的实现也是可能并被构想的。
实施例1
图2是根据本申请实施例的文件访问系统的一种优选的结构框图,优选的,本实施例中的系统位于服务器102上或者客户端104上。
优选的,如图2所示的文件访问系统200可以包括:源文件服务器202,用于检测源文件服务器上的文件是否发生更新;网页服务器204,用于在检测出源文件服务器202上存在更新后的文件时,根据更新后的文件的标识对网页服务器204上对应的URL进行更新,其中,更新前的URL用于标识更新前的文件在源文件服务器上的地址,更新后的URL用于标识更新后的文件在源文件服务器202上的地址;浏览器206,用于使用更新后的URL访问源文件服务器202上的更新后的文件。
在上述优选实施方式,当源文件服务器202中的文件发生更新时,通过更新的文件标识对网页服务器204上指向文件的URL进行更新,从而迫使缓存服务器中的文件无法被读取,进而转向源文件服务器202读取文件,这样解决了现有技术中网页服务器204需要通过缓存过期或者是用户触发才能访问到源文件服务器中更新后的文件而导致的无法及时访问到更新后的文件的技术问题,实现了在文件自身更新时自动更新网页服务器204上指向文件的URL,达到了实时且自动的确保文件更新在网页上生效的技术效果。
在本申请一个优选实施方式中,如图3所示,文件访问系统200还可以包括:缓存服务器300,其中,缓存服务器300包括:接收单元302,用于接收来自浏览器206的访问请求,其中,访问请求中携带更新后的URL;判断单元304,用于判断本地是否存储有与更新后的URL对应的文件,在缓存服务器300判断出本地不存在与更新后的URL对应的文件时,通知浏览器206通过访问请求中更新后的URL访问源文件服务器202上的更新后的文件。在上述优选实施方式中,缓存服务器300根据浏览器206的请求中的URL对缓存服务器300中的文件进行查找,如果不存在该URL对应的文件,则对源文件服务器202进行访问,从而达到了实时且自动的确保文件更新在网页上生效的技术效果。
在本申请一个优选实施方式中,如图4所示,网页服务器204包括:获取单元402,用于获取更新后的文件的版本号;更新单元404,用于在更新前的URL记录有更新前的文件的版本号时,将更新前的URL中记录的更新前的文件的版本号替换为获取的版本号,以形成更新后的URL;在更新前的URL未记录更新前的文件的版本号时,将获取的版本号加入到更新前的URL中,以形成更新后的URL。在本优选实施方式中,在获取文件新的版本号以后,用新的版本号替换文件对应的URL中原先的版本号,如果原本文件对应的URL中没有版本号就将该新的版本号加进文件对应的URL中,从而实现文件对应访问地址随着版本号的改变而改变,达到了实时且自动的确保文件更新在网页上生效的技术效果。
本优选的实施例中通过更新后的文件的版本号来更新指向文件的URL,这只是一种示例,还可以通过能够全局唯一地标识更新后的文件的其他标识来更新指向文件的URL。
为了将版本号加入URL中以实现通过版本号的改变来改变文件的访问地址,本申请还提供了一种将版本号加入URL的方法,在本申请一个优选实施方式中,将获取的版本号加入到更新前的URL中的步骤包括:通过分隔符将获取的版本号连接在更新前的URL之后,其中,分隔符为文件的名称未使用到的字符,例如“|”。在本优选实施方式中,通过在URL中加入在常规URL中不会出现的字符作为URL和版本号的分隔符,从而实现了将显示文件更新的版本号加入URL的目的,从而实现通过版本号来改变文件URL的目的,同时,该文件访问方法遵循HTTP规范,具有通用性,不受第三方缓存服务商的影响。
例如,原URL为http://fileserver/file,而file有对应的版本号为001,则将URL改写为http://fileserver/file|v001,其中,“|”为文件名与版本号之间的分隔符,以便源文件服务器处理该请求时明确区分文件地址和版本号。或者,原URL为http://fileserver/file|v001,更新后的文件对应的版本号为002,则将URL改写为http://fileserver/file|v002。
在本申请一个优选实施方式中,网页服务器204可以通过以下几种优选的方式来获取更新后的文件的版本号:1)网页服务器204定时从源文件服务器202获取更新后的文件的版本号;或者,2)源文件服务器202在检测出存在更新后的文件时将更新后的文件的版本号分发至网页服务器204。在本优选实施方式中,网页服务器204通过定时从源文件服务器获取更新后的文件的版本号,而不需要持续向源文件服务器发送获取文件版本号的请求,从而节省了系统资源;另一方面,源文件服务器202在检测出存在更新后的文件时,则立即将更新后的文件的版本号分发至网页服务器204,从而使得网页服务器204能够实时地获取最新的文件地址信息。
在本申请一个优选实施方式中,如图5所示,源文件服务器202包括:扫描单元502,用于定时或接收触发信号对源文件服务器202的文件进行扫描,将每一个当前扫描到的文件的文件内容的MD5值确定为当前扫描到的文件的当前版本号,或者,将每一个当前扫描到的文件的最后修改时间确定为当前扫描到的文件的当前版本号;判断单元504,用于判断确定出的当前扫描到的文件的当前版本号与存储的当前扫描到的文件的版本号是否一致;确定单元506,用于在判断确定出的当前扫描到的文件的当前版本号与存储的当前扫描到的文件的版本号不一致时,确定源文件服务器202上的当前扫描到的文件发生更新,将确定出的当前扫描到的文件的当前版本号确定为更新后的文件的版本号,并将存储的当前扫描到的文件的版本号替换为确定出的当前扫描到的文件的当前版本号;在判断确定出的当前扫描到的文件的当前版本号与存储的当前扫描到的文件的版本号一致时,确定源文件服务器202上的当前扫描到的文件未发生更新。
实施例2
基于图6所示的系统,本申请还提供了一种优选的文件访问方法,具体步骤如图6所示,包括:
S602:检测源文件服务器上的文件是否发生更新;
S604:在检测出源文件服务器上存在更新后的文件时,根据更新后的文件的标识对网页服务器上对应的URL进行更新,其中,更新前的URL用于标识更新前的文件在源文件服务器上的地址,更新后的URL用于标识更新后的文件在源文件服务器上的地址;
S606:使用更新后的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的目的,同时,该文件访问方法遵循HTTP规范,具有通用性,不受第三方缓存服务商的影响。
例如,原URL为http://fileserver/file,而file有对应的版本号为001,则将URL改写为http://fileserver/file|v001,其中,“|”为文件名与版本号之间的分隔符,以便源文件服务器处理该请求时明确区分文件地址和版本号。或者,原URL为http://fileserver/file|v001,更新后的文件对应的版本号为002,则将URL改写为http://fileserver/file|v002。
在本申请一个优选实施方式中,网页服务器可以通过以下几种优选的方式来获取更新后的文件的版本号:1)网页服务器定时从源文件服务器获取更新后的文件的版本号;或者,2)源文件服务器在检测出存在更新后的文件时将更新后的文件的版本号分发至网页服务器。在本优选实施方式中,网页服务器通过定时从源文件服务器获取更新后的文件的版本号,而不需要持续向源文件服务器发送获取文件版本号的请求,从而节省了系统资源;另一方面,源文件服务器在检测出存在更新后的文件时,则立即将更新后的文件的版本号分发至网页服务器,从而使得网页服务器能够实时地获取最新的文件地址信息。
为了得到文件的版本号,本申请还提供了一种优选的计算文件版本号的方法,在本申请一个优选实施方式中,检测源文件服务器上的文件是否发生更新的步骤包括:定时或接收触发信号对源文件服务器的文件进行扫描,将每一个当前扫描到的文件的文件内容的MD5值确定为当前扫描到的文件的当前版本号,或者,将每一个当前扫描到的文件的最后修改时间确定为当前扫描到的文件的当前版本号;判断确定出的当前扫描到的文件的当前版本号与存储的当前扫描到的文件的版本号是否一致;若不一致,则确定出源文件服务器上的当前扫描到的文件发生更新,将确定出的当前扫描到的文件的当前版本号确定为更新后的文件的版本号,并将存储的当前扫描到的文件的版本号替换为确定出的当前扫描到的文件的当前版本号;若一致,则确定出源文件服务器上的当前扫描到的文件未发生更新。在本优选实施方式中,将计算得到的文件的MD5值或者是文件的最后修改时间作为文件的版本号,从而实现了版本号随着文件的更新而改变,同时定时或者触发的对文件进行扫描以重新计算文件的版本号,保证了文件版本号及时的更新。
举例而言,该文件访问方法的具体步骤如图7所示,包括步骤S702-步骤S714:
S702:源文件服务器定时扫描文件目录,并根据每个文件的内容计算其消息摘要(MessageDigest5,简称为MD5)值,该值将作为文件的版本号保存在源文件服务器上,(由于MD5值随文件内容改变而改变,因而保证了当文件更新时其版本号也将更新)。优选的,还可以将文件的最后修改时间作为文件版本号保存在源文件服务器上。
S704:网页服务器定时从源文件服务器上获取所有文件的版本号。
S706:网页服务器在接到输出浏览器的请求后,遍历页面上的文件URL,若该文件URL对应的文件有版本号,则在该文件URL中加入文件对应的版本号或者更新后的文件的版本号。例如,原URL为http://fileserver/file|v001,而更新后的file对应的版本号为002,则将URL改写为http://fileserver/file|v002,其中,“|”为文件名与版本号之间的分隔符,以便源文件服务器处理该请求时明确区分两者。
S708:缓存服务器在接收到形如http://fileserver/file|v002的请求后,查找缓存服务器上是否已有对应的文件副本,若有,则执行步骤S710;否则转而执行步骤S712。
S710:缓存服务器向网页服务器返回该文件副本,结束本流程。
S712:缓存服务器将URL请求转发给源文件服务器。
S714:源文件服务器在收到缓存服务器发送的URL请求后,忽略URL后缀中的版本号,向网页服务器返回对应的文件,从而浏览器可以得到最新更新的文件。
从以上的描述中,可以看出,本申请实现了如下技术效果:
1)本申请提供的文件访问方法不依赖于缓存过期,而是当文件更新时自动更新网页服务器上指向文件的URL,从而迫使缓存无法被访问而转向源文件服务器读取文件,从而达到实时且自动的确保文件更新在网页上生效。
2)该文件访问方法遵循HTTP规范,具有通用性,不受第三方缓存服务商的影响。
3)在检测出源文件服务器上存在更新后的文件时,更新文件的文件标识,其中,文件标识由文件名和一个版本号组成,文件的版本号随文件更新而改变,同时利用最新的文件标识自动生成网页服务器上指向该文件的URL的程序,从而确保文件更新在网页上生效的自动性、准实时性、通用性。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种文件访问方法,其特征在于,包括:
检测源文件服务器上的文件是否发生更新;
在检测出所述源文件服务器上存在更新后的文件时,根据更新后的文件的标识对网页服务器上对应的URL进行更新,其中,更新前的所述URL用于标识更新前的所述文件在所述源文件服务器上的地址,更新后的所述URL用于标识更新后的所述文件在所述源文件服务器上的地址;
使用更新后的URL访问所述源文件服务器上的所述更新后的文件;
其中,检测源文件服务器上的文件是否发生更新的步骤包括:定时或接收触发信号对所述源文件服务器的文件进行扫描,将每一个当前扫描到的文件的文件内容的MD5值确定为当前扫描到的文件的当前版本号,或者,将每一个当前扫描到的文件的最后修改时间确定为当前扫描到的文件的当前版本号;判断确定出的当前扫描到的文件的当前版本号与存储的当前扫描到的文件的版本号是否一致;若不一致,则确定出源文件服务器上的当前扫描到的文件发生更新,将确定出的当前扫描到的文件的当前版本号确定为所述更新后的文件的版本号,并将存储的当前扫描到的文件的版本号替换为确定出的当前扫描到的文件的当前版本号;若一致,则确定出源文件服务器上的当前扫描到的文件未发生更新。
2.根据权利要求1所述的方法,其特征在于,使用更新后的URL访问所述源文件服务器上的所述更新后的文件的步骤包括:
缓存服务器接收来自浏览器的访问请求,其中,所述访问请求中携带所述更新后的URL;
所述缓存服务器判断本地是否存储有与所述更新后的URL对应的文件;
若不存在,则通过所述访问请求中更新后的URL访问所述源文件服务器上的所述更新后的文件。
3.根据权利要求1所述的方法,其特征在于,根据更新后的文件的标识对网页服务器上对应的URL进行更新的步骤包括:
获取所述更新后的文件的版本号;
若更新前的所述URL记录有所述更新前的文件的版本号,将更新前的所述URL中记录的所述更新前的文件的版本号替换为所述获取的版本号,以形成所述更新后的所述URL;若更新前的所述URL未记录所述更新前的文件的版本号,则将所述获取的版本号加入到更新前的所述URL中,以形成所述更新后的所述URL。
4.根据权利要求3所述的方法,其特征在于,将所述获取的版本号加入到更新前的所述URL中的步骤包括:
通过分隔符将所述获取的版本号连接在更新前的所述URL之后,其中,所述分隔符为所述文件的名称未使用到的字符。
5.根据权利要求3所述的方法,其特征在于,所述获取所述更新后的文件的版本号的步骤包括:
所述网页服务器定时从所述源文件服务器获取所述更新后的文件的版本号;或者
所述源文件服务器在检测出存在所述更新后的文件时将所述更新后的文件的版本号分发至所述网页服务器。
6.一种文件访问系统,其特征在于,包括:
源文件服务器,用于检测所述源文件服务器上的文件是否发生更新;
网页服务器,用于在检测出所述源文件服务器上存在更新后的文件时,根据更新后的文件的标识对所述网页服务器上对应的URL进行更新,其中,更新前的所述URL用于标识更新前的所述文件在所述源文件服务器上的地址,更新后的所述URL用于标识更新后的所述文件在所述源文件服务器上的地址;
浏览器,用于使用更新后的URL访问所述源文件服务器上的所述更新后的文件;
其中,所述源文件服务器包括:扫描单元,用于定时或接收触发信号对所述源文件服务器的文件进行扫描,将每一个当前扫描到的文件的文件内容的MD5值确定为当前扫描到的文件的当前版本号,或者,将每一个当前扫描到的文件的最后修改时间确定为当前扫描到的文件的当前版本号;判断单元,用于判断确定出的当前扫描到的文件的当前版本号与存储的当前扫描到的文件的版本号是否一致;确定单元,用于在判断确定出的当前扫描到的文件的当前版本号与存储的当前扫描到的文件的版本号不一致时,确定源文件服务器上的当前扫描到的文件发生更新,将确定出的当前扫描到的文件的当前版本号确定为所述更新后的文件的版本号,并将存储的当前扫描到的文件的版本号替换为确定出的当前扫描到的文件的当前版本号;在判断确定出的当前扫描到的文件的当前版本号与存储的当前扫描到的文件的版本号一致时,确定源文件服务器上的当前扫描到的文件未发生更新。
7.根据权利要求6所述的系统,其特征在于,还包括:缓存服务器,其中,所述缓存服务器包括:
接收单元,用于接收来自所述浏览器的访问请求,其中,所述访问请求中携带所述更新后的URL;
判断单元,用于判断本地是否存储有与所述更新后的URL对应的文件,在所述缓存服务器判断出本地不存在与所述更新后的URL对应的文件时,通知所述浏览器通过所述访问请求中更新后的URL访问所述源文件服务器上的所述更新后的文件。
8.根据权利要求6所述的系统,其特征在于,所述网页服务器包括:
获取单元,用于获取所述更新后的文件的版本号;
更新单元,用于在更新前的所述URL记录有所述更新前的文件的版本号时,将更新前的所述URL中记录的所述更新前的文件的版本号替换为所述获取的版本号,以形成所述更新后的所述URL;在更新前的所述URL未记录所述更新前的文件的版本号时,将所述获取的版本号加入到更新前的所述URL中,以形成所述更新后的所述URL。
CN201110399942.8A 2011-12-05 2011-12-05 文件访问方法和系统 Active CN103139279B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110399942.8A CN103139279B (zh) 2011-12-05 2011-12-05 文件访问方法和系统
HK13108383.3A HK1181213A1 (zh) 2011-12-05 2013-07-17 文件訪問方法和系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110399942.8A CN103139279B (zh) 2011-12-05 2011-12-05 文件访问方法和系统

Publications (2)

Publication Number Publication Date
CN103139279A CN103139279A (zh) 2013-06-05
CN103139279B true CN103139279B (zh) 2016-02-24

Family

ID=48498578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110399942.8A Active CN103139279B (zh) 2011-12-05 2011-12-05 文件访问方法和系统

Country Status (2)

Country Link
CN (1) CN103139279B (zh)
HK (1) HK1181213A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735112B (zh) * 2013-12-23 2018-08-03 阿里巴巴集团控股有限公司 发送资源文件的方法、缓存资源文件的方法和装置
CN103997518B (zh) * 2014-05-06 2017-12-19 广州金山网络科技有限公司 一种cdn节点文件同步方法和装置
CN104346167B (zh) * 2014-08-25 2018-05-08 腾讯科技(深圳)有限公司 生成应用渠道包的方法及装置
CN104243594B (zh) * 2014-09-24 2018-01-12 广州金山网络科技有限公司 一种文件发布方法、设备及系统
CN104580458A (zh) * 2015-01-04 2015-04-29 浪潮通用软件有限公司 一种终端应用图片的方法和系统及终端和服务器
CN105991668B (zh) * 2015-01-27 2019-04-26 珠海金山办公软件有限公司 一种cdn文件更新方法及装置
CN105868239A (zh) * 2015-12-10 2016-08-17 乐视网信息技术(北京)股份有限公司 文件更新方法、装置及终端
CN105472008B (zh) * 2015-12-18 2019-03-15 福建天晴数码有限公司 web服务器缓存管理方法及系统
CN108075963B (zh) * 2016-11-18 2020-06-02 腾讯科技(深圳)有限公司 内容的传输方法和装置
CN108241495B (zh) * 2016-12-23 2021-05-25 北京京东尚科信息技术有限公司 文件存储系统更新下游系统的资源文件的url的方法及装置
CN106713460B (zh) * 2016-12-26 2019-12-10 武汉斗鱼网络科技有限公司 一种flash应用的版本控制方法和系统
CN108174244A (zh) * 2017-12-29 2018-06-15 深圳Tcl新技术有限公司 文件映射方法、映射服务器、电视及存储介质
CN108280174A (zh) * 2018-01-22 2018-07-13 网宿科技股份有限公司 前端文件构建方法和服务器、页面访问方法和终端
CN108268664B (zh) * 2018-02-12 2021-06-08 东软医疗系统股份有限公司 一种更新文件资源访问地址的方法和装置
CN109391673B (zh) * 2018-04-16 2021-01-05 深圳思为科技有限公司 一种管理更新文件的方法、系统及终端设备
CN110895583B (zh) * 2018-09-12 2023-05-30 阿里巴巴集团控股有限公司 数据资源获取的方法、装置和系统
CN109634876A (zh) * 2018-12-11 2019-04-16 广东省新代通信与网络创新研究院 文件访问方法、装置及计算机可读存储介质
CN112416869A (zh) * 2020-11-21 2021-02-26 广州西麦科技股份有限公司 Web应用集群环境存储文件的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127783A (zh) * 2007-09-28 2008-02-20 北京金山软件有限公司 一种网站缓存方法和一种网站缓存的装置
CN101714941A (zh) * 2008-10-06 2010-05-26 联想(北京)有限公司 数据更新方法和数据缓存服务器
CN102023973A (zh) * 2009-09-14 2011-04-20 中国移动通信集团公司 一种应用缓存服务器与数据库同步的方法、装置和系统
CN102109989A (zh) * 2009-12-29 2011-06-29 阿里巴巴集团控股有限公司 一种控制浏览器缓存的方法、装置和系统
CN102111449A (zh) * 2011-02-23 2011-06-29 北京蓝汛通信技术有限责任公司 一种更新数据的方法、装置和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981210B2 (en) * 2001-02-16 2005-12-27 International Business Machines Corporation Self-maintaining web browser bookmarks
US20070288591A1 (en) * 2006-06-13 2007-12-13 Wong Henry Y Method, system, and program product for caching application data in a browser cache
CN101211340A (zh) * 2006-12-29 2008-07-02 上海芯盛电子科技有限公司 基于客户端/服务端结构的动态网络爬行器
CN101788991B (zh) * 2009-06-23 2013-03-06 北京搜狗科技发展有限公司 一种更新提醒的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127783A (zh) * 2007-09-28 2008-02-20 北京金山软件有限公司 一种网站缓存方法和一种网站缓存的装置
CN101714941A (zh) * 2008-10-06 2010-05-26 联想(北京)有限公司 数据更新方法和数据缓存服务器
CN102023973A (zh) * 2009-09-14 2011-04-20 中国移动通信集团公司 一种应用缓存服务器与数据库同步的方法、装置和系统
CN102109989A (zh) * 2009-12-29 2011-06-29 阿里巴巴集团控股有限公司 一种控制浏览器缓存的方法、装置和系统
CN102111449A (zh) * 2011-02-23 2011-06-29 北京蓝汛通信技术有限责任公司 一种更新数据的方法、装置和系统

Also Published As

Publication number Publication date
CN103139279A (zh) 2013-06-05
HK1181213A1 (zh) 2013-11-01

Similar Documents

Publication Publication Date Title
CN103139279B (zh) 文件访问方法和系统
US10360279B2 (en) Computer networking system and method with pre-fetching using browser specifics and cookie information
EP2122494B1 (en) Tracking web server
US9407717B1 (en) Selective prefetch scanning
US10261938B1 (en) Content preloading using predictive models
US20110208850A1 (en) Systems for and methods of web privacy protection
RU2017106890A (ru) Способ доступа к веб-узлам, устройство и система веб-узла
US20100071052A1 (en) Reverse proxy architecture
CN103685604A (zh) 一种域名预解析方法及装置
CN103152367A (zh) 一种缓存的动态维护更新方法及系统
CN102333092A (zh) 一种网络用户识别的方法及其应用服务器
CN104714965A (zh) 静态资源去重方法、静态资源管理方法及装置
CN108256014B (zh) 页面展示方法及装置
US20140259100A1 (en) Network security identification method, security detection server, and client and system therefor
KR20180074774A (ko) 악의 웹 사이트 식별 방법, 장치 및 컴퓨터 기억매체
CN106911735B (zh) 数据获取方法及装置
AU2008355023A1 (en) Generating sitemaps
CN102055815A (zh) 获取访客本地域名解析服务器的系统
CN108696562A (zh) 一种获取网站资源的方法及装置
CN102035905A (zh) 获取访客本地域名解析服务器的方法
CN106911733B (zh) 云代理的网址访问方法及装置
US20130054747A1 (en) Anticipating domains used to load a web page
CN106911736B (zh) 云代理服务器、云代理的纯异步数据传输方法及系统
CN115277852B (zh) 基于区块链的工业互联网标识可信验证方法、装置、设备及介质
JP6104729B2 (ja) コンテンツ検索システム、コンテンツ検索方法、及びコンテンツ検索プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1181213

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1181213

Country of ref document: HK

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240206

Address after: # 01-21, Lai Zan Da Building 1, 51 Belarusian Road, Singapore

Patentee after: Alibaba Singapore Holdings Ltd.

Country or region after: Singapore

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: ALIBABA GROUP HOLDING Ltd.

Country or region before: Cayman Islands