CN105683928A - 多承租人企业资源规划系统中的数据高速缓存策略 - Google Patents

多承租人企业资源规划系统中的数据高速缓存策略 Download PDF

Info

Publication number
CN105683928A
CN105683928A CN201480053176.1A CN201480053176A CN105683928A CN 105683928 A CN105683928 A CN 105683928A CN 201480053176 A CN201480053176 A CN 201480053176A CN 105683928 A CN105683928 A CN 105683928A
Authority
CN
China
Prior art keywords
cache
cache entry
policies
entry
speed
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
CN201480053176.1A
Other languages
English (en)
Other versions
CN105683928B (zh
Inventor
J·斯泰尔斯
E·N·克里斯托弗森
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105683928A publication Critical patent/CN105683928A/zh
Application granted granted Critical
Publication of CN105683928B publication Critical patent/CN105683928B/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
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory

Abstract

一种高速缓存管理器应用在多承租人企业资源规划(ERP)系统中提供数据高速缓存策略。高速缓存管理器应用在单个进程中管理多个承租人高速缓存。所述应用应用所述高速缓存策略。相比于本地高速缓存优化,高速缓存策略优化了系统性能。结果,具有高高速缓存消耗的承租人接收更大部分的高速缓存资源。

Description

多承租人企业资源规划系统中的数据高速缓存策略
背景
企业资源规划(ERP)中间层服务器的主要功能之一是从存储业务数据的关系型数据库中读取和写入数据。通常,读取操作比写入操作执行得频繁得多,并且同一数据经常可以被重复读取。从数据库读取数据常常是一种性能瓶颈,因为数据需要从另一个层检索并且查询可能花费一些时间来由数据库处理。
当在数据已经从数据库中被读取之后在ERP服务器的存储器中高速缓存数据时实现了显著的性能改进。对同一数据的后续读取可从所述存储器中检索,而不是从数据库访问数据。
实现或使用高速缓存方面的挑战包括如何限制高速缓冲大小同时维持高速缓存的效率以及当经高速缓存的项由于向数据库中的数据应用的其他改变的更新而不再准确反映该数据时如何移除或更新这些项。
多承租人ERP中间层服务器处理多个承租人的数据,所述多个承租人包括多个组织。ERP系统能够通过跨许多承租人共享计算资源而作为一个主存实体实现更大的规模经济效益。承租人或安全策略可能要求维护在承租人之间的数据分隔。而且,对硬件资源的使用和分配要考虑效率和公平性,使得在所有时间都为所有承租人维护一个响应系统。
概述
提供本发明内容以便以简化的形式介绍将在以下的具体实施方式中进一步描述的一些概念。该概述不意图专门标识所要求保护的主题的关键特征或基本特征,也不意图帮助确定所要求保护的主题的范围。
各实施例旨在在多承租人企业资源规划(ERP)系统中提供数据高速缓存策略。在一些示例实施例中,高速缓存管理器应用可以在单个进程中管理多个承租人高速缓存。高速缓存管理器应用可以应用高速缓存策略。相比于本地高速缓存优化,高速缓存策略可以优化系统性能。结果,具有高高速缓存消耗的承租人可以接收更大部分的高速缓存资源。
从阅读以下详细描述及查看相关附图后,这些及其他特征和优点将显而易见。应当理解,以上一般描述及以下详细描述两者均是说明性的,而不限制所要求保护的各方面。
附图简述
图1是示出根据各实施例的示例企业资源规划(ERP)系统的概念图,其中可以在该ERP服务器中提供高速缓存策略。
图2示出了一组示例高速缓存,这些高速缓冲是独立的且不知晓彼此。
图3示出根据各实施例的示例高速缓存机制,其中最近最少使用(LRU)的策略跨共享高速缓存被应用于各项上。
图4是其中可以实现根据各实施例的系统的简要联网环境;
图5是其中可以实现各实施例的示例计算操作环境的框图;以及
图6示出根据各实施例的用于在多承租人ERP系统中提供数据高速缓存策略的过程的逻辑流程图。
详细描述
如上简述,可以在多承租人企业资源规划(ERP)系统中提供数据高速缓存策略。高速缓存管理器应用可以在单个进程中管理多个承租人高速缓存。高速缓存管理器应用可以应用高速缓存策略。相比于本地高速缓存优化(对各个体独立高速缓存的优化),该高速缓存策略可以优化系统性能。
在下面的详细描述中,参考构成其一部分的附图,在附图中,通过例图,示出了具体的实施例或示例。可以将这些方面组合起来,也可以理由其他方面,并且可以作出结构上的改变而在不背离本公开的精神或范围。因此,下面的详细描述并不旨在进行限制,并且本发明的范围由所附权利要求书以及其等效方案来限定。
尽管各实施例将在结合一应用程序执行的程序模块的一般上下文中描述,其中所述应用程序在计算设备上的操作系统上运行,但是本领域的技术人员将认识到,各方面也可以与其他程序模块组合实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构及其他类型的结构。此外,本领域的技术人员将理解,各实施例可以用其他计算机系统配置来实现,包括手持设备、多处理器系统、基于微处理器的或可编程的消费者电子设备、小型计算机、大型计算机及类似的计算设备。各实施例也可以在分布式计算环境中实现,在分布式计算环境中,多个任务由通过通信网络链接的远程处理设备来执行。在分布式计算环境中,程序模块可位于本地和远程的存储器存储设备两者中。
各实施例可以被实现为计算机实现的进程(方法)、计算系统、或者作为制品,诸如计算机程序产品或计算机可读介质。计算机程序产品可以是可由计算机系统读取的计算机存储介质,所述计算机存储介质对包括指令的计算机程序进行编码,所述指令用于使计算机或计算系统执行(多个)示例进程。计算机可读存储介质是计算机可读存储器设备。例如,计算机可读存储介质可经由易失性计算机存储器、非易失性存储器、硬盘驱动器、和闪存驱动器中的一个或多个来实现。
贯穿本说明书,术语“平台”可以是用于在多承租人ERP系统中提供数据高速缓存策略的软件和硬件组件的组合。平台的示例包括、但不限于:在多个服务器上执行的托管服务、在单个计算设备上执行的应用、及类似的系统。术语服务器摂一般是指一般在联网环境中执行一个或多个软件程序的计算设备。然而,服务器也可以被实现为在一个或多个计算设备上执行的虚拟服务器(软件程序),所述虚拟服务器被视为网络上的服务器。关于这些技术和示例实施例的详情可在以下描述中找到。
图1是示出根据一些实施例的示例ERP系统的概念图,其中可以在该ERP服务器中提供高速缓存策略。
如图示100所示,ERP系统102可以主存提供给承租人110的服务。ERP系统102可以通过物理服务器104和在那些服务器上执行的虚拟机为承租人110提供服务。ERP系统102可以在服务器104上执行一个或多个应用106以为承租人110提供服务。应用106可以将数据存储到数据存储108中和从数据存储108检索数据。承租人(可以存在一个或多个承租人)110可各自具有相关联的数据存储114。每个承租人可以具有其自身的用户,所述用户可以通过在计算设备116-118上执行的客户端应用访问所提供的服务。这些客户端应用可以是胖客户端应用或诸如浏览器的瘦客户端。可以在会话112中管理用户访问。会话112可以包括握手协议、通过加密通信建立的安全流水线以及类似的连接属性。
ERP系统102可以为承租人110主存一组高速缓存。该组高速缓存可以由高速缓存管理器应用管理,所述高速缓存管理器应用提供用于管理对该承租人110的该组高速缓存的访问的数据高速缓存策略。随着承租人的类型和大小的改变,这些承租人对系统主存的高速缓存的需求也可变化。例如,一些承租人可以是小的商业体,而同一ERP系统主存的其他承租人可以是具有相对较大的高速缓存需求的大型商业体。
如上所述,由ERP系统102所提供的服务的功能可以由不同或集成的应用来提供并通过用户计算机上的客户端应用来访问。客户端应用可以呈现ERP系统102的服务的功能,同时隐藏诸如应用106之类的在系统服务器上执行的应用。
虽然图1中的示例系统是针对包括提供执行在多承租人ERP系统中提供数据高速缓存策略的高速缓存管理器应用的服务的ERP系统102的特定组件来描述的,但各实施例不限于这些组件或系统配置并且能够用采用更少或更多组件的其他系统配置来实现。
图2示出了根据实施例的一组示例高速缓存,这些高速缓冲是独立的且不知晓彼此。
在图示200,提供用于通过维护分开的高速缓存来管理多个承租人的服务器高速缓存的示例方案。在示例场景中,第一承租人可具有对高速缓存A202的访问权,而第二承租人可具有对高速缓存B204的访问权。高速缓存A202和高速缓存B204可能不知晓彼此,这样可能没有共享诸如可用存储器之类的硬件资源。高速缓存A202可以包括由第一承租人访问的项A1206和项A2208。高速缓存B204可以包括由第二承租人访问的项B1210和项B2212。在诸如高速缓存B204中无可用空间之类的场景中,第二承租人可能无法访问被分配给高速缓存A202的存储器来存储附加项。类似地,在诸如在高速缓存A202中无可用空间之类的场景中,第一承租人可能无法访问被分配给高速缓存B204的存储器来存储附加项。
承租人中的分开的高速缓存的维护还可能不利地影响对每个高速缓存的最大大小的确定。在示例场景中,ERP系统可留出1GB的存储器作为承租人的数据高速缓存。可以确定预定数目的承租人(例如1000个)具有对该数据高速缓存的访问权。这样,该数据高速缓存可以被分割成各针对每个承租人的1MB部分。在各种使用场景中,所确定的针对每个承租人的1MB的最大大小可能是不够的。另外,由于离线或空闲的承租人,数据高速缓存中的大部分可能未被充分利用,而活动的承租人却由于该1MB高速缓存大小限制而受限。确定分配给承租人的高速缓存的最大大小的动态方案可更好服务于在不均匀的处理中访问高速缓存的承租人。
在另一个示例场景中,多承租人环境中的服务器高速缓存管理可以包括维护包含来自所有承租人的数据的单个高速缓存。在单高速缓存的场景中,每个承租人的高速缓存操作可能是昂贵的。将来自一个承租人的数据从高速缓存中清除可以涉及枚举该高速缓存或维护附加的索引。而且,来自不同的承租人的数据可以被存储在同一容器中,这可能增加编程差错可能返回来自错误的承租人的数据的风险。
实施例旨在维护多个隔离的数据高速缓存。可以为每个承租人维护一个数据高速缓存。这些数据高速缓存可以通过高速缓存策略来管理。高速缓存管理器应用可以确保存储在所有高速缓存中的数据的总量不超过预定限制。当数据量确实超过该限制时,高速缓存管理器应用可以对将哪个数据从哪个高速缓存中移除做出智能选择。在示例场景中,在不久的将来最不可能被承租人访问的数据可以从由ERP系统内的高速缓存管理器应用所管理的一个或多个高速缓存中被移除。
图3示出根据各实施例的示例高速缓存机制,其中最近最少使用(LRU)的策略被跨共享高速缓存应用于各项。
如在图示300中所示,在ERP系统处管理承租人的数据高速缓存的高速缓存管理器应用314可以通过项移除机制316来回收高速缓存中的旧项以允许对存储器的更好利用,同时维护各高速缓存之间的完整分隔。例如,高速缓存管理器应用314可以跨共享数据高速缓存应用诸如最近最少使用(LRU)策略之类的高速缓存策略。在示例场景中,高速缓存管理器应用314可以确定高速缓存策略为LRU高速缓存策略。高速缓存302和高速缓存B304可以由高速缓存管理器应用314基于LRU高速缓存策略来维护。高速缓存管理器应用314可以根据承租人之一的使用新近度对存储在高速缓存A302和高速缓存B304中的项(数据)进行排序。例如,具有最接近当前时间的时间戳的项可以被排列为最近使用(MRU)项。在图示300中,高速缓存管理器应用可以将项B2312排列为MRU项。项A2308和项B1310可以根据其与访问这些项相关联的时间戳而被高速缓存管理器应用排列为接近MRU项。项A1306可基于其被与高速缓存A302相关联的承租人访问的时间戳而被高速缓存管理器应用314排列为LRU项。项A1306和项A2308与高速缓存A302相关联。项B1310和B2312与高速缓存B304相关联。响应于确定对由高速缓存A302和高速缓存B304所使用的高速缓存资源的请求,高速缓存管理器应用314可激活扫除(scavenging)过程。高速缓存管理器应用可以移除LRU项(其是项A1306)以使得专用于高速缓存A302的资源对请求这些资源(例如由高速缓存A302所使用的存储器)的其他承租人可用。基于LRU项的评估,在移除项A1306之后可以移除附加项,例如可以是后随项A2308的项B1310等等。
图示300的示例实现用于说明的目的,并不旨在限制实施例。还可以使用其他数据高速缓存策略,例如最不常用(LFU)或不同策略的加权组合。在LFU高速缓存策略场景中,在基于访问频率排列高速缓存的项之后,可以将一个或多个高速缓存的项确定为是LFU高速缓存的项。响应于检测到总共消耗的高速缓存存储器超过预定限制,高速缓存管理器应用可以移除LFU高速缓存的项。此外,高速缓存策略可以以加权方式被应用于来自不同的承租人的高速缓存的项。
根据一些实施例,每个高速缓存中的每个项可以被注册在高速缓存管理器应用中。高速缓存管理器应用保持跟踪高速缓存的项的数目以及由高速缓存的项消耗的存储器总量。利用这个信息,高速缓存管理器应用还可以强制实施高速缓存策略,该策略将通过在需要时移除项将高速缓存所消耗的总存储器保持在定义的限制之下。
可以基于各种数据高速缓存策略对来自共享高速缓存的项进行排列,这些策略对属性进行评估,所述属性包括但不限于:访问频率、与项相关联的最后访问时间、重新计算项的开销、与高速缓存之一的关联、相关联的承租人的属性(例如服务等级协定)和类似属性。可以从经排列的高速缓存的项的底部移除一个或多个高速缓存的项。
在一些实施例中,单个属性可以被用于项移除。在其他实施例中,可以使用属性的加权组合。所述移除可以基于静态或动态算法或试探法。例如,机器学习算法可以调整移除策略以随时间改变例如随时间改变的不同承租人的访问频率。图示300示出使用LRU策略来移除项的简单配置。
高速缓存管理器应用314可以展示多个应用编程接口(API)以允许由承租人主存的应用与共享高速缓存的交互。示例API可以包括但不局限于RegisterItem(注册项)操作,该操作可以由已经被加入到高速缓存中的高速缓存项来参数化。DeregisterItem(解除注册项)操作可以由已从高速缓存之一中移除的高速缓存项(例如当所述高速缓存项已经失效时)来参数化。NotifyItemAccessed(通知项被访问)操作可以由高速缓存中刚通过成功的查找操作(或者称为高速缓存命中)被访问的高速缓存项来参数化。
响应于对RegisterItem操作的调用,如果高速缓存项的总大小超过预定限制,则可强制实施所述高速缓存策略。接着,可以由高速缓存管理器应用314选择要移除的一个或多个项。可以由高速缓存管理器应用来解除注册所选的项。或者,可以从相关联的高速缓存中移除所选的项。
图2到3中的示例场景和模式被示为带有特定的组件、数据类型,以及配置。各实施例不仅限于根据这些示例配置的系统。在多承租人ERP系统中提供数据高速缓存策略可以按在应用以及用户界面中使用更少的或更多的组件的配置来实现。此外,图2和图3中所示的示例方案和组件及其子组件可以使用本文中所述的原理通过类似方式以其他值来实现。
图4是其中可实现各实施例的示例联网环境。用于在多承租人ERP系统中提供数据高速缓存策略的高速缓存管理器应用可经由诸如主存服务等在一个或多个服务器414上执行的软件来实现。平台可以通过(诸)网络410与个别计算设备上的客户应用通信,所述个别计算设备诸如智能电话413、膝上计算机412或台式计算机411(“客户端设备”)。
在任一客户端设备411-413上执行的客户端应用可便于通过由各服务器414执行的或在个体服务器416上执行的(诸)应用进行的通信。多承租人ERP系统可以将从数据库中检索到的一部分数据存储在服务器存储器上以供快速访问。高速缓存管理器应用可以在服务器存储器中跨承租人数据提供数据高速缓存策略。ERP系统可以直接或通过数据库服务器418将与所提供的服务相关联的数据(例如数据高速缓存策略)存储在数据存储419中。
(诸)网络410可以包括任何拓扑结构的服务器、客户端、因特网服务提供者以及通信介质。根据各实施例的系统可以具有静态或动态的拓扑结构。(诸)网络410可以包括诸如企业网络这样的安全网络、诸如无线开放网络这样的不安全网络、或者因特网。(诸)网络410也可以通过诸如公共交换电话网(PSTN)或蜂窝网络这样的其他网络来协调通信。而且,(诸)网络410可以包括诸如蓝牙或类似网络等短距无线网络。(诸)网络410在此处描述的多个节点之间提供通信。通过示例但非限制,(诸)网络410可以包括诸如声音、RF、红外这样的无线介质以及其他无线介质。
可以使用计算设备、应用、数据源、以及数据分发系统的许多其他配置来在多承租人ERP系统中提供数据高速缓存策略。而且,图4中讨论的联网环境仅出于说明目的。各实施例不限于示例的应用、模块或进程。
图5以及相关联的讨论意图提供其中可实现各实施例的合适的计算环境的简要、一般描述。参照图5,解说了根据各实施例的用于应用的示例计算操作系统的框图,诸如计算设备500。在基本配置中,计算设备500可以是执行根据实施例的与主存的ERP系统相关联的一个或多个应用的任何计算设备,并包括至少一个处理单元502和系统存储器504。
计算设备500也可以包括在执行程序时协作的多个处理单元。取决于计算设备的实际配置和类型,系统存储器504可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存、等)或者两者的某一组合。系统存储器504通常包括适于控制平台的操作的操作系统505,例如来自美国华盛顿州雷蒙德市的微软公司的操作系统。系统存储器504还可包括一个或多个软件应用,诸如程序模块506、ERP服务522、以及高速缓存管理器应用524。
ERP服务522可以将从承租人的一个或多个数据库中检索到的一部分数据高速缓存在服务器存储器处以供快速访问。高速缓存管理器应用524可以在ERP系统的一个或多个服务器中提供数据高速缓存策略。该基本配置在图5中用虚线508内的那些组件示出。
计算设备500可具有附加的特征或功能。例如,计算设备500也可以包括附加的数据存储设备(可移动和/或不可移动),诸如磁盘、光盘或带。这种附加存储器在图5中用可移动存储509和不可移动存储510示出。计算机可读存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,该信息诸如计算机可读指令、数据结构、程序模块或其他数据。系统存储器504、可移动存储509和不可移动存储510全是计算机可读存储介质的示例。计算机可读存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储器、磁带盒、磁带、磁盘存储器或其他磁性存储设备,或可以用来存储所需信息并可以被计算设备500访问的任何其他介质。任何这样的计算机可读存储介质可以是计算设备500的一部分。计算设备500还可以具有诸如键盘、鼠标、笔、声音输入设备、触摸输入设备、用于检测姿势的光学捕捉设备之类的(诸)输入设备512,以及类似的输入设备。也可以包括(诸)输出设备514,诸如显示器、扬声器、打印机以及其他类型的输出设备。这些设备全是本领域公知的并且不需要在此过多讨论。
计算设备500也可以包含通信连接516,所述通信连接允许设备诸如通过分布式计算环境中的有线或无线网络、卫星链路、蜂窝链路、短距网络以及相当的机制与其他设备518通信。其他设备518可以包括执行通信应用的(诸)计算机设备、web服务器以及相当的设备。(诸)通信连接516是通信介质的一个示例。通信介质中可以包括计算机可读指令、数据结构、程序模块或其他数据。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。
各示例实施例还包括各方法。这些方法可以以任何数量的方式来实现,包括此文档中描述的结构。一种这样的方式是通过具有此文档中描述的类型的设备的机器操作来实现。
另一任选的方式是使各方法的个别操作中的一个或多个连同执行一些操作的一个或多个人工操作员被执行。这些人工操作员不需要彼此位在同处,但每个人工操作员可以仅操作执行程序一部分的一台机器。
图6示出根据各实施例的用于在多承租人ERP系统中提供数据高速缓存策略的过程的逻辑流程图。过程600可以在主存ERP系统上实现。
过程600以操作610开始,在其中可以由高速缓存管理器应用从管理服务器、应用数据库服务器或管理员处接收高速缓存策略。高速缓存管理器应用还可以周期性地检索高速缓存策略以确保对策略的更新被实现。在操作620,高速缓存管理器可以监视高速缓存项和总共消耗的存储器以确定为了将总共消耗的存储器维持在其预定(物理或以其他格式定义的)限制之下是否需要移除任何高速缓存项。在操作630,在确定该限制被逼近或超过之际,基于所述高速缓存策略可以从高速缓存中移除高速缓存项。所述高速缓存策略可以基于单个属性或属性的组合。
过程600中包括的操作用于说明目的。根据各实施例的ERP系统可以使用此处所述的各原理通过具有更少或更多步骤的相似过程、以及不同的操作次序来实现。
以上说明、示例和数据提供了各实施例的组成的制造和用途的完整描述。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求和实施例的示例形式公开的。

