CN104969217A - 预测缓存装置和缓存预测方法 - Google Patents
预测缓存装置和缓存预测方法 Download PDFInfo
- Publication number
- CN104969217A CN104969217A CN201380072088.1A CN201380072088A CN104969217A CN 104969217 A CN104969217 A CN 104969217A CN 201380072088 A CN201380072088 A CN 201380072088A CN 104969217 A CN104969217 A CN 104969217A
- Authority
- CN
- China
- Prior art keywords
- buffer
- prediction
- database
- unit
- data item
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000015654 memory Effects 0.000 claims description 50
- 238000004590 computer program Methods 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 3
- 238000009790 rate-determining step (RDS) Methods 0.000 claims description 2
- 230000010006 flight Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000270708 Testudinidae Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/16—General purpose computing application
- G06F2212/163—Server or database system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/602—Details relating to cache prefetching
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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种特别地但不专门地用于控制数据库的缓存更新的预测缓存装置,该预测缓存装置包括CEP处理器和缓存分发器,该CEP处理器被配置为检测由数据库或操作单元生成的事件并且根据检测到的事件而生成缓存操作指示,该缓存分发器被配置为根据由该CEP处理器生成的该缓存操作指示来控制要在缓存单元中缓存的数据。本公开还公开一种能够由这样的预测缓存装置实现的缓存预测方法。
Description
背景技术
提供更加以客户为中心的体验的愿望,正在致使许多大公司将其现有客户数据整合到单个操作数据库中并且用诸如社交网络服务、伙伴系统、分析系统等之类的各种源获得的附加客户数据扩充该集中式数据库。这些公司的目标是使用该整合数据来个性化现有的或新的服务、识别有吸引力的新服务产品以及为他们的客户提供遍及所有接触点的无缝体验。
然而,随着访问该数据的操作系统和客户接触点的数量的增加,全体数据库系统可能变成性能瓶颈,从而导致差的用户体验。特别地,基于例如甲骨文中心TM(OracleHub)技术的数据库系统遭受重要数据的前线操作的高延迟。不能想象从前线系统直接访问这种集中式操作数据库来部署。
本公开涉及一种新的预测缓存装置和一种缓存预测方法。
附图说明
图1是根据本公开特定示例示出操作系统(包括预测缓存装置)的硬件架构的示意图。
图2示出用以实现本公开特定示例的可以由图1的操作系统(特别地,预测缓存装置)执行的主要步骤的时序图的示例。
具体实施方式
使用集中式操作数据库时的一个性能问题是在需要对象时将对象从数据库获取到本地缓存中所需的时间。在一些情况下,专用于一些操作系统的缓存也可能是满的。
因此,对现有操作数据库的数据访问不总令人满意,并且特别需要改进这种系统中的缓存更新的相关性。本公开的目标是基于由在系统中部署的操作系统和/或由数据库自身产生的事件,优化数据库的缓存更新。
本公开公开一种预测缓存装置,该预测缓存装置被设置为根据复杂处理事件(CEP)技术来控制数据库的缓存更新。CEP技术能够例如启用处理,该处理合并由操作系统产生的事件来推断更复杂的模式。基于对至少一个检测到的事件的分析和从该检测到的事件中推断出的模式,可以获得对当前情况的深入了解并触发适于该特定情况的缓存更新。
在本公开的特定方面中,可以例如通过将可能由操作单元(或操作系统)和/或由数据库生成的各个事件进行相关和通过利用提供扩展规则定义语言(extended ruledefinition language,简写为EPL)的CEP处理器来优化缓存更新。
本公开下面参考图1公开硬件实现的示例。在这个特定示例中,操作系统2包括:
-预测缓存装置6;
-多个操作单元OU1和OU2(统称为OU);
-数据库12;
-缓存单元CH1和CH2(统称为CH);和
-终端T1、T2和T3(统称为T)。
预测缓存装置6被设置为控制与该预测缓存装置连接的数据库12的缓存更新。
更具体地,在此示例中,有两个操作单元OU。这些OU可以对应于例如在操作系统2中部署的应用程序(或服务)。但是,应该理解,可以有在操作系统2中部署的数量N个操作单元,其中N是使得N≥1的整数。这些操作单元可以是由终端用户使用的移动设备或交互式终端(例如,机场中的用户终端),或由操作员使用的操作系统。
这些操作单元OU可以通过下文更详细地描述的接口4而与CEP处理器8交互。此外,每个操作单元OU都可以与中央数据库12通信,来更新或删除在数据库12中存储的现有数据和/或将新数据添加到数据库12中。操作单元OU可以通过防火墙与CEP处理器8和中央数据库12通信。
每个操作单元OU都能够产生事件,事件采用消息的形式。由操作单元产生的每个事件都提供关于特定情况的信息。事件可以例如对应于由操作单元OU发送的通知、命令或请求。事件还可以由数据库12产生。在一个示例中,数据库12可以产生表示在数据库12中存储的特定数据项的状态变化的事件。例如,这样的状态变化可能产生自通过操作单元OU执行的数据上传。
在本公开的特定方面中,每个被生成的事件都包含标识它所源自的数据库或操作单元OU的标识符12。
在本示例中,数据库12是集中式客户数据库12,在该集中式客户数据库12中的单个位置处可以存储例如与客户数据相关的数据项。客户数据,如人口统计、团体、民族,都可以被结合到操作数据库12中。
本示例的预测缓存装置6包括:
-CEP处理器8,CEP处理器8通过接口4与每个操作单元OU连接;和
-缓存分发器10,连接至缓存单元CH1和CH2、CEP处理器8和数据库12。
CEP控制器10可以例如基于EsperTM技术。在本实例中,假定CEP处理器10是基于EsperTMCEP的引擎。在本实示例中,CEP处理器10通过企业服务总线(ESB)连接至每个操作系统OU,但是ESB的使用不是强制性的。ESB接口4可以基于例如JbossTM软件架构。使用ESB在面向服务的架构(SOA)中启用操作单元OU和预测缓存装置6的CEP处理器8之间的通信。ESM可以例如将由操作单元OU产生的事件(或消息)转换为合适的消息格式,并且将它发送给CEP处理器10(基于内容的路由)。
如上所述,预测缓存装置6连接至两个缓存单元CH1和CH2。缓存单元CH中的一个被分配给每个终端T1、T2和T3。在本示例中,终端T1可以探询缓存单元CH1,以访问在CH1中存储的数据,而终端T2和T3可以探询缓存单元CH2,以访问在CH2中存储的数据。
缓存单元的数量当然可以根据在操作系统2中部署的终端的数量而变化。应该理解,专用缓存单元可以关联至每个终端T。在其它实例中,多个终端可以共享相同的缓存单元。
CEP处理器8被设置为检测由操作单元OU和由数据库12生成的事件。CEP处理器8持续地分析事件,该分析是例如实时的或近实时的。
在本公开的一个方面中,该分析是在预定的一组相关规则CR的基础上执行的。在本实例中,规则CR被存储在预测缓存装置6自身中,但是这不是强制的。在其它实例中,假如CEP处理器在需要时能够查阅相关规则CR,那么该组规则CR就可以位于预测缓存装置6外部。在本示例中,仅为了说明而将两个相关规则CR1和CR2包括在该组CR中。
在一个示例中,由CEP处理器8执行的事件分析包括:通过过滤可能源自操作单元OU和数据库12的各个事件,搜索预定事件。CEP处理器8可以例如检测被检测到的事件之间的预定关系。在其它实例中,可以执行至少一个事件随时间变化的分析(基于时间的事件)。
在本公开的方面中,CEP处理器8通过应用相关规则CR,根据被检测到的事件来识别预定的事件模式。
在一个示例中,CEP处理器8包括用于临时存储来自操作单元OU和来自数据库12的事件的内部存储器。
根据本公开,CEP处理器8被设置为根据由数据库8或由操作单元OU生成的至少一个被检测到的事件,生成缓存操作指示(cache operation order)。该缓存操作指示的目标是触发特定缓存单元CH中的缓存更新。缓存操作指示是例如可以由计算机等读取的一组软件指令。
在本公开的特定示例中,CEP处理器8被配置为根据仅由操作单元OU生成的至少一个被检测到事件,生成缓存操作指示(即,可能由数据库12生成的事件在生成该缓存操作指示的过程中不予考虑)。
在本公开的一个方面中,由CEP处理器8生成的每个缓存操作指示都包括下列参数:
-要在其中执行缓存操作的缓存单元的标识符;
-要执行的缓存操作的性质(例如,用于添加新数据的“创建”,用于删除现有数据的“删除”,和用于修改现有数据的“修改”);
根据指导的缓存操作的类型,缓存操作指示还可以包括:
-(在创建或更新指定缓存单元CH中的数据项的情况下)在数据库12中存储的要被用于执行该数据缓存操作的数据项的标识符(例如,资源URL);或
-指定缓存单元CH中要被删除的数据项的标识符。
缓存操作指示还可以包含缓存持续时间参数,该缓存持续时间参数表示要在合适的缓存单元CH中缓存的数据项的有效性的持续时间。缓存单元CH可以被配置为在有效性过期时删除有关数据项。
在本公开的一个方面中,利用事件处理语言(EPL)来限定相关规则CR。例如,每个相关规则可以限定至少一个预定事件和在被检测到所述预定事件时CEP处理器10会生成的对应缓存操作指示。
更一般地,每个相关规则可以包含与被检测到的事件相关的至少一个条件和在满足所有条件时会由CEP处理器10执行的预定动作。
缓存分发器10根据其可以从CEP处理器8接收的所生成的缓存操作指示,控制要在每个缓存单元CH中缓存的数据(缓存更新)。缓存分发器10将接收到的缓存操作指示转换为命令(或相应命令),该命令随后被发送至需要缓存更新的任何合适存储单元CH。
由缓存分发器10执行的缓存控制可以例如包括下列操作中的至少一个:
-从数据库12检索特定数据项,并且将包括检索到的数据项的第一命令发送至合适的缓存单元CH(以根据检索到的数据项,命令更新已经在该缓存单元中存储的数据项,或将检索到的数据项添加到该缓存单元中);和
-将第二命令发送至合适的缓存单元,以命令删除在该缓存单元中存储的特定数据项,此命令包括要删除的数据项的标识符。
在一个示例中,缓存分发器10还可以生成并维持在每个相应的缓存单元CH中存储的缓存数据的最新映射(map)。该缓存映射可以由缓存分发器10定期地(例如,以预定的时间步长)更新。
从CEP处理器8接收的缓存操作指示可以例如使缓存分发器10触发最初在数据库12中存储的数据项的被选中子集的缓存。根据缓存操作指示,缓存分发器10还可以触发已经在特定缓存单元CH中缓存的现有数据项的删除(或无效)或更新,和/或要在特定缓存单元CH中缓存的新数据项的创建。
所有保留策略都可以例如由缓存单元中的ehCache API实现。
相关规则CR例如被限定为优化操作单元OU对在预定事件发生时操作单元OU可能要求的数据项的访问。每个操作单元OU可能需要的数据项可以有利地被预先缓存到每个合适的缓存单元CH中。
换句话说,本公开中构思的缓存预测允许确定应该从数据库12中预取得哪些数据项。在依照预定的相关规则分析被检测到的事件基础上,通过执行缓存预测,本公开的缓存预测装置可以显著增强对重要数据的访问。
根据本公开的特定方面,本公开中描述的缓存预测方法的各步骤是由预测缓存装置通过运行计算机程序执行的。预测缓存装置可以具有例如计算机的硬件架构,该硬件架构包括例如能够与合适的存储器合作来执行每个步骤的处理器。
相应地,本公开还提供一种记录介质上的计算机程序,该计算机程序被设置为由预测缓存装置实现,更一般地由处理器实现,此计算机程序包括适于实现本公开中描述的缓存预测方法的指令。
本公开的计算机程序可以以任何编程语言表达,并且可以呈源代码、目标代码或源代码和目标代码之间的任何中间代码的形式,使得可以呈例如部分编译的形式或者任何其它合适的形式。
本公开还公开一种记录介质,该记录介质可由预测缓存装置或者更一般地可由处理器读取,该记录介质包括如上所述的计算机程序指令。
之前提到的记录介质可以是能够存储计算机程序的任何实体或设备。例如,该记录介质可以包括存储装置(如ROM存储器(CD-ROM或在微电子电路中实现的ROM))或者磁性存储装置(例如软盘或硬盘)。在图1的示例中,相关规则CR例如被存储在预测缓存装置中包括的闪存(或EEPROM)中。
本发明的记录介质可以对应于可传输的介质,如可以通过电缆或光缆或通过无线电或任何其它合适的方式传送的电信号或光信号。特别地,根据本发明的计算机程序可以从因特网或类似的网络下载。
可替代地,记录介质可以对应于加载有了计算机程序的集成电路,该电路适合于执行或用于执行本发明的方法。
本公开的优点是多方面的,并且包括例如通过利用CEP处理器来执行缓存预测并且通过根据缓存预测的结果来执行缓存操作,优化操作单元对重要数据的访问。通过缓存操作单元今后可能请求的数据,可以实现响应延迟减小和数据访问优化。操作单元不需要探询数据库12来检索所需的数据项。
示例
现在参考图2中示出的时序图,描述实现图1所示实施例的实际示例。
本示例基于在飞机航班上发生的假想紧急情况。在此示例中,从纽约到迈阿密的正在飞行的458号航班的乘客突然生病。飞机机组人员的领导决定联系操作管理者以征求关于应如何处理这种情况的意见。这导致与458号航班关联的操作单元OU1生成并发送(S2)机组人员警报CA1,该机组人员警报CA1通过ESB 4被传送(S4)至CEP处理器8。在此示例中,机组人员警报CA1表示严重性级别为高并且该警报涉及医疗问题(严重性=高,原因=医疗)。
当接收到(S6)事件CA1(即,由OU1生成的机组人员警报CA1)时,CEP处理器8应用在预测缓存装置6中存储的相关规则CR。在这个阶段中,关联规则CR未触发缓存更新。该CEP处理器8只在存储器中保留(S8)机组人员警报CA1的发生(创建上下文)。
当从机组人员的领导接收到(S12)附加机组人员警报CA2时,操作管理者决定为458号航班发起低级别紧急情况锁定(严重性低)。这导致由操作单元OU2生成并发送(S14)管理者命令SC1“低级别紧急情况锁定”,该“低级别紧急情况锁定”由ESB 4传送(S16)并最终由CEP处理器8检测(S18)。当锁定(lockout)被发起时,向指定部门发送通知,指定部门包括将处理该到达呼叫的纽约呼叫中心支持台。
当接收到(S18)事件SC1时,CEP处理器8应用相关规则CR。通过应用规则CR1(S20),使CEP处理器8生成缓存操作指示COO1,即与将由缓存单元CH执行的缓存操作有关的特定指示。在步骤S24中,CEP处理器将该缓存操作指示COO1发送至缓存分发器10。
一旦接收到(S26)该缓存操作指示COO1,缓存分发器10就处理该缓存操作指示COO1以分析其内容。在本示例中,缓存操作指示COO1指导缓存分发器10触发缓存单元CH1中的缓存更新。更具体地,通过发送缓存操作指示COO1,CEP处理器8命令将在数据库12中存储的特定数据(例如,458号航班的乘客数据,如姓名、年龄……)缓存在缓存单元CH1中。结果是,缓存分发器10将数据请求DR1发送(S28)至数据库12,以检索CH1的缓存更新所需的乘客数据。作为响应,数据库12发回(S32)所请求的数据项DI1给缓存分发器10。
在特定实施例中,缓存操作指示COO1包含要从数据库12检索的数据项(或一组数据项)的标识符。该标识符被包括在数据请求DR1中,使得数据库12能够确定要提供哪个(哪些)数据项。
一旦接收到(S34)DI1时,缓存分发器10就向缓存单元CH1发送(S36)命令,以使缓存单元CH1缓存(S40)检索出的数据项DI1。在此示例中,该命令通过简单地向缓存单元CH1发送DI1来执行。缓存更新S40允许在缓存单元CH1中保持纽约支持台操作员的终端1稍后可能请求的数据项。如果终端1请求访问数据项DI1,则将快速地从缓存单元CH1中检索到该数据项DI1,由此避免任何有问题的响应延迟(步骤S42-S48)。在本实例中,仅缓存单元CH1被用数据项DI1更新,但是在缓存单元CH2中可能已经触发类似更新,以便促进(与迈阿密支持台支持有关的)T2对DI1的访问。
在实践中,诸如T1、T2和T3之类的终端T可以例如通过代理探询这些缓存单元CH,为清楚起见省略了这些代理。
仍然在本示例中,458号航班的其他乘客稍后开始显示类似疾病症状。458号航班的机组人员的领导现在认为这是非常严重的紧急情况,并且从操作单元OU1向操作管理者发送(S50)新的机组人员警报CA3。作为响应,操作管理者发起458号航班的完全飞行锁定。结果是,操作单元OU2通过ESB 4生成并发送(S54)管理者命令SC2(在此实例中具有参数‘严重性=高’)给CEP处理器8。当完全锁定被发起时,向将处理到达呼叫的纽约和迈阿密呼叫中心支持台以及向被分配该情况的应急响应团体发送通知。
当接收到(S58)事件CS2时,CEP处理器8应用相关规则CR。通过应用(S60)相关规则CR2,使CEP处理器8生成(S62)新的缓存操作指示COO2,新的缓存操作指示COO2的目标是触发将与458号航班有关的乘客扩展数据(医学概况等)缓存在缓存单元CH1和缓存单元CH2中。然后,CEP处理器发送(S64)该缓存操作指示COO2,该缓存操作指示COO2在步骤S66中被缓存分发器接收。
响应于COO2,缓存分发器10向数据库12发送(S68)新数据请求DR2,以检索与缓存单元CH1和缓存单元CH2中的缓存更新所需的乘客扩展数据对应的数据项DI2。一旦从数据库12中接收到(S76)数据项DI2,缓存分发器10就向缓存单元CH1和缓存单元CH2发送(S78)命令,以使这些缓存单元缓存检索出的数据项DI2。为简单起见,在本实例中,仅描述缓存单元CH2中的缓存更新。在此示例中,该命令是通过简单地将DI2发送至缓存单元CH1和缓存单元CH2来执行的。
缓存更新S82允许在缓存单元CH2中存储稍后可能由分别与纽约支持台操作这和迈阿密医疗队有关的终端2和终端3咨询的数据项。如果终端2或终端3请求访问数据项DI2,那么可以实现从缓存单元CH2中快速检索DI2,由此避免任何有问题的响应延迟(步骤S84-S90和S92-S98)。
以下是可能用于实现上面参照图2描述的特定示例中的CEP处理器8的(使用EPL限定的)Esper相关规则的示例:
//CrewAlertStream是与crewAlert“Operation System”连接的流事件
//SupervisionStream是与Airport Supervision“Operation System”连接的流事件
//一接收到CrewAlertStream事件,就开始新的Esper上下文
create context Ctx
initiated by CrewAlertStream(Severity="high"and Reason="medical")as ceterminated after Fly458Duration
//此规则检查:在crewAlert事件到达并且在航班的剩余持续时间内,
//是否再没有其它高严重性事件到达
//此相关将以缓存清除结束,缓存清除将向缓存分发器发送具有参数的消息
//location=Ny,Invaidate=Yes,resource=flyDatacontext Ctx select*from pattern[every crewAlertStream(Severity="high"andReason="medical")->(rewAlertStream.win:time(Fly-458-RemainingDuration)and not(crewAlertStream(Severity="high"and Reason="medical"))]
//此规则检查:在crewAlert事件到达后并且在航班的剩余持续时间内,
//具有低严重性的SupervisionStream事件是否到达
//命名(在时序图中)CR1
context Ctx select*from pattern[every crewAlertStream(Severity="high"andReason="medical")->(rewAlertStream.win:time(Fly-458-RemainingDuration)andSupervisionStream(Severity="low"))]
//此规则检查:在crewAlert事件到达后并且在航班的剩余持续时间内并且
//具有低严重性的SupervisionStream事件到达,
//之后具有高严重性的SupervisionStream事件是否到达
//命名(在时序图中)CR2
特定实施例
下文描述本公开的特定方面。
在本公开的特定方面中,公开一种预测缓存装置,该预测缓存装置用于控制能够与该预测缓存装置连接的数据库的缓存更新,该数据库适于存储数据项,该预测缓存装置包括:
-CEP处理器,该CEP处理器可与该数据库和多个操作单元连接,该CEP处理器被设置为检测可能由该数据库和该多个操作单元中每个操作单元中的任一个生成的事件,并且根据至少一个检测到的事件来生成缓存操作指示;和
-缓存分发器,该缓存分发器可与缓存单元连接,所述缓存分发器被设置为根据由所述CEP处理器生成的缓存操作指示,控制要在缓存单元中的至少一个缓存单元中缓存的数据。
CEP处理器可以被配置为仅检测由操作单元生成的事件。另外,CEP处理器可以被设置为根据仅由操作单元生成的事件来生成缓存操作指示。
缓存操作指示可以基于由CEP处理器检测到的多个事件的相关性。
由缓存分发器执行的控制可以包括以下至少一个:
-根据从数据库中检索出的数据项,向所述缓存单元中的所述至少一个缓存单元发送第一命令以在所述缓存单元中创建或更新数据,检索出的数据项包括在该第一命令中;和
-向所述缓存单元中的所述至少一个缓存单元发送第二命令以删除在所述
缓存单元中存储的数据项,其中该第二命令包括要删除的数据项的标识符。
在特定示例中,缓存操作指示是根据利用事件处理语言定义的一组相关规则而生成的。预测缓存装置可以被设置为存储该组相关规则。该组相关规则可以包括限定在检测到被检测到的事件的预定相关性时要由CEP控制器生成的缓存操作指示的相关规则。
在特定示例中,缓存分发器被设置为生成并维持在相应的缓存单元中存储的缓存数据的更新的映射。
在本公开的另一方面中,公开一种操作系统,该操作系统包括:
-上面限定的预测缓存装置;
-缓存单元,被设置为缓存数据;
-多个操作单元,多个操作单元中的每个操作单元与缓存单元中的一个缓存单元关联;和
-数据库,可操作来存储数据项。
在本公开的又一方面中,公开一种缓存预测方法,该缓存预测方法由预测缓存装置执行以控制能够与该预测缓存装置连接的数据库的缓存更新,该数据库适于存储数据项,该方法包括:
-由所述预测缓存装置的CEP处理器检测由该数据库和能够与该预测缓存装置连接的多个操作单元中的一个操作单元中的任一个传送的事件;
-根据至少一个检测到的事件,由该CEP控制器生成缓存操作指示;和
-根据所生成的缓存操作指示,由该预测缓存装置的缓存分发器控制要在缓存单元中的至少一个缓存单元中缓存的数据。
在特定示例中,控制步骤包括:
-从数据库中检索数据项,并且基于检索到的数据项,向缓存单元中的至少一个缓存单元发送第一命令,以在所述缓存单元中创建或更新数据,检索出的数据包括在所述第一命令中;和
-向缓存单元中的至少一个缓存单元发送第二命令,以删除在所述缓存单元中存储的数据项,其中该第二命令包括要删除的数据项的标识符。
缓存操作指示可以基于利用事件处理语言限定的一组相关规则来生成。生成步骤可以包括应用在所述预测缓存装置中存储的相关规则。
还公开一种计算机程序,该计算机程序包括当该计算机程序在计算机上运行时用于执行上面限定的方法的指令。
更进一步,公开一种计算机可读记录介质,该记录介质存储计算机程序,该计算机程序包括用于执行上面限定的方法的指令。
Claims (14)
1.一种预测缓存装置,所述预测缓存装置用于控制所述预测缓存装置能够连接至的数据库的缓存更新,所述数据库适于存储数据项,所述预测缓存装置包括:
-CEP处理器,所述CEP处理器能与所述数据库和多个操作单元连接,所述CEP处理器被设置为检测能够由所述多个操作单元中的每个操作单元和所述数据库中的任一个生成的事件,并且根据至少一个被检测到的事件来生成缓存操作指示;和
-缓存分发器,所述缓存分发器与缓存单元可连接,所述缓存分发器被设置为根据由所述CEP处理器生成的所述缓存操作指示,来控制要在所述缓存单元中的至少一个中缓存的数据。
2.根据权利要求1所述的预测缓存装置,其中所述缓存操作指示基于由所述CEP处理器检测到的多个事件的相关性。
3.根据权利要求1所述的预测缓存装置,其中由所述缓存分发器执行的所述控制包括以下至少之一:
-根据从所述数据库中检索出的数据项,向所述缓存单元中的所述至少一个发送第一命令,以在所述缓存单元中创建或更新数据,所述检索出的数据项被包括在所述第一命令中;和
-向所述缓存单元中的所述至少一个发送第二命令,以删除在所述缓存单元中存储的数据项,其中所述第二命令包括要删除的数据项的标识符。
4.根据权利要求1所述的预测缓存装置,其中所述缓存操作指示是基于利用事件处理语言限定的一组相关规则来产生的。
5.根据权利要求4所述的预测缓存装置,其中所述预测缓存装置被设置为存储所述一组相关规则。
6.根据权利要求5所述的预测缓存装置,其中所述一组相关规则包括限定在检测到被检测到的事件的预定相关性时要由所述CEP控制器生成的缓存操作指示的相关规则。
7.根据权利要求1所述的预测缓存装置,其中所述缓存分发器被设置为产生并维持在相应的缓存单元中存储的缓存数据的更新的映射。
8.一种操作系统,包括:
-根据权利要求1所述的预测缓存装置;
-缓存单元,被设置为缓存数据;
-多个操作单元,所述操作单元中的每个与所述缓存单元中的一个关联;和
-数据库,可操作以存储数据项。
9.一种由预测缓存装置执行的缓存预测的方法,所述预测缓存装置用于控制所述预测缓存装置能够连接至的数据库的缓存更新,所述数据库适于存储数据项,所述方法包括:
-由所述预测缓存装置的CEP处理器检测由所述预测缓存装置能够连接至的多个操作单元之一和所述数据库中的任一个传送的事件,;
-由所述CEP控制器根据至少一个被检测到的事件来生成缓存操作指示;和
-由所述预测缓存装置的缓存分发器根据所生成的缓存操作指示,控制要在所述缓存单元中的至少一个中缓存的数据。
10.根据权利要求9所述的方法,其中所述控制步骤包括:
-从所述数据库中检索数据项,并且根据检索出的所述数据项,向所述缓存单元中的所述至少一个发送第一命令,以在所述缓存单元中创建或更新数据,检索出的所述数据项被包括在所述第一命令中;和
-向所述缓存单元中的所述至少一个发送第二命令,以删除在所述缓存单元中存储的数据项,其中所述第二命令包括要删除的数据项的标识符。
11.根据权利要求9所述的方法,其中所述缓存操作指示是根据利用事件处理语言限定的一组相关规则而生成的。
12.根据权利要求11所述的方法,其中所述生成步骤包括应用在所述预测缓存装置中存储的所述相关规则。
13.一种计算机程序,所述计算机程序包括用于当所述计算机程序在计算机上运行时执行根据权利要求9所述的方法的指令。
14.一种由处理器可读取的记录介质,所述记录介质存储计算机程序,所述计算机程序包括用于执行根据权利要求9所述的方法的指令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2013/000348 WO2014118590A1 (en) | 2013-01-31 | 2013-01-31 | Predictive cache apparatus and method of cache prediction |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104969217A true CN104969217A (zh) | 2015-10-07 |
Family
ID=48044944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380072088.1A Pending CN104969217A (zh) | 2013-01-31 | 2013-01-31 | 预测缓存装置和缓存预测方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150356017A1 (zh) |
EP (1) | EP2951728A1 (zh) |
CN (1) | CN104969217A (zh) |
WO (1) | WO2014118590A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228879A (zh) * | 2018-01-23 | 2018-06-29 | 平安普惠企业管理有限公司 | 一种数据更新方法、存储介质和智能设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437820B2 (en) | 2015-08-06 | 2019-10-08 | Red Hat, Inc. | Asymmetric distributed cache with data chains |
US10257264B1 (en) * | 2016-02-22 | 2019-04-09 | Yume, Inc. | System and method for reducing data center latency |
US11263891B2 (en) * | 2019-05-15 | 2022-03-01 | Skydome Ab | Enhanced emergency response |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1577276A (zh) * | 2003-07-11 | 2005-02-09 | 国际商业机器公司 | 控制分布式数据的高速缓存操作的方法和系统 |
US20070143547A1 (en) * | 2005-12-20 | 2007-06-21 | Microsoft Corporation | Predictive caching and lookup |
CN102081625A (zh) * | 2009-11-30 | 2011-06-01 | 中国移动通信集团北京有限公司 | 一种数据查询的方法及查询服务器 |
US20110289512A1 (en) * | 2010-05-21 | 2011-11-24 | Martin Vecera | Service-level enterprise service bus load balancing |
US20120117083A1 (en) * | 2010-11-08 | 2012-05-10 | Lockheed Martin Corporation | Complex event processing engine |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100306256A1 (en) * | 2009-06-02 | 2010-12-02 | Sun Microsystems, Inc. | Distributed Database Write Caching With Limited Durability |
US8949544B2 (en) * | 2012-11-19 | 2015-02-03 | Advanced Micro Devices, Inc. | Bypassing a cache when handling memory requests |
-
2013
- 2013-01-31 US US14/759,945 patent/US20150356017A1/en not_active Abandoned
- 2013-01-31 WO PCT/IB2013/000348 patent/WO2014118590A1/en active Application Filing
- 2013-01-31 CN CN201380072088.1A patent/CN104969217A/zh active Pending
- 2013-01-31 EP EP13713494.6A patent/EP2951728A1/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1577276A (zh) * | 2003-07-11 | 2005-02-09 | 国际商业机器公司 | 控制分布式数据的高速缓存操作的方法和系统 |
US20070143547A1 (en) * | 2005-12-20 | 2007-06-21 | Microsoft Corporation | Predictive caching and lookup |
CN102081625A (zh) * | 2009-11-30 | 2011-06-01 | 中国移动通信集团北京有限公司 | 一种数据查询的方法及查询服务器 |
US20110289512A1 (en) * | 2010-05-21 | 2011-11-24 | Martin Vecera | Service-level enterprise service bus load balancing |
US20120117083A1 (en) * | 2010-11-08 | 2012-05-10 | Lockheed Martin Corporation | Complex event processing engine |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228879A (zh) * | 2018-01-23 | 2018-06-29 | 平安普惠企业管理有限公司 | 一种数据更新方法、存储介质和智能设备 |
Also Published As
Publication number | Publication date |
---|---|
EP2951728A1 (en) | 2015-12-09 |
WO2014118590A1 (en) | 2014-08-07 |
US20150356017A1 (en) | 2015-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6774499B2 (ja) | オフラインでのハイブリッドアプリケーションへのアクセスの提供 | |
CN102667772B (zh) | 文件级分级存储管理系统、方法和设备 | |
KR102338208B1 (ko) | 데이터를 처리하기 위한 방법, 장치 및 시스템 | |
US20170344910A1 (en) | Continuously provisioning large-scale machine learning models | |
CN101689182B (zh) | 用于分布式文件系统的高效更新 | |
CN108629029B (zh) | 一种应用于数据仓库的数据处理方法和装置 | |
CN107357896A (zh) | 数据库集群的扩容方法、装置、系统和数据库集群系统 | |
CN105516233A (zh) | 用于在一个或多个云系统上便携部署应用的方法和系统 | |
CN106874281B (zh) | 实现数据库读写分离的方法和装置 | |
CN103067433A (zh) | 一种分布式存储系统的数据迁移方法、设备和系统 | |
CN110162334B (zh) | 一种代码管理方法、装置及存储介质 | |
CN110932912A (zh) | 一种微服务架构下配置文件统一管理的实现方法 | |
US10884839B2 (en) | Processing system for performing predictive error resolution and dynamic system configuration control | |
US10838798B2 (en) | Processing system for performing predictive error resolution and dynamic system configuration control | |
CN106326239A (zh) | 分布式文件系统及其文件元信息管理方法 | |
CN104969217A (zh) | 预测缓存装置和缓存预测方法 | |
CN103270520A (zh) | 基于重要性类的数据管理 | |
US11210212B2 (en) | Conflict resolution and garbage collection in distributed databases | |
CN113204368B (zh) | 应用程序处理方法、服务器及存储介质 | |
CN114610680A (zh) | 分布式文件系统元数据管理方法、装置、设备及存储介质 | |
CN112199200B (zh) | 资源调度方法、装置、计算机设备和存储介质 | |
CN110119388B (zh) | 文件读写方法、装置、系统、设备及计算机可读存储介质 | |
US10185735B2 (en) | Distributed database system and a non-transitory computer readable medium | |
JP2015153266A (ja) | ファームウェア管理システム、方法、及び、プログラム | |
JP7068210B2 (ja) | データベース管理システム、端末装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160913 Address after: American Texas Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Applicant before: Hewlett-Packard Development Company, Limited Liability Partnership |
|
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151007 |
|
WD01 | Invention patent application deemed withdrawn after publication |