CN103116472B - 动态变更数据高速缓存中ttl值的方法、系统及装置 - Google Patents

动态变更数据高速缓存中ttl值的方法、系统及装置 Download PDF

Info

Publication number
CN103116472B
CN103116472B CN201210349082.1A CN201210349082A CN103116472B CN 103116472 B CN103116472 B CN 103116472B CN 201210349082 A CN201210349082 A CN 201210349082A CN 103116472 B CN103116472 B CN 103116472B
Authority
CN
China
Prior art keywords
data
instruction
tolerance
strategy
cost
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
CN201210349082.1A
Other languages
English (en)
Other versions
CN103116472A (zh
Inventor
S·S·安塔尼
K·S·伯加尔
N·高尔
C·D·约汉逊
T·E·卡普林格
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
Publication of CN103116472A publication Critical patent/CN103116472A/zh
Application granted granted Critical
Publication of CN103116472B publication Critical patent/CN103116472B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/465Structured object, e.g. database record

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及动态变更数据高速缓冲存储器中的存活时间值。动态调整保存在数据网格中的内存中的数据对象的TTL值。设定过期数据容许策略。较低的过期容限意味逐出是必然的,与成本无关,而较高的容限意味理应根据总成本设定TTL。计算报告重新创建和重新保存数据对象的成本的度量,以及然后根据计算的度量,调整TTL值。在总成本中,可以考虑另外的因素,比如从存储地逐出数据的清除时间。

Description

动态变更数据高速缓存中TTL值的方法、系统及装置
技术领域
本发明涉及数据存储,更具体地,涉及响应成本因素,变更数据高速缓冲存储器中的存活时间(TTL)值。
背景技术
高速缓冲存储器是一种透明地保存数据以致能够更快地服务于未来对该数据的请求的内存存储组件。保存的数据可以是先前计算的值,或者保存在别处的值的副本。由于高速缓冲存储器的大小较小,因此一般存在比可用的内存存储量更多的数据。从而,数据高速缓冲存储器通常实现诸如存活时间(TTL)、最近最少使用(LRU)或者最不常用(LFU)之类的逐出策略,每种逐出策略通常根据客户端对过期数据的容限和高速缓冲存储器中的可用空间的数量来定义固定值。逐出策略不考虑一旦数据已被逐出,如果请求该数据,那么重新创建该数据的代价。时常理想的是通过配置处理,在预期的或者实际的更高流量期间,临时增大高速缓冲存储器的大小,从而增大逐出策略窗口。
还存在在高速缓冲存储器中重新创建数据的成本超过读出过期数据的成本的使用情况。例如,如果数据库是不能到达的,或者到数据库的连接已饱和,那么与使用户无限期地等待或者遭受连接超时(这会把数据库问题传递到前端系统)相比,使逐出策略被临时禁用或者增大会更加有益。
发明内容
按照本发明的一个实施例,动态调整保存在数据网格中的内存中的数据对象的TTL值。设定过期数据容许策略。计算报告重新创建和重新保存该数据对象的成本的度量,以及根据计算的度量,调整TTL 值。
按照本发明的一个实施例,计算机系统动态调整保存在数据网格中的内存中的数据对象的TTL值。计算机系统包括处理器,和连接到所述处理器的存储器。存储器被用指令编码,当被执行时,所述指令包含用于设定过期数据容许策略的指令。所述指令还包含用于计算报告重新创建和重新保存该数据对象的成本的度量,以及根据所述度量,调整TTL值的指令。
按照本发明的一个实施例,计算机程序产品动态调整保存在数据网格中的内存中的数据对象的TTL值。计算机程序产品包括具有计算机可读程序代码的计算机可读存储介质。所述计算机可读程序代码包含配置成设定过期数据容许策略的计算机可读程序代码。所述计算机可读程序代码还被配置成计算报告重新创建和重新保存该数据对象的成本的度量,以及根据所述度量,调整TTL值。
附图说明
图1是其中可以实现本发明的实施例的计算机硬件的图解说明;
图2是现有技术中已知的内存数据存储系统;
图3是按照本发明的一个实施例的流程图;和
图4图解说明按照本发明的一个实施例的内存数据存储系统的变化的提取时间和复制。
具体实施方式
本领域的技术人员会理解,本发明的各个方面可被具体体现成系统、方法或计算机程序产品。因而,本发明的各个方面可以采取纯硬件实施例,纯软件实施例(包括固件、驻留软件、微代码等),或者结合这里通常可都被称为“电路”、“模块”或“系统”的软件方面和硬件方面的实施例的形式。此外,本发明的各个方面可以采取包含在一个或多个计算机可读介质中的计算机程序产品的形式,所述一个或多个计算机可读介质具有包含于其中的计算机可读程序代码。
可以利用一个或多个计算机可读介质(存储器或装置)的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电、磁、光、电磁、红外或半导体系统、设备或装置,或者它们的任意适当组合。计算机可读存储介质的更具体例子(非穷举列表)可包括:具有一条或多条导线的电连接、可移植计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪速存储器)、光纤、可移植光盘只读存储器(CD-ROM)、光存储装置、磁存储装置,或者它们的任意适当组合。在本文的上下文中,计算机可读存储介质可以是能够包含或保存供指令执行系统、设备或装置使用的,或者结合指令执行系统、设备或装置使用的程序的任何有形介质。
计算机可读信号介质可包括计算机可读程序代码包含在其中,例如,包含在基带中,或者体现为载波的一部分的传播数据信号。这种传播信号可以采取任意各种形式,包括但不限于电磁、光,或者它们的任意适当组合。计算机可读信号介质可以是不是计算机可读存储介质,但能够传递、传播或传送供指令执行系统、设备或装置使用的,或者结合指令执行系统、设备或装置使用的程序的任何计算机可读介质。
包含在计算机可读介质上的程序代码可利用任何适当的介质传送,包括但不限于无线、有线、光缆、RF等,或者它们的任何适当组合。
可用一种或多种编程语言,包括诸如Java、Smalltalk、C++之类的面向对象编程语言,和诸如“C”编程语言或类似编程语言之类的常规过程编程语言的任意组合,编写执行本发明的各个方面的操作的计算机程序代码。程序代码可完全在用户的计算机上运行,部分在用户的计算机上运行,作为独立的软件包,部分在用户的计算机上运行并且部分在远程计算机上运行,或者完全在远程计算机或服务器上运行。在后一情况下,远程计算机可通过任意类型的网络,包括局域网(LAN)或广域网(WAN),连接到用户的计算机,或者可实现与外部计算机的 连接(例如,利用因特网服务提供商,经因特网实现与外部计算机的连接)。
下面参考按照本发明的各个实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图,说明本发明的各个方面。要明白流程图和/或方框图的每个方框,以及流程图和/或方框图中的各个方框的组合可用计算机程序指令实现。这些计算机程序指令可被提供给通用计算机,专用计算机或者其它可编程数据处理设备的处理器,从而产生机器,以致借助计算机或其它可编程数据处理设备的处理器运行的指令产生实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。
这些计算机程序指令也可被保存在计算机可读介质中,所述计算机可读介质能够指令计算机、其它可编程数据处理设备或者其它装置按特定方式运行,以致保存在计算机可读介质中的指令产生制成品,所述制成品包括实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的指令。
计算机程序指令也可被加载到计算机,其它可编程数据处理设备或其它装置上,使得在计算机、其它可编程设备或其它装置上执行一系列的操作步骤,从而产生计算机实现的处理,以致在计算机或其它可编程设备上执行的指令提供实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的处理。
附图中的流程图和方框图图解说明按照本发明的各个实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这方面,流程图或方框图中的每个方框可代表包含实现指定逻辑功能的一个或多个可执行指令的模块、程序段或一部分代码。另外应注意,在一些备选实现中,在方框中表示的功能可不按照附图中所示的顺序发生。例如,接连表示的两个方框事实上可以基本同时地执行,或者各个方框有时可按照相反的顺序执行,取决于所涉及的功能。另外要注意方框图和/或流程图的每个方框,以及方框图和/或流程图中的各个方框的组合可用实现指定功能或动作的基于专用硬件的系统, 或者专用硬件和计算机指令的组合实现。
这里使用的术语只是用于说明具体的实施例,并不意图限制本发明。这里使用的单数形式意图还包括复数形式,除非上下文明确地另有所示。另外要明白当用在本说明书中时,术语“包含”指定所陈述的特征、整数、步骤、操作、部件和/或组件的存在,不过并不排除一个或多个其它特征、整数、步骤、操作、部件、组件和/或它们的组合的存在或增加。
这里使用的术语只是用于说明具体的实施例,并不意图限制本发明。这里使用的单数形式意图还包括复数形式,除非上下文明确地另有所示。另外要明白当用在本说明书中时,术语“包含”指定所陈述的特征、整数、步骤、操作、部件和/或组件的存在,不过并不排除一个或多个其它特征、整数、步骤、操作、部件、组件和/或它们的组合的存在或增加。
图1是适合于执行动态变更数据高速缓冲存储器中的存活时间值的计算机软件的计算机系统10的一个例子。适合于执行所述软件的其它处理装置可以是无线电话机、个人数字助手(PDA)、便携式计算机、智能遥控器、或者能够执行所述软件的任何其它处理装置。
计算机系统10是按照安装在计算机系统10上的适当操作系统运行的一种计算机系统。计算机系统10的组件包括计算机12、键盘22、鼠标24和视频显示器20。计算机12包括处理器26、存储器28、输入/输出(I/O)接口30和32、视频接口34,和存储装置36。
处理器26是执行操作系统和按照操作系统运行的计算机软件的中央处理器(CPU)。存储器28包括随机存取存储器(RAM)和只读存储器(ROM),是按照处理器26的指令使用的。
视频接口34连接到视频显示器20,并提供视频信号,以便显示在视频显示器20上。操作计算机12的用户输入是从键盘22和鼠标24提供的。存储装置36可包括磁盘驱动器或者任何其它适当的存储介质,如上所述。计算机12的每个组件连接到内部总线40,内部总线40包括数据总线、地址总线和控制总线,从而使计算机12的组件 可通过总线40相互通信。计算机系统10可利用到网络(表示成因特网18)的通信通道38,通过输入/输出(I/O)接口32连接到一个或多个其它的类似计算机。一个或多个服务器19可通过诸如因特网18之类的网络,连接到计算机12。服务器19可包括和计算机12相同的物理布置,可以和计算机12共处一地,或者可以是计算机12的一部分。
计算机软件可以被记录在计算机可读存储介质上,在这种情况下,计算机系统10从存储装置36访问计算机软件程序。另一方面,计算机12可以直接从因特网18访问计算机软件。在任何一种情况下,用户都能够利用键盘22和鼠标24操作在计算机12上运行的编程计算机软件,与计算机系统10交互作用。
现在参见图2,图中图解说明按照现有技术的客户端-服务器环境200。多个客户端202互连到主机系统204。主机系统204可包括在多个主服务器208、210和212上的多个应用服务器206。
每个应用服务器206具备高速缓冲存储器214。每个应用服务器206本身可以是客户端,可以连接到一组互连的Java虚拟机(JVM),所述一组互连的Java虚拟机(JVM)共同构成数据网格216(JVM提供保存对象的地址空间(勉强可称为容器),从而参与数据网格的内存数据网格(IMDG)的用途是提供保存java对象的容器)。应用服务器206类似客户端地连接到网格216,并寻求存在于网格216中的数据对象。对于网格216中的这些数据对象,保持一个计时器(称为存活时间或者TTL)。保持所述计时器,以防止数据对象搁置不用,永远占用空间(即使不被需要),从而消耗有限的内存存储资源。如果数据对象被频繁请求,或者取回数据的成本加上复制/拷贝数据的成本较高(这意味过多的资源消耗),那么成本较低的是增大TTL,从而应用能够继续访问网格216中的数据对象。
主机数据库218为应用服务器206使用的数据提供持久存储。本领域中已知,高速缓冲存储器214,从而,数据网格216被用于保存有益于应用服务器206的计算效率的数据,即,与数据库218中的数据相比,保存在高速缓冲存储器214中的数据被更快地访问。影子数 据库220用作数据库218的备份(数据库218的副本),和用于获得管理功能,比如报告的数据。
每次对象被更新/逐出/无效时,对象的任何同步或异步副本受到影响,从而必须径直到达后端数据库(218),以提取该数据,进行关于该数据的任何计算,和产生副本(以合存储在数据网格216中的多个高速缓冲存储器214中,和存储在备份数据库220中),这增大了网格216的运行的性能成本。企业可决定在数据网格内或者跨越数据网格需要多少同步和异步副本,以确保较高的可用性和数据网格一致性。不过,标准的IMDG实现仅仅根据从后端数据库提取数据所用的时间,设定TTL,而不考虑在数据网格或备份/影子数据库内创建副本的附加成本。从而,TTL是企业定义的网格中的对象的寿命,它可包括从单个后端数据库提取数据所用的时间。
本发明的实施例并不仅仅使用从后端数据库的提取时间,而且还包括复制或产生副本和进行清除的成本。成本的变化程度(例如,同步复制或拷贝比异步复制/拷贝更昂贵),和没有任何可用副本的成本并不仅仅是从数据库提取数据的成本。动态地增大高速缓冲存储器中的对象的TTL(或者降低TTL或使TTL保持不变)的决策以在网格中重新填充该数据的总成本为基础。
这里,总成本被定义成从后端数据库提取数据的成本,加上异步/同步复制的成本,再加上清除成本(数据逐出的时间(DEv)+除去复制物的时间(DRr)(Async或Sync))。如果在网格中再水合或者重新填充数据的总成本为确定值(按策略,参见表1,即,如果数据取回时间为X,那么把TTL增大到Y),那么将调整TTL,以使查寻或提取和高速缓冲存储器填充的整个过程更高效,和使计算高效。为了确保数据网格操作的效率,当网格水合的成本是计算密集的时候,本发明的一个实施例动态增大TTL。定义的过期数据容许策略驱动TTL的动态变化的行为。
图3图解说明本发明的流程的一个例子。诸如在应用服务器206上运行的一个应用程序之类的应用使用数据网格(216,图2)作为副高 速缓冲存储器来保存呈现的来自几种不同服务(数据库、web服务、CICS等)的门户件。门户件是利用“generatePage()”方法生成的,并被保存在名为“genPagesCache”的分布式地图中。参见图3,在方框300,客户设定过期数据容许策略,并使之与“genPagesCache”图相联系。例如,设定如表1中所示的策略:
  数据取回时间,单位毫秒(ms)  TTL过期数据容许策略
  小于500毫秒  30秒
  >500ms<5000ms  300秒
  >5000ms  永远