Claims (15)

1.一种在计算设备上执行的用于在多承租人企业资源规划(ERP)系统的服务器中提供数据高速缓存策略的方法,所述方法包括:
从所述服务器的共享高速缓存接收与高速缓存项的移除相关联的所述高速缓存策略;
监视所述高速缓存项的状态和总共消耗的高速缓存存储器;以及
响应于检测到所述总共消耗的高速缓存存储器超过预定限制,基于所述高速缓存策略从所述共享高速缓存中移除所述高速缓存项中的一者或多者。
2.如权利要求1所述的方法,其特征在于,进一步包括:
基于与所述高速缓存项中的每一者相关联的访问基于将最近最少使用(LRU)高速缓存策略确定为所述高速缓存策略来排序所述高速缓存项。
3.如权利要求2所述的方法,其特征在于,进一步包括:
将所述高速缓存项中具有离当前时间最远的时间戳的一个高速缓存项排列为LRU高速缓存项。
4.如权利要求2所述的方法,其特征在于,进一步包括:
将所述高速缓存项中具有离当前时间最近的时间戳的一个高速缓存项排列为最近使用(MRU)高速缓存项。
5.如权利要求1所述的方法,其特征在于,进一步包括:
基于与所述高速缓存项中的每一者相关联的访问频率基于将最不常用(LFU)高速缓存策略确定为所述高速缓存策略来排序所述高速缓存项。
6.如权利要求5所述的方法,其特征在于,进一步包括:
将所述高速缓存项中的一个排列为LFU高速缓存项,其中所述LFU高速缓存项与其他高速缓存项相比具有最低的使用频率。
7.如权利要求1所述的方法,其特征在于,进一步包括:
基于评估与所述高速缓存项相关联的属性的所述高速缓存策略来排列所述高速缓存项,所述属性包括下述组中的至少一个:访问频率、最后访问时间、重新计算的开销、与所述共享高速缓存之一的关联性、相关联的承租人的属性。
8.一种在多承租人企业资源规划(ERP)系统中提供数据高速缓存策略的服务器,所述服务器包括:
存储器;
耦合至所述存储器的处理器,所述处理器结合所述存储器中存储的指令来执行一高速缓存管理器应用,其中所述高速缓存管理器应用被配置成:
从所述服务器的共享高速缓存接收与高速缓存项的移除相关联的所述高速缓存策略;
监视所述高速缓存项的状态和总共消耗的高速缓存存储器;
基于评估与所述高速缓存项相关联的属性的所述高速缓存策略来排列所述高速缓存项,所述属性包括下述组中的至少一个:访问频率、最后访问时间、重新计算的开销、与所述共享高速缓存之一的关联性、相关联的承租人的属性;以及
响应于检测到总共消耗的高速缓存存储器超过预定限制,基于所述高速缓存策略从所述共享高速缓存中移除一个或多个高速缓存项。
9.如权利要求8所述的服务器,其特征在于,所述高速缓存管理器应用还被配置为:
提供应用编程接口(API)以允许承租人通过注册操作与共享高速缓存交互。
10.如权利要求8所述的服务器,其特征在于,所述高速缓存管理器还被配置为:
通过所述高速缓存项中已经被添加到所述共享高速缓存中的一个高速缓存项来参数化所述注册操作。
11.如权利要求8所述的服务器,其特征在于,所述高速缓存管理器应用还被配置为:
提供应用编程接口(API)以允许承租人通过解除注册操作与所述共享高速缓存交互。
12.如权利要求11所述的服务器,其特征在于,所述高速缓存管理器应用还被配置为:
通过所述高速缓存项中的已被从所述共享高速缓存中移除的一个高速缓存项来参数化所述解除注册操作。
13.如权利要求8所述的服务器,其特征在于,所述高速缓存管理器应用还被配置为:
提供应用编程接口(API)以允许承租人通过访问项通知操作与所述共享高速缓存交互。
14.一种具有存储在其上的指令的计算机可读存储器设备,所述指令在多承租人企业资源规划(ERP)系统的服务器中提供数据高速缓存策略,所述指令包括:
从所述服务器的共享高速缓存接收与高速缓存项的移除相关联的所述高速缓存策略;
监视所述高速缓存项的状态和总共消耗的高速缓存存储器;
基于评估与所述高速缓存项相关联的属性的所述高速缓存策略来排列所述高速缓存项,所述属性包括下述组中的至少一个:访问频率、最后访问时间、重新计算的开销、与所述共享高速缓存之一的关联性、相关联的承租人的属性;以及
响应于检测到所述总共消耗的高速缓存存储器超过预定限制,基于所述高速缓存策略从所述共享高速缓存中移除一个或多个所述高速缓存项。
15.如权利要求14所述的计算机可读存储器设备,其特征在于,所述指令还包括:
基于与每个所述高速缓存项中的每一者相关联的访问时间戳基于将最近最少使用(LRU)高速缓存策略确定为所述高速缓存策略来排序所述高速缓存项;
将所述高速缓存项中的具有离当前时间最远的时间戳的一个高速缓存项排列为LRU高速缓存项;以及
响应于检测到所述总共消耗的高速缓存存储器超过所述预定限制,移除所述LRU高速缓存项。
CN201480053176.1A 2013-09-27 2014-09-23 用于数据高速缓存策略的方法、服务器和存储器设备 Active CN105683928B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361883812P 2013-09-27 2013-09-27
US61/883,812 2013-09-27
US14/175,167 US9292454B2 (en) 2013-09-27 2014-02-07 Data caching policy in multiple tenant enterprise resource planning system
US14/175,167 2014-02-07
PCT/US2014/056859 WO2015047968A1 (en) 2013-09-27 2014-09-23 Data caching policy in multiple tenant enterprise resource planning system

