缓存系统及方法技术方案

技术编号:14210822 阅读:70 留言:0更新日期:2016-12-18 19:54
描述了示例缓存系统和方法。在一个实现中,方法识别用于处理查询的多个文件,并且将多个文件中的每一个分发到特定的执行节点来执行查询。每个执行节点确定所分发的文件是否被存储在执行节点的缓存中。如果执行节点确定文件被存储在缓存中,则其使用缓存的文件处理查询。如果文件没有被存储在缓存中,则执行节点从远程储存设备中检索文件,将该文件存储在执行节点的缓存中,并且使用该文件处理查询。

【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求于2014年2月19日提交的标题为“Apparatus and method for enterprise data warehouse data processing on cloud infrastructure”的美国临时申请序列第61/941,986号的权益,该申请的公开内容通过引用以其整体并入本文。
本公开涉及管理数据的缓存的资源管理系统及方法。背景目前,许多现有的数据存储和检索系统是可用的。例如,在共享磁盘系统中,所有数据被存储在共享的存储设备上,其从数据集群中的所有处理节点是可访问的。在这种类型的系统中,所有的数据变化被写入到共享的存储设备,以确保数据集群中的所有的处理节点访问一致版本的数据。由于在共享磁盘系统中处理节点的数目增加,因此共享的存储设备(以及处理节点和共享的存储设备之间的通信链路)变成了减缓数据读取和数据写入操作的瓶颈。随着更多的处理节点的添加,进一步地加剧这种瓶颈。因此,由于该瓶颈问题,现有的共享磁盘系统具有有限的可扩展性。另一个现有的数据存储和检索系统被称为“无共享架构”。在此架构中,数据被分布在多个处理节点上,使得每个节点在整个数据库中存储数据的子集。当新的处理节点被添加或移除时,无共享架构必须重新排列在多个处理节点上的数据。这种数据的重新排列可以是费时的并且对在数据重新排列期间执行的数据读取和写入操作具有破坏性。并且,数据对特定节点的亲和度可以在对于流行数据的数据集群上创建“热点”。此外,由于每个处理节点也执行存储功能,因此该架构需要至少一个处理节点来存储数据。因此,如果所有的处理节点都被移除,则无共享架构无法存储数据。另外,由于在许多不同的处理节点上的数据的分布,无共享架构中的数据的管理是复杂的。本文所描述的系统及方法提供了对数据存储和数据检索的改进的方法,其缓解了上面确定的现有系统的局限性。附图简述参考以下附图描述了本公开的非限制性且非穷举性的实施例,其中除非另有说明,贯穿各个附图的相似的参考数字指代相似的部件。图1是描绘本文所描述的系统和方法的示例实施例的方框图。图2是描绘资源管理器的实施例的方框图。图3是描绘执行平台的实施例的方框图。图4是描绘示例操作环境的方框图,其中多个用户通过多个虚拟仓库访问多个数据库。图5是描绘另一个示例操作环境的方框图,其中多个用户通过负载平衡器和在虚拟仓库组中包含的多个虚拟仓库访问多个数据库。图6是描绘另一个示例操作环境的方框图,其具有多个分布式虚拟仓库和虚拟仓库组。图7是描绘用于管理数据存储和检索操作的方法的实施例的流程图。图8是描绘用于管理数据缓存的方法的实施例的流程图。图9是描绘示例计算设备的方框图。详细描述本文所描述的系统和方法提供用于存储和检索数据的新的平台而不存在现有系统所面临的问题。例如,这种新的平台支持新的节点的添加而无需按照无共享架构所要求重新排列数据文件。另外,节点可以被添加到平台而不会产生在共享磁盘系统中常见的瓶颈。这种新的平台始终可用于数据读取和数据写入操作,即使节点中的一些离线维护或发生故障。所描述的平台将数据存储资源与计算资源分开,使得数据可以被存储而无需要求专用计算资源的使用。这相对于无共享架构是一个改进,如果所有的处理节点被移除则该无共享架构无法存储数据。因此,新的平台继续存储数据,即使计算资源不再可用或者正在执行其它任务。在以下的描述中,参照形成其的一部分的附图,并且在附图中通过实例说明示出了本公开可以在其中被实践的具体示例性实施例。足够详细地对这些实施例进行描述以使本领域的技术人员能够实践本文所公开的概念,并且应该理解的是,在不脱离本公开的范围的情况下可以对各种公开的实施例做出修改,并且可以利用其它实施例。因此,以下详细的描述不应以限制意义被采用。贯穿本说明书,对“一个实施例”、“实施例”、“一个示例”或“示例”的引用意味着结合实施例或示例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。因此,贯穿本说明书,在各个位置中的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”的出现并不一定都指的是相同的实施例或示例。另外,应该认识到,这里提供的附图对本领域的技术人员是出于解释目的,并且附图并不一定按比例绘制。根据本公开的实施例可以被体现为装置、方法或计算机程序产品。因此,本公开可采用完全硬件组成的实施例、完全软件组成的实施例(包括固件、常驻软件、微代码等等)或结合软件和硬件方面的实施例的形式,其可在本文中通常全部被称为“电路”、“模块”或“系统”。此外,本公开的实施例可采用计算机程序产品的形式,该计算机程序产品被体现在具有在介质中体现的计算机可用程序代码的任何有形介质表示中。一个或多个计算机可用或计算机可读介质的任何组合可被使用。例如,计算机可读介质的可包括便携式计算机磁盘、硬盘、随机存取存储器(RAM)设备、只读存储器(ROM)设备、可擦除可编程只读存储器(EPROM或闪存)设备、便携式光盘只读存储器(CDROM)、光学存储设备以及磁存储设备中的一个或多个。用于执行本公开的操作的计算机程序代码可以以一个或多个编程语言的任何组合来编写。这样的代码可以从计算机可读汇编语言的源代码或者适合于在其上将执行该代码的设备或计算机的机器代码编译。实施例还可在云计算环境中实施。在本说明书和以下权利要求中,“云计算”可以被定义为模型,用于实现对可配置计算资源(例如,网络、服务器、存储器、应用和服务)的共享池的普遍存在的、方便的、按需的网络访问,该可配置计算资源可经由虚拟化被迅速地供应并以最小管理努力或服务提供商交互而被释放,并然后被相应地扩展。云模型可由各种特征(例如,按需自助、宽带网络访问、资源池、快速弹性以及可计量的服务)、服务模型(例如,软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)),以及部署模型(例如,私有云、社区云、公共云以及混合云)组成。所附附图中的流程图和框图根据本公开的各种实施例图示了系统、方法和计算机程序产品的可能的实施方式的架构、功能性和操作。在这点上,流程图或框图中的每个块可以代表代码的模块、片段或部分,其包括一个或多个用于实施指定的逻辑功能的可执行指令。还将指出的是,在框图和/或流程图中的每个块以及框图和/或流程图中块的组合可以由执行指定功能或行为的专用的基于硬件的系统或专用硬件和计算机指令的组合来实现。这些计算机程序指令还可存储在计算机可读介质中,其可指导计算机或其他可编程数据处理装置以特定方式起作用,使得存储在计算机可读介质中的指令产生制造品,其包括实施流程图和/或方框图的一个或多个方框中所指定的功能/行为的指令装置。本文所描述的系统和方法提供使用新的数据处理平台的灵活且可扩展的数据仓库。在一些实施例中,所描述的系统和方法利用云基础设施,该云基础设施支持基于云的存储资源、计算资源等。示例性的基于云的存储资源以低成本提供按需可用的大量存储容量。此外,这些基于云的存储资源可以是容错且高度可扩展的,其在私人数据存储系统中实现可以是成本高昂的。示例性的基于云的计算资源是按需可用的并且可基于资源的实际使用水平来定价。通常,云基础设施以快速的方式被动态地部署、重配置以及退役。在本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201580020415.html" title="缓存系统及方法原文来自X技术">缓存系统及方法</a>

