CN110914814B - 分布式存储环境的认知文件和对象管理 - Google Patents

分布式存储环境的认知文件和对象管理 Download PDF

Info

Publication number
CN110914814B
CN110914814B CN201880047167.XA CN201880047167A CN110914814B CN 110914814 B CN110914814 B CN 110914814B CN 201880047167 A CN201880047167 A CN 201880047167A CN 110914814 B CN110914814 B CN 110914814B
Authority
CN
China
Prior art keywords
files
groups
query
central cluster
cluster
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
CN201880047167.XA
Other languages
English (en)
Other versions
CN110914814A (zh
Inventor
S.巴拉钱德兰
张睿
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 CN110914814A publication Critical patent/CN110914814A/zh
Application granted granted Critical
Publication of CN110914814B publication Critical patent/CN110914814B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/144Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种方法包括在接收到对存储到分布式文件系统的中央群集的多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中。所述多个组中的每个组中的文件有共同的可搜索特征。该方法还包括在中央群集处接收所述查询的指示。此外,该方法还包括通过将所述多个组中的与所述查询相对应的一个或多个组的文件复制到分布式文件系统的提供所述查询的指示并且在地理上与中央群集不同的本地群集,来响应所述查询。

Description

分布式存储环境的认知文件和对象管理
背景技术
本发明涉及分布式存储环境,更具体地说,涉及使用认知技术的分布式存储环境中的文件和对象管理。
中央分布式群集文件系统能够为存储在分布式文件系统中的所有文件和/或对象提供全局命名空间。实际上,这样的系统作为一个全局数据存储库运行,能够包含大量的数据存储容量,并且可以跨不同的存储类分层。这样的系统包括中央数据存储库群集,以及比中央数据存储库小的多个本地群集。每个本地群集,也称为高速缓存群集,包括一个或多个存储类的多个存储设备,并且可以利用广域网(WAN)高速缓存技术,在本地群集的高速缓存中高速缓存存储到分布式文件系统的部分数据。
通常,广域网高速缓存用于更有效地提供本地群集上的用户经常访问的数据。这样,在本地群集上执行的查询和/或分析操作将针对本地群集运行。由于数据存储需求和数据同步成本较高,在每个本地群集和中央群集上存储所有数据是不切实际的。因此,中央集群通常用于存储数据的全局副本,各种本地集群可以从中检索数据以进行查询和/或分析操作。在这种典型的使用模型中,数据是在可能在地理上分布在分布式文件系统的物理覆盖范围内的各种本地群集中接收和提取的。从各种本地群集摄取的数据随后被复制到中央群集,作为全局副本被存储。在替代的使用模型中,中央群集可以用作数据存储库,多个本地群集可以利用作为只读实例存储到中央存储库的数据,以更快地访问数据。
在这两种使用模式中,远程访问存储到中央群集的数据的延迟都高于分布式文件系统用户期望的延迟,除非数据也存储在用户试图访问的本地群集上。这导致分布式文件系统访问性能的波动。
此外,大数据分析可能需要扫描存储在全局数据存储库中的很大一部分(或全部)数据。这可能太过于消费资源,以至于无法直接在全局数据存储库上执行所有查询,因此可以在控制器以外的能通过将全局数据存储库中的所有数据复制到另一个设备来访问全局数据存储库的设备上执行查询。在某些情况下,运行分析操作后,从该另一个设备删除所复制的数据,这就要求在执行后续的分析操作时要再次从全局数据存储库复制所有数据。在其他情况下,可以将所复制的数据缓存起来,这就需要在该另一个设备上有大量的本地存储。在任何一种情况下,所复制的数据都包括全局数据存储库中的所有数据,这是因为没有任何智能确定在分析操作中要使用哪些数据,以及不要复制全局数据存储库上的哪些数据可。此外,并非所有复制的数据都可以用于分析操作,而只是在处理查询时丢弃,从而浪费诸如网络带宽、处理带宽、内存容量、时间等大量资源。
或者,当全局数据存储库中有足够的处理能力来处理所有查询时,仍然可以缓存数据(即,将数据复制并保存在全局数据存储库的本地内存中),以加快查询处理。以这种方式执行查询的资源成本,与复制数据以在另一台设备上执行查询相似。
发明内容
在一个一般实施例中,一种方法包括在接收到对存储到分布式文件系统的中央群集的多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中。所述多个组中的每个组中的文件都有一个共同的可搜索特征。该方法还包括在中央群集接收查询指示。此外,该方法包括通过将该多个组中与该查询相对应的一个或多个组的文件复制到提供该查询的指示并且在地理上与中央群集不同的分布式文件系统的本地群集来响应查询。
在另一个一般实施例中,一种计算机程序产品包括其中体现有程序指令的计算机程序产品。计算机可读存储介质本身不是暂时性信号,并且所体现的程序指令可由处理电路执行以使处理电路可读存储介质。计算机可读存储介质本身不是暂时性信号,并且所体现的程序指令可由处理电路执行以使处理电路通过处理电路在接收到对存储到分布式文件系统的中央群集的多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中。所述多个组中的每个组中的文件都有一个共同的可搜索特征。此外,所体现的程序指令可由处理电路执行,以使处理电路通过中央群集处的处理电路接收该查询的指示。此外,所体现的程序指令可由所述处理电路执行以使所述处理电路通过将与所述查询相对应的所述多个组中的一个或多个组的文件复制到提供所述查询的指示并且在地理上与中央群集不同的分布式文件系统的本地群集,由所述处理电路来响应所述查询。
在另一个一般实施例中,一种系统包括处理电路、存储器和存储到存储器的逻辑,其在被处理电路执行时使处理电路在接收到对存储到分布式文件系统的中央群集的多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中,其中所述多个组中的每个组中的文件有共同的可搜索特征。该逻辑被处理电路执行时还使处理电路在中央群集处接收所述查询的指示。此外,该逻辑被处理电路执行时还使处理电路将与所述查询相对应的所述多个组中的一个或多个组的文件复制到提供所述查询的指示分布式文件系统的本地群集,来响应所述查询。
按照另一个一般实施例,一种方法包括在分布式文件系统的中央群集处从一个或多个源接收多个文件,所述多个文件包括文本和非结构化数据。该方法还包括将所述多个文件存储到中央群集和在中央群集上将非结构化数据转换为文本。此外,该方法还包括在接收到对所述多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中。所述多个组中的每个组中的文件有共同的可搜索特征,并且,将所述过滤器应用到从非结构化数据转换后的所述文件的文本。
按照另一个一般实施例,一种方法包括在向分布式文件系统的中央群集发送查询的指示之前,在分布式文件系统的本地群集中搜索与所述查询相关的文件。该方法还包括响应于对所述相关的文件未存储到本地群集的确定,向中央群集发送所述查询的指示。该方法还包括在本地群集接收与所述查询相关的一组文件。此外,该方法还包括对该组文件执行所述查询,但条件是该组文件不包括存储到中央群集的所有文件。此外,该方法还包括根据高速缓存移出策略,将该组文件在本地群集上存储从最后一次访问该组文件起的预定的一段时间。
通过以下详细描述,本发明的其他方面和实施例将变得显而易见。以下详细描述结合附图举例示出了本发明的原理。
附图说明
图1描绘了根据本发明实施例的云计算节点。
图2描绘了根据本发明实施例的云计算环境。
图3描绘了根据本发明实施例的抽象模型层。
图4示出了根据一个实施例的分层数据存储系统。
图5A-5C示出了根据一个实施例的为有效查询处理而过滤和分组数据的几个阶段期间的分布式系统。
图6示出了在示例性分布式系统中用于有效查询处理的数据过滤和分组。
图7示出了根据一个实施例的方法的流程图。
图8示出了根据一个实施例的方法的流程图。
具体实施方式
下面的描述是为了说明本发明的一般原理,并不意味着限制这里要求保护的发明构思。此外,本文描述的特定特征,可以与其它描述的特征结合在各种可能的组合和排列中。
除非本文另有明确定义,否则所有术语均应给出其尽可能广泛的解释,包括说明书中隐含的含义以及本领域技术人员明了的和/或词典、论文等中定义的含义。
还必须注意,如在说明书和所附权利要求中所使用的,除非另有规定,否则单数形式“一”、“一个”和“该”包括复数指称。应进一步理解,术语“包含”和/或“包括”在本说明书中使用时,规定了所述特征、整数、步骤、操作、元素和/或组件的存在,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、组件和/或其组合。本文中使用的术语“约”表示以术语“约”为前导的值,以及与以术语“约”为前导的值如本领域技术人员所理解的那样合理地接近的任何值。如果未另行说明,则术语“约”表示以术语“约”为前导的值±10%的该值。例如,“约10”表示所有从9.0到11.0的值。
以下描述公开了用于在分布式存储环境中对文件和对象进行认知管理的系统、方法和计算机程序产品的几个优选实施例。
在一个一般实施例中,一种方法包括在接收到对存储到分布式文件系统的中央群集的多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中。所述多个组中的每个组中的文件都有一个共同的可搜索特征。该方法还包括在中央群集接收查询指示。此外,该方法包括通过将该多个组中与该查询相对应的一个或多个组的文件复制到提供该查询的指示并且在地理上与中央群集不同的分布式文件系统的本地群集来响应查询。
在另一个一般实施例中,一种计算机程序产品包括其中体现有程序指令的计算机程序产品。计算机可读存储介质本身不是暂时性信号,并且所体现的程序指令可由处理电路执行以使处理电路可读存储介质。计算机可读存储介质本身不是暂时性信号,并且所体现的程序指令可由处理电路执行以使处理电路通过处理电路在接收到对存储到分布式文件系统的中央群集的多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中。所述多个组中的每个组中的文件都有一个共同的可搜索特征。此外,所体现的程序指令可由处理电路执行,以使处理电路通过中央群集处的处理电路接收该查询的指示。此外,所体现的程序指令可由所述处理电路执行以使所述处理电路通过将与所述查询相对应的所述多个组中的一个或多个组的文件复制到提供所述查询的指示并且在地理上与中央群集不同的分布式文件系统的本地群集,由所述处理电路来响应所述查询。
在另一个一般实施例中,一种系统包括处理电路、存储器和存储到存储器的逻辑,其在被处理电路执行时使处理电路在接收到对存储到分布式文件系统的中央群集的多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中,其中所述多个组中的每个组中的文件有共同的可搜索特征。该逻辑被处理电路执行时还使处理电路在中央群集处接收所述查询的指示。此外,该逻辑被处理电路执行时还使处理电路将与所述查询相对应的所述多个组中的一个或多个组的文件复制到提供所述查询的指示分布式文件系统的本地群集,来响应所述查询。
按照另一个一般实施例,一种方法包括在分布式文件系统的中央群集处从一个或多个源接收多个文件,所述多个文件包括文本和非结构化数据。该方法还包括将所述多个文件存储到中央群集和在中央群集上将非结构化数据转换为文本。此外,该方法还包括在接收到对所述多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中。所述多个组中的每个组中的文件有共同的可搜索特征,并且,将所述过滤器应用到从非结构化数据转换后的所述文件的文本。
按照另一个一般实施例,一种方法包括在向分布式文件系统的中央群集发送查询的指示之前,在分布式文件系统的本地群集中搜索与所述查询相关的文件。该方法还包括响应于对所述相关的文件未存储到本地群集的确定,向中央群集发送所述查询的指示。该方法还包括在本地群集接收与所述查询相关的一组文件。此外,该方法还包括对该组文件执行所述查询,但条件是该组文件不包括存储到中央群集的所有文件。此外,该方法还包括根据高速缓存移出策略,将该组文件在本地群集上存储从最后一次访问该组文件起的预定的一段时间。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。软件组件的例子包括:网络应用服务器软件67以及数据库软件68。
虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。
在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能85:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层90提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及分布式存储环境的认知文件/对象管理。
现在参考图4,示出了根据一个实施例的分层存储系统400,在一些方法中,该实施例可以代表公共分层对象储存器。注意,根据各种实施例,图4中所示的一些元件可以实现为硬件和/或软件。存储系统400可以包括存储系统管理器412,用于与至少一个较高存储层402和至少一个较低存储层406通信。较高存储层402优选地可以包括一个或多个随机存取和/或直接存取介质404,例如非易失性存储器(NVM)、固态驱动器(SSD)中的固态存储器、闪存、SSD阵列、闪存阵列、硬盘驱动器(HDD)中的硬盘等,和/或本文中所述或本领域已知的其它介质。较低存储层406可以优选地包括一个或多个性能较低的存储介质408,包括较慢的存取HDD、顺序存取介质(例如磁带驱动器中的磁带和/或光盘介质等),和/或本文中所述或本领域已知的其他介质。一个或多个附加存储层416可以包括系统400的设计者所期望的存储存储器介质的任何组合。另外,任何较高存储层402和/或较低存储层406可以包括存储设备和/或存储介质的一些组合。
存储系统管理器412可以通过网络410(例如,如图4所示的存储区域网络(SAN)或一些其他合适的网络类型)与较高存储层402和较低存储层406上的存储介质404、408通信。存储系统管理器412还可以通过主机接口414与一个或多个主机系统(未示出)通信,该主机接口414可以是或可以不是存储系统管理器412的一部分。存储系统管理器412和/或存储系统400的任何其他组件可以硬件和/或软件实现,并且可以使用本领域已知类型的用于执行命令的处理器(未示出),例如中央处理单元(CPU)、现场可编程门阵列(FPGA),专用集成电路(ASIC)等。当然可以使用对于本领域技术人员在阅读本说明书时是显而易见的存储系统的任何安排。
在更多实施例中,存储系统400可以包括任意数量的数据存储层,并且可以在每个存储层中包括相同或不同的存储存储器介质。例如,每个数据存储层可以包括相同类型的存储存储器介质,例如HDDs、、SSDs、顺序存取介质(磁带驱动器中的磁带、光盘驱动器中的光盘等)、直接存取介质(CD-ROM、DVD-ROM等),或介质存储类型的任意组合。在一种这样的配置中,较高存储层402可以包括用于在较高性能的存储环境中存储数据的大部分SSD存储介质(不超过并包括所有SSD存储介质),其余存储层,包括较低存储层406和附加存储层416,则可以包括SSD、SSD、,磁带机等的任意组合,用于在性能较低的存储环境中存储数据。这样,可以将更频繁地访问的数据、具有更高优先级的数据、需要更快地访问的数据等存储到较高存储层402,而不具有这些属性之一的数据可以存储到附加存储层416,包括更低的存储层406。当然,本领域技术人员在阅读本说明书时,可以根据本文所示的实施例,设计存储介质类型的许多其他组合,以实现到不同的存储方案中。
在一个特定实施例中,存储系统400可以包括SSDs和HDDs的组合,其中较高存储层402包括SSDs(并可能包括某种缓冲存储器),较低存储层406包括HDDs(并可能包括某种缓冲存储器)。根据另一实施例,存储系统400可以包括SSDs和磁带与磁带驱动器的组合,其中较高存储层402包括SSDs(并可能包括某种缓冲存储器),较低存储层406包括磁带(并可能包括某种缓冲存储)和磁带驱动器,用于从磁带访问数据。在又一个实施例中,存储系统400可以包括HDDs和磁带的组合,其中较高存储层402包括HDDs(并可能包括某种缓冲存储),较低存储层406包括磁带(并可能包括某种缓冲存储器)。
现在参考图5A,示出根据一个实施例的中心的、分布式和群集化文件系统500(以下称为“分布式系统500”)的框图。分布式系统500可以包括存储和/或包括信息和/或数据、并可以被分布式系统500的一个或多个用户502访问的任意数量的文件和/或对象(以下称为“文件504”)。此外,分布式系统500包括被配置为全局数据存储库的中央群集506、在地理上不同于中央群集的多个本地高速缓存群集508a、508b、…、508n(以下称为“本地群集508”(以下称为组))以及耦合各种本地群集508与中央群集506的一个或多个网络510。可以使用本领域技术人员在阅读本说明书时显而易见的任何类型的网络510,例如但不限于因特网、WAN、LAN、SAN等。
此外,中央群集506和每个本地群集508包括硬件处理电路,该硬件处理电路被配置为执行提供给它的程序指令。本文中未具体描述的其他硬件和/或软件组件也可以包括在中央群集506和/或本地群集508中的一个或多个中,如本领域技术人员所知的那样。
在一个实施例中,中央群集506和/或一个或多个本地群集508内的一个或多个硬件组件的一个或多个可以有并行安装的冗余组件,以便在主硬件组件出现故障、断电,无法执行其分配的功能任务等情况下,执行冗余功能。
此外,中央群集506和每个本地群集508包括一种或多种计算机可读存储介质512。可以在中央群集506和各种本地群集508中使用任何类型的计算机可读存储介质512,例如但不限于非易失性存储器(NVM)存储设备、直接存取存储设备(DASDs)、随机存取存储器单元等。可以使用任何合适的NVM存储设备,例如闪存、RAM,可擦除可编程只读存储器(EPROM)、固态器件(SSD)等。此外,可以使用任何DASDs,例如HDDs、与磁带驱动器一起使用的磁带介质、光盘驱动器等。此外,在计算机可读存储介质512中还可以存在高速缓存或缓冲器,用于在计算机可读存储介质512上存储之前进行数据暂存。
存储到中央群集506的文件504和存储到本地群集508的文件可以包括类型(文本数据、视频数据、音频数据、非结构化数据等)、大小、主旨或内容等方面不同的信息,如本领域技术人员所理解的那样。此外,在一些方法中,与文件504相关联的元数据可以指示各种文件504的至少一些特性。然而,在传统方法中,存储到中央群集506的文件504没有以提供对其进行有效搜索的有意义的方式进行组织。
现在参考图5B,其描述了根据一个实施例的用于将文件504认知过滤到中央群集506上的子容器中的处理。该处理以各种方法改进和增强了为确定更可能与查询相关的文件而搜索和/或过滤存储到中央群集506的文件504的能力。
可以使用任何已知的搜索算法,例如但不限于Rabin-Karp字符串搜索算法、基于有限状态自动机的搜索算法、Knuth-Morris-Pratt算法等,以及由诸如 等主要技术公司提供的专有算法。
为了在中央群集506上组织文件504,将存储在文件504中的所有非结构化数据转换为可以用多种传统搜索算法中的任何一种方便有效地进行搜索的、基于文本或文本注释的文件中的文本(对于图像和/或视频文件,文本注释可以作为元数据添加到原始文件中)。对于这些描述的其余部分,纯文本文件和混合内容文本注释文件将被称为基于文本的文件。一旦来自文件504的原始文件被转换为基于文本的文件,则在原始文件和生成的基于文本的文件之间建立关联,使得返回基于文本的文件的任何搜索能够回溯到原始文件。
在一个实施例中,可以使用一个或多个应用程序接口(APIs)将非结构化数据转换为基于文本的数据。为了将非结构化数据转换为基于文本的数据,每种类型的非结构化数据可能应用不同的API。在一个实施例中,APIs可用于向基于文本的数据的转换。
根据一个实施例,可以使用设计用于搜索文件504中的特定内容或特定非结构化数据的一个或多个搜索算法来搜索存储在中央群集506上的所有文件504。在一个示例中,可以配置图像搜索算法来专门搜索图像文件并返回在搜索中指定的图像,使得可以使用该搜索算法搜索每个包含图像数据的文件,并通过图像搜索将那些包含指定图像的文件返回。在另一示例中,对不包括图像数据的文件,不应用这种图像搜索算法。
在另一示例中,可以配置音频搜索算法来专门搜索音频文件并返回在搜索中指定的音频数据,使得可以使用该搜索算法搜索每个包含音频数据的文件,并通过图像搜索将那些包含指定音频的文件返回。在另一示例中,对不包括音频数据的文件,不应用这种音频搜索算法。
当然,在各种其它实施例中,可以使用许多其他特定于内容和/或非结构化数据搜索算法,包括那些设计用于搜索自定义和/或专有非结构化数据表单的算法,来搜索和组织存储在中央群集506上的文件504,本领域技术人员在阅读本说明书时会明显看出这一点。
对存储在中央群集506上的基于文本的文件和/或所有文件504进行分析,以确定存储在中央群集506上的每个基于文本的文件和/或所有文件504的一个或多个相关类别,从而可以对各种文件504(最终是对关联的文件)执行过滤和分组。类别的相关性是基于特定用户的兴趣(例如,用户从事的业务类型)、地理位置(例如,用户、家庭、营业地等)、查询日期等来选择的。
在各种非限制性示例中,可以根据与各个文件相关联的日期、各个文件中提及的和/或与各个文件相关联的地理位置、各个文件创建的地理位置,各个文件的相似和/或共同内容(可能基于各个文件中的关键字)、各个文件的类似用法、对各个文件的访问频率等,来过滤和分组存储在中央群集506上的基于文本的文件和/或所有文件504。
在另一个非限制性示例中,可以根据存储在各个文件中的一个值、多个值和/或值的范围来过滤和分组存储在中央群集506上的基于文本的文件和/或所有文件504,这些值与查询中的指定参数相关,诸如日期、货币、时间、虚拟或物理位置、用户组、访问权限或查询创建者感兴趣的其他特定值。特定的兴趣值可以是与商务、教育、追求和/或对分布式存储系统中存储的数据的兴趣相关的任何重要内容。在一些示例中,对于医疗行业应用,特定的兴趣值可以是一个或多个患者分类(例如,年龄、性别、种族、生存状况等)、一个或多个条件分类(例如癌症、哮喘、链球菌咽喉炎、关节炎等)、一个或多个测试分类(例如,放射学测试,基因测试、体检等);对于金融行业的应用,特定的兴趣值可以是一个或多个代码符号(例如,MSFT、INTL、T等)、一个或多个行业分类(例如,技术、软件、制药、制造等)、一个或多个评估指标(例如,10亿以上的资本,小、中、大资本等);对于药业应用,特定的选兴趣值可以是一个或多个基于药物的分类(如他汀类、咖啡因、苯二氮卓类、芬太尼、对乙酰氨基酚、吗啡、阿片类、羟考酮等)、一个或多个与治疗相关的科学家、一个或多个、的治疗应用(止痛药、消肿药、局部麻醉药等),一个或多个剂量等。
本领域技术人员在阅读本说明书时将理解,在各种实施例中,可以基于特定应用和将要利用所述特定兴趣值的特定查询来自定义地定义特定兴趣值。
在又一个非限制性示例中,可以根据中央群集506所测量的各个文件中包含的信息的流行程度以及任何特定文件被复制到一个本地群集508上的频率,来过滤和分组存储在中央群集506上的基于文本的文件和/或所有文件504。
根据另一实施例,可以在组内创建子组,并且在树结构中,特定组内可以存在多个其它级别的子组。这样,被排序到特定组中的文件可以进一步被排序到比特定组更精细的子组中。例如,当按位置分组时,国家可以填充最上面的组,然后是州或省的子组,然后是城市的子组,最后是城市内的社区的子组,等等。
在一个实施例中,该过滤和分组操作可以以在中央群集506上执行的连续的后台处理的方式来执行,使得当新文件被添加到中央群集506,新文件能够被有效地转换(如有必要的话)和分类,而对分布式系统500的其它功能几乎没有影响。在另一个实施例中,可以周期性地或响应于发生的触发事件来执行过滤和分组操作。可以使用任何合适的触发事件,例如新文件被添加到中央群集506、文件在中央群集506上被修改、在中央群集506上添加和/或修改的预定阈值数量的文件、管理员发出显式请求等。
在一个实施例中,可以根据一个或多个关键字过滤和分组存储在中央群集506上的基于文本的文件和/或所有文件504。关键字可以基于与各种本地群集508交互的多个用户的输入而被自动创建,并且可以代表在预定时间段内最常用的查询项。
当在本地群集上执行查询时,查询或查询的某种指示通常被发送到中央群集506,以确定哪些文件504满足查询条件。查询的指示可以是查询本身、先前收到的和/或预期在将来收到的一组查询和/或由一个或多个用户表达的兴趣—这些兴趣可以构成将来查询的基础,并且可以用于为这样的将来查询预取数据。可以使用任何类型的查询,例如搜索查询、确定关于由分析查询返回的底层数据的某些内容的分析查询(例如,查询中的数据之间的一个或多个方面、特征、相似性和/或差异)。传统上,所有文件504都被复制到请求查询的本地群集。在另一种传统方法中,查询可以在中央群集506上执行,从而耗尽中央群集506的宝贵资源,而不是将工作负载推送到本地群集508之一。
如图5C所示,响应于在中央群集506上预先存在为了满足共同的查询而被认知地创建的组516,可以快速地确定与特定查询514相关的文件,将其复制到查询514是从其处发起的本地群集518,而不是将所有文件504都复制到查询514是从其处发起的本地群集518。与传统的处理相比,这节省了大量的资源,因为不需要用中央群集506的资源(例如存储器空间、处理器能力等)来过滤结果,或是在将所有文件504复制到本地群集518上后再过滤所有文件504以确定哪些文件504与该查询相关。这在一定程度上是由于本地群集518的资源被用于仅过滤文件504的一个子集,例如—如中央群集506在接收到查询514时确定的—中央群集506上的一个或多个特定组520内与该查询相关的文件。
在对中央群集506的至少一些文件504执行过滤和分组之后,用来对文件504进行分组的各种过滤器基于现有组的有用性和本地群集508对中央群集506上的组的使用模式,随着时间而进行学习和适应。这种学习将调整过滤器,以便它们能够提供包含与接收的查询更相关的文件的组,以便将来用较少的中央群集506资源来响应收到的查询。当然,没有办法完全预计到将接收到哪些查询,但是智能的、学习的过滤器可能能够被用来响应所有接收到的查询中超过90%的组,其余的查询则以在对中央群集506上的文件504进行过滤之后的结果来响应。过滤器的学习和适应可以使各种组516响应于文件504的变更而改变和/或修改,其中,文件504的变更诸如是添加新的组,修改一个或多个组中的文件,删除一个或多个现有组,等等。
在另一实施例中,可以响应于例如通过向一个组添加一个或多个新文件、从一个组删除一个或多个现有文件、修改特定文件所属的群组的等作出的变更,随时间的推移改变和/或修改被一起分组在任何单个组(诸如组520)中的各个文件。
中央群集506上各个文件的分组和各组516本身,可能都要考虑任何相关的变更,诸如对过滤后的结果的基础原始数据的变更(例如,原始数据的变更可能使某文件不再与一个组相关和/或使该文件与尚未添加到的组相关),衡量分组方式的成功的基于性能的尺度(例如,分组方式针对从本地群集508提交的查询在节省资源方面的成功程度)的变更、特定组内文件的受欢迎程度(例如,特定组被复制到本地群集的频率与所有组的标准化平均值的对比)的变更、分类法变更等。
在另一个实施例中,可以用高速缓存移出策略来确定在任何特定本地群集上(或者,在另一实施例中,在所有本地群集508上)维护哪些组516,以及删除(或允许重写)哪些组,以为存储更频繁访问的信息或最近请求的信息释放空间。例如,在响应于在本地群集上执行一个查询而将某个组(例如组520)复制到本地群集(例如本地群集518)之后,可以将该组在本地群集内保持由缓存移出策略所指定的时间段,例如1周、1天、12小时、3小时等。响应于该组被用于另一个查询(无论该组中的所有文件还是某个子组),则可以为该特定组保留该预定的时间量,以使其在本地群集上保持比仅用于第一次查询的组的时间段延长的时间段(第一次查询后到第二次查询为止的时间+预定时间段)。
如一个或多个高速缓存移出策略所规定的在本地群集(诸如本地群集518)上维持一个组(诸如组520)的时间段,在一个实施例中可以被设置为适用于本地群集中的单个本地群集,在另一个实施例中可以被设置为适用于本地群集的一个子集,或者在又一个实施例中,可以被全局地设置为适用于所有本地群集508。管理员可以适当地设置缓存移出策略。
以这种方式,在执行初始查询之后,只要一个组(例如组520)保留在本地群集(例如本地群集518)上,就可以一次或多次地重新利用它,这样,每次有查询要求访问该组的文件时,就不需要将该组的基础文件重新复制到本地群集。
托管医疗数据602的分布式系统600的图6中所示的一个示例中,假设执行对存储到分布式系统600的涉及“X射线”的医疗数据的数据的查询606。还假设中央群集604已经对其中存储的医疗数据602按医疗类型(例如“X射线”608、“PET扫描”610、“CT扫描”612、“超声”614等)做过分组。响应于对“X射线”的查询,仅将驻留在“X射线”组608中的数据发送到发出查询的本地群集616。此后,利用本地群集616的资源而不是中央群集604的资源来对驻留在“X射线”组608中的数据执行分析查询。此外,从原始查询开始,随着时间的流逝,高速缓存移出策略可以确定将“X射线”组608中驻留的数据从本地群集616中移出的时间,以便在本地群集616的其他查询中重新使用该数据。
现在参考图7,其示出了根据一个实施例的方法700。在各种实施例中,方法700可以按照本发明在尤其是图1-6中所示的任何环境中执行。当然,如本领域的技术人员在阅读本说明书时所理解的那样,方法700中可以包括比图2中具体描述的操作更多或更少的操作。
方法700的每个步骤可以由操作环境中的任何合适的组件来执行。例如,在各种实施例中,方法700可以部分地或全部地由微处理器、服务器、计算设备的群集(例如,中央群集),其中具有一个或多个处理器的处理电路或包括一个或多个处理器某种其他设备执行。以硬件和/或软件实现并且优选地具有至少一个硬件组件的处理器、芯片和/或模块的处理电路,可以被用在任何设备中以执行方法700的的一个或多个步骤。示例性处理器包括但不限于MPU、CPU、ASIC、FPGA等,其组合或本领域已知的任何其他合适的计算设备。
如图7所示,方法700可以从操作702开始,其中,在接收到对存储到分布式文件系统的中央群集的多个文件的查询之前,使用被设计用于这种过滤的过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中。在该过滤过程中,所述多个组中的每个组内的文件由于它们有共同的可搜索特征而被分组在一起,所述共同的可搜索特征诸如是日期、用户、地理位置、内容(例如文件中包括的信息类型,诸如文件涉及的、文件包括关于其信息的、文件描述的位置、概念、想法、对象等)、类型(文本、音频、视频等)、大小、存储位置等。
在操作704中,在中央群集处接收到该查询的指示。该指示可以是查询本身,描述查询和/或查询的预期目的的文件或引用(例如查询的类型、查询的目标文件和/或文件类型等)。
在操作706中,通过将与查询相对应的多个组中的一个或多个组的文件复制到提供查询的指示的分布式文件系统的本地群集来响应查询。本地群集在地理位置上与中央群集不同,例如,它们位于不同的地理位置。
可以基于中央群集上文件的关键字分组来确定与哪些文件与查询有关。例如,如果查询正在搜索某个邮政编码内房屋的所有契约,则中央群集可以从其中具有契约的所有文件的组返回文件,这些文件已被仅包括所要求的邮政编码内的那些契约的子组缩小了范围。
在另一实施例中,方法700可以包括在中央群集处从一个或多个源接收多个文件。所述源可以包括任何合适的数据和文件源,例如分布式文件系统的本地群集、主机、服务器、因特网、向分布式文件系统提供数据的SAN等。在一些方法中,该多个文件包括文本和非结构化数据。非结构化数据可以包括图像数据、音频数据、专有格式的数据文件等。此外,方法700可以包括将该多个文件存储到中央群集,并在中央群集上将非结构化数据转换为文本。通过这种方式,将所述过滤器应用到从非结构化数据转换后的所述文件的文本,使得即使图像、视频、音频等也可以被分组到中央群集上的逻辑子容器中,以响应于查询而提供给该查询所来自的本地群集。
根据另一实施例,方法700可以包括基于一个或多个因素生成所述过滤器,以创建其中包括在中央群集接收的查询中通常请求的文件的多个组,所述因素。这些因素可以包括但不限于:与一个或多个文件相关联的日期;与一个或多个文件相关联的一个或多个用户;一个或多个文件的选定内容和/或一个或多个关键字;以及与一个或多个文件关联的地理位置。其他因素可以包括为确定被一起组织在共同的组中的文件中的相似和/或共同内容而针对文件搜索的关键字。此外,随着时间的推移而调整过滤器,以将在中央群集接收的查询中通常请求的文件组合在一起。以这种方式,随着接收到越来越多的查询,过滤器可以学习对存储在中央群集上的文件进行最佳分组,以有效地响应查询。例如,当不止一次接收到对文件的某个子集的查询时,可以创建包括该文件子集的组,以便可以针对相同的文件子集的每个后续查询而返回该文件子集。这种类型的学习和调整对于减少中央群集的资源负担很有用,因为中央群集原本需要在每次请求查询时都过滤这些结果,而不是一次创建该组。
可以例如由中央群集的管理员或有权访问过滤器的某些其他系统来手动生成过滤器,以提高特定组内的文件与一个或多个随后接收到的查询相关的可能性。在替代实施例中,过滤器可以自动地由中央群集或有权访问过滤器的某些其他系统认知地和智能地生成,从而消除或大大减少了系统用户为创建过滤器和最大程度地提高特定组中的文件与在中央群集上随后接收到的查询相关的可能性的输入。
在另一实施例中,方法700可以包括针对对存储到中央群集的所述多个文件的更改而更新所述多个组。随着文件随时间变化,文件组和文件组内的文件成员也将随之变化。因此,可以基于预定时间表周期性地、以后台操作的方式连续地或响应于触发事件而更新所述多个组。可以执行各种不同的动作来更新所述多个组,包括但不限于:移除一个或多个组,添加一个或多个组,向特定的组添加一个或多个文件以及从特定的组移除一个或多个文件。任何合适的触发事件都可以用来使组和其中的成员被更新。在另一个实施例中,触发事件可以包括但不限于:删除中央群集上现有文件、向中央群集添加新文件、向中央群集添加新文件类型以及更新中央群集的文本转换过程。
方法700可以在系统和/或计算机程序产品中实现。例如,系统可以包括处理电路和与处理电路集成的可由处理电路执行的逻辑。所谓集成,是指处理电路是其中包含硬编码逻辑的硬件处理器,例如ASIC,FPGA等。所谓可执行,是指处理器被配置为执行软件逻辑,以实现软件逻辑所规定的功能,处理器可能是MPU,CPU,微处理器等。该逻辑被配置为使处理电路执行方法700。
在另一个示例中,计算机程序产品可以包括计算机可读存储介质,该计算机可读存储介质具有以其体现的程序指令。计算机可读存储介质可以是本领域已知的任何合适的存储设备,其被配置为存储并允许计算机访问存储在其中的信息。所体现的程序指令可由处理电路执行以使处理电路执行方法700。
现在参考图8,示出了根据一个实施例的方法800。在各个实施例中,方法800可以按照本发明在图1至图6所示的环境等任何环境中执行。当然,如本领域的技术人员在阅读本说明书时将理解的,图8中的装置可以包括在方法800中可以包括比图8中具体描述的操作更多或更少的操作。
方法800的每个步骤可以由操作环境的任何合适的组件来执行。例如,在各种实施例中,方法800可部分或全部由微处理器、服务器、计算设备群集(例如,本地群集)、具有其中一个或多个处理器的处理电路或包含一个或多个处理器的某些其他设备来执行。可以在任何设备中利用以硬件和/或软件实现的并且最好是具有至少一个硬件组件的处理电路,例如处理器、芯片和/或模块,来执行方法800的一个或多个步骤。说明性处理器包括但不限于MPU、CPU、ASIC、FPGA等、其组合或本领域已知的任何其他合适的计算设备。
如图8所示,方法800可以从操作802开始,其中搜索或以其他方式扫描分布式文件系统的本地群集以查找与一个查询相关的文件。此操作在将该查询的指示发送到分布式文件系统的中央群集之前进行,以确保如果本地群集上已经存在文件则最小化与中央群集的交互。
此外,在进一步的实施例中,在确定与该查询相关的文件存在于本地群集之后,可以将单独的查询发送到中央群集,以确定已经被复制到本地群集上的任何现有文件是否在中央群集上被更新过,并且如果是这样,则将这些更新的文件复制到本地群集,以替换存储到本地群集的过期文件。
在操作804中,响应于对相关文件未存储到本地群集的确定,将该查询的指示发送到中央群集。在一个实施例中,可将查询本身作为指示来发送。在其它实施例中,该指示包括中央群集确定与该查询相关的文件所需的相关信息,例如参数值、日期、时间、位置、用户等。
在操作806中,在本地群集接收与查询相关的一组文件。在一个实施例中,由中央群集响应于查询的指示向中央群集发送并被中央群集接收而发送该组文件。在一个实施例中,在将查询的指示发送到中央群集之前,该组文件可能已经存在于中央群集上,从而提供对该查询的快速响应,并且本地群集能够对接收到的文件组执行查询,而不是要求中央群集执行此类操作。
在操作808中,对该组文件执行查询,但条件是该组文件不包括存储到中央群集的所有文件。可以执行任何合适的查询,诸如可以在单个查询内包括复杂的功能和/或多个分析过程的分析查询、搜索查询、追加查询、删除查询、生成表查询等。
在操作810中,根据高速缓存移出策略,将该组文件在本地群集上存储从最后一次访问该组文件开始的一个预定的时间段。这样,如果由本地群集发出的一个将利用该组文件的相同部分或重叠部分的后续查询,则不需要从中央群集复制该组文件,从而节省中央群集和网络的资源。
可以由管理员创建和/或调整高速缓存移出策略,以有效地管理存储在本地群集中的文件,以更好地利用本地群集的有限存储空间,最大化本地群集的资源使用,最小化中央群集的资源使用。
方法800可以在系统和/或计算机程序产品中实现。例如,系统可以包括处理电路和可由处理电路执行的与处理电路集成的逻辑。所谓集成,意指处理电路是具有硬编码逻辑的硬件处理器,例如ASIC、FPGA等。所谓可执行,意指处理器被配置为执行软件逻辑以实现软件逻辑所指示的功能,并且处理器可能是MPU、CPU、微处理器等。该逻辑被配置成使处理电路执行方法800。
在另一示例中,计算机程序产品可以包括其中体现的程序指令的计算机可读存储介质。计算机可读存储介质可以是本领域已知的任何合适的存储设备,其被配置成存储并允许计算机访问存储在其中的信息。所体现的程序指令可由处理电路执行,以使处理电路执行方法800。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现
此外,根据各种实施例的系统可以包括处理器和与处理器集成和/或由处理器执行的逻辑,所述逻辑被配置为执行本文所述的一个或多个处理步骤。所谓集成,是指处理器具有作为硬件逻辑嵌入其中的逻辑,如ASIC、FPGA等。所谓可由处理器执行,是指该逻辑是硬件逻辑;诸如固件的软件逻辑、操作系统的一部分、应用程序的一部分等,或可由处理器访问并被配置为使处理器在由处理器执行时执行某些功能的硬件和软件逻辑某种组合。软件逻辑可以存储在本领域已知的任何存储器类型的本地和/或远程存储器上。可以使用本领域已知的任何处理器,例如软件处理器模块和/或诸如AS IC、FPGA、CPU、集成电路(IC)、图形处理单元(GPU)等的硬件处理器。
显然,可以以任何方式组合上述系统和/或方法的各种特征,根据上述描述创建多个组合。
虽然以上已经描述了各种实施例,但是应当理解,它们仅仅是以示例的方式呈现的,而不是以限制的方式呈现的。因此,优选实施例的宽度和范围不应受到上述任何示例性实施例的限制,而应仅根据以下权利要求及其等同物来定义。

Claims (18)

1.一种方法,包括:
在接收到对存储到分布式文件系统的中央群集的多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中,其中所述多个组中的每个组中的文件有共同的可搜索特征,其中所述多个组中的每个组包括至少一个子组,其中所述多个组中的每个组内的子组以树结构组织;
在中央群集处接收所述查询的指示;
通过将与所述查询相对应的所述多个组中的一个或多个组的文件复制到提供所述查询的指示并且在地理上与中央群集不同的分布式文件系统的本地群集,来响应所述查询;以及
随着时间的推移而调整过滤器,以用于更新多个组以优化这些组来有效地响应所述查询,
其中,更新多个组以优化这些组以有效地响应所述查询包括更新所述多个组以考虑对存储到中央群集的多个文件的更改,
其中,更新所述多个组是响应于触发事件而发生的,所述触发事件是从以下各项中选择的:删除中央群集上现有的文件、向中央群集添加新文件、向中央群集添加新文件类型、更新中央群集的文本转换过程,
其中,更新所述多个组包括从以下各项中选择的操作:移除一个或多个组、添加一个或多个组、将一个或多个文件添加到特定组、以及从所述特定组移除一个或多个文件。
2.如权利要求1所述的方法,包括:
在中央群集处从一个或多个源接收所述多个文件,所述多个文件包括文本和非结构化数据;
将所述多个文件存储到中央群集;以及
在中央群集上将非结构化数据转换为文本,
其中,将所述过滤器应用到从非结构化数据转换后的所述文件的文本。
3.如权利要求1所述的方法,包括:
基于一个或多个因素生成所述过滤器,以创建其中包括在中央群集接收的查询中通常请求的文件的多个组,所述因素是从包括以下的一组因素中选择的:与一个或多个文件相关联的日期;与一个或多个文件相关联的一个或多个用户;一个或多个文件的选定内容和/或一个或多个关键字;以及与一个或多个文件关联的地理位置。
4.如权利要求3所述的方法,包括:
随着时间的推移而调整过滤器,以将在中央群集接收的查询中通常请求的文件组合在一起。
5.如权利要求3所述的方法,其中,生成所述过滤器以使特定组内的文件与一个或多个接收的查询相关的可能性最大化。
6.一种计算机可读存储介质,其中体现有程序指令,其中所述计算机可读存储介质本身不是暂时性信号,并且所体现的程序指令可由处理电路执行以使处理电路:
由处理电路在接收到对存储到分布式文件系统的中央群集的多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中,其中所述多个组中的每个组中的文件有共同的可搜索特征,其中所述多个组中的每个组包含至少一个子组,其中所述多个组中的每个组内的子组以树结构组织;
在中央群集处由处理电路接收所述查询的指示;以及
由处理器通过将与所述查询相对应的所述多个组中的一个或多个组的文件复制到提供所述查询的指示并且在地理上与中央群集不同的分布式文件系统的本地群集,来响应所述查询;以及
随着时间的推移而调整过滤器,以用于更新多个组以优化这些组来有效地响应所述查询,
其中,更新所述多个组以优化这些组以有效地响应所述查询包括更新所述多个组以考虑对存储到中央群集的多个文件的更改,
其中,更新所述多个组是响应于触发事件而发生的,所述触发事件是从以下各项中选择的:删除中央群集上现有的文件、向中央群集添加新文件、向中央群集添加新文件类型、更新中央群集的文本转换过程,
其中,更新所述多个组包括从以下各项中选择的操作:移除一个或多个组、添加一个或多个组、将一个或多个文件添加到特定组、以及从所述特定组移除一个或多个文件。
7.如权利要求6所述的计算机可读存储介质,其中,所体现的程序指令还可由处理电路执行以使处理电路:
由处理电路在中央群集处从一个或多个源接收中央群集所述多个文件,所述多个文件包括文本和非结构化数据;
由处理电路将所述多个文件存储到中央群集;以及
由处理电路在中央群集上将非结构化数据转换为中央群集文本,
其中,将所述过滤器应用到从非结构化数据转换后的所述文件的文本。
8.如权利要求6所述的计算机可读存储介质,其中,所体现的程序指令还可由处理电路执行以使处理电路:
由处理电路基于一个或多个因素生成所述过滤器,以创建其中包括在中央群集接收的查询中通常请求的文件的多个组,所述因素是从包括以下的一组因素中选择的:与一个或多个文件相关联的日期;与一个或多个文件相关联的一个或多个用户;一个或多个文件的选定内容和/或一个或多个关键字;以及与一个或多个文件关联的地理位置。
9.如权利要求8所述的计算机可读存储介质,其中,生成所述过滤器以使特定组内的文件与一个或多个接收的查询相关的可能性最大化。
10.如权利要求8所述的计算机可读存储介质,其中,所体现的程序指令还可由处理电路执行以使处理电路:
由处理电路随着时间的推移而调整过滤器,以将在中央群集接收的查询中通常请求的文件组合在一起。
11.一种系统,包括:
处理电路;
存储器;以及
存储到存储器的逻辑,其在被处理电路执行时使处理电路:
在接收到对存储到分布式文件系统的中央群集的多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中,其中所述多个组中的每个组中的文件有共同的可搜索特征,其中所述多个组中的每个组包括至少一个子组,其中所述多个组中的每个组内的子组以树结构组织;
在中央群集处接收所述查询的指示;以及
通过将与所述查询相对应的所述多个组中的一个或多个组的文件复制到提供所述查询的指示的分布式文件系统的本地群集,来响应所述查询;以及
随着时间的推移而调整过滤器,以用于更新多个组以优化这些组来有效地响应所述查询,
其中,更新所述多个组以优化这些组以有效地响应所述查询包括更新所述多个组以考虑对存储到中央群集的多个文件的更改,
其中,更新所述多个组是响应于触发事件而发生的,所述触发事件是从以下各项中选择的:删除中央群集上现有的文件、向中央群集添加新文件、向中央群集添加新文件类型、更新中央群集的文本转换过程,
其中,更新所述多个组包括从以下各项中选择的操作:移除一个或多个组、添加一个或多个组、将一个或多个文件添加到特定组、以及从所述特定组移除一个或多个文件。
12.如权利要求11所述的系统,其中,所述逻辑还使处理电路:
在中央群集处从一个或多个源接收中央群集所述多个文件,所述多个文件包括文本和非结构化数据;
将所述多个文件存储到中央群集;以及
在中央群集上将非结构化数据转换为中央群集文本,
其中,将所述过滤器应用到从非结构化数据转换后的所述文件的文本。
13.如权利要求11所述的系统,其中,所述逻辑还使处理电路:
基于一个或多个因素生成所述过滤器,以创建其中包括在中央群集接收的查询中通常请求的文件的多个组,所述因素是从包括以下的一组因素中选择的:与一个或多个文件相关联的日期;与一个或多个文件相关联的一个或多个用户;一个或多个文件的选定内容和/或一个或多个关键字;以及与一个或多个文件关联的地理位置。
14.如权利要求13所述的系统,其中生成所述过滤器以使特定组内的文件与一个或多个接收的查询相关的可能性最大化。
15.如权利要求13所述的系统,其中,所述逻辑还使处理电路:
随着时间的推移而调整过滤器,以将在中央群集接收的查询中通常请求的文件组合在一起。
16.一种方法,包括:
在分布式文件系统的中央群集处从一个或多个源接收多个文件,所述多个文件包括文本和非结构化数据;
将所述多个文件存储到中央群集;
在中央群集上将非结构化数据转换为文本;
在接收到对所述多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中,其中所述多个组中的每个组中的文件有共同的可搜索特征,并且其中,将所述过滤器应用到从非结构化数据转换后的所述文件的文本,其中,所述多个组中的每个组包括至少一个子组,其中所述多个组中的每个组内的子组以树结构组织;
在中央群集处接收所述查询的指示;
通过将与所述查询相对应的所述多个组中的一个或多个组的文件复制到提供所述查询的指示的分布式文件系统的本地群集,来响应所述查询;以及
随着时间的推移而调整过滤器,以用于更新多个组以优化这些组来有效地响应所述查询,
其中,更新多个组以优化这些组以有效地响应所述查询包括更新所述多个组以考虑对存储到中央群集的多个文件的更改,
其中,更新所述多个组是响应于触发事件而发生的,所述触发事件是从以下各项中选择的:删除中央群集上现有的文件、向中央群集添加新文件、向中央群集添加新文件类型、更新中央群集的文本转换过程,
其中,更新所述多个组包括从以下各项中选择的操作:删除一个或多个组、添加一个或多个组、将一个或多个文件添加到特定组以及从特定组删除一个或多个文件。
17.如权利要求16所述的方法,包括:
基于一个或多个因素生成所述过滤器,以创建包括在中央群集接收的查询中通常请求的文件的多个组,所述因素是从包括以下的一组因素中选择的:与一个或多个文件相关联的日期;与一个或多个文件相关联的一个或多个用户;一个或多个文件的选定内容和/或一个或多个关键字;以及与一个或多个文件关联的地理位置;以及
随着时间的推移,调整过滤器以将在中央群集接收的查询中通常请求的文件组合在一起。
18.一种方法,包括:
在向分布式文件系统的中央群集发送查询的指示之前,在分布式文件系统的本地群集中搜索与所述查询相关的文件;
响应于对所述相关的文件未存储到本地群集的确定,向中央群集发送所述查询的指示;
在本地群集接收与所述查询相关的一组文件;
对该组文件执行所述查询,但条件是该组文件不包括存储到中央群集的所有文件;以及
根据高速缓存移出策略,将该组文件在本地群集上存储从最后一次访问该组文件起的预定的一段时间,其中,该组文件包括至少一个子组,该组文件内的子组以树结构组织,
其中,所述中央群集被配置为:
在接收到对多个文件的查询之前,使用过滤器过滤所述多个文件,以将所述多个文件的独立部分放入多个组中,其中所述多个组中的每个组中的文件有共同的可搜索特征;
通过将与所述查询相对应的所述多个组中的一个或多个组的文件复制到提供所述查询的指示的分布式文件系统的本地群集,来响应所述查询;以及
随着时间的推移而调整过滤器,以用于更新多个组以优化这些组来有效地响应所述查询,
其中,更新多个组以优化这些组以有效地响应所述查询包括更新所述多个组以考虑对存储到中央群集的多个文件的更改,
其中,更新所述多个组是响应于触发事件而发生的,所述触发事件是从以下各项中选择的:删除中央群集上现有的文件、向中央群集添加新文件、向中央群集添加新文件类型、更新中央群集的文本转换过程,并且
其中,更新所述多个组包括从以下各项中选择的操作:删除一个或多个组、添加一个或多个组、将一个或多个文件添加到特定组以及从特定组删除一个或多个文件。
CN201880047167.XA 2017-07-26 2018-07-17 分布式存储环境的认知文件和对象管理 Active CN110914814B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/660,715 2017-07-26
US15/660,715 US10884980B2 (en) 2017-07-26 2017-07-26 Cognitive file and object management for distributed storage environments
PCT/IB2018/055296 WO2019021114A1 (en) 2017-07-26 2018-07-17 MANAGING FILES AND COGNITIVE OBJECTS FOR DISTRIBUTED MEMORY ENVIRONMENTS

Publications (2)

Publication Number Publication Date
CN110914814A CN110914814A (zh) 2020-03-24
CN110914814B true CN110914814B (zh) 2024-03-29

Family

ID=65038006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880047167.XA Active CN110914814B (zh) 2017-07-26 2018-07-17 分布式存储环境的认知文件和对象管理

Country Status (6)

Country Link
US (1) US10884980B2 (zh)
JP (1) JP7062750B2 (zh)
CN (1) CN110914814B (zh)
DE (1) DE112018002955T5 (zh)
GB (1) GB2579313A (zh)
WO (1) WO2019021114A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817515B2 (en) 2017-07-26 2020-10-27 International Business Machines Corporation Cognitive data filtering for storage environments
CN111858146B (zh) * 2019-04-26 2024-05-28 伊姆西Ip控股有限责任公司 用于恢复数据的方法、设备和计算机程序产品
JP7376894B2 (ja) * 2020-01-30 2023-11-09 日本電信電話株式会社 データ管理システム、データ管理装置、自発移動条件判定装置、自発移動先選択装置、および、データ管理方法、並びに、プログラム
JP7385214B2 (ja) * 2020-01-30 2023-11-22 日本電信電話株式会社 データ管理システムおよびデータ管理方法
CN113553166A (zh) * 2020-04-26 2021-10-26 广州汽车集团股份有限公司 一种跨平台高性能计算集成方法及系统
US20230377016A1 (en) * 2022-05-18 2023-11-23 Coupang Corp. Methods and systems for optimizing filters in product searching

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590747B2 (en) * 2000-03-03 2009-09-15 Intel Corporation Distributed storage cluster architecture
CN101946249A (zh) * 2008-02-13 2011-01-12 微软公司 使用相关用户的数据来增强web搜索
US8099401B1 (en) * 2007-07-18 2012-01-17 Emc Corporation Efficiently indexing and searching similar data
CN104318340A (zh) * 2014-09-25 2015-01-28 中国科学院软件研究所 基于文本履历信息的信息可视化方法及智能可视分析系统

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3177999B2 (ja) * 1991-04-25 2001-06-18 カシオ計算機株式会社 システム構成図作成装置
US6470389B1 (en) 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
US6205481B1 (en) 1998-03-17 2001-03-20 Infolibria, Inc. Protocol for distributing fresh content among networked cache servers
US6675159B1 (en) 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system
US7171469B2 (en) * 2002-09-16 2007-01-30 Network Appliance, Inc. Apparatus and method for storing data in a proxy cache in a network
JP2004178217A (ja) * 2002-11-26 2004-06-24 Sony Corp ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び、ファイル管理プログラムを記録したコンピュータ読み取り可能なプログラム格納媒体
JP4561044B2 (ja) * 2003-05-09 2010-10-13 株式会社エクォス・リサーチ データファイルの送信方法および送信プログラム
US7831581B1 (en) 2004-03-01 2010-11-09 Radix Holdings, Llc Enhanced search
US7844691B2 (en) 2004-12-30 2010-11-30 Xstor Systems, Inc. Scalable distributed storage and delivery
US20070022120A1 (en) * 2005-07-25 2007-01-25 Microsoft Corporation Caching and modifying portions of a multi-dimensional database on a user device
US7835578B2 (en) 2006-04-19 2010-11-16 Sarnoff Corporation Automated video-to-text system
JP2008299796A (ja) * 2007-06-04 2008-12-11 Toshiba Corp データベースシステム及びその回答方法
US7890488B2 (en) * 2007-10-05 2011-02-15 Yahoo! Inc. System and method for caching posting lists
US7437686B1 (en) * 2007-11-16 2008-10-14 International Business Machines Corporation Systems, methods and computer program products for graphical user interface presentation to implement filtering of a large unbounded hierarchy to avoid repetitive navigation
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
CN101550180A (zh) * 2009-04-28 2009-10-07 杭州华锦药业股份有限公司 一种促吞噬肽液相合成方法
MX339092B (es) 2010-04-30 2016-05-09 Now Technologies Ip Ltd Aparato de manejo de contenido.
US9699503B2 (en) 2010-09-07 2017-07-04 Opentv, Inc. Smart playlist
US8661449B2 (en) 2011-06-17 2014-02-25 Microsoft Corporation Transactional computation on clusters
US9886188B2 (en) * 2011-08-25 2018-02-06 International Business Machines Corporation Manipulating multiple objects in a graphic user interface
CN103020158B (zh) * 2012-11-26 2016-09-07 中兴通讯股份有限公司 一种报表创建方法、装置和系统
US9152622B2 (en) 2012-11-26 2015-10-06 Language Weaver, Inc. Personalized machine translation via online adaptation
US9405811B2 (en) 2013-03-08 2016-08-02 Platfora, Inc. Systems and methods for interest-driven distributed data server systems
US9075960B2 (en) 2013-03-15 2015-07-07 Now Technologies (Ip) Limited Digital media content management apparatus and method
US20140365241A1 (en) 2013-06-05 2014-12-11 ESO Solutions, Inc. System for pre-hospital patient information exchange and methods of using same
US10242045B2 (en) 2013-10-30 2019-03-26 Dropbox, Inc. Filtering content using synchronization data
CN104866497B (zh) 2014-02-24 2018-06-15 华为技术有限公司 分布式文件系统列式存储的元数据更新方法、装置、主机
EP3143526A4 (en) * 2014-05-12 2017-10-04 Diffeo, Inc. Entity-centric knowledge discovery
US20160011816A1 (en) 2014-07-09 2016-01-14 Nexenta Systems, Inc. Method to optimize inline i/o processing in tiered distributed storage systems
CN105550180B (zh) 2014-10-29 2019-02-12 北京奇虎科技有限公司 数据处理的方法、装置及系统
CN104484404B (zh) 2014-12-15 2017-11-07 中国科学院东北地理与农业生态研究所 一种改善分布式文件系统中地理栅格数据文件处理方法
US10346432B2 (en) 2015-03-17 2019-07-09 Cloudera, Inc. Compaction policy
CN104767813B (zh) 2015-04-08 2018-06-08 江苏国盾科技实业有限责任公司 基于openstack的公众行大数据服务平台
US9774993B1 (en) 2016-05-17 2017-09-26 International Business Machines Corporation System, method, and recording medium for geofence filtering
CN106056427A (zh) 2016-05-25 2016-10-26 中南大学 一种基于Spark的大数据混合模型的移动推荐方法
CN106527993B (zh) 2016-11-09 2019-08-30 北京搜狐新媒体信息技术有限公司 一种分布式系统中的海量文件储存方法及装置
US10817515B2 (en) 2017-07-26 2020-10-27 International Business Machines Corporation Cognitive data filtering for storage environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590747B2 (en) * 2000-03-03 2009-09-15 Intel Corporation Distributed storage cluster architecture
US8099401B1 (en) * 2007-07-18 2012-01-17 Emc Corporation Efficiently indexing and searching similar data
CN101946249A (zh) * 2008-02-13 2011-01-12 微软公司 使用相关用户的数据来增强web搜索
CN104318340A (zh) * 2014-09-25 2015-01-28 中国科学院软件研究所 基于文本履历信息的信息可视化方法及智能可视分析系统

Also Published As

Publication number Publication date
US20190034445A1 (en) 2019-01-31
DE112018002955T5 (de) 2020-05-07
CN110914814A (zh) 2020-03-24
US10884980B2 (en) 2021-01-05
JP2020528614A (ja) 2020-09-24
JP7062750B2 (ja) 2022-05-06
GB2579313A (en) 2020-06-17
WO2019021114A1 (en) 2019-01-31
GB202002252D0 (en) 2020-04-01

Similar Documents

Publication Publication Date Title
CN110914814B (zh) 分布式存储环境的认知文件和对象管理
CN110914817B (zh) 用于存储环境的认知数据过滤
US11556388B2 (en) Frozen indices
US9607004B2 (en) Storage device data migration
US10671606B2 (en) Materialized query tables with shared data
CN111201763B (zh) 基于文件系统内容的安全性
DE112021000408T5 (de) Prädiktives bereitstellen von fern gespeicherten dateien
US10599626B2 (en) Organization for efficient data analytics
CN111684779B (zh) 分层存储管理系统中的数据迁移
US11416468B2 (en) Active-active system index management
US20220215018A1 (en) Iterative query expansion for document discovery
US11977540B2 (en) Data virtualization in natural language
US11455309B2 (en) Partition key adjustment based on query workload
KR102544635B1 (ko) Component와 BaaS 기반의 웹사이트 빌더 서비스를 제공하기 위한 시스템
US20220138287A1 (en) Published content protection
US20190164066A1 (en) Dynamic run-time corpus builder

Legal Events

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