Publications (2)

Publication Number Publication Date
CN105683928A true CN105683928A (zh) 2016-06-15
CN105683928B CN105683928B (zh) 2018-11-20

Family

ID=52741312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480053176.1A Active CN105683928B (zh) 2013-09-27 2014-09-23 用于数据高速缓存策略的方法、服务器和存储器设备

Country Status (4)

Country Link
US (1) US9292454B2 (zh)
EP (1) EP3049940B1 (zh)
CN (1) CN105683928B (zh)
WO (1) WO2015047968A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484331A (zh) * 2014-11-05 2015-04-01 国家电网公司 基于erp系统的电子报账模块性能优化方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992076B2 (en) * 2014-10-15 2018-06-05 Cisco Technology, Inc. Dynamic cache allocating techniques for cloud computing systems
ES2818174T3 (es) 2015-05-17 2021-04-09 Endochoice Inc Mejora de imagen endoscópica usando ecualización de histograma adaptativo limitado por contraste (CLAHE) implementada en un procesador
WO2017034642A2 (en) * 2015-06-05 2017-03-02 Nutanix, Inc. Optimizable full-path encryption in a virtualization environment
US10757215B2 (en) 2018-09-13 2020-08-25 Pivotal Software, Inc. Allocation of computing resources for a computing system hosting multiple applications
CN109876436B (zh) * 2019-01-14 2022-09-20 珠海金山网络游戏科技有限公司 一种资源缓存设置方法及系统
EP4038507A4 (en) * 2019-10-04 2022-10-19 Visa International Service Association PROCEDURE FOR LAYERED DATA STORAGE IN TENANT-ENABLED CACHE SYSTEMS

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272598B1 (en) * 1999-03-22 2001-08-07 Hewlett-Packard Company Web cache performance by applying different replacement policies to the web cache
US20090182836A1 (en) * 2008-01-16 2009-07-16 Aviles Joaquin J System and method for populating a cache using behavioral adaptive policies
CN102137139A (zh) * 2010-09-26 2011-07-27 华为技术有限公司 缓存替换策略的选择方法、装置、代理服务器和系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394531A (en) 1989-04-03 1995-02-28 International Business Machines Corporation Dynamic storage allocation system for a prioritized cache
JPH0799508B2 (ja) 1990-10-15 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ記憶機構を動的に区分する方法およびキャッシュ記憶機構システム
US6493800B1 (en) 1999-03-31 2002-12-10 International Business Machines Corporation Method and system for dynamically partitioning a shared cache
US6615318B2 (en) * 2002-01-22 2003-09-02 International Business Machines Corporation Cache management system with multiple cache lists employing roving removal and priority-based addition of cache entries
US7010649B2 (en) * 2003-10-14 2006-03-07 International Business Machines Corporation Performance of a cache by including a tag that stores an indication of a previously requested address by the processor not stored in the cache
US7418560B2 (en) * 2004-09-23 2008-08-26 Sap Ag Centralized cache storage for runtime systems
US20060143389A1 (en) * 2004-12-28 2006-06-29 Frank Kilian Main concept for common cache management
US9141525B2 (en) * 2011-01-31 2015-09-22 International Business Machines Corporation Adaptive prestaging in a storage controller
US9235443B2 (en) 2011-11-30 2016-01-12 International Business Machines Corporation Allocation enforcement in a multi-tenant cache mechanism

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272598B1 (en) * 1999-03-22 2001-08-07 Hewlett-Packard Company Web cache performance by applying different replacement policies to the web cache
US20090182836A1 (en) * 2008-01-16 2009-07-16 Aviles Joaquin J System and method for populating a cache using behavioral adaptive policies
CN102137139A (zh) * 2010-09-26 2011-07-27 华为技术有限公司 缓存替换策略的选择方法、装置、代理服务器和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484331A (zh) * 2014-11-05 2015-04-01 国家电网公司 基于erp系统的电子报账模块性能优化方法
CN104484331B (zh) * 2014-11-05 2017-12-19 国家电网公司 基于erp系统的电子报账模块性能优化方法

