CN109964216B - 识别未知数据对象 - Google Patents
识别未知数据对象 Download PDFInfo
- Publication number
- CN109964216B CN109964216B CN201780070177.0A CN201780070177A CN109964216B CN 109964216 B CN109964216 B CN 109964216B CN 201780070177 A CN201780070177 A CN 201780070177A CN 109964216 B CN109964216 B CN 109964216B
- Authority
- CN
- China
- Prior art keywords
- data
- unknown
- data object
- patterns
- parsing
- 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
Links
- 238000004458 analytical method Methods 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims description 99
- 238000003860 storage Methods 0.000 claims description 46
- 238000013500 data storage Methods 0.000 claims description 30
- 238000010801 machine learning Methods 0.000 claims description 25
- 230000006835 compression Effects 0.000 claims description 15
- 238000007906 compression Methods 0.000 claims description 15
- 238000013145 classification model Methods 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 28
- 239000013598 vector Substances 0.000 description 27
- 238000007726 management method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 238000007667 floating Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 101100007686 Mus musculus Creb3 gene Proteins 0.000 description 3
- 238000010224 classification analysis Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000007621 cluster analysis Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/86—Mapping to a database
-
- 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/13—File access structures, e.g. distributed indices
-
- 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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
可针对存储在数据存储库中的数据对象实施识别未知数据对象。可访问被标识为未知的数据对象以检索所述数据对象的一部分。可生成所述数据对象的不同表示用于识别不同数据模式。可执行对所述表示的分析以标识所述未知数据对象的数据模式。所述数据模式可存储在所述未知数据对象的元数据存储库中。
Description
背景技术
随着组织创建、跟踪和保留信息的技术能力不断提高,已经开发出各种用于管理和存储不断增长的信息浪潮的不同技术。举例来说,数据库系统为客户提供许多不同的专门的或定制的硬件和软件配置来管理存储的信息。然而,组织必须存储和管理的数据量不断增加通常对应地增加数据存储和管理技术(如数据库系统)的规模和复杂性,这进而增加维护信息的成本。新技术越来越多地寻求通过引入提供不同处理或维护能力的不同文件类型来降低维护数据的复杂性和存储要求。
附图说明
图1说明根据一些实施例的识别未知数据对象的逻辑框图。
图2为说明根据一些实施例的提供包括执行未知数据对象的识别的数据目录服务的不同服务的提供商网络的框图。
图3为说明根据一些实施例的实施对未知数据对象的识别的数据目录服务的框图。
图4为说明根据一些实施例的识别任务工作者的逻辑框图。
图5A为说明根据一些实施例的基于启发法的分类器的逻辑框图。
图5B为说明根据一些实施例的机器学习分类器的逻辑框图。
图6-7说明根据一些实施例的客户端和数据目录服务之间的实例交互。
图8为说明根据一些实施例的用于实施识别未知数据对象的方法和技术的高级流程图。
图9说明根据一些实施例的被配置成实施本文描述的各种方法、技术和系统的实例系统。
尽管本文通过实例的方式针对若干实施例和说明性附图描述实施例,但是本领域技术人员将认识到,实施例不限于所描述的实施例或附图。应当理解,附图和对其的详细描述并非旨在将实施例限制于所公开的特定形式,而是相反,其意图为覆盖落入由所附权利要求限定的精神和范围内的所有修改、等同物和替代物。本文使用的标题仅用于组织目的,并非意指用于限制说明书或权利要求的范围。如在整个本申请中所使用的,词语“可”以允许的意义使用(即,意指具有潜在的意义),而不是强制意义(即,意指必须)。类似地,词语“包括(include)”、“包括(including)”和“包括(includes)”意指包括但不限于。
还应当理解,尽管术语第一、第二等可在本文中用于描述各种元件,但是这些元件不应受这些术语的限制。这些术语仅用于区分一种元件与另一种元件。举例来说,在不脱离本发明的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点两者都为触点,但它们不是相同的触点。
具体实施方式
本文描述识别未知数据对象的各种实施例。越来越多的数据存储和处理系统鼓励用于存储数据对象的一组不同的文件类型、格式或数据模式。一些数据模式,如在存储面向列的数据的结构化文件类型中实施的数据模式,可被优化用于在大范围的数据上执行分析(例如,在对大范围的列数据执行查询处理的数据仓库应用中),而其它数据模式可用于更适合于以低延迟处理大量操作的数据存储库(例如,在半结构化数据中实施的数据模式,在非关系数据存储库中维护的这类数据库表)。当尝试访问数据对象时,根据不同数据模式存储数据对象并非没有成本。举例来说,作为数据仓库集群的一部分实施的数据处理引擎可针对存储在不同面向列的数据模式中的数据对象执行查询。为了转换或调整用于数据对象的不同数据模式的查询处理,可能需要数据对象的数据模式以便理解如何访问数据对象。然而,如果数据对象的数据模式未知,那么可阻止数据对象的消费者(如数据仓库应用)访问未知数据对象。
在各种实施例中,可识别数据模式,包括描述未知数据对象中的数据的类型、格式或结构的信息,并将其存储在元数据存储库中。以这种方式,一组不同的数据消费者可通过从元数据存储库中检索数据模式来访问、操纵或转换未知数据对象以实现不同目标,以便理解和访问未知数据对象。图1说明根据一些实施例的识别未知数据对象的逻辑框图。不同数据生产者110可在数据存储库120中生成和存储160数据对象。举例来说,一个或多个数据生产者110可为用于各种信息的数据收集或报告系统,如销售指标、制造控制系统、零售库存、网站分析数据或另一数据生产者。因为数据生产者110生成各种信息,所以可根据不同且可以未知的文件类型、格式、结构、数据类型或其它数据模式信息来存储所存储的数据对象122。举例来说,在线游戏平台的系统执行日志可以许多不同的日志文件格式存储,而网站分析数据可以半结构化文件类型(如逗号分隔值(CSV))存储。不同数据模式可为数据生产者110提供关于如何生成或存储数据的一组不同的选项。结果,可实施或开发的可以数量的数据模式可独立于稍后访问存储在数据存储库120中的数据的一个或多个数据消费者150进行。举例来说,一个或多个数据生产者110可将销售数据存储在最适合数据生产者110的生成需求的一种面向列的文件类型中,而可对面向列的数据执行查询的数据消费者150可利用针对由数据消费者150实施的查询执行技术而优化的不同面向列的文件类型。
为了向一个或多个数据消费者150提供对未知数据模式中的数据对象的访问,可实施一个或多个未知数据对象122的文件识别130以检测或标识162一个或多个未知数据对象122,标识未知数据对象的一种或多种数据模式122(包括存储在一个或多个未知数据对象122内的数据的文件类型、数据类型或值,一个或多个未知数据对象122的结构或其缺乏,如列的数量和/或类型,一个或多个未知数据对象122内的文件、分区或其它对象的层次结构),并且将一种或多种数据模式122存储在可由一个或多个数据消费者150访问的元数据存储库140中。举例来说,文件识别130可通过扫描、搜索或爬行数据存储库120来检测一个或多个未知数据对象122。根据时间表,或者响应于触发文件识别130的操作的事件,可连续地、周期性地或非周期性地执行对一个或多个未知数据对象122的检测。如下面关于图4和6所论述的,在一些实施例中,可执行对一个或多个未知数据对象122的标识,作为指向搜索指定位置的文件识别任务的一部分。在另一实施例中,文件识别130可在没有显式任务指令的情况下自动标识一个或多个未知数据对象122。举例来说,文件识别130可轮询指示何时存储新数据对象的数据存储库120的访问日志或其它信息。
文件识别可获得数据对象(或整个数据对象)的部分164,并且生成132用于文件识别分析的部分的表示。举例来说,如下面关于图5A和8所论述的,可应用针对不同数据模式的解析技术以生成解析的结果作为表示。然后可将所述部分的解析的结果评估为表示分析132的一部分,以确定解析的结果是否可读、可理解或者以其他方式包括用于访问未知数据对象的数据模式信息,指示对应于解析技术的数据模式为未知数据对象的数据模式。可尝试多种不同的解析技术,以便发现成功解释未知数据对象的所述部分的解析的结果。在一些实施例中,表示分析可生成并且比较不同表示(对应于不同文件数据模式)的置信度得分,以标识未知数据对象的数据模式。在至少一些实施例中,可执行用于标识未知数据对象的机器学习技术,如下面关于图5B和8所论述的那些技术。举例来说,表示生成132可生成表示未知数据对象的所述部分的多维向量。然后可通过表示分析132根据如支持向量机的机器学习技术来应用分类模型,以将向量分类为如特定数据模式。
然后文件识别130可将一种或多种数据模式166存储在元数据存储库140中。以这种方式,一个或多个数据消费者150可获得168一种或多种数据模式122以便访问170数据对象122。在一些实施例中,可将一个或多个未知数据对象122的标识的数据模式作为数据库的一部分组织或存储在表中,以提供对一个或多个未知数据对象122的数据模式的查询访问。举例来说,大量数据对象的数据模式可存储在数据库中,允许用户发现大量数据对象的内容,而不必直接单独搜索数据对象。以这种方式,可快速标识包括期望信息的数据对象。用户、利益相关者或其它实体也可修改一种或多种数据模式,以便纠正识别错误或另外细化为未知数据对象存储的数据模式。
请注意,先前对识别未知数据对象的描述为逻辑说明,并且因此不应被解释为对数据存储库、元数据存储库、一个或多个数据生产者、一个或多个数据消费者或文件识别的实施方式的限制。
本说明书以实施数据目录服务的提供商网络的一般描述开始,所述数据目录服务执行对未知数据对象的识别以生成并且提供对未知数据对象的数据目录的访问。然后论述包括不同组件/模块的数据目录服务,或者可用作实施数据目录服务的一部分的组件/模块的布置的各种实例。然后论述实施识别未知数据对象的多种不同方法和技术,其中一些在所附流程图中说明。最后,提供可在其上实施各种组件、模块、系统、设备和/或节点的实例计算系统的描述。在整个说明书中提供各种实例。
图2为说明根据一些实施例的提供包括执行未知数据对象的识别的数据目录服务的不同服务的提供商网络的框图。提供商网络200可为专用或封闭系统,或者可由如公司或公共部门组织的实体建立,以向客户端250提供经由因特网和/或其它网络可访问的一种或多种服务(如各种类型的基于云的存储)。提供商网络200可在单个位置实施,或者可包括托管各种资源池的众多数据中心,所述资源池如需要实施和分布由提供商网络200提供的基础设施和存储服务的物理和/或虚拟化计算机服务器、存储设备、网络装备等(例如,下面关于图9描述的计算系统1000)的集合。在一些实施例中,提供商网络200可实施各种计算资源或服务,如一种或多种数据存储服务240(例如,对象存储服务、基于块的存储服务或数据仓库存储服务)、数据目录服务220以及一种或多种其它服务230,其可包括虚拟计算服务、提取转换和加载(ETL)服务、一种或多种数据处理服务(例如,地图缩减、数据流和/或其它大规模数据处理技术)和/或任何其它类型的基于网络的服务(其可包括未说明的各种其它类型的存储、处理、分析、通信、事件处理、可视化和安全服务)。
在各种实施例中,图2所说明的组件可直接在计算机硬件内作为可由计算机硬件(例如,微处理器或计算机系统)直接或间接执行的指令实施,或者使用这些技术的组合实施。举例来说,图2的组件可由包括多个计算节点(或简称为节点)的系统实施,所述计算节点中的每一个可类似于图9说明并且在下面描述的计算机系统实施例。在各种实施例中,给定系统或服务组件(例如,数据存储服务230的组件)的功能性可由特定节点实施,或者可分布在若干节点上。在一些实施例中,给定节点可实施多于一个服务系统组件(例如,多于一个数据存储组件)的功能性。
一种或多种数据存储服务240可将用于代表客户端250存储、访问和管理数据的不同类型的数据存储库实施为基于网络的服务,所述基于网络的服务使得客户端250能够在云或网络计算环境中操作数据存储系统。举例来说,一种或多种数据存储服务240可包括用于存储、查询和更新数据的各种类型的数据库存储服务(关系和非关系两者)或数据仓库。这些服务可为可缩放和可扩展的企业级数据库系统。查询可指向分布在多个物理资源上的一种或多种数据存储服务240中的数据库或数据仓库,并且数据库系统可根据需要按比例放大或缩小。在不同实施例中,数据库系统可有效地与各种类型和/或组织的数据库模式一起工作。在一些实施例中,客户端/订户可以多种方式提交查询,例如,经由SQL接口以交互方式向数据库系统提交查询。在其它实施例中,外部应用和程序可使用开放式数据库连接(ODBC)和/或Java数据库连接(JDBC)驱动程序接口向数据库系统提交查询。
一种或多种数据存储服务240还可包括用于放置、更新和获取数据对象或文件的各种对象或文件数据存储库,所述数据对象或文件可包括未知文件类型、结构、值或其它形式的数据模式的数据文件。可经由编程接口(例如,API)或图形用户接口来访问一种或多种这类数据存储服务240。一种或多种数据存储服务240可提供基于虚拟块的存储,用于将数据维护为数据卷的一部分,所述数据卷可类似于基于局部块的存储设备(例如,硬盘驱动器、固态驱动器等)来安装或访问,并且可利用基于块的数据存储协议或接口(如因特网小型计算机接口(iSCSI))来访问。
数据目录服务220可提供目录服务,所述目录服务在各种数据存储服务240上定位并且标识代表提供商网络200中的客户端存储的数据,如下面关于图3详细论述的。举例来说,以非关系数据库格式存储的数据库可与在基于对象的数据存储库中存储对象的容器一起被标识为两者都代表提供商网络200的同一客户存储。在至少一些实施例中,数据目录服务220可被配置成确定、识别、标识或提取未知数据对象的数据模式,并指导创建描述数据对象并包括数据模式的数据目录或其它元数据存储结构。
由提供商网络200提供的一种或多种其它服务230可包括提取、转换、加载(ETL)服务,所述服务提供提取、转换和加载能力以将数据放入各种数据存储服务240中的一种或多种处的数据集中。举例来说,ETL服务可向客户端提供资源以创建、维护和编排数据加载作业,所述数据加载作业采取一种或多种数据集,执行各种转换操作,并且存储转换后的数据以供另外处理(例如,通过数据处理服务中的一种或多种)。ETL服务可访问由数据目录服务220生成的数据目录,以便执行ETL操作(例如,将数据对象从一种数据模式转换为不同数据模式的一种或多种其它数据对象的作业)。
一种或多种其它服务230可包括各种类型的数据处理服务以执行不同功能(例如,异常检测、机器学习、查询或任何其它类型的数据处理操作)。举例来说,在至少一些实施例中,数据处理服务可包括地图缩减服务,所述地图缩减服务创建处理节点的集群,所述集群对存储在数据存储服务240中的一个中的数据实施地图缩减功能性。各种其它分布式处理架构和技术可通过数据处理服务(例如,网格计算、分片、分布式散列等)来实施。注意,在一些实施例中,数据处理操作可实施为一种或多种数据存储服务240的一部分(例如,处理对指定数据的请求的查询引擎)。一种或多种数据处理服务可为数据目录服务220的客户端,以便获得数据对象的文件类型和其它元数据,用于相对于存储在一种或多种数据存储服务240中的数据集执行各种处理操作。
一般而言,客户端250可涵盖可配置为经由网络260向提供商网络200提交基于网络的请求的任何类型的客户端,包括对存储服务的请求(例如,在一种或多种数据存储服务240中创建、读取、写入、获取或修改数据的请求,在数据目录服务220处执行文件识别任务的请求等)。举例来说,给定客户端250可包括合适版本的web浏览器,或者可包括插件模块或其它类型的代码模块,其被配置成作为由web浏览器提供的执行环境的扩展或在由web浏览器提供的执行环境内执行。另选地,客户端250可涵盖如数据库应用(或其用户接口)、媒体应用、办公室应用或可利用一种或多种数据存储服务240中的存储资源以存储和/或访问数据以实施各种应用的任何其它应用。在一些实施例中,这类应用可包括足够的协议支持(例如,用于合适版本的超文本传输协议(HTTP)),用于生成和处理基于网络的服务请求,而不必实施对所有类型的基于网络的数据的完全浏览器支持。也就是说,客户端250可为被配置成直接与提供商网络200交互的应用。在一些实施例中,客户端250可被配置成根据代表性状态传输(REST)风格的基于网络的服务架构、基于文档或消息的基于网络的服务架构或另一合适的基于网络的服务架构来生成基于网络的服务请求。
在一些实施例中,客户端250可被配置成以对那些应用透明的方式向其它应用提供对提供商网络200的访问。举例来说,客户端250可被配置成与操作系统或文件系统集成以在一种或多种数据存储服务240(例如,基于块的存储服务)中的一个上提供存储。然而,操作系统或文件系统可向应用呈现不同存储接口,如文件、目录和/或文件夹的传统文件系统层次结构。在这类实施例中,可不需要修改应用以利用存储系统服务模型。相反,与一种或多种数据存储服务240接口的细节可由客户端250和操作系统或文件系统代表在操作系统环境内执行的应用来协调。
客户端250可经由网络260向提供商网络200传达基于网络的服务请求(例如,指向一种或多种数据存储服务240中的数据、作为一种或多种其它服务230的一部分执行的操作、任务或作业,或者与数据目录服务220交互的访问请求),并且从提供商网络200接收响应。在各种实施例中,网络260可涵盖在客户端250和提供商网络200之间建立基于网络的通信所必需的网络硬件和协议的任何合适组合。举例来说,网络260通常可涵盖共同实施因特网的各种电信网络和服务提供商。网络260还可包括专用网络,如局域网(LAN)或广域网(WAN)以及公共或专用无线网络。举例来说,给定客户端250和提供商网络200两者可分别在具有它们自身内部网络的企业内提供。在这类实施例中,网络260可包括在给定客户端250和因特网之间以及因特网和提供商网络200之间建立网络链路所必需的硬件(例如,调制解调器、路由器、交换机、负载平衡器、代理服务器等)和软件(例如,协议栈、计费软件、防火墙/安全软件等)。注意,在一些实施例中,客户端250可使用专用网络而不是公共因特网与提供商网络200通信。
图3为说明根据一些实施例的实施对未知数据对象的识别的数据目录服务的框图。数据目录服务220可维护动态生成的数据目录,以描述数据目录存储360中的数据集(存储在提供商网络200中或外部存储位置中)。在各种实施例中,数据目录服务220可经由接口310提供对数据目录存储360、目录管理350和目录生成320的访问,所述接口310可为编程接口(例如,应用编程接口(API))、命令行接口和/或图形用户接口。
数据目录服务220可实施目录生成320以检测未知数据对象,标识未知数据对象的数据模式并且将数据模式存储在数据目录存储360中的未知数据对象的数据目录中,如下面关于图4所论述的。目录生成320可实施识别任务管理330以指导可访问多个不同存储位置处的数据集以执行文件识别任务的识别任务工作者池340。目录生成320可实施安全性或认证控制以确保由与授权用户或帐户相关联的客户端提交对文件识别任务的请求。举例来说,目录生成320可获得验证它们的标识凭证(例如,用户名/密码)。
数据目录服务220可实施目录管理350,以便允许目录用户、所有者或其它利益相关者修改或以其它方式管理数据目录。例如,目录管理350可实施目录访问工作者池以处理和执行指向数据目录存储360的访问请求(例如,用于组合、删除或拆分目录中的元数据表或编辑为数据目录确定的元数据的请求,或者根据存储在数据目录中的数据模式信息查询、搜索、过滤或以其它方式定位数据对象的请求,如下面关于图7所论述的)。目录管理330可实施数据目录的访问或控制策略(例如,限制对授权用户的数据目录的访问)。目录管理330可实施数据保留或生命周期策略以确定数据目录(或旧版本的数据目录)在数据目录存储360中维护多长时间。目录管理330可处理数据目录存储360中的存储资源的供应,用于创建新数据目录(例如,向目录生成320提供存储资源的位置)。目录管理330还可执行负载平衡、热管理、故障恢复和其它资源管理技术(例如,实施持久性要求)以确保客户端的数据目录的可用性。
数据目录存储360可由一个或多个存储节点、服务或计算设备(例如,下面关于图9论述的系统1000)来实施,以为由数据目录服务200生成的数据目录提供持久存储。这类存储节点(或存储360的其它存储组件)可实施各种查询处理引擎或其它请求处理组件,以根据经由接口310接收的请求提供对数据目录的访问(如下面关于图4所论述的)。举例来说,在一个实施例中,数据目录存储360可实施为非关系数据库,其存储数据模式,包括文件类型、数据的结构或布置(或其缺乏)、数据类型(例如,字符串、整数、浮点)或表中数据对象的任何其它元数据。在一些实施例中,代表单个用户帐户在一种或多种不同存储服务240上存储的各种数据对象的元数据集合可一起存储在可使得被客户端可访问的用户数据对象的单个元数据目录中。举例来说,为了确定应该将哪些数据对象加载到数据分析引擎或服务中,可将查询发送到数据目录存储360以标识目录中包括特定数据字段(例如,用户标识符、销售价格、位置)的数据对象,使得可将作为查询结果返回的标识的数据对象加载到数据分析引擎中。
图4为说明根据一些实施例的识别任务工作者的逻辑框图。如上所述,数据目录服务220可实施识别任务管理330以指导文件识别任务的执行。如图4所说明,识别任务管理330可接收识别任务请求452,所述识别任务请求452可包括用于执行识别任务的各种信息,包括数据对象的访问凭证、要应用的一个或多个分类器、文件识别任务的搜索位置、任务的触发事件和/或识别任务的输出格式,以及下面关于图6中的识别任务请求630所论述的各种其它信息,以代表数据目录服务220的客户端执行文件识别任务。在一些实施例中,文件识别任务可在没有请求或指示的情况下连续地或自动地执行。举例来说,可监控或轮询数据存储服务240中的数据存储库以用于查找存储的新数据对象,从而触发数据存储库的文件识别任务的执行。在一些实施例中,可扫描文件路径或目录索引以用于查找新数据对象或未知数据对象。
识别任务管理330可实施任务协调器414以调度或指导文件识别任务的执行。举例来说,在一个实施例中,任务协调器可维护文件识别任务的主时间表,其标识何时将执行文件识别任务。在至少一些实施例中,任务协调器414可监控触发文件识别任务的执行的其它触发事件条件或标准。任务协调器414可检测到失败的文件识别任务或文件识别任务的搜索位置中新数据的到达,从而触发文件识别任务的执行。
任务协调器414可将一个或多个识别任务454分配给识别任务工作者,如识别任务工作者400。任务协调器414可更新任务状态以指示文件识别任务的启动已经开始(例如,记录文件识别任务在任务状态412中的“运行”状况)以及分配的识别任务工作者。在一个实施例中,任务协调器414可轮询识别任务工作者以用于查找任务的状况更新,从识别任务工作者接收错误或其它信息,并且可确定用于执行所分配的文件识别任务的执行度量,这些中的所有都可维护在任务状态412中。运行时间、找到的未知对象的数量、遇到的错误的数量和类型或描述文件识别任务的执行的任何其它信息可由任务协调器454记录在任务状态412中。
识别任务管理330可维护分类器库416,所述分类器库416可存储用于对不同文件类型进行分类的代码、脚本、可执行文件或其它定义、操作或指令。分类器库416可包括提供给数据目录服务220的所有客户端的一组公共分类器。在至少一些实施例中,客户端可在数据目录服务220处上传或创建分类器,其可在分类器库416中维护。客户端上传或创建的分类器可私有地用于文件识别任务中,用于允许使用分类器的用户帐户,如在为分类器维护的共享权限中所描述的。在一些实施例中,客户端上传或创建的分类器可公开可供数据目录服务220的任何客户端使用。
识别任务管理器330可将识别任务分配454给任务工作者400。任务分配454可包括用于执行识别任务的各种信息,如数据对象的访问凭证、要应用的一个或多个分类器、文件识别任务的搜索位置、搜索位置的连接信息以及文件识别任务的输出格式或位置。识别任务工作者可实施任务执行引擎或平台420以执行分配的文件识别任务。文件识别任务工作者400可实施数据扫描器410以访问数据存储库430中的搜索位置。举例来说,数据扫描器410可根据访问凭证和文件识别任务请求中提供的连接信息与数据存储搜索位置430建立网络连接。举例来说,数据扫描器410可与数据存储库430建立JDBC连接或iSCSI连接以访问一个或多个数据对象432。数据扫描器410可在数据存储搜索位置430中搜索未知数据对象432,并且在至少一个实施例中,根据文件任务识别请求中的排除标准从考虑中排除某些路径、位置或对象。可通过将已知数据对象的列表与在搜索位置中找到的内容进行比较来标识未知数据对象432。如果找到未知的数据对象,那么可将其检测或标识为未知数据对象432。数据扫描器410可从未知数据对象432(或在一些实施例中的整个数据对象)中读取456部分,并且将数据提供给任务执行引擎420。
在一些实施例中,任务执行引擎420可实施加密识别422,以确定未知数据对象的接收部分是否被加密(例如,根据对称或非对称加密方案)。加密识别422可根据凭证解密所述部分,如在文件识别任务请求中提供的公共或专用加密密钥。然后可将解密的部分提供给压缩识别424、一个或多个文件分类器426以用于另外处理。
在至少一些实施例中,任务执行引擎420可实施压缩识别424。压缩识别424可评估来自未知数据对象的部分,以确定是否已经应用压缩技术以及已经应用什么压缩技术。举例来说,压缩识别424可扫描所述部分以用于查找指示应用于未知数据对象的压缩技术的“幻数”或其它签名。根据lzip压缩方案压缩的数据对象可在数据对象的开始处具有十六进制签名(“4C 5A 49 50”),例如,所述压缩识别424可与包括用于识别lzip压缩文件的十六进制签名的lzip简档匹配。
任务执行420可执行一个或多个文件分类器424。一个或多个文件分类器可执行基于启发法的分类技术和/或机器学习分类技术,如下面关于图5A和5B所论述的。可通过应用的文件识别任务请求来指定一个或多个不同分类器424。当分配识别任务454时,可从分类器库416提供一个或多个分类器424。一个或多个文件分类器424可顺序地执行(例如,根据客户端指定的顺序)或者可并行执行。分类器结果可根据由分类器确定的数据模式输出存储数据对象的可能性的置信度得分。可评估置信度得分并选择一种数据模式(例如,具有最高置信度得分的文件类型)。举例来说,如果一个分类器可检测未知数据对象的表结构的列值的数量和名称,但不能检测列的数据类型,那么与分类器结果相关联的置信度得分可低于确定表结构的列的数量、名称和数据类型的分类器。在一个实施例中,至多一个分类器可提供成功的分类结果,因此可将分类器的数据模式标识为数据对象的数据模式。在一些实施例中,如果没有基于启发法的分类器能够提供成功(或置信度阈值以上的置信度结果),那么可应用机器学习分类器。任务执行引擎420可更新458数据目录存储360中的元数据表440,以记录一个或多个未知数据对象432的标识的文件类型。
一个或多个分类器424可包括解析器、元组读取器或被配置成生成用于评估的数据解释的其它扫描器。举例来说,一个或多个分类器424可评估解析结果,以基于实施为对应于分类器的文件类型(例如,某些文件类型实施浮点运算,而某些文件类型实施双精度运算)的一部分的数据类型来确定数据类型(例如,数据类型识别技术),如通用数据类型(例如,字符串、整数、浮点等)。在至少一些实施例中,一个或多个分类器424可评估解析结果识别特殊数据类型(例如,邮政编码或地理坐标)或用户指定的数据类型(例如,包括同构或异构数据类型的多个数据值的数据结构)。
图5A为说明根据一些实施例的基于启发法的分类器的逻辑框图。基于启发法的分类器500可针对特定数据模式或数据模式族(例如,根据特定文件类型存储的数据模式)执行数据模式识别。接收的数据部分502可由数据模式解析器510接收和解析,所述数据模式解析器510在假设数据部分502为基于启发法的分类器500的特定数据模式(例如,文件类型)的情况下解析所述数据部分502。举例来说,文件类型解析器可解析数据部分502,就好像数据部分为逗号分隔值(CSV)文件类型一样。解析结果512可为解析树、图形或根据特定于基于启发法的分类器的文件类型格式化的其它数据结构。然后可使用基于规则的分析520来分析所生成的一种或多种解析结果512。举例来说,基于规则的分析520可根据一个或多个规则来操作,所述规则定义如果成功解析解析结果512,那么解析结果512中应该存在什么信息。基于规则的分析520可尝试以特定位置或方式读取解析结果512,以便根据特定文件类型确定解析结果512是否可理解(例如,通过检查签名、标记、字段或将在来自所述文件类型的数据对象的数据的解析结果中存在的其它特性的解析结果)。
基于规则的分析520可检查或评估解析的结果512以确定一个或多个未知数据对象的结构或其缺乏。举例来说,未知数据对象可为包括多个部分的文件或目录(例如,目录中的多个文件对象,如数据库表的不同分区)。可识别未知数据对象(包括子目录)的结构并将其用于确定未知数据对象的数据模式。举例来说,根目录可被映射到时间范围(例如,一个月),并且包括不同文件对象的相应子目录可被映射到该月内的不同日期范围,因此可确定标识每个文件对象的月份和时间范围的数据模式。对于其它半结构化或非结构化数据,可执行不同的分析以确定数据模式。例如,如果日志文件包括每个日志记录条目的重复值模式,那么那些重复值可被映射到或标识为日志文件的数据模式的“列”值。
基于规则的分析520可检查或评估解析的结果512以确定数据对象内数据值的数据类型。举例来说,可将整数解析器、字符串解析器、浮点解析器或其它数据值技术应用于原始位值,以检测所述结果中的一个是否被成功解释为整数、字符串、浮点等。专门的数据值,如统一资源定位符(URL)、邮政编码、社会安全号码、电话号码、坐标或任何其它数据值类型或格式可以类似的方式识别,应用解析器或解释器以检查原始数据(或整数、字符串、浮点数等)是否采用专门的数据格式。
在一些实施例中,基于规则的分析520可标识确定或一种或多种解析结果512内的预期值或结果之间的差异是否为文件类型的改编或扩展。在至少一个实施例中,基于规则的分析520可对文件类型解析器510进行解析调整522(例如,使用两个空格而不是一个空格作为分隔符)并且基于解析调整来重新解析数据部分502。在至少一些实施例中,还可基于分类反馈426更新基于规则的分析520。举例来说,如果特定规则将数据值的标识指导为一种数据类型(例如,某些值作为整数)并且数据类型总是改变为不同的数据类型(例如,浮点),那么可更新分类器的基于规则的分类模型内的规则或启发法规则,以改变数据值到不同数据类型的映射。
基于规则的分析520可根据由数据模式解析器510正在识别的数据模式来确定一种或多种解析结果512是否为数据部分502的成功解析。基于规则的分析520可基于所述确定来指示成功或失败分类结果524。在其它实施例中,可指示置信度得分或结果准确性的其它指示。
图5B为说明根据一些实施例的机器学习分类器的逻辑框图。机器学习分类器530可被实施为由如任务工作者400的识别任务工作者应用的一个或多个文件分类器426中的一个。机器-学习分类器530可实施一种或多种机器学习技术以对未知数据对象的一部分进行分类。举例来说,可接收数据部分532,并且向量生成器540可生成基于模型的多维向量542分析。举例来说,向量生成器540可通过获取数据对象的重叠范围(例如,字节1-20、10-30、20-40等)并对重叠范围应用如散列函数的变换来实施向量的叠瓦特征生成技术,以生成多维向量的每个维度。在不同实施例中,向量生成器540可定位所述部分内的不同特征或数据以生成多维向量542。
然后可根据基于模型的分类分析550来分析向量542,所述分类分析550可应用分类模型560以标识类似于向量542的文件类型。举例来说,在一个实施例中,分类模型560可被应用为k-最近邻算法,所述k-最近邻算法基于在分类模型560中与向量542相邻的已知文件类型的最近k个向量将向量542分类为文件类型。可将k个向量中的每个相邻向量与向量542进行比较,并且将最近k个向量的大多数文件类型标识为向量542的文件类型。在其它实施例中,可执行应用分类模型560的其它机器学习技术,如支持向量机技术、k-均值聚类技术或其它有监督或无监督的机器学习技术。分类模型560可最初离线训练。在一些实施例中,可基于分类反馈562来更新分类模型560。举例来说,如果用户手动将文件类型分类改变为数据对象的不同文件类型,那么可更新分类模型560以反映将为所述数据对象生成的向量分类为由用户标识的不同文件类型。
基于模型的分类分析550可提供分类结果552,所述分类结果552指示所标识的文件类型或数据对象为文件类型的置信度得分。基于机器学习的分类器可减少文件类型特定分类器(如为了检测文件类型而需要维护的基于启发法的分类器500)的数量。由于数字文件类型可继续增加,因此未知数据对象的文件类型的机器-学习分类可允许识别新文件类型,而不必为新文件类型获取特定文件类型分类器,从而创建可识别文件类型而不必执行若干其它文件类型特定分类技术的文件识别系统。
图6说明数据目录服务的客户端和数据目录服务之间的实例交互。客户端610可为类似于图2中客户端250的客户端。客户端610可经由接口310提交请求。如上所论述,接口310可为图形用户接口(GUI)或编程接口(例如,API),客户端(如客户端610)可经由所述接口向数据目录服务220提交请求。举例来说,在一些实施例中,客户端610可提交用于上传分类器620的请求620。分类器(如图4中的分类器426)可为对一种或多种文件类型执行文件识别的脚本、代码或可执行文件。上传的分类器可以作为分类器库的一部分维护存储。如图6所说明,上传请求620可指定是否可向其它用户授予共享或实施不同文件识别任务的分类器的权限。在一个实施例中,接口310可提供输入接口(例如,文本编辑器),以用于供用户编写、定义或以其它方式创建分类器,而不必经由上传请求620传输分类器。
在一些实施例中,客户端610可经由接口310发送识别任务请求630。举例来说,识别任务630可指定或配置文件识别任务的执行。在一些实施例中,可提供(或指向)访问凭证、用户角色或其它信息,所述数据目录可用于访问数据存储库以搜索未知数据对象、访问找到的数据对象以及存储指示文件识别任务的结果的元数据。在一些实施例中,识别任务请求630可指定要作为文件识别任务的一部分应用的一个或多个分类器。分类器名称或标识符可包括在请求中。在接口310为GUI的一些实施例中,可从下拉列表或提供可用分类器的其它显示器中选择一个或多个分类器,包括可由用户使用的分类器(例如,作为由所述用户或已经授予共享分类器权限的另一用户上传或创建分类器的结果)。在至少一个实施例中,识别任务630还可指定其中要应用的一个或多个分类器的顺序(例如,其中分类器被串行地应用)。
识别任务请求630可包括用于识别任务的搜索位置。举例来说,可包括用于数据对象的目录、分组或集合、文件路径或其它位置描述符,其标识应该在何处执行对未知数据对象的搜索。在一些实施例中,排除的位置、路径或可被定义为免除或阻止位置搜索文件识别任务。例如,如果在标识的目录中,子目录含有不完整或错误的数据对象,那么可从未知数据对象的目录的搜索中排除子目录。在至少一些实施例中,可包括连接信息,以便于在数据存储库中搜索和访问文件识别任务的搜索位置。如果数据存储库在虚拟专用网络或组中可访问,那么可提供连接信息以建立与网络组的网络连接(例如,除了访问凭证之外以获得对虚拟专用网络的访问)。位置连接信息可包括网络地址、服务器、计算机或存储设备标识符,或者用于建立连接以搜索位置的任何其它信息。
识别任务还可定义或指定识别任务的触发事件。举例来说,可指定自动触发文件识别任务的执行的条件或标准。可为文件识别任务定义固定的时间表(例如,每周三的午夜)。一些触发事件可包括基于搜索位置的状态(例如,自上次执行识别任务以来被访问的)、另一文件识别任务的状态或结果(例如,成功或失败)或可由任务执行协调器(如图4中的任务协调器414)评估的任何其它条件或标准来评估的条件或标准。在一些实施例中,识别任务请求630可指定输出格式。举例来说,在数据目录服务220中维护的目录或其它元数据表的标识或者元数据的外部存储位置(例如,在提供商网络200内的另一服务或提供商网络200外部的位置)。
在一些实施例中,客户端610可发送用于修改任务执行640的请求。举例来说,可停止当前正在运行或执行的文件识别任务(尽管响应于文件识别任务的触发事件,可不停止文件识别任务的随后执行)。可暂停当前正在运行或执行的文件识别任务(例如,为了调查文件识别任务的错误或结果)。稍后可恢复或停止文件识别任务。修改任务执行请求640可编辑文件识别任务,包括改变或修改访问凭证、一个或多个所选分类器、分类器的排序、搜索位置、位置连接信息、触发事件或输出格式。在一些实施例中,修改任务执行640可删除文件执行任务。
图7说明客户端和数据目录服务之间的另外交互。客户端610可发送对指定文件识别任务的任务信息720的请求(例如,通过包括文件识别任务名称或标识符)。举例来说,任务信息请求730可包括任务历史,如上次执行文件识别任务的时间。在一些实施例中,任务信息可包括找到或标识的一个或多个对象的列表。举例来说,可提供用于找到的对象的文件路径或其它定位符以及名称和标识的文件类型。在一些实施例中,可提供一个或多个任务执行度量。举例来说,任务执行时间(例如,以分钟为单位)可与其它度量一起包括在内,所述其它度量如任务的平均执行时间、发现或找到的数据量、错误率或文件识别任务的任何其它捕获执行度量。
除了与文件识别任务交互之外,如客户端610的客户端可访问所创建的数据目录以检索元数据。如图7所说明,在至少一些实施例中,可接收更新目录720的请求,所述请求修改所标识的文件类型(例如,从ORC文件类型改变为Parquet文件类型)。在一些实施例中,更新目录请求720可包括对针对数据对象收集的其它数据模式的修改。举例来说,可改变列的数据类型或列的名称。
在一些实施例中,客户端610可发送用于查询数据目录的请求740。查询可包括一个或多个查询谓词。举例来说,查询740可包括返回包括跨越时间范围的数据值的所有数据对象的谓词。数据目录服务220可通过评估为不同数据对象找到的时间范围值来处理相对于数据目录的查询,并返回被指示为在所述时间范围内存储数据值的那些数据对象的列表(例如,通过用指示特定列、字段、属性、目录等的数据模式来标识那些数据对象,在所述时间范围内存储数据)。
注意,虽然客户端610被说明为执行不同的交互,但是不同的客户端可执行相对于相同文件识别任务或目录的请求。
尽管图2-7已经在数据目录服务的上下文中描述和说明,但是可将图2-7中说明和描述的各种技术和组件容易地应用于不同实施例中的其它数据访问或管理系统,所述系统可识别存储在数据存储库中的未知数据对象。由此,图2-7并不旨在限制可实施对未知数据对象的识别的系统的其它实施例。图8为说明根据一些实施例的用于实施识别未知数据对象的方法和技术的高级流程图。各种不同的系统和设备可单独地或一起工作地实施下面描述的各种方法和技术。举例来说,如上面关于图2-7描述的数据目录服务可被配置成实施各种方法。另选地,不同系统和设备的组合,如管理对存储在直接附接的存储设备中的数据的访问的存储子系统。因此,上面的实例和/或被称为执行所说明的方法的任何其它系统或设备并不旨在限制其它不同的组件、模块、系统或系统和设备的配置。
如810所指示,可针对文件识别任务检测触发事件。举例来说,可根据时间顺序标准(如时间表)来确定触发事件。在一个实施例中,可由一周中的特定日期、一个月中的某天以及特定时间来指定触发事件。触发事件可包括基于数据存储库的状态或先前执行的操作的条件或标准。在一个实施例中,例如,新数据的到达可触发文件识别事件。触发事件可包括多个条件,如时间顺序条件和状态条件两者(例如,如果文件识别任务在前一个周五没有检测到任何未知数据对象,那么每个周一执行文件识别任务)。可手动调用触发事件,如通过运行、执行或以其它方式启动文件识别任务的请求。
在一些实施例中,触发事件可标识要作为文件识别任务的一部分执行的类型或操作。文件识别任务可包括应用一组指定的分类器,如上面关于图6所论述的,所述分类器将按(例如,可能性)顺序应用。触发事件可确定文件识别任务的其它特性或参数。举例来说,在一个实施例中,触发事件可指定存储识别任务结果的位置和要执行的通信方法,以便提供文件识别任务的结果的通知。在一些实施例中,文件识别任务的各种其它配置可由触发事件调用,如上面关于图5A-7所论述的不同实例。
如820所指示,可标识存储在数据存储库中的未知数据对象。举例来说,可将描述数据存储库内(或整个数据存储库内)的位置内容的清单、列表、索引、目录或其它数据与描述所述位置的旧版本的清单、列表、索引、目录或其它数据进行比较。对于存在于当前清单中但不存在于先前清单中的那些数据对象,可标记、示踪数据对象或者以其它方式将数据对象视为未知数据对象。在一些实施例中,未知数据对象可为可能已知的另一数据对象的分区或者嵌入可能已知的另一数据对象内。举例来说,可在数据存储库中找到已经识别的数据库表的分区。对于找到并确定与已知数据对象相关联的那些未知数据对象,可针对相关联的未知数据对象选择已知数据对象的文件类型,从另外的分析中移除相关联的未知数据对象(根据元件830至元件850)。相反,相关联的数据对象的标识的文件类型可存储在未知数据对象的元数据存储库中(如下面在元件860处所论述的)。
如830所指示,在各种实施例中,可获得未知数据对象的至少一部分。举例来说,可从数据存储库中读取、扫描或以其它方式请求未知数据对象的位或字节范围的数据。在一个实施例中,可检索整个数据对象(例如,如果数据对象小于文件识别的样本阈值)。
在一些实施例中,未知数据对象可被加密。触发事件可包括或指导获取访问凭证(例如,加密密钥)以解密所述部分(或整个)未知数据对象。例如,可由请求或调度文件识别任务的触发事件的用户来提供私钥,可应用所述触发事件以使用非对称加密模式生成未知数据对象的所述部分的解密版本。
在一些实施例中,可压缩未知数据对象。举例来说,触发事件可标识未知数据对象的压缩模式(例如,bzip或Lempel-Ziv)。然而,在一些实施例中,可评估未知数据对象以确定压缩模式是否被应用于未知数据对象以及压缩模式是什么。举例来说,在一个实施例中,可扫描未知数据对象的前缀、报头或其它部分(其可与在830获得的部分相同或不同)以用于查找标识压缩模式的“幻数”或其它数字签名。在一些实施例中,根据多个不同压缩模式对数据进行解压缩可尝试确定尝试中的一个是否产生数据的可读部分。一旦确定压缩模式,就可根据确定的解压缩模式对未知数据对象的部分(在830获得)进行解压缩。
一旦获得(并且可以如上所述地解密和/或解压缩),未知数据对象的所述部分就可用于生成对应于一种或多种数据模式的部分的一种或多种表示。举例来说,如上面关于图4-5A所论述的,可应用对生成的表示执行基于规则的分析的一种或多种分类器,所述分类器尝试根据对应的数据模式来解析数据对象的所述部分。举例来说,可应用优化行列(ORC)格式文件类型的解析技术以生成解析树、图形或可被评估用于文件识别的其它输出。在一个实施例中,可并行地应用多种解析技术,而在另一实施例中,可以串行方式应用解析技术以生成用于分析的表示(例如,根据触发事件中指定的顺序)。除了应用分类器之外或者代替应用分类器,可应用机器学习技术以生成用于机器学习分析的多维向量,如上面关于图5B所论述的叠瓦向量生成技术。在不同实施例中,可执行概述或以其它方式表示用于机器-学习分析的未知数据对象的所述部分的其它向量生成技术或其它数据结构。举例来说,可将未知数据对象的所述部分的一种或多种特征(例如,大小、标题字段等)确定为所述部分的表示并进行分析。
如850所指示,可分析一种或多种表示以标识未知数据对象的一种或多种数据模式中的一种。举例来说,在将分类器应用于所述部分的实施例中,可比较一种或多种分类器的结果,如对应于用于分类器的应用的解析技术的文件类型的成功或失败指示或置信度得分。可选择成功或具有最高置信度得分的分类器的数据模式作为数据对象的标识的文件类型。在一些实施例中,可单独分析表示,直到确定超过选择阈值(例如,90%)的第一成功结果或置信度得分。在这类实施例中,并非所有分类器都需要被应用于确定未知数据对象的数据模式的标识。
在实施基于机器-学习的文件类型识别分析的那些实施例中,可相对于文件类型识别模型评估数据对象的向量或其它类型的表示。举例来说,在应用支持向量机学习技术时,用被分类为不同文件类型的先前向量训练的文件分类模型可用于标识向量的数据模式。注意,在不同实施例中,可应用其它机器学习技术,如支持向量聚类分析、k-均值聚类分析或任何其它分类机器学习技术,并且因此前面的实例不旨在为限制性的。在一些实施例中,如果使用分类器生成的表示的分析不成功,那么可执行基于机器-学习的文件识别技术。
如860所指示,未知数据对象的标识的数据模式可存储在未知数据对象的元数据存储库中。举例来说,元数据存储库可为单独的数据存储系统或服务(例如,如数据目录服务220),其可维护描述与数据对象分离的数据对象的元数据。在一些实施例中,可更新位于存储未知数据对象的数据存储库中的目录、索引、映射信息或其它元数据存储库以包括未知数据对象的文件类型。如上面关于图4所论述的,存储的数据模式可包括作为未知数据对象的数据模式的一部分的信息,如列数、列名、列名或其它项目数据类型(例如,包括整数、字符串或浮点的通用项目类型或者包括性别、邮政编码或动物图片的特别定义的数据类型)。
如870所指示,在一些实施例中,文件识别任务可继续搜索由事件触发器指定的位置以用于查找其它未知数据对象。如果没有找到其它未知数据对象,那么如从870的否定退出所指示的,文件识别任务可结束。可发送或报告找到和识别的文件数据对象的通知(例如,如事件触发器所指定的)。举例来说,可发送电子邮件报告或其它消息,总结对找到的未知数据对象进行分类的成功或不成功尝试。在一些实施例中,可更新任务历史存储或状态以反映任务完成。如果如正向出口所指示的标识另一未知数据对象,那么可从元件830开始重复所述技术以标识附加未知数据对象的数据模式。
在各种实施例中,本文描述的方法可通过硬件和软件的任何组合来实施。举例来说,在一个实施例中,所述方法可由计算机系统(例如,如图9中的计算机系统)实施,所述计算机系统包括执行存储在耦合到处理器的计算机可读存储介质上的程序指令的一个或多个处理器。程序指令可被配置成实施本文描述的功能性(例如,实施本文描述的基于网络的虚拟计算资源提供商的各种服务器和其它组件的功能性)。如附图中所说明和本文描述的各种方法表示方法的实例实施例。可改变任何方法的顺序,并且可添加、重新排序、组合、省略、修改等各种元件。
如本文描述的识别未知数据对象的实施例可在一个或多个计算机系统上执行,所述计算机系统可与各种其它设备交互。图9说明一种这类计算机系统。在不同的实施例中,计算机系统1000可为各种类型的设备中的任何一种,包括但不限于个人计算机系统、台式计算机、膝上型计算机、笔记本或上网本计算机、大型计算机系统、手持计算机、工作站、网络计算机、相机、机顶盒、移动设备、消费者设备、视频游戏机、手持视频游戏设备、应用服务器、存储设备、外围设备(如交换机、调制解调器、路由器)或者通常任何类型的计算节点、计算设备或电子设备。
在所说明的实施例中,计算机系统1000包括经由输入/输出(I/O)接口1030耦合到系统存储器1020的一个或多个处理器1010。计算机系统1000另外包括耦合到I/O接口1030的网络接口1040,以及一个或多个输入/输出设备1050,如光标控制设备1060、键盘1070和一个或多个显示器1080。一个或多个显示器1080可包括一个或多个标准计算机监控器和/或其它显示系统、技术或设备。在至少一些实施方式中,输入/输出设备1050还可包括触摸或多触摸使能设备,如触摸板或平板电脑,经由所述触摸板或平板电脑用户经由触控笔型设备和/或一个或多个数字进入输入。在一些实施例中,预期可使用计算机系统1000的单个示例来实施实施例,而在其它实施例中,多个这类系统或构成计算机系统1000的多个节点可被配置成托管实施例的不同部分或示例。举例来说,在一个实施例中,可经由计算机系统1000的一个或多个节点来实施一些元件,所述节点不同于实施其它元件的那些节点。
在各个实施例中,计算装置1000可为包括一个处理器1010的单处理器系统,或者包括若干处理器1010(例如,两个、四个、八个或另一合适数量)的多处理器系统。处理器1010可为能够执行指令的任何合适的处理器。举例来说,在各个实施例中,处理器1010可为实施各种指令集架构(ISA)中的任何一种的通用或嵌入式处理器,如x86、PowerPC、SPARC或MIPS ISA或任何其它合适的ISA。在多处理器系统中,处理器1010中的每一个可共同但不一定实施相同的ISA。
在一些实施例中,至少一个处理器1010可为图形处理单元。图形处理单元或GPU可被视为个人计算机、工作站、游戏控制台或其它计算或电子设备的专用图形渲染设备。现代GPU在操纵和显示计算机图形方面可非常有效,并且它们高度并行的结构可使它们比一系列复杂图形算法的典型CPU更有效。举例来说,图形处理器可以比用主机中央处理单元(CPU)直接绘制到屏幕上更快地执行它们的方式实施多个图形基元操作。在各种实施例中,图形渲染可至少部分地由配置用于在这类GPU中的一个上执行或者在这类GPU中的两个或更多个上并行执行的程序指令来实施。一个或多个GPU可实施允许程序员调用一个或多个GPU的功能性的一个或多个应用编程接口(API)。合适的GPU可从如辉达公司(NVIDIACorporation)、治天科技公司(现美国超微半导体公司)(ATITechnologies(AMD))等供应商商购获得。
系统存储器1020可被配置成存储由处理器1010可访问的程序指令和/或数据。在各个实施例中,系统存储器1020可使用任何合适的存储器技术来实施,如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存型存储器或任何其它类型的存储器。在所说明的实施例中,实施如上面描述的那些的所期望功能的程序指令和数据被示为分别作为程序指令1025和数据存储库1035存储在系统存储器1020中。在其它实施例中,可在不同类型的计算机可访问介质上或者与系统存储器1020或计算机系统1000分离的类似介质上接收、发送或存储程序指令和/或数据。一般而言,非暂时性计算机可读存储介质可包括存储介质或存储器介质(如磁性或光学介质),例如经由I/O接口1030耦合到计算机系统1000的磁盘或DVD/CD-ROM。经由计算机可读介质存储的程序指令和数据可由传送介质或信号(如电信号、电磁信号或数字信号)传送,所述信号可经由通信介质(如网络和/或无线链路)传达,如可经由网络接口1040实施。
在一个实施例中,I/O接口1030可被配置成协调处理器1010、系统存储器1020和设备中的任何外围设备之间的I/O业务量,包括网络接口1040或如输入/输出设备1050的其它外围接口。在一些实施例中,I/O接口1030可执行任何必要的协议、定时或其它数据变换,以将来自一个组件(例如,系统存储器1020)的数据信号转换成适合于由另一组件(例如,处理器1010)使用的格式。在一些实施例中,I/O接口1030可包括对通过各种类型的外围总线附接的设备的支持,例如,如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变体。在一些实施例中,I/O接口1030的功能可分成两个或更多个单独的组件,例如北桥和南桥。另外,在一些实施例中,I/O接口1030的一些或全部功能性,如到系统存储器1020的接口可直接并入到处理器1010中。
网络接口1040可被配置成允许在计算机系统1000和附接到网络的其它设备(如其它计算机系统)之间或者在计算机系统1000的节点之间交换数据。在各种实施例中,网络接口1040可支持经由有线或无线通用数据网络,例如,如任何类型的以太网;经由如模拟语音网络或数字光纤通信网络的电信/电话网络;经由如光纤通道SAN的存储区域网络或者经由任何其它合适类型的网络和/或协议的通信。
在一些实施例中,输入/输出设备1050可包括一个或多个显示终端、键盘、小键盘、触摸板、扫描设备、语音或光学识别设备,或者适合于由一个或多个计算机系统1000输入或检索数据的任何其它设备。多个输入/输出设备1050可存在于计算机系统1000中,或者可分布在计算机系统1000的各个节点上。在一些实施例中,类似的输入/输出设备可与计算机系统1000分离,并且可通过有线或无线连接(如通过网络接口1040)与计算机系统1000的一个或多个节点交互。
如图9所示,存储器1020可包括程序指令1025和数据存储1035,所述程序指令1025被配置成实施如本文所描述的各种方法和技术,所述数据存储1035包含由程序指令1025可访问的各种数据。在一个实施例中,程序指令1025可包括如本文所描述并如图中所说明的实施例的软件元件。数据存储1035可包括可在实施例中使用的数据。在其它实施例中,可包括其它或不同的软件元件和数据。
本领域技术人员将理解,计算机系统1000仅为说明性的,并不旨在限制本文所描述的技术的范围。具体地,计算机系统和设备可包括可执行所指示功能的硬件或软件的任何组合,包括计算机、个人计算机系统、台式计算机、膝上型计算机、笔记本或上网本计算机、大型计算机系统、手持式计算机、工作站、网络计算机、相机、机顶盒、移动设备、网络设备、因特网器具、PDA、无线手机、寻呼机、消费者设备、视频游戏控制台、手持视频游戏设备、应用服务器、存储设备、外围设备(如交换机、调制解调器、路由器)或者通常任何类型的计算或电子设备。计算机系统1000还可连接到未说明的其它设备,或者替代地可作为独立系统操作。另外,在一些实施例中,由所说明的组件提供的功能性可组合在更少的组件中或分布在附加组件中。类似地,在一些实施例中,可不提供所说明的组件中的一些的功能性和/或可使用其它附加功能。
本领域技术人员还将理解,虽然各种项目被说明为在使用时存储在存储器中或存储库上,但是为了存储器管理和数据完整性的目的,这些项目或它们的一部分可在存储器和其它存储设备之间传输。另选地,在其它实施例中,软件组件中的一些或所有可在另一设备上的存储器中执行,并经由计算机间通信与所说明的计算机系统通信。系统组件中的一些或所有或数据结构也可存储(例如,作为指令或结构化数据)在计算机可访问介质或便携式物品上,以由适当的驱动器读取,其各种实例在上面进行描述。在一些实施例中,存储在与计算机系统1000分离的非暂时性计算机可访问介质上的指令可经由传送介质或者经由通信介质(如网络和/或无线链路)传达的信号(如电信号、电磁信号或数字信号)传送到计算机系统1000上。各个实施例可另外包括在计算机可访问介质上接收、发送或存储根据前述描述实施的指令和/或数据。因此,可用其它计算机系统配置来实施本发明。
注意,本文描述的任何分布式系统实施例或它们的组件中的任何可实施为一个或多个web服务。举例来说,数据目录系统内的计算节点可将数据目录服务作为基于网络的服务呈现给客户端。在一些实施例中,基于网络的服务可由设计用于支持网络上的可互操作的机器到机器交互的软件和/或硬件系统来实施。基于网络的服务可具有以机器-可处理格式描述的接口,如Web服务描述语言(WSDL)。其它系统可以基于网络的服务的接口的描述所规定的方式与web服务交互。举例来说,基于网络的服务可定义其它系统可调用的各种操作,并且可定义特定应用编程接口(API),当请求各种操作时,可期望其它系统以符合所述特定应用编程接口。
在各种实施例中,可通过使用包括与基于网络的服务请求相关联的参数和/或数据的消息来请求或调用基于网络的服务。可根据如可扩展标记语言(XML)的特定标记语言来格式化这类消息,和/或可使用如简单对象访问协议(SOAP)的协议来封装这类消息。为了执行web服务请求,基于网络的服务客户端可使用基于因特网的应用层传输协议(如超文本传输协议(HTTP))汇编包括所述请求的消息,并将所述消息传达到对应于web服务的可寻址端点(例如,统一资源定位符(URL))。
在一些实施例中,可使用代表性状态传输(“RESTful”)技术而不是基于消息的技术来实施web服务。举例来说,可通过HTTP方法(如PUT、GET或DELETE)内包括的参数来调用根据RESTful技术实施的Web服务,而不是封装在SOAP消息中。
如附图中所说明和本文描述的各种方法表示方法的实例实施例。所述方法可用软件、硬件或其组合来实施。可改变方法的顺序,并且可添加、重新排序、组合、省略、修改等各种元件。
可进行各种修改和改变,这对于受益于本公开的本领域技术人员来说为显而易见的。本发明旨在包含所有这类修改和变化,并且因此,以上描述被认视为说明性的而不是限制性的。
Claims (17)
1.一种系统,其包含:
至少一个处理器;以及
存储器,其用于存储程序指令,所述程序指令在被执行时使得所述至少一个处理器执行包括以下的方法:
标识存储在数据存储库中的未知数据对象;
获得所述未知数据对象的至少一部分;
生成对应于多种数据模式中的相应一种的所述部分的一种或多种表示,其中,生成对应于所述多种数据模式中的所述相应一种的所述部分的所述一种或多种表示包含在假设所述部分为所述多种数据模式中的所述相应一种的情况下解析所述部分,其中,所述一种或多种表示是根据所述多种数据模式中的不同数据模式而格式化的一个或多个解析树或图形;
分析所生成的表示以将所述多种数据模式中的一种标识为所述未知数据对象的数据模式,其中,分析所生成的表示以标识所述多种数据模式中的一种包含通过确定所生成的表示是否被成功解析来标识所述多种数据模式中的所述相应一种是否是所述未知数据对象的数据模式;以及
将所述未知数据对象的所标识的数据模式存储在所述未知数据对象的元数据存储库中,
其中,在假设所述部分为所述多种数据模式中的所述相应一种的情况下解析所述部分包含:尝试应用与数据模式相关联的多种不同的解析技术,以便发现成功解释所述未知数据对象的所述部分的解析的结果。
2.根据权利要求1所述的系统,
其中分析所生成的表示以标识所述多种数据模式中的一种包含将一种或多种机器学习技术应用于所述表示以将所述表示分类为所标识的数据模式的数据。
3.根据权利要求1所述的系统,其中所述数据存储库为作为提供商网络的一部分实施的数据存储服务,其中所述至少一个处理器和所述存储器被实施为所述提供商网络中的数据目录服务的一部分,其中元数据存储库被实施为所述数据目录服务的一部分,并且其中所述方法另外包含:
经由所述数据目录服务的基于网络的接口接收访问所述未知数据对象的所述元数据存储库的请求;以及
响应于所述请求,经由所述基于网络的接口提供所述未知数据对象的所述数据模式。
4.一种方法,其包含:
标识存储在数据存储库中的未知数据对象;
获得所述未知数据对象的至少一部分;
生成对应于多种数据模式中的相应一种的所述部分的一种或多种表示,其中,生成对应于所述多种数据模式中的所述相应一种的所述部分的所述一种或多种表示包含在假设所述部分为所述多种数据模式中的所述相应一种的情况下解析所述部分,其中,所述一种或多种表示是根据所述多种数据模式中的不同数据模式而格式化的一个或多个解析树或图形;
分析所生成的表示以将所述多种数据模式中的一种标识为所述未知数据对象的数据模式,其中,分析所生成的表示以标识所述多种数据模式中的一种包含通过确定所生成的表示是否被成功解析来标识所述多种数据模式中的所述相应一种是否是所述未知数据对象的数据模式;以及
将所述未知数据对象的所标识的数据模式存储在所述未知数据对象的元数据存储库中,
其中,在假设所述部分为所述多种数据模式中的所述相应一种的情况下解析所述部分包含:尝试应用与数据模式相关联的多种不同的解析技术,以便发现成功解释所述未知数据对象的所述部分的解析的结果。
5.根据权利要求4所述的方法,其另外包含:
确定所述未知数据对象的压缩方案;以及
根据所确定的压缩方案解压缩所述未知数据对象的所述部分。
6.根据权利要求4所述的方法,其另外包含确定所述未知数据对象的数据文件类型,其中所述文件类型与所述数据模式一起存储在所述未知数据对象的所述元数据存储库中。
7.根据权利要求4所述的方法,其另外包含:
接收改变所述未知数据对象的所述数据模式的请求;以及
根据所述请求更新所述元数据存储库中的所述数据模式。
8.根据权利要求4所述的方法,其中所述方法通过数据目录服务执行,其中所述多种不同的解析技术包含第一解析技术和第二解析技术,其中第一解析技术被提供为所述数据目录服务的一部分,并且其中第二解析技术从所述数据目录服务的客户端接收。
9.根据权利要求4所述的方法,其中分析所生成的表示以标识所述多种数据模式中的一种包含将一种或多种机器学习技术应用于所述表示以将所述表示分类为所标识的数据模式的数据。
10.根据权利要求9所述的方法,其另外包含:
接收对所述未知数据对象的所标识的数据模式的一种或多种修改;
根据所述数据模式中的所述不同数据模式更新用于将所述一种或多种机器学习技术应用于所述表示的分类模型;以及
应用更新后的分类模型来指导另一未知数据对象的另一部分的所述解析以生成用于标识另一未知数据对象的所述数据模式中的数据模式的表示。
11.根据权利要求4所述的方法,其中所述数据存储库为作为提供商网络的一部分实施的数据存储服务,其中所述方法通过所述提供商网络中的数据目录服务执行,其中元数据存储库被实施为所述数据目录服务的一部分,并且其中所述方法另外包含:
经由所述数据目录服务的基于网络的接口接收访问所述未知数据对象的所述元数据存储库的请求;以及
响应于所述请求,经由所述基于网络的接口提供所述未知数据对象的所述数据模式。
12.一种非暂时性计算机可读存储介质,其存储程序指令,所述程序指令当由一个或多个计算设备执行时使得所述一个或多个计算设备实施方法,所述方法包括:
标识存储在数据存储库中的未知数据对象;
获得所述未知数据对象的至少一部分;
生成对应于多种数据模式中的相应一种的所述部分的一种或多种表示,其中,生成对应于所述多种数据模式中的所述相应一种的所述部分的所述一种或多种表示包含在假设所述部分为所述多种数据模式中的所述相应一种的情况下解析所述部分,其中,所述一种或多种表示是根据所述多种数据模式中的不同数据模式而格式化的一个或多个解析树或图形;
分析所生成的表示以将所述多种数据模式中的一种标识为所述未知数据对象的所述数据模式,其中,分析所生成的表示以标识所述多种数据模式中的一种包含通过确定所生成的表示是否被成功解析来标识所述多种数据模式中的所述相应一种是否是所述未知数据对象的数据模式;以及
将所述未知数据对象的所标识的数据模式存储在所述未知数据对象的元数据存储库中,
其中,在假设所述部分为所述多种数据模式中的所述相应一种的情况下解析所述部分包含:尝试应用与数据模式相关联的多种不同的解析技术,以便发现成功解释所述未知数据对象的所述部分的解析的结果。
13.根据权利要求12所述的非暂时性计算机可读存储介质,其中所述程序指令使得所述一个或多个计算设备另外实施:
确定所述未知数据对象的压缩方案;以及
根据所确定的压缩方案解压缩所述未知数据对象的所述部分。
14.根据权利要求12所述的非暂时性计算机可读存储介质,其中,在分析所生成的表示以标识所述多种数据模式中的一种时,所述程序指令使得所述一个或多个计算设备实施:将一种或多种机器学习技术应用于所述表示以将所述表示分类为所标识的数据模式的数据。
15.根据权利要求12所述的非暂时性计算机可读存储介质,其中所述程序指令使得所述一个或多个计算设备另外实施:
接收对所述未知数据对象的所标识的数据模式的一种或多种修改;
根据所述数据模式中的不同数据模式更新用于指导所述部分的所述解析的基于规则的分类模型;以及
应用更新后的基于规则的分类模型来指导另一未知数据对象的另一部分的所述解析以生成用于标识另一未知数据对象的所述数据模式中的数据模式的表示。
16.根据权利要求12所述的非暂时性计算机可读存储介质,
其中所述方法通过数据目录服务执行;
其中根据从所述数据目录服务的客户端接收的请求中指定的排序来尝试应用所述多种不同的解析技术。
17.根据权利要求12所述的非暂时性计算机可读存储介质,其中所述程序指令使得所述一个或多个计算设备另外实施:
检测所述未知数据对象的分类事件;以及
响应于检测到所述分类事件,执行所述表示的所述生成、所述表示的所述分析以及所述数据模式的所述存储。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662426573P | 2016-11-27 | 2016-11-27 | |
US62/426,573 | 2016-11-27 | ||
US15/385,772 US10621210B2 (en) | 2016-11-27 | 2016-12-20 | Recognizing unknown data objects |
US15/385,772 | 2016-12-20 | ||
PCT/US2017/063264 WO2018098427A1 (en) | 2016-11-27 | 2017-11-27 | Recognizing unknown data objects |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109964216A CN109964216A (zh) | 2019-07-02 |
CN109964216B true CN109964216B (zh) | 2024-05-28 |
Family
ID=62190261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780070177.0A Active CN109964216B (zh) | 2016-11-27 | 2017-11-27 | 识别未知数据对象 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10621210B2 (zh) |
EP (1) | EP3545430B1 (zh) |
CN (1) | CN109964216B (zh) |
WO (1) | WO2018098427A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9652688B2 (en) | 2014-11-26 | 2017-05-16 | Captricity, Inc. | Analyzing content of digital images |
US10650017B1 (en) * | 2016-08-29 | 2020-05-12 | Amazon Technologies, Inc. | Tiered storage for data processing |
US10417198B1 (en) * | 2016-09-21 | 2019-09-17 | Well Fargo Bank, N.A. | Collaborative data mapping system |
US11277494B1 (en) | 2016-11-27 | 2022-03-15 | Amazon Technologies, Inc. | Dynamically routing code for executing |
US11481408B2 (en) | 2016-11-27 | 2022-10-25 | Amazon Technologies, Inc. | Event driven extract, transform, load (ETL) processing |
US20180373722A1 (en) * | 2017-06-26 | 2018-12-27 | Acronis International Gmbh | System and method for data classification using machine learning during archiving |
US10706038B2 (en) | 2017-07-27 | 2020-07-07 | Cisco Technology, Inc. | System and method for state object data store |
US11100425B2 (en) * | 2017-10-31 | 2021-08-24 | International Business Machines Corporation | Facilitating data-driven mapping discovery |
US10402397B1 (en) * | 2018-05-09 | 2019-09-03 | Palantir Technologies Inc. | Systems and methods for accessing federated data |
US11494454B1 (en) * | 2018-05-09 | 2022-11-08 | Palantir Technologies Inc. | Systems and methods for searching a schema to identify and visualize corresponding data |
US11474978B2 (en) * | 2018-07-06 | 2022-10-18 | Capital One Services, Llc | Systems and methods for a data search engine based on data profiles |
US11615208B2 (en) | 2018-07-06 | 2023-03-28 | Capital One Services, Llc | Systems and methods for synthetic data generation |
US11128896B2 (en) * | 2018-08-27 | 2021-09-21 | Comcast Cable Communications, Llc | Secondary content delivery |
US11544239B2 (en) * | 2018-11-13 | 2023-01-03 | Thoughtspot, Inc. | Low-latency database analysis using external data sources |
USD891323S1 (en) | 2018-11-20 | 2020-07-28 | Bayerische Motoren Werke Aktiengesellschaft | Front bumper for a vehicle |
US11029984B2 (en) * | 2019-04-27 | 2021-06-08 | EMC IP Holding Company LLC | Method and system for managing and using data confidence in a decentralized computing platform |
US11399312B2 (en) * | 2019-08-13 | 2022-07-26 | International Business Machines Corporation | Storage and retention intelligence in mobile networks |
CN110532237B (zh) * | 2019-09-05 | 2022-02-08 | 恒生电子股份有限公司 | 格式数据文件的并发处理方法、装置及系统 |
EP3817004A1 (en) * | 2019-11-01 | 2021-05-05 | Koninklijke Philips N.V. | System and method for classifying and managing medical application disconnects |
US20210149881A1 (en) * | 2019-11-14 | 2021-05-20 | Ghangorcloud, Inc | Method and system for identifying information objects using deep ai-based knowledge objects |
US11475364B2 (en) | 2020-03-10 | 2022-10-18 | Oracle International Corporation | Systems and methods for analyzing a list of items using machine learning models |
CN111459488B (zh) * | 2020-06-19 | 2020-09-18 | 嘉兴太美医疗科技有限公司 | 表单页面的渲染方法、装置、系统和可读介质 |
US11625306B2 (en) | 2020-11-04 | 2023-04-11 | Netapp, Inc. | Data connector component for implementing data requests |
US20220138151A1 (en) * | 2020-11-04 | 2022-05-05 | Netapp Inc. | Sibling object generation for storing results of operations performed upon base objects |
US11755590B2 (en) | 2020-11-04 | 2023-09-12 | Netapp, Inc. | Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis |
US20220197944A1 (en) * | 2020-12-22 | 2022-06-23 | Netapp Inc. | File metadata service |
US11876875B2 (en) * | 2021-10-08 | 2024-01-16 | Oracle International Corporation | Scalable fine-grained resource count metrics for cloud-based data catalog service |
US20230124333A1 (en) * | 2021-10-19 | 2023-04-20 | Jpmorgan Chase Bank, N.A. | Systems and methods for building and publishing schemas based on data patterns and data formats |
CN116088669A (zh) * | 2021-11-03 | 2023-05-09 | 鸿富锦精密工业(武汉)有限公司 | 扩增实境方法、电子设备及计算机可读存储介质 |
US20230267102A1 (en) * | 2022-02-22 | 2023-08-24 | Accenture Global Solutions Limited | On-demand virtual storage access method analytics |
US11755863B1 (en) | 2022-03-02 | 2023-09-12 | Ricoh Company, Ltd. | Ink estimation model updates for production printers |
US11775791B2 (en) | 2022-03-02 | 2023-10-03 | Ricoh Company, Ltd. | Cloud-based parallel ink estimation for production printers |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102768676A (zh) * | 2012-06-14 | 2012-11-07 | 腾讯科技(深圳)有限公司 | 一种格式未知文件的处理方法和装置 |
CN105378721A (zh) * | 2013-03-15 | 2016-03-02 | 比乌拉工厂有限公司 | 知识捕获和发现系统 |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6349297B1 (en) * | 1997-01-10 | 2002-02-19 | Venson M. Shaw | Information processing system for directing information request from a particular user/application, and searching/forwarding/retrieving information from unknown and large number of information resources |
US6983455B2 (en) | 2002-04-10 | 2006-01-03 | Sun Microsystems, Inc. | Mechanism for profiling computer code |
US7275063B2 (en) | 2002-07-16 | 2007-09-25 | Horn Bruce L | Computer system for automatic organization, indexing and viewing of information from multiple sources |
US7725475B1 (en) * | 2004-02-11 | 2010-05-25 | Aol Inc. | Simplifying lexicon creation in hybrid duplicate detection and inductive classifier systems |
US20050283622A1 (en) | 2004-06-17 | 2005-12-22 | International Business Machines Corporation | System for managing security index scores |
WO2006057316A1 (ja) | 2004-11-26 | 2006-06-01 | Matsushita Electric Industrial Co., Ltd. | プロセッサ、セキュア処理システム |
US9936442B1 (en) * | 2005-07-14 | 2018-04-03 | Binj Laboratories, Inc. | System and method for wrist band transmitter and system thereof |
US8369570B2 (en) * | 2005-09-28 | 2013-02-05 | Facedouble, Inc. | Method and system for tagging an image of an individual in a plurality of photos |
US8270941B2 (en) | 2006-02-24 | 2012-09-18 | Qualcomm Incorporated | System and method for downloading user interface components to wireless devices |
US20110107383A1 (en) | 2006-05-04 | 2011-05-05 | Feedgazer, Llc | Method and system for celebrity display of web feed content |
US7721091B2 (en) | 2006-05-12 | 2010-05-18 | International Business Machines Corporation | Method for protecting against denial of service attacks using trust, quality of service, personalization, and hide port messages |
SE530514C2 (sv) * | 2006-09-07 | 2008-06-24 | Innitor Ab | En metod, en apparat och en datorprogramprodukt inom fingeravtrycksmatchning |
US7689583B2 (en) * | 2006-09-11 | 2010-03-30 | Microsoft Corporation | Flexible data presentation enabled by metadata |
US7548905B2 (en) | 2006-10-30 | 2009-06-16 | Teradata Us, Inc. | Refreshing an execution plan for a query |
US8849746B2 (en) | 2006-12-19 | 2014-09-30 | Teradata Us, Inc. | High-throughput extract-transform-load (ETL) of program events for subsequent analysis |
EP2079020B1 (en) | 2008-01-03 | 2013-03-20 | Accenture Global Services Limited | System amd method for automating ETL applications |
US8296301B2 (en) | 2008-01-30 | 2012-10-23 | Commvault Systems, Inc. | Systems and methods for probabilistic data classification |
US8296255B1 (en) * | 2008-06-19 | 2012-10-23 | Symantec Corporation | Method and apparatus for automatically classifying an unknown site to improve internet browsing control |
US8136158B1 (en) | 2008-07-21 | 2012-03-13 | Google Inc. | User-level segmentation mechanism that facilitates safely executing untrusted native code |
US8370796B2 (en) | 2008-08-26 | 2013-02-05 | International Business Machines Corporation | Development tooling enablement for audit event generation |
US8577890B2 (en) | 2009-01-28 | 2013-11-05 | International Business Machines Corporation | Modifying data set name qualifiers |
US20100274750A1 (en) | 2009-04-22 | 2010-10-28 | Microsoft Corporation | Data Classification Pipeline Including Automatic Classification Rules |
US20100290677A1 (en) * | 2009-05-13 | 2010-11-18 | John Kwan | Facial and/or Body Recognition with Improved Accuracy |
US8473901B1 (en) | 2009-06-12 | 2013-06-25 | The Mathworks, Inc. | Non-literal representation of programming language code |
US20110023028A1 (en) | 2009-07-27 | 2011-01-27 | Alcatel-Lucent Usa Inc. | Virtualization software with dynamic resource allocation for virtual machines |
US20110071817A1 (en) * | 2009-09-24 | 2011-03-24 | Vesa Siivola | System and Method for Language Identification |
US9684785B2 (en) | 2009-12-17 | 2017-06-20 | Red Hat, Inc. | Providing multiple isolated execution environments for securely accessing untrusted content |
US8806578B2 (en) | 2010-05-05 | 2014-08-12 | Microsoft Corporation | Data driven role based security |
EP2569698B1 (en) | 2010-05-10 | 2019-07-10 | Citrix Systems, Inc. | Redirection of information from secure virtual machines to unsecure virtual machines |
US8752047B2 (en) | 2010-05-28 | 2014-06-10 | Bromium, Inc. | Automated management of virtual machines to process untrusted data based on client policy information |
US20130177356A1 (en) * | 2010-06-21 | 2013-07-11 | Jerry M. Edmondson | Subsea deepwater petroleum fluid spill containment |
US8572677B2 (en) | 2010-07-14 | 2013-10-29 | William G. Bartholomay | Devices, systems, and methods for enabling reconfiguration of services supported by a network of devices |
US8769269B2 (en) | 2010-08-12 | 2014-07-01 | International Business Machines Corporation | Cloud data management |
US8572007B1 (en) * | 2010-10-29 | 2013-10-29 | Symantec Corporation | Systems and methods for classifying unknown files/spam based on a user actions, a file's prevalence within a user community, and a predetermined prevalence threshold |
US8528083B2 (en) | 2011-03-10 | 2013-09-03 | Adobe Systems Incorporated | Using a call gate to prevent secure sandbox leakage |
US8739026B2 (en) * | 2011-09-06 | 2014-05-27 | Hewlett-Packard Development Company, L.P. | Markup language schema error correction |
WO2013059691A1 (en) * | 2011-10-19 | 2013-04-25 | Cornell University | Systems and methods for identifying objects |
US8990213B1 (en) | 2012-02-06 | 2015-03-24 | Amazon Technologies, Inc. | Metadata map repository |
WO2015042719A1 (en) * | 2013-09-27 | 2015-04-02 | Saliba Jad John | Methods, systems, and devices for identifying an application type of unknown data |
US9582556B2 (en) | 2013-10-03 | 2017-02-28 | International Business Machines Corporation | Automatic generation of an extract, transform, load (ETL) job |
US20150286701A1 (en) | 2014-04-04 | 2015-10-08 | Quantum Corporation | Data Classification Aware Object Storage |
US9600547B2 (en) | 2014-05-30 | 2017-03-21 | International Business Machines Corporation | System and method of consuming and integrating with rest-based cloud and enterprise services |
US10007790B2 (en) | 2014-06-06 | 2018-06-26 | Empire Technology Development Llc | Secure application development and execution |
WO2016018289A1 (en) | 2014-07-30 | 2016-02-04 | Hewlett-Packard Development Company, L.P. | Security risk scoring of an application |
JP6205066B2 (ja) | 2014-09-04 | 2017-09-27 | 株式会社日立製作所 | ストリームデータ処理方法、ストリームデータ処理装置及び記憶媒体 |
US10165111B2 (en) * | 2014-10-02 | 2018-12-25 | Lenovo (Singapore) Pte. Ltd. | Identifying an unknown contact |
US9372848B2 (en) * | 2014-10-17 | 2016-06-21 | Machine Zone, Inc. | Systems and methods for language detection |
US10083295B2 (en) | 2014-12-23 | 2018-09-25 | Mcafee, Llc | System and method to combine multiple reputations |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9727725B2 (en) | 2015-02-04 | 2017-08-08 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9471775B1 (en) | 2015-02-04 | 2016-10-18 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9785413B2 (en) | 2015-03-06 | 2017-10-10 | Intel Corporation | Methods and apparatus to eliminate partial-redundant vector loads |
US10051082B2 (en) | 2015-06-05 | 2018-08-14 | International Business Machines Corporation | Cost determination to provide software as a service |
EP3110161B1 (en) | 2015-06-23 | 2019-10-09 | Nokia Technologies Oy | Method, apparatus and computer program product for controlling access to concurrently captured images |
US9742587B2 (en) * | 2015-07-29 | 2017-08-22 | Oracle International Corporation | Negative acknowledgment of tunneled encapsulated media |
US20170039469A1 (en) * | 2015-08-04 | 2017-02-09 | Qualcomm Incorporated | Detection of unknown classes and initialization of classifiers for unknown classes |
CA2946775C (en) | 2015-10-29 | 2024-05-07 | Subodh Kumar | Automated server workload management using machine learning |
US10068129B2 (en) * | 2015-11-18 | 2018-09-04 | Adobe Systems Incorporated | Recognizing unknown person instances in an image gallery |
WO2017095376A1 (en) | 2015-11-30 | 2017-06-08 | Hewlett-Packard Development Company, L.P. | Parameter adjustments based on strength change |
US9665628B1 (en) * | 2015-12-06 | 2017-05-30 | Xeeva, Inc. | Systems and/or methods for automatically classifying and enriching data records imported from big data and/or other sources to help ensure data integrity and consistency |
US10977481B2 (en) * | 2016-06-24 | 2021-04-13 | Skusub LLC | System and method for object matching using 3D imaging |
US10713272B1 (en) | 2016-06-30 | 2020-07-14 | Amazon Technologies, Inc. | Dynamic generation of data catalogs for accessing data |
US9858258B1 (en) * | 2016-09-30 | 2018-01-02 | Coupa Software Incorporated | Automatic locale determination for electronic documents |
US10175978B2 (en) | 2016-11-04 | 2019-01-08 | International Business Machines Corporation | Monitoring code sensitivity to cause software build breaks during software project development |
US10268825B2 (en) | 2016-12-01 | 2019-04-23 | International Business Machines Corporation | Amalgamating code vulnerabilities across projects |
US10496638B2 (en) | 2016-12-07 | 2019-12-03 | City University Of Hong Kong | Systems and methods for privacy-assured similarity joins over encrypted datasets |
-
2016
- 2016-12-20 US US15/385,772 patent/US10621210B2/en active Active
-
2017
- 2017-11-27 EP EP17811423.7A patent/EP3545430B1/en active Active
- 2017-11-27 WO PCT/US2017/063264 patent/WO2018098427A1/en active Application Filing
- 2017-11-27 CN CN201780070177.0A patent/CN109964216B/zh active Active
-
2020
- 2020-04-10 US US16/846,141 patent/US11893044B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102768676A (zh) * | 2012-06-14 | 2012-11-07 | 腾讯科技(深圳)有限公司 | 一种格式未知文件的处理方法和装置 |
CN105378721A (zh) * | 2013-03-15 | 2016-03-02 | 比乌拉工厂有限公司 | 知识捕获和发现系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3545430B1 (en) | 2024-05-29 |
CN109964216A (zh) | 2019-07-02 |
WO2018098427A1 (en) | 2018-05-31 |
US10621210B2 (en) | 2020-04-14 |
US20180150548A1 (en) | 2018-05-31 |
US20200242135A1 (en) | 2020-07-30 |
EP3545430A1 (en) | 2019-10-02 |
US11893044B2 (en) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109964216B (zh) | 识别未知数据对象 | |
US11941017B2 (en) | Event driven extract, transform, load (ETL) processing | |
US11797558B2 (en) | Generating data transformation workflows | |
US12013852B1 (en) | Unified data processing across streaming and indexed data sets | |
US11308100B2 (en) | Dynamically assigning queries to secondary query processing resources | |
US10528599B1 (en) | Tiered data processing for distributed data | |
US20200125574A1 (en) | Smart content recommendations for content authors | |
US11423041B2 (en) | Maintaining data lineage to detect data events | |
US11676072B1 (en) | Interface for incorporating user feedback into training of clustering model | |
US11308106B1 (en) | Caching results for sub-queries to different data store locations | |
US11675816B1 (en) | Grouping evens into episodes using a streaming data processor | |
US11327970B1 (en) | Context dependent execution time prediction for redirecting queries | |
US10936308B2 (en) | Multi-tenant collaborative learning | |
US11074261B1 (en) | Format independent processing for distributed data | |
US11853301B1 (en) | Sharing compiled code for executing queries across query engines | |
US10990627B1 (en) | Sharing character data across lookups to identify matches to a regular expression | |
US10382463B2 (en) | Techniques and architectures for cross-organization threat detection | |
US20240160636A1 (en) | Fetching query result data using result batches | |
US11989592B1 (en) | Workload coordinator for providing state credentials to processing tasks of a data processing pipeline | |
US12056169B1 (en) | Systems and methods for DNS text classification | |
US20240303248A1 (en) | Extensible data enclave pattern |
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 |