表1
在方框302,插装报告重新创建数据元素的成本的度量。例如,插装客户的“generatePage()”方法,以报告生成门户件页面,并将其保存在高速缓冲存储器中(数据元素)所需的时间。这可利用面向方面的编程(AOP)或者其它常见的插装方法来实现。
在方框304,例如利用监测代理,监测数据创建时间统计量(插装的度量)。根据可用的度量、管理输入、过期数据容许策略,动态调整用于数据逐出的TTL超时(一些常见的逐出工具是最近最少使用(LRU)值或最不常用(LFU)值),视情况提供额外的服务器,以处理由于保留在高速缓冲存储器中的数据的任何数量增大而引起的潜在数据膨胀。类似地,如果归因于利用插装的度量确定的重新创建的较低成本,保留数量减少的数据,那么可以提供更少的服务器/高速缓冲存储器内存存储空间。
本发明的一个实施例是为了防止逐出重建成本较高,并且会导致高速缓冲存储器或网格性能进一步恶化的高速缓存条目而进行的预测分析。这在IMDG中是非常重要的,因为诸如逐出和复制之类的网格操作会是网格不稳定性的主要原因。
在本发明的一个实施例中,Cr是把数据从数据库取回到分布式高速缓冲存储器网格的总值或者总成本。高速缓冲存储器监测系统将监测从数据源的周期性数据取回时间(Rt)。如果存在多个数据源/数据库 (对复合对象来说),那么采用所有数据取回时间的总和的平均值(dRt)。周期性复制时间基于复制策略(SRp),例如同步和/或异步(AsRp)。于是,利用以下公式确定数据取回成本:
Cr=(Rt或dRt)+SRp*+AsRp*
(*如果没有定义复制策略(同步或异步),那么SRp(和/或)AsRp的值=1,从而复制的成本不为0。)
要考虑的另一个因素是清除成本。清除成本(Cc)是从存储地逐出数据的时间(DEv)和除去任何复制物的时间(DRr):
Cc=DEv+DRr
于是总成本为:
Ct=Cr+Cc
初始TTLi值或者是利用配置设定的(静态的),或者是通过根据网格预热时间,例如总的高速缓冲存储器加载时间(Tc)的40%,延续在网格中创建的一定百分比的对象的周期性数据取回时间的平均值设定的。从而,初始TTLi变成:
TTLi=Cr×(Tc)×(40/100)
设定高速缓存条目过期容限(无/较高)(参见表1)。较低的过期容限意味逐出是必然的,与成本无关,而较高的容限意味应根据Cr、TTL和过期容限的值设定TTL。
如果总成本(Ct)达到阈值,例如超过初始值20%,那么改变(增大)TTL值,因为这指示高速缓冲存储器性能恶化(归因于高速缓存条目重建和复制因素)。
按照本发明的实施例的高速缓冲存储器监测系统能够持续对接近逐出的所有高速缓存条目进行这种计算。通过确保在网格中存在数据/对象的冗余副本,IMDG确保高可用性。从而,如果JVM/进程失败,那么可以获得数据/对象的次要副本。这是利用复制的策略驱动方法和本发明强制执行的。
参见图4,图中图解说明了本发明的一个实施例。IMDG客户端400向多个JVM/高速缓冲存储器/数据网格/内存存储器402、404、406 和408中增加数据或者使数据失效。每个高速缓冲存储器402-408包含用于识别具有存活时间TTL值的对象值V的关键字值(K)。对举例说明来说,对象值V是从数据库410和数据库412获得的复合对象。
从Db 410(库1)获得高速缓冲存储器402的复合对象值V的第一部分(例如,用户的姓名和账户余额)所需的时间用箭头414描述,例如是例如500ms。从db 412(库2)获得高速缓冲存储器402的复合对象值V的第二部分(例如,用户的姓名和账户余额)所需的时间用箭头416描述,例如可以是700ms。提取成本dRt现在为500ms+700ms=1200ms。
在获得该复合值V之后,取决于业务策略,必须产生副本。例如,企业需要在高速缓冲存储器404中的一个创建需时40ms(SRp)的同步复制物。另外,企业需要分别需时20ms(AsRp)的两个异步复制物,一个在高速缓冲存储器406中,一个在高速缓冲存储器408中,从而使数据取回成本(Cr=dRt+SRp+AsRp)等于1280ms。从而,如果能够简单地增大数据对象V的TTL,那么能够节省1280ms。如果存在一百万个这样的对象,那么能够节约计算能力。尽管例子中未示出,不过清除成本会使所述节约变得更大。
通过增加了根据把当前复制策略计算在内的过期策略来动态调整TTL,以确保对象驻留在网格中持续计算的时段,从而确保网格性能最佳,本发明带来优于现有技术的优点。
下面的权利要求中的所有要素的对应结构、材料、动作和等同物意图包括与明确要求保护的其它要素结合地实现功能的任意结构、材料或动作。提供本发明的说明是出于举例说明的目的,而不是穷举的,或者意图把本发明局限于所公开的形式。对本领域的普通技术人员来说,许多修改和变化是显而易见的,而不脱离本发明的精神和范围。选择并说明实施例是为了更好地解释本发明的原理和实际应用,以及使本领域的其他普通技术人员能够关于具有适合于预期的特定应用的各种修改的各个实施例,理解本发明。
在参考本发明的实施例,详细说明了本申请的发明的情况下,显 然各种修改和变化都是可能的,而不脱离在附加权利要求中限定的本发明的范围。