Also Published As

Publication number Publication date
CN105683928B (zh) 2018-11-20
US20150095581A1 (en) 2015-04-02
WO2015047968A1 (en) 2015-04-02
EP3049940B1 (en) 2018-09-19
EP3049940A1 (en) 2016-08-03
US9292454B2 (en) 2016-03-22

Similar Documents

Publication Publication Date Title
CN105683928A (zh) 多承租人企业资源规划系统中的数据高速缓存策略
US9253055B2 (en) Transparently enforcing policies in hadoop-style processing infrastructures
CN104899286B (zh) 分布式内容存储和取回
CN110663019B (zh) 用于叠瓦式磁记录(smr)的文件系统
US9798642B2 (en) Method for allocating a server amongst a network of hybrid storage devices
JP7061693B2 (ja) グラフデータに基づくタスクスケジューリング方法、装置、プログラム及び機器
US9639459B2 (en) I/O latency and IOPs performance in thin provisioned volumes
US20100274762A1 (en) Dynamic placement of replica data
US10996994B2 (en) Task queuing and dispatching mechanisms in a computational device
US9922176B2 (en) Borrowing software licenses in a license management system for time based usage
CN104205115A (zh) 使用不同安全擦除算法以从文件擦除与不同安全级别关联的组块
US9305112B2 (en) Select pages implementing leaf nodes and internal nodes of a data set index for reuse
US11573946B2 (en) Management of memory usage using usage analytics
CN104717276A (zh) 将数据分配给网络中的存储的方法和系统
US20180253809A1 (en) Method and system for distributing floating licenses for real-time services
US9317328B2 (en) Strategic placement of jobs for spatial elasticity in a high-performance computing environment
US10938891B2 (en) Reducing cloud application execution latency
GB2523238A (en) Adaptive data fetching from network storage
US11954564B2 (en) Implementing dynamically and automatically altering user profile for enhanced performance
US8838902B2 (en) Cache layer optimizations for virtualized environments
JP2023538941A (ja) コンテナ化された環境のインテリジェントバックアップ及び復元
US20190173937A1 (en) Cognitive event based file sharing system for social software
Hu et al. GAIDR: An Efficient Time Series Subsets Retrieval Method for Geo-Distributed Astronomical Data
Dai et al. Dasc: A privacy-protected data access system with cache mechanism for smartphones
US11966338B2 (en) Prefetching management in database system based on number of pages being prefetched

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant