CN102985921A - 在具有电子资源数据库的客户端装置中高速缓存电子文档资源 - Google Patents

在具有电子资源数据库的客户端装置中高速缓存电子文档资源 Download PDF

Info

Publication number
CN102985921A
CN102985921A CN2011800261877A CN201180026187A CN102985921A CN 102985921 A CN102985921 A CN 102985921A CN 2011800261877 A CN2011800261877 A CN 2011800261877A CN 201180026187 A CN201180026187 A CN 201180026187A CN 102985921 A CN102985921 A CN 102985921A
Authority
CN
China
Prior art keywords
electronic document
resource
speed cache
sourcing
operate
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.)
Granted
Application number
CN2011800261877A
Other languages
English (en)
Other versions
CN102985921B (zh
Inventor
史蒂文·T·卡纳弗斯凯
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN102985921A publication Critical patent/CN102985921A/zh
Application granted granted Critical
Publication of CN102985921B publication Critical patent/CN102985921B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

一种参考存储在主机装置(120)上的一个或多个电子文档资源(212-216)的电子文档(302)。主机装置(120)可在电子文档(302)中指示电子文档(302)可被客户端装置(102)高速缓存。当电子文档资源(212-216)被标识为可被客户端装置(102)高速缓存时,客户端装置(102)将电子文档资源(212-216)高速缓存在存储在客户端装置(102)的计算机可读介质(222)中的数据库中。客户端装置(102)还可生成电子文档资源目录(242-244)以标识那些高速缓存在数据库中的电子文档资源。当客户端装置(102)接下来从主机装置(120)请求电子文档(302)时,客户端装置(102)可传输电子文档资源目录(242-244)至主机装置(120)。一旦接收到电子文档资源目录(242-244),主机装置(120)可修改电子文档(302)以便电子文档(302)参考高速缓存在客户端装置(102)的数据库中的电子文档资源(236-240)。

Description

在具有电子资源数据库的客户端装置中高速缓存电子文档资源
相关申请的交叉引用
本申请要求了2010年5月7日提交的、美国临时专利申请号为61/332,435、发明名称为“CACHING ELECTRONIC DOCUMENT RESOURCES INA CLIENT DEVICE HAVING AN ELECTRONIC RESOURCE DATABASE”的权益,其全部公开内容通过参考包括于此。
背景技术
电子文档,例如用于网站的网页,通常参考一个或多个可能非常大的、用于显示电子文档的外部资源。例如,电子文档可能参考图像文件、音频文件、视频文件、格式文件或其他电子文档资源。而且,电子文档可能参考作为电子文档资源的其他电子文档。另外,主机装置如网络服务器可存储电子文档资源,并且当客户端装置请求电子文档时,主机装置可传输电子文档和电子文档资源至客户端装置。
由于每次电子文档被请求时都传输电子资源至客户端装置可能是耗费时间和浪费资源的,因此主机装置可请求客户端装置将电子资源临时地高速缓存在客户端装置的本地计算机可读介质上。可被客户端装置高速缓存的电子文档资源的示例包括Java脚本文件、级联样式表(“CSS”)文件、图像文件或其他类型的文件。一般地,主机装置可通过声明电子文档资源为外部资源并在对客户端装置的响应中使用特定的命令来请求客户端装置高速缓存电子文档资源。例如,在超文本传输协议(“HTTP”)中,对客户端装置的响应的开头处的数据块(称作“信头”)可提供用于控制电子文档资源的高速缓存的数个函数。这个信头在本技术领域被称作“高速缓存-控制信头”并可具有数个不同的可指定高速缓存行为的元素,称作“命令(directive)”。例如,高速缓存控制命令可指定哪些电子文档资源应被高速缓存、高速缓存的电子文档资源的持续时间、是否验证用于电子文档资源的高速缓存和其他高速缓存控制命令。
但是,简单地声明电子文档资源为外部资源并依靠高速缓存-控制信头和高速缓存控制命令的使用的传统技术存在数个问题。而且,当客户端装置为移动装置,例如蜂窝电话、个人数字助理、智能手机或其他移动装置时,这些问题格外加剧。一个问题是移动装置上的高速缓存典型地在容量上非常有限。由于移动装置经常是容量受限的,因此有效的存储容量被高度保护且移动装置经常奉献很少的资源给瞬时对象,如高速缓存。因此,在具有典型的高速缓存的移动装置上,通过使用网络浏览器来查看电子文档如网页、请求大量的电子文档资源以显示电子文档、或者在查看依靠电子文档资源(每个电子文档资源需要移动装置的大量的高速缓存)的电子文档中可能简单地在几分钟内替换或移除(“冲洗”)高速缓存的电子资源。另外,传统的高速缓存可能被网站或网页共享,网页或网站可能无意地、或者甚至有意地为来自高速缓存的其他网站或网页冲洗一个或多个高速缓存的电子文档资源。
其他问题是可能用于移动装置与主机装置的通信的信道经常具有有限数量的传输电子文档和电子文档资源的空间(“带宽”)。而且,当电子文档依靠大量的电子文档资源时,客户端装置和主机装置可能传输大量的请求和响应。由于客户端装置请求电子文档资源的时间与主机装置传输电子文档资源的时间之间存在时延(称作“延迟”),因此大量的请求和响应可能导致高延迟。高延迟是不理想的,因为它降低使用者在移动装置上查看电子文档的体验。因此,需要减少移动装置和主机装置之间的延迟。
发明内容
提供一种用于高速缓存之前标识的电子文档资源的系统。所述系统可包括具有资源数据库的计算机可读介质,所述资源数据库包括可操作用于标识电子文档资源的资源记录。所述资源记录可包括资源记录标识符和资源记录内容。所述系统还可包括可操作用于传输对所述电子文档的第一请求以及接收包括所述电子文档的第一响应的处理器。所述处理器还可操作用于解析所述电子文档以识别已被标记有高速缓存标识符的电子文档资源,其中所述高速缓存标识符可操作用于标识所述电子文档资源将被高速缓存在所述计算机可读介质中。所述处理器还可操作用于将所述电子文档资源高速缓存在所述资源数据库中作为所述资源记录,其中所述资源记录内容包括所述电子文档资源,所述资源记录标识符包括所述高速缓存标识符。
在所述系统的一个方面中,所述处理器进一步可操作用于基于所述资源记录生成电子资源目录,其中所述电子资源目录包括所述资源记录标识符。在所述系统的另一个方面中,所述处理器进一步可操作用于提供所述电子资源目录以标识存储在所述资源数据库中的所述电子文档资源。
在所述系统的又一个方面中,所述处理器可操作用于传输对所述电子文档的第二请求,其中所述第二请求包括所述电子资源目录,以及接收包括所述电子文档的第二响应。所述处理器进一步还可操作用于基于所述第二响应从所述资源数据库中检索所述电子文档资源以显示所述电子文档。
在所述系统的又另一个方面中,所述电子资源记录被建立用于预定的时间段。在所述系统的再另一个方面中,所述高速缓存标识符是基于所述电子文档资源的。在所述系统的另一个方面中,其中所述电子文档可操作用于识别多个电子文档资源和多个高速缓存标识符,其中每个高速缓存标识符在所述多个高速缓存标识符中是唯一的,且每个高速缓存标识符对应所述多个电子文档资源的电子文档资源。
还提供一种用于高速缓存之前标识的电子文档资源的方法。所述方法可包括建立资源数据库,所述资源数据库包括可操作用于标识电子文档资源的资源记录,其中所述资源记录包括资源记录标识符和资源记录内容,以及传输对电子文档的第一请求。所述方法还包括接收包括所述电子文档的第一响应以及解析所述电子文档以识别已被标记有高速缓存标识符的电子文档资源,其中所述高速缓存标识符可操作用于标识所述电子文档资源将被高速缓存在所述计算机可读介质中。所述方法还包括将所述电子文档资源高速缓存在所述资源数据库中作为所述资源记录,其中所述资源记录内容包括所述电子文档资源,所述资源记录标识符包括所述高速缓存标识符。
在所述方法的一个方面中,所述方法进一步包括基于所述资源记录生成电子资源目录,其中所述电子资源目录包括所述资源记录标识符。在所述方法的另一个方面中,所述方法包括提供所述电子资源目录以标识存储在所述资源数据库中的所述电子文档资源。在所述方法的又一个方面中,所述方法包括传输对所述电子文档的第二请求,其中所述第二请求包括所述电子资源目录;接收包括所述电子文档的第二响应;以及基于所述第二响应从所述资源数据库中检索所述电子文档资源以显示所述电子文档。
在所述方法的又另一个方面中,所述电子资源记录被建立用于预定的时间段。在所述方法的再又一个方面中,所述高速缓存标识符是基于所述电子文档资源的。
在所述方法的另一个方面中,所述电子文档可操作用于识别多个电子文档资源和多个高速缓存标识符,其中每个高速缓存标识符在所述多个高速缓存标识符中是唯一的,且每个高速缓存标识符对应于所述多个电子文档资源中的电子文档资源。
还提供一种用于建立电子文档资源的高速缓存的系统。所述系统包括计算机可读介质,所述计算机可读介质具有用于通过客户端装置显示的电子文档,其中所述电子文档可操作用于识别用于显示所述电子文档的电子文档资源。所述系统还包括处理器,所述处理器可操作用于接收标识所述电子文档资源可被高速缓存在客户端装置中的请求,并基于所述电子文档资源生成第一高速缓存标识符,其中所述第一高速缓存标识符可操作用于区分所述电子文档资源。所述处理器还可操作用于将所述第一高速缓存标识符插入所述电子文档中,并在对所述电子文档的第一请求的响应中传输所述电子文档和所述电子文档资源。
在所述系统的一个方面中,所述处理器进一步可操作用于接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录,并且所述处理器进一步可操作用于确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存。所述处理器进一步可操作用于当确定所述电子文档资源已被所述客户端装置高速缓存时,修改所述电子文档以参考已被高速缓存的所述电子文档资源。
在所述系统的另一个方面中,所述处理器进一步可操作用于接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录,以及确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存。所述处理器进一步还可操作用于当确定所述电子文档资源未被所述客户端装置高速缓存时,传输所述电子文档资源。
在所述系统的又另一个方面中,所述处理器进一步可操作用于接收用于替换所述电子文档资源的替换电子文档资源并生成用于所述替换电子文档资源的第二高速缓存标识符,其中所述第二高速缓存标识符可操作用于区分所述替换电子文档资源。所述处理器进一步还可操作用于使用所述第二高速缓存标识符替换所述电子文档中的第一高速缓存标识符。
在所述系统的再另一个方面中,所述处理器进一步可操作用于接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述替换电子文档资源是否已被高速缓存的电子资源目录,以及当所述电子资源目录标识所述替换电子文档资源未被高速缓存时,传输所述替换电子文档资源。
在所述系统的另一个方面中,所述电子资源目录包括第一高速缓存标识符。在所述系统的又一个方面中,所述电子文档可操作用于识别多个电子文档资源和多个高速缓存标识符,其中每个高速缓存标识符在所述多个高速缓存标识符中是唯一的,且每个高速缓存标识符对应于所述多个电子文档资源中的电子文档资源。
还提供一种用于建立电子文档资源的高速缓存的方法。所述方法包括将用于通过客户端装置显示的电子文档存储在计算机可读介质中,其中所述电子文档可操作用于识别用于显示所述电子文档的电子文档资源,以及通过处理器接收标识所述电子文档资源可被高速缓存在客户端装置中的请求。所述方法还包括通过处理器基于所述电子文档资源生成第一高速缓存标识符,其中所述第一高速缓存标识符可操作用于区分所述电子文档资源,以及通过所述处理器将所述第一高速缓存标识符插入所述电子文档中。所述方法进一步包括通过所述处理器在对所述电子文档的第一请求的响应中传输所述电子文档和所述电子文档资源。
在一个方面中,所述方法包括通过所述处理器接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录。所述方法还包括通过所述处理器确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存。所述方法进一步包括当确定所述电子文档资源已被所述客户端装置高速缓存时,通过所述处理器修改所述电子文档以参考已被高速缓存的所述电子文档资源。
在另一个方面中,所述方法包括通过所述处理器接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录。所述方法还包括通过所述处理器确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存。所述方法进一步包括当确定所述电子文档资源未被所述客户端装置高速缓存时,通过所述处理器传输所述电子文档资源。
在又一个方面中,所述方法包括通过所述处理器接收用于替换所述电子文档资源的替换电子文档资源,以及通过所述处理器生成用于所述替换电子文档资源的第二高速缓存标识符,其中所述第二高速缓存标识符可操作用于区分所述替换电子文档资源。所述方法还包括通过所述处理器使用所述第二高速缓存标识符替换所述电子文档中的所述第一高速缓存标识符。
在又另一个方面中,所述方法包括接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述替换电子文档资源是否已被高速缓存的电子资源目录,以及当所述电子资源目录标识所述替换电子文档资源未被高速缓存时,传输所述替换电子文档资源。
在又一个方面中,所述电子资源目录包括所述第一高速缓存标识符。在另一个方面中,所述电子文档可操作用于识别多个电子文档资源和多个高速缓存标识符,其中每个高速缓存标识符在所述多个高速缓存标识符中是唯一的,且每个高速缓存标识符对应于所述多个电子文档资源中的电子文档资源。
附图说明
图1示出根据本技术一方面的多个客户端装置与主机装置通信以接收一个或多个电子文档的一个示例;
图2示出根据本技术一方面的客户端装置与主机装置通信以接收一个或多个电子文档的一个示例;
图3示出根据本技术一方面的具有高速缓存标识符的电子文档的部分的一个示例;
图4示出根据本技术一方面的用于存储电子文档资源的电子资源记录的示例;
图5示出根据本技术一方面的电子资源记录的一个示例;
图6示出根据本技术一方面的参考高速缓存在客户端装置上的电子文档资源的电子文档的部分的一个示例;
图7是根据本技术一方面的用于传输将被客户端装置高速缓存的电子资源的逻辑流程的一个示例;
图8是根据本技术一方面的用于替换之前高速缓存的电子文档资源的逻辑流程的一个示例;以及
图9是根据本技术一方面的检索之前高速缓存的用于显示电子文档的电子文档资源的一个示例。
具体实施方式
图1示出客户端装置102-108通过网络130与主机装置110通信的一个示例。客户端装置102-108可以为任何类型的客户端装置,例如移动装置、台式电脑、笔记本电脑、上网本、平板电脑或任何其他类型的客户端装置。移动装置的示例包括个人显示助理、智能手机、移动电话、数字音乐播放器或任何其他类型的移动装置。
客户端装置102-108可从主机装置110请求一个或多个电子文档。电子文档可以是任何类型的电子文档,如文字处理文档、电子表格文档、多媒体文档或已知的或后来开发的任何其他类型的电子文档。而且,电子文档可以是互联网相关的文档,如超文本标记语言(“HTML”)文档、Java脚本文档、CSS文档、可扩展标记语言(“XML”)文档或任何其他互联网相关的文档。
在一种实施方式中,主机装置110可以是搜索引擎提供器,可操作用于提供用于被客户端装置102-108访问的搜索引擎的网站。在另一种实施方式中,主机装置110可以是在线购物提供器,可操作用于提供用于被客户端装置102-108访问的在线购物的网站。其他实施方式也是可行的,例如用于饮料供应商的网站、用于服装供应商的网站或其他类型的网站。主机装置110还可提供内部网站,例如,用于与其他雇主协作或被雇员访问的内联网网站。在任何实施方式中,用于主机装置110的网站可参考一个或多个电子文档资源,如多媒体文件、互联网相关的文件或其他任何类型的用于显示被主机装置110存储的一个或多个电子文档的电子文档资源。
主机装置110和客户端装置102-108可通过网络130通信。例如,一个或多个客户端装置102-108可传输对一个或多个电子文档的请求到主机装置110。在响应中,主机装置110可传输一个或多个电子文档到客户端装置102-108。而且,主机装置110可传输一个或多个电子文档资源到客户端装置102-108以显示一个或多个电子文档。如下面所阐述的,客户端装置102-108还可通过网络130传输电子文档资源目录如“信息记录程序(cookie)”至主机装置110。基于电子文档资源目录的内容,主机装置110可限制其传输至一个或多个客户端装置102-108的电子文档资源。参考图2-8说明电子文档资源目录的内容和主机装置110可能限制传输至客户端装置102-108的电子文档资源的方式。
尽管图1示出客户端装置102-108与单个主机装置110通信,但是客户端装置102-108可通过网络130与多个主机装置(未示出)通信。而且,客户端装置102-108之间可以彼此通信。在一种实施方式中,客户端装置102-108可以是主机装置110。类似地,在另一种实施方式中,主机装置110可以是客户端装置102-108。另外,单个主机装置110可包括多个主机装置,单个客户端装置如客户端装置102可包括多个客户端装置。
图2示出图1的客户端装置102与主机装置110通信的一个示例。在一种实施方式中,主机装置110可包括计算机可读介质202、网络接口204、处理器206和电子文档服务器208。计算机可读介质202可包括服务器资源数据库210,服务器资源数据库210可操作用于存储一个或多个用于提供一个或多个电子文档给客户端装置102的资源。服务器资源数据库210可以是任何类型的数据库,如平面文件数据库、分层数据库、网络数据库、关系数据库、面向对象的数据库或任何其他已知的或后来开发的数据库。
在一种实施方式中,服务器资源数据库210可包括多个电子文档资源212-216和多个电子文档218-220。电子文档218或电子文档220可参考电子文档资源212-216的任一个或者不参考电子文档资源212-216。如参考图3和图5所讨论的,电子文档218-220可包含参考电子文档资源212-216的格式或文本。
处理器206可操作用于为电子文档资源212-216的一个或多个准备用于嵌入一个或多个电子文档218-220的高速缓存标识符。高速缓存标识符可操作用于标识电子文档资源是否可被客户端装置102高速缓存。而且,高速缓存标识符可操作用于唯一地标识电子文档资源以及区分第一电子文档资源和第二电子文档资源。而且,根据处理器206如何生成高速缓存标识符,高速缓存标识符可标识自从处理器206最后一次生成电子文档资源的高速缓存标识符起,电子文档资源是否已被更新或修改。
处理器206可基于电子文档资源被认为是静态的或动态的内容而准备用于电子文档资源的高速缓存标识符。例如,静态内容可包括不被期望在预定时间段内改变的内容或不被期望经常改变的内容,动态内容可包括被期望在预定时间段内改变的内容或被期望经常改变的内容。而且,处理器206可接收为特定类型的电子文档资源准备高速缓存标识符的选择或其他指令,或者可接收为特定的电子文档资源准备高速缓存标识符的选择或其他指令。主机装置110可采用用于为一个或多个电子文档资源212-2169准备高速缓存标识符的其他选择标准。
高速缓存标识符可以是任何类型的标识电子文档资源的标识符。在一种实施方式中,处理器206可为电子文档资源218-220的每个生成“r:ID:fingerprint”形式的高速缓存标识符。在另一种实施方式中,电子文档资源218-220的每个可具有唯一的高速缓存标识符。在又另一个替换实施方式中,处理器206可为可被客户端装置102高速缓存的所有电子文档资源生成单一的高速缓存标识符。而且,处理器206可为被电子文档218-220的一个或多个参考的电子文档资源212-216的每个生成高速缓存标识符。
高速缓存标识符可包括数个高速缓存标识符部分,例如高速缓存标识符前缀、高速缓存标识符主体和高速缓存标识符后缀。但是,包括前缀、主体和后缀的任何组合的高速缓存标识符也是可行的。另外,高速缓存标识符可以仅包括单个部分,例如仅包括高速缓存标识符前缀、仅包括高速缓存标识符主体或者仅包括高速缓存标识符后缀。
在高速缓存标识符是“r:ID:fingerprint”的实施方式中,高速缓存标识符前缀“r:”可指示电子文档资源是可被客户端装置102高速缓存的,高速缓存标识符主体“ID:”可标识将被客户端装置102高速缓存的特定电子文档资源,高速缓存标识符后缀“fingerprint”可用于检测电子文档资源的改变。
高速缓存标识符前缀、高速缓存标识符主体和高速缓存标识符后缀可以是任何序列的字母数字字符。关于高速缓存标识符前缀,一种实施方式是使用字母数字字符“r:”,但是,也可使用其他字母数字字符,例如“5c”、“4#”、“prefix”、“$$”或者任何其他序列的字母数字字符。
关于高速缓存标识符主体,一种实施方式是为电子文档资源使用唯一的字母数字字符序列。例如,当电子文档参考第一电子文档资源和第二电子文档资源时,用于每个电子文档资源的高速缓存标识符可被分别分配一个唯一的高速缓存标识符。在另一种实施方式中,用于每个电子文档资源的每个高速缓存标识符是唯一的,并包括高速缓存标识符主体。在其他替换实施方式中,对于相同类型的电子文档资源,高速缓存标识符可以是相同的;对于所有电子文档资源,高速缓存标识符可以是相同的;仅对于一些电子文档资源,高速缓存标识符是不同的;或者其任何组合或派生。
最后,关于高速缓存标识符后缀,一种实施方式是使用对于电子文档资源的内容是唯一的字母数字字符序列。换句话说,高速缓存标识符后缀可以是基于电子文档资源的。例如,处理器206可使用哈希算法如MD5哈希算法来生成电子文档资源212的高速缓存标识符后缀。因此,当电子文档资源212的内容改变时,处理器206可为更新的电子文档资源212准备不同的高速缓存标识符后缀。
作为示例,假设电子文档218具有参考第一电子文档资源212的第一高速缓存标识符,并且处理器206接收到用于替换电子文档资源212的替换电子文档资源214。处理器206可生成用于替换电子文档资源214的第二高速缓存标识符,其中第二高速缓存标识符可操作用于区分替换电子文档资源214和电子文档资源212。然后,处理器206可使用第二高速缓存标识符替换电子文档218中的第一高速缓存标识符。
网络接口204可操作用于与处理器206通信并将来自客户端装置102的对电子文档的请求传输至处理器206。网络接口204可以是任何类型的有线网络接口、无线网络接口或有线和无线网络接口的组合。
然后,处理器206可将请求传送至电子文档服务器208,电子文档服务器208可操作用于提供电子文档218-220和/或电子文档资源212-216至客户端装置102。在一种实施方式中,电子文档服务器208可以是网络服务器,例如可从位于马里兰州的森林山的Apach软件基金会购买的ApacheHTTP服务器。在电子文档服务器208是网络服务器的实施方式中,电子文档218-220可以是网页或其他互联网相关的电子文档,电子文档资源212-216可以是多媒体文件或其他类型的互联网相关的或视听文件。但是,电子文档服务器208可以是任何类型的服务器,例如文件传输协议(“FTP”)服务器、远程桌面协议(“RDP”)服务器、虚拟网络计算(“VNC”)服务器或已知的或稍后开发的任何其他类型的电子文档服务器。
图3是具有数个分配给相应的电子文档资源312-318的高速缓存标识符304-310的电子文档302的部分的示例。高速缓存标识符304-310包括分配给具有第一计算机脚本语言(如Javascript)的第一电子文档资源312的第一高速缓存标识符304、分配给具有第二计算机脚本语言(如CSS)的第二电子文档资源314的第二高速缓存标识符306、分配给具有计算机标记语言和多媒体内容(如具有多媒体内容的HTML)的第三电子文档资源316的第三高速缓存标识符308、以及分配给具有计算机标记语言(如HTML)的第四电子文档资源318的第四高速缓存标识符310。通过示例并参考上面讨论的高速缓存标识符结构,第一高速缓存标识符304具有高速缓存标识符前缀“r:”、高速缓存标识符主体“UTILS”和高速缓存标识符后缀“28f2a3bcle4d”。其余的高速缓存标识符306-310的每个具有类似的结构。但是,在替换实施方式中,用于电子文档的高速缓存标识符可以是结构不同的。
再参考图2,主机装置110基于来自客户端装置102的对电子文档218-220的请求,提供电子文档218-220至客户端装置102。在一种实施方式中,客户端装置102包括计算机可读介质222、网络接口224、处理器226、显示器228和输入接口230。客户端装置102还可包括任何在主机装置110中示出的组件。类似地,主机装置110可包括任何在客户端装置102中示出的组件。事实上,在一种实施方式中,客户端装置102和主机装置110可共享一套组件。
客户端装置102可包括可操作用于接收客户端装置102要从主机装置110请求电子文档的输入的输入接口230。输入接口230可以是任何类型的输入接口,例如键盘、鼠标、轨迹球、与其他系统或组件连接的接口、或者任何其他已知的或后来开发的输入接口。
处理器226可操作用于传输对电子文档的请求至主机装置110。在一种实施方式中,处理器206可通过网络接口224传输请求。网络接口224可以是有线网络接口、无线网络接口或者有线和无线网络接口的组合。另外,处理器226可进一步操作用于接收来自主机装置的包括被请求的电子文档的响应。
当客户端装置102接收到来自主机装置110的电子文档时,客户端装置102可分析电子文档以确定电子文档是否参考可高速缓存的电子文档资源。例如,处理器226可解析电子文档以识别已被标记有高速缓存标识符的电子文档资源。如上面所讨论的,当电子文档资源被标记有“r:ID:fingerprint”形式的高速缓存标识符时,处理器226可识别出电子文档资源将被高速缓存。
在一种实施方式中,电子文档可包含用于帮助电子文档中被参考的可高速缓存的电子文档资源的识别的逻辑或模块。在另一种实施方式中,处理器226可从计算机可读介质中检索逻辑或模块以识别电子文档中被参考的可高速缓存的电子文档资源。
在识别出可高速缓存的电子文档资源之后,处理器226可操作用于将可高速缓存的电子文档资源存储在一个或多个客户端资源数据库232-234中。客户端资源数据库232-234可以是任何类型的数据库,例如平面文件数据库、关系数据库、分层数据库、面向对象的数据库、或者任何其他已知的或后来开发的数据库。在一种实施方式中,客户端资源数据库232-234是HTML5结构化查询语言(“SQL”)数据库。计算机可读介质222还可包括用于访问或修改客户端资源数据库232-234的应用程序接口(“API”),如HTML5网络存储API。访问或修改客户端资源数据库232-234可包括从客户端资源数据库232-234读取、编辑客户端资源数据库232-234、向客户端资源数据库232-234添加、或从客户端资源数据库232-234中移除。
客户端资源数据库232-234的每个可被分配给电子文档服务器。例如,客户端资源数据库234可被分配给电子文档服务器208,用于存储由电子文档服务器208提供的可高速缓存的电子文档资源。作为另一种示例,假设主机装置110被配置有位于“www.google.com”的统一资源定位符(URL)的第一电子文档服务器,且主机装置110还被配置有位于“mail.google.com”的URL的第二电子文档服务器。当客户端装置102访问“www.google.com”的URL时,处理器226可为第一电子文档服务器建立或分配第一客户端资源数据库。类似地,当客户端装置102访问“mail.google.com”的URL时,处理器226可为第二电子文档服务器建立或分配第二客户端资源数据库。因此,客户端资源数据库232-234的每个可被分配给不同的电子文档服务器。但是,在第一替换实施方式中,处理器226可操作用于为一个或多个电子文档服务器分配或建立单个客户端资源数据库。在另一个替换实施方式中,处理器226可操作用于为被客户端装置102访问的所有电子文档服务器分配或建立单个客户端资源数据库。
客户端资源数据库232-234可包括一个或多个电子资源记录236-240。电子资源记录236-240可操作用于存储被标识为可被电子文档高速缓存的电子文档资源212-216。因此,处理器226可将被标识为可被高速缓存在电子文档中的电子文档资源212-216高速缓存在一个或多个电子资源记录236-240中。在一种实施方式中,电子资源记录236-240可被格式化为键值对。电子资源记录的键可以是可操作用于标识电子资源记录的资源记录标识符。电子资源记录的值可以是资源记录的资源记录内容。
但是,根据客户端资源数据库232-234的实施方式,可以使用其他值或键来格式化电子资源记录236-240。
如上面所讨论的,处理器226可使用逻辑来标识和高速缓存客户端资源数据库232-234中的可被高速缓存的电子文档资源。以基于HTML5网络存储API的伪代码格式编写的用于标识和高速缓存可被高速缓存的电子文档资源的逻辑的一个示例如下:
Figure BPA00001641835900151
Figure BPA00001641835900161
在上面的伪代码中,处理器226可标识将被高速缓存的电子文档资源,然后可生成用于存储电子文档资源的资源数据库的电子资源记录。而且,电子资源记录可包含与电子文档资源相关的特征,例如电子文档资源被访问的日期、电子文档资源的指纹或其他与电子文档资源相关的特征。在上面的示例中,处理器226生成具有电子文档资源的内容的第一电子资源记录、具有客户端装置102访问电子文档资源的当前日期的第二电子资源记录、以及具有分配给电子文档资源的指纹的第三电子资源记录。
图4示出基于图3的电子文档302和第一高速缓存标识符304的电子资源记录236-240的电子资源记录组402的示例。电子资源记录组402包括第一电子资源记录236、第二电子资源记录238和第三电子资源记录240,第一电子资源记录236存储被第一高速缓存标识符304标识的电子文档资源的内容,第二电子资源记录238存储客户端装置102访问被第一高速缓存标识符304标识的电子文档资源的时间戳,第三电子资源记录240存储第一高速缓存标识符304的高速缓存标识符后缀(即,指纹)。
如图4所示,电子文档资源236-240的每个的结构都为键值对。参考上面讨论的标识和存储被标识为可被高速缓存的电子文档资源的示例性逻辑,第一电子资源记录236的键404为“r:UTILS:content”,值410为电子文档资源的内容。类似地,第二电子资源记录235的键406为“r:UTILS:timestamp”,值412为“05/05/2010”。最后,第三电子资源记录240的键408为“r:UTILS:fingerprint”,值414为“28f2a3bcle4d”。尽管电子资源记录组402具有三个电子资源记录236-240,额外的电子资源记录也是可行的。
尽管未示出,但是处理器226可操作用于存储用于第二高速缓存标识符306、第三高速缓存标识符308和第四高速缓存标识符310的额外的电子资源记录组。换句话说,在图3和图4示出的示例中,对于在电子文档302中标识的高速缓存标识符304-310的每个,处理器226可操作用于准备具有存储电子文档资源和相关特征的电子资源记录的电子资源记录组,相关特征例如为客户端装置102访问电子文档资源的日期和电子文档资源的指纹。
另外,处理器226可使用用于管理客户端资源数据库232-234的电子资源记录236-240的逻辑或模块。例如,处理器226可操作用于在自从将电子文档资源存储到客户端资源数据库232-234起已经过去预定时间段后,更新或修改客户端资源数据库232-234。在一种实施方式中,处理器226可操作用于在将电子文档资源存储到客户端数据库一年后,将相应的电子文档资源移除。但是,处理器226可使用其他的预定时间段来确定是否移除电子文档资源记录,例如秒、分钟、月、年或其他时间量。在另一种实施方式中,处理器226可操作用于基于预定数量的最近或最经常被访问的电子文档资源来更新或修改客户端资源数据库232-234。例如,处理器226可操作用于更新或修改客户端资源数据库232-234以保存或保持10个最近或最经常被访问的电子文档资源。在这个实施方式中,预定数量的最近或最经常被访问的电子文档资源可被无限期地高速缓存。但是,在替换实施方式中,可基于计算机可读介质222的存储容量、客户端资源数据库232-234的存储容量或其组合来移除预定数量的最近或最经常被访问的电子文档资源。
再参考图2,计算机可读介质还可包括可操作用于生成存储在客户端资源数据库232-234中的电子文档资源的目录的一个或多个电子资源目录242-244。第一电子资源目录242可被分配给第一客户端资源数据库232,其生成存储在第一电子资源数据库232中的电子文档资源的目录;第二电子资源目录244可被分配给第二客户端资源数据库234,其生成存储在第二客户端资源数据库234中的电子文档资源的目录。由于可在计算机可读介质222中分配或建立额外的客户端资源数据库(未示出),处理器226可操作用于为每个分配的或建立的客户端资源数据库生成或建立额外的电子资源目录。但是,在替换实施方式中,处理器226可生成或建立不同配置的电子资源目录,例如,为所有的客户端资源数据库生成或建立单个电子资源目录,或者为特定组的客户端资源数据库生成或建立电子资源目录。处理器226可生成或建立的电子资源目录的一个示例为“信息记录程序”,其可以是包括一个或多个名值对的字符串。参考图5示出信息记录程序的一个示例。
处理器226可使用逻辑或模块以生成或建立电子资源目录242-244。在一种实施方式中,电子文档可包含逻辑或模块以帮助电子资源目录242-244的生成或建立。在另一种实施方式中,处理器226可从计算机可读介质222中检索逻辑或模块以生成或建立电子资源目录242-244。
下面示出以基于HTML5网络存储API的伪代码形式编写的用于生成电子资源目录242-244的逻辑的一个示例。下面的逻辑还包括用于管理预定时间段已经期满之后的电子资源记录的伪代码。
Figure BPA00001641835900181
Figure BPA00001641835900191
在上面的伪代码中,逻辑指示处理器226首先通过分析电子资源记录是否具有“r:ID.timestamp”格式的键来确定客户端装置102是否已高速缓存用于电子文档的电子文档资源。参考图3,这种格式的键的一个示例是用于电子资源记录238的键406。
如果处理器226确定客户端装置102已高速缓存电子文档资源,且电子资源记录具有“r:ID.timestamp”格式的键,那么处理器226将电子资源记录的值部分中指示的日期与预定时间段进行比较。例如,处理器226可将电子资源记录238的值412与预定时间段如一年进行比较。当电子资源记录的值部分中指示的日期比预定时间段迟,那么处理器226可移除与具有比预定时间段迟的日期的电子资源记录相应的电子文档资源对应的电子资源记录。通过从电子资源数据库中移除电子资源记录,处理器226强制客户端装置102使用存储在主机装置10上的电子文档资源。
但是,处理器226可不从电子资源数据库中移除电子资源记录。例如,当日期值不比预定时间段迟时,处理器226可不从电子资源数据库中移除电子资源记录。当客户端装置102首次访问电子文档服务器208时,日期值可能不比预定时间段迟,因为客户端装置102之前未访问过电子文档服务器208,处理器226刚刚在客户端资源数据库中生成电子资源记录;或者,当客户端装置102接下来在预定时间段内访问电子文档服务器208时,日期值可能也不比预定时间段迟。如果电子资源记录的日期值不比预定时间段迟,那么服务器226可为电子资源目录增加高速缓存标识符主体(电子文档资源的“ID”)和高速缓存标识符后缀(电子文档资源的“fingerprint”)。因此,通过检查客户端装置102高速缓存电子文档资源的日期,处理器226可保证电子资源目录中列出的电子文档资源不比规定的预定时间段迟。
图5示出用于图3中示出的电子文档的电子资源目录242的一个示例。电子资源目录242包括数个指示客户端装置102已高速缓存的电子文档资源的对502-508。如图5所示,电子资源目录242指示客户端组装置102已高速缓存具有“UTILS”的ID和“28f2a3bcle4d”的指纹的第一电子文档资源、具有“CSS”的ID和“d24e1a2cb89f”的指纹的第二电子文档资源、具有“HEADER”的ID和“ab394e3d2bc6”的指纹的第三电子文档资源、以及具有“FOOTER”的ID和“7144e8c2a28e”的指纹的第四电子文档资源。根据电子文档是否进一步识别将被客户端装置102高速缓存的电子文档资源,额外的对也是可行的。
再参考图2,在高速缓存电子文档资源212-216时或之后,客户端装置102可在显示器228上显示被请求的一个或多个电子文档218-220。显示器228可以是任何类型的显示器,例如视频显示器(例如,电脑显示器)、音频显示器(例如,音频扬声器)或音频和视频显示器的组合。
当客户端装置102从主机装置102请求电子文档时,客户端装置102还可传输一个或多个电子资源目录242-244至主机装置110。通过一起传输对电子文档的请求和一个或多个电子资源目录242-244,客户端装置102可通知主机装置110哪些电子文档资源已被客户端装置102高速缓存在一个或多个客户端资源数据库232-234中。因此,一个或多个电子资源数据242-244的传输减少接收和/或显示电子文档的延迟,因为客户端装置102和主机装置110不必持续地通信以便主机装置110或客户端装置102确定哪些电子文档资源已被客户端装置102高速缓存以及确定那些已被高速缓存的电子文档资源与存在于主机装置110上的电子文档资源相比是否不同或过期。
当主机装置110接下来传输电子文档至客户端装置102时,主机装置110可修改由客户端装置102显示的电子文档以使其包括对存在于客户端装置102上的高速缓存的电子文档资源的参考。下面的伪代码是可用于主机装置110确定是否修改发送至客户端装置102的电子文档的逻辑的一个示例:
Figure BPA00001641835900211
使用上面的伪代码,主机装置110的处理器206可首先确定随着对电子文档的请求一起发送的电子资源目录(例如,信息记录程序)是否包含用于被所请求的电子文档参考的电子文档资源的资源标识符,如高速缓存标识符主体。作为示例,并参考图3和图5,处理器206可确定电子资源目录242的对506是否具有与电子文档302的高速缓存标识符308的高速缓存标识符主体相匹配的高速缓存标识符主体,在这个示例中,高速缓存标识符主体为“HEADER”。
当对506的高速缓存标识符主体与高速缓存标识符308的高速缓存标识符主体相匹配时,处理器206修改电子文档302以指示客户端装置102的处理器226从客户端资源数据库234中检索高速缓存的电子文档资源。而且,关于主机装置110已经更新或替换的电子文档资源,主机装置110传输更新的或替换的电子文档资源至客户端装置102,因为用于更新的或替换的电子文档资源的高速缓存标识符的高速缓存标识符后缀(例如,指纹)与被替换的电子文档资源的高速缓存标识符后缀(例如,指纹)不同。
图6示出参考高速缓存在客户端装置102上的电子文档资源的修改的电子文档602的部分的一个示例。修改的电子文档602包括指示客户端装置102的处理器226参考存储在客户端资源数据库232-234中的高速缓存的电子文档资源以显示被请求的电子文档602的修改604-610。修改的电子文档602还可包括用于被客户端装置102的处理器226执行以确定是否从客户端资源数据库检索高速缓存的电子文档资源的逻辑或模块。尽管示出修改的电子文档602中的伪代码形式的逻辑,但是伪代码形式的逻辑也可被复制如下:
Figure BPA00001641835900221
上面的伪代码指示处理器226首先确定客户端资源数据库是否已高速缓存标识在电子资源目录中的电子文档资源。如果是,伪代码指示处理器226从客户端资源数据库检索用于显示电子文档的电子文档资源。另外,上面的伪代码指示处理器226确定电子资源目录是否错误地参考客户端装置102之前未高速缓存的电子文档资源。在这种情况下,处理器226可尝试纠正错误地记录的电子文档资源。例如,处理器226可删除电子资源目录的内容,或者移除电子资源目录,然后重新从主机装置110请求电子文档。在响应中,主机装置可传输电子文档资源至客户端装置102,因为重新请求不包括电子资源目录或具有移除的内容的电子资源目录。
图7是用于传输将被客户端装置102高速缓存的电子资源的逻辑流程700的一个示例。首先,主机装置110可接收标识一个或多个电子文档资源212-216是否可被客户端装置102高速缓存的请求(块702)。主机装置110可从主机装置的使用者、主机装置110的组件、或其他计算机系统或其组合接收请求。然后,处理器206可生成用于一个或多个电子文档资源的一个或多个高速缓存标识符(块704),然后将一个或多个高速缓存标识符插入一个或多个电子文档218-220中(块706)。
然后,主机装置110可接收对一个或多个电子文档218-220的请求(块708)。当主机装置110接收到对一个或多个电子文档218-220的请求时,主机装置110可确定请求是否包括一个或多个电子资源目录242-244(块710)。如果请求不包括一个或多个电子资源目录242-244,主机装置110可传输被请求的一个或多个电子文档218-220以及被一个或多个电子文档218-220参考的一个或多个电子文档资源212-216(块712)。
但是,主机装置110可能确定对一个或多个电子文档218-220的请求包括一个或多个电子资源目录242-244。那么,主机装置110可确定一个或多个电子资源目录242-244是否包括用于被一个或多个电子文档218-220参考的一个或多个电子文档资源212-216的高速缓存标识符(块714)。
在一种场景中,一个或多个电子目录242-244不包括用于电子文档资源的高速缓存标识符,因为自从客户端装置102最后一次请求电子文档起,电子文档资源已被增加至电子文档。在另一种场景中,一个或多个电子目录242-244不包括用于电子文档资源的高速缓存标识符,因为自从客户端装置102最后一次请求电子文档起,电子文档资源被替换或更新。当一个或多个电子目录242-244不包括用于被一个或多个电子文档218-220参考的电子文档资源的高速缓存标识符时,主机装置110可传输电子文档资源至客户端装置102(块712)。但是,当一个或多个电子目录242-244包括用于被所请求的一个或多个电子文档218-220参考的电子文档资源的高速缓存标识符时,主机装置110可修改被请求的一个或多个电子文档218-220以使其参考高速缓存在一个或多个客户端资源数据库232-234中的高速缓存的电子文档资源(块716)。
图8是用于替换之前高速缓存的电子文档资源的逻辑流程802的一个示例。首先,主机装置110可接收替换电子文档资源或更新的电子文档资源(块804)。然后,处理器206可生成用于替换电子文档资源或更新的电子文档资源的替换高速缓存标识符或更新的高速缓存标识符(块806)。处理器206可将用于电子文档资源的原始高速缓存标识符替换为替换高速缓存标识符(块808)。但是,处理器206还可在电子文档之前不参考替换电子文档资源时,将替换高速缓存标识符插入电子文档中。例如,替换电子文档资源可以为额外的之前不被电子文档参考的电子文档资源。
然后,主机装置110可接收对一个或多个电子文档218-220的请求(块810)。当主机装置110接收到对一个或多个电子文档218-220的请求时,主机装置110可确定请求是否包括一个或多个电子资源目录242-244(块812)。如果请求不包括一个或多个电子资源目录242-244,主机装置110可传输所请求的一个或多个电子文档218-220以及被一个或多个电子文档218-220参考的一个或多个电子文档资源212-216,其中一个或多个电子文档资源212-216包括更新的、额外的或替换的电子文档资源(块814)。
但是,主机装置110可能确定对一个或多个电子文档218-220的请求包括一个或多个电子资源目录242-244。那么,主机装置110可确定一个或多个电子资源目录242-244是否包括用于被一个或多个电子文档218-220参考的替换电子文档资源的高速缓存标识符(块816)。
在一种场景中,一个或多个电子目录242-244不包括用于替换电子文档资源的替换高速缓存标识符。当一个或多个电子目录242-244不包括用于被所请求的一个或多个电子文档218-220参考的替换电子文档资源的替换高速缓存标识符时,主机装置110可传输替换电子文档资源至客户端装置102(块814)。但是,在另一种场景中,一个或多个电子目录242-244可能包括替换高速缓存标识符,其中主机装置110生成的替换高速缓存标识符不与用于被替换的电子文档资源的高速缓存标识符不同。换句话说,替换高速缓存标识符和高速缓存标识符是相同的,因此客户端装置102存储的高速缓存标识符与替换高速缓存标识符相匹配。因此,主机装置110可分析高速缓存的电子资源的时间戳或其他特征以确定是否传输替换电子文档资源。当主机装置110确定高速缓存的电子文档资源的特征与替换电子文档资源的特征不同时,主机装置110可传输替换电子文档资源至客户端装置102(块818)。
图9是用于检索之前高速缓存的电子文档资源以显示电子文档的逻辑流程902的一个示例。首先,客户端装置102可传输对一个或多个电子文档218-220的请求(块904)。在传输请求的同时,或在传输请求之前,处理器226可确定是否包括与对一个或多个电子文档218-220的请求一起的一个或多个电子资源目录242-244(块906)。
当处理器226确定不包括与对一个或多个电子文档218-220的请求一起的一个或多个电子资源目录242-244时,例如当客户端装置102之前未访问过电子文档服务器208时,处理器226传输请求并等待来自主机装置110的响应。然后,处理器226接收一个或多个所请求的电子文档218-220以及被一个或多个所请求的电子文档218-220参考的一个或多个电子文档资源212-216(块908)。
处理器226解析一个或多个所请求的电子文档以识别被参考的电子文档资源212-216及其相应的高速缓存标识符(块910)。由于处理器226识别出一个或多个电子文档218-220中的高速缓存标识符,因此处理器226可在用于高速缓存被标识为可被高速缓存的一个或多个电子文档资源212-216的一个或多个客户端资源数据库232-234中生成一个或多个资源记录236-240(块912)。在一种实施方式中,处理器226还可生成或建立一个或多个的客户端资源数据库232-234。
然后,处理器226可高速缓存一个或多个客户端资源记录236-240中的一个或多个电子文档资源212-216并生成标识高速缓存在一个或多个客户端资源数据库232-234中的电子文档资源的电子资源目录(块914)。
但是,处理器226可能确定包括与对一个或多个电子文档218-220的请求一起的一个或多个电子资源目录242-244。例如,当客户端装置102之前访问过电子文档服务器208时,处理器226可能确定包括与对一个或多个电子文档218-220的请求一起的一个或多个电子资源目录242-244。当处理器226确定包括与对一个或多个电子文档218-220的请求一起的一个或多个电子资源目录242-244时,处理器226传输一个或多个电子资源目录242-244以及对一个或多个电子文档218-220的请求(块916)。
在传输请求以及一个或多个电子资源目录242-244之后,处理器226可接收一个或多个电子文档218-220(块918)。在一种场景中,当电子文档资源之前未被客户端装置102高速缓存时,处理器226还可接收这些电子文档资源。
当处理器226接收到电子文档218-220时,处理器220识别出对一个或多个电子文档218-220的修改并从一个或多个电子资源记录236-240中检索一个或多个高速缓存的电子文档资源(块920)。然后,处理器226可使用高速缓存的电子资源显示所请求的一个或多个电子文档218-220(块922)。
上面描述的系统、组件和逻辑可以很多不同的方式实施,包括硬件和软件的结合、或者用于安装在任何期望的操作系统上的软件,操作系统包括Linux、UNIX或Windows。功能可在单个系统中实施,或者功能可被分割到多个系统。作为另一种示例,组件、系统和逻辑可被实施为计算机可执行的指令或者内存中的数据结构,并可被存储在、分布到、或读取自很多不同类型的机器可读介质。机器可读介质可包括RAM、ROM、硬盘、软盘、CD-ROMS、闪存或其他机器可读介质。组件、系统和逻辑还可被编码在信号中,例如从网络接收到的信号、或者分割成段的信号、以及在与网络通信的多个数据包中接收到的信号。
系统可在软件、硬件或软件和硬件的组合中实施。系统、逻辑和/或模块可在计算机程序语言中实施,例如C#或Java、或任何其他已知的或后来开发的计算机程序语言。系统、逻辑和/或模块还可在计算机脚本语言中实施,例如Javascript、PHP、ASP、或任何其他已知的或后来开发的计算机脚本语言。而且,可以采用计算机程序语言和计算机脚本语言的结合来实施系统、逻辑和/或模块的一个或多个。
而且,系统可使用额外的、不同的或更少的组件而实现。作为一种示例,处理器或任何其他的逻辑或组件可通过微处理器、微控制器、DSP、特定用途集成电路(ASIC)、程序指令、离散模拟或数字逻辑、或其他类型的电路或逻辑的组合而实现。作为另一种示例,内存可以为DRAM、SRAM、闪存或其他类型的内存。系统可以分布在多个组件之间,例如在多个处理器和内存之间,优选地包括多个分布式处理系统。
逻辑,例如程序或电路,可以在多个程序之间组合或分割、分布在数个内存和处理器上、并可在函数库中或作为函数库实施,例如动态链接库(DLL)或其他共享的程序库。例如,DLL可存储用于执行如上所述的特定模块的功能的代码。作为另一种示例,DLL自身可提供系统的所有或一些功能。
系统之间的接口和系统中的逻辑和模块之间的接口可以多种方式实施。例如,系统之间的接口可以是网络服务、简单对象访问协议或企业服务总线接口。接口的其他示例包括消息传递,例如发布/订阅消息传递、共享的内存和远程程序呼叫。
尽管本文已经结合特定实施例描述本发明的方面,但是应理解这些实施例仅仅用于示意性地说明本发明的原理和应用。因此,应理解在不脱离所附的权利要求定义的本发明的精神和范围的前提下,可对示意性实施例做出多种修改并可以设计出其他配置。而且,尽管以特定的顺序示出某些操作和功能,但是除非另有明确的规定,它们可以不同的顺序执行。
工业应用性
本发明具有广泛的工业应用性,包括但不限于浏览系统和装置,以及互联网相关的服务器和其他互联网相关的高速缓存技术。

Claims (28)

1.一种用于高速缓存之前标识的电子文档资源的系统,所述系统包括:
计算机可读介质,包括:
包括资源记录的资源数据库,所述资源记录可操作用于标识电子文档资源,其中所述资源记录包括资源记录标识符和资源记录内容;以及
处理器,可操作用于:
传输对电子文档的第一请求;
接收包括所述电子文档的第一响应;
解析所述电子文档以识别已被标记有高速缓存标识符的电子文档资源,其中所述高速缓存标识符可操作用于标识所述电子文档资源将被高速缓存在所述计算机可读介质中;和
将所述电子文档资源高速缓存在所述资源数据库中作为所述资源记录,其中:
所述资源记录内容包括所述电子文档资源;和
所述资源记录标识符包括所述高速缓存标识符。
2.根据权利要求1所述的系统,其中所述处理器进一步可操作用于基于所述资源记录生成电子资源目录,其中所述电子资源目录包括所述资源记录标识符。
3.根据权利要求2所述的系统,其中所述处理器进一步可操作用于提供所述电子资源目录以标识存储在所述资源数据库中的所述电子文档资源。
4.根据权利要求2所述的系统,其中所述处理器进一步可操作用于:
传输对所述电子文档的第二请求,其中所述第二请求包括所述电子资源目录;
接收包括所述电子文档的第二响应;以及
基于所述第二响应从所述资源数据库中检索所述电子文档资源以显示所述电子文档。
5.根据权利要求1所述的系统,其中所述电子资源记录被建立用于预定的时间段。
6.根据权利要求1所述的系统,其中所述高速缓存标识符是基于所述电子文档资源的。
7.根据权利要求1所述的系统,其中所述电子文档可操作用于识别:
多个电子文档资源;以及
多个高速缓存标识符,其中:
每个高速缓存标识符在所述多个高速缓存标识符中是唯一的;和
每个高速缓存标识符对应所述多个电子文档资源中的电子文档资源。
8.一种用于高速缓存之前标识的电子文档资源的方法,所述方法包括:
建立资源数据库,所述资源数据库包括可操作用于标识电子文档资源的资源记录,其中所述资源记录包括资源记录标识符和资源记录内容;
传输对电子文档的第一请求;
接收包括所述电子文档的第一响应;
解析所述电子文档以识别已被标记有高速缓存标识符的电子文档资源,其中所述高速缓存标识符可操作用于标识所述电子文档资源将被高速缓存在所述计算机可读介质中;和
将所述电子文档资源高速缓存在所述资源数据库中作为所述资源记录,其中:
所述资源记录内容包括所述电子文档资源;和
所述资源记录标识符包括所述高速缓存标识符。
9.根据权利要求8所述的方法,进一步包括基于所述资源记录生成电子资源目录,其中所述电子资源目录包括所述资源记录标识符。
10.根据权利要求9所述的方法,进一步包括提供所述电子资源目录以标识存储在所述资源数据库中的所述电子文档资源。
11.根据权利要求8所述的方法,进一步包括:
传输对所述电子文档的第二请求,其中所述第二请求包括所述电子资源目录;
接收包括所述电子文档的第二响应;以及
基于所述第二响应从所述资源数据库中检索所述电子文档资源以显示所述电子文档。
12.根据权利要求8所述的方法,其中所述电子资源记录被建立用于预定的时间段。
13.根据权利要求8所述的方法,其中所述高速缓存标识符是基于所述电子文档资源的。
14.根据权利要求8所述的方法,其中所述电子文档可操作用于识别:
多个电子文档资源;以及
多个高速缓存标识符,其中:
每个高速缓存标识符在所述多个高速缓存标识符中是唯一的;和
每个高速缓存标识符对应于所述多个电子文档资源中的电子文档资源。
15.一种用于建立电子文档资源的高速缓存的系统,所述系统包括:
计算机可读介质,包括:
用于通过客户端装置显示的电子文档,其中所述电子文档可操作用于识别用于显示所述电子文档的电子文档资源;以及
处理器,可操作用于:
接收标识所述电子文档资源可被高速缓存在客户端装置中的请求;
基于所述电子文档资源生成第一高速缓存标识符,其中所述第一高速缓存标识符可操作用于区分所述电子文档资源;
将所述第一高速缓存标识符插入所述电子文档中;和
在对所述电子文档的第一请求的响应中传输所述电子文档和所述电子文档资源。
16.根据权利要求15所述的系统,其中所述处理器进一步可操作用于:
接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录;
确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存;以及
当确定所述电子文档资源已被所述客户端装置高速缓存时,修改所述电子文档以参考已被高速缓存的所述电子文档资源。
17.根据权利要求15所述的系统,其中所述处理器进一步可操作用于:
接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录;
确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存;以及
当确定所述电子文档资源未被所述客户端装置高速缓存时,传输所述电子文档资源。
18.根据权利要求15所述的系统,其中所述处理器进一步可操作用于:
接收用于替换所述电子文档资源的替换电子文档资源;
生成用于所述替换电子文档资源的第二高速缓存标识符,其中所述第二高速缓存标识符可操作用于区分所述替换电子文档资源;以及
使用所述第二高速缓存标识符替换所述电子文档中的第一高速缓存标识符。
19.根据权利要求18所述的系统,其中所述处理器进一步可操作用于:
接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述替换电子文档资源是否已被高速缓存的电子资源目录;以及
当所述电子资源目录标识所述替换电子文档资源未被高速缓存时,传输所述替换电子文档资源。
20.根据权利要求19所述的系统,其中所述电子资源目录包括第一高速缓存标识符。
21.根据权利要求15所述的系统,其中所述电子文档可操作用于识别:
多个电子文档资源;以及
多个高速缓存标识符,其中:
每个高速缓存标识符在所述多个高速缓存标识符中是唯一的;和
每个高速缓存标识符对应于所述多个电子文档资源中的电子文档资源。
22.一种用于建立电子文档资源的高速缓存的方法,所述方法包括:
将用于通过客户端装置显示的电子文档存储在计算机可读介质中,其中所述电子文档可操作用于识别用于显示所述电子文档的电子文档资源;
通过处理器接收标识所述电子文档资源可被高速缓存在客户端装置中的请求;
通过处理器基于所述电子文档资源生成第一高速缓存标识符,其中所述第一高速缓存标识符可操作用于区分所述电子文档资源;
通过所述处理器将所述第一高速缓存标识符插入所述电子文档中;以及
通过所述处理器在对所述电子文档的第一请求的响应中传输所述电子文档和所述电子文档资源。
23.根据权利要求22所述的方法,进一步包括:
通过所述处理器接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录;
通过所述处理器确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存;
当确定所述电子文档资源已被所述客户端装置高速缓存时,通过所述处理器修改所述电子文档以参考已被高速缓存的所述电子文档资源。
24.根据权利要求22所述的方法,还包括:
通过所述处理器接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录;
通过所述处理器确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存;以及
当确定所述电子文档资源未被所述客户端装置高速缓存时,通过所述处理器传输所述电子文档资源。
25.根据权利要求22所述的方法,进一步包括:
通过所述处理器接收用于替换所述电子文档资源的替换电子文档资源;
通过所述处理器生成用于所述替换电子文档资源的第二高速缓存标识符,其中所述第二高速缓存标识符可操作用于区分所述替换电子文档资源;以及
通过所述处理器使用所述第二高速缓存标识符替换所述电子文档中的所述第一高速缓存标识符。
26.根据权利要求25所述的方法,进一步包括:
接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述替换电子文档资源是否已被高速缓存的电子资源目录;以及
当所述电子资源目录标识所述替换电子文档资源未被高速缓存时,传输所述替换电子文档资源。
27.根据权利要求26所述的方法,其中所述电子资源目录包括所述第一高速缓存标识符。
28.根据权利要求22所述的方法,其中所述电子文档可操作用于识别:
多个电子文档资源;以及
多个高速缓存标识符,其中:
每个高速缓存标识符在所述多个高速缓存标识符中是唯一的;和
每个高速缓存标识符对应于所述多个电子文档资源中的电子文档资源。
CN201180026187.7A 2010-05-07 2011-05-06 在具有电子资源数据库的客户端装置中高速缓存电子文档资源 Active CN102985921B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US33243510P 2010-05-07 2010-05-07
US61/332,435 2010-05-07
PCT/US2011/035497 WO2011140427A2 (en) 2010-05-07 2011-05-06 Caching electronic document resources in a client device having an electronic resource database

Publications (2)

Publication Number Publication Date
CN102985921A true CN102985921A (zh) 2013-03-20
CN102985921B CN102985921B (zh) 2016-09-21

Family

ID=44902629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180026187.7A Active CN102985921B (zh) 2010-05-07 2011-05-06 在具有电子资源数据库的客户端装置中高速缓存电子文档资源

Country Status (4)

Country Link
US (2) US8583643B2 (zh)
EP (1) EP2567334A4 (zh)
CN (1) CN102985921B (zh)
WO (1) WO2011140427A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111989903A (zh) * 2018-04-03 2020-11-24 思杰系统有限公司 用于云服务的数据高速缓存
CN114286988A (zh) * 2019-09-24 2022-04-05 国际商业机器公司 处理数据库系统的数据
CN117632885A (zh) * 2024-01-25 2024-03-01 太平金融科技服务(上海)有限公司 一种回溯系统中的资源同步方法、装置、设备及介质

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9691055B2 (en) 2010-12-17 2017-06-27 Google Inc. Digital wallet
US9075893B1 (en) * 2011-02-25 2015-07-07 Amazon Technologies, Inc. Providing files with cacheable portions
US8606720B1 (en) * 2011-11-13 2013-12-10 Google Inc. Secure storage of payment information on client devices
US9275229B2 (en) * 2012-03-15 2016-03-01 Mandiant, Llc System to bypass a compromised mass storage device driver stack and method thereof
US9088461B2 (en) 2012-06-21 2015-07-21 International Business Machines Corporation Common web accessible data store for client side page processing
CN103077238B (zh) * 2013-01-09 2017-04-05 百度在线网络技术(北京)有限公司 电子文档的提供方法、系统、母书服务器及子书客户端
US9661380B2 (en) * 2013-03-15 2017-05-23 Echostar Technologies L.L.C. Television content management with integrated third party interface
US10412446B2 (en) 2013-03-15 2019-09-10 DISH Technologies L.L.C. Television content management with integrated third party interface
US10212490B2 (en) 2013-03-15 2019-02-19 DISH Technologies L.L.C. Pre-distribution identification of broadcast television content using audio fingerprints
US10509826B2 (en) * 2013-10-08 2019-12-17 Sony Corporation Server device, client device, information processing method, and recording medium
US10498663B2 (en) * 2014-03-12 2019-12-03 Amazon Technologies, Inc. Profile-based cache management
US20160162991A1 (en) * 2014-12-04 2016-06-09 Hartford Fire Insurance Company System for accessing and certifying data in a client server environment
US20160164999A1 (en) * 2014-12-09 2016-06-09 International Business Machines Corporation Hybrid web storage model
US10528541B2 (en) * 2016-12-13 2020-01-07 Sap Se Offline access of data in mobile devices
US11928420B2 (en) * 2021-12-15 2024-03-12 iCIMS, Inc. Methods and apparatus for matching media with a job host provider independent of the media format and job host platform
CN114265916A (zh) * 2021-12-23 2022-04-01 深圳前海微众银行股份有限公司 文档目录的生成方法、装置、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236227A1 (en) * 2004-11-05 2006-10-19 Achilles Heather D Methods and apparatus for assigning content identifiers to content portions
US20080005127A1 (en) * 2002-01-05 2008-01-03 Eric Schneider Sitemap Access Method, Product, And Apparatus
CN101431525A (zh) * 2007-11-06 2009-05-13 陈明杰 网络内容加载的加速方法、系统及其服务器和终端

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453342B1 (en) * 1998-12-03 2002-09-17 International Business Machines Corporation Method and apparatus for selective caching and cleaning of history pages for web browsers
US7188138B1 (en) * 1999-03-22 2007-03-06 Eric Schneider Method, product, and apparatus for resource identifier registration and aftermarket services
US6237060B1 (en) * 1999-04-23 2001-05-22 Sun Microsystems, Inc. Cache management techniques
US7475404B2 (en) * 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US7543024B2 (en) * 2001-05-03 2009-06-02 Oracle International Corporation System and method for monitoring multiple online resources in different formats
EA008675B1 (ru) * 2001-06-22 2007-06-29 Нервана, Инк. Система и способ поиска, управления, доставки и представления знаний
TW579463B (en) 2001-06-30 2004-03-11 Ibm System and method for a caching mechanism for a central synchronization server
US8626844B2 (en) * 2007-03-26 2014-01-07 The Trustees Of Columbia University In The City Of New York Methods and media for exchanging data between nodes of disconnected networks
US8250083B2 (en) * 2008-05-16 2012-08-21 Enpulz, Llc Support for international search terms—translate as you crawl

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005127A1 (en) * 2002-01-05 2008-01-03 Eric Schneider Sitemap Access Method, Product, And Apparatus
US20060236227A1 (en) * 2004-11-05 2006-10-19 Achilles Heather D Methods and apparatus for assigning content identifiers to content portions
CN101431525A (zh) * 2007-11-06 2009-05-13 陈明杰 网络内容加载的加速方法、系统及其服务器和终端

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111989903A (zh) * 2018-04-03 2020-11-24 思杰系统有限公司 用于云服务的数据高速缓存
CN111989903B (zh) * 2018-04-03 2021-12-21 思杰系统有限公司 用于云服务的数据高速缓存
US11356531B2 (en) 2018-04-03 2022-06-07 Citrix Systems, Inc. Data caching for cloud services
US11716406B2 (en) 2018-04-03 2023-08-01 Citrix Systems, Inc. Data caching for cloud services
CN114286988A (zh) * 2019-09-24 2022-04-05 国际商业机器公司 处理数据库系统的数据
CN117632885A (zh) * 2024-01-25 2024-03-01 太平金融科技服务(上海)有限公司 一种回溯系统中的资源同步方法、装置、设备及介质
CN117632885B (zh) * 2024-01-25 2024-04-16 太平金融科技服务(上海)有限公司 一种回溯系统中的资源同步方法、装置、设备及介质

Also Published As

Publication number Publication date
US8583643B2 (en) 2013-11-12
US9086978B2 (en) 2015-07-21
US20110276569A1 (en) 2011-11-10
EP2567334A4 (en) 2014-11-05
WO2011140427A2 (en) 2011-11-10
EP2567334A2 (en) 2013-03-13
US20140025896A1 (en) 2014-01-23
WO2011140427A3 (en) 2012-03-08
CN102985921B (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
CN102985921A (zh) 在具有电子资源数据库的客户端装置中高速缓存电子文档资源
KR101824222B1 (ko) 동적 컨텐츠 및 스테일 컨텐츠를 포함하는 웹사이트들의 고속 렌더링
CA2802746C (en) System and methods for facilitating the synchronization of data
US7194506B1 (en) Method and system for cache management of locale-sensitive content
US20170177736A1 (en) Caching pagelets of structured documents
US7512569B2 (en) User defined components for content syndication
US20060031751A1 (en) Method for creating editable web sites with increased performance & stability
US7523158B1 (en) System and method for partial page updates using a proxy element
US8645497B2 (en) Bookmark-based access to content feeds
US20140280691A1 (en) Updating dynamic content in cached resources
US10455020B2 (en) Systems and methods for managing and publishing managed content
US20020138555A1 (en) Client enhanced server-side cache system
JP6159424B2 (ja) 構造化文書のページレットのキャッシング
KR20090061666A (ko) 콘텐츠 공급물 사용자 인터페이스
US20100318888A1 (en) System and method for providing sub-publication content in an electronic device
US20160357865A1 (en) System and method for locating data feeds
CN102880679B (zh) 一种网页信息存储方法和装置
CN1339747A (zh) 用于高速缓存文件信息的系统和方法
KR102570254B1 (ko) 사용자 맞춤형 홈페이지 제작 지원 방법 및 이를 실행하는 사용자 맞춤형 홈페이지 제작 지원 서버
US10133758B2 (en) Cell-based database management system
KR20030080008A (ko) 페이지 구축기 툴을 사용하여 메세지를 발행하는 방법 및시스템
US20210165848A1 (en) Deep learning approach to mitigate the cold-start problem in textual items recommendations
KR20130050396A (ko) 사용자 에이전트 정보를 이용하여 rss 컨텐츠의 업데이트 데이터를 제공하는 시스템 및 그 방법
De Silva Performance evaluation of selective summary cache via simulations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Google limited liability company

Address before: American California

Patentee before: Google Inc.

CP01 Change in the name or title of a patent holder