更新高速缓存数据制造技术

技术编号:22330068 阅读:11 留言:0更新日期:2019-10-19 12:16
本公开涉及更新高速缓存数据。高速缓存数据由耦接到保持原始数据的主数据库以及耦接到保持与主数据库中的数据对应的数据的高速缓存的计算机器更新。响应于收到与第一数据相关的第一数据库查询,计算机器判定是通过利用高速缓存还是基于主数据库来处理所述第一数据库查询。响应于结束对所述第一数据库查询的处理,计算机器判定是否更新高速缓存中的第一数据,和根据所述判定的结果,基于主数据库中的原始第一数据更新高速缓存中的第一数据。

Update cache data

【技术实现步骤摘要】
更新高速缓存数据
本主题一般涉及数据库技术。更具体地,针对的是在对于高速缓存数据或原始数据的查询的处理结束之后,更新高速缓存数据。
技术介绍
数据库技术中的一个常见问题是确保对数据库查询或请求的响应时间较短,例如由于数据量较大,这些数据库查询或请求需要复杂、长时间和资源密集型的处理。例如,响应于所谓的“开放式查询”,必须进行这种消耗计算能力的处理,“开放式查询”只包含很少的输入信息(例如,仅仅指定十几个可能参数中的一个或两个参数,和/或参数的指定值范围很广),从而一般会导致大量的结果。通过提高硬件性能来加速数据处理的可能性有限。从而,关注改进复杂、长时间和资源密集型处理背后的机制,以便对这类查询作出响应。缩短响应时间的一种常见方法是准备响应于预期请求而要返回的结果(例如,通过基于原始数据,预先计算或预先收集此类结果),并把对应查询结果保持在预先计算的查询结果的池中。然后,请求不是基于原始数据基础进行处理和响应的,而是指向预先计算的查询结果的池。重新计算大量预先计算的查询结果是一项消耗大量计算资源的任务。从而,寻求重新计算机制,以有效地进行预先计算的查询结果的重新计算。EP2908255A1描述了利用指示关联的搜索结果有效的概率的置信因子,控制是基于预先收集的搜索结果还是主数据库来响应搜索查询的网络节点(称为交换机)。
技术实现思路
按照第一方面,提供一种由计算机器执行的方法,以更新高速缓存中的数据。所述计算机器耦接到保持原始数据的主数据库,并耦接到保持与主数据库中的数据对应的数据的高速缓存。响应于收到与第一数据相关的第一数据库查询,所述计算机器判定是通过利用高速缓存,还是基于主数据库来处理所述第一数据库查询。响应于结束对所述第一数据库查询的处理,所述计算机器判定是否更新高速缓存中的第一数据。如果判定是否更新第一数据指示更新第一数据,则计算机器基于主数据库中的原始第一数据更新高速缓存中的第一数据。另一方面,如果判定是否更新第一数据指示不更新第一数据,则计算机器不更新高速缓存中的第一数据。按照第二方面,提供一种布置成执行所述方法的对应计算机器。按照第三方面,提供一种保存在存储介质上的计算机程序,当由计算机器执行时,所述程序向计算机器提供对应功能。具体实施方式部分记载了更多的可选方面。附图说明下面参考附图,说明本专利技术的机制。相同的附图标记指示相同或功能相似的元件。图1形象表示随着时间的推移,预先计算的查询结果的有效性概率不断降低的效果。图2示意描述分布式数据库系统的例子。图3是更新高速缓存数据的高级消息序列图。图4表示对于读取查询的高级消息序列。图5表示对于写入查询的高级消息序列。图6是更新相关的高速缓存数据的高级消息序列图。图7涉及高速缓存数据的更新的另一个例子。图8形象表示高速缓存数据随时间的一系列例证更新。图9表示剔除重复的高速缓存更新请求的安排。图10是计算机器的内部体系结构的例证示意图。具体实施方式为了处理需要基于大量底层数据的计算的数据库查询或批处理计算请求,受到预期数据库查询的数据可被高速缓存(预先收集、预先计算),并作为高速缓存数据保存在高速缓存或高速缓存数据库中,而原始数据保存在主数据库中。在搜索过程中,请求实体(比如安装在用户终端上的客户端、应用、浏览器等)查询高速缓存,响应于查询,任何满足查询所指示的搜索条件的高速缓存数据都会被返回给客户端。下面,本文中使用术语“数据库查询”作为包括任何类型的信息检索请求(比如事务查询、对批处理计算的请求以及其他形式)的通用术语。归因于从其获得高速缓存数据的原始数据的变化,随着时间的推移,将数据高速缓存并把高速缓存数据保存在查询客户端可访问的高速缓存中的方法会导致高速缓存数据可能变得过时或无效(本文中,这两个用语是同义地使用的)的一般情况。下面,仍然是最新的(即,匹配对应的原始数据等同物)的高速缓存数据被称为“有效的”高速缓存数据。通常,为了使搜索平台(即,布置成接收数据库查询,并返回对数据库查询的响应的平台)返回正确的结果,希望在响应于数据库查询而提供给查询实体的高速缓存数据与其原始数据等同物之间,维持相当大程度的相关性。然而,同时理想的是使由重新计算或高速缓存更新所造成的计算资源消耗降至最少,即,避免任何不必要的重新计算,比如仍然有效的高速缓存数据的重新计算/更新。计算资源有限,并且通常并不是始终都有足够的计算资源来重新计算/更新所有的高速缓存数据。从而,寻求高速缓存数据有效性和可用计算资源的利用之间的折衷。为了使重新计算/高速缓存更新更有效,定义了评估重新计算有多“必要”或“不必要”的指标。例如,如果结果是不到一半的高速缓存数据是过期的,那么就计算或更新资源来说,定期(例如每天)进行整个大规模的预先计算是低效的。另一方面,如果已知特定类别的原始数据频繁变化,那么每天数次更新对应的高速缓存数据可能有利于高速缓存的有效性。从而,通常要考虑到有效性的相关增益和重新计算/高速缓存更新的技术资源成本两者,寻求一种评估或估计高速缓存数据有效性的有效途径。为此,一些机制模拟高速缓存数据的有效性随时间的降低。图1描述了这种可能的随着时间的精度降低的两个例证函数。函数10表示与和函数11关联的另外的高速缓存数据相比,可能仍然更精确(或者更准确地说,随着时间的推移,仍然有效的概率更高)的高速缓存数据。例如,函数10所表示的高速缓存数据在其上次更新之后35小时仍然有效的概率为70%,而函数11所表征的另外的高速缓存数据在其上次重新计算之后35小时,只有最多约50%有效。函数10和11还可以表示多个高速缓存数据的全部共享(share),从而指示在自共享的上次更新以来过去的某个时间可能有效的高速缓存数据的共享的比例。图2示意图解说明本文中利用的分布式数据库系统1。原始数据保持在主数据库3中。术语“原始数据”指的是通常有效并构成数据库系统1内的所有数据处理的基础的数据,特别是数据库查询所指向的数据。原始数据可能涉及特定领域中的任何类型的信息。例如,原始数据可能位于基于计算机的电子电路仿真(比如EPO上诉委员会的决定T1227/05的电路仿真主题)的领域,包含关于基于计算机的电子电路仿真的输入值、基于计算机的电子电路仿真使用的模型的参数、中间和/或最终仿真结果等的信息。对应于原始数据的高速缓存数据保存在高速缓存4中。高速缓存数据可能与对应原始数据等同(例如,像爬取并高速缓存因特网网站内容的web爬虫的例子中一样),和/或是基于原始数据预先计算或预先处理的(例如,通过另外索引高速缓存4中的数据),以便与从主数据库3检索对应原始数据所需的时间相比,减少回答数据库查询的响应时间。在这点上,术语“高速缓存”还覆盖任意种类的通过任意种类的计算和处理将原始数据转换成存储在高速缓存4中的高速缓存数据。例如,在基于计算机的电子电路仿真的领域中,预先计算可能涉及利用精简的参数集(与实际系统的所有参数相比)进行仿真,但是利用所述参数集的不同值,以便获得用作利用另外或其他参数集的进一步模拟中的输入值的结果。高速缓存4是例如归因于数据的预先计算、其中心网络位置、宽带网络连接、适应于快速数据检索的特殊硬件和/或提高数据检索性能的数据库协议和索引,而比主数据库3快得多的数据库。这里的术语“数据本文档来自技高网...