Claims (6)

1.一种用于动态调整保存在数据网格中的内存中的数据对象的TTL值的方法,包括:
设定过期数据容许策略;
利用处理器计算报告重新创建和重新保存所述数据对象的成本的度量;和
根据所述度量,调整TTL值,其中所述调整TTL值还包括利用管理输入和计入过期数据策略;
提供额外的内存存储器,以便处理当数据的重建成本高于策略值时,在逐出之前持续较长的时段保存所述数据而引起的潜在数据膨胀;
提供较少的内存存储器,以便受益于当数据的重建成本低于策略值时,在逐出之前持续较短的时段保存所述数据而引起的潜在数据收缩。
2.按照权利要求1所述的方法,其中计算度量包含利用面向方面的编程插装来检查度量。
3.一种用于动态调整保存在数据网格中的内存中的数据对象的TTL值的计算机系统,包括:
处理器;和
连接到所述处理器的存储器,其中所述存储器被用指令编码,以及其中当被执行时,所述指令包含:
用于设定过期数据容许策略的指令;
用于计算报告重新创建和重新保存所述数据对象的成本的度量的指令;和
用于根据所述度量,调整TTL值的指令,其中所述用于调整TTL值的指令还包括利用管理输入的指令和计入过期数据策略的指令;
用于提供额外的内存存储器,以便处理当数据的重建成本高于策略值时,在逐出之前持续较长的时段在内存中保存所述数据而引起的数据膨胀的指令;
用于提供较少的内存存储器,以便受益于当数据的重建成本低于策略值时,在逐出之前持续较短的时段在内存中保存所述数据而引起的数据收缩的指令。
4.按照权利要求3所述的系统,其中所述用于计算度量的指令包含利用面向方面的编程插装来检查度量的指令。
5.一种用于动态调整保存在数据网格中的内存中的数据对象的TTL值的装置,所述装置包括:
用于设定过期数据容许策略的模块;
用于计算报告重新创建和重新保存所述数据对象的成本的度量的模块;和
用于根据所述度量,调整TTL值的模块,其中该用于根据所述度量,调整TTL值的模块还包括用于利用管理输入的子模块和用于计入过期数据策略的子模块;
用于提供额外的内存存储器,以便处理当数据的重建成本高于策略值时,在逐出之前持续较长的时段保存所述数据而引起的潜在数据膨胀的子模块;
用于提供较少的内存存储器,以便受益于当数据的重建成本低于策略值时,在逐出之前持续较短的时段保存所述数据而引起的潜在数据收缩的子模块。
6.按照权利要求5所述的装置,其中用于计算度量的模块包含用于利用面向方面的编程插装来检查度量的子模块。
CN201210349082.1A 2011-09-19 2012-09-19 动态变更数据高速缓存中ttl值的方法、系统及装置 Active CN103116472B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/235,633 2011-09-19
US13/235,633 US8918602B2 (en) 2011-09-19 2011-09-19 Dynamically altering time to live values in a data cache

