CN110914817A - 用于存储环境的认知数据过滤 - Google Patents
用于存储环境的认知数据过滤 Download PDFInfo
- Publication number
- CN110914817A CN110914817A CN201880047765.7A CN201880047765A CN110914817A CN 110914817 A CN110914817 A CN 110914817A CN 201880047765 A CN201880047765 A CN 201880047765A CN 110914817 A CN110914817 A CN 110914817A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- groups
- requesting device
- filters
- 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
Links
- 230000001149 cognitive effect Effects 0.000 title claims abstract description 72
- 238000001914 filtration Methods 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000012545 processing Methods 0.000 claims description 81
- 230000004044 response Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 13
- 238000010845 search algorithm Methods 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 9
- 238000013459 approach Methods 0.000 description 8
- 230000003931 cognitive performance Effects 0.000 description 8
- 238000013403 standard screening design Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- RYYVLZVUVIJVGH-UHFFFAOYSA-N caffeine Chemical compound CN1C(=O)N(C)C(=O)C2=C1N=CN2C RYYVLZVUVIJVGH-UHFFFAOYSA-N 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 229940079593 drug Drugs 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- BQJCRHHNABKAKU-KBQPJGBKSA-N morphine Chemical compound O([C@H]1[C@H](C=C[C@H]23)O)C4=C5[C@@]12CCN(C)[C@@H]3CC5=CC=C4O BQJCRHHNABKAKU-KBQPJGBKSA-N 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229940121710 HMGCoA reductase inhibitor Drugs 0.000 description 1
- LPHGQDQBBGAPDZ-UHFFFAOYSA-N Isocaffeine Natural products CN1C(=O)N(C)C(=O)C2=C1N(C)C=N2 LPHGQDQBBGAPDZ-UHFFFAOYSA-N 0.000 description 1
- 206010028980 Neoplasm Diseases 0.000 description 1
- BRUQQQPBMZOVGD-XFKAJCMBSA-N Oxycodone Chemical compound O=C([C@@H]1O2)CC[C@@]3(O)[C@H]4CC5=CC=C(OC)C2=C5[C@@]13CCN4C BRUQQQPBMZOVGD-XFKAJCMBSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 229940035676 analgesics Drugs 0.000 description 1
- 239000000730 antalgic agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 206010003246 arthritis Diseases 0.000 description 1
- 208000006673 asthma Diseases 0.000 description 1
- 229940049706 benzodiazepine Drugs 0.000 description 1
- 150000001557 benzodiazepines Chemical class 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 229960001948 caffeine Drugs 0.000 description 1
- VJEONQKOZGKCAK-UHFFFAOYSA-N caffeine Natural products CN1C(=O)N(C)C(=O)C2=C1C=CN2C VJEONQKOZGKCAK-UHFFFAOYSA-N 0.000 description 1
- 201000011510 cancer Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000000779 depleting effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- PJMPHNIQZUBGLI-UHFFFAOYSA-N fentanyl Chemical compound C=1C=CC=CC=1N(C(=O)CC)C(CC1)CCN1CCC1=CC=CC=C1 PJMPHNIQZUBGLI-UHFFFAOYSA-N 0.000 description 1
- 229960002428 fentanyl Drugs 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 239000003589 local anesthetic agent Substances 0.000 description 1
- 229960005015 local anesthetics Drugs 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229960005181 morphine Drugs 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- -1 opioid Chemical compound 0.000 description 1
- 229960002085 oxycodone Drugs 0.000 description 1
- 229960005489 paracetamol Drugs 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000001225 therapeutic effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24549—Run-time optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于在存储环境中对数据进行认知过滤的方法,包括基于一个或多个因素生成多个认知数据过滤器以创建多个组。该方法还包括在接收到对全局数据存储库的查询之前,使用所述多个认知数据过滤器对全局数据存储库接收到的数据进行认知过滤,以将所述数据的独立部分置于所述多个组中。所述多个组中的每个组中的数据具有共同的可定义特征。
Description
背景技术
本发明涉及数据过滤,更具体地说,涉及用于存储环境的认知数据过滤。存储海量数据的大型文件系统,如中央分布式群集文件系统,能够向所有授权用户提供对文件系统中存储的所有文件和/或对象的访问。当用户想要访问文件系统上的数据时,通常会向控制器或存储管理器发送一个查询,并要确定全局数据存储库中的哪些数据适合用于响应这样的查询。但是,扫描或搜索存储到全局数据存储库中的海量数据的任务是资源密集型的,会导致对此类查询的响应延迟,同时会增加文件系统用于其他查询和操作时的延迟。
此外,大数据分析可能需要扫描存储在全局数据存储库中的很大一部分(或全部)数据。这可能太过于消费资源,以至于无法直接在全局数据存储库上执行所有查询,因此可以在控制器以外的能通过将全局数据存储库中的所有数据复制到另一个设备来访问全局数据存储库的设备上执行查询。在某些情况下,运行分析操作后,从该另一个设备删除所复制的数据,这就要求在执行后续的分析操作时要再次从全局数据存储库复制所有数据。在其他情况下,可以将所复制的数据缓存起来,这就需要在该另一个设备上有大量的本地存储。在任何一种情况下,所复制的数据都包括全局数据存储库中的所有数据,这是因为没有任何智能确定在分析操作中要使用哪些数据,以及不要复制全局数据存储库上的哪些数据可。此外,并非所有复制的数据都可以用于分析操作,而只是在处理查询时丢弃,从而浪费诸如网络带宽、处理带宽、内存容量、时间等大量资源。
或者,当全局数据存储库中有足够的处理能力来处理所有查询时,仍然可以缓存数据(即,将数据复制并保存在全局数据存储库的本地内存中),以加快查询处理。以这种方式执行查询的资源成本,与复制数据以在另一台设备上执行查询相似。
发明内容
在一个实施例中,一种方法包括基于一个或多个因素生成多个认知数据过滤器以创建多个组,以及在接收到对全局数据存储库的查询之前,使用所述多个认知数据过滤器对全局数据存储库接收到的数据进行认知过滤,以将所述数据的独立部分置于所述多个组中。所述多个组中的每个组中的数据具有共同的可定义特征。
在另一个实施例中,一种计算机程序产品包括其中体现有程序指令的计算机可读存储介质,其中所述计算机可读存储介质本身不是暂时性信号,所体现的程序指令可由处理电路执行以使处理电路由处理电路基于一个或多个因素生成多个认知数据过滤器以创建多个组。此外,所体现的程序指令可由处理电路执行以使处理电路由处理电路在接收到对全局数据存储库的查询之前,使用所述多个认知数据过滤器对全局数据存储库接收到的数据进行认知过滤,以将所述数据的独立部分置于所述多个组中。所述多个组中的每个组中的数据具有共同的可定义特征。
在另一个实施例中,一种系统包括处理电路、存储器、以及存储到存储器的逻辑,该逻辑在被处理电路执行时使处理电路基于一个或多个因素生成多个认知数据过滤器以创建多个组。此外,该逻辑还使处理电路在接收到对全局数据存储库的查询之前,使用所述多个认知数据过滤器对全局数据存储库接收到的数据进行认知过滤,以将所述数据的独立部分置于所述多个组中。所述多个组中的每个组中的数据具有共同的可定义特征。
在另一个实施例中,一种方法包括在全局数据存储库从一个或多个数据源接收数据。所述数据包括文本和非结构化数据。该方法还包括将所述数据存储到全局数据存储库和将非结构化数据转换为基于文本的数据。此外,该方法还包括在全局数据存储库上存储基于文本的数据和基于一个或多个因素生成多个认知数据过滤器以创建多个组。所述因素包括一个或多个关键字。该方法还包括在接收到对全局数据存储库的查询之前,使用所述多个认知数据过滤器对全局数据存储库接收到的数据进行认知过滤,以将所述数据的独立部分置于所述多个组中。所述多个组中的每个组中的数据具有共同的可定义特征,并且将所述多个认知数据过滤器应用于从非结构化数据转换后的基于文本的数据。此外,该方法还包括在全局数据存储库接收所述查询的指示和确定并预取所述多个组中与所述查询对应的至少一个组。此外,该方法还包括通过将所述至少一个组中的数据复制到提供所述查询的指示的请求设备来响应所述查询和接收关于所述查询提供给请求设备的所述至少一个组中的数据的使用的指示。此外,该方法还包括随着时间的推移而调整所述多个认知数据过滤器以提高针对提供给请求设备的所述至少一个组中的数据的使用而度量的多个认知数据过滤器的有效性。所述多个认知数据过滤器的有效性基于以下的每一项:提供给请求设备的所述一个或多个组中实际被所述查询利用的数据部分,以及所述至少一个组内所提供的存储到请求设备的可用于所述查询的所有数据的百分比。
通过以下详细描述,本发明的其他方面和实施例将变得显而易见。以下详细描述结合附图举例示出了本发明的原理。
附图说明
图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可以包括存储和/或包括信息和/或数据、并可以被分布式系统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的能力。
为了在中央群集506上组织文件504,将存储在文件504中的所有非结构化数据转换为可以用多种传统搜索算法中的任何一种方便有效地进行搜索的、基于文本或文本注释的文件中的文本(对于图像和/或视频文件,文本注释可以作为元数据添加到原始文件中)。对于这些描述的其余部分,纯文本文件和混合内容文本注释文件将被称为基于文本的文件。一旦来自文件504的原始文件被转换为基于文本的文件,则在原始文件和生成的基于文本的文件之间建立关联,使得返回基于文本的文件的任何搜索能够回溯到原始文件。
在一个实施例中,可以使用一个或多个应用程序接口(APIs)将非结构化数据转换为基于文本的数据。为了将非结构化数据转换为基于文本的数据,每种类型的非结构化数据可能应用不同的API。在一个实施例中,APIs可用于向基于文本的数据的转换。
根据一个实施例,可以使用设计用于搜索文件504中的特定内容或特定非结构化数据的一个或多个搜索算法来搜索存储在中央群集506上的所有文件504。在一个示例中,可以配置图像搜索算法来专门搜索图像文件并返回在搜索中指定的图像,使得可以使用该搜索算法搜索每个包含图像数据的文件,并通过图像搜索将那些包含指定图像的文件返回。在另一示例中,对不包括图像数据的文件,不应用这种图像搜索算法。
在另一示例中,可以配置音频搜索算法来专门搜索音频文件并返回在搜索中指定的音频数据,使得可以使用该搜索算法搜索每个包含音频数据的文件,并通过图像搜索将那些包含指定音频的文件返回。在另一示例中,对不包括音频数据的文件,不应用这种音频搜索算法。
当然,在各种其它实施例中,可以使用许多其他特定于内容和/或非结构化数据搜索算法,包括那些设计用于搜索自定义和/或专有非结构化数据表单的算法,来搜索和组织存储在中央群集506上的文件504,本领域技术人员在阅读本说明书时会明显看出这一点。
对存储在中央群集506上的基于文本的文件和/或所有文件504进行分析,以确定存储在中央群集506上的每个基于文本的文件和/或所有文件504的一个或多个相关类别,从而可以对各种文件504(最终是对关联的文件)执行过滤和分组。类别的相关性是基于特定用户的兴趣(例如,用户从事的业务类型)、地理位置(例如,用户、家庭、营业地等)、查询日期等来选择的。此外,分组的类别可以是排他性的(例如,在任何时间一个文件只可以存在于一个组中),或者可以是包容性的(例如,在任何时间一个文件可以存在于一个或多个组中,不同的组之间的内容有重叠)。
中央群集506上的数据过滤是允许许多高级存储功能(例如,高速缓存、访问控制、安全、搜索等)的关键构建块。这些高级功能可能涉及并借鉴了数据存储的许多方面,包括但不限于数据存储性能和数据安全。用于此类数据筛选的数据筛选器不应停滞不前,如果可以对其进行修改并随着时间的推移进行学习以适应存储环境的改变、存储到全局数据存储库的数据的更改、用户访问模式和需求的变化以及其他不可预见的变化,则会更好。此外,还可以调整数据过滤器以适应存储环境的管理员对存储策略所做的更改。
在各种非限制性示例中,可以根据与各个文件相关联的日期、各个文件中提及的和/或与各个文件相关联的地理位置、各个文件创建的地理位置、各个文件的相似和/或共同内容(可能基于各个文件中的关键字)、各个文件的相似利用率(例如,返回文件的最后访问日期的上下文元数据搜索)、对各个文件的访问频率(例如,返回文件的访问频率的上下文元数据搜索)等,来过滤和分组存储在中央群集506上的基于文本的文件和/或所有文件504。
在另一个非限制性示例中,可以根据存储在各个文件中的一个值、多个值和/或值的范围来过滤和分组存储在中央群集506上的基于文本的文件和/或所有文件504,这些值与查询中的指定参数相关,诸如日期、货币、时间、虚拟或物理位置、用户组、访问权限或查询创建者感兴趣的其他特定值。特定的兴趣值可以是与商务、教育、追求和/或对分布式存储系统中存储的数据的兴趣相关的任何重要内容。在一些示例中,对于医疗行业应用,特定的兴趣值可以是一个或多个患者分类(例如,年龄、性别、种族、生存状况等)、一个或多个条件分类(例如癌症、哮喘、链球菌咽喉炎、关节炎等)、一个或多个测试分类(例如,放射学测试,基因测试、体检等);对于金融行业的应用,特定的兴趣值可以是一个或多个代码符号(例如,MSFT、INTL、T等)、一个或多个行业分类(例如,技术、软件、制药、制造等)、一个或多个评估指标(例如,10亿以上的资本,小、中、大资本等);对于药业应用,特定的选兴趣值可以是一个或多个基于药物的分类(如他汀类、咖啡因、苯二氮卓类、芬太尼、对乙酰氨基酚、吗啡、阿片类、羟考酮等)、一个或多个与治疗相关的科学家、一个或多个治疗应用(止痛药、消肿药、局部麻醉药等)、一个或多个剂量等。
本领域技术人员在阅读本说明书时将理解,在各种实施例中,可以基于特定应用和将要利用所述特定兴趣值的特定查询来自定义地定义特定兴趣值。
在又一个非限制性示例中,可以根据中央群集506所测量的各个文件中包含的信息的流行程度以及任何特定文件被复制到一个本地群集508上的频率,来过滤和分组存储在中央群集506上的基于文本的文件和/或所有文件504。
根据另一个实施例,可以在一个组内创建子组,并且在树结构的特定组内可以存在多个其他层次的子组。以这种方式,被分类到特定组中的文件可以进一步被分类为比该特定组更精细的子组。例如,按位置分组时,国家可占据最高的组,然后是州或省的子组,然后是城市的子组,然后是城市内社区的子组等。
在一个实施例中,该过滤和分组操作可以以在中央群集506上执行的连续的后台处理的方式来执行,使得当新文件被添加到中央群集506,新文件能够被有效地转换(如有必要的话)和分类,而对分布式系统500的其它功能几乎没有影响。在另一个实施例中,可以定期地或响应于发生的触发事件来执行过滤和分组操作。可以使用任何合适的触发事件,例如新文件被添加到中央群集506、文件在中央群集506上被修改、在中央群集506上添加和/或修改的预定阈值数量的文件、管理员发出显式请求等。
为了提供这样的数据过滤器,本文在各种实施例中描述了根据认知数据过滤器对若干因素的有效性动态地调整认知数据过滤器的认知数据过滤机制。这些因素包括数据需求、策略需求和用户期望,以及其他可能的因素。
根据一个实施例,认知数据过滤机制利用一组预定义的关键字、值和/或范围以及一个选择模块,这些关键字、值和/或范围用于定义多个认知数据过滤器、各个数据过滤器的针对数据利用率、用户期望和策略要求而测量的一个或多个有效性度量,所述选择模块被配置为确定和选择该多个认知数据过滤器中的最有可能有效地返回完成所接收查询的一组数据的一个或多个认知数据过滤器。这种有效性可以在任何当前时间和在一个或多个以前的时间段(例如,一个或多个移动时间窗)上测量。
根据一个实施例,所述多个认知数据过滤器可以学会在准备响应于所接收查询而要返回的数据上更有效。这个学习过程可能导致附加的认知数据过滤器被创建,现有的认知数据过滤器被删除和/或去除,以及现有的认知数据过滤器被修改以适应数据、用户期望和/或数据结构的变化。
在该实施例中,所述多个认知数据过滤器可以用一个或多个关键词来对存储到全局数据存储库中的数据进行预排序,以确定应当为在预排序之后接收到的查询对哪些数据进行预取和/或缓存。根据一个或多个关键字对数据进行排序,以确定哪些文件和/或对象包含该一个或多个关键字,然后将包含该一个或多个关键字的文件和/或对象置于一个容器中,并以可以响应于请求包含所述关键字的数据的查询而定位该容器以及其中的文件和/或对象的某种方式进行标记。基于可以从用户获得或从用户的查询历史中获得的查询兴趣的指示,可以对以此方式创建的容器进行预取和/或缓存(例如,通过WAN或某些其他合适的网络或全局数据存储库与请求设备之间的连接进行复制,或存储在全局数据存储库或请求设备的存储器中),以用于随后和/或将来到来的与所述一个或多个关键字相关的查询。
在其他实施例中,可以在存储到全局数据存储库的数据中搜索一个或多个值,从而将包括所搜索的值的任何文件和/或对象放置在一个容器中,并以可以响应于请求包含所述值的数据的查询而定位该容器以及其中的文件和/或对象的某种方式进行标记。在另一个实施例中,可以将包括一系列值的数据—例如包括具有从值1到值2的范围的参数x的所有数据,预分类到一个容器中以备将来使用(将所有数据分类到容器1中,其中,数据包括参数x,其值在以下范围内:值1<x<值2)。当然,该范围可以包括两个端点、不包括两个端点、或包含一个端点且不包含另一个端点。
随着在全局数据存储库中创建越来越多的容器以对其中的数据进行预排序,并且随着越来越多的查询被接收并用容器中的数据作出响应,可以随着时间的流逝而确定预排序的有效性,并可以将认知数据过滤器改进得能在接收查询之前更好地对数据进行预排序。
在各种实施例中,可以利用一个或多个有效性度量来分别计算多个认知数据过滤器中的每一个的有效性。在每个实施例中,可以用过滤器精度FR(k)来计算单个认知数据过滤器的有效性,该精度表示因预期(例如通过使用一个或多个过滤器的)查询或响应于包含至少一个关键字、参数或范围的查询(标记为“k”)而缓存、预取和/或复制的数据(例如,通过WAN或某种其他合适的网络或全局数据存储库与请求设备之间的连接复制过来的数据),有多大一部分实际上被请求设备(诸如本地群集)上的查询利用。过滤器召回率(recall)FR(k)表示由于所接收到该查询的k值而复制过来的数据占存储到请求设备的所有可用于查询的数据的百分比,例如,数据可能已经被存储到请求设备以便用于该查询,这可能会导致复制过来的数据有些被丢弃,因为它已经存在于请求设备上。因此,对于任何特定的一组k,这种重复数据不应当算是不利于数据过滤器的有效性。
根据一个实施例,可以根据算法1来计算针对单个或一组关键词、参数或范围的第一有效性度量(称为第一过滤器F分数)FF(k)1:
在算法1中,采用简单乘法运算的平方根来确定过滤器精度FR(k)与过滤器召回率FR(k)的乘积的几何平均值,以计算第一过滤器F分数FF(k)1。然后,可以用这个有效性度量,例如第一过滤器F分数FF(k)1,来进一步细化该多个认知数据过滤器,如下面更详细地描述的那样。与较低的第一过滤器F分数FF(k)1相比,较高的第一过滤器F分数FF(k)1表示性能更好的数据过滤器,而较低的第一过滤器F分数FF(k)1表示对于特定一组k来说效果不佳的数据过滤器。
在另一个实施例中,可以根据算法2来计算针对单个或一组关键词、参数或范围的第二有效性度量FF(k)2:
在算法2中,执行多次乘法运算(和/或除法运算)以确定过滤器精度FR(k)的两倍与过滤器调用率FR(k)的乘积乘以过滤器精度FR(k)与过滤器召回率FR(k)之和的倒数。按照过滤器精度FR(k)与过滤器调用率FR(k)之和对第二有效性度量FF(k)2进行归一化,以更好地反映请求设备上已经存在的数据。然后,可以用这个第二有效性度量FF(k)2,来进一步细化该多个认知数据过滤器,如下面更详细地描述的那样。较高的第二过滤器F分数FF(k)2表示性能更好的数据过滤器,而较低的第二过滤器F分数FF(k)2则表示对于特定一组k来说效果不佳的数据过滤器。
为了初始化有效性度量中的任一个,例如FF(k)1或FF(k)2,确立潜在的一组k—在本文中称为KS(其可以包括一个或多个关键字、一个或多个值和/或一个或多个值范围)。该KS是基于全局数据存储库中使用的分类法和/或管理员具有的对全局数据存储库的域知识以及任何可用的快捷方式而确立的。分类法定义了文件和/或对象的命名方式,它们是如何被存储到全局数据存储库的,某些或所有文件和/或对象存在哪些元数据,如何在全局数据存储库上对文件和/或对象进行搜索、排序、过滤等。
将这里称为AS的有效的一组k设置为空,例如{}。此后,在每个时间窗w,针对KS内的每个关键字、值和/或范围,计算有效性度量k。可以用各种时间窗来计算有效性度量,例如30秒、1分钟、30分钟、1小时、6小时、12小时、1天等,并且可以基于在全局数据存储库接收查询的频率,以更好地了解返回的数据的利用情况。
在计算一个或多个有效性度量之后,将AS更新为仅包括KS的k的一部分n。AS中包含的该部分基于FF、FP和/或FR。在一个实施例中,基于FF仅包括k的性能最好的百分比。在另一个实施例中,基于满足为FP和FR两者设置的阈值,例如>0.7、>0.8等,仅包括k的性能最好的百分比,。
响应于使用基于FF的k的最高性能百分比,将AS设置为根据关键字的FF排名的前n个关键字。响应于基于满足为FP和FR设置的阈值而使用k,1)从AS中去除性能低于FP的第一阈值的关键字、值和/或范围;2)从AS中去除性能低于FR的第二阈值的关键字、值和/或范围;3)将性能达到或优于FP的第一阈值的关键字、值和/或范围添加到AS;以及将性能达到或优于FR的第二阈值的关键字、值和/或范围添加到AS。在各种方法中,第一阈值和第二阈值可以具有不同的值或相同的值。
在一个实施例中,可以根据一个或多个关键字过滤和分组存储在中央群集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,其使得能够对全局数据存储库720上的数据进行认知过滤。系统700包括一组认知性能过滤器708和一组认知安全过滤器710,它们被配置为出于任何可能的目的——诸如在预期从一个或多个请求设备722接收查询时,对全局数据存储库720上的数据进行预排序,以阻止或提供对所选用户的访问等。
系统700接收到非结构化数据702,其中非结构化数据702包括音频文件、视频文件、图像文件等,使用一个或多个转换接口704(例如在一个实施例中,使用Conversion API),将这些音频文件、视频文件、图像文件等转换为基于文本的文件706。除了被转换的非结构化数据702之外,基于文本的文件706还包括由系统700(未示出)摄取的基于本地文本的文件。
在一个实施例中,将该组认知性能过滤器708中的一个或多个认知性能过滤器应用到基于文本的文件706,以将数据预排序到全局数据存储库720上的多个性能容器712中。性能容器712是为了提高系统700对所接收的查询的作出响应的性能(例如,更快地响应所接收的查询、向所接收的查询提供更有用的数据、利用更少的资源来答复查询等)而创建的。该多个性能容器712允许在全局数据存储库720中可用于存储数据的多个层之间进行更有效的数据分层,通过改善数据到一个或多个请求设备722的缓存,可以提高系统700的性能。
另外,可以基于一个或多个有效性度量来创建新的认知性能过滤器708、删除或去除现有的认知性能过滤器708、以及修改现有的认知性能过滤器708,以随时间的推移而增加它们的有效性。这些改变可以以各种方式导致对多个性能容器712的改变(添加、删除、修改)。
在几种方法中,响应于请求设备722从全局数据存储库720接收数据,可以向系统700提供为在请求设备722上执行的实际数据查询配置的其它认知性能过滤器724,这允许在全局数据存储库720中创建其它性能容器716,所述其它性能容器仅可用于提供了所述其它认知性能过滤器724的请求设备722或全局数据存储库720的一些或所有用户。
在另一实施例中,将认知安全过滤器集合710中的一个或多个认知安全过滤器应用于基于文本的文件706,以将数据预排序到全局数据存储库720上的多个安全容器714中。创建安全容器714是为了提供对全局数据存储库720上的数据的改进的访问控制,从而提高系统700在拒绝或允许访问全局数据存储库720上的文件和/或对象的子集方面的性能。该多个安全容器714可以通过对选择的用户组可访问的数据进行预排序,仅用分配给用户的安全性容器714中的可用数据来回复用户尝试的访问,从而允许为用户更有效地监视对存储到全局数据存储库720的数据的访问控制,从而改善系统700的性能。
另外,可以基于一个或多个有效性度量来创建新的认知安全过滤器710、删除或去除现有的认知安全过滤器710、以及修改现有的认知安全过滤器710,以随时间的推移而增加它们的有效性。这些改变可以以各种方式导致对多个安全容器714的改变(添加、删除、修改)。
在几种方法中,响应于请求设备722从全局数据存储库720接收数据,可以向系统700提供为在请求设备722上执行的实际数据查询配置的其它认知安全过滤器726,这允许在全局数据存储库720中创建其它安全容器718,所述其它性能容器仅可用于提供了所述其它认知安全过滤器726的请求设备722或全局数据存储库720的一些或所有用户。
现在参照图8,示出了根据一个实施例的方法800。在各个实施例中,方法800可以根据本发明在尤其是图1至7所示的任何环境中执行。当然,如本领域的技术人员在阅读本说明书时将理解的那样,方法800可以包含比图8中具体描述的操作更多或更少的操作。
方法800的每个步骤可以由操作环境的任何合适的组件来执行。例如,在各种实施例中,方法800可以由微处理器、服务器、计算设备的群集(例如,本地群集)、其中具有一个或多个处理器的处理电路或包括一个或多个处理器的某种其他设备来执行。可以在任何设备中利用处理电路(例如,以硬件和/或软件实现的、最好具有至少一个硬件组件的处理器、芯片和/或模块)来执行方法800的一个或多个步骤。示例性处理器包括但不限于MPU、CPU、ASIC、FPGA等及其组合,或本领域已知的任何其他合适的计算设备。
如图8所示,方法800可以从操作802开始,在操作802中,基于一个或多个因素生成多个认知数据过滤器以创建多个组。所述多个认知数据过滤器所基于的因素,是从包括但不限于以下各项的一组因素中选择的:一个关键字、一组关键字、一个值、一组值、一个值范围以及一组值范围。
可以用这些多个认知数据过滤器来将存储到全局数据存储库的数据过滤和分类为多个组,其中数据能被置于一个以上的组内,并且每个组能被独立地被管理(例如,修改、删除、添加等)。
在操作804中,使用该多个认知数据过滤器对全局数据存储库接收的数据进行认知过滤,以将数据的独立部分置于所述多个组中。这种过滤在接收对全局数据存储库的查询之前发生。此外,多个组中的每个组内的数据具有共同的可定义特征,这就是多个认知数据过滤器中的每个过滤器如何将数据分类和过滤到各个组中的。每个组可以基于被分类到该特定组中的数据的至少一个与用于创建其他组的数据的特征相比不同的可定义特征。
在另一实施例中,方法800可以包括在全局数据存储库处从一个或多个源接收数据,该数据包括文本和非结构化数据。此外,将数据存储到全局数据存储库,并将非结构化数据转换为纯基于文本的数据和/或带文本注释的数据(统称为“基于文本的数据”)。另外,方法800可以包括将基于文本的数据存储在全局数据存储库上,将多个认知数据过滤器应用到从非结构化数据转换后的基于文本的数据(或者接收到的基于文本的数据上),并在全局数据存储库接收查询的指示。该查询的指示可以是查询本身,先前接收到的和/或预期将来会接收到的一组查询,和/或一个或多个用户表达的、可以构成将来的查询的基础并可以用于为此类将来的查询预取数据的兴趣。而且,方法800可以包括确定与查询相对应的至少一组并将其预取(例如,复制)到一个用于累积预取数据的存储区域。此后,方法800可以包括通过将该至少一组中的数据复制到提供查询的请求设备来响应查询。在各种方法中,这些步骤中的任何一个都可以单独执行,也可以与所描述的方法800的任何其他步骤一起执行。
在另一实施例中,方法800还可以包括:接收关于针对查询提供给请求设备的至少一个组内的数据的使用的指示。该指示可以用于确定多个认知数据过滤器相对于任何特定查询(例如,由查询指定的k的集合)的有效性。
此外,在一种方法中,方法800可以包括随着时间的推移调整多个认知数据过滤器,以提高针对响应于从请求设备接收到查询的指示向该请求设备提供的一个或多个组内的数据的使用而测量的多个认知数据过滤器的有效性。该过程在本文中也称为基于过往性能和用户期望的认知数据过滤器学习。多个认知数据过滤器的有效性可以基于以下的一项或多项:提供给请求设备的一个或多个组内实际被查询利用的一部分数据;以及在一个或多个组内提供的存储到请求设备的可用于查询的所有数据的百分比。在一个实施例中,可以将这两个度量组合在一起以计算多个认知数据过滤器的有效性,在此称为过滤器F分数。
根据一个实施例,可以根据先前定义的算法1来计算多个认知数据过滤器的有效性FF(k)1。
根据一个替代实施例,可以根据先前定义的算法2来计算多个认知数据过滤器的有效性FF(k)2。
在另一实施例中,方法800可以包括更新多个组以反映对存储到全局数据存储库的数据的改变。该更新可以基于一个预定的时间表定期地、以后台操作的方式连续地或响应于一个触发事件而发生。这个更新多个组包括诸如删除一个或多个组、添加一个或多个组、向特定的组添加其他数据、从特定的组删除现有数据等操作。
此外,可以从包括但不限于以下各项的集合中选择触发事件:从全局数据存储库中删除现有数据;向全局数据存储库添加其他数据;向全局数据存储库添加新型数据;以及更新全局数据存储库的文本转换过程。
方法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 (25)
1.一种方法,包括:
基于一个或多个因素生成多个认知数据过滤器以创建多个组;以及
在接收到对全局数据存储库的查询之前,使用所述多个认知数据过滤器对全局数据存储库接收到的数据进行认知过滤,以将所述数据的独立部分置于所述多个组中,其中所述多个组中的每个组中的数据具有共同的可定义特征。
2.如权利要求1所述的方法,还包括:
在全局数据存储库从一个或多个数据源接收数据,所述数据包括文本和非结构化数据;
将所述数据存储到全局数据存储库;
将非结构化数据转换为基于文本的数据;
在全局数据存储库上存储基于文本的数据,其中将所述多个认知数据过滤器应用于从非结构化数据转换后的基于文本的数据;
在全局数据存储库接收所述查询的指示;
确定并预取与所述查询对应的至少一个组;以及
通过将所述至少一个组中的数据复制到提供所述查询的指示的请求设备来响应所述查询。
3.如权利要求2所述的方法,还包括:
接收关于所述查询提供给请求设备的所述至少一个组中的数据的使用的指示,
其中,从以下组成的组中选择所述一个或多个因子:一个关键字、一组关键字、一个值、一组值、一个值范围和一组值范围。
4.如前述权利要求的任何之一所述的方法,还包括:
随着时间的推移而调整所述多个认知数据过滤器以提高多个认知数据过滤器的有效性,所述有效性是针对响应于从请求设备接收到所述查询的指示而提供给请求设备的一个或多个组中的数据的使用而度量的,
其中,所述多个认知数据过滤器的有效性基于以下的每一项:提供给请求设备的所述一个或多个组中实际被所述查询利用的数据部分,以及所述一个或多个组内所提供的存储到请求设备的可用于所述查询的所有数据的百分比。
6.如权利要求4所述的方法,其中所述多个认知数据过滤器的有效性FF(k)2是按照第二算法FF(k)2=(2*FP(k)*FR(k))/(FP(k)+FR(k))计算的,其中,FR(k)表示提供给请求设备的所述一个或多个组中实际被所述查询利用的数据部分,具有在包括0、1和以及0与1之间的所有值的范围内的第一值,并且其中,FR(k)表示以及所述一个或多个组内所提供的存储到请求设备的可用于所述查询的所有数据的百分比,具有所述范围内的第二值。
7.如权利要求1所述的方法,还包括:
针对对存储到中央群集的所述多个文件的更改而更新所述多个组,其中,基于预定时间表定期地、以后台操作的方式连续地或响应于触发事件而更新所述多个组,并且其中,更新所述多个组包括从包括以下的一组操作中选择的操作:删除一个或多个组、添加一个或多个组、将一个或多个文件添加到特定组以及从特定组删除一个或多个文件。
8.如权利要求7所述的方法,其中所述触发事件是从包括以下的一组中选择的:删除中央群集上现有文件、向中央群集添加新文件、向中央群集添加新文件类型以及更新中央群集的文本转换过程。
9.一种计算机程序产品,包括其中体现有程序指令的计算机可读存储介质,其中所述计算机可读存储介质本身不是暂时性信号,并且所体现的程序指令可由处理电路执行以使处理电路:
由处理电路基于一个或多个因素生成多个认知数据过滤器以创建多个组;以及
由处理电路在接收到对全局数据存储库的查询之前,使用所述多个认知数据过滤器对全局数据存储库接收到的数据进行认知过滤,以将所述数据的独立部分置于所述多个组中,其中所述多个组中的每个组中的数据具有共同的可定义特征。
10.如权利要求9所述的计算机程序产品,其中,所体现的程序指令还可由处理电路执行以使处理电路:
由处理电路在全局数据存储库从一个或多个数据源接收数据,所述数据包括文本和非结构化数据;
由处理电路将所述数据存储到全局数据存储库;
由处理电路将非结构化数据转换为基于文本的数据;
由处理电路在全局数据存储库上存储基于文本的数据,其中将所述多个认知数据过滤器应用于从非结构化数据转换后的基于文本的数据;
由处理电路在全局数据存储库接收所述查询的指示;
由处理电路确定并预取与所述查询对应的至少一个组;以及
由处理电路通过将所述至少一个组中的数据复制到提供所述查询的指示的请求设备来响应所述查询。
11.如权利要求10所述的计算机程序产品,其中,所体现的程序指令还可由处理电路执行以使处理电路:
由处理电路接收关于所述查询提供给请求设备的所述至少一个组中的数据的使用的指示,
其中,从以下组成的组中选择所述一个或多个因子:一个关键字、一组关键字、一个值、一组值、一个值范围和一组值范围。
12.如权利要求9所述的计算机程序产品,其中,所体现的程序指令还可由处理电路执行以使处理电路:
由处理电路随着时间的推移而调整所述多个认知数据过滤器以提高多个认知数据过滤器的有效性,所述有效性是针对响应于从请求设备接收到所述查询的指示而提供给请求设备的一个或多个组中的数据的使用而度量的,
其中,所述多个认知数据过滤器的有效性基于以下的每一项:提供给请求设备的所述一个或多个组中实际被所述查询利用的数据部分,以及所述一个或多个组内所提供的存储到请求设备的可用于所述查询的所有数据的百分比。
14.如权利要求12所述的计算机程序产品,其中所述多个认知数据过滤器的有效性FF(k)2是按照第二算法FF(k)2=(2*FP(k)*FR(k))/(FP(k)+FR(k))计算的,其中,FP(k)表示提供给请求设备的所述一个或多个组中实际被所述查询利用的数据部分,具有在包括0、1和以及0与1之间的所有值的范围内的第一值,并且其中,FR(k)表示所述一个或多个组内所提供的存储到请求设备的可用于所述查询的所有数据的百分比,具有所述范围内的第二值。
15.如权利要求9所述的计算机程序产品,其中,所体现的程序指令还可由处理电路执行以使处理电路:
由处理电路针对对存储到中央群集的所述多个文件的更改而更新所述多个组,其中,基于预定时间表定期地、以后台操作的方式连续地或响应于触发事件而更新所述多个组,并且其中,更新所述多个组包括从包括以下的一组操作中选择的操作:删除一个或多个组、添加一个或多个组、将一个或多个文件添加到特定组以及从特定组删除一个或多个文件。
16.如权利要求15所述的计算机程序产品,其中所述触发事件是从包括以下的一组中选择的:删除中央群集上现有文件、向中央群集添加新文件、向中央群集添加新文件类型以及更新中央群集的文本转换过程。
17.一种系统,包括:
处理电路;
存储器;以及
存储到存储器的逻辑,其在被处理电路执行时使处理电路:
基于一个或多个因素生成多个认知数据过滤器以创建多个组;以及
在接收到对全局数据存储库的查询之前,使用所述多个认知数据过滤器对全局数据存储库接收到的数据进行认知过滤,以将所述数据的独立部分置于所述多个组中,其中所述多个组中的每个组中的数据具有共同的可定义特征。
18.如权利要求17所述的系统,其中,所述逻辑还使处理电路:
在全局数据存储库从一个或多个数据源接收数据,所述数据包括文本和非结构化数据;
将所述数据存储到全局数据存储库;
将非结构化数据转换为基于文本的数据;
在全局数据存储库上存储基于文本的数据,其中将所述多个认知数据过滤器应用于从非结构化数据转换后的基于文本的数据;
在全局数据存储库接收所述查询的指示;
确定并预取与所述查询对应的至少一个组;以及
通过将所述至少一个组中的数据复制到提供所述查询的指示的请求设备来响应所述查询。
19.如权利要求18所述的系统,其中,所述逻辑还使处理电路:
接收关于所述查询提供给请求设备的所述至少一个组中的数据的使用的指示,
其中,从以下组成的组中选择所述一个或多个因子:一个关键字、一组关键字、一个值、一组值、一个值范围和一组值范围。
20.如权利要求17的所述的系统,其中,所述逻辑还使处理电路:
随着时间的推移而调整所述多个认知数据过滤器以提高多个认知数据过滤器的有效性,所述有效性是针对响应于从请求设备接收到所述查询的指示而提供给请求设备的一个或多个组中的数据的使用而度量的,
其中,所述多个认知数据过滤器的有效性基于以下的每一项:提供给请求设备的所述一个或多个组中实际被所述查询利用的数据部分,以及所述一个或多个组内所提供的存储到请求设备的可用于所述查询的所有数据的百分比。
22.如权利要求20所述的系统,其中所述多个认知数据过滤器的有效性FF(k)2是按照第二算法FF(k)2=(2*FP(k)*FR(k))/(FP(k)+FR(k))计算的,其中,F(k)表示提供给请求设备的所述一个或多个组中实际被所述查询利用的数据部分,具有在包括0、1和以及0与1之间的所有值的范围内的第一值,并且其中,FR(k)表示所述一个或多个组内所提供的存储到请求设备的可用于所述查询的所有数据的百分比,具有所述范围内的第二值。
23.如权利要求17所述的系统,其中,所述逻辑还使处理电路:
针对对存储到中央群集的所述多个文件的更改而更新所述多个组,其中,基于预定时间表定期地、以后台操作的方式连续地或响应于触发事件而更新所述多个组,并且其中,更新所述多个组包括从包括以下的一组操作中选择的操作:删除一个或多个组、添加一个或多个组、将一个或多个文件添加到特定组以及从特定组删除一个或多个文件。
24.如权利要求23所述的系统,其中所述触发事件是从包括以下的一组中选择的:删除中央群集上现有文件、向中央群集添加新文件、向中央群集添加新文件类型以及更新中央群集的文本转换过程。
25.一种方法,包括:
在全局数据存储库从一个或多个数据源接收数据,所述数据包括文本和非结构化数据;
将所述数据存储到全局数据存储库;
将非结构化数据转换为基于文本的数据;
在全局数据存储库上存储基于文本的数据;
基于一个或多个因素生成多个认知数据过滤器以创建多个组,所述因素包括一个或多个关键字;
在接收到对全局数据存储库的查询之前,使用所述多个认知数据过滤器对全局数据存储库接收到的数据进行认知过滤,以将所述数据的独立部分置于所述多个组中,其中,所述多个组中的每个组中的数据具有共同的可定义特征,并且其中,将所述多个认知数据过滤器应用于从非结构化数据转换后的基于文本的数据;
在全局数据存储库接收所述查询的指示;
确定并预取所述多个组中与所述查询对应的至少一个组;
通过将所述至少一个组中的数据复制到提供所述查询的指示的请求设备来响应所述查询;
接收关于所述查询提供给请求设备的所述至少一个组中的数据的使用的指示;以及
随着时间的推移而调整所述多个认知数据过滤器以提高多个认知数据过滤器的有效性,所述有效性是针对提供给请求设备的所述至少一个组中的数据的使用而度量的,
其中,所述多个认知数据过滤器的有效性基于以下的每一项:提供给请求设备的所述一个或多个组中实际被所述查询利用的数据部分,以及所述至少一个组内所提供的存储到请求设备的可用于所述查询的所有数据的百分比。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/660,733 | 2017-07-26 | ||
US15/660,733 US10817515B2 (en) | 2017-07-26 | 2017-07-26 | Cognitive data filtering for storage environments |
PCT/IB2018/055295 WO2019021113A1 (en) | 2017-07-26 | 2018-07-17 | FILTERING COGNITIVE DATA FOR STORAGE ENVIRONMENTS |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110914817A true CN110914817A (zh) | 2020-03-24 |
CN110914817B CN110914817B (zh) | 2024-02-02 |
Family
ID=65038583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880047765.7A Active CN110914817B (zh) | 2017-07-26 | 2018-07-17 | 用于存储环境的认知数据过滤 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10817515B2 (zh) |
JP (1) | JP7124051B2 (zh) |
CN (1) | CN110914817B (zh) |
DE (1) | DE112018002266T5 (zh) |
GB (1) | GB2579512A (zh) |
WO (1) | WO2019021113A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10884980B2 (en) | 2017-07-26 | 2021-01-05 | International Business Machines Corporation | Cognitive file and object management for distributed storage environments |
US11055420B2 (en) * | 2018-02-05 | 2021-07-06 | International Business Machines Corporation | Controlling access to data requested from an electronic information system |
US10447592B2 (en) * | 2018-02-08 | 2019-10-15 | Ricoh Company, Ltd. | Output device discovery using network switches |
US11509531B2 (en) * | 2018-10-30 | 2022-11-22 | Red Hat, Inc. | Configuration sharing and validation for nodes in a grid network |
CN112311559B (zh) | 2019-07-24 | 2024-09-17 | 中兴通讯股份有限公司 | 计数器自定义过滤方法、装置以及计算机可读存储介质 |
CN115443457A (zh) * | 2021-04-06 | 2022-12-06 | 华为云计算技术有限公司 | 事务处理方法、分布式数据库系统、集群及介质 |
US11606242B1 (en) | 2022-03-10 | 2023-03-14 | Ricoh Company, Ltd. | Coordinated monitoring of legacy output devices |
US11894973B2 (en) | 2022-03-10 | 2024-02-06 | Ricoh Company, Ltd. | Assigning and prioritizing mediation servers for monitoring legacy devices |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862580B1 (en) * | 2004-03-01 | 2014-10-14 | Radix Holdings, Llc | Category-based search |
CN104767813A (zh) * | 2015-04-08 | 2015-07-08 | 江苏国盾科技实业有限责任公司 | 基于openstack的公众行大数据服务平台 |
US9245026B1 (en) * | 2013-06-26 | 2016-01-26 | Amazon Technologies, Inc. | Increasing the relevancy of search results across categories |
CN106056427A (zh) * | 2016-05-25 | 2016-10-26 | 中南大学 | 一种基于Spark的大数据混合模型的移动推荐方法 |
CN106250381A (zh) * | 2015-06-04 | 2016-12-21 | 微软技术许可有限责任公司 | 表格数据中的用于输入/输出优化的列排序 |
Family Cites Families (34)
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 |
US6952737B1 (en) | 2000-03-03 | 2005-10-04 | Intel Corporation | Method and apparatus for accessing remote storage in a distributed storage cluster architecture |
US6675159B1 (en) * | 2000-07-27 | 2004-01-06 | Science Applic Int Corp | Concept-based search and retrieval system |
JP2004178217A (ja) | 2002-11-26 | 2004-06-24 | Sony Corp | ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び、ファイル管理プログラムを記録したコンピュータ読み取り可能なプログラム格納媒体 |
US7844691B2 (en) | 2004-12-30 | 2010-11-30 | Xstor Systems, Inc. | Scalable distributed storage and delivery |
US7835578B2 (en) * | 2006-04-19 | 2010-11-16 | Sarnoff Corporation | Automated video-to-text system |
US8099401B1 (en) | 2007-07-18 | 2012-01-17 | Emc Corporation | Efficiently indexing and searching similar data |
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 |
KR20130060226A (ko) * | 2010-04-30 | 2013-06-07 | 나우 테크놀로지스 (아이피) 리미티드 | 콘텐츠 관리 장치 |
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 |
JP5895756B2 (ja) | 2012-07-17 | 2016-03-30 | 富士ゼロックス株式会社 | 情報分類プログラム及び情報処理装置 |
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 | 华为技术有限公司 | 分布式文件系统列式存储的元数据更新方法、装置、主机 |
US9275132B2 (en) | 2014-05-12 | 2016-03-01 | Diffeo, Inc. | Entity-centric knowledge discovery |
EP2966562A1 (en) | 2014-07-09 | 2016-01-13 | Nexenta Systems, Inc. | Method to optimize inline i/o processing in tiered distributed storage systems |
CN104318340B (zh) | 2014-09-25 | 2017-07-07 | 中国科学院软件研究所 | 基于文本履历信息的信息可视化方法及智能可视分析系统 |
CN109634933A (zh) | 2014-10-29 | 2019-04-16 | 北京奇虎科技有限公司 | 数据处理的方法、装置及系统 |
CN104484404B (zh) | 2014-12-15 | 2017-11-07 | 中国科学院东北地理与农业生态研究所 | 一种改善分布式文件系统中地理栅格数据文件处理方法 |
US10346432B2 (en) | 2015-03-17 | 2019-07-09 | Cloudera, Inc. | Compaction policy |
US9774993B1 (en) * | 2016-05-17 | 2017-09-26 | International Business Machines Corporation | System, method, and recording medium for geofence filtering |
CN106527993B (zh) | 2016-11-09 | 2019-08-30 | 北京搜狐新媒体信息技术有限公司 | 一种分布式系统中的海量文件储存方法及装置 |
US10884980B2 (en) | 2017-07-26 | 2021-01-05 | International Business Machines Corporation | Cognitive file and object management for distributed storage environments |
JP2018092679A (ja) | 2018-03-14 | 2018-06-14 | 株式会社メイキップ | 適正サイズ提示方法、適正サイズ提示システム、サーバ装置、及びプログラム |
-
2017
- 2017-07-26 US US15/660,733 patent/US10817515B2/en active Active
-
2018
- 2018-07-17 GB GB2002250.5A patent/GB2579512A/en not_active Withdrawn
- 2018-07-17 DE DE112018002266.8T patent/DE112018002266T5/de active Pending
- 2018-07-17 JP JP2020502995A patent/JP7124051B2/ja active Active
- 2018-07-17 CN CN201880047765.7A patent/CN110914817B/zh active Active
- 2018-07-17 WO PCT/IB2018/055295 patent/WO2019021113A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862580B1 (en) * | 2004-03-01 | 2014-10-14 | Radix Holdings, Llc | Category-based search |
US9245026B1 (en) * | 2013-06-26 | 2016-01-26 | Amazon Technologies, Inc. | Increasing the relevancy of search results across categories |
CN104767813A (zh) * | 2015-04-08 | 2015-07-08 | 江苏国盾科技实业有限责任公司 | 基于openstack的公众行大数据服务平台 |
CN106250381A (zh) * | 2015-06-04 | 2016-12-21 | 微软技术许可有限责任公司 | 表格数据中的用于输入/输出优化的列排序 |
CN106056427A (zh) * | 2016-05-25 | 2016-10-26 | 中南大学 | 一种基于Spark的大数据混合模型的移动推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2020528617A (ja) | 2020-09-24 |
JP7124051B2 (ja) | 2022-08-23 |
GB2579512A (en) | 2020-06-24 |
DE112018002266T5 (de) | 2020-02-20 |
US20190034487A1 (en) | 2019-01-31 |
CN110914817B (zh) | 2024-02-02 |
US10817515B2 (en) | 2020-10-27 |
WO2019021113A1 (en) | 2019-01-31 |
GB202002250D0 (en) | 2020-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110914817B (zh) | 用于存储环境的认知数据过滤 | |
CN110914814B (zh) | 分布式存储环境的认知文件和对象管理 | |
US11074266B2 (en) | Semantic concept discovery over event databases | |
US20200364211A1 (en) | Predictive database index modification | |
US11080249B2 (en) | Establishing industry ground truth | |
US11244007B2 (en) | Automatic adaption of a search configuration | |
US11204951B2 (en) | Hierarchical target centric pattern generation | |
JP7431490B2 (ja) | 階層型ストレージ管理システムにおけるデータ・マイグレーション | |
US20190303501A1 (en) | Self-adaptive web crawling and text extraction | |
AU2021260520B2 (en) | Cached updatable top-K index | |
US11275800B2 (en) | Gauging credibility of digital content items | |
US10884646B2 (en) | Data management system for storage tiers | |
US11436288B1 (en) | Query performance prediction for multifield document retrieval | |
US11977540B2 (en) | Data virtualization in natural language | |
US11886385B2 (en) | Scalable identification of duplicate datasets in heterogeneous datasets | |
US11429579B2 (en) | Building a word embedding model to capture relational data semantics | |
US11947558B2 (en) | Built-in analytics for database management | |
US20210082581A1 (en) | Determining novelty of a clinical trial against an existing trial corpus | |
US20190164066A1 (en) | Dynamic run-time corpus builder | |
US20180203932A1 (en) | Enhanced information retrieval |
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 |