【技术保护点】
1.一种由计算机器执行的更新高速缓存中的数据的方法,所述计算机器耦接到保持原始数据的主数据库以及耦接到保持与主数据库中的原始数据对应的数据的高速缓存,所述方法包括在所述计算机器:‑响应于收到与第一数据相关的第一数据库查询,根据至少一个给定的轮询因素,判定是通过利用高速缓存还是基于主数据库来处理所述第一数据库查询;‑响应于结束对所述第一数据库查询的处理,判定是否更新高速缓存中的第一数据;和‑如果判定是否更新第一数据指示更新第一数据,则基于主数据库中的原始第一数据更新高速缓存中的第一数据。

【技术特征摘要】
2018.04.03 FR 1852866;2018.04.03 US 15/944,5721.一种由计算机器执行的更新高速缓存中的数据的方法,所述计算机器耦接到保持原始数据的主数据库以及耦接到保持与主数据库中的原始数据对应的数据的高速缓存,所述方法包括在所述计算机器:-响应于收到与第一数据相关的第一数据库查询,根据至少一个给定的轮询因素,判定是通过利用高速缓存还是基于主数据库来处理所述第一数据库查询;-响应于结束对所述第一数据库查询的处理,判定是否更新高速缓存中的第一数据;和-如果判定是否更新第一数据指示更新第一数据,则基于主数据库中的原始第一数据更新高速缓存中的第一数据。2.按照权利要求1所述的方法,包括在所述计算机器:-如果判定是否更新第一数据指示不更新第一数据,则不更新高速缓存中的第一数据。3.按照权利要求1或2所述的方法,其中所述第一数据库查询是读取查询,所述方法包括:-利用高速缓存处理所述第一数据库查询,其中响应于结束利用高速缓存对所述第一数据库查询的处理,进行更新高速缓存中的第一数据的判定。4.按照权利要求1或2所述的方法,其中所述第一数据库查询是写入查询,所述方法包括:-基于主数据库中的原始第一数据处理所述第一数据库查询,导致主数据库中的原始第一数据的更改,其中响应于结束基于主数据库中的原始第一数据对所述第一数据库查询的处理,进行基于主数据库中的更改后的原始第一数据更新高速缓存中的第一数据的判定。5.按照权利要求1-4任意之一所述的方法,还包括:-响应于结束对所述第一数据库查询的处理,判定是否基于主数据库中的原始第二数据更新与第一数据相关的高速缓存中的至少一个第二数据。6.按照权利要求1-4任意之一所述的方法,还包括:-通过采用机器学习算法判定高速缓存中的第一数据仍然有效,即,与主数据库中的原始第一数据相同的可能性的...

【专利技术属性】
技术研发人员:L·卡尼斯S·姆戈扎V·阿隆索C·普兰丁A·梅纳德JB·雷G·克劳德
申请(专利权)人:艾玛迪斯简易股份公司
类型:发明
国别省市:法国,FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1