【技术保护点】
一种方法,包括:识别用于处理查询的多个文件;将所述多个文件中的每一个分发到特定的执行节点,其中,每个执行节点被配置为利用被分发到该执行节点的文件执行所述查询;通过每个执行节点确定分发的文件是否被存储在所述执行节点的缓存中;响应于确定所述分发的文件被存储在所述执行节点的缓存中,使用一个或多个处理器使用存储在所述缓存中的所述文件来处理所述查询;以及响应于确定所述分发的文件没有被存储在所述执行节点的缓存中:从远程储存设备中检索所述文件;将所述文件存储在所述执行节点的缓存中;以及使用所述一个或多个处理器使用所述文件来处理所述查询。

【技术特征摘要】
【国外来华专利技术】2014.02.19 US 61/941,986;2014.10.20 US 14/518,9711.一种方法,包括:识别用于处理查询的多个文件;将所述多个文件中的每一个分发到特定的执行节点,其中,每个执行节点被配置为利用被分发到该执行节点的文件执行所述查询;通过每个执行节点确定分发的文件是否被存储在所述执行节点的缓存中;响应于确定所述分发的文件被存储在所述执行节点的缓存中,使用一个或多个处理器使用存储在所述缓存中的所述文件来处理所述查询;以及响应于确定所述分发的文件没有被存储在所述执行节点的缓存中:从远程储存设备中检索所述文件;将所述文件存储在所述执行节点的缓存中;以及使用所述一个或多个处理器使用所述文件来处理所述查询。2.根据权利要求1所述的方法,还包括基于当前本地存储在所述执行节点的缓存中的文件,更新元数据信息。3.根据权利要求1所述的方法,其中,将所述文件存储在所述执行节点的缓存中包括确定是将所述分发的文件存储在快速存储设备中还是较慢的储存设备中。4.根据权利要求3所述的方法,其中,确定是将所述分发的文件存储在快速的存储器中还是较慢的储存设备中包括实现最近最少使用(LRU)算法。5.根据权利要求4所述的方法,其中,所述LRU算法还识别要从特定的执行节点的缓存中移除的数据。6.根据权利要求1所述的方法,其中,将所述多个文件中的每一个分发到特定的执行节点包括分析与所述执行节点相关联的元数据。7.根据权利要求1所述的方法,其中,每个执行节点的缓存包括第一储存部分和第二储存部分,其中,所述第一储存部分明显快于所述第二储存部分。8.根据权利要求1所述的方法,其中,所接收的查询包括单指令,所述单指令基本上同时被应用到所述多个文件。9.根据权利要求1所述的方法,其中,从远程储存设备检索所述文件包括:确定所述文件的哪些部分被用于处理所述查询;以及从所述远程储存设备中只检索所述文件的用于处理所述查询的所述部分。10.根据权利要求1所述的方法,还包括将所述文件的用于处理所述查询的所述部分存储在所述执行节点的缓存中。11.根据权利要求1所述的方法,还包括在将所检索的文件存储在所述执行节点的缓存中之前对该文件的数据结构进行修改。12.根据权利要求11所述的方法,其中,对所述检索的文件的所述数据结构进行修改包括对所述检索的文件进行解密。13.根据权利要求11所述的方法,...

【专利技术属性】
技术研发人员:本诺特·戴奇维勒蒂埃里·克吕安斯马尔辛·祖科夫斯基
申请(专利权)人:斯诺弗雷克计算公司
类型:发明
国别省市:美国;US

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

1