Publications (2)

Publication Number Publication Date
CN103116472A CN103116472A (zh) 2013-05-22
CN103116472B true CN103116472B (zh) 2015-09-30

Family

ID=47751513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210349082.1A Active CN103116472B (zh) 2011-09-19 2012-09-19 动态变更数据高速缓存中ttl值的方法、系统及装置

Country Status (3)

Country Link
US (1) US8918602B2 (zh)
CN (1) CN103116472B (zh)
DE (1) DE102012215665B4 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8543554B1 (en) 2010-08-10 2013-09-24 ScalArc Inc. Method and system for transparent database query caching
US9250869B1 (en) * 2012-03-30 2016-02-02 Emc Corporation Synchronous business process execution engine for action orchestration in a single execution transaction context
US20150019547A1 (en) * 2012-04-20 2015-01-15 Krishnamurthy Thalapathy Unified user profiles
US9548912B2 (en) 2012-10-15 2017-01-17 Oracle International Corporation System and method for supporting smart buffer management in a distributed data grid
US9348752B1 (en) * 2012-12-19 2016-05-24 Amazon Technologies, Inc. Cached data replication for cache recovery
US10216631B1 (en) * 2013-09-05 2019-02-26 United Services Automobile Association (Usaa) Revising cache expiration
CN103631726B (zh) * 2013-11-28 2017-01-25 北京锐安科技有限公司 一种串接流式计算节点的文件处理方法及装置
US9342542B2 (en) * 2014-01-08 2016-05-17 International Business Machines Corporation Analytics driven in-memory data grid (IMDG) hydration
JP2016048498A (ja) * 2014-08-28 2016-04-07 富士通株式会社 キャッシュ制御装置およびキャッシュ制御方法
CN105446909A (zh) 2014-08-29 2016-03-30 国际商业机器公司 用于缓存管理的方法和系统
US10044629B1 (en) * 2014-09-22 2018-08-07 Amazon Technologies, Inc. Dynamic TTL based on endpoint health checking
KR102295664B1 (ko) * 2014-10-21 2021-08-27 삼성에스디에스 주식회사 글로벌 서버 로드 밸런서 장치 및 상기 장치에서의 동적 캐쉬 유효 기간 제어 방법
US9819763B2 (en) 2015-08-07 2017-11-14 Fortinet, Inc. Cache management based on factors relating to replacement cost of data
US9731188B2 (en) * 2016-11-28 2017-08-15 Ching-Ho Yeh Adjustable roller skate
CN108255892B (zh) * 2016-12-29 2021-11-30 北京国双科技有限公司 Cookie生命周期的计算方法及装置
US10515013B2 (en) 2017-11-15 2019-12-24 Salesforce.Com, Inc. Techniques for handling requests for data at a cache
US11088925B2 (en) * 2017-12-04 2021-08-10 Salesforce.Com, Inc. Technologies for capacity remediation in multi-tenant cloud environments
CN108196792B (zh) * 2017-12-29 2021-06-01 北京奇虎科技有限公司 清除过期数据的方法及装置
US10440142B2 (en) * 2018-03-06 2019-10-08 Akamai Technologies, Inc. Automated TTL adjustment using cache performance and purge data
US10942867B2 (en) * 2018-07-11 2021-03-09 EMC IP Holding Company LLC Client-side caching for deduplication data protection and storage systems
US10846227B2 (en) * 2018-12-21 2020-11-24 Paypal, Inc. Controlling cache size and priority using machine learning techniques
US10754559B1 (en) * 2019-03-08 2020-08-25 EMC IP Holding Company LLC Active-active storage clustering with clock synchronization
US11843680B2 (en) * 2020-02-13 2023-12-12 Comcast Cable Communications, Llc Methods and systems for cache optimization
US11870828B2 (en) 2021-09-30 2024-01-09 17Live Japan Inc. System, method and computer-readable medium for rendering a streaming
WO2023055364A1 (en) * 2021-09-30 2023-04-06 17Live Japan Inc. System, method and computer-readable medium for determining a cache ttl
CN115996177B (zh) * 2022-10-17 2024-05-07 北京航空航天大学 一种面向周期性复制系统的成本最小化一致性维护方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772203B1 (en) * 1999-05-14 2004-08-03 Pivia, Inc. Updating data objects for dynamic application caching
CN102170634A (zh) * 2011-04-18 2011-08-31 搜船(北京)网络技术有限公司 一种移动终端位置数据缓存与实时更新系统和方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983318B2 (en) 2001-01-22 2006-01-03 International Business Machines Corporation Cache management method and system for storing dynamic contents
US20030188106A1 (en) * 2002-03-26 2003-10-02 At&T Corp. Cache validation using rejuvenation in a data network
US7076611B2 (en) 2003-08-01 2006-07-11 Microsoft Corporation System and method for managing objects stored in a cache
US20050210508A1 (en) 2004-03-19 2005-09-22 Lau Vincent W System and method for managing time-go-live information of media content
US7315872B2 (en) 2004-08-31 2008-01-01 International Business Machines Corporation Dynamic and selective data source binding through a metawrapper
US20090210631A1 (en) * 2006-09-22 2009-08-20 Bea Systems, Inc. Mobile application cache system
US20100077152A1 (en) * 2008-09-24 2010-03-25 Yahoo! Inc. Primary-secondary caching scheme to ensure robust processing transition during migration and/or failover
US8086803B2 (en) 2009-05-13 2011-12-27 International Business Machines Corporation Managing cache elements
US8630979B2 (en) * 2010-02-26 2014-01-14 Red Hat, Inc. Non-blocking input output based storage
US8209491B2 (en) * 2010-04-27 2012-06-26 Symantec Corporation Techniques for directory server integration
US8949294B2 (en) * 2011-03-23 2015-02-03 Red Hat, Inc. Data grid supporting multiple protocols

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772203B1 (en) * 1999-05-14 2004-08-03 Pivia, Inc. Updating data objects for dynamic application caching
CN102170634A (zh) * 2011-04-18 2011-08-31 搜船(北京)网络技术有限公司 一种移动终端位置数据缓存与实时更新系统和方法

