CN102857483A - 预取数据的方法、设备和装置 - Google Patents

预取数据的方法、设备和装置 Download PDF

Info

Publication number
CN102857483A
CN102857483A CN2011101835368A CN201110183536A CN102857483A CN 102857483 A CN102857483 A CN 102857483A CN 2011101835368 A CN2011101835368 A CN 2011101835368A CN 201110183536 A CN201110183536 A CN 201110183536A CN 102857483 A CN102857483 A CN 102857483A
Authority
CN
China
Prior art keywords
prefetch request
data
prefetch
request
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.)
Granted
Application number
CN2011101835368A
Other languages
English (en)
Other versions
CN102857483B (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201110183536.8A priority Critical patent/CN102857483B/zh
Priority to US13/536,302 priority patent/US8977681B2/en
Publication of CN102857483A publication Critical patent/CN102857483A/zh
Priority to US14/590,723 priority patent/US9350826B2/en
Application granted granted Critical
Publication of CN102857483B publication Critical patent/CN102857483B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种用于由服务器进行数据预取的方法、设备和装置。其中所述方法包括:接收来自客户端的预取请求;执行预取请求,以根据预取请求的指示从连接到所述服务器的数据源预取数据;以及在收到针对所预取的数据的实际请求时,将所预取的数据发送给客户端。根据本发明实施例提供的技术方案,利用服务器和客户端的整体能力来进行数据预取,从而提高了服务器和客户端的整体性能。

Description

预取数据的方法、设备和装置
技术领域
本发明涉及数据存储技术,更具体地说,涉及用于预取数据的方法、设备和装置。
背景技术
从服务器获取数据是几乎所有客户端网络应用程序的基础。这里的服务器和客户端是广义的。换句话说,在网络通信的双方中,请求数据的一方是客户端,而提供数据的一方是服务器。随着互联网和IT基础设施的快速发展,服务器的功能主要集中于响应和处理客户端提出的请求,而将数据存储的功能转移到外部数据源。在这样的场景下,响应于客户端提出的数据请求,服务器从外部数据源取得该数据后返回给客户端。已经发展出了许多方案来提高客户端获取数据的速度,其中的一些方案涉及数据预取。典型的数据预取技术通常包括两种架构。
图2示出了一种典型的数据预取技术。如图2所示,服务器包括服务器通信模块,用于与客户端或外部数据源之间的通信交互。服务器还包括服务器预取数据预测模块,用于记录客户端请求数据的历史,或者服务器访问外部数据源的历史,并且通过分析所述历史预测后续可能需要从外部数据源提取的数据。服务器通信模块根据所述分析结果,从外部数据源中预取所述数据存放在服务器预取数据存储模块中。这样,如果后续客户端请求了所述预取数据,则服务器可以从服务器预取数据存储模块中提取该数据发送给客户端。由于对预取数据存储模块的访问快于对外部数据源的访问,因此提高了客户端获得数据的速度。
图2所示的方案需要对客户端请求数据的历史或服务器访问外部数据的历史进行记录。这通常需要较大的存储能力,从而会对现有的服务器系统在数据存储方面的能力提出很高的要求。进行分析和预测也会对占用服务器的计算能力。图2所示的方案还需要对通信历史进行分析。但一般来说,分析通信历史进而得出预测结果的方法是以模型为基础的。向服务器请求数据的客户端可能对应于不同的模型,从而难以通过对通信历史的分析得到适用于所有客户端的预测结果。
图3示出了另一种典型的数据预取技术。如图3所示,客户端包括客户端预取数据预测模块,用于记录客户端请求数据的历史并且通过分析所述历史预测后续可能需要向服务器请求的数据。客户端通信模块根据所述分析结果,向服务器发送预取请求以便预取所述数据,并且将所预取的数据存放在客户端预取数据存储模块中。
相对于图2所示的方案,图3所示的方案在客户端存储客户端请求数据的历史,并且利用客户端的计算能力对所述历史进行分析进而作出预测,从而减轻了服务器的负担。由于客户端和预测模型之间往往存在比较稳定的对应关系,因此客户端相对于服务器更容易进行有效地预测。
在图3所示的方案中,预取的数据需要从服务器经过网络传送到客户端。在客户端作出所述预测和客户端接到预取的数据之间存在一定的时间差,而在这期间预取数据可能发生变化。可以通过在客户端增加客户端追踪模块来解决这一问题。追踪模块是用于追踪数据变化的模块。客户端追踪模块定期向服务器发送查询请求。客户端追踪模块也可以在实际需要用到所预取的数据的情况下向服务器发送变化查询请求。服务器响应于所述变化查询请求,查看所述外部存储器中预取数据是否发生变化,如果发生变化则将所述变化传递给客户端。客户端然后相应地更新所述客户端预取数据存储模块。但是,在网络条件差的情况下,这样的追踪机制不能及时地在客户端的预取数据存储模块中反应预取数据的变化。此外,反复向服务器提交查询请求也会加大服务器的负担。
因此,需要一种新的解决方案来在客户端-服务器架构中进行数据预取。
发明内容
本发明实施例提供了用于预取数据的方法、设备和装置。
根据本发明实施例的用于由服务器进行数据预取的方法包括:接收来自客户端的预取请求;执行预取请求,以根据预取请求的指示从连接到所述服务器的数据源预取数据;以及在收到针对所预取的数据的实际请求时,将所预取的数据发送给客户端。
根据本发明实施例的用于预取数据的设备包括:服务器通信模块,配置为从客户端接收预取请求,并且根据所述预取请求的指示从连接到该设备的数据源预取数据,以便在收到针对所预取的数据的实际请求时发送被预取的数据;和服务器预取数据存储模块,配置为存储所述被预取的数据。
根据本发明实施例的用于由服务器进行数据预取的装置包括:接收单元,配置为接收来自客户端的预取请求;执行单元,配置为执行预取请求,以根据预取请求的指示从连接到所述服务器的数据源预取数据;以及发送单元,配置为在收到针对所预取的数据的实际请求时,将所预取的数据发送给客户端。
根据本发明实施例提供的技术方案,利用服务器和客户端的整体能力来进行数据预取,从而提高了服务器和客户端的整体性能。
附图说明
图1是示出了适于用来实现本发明实施方式的示例性计算系统100的框图。
图2示出了一种典型的数据预取技术。
图3示出了一种典型的数据预取技术。
图4示出根据本发明实施例的数据预取技术的系统框图。
图5示出根据本发明实施例的用于数据预取的方法流程图。
图6示出根据本发明实施例的用于数据预取的装置方框图。
具体实施方式
所属技术领域的技术人员知道,本发明的多个方面可以体现为系统、方法或计算机程序产品。因此,本发明的多个方面可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明的多个方面还可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可用的程序码。
可以使用一个或多个计算机可读的介质的任何组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或任何以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任何合适的组合。在本文件的语境中,计算机可读存储介质可以是任何包含或存储程序的有形的介质,该程序被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可包括在基带中或者作为载波一部分传播的、其中体现计算机可读的程序码的传播的数据信号。这种传播的信号可以采用多种形式,包括——但不限于——电磁信号、光信号或任何以上合适的组合。计算机可读的信号介质可以是并非为计算机可读存储介质、但是能发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序的任何计算机可读介质。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者任何合适的上述组合。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者任何合适的上述组合。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言-诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
以下参照按照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的多个方面。要明白的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品。
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
下面参照附图,结合具体实施例对本发明进行描述。这样的描述仅仅出于说明目的,而不意图对本发明的范围进行限制。
图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。在这些设备中,与系统总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
图4是根据本发明实施例的数据预取技术的系统框图。
如图4所示,客户端预取数据预测模块用于根据客户端向服务器请求数据的历史预测后续可能需要向服务器请求的数据。客户端通信模块根据所述预测结果,向服务器发送预取请求,所述预取请求指示需要从数据源预取的数据。
相应地,服务器通信模块用于接收预取请求,并且根据所述预取请求的指示从数据源预取数据,以便在收到针对所预取的数据的实际请求时,将所预取的数据发送给客户端。服务器预取数据存储模块用于存储所预取的数据。
如前所述,客户端和预测模型之间往往存在比较稳定的对应关系,因此相对于服务器,客户端更能有效地预测其后续所可能要请求的数据。对于服务器来说,其不需要存储客户端请求数据的历史或服务器访问外部数据的历史进行记录。也不需要根据所述历史进行分析和预测,从而降低了对服务器存储能力和计算能力的要求。
根据本发明的一个实施例,服务器可以进一步包括服务器追踪模块,所述追踪模块用于根据所预取的数据在数据源中的变化,更新服务器预取数据存储模块中的被预取数据。例如,所述服务器追踪模块可以在某些事件的触发下查询所预取的数据是否在数据源中发生变化。所述触发事件可以是服务器收到针对所预取的数据的实际请求,也可以是计时到达一定的时长。在所预取的数据在数据源中发生变化时,所述服务器追踪模块相应地更新所述服务器预取数据存储模块中的被预取数据。
相对于客户端追踪模块,采用服务器追踪模块来跟踪被预取数据在数据源中发生的变化可以更有效地更新在数据源中被改变的所预取的数据。首先,服务器追踪模块对数据源的查询并不需要服务器处理客户端发来的预取请求或者查询请求,因此降低了服务器的负荷。其次,服务器追踪模块并不需要将被预取数据的变化通过服务器和客户端之间的网络传往客户端,而只是更新本地的服务器预取数据存储模块。只有在被预取的数据被实际请求的时候,才需要占用服务器和客户端之间的网络。这样就节约了网络带宽。
如前所述,预取数据是通过基于访问历史的预测而确定的。预测有可能失误,因此客户端可能并不会实际请求所预取的数据。因此,服务器应该在不影响处理实际请求的情况下处理预取请求。针对这一特点,服务器可以进一步包括请求管理模块。请求管理模块调度对预取请求和实际请求的处理,并且优先处理实际请求。例如,可以将预取请求和实际请求分别放在两个预取请求存储区和实际请求存储区中,并且仅当实际请求存储区为空的情况下才处理预取请求存储区中的预取请求。在某些情况下,也可以提高预取请求的优先级。服务器将在后面进一步详细地描述请求管理模块的操作。当然,服务器可能会处理其他请求。但是为了简单起见,在以下的描述中仅以预取请求和实际请求两种请求为例。本领域技术人员能够容易地将对预取请求和实际请求的管理扩展到包括多种请求类型的情况。
所述预取请求至少包括对要预取的数据的指示。所述指示可以是确切地指定所要预取的数据在数据源中的位置,也可以是指定所要预取的数据所应当满足的条件,或者是一条或多条查询语句。所述预取请求可以进一步包括预取请求的有效期。例如,所述预取请求可以指定未来的某个时刻作为失效时刻;所述预取请求也可以包括时间戳和从该时间戳开始的有效时长。所述预取请求可以进一步包括标识符,所述标识符可以标识发出所述预取请求的客户端,也可以进一步标识可能需要所述预取数据的客户端应用程序。
下面参照图5描述根据本发明实施例的用于由服务器进行数据预取的方法流程图。
步骤501,接收来自客户端的预取请求。
根据本发明的一个实施例,服务器接收来自客户端的预取请求后,可以立即处理所述预取请求。根据本发明的另一个实施例,设置预取请求存储区,以便在服务器无法立即处理所述预取请求时,将所述预取请求暂时存储在该预取请求存储区中。
可以在将预取请求放入预取请求存储区之前判断预取请求存储区是否已满,并且在预取请求存储区未满的情况下将所述预取请求放入。
如上所述,所述预取请求可以进一步包括有效期。在这种情况下,可以先检查所述预取请求是否仍然有效,并且仅在所述预取请求处于有效期内的情况下才将该预取请求放入预取请求存储区。
根据本发明的一个实施例,服务器也可以在将该预取请求放入预取请求存储区之前给该预取请求设置有效期。如果预取请求不包括有效期,所述设置指的是为该预取请求指定一个有效期;如果预取请求自身包含有效期,所述设置指的是对该有效期进行校正。根据本发明一个实施例,可以以默认值给所述预取请求设置有效期。根据本发明的又一个实施例,可以根据发出该预取请求的客户端的信用情况来设置或校正该预取请求的有效期。例如,如果一个客户端被发现经常发出无效的预取请求,则该客户端的信用较低。相应地,将该客户端或客户端发出的预取请求的有效期设置或者校正得比较短。所述无效预取请求指的是在预取请求的有效期内,服务器未收到对所预取的数据的实际请求。服务器可以根据设置后的有效期判断所述预取请求是否失效。本领域技术人员可以理解,对于自身包含有效期的预取请求,保持其有效期不变也是一种“设置”的实施方式,即将该预取请求自身包含的有效期设置为该预取请求的有效期。
需要说明的是,在将预取请求放入预取请求存储区之前,服务器可以如上所述地检查和设置所述有效期,也可以仅仅设置所述有效期,而在后续从所述预取请求存储区中读取所述预取请求时检查相应的有效期。相对于仅在读取所述预取请求时检查有效期,在将预取请求放入存储区之前检查有效期可以避免失效的预取请求进入预取请求存储区,从而节约服务器的存储资源。
根据本发明的一个实施例,预取请求放入预取请求存储区后,就等待后续的处理。根据本发明的一个实施例,所述预取请求在第一次从预取请求存储区被读出时,可能得到执行。
根据本发明的另一个实施例,可以在将预取请求放入预取请求存储区时,就执行所述预取请求。执行所述预取请求的内容至少包括:从数据源中预取所述预取请求指定的数据,以及将该放入服务器预取数据存储模块中。可选地,在执行预取请求后,为该预取请求配置一个追踪触发器,以便跟踪被预取的数据在数据源中发生的变化。例如,所述追踪触发器可以在该预取请求后续被从预取请求存储区中读取时触发所述服务器追踪模块。这样能够增加预取请求得到执行的比例。
如果服务器收到实际请求,那么类似地可以将其放入实际请求存储区。
步骤502,根据所述预取请求的指示从数据源预取数据。
如前所述,可以将无法立即处理的预取请求放入预取请求存储区。请求管理模块按照一定的策略轮询所述预取请求存储区,并且读取一个本次轮询过程中尚未读取的预取请求进行处理。例如,可以在一定的周期到达时开始轮询,也可以循环地进行所述轮询。以下以一次轮询为例进行说明。此外,这里假设在将预取请求放入预取请求存储区时没有执行预取请求。
如前所述,请求管理模块维护两个请求存储区,分别用于存储预取请求和实际请求,并且优先处理实际请求。根据本发明的一个实施例,只有在实际请求存储区为空的情况下,才从所述预取请求存储区中读取预取请求。这样可以保证服务器对实际请求的处理,但同时有可能导致预取请求总是得不到执行。根据本发明的另一个实施例,为预取请求设置优先级,并且在某预取请求的优先级高于一优先级阈值时,即使实际请求存储区不为空也读取所述预取请求。可以根据收到预取请求后所经历的时间长度来设置所述优先级。例如,预取请求的优先级随其等待执行的时间变化的函数可以是增函数,即一个预取请求等待执行的时间越长,其优先级就越高;所述函数也可以是减函数,即一个预取请求等待执行的时间越长,其优先级就越低;所述函数也可以是先增后减的函数或者先减后增的函数,即一个预取请求等待执行的时间落入某个区间时其优先级最高或者最低。本领域技术人员容易地设计出各种函数形式来规定等待执行的时间与优先级之间的关系。
根据本发明的一个实施例,仅在所读取的预取请求步骤尚未失效的情况下才执行所述预取请求。根据本发明的另一个实施例,仅在所读取的预取请求尚未被执行并且尚未失效的情况下,执行所述预取请求。
虽然这里假设在将预取请求放入预取请求存储区时没有执行预取请求,但是一个预取请求还是有可能在上一次轮询中已经得到执行。根据本发明的一个实施例,可以为预取请求设置标识位来指示是否已经执行过。根据本发明的另一个实施例,如果在执行预取请求时为该预取请求配置了追踪触发器,则可以通过检查一个预取请求是否有对应的追踪触发器来进行判断。
对于一个已经失效的预取请求,请求管理模块进行清理操作。如果该预取请求尚未执行,则从所述预取请求存储区中删除该预取请求。如果该预取请求已经执行,例如在上一次轮询中或者在放入预取请求存储区时被执行,那么除了从所述预取请求存储区中删除该预取请求外,还进一步从所述服务器预取数据存储模块中删除所预取的数据,并且删除对应的触发器。对有效期的检查可以避免预取请求所指示的数据长时间驻留在服务器预取数据存储模块中。由于假设在将预取请求放入预取请求存储区时没有执行预取请求,因此对有效期的判断还可以避免执行失效预取请求所产生的负荷。
根据本发明的另一个实施例,可以在将预取请求放入预取请求存储区时为该预取请求设置失效触发器。该失效触发器用于自行判断该预取请求是否失效,并且在判断出该预取请求失效的情况下通知所述请求管理模块进行请求操作。
步骤503,在收到针对所预取的数据的实际请求时,将所预取的数据发送给客户端。
图6示出了根据本发明实施例的用于数据预取的装置方框图。
根据本发明实施例的用于由服务器进行数据预取的装置包括:
接收单元,配置为接收来自客户端的预取请求;
执行单元,配置为执行预取请求,以根据预取请求的指示从连接到所述服务器的数据源预取数据;以及
发送单元,配置为在收到针对所预取的数据的实际请求时,将所预取的数据发送给客户端。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
虽然以上结合具体实施例,对本发明的各个装置和方法进行了详细描述,但本发明并不限于此。本领域普通技术人员能够在说明书教导之下对本发明进行多种变换、替换和修改而不偏离本发明的精神和范围。应该理解,所有这样的变化、替换、修改仍然落入本发明的保护范围之内。本发明的保护范围由所附权利要求来限定。

Claims (22)

1.一种用于由服务器进行数据预取的方法,包括:
接收来自客户端的预取请求;
执行预取请求,以根据预取请求的指示从连接到所述服务器的数据源预取数据;以及
在收到针对所预取的数据的实际请求时,将所预取的数据发送给客户端。
2.如权利要求1所述的方法,进一步包括:
设置所述预取请求的有效期。
3.如权利要求2所述的方法,其中设置所述预取请求的有效期包括:
根据所述客户端的信用设置所述有效期。
4.如权利要求2所述的方法,其中接收来自客户端的预取请求进一步包括:
检查所述预取请求的有效期并且丢弃失效的预取请求。
5.如权利要求2或4所述的方法,其中执行预取请求包括:
检查所述预取请求的有效期并且仅执行尚未失效的预取请求;以及
丢弃失效的预取请求。
6.如权利要求1所述的方法,其中设置预取请求存储区,所述接收来自客户端的预取请求进一步包括:
将所述预取请求存储在该预取请求存储区中。
7.如权利要求6所述的方法,其中设置非预取请求存储区,所述执行预取请求包括:
从所述预取请求存储区中读取预取请求;以及
在所述非预取请求存储区为空的情况下,执行所读取的预取请求。
8.如权利要求7所述的方法,其中为所述预取请求设置优先级,所述执行预取请求进一步包括:
在所读取的预取请求的优先级高于优先级阈值的情况下执行所读取的预取请求。
9.如权利要求1所述的方法,其中执行预取请求进一步包括:
为所述预取请求设置追踪触发器,以跟踪被预取的数据在数据源中发生的变化。
10.一种用于预取数据的设备,包括
服务器通信模块,配置为从客户端接收预取请求,并且根据所述预取请求的指示从连接到该设备的数据源预取数据,以便在收到针对所预取的数据的实际请求时发送被预取的数据;和
服务器预取数据存储模块,配置为存储所述被预取的数据。
11.根据权利要求10所述的设备,进一步包括:
服务器追踪模块,配置为根据所述被预取的数据在数据源中的变化,更新服务器预取数据存储模块中的被预取数据。
12.根据权利要求11所述的设备,其中所述服务器追踪模块在该设备收到所述实际请求时检查所述被预取的数据在数据源中是否发生变化。
13.根据权利要求10所述的设备,进一步包括:
请求管理模块,配置为调度对预取请求和非预取请求的处理,从而优先处理非预取请求。
14.一种用于由服务器进行数据预取的装置,包括:
接收单元,配置为接收来自客户端的预取请求;
执行单元,配置为执行预取请求,以根据预取请求的指示从连接到所述服务器的数据源预取数据;以及
发送单元,配置为在收到针对所预取的数据的实际请求时,将所预取的数据发送给客户端。
15.如权利要求14所述的装置,进一步包括:
配置为设置所述预取请求的有效期的单元。
16.如权利要求15所述的装置,其中所述配置为设置所述预取请求的有效期的单元包括:
配置为根据所述客户端的信用设置所述有效期的单元。
17.如权利要求15所述的装置,其中接收单元进一步包括:
配置为检查所述预取请求的有效期并且丢弃失效的预取请求的单元。
18.如权利要求15或17所述的装置,其中执行单元包括:
配置为检查所述预取请求的有效期并且仅执行尚未失效的预取请求的单元;以及
配置为丢弃失效的预取请求的单元。
19.如权利要求14所述的装置,其中设置预取请求存储区,所述接收单元进一步包括:
配置为将所述预取请求存储在该预取请求存储区中的单元。
20.如权利要求19所述的装置,其中设置非预取请求存储区,所述执行单元包括:
配置为从所述预取请求存储区中读取预取请求的单元;以及
配置为在所述非预取请求存储区为空的情况下执行所读取的预取请求的单元。
21.如权利要求20所述的装置,其中为所述预取请求设置优先级,所述执行单元进一步包括:
配置为在所读取的预取请求的优先级高于优先级阈值的情况下执行所读取的预取请求的单元。
22.如权利要求14所述的装置,其中执行单元进一步包括:
配置为为所述预取请求设置追踪触发器以跟踪被预取的数据在数据源中发生的变化的单元。
CN201110183536.8A 2011-06-30 2011-06-30 预取数据的方法、设备和装置 Expired - Fee Related CN102857483B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201110183536.8A CN102857483B (zh) 2011-06-30 2011-06-30 预取数据的方法、设备和装置
US13/536,302 US8977681B2 (en) 2011-06-30 2012-06-28 Pre-fetching data
US14/590,723 US9350826B2 (en) 2011-06-30 2015-01-06 Pre-fetching data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110183536.8A CN102857483B (zh) 2011-06-30 2011-06-30 预取数据的方法、设备和装置

Publications (2)

Publication Number Publication Date
CN102857483A true CN102857483A (zh) 2013-01-02
CN102857483B CN102857483B (zh) 2016-06-29

Family

ID=47403681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110183536.8A Expired - Fee Related CN102857483B (zh) 2011-06-30 2011-06-30 预取数据的方法、设备和装置

Country Status (2)

Country Link
US (2) US8977681B2 (zh)
CN (1) CN102857483B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107209729A (zh) * 2015-02-27 2017-09-26 三菱电机株式会社 用户接口执行装置以及用户接口设计装置
CN107273098A (zh) * 2017-05-03 2017-10-20 北京中科睿芯科技有限公司 一种优化数据流架构数据传输延迟的方法及其系统
WO2022179294A1 (zh) * 2021-02-27 2022-09-01 华为技术有限公司 数据预取的方法、设备及系统
CN116955223A (zh) * 2023-09-18 2023-10-27 浪潮电子信息产业股份有限公司 一种数据预取方法、系统、电子设备及计算机存储介质

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857483B (zh) 2011-06-30 2016-06-29 国际商业机器公司 预取数据的方法、设备和装置
US9582603B1 (en) 2012-02-27 2017-02-28 Amazon Technologies, Inc. Managing preloading of data on client systems
US10841352B2 (en) * 2012-11-27 2020-11-17 International Business Machines Corporation Non-chronological buffering of segments of a media file
US9063861B1 (en) * 2012-12-27 2015-06-23 Emc Corporation Host based hints
US10120350B2 (en) * 2013-03-11 2018-11-06 Fisher-Rosemount Systems, Inc. Background collection of diagnostic data from field instrumentation devices
US9357021B2 (en) * 2013-03-14 2016-05-31 Comcast Cable Communications, Llc Delivery of content
US9906590B2 (en) * 2015-08-20 2018-02-27 Verizon Digital Media Services Inc. Intelligent predictive stream caching
US10375197B2 (en) * 2015-12-11 2019-08-06 Riverbed Technology, Inc. Dynamic key generation for identifying data segments
JP2017174038A (ja) * 2016-03-23 2017-09-28 富士通株式会社 情報処理システム、情報処理方法およびプログラム
US10785286B2 (en) 2016-05-05 2020-09-22 International Business Machines Corporation Proactive content push for enhancing real-time service delivery via cloud
US10176120B2 (en) 2017-02-22 2019-01-08 International Business Machines Corporation Cache prefetching in offloaded data transfer (ODX)
US10431002B2 (en) * 2017-02-23 2019-10-01 International Business Machines Corporation Displaying data lineage using three dimensional virtual reality model
CN114020482A (zh) * 2017-06-02 2022-02-08 伊姆西Ip控股有限责任公司 数据写入的方法和设备
WO2020218929A1 (en) * 2019-04-26 2020-10-29 Motorola Solutions, Inc System and method for management of commercial virtual assistant services
CN111241398B (zh) * 2020-01-10 2023-07-25 百度在线网络技术(北京)有限公司 数据预取方法、装置、电子设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262248A1 (en) * 2004-05-18 2005-11-24 Jennings Raymond B Iii Method and apparatus for DNS pre-fetching for multiple clients
US20080301300A1 (en) * 2007-06-01 2008-12-04 Microsoft Corporation Predictive asynchronous web pre-fetch
US20090182941A1 (en) * 2008-01-15 2009-07-16 Mladen Turk Web Server Cache Pre-Fetching

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10504919A (ja) * 1994-06-30 1998-05-12 インテル コーポレイシヨン スクリプト・ベースのマルチメディア・システム用のデータ先取り
US5983324A (en) * 1996-03-28 1999-11-09 Hitachi, Ltd. Data prefetch control method for main storage cache for protecting prefetched data from replacement before utilization thereof
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US6484239B1 (en) * 1997-12-29 2002-11-19 Intel Corporation Prefetch queue
US6012052A (en) * 1998-01-15 2000-01-04 Microsoft Corporation Methods and apparatus for building resource transition probability models for use in pre-fetching resources, editing resource link topology, building resource link topology templates, and collaborative filtering
US6959318B1 (en) * 1998-03-06 2005-10-25 Intel Corporation Method of proxy-assisted predictive pre-fetching with transcoding
US7243136B2 (en) * 2000-01-18 2007-07-10 Inktomi Corporation Approach for managing and providing content to users
US6701316B1 (en) * 2000-04-07 2004-03-02 Nec Corporation Method and apparatus for intelligent network bandwidth and system resource utilization for web content fetch and refresh
US6917960B1 (en) * 2000-05-05 2005-07-12 Jibe Networks Intelligent content precaching
US8903950B2 (en) * 2000-05-05 2014-12-02 Citrix Systems, Inc. Personalized content delivery using peer-to-peer precaching
US20050055426A1 (en) * 2000-06-12 2005-03-10 Kim Smith System, method and computer program product that pre-caches content to provide timely information to a user
US6907422B1 (en) 2001-12-18 2005-06-14 Siebel Systems, Inc. Method and system for access and display of data from large data sets
US7716199B2 (en) 2005-08-10 2010-05-11 Google Inc. Aggregating context data for programmable search engines
US7953820B2 (en) * 2002-09-11 2011-05-31 Hughes Network Systems, Llc Method and system for providing enhanced performance of web browsing
US6993630B1 (en) * 2002-09-26 2006-01-31 Unisys Corporation Data pre-fetch system and method for a cache memory
US7302425B1 (en) * 2003-06-09 2007-11-27 Microsoft Corporation Distributed pre-cached query results and refresh method
US20070067698A1 (en) * 2005-09-19 2007-03-22 King Steven R Techniques to perform prefetching of content in connection with integrity validation value determination
KR100795929B1 (ko) 2005-09-29 2008-01-21 엔에이치엔(주) 데이터베이스로의 쿼리 전송 방법 및 쿼리 전송 시스템
US7490110B2 (en) 2006-03-24 2009-02-10 International Business Machines Corporation Predictable query execution through early materialization
CN1845104B (zh) 2006-05-22 2012-04-25 赵开灏 信息智能检索加工的系统和方法
US7634479B2 (en) * 2006-12-29 2009-12-15 Trend Micro Incorporated Pre-populating local URL rating cache
US7941609B2 (en) * 2007-02-23 2011-05-10 Microsoft Corporation HTTP acceleration by prediction and pre-fetching
US7640420B2 (en) * 2007-04-02 2009-12-29 Intel Corporation Pre-fetch apparatus
JP5147296B2 (ja) * 2007-05-31 2013-02-20 株式会社日立製作所 計算機システム、データベース管理方法及びプログラム
KR100894501B1 (ko) 2007-08-10 2009-04-22 고려대학교 산학협력단 위치 기반 서비스에서의 서술 기반의 세만틱 프리페칭을이용한 동적인 질의 처리 시스템
US7941538B2 (en) * 2008-06-12 2011-05-10 International Business Machines Corporation Dynamic management of resource utilization
US7975025B1 (en) * 2008-07-08 2011-07-05 F5 Networks, Inc. Smart prefetching of data over a network
US20130103785A1 (en) * 2009-06-25 2013-04-25 3Crowd Technologies, Inc. Redirecting content requests
US8539161B2 (en) * 2009-10-12 2013-09-17 Microsoft Corporation Pre-fetching content items based on social distance
US20110131341A1 (en) * 2009-11-30 2011-06-02 Microsoft Corporation Selective content pre-caching
US8312181B1 (en) * 2009-12-11 2012-11-13 Netapp, Inc. Initiation of read-ahead requests
WO2012012334A2 (en) * 2010-07-19 2012-01-26 Movik Networks Content pre-fetching and cdn assist methods in a wireless mobile network
US9275162B2 (en) * 2011-03-22 2016-03-01 Blackberry Limited Pre-caching web content for a mobile device
CN102857483B (zh) 2011-06-30 2016-06-29 国际商业机器公司 预取数据的方法、设备和装置
US8880652B2 (en) * 2011-09-14 2014-11-04 Hewlett-Packard Development Company, L.P. Heuristic browser predictive pre-caching

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262248A1 (en) * 2004-05-18 2005-11-24 Jennings Raymond B Iii Method and apparatus for DNS pre-fetching for multiple clients
US20080301300A1 (en) * 2007-06-01 2008-12-04 Microsoft Corporation Predictive asynchronous web pre-fetch
US20090182941A1 (en) * 2008-01-15 2009-07-16 Mladen Turk Web Server Cache Pre-Fetching

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107209729A (zh) * 2015-02-27 2017-09-26 三菱电机株式会社 用户接口执行装置以及用户接口设计装置
CN107209729B (zh) * 2015-02-27 2020-07-31 三菱电机株式会社 用户接口执行装置以及用户接口设计装置
CN107273098A (zh) * 2017-05-03 2017-10-20 北京中科睿芯科技有限公司 一种优化数据流架构数据传输延迟的方法及其系统
CN107273098B (zh) * 2017-05-03 2020-07-31 北京中科睿芯科技有限公司 一种优化数据流架构数据传输延迟的方法及其系统
WO2022179294A1 (zh) * 2021-02-27 2022-09-01 华为技术有限公司 数据预取的方法、设备及系统
CN116955223A (zh) * 2023-09-18 2023-10-27 浪潮电子信息产业股份有限公司 一种数据预取方法、系统、电子设备及计算机存储介质
CN116955223B (zh) * 2023-09-18 2024-01-23 浪潮电子信息产业股份有限公司 一种数据预取方法、系统、电子设备及计算机存储介质

Also Published As

Publication number Publication date
CN102857483B (zh) 2016-06-29
US9350826B2 (en) 2016-05-24
US8977681B2 (en) 2015-03-10
US20130041937A1 (en) 2013-02-14
US20150142928A1 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
CN102857483A (zh) 预取数据的方法、设备和装置
US9773011B2 (en) On-demand caching in a WAN separated distributed file system or clustered file system cache
KR102294326B1 (ko) 연결 해제의 기간을 위한 애플리케이션 데이터의 프리페치
US9374407B2 (en) Mobile device application streaming
EP3008592B1 (en) Pre-fetching content for service-connected applications
US20190166203A1 (en) Coordinated applications within a mobile device infrastructure
EP2336882A1 (en) Technique for run-time provision of executable code using off-device services
US8880634B2 (en) Cache sharing among branch proxy servers via a master proxy server at a data center
US8381098B2 (en) Webpage request handling
WO2017024085A1 (en) Method and apparatus for facilitating a software update process over a network
CN111510466B (zh) 客户端的数据更新方法、装置、电子设备及可读介质
WO2014106431A1 (en) Method and system for data migration
CN110442402A (zh) 数据处理方法、装置、设备及存储介质
Liu et al. SWAROVsky: Optimizing resource loading for mobile web browsing
CN109639813B (zh) 视频文件传输处理方法及装置、电子设备和存储介质
CN115883647A (zh) 业务日志记录方法、系统、装置、终端、服务器及介质
US8527580B2 (en) Saving multiple data items using partial-order planning
CN109840156B (zh) 一种数据缓存方法及其设备、存储介质、终端
US10516750B2 (en) Display control method, display control device, and recording medium
CN109918209B (zh) 一种线程间通信的方法和设备
CN117827529A (zh) 数据读取方法、装置、设备及可读存储介质
CN116627530A (zh) 页面链接跳转方法、装置、电子设备和计算机可读介质
CN114579265A (zh) 一种任务查询的方法、装置及存储介质
CN114461656A (zh) 事件处理方法及装置
CN114186845A (zh) 定时执行指标计算任务的方法和装置

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160629

CF01 Termination of patent right due to non-payment of annual fee