Also Published As

Publication number Publication date
US8918602B2 (en) 2014-12-23
CN103116472A (zh) 2013-05-22
DE102012215665B4 (de) 2017-03-23
US20130073809A1 (en) 2013-03-21
DE102012215665A1 (de) 2013-03-21

Similar Documents

Publication Publication Date Title
CN103116472B (zh) 动态变更数据高速缓存中ttl值的方法、系统及装置
US10089317B2 (en) System and method for supporting elastic data metadata compression in a distributed data grid
Khandelwal et al. {BlowFish}: Dynamic {Storage-Performance} Tradeoff in Data Stores
Bsoul et al. Enhanced fast spread replication strategy for data grid
CN101916289B (zh) 支持海量小文件和动态备份数的数字图书馆存储系统的构建方法
JP2017539000A (ja) 格納クライアントファイルシステム用格納ボリュームの動的スケーリング
CN107168657A (zh) 一种基于分布式块存储的虚拟磁盘分层缓存设计方法
Xing et al. A distributed multi-level model with dynamic replacement for the storage of smart edge computing
US8621143B2 (en) Elastic data techniques for managing cache storage using RAM and flash-based memory
CN105373369A (zh) 一种异步缓存方法、服务器及系统
CN108182213A (zh) 一种基于分布式系统的数据处理优化装置及方法
Fukuda et al. Caching memcached at reconfigurable network interface
CN110196818A (zh) 缓存数据的方法、缓存设备和存储系统
CN106156255A (zh) 一种数据缓存层实现方法及系统
CN108228084A (zh) 用于管理存储系统的方法和设备
Xu et al. Rethink the storage of virtual machine images in clouds
CN105516313A (zh) 一种用于大数据的分布式存储系统
CN114817195A (zh) 一种分布式存储缓存管理的方法、系统、存储介质及设备
Yang et al. Tombolo: Performance enhancements for cloud storage gateways
US9633035B2 (en) Storage system and methods for time continuum data retrieval
CN104461941A (zh) 一种内存系统架构及管理方法
US20210132807A1 (en) Method and system for optimizing a host computing device power down through offload capabilities
CN109522299A (zh) 数据处理方法、装置、系统及存储介质
Takahashi et al. Layered memory architecture for high IO intensive information services to achieve timeliness
CN104603754B (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